From d1b3f740d80d5403e0cec80c3aa78d109c4f5f89 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 7 Mar 2025 16:09:54 +0000 Subject: [PATCH 01/22] Update changelog and version after v3.28.11 --- CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f365aaacc6..989bc8e595 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. +## [UNRELEASED] + +No user facing changes. + ## 3.28.11 - 07 Mar 2025 - Update default CodeQL bundle version to 2.20.6. [#2793](https://github.com/github/codeql-action/pull/2793) diff --git a/package-lock.json b/package-lock.json index 94a5007a89..b828fc5c97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "codeql", - "version": "3.28.11", + "version": "3.28.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codeql", - "version": "3.28.11", + "version": "3.28.12", "license": "MIT", "dependencies": { "@actions/artifact": "^2.1.9", diff --git a/package.json b/package.json index 0644a0f897..587b5f806e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "3.28.11", + "version": "3.28.12", "private": true, "description": "CodeQL action", "scripts": { From ff91c9db256ab6d14e1268b9c834482e28e9cfdf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 7 Mar 2025 16:12:00 +0000 Subject: [PATCH 02/22] Update checked-in dependencies --- node_modules/.package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 2daa1285b6..8357782414 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "3.28.11", + "version": "3.28.12", "lockfileVersion": 3, "requires": true, "packages": { From 88676f2b14f8d7135aab1aa605f9f737c940d3b7 Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Fri, 7 Mar 2025 10:06:52 -0800 Subject: [PATCH 03/22] Minimally remove micromatch --- package-lock.json | 1 - package.json | 4 ---- 2 files changed, 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b828fc5c97..e8c5521ead 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,6 @@ "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", "eslint-plugin-no-async-foreach": "^0.1.1", - "micromatch": "4.0.8", "nock": "^14.0.1", "removeNPMAbsolutePaths": "3.0.1", "sinon": "^19.0.2", diff --git a/package.json b/package.json index 587b5f806e..3c9dfeaa81 100644 --- a/package.json +++ b/package.json @@ -56,9 +56,6 @@ "uuid": "^11.1.0", "zlib": "^1.0.5" }, - "//": [ - "micromatch is an unspecified dependency of ava" - ], "devDependencies": { "@ava/typescript": "4.1.0", "@eslint/compat": "^1.1.1", @@ -82,7 +79,6 @@ "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", "eslint-plugin-no-async-foreach": "^0.1.1", - "micromatch": "4.0.8", "nock": "^14.0.1", "removeNPMAbsolutePaths": "3.0.1", "sinon": "^19.0.2", From d76f3937132862641c400298844fc6b170c86fff Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Mon, 10 Mar 2025 10:32:13 -0700 Subject: [PATCH 04/22] Do not set --expect-discarded-cache on "cleanup-level: overlay" When a user specifies "cleanup-level: overlay", it suggests that the user wishes to preserve the evaluation cache for future use. So in this case we should not set --expect-discarded-cache when running queries. --- src/analyze-action.ts | 12 ++++++------ src/analyze.test.ts | 1 + src/analyze.ts | 17 ++++++++++------- src/codeql.test.ts | 2 +- src/codeql.ts | 1 - 5 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/analyze-action.ts b/src/analyze-action.ts index 5c2ab3cb98..249e38191d 100644 --- a/src/analyze-action.ts +++ b/src/analyze-action.ts @@ -295,12 +295,16 @@ async function run() { logger, ); + const cleanupLevel = + actionsUtil.getOptionalInput("cleanup-level") || "brutal"; + if (actionsUtil.getRequiredInput("skip-queries") !== "true") { runStats = await runQueries( outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, + cleanupLevel, diffRangePackDir, actionsUtil.getOptionalInput("category"), config, @@ -309,12 +313,8 @@ async function run() { ); } - if (actionsUtil.getOptionalInput("cleanup-level") !== "none") { - await runCleanup( - config, - actionsUtil.getOptionalInput("cleanup-level") || "brutal", - logger, - ); + if (cleanupLevel !== "none") { + await runCleanup(config, cleanupLevel, logger); } const dbLocations: { [lang: string]: string } = {}; diff --git a/src/analyze.test.ts b/src/analyze.test.ts index 20cde745b3..c7e1856d2d 100644 --- a/src/analyze.test.ts +++ b/src/analyze.test.ts @@ -101,6 +101,7 @@ test("status report fields", async (t) => { memoryFlag, addSnippetsFlag, threadsFlag, + "brutal", undefined, undefined, config, diff --git a/src/analyze.ts b/src/analyze.ts index a3508e545b..1fcce7f98d 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -548,6 +548,7 @@ export async function runQueries( memoryFlag: string, addSnippetsFlag: string, threadsFlag: string, + cleanupLevel: string, diffRangePackDir: string | undefined, automationDetailsId: string | undefined, config: configUtils.Config, @@ -555,20 +556,22 @@ export async function runQueries( features: FeatureEnablement, ): Promise { const statusReport: QueriesStatusReport = {}; + const queryFlags = [memoryFlag, threadsFlag]; + + if (cleanupLevel !== "overlay") { + queryFlags.push("--expect-discarded-cache"); + } statusReport.analysis_is_diff_informed = diffRangePackDir !== undefined; - const dataExtensionFlags = diffRangePackDir - ? [ - `--additional-packs=${diffRangePackDir}`, - "--extension-packs=codeql-action/pr-diff-range", - ] - : []; + if (diffRangePackDir) { + queryFlags.push(`--additional-packs=${diffRangePackDir}`); + queryFlags.push("--extension-packs=codeql-action/pr-diff-range"); + } const sarifRunPropertyFlag = diffRangePackDir ? "--sarif-run-property=incrementalMode=diff-informed" : undefined; const codeql = await getCodeQL(config.codeQLCmd); - const queryFlags = [memoryFlag, threadsFlag, ...dataExtensionFlags]; for (const language of config.languages) { try { diff --git a/src/codeql.test.ts b/src/codeql.test.ts index 04b903aef6..3e4212ab05 100644 --- a/src/codeql.test.ts +++ b/src/codeql.test.ts @@ -957,7 +957,7 @@ test("runTool recognizes fatal internal errors", async (t) => { await codeqlObject.databaseRunQueries(stubConfig.dbLocation, []), { instanceOf: CliError, - message: `Encountered a fatal error while running "codeql-for-testing database run-queries --expect-discarded-cache --intra-layer-parallelism --min-disk-free=1024 -v". Exit code was 1 and error was: Oops! A fatal internal error occurred. Details: + message: `Encountered a fatal error while running "codeql-for-testing database run-queries --intra-layer-parallelism --min-disk-free=1024 -v". Exit code was 1 and error was: Oops! A fatal internal error occurred. Details: com.semmle.util.exception.CatastrophicError: An error occurred while evaluating ControlFlowGraph::ControlFlow::Root.isRootOf/1#dispred#f610e6ed/2@86282cc8 Severe disk cache trouble (corruption or out of space) at /home/runner/work/_temp/codeql_databases/go/db-go/default/cache/pages/28/33.pack: Failed to write item to disk. See the logs for more details.`, }, diff --git a/src/codeql.ts b/src/codeql.ts index 2bb155caf5..84a4c82d98 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -805,7 +805,6 @@ export async function getCodeQLForCmd( "run-queries", ...flags, databasePath, - "--expect-discarded-cache", "--intra-layer-parallelism", "--min-disk-free=1024", // Try to leave at least 1GB free "-v", From 248ab9b81116908a728dc3bb28b65728c8f746ec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 17:42:05 +0000 Subject: [PATCH 05/22] build(deps-dev): bump the npm group with 3 updates Bumps the npm group with 3 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser). Updates `@eslint/js` from 9.21.0 to 9.22.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.22.0/packages/js) Updates `@typescript-eslint/eslint-plugin` from 8.26.0 to 8.26.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.26.0 to 8.26.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.1/packages/parser) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm ... Signed-off-by: dependabot[bot] --- package-lock.json | 206 ++++++++++++++++++++-------------------------- package.json | 6 +- 2 files changed, 91 insertions(+), 121 deletions(-) diff --git a/package-lock.json b/package-lock.json index b828fc5c97..67af33a25d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "@ava/typescript": "4.1.0", "@eslint/compat": "^1.1.1", "@eslint/eslintrc": "^3.3.0", - "@eslint/js": "^9.21.0", + "@eslint/js": "^9.22.0", "@microsoft/eslint-formatter-sarif": "^3.1.0", "@types/adm-zip": "^0.5.7", "@types/console-log-level": "^1.4.5", @@ -57,8 +57,8 @@ "@types/node": "20.9.0", "@types/semver": "^7.5.8", "@types/sinon": "^17.0.4", - "@typescript-eslint/eslint-plugin": "^8.26.0", - "@typescript-eslint/parser": "^8.26.0", + "@typescript-eslint/eslint-plugin": "^8.26.1", + "@typescript-eslint/parser": "^8.26.1", "ava": "^5.3.1", "eslint": "^8.57.1", "eslint-import-resolver-typescript": "^3.8.3", @@ -697,11 +697,10 @@ } }, "node_modules/@eslint/js": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", - "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -2040,17 +2039,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.0.tgz", - "integrity": "sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", + "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/type-utils": "8.26.0", - "@typescript-eslint/utils": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/type-utils": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -2070,14 +2068,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2088,11 +2085,10 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2102,14 +2098,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2129,16 +2124,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2153,13 +2147,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2175,7 +2168,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -2185,7 +2177,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2198,7 +2189,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2214,7 +2204,6 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, @@ -2223,16 +2212,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.0.tgz", - "integrity": "sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", + "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4" }, "engines": { @@ -2248,14 +2236,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2266,11 +2253,10 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2280,14 +2266,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2307,13 +2292,12 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2329,7 +2313,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -2339,7 +2322,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2352,7 +2334,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2368,7 +2349,6 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, @@ -2395,14 +2375,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.0.tgz", - "integrity": "sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", + "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/utils": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/utils": "8.26.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -2419,14 +2398,13 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2437,11 +2415,10 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2451,14 +2428,13 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2478,16 +2454,15 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2502,13 +2477,12 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2524,7 +2498,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -2534,7 +2507,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2547,7 +2519,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2563,7 +2534,6 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, diff --git a/package.json b/package.json index 587b5f806e..63961fc9d1 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "@ava/typescript": "4.1.0", "@eslint/compat": "^1.1.1", "@eslint/eslintrc": "^3.3.0", - "@eslint/js": "^9.21.0", + "@eslint/js": "^9.22.0", "@microsoft/eslint-formatter-sarif": "^3.1.0", "@types/adm-zip": "^0.5.7", "@types/console-log-level": "^1.4.5", @@ -73,8 +73,8 @@ "@types/node": "20.9.0", "@types/semver": "^7.5.8", "@types/sinon": "^17.0.4", - "@typescript-eslint/eslint-plugin": "^8.26.0", - "@typescript-eslint/parser": "^8.26.0", + "@typescript-eslint/eslint-plugin": "^8.26.1", + "@typescript-eslint/parser": "^8.26.1", "ava": "^5.3.1", "eslint": "^8.57.1", "eslint-import-resolver-typescript": "^3.8.3", From 053e2184a0993f9dc132925a1af5206512027c44 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 17:42:57 +0000 Subject: [PATCH 06/22] Update checked-in dependencies --- node_modules/.package-lock.json | 200 ++++++++---------- node_modules/@eslint/js/package.json | 2 +- .../rules/no-unnecessary-condition.d.ts.map | 2 +- .../dist/rules/no-unnecessary-condition.js | 18 +- .../rules/prefer-nullish-coalescing.d.ts.map | 2 +- .../dist/rules/prefer-nullish-coalescing.js | 26 ++- .../eslint-plugin/dist/util/index.d.ts | 2 +- .../eslint-plugin/dist/util/index.d.ts.map | 2 +- .../eslint-plugin/dist/util/index.js | 2 +- .../dist/util/truthinessAndNullishUtils.d.ts | 6 - .../util/truthinessAndNullishUtils.d.ts.map | 1 - .../dist/util/truthinessUtils.d.ts | 4 + .../dist/util/truthinessUtils.d.ts.map | 1 + ...sAndNullishUtils.js => truthinessUtils.js} | 9 +- .../docs/rules/prefer-nullish-coalescing.mdx | 8 +- .../scope-manager/package.json | 8 +- .../@typescript-eslint/types/package.json | 2 +- .../typescript-estree/package.json | 6 +- .../@typescript-eslint/utils/package.json | 8 +- .../visitor-keys/package.json | 4 +- .../eslint-plugin/package.json | 14 +- .../scope-manager/package.json | 8 +- .../@typescript-eslint/types/package.json | 2 +- .../typescript-estree/package.json | 6 +- .../visitor-keys/package.json | 4 +- .../@typescript-eslint/parser/package.json | 10 +- .../type-utils/dist/discriminateAnyType.d.ts | 13 ++ .../dist/discriminateAnyType.d.ts.map | 1 + .../type-utils/dist/discriminateAnyType.js | 77 +++++++ .../type-utils/dist/index.d.ts | 1 + .../type-utils/dist/index.d.ts.map | 2 +- .../type-utils/dist/index.js | 1 + .../type-utils/dist/predicates.d.ts | 11 - .../type-utils/dist/predicates.d.ts.map | 2 +- .../type-utils/dist/predicates.js | 33 --- .../scope-manager/package.json | 8 +- .../@typescript-eslint/types/package.json | 2 +- .../typescript-estree/package.json | 6 +- .../@typescript-eslint/utils/package.json | 8 +- .../visitor-keys/package.json | 4 +- .../type-utils/package.json | 8 +- 41 files changed, 286 insertions(+), 248 deletions(-) delete mode 100644 node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts delete mode 100644 node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts.map create mode 100644 node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts create mode 100644 node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts.map rename node_modules/@typescript-eslint/eslint-plugin/dist/util/{truthinessAndNullishUtils.js => truthinessUtils.js} (83%) create mode 100644 node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts create mode 100644 node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts.map create mode 100644 node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.js diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 8357782414..06b8d5f40f 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -628,11 +628,10 @@ } }, "node_modules/@eslint/js": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", - "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -1971,17 +1970,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.0.tgz", - "integrity": "sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", + "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/type-utils": "8.26.0", - "@typescript-eslint/utils": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/type-utils": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -2001,14 +1999,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2019,11 +2016,10 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2033,14 +2029,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2060,16 +2055,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2084,13 +2078,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2106,7 +2099,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -2116,7 +2108,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2129,7 +2120,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2145,7 +2135,6 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, @@ -2154,16 +2143,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.0.tgz", - "integrity": "sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", + "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4" }, "engines": { @@ -2179,14 +2167,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2197,11 +2184,10 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2211,14 +2197,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2238,13 +2223,12 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2260,7 +2244,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -2270,7 +2253,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2283,7 +2265,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2299,7 +2280,6 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, @@ -2326,14 +2306,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.0.tgz", - "integrity": "sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", + "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/utils": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/utils": "8.26.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -2350,14 +2329,13 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2368,11 +2346,10 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2382,14 +2359,13 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2409,16 +2385,15 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2433,13 +2408,12 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2455,7 +2429,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -2465,7 +2438,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2478,7 +2450,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2494,7 +2465,6 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, diff --git a/node_modules/@eslint/js/package.json b/node_modules/@eslint/js/package.json index be776636c8..9f34bec938 100644 --- a/node_modules/@eslint/js/package.json +++ b/node_modules/@eslint/js/package.json @@ -1,6 +1,6 @@ { "name": "@eslint/js", - "version": "9.21.0", + "version": "9.22.0", "description": "ESLint JavaScript language implementation", "main": "./src/index.js", "types": "./types/index.d.ts", diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.d.ts.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.d.ts.map index 18b3b115ca..6d4ae09cfa 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.d.ts.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"no-unnecessary-condition.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-condition.ts"],"names":[],"mappings":"AAwGA,KAAK,iCAAiC,GAAG,OAAO,CAAC;AAEjD,KAAK,2BAA2B,GAAG,QAAQ,GAAG,OAAO,GAAG,uBAAuB,CAAC;AAShF,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,2BAA2B,CAAC,EACxB,2BAA2B,GAC3B,iCAAiC,CAAC;QACtC,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B;CACF,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,+BAA+B,GAC/B,OAAO,GACP,cAAc,GACd,oBAAoB,GACpB,4BAA4B,GAC5B,mBAAmB,GACnB,wBAAwB,CAAC;;AAE7B,wBAgwBG"} \ No newline at end of file +{"version":3,"file":"no-unnecessary-condition.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-condition.ts"],"names":[],"mappings":"AAyHA,KAAK,iCAAiC,GAAG,OAAO,CAAC;AAEjD,KAAK,2BAA2B,GAAG,QAAQ,GAAG,OAAO,GAAG,uBAAuB,CAAC;AAShF,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,2BAA2B,CAAC,EACxB,2BAA2B,GAC3B,iCAAiC,CAAC;QACtC,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B;CACF,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,+BAA+B,GAC/B,OAAO,GACP,cAAc,GACd,oBAAoB,GACpB,4BAA4B,GAC5B,mBAAmB,GACnB,wBAAwB,CAAC;;AAE7B,wBAgwBG"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js index b77cf8df54..e84f2c02de 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js @@ -39,6 +39,20 @@ const ts = __importStar(require("typescript")); const util_1 = require("../util"); const assertionFunctionUtils_1 = require("../util/assertionFunctionUtils"); // #region +const nullishFlag = ts.TypeFlags.Undefined | ts.TypeFlags.Null; +function isNullishType(type) { + return tsutils.isTypeFlagSet(type, nullishFlag); +} +function isAlwaysNullish(type) { + return tsutils.unionTypeParts(type).every(isNullishType); +} +/** + * Note that this differs from {@link isNullableType} in that it doesn't consider + * `any` or `unknown` to be nullable. + */ +function isPossiblyNullish(type) { + return tsutils.unionTypeParts(type).some(isNullishType); +} function toStaticValue(type) { // type.isLiteral() only covers numbers/bigints and strings, hence the rest of the branches. if (tsutils.isBooleanLiteralType(type)) { @@ -288,7 +302,7 @@ exports.default = (0, util_1.createRule)({ if ((0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Never)) { messageId = 'never'; } - else if (!(0, util_1.isPossiblyNullish)(type) && + else if (!isPossiblyNullish(type) && !(node.type === utils_1.AST_NODE_TYPES.MemberExpression && isNullableMemberExpression(node))) { // Since typescript array index signature types don't represent the @@ -301,7 +315,7 @@ exports.default = (0, util_1.createRule)({ messageId = 'neverNullish'; } } - else if ((0, util_1.isAlwaysNullish)(type)) { + else if (isAlwaysNullish(type)) { messageId = 'alwaysNullish'; } if (messageId) { diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.d.ts.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.d.ts.map index a92aaa6188..56f79517c0 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.d.ts.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"prefer-nullish-coalescing.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-nullish-coalescing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AA8BnE,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,gBAAgB,CAAC,EACb;YACE,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,GACD,IAAI,CAAC;QACT,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;CACF,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,0BAA0B,GAC1B,gBAAgB,CAAC;;AAErB,wBAmeG"} \ No newline at end of file +{"version":3,"file":"prefer-nullish-coalescing.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-nullish-coalescing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AA8BnE,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,gBAAgB,CAAC,EACb;YACE,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,GACD,IAAI,CAAC;QACT,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;CACF,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,0BAA0B,GAC1B,gBAAgB,CAAC;;AAErB,wBAsfG"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js index abfdaee751..487f1fabcc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js @@ -153,7 +153,7 @@ exports.default = (0, util_1.createRule)({ * a nullishness check, taking into account the rule's configuration. */ function isTypeEligibleForPreferNullish(type) { - if (!(0, util_1.isPossiblyNullish)(type)) { + if (!(0, util_1.isNullableType)(type)) { return false; } const ignorableFlags = [ @@ -170,11 +170,25 @@ exports.default = (0, util_1.createRule)({ ] .filter((flag) => typeof flag === 'number') .reduce((previous, flag) => previous | flag, 0); - if (type.flags !== ts.TypeFlags.Null && - type.flags !== ts.TypeFlags.Undefined && - type.types.some(t => tsutils - .intersectionTypeParts(t) - .some(t => tsutils.isTypeFlagSet(t, ignorableFlags)))) { + if (ignorableFlags === 0) { + // any types are eligible for conversion. + return true; + } + // if the type is `any` or `unknown` we can't make any assumptions + // about the value, so it could be any primitive, even though the flags + // won't be set. + // + // technically, this is true of `void` as well, however, it's a TS error + // to test `void` for truthiness, so we don't need to bother checking for + // it in valid code. + if (tsutils.isTypeFlagSet(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) { + return false; + } + if (tsutils + .typeParts(type) + .some(t => tsutils + .intersectionTypeParts(t) + .some(t => tsutils.isTypeFlagSet(t, ignorableFlags)))) { return false; } return true; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts index 4e46d7ef21..0babc392b8 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts @@ -27,7 +27,7 @@ export * from './getConstraintInfo'; export * from './getValueOfLiteralType'; export * from './isHigherPrecedenceThanAwait'; export * from './skipChainExpression'; -export * from './truthinessAndNullishUtils'; +export * from './truthinessUtils'; export * from '@typescript-eslint/type-utils'; export declare const applyDefault: typeof ESLintUtils.applyDefault, deepMerge: typeof ESLintUtils.deepMerge, getParserServices: typeof ESLintUtils.getParserServices, isObjectNotArray: typeof ESLintUtils.isObjectNotArray, nullThrows: typeof ESLintUtils.nullThrows, NullThrowsReasons: { readonly MissingParent: "Expected node to have a parent."; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts.map index baa0eaadb9..6807f6d14e 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAG5C,cAAc,+BAA+B,CAAC;AAE9C,eAAO,MACL,YAAY,mCACZ,SAAS,gCACT,iBAAiB,wCACjB,gBAAgB,uCAChB,UAAU,iCACV,iBAAiB;;;CACJ,CAAC;AAChB,MAAM,MAAM,2BAA2B,CAAC,CAAC,IACvC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,MAAM,wBAAwB,CAAC,CAAC,IACpC,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,+BAA+B,CAAC;AAE9C,eAAO,MACL,YAAY,mCACZ,SAAS,gCACT,iBAAiB,wCACjB,gBAAgB,uCAChB,UAAU,iCACV,iBAAiB;;;CACJ,CAAC;AAChB,MAAM,MAAM,2BAA2B,CAAC,CAAC,IACvC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,MAAM,wBAAwB,CAAC,CAAC,IACpC,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js index aec7c1b287..a852e9b418 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js @@ -44,7 +44,7 @@ __exportStar(require("./getConstraintInfo"), exports); __exportStar(require("./getValueOfLiteralType"), exports); __exportStar(require("./isHigherPrecedenceThanAwait"), exports); __exportStar(require("./skipChainExpression"), exports); -__exportStar(require("./truthinessAndNullishUtils"), exports); +__exportStar(require("./truthinessUtils"), exports); // this is done for convenience - saves migrating all of the old rules __exportStar(require("@typescript-eslint/type-utils"), exports); exports.applyDefault = utils_1.ESLintUtils.applyDefault, exports.deepMerge = utils_1.ESLintUtils.deepMerge, exports.getParserServices = utils_1.ESLintUtils.getParserServices, exports.isObjectNotArray = utils_1.ESLintUtils.isObjectNotArray, exports.nullThrows = utils_1.ESLintUtils.nullThrows, exports.NullThrowsReasons = utils_1.ESLintUtils.NullThrowsReasons; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts deleted file mode 100644 index 77731c2384..0000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import * as ts from 'typescript'; -export declare const isPossiblyFalsy: (type: ts.Type) => boolean; -export declare const isPossiblyTruthy: (type: ts.Type) => boolean; -export declare const isPossiblyNullish: (type: ts.Type) => boolean; -export declare const isAlwaysNullish: (type: ts.Type) => boolean; -//# sourceMappingURL=truthinessAndNullishUtils.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts.map deleted file mode 100644 index 19ca2c511f..0000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"truthinessAndNullishUtils.d.ts","sourceRoot":"","sources":["../../src/util/truthinessAndNullishUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,eAAO,MAAM,eAAe,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAS0B,CAAC;AAE3E,eAAO,MAAM,gBAAgB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAQ5C,CAAC;AAON,eAAO,MAAM,iBAAiB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OACA,CAAC;AAEnD,eAAO,MAAM,eAAe,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OACG,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts new file mode 100644 index 0000000000..4316b13c8f --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts @@ -0,0 +1,4 @@ +import * as ts from 'typescript'; +export declare const isPossiblyFalsy: (type: ts.Type) => boolean; +export declare const isPossiblyTruthy: (type: ts.Type) => boolean; +//# sourceMappingURL=truthinessUtils.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts.map new file mode 100644 index 0000000000..6eb9d82483 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"truthinessUtils.d.ts","sourceRoot":"","sources":["../../src/util/truthinessUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,eAAO,MAAM,eAAe,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAS0B,CAAC;AAE3E,eAAO,MAAM,gBAAgB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAQ5C,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.js similarity index 83% rename from node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.js rename to node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.js index 52ab4c8392..557b46d185 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessAndNullishUtils.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.js @@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.isAlwaysNullish = exports.isPossiblyNullish = exports.isPossiblyTruthy = exports.isPossiblyFalsy = void 0; +exports.isPossiblyTruthy = exports.isPossiblyFalsy = void 0; const tsutils = __importStar(require("ts-api-utils")); const ts = __importStar(require("typescript")); const getValueOfLiteralType_1 = require("./getValueOfLiteralType"); @@ -58,10 +58,3 @@ const isPossiblyTruthy = (type) => tsutils // like `"" & { __brand: string }`. intersectionParts.every(type => !tsutils.isFalsyType(type))); exports.isPossiblyTruthy = isPossiblyTruthy; -// Nullish utilities -const nullishFlag = ts.TypeFlags.Undefined | ts.TypeFlags.Null; -const isNullishType = (type) => tsutils.isTypeFlagSet(type, nullishFlag); -const isPossiblyNullish = (type) => tsutils.unionTypeParts(type).some(isNullishType); -exports.isPossiblyNullish = isPossiblyNullish; -const isAlwaysNullish = (type) => tsutils.unionTypeParts(type).every(isNullishType); -exports.isAlwaysNullish = isAlwaysNullish; diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx index 87cf885270..438cc97d6a 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx @@ -84,7 +84,7 @@ Examples of code for this rule with `{ ignoreConditionalTests: false }`: ```ts option='{ "ignoreConditionalTests": false }' -declare const a: string | null; +declare let a: string | null; declare const b: string | null; if (a || b) { @@ -102,7 +102,7 @@ a || b ? true : false; ```ts option='{ "ignoreConditionalTests": false }' -declare const a: string | null; +declare let a: string | null; declare const b: string | null; if (a ?? b) { @@ -133,7 +133,7 @@ Examples of code for this rule with `{ ignoreMixedLogicalExpressions: false }`: ```ts option='{ "ignoreMixedLogicalExpressions": false }' -declare const a: string | null; +declare let a: string | null; declare const b: string | null; declare const c: string | null; declare const d: string | null; @@ -149,7 +149,7 @@ a || (b && c && d); ```ts option='{ "ignoreMixedLogicalExpressions": false }' -declare const a: string | null; +declare let a: string | null; declare const b: string | null; declare const c: string | null; declare const d: string | null; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/package.json b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/package.json index e973439e5e..d6064bbec1 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/package.json +++ b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "8.26.0", + "version": "8.26.1", "description": "TypeScript scope analyser for ESLint", "files": [ "dist", @@ -47,12 +47,12 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/typescript-estree": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", "glob": "*", "jest": "29.7.0", "jest-specific-snapshot": "*", diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types/package.json b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types/package.json index d529e2e98a..37f1ee69cb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types/package.json +++ b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "8.26.0", + "version": "8.26.1", "description": "Types for the TypeScript-ESTree AST spec", "files": [ "dist", diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/package.json b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/package.json index cb05bcd230..8645e38ab4 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/package.json +++ b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "8.26.0", + "version": "8.26.1", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "files": [ "dist", @@ -55,8 +55,8 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/package.json b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/package.json index 1c33b52cf9..76add92ebc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/package.json +++ b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "8.26.0", + "version": "8.26.1", "description": "Utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -65,9 +65,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys/package.json b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys/package.json index 26cef07567..7a8b445eed 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys/package.json +++ b/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "8.26.0", + "version": "8.26.1", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "files": [ "dist", @@ -48,7 +48,7 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "devDependencies": { diff --git a/node_modules/@typescript-eslint/eslint-plugin/package.json b/node_modules/@typescript-eslint/eslint-plugin/package.json index 2647ceeaca..ed623baeca 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/package.json +++ b/node_modules/@typescript-eslint/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "8.26.0", + "version": "8.26.1", "description": "TypeScript plugin for ESLint", "files": [ "dist", @@ -62,10 +62,10 @@ }, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/type-utils": "8.26.0", - "@typescript-eslint/utils": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/type-utils": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -76,8 +76,8 @@ "@types/marked": "^5.0.2", "@types/mdast": "^4.0.3", "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "8.26.0", - "@typescript-eslint/rule-tester": "8.26.0", + "@typescript-eslint/rule-schema-to-typescript-types": "8.26.1", + "@typescript-eslint/rule-tester": "8.26.1", "ajv": "^6.12.6", "cross-env": "^7.0.3", "cross-fetch": "*", diff --git a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager/package.json b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager/package.json index e973439e5e..d6064bbec1 100644 --- a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager/package.json +++ b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "8.26.0", + "version": "8.26.1", "description": "TypeScript scope analyser for ESLint", "files": [ "dist", @@ -47,12 +47,12 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/typescript-estree": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", "glob": "*", "jest": "29.7.0", "jest-specific-snapshot": "*", diff --git a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types/package.json b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types/package.json index d529e2e98a..37f1ee69cb 100644 --- a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types/package.json +++ b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "8.26.0", + "version": "8.26.1", "description": "Types for the TypeScript-ESTree AST spec", "files": [ "dist", diff --git a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree/package.json b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree/package.json index cb05bcd230..8645e38ab4 100644 --- a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree/package.json +++ b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "8.26.0", + "version": "8.26.1", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "files": [ "dist", @@ -55,8 +55,8 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", diff --git a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys/package.json b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys/package.json index 26cef07567..7a8b445eed 100644 --- a/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys/package.json +++ b/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "8.26.0", + "version": "8.26.1", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "files": [ "dist", @@ -48,7 +48,7 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "devDependencies": { diff --git a/node_modules/@typescript-eslint/parser/package.json b/node_modules/@typescript-eslint/parser/package.json index d2334c3e8d..abcabc05f1 100644 --- a/node_modules/@typescript-eslint/parser/package.json +++ b/node_modules/@typescript-eslint/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "8.26.0", + "version": "8.26.1", "description": "An ESLint custom parser which leverages TypeScript ESTree", "files": [ "dist", @@ -54,10 +54,10 @@ "typescript": ">=4.8.4 <5.9.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4" }, "devDependencies": { diff --git a/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts b/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts new file mode 100644 index 0000000000..af332ac8ea --- /dev/null +++ b/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts @@ -0,0 +1,13 @@ +import type * as ts from 'typescript'; +export declare enum AnyType { + Any = 0, + PromiseAny = 1, + AnyArray = 2, + Safe = 3 +} +/** + * @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise`, + * otherwise it returns `AnyType.Safe`. + */ +export declare function discriminateAnyType(type: ts.Type, checker: ts.TypeChecker, program: ts.Program, tsNode: ts.Node): AnyType; +//# sourceMappingURL=discriminateAnyType.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts.map b/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts.map new file mode 100644 index 0000000000..92d8371330 --- /dev/null +++ b/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"discriminateAnyType.d.ts","sourceRoot":"","sources":["../src/discriminateAnyType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAMtC,oBAAY,OAAO;IACjB,GAAG,IAAA;IACH,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AACD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,MAAM,EAAE,EAAE,CAAC,IAAI,GACd,OAAO,CAET"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.js b/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.js new file mode 100644 index 0000000000..638a22059a --- /dev/null +++ b/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.js @@ -0,0 +1,77 @@ +"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 () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AnyType = void 0; +exports.discriminateAnyType = discriminateAnyType; +const tsutils = __importStar(require("ts-api-utils")); +const predicates_1 = require("./predicates"); +var AnyType; +(function (AnyType) { + AnyType[AnyType["Any"] = 0] = "Any"; + AnyType[AnyType["PromiseAny"] = 1] = "PromiseAny"; + AnyType[AnyType["AnyArray"] = 2] = "AnyArray"; + AnyType[AnyType["Safe"] = 3] = "Safe"; +})(AnyType || (exports.AnyType = AnyType = {})); +/** + * @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise`, + * otherwise it returns `AnyType.Safe`. + */ +function discriminateAnyType(type, checker, program, tsNode) { + return discriminateAnyTypeWorker(type, checker, program, tsNode, new Set()); +} +function discriminateAnyTypeWorker(type, checker, program, tsNode, visited) { + if (visited.has(type)) { + return AnyType.Safe; + } + visited.add(type); + if ((0, predicates_1.isTypeAnyType)(type)) { + return AnyType.Any; + } + if ((0, predicates_1.isTypeAnyArrayType)(type, checker)) { + return AnyType.AnyArray; + } + for (const part of tsutils.typeParts(type)) { + if (tsutils.isThenableType(checker, tsNode, part)) { + const awaitedType = checker.getAwaitedType(part); + if (awaitedType) { + const awaitedAnyType = discriminateAnyTypeWorker(awaitedType, checker, program, tsNode, visited); + if (awaitedAnyType === AnyType.Any) { + return AnyType.PromiseAny; + } + } + } + } + return AnyType.Safe; +} diff --git a/node_modules/@typescript-eslint/type-utils/dist/index.d.ts b/node_modules/@typescript-eslint/type-utils/dist/index.d.ts index 6e083287c7..3fd9719706 100644 --- a/node_modules/@typescript-eslint/type-utils/dist/index.d.ts +++ b/node_modules/@typescript-eslint/type-utils/dist/index.d.ts @@ -13,5 +13,6 @@ export * from './propertyTypes'; export * from './requiresQuoting'; export * from './typeFlagUtils'; export * from './TypeOrValueSpecifier'; +export * from './discriminateAnyType'; export { getDecorators, getModifiers, typescriptVersionIsAtLeast, } from '@typescript-eslint/typescript-estree'; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map b/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map index 4597d40b20..98c6a176d0 100644 --- a/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map +++ b/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,0BAA0B,GAC3B,MAAM,sCAAsC,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,0BAA0B,GAC3B,MAAM,sCAAsC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/type-utils/dist/index.js b/node_modules/@typescript-eslint/type-utils/dist/index.js index 1967d46cce..d98ca97dbd 100644 --- a/node_modules/@typescript-eslint/type-utils/dist/index.js +++ b/node_modules/@typescript-eslint/type-utils/dist/index.js @@ -30,6 +30,7 @@ __exportStar(require("./propertyTypes"), exports); __exportStar(require("./requiresQuoting"), exports); __exportStar(require("./typeFlagUtils"), exports); __exportStar(require("./TypeOrValueSpecifier"), exports); +__exportStar(require("./discriminateAnyType"), exports); var typescript_estree_1 = require("@typescript-eslint/typescript-estree"); Object.defineProperty(exports, "getDecorators", { enumerable: true, get: function () { return typescript_estree_1.getDecorators; } }); Object.defineProperty(exports, "getModifiers", { enumerable: true, get: function () { return typescript_estree_1.getModifiers; } }); diff --git a/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts b/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts index bc420c5a73..0922292936 100644 --- a/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts +++ b/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts @@ -29,17 +29,6 @@ export declare function isTypeAnyArrayType(type: ts.Type, checker: ts.TypeChecke * @returns true if the type is `unknown[]` */ export declare function isTypeUnknownArrayType(type: ts.Type, checker: ts.TypeChecker): boolean; -export declare enum AnyType { - Any = 0, - PromiseAny = 1, - AnyArray = 2, - Safe = 3 -} -/** - * @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise`, - * otherwise it returns `AnyType.Safe`. - */ -export declare function discriminateAnyType(type: ts.Type, checker: ts.TypeChecker, program: ts.Program, tsNode: ts.Node): AnyType; /** * @returns Whether a type is an instance of the parent type, including for the parent's base types. */ diff --git a/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map b/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map index f55300462a..53441204f6 100644 --- a/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map +++ b/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CASrD;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAExD;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,CAM3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED,oBAAY,OAAO;IACjB,GAAG,IAAA;IACH,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AACD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,MAAM,EAAE,EAAE,CAAC,IAAI,GACd,OAAO,CAyBT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,IAAI,GAClB,OAAO,CAqBT;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAEhC"} \ No newline at end of file +{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CASrD;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAExD;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,CAM3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,IAAI,GAClB,OAAO,CAqBT;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAEhC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/type-utils/dist/predicates.js b/node_modules/@typescript-eslint/type-utils/dist/predicates.js index f4e18ba037..bca0c230ed 100644 --- a/node_modules/@typescript-eslint/type-utils/dist/predicates.js +++ b/node_modules/@typescript-eslint/type-utils/dist/predicates.js @@ -36,7 +36,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.AnyType = void 0; exports.isNullableType = isNullableType; exports.isTypeArrayTypeOrUnionOfArrayTypes = isTypeArrayTypeOrUnionOfArrayTypes; exports.isTypeNeverType = isTypeNeverType; @@ -45,7 +44,6 @@ exports.isTypeReferenceType = isTypeReferenceType; exports.isTypeAnyType = isTypeAnyType; exports.isTypeAnyArrayType = isTypeAnyArrayType; exports.isTypeUnknownArrayType = isTypeUnknownArrayType; -exports.discriminateAnyType = discriminateAnyType; exports.typeIsOrHasBaseType = typeIsOrHasBaseType; exports.isTypeBigIntLiteralType = isTypeBigIntLiteralType; exports.isTypeTemplateLiteralType = isTypeTemplateLiteralType; @@ -130,37 +128,6 @@ function isTypeUnknownArrayType(type, checker) { return (checker.isArrayType(type) && isTypeUnknownType(checker.getTypeArguments(type)[0])); } -var AnyType; -(function (AnyType) { - AnyType[AnyType["Any"] = 0] = "Any"; - AnyType[AnyType["PromiseAny"] = 1] = "PromiseAny"; - AnyType[AnyType["AnyArray"] = 2] = "AnyArray"; - AnyType[AnyType["Safe"] = 3] = "Safe"; -})(AnyType || (exports.AnyType = AnyType = {})); -/** - * @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise`, - * otherwise it returns `AnyType.Safe`. - */ -function discriminateAnyType(type, checker, program, tsNode) { - if (isTypeAnyType(type)) { - return AnyType.Any; - } - if (isTypeAnyArrayType(type, checker)) { - return AnyType.AnyArray; - } - for (const part of tsutils.typeParts(type)) { - if (tsutils.isThenableType(checker, tsNode, part)) { - const awaitedType = checker.getAwaitedType(part); - if (awaitedType) { - const awaitedAnyType = discriminateAnyType(awaitedType, checker, program, tsNode); - if (awaitedAnyType === AnyType.Any) { - return AnyType.PromiseAny; - } - } - } - } - return AnyType.Safe; -} /** * @returns Whether a type is an instance of the parent type, including for the parent's base types. */ diff --git a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/package.json b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/package.json index e973439e5e..d6064bbec1 100644 --- a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/package.json +++ b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "8.26.0", + "version": "8.26.1", "description": "TypeScript scope analyser for ESLint", "files": [ "dist", @@ -47,12 +47,12 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/typescript-estree": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", "glob": "*", "jest": "29.7.0", "jest-specific-snapshot": "*", diff --git a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types/package.json b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types/package.json index d529e2e98a..37f1ee69cb 100644 --- a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types/package.json +++ b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "8.26.0", + "version": "8.26.1", "description": "Types for the TypeScript-ESTree AST spec", "files": [ "dist", diff --git a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree/package.json b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree/package.json index cb05bcd230..8645e38ab4 100644 --- a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree/package.json +++ b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "8.26.0", + "version": "8.26.1", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "files": [ "dist", @@ -55,8 +55,8 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", diff --git a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils/package.json b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils/package.json index 1c33b52cf9..76add92ebc 100644 --- a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils/package.json +++ b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "8.26.0", + "version": "8.26.1", "description": "Utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -65,9 +65,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", diff --git a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys/package.json b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys/package.json index 26cef07567..7a8b445eed 100644 --- a/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys/package.json +++ b/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "8.26.0", + "version": "8.26.1", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "files": [ "dist", @@ -48,7 +48,7 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "devDependencies": { diff --git a/node_modules/@typescript-eslint/type-utils/package.json b/node_modules/@typescript-eslint/type-utils/package.json index d0f9704784..822e23e84b 100644 --- a/node_modules/@typescript-eslint/type-utils/package.json +++ b/node_modules/@typescript-eslint/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "8.26.0", + "version": "8.26.1", "description": "Type utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -47,8 +47,8 @@ "check-types": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/utils": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/utils": "8.26.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -58,7 +58,7 @@ }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/parser": "8.26.0", + "@typescript-eslint/parser": "8.26.1", "ajv": "^6.12.6", "downlevel-dts": "*", "jest": "29.7.0", From aecf01557df1aae051d963a87c63578335cb0819 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 17:57:35 +0000 Subject: [PATCH 07/22] build(deps): bump ruby/setup-ruby in the actions group Bumps the actions group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby). Updates `ruby/setup-ruby` from 1.221.0 to 1.222.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/32110d4e311bd8996b2a82bf2a43b714ccc91777...277ba2a127aba66d45bad0fa2dc56f80dbfedffa) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions ... Signed-off-by: dependabot[bot] --- .github/workflows/__rubocop-multi-language.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/__rubocop-multi-language.yml b/.github/workflows/__rubocop-multi-language.yml index 72d81ab526..643ef7e8dc 100644 --- a/.github/workflows/__rubocop-multi-language.yml +++ b/.github/workflows/__rubocop-multi-language.yml @@ -46,7 +46,7 @@ jobs: use-all-platform-bundle: 'false' setup-kotlin: 'true' - name: Set up Ruby - uses: ruby/setup-ruby@32110d4e311bd8996b2a82bf2a43b714ccc91777 # v1.221.0 + uses: ruby/setup-ruby@277ba2a127aba66d45bad0fa2dc56f80dbfedffa # v1.222.0 with: ruby-version: 2.6 - name: Install Code Scanning integration From d3762699d1faea11afcbcfb22f5c208d1b3b5eeb Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Mon, 10 Mar 2025 11:22:58 -0700 Subject: [PATCH 08/22] Update pr-check --- pr-checks/checks/rubocop-multi-language.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-checks/checks/rubocop-multi-language.yml b/pr-checks/checks/rubocop-multi-language.yml index 0df18f35e0..6f767e433a 100644 --- a/pr-checks/checks/rubocop-multi-language.yml +++ b/pr-checks/checks/rubocop-multi-language.yml @@ -5,7 +5,7 @@ operatingSystems: ["ubuntu"] versions: ["default"] steps: - name: Set up Ruby - uses: ruby/setup-ruby@32110d4e311bd8996b2a82bf2a43b714ccc91777 # v1.221.0 + uses: ruby/setup-ruby@277ba2a127aba66d45bad0fa2dc56f80dbfedffa # v1.222.0 with: ruby-version: 2.6 - name: Install Code Scanning integration From 270886f805308bd0a5b185a33539905aca625820 Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Mon, 10 Mar 2025 10:28:12 -0700 Subject: [PATCH 09/22] Pass overlay mode into databaseInitCluster() This commit adds a OverlayDatabaseMode parameter to databaseInitCluster(). The parameter controls the "codeql database init" flags concerning overlay database creation. There is no behavior change in this commit because we always pass OverlayDatabaseMode.None to databaseInitCluster(). That will change in the next commit. --- src/codeql.test.ts | 5 +++++ src/codeql.ts | 13 ++++++++++++- src/init-action.ts | 2 ++ src/init.ts | 3 +++ src/overlay-database-utils.ts | 5 +++++ 5 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/overlay-database-utils.ts diff --git a/src/codeql.test.ts b/src/codeql.test.ts index 3e4212ab05..a4b105236b 100644 --- a/src/codeql.test.ts +++ b/src/codeql.test.ts @@ -20,6 +20,7 @@ import { DocUrl } from "./doc-url"; import { FeatureEnablement } from "./feature-flags"; import { Language } from "./languages"; import { getRunnerLogger } from "./logging"; +import { OverlayDatabaseMode } from "./overlay-database-utils"; import { ToolsSource } from "./setup-codeql"; import { setupTests, @@ -510,6 +511,7 @@ const injectedConfigMacro = test.macro({ "", undefined, undefined, + OverlayDatabaseMode.None, getRunnerLogger(true), ); @@ -723,6 +725,7 @@ test("passes a code scanning config AND qlconfig to the CLI", async (t: Executio "", undefined, "/path/to/qlconfig.yml", + OverlayDatabaseMode.None, getRunnerLogger(true), ); @@ -752,6 +755,7 @@ test("does not pass a qlconfig to the CLI when it is undefined", async (t: Execu "", undefined, undefined, // undefined qlconfigFile + OverlayDatabaseMode.None, getRunnerLogger(true), ); @@ -1005,6 +1009,7 @@ test("Avoids duplicating --overwrite flag if specified in CODEQL_ACTION_EXTRA_OP "sourceRoot", undefined, undefined, + OverlayDatabaseMode.None, getRunnerLogger(false), ); diff --git a/src/codeql.ts b/src/codeql.ts index 84a4c82d98..3cec8320ce 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -24,6 +24,7 @@ import { import { isAnalyzingDefaultBranch } from "./git-utils"; import { Language } from "./languages"; import { Logger } from "./logging"; +import { OverlayDatabaseMode } from "./overlay-database-utils"; import * as setupCodeql from "./setup-codeql"; import { ZstdAvailability } from "./tar"; import { ToolsDownloadStatusReport } from "./tools-download"; @@ -82,6 +83,7 @@ export interface CodeQL { sourceRoot: string, processName: string | undefined, qlconfigFile: string | undefined, + overlayDatabaseMode: OverlayDatabaseMode, logger: Logger, ): Promise; /** @@ -552,6 +554,7 @@ export async function getCodeQLForCmd( sourceRoot: string, processName: string | undefined, qlconfigFile: string | undefined, + overlayDatabaseMode: OverlayDatabaseMode, logger: Logger, ) { const extraArgs = config.languages.map( @@ -606,12 +609,20 @@ export async function getCodeQLForCmd( ? "--force-overwrite" : "--overwrite"; + if (overlayDatabaseMode === OverlayDatabaseMode.Overlay) { + extraArgs.push("--overlay"); + } else if (overlayDatabaseMode === OverlayDatabaseMode.OverlayBase) { + extraArgs.push("--overlay-base"); + } + await runCli( cmd, [ "database", "init", - overwriteFlag, + ...(overlayDatabaseMode === OverlayDatabaseMode.Overlay + ? [] + : [overwriteFlag]), "--db-cluster", config.dbLocation, `--source-root=${sourceRoot}`, diff --git a/src/init-action.ts b/src/init-action.ts index 3026d8afaf..c236cf70a7 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -42,6 +42,7 @@ import { } from "./init"; import { Language } from "./languages"; import { getActionsLogger, Logger } from "./logging"; +import { OverlayDatabaseMode } from "./overlay-database-utils"; import { parseRepositoryNwo } from "./repository"; import { ToolsSource } from "./setup-codeql"; import { @@ -687,6 +688,7 @@ async function run() { "Runner.Worker.exe", getOptionalInput("registries"), apiDetails, + OverlayDatabaseMode.None, logger, ); if (tracerConfig !== undefined) { diff --git a/src/init.ts b/src/init.ts index c0e2a20bd2..3216034b56 100644 --- a/src/init.ts +++ b/src/init.ts @@ -11,6 +11,7 @@ import * as configUtils from "./config-utils"; import { CodeQLDefaultVersionInfo, FeatureEnablement } from "./feature-flags"; import { Language, isScannedLanguage } from "./languages"; import { Logger } from "./logging"; +import { OverlayDatabaseMode } from "./overlay-database-utils"; import { ToolsSource } from "./setup-codeql"; import { ZstdAvailability } from "./tar"; import { ToolsDownloadStatusReport } from "./tools-download"; @@ -86,6 +87,7 @@ export async function runInit( processName: string | undefined, registriesInput: string | undefined, apiDetails: GitHubApiCombinedDetails, + overlayDatabaseMode: OverlayDatabaseMode, logger: Logger, ): Promise { fs.mkdirSync(config.dbLocation, { recursive: true }); @@ -109,6 +111,7 @@ export async function runInit( sourceRoot, processName, qlconfigFile, + overlayDatabaseMode, logger, ), ); diff --git a/src/overlay-database-utils.ts b/src/overlay-database-utils.ts new file mode 100644 index 0000000000..f5fc6c761b --- /dev/null +++ b/src/overlay-database-utils.ts @@ -0,0 +1,5 @@ +export enum OverlayDatabaseMode { + Overlay = "overlay", + OverlayBase = "overlay-base", + None = "none", +} From ff5f0b9efdde997429172d6cec95233686451b0e Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Mon, 10 Mar 2025 10:38:02 -0700 Subject: [PATCH 10/22] Support overlay database creation This commit adds support for creating overlay-base and overlay databases, controlled via the CODEQL_OVERLAY_DATABASE_MODE environment variable. --- src/git-utils.ts | 22 ++++++++++++++++ src/init-action.ts | 25 +++++++++++++----- src/init.ts | 48 ++++++++++++++++++++++++++++++++++- src/overlay-database-utils.ts | 2 ++ 4 files changed, 89 insertions(+), 8 deletions(-) diff --git a/src/git-utils.ts b/src/git-utils.ts index 2669cd9150..452ce1d2c7 100644 --- a/src/git-utils.ts +++ b/src/git-utils.ts @@ -300,6 +300,28 @@ export const decodeGitFilePath = function (filePath: string): string { return filePath; }; +/** + * Get the root of the Git repository. + * + * @param sourceRoot The source root of the code being analyzed. + * @returns The root of the Git repository. + */ +export const getGitRoot = async function ( + sourceRoot: string, +): Promise { + try { + const stdout = await runGitCommand( + sourceRoot, + ["rev-parse", "--show-toplevel"], + `Cannot find Git repository root from the source root ${sourceRoot}.`, + ); + return stdout.trim(); + } catch { + // Errors are already logged by runGitCommand() + return undefined; + } +}; + function getRefFromEnv(): string { // To workaround a limitation of Actions dynamic workflows not setting // the GITHUB_REF in some cases, we accept also the ref within the diff --git a/src/init-action.ts b/src/init-action.ts index c236cf70a7..e534ab9fbe 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -36,6 +36,7 @@ import { Feature, featureConfig, Features } from "./feature-flags"; import { checkInstallPython311, cleanupDatabaseClusterDirectory, + getOverlayDatabaseMode, initCodeQL, initConfig, runInit, @@ -396,7 +397,22 @@ async function run() { } try { - cleanupDatabaseClusterDirectory(config, logger); + const sourceRoot = path.resolve( + getRequiredEnvParam("GITHUB_WORKSPACE"), + getOptionalInput("source-root") || "", + ); + + const overlayDatabaseMode = await getOverlayDatabaseMode( + (await codeql.getVersion()).version, + config, + sourceRoot, + logger, + ); + logger.info(`Using overlay database mode: ${overlayDatabaseMode}`); + + if (overlayDatabaseMode !== OverlayDatabaseMode.Overlay) { + cleanupDatabaseClusterDirectory(config, logger); + } if (zstdAvailability) { await recordZstdAvailability(config, zstdAvailability); @@ -676,11 +692,6 @@ async function run() { } } - const sourceRoot = path.resolve( - getRequiredEnvParam("GITHUB_WORKSPACE"), - getOptionalInput("source-root") || "", - ); - const tracerConfig = await runInit( codeql, config, @@ -688,7 +699,7 @@ async function run() { "Runner.Worker.exe", getOptionalInput("registries"), apiDetails, - OverlayDatabaseMode.None, + overlayDatabaseMode, logger, ); if (tracerConfig !== undefined) { diff --git a/src/init.ts b/src/init.ts index 3216034b56..c135bd931a 100644 --- a/src/init.ts +++ b/src/init.ts @@ -3,15 +3,20 @@ import * as path from "path"; import * as toolrunner from "@actions/exec/lib/toolrunner"; import * as io from "@actions/io"; +import * as semver from "semver"; import { getOptionalInput, isSelfHostedRunner } from "./actions-util"; import { GitHubApiCombinedDetails, GitHubApiDetails } from "./api-client"; import { CodeQL, setupCodeQL } from "./codeql"; import * as configUtils from "./config-utils"; import { CodeQLDefaultVersionInfo, FeatureEnablement } from "./feature-flags"; +import { getGitRoot } from "./git-utils"; import { Language, isScannedLanguage } from "./languages"; import { Logger } from "./logging"; -import { OverlayDatabaseMode } from "./overlay-database-utils"; +import { + CODEQL_OVERLAY_MINIMUM_VERSION, + OverlayDatabaseMode, +} from "./overlay-database-utils"; import { ToolsSource } from "./setup-codeql"; import { ZstdAvailability } from "./tar"; import { ToolsDownloadStatusReport } from "./tools-download"; @@ -80,6 +85,47 @@ export async function initConfig( return config; } +export async function getOverlayDatabaseMode( + codeqlVersion: string, + config: configUtils.Config, + sourceRoot: string, + logger: Logger, +): Promise { + const overlayDatabaseMode = process.env.CODEQL_OVERLAY_DATABASE_MODE; + + if ( + overlayDatabaseMode === OverlayDatabaseMode.Overlay || + overlayDatabaseMode === OverlayDatabaseMode.OverlayBase + ) { + if (config.buildMode !== util.BuildMode.None) { + logger.warning( + `Cannot build an ${overlayDatabaseMode} database because ` + + `build-mode is set to "${config.buildMode}" instead of "none". ` + + "Falling back to creating a normal full database instead.", + ); + return OverlayDatabaseMode.None; + } + if (semver.lt(codeqlVersion, CODEQL_OVERLAY_MINIMUM_VERSION)) { + logger.warning( + `Cannot build an ${overlayDatabaseMode} database because ` + + `the CodeQL CLI is older than ${CODEQL_OVERLAY_MINIMUM_VERSION}. ` + + "Falling back to creating a normal full database instead.", + ); + return OverlayDatabaseMode.None; + } + if ((await getGitRoot(sourceRoot)) === undefined) { + logger.warning( + `Cannot build an ${overlayDatabaseMode} database because ` + + `the source root "${sourceRoot}" is not inside a git repository. ` + + "Falling back to creating a normal full database instead.", + ); + return OverlayDatabaseMode.None; + } + return overlayDatabaseMode as OverlayDatabaseMode; + } + return OverlayDatabaseMode.None; +} + export async function runInit( codeql: CodeQL, config: configUtils.Config, diff --git a/src/overlay-database-utils.ts b/src/overlay-database-utils.ts index f5fc6c761b..9cbf0d3a46 100644 --- a/src/overlay-database-utils.ts +++ b/src/overlay-database-utils.ts @@ -3,3 +3,5 @@ export enum OverlayDatabaseMode { OverlayBase = "overlay-base", None = "none", } + +export const CODEQL_OVERLAY_MINIMUM_VERSION = "2.20.5"; From 0efe12d12cc0beacd5cae2cccaab14363449574c Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Mon, 10 Mar 2025 13:31:46 -0700 Subject: [PATCH 11/22] build: refresh js files --- lib/analyze-action.js | 7 ++++--- lib/analyze-action.js.map | 2 +- lib/analyze.js | 17 ++++++++-------- lib/analyze.js.map | 2 +- lib/analyze.test.js | 2 +- lib/analyze.test.js.map | 2 +- lib/codeql.js | 14 ++++++++++--- lib/codeql.js.map | 2 +- lib/codeql.test.js | 11 +++++----- lib/codeql.test.js.map | 2 +- lib/git-utils.js | 19 ++++++++++++++++- lib/git-utils.js.map | 2 +- lib/init-action.js | 11 +++++++--- lib/init-action.js.map | 2 +- lib/init.js | 34 +++++++++++++++++++++++++++++-- lib/init.js.map | 2 +- lib/overlay-database-utils.js | 11 ++++++++++ lib/overlay-database-utils.js.map | 1 + 18 files changed, 109 insertions(+), 34 deletions(-) create mode 100644 lib/overlay-database-utils.js create mode 100644 lib/overlay-database-utils.js.map diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 489db548b4..631b532e5e 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -200,11 +200,12 @@ async function run() { await (0, analyze_1.warnIfGoInstalledAfterInit)(config, logger); await runAutobuildIfLegacyGoWorkflow(config, logger); dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, codeql, config, logger); + const cleanupLevel = actionsUtil.getOptionalInput("cleanup-level") || "brutal"; if (actionsUtil.getRequiredInput("skip-queries") !== "true") { - runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, diffRangePackDir, actionsUtil.getOptionalInput("category"), config, logger, features); + runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, cleanupLevel, diffRangePackDir, actionsUtil.getOptionalInput("category"), config, logger, features); } - if (actionsUtil.getOptionalInput("cleanup-level") !== "none") { - await (0, analyze_1.runCleanup)(config, actionsUtil.getOptionalInput("cleanup-level") || "brutal", logger); + if (cleanupLevel !== "none") { + await (0, analyze_1.runCleanup)(config, cleanupLevel, logger); } const dbLocations = {}; for (const language of config.languages) { diff --git a/lib/analyze-action.js.map b/lib/analyze-action.js.map index ee73a45bda..5245a63bf2 100644 --- a/lib/analyze-action.js.map +++ b/lib/analyze-action.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze-action.js","sourceRoot":"","sources":["../src/analyze-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,gDAAwB;AACxB,2CAAyC;AAEzC,oDAAsC;AACtC,wDAA0C;AAE1C,4DAA8C;AAC9C,uCASmB;AACnB,6CAA+D;AAC/D,2CAA2C;AAC3C,mDAAsE;AACtE,qCAAqC;AACrC,iDAAmD;AACnD,uDAAoD;AACpD,6DAA8D;AAC9D,+CAAuC;AACvC,mDAA2C;AAC3C,2CAAuC;AACvC,uCAAqD;AACrD,6CAAkD;AAClD,8DAAgD;AAChD,mDAMyB;AACzB,iDAIwB;AACxB,wDAA0C;AAE1C,6CAA+B;AAkB/B,KAAK,UAAU,gBAAgB,CAC7B,SAAe,EACf,MAA0B,EAC1B,KAAuC,EACvC,KAAwB,EACxB,mBAAuC,EACvC,iBAAsD,EACtD,mBAA4B,EAC5B,gBAA0D,EAC1D,MAAc;IAEd,MAAM,MAAM,GAAG,IAAA,gCAAgB,EAAC,KAAK,EAAE,KAAK,EAAE,wBAAwB,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,OAAO,EAClB,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EACjC,MAAM,EACN,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,CACb,CAAC;IACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,MAAM,GAAuB;YACjC,GAAG,gBAAgB;YACnB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;SAC5B,CAAC;QACF,IAAI,MAAM,IAAI,mBAAmB,EAAE,CAAC;YAClC,MAAM,2BAA2B,GAAqC;gBACpE,GAAG,MAAM;gBACT,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;gBACnE,4BAA4B,EAAE,IAAI,CAAC,KAAK,CACtC,MAAM,IAAA,iCAAiB,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAClE;aACF,CAAC;YACF,MAAM,YAAY,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,sBAAsB;IAC7B,OAAO,CACL,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,OAAO;QACxD,CAAC,IAAI,CAAC,YAAY,EAAE,CACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,oBAAQ,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,oBAAQ,CAAC,EAAE,CAAC,CAAC;IACxE,OAAO,CACL,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAC5B,EAAE;aACC,WAAW,CAAC,aAAa,CAAC;aAC1B,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjB;YACE,OAAO;YACP,UAAU;YACV,UAAU;YACV,cAAc;YACd,cAAc;YACd,WAAW;SACZ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACxC,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,8BAA8B,CAAC,MAAc,EAAE,MAAc;IAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CACV,qEAAqE,CACtE,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,IAAA,uBAAa,EAAC,MAAM,EAAE,oBAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,CACV,4EAA4E,CAC7E,CAAC;QACF,OAAO;IACT,CAAC;IACD,mEAAmE;IACnE,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CACV,uFAAuF,CACxF,CAAC;QACF,iGAAiG;QACjG,2DAA2D;QAC3D,IAAI,mCAAmC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvD,MAAM,CAAC,OAAO,CACZ,uKAAuK,CACxK,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,CAAC,KAAK,CACV,6FAA6F,CAC9F,CAAC;IACF,MAAM,IAAA,wBAAY,EAAC,MAAM,EAAE,oBAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,GAAG;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,IAAI,YAAY,GAA6B,SAAS,CAAC;IACvD,IAAI,QAAQ,GAAoC,SAAS,CAAC;IAC1D,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,yBAAyB,GAC3B,SAAS,CAAC;IACZ,IAAI,mBAAmB,GAAuB,SAAS,CAAC;IACxD,IAAI,iBAAiB,GAAwC,SAAS,CAAC;IACvE,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE3D,yEAAyE;IACzE,2CAA2C;IAC3C,oEAAoE;IACpE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACjD,CAAC;IAED,wDAAwD;IACxD,sDAAsD;IACtD,WAAW,CAAC,aAAa,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,OAAO,EAClB,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EACjC,MAAM,CACP,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,YAAY,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,sBAAsB,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,4GAA4G,CAC7G,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,0BAAa,GAAE,CAAC;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CACjC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACxE,MAAM,CACP,CAAC;QAEF,MAAM,aAAa,GAAG,IAAA,+BAAkB,EACtC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAC9C,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,aAAa,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAC3B,aAAa,EACb,aAAa,EACb,WAAW,CAAC,qBAAqB,EAAE,EACnC,MAAM,CACP,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAC/B,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAChE,MAAM,CACP,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACzD,MAAM,gBAAgB,GACpB,YAAY;YACZ,CAAC,MAAM,IAAA,mCAAyB,EAC9B,YAAY,CAAC,IAAI,CAAC,GAAa,EAC/B,YAAY,CAAC,IAAI,CAAC,KAAe,EACjC,MAAM,EACN,MAAM,EACN,QAAQ,CACT,CAAC,CAAC;QAEL,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErD,iBAAiB,GAAG,MAAM,IAAA,qBAAW,EACnC,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,CACP,CAAC;QAEF,IAAI,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;YAC5D,QAAQ,GAAG,MAAM,IAAA,oBAAU,EACzB,SAAS,EACT,MAAM,EACN,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,EACrE,OAAO,EACP,gBAAgB,EAChB,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACxC,MAAM,EACN,MAAM,EACN,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE,CAAC;YAC7D,MAAM,IAAA,oBAAU,EACd,MAAM,EACN,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,QAAQ,EACzD,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAA+B,EAAE,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,QAAQ,IAAI,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrE,YAAY,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,SAAS,EACT,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC7C,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACxC,QAAQ,EACR,MAAM,CACP,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAED,0DAA0D;QAC1D,MAAM,IAAA,iCAAe,EAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEjE,mDAAmD;QACnD,MAAM,wBAAwB,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QACnD,mBAAmB,GAAG,MAAM,IAAA,+BAAgB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,mBAAmB,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAC;QAEnE,uBAAuB;QACvB,yBAAyB,GAAG,MAAM,IAAA,gCAAiB,EACjD,MAAM,EACN,QAAQ,EACR,MAAM,CACP,CAAC;QAEF,8DAA8D;QAC9D,IAAI,IAAA,gCAAgB,EAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACtD,MAAM,IAAA,2CAAsB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,qEAAqE;QACrE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACpE,CAAC;aAAM,IACL,YAAY,KAAK,SAAS;YAC1B,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,MAAM,EAC9D,CAAC;YACD,MAAM,SAAS,CAAC,iBAAiB,CAC/B,IAAA,+BAAkB,EAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,EACjE,YAAY,CAAC,OAAO,EACpB,IAAA,0BAAgB,GAAE,CACnB,CAAC;QACJ,CAAC;QACD,sEAAsE;QACtE,IAAI,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,CACZ,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC7C,IACE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,MAAM;YACvD,sBAAsB,EAAE,EACxB,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN,KAAK,YAAY,6BAAmB;YAClC,CAAC,CAAC,KAAK,CAAC,mBAAmB;YAC3B,CAAC,CAAC,SAAS,EACb,KAAK,YAAY,6BAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAC1D,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN;YACE,GAAG,QAAQ;YACX,GAAG,YAAY,CAAC,YAAY;SAC7B,EACD,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN,EAAE,GAAG,QAAQ,EAAE,EACf,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAEY,QAAA,UAAU,GAAG,GAAG,EAAE,CAAC;AAEhC,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,kBAAU,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,0BAA0B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"analyze-action.js","sourceRoot":"","sources":["../src/analyze-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,gDAAwB;AACxB,2CAAyC;AAEzC,oDAAsC;AACtC,wDAA0C;AAE1C,4DAA8C;AAC9C,uCASmB;AACnB,6CAA+D;AAC/D,2CAA2C;AAC3C,mDAAsE;AACtE,qCAAqC;AACrC,iDAAmD;AACnD,uDAAoD;AACpD,6DAA8D;AAC9D,+CAAuC;AACvC,mDAA2C;AAC3C,2CAAuC;AACvC,uCAAqD;AACrD,6CAAkD;AAClD,8DAAgD;AAChD,mDAMyB;AACzB,iDAIwB;AACxB,wDAA0C;AAE1C,6CAA+B;AAkB/B,KAAK,UAAU,gBAAgB,CAC7B,SAAe,EACf,MAA0B,EAC1B,KAAuC,EACvC,KAAwB,EACxB,mBAAuC,EACvC,iBAAsD,EACtD,mBAA4B,EAC5B,gBAA0D,EAC1D,MAAc;IAEd,MAAM,MAAM,GAAG,IAAA,gCAAgB,EAAC,KAAK,EAAE,KAAK,EAAE,wBAAwB,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,OAAO,EAClB,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EACjC,MAAM,EACN,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,CACb,CAAC;IACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,MAAM,GAAuB;YACjC,GAAG,gBAAgB;YACnB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;SAC5B,CAAC;QACF,IAAI,MAAM,IAAI,mBAAmB,EAAE,CAAC;YAClC,MAAM,2BAA2B,GAAqC;gBACpE,GAAG,MAAM;gBACT,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;gBACnE,4BAA4B,EAAE,IAAI,CAAC,KAAK,CACtC,MAAM,IAAA,iCAAiB,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAClE;aACF,CAAC;YACF,MAAM,YAAY,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,sBAAsB;IAC7B,OAAO,CACL,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,OAAO;QACxD,CAAC,IAAI,CAAC,YAAY,EAAE,CACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,oBAAQ,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,oBAAQ,CAAC,EAAE,CAAC,CAAC;IACxE,OAAO,CACL,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAC5B,EAAE;aACC,WAAW,CAAC,aAAa,CAAC;aAC1B,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjB;YACE,OAAO;YACP,UAAU;YACV,UAAU;YACV,cAAc;YACd,cAAc;YACd,WAAW;SACZ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACxC,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,8BAA8B,CAAC,MAAc,EAAE,MAAc;IAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CACV,qEAAqE,CACtE,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,IAAA,uBAAa,EAAC,MAAM,EAAE,oBAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,CACV,4EAA4E,CAC7E,CAAC;QACF,OAAO;IACT,CAAC;IACD,mEAAmE;IACnE,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CACV,uFAAuF,CACxF,CAAC;QACF,iGAAiG;QACjG,2DAA2D;QAC3D,IAAI,mCAAmC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvD,MAAM,CAAC,OAAO,CACZ,uKAAuK,CACxK,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,CAAC,KAAK,CACV,6FAA6F,CAC9F,CAAC;IACF,MAAM,IAAA,wBAAY,EAAC,MAAM,EAAE,oBAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,GAAG;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,IAAI,YAAY,GAA6B,SAAS,CAAC;IACvD,IAAI,QAAQ,GAAoC,SAAS,CAAC;IAC1D,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,yBAAyB,GAC3B,SAAS,CAAC;IACZ,IAAI,mBAAmB,GAAuB,SAAS,CAAC;IACxD,IAAI,iBAAiB,GAAwC,SAAS,CAAC;IACvE,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE3D,yEAAyE;IACzE,2CAA2C;IAC3C,oEAAoE;IACpE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACjD,CAAC;IAED,wDAAwD;IACxD,sDAAsD;IACtD,WAAW,CAAC,aAAa,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,OAAO,EAClB,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EACjC,MAAM,CACP,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,YAAY,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,sBAAsB,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,4GAA4G,CAC7G,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,0BAAa,GAAE,CAAC;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CACjC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACxE,MAAM,CACP,CAAC;QAEF,MAAM,aAAa,GAAG,IAAA,+BAAkB,EACtC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAC9C,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,aAAa,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAC3B,aAAa,EACb,aAAa,EACb,WAAW,CAAC,qBAAqB,EAAE,EACnC,MAAM,CACP,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAC/B,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAChE,MAAM,CACP,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACzD,MAAM,gBAAgB,GACpB,YAAY;YACZ,CAAC,MAAM,IAAA,mCAAyB,EAC9B,YAAY,CAAC,IAAI,CAAC,GAAa,EAC/B,YAAY,CAAC,IAAI,CAAC,KAAe,EACjC,MAAM,EACN,MAAM,EACN,QAAQ,CACT,CAAC,CAAC;QAEL,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErD,iBAAiB,GAAG,MAAM,IAAA,qBAAW,EACnC,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,CACP,CAAC;QAEF,MAAM,YAAY,GAChB,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC;QAE5D,IAAI,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;YAC5D,QAAQ,GAAG,MAAM,IAAA,oBAAU,EACzB,SAAS,EACT,MAAM,EACN,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,EACrE,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACxC,MAAM,EACN,MAAM,EACN,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAA,oBAAU,EAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,WAAW,GAA+B,EAAE,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,QAAQ,IAAI,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrE,YAAY,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,SAAS,EACT,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC7C,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACxC,QAAQ,EACR,MAAM,CACP,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAED,0DAA0D;QAC1D,MAAM,IAAA,iCAAe,EAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEjE,mDAAmD;QACnD,MAAM,wBAAwB,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QACnD,mBAAmB,GAAG,MAAM,IAAA,+BAAgB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,mBAAmB,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAC;QAEnE,uBAAuB;QACvB,yBAAyB,GAAG,MAAM,IAAA,gCAAiB,EACjD,MAAM,EACN,QAAQ,EACR,MAAM,CACP,CAAC;QAEF,8DAA8D;QAC9D,IAAI,IAAA,gCAAgB,EAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACtD,MAAM,IAAA,2CAAsB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,qEAAqE;QACrE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACpE,CAAC;aAAM,IACL,YAAY,KAAK,SAAS;YAC1B,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,MAAM,EAC9D,CAAC;YACD,MAAM,SAAS,CAAC,iBAAiB,CAC/B,IAAA,+BAAkB,EAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,EACjE,YAAY,CAAC,OAAO,EACpB,IAAA,0BAAgB,GAAE,CACnB,CAAC;QACJ,CAAC;QACD,sEAAsE;QACtE,IAAI,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,CACZ,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC7C,IACE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,MAAM;YACvD,sBAAsB,EAAE,EACxB,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN,KAAK,YAAY,6BAAmB;YAClC,CAAC,CAAC,KAAK,CAAC,mBAAmB;YAC3B,CAAC,CAAC,SAAS,EACb,KAAK,YAAY,6BAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAC1D,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN;YACE,GAAG,QAAQ;YACX,GAAG,YAAY,CAAC,YAAY;SAC7B,EACD,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN,EAAE,GAAG,QAAQ,EAAE,EACf,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,CACpB,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAEY,QAAA,UAAU,GAAG,GAAG,EAAE,CAAC;AAEhC,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,kBAAU,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,0BAA0B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/lib/analyze.js b/lib/analyze.js index 909e930c48..09cba94029 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -375,20 +375,21 @@ extensions: return diffRangeDir; } // Runs queries and creates sarif files in the given folder -async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, diffRangePackDir, automationDetailsId, config, logger, features) { +async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, cleanupLevel, diffRangePackDir, automationDetailsId, config, logger, features) { const statusReport = {}; + const queryFlags = [memoryFlag, threadsFlag]; + if (cleanupLevel !== "overlay") { + queryFlags.push("--expect-discarded-cache"); + } statusReport.analysis_is_diff_informed = diffRangePackDir !== undefined; - const dataExtensionFlags = diffRangePackDir - ? [ - `--additional-packs=${diffRangePackDir}`, - "--extension-packs=codeql-action/pr-diff-range", - ] - : []; + if (diffRangePackDir) { + queryFlags.push(`--additional-packs=${diffRangePackDir}`); + queryFlags.push("--extension-packs=codeql-action/pr-diff-range"); + } const sarifRunPropertyFlag = diffRangePackDir ? "--sarif-run-property=incrementalMode=diff-informed" : undefined; const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd); - const queryFlags = [memoryFlag, threadsFlag, ...dataExtensionFlags]; for (const language of config.languages) { try { const sarifFile = path.join(sarifFolder, `${language}.sarif`); diff --git a/lib/analyze.js.map b/lib/analyze.js.map index 63c436f0ae..a48a848386 100644 --- a/lib/analyze.js.map +++ b/lib/analyze.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4IA,sCAmCC;AAcD,sCAiBC;AAkDD,8DAgCC;AAiQD,gCA0IC;AAED,kCA8BC;AAED,gEA2CC;AAED,gCAYC;AAtwBD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAyC;AAEzC,gDAAkC;AAClC,8CAAsB;AACtB,8CAAgC;AAEhC,4DAA8C;AAC9C,6CAA4C;AAC5C,2CAAgD;AAChD,qCAA6C;AAE7C,+CAA8D;AAC9D,iEAGgC;AAChC,+CAAuC;AACvC,mDAA6D;AAC7D,2CAA0D;AAC1D,uCAAmD;AAEnD,qDAAgD;AAChD,mDAAuD;AACvD,6CAAuD;AACvD,6CAA+B;AAC/B,iCAAmC;AAEnC,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACS,mBAAwC,EACxC,OAAe,EACf,KAAY;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAO;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AATD,kDASC;AAwFD,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,+FAA+F;QAC/F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iSAAiS;QAC/R,mPAAmP,CACtP,CAAC;IACF,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,KAAK,CACV,gBAAgB,QAAQ,mDAAmD,CAC5E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,oBAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,6BAAY,CAAC,wBAAwB,CAAC,CAAC,EACrE,CAAC;gBACD,IACE,QAAQ,KAAK,oBAAQ,CAAC,GAAG;oBACzB,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EACxC,CAAC;oBACD,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA0B,EAC1B,QAAkB;IAElB,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI;QACnC,CAAC,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS;YACvC,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,IAAA,6BAAiB,EAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA0B,EAC1B,QAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;QAC9B,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CACZ,wCAAwC,QAAQ,qCAAqC,CACtF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAc,EACd,MAA0B,EAC1B,WAAmB,EACnB,UAAkB,EAClB,MAAc;IAEd,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,sFAAsF,CAC5I,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,gBAAgB,CAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,WAAW,EACX,UAAU,EACV,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,OAAO;QACL,uCAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnE,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,QAA2B;IAE3B,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,IAAA,wBAAc,EACzB,sCAAsC,EACtC,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,8BAA8B,CACrD,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CACZ,qEAAqE;gBACnE,wCAAwC,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CACZ,2DAA2D;YACzD,IAAI,SAAS,CAAC,MAAM,sCAAsC,CAC7D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,OAAO,MAAM,SAAS,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,GAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CACzE;YACE,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,CAAC;SACZ,CACF,CAAC;QACF,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;YACtD,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,yBAAyB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;gBACtD,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACtD,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACjE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,MAAc;IAEd,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI;SAClB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACtE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC3B,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,yEAAyE;YACzE,gDAAgD;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;aACX;SACF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,4EAA4E;IAC5E,IAAI,sBAAsB,GAAuB,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,kDAAkD;IAClD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,iDAAiD;YACjD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACzC,sBAAsB,GAAG,WAAW,CAAC;YACvC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,wEAAwE;YACxE,wBAAwB;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,WAAW,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,yDAAyD;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CACZ,qCAAqC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CACtE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,MAAc,EACd,MAAoC;IAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,eAAe,CAChB,CAAC;IACF,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC;;;;;;;;CAQH,CACE,CAAC;IAEF,MAAM,MAAM,GAAG;;;;;;CAMhB,CAAC;IAEA,IAAI,IAAI,GAAG,MAAM;SACd,GAAG,CACF,CAAC,KAAK,EAAE,EAAE;IACR,sEAAsE;IACtE,oEAAoE;IACpE,kCAAkC;IAClC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI;QACnE,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,CAC5C;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,GAAG,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CACV,yCAAyC,iBAAiB,MAAM,iBAAiB,EAAE,CACpF,CAAC;IAEF,+EAA+E;IAC/E,qBAAqB;IACrB,IAAA,8CAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,2DAA2D;AACpD,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,UAAkB,EAClB,eAAuB,EACvB,WAAmB,EACnB,gBAAoC,EACpC,mBAAuC,EACvC,MAA0B,EAC1B,MAAc,EACd,QAA2B;IAE3B,MAAM,YAAY,GAAwB,EAAE,CAAC;IAE7C,YAAY,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,SAAS,CAAC;IACxE,MAAM,kBAAkB,GAAG,gBAAgB;QACzC,CAAC,CAAC;YACE,sBAAsB,gBAAgB,EAAE;YACxC,+CAA+C;SAChD;QACH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,CAAC;IAEpE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;YAE9D,+CAA+C;YAC/C,oDAAoD;YACpD,oDAAoD;YACpD,oCAAoC;YACpC,MAAM,CAAC,UAAU,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAC;YAC1D,6EAA6E;YAC7E,gDAAgD;YAChD,YAAY,CAAC,2BAA2B,QAAQ,cAAc,CAAC;gBAC7D,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC;YAE7C,MAAM,CAAC,UAAU,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3C,YAAY,CAAC,qBAAqB,QAAQ,cAAc,CAAC;gBACvD,uBAAuB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAEtE,MAAM,6BAA6B,GAAgB;oBACjD,KAAK,EAAE,mCAAmC;oBAC1C,UAAU,EAAE,yBAAyB,CAAC,WAAW,EAAE;oBACnD,YAAY,EAAE,uBAAuB,CAAC,WAAW,EAAE;oBACnD,WAAW,EAAE,SAAS;oBACtB,QAAQ;oBACR,UAAU,EAAE;wBACV,WAAW,EAAE,mBAAmB;qBACjC;iBACF,CAAC;gBAEF,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACjD,MAAM,IAAI,mBAAmB,CAC3B,YAAY,EACZ,8BAA8B,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;IAEpB,KAAK,UAAU,mBAAmB,CAChC,QAAkB,EAClB,OAA6B,EAC7B,SAAiB,EACjB,kBAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAC1C,YAAY,EACZ,OAAO,EACP,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,GAAW;QAEX,IAAA,oCAAuB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CACjB,CAAC;QACpB,iGAAiG;QAEjG,yCAAyC;QACzC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;QAEvD,uDAAuD;QACvD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACV,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,IAAA,aAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,CACP,CAAC;IAEF,wEAAwE;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvE,MAAM,IAAA,oCAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,MAA0B,EAC1B,MAAc;IAEd,gHAAgH;IAChH,mHAAmH;IACnH,sDAAsD;IACtD,gHAAgH;IAChH,mHAAmH;IACnH,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,kBAAkB,CAAC,CAAC;IAE1D,IACE,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;QACnD,UAAU,KAAK,SAAS,EACxB,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CACZ,mCAAmC,UAAU,aAAa,YAAY,+GAA+G,CACtL,CAAC;YAEF,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,4CAA4C,EAC5C,gEAAgE,EAChE;gBACE,eAAe,EACb,sIAAsI;gBACxI,UAAU,EAAE;oBACV,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,IAAI;iBACtB;gBACD,QAAQ,EAAE,SAAS;aACpB,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,YAAoB,EACpB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,aAAa;CACd,CAAC"} \ No newline at end of file +{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4IA,sCAmCC;AAcD,sCAiBC;AAkDD,8DAgCC;AAiQD,gCA6IC;AAED,kCA8BC;AAED,gEA2CC;AAED,gCAYC;AAzwBD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAyC;AAEzC,gDAAkC;AAClC,8CAAsB;AACtB,8CAAgC;AAEhC,4DAA8C;AAC9C,6CAA4C;AAC5C,2CAAgD;AAChD,qCAA6C;AAE7C,+CAA8D;AAC9D,iEAGgC;AAChC,+CAAuC;AACvC,mDAA6D;AAC7D,2CAA0D;AAC1D,uCAAmD;AAEnD,qDAAgD;AAChD,mDAAuD;AACvD,6CAAuD;AACvD,6CAA+B;AAC/B,iCAAmC;AAEnC,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACS,mBAAwC,EACxC,OAAe,EACf,KAAY;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAO;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AATD,kDASC;AAwFD,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,+FAA+F;QAC/F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iSAAiS;QAC/R,mPAAmP,CACtP,CAAC;IACF,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,KAAK,CACV,gBAAgB,QAAQ,mDAAmD,CAC5E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,oBAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,6BAAY,CAAC,wBAAwB,CAAC,CAAC,EACrE,CAAC;gBACD,IACE,QAAQ,KAAK,oBAAQ,CAAC,GAAG;oBACzB,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EACxC,CAAC;oBACD,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA0B,EAC1B,QAAkB;IAElB,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI;QACnC,CAAC,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS;YACvC,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,IAAA,6BAAiB,EAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA0B,EAC1B,QAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;QAC9B,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CACZ,wCAAwC,QAAQ,qCAAqC,CACtF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAc,EACd,MAA0B,EAC1B,WAAmB,EACnB,UAAkB,EAClB,MAAc;IAEd,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,sFAAsF,CAC5I,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,gBAAgB,CAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,WAAW,EACX,UAAU,EACV,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,OAAO;QACL,uCAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnE,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,QAA2B;IAE3B,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,IAAA,wBAAc,EACzB,sCAAsC,EACtC,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,8BAA8B,CACrD,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CACZ,qEAAqE;gBACnE,wCAAwC,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CACZ,2DAA2D;YACzD,IAAI,SAAS,CAAC,MAAM,sCAAsC,CAC7D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,OAAO,MAAM,SAAS,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,GAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CACzE;YACE,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,CAAC;SACZ,CACF,CAAC;QACF,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;YACtD,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,yBAAyB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;gBACtD,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACtD,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACjE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,MAAc;IAEd,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI;SAClB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACtE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC3B,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,yEAAyE;YACzE,gDAAgD;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;aACX;SACF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,4EAA4E;IAC5E,IAAI,sBAAsB,GAAuB,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,kDAAkD;IAClD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,iDAAiD;YACjD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACzC,sBAAsB,GAAG,WAAW,CAAC;YACvC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,wEAAwE;YACxE,wBAAwB;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,WAAW,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,yDAAyD;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CACZ,qCAAqC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CACtE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,MAAc,EACd,MAAoC;IAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,eAAe,CAChB,CAAC;IACF,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC;;;;;;;;CAQH,CACE,CAAC;IAEF,MAAM,MAAM,GAAG;;;;;;CAMhB,CAAC;IAEA,IAAI,IAAI,GAAG,MAAM;SACd,GAAG,CACF,CAAC,KAAK,EAAE,EAAE;IACR,sEAAsE;IACtE,oEAAoE;IACpE,kCAAkC;IAClC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI;QACnE,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,CAC5C;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,GAAG,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CACV,yCAAyC,iBAAiB,MAAM,iBAAiB,EAAE,CACpF,CAAC;IAEF,+EAA+E;IAC/E,qBAAqB;IACrB,IAAA,8CAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,2DAA2D;AACpD,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,UAAkB,EAClB,eAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,gBAAoC,EACpC,mBAAuC,EACvC,MAA0B,EAC1B,MAAc,EACd,QAA2B;IAE3B,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,SAAS,CAAC;IACxE,IAAI,gBAAgB,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;YAE9D,+CAA+C;YAC/C,oDAAoD;YACpD,oDAAoD;YACpD,oCAAoC;YACpC,MAAM,CAAC,UAAU,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAC;YAC1D,6EAA6E;YAC7E,gDAAgD;YAChD,YAAY,CAAC,2BAA2B,QAAQ,cAAc,CAAC;gBAC7D,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC;YAE7C,MAAM,CAAC,UAAU,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3C,YAAY,CAAC,qBAAqB,QAAQ,cAAc,CAAC;gBACvD,uBAAuB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAEtE,MAAM,6BAA6B,GAAgB;oBACjD,KAAK,EAAE,mCAAmC;oBAC1C,UAAU,EAAE,yBAAyB,CAAC,WAAW,EAAE;oBACnD,YAAY,EAAE,uBAAuB,CAAC,WAAW,EAAE;oBACnD,WAAW,EAAE,SAAS;oBACtB,QAAQ;oBACR,UAAU,EAAE;wBACV,WAAW,EAAE,mBAAmB;qBACjC;iBACF,CAAC;gBAEF,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACjD,MAAM,IAAI,mBAAmB,CAC3B,YAAY,EACZ,8BAA8B,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;IAEpB,KAAK,UAAU,mBAAmB,CAChC,QAAkB,EAClB,OAA6B,EAC7B,SAAiB,EACjB,kBAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAC1C,YAAY,EACZ,OAAO,EACP,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,GAAW;QAEX,IAAA,oCAAuB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CACjB,CAAC;QACpB,iGAAiG;QAEjG,yCAAyC;QACzC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;QAEvD,uDAAuD;QACvD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACV,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,IAAA,aAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,CACP,CAAC;IAEF,wEAAwE;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvE,MAAM,IAAA,oCAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,MAA0B,EAC1B,MAAc;IAEd,gHAAgH;IAChH,mHAAmH;IACnH,sDAAsD;IACtD,gHAAgH;IAChH,mHAAmH;IACnH,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,kBAAkB,CAAC,CAAC;IAE1D,IACE,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;QACnD,UAAU,KAAK,SAAS,EACxB,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CACZ,mCAAmC,UAAU,aAAa,YAAY,+GAA+G,CACtL,CAAC;YAEF,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,4CAA4C,EAC5C,gEAAgE,EAChE;gBACE,eAAe,EACb,sIAAsI;gBACxI,UAAU,EAAE;oBACV,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,IAAI;iBACtB;gBACD,QAAQ,EAAE,SAAS;aACpB,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,YAAoB,EACpB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,aAAa;CACd,CAAC"} \ No newline at end of file diff --git a/lib/analyze.test.js b/lib/analyze.test.js index ddaf8cfaca..89f0f40695 100644 --- a/lib/analyze.test.js +++ b/lib/analyze.test.js @@ -114,7 +114,7 @@ const util = __importStar(require("./util")); fs.mkdirSync(util.getCodeQLDatabasePath(config, language), { recursive: true, }); - const statusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, undefined, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.QaTelemetryEnabled])); + const statusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, "brutal", undefined, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.QaTelemetryEnabled])); t.deepEqual(Object.keys(statusReport).sort(), [ "analysis_is_diff_informed", `analyze_builtin_queries_${language}_duration_ms`, diff --git a/lib/analyze.test.js.map b/lib/analyze.test.js.map index 1aa1a1b6df..2b57735eaa 100644 --- a/lib/analyze.test.js.map +++ b/lib/analyze.test.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.test.js","sourceRoot":"","sources":["../src/analyze.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAC9C,uCAA2D;AAC3D,qCAAqC;AACrC,mDAA0C;AAC1C,2CAAuC;AACvC,uCAA4C;AAC5C,mDAKyB;AACzB,wDAA0C;AAC1C,6CAA+B;AAE/B,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB;;;;;GAKG;AACH,IAAA,aAAI,EAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,oBAAQ,CAAC,EAAE,CAAC;YAC/C,IAAA,kBAAS,EAAC;gBACR,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;gBAClC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACzC,wBAAwB,EAAE,KAAK,EAC7B,GAAW,EACX,WAAqB,EACrB,SAAiB,EACjB,EAAE;oBACF,EAAE,CAAC,aAAa,CACd,SAAS,EACT,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE;4BACJ,+EAA+E;4BAC/E;gCACE,IAAI,EAAE;oCACJ,UAAU,EAAE;wCACV;4CACE,KAAK,EAAE;gDACL;oDACE,UAAU,EAAE;wDACV,IAAI,EAAE,CAAC,eAAe,CAAC;qDACxB;iDACF;6CACF;yCACF;qCACF;iCACF;gCACD,UAAU,EAAE;oCACV,aAAa,EAAE;wCACb;4CACE,IAAI,EAAE;gDACJ,KAAK,EAAE,CAAC;gDACR,aAAa,EAAE;oDACb,KAAK,EAAE,CAAC;iDACT;6CACF;4CACD,KAAK,EAAE,GAAG;yCACX;qCACF;iCACF;6BACF;4BACD,EAAE;yBACH;qBACF,CAAC,CACH,CAAC;oBACF,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;aACtC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,gCAAgB,EAAC;gBAC9B,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC;aACrD,CAAC,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACzD,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,IAAA,oBAAU,EACnC,MAAM,EACN,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,EACN,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,IAAA,8BAAc,EAAC,CAAC,uBAAO,CAAC,kBAAkB,CAAC,CAAC,CAC7C,CAAC;YACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,2BAA2B;gBAC3B,2BAA2B,QAAQ,cAAc;gBACjD,eAAe;gBACf,qBAAqB,QAAQ,cAAc;aAC5C,CAAC,CAAC;YACH,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,aAAc,EAAE,CAAC;gBACtD,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;gBACpE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,UAAW,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,OAAe,EAAE,KAA2B;IACpE,KAAK;SACF,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACrC,QAAQ,CAAC,eAAe,CAAC;SACzB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,OAAO,4BAAkB,CAAC,aAAa,CACrC;QACE,QAAQ,EAAE,UAAU;QACpB,OAAO;QACP,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;KACzB,EACD,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,IAAA,aAAI,EAAC,+BAA+B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oCAAoC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;SACX;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oDAAoD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gDAAgD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6CAA6C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qCAAqC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,qBAAqB;QACrB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,GAAG;SACb;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sCAAsC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"analyze.test.js","sourceRoot":"","sources":["../src/analyze.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAC9C,uCAA2D;AAC3D,qCAAqC;AACrC,mDAA0C;AAC1C,2CAAuC;AACvC,uCAA4C;AAC5C,mDAKyB;AACzB,wDAA0C;AAC1C,6CAA+B;AAE/B,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB;;;;;GAKG;AACH,IAAA,aAAI,EAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,oBAAQ,CAAC,EAAE,CAAC;YAC/C,IAAA,kBAAS,EAAC;gBACR,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;gBAClC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACzC,wBAAwB,EAAE,KAAK,EAC7B,GAAW,EACX,WAAqB,EACrB,SAAiB,EACjB,EAAE;oBACF,EAAE,CAAC,aAAa,CACd,SAAS,EACT,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE;4BACJ,+EAA+E;4BAC/E;gCACE,IAAI,EAAE;oCACJ,UAAU,EAAE;wCACV;4CACE,KAAK,EAAE;gDACL;oDACE,UAAU,EAAE;wDACV,IAAI,EAAE,CAAC,eAAe,CAAC;qDACxB;iDACF;6CACF;yCACF;qCACF;iCACF;gCACD,UAAU,EAAE;oCACV,aAAa,EAAE;wCACb;4CACE,IAAI,EAAE;gDACJ,KAAK,EAAE,CAAC;gDACR,aAAa,EAAE;oDACb,KAAK,EAAE,CAAC;iDACT;6CACF;4CACD,KAAK,EAAE,GAAG;yCACX;qCACF;iCACF;6BACF;4BACD,EAAE;yBACH;qBACF,CAAC,CACH,CAAC;oBACF,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;aACtC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,gCAAgB,EAAC;gBAC9B,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC;aACrD,CAAC,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACzD,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,IAAA,oBAAU,EACnC,MAAM,EACN,UAAU,EACV,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,IAAA,8BAAc,EAAC,CAAC,uBAAO,CAAC,kBAAkB,CAAC,CAAC,CAC7C,CAAC;YACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,2BAA2B;gBAC3B,2BAA2B,QAAQ,cAAc;gBACjD,eAAe;gBACf,qBAAqB,QAAQ,cAAc;aAC5C,CAAC,CAAC;YACH,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,aAAc,EAAE,CAAC;gBACtD,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;gBACpE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,UAAW,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,OAAe,EAAE,KAA2B;IACpE,KAAK;SACF,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACrC,QAAQ,CAAC,eAAe,CAAC;SACzB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,OAAO,4BAAkB,CAAC,aAAa,CACrC;QACE,QAAQ,EAAE,UAAU;QACpB,OAAO;QACP,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;KACzB,EACD,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,IAAA,aAAI,EAAC,+BAA+B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oCAAoC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;SACX;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oDAAoD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gDAAgD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6CAA6C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qCAAqC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE;QACrC,mBAAmB;QACnB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,qBAAqB;QACrB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,GAAG;SACb;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sCAAsC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;QACtB;YACE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/codeql.js b/lib/codeql.js index 035233940f..db41e679ee 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -55,6 +55,7 @@ const environment_1 = require("./environment"); const feature_flags_1 = require("./feature-flags"); const git_utils_1 = require("./git-utils"); const languages_1 = require("./languages"); +const overlay_database_utils_1 = require("./overlay-database-utils"); const setupCodeql = __importStar(require("./setup-codeql")); const tools_features_1 = require("./tools-features"); const tracer_config_1 = require("./tracer-config"); @@ -254,7 +255,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { async supportsFeature(feature) { return (0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), feature); }, - async databaseInitCluster(config, sourceRoot, processName, qlconfigFile, logger) { + async databaseInitCluster(config, sourceRoot, processName, qlconfigFile, overlayDatabaseMode, logger) { const extraArgs = config.languages.map((language) => `--language=${language}`); if (await (0, tracer_config_1.shouldEnableIndirectTracing)(codeql, config)) { extraArgs.push("--begin-tracing"); @@ -290,10 +291,18 @@ async function getCodeQLForCmd(cmd, checkVersion) { const overwriteFlag = (0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), tools_features_1.ToolsFeature.ForceOverwrite) ? "--force-overwrite" : "--overwrite"; + if (overlayDatabaseMode === overlay_database_utils_1.OverlayDatabaseMode.Overlay) { + extraArgs.push("--overlay"); + } + else if (overlayDatabaseMode === overlay_database_utils_1.OverlayDatabaseMode.OverlayBase) { + extraArgs.push("--overlay-base"); + } await runCli(cmd, [ "database", "init", - overwriteFlag, + ...(overlayDatabaseMode === overlay_database_utils_1.OverlayDatabaseMode.Overlay + ? [] + : [overwriteFlag]), "--db-cluster", config.dbLocation, `--source-root=${sourceRoot}`, @@ -458,7 +467,6 @@ async function getCodeQLForCmd(cmd, checkVersion) { "run-queries", ...flags, databasePath, - "--expect-discarded-cache", "--intra-layer-parallelism", "--min-disk-free=1024", // Try to leave at least 1GB free "-v", diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 74a44c1a68..3057ec2963 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkUA,kCAqEC;AAKD,8BAKC;AAyBD,8BAyDC;AAQD,0CAMC;AAOD,kDAIC;AAUD,0CAmlBC;AAqDD,0CAeC;AAsFD,8EASC;AAED,4FAYC;AAOD,gFAEC;AAnxCD,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AACtC,yEAA2D;AAC3D,8CAAgC;AAEhC,iDAKwB;AAExB,6CAAmE;AAEnE,uCAAmC;AACnC,+CAAuC;AACvC,mDAIyB;AACzB,2CAAuD;AACvD,2CAAuC;AAEvC,4DAA8C;AAG9C,qDAAyE;AACzE,mDAA8D;AAC9D,6CAA+B;AAC/B,iCAAiE;AAsOjE;;;GAGG;AACH,IAAI,YAAY,GAAuB,SAAS,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAExC;;GAEG;AACH,MAAM,2BAA2B,GAAG,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,qCAAqC,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,iCAAiC,GAAG,YAAY,CAAC;AAEvD,mEAAmE;AACnE,MAAM,+BAA+B,GAAG,YAAY,CAAC;AAErD;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,WAAW,CAC/B,UAA8B,EAC9B,UAAgC,EAChC,OAAe,EACf,OAA2B,EAC3B,iBAA2C,EAC3C,MAAc,EACd,QAA2B,EAC3B,YAAqB;IAQrB,IAAI,CAAC;QACH,MAAM,EACJ,YAAY,EACZ,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,GAAG,MAAM,WAAW,CAAC,iBAAiB,CACrC,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,KAAK,CACV,kCAAkC,IAAI,CAAC,SAAS,CAC9C,yBAAyB,CAC1B,EAAE,CACJ,CAAC;QAEF,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,SAAS,IAAI,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,yBAAyB,OAAO,CAAC,QAAQ,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,YAAY,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,yBAAyB;YACzB,WAAW;YACX,YAAY;YACZ,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GACd,CAAC,YAAY,IAAI,CAAC,kBAAkB;YACpC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;YACvE,CAAC,CAAC,IAAI,CAAC,kBAAkB;YACzB,CAAC,CAAC,KAAK,CAAC;QAEZ,MAAM,IAAI,UAAU,CAClB,8CAA8C,IAAA,sBAAe,EAAC,CAAC,CAAC,GAC9D,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAC9D,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CACtB,aAA8B,EAC9B,UAAkB,EAClB,qBAAyB;IAEzB,IAAI,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;QACpD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,+BAA+B,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,OAAO,WAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,aAAa,CAAC,UAAU,CAAM,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,aAA8B;IACtD,YAAY,GAAG;QACb,OAAO,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC;QAC3E,UAAU,EAAE,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,eAAe,EAAE,eAAe,CAC9B,aAAa,EACb,iBAAiB,EACjB,KAAK,EAAE,OAAO,EAAE,EAAE,CAChB,CAAC,CAAC,aAAa,CAAC,UAAU;YAC1B,IAAA,wCAAuB,EAAC,MAAM,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CACrE;QACD,mBAAmB,EAAE,eAAe,CAAC,aAAa,EAAE,qBAAqB,CAAC;QAC1E,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,sBAAsB,EAAE,eAAe,CACrC,aAAa,EACb,wBAAwB,CACzB;QACD,qBAAqB,EAAE,eAAe,CACpC,aAAa,EACb,uBAAuB,CACxB;QACD,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,sBAAsB,EAAE,eAAe,CACrC,aAAa,EACb,wBAAwB,EACxB,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAC9C;QACD,cAAc,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAChE,uBAAuB,EAAE,eAAe,CACtC,aAAa,EACb,yBAAyB,CAC1B;QACD,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,eAAe,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC;QAClE,cAAc,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAChE,kBAAkB,EAAE,eAAe,CAAC,aAAa,EAAE,oBAAoB,CAAC;QACxE,wBAAwB,EAAE,eAAe,CACvC,aAAa,EACb,0BAA0B,CAC3B;QACD,qBAAqB,EAAE,eAAe,CACpC,aAAa,EACb,uBAAuB,CACxB;QACD,yBAAyB,EAAE,eAAe,CACxC,aAAa,EACb,2BAA2B,CAC5B;QACD,iBAAiB,EAAE,eAAe,CAAC,aAAa,EAAE,mBAAmB,CAAC;QACtE,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;KAC7D,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,yEAAyE;QACzE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACvC,GAAG,GAAG,oBAAoB;IAE1B,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,YAAqB;IAErB,MAAM,MAAM,GAAW;QACrB,OAAO;YACL,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,CAAC,UAAU;YACd,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;oBAC7D,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAgB,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,KAAK,CACT,uDAAuD,MAAM,EAAE,CAChE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,OAAqB;YACzC,OAAO,IAAA,wCAAuB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,mBAAmB,CACvB,MAAc,EACd,UAAkB,EAClB,WAA+B,EAC/B,YAAgC,EAChC,MAAc;YAEd,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CACpC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,QAAQ,EAAE,CACvC,CAAC;YACF,IAAI,MAAM,IAAA,2CAA2B,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBACtD,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iCAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrE,SAAS,CAAC,IAAI,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,wFAAwF;gBACxF,uFAAuF;gBACvF,kFAAkF;gBAClF,4FAA4F;gBAC5F,0FAA0F;gBAC1F,gDAAgD;gBAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACzD,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;oBACtE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,MAAM,sBAAsB,GAAG,MAAM,0BAA0B,CAC7D,MAAM,EACN,MAAM,CACP,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAA,+BAAgB,EAC9C,2BAA2B,CAC5B,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,yBAAyB,sBAAsB,EAAE,CAAC,CAAC;YAClE,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YAED,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,6BAAY,CAAC,eAAe,CAAC,CAAC,EAC1D,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,aAAa,GAAG,IAAA,wCAAuB,EAC3C,MAAM,IAAI,CAAC,UAAU,EAAE,EACvB,6BAAY,CAAC,cAAc,CAC5B;gBACC,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,aAAa,CAAC;YAElB,MAAM,MAAM,CACV,GAAG,EACH;gBACE,UAAU;gBACV,MAAM;gBACN,aAAa;gBACb,cAAc;gBACd,MAAM,CAAC,UAAU;gBACjB,iBAAiB,UAAU,EAAE;gBAC7B,wCAAwC;gBACxC,6BAA6B;gBAC7B,6BAA6B;gBAC7B,GAAG,SAAS;gBACZ,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;oBAC9C,eAAe,EAAE,CAAC,aAAa,CAAC;iBACjC,CAAC;aACH,EACD,EAAE,KAAK,EAAE,uBAAuB,EAAE,CACnC,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAkB;YACnD,sCAAsC,EAAE,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,OAAO,EACP,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAChE,CAAC;YAEF,qEAAqE;YACrE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,aAAa,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,aAAa,CAAC,IAAI,+BAA+B,CAAC;YACzE,CAAC;YAED,wEAAwE;YACxE,8CAA8C;YAC9C,wEAAwE;YACxE,+EAA+E;YAC/E,kFAAkF;YAClF,mDAAmD;YAEnD,iDAAiD;YACjD,6EAA6E;YAC7E,uEAAuE;YACvE,oEAAoE;YACpE,qEAAqE;YACrE,4DAA4D;YAC5D,gDAAgD;YAChD,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,QAAkB;YAC7D,MAAM,MAAM,CAAC,GAAG,EAAE;gBAChB,UAAU;gBACV,eAAe;gBACf,uBAAuB;gBACvB,GAAG,CAAC,MAAM,wCAAwC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACrE,GAAG,+BAA+B,CAAC,MAAM,CAAC,SAAS,CAAC;gBACpD,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,QAAkB;YAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EAAE,CAAC;gBAC7C,sCAAsC,EAAE,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,GAAG,EAAE;oBAChB,UAAU;oBACV,eAAe;oBACf,kBAAkB;oBAClB,eAAe;oBACf,OAAO,CAAC,GAAG,EAAE;oBACb,GAAG,CAAC,MAAM,wCAAwC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACrE,GAAG,+BAA+B,CAAC,MAAM,CAAC,SAAS,CAAC;oBACpD,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBACxD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;iBAC7C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EAAE,CAAC;oBAC7C,MAAM,MAAM,GACV,mDAAmD;wBACnD,mFAAmF;wBACnF,yBAAyB,gBAAM,CAAC,sBAAsB,wBAAwB,CAAC;oBACjF,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAM,IAAI,IAAA,sBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,CAAC,gBAAgB,CACpB,YAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,kBAA2B;YAE3B,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,UAAU;gBACV,oBAAoB;gBACpB,WAAW;gBACX,UAAU;gBACV,GAAG,+BAA+B,CAAC,kBAAkB,CAAC;gBACtD,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACnD,YAAY;aACb,CAAC;YACF,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,gBAAgB;YACpB,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAA2B,CAAC;YACtD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,oDAAoD,CAAC,EAAE,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,sBAAsB;YAC1B,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,WAAW;gBACX,qBAAqB;gBACrB,iCAAiC;gBACjC,6BAA6B;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAiC,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,6EAA6E,CAAC,EAAE,CACjF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,cAAc,CAClB,OAAiB,EACjB,eAAmC;YAEnC,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,SAAS;gBACT,GAAG,OAAO;gBACV,qBAAqB;gBACrB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClD,CAAC;YACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAyB,CAAC;YACpD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,KAAK,CAAC,uBAAuB,CAC3B,UAA8B,EAC9B,QAAgB;YAEhB,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,mBAAmB;gBACnB,cAAc,QAAQ,EAAE;gBACxB,6BAA6B;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;aAC5D,CAAC;YACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAkC,CAAC;YAC7D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4DAA4D,CAAC,QAAQ,MAAM,EAAE,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,kBAAkB,CACtB,YAAoB,EACpB,KAAe;YAEf,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,aAAa;gBACb,GAAG,KAAK;gBACR,YAAY;gBACZ,0BAA0B;gBAC1B,2BAA2B;gBAC3B,sBAAsB,EAAE,iCAAiC;gBACzD,IAAI;gBACJ,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE;oBACrD,eAAe,EAAE,CAAC,0BAA0B,CAAC;iBAC9C,CAAC;aACH,CAAC;YACF,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,wBAAwB,CAC5B,YAAoB,EACpB,eAAqC,EACrC,SAAiB,EACjB,eAAuB,EACvB,WAAmB,EACnB,aAAqB,EACrB,oBAAwC,EACxC,mBAAuC,EACvC,MAAc,EACd,QAA2B;YAE3B,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,QAAQ,CACrD,uBAAO,CAAC,wBAAwB,EAChC,IAAI,CACL,CAAC;YACF,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,mBAAmB;gBACnB,WAAW;gBACX,uBAAuB;gBACvB,aAAa;gBACb,YAAY,SAAS,EAAE;gBACvB,eAAe;gBACf,6BAA6B;gBAC7B,yBAAyB;gBACzB,gCAAgC;gBAChC,+BAA+B,kCAAkC,CAC/D,MAAM,CACP,EAAE;gBACH,6BAA6B;gBAC7B,mCAAmC;gBACnC,6BAA6B;gBAC7B,GAAG,CAAC,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAC1C,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;aAC7D,CAAC;YACF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,IACE,CAAC,IAAA,wCAAuB,EACtB,MAAM,IAAI,CAAC,UAAU,EAAE,EACvB,6BAAY,CAAC,0BAA0B,CACxC,EACD,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACtC,CAAC;YACD,0FAA0F;YAC1F,mCAAmC;YACnC,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE;gBACnC,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,qBAAqB,CAAC,YAAoB;YAC9C,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,gBAAgB;gBAChB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACzD,YAAY;aACb,CAAC;YACF,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,YAAY,CAChB,KAAe,EACf,YAAgC;YAEhC,MAAM,WAAW,GAAG,YAAY;gBAC9B,CAAC,CAAC,CAAC,mBAAmB,YAAY,EAAE,CAAC;gBACrC,CAAC,CAAE,EAAe,CAAC;YAErB,MAAM,UAAU,GAAG;gBACjB,MAAM;gBACN,UAAU;gBACV,GAAG,WAAW;gBACd,eAAe;gBACf,uBAAuB;gBACvB,GAAG,sBAAsB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,GAAG,KAAK;aACT,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,MAAM,YAAY,GAAuB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5D,IACE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;oBACjC,8EAA8E;oBAC9E,oEAAoE;oBACpE,mEAAmE;oBACnE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAC1D,CAAC;oBACD,OAAO,YAAY,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4DAA4D,MAAM,KAAK,CAAC,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,YAAoB;YAEpB,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CACvD,IAAI,EACJ,4BAA4B,CAC7B,CAAC;gBACA,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,QAAQ,CAAC;YACb,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,SAAS;gBACT,YAAY;gBACZ,GAAG,gBAAgB,IAAI,YAAY,EAAE;gBACrC,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aACnD,CAAC;YACF,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,cAAsB,EACtB,YAAoB;YAEpB,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,YAAY,cAAc,EAAE;gBAC5B,UAAU,YAAY,EAAE;gBACxB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClD,CAAC;YACF,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,yBAAyB,CAC7B,YAAoB,EACpB,SAAiB,EACjB,mBAAuC;YAEvC,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,oBAAoB;gBACpB,GAAG,YAAY,EAAE;gBACjB,cAAc,EAAE,6EAA6E;gBAC7F,uBAAuB;gBACvB,YAAY,SAAS,EAAE;gBACvB,6BAA6B,EAAE,kEAAkE;gBACjG,MAAM;gBACN,GAAG,sBAAsB,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;aACrD,CAAC;YACF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,iBAAiB,CACrB,SAAiB,EACjB,mBAAuC,EACvC,MAAc;YAEd,MAAM,IAAI,GAAG;gBACX,aAAa;gBACb,QAAQ;gBACR,uBAAuB;gBACvB,YAAY,SAAS,EAAE;gBACvB,+BAA+B,kCAAkC,CAC/D,MAAM,CACP,EAAE;gBACH,GAAG,sBAAsB,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;aACrD,CAAC;YACF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,QAAkB;YACvC,8FAA8F;YAC9F,WAAW;YACX,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,UAAU,CAAC,UAAU,CAC7B,GAAG,EACH;gBACE,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,cAAc,QAAQ,EAAE;gBACxB,6BAA6B;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,EACD;gBACE,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACf,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,CAAC;oBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;iBACF;aACF,CACF,CAAC,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAW,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,YAAY,CAChB,UAAoB,EACpB,UAAkB,EAClB,EACE,0BAA0B,GAAG,KAAK,GACO;YAE3C,MAAM,IAAI,GAAG;gBACX,QAAQ;gBACR,eAAe;gBACf,UAAU;gBACV,UAAU;gBACV,GAAG,sBAAsB,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;aACvD,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,0BAA0B,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;IACF,wEAAwE;IACxE,4EAA4E;IAC5E,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,6EAA6E;IAC7E,4BAA4B;IAC5B,IACE,YAAY;QACZ,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,EAClE,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,+CAA+C,sBAAsB,oBACnE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAC9B,EAAE,CACH,CAAC;IACJ,CAAC;SAAM,IACL,YAAY;QACZ,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,gCAAgC,CAAC,KAAK,MAAM;QAC/D,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,EACvE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CACV,sBAAsB,MAAM,CAAC,OAAO,uBAAuB;YACzD,GAAG,iCAAiC,sCAAsC;YAC1E,GAAG,qCAAqC,+CAA+C;YACvF,oEAAoE;YACpE,GAAG,2BAA2B,0DAA0D;YACxF,uFAAuF;YACvF,uCAAuC;YACvC,kEAAkE;YAClE,GAAG,MAAM,CAAC,OAAO,8CACf,IAAA,+BAAgB,GAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACjC,iCAAiC,IAAA,+BAAgB,GAAE,sCAAsC;YACzF,mDAAmD,CACtD,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,KAAe,EACf,EAAE,eAAe,KAAqC,EAAE;IAExD,MAAM,OAAO,GAAiB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC7D,OAAO,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAC/C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAY,EAAE,QAAkB;IACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,0BAA0B,QAAQ,CAAC,IAAI,CACjD,GAAG,CACJ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,yBAAyB,QAAQ,CAAC,IAAI,CAChD,GAAG,CACJ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,OAAY,EACZ,KAAe,EACf,QAAkB;IAElB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GACZ,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;QACnC,CAAC,CAAC,eAAe,CACb,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAC;IACR,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,GAAW,EACX,OAAiB,EAAE,EACnB,OAAqD,EAAE;IAEvD,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,sBAAO,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,qCAAsB,EAAE,CAAC;YACxC,MAAM,IAAA,sCAAyB,EAAC,IAAI,qBAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAc,EACd,MAAc;IAEd,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAE1E,kCAAkC;IAClC,MAAM,eAAe,GAAG,IAAA,kBAAW,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE9D,oCAAoC;IACpC,IAAI,MAAM,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,MAAM,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,CAAC;YACvD,eAAe,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAC9D,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC;QACvE,CAAC;IACH,CAAC;IACD,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,CAAC;YACrD,yEAAyE;YACzE,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,eAAe,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,MAAM,CAAC,sBAAsB,CAAC,UAAU,CACzC,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBAClC,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,iFAAiF;gBACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,KAAK,CACrD,QAAQ,CACT,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;QACnE,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,eAAe,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI,CACT,gDAAgD,sBAAsB,EAAE,CACzE,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,4CAA4C,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAElB,EAAE,CAAC,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACrE,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,+DAA+D;AAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEzB,KAAK,UAAU,iCAAiC,CACrD,MAAc;IAEd,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS;QACrC,MAAM,CAAC,IAAI,CACT,MAAM,wCAAwC,CAAC,MAAM,EAAE,QAAQ,CAAC,CACjE,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAEM,KAAK,UAAU,wCAAwC,CAC5D,MAAc,EACd,QAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,IAAA,oCAAwB,GAAE,CAAC;IAC/C,OAAO;QACL,MAAM,QAAQ,mBAAmB,QAAQ,EAAE;QAC3C,MAAM,QAAQ,qBAAqB,kBAAkB,EAAE;QACvD,MAAM,QAAQ,qBAAqB,KAAK,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,kCAAkC,CAAC,MAAc;IAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,+BAA+B,CACtC,kBAA2B;IAE3B,OAAO,kBAAkB;QACvB,CAAC,CAAC,CAAC,eAAe,+BAA+B,EAAE,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sCAAsC;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG;QACjC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,wBAAwB;QACxB,+BAA+B;KAChC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAc;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,OAAO,UAAU;QACf,CAAC,MAAM,MAAM,CAAC,eAAe,CAC3B,6BAAY,CAAC,gDAAgD,CAC9D,CAAC;QACF,CAAC,CAAC,CAAC,mCAAmC,UAAU,EAAE,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoUA,kCAqEC;AAKD,8BAKC;AAyBD,8BAyDC;AAQD,0CAMC;AAOD,kDAIC;AAUD,0CA2lBC;AAqDD,0CAeC;AAsFD,8EASC;AAED,4FAYC;AAOD,gFAEC;AA7xCD,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AACtC,yEAA2D;AAC3D,8CAAgC;AAEhC,iDAKwB;AAExB,6CAAmE;AAEnE,uCAAmC;AACnC,+CAAuC;AACvC,mDAIyB;AACzB,2CAAuD;AACvD,2CAAuC;AAEvC,qEAA+D;AAC/D,4DAA8C;AAG9C,qDAAyE;AACzE,mDAA8D;AAC9D,6CAA+B;AAC/B,iCAAiE;AAuOjE;;;GAGG;AACH,IAAI,YAAY,GAAuB,SAAS,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAExC;;GAEG;AACH,MAAM,2BAA2B,GAAG,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,qCAAqC,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,iCAAiC,GAAG,YAAY,CAAC;AAEvD,mEAAmE;AACnE,MAAM,+BAA+B,GAAG,YAAY,CAAC;AAErD;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,WAAW,CAC/B,UAA8B,EAC9B,UAAgC,EAChC,OAAe,EACf,OAA2B,EAC3B,iBAA2C,EAC3C,MAAc,EACd,QAA2B,EAC3B,YAAqB;IAQrB,IAAI,CAAC;QACH,MAAM,EACJ,YAAY,EACZ,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,GAAG,MAAM,WAAW,CAAC,iBAAiB,CACrC,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,KAAK,CACV,kCAAkC,IAAI,CAAC,SAAS,CAC9C,yBAAyB,CAC1B,EAAE,CACJ,CAAC;QAEF,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,SAAS,IAAI,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,yBAAyB,OAAO,CAAC,QAAQ,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,YAAY,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,yBAAyB;YACzB,WAAW;YACX,YAAY;YACZ,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GACd,CAAC,YAAY,IAAI,CAAC,kBAAkB;YACpC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;YACvE,CAAC,CAAC,IAAI,CAAC,kBAAkB;YACzB,CAAC,CAAC,KAAK,CAAC;QAEZ,MAAM,IAAI,UAAU,CAClB,8CAA8C,IAAA,sBAAe,EAAC,CAAC,CAAC,GAC9D,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAC9D,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CACtB,aAA8B,EAC9B,UAAkB,EAClB,qBAAyB;IAEzB,IAAI,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;QACpD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,+BAA+B,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,OAAO,WAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,aAAa,CAAC,UAAU,CAAM,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,aAA8B;IACtD,YAAY,GAAG;QACb,OAAO,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC;QAC3E,UAAU,EAAE,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,eAAe,EAAE,eAAe,CAC9B,aAAa,EACb,iBAAiB,EACjB,KAAK,EAAE,OAAO,EAAE,EAAE,CAChB,CAAC,CAAC,aAAa,CAAC,UAAU;YAC1B,IAAA,wCAAuB,EAAC,MAAM,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CACrE;QACD,mBAAmB,EAAE,eAAe,CAAC,aAAa,EAAE,qBAAqB,CAAC;QAC1E,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,sBAAsB,EAAE,eAAe,CACrC,aAAa,EACb,wBAAwB,CACzB;QACD,qBAAqB,EAAE,eAAe,CACpC,aAAa,EACb,uBAAuB,CACxB;QACD,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,sBAAsB,EAAE,eAAe,CACrC,aAAa,EACb,wBAAwB,EACxB,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAC9C;QACD,cAAc,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAChE,uBAAuB,EAAE,eAAe,CACtC,aAAa,EACb,yBAAyB,CAC1B;QACD,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,eAAe,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC;QAClE,cAAc,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAChE,kBAAkB,EAAE,eAAe,CAAC,aAAa,EAAE,oBAAoB,CAAC;QACxE,wBAAwB,EAAE,eAAe,CACvC,aAAa,EACb,0BAA0B,CAC3B;QACD,qBAAqB,EAAE,eAAe,CACpC,aAAa,EACb,uBAAuB,CACxB;QACD,yBAAyB,EAAE,eAAe,CACxC,aAAa,EACb,2BAA2B,CAC5B;QACD,iBAAiB,EAAE,eAAe,CAAC,aAAa,EAAE,mBAAmB,CAAC;QACtE,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;KAC7D,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,yEAAyE;QACzE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACvC,GAAG,GAAG,oBAAoB;IAE1B,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,YAAqB;IAErB,MAAM,MAAM,GAAW;QACrB,OAAO;YACL,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,CAAC,UAAU;YACd,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;oBAC7D,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAgB,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,KAAK,CACT,uDAAuD,MAAM,EAAE,CAChE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,OAAqB;YACzC,OAAO,IAAA,wCAAuB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,mBAAmB,CACvB,MAAc,EACd,UAAkB,EAClB,WAA+B,EAC/B,YAAgC,EAChC,mBAAwC,EACxC,MAAc;YAEd,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CACpC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,QAAQ,EAAE,CACvC,CAAC;YACF,IAAI,MAAM,IAAA,2CAA2B,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBACtD,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iCAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrE,SAAS,CAAC,IAAI,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,wFAAwF;gBACxF,uFAAuF;gBACvF,kFAAkF;gBAClF,4FAA4F;gBAC5F,0FAA0F;gBAC1F,gDAAgD;gBAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACzD,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;oBACtE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,MAAM,sBAAsB,GAAG,MAAM,0BAA0B,CAC7D,MAAM,EACN,MAAM,CACP,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAA,+BAAgB,EAC9C,2BAA2B,CAC5B,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,yBAAyB,sBAAsB,EAAE,CAAC,CAAC;YAClE,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YAED,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,6BAAY,CAAC,eAAe,CAAC,CAAC,EAC1D,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,aAAa,GAAG,IAAA,wCAAuB,EAC3C,MAAM,IAAI,CAAC,UAAU,EAAE,EACvB,6BAAY,CAAC,cAAc,CAC5B;gBACC,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,aAAa,CAAC;YAElB,IAAI,mBAAmB,KAAK,4CAAmB,CAAC,OAAO,EAAE,CAAC;gBACxD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,mBAAmB,KAAK,4CAAmB,CAAC,WAAW,EAAE,CAAC;gBACnE,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,MAAM,CACV,GAAG,EACH;gBACE,UAAU;gBACV,MAAM;gBACN,GAAG,CAAC,mBAAmB,KAAK,4CAAmB,CAAC,OAAO;oBACrD,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBACpB,cAAc;gBACd,MAAM,CAAC,UAAU;gBACjB,iBAAiB,UAAU,EAAE;gBAC7B,wCAAwC;gBACxC,6BAA6B;gBAC7B,6BAA6B;gBAC7B,GAAG,SAAS;gBACZ,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;oBAC9C,eAAe,EAAE,CAAC,aAAa,CAAC;iBACjC,CAAC;aACH,EACD,EAAE,KAAK,EAAE,uBAAuB,EAAE,CACnC,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAkB;YACnD,sCAAsC,EAAE,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,OAAO,EACP,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAChE,CAAC;YAEF,qEAAqE;YACrE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,aAAa,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,aAAa,CAAC,IAAI,+BAA+B,CAAC;YACzE,CAAC;YAED,wEAAwE;YACxE,8CAA8C;YAC9C,wEAAwE;YACxE,+EAA+E;YAC/E,kFAAkF;YAClF,mDAAmD;YAEnD,iDAAiD;YACjD,6EAA6E;YAC7E,uEAAuE;YACvE,oEAAoE;YACpE,qEAAqE;YACrE,4DAA4D;YAC5D,gDAAgD;YAChD,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,QAAkB;YAC7D,MAAM,MAAM,CAAC,GAAG,EAAE;gBAChB,UAAU;gBACV,eAAe;gBACf,uBAAuB;gBACvB,GAAG,CAAC,MAAM,wCAAwC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACrE,GAAG,+BAA+B,CAAC,MAAM,CAAC,SAAS,CAAC;gBACpD,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,QAAkB;YAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EAAE,CAAC;gBAC7C,sCAAsC,EAAE,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,GAAG,EAAE;oBAChB,UAAU;oBACV,eAAe;oBACf,kBAAkB;oBAClB,eAAe;oBACf,OAAO,CAAC,GAAG,EAAE;oBACb,GAAG,CAAC,MAAM,wCAAwC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACrE,GAAG,+BAA+B,CAAC,MAAM,CAAC,SAAS,CAAC;oBACpD,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBACxD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;iBAC7C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EAAE,CAAC;oBAC7C,MAAM,MAAM,GACV,mDAAmD;wBACnD,mFAAmF;wBACnF,yBAAyB,gBAAM,CAAC,sBAAsB,wBAAwB,CAAC;oBACjF,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAM,IAAI,IAAA,sBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,CAAC,gBAAgB,CACpB,YAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,kBAA2B;YAE3B,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,UAAU;gBACV,oBAAoB;gBACpB,WAAW;gBACX,UAAU;gBACV,GAAG,+BAA+B,CAAC,kBAAkB,CAAC;gBACtD,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACnD,YAAY;aACb,CAAC;YACF,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,gBAAgB;YACpB,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAA2B,CAAC;YACtD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,oDAAoD,CAAC,EAAE,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,sBAAsB;YAC1B,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,WAAW;gBACX,qBAAqB;gBACrB,iCAAiC;gBACjC,6BAA6B;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAiC,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,6EAA6E,CAAC,EAAE,CACjF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,cAAc,CAClB,OAAiB,EACjB,eAAmC;YAEnC,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,SAAS;gBACT,GAAG,OAAO;gBACV,qBAAqB;gBACrB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClD,CAAC;YACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAyB,CAAC;YACpD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,KAAK,CAAC,uBAAuB,CAC3B,UAA8B,EAC9B,QAAgB;YAEhB,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,mBAAmB;gBACnB,cAAc,QAAQ,EAAE;gBACxB,6BAA6B;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;aAC5D,CAAC;YACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAkC,CAAC;YAC7D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4DAA4D,CAAC,QAAQ,MAAM,EAAE,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,kBAAkB,CACtB,YAAoB,EACpB,KAAe;YAEf,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,aAAa;gBACb,GAAG,KAAK;gBACR,YAAY;gBACZ,2BAA2B;gBAC3B,sBAAsB,EAAE,iCAAiC;gBACzD,IAAI;gBACJ,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE;oBACrD,eAAe,EAAE,CAAC,0BAA0B,CAAC;iBAC9C,CAAC;aACH,CAAC;YACF,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,wBAAwB,CAC5B,YAAoB,EACpB,eAAqC,EACrC,SAAiB,EACjB,eAAuB,EACvB,WAAmB,EACnB,aAAqB,EACrB,oBAAwC,EACxC,mBAAuC,EACvC,MAAc,EACd,QAA2B;YAE3B,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,QAAQ,CACrD,uBAAO,CAAC,wBAAwB,EAChC,IAAI,CACL,CAAC;YACF,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,mBAAmB;gBACnB,WAAW;gBACX,uBAAuB;gBACvB,aAAa;gBACb,YAAY,SAAS,EAAE;gBACvB,eAAe;gBACf,6BAA6B;gBAC7B,yBAAyB;gBACzB,gCAAgC;gBAChC,+BAA+B,kCAAkC,CAC/D,MAAM,CACP,EAAE;gBACH,6BAA6B;gBAC7B,mCAAmC;gBACnC,6BAA6B;gBAC7B,GAAG,CAAC,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAC1C,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;aAC7D,CAAC;YACF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,IACE,CAAC,IAAA,wCAAuB,EACtB,MAAM,IAAI,CAAC,UAAU,EAAE,EACvB,6BAAY,CAAC,0BAA0B,CACxC,EACD,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACtC,CAAC;YACD,0FAA0F;YAC1F,mCAAmC;YACnC,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE;gBACnC,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,qBAAqB,CAAC,YAAoB;YAC9C,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,gBAAgB;gBAChB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACzD,YAAY;aACb,CAAC;YACF,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,YAAY,CAChB,KAAe,EACf,YAAgC;YAEhC,MAAM,WAAW,GAAG,YAAY;gBAC9B,CAAC,CAAC,CAAC,mBAAmB,YAAY,EAAE,CAAC;gBACrC,CAAC,CAAE,EAAe,CAAC;YAErB,MAAM,UAAU,GAAG;gBACjB,MAAM;gBACN,UAAU;gBACV,GAAG,WAAW;gBACd,eAAe;gBACf,uBAAuB;gBACvB,GAAG,sBAAsB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,GAAG,KAAK;aACT,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,MAAM,YAAY,GAAuB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5D,IACE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;oBACjC,8EAA8E;oBAC9E,oEAAoE;oBACpE,mEAAmE;oBACnE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAC1D,CAAC;oBACD,OAAO,YAAY,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4DAA4D,MAAM,KAAK,CAAC,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,YAAoB;YAEpB,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CACvD,IAAI,EACJ,4BAA4B,CAC7B,CAAC;gBACA,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,QAAQ,CAAC;YACb,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,SAAS;gBACT,YAAY;gBACZ,GAAG,gBAAgB,IAAI,YAAY,EAAE;gBACrC,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aACnD,CAAC;YACF,MAAM,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,cAAsB,EACtB,YAAoB;YAEpB,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,YAAY,cAAc,EAAE;gBAC5B,UAAU,YAAY,EAAE;gBACxB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClD,CAAC;YACF,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,yBAAyB,CAC7B,YAAoB,EACpB,SAAiB,EACjB,mBAAuC;YAEvC,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,oBAAoB;gBACpB,GAAG,YAAY,EAAE;gBACjB,cAAc,EAAE,6EAA6E;gBAC7F,uBAAuB;gBACvB,YAAY,SAAS,EAAE;gBACvB,6BAA6B,EAAE,kEAAkE;gBACjG,MAAM;gBACN,GAAG,sBAAsB,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;aACrD,CAAC;YACF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,iBAAiB,CACrB,SAAiB,EACjB,mBAAuC,EACvC,MAAc;YAEd,MAAM,IAAI,GAAG;gBACX,aAAa;gBACb,QAAQ;gBACR,uBAAuB;gBACvB,YAAY,SAAS,EAAE;gBACvB,+BAA+B,kCAAkC,CAC/D,MAAM,CACP,EAAE;gBACH,GAAG,sBAAsB,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;aACrD,CAAC;YACF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,QAAkB;YACvC,8FAA8F;YAC9F,WAAW;YACX,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,UAAU,CAAC,UAAU,CAC7B,GAAG,EACH;gBACE,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,cAAc,QAAQ,EAAE;gBACxB,6BAA6B;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,EACD;gBACE,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACf,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,CAAC;oBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;iBACF;aACF,CACF,CAAC,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAW,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,YAAY,CAChB,UAAoB,EACpB,UAAkB,EAClB,EACE,0BAA0B,GAAG,KAAK,GACO;YAE3C,MAAM,IAAI,GAAG;gBACX,QAAQ;gBACR,eAAe;gBACf,UAAU;gBACV,UAAU;gBACV,GAAG,sBAAsB,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;aACvD,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,0BAA0B,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;IACF,wEAAwE;IACxE,4EAA4E;IAC5E,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,6EAA6E;IAC7E,4BAA4B;IAC5B,IACE,YAAY;QACZ,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,EAClE,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,+CAA+C,sBAAsB,oBACnE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAC9B,EAAE,CACH,CAAC;IACJ,CAAC;SAAM,IACL,YAAY;QACZ,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,gCAAgC,CAAC,KAAK,MAAM;QAC/D,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,EACvE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CACV,sBAAsB,MAAM,CAAC,OAAO,uBAAuB;YACzD,GAAG,iCAAiC,sCAAsC;YAC1E,GAAG,qCAAqC,+CAA+C;YACvF,oEAAoE;YACpE,GAAG,2BAA2B,0DAA0D;YACxF,uFAAuF;YACvF,uCAAuC;YACvC,kEAAkE;YAClE,GAAG,MAAM,CAAC,OAAO,8CACf,IAAA,+BAAgB,GAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACjC,iCAAiC,IAAA,+BAAgB,GAAE,sCAAsC;YACzF,mDAAmD,CACtD,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,KAAe,EACf,EAAE,eAAe,KAAqC,EAAE;IAExD,MAAM,OAAO,GAAiB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC7D,OAAO,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAC/C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAY,EAAE,QAAkB;IACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,0BAA0B,QAAQ,CAAC,IAAI,CACjD,GAAG,CACJ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,yBAAyB,QAAQ,CAAC,IAAI,CAChD,GAAG,CACJ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,OAAY,EACZ,KAAe,EACf,QAAkB;IAElB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GACZ,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;QACnC,CAAC,CAAC,eAAe,CACb,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAC;IACR,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,GAAW,EACX,OAAiB,EAAE,EACnB,OAAqD,EAAE;IAEvD,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,sBAAO,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,qCAAsB,EAAE,CAAC;YACxC,MAAM,IAAA,sCAAyB,EAAC,IAAI,qBAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAc,EACd,MAAc;IAEd,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAE1E,kCAAkC;IAClC,MAAM,eAAe,GAAG,IAAA,kBAAW,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE9D,oCAAoC;IACpC,IAAI,MAAM,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,MAAM,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,CAAC;YACvD,eAAe,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAC9D,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC;QACvE,CAAC;IACH,CAAC;IACD,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,CAAC;YACrD,yEAAyE;YACzE,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,eAAe,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,MAAM,CAAC,sBAAsB,CAAC,UAAU,CACzC,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBAClC,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,iFAAiF;gBACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,KAAK,CACrD,QAAQ,CACT,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;QACnE,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,eAAe,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI,CACT,gDAAgD,sBAAsB,EAAE,CACzE,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,4CAA4C,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAElB,EAAE,CAAC,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACrE,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,+DAA+D;AAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEzB,KAAK,UAAU,iCAAiC,CACrD,MAAc;IAEd,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS;QACrC,MAAM,CAAC,IAAI,CACT,MAAM,wCAAwC,CAAC,MAAM,EAAE,QAAQ,CAAC,CACjE,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAEM,KAAK,UAAU,wCAAwC,CAC5D,MAAc,EACd,QAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,IAAA,oCAAwB,GAAE,CAAC;IAC/C,OAAO;QACL,MAAM,QAAQ,mBAAmB,QAAQ,EAAE;QAC3C,MAAM,QAAQ,qBAAqB,kBAAkB,EAAE;QACvD,MAAM,QAAQ,qBAAqB,KAAK,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,kCAAkC,CAAC,MAAc;IAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,+BAA+B,CACtC,kBAA2B;IAE3B,OAAO,kBAAkB;QACvB,CAAC,CAAC,CAAC,eAAe,+BAA+B,EAAE,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sCAAsC;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG;QACjC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,wBAAwB;QACxB,+BAA+B;KAChC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAc;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,OAAO,UAAU;QACf,CAAC,MAAM,MAAM,CAAC,eAAe,CAC3B,6BAAY,CAAC,gDAAgD,CAC9D,CAAC;QACF,CAAC,CAAC,CAAC,mCAAmC,UAAU,EAAE,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"} \ No newline at end of file diff --git a/lib/codeql.test.js b/lib/codeql.test.js index a496c6cfae..201bde572f 100644 --- a/lib/codeql.test.js +++ b/lib/codeql.test.js @@ -53,6 +53,7 @@ const defaults = __importStar(require("./defaults.json")); const doc_url_1 = require("./doc-url"); const languages_1 = require("./languages"); const logging_1 = require("./logging"); +const overlay_database_utils_1 = require("./overlay-database-utils"); const setup_codeql_1 = require("./setup-codeql"); const testing_utils_1 = require("./testing-utils"); const tools_features_1 = require("./tools-features"); @@ -335,7 +336,7 @@ const injectedConfigMacro = ava_1.default.macro({ tempDir, augmentationProperties, }; - await codeqlObject.databaseInitCluster(thisStubConfig, "", undefined, undefined, (0, logging_1.getRunnerLogger)(true)); + await codeqlObject.databaseInitCluster(thisStubConfig, "", undefined, undefined, overlay_database_utils_1.OverlayDatabaseMode.None, (0, logging_1.getRunnerLogger)(true)); const args = runnerConstructorStub.firstCall.args[1]; // should have used an config file const configArg = args.find((arg) => arg.startsWith("--codescanning-config=")); @@ -471,7 +472,7 @@ const injectedConfigMacro = ava_1.default.macro({ const runnerConstructorStub = stubToolRunnerConstructor(); const codeqlObject = await codeql.getCodeQLForTesting(); sinon.stub(codeqlObject, "getVersion").resolves((0, testing_utils_1.makeVersionInfo)("2.17.6")); - await codeqlObject.databaseInitCluster({ ...stubConfig, tempDir }, "", undefined, "/path/to/qlconfig.yml", (0, logging_1.getRunnerLogger)(true)); + await codeqlObject.databaseInitCluster({ ...stubConfig, tempDir }, "", undefined, "/path/to/qlconfig.yml", overlay_database_utils_1.OverlayDatabaseMode.None, (0, logging_1.getRunnerLogger)(true)); const args = runnerConstructorStub.firstCall.args[1]; // should have used a config file const hasCodeScanningConfigArg = args.some((arg) => arg.startsWith("--codescanning-config=")); @@ -487,7 +488,7 @@ const injectedConfigMacro = ava_1.default.macro({ const codeqlObject = await codeql.getCodeQLForTesting(); sinon.stub(codeqlObject, "getVersion").resolves((0, testing_utils_1.makeVersionInfo)("2.17.6")); await codeqlObject.databaseInitCluster({ ...stubConfig, tempDir }, "", undefined, undefined, // undefined qlconfigFile - (0, logging_1.getRunnerLogger)(true)); + overlay_database_utils_1.OverlayDatabaseMode.None, (0, logging_1.getRunnerLogger)(true)); const args = runnerConstructorStub.firstCall.args[1]; const hasQlconfigArg = args.some((arg) => arg.startsWith("--qlconfig-file=")); t.false(hasQlconfigArg, "should NOT have injected a qlconfig"); @@ -612,7 +613,7 @@ for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of sinon.stub(io, "which").resolves(""); await t.throwsAsync(async () => await codeqlObject.databaseRunQueries(stubConfig.dbLocation, []), { instanceOf: cli_errors_1.CliError, - message: `Encountered a fatal error while running "codeql-for-testing database run-queries --expect-discarded-cache --intra-layer-parallelism --min-disk-free=1024 -v". Exit code was 1 and error was: Oops! A fatal internal error occurred. Details: + message: `Encountered a fatal error while running "codeql-for-testing database run-queries --intra-layer-parallelism --min-disk-free=1024 -v". Exit code was 1 and error was: Oops! A fatal internal error occurred. Details: com.semmle.util.exception.CatastrophicError: An error occurred while evaluating ControlFlowGraph::ControlFlow::Root.isRootOf/1#dispred#f610e6ed/2@86282cc8 Severe disk cache trouble (corruption or out of space) at /home/runner/work/_temp/codeql_databases/go/db-go/default/cache/pages/28/33.pack: Failed to write item to disk. See the logs for more details.`, }); @@ -638,7 +639,7 @@ for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of sinon.stub(io, "which").resolves(""); process.env["CODEQL_ACTION_EXTRA_OPTIONS"] = '{ "database": { "init": ["--overwrite"] } }'; - await codeqlObject.databaseInitCluster(stubConfig, "sourceRoot", undefined, undefined, (0, logging_1.getRunnerLogger)(false)); + await codeqlObject.databaseInitCluster(stubConfig, "sourceRoot", undefined, undefined, overlay_database_utils_1.OverlayDatabaseMode.None, (0, logging_1.getRunnerLogger)(false)); t.true(runnerConstructorStub.calledOnce); const args = runnerConstructorStub.firstCall.args[1]; t.is(args.filter((option) => option === "--overwrite").length, 1, "--overwrite should only be passed once"); diff --git a/lib/codeql.test.js.map b/lib/codeql.test.js.map index f62818e5f1..727a5bbce9 100644 --- a/lib/codeql.test.js.map +++ b/lib/codeql.test.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.test.js","sourceRoot":"","sources":["../src/codeql.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmgCA,8DAqBC;AAxhCD,uCAAyB;AAGzB,yEAA2D;AAC3D,gDAAkC;AAClC,+DAAiD;AACjD,8CAA6C;AAC7C,8CAAsB;AACtB,8CAAgC;AAChC,gDAAwB;AACxB,6CAA+B;AAE/B,4DAA8C;AAE9C,6CAAwC;AACxC,iDAAmC;AAEnC,0DAA4C;AAC5C,uCAAmC;AAEnC,2CAAuC;AACvC,uCAA4C;AAC5C,iDAA6C;AAC7C,mDASyB;AAEzB,qDAAgD;AAChD,6CAA+B;AAC/B,iCAA+C;AAE/C,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,IAAI,UAAkB,CAAC;AAEvB,MAAM,WAAW,GAAsB,IAAA,8BAAc,EAAC,EAAE,CAAC,CAAC;AAE1D,aAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,IAAA,4BAAqB,EAAC,OAAO,CAAC,CAAC;IAE/B,UAAU,GAAG,IAAA,gCAAgB,EAAC;QAC5B,SAAS,EAAE,CAAC,oBAAQ,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,oBAAoB,CAAC,EAClC,UAAU,GAAG,yCAAyB,EACtC,UAAU,EACV,QAAQ,EACR,OAAO,EACP,MAAM,GAOP;IACC,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,CAAC,WAAW,CACtB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAC1C,UAAU,EACV,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;QACzB,CAAC,CAAC,0CAA0B,EAC9B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,UAAU,GAAG,yCAAyB,EACtC,UAAU,EACV,OAAO,GAKR;IACC,OAAO,IAAA,cAAI,EAAC,UAAU,CAAC,MAAO,CAAC;SAC5B,GAAG,CAAC,6CAA6C,OAAO,EAAE,CAAC;SAC3D,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI;SACL,CAAC,CAAC;QACH,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc,CAAC,UAA4B;IAClD,6FAA6F;IAC7F,oFAAoF;IACpF,gFAAgF;IAChF,kDAAkD;IAClD,KAAK;SACF,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACrC,QAAQ,CAAC,OAAO,CAAC;SACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,IAAA,aAAI,EAAC,gFAAgF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE5B,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;gBAChC,OAAO,EAAE,iBAAiB,OAAO,EAAE;gBACnC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;YAEF,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2EAA2E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5F,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;YAChC,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QAEF,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gFAAgF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;YAChC,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,sCAAsC,GAAG;IAC7C;QACE,OAAO,EAAE,sBAAsB;QAC/B,wBAAwB,EAAE,QAAQ;KACnC;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,wBAAwB,EAAE,gBAAgB;KAC3C;CACF,CAAC;AAEF,KAAK,MAAM,EACT,OAAO,EACP,wBAAwB,GACzB,IAAI,sCAAsC,EAAE,CAAC;IAC5C,IAAA,aAAI,EAAC,sCAAsC,OAAO,OAAO,wBAAwB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/F,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,cAAc,CAAC,yCAAyB,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9D,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;gBAChC,OAAO;aACR,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;YACF,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;YAC3D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,MAAM,CACN,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CACvE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,MAAM,gBAAgB,IAAI;IAC7B,+FAA+F;IAC/F,yDAAyD;IACzD,0CAA0B,CAAC,UAAU;IACrC,GAAG,0CAA0B,CAAC,UAAU,WAAW;CACpD,EAAE,CAAC;IACF,IAAA,aAAI,EACF,kCAAkC,0CAA0B,CAAC,UAAU,oBAAoB;QACzF,GAAG,gBAAgB,eAAe,EACpC,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,KAAK;iBACF,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;iBACvB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;iBACpC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,SAAS,EACT,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;YACF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC;YACjE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC;AAED,IAAA,aAAI,EAAC,2DAA2D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,SAAS,EACT,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB;YACE,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,EACD,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAExE,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gEAAgE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,KAAK;YACf,MAAM;SACP,CAAC,CAAC;QAEH,IAAA,qCAAqB,EAAC;YACpB,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,SAAS,EACT,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB;YACE,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,EACD,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,IAAA,qCAAqB,EAAC;YACpB,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,QAAQ,EACR,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,+DAA+D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,cAAc,CAAC,yCAAyB,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,cAAc,CAAC;YACrC,UAAU,EAAE,CAAC,wBAAwB,CAAC;YACtC,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,IAAA,qCAAqB,EAAC;YACpB,IAAI,EAAE,qCAAqC;YAC3C,gBAAgB,EAAE,KAAK;YACvB,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,sHAAsH,EACtH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QAEF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAC7B,CAA4B,EAC5B,YAAuC;IAEvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7D,IAAI,YAAY,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,IAAA,aAAI,EAAC,0CAA0C,EAAE,CAAC,CAAC,EAAE,EAAE;IACrD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,CAAC,CAAC,SAAS,CACT,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAClE,CAAC,IAAI,CAAC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,EAAE;IAChD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wDAAwD,EAAE,CAAC,CAAC,EAAE,EAAE;IACnE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wCAAwC,EAAE,CAAC,CAAC,EAAE,EAAE;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CACZ,MAAM,CAAC,eAAe,CACpB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAC1C,CAAC,KAAK,EAAE,KAAK,CAAC,EACd,EAAE,CACH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,mBAAmB,GAAG,aAAI,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,KAAK,EACT,CAA4B,EAC5B,sBAA8C,EAC9C,cAA+B,EAC/B,cAAmB,EACnB,EAAE;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,OAAO,CAAC,CAAC,CAAC;YAE1E,MAAM,cAAc,GAAW;gBAC7B,GAAG,UAAU;gBACb,GAAG,cAAc;gBACjB,OAAO;gBACP,sBAAsB;aACvB,CAAC;YAEF,MAAM,YAAY,CAAC,mBAAmB,CACpC,cAAc,EACd,EAAE,EACF,SAAS,EACT,SAAS,EACT,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;YAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;YACjE,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;YACF,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,SAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;YAE7C,MAAM,IAAA,aAAG,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,EAAE,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,CAC5B,0CAA0C,aAAa,EAAE;CAC5D,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,OAAO,EACP,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;CAC1B,EACD,EAAE,EACF,EAAE,CACH,CAAC;AAEF,IAAA,aAAI,EACF,2BAA2B,EAC3B,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD,EAAE,EACF;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB,CACF,CAAC;AAEF,IAAA,aAAI,EACF,wDAAwD,EACxD,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,IAAI;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;SAC/B;KACF;CACF,EACD;IACE,KAAK,EAAE;QACL,GAAG,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,CAAC;KAC7C;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,yDAAyD,EACzD,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;SAC/B;KACF;CACF,EACD;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB,CACF,CAAC;AAEF,4BAA4B;AAC5B,IAAA,aAAI,EACF,6BAA6B,EAC7B,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD,EAAE,EACF;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,uCAAuC,EACvC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD;IACE,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC3B;CACF,EACD;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,sCAAsC,EACtC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD;IACE,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC3B;CACF,EACD;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,wCAAwC,EACxC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD,EAAE,EACF;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,uCAAuC,EACvC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ;CACF,EACD,EAAE,CACH,CAAC;AAEF,IAAA,aAAI,EAAC,uDAAuD,EAAE,KAAK,EAAE,CAA4B,EAAE,EAAE;IACnG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,MAAM,YAAY,CAAC,mBAAmB,CACpC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,EAC1B,EAAE,EACF,SAAS,EACT,uBAAuB,EACvB,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;QACjE,iCAAiC;QACjC,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CACzD,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;QACF,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,iCAAiC,CAAC,CAAC;QAEpE,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC/C,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CACnC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,4CAA4C,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0DAA0D,EAAE,KAAK,EAAE,CAA4B,EAAE,EAAE;IACtG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,MAAM,YAAY,CAAC,mBAAmB,CACpC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,EAC1B,EAAE,EACF,SAAS,EACT,SAAS,EAAE,yBAAyB;QACpC,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAU,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC/C,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CACnC,CAAC;QACF,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,qCAAqC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG;IACtC;QACE,aAAa,EAAE,IAAA,+BAAe,EAAC,QAAQ,EAAE;YACvC,CAAC,6BAAY,CAAC,0BAA0B,CAAC,EAAE,IAAI;SAChD,CAAC;QACF,aAAa,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC;QACD,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;KAC1B;IACD;QACE,aAAa,EAAE,IAAA,+BAAe,EAAC,QAAQ,CAAC;QACxC,aAAa,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC;QACD,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,KAAK;KAC1B;IACD;QACE,aAAa,EAAE,IAAA,+BAAe,EAAC,QAAQ,CAAC;QACxC,aAAa,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YAC7B,OAAO,EAAE,QAAQ;SAClB;QACD,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,KAAK;KAC1B;CACF,CAAC;AAEF,KAAK,MAAM,EACT,aAAa,EACb,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,IAAI,+BAA+B,EAAE,CAAC;IACrC,IAAA,aAAI,EAAC,qCACH,UAAU;QACR,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,kBAAkB;YAClB,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,SACR,uBAAuB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAClD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CACvC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1E,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/D,+CAA+C;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,YAAY,CAAC,wBAAwB,CACzC,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,IAAI,EACJ,SAAS,EACT,EAAE,EACF,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,EAC/D,IAAA,8BAAc,EAAC,EAAE,CAAC,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;QACvE,CAAC,CAAC,EAAE,CACF,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAC7C,UAAU,EACV,gCAAgC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CACpE,CAAC;QACF,CAAC,CAAC,EAAE,CACF,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAChD,kBAAkB,EAClB,mCACE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAC5B,YAAY,CACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAA,aAAI,EAAC,yCAAyC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1D,MAAM,SAAS,GACb,oEAAoE,CAAC;IACvE,MAAM,kBAAkB,GACtB,iIAAiI,CAAC;IACpI,MAAM,SAAS,GACb,qGAAqG;QACrG,GAAG,SAAS,KAAK,kBAAkB,GAAG,CAAC;IACzC,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CACT,MAAM,YAAY,CAAC,gBAAgB,CACjC,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,KAAK,CACN,EACH;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EAAE,IAAI,MAAM,CACjB,qIAAqI;YACnI,mCAAmC,kBAAkB,CAAC,UAAU,CAC9D,GAAG,EACH,KAAK,CACN,gBAAgB,SAAS,CAAC,UAAU,CACnC,GAAG,EACH,KAAK,CACN,sCAAsC,CAC1C;KACF,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG;;;;;;;;;GASd,CAAC;IACF,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC5E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAQ,CAAC,IAAI,CAAC,EACtE;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EACL,sFAAsF;YACtF,OAAO,gBAAM,CAAC,sBAAsB,yBAAyB;YAC7D,+DAA+D;YAC/D,+CAA+C;YAC/C,eAAe;YACf,sBAAsB;KACzB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2CAA2C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iDAAiD,CAAC,GAAG,CAAC,EAAE,CACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC5E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAQ,CAAC,IAAI,CAAC,EACtE;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EACL,sFAAsF;YACtF,OAAO,gBAAM,CAAC,sBAAsB,yBAAyB;YAC7D,mCAAmC;YACnC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1D,IAAI,CACL,eAAe;KACnB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0CAA0C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG;;;;6KAI4J,CAAC;IAC5K,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC5E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CACT,MAAM,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,EAClE;QACE,UAAU,EAAE,qBAAQ;QACpB,OAAO,EAAE;;6MAE8L;KACxM,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxF,MAAM,SAAS,GAAG,mCAAmC,CAAC;IACtD,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CACT,MAAM,YAAY,CAAC,gBAAgB,CACjC,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,KAAK,CACN,EACH;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EAAE,IAAI,MAAM,CACjB,qIAAqI;YACnI,mFAAmF,CACtF;KACF,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,iFAAiF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAClG,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;QACxC,6CAA6C,CAAC;IAEhD,MAAM,YAAY,CAAC,mBAAmB,CACpC,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,IAAA,yBAAe,EAAC,KAAK,CAAC,CACvB,CAAC;IAEF,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;IACjE,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,MAAM,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,EAChE,CAAC,EACD,wCAAwC,CACzC,CAAC;IAEF,WAAW;IACX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,SAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAA,aAAG,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,SAAgB,yBAAyB,CACvC,WAAmB,CAAC,EACpB,MAAe;IAEf,MAAM,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzE,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CACtC,UAAU,EACV,YAAY,CACoC,CAAC;IACnD,IAAI,cAAc,GAAyC,SAAS,CAAC;IACrE,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;QACpE,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3C,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACzC,IAAI,cAAc,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,qBAAqB,CAAC;AAC/B,CAAC"} \ No newline at end of file +{"version":3,"file":"codeql.test.js","sourceRoot":"","sources":["../src/codeql.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwgCA,8DAqBC;AA7hCD,uCAAyB;AAGzB,yEAA2D;AAC3D,gDAAkC;AAClC,+DAAiD;AACjD,8CAA6C;AAC7C,8CAAsB;AACtB,8CAAgC;AAChC,gDAAwB;AACxB,6CAA+B;AAE/B,4DAA8C;AAE9C,6CAAwC;AACxC,iDAAmC;AAEnC,0DAA4C;AAC5C,uCAAmC;AAEnC,2CAAuC;AACvC,uCAA4C;AAC5C,qEAA+D;AAC/D,iDAA6C;AAC7C,mDASyB;AAEzB,qDAAgD;AAChD,6CAA+B;AAC/B,iCAA+C;AAE/C,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,IAAI,UAAkB,CAAC;AAEvB,MAAM,WAAW,GAAsB,IAAA,8BAAc,EAAC,EAAE,CAAC,CAAC;AAE1D,aAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,IAAA,4BAAqB,EAAC,OAAO,CAAC,CAAC;IAE/B,UAAU,GAAG,IAAA,gCAAgB,EAAC;QAC5B,SAAS,EAAE,CAAC,oBAAQ,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,oBAAoB,CAAC,EAClC,UAAU,GAAG,yCAAyB,EACtC,UAAU,EACV,QAAQ,EACR,OAAO,EACP,MAAM,GAOP;IACC,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,CAAC,WAAW,CACtB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAC1C,UAAU,EACV,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;QACzB,CAAC,CAAC,0CAA0B,EAC9B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,UAAU,GAAG,yCAAyB,EACtC,UAAU,EACV,OAAO,GAKR;IACC,OAAO,IAAA,cAAI,EAAC,UAAU,CAAC,MAAO,CAAC;SAC5B,GAAG,CAAC,6CAA6C,OAAO,EAAE,CAAC;SAC3D,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI;SACL,CAAC,CAAC;QACH,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc,CAAC,UAA4B;IAClD,6FAA6F;IAC7F,oFAAoF;IACpF,gFAAgF;IAChF,kDAAkD;IAClD,KAAK;SACF,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACrC,QAAQ,CAAC,OAAO,CAAC;SACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,IAAA,aAAI,EAAC,gFAAgF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE5B,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;gBAChC,OAAO,EAAE,iBAAiB,OAAO,EAAE;gBACnC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;YAEF,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2EAA2E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5F,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;YAChC,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QAEF,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gFAAgF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;YAChC,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,sCAAsC,GAAG;IAC7C;QACE,OAAO,EAAE,sBAAsB;QAC/B,wBAAwB,EAAE,QAAQ;KACnC;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,wBAAwB,EAAE,gBAAgB;KAC3C;CACF,CAAC;AAEF,KAAK,MAAM,EACT,OAAO,EACP,wBAAwB,GACzB,IAAI,sCAAsC,EAAE,CAAC;IAC5C,IAAA,aAAI,EAAC,sCAAsC,OAAO,OAAO,wBAAwB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/F,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,cAAc,CAAC,yCAAyB,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9D,MAAM,GAAG,GAAG,IAAA,qCAAqB,EAAC;gBAChC,OAAO;aACR,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,GAAG,EACH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;YACF,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;YAC3D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,MAAM,CACN,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CACvE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,MAAM,gBAAgB,IAAI;IAC7B,+FAA+F;IAC/F,yDAAyD;IACzD,0CAA0B,CAAC,UAAU;IACrC,GAAG,0CAA0B,CAAC,UAAU,WAAW;CACpD,EAAE,CAAC;IACF,IAAA,aAAI,EACF,kCAAkC,0CAA0B,CAAC,UAAU,oBAAoB;QACzF,GAAG,gBAAgB,eAAe,EACpC,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,KAAK;iBACF,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;iBACvB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;iBACpC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,SAAS,EACT,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;YACF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC;YACjE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC;AAED,IAAA,aAAI,EAAC,2DAA2D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,SAAS,EACT,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB;YACE,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,EACD,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAExE,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gEAAgE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,KAAK;YACf,MAAM;SACP,CAAC,CAAC;QAEH,IAAA,qCAAqB,EAAC;YACpB,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,SAAS,EACT,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB;YACE,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,EACD,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,IAAA,qCAAqB,EAAC;YACpB,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,QAAQ,EACR,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,+DAA+D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,cAAc,CAAC,yCAAyB,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,cAAc,CAAC;YACrC,UAAU,EAAE,CAAC,wBAAwB,CAAC;YACtC,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,IAAA,qCAAqB,EAAC;YACpB,IAAI,EAAE,qCAAqC;YAC3C,gBAAgB,EAAE,KAAK;YACvB,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,sHAAsH,EACtH,yCAAyB,EACzB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,0CAA0B,EAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,WAAW,EACX,KAAK,CACN,CAAC;QAEF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,0BAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAC7B,CAA4B,EAC5B,YAAuC;IAEvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7D,IAAI,YAAY,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,IAAA,aAAI,EAAC,0CAA0C,EAAE,CAAC,CAAC,EAAE,EAAE;IACrD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,CAAC,CAAC,SAAS,CACT,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAClE,CAAC,IAAI,CAAC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,EAAE;IAChD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wDAAwD,EAAE,CAAC,CAAC,EAAE,EAAE;IACnE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wCAAwC,EAAE,CAAC,CAAC,EAAE,EAAE;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CACZ,MAAM,CAAC,eAAe,CACpB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAC1C,CAAC,KAAK,EAAE,KAAK,CAAC,EACd,EAAE,CACH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,mBAAmB,GAAG,aAAI,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,KAAK,EACT,CAA4B,EAC5B,sBAA8C,EAC9C,cAA+B,EAC/B,cAAmB,EACnB,EAAE;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,OAAO,CAAC,CAAC,CAAC;YAE1E,MAAM,cAAc,GAAW;gBAC7B,GAAG,UAAU;gBACb,GAAG,cAAc;gBACjB,OAAO;gBACP,sBAAsB;aACvB,CAAC;YAEF,MAAM,YAAY,CAAC,mBAAmB,CACpC,cAAc,EACd,EAAE,EACF,SAAS,EACT,SAAS,EACT,4CAAmB,CAAC,IAAI,EACxB,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;YAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;YACjE,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;YACF,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,SAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;YAE7C,MAAM,IAAA,aAAG,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,EAAE,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,CAC5B,0CAA0C,aAAa,EAAE;CAC5D,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,OAAO,EACP,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;CAC1B,EACD,EAAE,EACF,EAAE,CACH,CAAC;AAEF,IAAA,aAAI,EACF,2BAA2B,EAC3B,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD,EAAE,EACF;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB,CACF,CAAC;AAEF,IAAA,aAAI,EACF,wDAAwD,EACxD,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,IAAI;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;SAC/B;KACF;CACF,EACD;IACE,KAAK,EAAE;QACL,GAAG,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,CAAC;KAC7C;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,yDAAyD,EACzD,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;SAC/B;KACF;CACF,EACD;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB,CACF,CAAC;AAEF,4BAA4B;AAC5B,IAAA,aAAI,EACF,6BAA6B,EAC7B,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD,EAAE,EACF;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,uCAAuC,EACvC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD;IACE,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC3B;CACF,EACD;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,sCAAsC,EACtC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD;IACE,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC3B;CACF,EACD;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,wCAAwC,EACxC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD,EAAE,EACF;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,uCAAuC,EACvC,mBAAmB,EACnB;IACE,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ;CACF,EACD,EAAE,CACH,CAAC;AAEF,IAAA,aAAI,EAAC,uDAAuD,EAAE,KAAK,EAAE,CAA4B,EAAE,EAAE;IACnG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,MAAM,YAAY,CAAC,mBAAmB,CACpC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,EAC1B,EAAE,EACF,SAAS,EACT,uBAAuB,EACvB,4CAAmB,CAAC,IAAI,EACxB,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;QACjE,iCAAiC;QACjC,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CACzD,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;QACF,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,iCAAiC,CAAC,CAAC;QAEpE,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC/C,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CACnC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,4CAA4C,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0DAA0D,EAAE,KAAK,EAAE,CAA4B,EAAE,EAAE;IACtG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,MAAM,YAAY,CAAC,mBAAmB,CACpC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,EAC1B,EAAE,EACF,SAAS,EACT,SAAS,EAAE,yBAAyB;QACpC,4CAAmB,CAAC,IAAI,EACxB,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAU,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC/C,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CACnC,CAAC;QACF,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,qCAAqC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG;IACtC;QACE,aAAa,EAAE,IAAA,+BAAe,EAAC,QAAQ,EAAE;YACvC,CAAC,6BAAY,CAAC,0BAA0B,CAAC,EAAE,IAAI;SAChD,CAAC;QACF,aAAa,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC;QACD,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;KAC1B;IACD;QACE,aAAa,EAAE,IAAA,+BAAe,EAAC,QAAQ,CAAC;QACxC,aAAa,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC;QACD,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,KAAK;KAC1B;IACD;QACE,aAAa,EAAE,IAAA,+BAAe,EAAC,QAAQ,CAAC;QACxC,aAAa,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YAC7B,OAAO,EAAE,QAAQ;SAClB;QACD,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,KAAK;KAC1B;CACF,CAAC;AAEF,KAAK,MAAM,EACT,aAAa,EACb,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,IAAI,+BAA+B,EAAE,CAAC;IACrC,IAAA,aAAI,EAAC,qCACH,UAAU;QACR,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,kBAAkB;YAClB,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,SACR,uBAAuB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAClD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CACvC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1E,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/D,+CAA+C;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,YAAY,CAAC,wBAAwB,CACzC,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,IAAI,EACJ,SAAS,EACT,EAAE,EACF,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,EAC/D,IAAA,8BAAc,EAAC,EAAE,CAAC,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;QACvE,CAAC,CAAC,EAAE,CACF,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAC7C,UAAU,EACV,gCAAgC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CACpE,CAAC;QACF,CAAC,CAAC,EAAE,CACF,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAChD,kBAAkB,EAClB,mCACE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAC5B,YAAY,CACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAA,aAAI,EAAC,yCAAyC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1D,MAAM,SAAS,GACb,oEAAoE,CAAC;IACvE,MAAM,kBAAkB,GACtB,iIAAiI,CAAC;IACpI,MAAM,SAAS,GACb,qGAAqG;QACrG,GAAG,SAAS,KAAK,kBAAkB,GAAG,CAAC;IACzC,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CACT,MAAM,YAAY,CAAC,gBAAgB,CACjC,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,KAAK,CACN,EACH;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EAAE,IAAI,MAAM,CACjB,qIAAqI;YACnI,mCAAmC,kBAAkB,CAAC,UAAU,CAC9D,GAAG,EACH,KAAK,CACN,gBAAgB,SAAS,CAAC,UAAU,CACnC,GAAG,EACH,KAAK,CACN,sCAAsC,CAC1C;KACF,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG;;;;;;;;;GASd,CAAC;IACF,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC5E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAQ,CAAC,IAAI,CAAC,EACtE;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EACL,sFAAsF;YACtF,OAAO,gBAAM,CAAC,sBAAsB,yBAAyB;YAC7D,+DAA+D;YAC/D,+CAA+C;YAC/C,eAAe;YACf,sBAAsB;KACzB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2CAA2C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iDAAiD,CAAC,GAAG,CAAC,EAAE,CACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC5E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAQ,CAAC,IAAI,CAAC,EACtE;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EACL,sFAAsF;YACtF,OAAO,gBAAM,CAAC,sBAAsB,yBAAyB;YAC7D,mCAAmC;YACnC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1D,IAAI,CACL,eAAe;KACnB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0CAA0C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG;;;;6KAI4J,CAAC;IAC5K,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC5E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CACT,MAAM,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,EAClE;QACE,UAAU,EAAE,qBAAQ;QACpB,OAAO,EAAE;;6MAE8L;KACxM,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxF,MAAM,SAAS,GAAG,mCAAmC,CAAC;IACtD,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,CAAC,CAAC,WAAW,CACjB,KAAK,IAAI,EAAE,CACT,MAAM,YAAY,CAAC,gBAAgB,CACjC,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,KAAK,CACN,EACH;QACE,UAAU,EAAE,IAAI,CAAC,kBAAkB;QACnC,OAAO,EAAE,IAAI,MAAM,CACjB,qIAAqI;YACnI,mFAAmF,CACtF;KACF,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,iFAAiF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAClG,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;QACxC,6CAA6C,CAAC;IAEhD,MAAM,YAAY,CAAC,mBAAmB,CACpC,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,4CAAmB,CAAC,IAAI,EACxB,IAAA,yBAAe,EAAC,KAAK,CAAC,CACvB,CAAC;IAEF,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;IACjE,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,MAAM,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,EAChE,CAAC,EACD,wCAAwC,CACzC,CAAC;IAEF,WAAW;IACX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,SAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAA,aAAG,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,SAAgB,yBAAyB,CACvC,WAAmB,CAAC,EACpB,MAAe;IAEf,MAAM,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzE,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CACtC,UAAU,EACV,YAAY,CACoC,CAAC;IACnD,IAAI,cAAc,GAAyC,SAAS,CAAC;IACrE,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;QACpE,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3C,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACzC,IAAI,cAAc,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,qBAAqB,CAAC;AAC/B,CAAC"} \ No newline at end of file diff --git a/lib/git-utils.js b/lib/git-utils.js index a0520dab4f..9632078881 100644 --- a/lib/git-utils.js +++ b/lib/git-utils.js @@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.decodeGitFilePath = exports.getGitDiffHunkHeaders = exports.getAllGitMergeBases = exports.gitRepack = exports.gitFetch = exports.deepenGitHistory = exports.determineBaseBranchHeadCommitOid = exports.getCommitOid = void 0; +exports.getGitRoot = exports.decodeGitFilePath = exports.getGitDiffHunkHeaders = exports.getAllGitMergeBases = exports.gitRepack = exports.gitFetch = exports.deepenGitHistory = exports.determineBaseBranchHeadCommitOid = exports.getCommitOid = void 0; exports.getRef = getRef; exports.isAnalyzingDefaultBranch = isAnalyzingDefaultBranch; const core = __importStar(require("@actions/core")); @@ -285,6 +285,23 @@ const decodeGitFilePath = function (filePath) { return filePath; }; exports.decodeGitFilePath = decodeGitFilePath; +/** + * Get the root of the Git repository. + * + * @param sourceRoot The source root of the code being analyzed. + * @returns The root of the Git repository. + */ +const getGitRoot = async function (sourceRoot) { + try { + const stdout = await runGitCommand(sourceRoot, ["rev-parse", "--show-toplevel"], `Cannot find Git repository root from the source root ${sourceRoot}.`); + return stdout.trim(); + } + catch { + // Errors are already logged by runGitCommand() + return undefined; + } +}; +exports.getGitRoot = getGitRoot; function getRefFromEnv() { // To workaround a limitation of Actions dynamic workflows not setting // the GITHUB_REF in some cases, we accept also the ref within the diff --git a/lib/git-utils.js.map b/lib/git-utils.js.map index 970f939faa..966f6a6a84 100644 --- a/lib/git-utils.js.map +++ b/lib/git-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqUA,wBA4DC;AAaD,4DAiBC;AA/ZD,oDAAsC;AACtC,yEAA2D;AAC3D,gDAAkC;AAElC,iDAIwB;AACxB,iCAAiE;AAEjE,KAAK,UAAU,aAAa,CAC1B,YAAgC,EAChC,IAAc,EACd,kBAA0B;IAE1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;YACjE,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;gBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;aACF;YACD,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5C,MAAM;gBACJ,kFAAkF,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,WAAW,MAAM,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,KAAK,WAC/B,YAAoB,EACpB,GAAG,GAAG,MAAM;IAEZ,mEAAmE;IACnE,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,2DAA2D;IAC3D,wEAAwE;IACxE,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,WAAW,EAAE,GAAG,CAAC,EAClB,4DAA4D,CAC7D,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAA,+BAAgB,EAAC,KAAK,CAAC,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB;AAEF;;;;;GAKG;AACI,MAAM,gCAAgC,GAAG,KAAK,WACnD,oBAA6B;IAE7B,IAAI,IAAA,mCAAoB,GAAE,KAAK,cAAc,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACnD,MAAM,YAAY,GAChB,oBAAoB,IAAI,IAAA,+BAAgB,EAAC,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,EACxC,mDAAmD,CACpD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACnD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBAC1B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,IACE,SAAS,KAAK,QAAQ;YACtB,OAAO,CAAC,MAAM,KAAK,EAAE;YACrB,OAAO,CAAC,MAAM,KAAK,EAAE,EACrB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AA9CW,QAAA,gCAAgC,oCA8C3C;AAEF;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,KAAK;IACnC,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC;YACE,OAAO;YACP,QAAQ;YACR,MAAM;YACN,WAAW;YACX,yBAAyB;YACzB,YAAY;SACb,EACD,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B;AAEF;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,KAAK,WAAW,MAAc,EAAE,UAAoB;IAC1E,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,EACtE,gBAAgB,MAAM,GAAG,CAC1B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF;;;;;GAKG;AACI,MAAM,SAAS,GAAG,KAAK,WAAW,KAAe;IACtD,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,EACpB,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEF;;;;;;GAMG;AACI,MAAM,mBAAmB,GAAG,KAAK,WACtC,IAAc;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAChC,4BAA4B,IAAI,GAAG,CACpC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B;AAEF;;;;;;;;;GASG;AACI,MAAM,qBAAqB,GAAG,KAAK,WACxC,OAAe,EACf,KAAa;IAEb,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAC1B,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC;YACE,IAAI;YACJ,sBAAsB;YACtB,MAAM;YACN,cAAc;YACd,uBAAuB;YACvB,KAAK;YACL,OAAO;YACP,KAAK;SACN,EACD,wBAAwB,OAAO,OAAO,KAAK,GAAG,CAC/C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IACE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACtB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAnCW,QAAA,qBAAqB,yBAmChC;AAEF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,UAAU,QAAgB;IACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC,OAAO,CACrB,8BAA8B,EAC9B,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YACtB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,KAAK,GAAG;oBACN,OAAO,MAAM,CAAC;gBAChB,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,IAAI;oBACP,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;gBACb;oBACE,mEAAmE;oBACnE,6DAA6D;oBAC7D,qEAAqE;oBACrE,iEAAiE;oBACjE,kEAAkE;oBAClE,oEAAoE;oBACpE,gBAAgB;oBAChB,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAvCW,QAAA,iBAAiB,qBAuC5B;AAEF,SAAS,aAAa;IACpB,sEAAsE;IACtE,kEAAkE;IAClE,uEAAuE;IACvE,4EAA4E;IAC5E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gEAAgE;QAChE,qBAAqB;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,MAAM;IAC1B,0DAA0D;IAC1D,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAChB,IAAA,+BAAgB,EAAC,eAAe,CAAC;QACjC,IAAA,+BAAgB,EAAC,aAAa,CAAC;QAC/B,IAAA,0BAAmB,EAAC,kBAAkB,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,2DAA2D;IAC3D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,yBAAkB,CAC1B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAE1D,6DAA6D;IAC7D,sEAAsE;IACtE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,+DAA+D;IAC/D,iEAAiE;IACjE,+DAA+D;IAC/D,kBAAkB;IAClB,MAAM,cAAc,GAAG,0BAA0B,CAAC;IAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEtD,2EAA2E;IAC3E,8EAA8E;IAC9E,2DAA2D;IAC3D,2DAA2D;IAC3D,0DAA0D;IAC1D,MAAM,aAAa,GACjB,GAAG,KAAK,IAAI;QACZ,CAAC,MAAM,IAAA,oBAAY,EACjB,YAAY,EACZ,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,oBAAoB,CAAC,CACnD,CAAC,KAAK,IAAI,CAAC;IAEd,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CACR,iDAAiD,GAAG,OAAO,MAAM,GAAG,CACrE,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,MAAM,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,IAAI,UAAU,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,IAAA,+BAAgB,GAAE,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC;IAEtD,IAAI,IAAA,mCAAoB,GAAE,KAAK,UAAU,EAAE,CAAC;QAC1C,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,KAAK,aAAa,CAAC;AACtC,CAAC"} \ No newline at end of file +{"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2VA,wBA4DC;AAaD,4DAiBC;AArbD,oDAAsC;AACtC,yEAA2D;AAC3D,gDAAkC;AAElC,iDAIwB;AACxB,iCAAiE;AAEjE,KAAK,UAAU,aAAa,CAC1B,YAAgC,EAChC,IAAc,EACd,kBAA0B;IAE1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;YACjE,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;gBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;aACF;YACD,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5C,MAAM;gBACJ,kFAAkF,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,WAAW,MAAM,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,KAAK,WAC/B,YAAoB,EACpB,GAAG,GAAG,MAAM;IAEZ,mEAAmE;IACnE,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,2DAA2D;IAC3D,wEAAwE;IACxE,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,WAAW,EAAE,GAAG,CAAC,EAClB,4DAA4D,CAC7D,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAA,+BAAgB,EAAC,KAAK,CAAC,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB;AAEF;;;;;GAKG;AACI,MAAM,gCAAgC,GAAG,KAAK,WACnD,oBAA6B;IAE7B,IAAI,IAAA,mCAAoB,GAAE,KAAK,cAAc,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACnD,MAAM,YAAY,GAChB,oBAAoB,IAAI,IAAA,+BAAgB,EAAC,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,EACxC,mDAAmD,CACpD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACnD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBAC1B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,IACE,SAAS,KAAK,QAAQ;YACtB,OAAO,CAAC,MAAM,KAAK,EAAE;YACrB,OAAO,CAAC,MAAM,KAAK,EAAE,EACrB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AA9CW,QAAA,gCAAgC,oCA8C3C;AAEF;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,KAAK;IACnC,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC;YACE,OAAO;YACP,QAAQ;YACR,MAAM;YACN,WAAW;YACX,yBAAyB;YACzB,YAAY;SACb,EACD,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B;AAEF;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,KAAK,WAAW,MAAc,EAAE,UAAoB;IAC1E,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,EACtE,gBAAgB,MAAM,GAAG,CAC1B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF;;;;;GAKG;AACI,MAAM,SAAS,GAAG,KAAK,WAAW,KAAe;IACtD,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,EACpB,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEF;;;;;;GAMG;AACI,MAAM,mBAAmB,GAAG,KAAK,WACtC,IAAc;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAChC,4BAA4B,IAAI,GAAG,CACpC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B;AAEF;;;;;;;;;GASG;AACI,MAAM,qBAAqB,GAAG,KAAK,WACxC,OAAe,EACf,KAAa;IAEb,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAC1B,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC;YACE,IAAI;YACJ,sBAAsB;YACtB,MAAM;YACN,cAAc;YACd,uBAAuB;YACvB,KAAK;YACL,OAAO;YACP,KAAK;SACN,EACD,wBAAwB,OAAO,OAAO,KAAK,GAAG,CAC/C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IACE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACtB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAnCW,QAAA,qBAAqB,yBAmChC;AAEF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,UAAU,QAAgB;IACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC,OAAO,CACrB,8BAA8B,EAC9B,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YACtB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,KAAK,GAAG;oBACN,OAAO,MAAM,CAAC;gBAChB,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,IAAI;oBACP,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;gBACb;oBACE,mEAAmE;oBACnE,6DAA6D;oBAC7D,qEAAqE;oBACrE,iEAAiE;oBACjE,kEAAkE;oBAClE,oEAAoE;oBACpE,gBAAgB;oBAChB,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAvCW,QAAA,iBAAiB,qBAuC5B;AAEF;;;;;GAKG;AACI,MAAM,UAAU,GAAG,KAAK,WAC7B,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,UAAU,EACV,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAChC,wDAAwD,UAAU,GAAG,CACtE,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB;AAEF,SAAS,aAAa;IACpB,sEAAsE;IACtE,kEAAkE;IAClE,uEAAuE;IACvE,4EAA4E;IAC5E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gEAAgE;QAChE,qBAAqB;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,MAAM;IAC1B,0DAA0D;IAC1D,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAChB,IAAA,+BAAgB,EAAC,eAAe,CAAC;QACjC,IAAA,+BAAgB,EAAC,aAAa,CAAC;QAC/B,IAAA,0BAAmB,EAAC,kBAAkB,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,2DAA2D;IAC3D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,yBAAkB,CAC1B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAE1D,6DAA6D;IAC7D,sEAAsE;IACtE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,+DAA+D;IAC/D,iEAAiE;IACjE,+DAA+D;IAC/D,kBAAkB;IAClB,MAAM,cAAc,GAAG,0BAA0B,CAAC;IAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEtD,2EAA2E;IAC3E,8EAA8E;IAC9E,2DAA2D;IAC3D,2DAA2D;IAC3D,0DAA0D;IAC1D,MAAM,aAAa,GACjB,GAAG,KAAK,IAAI;QACZ,CAAC,MAAM,IAAA,oBAAY,EACjB,YAAY,EACZ,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,oBAAoB,CAAC,CACnD,CAAC,KAAK,IAAI,CAAC;IAEd,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CACR,iDAAiD,GAAG,OAAO,MAAM,GAAG,CACrE,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,MAAM,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,IAAI,UAAU,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,IAAA,+BAAgB,GAAE,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC;IAEtD,IAAI,IAAA,mCAAoB,GAAE,KAAK,UAAU,EAAE,CAAC;QAC1C,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,KAAK,aAAa,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/lib/init-action.js b/lib/init-action.js index 8aa089ebb9..4486547f49 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -50,6 +50,7 @@ const feature_flags_1 = require("./feature-flags"); const init_1 = require("./init"); const languages_1 = require("./languages"); const logging_1 = require("./logging"); +const overlay_database_utils_1 = require("./overlay-database-utils"); const repository_1 = require("./repository"); const setup_codeql_1 = require("./setup-codeql"); const status_report_1 = require("./status-report"); @@ -228,7 +229,12 @@ async function run() { return; } try { - (0, init_1.cleanupDatabaseClusterDirectory)(config, logger); + const sourceRoot = path.resolve((0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), (0, actions_util_1.getOptionalInput)("source-root") || ""); + const overlayDatabaseMode = await (0, init_1.getOverlayDatabaseMode)((await codeql.getVersion()).version, config, sourceRoot, logger); + logger.info(`Using overlay database mode: ${overlayDatabaseMode}`); + if (overlayDatabaseMode !== overlay_database_utils_1.OverlayDatabaseMode.Overlay) { + (0, init_1.cleanupDatabaseClusterDirectory)(config, logger); + } if (zstdAvailability) { await recordZstdAvailability(config, zstdAvailability); } @@ -408,8 +414,7 @@ async function run() { core.exportVariable("CODEQL_EXTRACTOR_PYTHON_EXTRACT_STDLIB", "true"); } } - const sourceRoot = path.resolve((0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), (0, actions_util_1.getOptionalInput)("source-root") || ""); - const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, "Runner.Worker.exe", (0, actions_util_1.getOptionalInput)("registries"), apiDetails, logger); + const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, "Runner.Worker.exe", (0, actions_util_1.getOptionalInput)("registries"), apiDetails, overlayDatabaseMode, logger); if (tracerConfig !== undefined) { for (const [key, value] of Object.entries(tracerConfig.env)) { core.exportVariable(key, value); diff --git a/lib/init-action.js.map b/lib/init-action.js.map index dc7b184b64..094f17be8c 100644 --- a/lib/init-action.js.map +++ b/lib/init-action.js.map @@ -1 +1 @@ -{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AACtC,gDAAkC;AAClC,+CAAiC;AACjC,+BAAoC;AAEpC,iDASwB;AACxB,6CAAgD;AAChD,mDAIyB;AAEzB,4DAA8C;AAC9C,6DAAgE;AAChE,+CAKuB;AACvB,+CAAuC;AACvC,mDAAmE;AACnE,iCAMgB;AAChB,2CAAuC;AACvC,uCAAqD;AACrD,6CAAkD;AAClD,iDAA6C;AAC7C,mDAMyB;AAGzB,qDAAgD;AAChD,iCAkBgB;AAChB,yCAA8C;AAkD9C,KAAK,UAAU,yBAAyB,CACtC,SAAe,EACf,MAAsC,EACtC,UAA8B,EAC9B,yBAAgE,EAChE,sBAA2C,EAC3C,WAAwB,EACxB,YAAoB,EACpB,MAAc,EACd,KAAa;IAEb,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,IAAI,EACf,IAAA,gCAAgB,EAAC,KAAK,CAAC,EACvB,SAAS,EACT,MAAM,EACN,MAAM,IAAA,qBAAc,EAAC,MAAM,CAAC,EAC5B,MAAM,EACN,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,CACb,CAAC;IAEF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,+BAAgB,EAAC,WAAW,CAAC,CAAC;IAExD,MAAM,gBAAgB,GAAqB;QACzC,GAAG,gBAAgB;QACnB,WAAW,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC,IAAI,EAAE;QAC5C,sBAAsB,EAAE,YAAY;QACpC,YAAY,EAAE,WAAW,IAAI,0BAAW,CAAC,OAAO;QAChD,kBAAkB,EAAE,iBAAiB,IAAI,EAAE;KAC5C,CAAC;IAEF,MAAM,uBAAuB,GAA4B,EAAE,CAAC;IAE5D,IAAI,yBAAyB,EAAE,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAChE,uBAAuB,CAAC,0BAA0B;YAChD,yBAAyB,CAAC,kBAAkB,CAAC;IACjD,CAAC;IACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACzC,uBAAuB,CAAC,yBAAyB,GAAG,sBAAsB,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACvE,GAAG,CACJ,CAAC;QACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,iBAAiB,CACpD,yBAAyB,CAC1B;YACC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,YAAY,GAAG,IAAA,+BAAgB,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;QACvD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC/D,CAAC;QACJ,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;gBACzC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,YAAY,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,KAAK,GAA6B,EAAE,CAAC;QACzC,IACE,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB;YAC/C,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;YAC5C,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAC9B,CAAC;YACD,gDAAgD;YAChD,MAAM,8BAA8B,GAAG,IAAA,kBAAW,EAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAC/B,CAAC;YACF,iFAAiF;YACjF,IAAI,KAAK,CAAC,OAAO,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,8BAA8B,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;YAC7C,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAClC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7B,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,0BAA0B,GAA+B;YAC7D,GAAG,gBAAgB;YACnB,WAAW,EAAE,UAAU,IAAI,EAAE;YAC7B,uBAAuB,EAAE,qBAAqB;YAC9C,KAAK;YACL,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5B,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9D,8BAA8B,EAAE,IAAI,CAAC,KAAK,CACxC,MAAM,IAAA,iCAAiB,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAClE;YACD,+BAA+B,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACzE,aAAa,EAAE,IAAI,CAAC,SAAS,CAC3B,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,CAChD;YACD,UAAU,EAAE,IAAI,CAAC,SAAS,CACxB,WAAW,CAAC,iCAAiC,CAC3C,IAAA,+BAAgB,EAAC,YAAY,CAAC,CAC/B,IAAI,EAAE,CACR;SACF,CAAC;QACF,MAAM,IAAA,gCAAgB,EAAC;YACrB,GAAG,0BAA0B;YAC7B,GAAG,uBAAuB;SAC3B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAA,gCAAgB,EAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,uBAAuB,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,IAAA,4BAAqB,EAAC,IAAA,+BAAgB,GAAE,CAAC,CAAC;IAE1C,6CAA6C;IAC7C,IAAA,4BAAa,GAAE,CAAC;IAEhB,IAAI,MAAsC,CAAC;IAC3C,IAAI,MAAc,CAAC;IACnB,IAAI,yBAAgE,CAAC;IACrE,IAAI,sBAA2C,CAAC;IAChD,IAAI,WAAwB,CAAC;IAC7B,IAAI,YAAoB,CAAC;IACzB,IAAI,gBAA8C,CAAC;IAEnD,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC;QAC/B,gBAAgB,EAAE,IAAA,+BAAgB,EAAC,2BAA2B,CAAC;QAC/D,GAAG,EAAE,IAAA,0BAAmB,EAAC,mBAAmB,CAAC;QAC7C,MAAM,EAAE,IAAA,0BAAmB,EAAC,gBAAgB,CAAC;KAC9C,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;IAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjD,IAAA,yBAAkB,EAAC,IAAA,+BAAgB,GAAE,EAAE,aAAa,CAAC,CAAC;IAEtD,MAAM,aAAa,GAAG,IAAA,+BAAkB,EACtC,IAAA,0BAAmB,EAAC,mBAAmB,CAAC,CACzC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAC3B,aAAa,EACb,aAAa,EACb,IAAA,oCAAqB,GAAE,EACvB,MAAM,CACP,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,SAAM,GAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,IAAA,+BAAgB,EAAC,aAAa,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,IAAI,EACf,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,IAAA,qBAAc,EAAC,MAAM,CAAC,EAC5B,MAAM,CACP,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAA,gCAAgB,EAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,wBAAwB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAClE,aAAa,CAAC,IAAI,CACnB,CAAC;QACF,sBAAsB,GAAG,wBAAwB,CAAC,sBAAsB,CAAC;QACzE,MAAM,gBAAgB,GAAG,MAAM,IAAA,iBAAU,EACvC,IAAA,+BAAgB,EAAC,OAAO,CAAC,EACzB,UAAU,EACV,IAAA,oCAAqB,GAAE,EACvB,aAAa,CAAC,IAAI,EAClB,wBAAwB,EACxB,QAAQ,EACR,MAAM,CACP,CAAC;QACF,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACjC,yBAAyB,GAAG,gBAAgB,CAAC,yBAAyB,CAAC;QACvE,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;QAC7C,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAC3C,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;QAErD,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACvC,MAAM,sBAAsB,GAAG,MAAM,IAAA,2BAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CACZ,8CAA8C,sBAAsB,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,MAAM,GAAG,MAAM,IAAA,iBAAU,EACvB;YACE,cAAc,EAAE,IAAA,+BAAgB,EAAC,WAAW,CAAC;YAC7C,YAAY,EAAE,IAAA,+BAAgB,EAAC,SAAS,CAAC;YACzC,UAAU,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC;YACrC,cAAc,EAAE,IAAA,+BAAgB,EAAC,YAAY,CAAC;YAC9C,UAAU;YACV,UAAU,EAAE,IAAA,+BAAgB,EAAC,aAAa,CAAC;YAC3C,WAAW,EAAE,IAAA,+BAAgB,EAAC,QAAQ,CAAC;YACvC,kBAAkB,EAAE,qBAAqB,EAAE;YAC3C,wBAAwB,EAAE,IAAA,2CAA2B,GAAE;YACvD,4BAA4B;YAC5B,+CAA+C;YAC/C,oNAAoN;YACpN,8DAA8D;YAC9D,SAAS,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjE,iBAAiB,EACf,IAAA,+BAAgB,EAAC,qBAAqB,CAAC;gBACvC,kCAA2B;YAC7B,iBAAiB,EACf,IAAA,+BAAgB,EAAC,qBAAqB,CAAC;gBACvC,kCAA2B;YAC7B,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,IAAA,oCAAqB,GAAE;YAChC,MAAM;YACN,aAAa,EAAE,IAAA,0BAAmB,EAAC,kBAAkB,CAAC;YACtD,aAAa,EAAE,aAAa;YAC5B,UAAU;YACV,QAAQ;YACR,MAAM;SACP,EACD,MAAM,CACP,CAAC;QAEF,MAAM,IAAA,4BAAqB,EAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,IAAI,EACf,KAAK,YAAY,yBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAC9D,SAAS,EACT,MAAM,EACN,MAAM,IAAA,qBAAc,EAAC,MAAM,CAAC,EAC5B,MAAM,EACN,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,CACZ,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAA,gCAAgB,EAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,IAAA,sCAA+B,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEhD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC;QAED,gDAAgD;QAChD,IAAI,yBAAyB,EAAE,CAAC;YAC9B,IAAA,2BAAa,EACX,MAAM;YACN,sFAAsF;YACtF,kDAAkD;YAClD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACnB,IAAA,4BAAc,EACZ,yCAAyC,EACzC,kCAAkC,EAClC;gBACE,UAAU,EAAE,yBAAyB;gBACrC,UAAU,EAAE;oBACV,eAAe,EAAE,KAAK;oBACtB,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,IAAI;iBAChB;aACF,CACF,CACF,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CACV,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QAED,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,KAAK,CAAC;YACzC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAC5B,CAAC;YACD,MAAM,CAAC,OAAO,CACZ,sHAAsH,CACvH,CAAC;QACJ,CAAC;QAED,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAC5B,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAC;gBAEnD,gHAAgH;gBAChH,0GAA0G;gBAC1G,wGAAwG;gBACxG,4FAA4F;gBAC5F,IACE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBACxC,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAC5B,6BAAY,CAAC,qCAAqC,CACnD,CAAC,EACF,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;wBAEzD,yDAAyD;wBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAC9B,IAAA,oCAAqB,GAAE,EACvB,0BAA0B,EAC1B,KAAK,CACN,CAAC;wBACF,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC/C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAE1B,uEAAuE;wBACvE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;wBACtD,EAAE,CAAC,aAAa,CACd,aAAa,EACb,uBAAuB,YAAY,OAAO,CAC3C,CAAC;wBACF,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;wBAEnC,2EAA2E;wBAC3E,sEAAsE;wBACtE,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;oBAChE,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,OAAO,CACZ,gGAAgG,CAAC,EAAE,CACpG,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,6GAA6G;oBAC7G,qBAAqB;oBACrB,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CACZ,sDAAsD,CAAC,EAAE,CAC1D,CAAC;gBAEF,IAAI,CAAC,YAAY,mCAAoB,EAAE,CAAC;oBACtC,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,sCAAsC,EACtC,8EAA8E,EAC9E;wBACE,eAAe,EACb,2IAA2I;wBAC7I,UAAU,EAAE;4BACV,UAAU,EAAE,IAAI;4BAChB,SAAS,EAAE,IAAI;4BACf,eAAe,EAAE,IAAI;yBACtB;wBACD,QAAQ,EAAE,SAAS;qBACpB,CACF,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,0FAA0F;QAC1F,0FAA0F;QAC1F,wFAAwF;QACxF,sFAAsF;QACtF,eAAe;QACf,IAAI,CAAC,cAAc,CACjB,YAAY,EACZ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACvB,IAAA,yBAAkB,EAAC,IAAA,+BAAgB,EAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CACjE,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,gBAAgB,EAChB,IAAA,0BAAmB,EAAC,IAAA,+BAAgB,EAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CACpE,CAAC;QAEF,+CAA+C;QAC/C,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,cAAc,CAAC,4CAA4C,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,cAAc,GAClB,wDAAwD,CAAC;QAC3D,IACE,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAC/C,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,mCAAmC,CAAC;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CACT,wBAAwB,MAAM,gEAAgE,CAC/F,CAAC;YACJ,CAAC;iBAAM,IACL,qBAAqB,EAAE;gBACvB,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAC9C,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACxD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBACzD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,sCAAsC,CAAC;YACtD,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnB,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,mDAAmD;QACnD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,uBAAO,CAAC,YAAY,CAAC;YAClC,MAAM,MAAM,GAAG,6BAAa,CAAC,IAAI,CAAC,CAAC,cAAwB,CAAC;YAC5D,MAAM,MAAM,GAAG,qCAAqC,CAAC;YACrD,8EAA8E;YAC9E,mGAAmG;YACnG,mFAAmF;YACnF,IAAI,IAAA,6BAAc,GAAE,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;gBACnC,MAAM,IAAI,yBAAkB,CAC1B,4EAA4E,MAAM,0BAA0B,CAC7G,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC;YACtD,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,yBAAkB,CAC1B,iEAAiE,MAAM,iCAAiC,SAAS,EAAE,CACpH,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACpD,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAA,kCAAkB,EAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACxD,MAAM,IAAA,6CAAwB,EAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,mFAAmF;QACnF,8CAA8C;QAC9C,IACE,CAAC,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;YACpD,CAAC,CAAC,MAAM,IAAA,yBAAkB,EAAC,MAAM,CAAC,CAAC,EACnC,CAAC;YACD,MAAM,CAAC,OAAO,CACZ,2HAA2H,CAC5H,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,kFAAkF;QAClF,wBAAwB;QAExB,IAAI,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjD,kCAAkC;QACpC,CAAC;aAAM,IAAI,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACxD,yEAAyE;YACzE,IAAI,CAAC,cAAc,CACjB,oDAAoD,EACpD,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CACjB,oDAAoD,EACpD,MAAM,CACP,CAAC;QACJ,CAAC;QAED,IAAI,IAAA,+BAAgB,EAAC,2BAA2B,CAAC,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,CAAC,OAAO,CACZ,6RAA6R,CAC9R,CAAC;QACJ,CAAC;QAED,IACE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC;YACnE,SAAS,EACT,CAAC;YACD,MAAM,CAAC,OAAO,CACZ,uUAAuU,CACxU,CAAC;QACJ,CAAC;QAED,IACE,MAAM,MAAM,CAAC,eAAe,CAC1B,6BAAY,CAAC,iCAAiC,CAC/C,EACD,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,KAAK,CACV,4FAA4F,CAC7F,CAAC;YACJ,CAAC;iBAAM,IACL,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CACvB,uBAAO,CAAC,iCAAiC,EACzC,MAAM,CACP,CAAC,EACF,CAAC;gBACD,kEAAkE;gBAClE,uDAAuD;gBACvD,IAAI,CAAC,cAAc,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,IAAA,0BAAmB,EAAC,kBAAkB,CAAC,EACvC,IAAA,+BAAgB,EAAC,aAAa,CAAC,IAAI,EAAE,CACtC,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAA,cAAO,EAChC,MAAM,EACN,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,IAAA,+BAAgB,EAAC,YAAY,CAAC,EAC9B,UAAU,EACV,MAAM,CACP,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,6FAA6F;QAC7F,2BAA2B;QAC3B,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,yBAAyB,CAC7B,SAAS,EACT,MAAM,EACN,SAAS,EAAE,yCAAyC;QACpD,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,MAAM,EACN,KAAK,CACN,CAAC;QACF,OAAO;IACT,CAAC;YAAS,CAAC;QACT,IAAA,qCAAuB,GAAE,CAAC;IAC5B,CAAC;IACD,MAAM,yBAAyB,CAC7B,SAAS,EACT,MAAM,EACN,UAAU,EACV,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB;IAC5B,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAA,+BAAgB,EAAC,cAAc,CAAC,CAAC;IACrD,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,WAAW,KAAK,MAAM,CAAC;IAE7D,6FAA6F;IAC7F,IAAI,CAAC,IAAA,qBAAc,GAAE;QAAE,OAAO,KAAK,CAAC;IAEpC,oDAAoD;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAA0B,EAC1B,gBAAkC;IAElC,IAAA,2BAAa,EACX,MAAM;IACN,sFAAsF;IACtF,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACnB,IAAA,4BAAc,EACZ,iCAAiC,EACjC,wBAAwB,EACxB;QACE,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE;YACV,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;SAChB;KACF,CACF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,uBAAuB,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,IAAA,sBAAe,GAAE,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AACtC,gDAAkC;AAClC,+CAAiC;AACjC,+BAAoC;AAEpC,iDASwB;AACxB,6CAAgD;AAChD,mDAIyB;AAEzB,4DAA8C;AAC9C,6DAAgE;AAChE,+CAKuB;AACvB,+CAAuC;AACvC,mDAAmE;AACnE,iCAOgB;AAChB,2CAAuC;AACvC,uCAAqD;AACrD,qEAA+D;AAC/D,6CAAkD;AAClD,iDAA6C;AAC7C,mDAMyB;AAGzB,qDAAgD;AAChD,iCAkBgB;AAChB,yCAA8C;AAkD9C,KAAK,UAAU,yBAAyB,CACtC,SAAe,EACf,MAAsC,EACtC,UAA8B,EAC9B,yBAAgE,EAChE,sBAA2C,EAC3C,WAAwB,EACxB,YAAoB,EACpB,MAAc,EACd,KAAa;IAEb,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,IAAI,EACf,IAAA,gCAAgB,EAAC,KAAK,CAAC,EACvB,SAAS,EACT,MAAM,EACN,MAAM,IAAA,qBAAc,EAAC,MAAM,CAAC,EAC5B,MAAM,EACN,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,CACb,CAAC;IAEF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,+BAAgB,EAAC,WAAW,CAAC,CAAC;IAExD,MAAM,gBAAgB,GAAqB;QACzC,GAAG,gBAAgB;QACnB,WAAW,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC,IAAI,EAAE;QAC5C,sBAAsB,EAAE,YAAY;QACpC,YAAY,EAAE,WAAW,IAAI,0BAAW,CAAC,OAAO;QAChD,kBAAkB,EAAE,iBAAiB,IAAI,EAAE;KAC5C,CAAC;IAEF,MAAM,uBAAuB,GAA4B,EAAE,CAAC;IAE5D,IAAI,yBAAyB,EAAE,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAChE,uBAAuB,CAAC,0BAA0B;YAChD,yBAAyB,CAAC,kBAAkB,CAAC;IACjD,CAAC;IACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACzC,uBAAuB,CAAC,yBAAyB,GAAG,sBAAsB,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACvE,GAAG,CACJ,CAAC;QACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,iBAAiB,CACpD,yBAAyB,CAC1B;YACC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,YAAY,GAAG,IAAA,+BAAgB,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;QACvD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC/D,CAAC;QACJ,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;gBACzC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,YAAY,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,KAAK,GAA6B,EAAE,CAAC;QACzC,IACE,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB;YAC/C,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;YAC5C,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAC9B,CAAC;YACD,gDAAgD;YAChD,MAAM,8BAA8B,GAAG,IAAA,kBAAW,EAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAC/B,CAAC;YACF,iFAAiF;YACjF,IAAI,KAAK,CAAC,OAAO,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,8BAA8B,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;YAC7C,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAClC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7B,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,0BAA0B,GAA+B;YAC7D,GAAG,gBAAgB;YACnB,WAAW,EAAE,UAAU,IAAI,EAAE;YAC7B,uBAAuB,EAAE,qBAAqB;YAC9C,KAAK;YACL,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5B,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9D,8BAA8B,EAAE,IAAI,CAAC,KAAK,CACxC,MAAM,IAAA,iCAAiB,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAClE;YACD,+BAA+B,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACzE,aAAa,EAAE,IAAI,CAAC,SAAS,CAC3B,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,CAChD;YACD,UAAU,EAAE,IAAI,CAAC,SAAS,CACxB,WAAW,CAAC,iCAAiC,CAC3C,IAAA,+BAAgB,EAAC,YAAY,CAAC,CAC/B,IAAI,EAAE,CACR;SACF,CAAC;QACF,MAAM,IAAA,gCAAgB,EAAC;YACrB,GAAG,0BAA0B;YAC7B,GAAG,uBAAuB;SAC3B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAA,gCAAgB,EAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,uBAAuB,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,IAAA,4BAAqB,EAAC,IAAA,+BAAgB,GAAE,CAAC,CAAC;IAE1C,6CAA6C;IAC7C,IAAA,4BAAa,GAAE,CAAC;IAEhB,IAAI,MAAsC,CAAC;IAC3C,IAAI,MAAc,CAAC;IACnB,IAAI,yBAAgE,CAAC;IACrE,IAAI,sBAA2C,CAAC;IAChD,IAAI,WAAwB,CAAC;IAC7B,IAAI,YAAoB,CAAC;IACzB,IAAI,gBAA8C,CAAC;IAEnD,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC;QAC/B,gBAAgB,EAAE,IAAA,+BAAgB,EAAC,2BAA2B,CAAC;QAC/D,GAAG,EAAE,IAAA,0BAAmB,EAAC,mBAAmB,CAAC;QAC7C,MAAM,EAAE,IAAA,0BAAmB,EAAC,gBAAgB,CAAC;KAC9C,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;IAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjD,IAAA,yBAAkB,EAAC,IAAA,+BAAgB,GAAE,EAAE,aAAa,CAAC,CAAC;IAEtD,MAAM,aAAa,GAAG,IAAA,+BAAkB,EACtC,IAAA,0BAAmB,EAAC,mBAAmB,CAAC,CACzC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAC3B,aAAa,EACb,aAAa,EACb,IAAA,oCAAqB,GAAE,EACvB,MAAM,CACP,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,SAAM,GAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,IAAA,+BAAgB,EAAC,aAAa,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,IAAI,EACf,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,IAAA,qBAAc,EAAC,MAAM,CAAC,EAC5B,MAAM,CACP,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAA,gCAAgB,EAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,wBAAwB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAClE,aAAa,CAAC,IAAI,CACnB,CAAC;QACF,sBAAsB,GAAG,wBAAwB,CAAC,sBAAsB,CAAC;QACzE,MAAM,gBAAgB,GAAG,MAAM,IAAA,iBAAU,EACvC,IAAA,+BAAgB,EAAC,OAAO,CAAC,EACzB,UAAU,EACV,IAAA,oCAAqB,GAAE,EACvB,aAAa,CAAC,IAAI,EAClB,wBAAwB,EACxB,QAAQ,EACR,MAAM,CACP,CAAC;QACF,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACjC,yBAAyB,GAAG,gBAAgB,CAAC,yBAAyB,CAAC;QACvE,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;QAC7C,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAC3C,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;QAErD,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACvC,MAAM,sBAAsB,GAAG,MAAM,IAAA,2BAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CACZ,8CAA8C,sBAAsB,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,MAAM,GAAG,MAAM,IAAA,iBAAU,EACvB;YACE,cAAc,EAAE,IAAA,+BAAgB,EAAC,WAAW,CAAC;YAC7C,YAAY,EAAE,IAAA,+BAAgB,EAAC,SAAS,CAAC;YACzC,UAAU,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC;YACrC,cAAc,EAAE,IAAA,+BAAgB,EAAC,YAAY,CAAC;YAC9C,UAAU;YACV,UAAU,EAAE,IAAA,+BAAgB,EAAC,aAAa,CAAC;YAC3C,WAAW,EAAE,IAAA,+BAAgB,EAAC,QAAQ,CAAC;YACvC,kBAAkB,EAAE,qBAAqB,EAAE;YAC3C,wBAAwB,EAAE,IAAA,2CAA2B,GAAE;YACvD,4BAA4B;YAC5B,+CAA+C;YAC/C,oNAAoN;YACpN,8DAA8D;YAC9D,SAAS,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjE,iBAAiB,EACf,IAAA,+BAAgB,EAAC,qBAAqB,CAAC;gBACvC,kCAA2B;YAC7B,iBAAiB,EACf,IAAA,+BAAgB,EAAC,qBAAqB,CAAC;gBACvC,kCAA2B;YAC7B,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,IAAA,oCAAqB,GAAE;YAChC,MAAM;YACN,aAAa,EAAE,IAAA,0BAAmB,EAAC,kBAAkB,CAAC;YACtD,aAAa,EAAE,aAAa;YAC5B,UAAU;YACV,QAAQ;YACR,MAAM;SACP,EACD,MAAM,CACP,CAAC;QAEF,MAAM,IAAA,4BAAqB,EAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAAsB,EACnD,0BAAU,CAAC,IAAI,EACf,KAAK,YAAY,yBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAC9D,SAAS,EACT,MAAM,EACN,MAAM,IAAA,qBAAc,EAAC,MAAM,CAAC,EAC5B,MAAM,EACN,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,CACZ,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAA,gCAAgB,EAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,IAAA,0BAAmB,EAAC,kBAAkB,CAAC,EACvC,IAAA,+BAAgB,EAAC,aAAa,CAAC,IAAI,EAAE,CACtC,CAAC;QAEF,MAAM,mBAAmB,GAAG,MAAM,IAAA,6BAAsB,EACtD,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EACnC,MAAM,EACN,UAAU,EACV,MAAM,CACP,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,gCAAgC,mBAAmB,EAAE,CAAC,CAAC;QAEnE,IAAI,mBAAmB,KAAK,4CAAmB,CAAC,OAAO,EAAE,CAAC;YACxD,IAAA,sCAA+B,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC;QAED,gDAAgD;QAChD,IAAI,yBAAyB,EAAE,CAAC;YAC9B,IAAA,2BAAa,EACX,MAAM;YACN,sFAAsF;YACtF,kDAAkD;YAClD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACnB,IAAA,4BAAc,EACZ,yCAAyC,EACzC,kCAAkC,EAClC;gBACE,UAAU,EAAE,yBAAyB;gBACrC,UAAU,EAAE;oBACV,eAAe,EAAE,KAAK;oBACtB,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,IAAI;iBAChB;aACF,CACF,CACF,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CACV,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QAED,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,KAAK,CAAC;YACzC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAC5B,CAAC;YACD,MAAM,CAAC,OAAO,CACZ,sHAAsH,CACvH,CAAC;QACJ,CAAC;QAED,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAC5B,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAC;gBAEnD,gHAAgH;gBAChH,0GAA0G;gBAC1G,wGAAwG;gBACxG,4FAA4F;gBAC5F,IACE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBACxC,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAC5B,6BAAY,CAAC,qCAAqC,CACnD,CAAC,EACF,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;wBAEzD,yDAAyD;wBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAC9B,IAAA,oCAAqB,GAAE,EACvB,0BAA0B,EAC1B,KAAK,CACN,CAAC;wBACF,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC/C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAE1B,uEAAuE;wBACvE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;wBACtD,EAAE,CAAC,aAAa,CACd,aAAa,EACb,uBAAuB,YAAY,OAAO,CAC3C,CAAC;wBACF,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;wBAEnC,2EAA2E;wBAC3E,sEAAsE;wBACtE,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;oBAChE,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,OAAO,CACZ,gGAAgG,CAAC,EAAE,CACpG,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,6GAA6G;oBAC7G,qBAAqB;oBACrB,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CACZ,sDAAsD,CAAC,EAAE,CAC1D,CAAC;gBAEF,IAAI,CAAC,YAAY,mCAAoB,EAAE,CAAC;oBACtC,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,sCAAsC,EACtC,8EAA8E,EAC9E;wBACE,eAAe,EACb,2IAA2I;wBAC7I,UAAU,EAAE;4BACV,UAAU,EAAE,IAAI;4BAChB,SAAS,EAAE,IAAI;4BACf,eAAe,EAAE,IAAI;yBACtB;wBACD,QAAQ,EAAE,SAAS;qBACpB,CACF,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,0FAA0F;QAC1F,0FAA0F;QAC1F,wFAAwF;QACxF,sFAAsF;QACtF,eAAe;QACf,IAAI,CAAC,cAAc,CACjB,YAAY,EACZ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACvB,IAAA,yBAAkB,EAAC,IAAA,+BAAgB,EAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CACjE,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,gBAAgB,EAChB,IAAA,0BAAmB,EAAC,IAAA,+BAAgB,EAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CACpE,CAAC;QAEF,+CAA+C;QAC/C,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,cAAc,CAAC,4CAA4C,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,cAAc,GAClB,wDAAwD,CAAC;QAC3D,IACE,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAC/C,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,mCAAmC,CAAC;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CACT,wBAAwB,MAAM,gEAAgE,CAC/F,CAAC;YACJ,CAAC;iBAAM,IACL,qBAAqB,EAAE;gBACvB,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAC9C,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACxD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBACzD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,sCAAsC,CAAC;YACtD,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnB,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,mDAAmD;QACnD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,uBAAO,CAAC,YAAY,CAAC;YAClC,MAAM,MAAM,GAAG,6BAAa,CAAC,IAAI,CAAC,CAAC,cAAwB,CAAC;YAC5D,MAAM,MAAM,GAAG,qCAAqC,CAAC;YACrD,8EAA8E;YAC9E,mGAAmG;YACnG,mFAAmF;YACnF,IAAI,IAAA,6BAAc,GAAE,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;gBACnC,MAAM,IAAI,yBAAkB,CAC1B,4EAA4E,MAAM,0BAA0B,CAC7G,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC;YACtD,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,yBAAkB,CAC1B,iEAAiE,MAAM,iCAAiC,SAAS,EAAE,CACpH,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACpD,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAA,kCAAkB,EAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACxD,MAAM,IAAA,6CAAwB,EAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,mFAAmF;QACnF,8CAA8C;QAC9C,IACE,CAAC,CAAC,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;YACpD,CAAC,CAAC,MAAM,IAAA,yBAAkB,EAAC,MAAM,CAAC,CAAC,EACnC,CAAC;YACD,MAAM,CAAC,OAAO,CACZ,2HAA2H,CAC5H,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,kFAAkF;QAClF,wBAAwB;QAExB,IAAI,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjD,kCAAkC;QACpC,CAAC;aAAM,IAAI,MAAM,IAAA,2BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACxD,yEAAyE;YACzE,IAAI,CAAC,cAAc,CACjB,oDAAoD,EACpD,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CACjB,oDAAoD,EACpD,MAAM,CACP,CAAC;QACJ,CAAC;QAED,IAAI,IAAA,+BAAgB,EAAC,2BAA2B,CAAC,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,CAAC,OAAO,CACZ,6RAA6R,CAC9R,CAAC;QACJ,CAAC;QAED,IACE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC;YACnE,SAAS,EACT,CAAC;YACD,MAAM,CAAC,OAAO,CACZ,uUAAuU,CACxU,CAAC;QACJ,CAAC;QAED,IACE,MAAM,MAAM,CAAC,eAAe,CAC1B,6BAAY,CAAC,iCAAiC,CAC/C,EACD,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,KAAK,CACV,4FAA4F,CAC7F,CAAC;YACJ,CAAC;iBAAM,IACL,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CACvB,uBAAO,CAAC,iCAAiC,EACzC,MAAM,CACP,CAAC,EACF,CAAC;gBACD,kEAAkE;gBAClE,uDAAuD;gBACvD,IAAI,CAAC,cAAc,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAA,cAAO,EAChC,MAAM,EACN,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,IAAA,+BAAgB,EAAC,YAAY,CAAC,EAC9B,UAAU,EACV,mBAAmB,EACnB,MAAM,CACP,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,6FAA6F;QAC7F,2BAA2B;QAC3B,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,yBAAyB,CAC7B,SAAS,EACT,MAAM,EACN,SAAS,EAAE,yCAAyC;QACpD,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,MAAM,EACN,KAAK,CACN,CAAC;QACF,OAAO;IACT,CAAC;YAAS,CAAC;QACT,IAAA,qCAAuB,GAAE,CAAC;IAC5B,CAAC;IACD,MAAM,yBAAyB,CAC7B,SAAS,EACT,MAAM,EACN,UAAU,EACV,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB;IAC5B,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAA,+BAAgB,EAAC,cAAc,CAAC,CAAC;IACrD,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,WAAW,KAAK,MAAM,CAAC;IAE7D,6FAA6F;IAC7F,IAAI,CAAC,IAAA,qBAAc,GAAE;QAAE,OAAO,KAAK,CAAC;IAEpC,oDAAoD;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAA0B,EAC1B,gBAAkC;IAElC,IAAA,2BAAa,EACX,MAAM;IACN,sFAAsF;IACtF,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACnB,IAAA,4BAAc,EACZ,iCAAiC,EACjC,wBAAwB,EACxB;QACE,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE;YACV,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;SAChB;KACF,CACF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,uBAAuB,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,IAAA,sBAAe,GAAE,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/lib/init.js b/lib/init.js index fa9c6ba663..19f0c956c9 100644 --- a/lib/init.js +++ b/lib/init.js @@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); exports.initCodeQL = initCodeQL; exports.initConfig = initConfig; +exports.getOverlayDatabaseMode = getOverlayDatabaseMode; exports.runInit = runInit; exports.printPathFiltersWarning = printPathFiltersWarning; exports.checkInstallPython311 = checkInstallPython311; @@ -43,10 +44,13 @@ const fs = __importStar(require("fs")); const path = __importStar(require("path")); const toolrunner = __importStar(require("@actions/exec/lib/toolrunner")); const io = __importStar(require("@actions/io")); +const semver = __importStar(require("semver")); const actions_util_1 = require("./actions-util"); const codeql_1 = require("./codeql"); const configUtils = __importStar(require("./config-utils")); +const git_utils_1 = require("./git-utils"); const languages_1 = require("./languages"); +const overlay_database_utils_1 = require("./overlay-database-utils"); const tools_features_1 = require("./tools-features"); const tracer_config_1 = require("./tracer-config"); const util = __importStar(require("./util")); @@ -73,7 +77,33 @@ async function initConfig(inputs, codeql) { logger.endGroup(); return config; } -async function runInit(codeql, config, sourceRoot, processName, registriesInput, apiDetails, logger) { +async function getOverlayDatabaseMode(codeqlVersion, config, sourceRoot, logger) { + const overlayDatabaseMode = process.env.CODEQL_OVERLAY_DATABASE_MODE; + if (overlayDatabaseMode === overlay_database_utils_1.OverlayDatabaseMode.Overlay || + overlayDatabaseMode === overlay_database_utils_1.OverlayDatabaseMode.OverlayBase) { + if (config.buildMode !== util.BuildMode.None) { + logger.warning(`Cannot build an ${overlayDatabaseMode} database because ` + + `build-mode is set to "${config.buildMode}" instead of "none". ` + + "Falling back to creating a normal full database instead."); + return overlay_database_utils_1.OverlayDatabaseMode.None; + } + if (semver.lt(codeqlVersion, overlay_database_utils_1.CODEQL_OVERLAY_MINIMUM_VERSION)) { + logger.warning(`Cannot build an ${overlayDatabaseMode} database because ` + + `the CodeQL CLI is older than ${overlay_database_utils_1.CODEQL_OVERLAY_MINIMUM_VERSION}. ` + + "Falling back to creating a normal full database instead."); + return overlay_database_utils_1.OverlayDatabaseMode.None; + } + if ((await (0, git_utils_1.getGitRoot)(sourceRoot)) === undefined) { + logger.warning(`Cannot build an ${overlayDatabaseMode} database because ` + + `the source root "${sourceRoot}" is not inside a git repository. ` + + "Falling back to creating a normal full database instead."); + return overlay_database_utils_1.OverlayDatabaseMode.None; + } + return overlayDatabaseMode; + } + return overlay_database_utils_1.OverlayDatabaseMode.None; +} +async function runInit(codeql, config, sourceRoot, processName, registriesInput, apiDetails, overlayDatabaseMode, logger) { fs.mkdirSync(config.dbLocation, { recursive: true }); const { registriesAuthTokens, qlconfigFile } = await configUtils.generateRegistries(registriesInput, config.tempDir, logger); await configUtils.wrapEnvironment({ @@ -81,7 +111,7 @@ async function runInit(codeql, config, sourceRoot, processName, registriesInput, CODEQL_REGISTRIES_AUTH: registriesAuthTokens, }, // Init a database cluster - async () => await codeql.databaseInitCluster(config, sourceRoot, processName, qlconfigFile, logger)); + async () => await codeql.databaseInitCluster(config, sourceRoot, processName, qlconfigFile, overlayDatabaseMode, logger)); return await (0, tracer_config_1.getCombinedTracerConfig)(codeql, config); } function printPathFiltersWarning(config, logger) { diff --git a/lib/init.js.map b/lib/init.js.map index e9804b5ce1..3fccf7ed87 100644 --- a/lib/init.js.map +++ b/lib/init.js.map @@ -1 +1 @@ -{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,gCAyCC;AAED,gCAgBC;AAED,0BAkCC;AAED,0DAeC;AAMD,sDAkBC;AAED,0EAkDC;AAhND,uCAAyB;AACzB,2CAA6B;AAE7B,yEAA2D;AAC3D,gDAAkC;AAElC,iDAAsE;AAEtE,qCAA+C;AAC/C,4DAA8C;AAE9C,2CAA0D;AAK1D,qDAAgD;AAChD,mDAAwE;AACxE,6CAA+B;AAExB,KAAK,UAAU,UAAU,CAC9B,UAA8B,EAC9B,UAA4B,EAC5B,OAAe,EACf,OAA2B,EAC3B,iBAA2C,EAC3C,QAA2B,EAC3B,MAAc;IAQd,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,EACJ,MAAM,EACN,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,GAAG,MAAM,IAAA,oBAAW,EACnB,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,IAAI,CACL,CAAC;IACF,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO;QACL,MAAM;QACN,yBAAyB;QACzB,WAAW;QACX,YAAY;QACZ,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAAoC,EACpC,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,IACE,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAC5B,6BAAY,CAAC,kCAAkC,CAChD,CAAC,EACF,CAAC;QACD,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,MAA0B,EAC1B,UAAkB,EAClB,WAA+B,EAC/B,eAAmC,EACnC,UAAoC,EACpC,MAAc;IAEd,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAC1C,MAAM,WAAW,CAAC,kBAAkB,CAClC,eAAe,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CACP,CAAC;IACJ,MAAM,WAAW,CAAC,eAAe,CAC/B;QACE,YAAY,EAAE,UAAU,CAAC,IAAI;QAC7B,sBAAsB,EAAE,oBAAoB;KAC7C;IAED,0BAA0B;IAC1B,KAAK,IAAI,EAAE,CACT,MAAM,MAAM,CAAC,mBAAmB,CAC9B,MAAM,EACN,UAAU,EACV,WAAW,EACX,YAAY,EACZ,MAAM,CACP,CACJ,CAAC;IACF,OAAO,MAAM,IAAA,uCAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,uBAAuB,CACrC,MAA0B,EAC1B,MAAc;IAEd,qEAAqE;IACrE,sEAAsE;IACtE,IACE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM;QACrC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACnD,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,6BAAiB,CAAC,EAC1C,CAAC;QACD,MAAM,CAAC,OAAO,CACZ,mGAAmG,CACpG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,qBAAqB,CACzC,SAAqB,EACrB,MAAc;IAEd,IACE,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,MAAM,CAAC;QACnC,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EACxD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CACzB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,CACrB,CAAC;QACF,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;YAClE,MAAM;SACP,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,+BAA+B,CAC7C,MAA0B,EAC1B,MAAc;AACd,+FAA+F;AAC/F,eAAe;AACf,MAAM,GAAG,EAAE,CAAC,MAAM;IAElB,IACE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;QAChC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;YACtC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAC3C,CAAC;QACD,MAAM,CAAC,OAAO,CACZ,kCAAkC,MAAM,CAAC,UAAU,4CAA4C,CAChG,CAAC;QACF,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;gBACxB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CACT,yCAAyC,MAAM,CAAC,UAAU,GAAG,CAC9D,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,mEACZ,IAAA,+BAAgB,EAAC,aAAa,CAAC;gBAC7B,CAAC,CAAC,sCAAsC,MAAM,CAAC,UAAU,IAAI;gBAC7D,CAAC,CAAC,kCAAkC,MAAM,CAAC,UAAU,IAAI;oBACvD,yEACN,iEAAiE,CAAC;YAElE,kGAAkG;YAClG,IAAI,IAAA,iCAAkB,GAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,GAAG,KAAK,4GAA4G;oBAClH,sEAAsE,IAAI,CAAC,eAAe,CACxF,CAAC,CACF,EAAE,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,sDAAsD;oBAC5D,+EAA+E;oBAC/E,yCAAyC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,gCAyCC;AAED,gCAgBC;AAED,wDAuCC;AAED,0BAoCC;AAED,0DAeC;AAMD,sDAkBC;AAED,0EAkDC;AAjQD,uCAAyB;AACzB,2CAA6B;AAE7B,yEAA2D;AAC3D,gDAAkC;AAClC,+CAAiC;AAEjC,iDAAsE;AAEtE,qCAA+C;AAC/C,4DAA8C;AAE9C,2CAAyC;AACzC,2CAA0D;AAE1D,qEAGkC;AAIlC,qDAAgD;AAChD,mDAAwE;AACxE,6CAA+B;AAExB,KAAK,UAAU,UAAU,CAC9B,UAA8B,EAC9B,UAA4B,EAC5B,OAAe,EACf,OAA2B,EAC3B,iBAA2C,EAC3C,QAA2B,EAC3B,MAAc;IAQd,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,EACJ,MAAM,EACN,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,GAAG,MAAM,IAAA,oBAAW,EACnB,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,IAAI,CACL,CAAC;IACF,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO;QACL,MAAM;QACN,yBAAyB;QACzB,WAAW;QACX,YAAY;QACZ,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAAoC,EACpC,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,IACE,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAC5B,6BAAY,CAAC,kCAAkC,CAChD,CAAC,EACF,CAAC;QACD,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,aAAqB,EACrB,MAA0B,EAC1B,UAAkB,EAClB,MAAc;IAEd,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAErE,IACE,mBAAmB,KAAK,4CAAmB,CAAC,OAAO;QACnD,mBAAmB,KAAK,4CAAmB,CAAC,WAAW,EACvD,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CACZ,mBAAmB,mBAAmB,oBAAoB;gBACxD,yBAAyB,MAAM,CAAC,SAAS,uBAAuB;gBAChE,0DAA0D,CAC7D,CAAC;YACF,OAAO,4CAAmB,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,IAAI,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,uDAA8B,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,OAAO,CACZ,mBAAmB,mBAAmB,oBAAoB;gBACxD,gCAAgC,uDAA8B,IAAI;gBAClE,0DAA0D,CAC7D,CAAC;YACF,OAAO,4CAAmB,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,MAAM,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,CAAC,OAAO,CACZ,mBAAmB,mBAAmB,oBAAoB;gBACxD,oBAAoB,UAAU,oCAAoC;gBAClE,0DAA0D,CAC7D,CAAC;YACF,OAAO,4CAAmB,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,mBAA0C,CAAC;IACpD,CAAC;IACD,OAAO,4CAAmB,CAAC,IAAI,CAAC;AAClC,CAAC;AAEM,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,MAA0B,EAC1B,UAAkB,EAClB,WAA+B,EAC/B,eAAmC,EACnC,UAAoC,EACpC,mBAAwC,EACxC,MAAc;IAEd,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAC1C,MAAM,WAAW,CAAC,kBAAkB,CAClC,eAAe,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CACP,CAAC;IACJ,MAAM,WAAW,CAAC,eAAe,CAC/B;QACE,YAAY,EAAE,UAAU,CAAC,IAAI;QAC7B,sBAAsB,EAAE,oBAAoB;KAC7C;IAED,0BAA0B;IAC1B,KAAK,IAAI,EAAE,CACT,MAAM,MAAM,CAAC,mBAAmB,CAC9B,MAAM,EACN,UAAU,EACV,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,MAAM,CACP,CACJ,CAAC;IACF,OAAO,MAAM,IAAA,uCAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,uBAAuB,CACrC,MAA0B,EAC1B,MAAc;IAEd,qEAAqE;IACrE,sEAAsE;IACtE,IACE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM;QACrC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACnD,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,6BAAiB,CAAC,EAC1C,CAAC;QACD,MAAM,CAAC,OAAO,CACZ,mGAAmG,CACpG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,qBAAqB,CACzC,SAAqB,EACrB,MAAc;IAEd,IACE,SAAS,CAAC,QAAQ,CAAC,oBAAQ,CAAC,MAAM,CAAC;QACnC,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EACxD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CACzB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,CACrB,CAAC;QACF,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;YAClE,MAAM;SACP,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,+BAA+B,CAC7C,MAA0B,EAC1B,MAAc;AACd,+FAA+F;AAC/F,eAAe;AACf,MAAM,GAAG,EAAE,CAAC,MAAM;IAElB,IACE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;QAChC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;YACtC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAC3C,CAAC;QACD,MAAM,CAAC,OAAO,CACZ,kCAAkC,MAAM,CAAC,UAAU,4CAA4C,CAChG,CAAC;QACF,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;gBACxB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CACT,yCAAyC,MAAM,CAAC,UAAU,GAAG,CAC9D,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,mEACZ,IAAA,+BAAgB,EAAC,aAAa,CAAC;gBAC7B,CAAC,CAAC,sCAAsC,MAAM,CAAC,UAAU,IAAI;gBAC7D,CAAC,CAAC,kCAAkC,MAAM,CAAC,UAAU,IAAI;oBACvD,yEACN,iEAAiE,CAAC;YAElE,kGAAkG;YAClG,IAAI,IAAA,iCAAkB,GAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAC/B,GAAG,KAAK,4GAA4G;oBAClH,sEAAsE,IAAI,CAAC,eAAe,CACxF,CAAC,CACF,EAAE,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,sDAAsD;oBAC5D,+EAA+E;oBAC/E,yCAAyC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/lib/overlay-database-utils.js b/lib/overlay-database-utils.js new file mode 100644 index 0000000000..25c0534a2c --- /dev/null +++ b/lib/overlay-database-utils.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CODEQL_OVERLAY_MINIMUM_VERSION = exports.OverlayDatabaseMode = void 0; +var OverlayDatabaseMode; +(function (OverlayDatabaseMode) { + OverlayDatabaseMode["Overlay"] = "overlay"; + OverlayDatabaseMode["OverlayBase"] = "overlay-base"; + OverlayDatabaseMode["None"] = "none"; +})(OverlayDatabaseMode || (exports.OverlayDatabaseMode = OverlayDatabaseMode = {})); +exports.CODEQL_OVERLAY_MINIMUM_VERSION = "2.20.5"; +//# sourceMappingURL=overlay-database-utils.js.map \ No newline at end of file diff --git a/lib/overlay-database-utils.js.map b/lib/overlay-database-utils.js.map new file mode 100644 index 0000000000..c440b5d504 --- /dev/null +++ b/lib/overlay-database-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"overlay-database-utils.js","sourceRoot":"","sources":["../src/overlay-database-utils.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,mDAA4B,CAAA;IAC5B,oCAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AAEY,QAAA,8BAA8B,GAAG,QAAQ,CAAC"} \ No newline at end of file From f8367fb0632ad49566c00128a7ed86aff914dc74 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Mon, 10 Mar 2025 14:48:06 +0000 Subject: [PATCH 12/22] Set and cache dependency directory for Java `build-mode: none` --- lib/analyze.js | 5 +++++ lib/analyze.js.map | 2 +- lib/dependency-caching.js | 7 +++++++ lib/dependency-caching.js.map | 2 +- src/analyze.ts | 7 +++++++ src/dependency-caching.ts | 7 +++++++ 6 files changed, 28 insertions(+), 2 deletions(-) diff --git a/lib/analyze.js b/lib/analyze.js index 09cba94029..662a931044 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -54,6 +54,7 @@ const actionsUtil = __importStar(require("./actions-util")); const api_client_1 = require("./api-client"); const autobuild_1 = require("./autobuild"); const codeql_1 = require("./codeql"); +const dependency_caching_1 = require("./dependency-caching"); const diagnostics_1 = require("./diagnostics"); const diff_filtering_utils_1 = require("./diff-filtering-utils"); const environment_1 = require("./environment"); @@ -102,6 +103,10 @@ async function runExtraction(codeql, config, logger) { config.buildMode === util_1.BuildMode.Autobuild) { await (0, autobuild_1.setupCppAutobuild)(codeql, logger); } + if (language === languages_1.Language.java && config.buildMode === util_1.BuildMode.None) { + process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] = + (0, dependency_caching_1.getJavaDependencyDir)(); + } await codeql.extractUsingBuildMode(config, language); } else { diff --git a/lib/analyze.js.map b/lib/analyze.js.map index a48a848386..ae2c5635a7 100644 --- a/lib/analyze.js.map +++ b/lib/analyze.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4IA,sCAmCC;AAcD,sCAiBC;AAkDD,8DAgCC;AAiQD,gCA6IC;AAED,kCA8BC;AAED,gEA2CC;AAED,gCAYC;AAzwBD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAyC;AAEzC,gDAAkC;AAClC,8CAAsB;AACtB,8CAAgC;AAEhC,4DAA8C;AAC9C,6CAA4C;AAC5C,2CAAgD;AAChD,qCAA6C;AAE7C,+CAA8D;AAC9D,iEAGgC;AAChC,+CAAuC;AACvC,mDAA6D;AAC7D,2CAA0D;AAC1D,uCAAmD;AAEnD,qDAAgD;AAChD,mDAAuD;AACvD,6CAAuD;AACvD,6CAA+B;AAC/B,iCAAmC;AAEnC,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACS,mBAAwC,EACxC,OAAe,EACf,KAAY;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAO;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AATD,kDASC;AAwFD,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,+FAA+F;QAC/F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iSAAiS;QAC/R,mPAAmP,CACtP,CAAC;IACF,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,KAAK,CACV,gBAAgB,QAAQ,mDAAmD,CAC5E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,oBAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,6BAAY,CAAC,wBAAwB,CAAC,CAAC,EACrE,CAAC;gBACD,IACE,QAAQ,KAAK,oBAAQ,CAAC,GAAG;oBACzB,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EACxC,CAAC;oBACD,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA0B,EAC1B,QAAkB;IAElB,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI;QACnC,CAAC,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS;YACvC,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,IAAA,6BAAiB,EAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA0B,EAC1B,QAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;QAC9B,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CACZ,wCAAwC,QAAQ,qCAAqC,CACtF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAc,EACd,MAA0B,EAC1B,WAAmB,EACnB,UAAkB,EAClB,MAAc;IAEd,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,sFAAsF,CAC5I,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,gBAAgB,CAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,WAAW,EACX,UAAU,EACV,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,OAAO;QACL,uCAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnE,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,QAA2B;IAE3B,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,IAAA,wBAAc,EACzB,sCAAsC,EACtC,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,8BAA8B,CACrD,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CACZ,qEAAqE;gBACnE,wCAAwC,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CACZ,2DAA2D;YACzD,IAAI,SAAS,CAAC,MAAM,sCAAsC,CAC7D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,OAAO,MAAM,SAAS,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,GAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CACzE;YACE,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,CAAC;SACZ,CACF,CAAC;QACF,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;YACtD,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,yBAAyB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;gBACtD,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACtD,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACjE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,MAAc;IAEd,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI;SAClB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACtE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC3B,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,yEAAyE;YACzE,gDAAgD;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;aACX;SACF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,4EAA4E;IAC5E,IAAI,sBAAsB,GAAuB,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,kDAAkD;IAClD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,iDAAiD;YACjD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACzC,sBAAsB,GAAG,WAAW,CAAC;YACvC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,wEAAwE;YACxE,wBAAwB;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,WAAW,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,yDAAyD;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CACZ,qCAAqC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CACtE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,MAAc,EACd,MAAoC;IAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,eAAe,CAChB,CAAC;IACF,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC;;;;;;;;CAQH,CACE,CAAC;IAEF,MAAM,MAAM,GAAG;;;;;;CAMhB,CAAC;IAEA,IAAI,IAAI,GAAG,MAAM;SACd,GAAG,CACF,CAAC,KAAK,EAAE,EAAE;IACR,sEAAsE;IACtE,oEAAoE;IACpE,kCAAkC;IAClC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI;QACnE,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,CAC5C;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,GAAG,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CACV,yCAAyC,iBAAiB,MAAM,iBAAiB,EAAE,CACpF,CAAC;IAEF,+EAA+E;IAC/E,qBAAqB;IACrB,IAAA,8CAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,2DAA2D;AACpD,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,UAAkB,EAClB,eAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,gBAAoC,EACpC,mBAAuC,EACvC,MAA0B,EAC1B,MAAc,EACd,QAA2B;IAE3B,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,SAAS,CAAC;IACxE,IAAI,gBAAgB,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;YAE9D,+CAA+C;YAC/C,oDAAoD;YACpD,oDAAoD;YACpD,oCAAoC;YACpC,MAAM,CAAC,UAAU,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAC;YAC1D,6EAA6E;YAC7E,gDAAgD;YAChD,YAAY,CAAC,2BAA2B,QAAQ,cAAc,CAAC;gBAC7D,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC;YAE7C,MAAM,CAAC,UAAU,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3C,YAAY,CAAC,qBAAqB,QAAQ,cAAc,CAAC;gBACvD,uBAAuB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAEtE,MAAM,6BAA6B,GAAgB;oBACjD,KAAK,EAAE,mCAAmC;oBAC1C,UAAU,EAAE,yBAAyB,CAAC,WAAW,EAAE;oBACnD,YAAY,EAAE,uBAAuB,CAAC,WAAW,EAAE;oBACnD,WAAW,EAAE,SAAS;oBACtB,QAAQ;oBACR,UAAU,EAAE;wBACV,WAAW,EAAE,mBAAmB;qBACjC;iBACF,CAAC;gBAEF,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACjD,MAAM,IAAI,mBAAmB,CAC3B,YAAY,EACZ,8BAA8B,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;IAEpB,KAAK,UAAU,mBAAmB,CAChC,QAAkB,EAClB,OAA6B,EAC7B,SAAiB,EACjB,kBAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAC1C,YAAY,EACZ,OAAO,EACP,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,GAAW;QAEX,IAAA,oCAAuB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CACjB,CAAC;QACpB,iGAAiG;QAEjG,yCAAyC;QACzC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;QAEvD,uDAAuD;QACvD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACV,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,IAAA,aAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,CACP,CAAC;IAEF,wEAAwE;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvE,MAAM,IAAA,oCAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,MAA0B,EAC1B,MAAc;IAEd,gHAAgH;IAChH,mHAAmH;IACnH,sDAAsD;IACtD,gHAAgH;IAChH,mHAAmH;IACnH,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,kBAAkB,CAAC,CAAC;IAE1D,IACE,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;QACnD,UAAU,KAAK,SAAS,EACxB,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CACZ,mCAAmC,UAAU,aAAa,YAAY,+GAA+G,CACtL,CAAC;YAEF,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,4CAA4C,EAC5C,gEAAgE,EAChE;gBACE,eAAe,EACb,sIAAsI;gBACxI,UAAU,EAAE;oBACV,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,IAAI;iBACtB;gBACD,QAAQ,EAAE,SAAS;aACpB,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,YAAoB,EACpB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,aAAa;CACd,CAAC"} \ No newline at end of file +{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,sCAyCC;AAcD,sCAiBC;AAkDD,8DAgCC;AAiQD,gCA6IC;AAED,kCA8BC;AAED,gEA2CC;AAED,gCAYC;AAhxBD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAyC;AAEzC,gDAAkC;AAClC,8CAAsB;AACtB,8CAAgC;AAEhC,4DAA8C;AAC9C,6CAA4C;AAC5C,2CAAgD;AAChD,qCAA6C;AAE7C,6DAA4D;AAC5D,+CAA8D;AAC9D,iEAGgC;AAChC,+CAAuC;AACvC,mDAA6D;AAC7D,2CAA0D;AAC1D,uCAAmD;AAEnD,qDAAgD;AAChD,mDAAuD;AACvD,6CAAuD;AACvD,6CAA+B;AAC/B,iCAAmC;AAEnC,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACS,mBAAwC,EACxC,OAAe,EACf,KAAY;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAO;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AATD,kDASC;AAwFD,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,+FAA+F;QAC/F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iSAAiS;QAC/R,mPAAmP,CACtP,CAAC;IACF,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,KAAK,CACV,gBAAgB,QAAQ,mDAAmD,CAC5E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,oBAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,6BAAY,CAAC,wBAAwB,CAAC,CAAC,EACrE,CAAC;gBACD,IACE,QAAQ,KAAK,oBAAQ,CAAC,GAAG;oBACzB,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EACxC,CAAC;oBACD,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,QAAQ,KAAK,oBAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI,EAAE,CAAC;oBACtE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;wBAClE,IAAA,yCAAoB,GAAE,CAAC;gBAC3B,CAAC;gBAED,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA0B,EAC1B,QAAkB;IAElB,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI;QACnC,CAAC,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS;YACvC,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,IAAA,6BAAiB,EAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA0B,EAC1B,QAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;QAC9B,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CACZ,wCAAwC,QAAQ,qCAAqC,CACtF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAc,EACd,MAA0B,EAC1B,WAAmB,EACnB,UAAkB,EAClB,MAAc;IAEd,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,sFAAsF,CAC5I,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,gBAAgB,CAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,WAAW,EACX,UAAU,EACV,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,OAAO;QACL,uCAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnE,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,QAA2B;IAE3B,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,IAAA,wBAAc,EACzB,sCAAsC,EACtC,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,8BAA8B,CACrD,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CACZ,qEAAqE;gBACnE,wCAAwC,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CACZ,2DAA2D;YACzD,IAAI,SAAS,CAAC,MAAM,sCAAsC,CAC7D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,OAAO,MAAM,SAAS,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,GAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CACzE;YACE,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,CAAC;SACZ,CACF,CAAC;QACF,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;YACtD,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,yBAAyB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;gBACtD,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACtD,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACjE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,MAAc;IAEd,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI;SAClB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACtE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC3B,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,yEAAyE;YACzE,gDAAgD;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;aACX;SACF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,4EAA4E;IAC5E,IAAI,sBAAsB,GAAuB,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,kDAAkD;IAClD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,iDAAiD;YACjD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACzC,sBAAsB,GAAG,WAAW,CAAC;YACvC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,wEAAwE;YACxE,wBAAwB;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,WAAW,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,yDAAyD;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CACZ,qCAAqC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CACtE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,MAAc,EACd,MAAoC;IAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,eAAe,CAChB,CAAC;IACF,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC;;;;;;;;CAQH,CACE,CAAC;IAEF,MAAM,MAAM,GAAG;;;;;;CAMhB,CAAC;IAEA,IAAI,IAAI,GAAG,MAAM;SACd,GAAG,CACF,CAAC,KAAK,EAAE,EAAE;IACR,sEAAsE;IACtE,oEAAoE;IACpE,kCAAkC;IAClC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI;QACnE,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,CAC5C;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,GAAG,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CACV,yCAAyC,iBAAiB,MAAM,iBAAiB,EAAE,CACpF,CAAC;IAEF,+EAA+E;IAC/E,qBAAqB;IACrB,IAAA,8CAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,2DAA2D;AACpD,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,UAAkB,EAClB,eAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,gBAAoC,EACpC,mBAAuC,EACvC,MAA0B,EAC1B,MAAc,EACd,QAA2B;IAE3B,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,SAAS,CAAC;IACxE,IAAI,gBAAgB,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;YAE9D,+CAA+C;YAC/C,oDAAoD;YACpD,oDAAoD;YACpD,oCAAoC;YACpC,MAAM,CAAC,UAAU,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAC;YAC1D,6EAA6E;YAC7E,gDAAgD;YAChD,YAAY,CAAC,2BAA2B,QAAQ,cAAc,CAAC;gBAC7D,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC;YAE7C,MAAM,CAAC,UAAU,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3C,YAAY,CAAC,qBAAqB,QAAQ,cAAc,CAAC;gBACvD,uBAAuB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAEtE,MAAM,6BAA6B,GAAgB;oBACjD,KAAK,EAAE,mCAAmC;oBAC1C,UAAU,EAAE,yBAAyB,CAAC,WAAW,EAAE;oBACnD,YAAY,EAAE,uBAAuB,CAAC,WAAW,EAAE;oBACnD,WAAW,EAAE,SAAS;oBACtB,QAAQ;oBACR,UAAU,EAAE;wBACV,WAAW,EAAE,mBAAmB;qBACjC;iBACF,CAAC;gBAEF,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACjD,MAAM,IAAI,mBAAmB,CAC3B,YAAY,EACZ,8BAA8B,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;IAEpB,KAAK,UAAU,mBAAmB,CAChC,QAAkB,EAClB,OAA6B,EAC7B,SAAiB,EACjB,kBAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAC1C,YAAY,EACZ,OAAO,EACP,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,GAAW;QAEX,IAAA,oCAAuB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CACjB,CAAC;QACpB,iGAAiG;QAEjG,yCAAyC;QACzC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;QAEvD,uDAAuD;QACvD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACV,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,IAAA,aAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,CACP,CAAC;IAEF,wEAAwE;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvE,MAAM,IAAA,oCAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,MAA0B,EAC1B,MAAc;IAEd,gHAAgH;IAChH,mHAAmH;IACnH,sDAAsD;IACtD,gHAAgH;IAChH,mHAAmH;IACnH,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,kBAAkB,CAAC,CAAC;IAE1D,IACE,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;QACnD,UAAU,KAAK,SAAS,EACxB,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CACZ,mCAAmC,UAAU,aAAa,YAAY,+GAA+G,CACtL,CAAC;YAEF,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,4CAA4C,EAC5C,gEAAgE,EAChE;gBACE,eAAe,EACb,sIAAsI;gBACxI,UAAU,EAAE;oBACV,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,IAAI;iBACtB;gBACD,QAAQ,EAAE,SAAS;aACpB,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,YAAoB,EACpB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,aAAa;CACd,CAAC"} \ No newline at end of file diff --git a/lib/dependency-caching.js b/lib/dependency-caching.js index c87d159ac2..bda9d35e79 100644 --- a/lib/dependency-caching.js +++ b/lib/dependency-caching.js @@ -33,17 +33,22 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); +exports.getJavaDependencyDir = getJavaDependencyDir; exports.downloadDependencyCaches = downloadDependencyCaches; exports.uploadDependencyCaches = uploadDependencyCaches; const os = __importStar(require("os")); const path_1 = require("path"); const actionsCache = __importStar(require("@actions/cache")); const glob = __importStar(require("@actions/glob")); +const actions_util_1 = require("./actions-util"); const caching_utils_1 = require("./caching-utils"); const environment_1 = require("./environment"); const util_1 = require("./util"); const CODEQL_DEPENDENCY_CACHE_PREFIX = "codeql-dependencies"; const CODEQL_DEPENDENCY_CACHE_VERSION = 1; +function getJavaDependencyDir() { + return (0, path_1.join)((0, actions_util_1.getTemporaryDirectory)(), "codeql_java", "repository"); +} /** * Default caching configurations per language. */ @@ -54,6 +59,8 @@ const CODEQL_DEFAULT_CACHE_CONFIG = { (0, path_1.join)(os.homedir(), ".m2", "repository"), // Gradle (0, path_1.join)(os.homedir(), ".gradle", "caches"), + // CodeQL Java build-mode: none + getJavaDependencyDir(), ], hash: [ // Maven diff --git a/lib/dependency-caching.js.map b/lib/dependency-caching.js.map index 27e941cae4..a2d3d6b822 100644 --- a/lib/dependency-caching.js.map +++ b/lib/dependency-caching.js.map @@ -1 +1 @@ -{"version":3,"file":"dependency-caching.js","sourceRoot":"","sources":["../src/dependency-caching.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,4DAmDC;AAQD,wDAiEC;AA3MD,uCAAyB;AACzB,+BAA4B;AAE5B,6DAA+C;AAC/C,oDAAsC;AAEtC,mDAAoD;AAEpD,+CAAuC;AAGvC,iCAA6C;AAgB7C,MAAM,8BAA8B,GAAG,qBAAqB,CAAC;AAC7D,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,2BAA2B,GAAwC;IACvE,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ;YACR,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC;YACvC,SAAS;YACT,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;SACxC;QACD,IAAI,EAAE;YACJ,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,cAAc;YACd,8BAA8B;YAC9B,yBAAyB;YACzB,6BAA6B;YAC7B,wBAAwB;YACxB,wBAAwB;SACzB;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,EAAE;YACJ,QAAQ;YACR,uBAAuB;YACvB,QAAQ;YACR,eAAe;SAChB;KACF;IACD,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,WAAW,CAAC;KACpB;CACF,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC5C,SAAqB,EACrB,MAAc;IAEd,MAAM,cAAc,GAAe,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,8CAA8C,CACpG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,mDAAmD,CACzG,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,WAAW,GAAa,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,MAAM,CAAC,IAAI,CACT,yBAAyB,QAAQ,aAAa,UAAU,qBAAqB,WAAW,CAAC,IAAI,CAC3F,IAAI,CACL,EAAE,CACJ,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,QAAQ,QAAQ,GAAG,CAAC,CAAC;YAC3D,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,MAAc;IACzE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,8CAA8C,CAClG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,mDAAmD,CACvG,CAAC;YACF,SAAS;QACX,CAAC;QAED,yGAAyG;QACzG,uGAAuG;QACvG,uCAAuC;QACvC,uGAAuG;QACvG,uGAAuG;QACvG,sCAAsC;QACtC,uGAAuG;QACvG,sGAAsG;QACtG,sGAAsG;QACtG,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAA,iCAAiB,EAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEtE,iCAAiC;QACjC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,qBAAqB,CACzE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElD,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,QAAQ,QAAQ,aAAa,GAAG,KAAK,CACrE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,uFAAuF;YACvF,gCAAgC;YAChC,IAAI,KAAK,YAAY,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CACT,2BAA2B,QAAQ,aAAa,GAAG,qBAAqB,CACzE,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,WAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,WAAW,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,yBAAyB,CAAC,CAAC;IACnE,IAAI,MAAM,GAAG,8BAA8B,CAAC;IAE5C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,+BAA+B,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC;AACjF,CAAC"} \ No newline at end of file +{"version":3,"file":"dependency-caching.js","sourceRoot":"","sources":["../src/dependency-caching.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,oDAEC;AAqDD,4DAmDC;AAQD,wDAiEC;AAlND,uCAAyB;AACzB,+BAA4B;AAE5B,6DAA+C;AAC/C,oDAAsC;AAEtC,iDAAuD;AACvD,mDAAoD;AAEpD,+CAAuC;AAGvC,iCAA6C;AAgB7C,MAAM,8BAA8B,GAAG,qBAAqB,CAAC;AAC7D,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAE1C,SAAgB,oBAAoB;IAClC,OAAO,IAAA,WAAI,EAAC,IAAA,oCAAqB,GAAE,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,2BAA2B,GAAwC;IACvE,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ;YACR,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC;YACvC,SAAS;YACT,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;YACvC,+BAA+B;YAC/B,oBAAoB,EAAE;SACvB;QACD,IAAI,EAAE;YACJ,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,cAAc;YACd,8BAA8B;YAC9B,yBAAyB;YACzB,6BAA6B;YAC7B,wBAAwB;YACxB,wBAAwB;SACzB;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,EAAE;YACJ,QAAQ;YACR,uBAAuB;YACvB,QAAQ;YACR,eAAe;SAChB;KACF;IACD,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,WAAW,CAAC;KACpB;CACF,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC5C,SAAqB,EACrB,MAAc;IAEd,MAAM,cAAc,GAAe,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,8CAA8C,CACpG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,mDAAmD,CACzG,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,WAAW,GAAa,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,MAAM,CAAC,IAAI,CACT,yBAAyB,QAAQ,aAAa,UAAU,qBAAqB,WAAW,CAAC,IAAI,CAC3F,IAAI,CACL,EAAE,CACJ,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,QAAQ,QAAQ,GAAG,CAAC,CAAC;YAC3D,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,MAAc;IACzE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,8CAA8C,CAClG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,mDAAmD,CACvG,CAAC;YACF,SAAS;QACX,CAAC;QAED,yGAAyG;QACzG,uGAAuG;QACvG,uCAAuC;QACvC,uGAAuG;QACvG,uGAAuG;QACvG,sCAAsC;QACtC,uGAAuG;QACvG,sGAAsG;QACtG,sGAAsG;QACtG,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAA,iCAAiB,EAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEtE,iCAAiC;QACjC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,qBAAqB,CACzE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElD,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,QAAQ,QAAQ,aAAa,GAAG,KAAK,CACrE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,uFAAuF;YACvF,gCAAgC;YAChC,IAAI,KAAK,YAAY,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CACT,2BAA2B,QAAQ,aAAa,GAAG,qBAAqB,CACzE,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,WAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,WAAW,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,yBAAyB,CAAC,CAAC;IACnE,IAAI,MAAM,GAAG,8BAA8B,CAAC;IAE5C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,+BAA+B,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC;AACjF,CAAC"} \ No newline at end of file diff --git a/src/analyze.ts b/src/analyze.ts index 1fcce7f98d..f6c527d172 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -11,6 +11,7 @@ import { getApiClient } from "./api-client"; import { setupCppAutobuild } from "./autobuild"; import { CodeQL, getCodeQL } from "./codeql"; import * as configUtils from "./config-utils"; +import { getJavaDependencyDir } from "./dependency-caching"; import { addDiagnostic, makeDiagnostic } from "./diagnostics"; import { DiffThunkRange, @@ -166,6 +167,12 @@ export async function runExtraction( ) { await setupCppAutobuild(codeql, logger); } + + if (language === Language.java && config.buildMode === BuildMode.None) { + process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] = + getJavaDependencyDir(); + } + await codeql.extractUsingBuildMode(config, language); } else { await codeql.extractScannedLanguage(config, language); diff --git a/src/dependency-caching.ts b/src/dependency-caching.ts index 98f41a803b..aec9021d92 100644 --- a/src/dependency-caching.ts +++ b/src/dependency-caching.ts @@ -4,6 +4,7 @@ import { join } from "path"; import * as actionsCache from "@actions/cache"; import * as glob from "@actions/glob"; +import { getTemporaryDirectory } from "./actions-util"; import { getTotalCacheSize } from "./caching-utils"; import { Config } from "./config-utils"; import { EnvVar } from "./environment"; @@ -28,6 +29,10 @@ interface CacheConfig { const CODEQL_DEPENDENCY_CACHE_PREFIX = "codeql-dependencies"; const CODEQL_DEPENDENCY_CACHE_VERSION = 1; +export function getJavaDependencyDir(): string { + return join(getTemporaryDirectory(), "codeql_java", "repository"); +} + /** * Default caching configurations per language. */ @@ -38,6 +43,8 @@ const CODEQL_DEFAULT_CACHE_CONFIG: { [language: string]: CacheConfig } = { join(os.homedir(), ".m2", "repository"), // Gradle join(os.homedir(), ".gradle", "caches"), + // CodeQL Java build-mode: none + getJavaDependencyDir(), ], hash: [ // Maven From afa3ed33bb15e43e4c2a97a54b0c866d7b9138e7 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Thu, 13 Mar 2025 11:45:27 +0000 Subject: [PATCH 13/22] Add more documentation --- lib/analyze.js | 6 +++++- lib/analyze.js.map | 2 +- lib/dependency-caching.js | 11 ++++++++--- lib/dependency-caching.js.map | 2 +- src/analyze.ts | 8 ++++++-- src/dependency-caching.ts | 9 +++++++-- 6 files changed, 28 insertions(+), 10 deletions(-) diff --git a/lib/analyze.js b/lib/analyze.js index 662a931044..e05a6bc810 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -103,9 +103,13 @@ async function runExtraction(codeql, config, logger) { config.buildMode === util_1.BuildMode.Autobuild) { await (0, autobuild_1.setupCppAutobuild)(codeql, logger); } + // The Java `build-mode: none` extractor places dependencies (.jar files) in the + // database scratch directory by default. For dependency caching purposes, we want + // a stable path that caches can be restored into and that we can cache at the + // end of the workflow (i.e. that does not get removed when the scratch directory is). if (language === languages_1.Language.java && config.buildMode === util_1.BuildMode.None) { process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] = - (0, dependency_caching_1.getJavaDependencyDir)(); + (0, dependency_caching_1.getJavaTempDependencyDir)(); } await codeql.extractUsingBuildMode(config, language); } diff --git a/lib/analyze.js.map b/lib/analyze.js.map index ae2c5635a7..b498dec72e 100644 --- a/lib/analyze.js.map +++ b/lib/analyze.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,sCAyCC;AAcD,sCAiBC;AAkDD,8DAgCC;AAiQD,gCA6IC;AAED,kCA8BC;AAED,gEA2CC;AAED,gCAYC;AAhxBD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAyC;AAEzC,gDAAkC;AAClC,8CAAsB;AACtB,8CAAgC;AAEhC,4DAA8C;AAC9C,6CAA4C;AAC5C,2CAAgD;AAChD,qCAA6C;AAE7C,6DAA4D;AAC5D,+CAA8D;AAC9D,iEAGgC;AAChC,+CAAuC;AACvC,mDAA6D;AAC7D,2CAA0D;AAC1D,uCAAmD;AAEnD,qDAAgD;AAChD,mDAAuD;AACvD,6CAAuD;AACvD,6CAA+B;AAC/B,iCAAmC;AAEnC,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACS,mBAAwC,EACxC,OAAe,EACf,KAAY;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAO;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AATD,kDASC;AAwFD,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,+FAA+F;QAC/F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iSAAiS;QAC/R,mPAAmP,CACtP,CAAC;IACF,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,KAAK,CACV,gBAAgB,QAAQ,mDAAmD,CAC5E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,oBAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,6BAAY,CAAC,wBAAwB,CAAC,CAAC,EACrE,CAAC;gBACD,IACE,QAAQ,KAAK,oBAAQ,CAAC,GAAG;oBACzB,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EACxC,CAAC;oBACD,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,QAAQ,KAAK,oBAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI,EAAE,CAAC;oBACtE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;wBAClE,IAAA,yCAAoB,GAAE,CAAC;gBAC3B,CAAC;gBAED,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA0B,EAC1B,QAAkB;IAElB,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI;QACnC,CAAC,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS;YACvC,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,IAAA,6BAAiB,EAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA0B,EAC1B,QAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;QAC9B,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CACZ,wCAAwC,QAAQ,qCAAqC,CACtF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAc,EACd,MAA0B,EAC1B,WAAmB,EACnB,UAAkB,EAClB,MAAc;IAEd,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,sFAAsF,CAC5I,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,gBAAgB,CAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,WAAW,EACX,UAAU,EACV,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,OAAO;QACL,uCAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnE,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,QAA2B;IAE3B,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,IAAA,wBAAc,EACzB,sCAAsC,EACtC,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,8BAA8B,CACrD,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CACZ,qEAAqE;gBACnE,wCAAwC,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CACZ,2DAA2D;YACzD,IAAI,SAAS,CAAC,MAAM,sCAAsC,CAC7D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,OAAO,MAAM,SAAS,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,GAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CACzE;YACE,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,CAAC;SACZ,CACF,CAAC;QACF,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;YACtD,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,yBAAyB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;gBACtD,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACtD,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACjE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,MAAc;IAEd,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI;SAClB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACtE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC3B,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,yEAAyE;YACzE,gDAAgD;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;aACX;SACF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,4EAA4E;IAC5E,IAAI,sBAAsB,GAAuB,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,kDAAkD;IAClD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,iDAAiD;YACjD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACzC,sBAAsB,GAAG,WAAW,CAAC;YACvC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,wEAAwE;YACxE,wBAAwB;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,WAAW,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,yDAAyD;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CACZ,qCAAqC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CACtE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,MAAc,EACd,MAAoC;IAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,eAAe,CAChB,CAAC;IACF,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC;;;;;;;;CAQH,CACE,CAAC;IAEF,MAAM,MAAM,GAAG;;;;;;CAMhB,CAAC;IAEA,IAAI,IAAI,GAAG,MAAM;SACd,GAAG,CACF,CAAC,KAAK,EAAE,EAAE;IACR,sEAAsE;IACtE,oEAAoE;IACpE,kCAAkC;IAClC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI;QACnE,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,CAC5C;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,GAAG,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CACV,yCAAyC,iBAAiB,MAAM,iBAAiB,EAAE,CACpF,CAAC;IAEF,+EAA+E;IAC/E,qBAAqB;IACrB,IAAA,8CAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,2DAA2D;AACpD,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,UAAkB,EAClB,eAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,gBAAoC,EACpC,mBAAuC,EACvC,MAA0B,EAC1B,MAAc,EACd,QAA2B;IAE3B,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,SAAS,CAAC;IACxE,IAAI,gBAAgB,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;YAE9D,+CAA+C;YAC/C,oDAAoD;YACpD,oDAAoD;YACpD,oCAAoC;YACpC,MAAM,CAAC,UAAU,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAC;YAC1D,6EAA6E;YAC7E,gDAAgD;YAChD,YAAY,CAAC,2BAA2B,QAAQ,cAAc,CAAC;gBAC7D,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC;YAE7C,MAAM,CAAC,UAAU,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3C,YAAY,CAAC,qBAAqB,QAAQ,cAAc,CAAC;gBACvD,uBAAuB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAEtE,MAAM,6BAA6B,GAAgB;oBACjD,KAAK,EAAE,mCAAmC;oBAC1C,UAAU,EAAE,yBAAyB,CAAC,WAAW,EAAE;oBACnD,YAAY,EAAE,uBAAuB,CAAC,WAAW,EAAE;oBACnD,WAAW,EAAE,SAAS;oBACtB,QAAQ;oBACR,UAAU,EAAE;wBACV,WAAW,EAAE,mBAAmB;qBACjC;iBACF,CAAC;gBAEF,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACjD,MAAM,IAAI,mBAAmB,CAC3B,YAAY,EACZ,8BAA8B,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;IAEpB,KAAK,UAAU,mBAAmB,CAChC,QAAkB,EAClB,OAA6B,EAC7B,SAAiB,EACjB,kBAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAC1C,YAAY,EACZ,OAAO,EACP,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,GAAW;QAEX,IAAA,oCAAuB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CACjB,CAAC;QACpB,iGAAiG;QAEjG,yCAAyC;QACzC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;QAEvD,uDAAuD;QACvD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACV,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,IAAA,aAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,CACP,CAAC;IAEF,wEAAwE;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvE,MAAM,IAAA,oCAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,MAA0B,EAC1B,MAAc;IAEd,gHAAgH;IAChH,mHAAmH;IACnH,sDAAsD;IACtD,gHAAgH;IAChH,mHAAmH;IACnH,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,kBAAkB,CAAC,CAAC;IAE1D,IACE,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;QACnD,UAAU,KAAK,SAAS,EACxB,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CACZ,mCAAmC,UAAU,aAAa,YAAY,+GAA+G,CACtL,CAAC;YAEF,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,4CAA4C,EAC5C,gEAAgE,EAChE;gBACE,eAAe,EACb,sIAAsI;gBACxI,UAAU,EAAE;oBACV,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,IAAI;iBACtB;gBACD,QAAQ,EAAE,SAAS;aACpB,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,YAAoB,EACpB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,aAAa;CACd,CAAC"} \ No newline at end of file +{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,sCA6CC;AAcD,sCAiBC;AAkDD,8DAgCC;AAiQD,gCA6IC;AAED,kCA8BC;AAED,gEA2CC;AAED,gCAYC;AApxBD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAyC;AAEzC,gDAAkC;AAClC,8CAAsB;AACtB,8CAAgC;AAEhC,4DAA8C;AAC9C,6CAA4C;AAC5C,2CAAgD;AAChD,qCAA6C;AAE7C,6DAAgE;AAChE,+CAA8D;AAC9D,iEAGgC;AAChC,+CAAuC;AACvC,mDAA6D;AAC7D,2CAA0D;AAC1D,uCAAmD;AAEnD,qDAAgD;AAChD,mDAAuD;AACvD,6CAAuD;AACvD,6CAA+B;AAC/B,iCAAmC;AAEnC,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACS,mBAAwC,EACxC,OAAe,EACf,KAAY;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAO;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AATD,kDASC;AAwFD,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,+FAA+F;QAC/F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iSAAiS;QAC/R,mPAAmP,CACtP,CAAC;IACF,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,KAAK,CACV,gBAAgB,QAAQ,mDAAmD,CAC5E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,oBAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,6BAAY,CAAC,wBAAwB,CAAC,CAAC,EACrE,CAAC;gBACD,IACE,QAAQ,KAAK,oBAAQ,CAAC,GAAG;oBACzB,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS,EACxC,CAAC;oBACD,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAED,gFAAgF;gBAChF,kFAAkF;gBAClF,8EAA8E;gBAC9E,sFAAsF;gBACtF,IAAI,QAAQ,KAAK,oBAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI,EAAE,CAAC;oBACtE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;wBAClE,IAAA,6CAAwB,GAAE,CAAC;gBAC/B,CAAC;gBAED,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA0B,EAC1B,QAAkB;IAElB,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI;QACnC,CAAC,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,SAAS;YACvC,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,IAAA,6BAAiB,EAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA0B,EAC1B,QAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;QAC9B,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CACZ,wCAAwC,QAAQ,qCAAqC,CACtF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAc,EACd,MAA0B,EAC1B,WAAmB,EACnB,UAAkB,EAClB,MAAc;IAEd,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,sFAAsF,CAC5I,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,gBAAgB,CAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,WAAW,EACX,UAAU,EACV,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE3D,OAAO;QACL,uCAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnE,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,QAA2B;IAE3B,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,IAAA,wBAAc,EACzB,sCAAsC,EACtC,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,8BAA8B,CACrD,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CACZ,qEAAqE;gBACnE,wCAAwC,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CACZ,2DAA2D;YACzD,IAAI,SAAS,CAAC,MAAM,sCAAsC,CAC7D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,OAAO,MAAM,SAAS,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,GAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CACzE;YACE,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,CAAC;SACZ,CACF,CAAC;QACF,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;YACtD,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,yBAAyB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,IAAI;gBACtD,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACtD,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACjE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,MAAc;IAEd,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI;SAClB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACtE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC3B,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,yEAAyE;YACzE,gDAAgD;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;aACX;SACF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,4EAA4E;IAC5E,IAAI,sBAAsB,GAAuB,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,kDAAkD;IAClD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,iDAAiD;YACjD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACzC,sBAAsB,GAAG,WAAW,CAAC;YACvC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,wEAAwE;YACxE,wBAAwB;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,WAAW,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,yDAAyD;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CACZ,qCAAqC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CACtE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,MAAc,EACd,MAAoC;IAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,eAAe,CAChB,CAAC;IACF,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC;;;;;;;;CAQH,CACE,CAAC;IAEF,MAAM,MAAM,GAAG;;;;;;CAMhB,CAAC;IAEA,IAAI,IAAI,GAAG,MAAM;SACd,GAAG,CACF,CAAC,KAAK,EAAE,EAAE;IACR,sEAAsE;IACtE,oEAAoE;IACpE,kCAAkC;IAClC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI;QACnE,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,CAC5C;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,GAAG,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CACV,yCAAyC,iBAAiB,MAAM,iBAAiB,EAAE,CACpF,CAAC;IAEF,+EAA+E;IAC/E,qBAAqB;IACrB,IAAA,8CAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,2DAA2D;AACpD,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,UAAkB,EAClB,eAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,gBAAoC,EACpC,mBAAuC,EACvC,MAA0B,EAC1B,MAAc,EACd,QAA2B;IAE3B,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,SAAS,CAAC;IACxE,IAAI,gBAAgB,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;YAE9D,+CAA+C;YAC/C,oDAAoD;YACpD,oDAAoD;YACpD,oCAAoC;YACpC,MAAM,CAAC,UAAU,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAC;YAC1D,6EAA6E;YAC7E,gDAAgD;YAChD,YAAY,CAAC,2BAA2B,QAAQ,cAAc,CAAC;gBAC7D,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC;YAE7C,MAAM,CAAC,UAAU,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3C,YAAY,CAAC,qBAAqB,QAAQ,cAAc,CAAC;gBACvD,uBAAuB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAEtE,MAAM,6BAA6B,GAAgB;oBACjD,KAAK,EAAE,mCAAmC;oBAC1C,UAAU,EAAE,yBAAyB,CAAC,WAAW,EAAE;oBACnD,YAAY,EAAE,uBAAuB,CAAC,WAAW,EAAE;oBACnD,WAAW,EAAE,SAAS;oBACtB,QAAQ;oBACR,UAAU,EAAE;wBACV,WAAW,EAAE,mBAAmB;qBACjC;iBACF,CAAC;gBAEF,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACjD,MAAM,IAAI,mBAAmB,CAC3B,YAAY,EACZ,8BAA8B,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;IAEpB,KAAK,UAAU,mBAAmB,CAChC,QAAkB,EAClB,OAA6B,EAC7B,SAAiB,EACjB,kBAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAC1C,YAAY,EACZ,OAAO,EACP,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,GAAW;QAEX,IAAA,oCAAuB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CACjB,CAAC;QACpB,iGAAiG;QAEjG,yCAAyC;QACzC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;QAEvD,uDAAuD;QACvD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACV,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,IAAA,aAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,CACP,CAAC;IAEF,wEAAwE;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mCAAmC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvE,MAAM,IAAA,oCAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,MAA0B,EAC1B,MAAc;IAEd,gHAAgH;IAChH,mHAAmH;IACnH,sDAAsD;IACtD,gHAAgH;IAChH,mHAAmH;IACnH,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,kBAAkB,CAAC,CAAC;IAE1D,IACE,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;QACnD,UAAU,KAAK,SAAS,EACxB,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CACZ,mCAAmC,UAAU,aAAa,YAAY,+GAA+G,CACtL,CAAC;YAEF,IAAA,2BAAa,EACX,MAAM,EACN,oBAAQ,CAAC,EAAE,EACX,IAAA,4BAAc,EACZ,4CAA4C,EAC5C,gEAAgE,EAChE;gBACE,eAAe,EACb,sIAAsI;gBACxI,UAAU,EAAE;oBACV,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,IAAI;iBACtB;gBACD,QAAQ,EAAE,SAAS;aACpB,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,YAAoB,EACpB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,aAAa;CACd,CAAC"} \ No newline at end of file diff --git a/lib/dependency-caching.js b/lib/dependency-caching.js index bda9d35e79..5be2dd26a4 100644 --- a/lib/dependency-caching.js +++ b/lib/dependency-caching.js @@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.getJavaDependencyDir = getJavaDependencyDir; +exports.getJavaTempDependencyDir = getJavaTempDependencyDir; exports.downloadDependencyCaches = downloadDependencyCaches; exports.uploadDependencyCaches = uploadDependencyCaches; const os = __importStar(require("os")); @@ -46,7 +46,12 @@ const environment_1 = require("./environment"); const util_1 = require("./util"); const CODEQL_DEPENDENCY_CACHE_PREFIX = "codeql-dependencies"; const CODEQL_DEPENDENCY_CACHE_VERSION = 1; -function getJavaDependencyDir() { +/** + * Returns a path to a directory intended to be used to store .jar files + * for the Java `build-mode: none` extractor. + * @returns The path to the directory that should be used by the `build-mode: none` extractor. + */ +function getJavaTempDependencyDir() { return (0, path_1.join)((0, actions_util_1.getTemporaryDirectory)(), "codeql_java", "repository"); } /** @@ -60,7 +65,7 @@ const CODEQL_DEFAULT_CACHE_CONFIG = { // Gradle (0, path_1.join)(os.homedir(), ".gradle", "caches"), // CodeQL Java build-mode: none - getJavaDependencyDir(), + getJavaTempDependencyDir(), ], hash: [ // Maven diff --git a/lib/dependency-caching.js.map b/lib/dependency-caching.js.map index a2d3d6b822..a3617fc721 100644 --- a/lib/dependency-caching.js.map +++ b/lib/dependency-caching.js.map @@ -1 +1 @@ -{"version":3,"file":"dependency-caching.js","sourceRoot":"","sources":["../src/dependency-caching.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,oDAEC;AAqDD,4DAmDC;AAQD,wDAiEC;AAlND,uCAAyB;AACzB,+BAA4B;AAE5B,6DAA+C;AAC/C,oDAAsC;AAEtC,iDAAuD;AACvD,mDAAoD;AAEpD,+CAAuC;AAGvC,iCAA6C;AAgB7C,MAAM,8BAA8B,GAAG,qBAAqB,CAAC;AAC7D,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAE1C,SAAgB,oBAAoB;IAClC,OAAO,IAAA,WAAI,EAAC,IAAA,oCAAqB,GAAE,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,2BAA2B,GAAwC;IACvE,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ;YACR,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC;YACvC,SAAS;YACT,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;YACvC,+BAA+B;YAC/B,oBAAoB,EAAE;SACvB;QACD,IAAI,EAAE;YACJ,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,cAAc;YACd,8BAA8B;YAC9B,yBAAyB;YACzB,6BAA6B;YAC7B,wBAAwB;YACxB,wBAAwB;SACzB;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,EAAE;YACJ,QAAQ;YACR,uBAAuB;YACvB,QAAQ;YACR,eAAe;SAChB;KACF;IACD,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,WAAW,CAAC;KACpB;CACF,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC5C,SAAqB,EACrB,MAAc;IAEd,MAAM,cAAc,GAAe,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,8CAA8C,CACpG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,mDAAmD,CACzG,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,WAAW,GAAa,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,MAAM,CAAC,IAAI,CACT,yBAAyB,QAAQ,aAAa,UAAU,qBAAqB,WAAW,CAAC,IAAI,CAC3F,IAAI,CACL,EAAE,CACJ,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,QAAQ,QAAQ,GAAG,CAAC,CAAC;YAC3D,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,MAAc;IACzE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,8CAA8C,CAClG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,mDAAmD,CACvG,CAAC;YACF,SAAS;QACX,CAAC;QAED,yGAAyG;QACzG,uGAAuG;QACvG,uCAAuC;QACvC,uGAAuG;QACvG,uGAAuG;QACvG,sCAAsC;QACtC,uGAAuG;QACvG,sGAAsG;QACtG,sGAAsG;QACtG,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAA,iCAAiB,EAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEtE,iCAAiC;QACjC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,qBAAqB,CACzE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElD,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,QAAQ,QAAQ,aAAa,GAAG,KAAK,CACrE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,uFAAuF;YACvF,gCAAgC;YAChC,IAAI,KAAK,YAAY,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CACT,2BAA2B,QAAQ,aAAa,GAAG,qBAAqB,CACzE,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,WAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,WAAW,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,yBAAyB,CAAC,CAAC;IACnE,IAAI,MAAM,GAAG,8BAA8B,CAAC;IAE5C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,+BAA+B,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC;AACjF,CAAC"} \ No newline at end of file +{"version":3,"file":"dependency-caching.js","sourceRoot":"","sources":["../src/dependency-caching.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,4DAEC;AAqDD,4DAmDC;AAQD,wDAiEC;AAvND,uCAAyB;AACzB,+BAA4B;AAE5B,6DAA+C;AAC/C,oDAAsC;AAEtC,iDAAuD;AACvD,mDAAoD;AAEpD,+CAAuC;AAGvC,iCAA6C;AAgB7C,MAAM,8BAA8B,GAAG,qBAAqB,CAAC;AAC7D,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAE1C;;;;GAIG;AACH,SAAgB,wBAAwB;IACtC,OAAO,IAAA,WAAI,EAAC,IAAA,oCAAqB,GAAE,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,2BAA2B,GAAwC;IACvE,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ;YACR,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC;YACvC,SAAS;YACT,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;YACvC,+BAA+B;YAC/B,wBAAwB,EAAE;SAC3B;QACD,IAAI,EAAE;YACJ,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,cAAc;YACd,8BAA8B;YAC9B,yBAAyB;YACzB,6BAA6B;YAC7B,wBAAwB;YACxB,wBAAwB;SACzB;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,EAAE;YACJ,QAAQ;YACR,uBAAuB;YACvB,QAAQ;YACR,eAAe;SAChB;KACF;IACD,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,WAAW,CAAC;KACpB;CACF,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC5C,SAAqB,EACrB,MAAc;IAEd,MAAM,cAAc,GAAe,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,8CAA8C,CACpG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,mDAAmD,CACzG,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,WAAW,GAAa,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,MAAM,CAAC,IAAI,CACT,yBAAyB,QAAQ,aAAa,UAAU,qBAAqB,WAAW,CAAC,IAAI,CAC3F,IAAI,CACL,EAAE,CACJ,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,QAAQ,QAAQ,GAAG,CAAC,CAAC;YAC3D,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,MAAc;IACzE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,8CAA8C,CAClG,CAAC;YACF,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,mDAAmD,CACvG,CAAC;YACF,SAAS;QACX,CAAC;QAED,yGAAyG;QACzG,uGAAuG;QACvG,uCAAuC;QACvC,uGAAuG;QACvG,uGAAuG;QACvG,sCAAsC;QACtC,uGAAuG;QACvG,sGAAsG;QACtG,sGAAsG;QACtG,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAA,iCAAiB,EAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEtE,iCAAiC;QACjC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,2CAA2C,QAAQ,qBAAqB,CACzE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElD,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,QAAQ,QAAQ,aAAa,GAAG,KAAK,CACrE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,uFAAuF;YACvF,gCAAgC;YAChC,IAAI,KAAK,YAAY,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CACT,2BAA2B,QAAQ,aAAa,GAAG,qBAAqB,CACzE,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,WAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,WAAW,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,yBAAyB,CAAC,CAAC;IACnE,IAAI,MAAM,GAAG,8BAA8B,CAAC;IAE5C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,+BAA+B,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC;AACjF,CAAC"} \ No newline at end of file diff --git a/src/analyze.ts b/src/analyze.ts index f6c527d172..d82541ec75 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -11,7 +11,7 @@ import { getApiClient } from "./api-client"; import { setupCppAutobuild } from "./autobuild"; import { CodeQL, getCodeQL } from "./codeql"; import * as configUtils from "./config-utils"; -import { getJavaDependencyDir } from "./dependency-caching"; +import { getJavaTempDependencyDir } from "./dependency-caching"; import { addDiagnostic, makeDiagnostic } from "./diagnostics"; import { DiffThunkRange, @@ -168,9 +168,13 @@ export async function runExtraction( await setupCppAutobuild(codeql, logger); } + // The Java `build-mode: none` extractor places dependencies (.jar files) in the + // database scratch directory by default. For dependency caching purposes, we want + // a stable path that caches can be restored into and that we can cache at the + // end of the workflow (i.e. that does not get removed when the scratch directory is). if (language === Language.java && config.buildMode === BuildMode.None) { process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] = - getJavaDependencyDir(); + getJavaTempDependencyDir(); } await codeql.extractUsingBuildMode(config, language); diff --git a/src/dependency-caching.ts b/src/dependency-caching.ts index aec9021d92..52cc270f05 100644 --- a/src/dependency-caching.ts +++ b/src/dependency-caching.ts @@ -29,7 +29,12 @@ interface CacheConfig { const CODEQL_DEPENDENCY_CACHE_PREFIX = "codeql-dependencies"; const CODEQL_DEPENDENCY_CACHE_VERSION = 1; -export function getJavaDependencyDir(): string { +/** + * Returns a path to a directory intended to be used to store .jar files + * for the Java `build-mode: none` extractor. + * @returns The path to the directory that should be used by the `build-mode: none` extractor. + */ +export function getJavaTempDependencyDir(): string { return join(getTemporaryDirectory(), "codeql_java", "repository"); } @@ -44,7 +49,7 @@ const CODEQL_DEFAULT_CACHE_CONFIG: { [language: string]: CacheConfig } = { // Gradle join(os.homedir(), ".gradle", "caches"), // CodeQL Java build-mode: none - getJavaDependencyDir(), + getJavaTempDependencyDir(), ], hash: [ // Maven From 251c7fdf5d97c265e2696c8ac1bbf321ad97037d Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Thu, 13 Mar 2025 11:50:11 +0000 Subject: [PATCH 14/22] Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 989bc8e595..c0fb3cdbda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th ## [UNRELEASED] -No user facing changes. +- Dependency caching should now cache more dependencies for Java `build-mode: none` extractions. This should speed up workflows and avoid inconsistent alerts in some cases. ## 3.28.11 - 07 Mar 2025 From c31f6c89e8c1eb940aff8833af9b2a2553a59c8a Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Thu, 13 Mar 2025 10:45:14 -0700 Subject: [PATCH 15/22] git-utils: deleted unused functions --- lib/git-utils.js | 57 +----------------------------------- lib/git-utils.js.map | 2 +- src/git-utils.ts | 69 -------------------------------------------- 3 files changed, 2 insertions(+), 126 deletions(-) diff --git a/lib/git-utils.js b/lib/git-utils.js index 9632078881..c209a1fc71 100644 --- a/lib/git-utils.js +++ b/lib/git-utils.js @@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.getGitRoot = exports.decodeGitFilePath = exports.getGitDiffHunkHeaders = exports.getAllGitMergeBases = exports.gitRepack = exports.gitFetch = exports.deepenGitHistory = exports.determineBaseBranchHeadCommitOid = exports.getCommitOid = void 0; +exports.getGitRoot = exports.decodeGitFilePath = exports.gitRepack = exports.gitFetch = exports.deepenGitHistory = exports.determineBaseBranchHeadCommitOid = exports.getCommitOid = void 0; exports.getRef = getRef; exports.isAnalyzingDefaultBranch = isAnalyzingDefaultBranch; const core = __importStar(require("@actions/core")); @@ -185,61 +185,6 @@ const gitRepack = async function (flags) { } }; exports.gitRepack = gitRepack; -/** - * Compute the all merge bases between the given refs. Returns an empty array - * if no merge base is found, or if there is an error. - * - * This function uses the `checkout_path` to determine the repository path and - * works only when called from `analyze` or `upload-sarif`. - */ -const getAllGitMergeBases = async function (refs) { - try { - const stdout = await runGitCommand((0, actions_util_1.getOptionalInput)("checkout_path"), ["merge-base", "--all", ...refs], `Cannot get merge base of ${refs}.`); - return stdout.trim().split("\n"); - } - catch { - return []; - } -}; -exports.getAllGitMergeBases = getAllGitMergeBases; -/** - * Compute the diff hunk headers between the two given refs. - * - * This function uses the `checkout_path` to determine the repository path and - * works only when called from `analyze` or `upload-sarif`. - * - * @returns an array of diff hunk headers (one element per line), or undefined - * if the action was not triggered by a pull request, or if the diff could not - * be determined. - */ -const getGitDiffHunkHeaders = async function (fromRef, toRef) { - let stdout = ""; - try { - stdout = await runGitCommand((0, actions_util_1.getOptionalInput)("checkout_path"), [ - "-c", - "core.quotePath=false", - "diff", - "--no-renames", - "--irreversible-delete", - "-U0", - fromRef, - toRef, - ], `Cannot get diff from ${fromRef} to ${toRef}.`); - } - catch { - return undefined; - } - const headers = []; - for (const line of stdout.split("\n")) { - if (line.startsWith("--- ") || - line.startsWith("+++ ") || - line.startsWith("@@ ")) { - headers.push(line); - } - } - return headers; -}; -exports.getGitDiffHunkHeaders = getGitDiffHunkHeaders; /** * Decode, if necessary, a file path produced by Git. See * https://git-scm.com/docs/git-config#Documentation/git-config.txt-corequotePath diff --git a/lib/git-utils.js.map b/lib/git-utils.js.map index 966f6a6a84..719a4ea55c 100644 --- a/lib/git-utils.js.map +++ b/lib/git-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2VA,wBA4DC;AAaD,4DAiBC;AArbD,oDAAsC;AACtC,yEAA2D;AAC3D,gDAAkC;AAElC,iDAIwB;AACxB,iCAAiE;AAEjE,KAAK,UAAU,aAAa,CAC1B,YAAgC,EAChC,IAAc,EACd,kBAA0B;IAE1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;YACjE,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;gBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;aACF;YACD,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5C,MAAM;gBACJ,kFAAkF,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,WAAW,MAAM,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,KAAK,WAC/B,YAAoB,EACpB,GAAG,GAAG,MAAM;IAEZ,mEAAmE;IACnE,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,2DAA2D;IAC3D,wEAAwE;IACxE,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,WAAW,EAAE,GAAG,CAAC,EAClB,4DAA4D,CAC7D,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAA,+BAAgB,EAAC,KAAK,CAAC,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB;AAEF;;;;;GAKG;AACI,MAAM,gCAAgC,GAAG,KAAK,WACnD,oBAA6B;IAE7B,IAAI,IAAA,mCAAoB,GAAE,KAAK,cAAc,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACnD,MAAM,YAAY,GAChB,oBAAoB,IAAI,IAAA,+BAAgB,EAAC,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,EACxC,mDAAmD,CACpD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACnD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBAC1B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,IACE,SAAS,KAAK,QAAQ;YACtB,OAAO,CAAC,MAAM,KAAK,EAAE;YACrB,OAAO,CAAC,MAAM,KAAK,EAAE,EACrB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AA9CW,QAAA,gCAAgC,oCA8C3C;AAEF;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,KAAK;IACnC,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC;YACE,OAAO;YACP,QAAQ;YACR,MAAM;YACN,WAAW;YACX,yBAAyB;YACzB,YAAY;SACb,EACD,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B;AAEF;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,KAAK,WAAW,MAAc,EAAE,UAAoB;IAC1E,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,EACtE,gBAAgB,MAAM,GAAG,CAC1B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF;;;;;GAKG;AACI,MAAM,SAAS,GAAG,KAAK,WAAW,KAAe;IACtD,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,EACpB,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEF;;;;;;GAMG;AACI,MAAM,mBAAmB,GAAG,KAAK,WACtC,IAAc;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAChC,4BAA4B,IAAI,GAAG,CACpC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B;AAEF;;;;;;;;;GASG;AACI,MAAM,qBAAqB,GAAG,KAAK,WACxC,OAAe,EACf,KAAa;IAEb,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAC1B,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC;YACE,IAAI;YACJ,sBAAsB;YACtB,MAAM;YACN,cAAc;YACd,uBAAuB;YACvB,KAAK;YACL,OAAO;YACP,KAAK;SACN,EACD,wBAAwB,OAAO,OAAO,KAAK,GAAG,CAC/C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IACE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACtB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAnCW,QAAA,qBAAqB,yBAmChC;AAEF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,UAAU,QAAgB;IACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC,OAAO,CACrB,8BAA8B,EAC9B,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YACtB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,KAAK,GAAG;oBACN,OAAO,MAAM,CAAC;gBAChB,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,IAAI;oBACP,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;gBACb;oBACE,mEAAmE;oBACnE,6DAA6D;oBAC7D,qEAAqE;oBACrE,iEAAiE;oBACjE,kEAAkE;oBAClE,oEAAoE;oBACpE,gBAAgB;oBAChB,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAvCW,QAAA,iBAAiB,qBAuC5B;AAEF;;;;;GAKG;AACI,MAAM,UAAU,GAAG,KAAK,WAC7B,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,UAAU,EACV,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAChC,wDAAwD,UAAU,GAAG,CACtE,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB;AAEF,SAAS,aAAa;IACpB,sEAAsE;IACtE,kEAAkE;IAClE,uEAAuE;IACvE,4EAA4E;IAC5E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gEAAgE;QAChE,qBAAqB;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,MAAM;IAC1B,0DAA0D;IAC1D,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAChB,IAAA,+BAAgB,EAAC,eAAe,CAAC;QACjC,IAAA,+BAAgB,EAAC,aAAa,CAAC;QAC/B,IAAA,0BAAmB,EAAC,kBAAkB,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,2DAA2D;IAC3D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,yBAAkB,CAC1B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAE1D,6DAA6D;IAC7D,sEAAsE;IACtE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,+DAA+D;IAC/D,iEAAiE;IACjE,+DAA+D;IAC/D,kBAAkB;IAClB,MAAM,cAAc,GAAG,0BAA0B,CAAC;IAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEtD,2EAA2E;IAC3E,8EAA8E;IAC9E,2DAA2D;IAC3D,2DAA2D;IAC3D,0DAA0D;IAC1D,MAAM,aAAa,GACjB,GAAG,KAAK,IAAI;QACZ,CAAC,MAAM,IAAA,oBAAY,EACjB,YAAY,EACZ,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,oBAAoB,CAAC,CACnD,CAAC,KAAK,IAAI,CAAC;IAEd,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CACR,iDAAiD,GAAG,OAAO,MAAM,GAAG,CACrE,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,MAAM,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,IAAI,UAAU,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,IAAA,+BAAgB,GAAE,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC;IAEtD,IAAI,IAAA,mCAAoB,GAAE,KAAK,UAAU,EAAE,CAAC;QAC1C,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,KAAK,aAAa,CAAC;AACtC,CAAC"} \ No newline at end of file +{"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsRA,wBA4DC;AAaD,4DAiBC;AAhXD,oDAAsC;AACtC,yEAA2D;AAC3D,gDAAkC;AAElC,iDAIwB;AACxB,iCAAiE;AAEjE,KAAK,UAAU,aAAa,CAC1B,YAAgC,EAChC,IAAc,EACd,kBAA0B;IAE1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;YACjE,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;gBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;aACF;YACD,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5C,MAAM;gBACJ,kFAAkF,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,WAAW,MAAM,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,KAAK,WAC/B,YAAoB,EACpB,GAAG,GAAG,MAAM;IAEZ,mEAAmE;IACnE,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,2DAA2D;IAC3D,wEAAwE;IACxE,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,WAAW,EAAE,GAAG,CAAC,EAClB,4DAA4D,CAC7D,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAA,+BAAgB,EAAC,KAAK,CAAC,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB;AAEF;;;;;GAKG;AACI,MAAM,gCAAgC,GAAG,KAAK,WACnD,oBAA6B;IAE7B,IAAI,IAAA,mCAAoB,GAAE,KAAK,cAAc,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IACnD,MAAM,YAAY,GAChB,oBAAoB,IAAI,IAAA,+BAAgB,EAAC,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,YAAY,EACZ,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,EACxC,mDAAmD,CACpD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACnD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBAC1B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,IACE,SAAS,KAAK,QAAQ;YACtB,OAAO,CAAC,MAAM,KAAK,EAAE;YACrB,OAAO,CAAC,MAAM,KAAK,EAAE,EACrB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AA9CW,QAAA,gCAAgC,oCA8C3C;AAEF;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,KAAK;IACnC,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC;YACE,OAAO;YACP,QAAQ;YACR,MAAM;YACN,WAAW;YACX,yBAAyB;YACzB,YAAY;SACb,EACD,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B;AAEF;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,KAAK,WAAW,MAAc,EAAE,UAAoB;IAC1E,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,EACtE,gBAAgB,MAAM,GAAG,CAC1B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF;;;;;GAKG;AACI,MAAM,SAAS,GAAG,KAAK,WAAW,KAAe;IACtD,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,IAAA,+BAAgB,EAAC,eAAe,CAAC,EACjC,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,EACpB,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,UAAU,QAAgB;IACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC,OAAO,CACrB,8BAA8B,EAC9B,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YACtB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,KAAK,GAAG;oBACN,OAAO,MAAM,CAAC;gBAChB,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,IAAI,CAAC;gBACd,KAAK,IAAI;oBACP,OAAO,IAAI,CAAC;gBACd,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;gBACb;oBACE,mEAAmE;oBACnE,6DAA6D;oBAC7D,qEAAqE;oBACrE,iEAAiE;oBACjE,kEAAkE;oBAClE,oEAAoE;oBACpE,gBAAgB;oBAChB,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAvCW,QAAA,iBAAiB,qBAuC5B;AAEF;;;;;GAKG;AACI,MAAM,UAAU,GAAG,KAAK,WAC7B,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,UAAU,EACV,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAChC,wDAAwD,UAAU,GAAG,CACtE,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB;AAEF,SAAS,aAAa;IACpB,sEAAsE;IACtE,kEAAkE;IAClE,uEAAuE;IACvE,4EAA4E;IAC5E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gEAAgE;QAChE,qBAAqB;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,MAAM;IAC1B,0DAA0D;IAC1D,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAChB,IAAA,+BAAgB,EAAC,eAAe,CAAC;QACjC,IAAA,+BAAgB,EAAC,aAAa,CAAC;QAC/B,IAAA,0BAAmB,EAAC,kBAAkB,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,2DAA2D;IAC3D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,yBAAkB,CAC1B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;IAE1D,6DAA6D;IAC7D,sEAAsE;IACtE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,+DAA+D;IAC/D,iEAAiE;IACjE,+DAA+D;IAC/D,kBAAkB;IAClB,MAAM,cAAc,GAAG,0BAA0B,CAAC;IAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEtD,2EAA2E;IAC3E,8EAA8E;IAC9E,2DAA2D;IAC3D,2DAA2D;IAC3D,0DAA0D;IAC1D,MAAM,aAAa,GACjB,GAAG,KAAK,IAAI;QACZ,CAAC,MAAM,IAAA,oBAAY,EACjB,YAAY,EACZ,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,oBAAoB,CAAC,CACnD,CAAC,KAAK,IAAI,CAAC;IAEd,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CACR,iDAAiD,GAAG,OAAO,MAAM,GAAG,CACrE,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,MAAM,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,IAAI,UAAU,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,IAAA,+BAAgB,GAAE,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC;IAEtD,IAAI,IAAA,mCAAoB,GAAE,KAAK,UAAU,EAAE,CAAC;QAC1C,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,KAAK,aAAa,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/src/git-utils.ts b/src/git-utils.ts index 452ce1d2c7..b308f31c54 100644 --- a/src/git-utils.ts +++ b/src/git-utils.ts @@ -183,75 +183,6 @@ export const gitRepack = async function (flags: string[]) { } }; -/** - * Compute the all merge bases between the given refs. Returns an empty array - * if no merge base is found, or if there is an error. - * - * This function uses the `checkout_path` to determine the repository path and - * works only when called from `analyze` or `upload-sarif`. - */ -export const getAllGitMergeBases = async function ( - refs: string[], -): Promise { - try { - const stdout = await runGitCommand( - getOptionalInput("checkout_path"), - ["merge-base", "--all", ...refs], - `Cannot get merge base of ${refs}.`, - ); - return stdout.trim().split("\n"); - } catch { - return []; - } -}; - -/** - * Compute the diff hunk headers between the two given refs. - * - * This function uses the `checkout_path` to determine the repository path and - * works only when called from `analyze` or `upload-sarif`. - * - * @returns an array of diff hunk headers (one element per line), or undefined - * if the action was not triggered by a pull request, or if the diff could not - * be determined. - */ -export const getGitDiffHunkHeaders = async function ( - fromRef: string, - toRef: string, -): Promise { - let stdout = ""; - try { - stdout = await runGitCommand( - getOptionalInput("checkout_path"), - [ - "-c", - "core.quotePath=false", - "diff", - "--no-renames", - "--irreversible-delete", - "-U0", - fromRef, - toRef, - ], - `Cannot get diff from ${fromRef} to ${toRef}.`, - ); - } catch { - return undefined; - } - - const headers: string[] = []; - for (const line of stdout.split("\n")) { - if ( - line.startsWith("--- ") || - line.startsWith("+++ ") || - line.startsWith("@@ ") - ) { - headers.push(line); - } - } - return headers; -}; - /** * Decode, if necessary, a file path produced by Git. See * https://git-scm.com/docs/git-config#Documentation/git-config.txt-corequotePath From 5f98c40063ecb936a2e923338239bbccc31a59ec Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Fri, 14 Mar 2025 13:13:56 -0700 Subject: [PATCH 16/22] Fix dependabot errors I explicitly had to downgrade "@octokit/plugin-retry" to "^6.0.0". Other dependencies were upgraded. --- node_modules/.bin/dot-object | 1 - node_modules/.bin/protoc-gen-twirp_ts | 1 - node_modules/.package-lock.json | 1044 +- .../artifact/lib/generated/index.d.ts | 2 +- .../@actions/artifact/lib/generated/index.js | 2 +- .../artifact/lib/generated/index.js.map | 2 +- .../generated/results/api/v1/artifact.d.ts | 106 + .../lib/generated/results/api/v1/artifact.js | 245 +- .../generated/results/api/v1/artifact.js.map | 2 +- ....twirp.d.ts => artifact.twirp-client.d.ts} | 18 - .../results/api/v1/artifact.twirp-client.js | 100 + .../api/v1/artifact.twirp-client.js.map | 1 + .../results/api/v1/artifact.twirp.js | 508 - .../results/api/v1/artifact.twirp.js.map | 1 - .../internal/download/download-artifact.d.ts | 4 +- .../internal/download/download-artifact.js | 44 +- .../download/download-artifact.js.map | 2 +- .../lib/internal/find/get-artifact.js | 9 +- .../lib/internal/find/get-artifact.js.map | 2 +- .../lib/internal/find/list-artifacts.js | 35 +- .../lib/internal/find/list-artifacts.js.map | 2 +- .../artifact/lib/internal/shared/config.js | 39 +- .../lib/internal/shared/config.js.map | 2 +- .../lib/internal/shared/interfaces.d.ts | 24 + .../lib/internal/upload/upload-artifact.js | 1 + .../internal/upload/upload-artifact.js.map | 2 +- .../upload/upload-zip-specification.d.ts | 7 + .../upload/upload-zip-specification.js | 11 +- .../upload/upload-zip-specification.js.map | 2 +- .../artifact/lib/internal/upload/zip.js | 10 +- .../artifact/lib/internal/upload/zip.js.map | 2 +- .../node_modules/@actions/github/LICENSE.md} | 4 +- .../node_modules/@actions/github/README.md | 98 + .../@actions/github/lib/context.d.ts | 32 + .../@actions/github/lib/context.js | 54 + .../@actions/github/lib/context.js.map | 1 + .../@actions/github/lib/github.d.ts | 11 + .../@actions/github/lib/github.js | 37 + .../@actions/github/lib/github.js.map | 1 + .../@actions/github/lib/interfaces.d.ts | 40 + .../@actions/github/lib/interfaces.js | 4 + .../@actions/github/lib/interfaces.js.map | 1 + .../@actions/github/lib/internal/utils.d.ts | 6 + .../@actions/github/lib/internal/utils.js | 43 + .../@actions/github/lib/internal/utils.js.map | 1 + .../@actions/github/lib/utils.d.ts | 15 + .../node_modules/@actions/github/lib/utils.js | 54 + .../@actions/github/lib/utils.js.map | 1 + .../node_modules/@actions/github/package.json | 49 + .../node_modules/@octokit/auth-token}/LICENSE | 0 .../@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 | 0 .../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/types/LICENSE | 0 .../node_modules/@octokit/types/README.md | 0 .../@octokit/types/dist-node/index.js | 0 .../@octokit/types/dist-node/index.js.map | 0 .../@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/RequestError.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 | 0 .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 0 .../types/dist-types/AuthInterface.d.ts | 0 .../types/dist-types/EndpointDefaults.d.ts | 0 .../types/dist-types/EndpointInterface.d.ts | 0 .../types/dist-types/EndpointOptions.d.ts | 0 .../@octokit/types/dist-types/Fetch.d.ts | 0 .../GetResponseTypeFromEndpointMethod.d.ts | 0 .../types/dist-types/OctokitResponse.d.ts | 0 .../types/dist-types/RequestError.d.ts | 0 .../types/dist-types/RequestHeaders.d.ts | 0 .../types/dist-types/RequestInterface.d.ts | 0 .../types/dist-types/RequestMethod.d.ts | 0 .../types/dist-types/RequestOptions.d.ts | 0 .../types/dist-types/RequestParameters.d.ts | 0 .../dist-types/RequestRequestOptions.d.ts | 0 .../types/dist-types/ResponseHeaders.d.ts | 0 .../@octokit/types/dist-types/Route.d.ts | 0 .../@octokit/types/dist-types/Signal.d.ts | 0 .../types/dist-types/StrategyInterface.d.ts | 0 .../@octokit/types/dist-types/Url.d.ts | 0 .../@octokit/types/dist-types/VERSION.d.ts | 0 .../types/dist-types/generated/Endpoints.d.ts | 0 .../@octokit/types/dist-types/index.d.ts | 0 .../@octokit/types/dist-web/index.js | 0 .../@octokit/types/dist-web/index.js.map | 0 .../node_modules/@octokit/types/package.json | 0 .../@octokit/auth-token/package.json | 45 + .../node_modules/@octokit/core}/LICENSE | 0 .../node_modules/@octokit/core/README.md | 448 + .../@octokit/core/dist-node/index.js | 176 + .../@octokit/core/dist-node/index.js.map | 1 + .../@octokit/core/dist-src/index.js | 125 + .../@octokit/core/dist-src/types.js | 0 .../@octokit/core/dist-src/version.js | 1 + .../@octokit/core/dist-types/index.d.ts | 30 + .../@octokit/core/dist-types/types.d.ts | 44 + .../@octokit/core/dist-types/version.d.ts | 1 + .../@octokit/core/dist-web/index.js | 130 + .../@octokit/core/dist-web/index.js.map | 1 + .../@octokit/request-error/LICENSE | 0 .../@octokit/request-error/README.md | 67 + .../@octokit/request-error/dist-node/index.js | 0 .../request-error/dist-node/index.js.map | 0 .../@octokit/request-error/dist-src/index.js | 55 + .../@octokit/request-error}/dist-src/types.js | 0 .../request-error/dist-types/index.d.ts | 33 + .../request-error/dist-types/types.d.ts | 9 + .../@octokit/request-error/dist-web/index.js | 0 .../request-error/dist-web/index.js.map | 0 .../@octokit/request-error/package.json | 47 + .../core/node_modules/@octokit/types/LICENSE | 0 .../node_modules/@octokit/types/README.md | 0 .../@octokit/types/dist-node/index.js | 0 .../@octokit/types/dist-node/index.js.map | 0 .../@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/RequestError.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 | 0 .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 0 .../types/dist-types/AuthInterface.d.ts | 0 .../types/dist-types/EndpointDefaults.d.ts | 0 .../types/dist-types/EndpointInterface.d.ts | 0 .../types/dist-types/EndpointOptions.d.ts | 0 .../@octokit/types/dist-types/Fetch.d.ts | 0 .../GetResponseTypeFromEndpointMethod.d.ts | 0 .../types/dist-types/OctokitResponse.d.ts | 0 .../types/dist-types/RequestError.d.ts | 0 .../types/dist-types/RequestHeaders.d.ts | 0 .../types/dist-types/RequestInterface.d.ts | 0 .../types/dist-types/RequestMethod.d.ts | 0 .../types/dist-types/RequestOptions.d.ts | 0 .../types/dist-types/RequestParameters.d.ts | 0 .../dist-types/RequestRequestOptions.d.ts | 0 .../types/dist-types/ResponseHeaders.d.ts | 0 .../@octokit/types/dist-types/Route.d.ts | 0 .../@octokit/types/dist-types/Signal.d.ts | 0 .../types/dist-types/StrategyInterface.d.ts | 0 .../@octokit/types/dist-types/Url.d.ts | 0 .../@octokit/types/dist-types/VERSION.d.ts | 0 .../types/dist-types/generated/Endpoints.d.ts | 0 .../@octokit/types/dist-types/index.d.ts | 0 .../@octokit/types/dist-web/index.js | 0 .../@octokit/types/dist-web/index.js.map | 0 .../node_modules/@octokit/types/package.json | 0 .../node_modules/@octokit/core/package.json | 57 + .../node_modules/@octokit/endpoint/LICENSE | 0 .../node_modules/@octokit/endpoint/README.md | 27 +- .../@octokit/endpoint/dist-node/index.js | 0 .../@octokit/endpoint/dist-node/index.js.map | 0 .../@octokit/endpoint/dist-src/defaults.js | 17 + .../dist-src/endpoint-with-defaults.js | 5 + .../@octokit/endpoint/dist-src/index.js | 3 + .../@octokit/endpoint/dist-src/merge.js | 26 + .../@octokit/endpoint/dist-src/parse.js | 81 + .../dist-src/util/add-query-parameters.js | 17 + .../util/extract-url-variable-names.js | 11 + .../endpoint/dist-src/util/lowercase-keys.js | 9 + .../endpoint/dist-src/util/merge-deep.js | 16 + .../@octokit/endpoint/dist-src/util/omit.js | 8 + .../util/remove-undefined-properties.js | 8 + .../endpoint/dist-src/util/url-template.js | 164 + .../@octokit/endpoint/dist-src/version.js | 1 + .../endpoint/dist-src/with-defaults.js | 13 + .../endpoint/dist-types/defaults.d.ts | 2 + .../dist-types/endpoint-with-defaults.d.ts | 4 +- .../@octokit/endpoint/dist-types/index.d.ts | 0 .../@octokit/endpoint/dist-types/merge.d.ts | 2 +- .../@octokit/endpoint/dist-types/parse.d.ts | 2 +- .../dist-types/util/add-query-parameters.d.ts | 0 .../util/extract-url-variable-names.d.ts | 0 .../dist-types/util/lowercase-keys.d.ts | 0 .../endpoint/dist-types/util/merge-deep.d.ts | 0 .../endpoint/dist-types/util/omit.d.ts | 0 .../util/remove-undefined-properties.d.ts | 0 .../dist-types/util/url-template.d.ts | 0 .../@octokit/endpoint/dist-types/version.d.ts | 1 + .../endpoint/dist-types/with-defaults.d.ts | 2 +- .../@octokit/endpoint/dist-web/index.js | 0 .../@octokit/endpoint/dist-web/index.js.map | 0 .../node_modules/@octokit/types/LICENSE | 0 .../node_modules/@octokit/types/README.md | 0 .../@octokit/types/dist-node/index.js | 0 .../@octokit/types/dist-node/index.js.map | 0 .../@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/RequestError.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 | 0 .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 0 .../types/dist-types/AuthInterface.d.ts | 0 .../types/dist-types/EndpointDefaults.d.ts | 0 .../types/dist-types/EndpointInterface.d.ts | 0 .../types/dist-types/EndpointOptions.d.ts | 0 .../@octokit/types/dist-types/Fetch.d.ts | 0 .../GetResponseTypeFromEndpointMethod.d.ts | 0 .../types/dist-types/OctokitResponse.d.ts | 0 .../types/dist-types/RequestError.d.ts | 0 .../types/dist-types/RequestHeaders.d.ts | 0 .../types/dist-types/RequestInterface.d.ts | 0 .../types/dist-types/RequestMethod.d.ts | 0 .../types/dist-types/RequestOptions.d.ts | 0 .../types/dist-types/RequestParameters.d.ts | 0 .../dist-types/RequestRequestOptions.d.ts | 0 .../types/dist-types/ResponseHeaders.d.ts | 0 .../@octokit/types/dist-types/Route.d.ts | 0 .../@octokit/types/dist-types/Signal.d.ts | 0 .../types/dist-types/StrategyInterface.d.ts | 0 .../@octokit/types/dist-types/Url.d.ts | 0 .../@octokit/types/dist-types/VERSION.d.ts | 0 .../types/dist-types/generated/Endpoints.d.ts | 0 .../@octokit/types/dist-types/index.d.ts | 0 .../@octokit/types/dist-web/index.js | 0 .../@octokit/types/dist-web/index.js.map | 0 .../node_modules/@octokit/types/package.json | 0 .../@octokit/endpoint/package.json | 44 + .../node_modules/@octokit/graphql}/LICENSE | 0 .../node_modules/@octokit/graphql/README.md | 409 + .../@octokit/graphql/dist-node/index.js | 118 + .../@octokit/graphql/dist-node/index.js.map | 1 + .../@octokit/graphql/dist-src/error.js | 21 + .../@octokit/graphql/dist-src/graphql.js | 52 + .../@octokit/graphql/dist-src/index.js | 18 + .../@octokit/graphql}/dist-src/types.js | 0 .../@octokit/graphql/dist-src/version.js | 1 + .../graphql/dist-src/with-defaults.js | 12 + .../@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/dist-web/index.js | 106 + .../@octokit/graphql/dist-web/index.js.map | 1 + .../node_modules/@octokit/types/LICENSE | 0 .../node_modules/@octokit/types/README.md | 0 .../@octokit/types/dist-node/index.js | 0 .../@octokit/types/dist-node/index.js.map | 0 .../@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/RequestError.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 | 0 .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 0 .../types/dist-types/AuthInterface.d.ts | 0 .../types/dist-types/EndpointDefaults.d.ts | 0 .../types/dist-types/EndpointInterface.d.ts | 0 .../types/dist-types/EndpointOptions.d.ts | 0 .../@octokit/types/dist-types/Fetch.d.ts | 0 .../GetResponseTypeFromEndpointMethod.d.ts | 0 .../types/dist-types/OctokitResponse.d.ts | 0 .../types/dist-types/RequestError.d.ts | 0 .../types/dist-types/RequestHeaders.d.ts | 0 .../types/dist-types/RequestInterface.d.ts | 0 .../types/dist-types/RequestMethod.d.ts | 0 .../types/dist-types/RequestOptions.d.ts | 0 .../types/dist-types/RequestParameters.d.ts | 0 .../dist-types/RequestRequestOptions.d.ts | 0 .../types/dist-types/ResponseHeaders.d.ts | 0 .../@octokit/types/dist-types/Route.d.ts | 0 .../@octokit/types/dist-types/Signal.d.ts | 0 .../types/dist-types/StrategyInterface.d.ts | 0 .../@octokit/types/dist-types/Url.d.ts | 0 .../@octokit/types/dist-types/VERSION.d.ts | 0 .../types/dist-types/generated/Endpoints.d.ts | 0 .../@octokit/types/dist-types/index.d.ts | 0 .../@octokit/types/dist-web/index.js | 0 .../@octokit/types/dist-web/index.js.map | 0 .../node_modules/@octokit/types/package.json | 0 .../@octokit/graphql/package.json | 47 + .../@octokit/request-error/dist-node/index.js | 2 +- .../request-error/dist-node/index.js.map | 2 +- .../@octokit/request-error/dist-src/index.js | 2 +- .../@octokit/request-error/dist-web/index.js | 2 +- .../request-error/dist-web/index.js.map | 2 +- .../@octokit/request-error/package.json | 2 +- .../node_modules/@octokit/request}/LICENSE | 0 .../node_modules/@octokit/request/README.md | 134 +- .../@octokit/request/dist-node/index.js | 0 .../@octokit/request/dist-node/index.js.map | 0 .../request/dist-src/fetch-wrapper.js | 119 + .../request/dist-src/get-buffer-response.js | 0 .../@octokit/request/dist-src/index.js | 9 + .../@octokit/request/dist-src/version.js | 1 + .../request/dist-src/with-defaults.js | 22 + .../request/dist-types/fetch-wrapper.d.ts | 11 + .../dist-types/get-buffer-response.d.ts | 0 .../@octokit/request/dist-types/index.d.ts | 0 .../@octokit/request/dist-types/version.d.ts | 1 + .../request/dist-types/with-defaults.d.ts | 2 +- .../@octokit/request/dist-web/index.js | 0 .../@octokit/request/dist-web/index.js.map | 0 .../@octokit/request-error/LICENSE | 0 .../@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} | 0 .../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 + .../node_modules/@octokit/types/LICENSE | 0 .../node_modules/@octokit/types/README.md | 0 .../@octokit/types/dist-node/index.js | 0 .../@octokit/types/dist-node/index.js.map | 0 .../@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/RequestError.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 | 0 .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 0 .../types/dist-types/AuthInterface.d.ts | 0 .../types/dist-types/EndpointDefaults.d.ts | 0 .../types/dist-types/EndpointInterface.d.ts | 0 .../types/dist-types/EndpointOptions.d.ts | 0 .../@octokit/types/dist-types/Fetch.d.ts | 0 .../GetResponseTypeFromEndpointMethod.d.ts | 0 .../types/dist-types/OctokitResponse.d.ts | 0 .../types/dist-types/RequestError.d.ts | 0 .../types/dist-types/RequestHeaders.d.ts | 0 .../types/dist-types/RequestInterface.d.ts | 0 .../types/dist-types/RequestMethod.d.ts | 0 .../types/dist-types/RequestOptions.d.ts | 0 .../types/dist-types/RequestParameters.d.ts | 0 .../dist-types/RequestRequestOptions.d.ts | 0 .../types/dist-types/ResponseHeaders.d.ts | 0 .../@octokit/types/dist-types/Route.d.ts | 0 .../@octokit/types/dist-types/Signal.d.ts | 0 .../types/dist-types/StrategyInterface.d.ts | 0 .../@octokit/types/dist-types/Url.d.ts | 0 .../@octokit/types/dist-types/VERSION.d.ts | 0 .../types/dist-types/generated/Endpoints.d.ts | 0 .../@octokit/types/dist-types/index.d.ts | 0 .../@octokit/types/dist-web/index.js | 0 .../@octokit/types/dist-web/index.js.map | 0 .../node_modules/@octokit/types/package.json | 0 .../@octokit/request/package.json | 56 + node_modules/@actions/artifact/package.json | 4 +- node_modules/@actions/github/lib/context.js | 7 +- .../@actions/github/lib/context.js.map | 2 +- node_modules/@actions/github/lib/github.js | 10 +- .../@actions/github/lib/github.js.map | 2 +- .../@actions/github/lib/internal/utils.d.ts | 3 + .../@actions/github/lib/internal/utils.js | 33 +- .../@actions/github/lib/internal/utils.js.map | 2 +- node_modules/@actions/github/lib/utils.js | 11 +- node_modules/@actions/github/lib/utils.js.map | 2 +- .../@octokit/openapi-types/LICENSE | 0 .../@octokit/openapi-types/README.md | 2 +- .../@octokit/openapi-types/package.json | 4 +- .../@octokit/openapi-types/types.d.ts | 27140 +++++---- .../@octokit/plugin-paginate-rest}/LICENSE | 0 .../@octokit/plugin-paginate-rest/README.md | 269 + .../plugin-paginate-rest/dist-node/index.js | 398 + .../dist-node/index.js.map | 7 + .../dist-src/compose-paginate.js | 8 + .../generated/paginating-endpoints.js | 239 + .../plugin-paginate-rest/dist-src/index.js | 22 + .../plugin-paginate-rest/dist-src/iterator.js | 38 + .../normalize-paginated-list-response.js | 31 + .../plugin-paginate-rest/dist-src/paginate.js | 34 + .../dist-src/paginating-endpoints.js | 15 + .../plugin-paginate-rest}/dist-src/version.js | 0 .../dist-types/compose-paginate.d.ts | 2 + .../generated/paginating-endpoints.d.ts | 1750 + .../dist-types/index.d.ts | 15 + .../dist-types/iterator.d.ts | 20 + .../normalize-paginated-list-response.d.ts | 18 + .../dist-types/paginate.d.ts | 3 + .../dist-types/paginating-endpoints.d.ts | 3 + .../dist-types/types.d.ts | 242 + .../dist-types/version.d.ts | 0 .../plugin-paginate-rest/dist-web/index.js | 368 + .../dist-web/index.js.map | 7 + .../node_modules/@octokit/types/LICENSE | 0 .../node_modules/@octokit/types/README.md | 2 +- .../types/dist-types/AuthInterface.d.ts | 10 +- .../types/dist-types/EndpointDefaults.d.ts | 8 +- .../types/dist-types/EndpointInterface.d.ts | 10 +- .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 0 .../GetResponseTypeFromEndpointMethod.d.ts | 0 .../types/dist-types/OctokitResponse.d.ts | 8 +- .../types/dist-types/RequestError.d.ts | 0 .../types/dist-types/RequestHeaders.d.ts | 0 .../types/dist-types/RequestInterface.d.ts | 10 +- .../types/dist-types/RequestMethod.d.ts | 0 .../types/dist-types/RequestOptions.d.ts | 8 +- .../types/dist-types/RequestParameters.d.ts | 6 +- .../dist-types/RequestRequestOptions.d.ts | 14 +- .../types/dist-types/ResponseHeaders.d.ts | 1 + .../@octokit/types/dist-types/Route.d.ts | 0 .../@octokit/types/dist-types/Signal.d.ts | 0 .../types/dist-types/StrategyInterface.d.ts | 2 +- .../@octokit/types/dist-types/Url.d.ts | 0 .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 1807 +- .../@octokit/types/dist-types/index.d.ts | 0 .../node_modules/@octokit/types/package.json | 18 +- .../plugin-paginate-rest/package.json | 52 + .../plugin-rest-endpoint-methods}/LICENSE | 6 +- .../plugin-rest-endpoint-methods/README.md | 76 + .../dist-node/index.js | 2165 + .../dist-node/index.js.map | 7 + .../dist-src/endpoints-to-methods.js | 125 + .../dist-src/generated/endpoints.js | 1992 + .../dist-src/generated/method-types.js | 0 .../parameters-and-response-types.js | 0 .../dist-src/index.js | 21 + .../dist-src/version.js | 4 + .../dist-types/endpoints-to-methods.d.ts | 3 + .../dist-types/generated/endpoints.d.ts | 3 + .../dist-types/generated/method-types.d.ts | 12336 ++++ .../parameters-and-response-types.d.ts | 3739 ++ .../dist-types/index.d.ts | 11 + .../dist-types/types.d.ts | 18 + .../dist-types/version.d.ts | 1 + .../dist-web/index.js | 2137 + .../dist-web/index.js.map | 7 + .../node_modules/@octokit/types}/LICENSE | 6 +- .../node_modules/@octokit/types/README.md | 2 +- .../types/dist-types/AuthInterface.d.ts | 10 +- .../types/dist-types/EndpointDefaults.d.ts | 12 +- .../types/dist-types/EndpointInterface.d.ts | 10 +- .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 2 +- .../GetResponseTypeFromEndpointMethod.d.ts | 5 + .../types/dist-types/OctokitResponse.d.ts | 8 +- .../types/dist-types/RequestError.d.ts | 2 +- .../types/dist-types/RequestHeaders.d.ts | 2 +- .../types/dist-types/RequestInterface.d.ts | 10 +- .../types/dist-types/RequestMethod.d.ts | 4 + .../types/dist-types/RequestOptions.d.ts | 14 + .../types/dist-types/RequestParameters.d.ts | 10 +- .../dist-types/RequestRequestOptions.d.ts | 16 +- .../types/dist-types/ResponseHeaders.d.ts | 3 +- .../@octokit/types/dist-types/Route.d.ts | 2 +- .../@octokit/types/dist-types/Signal.d.ts | 2 +- .../types/dist-types/StrategyInterface.d.ts | 2 +- .../@octokit/types/dist-types/Url.d.ts | 2 +- .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 2546 +- .../@octokit/types/dist-types/index.d.ts | 0 .../node_modules/@octokit/types/package.json | 46 + .../plugin-rest-endpoint-methods/package.json | 60 + node_modules/@actions/github/package.json | 14 +- .../@octokit/endpoint/dist-src/index.js | 6 - .../endpoint/dist-src/util/merge-deep.js | 16 - .../@octokit/endpoint/dist-src/version.js | 4 - .../endpoint/dist-src/with-defaults.js | 16 - .../@octokit/endpoint/dist-types/version.d.ts | 1 - .../@octokit/endpoint/package.json | 51 - .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../request-error/dist-types/index.d.ts | 21 - .../request-error/dist-types/types.d.ts | 5 - .../@octokit/request-error/package.json | 50 - .../request/dist-src/fetch-wrapper.js | 140 - .../@octokit/request/dist-src/index.js | 7 - .../request/dist-types/fetch-wrapper.d.ts | 2 - .../@octokit/request/package.json | 56 - .../endpoint/dist-bundle/index.js.map | 7 - .../@octokit/endpoint/dist-src/defaults.js | 17 - .../@octokit/endpoint/dist-src/index.js | 6 - .../@octokit/endpoint/dist-src/parse.js | 70 - .../@octokit/endpoint/dist-src/version.js | 4 - .../@octokit/endpoint/dist-types/version.d.ts | 1 - .../@octokit/endpoint/package.json | 51 - .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../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/README.md | 579 - .../@octokit/request/dist-bundle/index.js | 196 - .../@octokit/request/dist-bundle/index.js.map | 7 - .../request/dist-src/fetch-wrapper.js | 140 - .../@octokit/request/dist-src/index.js | 7 - .../@octokit/request/dist-src/version.js | 4 - .../@octokit/request/dist-types/defaults.d.ts | 6 - .../request/dist-types/fetch-wrapper.d.ts | 2 - .../@octokit/request/dist-types/version.d.ts | 1 - .../@octokit/request/package.json | 56 - .../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 - .../dist-src/util/add-query-parameters.js | 16 - .../util/extract-url-variable-names.js | 14 - .../endpoint/dist-src/util/lowercase-keys.js | 12 - .../@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-types/defaults.d.ts | 2 - .../@octokit/endpoint/dist-types/version.d.ts | 1 - .../@octokit/endpoint/package.json | 51 - .../@octokit/request-error/dist-src/index.js | 40 - .../request-error/dist-types/index.d.ts | 21 - .../request-error/dist-types/types.d.ts | 5 - .../@octokit/request-error/package.json | 50 - .../@octokit/request/dist-bundle/index.js | 196 - .../@octokit/request/dist-bundle/index.js.map | 7 - .../@octokit/request/dist-src/defaults.js | 10 - .../request/dist-src/fetch-wrapper.js | 140 - .../@octokit/request/dist-src/index.js | 7 - .../@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/version.d.ts | 1 - .../request/dist-types/with-defaults.d.ts | 2 - .../@octokit/request/package.json | 56 - .../node_modules/@octokit/endpoint/README.md | 412 - .../endpoint/dist-bundle/index.js.map | 7 - .../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 | 51 - .../@octokit/request-error/dist-src/index.js | 40 - .../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 - .../@octokit/request/dist-bundle/index.js | 196 - .../@octokit/request/dist-bundle/index.js.map | 7 - .../request/dist-src/fetch-wrapper.js | 140 - .../@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 | 56 - .../node_modules/@octokit/endpoint/LICENSE | 21 - .../node_modules/@octokit/endpoint/README.md | 412 - .../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 | 51 - .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../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 | 579 - .../@octokit/request/dist-bundle/index.js | 196 - .../@octokit/request/dist-bundle/index.js.map | 7 - .../@octokit/request/dist-src/defaults.js | 10 - .../request/dist-src/fetch-wrapper.js | 140 - .../@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 - .../@octokit/request/package.json | 56 - node_modules/@octokit/auth-token/README.md | 15 +- .../@octokit/auth-token/dist-node/index.js | 64 +- .../auth-token/dist-node/index.js.map | 8 +- .../@octokit/auth-token/dist-src/auth.js | 30 +- .../@octokit/auth-token/dist-src/hook.js | 14 +- .../@octokit/auth-token/dist-src/index.js | 27 +- .../dist-src/with-authorization-prefix.js | 18 +- .../@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 | 4 +- .../@octokit/auth-token/dist-types/types.d.ts | 26 +- .../@octokit/auth-token/dist-web/index.js | 87 +- .../@octokit/auth-token/dist-web/index.js.map | 8 +- .../@octokit/openapi-types/types.d.ts | 47095 ---------------- node_modules/@octokit/auth-token/package.json | 57 +- .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../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/core/README.md | 18 +- node_modules/@octokit/core/dist-node/index.js | 267 +- .../@octokit/core/dist-node/index.js.map | 8 +- node_modules/@octokit/core/dist-src/index.js | 240 +- .../@octokit/core/dist-src/version.js | 5 +- .../@octokit/core/dist-types/index.d.ts | 5 +- .../@octokit/core/dist-types/types.d.ts | 16 +- .../@octokit/core/dist-types/version.d.ts | 2 +- node_modules/@octokit/core/dist-web/index.js | 256 +- .../@octokit/core/dist-web/index.js.map | 8 +- .../node_modules/@octokit/endpoint}/LICENSE | 0 .../node_modules/@octokit/endpoint/README.md | 6 +- .../@octokit/endpoint/dist-node}/index.js | 52 +- .../@octokit/endpoint/dist-node/index.js.map | 7 + .../@octokit/endpoint/dist-src/defaults.js | 2 +- .../dist-src/endpoint-with-defaults.js | 6 +- .../@octokit/endpoint/dist-src/index.js | 6 + .../@octokit/endpoint/dist-src/merge.js | 6 +- .../@octokit/endpoint/dist-src/parse.js | 8 +- .../dist-src/util/add-query-parameters.js | 0 .../util/extract-url-variable-names.js | 0 .../endpoint/dist-src/util/is-plain-object.js | 9 +- .../endpoint/dist-src/util/lowercase-keys.js | 0 .../endpoint/dist-src/util/merge-deep.js | 8 +- .../@octokit/endpoint/dist-src/util/omit.js | 0 .../util/remove-undefined-properties.js | 0 .../endpoint/dist-src/util/url-template.js | 0 .../@octokit/endpoint/dist-src/version.js | 4 + .../endpoint/dist-src/with-defaults.js | 6 +- .../endpoint/dist-types/defaults.d.ts | 0 .../dist-types/endpoint-with-defaults.d.ts | 2 +- .../@octokit/endpoint/dist-types/index.d.ts | 0 .../@octokit/endpoint/dist-types/merge.d.ts | 0 .../@octokit/endpoint/dist-types/parse.d.ts | 0 .../dist-types/util/add-query-parameters.d.ts | 0 .../util/extract-url-variable-names.d.ts | 0 .../dist-types/util/is-plain-object.d.ts | 0 .../dist-types/util/lowercase-keys.d.ts | 0 .../endpoint/dist-types/util/merge-deep.d.ts | 0 .../endpoint/dist-types/util/omit.d.ts | 0 .../util/remove-undefined-properties.d.ts | 0 .../dist-types/util/url-template.d.ts | 0 .../@octokit/endpoint/dist-types/version.d.ts | 1 + .../endpoint/dist-types/with-defaults.d.ts | 0 .../@octokit/endpoint/dist-web}/index.js | 17 +- .../@octokit/endpoint/dist-web/index.js.map | 7 + .../@octokit/endpoint/package.json | 45 + .../@octokit/openapi-types/LICENSE | 7 - .../@octokit/openapi-types/README.md | 17 - .../@octokit/openapi-types/package.json | 20 - .../@octokit/openapi-types/types.d.ts | 47095 ---------------- .../@octokit/request-error/LICENSE | 0 .../@octokit/request-error/README.md | 11 +- .../@octokit/request-error/dist-node/index.js | 92 + .../request-error/dist-node/index.js.map | 7 + .../@octokit/request-error/dist-src/index.js | 56 + .../request-error/dist-types/index.d.ts | 33 + .../request-error/dist-types/types.d.ts | 9 + .../@octokit/request-error/dist-web/index.js | 57 + .../request-error/dist-web/index.js.map | 7 + .../@octokit/request-error/package.json | 48 + .../node_modules/@octokit/request}/LICENSE | 0 .../node_modules/@octokit/request/README.md | 8 +- .../@octokit/request/dist-node/index.js | 224 + .../@octokit/request/dist-node/index.js.map | 7 + .../request/dist-src/fetch-wrapper.js | 140 + .../request/dist-src/get-buffer-response.js | 6 + .../@octokit/request/dist-src/index.js} | 8 +- .../request/dist-src}/is-plain-object.js | 9 +- .../@octokit/request/dist-src/version.js | 4 + .../request/dist-src/with-defaults.js | 0 .../request/dist-types/fetch-wrapper.d.ts | 9 + .../dist-types/get-buffer-response.d.ts | 1 + .../@octokit/request/dist-types/index.d.ts | 0 .../request/dist-types/is-plain-object.d.ts | 0 .../@octokit/request/dist-types/version.d.ts | 1 + .../request/dist-types/with-defaults.d.ts | 0 .../@octokit/request/dist-web/index.js | 198 + .../@octokit/request/dist-web/index.js.map | 7 + .../@octokit/request/package.json | 55 + node_modules/@octokit/core/package.json | 77 +- node_modules/@octokit/endpoint/README.md | 27 +- .../endpoint/dist-bundle/index.js | 0 .../endpoint/dist-bundle/index.js.map | 0 .../@octokit/endpoint/dist-src/defaults.js | 28 +- .../dist-src/endpoint-with-defaults.js | 12 +- .../@octokit/endpoint/dist-src/index.js | 9 +- .../@octokit/endpoint/dist-src/merge.js | 49 +- .../@octokit/endpoint/dist-src/parse.js | 143 +- .../dist-src/util/add-query-parameters.js | 29 +- .../util/extract-url-variable-names.js | 19 +- .../endpoint/dist-src/util/is-plain-object.js | 0 .../endpoint/dist-src/util/lowercase-keys.js | 19 +- .../endpoint/dist-src/util/merge-deep.js | 30 +- .../@octokit/endpoint/dist-src/util/omit.js | 18 +- .../util/remove-undefined-properties.js | 15 +- .../endpoint/dist-src/util/url-template.js | 251 +- .../@octokit/endpoint/dist-src/version.js | 5 +- .../endpoint/dist-src/with-defaults.js | 27 +- .../endpoint/dist-types/defaults.d.ts | 2 +- .../dist-types/endpoint-with-defaults.d.ts | 4 +- .../@octokit/endpoint/dist-types/merge.d.ts | 2 +- .../@octokit/endpoint/dist-types/parse.d.ts | 2 +- .../dist-types/util/is-plain-object.d.ts | 0 .../@octokit/endpoint/dist-types/version.d.ts | 2 +- .../endpoint/dist-types/with-defaults.d.ts | 2 +- .../@octokit/openapi-types/README.md | 17 - .../@octokit/openapi-types/package.json | 20 - .../@octokit/openapi-types/types.d.ts | 47095 ---------------- .../.github/workflows/release.yml | 0 .../.github/workflows/test.yml | 0 .../.github/workflows/update-prettier.yml | 0 .../universal-user-agent/CODE_OF_CONDUCT.md | 0 .../universal-user-agent/LICENSE.md | 0 .../universal-user-agent/README.md | 0 .../universal-user-agent/index.d.ts | 0 .../universal-user-agent/index.js | 0 .../universal-user-agent/index.test-d.ts | 0 .../universal-user-agent/package.json | 0 .../node_modules/universal-user-agent/test.js | 0 node_modules/@octokit/endpoint/package.json | 67 +- node_modules/@octokit/graphql/README.md | 20 +- .../@octokit/graphql/dist-node/index.js | 147 +- .../@octokit/graphql/dist-node/index.js.map | 8 +- .../@octokit/graphql/dist-src/error.js | 34 +- .../@octokit/graphql/dist-src/graphql.js | 101 +- .../@octokit/graphql/dist-src/index.js | 29 +- .../@octokit/graphql/dist-src/version.js | 5 +- .../graphql/dist-src/with-defaults.js | 21 +- .../@octokit/graphql/dist-types/error.d.ts | 6 +- .../@octokit/graphql/dist-types/graphql.d.ts | 2 +- .../@octokit/graphql/dist-types/index.d.ts | 2 +- .../@octokit/graphql/dist-types/types.d.ts | 14 +- .../@octokit/graphql/dist-types/version.d.ts | 2 +- .../graphql/dist-types/with-defaults.d.ts | 2 +- .../@octokit/graphql/dist-web/index.js | 200 +- .../@octokit/graphql/dist-web/index.js.map | 8 +- .../node_modules/@octokit/endpoint}/LICENSE | 0 .../node_modules/@octokit/endpoint/README.md | 6 +- .../@octokit/endpoint/dist-node}/index.js | 52 +- .../@octokit/endpoint/dist-node/index.js.map | 7 + .../@octokit/endpoint/dist-src/defaults.js | 2 +- .../dist-src/endpoint-with-defaults.js | 6 +- .../@octokit/endpoint/dist-src/index.js | 6 + .../@octokit/endpoint/dist-src/merge.js | 6 +- .../@octokit/endpoint/dist-src/parse.js | 8 +- .../dist-src/util/add-query-parameters.js | 0 .../util/extract-url-variable-names.js | 0 .../dist-src/util}/is-plain-object.js | 9 +- .../endpoint/dist-src/util/lowercase-keys.js | 0 .../endpoint/dist-src/util/merge-deep.js | 8 +- .../@octokit/endpoint/dist-src/util/omit.js | 0 .../util/remove-undefined-properties.js | 0 .../endpoint/dist-src/util/url-template.js | 0 .../@octokit/endpoint/dist-src/version.js | 4 + .../endpoint/dist-src/with-defaults.js | 6 +- .../endpoint/dist-types/defaults.d.ts | 0 .../dist-types/endpoint-with-defaults.d.ts | 2 +- .../@octokit/endpoint/dist-types/index.d.ts | 0 .../@octokit/endpoint/dist-types/merge.d.ts | 0 .../@octokit/endpoint/dist-types/parse.d.ts | 0 .../dist-types/util/add-query-parameters.d.ts | 0 .../util/extract-url-variable-names.d.ts | 0 .../dist-types/util}/is-plain-object.d.ts | 0 .../dist-types/util/lowercase-keys.d.ts | 0 .../endpoint/dist-types/util/merge-deep.d.ts | 0 .../endpoint/dist-types/util/omit.d.ts | 0 .../util/remove-undefined-properties.d.ts | 0 .../dist-types/util/url-template.d.ts | 0 .../@octokit/endpoint/dist-types/version.d.ts | 1 + .../endpoint/dist-types/with-defaults.d.ts | 0 .../@octokit/endpoint/dist-web}/index.js | 17 +- .../@octokit/endpoint/dist-web/index.js.map | 7 + .../@octokit/endpoint/package.json | 45 + .../@octokit/openapi-types/README.md | 17 - .../@octokit/openapi-types/package.json | 20 - .../@octokit/openapi-types/types.d.ts | 47095 ---------------- .../@octokit/request-error/LICENSE | 0 .../@octokit/request-error/README.md | 11 +- .../@octokit/request-error/dist-node/index.js | 92 + .../request-error/dist-node/index.js.map | 7 + .../@octokit/request-error/dist-src/index.js | 56 + .../request-error/dist-types/index.d.ts | 33 + .../request-error/dist-types/types.d.ts | 9 + .../@octokit/request-error/dist-web/index.js | 57 + .../request-error/dist-web/index.js.map | 7 + .../@octokit/request-error/package.json | 48 + .../node_modules/@octokit/request}/LICENSE | 0 .../node_modules/@octokit/request/README.md | 8 +- .../@octokit/request/dist-node/index.js | 224 + .../@octokit/request/dist-node/index.js.map | 7 + .../request/dist-src/fetch-wrapper.js | 140 + .../request/dist-src/get-buffer-response.js | 6 + .../@octokit/request/dist-src/index.js} | 8 +- .../request/dist-src/is-plain-object.js | 9 +- .../@octokit/request/dist-src/version.js | 4 + .../request/dist-src/with-defaults.js | 0 .../request/dist-types/fetch-wrapper.d.ts | 9 + .../dist-types/get-buffer-response.d.ts | 1 + .../@octokit/request/dist-types/index.d.ts | 0 .../request/dist-types}/is-plain-object.d.ts | 0 .../@octokit/request/dist-types/version.d.ts | 1 + .../request/dist-types/with-defaults.d.ts | 0 .../@octokit/request/dist-web/index.js | 198 + .../@octokit/request/dist-web/index.js.map | 7 + .../@octokit/request/package.json | 55 + node_modules/@octokit/graphql/package.json | 59 +- .../node_modules/@octokit/endpoint/LICENSE | 21 - .../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 | 51 - .../@octokit/request-error/LICENSE | 21 - .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../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 | 579 - .../@octokit/request/dist-bundle/index.js | 196 - .../@octokit/request/dist-bundle/index.js.map | 7 - .../@octokit/request/dist-src/defaults.js | 10 - .../request/dist-src/fetch-wrapper.js | 140 - .../@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 | 56 - .../node_modules/@octokit/endpoint/LICENSE | 21 - .../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 | 51 - .../@octokit/request-error/LICENSE | 21 - .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../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 | 579 - .../@octokit/request/dist-bundle/index.js | 196 - .../@octokit/request/dist-bundle/index.js.map | 7 - .../@octokit/request/dist-src/defaults.js | 10 - .../request/dist-src/fetch-wrapper.js | 140 - .../@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 | 56 - node_modules/@octokit/openapi-types/README.md | 17 - .../@octokit/openapi-types/package.json | 20 - node_modules/@octokit/plugin-retry/README.md | 4 +- .../@octokit/plugin-retry/dist-node/index.js | 4 +- .../plugin-retry/dist-node/index.js.map | 4 +- .../@octokit/plugin-retry/dist-src/version.js | 2 +- .../plugin-retry/dist-src/wrap-request.js | 2 +- .../plugin-retry/dist-types/version.d.ts | 2 +- .../@octokit/plugin-retry/dist-web/index.js | 4 +- .../plugin-retry/dist-web/index.js.map | 4 +- .../@octokit/request-error/dist-node/index.js | 2 +- .../request-error/dist-node/index.js.map | 2 +- .../@octokit/request-error/dist-src/index.js | 2 +- .../@octokit/request-error/dist-web/index.js | 2 +- .../request-error/dist-web/index.js.map | 2 +- .../@octokit/request-error/package.json | 11 +- .../types/dist-types/EndpointOptions.d.ts | 7 - .../@octokit/types/dist-types/VERSION.d.ts | 1 - .../@octokit/plugin-retry/package.json | 17 +- node_modules/@octokit/request-error/README.md | 50 +- .../@octokit/request-error/dist-src/index.js | 91 +- .../request-error/dist-types/index.d.ts | 18 +- .../request-error/dist-types/types.d.ts | 10 +- .../@octokit/openapi-types/LICENSE | 7 - .../@octokit/openapi-types/README.md | 17 - .../@octokit/openapi-types/package.json | 20 - .../@octokit/openapi-types/types.d.ts | 47095 ---------------- .../@octokit/request-error/package.json | 67 +- node_modules/@octokit/request/README.md | 134 +- .../request/dist-bundle/index.js | 0 .../request/dist-bundle/index.js.map | 0 .../request/dist-src/defaults.js | 0 .../request/dist-src/fetch-wrapper.js | 241 +- .../@octokit/request/dist-src/index.js | 14 +- .../request/dist-src/is-plain-object.js | 0 .../@octokit/request/dist-src/version.js | 5 +- .../request/dist-src/with-defaults.js | 43 +- .../request/dist-types/defaults.d.ts | 0 .../request/dist-types/fetch-wrapper.d.ts | 13 +- .../request/dist-types/is-plain-object.d.ts | 0 .../@octokit/request/dist-types/version.d.ts | 2 +- .../request/dist-types/with-defaults.d.ts | 2 +- .../@octokit/openapi-types/LICENSE | 7 - .../@octokit/openapi-types/README.md | 17 - .../@octokit/openapi-types/package.json | 20 - .../@octokit/openapi-types/types.d.ts | 47095 ---------------- .../@octokit/types/dist-node/index.js | 8 - .../@octokit/types/dist-node/index.js.map | 1 - .../types/dist-src/EndpointDefaults.js | 1 - .../types/dist-src/EndpointInterface.js | 1 - .../types/dist-src/EndpointOptions.js | 1 - .../@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 - .../@octokit/types/dist-src/Route.js | 1 - .../@octokit/types/dist-src/Signal.js | 1 - .../types/dist-src/StrategyInterface.js | 1 - .../@octokit/types/dist-src/Url.js | 1 - .../@octokit/types/dist-src/VERSION.js | 1 - .../types/dist-src/generated/Endpoints.js | 1 - .../@octokit/types/dist-src/index.js | 21 - .../types/dist-types/EndpointOptions.d.ts | 7 - .../GetResponseTypeFromEndpointMethod.d.ts | 5 - .../types/dist-types/RequestMethod.d.ts | 4 - .../types/dist-types/RequestOptions.d.ts | 14 - .../@octokit/types/dist-types/VERSION.d.ts | 1 - .../@octokit/types/dist-web/index.js | 4 - .../@octokit/types/dist-web/index.js.map | 1 - .../node_modules/@octokit/types/package.json | 54 - .../.github/workflows/release.yml | 22 + .../.github/workflows/test.yml | 38 + .../.github/workflows/update-prettier.yml | 25 + .../universal-user-agent/CODE_OF_CONDUCT.md | 74 + .../universal-user-agent/LICENSE.md | 7 + .../universal-user-agent/README.md | 19 + .../universal-user-agent/index.d.ts | 4 + .../universal-user-agent/index.js | 13 + .../universal-user-agent/index.test-d.ts | 5 + .../universal-user-agent/package.json | 23 + .../node_modules/universal-user-agent/test.js | 8 + node_modules/@octokit/request/package.json | 78 +- .../@octokit/request-error/LICENSE | 21 - .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../request-error/dist-types/index.d.ts | 21 - .../request-error/dist-types/types.d.ts | 5 - .../@octokit/request-error/package.json | 50 - node_modules/camel-case/LICENSE | 21 - node_modules/camel-case/README.md | 47 - .../camel-case/dist.es2015/index.d.ts | 5 - node_modules/camel-case/dist.es2015/index.js | 17 - .../camel-case/dist.es2015/index.js.map | 1 - .../camel-case/dist.es2015/index.spec.d.ts | 1 - .../camel-case/dist.es2015/index.spec.js | 24 - .../camel-case/dist.es2015/index.spec.js.map | 1 - node_modules/camel-case/dist/index.d.ts | 5 - node_modules/camel-case/dist/index.js | 23 - node_modules/camel-case/dist/index.js.map | 1 - node_modules/camel-case/dist/index.spec.d.ts | 1 - node_modules/camel-case/dist/index.spec.js | 26 - .../camel-case/dist/index.spec.js.map | 1 - .../node_modules/tslib/CopyrightNotice.txt | 15 - .../camel-case/node_modules/tslib/LICENSE.txt | 12 - .../camel-case/node_modules/tslib/README.md | 164 - .../camel-case/node_modules/tslib/SECURITY.md | 41 - .../node_modules/tslib/modules/index.d.ts | 37 - .../node_modules/tslib/modules/index.js | 68 - .../node_modules/tslib/modules/package.json | 3 - .../node_modules/tslib/package.json | 47 - .../camel-case/node_modules/tslib/tslib.d.ts | 453 - .../node_modules/tslib/tslib.es6.html | 1 - .../node_modules/tslib/tslib.es6.js | 379 - .../node_modules/tslib/tslib.es6.mjs | 378 - .../camel-case/node_modules/tslib/tslib.html | 1 - .../camel-case/node_modules/tslib/tslib.js | 429 - node_modules/camel-case/package.json | 89 - node_modules/commander/CHANGELOG.md | 361 - node_modules/commander/LICENSE | 22 - node_modules/commander/Readme.md | 791 - node_modules/commander/index.js | 1881 - node_modules/commander/package.json | 51 - node_modules/commander/typings/index.d.ts | 410 - node_modules/crypto/README.md | 7 - node_modules/crypto/package.json | 19 - node_modules/dot-object/CHANGELOG.md | 97 - node_modules/dot-object/MIT-LICENSE | 20 - node_modules/dot-object/README.md | 433 - node_modules/dot-object/bin/dot-object | 133 - node_modules/dot-object/dist/dot-object.js | 600 - .../dot-object/dist/dot-object.min.js | 1 - node_modules/dot-object/index.js | 585 - .../dot-object/node_modules/glob/LICENSE | 21 - .../dot-object/node_modules/glob/README.md | 378 - .../dot-object/node_modules/glob/common.js | 238 - .../dot-object/node_modules/glob/glob.js | 790 - .../dot-object/node_modules/glob/package.json | 55 - .../dot-object/node_modules/glob/sync.js | 486 - node_modules/dot-object/package.json | 64 - node_modules/lower-case/LICENSE | 21 - node_modules/lower-case/README.md | 35 - .../lower-case/dist.es2015/index.d.ts | 8 - node_modules/lower-case/dist.es2015/index.js | 48 - .../lower-case/dist.es2015/index.js.map | 1 - .../lower-case/dist.es2015/index.spec.d.ts | 1 - .../lower-case/dist.es2015/index.spec.js | 34 - .../lower-case/dist.es2015/index.spec.js.map | 1 - node_modules/lower-case/dist/index.d.ts | 8 - node_modules/lower-case/dist/index.js | 53 - node_modules/lower-case/dist/index.js.map | 1 - node_modules/lower-case/dist/index.spec.d.ts | 1 - node_modules/lower-case/dist/index.spec.js | 36 - .../lower-case/dist/index.spec.js.map | 1 - .../node_modules/tslib/CopyrightNotice.txt | 15 - .../lower-case/node_modules/tslib/LICENSE.txt | 12 - .../lower-case/node_modules/tslib/README.md | 164 - .../lower-case/node_modules/tslib/SECURITY.md | 41 - .../node_modules/tslib/modules/index.d.ts | 37 - .../node_modules/tslib/modules/index.js | 68 - .../node_modules/tslib/modules/package.json | 3 - .../node_modules/tslib/package.json | 47 - .../lower-case/node_modules/tslib/tslib.d.ts | 453 - .../node_modules/tslib/tslib.es6.html | 1 - .../node_modules/tslib/tslib.es6.js | 379 - .../node_modules/tslib/tslib.es6.mjs | 378 - .../lower-case/node_modules/tslib/tslib.html | 1 - .../lower-case/node_modules/tslib/tslib.js | 429 - node_modules/lower-case/package.json | 87 - node_modules/no-case/LICENSE | 21 - node_modules/no-case/README.md | 37 - node_modules/no-case/dist.es2015/index.d.ts | 10 - node_modules/no-case/dist.es2015/index.js | 31 - node_modules/no-case/dist.es2015/index.js.map | 1 - .../no-case/dist.es2015/index.spec.d.ts | 1 - .../no-case/dist.es2015/index.spec.js | 57 - .../no-case/dist.es2015/index.spec.js.map | 1 - node_modules/no-case/dist/index.d.ts | 10 - node_modules/no-case/dist/index.js | 35 - node_modules/no-case/dist/index.js.map | 1 - node_modules/no-case/dist/index.spec.d.ts | 1 - node_modules/no-case/dist/index.spec.js | 59 - node_modules/no-case/dist/index.spec.js.map | 1 - .../node_modules/tslib/CopyrightNotice.txt | 15 - .../no-case/node_modules/tslib/LICENSE.txt | 12 - .../no-case/node_modules/tslib/README.md | 164 - .../no-case/node_modules/tslib/SECURITY.md | 41 - .../node_modules/tslib/modules/index.d.ts | 37 - .../node_modules/tslib/modules/index.js | 68 - .../node_modules/tslib/modules/package.json | 3 - .../no-case/node_modules/tslib/package.json | 47 - .../no-case/node_modules/tslib/tslib.d.ts | 453 - .../no-case/node_modules/tslib/tslib.es6.html | 1 - .../no-case/node_modules/tslib/tslib.es6.js | 379 - .../no-case/node_modules/tslib/tslib.es6.mjs | 378 - .../no-case/node_modules/tslib/tslib.html | 1 - .../no-case/node_modules/tslib/tslib.js | 429 - node_modules/no-case/package.json | 85 - .../node_modules/@octokit/endpoint/LICENSE | 21 - .../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 | 51 - .../@octokit/request-error/LICENSE | 21 - .../@octokit/request-error/README.md | 93 - .../@octokit/request-error/dist-src/index.js | 40 - .../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 | 579 - .../@octokit/request/dist-bundle/index.js | 196 - .../@octokit/request/dist-bundle/index.js.map | 7 - .../@octokit/request/dist-src/defaults.js | 10 - .../request/dist-src/fetch-wrapper.js | 140 - .../@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 | 56 - node_modules/pascal-case/LICENSE | 21 - node_modules/pascal-case/README.md | 47 - .../pascal-case/dist.es2015/index.d.ts | 5 - node_modules/pascal-case/dist.es2015/index.js | 18 - .../pascal-case/dist.es2015/index.js.map | 1 - .../pascal-case/dist.es2015/index.spec.d.ts | 1 - .../pascal-case/dist.es2015/index.spec.js | 23 - .../pascal-case/dist.es2015/index.spec.js.map | 1 - node_modules/pascal-case/dist/index.d.ts | 5 - node_modules/pascal-case/dist/index.js | 24 - node_modules/pascal-case/dist/index.js.map | 1 - node_modules/pascal-case/dist/index.spec.d.ts | 1 - node_modules/pascal-case/dist/index.spec.js | 25 - .../pascal-case/dist/index.spec.js.map | 1 - .../node_modules/tslib/CopyrightNotice.txt | 15 - .../node_modules/tslib/LICENSE.txt | 12 - .../pascal-case/node_modules/tslib/README.md | 164 - .../node_modules/tslib/SECURITY.md | 41 - .../node_modules/tslib/modules/index.d.ts | 37 - .../node_modules/tslib/modules/index.js | 68 - .../node_modules/tslib/modules/package.json | 3 - .../node_modules/tslib/package.json | 47 - .../pascal-case/node_modules/tslib/tslib.d.ts | 453 - .../node_modules/tslib/tslib.es6.html | 1 - .../node_modules/tslib/tslib.es6.js | 379 - .../node_modules/tslib/tslib.es6.mjs | 378 - .../pascal-case/node_modules/tslib/tslib.html | 1 - .../pascal-case/node_modules/tslib/tslib.js | 429 - node_modules/pascal-case/package.json | 90 - node_modules/ts-poet/.eslintrc.js | 12 - node_modules/ts-poet/.nvmrc | 1 - node_modules/ts-poet/.prettierrc | 6 - node_modules/ts-poet/CodeBlockTest.java | 315 - node_modules/ts-poet/CodeBlockTest.ts | 315 - node_modules/ts-poet/LICENSE.txt | 204 - node_modules/ts-poet/README.md | 165 - node_modules/ts-poet/build/Code.d.ts | 61 - node_modules/ts-poet/build/Code.js | 305 - .../ts-poet/build/ConditionalOutput.d.ts | 40 - .../ts-poet/build/ConditionalOutput.js | 56 - node_modules/ts-poet/build/Import.d.ts | 190 - node_modules/ts-poet/build/Import.js | 377 - node_modules/ts-poet/build/Literal.d.ts | 10 - node_modules/ts-poet/build/Literal.js | 63 - node_modules/ts-poet/build/Node.d.ts | 6 - node_modules/ts-poet/build/Node.js | 6 - node_modules/ts-poet/build/SymbolSpecs.d.ts | 190 - node_modules/ts-poet/build/SymbolSpecs.js | 330 - node_modules/ts-poet/build/index.d.ts | 22 - node_modules/ts-poet/build/index.js | 64 - .../ts-poet/build/is-plain-object.d.ts | 7 - node_modules/ts-poet/build/is-plain-object.js | 31 - node_modules/ts-poet/jest.config.js | 15 - .../ts-poet/node_modules/.bin/prettier | 1 - .../ts-poet/node_modules/prettier/LICENSE | 5970 -- .../ts-poet/node_modules/prettier/README.md | 109 - .../node_modules/prettier/bin-prettier.js | 64 - .../ts-poet/node_modules/prettier/cli.js | 15364 ----- .../ts-poet/node_modules/prettier/doc.js | 1473 - .../prettier/esm/parser-angular.mjs | 2 - .../prettier/esm/parser-babel.mjs | 29 - .../prettier/esm/parser-espree.mjs | 26 - .../node_modules/prettier/esm/parser-flow.mjs | 35 - .../prettier/esm/parser-glimmer.mjs | 27 - .../prettier/esm/parser-graphql.mjs | 15 - .../node_modules/prettier/esm/parser-html.mjs | 36 - .../prettier/esm/parser-markdown.mjs | 76 - .../prettier/esm/parser-meriyah.mjs | 19 - .../prettier/esm/parser-postcss.mjs | 76 - .../prettier/esm/parser-typescript.mjs | 49 - .../node_modules/prettier/esm/parser-yaml.mjs | 150 - .../node_modules/prettier/esm/standalone.mjs | 116 - .../ts-poet/node_modules/prettier/index.js | 38236 ------------- .../node_modules/prettier/package.json | 21 - .../node_modules/prettier/parser-angular.js | 2 - .../node_modules/prettier/parser-babel.js | 29 - .../node_modules/prettier/parser-espree.js | 26 - .../node_modules/prettier/parser-flow.js | 35 - .../node_modules/prettier/parser-glimmer.js | 27 - .../node_modules/prettier/parser-graphql.js | 15 - .../node_modules/prettier/parser-html.js | 36 - .../node_modules/prettier/parser-markdown.js | 76 - .../node_modules/prettier/parser-meriyah.js | 19 - .../node_modules/prettier/parser-postcss.js | 76 - .../prettier/parser-typescript.js | 49 - .../node_modules/prettier/parser-yaml.js | 150 - .../node_modules/prettier/standalone.js | 116 - .../node_modules/prettier/third-party.js | 8978 --- node_modules/ts-poet/package.json | 37 - node_modules/ts-poet/steps.txt | 6 - node_modules/twirp-ts/README.md | 441 - .../build/protoc-gen-twirp-ts/file.d.ts | 9 - .../build/protoc-gen-twirp-ts/file.js | 20 - .../protoc-gen-twirp-ts/gen/gateway.d.ts | 30 - .../build/protoc-gen-twirp-ts/gen/gateway.js | 113 - .../protoc-gen-twirp-ts/gen/index-file.d.ts | 3 - .../protoc-gen-twirp-ts/gen/index-file.js | 29 - .../protoc-gen-twirp-ts/gen/open-api.d.ts | 17 - .../build/protoc-gen-twirp-ts/gen/open-api.js | 580 - .../build/protoc-gen-twirp-ts/gen/twirp.d.ts | 20 - .../build/protoc-gen-twirp-ts/gen/twirp.js | 448 - .../protoc-gen-twirp-ts/interpreter.d.ts | 97 - .../build/protoc-gen-twirp-ts/interpreter.js | 436 - .../protoc-gen-twirp-ts/local-type-name.d.ts | 12 - .../protoc-gen-twirp-ts/local-type-name.js | 45 - .../build/protoc-gen-twirp-ts/plugin.d.ts | 38 - .../build/protoc-gen-twirp-ts/plugin.js | 145 - .../build/twirp/__mocks__/gateway.twirp.d.ts | 2 - .../build/twirp/__mocks__/gateway.twirp.js | 47 - .../build/twirp/__mocks__/service.d.ts | 147 - .../twirp-ts/build/twirp/__mocks__/service.js | 300 - .../build/twirp/__mocks__/service.twirp.d.ts | 38 - .../build/twirp/__mocks__/service.twirp.js | 313 - .../build/twirp/__tests__/client.test.d.ts | 1 - .../build/twirp/__tests__/client.test.js | 160 - .../build/twirp/__tests__/errors.test.d.ts | 1 - .../build/twirp/__tests__/errors.test.js | 70 - .../build/twirp/__tests__/gateway.test.d.ts | 1 - .../build/twirp/__tests__/gateway.test.js | 174 - .../twirp-ts/build/twirp/__tests__/hooks.d.ts | 1 - .../twirp-ts/build/twirp/__tests__/hooks.js | 76 - .../twirp/__tests__/interceptor.test.d.ts | 1 - .../build/twirp/__tests__/interceptor.test.js | 44 - .../build/twirp/__tests__/server.test.d.ts | 1 - .../build/twirp/__tests__/server.test.js | 272 - .../twirp-ts/build/twirp/context.d.ts | 11 - node_modules/twirp-ts/build/twirp/context.js | 2 - node_modules/twirp-ts/build/twirp/errors.d.ts | 104 - node_modules/twirp-ts/build/twirp/errors.js | 271 - .../twirp-ts/build/twirp/gateway.d.ts | 72 - node_modules/twirp-ts/build/twirp/gateway.js | 207 - node_modules/twirp-ts/build/twirp/hooks.d.ts | 15 - node_modules/twirp-ts/build/twirp/hooks.js | 114 - .../twirp-ts/build/twirp/http.client.d.ts | 24 - .../twirp-ts/build/twirp/http.client.js | 112 - node_modules/twirp-ts/build/twirp/index.d.ts | 8 - node_modules/twirp-ts/build/twirp/index.js | 22 - .../twirp-ts/build/twirp/interceptors.d.ts | 4 - .../twirp-ts/build/twirp/interceptors.js | 34 - .../twirp-ts/build/twirp/request.d.ts | 43 - node_modules/twirp-ts/build/twirp/request.js | 117 - node_modules/twirp-ts/build/twirp/server.d.ts | 104 - node_modules/twirp-ts/build/twirp/server.js | 195 - node_modules/twirp-ts/jest.config.js | 12 - .../node_modules/path-to-regexp/LICENSE | 21 - .../node_modules/path-to-regexp/Readme.md | 350 - .../path-to-regexp/dist.es2015/index.js | 415 - .../path-to-regexp/dist.es2015/index.js.map | 1 - .../path-to-regexp/dist/index.d.ts | 127 - .../node_modules/path-to-regexp/dist/index.js | 425 - .../path-to-regexp/dist/index.js.map | 1 - .../node_modules/path-to-regexp/package.json | 63 - node_modules/twirp-ts/package.json | 60 - node_modules/twirp-ts/protoc-gen-twirp_ts | 3 - node_modules/twirp-ts/tsconfig.json | 73 - node_modules/yaml/LICENSE | 13 - node_modules/yaml/README.md | 127 - .../yaml/browser/dist/PlainValue-b8036b75.js | 1275 - .../yaml/browser/dist/Schema-e94716c8.js | 682 - node_modules/yaml/browser/dist/index.js | 1002 - .../yaml/browser/dist/legacy-exports.js | 3 - node_modules/yaml/browser/dist/package.json | 3 - node_modules/yaml/browser/dist/parse-cst.js | 1904 - .../yaml/browser/dist/resolveSeq-492ab440.js | 2419 - node_modules/yaml/browser/dist/types.js | 4 - node_modules/yaml/browser/dist/util.js | 2 - .../yaml/browser/dist/warnings-df54cb69.js | 499 - node_modules/yaml/browser/index.js | 1 - node_modules/yaml/browser/map.js | 2 - node_modules/yaml/browser/pair.js | 2 - node_modules/yaml/browser/parse-cst.js | 1 - node_modules/yaml/browser/scalar.js | 2 - node_modules/yaml/browser/schema.js | 9 - node_modules/yaml/browser/seq.js | 2 - node_modules/yaml/browser/types.js | 1 - node_modules/yaml/browser/types/binary.js | 8 - node_modules/yaml/browser/types/omap.js | 3 - node_modules/yaml/browser/types/pairs.js | 3 - node_modules/yaml/browser/types/set.js | 3 - node_modules/yaml/browser/types/timestamp.js | 10 - node_modules/yaml/browser/util.js | 1 - node_modules/yaml/dist/Document-9b4560a1.js | 757 - node_modules/yaml/dist/PlainValue-ec8e588e.js | 876 - node_modules/yaml/dist/Schema-88e323a7.js | 525 - node_modules/yaml/dist/index.js | 79 - node_modules/yaml/dist/legacy-exports.js | 16 - node_modules/yaml/dist/parse-cst.js | 1753 - node_modules/yaml/dist/resolveSeq-d03cb037.js | 2161 - node_modules/yaml/dist/test-events.js | 162 - node_modules/yaml/dist/types.js | 23 - node_modules/yaml/dist/util.js | 19 - node_modules/yaml/dist/warnings-1000a372.js | 416 - node_modules/yaml/index.d.ts | 372 - node_modules/yaml/index.js | 1 - node_modules/yaml/map.js | 2 - node_modules/yaml/package.json | 106 - node_modules/yaml/pair.js | 2 - node_modules/yaml/parse-cst.d.ts | 191 - node_modules/yaml/parse-cst.js | 1 - node_modules/yaml/scalar.js | 2 - node_modules/yaml/schema.js | 9 - node_modules/yaml/seq.js | 2 - node_modules/yaml/types.d.ts | 407 - node_modules/yaml/types.js | 17 - node_modules/yaml/types.mjs | 17 - node_modules/yaml/types/binary.js | 8 - node_modules/yaml/types/omap.js | 3 - node_modules/yaml/types/pairs.js | 3 - node_modules/yaml/types/set.js | 3 - node_modules/yaml/types/timestamp.js | 10 - node_modules/yaml/util.d.ts | 86 - node_modules/yaml/util.js | 16 - node_modules/yaml/util.mjs | 18 - package-lock.json | 1050 +- package.json | 15 +- 1536 files changed, 55821 insertions(+), 427759 deletions(-) delete mode 120000 node_modules/.bin/dot-object delete mode 120000 node_modules/.bin/protoc-gen-twirp_ts rename node_modules/@actions/artifact/lib/generated/results/api/v1/{artifact.twirp.d.ts => artifact.twirp-client.d.ts} (62%) create mode 100644 node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js create mode 100644 node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js.map delete mode 100644 node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js delete mode 100644 node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js.map rename node_modules/{@octokit/endpoint/node_modules/@octokit/openapi-types/LICENSE => @actions/artifact/node_modules/@actions/github/LICENSE.md} (95%) create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/README.md create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/context.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/github.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@actions/github/package.json rename node_modules/{@octokit/app/node_modules/@octokit/request-error => @actions/artifact/node_modules/@octokit/auth-token}/LICENSE (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/README.md create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-node/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-node/index.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/auth.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/hook.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/index.js rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/dist-src/types.js (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/auth.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/hook.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/index.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/types.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-web/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-web/index.js.map rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/LICENSE (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/README.md (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/AuthInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointDefaults.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/Fetch.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/OctokitResponse.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestError.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestParameters.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestRequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/ResponseHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/Route.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/Signal.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/StrategyInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/Url.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/VERSION.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/generated/Endpoints.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-src/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/AuthInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/Fetch.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestError.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestParameters.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/Route.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/Signal.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/Url.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/VERSION.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-types/index.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/auth-token/node_modules/@octokit/types/package.json (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/auth-token/package.json rename node_modules/{@octokit/auth-app/node_modules/@octokit/request-error => @actions/artifact/node_modules/@octokit/core}/LICENSE (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/README.md create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/index.js rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/dist-src/types.js (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/version.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/index.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/types.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/version.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-web/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/dist-web/index.js.map rename node_modules/{@octokit/auth-oauth-app => @actions/artifact/node_modules/@octokit/core}/node_modules/@octokit/request-error/LICENSE (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/README.md rename node_modules/{ => @actions/artifact/node_modules/@octokit/core/node_modules}/@octokit/request-error/dist-node/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules/@octokit/core/node_modules}/@octokit/request-error/dist-node/index.js.map (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/index.js rename node_modules/{@octokit/graphql => @actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error}/dist-src/types.js (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/index.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts rename node_modules/{ => @actions/artifact/node_modules/@octokit/core/node_modules}/@octokit/request-error/dist-web/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules/@octokit/core/node_modules}/@octokit/request-error/dist-web/index.js.map (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/package.json rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/LICENSE (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/README.md (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-node/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-node/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/AuthInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/EndpointDefaults.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/EndpointInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/EndpointOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/Fetch.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/OctokitResponse.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/RequestError.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/RequestHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/RequestInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/RequestMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/RequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/RequestParameters.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/RequestRequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/ResponseHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/Route.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/Signal.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/StrategyInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/Url.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/VERSION.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/generated/Endpoints.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-src/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/Signal.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-web/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/dist-web/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/core/node_modules/@octokit/types/package.json (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/core/package.json rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/LICENSE (100%) rename node_modules/{@octokit/auth-app => @actions/artifact}/node_modules/@octokit/endpoint/README.md (92%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/dist-node/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/dist-node/index.js.map (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/defaults.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/merge.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/parse.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/omit.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/url-template.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/version.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/with-defaults.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/defaults.d.ts rename node_modules/{@octokit/auth-oauth-app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts (58%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/index.d.ts (100%) rename node_modules/{@octokit/auth-oauth-app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/merge.d.ts (64%) rename node_modules/{@octokit/auth-oauth-app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/parse.d.ts (50%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/version.d.ts rename node_modules/{@octokit/auth-oauth-app => @actions/artifact}/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts (57%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/dist-web/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/dist-web/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/LICENSE (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/README.md (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/AuthInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointDefaults.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/Fetch.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/OctokitResponse.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestError.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestParameters.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestRequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/ResponseHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/Route.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/Signal.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/StrategyInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/Url.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/VERSION.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/generated/Endpoints.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-src/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/AuthInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/Fetch.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestError.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestParameters.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/Route.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/Signal.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/Url.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/VERSION.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-types/index.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/endpoint/node_modules/@octokit/types/package.json (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/endpoint/package.json rename node_modules/{@octokit/app/node_modules/@octokit/request => @actions/artifact/node_modules/@octokit/graphql}/LICENSE (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/README.md create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/error.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/graphql.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/index.js rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/graphql}/dist-src/types.js (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/version.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/with-defaults.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/error.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/graphql.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/index.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/types.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/version.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js.map rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/LICENSE (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/README.md (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/AuthInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointDefaults.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/Fetch.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/OctokitResponse.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestError.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestMethod.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestParameters.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestRequestOptions.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/ResponseHeaders.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/Route.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/Signal.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/StrategyInterface.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/Url.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/VERSION.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/generated/Endpoints.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-src/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/AuthInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/Fetch.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestError.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestMethod.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestParameters.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/Route.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/Signal.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/Url.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/VERSION.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-types/index.d.ts (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/graphql/node_modules/@octokit/types/package.json (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/graphql/package.json rename node_modules/{@octokit/auth-app/node_modules/@octokit/endpoint => @actions/artifact/node_modules/@octokit/request}/LICENSE (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/request/README.md (79%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/request/dist-node/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/request/dist-node/index.js.map (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/fetch-wrapper.js rename node_modules/{ => @actions/artifact/node_modules}/@octokit/request/dist-src/get-buffer-response.js (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/version.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/with-defaults.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts rename node_modules/{ => @actions/artifact/node_modules}/@octokit/request/dist-types/get-buffer-response.d.ts (100%) rename node_modules/{@octokit/app => @actions/artifact}/node_modules/@octokit/request/dist-types/index.d.ts (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/version.d.ts rename node_modules/{@octokit/auth-oauth-user => @actions/artifact}/node_modules/@octokit/request/dist-types/with-defaults.d.ts (56%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/request/dist-web/index.js (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/request/dist-web/index.js.map (100%) rename node_modules/{@octokit/auth-oauth-device => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/request-error/LICENSE (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/README.md create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/index.js rename node_modules/{@octokit/request-error/node_modules/@octokit/types/dist-src/AuthInterface.js => @actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/types.js} (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/index.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/types.d.ts create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js.map create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/package.json rename node_modules/{@octokit/plugin-retry => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/LICENSE (100%) rename node_modules/{@octokit/plugin-retry => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/README.md (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-node/index.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-node/index.js.map (100%) rename node_modules/{ => @actions/artifact/node_modules}/@octokit/request/node_modules/@octokit/types/dist-src/AuthInterface.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/EndpointDefaults.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/EndpointInterface.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/EndpointOptions.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/Fetch.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/OctokitResponse.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/RequestError.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/RequestHeaders.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/RequestInterface.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/RequestMethod.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/RequestOptions.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/RequestParameters.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/RequestRequestOptions.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/ResponseHeaders.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/Route.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/Signal.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/StrategyInterface.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/Url.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/VERSION.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/generated/Endpoints.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-src/index.js (100%) rename node_modules/{@octokit/plugin-retry => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/AuthInterface.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/Fetch.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/RequestError.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/RequestInterface.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/RequestMethod.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/RequestOptions.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/RequestParameters.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/Route.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/Signal.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/Url.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/VERSION.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-types/index.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-web/index.js (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/dist-web/index.js.map (100%) rename node_modules/{@octokit/request-error => @actions/artifact/node_modules/@octokit/request}/node_modules/@octokit/types/package.json (100%) create mode 100644 node_modules/@actions/artifact/node_modules/@octokit/request/package.json rename node_modules/{@octokit/auth-token => @actions/github}/node_modules/@octokit/openapi-types/LICENSE (100%) rename node_modules/{@octokit/auth-token => @actions/github}/node_modules/@octokit/openapi-types/README.md (66%) rename node_modules/{@octokit/auth-token => @actions/github}/node_modules/@octokit/openapi-types/package.json (89%) rename node_modules/{ => @actions/github/node_modules}/@octokit/openapi-types/types.d.ts (84%) rename node_modules/{@octokit/request-error/node_modules/@octokit/types => @actions/github/node_modules/@octokit/plugin-paginate-rest}/LICENSE (100%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/README.md create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js rename node_modules/{@octokit/app/node_modules/@octokit/request => @actions/github/node_modules/@octokit/plugin-paginate-rest}/dist-src/version.js (100%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts rename node_modules/{@octokit/app/node_modules/@octokit/request => @actions/github/node_modules/@octokit/plugin-paginate-rest}/dist-types/version.d.ts (100%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/LICENSE (100%) rename node_modules/{@octokit/request-error => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/README.md (97%) rename node_modules/{@octokit/request-error => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/AuthInterface.d.ts (82%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts (66%) rename node_modules/{@octokit/request-error => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts (92%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/Fetch.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts (65%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/RequestError.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/RequestInterface.d.ts (83%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/RequestMethod.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/RequestOptions.d.ts (52%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/RequestParameters.d.ts (91%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts (56%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts (92%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/Route.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/Signal.d.ts (100%) rename node_modules/{@octokit/request-error => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts (79%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/Url.d.ts (100%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts (63%) rename node_modules/{@octokit/request-error => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/dist-types/index.d.ts (100%) rename node_modules/{@octokit/plugin-retry => @actions/github/node_modules/@octokit/plugin-paginate-rest}/node_modules/@octokit/types/package.json (75%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/package.json rename node_modules/{@octokit/graphql/node_modules/@octokit/openapi-types => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/LICENSE (79%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/README.md create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map rename node_modules/{@octokit/openapi-types => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types}/LICENSE (79%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/README.md (97%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/AuthInterface.d.ts (82%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts (53%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts (92%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/Fetch.d.ts (67%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts (65%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/RequestError.d.ts (84%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts (92%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/RequestInterface.d.ts (83%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/RequestParameters.d.ts (81%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts (51%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts (87%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/Route.d.ts (82%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/Signal.d.ts (73%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts (79%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/Url.d.ts (73%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts (50%) rename node_modules/{@octokit/request => @actions/github/node_modules/@octokit/plugin-rest-endpoint-methods}/node_modules/@octokit/types/dist-types/index.d.ts (100%) create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json create mode 100644 node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/package.json delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/@octokit/app/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/defaults.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/parse.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/README.md delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-app/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/README.md delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/merge.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/parse.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/omit.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/url-template.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/merge.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/parse.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/LICENSE delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/is-plain-object.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/LICENSE delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/README.md delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/merge.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/parse.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/omit.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/url-template.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/merge.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/parse.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/LICENSE delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/README.md delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/is-plain-object.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/version.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/types.d.ts delete mode 100644 node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/package.json rename node_modules/@octokit/{auth-app/node_modules/@octokit/request => core/node_modules/@octokit/endpoint}/LICENSE (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/README.md (97%) rename node_modules/@octokit/{auth-app/node_modules/@octokit/endpoint/dist-bundle => core/node_modules/@octokit/endpoint/dist-node}/index.js (87%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-node/index.js.map rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/defaults.js (89%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js (55%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/index.js rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/merge.js (88%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/parse.js (93%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js (75%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js (57%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/util/omit.js (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-src/util/url-template.js (100%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/version.js rename node_modules/@octokit/{auth-oauth-app => core}/node_modules/@octokit/endpoint/dist-src/with-defaults.js (71%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-types/defaults.d.ts (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts (85%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/index.d.ts (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-types/merge.d.ts (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-types/parse.d.ts (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts (100%) rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts (100%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/version.d.ts rename node_modules/@octokit/{app => core}/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts (100%) rename node_modules/@octokit/{auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle => core/node_modules/@octokit/endpoint/dist-web}/index.js (97%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-web/index.js.map create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE delete mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md delete mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json delete mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/types.d.ts rename node_modules/@octokit/{auth-oauth-user => core}/node_modules/@octokit/request-error/LICENSE (100%) rename node_modules/@octokit/{auth-oauth-app => core}/node_modules/@octokit/request-error/README.md (73%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js.map 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/dist-web/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js.map create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/package.json rename node_modules/@octokit/{auth-oauth-app/node_modules/@octokit/endpoint => core/node_modules/@octokit/request}/LICENSE (100%) rename node_modules/@octokit/{auth-oauth-app => core}/node_modules/@octokit/request/README.md (98%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js.map 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/get-buffer-response.js rename node_modules/@octokit/{auth-oauth-device/node_modules/@octokit/request/dist-src/defaults.js => core/node_modules/@octokit/request/dist-src/index.js} (56%) rename node_modules/@octokit/{auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util => core/node_modules/@octokit/request/dist-src}/is-plain-object.js (75%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-src/version.js rename node_modules/@octokit/{app => core}/node_modules/@octokit/request/dist-src/with-defaults.js (100%) 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/get-buffer-response.d.ts rename node_modules/@octokit/{auth-app => core}/node_modules/@octokit/request/dist-types/index.d.ts (100%) rename node_modules/@octokit/{app => core}/node_modules/@octokit/request/dist-types/is-plain-object.d.ts (100%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-types/version.d.ts rename node_modules/@octokit/{app => core}/node_modules/@octokit/request/dist-types/with-defaults.d.ts (100%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js.map create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/package.json rename node_modules/@octokit/{app/node_modules/@octokit => }/endpoint/dist-bundle/index.js (100%) rename node_modules/@octokit/{app/node_modules/@octokit => }/endpoint/dist-bundle/index.js.map (100%) rename node_modules/@octokit/{app/node_modules/@octokit => }/endpoint/dist-src/util/is-plain-object.js (100%) rename node_modules/@octokit/{auth-app/node_modules/@octokit => }/endpoint/dist-types/util/is-plain-object.d.ts (100%) delete mode 100644 node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/README.md delete mode 100644 node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/package.json delete mode 100644 node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/types.d.ts rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/.github/workflows/release.yml (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/.github/workflows/test.yml (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/.github/workflows/update-prettier.yml (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/CODE_OF_CONDUCT.md (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/LICENSE.md (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/README.md (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/index.d.ts (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/index.js (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/index.test-d.ts (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/package.json (100%) rename node_modules/@octokit/{oauth-methods => endpoint}/node_modules/universal-user-agent/test.js (100%) rename node_modules/@octokit/{auth-oauth-app/node_modules/@octokit/request => graphql/node_modules/@octokit/endpoint}/LICENSE (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/README.md (97%) rename node_modules/@octokit/{auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle => graphql/node_modules/@octokit/endpoint/dist-node}/index.js (87%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-node/index.js.map rename node_modules/@octokit/{auth-oauth-device => graphql}/node_modules/@octokit/endpoint/dist-src/defaults.js (89%) rename node_modules/@octokit/{app => graphql}/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js (55%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/index.js rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/merge.js (88%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-src/parse.js (93%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js (100%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js (100%) rename node_modules/@octokit/{auth-app/node_modules/@octokit/request/dist-src => graphql/node_modules/@octokit/endpoint/dist-src/util}/is-plain-object.js (75%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js (57%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/util/omit.js (100%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js (100%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/util/url-template.js (100%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/version.js rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-src/with-defaults.js (71%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-types/defaults.d.ts (100%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts (85%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/index.d.ts (100%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-types/merge.d.ts (100%) rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-types/parse.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts (100%) rename node_modules/@octokit/{auth-app/node_modules/@octokit/request/dist-types => graphql/node_modules/@octokit/endpoint/dist-types/util}/is-plain-object.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts (100%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/version.d.ts rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts (100%) rename node_modules/@octokit/{auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle => graphql/node_modules/@octokit/endpoint/dist-web}/index.js (97%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-web/index.js.map create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/README.md delete mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/package.json delete mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/types.d.ts rename node_modules/@octokit/{auth-unauthenticated => graphql}/node_modules/@octokit/request-error/LICENSE (100%) rename node_modules/@octokit/{auth-oauth-device => graphql}/node_modules/@octokit/request-error/README.md (73%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-node/index.js create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-node/index.js.map create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-src/index.js create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-types/index.d.ts create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-types/types.d.ts create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-web/index.js create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-web/index.js.map create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request-error/package.json rename node_modules/@octokit/{auth-oauth-device/node_modules/@octokit/endpoint => graphql/node_modules/@octokit/request}/LICENSE (100%) rename node_modules/@octokit/{auth-oauth-device => graphql}/node_modules/@octokit/request/README.md (98%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js.map create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/fetch-wrapper.js create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/get-buffer-response.js rename node_modules/@octokit/{auth-app/node_modules/@octokit/request/dist-src/defaults.js => graphql/node_modules/@octokit/request/dist-src/index.js} (56%) rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/request/dist-src/is-plain-object.js (75%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/version.js rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/request/dist-src/with-defaults.js (100%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts rename node_modules/@octokit/{auth-oauth-app => graphql}/node_modules/@octokit/request/dist-types/index.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util => graphql/node_modules/@octokit/request/dist-types}/is-plain-object.d.ts (100%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/version.d.ts rename node_modules/@octokit/{auth-app => graphql}/node_modules/@octokit/request/dist-types/with-defaults.d.ts (100%) create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js.map create mode 100644 node_modules/@octokit/graphql/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/LICENSE delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/README.md delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/parse.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/LICENSE delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/LICENSE delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/README.md delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/defaults.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/is-plain-object.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/version.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-app/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/LICENSE delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/README.md delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/defaults.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/merge.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/parse.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/omit.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/url-template.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/merge.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/parse.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/LICENSE delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/LICENSE delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/README.md delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js.map delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/defaults.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/is-plain-object.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/version.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/with-defaults.js delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/is-plain-object.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/version.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/with-defaults.d.ts delete mode 100644 node_modules/@octokit/oauth-methods/node_modules/@octokit/request/package.json delete mode 100644 node_modules/@octokit/openapi-types/README.md delete mode 100644 node_modules/@octokit/openapi-types/package.json delete mode 100644 node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts delete mode 100644 node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/VERSION.d.ts delete mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/LICENSE delete mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/README.md delete mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/package.json delete mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/types.d.ts rename node_modules/@octokit/{app/node_modules/@octokit => }/request/dist-bundle/index.js (100%) rename node_modules/@octokit/{app/node_modules/@octokit => }/request/dist-bundle/index.js.map (100%) rename node_modules/@octokit/{app/node_modules/@octokit => }/request/dist-src/defaults.js (100%) rename node_modules/@octokit/{app/node_modules/@octokit => }/request/dist-src/is-plain-object.js (100%) rename node_modules/@octokit/{app/node_modules/@octokit => }/request/dist-types/defaults.d.ts (100%) rename node_modules/@octokit/{auth-oauth-app/node_modules/@octokit => }/request/dist-types/is-plain-object.d.ts (100%) delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/openapi-types/LICENSE delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/openapi-types/README.md delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/openapi-types/package.json delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/openapi-types/types.d.ts delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js.map delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointDefaults.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointInterface.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointOptions.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Fetch.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/OctokitResponse.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestError.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestHeaders.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestInterface.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestMethod.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestOptions.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestParameters.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestRequestOptions.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/ResponseHeaders.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Route.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Signal.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/StrategyInterface.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Url.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/VERSION.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/generated/Endpoints.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-src/index.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestMethod.d.ts delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestOptions.d.ts delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-types/VERSION.d.ts delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js.map delete mode 100644 node_modules/@octokit/request/node_modules/@octokit/types/package.json create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/release.yml create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/test.yml create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/update-prettier.yml create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/CODE_OF_CONDUCT.md create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/README.md create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/index.d.ts create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/index.js create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/index.test-d.ts create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/package.json create mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/test.js delete mode 100644 node_modules/@octokit/webhooks/node_modules/@octokit/request-error/LICENSE delete mode 100644 node_modules/@octokit/webhooks/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/@octokit/webhooks/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/camel-case/LICENSE delete mode 100644 node_modules/camel-case/README.md delete mode 100644 node_modules/camel-case/dist.es2015/index.d.ts delete mode 100644 node_modules/camel-case/dist.es2015/index.js delete mode 100644 node_modules/camel-case/dist.es2015/index.js.map delete mode 100644 node_modules/camel-case/dist.es2015/index.spec.d.ts delete mode 100644 node_modules/camel-case/dist.es2015/index.spec.js delete mode 100644 node_modules/camel-case/dist.es2015/index.spec.js.map delete mode 100644 node_modules/camel-case/dist/index.d.ts delete mode 100644 node_modules/camel-case/dist/index.js delete mode 100644 node_modules/camel-case/dist/index.js.map delete mode 100644 node_modules/camel-case/dist/index.spec.d.ts delete mode 100644 node_modules/camel-case/dist/index.spec.js delete mode 100644 node_modules/camel-case/dist/index.spec.js.map delete mode 100644 node_modules/camel-case/node_modules/tslib/CopyrightNotice.txt delete mode 100644 node_modules/camel-case/node_modules/tslib/LICENSE.txt delete mode 100644 node_modules/camel-case/node_modules/tslib/README.md delete mode 100644 node_modules/camel-case/node_modules/tslib/SECURITY.md delete mode 100644 node_modules/camel-case/node_modules/tslib/modules/index.d.ts delete mode 100644 node_modules/camel-case/node_modules/tslib/modules/index.js delete mode 100644 node_modules/camel-case/node_modules/tslib/modules/package.json delete mode 100644 node_modules/camel-case/node_modules/tslib/package.json delete mode 100644 node_modules/camel-case/node_modules/tslib/tslib.d.ts delete mode 100644 node_modules/camel-case/node_modules/tslib/tslib.es6.html delete mode 100644 node_modules/camel-case/node_modules/tslib/tslib.es6.js delete mode 100644 node_modules/camel-case/node_modules/tslib/tslib.es6.mjs delete mode 100644 node_modules/camel-case/node_modules/tslib/tslib.html delete mode 100644 node_modules/camel-case/node_modules/tslib/tslib.js delete mode 100644 node_modules/camel-case/package.json delete mode 100644 node_modules/commander/CHANGELOG.md delete mode 100644 node_modules/commander/LICENSE delete mode 100644 node_modules/commander/Readme.md delete mode 100644 node_modules/commander/index.js delete mode 100644 node_modules/commander/package.json delete mode 100644 node_modules/commander/typings/index.d.ts delete mode 100644 node_modules/crypto/README.md delete mode 100644 node_modules/crypto/package.json delete mode 100644 node_modules/dot-object/CHANGELOG.md delete mode 100644 node_modules/dot-object/MIT-LICENSE delete mode 100644 node_modules/dot-object/README.md delete mode 100755 node_modules/dot-object/bin/dot-object delete mode 100644 node_modules/dot-object/dist/dot-object.js delete mode 100644 node_modules/dot-object/dist/dot-object.min.js delete mode 100644 node_modules/dot-object/index.js delete mode 100644 node_modules/dot-object/node_modules/glob/LICENSE delete mode 100644 node_modules/dot-object/node_modules/glob/README.md delete mode 100644 node_modules/dot-object/node_modules/glob/common.js delete mode 100644 node_modules/dot-object/node_modules/glob/glob.js delete mode 100644 node_modules/dot-object/node_modules/glob/package.json delete mode 100644 node_modules/dot-object/node_modules/glob/sync.js delete mode 100644 node_modules/dot-object/package.json delete mode 100644 node_modules/lower-case/LICENSE delete mode 100644 node_modules/lower-case/README.md delete mode 100644 node_modules/lower-case/dist.es2015/index.d.ts delete mode 100644 node_modules/lower-case/dist.es2015/index.js delete mode 100644 node_modules/lower-case/dist.es2015/index.js.map delete mode 100644 node_modules/lower-case/dist.es2015/index.spec.d.ts delete mode 100644 node_modules/lower-case/dist.es2015/index.spec.js delete mode 100644 node_modules/lower-case/dist.es2015/index.spec.js.map delete mode 100644 node_modules/lower-case/dist/index.d.ts delete mode 100644 node_modules/lower-case/dist/index.js delete mode 100644 node_modules/lower-case/dist/index.js.map delete mode 100644 node_modules/lower-case/dist/index.spec.d.ts delete mode 100644 node_modules/lower-case/dist/index.spec.js delete mode 100644 node_modules/lower-case/dist/index.spec.js.map delete mode 100644 node_modules/lower-case/node_modules/tslib/CopyrightNotice.txt delete mode 100644 node_modules/lower-case/node_modules/tslib/LICENSE.txt delete mode 100644 node_modules/lower-case/node_modules/tslib/README.md delete mode 100644 node_modules/lower-case/node_modules/tslib/SECURITY.md delete mode 100644 node_modules/lower-case/node_modules/tslib/modules/index.d.ts delete mode 100644 node_modules/lower-case/node_modules/tslib/modules/index.js delete mode 100644 node_modules/lower-case/node_modules/tslib/modules/package.json delete mode 100644 node_modules/lower-case/node_modules/tslib/package.json delete mode 100644 node_modules/lower-case/node_modules/tslib/tslib.d.ts delete mode 100644 node_modules/lower-case/node_modules/tslib/tslib.es6.html delete mode 100644 node_modules/lower-case/node_modules/tslib/tslib.es6.js delete mode 100644 node_modules/lower-case/node_modules/tslib/tslib.es6.mjs delete mode 100644 node_modules/lower-case/node_modules/tslib/tslib.html delete mode 100644 node_modules/lower-case/node_modules/tslib/tslib.js delete mode 100644 node_modules/lower-case/package.json delete mode 100644 node_modules/no-case/LICENSE delete mode 100644 node_modules/no-case/README.md delete mode 100644 node_modules/no-case/dist.es2015/index.d.ts delete mode 100644 node_modules/no-case/dist.es2015/index.js delete mode 100644 node_modules/no-case/dist.es2015/index.js.map delete mode 100644 node_modules/no-case/dist.es2015/index.spec.d.ts delete mode 100644 node_modules/no-case/dist.es2015/index.spec.js delete mode 100644 node_modules/no-case/dist.es2015/index.spec.js.map delete mode 100644 node_modules/no-case/dist/index.d.ts delete mode 100644 node_modules/no-case/dist/index.js delete mode 100644 node_modules/no-case/dist/index.js.map delete mode 100644 node_modules/no-case/dist/index.spec.d.ts delete mode 100644 node_modules/no-case/dist/index.spec.js delete mode 100644 node_modules/no-case/dist/index.spec.js.map delete mode 100644 node_modules/no-case/node_modules/tslib/CopyrightNotice.txt delete mode 100644 node_modules/no-case/node_modules/tslib/LICENSE.txt delete mode 100644 node_modules/no-case/node_modules/tslib/README.md delete mode 100644 node_modules/no-case/node_modules/tslib/SECURITY.md delete mode 100644 node_modules/no-case/node_modules/tslib/modules/index.d.ts delete mode 100644 node_modules/no-case/node_modules/tslib/modules/index.js delete mode 100644 node_modules/no-case/node_modules/tslib/modules/package.json delete mode 100644 node_modules/no-case/node_modules/tslib/package.json delete mode 100644 node_modules/no-case/node_modules/tslib/tslib.d.ts delete mode 100644 node_modules/no-case/node_modules/tslib/tslib.es6.html delete mode 100644 node_modules/no-case/node_modules/tslib/tslib.es6.js delete mode 100644 node_modules/no-case/node_modules/tslib/tslib.es6.mjs delete mode 100644 node_modules/no-case/node_modules/tslib/tslib.html delete mode 100644 node_modules/no-case/node_modules/tslib/tslib.js delete mode 100644 node_modules/no-case/package.json delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/LICENSE delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/README.md delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-bundle/index.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-bundle/index.js.map delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/defaults.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/index.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/merge.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/parse.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/omit.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/url-template.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/version.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-src/with-defaults.js delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/defaults.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/index.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/merge.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/parse.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/version.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/endpoint/package.json delete mode 100644 node_modules/octokit/node_modules/@octokit/request-error/LICENSE delete mode 100644 node_modules/octokit/node_modules/@octokit/request-error/README.md delete mode 100644 node_modules/octokit/node_modules/@octokit/request-error/dist-src/index.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request-error/dist-types/index.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request-error/dist-types/types.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/octokit/node_modules/@octokit/request/LICENSE delete mode 100644 node_modules/octokit/node_modules/@octokit/request/README.md delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js.map delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-src/defaults.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-src/fetch-wrapper.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-src/index.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-src/is-plain-object.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-src/version.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-src/with-defaults.js delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-types/defaults.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-types/index.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-types/is-plain-object.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-types/version.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request/dist-types/with-defaults.d.ts delete mode 100644 node_modules/octokit/node_modules/@octokit/request/package.json delete mode 100644 node_modules/pascal-case/LICENSE delete mode 100644 node_modules/pascal-case/README.md delete mode 100644 node_modules/pascal-case/dist.es2015/index.d.ts delete mode 100644 node_modules/pascal-case/dist.es2015/index.js delete mode 100644 node_modules/pascal-case/dist.es2015/index.js.map delete mode 100644 node_modules/pascal-case/dist.es2015/index.spec.d.ts delete mode 100644 node_modules/pascal-case/dist.es2015/index.spec.js delete mode 100644 node_modules/pascal-case/dist.es2015/index.spec.js.map delete mode 100644 node_modules/pascal-case/dist/index.d.ts delete mode 100644 node_modules/pascal-case/dist/index.js delete mode 100644 node_modules/pascal-case/dist/index.js.map delete mode 100644 node_modules/pascal-case/dist/index.spec.d.ts delete mode 100644 node_modules/pascal-case/dist/index.spec.js delete mode 100644 node_modules/pascal-case/dist/index.spec.js.map delete mode 100644 node_modules/pascal-case/node_modules/tslib/CopyrightNotice.txt delete mode 100644 node_modules/pascal-case/node_modules/tslib/LICENSE.txt delete mode 100644 node_modules/pascal-case/node_modules/tslib/README.md delete mode 100644 node_modules/pascal-case/node_modules/tslib/SECURITY.md delete mode 100644 node_modules/pascal-case/node_modules/tslib/modules/index.d.ts delete mode 100644 node_modules/pascal-case/node_modules/tslib/modules/index.js delete mode 100644 node_modules/pascal-case/node_modules/tslib/modules/package.json delete mode 100644 node_modules/pascal-case/node_modules/tslib/package.json delete mode 100644 node_modules/pascal-case/node_modules/tslib/tslib.d.ts delete mode 100644 node_modules/pascal-case/node_modules/tslib/tslib.es6.html delete mode 100644 node_modules/pascal-case/node_modules/tslib/tslib.es6.js delete mode 100644 node_modules/pascal-case/node_modules/tslib/tslib.es6.mjs delete mode 100644 node_modules/pascal-case/node_modules/tslib/tslib.html delete mode 100644 node_modules/pascal-case/node_modules/tslib/tslib.js delete mode 100644 node_modules/pascal-case/package.json delete mode 100644 node_modules/ts-poet/.eslintrc.js delete mode 100644 node_modules/ts-poet/.nvmrc delete mode 100644 node_modules/ts-poet/.prettierrc delete mode 100644 node_modules/ts-poet/CodeBlockTest.java delete mode 100644 node_modules/ts-poet/CodeBlockTest.ts delete mode 100644 node_modules/ts-poet/LICENSE.txt delete mode 100644 node_modules/ts-poet/README.md delete mode 100644 node_modules/ts-poet/build/Code.d.ts delete mode 100644 node_modules/ts-poet/build/Code.js delete mode 100644 node_modules/ts-poet/build/ConditionalOutput.d.ts delete mode 100644 node_modules/ts-poet/build/ConditionalOutput.js delete mode 100644 node_modules/ts-poet/build/Import.d.ts delete mode 100644 node_modules/ts-poet/build/Import.js delete mode 100644 node_modules/ts-poet/build/Literal.d.ts delete mode 100644 node_modules/ts-poet/build/Literal.js delete mode 100644 node_modules/ts-poet/build/Node.d.ts delete mode 100644 node_modules/ts-poet/build/Node.js delete mode 100644 node_modules/ts-poet/build/SymbolSpecs.d.ts delete mode 100644 node_modules/ts-poet/build/SymbolSpecs.js delete mode 100644 node_modules/ts-poet/build/index.d.ts delete mode 100644 node_modules/ts-poet/build/index.js delete mode 100644 node_modules/ts-poet/build/is-plain-object.d.ts delete mode 100644 node_modules/ts-poet/build/is-plain-object.js delete mode 100644 node_modules/ts-poet/jest.config.js delete mode 120000 node_modules/ts-poet/node_modules/.bin/prettier delete mode 100644 node_modules/ts-poet/node_modules/prettier/LICENSE delete mode 100644 node_modules/ts-poet/node_modules/prettier/README.md delete mode 100755 node_modules/ts-poet/node_modules/prettier/bin-prettier.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/cli.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/doc.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-angular.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-babel.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-espree.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-flow.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-glimmer.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-graphql.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-html.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-markdown.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-meriyah.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-postcss.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-typescript.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/parser-yaml.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/esm/standalone.mjs delete mode 100644 node_modules/ts-poet/node_modules/prettier/index.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/package.json delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-angular.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-babel.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-espree.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-flow.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-glimmer.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-graphql.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-html.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-markdown.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-meriyah.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-postcss.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-typescript.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/parser-yaml.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/standalone.js delete mode 100644 node_modules/ts-poet/node_modules/prettier/third-party.js delete mode 100644 node_modules/ts-poet/package.json delete mode 100644 node_modules/ts-poet/steps.txt delete mode 100644 node_modules/twirp-ts/README.md delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.js delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.js delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.js delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.js delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.js delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.js delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.js delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.d.ts delete mode 100644 node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.js delete mode 100644 node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.js delete mode 100644 node_modules/twirp-ts/build/twirp/__mocks__/service.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__mocks__/service.js delete mode 100644 node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.js delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/client.test.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/client.test.js delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/errors.test.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/errors.test.js delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/gateway.test.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/gateway.test.js delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/hooks.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/hooks.js delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.js delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/server.test.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/__tests__/server.test.js delete mode 100644 node_modules/twirp-ts/build/twirp/context.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/context.js delete mode 100644 node_modules/twirp-ts/build/twirp/errors.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/errors.js delete mode 100644 node_modules/twirp-ts/build/twirp/gateway.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/gateway.js delete mode 100644 node_modules/twirp-ts/build/twirp/hooks.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/hooks.js delete mode 100644 node_modules/twirp-ts/build/twirp/http.client.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/http.client.js delete mode 100644 node_modules/twirp-ts/build/twirp/index.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/index.js delete mode 100644 node_modules/twirp-ts/build/twirp/interceptors.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/interceptors.js delete mode 100644 node_modules/twirp-ts/build/twirp/request.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/request.js delete mode 100644 node_modules/twirp-ts/build/twirp/server.d.ts delete mode 100644 node_modules/twirp-ts/build/twirp/server.js delete mode 100644 node_modules/twirp-ts/jest.config.js delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/LICENSE delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/Readme.md delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js.map delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.d.ts delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js.map delete mode 100644 node_modules/twirp-ts/node_modules/path-to-regexp/package.json delete mode 100644 node_modules/twirp-ts/package.json delete mode 100755 node_modules/twirp-ts/protoc-gen-twirp_ts delete mode 100644 node_modules/twirp-ts/tsconfig.json delete mode 100644 node_modules/yaml/LICENSE delete mode 100644 node_modules/yaml/README.md delete mode 100644 node_modules/yaml/browser/dist/PlainValue-b8036b75.js delete mode 100644 node_modules/yaml/browser/dist/Schema-e94716c8.js delete mode 100644 node_modules/yaml/browser/dist/index.js delete mode 100644 node_modules/yaml/browser/dist/legacy-exports.js delete mode 100644 node_modules/yaml/browser/dist/package.json delete mode 100644 node_modules/yaml/browser/dist/parse-cst.js delete mode 100644 node_modules/yaml/browser/dist/resolveSeq-492ab440.js delete mode 100644 node_modules/yaml/browser/dist/types.js delete mode 100644 node_modules/yaml/browser/dist/util.js delete mode 100644 node_modules/yaml/browser/dist/warnings-df54cb69.js delete mode 100644 node_modules/yaml/browser/index.js delete mode 100644 node_modules/yaml/browser/map.js delete mode 100644 node_modules/yaml/browser/pair.js delete mode 100644 node_modules/yaml/browser/parse-cst.js delete mode 100644 node_modules/yaml/browser/scalar.js delete mode 100644 node_modules/yaml/browser/schema.js delete mode 100644 node_modules/yaml/browser/seq.js delete mode 100644 node_modules/yaml/browser/types.js delete mode 100644 node_modules/yaml/browser/types/binary.js delete mode 100644 node_modules/yaml/browser/types/omap.js delete mode 100644 node_modules/yaml/browser/types/pairs.js delete mode 100644 node_modules/yaml/browser/types/set.js delete mode 100644 node_modules/yaml/browser/types/timestamp.js delete mode 100644 node_modules/yaml/browser/util.js delete mode 100644 node_modules/yaml/dist/Document-9b4560a1.js delete mode 100644 node_modules/yaml/dist/PlainValue-ec8e588e.js delete mode 100644 node_modules/yaml/dist/Schema-88e323a7.js delete mode 100644 node_modules/yaml/dist/index.js delete mode 100644 node_modules/yaml/dist/legacy-exports.js delete mode 100644 node_modules/yaml/dist/parse-cst.js delete mode 100644 node_modules/yaml/dist/resolveSeq-d03cb037.js delete mode 100644 node_modules/yaml/dist/test-events.js delete mode 100644 node_modules/yaml/dist/types.js delete mode 100644 node_modules/yaml/dist/util.js delete mode 100644 node_modules/yaml/dist/warnings-1000a372.js delete mode 100644 node_modules/yaml/index.d.ts delete mode 100644 node_modules/yaml/index.js delete mode 100644 node_modules/yaml/map.js delete mode 100644 node_modules/yaml/package.json delete mode 100644 node_modules/yaml/pair.js delete mode 100644 node_modules/yaml/parse-cst.d.ts delete mode 100644 node_modules/yaml/parse-cst.js delete mode 100644 node_modules/yaml/scalar.js delete mode 100644 node_modules/yaml/schema.js delete mode 100644 node_modules/yaml/seq.js delete mode 100644 node_modules/yaml/types.d.ts delete mode 100644 node_modules/yaml/types.js delete mode 100644 node_modules/yaml/types.mjs delete mode 100644 node_modules/yaml/types/binary.js delete mode 100644 node_modules/yaml/types/omap.js delete mode 100644 node_modules/yaml/types/pairs.js delete mode 100644 node_modules/yaml/types/set.js delete mode 100644 node_modules/yaml/types/timestamp.js delete mode 100644 node_modules/yaml/util.d.ts delete mode 100644 node_modules/yaml/util.js delete mode 100644 node_modules/yaml/util.mjs diff --git a/node_modules/.bin/dot-object b/node_modules/.bin/dot-object deleted file mode 120000 index 9361c9cbcd..0000000000 --- a/node_modules/.bin/dot-object +++ /dev/null @@ -1 +0,0 @@ -../dot-object/bin/dot-object \ No newline at end of file diff --git a/node_modules/.bin/protoc-gen-twirp_ts b/node_modules/.bin/protoc-gen-twirp_ts deleted file mode 120000 index 29d73fc2fc..0000000000 --- a/node_modules/.bin/protoc-gen-twirp_ts +++ /dev/null @@ -1 +0,0 @@ -../twirp-ts/protoc-gen-twirp_ts \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 06b8d5f40f..d85f225c44 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -13,10 +13,9 @@ } }, "node_modules/@actions/artifact": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-2.1.9.tgz", - "integrity": "sha512-f9JXC9JrwramDRJHZiIOKJo3PGw/V3riYegLj5kHi8YEJ2k72TNUd1zDW1BG50ILnzJ0cp1faDVJ2pSdolRQfg==", - "license": "MIT", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-2.3.1.tgz", + "integrity": "sha512-3uW25BNAqbMBcasNK+DX4I0Vl8aQdo65K6DRufJiNYjqfhSMfeRE4YGjWLaKmF+H+7bp1ADlQ5NksC61fpvYbQ==", "dependencies": { "@actions/core": "^1.10.0", "@actions/github": "^5.1.1", @@ -25,12 +24,10 @@ "@octokit/core": "^3.5.1", "@octokit/plugin-request-log": "^1.0.4", "@octokit/plugin-retry": "^3.0.9", - "@octokit/request-error": "^5.0.0", + "@octokit/request-error": "^5.1.1", "@protobuf-ts/plugin": "^2.2.3-alpha.1", "archiver": "^7.0.1", - "crypto": "^1.0.1", "jwt-decode": "^3.1.2", - "twirp-ts": "^2.5.0", "unzip-stream": "^0.3.1" } }, @@ -39,7 +36,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.1.2.tgz", "integrity": "sha512-1gLONA4xw3/Q/9vGxKwkFdV9u1LE2RWGx/IpAqg28ZjprCnJFjwn4pA7LtShqg5mg5WhMek2fjpyH1leCmOlQQ==", - "license": "MIT", "dependencies": { "@actions/core": "^1.9.1", "@actions/http-client": "^2.0.1", @@ -47,6 +43,101 @@ "tmp-promise": "^3.0.2" } }, + "node_modules/@actions/artifact/node_modules/@actions/github": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + } + }, + "node_modules/@actions/artifact/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==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/auth-token/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/core/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==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/core/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@actions/artifact/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==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/endpoint/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/graphql/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, "node_modules/@actions/artifact/node_modules/@octokit/openapi-types": { "version": "12.11.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", @@ -72,11 +163,23 @@ "@octokit/openapi-types": "^12.11.0" } }, + "node_modules/@actions/artifact/node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@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/@actions/artifact/node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", - "license": "MIT", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", @@ -86,6 +189,24 @@ "node": ">= 18" } }, + "node_modules/@actions/artifact/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==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/request/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, "node_modules/@actions/cache": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.2.tgz", @@ -137,13 +258,63 @@ } }, "node_modules/@actions/github": { - "version": "5.1.1", - "license": "MIT", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", + "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", "dependencies": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^2.2.0", + "@octokit/core": "^5.0.1", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" + } + }, + "node_modules/@actions/github/node_modules/@octokit/openapi-types": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==" + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz", + "integrity": "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==", + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "dependencies": { + "@octokit/openapi-types": "^20.0.0" + } + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", + "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "dependencies": { + "@octokit/openapi-types": "^20.0.0" } }, "node_modules/@actions/glob": { @@ -860,7 +1031,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", - "license": "MIT", "engines": { "node": ">= 18" } @@ -869,7 +1039,6 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", - "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -883,24 +1052,10 @@ "node": ">= 18" } }, - "node_modules/@octokit/app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/app/node_modules/@octokit/graphql": { "version": "8.2.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", - "license": "MIT", "dependencies": { "@octokit/request": "^9.2.2", "@octokit/types": "^13.8.0", @@ -925,45 +1080,15 @@ "@octokit/core": ">=6" } }, - "node_modules/@octokit/app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/app/node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "license": "Apache-2.0" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "node_modules/@octokit/app/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "license": "ISC" + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, "node_modules/@octokit/auth-app": { "version": "7.1.5", @@ -984,47 +1109,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-app/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1047,47 +1131,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-oauth-app/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1109,47 +1152,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-oauth-device/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1172,47 +1174,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-oauth-user/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1220,21 +1181,11 @@ "license": "ISC" }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/auth-token/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/auth-unauthenticated": { @@ -1250,80 +1201,129 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" + "node_modules/@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" }, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/core": { - "version": "3.6.0", - "license": "MIT", + "node_modules/@octokit/core/node_modules/@octokit/endpoint": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" + "node_modules/@octokit/core/node_modules/@octokit/request": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/@octokit/core/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "node_modules/@octokit/core/node_modules/@octokit/request-error": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "license": "MIT", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", + "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" + "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, - "node_modules/@octokit/endpoint/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "node_modules/@octokit/graphql": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz", + "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "license": "MIT", + "node_modules/@octokit/graphql/node_modules/@octokit/endpoint": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" + "node_modules/@octokit/graphql/node_modules/@octokit/request": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/@octokit/graphql/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "node_modules/@octokit/graphql/node_modules/@octokit/request-error": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/oauth-app": { @@ -1349,7 +1349,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", - "license": "MIT", "engines": { "node": ">= 18" } @@ -1358,7 +1357,6 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", - "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -1372,24 +1370,10 @@ "node": ">= 18" } }, - "node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/oauth-app/node_modules/@octokit/graphql": { "version": "8.2.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", - "license": "MIT", "dependencies": { "@octokit/request": "^9.2.2", "@octokit/types": "^13.8.0", @@ -1399,39 +1383,10 @@ "node": ">= 18" } }, - "node_modules/@octokit/oauth-app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/oauth-app/node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "license": "Apache-2.0" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "node_modules/@octokit/oauth-app/node_modules/universal-user-agent": { "version": "7.0.2", @@ -1447,73 +1402,22 @@ "engines": { "node": ">= 18" } - }, - "node_modules/@octokit/oauth-methods": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.4.tgz", - "integrity": "sha512-Jc/ycnePClOvO1WL7tlC+TRxOFtyJBGuTDsL4dzXNiVZvzZdrPuNw7zHI3qJSUX2n6RLXE5L0SkFmYyNaVUFoQ==", - "license": "MIT", - "dependencies": { - "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/request": "^9.2.1", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", + }, + "node_modules/@octokit/oauth-methods": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.4.tgz", + "integrity": "sha512-Jc/ycnePClOvO1WL7tlC+TRxOFtyJBGuTDsL4dzXNiVZvzZdrPuNw7zHI3qJSUX2n6RLXE5L0SkFmYyNaVUFoQ==", "license": "MIT", "dependencies": { + "@octokit/oauth-authorization-url": "^7.0.0", + "@octokit/request": "^9.2.1", + "@octokit/request-error": "^6.1.7", "@octokit/types": "^13.6.2" }, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/oauth-methods/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "license": "ISC" - }, - "node_modules/@octokit/openapi-types": { - "version": "18.0.0", - "license": "MIT" - }, "node_modules/@octokit/openapi-webhooks-types": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-9.1.0.tgz", @@ -1522,7 +1426,8 @@ }, "node_modules/@octokit/plugin-paginate-rest": { "version": "2.21.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "dependencies": { "@octokit/types": "^6.40.0" }, @@ -1532,11 +1437,13 @@ }, "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { "version": "12.11.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { "version": "6.41.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { "@octokit/openapi-types": "^12.11.0" } @@ -1552,7 +1459,8 @@ }, "node_modules/@octokit/plugin-rest-endpoint-methods": { "version": "5.16.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", "dependencies": { "@octokit/types": "^6.39.0", "deprecation": "^2.3.1" @@ -1563,35 +1471,39 @@ }, "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { "version": "12.11.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { "version": "6.41.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { "@octokit/openapi-types": "^12.11.0" } }, "node_modules/@octokit/plugin-retry": { - "version": "5.0.5", - "license": "MIT", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.1.0.tgz", + "integrity": "sha512-WrO3bvq4E1Xh1r2mT9w6SDFg01gFmP81nIG77+p/MqW1JeXXgL++6umim3t6x0Zj5pZm3rXAN+0HEjmmdhIRig==", "dependencies": { - "@octokit/request-error": "^4.0.1", - "@octokit/types": "^10.0.0", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^13.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": "5" } }, "node_modules/@octokit/plugin-retry/node_modules/@octokit/request-error": { - "version": "4.0.2", - "license": "MIT", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { - "@octokit/types": "^10.0.0", + "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", "once": "^1.4.0" }, @@ -1599,55 +1511,36 @@ "node": ">= 18" } }, - "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": { - "version": "10.0.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^18.0.0" - } - }, "node_modules/@octokit/request": { - "version": "5.6.3", - "license": "MIT", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", + "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", "dependencies": { - "@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" + "@octokit/endpoint": "^10.1.3", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", + "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/types": "^13.6.2" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/request/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/request/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" - } + "node_modules/@octokit/request/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, "node_modules/@octokit/types": { "version": "13.8.0", @@ -1687,18 +1580,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/webhooks/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@open-draft/deferred-promise": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", @@ -3301,22 +3182,6 @@ "node": ">=6" } }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camel-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/caniuse-lite": { "version": "1.0.30001686", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz", @@ -3571,15 +3436,6 @@ "node": ">= 0.8" } }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/common-path-prefix": { "version": "3.0.0", "dev": true, @@ -3691,13 +3547,6 @@ "node": ">= 8" } }, - "node_modules/crypto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", - "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.", - "license": "ISC" - }, "node_modules/currently-unhandled": { "version": "0.4.1", "dev": true, @@ -3933,40 +3782,6 @@ "node": ">=0.10.0" } }, - "node_modules/dot-object": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.5.tgz", - "integrity": "sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==", - "license": "MIT", - "dependencies": { - "commander": "^6.1.0", - "glob": "^7.1.6" - }, - "bin": { - "dot-object": "bin/dot-object" - } - }, - "node_modules/dot-object/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "license": "MIT" @@ -6206,21 +6021,6 @@ "integrity": "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==", "license": "Apache-2.0" }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lower-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -6403,22 +6203,6 @@ "path-to-regexp": "^8.1.0" } }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/no-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/nock": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/nock/-/nock-14.0.1.tgz", @@ -6619,7 +6403,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", - "license": "MIT", "engines": { "node": ">= 18" } @@ -6628,7 +6411,6 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", - "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -6642,24 +6424,10 @@ "node": ">= 18" } }, - "node_modules/octokit/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/octokit/node_modules/@octokit/graphql": { "version": "8.2.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", - "license": "MIT", "dependencies": { "@octokit/request": "^9.2.2", "@octokit/types": "^13.8.0", @@ -6715,7 +6483,6 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.4.tgz", "integrity": "sha512-7AIP4p9TttKN7ctygG4BtR7rrB0anZqoU9ThXFk8nETqIfvgPUANTSYHqWYknK7W3isw59LpZeLI8pcEwiJdRg==", - "license": "MIT", "dependencies": { "@octokit/request-error": "^6.1.7", "@octokit/types": "^13.6.2", @@ -6744,45 +6511,15 @@ "@octokit/core": "^6.1.3" } }, - "node_modules/octokit/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/octokit/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/octokit/node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "license": "Apache-2.0" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "node_modules/octokit/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "license": "ISC" + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, "node_modules/once": { "version": "1.4.0", @@ -6931,22 +6668,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascal-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/path": { "version": "0.12.7", "license": "MIT", @@ -8030,7 +7751,6 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "license": "MIT", "engines": { "node": ">=14.14" } @@ -8039,7 +7759,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "license": "MIT", "dependencies": { "tmp": "^0.2.0" } @@ -8087,31 +7806,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/ts-poet": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", - "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", - "license": "Apache-2.0", - "dependencies": { - "lodash": "^4.17.15", - "prettier": "^2.5.1" - } - }, - "node_modules/ts-poet/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "dev": true, @@ -8134,41 +7828,6 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/twirp-ts": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/twirp-ts/-/twirp-ts-2.5.0.tgz", - "integrity": "sha512-JTKIK5Pf/+3qCrmYDFlqcPPUx+ohEWKBaZy8GL8TmvV2VvC0SXVyNYILO39+GCRbqnuP6hBIF+BVr8ZxRz+6fw==", - "license": "MIT", - "dependencies": { - "@protobuf-ts/plugin-framework": "^2.0.7", - "camel-case": "^4.1.2", - "dot-object": "^2.1.4", - "path-to-regexp": "^6.2.0", - "ts-poet": "^4.5.0", - "yaml": "^1.10.2" - }, - "bin": { - "protoc-gen-twirp_ts": "protoc-gen-twirp_ts" - }, - "peerDependencies": { - "@protobuf-ts/plugin": "^2.5.0", - "ts-proto": "^1.81.3" - }, - "peerDependenciesMeta": { - "@protobuf-ts/plugin": { - "optional": true - }, - "ts-proto": { - "optional": true - } - } - }, - "node_modules/twirp-ts/node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "license": "MIT" - }, "node_modules/type-check": { "version": "0.4.0", "dev": true, @@ -8706,15 +8365,6 @@ "node": ">=10" } }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, "node_modules/yargs": { "version": "17.7.2", "dev": true, diff --git a/node_modules/@actions/artifact/lib/generated/index.d.ts b/node_modules/@actions/artifact/lib/generated/index.d.ts index d8be352f9d..d3119f06ea 100644 --- a/node_modules/@actions/artifact/lib/generated/index.d.ts +++ b/node_modules/@actions/artifact/lib/generated/index.d.ts @@ -1,4 +1,4 @@ export * from './google/protobuf/timestamp'; export * from './google/protobuf/wrappers'; export * from './results/api/v1/artifact'; -export * from './results/api/v1/artifact.twirp'; +export * from './results/api/v1/artifact.twirp-client'; diff --git a/node_modules/@actions/artifact/lib/generated/index.js b/node_modules/@actions/artifact/lib/generated/index.js index f2e68d5ccb..1df7f2abb7 100644 --- a/node_modules/@actions/artifact/lib/generated/index.js +++ b/node_modules/@actions/artifact/lib/generated/index.js @@ -17,5 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./google/protobuf/timestamp"), exports); __exportStar(require("./google/protobuf/wrappers"), exports); __exportStar(require("./results/api/v1/artifact"), exports); -__exportStar(require("./results/api/v1/artifact.twirp"), exports); +__exportStar(require("./results/api/v1/artifact.twirp-client"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/generated/index.js.map b/node_modules/@actions/artifact/lib/generated/index.js.map index c5f5f07b45..a924ec918c 100644 --- a/node_modules/@actions/artifact/lib/generated/index.js.map +++ b/node_modules/@actions/artifact/lib/generated/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA2C;AAC3C,6DAA0C;AAC1C,4DAAyC;AACzC,kEAA+C"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA2C;AAC3C,6DAA0C;AAC1C,4DAAyC;AACzC,yEAAsD"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.d.ts b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.d.ts index 552f2839ca..ec28de511b 100644 --- a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.d.ts +++ b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.d.ts @@ -8,6 +8,66 @@ import { MessageType } from "@protobuf-ts/runtime"; import { Int64Value } from "../../../google/protobuf/wrappers"; import { StringValue } from "../../../google/protobuf/wrappers"; import { Timestamp } from "../../../google/protobuf/timestamp"; +/** + * @generated from protobuf message github.actions.results.api.v1.MigrateArtifactRequest + */ +export interface MigrateArtifactRequest { + /** + * @generated from protobuf field: string workflow_run_backend_id = 1; + */ + workflowRunBackendId: string; + /** + * @generated from protobuf field: string name = 2; + */ + name: string; + /** + * @generated from protobuf field: google.protobuf.Timestamp expires_at = 3; + */ + expiresAt?: Timestamp; +} +/** + * @generated from protobuf message github.actions.results.api.v1.MigrateArtifactResponse + */ +export interface MigrateArtifactResponse { + /** + * @generated from protobuf field: bool ok = 1; + */ + ok: boolean; + /** + * @generated from protobuf field: string signed_upload_url = 2; + */ + signedUploadUrl: string; +} +/** + * @generated from protobuf message github.actions.results.api.v1.FinalizeMigratedArtifactRequest + */ +export interface FinalizeMigratedArtifactRequest { + /** + * @generated from protobuf field: string workflow_run_backend_id = 1; + */ + workflowRunBackendId: string; + /** + * @generated from protobuf field: string name = 2; + */ + name: string; + /** + * @generated from protobuf field: int64 size = 3; + */ + size: string; +} +/** + * @generated from protobuf message github.actions.results.api.v1.FinalizeMigratedArtifactResponse + */ +export interface FinalizeMigratedArtifactResponse { + /** + * @generated from protobuf field: bool ok = 1; + */ + ok: boolean; + /** + * @generated from protobuf field: int64 artifact_id = 2; + */ + artifactId: string; +} /** * @generated from protobuf message github.actions.results.api.v1.CreateArtifactRequest */ @@ -162,6 +222,12 @@ export interface ListArtifactsResponse_MonolithArtifact { * @generated from protobuf field: google.protobuf.Timestamp created_at = 6; */ createdAt?: Timestamp; + /** + * The SHA-256 digest of the artifact, calculated on upload for upload-artifact v4 & newer + * + * @generated from protobuf field: google.protobuf.StringValue digest = 7; + */ + digest?: StringValue; } /** * @generated from protobuf message github.actions.results.api.v1.GetSignedArtifactURLRequest @@ -219,6 +285,46 @@ export interface DeleteArtifactResponse { */ artifactId: string; } +declare class MigrateArtifactRequest$Type extends MessageType { + constructor(); + create(value?: PartialMessage): MigrateArtifactRequest; + internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MigrateArtifactRequest): MigrateArtifactRequest; + internalBinaryWrite(message: MigrateArtifactRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.MigrateArtifactRequest + */ +export declare const MigrateArtifactRequest: MigrateArtifactRequest$Type; +declare class MigrateArtifactResponse$Type extends MessageType { + constructor(); + create(value?: PartialMessage): MigrateArtifactResponse; + internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MigrateArtifactResponse): MigrateArtifactResponse; + internalBinaryWrite(message: MigrateArtifactResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.MigrateArtifactResponse + */ +export declare const MigrateArtifactResponse: MigrateArtifactResponse$Type; +declare class FinalizeMigratedArtifactRequest$Type extends MessageType { + constructor(); + create(value?: PartialMessage): FinalizeMigratedArtifactRequest; + internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FinalizeMigratedArtifactRequest): FinalizeMigratedArtifactRequest; + internalBinaryWrite(message: FinalizeMigratedArtifactRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.FinalizeMigratedArtifactRequest + */ +export declare const FinalizeMigratedArtifactRequest: FinalizeMigratedArtifactRequest$Type; +declare class FinalizeMigratedArtifactResponse$Type extends MessageType { + constructor(); + create(value?: PartialMessage): FinalizeMigratedArtifactResponse; + internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FinalizeMigratedArtifactResponse): FinalizeMigratedArtifactResponse; + internalBinaryWrite(message: FinalizeMigratedArtifactResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.FinalizeMigratedArtifactResponse + */ +export declare const FinalizeMigratedArtifactResponse: FinalizeMigratedArtifactResponse$Type; declare class CreateArtifactRequest$Type extends MessageType { constructor(); create(value?: PartialMessage): CreateArtifactRequest; diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js index 225969743e..b3dd9a87fa 100644 --- a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js +++ b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.ArtifactService = exports.DeleteArtifactResponse = exports.DeleteArtifactRequest = exports.GetSignedArtifactURLResponse = exports.GetSignedArtifactURLRequest = exports.ListArtifactsResponse_MonolithArtifact = exports.ListArtifactsResponse = exports.ListArtifactsRequest = exports.FinalizeArtifactResponse = exports.FinalizeArtifactRequest = exports.CreateArtifactResponse = exports.CreateArtifactRequest = void 0; +exports.ArtifactService = exports.DeleteArtifactResponse = exports.DeleteArtifactRequest = exports.GetSignedArtifactURLResponse = exports.GetSignedArtifactURLRequest = exports.ListArtifactsResponse_MonolithArtifact = exports.ListArtifactsResponse = exports.ListArtifactsRequest = exports.FinalizeArtifactResponse = exports.FinalizeArtifactRequest = exports.CreateArtifactResponse = exports.CreateArtifactRequest = exports.FinalizeMigratedArtifactResponse = exports.FinalizeMigratedArtifactRequest = exports.MigrateArtifactResponse = exports.MigrateArtifactRequest = void 0; // @generated by protobuf-ts 2.9.1 with parameter long_type_string,client_none,generate_dependencies // @generated from protobuf file "results/api/v1/artifact.proto" (package "github.actions.results.api.v1", syntax proto3) // tslint:disable @@ -14,6 +14,236 @@ const wrappers_1 = require("../../../google/protobuf/wrappers"); const wrappers_2 = require("../../../google/protobuf/wrappers"); const timestamp_1 = require("../../../google/protobuf/timestamp"); // @generated message type with reflection information, may provide speed optimized methods +class MigrateArtifactRequest$Type extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.MigrateArtifactRequest", [ + { no: 1, name: "workflow_run_backend_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp } + ]); + } + create(value) { + const message = { workflowRunBackendId: "", name: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== undefined) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string name */ 2: + message.name = reader.string(); + break; + case /* google.protobuf.Timestamp expires_at */ 3: + message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + /* string workflow_run_backend_id = 1; */ + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + /* string name = 2; */ + if (message.name !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name); + /* google.protobuf.Timestamp expires_at = 3; */ + if (message.expiresAt) + timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.MigrateArtifactRequest + */ +exports.MigrateArtifactRequest = new MigrateArtifactRequest$Type(); +// @generated message type with reflection information, may provide speed optimized methods +class MigrateArtifactResponse$Type extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.MigrateArtifactResponse", [ + { no: 1, name: "ok", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, + { no: 2, name: "signed_upload_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ } + ]); + } + create(value) { + const message = { ok: false, signedUploadUrl: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== undefined) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ 1: + message.ok = reader.bool(); + break; + case /* string signed_upload_url */ 2: + message.signedUploadUrl = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + /* bool ok = 1; */ + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + /* string signed_upload_url = 2; */ + if (message.signedUploadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.MigrateArtifactResponse + */ +exports.MigrateArtifactResponse = new MigrateArtifactResponse$Type(); +// @generated message type with reflection information, may provide speed optimized methods +class FinalizeMigratedArtifactRequest$Type extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [ + { no: 1, name: "workflow_run_backend_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: "size", kind: "scalar", T: 3 /*ScalarType.INT64*/ } + ]); + } + create(value) { + const message = { workflowRunBackendId: "", name: "", size: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== undefined) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string name */ 2: + message.name = reader.string(); + break; + case /* int64 size */ 3: + message.size = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + /* string workflow_run_backend_id = 1; */ + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + /* string name = 2; */ + if (message.name !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name); + /* int64 size = 3; */ + if (message.size !== "0") + writer.tag(3, runtime_1.WireType.Varint).int64(message.size); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.FinalizeMigratedArtifactRequest + */ +exports.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type(); +// @generated message type with reflection information, may provide speed optimized methods +class FinalizeMigratedArtifactResponse$Type extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [ + { no: 1, name: "ok", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, + { no: 2, name: "artifact_id", kind: "scalar", T: 3 /*ScalarType.INT64*/ } + ]); + } + create(value) { + const message = { ok: false, artifactId: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== undefined) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ 1: + message.ok = reader.bool(); + break; + case /* int64 artifact_id */ 2: + message.artifactId = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + /* bool ok = 1; */ + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + /* int64 artifact_id = 2; */ + if (message.artifactId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } +} +/** + * @generated MessageType for protobuf message github.actions.results.api.v1.FinalizeMigratedArtifactResponse + */ +exports.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type(); +// @generated message type with reflection information, may provide speed optimized methods class CreateArtifactRequest$Type extends runtime_5.MessageType { constructor() { super("github.actions.results.api.v1.CreateArtifactRequest", [ @@ -395,7 +625,8 @@ class ListArtifactsResponse_MonolithArtifact$Type extends runtime_5.MessageType { no: 3, name: "database_id", kind: "scalar", T: 3 /*ScalarType.INT64*/ }, { no: 4, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, { no: 5, name: "size", kind: "scalar", T: 3 /*ScalarType.INT64*/ }, - { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp } + { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp }, + { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue } ]); } create(value) { @@ -428,6 +659,9 @@ class ListArtifactsResponse_MonolithArtifact$Type extends runtime_5.MessageType case /* google.protobuf.Timestamp created_at */ 6: message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt); break; + case /* google.protobuf.StringValue digest */ 7: + message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest); + break; default: let u = options.readUnknownField; if (u === "throw") @@ -458,6 +692,9 @@ class ListArtifactsResponse_MonolithArtifact$Type extends runtime_5.MessageType /* google.protobuf.Timestamp created_at = 6; */ if (message.createdAt) timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join(); + /* google.protobuf.StringValue digest = 7; */ + if (message.digest) + wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); @@ -699,6 +936,8 @@ exports.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results. { name: "FinalizeArtifact", options: {}, I: exports.FinalizeArtifactRequest, O: exports.FinalizeArtifactResponse }, { name: "ListArtifacts", options: {}, I: exports.ListArtifactsRequest, O: exports.ListArtifactsResponse }, { name: "GetSignedArtifactURL", options: {}, I: exports.GetSignedArtifactURLRequest, O: exports.GetSignedArtifactURLResponse }, - { name: "DeleteArtifact", options: {}, I: exports.DeleteArtifactRequest, O: exports.DeleteArtifactResponse } + { name: "DeleteArtifact", options: {}, I: exports.DeleteArtifactRequest, O: exports.DeleteArtifactResponse }, + { name: "MigrateArtifact", options: {}, I: exports.MigrateArtifactRequest, O: exports.MigrateArtifactResponse }, + { name: "FinalizeMigratedArtifact", options: {}, I: exports.FinalizeMigratedArtifactRequest, O: exports.FinalizeMigratedArtifactResponse } ]); //# sourceMappingURL=artifact.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js.map b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js.map index 90ff395737..f6b1ffcf9d 100644 --- a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js.map +++ b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js.map @@ -1 +1 @@ -{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../../../src/generated/results/api/v1/artifact.ts"],"names":[],"mappings":";;;AAAA,oGAAoG;AACpG,yHAAyH;AACzH,iBAAiB;AACjB,0DAAuD;AAGvD,kDAAgD;AAGhD,kDAA2D;AAE3D,kDAA8D;AAC9D,kDAAoD;AACpD,kDAAmD;AACnD,gEAA+D;AAC/D,gEAAgE;AAChE,kEAA+D;AAoN/D,2FAA2F;AAC3F,MAAM,0BAA2B,SAAQ,qBAAkC;IACvE;QACI,KAAK,CAAC,qDAAqD,EAAE;YACzD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SACxE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA6C;QAChD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAChG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAwB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA8B;QAChH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,0CAA0C,CAAC,CAAC;oBAC7C,OAAO,CAAC,SAAS,GAAG,qBAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtG,MAAM;gBACV,KAAK,mBAAmB,CAAC,CAAC;oBACtB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA8B,EAAE,MAAqB,EAAE,OAA2B;QAClG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,+CAA+C;QAC/C,IAAI,OAAO,CAAC,SAAS;YACjB,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,wBAAwB;QACxB,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;AACtE,2FAA2F;AAC3F,MAAM,2BAA4B,SAAQ,qBAAmC;IACzE;QACI,KAAK,CAAC,sDAAsD,EAAE;YAC1D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACnF,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA8C;QACjD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACnD,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAyB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA+B;QACjH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,8BAA8B,CAAC,CAAC;oBACjC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA+B,EAAE,MAAqB,EAAE,OAA2B;QACnG,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,mCAAmC;QACnC,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,sBAAsB,GAAG,IAAI,2BAA2B,EAAE,CAAC;AACxE,2FAA2F;AAC3F,MAAM,4BAA6B,SAAQ,qBAAoC;IAC3E;QACI,KAAK,CAAC,uDAAuD,EAAE;YAC3D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAW,EAAE;SACjE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA+C;QAClD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/F,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA0B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAgC;QAClH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,gBAAgB,CAAC,CAAC;oBACnB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM;gBACV,KAAK,sCAAsC,CAAC,CAAC;oBACzC,OAAO,CAAC,IAAI,GAAG,sBAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9F,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAgC,EAAE,MAAqB,EAAE,OAA2B;QACpG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,qBAAqB;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,2CAA2C;QAC3C,IAAI,OAAO,CAAC,IAAI;YACZ,sBAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClH,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,uBAAuB,GAAG,IAAI,4BAA4B,EAAE,CAAC;AAC1E,2FAA2F;AAC3F,MAAM,6BAA8B,SAAQ,qBAAqC;IAC7E;QACI,KAAK,CAAC,wDAAwD,EAAE;YAC5D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SAC5E,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAgD;QACnD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA2B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAiC;QACnH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAiC,EAAE,MAAqB,EAAE,OAA2B;QACrG,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,wBAAwB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC5E,2FAA2F;AAC3F,MAAM,yBAA0B,SAAQ,qBAAiC;IACrE;QACI,KAAK,CAAC,oDAAoD,EAAE;YACxD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAW,EAAE;YACrE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAU,EAAE;SACrE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA4C;QAC/C,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;QAC1E,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAuB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA6B;QAC/G,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,6CAA6C,CAAC,CAAC;oBAChD,OAAO,CAAC,UAAU,GAAG,sBAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;gBACV,KAAK,0CAA0C,CAAC,CAAC;oBAC7C,OAAO,CAAC,QAAQ,GAAG,qBAAU,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACrG,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA6B,EAAE,MAAqB,EAAE,OAA2B;QACjG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,kDAAkD;QAClD,IAAI,OAAO,CAAC,UAAU;YAClB,sBAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACxH,+CAA+C;QAC/C,IAAI,OAAO,CAAC,QAAQ;YAChB,qBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACpE,2FAA2F;AAC3F,MAAM,0BAA2B,SAAQ,qBAAkC;IACvE;QACI,KAAK,CAAC,qDAAqD,EAAE;YACzD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,8CAAsC,EAAE;SAClI,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA6C;QAChD,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAwB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA8B;QAChH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,6FAA6F,CAAC,CAAC;oBAChG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,8CAAsC,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACpH,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA8B,EAAE,MAAqB,EAAE,OAA2B;QAClG,kGAAkG;QAClG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC7C,8CAAsC,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrJ,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;AACtE,2FAA2F;AAC3F,MAAM,2CAA4C,SAAQ,qBAAmD;IACzG;QACI,KAAK,CAAC,sEAAsE,EAAE;YAC1E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;YACzE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;SACrE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA8D;QACjE,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAChH,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAyC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzF,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA+C;QACjI,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,gBAAgB,CAAC,CAAC;oBACnB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM;gBACV,KAAK,0CAA0C,CAAC,CAAC;oBAC7C,OAAO,CAAC,SAAS,GAAG,qBAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtG,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA+C,EAAE,MAAqB,EAAE,OAA2B;QACnH,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,qBAAqB;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,+CAA+C;QAC/C,IAAI,OAAO,CAAC,SAAS;YACjB,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,sCAAsC,GAAG,IAAI,2CAA2C,EAAE,CAAC;AACxG,2FAA2F;AAC3F,MAAM,gCAAiC,SAAQ,qBAAwC;IACnF;QACI,KAAK,CAAC,2DAA2D,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACtE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAmD;QACtD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpF,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA8B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAoC;QACtH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAoC,EAAE,MAAqB,EAAE,OAA2B;QACxG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,2BAA2B,GAAG,IAAI,gCAAgC,EAAE,CAAC;AAClF,2FAA2F;AAC3F,MAAM,iCAAkC,SAAQ,qBAAyC;IACrF;QACI,KAAK,CAAC,4DAA4D,EAAE;YAChE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC5E,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAoD;QACvD,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA+B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAqC;QACvH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAqC,EAAE,MAAqB,EAAE,OAA2B;QACzG,4BAA4B;QAC5B,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,4BAA4B,GAAG,IAAI,iCAAiC,EAAE,CAAC;AACpF,2FAA2F;AAC3F,MAAM,0BAA2B,SAAQ,qBAAkC;IACvE;QACI,KAAK,CAAC,qDAAqD,EAAE;YACzD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACtE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA6C;QAChD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpF,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAwB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA8B;QAChH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA8B,EAAE,MAAqB,EAAE,OAA2B;QAClG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;AACtE,2FAA2F;AAC3F,MAAM,2BAA4B,SAAQ,qBAAmC;IACzE;QACI,KAAK,CAAC,sDAAsD,EAAE;YAC1D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SAC5E,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA8C;QACjD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAyB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA+B;QACjH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA+B,EAAE,MAAqB,EAAE,OAA2B;QACnG,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,sBAAsB,GAAG,IAAI,2BAA2B,EAAE,CAAC;AACxE;;GAEG;AACU,QAAA,eAAe,GAAG,IAAI,yBAAW,CAAC,+CAA+C,EAAE;IAC5F,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,6BAAqB,EAAE,CAAC,EAAE,8BAAsB,EAAE;IAC5F,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,+BAAuB,EAAE,CAAC,EAAE,gCAAwB,EAAE;IAClG,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,4BAAoB,EAAE,CAAC,EAAE,6BAAqB,EAAE;IACzF,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,mCAA2B,EAAE,CAAC,EAAE,oCAA4B,EAAE;IAC9G,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,6BAAqB,EAAE,CAAC,EAAE,8BAAsB,EAAE;CAC/F,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../../../src/generated/results/api/v1/artifact.ts"],"names":[],"mappings":";;;AAAA,oGAAoG;AACpG,yHAAyH;AACzH,iBAAiB;AACjB,0DAAuD;AAGvD,kDAAgD;AAGhD,kDAA2D;AAE3D,kDAA8D;AAC9D,kDAAoD;AACpD,kDAAmD;AACnD,gEAA+D;AAC/D,gEAAgE;AAChE,kEAA+D;AAsR/D,2FAA2F;AAC3F,MAAM,2BAA4B,SAAQ,qBAAmC;IACzE;QACI,KAAK,CAAC,sDAAsD,EAAE;YAC1D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;SACrE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA8C;QACjD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACvD,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAyB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA+B;QACjH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,0CAA0C,CAAC,CAAC;oBAC7C,OAAO,CAAC,SAAS,GAAG,qBAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtG,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA+B,EAAE,MAAqB,EAAE,OAA2B;QACnG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,+CAA+C;QAC/C,IAAI,OAAO,CAAC,SAAS;YACjB,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,sBAAsB,GAAG,IAAI,2BAA2B,EAAE,CAAC;AACxE,2FAA2F;AAC3F,MAAM,4BAA6B,SAAQ,qBAAoC;IAC3E;QACI,KAAK,CAAC,uDAAuD,EAAE;YAC3D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACnF,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA+C;QAClD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACnD,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA0B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAgC;QAClH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,8BAA8B,CAAC,CAAC;oBACjC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAgC,EAAE,MAAqB,EAAE,OAA2B;QACpG,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,mCAAmC;QACnC,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,uBAAuB,GAAG,IAAI,4BAA4B,EAAE,CAAC;AAC1E,2FAA2F;AAC3F,MAAM,oCAAqC,SAAQ,qBAA4C;IAC3F;QACI,KAAK,CAAC,+DAA+D,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SACrE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAuD;QAC1D,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAClE,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAkC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAwC;QAC1H,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,gBAAgB,CAAC,CAAC;oBACnB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAwC,EAAE,MAAqB,EAAE,OAA2B;QAC5G,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,qBAAqB;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,+BAA+B,GAAG,IAAI,oCAAoC,EAAE,CAAC;AAC1F,2FAA2F;AAC3F,MAAM,qCAAsC,SAAQ,qBAA6C;IAC7F;QACI,KAAK,CAAC,gEAAgE,EAAE;YACpE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SAC5E,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAwD;QAC3D,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAmC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAyC;QAC3H,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAyC,EAAE,MAAqB,EAAE,OAA2B;QAC7G,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,gCAAgC,GAAG,IAAI,qCAAqC,EAAE,CAAC;AAC5F,2FAA2F;AAC3F,MAAM,0BAA2B,SAAQ,qBAAkC;IACvE;QACI,KAAK,CAAC,qDAAqD,EAAE;YACzD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SACxE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA6C;QAChD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAChG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAwB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA8B;QAChH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,0CAA0C,CAAC,CAAC;oBAC7C,OAAO,CAAC,SAAS,GAAG,qBAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtG,MAAM;gBACV,KAAK,mBAAmB,CAAC,CAAC;oBACtB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA8B,EAAE,MAAqB,EAAE,OAA2B;QAClG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,+CAA+C;QAC/C,IAAI,OAAO,CAAC,SAAS;YACjB,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,wBAAwB;QACxB,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;AACtE,2FAA2F;AAC3F,MAAM,2BAA4B,SAAQ,qBAAmC;IACzE;QACI,KAAK,CAAC,sDAAsD,EAAE;YAC1D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACnF,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA8C;QACjD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACnD,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAyB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA+B;QACjH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,8BAA8B,CAAC,CAAC;oBACjC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA+B,EAAE,MAAqB,EAAE,OAA2B;QACnG,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,mCAAmC;QACnC,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,sBAAsB,GAAG,IAAI,2BAA2B,EAAE,CAAC;AACxE,2FAA2F;AAC3F,MAAM,4BAA6B,SAAQ,qBAAoC;IAC3E;QACI,KAAK,CAAC,uDAAuD,EAAE;YAC3D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAW,EAAE;SACjE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA+C;QAClD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/F,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA0B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAgC;QAClH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,gBAAgB,CAAC,CAAC;oBACnB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM;gBACV,KAAK,sCAAsC,CAAC,CAAC;oBACzC,OAAO,CAAC,IAAI,GAAG,sBAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9F,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAgC,EAAE,MAAqB,EAAE,OAA2B;QACpG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,qBAAqB;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,2CAA2C;QAC3C,IAAI,OAAO,CAAC,IAAI;YACZ,sBAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClH,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,uBAAuB,GAAG,IAAI,4BAA4B,EAAE,CAAC;AAC1E,2FAA2F;AAC3F,MAAM,6BAA8B,SAAQ,qBAAqC;IAC7E;QACI,KAAK,CAAC,wDAAwD,EAAE;YAC5D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SAC5E,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAgD;QACnD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA2B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAiC;QACnH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAiC,EAAE,MAAqB,EAAE,OAA2B;QACrG,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,wBAAwB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC5E,2FAA2F;AAC3F,MAAM,yBAA0B,SAAQ,qBAAiC;IACrE;QACI,KAAK,CAAC,oDAAoD,EAAE;YACxD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAW,EAAE;YACrE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAU,EAAE;SACrE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA4C;QAC/C,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;QAC1E,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAuB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA6B;QAC/G,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,6CAA6C,CAAC,CAAC;oBAChD,OAAO,CAAC,UAAU,GAAG,sBAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;gBACV,KAAK,0CAA0C,CAAC,CAAC;oBAC7C,OAAO,CAAC,QAAQ,GAAG,qBAAU,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACrG,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA6B,EAAE,MAAqB,EAAE,OAA2B;QACjG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,kDAAkD;QAClD,IAAI,OAAO,CAAC,UAAU;YAClB,sBAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACxH,+CAA+C;QAC/C,IAAI,OAAO,CAAC,QAAQ;YAChB,qBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACpE,2FAA2F;AAC3F,MAAM,0BAA2B,SAAQ,qBAAkC;IACvE;QACI,KAAK,CAAC,qDAAqD,EAAE;YACzD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,8CAAsC,EAAE;SAClI,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA6C;QAChD,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAwB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA8B;QAChH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,6FAA6F,CAAC,CAAC;oBAChG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,8CAAsC,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACpH,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA8B,EAAE,MAAqB,EAAE,OAA2B;QAClG,kGAAkG;QAClG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC7C,8CAAsC,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrJ,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;AACtE,2FAA2F;AAC3F,MAAM,2CAA4C,SAAQ,qBAAmD;IACzG;QACI,KAAK,CAAC,sEAAsE,EAAE;YAC1E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;YACzE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAW,EAAE;SACnE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA8D;QACjE,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAChH,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAyC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzF,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA+C;QACjI,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,gBAAgB,CAAC,CAAC;oBACnB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM;gBACV,KAAK,0CAA0C,CAAC,CAAC;oBAC7C,OAAO,CAAC,SAAS,GAAG,qBAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtG,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,MAAM,GAAG,sBAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClG,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA+C,EAAE,MAAqB,EAAE,OAA2B;QACnH,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,qBAAqB;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,+CAA+C;QAC/C,IAAI,OAAO,CAAC,SAAS;YACjB,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,6CAA6C;QAC7C,IAAI,OAAO,CAAC,MAAM;YACd,sBAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACpH,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,sCAAsC,GAAG,IAAI,2CAA2C,EAAE,CAAC;AACxG,2FAA2F;AAC3F,MAAM,gCAAiC,SAAQ,qBAAwC;IACnF;QACI,KAAK,CAAC,2DAA2D,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACtE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAmD;QACtD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpF,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA8B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAoC;QACtH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAoC,EAAE,MAAqB,EAAE,OAA2B;QACxG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,2BAA2B,GAAG,IAAI,gCAAgC,EAAE,CAAC;AAClF,2FAA2F;AAC3F,MAAM,iCAAkC,SAAQ,qBAAyC;IACrF;QACI,KAAK,CAAC,4DAA4D,EAAE;YAChE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC5E,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAAoD;QACvD,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAA+B,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/E,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAqC;QACvH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAAqC,EAAE,MAAqB,EAAE,OAA2B;QACzG,4BAA4B;QAC5B,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,4BAA4B,GAAG,IAAI,iCAAiC,EAAE,CAAC;AACpF,2FAA2F;AAC3F,MAAM,0BAA2B,SAAQ,qBAAkC;IACvE;QACI,KAAK,CAAC,qDAAqD,EAAE;YACzD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACtE,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA6C;QAChD,MAAM,OAAO,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpF,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAwB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA8B;QAChH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,oCAAoC,CAAC,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM;gBACV,KAAK,wCAAwC,CAAC,CAAC;oBAC3C,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM;gBACV,KAAK,iBAAiB,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA8B,EAAE,MAAqB,EAAE,OAA2B;QAClG,yCAAyC;QACzC,IAAI,OAAO,CAAC,oBAAoB,KAAK,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjF,6CAA6C;QAC7C,IAAI,OAAO,CAAC,uBAAuB,KAAK,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,sBAAsB;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;AACtE,2FAA2F;AAC3F,MAAM,2BAA4B,SAAQ,qBAAmC;IACzE;QACI,KAAK,CAAC,sDAAsD,EAAE;YAC1D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE;SAC5E,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,KAA8C;QACjD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAyB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAA+B;QACjH,IAAI,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,OAAO,EAAE;gBACb,KAAK,aAAa,CAAC,CAAC;oBAChB,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACV,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;gBACV;oBACI,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,KAAK,OAAO;wBACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,OAAO,eAAe,QAAQ,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK;wBACX,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvG;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,mBAAmB,CAAC,OAA+B,EAAE,MAAqB,EAAE,OAA2B;QACnG,kBAAkB;QAClB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,sBAAsB,GAAG,IAAI,2BAA2B,EAAE,CAAC;AACxE;;GAEG;AACU,QAAA,eAAe,GAAG,IAAI,yBAAW,CAAC,+CAA+C,EAAE;IAC5F,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,6BAAqB,EAAE,CAAC,EAAE,8BAAsB,EAAE;IAC5F,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,+BAAuB,EAAE,CAAC,EAAE,gCAAwB,EAAE;IAClG,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,4BAAoB,EAAE,CAAC,EAAE,6BAAqB,EAAE;IACzF,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,mCAA2B,EAAE,CAAC,EAAE,oCAA4B,EAAE;IAC9G,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,6BAAqB,EAAE,CAAC,EAAE,8BAAsB,EAAE;IAC5F,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,8BAAsB,EAAE,CAAC,EAAE,+BAAuB,EAAE;IAC/F,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,uCAA+B,EAAE,CAAC,EAAE,wCAAgC,EAAE;CAC7H,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.d.ts b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.d.ts similarity index 62% rename from node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.d.ts rename to node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.d.ts index 8feb33fa37..600ef167c5 100644 --- a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.d.ts +++ b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.d.ts @@ -1,5 +1,3 @@ -/// -import { TwirpContext, TwirpServer } from "twirp-ts"; import { CreateArtifactRequest, CreateArtifactResponse, FinalizeArtifactRequest, FinalizeArtifactResponse, ListArtifactsRequest, ListArtifactsResponse, GetSignedArtifactURLRequest, GetSignedArtifactURLResponse, DeleteArtifactRequest, DeleteArtifactResponse } from "./artifact"; interface Rpc { request(service: string, method: string, contentType: "application/json" | "application/protobuf", data: object | Uint8Array): Promise; @@ -29,20 +27,4 @@ export declare class ArtifactServiceClientProtobuf implements ArtifactServiceCli GetSignedArtifactURL(request: GetSignedArtifactURLRequest): Promise; DeleteArtifact(request: DeleteArtifactRequest): Promise; } -export interface ArtifactServiceTwirp { - CreateArtifact(ctx: T, request: CreateArtifactRequest): Promise; - FinalizeArtifact(ctx: T, request: FinalizeArtifactRequest): Promise; - ListArtifacts(ctx: T, request: ListArtifactsRequest): Promise; - GetSignedArtifactURL(ctx: T, request: GetSignedArtifactURLRequest): Promise; - DeleteArtifact(ctx: T, request: DeleteArtifactRequest): Promise; -} -export declare enum ArtifactServiceMethod { - CreateArtifact = "CreateArtifact", - FinalizeArtifact = "FinalizeArtifact", - ListArtifacts = "ListArtifacts", - GetSignedArtifactURL = "GetSignedArtifactURL", - DeleteArtifact = "DeleteArtifact" -} -export declare const ArtifactServiceMethodList: ArtifactServiceMethod[]; -export declare function createArtifactServiceServer(service: ArtifactServiceTwirp): TwirpServer>>, T>; export {}; diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js new file mode 100644 index 0000000000..97b23e0dd4 --- /dev/null +++ b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js @@ -0,0 +1,100 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ArtifactServiceClientProtobuf = exports.ArtifactServiceClientJSON = void 0; +const artifact_1 = require("./artifact"); +class ArtifactServiceClientJSON { + constructor(rpc) { + this.rpc = rpc; + this.CreateArtifact.bind(this); + this.FinalizeArtifact.bind(this); + this.ListArtifacts.bind(this); + this.GetSignedArtifactURL.bind(this); + this.DeleteArtifact.bind(this); + } + CreateArtifact(request) { + const data = artifact_1.CreateArtifactRequest.toJson(request, { + useProtoFieldName: true, + emitDefaultValues: false, + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data); + return promise.then((data) => artifact_1.CreateArtifactResponse.fromJson(data, { + ignoreUnknownFields: true, + })); + } + FinalizeArtifact(request) { + const data = artifact_1.FinalizeArtifactRequest.toJson(request, { + useProtoFieldName: true, + emitDefaultValues: false, + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data); + return promise.then((data) => artifact_1.FinalizeArtifactResponse.fromJson(data, { + ignoreUnknownFields: true, + })); + } + ListArtifacts(request) { + const data = artifact_1.ListArtifactsRequest.toJson(request, { + useProtoFieldName: true, + emitDefaultValues: false, + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data); + return promise.then((data) => artifact_1.ListArtifactsResponse.fromJson(data, { ignoreUnknownFields: true })); + } + GetSignedArtifactURL(request) { + const data = artifact_1.GetSignedArtifactURLRequest.toJson(request, { + useProtoFieldName: true, + emitDefaultValues: false, + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data); + return promise.then((data) => artifact_1.GetSignedArtifactURLResponse.fromJson(data, { + ignoreUnknownFields: true, + })); + } + DeleteArtifact(request) { + const data = artifact_1.DeleteArtifactRequest.toJson(request, { + useProtoFieldName: true, + emitDefaultValues: false, + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data); + return promise.then((data) => artifact_1.DeleteArtifactResponse.fromJson(data, { + ignoreUnknownFields: true, + })); + } +} +exports.ArtifactServiceClientJSON = ArtifactServiceClientJSON; +class ArtifactServiceClientProtobuf { + constructor(rpc) { + this.rpc = rpc; + this.CreateArtifact.bind(this); + this.FinalizeArtifact.bind(this); + this.ListArtifacts.bind(this); + this.GetSignedArtifactURL.bind(this); + this.DeleteArtifact.bind(this); + } + CreateArtifact(request) { + const data = artifact_1.CreateArtifactRequest.toBinary(request); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data); + return promise.then((data) => artifact_1.CreateArtifactResponse.fromBinary(data)); + } + FinalizeArtifact(request) { + const data = artifact_1.FinalizeArtifactRequest.toBinary(request); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data); + return promise.then((data) => artifact_1.FinalizeArtifactResponse.fromBinary(data)); + } + ListArtifacts(request) { + const data = artifact_1.ListArtifactsRequest.toBinary(request); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data); + return promise.then((data) => artifact_1.ListArtifactsResponse.fromBinary(data)); + } + GetSignedArtifactURL(request) { + const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data); + return promise.then((data) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data)); + } + DeleteArtifact(request) { + const data = artifact_1.DeleteArtifactRequest.toBinary(request); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data); + return promise.then((data) => artifact_1.DeleteArtifactResponse.fromBinary(data)); + } +} +exports.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf; +//# sourceMappingURL=artifact.twirp-client.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js.map b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js.map new file mode 100644 index 0000000000..29ffcd0d8b --- /dev/null +++ b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js.map @@ -0,0 +1 @@ +{"version":3,"file":"artifact.twirp-client.js","sourceRoot":"","sources":["../../../../../src/generated/results/api/v1/artifact.twirp-client.ts"],"names":[],"mappings":";;;AAAA,yCAWoB;AA+BpB,MAAa,yBAAyB;IAEpC,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,MAAM,CAAC,OAAO,EAAE;YACjD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,QAAQ,CAAC,IAAW,EAAE;YAC3C,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,OAAgC;QAEhC,MAAM,IAAI,GAAG,kCAAuB,CAAC,MAAM,CAAC,OAAO,EAAE;YACnD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,kBAAkB,EAClB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,mCAAwB,CAAC,QAAQ,CAAC,IAAW,EAAE;YAC7C,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAA6B;QACzC,MAAM,IAAI,GAAG,+BAAoB,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,eAAe,EACf,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,gCAAqB,CAAC,QAAQ,CAAC,IAAW,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAC3E,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,OAAoC;QAEpC,MAAM,IAAI,GAAG,sCAA2B,CAAC,MAAM,CAAC,OAAO,EAAE;YACvD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,sBAAsB,EACtB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,uCAA4B,CAAC,QAAQ,CAAC,IAAW,EAAE;YACjD,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,MAAM,CAAC,OAAO,EAAE;YACjD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,QAAQ,CAAC,IAAW,EAAE;YAC3C,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAzGD,8DAyGC;AAED,MAAa,6BAA6B;IAExC,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,OAAgC;QAEhC,MAAM,IAAI,GAAG,kCAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,kBAAkB,EAClB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,mCAAwB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAA6B;QACzC,MAAM,IAAI,GAAG,+BAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,eAAe,EACf,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,gCAAqB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,OAAoC;QAEpC,MAAM,IAAI,GAAG,sCAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,sBAAsB,EACtB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,uCAA4B,CAAC,UAAU,CAAC,IAAkB,CAAC,CAC5D,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACtD,CAAC;IACJ,CAAC;CACF;AAlFD,sEAkFC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js deleted file mode 100644 index 31e9e033a3..0000000000 --- a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js +++ /dev/null @@ -1,508 +0,0 @@ -"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.createArtifactServiceServer = exports.ArtifactServiceMethodList = exports.ArtifactServiceMethod = exports.ArtifactServiceClientProtobuf = exports.ArtifactServiceClientJSON = void 0; -const twirp_ts_1 = require("twirp-ts"); -const artifact_1 = require("./artifact"); -class ArtifactServiceClientJSON { - constructor(rpc) { - this.rpc = rpc; - this.CreateArtifact.bind(this); - this.FinalizeArtifact.bind(this); - this.ListArtifacts.bind(this); - this.GetSignedArtifactURL.bind(this); - this.DeleteArtifact.bind(this); - } - CreateArtifact(request) { - const data = artifact_1.CreateArtifactRequest.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data); - return promise.then((data) => artifact_1.CreateArtifactResponse.fromJson(data, { - ignoreUnknownFields: true, - })); - } - FinalizeArtifact(request) { - const data = artifact_1.FinalizeArtifactRequest.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data); - return promise.then((data) => artifact_1.FinalizeArtifactResponse.fromJson(data, { - ignoreUnknownFields: true, - })); - } - ListArtifacts(request) { - const data = artifact_1.ListArtifactsRequest.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data); - return promise.then((data) => artifact_1.ListArtifactsResponse.fromJson(data, { ignoreUnknownFields: true })); - } - GetSignedArtifactURL(request) { - const data = artifact_1.GetSignedArtifactURLRequest.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data); - return promise.then((data) => artifact_1.GetSignedArtifactURLResponse.fromJson(data, { - ignoreUnknownFields: true, - })); - } - DeleteArtifact(request) { - const data = artifact_1.DeleteArtifactRequest.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data); - return promise.then((data) => artifact_1.DeleteArtifactResponse.fromJson(data, { - ignoreUnknownFields: true, - })); - } -} -exports.ArtifactServiceClientJSON = ArtifactServiceClientJSON; -class ArtifactServiceClientProtobuf { - constructor(rpc) { - this.rpc = rpc; - this.CreateArtifact.bind(this); - this.FinalizeArtifact.bind(this); - this.ListArtifacts.bind(this); - this.GetSignedArtifactURL.bind(this); - this.DeleteArtifact.bind(this); - } - CreateArtifact(request) { - const data = artifact_1.CreateArtifactRequest.toBinary(request); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data); - return promise.then((data) => artifact_1.CreateArtifactResponse.fromBinary(data)); - } - FinalizeArtifact(request) { - const data = artifact_1.FinalizeArtifactRequest.toBinary(request); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data); - return promise.then((data) => artifact_1.FinalizeArtifactResponse.fromBinary(data)); - } - ListArtifacts(request) { - const data = artifact_1.ListArtifactsRequest.toBinary(request); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data); - return promise.then((data) => artifact_1.ListArtifactsResponse.fromBinary(data)); - } - GetSignedArtifactURL(request) { - const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data); - return promise.then((data) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data)); - } - DeleteArtifact(request) { - const data = artifact_1.DeleteArtifactRequest.toBinary(request); - const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data); - return promise.then((data) => artifact_1.DeleteArtifactResponse.fromBinary(data)); - } -} -exports.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf; -var ArtifactServiceMethod; -(function (ArtifactServiceMethod) { - ArtifactServiceMethod["CreateArtifact"] = "CreateArtifact"; - ArtifactServiceMethod["FinalizeArtifact"] = "FinalizeArtifact"; - ArtifactServiceMethod["ListArtifacts"] = "ListArtifacts"; - ArtifactServiceMethod["GetSignedArtifactURL"] = "GetSignedArtifactURL"; - ArtifactServiceMethod["DeleteArtifact"] = "DeleteArtifact"; -})(ArtifactServiceMethod || (exports.ArtifactServiceMethod = ArtifactServiceMethod = {})); -exports.ArtifactServiceMethodList = [ - ArtifactServiceMethod.CreateArtifact, - ArtifactServiceMethod.FinalizeArtifact, - ArtifactServiceMethod.ListArtifacts, - ArtifactServiceMethod.GetSignedArtifactURL, - ArtifactServiceMethod.DeleteArtifact, -]; -function createArtifactServiceServer(service) { - return new twirp_ts_1.TwirpServer({ - service, - packageName: "github.actions.results.api.v1", - serviceName: "ArtifactService", - methodList: exports.ArtifactServiceMethodList, - matchRoute: matchArtifactServiceRoute, - }); -} -exports.createArtifactServiceServer = createArtifactServiceServer; -function matchArtifactServiceRoute(method, events) { - switch (method) { - case "CreateArtifact": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "CreateArtifact" }); - yield events.onMatch(ctx); - return handleArtifactServiceCreateArtifactRequest(ctx, service, data, interceptors); - }); - case "FinalizeArtifact": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "FinalizeArtifact" }); - yield events.onMatch(ctx); - return handleArtifactServiceFinalizeArtifactRequest(ctx, service, data, interceptors); - }); - case "ListArtifacts": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "ListArtifacts" }); - yield events.onMatch(ctx); - return handleArtifactServiceListArtifactsRequest(ctx, service, data, interceptors); - }); - case "GetSignedArtifactURL": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "GetSignedArtifactURL" }); - yield events.onMatch(ctx); - return handleArtifactServiceGetSignedArtifactURLRequest(ctx, service, data, interceptors); - }); - case "DeleteArtifact": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "DeleteArtifact" }); - yield events.onMatch(ctx); - return handleArtifactServiceDeleteArtifactRequest(ctx, service, data, interceptors); - }); - default: - events.onNotFound(); - const msg = `no handler found`; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleArtifactServiceCreateArtifactRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case twirp_ts_1.TwirpContentType.JSON: - return handleArtifactServiceCreateArtifactJSON(ctx, service, data, interceptors); - case twirp_ts_1.TwirpContentType.Protobuf: - return handleArtifactServiceCreateArtifactProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleArtifactServiceFinalizeArtifactRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case twirp_ts_1.TwirpContentType.JSON: - return handleArtifactServiceFinalizeArtifactJSON(ctx, service, data, interceptors); - case twirp_ts_1.TwirpContentType.Protobuf: - return handleArtifactServiceFinalizeArtifactProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleArtifactServiceListArtifactsRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case twirp_ts_1.TwirpContentType.JSON: - return handleArtifactServiceListArtifactsJSON(ctx, service, data, interceptors); - case twirp_ts_1.TwirpContentType.Protobuf: - return handleArtifactServiceListArtifactsProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleArtifactServiceGetSignedArtifactURLRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case twirp_ts_1.TwirpContentType.JSON: - return handleArtifactServiceGetSignedArtifactURLJSON(ctx, service, data, interceptors); - case twirp_ts_1.TwirpContentType.Protobuf: - return handleArtifactServiceGetSignedArtifactURLProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleArtifactServiceDeleteArtifactRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case twirp_ts_1.TwirpContentType.JSON: - return handleArtifactServiceDeleteArtifactJSON(ctx, service, data, interceptors); - case twirp_ts_1.TwirpContentType.Protobuf: - return handleArtifactServiceDeleteArtifactProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleArtifactServiceCreateArtifactJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = artifact_1.CreateArtifactRequest.fromJson(body, { - ignoreUnknownFields: true, - }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.CreateArtifact(ctx, inputReq); - }); - } - else { - response = yield service.CreateArtifact(ctx, request); - } - return JSON.stringify(artifact_1.CreateArtifactResponse.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleArtifactServiceFinalizeArtifactJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = artifact_1.FinalizeArtifactRequest.fromJson(body, { - ignoreUnknownFields: true, - }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.FinalizeArtifact(ctx, inputReq); - }); - } - else { - response = yield service.FinalizeArtifact(ctx, request); - } - return JSON.stringify(artifact_1.FinalizeArtifactResponse.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleArtifactServiceListArtifactsJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = artifact_1.ListArtifactsRequest.fromJson(body, { - ignoreUnknownFields: true, - }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.ListArtifacts(ctx, inputReq); - }); - } - else { - response = yield service.ListArtifacts(ctx, request); - } - return JSON.stringify(artifact_1.ListArtifactsResponse.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleArtifactServiceGetSignedArtifactURLJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = artifact_1.GetSignedArtifactURLRequest.fromJson(body, { - ignoreUnknownFields: true, - }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.GetSignedArtifactURL(ctx, inputReq); - }); - } - else { - response = yield service.GetSignedArtifactURL(ctx, request); - } - return JSON.stringify(artifact_1.GetSignedArtifactURLResponse.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleArtifactServiceDeleteArtifactJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = artifact_1.DeleteArtifactRequest.fromJson(body, { - ignoreUnknownFields: true, - }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.DeleteArtifact(ctx, inputReq); - }); - } - else { - response = yield service.DeleteArtifact(ctx, request); - } - return JSON.stringify(artifact_1.DeleteArtifactResponse.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleArtifactServiceCreateArtifactProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = artifact_1.CreateArtifactRequest.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.CreateArtifact(ctx, inputReq); - }); - } - else { - response = yield service.CreateArtifact(ctx, request); - } - return Buffer.from(artifact_1.CreateArtifactResponse.toBinary(response)); - }); -} -function handleArtifactServiceFinalizeArtifactProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = artifact_1.FinalizeArtifactRequest.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.FinalizeArtifact(ctx, inputReq); - }); - } - else { - response = yield service.FinalizeArtifact(ctx, request); - } - return Buffer.from(artifact_1.FinalizeArtifactResponse.toBinary(response)); - }); -} -function handleArtifactServiceListArtifactsProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = artifact_1.ListArtifactsRequest.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.ListArtifacts(ctx, inputReq); - }); - } - else { - response = yield service.ListArtifacts(ctx, request); - } - return Buffer.from(artifact_1.ListArtifactsResponse.toBinary(response)); - }); -} -function handleArtifactServiceGetSignedArtifactURLProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = artifact_1.GetSignedArtifactURLRequest.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.GetSignedArtifactURL(ctx, inputReq); - }); - } - else { - response = yield service.GetSignedArtifactURL(ctx, request); - } - return Buffer.from(artifact_1.GetSignedArtifactURLResponse.toBinary(response)); - }); -} -function handleArtifactServiceDeleteArtifactProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = artifact_1.DeleteArtifactRequest.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new twirp_ts_1.TwirpError(twirp_ts_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = (0, twirp_ts_1.chainInterceptors)(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.DeleteArtifact(ctx, inputReq); - }); - } - else { - response = yield service.DeleteArtifact(ctx, request); - } - return Buffer.from(artifact_1.DeleteArtifactResponse.toBinary(response)); - }); -} -//# sourceMappingURL=artifact.twirp.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js.map b/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js.map deleted file mode 100644 index f5249a126b..0000000000 --- a/node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"artifact.twirp.js","sourceRoot":"","sources":["../../../../../src/generated/results/api/v1/artifact.twirp.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCASkB;AAClB,yCAWoB;AA+BpB,MAAa,yBAAyB;IAEpC,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,MAAM,CAAC,OAAO,EAAE;YACjD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,QAAQ,CAAC,IAAW,EAAE;YAC3C,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,OAAgC;QAEhC,MAAM,IAAI,GAAG,kCAAuB,CAAC,MAAM,CAAC,OAAO,EAAE;YACnD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,kBAAkB,EAClB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,mCAAwB,CAAC,QAAQ,CAAC,IAAW,EAAE;YAC7C,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAA6B;QACzC,MAAM,IAAI,GAAG,+BAAoB,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,eAAe,EACf,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,gCAAqB,CAAC,QAAQ,CAAC,IAAW,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAC3E,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,OAAoC;QAEpC,MAAM,IAAI,GAAG,sCAA2B,CAAC,MAAM,CAAC,OAAO,EAAE;YACvD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,sBAAsB,EACtB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,uCAA4B,CAAC,QAAQ,CAAC,IAAW,EAAE;YACjD,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,MAAM,CAAC,OAAO,EAAE;YACjD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,kBAAkB,EAClB,IAAc,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,QAAQ,CAAC,IAAW,EAAE;YAC3C,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAzGD,8DAyGC;AAED,MAAa,6BAA6B;IAExC,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,OAAgC;QAEhC,MAAM,IAAI,GAAG,kCAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,kBAAkB,EAClB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,mCAAwB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAA6B;QACzC,MAAM,IAAI,GAAG,+BAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,eAAe,EACf,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,gCAAqB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,OAAoC;QAEpC,MAAM,IAAI,GAAG,sCAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,sBAAsB,EACtB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,uCAA4B,CAAC,UAAU,CAAC,IAAkB,CAAC,CAC5D,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,OAA8B;QAE9B,MAAM,IAAI,GAAG,gCAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,+CAA+C,EAC/C,gBAAgB,EAChB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,iCAAsB,CAAC,UAAU,CAAC,IAAkB,CAAC,CACtD,CAAC;IACJ,CAAC;CACF;AAlFD,sEAkFC;AA6BD,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,0DAAiC,CAAA;IACjC,8DAAqC,CAAA;IACrC,wDAA+B,CAAA;IAC/B,sEAA6C,CAAA;IAC7C,0DAAiC,CAAA;AACnC,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC;AAEY,QAAA,yBAAyB,GAAG;IACvC,qBAAqB,CAAC,cAAc;IACpC,qBAAqB,CAAC,gBAAgB;IACtC,qBAAqB,CAAC,aAAa;IACnC,qBAAqB,CAAC,oBAAoB;IAC1C,qBAAqB,CAAC,cAAc;CACrC,CAAC;AAEF,SAAgB,2BAA2B,CAEzC,OAAgC;IAChC,OAAO,IAAI,sBAAW,CAA0B;QAC9C,OAAO;QACP,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE,iCAAyB;QACrC,UAAU,EAAE,yBAAyB;KACtC,CAAC,CAAC;AACL,CAAC;AAVD,kEAUC;AAED,SAAS,yBAAyB,CAChC,MAAc,EACd,MAAuB;IAEvB,QAAQ,MAAM,EAAE;QACd,KAAK,gBAAgB;YACnB,OAAO,CACL,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG,EACH,EAAE;gBACF,GAAG,mCAAQ,GAAG,KAAE,UAAU,EAAE,gBAAgB,GAAE,CAAC;gBAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,0CAA0C,CAC/C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;YACJ,CAAC,CAAA,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO,CACL,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG,EACH,EAAE;gBACF,GAAG,mCAAQ,GAAG,KAAE,UAAU,EAAE,kBAAkB,GAAE,CAAC;gBACjD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,4CAA4C,CACjD,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;YACJ,CAAC,CAAA,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO,CACL,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG,EACH,EAAE;gBACF,GAAG,mCAAQ,GAAG,KAAE,UAAU,EAAE,eAAe,GAAE,CAAC;gBAC9C,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,yCAAyC,CAC9C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;YACJ,CAAC,CAAA,CAAC;QACJ,KAAK,sBAAsB;YACzB,OAAO,CACL,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG,EACH,EAAE;gBACF,GAAG,mCAAQ,GAAG,KAAE,UAAU,EAAE,sBAAsB,GAAE,CAAC;gBACrD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,gDAAgD,CACrD,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;YACJ,CAAC,CAAA,CAAC;QACJ,KAAK,gBAAgB;YACnB,OAAO,CACL,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG,EACH,EAAE;gBACF,GAAG,mCAAQ,GAAG,KAAE,UAAU,EAAE,gBAAgB,GAAE,CAAC;gBAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,0CAA0C,CAC/C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;YACJ,CAAC,CAAA,CAAC;QACJ;YACE,MAAM,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,kBAAkB,CAAC;YAC/B,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACtD;AACH,CAAC;AAED,SAAS,0CAA0C,CAGjD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA8E;IAE9E,QAAQ,GAAG,CAAC,WAAW,EAAE;QACvB,KAAK,2BAAgB,CAAC,IAAI;YACxB,OAAO,uCAAuC,CAC5C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,KAAK,2BAAgB,CAAC,QAAQ;YAC5B,OAAO,2CAA2C,CAChD,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ;YACE,MAAM,GAAG,GAAG,yBAAyB,CAAC;YACtC,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACtD;AACH,CAAC;AAED,SAAS,4CAA4C,CAGnD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG;IAEH,QAAQ,GAAG,CAAC,WAAW,EAAE;QACvB,KAAK,2BAAgB,CAAC,IAAI;YACxB,OAAO,yCAAyC,CAC9C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,KAAK,2BAAgB,CAAC,QAAQ;YAC5B,OAAO,6CAA6C,CAClD,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ;YACE,MAAM,GAAG,GAAG,yBAAyB,CAAC;YACtC,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACtD;AACH,CAAC;AAED,SAAS,yCAAyC,CAGhD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA4E;IAE5E,QAAQ,GAAG,CAAC,WAAW,EAAE;QACvB,KAAK,2BAAgB,CAAC,IAAI;YACxB,OAAO,sCAAsC,CAC3C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,KAAK,2BAAgB,CAAC,QAAQ;YAC5B,OAAO,0CAA0C,CAC/C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ;YACE,MAAM,GAAG,GAAG,yBAAyB,CAAC;YACtC,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACtD;AACH,CAAC;AAED,SAAS,gDAAgD,CAGvD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG;IAEH,QAAQ,GAAG,CAAC,WAAW,EAAE;QACvB,KAAK,2BAAgB,CAAC,IAAI;YACxB,OAAO,6CAA6C,CAClD,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,KAAK,2BAAgB,CAAC,QAAQ;YAC5B,OAAO,iDAAiD,CACtD,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ;YACE,MAAM,GAAG,GAAG,yBAAyB,CAAC;YACtC,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACtD;AACH,CAAC;AAED,SAAS,0CAA0C,CAGjD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA8E;IAE9E,QAAQ,GAAG,CAAC,WAAW,EAAE;QACvB,KAAK,2BAAgB,CAAC,IAAI;YACxB,OAAO,uCAAuC,CAC5C,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,KAAK,2BAAgB,CAAC,QAAQ;YAC5B,OAAO,2CAA2C,CAChD,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,CACb,CAAC;QACJ;YACE,MAAM,GAAG,GAAG,yBAAyB,CAAC;YACtC,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACtD;AACH,CAAC;AACD,SAAe,uCAAuC,CAGpD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA8E;;QAE9E,IAAI,OAA8B,CAAC;QACnC,IAAI,QAAgC,CAAC;QAErC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,gCAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC7C,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,uCAAuC,CAAC;gBACpD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SACxD;QAED,OAAO,IAAI,CAAC,SAAS,CACnB,iCAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtC,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAW,CACb,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,yCAAyC,CAGtD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG;;QAEH,IAAI,OAAgC,CAAC;QACrC,IAAI,QAAkC,CAAC;QAEvC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,kCAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC/C,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,uCAAuC,CAAC;gBACpD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SAC1D;QAED,OAAO,IAAI,CAAC,SAAS,CACnB,mCAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxC,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAW,CACb,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,sCAAsC,CAGnD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA4E;;QAE5E,IAAI,OAA6B,CAAC;QAClC,IAAI,QAA+B,CAAC;QAEpC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,+BAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC5C,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,uCAAuC,CAAC;gBACpD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SACvD;QAED,OAAO,IAAI,CAAC,SAAS,CACnB,gCAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE;YACrC,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAW,CACb,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,6CAA6C,CAG1D,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG;;QAEH,IAAI,OAAoC,CAAC;QACzC,IAAI,QAAsC,CAAC;QAE3C,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,sCAA2B,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACnD,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,uCAAuC,CAAC;gBACpD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SAC9D;QAED,OAAO,IAAI,CAAC,SAAS,CACnB,uCAA4B,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC5C,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAW,CACb,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,uCAAuC,CAGpD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA8E;;QAE9E,IAAI,OAA8B,CAAC;QACnC,IAAI,QAAgC,CAAC;QAErC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,gCAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC7C,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,uCAAuC,CAAC;gBACpD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SACxD;QAED,OAAO,IAAI,CAAC,SAAS,CACnB,iCAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtC,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAW,CACb,CAAC;IACJ,CAAC;CAAA;AACD,SAAe,2CAA2C,CAGxD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA8E;;QAE9E,IAAI,OAA8B,CAAC;QACnC,IAAI,QAAgC,CAAC;QAErC,IAAI;YACF,OAAO,GAAG,gCAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,2CAA2C,CAAC;gBACxD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SACxD;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,iCAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;CAAA;AAED,SAAe,6CAA6C,CAG1D,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG;;QAEH,IAAI,OAAgC,CAAC;QACrC,IAAI,QAAkC,CAAC;QAEvC,IAAI;YACF,OAAO,GAAG,kCAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,2CAA2C,CAAC;gBACxD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SAC1D;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,mCAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;CAAA;AAED,SAAe,0CAA0C,CAGvD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA4E;;QAE5E,IAAI,OAA6B,CAAC;QAClC,IAAI,QAA+B,CAAC;QAEpC,IAAI;YACF,OAAO,GAAG,+BAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,2CAA2C,CAAC;gBACxD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SACvD;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,gCAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,CAAC;CAAA;AAED,SAAe,iDAAiD,CAG9D,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAIG;;QAEH,IAAI,OAAoC,CAAC;QACzC,IAAI,QAAsC,CAAC;QAE3C,IAAI;YACF,OAAO,GAAG,sCAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACxD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,2CAA2C,CAAC;gBACxD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SAC9D;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,uCAA4B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;CAAA;AAED,SAAe,2CAA2C,CAGxD,GAAM,EACN,OAA6B,EAC7B,IAAY,EACZ,YAA8E;;QAE9E,IAAI,OAA8B,CAAC;QACnC,IAAI,QAAgC,CAAC;QAErC,IAAI;YACF,OAAO,GAAG,gCAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,GAAG,2CAA2C,CAAC;gBACxD,MAAM,IAAI,qBAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACxE;SACF;QAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC,GAAG,YAAY,CAIpD,CAAC;YACF,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAQ,CAAC,CAAC;SACxD;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,iCAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/download/download-artifact.d.ts b/node_modules/@actions/artifact/lib/internal/download/download-artifact.d.ts index e1c5373b12..08c8a21dfd 100644 --- a/node_modules/@actions/artifact/lib/internal/download/download-artifact.d.ts +++ b/node_modules/@actions/artifact/lib/internal/download/download-artifact.d.ts @@ -1,4 +1,4 @@ -import { DownloadArtifactOptions, DownloadArtifactResponse } from '../shared/interfaces'; -export declare function streamExtractExternal(url: string, directory: string): Promise; +import { DownloadArtifactOptions, DownloadArtifactResponse, StreamExtractResponse } from '../shared/interfaces'; +export declare function streamExtractExternal(url: string, directory: string): Promise; export declare function downloadArtifactPublic(artifactId: number, repositoryOwner: string, repositoryName: string, token: string, options?: DownloadArtifactOptions): Promise; export declare function downloadArtifactInternal(artifactId: number, options?: DownloadArtifactOptions): Promise; diff --git a/node_modules/@actions/artifact/lib/internal/download/download-artifact.js b/node_modules/@actions/artifact/lib/internal/download/download-artifact.js index 0a7535a1cb..5511c05ab0 100644 --- a/node_modules/@actions/artifact/lib/internal/download/download-artifact.js +++ b/node_modules/@actions/artifact/lib/internal/download/download-artifact.js @@ -37,6 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.downloadArtifactInternal = exports.downloadArtifactPublic = exports.streamExtractExternal = void 0; const promises_1 = __importDefault(require("fs/promises")); +const crypto = __importStar(require("crypto")); +const stream = __importStar(require("stream")); const github = __importStar(require("@actions/github")); const core = __importStar(require("@actions/core")); const httpClient = __importStar(require("@actions/http-client")); @@ -73,8 +75,7 @@ function streamExtract(url, directory) { let retryCount = 0; while (retryCount < 5) { try { - yield streamExtractExternal(url, directory); - return; + return yield streamExtractExternal(url, directory); } catch (error) { retryCount++; @@ -94,12 +95,18 @@ function streamExtractExternal(url, directory) { throw new Error(`Unexpected HTTP response from blob storage: ${response.message.statusCode} ${response.message.statusMessage}`); } const timeout = 30 * 1000; // 30 seconds + let sha256Digest = undefined; return new Promise((resolve, reject) => { const timerFn = () => { response.message.destroy(new Error(`Blob storage chunk did not respond in ${timeout}ms`)); }; const timer = setTimeout(timerFn, timeout); - response.message + const hashStream = crypto.createHash('sha256').setEncoding('hex'); + const passThrough = new stream.PassThrough(); + response.message.pipe(passThrough); + passThrough.pipe(hashStream); + const extractStream = passThrough; + extractStream .on('data', () => { timer.refresh(); }) @@ -111,7 +118,12 @@ function streamExtractExternal(url, directory) { .pipe(unzip_stream_1.default.Extract({ path: directory })) .on('close', () => { clearTimeout(timer); - resolve(); + if (hashStream) { + hashStream.end(); + sha256Digest = hashStream.read(); + core.info(`SHA256 digest of downloaded artifact is ${sha256Digest}`); + } + resolve({ sha256Digest: `sha256:${sha256Digest}` }); }) .on('error', (error) => { reject(error); @@ -124,6 +136,7 @@ function downloadArtifactPublic(artifactId, repositoryOwner, repositoryName, tok return __awaiter(this, void 0, void 0, function* () { const downloadPath = yield resolveOrCreateDirectory(options === null || options === void 0 ? void 0 : options.path); const api = github.getOctokit(token); + let digestMismatch = false; core.info(`Downloading artifact '${artifactId}' from '${repositoryOwner}/${repositoryName}'`); const { headers, status } = yield api.rest.actions.downloadArtifact({ owner: repositoryOwner, @@ -144,13 +157,20 @@ function downloadArtifactPublic(artifactId, repositoryOwner, repositoryName, tok core.info(`Redirecting to blob download url: ${scrubQueryParameters(location)}`); try { core.info(`Starting download of artifact to: ${downloadPath}`); - yield streamExtract(location, downloadPath); + const extractResponse = yield streamExtract(location, downloadPath); core.info(`Artifact download completed successfully.`); + if (options === null || options === void 0 ? void 0 : options.expectedHash) { + if ((options === null || options === void 0 ? void 0 : options.expectedHash) !== extractResponse.sha256Digest) { + digestMismatch = true; + core.debug(`Computed digest: ${extractResponse.sha256Digest}`); + core.debug(`Expected digest: ${options.expectedHash}`); + } + } } catch (error) { throw new Error(`Unable to download and extract artifact: ${error.message}`); } - return { downloadPath }; + return { downloadPath, digestMismatch }; }); } exports.downloadArtifactPublic = downloadArtifactPublic; @@ -158,6 +178,7 @@ function downloadArtifactInternal(artifactId, options) { return __awaiter(this, void 0, void 0, function* () { const downloadPath = yield resolveOrCreateDirectory(options === null || options === void 0 ? void 0 : options.path); const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)(); + let digestMismatch = false; const { workflowRunBackendId, workflowJobRunBackendId } = (0, util_1.getBackendIdsFromToken)(); const listReq = { workflowRunBackendId, @@ -180,13 +201,20 @@ function downloadArtifactInternal(artifactId, options) { core.info(`Redirecting to blob download url: ${scrubQueryParameters(signedUrl)}`); try { core.info(`Starting download of artifact to: ${downloadPath}`); - yield streamExtract(signedUrl, downloadPath); + const extractResponse = yield streamExtract(signedUrl, downloadPath); core.info(`Artifact download completed successfully.`); + if (options === null || options === void 0 ? void 0 : options.expectedHash) { + if ((options === null || options === void 0 ? void 0 : options.expectedHash) !== extractResponse.sha256Digest) { + digestMismatch = true; + core.debug(`Computed digest: ${extractResponse.sha256Digest}`); + core.debug(`Expected digest: ${options.expectedHash}`); + } + } } catch (error) { throw new Error(`Unable to download and extract artifact: ${error.message}`); } - return { downloadPath }; + return { downloadPath, digestMismatch }; }); } exports.downloadArtifactInternal = downloadArtifactInternal; diff --git a/node_modules/@actions/artifact/lib/internal/download/download-artifact.js.map b/node_modules/@actions/artifact/lib/internal/download/download-artifact.js.map index 0212c658d2..6d79041640 100644 --- a/node_modules/@actions/artifact/lib/internal/download/download-artifact.js.map +++ b/node_modules/@actions/artifact/lib/internal/download/download-artifact.js.map @@ -1 +1 @@ -{"version":3,"file":"download-artifact.js","sourceRoot":"","sources":["../../../src/internal/download/download-artifact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA4B;AAC5B,wDAAyC;AACzC,oDAAqC;AACrC,iEAAkD;AAClD,gEAAgC;AAKhC,qDAAuD;AACvD,6CAAsD;AACtD,2EAA2E;AAC3E,+CAIwB;AACxB,yCAAqD;AACrD,6CAAsD;AAEtD,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAU,EAAE;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,SAAe,MAAM,CAAC,IAAY;;QAChC,IAAI;YACF,MAAM,kBAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrB,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC3B,OAAO,KAAK,CAAA;aACb;iBAAM;gBACL,MAAM,KAAK,CAAA;aACZ;SACF;IACH,CAAC;CAAA;AAED,SAAe,aAAa,CAAC,GAAW,EAAE,SAAiB;;QACzD,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,OAAO,UAAU,GAAG,CAAC,EAAE;YACrB,IAAI;gBACF,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;gBAC3C,OAAM;aACP;YAAC,OAAO,KAAK,EAAE;gBACd,UAAU,EAAE,CAAA;gBACZ,IAAI,CAAC,KAAK,CACR,qCAAqC,UAAU,mBAAmB,KAAK,CAAC,OAAO,4BAA4B,CAC5G,CAAA;gBACD,iCAAiC;gBACjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;aACxD;SACF;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,WAAW,CAAC,CAAA;IAC1E,CAAC;CAAA;AAED,SAAsB,qBAAqB,CACzC,GAAW,EACX,SAAiB;;QAEjB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,IAAA,+BAAkB,GAAE,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,GAAG,EAAE;YACvC,MAAM,IAAI,KAAK,CACb,+CAA+C,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAC/G,CAAA;SACF;QAED,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;QAEvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,QAAQ,CAAC,OAAO,CAAC,OAAO,CACtB,IAAI,KAAK,CAAC,yCAAyC,OAAO,IAAI,CAAC,CAChE,CAAA;YACH,CAAC,CAAA;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAE1C,QAAQ,CAAC,OAAO;iBACb,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACf,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC5B,IAAI,CAAC,KAAK,CACR,+CAA+C,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAA;gBACD,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC;iBACD,IAAI,CAAC,sBAAK,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;iBACtC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,OAAO,EAAE,CAAA;YACX,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AA1CD,sDA0CC;AAED,SAAsB,sBAAsB,CAC1C,UAAkB,EAClB,eAAuB,EACvB,cAAsB,EACtB,KAAa,EACb,OAAiC;;QAEjC,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAA;QAElE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAEpC,IAAI,CAAC,IAAI,CACP,yBAAyB,UAAU,WAAW,eAAe,IAAI,cAAc,GAAG,CACnF,CAAA;QAED,MAAM,EAAC,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAChE,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,UAAU;YACvB,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,QAAQ;aACnB;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,EAAE,CAAC,CAAA;SAC7E;QAED,MAAM,EAAC,QAAQ,EAAC,GAAG,OAAO,CAAA;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;SAC/D;QAED,IAAI,CAAC,IAAI,CACP,qCAAqC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CACtE,CAAA;QAED,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAA;YAC9D,MAAM,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAC3C,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;SACvD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAC7E;QAED,OAAO,EAAC,YAAY,EAAC,CAAA;IACvB,CAAC;CAAA;AA/CD,wDA+CC;AAED,SAAsB,wBAAwB,CAC5C,UAAkB,EAClB,OAAiC;;QAEjC,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAA;QAElE,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,MAAM,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,GACnD,IAAA,6BAAsB,GAAE,CAAA;QAE1B,MAAM,OAAO,GAAyB;YACpC,oBAAoB;YACpB,uBAAuB;YACvB,QAAQ,EAAE,sBAAU,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAC,CAAC;SAC5D,CAAA;QAED,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAE/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,MAAM,IAAI,8BAAqB,CAC7B,8BAA8B,UAAU,+GAA+G,CACxJ,CAAA;SACF;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAA;SAC/D;QAED,MAAM,SAAS,GAAgC;YAC7C,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB;YACvD,uBAAuB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB;YAC7D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;SACxB,CAAA;QAED,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAExE,IAAI,CAAC,IAAI,CACP,qCAAqC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CACvE,CAAA;QAED,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAA;YAC9D,MAAM,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YAC5C,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;SACvD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAC7E;QAED,OAAO,EAAC,YAAY,EAAC,CAAA;IACvB,CAAC;CAAA;AAlDD,4DAkDC;AAED,SAAe,wBAAwB,CACrC,YAAY,GAAG,IAAA,8BAAqB,GAAE;;QAEtC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,KAAK,CACR,yDAAyD,YAAY,EAAE,CACxE,CAAA;YACD,MAAM,kBAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;SAChD;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,+CAA+C,YAAY,EAAE,CAAC,CAAA;SAC1E;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;CAAA"} \ No newline at end of file +{"version":3,"file":"download-artifact.js","sourceRoot":"","sources":["../../../src/internal/download/download-artifact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA4B;AAC5B,+CAAgC;AAChC,+CAAgC;AAEhC,wDAAyC;AACzC,oDAAqC;AACrC,iEAAkD;AAClD,gEAAgC;AAMhC,qDAAuD;AACvD,6CAAsD;AACtD,2EAA2E;AAC3E,+CAIwB;AACxB,yCAAqD;AACrD,6CAAsD;AAEtD,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAU,EAAE;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,SAAe,MAAM,CAAC,IAAY;;QAChC,IAAI;YACF,MAAM,kBAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrB,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC3B,OAAO,KAAK,CAAA;aACb;iBAAM;gBACL,MAAM,KAAK,CAAA;aACZ;SACF;IACH,CAAC;CAAA;AAED,SAAe,aAAa,CAC1B,GAAW,EACX,SAAiB;;QAEjB,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,OAAO,UAAU,GAAG,CAAC,EAAE;YACrB,IAAI;gBACF,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;aACnD;YAAC,OAAO,KAAK,EAAE;gBACd,UAAU,EAAE,CAAA;gBACZ,IAAI,CAAC,KAAK,CACR,qCAAqC,UAAU,mBAAmB,KAAK,CAAC,OAAO,4BAA4B,CAC5G,CAAA;gBACD,iCAAiC;gBACjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;aACxD;SACF;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,WAAW,CAAC,CAAA;IAC1E,CAAC;CAAA;AAED,SAAsB,qBAAqB,CACzC,GAAW,EACX,SAAiB;;QAEjB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,IAAA,+BAAkB,GAAE,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,GAAG,EAAE;YACvC,MAAM,IAAI,KAAK,CACb,+CAA+C,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAC/G,CAAA;SACF;QAED,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;QACvC,IAAI,YAAY,GAAuB,SAAS,CAAA;QAEhD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,QAAQ,CAAC,OAAO,CAAC,OAAO,CACtB,IAAI,KAAK,CAAC,yCAAyC,OAAO,IAAI,CAAC,CAChE,CAAA;YACH,CAAC,CAAA;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAE1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACjE,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAA;YAE5C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAClC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC5B,MAAM,aAAa,GAAG,WAAW,CAAA;YAEjC,aAAa;iBACV,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACf,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC5B,IAAI,CAAC,KAAK,CACR,+CAA+C,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAA;gBACD,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC;iBACD,IAAI,CAAC,sBAAK,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;iBACtC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,IAAI,UAAU,EAAE;oBACd,UAAU,CAAC,GAAG,EAAE,CAAA;oBAChB,YAAY,GAAG,UAAU,CAAC,IAAI,EAAY,CAAA;oBAC1C,IAAI,CAAC,IAAI,CAAC,2CAA2C,YAAY,EAAE,CAAC,CAAA;iBACrE;gBACD,OAAO,CAAC,EAAC,YAAY,EAAE,UAAU,YAAY,EAAE,EAAC,CAAC,CAAA;YACnD,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAvDD,sDAuDC;AAED,SAAsB,sBAAsB,CAC1C,UAAkB,EAClB,eAAuB,EACvB,cAAsB,EACtB,KAAa,EACb,OAAiC;;QAEjC,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAA;QAElE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAEpC,IAAI,cAAc,GAAG,KAAK,CAAA;QAE1B,IAAI,CAAC,IAAI,CACP,yBAAyB,UAAU,WAAW,eAAe,IAAI,cAAc,GAAG,CACnF,CAAA;QAED,MAAM,EAAC,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAChE,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,UAAU;YACvB,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,QAAQ;aACnB;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,EAAE,CAAC,CAAA;SAC7E;QAED,MAAM,EAAC,QAAQ,EAAC,GAAG,OAAO,CAAA;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;SAC/D;QAED,IAAI,CAAC,IAAI,CACP,qCAAqC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CACtE,CAAA;QAED,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAA;YAC9D,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YACnE,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;YACtD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;gBACzB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAK,eAAe,CAAC,YAAY,EAAE;oBAC1D,cAAc,GAAG,IAAI,CAAA;oBACrB,IAAI,CAAC,KAAK,CAAC,oBAAoB,eAAe,CAAC,YAAY,EAAE,CAAC,CAAA;oBAC9D,IAAI,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;iBACvD;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAC7E;QAED,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,CAAA;IACvC,CAAC;CAAA;AAxDD,wDAwDC;AAED,SAAsB,wBAAwB,CAC5C,UAAkB,EAClB,OAAiC;;QAEjC,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAA;QAElE,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,IAAI,cAAc,GAAG,KAAK,CAAA;QAE1B,MAAM,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,GACnD,IAAA,6BAAsB,GAAE,CAAA;QAE1B,MAAM,OAAO,GAAyB;YACpC,oBAAoB;YACpB,uBAAuB;YACvB,QAAQ,EAAE,sBAAU,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAC,CAAC;SAC5D,CAAA;QAED,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAE/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,MAAM,IAAI,8BAAqB,CAC7B,8BAA8B,UAAU,+GAA+G,CACxJ,CAAA;SACF;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAA;SAC/D;QAED,MAAM,SAAS,GAAgC;YAC7C,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB;YACvD,uBAAuB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB;YAC7D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;SACxB,CAAA;QAED,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAExE,IAAI,CAAC,IAAI,CACP,qCAAqC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CACvE,CAAA;QAED,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAA;YAC9D,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YACpE,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;YACtD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;gBACzB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAK,eAAe,CAAC,YAAY,EAAE;oBAC1D,cAAc,GAAG,IAAI,CAAA;oBACrB,IAAI,CAAC,KAAK,CAAC,oBAAoB,eAAe,CAAC,YAAY,EAAE,CAAC,CAAA;oBAC9D,IAAI,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;iBACvD;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAC7E;QAED,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,CAAA;IACvC,CAAC;CAAA;AA3DD,4DA2DC;AAED,SAAe,wBAAwB,CACrC,YAAY,GAAG,IAAA,8BAAqB,GAAE;;QAEtC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,KAAK,CACR,yDAAyD,YAAY,EAAE,CACxE,CAAA;YACD,MAAM,kBAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;SAChD;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,+CAA+C,YAAY,EAAE,CAAC,CAAA;SAC1E;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/find/get-artifact.js b/node_modules/@actions/artifact/lib/internal/find/get-artifact.js index ff8643b908..1ab85fb205 100644 --- a/node_modules/@actions/artifact/lib/internal/find/get-artifact.js +++ b/node_modules/@actions/artifact/lib/internal/find/get-artifact.js @@ -80,13 +80,17 @@ function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, reposit name: artifact.name, id: artifact.id, size: artifact.size_in_bytes, - createdAt: artifact.created_at ? new Date(artifact.created_at) : undefined + createdAt: artifact.created_at + ? new Date(artifact.created_at) + : undefined, + digest: artifact.digest } }; }); } exports.getArtifactPublic = getArtifactPublic; function getArtifactInternal(artifactName) { + var _a; return __awaiter(this, void 0, void 0, function* () { const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)(); const { workflowRunBackendId, workflowJobRunBackendId } = (0, util_1.getBackendIdsFromToken)(); @@ -113,7 +117,8 @@ function getArtifactInternal(artifactName) { size: Number(artifact.size), createdAt: artifact.createdAt ? generated_1.Timestamp.toDate(artifact.createdAt) - : undefined + : undefined, + digest: (_a = artifact.digest) === null || _a === void 0 ? void 0 : _a.value } }; }); diff --git a/node_modules/@actions/artifact/lib/internal/find/get-artifact.js.map b/node_modules/@actions/artifact/lib/internal/find/get-artifact.js.map index 7468bdca41..6e5bc368c2 100644 --- a/node_modules/@actions/artifact/lib/internal/find/get-artifact.js.map +++ b/node_modules/@actions/artifact/lib/internal/find/get-artifact.js.map @@ -1 +1 @@ -{"version":3,"file":"get-artifact.js","sourceRoot":"","sources":["../../../src/internal/find/get-artifact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA0C;AAC1C,wDAA2C;AAC3C,oDAAqC;AAErC,qDAA0E;AAC1E,mDAA+C;AAC/C,oEAAsD;AAEtD,yCAAqD;AACrD,qDAAuD;AACvD,2EAA2E;AAC3E,+CAA4E;AAC5E,6CAA4E;AAE5E,SAAsB,iBAAiB,CACrC,YAAoB,EACpB,aAAqB,EACrB,eAAuB,EACvB,cAAsB,EACtB,KAAa;;;QAEb,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAA,+BAAe,EAAC,gBAAoB,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,IAAA,+BAAkB,GAAE;YAC/B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,WAAW;SACrB,CAAA;QAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,IAAI,EAAE,oBAAK,EAAE,+BAAU,CAAC,CAAA;QAEzD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAC1C,kEAAkE,EAClE;YACE,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,YAAY;SACnB,CACF,CAAA;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,IAAI,6BAAoB,CAC5B,qCAAqC,eAAe,CAAC,MAAM,KAAK,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,0CAAG,qBAAqB,CAAC,GAAG,CACrH,CAAA;SACF;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/C,MAAM,IAAI,8BAAqB,CAC7B,gCAAgC,YAAY;;yIAEuF,CACpI,CAAA;SACF;QAED,IAAI,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAChD,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACxE,IAAI,CAAC,KAAK,CACR,yEAAyE,QAAQ,CAAC,EAAE,GAAG,CACxF,CAAA;SACF;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,aAAa;gBAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3E;SACF,CAAA;;CACF;AA3DD,8CA2DC;AAED,SAAsB,mBAAmB,CACvC,YAAoB;;QAEpB,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,MAAM,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,GACnD,IAAA,6BAAsB,GAAE,CAAA;QAE1B,MAAM,GAAG,GAAyB;YAChC,oBAAoB;YACpB,uBAAuB;YACvB,UAAU,EAAE,uBAAW,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC;SACtD,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAEnD,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,8BAAqB,CAC7B,gCAAgC,YAAY;;yIAEuF,CACpI,CAAA;SACF;QAED,IAAI,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CACtD,CAAC,CAAC,CAAC,CAAA;YAEJ,IAAI,CAAC,KAAK,CACR,yEAAyE,QAAQ,CAAC,UAAU,GAAG,CAChG,CAAA;SACF;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC3B,CAAC,CAAC,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACtC,CAAC,CAAC,SAAS;aACd;SACF,CAAA;IACH,CAAC;CAAA;AA7CD,kDA6CC"} \ No newline at end of file +{"version":3,"file":"get-artifact.js","sourceRoot":"","sources":["../../../src/internal/find/get-artifact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA0C;AAC1C,wDAA2C;AAC3C,oDAAqC;AAErC,qDAA0E;AAC1E,mDAA+C;AAC/C,oEAAsD;AAEtD,yCAAqD;AACrD,qDAAuD;AACvD,2EAA2E;AAC3E,+CAA4E;AAC5E,6CAA4E;AAE5E,SAAsB,iBAAiB,CACrC,YAAoB,EACpB,aAAqB,EACrB,eAAuB,EACvB,cAAsB,EACtB,KAAa;;;QAEb,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAA,+BAAe,EAAC,gBAAoB,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,IAAA,+BAAkB,GAAE;YAC/B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,WAAW;SACrB,CAAA;QAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,IAAI,EAAE,oBAAK,EAAE,+BAAU,CAAC,CAAA;QAEzD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAC1C,kEAAkE,EAClE;YACE,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,YAAY;SACnB,CACF,CAAA;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,IAAI,6BAAoB,CAC5B,qCAAqC,eAAe,CAAC,MAAM,KAAK,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,0CAAG,qBAAqB,CAAC,GAAG,CACrH,CAAA;SACF;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/C,MAAM,IAAI,8BAAqB,CAC7B,gCAAgC,YAAY;;yIAEuF,CACpI,CAAA;SACF;QAED,IAAI,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAChD,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACxE,IAAI,CAAC,KAAK,CACR,yEAAyE,QAAQ,CAAC,EAAE,GAAG,CACxF,CAAA;SACF;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,aAAa;gBAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC/B,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB;SACF,CAAA;;CACF;AA9DD,8CA8DC;AAED,SAAsB,mBAAmB,CACvC,YAAoB;;;QAEpB,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,MAAM,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,GACnD,IAAA,6BAAsB,GAAE,CAAA;QAE1B,MAAM,GAAG,GAAyB;YAChC,oBAAoB;YACpB,uBAAuB;YACvB,UAAU,EAAE,uBAAW,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC;SACtD,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAEnD,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,8BAAqB,CAC7B,gCAAgC,YAAY;;yIAEuF,CACpI,CAAA;SACF;QAED,IAAI,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CACtD,CAAC,CAAC,CAAC,CAAA;YAEJ,IAAI,CAAC,KAAK,CACR,yEAAyE,QAAQ,CAAC,UAAU,GAAG,CAChG,CAAA;SACF;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC3B,CAAC,CAAC,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACtC,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,MAAA,QAAQ,CAAC,MAAM,0CAAE,KAAK;aAC/B;SACF,CAAA;;CACF;AA9CD,kDA8CC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js b/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js index 2a994d90ed..f7a789e658 100644 --- a/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js +++ b/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js @@ -38,7 +38,7 @@ function listArtifactsPublic(workflowRunId, repositoryOwner, repositoryName, tok }; const github = (0, github_1.getOctokit)(token, opts, plugin_retry_1.retry, plugin_request_log_1.requestLog); let currentPageNumber = 1; - const { data: listArtifactResponse } = yield github.rest.actions.listWorkflowRunArtifacts({ + const { data: listArtifactResponse } = yield github.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts', { owner: repositoryOwner, repo: repositoryName, run_id: workflowRunId, @@ -57,14 +57,18 @@ function listArtifactsPublic(workflowRunId, repositoryOwner, repositoryName, tok name: artifact.name, id: artifact.id, size: artifact.size_in_bytes, - createdAt: artifact.created_at ? new Date(artifact.created_at) : undefined + createdAt: artifact.created_at + ? new Date(artifact.created_at) + : undefined, + digest: artifact.digest }); } + // Move to the next page + currentPageNumber++; // Iterate over any remaining pages for (currentPageNumber; currentPageNumber < numberOfPages; currentPageNumber++) { - currentPageNumber++; (0, core_1.debug)(`Fetching page ${currentPageNumber} of artifact list`); - const { data: listArtifactResponse } = yield github.rest.actions.listWorkflowRunArtifacts({ + const { data: listArtifactResponse } = yield github.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts', { owner: repositoryOwner, repo: repositoryName, run_id: workflowRunId, @@ -78,7 +82,8 @@ function listArtifactsPublic(workflowRunId, repositoryOwner, repositoryName, tok size: artifact.size_in_bytes, createdAt: artifact.created_at ? new Date(artifact.created_at) - : undefined + : undefined, + digest: artifact.digest }); } } @@ -101,14 +106,18 @@ function listArtifactsInternal(latest = false) { workflowJobRunBackendId }; const res = yield artifactClient.ListArtifacts(req); - let artifacts = res.artifacts.map(artifact => ({ - name: artifact.name, - id: Number(artifact.databaseId), - size: Number(artifact.size), - createdAt: artifact.createdAt - ? generated_1.Timestamp.toDate(artifact.createdAt) - : undefined - })); + let artifacts = res.artifacts.map(artifact => { + var _a; + return ({ + name: artifact.name, + id: Number(artifact.databaseId), + size: Number(artifact.size), + createdAt: artifact.createdAt + ? generated_1.Timestamp.toDate(artifact.createdAt) + : undefined, + digest: (_a = artifact.digest) === null || _a === void 0 ? void 0 : _a.value + }); + }); if (latest) { artifacts = filterLatest(artifacts); } diff --git a/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js.map b/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js.map index 154fdca325..45357d50f1 100644 --- a/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js.map +++ b/node_modules/@actions/artifact/lib/internal/find/list-artifacts.js.map @@ -1 +1 @@ -{"version":3,"file":"list-artifacts.js","sourceRoot":"","sources":["../../../src/internal/find/list-artifacts.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAkD;AAClD,4CAA0C;AAE1C,qDAAuD;AACvD,mDAA+C;AAC/C,qDAA0E;AAC1E,oEAAsD;AACtD,wDAA2C;AAE3C,2EAA2E;AAC3E,yCAAqD;AACrD,+CAA+D;AAE/D,oCAAoC;AACpC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,CAAA;AAE/D,SAAsB,mBAAmB,CACvC,aAAqB,EACrB,eAAuB,EACvB,cAAsB,EACtB,KAAa,EACb,MAAM,GAAG,KAAK;;QAEd,IAAA,WAAI,EACF,2CAA2C,aAAa,kBAAkB,eAAe,IAAI,cAAc,EAAE,CAC9G,CAAA;QAED,IAAI,SAAS,GAAe,EAAE,CAAA;QAC9B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAA,+BAAe,EAAC,gBAAoB,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,IAAA,+BAAkB,GAAE;YAC/B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,WAAW;SACrB,CAAA;QAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,IAAI,EAAE,oBAAK,EAAE,+BAAU,CAAC,CAAA;QAEzD,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,MAAM,EAAC,IAAI,EAAE,oBAAoB,EAAC,GAChC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACjD,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAA;QAEJ,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAC3B,oBAAoB,CAAC,WAAW,GAAG,eAAe,CACnD,CAAA;QACD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,CAAA;QAC3D,IAAI,kBAAkB,GAAG,oBAAoB,EAAE;YAC7C,IAAA,cAAO,EACL,gBAAgB,aAAa,+EAA+E,oBAAoB,6BAA6B,CAC9J,CAAA;YACD,aAAa,GAAG,gBAAgB,CAAA;SACjC;QAED,8BAA8B;QAC9B,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,SAAS,EAAE;YACrD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,aAAa;gBAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3E,CAAC,CAAA;SACH;QAED,mCAAmC;QACnC,KACE,iBAAiB,EACjB,iBAAiB,GAAG,aAAa,EACjC,iBAAiB,EAAE,EACnB;YACA,iBAAiB,EAAE,CAAA;YACnB,IAAA,YAAK,EAAC,iBAAiB,iBAAiB,mBAAmB,CAAC,CAAA;YAE5D,MAAM,EAAC,IAAI,EAAE,oBAAoB,EAAC,GAChC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBACjD,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,aAAa;gBACrB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAA;YAEJ,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,SAAS,EAAE;gBACrD,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,IAAI,EAAE,QAAQ,CAAC,aAAa;oBAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU;wBAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC/B,CAAC,CAAC,SAAS;iBACd,CAAC,CAAA;aACH;SACF;QAED,IAAI,MAAM,EAAE;YACV,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;SACpC;QAED,IAAA,WAAI,EAAC,SAAS,SAAS,CAAC,MAAM,cAAc,CAAC,CAAA;QAE7C,OAAO;YACL,SAAS;SACV,CAAA;IACH,CAAC;CAAA;AA9FD,kDA8FC;AAED,SAAsB,qBAAqB,CACzC,MAAM,GAAG,KAAK;;QAEd,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,MAAM,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,GACnD,IAAA,6BAAsB,GAAE,CAAA;QAE1B,MAAM,GAAG,GAAyB;YAChC,oBAAoB;YACpB,uBAAuB;SACxB,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,SAAS,GAAe,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC3B,CAAC,CAAC,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACtC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC,CAAA;QAEH,IAAI,MAAM,EAAE;YACV,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;SACpC;QAED,IAAA,WAAI,EAAC,SAAS,SAAS,CAAC,MAAM,cAAc,CAAC,CAAA;QAE7C,OAAO;YACL,SAAS;SACV,CAAA;IACH,CAAC;CAAA;AAhCD,sDAgCC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,SAAqB;IACzC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IACrC,MAAM,eAAe,GAAe,EAAE,CAAA;IACtC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9B,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SACrC;KACF;IACD,OAAO,eAAe,CAAA;AACxB,CAAC"} \ No newline at end of file +{"version":3,"file":"list-artifacts.js","sourceRoot":"","sources":["../../../src/internal/find/list-artifacts.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAkD;AAClD,4CAA0C;AAE1C,qDAAuD;AACvD,mDAA+C;AAC/C,qDAA0E;AAC1E,oEAAsD;AACtD,wDAA2C;AAE3C,2EAA2E;AAC3E,yCAAqD;AACrD,+CAA+D;AAE/D,oCAAoC;AACpC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,CAAA;AAE/D,SAAsB,mBAAmB,CACvC,aAAqB,EACrB,eAAuB,EACvB,cAAsB,EACtB,KAAa,EACb,MAAM,GAAG,KAAK;;QAEd,IAAA,WAAI,EACF,2CAA2C,aAAa,kBAAkB,eAAe,IAAI,cAAc,EAAE,CAC9G,CAAA;QAED,IAAI,SAAS,GAAe,EAAE,CAAA;QAC9B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAA,+BAAe,EAAC,gBAAoB,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,IAAA,+BAAkB,GAAE;YAC/B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,WAAW;SACrB,CAAA;QAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,IAAI,EAAE,oBAAK,EAAE,+BAAU,CAAC,CAAA;QAEzD,IAAI,iBAAiB,GAAG,CAAC,CAAA;QAEzB,MAAM,EAAC,IAAI,EAAE,oBAAoB,EAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CACvD,2DAA2D,EAC3D;YACE,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,iBAAiB;SACxB,CACF,CAAA;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAC3B,oBAAoB,CAAC,WAAW,GAAG,eAAe,CACnD,CAAA;QACD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,CAAA;QAC3D,IAAI,kBAAkB,GAAG,oBAAoB,EAAE;YAC7C,IAAA,cAAO,EACL,gBAAgB,aAAa,+EAA+E,oBAAoB,6BAA6B,CAC9J,CAAA;YACD,aAAa,GAAG,gBAAgB,CAAA;SACjC;QAED,8BAA8B;QAC9B,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,SAAS,EAAE;YACrD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,aAAa;gBAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC/B,CAAC,CAAC,SAAS;gBACb,MAAM,EAAG,QAA6B,CAAC,MAAM;aAC9C,CAAC,CAAA;SACH;QACD,wBAAwB;QACxB,iBAAiB,EAAE,CAAA;QACnB,mCAAmC;QACnC,KACE,iBAAiB,EACjB,iBAAiB,GAAG,aAAa,EACjC,iBAAiB,EAAE,EACnB;YACA,IAAA,YAAK,EAAC,iBAAiB,iBAAiB,mBAAmB,CAAC,CAAA;YAE5D,MAAM,EAAC,IAAI,EAAE,oBAAoB,EAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CACvD,2DAA2D,EAC3D;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,aAAa;gBACrB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE,iBAAiB;aACxB,CACF,CAAA;YAED,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,SAAS,EAAE;gBACrD,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,IAAI,EAAE,QAAQ,CAAC,aAAa;oBAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU;wBAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC/B,CAAC,CAAC,SAAS;oBACb,MAAM,EAAG,QAA6B,CAAC,MAAM;iBAC9C,CAAC,CAAA;aACH;SACF;QAED,IAAI,MAAM,EAAE;YACV,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;SACpC;QAED,IAAA,WAAI,EAAC,SAAS,SAAS,CAAC,MAAM,cAAc,CAAC,CAAA;QAE7C,OAAO;YACL,SAAS;SACV,CAAA;IACH,CAAC;CAAA;AAvGD,kDAuGC;AAED,SAAsB,qBAAqB,CACzC,MAAM,GAAG,KAAK;;QAEd,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,MAAM,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,GACnD,IAAA,6BAAsB,GAAE,CAAA;QAE1B,MAAM,GAAG,GAAyB;YAChC,oBAAoB;YACpB,uBAAuB;SACxB,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,SAAS,GAAe,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;;YAAC,OAAA,CAAC;gBACzD,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC3B,CAAC,CAAC,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACtC,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,MAAA,QAAQ,CAAC,MAAM,0CAAE,KAAK;aAC/B,CAAC,CAAA;SAAA,CAAC,CAAA;QAEH,IAAI,MAAM,EAAE;YACV,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;SACpC;QAED,IAAA,WAAI,EAAC,SAAS,SAAS,CAAC,MAAM,cAAc,CAAC,CAAA;QAE7C,OAAO;YACL,SAAS;SACV,CAAA;IACH,CAAC;CAAA;AAjCD,sDAiCC;AAcD;;;;GAIG;AACH,SAAS,YAAY,CAAC,SAAqB;IACzC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IACrC,MAAM,eAAe,GAAe,EAAE,CAAA;IACtC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9B,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SACrC;KACF;IACD,OAAO,eAAe,CAAA;AACxB,CAAC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/shared/config.js b/node_modules/@actions/artifact/lib/internal/shared/config.js index 96be39c6e1..a7cd81444f 100644 --- a/node_modules/@actions/artifact/lib/internal/shared/config.js +++ b/node_modules/@actions/artifact/lib/internal/shared/config.js @@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.getUploadChunkTimeout = exports.getConcurrency = exports.getGitHubWorkspaceDir = exports.isGhes = exports.getResultsServiceUrl = exports.getRuntimeToken = exports.getUploadChunkSize = void 0; const os_1 = __importDefault(require("os")); +const core_1 = require("@actions/core"); // Used for controlling the highWaterMark value of the zip that is being streamed // The same value is used as the chunk size that is use during upload to blob storage function getUploadChunkSize() { @@ -44,20 +45,42 @@ function getGitHubWorkspaceDir() { return ghWorkspaceDir; } exports.getGitHubWorkspaceDir = getGitHubWorkspaceDir; -// Mimics behavior of azcopy: https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-optimize -// If your machine has fewer than 5 CPUs, then the value of this variable is set to 32. -// Otherwise, the default value is equal to 16 multiplied by the number of CPUs. The maximum value of this variable is 300. +// The maximum value of concurrency is 300. +// This value can be changed with ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY variable. function getConcurrency() { const numCPUs = os_1.default.cpus().length; - if (numCPUs <= 4) { - return 32; + let concurrencyCap = 32; + if (numCPUs > 4) { + const concurrency = 16 * numCPUs; + concurrencyCap = concurrency > 300 ? 300 : concurrency; } - const concurrency = 16 * numCPUs; - return concurrency > 300 ? 300 : concurrency; + const concurrencyOverride = process.env['ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY']; + if (concurrencyOverride) { + const concurrency = parseInt(concurrencyOverride); + if (isNaN(concurrency) || concurrency < 1) { + throw new Error('Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable'); + } + if (concurrency < concurrencyCap) { + (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`); + return concurrency; + } + (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`); + return concurrencyCap; + } + // default concurrency to 5 + return 5; } exports.getConcurrency = getConcurrency; function getUploadChunkTimeout() { - return 30000; // 30 seconds + const timeoutVar = process.env['ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS']; + if (!timeoutVar) { + return 300000; // 5 minutes + } + const timeout = parseInt(timeoutVar); + if (isNaN(timeout)) { + throw new Error('Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable'); + } + return timeout; } exports.getUploadChunkTimeout = getUploadChunkTimeout; //# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/shared/config.js.map b/node_modules/@actions/artifact/lib/internal/shared/config.js.map index f9546e8ee7..0ac6922162 100644 --- a/node_modules/@actions/artifact/lib/internal/shared/config.js.map +++ b/node_modules/@actions/artifact/lib/internal/shared/config.js.map @@ -1 +1 @@ -{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/internal/shared/config.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEnB,iFAAiF;AACjF,qFAAqF;AACrF,SAAgB,kBAAkB;IAChC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,cAAc;AACvC,CAAC;AAFD,gDAEC;AAED,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;KACxE;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAND,0CAMC;AAED,SAAgB,oBAAoB;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;KACtE;IAED,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA;AACnC,CAAC;AAPD,oDAOC;AAED,SAAgB,MAAM;IACpB,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,oBAAoB,CACzD,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAA;IACvD,MAAM,YAAY,GAAG,QAAQ,KAAK,YAAY,CAAA;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAEnD,OAAO,CAAC,YAAY,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,CAAA;AACpD,CAAC;AAXD,wBAWC;AAED,SAAgB,qBAAqB;IACnC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACtD,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAND,sDAMC;AAED,gHAAgH;AAChH,uFAAuF;AACvF,2HAA2H;AAC3H,SAAgB,cAAc;IAC5B,MAAM,OAAO,GAAG,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;IAEhC,IAAI,OAAO,IAAI,CAAC,EAAE;QAChB,OAAO,EAAE,CAAA;KACV;IAED,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAA;IAChC,OAAO,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAA;AAC9C,CAAC;AATD,wCASC;AAED,SAAgB,qBAAqB;IACnC,OAAO,KAAM,CAAA,CAAC,aAAa;AAC7B,CAAC;AAFD,sDAEC"} \ No newline at end of file +{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/internal/shared/config.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AACnB,wCAAkC;AAElC,iFAAiF;AACjF,qFAAqF;AACrF,SAAgB,kBAAkB;IAChC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,cAAc;AACvC,CAAC;AAFD,gDAEC;AAED,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;KACxE;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAND,0CAMC;AAED,SAAgB,oBAAoB;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;KACtE;IAED,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA;AACnC,CAAC;AAPD,oDAOC;AAED,SAAgB,MAAM;IACpB,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,oBAAoB,CACzD,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAA;IACvD,MAAM,YAAY,GAAG,QAAQ,KAAK,YAAY,CAAA;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAEnD,OAAO,CAAC,YAAY,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,CAAA;AACpD,CAAC;AAXD,wBAWC;AAED,SAAgB,qBAAqB;IACnC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACtD,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAND,sDAMC;AAED,2CAA2C;AAC3C,+EAA+E;AAC/E,SAAgB,cAAc;IAC5B,MAAM,OAAO,GAAG,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;IAChC,IAAI,cAAc,GAAG,EAAE,CAAA;IAEvB,IAAI,OAAO,GAAG,CAAC,EAAE;QACf,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAA;QAChC,cAAc,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAA;KACvD;IAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;IAC9E,IAAI,mBAAmB,EAAE;QACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACjD,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;SACF;QAED,IAAI,WAAW,GAAG,cAAc,EAAE;YAChC,IAAA,WAAI,EACF,gFAAgF,CACjF,CAAA;YACD,OAAO,WAAW,CAAA;SACnB;QAED,IAAA,WAAI,EACF,iEAAiE,cAAc,oEAAoE,CACpJ,CAAA;QACD,OAAO,cAAc,CAAA;KACtB;IAED,2BAA2B;IAC3B,OAAO,CAAC,CAAA;AACV,CAAC;AAjCD,wCAiCC;AAED,SAAgB,qBAAqB;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;IACpE,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,MAAM,CAAA,CAAC,YAAY;KAC3B;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAA;KACF;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAdD,sDAcC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/shared/interfaces.d.ts b/node_modules/@actions/artifact/lib/internal/shared/interfaces.d.ts index a646118231..b6a2b66ed5 100644 --- a/node_modules/@actions/artifact/lib/internal/shared/interfaces.d.ts +++ b/node_modules/@actions/artifact/lib/internal/shared/interfaces.d.ts @@ -11,6 +11,10 @@ export interface UploadArtifactResponse { * This ID can be used as input to other APIs to download, delete or get more information about an artifact: https://docs.github.com/en/rest/actions/artifacts */ id?: number; + /** + * The SHA256 digest of the artifact that was created. Not provided if no artifact was uploaded + */ + digest?: string; } /** * Options for uploading an artifact @@ -80,6 +84,10 @@ export interface DownloadArtifactResponse { * The path where the artifact was downloaded to */ downloadPath?: string; + /** + * Returns true if the digest of the downloaded artifact does not match the expected hash + */ + digestMismatch?: boolean; } /** * Options for downloading an artifact @@ -89,6 +97,18 @@ export interface DownloadArtifactOptions { * Denotes where the artifact will be downloaded to. If not specified then the artifact is download to GITHUB_WORKSPACE */ path?: string; + /** + * The hash that was computed for the artifact during upload. If provided, the outcome of the download + * will provide a digestMismatch property indicating whether the hash of the downloaded artifact + * matches the expected hash. + */ + expectedHash?: string; +} +export interface StreamExtractResponse { + /** + * The SHA256 hash of the downloaded file + */ + sha256Digest?: string; } /** * An Actions Artifact @@ -110,6 +130,10 @@ export interface Artifact { * The time when the artifact was created */ createdAt?: Date; + /** + * The digest of the artifact, computed at time of upload. + */ + digest?: string; } export interface FindOptions { /** diff --git a/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js b/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js index 1aa3d3f833..151f7fbbc9 100644 --- a/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js +++ b/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js @@ -95,6 +95,7 @@ function uploadArtifact(name, files, rootDirectory, options) { core.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`); return { size: uploadResult.uploadSize, + digest: uploadResult.sha256Hash, id: Number(artifactId) }; }); diff --git a/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js.map b/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js.map index d6e84f6fbc..352bb0fe5f 100644 --- a/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js.map +++ b/node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js.map @@ -1 +1 @@ -{"version":3,"file":"upload-artifact.js","sourceRoot":"","sources":["../../../src/internal/upload/upload-artifact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAKrC,2CAAyC;AACzC,2FAAwE;AACxE,2EAA2E;AAC3E,yEAImC;AACnC,yCAAqD;AACrD,+CAAoD;AACpD,+BAA2C;AAC3C,+CAIwB;AACxB,6CAAyE;AAEzE,SAAsB,cAAc,CAClC,IAAY,EACZ,KAAe,EACf,aAAqB,EACrB,OAA2C;;QAE3C,IAAA,wDAAoB,EAAC,IAAI,CAAC,CAAA;QAC1B,IAAA,gDAAqB,EAAC,aAAa,CAAC,CAAA;QAEpC,MAAM,gBAAgB,GAA6B,IAAA,oDAAyB,EAC1E,KAAK,EACL,aAAa,CACd,CAAA;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,IAAI,2BAAkB,CAC1B,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpE,CAAA;SACF;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAA,6BAAsB,GAAE,CAAA;QAE3C,6BAA6B;QAC7B,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,sBAAsB;QACtB,MAAM,iBAAiB,GAA0B;YAC/C,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;YACrD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;YAC3D,IAAI;YACJ,OAAO,EAAE,CAAC;SACX,CAAA;QAED,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,CAAA;QACvD,IAAI,SAAS,EAAE;YACb,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAA;SACxC;QAED,MAAM,kBAAkB,GACtB,MAAM,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;QACxD,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,6BAAoB,CAC5B,kDAAkD,CACnD,CAAA;SACF;QAED,MAAM,eAAe,GAAG,MAAM,IAAA,2BAAqB,EACjD,gBAAgB,EAChB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAC1B,CAAA;QAED,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAA,oCAAsB,EAC/C,kBAAkB,CAAC,eAAe,EAClC,eAAe,CAChB,CAAA;QAED,wBAAwB;QACxB,MAAM,mBAAmB,GAA4B;YACnD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;YACrD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;YAC3D,IAAI;YACJ,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;SACzE,CAAA;QAED,IAAI,YAAY,CAAC,UAAU,EAAE;YAC3B,mBAAmB,CAAC,IAAI,GAAG,uBAAW,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,UAAU,YAAY,CAAC,UAAU,EAAE;aAC3C,CAAC,CAAA;SACH;QAED,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QAEvC,MAAM,oBAAoB,GACxB,MAAM,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;QAC5D,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE;YAC5B,MAAM,IAAI,6BAAoB,CAC5B,oDAAoD,CACrD,CAAA;SACF;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CACP,YAAY,IAAI,4CAA4C,UAAU,EAAE,CACzE,CAAA;QAED,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,UAAU;YAC7B,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC;SACvB,CAAA;IACH,CAAC;CAAA;AA3FD,wCA2FC"} \ No newline at end of file +{"version":3,"file":"upload-artifact.js","sourceRoot":"","sources":["../../../src/internal/upload/upload-artifact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAKrC,2CAAyC;AACzC,2FAAwE;AACxE,2EAA2E;AAC3E,yEAImC;AACnC,yCAAqD;AACrD,+CAAoD;AACpD,+BAA2C;AAC3C,+CAIwB;AACxB,6CAAyE;AAEzE,SAAsB,cAAc,CAClC,IAAY,EACZ,KAAe,EACf,aAAqB,EACrB,OAA2C;;QAE3C,IAAA,wDAAoB,EAAC,IAAI,CAAC,CAAA;QAC1B,IAAA,gDAAqB,EAAC,aAAa,CAAC,CAAA;QAEpC,MAAM,gBAAgB,GAA6B,IAAA,oDAAyB,EAC1E,KAAK,EACL,aAAa,CACd,CAAA;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,IAAI,2BAAkB,CAC1B,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpE,CAAA;SACF;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAA,6BAAsB,GAAE,CAAA;QAE3C,6BAA6B;QAC7B,MAAM,cAAc,GAAG,IAAA,mDAA2B,GAAE,CAAA;QAEpD,sBAAsB;QACtB,MAAM,iBAAiB,GAA0B;YAC/C,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;YACrD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;YAC3D,IAAI;YACJ,OAAO,EAAE,CAAC;SACX,CAAA;QAED,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,CAAA;QACvD,IAAI,SAAS,EAAE;YACb,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAA;SACxC;QAED,MAAM,kBAAkB,GACtB,MAAM,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;QACxD,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,6BAAoB,CAC5B,kDAAkD,CACnD,CAAA;SACF;QAED,MAAM,eAAe,GAAG,MAAM,IAAA,2BAAqB,EACjD,gBAAgB,EAChB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAC1B,CAAA;QAED,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAA,oCAAsB,EAC/C,kBAAkB,CAAC,eAAe,EAClC,eAAe,CAChB,CAAA;QAED,wBAAwB;QACxB,MAAM,mBAAmB,GAA4B;YACnD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;YACrD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;YAC3D,IAAI;YACJ,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;SACzE,CAAA;QAED,IAAI,YAAY,CAAC,UAAU,EAAE;YAC3B,mBAAmB,CAAC,IAAI,GAAG,uBAAW,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,UAAU,YAAY,CAAC,UAAU,EAAE;aAC3C,CAAC,CAAA;SACH;QAED,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QAEvC,MAAM,oBAAoB,GACxB,MAAM,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;QAC5D,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE;YAC5B,MAAM,IAAI,6BAAoB,CAC5B,oDAAoD,CACrD,CAAA;SACF;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CACP,YAAY,IAAI,4CAA4C,UAAU,EAAE,CACzE,CAAA;QAED,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,UAAU;YAC7B,MAAM,EAAE,YAAY,CAAC,UAAU;YAC/B,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC;SACvB,CAAA;IACH,CAAC;CAAA;AA5FD,wCA4FC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.d.ts b/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.d.ts index 8e17d26ed1..830945468d 100644 --- a/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.d.ts +++ b/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.d.ts @@ -1,3 +1,5 @@ +/// +import * as fs from 'fs'; export interface UploadZipSpecification { /** * An absolute source path that points to a file that will be added to a zip. Null if creating a new directory @@ -7,6 +9,11 @@ export interface UploadZipSpecification { * The destination path in a zip for a file */ destinationPath: string; + /** + * Information about the file + * https://nodejs.org/api/fs.html#class-fsstats + */ + stats: fs.Stats; } /** * Checks if a root directory exists and is valid diff --git a/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js b/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js index 58bcdd3546..bc6e47b364 100644 --- a/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js +++ b/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js @@ -79,10 +79,11 @@ function getUploadZipSpecification(filesToZip, rootDirectory) { - file3.txt */ for (let file of filesToZip) { - if (!fs.existsSync(file)) { + const stats = fs.lstatSync(file, { throwIfNoEntry: false }); + if (!stats) { throw new Error(`File ${file} does not exist`); } - if (!fs.statSync(file).isDirectory()) { + if (!stats.isDirectory()) { // Normalize and resolve, this allows for either absolute or relative paths to be used file = (0, path_1.normalize)(file); file = (0, path_1.resolve)(file); @@ -94,7 +95,8 @@ function getUploadZipSpecification(filesToZip, rootDirectory) { (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath); specification.push({ sourcePath: file, - destinationPath: uploadPath + destinationPath: uploadPath, + stats }); } else { @@ -103,7 +105,8 @@ function getUploadZipSpecification(filesToZip, rootDirectory) { (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath); specification.push({ sourcePath: null, - destinationPath: directoryPath + destinationPath: directoryPath, + stats }); } } diff --git a/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js.map b/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js.map index d63ded7f8b..3b83284431 100644 --- a/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js.map +++ b/node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js.map @@ -1 +1 @@ -{"version":3,"file":"upload-zip-specification.js","sourceRoot":"","sources":["../../../src/internal/upload/upload-zip-specification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,wCAAkC;AAClC,+BAAuC;AACvC,2FAAoE;AAcpE;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,aAAqB;IACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,8BAA8B,aAAa,iBAAiB,CAC7D,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb,8BAA8B,aAAa,2BAA2B,CACvE,CAAA;KACF;IACD,IAAA,WAAI,EAAC,gCAAgC,CAAC,CAAA;AACxC,CAAC;AAZD,sDAYC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CACvC,UAAoB,EACpB,aAAqB;IAErB,MAAM,aAAa,GAA6B,EAAE,CAAA;IAElD,sFAAsF;IACtF,aAAa,GAAG,IAAA,gBAAS,EAAC,aAAa,CAAC,CAAA;IACxC,aAAa,GAAG,IAAA,cAAO,EAAC,aAAa,CAAC,CAAA;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;MAyBE;IACF,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACpC,sFAAsF;YACtF,IAAI,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAA;YACtB,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAA;YACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gBACnC,MAAM,IAAI,KAAK,CACb,sBAAsB,aAAa,2CAA2C,IAAI,EAAE,CACrF,CAAA;aACF;YAED,yHAAyH;YACzH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YAClD,IAAA,oDAAgB,EAAC,UAAU,CAAC,CAAA;YAE5B,aAAa,CAAC,IAAI,CAAC;gBACjB,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAA;SACH;aAAM;YACL,kBAAkB;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YACrD,IAAA,oDAAgB,EAAC,aAAa,CAAC,CAAA;YAE/B,aAAa,CAAC,IAAI,CAAC;gBACjB,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,aAAa;aAC/B,CAAC,CAAA;SACH;KACF;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAtED,8DAsEC"} \ No newline at end of file +{"version":3,"file":"upload-zip-specification.js","sourceRoot":"","sources":["../../../src/internal/upload/upload-zip-specification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,wCAAkC;AAClC,+BAAuC;AACvC,2FAAoE;AAoBpE;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,aAAqB;IACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,8BAA8B,aAAa,iBAAiB,CAC7D,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb,8BAA8B,aAAa,2BAA2B,CACvE,CAAA;KACF;IACD,IAAA,WAAI,EAAC,gCAAgC,CAAC,CAAA;AACxC,CAAC;AAZD,sDAYC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CACvC,UAAoB,EACpB,aAAqB;IAErB,MAAM,aAAa,GAA6B,EAAE,CAAA;IAElD,sFAAsF;IACtF,aAAa,GAAG,IAAA,gBAAS,EAAC,aAAa,CAAC,CAAA;IACxC,aAAa,GAAG,IAAA,cAAO,EAAC,aAAa,CAAC,CAAA;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;MAyBE;IACF,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACxB,sFAAsF;YACtF,IAAI,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAA;YACtB,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAA;YACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gBACnC,MAAM,IAAI,KAAK,CACb,sBAAsB,aAAa,2CAA2C,IAAI,EAAE,CACrF,CAAA;aACF;YAED,yHAAyH;YACzH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YAClD,IAAA,oDAAgB,EAAC,UAAU,CAAC,CAAA;YAE5B,aAAa,CAAC,IAAI,CAAC;gBACjB,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAA;SACH;aAAM;YACL,kBAAkB;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YACrD,IAAA,oDAAgB,EAAC,aAAa,CAAC,CAAA;YAE/B,aAAa,CAAC,IAAI,CAAC;gBACjB,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,aAAa;gBAC9B,KAAK;aACN,CAAC,CAAA;SACH;KACF;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAzED,8DAyEC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/upload/zip.js b/node_modules/@actions/artifact/lib/internal/upload/zip.js index 80011483f7..bba63bb6a8 100644 --- a/node_modules/@actions/artifact/lib/internal/upload/zip.js +++ b/node_modules/@actions/artifact/lib/internal/upload/zip.js @@ -34,6 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge Object.defineProperty(exports, "__esModule", { value: true }); exports.createZipUploadStream = exports.ZipUploadStream = exports.DEFAULT_COMPRESSION_LEVEL = void 0; const stream = __importStar(require("stream")); +const promises_1 = require("fs/promises"); const archiver = __importStar(require("archiver")); const core = __importStar(require("@actions/core")); const config_1 = require("../shared/config"); @@ -66,8 +67,13 @@ function createZipUploadStream(uploadSpecification, compressionLevel = exports.D zip.on('end', zipEndCallback); for (const file of uploadSpecification) { if (file.sourcePath !== null) { - // Add a normal file to the zip - zip.file(file.sourcePath, { + // Check if symlink and resolve the source path + let sourcePath = file.sourcePath; + if (file.stats.isSymbolicLink()) { + sourcePath = yield (0, promises_1.realpath)(file.sourcePath); + } + // Add the file to the zip + zip.file(sourcePath, { name: file.destinationPath }); } diff --git a/node_modules/@actions/artifact/lib/internal/upload/zip.js.map b/node_modules/@actions/artifact/lib/internal/upload/zip.js.map index f0ac96d169..35b8076496 100644 --- a/node_modules/@actions/artifact/lib/internal/upload/zip.js.map +++ b/node_modules/@actions/artifact/lib/internal/upload/zip.js.map @@ -1 +1 @@ -{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/internal/upload/zip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAChC,mDAAoC;AACpC,oDAAqC;AAErC,6CAAmD;AAEtC,QAAA,yBAAyB,GAAG,CAAC,CAAA;AAE1C,qEAAqE;AACrE,iDAAiD;AACjD,MAAa,eAAgB,SAAQ,MAAM,CAAC,SAAS;IACnD,YAAY,UAAkB;QAC5B,KAAK,CAAC;YACJ,aAAa,EAAE,UAAU;SAC1B,CAAC,CAAA;IACJ,CAAC;IAED,8DAA8D;IAC9D,UAAU,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAO;QACtC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjB,CAAC;CACF;AAXD,0CAWC;AAED,SAAsB,qBAAqB,CACzC,mBAA6C,EAC7C,mBAA2B,iCAAyB;;QAEpD,IAAI,CAAC,KAAK,CACR,oDAAoD,gBAAgB,EAAE,CACvE,CAAA;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE;YACjC,aAAa,EAAE,IAAA,2BAAkB,GAAE;YACnC,IAAI,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAC;SAChC,CAAC,CAAA;QAEF,iEAAiE;QACjE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QACjC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QACrC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;QACnC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QAE7B,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;YACtC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC5B,+BAA+B;gBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,IAAI,CAAC,eAAe;iBAC3B,CAAC,CAAA;aACH;iBAAM;gBACL,6BAA6B;gBAC7B,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAC,CAAC,CAAA;aAC7C;SACF;QAED,MAAM,UAAU,GAAG,IAAA,2BAAkB,GAAE,CAAA;QACvC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAA;QAEvD,IAAI,CAAC,KAAK,CACR,kCAAkC,eAAe,CAAC,qBAAqB,EAAE,CAC1E,CAAA;QACD,IAAI,CAAC,KAAK,CACR,iCAAiC,eAAe,CAAC,qBAAqB,EAAE,CACzE,CAAA;QAED,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACzB,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEd,OAAO,eAAe,CAAA;IACxB,CAAC;CAAA;AA7CD,sDA6CC;AAED,8DAA8D;AAC9D,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAQ,EAAE;IAC5C,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;IAC1E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEhB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;AAC/E,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,kBAAkB,GAAG,CAAC,KAAU,EAAQ,EAAE;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3B,IAAI,CAAC,OAAO,CACV,wEAAwE,CACzE,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACjB;SAAM;QACL,IAAI,CAAC,OAAO,CACV,qEAAqE,KAAK,CAAC,IAAI,EAAE,CAClF,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACjB;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,GAAS,EAAE;IACnC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;AACnD,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,GAAS,EAAE;IAChC,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;AAChD,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/internal/upload/zip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAChC,0CAAoC;AACpC,mDAAoC;AACpC,oDAAqC;AAErC,6CAAmD;AAEtC,QAAA,yBAAyB,GAAG,CAAC,CAAA;AAE1C,qEAAqE;AACrE,iDAAiD;AACjD,MAAa,eAAgB,SAAQ,MAAM,CAAC,SAAS;IACnD,YAAY,UAAkB;QAC5B,KAAK,CAAC;YACJ,aAAa,EAAE,UAAU;SAC1B,CAAC,CAAA;IACJ,CAAC;IAED,8DAA8D;IAC9D,UAAU,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAO;QACtC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjB,CAAC;CACF;AAXD,0CAWC;AAED,SAAsB,qBAAqB,CACzC,mBAA6C,EAC7C,mBAA2B,iCAAyB;;QAEpD,IAAI,CAAC,KAAK,CACR,oDAAoD,gBAAgB,EAAE,CACvE,CAAA;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE;YACjC,aAAa,EAAE,IAAA,2BAAkB,GAAE;YACnC,IAAI,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAC;SAChC,CAAC,CAAA;QAEF,iEAAiE;QACjE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QACjC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QACrC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;QACnC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QAE7B,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;YACtC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC5B,+CAA+C;gBAC/C,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBAChC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE;oBAC/B,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;iBAC7C;gBAED,0BAA0B;gBAC1B,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,EAAE,IAAI,CAAC,eAAe;iBAC3B,CAAC,CAAA;aACH;iBAAM;gBACL,6BAA6B;gBAC7B,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAC,CAAC,CAAA;aAC7C;SACF;QAED,MAAM,UAAU,GAAG,IAAA,2BAAkB,GAAE,CAAA;QACvC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAA;QAEvD,IAAI,CAAC,KAAK,CACR,kCAAkC,eAAe,CAAC,qBAAqB,EAAE,CAC1E,CAAA;QACD,IAAI,CAAC,KAAK,CACR,iCAAiC,eAAe,CAAC,qBAAqB,EAAE,CACzE,CAAA;QAED,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACzB,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEd,OAAO,eAAe,CAAA;IACxB,CAAC;CAAA;AAnDD,sDAmDC;AAED,8DAA8D;AAC9D,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAQ,EAAE;IAC5C,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;IAC1E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEhB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;AAC/E,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,kBAAkB,GAAG,CAAC,KAAU,EAAQ,EAAE;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3B,IAAI,CAAC,OAAO,CACV,wEAAwE,CACzE,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACjB;SAAM;QACL,IAAI,CAAC,OAAO,CACV,qEAAqE,KAAK,CAAC,IAAI,EAAE,CAClF,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACjB;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,GAAS,EAAE;IACnC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;AACnD,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,GAAS,EAAE;IAChC,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;AAChD,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@actions/artifact/node_modules/@actions/github/LICENSE.md similarity index 95% rename from node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/LICENSE rename to node_modules/@actions/artifact/node_modules/@actions/github/LICENSE.md index c61fbbe5ae..dbae2edb2c 100644 --- a/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/LICENSE +++ b/node_modules/@actions/artifact/node_modules/@actions/github/LICENSE.md @@ -1,4 +1,6 @@ -Copyright 2020 Gregor Martynus +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: diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/README.md b/node_modules/@actions/artifact/node_modules/@actions/github/README.md new file mode 100644 index 0000000000..30e6a68ed0 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/README.md @@ -0,0 +1,98 @@ +# `@actions/github` + +> A hydrated Octokit client. + +## Usage + +Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners) and correctly sets GHES base urls. See https://octokit.github.io/rest.js for the API. + +```js +const github = require('@actions/github'); +const core = require('@actions/core'); + +async function run() { + // This should be a token with access to your repository scoped in as a secret. + // The YML workflow will need to set myToken with the GitHub Secret Token + // myToken: ${{ secrets.GITHUB_TOKEN }} + // https://help.github.com/en/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token#about-the-github_token-secret + const myToken = core.getInput('myToken'); + + const octokit = github.getOctokit(myToken) + + // You can also pass in additional options as a second parameter to getOctokit + // const octokit = github.getOctokit(myToken, {userAgent: "MyActionVersion1"}); + + const { data: pullRequest } = await octokit.rest.pulls.get({ + owner: 'octokit', + repo: 'rest.js', + pull_number: 123, + mediaType: { + format: 'diff' + } + }); + + console.log(pullRequest); +} + +run(); +``` + +You can also make GraphQL requests. See https://github.com/octokit/graphql.js for the API. + +```js +const result = await octokit.graphql(query, variables); +``` + +Finally, you can get the context of the current action: + +```js +const github = require('@actions/github'); + +const context = github.context; + +const newIssue = await octokit.rest.issues.create({ + ...context.repo, + title: 'New issue!', + body: 'Hello Universe!' +}); +``` + +## Webhook payload typescript definitions + +The npm module `@octokit/webhooks-definitions` provides type definitions for the response payloads. You can cast the payload to these types for better type information. + +First, install the npm module `npm install @octokit/webhooks-definitions` + +Then, assert the type based on the eventName +```ts +import * as core from '@actions/core' +import * as github from '@actions/github' +import {PushEvent} from '@octokit/webhooks-definitions/schema' + +if (github.context.eventName === 'push') { + const pushPayload = github.context.payload as PushEvent + core.info(`The head commit is: ${pushPayload.head_commit}`) +} +``` + +## Extending the Octokit instance +`@octokit/core` now supports the [plugin architecture](https://github.com/octokit/core.js#plugins). You can extend the GitHub instance using plugins. + +For example, using the `@octokit/plugin-enterprise-server` you can now access enterprise admin apis on GHES instances. + +```ts +import { GitHub, getOctokitOptions } from '@actions/github/lib/utils' +import { enterpriseServer220Admin } from '@octokit/plugin-enterprise-server' + +const octokit = GitHub.plugin(enterpriseServer220Admin) +// or override some of the default values as well +// const octokit = GitHub.plugin(enterpriseServer220Admin).defaults({userAgent: "MyNewUserAgent"}) + +const myToken = core.getInput('myToken'); +const myOctokit = new octokit(getOctokitOptions(token)) +// Create a new user +myOctokit.rest.enterpriseAdmin.createUser({ + login: "testuser", + email: "testuser@test.com", +}); +``` diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.d.ts b/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.d.ts new file mode 100644 index 0000000000..7d3a7de44e --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.d.ts @@ -0,0 +1,32 @@ +import { WebhookPayload } from './interfaces'; +export declare class Context { + /** + * Webhook payload object that triggered the workflow + */ + payload: WebhookPayload; + eventName: string; + sha: string; + ref: string; + workflow: string; + action: string; + actor: string; + job: string; + runNumber: number; + runId: number; + apiUrl: string; + serverUrl: string; + graphqlUrl: string; + /** + * Hydrate the context from the environment + */ + constructor(); + get issue(): { + owner: string; + repo: string; + number: number; + }; + get repo(): { + owner: string; + repo: string; + }; +} diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js b/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js new file mode 100644 index 0000000000..767933ce05 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Context = void 0; +const fs_1 = require("fs"); +const os_1 = require("os"); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + var _a, _b, _c; + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); + this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; + this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; + this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; + } + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } +} +exports.Context = Context; +//# sourceMappingURL=context.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js.map b/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js.map new file mode 100644 index 0000000000..91fb9a9d5b --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAmBlB;;OAEG;IACH;;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,eAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;QAC/C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAA2B,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAuB,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,SAAG,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,wBAAwB,CAAA;QACpE,IAAI,CAAC,SAAS,SAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,mCAAI,oBAAoB,CAAA;QACtE,IAAI,CAAC,UAAU,SACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,mCAAI,gCAAgC,CAAA;IACtE,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AA3ED,0BA2EC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.d.ts b/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.d.ts new file mode 100644 index 0000000000..8c2121d2f6 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.d.ts @@ -0,0 +1,11 @@ +import * as Context from './context'; +import { GitHub } from './utils'; +import { OctokitOptions, OctokitPlugin } from '@octokit/core/dist-types/types'; +export declare const context: Context.Context; +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +export declare function getOctokit(token: string, options?: OctokitOptions, ...additionalPlugins: OctokitPlugin[]): InstanceType; diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js b/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js new file mode 100644 index 0000000000..b717a6b4a8 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js @@ -0,0 +1,37 @@ +"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; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOctokit = exports.context = void 0; +const Context = __importStar(require("./context")); +const utils_1 = require("./utils"); +exports.context = new Context.Context(); +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokit(token, options, ...additionalPlugins) { + const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); + return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options)); +} +exports.getOctokit = getOctokit; +//# sourceMappingURL=github.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js.map b/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js.map new file mode 100644 index 0000000000..60be74b5c6 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/github.js.map @@ -0,0 +1 @@ +{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mCAAiD;AAKpC,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,KAAa,EACb,OAAwB,EACxB,GAAG,iBAAkC;IAErC,MAAM,iBAAiB,GAAG,cAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC7D,OAAO,IAAI,iBAAiB,CAAC,yBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAPD,gCAOC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.d.ts b/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.d.ts new file mode 100644 index 0000000000..f81033325e --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.d.ts @@ -0,0 +1,40 @@ +export interface PayloadRepository { + [key: string]: any; + full_name?: string; + name: string; + owner: { + [key: string]: any; + login: string; + name?: string; + }; + html_url?: string; +} +export interface WebhookPayload { + [key: string]: any; + repository?: PayloadRepository; + issue?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + pull_request?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + sender?: { + [key: string]: any; + type: string; + }; + action?: string; + installation?: { + id: number; + [key: string]: any; + }; + comment?: { + id: number; + [key: string]: any; + }; +} diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js b/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js new file mode 100644 index 0000000000..a660b5e305 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js @@ -0,0 +1,4 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js.map b/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js.map new file mode 100644 index 0000000000..dc2c9609fa --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,uDAAuD"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.d.ts b/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.d.ts new file mode 100644 index 0000000000..5790d91f06 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.d.ts @@ -0,0 +1,6 @@ +/// +import * as http from 'http'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; +export declare function getAuthString(token: string, options: OctokitOptions): string | undefined; +export declare function getProxyAgent(destinationUrl: string): http.Agent; +export declare function getApiBaseUrl(): string; diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js b/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js new file mode 100644 index 0000000000..175a4daeba --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js @@ -0,0 +1,43 @@ +"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; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; +const httpClient = __importStar(require("@actions/http-client")); +function getAuthString(token, options) { + if (!token && !options.auth) { + throw new Error('Parameter token or opts.auth is required'); + } + else if (token && options.auth) { + throw new Error('Parameters token and opts.auth may not both be specified'); + } + return typeof options.auth === 'string' ? options.auth : `token ${token}`; +} +exports.getAuthString = getAuthString; +function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); +} +exports.getProxyAgent = getProxyAgent; +function getApiBaseUrl() { + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; +} +exports.getApiBaseUrl = getApiBaseUrl; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js.map b/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js.map new file mode 100644 index 0000000000..f1f519d5f3 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,iEAAkD;AAGlD,SAAgB,aAAa,CAC3B,KAAa,EACb,OAAuB;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;SAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;KAC5E;IAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;AAC3E,CAAC;AAXD,sCAWC;AAED,SAAgB,aAAa,CAAC,cAAsB;IAClD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAHD,sCAGC;AAED,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,CAAA;AAClE,CAAC;AAFD,sCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.d.ts b/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.d.ts new file mode 100644 index 0000000000..e889ee0ed4 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.d.ts @@ -0,0 +1,15 @@ +import * as Context from './context'; +import { Octokit } from '@octokit/core'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; +export declare const context: Context.Context; +export declare const defaults: OctokitOptions; +export declare const GitHub: typeof Octokit & import("@octokit/core/dist-types/types").Constructor; +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +export declare function getOctokitOptions(token: string, options?: OctokitOptions): OctokitOptions; diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js b/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js new file mode 100644 index 0000000000..d803f019ff --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js @@ -0,0 +1,54 @@ +"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; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; +const Context = __importStar(require("./context")); +const Utils = __importStar(require("./internal/utils")); +// octokit + plugins +const core_1 = require("@octokit/core"); +const plugin_rest_endpoint_methods_1 = require("@octokit/plugin-rest-endpoint-methods"); +const plugin_paginate_rest_1 = require("@octokit/plugin-paginate-rest"); +exports.context = new Context.Context(); +const baseUrl = Utils.getApiBaseUrl(); +exports.defaults = { + baseUrl, + request: { + agent: Utils.getProxyAgent(baseUrl) + } +}; +exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokitOptions(token, options) { + const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller + // Auth + const auth = Utils.getAuthString(token, opts); + if (auth) { + opts.auth = auth; + } + return opts; +} +exports.getOctokitOptions = getOctokitOptions; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js.map b/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js.map new file mode 100644 index 0000000000..7221d06878 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,wDAAyC;AAEzC,oBAAoB;AACpB,wCAAqC;AAErC,wFAAyE;AACzE,wEAA0D;AAE7C,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;AACxB,QAAA,QAAQ,GAAmB;IACtC,OAAO;IACP,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;KACpC;CACF,CAAA;AAEY,QAAA,MAAM,GAAG,cAAO,CAAC,MAAM,CAClC,kDAAmB,EACnB,mCAAY,CACb,CAAC,QAAQ,CAAC,gBAAQ,CAAC,CAAA;AAEpB;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA,CAAC,iEAAiE;IAE/G,OAAO;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7C,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,8CAaC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/github/package.json b/node_modules/@actions/artifact/node_modules/@actions/github/package.json new file mode 100644 index 0000000000..3bcbe30c06 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@actions/github/package.json @@ -0,0 +1,49 @@ +{ + "name": "@actions/github", + "version": "5.1.1", + "description": "Actions github lib", + "keywords": [ + "github", + "actions" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/github", + "license": "MIT", + "main": "lib/github.js", + "types": "lib/github.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/github" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "jest", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + }, + "devDependencies": { + "proxy": "^1.0.2" + } +} diff --git a/node_modules/@octokit/app/node_modules/@octokit/request-error/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/LICENSE similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request-error/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/LICENSE diff --git a/node_modules/@actions/artifact/node_modules/@octokit/auth-token/README.md b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/README.md new file mode 100644 index 0000000000..a1f6d3599d --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-node/index.js new file mode 100644 index 0000000000..af0f0a6295 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-node/index.js.map new file mode 100644 index 0000000000..af0c2e2018 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/auth.js new file mode 100644 index 0000000000..b22ce98f0c --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-src/hook.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/hook.js new file mode 100644 index 0000000000..f8e47f0c29 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/index.js new file mode 100644 index 0000000000..f2ddd6398e --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-src/types.js similarity index 100% rename from node_modules/@octokit/auth-token/dist-src/types.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/types.js diff --git a/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js new file mode 100644 index 0000000000..90358136ed --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/auth.d.ts new file mode 100644 index 0000000000..dc41835858 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/hook.d.ts new file mode 100644 index 0000000000..21e4b6fcd3 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/index.d.ts new file mode 100644 index 0000000000..5999429371 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/types.d.ts new file mode 100644 index 0000000000..0ae24de87b --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts new file mode 100644 index 0000000000..2e52c31db4 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-web/index.js new file mode 100644 index 0000000000..8b1cd7df1e --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/auth-token/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-web/index.js.map new file mode 100644 index 0000000000..1d6197bfee --- /dev/null +++ b/node_modules/@actions/artifact/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/node_modules/@octokit/types/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/LICENSE similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/LICENSE diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/README.md b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/README.md similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/README.md rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/README.md diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-node/index.js.map diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/AuthInterface.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/AuthInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/AuthInterface.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointDefaults.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointDefaults.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointDefaults.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointInterface.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointInterface.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointOptions.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/EndpointOptions.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Fetch.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Fetch.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Fetch.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/OctokitResponse.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/OctokitResponse.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/OctokitResponse.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestError.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestError.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestError.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestHeaders.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestHeaders.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestInterface.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestInterface.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestMethod.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestMethod.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestOptions.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestOptions.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestParameters.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestParameters.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestParameters.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestRequestOptions.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestRequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/RequestRequestOptions.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/ResponseHeaders.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/ResponseHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/ResponseHeaders.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Route.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Route.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Route.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Signal.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Signal.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Signal.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/StrategyInterface.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/StrategyInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/StrategyInterface.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Url.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Url.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/Url.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/VERSION.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/VERSION.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/VERSION.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/generated/Endpoints.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/generated/Endpoints.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/generated/Endpoints.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/index.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-src/index.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/AuthInterface.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/AuthInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/AuthInterface.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Fetch.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Fetch.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Fetch.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestError.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestError.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestError.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestInterface.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestInterface.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestMethod.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestMethod.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestOptions.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestParameters.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestParameters.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestParameters.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Route.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Route.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Route.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Signal.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Signal.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Signal.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Url.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Url.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/Url.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/VERSION.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/VERSION.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/VERSION.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/index.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-types/index.d.ts diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/dist-web/index.js.map diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/types/package.json b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/package.json similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/types/package.json rename to node_modules/@actions/artifact/node_modules/@octokit/auth-token/node_modules/@octokit/types/package.json diff --git a/node_modules/@actions/artifact/node_modules/@octokit/auth-token/package.json b/node_modules/@actions/artifact/node_modules/@octokit/auth-token/package.json new file mode 100644 index 0000000000..1b0df71919 --- /dev/null +++ b/node_modules/@actions/artifact/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/auth-app/node_modules/@octokit/request-error/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/core/LICENSE similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request-error/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/core/LICENSE diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/README.md b/node_modules/@actions/artifact/node_modules/@octokit/core/README.md new file mode 100644 index 0000000000..b540cb9375 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/README.md @@ -0,0 +1,448 @@ +# 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%3Amaster) + + + +- [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 cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/core + +```js +const { Octokit } = require("@octokit/core"); +// or: import { Octokit } from "@octokit/core"; +``` + +
+ +### REST API example + +```js +// Create a personal access token at https://github.com/settings/tokens/new?scopes=repo +const octokit = new Octokit({ auth: `personal-access-token123` }); + +const response = await octokit.request("GET /orgs/{org}/repos", { + org: "octokit", + type: "private", +}); +``` + +See [`@octokit/request`](https://github.com/octokit/request.js) for full documentation of the `.request` method. + +### GraphQL example + +```js +const octokit = new Octokit({ auth: `secret123` }); + +const response = await octokit.graphql( + `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + { login: "octokit" } +); +``` + +See [`@octokit/graphql`](https://github.com/octokit/graphql.js) for full documentation of the `.graphql` method. + +## Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ options.authStrategy + + Function + + Defaults to @octokit/auth-token. See Authentication below for examples. +
+ options.auth + + String or Object + + See Authentication below for examples. +
+ options.baseUrl + + String + + +When using with GitHub Enterprise Server, set `options.baseUrl` to the root URL of the API. For example, if your GitHub Enterprise Server's hostname is `github.acme-inc.com`, then set `options.baseUrl` to `https://github.acme-inc.com/api/v3`. Example + +```js +const octokit = new Octokit({ + baseUrl: "https://github.acme-inc.com/api/v3", +}); +``` + +
+ options.previews + + Array of Strings + + +Some REST API endpoints require preview headers to be set, or enable +additional features. Preview headers can be set on a per-request basis, e.g. + +```js +octokit.request("POST /repos/{owner}/{repo}/pulls", { + mediaType: { + previews: ["shadow-cat"], + }, + owner, + repo, + title: "My pull request", + base: "master", + 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, { opt2: 1 }), + }; +}); +const octokit = new MyOctokit({ + foo: { opt2: 1 }, +}); +// options will be { foo: { opt1: 1, opt2: 1 }} +``` + +Be careful about mutating the `options` object in the `Octokit.defaults` callback, as it can have unforeseen consequences. + +## Authentication + +Authentication is optional for some REST API endpoints accessing public data, but is required for GraphQL queries. Using authentication also increases your [API rate limit](https://developer.github.com/v3/#rate-limiting). + +By default, Octokit authenticates using the [token authentication strategy](https://github.com/octokit/auth-token.js). Pass in a token using `options.auth`. It can be a personal access token, an OAuth token, an installation access token or a JSON Web Token for GitHub App authentication. The `Authorization` header will be set according to the type of token. + +```js +import { Octokit } from "@octokit/core"; + +const octokit = new Octokit({ + auth: "mypersonalaccesstoken123", +}); + +const { data } = await octokit.request("/user"); +``` + +To use a different authentication strategy, set `options.authStrategy`. A list of authentication strategies is available at [octokit/authentication-strategies.js](https://github.com/octokit/authentication-strategies.js/#readme). + +Example + +```js +import { Octokit } from "@octokit/core"; +import { createAppAuth } from "@octokit/auth-app"; + +const appOctokit = new Octokit({ + authStrategy: createAppAuth, + auth: { + appId: 123, + privateKey: process.env.PRIVATE_KEY, + }, +}); + +const { data } = await appOctokit.request("/app"); +``` + +The `.auth()` method returned by the current authentication strategy can be accessed at `octokit.auth()`. Example + +```js +const { token } = await appOctokit.auth({ + type: "installation", + installationId: 123, +}); +``` + +## Logging + +There are four built-in log methods + +1. `octokit.log.debug(message[, additionalInfo])` +1. `octokit.log.info(message[, additionalInfo])` +1. `octokit.log.warn(message[, additionalInfo])` +1. `octokit.log.error(message[, additionalInfo])` + +They can be configured using the [`log` client option](client-options). By default, `octokit.log.debug()` and `octokit.log.info()` are no-ops, while the other two call `console.warn()` and `console.error()` respectively. + +This is useful if you build reusable [plugins](#plugins). + +If you would like to make the log level configurable using an environment variable or external option, we recommend the [console-log-level](https://github.com/watson/console-log-level) package. Example + +```js +const octokit = new Octokit({ + log: require("console-log-level")({ level: "info" }), +}); +``` + +## Hooks + +You can customize Octokit's request lifecycle with hooks. + +```js +octokit.hook.before("request", async (options) => { + validate(options); +}); +octokit.hook.after("request", async (response, options) => { + console.log(`${options.method} ${options.url}: ${response.status}`); +}); +octokit.hook.error("request", async (error, options) => { + if (error.status === 304) { + return findInCache(error.response.headers.etag); + } + + throw error; +}); +octokit.hook.wrap("request", async (request, options) => { + // add logic before, after, catch errors or replace the request altogether + return request(options); +}); +``` + +See [before-after-hook](https://github.com/gr2m/before-after-hook#readme) for more documentation on hooks. + +## Plugins + +Octokit’s functionality can be extended using plugins. The `Octokit.plugin()` method accepts a plugin (or many) and returns a new constructor. + +A plugin is a function which gets two arguments: + +1. the current instance +2. the options passed to the constructor. + +In order to extend `octokit`'s API, the plugin must return an object with the new methods. + +```js +// index.js +const { Octokit } = require("@octokit/core") +const MyOctokit = Octokit.plugin( + require("./lib/my-plugin"), + require("octokit-plugin-example") +); + +const octokit = new MyOctokit({ greeting: "Moin moin" }); +octokit.helloWorld(); // logs "Moin moin, world!" +octokit.request("GET /"); // logs "GET / - 200 in 123ms" + +// lib/my-plugin.js +module.exports = (octokit, options = { greeting: "Hello" }) => { + // hook into the request lifecycle + octokit.hook.wrap("request", async (request, options) => { + const time = Date.now(); + const response = await request(options); + console.log( + `${options.method} ${options.url} – ${response.status} in ${Date.now() - + time}ms` + ); + return response; + }); + + // add a custom method + return { + helloWorld: () => console.log(`${options.greeting}, world!`); + } +}; +``` + +## Build your own Octokit with Plugins and Defaults + +You can build your own Octokit class with preset default options and plugins. In fact, this is mostly how the `@octokit/` modules work, such as [`@octokit/action`](https://github.com/octokit/action.js): + +```js +const { Octokit } = require("@octokit/core"); +const MyActionOctokit = Octokit.plugin( + require("@octokit/plugin-paginate-rest").paginateRest, + require("@octokit/plugin-throttling").throttling, + require("@octokit/plugin-retry").retry +).defaults({ + throttle: { + onAbuseLimit: (retryAfter, options) => { + /* ... */ + }, + onRateLimit: (retryAfter, options) => { + /* ... */ + }, + }, + authStrategy: require("@octokit/auth-action").createActionAuth, + userAgent: `my-octokit-action/v1.2.3`, +}); + +const octokit = new MyActionOctokit(); +const installations = await octokit.paginate("GET /app/installations"); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js new file mode 100644 index 0000000000..0f46e61ec3 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js @@ -0,0 +1,176 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var universalUserAgent = require('universal-user-agent'); +var beforeAfterHook = require('before-after-hook'); +var request = require('@octokit/request'); +var graphql = require('@octokit/graphql'); +var authToken = require('@octokit/auth-token'); + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +const VERSION = "3.6.0"; + +const _excluded = ["authStrategy"]; +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set + + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy + } = options, + otherOptions = _objectWithoutProperties(options, _excluded); + + 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)); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 + + + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); + }); + } + + 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; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + + + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } + +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js.map new file mode 100644 index 0000000000..3467e5277b --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/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 = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":["VERSION","Octokit","constructor","options","hook","Collection","requestDefaults","baseUrl","request","endpoint","DEFAULTS","headers","Object","assign","bind","mediaType","previews","format","userAgent","getUserAgent","filter","Boolean","join","timeZone","defaults","graphql","withCustomRequest","log","debug","info","warn","console","error","authStrategy","auth","type","createTokenAuth","wrap","otherOptions","octokit","octokitOptions","classConstructor","plugins","forEach","plugin","OctokitWithDefaults","args","newPlugins","_a","currentPlugins","NewOctokit","concat","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;;ACAP,AAMO,MAAMC,OAAN,CAAc;AACjBC,EAAAA,WAAW,CAACC,OAAO,GAAG,EAAX,EAAe;AACtB,UAAMC,IAAI,GAAG,IAAIC,0BAAJ,EAAb;AACA,UAAMC,eAAe,GAAG;AACpBC,MAAAA,OAAO,EAAEC,eAAO,CAACC,QAAR,CAAiBC,QAAjB,CAA0BH,OADf;AAEpBI,MAAAA,OAAO,EAAE,EAFW;AAGpBH,MAAAA,OAAO,EAAEI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACK,OAA1B,EAAmC;AACxC;AACAJ,QAAAA,IAAI,EAAEA,IAAI,CAACU,IAAL,CAAU,IAAV,EAAgB,SAAhB;AAFkC,OAAnC,CAHW;AAOpBC,MAAAA,SAAS,EAAE;AACPC,QAAAA,QAAQ,EAAE,EADH;AAEPC,QAAAA,MAAM,EAAE;AAFD;AAPS,KAAxB,CAFsB;;AAetBX,IAAAA,eAAe,CAACK,OAAhB,CAAwB,YAAxB,IAAwC,CACpCR,OAAO,CAACe,SAD4B,EAEnC,mBAAkBlB,OAAQ,IAAGmB,+BAAY,EAAG,EAFT,EAInCC,MAJmC,CAI5BC,OAJ4B,EAKnCC,IALmC,CAK9B,GAL8B,CAAxC;;AAMA,QAAInB,OAAO,CAACI,OAAZ,EAAqB;AACjBD,MAAAA,eAAe,CAACC,OAAhB,GAA0BJ,OAAO,CAACI,OAAlC;AACH;;AACD,QAAIJ,OAAO,CAACa,QAAZ,EAAsB;AAClBV,MAAAA,eAAe,CAACS,SAAhB,CAA0BC,QAA1B,GAAqCb,OAAO,CAACa,QAA7C;AACH;;AACD,QAAIb,OAAO,CAACoB,QAAZ,EAAsB;AAClBjB,MAAAA,eAAe,CAACK,OAAhB,CAAwB,WAAxB,IAAuCR,OAAO,CAACoB,QAA/C;AACH;;AACD,SAAKf,OAAL,GAAeA,eAAO,CAACgB,QAAR,CAAiBlB,eAAjB,CAAf;AACA,SAAKmB,OAAL,GAAeC,yBAAiB,CAAC,KAAKlB,OAAN,CAAjB,CAAgCgB,QAAhC,CAAyClB,eAAzC,CAAf;AACA,SAAKqB,GAAL,GAAWf,MAAM,CAACC,MAAP,CAAc;AACrBe,MAAAA,KAAK,EAAE,MAAM,EADQ;AAErBC,MAAAA,IAAI,EAAE,MAAM,EAFS;AAGrBC,MAAAA,IAAI,EAAEC,OAAO,CAACD,IAAR,CAAahB,IAAb,CAAkBiB,OAAlB,CAHe;AAIrBC,MAAAA,KAAK,EAAED,OAAO,CAACC,KAAR,CAAclB,IAAd,CAAmBiB,OAAnB;AAJc,KAAd,EAKR5B,OAAO,CAACwB,GALA,CAAX;AAMA,SAAKvB,IAAL,GAAYA,IAAZ,CAtCsB;AAwCtB;AACA;AACA;AACA;;AACA,QAAI,CAACD,OAAO,CAAC8B,YAAb,EAA2B;AACvB,UAAI,CAAC9B,OAAO,CAAC+B,IAAb,EAAmB;AACf;AACA,aAAKA,IAAL,GAAY,aAAa;AACrBC,UAAAA,IAAI,EAAE;AADe,SAAb,CAAZ;AAGH,OALD,MAMK;AACD;AACA,cAAMD,IAAI,GAAGE,yBAAe,CAACjC,OAAO,CAAC+B,IAAT,CAA5B,CAFC;;AAID9B,QAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,aAAK8B,IAAL,GAAYA,IAAZ;AACH;AACJ,KAdD,MAeK;AACD,YAAM;AAAED,QAAAA;AAAF,UAAoC9B,OAA1C;AAAA,YAAyBmC,YAAzB,4BAA0CnC,OAA1C;;AACA,YAAM+B,IAAI,GAAGD,YAAY,CAACrB,MAAM,CAACC,MAAP,CAAc;AACpCL,QAAAA,OAAO,EAAE,KAAKA,OADsB;AAEpCmB,QAAAA,GAAG,EAAE,KAAKA,GAF0B;AAGpC;AACA;AACA;AACA;AACA;AACAY,QAAAA,OAAO,EAAE,IAR2B;AASpCC,QAAAA,cAAc,EAAEF;AAToB,OAAd,EAUvBnC,OAAO,CAAC+B,IAVe,CAAD,CAAzB,CAFC;;AAcD9B,MAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,WAAK8B,IAAL,GAAYA,IAAZ;AACH,KA3EqB;AA6EtB;;;AACA,UAAMO,gBAAgB,GAAG,KAAKvC,WAA9B;AACAuC,IAAAA,gBAAgB,CAACC,OAAjB,CAAyBC,OAAzB,CAAkCC,MAAD,IAAY;AACzChC,MAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoB+B,MAAM,CAAC,IAAD,EAAOzC,OAAP,CAA1B;AACH,KAFD;AAGH;;AACc,SAARqB,QAAQ,CAACA,QAAD,EAAW;AACtB,UAAMqB,mBAAmB,GAAG,cAAc,IAAd,CAAmB;AAC3C3C,MAAAA,WAAW,CAAC,GAAG4C,IAAJ,EAAU;AACjB,cAAM3C,OAAO,GAAG2C,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA3B;;AACA,YAAI,OAAOtB,QAAP,KAAoB,UAAxB,EAAoC;AAChC,gBAAMA,QAAQ,CAACrB,OAAD,CAAd;AACA;AACH;;AACD,cAAMS,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBW,QAAlB,EAA4BrB,OAA5B,EAAqCA,OAAO,CAACe,SAAR,IAAqBM,QAAQ,CAACN,SAA9B,GACrC;AACEA,UAAAA,SAAS,EAAG,GAAEf,OAAO,CAACe,SAAU,IAAGM,QAAQ,CAACN,SAAU;AADxD,SADqC,GAIrC,IAJA,CAAN;AAKH;;AAZ0C,KAA/C;AAcA,WAAO2B,mBAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiB,SAAND,MAAM,CAAC,GAAGG,UAAJ,EAAgB;AACzB,QAAIC,EAAJ;;AACA,UAAMC,cAAc,GAAG,KAAKP,OAA5B;AACA,UAAMQ,UAAU,IAAIF,EAAE,GAAG,cAAc,IAAd,CAAmB,EAAxB,EAEhBA,EAAE,CAACN,OAAH,GAAaO,cAAc,CAACE,MAAf,CAAsBJ,UAAU,CAAC3B,MAAX,CAAmBwB,MAAD,IAAY,CAACK,cAAc,CAACG,QAAf,CAAwBR,MAAxB,CAA/B,CAAtB,CAFG,EAGhBI,EAHY,CAAhB;AAIA,WAAOE,UAAP;AACH;;AAnHgB;AAqHrBjD,OAAO,CAACD,OAAR,GAAkBA,OAAlB;AACAC,OAAO,CAACyC,OAAR,GAAkB,EAAlB;;;;"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/index.js new file mode 100644 index 0000000000..bdbc335bed --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/index.js @@ -0,0 +1,125 @@ +import { getUserAgent } from "universal-user-agent"; +import { Collection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { withCustomRequest } from "@octokit/graphql"; +import { createTokenAuth } from "@octokit/auth-token"; +import { VERSION } from "./version"; +export class Octokit { + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request"), + }), + mediaType: { + previews: [], + format: "", + }, + }; + // prepend default user agent with `options.userAgent` if set + requestDefaults.headers["user-agent"] = [ + options.userAgent, + `octokit-core.js/${VERSION} ${getUserAgent()}`, + ] + .filter(Boolean) + .join(" "); + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => { }, + info: () => { }, + warn: console.warn.bind(console), + error: console.error.bind(console), + }, options.log); + this.hook = hook; + // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated", + }); + } + else { + // (2) + const auth = createTokenAuth(options.auth); + // @ts-ignore ¯\_(ツ)_/¯ + 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)); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + // apply plugins + // https://stackoverflow.com/a/16345172 + const classConstructor = this.constructor; + classConstructor.plugins.forEach((plugin) => { + Object.assign(this, plugin(this, options)); + }); + } + 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; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + var _a; + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this { + }, + _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), + _a); + return NewOctokit; + } +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; diff --git a/node_modules/@octokit/core/dist-src/types.js b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/types.js similarity index 100% rename from node_modules/@octokit/core/dist-src/types.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/types.js diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/version.js b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/version.js new file mode 100644 index 0000000000..bace1a9173 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "3.6.0"; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/index.d.ts new file mode 100644 index 0000000000..b757c5bc36 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/index.d.ts @@ -0,0 +1,30 @@ +import { HookCollection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { graphql } from "@octokit/graphql"; +import { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types"; +export declare class Octokit { + static VERSION: string; + static defaults>(this: S, defaults: OctokitOptions | Function): S; + static plugins: OctokitPlugin[]; + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin & { + plugins: any[]; + }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): S & Constructor>>; + constructor(options?: OctokitOptions); + request: typeof request; + graphql: typeof graphql; + log: { + debug: (message: string, additionalInfo?: object) => any; + info: (message: string, additionalInfo?: object) => any; + warn: (message: string, additionalInfo?: object) => any; + error: (message: string, additionalInfo?: object) => any; + [key: string]: any; + }; + hook: HookCollection; + auth: (...args: unknown[]) => Promise; +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/types.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/types.d.ts new file mode 100644 index 0000000000..3970d0dea1 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/types.d.ts @@ -0,0 +1,44 @@ +import * as OctokitTypes from "@octokit/types"; +import { RequestError } from "@octokit/request-error"; +import { Octokit } from "."; +export declare 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 declare type Constructor = new (...args: any[]) => T; +export declare 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 declare type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never; +declare type AnyFunction = (...args: any) => any; +export declare type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { + [key: string]: any; +} | void; +export declare type Hooks = { + request: { + Options: Required; + Result: OctokitTypes.OctokitResponse; + Error: RequestError | Error; + }; + [key: string]: { + Options: unknown; + Result: unknown; + Error: unknown; + }; +}; +export {}; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/version.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/version.d.ts new file mode 100644 index 0000000000..f1a3d02268 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "3.6.0"; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-web/index.js new file mode 100644 index 0000000000..741d2317f4 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-web/index.js @@ -0,0 +1,130 @@ +import { getUserAgent } from 'universal-user-agent'; +import { Collection } from 'before-after-hook'; +import { request } from '@octokit/request'; +import { withCustomRequest } from '@octokit/graphql'; +import { createTokenAuth } from '@octokit/auth-token'; + +const VERSION = "3.6.0"; + +class Octokit { + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request"), + }), + mediaType: { + previews: [], + format: "", + }, + }; + // prepend default user agent with `options.userAgent` if set + requestDefaults.headers["user-agent"] = [ + options.userAgent, + `octokit-core.js/${VERSION} ${getUserAgent()}`, + ] + .filter(Boolean) + .join(" "); + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => { }, + info: () => { }, + warn: console.warn.bind(console), + error: console.error.bind(console), + }, options.log); + this.hook = hook; + // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated", + }); + } + else { + // (2) + const auth = createTokenAuth(options.auth); + // @ts-ignore ¯\_(ツ)_/¯ + 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)); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + // apply plugins + // https://stackoverflow.com/a/16345172 + const classConstructor = this.constructor; + classConstructor.plugins.forEach((plugin) => { + Object.assign(this, plugin(this, options)); + }); + } + 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; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + var _a; + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this { + }, + _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), + _a); + return NewOctokit; + } +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +export { Octokit }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/core/dist-web/index.js.map new file mode 100644 index 0000000000..238c82e702 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/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 = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACMnC,MAAM,OAAO,CAAC;AACrB,IAAI,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AACtC,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;AACtD,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE;AACxD;AACA,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,SAAS,EAAE;AACvB,gBAAgB,QAAQ,EAAE,EAAE;AAC5B,gBAAgB,MAAM,EAAE,EAAE;AAC1B,aAAa;AACb,SAAS,CAAC;AACV;AACA,QAAQ,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;AAChD,YAAY,OAAO,CAAC,SAAS;AAC7B,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1D,SAAS;AACT,aAAa,MAAM,CAAC,OAAO,CAAC;AAC5B,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtD,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClE,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpE,SAAS;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,YAAY,KAAK,EAAE,MAAM,GAAG;AAC5B,YAAY,IAAI,EAAE,MAAM,GAAG;AAC3B,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B;AACA,gBAAgB,IAAI,CAAC,IAAI,GAAG,aAAa;AACzC,oBAAoB,IAAI,EAAE,iBAAiB;AAC3C,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D;AACA,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;AAC9D,YAAY,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACpD,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAgB,GAAG,EAAE,IAAI,CAAC,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,cAAc,EAAE,YAAY;AAC5C,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B;AACA,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT;AACA;AACA,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;AAClD,QAAQ,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACrD,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE;AAC9B,QAAQ,MAAM,mBAAmB,GAAG,cAAc,IAAI,CAAC;AACvD,YAAY,WAAW,CAAC,GAAG,IAAI,EAAE;AACjC,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,gBAAgB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACpD,oBAAoB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;AAClG,sBAAsB;AACtB,wBAAwB,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/E,qBAAqB;AACrB,sBAAsB,IAAI,CAAC,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,mBAAmB,CAAC;AACnC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,GAAG,UAAU,EAAE;AACjC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5C,QAAQ,MAAM,UAAU,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC;AACpD,aAAa;AACb,YAAY,EAAE,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/G,YAAY,EAAE,CAAC,CAAC;AAChB,QAAQ,OAAO,UAAU,CAAC;AAC1B,KAAK;AACL,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/LICENSE similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/LICENSE diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/README.md b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/README.md new file mode 100644 index 0000000000..1bf538436c --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/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-error/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js similarity index 100% rename from node_modules/@octokit/request-error/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js diff --git a/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/request-error/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000000..5eb192764d --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/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/graphql/dist-src/types.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/types.js similarity index 100% rename from node_modules/@octokit/graphql/dist-src/types.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/types.js diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 0000000000..d6e089c9bb --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/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/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000000..7785231f78 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/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-error/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js similarity index 100% rename from node_modules/@octokit/request-error/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js diff --git a/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/request-error/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/package.json b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000000..2f5b239422 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/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/core/node_modules/@octokit/types/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/LICENSE similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/LICENSE diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/README.md b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/README.md similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/README.md rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/README.md diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-node/index.js.map diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/AuthInterface.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/AuthInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/AuthInterface.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointDefaults.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointDefaults.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointDefaults.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointInterface.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointInterface.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointOptions.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/EndpointOptions.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Fetch.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Fetch.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Fetch.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/OctokitResponse.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/OctokitResponse.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/OctokitResponse.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestError.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestError.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestError.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestHeaders.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestHeaders.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestInterface.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestInterface.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestMethod.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestMethod.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestOptions.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestOptions.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestParameters.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestParameters.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestParameters.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestRequestOptions.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestRequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/RequestRequestOptions.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/ResponseHeaders.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/ResponseHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/ResponseHeaders.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Route.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Route.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Route.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Signal.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Signal.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Signal.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/StrategyInterface.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/StrategyInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/StrategyInterface.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Url.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Url.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/Url.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/VERSION.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/VERSION.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/VERSION.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/generated/Endpoints.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/generated/Endpoints.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/generated/Endpoints.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/index.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-src/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-src/index.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Signal.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Signal.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Signal.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/dist-web/index.js.map diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/package.json b/node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/package.json similarity index 100% rename from node_modules/@octokit/core/node_modules/@octokit/types/package.json rename to node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/types/package.json diff --git a/node_modules/@actions/artifact/node_modules/@octokit/core/package.json b/node_modules/@actions/artifact/node_modules/@octokit/core/package.json new file mode 100644 index 0000000000..548e76c9e0 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/core/package.json @@ -0,0 +1,57 @@ +{ + "name": "@octokit/core", + "description": "Extendable client for GitHub's REST & GraphQL APIs", + "version": "3.6.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/core.js", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth": "^3.0.1", + "@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", + "@types/lolex": "^5.1.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "http-proxy-agent": "^5.0.0", + "jest": "^27.0.0", + "lolex": "^6.0.0", + "prettier": "2.4.1", + "proxy": "^1.0.1", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0", + "typescript": "^4.0.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/app/node_modules/@octokit/endpoint/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/LICENSE similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/LICENSE diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/README.md b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/README.md similarity index 92% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/README.md rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/README.md index 164f60d1ee..1e5153fae2 100644 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/README.md +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/README.md @@ -3,7 +3,7 @@ > 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) +![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. @@ -32,11 +32,11 @@ Browsers -Load @octokit/endpoint directly from esm.sh - +Load @octokit/endpoint directly from cdn.skypack.dev + ```html ``` @@ -48,7 +48,8 @@ Node Install with npm install @octokit/endpoint ```js -import { endpoint } from "@octokit/endpoint"; +const { endpoint } = require("@octokit/endpoint"); +// or: import { endpoint } from "@octokit/endpoint"; ``` @@ -95,9 +96,6 @@ got[options.method](url, options); 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)` @@ -186,6 +184,17 @@ axios(requestOptions); Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. + + + options.mediaType.previews + + + Array of Strings + + + Name of previews, such as mercy, symmetra, or scarlet-witch. See API Previews. If options.mediaType.previews was set as default, the new previews will be merged into the default ones. Setting options.mediaType.previews will amend the headers.accept value. options.mediaType.previews will be merged with an existing array set using .defaults(). + + options.data @@ -403,7 +412,7 @@ endpoint( authorization: `token 0000000000000000000000000000000000000001`, }, data: "Hello, world!", - }, + } ); ``` diff --git a/node_modules/@octokit/endpoint/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-node/index.js similarity index 100% rename from node_modules/@octokit/endpoint/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-node/index.js diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/endpoint/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-node/index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/defaults.js new file mode 100644 index 0000000000..456e586ad1 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -0,0 +1,17 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +export const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent, + }, + mediaType: { + format: "", + previews: [], + }, +}; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js new file mode 100644 index 0000000000..5763758faa --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -0,0 +1,5 @@ +import { merge } from "./merge"; +import { parse } from "./parse"; +export function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 0000000000..599917f98f --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,3 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +export const endpoint = withDefaults(null, DEFAULTS); diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/merge.js new file mode 100644 index 0000000000..1abcecfa7d --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/merge.js @@ -0,0 +1,26 @@ +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 = 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)) + .concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); + return mergedOptions; +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/parse.js new file mode 100644 index 0000000000..6bdd1bfa74 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/parse.js @@ -0,0 +1,81 @@ +import { addQueryParameters } from "./util/add-query-parameters"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names"; +import { omit } from "./util/omit"; +import { parseUrl } from "./util/url-template"; +export function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType", + ]); + // extract variable names from URL to calculate remaining variables later + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options) + .filter((option) => urlVariableNames.includes(option)) + .concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const 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}`)) + .join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader + .concat(options.mediaType.previews) + .map((preview) => { + const format = options.mediaType.format + ? `.${options.mediaType.format}` + : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }) + .join(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } + else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } + else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + else { + headers["content-length"] = 0; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js new file mode 100644 index 0000000000..d26be314c0 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -0,0 +1,17 @@ +export function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return (url + + separator + + names + .map((name) => { + if (name === "q") { + return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }) + .join("&")); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js new file mode 100644 index 0000000000..3e75db2835 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -0,0 +1,11 @@ +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +export function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js new file mode 100644 index 0000000000..0780642558 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -0,0 +1,9 @@ +export function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js new file mode 100644 index 0000000000..d92aca35c6 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -0,0 +1,16 @@ +import { isPlainObject } from "is-plain-object"; +export function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } + else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/omit.js new file mode 100644 index 0000000000..62450310d2 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -0,0 +1,8 @@ +export function omit(object, keysToOmit) { + return Object.keys(object) + .filter((option) => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js new file mode 100644 index 0000000000..6b5ee5fbe3 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/url-template.js new file mode 100644 index 0000000000..439b3feecf --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -0,0 +1,164 @@ +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* istanbul ignore file */ +function encodeReserved(str) { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }) + .join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = + operator === "+" || operator === "#" + ? encodeReserved(value) + : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } + else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || + typeof value === "number" || + typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } + else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } + else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } + else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } + else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } + else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } + else if (value === "") { + result.push(""); + } + } + return result; +} +export function parseUrl(template) { + return { + expand: expand.bind(null, template), + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } + else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } + else { + return values.join(","); + } + } + else { + return encodeReserved(literal); + } + }); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 0000000000..930e2557d7 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "6.0.12"; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/with-defaults.js new file mode 100644 index 0000000000..81baf6cfb2 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -0,0 +1,13 @@ +import { endpointWithDefaults } from "./endpoint-with-defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; +export function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse, + }); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/defaults.d.ts new file mode 100644 index 0000000000..30fcd20305 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults } from "@octokit/types"; +export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts similarity index 58% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts index ec25627cd2..ff39e5e726 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -1,3 +1,3 @@ -import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; +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/app/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/index.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/index.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/merge.d.ts similarity index 64% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/merge.d.ts index f583981205..b75a15ec76 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -1,2 +1,2 @@ -import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; +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/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/parse.d.ts similarity index 50% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/parse.d.ts index 5d0927ae8c..fbe2144062 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -1,2 +1,2 @@ -import type { EndpointDefaults, RequestOptions } from "@octokit/types"; +import { EndpointDefaults, RequestOptions } from "@octokit/types"; export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/version.d.ts new file mode 100644 index 0000000000..330d47ae33 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.0.12"; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts similarity index 57% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts index e09354c56f..6f5afd1e0e 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -1,2 +1,2 @@ -import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; +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/@actions/artifact/node_modules/@octokit/endpoint/dist-web/index.js similarity index 100% rename from node_modules/@octokit/endpoint/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-web/index.js diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/endpoint/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-web/index.js.map diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/LICENSE similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/LICENSE diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/README.md b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/README.md similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/README.md rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/README.md diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-node/index.js.map diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/AuthInterface.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/AuthInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/AuthInterface.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointDefaults.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointDefaults.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointDefaults.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointInterface.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointInterface.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointOptions.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/EndpointOptions.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Fetch.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Fetch.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Fetch.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/OctokitResponse.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/OctokitResponse.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/OctokitResponse.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestError.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestError.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestError.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestHeaders.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestHeaders.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestInterface.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestInterface.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestMethod.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestMethod.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestOptions.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestOptions.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestParameters.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestParameters.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestParameters.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestRequestOptions.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestRequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/RequestRequestOptions.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/ResponseHeaders.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/ResponseHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/ResponseHeaders.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Route.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Route.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Route.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Signal.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Signal.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Signal.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/StrategyInterface.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/StrategyInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/StrategyInterface.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Url.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Url.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/Url.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/VERSION.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/VERSION.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/VERSION.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/generated/Endpoints.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/generated/Endpoints.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/generated/Endpoints.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/index.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-src/index.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/AuthInterface.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/AuthInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/AuthInterface.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Fetch.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Fetch.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Fetch.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestError.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestError.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestError.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestInterface.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestInterface.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestMethod.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestMethod.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestOptions.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestParameters.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestParameters.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestParameters.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Route.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Route.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Route.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Signal.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Signal.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Signal.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Url.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Url.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/Url.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/VERSION.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/VERSION.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/VERSION.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/index.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-types/index.d.ts diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/dist-web/index.js.map diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/types/package.json b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/package.json similarity index 100% rename from node_modules/@octokit/endpoint/node_modules/@octokit/types/package.json rename to node_modules/@actions/artifact/node_modules/@octokit/endpoint/node_modules/@octokit/types/package.json diff --git a/node_modules/@actions/artifact/node_modules/@octokit/endpoint/package.json b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/package.json new file mode 100644 index 0000000000..4e4d425542 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,44 @@ +{ + "name": "@octokit/endpoint", + "description": "Turns REST API endpoints into generic request options", + "version": "6.0.12", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "repository": "github:octokit/endpoint.js", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@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/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", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.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/app/node_modules/@octokit/request/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/graphql/LICENSE similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/LICENSE diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/README.md b/node_modules/@actions/artifact/node_modules/@octokit/graphql/README.md new file mode 100644 index 0000000000..fe7881cf54 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/README.md @@ -0,0 +1,409 @@ +# 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%3Amaster) + + + +- [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 [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/graphql + +```js +const { graphql } = require("@octokit/graphql"); +// or: import { graphql } from "@octokit/graphql"; +``` + +
+ +### Send a simple query + +```js +const { repository } = await graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + } +); +``` + +### Authentication + +The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + id: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const graphqlWithAuth = graphql.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { repository } = await graphqlWithAuth( + `{ + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + }` +); +``` + +### Variables + +⚠️ Do not use [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) in the query strings as they make your code vulnerable to query injection attacks (see [#2](https://github.com/octokit/graphql.js/issues/2)). Use variables instead: + +```js +const { lastIssues } = await graphql( + ` + query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner: $owner, name: $repo) { + issues(last: $num) { + edges { + node { + title + } + } + } + } + } + `, + { + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, + } +); +``` + +### Pass query together with headers and variables + +```js +const { graphql } = require("@octokit/graphql"); +const { lastIssues } = await graphql({ + query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + edges { + node { + title + } + } + } + } + }`, + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, +}); +``` + +### Use with GitHub Enterprise + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api", + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +### Use custom `@octokit/request` instance + +```js +const { request } = require("@octokit/request"); +const { withCustomRequest } = require("@octokit/graphql"); + +let requestCounter = 0; +const myRequest = request.defaults({ + headers: { + 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) { + edges { + node { + title + } + } + } + } + } +`); +// requestCounter is now 2 +``` + +## TypeScript + +`@octokit/graphql` is exposing proper types for its usage with TypeScript projects. + +### Additional Types + +Additionally, `GraphQlQueryResponseData` has been exposed to users: + +```ts +import type { GraphQlQueryResponseData } from "@octokit/graphql"; +``` + +## Errors + +In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. +All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. + +```js +let { graphql, GraphqlResponseError } = require("@octokit/graphql"); +graphqlt = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + viewer { + bioHtml + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + if (error instanceof GraphqlResponseError) { + // do something with the error, allowing you to detect a graphql response error, + // compared to accidentally catching unrelated errors. + + // server responds with an object like the following (as an example) + // class GraphqlResponseError { + // "headers": { + // "status": "403", + // }, + // "data": null, + // "errors": [{ + // "message": "Field 'bioHtml' doesn't exist on type 'User'", + // "locations": [{ + // "line": 3, + // "column": 5 + // }] + // }] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + } else { + // handle non-GraphQL error + } +} +``` + +## Partial responses + +A GraphQL query may respond with partial data accompanied by errors. In this case we will throw an error but the partial data will still be accessible through `error.data` + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + repository(name: "probot", owner: "probot") { + name + ref(qualifiedName: "master") { + target { + ... on Commit { + history(first: 25, after: "invalid cursor") { + nodes { + message + } + } + } + } + } + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + // server responds with + // { + // "data": { + // "repository": { + // "name": "probot", + // "ref": null + // } + // }, + // "errors": [ + // { + // "type": "INVALID_CURSOR_ARGUMENTS", + // "path": [ + // "repository", + // "ref", + // "target", + // "history" + // ], + // "locations": [ + // { + // "line": 7, + // "column": 11 + // } + // ], + // "message": "`invalid cursor` does not appear to be a valid cursor." + // } + // ] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // `invalid cursor` does not appear to be a valid cursor. + console.log(error.data); // { repository: { name: 'probot', ref: null } } +} +``` + +## Writing tests + +You can pass a replacement for [the built-in fetch implementation](https://github.com/bitinn/node-fetch) as `request.fetch` option. For example, using [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/) works great to write tests + +```js +const assert = require("assert"); +const fetchMock = require("fetch-mock/es5/server"); + +const { graphql } = require("@octokit/graphql"); + +graphql("{ viewer { login } }", { + headers: { + authorization: "token secret123", + }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + assert.strictEqual(options.headers.authorization, "token secret123"); + assert.strictEqual( + options.body, + '{"query":"{ viewer { login } }"}', + "Sends correct query" + ); + return { data: {} }; + }), + }, +}); +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js new file mode 100644 index 0000000000..6401417b54 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js @@ -0,0 +1,118 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var request = require('@octokit/request'); +var universalUserAgent = require('universal-user-agent'); + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // 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) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + + if (!result.variables) { + result.variables = {}; + } + + result.variables[key] = parsedOptions[key]; + return result; + }, {}); // 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; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.request.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js.map new file mode 100644 index 0000000000..873a8d4e6e --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\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 }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).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 // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\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(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function 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: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","_buildMessageForResponseErrors","data","errors","map","e","message","join","GraphqlResponseError","Error","constructor","request","headers","response","name","captureStackTrace","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","key","includes","parsedOptions","Object","assign","requestOptions","keys","reduce","result","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAP,SAASC,8BAAT,CAAwCC,IAAxC,EAA8C;AAC1C,SAAS,oDAAD,GACJA,IAAI,CAACC,MAAL,CAAYC,GAAZ,CAAiBC,CAAD,IAAQ,MAAKA,CAAC,CAACC,OAAQ,EAAvC,EAA0CC,IAA1C,CAA+C,IAA/C,CADJ;AAEH;;AACD,AAAO,MAAMC,oBAAN,SAAmCC,KAAnC,CAAyC;AAC5CC,EAAAA,WAAW,CAACC,OAAD,EAAUC,OAAV,EAAmBC,QAAnB,EAA6B;AACpC,UAAMZ,8BAA8B,CAACY,QAAD,CAApC;AACA,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,IAAL,GAAY,sBAAZ,CALoC;;AAOpC,SAAKX,MAAL,GAAcU,QAAQ,CAACV,MAAvB;AACA,SAAKD,IAAL,GAAYW,QAAQ,CAACX,IAArB,CARoC;;AAUpC;;AACA,QAAIO,KAAK,CAACM,iBAAV,EAA6B;AACzBN,MAAAA,KAAK,CAACM,iBAAN,CAAwB,IAAxB,EAA8B,KAAKL,WAAnC;AACH;AACJ;;AAf2C;;ACHhD,MAAMM,oBAAoB,GAAG,CACzB,QADyB,EAEzB,SAFyB,EAGzB,KAHyB,EAIzB,SAJyB,EAKzB,SALyB,EAMzB,OANyB,EAOzB,WAPyB,CAA7B;AASA,MAAMC,0BAA0B,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,CAAnC;AACA,MAAMC,oBAAoB,GAAG,eAA7B;AACA,AAAO,SAASC,OAAT,CAAiBR,OAAjB,EAA0BS,KAA1B,EAAiCC,OAAjC,EAA0C;AAC7C,MAAIA,OAAJ,EAAa;AACT,QAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6B,WAAWC,OAA5C,EAAqD;AACjD,aAAOC,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,4DAAX,CAAf,CAAP;AACH;;AACD,SAAK,MAAMe,GAAX,IAAkBH,OAAlB,EAA2B;AACvB,UAAI,CAACJ,0BAA0B,CAACQ,QAA3B,CAAoCD,GAApC,CAAL,EACI;AACJ,aAAOF,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,uBAAsBe,GAAI,mCAArC,CAAf,CAAP;AACH;AACJ;;AACD,QAAME,aAAa,GAAG,OAAON,KAAP,KAAiB,QAAjB,GAA4BO,MAAM,CAACC,MAAP,CAAc;AAAER,IAAAA;AAAF,GAAd,EAAyBC,OAAzB,CAA5B,GAAgED,KAAtF;AACA,QAAMS,cAAc,GAAGF,MAAM,CAACG,IAAP,CAAYJ,aAAZ,EAA2BK,MAA3B,CAAkC,CAACC,MAAD,EAASR,GAAT,KAAiB;AACtE,QAAIR,oBAAoB,CAACS,QAArB,CAA8BD,GAA9B,CAAJ,EAAwC;AACpCQ,MAAAA,MAAM,CAACR,GAAD,CAAN,GAAcE,aAAa,CAACF,GAAD,CAA3B;AACA,aAAOQ,MAAP;AACH;;AACD,QAAI,CAACA,MAAM,CAACC,SAAZ,EAAuB;AACnBD,MAAAA,MAAM,CAACC,SAAP,GAAmB,EAAnB;AACH;;AACDD,IAAAA,MAAM,CAACC,SAAP,CAAiBT,GAAjB,IAAwBE,aAAa,CAACF,GAAD,CAArC;AACA,WAAOQ,MAAP;AACH,GAVsB,EAUpB,EAVoB,CAAvB,CAZ6C;AAwB7C;;AACA,QAAME,OAAO,GAAGR,aAAa,CAACQ,OAAd,IAAyBvB,OAAO,CAACwB,QAAR,CAAiBC,QAAjB,CAA0BF,OAAnE;;AACA,MAAIhB,oBAAoB,CAACmB,IAArB,CAA0BH,OAA1B,CAAJ,EAAwC;AACpCL,IAAAA,cAAc,CAACS,GAAf,GAAqBJ,OAAO,CAACK,OAAR,CAAgBrB,oBAAhB,EAAsC,cAAtC,CAArB;AACH;;AACD,SAAOP,OAAO,CAACkB,cAAD,CAAP,CAAwBW,IAAxB,CAA8B3B,QAAD,IAAc;AAC9C,QAAIA,QAAQ,CAACX,IAAT,CAAcC,MAAlB,EAA0B;AACtB,YAAMS,OAAO,GAAG,EAAhB;;AACA,WAAK,MAAMY,GAAX,IAAkBG,MAAM,CAACG,IAAP,CAAYjB,QAAQ,CAACD,OAArB,CAAlB,EAAiD;AAC7CA,QAAAA,OAAO,CAACY,GAAD,CAAP,GAAeX,QAAQ,CAACD,OAAT,CAAiBY,GAAjB,CAAf;AACH;;AACD,YAAM,IAAIhB,oBAAJ,CAAyBqB,cAAzB,EAAyCjB,OAAzC,EAAkDC,QAAQ,CAACX,IAA3D,CAAN;AACH;;AACD,WAAOW,QAAQ,CAACX,IAAT,CAAcA,IAArB;AACH,GATM,CAAP;AAUH;;ACjDM,SAASuC,YAAT,CAAsB9B,SAAtB,EAA+B+B,WAA/B,EAA4C;AAC/C,QAAMC,UAAU,GAAGhC,SAAO,CAACiC,QAAR,CAAiBF,WAAjB,CAAnB;;AACA,QAAMG,MAAM,GAAG,CAACzB,KAAD,EAAQC,OAAR,KAAoB;AAC/B,WAAOF,OAAO,CAACwB,UAAD,EAAavB,KAAb,EAAoBC,OAApB,CAAd;AACH,GAFD;;AAGA,SAAOM,MAAM,CAACC,MAAP,CAAciB,MAAd,EAAsB;AACzBD,IAAAA,QAAQ,EAAEH,YAAY,CAACK,IAAb,CAAkB,IAAlB,EAAwBH,UAAxB,CADe;AAEzBR,IAAAA,QAAQ,EAAEY,eAAO,CAACZ;AAFO,GAAtB,CAAP;AAIH;;MCPYhB,SAAO,GAAGsB,YAAY,CAAC9B,eAAD,EAAU;AACzCC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBZ,OAAQ,IAAGgD,+BAAY,EAAG;AADzD,GADgC;AAIzCC,EAAAA,MAAM,EAAE,MAJiC;AAKzCX,EAAAA,GAAG,EAAE;AALoC,CAAV,CAA5B;AAOP,AACO,SAASY,iBAAT,CAA2BC,aAA3B,EAA0C;AAC7C,SAAOV,YAAY,CAACU,aAAD,EAAgB;AAC/BF,IAAAA,MAAM,EAAE,MADuB;AAE/BX,IAAAA,GAAG,EAAE;AAF0B,GAAhB,CAAnB;AAIH;;;;;;"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/error.js new file mode 100644 index 0000000000..182f967aa5 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/error.js @@ -0,0 +1,21 @@ +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) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/graphql.js new file mode 100644 index 0000000000..8297f84534 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/graphql.js @@ -0,0 +1,52 @@ +import { GraphqlResponseError } from "./error"; +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +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/@actions/artifact/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/index.js new file mode 100644 index 0000000000..2a7d06b949 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/index.js @@ -0,0 +1,18 @@ +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import { withDefaults } from "./with-defaults"; +export const graphql = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); +export { GraphqlResponseError } from "./error"; +export function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} diff --git a/node_modules/@octokit/request-error/dist-src/types.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/types.js similarity index 100% rename from node_modules/@octokit/request-error/dist-src/types.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/types.js diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/version.js new file mode 100644 index 0000000000..3a4f8fff63 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "4.8.0"; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/with-defaults.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/with-defaults.js new file mode 100644 index 0000000000..6ea309e3ab --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-src/with-defaults.js @@ -0,0 +1,12 @@ +import { request as Request } from "@octokit/request"; +import { graphql } from "./graphql"; +export 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: Request.endpoint, + }); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/error.d.ts new file mode 100644 index 0000000000..3bd37ada3b --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -0,0 +1,13 @@ +import { ResponseHeaders } from "@octokit/types"; +import { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; +declare 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/@actions/artifact/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/graphql.d.ts new file mode 100644 index 0000000000..2942b8b6ea --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/graphql.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { RequestParameters, GraphQlQueryResponseData } from "./types"; +export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/index.d.ts new file mode 100644 index 0000000000..282f98ae8e --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -0,0 +1,5 @@ +import { request } from "@octokit/request"; +export declare const graphql: import("./types").graphql; +export { GraphQlQueryResponseData } from "./types"; +export { GraphqlResponseError } from "./error"; +export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/types.d.ts new file mode 100644 index 0000000000..b266bdbbee --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -0,0 +1,55 @@ +import { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; +export declare type GraphQlEndpointOptions = EndpointOptions & { + variables?: { + [key: string]: unknown; + }; +}; +export declare type RequestParameters = RequestParametersType; +export declare 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 declare type GraphQlResponse = Promise; +export declare type GraphQlQueryResponseData = { + [key: string]: any; +}; +export declare 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/@actions/artifact/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/version.d.ts new file mode 100644 index 0000000000..e80848efd4 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "4.8.0"; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts new file mode 100644 index 0000000000..03edc32050 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { graphql as ApiInterface, RequestParameters } from "./types"; +export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js new file mode 100644 index 0000000000..5307e2634b --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js @@ -0,0 +1,106 @@ +import { request } from '@octokit/request'; +import { getUserAgent } from 'universal-user-agent'; + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return (`Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n")); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // 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) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} + +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // 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; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.endpoint, + }); +} + +const graphql$1 = 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, graphql$1 as graphql, withCustomRequest }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js.map new file mode 100644 index 0000000000..3c6a6ed8ca --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\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 }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).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 // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\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(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function 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: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":";;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA1C,SAAS,8BAA8B,CAAC,IAAI,EAAE;AAC9C,IAAI,QAAQ,CAAC,kDAAkD,CAAC;AAChE,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9D,CAAC;AACD,AAAO,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAChD,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,QAAQ,KAAK,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;AAC3C;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,QAAQ,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClC;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,KAAK;AACL,CAAC;;ACnBD,MAAM,oBAAoB,GAAG;AAC7B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW;AACf,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,AAAO,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE;AAC7D,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,CAAC;AAC3G,SAAS;AACT,QAAQ,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,gBAAgB,SAAS;AACzB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AAChG,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC9E,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChD,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7C,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,YAAY,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACnD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;AACA;AACA,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/E,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AACtD,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAClC,YAAY,MAAM,OAAO,GAAG,EAAE,CAAC;AAC/B,YAAY,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7D,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACrD,aAAa;AACb,YAAY,MAAM,IAAI,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACjDM,SAAS,YAAY,CAACA,SAAO,EAAE,WAAW,EAAE;AACnD,IAAI,MAAM,UAAU,GAAGA,SAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AACvC,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,QAAQ,QAAQ,EAAEC,OAAO,CAAC,QAAQ;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACPW,MAACC,SAAO,GAAG,YAAY,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,GAAG,EAAE,UAAU;AACnB,CAAC,CAAC,CAAC;AACH,AACO,SAAS,iBAAiB,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,YAAY,CAAC,aAAa,EAAE;AACvC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,UAAU;AACvB,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/LICENSE similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/LICENSE diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/README.md b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/README.md similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/README.md rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/README.md diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-node/index.js.map diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/AuthInterface.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/AuthInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/AuthInterface.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointDefaults.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointDefaults.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointDefaults.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointInterface.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointInterface.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointOptions.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/EndpointOptions.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Fetch.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Fetch.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Fetch.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/OctokitResponse.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/OctokitResponse.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/OctokitResponse.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestError.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestError.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestError.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestHeaders.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestHeaders.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestInterface.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestInterface.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestMethod.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestMethod.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestOptions.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestOptions.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestParameters.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestParameters.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestParameters.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestRequestOptions.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestRequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/RequestRequestOptions.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/ResponseHeaders.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/ResponseHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/ResponseHeaders.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Route.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Route.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Route.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Signal.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Signal.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Signal.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/StrategyInterface.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/StrategyInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/StrategyInterface.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Url.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Url.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/Url.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/VERSION.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/VERSION.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/VERSION.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/generated/Endpoints.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/generated/Endpoints.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/generated/Endpoints.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/index.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-src/index.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/AuthInterface.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/AuthInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/AuthInterface.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Fetch.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Fetch.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Fetch.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestError.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestError.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestError.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestInterface.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestInterface.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestMethod.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestMethod.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestOptions.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestParameters.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestParameters.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestParameters.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Route.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Route.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Route.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Signal.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Signal.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Signal.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Url.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Url.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/Url.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/VERSION.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/VERSION.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/VERSION.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/index.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-types/index.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/dist-web/index.js.map diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/types/package.json b/node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/package.json similarity index 100% rename from node_modules/@octokit/graphql/node_modules/@octokit/types/package.json rename to node_modules/@actions/artifact/node_modules/@octokit/graphql/node_modules/@octokit/types/package.json diff --git a/node_modules/@actions/artifact/node_modules/@octokit/graphql/package.json b/node_modules/@actions/artifact/node_modules/@octokit/graphql/package.json new file mode 100644 index 0000000000..9ba3cb737e --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/graphql/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/graphql", + "description": "GitHub GraphQL API client for browsers and Node", + "version": "4.8.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "graphql" + ], + "repository": "github:octokit/graphql.js", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@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.2.5", + "@types/jest": "^27.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "jest": "^27.0.0", + "prettier": "2.3.2", + "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/@actions/artifact/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request-error/dist-node/index.js index ad4bc5fbb7..9e50e4389a 100644 --- a/node_modules/@actions/artifact/node_modules/@octokit/request-error/dist-node/index.js +++ b/node_modules/@actions/artifact/node_modules/@octokit/request-error/dist-node/index.js @@ -57,7 +57,7 @@ var RequestError = class extends Error { if (options.request.headers.authorization) { requestCopy.headers = Object.assign({}, options.request.headers, { authorization: options.request.headers.authorization.replace( - / .*$/, + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n / .*$/,\n \" [REDACTED]\"\n )\n });\n }\n requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(\n new Deprecation(\n \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n )\n );\n return statusCode;\n }\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(\n new Deprecation(\n \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n )\n );\n return headers || {};\n }\n });\n }\n}\nexport {\n RequestError\n};\n"], + "sourcesContent": ["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n / .*$/,\n \" [REDACTED]\"\n )\n });\n }\n requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(\n new Deprecation(\n \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n )\n );\n return statusCode;\n }\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(\n new Deprecation(\n \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n )\n );\n return headers || {};\n }\n });\n }\n}\nexport {\n RequestError\n};\n"], + "sourcesContent": ["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? 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) +[![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 [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. +the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) +([node-fetch](https://github.com/bitinn/node-fetch) in Node). -- [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](#features) +- [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) + - [Alternative: pass `method` & `url` as part of options](#alternative-pass-method--url-as-part-of-options) +- [Authentication](#authentication) +- [request()](#request) +- [`request.defaults()`](#requestdefaults) +- [`request.endpoint`](#requestendpoint) +- [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) +- [LICENSE](#license) @@ -58,7 +57,7 @@ request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - `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)` +- `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. @@ -71,11 +70,11 @@ request("POST /repos/{owner}/{repo}/issues/{number}/labels", { Browsers -Load @octokit/request directly from esm.sh - +Load @octokit/request directly from cdn.skypack.dev + ```html ``` @@ -87,7 +86,8 @@ Node Install with npm install @octokit/request ```js -import { request } from "@octokit/request"; +const { request } = require("@octokit/request"); +// or: import { request } from "@octokit/request"; ``` @@ -164,7 +164,7 @@ 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 { createAppAuth } = require("@octokit/auth-app"); const auth = createAppAuth({ appId: process.env.APP_ID, privateKey: process.env.PRIVATE_KEY, @@ -186,7 +186,7 @@ const { data: app } = await requestWithAuth( owner: "octocat", repo: "hello-world", title: "Hello from the engine room", - }, + } ); ``` @@ -246,36 +246,35 @@ const { data: app } = await requestWithAuth( - options.method + options.mediaType.format String - Any supported http verb, case-insensitive. Defaults to Get. + Media type param, such as `raw`, `html`, or `full`. See Media Types. - options.mediaType.format + options.mediaType.previews - String + Array of strings - Media type param, such as `raw`, `html`, or `full`. See Media Types. + Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See API Previews. - options.mediaType.previews + options.method - Array of strings + String - 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. + Any supported http verb, case insensitive. Defaults to Get. @@ -301,7 +300,17 @@ const { data: app } = await requestWithAuth( 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 @@ -310,7 +319,7 @@ const { data: app } = await requestWithAuth( Function - Custom replacement for fetch. Useful for testing or request hooks. + Custom replacement for built-in fetch method. Useful for testing or request hooks. @@ -321,7 +330,7 @@ const { data: app } = await requestWithAuth( 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. + 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. @@ -345,15 +354,15 @@ const { data: app } = await requestWithAuth( Used for internal logging. Defaults to console. - + - options.request.parseSuccessResponseBody + options.request.timeout - boolean + Number - 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. + Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). options.request.signal is recommended instead. @@ -366,7 +375,7 @@ All other options except `options.request.*` will be passed depending on the `me **Result** -`request` returns a promise. If the request was successful, the promise resolves with an object containing 4 keys: +`request` returns a promise and resolves with 4 keys @@ -404,21 +413,18 @@ All other options except `options.request.*` will be passed depending on the `me
-If an error occurs, the promise is rejected with an `error` object containing 3 keys to help with debugging: +If an error occurs, the `error` instance has additional properties 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({ +const myrequest = require("@octokit/request").defaults({ baseUrl: "https://github-enterprise.acme-inc.com/api/v3", headers: { "user-agent": "myApp/1.2.3", @@ -536,44 +542,10 @@ request( authorization: `token 0000000000000000000000000000000000000001`, }, data: "Hello, world!", - }, + } ); ``` -### Set a custom Agent to your requests - -The way to pass a custom `Agent` to requests is by creating a custom `fetch` function and pass it as `options.request.fetch`. A good example can be [undici's `fetch` implementation](https://undici.nodejs.org/#/?id=undicifetchinput-init-promise). - -Example ([See example in CodeSandbox](https://codesandbox.io/p/sandbox/nifty-stitch-wdlwlf)) - -```js -import { request } from "@octokit/request"; -import { fetch as undiciFetch, Agent } from "undici"; - -/** @type {typeof import("undici").fetch} */ -const myFetch = (url, options) => { - return undiciFetch(url, { - ...options, - dispatcher: new Agent({ - keepAliveTimeout: 10, - keepAliveMaxTimeout: 10, - }), - }); -}; - -const { data } = await request("GET /users/{username}", { - username: "octocat", - headers: { - "X-GitHub-Api-Version": "2022-11-28", - }, - options: { - request: { - fetch: myFetch, - }, - }, -}); -``` - ## LICENSE [MIT](LICENSE) diff --git a/node_modules/@octokit/request/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-node/index.js similarity index 100% rename from node_modules/@octokit/request/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-node/index.js diff --git a/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/request/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-node/index.js.map diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 0000000000..79653c4242 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,119 @@ +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); + } + let headers = {}; + let status; + let url; + const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect, + }, + // `requestOptions.request.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 requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined, + }, + request: requestOptions, + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response), + }, + request: requestOptions, + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data, + }, + request: requestOptions, + }); + throw error; + } + return getResponseData(response); + }) + .then((data) => { + return { + status, + url, + headers, + data, + }; + }) + .catch((error) => { + if (error instanceof RequestError) + 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(); + } + 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/get-buffer-response.js b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/get-buffer-response.js similarity index 100% rename from node_modules/@octokit/request/dist-src/get-buffer-response.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/get-buffer-response.js diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/index.js new file mode 100644 index 0000000000..2460e992c7 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/index.js @@ -0,0 +1,9 @@ +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import withDefaults from "./with-defaults"; +export const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, +}); diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/version.js b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 0000000000..a068c68c62 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "5.6.3"; diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/with-defaults.js new file mode 100644 index 0000000000..e206429457 --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-src/with-defaults.js @@ -0,0 +1,22 @@ +import fetchWrapper from "./fetch-wrapper"; +export default function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); +} diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 0000000000..4901c79e7c --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,11 @@ +import { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType & { + redirect?: "error" | "follow" | "manual"; +}): Promise<{ + status: number; + url: string; + headers: { + [header: string]: string; + }; + data: any; +}>; diff --git a/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts similarity index 100% rename from node_modules/@octokit/request/dist-types/get-buffer-response.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-types/index.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/index.d.ts diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/version.d.ts new file mode 100644 index 0000000000..5629807eaa --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.6.3"; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/with-defaults.d.ts similarity index 56% rename from node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/with-defaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/with-defaults.d.ts index 4300682f02..00804693a6 100644 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -1,2 +1,2 @@ -import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; +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/@actions/artifact/node_modules/@octokit/request/dist-web/index.js similarity index 100% rename from node_modules/@octokit/request/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-web/index.js diff --git a/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/request/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/request/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/request/dist-web/index.js.map diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/LICENSE similarity index 100% rename from node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/LICENSE diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/README.md b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/README.md new file mode 100644 index 0000000000..1bf538436c --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 0000000000..619f462b18 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js.map new file mode 100644 index 0000000000..9134ddb4ca --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000000..5eb192764d --- /dev/null +++ b/node_modules/@actions/artifact/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-error/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/types.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/AuthInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/types.js diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 0000000000..d6e089c9bb --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000000..7785231f78 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000000..0fb64be848 --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js.map new file mode 100644 index 0000000000..78f677f49a --- /dev/null +++ b/node_modules/@actions/artifact/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/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/package.json b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000000..2f5b239422 --- /dev/null +++ b/node_modules/@actions/artifact/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/plugin-retry/node_modules/@octokit/types/LICENSE b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/LICENSE similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/LICENSE rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/LICENSE diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/README.md b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/README.md similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/README.md rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/README.md diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js.map similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js.map diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/AuthInterface.js similarity index 100% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-src/AuthInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/AuthInterface.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointDefaults.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointDefaults.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointDefaults.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointInterface.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointInterface.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointOptions.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointOptions.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Fetch.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Fetch.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Fetch.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/OctokitResponse.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/OctokitResponse.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/OctokitResponse.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestError.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestError.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestError.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestHeaders.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestHeaders.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestInterface.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestInterface.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestMethod.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestMethod.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestMethod.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestOptions.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestOptions.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestParameters.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestParameters.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestParameters.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestRequestOptions.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestRequestOptions.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestRequestOptions.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/ResponseHeaders.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/ResponseHeaders.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/ResponseHeaders.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Route.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Route.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Route.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Signal.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Signal.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Signal.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/StrategyInterface.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/StrategyInterface.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/StrategyInterface.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Url.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Url.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Url.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/VERSION.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/VERSION.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/VERSION.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/generated/Endpoints.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/generated/Endpoints.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/generated/Endpoints.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/index.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/index.js diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/AuthInterface.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/AuthInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/AuthInterface.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Fetch.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Fetch.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Fetch.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestError.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestError.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestError.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestInterface.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestInterface.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestMethod.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestMethod.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestMethod.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestOptions.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestParameters.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestParameters.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestParameters.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Route.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Route.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Route.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Signal.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Signal.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Signal.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Url.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Url.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Url.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/VERSION.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/VERSION.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/VERSION.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/index.d.ts rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/index.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js.map similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js.map rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js.map diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/package.json b/node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/package.json similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/package.json rename to node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/types/package.json diff --git a/node_modules/@actions/artifact/node_modules/@octokit/request/package.json b/node_modules/@actions/artifact/node_modules/@octokit/request/package.json new file mode 100644 index 0000000000..e38c95577f --- /dev/null +++ b/node_modules/@actions/artifact/node_modules/@octokit/request/package.json @@ -0,0 +1,56 @@ +{ + "name": "@octokit/request", + "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", + "version": "5.6.3", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "request" + ], + "repository": "github:octokit/request.js", + "dependencies": { + "@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": "^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.2.4", + "@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": "^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", + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^27.0.0", + "typescript": "^4.0.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/@actions/artifact/package.json b/node_modules/@actions/artifact/package.json index fefa6abeee..3e580852b3 100644 --- a/node_modules/@actions/artifact/package.json +++ b/node_modules/@actions/artifact/package.json @@ -1,6 +1,6 @@ { "name": "@actions/artifact", - "version": "2.1.9", + "version": "2.3.1", "preview": true, "description": "Actions artifact lib", "keywords": [ @@ -50,9 +50,7 @@ "@octokit/request-error": "^5.0.0", "@protobuf-ts/plugin": "^2.2.3-alpha.1", "archiver": "^7.0.1", - "crypto": "^1.0.1", "jwt-decode": "^3.1.2", - "twirp-ts": "^2.5.0", "unzip-stream": "^0.3.1" }, "devDependencies": { diff --git a/node_modules/@actions/github/lib/context.js b/node_modules/@actions/github/lib/context.js index 767933ce05..f4e0afbdad 100644 --- a/node_modules/@actions/github/lib/context.js +++ b/node_modules/@actions/github/lib/context.js @@ -11,8 +11,8 @@ class Context { var _a, _b, _c; this.payload = {}; if (process.env.GITHUB_EVENT_PATH) { - if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); } else { const path = process.env.GITHUB_EVENT_PATH; @@ -30,7 +30,8 @@ class Context { this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; - this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; + this.graphqlUrl = + (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; } get issue() { const payload = this.payload; diff --git a/node_modules/@actions/github/lib/context.js.map b/node_modules/@actions/github/lib/context.js.map index 91fb9a9d5b..45d2073418 100644 --- a/node_modules/@actions/github/lib/context.js.map +++ b/node_modules/@actions/github/lib/context.js.map @@ -1 +1 @@ -{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAmBlB;;OAEG;IACH;;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,eAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;QAC/C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAA2B,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAuB,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,SAAG,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,wBAAwB,CAAA;QACpE,IAAI,CAAC,SAAS,SAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,mCAAI,oBAAoB,CAAA;QACtE,IAAI,CAAC,UAAU,SACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,mCAAI,gCAAgC,CAAA;IACtE,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AA3ED,0BA2EC"} \ No newline at end of file +{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAmBlB;;OAEG;IACH;;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,IAAA,iBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;QAC/C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAA2B,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAuB,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,wBAAwB,CAAA;QACpE,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,mCAAI,oBAAoB,CAAA;QACtE,IAAI,CAAC,UAAU;YACb,MAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,mCAAI,gCAAgC,CAAA;IACtE,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AA3ED,0BA2EC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/github.js b/node_modules/@actions/github/lib/github.js index b717a6b4a8..ea73b56ae4 100644 --- a/node_modules/@actions/github/lib/github.js +++ b/node_modules/@actions/github/lib/github.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; }; @@ -31,7 +35,7 @@ exports.context = new Context.Context(); */ function getOctokit(token, options, ...additionalPlugins) { const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); - return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options)); + return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options)); } exports.getOctokit = getOctokit; //# sourceMappingURL=github.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/github.js.map b/node_modules/@actions/github/lib/github.js.map index 60be74b5c6..e643866b40 100644 --- a/node_modules/@actions/github/lib/github.js.map +++ b/node_modules/@actions/github/lib/github.js.map @@ -1 +1 @@ -{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mCAAiD;AAKpC,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,KAAa,EACb,OAAwB,EACxB,GAAG,iBAAkC;IAErC,MAAM,iBAAiB,GAAG,cAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC7D,OAAO,IAAI,iBAAiB,CAAC,yBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAPD,gCAOC"} \ No newline at end of file +{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mCAAiD;AAKpC,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,KAAa,EACb,OAAwB,EACxB,GAAG,iBAAkC;IAErC,MAAM,iBAAiB,GAAG,cAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC7D,OAAO,IAAI,iBAAiB,CAAC,IAAA,yBAAiB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAPD,gCAOC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/internal/utils.d.ts b/node_modules/@actions/github/lib/internal/utils.d.ts index 5790d91f06..8d23693492 100644 --- a/node_modules/@actions/github/lib/internal/utils.d.ts +++ b/node_modules/@actions/github/lib/internal/utils.d.ts @@ -1,6 +1,9 @@ /// import * as http from 'http'; import { OctokitOptions } from '@octokit/core/dist-types/types'; +import { ProxyAgent, fetch } from 'undici'; export declare function getAuthString(token: string, options: OctokitOptions): string | undefined; export declare function getProxyAgent(destinationUrl: string): http.Agent; +export declare function getProxyAgentDispatcher(destinationUrl: string): ProxyAgent | undefined; +export declare function getProxyFetch(destinationUrl: any): typeof fetch; export declare function getApiBaseUrl(): string; diff --git a/node_modules/@actions/github/lib/internal/utils.js b/node_modules/@actions/github/lib/internal/utils.js index 175a4daeba..d2e23c03a3 100644 --- a/node_modules/@actions/github/lib/internal/utils.js +++ b/node_modules/@actions/github/lib/internal/utils.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,13 +18,23 @@ 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; }; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; +exports.getApiBaseUrl = exports.getProxyFetch = exports.getProxyAgentDispatcher = exports.getProxyAgent = exports.getAuthString = void 0; const httpClient = __importStar(require("@actions/http-client")); +const undici_1 = require("undici"); function getAuthString(token, options) { if (!token && !options.auth) { throw new Error('Parameter token or opts.auth is required'); @@ -36,6 +50,19 @@ function getProxyAgent(destinationUrl) { return hc.getAgent(destinationUrl); } exports.getProxyAgent = getProxyAgent; +function getProxyAgentDispatcher(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgentDispatcher(destinationUrl); +} +exports.getProxyAgentDispatcher = getProxyAgentDispatcher; +function getProxyFetch(destinationUrl) { + const httpDispatcher = getProxyAgentDispatcher(destinationUrl); + const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () { + return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); + }); + return proxyFetch; +} +exports.getProxyFetch = getProxyFetch; function getApiBaseUrl() { return process.env['GITHUB_API_URL'] || 'https://api.github.com'; } diff --git a/node_modules/@actions/github/lib/internal/utils.js.map b/node_modules/@actions/github/lib/internal/utils.js.map index f1f519d5f3..0293cbf1bb 100644 --- a/node_modules/@actions/github/lib/internal/utils.js.map +++ b/node_modules/@actions/github/lib/internal/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,iEAAkD;AAGlD,SAAgB,aAAa,CAC3B,KAAa,EACb,OAAuB;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;SAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;KAC5E;IAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;AAC3E,CAAC;AAXD,sCAWC;AAED,SAAgB,aAAa,CAAC,cAAsB;IAClD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAHD,sCAGC;AAED,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,CAAA;AAClE,CAAC;AAFD,sCAEC"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iEAAkD;AAElD,mCAAwC;AAExC,SAAgB,aAAa,CAC3B,KAAa,EACb,OAAuB;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;SAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;KAC5E;IAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;AAC3E,CAAC;AAXD,sCAWC;AAED,SAAgB,aAAa,CAAC,cAAsB;IAClD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAHD,sCAGC;AAED,SAAgB,uBAAuB,CACrC,cAAsB;IAEtB,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;AAC9C,CAAC;AALD,0DAKC;AAED,SAAgB,aAAa,CAAC,cAAc;IAC1C,MAAM,cAAc,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAiB,CAAO,GAAG,EAAE,IAAI,EAAE,EAAE;QACnD,OAAO,IAAA,cAAK,EAAC,GAAG,kCACX,IAAI,KACP,UAAU,EAAE,cAAc,IAC1B,CAAA;IACJ,CAAC,CAAA,CAAA;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AATD,sCASC;AAED,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,CAAA;AAClE,CAAC;AAFD,sCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/utils.js b/node_modules/@actions/github/lib/utils.js index d803f019ff..0dbb6ef205 100644 --- a/node_modules/@actions/github/lib/utils.js +++ b/node_modules/@actions/github/lib/utils.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; }; @@ -31,7 +35,8 @@ const baseUrl = Utils.getApiBaseUrl(); exports.defaults = { baseUrl, request: { - agent: Utils.getProxyAgent(baseUrl) + agent: Utils.getProxyAgent(baseUrl), + fetch: Utils.getProxyFetch(baseUrl) } }; exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); diff --git a/node_modules/@actions/github/lib/utils.js.map b/node_modules/@actions/github/lib/utils.js.map index 7221d06878..f68bc40bef 100644 --- a/node_modules/@actions/github/lib/utils.js.map +++ b/node_modules/@actions/github/lib/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,wDAAyC;AAEzC,oBAAoB;AACpB,wCAAqC;AAErC,wFAAyE;AACzE,wEAA0D;AAE7C,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;AACxB,QAAA,QAAQ,GAAmB;IACtC,OAAO;IACP,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;KACpC;CACF,CAAA;AAEY,QAAA,MAAM,GAAG,cAAO,CAAC,MAAM,CAClC,kDAAmB,EACnB,mCAAY,CACb,CAAC,QAAQ,CAAC,gBAAQ,CAAC,CAAA;AAEpB;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA,CAAC,iEAAiE;IAE/G,OAAO;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7C,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,8CAaC"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,wDAAyC;AAEzC,oBAAoB;AACpB,wCAAqC;AAErC,wFAAyE;AACzE,wEAA0D;AAE7C,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;AACxB,QAAA,QAAQ,GAAmB;IACtC,OAAO;IACP,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;KACpC;CACF,CAAA;AAEY,QAAA,MAAM,GAAG,cAAO,CAAC,MAAM,CAClC,kDAAmB,EACnB,mCAAY,CACb,CAAC,QAAQ,CAAC,gBAAQ,CAAC,CAAA;AAEpB;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA,CAAC,iEAAiE;IAE/G,OAAO;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7C,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,8CAaC"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@actions/github/node_modules/@octokit/openapi-types/LICENSE similarity index 100% rename from node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/LICENSE rename to node_modules/@actions/github/node_modules/@octokit/openapi-types/LICENSE diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/README.md b/node_modules/@actions/github/node_modules/@octokit/openapi-types/README.md similarity index 66% rename from node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/README.md rename to node_modules/@actions/github/node_modules/@octokit/openapi-types/README.md index 9da833cfb9..e61ed8d2d2 100644 --- a/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/README.md +++ b/node_modules/@actions/github/node_modules/@octokit/openapi-types/README.md @@ -2,7 +2,7 @@ > 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/) +This package is continuously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) ## Usage diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/package.json b/node_modules/@actions/github/node_modules/@octokit/openapi-types/package.json similarity index 89% rename from node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/package.json rename to node_modules/@actions/github/node_modules/@octokit/openapi-types/package.json index 24484a5eb5..ade207b2ac 100644 --- a/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/package.json +++ b/node_modules/@actions/github/node_modules/@octokit/openapi-types/package.json @@ -9,12 +9,12 @@ "publishConfig": { "access": "public" }, - "version": "12.11.0", + "version": "20.0.0", "main": "", "types": "types.d.ts", "author": "Gregor Martynus (https://twitter.com/gr2m)", "license": "MIT", "octokit": { - "openapi-version": "6.8.0" + "openapi-version": "14.0.0" } } diff --git a/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@actions/github/node_modules/@octokit/openapi-types/types.d.ts similarity index 84% rename from node_modules/@octokit/openapi-types/types.d.ts rename to node_modules/@actions/github/node_modules/@octokit/openapi-types/types.d.ts index 8e89b4c35b..439fc2de2b 100644 --- a/node_modules/@octokit/openapi-types/types.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/openapi-types/types.d.ts @@ -11,8 +11,8 @@ type XOR = T | U extends object type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] - ? OneOf<[XOR, ...Rest]> - : never; + ? OneOf<[XOR, ...Rest]> + : never; export interface paths { "/": { @@ -22,10 +22,26 @@ export interface paths { */ 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/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * @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. */ @@ -91,7 +107,7 @@ export interface paths { "/app/installations": { /** * List installations for the authenticated app - * @description 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. + * @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. */ @@ -107,7 +123,7 @@ export interface paths { get: operations["apps/get-installation"]; /** * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ @@ -116,7 +132,13 @@ export interface paths { "/app/installations/{installation_id}/access_tokens": { /** * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * @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. + * + * When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported. * * 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. */ @@ -166,7 +188,15 @@ export interface paths { "/applications/{client_id}/token/scoped": { /** * Create a scoped access token - * @description Use a non-scoped user-to-server access token to create a repository scoped and/or permission scoped user-to-server access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @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`. + * + * You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) + * when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App + * as the username and password. */ post: operations["apps/scope-token"]; }; @@ -174,17 +204,63 @@ export interface paths { /** * Get an app * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ get: operations["apps/get-by-slug"]; }; + "/assignments/{assignment_id}": { + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-an-assignment"]; + }; + "/assignments/{assignment_id}/accepted_assignments": { + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/list-accepted-assigments-for-an-assignment"]; + }; + "/assignments/{assignment_id}/grades": { + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-assignment-grades"]; + }; + "/classrooms": { + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + get: operations["classroom/list-classrooms"]; + }; + "/classrooms/{classroom_id}": { + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/get-a-classroom"]; + }; + "/classrooms/{classroom_id}/assignments": { + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/list-assignments-for-a-classroom"]; + }; "/codes_of_conduct": { - /** Get all codes of conduct */ + /** + * 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 */ + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ get: operations["codes-of-conduct/get-conduct-code"]; }; "/emojis": { @@ -198,9 +274,12 @@ export interface paths { /** * List Dependabot alerts for an enterprise * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. + * + * 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"]; }; @@ -208,7 +287,12 @@ export interface paths { /** * List secret scanning alerts for an enterprise * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. */ get: operations["secret-scanning/list-alerts-for-enterprise"]; }; @@ -225,7 +309,7 @@ export interface paths { * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: * * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **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 @@ -255,7 +339,7 @@ export interface paths { * List public gists * @description List public gists sorted by most recently updated to least recently updated. * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + * 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"]; }; @@ -267,7 +351,15 @@ export interface paths { get: operations["gists/list-starred"]; }; "/gists/{gist_id}": { - /** Get a gist */ + /** + * 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"]; @@ -278,17 +370,49 @@ export interface paths { patch: operations["gists/update"]; }; "/gists/{gist_id}/comments": { - /** List gist 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 */ + /** + * 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 */ + /** + * 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 */ + /** + * 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": { @@ -306,28 +430,39 @@ export interface paths { get: operations["gists/check-is-starred"]; /** * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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 */ + /** + * 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/reference/repos#create-a-repository-for-the-authenticated-user). + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). */ get: operations["gitignore/get-all-templates"]; }; "/gitignore/templates/{name}": { /** * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + * @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"]; }; @@ -335,8 +470,6 @@ export interface paths { /** * List repositories accessible to the app installation * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ get: operations["apps/list-repos-accessible-to-installation"]; }; @@ -345,9 +478,7 @@ export interface paths { * 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/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. + * 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"]; }; @@ -358,20 +489,32 @@ export interface paths { * 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/reference/pulls#list-pull-requests)" endpoint. + * 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 */ + /** + * 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 */ + /** + * 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": { @@ -390,7 +533,7 @@ export interface paths { * Get a subscription plan for an account * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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"]; }; @@ -399,7 +542,7 @@ export interface paths { * List plans * @description Lists all plans that are part of your GitHub Marketplace listing. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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"]; }; @@ -408,7 +551,7 @@ export interface paths { * List accounts for a plan * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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"]; }; @@ -417,7 +560,7 @@ export interface paths { * Get a subscription plan for an account (stubbed) * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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"]; }; @@ -426,7 +569,7 @@ export interface paths { * List plans (stubbed) * @description Lists all plans that are part of your GitHub Marketplace listing. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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"]; }; @@ -435,7 +578,7 @@ export interface paths { * List accounts for a plan (stubbed) * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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"]; }; @@ -464,7 +607,7 @@ export interface paths { 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/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + * @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"]; }; @@ -474,6 +617,11 @@ export interface paths { * @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. @@ -483,7 +631,7 @@ export interface paths { "/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/reference/activity#get-a-repository-subscription). + * @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. */ @@ -494,12 +642,12 @@ export interface paths { * * 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. + * 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/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. + * @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"]; }; @@ -519,88 +667,18 @@ export interface paths { */ get: operations["orgs/list"]; }; - "/organizations/{org}/personal-access-token-requests": { - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-requests"]; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-requests-in-bulk"]; - }; - "/organizations/{org}/personal-access-token-requests/{pat_request_id}": { + "/orgs/{org}": { /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. + * Get an organization + * @description Gets information about an organization. * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-request"]; - }; - "/organizations/{org}/personal-access-token-requests/{pat_request_id}/repositories": { - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. + * 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/). * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-request-repositories"]; - }; - "/organizations/{org}/personal-access-tokens": { - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. + * To see the full details about an organization, the authenticated user must be an organization owner. * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grants"]; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-accesses"]; - }; - "/organizations/{org}/personal-access-tokens/{pat_id}": { - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-access"]; - }; - "/organizations/{org}/personal-access-tokens/{pat_id}/repositories": { - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-repositories"]; - }; - "/orgs/{org}": { - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. */ get: operations["orgs/get"]; /** @@ -618,7 +696,11 @@ export interface paths { * Update an organization * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. + * 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"]; }; @@ -627,7 +709,8 @@ export interface paths { * Get GitHub Actions cache usage for an organization * @description Gets the total GitHub Actions cache usage for an organization. * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + * + * 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"]; }; @@ -636,7 +719,8 @@ export interface paths { * List repositories with GitHub Actions cache usage for an organization * @description Lists repositories and their GitHub Actions cache usage for an organization. * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + * + * 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"]; }; @@ -644,15 +728,15 @@ export interface paths { /** * Get the customization template for an OIDC subject claim for an organization * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * + * 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. - * 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. + * + * 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"]; }; @@ -661,14 +745,14 @@ export interface paths { * Get GitHub Actions permissions for an organization * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * 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. * - * 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. + * 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"]; }; @@ -677,14 +761,15 @@ export interface paths { * List selected repositories enabled for GitHub Actions in an organization * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * 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)." * - * 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. + * + * 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"]; }; @@ -693,30 +778,30 @@ export interface paths { * Enable a selected repository for GitHub Actions in an organization * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * 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)." * - * 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. + * 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)."" + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * 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)." * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ put: operations["actions/set-allowed-actions-organization"]; }; @@ -727,7 +812,7 @@ export interface paths { * 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. + * 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"]; /** @@ -736,105 +821,18 @@ export interface paths { * 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. + * 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/required_workflows": { - /** - * List required workflows - * @description List all required workflows in an organization. - * - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - get: operations["actions/list-required-workflows"]; - /** - * Create a required workflow - * @description Create a required workflow in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - post: operations["actions/create-required-workflow"]; - }; - "/orgs/{org}/actions/required_workflows/{required_workflow_id}": { - /** - * Get a required workflow - * @description Get a required workflow configured in an organization. - * - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - get: operations["actions/get-required-workflow"]; - /** - * Delete a required workflow - * @description Deletes a required workflow configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - delete: operations["actions/delete-required-workflow"]; - /** - * Update a required workflow - * @description Update a required workflow in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - patch: operations["actions/update-required-workflow"]; - }; - "/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories": { - /** - * List selected repositories for a required workflow - * @description Lists the selected repositories that are configured for a required workflow in an organization. To use this endpoint, the required workflow must be configured to run on selected repositories. - * - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - get: operations["actions/list-selected-repositories-required-workflow"]; - /** - * Sets repositories for a required workflow - * @description Sets the repositories for a required workflow that is required for selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - put: operations["actions/set-selected-repos-to-required-workflow"]; - }; - "/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}": { - /** - * Add a repository to a required workflow - * @description Adds a repository to a required workflow. To use this endpoint, the required workflow must be configured to run on selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - put: operations["actions/add-selected-repo-to-required-workflow"]; - /** - * Remove a selected repository from required workflow - * @description Removes a repository from a required workflow. To use this endpoint, the required workflow must be configured to run on selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - delete: operations["actions/remove-selected-repo-from-required-workflow"]; - }; "/orgs/{org}/actions/runners": { /** * List self-hosted runners for an organization * @description Lists all self-hosted runners configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; }; @@ -843,7 +841,9 @@ export interface paths { * List runner applications for an organization * @description Lists binaries for the runner application that you can download and run. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; }; @@ -852,7 +852,9 @@ export interface paths { * Create configuration for a just-in-time runner for an organization * @description Generates a configuration that can be passed to the runner application at startup. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; }; @@ -861,15 +863,15 @@ export interface paths { * Create a registration token for an organization * @description Returns a token that you can pass to the `config` script. The token expires after one hour. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using registration token - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * 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"]; }; @@ -878,16 +880,15 @@ export interface paths { * Create a remove token for an organization * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using remove token - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. + * 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"]; }; @@ -896,14 +897,18 @@ export interface paths { * Get a self-hosted runner for an organization * @description Gets a specific self-hosted runner configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; }; @@ -912,7 +917,9 @@ export interface paths { * List labels for a self-hosted runner for an organization * @description Lists all labels for a self-hosted runner configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; /** @@ -920,14 +927,18 @@ export interface paths { * @description Remove all previous custom labels and set the new custom labels for a specific * self-hosted runner configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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 Add custom labels to a self-hosted runner configured in 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. * - * You must authenticate using an access token with the `admin:org` scope 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"]; /** @@ -935,7 +946,9 @@ export interface paths { * @description Remove all custom labels from a self-hosted runner configured in an * organization. Returns the remaining read-only labels from the runner. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; }; @@ -948,28 +961,44 @@ export interface paths { * 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. + * 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. 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. + * @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. 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. + * @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. 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. + * @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"]; /** @@ -1053,90 +1082,153 @@ export interface paths { put: operations["actions/create-or-update-org-secret"]; /** * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * @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`. 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. + * @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/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. + * @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`. 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. + * @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/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. + * @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. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * @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. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * @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. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * @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`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * @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`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * @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`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * @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"]; }; @@ -1148,11 +1240,20 @@ export interface paths { get: operations["orgs/list-blocked-users"]; }; "/orgs/{org}/blocks/{username}": { - /** Check if a user is blocked by an organization */ + /** + * 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 */ + /** + * 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 */ + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ delete: operations["orgs/unblock-user"]; }; "/orgs/{org}/code-scanning/alerts": { @@ -1160,11 +1261,9 @@ export interface paths { * List code scanning alerts for an organization * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. + * The authenticated user must be an owner or security manager for the organization to use this endpoint. * - * GitHub Apps must have the `security_events` read permission 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"]; }; @@ -1173,194 +1272,254 @@ export interface paths { * List codespaces for the organization * @description Lists the codespaces associated to a specified organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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/billing": { + "/orgs/{org}/codespaces/access": { /** * Manage access control for organization codespaces - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces billing permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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-billing"]; + put: operations["codespaces/set-codespaces-access"]; }; - "/orgs/{org}/codespaces/billing/selected_users": { + "/orgs/{org}/codespaces/access/selected_users": { /** - * Add users to Codespaces billing for an organization + * 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 billing settings for the organization must be set to `selected_members`. For information on how to change this setting please see [these docs].(https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces) You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * 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-billing-users"]; + post: operations["codespaces/set-codespaces-access-users"]; /** - * Removes users from Codespaces billing for an organization + * 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 billing settings for the organization must be set to `selected_members`. For information on how to change this setting please see [these docs].(https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces) You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * 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-billing-users"]; + delete: operations["codespaces/delete-codespaces-access-users"]; }; "/orgs/{org}/codespaces/secrets": { /** * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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 secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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 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. - * - * **Example encrypting a secret using Node.js** - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **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** + * @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)." * - * 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) - * ``` + * 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 secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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 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/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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 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/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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 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/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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 beta and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[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 configure and view details about the organization's Copilot Business subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope 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 beta and is subject to change. + * + * Lists all Copilot seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). + * + * Only organization owners can configure and view details about the organization's Copilot Business or Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + get: operations["copilot/list-copilot-seats"]; + }; + "/orgs/{org}/copilot/billing/selected_teams": { + /** + * Add teams to the Copilot subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope 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 beta and is subject to change. + * + * Cancels the Copilot seat assignment for all members of each team specified. + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; + }; + "/orgs/{org}/copilot/billing/selected_users": { + /** + * Add users to the Copilot subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope 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 beta and is subject to change. + * + * Cancels the Copilot seat assignment for each user specified. + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + }; "/orgs/{org}/dependabot/alerts": { /** * List Dependabot alerts for an organization * @description Lists Dependabot alerts for an organization. * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * The authenticated user must be an owner or security manager for the organization to use this endpoint. * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission 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. 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. + * @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. 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. + * @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. 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. + * @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"]; /** @@ -1444,31 +1603,48 @@ export interface paths { put: operations["dependabot/create-or-update-org-secret"]; /** * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * @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`. 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. + * @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/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. + * @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/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. + * @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/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. + * @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"]; }; @@ -1476,7 +1652,8 @@ export interface paths { /** * Get list of conflicting packages during Docker migration for organization * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + * + * 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"]; }; @@ -1503,30 +1680,30 @@ export interface paths { "/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/reference/orgs#get-a-webhook-configuration-for-an-organization)." + * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." */ get: operations["orgs/get-webhook"]; /** Delete an organization webhook */ delete: operations["orgs/delete-webhook"]; /** * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." + * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." */ patch: operations["orgs/update-webhook"]; }; "/orgs/{org}/hooks/{hook_id}/config": { /** * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `admin:org_hook` scope to use this endpoint. */ 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/reference/orgs#update-an-organization-webhook)." + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + * OAuth app tokens and personal access tokens (classic) need the `admin:org_hook` scope to use this endpoint. */ patch: operations["orgs/update-webhook-config-for-org"]; }; @@ -1570,7 +1747,12 @@ export interface paths { "/orgs/{org}/installations": { /** * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + * @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"]; }; @@ -1601,7 +1783,8 @@ export interface paths { * Create an organization invitation * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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"]; }; @@ -1629,7 +1812,14 @@ export interface paths { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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"]; }; @@ -1657,7 +1847,7 @@ export interface paths { * List codespaces for a user in organization * @description Lists the codespaces that a member of an organization has for repositories in that organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; }; @@ -1666,7 +1856,7 @@ export interface paths { * Delete a codespace from the organization * @description Deletes a user's codespace. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/delete-from-organization"]; }; @@ -1675,10 +1865,23 @@ export interface paths { * Stop a codespace for an organization user * @description Stops a user's codespace. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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 beta and is subject to change. + * + * Gets the GitHub Copilot seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Organization owners can view GitHub Copilot seat assignment details for members in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-details-for-user"]; + }; "/orgs/{org}/memberships/{username}": { /** * Get organization membership for a user @@ -1689,7 +1892,7 @@ export interface paths { * 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/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * * 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. * @@ -1760,6 +1963,171 @@ export interface paths { */ get: operations["migrations/list-repos-for-org"]; }; + "/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"]; + }; + "/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 "[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 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"]; + /** + * Create a custom organization role + * @description Creates a custom organization role that can be assigned to users and teams, granting them specific permissions over the organization. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["orgs/create-custom-organization-role"]; + }; + "/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 "[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)." + * + * 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 "[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)." + * + * 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 "[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)." + * + * 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 "[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)." + * + * 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 "[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)." + * + * 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 "[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)." + * + * 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 "[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 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"]; + /** + * Delete a custom organization role. + * @description Deletes a custom organization role. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/delete-custom-organization-role"]; + /** + * Update a custom organization role + * @description Updates an existing custom organization role. Permission changes will apply to all assignees. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["orgs/patch-custom-organization-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 "[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 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 "[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 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 @@ -1784,7 +2152,7 @@ export interface paths { * List packages for an organization * @description Lists packages in an organization readable by the user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-organization"]; }; @@ -1793,16 +2161,16 @@ export interface paths { * Get a package for an organization * @description Gets a specific package in an organization. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-organization"]; /** * Delete a package for an organization * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-for-org"]; }; @@ -1815,9 +2183,9 @@ export interface paths { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-for-org"]; }; @@ -1826,7 +2194,7 @@ export interface paths { * List package versions for a package owned by an organization * @description Lists package versions for a package owned by an organization. * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; }; @@ -1835,16 +2203,16 @@ export interface paths { * Get a package version for an organization * @description Gets a specific package version in an organization. * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-organization"]; /** * Delete package version for an organization * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-version-for-org"]; }; @@ -1857,12 +2225,80 @@ export interface paths { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ 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}/projects": { /** * List organization projects @@ -1875,6 +2311,71 @@ export interface paths { */ post: operations["projects/create-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/get-all-custom-properties"]; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * 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/create-or-update-custom-properties"]; + }; + "/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/get-custom-property"]; + /** + * 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/create-or-update-custom-property"]; + /** + * 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/remove-custom-property"]; + }; + "/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/list-custom-properties-values-for-repos"]; + /** + * 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/create-or-update-custom-properties-values-for-repos"]; + }; "/orgs/{org}/public_members": { /** * List public organization members @@ -1892,7 +2393,7 @@ export interface paths { * Set public organization membership for the authenticated user * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * 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"]; /** @@ -1913,12 +2414,7 @@ export interface paths { * Create an organization repository * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository + * 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"]; }; @@ -1934,6 +2430,22 @@ export interface paths { */ 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 @@ -1955,21 +2467,32 @@ export interface paths { /** * List secret scanning alerts for an organization * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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}/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 * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. */ get: operations["orgs/list-security-manager-teams"]; }; @@ -1978,18 +2501,18 @@ export interface paths { * Add a security manager team * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. + * The authenticated user must be an administrator for the organization to use this endpoint. * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. */ put: operations["orgs/add-security-manager-team"]; /** * Remove a security manager team * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. + * The authenticated user must be an administrator for the organization to use this endpoint. * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ delete: operations["orgs/remove-security-manager-team"]; }; @@ -2000,7 +2523,7 @@ export interface paths { * * 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. + * 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"]; }; @@ -2011,7 +2534,7 @@ export interface paths { * * 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. + * 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"]; }; @@ -2022,7 +2545,7 @@ export interface paths { * * 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. + * 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"]; }; @@ -2068,98 +2591,124 @@ export interface paths { "/orgs/{org}/teams/{team_slug}/discussions": { /** * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. 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. + * 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/overview/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. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. 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. + * 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/overview/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. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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/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/). + * @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/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. + * @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"]; }; @@ -2168,23 +2717,31 @@ export interface paths { * 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/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 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/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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/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. + * @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"]; }; @@ -2193,7 +2750,9 @@ export interface paths { * 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/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 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"]; }; @@ -2227,7 +2786,7 @@ export interface paths { * **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). + * 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"]; /** @@ -2307,12 +2866,14 @@ export interface paths { * * 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 verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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}`. * @@ -2339,14 +2900,11 @@ export interface paths { "/orgs/{org}/{security_product}/{enablement}": { /** * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. + * @description 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)." * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; }; @@ -2455,35 +3013,21 @@ export interface paths { * 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 `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." + * * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ get: operations["rate-limit/get"]; }; - "/repos/{org}/{repo}/actions/required_workflows": { - /** - * List repository required workflows - * @description Lists the required 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. For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - get: operations["actions/list-repo-required-workflows"]; - }; - "/repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}": { - /** - * Get a required workflow entity for a repository - * @description Gets a specific required workflow present 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. For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - get: operations["actions/get-repo-required-workflow"]; - }; - "/repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/timing": { - /** - * Get required workflow usage - * @description Gets the number of billable minutes used by a specific required workflow during the current billing cycle. - * - * Billable minutes only apply to required workflows running 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-repo-required-workflow-usage"]; - }; "/repos/{owner}/{repo}": { /** * Get a repository @@ -2494,34 +3038,45 @@ export interface paths { get: operations["repos/get"]; /** * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * @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/reference/repos#replace-all-repository-topics) endpoint. + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. */ patch: operations["repos/update"]; }; "/repos/{owner}/{repo}/actions/artifacts": { /** * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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 you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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. 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. + * @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"]; }; @@ -2529,9 +3084,9 @@ export interface paths { /** * 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`. 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. + * 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"]; }; @@ -2540,7 +3095,10 @@ export interface paths { * Get GitHub Actions cache usage for a repository * @description Gets GitHub Actions cache usage for a repository. * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * + * 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"]; }; @@ -2548,17 +3106,15 @@ export interface paths { /** * List GitHub Actions caches for a repository * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. + * + * 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. * - * 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. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ delete: operations["actions/delete-actions-cache-by-key"]; }; @@ -2567,16 +3123,18 @@ export interface paths { * Delete a GitHub Actions cache for a repository (using a cache ID) * @description Deletes a GitHub Actions cache for a repository, using a cache ID. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. + * 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 you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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"]; }; @@ -2584,16 +3142,20 @@ export interface paths { /** * Download job logs for a workflow run * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. + * 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. 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. + * @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"]; }; @@ -2601,29 +3163,38 @@ export interface paths { /** * Get the customization template for an OIDC subject claim for a repository * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + * + * 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. - * 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. + * + * 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. 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. + * @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 organiation variables shared with a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * @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"]; }; @@ -2632,14 +3203,14 @@ export interface paths { * Get GitHub Actions permissions for a repository * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * 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. * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ put: operations["actions/set-github-actions-permissions-repository"]; }; @@ -2650,8 +3221,7 @@ export interface paths { * This endpoint only applies to private repositories. * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ get: operations["actions/get-workflow-access-to-repository"]; /** @@ -2660,8 +3230,7 @@ export interface paths { * This endpoint only applies to private repositories. * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ put: operations["actions/set-workflow-access-to-repository"]; }; @@ -2670,14 +3239,14 @@ export interface paths { * Get allowed actions and reusable workflows for a repository * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * 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)." * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ put: operations["actions/set-allowed-actions-repository"]; }; @@ -2688,7 +3257,7 @@ export interface paths { * 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. + * 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"]; /** @@ -2697,23 +3266,18 @@ export interface paths { * 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. + * 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/required_workflows/{required_workflow_id_for_repo}/runs": { - /** - * List workflow runs for a required workflow - * @description List all workflow runs for a required workflow. 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. For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - get: operations["actions/list-required-workflow-runs"]; - }; "/repos/{owner}/{repo}/actions/runners": { /** * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. + * @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"]; }; @@ -2722,7 +3286,9 @@ export interface paths { * List runner applications for a repository * @description Lists binaries for the runner application that you can download and run. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. + * 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"]; }; @@ -2731,39 +3297,43 @@ export interface paths { * Create configuration for a just-in-time runner for a repository * @description Generates a configuration that can be passed to the runner application at startup. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. + * 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. You must authenticate - * using an access token with the `repo` scope to use this endpoint. - * - * #### Example using registration token + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * 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/octo-repo-artifacts --token TOKEN + * ./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 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. + * @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. * - * #### Example using remove token - * - * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * 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"]; }; @@ -2772,16 +3342,18 @@ export interface paths { * Get a self-hosted runner for a repository * @description Gets a specific self-hosted runner configured in a repository. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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. * - * You must authenticate using an access token with the `repo` - * scope to use this endpoint. + * 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"]; }; @@ -2790,8 +3362,9 @@ export interface paths { * List labels for a self-hosted runner for a repository * @description Lists all labels for a self-hosted runner configured in a repository. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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"]; /** @@ -2799,16 +3372,18 @@ export interface paths { * @description Remove all previous custom labels and set the new custom labels for a specific * self-hosted runner configured in a repository. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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 Add custom labels to a self-hosted runner configured in a repository. + * @description Adds 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. + * 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"]; /** @@ -2816,8 +3391,9 @@ export interface paths { * @description Remove all custom labels from a self-hosted runner configured in a * repository. Returns the remaining read-only labels from the runner. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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"]; }; @@ -2830,38 +3406,49 @@ export interface paths { * 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. + * 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/overview/resources-in-the-rest-api#parameters). + * @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. * - * 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. + * 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-runs-for-repo"]; }; "/repos/{owner}/{repo}/actions/runs/{run_id}": { /** * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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 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. + * @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. 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. + * @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"]; }; @@ -2870,31 +3457,41 @@ export interface paths { * Approve a workflow run for a fork pull request * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * 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. 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. + * @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. 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. + * @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. 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). + * @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"]; }; @@ -2902,16 +3499,20 @@ export interface paths { /** * Download workflow run attempt logs * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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`. 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. + * @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"]; }; @@ -2923,14 +3524,29 @@ export interface paths { * **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). * - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. + * 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. 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). + * @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"]; }; @@ -2938,14 +3554,18 @@ export interface paths { /** * Download workflow run logs * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. + * `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. 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. + * @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"]; }; @@ -2954,28 +3574,36 @@ export interface paths { * Get pending deployments for a workflow run * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + * 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`. 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. + * @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. You must authenticate using an access token with the `repo` scope to use this endpoint. + * @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"]; }; @@ -2984,162 +3612,135 @@ export interface paths { * Get workflow run usage * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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. 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. + * @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 you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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. 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. + * @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). 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 [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **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="); + * [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)." * - * 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) + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. * - * 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) - * ``` + * 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. 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. + * @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. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * @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. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * @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. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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. 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. + * @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. 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. + * @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"]; }; @@ -3148,7 +3749,7 @@ export interface paths { * Disable a workflow * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ put: operations["actions/disable-workflow"]; }; @@ -3159,7 +3760,7 @@ export interface paths { * * 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)." + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ post: operations["actions/create-workflow-dispatch"]; }; @@ -3168,16 +3769,18 @@ export interface paths { * Enable a workflow * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * 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/overview/resources-in-the-rest-api#parameters). + * @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. If the repository is private you must use an access token with the `repo` scope. + * 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-runs"]; }; @@ -3186,10 +3789,24 @@ export interface paths { * Get workflow usage * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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 @@ -3210,8 +3827,8 @@ export interface paths { }; "/repos/{owner}/{repo}/autolinks": { /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. + * 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. */ @@ -3239,6 +3856,11 @@ export interface paths { delete: operations["repos/delete-autolink"]; }; "/repos/{owner}/{repo}/automated-security-fixes": { + /** + * Check if automated security fixes are enabled for a repository + * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + get: operations["repos/check-automated-security-fixes"]; /** * Enable automated security fixes * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". @@ -3412,28 +4034,28 @@ export interface paths { * Get apps with access to the protected branch * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * 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 installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected 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 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 installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * 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 installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * 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"]; }; @@ -3516,17 +4138,9 @@ export interface paths { * * **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. + * 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. * - * 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. + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. */ post: operations["repos/rename-branch"]; }; @@ -3544,23 +4158,29 @@ export interface paths { "/repos/{owner}/{repo}/check-runs/{check_run_id}": { /** * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * @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. * - * 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. + * 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 **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. + * @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. * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + * 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`. 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. + * @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"]; }; @@ -3569,41 +4189,50 @@ export interface paths { * Rerequest a check run * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. */ post: operations["checks/rerequest-run"]; }; "/repos/{owner}/{repo}/check-suites": { /** * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @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)". * - * 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. + * **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/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. */ patch: operations["checks/set-suites-preferences"]; }; "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { /** * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @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`. * - * 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. + * 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 **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. + * @description Lists check runs for a check suite using its `id`. * - * 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. + * **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"]; }; @@ -3612,7 +4241,7 @@ export interface paths { * Rerequest a check suite * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. * - * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + * OAuth apps and personal access tokens (classic) cannot use this endpoint. */ post: operations["checks/rerequest-suite"]; }; @@ -3635,12 +4264,15 @@ export interface paths { "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { /** * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * @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. 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. + * @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"]; }; @@ -3648,9 +4280,8 @@ export interface paths { /** * List instances of a code scanning alert * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * 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"]; }; @@ -3668,12 +4299,10 @@ export interface paths { * 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. + * + * 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"]; }; @@ -3681,9 +4310,6 @@ export interface paths { /** * Get a code scanning analysis for a repository * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. * * The default JSON response contains fields that describe the analysis. * This includes the Git reference and commit SHA to which the analysis relates, @@ -3695,18 +4321,16 @@ export interface paths { * 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). + * 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. 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. + * @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. @@ -3768,6 +4392,8 @@ export interface paths { * * 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"]; }; @@ -3776,9 +4402,7 @@ export interface paths { * List CodeQL databases for a repository * @description Lists the CodeQL databases that are available in a repository. * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. + * 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-codeql-databases"]; }; @@ -3793,9 +4417,7 @@ export interface paths { * your HTTP client is configured to follow redirects or use the `Location` header * to make a second request to get the redirect URL. * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. + * 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-codeql-database"]; }; @@ -3803,22 +4425,22 @@ export interface paths { /** * Get a code scanning default setup configuration * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + * + * 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. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + * + * 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. 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. + * @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)." @@ -3829,9 +4451,9 @@ export interface paths { * ``` * 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. + * 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** | @@ -3847,14 +4469,17 @@ export interface paths { * * 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/reference/code-scanning#get-information-about-a-sarif-upload)." + * 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. */ 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/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. + * @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"]; }; @@ -3874,18 +4499,14 @@ export interface paths { * List codespaces in a repository for the authenticated user * @description Lists the codespaces associated to a specified repository and the authenticated user. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * 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. * - * 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. + * 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"]; }; @@ -3895,9 +4516,7 @@ export interface paths { * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files * specify launchpoint configurations for codespaces created within the repository. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + * 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"]; }; @@ -3906,9 +4525,7 @@ export interface paths { * List available machine types for a repository * @description List the machine types available for a given repository based on its configuration. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ get: operations["codespaces/repo-machines-for-authenticated-user"]; }; @@ -3917,115 +4534,62 @@ export interface paths { * Get default attributes for a codespace * @description Gets the default attributes for codespaces created by the user with the repository. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * 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 secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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 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 secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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 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 write access to the `codespaces_secrets` - * repository permission to use this endpoint. - * - * #### Example of encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### 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) + * @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)." * - * 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) - * ``` + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ put: operations["codespaces/create-or-update-repo-secret"]; /** * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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. */ delete: operations["codespaces/delete-repo-secret"]; }; @@ -4037,9 +4601,9 @@ export interface paths { * * 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. + * 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/list-collaborators"]; }; @@ -4050,14 +4614,14 @@ export interface paths { * * 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. + * 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 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. + * @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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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)." * * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." * @@ -4067,9 +4631,9 @@ export interface paths { * 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)." + * 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 [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). * * **Updating an existing collaborator's permission level** * @@ -4109,36 +4673,67 @@ export interface paths { "/repos/{owner}/{repo}/collaborators/{username}/permission": { /** * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. + * @description Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. */ get: operations["repos/get-collaborator-permission-level"]; }; "/repos/{owner}/{repo}/comments": { /** * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/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/). + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. * - * 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 */ + /** + * 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 */ + /** + * 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/reference/repos#comments). + * @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/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this 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"]; }; @@ -4147,7 +4742,7 @@ export interface paths { * 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/reference/repos#comments). + * 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"]; }; @@ -4197,14 +4792,28 @@ export interface paths { "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { /** * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. + * @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. 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. + * 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/overview/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"]; }; @@ -4212,6 +4821,8 @@ export interface paths { /** * List pull requests associated with a commit * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. */ get: operations["repos/list-pull-requests-associated-with-commit"]; }; @@ -4220,11 +4831,13 @@ export interface paths { * Get a commit * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * **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. * - * 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. + * 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. * - * 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. + * - **`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** * @@ -4260,18 +4873,24 @@ export interface paths { "/repos/{owner}/{repo}/commits/{ref}/check-runs": { /** * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * @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. * - * 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. + * 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 **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`. + * @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`. * - * 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. + * 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"]; }; @@ -4308,10 +4927,8 @@ export interface paths { * 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`. + * 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. */ @@ -4322,7 +4939,12 @@ export interface paths { * Compare two commits * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * 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. * @@ -4371,50 +4993,40 @@ export interface paths { "/repos/{owner}/{repo}/contents/{path}": { /** * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * @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". * - * 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. + * 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/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). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * #### Size limits - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * #### If the content is a directory - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * #### If the content is a symlink - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * #### If the content is a submodule - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. + * + * - 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. You must authenticate using an access token with the `workflow` scope to use this endpoint. + * @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/reference/repos/#delete-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * **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"]; /** @@ -4427,7 +5039,7 @@ export interface paths { * * 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/reference/repos/#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. + * **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"]; }; @@ -4443,133 +5055,66 @@ export interface paths { "/repos/{owner}/{repo}/dependabot/alerts": { /** * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + * @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 You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + * @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 You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. + * @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)." * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * 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. 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. + * @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. 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. + * @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. 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. + * @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). 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 [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key + * [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)." * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **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) - * ``` + * 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. 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. + * @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"]; }; @@ -4590,7 +5135,11 @@ export interface paths { "/repos/{owner}/{repo}/dependency-graph/snapshots": { /** * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. + * @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"]; }; @@ -4628,9 +5177,8 @@ export interface paths { * 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: * - * #### 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 @@ -4640,13 +5188,17 @@ export interface paths { * 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 + * 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 + * 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"]; }; @@ -4655,14 +5207,16 @@ export interface paths { get: operations["repos/get-deployment"]; /** * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * @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/deployment-statuses#create-a-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"]; }; @@ -4676,7 +5230,7 @@ export interface paths { * Create a deployment status * @description Users with `push` access can create deployment statuses for a given deployment. * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. */ post: operations["repos/create-deployment-status"]; }; @@ -4694,12 +5248,9 @@ export interface paths { * * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ post: operations["repos/create-dispatch-event"]; }; @@ -4708,7 +5259,9 @@ export interface paths { * List environments * @description Lists the environments for a repository. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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"]; }; @@ -4717,9 +5270,9 @@ export interface paths { * Get an environment * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. + * 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"]; /** @@ -4728,14 +5281,14 @@ export interface paths { * * **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 "[Secrets](/rest/reference/actions#secrets)." + * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * 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 You must authenticate using an access token with the repo scope to use this endpoint. + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ delete: operations["repos/delete-an-environment"]; }; @@ -4744,82 +5297,96 @@ export interface paths { * List deployment branch policies * @description Lists the deployment branch policies for an environment. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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 policy for an environment. + * @description Creates a deployment branch or tag policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * 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 policy for an environment. + * @description Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. * - * 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. + * 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 policy for an environment. + * @description Updates a deployment branch or tag policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * 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 policy for an environment. + * @description Deletes a deployment branch or tag policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * 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. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * @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. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. + * 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). + * + * 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. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. + * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * For more information about 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. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * @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. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * 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"]; }; @@ -4852,14 +5419,19 @@ export interface paths { * Get a blob * @description The `content` in the response will always be Base64 encoded. * - * _Note_: This API supports blobs up to 100 megabytes in size. + * 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/v1/Git-Internals-Git-Objects#Commit-Objects). + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). * * **Signature verification object** * @@ -4894,8 +5466,10 @@ export interface paths { }; "/repos/{owner}/{repo}/git/commits/{commit_sha}": { /** - * Get a commit - * @description Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * 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** * @@ -4935,7 +5509,7 @@ export interface paths { * * 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)". + * **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`. */ @@ -4946,7 +5520,7 @@ export interface paths { * 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/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)". + * **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"]; }; @@ -4966,7 +5540,7 @@ export interface paths { "/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/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. + * @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** * @@ -5038,7 +5612,7 @@ export interface paths { * 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/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + * 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. */ @@ -5047,7 +5621,7 @@ export interface paths { "/repos/{owner}/{repo}/git/trees/{tree_sha}": { /** * Get a tree - * @description Returns a single tree using the SHA1 value for that 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. * @@ -5072,30 +5646,30 @@ export interface paths { "/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/reference/repos#get-a-webhook-configuration-for-a-repository)." + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." */ get: operations["repos/get-webhook"]; /** Delete a repository webhook */ delete: operations["repos/delete-webhook"]; /** * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." + * @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/reference/orgs#get-a-repository-webhook)." + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + * 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/reference/orgs#update-a-repository-webhook)." + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + * 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"]; }; @@ -5139,11 +5713,10 @@ export interface paths { "/repos/{owner}/{repo}/import": { /** * Get an import status + * @deprecated * @description View the progress of an import. * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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** * @@ -5181,21 +5754,25 @@ export interface paths { get: operations["migrations/get-import-status"]; /** * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * @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:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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. * @@ -5203,60 +5780,54 @@ export interface paths { * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"]; }; @@ -5307,14 +5878,29 @@ export interface paths { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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. 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. + * 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/overview/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"]; }; @@ -5324,6 +5910,13 @@ export interface paths { * @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"]; }; @@ -5331,6 +5924,13 @@ export interface paths { /** * 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"]; /** @@ -5341,18 +5941,25 @@ export interface paths { /** * 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/reference/issues#comments). + * @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/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this 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"]; }; @@ -5361,7 +5968,7 @@ export interface paths { * 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/reference/issues#comments). + * 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"]; }; @@ -5382,7 +5989,7 @@ export interface paths { "/repos/{owner}/{repo}/issues/{issue_number}": { /** * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * @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 @@ -5392,12 +5999,26 @@ export interface paths { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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 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"]; }; @@ -5430,18 +6051,30 @@ export interface paths { * @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. + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. * * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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"]; }; @@ -5486,7 +6119,7 @@ export interface paths { * Lock an issue * @description Users with push access can lock an issue or pull request's conversation. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * 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"]; /** @@ -5498,12 +6131,12 @@ export interface paths { "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { /** * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/reference/issues). + * @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/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this 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"]; }; @@ -5512,7 +6145,7 @@ export interface paths { * 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/reference/issues/). + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). */ delete: operations["reactions/delete-for-issue"]; }; @@ -5577,24 +6210,15 @@ export interface paths { */ get: operations["repos/list-languages"]; }; - "/repos/{owner}/{repo}/lfs": { - /** - * Enable Git LFS for a repository - * @description Enables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. - */ - put: operations["repos/enable-lfs-for-repo"]; - /** - * Disable Git LFS for a repository - * @description Disables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. - */ - delete: operations["repos/disable-lfs-for-repo"]; - }; "/repos/{owner}/{repo}/license": { /** * Get the license for a repository * @description This method returns the contents of the repository's license file, if one is detected. * - * Similar to [Get repository content](https://docs.github.com/rest/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. + * 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"]; }; @@ -5650,7 +6274,7 @@ export interface paths { 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/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + * @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"]; }; @@ -5659,28 +6283,34 @@ export interface paths { * Get a GitHub Pages site * @description Gets information about a GitHub Pages site. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * 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). * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + * 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)." * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + * 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). * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + * 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"]; }; @@ -5689,7 +6319,7 @@ export interface paths { * List GitHub Pages builds * @description Lists builts of a GitHub Pages site. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ get: operations["repos/list-pages-builds"]; /** @@ -5705,7 +6335,7 @@ export interface paths { * Get latest Pages build * @description Gets information about the single most recent build of a GitHub Pages site. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ get: operations["repos/get-latest-pages-build"]; }; @@ -5714,19 +6344,37 @@ export interface paths { * Get GitHub Pages build * @description Gets information about a GitHub Pages build. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * 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/deployment": { + "/repos/{owner}/{repo}/pages/deployments": { /** * Create a GitHub Pages deployment * @description Create a GitHub Pages deployment for a repository. * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. + * 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 @@ -5734,10 +6382,24 @@ export interface paths { * * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. + * 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": { + /** + * 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 @@ -5750,10 +6412,41 @@ export interface paths { */ post: operations["projects/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/get-custom-properties-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/create-or-update-custom-properties-values"]; + }; "/repos/{owner}/{repo}/pulls": { /** * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * @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`. + * - **`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. + * - **`application/vnd.github.patch`**: For more information, see "[git-format-patch](https://git-scm.com/docs/git-format-patch)" in the Git documentation. */ get: operations["pulls/list"]; /** @@ -5762,21 +6455,44 @@ export interface paths { * * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * 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/overview/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`. + * - **`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. */ 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. + * @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 review comment. + * @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"]; /** @@ -5786,19 +6502,26 @@ export interface paths { delete: operations["pulls/delete-review-comment"]; /** * Update a review comment for a pull request - * @description Enables you to edit a review comment. + * @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/reference/pulls#review-comments). + * @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/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this 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"]; }; @@ -5807,7 +6530,7 @@ export interface paths { * 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/reference/pulls#review-comments). + * 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"]; }; @@ -5818,7 +6541,7 @@ export interface paths { * * 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)". + * 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. * @@ -5829,6 +6552,14 @@ export interface paths { * * 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. + * + * 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"]; /** @@ -5836,6 +6567,14 @@ export interface paths { * @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`. + * - **`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. */ patch: operations["pulls/update"]; }; @@ -5844,28 +6583,41 @@ export interface paths { * Create a codespace from a pull request * @description Creates a codespace owned by the authenticated user for the specified pull request. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * 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 pull request. By default, review comments are in ascending order by ID. + * @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 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. + * @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 deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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 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. + * 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"]; }; @@ -5874,21 +6626,50 @@ export interface paths { * Create a reply for a review comment * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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/reference/repos#list-commits) endpoint. + * @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`. + * - **`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/list-commits"]; }; "/repos/{owner}/{repo}/pulls/{pull_number}/files": { /** * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * @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`. + * - **`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/list-files"]; }; @@ -5901,7 +6682,7 @@ export interface paths { /** * Merge a pull request * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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"]; }; @@ -5925,18 +6706,34 @@ export interface paths { "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { /** * List reviews for a pull request - * @description The list of reviews returns in chronological order. + * @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 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. + * @description Creates a review on a specified pull request. * - * 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#submit-a-review-for-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/overview/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:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * 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"]; }; @@ -5944,37 +6741,83 @@ export interface paths { /** * 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 Update the review summary comment with new text. + * @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 List comments for a specific 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 **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. + * @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#create-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"]; }; @@ -5990,7 +6833,10 @@ export interface paths { * Get a repository README * @description 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. + * 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"]; }; @@ -5999,14 +6845,17 @@ export interface paths { * Get a repository README for a directory * @description Gets the README from a repository directory. * - * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + * 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/reference/repos#list-repository-tags). + * @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. */ @@ -6015,7 +6864,7 @@ export interface paths { * Create a release * @description Users with push access to the repository can create a release. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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"]; }; @@ -6036,7 +6885,7 @@ export interface paths { "/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/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. + * @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"]; }; @@ -6059,7 +6908,11 @@ export interface paths { "/repos/{owner}/{repo}/releases/{release_id}": { /** * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + * @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"]; /** @@ -6078,7 +6931,7 @@ export interface paths { get: operations["repos/list-release-assets"]; /** * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * @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. @@ -6093,7 +6946,7 @@ export interface paths { * 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)" + * * 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. @@ -6103,12 +6956,12 @@ export interface paths { "/repos/{owner}/{repo}/releases/{release_id}/reactions": { /** * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). + * @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/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this 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"]; }; @@ -6117,14 +6970,17 @@ export interface paths { * 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/reference/repos#releases). + * 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 rules that apply to the specified 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"]; }; @@ -6140,6 +6996,22 @@ export interface paths { */ 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 @@ -6161,10 +7033,10 @@ export interface paths { /** * List secret scanning alerts for a repository * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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"]; }; @@ -6172,19 +7044,19 @@ export interface paths { /** * Get a secret scanning alert * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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. - * 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. + * 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"]; }; @@ -6192,10 +7064,10 @@ export interface paths { /** * List locations for a secret scanning alert * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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"]; }; @@ -6203,18 +7075,19 @@ export interface paths { /** * List repository security advisories * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. + * 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. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. + * 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"]; }; @@ -6230,37 +7103,67 @@ export interface paths { /** * Get a repository security advisory * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a + * 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. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. * - * In order to update any security advisory, you must be a security manager or administrator of that repository, + * 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. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * 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. + * @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"]; }; @@ -6277,10 +7180,12 @@ export interface paths { * @description * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `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"]; }; @@ -6325,16 +7230,19 @@ export interface paths { get: operations["activity/list-watchers-for-repo"]; }; "/repos/{owner}/{repo}/subscription": { - /** Get a repository 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/reference/activity#delete-a-repository-subscription) completely. + * @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/reference/activity#set-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"]; }; @@ -6382,11 +7290,7 @@ export interface paths { * * For a public repository, a team is listed only if that team added the public repository explicitly. * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. + * 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"]; }; @@ -6464,14 +7368,9 @@ export interface paths { "/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/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: + * @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`. * - * * `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 + * 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"]; }; @@ -6489,150 +7388,112 @@ export interface paths { "/repositories/{repository_id}/environments/{environment_name}/secrets": { /** * List environment secrets - * @description Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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"]; }; "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { /** * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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"]; }; "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { /** * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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). 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 [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **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 + * [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)." * - * 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") + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * 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. 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. + * @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"]; }; "/repositories/{repository_id}/environments/{environment_name}/variables": { /** * List environment variables - * @description Lists all environment variables. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * @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. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ post: operations["actions/create-environment-variable"]; }; "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { /** * Get an environment variable - * @description Gets a specific variable in an environment. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * @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. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ patch: operations["actions/update-environment-variable"]; }; "/search/code": { /** * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -6640,7 +7501,7 @@ export interface paths { * * 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 + * Considerations for code search: * * Due to the complexity of searching code, there are a few restrictions on how searches are performed: * @@ -6656,10 +7517,10 @@ export interface paths { "/search/commits": { /** * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -6670,10 +7531,10 @@ export interface paths { "/search/issues": { /** * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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. * @@ -6681,16 +7542,16 @@ export interface paths { * * 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)." + * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." */ get: operations["search/issues-and-pull-requests"]; }; "/search/labels": { /** * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -6703,9 +7564,9 @@ export interface paths { "/search/repositories": { /** * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -6718,9 +7579,9 @@ export interface paths { "/search/topics": { /** * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * @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/reference/search#text-match-metadata). + * 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: * @@ -6733,15 +7594,17 @@ export interface paths { "/search/users": { /** * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/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). + * 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"]; }; @@ -6749,13 +7612,13 @@ export interface paths { /** * Get a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. */ get: operations["teams/get-legacy"]; /** * Delete a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. * * To delete a team, the authenticated user must be an organization owner or team maintainer. * @@ -6765,7 +7628,7 @@ export interface paths { /** * Update a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. * * To edit a team, the authenticated user must either be an organization owner or a team maintainer. * @@ -6777,19 +7640,23 @@ export interface paths { /** * List discussions (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. * - * 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/). + * 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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. 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. + * 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/overview/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"]; }; @@ -6797,25 +7664,31 @@ export interface paths { /** * Get a discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. * - * 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/). + * 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Delete 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. * - * 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/). + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. */ patch: operations["teams/update-discussion-legacy"]; }; @@ -6823,19 +7696,23 @@ export interface paths { /** * List discussion comments (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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 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. + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. */ post: operations["teams/create-discussion-comment-legacy"]; }; @@ -6843,25 +7720,31 @@ export interface paths { /** * Get a discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Get 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. * - * 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/). + * 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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"]; }; @@ -6869,17 +7752,23 @@ export interface paths { /** * List reactions for a team discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). * - * 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/). + * 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. * - * 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. + * 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"]; }; @@ -6887,17 +7776,23 @@ export interface paths { /** * List reactions for a team discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. * - * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). * - * 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. + * 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"]; }; @@ -6905,7 +7800,7 @@ export interface paths { /** * List pending team invitations (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. * * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ @@ -6915,7 +7810,7 @@ export interface paths { /** * List team members (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. * * Team members will include the members of child teams. */ @@ -6927,7 +7822,7 @@ export interface paths { * @deprecated * @description The "Get team member" endpoint (described below) is deprecated. * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * 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. */ @@ -6937,7 +7832,7 @@ export interface paths { * @deprecated * @description The "Add team member" endpoint (described below) is deprecated. * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * 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. * @@ -6945,7 +7840,7 @@ export interface paths { * * **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)." + * 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"]; /** @@ -6953,7 +7848,7 @@ export interface paths { * @deprecated * @description The "Remove team member" endpoint (described below) is deprecated. * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * 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. * @@ -6967,7 +7862,7 @@ export interface paths { /** * Get team membership for a user (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. * * Team members will include the members of child teams. * @@ -6976,13 +7871,13 @@ export interface paths { * **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). + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). */ get: operations["teams/get-membership-for-user-legacy"]; /** * Add or update team membership for a user (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. * * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * @@ -6998,7 +7893,7 @@ export interface paths { /** * Remove team membership for a user (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. * * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * @@ -7012,7 +7907,7 @@ export interface paths { /** * List team projects (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. * * Lists the organization projects for a team. */ @@ -7022,7 +7917,7 @@ export interface paths { /** * Check team permissions for a project (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. * * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. */ @@ -7030,7 +7925,7 @@ export interface paths { /** * Add or update team project permissions (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. * * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. */ @@ -7038,7 +7933,7 @@ export interface paths { /** * Remove a project from a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. * * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. */ @@ -7048,7 +7943,7 @@ export interface paths { /** * List team repositories (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. */ get: operations["teams/list-repos-legacy"]; }; @@ -7058,7 +7953,7 @@ export interface paths { * @deprecated * @description **Note**: Repositories inherited through a parent team will also be checked. * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) 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 [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. * * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: */ @@ -7066,17 +7961,17 @@ export interface paths { /** * Add or update team repository permissions (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. * * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * 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 **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. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. * * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. */ @@ -7086,16 +7981,14 @@ export interface paths { /** * List child teams (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. */ get: operations["teams/list-child-legacy"]; }; "/user": { /** * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + * @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"]; /** @@ -7112,11 +8005,20 @@ export interface paths { get: operations["users/list-blocked-by-authenticated-user"]; }; "/user/blocks/{username}": { - /** Check if a user is blocked by the authenticated user */ + /** + * 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 */ + /** + * 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 */ + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ delete: operations["users/unblock"]; }; "/user/codespaces": { @@ -7124,9 +8026,7 @@ export interface paths { * List codespaces for the authenticated user * @description Lists the authenticated user's codespaces. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ get: operations["codespaces/list-for-authenticated-user"]; /** @@ -7135,21 +8035,19 @@ export interface paths { * * 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. + * 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 secrets available for a user's Codespaces without revealing their + * @description Lists all development environment 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. + * The authenticated 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. + * 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"]; }; @@ -7158,147 +8056,79 @@ export interface paths { * Get public key for the authenticated user * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * The authenticated 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. + * 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 secret available to a user's codespaces without revealing its encrypted value. + * @description Gets a development environment 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. + * The authenticated 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. + * 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 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 write 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 [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * @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)." * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * The authenticated user must have Codespaces access to use this endpoint. * - * console.log(output) - * }); - * ``` - * - * **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) - * ``` + * 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 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. + * @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. * - * 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. + * The authenticated 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. + * 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 codespace secret. + * @description List the repositories that have been granted the ability to use a user's development environment 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. + * The authenticated 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. + * 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 codespace secret. + * @description Select the repositories that will use a user's development environment 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. + * The authenticated 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. + * 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 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. + * @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 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. + * @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"]; }; @@ -7307,18 +8137,14 @@ export interface paths { * Get a codespace for the authenticated user * @description Gets information about a user's codespace. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * 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. * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ delete: operations["codespaces/delete-for-authenticated-user"]; /** @@ -7327,9 +8153,7 @@ export interface paths { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ patch: operations["codespaces/update-for-authenticated-user"]; }; @@ -7340,9 +8164,7 @@ export interface paths { * * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ post: operations["codespaces/export-for-authenticated-user"]; }; @@ -7351,9 +8173,7 @@ export interface paths { * Get details about a codespace export * @description Gets information about an export of a codespace. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * 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"]; }; @@ -7362,9 +8182,7 @@ export interface paths { * List machine types for a codespace * @description List the machine types a codespace can transition to use. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ get: operations["codespaces/codespace-machines-for-authenticated-user"]; }; @@ -7377,9 +8195,7 @@ export interface paths { * * This will fail for a codespace that is already published, meaning it has an associated repository. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ post: operations["codespaces/publish-for-authenticated-user"]; }; @@ -7388,9 +8204,7 @@ export interface paths { * Start a codespace for the authenticated user * @description Starts a user's codespace. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ post: operations["codespaces/start-for-authenticated-user"]; }; @@ -7399,9 +8213,7 @@ export interface paths { * Stop a codespace for the authenticated user * @description Stops a user's codespace. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ post: operations["codespaces/stop-for-authenticated-user"]; }; @@ -7409,7 +8221,8 @@ export interface paths { /** * Get list of conflicting packages during Docker migration for authenticated-user * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + * + * 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"]; }; @@ -7423,17 +8236,20 @@ export interface paths { "/user/emails": { /** * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + * @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 This endpoint is accessible with the `user` scope. + * @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 This endpoint is accessible with the `user` scope. + * @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"]; }; @@ -7456,38 +8272,46 @@ export interface paths { get: operations["users/check-person-is-followed-by-authenticated"]; /** * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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)." * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * 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 Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * @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. 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/). + * @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. 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/). + * @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. 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/). + * @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. 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/). + * @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"]; }; @@ -7496,8 +8320,6 @@ export interface paths { * List app installations accessible to the user access token * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. * - * You must use a [user-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. @@ -7511,8 +8333,6 @@ export interface paths { * * 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"]; @@ -7521,15 +8341,11 @@ export interface paths { /** * Add a repository to an app installation * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ put: operations["apps/add-repo-to-installation-for-authenticated-user"]; /** * Remove a repository from an app installation * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; }; @@ -7558,45 +8374,60 @@ export interface paths { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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. 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/). + * @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. 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/). + * @description Adds a public SSH 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-public-ssh-key-for-authenticated-user"]; }; "/user/keys/{key_id}": { /** * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. 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/). + * @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. 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/). + * @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. 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/). + * @description Lists the active subscriptions for the authenticated user. */ get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; }; @@ -7696,9 +8527,7 @@ export interface paths { * List organizations for the authenticated user * @description List organizations for the authenticated user. * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + * 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. */ get: operations["orgs/list-for-authenticated-user"]; }; @@ -7707,7 +8536,7 @@ export interface paths { * List packages for the authenticated user's namespace * @description Lists packages owned by the authenticated user within the user's namespace. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-authenticated-user"]; }; @@ -7716,15 +8545,14 @@ export interface paths { * Get a package for the authenticated user * @description Gets a specific package for a package owned by the authenticated user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-authenticated-user"]; /** * Delete a package for the authenticated user * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, `repo` scope is also required. For the list these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-for-authenticated-user"]; }; @@ -7737,7 +8565,7 @@ export interface paths { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-for-authenticated-user"]; }; @@ -7746,7 +8574,7 @@ export interface paths { * List package versions for a package owned by the authenticated user * @description Lists package versions for a package owned by the authenticated user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; }; @@ -7755,15 +8583,16 @@ export interface paths { * Get a package version for the authenticated user * @description Gets a specific package version for a package owned by the authenticated user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-authenticated-user"]; /** * Delete a package version for the authenticated user * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-version-for-authenticated-user"]; }; @@ -7776,7 +8605,7 @@ export interface paths { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-version-for-authenticated-user"]; }; @@ -7790,7 +8619,11 @@ export interface paths { "/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/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + * @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"]; }; @@ -7806,12 +8639,7 @@ export interface paths { * Create a repository for the authenticated user * @description Creates a new repository for the authenticated user. * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. + * 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"]; }; @@ -7836,36 +8664,48 @@ export interface paths { get: operations["users/list-social-accounts-for-authenticated-user"]; /** * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. + * @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. This endpoint is accessible with the `user` scope. + * @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. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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"]; }; @@ -7874,19 +8714,27 @@ export interface paths { * List repositories starred by the authenticated user * @description Lists repositories the authenticated user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * 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 */ + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ get: operations["activity/check-repo-is-starred-by-authenticated-user"]; /** * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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 */ + /** + * 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": { @@ -7899,7 +8747,12 @@ export interface paths { "/user/teams": { /** * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. + * @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"]; }; @@ -7917,11 +8770,9 @@ export interface paths { * Get a user * @description Provides publicly available information about someone with a GitHub account. * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). * - * 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)". + * 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"]; }; @@ -7929,7 +8780,8 @@ export interface paths { /** * Get list of conflicting packages during Docker migration for user * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + * + * 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"]; }; @@ -7986,7 +8838,7 @@ export interface paths { "/users/{username}/hovercard": { /** * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * @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 via cURL, it would look like this: * @@ -7994,6 +8846,8 @@ export interface paths { * curl -u username:token * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 * ``` + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ get: operations["users/get-context-for-user"]; }; @@ -8018,7 +8872,7 @@ export interface paths { * 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/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + * 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"]; }; @@ -8027,7 +8881,7 @@ export interface paths { * List packages for a user * @description Lists all packages in a user's namespace for which the requesting user has access. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-user"]; }; @@ -8036,16 +8890,16 @@ export interface paths { * Get a package for a user * @description Gets a specific package metadata for a public package owned by a user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-user"]; /** * Delete a package for a user * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-for-user"]; }; @@ -8058,9 +8912,9 @@ export interface paths { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-for-user"]; }; @@ -8069,7 +8923,7 @@ export interface paths { * List package versions for a package owned by a user * @description Lists package versions for a public package owned by a specified user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; }; @@ -8078,16 +8932,16 @@ export interface paths { * Get a package version for a user * @description Gets a specific package version for a public package owned by a specified user. * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-user"]; /** * Delete package version for a user * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-version-for-user"]; }; @@ -8100,9 +8954,9 @@ export interface paths { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-version-for-user"]; }; @@ -8116,7 +8970,7 @@ export interface paths { "/users/{username}/received_events": { /** * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + * @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. */ get: operations["activity/list-received-events-for-user"]; }; @@ -8127,7 +8981,7 @@ export interface paths { "/users/{username}/repos": { /** * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. + * @description Lists public repositories for the specified user. */ get: operations["repos/list-for-user"]; }; @@ -8138,7 +8992,7 @@ export interface paths { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ get: operations["billing/get-github-actions-billing-user"]; }; @@ -8149,7 +9003,7 @@ export interface paths { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ get: operations["billing/get-github-packages-billing-user"]; }; @@ -8160,7 +9014,7 @@ export interface paths { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ get: operations["billing/get-shared-storage-billing-user"]; }; @@ -8183,7 +9037,9 @@ export interface paths { * List repositories starred by a user * @description Lists repositories a user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * 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"]; }; @@ -8328,6 +9184,241 @@ export interface components { /** Format: uri-template */ user_search_url: string; }; + /** + * @description The package's language or package management ecosystem. + * @enum {string} + */ + "security-advisory-ecosystems": + | "rubygems" + | "npm" + | "pip" + | "maven" + | "nuget" + | "composer" + | "go" + | "rust" + | "erlang" + | "actions" + | "pub" + | "other" + | "swift"; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** + * @description The type of credit the user is receiving. + * @enum {string} + */ + "security-advisory-credit-types": + | "analyst" + | "finder" + | "reporter" + | "coordinator" + | "remediation_developer" + | "remediation_reviewer" + | "remediation_verifier" + | "tool" + | "sponsor" + | "other"; + /** @description A GitHub Security Advisory. */ + "global-advisory": { + /** @description The GitHub Security Advisory ID. */ + ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** @description The API URL for the advisory. */ + url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + html_url: string; + /** + * Format: uri + * @description The API URL for the repository advisory. + */ + repository_advisory_url: string | null; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The type of advisory. + * @enum {string} + */ + type: "reviewed" | "unreviewed" | "malware"; + /** + * @description The severity of the advisory. + * @enum {string} + */ + severity: "critical" | "high" | "medium" | "low" | "unknown"; + /** + * Format: uri + * @description The URL of the advisory's source code. + */ + source_code_location: string | null; + identifiers: + | readonly { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[] + | null; + references: string[] | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + published_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + updated_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. + */ + github_reviewed_at: string | null; + /** + * Format: date-time + * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. + * This field is only populated when the advisory is imported from the National Vulnerability Database. + */ + nvd_published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + withdrawn_at: string | null; + /** @description The products and respective version ranges affected by the advisory. */ + vulnerabilities: + | { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version that resolve the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + vulnerable_functions: readonly string[] | null; + }[] + | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + score: number | null; + } | null; + cwes: + | { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + name: string; + }[] + | null; + /** @description The users who contributed to the advisory. */ + credits: + | readonly { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + }; + /** + * Basic Error + * @description Basic Error + */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** + * Validation Error Simple + * @description Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; /** * Simple User * @description A GitHub user. @@ -8479,25 +9570,6 @@ export interface components { /** @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. @@ -8700,75 +9772,6 @@ export interface components { payload: string | null; }; }; - /** - * Simple User - * @description A GitHub user. - */ - "simple-user": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; /** * Enterprise * @description An enterprise on GitHub. @@ -8840,7 +9843,7 @@ export interface components { }; /** * App Permissions - * @description The permissions granted to the user-to-server access token. + * @description The permissions granted to the user access token. * @example { * "contents": "read", * "issues": "read", @@ -8864,11 +9867,21 @@ export interface components { * @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 leve 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} @@ -8904,6 +9917,11 @@ export interface components { * @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} @@ -8960,15 +9978,35 @@ export interface components { */ 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. + * @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 custom property management. + * @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 beta 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} @@ -9019,6 +10057,41 @@ export interface components { * @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"; }; /** * Installation @@ -9043,7 +10116,7 @@ export interface components { repository_selection: "all" | "selected"; /** * Format: uri - * @example https://api.github.com/installations/1/access_tokens + * @example https://api.github.com/app/installations/1/access_tokens */ access_tokens_url: string; /** @@ -9128,7 +10201,6 @@ export interface components { /** @example octocat/Hello-World */ full_name: string; license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; forks: number; permissions?: { admin: boolean; @@ -9296,7 +10368,7 @@ export interface components { /** @example 80 */ watchers_count: number; /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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; @@ -9334,6 +10406,7 @@ export interface components { has_wiki: boolean; has_pages: boolean; /** + * @deprecated * @description Whether downloads are enabled. * @default true * @example true @@ -9378,150 +10451,6 @@ export interface components { * @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. @@ -9600,8 +10529,6 @@ export interface components { * @default false */ web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; open_issues: number; watchers: number; master_branch?: string; @@ -9691,6 +10618,385 @@ export interface components { /** 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 @@ -9750,10 +11056,7 @@ export interface components { * * ## 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/ + * 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 */ @@ -10228,6 +11531,11 @@ export interface components { push_protection_bypassed_at?: 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"; }; /** * Actor @@ -10493,7 +11801,7 @@ export interface components { description?: string | null; color?: string | null; default?: boolean; - } + }, ] >[]; assignee: components["schemas"]["nullable-simple-user"]; @@ -10683,15 +11991,13 @@ export interface components { /** Format: uri */ html_url: string; files: { - [key: string]: - | { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - } - | undefined; + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; }; public: boolean; /** Format: date-time */ @@ -10832,15 +12138,13 @@ export interface components { /** Format: uri */ html_url: string; files: { - [key: string]: - | { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - } - | undefined; + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; }; public: boolean; /** Format: date-time */ @@ -10866,17 +12170,15 @@ export interface components { 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) - | undefined; + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + } | null; }; public?: boolean; created_at?: string; @@ -11170,6 +12472,12 @@ export interface components { * ] */ hooks?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + github_enterprise_importer?: string[]; /** * @example [ * "192.0.2.1" @@ -11223,6 +12531,7 @@ export interface components { codespaces?: string[]; copilot?: string[]; packages?: string[]; + actions?: string[]; }; }; "security-and-analysis": { @@ -11230,6 +12539,14 @@ export interface components { /** @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"; @@ -11388,7 +12705,7 @@ export interface components { forks_count?: number; stargazers_count?: number; watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + /** @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; @@ -11540,80 +12857,6 @@ export interface components { /** @example A great organization */ description: string | null; }; - /** - * 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 | undefined; - }; - repository?: { - [key: string]: string | undefined; - }; - other?: { - [key: string]: string | undefined; - }; - }; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Organization Programmatic Access Grant - * @description Minimal representation of an organization programmatic access grant for enumerations - */ - "organization-programmatic-access-grant": { - /** @description Unique identifier of the fine-grained personal access token. The `pat_id` used to get details about an approved fine-grained personal access token. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string | undefined; - }; - repository?: { - [key: string]: string | undefined; - }; - other?: { - [key: string]: string | undefined; - }; - }; - /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ - access_granted_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; /** * Organization Full * @description Organization Full @@ -11689,11 +12932,6 @@ export interface components { * @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 */ @@ -11741,8 +12979,6 @@ export interface components { members_can_fork_private_repositories?: boolean | null; /** @example false */ web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; /** * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. * @@ -11800,6 +13036,15 @@ export interface components { * @example https://github.com/test-org/test-repo/blob/main/README.md */ secret_scanning_push_protection_custom_link?: string | null; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; }; "actions-cache-usage-org-enterprise": { /** @description The count of active caches across all repositories of an enterprise or an organization. */ @@ -11887,36 +13132,6 @@ export interface components { default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; }; - "required-workflow": { - /** @description Unique identifier for a required workflow */ - id: number; - /** @description Name present in the workflow file */ - name: string; - /** @description Path of the workflow file */ - path: string; - /** - * @description Scope of the required workflow - * @enum {string} - */ - scope: "all" | "selected"; - /** @description Ref at which the workflow file will be selected */ - ref: string; - /** - * @description State of the required workflow - * @enum {string} - */ - state: "active" | "deleted"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/actions/required_workflows/1/repositories - */ - selected_repositories_url?: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - repository: components["schemas"]["minimal-repository"]; - }; /** * Self hosted runner label * @description A label for a self hosted runner @@ -12106,7 +13321,11 @@ export interface components { * @description State of a code scanning alert. * @enum {string} */ - "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed"; + "code-scanning-alert-state-query": + | "open" + | "closed" + | "dismissed" + | "fixed"; /** * @description Severity of a code scanning alert. * @enum {string} @@ -12124,23 +13343,29 @@ export interface components { * @description The REST API URL for fetching the list of instances for an alert. */ readonly "alert-instances-url": string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed"; /** * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. * @enum {string|null} */ "code-scanning-alert-dismissed-reason": - | "" + | null | "false positive" | "won't fix" - | "used in tests" - | null; + | "used in tests"; /** @description The dismissal comment associated with the dismissal of the alert. */ "code-scanning-alert-dismissed-comment": string | null; - "code-scanning-alert-rule": { + "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} @@ -12153,14 +13378,6 @@ export interface components { security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ description?: string; - /** @description description of the rule used to detect the alert. */ - full_description?: string; - /** @description A set of tags applicable for the rule. */ - tags?: string[] | null; - /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; }; /** @description The version of the tool used to generate the code scanning analysis. */ "code-scanning-analysis-tool-version": string | null; @@ -12170,8 +13387,8 @@ export interface components { guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; }; /** - * @description The full Git reference, formatted as `refs/heads/`, - * `refs/pull//merge`, or `refs/pull//head`. + * @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. */ @@ -12229,7 +13446,7 @@ export interface components { 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"]; + 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"]; @@ -12246,7 +13463,7 @@ export interface components { name: string; /** * @description The display name of the machine includes cores, memory, and storage. - * @example 4 cores, 8 GB RAM, 64 GB storage + * @example 4 cores, 16 GB RAM, 64 GB storage */ display_name: string; /** @@ -12261,7 +13478,7 @@ export interface components { storage_in_bytes: number; /** * @description How much memory is available to the codespace. - * @example 8589934592 + * @example 17179869184 */ memory_in_bytes: number; /** @@ -12503,6 +13720,273 @@ export interface components { /** @example 2011-01-26T19:01:12Z */ created_at?: string; }; + /** + * Copilot Business Seat Breakdown + * @description The breakdown of Copilot Business seats for the organization. + */ + "copilot-seat-breakdown": { + /** @description The total number of seats being billed for the organization as of the current billing cycle. */ + total?: number; + /** @description Seats added during the current billing cycle. */ + added_this_cycle?: number; + /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ + pending_cancellation?: number; + /** @description The number of seats that have been assigned to users that have not yet accepted an invitation to this organization. */ + pending_invitation?: number; + /** @description The number of seats that have used Copilot during the current billing cycle. */ + active_this_cycle?: number; + /** @description The number of seats that have not used Copilot during the current billing cycle. */ + inactive_this_cycle?: number; + }; + /** + * Copilot Business Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot Business subscription. + */ + "copilot-organization-details": { + seat_breakdown: components["schemas"]["copilot-seat-breakdown"]; + /** + * @description The organization policy for allowing or disallowing Copilot to make suggestions that match public code. + * @enum {string} + */ + public_code_suggestions: "allow" | "block" | "unconfigured" | "unknown"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot Chat within their editor. + * @enum {string} + */ + ide_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot features within github.com. + * @enum {string} + */ + platform_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot within their 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"; + [key: string]: unknown; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "nullable-team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Organization + * @description GitHub account for managing multiple users, teams, and repositories + */ + organization: { + /** + * @description Unique login name of the organization + * @example new-org + */ + login: string; + /** + * Format: uri + * @description URL for the organization + * @example https://api.github.com/orgs/github + */ + url: string; + id: number; + node_id: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + /** + * Format: uri + * @description Display blog url for the organization + * @example blog.example-org.com + */ + blog?: string; + /** Format: uri */ + html_url: string; + /** + * @description Display name for the organization + * @example New Org + */ + name?: string; + /** + * @description Display company name for the organization + * @example Acme corporation + */ + company?: string; + /** + * @description Display location for the organization + * @example Berlin, Germany + */ + location?: string; + /** + * Format: email + * @description Display email for the organization + * @example org@example.com + */ + email?: string; + /** @description Specifies if organization projects are enabled for this org */ + has_organization_projects: boolean; + /** @description Specifies if repository projects are enabled for repositories that belong to this org */ + has_repository_projects: boolean; + is_verified?: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + type: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + name?: string; + space?: number; + private_repos?: number; + filled_seats?: number; + seats?: number; + }; + }; + /** + * Copilot Business Seat Detail + * @description Information about a Copilot Business seat assignment for a user, team, or organization. + */ + "copilot-seat-details": { + /** @description The assignee that has been granted access to GitHub Copilot. */ + assignee: { + [key: string]: unknown; + } & ( + | components["schemas"]["simple-user"] + | components["schemas"]["team"] + | components["schemas"]["organization"] + ); + /** @description The team that granted access to GitHub Copilot to the assignee. This will be null if the user was assigned a seat individually. */ + assigning_team?: components["schemas"]["team"] | null; + /** + * Format: date + * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. + */ + pending_cancellation_date?: string | null; + /** + * Format: date-time + * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. + */ + last_activity_at?: string | null; + /** @description Last editor that was used by the user for a GitHub Copilot completion. */ + last_activity_editor?: string | null; + /** + * Format: date-time + * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. + */ + created_at: string; + /** + * Format: date-time + * @description Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. + */ + updated_at?: string; + }; /** * Dependabot Secret for an Organization * @description Secrets for GitHub Dependabot for an organization. @@ -12693,7 +14177,7 @@ export interface components { forks_count?: number; stargazers_count?: number; watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + /** @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; @@ -12920,101 +14404,6 @@ export interface components { 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; - /** - * @description The notification setting the team has set - * @example notifications_enabled - */ - notification_setting?: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - } | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - id: number; - node_id: string; - name: string; - slug: string; - description: string | null; - privacy?: string; - notification_setting?: string; - permission: string; - permissions?: { - pull: boolean; - triage: boolean; - push: boolean; - maintain: boolean; - admin: boolean; - }; - /** Format: uri */ - url: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - members_url: string; - /** Format: uri */ - repositories_url: string; - parent: components["schemas"]["nullable-team-simple"]; - }; /** * Org Membership * @description Org Membership @@ -13091,6 +14480,39 @@ export interface components { /** @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 Fine-Grained Permission + * @description A fine-grained permission that protects organization resources. + */ + "organization-fine-grained-permission": { + name: string; + description: string; + }; + /** + * Organization Role + * @description Organization roles + */ + "organization-role": { + /** @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 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; + }; /** * Package Version * @description A version of a software package @@ -13153,6 +14575,80 @@ export interface components { }; }; }; + /** + * Simple Organization Programmatic Access Grant Request + * @description Minimal representation of an organization programmatic access grant request for enumerations + */ + "organization-programmatic-access-grant-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ + id: number; + /** @description Reason for requesting access. */ + reason: string | null; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization Programmatic Access Grant + * @description Minimal representation of an organization programmatic access grant for enumerations + */ + "organization-programmatic-access-grant": { + /** @description Unique identifier of the fine-grained personal access token. The `pat_id` used to get details about an approved fine-grained personal access token. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ + access_granted_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; /** * Project * @description Projects are a way to organize columns and cards of work. @@ -13219,905 +14715,450 @@ export interface components { private?: boolean; }; /** - * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). - * @enum {string} - */ - "repository-rule-enforcement": "disabled" | "active" | "evaluate"; - /** - * Repository Ruleset Bypass Actor - * @description An actor that can bypass rules in a ruleset + * Organization Custom Property + * @description Custom property defined on an organization */ - "repository-ruleset-bypass-actor": { - /** @description The ID of the actor that can bypass a ruleset */ - actor_id?: number; + "org-custom-property": { + /** @description The name of the property */ + property_name: string; /** - * @description The type of actor that can bypass a ruleset + * @description The type of the value for the property + * @example single_select * @enum {string} */ - actor_type?: "Team" | "Integration"; - }; - /** - * 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; - }; - }; - /** - * Organization ruleset conditions - * @description Conditions for a organization ruleset - */ - "org-ruleset-conditions": components["schemas"]["repository-ruleset-conditions"] & - components["schemas"]["repository-ruleset-conditions-repository-name-target"]; - /** - * creation - * @description Only allow users with bypass permission to create matching refs. - */ - "repository-rule-creation": { - /** @enum {string} */ - type: "creation"; - }; - /** - * update - * @description Only allow users with bypass permission to update matching refs. - */ - "repository-rule-update": { - /** @enum {string} */ - type: "update"; - parameters?: { - /** @description Branch can pull changes from its upstream repository */ - update_allows_fetch_and_merge: boolean; - }; - }; - /** - * deletion - * @description Only allow users with bypass permissions to delete matching refs. - */ - "repository-rule-deletion": { - /** @enum {string} */ - type: "deletion"; - }; - /** - * required_linear_history - * @description Prevent merge commits from being pushed to matching branches. - */ - "repository-rule-required-linear-history": { - /** @enum {string} */ - type: "required_linear_history"; - }; - /** - * required_deployments - * @description Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. - */ - "repository-rule-required-deployments": { - /** @enum {string} */ - type: "required_deployments"; - parameters?: { - /** @description The environments that must be successfully deployed to before branches can be merged. */ - required_deployment_environments: string[]; - }; - }; - /** - * required_signatures - * @description Commits pushed to matching branches must have verified signatures. - */ - "repository-rule-required-signatures": { - /** @enum {string} */ - type: "required_signatures"; - }; - /** - * pull_request - * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. - */ - "repository-rule-pull-request": { - /** @enum {string} */ - type: "pull_request"; - parameters?: { - /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ - dismiss_stale_reviews_on_push: boolean; - /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ - require_code_owner_review: boolean; - /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ - require_last_push_approval: boolean; - /** @description The number of approving reviews that are required before a pull request can be merged. */ - required_approving_review_count: number; - /** @description All conversations on code must be resolved before a pull request can be merged. */ - required_review_thread_resolution: boolean; - }; - }; - /** - * StatusCheckConfiguration - * @description Required status check - */ - "repository-rule-params-status-check-configuration": { - /** @description The status check context name that must be present on the commit. */ - context: string; - /** @description The optional integration ID that this status check must originate from. */ - integration_id?: number; - }; - /** - * required_status_checks - * @description Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. - */ - "repository-rule-required-status-checks": { - /** @enum {string} */ - type: "required_status_checks"; - parameters?: { - /** @description Status checks that are required. */ - required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; - /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ - strict_required_status_checks_policy: boolean; - }; - }; - /** - * non_fast_forward - * @description Prevent users with push access from force pushing to branches. - */ - "repository-rule-non-fast-forward": { - /** @enum {string} */ - type: "non_fast_forward"; - }; - /** - * commit_message_pattern - * @description Parameters to be used for the commit_message_pattern rule - */ - "repository-rule-commit-message-pattern": { - /** @enum {string} */ - type: "commit_message_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * commit_author_email_pattern - * @description Parameters to be used for the commit_author_email_pattern rule - */ - "repository-rule-commit-author-email-pattern": { - /** @enum {string} */ - type: "commit_author_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * committer_email_pattern - * @description Parameters to be used for the committer_email_pattern rule - */ - "repository-rule-committer-email-pattern": { - /** @enum {string} */ - type: "committer_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; + value_type: "string" | "single_select"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: 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; }; /** - * branch_name_pattern - * @description Parameters to be used for the branch_name_pattern rule + * Custom Property Value + * @description Custom property name and associated value */ - "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; - }; + "custom-property-value": { + /** @description The name of the property */ + property_name: string; + /** @description The value assigned to the property */ + value: string | string[] | null; }; /** - * tag_name_pattern - * @description Parameters to be used for the tag_name_pattern rule + * Organization Repository Custom Property Values + * @description List of custom property values for a repository */ - "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; - }; + "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 Rule - * @description A repository rule. - */ - "repository-rule": - | components["schemas"]["repository-rule-creation"] - | components["schemas"]["repository-rule-update"] - | components["schemas"]["repository-rule-deletion"] - | components["schemas"]["repository-rule-required-linear-history"] - | components["schemas"]["repository-rule-required-deployments"] - | components["schemas"]["repository-rule-required-signatures"] - | components["schemas"]["repository-rule-pull-request"] - | components["schemas"]["repository-rule-required-status-checks"] - | components["schemas"]["repository-rule-non-fast-forward"] - | components["schemas"]["repository-rule-commit-message-pattern"] - | components["schemas"]["repository-rule-commit-author-email-pattern"] - | components["schemas"]["repository-rule-committer-email-pattern"] - | components["schemas"]["repository-rule-branch-name-pattern"] - | components["schemas"]["repository-rule-tag-name-pattern"]; - /** - * Repository ruleset - * @description A set of rules to apply when specified conditions are met. + * Repository + * @description A repository on GitHub. */ - "repository-ruleset": { - /** @description The ID of the ruleset */ + "nullable-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ id: number; - /** @description The name of the ruleset */ + /** @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 The target of the ruleset - * @enum {string} + * @description Whether the repository is private or public. + * @default false */ - target?: "branch" | "tag"; + private: boolean; /** - * @description The type of the source of the ruleset - * @enum {string} + * Format: uri + * @example https://github.com/octocat/Hello-World */ - source_type?: "Repository" | "Organization"; - /** @description The name of the source */ - source: string; - enforcement: components["schemas"]["repository-rule-enforcement"]; + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; /** - * @description The permission level required to bypass this ruleset. "repository" allows those with bypass permission at the repository level to bypass. "organization" allows those with bypass permission at the organization level to bypass. "none" prevents anyone from bypassing. - * @enum {string} + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World */ - bypass_mode?: "none" | "repository" | "organization"; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - node_id?: string; - _links?: { - self?: { - /** @description The URL of the ruleset */ - href?: string; - }; - html?: { - /** @description The html URL of the ruleset */ - href?: string; - }; - }; - conditions?: - | components["schemas"]["repository-ruleset-conditions"] - | components["schemas"]["org-ruleset-conditions"]; - rules?: components["schemas"]["repository-rule"][]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }; - /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-simple": { + 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; /** - * @description Unique identifier of the team - * @example 1 + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; + contributors_url: string; /** * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 + * @example http://api.github.com/repos/octocat/Hello-World/deployments */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; + deployments_url: string; /** - * @description Name of the team - * @example Justice League + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads */ - name: string; + downloads_url: string; /** - * @description Description of the team - * @example A great team. + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events */ - description: string | null; + events_url: string; /** - * @description Permission that the team will have for its repositories - * @example admin + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks */ - permission: string; + 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; /** - * @description The level of privacy this team should have - * @example closed + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages */ - privacy?: string; + languages_url: string; /** - * @description The notification setting the team has set - * @example notifications_enabled + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges */ - notification_setting?: string; + 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 https://github.com/orgs/rails/teams/core + * @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - html_url: string; + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; /** * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos + * @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - repositories_url: string; - /** @example justice-league */ - slug: string; + subscribers_url: string; /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription */ - ldap_dn?: string; - }; - "actions-billing-usage": { - /** @description The sum of the free and paid GitHub Actions minutes used. */ - total_minutes_used: number; - /** @description The total paid GitHub Actions minutes used. */ - total_paid_minutes_used: number; - /** @description The amount of free GitHub Actions minutes available. */ - included_minutes: number; - minutes_used_breakdown: { - /** @description Total minutes used on Ubuntu runner machines. */ - UBUNTU?: number; - /** @description Total minutes used on macOS runner machines. */ - MACOS?: number; - /** @description Total minutes used on Windows runner machines. */ - WINDOWS?: number; - /** @description Total minutes used on Ubuntu 4 core runner machines. */ - ubuntu_4_core?: number; - /** @description Total minutes used on Ubuntu 8 core runner machines. */ - ubuntu_8_core?: number; - /** @description Total minutes used on Ubuntu 16 core runner machines. */ - ubuntu_16_core?: number; - /** @description Total minutes used on Ubuntu 32 core runner machines. */ - ubuntu_32_core?: number; - /** @description Total minutes used on Ubuntu 64 core runner machines. */ - ubuntu_64_core?: number; - /** @description Total minutes used on Windows 4 core runner machines. */ - windows_4_core?: number; - /** @description Total minutes used on Windows 8 core runner machines. */ - windows_8_core?: number; - /** @description Total minutes used on Windows 16 core runner machines. */ - windows_16_core?: number; - /** @description Total minutes used on Windows 32 core runner machines. */ - windows_32_core?: number; - /** @description Total minutes used on Windows 64 core runner machines. */ - windows_64_core?: number; - /** @description Total minutes used on macOS 12 core runner machines. */ - macos_12_core?: number; - /** @description Total minutes used on all runner machines. */ - total?: number; - }; - }; - "packages-billing-usage": { - /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ - total_gigabytes_bandwidth_used: number; - /** @description Total paid storage space (GB) for GitHuub Packages. */ - total_paid_gigabytes_bandwidth_used: number; - /** @description Free storage space (GB) for GitHub Packages. */ - included_gigabytes_bandwidth: number; - }; - "combined-billing-usage": { - /** @description Numbers of days left in billing cycle. */ - days_left_in_billing_cycle: number; - /** @description Estimated storage space (GB) used in billing cycle. */ - estimated_paid_storage_for_month: number; - /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ - estimated_storage_for_month: number; - }; - /** - * Team Organization - * @description Team Organization - */ - "team-organization": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; + subscription_url: string; /** * Format: uri - * @example https://api.github.com/orgs/github + * @example http://api.github.com/repos/octocat/Hello-World/tags */ - url: string; + tags_url: string; /** * Format: uri - * @example https://api.github.com/orgs/github/repos + * @example http://api.github.com/repos/octocat/Hello-World/teams */ - repos_url: string; + 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 https://api.github.com/orgs/github/events + * @example git:git.example.com/octocat/Hello-World */ - 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; + mirror_url: string | null; /** * Format: uri - * @example https://github.com/blog + * @example http://api.github.com/repos/octocat/Hello-World/hooks */ - blog?: string; - /** @example San Francisco */ - location?: string; + hooks_url: string; /** - * Format: email - * @example octocat@github.com + * Format: uri + * @example https://svn.github.com/octocat/Hello-World */ - 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; + svn_url: string; /** * Format: uri - * @example https://github.com/octocat + * @example https://github.com */ - html_url: string; + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; /** - * Format: date-time - * @example 2008-01-14T04:33:35Z + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 */ - 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; + size: number; /** - * Format: email - * @example org@example.com + * @description The default branch of the repository. + * @example master */ - 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; - }; - /** - * Full Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-full": { + default_branch: string; + /** @example 0 */ + open_issues_count: number; /** - * @description Unique identifier of the team - * @example 42 + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; + is_template?: boolean; + topics?: string[]; /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 + * @description Whether issues are enabled. + * @default true + * @example true */ - url: string; + has_issues: boolean; /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core + * @description Whether projects are enabled. + * @default true + * @example true */ - html_url: string; + has_projects: boolean; /** - * @description Name of the team - * @example Developers + * @description Whether the wiki is enabled. + * @default true + * @example true */ - name: string; - /** @example justice-league */ - slug: string; - /** @example A great team. */ - description: string | null; + has_wiki: boolean; + has_pages: boolean; /** - * @description The level of privacy this team should have - * @example closed - * @enum {string} + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true */ - privacy?: "closed" | "secret"; + has_downloads: boolean; /** - * @description The notification setting the team has set - * @example notifications_enabled - * @enum {string} + * @description Whether discussions are enabled. + * @default false + * @example true */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; + has_discussions?: boolean; /** - * @description Permission that the team will have for its repositories - * @example push + * @description Whether the repository is archived. + * @default false */ - permission: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos + * @description The repository visibility: public, private, or internal. + * @default public */ - repositories_url: string; - parent?: components["schemas"]["nullable-team-simple"]; - /** @example 3 */ - members_count: number; - /** @example 10 */ - repos_count: number; + visibility?: string; /** * Format: date-time - * @example 2017-07-14T16:53:42Z + * @example 2011-01-26T19:06:43Z */ - created_at: string; + pushed_at: string | null; /** * Format: date-time - * @example 2017-08-17T12:37:15Z + * @example 2011-01-26T19:01:12Z */ - updated_at: string; - organization: components["schemas"]["team-organization"]; + created_at: string | null; /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com + * Format: date-time + * @example 2011-01-26T19:14:43Z */ - 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"]; + updated_at: string | null; /** - * @description The main text of the discussion. - * @example Please suggest improvements to our workflow in comments. + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true */ - body: string; - /** @example

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

*/ - body_html: string; + allow_rebase_merge?: boolean; + temp_clone_token?: 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 + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true */ - body_version: string; - /** @example 0 */ - comments_count: number; + allow_squash_merge?: boolean; /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false */ - comments_url: string; + allow_auto_merge?: boolean; /** - * Format: date-time - * @example 2018-01-25T18:56:31Z + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false */ - created_at: string; - /** Format: date-time */ - last_edited_at: string | null; + delete_branch_on_merge?: boolean; /** - * Format: uri - * @example https://github.com/orgs/github/teams/justice-league/discussions/1 + * @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 */ - html_url: string; - /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */ - node_id: string; + allow_update_branch?: boolean; /** - * @description The unique sequence number of a team discussion. - * @example 42 + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false */ - number: number; + use_squash_pr_title_as_default?: boolean; /** - * @description Whether or not this discussion should be pinned for easy retrieval. - * @example true + * @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} */ - pinned: boolean; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** - * @description Whether or not this discussion should be restricted to team members and organization administrators. - * @example true + * @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} */ - private: boolean; + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027 + * @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} */ - team_url: string; + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** - * @description The title of the discussion. - * @example How can we improve our workflow? + * @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} */ - title: string; + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * Format: date-time - * @example 2018-01-25T18:56:31Z + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true */ - updated_at: string; + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027/discussions/1 + * @description Whether to require contributors to sign off on web-based commits + * @default false */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; + 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; + } | null; /** - * Team Discussion Comment - * @description A reply to a discussion within a team. + * Code Of Conduct Simple + * @description Code of Conduct Simple */ - "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; + "code-of-conduct-simple": { /** * 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 + * @example https://api.github.com/repos/github/docs/community/code_of_conduct */ - created_at: string; - }; - /** - * Team Membership - * @description Team Membership - */ - "team-membership": { - /** Format: uri */ url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: 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} + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ - 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; - }; + html_url: string | null; }; /** - * Repository - * @description A repository on GitHub. + * Full Repository + * @description Full Repository */ - "nullable-repository": { - /** - * @description Unique identifier of the repository - * @example 42 - */ + "full-repository": { + /** @example 1296269 */ id: number; /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ + /** @example Hello-World */ 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 @@ -14272,268 +15313,88 @@ export interface components { /** @example 80 */ watchers_count: number; /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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 - */ + /** @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 - */ + /** @example true */ is_template?: boolean; - topics?: string[]; /** - * @description Whether issues are enabled. - * @default true - * @example true + * @example [ + * "octocat", + * "atom", + * "electron", + * "API" + * ] */ + topics?: string[]; + /** @example true */ has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ + /** @example true */ has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example 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 - */ + /** @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. - * @default public + * @example public */ visibility?: string; /** * Format: date-time * @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; + pushed_at: string; /** * Format: date-time * @example 2011-01-26T19:01:12Z */ - created_at: string | null; + created_at: string; /** * 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 - */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @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 - */ + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string | null; + /** @example true */ allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ + /** @example false */ allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example 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 - */ + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ + /** @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"; @@ -14543,14 +15404,16 @@ export interface components { * - `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). + * - `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"; @@ -14560,554 +15423,1260 @@ export interface components { * - `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"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ + /** @example true */ 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; + /** @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; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ + /** + * @description Whether anonymous git access is allowed. + * @default true + */ anonymous_access_enabled?: boolean; - } | null; + 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; + }; + }; /** - * Team Repository - * @description A team's access to a repository. + * @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} */ - "team-repository": { + "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. If `actor_type` is `OrganizationAdmin`, this should be `1`. */ + actor_id: number; /** - * @description Unique identifier of the repository - * @example 42 + * @description The type of actor that can bypass a ruleset + * @enum {string} */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; + actor_type: + | "RepositoryRole" + | "Team" + | "Integration" + | "OrganizationAdmin"; /** - * @description The name of the repository. - * @example Team Environment + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. + * @enum {string} */ - 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; + bypass_mode: "always" | "pull_request"; + }; + /** + * Repository ruleset conditions for ref names + * @description Parameters for a repository ruleset ref name condition + */ + "repository-ruleset-conditions": { + ref_name?: { + /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ + include?: string[]; + /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; }; - /** @example admin */ - role_name?: string; - owner: components["schemas"]["nullable-simple-user"]; + }; + /** + * 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[]; + }; + /** + * 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 conditions object should contain both `repository_name` and `ref_name` properties or both `repository_id` and `ref_name` properties. + */ + "org-ruleset-conditions": + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-name-target"]) + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-id-target"]) + | (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"; + }; + /** + * 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"; + }; + /** + * pull_request + * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + */ + "repository-rule-pull-request": { + /** @enum {string} */ + type: "pull_request"; + parameters?: { + /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ + dismiss_stale_reviews_on_push: boolean; + /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ + require_code_owner_review: boolean; + /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ + require_last_push_approval: boolean; + /** @description The number of approving reviews that are required before a pull request can be merged. */ + required_approving_review_count: number; + /** @description All conversations on code must be resolved before a pull request can be merged. */ + required_review_thread_resolution: boolean; + }; + }; + /** + * StatusCheckConfiguration + * @description Required status check + */ + "repository-rule-params-status-check-configuration": { + /** @description The status check context name that must be present on the commit. */ + context: string; + /** @description The optional integration ID that this status check must originate from. */ + integration_id?: number; + }; + /** + * required_status_checks + * @description Choose which status checks must pass before 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 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; + }; + }; + /** + * 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 Workflows that must pass for this rule to pass. */ + workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; + }; + }; + /** + * Repository Rule + * @description A repository rule. + */ + "repository-rule": + | components["schemas"]["repository-rule-creation"] + | components["schemas"]["repository-rule-update"] + | components["schemas"]["repository-rule-deletion"] + | components["schemas"]["repository-rule-required-linear-history"] + | components["schemas"]["repository-rule-required-deployments"] + | components["schemas"]["repository-rule-required-signatures"] + | components["schemas"]["repository-rule-pull-request"] + | components["schemas"]["repository-rule-required-status-checks"] + | components["schemas"]["repository-rule-non-fast-forward"] + | components["schemas"]["repository-rule-commit-message-pattern"] + | components["schemas"]["repository-rule-commit-author-email-pattern"] + | components["schemas"]["repository-rule-committer-email-pattern"] + | components["schemas"]["repository-rule-branch-name-pattern"] + | components["schemas"]["repository-rule-tag-name-pattern"] + | components["schemas"]["repository-rule-workflows"]; + /** + * 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 Whether the repository is private or public. - * @default false + * @description The target of the ruleset + * @enum {string} */ - private: boolean; + target?: "branch" | "tag"; /** - * Format: uri - * @example https://github.com/octocat/Hello-World + * @description The type of the source of the ruleset + * @enum {string} */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; + source_type?: "Repository" | "Organization"; + /** @description The name of the source */ + source: string; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World + * @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} */ - 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; + current_user_can_bypass?: "always" | "pull_requests_only" | "never"; + node_id?: string; + _links?: { + self?: { + /** @description The URL of the ruleset */ + href?: string; + }; + html?: { + /** @description The html URL of the ruleset */ + href?: string; + }; + }; + conditions?: + | ( + | components["schemas"]["repository-ruleset-conditions"] + | components["schemas"]["org-ruleset-conditions"] + ) + | null; + rules?: components["schemas"]["repository-rule"][]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * 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: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors + * Format: date-time + * @example 2011-01-26T19:06:43Z */ - contributors_url: string; + pushed_at?: string; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} */ - deployments_url: string; + result?: "pass" | "fail" | "bypass"; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads + * @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} */ - downloads_url: string; + evaluation_result?: "pass" | "fail"; + }[]; + /** + * 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 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: uri - * @example http://api.github.com/repos/octocat/Hello-World/events + * Format: date-time + * @example 2011-01-26T19:06:43Z */ - events_url: string; + pushed_at?: string; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} */ - 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; + result?: "pass" | "fail" | "bypass"; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages + * @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} */ - languages_url: string; + evaluation_result?: "pass" | "fail"; + /** @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 Any associated details with the rule evaluation. */ + details?: string; + }[]; + }; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + "repository-advisory-vulnerability": { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions: string[] | null; + }; + /** @description A credit given to a user for a repository security advisory. */ + "repository-advisory-credit": { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges + * @description The state of the user's acceptance of the credit. + * @enum {string} */ - 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; + 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 - * @example http://api.github.com/repos/octocat/Hello-World/stargazers + * @description The API URL for the advisory. */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; + url: string; /** * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers + * @description The URL for the advisory. */ - subscribers_url: string; + html_url: string; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription + * @description The severity of the advisory. + * @enum {string|null} */ - subscription_url: string; + 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; + }[]; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags + * @description The state of the advisory. + * @enum {string} */ - tags_url: string; + state: "published" | "closed" | "withdrawn" | "draft" | "triage"; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams + * Format: date-time + * @description The date and time of when the advisory was created, in ISO 8601 format. */ - 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; + created_at: string | null; /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. */ - mirror_url: string | null; + updated_at: string | null; /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. */ - hooks_url: string; + published_at: string | null; /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World + * Format: date-time + * @description The date and time of when the advisory was closed, in ISO 8601 format. */ - svn_url: string; + closed_at: string | null; /** - * Format: uri - * @example https://github.com + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. */ - 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; + withdrawn_at: string | null; + submission: { + /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ + readonly accepted: boolean; + } | null; + vulnerabilities: + | components["schemas"]["repository-advisory-vulnerability"][] + | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + score: number | null; + } | null; + cwes: + | readonly { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + name: string; + }[] + | null; + /** @description A list of only the CWE IDs. */ + cwe_ids: string[] | null; + credits: + | { + /** @description The username of the user credited. */ + login?: string; + type?: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + credits_detailed: + | readonly components["schemas"]["repository-advisory-credit"][] + | null; + /** @description A list of users that collaborate on the advisory. */ + collaborating_users: components["schemas"]["simple-user"][] | null; + /** @description A list of teams that collaborate on the advisory. */ + collaborating_teams: components["schemas"]["team"][] | null; + /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ + private_fork: components["schemas"]["simple-repository"] | null; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { /** - * @description The default branch of the repository. - * @example master + * @description Unique identifier of the team + * @example 1 */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 */ - is_template?: boolean; - topics?: string[]; + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; /** - * @description Whether issues are enabled. - * @default true - * @example true + * @description Name of the team + * @example Justice League */ - has_issues: boolean; + name: string; /** - * @description Whether projects are enabled. - * @default true - * @example true + * @description Description of the team + * @example A great team. */ - has_projects: boolean; + description: string | null; /** - * @description Whether the wiki is enabled. - * @default true - * @example true + * @description Permission that the team will have for its repositories + * @example admin */ - has_wiki: boolean; - has_pages: boolean; + permission: string; /** - * @description Whether downloads are enabled. - * @default true - * @example true + * @description The level of privacy this team should have + * @example closed */ - has_downloads: boolean; + privacy?: string; /** - * @description Whether the repository is archived. - * @default false + * @description The notification setting the team has set + * @example notifications_enabled */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; + notification_setting?: string; /** - * @description The repository visibility: public, private, or internal. - * @default public + * Format: uri + * @example https://github.com/orgs/rails/teams/core */ - visibility?: string; + html_url: string; /** - * Format: date-time - * @example 2011-01-26T19:06:43Z + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos */ - pushed_at: string | null; + repositories_url: string; + /** @example justice-league */ + slug: string; /** - * Format: date-time - * @example 2011-01-26T19:01:12Z + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com */ - created_at: string | null; + ldap_dn?: string; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on macOS 12 core runner machines. */ + macos_12_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; /** - * Format: date-time - * @example 2011-01-26T19:14:43Z + * Format: uri + * @example https://api.github.com/orgs/github */ - updated_at: string | null; + url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true + * Format: uri + * @example https://api.github.com/orgs/github/repos */ - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["nullable-repository"]; - temp_clone_token?: string; + repos_url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true + * Format: uri + * @example https://api.github.com/orgs/github/events */ - allow_squash_merge?: boolean; + 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; /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false + * Format: uri + * @example https://github.com/blog */ - allow_auto_merge?: boolean; + blog?: string; + /** @example San Francisco */ + location?: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false + * Format: email + * @example octocat@github.com */ - delete_branch_on_merge?: boolean; + 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; /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true + * Format: uri + * @example https://github.com/octocat */ - allow_merge_commit?: boolean; + html_url: string; /** - * @description Whether to allow forking this repo - * @default false - * @example false + * Format: date-time + * @example 2008-01-14T04:33:35Z */ - allow_forking?: boolean; + 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; /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - * @example false + * 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; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; }; /** - * Project Card - * @description Project cards represent a scope of work. + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. */ - "project-card": { + "team-full": { + /** + * @description Unique identifier of the team + * @example 42 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; /** * Format: uri - * @example https://api.github.com/projects/columns/cards/1478 + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 */ url: string; /** - * @description The project card's ID - * @example 42 + * Format: uri + * @example https://github.com/orgs/rails/teams/core */ - id: number; - /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ - node_id: string; - /** @example Add payload for delete Project column */ - note: string | null; - creator: components["schemas"]["nullable-simple-user"]; + html_url: string; /** - * Format: date-time - * @example 2016-09-05T14:21:06Z + * @description Name of the team + * @example Developers */ - created_at: string; + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; /** - * Format: date-time - * @example 2016-09-05T14:20:22Z + * @description The level of privacy this team should have + * @example closed + * @enum {string} */ - updated_at: string; + privacy?: "closed" | "secret"; /** - * @description Whether or not the card is archived - * @example false + * @description The notification setting the team has set + * @example notifications_enabled + * @enum {string} */ - archived?: boolean; - column_name?: string; - project_id?: string; + notification_setting?: "notifications_enabled" | "notifications_disabled"; /** - * Format: uri - * @example https://api.github.com/projects/columns/367 + * @description Permission that the team will have for its repositories + * @example push */ - column_url: string; + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; /** * Format: uri - * @example https://api.github.com/repos/api-playground/projects-test/issues/3 + * @example https://api.github.com/organizations/1/team/1/repos */ - content_url?: string; + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; /** - * Format: uri - * @example https://api.github.com/projects/120 + * Format: date-time + * @example 2017-07-14T16:53:42Z */ - project_url: string; + created_at: string; + /** + * Format: date-time + * @example 2017-08-17T12:37:15Z + */ + updated_at: string; + organization: components["schemas"]["team-organization"]; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; }; /** - * Project Column - * @description Project columns contain cards of work. + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. */ - "project-column": { + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; /** - * Format: uri - * @example https://api.github.com/projects/columns/367 + * @description The main text of the discussion. + * @example Please suggest improvements to our workflow in comments. */ - url: string; + body: string; + /** @example

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

*/ + body_html: string; /** - * Format: uri - * @example https://api.github.com/projects/120 + * @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 */ - project_url: string; + body_version: string; + /** @example 0 */ + comments_count: number; /** * Format: uri - * @example https://api.github.com/projects/columns/367/cards + * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments */ - cards_url: string; + comments_url: string; /** - * @description The unique identifier of the project column - * @example 42 + * Format: date-time + * @example 2018-01-25T18:56:31Z */ - id: number; - /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ + 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 Name of the project column - * @example Remaining tasks + * @description The unique sequence number of a team discussion. + * @example 42 */ - name: string; + number: number; /** - * Format: date-time - * @example 2016-09-05T14:18:44Z + * @description Whether or not this discussion should be pinned for easy retrieval. + * @example true */ - created_at: string; + pinned: boolean; /** - * Format: date-time - * @example 2016-09-05T14:22:28Z + * @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"]; }; /** - * 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"]; - }; - /** - * Required workflow - * @description A GitHub Actions required workflow + * Team Discussion Comment + * @description A reply to a discussion within a team. */ - "repo-required-workflow": { - /** @example 5 */ - id: number; - /** @example MDg6V29ya2Zsb3cxMg== */ - node_id: string; - /** @example Required CI */ - name: string; - /** @example .github/workflows/required_ci.yaml */ - path: string; + "team-discussion-comment": { + author: components["schemas"]["nullable-simple-user"]; /** - * @example active - * @enum {string} + * @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 */ - state: "active" | "deleted"; - source_repository: components["schemas"]["minimal-repository"]; + body_version: string; /** * Format: date-time - * @example 2019-12-06T14:20:20.000Z + * @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 2019-12-06T14:20:20.000Z + * @example 2018-01-15T23:53:58Z */ updated_at: string; - /** @example https://api.github.com/repos/sample-org/sample-repo/actions/required_workflows/5 */ + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1 + */ url: string; - /** @example https://github.com/sample-org/source-repo/blob/main/.github/workflows/required_ci.yaml */ - html_url: string; - /** @example https://github.com/sample-org/sample-repo/workflows/required/sample-org/source-repo/.github/workflows/required_ci.yaml/badge.svg */ - badge_url: string; + reactions?: components["schemas"]["reaction-rollup"]; }; /** - * Workflow Usage - * @description Workflow Usage + * Reaction + * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. */ - "workflow-usage": { - billable: { - UBUNTU?: { - total_ms?: number; - }; - MACOS?: { - total_ms?: number; - }; - WINDOWS?: { - total_ms?: number; - }; - }; + 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; }; /** - * Code Of Conduct Simple - * @description Code of Conduct Simple + * Team Membership + * @description Team Membership */ - "code-of-conduct-simple": { + "team-membership": { + /** Format: uri */ + url: string; /** - * Format: uri - * @example https://api.github.com/repos/github/docs/community/code_of_conduct + * @description The role of the user in the team. + * @default member + * @example member + * @enum {string} */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; + role: "member" | "maintainer"; /** - * Format: uri - * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + * @description The state of the user's membership in the team. + * @enum {string} */ - html_url: string | null; + state: "active" | "pending"; }; /** - * Full Repository - * @description Full Repository + * Team Project + * @description A team's access to a project. */ - "full-repository": { - /** @example 1296269 */ + "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; - /** @example Hello-World */ + /** + * @description The name of the repository. + * @example Team Environment + */ name: string; /** @example octocat/Hello-World */ full_name: string; - owner: components["schemas"]["simple-user"]; + 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 @@ -15261,250 +16830,358 @@ export interface components { stargazers_count: number; /** @example 80 */ watchers_count: number; + /** @example 108 */ + size: number; /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 + * @description The default branch of the repository. + * @example master */ - size: number; - /** @example master */ default_branch: string; /** @example 0 */ open_issues_count: number; - /** @example true */ - is_template?: boolean; /** - * @example [ - * "octocat", - * "atom", - * "electron", - * "API" - * ] + * @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[]; - /** @example true */ + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ has_issues: boolean; - /** @example true */ + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ has_projects: boolean; - /** @example true */ + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ has_wiki: boolean; has_pages: boolean; - /** @example true */ + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ has_downloads: boolean; - /** @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. - * @example public + * @default public */ visibility?: string; /** * Format: date-time * @example 2011-01-26T19:06:43Z */ - pushed_at: string; + pushed_at: string | null; /** * Format: date-time * @example 2011-01-26T19:01:12Z */ - created_at: string; + created_at: string | null; /** * 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 */ + 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 | null; - /** @example true */ + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @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} + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + allow_auto_merge?: boolean; /** - * @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} + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + delete_branch_on_merge?: boolean; /** - * @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} + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + allow_merge_commit?: 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. - * @example PR_BODY - * @enum {string} + * @description Whether to allow forking this repo + * @default false + * @example false */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @example true */ allow_forking?: boolean; - /** @example false */ + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + * @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; + subscribers_count?: number; + network_count?: number; 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"]; + master_branch?: string; }; /** - * Artifact - * @description An artifact + * Project Card + * @description Project cards represent a scope of work. */ - artifact: { - /** @example 5 */ - id: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** - * @description The name of the artifact. - * @example AdventureWorks.Framework - */ - name: string; + "project-card": { /** - * @description The size in bytes of the artifact. - * @example 12345 + * Format: uri + * @example https://api.github.com/projects/columns/cards/1478 */ - 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 + * @description The project card's ID + * @example 42 */ - 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: { + id: number; + /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ + node_id: string; + /** @example Add payload for delete Project column */ + note: string | null; + creator: components["schemas"]["nullable-simple-user"]; /** - * @description The id of the job. - * @example 21 + * Format: date-time + * @example 2016-09-05T14:21:06Z */ - id: number; + created_at: string; /** - * @description The id of the associated workflow run. - * @example 5 + * Format: date-time + * @example 2016-09-05T14:20:22Z */ - run_id: number; - /** @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ - run_url: string; + updated_at: string; /** - * @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. - * @example 1 + * @description Whether or not the card is archived + * @example false */ - run_attempt?: number; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; + archived?: boolean; + column_name?: string; + project_id?: string; /** - * @description The SHA of the commit that is being run. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + column_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test/issues/3 + */ + content_url?: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + }; + /** + * Project Column + * @description Project columns contain cards of work. + */ + "project-column": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367/cards + */ + cards_url: string; + /** + * @description The unique identifier of the project column + * @example 42 + */ + id: number; + /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ + node_id: string; + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + /** + * Format: date-time + * @example 2016-09-05T14:18:44Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:22:28Z + */ + updated_at: string; + }; + /** + * Project Collaborator Permission + * @description Project Collaborator Permission + */ + "project-collaborator-permission": { + permission: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + code_search?: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + dependency_snapshots?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * 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 */ @@ -15516,7 +17193,7 @@ export interface components { * @example queued * @enum {string} */ - status: "queued" | "in_progress" | "completed"; + status: "queued" | "in_progress" | "completed" | "waiting"; /** * @description The outcome of the job. * @example success @@ -15691,7 +17368,7 @@ export interface components { * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the * repository. * - * `none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization. + * `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"; @@ -15851,6 +17528,7 @@ export interface components { 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; @@ -16067,7 +17745,7 @@ export interface components { { [key: string]: unknown; }, - string + string, ] >; /** @example staging */ @@ -16190,6 +17868,67 @@ export interface components { */ 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. @@ -16213,6 +17952,22 @@ export interface components { */ is_alphanumeric: boolean; }; + /** + * Check Automated Security Fixes + * @description Check Automated Security Fixes + */ + "check-automated-security-fixes": { + /** + * @description Whether automated security fixes are enabled for the repository. + * @example true + */ + enabled: boolean; + /** + * @description Whether automated security fixes are paused for the repository. + * @example false + */ + paused: boolean; + }; /** * Protected Branch Required Status Check * @description Protected Branch Required Status Check @@ -16853,6 +18608,7 @@ export interface components { 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"]; }; @@ -16968,7 +18724,6 @@ export interface components { | "action_required" | "startup_failure" | "stale" - | "" | null; /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ url: string | null; @@ -17002,21 +18757,6 @@ export interface components { }; 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"]; @@ -17034,6 +18774,32 @@ export interface components { tool: components["schemas"]["code-scanning-analysis-tool"]; most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; }; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error" | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: "low" | "medium" | "high" | "critical" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; "code-scanning-alert": { number: components["schemas"]["alert-number"]; created_at: components["schemas"]["alert-created-at"]; @@ -17147,6 +18913,8 @@ export interface components { * @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 Configuration for code scanning default setup. */ "code-scanning-default-setup": { @@ -17155,7 +18923,7 @@ export interface components { * @enum {string} */ state?: "configured" | "not-configured"; - /** @description Languages to be analysed. */ + /** @description Languages to be analyzed. */ languages?: ( | "c-cpp" | "csharp" @@ -17166,6 +18934,7 @@ export interface components { | "python" | "ruby" | "typescript" + | "swift" )[]; /** * @description CodeQL query suite to be used. @@ -17178,19 +18947,35 @@ export interface components { * @example 2023-12-06T14:20:20.000Z */ updated_at?: string | null; + /** + * @description The frequency of the periodic analysis. + * @enum {string|null} + */ + schedule?: "weekly" | null; }; /** @description Configuration for code scanning default setup. */ "code-scanning-default-setup-update": { /** - * @description Whether code scanning default setup has been configured or not. + * @description The desired state of code scanning default setup. * @enum {string} */ - state: "configured" | "not-configured"; + state?: "configured" | "not-configured"; /** * @description CodeQL query suite to be used. * @enum {string} */ query_suite?: "default" | "extended"; + /** @description CodeQL languages to be analyzed. */ + languages?: ( + | "c-cpp" + | "csharp" + | "go" + | "java-kotlin" + | "javascript-typescript" + | "python" + | "ruby" + | "swift" + )[]; }; /** * @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. @@ -17202,6 +18987,12 @@ export interface components { /** @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": { @@ -17284,7 +19075,7 @@ export interface components { name: string; /** * @description The display name of the machine includes cores, memory, and storage. - * @example 4 cores, 8 GB RAM, 64 GB storage + * @example 4 cores, 16 GB RAM, 64 GB storage */ display_name: string; /** @@ -17299,7 +19090,7 @@ export interface components { storage_in_bytes: number; /** * @description How much memory is available to the codespace. - * @example 8589934592 + * @example 17179869184 */ memory_in_bytes: number; /** @@ -17314,6 +19105,17 @@ export interface components { */ 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. @@ -18344,7 +20146,7 @@ export interface components { * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. */ metadata: { - [key: string]: ((string | number | boolean) | null) | undefined; + [key: string]: (string | number | boolean) | null; }; dependency: { /** @@ -18387,7 +20189,7 @@ export interface components { metadata?: components["schemas"]["metadata"]; /** @description A collection of resolved package dependencies. */ resolved?: { - [key: string]: components["schemas"]["dependency"] | undefined; + [key: string]: components["schemas"]["dependency"]; }; }; /** @@ -18445,7 +20247,7 @@ export interface components { 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"] | undefined; + [key: string]: components["schemas"]["manifest"]; }; /** * Format: date-time @@ -18598,6 +20400,11 @@ export interface components { 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. */ @@ -18619,23 +20426,51 @@ export interface components { )[]; 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 policy. + * @description Details of a deployment branch or tag policy. */ "deployment-branch-policy": { /** - * @description The unique identifier of the 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 must match in order to deploy to the environment. + * @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": { @@ -18961,24 +20796,7 @@ export interface components { * ] */ 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; - }; + config: components["schemas"]["webhook-config"]; /** * Format: date-time * @example 2011-09-06T20:39:23Z @@ -19161,7 +20979,7 @@ export interface components { description?: string | null; color?: string | null; default?: boolean; - } + }, ] >[]; assignee: components["schemas"]["nullable-simple-user"]; @@ -20107,7 +21925,7 @@ export interface components { * @description Language */ language: { - [key: string]: number | undefined; + [key: string]: number; }; /** * License Content @@ -20356,10 +22174,12 @@ export interface components { * @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 + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 */ status_url: string; /** @@ -20375,6 +22195,25 @@ export interface components { */ 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 @@ -21218,6 +23057,56 @@ export interface components { /** @description The generated body describing the contents of the release supporting markdown formatting */ body: string; }; + /** + * repository ruleset data for rule + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + "repository-rule-ruleset-info": { + /** + * @description The type of source for the ruleset that includes this rule. + * @enum {string} + */ + ruleset_source_type?: "Repository" | "Organization"; + /** @description The name of the source of the ruleset that includes this rule. */ + ruleset_source?: string; + /** @description The ID of the ruleset that includes this rule. */ + ruleset_id?: number; + }; + /** + * Repository Rule + * @description A repository rule with ruleset details. + */ + "repository-rule-detailed": + | (components["schemas"]["repository-rule-creation"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-update"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-deletion"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-linear-history"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-deployments"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-signatures"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-pull-request"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-status-checks"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-non-fast-forward"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-commit-message-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-commit-author-email-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-committer-email-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-branch-name-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-tag-name-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-workflows"] & + components["schemas"]["repository-rule-ruleset-info"]); "secret-scanning-alert": { number?: components["schemas"]["alert-number"]; created_at?: components["schemas"]["alert-created-at"]; @@ -21256,6 +23145,11 @@ export interface components { * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ push_protection_bypassed_at?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; }; /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ "secret-scanning-alert-resolution-comment": string | null; @@ -21316,256 +23210,202 @@ export interface components { */ issue_comment_url: string; }; - "secret-scanning-location": { + /** @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": { /** - * @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} + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082 */ - type: "commit" | "issue_title" | "issue_body" | "issue_comment"; - details: - | components["schemas"]["secret-scanning-location-commit"] - | components["schemas"]["secret-scanning-location-issue-title"] - | components["schemas"]["secret-scanning-location-issue-body"] - | components["schemas"]["secret-scanning-location-issue-comment"]; + discussion_title_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"; - /** @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 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 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 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": { /** - * @description The state of the user's acceptance of the credit. - * @enum {string} + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussion-4566270 */ - state: "accepted" | "declined" | "pending"; + discussion_body_url: string; }; - /** @description A repository security advisory. */ - "repository-advisory": { - /** @description The GitHub Security Advisory ID. */ - ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** @description The API URL for the advisory. */ - url: string; + /** @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 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} + * @description The API URL to get the discussion comment where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 */ - 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; - }[]; + 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": { /** - * @description The state of the advisory. - * @enum {string} + * 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/pull/2846 */ - state: "published" | "closed" | "withdrawn" | "draft" | "triage"; + 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: date-time - * @description The date and time of when the advisory was created, in ISO 8601 format. + * 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/pull/2846 */ - created_at: string | null; + 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: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. + * 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 */ - updated_at: string | null; + 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: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. + * 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 */ - published_at: string | null; + 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: date-time - * @description The date and time of when the advisory was closed, in ISO 8601 format. + * 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 */ - closed_at: string | null; + pull_request_review_comment_url: string; + }; + "secret-scanning-location": { /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + * @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} */ - withdrawn_at: string | null; - submission: { - /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ - readonly accepted: boolean; - } | null; - vulnerabilities: - | components["schemas"]["repository-advisory-vulnerability"][] - | null; - cvss: { - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - score: number | null; - } | null; - cwes: - | readonly { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - name: string; - }[] - | null; - /** @description A list of only the CWE IDs. */ - cwe_ids: string[] | null; - credits: + type: + | "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-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"]; + }; + "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"]; + login: string; + type: components["schemas"]["security-advisory-credit-types"]; }[] | null; - credits_detailed: - | readonly components["schemas"]["repository-advisory-credit"][] - | 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-create": { + "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; - }; - "private-vulnerability-report-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: - | { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - }[] - | null; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - }; - "repository-advisory-update": { - /** @description A short summary of the advisory. */ - summary?: string; - /** @description A detailed description of what the advisory impacts. */ - description?: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: { + vulnerabilities?: { /** @description The name of the package affected by the vulnerability. */ package: { ecosystem: components["schemas"]["security-advisory-ecosystems"]; @@ -21601,6 +23441,10 @@ export interface components { * @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 @@ -22769,635 +24613,1881 @@ export interface components { key: string; }; /** - * Simple Installation - * @description The GitHub App installation. This property is included when the event is configured for and sent to a GitHub App. + * 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)." */ - "simple-installation": { + "enterprise-webhooks": { + /** @description A short description of the enterprise. */ + description?: string | null; /** - * @description The ID of the installation. - * @example 1 + * Format: uri + * @example https://github.com/enterprises/octo-business */ - id: number; + html_url: string; /** - * @description The global node ID of the installation. - * @example MDQ6VXNlcjU4MzIzMQ== + * Format: uri + * @description The enterprise's website URL. */ - node_id: 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; + website_url?: string | null; /** - * @example neutral - * @enum {string|null} + * @description Unique identifier of the enterprise + * @example 42 */ - 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; + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; /** - * @description The SHA of the head commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + * @description The name of the enterprise. + * @example Octo Business */ - head_sha?: string; - /** @example 5 */ - id?: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id?: string; - pull_requests?: components["schemas"]["pull-request-minimal"][]; - repository?: components["schemas"]["minimal-repository"]; + name: string; /** - * @example completed - * @enum {string} + * @description The slug url identifier for the enterprise. + * @example octo-business */ - status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; - /** Format: date-time */ - updated_at?: string; - /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ - url?: string; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run-with-simple-check-suite": { - app: components["schemas"]["nullable-integration"]; - check_suite: components["schemas"]["simple-check-suite"]; + slug: string; /** * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - completed_at: string | null; - /** - * @example neutral - * @enum {string|null} + * @example 2019-01-26T19:01:12Z */ - 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; + created_at: string | null; /** - * @description The SHA of the commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + * Format: date-time + * @example 2019-01-26T19:14:43Z */ - head_sha: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string; + 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 check. - * @example 21 + * @description The ID of the installation. + * @example 1 */ id: number; /** - * @description The name of the check. - * @example test-coverage + * @description The global node ID of the installation. + * @example MDQ6VXNlcjU4MzIzMQ== */ - name: string; - /** @example MDg6Q2hlY2tSdW40 */ node_id: string; - output: { - annotations_count: number; - /** Format: uri */ - annotations_url: string; - summary: string | null; - text: string | null; - title: string | null; - }; - pull_requests: components["schemas"]["pull-request-minimal"][]; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - started_at: string; - /** - * @description The phase of the lifecycle that the check is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "pending"; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - url: string; }; /** - * Discussion - * @description A Discussion in a repository. + * 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. */ - discussion: { - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; + "organization-simple-webhooks": { + /** @example github */ + login: string; + /** @example 1 */ id: number; - locked: boolean; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ 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} + * Format: uri + * @example https://api.github.com/orgs/github */ - state: "open" | "closed" | "locked" | "converting" | "transferring"; + url: string; /** - * @description The reason for the current state - * @example resolved - * @enum {string|null} + * Format: uri + * @example https://api.github.com/orgs/github/repos */ - state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** - * Merge Group - * @description A group of pull requests that the merge queue has grouped together to be merged. - */ - "merge-group": { - /** @description The SHA of the merge group. */ - head_sha: string; - /** @description The full ref of the merge group. */ - head_ref: string; - /** @description The SHA of the merge group's parent commit. */ - base_sha: string; - /** @description The full ref of the branch the merge group will be merged into. */ - base_ref: string; - head_commit: components["schemas"]["simple-commit"]; - }; - /** - * 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 | undefined; - }; - repository?: { - [key: string]: string | undefined; - }; - other?: { - [key: string]: string | undefined; - }; - }; - /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ - permissions_upgraded: { - organization?: { - [key: string]: string | undefined; - }; - repository?: { - [key: string]: string | undefined; - }; - other?: { - [key: string]: string | undefined; - }; - }; - /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ - permissions_result: { - organization?: { - [key: string]: string | undefined; - }; - repository?: { - [key: string]: string | undefined; - }; - other?: { - [key: string]: string | undefined; - }; - }; + repos_url: string; /** - * @description Type of repository selection requested. - * @enum {string} + * Format: uri + * @example https://api.github.com/orgs/github/events */ - repository_selection: "none" | "all" | "subset"; - /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repository_count: number | null; - /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repositories: - | { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[] - | null; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; + 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; }; /** - * Projects v2 Project - * @description A projects v2 project + * 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. */ - "projects-v2": { + "repository-webhooks": { + /** + * @description Unique identifier of the repository + * @example 42 + */ id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ node_id: string; - owner: components["schemas"]["simple-user"]; - creator: components["schemas"]["simple-user"]; - title: string; - description: string | null; - public: boolean; /** - * Format: date-time - * @example 2022-04-28T12:00:00Z + * @description The name of the repository. + * @example Team Environment */ - closed_at: string | null; + 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"]; /** - * Format: date-time - * @example 2022-04-28T12:00:00Z + * @description Whether the repository is private or public. + * @default false */ - created_at: string; + private: boolean; /** - * Format: date-time - * @example 2022-04-28T12:00:00Z + * Format: uri + * @example https://github.com/octocat/Hello-World */ - updated_at: string; - number: number; - short_description: string | null; + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; /** - * Format: date-time - * @example 2022-04-28T12:00:00Z + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World */ - deleted_at: string | null; - deleted_by: components["schemas"]["nullable-simple-user"]; - }; - /** - * Projects v2 Item Content Type - * @description The type of content tracked in a project item - * @enum {string} - */ - "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; - /** - * Projects v2 Item - * @description An item belonging to a project - */ - "projects-v2-item": { - id: number; - node_id?: string; - project_node_id?: string; - content_node_id: string; - content_type: components["schemas"]["projects-v2-item-content-type"]; - creator?: components["schemas"]["simple-user"]; + 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: date-time - * @example 2022-04-28T12:00:00Z + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors */ - created_at: string; + 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 2022-04-28T12:00:00Z + * @example 2011-01-26T19:06:43Z */ - updated_at: string; + pushed_at: string | null; /** * Format: date-time - * @example 2022-04-28T12:00:00Z + * @example 2011-01-26T19:01:12Z */ - archived_at: string | null; - }; - /** branch protection rule created event */ - "webhook-branch-protection-rule-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; + created_at: string | null; /** - * 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. + * Format: date-time + * @example 2011-01-26T19:14:43Z */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user"]; - }; - /** branch protection rule deleted event */ - "webhook-branch-protection-rule-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; + updated_at: string | null; /** - * 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. + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user"]; - }; - /** branch protection rule edited event */ - "webhook-branch-protection-rule-edited": { - /** @enum {string} */ - action: "edited"; - /** @description If the action was `edited`, the changes to the rule. */ - changes?: { - admin_enforced?: { - from: boolean | null; - }; - authorized_actor_names?: { - from: string[]; - }; - authorized_actors_only?: { - from: boolean | null; - }; - authorized_dismissal_actors_only?: { - from: boolean | null; - }; - linear_history_requirement_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - required_status_checks?: { - from: string[]; + 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; }; - required_status_checks_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; + 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; }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * Simple User + * @description The GitHub user that triggered the event. This property is included in every webhook payload. + */ + "simple-user-webhooks": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after?: string | null; + app?: components["schemas"]["integration"]; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before?: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | "stale" + | "startup_failure" + | null; + /** Format: date-time */ + created_at?: string; + /** @example master */ + head_branch?: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha?: string; + /** @example 5 */ + id?: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id?: string; + pull_requests?: components["schemas"]["pull-request-minimal"][]; + repository?: components["schemas"]["minimal-repository"]; + /** + * @example completed + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url?: string; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: components["schemas"]["nullable-integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | "waiting" + | "pending" + | "startup_failure" + | "stale" + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | null; + deployment?: components["schemas"]["deployment-simple"]; + /** @example https://example.com */ + details_url: string; + /** @example 42 */ + external_id: string; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string; + /** + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + output: { + annotations_count: number; + /** Format: uri */ + annotations_url: string; + summary: string | null; + text: string | null; + title: string | null; + }; + pull_requests: components["schemas"]["pull-request-minimal"][]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "pending"; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + }; + /** + * Discussion + * @description A Discussion in a repository. + */ + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** + * @description The current state of the discussion. + * `converting` means that the discussion is being converted from an issue. + * `transferring` means that the discussion is being transferred from another repository. + * @enum {string} + */ + state: "open" | "closed" | "locked" | "converting" | "transferring"; + /** + * @description The reason for the current state + * @example resolved + * @enum {string|null} + */ + state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** + * Merge Group + * @description A group of pull requests that the merge queue has grouped together to be merged. + */ + "merge-group": { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + head_commit: components["schemas"]["simple-commit"]; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "nullable-repository-webhooks": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, 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 has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Personal Access Token Request + * @description Details of a Personal Access Token Request. + */ + "personal-access-token-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** @description New requested permissions, categorized by type of permission. */ + permissions_added: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ + permissions_upgraded: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ + permissions_result: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repository_count: number | null; + /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repositories: + | { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[] + | null; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Projects v2 Project + * @description A projects v2 project + */ + "projects-v2": { + id: number; + node_id: string; + owner: components["schemas"]["simple-user"]; + creator: components["schemas"]["simple-user"]; + title: string; + description: string | null; + public: boolean; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + number: number; + short_description: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + deleted_at: string | null; + deleted_by: components["schemas"]["nullable-simple-user"]; + }; + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + id: number; + node_id?: string; + project_node_id?: string; + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + archived_at: string | null; + }; + /** + * @description The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution-webhook": + | "false_positive" + | "wont_fix" + | "revoked" + | "used_in_tests" + | "pattern_deleted" + | "pattern_edited" + | null; + "secret-scanning-alert-webhook": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description 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; + }; + /** branch protection configuration disabled event */ + "webhook-branch-protection-configuration-disabled": { + /** @enum {string} */ + action: "disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection configuration enabled event */ + "webhook-branch-protection-configuration-enabled": { + /** @enum {string} */ + action: "enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: boolean | null; + }; + authorized_actor_names?: { + from: string[]; + }; + authorized_actors_only?: { + from: boolean | null; + }; + authorized_dismissal_actors_only?: { + from: boolean | null; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + required_status_checks?: { + from: string[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; authorized_actor_names: string[]; authorized_actors_only: boolean; @@ -23405,135 +26495,750 @@ export interface components { create_protected?: boolean; /** Format: date-time */ created_at: string; - dismiss_stale_reviews_on_push: boolean; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Requested Action Event */ + "webhook-check-run-requested-action": { + /** @enum {string} */ + action: "requested_action"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** @description The action requested by the user. */ + requested_action?: { + /** @description The integrator reference of the action requested by the user. */ + identifier?: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Requested Action Event + * @description The check_run.requested_action webhook encoded with URL encoding + */ + "webhook-check-run-requested-action-form-encoded": { + /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Re-Requested Event */ + "webhook-check-run-rerequested": { + /** @enum {string} */ + action?: "rerequested"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Re-Requested Event + * @description The check_run.rerequested webhook encoded with URL encoding + */ + "webhook-check-run-rerequested-form-encoded": { + /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "merge_group" + | "pull_request_review_thread" + | "workflow_job" + | "merge_queue_entry" + | "security_and_analysis" + | "projects_v2_item" + | "secret_scanning_alert_location" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. 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; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - 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; + 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; }; - 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"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - 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; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - /** Check Run Requested Action Event */ - "webhook-check-run-requested-action": { + /** check_suite requested event */ + "webhook-check-suite-requested": { /** @enum {string} */ - action: "requested_action"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - /** @description The action requested by the user. */ - requested_action?: { - /** @description The integrator reference of the action requested by the user. */ - identifier?: string; + action: "requested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "workflow_job" + | "merge_queue_entry" + | "security_and_analysis" + | "secret_scanning_alert_location" + | "projects_v2_item" + | "merge_group" + | "repository_import" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. 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; }; - 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - 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; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - /** check_suite completed event */ - "webhook-check-suite-completed": { + /** check_suite rerequested event */ + "webhook-check-suite-rerequested": { /** @enum {string} */ - action: "completed"; - actions_meta?: Record | null; - /** @description The [check_suite](https://docs.github.com/rest/reference/checks#suites). */ + action: "rerequested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ check_suite: { after: string | null; /** @@ -23591,13 +27296,9 @@ export interface components { | "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" + | "workflow_job" )[]; /** Format: uri */ external_url: string | null; @@ -23727,450 +27428,1165 @@ export interface components { /** Format: uri */ check_runs_url: string; /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. + * @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-webhooks"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { + /** @enum {string} */ + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string | null; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: 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; + 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. + * @enum {string} + */ + state: "open" | "dismissed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + } | null; + updated_at?: string | null; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. * @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | "" - | "skipped" - | "startup_failure" + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" | 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; + /** + * 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; /** - * Committer - * @description Metaproperties for Git author/committer information. + * @description State of a code scanning alert. + * @enum {string} */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: 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; - message: string; - timestamp: string; - tree_id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; }; - /** @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" - | "" - | "pending" - | null; - /** Format: date-time */ - updated_at: string; /** - * Format: uri - * @description URL that points to the check suite API resource. + * @description State of a code scanning alert. + * @enum {string} */ + state: "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ url: string; }; - enterprise?: components["schemas"]["enterprise"]; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - /** check_suite requested event */ - "webhook-check-suite-requested": { + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { /** @enum {string} */ - action: "requested"; - actions_meta?: Record | null; - /** @description The [check_suite](https://docs.github.com/rest/reference/checks#suites). */ - check_suite: { - after: string | null; + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: { /** - * 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. + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "pull_request_review_thread" - | "workflow_job" - | "merge_queue_entry" - | "security_and_analysis" - | "secret_scanning_alert_location" - | "projects_v2_item" - | "merge_group" - | "repository_import" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; + 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: unknown; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: string | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; }; - before: string | null; /** Format: uri */ - check_runs_url: string; + url: string; + } | null; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string | null; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | "" - | "skipped" - | 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; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + /** @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; + /** + * 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; /** - * Committer - * @description Metaproperties for Git author/committer information. + * @description State of a code scanning alert. + * @enum {string} */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: 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; - message: string; - timestamp: string; - tree_id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { + /** + * @description The action performed. Can be `created`. + * @enum {string} + */ + action: "created"; + /** @description The [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment) resource. */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + created_at: string; + /** Format: uri */ + html_url: string; + /** @description The ID of the commit comment. */ id: number; - latest_check_runs_count: 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 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; + /** @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; - }[]; - 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. - */ + /** Format: uri */ url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - /** check_suite rerequested event */ - "webhook-check-suite-rerequested": { + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object created in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** custom property created event */ + "webhook-custom-property-created": { /** @enum {string} */ - action: "rerequested"; - actions_meta?: { - rerun_info?: { - plan_id?: string; - job_ids?: string[]; - }; - } | null; - /** @description The [check_suite](https://docs.github.com/rest/reference/checks#suites). */ - check_suite: { - after: string | null; + action: "created"; + definition: components["schemas"]["org-custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** 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-webhooks"]; + }; + /** custom property updated event */ + "webhook-custom-property-updated": { + /** @enum {string} */ + action: "updated"; + definition: components["schemas"]["org-custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** 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-webhooks"]; + /** @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"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object deleted in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert auto-dismissed event */ + "webhook-dependabot-alert-auto-dismissed": { + /** @enum {string} */ + action: "auto_dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert auto-reopened event */ + "webhook-dependabot-alert-auto-reopened": { + /** @enum {string} */ + action: "auto_reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: Record | string; /** * App * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - app: { + performed_via_github_app?: { /** Format: date-time */ created_at: string | null; description: string | null; @@ -24221,9 +28637,11 @@ export interface components { | "watch" | "workflow_dispatch" | "workflow_run" + | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" - | "workflow_job" + | "secret_scanning_alert_location" + | "merge_group" )[]; /** Format: uri */ external_url: string | null; @@ -24308,7 +28726,7 @@ export interface components { /** @enum {string} */ organization_plan?: "read" | "write"; /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; + organization_projects?: "read" | "write"; /** @enum {string} */ organization_secrets?: "read" | "write"; /** @enum {string} */ @@ -24324,7 +28742,7 @@ export interface components { /** @enum {string} */ repository_hooks?: "read" | "write"; /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; + repository_projects?: "read" | "write"; /** @enum {string} */ secret_scanning_alerts?: "read" | "write"; /** @enum {string} */ @@ -24348,140 +28766,47 @@ export interface components { slug?: string; /** Format: date-time */ updated_at: string | null; - }; - before: 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 */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | "" - | null; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "" - | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ url: string; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - 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: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string | null; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + /** Deployment Workflow Run */ + workflow_run: { /** User */ - dismissed_by: { + actor: { /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -24517,104 +28842,221 @@ export interface components { /** Format: uri */ url?: string; } | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: - | "false positive" - | "won't fix" - | "used in tests" - | "" + 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: uri - * @description The GitHub URL of the alert resource. - */ + /** 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; - /** 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; + 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; }; - message?: { - text?: string; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; + 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; }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - 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: { - /** - * 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; + 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 */ - dismissed_by: { + triggering_actor?: { /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -24650,208 +29092,65 @@ export interface components { /** Format: uri */ url?: string; } | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: - | "false positive" - | "won't fix" - | "used in tests" - | "" - | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; + /** Format: date-time */ + updated_at: string; /** Format: uri */ url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; + 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"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; - /** code_scanning_alert created event */ - "webhook-code-scanning-alert-created": { + "webhook-deployment-review-approved": { /** @enum {string} */ - action: "created"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string | null; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: Record | null; - dismissed_by: Record | null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: Record | null; - fixed_at?: Record | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - } | null; - updated_at?: string | null; - /** Format: uri */ - url: string; + action: "approved"; + approver?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - 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: { - /** - * 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; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: { /** User */ - dismissed_by: { + reviewer?: { /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -24887,333 +29186,423 @@ export interface components { /** Format: uri */ url?: string; } | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: - | "false positive" - | "won't fix" - | "used in tests" - | "" - | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ + /** @enum {string} */ + type?: "User"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: { + conclusion: unknown; + created_at: string; + environment: string; 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"; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + 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; } | 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; + 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?: 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; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; + 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 */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - 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: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: string | null; - dismissed_by: Record | null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: string | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; + 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; }; - message?: { - text?: string; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: 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; + 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; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - } | null; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string | null; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @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"]; - 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: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: Record | null; - dismissed_by: Record | null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: Record | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; + 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; }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; + /** Format: date-time */ + updated_at: string; /** Format: uri */ url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + "webhook-deployment-review-rejected": { + /** @enum {string} */ + action: "rejected"; + approver?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - 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](https://docs.github.com/rest/reference/repos#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; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: { + conclusion: unknown; created_at: string; - /** Format: uri */ + environment: string; 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; - }; + name: unknown; + status: string; updated_at: string; - /** Format: uri */ - url: string; + }; + workflow_job_runs?: { + conclusion?: string | null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { /** User */ - user: { + actor: { /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25249,186 +29638,219 @@ export interface components { /** Format: uri */ url?: string; } | null; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** create event */ - "webhook-create": { - /** @description The repository's current description. */ - description: string | null; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The name of the repository's default branch (usually `main`). */ - master_branch: string; - organization?: components["schemas"]["organization-simple"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/reference/git#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object created in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** delete event */ - "webhook-delete": { - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/reference/git#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object deleted in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository"]; - 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"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - 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"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - 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"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - 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"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - 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"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - 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"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - 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"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** deploy_key created event */ - "webhook-deploy-key-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/reference/deployments#get-a-deploy-key) resource. */ - key: { - added_by?: 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; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - 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?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** deploy_key deleted event */ - "webhook-deploy-key-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/reference/deployments#get-a-deploy-key) resource. */ - key: { - added_by?: string | null; - created_at: string; + html_url: string; id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** deployment created event */ - "webhook-deployment-created": { - /** @enum {string} */ - action: "created"; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/reference/deployments#list-deployments). - */ - deployment: { - created_at: string; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting"; /** User */ - creator: { + triggering_actor: { /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25464,233 +29886,113 @@ export interface components { /** Format: uri */ url?: string; } | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: Record | string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "workflow_job" - | "pull_request_review_thread" - | "merge_queue_entry" - | "secret_scanning_alert_location" - | "merge_group" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; + /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; - }; - enterprise?: components["schemas"]["enterprise"]; + 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"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** Workflow */ - workflow: { + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requestor: { /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; /** Format: uri */ - html_url: string; + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - url: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; } | null; + reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User" | "Team"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run: { + conclusion: 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 */ @@ -25744,14 +30046,12 @@ export interface components { | "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_commit?: unknown; head_repository?: { archive_url?: string; assignees_url?: string; @@ -25764,7 +30064,7 @@ export interface components { contents_url?: string; contributors_url?: string; deployments_url?: string; - description?: Record | null; + description?: string | null; downloads_url?: string; events_url?: string; fork?: boolean; @@ -25828,7 +30128,7 @@ export interface components { name: string; node_id: string; path: string; - previous_attempt_url?: Record | null; + previous_attempt_url?: string | null; pull_requests: { base: { ref: string; @@ -25876,7 +30176,7 @@ export interface components { contents_url?: string; contributors_url?: string; deployments_url?: string; - description?: Record | null; + description?: string | null; downloads_url?: string; events_url?: string; fork?: boolean; @@ -25945,7 +30245,7 @@ export interface components { | "waiting" | "pending"; /** User */ - triggering_actor?: { + triggering_actor: { /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25987,28 +30287,9 @@ export interface components { url: string; workflow_id: number; workflow_url?: string; + display_title: 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"]; - organization?: components["schemas"]["organization-simple"]; - installation?: components["schemas"]["simple-installation"]; - sender?: components["schemas"]["simple-user"]; - }; /** deployment_status created event */ "webhook-deployment-status-created": { /** @enum {string} */ @@ -26017,7 +30298,7 @@ export interface components { /** Format: date-time */ completed_at: string | null; /** - * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @description The result of the completed check run. This value will be `null` until the check run has completed. * @enum {string|null} */ conclusion: @@ -26029,7 +30310,6 @@ export interface components { | "action_required" | "stale" | "skipped" - | "" | null; /** Format: uri */ details_url: string; @@ -26055,7 +30335,7 @@ export interface components { } | null; /** * Deployment - * @description The [deployment](https://docs.github.com/rest/reference/deployments#list-deployments). + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). */ deployment: { created_at: string; @@ -26101,7 +30381,7 @@ export interface components { id: number; node_id: string; original_environment: string; - payload: string | Record; + 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. @@ -26300,7 +30580,7 @@ export interface components { /** Format: uri */ url: string; }; - /** @description The [deployment status](https://docs.github.com/rest/reference/deployments#list-deployment-statuses). */ + /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ deployment_status: { created_at: string; /** User */ @@ -26546,11 +30826,11 @@ export interface components { /** Format: uri */ url: string; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** Workflow */ workflow?: { /** Format: uri */ @@ -26622,15 +30902,14 @@ export interface components { | "timed_out" | "action_required" | "stale" - | "" - | "startup_failure" - | null; + | null + | "startup_failure"; /** Format: date-time */ created_at: string; display_title: string; event: string; head_branch: string; - head_commit?: Record | null; + head_commit?: unknown; head_repository?: { archive_url?: string; assignees_url?: string; @@ -26643,7 +30922,7 @@ export interface components { contents_url?: string; contributors_url?: string; deployments_url?: string; - description?: Record | null; + description?: unknown; downloads_url?: string; events_url?: string; fork?: boolean; @@ -26707,7 +30986,7 @@ export interface components { name: string; node_id: string; path: string; - previous_attempt_url?: Record | null; + previous_attempt_url?: unknown; pull_requests: { base: { ref: string; @@ -26755,7 +31034,7 @@ export interface components { contents_url?: string; contributors_url?: string; deployments_url?: string; - description?: Record | null; + description?: unknown; downloads_url?: string; events_url?: string; fork?: boolean; @@ -26895,7 +31174,7 @@ export interface components { html_url: string; id: number; node_id: string; - parent_id: Record | null; + parent_id: unknown; /** Reactions */ reactions?: { "+1": number; @@ -26952,11 +31231,11 @@ export interface components { } | null; }; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion category changed event */ "webhook-discussion-category-changed": { @@ -26980,22 +31259,22 @@ export interface components { }; }; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion closed event */ "webhook-discussion-closed": { /** @enum {string} */ action: "closed"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion_comment created event */ "webhook-discussion-comment-created": { @@ -27079,11 +31358,11 @@ export interface components { } | null; }; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion_comment deleted event */ "webhook-discussion-comment-deleted": { @@ -27167,11 +31446,11 @@ export interface components { } | null; }; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion_comment edited event */ "webhook-discussion-comment-edited": { @@ -27260,11 +31539,11 @@ export interface components { } | null; }; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion created event */ "webhook-discussion-created": { @@ -27406,9 +31685,9 @@ export interface components { url?: string; } | null; } & { - active_lock_reason?: Record | null; - answer_chosen_at: Record | null; - answer_chosen_by: Record | null; + active_lock_reason?: unknown; + answer_chosen_at: unknown; + answer_chosen_by: unknown; answer_html_url: string | null; author_association?: string; body?: string | null; @@ -27471,22 +31750,22 @@ export interface components { url?: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion deleted event */ "webhook-discussion-deleted": { /** @enum {string} */ action: "deleted"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion edited event */ "webhook-discussion-edited": { @@ -27501,18 +31780,18 @@ export interface components { }; }; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion labeled event */ "webhook-discussion-labeled": { /** @enum {string} */ action: "labeled"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** Label */ label: { @@ -27530,42 +31809,42 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion locked event */ "webhook-discussion-locked": { /** @enum {string} */ action: "locked"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion pinned event */ "webhook-discussion-pinned": { /** @enum {string} */ action: "pinned"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion reopened event */ "webhook-discussion-reopened": { /** @enum {string} */ action: "reopened"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion transferred event */ "webhook-discussion-transferred": { @@ -27573,14 +31852,14 @@ export interface components { action: "transferred"; changes: { new_discussion: components["schemas"]["discussion"]; - new_repository: components["schemas"]["repository"]; + new_repository: components["schemas"]["repository-webhooks"]; }; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion unanswered event */ "webhook-discussion-unanswered": { @@ -27610,7 +31889,7 @@ export interface components { html_url: string; id: number; node_id: string; - parent_id: Record | null; + parent_id: unknown; /** Reactions */ reactions?: { "+1": number; @@ -27666,16 +31945,16 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** discussion unlabeled event */ "webhook-discussion-unlabeled": { /** @enum {string} */ action: "unlabeled"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** Label */ label: { @@ -27693,39 +31972,39 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion unlocked event */ "webhook-discussion-unlocked": { /** @enum {string} */ action: "unlocked"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** discussion unpinned event */ "webhook-discussion-unpinned": { /** @enum {string} */ action: "unpinned"; discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** * fork event * @description A user forks a repository. */ "webhook-fork": { - enterprise?: components["schemas"]["enterprise"]; - /** @description The created [`repository`](https://docs.github.com/rest/reference/repos#get-a-repository) resource. */ + 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. @@ -27778,6 +32057,10 @@ export interface components { /** 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; /** @@ -27923,7 +32206,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -28004,12 +32287,12 @@ export interface components { issues_url?: string; keys_url?: string; labels_url?: string; - language?: Record | null; + language?: unknown; languages_url?: string; - license?: Record | null; + license?: unknown; merges_url?: string; milestones_url?: string; - mirror_url?: Record | null; + mirror_url?: unknown; name?: string; node_id?: string; notifications_url?: string; @@ -28050,7 +32333,7 @@ export interface components { svn_url?: string; tags_url?: string; teams_url?: string; - topics?: (Record | null)[]; + topics?: unknown[]; trees_url?: string; updated_at?: string; url?: string; @@ -28059,25 +32342,21 @@ export interface components { watchers_count?: number; }; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** github_app_authorization revoked event */ "webhook-github-app-authorization-revoked": { /** @enum {string} */ action: "revoked"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** gollum event */ "webhook-gollum": { - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description The pages that were updated. */ pages: { /** @@ -28098,16 +32377,16 @@ export interface components { /** @description The current page title. */ title: string; }[]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** installation created event */ "webhook-installation-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description An array of repository objects that the installation can access. */ repositories?: { full_name: string; @@ -28119,7 +32398,7 @@ export interface components { /** @description Whether the repository is private or public. */ private: boolean; }[]; - repository?: components["schemas"]["repository"]; + repository?: components["schemas"]["repository-webhooks"]; /** User */ requester?: { /** Format: uri */ @@ -28157,15 +32436,15 @@ export interface components { /** Format: uri */ url?: string; } | null; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** installation deleted event */ "webhook-installation-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description An array of repository objects that the installation can access. */ repositories?: { full_name: string; @@ -28177,17 +32456,17 @@ export interface components { /** @description Whether the repository is private or public. */ private: boolean; }[]; - repository?: components["schemas"]["repository"]; - requester?: Record | null; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; }; /** installation new_permissions_accepted event */ "webhook-installation-new-permissions-accepted": { /** @enum {string} */ action: "new_permissions_accepted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description An array of repository objects that the installation can access. */ repositories?: { full_name: string; @@ -28199,17 +32478,17 @@ export interface components { /** @description Whether the repository is private or public. */ private: boolean; }[]; - repository?: components["schemas"]["repository"]; - requester?: Record | null; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; }; /** installation_repositories added event */ "webhook-installation-repositories-added": { /** @enum {string} */ action: "added"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description An array of repository objects, which were added to the installation. */ repositories_added: { full_name: string; @@ -28232,7 +32511,7 @@ export interface components { /** @description Whether the repository is private or public. */ private?: boolean; }[]; - repository?: components["schemas"]["repository"]; + repository?: components["schemas"]["repository-webhooks"]; /** * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} @@ -28275,15 +32554,15 @@ export interface components { /** Format: uri */ url?: string; } | null; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** installation_repositories removed event */ "webhook-installation-repositories-removed": { /** @enum {string} */ action: "removed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description An array of repository objects, which were added to the installation. */ repositories_added: { full_name: string; @@ -28306,7 +32585,7 @@ export interface components { /** @description Whether the repository is private or public. */ private: boolean; }[]; - repository?: components["schemas"]["repository"]; + repository?: components["schemas"]["repository-webhooks"]; /** * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} @@ -28349,15 +32628,15 @@ export interface components { /** Format: uri */ url?: string; } | null; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** installation suspend event */ "webhook-installation-suspend": { /** @enum {string} */ action: "suspend"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description An array of repository objects that the installation can access. */ repositories?: { full_name: string; @@ -28369,15 +32648,16 @@ export interface components { /** @description Whether the repository is private or public. */ private: boolean; }[]; - repository?: components["schemas"]["repository"]; - requester?: Record | null; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; }; "webhook-installation-target-renamed": { account: { + archived_at?: string | null; avatar_url: string; created_at?: string; - description?: Record | null; + description?: unknown; events_url?: string; followers?: number; followers_url?: string; @@ -28409,9 +32689,10 @@ export interface components { type?: string; updated_at?: string; url?: string; - website_url?: Record | null; + website_url?: unknown; }; - action: string; + /** @enum {string} */ + action: "renamed"; changes: { login?: { from: string; @@ -28420,20 +32701,20 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; target_type: string; }; /** installation unsuspend event */ "webhook-installation-unsuspend": { /** @enum {string} */ action: "unsuspend"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description An array of repository objects that the installation can access. */ repositories?: { full_name: string; @@ -28445,9 +32726,9 @@ export interface components { /** @description Whether the repository is private or public. */ private: boolean; }[]; - repository?: components["schemas"]["repository"]; - requester?: Record | null; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issue_comment created event */ "webhook-issue-comment-created": { @@ -28455,7 +32736,7 @@ export interface components { action: "created"; /** * issue comment - * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ comment: { /** @@ -28546,9 +32827,9 @@ export interface components { url?: string; } | null; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ issue: { /** @enum {string|null} */ active_lock_reason: @@ -28556,7 +32837,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -29055,7 +33335,7 @@ export interface components { /** Format: uri */ url?: string; } | null; - assignees?: (Record | null)[]; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -29082,10 +33362,10 @@ export interface components { }[]; labels_url?: string; locked: boolean; - milestone?: Record | null; + milestone?: unknown; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -29129,9 +33409,9 @@ export interface components { url?: string; }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issue_comment deleted event */ "webhook-issue-comment-deleted": { @@ -29139,7 +33419,7 @@ export interface components { action: "deleted"; /** * issue comment - * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ comment: { /** @@ -29230,9 +33510,9 @@ export interface components { url?: string; } | null; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ issue: { /** @enum {string|null} */ active_lock_reason: @@ -29240,7 +33520,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -29737,7 +34016,7 @@ export interface components { /** Format: uri */ url?: string; } | null; - assignees?: (Record | null)[]; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -29764,10 +34043,10 @@ export interface components { }[]; labels_url?: string; locked: boolean; - milestone?: Record | null; + milestone?: unknown; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -29811,9 +34090,9 @@ export interface components { url?: string; }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issue_comment edited event */ "webhook-issue-comment-edited": { @@ -29828,7 +34107,7 @@ export interface components { }; /** * issue comment - * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ comment: { /** @@ -29919,9 +34198,9 @@ export interface components { url?: string; } | null; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ issue: { /** @enum {string|null} */ active_lock_reason: @@ -29929,7 +34208,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -30428,7 +34706,7 @@ export interface components { /** Format: uri */ url?: string; } | null; - assignees?: (Record | null)[]; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -30455,10 +34733,10 @@ export interface components { }[]; labels_url?: string; locked: boolean; - milestone?: Record | null; + milestone?: unknown; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -30502,9 +34780,9 @@ export interface components { url?: string; }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues assigned event */ "webhook-issues-assigned": { @@ -30550,11 +34828,11 @@ export interface components { /** Format: uri */ url?: string; } | null; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -30563,7 +34841,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -31024,9 +35301,9 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues closed event */ "webhook-issues-closed": { @@ -31035,9 +35312,9 @@ export interface components { * @enum {string} */ action: "closed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) itself. */ + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ active_lock_reason: @@ -31045,7 +35322,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -31508,8 +35784,8 @@ export interface components { } | null; } & { active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; + assignee?: unknown; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at: string | null; @@ -31519,13 +35795,13 @@ export interface components { events_url?: string; html_url?: string; id?: number; - labels?: (Record | null)[]; + labels?: unknown[]; labels_url?: string; locked?: boolean; - milestone?: Record | null; + milestone?: unknown; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -31566,19 +35842,19 @@ export interface components { url?: string; }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues deleted event */ "webhook-issues-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -31587,7 +35863,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -32047,15 +36322,15 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues demilestoned event */ "webhook-issues-demilestoned": { /** @enum {string} */ action: "demilestoned"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; issue: { /** @enum {string|null} */ @@ -32064,7 +36339,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -32524,8 +36798,8 @@ export interface components { } | null; } & { active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; + assignee?: unknown; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -32535,7 +36809,7 @@ export interface components { events_url?: string; html_url?: string; id?: number; - labels?: (Record | null)[]; + labels?: unknown[]; labels_url?: string; locked?: boolean; /** @@ -32611,7 +36885,7 @@ export interface components { } | null; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -32722,9 +36996,9 @@ export interface components { /** Format: uri */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues edited event */ "webhook-issues-edited": { @@ -32741,11 +37015,11 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -32754,7 +37028,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -33232,19 +37505,19 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues labeled event */ "webhook-issues-labeled": { /** @enum {string} */ action: "labeled"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -33253,7 +37526,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -33730,15 +38002,15 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues locked event */ "webhook-issues-locked": { /** @enum {string} */ action: "locked"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; issue: { /** @enum {string|null} */ @@ -33747,7 +38019,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -34214,10 +38485,9 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; - assignee?: Record | null; - assignees?: (Record | null)[]; + assignee?: unknown; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -34227,14 +38497,14 @@ export interface components { events_url?: string; html_url?: string; id?: number; - labels?: (Record | null)[]; + labels?: unknown[]; labels_url?: string; /** @enum {boolean} */ locked: true; - milestone?: Record | null; + milestone?: unknown; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -34274,15 +38544,15 @@ export interface components { url?: string; }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues milestoned event */ "webhook-issues-milestoned": { /** @enum {string} */ action: "milestoned"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; issue: { /** @enum {string|null} */ @@ -34291,7 +38561,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -34752,8 +39021,8 @@ export interface components { } | null; } & { active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; + assignee?: unknown; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -34763,7 +39032,7 @@ export interface components { events_url?: string; html_url?: string; id?: number; - labels?: (Record | null)[]; + labels?: unknown[]; labels_url?: string; locked?: boolean; /** @@ -34839,7 +39108,7 @@ export interface components { }; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -34950,9 +39219,9 @@ export interface components { /** Format: uri */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues opened event */ "webhook-issues-opened": { @@ -34961,7 +39230,7 @@ export interface components { changes?: { /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ old_issue: { /** @enum {string|null} */ @@ -34970,7 +39239,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -35485,6 +39753,10 @@ export interface components { /** 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; /** @@ -35515,6 +39787,8 @@ export interface components { 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 @@ -35630,7 +39904,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -35663,13 +39937,15 @@ export interface components { visibility: "public" | "private" | "internal"; watchers: number; watchers_count: number; + /** @description Whether to require commit signoff. */ + web_commit_signoff_required?: boolean; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -35678,7 +39954,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -36140,19 +40415,19 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues pinned event */ "webhook-issues-pinned": { /** @enum {string} */ action: "pinned"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -36161,7 +40436,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -36620,15 +40894,15 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues reopened event */ "webhook-issues-reopened": { /** @enum {string} */ action: "reopened"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; issue: { /** @enum {string|null} */ @@ -36637,7 +40911,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -37099,8 +41372,8 @@ export interface components { } | null; } & { active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; + assignee?: unknown; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -37110,13 +41383,13 @@ export interface components { events_url?: string; html_url?: string; id?: number; - labels?: (Record | null)[]; + labels?: unknown[]; labels_url?: string; locked?: boolean; - milestone?: Record | null; + milestone?: unknown; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -37157,9 +41430,9 @@ export interface components { url?: string; }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues transferred event */ "webhook-issues-transferred": { @@ -37168,7 +41441,7 @@ export interface components { changes: { /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ new_issue: { /** @enum {string|null} */ @@ -37177,7 +41450,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -37692,6 +41964,10 @@ export interface components { /** 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; /** @@ -37842,7 +42118,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -37879,11 +42155,11 @@ export interface components { web_commit_signoff_required?: boolean; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -37892,7 +42168,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -38351,9 +42626,9 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues unassigned event */ "webhook-issues-unassigned": { @@ -38399,11 +42674,11 @@ export interface components { /** Format: uri */ url?: string; } | null; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -38412,7 +42687,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -38873,19 +43147,19 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues unlabeled event */ "webhook-issues-unlabeled": { /** @enum {string} */ action: "unlabeled"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -38894,7 +43168,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -39371,15 +43644,15 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues unlocked event */ "webhook-issues-unlocked": { /** @enum {string} */ action: "unlocked"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; issue: { /** @enum {string|null} */ @@ -39388,7 +43661,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -39847,9 +44119,9 @@ export interface components { url?: string; } | null; } & { - active_lock_reason: Record | null; - assignee?: Record | null; - assignees?: (Record | null)[]; + active_lock_reason: unknown; + assignee?: unknown; + assignees?: unknown[]; author_association?: string; body?: string | null; closed_at?: string | null; @@ -39859,14 +44131,14 @@ export interface components { events_url?: string; html_url?: string; id?: number; - labels?: (Record | null)[]; + labels?: unknown[]; labels_url?: string; /** @enum {boolean} */ locked: false; - milestone?: Record | null; + milestone?: unknown; node_id?: string; number?: number; - performed_via_github_app?: Record | null; + performed_via_github_app?: unknown; reactions?: { "+1"?: number; "-1"?: number; @@ -39906,19 +44178,19 @@ export interface components { url?: string; }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** issues unpinned event */ "webhook-issues-unpinned": { /** @enum {string} */ action: "unpinned"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ issue: { /** @enum {string|null} */ @@ -39927,7 +44199,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee?: { @@ -40386,15 +44657,15 @@ export interface components { url?: string; } | null; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** label created event */ "webhook-label-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** Label */ label: { @@ -40412,15 +44683,15 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** label deleted event */ "webhook-label-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** Label */ label: { @@ -40438,9 +44709,9 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** label edited event */ "webhook-label-edited": { @@ -40461,7 +44732,7 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** Label */ label: { @@ -40479,16 +44750,16 @@ export interface components { */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** marketplace_purchase cancelled event */ "webhook-marketplace-purchase-cancelled": { /** @enum {string} */ action: "cancelled"; effective_date: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; marketplace_purchase: { account: { @@ -40541,7 +44812,7 @@ export interface components { }; unit_count?: number; }; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Marketplace Purchase */ previous_marketplace_purchase?: { account: { @@ -40552,7 +44823,7 @@ export interface components { type: string; }; billing_cycle: string; - free_trial_ends_on: Record | null; + free_trial_ends_on: unknown; next_billing_date?: string | null; on_free_trial: boolean; plan: { @@ -40569,15 +44840,15 @@ export interface components { }; unit_count: number; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** marketplace_purchase changed event */ "webhook-marketplace-purchase-changed": { /** @enum {string} */ action: "changed"; effective_date: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; marketplace_purchase: { account: { @@ -40630,7 +44901,7 @@ export interface components { }; unit_count?: number; }; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Marketplace Purchase */ previous_marketplace_purchase?: { account: { @@ -40658,15 +44929,15 @@ export interface components { }; unit_count: number; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** marketplace_purchase pending_change event */ "webhook-marketplace-purchase-pending-change": { /** @enum {string} */ action: "pending_change"; effective_date: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; marketplace_purchase: { account: { @@ -40719,7 +44990,7 @@ export interface components { }; unit_count?: number; }; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Marketplace Purchase */ previous_marketplace_purchase?: { account: { @@ -40747,15 +45018,15 @@ export interface components { }; unit_count: number; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** marketplace_purchase pending_change_cancelled event */ "webhook-marketplace-purchase-pending-change-cancelled": { /** @enum {string} */ action: "pending_change_cancelled"; effective_date: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; marketplace_purchase: { account: { @@ -40766,7 +45037,7 @@ export interface components { type: string; }; billing_cycle: string; - free_trial_ends_on: Record | null; + free_trial_ends_on: unknown; next_billing_date?: string | null; on_free_trial: boolean; plan: { @@ -40785,7 +45056,7 @@ export interface components { } & { next_billing_date: string; }; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Marketplace Purchase */ previous_marketplace_purchase?: { account: { @@ -40796,7 +45067,7 @@ export interface components { type: string; }; billing_cycle: string; - free_trial_ends_on: Record | null; + free_trial_ends_on: unknown; next_billing_date?: string | null; on_free_trial: boolean; plan: { @@ -40813,15 +45084,15 @@ export interface components { }; unit_count: number; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** marketplace_purchase purchased event */ "webhook-marketplace-purchase-purchased": { /** @enum {string} */ action: "purchased"; effective_date: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; marketplace_purchase: { account: { @@ -40874,7 +45145,7 @@ export interface components { }; unit_count?: number; }; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Marketplace Purchase */ previous_marketplace_purchase?: { account: { @@ -40885,7 +45156,7 @@ export interface components { type: string; }; billing_cycle: string; - free_trial_ends_on: Record | null; + free_trial_ends_on: unknown; next_billing_date?: string | null; on_free_trial: boolean; plan: { @@ -40902,8 +45173,8 @@ export interface components { }; unit_count: number; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** member added event */ "webhook-member-added": { @@ -40915,7 +45186,7 @@ export interface components { to: "write" | "admin" | "read"; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** User */ member: { @@ -40954,9 +45225,9 @@ export interface components { /** Format: uri */ url?: string; } | null; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** member edited event */ "webhook-member-edited": { @@ -40973,7 +45244,7 @@ export interface components { to?: string | null; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** User */ member: { @@ -41012,15 +45283,15 @@ export interface components { /** Format: uri */ url?: string; } | null; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** member removed event */ "webhook-member-removed": { /** @enum {string} */ action: "removed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** User */ member: { @@ -41059,15 +45330,15 @@ export interface components { /** Format: uri */ url?: string; } | null; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** membership added event */ "webhook-membership-added": { /** @enum {string} */ action: "added"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** User */ member: { @@ -41106,8 +45377,8 @@ export interface components { /** Format: uri */ url?: string; } | null; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; /** * @description The scope of the membership. Currently, can only be `team`. * @enum {string} @@ -41221,7 +45492,7 @@ export interface components { "webhook-membership-removed": { /** @enum {string} */ action: "removed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** User */ member: { @@ -41260,8 +45531,8 @@ export interface components { /** Format: uri */ url?: string; } | null; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; /** * @description The scope of the membership. Currently, can only be `team`. * @enum {string} @@ -41376,9 +45647,9 @@ export interface components { action: "checks_requested"; installation?: components["schemas"]["simple-installation"]; merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; "webhook-merge-group-destroyed": { /** @enum {string} */ @@ -41390,15 +45661,15 @@ export interface components { reason?: "merged" | "invalidated" | "dequeued"; installation?: components["schemas"]["simple-installation"]; merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** meta deleted event */ "webhook-meta-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ hook: { active: boolean; @@ -41473,15 +45744,15 @@ export interface components { /** @description The id of the modified webhook. */ hook_id: number; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["nullable-repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** milestone closed event */ "webhook-milestone-closed": { /** @enum {string} */ action: "closed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Milestone @@ -41554,15 +45825,15 @@ export interface components { /** Format: uri */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** milestone created event */ "webhook-milestone-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Milestone @@ -41635,15 +45906,15 @@ export interface components { /** Format: uri */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** milestone deleted event */ "webhook-milestone-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Milestone @@ -41716,9 +45987,9 @@ export interface components { /** Format: uri */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** milestone edited event */ "webhook-milestone-edited": { @@ -41739,7 +46010,7 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Milestone @@ -41812,15 +46083,15 @@ export interface components { /** Format: uri */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** milestone opened event */ "webhook-milestone-opened": { /** @enum {string} */ action: "opened"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Milestone @@ -41893,9 +46164,9 @@ export interface components { /** Format: uri */ url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** org_block blocked event */ "webhook-org-block-blocked": { @@ -41938,11 +46209,11 @@ export interface components { /** Format: uri */ url?: string; } | null; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** org_block unblocked event */ "webhook-org-block-unblocked": { @@ -41985,17 +46256,17 @@ export interface components { /** Format: uri */ url?: string; } | null; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** organization deleted event */ "webhook-organization-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Membership @@ -42046,15 +46317,15 @@ export interface components { url?: string; } | null; }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** organization member_added event */ "webhook-organization-member-added": { /** @enum {string} */ action: "member_added"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Membership @@ -42105,15 +46376,15 @@ export interface components { url?: string; } | null; }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** organization member_invited event */ "webhook-organization-member-invited": { /** @enum {string} */ action: "member_invited"; - enterprise?: components["schemas"]["enterprise"]; + 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: { @@ -42169,9 +46440,9 @@ export interface components { team_count: number; invitation_source?: string; }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** User */ user?: { /** Format: uri */ @@ -42214,7 +46485,7 @@ export interface components { "webhook-organization-member-removed": { /** @enum {string} */ action: "member_removed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Membership @@ -42265,9 +46536,9 @@ export interface components { url?: string; } | null; }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** organization renamed event */ "webhook-organization-renamed": { @@ -42278,7 +46549,7 @@ export interface components { from?: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** * Membership @@ -42329,9 +46600,9 @@ export interface components { url?: string; } | null; }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Ruby Gems metadata */ "webhook-rubygems-metadata": { @@ -42344,11 +46615,11 @@ export interface components { }; platform?: string; metadata?: { - [key: string]: string | undefined; + [key: string]: string; }; repo?: string; dependencies?: { - [key: string]: string | undefined; + [key: string]: string; }[]; commit_oid?: string; }; @@ -42356,9 +46627,9 @@ export interface components { "webhook-package-published": { /** @enum {string} */ action: "published"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description Information about the package. */ package: { created_at: string | null; @@ -42448,8 +46719,8 @@ export interface components { body?: string | Record; body_html?: string; container_metadata?: { - labels?: Record | null; - manifest?: Record | null; + labels?: unknown; + manifest?: unknown; tag?: { digest?: string; name?: string; @@ -42474,19 +46745,19 @@ export interface components { name?: string; version?: string; npm_user?: string; - author?: Record | null; - bugs?: Record | null; + author?: unknown; + bugs?: unknown; dependencies?: Record; dev_dependencies?: Record; peer_dependencies?: Record; optional_dependencies?: Record; description?: string; - dist?: Record | null; + dist?: unknown; git_head?: string; homepage?: string; license?: string; main?: string; - repository?: Record | null; + repository?: unknown; scripts?: Record; id?: string; node_version?: string; @@ -42499,7 +46770,7 @@ export interface components { files?: string[]; bin?: Record; man?: Record; - directories?: Record | null; + directories?: unknown; os?: string[]; cpu?: string[]; readme?: string; @@ -42523,7 +46794,7 @@ export interface components { branch?: string; commit?: string; type?: string; - } + }, ] >; }[] @@ -42615,16 +46886,16 @@ export interface components { } | null; updated_at: string | null; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** package updated event */ "webhook-package-updated": { /** @enum {string} */ action: "updated"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** @description Information about the package. */ package: { created_at: string; @@ -42816,12 +47087,12 @@ export interface components { } | null; updated_at: string; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** page_build event */ "webhook-page-build": { - /** @description The [List GitHub Pages builds](https://docs.github.com/rest/reference/repos#list-github-pages-builds) itself. */ + /** @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; @@ -42871,20 +47142,20 @@ export interface components { /** Format: uri */ url: string; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; id: number; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** personal_access_token_request approved event */ "webhook-personal-access-token-request-approved": { /** @enum {string} */ action: "approved"; personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; installation: components["schemas"]["simple-installation"]; }; /** personal_access_token_request cancelled event */ @@ -42892,8 +47163,8 @@ export interface components { /** @enum {string} */ action: "cancelled"; personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; installation: components["schemas"]["simple-installation"]; }; /** personal_access_token_request created event */ @@ -42901,8 +47172,8 @@ export interface components { /** @enum {string} */ action: "created"; personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; installation: components["schemas"]["simple-installation"]; }; /** personal_access_token_request denied event */ @@ -42910,8 +47181,8 @@ export interface components { /** @enum {string} */ action: "denied"; personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple"]; - sender: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; installation: components["schemas"]["simple-installation"]; }; "webhook-ping": { @@ -42956,9 +47227,9 @@ export interface components { }; /** @description The ID of the webhook that triggered the ping. */ hook_id?: number; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; /** @description Random string of GitHub zen. */ zen?: string; }; @@ -42976,9 +47247,9 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Card */ project_card: { after_id?: number | null; @@ -43039,16 +47310,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project_card created event */ "webhook-project-card-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Card */ project_card: { after_id?: number | null; @@ -43109,16 +47380,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project_card deleted event */ "webhook-project-card-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Card */ project_card: { after_id?: number | null; @@ -43179,8 +47450,8 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["nullable-repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project_card edited event */ "webhook-project-card-edited": { @@ -43191,9 +47462,9 @@ export interface components { from: string | null; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Card */ project_card: { after_id?: number | null; @@ -43254,8 +47525,8 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project_card moved event */ "webhook-project-card-moved": { @@ -43266,9 +47537,9 @@ export interface components { from: number; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; project_card: { after_id?: number | null; /** @description Whether or not the card is archived */ @@ -43360,16 +47631,16 @@ export interface components { updated_at?: string; url?: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project closed event */ "webhook-project-closed": { /** @enum {string} */ action: "closed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project */ project: { /** @description Body of the project */ @@ -43434,16 +47705,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project_column created event */ "webhook-project-column-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Column */ project_column: { after_id?: number | null; @@ -43463,16 +47734,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** project_column deleted event */ "webhook-project-column-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Column */ project_column: { after_id?: number | null; @@ -43492,8 +47763,8 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["nullable-repository"]; - sender?: components["schemas"]["simple-user"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** project_column edited event */ "webhook-project-column-edited": { @@ -43504,9 +47775,9 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Column */ project_column: { after_id?: number | null; @@ -43526,16 +47797,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** project_column moved event */ "webhook-project-column-moved": { /** @enum {string} */ action: "moved"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project Column */ project_column: { after_id?: number | null; @@ -43555,16 +47826,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project created event */ "webhook-project-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project */ project: { /** @description Body of the project */ @@ -43629,16 +47900,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** project deleted event */ "webhook-project-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project */ project: { /** @description Body of the project */ @@ -43703,8 +47974,8 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["nullable-repository"]; - sender?: components["schemas"]["simple-user"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** project edited event */ "webhook-project-edited": { @@ -43721,9 +47992,9 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project */ project: { /** @description Body of the project */ @@ -43788,16 +48059,16 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** project reopened event */ "webhook-project-reopened": { /** @enum {string} */ action: "reopened"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Project */ project: { /** @description Body of the project */ @@ -43862,32 +48133,35 @@ export interface components { /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Project Closed Event */ "webhook-projects-v2-project-closed": { /** @enum {string} */ action: "closed"; - organization: components["schemas"]["organization-simple"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** @description A project was created */ "webhook-projects-v2-project-created": { /** @enum {string} */ action: "created"; - organization: components["schemas"]["organization-simple"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Project Deleted Event */ "webhook-projects-v2-project-deleted": { /** @enum {string} */ action: "deleted"; - organization: components["schemas"]["organization-simple"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Project Edited Event */ "webhook-projects-v2-project-edited": { @@ -43911,9 +48185,10 @@ export interface components { to?: string; }; }; - organization: components["schemas"]["organization-simple"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Item Archived Event */ "webhook-projects-v2-item-archived": { @@ -43928,9 +48203,9 @@ export interface components { }; }; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Item Converted Event */ "webhook-projects-v2-item-converted": { @@ -43943,27 +48218,27 @@ export interface components { }; }; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Item Created Event */ "webhook-projects-v2-item-created": { /** @enum {string} */ action: "created"; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Item Deleted Event */ "webhook-projects-v2-item-deleted": { /** @enum {string} */ action: "deleted"; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Item Edited Event */ "webhook-projects-v2-item-edited": { @@ -43982,13 +48257,13 @@ export interface components { from?: string | null; to?: string | null; }; - } + }, ] >; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Item Reordered Event */ "webhook-projects-v2-item-reordered": { @@ -44001,9 +48276,9 @@ export interface components { }; }; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Item Restored Event */ "webhook-projects-v2-item-restored": { @@ -44018,25 +48293,26 @@ export interface components { }; }; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Projects v2 Project Reopened Event */ "webhook-projects-v2-project-reopened": { /** @enum {string} */ action: "reopened"; - organization: components["schemas"]["organization-simple"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** public event */ "webhook-public": { - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request assigned event */ "webhook-pull-request-assigned": { @@ -44079,11 +48355,11 @@ export interface components { /** Format: uri */ url?: string; } | null; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -44134,7 +48410,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -44502,7 +48777,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -44845,7 +49120,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -45176,7 +49451,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -45286,17 +49561,17 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request auto_merge_disabled event */ "webhook-pull-request-auto-merge-disabled": { /** @enum {string} */ action: "auto_merge_disabled"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -45347,7 +49622,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -45715,7 +49989,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -46058,7 +50332,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -46389,7 +50663,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -46500,17 +50774,17 @@ export interface components { } | null; }; reason: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request auto_merge_enabled event */ "webhook-pull-request-auto-merge-enabled": { /** @enum {string} */ action: "auto_merge_enabled"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -46561,7 +50835,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -46929,7 +51202,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -47272,7 +51545,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -47603,7 +51876,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -47714,18 +51987,18 @@ export interface components { } | null; }; reason?: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request closed event */ "webhook-pull-request-closed": { /** @enum {string} */ action: "closed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: components["schemas"]["pull-request"] & { /** * @description Whether to allow auto-merge for pull requests. @@ -47775,18 +52048,18 @@ export interface components { */ use_squash_pr_title_as_default?: boolean; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request converted_to_draft event */ "webhook-pull-request-converted-to-draft": { /** @enum {string} */ action: "converted_to_draft"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: components["schemas"]["pull-request"] & { /** * @description Whether to allow auto-merge for pull requests. @@ -47836,18 +52109,18 @@ export interface components { */ use_squash_pr_title_as_default?: boolean; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request demilestoned event */ "webhook-pull-request-demilestoned": { /** @enum {string} */ action: "demilestoned"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; milestone?: components["schemas"]["milestone"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -47898,7 +52171,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -48266,7 +52538,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -48609,7 +52881,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -48940,7 +53212,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -49050,17 +53322,17 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** pull_request dequeued event */ "webhook-pull-request-dequeued": { /** @enum {string} */ action: "dequeued"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -49111,7 +53383,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -49479,7 +53750,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -49822,7 +54093,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -50153,7 +54424,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -50264,8 +54535,8 @@ export interface components { } | null; }; reason: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request edited event */ "webhook-pull-request-edited": { @@ -50290,11 +54561,11 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: components["schemas"]["pull-request"] & { /** * @description Whether to allow auto-merge for pull requests. @@ -50344,17 +54615,17 @@ export interface components { */ use_squash_pr_title_as_default?: boolean; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** pull_request enqueued event */ "webhook-pull-request-enqueued": { /** @enum {string} */ action: "enqueued"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -50405,7 +54676,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -50773,7 +55043,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -51116,7 +55386,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -51447,7 +55717,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -51557,14 +55827,14 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request labeled event */ "webhook-pull-request-labeled": { /** @enum {string} */ action: "labeled"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** Label */ label?: { @@ -51584,7 +55854,7 @@ export interface components { }; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -51635,7 +55905,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -52003,7 +56272,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -52346,7 +56615,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -52677,7 +56946,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -52787,18 +57056,18 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request locked event */ "webhook-pull-request-locked": { /** @enum {string} */ action: "locked"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -52849,7 +57118,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -53217,7 +57485,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -53560,7 +57828,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -53891,7 +58159,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -54001,18 +58269,18 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request milestoned event */ "webhook-pull-request-milestoned": { /** @enum {string} */ action: "milestoned"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; milestone?: components["schemas"]["milestone"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -54063,7 +58331,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -54431,7 +58698,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -54774,7 +59041,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -55105,7 +59372,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -55215,18 +59482,18 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** pull_request opened event */ "webhook-pull-request-opened": { /** @enum {string} */ action: "opened"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: components["schemas"]["pull-request"] & { /** * @description Whether to allow auto-merge for pull requests. @@ -55276,18 +59543,18 @@ export interface components { */ use_squash_pr_title_as_default?: boolean; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request ready_for_review event */ "webhook-pull-request-ready-for-review": { /** @enum {string} */ action: "ready_for_review"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: components["schemas"]["pull-request"] & { /** * @description Whether to allow auto-merge for pull requests. @@ -55337,18 +59604,18 @@ export interface components { */ use_squash_pr_title_as_default?: boolean; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request reopened event */ "webhook-pull-request-reopened": { /** @enum {string} */ action: "reopened"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: components["schemas"]["pull-request"] & { /** * @description Whether to allow auto-merge for pull requests. @@ -55398,8 +59665,8 @@ export interface components { */ use_squash_pr_title_as_default?: boolean; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request_review_comment created event */ "webhook-pull-request-review-comment-created": { @@ -55407,7 +59674,7 @@ export interface components { action: "created"; /** * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. */ comment: { _links: { @@ -55507,7 +59774,7 @@ export interface components { * @default RIGHT * @enum {string|null} */ - start_side: "LEFT" | "RIGHT" | "" | 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} @@ -55558,9 +59825,9 @@ export interface components { url?: string; } | null; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: { _links: { /** Link */ @@ -55610,7 +59877,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -55977,7 +60243,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -56313,7 +60579,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -56599,7 +60865,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -56703,8 +60969,8 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request_review_comment deleted event */ "webhook-pull-request-review-comment-deleted": { @@ -56712,7 +60978,7 @@ export interface components { action: "deleted"; /** * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. */ comment: { _links: { @@ -56812,7 +61078,7 @@ export interface components { * @default RIGHT * @enum {string|null} */ - start_side: "LEFT" | "RIGHT" | "" | 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} @@ -56863,9 +61129,9 @@ export interface components { url?: string; } | null; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: { _links: { /** Link */ @@ -56915,7 +61181,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -57282,7 +61547,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -57618,7 +61883,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -57904,7 +62169,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -58008,8 +62273,8 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request_review_comment edited event */ "webhook-pull-request-review-comment-edited": { @@ -58024,7 +62289,7 @@ export interface components { }; /** * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. */ comment: { _links: { @@ -58124,7 +62389,7 @@ export interface components { * @default RIGHT * @enum {string|null} */ - start_side: "LEFT" | "RIGHT" | "" | 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} @@ -58175,9 +62440,9 @@ export interface components { url?: string; } | null; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; pull_request: { _links: { /** Link */ @@ -58227,7 +62492,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -58594,7 +62858,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -58930,7 +63194,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -59216,7 +63480,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -59320,16 +63584,16 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request_review dismissed event */ "webhook-pull-request-review-dismissed": { /** @enum {string} */ action: "dismissed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Simple Pull Request */ pull_request: { _links: { @@ -59380,7 +63644,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -59747,7 +64010,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -60083,7 +64346,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -60369,7 +64632,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -60473,7 +64736,7 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; + repository: components["schemas"]["repository-webhooks"]; /** @description The review that was affected. */ review: { _links: { @@ -60555,7 +64818,7 @@ export interface components { url?: string; } | null; }; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request_review edited event */ "webhook-pull-request-review-edited": { @@ -60567,9 +64830,9 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Simple Pull Request */ pull_request: { _links: { @@ -60620,7 +64883,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -60965,7 +65227,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -61252,7 +65514,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -61511,7 +65773,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -61615,7 +65877,7 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; + repository: components["schemas"]["repository-webhooks"]; /** @description The review that was affected. */ review: { _links: { @@ -61696,7 +65958,7 @@ export interface components { url?: string; } | null; }; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request review_request_removed event */ "webhook-pull-request-review-request-removed": OneOf< @@ -61704,11 +65966,11 @@ export interface components { { /** @enum {string} */ action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -61759,7 +66021,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -62127,7 +66388,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -62463,7 +66724,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -62794,7 +67055,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -62904,7 +67165,7 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; + repository: components["schemas"]["repository-webhooks"]; /** User */ requested_reviewer: { /** Format: uri */ @@ -62942,16 +67203,16 @@ export interface components { /** Format: uri */ url?: string; } | null; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }, { /** @enum {string} */ action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -63002,7 +67263,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -63370,7 +67630,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -63713,7 +67973,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -64044,7 +68304,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -64154,7 +68414,7 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; + repository: components["schemas"]["repository-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -64210,8 +68470,8 @@ export interface components { */ url: string; }; - sender: components["schemas"]["simple-user"]; - } + sender: components["schemas"]["simple-user-webhooks"]; + }, ] >; /** pull_request review_requested event */ @@ -64220,11 +68480,11 @@ export interface components { { /** @enum {string} */ action: "review_requested"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -64275,7 +68535,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -64643,7 +68902,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -64986,7 +69245,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -65317,7 +69576,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -65427,7 +69686,7 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; + repository: components["schemas"]["repository-webhooks"]; /** User */ requested_reviewer: { /** Format: uri */ @@ -65465,16 +69724,16 @@ export interface components { /** Format: uri */ url?: string; } | null; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }, { /** @enum {string} */ action: "review_requested"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -65525,7 +69784,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -65893,7 +70151,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -66236,7 +70494,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -66567,7 +70825,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -66677,7 +70935,7 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; + repository: components["schemas"]["repository-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -66733,17 +70991,17 @@ export interface components { */ url?: string; }; - sender: components["schemas"]["simple-user"]; - } + sender: components["schemas"]["simple-user-webhooks"]; + }, ] >; /** pull_request_review submitted event */ "webhook-pull-request-review-submitted": { /** @enum {string} */ action: "submitted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Simple Pull Request */ pull_request: { _links: { @@ -66794,7 +71052,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -67161,7 +71418,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -67497,7 +71754,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -67783,7 +72040,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -67887,7 +72144,7 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; + repository: components["schemas"]["repository-webhooks"]; /** @description The review that was affected. */ review: { _links: { @@ -67968,15 +72225,15 @@ export interface components { url?: string; } | null; }; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request_review_thread resolved event */ "webhook-pull-request-review-thread-resolved": { /** @enum {string} */ action: "resolved"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Simple Pull Request */ pull_request: { _links: { @@ -68027,7 +72284,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -68377,7 +72633,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -68671,7 +72927,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -68932,7 +73188,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -69036,8 +73292,8 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; thread: { comments: { _links: { @@ -69137,7 +73393,7 @@ export interface components { * @default RIGHT * @enum {string|null} */ - start_side: "LEFT" | "RIGHT" | "" | 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} @@ -69195,9 +73451,9 @@ export interface components { "webhook-pull-request-review-thread-unresolved": { /** @enum {string} */ action: "unresolved"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Simple Pull Request */ pull_request: { _links: { @@ -69248,7 +73504,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; /** User */ assignee: { @@ -69598,7 +73853,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -69892,7 +74147,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -70153,7 +74408,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -70257,8 +74512,8 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; thread: { comments: { _links: { @@ -70358,7 +74613,7 @@ export interface components { * @default RIGHT * @enum {string|null} */ - start_side: "LEFT" | "RIGHT" | "" | 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} @@ -70418,11 +74673,11 @@ export interface components { action: "synchronize"; after: string; before: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -70473,7 +74728,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -70841,7 +75095,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -71177,7 +75431,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -71508,7 +75762,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -71618,8 +75872,8 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request unassigned event */ "webhook-pull-request-unassigned": { @@ -71662,11 +75916,11 @@ export interface components { /** Format: uri */ url?: string; } | null; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -71717,7 +75971,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -72085,7 +76338,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -72428,7 +76681,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -72759,7 +77012,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -72869,14 +77122,14 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** pull_request unlabeled event */ "webhook-pull-request-unlabeled": { /** @enum {string} */ action: "unlabeled"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** Label */ label?: { @@ -72896,7 +77149,7 @@ export interface components { }; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -72947,7 +77200,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -73315,7 +77567,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -73651,7 +77903,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -73982,7 +78234,7 @@ export interface components { * @description URL for the team */ url: string; - } + }, ] >[]; requested_teams: { @@ -74092,18 +78344,18 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** pull_request unlocked event */ "webhook-pull-request-unlocked": { /** @enum {string} */ action: "unlocked"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** Pull Request */ pull_request: { _links: { @@ -74154,7 +78406,6 @@ export interface components { | "off-topic" | "too heated" | "spam" - | "" | null; additions?: number; /** User */ @@ -74522,7 +78773,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -74865,7 +79116,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -75196,7 +79447,7 @@ export interface components { * @description URL for the team */ url?: string; - } + }, ] >[]; requested_teams: { @@ -75306,8 +79557,8 @@ export interface components { url?: string; } | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** push event */ "webhook-push": { @@ -75316,9 +79567,9 @@ export interface components { base_ref: string | null; /** @description The SHA of the most recent commit on `ref` before the push. */ before: string; - /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/reference/repos#commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ commits: { - /** @description An array of files added in the commit. */ + /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per commit. */ added?: string[]; /** * Committer @@ -75351,9 +79602,9 @@ export interface components { id: string; /** @description The commit message. */ message: string; - /** @description An array of files modified by the commit. */ + /** @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. */ + /** @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 @@ -75373,7 +79624,7 @@ export interface components { created: boolean; /** @description Whether this push deleted the `ref`. */ deleted: boolean; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; /** @description Whether this push was a force push of the `ref`. */ forced: boolean; /** Commit */ @@ -75428,7 +79679,7 @@ export interface components { url: string; } | null; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** * Committer * @description Metaproperties for Git author/committer information. @@ -75500,6 +79751,10 @@ export interface components { /** 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; /** @@ -75650,7 +79905,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -75686,14 +79941,14 @@ export interface components { /** @description Whether to require contributors to sign off on web-based commits */ web_commit_signoff_required?: boolean; }; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; "webhook-registry-package-published": { /** @enum {string} */ action: "published"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; registry_package: { created_at: string | null; description: string | null; @@ -75747,8 +80002,8 @@ export interface components { body?: string | Record; body_html?: string; container_metadata?: { - labels?: Record | null; - manifest?: Record | null; + labels?: unknown; + manifest?: unknown; tag?: { digest?: string; name?: string; @@ -75772,19 +80027,19 @@ export interface components { name?: string; version?: string; npm_user?: string; - author?: string | Record; - bugs?: string | Record; + author?: string | Record | null; + bugs?: string | Record | null; dependencies?: Record; dev_dependencies?: Record; peer_dependencies?: Record; optional_dependencies?: Record; description?: string; - dist?: string | Record; + dist?: string | Record | null; git_head?: string; homepage?: string; license?: string; main?: string; - repository?: string | Record; + repository?: string | Record | null; scripts?: Record; id?: string; node_version?: string; @@ -75797,7 +80052,7 @@ export interface components { files?: string[]; bin?: Record; man?: Record; - directories?: string | Record; + directories?: string | Record | null; os?: string[]; cpu?: string[]; readme?: string; @@ -75809,7 +80064,7 @@ export interface components { } | null; nuget_metadata?: | { - id?: string | Record | number; + id?: string | Record | number | null; name?: string; value?: OneOf< [ @@ -75821,7 +80076,7 @@ export interface components { branch?: string; commit?: string; type?: string; - } + }, ] >; }[] @@ -75890,17 +80145,18 @@ export interface components { } | null; updated_at: string | null; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; "webhook-registry-package-updated": { - action: string; - enterprise?: components["schemas"]["enterprise"]; + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; registry_package: { created_at: string; - description: Record | null; + description: unknown; ecosystem: string; html_url: string; id: number; @@ -76019,22 +80275,22 @@ export interface components { updated_at: string; version: string; }; - registry: Record | null; + registry: unknown; updated_at: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** release created event */ "webhook-release-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. */ release: { assets: { @@ -76179,19 +80435,19 @@ export interface components { /** Format: uri */ zipball_url: string | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** release deleted event */ "webhook-release-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. */ release: { assets: { @@ -76336,8 +80592,8 @@ export interface components { /** Format: uri */ zipball_url: string | null; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** release edited event */ "webhook-release-edited": { @@ -76357,12 +80613,12 @@ export interface components { to: boolean; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. */ release: { assets: { @@ -76507,16 +80763,16 @@ export interface components { /** Format: uri */ zipball_url: string | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** release prereleased event */ "webhook-release-prereleased": { /** @enum {string} */ action: "prereleased"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; release: { assets: { /** Format: uri */ @@ -76660,7 +80916,7 @@ export interface components { /** Format: uri */ zipball_url: string | null; } & { - assets?: (Record | null)[]; + assets?: unknown[]; assets_url?: string; author?: { avatar_url?: string; @@ -76702,16 +80958,16 @@ export interface components { url?: string; zipball_url?: string | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** release published event */ "webhook-release-published": { /** @enum {string} */ action: "published"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; release: { assets: { /** Format: uri */ @@ -76855,7 +81111,7 @@ export interface components { /** Format: uri */ zipball_url: string | null; } & { - assets?: (Record | null)[]; + assets?: unknown[]; assets_url?: string; author?: { avatar_url?: string; @@ -76894,19 +81150,19 @@ export interface components { url?: string; zipball_url?: string | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** release released event */ "webhook-release-released": { /** @enum {string} */ action: "released"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; /** * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. */ release: { assets: { @@ -77051,16 +81307,16 @@ export interface components { /** Format: uri */ zipball_url: string | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** release unpublished event */ "webhook-release-unpublished": { /** @enum {string} */ action: "unpublished"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; release: { assets: { /** Format: uri */ @@ -77204,7 +81460,7 @@ export interface components { /** Format: uri */ zipball_url: string | null; } & { - assets?: (Record | null)[]; + assets?: unknown[]; assets_url?: string; author?: { avatar_url?: string; @@ -77242,73 +81498,74 @@ export interface components { url?: string; zipball_url?: string | null; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** Repository advisory published event */ "webhook-repository-advisory-published": { /** @enum {string} */ action: "published"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** Repository advisory reported event */ "webhook-repository-advisory-reported": { /** @enum {string} */ action: "reported"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** repository archived event */ "webhook-repository-archived": { /** @enum {string} */ action: "archived"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository created event */ "webhook-repository-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository deleted event */ "webhook-repository-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository_dispatch event */ "webhook-repository-dispatch-sample": { - action: string; + /** @enum {string} */ + action: "sample.collected"; branch: string; client_payload: { [key: string]: unknown; } | null; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository edited event */ "webhook-repository-edited": { @@ -77328,19 +81585,19 @@ export interface components { from?: string[] | null; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository_import event */ "webhook-repository-import": { - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** @enum {string} */ status: "success" | "cancelled" | "failure"; }; @@ -77348,21 +81605,21 @@ export interface components { "webhook-repository-privatized": { /** @enum {string} */ action: "privatized"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository publicized event */ "webhook-repository-publicized": { /** @enum {string} */ action: "publicized"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository renamed event */ "webhook-repository-renamed": { @@ -77375,11 +81632,91 @@ export interface components { }; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset created event */ + "webhook-repository-ruleset-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset deleted event */ + "webhook-repository-ruleset-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset edited event */ + "webhook-repository-ruleset-edited": { + /** @enum {string} */ + action: "edited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + changes?: { + name?: { + from?: string; + }; + enforcement?: { + from?: string; + }; + conditions?: { + added?: components["schemas"]["repository-ruleset-conditions"][]; + deleted?: components["schemas"]["repository-ruleset-conditions"][]; + updated?: { + condition?: components["schemas"]["repository-ruleset-conditions"]; + changes?: { + condition_type?: { + from?: string; + }; + target?: { + from?: string; + }; + include?: { + from?: string[]; + }; + exclude?: { + from?: string[]; + }; + }; + }[]; + }; + rules?: { + added?: components["schemas"]["repository-rule"][]; + deleted?: components["schemas"]["repository-rule"][]; + updated?: { + rule?: components["schemas"]["repository-rule"]; + changes?: { + configuration?: { + from?: string; + }; + rule_type?: { + from?: string; + }; + pattern?: { + from?: string; + }; + }; + }[]; + }; + }; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository transferred event */ "webhook-repository-transferred": { @@ -77453,21 +81790,21 @@ export interface components { }; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository unarchived event */ "webhook-repository-unarchived": { /** @enum {string} */ action: "unarchived"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository_vulnerability_alert create event */ "webhook-repository-vulnerability-alert-create": { @@ -77545,11 +81882,11 @@ export interface components { /** @enum {string} */ state: "open"; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository_vulnerability_alert dismiss event */ "webhook-repository-vulnerability-alert-dismiss": { @@ -77668,11 +82005,11 @@ export interface components { /** @enum {string} */ state: "dismissed"; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository_vulnerability_alert reopen event */ "webhook-repository-vulnerability-alert-reopen": { @@ -77750,11 +82087,11 @@ export interface components { /** @enum {string} */ state: "open"; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** repository_vulnerability_alert resolve event */ "webhook-repository-vulnerability-alert-resolve": { @@ -77835,33 +82172,33 @@ export interface components { /** @enum {string} */ state: "fixed" | "open"; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** secret_scanning_alert created event */ "webhook-secret-scanning-alert-created": { /** @enum {string} */ action: "created"; - alert: components["schemas"]["secret-scanning-alert"]; - enterprise?: components["schemas"]["enterprise"]; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** Secret Scanning Alert Location Created Event */ "webhook-secret-scanning-alert-location-created": { /** @enum {string} */ action?: "created"; - alert: components["schemas"]["secret-scanning-alert"]; + alert: components["schemas"]["secret-scanning-alert-webhook"]; installation?: components["schemas"]["simple-installation"]; location: components["schemas"]["secret-scanning-location"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** Secret Scanning Alert Location Created Event */ "webhook-secret-scanning-alert-location-created-form-encoded": { @@ -77872,93 +82209,54 @@ export interface components { "webhook-secret-scanning-alert-reopened": { /** @enum {string} */ action: "reopened"; - alert: components["schemas"]["secret-scanning-alert"]; - enterprise?: components["schemas"]["enterprise"]; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** secret_scanning_alert resolved event */ "webhook-secret-scanning-alert-resolved": { /** @enum {string} */ action: "resolved"; - alert: { - created_at?: components["schemas"]["alert-created-at"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - number?: components["schemas"]["alert-number"]; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - /** - * 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_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - * @enum {string|null} - */ - resolution?: - | "" - | "false_positive" - | "wont_fix" - | "revoked" - | "used_in_tests" - | "pattern_deleted" - | "pattern_edited" - | null; - /** - * 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 secret that was detected. */ - secret?: string; - /** @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; - state?: components["schemas"]["secret-scanning-alert-state"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - }; - enterprise?: components["schemas"]["enterprise"]; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** secret_scanning_alert revoked event */ "webhook-secret-scanning-alert-revoked": { /** @enum {string} */ action: "revoked"; - alert: components["schemas"]["secret-scanning-alert"]; - enterprise?: components["schemas"]["enterprise"]; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** 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-webhooks"]; }; /** security_advisory published event */ "webhook-security-advisory-published": { /** @enum {string} */ action: "published"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; + 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: { @@ -77996,16 +82294,16 @@ export interface components { }[]; withdrawn_at: string | null; }; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** security_advisory updated event */ "webhook-security-advisory-updated": { /** @enum {string} */ action: "updated"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; + 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: { @@ -78043,16 +82341,16 @@ export interface components { }[]; withdrawn_at: string | null; }; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** security_advisory withdrawn event */ "webhook-security-advisory-withdrawn": { /** @enum {string} */ action: "withdrawn"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; + 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: { @@ -78090,7 +82388,7 @@ export interface components { }[]; withdrawn_at: string; }; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** security_and_analysis event */ "webhook-security-and-analysis": { @@ -78099,21 +82397,21 @@ export interface components { security_and_analysis?: components["schemas"]["security-and-analysis"]; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; repository: components["schemas"]["full-repository"]; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; /** sponsorship cancelled event */ "webhook-sponsorship-cancelled": { /** @enum {string} */ action: "cancelled"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; sponsorship: { created_at: string; maintainer?: { @@ -78233,11 +82531,11 @@ export interface components { "webhook-sponsorship-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; sponsorship: { created_at: string; maintainer?: { @@ -78363,11 +82661,11 @@ export interface components { from: string; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; sponsorship: { created_at: string; maintainer?: { @@ -78489,11 +82787,11 @@ export interface components { action: "pending_cancellation"; /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ effective_date?: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; sponsorship: { created_at: string; maintainer?: { @@ -78634,11 +82932,11 @@ export interface components { }; /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ effective_date?: string; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; sponsorship: { created_at: string; maintainer?: { @@ -78777,11 +83075,11 @@ export interface components { }; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; sponsorship: { created_at: string; maintainer?: { @@ -78901,11 +83199,11 @@ export interface components { "webhook-star-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ starred_at: string | null; }; @@ -78913,13 +83211,13 @@ export interface components { "webhook-star-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: Record | null; + starred_at: unknown; }; /** status event */ "webhook-status": { @@ -79089,14 +83387,14 @@ export interface components { created_at: string; /** @description The optional human-readable description added to the status. */ description: string | null; - enterprise?: components["schemas"]["enterprise"]; + 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"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** @description The Commit SHA. */ sha: string; /** @@ -79110,11 +83408,11 @@ export interface components { }; /** team_add event */ "webhook-team-add": { - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -79189,9 +83487,9 @@ export interface components { "webhook-team-added-to-repository": { /** @enum {string} */ action: "added_to_repository"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; /** * Repository * @description A git repository @@ -79248,6 +83546,10 @@ export interface components { /** 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; /** @@ -79393,7 +83695,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -79427,7 +83729,7 @@ export interface components { watchers: number; watchers_count: number; }; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -79502,9 +83804,9 @@ export interface components { "webhook-team-created": { /** @enum {string} */ action: "created"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; /** * Repository * @description A git repository @@ -79561,6 +83863,10 @@ export interface components { /** 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; /** @@ -79706,7 +84012,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -79740,7 +84046,7 @@ export interface components { watchers: number; watchers_count: number; }; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -79815,9 +84121,9 @@ export interface components { "webhook-team-deleted": { /** @enum {string} */ action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; /** * Repository * @description A git repository @@ -79874,6 +84180,10 @@ export interface components { /** 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; /** @@ -80019,7 +84329,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -80053,7 +84363,7 @@ export interface components { watchers: number; watchers_count: number; }; - sender?: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -80159,9 +84469,9 @@ export interface components { }; }; }; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; /** * Repository * @description A git repository @@ -80218,6 +84528,10 @@ export interface components { /** 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; /** @@ -80363,7 +84677,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -80397,7 +84711,7 @@ export interface components { watchers: number; watchers_count: number; }; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -80472,9 +84786,9 @@ export interface components { "webhook-team-removed-from-repository": { /** @enum {string} */ action: "removed_from_repository"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; + organization: components["schemas"]["organization-simple-webhooks"]; /** * Repository * @description A git repository @@ -80531,6 +84845,10 @@ export interface components { /** 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; /** @@ -80676,7 +84994,7 @@ export interface components { public?: boolean; /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; + pushed_at: number | string | null; /** Format: uri-template */ releases_url: string; role_name?: string | null; @@ -80710,7 +85028,7 @@ export interface components { watchers: number; watchers_count: number; }; - sender: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user-webhooks"]; /** * Team * @description Groups of organization members that gives permissions on specified repositories. @@ -80785,34 +85103,34 @@ export interface components { "webhook-watch-started": { /** @enum {string} */ action: "started"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; /** workflow_dispatch event */ "webhook-workflow-dispatch": { - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; inputs: { [key: string]: unknown; } | null; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + organization?: components["schemas"]["organization-simple-webhooks"]; ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; workflow: string; }; /** workflow_job completed event */ "webhook-workflow-job-completed": { /** @enum {string} */ action: "completed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; workflow_job: { /** Format: uri */ check_run_url: string; @@ -80821,13 +85139,12 @@ export interface components { conclusion: | "success" | "failure" - | "" + | null | "skipped" | "cancelled" | "action_required" | "neutral" - | "timed_out" - | null; + | "timed_out"; /** @description The time that the job created. */ created_at: string; head_sha: string; @@ -80863,13 +85180,7 @@ export interface components { steps: { completed_at: string | null; /** @enum {string|null} */ - conclusion: - | "failure" - | "skipped" - | "success" - | "cancelled" - | "" - | null; + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; name: string; number: number; started_at: string | null; @@ -80911,7 +85222,7 @@ export interface components { head_branch?: string | null; /** @description The name of the workflow. */ workflow_name?: string | null; - steps?: (Record | null)[]; + steps?: unknown[]; url?: string; }; deployment?: components["schemas"]["deployment"]; @@ -80920,17 +85231,17 @@ export interface components { "webhook-workflow-job-in-progress": { /** @enum {string} */ action: "in_progress"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; workflow_job: { /** Format: uri */ check_run_url: string; completed_at: string | null; /** @enum {string|null} */ - conclusion: "success" | "failure" | "" | "cancelled" | "neutral" | null; + conclusion: "success" | "failure" | null | "cancelled" | "neutral"; /** @description The time that the job created. */ created_at: string; head_sha: string; @@ -80966,13 +85277,7 @@ export interface components { steps: { completed_at: string | null; /** @enum {string|null} */ - conclusion: - | "failure" - | "skipped" - | "success" - | "" - | "cancelled" - | null; + conclusion: "failure" | "skipped" | "success" | null | "cancelled"; name: string; number: number; started_at: string | null; @@ -81024,11 +85329,11 @@ export interface components { "webhook-workflow-job-queued": { /** @enum {string} */ action: "queued"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; workflow_job: { /** Format: uri */ check_run_url: string; @@ -81062,13 +85367,7 @@ export interface components { steps: { completed_at: string | null; /** @enum {string|null} */ - conclusion: - | "failure" - | "skipped" - | "success" - | "cancelled" - | "" - | null; + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; name: string; number: number; started_at: string | null; @@ -81084,11 +85383,11 @@ export interface components { "webhook-workflow-job-waiting": { /** @enum {string} */ action: "waiting"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; workflow_job: { /** Format: uri */ check_run_url: string; @@ -81122,13 +85421,7 @@ export interface components { steps: { completed_at: string | null; /** @enum {string|null} */ - conclusion: - | "failure" - | "skipped" - | "success" - | "cancelled" - | "" - | null; + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; name: string; number: number; started_at: string | null; @@ -81149,11 +85442,11 @@ export interface components { "webhook-workflow-run-completed": { /** @enum {string} */ action: "completed"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** Workflow */ workflow: { /** Format: uri */ @@ -81227,9 +85520,8 @@ export interface components { | "timed_out" | "action_required" | "stale" - | "" - | "skipped" - | null; + | null + | "skipped"; /** Format: date-time */ created_at: string; event: string; @@ -81754,7 +86046,7 @@ export interface components { node_id?: string; path?: string; previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; + pull_requests?: unknown[]; referenced_workflows?: | { path: string; @@ -81864,11 +86156,11 @@ export interface components { "webhook-workflow-run-in-progress": { /** @enum {string} */ action: "in_progress"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** Workflow */ workflow: { /** Format: uri */ @@ -81943,7 +86235,6 @@ export interface components { | "action_required" | "stale" | "skipped" - | "" | null; /** Format: date-time */ created_at: string; @@ -82469,7 +86760,7 @@ export interface components { node_id?: string; path?: string; previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; + pull_requests?: unknown[]; referenced_workflows?: | { path: string; @@ -82579,11 +86870,11 @@ export interface components { "webhook-workflow-run-requested": { /** @enum {string} */ action: "requested"; - enterprise?: components["schemas"]["enterprise"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; /** Workflow */ workflow: { /** Format: uri */ @@ -82658,10 +86949,9 @@ export interface components { | "timed_out" | "action_required" | "stale" - | "" + | null | "skipped" - | "startup_failure" - | null; + | "startup_failure"; /** Format: date-time */ created_at: string; event: string; @@ -83062,18 +87352,18 @@ export interface components { }; }; responses: { - /** @description Resource not found */ - not_found: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; /** @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: { @@ -83094,7 +87384,9 @@ export interface components { }; }; /** @description Not modified */ - not_modified: never; + not_modified: { + content: never; + }; /** @description Requires authentication */ requires_authentication: { content: { @@ -83137,14 +87429,6 @@ export interface components { "application/json": components["schemas"]["basic-error"]; }; }; - /** @description Internal Error */ - internal_error: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description A header with no content is returned. */ - no_content: never; /** @description Conflict */ conflict: { content: { @@ -83179,8 +87463,20 @@ export interface components { }; }; }; + /** @description Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ - package_es_list_error: never; + package_es_list_error: { + content: never; + }; + /** @description A header with no content is returned. */ + no_content: { + content: never; + }; /** @description Gone */ gone: { content: { @@ -83206,13 +87502,21 @@ export interface components { }; }; /** @description Found */ - found: never; + found: { + content: never; + }; /** @description Response if there is already a validation run in progress with a different default setup configuration */ code_scanning_conflict: { content: { "application/json": components["schemas"]["basic-error"]; }; }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + dependency_review_forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; /** @description Unavailable due to service under maintenance. */ porter_maintenance: { content: { @@ -83221,20 +87525,32 @@ export interface components { }; }; parameters: { - /** @description The number of results per page (max 100). */ + /** @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 Page number of the results to fetch. */ + /** @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 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`. */ + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ since?: string; /** @description The unique identifier of the installation. */ "installation-id": number; /** @description The client ID of the GitHub app. */ "client-id": string; "app-slug": string; + /** @description The unique identifier of the classroom assignment. */ + "assignment-id": number; + /** @description The unique identifier of the classroom. */ + "classroom-id": number; /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ enterprise: string; /** @@ -83265,12 +87581,6 @@ export interface components { * `updated` means when the alert's state last changed. */ "dependabot-alert-sort"?: "created" | "updated"; - /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ - "pagination-before"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ - "pagination-after"?: string; /** * @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. * This parameter must not be used in combination with `last`. @@ -83295,6 +87605,8 @@ export interface components { "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 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 The unique identifier of the gist. */ "gist-id": string; /** @description The unique identifier of the comment. */ @@ -83317,37 +87629,21 @@ export interface components { 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/reference/activity#list-notifications-for-the-authenticated-user)). */ + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ "thread-id": number; /** @description An organization ID. Only return organizations with an ID greater than this ID. */ "since-org"?: number; /** @description The organization name. The name is not case sensitive. */ org: string; - /** @description The property by which to sort the results. */ - "personal-access-token-sort"?: "created_at"; - /** @description A list of owner usernames to use to filter the results. */ - "personal-access-token-owner"?: string[]; - /** @description The name of the repository to use to filter the results. */ - "personal-access-token-repository"?: string; - /** @description The permission to use to filter the results. */ - "personal-access-token-permission"?: string; - /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-before"?: string; - /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-after"?: string; - /** @description The unique identifier of the fine-grained personal access token. */ - "fine-grained-personal-access-token-id": number; /** @description The unique identifier of the repository. */ "repository-id": number; - /** @description The unique identifier of the required workflow. */ - "required-workflow-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). */ + /** @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; @@ -83357,7 +87653,7 @@ export interface components { "tool-name"?: components["schemas"]["code-scanning-analysis-tool-name"]; /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ "tool-guid"?: components["schemas"]["code-scanning-analysis-tool-guid"]; - /** @description The unique identifier of the hook. */ + /** @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 unique identifier of the invitation. */ "invitation-id": number; @@ -83367,6 +87663,10 @@ export interface components { "migration-id": number; /** @description repo_name parameter */ "repo-name": string; + /** @description The slug of the team name. */ + "team-slug": 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. * @@ -83386,12 +87686,45 @@ export interface components { "package-name": string; /** @description Unique identifier of the package version. */ "package-version-id": number; + /** @description The property by which to sort the results. */ + "personal-access-token-sort"?: "created_at"; + /** @description A list of owner usernames to use to filter the results. */ + "personal-access-token-owner"?: string[]; + /** @description The name of the repository to use to filter the results. */ + "personal-access-token-repository"?: string; + /** @description The permission to use to filter the results. */ + "personal-access-token-permission"?: string; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-before"?: string; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-after"?: string; + /** @description The unique identifier of the fine-grained personal access token. */ + "fine-grained-personal-access-token-id": number; + /** @description The custom property name. The name is case sensitive. */ + "custom-property-name": string; + /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ + "repository-name-in-query"?: number; + /** + * @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 insights 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 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 A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ "secret-scanning-pagination-before-org-repo"?: string; /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ "secret-scanning-pagination-after-org-repo"?: string; - /** @description The slug of the team name. */ - "team-slug": string; /** @description The number that identifies the discussion. */ "discussion-number": number; /** @description The number that identifies the comment. */ @@ -83420,8 +87753,8 @@ export interface components { "card-id": number; /** @description The unique identifier of the column. */ "column-id": number; - /** @description The ID of the required workflow that has run at least once in a repository. */ - "repo-required-workflow-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`. */ @@ -83493,6 +87826,8 @@ export interface components { "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; /** @@ -83506,7 +87841,7 @@ export interface components { "manifest-path"?: string; /** @description deployment_id parameter */ "deployment-id": number; - /** @description The name of the environment. */ + /** @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; @@ -83520,6 +87855,8 @@ export interface components { "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. */ @@ -83528,8 +87865,8 @@ export interface components { "asset-id": number; /** @description The unique identifier of the release. */ "release-id": number; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: string; + /** @description The name of the ref. Cannot contain wildcard characters. When specified, only rule evaluations triggered for this ref will be returned. */ + "ref-in-query"?: string; /** @description The unique identifier of the tag protection. */ "tag-protection-id": number; /** @description The time frame to display results for. */ @@ -83575,6 +87912,8 @@ export interface components { pathItems: never; } +export type $defs = Record; + export type external = Record; export interface operations { @@ -83592,9 +87931,118 @@ export interface operations { }; }; }; + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + "security-advisories/list-global-advisories": { + parameters: { + query?: { + /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ + ghsa_id?: string; + /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ + type?: "reviewed" | "malware" | "unreviewed"; + /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ + cve_id?: string; + /** @description If specified, only advisories for these ecosystems will be returned. */ + ecosystem?: + | "actions" + | "composer" + | "erlang" + | "go" + | "maven" + | "npm" + | "nuget" + | "other" + | "pip" + | "pub" + | "rubygems" + | "rust"; + /** @description If specified, only advisories with these severities will be returned. */ + severity?: "unknown" | "low" | "medium" | "high" | "critical"; + /** + * @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. + * + * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` + */ + cwes?: string | string[]; + /** @description Whether to only return advisories that have been withdrawn. */ + is_withdrawn?: boolean; + /** + * @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. + * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. + * + * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` + */ + affects?: string | string[]; + /** + * @description If specified, only return advisories that were published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + published?: string; + /** + * @description If specified, only return advisories that were updated on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + updated?: string; + /** + * @description If specified, only show advisories that were updated or published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + modified?: string; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). 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"; + }; + }; + 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/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * @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. */ @@ -83767,7 +88215,7 @@ export interface operations { }; /** * List installations for the authenticated app - * @description 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. + * @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. */ @@ -83787,7 +88235,421 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["installation"][]; + "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; + }[]; }; }; }; @@ -83816,7 +88678,7 @@ export interface operations { }; /** * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ @@ -83828,13 +88690,21 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; /** * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * @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. + * + * When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported. * * 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. */ @@ -83887,7 +88757,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -83905,7 +88777,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -83930,7 +88804,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -83983,7 +88859,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -84017,7 +88895,15 @@ export interface operations { }; /** * Create a scoped access token - * @description Use a non-scoped user-to-server access token to create a repository scoped and/or permission scoped user-to-server access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @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`. + * + * You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) + * when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App + * as the username and password. */ "apps/scope-token": { parameters: { @@ -84034,19 +88920,19 @@ export interface operations { */ 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. + * @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-to-server access token to. **Required** unless `target` is specified. + * @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-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ + /** @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-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. + * @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 * ] @@ -84072,8 +88958,6 @@ export interface operations { /** * Get an app * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ "apps/get-by-slug": { parameters: { @@ -84092,7 +88976,136 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - /** Get all codes of conduct */ + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/get-an-assignment": { + parameters: { + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-assignment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/list-accepted-assigments-for-an-assignment": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-accepted-assignment"][]; + }; + }; + }; + }; + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/get-assignment-grades": { + parameters: { + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-assignment-grade"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + "classroom/list-classrooms": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-classroom"][]; + }; + }; + }; + }; + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + "classroom/get-a-classroom": { + parameters: { + path: { + classroom_id: components["parameters"]["classroom-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + classroom_id: components["parameters"]["classroom-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-classroom-assignment"][]; + }; + }; + }; + }; + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ "codes-of-conduct/get-all-codes-of-conduct": { responses: { /** @description Response */ @@ -84104,7 +89117,10 @@ export interface operations { 304: components["responses"]["not_modified"]; }; }; - /** Get a code of conduct */ + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ "codes-of-conduct/get-conduct-code": { parameters: { path: { @@ -84132,7 +89148,7 @@ export interface operations { 200: { content: { "application/json": { - [key: string]: string | undefined; + [key: string]: string; }; }; }; @@ -84142,9 +89158,12 @@ export interface operations { /** * List Dependabot alerts for an enterprise * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. + * + * 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: { @@ -84182,7 +89201,12 @@ export interface operations { /** * List secret scanning alerts for an enterprise * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. */ "secret-scanning/list-alerts-for-enterprise": { parameters: { @@ -84195,6 +89219,7 @@ export interface operations { per_page?: components["parameters"]["per-page"]; before?: components["parameters"]["pagination-before"]; after?: components["parameters"]["pagination-after"]; + validity?: components["parameters"]["secret-scanning-alert-validity"]; }; path: { enterprise: components["parameters"]["enterprise"]; @@ -84242,7 +89267,7 @@ export interface operations { * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: * * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **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 @@ -84311,12 +89336,10 @@ export interface operations { * } */ files: { - [key: string]: - | { - /** @description Content of the file */ - content: string; - } - | undefined; + [key: string]: { + /** @description Content of the file */ + content: string; + }; }; public?: boolean | ("true" | "false"); }; @@ -84343,7 +89366,7 @@ export interface operations { * List public gists * @description List public gists sorted by most recently updated to least recently updated. * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + * 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: { @@ -84395,7 +89418,15 @@ export interface operations { 403: components["responses"]["forbidden"]; }; }; - /** Get a gist */ + /** + * 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: { @@ -84423,7 +89454,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -84460,14 +89493,12 @@ export interface operations { * } */ files?: { - [key: string]: - | { - /** @description The new content of the file. */ - content?: string; - /** @description The new filename for the file. */ - filename?: string | null; - } - | undefined; + [key: string]: { + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: string | null; + }; }; } | null; }; @@ -84483,7 +89514,15 @@ export interface operations { 422: components["responses"]["validation_failed"]; }; }; - /** List gist 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. + */ "gists/list-comments": { parameters: { query?: { @@ -84509,7 +89548,15 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - /** Create a gist comment */ + /** + * 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: { @@ -84543,7 +89590,15 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - /** Get a gist comment */ + /** + * 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: { @@ -84573,13 +89628,23 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** Update a gist 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. + */ "gists/update-comment": { parameters: { path: { @@ -84694,7 +89759,9 @@ export interface operations { }; responses: { /** @description Response if gist is starred */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; /** @description Not Found if gist is not starred */ @@ -84707,7 +89774,7 @@ export interface operations { }; /** * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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: { @@ -84717,7 +89784,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -84732,13 +89801,23 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** Get a gist revision */ + /** + * 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: { @@ -84760,7 +89839,7 @@ export interface operations { }; /** * Get all gitignore templates - * @description 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). + * @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: { @@ -84775,8 +89854,11 @@ export interface operations { }; /** * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + * @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: { @@ -84797,8 +89879,6 @@ export interface operations { /** * List repositories accessible to the app installation * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ "apps/list-repos-accessible-to-installation": { parameters: { @@ -84831,14 +89911,14 @@ export interface operations { * 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/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. + * 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: never; + 204: { + content: never; + }; }; }; /** @@ -84847,11 +89927,17 @@ export interface operations { * 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/reference/pulls#list-pull-requests)" endpoint. + * 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: { @@ -84894,7 +89980,10 @@ export interface operations { 422: components["responses"]["validation_failed"]; }; }; - /** Get all commonly used 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)." + */ "licenses/get-all-commonly-used": { parameters: { query?: { @@ -84913,7 +90002,10 @@ export interface operations { 304: components["responses"]["not_modified"]; }; }; - /** Get a 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)." + */ "licenses/get": { parameters: { path: { @@ -84995,7 +90087,7 @@ export interface operations { * Get a subscription plan for an account * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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: { @@ -85023,7 +90115,7 @@ export interface operations { * List plans * @description Lists all plans that are part of your GitHub Marketplace listing. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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: { @@ -85050,7 +90142,7 @@ export interface operations { * List accounts for a plan * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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: { @@ -85084,7 +90176,7 @@ export interface operations { * Get a subscription plan for an account (stubbed) * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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: { @@ -85101,14 +90193,16 @@ export interface operations { }; 401: components["responses"]["requires_authentication"]; /** @description Not Found when the account has not purchased the listing */ - 404: never; + 404: { + content: never; + }; }; }; /** * List plans (stubbed) * @description Lists all plans that are part of your GitHub Marketplace listing. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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: { @@ -85134,7 +90228,7 @@ export interface operations { * List accounts for a plan (stubbed) * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * 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: { @@ -85220,7 +90314,7 @@ export interface operations { since?: components["parameters"]["since"]; before?: components["parameters"]["before"]; page?: components["parameters"]["page"]; - /** @description The number of results per page (max 50). */ + /** @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; }; }; @@ -85242,7 +90336,7 @@ export interface operations { }; /** * 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/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + * @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?: { @@ -85268,7 +90362,9 @@ export interface operations { }; }; /** @description Reset Content */ - 205: never; + 205: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -85296,6 +90392,23 @@ export interface operations { 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. @@ -85308,14 +90421,16 @@ export interface operations { }; responses: { /** @description Reset Content */ - 205: never; + 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/reference/activity#get-a-repository-subscription). + * @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. */ @@ -85343,7 +90458,7 @@ export interface operations { * * 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. + * 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: { @@ -85376,7 +90491,7 @@ export interface operations { }; /** * 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/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. + * @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: { @@ -85386,7 +90501,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -85440,297 +90557,16 @@ export interface operations { }; }; /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-requests": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-requests-in-bulk": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ - pat_request_ids?: number[]; - /** - * @description Action to apply to the requests. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the requests. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-request": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the request. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the request. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-request-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. + * Get an organization + * @description Gets information about an organization. * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grants": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. + * 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/). * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-accesses": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - /** @description The IDs of the fine-grained personal access tokens. */ - pat_ids: number[]; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. + * To see the full details about an organization, the authenticated user must be an organization owner. * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-access": { - parameters: { - path: { - org: components["parameters"]["org"]; - pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the fine-grained personal access token. */ - pat_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. * - * 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." + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. */ "orgs/get": { parameters: { @@ -85774,7 +90610,11 @@ export interface operations { * Update an organization * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. + * 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: { @@ -85930,7 +90770,8 @@ export interface operations { * Get GitHub Actions cache usage for an organization * @description Gets the total GitHub Actions cache usage for an organization. * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. */ "actions/get-actions-cache-usage-for-org": { parameters: { @@ -85954,7 +90795,8 @@ export interface operations { * List repositories with GitHub Actions cache usage for an organization * @description Lists repositories and their GitHub Actions cache usage for an organization. * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + * + * 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: { @@ -85984,8 +90826,8 @@ export interface operations { /** * Get the customization template for an OIDC subject claim for an organization * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * + * 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: { @@ -86005,8 +90847,8 @@ export interface operations { /** * Set the customization template for an OIDC subject claim for an organization * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. + * + * 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: { @@ -86034,7 +90876,7 @@ export interface operations { * Get GitHub Actions permissions for an organization * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "actions/get-github-actions-permissions-organization": { parameters: { @@ -86055,7 +90897,7 @@ export interface operations { * Set GitHub Actions permissions for an organization * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "actions/set-github-actions-permissions-organization": { parameters: { @@ -86073,14 +90915,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List selected repositories enabled for GitHub Actions in an organization * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * 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: { @@ -86108,7 +90952,8 @@ export interface operations { * Set selected repositories enabled for GitHub Actions in an organization * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * + * 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: { @@ -86126,14 +90971,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Enable a selected repository for GitHub Actions in an organization * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "actions/enable-selected-repository-github-actions-organization": { parameters: { @@ -86144,14 +90991,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Disable a selected repository for GitHub Actions in an organization * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "actions/disable-selected-repository-github-actions-organization": { parameters: { @@ -86162,14 +91011,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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)."" + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "actions/get-allowed-actions-organization": { parameters: { @@ -86190,7 +91041,7 @@ export interface operations { * Set allowed actions and reusable workflows for an organization * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "actions/set-allowed-actions-organization": { parameters: { @@ -86205,7 +91056,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -86214,7 +91067,7 @@ export interface operations { * 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. + * 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: { @@ -86237,7 +91090,7 @@ export interface operations { * 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. + * 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: { @@ -86252,284 +91105,24 @@ export interface operations { }; responses: { /** @description Success response */ - 204: never; - }; - }; - /** - * List required workflows - * @description List all required workflows in an organization. - * - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/list-required-workflows": { - 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; - required_workflows: components["schemas"]["required-workflow"][]; - }; - }; - }; - }; - }; - /** - * Create a required workflow - * @description Create a required workflow in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/create-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Path of the workflow file to be configured as a required workflow. */ - workflow_file_path: string; - /** @description The ID of the repository that contains the workflow file. */ - repository_id: string; - /** - * @description Enable the required workflow for all repositories or selected repositories in the organization. - * @default all - * @enum {string} - */ - scope?: "selected" | "all"; - /** @description A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["required-workflow"]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a required workflow - * @description Get a required workflow configured in an organization. - * - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/get-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - required_workflow_id: components["parameters"]["required-workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["required-workflow"]; - }; - }; - }; - }; - /** - * Delete a required workflow - * @description Deletes a required workflow configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/delete-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - required_workflow_id: components["parameters"]["required-workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 204: never; - }; - }; - /** - * Update a required workflow - * @description Update a required workflow in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/update-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - required_workflow_id: components["parameters"]["required-workflow-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Path of the workflow file to be configured as a required workflow. */ - workflow_file_path?: string; - /** @description The ID of the repository that contains the workflow file. */ - repository_id?: string; - /** - * @description Enable the required workflow for all repositories or selected repositories in the organization. - * @default all - * @enum {string} - */ - scope?: "selected" | "all"; - /** @description A list of repository IDs where you want to enable the required workflow. A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["required-workflow"]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List selected repositories for a required workflow - * @description Lists the selected repositories that are configured for a required workflow in an organization. To use this endpoint, the required workflow must be configured to run on selected repositories. - * - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/list-selected-repositories-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - required_workflow_id: components["parameters"]["required-workflow-id"]; - }; - }; - responses: { - /** @description Success */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - }; - }; + 204: { + content: never; }; - /** @description Resource Not Found */ - 404: never; - }; - }; - /** - * Sets repositories for a required workflow - * @description Sets the repositories for a required workflow that is required for selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/set-selected-repos-to-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - required_workflow_id: components["parameters"]["required-workflow-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The IDs of the repositories for which the workflow should be required. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: never; - }; - }; - /** - * Add a repository to a required workflow - * @description Adds a repository to a required workflow. To use this endpoint, the required workflow must be configured to run on selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/add-selected-repo-to-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - required_workflow_id: components["parameters"]["required-workflow-id"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Success */ - 204: never; - /** @description Resource Not Found */ - 404: never; - /** @description Validation Error */ - 422: never; - }; - }; - /** - * Remove a selected repository from required workflow - * @description Removes a repository from a required workflow. To use this endpoint, the required workflow must be configured to run on selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/remove-selected-repo-from-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - required_workflow_id: components["parameters"]["required-workflow-id"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Success */ - 204: never; - /** @description Resource Not Found */ - 404: never; - /** @description Validation Error */ - 422: never; }; }; /** * List self-hosted runners for an organization * @description Lists all self-hosted runners configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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"]; }; @@ -86556,7 +91149,9 @@ export interface operations { * List runner applications for an organization * @description Lists binaries for the runner application that you can download and run. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -86577,7 +91172,9 @@ export interface operations { * Create configuration for a just-in-time runner for an organization * @description Generates a configuration that can be passed to the runner application at startup. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -86612,15 +91209,15 @@ export interface operations { * Create a registration token for an organization * @description Returns a token that you can pass to the `config` script. The token expires after one hour. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using registration token - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * 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: { @@ -86641,16 +91238,15 @@ export interface operations { * Create a remove token for an organization * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using remove token - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. + * 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: { @@ -86671,7 +91267,9 @@ export interface operations { * Get a self-hosted runner for an organization * @description Gets a specific self-hosted runner configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -86693,7 +91291,9 @@ export interface operations { * Delete a self-hosted runner from an organization * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -86704,14 +91304,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List labels for a self-hosted runner for an organization * @description Lists all labels for a self-hosted runner configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -86730,7 +91334,9 @@ export interface operations { * @description Remove all previous custom labels and set the new custom labels for a specific * self-hosted runner configured in an organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -86755,9 +91361,11 @@ export interface operations { }; /** * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. + * @description Adds 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. + * 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: { @@ -86785,7 +91393,9 @@ export interface operations { * @description Remove all custom labels from a self-hosted runner configured in an * organization. Returns the remaining read-only labels from the runner. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -86807,7 +91417,9 @@ export interface operations { * 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. + * 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: { @@ -86825,7 +91437,12 @@ export interface operations { }; /** * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * @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: { @@ -86854,7 +91471,12 @@ export interface operations { }; /** * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * @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: { @@ -86873,7 +91495,11 @@ export interface operations { }; /** * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * @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: { @@ -87001,12 +91627,18 @@ export interface operations { }; }; /** @description Response when updating a secret */ - 204: never; + 204: { + content: never; + }; }; }; /** * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * @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: { @@ -87017,12 +91649,19 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * @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: { @@ -87049,7 +91688,13 @@ export interface operations { }; /** * 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/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. + * @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: { @@ -87061,19 +91706,27 @@ export interface operations { 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/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + /** @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: never; + 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/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. + * @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: { @@ -87085,14 +91738,24 @@ export interface operations { }; responses: { /** @description No Content when repository was added to the selected list */ - 204: never; + 204: { + content: never; + }; /** @description Conflict when visibility type is not set to selected */ - 409: never; + 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/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. + * @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: { @@ -87104,14 +91767,22 @@ export interface operations { }; responses: { /** @description Response when repository was removed from the selected list */ - 204: never; + 204: { + content: never; + }; /** @description Conflict when visibility type not set to selected */ - 409: never; + 409: { + content: never; + }; }; }; /** * List organization variables - * @description Lists all organization variables. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * @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: { @@ -87141,8 +91812,10 @@ export interface operations { /** * Create an organization variable * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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: { @@ -87178,7 +91851,11 @@ export interface operations { }; /** * Get an organization variable - * @description Gets a specific variable in an organization. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * @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: { @@ -87199,8 +91876,10 @@ export interface operations { /** * Delete an organization variable * @description Deletes an organization variable using the variable name. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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: { @@ -87211,14 +91890,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Update an organization variable * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * 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: { @@ -87246,12 +91929,19 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable that is available to selected repositories. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * @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: { @@ -87275,12 +91965,20 @@ export interface operations { }; }; /** @description Response when the visibility of the variable is not set to `selected` */ - 409: never; + 409: { + content: never; + }; }; }; /** * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * @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: { @@ -87299,14 +91997,23 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Response when the visibility of the variable is not set to `selected` */ - 409: never; + 409: { + content: never; + }; }; }; /** * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * @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: { @@ -87318,14 +92025,24 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Response when the visibility of the variable is not set to `selected` */ - 409: never; + 409: { + content: never; + }; }; }; /** * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * @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: { @@ -87337,9 +92054,13 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Response when the visibility of the variable is not set to `selected` */ - 409: never; + 409: { + content: never; + }; }; }; /** @@ -87365,7 +92086,10 @@ export interface operations { }; }; }; - /** Check if a user is blocked by an organization */ + /** + * 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: { @@ -87375,7 +92099,9 @@ export interface operations { }; responses: { /** @description If the user is blocked */ - 204: never; + 204: { + content: never; + }; /** @description If the user is not blocked */ 404: { content: { @@ -87384,7 +92110,10 @@ export interface operations { }; }; }; - /** Block a user from an organization */ + /** + * 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: { @@ -87394,11 +92123,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; - /** Unblock a user from an organization */ + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ "orgs/unblock-user": { parameters: { path: { @@ -87408,18 +92142,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List code scanning alerts for an organization * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * The authenticated user must be an owner or security manager for the organization to use this endpoint. * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission 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: { @@ -87432,7 +92166,7 @@ export interface operations { 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"]; + 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. */ @@ -87460,7 +92194,7 @@ export interface operations { * List codespaces for the organization * @description Lists the codespaces associated to a specified organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "codespaces/list-in-organization": { parameters: { @@ -87491,10 +92225,11 @@ export interface operations { }; /** * Manage access control for organization codespaces - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces billing permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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-billing": { + "codespaces/set-codespaces-access": { parameters: { path: { org: components["parameters"]["org"]; @@ -87519,21 +92254,30 @@ export interface operations { }; responses: { /** @description Response when successfully modifying permissions. */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; /** @description Users are neither members nor collaborators of this organization. */ - 400: never; + 400: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; 500: components["responses"]["internal_error"]; }; }; /** - * Add users to Codespaces billing for an organization + * 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 billing settings for the organization must be set to `selected_members`. For information on how to change this setting please see [these docs].(https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces) You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * 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-billing-users": { + "codespaces/set-codespaces-access-users": { parameters: { path: { org: components["parameters"]["org"]; @@ -87549,21 +92293,30 @@ export interface operations { }; responses: { /** @description Response when successfully modifying permissions. */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; /** @description Users are neither members nor collaborators of this organization. */ - 400: never; + 400: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; 500: components["responses"]["internal_error"]; }; }; /** - * Removes users from Codespaces billing for an organization + * 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 billing settings for the organization must be set to `selected_members`. For information on how to change this setting please see [these docs].(https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces) You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * 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-billing-users": { + "codespaces/delete-codespaces-access-users": { parameters: { path: { org: components["parameters"]["org"]; @@ -87579,10 +92332,14 @@ export interface operations { }; responses: { /** @description Response when successfully modifying permissions. */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; /** @description Users are neither members nor collaborators of this organization. */ - 400: never; + 400: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; 500: components["responses"]["internal_error"]; @@ -87590,8 +92347,10 @@ export interface operations { }; /** * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87620,7 +92379,8 @@ export interface operations { }; /** * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87639,8 +92399,9 @@ export interface operations { }; /** * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87663,81 +92424,10 @@ export interface operations { }; /** * 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. - * - * **Example encrypting a secret using Node.js** - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **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" + * @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)." * - * 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) - * ``` + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "codespaces/create-or-update-org-secret": { parameters: { @@ -87749,7 +92439,7 @@ export interface operations { 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/reference/codespaces#get-an-organization-public-key) endpoint. */ + /** @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; @@ -87758,7 +92448,7 @@ export interface operations { * @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/codespaces#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ + /** @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[]; }; }; @@ -87771,14 +92461,18 @@ export interface operations { }; }; /** @description Response when updating a secret */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; /** * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87789,13 +92483,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; /** * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87823,7 +92522,11 @@ export interface operations { }; /** * 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/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87835,22 +92538,27 @@ export interface operations { 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/codespaces#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ + /** @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: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; /** @description Conflict when visibility type not set to selected */ - 409: never; + 409: { + content: never; + }; }; }; /** * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87862,16 +92570,24 @@ export interface operations { }; responses: { /** @description No Content when repository was added to the selected list */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; /** @description Conflict when visibility type is not set to selected */ - 409: never; + 409: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; /** * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * @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: { @@ -87883,22 +92599,288 @@ export interface operations { }; responses: { /** @description Response when repository was removed from the selected list */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; /** @description Conflict when visibility type not set to selected */ - 409: never; + 409: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; + /** + * Get Copilot seat information and settings for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[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 configure and view details about the organization's Copilot Business subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + "copilot/get-copilot-organization-details": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": components["schemas"]["copilot-organization-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List all Copilot seat assignments for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Lists all Copilot seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). + * + * Only organization owners can configure and view details about the organization's Copilot Business or Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + "copilot/list-copilot-seats": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). 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 beta and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope 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 beta and is subject to change. + * + * Cancels the Copilot seat assignment for all members of each team specified. + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + "copilot/cancel-copilot-seat-assignment-for-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of teams from which to revoke access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot 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 beta and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope 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 beta and is subject to change. + * + * Cancels the Copilot seat assignment for each user specified. + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + "copilot/cancel-copilot-seat-assignment-for-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot 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"]; + }; + }; /** * List Dependabot alerts for an organization * @description Lists Dependabot alerts for an organization. * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. + * The authenticated user must be an owner or security manager for the organization to use this endpoint. * - * GitHub Apps must have **Dependabot alerts** read permission 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: { @@ -87936,7 +92918,10 @@ export interface operations { }; /** * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * @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: { @@ -87965,7 +92950,10 @@ export interface operations { }; /** * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * @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: { @@ -87984,7 +92972,9 @@ export interface operations { }; /** * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * @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: { @@ -88112,12 +93102,16 @@ export interface operations { }; }; /** @description Response when updating a secret */ - 204: never; + 204: { + content: never; + }; }; }; /** * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * @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: { @@ -88128,12 +93122,17 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * @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: { @@ -88160,7 +93159,11 @@ export interface operations { }; /** * 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/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. + * @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: { @@ -88172,19 +93175,25 @@ export interface operations { 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. */ + /** @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: never; + 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/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. + * @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: { @@ -88196,14 +93205,22 @@ export interface operations { }; responses: { /** @description No Content when repository was added to the selected list */ - 204: never; + 204: { + content: never; + }; /** @description Conflict when visibility type is not set to selected */ - 409: never; + 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/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. + * @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: { @@ -88215,15 +93232,20 @@ export interface operations { }; responses: { /** @description Response when repository was removed from the selected list */ - 204: never; + 204: { + content: never; + }; /** @description Conflict when visibility type not set to selected */ - 409: never; + 409: { + content: never; + }; }; }; /** * Get list of conflicting packages during Docker migration for organization * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + * + * 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: { @@ -88328,7 +93350,7 @@ export interface operations { "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). */ + /** @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"]; @@ -88371,7 +93393,7 @@ export interface operations { }; /** * 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/reference/orgs#get-a-webhook-configuration-for-an-organization)." + * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." */ "orgs/get-webhook": { parameters: { @@ -88400,13 +93422,15 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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/reference/orgs#update-a-webhook-configuration-for-an-organization)." + * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." */ "orgs/update-webhook": { parameters: { @@ -88418,7 +93442,7 @@ export interface operations { 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). */ + /** @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"]; @@ -88455,9 +93479,9 @@ export interface operations { }; /** * 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/reference/orgs#get-an-organization-webhook)." + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `admin:org_hook` scope to use this endpoint. */ "orgs/get-webhook-config-for-org": { parameters: { @@ -88477,9 +93501,9 @@ export interface operations { }; /** * 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/reference/orgs#update-an-organization-webhook)." + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + * OAuth app tokens and personal access tokens (classic) need the `admin:org_hook` scope to use this endpoint. */ "orgs/update-webhook-config-for-org": { parameters: { @@ -88588,7 +93612,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -88615,7 +93641,12 @@ export interface operations { }; /** * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + * @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: { @@ -88700,7 +93731,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -88743,7 +93776,8 @@ export interface operations { * Create an organization invitation * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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: { @@ -88763,10 +93797,11 @@ export interface operations { * * `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"; + role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; /** @description Specify IDs for the teams you want to invite new members to. */ team_ids?: number[]; }; @@ -88798,7 +93833,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -88838,7 +93875,14 @@ export interface operations { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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: { @@ -88922,11 +93966,21 @@ export interface operations { }; responses: { /** @description Response if requester is an organization member and user is a member */ - 204: never; + 204: { + content: never; + }; /** @description Response if requester is not an organization member */ - 302: never; + 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: never; + 404: { + content: never; + }; }; }; /** @@ -88942,7 +93996,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; }; }; @@ -88950,7 +94006,7 @@ export interface operations { * List codespaces for a user in organization * @description Lists the codespaces that a member of an organization has for repositories in that organization. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * 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: { @@ -88984,7 +94040,7 @@ export interface operations { * Delete a codespace from the organization * @description Deletes a user's codespace. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "codespaces/delete-from-organization": { parameters: { @@ -89007,7 +94063,7 @@ export interface operations { * Stop a codespace for an organization user * @description Stops a user's codespace. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "codespaces/stop-in-organization": { parameters: { @@ -89024,86 +94080,548 @@ export interface operations { "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"]; + 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 beta and is subject to change. + * + * Gets the GitHub Copilot seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Organization owners can view GitHub Copilot seat assignment details for members in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope 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, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + "orgs/set-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * * `admin` - The user will become an owner of the organization. + * * `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role?: "admin" | "member"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + "orgs/remove-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + "migrations/list-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + "migrations/start-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data?: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. */ + exclude?: "repositories"[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an organization migration status + * @description Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "migrations/get-status-for-org": { + parameters: { + query?: { + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** + * @description * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + "migrations/download-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + "migrations/list-repos-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List 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": components["schemas"]["organization-fine-grained-permission"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, 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 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"]; + }; + }; + /** + * Create a custom organization role + * @description Creates a custom organization role that can be assigned to users and teams, granting them specific permissions over the organization. For more information on custom organization roles, 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 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 `write_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/create-custom-organization-role": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the custom role. */ + name: string; + /** @description A short description about the intended usage of this role or what permissions it grants. */ + description?: string; + /** @description A list of additional permissions included in this role. */ + permissions: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 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 "[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)." + * + * 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; + }; }; }; /** - * 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. + * 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 "[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)." + * + * 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/get-membership-for-user": { + "orgs/assign-team-to-org-role": { parameters: { path: { org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + team_slug: components["parameters"]["team-slug"]; + role_id: components["parameters"]["role-id"]; }; }; responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; + 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; }; - 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. + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, 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)." * - * * 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. + * The authenticated user must be an administrator for the organization to use this endpoint. * - * * 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. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ - "orgs/set-membership-for-user": { + "orgs/revoke-org-role-team": { 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"; - }; + team_slug: components["parameters"]["team-slug"]; + role_id: components["parameters"]["role-id"]; }; }; responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; + 204: { + content: never; }; - 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. + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, 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)." * - * 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. + * 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/remove-membership-for-user": { + "orgs/revoke-all-org-roles-user": { parameters: { path: { org: components["parameters"]["org"]; @@ -89112,206 +94630,210 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + 204: { + content: never; + }; }; }; /** - * 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). + * 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 "[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)." * - * A list of `repositories` is only returned for export migrations. + * 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. */ - "migrations/list-for-org": { + "orgs/assign-user-to-org-role": { 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"]; + username: components["parameters"]["username"]; + role_id: components["parameters"]["role-id"]; }; }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; + 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; }; }; }; /** - * Start an organization migration - * @description Initiates the generation of a migration archive. + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, 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)." + * + * 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. */ - "migrations/start-for-org": { + "orgs/revoke-org-role-user": { parameters: { path: { org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A list of arrays indicating which repositories should be migrated. */ - repositories: string[]; - /** - * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. - * @default false - * @example true - */ - lock_repositories?: boolean; - /** - * @description Indicates whether metadata should be excluded and only git source should be included for the migration. - * @default false - */ - exclude_metadata?: boolean; - /** - * @description Indicates whether the repository git data should be excluded from the migration. - * @default false - */ - exclude_git_data?: boolean; - /** - * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). - * @default false - * @example true - */ - exclude_attachments?: boolean; - /** - * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). - * @default false - * @example true - */ - exclude_releases?: boolean; - /** - * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. - * @default false - * @example true - */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - * @example true - */ - org_metadata_only?: boolean; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: "repositories"[]; - }; + username: components["parameters"]["username"]; + role_id: components["parameters"]["role-id"]; }; }; responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; + 204: { + content: never; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; /** - * Get an organization migration status - * @description Fetches the status of a migration. + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, 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)." * - * The `state` of a migration can be one of the following values: + * To use this endpoint, the authenticated user must be one of: * - * * `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. + * - 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. */ - "migrations/get-status-for-org": { + "orgs/get-org-role": { 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"]; + role_id: components["parameters"]["role-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. - */ + /** @description Response */ 200: { content: { - "application/json": components["schemas"]["migration"]; + "application/json": components["schemas"]["organization-role"]; }; }; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. + * Delete a custom organization role. + * @description Deletes a custom organization role. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ - "migrations/download-archive-for-org": { + "orgs/delete-custom-organization-role": { parameters: { path: { org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; + role_id: components["parameters"]["role-id"]; }; }; responses: { /** @description Response */ - 302: never; - 404: components["responses"]["not_found"]; + 204: { + content: never; + }; }; }; /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + * Update a custom organization role + * @description Updates an existing custom organization role. Permission changes will apply to all assignees. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ - "migrations/delete-archive-for-org": { + "orgs/patch-custom-organization-role": { parameters: { path: { org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; + role_id: components["parameters"]["role-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the custom role. */ + name?: string; + /** @description A short description about the intended usage of this role or what permissions it grants. */ + description?: string; + /** @description A list of additional permissions included in this role. */ + permissions?: string[]; + }; }; }; responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * 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. + * 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 "[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 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. */ - "migrations/unlock-repo-for-org": { + "orgs/list-org-role-teams": { parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; path: { org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - repo_name: components["parameters"]["repo-name"]; + role_id: components["parameters"]["role-id"]; }; }; responses: { - /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; + /** @description Response - List of assigned teams */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + /** @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 repositories in an organization migration - * @description List all the repositories for this organization migration. + * 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 "[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 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. */ - "migrations/list-repos-for-org": { + "orgs/list-org-role-users": { parameters: { query?: { per_page?: components["parameters"]["per-page"]; @@ -89319,20 +94841,27 @@ export interface operations { }; path: { org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; + role_id: components["parameters"]["role-id"]; }; }; responses: { - /** @description Response */ + /** @description Response - List of assigned users */ 200: { headers: { Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["minimal-repository"][]; + "application/json": components["schemas"]["simple-user"][]; }; }; - 404: components["responses"]["not_found"]; + /** @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; + }; }; }; /** @@ -89393,9 +94922,13 @@ export interface operations { }; }; /** @description User was converted */ - 204: never; + 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: never; + 403: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -89412,7 +94945,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Unprocessable Entity if user is a member of the organization */ 422: { content: { @@ -89428,7 +94963,7 @@ export interface operations { * List packages for an organization * @description Lists packages in an organization readable by the user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/list-packages-for-organization": { parameters: { @@ -89442,9 +94977,9 @@ export interface operations { | "nuget" | "container"; visibility?: components["parameters"]["package-visibility"]; - /** @description Page number of the results to fetch. */ + /** @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). */ + /** @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: { @@ -89467,7 +95002,7 @@ export interface operations { * Get a package for an organization * @description Gets a specific package in an organization. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-package-for-organization": { parameters: { @@ -89490,9 +95025,9 @@ export interface operations { * Delete a package for an organization * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/delete-package-for-org": { parameters: { @@ -89504,7 +95039,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -89518,9 +95055,9 @@ export interface operations { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/restore-package-for-org": { parameters: { @@ -89536,7 +95073,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -89546,7 +95085,7 @@ export interface operations { * List package versions for a package owned by an organization * @description Lists package versions for a package owned by an organization. * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-all-package-versions-for-package-owned-by-org": { parameters: { @@ -89578,7 +95117,7 @@ export interface operations { * Get a package version for an organization * @description Gets a specific package version in an organization. * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-package-version-for-organization": { parameters: { @@ -89602,9 +95141,9 @@ export interface operations { * Delete package version for an organization * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/delete-package-version-for-org": { parameters: { @@ -89617,7 +95156,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -89631,9 +95172,9 @@ export interface operations { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/restore-package-version-for-org": { parameters: { @@ -89646,12 +95187,293 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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"]; + }; + 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"]; + }; + 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 organization projects * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. @@ -89715,6 +95537,224 @@ export interface operations { 422: components["responses"]["validation_failed_simple"]; }; }; + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + "orgs/get-all-custom-properties": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-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. + * + * 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/create-or-update-custom-properties": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The array of custom properties to create or update. */ + properties: components["schemas"]["org-custom-property"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-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/get-custom-property": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-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/create-or-update-custom-property": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-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/remove-custom-property": { + 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/list-custom-properties-values-for-repos": { + 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/create-or-update-custom-properties-values-for-repos": { + 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. @@ -89754,16 +95794,20 @@ export interface operations { }; responses: { /** @description Response if user is a public member */ - 204: never; + 204: { + content: never; + }; /** @description Not Found if user is not a public member */ - 404: never; + 404: { + content: never; + }; }; }; /** * Set public organization membership for the authenticated user * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * 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: { @@ -89774,7 +95818,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; }; }; @@ -89791,7 +95837,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -89832,12 +95880,7 @@ export interface operations { * Create an organization repository * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository + * 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: { @@ -89966,6 +96009,10 @@ export interface operations { * @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; + }; }; }; }; @@ -89977,7 +96024,7 @@ export interface operations { Location?: string; }; content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["full-repository"]; }; }; 403: components["responses"]["forbidden"]; @@ -90050,6 +96097,59 @@ export interface operations { 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?: { + 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. @@ -90130,7 +96230,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 500: components["responses"]["internal_error"]; }; @@ -90138,10 +96240,10 @@ export interface operations { /** * List secret scanning alerts for an organization * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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: { @@ -90155,6 +96257,7 @@ export interface operations { 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"]; }; path: { org: components["parameters"]["org"]; @@ -90174,13 +96277,49 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + /** + * 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 * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. */ "orgs/list-security-manager-teams": { parameters: { @@ -90201,9 +96340,9 @@ export interface operations { * Add a security manager team * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. + * The authenticated user must be an administrator for the organization to use this endpoint. * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. */ "orgs/add-security-manager-team": { parameters: { @@ -90214,18 +96353,22 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description The organization has reached the maximum number of security manager teams. */ - 409: never; + 409: { + content: never; + }; }; }; /** * Remove a security manager team * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. + * The authenticated user must be an administrator for the organization to use this endpoint. * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. */ "orgs/remove-security-manager-team": { parameters: { @@ -90236,7 +96379,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -90245,7 +96390,7 @@ export interface operations { * * 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. + * 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: { @@ -90268,7 +96413,7 @@ export interface operations { * * 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. + * 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: { @@ -90291,7 +96436,7 @@ export interface operations { * * 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. + * 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: { @@ -90442,7 +96587,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -90515,9 +96662,11 @@ export interface operations { }; /** * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90547,11 +96696,13 @@ export interface operations { }; /** * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. 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. + * 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/overview/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: { @@ -90586,9 +96737,11 @@ export interface operations { }; /** * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90609,9 +96762,11 @@ export interface operations { }; /** * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90623,14 +96778,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90661,9 +96820,11 @@ export interface operations { }; /** * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90692,11 +96853,13 @@ export interface operations { }; /** * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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. 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. + * 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/overview/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: { @@ -90725,9 +96888,11 @@ export interface operations { }; /** * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90749,9 +96914,11 @@ export interface operations { }; /** * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90764,14 +96931,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -90801,14 +96972,16 @@ export interface operations { }; /** * List reactions for a team discussion comment - * @description 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/). + * @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/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + /** @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" @@ -90842,9 +97015,13 @@ export interface operations { }; /** * Create reaction for a team discussion comment - * @description 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. + * @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: { @@ -90859,7 +97036,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. * @enum {string} */ content: @@ -90893,7 +97070,9 @@ export interface operations { * 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/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 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: { @@ -90907,19 +97086,23 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List reactions for a team discussion - * @description 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/). + * @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/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + /** @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" @@ -90952,9 +97135,13 @@ export interface operations { }; /** * Create reaction for a team discussion - * @description 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. + * @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: { @@ -90968,7 +97155,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. * @enum {string} */ content: @@ -91002,7 +97189,9 @@ export interface operations { * 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/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 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: { @@ -91015,7 +97204,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -91089,7 +97280,7 @@ export interface operations { * **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). + * 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: { @@ -91107,7 +97298,9 @@ export interface operations { }; }; /** @description if user has no team membership */ - 404: never; + 404: { + content: never; + }; }; }; /** @@ -91152,9 +97345,13 @@ export interface operations { }; }; /** @description Forbidden if team synchronization is set up */ - 403: never; + 403: { + content: never; + }; /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: never; + 422: { + content: never; + }; }; }; /** @@ -91177,9 +97374,13 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Forbidden if team synchronization is set up */ - 403: never; + 403: { + content: never; + }; }; }; /** @@ -91233,7 +97434,9 @@ export interface operations { }; }; /** @description Not Found if project is not managed by this team */ - 404: never; + 404: { + content: never; + }; }; }; /** @@ -91254,7 +97457,7 @@ export interface operations { 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)." + * @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"; @@ -91263,7 +97466,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Forbidden if the project is not owned by the organization */ 403: { content: { @@ -91291,7 +97496,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -91331,6 +97538,8 @@ export interface operations { * * 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": { @@ -91350,14 +97559,18 @@ export interface operations { }; }; /** @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: never; + 204: { + content: never; + }; /** @description Not Found if team does not have permission for the repository */ - 404: never; + 404: { + content: never; + }; }; }; /** * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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}`. * @@ -91385,7 +97598,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -91405,7 +97620,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -91439,14 +97656,11 @@ export interface operations { }; /** * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. + * @description 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)." * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. */ "orgs/enable-or-disable-security-product-on-all-org-repos": { parameters: { @@ -91456,11 +97670,27 @@ export interface operations { 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: never; + 204: { + content: never; + }; /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ - 422: never; + 422: { + content: never; + }; }; }; /** @@ -91498,7 +97728,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; /** @description Forbidden */ @@ -91650,7 +97882,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -91746,7 +97980,7 @@ export interface operations { * @example PullRequest */ content_type: string; - } + }, ] >; }; @@ -91850,7 +98084,9 @@ export interface operations { }; responses: { /** @description Delete Success */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; /** @description Forbidden */ @@ -91925,7 +98161,9 @@ export interface operations { }; }; /** @description Not Found if the authenticated user does not have access to the project */ - 404: never; + 404: { + content: never; + }; 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed_simple"]; }; @@ -91989,7 +98227,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -92010,7 +98250,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -92110,6 +98352,17 @@ export interface operations { * 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 `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." + * * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ "rate-limit/get": { @@ -92129,82 +98382,6 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - /** - * List repository required workflows - * @description Lists the required 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. For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/list-repo-required-workflows": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - required_workflows: components["schemas"]["repo-required-workflow"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a required workflow entity for a repository - * @description Gets a specific required workflow present 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. For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/get-repo-required-workflow": { - parameters: { - path: { - org: components["parameters"]["org"]; - repo: components["parameters"]["repo"]; - required_workflow_id_for_repo: components["parameters"]["repo-required-workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repo-required-workflow"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get required workflow usage - * @description Gets the number of billable minutes used by a specific required workflow during the current billing cycle. - * - * Billable minutes only apply to required workflows running 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-repo-required-workflow-usage": { - parameters: { - path: { - org: components["parameters"]["org"]; - repo: components["parameters"]["repo"]; - required_workflow_id_for_repo: components["parameters"]["repo-required-workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-usage"]; - }; - }; - 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. @@ -92232,10 +98409,12 @@ export interface operations { }; /** * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * @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: { @@ -92246,7 +98425,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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: { @@ -92262,7 +98443,7 @@ export interface operations { }; /** * Update a repository - * @description **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. + * @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: { @@ -92443,15 +98624,18 @@ export interface operations { }; /** * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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"]; - /** @description Filters artifacts by exact match on their name field. */ - name?: string; + name?: components["parameters"]["artifact-name"]; }; path: { owner: components["parameters"]["owner"]; @@ -92475,7 +98659,11 @@ export interface operations { }; /** * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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: { @@ -92496,7 +98684,8 @@ export interface operations { }; /** * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * @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: { @@ -92508,15 +98697,17 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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`. 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. + * 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: { @@ -92529,7 +98720,12 @@ export interface operations { }; responses: { /** @description Response */ - 302: never; + 302: { + headers: { + Location: components["headers"]["location"]; + }; + content: never; + }; 410: components["responses"]["gone"]; }; }; @@ -92537,7 +98733,10 @@ export interface operations { * Get GitHub Actions cache usage for a repository * @description Gets GitHub Actions cache usage for a repository. * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * + * 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: { @@ -92558,8 +98757,8 @@ export interface operations { /** * List GitHub Actions caches for a repository * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/get-actions-cache-list": { parameters: { @@ -92592,9 +98791,7 @@ export interface operations { * Delete GitHub Actions caches for a repository (using a cache key) * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/delete-actions-cache-by-key": { parameters: { @@ -92620,9 +98817,7 @@ export interface operations { * Delete a GitHub Actions cache for a repository (using a cache ID) * @description Deletes a GitHub Actions cache for a repository, using a cache ID. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/delete-actions-cache-by-id": { parameters: { @@ -92634,12 +98829,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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: { @@ -92661,9 +98862,11 @@ export interface operations { /** * Download job logs for a workflow run * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. + * 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: { @@ -92675,12 +98878,20 @@ export interface operations { }; responses: { /** @description Response */ - 302: never; + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; }; }; /** * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * @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: { @@ -92714,8 +98925,8 @@ export interface operations { /** * Get the customization template for an OIDC subject claim for a repository * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/get-custom-oidc-sub-claim-for-repo": { parameters: { @@ -92738,8 +98949,8 @@ export interface operations { /** * Set the customization template for an OIDC subject claim for a repository * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * + * 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: { @@ -92772,7 +98983,12 @@ export interface operations { }; /** * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -92802,7 +99018,11 @@ export interface operations { }; /** * List repository organization variables - * @description Lists all organiation variables shared with a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * @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: { @@ -92834,7 +99054,7 @@ export interface operations { * Get GitHub Actions permissions for a repository * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/get-github-actions-permissions-repository": { parameters: { @@ -92856,7 +99076,7 @@ export interface operations { * Set GitHub Actions permissions for a repository * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/set-github-actions-permissions-repository": { parameters: { @@ -92875,7 +99095,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -92884,8 +99106,7 @@ export interface operations { * This endpoint only applies to private repositories. * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/get-workflow-access-to-repository": { parameters: { @@ -92909,8 +99130,7 @@ export interface operations { * This endpoint only applies to private repositories. * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/set-workflow-access-to-repository": { parameters: { @@ -92926,14 +99146,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Get allowed actions and reusable workflows for a repository * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/get-allowed-actions-repository": { parameters: { @@ -92955,7 +99177,7 @@ export interface operations { * Set allowed actions and reusable workflows for a repository * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/set-allowed-actions-repository": { parameters: { @@ -92971,7 +99193,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -92980,7 +99204,7 @@ export interface operations { * 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. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/get-github-actions-default-workflow-permissions-repository": { parameters: { @@ -93004,7 +99228,7 @@ export interface operations { * 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. + * 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: { @@ -93020,59 +99244,28 @@ export interface operations { }; responses: { /** @description Success response */ - 204: never; - /** @description Conflict response when changing a setting is prevented by the owning organization */ - 409: never; - }; - }; - /** - * List workflow runs for a required workflow - * @description List all workflow runs for a required workflow. 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. For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)." - */ - "actions/list-required-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"]; - required_workflow_id_for_repo: components["parameters"]["repo-required-workflow-id"]; + 204: { + content: never; }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; + /** @description Conflict response when changing a setting is prevented by the owning organization */ + 409: { + content: never; }; }; }; /** * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. + * @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"]; }; @@ -93100,7 +99293,9 @@ export interface operations { * List runner applications for a repository * @description Lists binaries for the runner application that you can download and run. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. + * 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: { @@ -93122,7 +99317,9 @@ export interface operations { * Create configuration for a just-in-time runner for a repository * @description Generates a configuration that can be passed to the runner application at startup. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. + * 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: { @@ -93156,16 +99353,17 @@ export interface operations { }; /** * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate - * using an access token with the `repo` scope to use this endpoint. - * - * #### Example using registration token + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * 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/octo-repo-artifacts --token TOKEN + * ./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: { @@ -93185,16 +99383,17 @@ export interface operations { }; /** * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * #### Example using remove token + * @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. * - * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * 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: { @@ -93216,8 +99415,9 @@ export interface operations { * Get a self-hosted runner for a repository * @description Gets a specific self-hosted runner configured in a repository. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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: { @@ -93240,8 +99440,9 @@ export interface operations { * Delete a self-hosted runner from a repository * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. * - * You must authenticate using an access token with the `repo` - * scope to use this endpoint. + * 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: { @@ -93253,15 +99454,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List labels for a self-hosted runner for a repository * @description Lists all labels for a self-hosted runner configured in a repository. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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: { @@ -93281,8 +99485,9 @@ export interface operations { * @description Remove all previous custom labels and set the new custom labels for a specific * self-hosted runner configured in a repository. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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: { @@ -93308,10 +99513,11 @@ export interface operations { }; /** * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. + * @description Adds 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. + * 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: { @@ -93340,8 +99546,9 @@ export interface operations { * @description Remove all custom labels from a self-hosted runner configured in a * repository. Returns the remaining read-only labels from the runner. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * 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: { @@ -93364,8 +99571,9 @@ export interface operations { * 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. + * 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: { @@ -93384,9 +99592,11 @@ export interface operations { }; /** * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * @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. * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. */ "actions/list-workflow-runs-for-repo": { parameters: { @@ -93424,7 +99634,11 @@ export interface operations { }; /** * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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: { @@ -93448,9 +99662,11 @@ export interface operations { }; /** * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. + * @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: { @@ -93462,12 +99678,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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: { @@ -93490,7 +99710,7 @@ export interface operations { * Approve a workflow run for a fork pull request * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/approve-workflow-run": { parameters: { @@ -93513,13 +99733,18 @@ export interface operations { }; /** * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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"]; @@ -93544,10 +99769,11 @@ export interface operations { }; /** * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. + * @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: { @@ -93572,7 +99798,12 @@ export interface operations { }; /** * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * @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: { @@ -93606,9 +99837,11 @@ export interface operations { /** * Download workflow run attempt logs * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -93621,12 +99854,20 @@ export interface operations { }; responses: { /** @description Response */ - 302: never; + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; }; }; /** * Cancel a workflow run - * @description Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * @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: { @@ -93653,7 +99894,7 @@ export interface operations { * **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). * - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. + * 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: { @@ -93672,12 +99913,44 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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. 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). + * @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: { @@ -93711,9 +99984,11 @@ export interface operations { /** * Download workflow run logs * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. + * `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: { @@ -93725,12 +100000,20 @@ export interface operations { }; responses: { /** @description Response */ - 302: never; + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; }; }; /** * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * @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: { @@ -93742,7 +100025,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 500: components["responses"]["internal_error"]; }; @@ -93751,7 +100036,9 @@ export interface operations { * Get pending deployments for a workflow run * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -93774,7 +100061,9 @@ export interface operations { * Review pending deployments for a workflow run * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + * 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: { @@ -93820,7 +100109,9 @@ export interface operations { }; /** * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * @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: { @@ -93852,7 +100143,9 @@ export interface operations { }; /** * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. + * @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: { @@ -93886,7 +100179,9 @@ export interface operations { * Get workflow run usage * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -93907,7 +100202,12 @@ export interface operations { }; /** * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -93937,7 +100237,12 @@ export interface operations { }; /** * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -93957,7 +100262,11 @@ export interface operations { }; /** * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -93979,81 +100288,11 @@ export interface operations { /** * 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). 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 [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **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") - * ``` + * [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)." * - * **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. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. * - * ```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) - * ``` + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/create-or-update-repo-secret": { parameters: { @@ -94066,7 +100305,7 @@ export interface operations { 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. */ + /** @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; @@ -94081,12 +100320,18 @@ export interface operations { }; }; /** @description Response when updating a secret */ - 204: never; + 204: { + content: never; + }; }; }; /** * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -94098,12 +100343,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List repository variables - * @description Lists all repository variables. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * @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: { @@ -94134,8 +100385,10 @@ export interface operations { /** * Create a repository variable * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/create-repo-variable": { parameters: { @@ -94165,7 +100418,11 @@ export interface operations { }; /** * Get a repository variable - * @description Gets a specific variable in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * @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: { @@ -94187,8 +100444,10 @@ export interface operations { /** * Delete a repository variable * @description Deletes a repository variable using the variable name. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/delete-repo-variable": { parameters: { @@ -94200,14 +100459,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Update a repository variable * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/update-repo-variable": { parameters: { @@ -94229,12 +100492,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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: { @@ -94264,7 +100533,12 @@ export interface operations { }; /** * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * @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: { @@ -94287,7 +100561,7 @@ export interface operations { * Disable a workflow * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/disable-workflow": { parameters: { @@ -94299,7 +100573,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -94308,7 +100584,7 @@ export interface operations { * * 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)." + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/create-workflow-dispatch": { parameters: { @@ -94332,14 +100608,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Enable a workflow * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/enable-workflow": { parameters: { @@ -94351,14 +100629,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * @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 * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. */ "actions/list-workflow-runs": { parameters: { @@ -94399,7 +100681,11 @@ export interface operations { * Get workflow usage * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -94418,6 +100704,65 @@ export interface operations { }; }; }; + /** + * 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. @@ -94464,7 +100809,9 @@ export interface operations { }; responses: { /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ - 204: never; + 204: { + content: never; + }; /** @description Otherwise a `404` status code is returned. */ 404: { content: { @@ -94474,16 +100821,13 @@ export interface operations { }; }; /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. + * 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: { - query?: { - page?: components["parameters"]["page"]; - }; path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; @@ -94578,10 +100922,36 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; + /** + * Check if automated security fixes are enabled for a repository + * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + "repos/check-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if dependabot is enabled */ + 200: { + content: { + "application/json": components["schemas"]["check-automated-security-fixes"]; + }; + }; + /** @description Not Found if dependabot is not enabled for the repository */ + 404: { + content: never; + }; + }; + }; /** * Enable automated security fixes * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". @@ -94595,7 +100965,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -94611,7 +100983,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** List branches */ @@ -94813,7 +101187,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; }; }; @@ -94877,7 +101253,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -94916,7 +101294,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -95047,7 +101427,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -95087,7 +101469,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -95293,14 +101677,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Get apps with access to the protected branch * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * 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: { @@ -95324,7 +101710,7 @@ export interface operations { * Set app access restrictions * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * 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: { @@ -95356,7 +101742,7 @@ export interface operations { * Add app access restrictions * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * 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: { @@ -95388,7 +101774,7 @@ export interface operations { * Remove app access restrictions * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * 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: { @@ -95674,17 +102060,9 @@ export interface operations { * * **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. + * 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. * - * 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. + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. */ "repos/rename-branch": { parameters: { @@ -95731,20 +102109,97 @@ export interface operations { }; requestBody: { content: { - "application/json": OneOf< - [ - { - /** @enum {unknown} */ - status: "completed"; - [key: string]: unknown; - }, - { - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown; - } - ] - >; + "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: { @@ -95758,9 +102213,11 @@ export interface operations { }; /** * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * @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. * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. */ "checks/get": { parameters: { @@ -95781,9 +102238,11 @@ export interface operations { }; /** * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * @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. * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + * OAuth apps and personal access tokens (classic) cannot use this endpoint. */ "checks/update": { parameters: { @@ -95839,7 +102298,7 @@ export interface operations { 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. 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)". */ + /** @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; @@ -95873,7 +102332,7 @@ export interface operations { 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)." */ + /** @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; @@ -95907,7 +102366,9 @@ export interface operations { }; /** * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + * @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: { @@ -95937,7 +102398,9 @@ export interface operations { * Rerequest a check run * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. */ "checks/rerequest-run": { parameters: { @@ -95971,9 +102434,11 @@ export interface operations { }; /** * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @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)". * - * 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. + * **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: { @@ -96007,7 +102472,8 @@ export interface operations { }; /** * 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/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set 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: { @@ -96043,9 +102509,11 @@ export interface operations { }; /** * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @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`. * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. */ "checks/get-suite": { parameters: { @@ -96066,9 +102534,11 @@ export interface operations { }; /** * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * @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. * - * 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. + * 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: { @@ -96105,7 +102575,7 @@ export interface operations { * Rerequest a check suite * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. * - * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + * OAuth apps and personal access tokens (classic) cannot use this endpoint. */ "checks/rerequest-suite": { parameters: { @@ -96171,7 +102641,9 @@ export interface operations { }; /** * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * @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: { @@ -96196,7 +102668,8 @@ export interface operations { }; /** * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + * @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: { @@ -96230,9 +102703,8 @@ export interface operations { /** * List instances of a code scanning alert * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * 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: { @@ -96272,12 +102744,10 @@ export interface operations { * 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. + * + * 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: { @@ -96314,9 +102784,6 @@ export interface operations { /** * Get a code scanning analysis for a repository * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. * * The default JSON response contains fields that describe the analysis. * This includes the Git reference and commit SHA to which the analysis relates, @@ -96328,10 +102795,11 @@ export interface operations { * 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). + * 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: { @@ -96359,10 +102827,7 @@ export interface operations { }; /** * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. + * @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. @@ -96424,6 +102889,8 @@ export interface operations { * * 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: { @@ -96455,9 +102922,7 @@ export interface operations { * List CodeQL databases for a repository * @description Lists the CodeQL databases that are available in a repository. * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. + * 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-codeql-databases": { parameters: { @@ -96488,9 +102953,7 @@ export interface operations { * your HTTP client is configured to follow redirects or use the `Location` header * to make a second request to get the redirect URL. * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. + * 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-codeql-database": { parameters: { @@ -96517,8 +102980,8 @@ export interface operations { /** * Get a code scanning default setup configuration * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + * + * 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: { @@ -96542,8 +103005,8 @@ export interface operations { /** * Update a code scanning default setup configuration * @description Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + * + * 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: { @@ -96570,7 +103033,7 @@ export interface operations { "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; }; }; - 403: components["responses"]["code_scanning_forbidden_read"]; + 403: components["responses"]["code_scanning_forbidden_write"]; 404: components["responses"]["not_found"]; 409: components["responses"]["code_scanning_conflict"]; 503: components["responses"]["service_unavailable"]; @@ -96578,7 +103041,7 @@ export interface operations { }; /** * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + * @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)." @@ -96589,9 +103052,9 @@ export interface operations { * ``` * 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. + * 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** | @@ -96607,7 +103070,9 @@ export interface operations { * * 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/reference/code-scanning#get-information-about-a-sarif-upload)." + * 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. */ "code-scanning/upload-sarif": { parameters: { @@ -96620,7 +103085,7 @@ export interface operations { content: { "application/json": { commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-ref"]; + ref: components["schemas"]["code-scanning-ref-full"]; sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; /** * Format: uri @@ -96652,17 +103117,22 @@ export interface operations { }; }; /** @description Bad Request if the sarif field is invalid */ - 400: never; + 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: never; + 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/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. + * @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: { @@ -96682,7 +103152,9 @@ export interface operations { }; 403: components["responses"]["code_scanning_forbidden_read"]; /** @description Not Found if the sarif id does not match any upload */ - 404: never; + 404: { + content: never; + }; 503: components["responses"]["service_unavailable"]; }; }; @@ -96713,16 +103185,16 @@ export interface operations { }; }; /** @description Resource not found */ - 404: never; + 404: { + content: never; + }; }; }; /** * List codespaces in a repository for the authenticated user * @description Lists the codespaces associated to a specified repository and the authenticated user. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/list-in-repository-for-authenticated-user": { parameters: { @@ -96755,9 +103227,7 @@ export interface operations { * Create a codespace in a repository * @description Creates a codespace owned by the authenticated user in the specified repository. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/create-with-repo-for-authenticated-user": { parameters: { @@ -96822,9 +103292,7 @@ export interface operations { * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files * specify launchpoint configurations for codespaces created within the repository. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + * 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: { @@ -96862,9 +103330,7 @@ export interface operations { * List available machine types for a repository * @description List the machine types available for a given repository based on its configuration. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/repo-machines-for-authenticated-user": { parameters: { @@ -96873,6 +103339,8 @@ export interface operations { 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"]; @@ -96900,9 +103368,7 @@ export interface operations { * Get default attributes for a codespace * @description Gets the default attributes for codespaces created by the user with the repository. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * 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: { @@ -96935,9 +103401,45 @@ export interface operations { 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 secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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: { @@ -96967,7 +103469,12 @@ export interface operations { }; /** * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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 app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "codespaces/get-repo-public-key": { parameters: { @@ -96987,7 +103494,9 @@ export interface operations { }; /** * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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: { @@ -97008,82 +103517,10 @@ export interface operations { }; /** * 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). You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - * - * #### Example of encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * @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)." * - * console.log(output) - * }); - * ``` - * - * #### 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) - * ``` + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "codespaces/create-or-update-repo-secret": { parameters: { @@ -97096,7 +103533,7 @@ export interface operations { 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. */ + /** @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; @@ -97111,12 +103548,16 @@ export interface operations { }; }; /** @description Response when updating a secret */ - 204: never; + 204: { + content: never; + }; }; }; /** * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + * @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. */ "codespaces/delete-repo-secret": { parameters: { @@ -97128,7 +103569,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -97138,9 +103581,9 @@ export interface operations { * * 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. + * 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/list-collaborators": { parameters: { @@ -97176,9 +103619,9 @@ export interface operations { * * 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. + * 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: { @@ -97190,14 +103633,18 @@ export interface operations { }; responses: { /** @description Response if user is a collaborator */ - 204: never; + 204: { + content: never; + }; /** @description Not Found if user is not a collaborator */ - 404: never; + 404: { + content: never; + }; }; }; /** * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * @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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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)." * * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." * @@ -97207,9 +103654,9 @@ export interface operations { * 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)." + * 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 [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). * * **Updating an existing collaborator's permission level** * @@ -97251,7 +103698,9 @@ export interface operations { * - 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; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; @@ -97290,14 +103739,22 @@ export interface operations { }; responses: { /** @description No Content when collaborator was removed from the repository. */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; }; /** * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. + * @description Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. */ "repos/get-collaborator-permission-level": { parameters: { @@ -97319,9 +103776,14 @@ export interface operations { }; /** * List commit comments for a repository - * @description 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/). + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. * - * 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: { @@ -97346,7 +103808,17 @@ export interface operations { }; }; }; - /** Get a 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: { @@ -97376,11 +103848,23 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; - /** Update a 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`. + */ "repos/update-commit-comment": { parameters: { path: { @@ -97409,12 +103893,12 @@ export interface operations { }; /** * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + * @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/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ + /** @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" @@ -97448,7 +103932,7 @@ export interface operations { }; /** * Create reaction for a commit comment - * @description 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. + * @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: { @@ -97462,7 +103946,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. * @enum {string} */ content: @@ -97497,7 +103981,7 @@ export interface operations { * 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/reference/repos#comments). + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). */ "reactions/delete-for-commit-comment": { parameters: { @@ -97510,7 +103994,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -97608,7 +104094,14 @@ export interface operations { }; /** * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. + * @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: { @@ -97638,7 +104131,14 @@ export interface operations { * Create a commit comment * @description Create a comment for a commit using its `:commit_sha`. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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: { @@ -97680,6 +104180,8 @@ export interface operations { /** * List pull requests associated with a commit * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. */ "repos/list-pull-requests-associated-with-commit": { parameters: { @@ -97709,11 +104211,13 @@ export interface operations { * Get a commit * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * **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. * - * 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. + * 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. * - * 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. + * - **`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** * @@ -97753,8 +104257,7 @@ export interface operations { path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { @@ -97772,9 +104275,13 @@ export interface operations { }; /** * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * @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. * - * 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. + * 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: { @@ -97790,8 +104297,7 @@ export interface operations { path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { @@ -97811,9 +104317,11 @@ export interface operations { }; /** * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. * - * 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. + * **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: { @@ -97830,8 +104338,7 @@ export interface operations { path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { @@ -97869,8 +104376,7 @@ export interface operations { path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { @@ -97898,8 +104404,7 @@ export interface operations { path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { @@ -97924,10 +104429,8 @@ export interface operations { * 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`. + * 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. */ @@ -97951,7 +104454,12 @@ export interface operations { * Compare two commits * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * 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. * @@ -98022,43 +104530,31 @@ export interface operations { }; /** * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * @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. * - * 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. + * 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/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). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * #### Size limits - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * #### If the content is a directory - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * #### If the content is a symlink - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * #### If the content is a submodule - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. + * + * - 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: { @@ -98092,9 +104588,11 @@ export interface operations { }; /** * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint. + * @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. * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/reference/repos/#delete-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: { @@ -98165,7 +104663,7 @@ export interface operations { * * 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/reference/repos/#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. + * **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: { @@ -98235,7 +104733,7 @@ export interface operations { }; }; responses: { - /** @description if repository contains content */ + /** @description If repository contains content */ 200: { headers: { Link: components["headers"]["link"]; @@ -98245,16 +104743,16 @@ export interface operations { }; }; /** @description Response if repository is empty */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; /** * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + * @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: { @@ -98274,7 +104772,7 @@ export interface operations { page?: number; /** * @deprecated - * @description The number of results per page (max 100). + * @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"]; @@ -98303,9 +104801,7 @@ export interface operations { }; /** * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + * @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: { @@ -98329,11 +104825,9 @@ export interface operations { }; /** * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. + * @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)." * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * 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: { @@ -98383,7 +104877,10 @@ export interface operations { }; /** * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + * @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: { @@ -98413,7 +104910,11 @@ export interface operations { }; /** * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + * @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: { @@ -98433,7 +104934,9 @@ export interface operations { }; /** * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + * @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: { @@ -98455,81 +104958,9 @@ export interface operations { /** * 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). 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 [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **Example encrypting a secret using Python** + * [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)." * - * 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) - * ``` + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "dependabot/create-or-update-repo-secret": { parameters: { @@ -98542,7 +104973,7 @@ export interface operations { 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. */ + /** @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; @@ -98557,12 +104988,16 @@ export interface operations { }; }; /** @description Response when updating a secret */ - 204: never; + 204: { + content: never; + }; }; }; /** * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + * @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: { @@ -98574,7 +105009,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -98603,7 +105040,7 @@ export interface operations { "application/json": components["schemas"]["dependency-graph-diff"]; }; }; - 403: components["responses"]["forbidden"]; + 403: components["responses"]["dependency_review_forbidden"]; 404: components["responses"]["not_found"]; }; }; @@ -98634,7 +105071,11 @@ export interface operations { }; /** * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. + * @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: { @@ -98729,9 +105170,8 @@ export interface operations { * 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: * - * #### 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 @@ -98741,13 +105181,17 @@ export interface operations { * 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 + * 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 + * 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: { @@ -98778,7 +105222,7 @@ export interface operations { { [key: string]: unknown; }, - string + string, ] >; /** @@ -98817,7 +105261,9 @@ export interface operations { }; }; /** @description Conflict when there is a merge conflict or the commit's status checks failed */ - 409: never; + 409: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -98842,14 +105288,16 @@ export interface operations { }; /** * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * @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/deployment-statuses#create-a-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: { @@ -98861,7 +105309,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed_simple"]; }; @@ -98899,7 +105349,7 @@ export interface operations { * Create a deployment status * @description Users with `push` access can create deployment statuses for a given deployment. * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. */ "repos/create-deployment-status": { parameters: { @@ -98939,11 +105389,8 @@ export interface operations { * @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 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 @@ -98997,12 +105444,9 @@ export interface operations { * * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/create-dispatch-event": { parameters: { @@ -99025,7 +105469,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -99033,7 +105479,9 @@ export interface operations { * List environments * @description Lists the environments for a repository. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -99066,9 +105514,9 @@ export interface operations { * Get an environment * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -99093,9 +105541,9 @@ export interface operations { * * **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 "[Secrets](/rest/reference/actions#secrets)." + * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/create-or-update-environment": { parameters: { @@ -99109,6 +105557,7 @@ export interface operations { 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?: | { @@ -99141,7 +105590,7 @@ export interface operations { }; /** * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/delete-an-environment": { parameters: { @@ -99153,14 +105602,18 @@ export interface operations { }; responses: { /** @description Default response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List deployment branch policies * @description Lists the deployment branch policies for an environment. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -99192,9 +105645,9 @@ export interface operations { }; /** * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. + * @description Creates a deployment branch or tag policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/create-deployment-branch-policy": { parameters: { @@ -99206,7 +105659,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; }; }; responses: { @@ -99217,16 +105670,22 @@ export interface operations { }; }; /** @description Response if the same branch name pattern already exists */ - 303: never; + 303: { + content: never; + }; /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ - 404: never; + 404: { + content: never; + }; }; }; /** * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. + * @description Gets a deployment branch or tag policy for an environment. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * 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: { @@ -99248,9 +105707,9 @@ export interface operations { }; /** * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. + * @description Updates a deployment branch or tag policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/update-deployment-branch-policy": { parameters: { @@ -99277,9 +105736,9 @@ export interface operations { }; /** * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. + * @description Deletes a deployment branch or tag policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/delete-deployment-branch-policy": { parameters: { @@ -99292,14 +105751,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * @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: { @@ -99329,9 +105792,11 @@ export interface operations { * Create a custom deployment protection rule on an environment * @description Enable a custom deployment protection rule for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. + * 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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/create-deployment-protection-rule": { parameters: { @@ -99360,11 +105825,13 @@ export interface operations { }; /** * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. + * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * For more information about 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: { @@ -99396,9 +105863,11 @@ export interface operations { }; /** * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * @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: { @@ -99422,7 +105891,9 @@ export interface operations { * Disable a custom protection rule for an environment * @description Disables a custom deployment protection rule for an environment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * 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: { @@ -99435,7 +105906,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -99571,7 +106044,12 @@ export interface operations { * Get a blob * @description The `content` in the response will always be Base64 encoded. * - * _Note_: This API supports blobs up to 100 megabytes in size. + * 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: { @@ -99595,7 +106073,7 @@ export interface operations { }; /** * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). * * **Signature verification object** * @@ -99687,8 +106165,10 @@ export interface operations { }; }; /** - * Get a commit - * @description Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * 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** * @@ -99743,7 +106223,7 @@ export interface operations { * * 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)". + * **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`. */ @@ -99752,8 +106232,7 @@ export interface operations { path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { @@ -99772,15 +106251,14 @@ export interface operations { * 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/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)". + * **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"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { @@ -99834,13 +106312,14 @@ export interface operations { path: { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; - /** @description ref parameter */ - ref: string; + ref: components["parameters"]["commit-ref"]; }; }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -99851,8 +106330,8 @@ export interface operations { owner: components["parameters"]["owner"]; repo: components["parameters"]["repo"]; /** - * @description The name of the fully qualified reference to update. For example, `refs/heads/master`. If the value doesn't start with `refs` and have at least two slashes, it will be rejected. - * @example refs/head/master + * @description The name of the reference to update (for example, `heads/featureA`). Can be a branch name (`heads/BRANCH_NAME`) or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/featureA */ ref: string; }; @@ -99882,7 +106361,7 @@ export interface operations { }; /** * 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/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. + * @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** * @@ -100016,7 +106495,7 @@ export interface operations { * 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/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + * 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. */ @@ -100083,7 +106562,7 @@ export interface operations { }; /** * Get a tree - * @description Returns a single tree using the SHA1 value for that 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. * @@ -100099,6 +106578,7 @@ export interface operations { 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; }; }; @@ -100158,16 +106638,12 @@ export interface operations { "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). */ + /** @description Key/value pairs to provide settings for this webhook. */ config?: { url?: components["schemas"]["webhook-config-url"]; content_type?: components["schemas"]["webhook-config-content-type"]; secret?: components["schemas"]["webhook-config-secret"]; insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - /** @example "abc" */ - token?: string; - /** @example "sha256" */ - digest?: string; }; /** * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. @@ -100202,7 +106678,7 @@ export interface operations { }; /** * 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/reference/repos#get-a-webhook-configuration-for-a-repository)." + * @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: { @@ -100233,13 +106709,15 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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/reference/repos#update-a-webhook-configuration-for-a-repository)." + * @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: { @@ -100252,17 +106730,7 @@ export interface operations { 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; - }; + 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 [ @@ -100295,9 +106763,9 @@ export interface operations { }; /** * 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/reference/orgs#get-a-repository-webhook)." + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + * 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: { @@ -100318,9 +106786,9 @@ export interface operations { }; /** * 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/reference/orgs#update-a-repository-webhook)." + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + * 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: { @@ -100434,7 +106902,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -100454,17 +106924,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; /** * Get an import status + * @deprecated * @description View the progress of an import. * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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** * @@ -100519,8 +106990,12 @@ export interface operations { }; /** * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * @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:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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: { @@ -100566,11 +107041,10 @@ export interface operations { }; /** * Cancel an import + * @deprecated * @description Stop an import for a repository. * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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: { @@ -100581,12 +107055,15 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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. * @@ -100594,9 +107071,7 @@ export interface operations { * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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: { @@ -100638,13 +107113,12 @@ export interface operations { }; /** * 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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: { @@ -100669,12 +107143,11 @@ export interface operations { }; /** * 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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: { @@ -100708,11 +107181,10 @@ export interface operations { }; /** * Get large files + * @deprecated * @description List files larger than 100MB found during the import * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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: { @@ -100733,15 +107205,14 @@ export interface operations { }; /** * 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:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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: { @@ -100842,7 +107313,9 @@ export interface operations { }; }; /** @description Response */ - 409: never; + 409: { + content: never; + }; }; }; /** @@ -100858,9 +107331,13 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Response */ - 409: never; + 409: { + content: never; + }; }; }; /** @@ -100901,7 +107378,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** Update a repository invitation */ @@ -100940,7 +107419,14 @@ export interface operations { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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: { @@ -100987,7 +107473,15 @@ export interface operations { * Create an issue * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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: { @@ -101005,7 +107499,7 @@ export interface operations { 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; + 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< [ @@ -101015,7 +107509,7 @@ export interface operations { 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._ */ @@ -101047,6 +107541,13 @@ export interface operations { * @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: { @@ -101080,6 +107581,13 @@ export interface operations { /** * 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: { @@ -101113,12 +107621,21 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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: { @@ -101148,12 +107665,12 @@ export interface operations { }; /** * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + * @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/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ + /** @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" @@ -101187,7 +107704,7 @@ export interface operations { }; /** * Create reaction for an issue comment - * @description 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. + * @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: { @@ -101201,7 +107718,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. * @enum {string} */ content: @@ -101236,7 +107753,7 @@ export interface operations { * 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/reference/issues#comments). + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). */ "reactions/delete-for-issue-comment": { parameters: { @@ -101249,7 +107766,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -101306,7 +107825,7 @@ export interface operations { }; /** * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * @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 @@ -101316,7 +107835,14 @@ export interface operations { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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: { @@ -101342,6 +107868,13 @@ export interface operations { /** * Update an issue * @description Issue owners and users with push access 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: { @@ -101355,7 +107888,7 @@ export interface operations { content: { "application/json": { /** @description The title of the issue. */ - title?: string | number; + title?: string | number | null; /** @description The contents of the issue. */ body?: string | null; /** @description Username to assign to this issue. **This field is deprecated.** */ @@ -101371,7 +107904,7 @@ export interface operations { * @enum {string|null} */ state_reason?: "completed" | "not_planned" | "reopened" | null; - milestone?: string | number; + 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< [ @@ -101381,7 +107914,7 @@ export interface operations { 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. */ @@ -101481,7 +108014,9 @@ export interface operations { }; responses: { /** @description Response if `assignee` can be assigned to `issue_number` */ - 204: never; + 204: { + content: never; + }; /** @description Response if `assignee` can not be assigned to `issue_number` */ 404: { content: { @@ -101495,6 +108030,13 @@ export interface operations { * @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: { @@ -101525,14 +108067,19 @@ export interface operations { }; /** * 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. + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. * * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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: { @@ -101644,14 +108191,14 @@ export interface operations { "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/reference/issues#add-labels-to-an-issue)." */ + /** @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; }[]; - } + }, ] >; }; @@ -101686,14 +108233,14 @@ export interface operations { "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/reference/issues#set-labels-for-an-issue)." */ + /** @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; }[]; - } + }, ] >; }; @@ -101725,7 +108272,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; @@ -101760,7 +108309,7 @@ export interface operations { * Lock an issue * @description Users with push access can lock an issue or pull request's conversation. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * 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: { @@ -101787,7 +108336,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; @@ -101808,19 +108359,21 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; /** * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/reference/issues). + * @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/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ + /** @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" @@ -101855,7 +108408,7 @@ export interface operations { }; /** * Create reaction for an issue - * @description 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. + * @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: { @@ -101869,7 +108422,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. * @enum {string} */ content: @@ -101904,7 +108457,7 @@ export interface operations { * 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/reference/issues/). + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). */ "reactions/delete-for-issue": { parameters: { @@ -101917,7 +108470,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -102048,7 +108603,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -102153,7 +108710,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -102209,50 +108768,14 @@ export interface operations { }; }; }; - /** - * Enable Git LFS for a repository - * @description Enables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. - */ - "repos/enable-lfs-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - /** - * @description 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: never; - }; - }; - /** - * Disable Git LFS for a repository - * @description Disables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. - */ - "repos/disable-lfs-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: never; - }; - }; /** * Get the license for a repository * @description This method returns the contents of the repository's license file, if one is detected. * - * Similar to [Get repository content](https://docs.github.com/rest/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. + * 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: { @@ -102268,6 +108791,7 @@ export interface operations { "application/json": components["schemas"]["license-content"]; }; }; + 404: components["responses"]["not_found"]; }; }; /** @@ -102297,9 +108821,13 @@ export interface operations { }; }; /** @description The branch could not be synced because of a merge conflict */ - 409: never; + 409: { + content: never; + }; /** @description The branch could not be synced for some other reason */ - 422: never; + 422: { + content: never; + }; }; }; /** Merge a branch */ @@ -102330,12 +108858,18 @@ export interface operations { }; }; /** @description Response when already merged */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; /** @description Not Found when the base or head does not exist */ - 404: never; + 404: { + content: never; + }; /** @description Conflict when there is a merge conflict */ - 409: never; + 409: { + content: never; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -102456,7 +108990,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; @@ -102560,7 +109096,7 @@ export interface operations { }; /** * 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/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + * @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: { @@ -102591,14 +109127,16 @@ export interface operations { }; }; /** @description Reset Content */ - 205: never; + 205: { + content: never; + }; }; }; /** * Get a GitHub Pages site * @description Gets information about a GitHub Pages site. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/get-pages": { parameters: { @@ -102621,7 +109159,9 @@ export interface operations { * Update information about a GitHub Pages site * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + * 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: { @@ -102658,7 +109198,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 400: components["responses"]["bad_request"]; 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; @@ -102668,7 +109210,9 @@ export interface operations { * Create a GitHub Pages site * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + * 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: { @@ -102714,7 +109258,9 @@ export interface operations { * Delete a GitHub Pages site * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + * 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: { @@ -102725,7 +109271,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; @@ -102735,7 +109283,7 @@ export interface operations { * List GitHub Pages builds * @description Lists builts of a GitHub Pages site. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/list-pages-builds": { parameters: { @@ -102786,7 +109334,7 @@ export interface operations { * Get latest Pages build * @description Gets information about the single most recent build of a GitHub Pages site. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/get-latest-pages-build": { parameters: { @@ -102808,7 +109356,7 @@ export interface operations { * Get GitHub Pages build * @description Gets information about a GitHub Pages build. * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "repos/get-pages-build": { parameters: { @@ -102831,7 +109379,7 @@ export interface operations { * Create a GitHub Pages deployment * @description Create a GitHub Pages deployment for a repository. * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. + * The authenticated user must have write permission to the repository. */ "repos/create-pages-deployment": { parameters: { @@ -102843,8 +109391,10 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ - artifact_url: string; + /** @description The 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 @@ -102872,13 +109422,58 @@ export interface operations { 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. * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. + * 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: { @@ -102901,10 +109496,46 @@ export interface operations { }; }; /** @description Custom domains are not available for GitHub Pages */ - 400: never; + 400: { + content: never; + }; 404: components["responses"]["not_found"]; /** @description There isn't a CNAME for this page */ - 422: never; + 422: { + content: never; + }; + }; + }; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + "repos/enable-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + "repos/disable-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; }; }; /** @@ -102976,9 +109607,79 @@ export interface operations { 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/get-custom-properties-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/create-or-update-custom-properties-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 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. + * @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`. + * - **`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. + * - **`application/vnd.github.patch`**: For more information, see "[git-format-patch](https://git-scm.com/docs/git-format-patch)" in the Git documentation. */ "pulls/list": { parameters: { @@ -103021,7 +109722,15 @@ export interface operations { * * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * 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/overview/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`. + * - **`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/create": { parameters: { @@ -103077,7 +109786,15 @@ export interface operations { }; /** * 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. + * @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: { @@ -103108,7 +109825,14 @@ export interface operations { }; /** * Get a review comment for a pull request - * @description Provides details for a review comment. + * @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: { @@ -103142,13 +109866,22 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; }; }; /** * Update a review comment for a pull request - * @description Enables you to edit a review comment. + * @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: { @@ -103177,12 +109910,12 @@ export interface operations { }; /** * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + * @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/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. */ + /** @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" @@ -103216,7 +109949,7 @@ export interface operations { }; /** * Create reaction for a pull request review comment - * @description 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. + * @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: { @@ -103230,7 +109963,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. * @enum {string} */ content: @@ -103265,7 +109998,7 @@ export interface operations { * 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/reference/pulls#review-comments). + * 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: { @@ -103278,7 +110011,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -103287,7 +110022,7 @@ export interface operations { * * 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)". + * 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. * @@ -103298,6 +110033,14 @@ export interface operations { * * 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. + * + * 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: { @@ -103325,6 +110068,14 @@ export interface operations { * @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`. + * - **`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/update": { parameters: { @@ -103368,9 +110119,7 @@ export interface operations { * Create a codespace from a pull request * @description Creates a codespace owned by the authenticated user for the specified pull request. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/create-with-pr-for-authenticated-user": { parameters: { @@ -103430,7 +110179,15 @@ export interface operations { }; /** * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. + * @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: { @@ -103462,14 +110219,21 @@ export interface operations { }; /** * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/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. + * @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 deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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)." * - * 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. + * - **`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: { @@ -103490,7 +110254,7 @@ export interface operations { 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. + * @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. 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; /** @@ -103516,7 +110280,7 @@ export interface operations { * @description The level at which the comment is targeted. * @enum {string} */ - subject_type?: "LINE" | "FILE"; + subject_type?: "line" | "file"; }; }; }; @@ -103539,7 +110303,15 @@ export interface operations { * Create a reply for a review comment * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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: { @@ -103574,7 +110346,17 @@ export interface operations { }; /** * 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/reference/repos#list-commits) endpoint. + * @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`. + * - **`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/list-commits": { parameters: { @@ -103602,7 +110384,18 @@ export interface operations { }; /** * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * @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`. + * - **`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/list-files": { parameters: { @@ -103645,15 +110438,19 @@ export interface operations { }; responses: { /** @description Response if pull request has been merged */ - 204: never; + 204: { + content: never; + }; /** @description Not Found if pull request has not been merged */ - 404: never; + 404: { + content: never; + }; }; }; /** * Merge a pull request * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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: { @@ -103765,7 +110562,9 @@ export interface operations { }; 403: components["responses"]["forbidden"]; /** @description Unprocessable Entity if user is not a collaborator */ - 422: never; + 422: { + content: never; + }; }; }; /** @@ -103802,7 +110601,14 @@ export interface operations { }; /** * List reviews for a pull request - * @description The list of reviews returns in chronological order. + * @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: { @@ -103830,13 +110636,22 @@ export interface operations { }; /** * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * @description Creates a review on a specified pull request. * - * 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#submit-a-review-for-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/overview/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:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * 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: { @@ -103854,7 +110669,7 @@ export interface operations { /** @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#submit-a-review-for-a-pull-request) when you are ready. + * @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"; @@ -103862,7 +110677,7 @@ export interface operations { 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. */ + /** @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; @@ -103892,6 +110707,13 @@ export interface operations { /** * 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: { @@ -103914,7 +110736,14 @@ export interface operations { }; /** * Update a review for a pull request - * @description Update the review summary comment with new text. + * @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: { @@ -103946,6 +110775,13 @@ export interface operations { /** * 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: { @@ -103969,7 +110805,14 @@ export interface operations { }; /** * List comments for a pull request review - * @description List comments for a specific 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: { @@ -103999,7 +110842,18 @@ export interface operations { }; /** * Dismiss a review for a pull request - * @description **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. + * @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: { @@ -104036,7 +110890,14 @@ export interface operations { }; /** * 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#create-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: { @@ -104087,7 +110948,7 @@ export interface operations { 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. */ + /** @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; }; @@ -104110,7 +110971,10 @@ export interface operations { * Get a repository README * @description 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. + * 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: { @@ -104138,7 +111002,10 @@ export interface operations { * Get a repository README for a directory * @description Gets the README from a repository directory. * - * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + * 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: { @@ -104166,7 +111033,7 @@ export interface operations { }; /** * 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/reference/repos#list-repository-tags). + * @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. */ @@ -104198,7 +111065,7 @@ export interface operations { * Create a release * @description Users with push access to the repository can create a release. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * 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/overview/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: { @@ -104298,7 +111165,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -104336,7 +111205,7 @@ export interface operations { }; /** * Generate release notes content for a release - * @description 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. + * @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: { @@ -104416,7 +111285,11 @@ export interface operations { }; /** * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + * @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: { @@ -104427,13 +111300,16 @@ export interface operations { }; }; responses: { - /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + /** @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"]; }; }; - 404: components["responses"]["not_found"]; + /** @description Unauthorized */ + 401: { + content: never; + }; }; }; /** @@ -104450,7 +111326,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -104533,7 +111411,7 @@ export interface operations { }; /** * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * @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. @@ -104548,7 +111426,7 @@ export interface operations { * 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)" + * * 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. @@ -104578,17 +111456,19 @@ export interface operations { }; }; /** @description Response if you upload an asset with the same filename as another uploaded asset */ - 422: never; + 422: { + content: never; + }; }; }; /** * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). + * @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/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release. */ + /** @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"]; @@ -104614,7 +111494,7 @@ export interface operations { }; /** * Create reaction for a release - * @description 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. + * @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: { @@ -104628,7 +111508,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release. + * @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"; @@ -104655,7 +111535,7 @@ export interface operations { * 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/reference/repos#releases). + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). */ "reactions/delete-for-release": { parameters: { @@ -104668,12 +111548,17 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Get rules for a branch - * @description Returns all rules that apply to the specified 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: { @@ -104691,7 +111576,7 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["repository-rule"][]; + "application/json": components["schemas"]["repository-rule-detailed"][]; }; }; }; @@ -104747,11 +111632,6 @@ export interface operations { */ target?: "branch" | "tag"; enforcement: components["schemas"]["repository-rule-enforcement"]; - /** - * @description The permission level required to bypass this ruleset. "repository" allows those with bypass permission at the repository level to bypass. "organization" allows those with bypass permission at the organization level to bypass. "none" prevents anyone from bypassing. - * @enum {string} - */ - bypass_mode?: "none" | "repository" | "organization"; /** @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"]; @@ -104771,6 +111651,61 @@ export interface operations { 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. @@ -104824,11 +111759,6 @@ export interface operations { */ target?: "branch" | "tag"; enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** - * @description The permission level required to bypass this ruleset. "repository" allows those with bypass permission at the repository level to bypass. "organization" allows those with bypass permission at the organization level to bypass. "none" prevents anyone from bypassing. - * @enum {string} - */ - bypass_mode?: "none" | "repository" | "organization"; /** @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"]; @@ -104863,7 +111793,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 500: components["responses"]["internal_error"]; }; @@ -104871,10 +111803,10 @@ export interface operations { /** * List secret scanning alerts for a repository * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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: { @@ -104888,6 +111820,7 @@ export interface operations { 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"]; }; path: { owner: components["parameters"]["owner"]; @@ -104902,17 +111835,19 @@ export interface operations { }; }; /** @description Repository is public or secret scanning is disabled for the repository */ - 404: never; + 404: { + content: never; + }; 503: components["responses"]["service_unavailable"]; }; }; /** * Get a secret scanning alert * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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: { @@ -104931,17 +111866,19 @@ export interface operations { }; 304: components["responses"]["not_modified"]; /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: never; + 404: { + content: never; + }; 503: components["responses"]["service_unavailable"]; }; }; /** * Update a secret scanning alert * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + * 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: { @@ -104968,21 +111905,27 @@ export interface operations { }; }; /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ - 400: never; + 400: { + content: never; + }; /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: never; + 404: { + content: never; + }; /** @description State does not match the resolution or resolution comment */ - 422: never; + 422: { + content: never; + }; 503: components["responses"]["service_unavailable"]; }; }; /** * List locations for a secret scanning alert * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * 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: { @@ -105007,17 +111950,19 @@ export interface operations { }; }; /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: never; + 404: { + content: never; + }; 503: components["responses"]["service_unavailable"]; }; }; /** * List repository security advisories * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. + * 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: { @@ -105027,7 +111972,7 @@ export interface operations { sort?: "created" | "updated" | "published"; before?: components["parameters"]["pagination-before"]; after?: components["parameters"]["pagination-after"]; - /** @description Number of advisories to return per page. */ + /** @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"; @@ -105051,9 +111996,10 @@ export interface operations { /** * Create a repository security advisory * @description Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. + * 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: { @@ -105111,12 +112057,13 @@ export interface operations { /** * Get a repository security advisory * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a + * 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: { @@ -105140,10 +112087,11 @@ export interface operations { /** * Update a repository security advisory * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. * - * In order to update any security advisory, you must be a security manager or administrator of that repository, + * 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: { @@ -105175,11 +112123,66 @@ export interface operations { }; }; }; + /** + * 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. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * 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: { @@ -105209,7 +112212,11 @@ export interface operations { }; /** * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * @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: { @@ -105227,6 +112234,10 @@ export interface operations { }; 202: components["responses"]["accepted"]; 204: components["responses"]["no_content"]; + /** @description Repository contains more than 10,000 commits */ + 422: { + content: never; + }; }; }; /** @@ -105256,10 +112267,12 @@ export interface operations { * @description * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `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: { @@ -105409,7 +112422,10 @@ export interface operations { }; }; }; - /** Get a repository subscription */ + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ "activity/get-repo-subscription": { parameters: { path: { @@ -105426,12 +112442,14 @@ export interface operations { }; 403: components["responses"]["forbidden"]; /** @description Not Found if you don't subscribe to the repository */ - 404: never; + 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/reference/activity#delete-a-repository-subscription) completely. + * @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: { @@ -105461,7 +112479,7 @@ export interface operations { }; /** * 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/reference/activity#set-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: { @@ -105472,7 +112490,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** List repository tags */ @@ -105569,7 +112589,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; @@ -105591,7 +112613,13 @@ export interface operations { }; responses: { /** @description Response */ - 302: never; + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + }; + content: never; + }; }; }; /** @@ -105600,11 +112628,7 @@ export interface operations { * * For a public repository, a team is listed only if that team added the public repository explicitly. * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. + * 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: { @@ -105814,9 +112838,13 @@ export interface operations { }; responses: { /** @description Response if repository is enabled with vulnerability alerts */ - 204: never; + 204: { + content: never; + }; /** @description Not Found if repository is not enabled with vulnerability alerts */ - 404: never; + 404: { + content: never; + }; }; }; /** @@ -105832,7 +112860,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -105850,7 +112880,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -105871,24 +112903,27 @@ export interface operations { }; responses: { /** @description Response */ - 302: never; + 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/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: + * @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`. * - * * `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 + * 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; }; }; @@ -105922,7 +112957,7 @@ export interface operations { Location?: string; }; content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["full-repository"]; }; }; }; @@ -105958,7 +112993,12 @@ export interface operations { }; /** * List environment secrets - * @description Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -105988,7 +113028,12 @@ export interface operations { }; /** * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -106008,7 +113053,11 @@ export interface operations { }; /** * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -106030,81 +113079,11 @@ export interface operations { /** * 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). 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 [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * **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" + * [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)." * - * 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") + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/create-or-update-environment-secret": { parameters: { @@ -106117,7 +113096,7 @@ export interface operations { 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. */ + /** @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; @@ -106132,12 +113111,18 @@ export interface operations { }; }; /** @description Response when updating a secret */ - 204: never; + 204: { + content: never; + }; }; }; /** * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * @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: { @@ -106149,12 +113134,18 @@ export interface operations { }; responses: { /** @description Default response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List environment variables - * @description Lists all environment variables. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * @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: { @@ -106185,8 +113176,10 @@ export interface operations { /** * Create an environment variable * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/create-environment-variable": { parameters: { @@ -106216,7 +113209,11 @@ export interface operations { }; /** * Get an environment variable - * @description Gets a specific variable in an environment. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * @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: { @@ -106238,8 +113235,10 @@ export interface operations { /** * Delete an environment variable * @description Deletes an environment variable using the variable name. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/delete-environment-variable": { parameters: { @@ -106251,14 +113250,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Update an environment variable * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "actions/update-environment-variable": { parameters: { @@ -106280,14 +113283,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -106295,7 +113300,7 @@ export interface operations { * * 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 + * Considerations for code search: * * Due to the complexity of searching code, there are a few restrictions on how searches are performed: * @@ -106309,11 +113314,11 @@ export interface operations { "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/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. */ + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ q: string; /** * @deprecated - * @description **This field is deprecated.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) + * @description **This field is deprecated.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ sort?: "indexed"; /** @@ -106344,10 +113349,10 @@ export interface operations { }; /** * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -106356,9 +113361,9 @@ export interface operations { "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/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. */ + /** @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/reference/search#ranking-search-results) */ + /** @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"]; @@ -106381,10 +113386,10 @@ export interface operations { }; /** * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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. * @@ -106392,14 +113397,14 @@ export interface operations { * * 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)." + * **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/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. */ + /** @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/reference/search#ranking-search-results) */ + /** @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" @@ -106436,9 +113441,9 @@ export interface operations { }; /** * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -106451,9 +113456,9 @@ export interface operations { 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/reference/search#constructing-a-search-query). */ + /** @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/reference/search#ranking-search-results) */ + /** @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"]; @@ -106479,9 +113484,9 @@ export interface operations { }; /** * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/reference/search#text-match-metadata). + * 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: * @@ -106492,9 +113497,9 @@ export interface operations { "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/reference/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + /** @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/reference/search#ranking-search-results) */ + /** @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"]; @@ -106519,9 +113524,9 @@ export interface operations { }; /** * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * @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/reference/search#text-match-metadata). + * 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: * @@ -106532,7 +113537,7 @@ export interface operations { "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/reference/search#constructing-a-search-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"]; @@ -106554,22 +113559,24 @@ export interface operations { }; /** * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * @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/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). + * 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/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. */ + /** @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/reference/search#ranking-search-results) */ + /** @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"]; @@ -106595,7 +113602,7 @@ export interface operations { /** * Get a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. */ "teams/get-legacy": { parameters: { @@ -106616,7 +113623,7 @@ export interface operations { /** * Delete a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. * * To delete a team, the authenticated user must be an organization owner or team maintainer. * @@ -106630,7 +113637,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -106638,7 +113647,7 @@ export interface operations { /** * Update a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. * * To edit a team, the authenticated user must either be an organization owner or a team maintainer. * @@ -106708,9 +113717,11 @@ export interface operations { /** * List discussions (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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: { @@ -106738,11 +113749,13 @@ export interface operations { /** * Create a discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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 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. + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. */ "teams/create-discussion-legacy": { parameters: { @@ -106777,9 +113790,11 @@ export interface operations { /** * Get a discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. * - * 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/). + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. */ "teams/get-discussion-legacy": { parameters: { @@ -106800,9 +113815,11 @@ export interface operations { /** * Delete a discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Delete 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: { @@ -106813,15 +113830,19 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Update a discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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: { @@ -106852,9 +113873,11 @@ export interface operations { /** * List discussion comments (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. * - * 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/). + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. */ "teams/list-discussion-comments-legacy": { parameters: { @@ -106883,11 +113906,13 @@ export interface operations { /** * Create a discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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. 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. + * 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/overview/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: { @@ -106916,9 +113941,11 @@ export interface operations { /** * Get a discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. * - * 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/). + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. */ "teams/get-discussion-comment-legacy": { parameters: { @@ -106940,9 +113967,11 @@ export interface operations { /** * Delete a discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * 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: { @@ -106954,15 +113983,19 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * Update a discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. * - * 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/). + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. */ "teams/update-discussion-comment-legacy": { parameters: { @@ -106992,14 +114025,16 @@ export interface operations { /** * List reactions for a team discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/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/). + * 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/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + /** @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" @@ -107033,9 +114068,13 @@ export interface operations { /** * Create reaction for a team discussion comment (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). * - * 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. + * 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: { @@ -107049,7 +114088,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. * @enum {string} */ content: @@ -107076,14 +114115,16 @@ export interface operations { /** * List reactions for a team discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). * - * 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/). + * 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/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + /** @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" @@ -107116,9 +114157,13 @@ export interface operations { /** * Create reaction for a team discussion (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. * - * 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. + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. */ "reactions/create-for-team-discussion-legacy": { parameters: { @@ -107131,7 +114176,7 @@ export interface operations { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. * @enum {string} */ content: @@ -107158,7 +114203,7 @@ export interface operations { /** * List pending team invitations (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. * * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ @@ -107187,7 +114232,7 @@ export interface operations { /** * List team members (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. * * Team members will include the members of child teams. */ @@ -107221,7 +114266,7 @@ export interface operations { * @deprecated * @description The "Get team member" endpoint (described below) is deprecated. * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * 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. */ @@ -107234,9 +114279,13 @@ export interface operations { }; responses: { /** @description if user is a member */ - 204: never; + 204: { + content: never; + }; /** @description if user is not a member */ - 404: never; + 404: { + content: never; + }; }; }; /** @@ -107244,7 +114293,7 @@ export interface operations { * @deprecated * @description The "Add team member" endpoint (described below) is deprecated. * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * 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. * @@ -107252,7 +114301,7 @@ export interface operations { * * **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)." + * 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: { @@ -107263,12 +114312,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; /** @description Not Found if team synchronization is set up */ - 404: never; + 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: never; + 422: { + content: never; + }; }; }; /** @@ -107276,7 +114331,7 @@ export interface operations { * @deprecated * @description The "Remove team member" endpoint (described below) is deprecated. * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * 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. * @@ -107293,15 +114348,19 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Not Found if team synchronization is setup */ - 404: never; + 404: { + content: never; + }; }; }; /** * Get team membership for a user (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. * * Team members will include the members of child teams. * @@ -107310,7 +114369,7 @@ export interface operations { * **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). + * 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: { @@ -107332,7 +114391,7 @@ export interface operations { /** * Add or update team membership for a user (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. * * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * @@ -107371,16 +114430,20 @@ export interface operations { }; }; /** @description Forbidden if team synchronization is set up */ - 403: never; + 403: { + content: never; + }; 404: components["responses"]["not_found"]; /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: never; + 422: { + content: never; + }; }; }; /** * Remove team membership for a user (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. * * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * @@ -107397,15 +114460,19 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description if team synchronization is set up */ - 403: never; + 403: { + content: never; + }; }; }; /** * List team projects (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. * * Lists the organization projects for a team. */ @@ -107435,7 +114502,7 @@ export interface operations { /** * Check team permissions for a project (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. * * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. */ @@ -107454,13 +114521,15 @@ export interface operations { }; }; /** @description Not Found if project is not managed by this team */ - 404: never; + 404: { + content: never; + }; }; }; /** * Add or update team project permissions (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. * * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. */ @@ -107475,7 +114544,7 @@ export interface operations { 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)." + * @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"; @@ -107484,7 +114553,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; /** @description Forbidden if the project is not owned by the organization */ 403: { content: { @@ -107501,7 +114572,7 @@ export interface operations { /** * Remove a project from a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. * * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. */ @@ -107514,7 +114585,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -107522,7 +114595,7 @@ export interface operations { /** * List team repositories (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. */ "teams/list-repos-legacy": { parameters: { @@ -107552,7 +114625,7 @@ export interface operations { * @deprecated * @description **Note**: Repositories inherited through a parent team will also be checked. * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) 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 [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. * * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: */ @@ -107572,19 +114645,23 @@ export interface operations { }; }; /** @description Response if repository is managed by this team */ - 204: never; + 204: { + content: never; + }; /** @description Not Found if repository is not managed by this team */ - 404: never; + 404: { + content: never; + }; }; }; /** * Add or update team repository permissions (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. * * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * 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: { @@ -107607,7 +114684,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; @@ -107615,7 +114694,7 @@ export interface operations { /** * Remove a repository from a team (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. * * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. */ @@ -107629,13 +114708,15 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List child teams (Legacy) * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. */ "teams/list-child-legacy": { parameters: { @@ -107664,9 +114745,7 @@ export interface operations { }; /** * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + * @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: { @@ -107766,7 +114845,10 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - /** Check if a user is blocked by the authenticated user */ + /** + * 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: { @@ -107775,7 +114857,9 @@ export interface operations { }; responses: { /** @description If the user is blocked */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -107787,7 +114871,10 @@ export interface operations { }; }; }; - /** Block a user */ + /** + * 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: { @@ -107796,7 +114883,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -107804,7 +114893,10 @@ export interface operations { 422: components["responses"]["validation_failed"]; }; }; - /** Unblock a user */ + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ "users/unblock": { parameters: { path: { @@ -107813,7 +114905,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -107824,9 +114918,7 @@ export interface operations { * List codespaces for the authenticated user * @description Lists the authenticated user's codespaces. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/list-for-authenticated-user": { parameters: { @@ -107859,9 +114951,7 @@ export interface operations { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/create-for-authenticated-user": { requestBody: { @@ -107920,7 +115010,7 @@ export interface operations { working_directory?: string; /** @description Time in minutes before codespace stops from inactivity */ idle_timeout_minutes?: number; - } + }, ] >; }; @@ -107946,12 +115036,12 @@ export interface operations { }; /** * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their + * @description Lists all development environment 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. + * The authenticated 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. + * 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: { @@ -107979,9 +115069,9 @@ export interface operations { * Get public key for the authenticated user * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * The authenticated 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. + * 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: { @@ -107995,11 +115085,11 @@ export interface operations { }; /** * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. + * @description Gets a development environment 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. + * The authenticated 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. + * 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: { @@ -108018,84 +115108,12 @@ export interface operations { }; /** * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * @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)." * - * **Example encrypting a secret using Node.js** - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` + * The authenticated user must have Codespaces access to use this endpoint. * - * **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) - * ``` + * 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: { @@ -108106,11 +115124,11 @@ export interface operations { 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. */ + /** @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/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. */ + /** @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)[]; }; }; @@ -108123,18 +115141,20 @@ export interface operations { }; }; /** @description Response after successfully updating a secret */ - 204: never; + 204: { + content: never; + }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; /** * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * @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. * - * 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. + * The authenticated 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. + * 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: { @@ -108144,16 +115164,18 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. + * @description List the repositories that have been granted the ability to use a user's development environment 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. + * The authenticated 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. + * 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: { @@ -108179,11 +115201,11 @@ export interface operations { }; /** * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. + * @description Select the repositories that will use a user's development environment 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. + * The authenticated 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. + * 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: { @@ -108194,14 +115216,16 @@ export interface operations { 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. */ + /** @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: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -108210,9 +115234,11 @@ export interface operations { }; /** * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. + * @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: { @@ -108223,7 +115249,9 @@ export interface operations { }; responses: { /** @description No Content when repository was added to the selected list */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -108232,9 +115260,11 @@ export interface operations { }; /** * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + * @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: { @@ -108245,7 +115275,9 @@ export interface operations { }; responses: { /** @description No Content when repository was removed from the selected list */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -108256,9 +115288,7 @@ export interface operations { * Get a codespace for the authenticated user * @description Gets information about a user's codespace. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/get-for-authenticated-user": { parameters: { @@ -108284,9 +115314,7 @@ export interface operations { * Delete a codespace for the authenticated user * @description Deletes a user's codespace. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/delete-for-authenticated-user": { parameters: { @@ -108309,9 +115337,7 @@ export interface operations { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/update-for-authenticated-user": { parameters: { @@ -108349,9 +115375,7 @@ export interface operations { * * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/export-for-authenticated-user": { parameters: { @@ -108377,9 +115401,7 @@ export interface operations { * Get details about a codespace export * @description Gets information about an export of a codespace. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/get-export-details-for-authenticated-user": { parameters: { @@ -108402,9 +115424,7 @@ export interface operations { * List machine types for a codespace * @description List the machine types a codespace can transition to use. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/codespace-machines-for-authenticated-user": { parameters: { @@ -108437,9 +115457,7 @@ export interface operations { * * This will fail for a codespace that is already published, meaning it has an associated repository. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/publish-for-authenticated-user": { parameters: { @@ -108477,9 +115495,7 @@ export interface operations { * Start a codespace for the authenticated user * @description Starts a user's codespace. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/start-for-authenticated-user": { parameters: { @@ -108513,9 +115529,7 @@ export interface operations { * Stop a codespace for the authenticated user * @description Stops a user's codespace. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. */ "codespaces/stop-for-authenticated-user": { parameters: { @@ -108539,7 +115553,8 @@ export interface operations { /** * Get list of conflicting packages during Docker migration for authenticated-user * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + * + * 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: { @@ -108583,7 +115598,10 @@ export interface operations { }; /** * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + * @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: { @@ -108610,7 +115628,7 @@ export interface operations { }; /** * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ "users/add-email-for-authenticated-user": { requestBody?: { @@ -108640,7 +115658,7 @@ export interface operations { }; /** * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ "users/delete-email-for-authenticated-user": { requestBody?: { @@ -108653,7 +115671,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -108722,7 +115742,9 @@ export interface operations { }; responses: { /** @description if the person is followed by the authenticated user */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -108736,9 +115758,9 @@ export interface operations { }; /** * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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)." * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. */ "users/follow": { parameters: { @@ -108748,7 +115770,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -108757,7 +115781,7 @@ export interface operations { }; /** * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. */ "users/unfollow": { parameters: { @@ -108767,7 +115791,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -108776,7 +115802,9 @@ export interface operations { }; /** * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -108803,7 +115831,9 @@ export interface operations { }; /** * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -108832,7 +115862,9 @@ export interface operations { }; /** * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -108855,7 +115887,9 @@ export interface operations { }; /** * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -108865,7 +115899,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -108877,8 +115913,6 @@ export interface operations { * List app installations accessible to the user access token * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. * - * You must use a [user-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. @@ -108914,8 +115948,6 @@ export interface operations { * * 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": { @@ -108950,8 +115982,6 @@ export interface operations { /** * Add a repository to an app installation * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ "apps/add-repo-to-installation-for-authenticated-user": { parameters: { @@ -108962,7 +115992,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -108971,8 +116003,6 @@ export interface operations { /** * Remove a repository from an app installation * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ "apps/remove-repo-from-installation-for-authenticated-user": { parameters: { @@ -108983,12 +116013,16 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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: never; + 422: { + content: never; + }; }; }; /** @@ -109006,7 +116040,9 @@ export interface operations { }; }; /** @description Response when there are no restrictions */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -109036,7 +116072,9 @@ export interface operations { "interactions/remove-restrictions-for-authenticated-user": { responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; }; }; /** @@ -109046,7 +116084,14 @@ export interface operations { * **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/reference/pulls#list-pull-requests)" endpoint. + * 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: { @@ -109086,7 +116131,9 @@ export interface operations { }; /** * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -109113,7 +116160,9 @@ export interface operations { }; /** * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @description Adds a public SSH 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-public-ssh-key-for-authenticated-user": { requestBody: { @@ -109145,7 +116194,9 @@ export interface operations { }; /** * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -109168,7 +116219,9 @@ export interface operations { }; /** * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @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: { @@ -109178,7 +116231,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -109187,7 +116242,7 @@ export interface operations { }; /** * List subscriptions for the authenticated user - * @description 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/). + * @description Lists the active subscriptions for the authenticated user. */ "apps/list-subscriptions-for-authenticated-user": { parameters: { @@ -109213,7 +116268,7 @@ export interface operations { }; /** * List subscriptions for the authenticated user (stubbed) - * @description 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/). + * @description Lists the active subscriptions for the authenticated user. */ "apps/list-subscriptions-for-authenticated-user-stubbed": { parameters: { @@ -109478,7 +116533,9 @@ export interface operations { }; responses: { /** @description Response */ - 302: never; + 302: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -109496,7 +116553,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -109516,7 +116575,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -109554,9 +116615,7 @@ export interface operations { * List organizations for the authenticated user * @description List organizations for the authenticated user. * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + * 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. */ "orgs/list-for-authenticated-user": { parameters: { @@ -109584,7 +116643,7 @@ export interface operations { * List packages for the authenticated user's namespace * @description Lists packages owned by the authenticated user within the user's namespace. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/list-packages-for-authenticated-user": { parameters: { @@ -109616,7 +116675,7 @@ export interface operations { * Get a package for the authenticated user * @description Gets a specific package for a package owned by the authenticated user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-package-for-authenticated-user": { parameters: { @@ -109638,8 +116697,7 @@ export interface operations { * Delete a package for the authenticated user * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, `repo` scope is also required. For the list these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/delete-package-for-authenticated-user": { parameters: { @@ -109650,7 +116708,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -109664,7 +116724,7 @@ export interface operations { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/restore-package-for-authenticated-user": { parameters: { @@ -109679,7 +116739,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -109689,7 +116751,7 @@ export interface operations { * List package versions for a package owned by the authenticated user * @description Lists package versions for a package owned by the authenticated user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { parameters: { @@ -109720,7 +116782,7 @@ export interface operations { * Get a package version for the authenticated user * @description Gets a specific package version for a package owned by the authenticated user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-package-version-for-authenticated-user": { parameters: { @@ -109743,8 +116805,9 @@ export interface operations { * Delete a package version for the authenticated user * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/delete-package-version-for-authenticated-user": { parameters: { @@ -109756,7 +116819,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -109770,7 +116835,7 @@ export interface operations { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/restore-package-version-for-authenticated-user": { parameters: { @@ -109782,7 +116847,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -109824,7 +116891,11 @@ export interface operations { }; /** * 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/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + * @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: { @@ -109896,12 +116967,7 @@ export interface operations { * Create a repository for the authenticated user * @description Creates a new repository for the authenticated user. * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. + * 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: { @@ -110049,7 +117115,7 @@ export interface operations { Location?: string; }; content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["full-repository"]; }; }; 304: components["responses"]["not_modified"]; @@ -110096,7 +117162,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -110112,7 +117180,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -110148,7 +117218,9 @@ export interface operations { }; /** * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. + * @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: { @@ -110178,7 +117250,9 @@ export interface operations { }; /** * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. + * @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: { @@ -110194,7 +117268,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -110204,7 +117280,9 @@ export interface operations { }; /** * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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: { @@ -110231,7 +117309,9 @@ export interface operations { }; /** * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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: { @@ -110263,7 +117343,9 @@ export interface operations { }; /** * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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: { @@ -110286,7 +117368,9 @@ export interface operations { }; /** * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * @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: { @@ -110296,7 +117380,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -110307,7 +117393,9 @@ export interface operations { * List repositories starred by the authenticated user * @description Lists repositories the authenticated user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * 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: { @@ -110334,7 +117422,10 @@ export interface operations { 403: components["responses"]["forbidden"]; }; }; - /** Check if a repository is starred by the authenticated user */ + /** + * 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: { @@ -110344,7 +117435,9 @@ export interface operations { }; responses: { /** @description Response if this repository is starred by you */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -110358,7 +117451,7 @@ export interface operations { }; /** * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @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: { @@ -110369,14 +117462,19 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 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 */ + /** + * 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: { @@ -110386,7 +117484,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; @@ -110421,7 +117521,12 @@ export interface operations { }; /** * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. + * @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: { @@ -110476,11 +117581,9 @@ export interface operations { * Get a user * @description Provides publicly available information about someone with a GitHub account. * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * The `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/reference/users#emails)". + * 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: { @@ -110503,7 +117606,8 @@ export interface operations { /** * Get list of conflicting packages during Docker migration for user * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + * + * 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: { @@ -110651,9 +117755,13 @@ export interface operations { }; responses: { /** @description if the user follows the target user */ - 204: never; + 204: { + content: never; + }; /** @description if the user does not follow the target user */ - 404: never; + 404: { + content: never; + }; }; }; /** @@ -110712,7 +117820,7 @@ export interface operations { }; /** * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * @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 via cURL, it would look like this: * @@ -110720,6 +117828,8 @@ export interface operations { * curl -u username:token * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 * ``` + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. */ "users/get-context-for-user": { parameters: { @@ -110795,7 +117905,7 @@ export interface operations { * 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/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + * 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: { @@ -110823,7 +117933,7 @@ export interface operations { * List packages for a user * @description Lists all packages in a user's namespace for which the requesting user has access. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/list-packages-for-user": { parameters: { @@ -110860,7 +117970,7 @@ export interface operations { * Get a package for a user * @description Gets a specific package metadata for a public package owned by a user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-package-for-user": { parameters: { @@ -110883,9 +117993,9 @@ export interface operations { * Delete a package for a user * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/delete-package-for-user": { parameters: { @@ -110897,7 +118007,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -110911,9 +118023,9 @@ export interface operations { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/restore-package-for-user": { parameters: { @@ -110929,7 +118041,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -110939,7 +118053,7 @@ export interface operations { * List package versions for a package owned by a user * @description Lists package versions for a public package owned by a specified user. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-all-package-versions-for-package-owned-by-user": { parameters: { @@ -110965,7 +118079,7 @@ export interface operations { * Get a package version for a user * @description Gets a specific package version for a public package owned by a specified user. * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/get-package-version-for-user": { parameters: { @@ -110989,9 +118103,9 @@ export interface operations { * Delete package version for a user * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/delete-package-version-for-user": { parameters: { @@ -111004,7 +118118,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -111018,9 +118134,9 @@ export interface operations { * - The package was deleted within the last 30 days. * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ "packages/restore-package-version-for-user": { parameters: { @@ -111033,7 +118149,9 @@ export interface operations { }; responses: { /** @description Response */ - 204: never; + 204: { + content: never; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; @@ -111070,7 +118188,7 @@ export interface operations { }; /** * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + * @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. */ "activity/list-received-events-for-user": { parameters: { @@ -111113,7 +118231,7 @@ export interface operations { }; /** * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. + * @description Lists public repositories for the specified user. */ "repos/list-for-user": { parameters: { @@ -111149,7 +118267,7 @@ export interface operations { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ "billing/get-github-actions-billing-user": { parameters: { @@ -111172,7 +118290,7 @@ export interface operations { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ "billing/get-github-packages-billing-user": { parameters: { @@ -111195,7 +118313,7 @@ export interface operations { * * 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. + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. */ "billing/get-shared-storage-billing-user": { parameters: { @@ -111268,7 +118386,9 @@ export interface operations { * List repositories starred by a user * @description Lists repositories a user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * 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: { @@ -111346,7 +118466,7 @@ export interface operations { /** @description Response */ 200: { content: { - "text/plain": string; + "application/json": string; }; }; }; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/LICENSE b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/LICENSE similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/LICENSE rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/LICENSE diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/README.md b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/README.md new file mode 100644 index 0000000000..9ebf695f28 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/README.md @@ -0,0 +1,269 @@ +# plugin-paginate-rest.js + +> Octokit plugin to paginate REST API endpoint responses + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-paginate-rest.svg)](https://www.npmjs.com/package/@octokit/plugin-paginate-rest) +[![Build Status](https://github.com/octokit/plugin-paginate-rest.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-paginate-rest.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-paginate-rest` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-paginate-rest`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + paginateRest, + composePaginateRest, +} = require("@octokit/plugin-paginate-rest"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(paginateRest); +const octokit = new MyOctokit({ auth: "secret123" }); + +// See https://developer.github.com/v3/issues/#list-issues-for-a-repository +const issues = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +If you want to utilize the pagination methods in another plugin, use `composePaginateRest`. + +```js +function myPlugin(octokit, options) { + return { + allStars({owner, repo}) => { + return composePaginateRest( + octokit, + "GET /repos/{owner}/{repo}/stargazers", + {owner, repo } + ) + } + } +} +``` + +## `octokit.paginate()` + +The `paginateRest` plugin adds a new `octokit.paginate()` method which accepts the same parameters as [`octokit.request`](https://github.com/octokit/request.js#request). Only "List ..." endpoints such as [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) are supporting pagination. Their [response includes a Link header](https://developer.github.com/v3/issues/#response-1). For other endpoints, `octokit.paginate()` behaves the same as `octokit.request()`. + +The `per_page` parameter is usually defaulting to `30`, and can be set to up to `100`, which helps retrieving a big amount of data without hitting the rate limits too soon. + +An optional `mapFunction` can be passed to map each page response to a new value, usually an array with only the data you need. This can help to reduce memory usage, as only the relevant data has to be kept in memory until the pagination is complete. + +```js +const issueTitles = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response) => response.data.map((issue) => issue.title), +); +``` + +The `mapFunction` gets a 2nd argument `done` which can be called to end the pagination early. + +```js +const issues = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response, done) => { + if (response.data.find((issue) => issue.title.includes("something"))) { + done(); + } + return response.data; + }, +); +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const issues = await octokit.paginate(octokit.rest.issues.listForRepo, { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +## `octokit.paginate.iterator()` + +If your target runtime environments supports async iterators (such as most modern browsers and Node 10+), you can iterate through each response + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + "GET /repos/{owner}/{repo}/issues", + parameters, +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + octokit.rest.issues.listForRepo, + parameters, +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +## `composePaginateRest` and `composePaginateRest.iterator` + +The `compose*` methods work just like their `octokit.*` counterparts described above, with the differenct that both methods require an `octokit` instance to be passed as first argument + +## How it works + +`octokit.paginate()` wraps `octokit.request()`. As long as a `rel="next"` link value is present in the response's `Link` header, it sends another request for that URL, and so on. + +Most of GitHub's paginating REST API endpoints return an array, but there are a few exceptions which return an object with a key that includes the items array. For example: + +- [Search repositories](https://developer.github.com/v3/search/#example) (key `items`) +- [List check runs for a specific ref](https://developer.github.com/v3/checks/runs/#response-3) (key: `check_runs`) +- [List check suites for a specific ref](https://developer.github.com/v3/checks/suites/#response-1) (key: `check_suites`) +- [List repositories](https://developer.github.com/v3/apps/installations/#list-repositories) for an installation (key: `repositories`) +- [List installations for a user](https://developer.github.com/v3/apps/installations/#response-1) (key `installations`) + +`octokit.paginate()` is working around these inconsistencies so you don't have to worry about it. + +If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. + +## Types + +The plugin also exposes some types and runtime type guards for TypeScript projects. + + + + + + +
+Types + + +```typescript +import { + PaginateInterface, + PaginatingEndpoints, +} from "@octokit/plugin-paginate-rest"; +``` + +
+Guards + + +```typescript +import { isPaginatingEndpoint } from "@octokit/plugin-paginate-rest"; +``` + +
+ +### PaginateInterface + +An `interface` that declares all the overloads of the `.paginate` method. + +### PaginatingEndpoints + +An `interface` which describes all API endpoints supported by the plugin. Some overloads of `.paginate()` method and `composePaginateRest()` function depend on `PaginatingEndpoints`, using the `keyof PaginatingEndpoints` as a type for one of its arguments. + +```typescript +import { Octokit } from "@octokit/core"; +import { + PaginatingEndpoints, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +type DataType = "data" extends keyof T ? T["data"] : unknown; + +async function myPaginatePlugin( + octokit: Octokit, + endpoint: E, + parameters?: PaginatingEndpoints[E]["parameters"], +): Promise> { + return await composePaginateRest(octokit, endpoint, parameters); +} +``` + +### isPaginatingEndpoint + +A type guard, `isPaginatingEndpoint(arg)` returns `true` if `arg` is one of the keys in `PaginatingEndpoints` (is `keyof PaginatingEndpoints`). + +```typescript +import { Octokit } from "@octokit/core"; +import { + isPaginatingEndpoint, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +async function myPlugin(octokit: Octokit, arg: unknown) { + if (isPaginatingEndpoint(arg)) { + return await composePaginateRest(octokit, arg); + } + // ... +} +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js new file mode 100644 index 0000000000..39e36df9f7 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js @@ -0,0 +1,398 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + composePaginateRest: () => composePaginateRest, + isPaginatingEndpoint: () => isPaginatingEndpoint, + paginateRest: () => paginateRest, + paginatingEndpoints: () => paginatingEndpoints +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/version.js +var VERSION = "9.2.2"; + +// pkg/dist-src/normalize-paginated-list-response.js +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} + +// pkg/dist-src/iterator.js +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + url = ((normalizedResponse.headers.link || "").match( + /<([^<>]+)>;\s*rel="next"/ + ) || [])[1]; + return { value: normalizedResponse }; + } catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + }) + }; +} + +// pkg/dist-src/paginate.js +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = void 0; + } + return gather( + octokit, + [], + iterator(octokit, route, parameters)[Symbol.asyncIterator](), + mapFn + ); +} +function gather(octokit, results, iterator2, mapFn) { + return iterator2.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator2, mapFn); + }); +} + +// pkg/dist-src/compose-paginate.js +var composePaginateRest = Object.assign(paginate, { + iterator +}); + +// pkg/dist-src/generated/paginating-endpoints.js +var paginatingEndpoints = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /repositories/{repository_id}/environments/{environment_name}/variables", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions" +]; + +// pkg/dist-src/paginating-endpoints.js +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +// pkg/dist-src/index.js +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + composePaginateRest, + isPaginatingEndpoint, + paginateRest, + paginatingEndpoints +}); diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map new file mode 100644 index 0000000000..b90221e2fb --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/normalize-paginated-list-response.js", "../dist-src/iterator.js", "../dist-src/paginate.js", "../dist-src/compose-paginate.js", "../dist-src/generated/paginating-endpoints.js", "../dist-src/paginating-endpoints.js"], + "sourcesContent": ["import { VERSION } from \"./version.js\";\nimport { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nimport { composePaginateRest } from \"./compose-paginate.js\";\nimport {\n isPaginatingEndpoint,\n paginatingEndpoints\n} from \"./paginating-endpoints.js\";\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\nexport {\n composePaginateRest,\n isPaginatingEndpoint,\n paginateRest,\n paginatingEndpoints\n};\n", "const VERSION = \"9.2.2\";\nexport {\n VERSION\n};\n", "function normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\nexport {\n normalizePaginatedListResponse\n};\n", "import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response.js\";\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n url = ((normalizedResponse.headers.link || \"\").match(\n /<([^<>]+)>;\\s*rel=\"next\"/\n ) || [])[1];\n return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\nexport {\n iterator\n};\n", "import { iterator } from \"./iterator.js\";\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = void 0;\n }\n return gather(\n octokit,\n [],\n iterator(octokit, route, parameters)[Symbol.asyncIterator](),\n mapFn\n );\n}\nfunction gather(octokit, results, iterator2, mapFn) {\n return iterator2.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(\n mapFn ? mapFn(result.value, done) : result.value.data\n );\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator2, mapFn);\n });\n}\nexport {\n paginate\n};\n", "import { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\nexport {\n composePaginateRest\n};\n", "const paginatingEndpoints = [\n \"GET /advisories\",\n \"GET /app/hook/deliveries\",\n \"GET /app/installation-requests\",\n \"GET /app/installations\",\n \"GET /assignments/{assignment_id}/accepted_assignments\",\n \"GET /classrooms\",\n \"GET /classrooms/{classroom_id}/assignments\",\n \"GET /enterprises/{enterprise}/dependabot/alerts\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/actions/variables\",\n \"GET /orgs/{org}/actions/variables/{name}/repositories\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/codespaces/secrets\",\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/copilot/billing/seats\",\n \"GET /orgs/{org}/dependabot/alerts\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/members/{username}/codespaces\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/organization-roles/{role_id}/teams\",\n \"GET /orgs/{org}/organization-roles/{role_id}/users\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/personal-access-token-requests\",\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\",\n \"GET /orgs/{org}/personal-access-tokens\",\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/properties/values\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/rulesets/rule-suites\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\",\n \"GET /repos/{owner}/{repo}/actions/organization-variables\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/variables\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/activity\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/alerts\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/rules/branches/{branch}\",\n \"GET /repos/{owner}/{repo}/rulesets\",\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/security-advisories\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/social_accounts\",\n \"GET /user/ssh_signing_keys\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/social_accounts\",\n \"GET /users/{username}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\"\n];\nexport {\n paginatingEndpoints\n};\n", "import {\n paginatingEndpoints\n} from \"./generated/paginating-endpoints.js\";\nimport { paginatingEndpoints as paginatingEndpoints2 } from \"./generated/paginating-endpoints.js\";\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\nexport {\n isPaginatingEndpoint,\n paginatingEndpoints2 as paginatingEndpoints\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,UAAU;;;ACAhB,SAAS,+BAA+B,UAAU;AAChD,MAAI,CAAC,SAAS,MAAM;AAClB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM,CAAC;AAAA,IACT;AAAA,EACF;AACA,QAAM,6BAA6B,iBAAiB,SAAS,QAAQ,EAAE,SAAS,SAAS;AACzF,MAAI,CAAC;AACH,WAAO;AACT,QAAM,oBAAoB,SAAS,KAAK;AACxC,QAAM,sBAAsB,SAAS,KAAK;AAC1C,QAAM,aAAa,SAAS,KAAK;AACjC,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,QAAM,eAAe,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;AACjD,QAAM,OAAO,SAAS,KAAK,YAAY;AACvC,WAAS,OAAO;AAChB,MAAI,OAAO,sBAAsB,aAAa;AAC5C,aAAS,KAAK,qBAAqB;AAAA,EACrC;AACA,MAAI,OAAO,wBAAwB,aAAa;AAC9C,aAAS,KAAK,uBAAuB;AAAA,EACvC;AACA,WAAS,KAAK,cAAc;AAC5B,SAAO;AACT;;;AC1BA,SAAS,SAAS,SAAS,OAAO,YAAY;AAC5C,QAAM,UAAU,OAAO,UAAU,aAAa,MAAM,SAAS,UAAU,IAAI,QAAQ,QAAQ,SAAS,OAAO,UAAU;AACrH,QAAM,gBAAgB,OAAO,UAAU,aAAa,QAAQ,QAAQ;AACpE,QAAM,SAAS,QAAQ;AACvB,QAAM,UAAU,QAAQ;AACxB,MAAI,MAAM,QAAQ;AAClB,SAAO;AAAA,IACL,CAAC,OAAO,aAAa,GAAG,OAAO;AAAA,MAC7B,MAAM,OAAO;AACX,YAAI,CAAC;AACH,iBAAO,EAAE,MAAM,KAAK;AACtB,YAAI;AACF,gBAAM,WAAW,MAAM,cAAc,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAC7D,gBAAM,qBAAqB,+BAA+B,QAAQ;AAClE,kBAAQ,mBAAmB,QAAQ,QAAQ,IAAI;AAAA,YAC7C;AAAA,UACF,KAAK,CAAC,GAAG,CAAC;AACV,iBAAO,EAAE,OAAO,mBAAmB;AAAA,QACrC,SAAS,OAAO;AACd,cAAI,MAAM,WAAW;AACnB,kBAAM;AACR,gBAAM;AACN,iBAAO;AAAA,YACL,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,SAAS,CAAC;AAAA,cACV,MAAM,CAAC;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACjCA,SAAS,SAAS,SAAS,OAAO,YAAY,OAAO;AACnD,MAAI,OAAO,eAAe,YAAY;AACpC,YAAQ;AACR,iBAAa;AAAA,EACf;AACA,SAAO;AAAA,IACL;AAAA,IACA,CAAC;AAAA,IACD,SAAS,SAAS,OAAO,UAAU,EAAE,OAAO,aAAa,EAAE;AAAA,IAC3D;AAAA,EACF;AACF;AACA,SAAS,OAAO,SAAS,SAAS,WAAW,OAAO;AAClD,SAAO,UAAU,KAAK,EAAE,KAAK,CAAC,WAAW;AACvC,QAAI,OAAO,MAAM;AACf,aAAO;AAAA,IACT;AACA,QAAI,YAAY;AAChB,aAAS,OAAO;AACd,kBAAY;AAAA,IACd;AACA,cAAU,QAAQ;AAAA,MAChB,QAAQ,MAAM,OAAO,OAAO,IAAI,IAAI,OAAO,MAAM;AAAA,IACnD;AACA,QAAI,WAAW;AACb,aAAO;AAAA,IACT;AACA,WAAO,OAAO,SAAS,SAAS,WAAW,KAAK;AAAA,EAClD,CAAC;AACH;;;AC5BA,IAAM,sBAAsB,OAAO,OAAO,UAAU;AAAA,EAClD;AACF,CAAC;;;ACJD,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACvOA,SAAS,qBAAqB,KAAK;AACjC,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,oBAAoB,SAAS,GAAG;AAAA,EACzC,OAAO;AACL,WAAO;AAAA,EACT;AACF;;;APFA,SAAS,aAAa,SAAS;AAC7B,SAAO;AAAA,IACL,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;AAAA,MACpD,UAAU,SAAS,KAAK,MAAM,OAAO;AAAA,IACvC,CAAC;AAAA,EACH;AACF;AACA,aAAa,UAAU;", + "names": [] +} diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js new file mode 100644 index 0000000000..f3a6537aa3 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js @@ -0,0 +1,8 @@ +import { paginate } from "./paginate.js"; +import { iterator } from "./iterator.js"; +const composePaginateRest = Object.assign(paginate, { + iterator +}); +export { + composePaginateRest +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js new file mode 100644 index 0000000000..38bddd3127 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js @@ -0,0 +1,239 @@ +const paginatingEndpoints = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /repositories/{repository_id}/environments/{environment_name}/variables", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions" +]; +export { + paginatingEndpoints +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js new file mode 100644 index 0000000000..02a5b1097b --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js @@ -0,0 +1,22 @@ +import { VERSION } from "./version.js"; +import { paginate } from "./paginate.js"; +import { iterator } from "./iterator.js"; +import { composePaginateRest } from "./compose-paginate.js"; +import { + isPaginatingEndpoint, + paginatingEndpoints +} from "./paginating-endpoints.js"; +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; +export { + composePaginateRest, + isPaginatingEndpoint, + paginateRest, + paginatingEndpoints +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js new file mode 100644 index 0000000000..84a242228c --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js @@ -0,0 +1,38 @@ +import { normalizePaginatedListResponse } from "./normalize-paginated-list-response.js"; +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + url = ((normalizedResponse.headers.link || "").match( + /<([^<>]+)>;\s*rel="next"/ + ) || [])[1]; + return { value: normalizedResponse }; + } catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + }) + }; +} +export { + iterator +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js new file mode 100644 index 0000000000..c1dd74471a --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js @@ -0,0 +1,31 @@ +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} +export { + normalizePaginatedListResponse +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js new file mode 100644 index 0000000000..0e888b99f2 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js @@ -0,0 +1,34 @@ +import { iterator } from "./iterator.js"; +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = void 0; + } + return gather( + octokit, + [], + iterator(octokit, route, parameters)[Symbol.asyncIterator](), + mapFn + ); +} +function gather(octokit, results, iterator2, mapFn) { + return iterator2.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator2, mapFn); + }); +} +export { + paginate +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js new file mode 100644 index 0000000000..f9a110a87e --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js @@ -0,0 +1,15 @@ +import { + paginatingEndpoints +} from "./generated/paginating-endpoints.js"; +import { paginatingEndpoints as paginatingEndpoints2 } from "./generated/paginating-endpoints.js"; +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} +export { + isPaginatingEndpoint, + paginatingEndpoints2 as paginatingEndpoints +}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/version.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-src/version.js rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts new file mode 100644 index 0000000000..484eadb25e --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts @@ -0,0 +1,2 @@ +import type { ComposePaginateInterface } from "./types.js"; +export declare const composePaginateRest: ComposePaginateInterface; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts new file mode 100644 index 0000000000..0ecd0df82a --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts @@ -0,0 +1,1750 @@ +import type { Endpoints } from "@octokit/types"; +export interface PaginatingEndpoints { + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories + */ + "GET /advisories": { + parameters: Endpoints["GET /advisories"]["parameters"]; + response: Endpoints["GET /advisories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": { + parameters: Endpoints["GET /app/hook/deliveries"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app + */ + "GET /app/installation-requests": { + parameters: Endpoints["GET /app/installation-requests"]["parameters"]; + response: Endpoints["GET /app/installation-requests"]["response"]; + }; + /** + * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": { + parameters: Endpoints["GET /app/installations"]["parameters"]; + response: Endpoints["GET /app/installations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment + */ + "GET /assignments/{assignment_id}/accepted_assignments": { + parameters: Endpoints["GET /assignments/{assignment_id}/accepted_assignments"]["parameters"]; + response: Endpoints["GET /assignments/{assignment_id}/accepted_assignments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-classrooms + */ + "GET /classrooms": { + parameters: Endpoints["GET /classrooms"]["parameters"]; + response: Endpoints["GET /classrooms"]["response"]; + }; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom + */ + "GET /classrooms/{classroom_id}/assignments": { + parameters: Endpoints["GET /classrooms/{classroom_id}/assignments"]["parameters"]; + response: Endpoints["GET /classrooms/{classroom_id}/assignments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/dependabot/alerts": { + parameters: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": { + parameters: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events + */ + "GET /events": { + parameters: Endpoints["GET /events"]["parameters"]; + response: Endpoints["GET /events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: Endpoints["GET /gists"]["parameters"]; + response: Endpoints["GET /gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-public-gists + */ + "GET /gists/public": { + parameters: Endpoints["GET /gists/public"]["parameters"]; + response: Endpoints["GET /gists/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-starred-gists + */ + "GET /gists/starred": { + parameters: Endpoints["GET /gists/starred"]["parameters"]; + response: Endpoints["GET /gists/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/comments#list-gist-comments + */ + "GET /gists/{gist_id}/comments": { + parameters: Endpoints["GET /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": { + parameters: Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": { + parameters: Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": { + parameters: Endpoints["GET /installation/repositories"]["parameters"]; + response: Endpoints["GET /installation/repositories"]["response"] & { + data: Endpoints["GET /installation/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: Endpoints["GET /issues"]["parameters"]; + response: Endpoints["GET /issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": { + parameters: Endpoints["GET /licenses"]["parameters"]; + response: Endpoints["GET /licenses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: Endpoints["GET /marketplace_listing/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": { + parameters: Endpoints["GET /networks/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: Endpoints["GET /notifications"]["parameters"]; + response: Endpoints["GET /notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations + */ + "GET /organizations": { + parameters: Endpoints["GET /organizations"]["parameters"]; + response: Endpoints["GET /organizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": { + parameters: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]["data"]["repository_cache_usages"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": { + parameters: Endpoints["GET /orgs/{org}/actions/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-organization-variables + */ + "GET /orgs/{org}/actions/variables": { + parameters: Endpoints["GET /orgs/{org}/actions/variables"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable + */ + "GET /orgs/{org}/actions/variables/{name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": { + parameters: Endpoints["GET /orgs/{org}/blocks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/code-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization + */ + "GET /orgs/{org}/codespaces": { + parameters: Endpoints["GET /orgs/{org}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets + */ + "GET /orgs/{org}/codespaces/secrets": { + parameters: Endpoints["GET /orgs/{org}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-organization + */ + "GET /orgs/{org}/copilot/billing/seats": { + parameters: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"] & { + data: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"]["data"]["seats"]; + }; + }; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization + */ + "GET /orgs/{org}/dependabot/alerts": { + parameters: Endpoints["GET /orgs/{org}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-organization-events + */ + "GET /orgs/{org}/events": { + parameters: Endpoints["GET /orgs/{org}/events"]["parameters"]; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": { + parameters: Endpoints["GET /orgs/{org}/failed_invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": { + parameters: Endpoints["GET /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": { + parameters: Endpoints["GET /orgs/{org}/installations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installations"]["response"] & { + data: Endpoints["GET /orgs/{org}/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": { + parameters: Endpoints["GET /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": { + parameters: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": { + parameters: Endpoints["GET /orgs/{org}/issues"]["parameters"]; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-members + */ + "GET /orgs/{org}/members": { + parameters: Endpoints["GET /orgs/{org}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization + */ + "GET /orgs/{org}/members/{username}/codespaces": { + parameters: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"] & { + data: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-organization-migrations + */ + "GET /orgs/{org}/migrations": { + parameters: Endpoints["GET /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-teams-that-are-assigned-to-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}/teams": { + parameters: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["response"]; + }; + /** + * @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": { + parameters: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": { + parameters: Endpoints["GET /orgs/{org}/outside_collaborators"]["parameters"]; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": { + parameters: Endpoints["GET /orgs/{org}/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "GET /orgs/{org}/personal-access-token-requests": { + parameters: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token + */ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources + */ + "GET /orgs/{org}/personal-access-tokens": { + parameters: Endpoints["GET /orgs/{org}/personal-access-tokens"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to + */ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": { + parameters: Endpoints["GET /orgs/{org}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#list-custom-property-values-for-organization-repositories + */ + "GET /orgs/{org}/properties/values": { + parameters: Endpoints["GET /orgs/{org}/properties/values"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/values"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-public-organization-members + */ + "GET /orgs/{org}/public_members": { + parameters: Endpoints["GET /orgs/{org}/public_members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": { + parameters: Endpoints["GET /orgs/{org}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets + */ + "GET /orgs/{org}/rulesets": { + parameters: Endpoints["GET /orgs/{org}/rulesets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + */ + "GET /orgs/{org}/rulesets/rule-suites": { + parameters: Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization + */ + "GET /orgs/{org}/security-advisories": { + parameters: Endpoints["GET /orgs/{org}/security-advisories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/security-advisories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams + */ + "GET /orgs/{org}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/cards#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": { + parameters: Endpoints["GET /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/collaborators#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": { + parameters: Endpoints["GET /projects/{project_id}/collaborators"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/columns#list-project-columns + */ + "GET /projects/{project_id}/columns": { + parameters: Endpoints["GET /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]["data"]["actions_caches"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets + */ + "GET /repos/{owner}/{repo}/actions/organization-secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-organization-variables + */ + "GET /repos/{owner}/{repo}/actions/organization-variables": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-variables + */ + "GET /repos/{owner}/{repo}/actions/variables": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]["data"]["workflows"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-activities + */ + "GET /repos/{owner}/{repo}/activity": { + parameters: Endpoints["GET /repos/{owner}/{repo}/activity"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/activity"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/assignees#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": { + parameters: Endpoints["GET /repos/{owner}/{repo}/assignees"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + /** + * @see https://docs.github.com/rest/branches/branches#list-branches + */ + "GET /repos/{owner}/{repo}/branches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/branches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]["data"]["devcontainers"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": { + parameters: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/commits#list-commits + */ + "GET /repos/{owner}/{repo}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/commits#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]["data"]["check_suites"]; + }; + }; + /** + * @see https://docs.github.com/rest/commits/statuses#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]["data"]["statuses"]; + }; + }; + /** + * @see https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": { + parameters: Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependabot/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/deployments/deployments#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/deployments/statuses#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/deployments/environments#list-environments + */ + "GET /repos/{owner}/{repo}/environments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]["data"]["environments"]; + }; + }; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#list-deployment-branch-policies + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]["data"]["branch_policies"]; + }; + }; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"]["data"]["available_custom_deployment_protection_rule_integrations"]; + }; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/forks#list-forks + */ + "GET /repos/{owner}/{repo}/forks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/invitations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": { + parameters: Endpoints["GET /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/milestones#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": { + parameters: Endpoints["GET /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": { + parameters: Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/releases/releases#list-releases + */ + "GET /repos/{owner}/{repo}/releases": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/releases/assets#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/rules#get-rules-for-a-branch + */ + "GET /repos/{owner}/{repo}/rules/branches/{branch}": { + parameters: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets + */ + "GET /repos/{owner}/{repo}/rulesets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites": { + parameters: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories + */ + "GET /repos/{owner}/{repo}/security-advisories": { + parameters: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/starring#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/watching#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": { + parameters: Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": { + parameters: Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": { + parameters: Endpoints["GET /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]["data"]["names"]; + }; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-public-repositories + */ + "GET /repositories": { + parameters: Endpoints["GET /repositories"]["parameters"]; + response: Endpoints["GET /repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": { + parameters: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"] & { + data: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-environment-variables + */ + "GET /repositories/{repository_id}/environments/{environment_name}/variables": { + parameters: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["response"] & { + data: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-code + */ + "GET /search/code": { + parameters: Endpoints["GET /search/code"]["parameters"]; + response: Endpoints["GET /search/code"]["response"] & { + data: Endpoints["GET /search/code"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-commits + */ + "GET /search/commits": { + parameters: Endpoints["GET /search/commits"]["parameters"]; + response: Endpoints["GET /search/commits"]["response"] & { + data: Endpoints["GET /search/commits"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: Endpoints["GET /search/issues"]["parameters"]; + response: Endpoints["GET /search/issues"]["response"] & { + data: Endpoints["GET /search/issues"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-labels + */ + "GET /search/labels": { + parameters: Endpoints["GET /search/labels"]["parameters"]; + response: Endpoints["GET /search/labels"]["response"] & { + data: Endpoints["GET /search/labels"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-repositories + */ + "GET /search/repositories": { + parameters: Endpoints["GET /search/repositories"]["parameters"]; + response: Endpoints["GET /search/repositories"]["response"] & { + data: Endpoints["GET /search/repositories"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-topics + */ + "GET /search/topics": { + parameters: Endpoints["GET /search/topics"]["parameters"]; + response: Endpoints["GET /search/topics"]["response"] & { + data: Endpoints["GET /search/topics"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-users + */ + "GET /search/users": { + parameters: Endpoints["GET /search/users"]["parameters"]; + response: Endpoints["GET /search/users"]["response"] & { + data: Endpoints["GET /search/users"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": { + parameters: Endpoints["GET /teams/{team_id}/discussions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": { + parameters: Endpoints["GET /teams/{team_id}/invitations"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members-legacy + */ + "GET /teams/{team_id}/members": { + parameters: Endpoints["GET /teams/{team_id}/members"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": { + parameters: Endpoints["GET /teams/{team_id}/projects"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": { + parameters: Endpoints["GET /teams/{team_id}/repos"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": { + parameters: Endpoints["GET /teams/{team_id}/teams"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": { + parameters: Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": { + parameters: Endpoints["GET /user/codespaces"]["parameters"]; + response: Endpoints["GET /user/codespaces"]["response"] & { + data: Endpoints["GET /user/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": { + parameters: Endpoints["GET /user/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets"]["response"] & { + data: Endpoints["GET /user/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": { + parameters: Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: Endpoints["GET /user/followers"]["parameters"]; + response: Endpoints["GET /user/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": { + parameters: Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": { + parameters: Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": { + parameters: Endpoints["GET /user/installations"]["parameters"]; + response: Endpoints["GET /user/installations"]["response"] & { + data: Endpoints["GET /user/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": { + parameters: Endpoints["GET /user/installations/{installation_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"] & { + data: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: Endpoints["GET /user/issues"]["parameters"]; + response: Endpoints["GET /user/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": { + parameters: Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: Endpoints["GET /user/marketplace_purchases"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: Endpoints["GET /user/marketplace_purchases/stubbed"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": { + parameters: Endpoints["GET /user/memberships/orgs"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/migrations/users#list-user-migrations + */ + "GET /user/migrations": { + parameters: Endpoints["GET /user/migrations"]["parameters"]; + response: Endpoints["GET /user/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/migrations/users#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": { + parameters: Endpoints["GET /user/orgs"]["parameters"]; + response: Endpoints["GET /user/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace + */ + "GET /user/packages": { + parameters: Endpoints["GET /user/packages"]["parameters"]; + response: Endpoints["GET /user/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": { + parameters: Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: Endpoints["GET /user/repos"]["parameters"]; + response: Endpoints["GET /user/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": { + parameters: Endpoints["GET /user/repository_invitations"]["parameters"]; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user + */ + "GET /user/social_accounts": { + parameters: Endpoints["GET /user/social_accounts"]["parameters"]; + response: Endpoints["GET /user/social_accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys": { + parameters: Endpoints["GET /user/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /user/ssh_signing_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: Endpoints["GET /user/starred"]["parameters"]; + response: Endpoints["GET /user/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: Endpoints["GET /user/subscriptions"]["parameters"]; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": { + parameters: Endpoints["GET /user/teams"]["parameters"]; + response: Endpoints["GET /user/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/users#list-users + */ + "GET /users": { + parameters: Endpoints["GET /users"]["parameters"]; + response: Endpoints["GET /users"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": { + parameters: Endpoints["GET /users/{username}/events"]["parameters"]; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": { + parameters: Endpoints["GET /users/{username}/events/orgs/{org}"]["parameters"]; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": { + parameters: Endpoints["GET /users/{username}/events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user + */ + "GET /users/{username}/followers": { + parameters: Endpoints["GET /users/{username}/followers"]["parameters"]; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows + */ + "GET /users/{username}/following": { + parameters: Endpoints["GET /users/{username}/following"]["parameters"]; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": { + parameters: Endpoints["GET /users/{username}/gists"]["parameters"]; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": { + parameters: Endpoints["GET /users/{username}/gpg_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": { + parameters: Endpoints["GET /users/{username}/keys"]["parameters"]; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": { + parameters: Endpoints["GET /users/{username}/orgs"]["parameters"]; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user + */ + "GET /users/{username}/packages": { + parameters: Endpoints["GET /users/{username}/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/projects#list-user-projects + */ + "GET /users/{username}/projects": { + parameters: Endpoints["GET /users/{username}/projects"]["parameters"]; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": { + parameters: Endpoints["GET /users/{username}/received_events"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": { + parameters: Endpoints["GET /users/{username}/received_events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": { + parameters: Endpoints["GET /users/{username}/repos"]["parameters"]; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user + */ + "GET /users/{username}/social_accounts": { + parameters: Endpoints["GET /users/{username}/social_accounts"]["parameters"]; + response: Endpoints["GET /users/{username}/social_accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user + */ + "GET /users/{username}/ssh_signing_keys": { + parameters: Endpoints["GET /users/{username}/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/ssh_signing_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": { + parameters: Endpoints["GET /users/{username}/starred"]["parameters"]; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": { + parameters: Endpoints["GET /users/{username}/subscriptions"]["parameters"]; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; +} +export declare const paginatingEndpoints: (keyof PaginatingEndpoints)[]; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts new file mode 100644 index 0000000000..4a5c6a715a --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts @@ -0,0 +1,15 @@ +import type { Octokit } from "@octokit/core"; +import type { PaginateInterface } from "./types.js"; +export type { PaginateInterface, PaginatingEndpoints } from "./types.js"; +export { composePaginateRest } from "./compose-paginate.js"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints.js"; +/** + * @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/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts new file mode 100644 index 0000000000..70f2fbfa04 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts @@ -0,0 +1,20 @@ +import type { Octokit } from "@octokit/core"; +import type { RequestInterface, RequestParameters, Route } from "./types.js"; +export declare function iterator(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters): { + [Symbol.asyncIterator]: () => { + next(): Promise<{ + done: boolean; + value?: undefined; + } | { + value: import("@octokit/types/dist-types/OctokitResponse.js").OctokitResponse; + done?: undefined; + } | { + value: { + status: number; + headers: {}; + data: never[]; + }; + done?: undefined; + }>; + }; +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts new file mode 100644 index 0000000000..4b15bf004c --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts @@ -0,0 +1,18 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +import type { OctokitResponse } from "./types.js"; +export declare function normalizePaginatedListResponse(response: OctokitResponse): OctokitResponse; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts new file mode 100644 index 0000000000..7ccd3deac5 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts @@ -0,0 +1,3 @@ +import type { Octokit } from "@octokit/core"; +import type { MapFunction, PaginationResults, RequestParameters, Route, RequestInterface } from "./types"; +export declare function paginate(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters, mapFn?: MapFunction): Promise; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts new file mode 100644 index 0000000000..22cd65d880 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts @@ -0,0 +1,3 @@ +import { type PaginatingEndpoints } from "./generated/paginating-endpoints.js"; +export { paginatingEndpoints } from "./generated/paginating-endpoints.js"; +export declare function isPaginatingEndpoint(arg: unknown): arg is keyof PaginatingEndpoints; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts new file mode 100644 index 0000000000..405a6bbc8f --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts @@ -0,0 +1,242 @@ +import { Octokit } from "@octokit/core"; +import * as OctokitTypes from "@octokit/types"; +export type { EndpointOptions, RequestInterface, OctokitResponse, RequestParameters, Route, } from "@octokit/types"; +export type { PaginatingEndpoints } from "./generated/paginating-endpoints.js"; +import type { PaginatingEndpoints } from "./generated/paginating-endpoints.js"; +type KnownKeys = Extract<{ + [K in keyof T]: string extends K ? never : number extends K ? never : K; +} extends { + [_ in keyof T]: infer U; +} ? U : never, keyof T>; +type KeysMatching = { + [K in keyof T]: T[K] extends V ? K : never; +}[keyof T]; +type KnownKeysMatching = KeysMatching>, V>; +type GetResultsType = T extends { + data: any[]; +} ? T["data"] : T extends { + data: object; +} ? T["data"][KnownKeysMatching] : never; +type NormalizeResponse = T & { + data: GetResultsType; +}; +type DataType = "data" extends keyof T ? T["data"] : unknown; +export interface MapFunction>, M = unknown[]> { + (response: T, done: () => void): M; +} +export type PaginationResults = T[]; +export interface PaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} +export interface ComposePaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-types/version.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js new file mode 100644 index 0000000000..8868319eac --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js @@ -0,0 +1,368 @@ +// pkg/dist-src/version.js +var VERSION = "9.2.2"; + +// pkg/dist-src/normalize-paginated-list-response.js +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} + +// pkg/dist-src/iterator.js +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + url = ((normalizedResponse.headers.link || "").match( + /<([^<>]+)>;\s*rel="next"/ + ) || [])[1]; + return { value: normalizedResponse }; + } catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + }) + }; +} + +// pkg/dist-src/paginate.js +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = void 0; + } + return gather( + octokit, + [], + iterator(octokit, route, parameters)[Symbol.asyncIterator](), + mapFn + ); +} +function gather(octokit, results, iterator2, mapFn) { + return iterator2.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator2, mapFn); + }); +} + +// pkg/dist-src/compose-paginate.js +var composePaginateRest = Object.assign(paginate, { + iterator +}); + +// pkg/dist-src/generated/paginating-endpoints.js +var paginatingEndpoints = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /repositories/{repository_id}/environments/{environment_name}/variables", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions" +]; + +// pkg/dist-src/paginating-endpoints.js +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +// pkg/dist-src/index.js +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; +export { + composePaginateRest, + isPaginatingEndpoint, + paginateRest, + paginatingEndpoints +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map new file mode 100644 index 0000000000..7c39bf4c15 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/version.js", "../dist-src/normalize-paginated-list-response.js", "../dist-src/iterator.js", "../dist-src/paginate.js", "../dist-src/compose-paginate.js", "../dist-src/generated/paginating-endpoints.js", "../dist-src/paginating-endpoints.js", "../dist-src/index.js"], + "sourcesContent": ["const VERSION = \"9.2.2\";\nexport {\n VERSION\n};\n", "function normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\nexport {\n normalizePaginatedListResponse\n};\n", "import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response.js\";\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n url = ((normalizedResponse.headers.link || \"\").match(\n /<([^<>]+)>;\\s*rel=\"next\"/\n ) || [])[1];\n return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\nexport {\n iterator\n};\n", "import { iterator } from \"./iterator.js\";\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = void 0;\n }\n return gather(\n octokit,\n [],\n iterator(octokit, route, parameters)[Symbol.asyncIterator](),\n mapFn\n );\n}\nfunction gather(octokit, results, iterator2, mapFn) {\n return iterator2.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(\n mapFn ? mapFn(result.value, done) : result.value.data\n );\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator2, mapFn);\n });\n}\nexport {\n paginate\n};\n", "import { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\nexport {\n composePaginateRest\n};\n", "const paginatingEndpoints = [\n \"GET /advisories\",\n \"GET /app/hook/deliveries\",\n \"GET /app/installation-requests\",\n \"GET /app/installations\",\n \"GET /assignments/{assignment_id}/accepted_assignments\",\n \"GET /classrooms\",\n \"GET /classrooms/{classroom_id}/assignments\",\n \"GET /enterprises/{enterprise}/dependabot/alerts\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/actions/variables\",\n \"GET /orgs/{org}/actions/variables/{name}/repositories\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/codespaces/secrets\",\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/copilot/billing/seats\",\n \"GET /orgs/{org}/dependabot/alerts\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/members/{username}/codespaces\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/organization-roles/{role_id}/teams\",\n \"GET /orgs/{org}/organization-roles/{role_id}/users\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/personal-access-token-requests\",\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\",\n \"GET /orgs/{org}/personal-access-tokens\",\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/properties/values\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/rulesets/rule-suites\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\",\n \"GET /repos/{owner}/{repo}/actions/organization-variables\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/variables\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/activity\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/alerts\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/rules/branches/{branch}\",\n \"GET /repos/{owner}/{repo}/rulesets\",\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/security-advisories\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/social_accounts\",\n \"GET /user/ssh_signing_keys\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/social_accounts\",\n \"GET /users/{username}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\"\n];\nexport {\n paginatingEndpoints\n};\n", "import {\n paginatingEndpoints\n} from \"./generated/paginating-endpoints.js\";\nimport { paginatingEndpoints as paginatingEndpoints2 } from \"./generated/paginating-endpoints.js\";\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\nexport {\n isPaginatingEndpoint,\n paginatingEndpoints2 as paginatingEndpoints\n};\n", "import { VERSION } from \"./version.js\";\nimport { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nimport { composePaginateRest } from \"./compose-paginate.js\";\nimport {\n isPaginatingEndpoint,\n paginatingEndpoints\n} from \"./paginating-endpoints.js\";\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\nexport {\n composePaginateRest,\n isPaginatingEndpoint,\n paginateRest,\n paginatingEndpoints\n};\n"], + "mappings": ";AAAA,IAAM,UAAU;;;ACAhB,SAAS,+BAA+B,UAAU;AAChD,MAAI,CAAC,SAAS,MAAM;AAClB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM,CAAC;AAAA,IACT;AAAA,EACF;AACA,QAAM,6BAA6B,iBAAiB,SAAS,QAAQ,EAAE,SAAS,SAAS;AACzF,MAAI,CAAC;AACH,WAAO;AACT,QAAM,oBAAoB,SAAS,KAAK;AACxC,QAAM,sBAAsB,SAAS,KAAK;AAC1C,QAAM,aAAa,SAAS,KAAK;AACjC,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,QAAM,eAAe,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;AACjD,QAAM,OAAO,SAAS,KAAK,YAAY;AACvC,WAAS,OAAO;AAChB,MAAI,OAAO,sBAAsB,aAAa;AAC5C,aAAS,KAAK,qBAAqB;AAAA,EACrC;AACA,MAAI,OAAO,wBAAwB,aAAa;AAC9C,aAAS,KAAK,uBAAuB;AAAA,EACvC;AACA,WAAS,KAAK,cAAc;AAC5B,SAAO;AACT;;;AC1BA,SAAS,SAAS,SAAS,OAAO,YAAY;AAC5C,QAAM,UAAU,OAAO,UAAU,aAAa,MAAM,SAAS,UAAU,IAAI,QAAQ,QAAQ,SAAS,OAAO,UAAU;AACrH,QAAM,gBAAgB,OAAO,UAAU,aAAa,QAAQ,QAAQ;AACpE,QAAM,SAAS,QAAQ;AACvB,QAAM,UAAU,QAAQ;AACxB,MAAI,MAAM,QAAQ;AAClB,SAAO;AAAA,IACL,CAAC,OAAO,aAAa,GAAG,OAAO;AAAA,MAC7B,MAAM,OAAO;AACX,YAAI,CAAC;AACH,iBAAO,EAAE,MAAM,KAAK;AACtB,YAAI;AACF,gBAAM,WAAW,MAAM,cAAc,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAC7D,gBAAM,qBAAqB,+BAA+B,QAAQ;AAClE,kBAAQ,mBAAmB,QAAQ,QAAQ,IAAI;AAAA,YAC7C;AAAA,UACF,KAAK,CAAC,GAAG,CAAC;AACV,iBAAO,EAAE,OAAO,mBAAmB;AAAA,QACrC,SAAS,OAAO;AACd,cAAI,MAAM,WAAW;AACnB,kBAAM;AACR,gBAAM;AACN,iBAAO;AAAA,YACL,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,SAAS,CAAC;AAAA,cACV,MAAM,CAAC;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACjCA,SAAS,SAAS,SAAS,OAAO,YAAY,OAAO;AACnD,MAAI,OAAO,eAAe,YAAY;AACpC,YAAQ;AACR,iBAAa;AAAA,EACf;AACA,SAAO;AAAA,IACL;AAAA,IACA,CAAC;AAAA,IACD,SAAS,SAAS,OAAO,UAAU,EAAE,OAAO,aAAa,EAAE;AAAA,IAC3D;AAAA,EACF;AACF;AACA,SAAS,OAAO,SAAS,SAAS,WAAW,OAAO;AAClD,SAAO,UAAU,KAAK,EAAE,KAAK,CAAC,WAAW;AACvC,QAAI,OAAO,MAAM;AACf,aAAO;AAAA,IACT;AACA,QAAI,YAAY;AAChB,aAAS,OAAO;AACd,kBAAY;AAAA,IACd;AACA,cAAU,QAAQ;AAAA,MAChB,QAAQ,MAAM,OAAO,OAAO,IAAI,IAAI,OAAO,MAAM;AAAA,IACnD;AACA,QAAI,WAAW;AACb,aAAO;AAAA,IACT;AACA,WAAO,OAAO,SAAS,SAAS,WAAW,KAAK;AAAA,EAClD,CAAC;AACH;;;AC5BA,IAAM,sBAAsB,OAAO,OAAO,UAAU;AAAA,EAClD;AACF,CAAC;;;ACJD,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACvOA,SAAS,qBAAqB,KAAK;AACjC,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,oBAAoB,SAAS,GAAG;AAAA,EACzC,OAAO;AACL,WAAO;AAAA,EACT;AACF;;;ACFA,SAAS,aAAa,SAAS;AAC7B,SAAO;AAAA,IACL,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;AAAA,MACpD,UAAU,SAAS,KAAK,MAAM,OAAO;AAAA,IACvC,CAAC;AAAA,EACH;AACF;AACA,aAAa,UAAU;", + "names": [] +} diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/LICENSE b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE similarity index 100% rename from node_modules/@octokit/request/node_modules/@octokit/types/LICENSE rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/README.md b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md similarity index 97% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/README.md rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md index c48ce4246a..7ebe154a1a 100644 --- a/node_modules/@octokit/request-error/node_modules/@octokit/types/README.md +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md @@ -32,7 +32,7 @@ type listUserReposParameters = type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; async function listRepos( - options: listUserReposParameters + options: listUserReposParameters, ): listUserReposResponse["data"] { // ... } diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts similarity index 82% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/AuthInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts index 8b39d61280..616d6d57d1 100644 --- a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/AuthInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -1,8 +1,8 @@ -import { EndpointOptions } from "./EndpointOptions"; -import { OctokitResponse } from "./OctokitResponse"; -import { RequestInterface } from "./RequestInterface"; -import { RequestParameters } from "./RequestParameters"; -import { Route } from "./Route"; +import type { EndpointOptions } from "./EndpointOptions"; +import type { OctokitResponse } from "./OctokitResponse"; +import type { RequestInterface } from "./RequestInterface"; +import type { RequestParameters } from "./RequestParameters"; +import type { Route } from "./Route"; /** * Interface to implement complex authentication strategies for Octokit. * An object Implementing the AuthInterface can directly be passed as the diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts similarity index 66% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts index ccd453a720..3bbc388902 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -1,7 +1,7 @@ -import { RequestHeaders } from "./RequestHeaders"; -import { RequestMethod } from "./RequestMethod"; -import { RequestParameters } from "./RequestParameters"; -import { Url } from "./Url"; +import type { RequestHeaders } from "./RequestHeaders"; +import type { RequestMethod } from "./RequestMethod"; +import type { RequestParameters } from "./RequestParameters"; +import type { Url } from "./Url"; /** * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters * as well as the method property. diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts similarity index 92% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts index d7b4009245..184bf7361f 100644 --- a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -1,8 +1,8 @@ -import { EndpointDefaults } from "./EndpointDefaults"; -import { RequestOptions } from "./RequestOptions"; -import { RequestParameters } from "./RequestParameters"; -import { Route } from "./Route"; -import { Endpoints } from "./generated/Endpoints"; +import type { EndpointDefaults } from "./EndpointDefaults"; +import type { RequestOptions } from "./RequestOptions"; +import type { RequestParameters } from "./RequestParameters"; +import type { Route } from "./Route"; +import type { Endpoints } from "./generated/Endpoints"; export interface EndpointInterface { /** * Transforms a GitHub REST API endpoint into generic request options diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000000..e77168eac0 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import type { RequestMethod } from "./RequestMethod"; +import type { Url } from "./Url"; +import type { RequestParameters } from "./RequestParameters"; +export type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Fetch.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts similarity index 65% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts index 8686e7f94e..bc6ab10999 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -1,6 +1,6 @@ -import { ResponseHeaders } from "./ResponseHeaders"; -import { Url } from "./Url"; -export type OctokitResponse = { +import type { ResponseHeaders } from "./ResponseHeaders"; +import type { Url } from "./Url"; +export interface OctokitResponse { headers: ResponseHeaders; /** * http response code @@ -14,4 +14,4 @@ export type OctokitResponse = { * 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/plugin-retry/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestError.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestError.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestError.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts similarity index 83% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts index 851811ff8f..cc757e4c42 100644 --- a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -1,8 +1,8 @@ -import { EndpointInterface } from "./EndpointInterface"; -import { OctokitResponse } from "./OctokitResponse"; -import { RequestParameters } from "./RequestParameters"; -import { Route } from "./Route"; -import { Endpoints } from "./generated/Endpoints"; +import type { EndpointInterface } from "./EndpointInterface"; +import type { OctokitResponse } from "./OctokitResponse"; +import type { RequestParameters } from "./RequestParameters"; +import type { Route } from "./Route"; +import type { Endpoints } from "./generated/Endpoints"; export interface RequestInterface { /** * Sends a request based on endpoint options diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestMethod.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts similarity index 52% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestOptions.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts index f83f5ab074..b799c0f8ea 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestOptions.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -1,7 +1,7 @@ -import { RequestHeaders } from "./RequestHeaders"; -import { RequestMethod } from "./RequestMethod"; -import { RequestRequestOptions } from "./RequestRequestOptions"; -import { Url } from "./Url"; +import type { RequestHeaders } from "./RequestHeaders"; +import type { RequestMethod } from "./RequestMethod"; +import type { RequestRequestOptions } from "./RequestRequestOptions"; +import type { Url } from "./Url"; /** * Generic request options as they are returned by the `endpoint()` method */ diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts similarity index 91% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestParameters.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts index 3bc6e979b7..e212478762 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestParameters.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -1,6 +1,6 @@ -import { RequestRequestOptions } from "./RequestRequestOptions"; -import { RequestHeaders } from "./RequestHeaders"; -import { Url } from "./Url"; +import type { RequestRequestOptions } from "./RequestRequestOptions"; +import type { RequestHeaders } from "./RequestHeaders"; +import type { Url } from "./Url"; /** * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods */ diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts similarity index 56% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts index b875b7e233..0e4d269a27 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -1,15 +1,9 @@ -import { Fetch } from "./Fetch"; -import { Signal } from "./Signal"; +import type { Fetch } from "./Fetch"; +import type { Signal } from "./Signal"; /** * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled */ export type RequestRequestOptions = { - /** - * 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. */ @@ -19,8 +13,8 @@ export type RequestRequestOptions = { */ 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. + * If set to `false`, the response body will not be parsed and will be returned as a stream. */ - timeout?: number; + parseSuccessResponseBody?: boolean; [option: string]: any; }; diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts similarity index 92% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts index ff7af38947..7b5bf53b28 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -10,6 +10,7 @@ export type ResponseHeaders = { server?: string; status?: string; vary?: string; + "x-accepted-github-permissions"?: string; "x-github-mediatype"?: string; "x-github-request-id"?: string; "x-oauth-scopes"?: string; diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Route.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Signal.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts similarity index 79% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts index 405cbd2353..6b213abacc 100644 --- a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -1,4 +1,4 @@ -import { AuthInterface } from "./AuthInterface"; +import type { AuthInterface } from "./AuthInterface"; export interface StrategyInterface { (...args: StrategyOptions): AuthInterface; } diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts similarity index 100% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/Url.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000000..9aba19e69d --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "12.6.0"; diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts similarity index 63% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts index 7ad302f1bc..db283bc010 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -1,7 +1,14 @@ -import { paths } from "@octokit/openapi-types"; -import { OctokitResponse } from "../OctokitResponse"; -import { RequestHeaders } from "../RequestHeaders"; -import { RequestRequestOptions } from "../RequestRequestOptions"; +import type { paths } from "@octokit/openapi-types"; +import type { OctokitResponse } from "../OctokitResponse"; +import type { RequestHeaders } from "../RequestHeaders"; +import type { RequestRequestOptions } from "../RequestRequestOptions"; +/** + * @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 UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ [K in keyof T["parameters"]]-?: T["parameters"][K]; @@ -17,26 +24,26 @@ type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends k } : {}; type ToOctokitParameters = ExtractParameters & ExtractRequestBody>; type Operation = { - parameters: ToOctokitParameters; - request: { - method: Method extends keyof MethodsMap ? MethodsMap[Method] : never; + parameters: Simplify>; + request: Method extends ReadOnlyMethods ? { + method: Method extends string ? Uppercase : never; url: Url; headers: RequestHeaders; request: RequestRequestOptions; + } : { + method: Method extends string ? Uppercase : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + data: ExtractRequestBody; }; response: ExtractOctokitResponse; }; -type MethodsMap = { - delete: "DELETE"; - get: "GET"; - patch: "PATCH"; - post: "POST"; - put: "PUT"; -}; -type SuccessStatuses = 200 | 201 | 202 | 204; +type ReadOnlyMethods = "get" | "head"; +type SuccessStatuses = 200 | 201 | 202 | 204 | 205; type RedirectStatuses = 301 | 302; -type EmptyResponseStatuses = 201 | 204; -type KnownJsonResponseTypes = "application/json" | "application/scim+json" | "text/html"; +type EmptyResponseStatuses = 201 | 204 | 205; +type KnownJsonResponseTypes = "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]; @@ -53,75 +60,71 @@ type DataType = { 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 + * @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/reference/apps#unsuspend-an-app-installation + * @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/reference/apps#delete-an-app-authorization + * @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/reference/apps#delete-an-app-token + * @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/reference/gists#delete-a-gist + * @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/reference/gists#delete-a-gist-comment + * @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/reference/gists#unstar-a-gist + * @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/reference/apps#revoke-an-installation-access-token + * @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/reference/activity#delete-a-thread-subscription + * @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 + * @see https://docs.github.com/rest/orgs/orgs#delete-an-organization */ "DELETE /orgs/{org}": Operation<"/orgs/{org}", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization + * @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/reference/actions#delete-a-required-workflow - */ - "DELETE /orgs/{org}/actions/required_workflows/{required_workflow_id}": Operation<"/orgs/{org}/actions/required_workflows/{required_workflow_id}", "delete">; - /** - * @see https://docs.github.com/rest/reference/actions#remove-a-repository-from-selected-repositories-list-for-a-required-workflow - */ - "DELETE /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization + * @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/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization + * @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/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization + * @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/reference/actions#delete-an-organization-secret + * @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/reference/actions#remove-selected-repository-from-an-organization-secret + * @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">; /** @@ -133,51 +136,59 @@ export interface Endpoints { */ "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/reference/orgs#unblock-a-user-from-an-organization + * @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/reference/codespaces#delete-codespaces-billing-users + * @see https://docs.github.com/rest/codespaces/organizations#remove-users-from-codespaces-access-for-an-organization */ - "DELETE /orgs/{org}/codespaces/billing/selected_users": Operation<"/orgs/{org}/codespaces/billing/selected_users", "delete">; + "DELETE /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "delete">; /** - * @see https://docs.github.com/rest/reference/codespaces#delete-an-organization-secret + * @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/reference/codespaces#remove-selected-repository-from-an-organization-secret + * @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/reference/dependabot#delete-an-organization-secret + * @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/reference/dependabot#remove-selected-repository-from-an-organization-secret + * @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/reference/orgs#delete-an-organization-webhook + * @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/reference/interactions#remove-interaction-restrictions-for-an-organization + * @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/reference/orgs#cancel-an-organization-invitation + * @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/reference/orgs#remove-an-organization-member + * @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/reference/codespaces + * @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/reference/orgs#remove-organization-membership-for-a-user + * @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">; /** @@ -189,83 +200,107 @@ export interface Endpoints { */ "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 + * @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/organization-roles#delete-a-custom-organization-role + */ + "DELETE /orgs/{org}/organization-roles/{role_id}": Operation<"/orgs/{org}/organization-roles/{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/reference/packages#delete-a-package-for-an-organization + * @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/reference/packages#delete-a-package-version-for-an-organization + * @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/reference/orgs#remove-public-organization-membership-for-the-authenticated-user + * @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/repos/rules#delete-organization-ruleset + * @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/reference/orgs#remove-a-security-manager-team + * @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/reference/teams#delete-a-team + * @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/reference/teams#delete-a-discussion + * @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/reference/teams#delete-a-discussion-comment + * @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/reference/reactions#delete-team-discussion-comment-reaction + * @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/reference/reactions#delete-team-discussion-reaction + * @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/reference/teams#remove-team-membership-for-a-user + * @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/reference/teams#remove-a-project-from-a-team + * @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/reference/teams/#remove-a-repository-from-a-team + * @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/reference/projects#delete-a-project-card + * @see https://docs.github.com/rest/projects/cards#delete-a-project-card */ "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/projects#delete-a-project-column + * @see https://docs.github.com/rest/projects/columns#delete-a-project-column */ "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/projects#delete-a-project + * @see https://docs.github.com/rest/projects/projects#delete-a-project */ "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/projects#remove-project-collaborator + * @see https://docs.github.com/rest/projects/collaborators#remove-user-as-a-collaborator */ "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; /** - * @see https://docs.github.com/rest/reference/repos#delete-a-repository + * @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/reference/actions#delete-an-artifact + * @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">; /** @@ -277,27 +312,27 @@ export interface Endpoints { */ "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 + * @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/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository + * @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/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository + * @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/reference/actions#delete-a-workflow-run + * @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/reference/actions#delete-workflow-run-logs + * @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/reference/actions#delete-a-repository-secret + * @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">; /** @@ -309,7 +344,7 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/repos/repos#disable-automated-security-fixes */ "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; /** @@ -353,11 +388,11 @@ export interface Endpoints { */ "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 + * @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/reference/codespaces#delete-a-repository-secret + * @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">; /** @@ -369,15 +404,15 @@ export interface Endpoints { */ "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 + * @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/reference/repos#delete-a-file + * @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/reference/dependabot#delete-a-repository-secret + * @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">; /** @@ -389,19 +424,19 @@ export interface Endpoints { */ "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-deployment-branch-policy + * @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-deployment-protection-rule + * @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/reference/git#delete-a-reference + * @see https://docs.github.com/rest/git/refs#delete-a-reference */ "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; /** - * @see https://docs.github.com/rest/webhooks/repos#delete-a-repository-webhook + * @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">; /** @@ -409,7 +444,7 @@ export interface Endpoints { */ "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 + * @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">; /** @@ -417,11 +452,11 @@ export interface Endpoints { */ "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 + * @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/reference/reactions#delete-an-issue-comment-reaction + * @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">; /** @@ -429,87 +464,87 @@ export interface Endpoints { */ "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 + * @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/reference/issues#remove-a-label-from-an-issue + * @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/reference/issues#unlock-an-issue + * @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/reference/reactions#delete-an-issue-reaction + * @see https://docs.github.com/rest/reactions/reactions#delete-an-issue-reaction */ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; /** - * @see https://docs.github.com/rest/deploy-keys#delete-a-deploy-key + * @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/reference/issues#delete-a-label + * @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/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 + * @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#delete-a-github-pages-site + * @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/reference/pulls#delete-a-review-comment-for-a-pull-request + * @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/reference/reactions#delete-a-pull-request-comment-reaction + * @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/reference/pulls#remove-requested-reviewers-from-a-pull-request + * @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/reference/pulls#delete-a-pending-review-for-a-pull-request + * @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/reference/repos#delete-a-release-asset + * @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/reference/repos#delete-a-release + * @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/reference/reactions/#delete-a-release-reaction + * @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-repository-ruleset + * @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/reference/activity#delete-a-repository-subscription + * @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/reference/repos#delete-tag-protection-state-for-a-repository + * @see https://docs.github.com/rest/repos/tags#delete-a-tag-protection-state-for-a-repository */ "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/repos#disable-vulnerability-alerts + * @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/reference/actions#delete-an-environment-secret + * @see https://docs.github.com/rest/actions/secrets#delete-an-environment-secret */ "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; /** @@ -517,71 +552,71 @@ export interface Endpoints { */ "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "delete">; /** - * @see https://docs.github.com/rest/reference/teams/#delete-a-team-legacy + * @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/reference/teams#delete-a-discussion-legacy + * @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/reference/teams#delete-a-discussion-comment-legacy + * @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/reference/teams#remove-team-member-legacy + * @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/reference/teams#remove-team-membership-for-a-user-legacy + * @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/reference/teams/#remove-a-project-from-a-team-legacy + * @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/reference/teams/#remove-a-repository-from-a-team-legacy + * @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/reference/users#unblock-a-user + * @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/reference/codespaces#delete-a-secret-for-the-authenticated-user + * @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/reference/codespaces#remove-a-selected-repository-from-a-user-secret + * @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/reference/codespaces#delete-a-codespace-for-the-authenticated-user + * @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/reference/users#delete-an-email-address-for-the-authenticated-user + * @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/reference/users#unfollow-a-user + * @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/reference/users#delete-a-gpg-key-for-the-authenticated-user + * @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/reference/apps#remove-a-repository-from-an-app-installation + * @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/reference/interactions#remove-interaction-restrictions-from-your-public-repositories + * @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/reference/users#delete-a-public-ssh-key-for-the-authenticated-user + * @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">; /** @@ -593,11 +628,11 @@ export interface Endpoints { */ "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 + * @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/reference/packages#delete-a-package-version-for-the-authenticated-user + * @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">; /** @@ -605,71 +640,103 @@ export interface Endpoints { */ "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; /** - * @see https://docs.github.com/rest/users/social-accounts#delete-social-account-for-authenticated-user + * @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/reference/users#delete-a-ssh-signing-key-for-the-authenticated-user + * @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/reference/activity#unstar-a-repository-for-the-authenticated-user + * @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/reference/packages#delete-a-package-for-a-user + * @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/reference/packages#delete-a-package-version-for-a-user + * @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/overview/resources-in-the-rest-api#root-endpoint + * @see https://docs.github.com/rest/meta/meta#github-api-root */ "GET /": Operation<"/", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-the-authenticated-app + * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories + */ + "GET /advisories": Operation<"/advisories", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory + */ + "GET /advisories/{ghsa_id}": Operation<"/advisories/{ghsa_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-the-authenticated-app */ "GET /app": Operation<"/app", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-webhook-configuration-for-an-app + * @see https://docs.github.com/rest/apps/webhooks#get-a-webhook-configuration-for-an-app */ "GET /app/hook/config": Operation<"/app/hook/config", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook */ "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-delivery-for-an-app-webhook + * @see https://docs.github.com/rest/apps/webhooks#get-a-delivery-for-an-app-webhook */ "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-installation-requests-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app */ "GET /app/installation-requests": Operation<"/app/installation-requests", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app + * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app */ "GET /app/installations": Operation<"/app/installations", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-an-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#get-an-installation-for-the-authenticated-app */ "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps/#get-an-app + * @see https://docs.github.com/rest/apps/apps#get-an-app */ "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; /** - * @see https://docs.github.com/rest/reference/codes-of-conduct#get-all-codes-of-conduct + * @see https://docs.github.com/rest/classroom/classroom#get-an-assignment + */ + "GET /assignments/{assignment_id}": Operation<"/assignments/{assignment_id}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment + */ + "GET /assignments/{assignment_id}/accepted_assignments": Operation<"/assignments/{assignment_id}/accepted_assignments", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-assignment-grades + */ + "GET /assignments/{assignment_id}/grades": Operation<"/assignments/{assignment_id}/grades", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-classrooms + */ + "GET /classrooms": Operation<"/classrooms", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-a-classroom + */ + "GET /classrooms/{classroom_id}": Operation<"/classrooms/{classroom_id}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom + */ + "GET /classrooms/{classroom_id}/assignments": Operation<"/classrooms/{classroom_id}/assignments", "get">; + /** + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-all-codes-of-conduct */ "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; /** - * @see https://docs.github.com/rest/reference/codes-of-conduct#get-a-code-of-conduct + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-a-code-of-conduct */ "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; /** - * @see https://docs.github.com/rest/reference/emojis#get-emojis + * @see https://docs.github.com/rest/emojis/emojis#get-emojis */ "GET /emojis": Operation<"/emojis", "get">; /** @@ -677,164 +744,148 @@ export interface Endpoints { */ "GET /enterprises/{enterprise}/dependabot/alerts": Operation<"/enterprises/{enterprise}/dependabot/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-enterprise */ "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-events + * @see https://docs.github.com/rest/activity/events#list-public-events */ "GET /events": Operation<"/events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-feeds + * @see https://docs.github.com/rest/activity/feeds#get-feeds */ "GET /feeds": Operation<"/feeds", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user + * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user */ "GET /gists": Operation<"/gists", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-public-gists + * @see https://docs.github.com/rest/gists/gists#list-public-gists */ "GET /gists/public": Operation<"/gists/public", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-starred-gists + * @see https://docs.github.com/rest/gists/gists#list-starred-gists */ "GET /gists/starred": Operation<"/gists/starred", "get">; /** - * @see https://docs.github.com/rest/reference/gists#get-a-gist + * @see https://docs.github.com/rest/gists/gists#get-a-gist */ "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gist-comments + * @see https://docs.github.com/rest/gists/comments#list-gist-comments */ "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/gists#get-a-gist-comment + * @see https://docs.github.com/rest/gists/comments#get-a-gist-comment */ "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gist-commits + * @see https://docs.github.com/rest/gists/gists#list-gist-commits */ "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gist-forks + * @see https://docs.github.com/rest/gists/gists#list-gist-forks */ "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; /** - * @see https://docs.github.com/rest/reference/gists#check-if-a-gist-is-starred + * @see https://docs.github.com/rest/gists/gists#check-if-a-gist-is-starred */ "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; /** - * @see https://docs.github.com/rest/reference/gists#get-a-gist-revision + * @see https://docs.github.com/rest/gists/gists#get-a-gist-revision */ "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; /** - * @see https://docs.github.com/rest/reference/gitignore#get-all-gitignore-templates + * @see https://docs.github.com/rest/gitignore/gitignore#get-all-gitignore-templates */ "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; /** - * @see https://docs.github.com/rest/reference/gitignore#get-a-gitignore-template + * @see https://docs.github.com/rest/gitignore/gitignore#get-a-gitignore-template */ "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation */ "GET /installation/repositories": Operation<"/installation/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user */ "GET /issues": Operation<"/issues", "get">; /** - * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses + * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses */ "GET /licenses": Operation<"/licenses", "get">; /** - * @see https://docs.github.com/rest/reference/licenses#get-a-license + * @see https://docs.github.com/rest/licenses/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 + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account */ "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-plans + * @see https://docs.github.com/rest/apps/marketplace#list-plans */ "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan */ "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account-stubbed */ "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed */ "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed */ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; /** - * @see https://docs.github.com/rest/reference/meta#get-github-meta-information + * @see https://docs.github.com/rest/meta/meta#get-apiname-meta-information */ "GET /meta": Operation<"/meta", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories */ "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user */ "GET /notifications": Operation<"/notifications", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-a-thread + * @see https://docs.github.com/rest/activity/notifications#get-a-thread */ "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user */ "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; /** - * @see https://docs.github.com/rest/reference/meta#get-octocat + * @see https://docs.github.com/rest/meta/meta#get-octocat */ "GET /octocat": Operation<"/octocat", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organizations + * @see https://docs.github.com/rest/orgs/orgs#list-organizations */ "GET /organizations": Operation<"/organizations", "get">; /** - * @see https://docs.github.com/rest/orgs/orgs#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens - */ - "GET /organizations/{org}/personal-access-token-requests": Operation<"/organizations/{org}/personal-access-token-requests", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token - */ - "GET /organizations/{org}/personal-access-token-requests/{pat_request_id}/repositories": Operation<"/organizations/{org}/personal-access-token-requests/{pat_request_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-fine-grained-personal-access-tokens-with-access-to-organization-resources - */ - "GET /organizations/{org}/personal-access-tokens": Operation<"/organizations/{org}/personal-access-tokens", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-repositories-a-fine-grained-personal-access-token-has-access-to - */ - "GET /organizations/{org}/personal-access-tokens/{pat_id}/repositories": Operation<"/organizations/{org}/personal-access-tokens/{pat_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization * @deprecated "org_id" is now "org" */ "GET /orgs/{org_id}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-an-organization + * @see https://docs.github.com/rest/orgs/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 + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-an-organization */ "GET /orgs/{org}/actions/cache/usage": Operation<"/orgs/{org}/actions/cache/usage", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization + * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization */ "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; /** @@ -842,63 +893,51 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-an-organization */ "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization */ "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization */ "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-an-organization */ "GET /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-required-workflows - */ - "GET /orgs/{org}/actions/required_workflows": Operation<"/orgs/{org}/actions/required_workflows", "get">; - /** - * @see https://docs.github.com/rest/reference/actions#get-a-required-workflow - */ - "GET /orgs/{org}/actions/required_workflows/{required_workflow_id}": Operation<"/orgs/{org}/actions/required_workflows/{required_workflow_id}", "get">; - /** - * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-required-workflows - */ - "GET /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories": Operation<"/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization */ "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-an-organization */ "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-an-organization */ "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-an-organization */ "GET /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets */ "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-organization-public-key + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-public-key */ "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-organization-secret + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-secret */ "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret */ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; /** @@ -914,127 +953,139 @@ export interface Endpoints { */ "GET /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization */ "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization + * @see https://docs.github.com/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization */ "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-an-organization + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization */ "GET /orgs/{org}/code-scanning/alerts": Operation<"/orgs/{org}/code-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization */ "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-organization-secrets + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets */ "GET /orgs/{org}/codespaces/secrets": Operation<"/orgs/{org}/codespaces/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-an-organization-public-key + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key */ "GET /orgs/{org}/codespaces/secrets/public-key": Operation<"/orgs/{org}/codespaces/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-an-organization-secret + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-secret */ "GET /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-an-organization-secret + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret */ "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-information-and-settings-for-an-organization + */ + "GET /orgs/{org}/copilot/billing": Operation<"/orgs/{org}/copilot/billing", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-organization + */ + "GET /orgs/{org}/copilot/billing/seats": Operation<"/orgs/{org}/copilot/billing/seats", "get">; /** * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization */ "GET /orgs/{org}/dependabot/alerts": Operation<"/orgs/{org}/dependabot/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets + * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets */ "GET /orgs/{org}/dependabot/secrets": Operation<"/orgs/{org}/dependabot/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key */ "GET /orgs/{org}/dependabot/secrets/public-key": Operation<"/orgs/{org}/dependabot/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-secret + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-secret */ "GET /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret + * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret */ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-docker-migration-conflicting-packages-for-organization + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-organization */ "GET /orgs/{org}/docker/conflicts": Operation<"/orgs/{org}/docker/conflicts", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + * @see https://docs.github.com/rest/activity/events#list-public-organization-events */ "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations + * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations */ "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks */ "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-an-organization-webhook + * @see https://docs.github.com/rest/orgs/webhooks#get-an-organization-webhook */ "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-configuration-for-an-organization + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization */ "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook */ "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook */ "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#get-an-organization-installation-for-the-authenticated-app */ "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization + * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization */ "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; /** - * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization + * @see https://docs.github.com/rest/interactions/orgs#get-interaction-restrictions-for-an-organization */ "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations */ "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams */ "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user */ "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-members + * @see https://docs.github.com/rest/orgs/members#list-organization-members */ "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user + * @see https://docs.github.com/rest/orgs/members#check-organization-membership-for-a-user */ "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-codespaces-for-user-in-org + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization */ "GET /orgs/{org}/members/{username}/codespaces": Operation<"/orgs/{org}/members/{username}/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-assignment-details-for-a-user + */ + "GET /orgs/{org}/members/{username}/copilot": Operation<"/orgs/{org}/members/{username}/copilot", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user */ "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; /** @@ -1054,195 +1105,243 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/orgs/organization-roles#list-organization-fine-grained-permissions-for-an-organization + */ + "GET /orgs/{org}/organization-fine-grained-permissions": Operation<"/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": Operation<"/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}": Operation<"/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": Operation<"/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": Operation<"/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": Operation<"/orgs/{org}/outside_collaborators", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization */ "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-for-an-organization + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-an-organization */ "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/packages#get-all-package-versions-for-a-package-owned-by-an-organization + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization */ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-an-organization + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-an-organization */ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-organization-projects + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "GET /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token + */ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources + */ + "GET /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to + */ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#list-organization-projects */ "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + * @see https://docs.github.com/rest/orgs/custom-properties#get-all-custom-properties-for-an-organization + */ + "GET /orgs/{org}/properties/schema": Operation<"/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}": Operation<"/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": Operation<"/orgs/{org}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-public-organization-members */ "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user + * @see https://docs.github.com/rest/orgs/members#check-public-organization-membership-for-a-user */ "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-organization-repositories + * @see https://docs.github.com/rest/repos/repos#list-organization-repositories */ "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; /** - * @see https://docs.github.com/rest/repos/rules#get-organization-rulesets + * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets */ "GET /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "get">; /** - * @see https://docs.github.com/rest/repos/rules#get-organization-ruleset + * @see https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + */ + "GET /orgs/{org}/rulesets/rule-suites": Operation<"/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}": Operation<"/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}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization */ "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-security-manager-teams + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization + */ + "GET /orgs/{org}/security-advisories": Operation<"/orgs/{org}/security-advisories", "get">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams */ "GET /orgs/{org}/security-managers": Operation<"/orgs/{org}/security-managers", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-organization + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-an-organization */ "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-organization + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-an-organization */ "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-organization + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-an-organization */ "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-teams + * @see https://docs.github.com/rest/teams/teams#list-teams */ "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-team-by-name + * @see https://docs.github.com/rest/teams/teams#get-a-team-by-name */ "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussions + * @see https://docs.github.com/rest/teams/discussions#list-discussions */ "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations */ "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-members + * @see https://docs.github.com/rest/teams/members#list-team-members */ "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user */ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-projects + * @see https://docs.github.com/rest/teams/teams#list-team-projects */ "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project */ "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-repositories + * @see https://docs.github.com/rest/teams/teams#list-team-repositories */ "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository */ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-child-teams + * @see https://docs.github.com/rest/teams/teams#list-child-teams */ "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-a-project-card + * @see https://docs.github.com/rest/projects/cards#get-a-project-card */ "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-a-project-column + * @see https://docs.github.com/rest/projects/columns#get-a-project-column */ "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-project-cards + * @see https://docs.github.com/rest/projects/cards#list-project-cards */ "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-a-project + * @see https://docs.github.com/rest/projects/projects#get-a-project */ "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + * @see https://docs.github.com/rest/projects/collaborators#list-project-collaborators */ "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user + * @see https://docs.github.com/rest/projects/collaborators#get-project-permission-for-a-user */ "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-project-columns + * @see https://docs.github.com/rest/projects/columns#list-project-columns */ "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; /** - * @see https://docs.github.com/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user + * @see https://docs.github.com/rest/rate-limit/rate-limit#get-rate-limit-status-for-the-authenticated-user */ "GET /rate_limit": Operation<"/rate_limit", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-repository-required-workflows - */ - "GET /repos/{org}/{repo}/actions/required_workflows": Operation<"/repos/{org}/{repo}/actions/required_workflows", "get">; - /** - * @see https://docs.github.com/rest/reference/actions#get-repository-required-workflow - */ - "GET /repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}": Operation<"/repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}", "get">; - /** - * @see https://docs.github.com/rest/reference/actions#get-repository-required-workflow-usage - */ - "GET /repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/timing": Operation<"/repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/timing", "get">; - /** - * @see https://docs.github.com/rest/reference/repos#get-a-repository + * @see https://docs.github.com/rest/repos/repos#get-a-repository */ "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository */ "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-artifact + * @see https://docs.github.com/rest/actions/artifacts#get-an-artifact */ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-an-artifact + * @see https://docs.github.com/rest/actions/artifacts#download-an-artifact */ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-a-repository + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-a-repository */ "GET /repos/{owner}/{repo}/actions/cache/usage": Operation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; /** @@ -1250,11 +1349,11 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; /** @@ -1270,95 +1369,91 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/actions/organization-variables": Operation<"/repos/{owner}/{repo}/actions/organization-variables", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-workflow-access-level-to-a-repository + * @see https://docs.github.com/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository */ "GET /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-a-repository + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-required-workflow-runs - */ - "GET /repos/{owner}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/runs": Operation<"/repos/{owner}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/runs", "get">; - /** - * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-the-review-history-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run-attempt + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run-attempt */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-workflow-run-attempt-logs + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-attempt-logs */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-workflow-run-logs + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-logs */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-pending-deployments-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-runs#get-pending-deployments-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-workflow-run-usage + * @see https://docs.github.com/rest/actions/workflow-runs#get-workflow-run-usage */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets */ "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-repository-public-key + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-public-key */ "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-repository-secret + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-secret */ "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; /** @@ -1370,37 +1465,45 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows */ "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-workflow + * @see https://docs.github.com/rest/actions/workflows#get-a-workflow */ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow */ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-workflow-usage + * @see https://docs.github.com/rest/actions/workflows#get-workflow-usage */ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-assignees + * @see https://docs.github.com/rest/repos/repos#list-repository-activities + */ + "GET /repos/{owner}/{repo}/activity": Operation<"/repos/{owner}/{repo}/activity", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#list-assignees */ "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; /** - * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned */ "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; /** - * @see https://docs.github.com/rest/repos/autolinks#list-all-autolinks-of-a-repository + * @see https://docs.github.com/rest/repos/autolinks#get-all-autolinks-of-a-repository */ "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; /** * @see https://docs.github.com/rest/repos/autolinks#get-an-autolink-reference-of-a-repository */ "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-automated-security-fixes-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "get">; /** * @see https://docs.github.com/rest/branches/branches#list-branches */ @@ -1438,31 +1541,31 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; /** - * @see https://docs.github.com/rest/branches/branch-protection#list-apps-with-access-to-the-protected-branch + * @see https://docs.github.com/rest/branches/branch-protection#get-apps-with-access-to-the-protected-branch */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; /** - * @see https://docs.github.com/rest/branches/branch-protection#list-teams-with-access-to-the-protected-branch + * @see https://docs.github.com/rest/branches/branch-protection#get-teams-with-access-to-the-protected-branch */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; /** - * @see https://docs.github.com/rest/branches/branch-protection#list-users-with-access-to-the-protected-branch + * @see https://docs.github.com/rest/branches/branch-protection#get-users-with-access-to-the-protected-branch */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; /** - * @see https://docs.github.com/rest/reference/checks#get-a-check-run + * @see https://docs.github.com/rest/checks/runs#get-a-check-run */ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; /** - * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations */ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; /** - * @see https://docs.github.com/rest/reference/checks#get-a-check-suite + * @see https://docs.github.com/rest/checks/suites#get-a-check-suite */ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; /** - * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite */ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; /** @@ -1470,72 +1573,76 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert * @deprecated "alert_id" is now "alert_number" */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-codeql-databases-for-a-repository + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-codeql-databases-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#get-a-codeql-database-for-a-repository + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-codeql-database-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "get">; /** - * @see https://docs.github.com/rest/code-scanning#get-a-code-scanning-default-setup-configuration + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration */ "GET /repos/{owner}/{repo}/code-scanning/default-setup": Operation<"/repos/{owner}/{repo}/code-scanning/default-setup", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#get-information-about-a-sarif-upload + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload */ "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-codeowners-errors + * @see https://docs.github.com/rest/repos/repos#list-codeowners-errors */ "GET /repos/{owner}/{repo}/codeowners/errors": Operation<"/repos/{owner}/{repo}/codeowners/errors", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user */ "GET /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user */ "GET /repos/{owner}/{repo}/codespaces/devcontainers": Operation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-available-machine-types-for-a-repository + * @see https://docs.github.com/rest/codespaces/machines#list-available-machine-types-for-a-repository */ "GET /repos/{owner}/{repo}/codespaces/machines": Operation<"/repos/{owner}/{repo}/codespaces/machines", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#preview-attributes-for-a-new-codespace + * @see https://docs.github.com/rest/codespaces/codespaces#get-default-attributes-for-a-codespace */ "GET /repos/{owner}/{repo}/codespaces/new": Operation<"/repos/{owner}/{repo}/codespaces/new", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-repository-secrets + * @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": Operation<"/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": Operation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key */ "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": Operation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-secret + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-secret */ "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; /** @@ -1559,7 +1666,7 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment */ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; /** @@ -1583,11 +1690,11 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference */ "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; /** - * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference */ "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; /** @@ -1611,35 +1718,35 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/repos/contents#get-repository-content */ "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-contributors + * @see https://docs.github.com/rest/repos/repos#list-repository-contributors */ "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#list-dependabot-alerts-for-a-repository + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository */ "GET /repos/{owner}/{repo}/dependabot/alerts": Operation<"/repos/{owner}/{repo}/dependabot/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-a-dependabot-alert + * @see https://docs.github.com/rest/dependabot/alerts#get-a-dependabot-alert */ "GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets + * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets */ "GET /repos/{owner}/{repo}/dependabot/secrets": Operation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key */ "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": Operation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-secret + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-secret */ "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits + * @see https://docs.github.com/rest/dependency-graph/dependency-review#get-a-diff-of-the-dependencies-between-commits */ "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": Operation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; /** @@ -1675,71 +1782,71 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "get">; /** - * @see https://docs.github.com/rest/deployments/branch-policies#get-deployment-branch-policy + * @see https://docs.github.com/rest/deployments/branch-policies#get-a-deployment-branch-policy */ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "get">; /** - * @see https://docs.github.com/rest/deployments/protection-rules#get-all-deployment-protection-rules + * @see https://docs.github.com/rest/deployments/protection-rules#get-all-deployment-protection-rules-for-an-environment */ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "get">; /** - * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations + * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment */ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", "get">; /** - * @see https://docs.github.com/rest/deployments/protection-rules#get-a-deployment-protection-rule + * @see https://docs.github.com/rest/deployments/protection-rules#get-a-custom-deployment-protection-rule */ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repository-events + * @see https://docs.github.com/rest/activity/events#list-repository-events */ "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-forks + * @see https://docs.github.com/rest/repos/forks#list-forks */ "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-blob + * @see https://docs.github.com/rest/git/blobs#get-a-blob */ "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-commit + * @see https://docs.github.com/rest/git/commits#get-a-commit-object */ "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; /** - * @see https://docs.github.com/rest/reference/git#list-matching-references + * @see https://docs.github.com/rest/git/refs#list-matching-references */ "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-reference + * @see https://docs.github.com/rest/git/refs#get-a-reference */ "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-tag + * @see https://docs.github.com/rest/git/tags#get-a-tag */ "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-tree + * @see https://docs.github.com/rest/git/trees#get-a-tree */ "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; /** - * @see https://docs.github.com/rest/webhooks/repos#list-repository-webhooks + * @see https://docs.github.com/rest/repos/webhooks#list-repository-webhooks */ "GET /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "get">; /** - * @see https://docs.github.com/rest/webhooks/repos#get-a-repository-webhook + * @see https://docs.github.com/rest/repos/webhooks#get-a-repository-webhook */ "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; /** - * @see https://docs.github.com/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository + * @see https://docs.github.com/rest/repos/webhooks#get-a-webhook-configuration-for-a-repository */ "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; /** - * @see https://docs.github.com/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook + * @see https://docs.github.com/rest/repos/webhooks#list-deliveries-for-a-repository-webhook */ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; /** - * @see https://docs.github.com/rest/webhooks/repo-deliveries#get-a-delivery-for-a-repository-webhook + * @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}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; /** @@ -1755,11 +1862,11 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/apps/apps#get-a-repository-installation-for-the-authenticated-app */ "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; /** - * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository + * @see https://docs.github.com/rest/interactions/repos#get-interaction-restrictions-for-a-repository */ "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; /** @@ -1767,207 +1874,215 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-repository-issues + * @see https://docs.github.com/rest/issues/issues#list-repository-issues */ "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository */ "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-an-issue-comment + * @see https://docs.github.com/rest/issues/comments#get-an-issue-comment */ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment */ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository */ "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-an-issue-event + * @see https://docs.github.com/rest/issues/events#get-an-issue-event */ "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-an-issue + * @see https://docs.github.com/rest/issues/issues#get-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned-to-a-issue + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned-to-a-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-comments + * @see https://docs.github.com/rest/issues/comments#list-issue-comments */ "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-events + * @see https://docs.github.com/rest/issues/events#list-issue-events */ "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; /** - * @see https://docs.github.com/rest/deploy-keys#list-deploy-keys + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys */ "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; /** - * @see https://docs.github.com/rest/deploy-keys#get-a-deploy-key + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key */ "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository */ "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-a-label + * @see https://docs.github.com/rest/issues/labels#get-a-label */ "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-languages + * @see https://docs.github.com/rest/repos/repos#list-repository-languages */ "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; /** - * @see https://docs.github.com/rest/reference/licenses/#get-the-license-for-a-repository + * @see https://docs.github.com/rest/licenses/licenses#get-the-license-for-a-repository */ "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-milestones + * @see https://docs.github.com/rest/issues/milestones#list-milestones */ "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-a-milestone + * @see https://docs.github.com/rest/issues/milestones#get-a-milestone */ "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone */ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user */ "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; /** - * @see https://docs.github.com/rest/pages#get-a-github-pages-site + * @see https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site */ "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; /** - * @see https://docs.github.com/rest/pages#list-github-pages-builds + * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds */ "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; /** - * @see https://docs.github.com/rest/pages#get-latest-pages-build + * @see https://docs.github.com/rest/pages/pages#get-latest-pages-build */ "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; /** - * @see https://docs.github.com/rest/pages#get-github-pages-build + * @see https://docs.github.com/rest/pages/pages#get-apiname-pages-build */ "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; /** - * @see https://docs.github.com/rest/pages#get-a-dns-health-check-for-github-pages + * @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}": Operation<"/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": Operation<"/repos/{owner}/{repo}/pages/health", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-repository-projects + * @see https://docs.github.com/rest/projects/projects#list-repository-projects */ "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-pull-requests + * @see https://docs.github.com/rest/repos/custom-properties#get-all-custom-property-values-for-a-repository + */ + "GET /repos/{owner}/{repo}/properties/values": Operation<"/repos/{owner}/{repo}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests */ "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository */ "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request + * @see https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment */ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#get-a-pull-request + * @see https://docs.github.com/rest/pulls/pulls#get-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request + * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#check-if-a-pull-request-has-been-merged + * @see https://docs.github.com/rest/pulls/pulls#check-if-a-pull-request-has-been-merged */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#get-all-requested-reviewers-for-a-pull-request + * @see https://docs.github.com/rest/pulls/review-requests#get-all-requested-reviewers-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request + * @see https://docs.github.com/rest/pulls/reviews#get-a-review-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-repository-readme + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme */ "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-repository-directory-readme + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme-for-a-directory */ "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-releases + * @see https://docs.github.com/rest/releases/releases#list-releases */ "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-release-asset + * @see https://docs.github.com/rest/releases/assets#get-a-release-asset */ "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-the-latest-release + * @see https://docs.github.com/rest/releases/releases#get-the-latest-release */ "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name + * @see https://docs.github.com/rest/releases/releases#get-a-release-by-tag-name */ "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-release + * @see https://docs.github.com/rest/releases/releases#get-a-release */ "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-release-assets + * @see https://docs.github.com/rest/releases/assets#list-release-assets */ "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; /** - * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-release + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release */ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; /** @@ -1975,23 +2090,31 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/rules/branches/{branch}": Operation<"/repos/{owner}/{repo}/rules/branches/{branch}", "get">; /** - * @see https://docs.github.com/rest/repos/rules#get-repository-rulesets + * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets */ "GET /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "get">; /** - * @see https://docs.github.com/rest/repos/rules#get-repository-ruleset + * @see https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites": Operation<"/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}": Operation<"/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}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository */ "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#get-a-secret-scanning-alert */ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert */ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; /** @@ -2003,7 +2126,7 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-stargazers + * @see https://docs.github.com/rest/activity/starring#list-stargazers */ "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; /** @@ -2027,31 +2150,31 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/activity/watching#list-watchers */ "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-a-repository-subscription + * @see https://docs.github.com/rest/activity/watching#get-a-repository-subscription */ "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-tags + * @see https://docs.github.com/rest/repos/repos#list-repository-tags */ "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-tag-protection-state-of-a-repository + * @see https://docs.github.com/rest/repos/tags#list-tag-protection-states-for-a-repository */ "GET /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "get">; /** - * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-tar */ "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-teams + * @see https://docs.github.com/rest/repos/repos#list-repository-teams */ "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics + * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics */ "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get">; /** @@ -2071,27 +2194,27 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/repos/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository */ "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; /** - * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-zip */ "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-public-repositories + * @see https://docs.github.com/rest/repos/repos#list-public-repositories */ "GET /repositories": Operation<"/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets */ "GET /repositories/{repository_id}/environments/{environment_name}/secrets": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-environment-public-key + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-public-key */ "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-environment-secret + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-secret */ "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; /** @@ -2103,131 +2226,131 @@ export interface Endpoints { */ "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-code + * @see https://docs.github.com/rest/search/search#search-code */ "GET /search/code": Operation<"/search/code", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-commits + * @see https://docs.github.com/rest/search/search#search-commits */ "GET /search/commits": Operation<"/search/commits", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests + * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests */ "GET /search/issues": Operation<"/search/issues", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-labels + * @see https://docs.github.com/rest/search/search#search-labels */ "GET /search/labels": Operation<"/search/labels", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-repositories + * @see https://docs.github.com/rest/search/search#search-repositories */ "GET /search/repositories": Operation<"/search/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-topics + * @see https://docs.github.com/rest/search/search#search-topics */ "GET /search/topics": Operation<"/search/topics", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-users + * @see https://docs.github.com/rest/search/search#search-users */ "GET /search/users": Operation<"/search/users", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#get-a-team-legacy + * @see https://docs.github.com/rest/teams/teams#get-a-team-legacy */ "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy */ "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion-legacy + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy */ "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + * @see https://docs.github.com/rest/teams/members#list-team-members-legacy */ "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-team-member-legacy + * @see https://docs.github.com/rest/teams/members#get-team-member-legacy */ "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy */ "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy + * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy */ "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-project-legacy + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project-legacy */ "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy + * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy */ "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository-legacy + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy */ "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy + * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy */ "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-the-authenticated-user + * @see https://docs.github.com/rest/users/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 + * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user */ "GET /user/blocks": Operation<"/user/blocks", "get">; /** - * @see https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user + * @see https://docs.github.com/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user */ "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user */ "GET /user/codespaces": Operation<"/user/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-secrets-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user */ "GET /user/codespaces/secrets": Operation<"/user/codespaces/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-public-key-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user */ "GET /user/codespaces/secrets/public-key": Operation<"/user/codespaces/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-secret-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/secrets#get-a-secret-for-the-authenticated-user */ "GET /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret + * @see https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret */ "GET /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-codespace-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#get-a-codespace-for-the-authenticated-user */ "GET /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "get">; /** @@ -2235,75 +2358,75 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/codespaces/machines#list-machine-types-for-a-codespace */ "GET /user/codespaces/{codespace_name}/machines": Operation<"/user/codespaces/{codespace_name}/machines", "get">; /** - * @see https://docs.github.com/rest/packages#list-docker-migration-conflicting-packages-for-authenticated-user + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-authenticated-user */ "GET /user/docker/conflicts": Operation<"/user/docker/conflicts", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user */ "GET /user/emails": Operation<"/user/emails", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user */ "GET /user/followers": Operation<"/user/followers", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows */ "GET /user/following": Operation<"/user/following", "get">; /** - * @see https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user + * @see https://docs.github.com/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user */ "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user */ "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user + * @see https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user */ "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token */ "GET /user/installations": Operation<"/user/installations", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token */ "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories + * @see https://docs.github.com/rest/interactions/user#get-interaction-restrictions-for-your-public-repositories */ "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user */ "GET /user/issues": Operation<"/user/issues", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user */ "GET /user/keys": Operation<"/user/keys", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user + * @see https://docs.github.com/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user */ "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user */ "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed */ "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user */ "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user + * @see https://docs.github.com/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user */ "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; /** @@ -2323,31 +2446,31 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user */ "GET /user/orgs": Operation<"/user/orgs", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace */ "GET /user/packages": Operation<"/user/packages", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-for-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-the-authenticated-user */ "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user */ "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-the-authenticated-user */ "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user */ "GET /user/public_emails": Operation<"/user/public_emails", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user */ "GET /user/repos": Operation<"/user/repos", "get">; /** @@ -2359,131 +2482,131 @@ export interface Endpoints { */ "GET /user/social_accounts": Operation<"/user/social_accounts", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-public-ssh-signing-keys-for-the-authenticated-user + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user */ "GET /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-a-ssh-signing-key-for-the-authenticated-user + * @see https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user */ "GET /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user */ "GET /user/starred": Operation<"/user/starred", "get">; /** - * @see https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user + * @see https://docs.github.com/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user */ "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user */ "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user + * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user */ "GET /user/teams": Operation<"/user/teams", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-users + * @see https://docs.github.com/rest/users/users#list-users */ "GET /users": Operation<"/users", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-a-user + * @see https://docs.github.com/rest/users/users#get-a-user */ "GET /users/{username}": Operation<"/users/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-docker-migration-conflicting-packages-for-user + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-user */ "GET /users/{username}/docker/conflicts": Operation<"/users/{username}/docker/conflicts", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user */ "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user */ "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user */ "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user */ "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows */ "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; /** - * @see https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user + * @see https://docs.github.com/rest/users/followers#check-if-a-user-follows-another-user */ "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user + * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user */ "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user */ "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-contextual-information-for-a-user + * @see https://docs.github.com/rest/users/users#get-contextual-information-for-a-user */ "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-user-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#get-a-user-installation-for-the-authenticated-app */ "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user */ "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user */ "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user */ "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-for-a-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-a-user */ "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/packages#get-all-package-versions-for-a-package-owned-by-a-user + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-a-user */ "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-a-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-a-user */ "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-user-projects + * @see https://docs.github.com/rest/projects/projects#list-user-projects */ "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user */ "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user */ "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user */ "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-a-user + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-a-user */ "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-a-user + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-a-user */ "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-a-user + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-a-user */ "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; /** @@ -2491,31 +2614,31 @@ export interface Endpoints { */ "GET /users/{username}/social_accounts": Operation<"/users/{username}/social_accounts", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-ssh-signing-keys-for-a-user + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user */ "GET /users/{username}/ssh_signing_keys": Operation<"/users/{username}/ssh_signing_keys", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user */ "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user */ "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; /** - * @see https://docs.github.com/rest/reference/meta#get-all-api-versions + * @see https://docs.github.com/rest/meta/meta#get-all-api-versions */ "GET /versions": Operation<"/versions", "get">; /** - * @see https://docs.github.com/rest/meta#get-the-zen-of-github + * @see https://docs.github.com/rest/meta/meta#get-the-zen-of-github */ "GET /zen": Operation<"/zen", "get">; /** - * @see https://docs.github.com/rest/reference/apps#update-a-webhook-configuration-for-an-app + * @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/reference/apps#reset-a-token + * @see https://docs.github.com/rest/apps/oauth-applications#reset-a-token */ "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; /** @@ -2523,55 +2646,63 @@ export interface Endpoints { */ "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/gists#update-a-gist-comment + * @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/reference/activity#mark-a-thread-as-read + * @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/reference/orgs#update-an-organization + * @see https://docs.github.com/rest/orgs/orgs#update-an-organization */ "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; - /** - * @see https://docs.github.com/rest/reference/actions#update-a-required-workflow - */ - "PATCH /orgs/{org}/actions/required_workflows/{required_workflow_id}": Operation<"/orgs/{org}/actions/required_workflows/{required_workflow_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/reference/orgs#update-an-organization-webhook + * @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/reference/orgs#update-a-webhook-configuration-for-an-organization + * @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/reference/teams#update-a-team + * @see https://docs.github.com/rest/orgs/organization-roles#update-a-custom-organization-role + */ + "PATCH /orgs/{org}/organization-roles/{role_id}": Operation<"/orgs/{org}/organization-roles/{role_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/teams/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 + * @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/reference/teams#update-a-discussion-comment + * @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/reference/projects#update-a-project-card + * @see https://docs.github.com/rest/projects/cards#update-an-existing-project-card */ "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/projects#update-a-project-column + * @see https://docs.github.com/rest/projects/columns#update-an-existing-project-column */ "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/projects#update-a-project + * @see https://docs.github.com/rest/projects/projects#update-a-project */ "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; /** @@ -2591,19 +2722,19 @@ export interface Endpoints { */ "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 + * @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/reference/checks#update-repository-preferences-for-check-suites + * @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/reference/code-scanning#update-a-code-scanning-alert + * @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#update-a-code-scanning-default-setup-configuration + * @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">; /** @@ -2611,19 +2742,19 @@ export interface Endpoints { */ "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/dependabot#update-a-dependabot-alert + * @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/reference/git#update-a-reference + * @see https://docs.github.com/rest/git/refs#update-a-reference */ "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; /** - * @see https://docs.github.com/rest/webhooks/repos#update-a-repository-webhook + * @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/webhooks/repo-config#update-a-webhook-configuration-for-a-repository + * @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">; /** @@ -2643,39 +2774,43 @@ export interface Endpoints { */ "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 + * @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/reference/issues#update-an-issue + * @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/reference/issues#update-a-label + * @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/reference/issues#update-a-milestone + * @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/reference/pulls#update-a-review-comment-for-a-pull-request + * @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/reference/pulls/#update-a-pull-request + * @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/reference/repos#update-a-release-asset + * @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/reference/repos#update-a-release + * @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/reference/secret-scanning#update-a-secret-scanning-alert + * @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">; /** @@ -2687,31 +2822,31 @@ export interface Endpoints { */ "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "patch">; /** - * @see https://docs.github.com/rest/reference/teams/#update-a-team-legacy + * @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/reference/teams#update-a-discussion-legacy + * @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/reference/teams#update-a-discussion-comment-legacy + * @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/reference/users/#update-the-authenticated-user + * @see https://docs.github.com/rest/users/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 + * @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/reference/users#set-primary-email-visibility-for-the-authenticated-user + * @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/reference/orgs#update-an-organization-membership-for-the-authenticated-user + * @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">; /** @@ -2719,19 +2854,19 @@ export interface Endpoints { */ "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 + * @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/reference/apps#redeliver-a-delivery-for-an-app-webhook + * @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/reference/apps/#create-an-installation-access-token-for-an-app + * @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/reference/apps#check-a-token + * @see https://docs.github.com/rest/apps/oauth-applications#check-a-token */ "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; /** @@ -2739,59 +2874,39 @@ export interface Endpoints { */ "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; /** - * @see https://docs.github.com/rest/reference/gists#create-a-gist + * @see https://docs.github.com/rest/gists/gists#create-a-gist */ "POST /gists": Operation<"/gists", "post">; /** - * @see https://docs.github.com/rest/reference/gists#create-a-gist-comment + * @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/reference/gists#fork-a-gist + * @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/reference/markdown#render-a-markdown-document + * @see https://docs.github.com/rest/markdown/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 + * @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/orgs/orgs#review-requests-to-access-organization-resources-with-a-fine-grained-personal-access-token - */ - "POST /organizations/{org}/personal-access-token-requests": Operation<"/organizations/{org}/personal-access-token-requests", "post">; - /** - * @see https://docs.github.com/rest/orgs/orgs#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token - */ - "POST /organizations/{org}/personal-access-token-requests/{pat_request_id}": Operation<"/organizations/{org}/personal-access-token-requests/{pat_request_id}", "post">; - /** - * @see https://docs.github.com/rest/orgs/orgs#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens - */ - "POST /organizations/{org}/personal-access-tokens": Operation<"/organizations/{org}/personal-access-tokens", "post">; - /** - * @see https://docs.github.com/rest/orgs/orgs#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources - */ - "POST /organizations/{org}/personal-access-tokens/{pat_id}": Operation<"/organizations/{org}/personal-access-tokens/{pat_id}", "post">; - /** - * @see https://docs.github.com/rest/reference/actions#create-a-required-workflow - */ - "POST /orgs/{org}/actions/required_workflows": Operation<"/orgs/{org}/actions/required_workflows", "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/reference/actions#create-a-registration-token-for-an-organization + * @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/reference/actions#create-a-remove-token-for-an-organization + * @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/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization + * @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">; /** @@ -2799,27 +2914,35 @@ export interface Endpoints { */ "POST /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "post">; /** - * @see https://docs.github.com/rest/reference/codespaces#set-codespaces-billing-users + * @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}/codespaces/billing/selected_users": Operation<"/orgs/{org}/codespaces/billing/selected_users", "post">; + "POST /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "post">; /** - * @see https://docs.github.com/rest/reference/orgs#create-an-organization-webhook + * @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/reference/orgs#redeliver-a-delivery-for-an-organization-webhook + * @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/reference/orgs#ping-an-organization-webhook + * @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/reference/orgs#create-an-organization-invitation + * @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/reference/codespaces + * @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">; /** @@ -2827,67 +2950,87 @@ export interface Endpoints { */ "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; /** - * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-an-organization + * @see https://docs.github.com/rest/orgs/organization-roles#create-a-custom-organization-role + */ + "POST /orgs/{org}/organization-roles": Operation<"/orgs/{org}/organization-roles", "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/reference/packages#restore-a-package-version-for-an-organization + * @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/reference/projects#create-an-organization-project + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token + */ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources + */ + "POST /orgs/{org}/personal-access-tokens/{pat_id}": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}", "post">; + /** + * @see https://docs.github.com/rest/projects/projects#create-an-organization-project */ "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; /** - * @see https://docs.github.com/rest/reference/repos#create-an-organization-repository + * @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/repos/rules#create-organization-repository-ruleset + * @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/reference/teams#create-a-team + * @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/reference/teams#create-a-discussion + * @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/reference/teams#create-a-discussion-comment + * @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/reference/reactions#create-reaction-for-a-team-discussion-comment + * @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/reference/reactions#create-reaction-for-a-team-discussion + * @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/reference/orgs#enable-or-disable-security-product-on-all-org-repos + * @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/reference/projects#move-a-project-card + * @see https://docs.github.com/rest/projects/cards#move-a-project-card */ "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; /** - * @see https://docs.github.com/rest/reference/projects#create-a-project-card + * @see https://docs.github.com/rest/projects/cards#create-a-project-card */ "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; /** - * @see https://docs.github.com/rest/reference/projects#move-a-project-column + * @see https://docs.github.com/rest/projects/columns#move-a-project-column */ "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; /** - * @see https://docs.github.com/rest/reference/projects#create-a-project-column + * @see https://docs.github.com/rest/projects/columns#create-a-project-column */ "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; /** - * @see https://docs.github.com/rest/reference/actions#re-run-job-for-workflow-run + * @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">; /** @@ -2895,23 +3038,23 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig": Operation<"/repos/{owner}/{repo}/actions/runners/generate-jitconfig", "post">; /** - * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository + * @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/reference/actions#create-a-remove-token-for-a-repository + * @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/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository + * @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/reference/actions#approve-a-workflow-run-for-a-fork-pull-request + * @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/reference/actions#cancel-a-workflow-run + * @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">; /** @@ -2919,15 +3062,19 @@ export interface Endpoints { */ "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/reference/actions#review-pending-deployments-for-a-workflow-run + * @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/reference/actions#re-run-a-workflow + * @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/reference/actions#re-run-workflow-failed-jobs + * @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">; /** @@ -2935,7 +3082,7 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/actions/variables": Operation<"/repos/{owner}/{repo}/actions/variables", "post">; /** - * @see https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event + * @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">; /** @@ -2975,27 +3122,27 @@ export interface Endpoints { */ "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 + * @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/reference/checks#create-a-check-suite + * @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/reference/checks#rerequest-a-check-suite + * @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/reference/code-scanning#upload-an-analysis-as-sarif-data + * @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/reference/codespaces#create-a-codespace-in-a-repository + * @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/reference/reactions#create-reaction-for-a-commit-comment + * @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">; /** @@ -3003,7 +3150,7 @@ export interface Endpoints { */ "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 + * @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">; /** @@ -3015,87 +3162,87 @@ export interface Endpoints { */ "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 + * @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-deployment-branch-policy + * @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/deployment-protection-rules#create-a-deployment-protection-rule + * @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/reference/repos#create-a-fork + * @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/reference/git#create-a-blob + * @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/reference/git#create-a-commit + * @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/reference/git#create-a-reference + * @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/reference/git#create-a-tag-object + * @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/reference/git#create-a-tree + * @see https://docs.github.com/rest/git/trees#create-a-tree */ "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; /** - * @see https://docs.github.com/rest/webhooks/repos#create-a-repository-webhook + * @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/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook + * @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/webhooks/repos#ping-a-repository-webhook + * @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/webhooks/repos#test-the-push-repository-webhook + * @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/reference/issues#create-an-issue + * @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/reference/reactions#create-reaction-for-an-issue-comment + * @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/reference/issues#add-assignees-to-an-issue + * @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/reference/issues#create-an-issue-comment + * @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/reference/issues#add-labels-to-an-issue + * @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/reference/reactions#create-reaction-for-an-issue + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue */ "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; /** - * @see https://docs.github.com/rest/deploy-keys#create-a-deploy-key + * @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/reference/issues#create-a-label + * @see https://docs.github.com/rest/issues/labels#create-a-label */ "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; /** @@ -3107,43 +3254,47 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; /** - * @see https://docs.github.com/rest/reference/issues#create-a-milestone + * @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#create-a-github-pages-site + * @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#request-a-github-pages-build + * @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#create-a-github-pages-deployment + * @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/deployment": Operation<"/repos/{owner}/{repo}/pages/deployment", "post">; + "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/reference/projects#create-a-repository-project + * @see https://docs.github.com/rest/projects/projects#create-a-repository-project */ "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; /** - * @see https://docs.github.com/rest/reference/pulls#create-a-pull-request + * @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/reference/reactions#create-reaction-for-a-pull-request-review-comment + * @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/reference/codespaces#create-a-codespace-from-a-pull-request + * @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/reference/pulls#create-a-review-comment-for-a-pull-request + * @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/reference/pulls#create-a-reply-for-a-review-comment + * @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">; /** @@ -3151,11 +3302,11 @@ export interface Endpoints { */ "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 + * @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/reference/pulls#submit-a-review-for-a-pull-request + * @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">; /** @@ -3163,15 +3314,15 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; /** - * @see https://docs.github.com/rest/reference/repos#generate-release-notes + * @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/reference/reactions/#create-reaction-for-a-release + * @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-repository-ruleset + * @see https://docs.github.com/rest/repos/rules#create-a-repository-ruleset */ "POST /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "post">; /** @@ -3182,20 +3333,28 @@ export interface Endpoints { * @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/reference/repos#create-tag-protection-state-for-a-repository + * @see https://docs.github.com/rest/repos/tags#create-a-tag-protection-state-for-a-repository */ "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; /** - * @see https://docs.github.com/rest/reference/repos#transfer-a-repository + * @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/reference/repos#create-a-repository-using-a-template + * @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">; /** @@ -3203,23 +3362,23 @@ export interface Endpoints { */ "POST /repositories/{repository_id}/environments/{environment_name}/variables": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables", "post">; /** - * @see https://docs.github.com/rest/reference/teams#create-a-discussion-legacy + * @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/reference/teams#create-a-discussion-comment-legacy + * @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/reference/reactions/#create-reaction-for-a-team-discussion-comment-legacy + * @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/reference/reactions/#create-reaction-for-a-team-discussion-legacy + * @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/reference/codespaces#create-a-codespace-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-for-the-authenticated-user */ "POST /user/codespaces": Operation<"/user/codespaces", "post">; /** @@ -3227,27 +3386,27 @@ export interface Endpoints { */ "POST /user/codespaces/{codespace_name}/exports": Operation<"/user/codespaces/{codespace_name}/exports", "post">; /** - * @see https://docs.github.com/rest/reference/codespaces/codespaces#create-a-repository-from-an-unpublished-codespace + * @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/reference/codespaces#start-a-codespace-for-the-authenticated-user + * @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/reference/codespaces#stop-a-codespace-for-the-authenticated-user + * @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/reference/users#add-an-email-address-for-the-authenticated-user + * @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/reference/users#create-a-gpg-key-for-the-authenticated-user + * @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/reference/users#create-a-public-ssh-key-for-the-authenticated-user + * @see https://docs.github.com/rest/users/keys#create-a-public-ssh-key-for-the-authenticated-user */ "POST /user/keys": Operation<"/user/keys", "post">; /** @@ -3255,55 +3414,55 @@ export interface Endpoints { */ "POST /user/migrations": Operation<"/user/migrations", "post">; /** - * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-the-authenticated-user + * @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/reference/packages#restore-a-package-version-for-the-authenticated-user + * @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/reference/projects#create-a-user-project + * @see https://docs.github.com/rest/projects/projects#create-a-user-project */ "POST /user/projects": Operation<"/user/projects", "post">; /** - * @see https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user + * @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-account-for-authenticated-user + * @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/reference/users#create-an-ssh-signing-key-for-the-authenticated-user + * @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/reference/packages#restore-a-package-for-a-user + * @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/reference/packages#restore-a-package-version-for-a-user + * @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/reference/repos#upload-a-release-asset + * @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/reference/apps#suspend-an-app-installation + * @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/reference/gists#star-a-gist + * @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/reference/activity#mark-notifications-as-read + * @see https://docs.github.com/rest/activity/notifications#mark-notifications-as-read */ "PUT /notifications": Operation<"/notifications", "put">; /** - * @see https://docs.github.com/rest/reference/activity#set-a-thread-subscription + * @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">; /** @@ -3311,35 +3470,27 @@ export interface Endpoints { */ "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 + * @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/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization + * @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/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization + * @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/reference/actions#set-allowed-actions-for-an-organization + * @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/reference/actions#set-default-workflow-permissions + * @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/reference/actions#set-selected-repositories-for-a-required-workflow - */ - "PUT /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories": Operation<"/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories", "put">; - /** - * @see https://docs.github.com/rest/reference/actions#add-a-repository-to-selected-repositories-list-for-a-required-workflow - */ - "PUT /orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization + * @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">; /** @@ -3347,11 +3498,11 @@ export interface Endpoints { */ "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 + * @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/reference/actions#add-selected-repository-to-an-organization-secret + * @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">; /** @@ -3363,23 +3514,23 @@ export interface Endpoints { */ "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/reference/orgs#block-a-user-from-an-organization + * @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/reference/codespaces#set-codespaces-billing + * @see https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces */ - "PUT /orgs/{org}/codespaces/billing": Operation<"/orgs/{org}/codespaces/billing", "put">; + "PUT /orgs/{org}/codespaces/access": Operation<"/orgs/{org}/codespaces/access", "put">; /** - * @see https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret + * @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/reference/codespaces#set-selected-repositories-for-an-organization-secret + * @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/reference/codespaces#add-selected-repository-to-an-organization-secret + * @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">; /** @@ -3387,51 +3538,63 @@ export interface Endpoints { */ "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 + * @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/reference/dependabot#add-selected-repository-to-an-organization-secret + * @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/reference/interactions#set-interaction-restrictions-for-an-organization + * @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/reference/orgs#set-organization-membership-for-a-user + * @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/reference/orgs#convert-an-organization-member-to-outside-collaborator + * @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/reference/orgs#set-public-organization-membership-for-the-authenticated-user + * @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/repos/rules#update-organization-ruleset + * @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/reference/orgs#add-a-security-manager-team + * @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/reference/teams#add-or-update-team-membership-for-a-user + * @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/reference/teams#add-or-update-team-project-permissions + * @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/reference/teams/#add-or-update-team-repository-permissions + * @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/reference/projects#add-project-collaborator + * @see https://docs.github.com/rest/projects/collaborators#add-project-collaborator */ "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; /** @@ -3439,39 +3602,39 @@ export interface Endpoints { */ "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 + * @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/reference/actions#set-workflow-access-to-a-repository + * @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/reference/actions#set-allowed-actions-for-a-repository + * @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/reference/actions#set-default-workflow-permissions-for-a-repository + * @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/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository + * @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/reference/actions#create-or-update-a-repository-secret + * @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/reference/actions#disable-a-workflow + * @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/reference/actions#enable-a-workflow + * @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/reference/repos#enable-automated-security-fixes + * @see https://docs.github.com/rest/repos/repos#enable-automated-security-fixes */ "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; /** @@ -3495,7 +3658,7 @@ export interface Endpoints { */ "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 + * @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">; /** @@ -3503,11 +3666,11 @@ export interface Endpoints { */ "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 + * @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/reference/dependabot#create-or-update-a-repository-secret + * @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">; /** @@ -3515,7 +3678,7 @@ export interface Endpoints { */ "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-deployment-branch-policy + * @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">; /** @@ -3523,111 +3686,111 @@ export interface Endpoints { */ "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 + * @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/reference/issues#set-labels-for-an-issue + * @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/reference/issues#lock-an-issue + * @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/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 + * @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#update-information-about-a-github-pages-site + * @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/reference/pulls#merge-a-pull-request + * @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/reference/pulls#update-a-review-for-a-pull-request + * @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/reference/pulls#dismiss-a-review-for-a-pull-request + * @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/reference/pulls#update-a-pull-request-branch + * @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-repository-ruleset + * @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/reference/activity#set-a-repository-subscription + * @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/reference/repos#replace-all-repository-topics + * @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/reference/repos#enable-vulnerability-alerts + * @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/reference/actions#create-or-update-an-environment-secret + * @see https://docs.github.com/rest/actions/secrets#create-or-update-an-environment-secret */ "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; /** - * @see https://docs.github.com/rest/reference/teams#add-team-member-legacy + * @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/reference/teams#add-or-update-team-membership-for-a-user-legacy + * @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/reference/teams/#add-or-update-team-project-permissions-legacy + * @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/reference/teams#add-or-update-team-repository-permissions-legacy + * @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/reference/users#block-a-user + * @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/reference/codespaces#create-or-update-a-secret-for-the-authenticated-user + * @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/reference/codespaces#set-selected-repositories-for-a-user-secret + * @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/reference/codespaces#add-a-selected-repository-to-a-user-secret + * @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/reference/users#follow-a-user + * @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/reference/apps#add-a-repository-to-an-app-installation + * @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/reference/interactions#set-interaction-restrictions-for-your-public-repositories + * @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/reference/activity#star-a-repository-for-the-authenticated-user + * @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">; } diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/index.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/package.json b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json similarity index 75% rename from node_modules/@octokit/plugin-retry/node_modules/@octokit/types/package.json rename to node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json index e663b323f7..99959575ee 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/types/package.json +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json @@ -1,12 +1,12 @@ { "name": "@octokit/types", - "version": "10.0.0", + "version": "12.6.0", "publishConfig": { "access": "public" }, "description": "Shared TypeScript definitions for Octokit projects", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^20.0.0" }, "repository": "github:octokit/types.ts", "keywords": [ @@ -19,24 +19,24 @@ "author": "Gregor Martynus (https://twitter.com/gr2m)", "license": "MIT", "devDependencies": { - "@octokit/tsconfig": "^1.0.2", + "@octokit/tsconfig": "^2.0.0", "@types/node": ">= 8", "github-openapi-graphql-query": "^4.0.0", "handlebars": "^4.7.6", "json-schema-to-typescript": "^13.0.0", "lodash.set": "^4.3.2", - "npm-run-all": "^4.1.5", + "npm-run-all2": "^6.0.0", "pascal-case": "^3.1.1", - "prettier": "^2.0.0", - "semantic-release": "^21.0.0", + "prettier": "^3.0.0", + "semantic-release": "^23.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "sort-keys": "^4.2.0", + "sort-keys": "^5.0.0", "string-to-jsdoc-comment": "^1.0.0", - "typedoc": "^0.24.0", + "typedoc": "^0.25.0", "typescript": "^5.0.0" }, "octokit": { - "openapi-version": "12.0.0" + "openapi-version": "14.0.0" }, "files": [ "dist-types/**" diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/package.json b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/package.json new file mode 100644 index 0000000000..1739081acf --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/package.json @@ -0,0 +1,52 @@ +{ + "name": "@octokit/plugin-paginate-rest", + "publishConfig": { + "access": "public" + }, + "version": "9.2.2", + "description": "Octokit plugin to paginate REST API endpoint responses", + "repository": "github:octokit/plugin-paginate-rest.js", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "license": "MIT", + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "peerDependencies": { + "@octokit/core": "5" + }, + "devDependencies": { + "@octokit/core": "^5.1.0", + "@octokit/plugin-rest-endpoint-methods": "^10.4.0", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^29.0.0", + "@types/node": "^20.0.0", + "esbuild": "^0.20.0", + "fetch-mock": "^9.0.0", + "github-openapi-graphql-query": "^4.0.0", + "glob": "^10.2.5", + "jest": "^29.0.0", + "npm-run-all2": "^6.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "source": "dist-src/index.js", + "sideEffects": false +} diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE similarity index 79% rename from node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/LICENSE rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE index c61fbbe5ae..57bee5f182 100644 --- a/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/LICENSE +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE @@ -1,7 +1,7 @@ -Copyright 2020 Gregor Martynus +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 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. \ No newline at end of file +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/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/README.md b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/README.md new file mode 100644 index 0000000000..ee4f952e36 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/README.md @@ -0,0 +1,76 @@ +# plugin-rest-endpoint-methods.js + +> Octokit plugin adding one method for all of api.github.com REST API endpoints + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-rest-endpoint-methods.svg)](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) +[![Build Status](https://github.com/octokit/plugin-rest-endpoint-methods.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + restEndpointMethods, +} = require("@octokit/plugin-rest-endpoint-methods"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(restEndpointMethods); +const octokit = new MyOctokit({ auth: "secret123" }); + +// https://developer.github.com/v3/users/#get-the-authenticated-user +octokit.rest.users.getAuthenticated(); +``` + +There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). All endpoint methods are documented in the [docs/](docs/) folder, e.g. [docs/users/getAuthenticated.md](docs/users/getAuthenticated.md) + +## TypeScript + +Parameter and response types for all endpoint methods exported as `{ RestEndpointMethodTypes }`. + +Example + +```ts +import { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; + +type UpdateLabelParameters = + RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]; +type UpdateLabelResponse = + RestEndpointMethodTypes["issues"]["updateLabel"]["response"]; +``` + +In order to get types beyond parameters and responses, check out [`@octokit/openapi-types`](https://github.com/octokit/openapi-types.ts/#readme), which is a direct transpilation from GitHub's official OpenAPI specification. + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js new file mode 100644 index 0000000000..379465fbc8 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js @@ -0,0 +1,2165 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + legacyRestEndpointMethods: () => legacyRestEndpointMethods, + restEndpointMethods: () => restEndpointMethods +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/version.js +var VERSION = "10.4.1"; + +// pkg/dist-src/generated/endpoints.js +var Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + ], + createEnvironmentVariable: [ + "POST /repositories/{repository_id}/environments/{environment_name}/variables" + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token" + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token" + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token" + ], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + ], + deleteActionsCacheById: [ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + ], + deleteActionsCacheByKey: [ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + deleteRepoVariable: [ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}" + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + ], + forceCancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + ], + generateRunnerJitconfigForOrg: [ + "POST /orgs/{org}/actions/runners/generate-jitconfig" + ], + generateRunnerJitconfigForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + ], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: [ + "GET /orgs/{org}/actions/cache/usage-by-repository" + ], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions" + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + getGithubActionsDefaultWorkflowPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions/workflow" + ], + getGithubActionsDefaultWorkflowPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/workflow" + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions" + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions" + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/access" + ], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables" + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + ], + listLabelsForSelfHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/runners/{runner_id}/labels" + ], + listLabelsForSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: [ + "GET /repos/{owner}/{repo}/actions/organization-secrets" + ], + listRepoOrganizationVariables: [ + "GET /repos/{owner}/{repo}/actions/organization-variables" + ], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads" + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + listSelectedReposForOrgVariable: [ + "GET /orgs/{org}/actions/variables/{name}/repositories" + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories" + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + ], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + ], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" + ], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + removeCustomLabelFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + ], + removeCustomLabelFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgVariable: [ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + reviewCustomGatesForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions" + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + setCustomLabelsForSelfHostedRunnerForOrg: [ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + ], + setCustomLabelsForSelfHostedRunnerForRepo: [ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + setCustomOidcSubClaimForRepo: [ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + setGithubActionsDefaultWorkflowPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/workflow" + ], + setGithubActionsDefaultWorkflowPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions" + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories" + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories" + ], + setWorkflowAccessToRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/access" + ], + updateEnvironmentVariable: [ + "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: [ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + ] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription" + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription" + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}" + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public" + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications" + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription" + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}" + ], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens" + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}" + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}" + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories" + ], + listInstallationRequestsForAuthenticatedApp: [ + "GET /app/installation-requests" + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed" + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts" + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}" + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended" + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } } + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getCodeqlDatabase: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" + ], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] } + ], + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + ], + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/exports/{export_id}" + ], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: [ + "GET /orgs/{org}/codespaces", + {}, + { renamedParameters: { org_id: "org" } } + ], + listInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" + ], + removeRepositoryForSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] + }, + dependabot: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/dependabot/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ] + }, + dependencyGraph: { + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } + ] + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + ] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } } + ] + }, + meta: { + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: [ + "DELETE /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" + } + ], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + getCommitAuthors: [ + "GET /repos/{owner}/{repo}/import/authors", + {}, + { + deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors" + } + ], + getImportStatus: [ + "GET /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status" + } + ], + getLargeFiles: [ + "GET /repos/{owner}/{repo}/import/large_files", + {}, + { + deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" + } + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories" + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] } + ], + mapCommitAuthor: [ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", + {}, + { + deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author" + } + ], + setLfsPreference: [ + "PATCH /repos/{owner}/{repo}/import/lfs", + {}, + { + deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference" + } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: [ + "PUT /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" + } + ], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ], + updateImport: [ + "PATCH /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" + } + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" + ], + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] + }, + orgs: { + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}" + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: [ + "PATCH /orgs/{org}/properties/values" + ], + createOrUpdateCustomProperty: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + ], + listPatGrantRequestRepositories: [ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" + ], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeCustomProperty: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}" + ], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}" + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + ] + } + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions" + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ] + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}" + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}" + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection" + ], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}" + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" + ], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: [ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}" + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] } + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" } + ] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/secret-scanning/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + securityAdvisories: { + createFork: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" + ], + createPrivateVulnerabilityReport: [ + "POST /repos/{owner}/{repo}/security-advisories/reports" + ], + createRepositoryAdvisory: [ + "POST /repos/{owner}/{repo}/security-advisories" + ], + createRepositoryAdvisoryCveRequest: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + ], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: [ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: [ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ] + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] } + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] } + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] } + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] } + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] } + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; +var endpoints_default = Endpoints; + +// pkg/dist-src/endpoints-to-methods.js +var endpointMethodsMap = /* @__PURE__ */ new Map(); +for (const [scope, endpoints] of Object.entries(endpoints_default)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults + ); + if (!endpointMethodsMap.has(scope)) { + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); + } + endpointMethodsMap.get(scope).set(methodName, { + scope, + methodName, + endpointDefaults, + decorations + }); + } +} +var handler = { + has({ scope }, methodName) { + return endpointMethodsMap.get(scope).has(methodName); + }, + getOwnPropertyDescriptor(target, methodName) { + return { + value: this.get(target, methodName), + // ensures method is in the cache + configurable: true, + writable: true, + enumerable: true + }; + }, + defineProperty(target, methodName, descriptor) { + Object.defineProperty(target.cache, methodName, descriptor); + return true; + }, + deleteProperty(target, methodName) { + delete target.cache[methodName]; + return true; + }, + ownKeys({ scope }) { + return [...endpointMethodsMap.get(scope).keys()]; + }, + set(target, methodName, value) { + return target.cache[methodName] = value; + }, + get({ octokit, scope, cache }, methodName) { + if (cache[methodName]) { + return cache[methodName]; + } + const method = endpointMethodsMap.get(scope).get(methodName); + if (!method) { + return void 0; + } + const { endpointDefaults, decorations } = method; + if (decorations) { + cache[methodName] = decorate( + octokit, + scope, + methodName, + endpointDefaults, + decorations + ); + } else { + cache[methodName] = octokit.request.defaults(endpointDefaults); + } + return cache[methodName]; + } +}; +function endpointsToMethods(octokit) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + function withDecorations(...args) { + let options = requestWithDefaults.endpoint.merge(...args); + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: void 0 + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + const options2 = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { + if (name in options2) { + octokit.log.warn( + `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` + ); + if (!(alias in options2)) { + options2[alias] = options2[name]; + } + delete options2[name]; + } + } + return requestWithDefaults(options2); + } + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} + +// pkg/dist-src/index.js +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + legacyRestEndpointMethods, + restEndpointMethods +}); diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map new file mode 100644 index 0000000000..2a0e67a33a --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/generated/endpoints.js", "../dist-src/endpoints-to-methods.js"], + "sourcesContent": ["import { VERSION } from \"./version.js\";\nimport { endpointsToMethods } from \"./endpoints-to-methods.js\";\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n ...api,\n rest: api\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\nexport {\n legacyRestEndpointMethods,\n restEndpointMethods\n};\n", "const VERSION = \"10.4.1\";\nexport {\n VERSION\n};\n", "const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"\n ],\n createEnvironmentVariable: [\n \"POST /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n createOrgVariable: [\"POST /orgs/{org}/actions/variables\"],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\"\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\"\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\"\n ],\n createRepoVariable: [\"POST /repos/{owner}/{repo}/actions/variables\"],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteOrgVariable: [\"DELETE /orgs/{org}/actions/variables/{name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n deleteRepoVariable: [\n \"DELETE /repos/{owner}/{repo}/actions/variables/{name}\"\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\"\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"\n ],\n forceCancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\"\n ],\n generateRunnerJitconfigForOrg: [\n \"POST /orgs/{org}/actions/runners/generate-jitconfig\"\n ],\n generateRunnerJitconfigForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig\"\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\"\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\"\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getCustomOidcSubClaimForRepo: [\n \"GET /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\"\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\"\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\"\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getOrgVariable: [\"GET /orgs/{org}/actions/variables/{name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] }\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getRepoVariable: [\"GET /repos/{owner}/{repo}/actions/variables/{name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listOrgVariables: [\"GET /orgs/{org}/actions/variables\"],\n listRepoOrganizationSecrets: [\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\"\n ],\n listRepoOrganizationVariables: [\n \"GET /repos/{owner}/{repo}/actions/organization-variables\"\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoVariables: [\"GET /repos/{owner}/{repo}/actions/variables\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\"\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n listSelectedReposForOrgVariable: [\n \"GET /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\"\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgVariable: [\n \"DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n reviewCustomGatesForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\"\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\"\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n setCustomOidcSubClaimForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\"\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\"\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\"\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n updateEnvironmentVariable: [\n \"PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\n ],\n updateOrgVariable: [\"PATCH /orgs/{org}/actions/variables/{name}\"],\n updateRepoVariable: [\n \"PATCH /repos/{owner}/{repo}/actions/variables/{name}\"\n ]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\"\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\"\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\"\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\"\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\"\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsDone: [\"DELETE /notifications/threads/{thread_id}\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\"\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] }\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\"\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\"\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\"\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\"\n ],\n listInstallationRequestsForAuthenticatedApp: [\n \"GET /app/installation-requests\"\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\"\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\"\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] }\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\"\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\"\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\"\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\"\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\"\n ]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } }\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"\n ],\n getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getDefaultSetup: [\"GET /repos/{owner}/{repo}/code-scanning/default-setup\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] }\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\"\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"\n ],\n updateDefaultSetup: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/default-setup\"\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n checkPermissionsForDevcontainer: [\n \"GET /repos/{owner}/{repo}/codespaces/permissions_check\"\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\"\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\"\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\"\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/codespaces/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\"\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\"\n ],\n getCodespacesForUserInOrg: [\n \"GET /orgs/{org}/members/{username}/codespaces\"\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\"\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\"\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\"\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\"\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } }\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\"\n ],\n publishForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/publish\"\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\"\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n copilot: {\n addCopilotSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotSeatsForUsers: [\n \"POST /orgs/{org}/copilot/billing/selected_users\"\n ],\n cancelCopilotSeatAssignmentForTeams: [\n \"DELETE /orgs/{org}/copilot/billing/selected_teams\"\n ],\n cancelCopilotSeatAssignmentForUsers: [\n \"DELETE /orgs/{org}/copilot/billing/selected_users\"\n ],\n getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/dependabot/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/dependabot/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\n ]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"\n ],\n exportSbom: [\"GET /repos/{owner}/{repo}/dependency-graph/sbom\"]\n },\n emojis: { get: [\"GET /emojis\"] },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] }\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\"\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] }\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] }\n ]\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n checkUserCanBeAssignedToIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}\"\n ],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } }\n ]\n },\n meta: {\n get: [\"GET /meta\"],\n getAllVersions: [\"GET /versions\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\n \"DELETE /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import\"\n }\n ],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\"\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\"\n ],\n getCommitAuthors: [\n \"GET /repos/{owner}/{repo}/import/authors\",\n {},\n {\n deprecated: \"octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors\"\n }\n ],\n getImportStatus: [\n \"GET /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status\"\n }\n ],\n getLargeFiles: [\n \"GET /repos/{owner}/{repo}/import/large_files\",\n {},\n {\n deprecated: \"octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files\"\n }\n ],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\"\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] }\n ],\n mapCommitAuthor: [\n \"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\",\n {},\n {\n deprecated: \"octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author\"\n }\n ],\n setLfsPreference: [\n \"PATCH /repos/{owner}/{repo}/import/lfs\",\n {},\n {\n deprecated: \"octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference\"\n }\n ],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\n \"PUT /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import\"\n }\n ],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n updateImport: [\n \"PATCH /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import\"\n }\n ]\n },\n oidc: {\n getOidcCustomSubTemplateForOrg: [\n \"GET /orgs/{org}/actions/oidc/customization/sub\"\n ],\n updateOidcCustomSubTemplateForOrg: [\n \"PUT /orgs/{org}/actions/oidc/customization/sub\"\n ]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n assignTeamToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n assignUserToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\"\n ],\n createCustomOrganizationRole: [\"POST /orgs/{org}/organization-roles\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createOrUpdateCustomProperties: [\"PATCH /orgs/{org}/properties/schema\"],\n createOrUpdateCustomPropertiesValuesForRepos: [\n \"PATCH /orgs/{org}/properties/values\"\n ],\n createOrUpdateCustomProperty: [\n \"PUT /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteCustomOrganizationRole: [\n \"DELETE /orgs/{org}/organization-roles/{role_id}\"\n ],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\"\n ],\n get: [\"GET /orgs/{org}\"],\n getAllCustomProperties: [\"GET /orgs/{org}/properties/schema\"],\n getCustomProperty: [\n \"GET /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getOrgRole: [\"GET /orgs/{org}/organization-roles/{role_id}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomPropertiesValuesForRepos: [\"GET /orgs/{org}/properties/values\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOrgRoleTeams: [\"GET /orgs/{org}/organization-roles/{role_id}/teams\"],\n listOrgRoleUsers: [\"GET /orgs/{org}/organization-roles/{role_id}/users\"],\n listOrgRoles: [\"GET /orgs/{org}/organization-roles\"],\n listOrganizationFineGrainedPermissions: [\n \"GET /orgs/{org}/organization-fine-grained-permissions\"\n ],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPatGrantRepositories: [\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\"\n ],\n listPatGrantRequestRepositories: [\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\"\n ],\n listPatGrantRequests: [\"GET /orgs/{org}/personal-access-token-requests\"],\n listPatGrants: [\"GET /orgs/{org}/personal-access-tokens\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listSecurityManagerTeams: [\"GET /orgs/{org}/security-managers\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n patchCustomOrganizationRole: [\n \"PATCH /orgs/{org}/organization-roles/{role_id}\"\n ],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeCustomProperty: [\n \"DELETE /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\"\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\"\n ],\n removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n reviewPatGrantRequest: [\n \"POST /orgs/{org}/personal-access-token-requests/{pat_request_id}\"\n ],\n reviewPatGrantRequestsInBulk: [\n \"POST /orgs/{org}/personal-access-token-requests\"\n ],\n revokeAllOrgRolesTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}\"\n ],\n revokeAllOrgRolesUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}\"\n ],\n revokeOrgRoleTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n revokeOrgRoleUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\"\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\"\n ],\n updatePatAccess: [\"POST /orgs/{org}/personal-access-tokens/{pat_id}\"],\n updatePatAccesses: [\"POST /orgs/{org}/personal-access-tokens\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\"\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\"\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] }\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"\n ]\n }\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\"\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\"\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\"\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n listDockerMigrationConflictingPackagesForAuthenticatedUser: [\n \"GET /user/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForOrganization: [\n \"GET /orgs/{org}/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForUser: [\n \"GET /users/{username}/docker/conflicts\"\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\"\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\"\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ]\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ]\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] }\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\"\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n cancelPagesDeployment: [\n \"POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel\"\n ],\n checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\"\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n createDeploymentProtectionRule: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateCustomPropertiesValues: [\n \"PATCH /repos/{owner}/{repo}/properties/values\"\n ],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createOrgRuleset: [\"POST /orgs/{org}/rulesets\"],\n createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployments\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\"\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] }\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\"\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n deleteOrgRuleset: [\"DELETE /orgs/{org}/rulesets/{ruleset_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n deleteRepoRuleset: [\"DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n disableDeploymentProtectionRule: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n disablePrivateVulnerabilityReporting: [\n \"DELETE /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] }\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n enablePrivateVulnerabilityReporting: [\n \"PUT /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\"\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n getAllDeploymentProtectionRules: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n getBranchRules: [\"GET /repos/{owner}/{repo}/rules/branches/{branch}\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getCustomDeploymentProtectionRule: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n getCustomPropertiesValues: [\"GET /repos/{owner}/{repo}/properties/values\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getOrgRuleSuite: [\"GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}\"],\n getOrgRuleSuites: [\"GET /orgs/{org}/rulesets/rule-suites\"],\n getOrgRuleset: [\"GET /orgs/{org}/rulesets/{ruleset_id}\"],\n getOrgRulesets: [\"GET /orgs/{org}/rulesets\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesDeployment: [\n \"GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}\"\n ],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getRepoRuleSuite: [\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}\"\n ],\n getRepoRuleSuites: [\"GET /repos/{owner}/{repo}/rulesets/rule-suites\"],\n getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n getRepoRulesets: [\"GET /repos/{owner}/{repo}/rulesets\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n listActivities: [\"GET /repos/{owner}/{repo}/activity\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listCustomDeploymentRuleIntegrations: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\"\n ],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\"\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n updateOrgRuleset: [\"PUT /orgs/{org}/rulesets/{ruleset_id}\"],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n updateRepoRuleset: [\"PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] }\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" }\n ]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ]\n },\n securityAdvisories: {\n createFork: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks\"\n ],\n createPrivateVulnerabilityReport: [\n \"POST /repos/{owner}/{repo}/security-advisories/reports\"\n ],\n createRepositoryAdvisory: [\n \"POST /repos/{owner}/{repo}/security-advisories\"\n ],\n createRepositoryAdvisoryCveRequest: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve\"\n ],\n getGlobalAdvisory: [\"GET /advisories/{ghsa_id}\"],\n getRepositoryAdvisory: [\n \"GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ],\n listGlobalAdvisories: [\"GET /advisories\"],\n listOrgRepositoryAdvisories: [\"GET /orgs/{org}/security-advisories\"],\n listRepositoryAdvisories: [\"GET /repos/{owner}/{repo}/security-advisories\"],\n updateRepositoryAdvisory: [\n \"PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\"\n ],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] }\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n addSocialAccountForAuthenticatedUser: [\"POST /user/social_accounts\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] }\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] }\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] }\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] }\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] }\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSocialAccountForAuthenticatedUser: [\"DELETE /user/social_accounts\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] }\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] }\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] }\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] }\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] }\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] }\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] }\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] }\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSocialAccountsForAuthenticatedUser: [\"GET /user/social_accounts\"],\n listSocialAccountsForUser: [\"GET /users/{username}/social_accounts\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] }\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\"\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\nvar endpoints_default = Endpoints;\nexport {\n endpoints_default as default\n};\n", "import ENDPOINTS from \"./generated/endpoints.js\";\nconst endpointMethodsMap = /* @__PURE__ */ new Map();\nfor (const [scope, endpoints] of Object.entries(ENDPOINTS)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign(\n {\n method,\n url\n },\n defaults\n );\n if (!endpointMethodsMap.has(scope)) {\n endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());\n }\n endpointMethodsMap.get(scope).set(methodName, {\n scope,\n methodName,\n endpointDefaults,\n decorations\n });\n }\n}\nconst handler = {\n has({ scope }, methodName) {\n return endpointMethodsMap.get(scope).has(methodName);\n },\n getOwnPropertyDescriptor(target, methodName) {\n return {\n value: this.get(target, methodName),\n // ensures method is in the cache\n configurable: true,\n writable: true,\n enumerable: true\n };\n },\n defineProperty(target, methodName, descriptor) {\n Object.defineProperty(target.cache, methodName, descriptor);\n return true;\n },\n deleteProperty(target, methodName) {\n delete target.cache[methodName];\n return true;\n },\n ownKeys({ scope }) {\n return [...endpointMethodsMap.get(scope).keys()];\n },\n set(target, methodName, value) {\n return target.cache[methodName] = value;\n },\n get({ octokit, scope, cache }, methodName) {\n if (cache[methodName]) {\n return cache[methodName];\n }\n const method = endpointMethodsMap.get(scope).get(methodName);\n if (!method) {\n return void 0;\n }\n const { endpointDefaults, decorations } = method;\n if (decorations) {\n cache[methodName] = decorate(\n octokit,\n scope,\n methodName,\n endpointDefaults,\n decorations\n );\n } else {\n cache[methodName] = octokit.request.defaults(endpointDefaults);\n }\n return cache[methodName];\n }\n};\nfunction endpointsToMethods(octokit) {\n const newMethods = {};\n for (const scope of endpointMethodsMap.keys()) {\n newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n function withDecorations(...args) {\n let options = requestWithDefaults.endpoint.merge(...args);\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: void 0\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(\n `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`\n );\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n const options2 = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(\n decorations.renamedParameters\n )) {\n if (name in options2) {\n octokit.log.warn(\n `\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`\n );\n if (!(alias in options2)) {\n options2[alias] = options2[name];\n }\n delete options2[name];\n }\n }\n return requestWithDefaults(options2);\n }\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\nexport {\n endpointsToMethods\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,UAAU;;;ACAhB,IAAM,YAAY;AAAA,EAChB,SAAS;AAAA,IACP,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oCAAoC;AAAA,IACxD,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,8CAA8C;AAAA,IACnE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,oDAAoD;AAAA,MAClD;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,0CAA0C;AAAA,IAChE,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,qCAAqC;AAAA,IAClE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iDAAiD;AAAA,IACxE,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,cAAc,CAAC,+CAA+C;AAAA,IAC9D,gBAAgB,CAAC,0CAA0C;AAAA,IAC3D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,WAAW,uCAAuC,EAAE;AAAA,IAClE;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,eAAe,CAAC,yDAAyD;AAAA,IACzE,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,6CAA6C;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,6CAA6C;AAAA,IACpE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iCAAiC;AAAA,IAClD,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,0DAA0D;AAAA,MACxD;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,iCAAiC;AAAA,IAC/D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,wCAAwC;AAAA,IAClE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,wDAAwD;AAAA,IACxE,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,iDAAiD;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,kDAAkD;AAAA,MAChD;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,uCAAuC,CAAC,kCAAkC;AAAA,IAC1E,wBAAwB,CAAC,2CAA2C;AAAA,IACpE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,YAAY;AAAA,IACvB,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,WAAW,CAAC,wCAAwC;AAAA,IACpD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,gCAAgC,CAAC,8BAA8B;AAAA,IAC/D,uCAAuC,CAAC,oBAAoB;AAAA,IAC5D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,aAAa;AAAA,IAChC,gCAAgC,CAAC,qCAAqC;AAAA,IACtE,yBAAyB,CAAC,qCAAqC;AAAA,IAC/D,qBAAqB,CAAC,wBAAwB;AAAA,IAC9C,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,kCAAkC;AAAA,IACnD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,qCAAqC,CAAC,mBAAmB;AAAA,IACzD,wBAAwB,CAAC,+BAA+B;AAAA,IACxD,wBAAwB,CAAC,qCAAqC;AAAA,IAC9D,uBAAuB,CAAC,sCAAsC;AAAA,IAC9D,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,yBAAyB,CAAC,oBAAoB;AAAA,IAC9C,6BAA6B,CAAC,yCAAyC;AAAA,IACvE,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B,CAAC,kCAAkC;AAAA,IACjE,gCAAgC,CAAC,qCAAqC;AAAA,EACxE;AAAA,EACA,MAAM;AAAA,IACJ,uBAAuB;AAAA,MACrB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,2CAA2C,EAAE;AAAA,IACnE;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,YAAY,CAAC,sCAAsC;AAAA,IACnD,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,oBAAoB,CAAC,6CAA6C;AAAA,IAClE,aAAa,CAAC,wCAAwC;AAAA,IACtD,kBAAkB,CAAC,UAAU;AAAA,IAC7B,WAAW,CAAC,sBAAsB;AAAA,IAClC,iBAAiB,CAAC,0CAA0C;AAAA,IAC5D,oBAAoB,CAAC,8BAA8B;AAAA,IACnD,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oCAAoC;AAAA,IAC1D,wBAAwB,CAAC,sBAAsB;AAAA,IAC/C,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,wBAAwB;AAAA,IAC5C,uCAAuC,CAAC,yBAAyB;AAAA,IACjE,WAAW,CAAC,gCAAgC;AAAA,IAC5C,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mCAAmC,CAAC,gCAAgC;AAAA,IACpE,uCAAuC,CAAC,iCAAiC;AAAA,IACzE,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,0BAA0B;AAAA,IAClD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,gDAAgD,EAAE;AAAA,IACxE;AAAA,IACA,gDAAgD;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,YAAY,CAAC,uCAAuC;AAAA,IACpD,+BAA+B,CAAC,4BAA4B;AAAA,IAC5D,YAAY,CAAC,6CAA6C;AAAA,IAC1D,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,wBAAwB;AAAA,EACtD;AAAA,EACA,SAAS;AAAA,IACP,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,2CAA2C;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,CAAC,uCAAuC;AAAA,IAChD,aAAa,CAAC,yCAAyC;AAAA,IACvD,KAAK,CAAC,qDAAqD;AAAA,IAC3D,UAAU,CAAC,yDAAyD;AAAA,IACpE,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY,CAAC,oDAAoD;AAAA,IACjE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,uDAAuD;AAAA,EAClE;AAAA,EACA,cAAc;AAAA,IACZ,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,UAAU,eAAe,EAAE;AAAA,IACpD;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uDAAuD;AAAA,IACzE,UAAU,CAAC,2DAA2D;AAAA,IACtE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sCAAsC;AAAA,IACzD,mBAAmB,CAAC,gDAAgD;AAAA,IACpE,qBAAqB;AAAA,MACnB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,oBAAoB,EAAE;AAAA,IACpD;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,kDAAkD;AAAA,IACvE,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,EACjE;AAAA,EACA,gBAAgB;AAAA,IACd,sBAAsB,CAAC,uBAAuB;AAAA,IAC9C,gBAAgB,CAAC,6BAA6B;AAAA,EAChD;AAAA,EACA,YAAY;AAAA,IACV,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,uBAAuB;AAAA,IACpD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,uCAAuC;AAAA,IACjE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,QAAQ,MAAM,EAAE;AAAA,IACzC;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,8BAA8B;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,8CAA8C;AAAA,IAC1E,0BAA0B,CAAC,6CAA6C;AAAA,IACxE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,yCAAyC;AAAA,EACxE;AAAA,EACA,SAAS;AAAA,IACP,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,EAC5D;AAAA,EACA,YAAY;AAAA,IACV,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,4DAA4D;AAAA,IACvE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,YAAY,CAAC,iDAAiD;AAAA,EAChE;AAAA,EACA,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE;AAAA,EAC/B,OAAO;AAAA,IACL,gBAAgB,CAAC,2BAA2B;AAAA,IAC5C,QAAQ,CAAC,aAAa;AAAA,IACtB,eAAe,CAAC,gCAAgC;AAAA,IAChD,QAAQ,CAAC,yBAAyB;AAAA,IAClC,eAAe,CAAC,+CAA+C;AAAA,IAC/D,MAAM,CAAC,6BAA6B;AAAA,IACpC,KAAK,CAAC,sBAAsB;AAAA,IAC5B,YAAY,CAAC,4CAA4C;AAAA,IACzD,aAAa,CAAC,4BAA4B;AAAA,IAC1C,MAAM,CAAC,YAAY;AAAA,IACnB,cAAc,CAAC,+BAA+B;AAAA,IAC9C,aAAa,CAAC,8BAA8B;AAAA,IAC5C,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,4BAA4B;AAAA,IACxC,YAAY,CAAC,mBAAmB;AAAA,IAChC,aAAa,CAAC,oBAAoB;AAAA,IAClC,MAAM,CAAC,2BAA2B;AAAA,IAClC,QAAQ,CAAC,8BAA8B;AAAA,IACvC,QAAQ,CAAC,wBAAwB;AAAA,IACjC,eAAe,CAAC,8CAA8C;AAAA,EAChE;AAAA,EACA,KAAK;AAAA,IACH,YAAY,CAAC,sCAAsC;AAAA,IACnD,cAAc,CAAC,wCAAwC;AAAA,IACvD,WAAW,CAAC,qCAAqC;AAAA,IACjD,WAAW,CAAC,qCAAqC;AAAA,IACjD,YAAY,CAAC,sCAAsC;AAAA,IACnD,WAAW,CAAC,6CAA6C;AAAA,IACzD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,WAAW,CAAC,oDAAoD;AAAA,IAChE,QAAQ,CAAC,yCAAyC;AAAA,IAClD,QAAQ,CAAC,8CAA8C;AAAA,IACvD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,kBAAkB,CAAC,mDAAmD;AAAA,IACtE,WAAW,CAAC,4CAA4C;AAAA,EAC1D;AAAA,EACA,WAAW;AAAA,IACT,iBAAiB,CAAC,0BAA0B;AAAA,IAC5C,aAAa,CAAC,iCAAiC;AAAA,EACjD;AAAA,EACA,cAAc;AAAA,IACZ,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,IACA,wCAAwC,CAAC,iCAAiC;AAAA,IAC1E,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,wCAAwC,EAAE;AAAA,IACxE;AAAA,IACA,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yDAAyD;AAAA,IACrE,wBAAwB,CAAC,gDAAgD;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,mCAAmC;AAAA,IAC5C,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,4CAA4C;AAAA,IAC1D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iDAAiD;AAAA,IACvD,YAAY,CAAC,wDAAwD;AAAA,IACrE,UAAU,CAAC,oDAAoD;AAAA,IAC/D,UAAU,CAAC,yCAAyC;AAAA,IACpD,cAAc,CAAC,yDAAyD;AAAA,IACxE,MAAM,CAAC,aAAa;AAAA,IACpB,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,0DAA0D;AAAA,IACzE,qBAAqB,CAAC,2CAA2C;AAAA,IACjE,YAAY,CAAC,wDAAwD;AAAA,IACrE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,kBAAkB;AAAA,IAC7C,YAAY,CAAC,wBAAwB;AAAA,IACrC,aAAa,CAAC,kCAAkC;AAAA,IAChD,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,kCAAkC;AAAA,IACtD,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,MAAM,CAAC,sDAAsD;AAAA,IAC7D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,WAAW,CAAC,wDAAwD;AAAA,IACpE,QAAQ,CAAC,yDAAyD;AAAA,IAClE,QAAQ,CAAC,mDAAmD;AAAA,IAC5D,eAAe,CAAC,0DAA0D;AAAA,IAC1E,aAAa,CAAC,2CAA2C;AAAA,IACzD,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,KAAK,CAAC,yBAAyB;AAAA,IAC/B,oBAAoB,CAAC,eAAe;AAAA,IACpC,YAAY,CAAC,mCAAmC;AAAA,EAClD;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,CAAC,gBAAgB;AAAA,IACzB,WAAW;AAAA,MACT;AAAA,MACA,EAAE,SAAS,EAAE,gBAAgB,4BAA4B,EAAE;AAAA,IAC7D;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,KAAK,CAAC,WAAW;AAAA,IACjB,gBAAgB,CAAC,eAAe;AAAA,IAChC,YAAY,CAAC,cAAc;AAAA,IAC3B,QAAQ,CAAC,UAAU;AAAA,IACnB,MAAM,CAAC,OAAO;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,+BAA+B,CAAC,qCAAqC;AAAA,IACrE,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,YAAY,CAAC,4BAA4B;AAAA,IACzC,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,wDAAwD;AAAA,IAC1E,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,cAAc,+BAA+B,EAAE;AAAA,IAC7D;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,uBAAuB;AAAA,IACnD,aAAa,CAAC,6BAA6B;AAAA,IAC3C,aAAa;AAAA,MACX;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,mCAAmC;AAAA,IAC/C,kBAAkB,CAAC,gDAAgD;AAAA,IACnE,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,wBAAwB,CAAC,oCAAoC;AAAA,IAC7D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,8BAA8B,CAAC,qCAAqC;AAAA,IACpE,kBAAkB,CAAC,8BAA8B;AAAA,IACjD,gCAAgC,CAAC,qCAAqC;AAAA,IACtE,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,wBAAwB;AAAA,IACxC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,oCAAoC;AAAA,IACpD,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iBAAiB;AAAA,IACvB,wBAAwB,CAAC,mCAAmC;AAAA,IAC5D,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,mCAAmC,CAAC,kCAAkC;AAAA,IACtE,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,8CAA8C;AAAA,IAC3D,YAAY,CAAC,iCAAiC;AAAA,IAC9C,wBAAwB,CAAC,wCAAwC;AAAA,IACjE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,oBAAoB;AAAA,IAC3B,sBAAsB,CAAC,+BAA+B;AAAA,IACtD,kBAAkB,CAAC,wBAAwB;AAAA,IAC3C,oCAAoC,CAAC,mCAAmC;AAAA,IACxE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,0BAA0B,CAAC,gBAAgB;AAAA,IAC3C,aAAa,CAAC,4BAA4B;AAAA,IAC1C,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,aAAa,CAAC,yBAAyB;AAAA,IACvC,qCAAqC,CAAC,4BAA4B;AAAA,IAClE,kBAAkB,CAAC,oDAAoD;AAAA,IACvE,kBAAkB,CAAC,oDAAoD;AAAA,IACvE,cAAc,CAAC,oCAAoC;AAAA,IACnD,wCAAwC;AAAA,MACtC;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,gDAAgD;AAAA,IACvE,eAAe,CAAC,wCAAwC;AAAA,IACxD,wBAAwB,CAAC,6BAA6B;AAAA,IACtD,mBAAmB,CAAC,gCAAgC;AAAA,IACpD,0BAA0B,CAAC,mCAAmC;AAAA,IAC9D,uBAAuB,CAAC,4CAA4C;AAAA,IACpE,cAAc,CAAC,uBAAuB;AAAA,IACtC,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,wCAAwC;AAAA,IACtD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,uCAAuC;AAAA,IACtD,yBAAyB,CAAC,2CAA2C;AAAA,IACrE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,QAAQ,CAAC,mBAAmB;AAAA,IAC5B,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,eAAe,CAAC,mCAAmC;AAAA,IACnD,2BAA2B,CAAC,0CAA0C;AAAA,EACxE;AAAA,EACA,UAAU;AAAA,IACR,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,YAAY,2CAA2C,EAAE;AAAA,IACvE;AAAA,IACA,6DAA6D;AAAA,MAC3D;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,SAAS;AAAA,UACP;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4DAA4D;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,uDAAuD;AAAA,MACrD;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,kCAAkC,CAAC,oBAAoB;AAAA,IACvD,6BAA6B,CAAC,0BAA0B;AAAA,IACxD,qBAAqB,CAAC,gCAAgC;AAAA,IACtD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,qCAAqC;AAAA,IACpD,4BAA4B,CAAC,qBAAqB;AAAA,IAClD,cAAc,CAAC,2BAA2B;AAAA,IAC1C,eAAe,CAAC,qCAAqC;AAAA,IACrD,QAAQ,CAAC,+BAA+B;AAAA,IACxC,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,sCAAsC;AAAA,IACrD,KAAK,CAAC,4BAA4B;AAAA,IAClC,SAAS,CAAC,uCAAuC;AAAA,IACjD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yCAAyC;AAAA,IACrD,mBAAmB,CAAC,0CAA0C;AAAA,IAC9D,aAAa,CAAC,oCAAoC;AAAA,IAClD,YAAY,CAAC,0BAA0B;AAAA,IACvC,aAAa,CAAC,oCAAoC;AAAA,IAClD,aAAa,CAAC,gCAAgC;AAAA,IAC9C,UAAU,CAAC,8CAA8C;AAAA,IACzD,YAAY,CAAC,0CAA0C;AAAA,IACvD,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,YAAY,CAAC,yCAAyC;AAAA,IACtD,cAAc,CAAC,qCAAqC;AAAA,EACtD;AAAA,EACA,OAAO;AAAA,IACL,eAAe,CAAC,qDAAqD;AAAA,IACrE,QAAQ,CAAC,kCAAkC;AAAA,IAC3C,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,cAAc,CAAC,wDAAwD;AAAA,IACvE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,KAAK,CAAC,+CAA+C;AAAA,IACrD,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uDAAuD;AAAA,IAC1E,MAAM,CAAC,iCAAiC;AAAA,IACxC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,uDAAuD;AAAA,IACrE,WAAW,CAAC,qDAAqD;AAAA,IACjE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,0CAA0C;AAAA,IACtE,aAAa,CAAC,uDAAuD;AAAA,IACrE,OAAO,CAAC,qDAAqD;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,iDAAiD;AAAA,IAC1D,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE;AAAA,EACtC,WAAW;AAAA,IACT,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,2DAA2D;AAAA,IAC1E,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,6CAA6C;AAAA,IAChE,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,2CAA2C;AAAA,IAChE,iBAAiB,CAAC,iCAAiC;AAAA,IACnD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,4BAA4B,CAAC,kBAAkB;AAAA,IAC/C,YAAY,CAAC,kCAAkC;AAAA,IAC/C,aAAa,CAAC,wBAAwB;AAAA,IACtC,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,2CAA2C;AAAA,IACxE,kBAAkB,CAAC,2BAA2B;AAAA,IAC9C,uBAAuB,CAAC,8CAA8C;AAAA,IACtE,iBAAiB,CAAC,kCAAkC;AAAA,IACpD,eAAe,CAAC,qCAAqC;AAAA,IACrD,mBAAmB,CAAC,qCAAqC;AAAA,IACzD,qBAAqB,CAAC,4CAA4C;AAAA,IAClE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,kCAAkC;AAAA,IAClD,mBAAmB;AAAA,MACjB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sDAAsD;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,YAAY,CAAC,8CAA8C;AAAA,IAC3D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,oDAAoD;AAAA,IACpE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,8CAA8C;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wBAAwB,EAAE;AAAA,IACjD;AAAA,IACA,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,KAAK,CAAC,2BAA2B;AAAA,IACjC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,kCAAkC;AAAA,IACjD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mDAAmD;AAAA,IACjE,WAAW,CAAC,6CAA6C;AAAA,IACzD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,WAAW,CAAC,0CAA0C;AAAA,IACtD,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,gDAAgD;AAAA,IAC1E,WAAW,CAAC,yCAAyC;AAAA,IACrD,wBAAwB,CAAC,iDAAiD;AAAA,IAC1E,kBAAkB,CAAC,iDAAiD;AAAA,IACpE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,6CAA6C;AAAA,IAC1E,YAAY,CAAC,2CAA2C;AAAA,IACxD,sBAAsB,CAAC,8CAA8C;AAAA,IACrE,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,6CAA6C;AAAA,IACzE,cAAc,CAAC,yCAAyC;AAAA,IACxD,eAAe,CAAC,uDAAuD;AAAA,IACvE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,+CAA+C;AAAA,IACrE,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,iBAAiB,CAAC,sDAAsD;AAAA,IACxE,kBAAkB,CAAC,sCAAsC;AAAA,IACzD,eAAe,CAAC,uCAAuC;AAAA,IACvD,gBAAgB,CAAC,0BAA0B;AAAA,IAC3C,UAAU,CAAC,iCAAiC;AAAA,IAC5C,eAAe,CAAC,mDAAmD;AAAA,IACnE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,WAAW,CAAC,kCAAkC;AAAA,IAC9C,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,iDAAiD;AAAA,IAC9D,iBAAiB,CAAC,sDAAsD;AAAA,IACxE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,gDAAgD;AAAA,IACpE,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,IAC/D,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,UAAU,CAAC,yCAAyC;AAAA,IACpD,YAAY,CAAC,2CAA2C;AAAA,IACxD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,oCAAoC;AAAA,IACnD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,oCAAoC;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,gCAAgC;AAAA,IACjD,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,YAAY,CAAC,uBAAuB;AAAA,IACpC,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,qCAAqC,CAAC,kCAAkC;AAAA,IACxE,eAAe,CAAC,qCAAqC;AAAA,IACrD,iBAAiB,CAAC,wCAAwC;AAAA,IAC1D,YAAY,CAAC,mBAAmB;AAAA,IAChC,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,oCAAoC;AAAA,IACnD,mBAAmB,CAAC,2CAA2C;AAAA,IAC/D,UAAU,CAAC,gCAAgC;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,iCAAiC;AAAA,IAChD,OAAO,CAAC,mCAAmC;AAAA,IAC3C,eAAe,CAAC,2CAA2C;AAAA,IAC3D,aAAa,CAAC,kDAAkD;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,cAAc,CAAC,qDAAqD;AAAA,IACpE,kBAAkB,CAAC,kCAAkC;AAAA,IACrD,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,UAAU,CAAC,qCAAqC;AAAA,IAChD,QAAQ,CAAC,6BAA6B;AAAA,IACtC,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,iCAAiC;AAAA,IACnE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,IAC1D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,mDAAmD;AAAA,IACnE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,iDAAiD;AAAA,IACrE,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,6BAA6B,EAAE;AAAA,IACtD;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,6CAA6C;AAAA,IAC7D,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,EAAE,SAAS,6BAA6B;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM,CAAC,kBAAkB;AAAA,IACzB,SAAS,CAAC,qBAAqB;AAAA,IAC/B,uBAAuB,CAAC,oBAAoB;AAAA,IAC5C,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,0BAA0B;AAAA,IAClC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,mBAAmB;AAAA,EAC7B;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,MACR;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mBAAmB,CAAC,kDAAkD;AAAA,IACtE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,MACV;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,2BAA2B;AAAA,IAC/C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iBAAiB;AAAA,IACxC,6BAA6B,CAAC,qCAAqC;AAAA,IACnE,0BAA0B,CAAC,+CAA+C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,wBAAwB;AAAA,IACjC,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,uBAAuB;AAAA,IAC9B,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,qCAAqC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,IACL,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,8BAA8B,EAAE;AAAA,IACvD;AAAA,IACA,8BAA8B,CAAC,mBAAmB;AAAA,IAClD,sCAAsC,CAAC,4BAA4B;AAAA,IACnE,OAAO,CAAC,6BAA6B;AAAA,IACrC,cAAc,CAAC,6BAA6B;AAAA,IAC5C,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,sCAAsC,CAAC,gCAAgC;AAAA,IACvE,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,qBAAqB;AAAA,IACxD,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,iBAAiB;AAAA,IAC1D,yCAAyC,CAAC,6BAA6B;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,oCAAoC;AAAA,IACvE,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,yCAAyC,CAAC,8BAA8B;AAAA,IACxE,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,gCAAgC;AAAA,IACzC,kBAAkB,CAAC,WAAW;AAAA,IAC9B,eAAe,CAAC,uBAAuB;AAAA,IACvC,mBAAmB,CAAC,iCAAiC;AAAA,IACrD,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+BAA+B,EAAE;AAAA,IACxD;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,iCAAiC;AAAA,MAC/B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,qCAAqC,EAAE;AAAA,IAC9D;AAAA,IACA,qCAAqC,CAAC,yBAAyB;AAAA,IAC/D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,MAAM,CAAC,YAAY;AAAA,IACnB,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,mCAAmC,CAAC,qBAAqB;AAAA,IACzD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,oBAAoB;AAAA,IACtD,oBAAoB,CAAC,gCAAgC;AAAA,IACrD,kCAAkC;AAAA,MAChC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,uBAAuB,CAAC,4BAA4B;AAAA,IACpD,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC,CAAC,gBAAgB;AAAA,IACxD,wCAAwC,CAAC,2BAA2B;AAAA,IACpE,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,2BAA2B,CAAC,wCAAwC;AAAA,IACpE,2CAA2C;AAAA,MACzC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+CAA+C,EAAE;AAAA,IACxE;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,SAAS,CAAC,gCAAgC;AAAA,IAC1C,UAAU,CAAC,mCAAmC;AAAA,IAC9C,qBAAqB,CAAC,aAAa;AAAA,EACrC;AACF;AACA,IAAI,oBAAoB;;;ACn8DxB,IAAM,qBAAqC,oBAAI,IAAI;AACnD,WAAW,CAAC,OAAO,SAAS,KAAK,OAAO,QAAQ,iBAAS,GAAG;AAC1D,aAAW,CAAC,YAAY,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AAC9D,UAAM,CAAC,OAAO,UAAU,WAAW,IAAI;AACvC,UAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACrC,UAAM,mBAAmB,OAAO;AAAA,MAC9B;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,mBAAmB,IAAI,KAAK,GAAG;AAClC,yBAAmB,IAAI,OAAuB,oBAAI,IAAI,CAAC;AAAA,IACzD;AACA,uBAAmB,IAAI,KAAK,EAAE,IAAI,YAAY;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AACA,IAAM,UAAU;AAAA,EACd,IAAI,EAAE,MAAM,GAAG,YAAY;AACzB,WAAO,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAAA,EACrD;AAAA,EACA,yBAAyB,QAAQ,YAAY;AAC3C,WAAO;AAAA,MACL,OAAO,KAAK,IAAI,QAAQ,UAAU;AAAA;AAAA,MAElC,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,eAAe,QAAQ,YAAY,YAAY;AAC7C,WAAO,eAAe,OAAO,OAAO,YAAY,UAAU;AAC1D,WAAO;AAAA,EACT;AAAA,EACA,eAAe,QAAQ,YAAY;AACjC,WAAO,OAAO,MAAM,UAAU;AAC9B,WAAO;AAAA,EACT;AAAA,EACA,QAAQ,EAAE,MAAM,GAAG;AACjB,WAAO,CAAC,GAAG,mBAAmB,IAAI,KAAK,EAAE,KAAK,CAAC;AAAA,EACjD;AAAA,EACA,IAAI,QAAQ,YAAY,OAAO;AAC7B,WAAO,OAAO,MAAM,UAAU,IAAI;AAAA,EACpC;AAAA,EACA,IAAI,EAAE,SAAS,OAAO,MAAM,GAAG,YAAY;AACzC,QAAI,MAAM,UAAU,GAAG;AACrB,aAAO,MAAM,UAAU;AAAA,IACzB;AACA,UAAM,SAAS,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAC3D,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,UAAM,EAAE,kBAAkB,YAAY,IAAI;AAC1C,QAAI,aAAa;AACf,YAAM,UAAU,IAAI;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,UAAU,IAAI,QAAQ,QAAQ,SAAS,gBAAgB;AAAA,IAC/D;AACA,WAAO,MAAM,UAAU;AAAA,EACzB;AACF;AACA,SAAS,mBAAmB,SAAS;AACnC,QAAM,aAAa,CAAC;AACpB,aAAW,SAAS,mBAAmB,KAAK,GAAG;AAC7C,eAAW,KAAK,IAAI,IAAI,MAAM,EAAE,SAAS,OAAO,OAAO,CAAC,EAAE,GAAG,OAAO;AAAA,EACtE;AACA,SAAO;AACT;AACA,SAAS,SAAS,SAAS,OAAO,YAAY,UAAU,aAAa;AACnE,QAAM,sBAAsB,QAAQ,QAAQ,SAAS,QAAQ;AAC7D,WAAS,mBAAmB,MAAM;AAChC,QAAI,UAAU,oBAAoB,SAAS,MAAM,GAAG,IAAI;AACxD,QAAI,YAAY,WAAW;AACzB,gBAAU,OAAO,OAAO,CAAC,GAAG,SAAS;AAAA,QACnC,MAAM,QAAQ,YAAY,SAAS;AAAA,QACnC,CAAC,YAAY,SAAS,GAAG;AAAA,MAC3B,CAAC;AACD,aAAO,oBAAoB,OAAO;AAAA,IACpC;AACA,QAAI,YAAY,SAAS;AACvB,YAAM,CAAC,UAAU,aAAa,IAAI,YAAY;AAC9C,cAAQ,IAAI;AAAA,QACV,WAAW,KAAK,IAAI,UAAU,kCAAkC,QAAQ,IAAI,aAAa;AAAA,MAC3F;AAAA,IACF;AACA,QAAI,YAAY,YAAY;AAC1B,cAAQ,IAAI,KAAK,YAAY,UAAU;AAAA,IACzC;AACA,QAAI,YAAY,mBAAmB;AACjC,YAAM,WAAW,oBAAoB,SAAS,MAAM,GAAG,IAAI;AAC3D,iBAAW,CAAC,MAAM,KAAK,KAAK,OAAO;AAAA,QACjC,YAAY;AAAA,MACd,GAAG;AACD,YAAI,QAAQ,UAAU;AACpB,kBAAQ,IAAI;AAAA,YACV,IAAI,IAAI,0CAA0C,KAAK,IAAI,UAAU,aAAa,KAAK;AAAA,UACzF;AACA,cAAI,EAAE,SAAS,WAAW;AACxB,qBAAS,KAAK,IAAI,SAAS,IAAI;AAAA,UACjC;AACA,iBAAO,SAAS,IAAI;AAAA,QACtB;AAAA,MACF;AACA,aAAO,oBAAoB,QAAQ;AAAA,IACrC;AACA,WAAO,oBAAoB,GAAG,IAAI;AAAA,EACpC;AACA,SAAO,OAAO,OAAO,iBAAiB,mBAAmB;AAC3D;;;AHvHA,SAAS,oBAAoB,SAAS;AACpC,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;AACA,oBAAoB,UAAU;AAC9B,SAAS,0BAA0B,SAAS;AAC1C,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,MAAM;AAAA,EACR;AACF;AACA,0BAA0B,UAAU;", + "names": [] +} diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js new file mode 100644 index 0000000000..8a2aa969e7 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js @@ -0,0 +1,125 @@ +import ENDPOINTS from "./generated/endpoints.js"; +const endpointMethodsMap = /* @__PURE__ */ new Map(); +for (const [scope, endpoints] of Object.entries(ENDPOINTS)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults + ); + if (!endpointMethodsMap.has(scope)) { + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); + } + endpointMethodsMap.get(scope).set(methodName, { + scope, + methodName, + endpointDefaults, + decorations + }); + } +} +const handler = { + has({ scope }, methodName) { + return endpointMethodsMap.get(scope).has(methodName); + }, + getOwnPropertyDescriptor(target, methodName) { + return { + value: this.get(target, methodName), + // ensures method is in the cache + configurable: true, + writable: true, + enumerable: true + }; + }, + defineProperty(target, methodName, descriptor) { + Object.defineProperty(target.cache, methodName, descriptor); + return true; + }, + deleteProperty(target, methodName) { + delete target.cache[methodName]; + return true; + }, + ownKeys({ scope }) { + return [...endpointMethodsMap.get(scope).keys()]; + }, + set(target, methodName, value) { + return target.cache[methodName] = value; + }, + get({ octokit, scope, cache }, methodName) { + if (cache[methodName]) { + return cache[methodName]; + } + const method = endpointMethodsMap.get(scope).get(methodName); + if (!method) { + return void 0; + } + const { endpointDefaults, decorations } = method; + if (decorations) { + cache[methodName] = decorate( + octokit, + scope, + methodName, + endpointDefaults, + decorations + ); + } else { + cache[methodName] = octokit.request.defaults(endpointDefaults); + } + return cache[methodName]; + } +}; +function endpointsToMethods(octokit) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + function withDecorations(...args) { + let options = requestWithDefaults.endpoint.merge(...args); + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: void 0 + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + const options2 = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { + if (name in options2) { + octokit.log.warn( + `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` + ); + if (!(alias in options2)) { + options2[alias] = options2[name]; + } + delete options2[name]; + } + } + return requestWithDefaults(options2); + } + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} +export { + endpointsToMethods +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js new file mode 100644 index 0000000000..5950ad3e6b --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js @@ -0,0 +1,1992 @@ +const Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + ], + createEnvironmentVariable: [ + "POST /repositories/{repository_id}/environments/{environment_name}/variables" + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token" + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token" + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token" + ], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + ], + deleteActionsCacheById: [ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + ], + deleteActionsCacheByKey: [ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + deleteRepoVariable: [ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}" + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + ], + forceCancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + ], + generateRunnerJitconfigForOrg: [ + "POST /orgs/{org}/actions/runners/generate-jitconfig" + ], + generateRunnerJitconfigForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + ], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: [ + "GET /orgs/{org}/actions/cache/usage-by-repository" + ], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions" + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + getGithubActionsDefaultWorkflowPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions/workflow" + ], + getGithubActionsDefaultWorkflowPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/workflow" + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions" + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions" + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/access" + ], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables" + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + ], + listLabelsForSelfHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/runners/{runner_id}/labels" + ], + listLabelsForSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: [ + "GET /repos/{owner}/{repo}/actions/organization-secrets" + ], + listRepoOrganizationVariables: [ + "GET /repos/{owner}/{repo}/actions/organization-variables" + ], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads" + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + listSelectedReposForOrgVariable: [ + "GET /orgs/{org}/actions/variables/{name}/repositories" + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories" + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + ], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + ], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" + ], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + removeCustomLabelFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + ], + removeCustomLabelFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgVariable: [ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + reviewCustomGatesForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions" + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + setCustomLabelsForSelfHostedRunnerForOrg: [ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + ], + setCustomLabelsForSelfHostedRunnerForRepo: [ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + setCustomOidcSubClaimForRepo: [ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + setGithubActionsDefaultWorkflowPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/workflow" + ], + setGithubActionsDefaultWorkflowPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions" + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories" + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories" + ], + setWorkflowAccessToRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/access" + ], + updateEnvironmentVariable: [ + "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: [ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + ] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription" + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription" + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}" + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public" + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications" + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription" + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}" + ], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens" + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}" + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}" + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories" + ], + listInstallationRequestsForAuthenticatedApp: [ + "GET /app/installation-requests" + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed" + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts" + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}" + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended" + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } } + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getCodeqlDatabase: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" + ], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] } + ], + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + ], + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/exports/{export_id}" + ], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: [ + "GET /orgs/{org}/codespaces", + {}, + { renamedParameters: { org_id: "org" } } + ], + listInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" + ], + removeRepositoryForSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] + }, + dependabot: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/dependabot/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ] + }, + dependencyGraph: { + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } + ] + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + ] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } } + ] + }, + meta: { + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: [ + "DELETE /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" + } + ], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + getCommitAuthors: [ + "GET /repos/{owner}/{repo}/import/authors", + {}, + { + deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors" + } + ], + getImportStatus: [ + "GET /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status" + } + ], + getLargeFiles: [ + "GET /repos/{owner}/{repo}/import/large_files", + {}, + { + deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" + } + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories" + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] } + ], + mapCommitAuthor: [ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", + {}, + { + deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author" + } + ], + setLfsPreference: [ + "PATCH /repos/{owner}/{repo}/import/lfs", + {}, + { + deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference" + } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: [ + "PUT /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" + } + ], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ], + updateImport: [ + "PATCH /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" + } + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" + ], + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] + }, + orgs: { + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}" + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: [ + "PATCH /orgs/{org}/properties/values" + ], + createOrUpdateCustomProperty: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + ], + listPatGrantRequestRepositories: [ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" + ], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeCustomProperty: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}" + ], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}" + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + ] + } + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions" + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ] + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}" + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}" + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection" + ], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}" + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" + ], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: [ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}" + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] } + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" } + ] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/secret-scanning/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + securityAdvisories: { + createFork: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" + ], + createPrivateVulnerabilityReport: [ + "POST /repos/{owner}/{repo}/security-advisories/reports" + ], + createRepositoryAdvisory: [ + "POST /repos/{owner}/{repo}/security-advisories" + ], + createRepositoryAdvisoryCveRequest: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + ], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: [ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: [ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ] + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] } + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] } + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] } + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] } + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] } + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; +var endpoints_default = Endpoints; +export { + endpoints_default as default +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js new file mode 100644 index 0000000000..97ef797597 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js @@ -0,0 +1,21 @@ +import { VERSION } from "./version.js"; +import { endpointsToMethods } from "./endpoints-to-methods.js"; +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; +export { + legacyRestEndpointMethods, + restEndpointMethods +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js new file mode 100644 index 0000000000..24785d8cab --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "10.4.1"; +export { + VERSION +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts new file mode 100644 index 0000000000..c46d15bf39 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts @@ -0,0 +1,3 @@ +import type { Octokit } from "@octokit/core"; +import type { RestEndpointMethods } from "./generated/method-types.js"; +export declare function endpointsToMethods(octokit: Octokit): RestEndpointMethods; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts new file mode 100644 index 0000000000..c2f1e81ad8 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts @@ -0,0 +1,3 @@ +import type { EndpointsDefaultsAndDecorations } from "../types.js"; +declare const Endpoints: EndpointsDefaultsAndDecorations; +export default Endpoints; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts new file mode 100644 index 0000000000..697beb9cfe --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts @@ -0,0 +1,12336 @@ +import type { EndpointInterface, RequestInterface } from "@octokit/types"; +import type { RestEndpointMethodTypes } from "./parameters-and-response-types.js"; +export type RestEndpointMethods = { + actions: { + /** + * 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. + */ + addCustomLabelsToSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["addCustomLabelsToSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + addCustomLabelsToSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["addCustomLabelsToSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. 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. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * 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. + */ + addSelectedRepoToOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + approveWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["approveWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + cancelWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["cancelWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create an environment variable that you can reference in a GitHub Actions workflow. + * + * 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. + */ + createEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["createEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * 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. + */ + createOrUpdateEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * 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. + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * 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. + */ + createOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["createOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * 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. + */ + createRegistrationTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * 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. + */ + createRegistrationTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * 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. + */ + createRemoveTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an 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. + */ + createRemoveTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * 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. + */ + createRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["createRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createWorkflowDispatch: { + (params?: RestEndpointMethodTypes["actions"]["createWorkflowDispatch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteActionsCacheById: { + (params?: RestEndpointMethodTypes["actions"]["deleteActionsCacheById"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteActionsCacheByKey: { + (params?: RestEndpointMethodTypes["actions"]["deleteActionsCacheByKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteArtifact: { + (params?: RestEndpointMethodTypes["actions"]["deleteArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an environment using the secret name. + * + * 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. + */ + deleteEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["deleteOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["deleteRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * 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. + */ + deleteSelfHostedRunnerFromOrg: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * 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. + */ + deleteSelfHostedRunnerFromRepo: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + disableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["disableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + disableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["disableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadArtifact: { + (params?: RestEndpointMethodTypes["actions"]["downloadArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadJobLogsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["downloadJobLogsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadWorkflowRunAttemptLogs: { + (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunAttemptLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + enableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["enableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + enableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["enableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + forceCancelWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["forceCancelWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + generateRunnerJitconfigForOrg: { + (params?: RestEndpointMethodTypes["actions"]["generateRunnerJitconfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Generates a configuration that can be passed to the runner application at startup. + * + * 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. + */ + generateRunnerJitconfigForRepo: { + (params?: RestEndpointMethodTypes["actions"]["generateRunnerJitconfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getActionsCacheList: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheList"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getActionsCacheUsage: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + getActionsCacheUsageByRepoForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsageByRepoForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + getActionsCacheUsageForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific artifact for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getArtifact: { + (params?: RestEndpointMethodTypes["actions"]["getArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + getCustomOidcSubClaimForRepo: { + (params?: RestEndpointMethodTypes["actions"]["getCustomOidcSubClaimForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getEnvironmentPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getGithubActionsDefaultWorkflowPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsDefaultWorkflowPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getGithubActionsDefaultWorkflowPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsDefaultWorkflowPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific job in a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getJobForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getJobForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * 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. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["getOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + * @deprecated octokit.rest.actions.getRepoPermissions() has been renamed to octokit.rest.actions.getGithubActionsPermissionsRepository() (2020-11-10) + */ + getRepoPermissions: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPermissions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["getRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getReviewsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getReviewsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow. You can replace `workflow_id` with the workflow + * file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getWorkflowAccessToRepository: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowAccessToRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowRunAttempt: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunAttempt"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowRunUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listArtifactsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listArtifactsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an environment without revealing their + * encrypted values. + * + * 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. + */ + listEnvironmentSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listEnvironmentSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listEnvironmentVariables: { + (params?: RestEndpointMethodTypes["actions"]["listEnvironmentVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listJobsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listJobsForWorkflowRunAttempt: { + (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRunAttempt"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * 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. + */ + listLabelsForSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listLabelsForSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for a self-hosted runner configured in a repository. + * + * 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. + */ + listLabelsForSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listLabelsForSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an organization without revealing their + * encrypted values. + * + * 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. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listOrgVariables: { + (params?: RestEndpointMethodTypes["actions"]["listOrgVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * 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. + */ + listRepoOrganizationSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listRepoOrganizationSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listRepoOrganizationVariables: { + (params?: RestEndpointMethodTypes["actions"]["listRepoOrganizationVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted + * values. + * + * 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. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listRepoVariables: { + (params?: RestEndpointMethodTypes["actions"]["listRepoVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listRepoWorkflows: { + (params?: RestEndpointMethodTypes["actions"]["listRepoWorkflows"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * 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. + */ + listRunnerApplicationsForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * 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. + */ + listRunnerApplicationsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * 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. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * 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. + */ + listSelectedReposForOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listSelfHostedRunnersForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listSelfHostedRunnersForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listWorkflowRunArtifacts: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunArtifacts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/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. + */ + listWorkflowRuns: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRuns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/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. + */ + listWorkflowRunsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reRunJobForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["reRunJobForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reRunWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["reRunWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reRunWorkflowFailedJobs: { + (params?: RestEndpointMethodTypes["actions"]["reRunWorkflowFailedJobs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * 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. + */ + removeAllCustomLabelsFromSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["removeAllCustomLabelsFromSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * 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. + */ + removeAllCustomLabelsFromSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["removeAllCustomLabelsFromSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * 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. + */ + removeCustomLabelFromSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["removeCustomLabelFromSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * 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. + */ + removeCustomLabelFromSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["removeCustomLabelFromSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * 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. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * 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. + */ + removeSelectedRepoFromOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * **Note:** GitHub Apps can only review their own custom deployment protection rules. + * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + reviewCustomGatesForRun: { + (params?: RestEndpointMethodTypes["actions"]["reviewCustomGatesForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reviewPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["reviewPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * 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. + */ + setCustomLabelsForSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["setCustomLabelsForSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * 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. + */ + setCustomLabelsForSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["setCustomLabelsForSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + setCustomOidcSubClaimForRepo: { + (params?: RestEndpointMethodTypes["actions"]["setCustomOidcSubClaimForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setGithubActionsDefaultWorkflowPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsDefaultWorkflowPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setGithubActionsDefaultWorkflowPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsDefaultWorkflowPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * 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. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * 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. + */ + setSelectedReposForOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setWorkflowAccessToRepository: { + (params?: RestEndpointMethodTypes["actions"]["setWorkflowAccessToRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * 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. + */ + updateEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["updateEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * 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. + */ + updateOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["updateOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * 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. + */ + updateRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["updateRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + activity: { + /** + * Whether the authenticated user has starred the repository. + */ + checkRepoIsStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["checkRepoIsStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + deleteRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + deleteThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. 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. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + getFeeds: { + (params?: RestEndpointMethodTypes["activity"]["getFeeds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about whether the authenticated user is subscribed to the repository. + */ + getRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["getRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a notification thread. + */ + getThread: { + (params?: RestEndpointMethodTypes["activity"]["getThread"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + getThreadSubscriptionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["getThreadSubscriptionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + */ + listNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listOrgEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listOrgEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + listPublicEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForRepoNetwork: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForRepoNetwork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicOrgEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicOrgEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * These are events that you've received by watching repositories and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + listReceivedEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReceivedPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + listRepoEvents: { + (params?: RestEndpointMethodTypes["activity"]["listRepoEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all notifications for the current user in the specified repository. + */ + listRepoNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listRepoNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user has starred. + * + * 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. + */ + listReposStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listReposStarredByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories a user is watching. + */ + listReposWatchedByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposWatchedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people that have starred the repository. + * + * 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. + */ + listStargazersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listStargazersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user is watching. + */ + listWatchedReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listWatchedReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people watching the specified repository. + */ + listWatchersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listWatchersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markRepoNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markRepoNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + markThreadAsDone: { + (params?: RestEndpointMethodTypes["activity"]["markThreadAsDone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + markThreadAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markThreadAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + setRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. + */ + setThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + starRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["starRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unstar a repository that the authenticated user has previously starred. + */ + unstarRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["unstarRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + apps: { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * @deprecated octokit.rest.apps.addRepoToInstallation() has been renamed to octokit.rest.apps.addRepoToInstallationForAuthenticatedUser() (2021-10-05) + */ + addRepoToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + */ + addRepoToInstallationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: RestEndpointMethodTypes["apps"]["checkToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + createFromManifest: { + (params?: RestEndpointMethodTypes["apps"]["createFromManifest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. + * + * 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. + * + * When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + createInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["createInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteAuthorization: { + (params?: RestEndpointMethodTypes["apps"]["deleteAuthorization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + deleteInstallation: { + (params?: RestEndpointMethodTypes["apps"]["deleteInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + (params?: RestEndpointMethodTypes["apps"]["deleteToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["apps"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + */ + getBySlug: { + (params?: RestEndpointMethodTypes["apps"]["getBySlug"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getOrgInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getOrgInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getRepoInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getRepoInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccount: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccount"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccountStubbed: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccountStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getUserInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getUserInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["getWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["apps"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlan: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlan"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlanStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlanStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + listInstallationReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the pending installation requests for the authenticated GitHub App. + */ + listInstallationRequestsForAuthenticatedApp: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationRequestsForAuthenticatedApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + listInstallations: { + (params?: RestEndpointMethodTypes["apps"]["listInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + listInstallationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlans: { + (params?: RestEndpointMethodTypes["apps"]["listPlans"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlansStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listPlansStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that an app installation can access. + */ + listReposAccessibleToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["listReposAccessibleToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. + */ + listSubscriptionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. + */ + listSubscriptionsForAuthenticatedUserStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUserStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["apps"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["apps"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * @deprecated octokit.rest.apps.removeRepoFromInstallation() has been renamed to octokit.rest.apps.removeRepoFromInstallationForAuthenticatedUser() (2021-10-05) + */ + removeRepoFromInstallation: { + (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + */ + removeRepoFromInstallationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: RestEndpointMethodTypes["apps"]["resetToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + revokeInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["revokeInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + * + * You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) + * when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App + * as the username and password. + */ + scopeToken: { + (params?: RestEndpointMethodTypes["apps"]["scopeToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + suspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["suspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + unsuspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["unsuspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + updateWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["updateWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + billing: { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + getGithubActionsBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + getGithubActionsBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + getGithubPackagesBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + getGithubPackagesBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + getSharedStorageBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + getSharedStorageBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + checks: { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + create: { + (params?: RestEndpointMethodTypes["checks"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createSuite: { + (params?: RestEndpointMethodTypes["checks"]["createSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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: { + (params?: RestEndpointMethodTypes["checks"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getSuite: { + (params?: RestEndpointMethodTypes["checks"]["getSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listAnnotations: { + (params?: RestEndpointMethodTypes["checks"]["listAnnotations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listForRef: { + (params?: RestEndpointMethodTypes["checks"]["listForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listForSuite: { + (params?: RestEndpointMethodTypes["checks"]["listForSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listSuitesForRef: { + (params?: RestEndpointMethodTypes["checks"]["listSuitesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * 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)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + rerequestRun: { + (params?: RestEndpointMethodTypes["checks"]["rerequestRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + rerequestSuite: { + (params?: RestEndpointMethodTypes["checks"]["rerequestSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + setSuitesPreferences: { + (params?: RestEndpointMethodTypes["checks"]["setSuitesPreferences"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + update: { + (params?: RestEndpointMethodTypes["checks"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codeScanning: { + /** + * 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. + */ + deleteAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["deleteAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * 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. + */ + getCodeqlDatabase: { + (params?: RestEndpointMethodTypes["codeScanning"]["getCodeqlDatabase"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getDefaultSetup: { + (params?: RestEndpointMethodTypes["codeScanning"]["getDefaultSetup"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * 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. + */ + getSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["getSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listAlertInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * 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. + */ + listAlertsForOrg: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all instances of the specified code scanning alert. + * + * 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. + * @deprecated octokit.rest.codeScanning.listAlertsInstances() has been renamed to octokit.rest.codeScanning.listAlertInstances() (2021-04-30) + */ + listAlertsInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the CodeQL databases that are available in a repository. + * + * 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. + */ + listCodeqlDatabases: { + (params?: RestEndpointMethodTypes["codeScanning"]["listCodeqlDatabases"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * **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. + * + * 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. + */ + listRecentAnalyses: { + (params?: RestEndpointMethodTypes["codeScanning"]["listRecentAnalyses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + updateDefaultSetup: { + (params?: RestEndpointMethodTypes["codeScanning"]["updateDefaultSetup"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. 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. + */ + uploadSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["uploadSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codesOfConduct: { + /** + * Returns array of all GitHub's codes of conduct. + */ + getAllCodesOfConduct: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getAllCodesOfConduct"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns information about the specified GitHub code of conduct. + */ + getConductCode: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getConductCode"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codespaces: { + /** + * Adds a repository to the selected repositories for a user's 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. + */ + addRepositoryForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["addRepositoryForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + checkPermissionsForDevcontainer: { + (params?: RestEndpointMethodTypes["codespaces"]["checkPermissionsForDevcontainer"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + codespaceMachinesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["codespaceMachinesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createOrUpdateSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + createWithPrForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createWithPrForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + createWithRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createWithRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + deleteForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteFromOrganization: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteFromOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + exportForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["exportForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getCodespacesForUserInOrg: { + (params?: RestEndpointMethodTypes["codespaces"]["getCodespacesForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + getExportDetailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getExportDetailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + getForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["codespaces"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets an organization 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. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * 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. + */ + getPublicKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getPublicKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["codespaces"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + listDevcontainersInRepositoryForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listDevcontainersInRepositoryForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listInOrganization: { + (params?: RestEndpointMethodTypes["codespaces"]["listInOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + listInRepositoryForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listInRepositoryForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["codespaces"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["codespaces"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the repositories that have been granted the ability to use a user's 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. + */ + listRepositoriesForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listRepositoriesForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listSecretsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listSecretsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + preFlightWithRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["preFlightWithRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + publishForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["publishForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from the selected repositories for a user's 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. + */ + removeRepositoryForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["removeRepositoryForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + repoMachinesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["repoMachinesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Select the repositories that will use a user's 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. + */ + setRepositoriesForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["setRepositoriesForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + startForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["startForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + stopForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["stopForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + stopInOrganization: { + (params?: RestEndpointMethodTypes["codespaces"]["stopInOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + updateForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["updateForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + copilot: { + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + addCopilotSeatsForTeams: { + (params?: RestEndpointMethodTypes["copilot"]["addCopilotSeatsForTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + addCopilotSeatsForUsers: { + (params?: RestEndpointMethodTypes["copilot"]["addCopilotSeatsForUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot seat assignment for all members of each team specified. + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + cancelCopilotSeatAssignmentForTeams: { + (params?: RestEndpointMethodTypes["copilot"]["cancelCopilotSeatAssignmentForTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot seat assignment for each user specified. + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + cancelCopilotSeatAssignmentForUsers: { + (params?: RestEndpointMethodTypes["copilot"]["cancelCopilotSeatAssignmentForUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[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 configure and view details about the organization's Copilot Business subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + getCopilotOrganizationDetails: { + (params?: RestEndpointMethodTypes["copilot"]["getCopilotOrganizationDetails"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Gets the GitHub Copilot seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Organization owners can view GitHub Copilot seat assignment details for members in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + getCopilotSeatDetailsForUser: { + (params?: RestEndpointMethodTypes["copilot"]["getCopilotSeatDetailsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Lists all Copilot seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). + * + * Only organization owners can configure and view details about the organization's Copilot Business or Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + listCopilotSeats: { + (params?: RestEndpointMethodTypes["copilot"]["listCopilotSeats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + dependabot: { + /** + * Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getAlert: { + (params?: RestEndpointMethodTypes["dependabot"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["dependabot"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. Anyone with read access + * to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["dependabot"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * 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. + */ + listAlertsForEnterprise: { + (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listAlertsForOrg: { + (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["dependabot"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["dependabot"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["dependabot"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + dependencyGraph: { + /** + * 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. + */ + createRepositorySnapshot: { + (params?: RestEndpointMethodTypes["dependencyGraph"]["createRepositorySnapshot"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + diffRange: { + (params?: RestEndpointMethodTypes["dependencyGraph"]["diffRange"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + exportSbom: { + (params?: RestEndpointMethodTypes["dependencyGraph"]["exportSbom"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: RestEndpointMethodTypes["emojis"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gists: { + checkIsStarred: { + (params?: RestEndpointMethodTypes["gists"]["checkIsStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + create: { + (params?: RestEndpointMethodTypes["gists"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createComment: { + (params?: RestEndpointMethodTypes["gists"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + delete: { + (params?: RestEndpointMethodTypes["gists"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteComment: { + (params?: RestEndpointMethodTypes["gists"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + fork: { + (params?: RestEndpointMethodTypes["gists"]["fork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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: { + (params?: RestEndpointMethodTypes["gists"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getComment: { + (params?: RestEndpointMethodTypes["gists"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getRevision: { + (params?: RestEndpointMethodTypes["gists"]["getRevision"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + list: { + (params?: RestEndpointMethodTypes["gists"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listComments: { + (params?: RestEndpointMethodTypes["gists"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listCommits: { + (params?: RestEndpointMethodTypes["gists"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public gists for the specified user: + */ + listForUser: { + (params?: RestEndpointMethodTypes["gists"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["gists"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/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. + */ + listPublic: { + (params?: RestEndpointMethodTypes["gists"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + (params?: RestEndpointMethodTypes["gists"]["listStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + star: { + (params?: RestEndpointMethodTypes["gists"]["star"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unstar: { + (params?: RestEndpointMethodTypes["gists"]["unstar"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + update: { + (params?: RestEndpointMethodTypes["gists"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + updateComment: { + (params?: RestEndpointMethodTypes["gists"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + git: { + createBlob: { + (params?: RestEndpointMethodTypes["git"]["createBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createCommit: { + (params?: RestEndpointMethodTypes["git"]["createCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + createRef: { + (params?: RestEndpointMethodTypes["git"]["createRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createTag: { + (params?: RestEndpointMethodTypes["git"]["createTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + createTree: { + (params?: RestEndpointMethodTypes["git"]["createTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteRef: { + (params?: RestEndpointMethodTypes["git"]["deleteRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * 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. + */ + getBlob: { + (params?: RestEndpointMethodTypes["git"]["getBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["git"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + getRef: { + (params?: RestEndpointMethodTypes["git"]["getRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getTag: { + (params?: RestEndpointMethodTypes["git"]["getTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * + * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + getTree: { + (params?: RestEndpointMethodTypes["git"]["getTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + listMatchingRefs: { + (params?: RestEndpointMethodTypes["git"]["listMatchingRefs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateRef: { + (params?: RestEndpointMethodTypes["git"]["updateRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gitignore: { + /** + * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + getAllTemplates: { + (params?: RestEndpointMethodTypes["gitignore"]["getAllTemplates"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getTemplate: { + (params?: RestEndpointMethodTypes["gitignore"]["getTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + interactions: { + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + getRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + getRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + * @deprecated octokit.rest.interactions.getRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.getRestrictionsForAuthenticatedUser() (2021-02-02) + */ + getRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + */ + removeRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + removeRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + * @deprecated octokit.rest.interactions.removeRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.removeRestrictionsForAuthenticatedUser() (2021-02-02) + */ + removeRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + setRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + setRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + setRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + * @deprecated octokit.rest.interactions.setRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.setRestrictionsForAuthenticatedUser() (2021-02-02) + */ + setRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + issues: { + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + addAssignees: { + (params?: RestEndpointMethodTypes["issues"]["addAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + addLabels: { + (params?: RestEndpointMethodTypes["issues"]["addLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkUserCanBeAssigned: { + (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssigned"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkUserCanBeAssignedToIssue: { + (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssignedToIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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`. + */ + create: { + (params?: RestEndpointMethodTypes["issues"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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`. + */ + createComment: { + (params?: RestEndpointMethodTypes["issues"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + createLabel: { + (params?: RestEndpointMethodTypes["issues"]["createLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a milestone. + */ + createMilestone: { + (params?: RestEndpointMethodTypes["issues"]["createMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + deleteComment: { + (params?: RestEndpointMethodTypes["issues"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a label using the given label name. + */ + deleteLabel: { + (params?: RestEndpointMethodTypes["issues"]["deleteLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a milestone using the given milestone number. + */ + deleteMilestone: { + (params?: RestEndpointMethodTypes["issues"]["deleteMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/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: { + (params?: RestEndpointMethodTypes["issues"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * 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`. + */ + getComment: { + (params?: RestEndpointMethodTypes["issues"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single event by the event id. + */ + getEvent: { + (params?: RestEndpointMethodTypes["issues"]["getEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a label using the given name. + */ + getLabel: { + (params?: RestEndpointMethodTypes["issues"]["getLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a milestone using the given milestone number. + */ + getMilestone: { + (params?: RestEndpointMethodTypes["issues"]["getMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * 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`. + */ + list: { + (params?: RestEndpointMethodTypes["issues"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + listAssignees: { + (params?: RestEndpointMethodTypes["issues"]["listAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * 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`. + */ + listComments: { + (params?: RestEndpointMethodTypes["issues"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * 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`. + */ + listCommentsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all events for an issue. + */ + listEvents: { + (params?: RestEndpointMethodTypes["issues"]["listEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists events for a repository. + */ + listEventsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all timeline events for an issue. + */ + listEventsForTimeline: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForTimeline"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * 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`. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["issues"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * 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`. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["issues"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in a repository. Only open issues will be listed. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * 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`. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists labels for issues in a milestone. + */ + listLabelsForMilestone: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for a repository. + */ + listLabelsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for an issue. + */ + listLabelsOnIssue: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsOnIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists milestones for a repository. + */ + listMilestones: { + (params?: RestEndpointMethodTypes["issues"]["listMilestones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + lock: { + (params?: RestEndpointMethodTypes["issues"]["lock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all labels from an issue. + */ + removeAllLabels: { + (params?: RestEndpointMethodTypes["issues"]["removeAllLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes one or more assignees from an issue. + */ + removeAssignees: { + (params?: RestEndpointMethodTypes["issues"]["removeAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + removeLabel: { + (params?: RestEndpointMethodTypes["issues"]["removeLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any previous labels and sets the new labels for an issue. + */ + setLabels: { + (params?: RestEndpointMethodTypes["issues"]["setLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + (params?: RestEndpointMethodTypes["issues"]["unlock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Issue owners and users with push access can edit an issue. + * + * 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`. + */ + update: { + (params?: RestEndpointMethodTypes["issues"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * 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`. + */ + updateComment: { + (params?: RestEndpointMethodTypes["issues"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a label using the given label name. + */ + updateLabel: { + (params?: RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateMilestone: { + (params?: RestEndpointMethodTypes["issues"]["updateMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + licenses: { + /** + * Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: { + (params?: RestEndpointMethodTypes["licenses"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + getAllCommonlyUsed: { + (params?: RestEndpointMethodTypes["licenses"]["getAllCommonlyUsed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * 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). + */ + getForRepo: { + (params?: RestEndpointMethodTypes["licenses"]["getForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + markdown: { + render: { + (params?: RestEndpointMethodTypes["markdown"]["render"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + renderRaw: { + (params?: RestEndpointMethodTypes["markdown"]["renderRaw"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + meta: { + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + get: { + (params?: RestEndpointMethodTypes["meta"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all supported GitHub API versions. + */ + getAllVersions: { + (params?: RestEndpointMethodTypes["meta"]["getAllVersions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the octocat as ASCII art + */ + getOctocat: { + (params?: RestEndpointMethodTypes["meta"]["getOctocat"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a random sentence from the Zen of GitHub + */ + getZen: { + (params?: RestEndpointMethodTypes["meta"]["getZen"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get Hypermedia links to resources accessible in GitHub's REST API + */ + root: { + (params?: RestEndpointMethodTypes["meta"]["root"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + migrations: { + /** + * Stop an import for a repository. + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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). + * + * @deprecated octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import + */ + cancelImport: { + (params?: RestEndpointMethodTypes["migrations"]["cancelImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + deleteArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to a migration archive. + */ + downloadArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["downloadArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + getArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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). + * @deprecated octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors + */ + getCommitAuthors: { + (params?: RestEndpointMethodTypes["migrations"]["getCommitAuthors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View the progress of an import. + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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. + * @deprecated octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status + */ + getImportStatus: { + (params?: RestEndpointMethodTypes["migrations"]["getImportStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List files larger than 100MB found during the import + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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). + * + * @deprecated octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files + */ + getLargeFiles: { + (params?: RestEndpointMethodTypes["migrations"]["getLargeFiles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + getStatusForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + getStatusForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the repositories for this user migration. + */ + listReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the repositories for this user migration. + * @deprecated octokit.rest.migrations.listReposForUser() has been renamed to octokit.rest.migrations.listReposForAuthenticatedUser() (2021-10-05) + */ + listReposForUser: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update an author's identity for the import. Your application can continue updating authors any time before you push + * new commits to the repository. + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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). + * + * @deprecated octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author + */ + mapCommitAuthor: { + (params?: RestEndpointMethodTypes["migrations"]["mapCommitAuthor"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability + * is powered by [Git LFS](https://git-lfs.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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). + * + * @deprecated octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference + */ + setLfsPreference: { + (params?: RestEndpointMethodTypes["migrations"]["setLfsPreference"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["startForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["startForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + * Importing into a GitHub repository with GitHub Actions enabled is not supported and will + * return a status `422 Unprocessable Entity` response. + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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). + * + * @deprecated octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import + */ + startImport: { + (params?: RestEndpointMethodTypes["migrations"]["startImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + unlockRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + unlockRepoForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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). + * @deprecated octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import + */ + updateImport: { + (params?: RestEndpointMethodTypes["migrations"]["updateImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + oidc: { + /** + * 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. + */ + getOidcCustomSubTemplateForOrg: { + (params?: RestEndpointMethodTypes["oidc"]["getOidcCustomSubTemplateForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + updateOidcCustomSubTemplateForOrg: { + (params?: RestEndpointMethodTypes["oidc"]["updateOidcCustomSubTemplateForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + orgs: { + /** + * Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + addSecurityManagerTeam: { + (params?: RestEndpointMethodTypes["orgs"]["addSecurityManagerTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Assigns an organization role to a team in an organization. For more information on organization roles, 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)." + * + * 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. + */ + assignTeamToOrgRole: { + (params?: RestEndpointMethodTypes["orgs"]["assignTeamToOrgRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Assigns an organization role to a member of an organization. For more information on organization roles, 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)." + * + * 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. + */ + assignUserToOrgRole: { + (params?: RestEndpointMethodTypes["orgs"]["assignUserToOrgRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + blockUser: { + (params?: RestEndpointMethodTypes["orgs"]["blockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + cancelInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["cancelInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + checkBlockedUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkBlockedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Check if the provided user is a public member of the organization. + */ + checkPublicMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkPublicMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + convertMemberToOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["convertMemberToOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a custom organization role that can be assigned to users and teams, granting them specific permissions over the organization. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + createCustomOrganizationRole: { + (params?: RestEndpointMethodTypes["orgs"]["createCustomOrganizationRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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)." + */ + createInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["createInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates new or updates existing custom properties defined for an organization in a batch. + * + * 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. + */ + createOrUpdateCustomProperties: { + (params?: RestEndpointMethodTypes["orgs"]["createOrUpdateCustomProperties"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createOrUpdateCustomPropertiesValuesForRepos: { + (params?: RestEndpointMethodTypes["orgs"]["createOrUpdateCustomPropertiesValuesForRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createOrUpdateCustomProperty: { + (params?: RestEndpointMethodTypes["orgs"]["createOrUpdateCustomProperty"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + createWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + delete: { + (params?: RestEndpointMethodTypes["orgs"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a custom organization role. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteCustomOrganizationRole: { + (params?: RestEndpointMethodTypes["orgs"]["deleteCustomOrganizationRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables or disables the specified security feature for all eligible repositories in an organization. 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 `write:org` scope to use this endpoint. + */ + enableOrDisableSecurityProductOnAllOrgRepos: { + (params?: RestEndpointMethodTypes["orgs"]["enableOrDisableSecurityProductOnAllOrgRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about an organization. + * + * 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/). + * + * 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: { + (params?: RestEndpointMethodTypes["orgs"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + getAllCustomProperties: { + (params?: RestEndpointMethodTypes["orgs"]["getAllCustomProperties"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + getCustomProperty: { + (params?: RestEndpointMethodTypes["orgs"]["getCustomProperty"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + getMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + getMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets an organization role that is available to this organization. For more information on organization roles, 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 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. + */ + getOrgRole: { + (params?: RestEndpointMethodTypes["orgs"]["getOrgRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." + */ + getWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org_hook` scope to use this endpoint. + */ + getWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for a webhook configured in an organization. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + list: { + (params?: RestEndpointMethodTypes["orgs"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all GitHub Apps in an organization. The installation count includes + * all GitHub Apps installed on repositories in the organization. + * + * 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. + */ + listAppInstallations: { + (params?: RestEndpointMethodTypes["orgs"]["listAppInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + (params?: RestEndpointMethodTypes["orgs"]["listBlockedUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + listCustomPropertiesValuesForRepos: { + (params?: RestEndpointMethodTypes["orgs"]["listCustomPropertiesValuesForRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + listFailedInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listFailedInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List organizations for the authenticated user. + * + * 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. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + listForUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + listInvitationTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listInvitationTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + listMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of the authenticated user's organization memberships. + */ + listMembershipsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listMembershipsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the teams that are assigned to an organization role. For more information on organization roles, 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 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. + */ + listOrgRoleTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listOrgRoleTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists organization members that are assigned to an organization role. For more information on organization roles, 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 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. + */ + listOrgRoleUsers: { + (params?: RestEndpointMethodTypes["orgs"]["listOrgRoleUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organization roles available in this organization. For more information on organization roles, 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 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. + */ + listOrgRoles: { + (params?: RestEndpointMethodTypes["orgs"]["listOrgRoles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listOrganizationFineGrainedPermissions: { + (params?: RestEndpointMethodTypes["orgs"]["listOrganizationFineGrainedPermissions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + (params?: RestEndpointMethodTypes["orgs"]["listOutsideCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrantRepositories: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRepositories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrantRequestRepositories: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRequestRepositories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrantRequests: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRequests"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrants: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrants"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + listPendingInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listPendingInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listPublicMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * 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. + */ + listSecurityManagerTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listSecurityManagerTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for a webhook configured in an organization. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["orgs"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listWebhooks: { + (params?: RestEndpointMethodTypes["orgs"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates an existing custom organization role. Permission changes will apply to all assignees. For more information on custom organization roles, 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 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 `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patchCustomOrganizationRole: { + (params?: RestEndpointMethodTypes["orgs"]["patchCustomOrganizationRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a delivery for a webhook configured in an organization. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["orgs"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + removeCustomProperty: { + (params?: RestEndpointMethodTypes["orgs"]["removeCustomProperty"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + removeMember: { + (params?: RestEndpointMethodTypes["orgs"]["removeMember"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + removeMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["removeMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["removeOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + removePublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["removePublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." + * + * 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. + */ + removeSecurityManagerTeam: { + (params?: RestEndpointMethodTypes["orgs"]["removeSecurityManagerTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + reviewPatGrantRequest: { + (params?: RestEndpointMethodTypes["orgs"]["reviewPatGrantRequest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + reviewPatGrantRequestsInBulk: { + (params?: RestEndpointMethodTypes["orgs"]["reviewPatGrantRequestsInBulk"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all assigned organization roles from a team. For more information on organization roles, 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)." + * + * 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. + */ + revokeAllOrgRolesTeam: { + (params?: RestEndpointMethodTypes["orgs"]["revokeAllOrgRolesTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Revokes all assigned organization roles from a user. For more information on organization roles, 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)." + * + * 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. + */ + revokeAllOrgRolesUser: { + (params?: RestEndpointMethodTypes["orgs"]["revokeAllOrgRolesUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes an organization role from a team. For more information on organization roles, 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)." + * + * 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. + */ + revokeOrgRoleTeam: { + (params?: RestEndpointMethodTypes["orgs"]["revokeOrgRoleTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove an organization role from a user. For more information on organization roles, 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)." + * + * 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. + */ + revokeOrgRoleUser: { + (params?: RestEndpointMethodTypes["orgs"]["revokeOrgRoleUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + setMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["setMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + setPublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["setPublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unblocks the given user on behalf of the specified organization. + */ + unblockUser: { + (params?: RestEndpointMethodTypes["orgs"]["unblockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * 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. + */ + update: { + (params?: RestEndpointMethodTypes["orgs"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + updateMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["updateMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + updatePatAccess: { + (params?: RestEndpointMethodTypes["orgs"]["updatePatAccess"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + updatePatAccesses: { + (params?: RestEndpointMethodTypes["orgs"]["updatePatAccesses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org_hook` scope to use this endpoint. + */ + updateWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + packages: { + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, `repo` scope is also required. For the list these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByAnOrg() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByAnOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByAnOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByAuthenticatedUser() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getAllPackageVersionsForPackageOwnedByOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getAllPackageVersionsForPackageOwnedByUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageVersionForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + listDockerMigrationConflictingPackagesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + listDockerMigrationConflictingPackagesForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + listDockerMigrationConflictingPackagesForUser: { + (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + listPackagesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + listPackagesForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + listPackagesForUser: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * 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. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + projects: { + /** + * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createCard: { + (params?: RestEndpointMethodTypes["projects"]["createCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new project column. + */ + createColumn: { + (params?: RestEndpointMethodTypes["projects"]["createColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["projects"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForOrg: { + (params?: RestEndpointMethodTypes["projects"]["createForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForRepo: { + (params?: RestEndpointMethodTypes["projects"]["createForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: RestEndpointMethodTypes["projects"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project card + */ + deleteCard: { + (params?: RestEndpointMethodTypes["projects"]["deleteCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project column. + */ + deleteColumn: { + (params?: RestEndpointMethodTypes["projects"]["deleteColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: { + (params?: RestEndpointMethodTypes["projects"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a project card. + */ + getCard: { + (params?: RestEndpointMethodTypes["projects"]["getCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a project column. + */ + getColumn: { + (params?: RestEndpointMethodTypes["projects"]["getColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + getPermissionForUser: { + (params?: RestEndpointMethodTypes["projects"]["getPermissionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the project cards in a project. + */ + listCards: { + (params?: RestEndpointMethodTypes["projects"]["listCards"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["projects"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the project columns in a project. + */ + listColumns: { + (params?: RestEndpointMethodTypes["projects"]["listColumns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["projects"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["projects"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists projects for a user. + */ + listForUser: { + (params?: RestEndpointMethodTypes["projects"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveCard: { + (params?: RestEndpointMethodTypes["projects"]["moveCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveColumn: { + (params?: RestEndpointMethodTypes["projects"]["moveColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + update: { + (params?: RestEndpointMethodTypes["projects"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateCard: { + (params?: RestEndpointMethodTypes["projects"]["updateCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateColumn: { + (params?: RestEndpointMethodTypes["projects"]["updateColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + pulls: { + /** + * Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + checkIfMerged: { + (params?: RestEndpointMethodTypes["pulls"]["checkIfMerged"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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`. + * - **`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. + */ + create: { + (params?: RestEndpointMethodTypes["pulls"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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`. + */ + createReplyForReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReplyForReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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/overview/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`. + */ + createReview: { + (params?: RestEndpointMethodTypes["pulls"]["createReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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 deprecated. 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/overview/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`. + */ + createReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * 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`. + */ + deletePendingReview: { + (params?: RestEndpointMethodTypes["pulls"]["deletePendingReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a review comment. + */ + deleteReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["deleteReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + dismissReview: { + (params?: RestEndpointMethodTypes["pulls"]["dismissReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * 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: { + (params?: RestEndpointMethodTypes["pulls"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + getReview: { + (params?: RestEndpointMethodTypes["pulls"]["getReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + getReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["getReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + * - **`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. + * - **`application/vnd.github.patch`**: For more information, see "[git-format-patch](https://git-scm.com/docs/git-format-patch)" in the Git documentation. + */ + list: { + (params?: RestEndpointMethodTypes["pulls"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + listCommentsForReview: { + (params?: RestEndpointMethodTypes["pulls"]["listCommentsForReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a maximum of 250 commits for a pull request. To receive a complete + * commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) + * endpoint. + * + * 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. + */ + listCommits: { + (params?: RestEndpointMethodTypes["pulls"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + * - **`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. + */ + listFiles: { + (params?: RestEndpointMethodTypes["pulls"]["listFiles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + listRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["listRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all review comments for a 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`. + */ + listReviewComments: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists review comments for all pull requests in a repository. By default, + * review comments are in ascending order by ID. + * + * 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`. + */ + listReviewCommentsForRepo: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + listReviews: { + (params?: RestEndpointMethodTypes["pulls"]["listReviews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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)." + */ + merge: { + (params?: RestEndpointMethodTypes["pulls"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes review requests from a pull request for a given set of users and/or teams. + */ + removeRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["removeRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + requestReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["requestReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * 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`. + */ + submitReview: { + (params?: RestEndpointMethodTypes["pulls"]["submitReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * 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. + */ + update: { + (params?: RestEndpointMethodTypes["pulls"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + (params?: RestEndpointMethodTypes["pulls"]["updateBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + updateReview: { + (params?: RestEndpointMethodTypes["pulls"]["updateReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + updateReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["updateReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + rateLimit: { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: { + (params?: RestEndpointMethodTypes["rateLimit"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + reactions: { + /** + * Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + createForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + createForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + createForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + createForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + createForRelease: { + (params?: RestEndpointMethodTypes["reactions"]["createForRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * 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. + */ + createForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * 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. + */ + createForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + deleteForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + deleteForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + deleteForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + deleteForPullRequestComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForPullRequestComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + deleteForRelease: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + deleteForTeamDiscussion: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussion"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + deleteForTeamDiscussionComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussionComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + listForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + listForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + listForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + listForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + listForRelease: { + (params?: RestEndpointMethodTypes["reactions"]["listForRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * **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. + */ + listForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * **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. + */ + listForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + repos: { + /** + * @deprecated octokit.rest.repos.acceptInvitation() has been renamed to octokit.rest.repos.acceptInvitationForAuthenticatedUser() (2021-10-05) + */ + acceptInvitation: { + (params?: RestEndpointMethodTypes["repos"]["acceptInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + acceptInvitationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["acceptInvitationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only 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. + */ + addAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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)." + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP 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). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + addStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["addStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + addTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + cancelPagesDeployment: { + (params?: RestEndpointMethodTypes["repos"]["cancelPagesDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + checkAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["checkAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * 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. + */ + checkCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["checkCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + checkVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["checkVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + codeownersErrors: { + (params?: RestEndpointMethodTypes["repos"]["codeownersErrors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommits: { + (params?: RestEndpointMethodTypes["repos"]["compareCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * 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, but it includes all changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommitsWithBasehead: { + (params?: RestEndpointMethodTypes["repos"]["compareCommitsWithBasehead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with admin access to the repository can create an autolink. + */ + createAutolink: { + (params?: RestEndpointMethodTypes["repos"]["createAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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`. + */ + createCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["createCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + createCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["createCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + createCommitStatus: { + (params?: RestEndpointMethodTypes["repos"]["createCommitStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can create a read-only deploy key. + */ + createDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["createDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * 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. + */ + createDeployment: { + (params?: RestEndpointMethodTypes["repos"]["createDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createDeploymentProtectionRule: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentProtectionRule"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + createDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This 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. + */ + createDispatchEvent: { + (params?: RestEndpointMethodTypes["repos"]["createDispatchEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + createFork: { + (params?: RestEndpointMethodTypes["repos"]["createFork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth 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. + */ + createInOrg: { + (params?: RestEndpointMethodTypes["repos"]["createInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + createOrUpdateCustomPropertiesValues: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateCustomPropertiesValues"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrUpdateEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new file or replaces an existing file in a repository. + * + * **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. + */ + createOrUpdateFileContents: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateFileContents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a repository ruleset for an organization. + */ + createOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["createOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + createPagesDeployment: { + (params?: RestEndpointMethodTypes["repos"]["createPagesDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * 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. + */ + createPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["createPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/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)." + */ + createRelease: { + (params?: RestEndpointMethodTypes["repos"]["createRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a ruleset for a repository. + */ + createRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["createRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + createTagProtection: { + (params?: RestEndpointMethodTypes["repos"]["createTagProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth 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. + */ + createUsingTemplate: { + (params?: RestEndpointMethodTypes["repos"]["createUsingTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + createWebhook: { + (params?: RestEndpointMethodTypes["repos"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * @deprecated octokit.rest.repos.declineInvitation() has been renamed to octokit.rest.repos.declineInvitationForAuthenticatedUser() (2021-10-05) + */ + declineInvitation: { + (params?: RestEndpointMethodTypes["repos"]["declineInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + declineInvitationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["declineInvitationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deleting a repository requires admin access. + * + * If 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: { + (params?: RestEndpointMethodTypes["repos"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + deleteAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["deleteAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + deleteAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteAnEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["deleteAnEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + deleteAutolink: { + (params?: RestEndpointMethodTypes["repos"]["deleteAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deleteBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + deleteCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + deleteDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. + * + * 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. + */ + deleteDeployment: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + deleteFile: { + (params?: RestEndpointMethodTypes["repos"]["deleteFile"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteInvitation: { + (params?: RestEndpointMethodTypes["repos"]["deleteInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a ruleset for an organization. + */ + deleteOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["deleteOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * 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. + */ + deletePagesSite: { + (params?: RestEndpointMethodTypes["repos"]["deletePagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deletePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["deletePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + (params?: RestEndpointMethodTypes["repos"]["deleteRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["deleteReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a ruleset for a repository. + */ + deleteRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["deleteRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + deleteTagProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteTagProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteWebhook: { + (params?: RestEndpointMethodTypes["repos"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + disableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["disableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables a custom deployment protection rule for an environment. + * + * 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. + */ + disableDeploymentProtectionRule: { + (params?: RestEndpointMethodTypes["repos"]["disableDeploymentProtectionRule"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + disablePrivateVulnerabilityReporting: { + (params?: RestEndpointMethodTypes["repos"]["disablePrivateVulnerabilityReporting"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + disableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["disableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + * @deprecated octokit.rest.repos.downloadArchive() has been renamed to octokit.rest.repos.downloadZipballArchive() (2020-09-17) + */ + downloadArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + downloadTarballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadTarballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + downloadZipballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadZipballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + enableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["enableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + enablePrivateVulnerabilityReporting: { + (params?: RestEndpointMethodTypes["repos"]["enablePrivateVulnerabilityReporting"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + enableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["enableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + generateReleaseNotes: { + (params?: RestEndpointMethodTypes["repos"]["generateReleaseNotes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: { + (params?: RestEndpointMethodTypes["repos"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + getAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["getAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. 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. + */ + getAllDeploymentProtectionRules: { + (params?: RestEndpointMethodTypes["repos"]["getAllDeploymentProtectionRules"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getAllEnvironments: { + (params?: RestEndpointMethodTypes["repos"]["getAllEnvironments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAllStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["getAllStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["getAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only 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. + */ + getAppsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getAppsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + getAutolink: { + (params?: RestEndpointMethodTypes["repos"]["getAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getBranch: { + (params?: RestEndpointMethodTypes["repos"]["getBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + getBranchRules: { + (params?: RestEndpointMethodTypes["repos"]["getBranchRules"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getClones: { + (params?: RestEndpointMethodTypes["repos"]["getClones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * **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. + */ + getCodeFrequencyStats: { + (params?: RestEndpointMethodTypes["repos"]["getCodeFrequencyStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. + */ + getCollaboratorPermissionLevel: { + (params?: RestEndpointMethodTypes["repos"]["getCollaboratorPermissionLevel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + getCombinedStatusForRef: { + (params?: RestEndpointMethodTypes["repos"]["getCombinedStatusForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff 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. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["repos"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + getCommitActivityStats: { + (params?: RestEndpointMethodTypes["repos"]["getCommitActivityStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + getCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["getCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["getCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * 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. + */ + getCommunityProfileMetrics: { + (params?: RestEndpointMethodTypes["repos"]["getCommunityProfileMetrics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory 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. + */ + getContent: { + (params?: RestEndpointMethodTypes["repos"]["getContent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](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. + */ + getContributorsStats: { + (params?: RestEndpointMethodTypes["repos"]["getContributorsStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. 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. + */ + getCustomDeploymentProtectionRule: { + (params?: RestEndpointMethodTypes["repos"]["getCustomDeploymentProtectionRule"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + getCustomPropertiesValues: { + (params?: RestEndpointMethodTypes["repos"]["getCustomPropertiesValues"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["getDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployment: { + (params?: RestEndpointMethodTypes["repos"]["getDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a deployment branch 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. + */ + getDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["getDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["getDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["getEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getLatestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getLatestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + getLatestRelease: { + (params?: RestEndpointMethodTypes["repos"]["getLatestRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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)." + */ + getOrgRuleSuite: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRuleSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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)." + */ + getOrgRuleSuites: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRuleSuites"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a repository ruleset for an organization. + */ + getOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all the repository rulesets for an organization. + */ + getOrgRulesets: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRulesets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getPages: { + (params?: RestEndpointMethodTypes["repos"]["getPages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + getPagesDeployment: { + (params?: RestEndpointMethodTypes["repos"]["getPagesDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * 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. + */ + getPagesHealthCheck: { + (params?: RestEndpointMethodTypes["repos"]["getPagesHealthCheck"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + getParticipationStats: { + (params?: RestEndpointMethodTypes["repos"]["getParticipationStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getPullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["getPullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + getPunchCardStats: { + (params?: RestEndpointMethodTypes["repos"]["getPunchCardStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the preferred README for a repository. + * + * 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). + */ + getReadme: { + (params?: RestEndpointMethodTypes["repos"]["getReadme"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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). + */ + getReadmeInDirectory: { + (params?: RestEndpointMethodTypes["repos"]["getReadmeInDirectory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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)." + */ + getRelease: { + (params?: RestEndpointMethodTypes["repos"]["getRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + getReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseByTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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)." + */ + getRepoRuleSuite: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRuleSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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)." + */ + getRepoRuleSuites: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRuleSuites"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a ruleset for a repository. + */ + getRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all the rulesets for a repository. + */ + getRepoRulesets: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRulesets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getStatusChecksProtection: { + (params?: RestEndpointMethodTypes["repos"]["getStatusChecksProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getTeamsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + (params?: RestEndpointMethodTypes["repos"]["getTopPaths"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + (params?: RestEndpointMethodTypes["repos"]["getTopReferrers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getUsersWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getViews: { + (params?: RestEndpointMethodTypes["repos"]["getViews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + getWebhook: { + (params?: RestEndpointMethodTypes["repos"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + getWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["getWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for a webhook configured in a repository. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["repos"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + listActivities: { + (params?: RestEndpointMethodTypes["repos"]["listActivities"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + listAutolinks: { + (params?: RestEndpointMethodTypes["repos"]["listAutolinks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listBranches: { + (params?: RestEndpointMethodTypes["repos"]["listBranches"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + (params?: RestEndpointMethodTypes["repos"]["listBranchesForHeadCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * 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. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["repos"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + listCommentsForCommit: { + (params?: RestEndpointMethodTypes["repos"]["listCommentsForCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + listCommitCommentsForRepo: { + (params?: RestEndpointMethodTypes["repos"]["listCommitCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + listCommitStatusesForRef: { + (params?: RestEndpointMethodTypes["repos"]["listCommitStatusesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + listCommits: { + (params?: RestEndpointMethodTypes["repos"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + listContributors: { + (params?: RestEndpointMethodTypes["repos"]["listContributors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. + * + * 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. + */ + listCustomDeploymentRuleIntegrations: { + (params?: RestEndpointMethodTypes["repos"]["listCustomDeploymentRuleIntegrations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listDeployKeys: { + (params?: RestEndpointMethodTypes["repos"]["listDeployKeys"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listDeploymentBranchPolicies: { + (params?: RestEndpointMethodTypes["repos"]["listDeploymentBranchPolicies"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + (params?: RestEndpointMethodTypes["repos"]["listDeploymentStatuses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + (params?: RestEndpointMethodTypes["repos"]["listDeployments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories for the specified organization. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + listForOrg: { + (params?: RestEndpointMethodTypes["repos"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public repositories for the specified user. + */ + listForUser: { + (params?: RestEndpointMethodTypes["repos"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["repos"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + (params?: RestEndpointMethodTypes["repos"]["listInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listInvitationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + listLanguages: { + (params?: RestEndpointMethodTypes["repos"]["listLanguages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listPagesBuilds: { + (params?: RestEndpointMethodTypes["repos"]["listPagesBuilds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + listPublic: { + (params?: RestEndpointMethodTypes["repos"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + listPullRequestsAssociatedWithCommit: { + (params?: RestEndpointMethodTypes["repos"]["listPullRequestsAssociatedWithCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReleaseAssets: { + (params?: RestEndpointMethodTypes["repos"]["listReleaseAssets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + listReleases: { + (params?: RestEndpointMethodTypes["repos"]["listReleases"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + listTagProtection: { + (params?: RestEndpointMethodTypes["repos"]["listTagProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listTags: { + (params?: RestEndpointMethodTypes["repos"]["listTags"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * 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. + */ + listTeams: { + (params?: RestEndpointMethodTypes["repos"]["listTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for a webhook configured in a repository. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["repos"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + listWebhooks: { + (params?: RestEndpointMethodTypes["repos"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + merge: { + (params?: RestEndpointMethodTypes["repos"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + mergeUpstream: { + (params?: RestEndpointMethodTypes["repos"]["mergeUpstream"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["repos"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a webhook delivery for a webhook configured in a repository. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["repos"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only 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. + */ + removeAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations + * - Unasigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + removeCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + removeTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The 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. + */ + renameBranch: { + (params?: RestEndpointMethodTypes["repos"]["renameBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + replaceAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["replaceAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + requestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["requestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + setAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["setAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only 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. + */ + setAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + setStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["setStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + setTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + testPushWebhook: { + (params?: RestEndpointMethodTypes["repos"]["testPushWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + */ + transfer: { + (params?: RestEndpointMethodTypes["repos"]["transfer"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + update: { + (params?: RestEndpointMethodTypes["repos"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + updateBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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`. + */ + updateCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["updateCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + updateDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["updateDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * 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. + */ + updateInformationAboutPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["updateInformationAboutPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateInvitation: { + (params?: RestEndpointMethodTypes["repos"]["updateInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update a ruleset for an organization. + */ + updateOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["updateOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + updatePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["updatePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + (params?: RestEndpointMethodTypes["repos"]["updateRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["updateReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update a ruleset for a repository. + */ + updateRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["updateRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + * @deprecated octokit.rest.repos.updateStatusCheckPotection() has been renamed to octokit.rest.repos.updateStatusCheckProtection() (2020-09-17) + */ + updateStatusCheckPotection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckPotection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + updateWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/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. + */ + uploadReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["uploadReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + search: { + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/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. + */ + code: { + (params?: RestEndpointMethodTypes["search"]["code"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/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` + */ + commits: { + (params?: RestEndpointMethodTypes["search"]["commits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/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)." + */ + issuesAndPullRequests: { + (params?: RestEndpointMethodTypes["search"]["issuesAndPullRequests"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/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. + */ + labels: { + (params?: RestEndpointMethodTypes["search"]["labels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/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. + */ + repos: { + (params?: RestEndpointMethodTypes["search"]["repos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/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. + */ + topics: { + (params?: RestEndpointMethodTypes["search"]["topics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/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)." + */ + users: { + (params?: RestEndpointMethodTypes["search"]["users"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + secretScanning: { + /** + * Gets a single secret scanning alert detected in an eligible repository. + * + * 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. + */ + getAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + listAlertsForEnterprise: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * 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. + */ + listAlertsForOrg: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * 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. + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * + * 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. + */ + listLocationsForAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["listLocationsForAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the status of a secret scanning alert in an eligible repository. + * + * 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. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + securityAdvisories: { + /** + * 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. + */ + createFork: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createFork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + createPrivateVulnerabilityReport: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createPrivateVulnerabilityReport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository security advisory. + * + * 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. + */ + createRepositoryAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createRepositoryAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * 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. + */ + createRepositoryAdvisoryCveRequest: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createRepositoryAdvisoryCveRequest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + getGlobalAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["getGlobalAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * 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. + */ + getRepositoryAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["getRepositoryAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + listGlobalAdvisories: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["listGlobalAdvisories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repository security advisories for an organization. + * + * 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. + */ + listOrgRepositoryAdvisories: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["listOrgRepositoryAdvisories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listRepositoryAdvisories: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["listRepositoryAdvisories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * 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. + */ + updateRepositoryAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["updateRepositoryAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + teams: { + /** + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + addOrUpdateMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + addOrUpdateProjectPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateProjectPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP 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)". + */ + addOrUpdateRepoPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateRepoPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + checkPermissionsForProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * 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}`. + */ + checkPermissionsForRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + create: { + (params?: RestEndpointMethodTypes["teams"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new comment on a team discussion. + * + * 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/overview/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. + */ + createDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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/overview/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. + */ + createDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + deleteDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + deleteInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + getByName: { + (params?: RestEndpointMethodTypes["teams"]["getByName"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a specific comment on a team discussion. + * + * **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. + */ + getDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + getMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: RestEndpointMethodTypes["teams"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + listChildInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listChildInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all comments on a team discussion. + * + * **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. + */ + listDiscussionCommentsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionCommentsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + listDiscussionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * 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. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["teams"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + listMembersInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listMembersInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + listPendingInvitationsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listPendingInvitationsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + listProjectsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listProjectsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + listReposInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listReposInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + removeMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + removeProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + removeRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the body text of a discussion comment. + * + * **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. + */ + updateDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * **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. + */ + updateDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + updateInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + users: { + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + * @deprecated octokit.rest.users.addEmailForAuthenticated() has been renamed to octokit.rest.users.addEmailForAuthenticatedUser() (2021-10-05) + */ + addEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + addEmailForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + addSocialAccountForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["addSocialAccountForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + block: { + (params?: RestEndpointMethodTypes["users"]["block"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + checkBlocked: { + (params?: RestEndpointMethodTypes["users"]["checkBlocked"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["checkFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkPersonIsFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["checkPersonIsFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.createGpgKeyForAuthenticated() has been renamed to octokit.rest.users.createGpgKeyForAuthenticatedUser() (2021-10-05) + */ + createGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + createGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.createPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.createPublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + createPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + createPublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + createSshSigningKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + * @deprecated octokit.rest.users.deleteEmailForAuthenticated() has been renamed to octokit.rest.users.deleteEmailForAuthenticatedUser() (2021-10-05) + */ + deleteEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + deleteEmailForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.deleteGpgKeyForAuthenticated() has been renamed to octokit.rest.users.deleteGpgKeyForAuthenticatedUser() (2021-10-05) + */ + deleteGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + deleteGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + * @deprecated octokit.rest.users.deletePublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.deletePublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + deletePublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + deletePublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + deleteSocialAccountForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteSocialAccountForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + deleteSshSigningKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/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. + */ + follow: { + (params?: RestEndpointMethodTypes["users"]["follow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * 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)". + */ + getByUsername: { + (params?: RestEndpointMethodTypes["users"]["getByUsername"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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 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 + * ``` + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getContextForUser: { + (params?: RestEndpointMethodTypes["users"]["getContextForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + * @deprecated octokit.rest.users.getGpgKeyForAuthenticated() has been renamed to octokit.rest.users.getGpgKeyForAuthenticatedUser() (2021-10-05) + */ + getGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + getGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + * @deprecated octokit.rest.users.getPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.getPublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + getPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + getPublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * 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. + */ + getSshSigningKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + list: { + (params?: RestEndpointMethodTypes["users"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users you've blocked on your personal account. + * @deprecated octokit.rest.users.listBlockedByAuthenticated() has been renamed to octokit.rest.users.listBlockedByAuthenticatedUser() (2021-10-05) + */ + listBlockedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlockedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + * @deprecated octokit.rest.users.listEmailsForAuthenticated() has been renamed to octokit.rest.users.listEmailsForAuthenticatedUser() (2021-10-05) + */ + listEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + listEmailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the authenticated user follows. + * @deprecated octokit.rest.users.listFollowedByAuthenticated() has been renamed to octokit.rest.users.listFollowedByAuthenticatedUser() (2021-10-05) + */ + listFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the authenticated user follows. + */ + listFollowedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the authenticated user. + */ + listFollowersForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the specified user. + */ + listFollowersForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the specified user follows. + */ + listFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.listGpgKeysForAuthenticated() has been renamed to octokit.rest.users.listGpgKeysForAuthenticatedUser() (2021-10-05) + */ + listGpgKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + listGpgKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + * @deprecated octokit.rest.users.listPublicEmailsForAuthenticated() has been renamed to octokit.rest.users.listPublicEmailsForAuthenticatedUser() (2021-10-05) + */ + listPublicEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + listPublicEmailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + * @deprecated octokit.rest.users.listPublicSshKeysForAuthenticated() has been renamed to octokit.rest.users.listPublicSshKeysForAuthenticatedUser() (2021-10-05) + */ + listPublicSshKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + listPublicSshKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your social accounts. + */ + listSocialAccountsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listSocialAccountsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + listSocialAccountsForUser: { + (params?: RestEndpointMethodTypes["users"]["listSocialAccountsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + listSshSigningKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listSshSigningKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + listSshSigningKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listSshSigningKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the visibility for your primary email addresses. + * @deprecated octokit.rest.users.setPrimaryEmailVisibilityForAuthenticated() has been renamed to octokit.rest.users.setPrimaryEmailVisibilityForAuthenticatedUser() (2021-10-05) + */ + setPrimaryEmailVisibilityForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the visibility for your primary email addresses. + */ + setPrimaryEmailVisibilityForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unblocks the given user and returns a 204. + */ + unblock: { + (params?: RestEndpointMethodTypes["users"]["unblock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + unfollow: { + (params?: RestEndpointMethodTypes["users"]["unfollow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + updateAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["updateAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts new file mode 100644 index 0000000000..27e608f433 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts @@ -0,0 +1,3739 @@ +import type { Endpoints, RequestParameters } from "@octokit/types"; +export type RestEndpointMethodTypes = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + addCustomLabelsToSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + addSelectedRepoToOrgVariable: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["response"]; + }; + approveWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"]["response"]; + }; + cancelWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["response"]; + }; + createEnvironmentVariable: { + parameters: RequestParameters & Endpoints["POST /repositories/{repository_id}/environments/{environment_name}/variables"]["parameters"]; + response: Endpoints["POST /repositories/{repository_id}/environments/{environment_name}/variables"]["response"]; + }; + createOrUpdateEnvironmentSecret: { + parameters: RequestParameters & Endpoints["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + createOrgVariable: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/variables"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/variables"]["response"]; + }; + createRegistrationTokenForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/registration-token"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/registration-token"]["response"]; + }; + createRegistrationTokenForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/registration-token"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/registration-token"]["response"]; + }; + createRemoveTokenForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/remove-token"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/remove-token"]["response"]; + }; + createRemoveTokenForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/remove-token"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/remove-token"]["response"]; + }; + createRepoVariable: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/variables"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/variables"]["response"]; + }; + createWorkflowDispatch: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"]["response"]; + }; + deleteActionsCacheById: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"]["response"]; + }; + deleteActionsCacheByKey: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"]["response"]; + }; + deleteArtifact: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + deleteEnvironmentSecret: { + parameters: RequestParameters & Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + deleteEnvironmentVariable: { + parameters: RequestParameters & Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["parameters"]; + response: Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + deleteOrgVariable: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/variables/{name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/variables/{name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + deleteRepoVariable: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/variables/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; + }; + deleteSelfHostedRunnerFromOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + deleteSelfHostedRunnerFromRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + deleteWorkflowRun: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + deleteWorkflowRunLogs: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + disableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + disableWorkflow: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"]["response"]; + }; + downloadArtifact: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"]["response"]; + }; + downloadJobLogsForWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"]["response"]; + }; + downloadWorkflowRunAttemptLogs: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"]["response"]; + }; + downloadWorkflowRunLogs: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + enableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + enableWorkflow: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"]["response"]; + }; + forceCancelWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"]["response"]; + }; + generateRunnerJitconfigForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/generate-jitconfig"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/generate-jitconfig"]["response"]; + }; + generateRunnerJitconfigForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"]["response"]; + }; + getActionsCacheList: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]; + }; + getActionsCacheUsage: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/cache/usage"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/cache/usage"]["response"]; + }; + getActionsCacheUsageByRepoForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]; + }; + getActionsCacheUsageForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/cache/usage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage"]["response"]; + }; + getAllowedActionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + getAllowedActionsRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + getArtifact: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + getCustomOidcSubClaimForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"]["response"]; + }; + getEnvironmentPublicKey: { + parameters: RequestParameters & Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"]["response"]; + }; + getEnvironmentSecret: { + parameters: RequestParameters & Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + getEnvironmentVariable: { + parameters: RequestParameters & Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["response"]; + }; + getGithubActionsDefaultWorkflowPermissionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/workflow"]["response"]; + }; + getGithubActionsDefaultWorkflowPermissionsRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/workflow"]["response"]; + }; + getGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions"]["response"]; + }; + getGithubActionsPermissionsRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getJobForWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets/public-key"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + getOrgVariable: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/variables/{name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables/{name}"]["response"]; + }; + getPendingDeploymentsForRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + getRepoPermissions: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + getRepoVariable: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/variables/{name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; + }; + getReviewsForRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["response"]; + }; + getSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + getSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + getWorkflow: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"]["response"]; + }; + getWorkflowAccessToRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions/access"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/access"]["response"]; + }; + getWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + getWorkflowRunAttempt: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"]["response"]; + }; + getWorkflowRunUsage: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"]["response"]; + }; + getWorkflowUsage: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"]["response"]; + }; + listArtifactsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]; + }; + listEnvironmentSecrets: { + parameters: RequestParameters & Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]; + }; + listEnvironmentVariables: { + parameters: RequestParameters & Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["response"]; + }; + listJobsForWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]; + }; + listJobsForWorkflowRunAttempt: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]; + }; + listLabelsForSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + listLabelsForSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]; + }; + listOrgVariables: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/variables"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables"]["response"]; + }; + listRepoOrganizationSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"]; + }; + listRepoOrganizationVariables: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]; + }; + listRepoVariables: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"]; + }; + listRepoWorkflows: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]; + }; + listRunnerApplicationsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners/downloads"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["response"]; + }; + listRunnerApplicationsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + listSelectedReposForOrgVariable: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"]; + }; + listSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + listSelfHostedRunnersForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"]; + }; + listSelfHostedRunnersForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]; + }; + listWorkflowRunArtifacts: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]; + }; + listWorkflowRuns: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]; + }; + listWorkflowRunsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]; + }; + reRunJobForWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"]["response"]; + }; + reRunWorkflow: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"]["response"]; + }; + reRunWorkflowFailedJobs: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"]["response"]; + }; + removeAllCustomLabelsFromSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + removeAllCustomLabelsFromSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + removeCustomLabelFromSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"]["response"]; + }; + removeCustomLabelFromSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + removeSelectedRepoFromOrgVariable: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["response"]; + }; + reviewCustomGatesForRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"]["response"]; + }; + reviewPendingDeploymentsForRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + setAllowedActionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + setAllowedActionsRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + setCustomLabelsForSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + setCustomLabelsForSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + setCustomOidcSubClaimForRepo: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"]["response"]; + }; + setGithubActionsDefaultWorkflowPermissionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/workflow"]["response"]; + }; + setGithubActionsDefaultWorkflowPermissionsRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/workflow"]["response"]; + }; + setGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions"]["response"]; + }; + setGithubActionsPermissionsRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + setSelectedReposForOrgVariable: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories"]["response"]; + }; + setSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + setWorkflowAccessToRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/access"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/access"]["response"]; + }; + updateEnvironmentVariable: { + parameters: RequestParameters & Endpoints["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["parameters"]; + response: Endpoints["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["response"]; + }; + updateOrgVariable: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/actions/variables/{name}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/actions/variables/{name}"]["response"]; + }; + updateRepoVariable: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; + }; + }; + activity: { + checkRepoIsStarredByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/starred/{owner}/{repo}"]["parameters"]; + response: Endpoints["GET /user/starred/{owner}/{repo}"]["response"]; + }; + deleteRepoSubscription: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/subscription"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/subscription"]["response"]; + }; + deleteThreadSubscription: { + parameters: RequestParameters & Endpoints["DELETE /notifications/threads/{thread_id}/subscription"]["parameters"]; + response: Endpoints["DELETE /notifications/threads/{thread_id}/subscription"]["response"]; + }; + getFeeds: { + parameters: RequestParameters & Endpoints["GET /feeds"]["parameters"]; + response: Endpoints["GET /feeds"]["response"]; + }; + getRepoSubscription: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/subscription"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscription"]["response"]; + }; + getThread: { + parameters: RequestParameters & Endpoints["GET /notifications/threads/{thread_id}"]["parameters"]; + response: Endpoints["GET /notifications/threads/{thread_id}"]["response"]; + }; + getThreadSubscriptionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /notifications/threads/{thread_id}/subscription"]["parameters"]; + response: Endpoints["GET /notifications/threads/{thread_id}/subscription"]["response"]; + }; + listEventsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/events"]["parameters"]; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + listNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /notifications"]["parameters"]; + response: Endpoints["GET /notifications"]["response"]; + }; + listOrgEventsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/events/orgs/{org}"]["parameters"]; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + listPublicEvents: { + parameters: RequestParameters & Endpoints["GET /events"]["parameters"]; + response: Endpoints["GET /events"]["response"]; + }; + listPublicEventsForRepoNetwork: { + parameters: RequestParameters & Endpoints["GET /networks/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + listPublicEventsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + listPublicOrgEvents: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/events"]["parameters"]; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + listReceivedEventsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/received_events"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + listReceivedPublicEventsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/received_events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + listRepoEvents: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + listRepoNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + listReposStarredByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/starred"]["parameters"]; + response: Endpoints["GET /user/starred"]["response"]; + }; + listReposStarredByUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/starred"]["parameters"]; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + listReposWatchedByUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/subscriptions"]["parameters"]; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; + listStargazersForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stargazers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + listWatchedReposForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/subscriptions"]["parameters"]; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + listWatchersForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/subscribers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + markNotificationsAsRead: { + parameters: RequestParameters & Endpoints["PUT /notifications"]["parameters"]; + response: Endpoints["PUT /notifications"]["response"]; + }; + markRepoNotificationsAsRead: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/notifications"]["response"]; + }; + markThreadAsDone: { + parameters: RequestParameters & Endpoints["DELETE /notifications/threads/{thread_id}"]["parameters"]; + response: Endpoints["DELETE /notifications/threads/{thread_id}"]["response"]; + }; + markThreadAsRead: { + parameters: RequestParameters & Endpoints["PATCH /notifications/threads/{thread_id}"]["parameters"]; + response: Endpoints["PATCH /notifications/threads/{thread_id}"]["response"]; + }; + setRepoSubscription: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/subscription"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/subscription"]["response"]; + }; + setThreadSubscription: { + parameters: RequestParameters & Endpoints["PUT /notifications/threads/{thread_id}/subscription"]["parameters"]; + response: Endpoints["PUT /notifications/threads/{thread_id}/subscription"]["response"]; + }; + starRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/starred/{owner}/{repo}"]["parameters"]; + response: Endpoints["PUT /user/starred/{owner}/{repo}"]["response"]; + }; + unstarRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/starred/{owner}/{repo}"]["parameters"]; + response: Endpoints["DELETE /user/starred/{owner}/{repo}"]["response"]; + }; + }; + apps: { + addRepoToInstallation: { + parameters: RequestParameters & Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + addRepoToInstallationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + checkToken: { + parameters: RequestParameters & Endpoints["POST /applications/{client_id}/token"]["parameters"]; + response: Endpoints["POST /applications/{client_id}/token"]["response"]; + }; + createFromManifest: { + parameters: RequestParameters & Endpoints["POST /app-manifests/{code}/conversions"]["parameters"]; + response: Endpoints["POST /app-manifests/{code}/conversions"]["response"]; + }; + createInstallationAccessToken: { + parameters: RequestParameters & Endpoints["POST /app/installations/{installation_id}/access_tokens"]["parameters"]; + response: Endpoints["POST /app/installations/{installation_id}/access_tokens"]["response"]; + }; + deleteAuthorization: { + parameters: RequestParameters & Endpoints["DELETE /applications/{client_id}/grant"]["parameters"]; + response: Endpoints["DELETE /applications/{client_id}/grant"]["response"]; + }; + deleteInstallation: { + parameters: RequestParameters & Endpoints["DELETE /app/installations/{installation_id}"]["parameters"]; + response: Endpoints["DELETE /app/installations/{installation_id}"]["response"]; + }; + deleteToken: { + parameters: RequestParameters & Endpoints["DELETE /applications/{client_id}/token"]["parameters"]; + response: Endpoints["DELETE /applications/{client_id}/token"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Endpoints["GET /app"]["parameters"]; + response: Endpoints["GET /app"]["response"]; + }; + getBySlug: { + parameters: RequestParameters & Endpoints["GET /apps/{app_slug}"]["parameters"]; + response: Endpoints["GET /apps/{app_slug}"]["response"]; + }; + getInstallation: { + parameters: RequestParameters & Endpoints["GET /app/installations/{installation_id}"]["parameters"]; + response: Endpoints["GET /app/installations/{installation_id}"]["response"]; + }; + getOrgInstallation: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/installation"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installation"]["response"]; + }; + getRepoInstallation: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/installation"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/installation"]["response"]; + }; + getSubscriptionPlanForAccount: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/accounts/{account_id}"]["parameters"]; + response: Endpoints["GET /marketplace_listing/accounts/{account_id}"]["response"]; + }; + getSubscriptionPlanForAccountStubbed: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/stubbed/accounts/{account_id}"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/accounts/{account_id}"]["response"]; + }; + getUserInstallation: { + parameters: RequestParameters & Endpoints["GET /users/{username}/installation"]["parameters"]; + response: Endpoints["GET /users/{username}/installation"]["response"]; + }; + getWebhookConfigForApp: { + parameters: RequestParameters & Endpoints["GET /app/hook/config"]["parameters"]; + response: Endpoints["GET /app/hook/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Endpoints["GET /app/hook/deliveries/{delivery_id}"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries/{delivery_id}"]["response"]; + }; + listAccountsForPlan: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + listAccountsForPlanStubbed: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + listInstallationReposForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/installations/{installation_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]; + }; + listInstallationRequestsForAuthenticatedApp: { + parameters: RequestParameters & Endpoints["GET /app/installation-requests"]["parameters"]; + response: Endpoints["GET /app/installation-requests"]["response"]; + }; + listInstallations: { + parameters: RequestParameters & Endpoints["GET /app/installations"]["parameters"]; + response: Endpoints["GET /app/installations"]["response"]; + }; + listInstallationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/installations"]["parameters"]; + response: Endpoints["GET /user/installations"]["response"]; + }; + listPlans: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + listPlansStubbed: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/stubbed/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + listReposAccessibleToInstallation: { + parameters: RequestParameters & Endpoints["GET /installation/repositories"]["parameters"]; + response: Endpoints["GET /installation/repositories"]["response"]; + }; + listSubscriptionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/marketplace_purchases"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + listSubscriptionsForAuthenticatedUserStubbed: { + parameters: RequestParameters & Endpoints["GET /user/marketplace_purchases/stubbed"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Endpoints["GET /app/hook/deliveries"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Endpoints["POST /app/hook/deliveries/{delivery_id}/attempts"]["parameters"]; + response: Endpoints["POST /app/hook/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeRepoFromInstallation: { + parameters: RequestParameters & Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + removeRepoFromInstallationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + resetToken: { + parameters: RequestParameters & Endpoints["PATCH /applications/{client_id}/token"]["parameters"]; + response: Endpoints["PATCH /applications/{client_id}/token"]["response"]; + }; + revokeInstallationAccessToken: { + parameters: RequestParameters & Endpoints["DELETE /installation/token"]["parameters"]; + response: Endpoints["DELETE /installation/token"]["response"]; + }; + scopeToken: { + parameters: RequestParameters & Endpoints["POST /applications/{client_id}/token/scoped"]["parameters"]; + response: Endpoints["POST /applications/{client_id}/token/scoped"]["response"]; + }; + suspendInstallation: { + parameters: RequestParameters & Endpoints["PUT /app/installations/{installation_id}/suspended"]["parameters"]; + response: Endpoints["PUT /app/installations/{installation_id}/suspended"]["response"]; + }; + unsuspendInstallation: { + parameters: RequestParameters & Endpoints["DELETE /app/installations/{installation_id}/suspended"]["parameters"]; + response: Endpoints["DELETE /app/installations/{installation_id}/suspended"]["response"]; + }; + updateWebhookConfigForApp: { + parameters: RequestParameters & Endpoints["PATCH /app/hook/config"]["parameters"]; + response: Endpoints["PATCH /app/hook/config"]["response"]; + }; + }; + billing: { + getGithubActionsBillingOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/settings/billing/actions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/actions"]["response"]; + }; + getGithubActionsBillingUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/settings/billing/actions"]["parameters"]; + response: Endpoints["GET /users/{username}/settings/billing/actions"]["response"]; + }; + getGithubPackagesBillingOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/settings/billing/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/packages"]["response"]; + }; + getGithubPackagesBillingUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/settings/billing/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/settings/billing/packages"]["response"]; + }; + getSharedStorageBillingOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/settings/billing/shared-storage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/shared-storage"]["response"]; + }; + getSharedStorageBillingUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/settings/billing/shared-storage"]["parameters"]; + response: Endpoints["GET /users/{username}/settings/billing/shared-storage"]["response"]; + }; + }; + checks: { + create: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-runs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-runs"]["response"]; + }; + createSuite: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-suites"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + getSuite: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"]["response"]; + }; + listAnnotations: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + listForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]; + }; + listForSuite: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]; + }; + listSuitesForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]; + }; + rerequestRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"]["response"]; + }; + rerequestSuite: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"]["response"]; + }; + setSuitesPreferences: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/check-suites/preferences"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-suites/preferences"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + }; + codeScanning: { + deleteAnalysis: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["response"]; + }; + getAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + getAnalysis: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["response"]; + }; + getCodeqlDatabase: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"]["response"]; + }; + getDefaultSetup: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/default-setup"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/default-setup"]["response"]; + }; + getSarif: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["response"]; + }; + listAlertInstances: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + listAlertsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + listAlertsInstances: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + listCodeqlDatabases: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"]["response"]; + }; + listRecentAnalyses: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + updateDefaultSetup: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"]["response"]; + }; + uploadSarif: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/code-scanning/sarifs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/code-scanning/sarifs"]["response"]; + }; + }; + codesOfConduct: { + getAllCodesOfConduct: { + parameters: RequestParameters & Endpoints["GET /codes_of_conduct"]["parameters"]; + response: Endpoints["GET /codes_of_conduct"]["response"]; + }; + getConductCode: { + parameters: RequestParameters & Endpoints["GET /codes_of_conduct/{key}"]["parameters"]; + response: Endpoints["GET /codes_of_conduct/{key}"]["response"]; + }; + }; + codespaces: { + addRepositoryForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + checkPermissionsForDevcontainer: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/permissions_check"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/permissions_check"]["response"]; + }; + codespaceMachinesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/{codespace_name}/machines"]["parameters"]; + response: Endpoints["GET /user/codespaces/{codespace_name}/machines"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces"]["parameters"]; + response: Endpoints["POST /user/codespaces"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; + }; + createOrUpdateSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /user/codespaces/secrets/{secret_name}"]["response"]; + }; + createWithPrForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"]["response"]; + }; + createWithRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/codespaces"]["response"]; + }; + deleteForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["DELETE /user/codespaces/{codespace_name}"]["response"]; + }; + deleteFromOrganization: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; + }; + deleteSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /user/codespaces/secrets/{secret_name}"]["response"]; + }; + exportForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/exports"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/exports"]["response"]; + }; + getCodespacesForUserInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"]; + }; + getExportDetailsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/{codespace_name}/exports/{export_id}"]["parameters"]; + response: Endpoints["GET /user/codespaces/{codespace_name}/exports/{export_id}"]["response"]; + }; + getForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["GET /user/codespaces/{codespace_name}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets/public-key"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; + }; + getPublicKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets/public-key"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets/public-key"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; + }; + getSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets/{secret_name}"]["response"]; + }; + listDevcontainersInRepositoryForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces"]["parameters"]; + response: Endpoints["GET /user/codespaces"]["response"]; + }; + listInOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces"]["response"]; + }; + listInRepositoryForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]; + }; + listRepositoriesForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + listSecretsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + preFlightWithRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/new"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/new"]["response"]; + }; + publishForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/publish"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/publish"]["response"]; + }; + removeRepositoryForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + repoMachinesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/machines"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/machines"]["response"]; + }; + setRepositoriesForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + startForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/start"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/start"]["response"]; + }; + stopForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/stop"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/stop"]["response"]; + }; + stopInOrganization: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"]["parameters"]; + response: Endpoints["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"]["response"]; + }; + updateForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["PATCH /user/codespaces/{codespace_name}"]["response"]; + }; + }; + copilot: { + addCopilotSeatsForTeams: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/copilot/billing/selected_teams"]["parameters"]; + response: Endpoints["POST /orgs/{org}/copilot/billing/selected_teams"]["response"]; + }; + addCopilotSeatsForUsers: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/copilot/billing/selected_users"]["parameters"]; + response: Endpoints["POST /orgs/{org}/copilot/billing/selected_users"]["response"]; + }; + cancelCopilotSeatAssignmentForTeams: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/copilot/billing/selected_teams"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/copilot/billing/selected_teams"]["response"]; + }; + cancelCopilotSeatAssignmentForUsers: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/copilot/billing/selected_users"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/copilot/billing/selected_users"]["response"]; + }; + getCopilotOrganizationDetails: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/copilot/billing"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/billing"]["response"]; + }; + getCopilotSeatDetailsForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members/{username}/copilot"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}/copilot"]["response"]; + }; + listCopilotSeats: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/copilot/billing/seats"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"]; + }; + }; + dependabot: { + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; + }; + getAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets/public-key"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; + }; + listAlertsForEnterprise: { + parameters: RequestParameters & Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["response"]; + }; + listAlertsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/alerts"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["response"]; + }; + }; + dependencyGraph: { + createRepositorySnapshot: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/dependency-graph/snapshots"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/dependency-graph/snapshots"]["response"]; + }; + diffRange: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"]["response"]; + }; + exportSbom: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependency-graph/sbom"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependency-graph/sbom"]["response"]; + }; + }; + emojis: { + get: { + parameters: RequestParameters & Endpoints["GET /emojis"]["parameters"]; + response: Endpoints["GET /emojis"]["response"]; + }; + }; + gists: { + checkIsStarred: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/star"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/star"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /gists"]["parameters"]; + response: Endpoints["POST /gists"]["response"]; + }; + createComment: { + parameters: RequestParameters & Endpoints["POST /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["POST /gists/{gist_id}/comments"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /gists/{gist_id}"]["parameters"]; + response: Endpoints["DELETE /gists/{gist_id}"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Endpoints["DELETE /gists/{gist_id}/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + fork: { + parameters: RequestParameters & Endpoints["POST /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["POST /gists/{gist_id}/forks"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + getRevision: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/{sha}"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/{sha}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /gists"]["parameters"]; + response: Endpoints["GET /gists"]["response"]; + }; + listComments: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/gists"]["parameters"]; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + listForks: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Endpoints["GET /gists/public"]["parameters"]; + response: Endpoints["GET /gists/public"]["response"]; + }; + listStarred: { + parameters: RequestParameters & Endpoints["GET /gists/starred"]["parameters"]; + response: Endpoints["GET /gists/starred"]["response"]; + }; + star: { + parameters: RequestParameters & Endpoints["PUT /gists/{gist_id}/star"]["parameters"]; + response: Endpoints["PUT /gists/{gist_id}/star"]["response"]; + }; + unstar: { + parameters: RequestParameters & Endpoints["DELETE /gists/{gist_id}/star"]["parameters"]; + response: Endpoints["DELETE /gists/{gist_id}/star"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /gists/{gist_id}"]["parameters"]; + response: Endpoints["PATCH /gists/{gist_id}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Endpoints["PATCH /gists/{gist_id}/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + }; + git: { + createBlob: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/blobs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/blobs"]["response"]; + }; + createCommit: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/commits"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/commits"]["response"]; + }; + createRef: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/refs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/refs"]["response"]; + }; + createTag: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/tags"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/tags"]["response"]; + }; + createTree: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/trees"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/trees"]["response"]; + }; + deleteRef: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/git/refs/{ref}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + getBlob: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"]["response"]; + }; + getRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/ref/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/ref/{ref}"]["response"]; + }; + getTag: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"]["response"]; + }; + getTree: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"]["response"]; + }; + listMatchingRefs: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["response"]; + }; + updateRef: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + }; + gitignore: { + getAllTemplates: { + parameters: RequestParameters & Endpoints["GET /gitignore/templates"]["parameters"]; + response: Endpoints["GET /gitignore/templates"]["response"]; + }; + getTemplate: { + parameters: RequestParameters & Endpoints["GET /gitignore/templates/{name}"]["parameters"]; + response: Endpoints["GET /gitignore/templates/{name}"]["response"]; + }; + }; + interactions: { + getRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/interaction-limits"]["parameters"]; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + getRestrictionsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/interaction-limits"]["parameters"]; + response: Endpoints["GET /orgs/{org}/interaction-limits"]["response"]; + }; + getRestrictionsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/interaction-limits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + getRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Endpoints["GET /user/interaction-limits"]["parameters"]; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + removeRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + removeRestrictionsForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/interaction-limits"]["response"]; + }; + removeRestrictionsForRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + removeRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Endpoints["DELETE /user/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + setRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/interaction-limits"]["parameters"]; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + setRestrictionsForOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/interaction-limits"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/interaction-limits"]["response"]; + }; + setRestrictionsForRepo: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/interaction-limits"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + setRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Endpoints["PUT /user/interaction-limits"]["parameters"]; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + }; + issues: { + addAssignees: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + addLabels: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + checkUserCanBeAssigned: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/assignees/{assignee}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees/{assignee}"]["response"]; + }; + checkUserCanBeAssignedToIssue: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues"]["response"]; + }; + createComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + createLabel: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/labels"]["response"]; + }; + createMilestone: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/milestones"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + deleteLabel: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + deleteMilestone: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + getEvent: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/events/{event_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events/{event_id}"]["response"]; + }; + getLabel: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/labels/{name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + getMilestone: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /issues"]["parameters"]; + response: Endpoints["GET /issues"]["response"]; + }; + listAssignees: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/assignees"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + listComments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + listCommentsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + listEvents: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + listEventsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + listEventsForTimeline: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/issues"]["parameters"]; + response: Endpoints["GET /user/issues"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/issues"]["parameters"]; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + listLabelsForMilestone: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + listLabelsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + listLabelsOnIssue: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + listMilestones: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + lock: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + removeAllLabels: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + removeAssignees: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + removeLabel: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"]["response"]; + }; + setLabels: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + unlock: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/issues/{issue_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + updateLabel: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/labels/{name}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + updateMilestone: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + }; + licenses: { + get: { + parameters: RequestParameters & Endpoints["GET /licenses/{license}"]["parameters"]; + response: Endpoints["GET /licenses/{license}"]["response"]; + }; + getAllCommonlyUsed: { + parameters: RequestParameters & Endpoints["GET /licenses"]["parameters"]; + response: Endpoints["GET /licenses"]["response"]; + }; + getForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/license"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/license"]["response"]; + }; + }; + markdown: { + render: { + parameters: RequestParameters & Endpoints["POST /markdown"]["parameters"]; + response: Endpoints["POST /markdown"]["response"]; + }; + renderRaw: { + parameters: RequestParameters & Endpoints["POST /markdown/raw"]["parameters"]; + response: Endpoints["POST /markdown/raw"]["response"]; + }; + }; + meta: { + get: { + parameters: RequestParameters & Endpoints["GET /meta"]["parameters"]; + response: Endpoints["GET /meta"]["response"]; + }; + getAllVersions: { + parameters: RequestParameters & Endpoints["GET /versions"]["parameters"]; + response: Endpoints["GET /versions"]["response"]; + }; + getOctocat: { + parameters: RequestParameters & Endpoints["GET /octocat"]["parameters"]; + response: Endpoints["GET /octocat"]["response"]; + }; + getZen: { + parameters: RequestParameters & Endpoints["GET /zen"]["parameters"]; + response: Endpoints["GET /zen"]["response"]; + }; + root: { + parameters: RequestParameters & Endpoints["GET /"]["parameters"]; + response: Endpoints["GET /"]["response"]; + }; + }; + migrations: { + cancelImport: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/import"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/import"]["response"]; + }; + deleteArchiveForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["DELETE /user/migrations/{migration_id}/archive"]["response"]; + }; + deleteArchiveForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + downloadArchiveForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + getArchiveForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/archive"]["response"]; + }; + getCommitAuthors: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/import/authors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/import/authors"]["response"]; + }; + getImportStatus: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/import"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/import"]["response"]; + }; + getLargeFiles: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/import/large_files"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/import/large_files"]["response"]; + }; + getStatusForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}"]["response"]; + }; + getStatusForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations/{migration_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations"]["parameters"]; + response: Endpoints["GET /user/migrations"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + listReposForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + listReposForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + listReposForUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + mapCommitAuthor: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"]["response"]; + }; + setLfsPreference: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/import/lfs"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/import/lfs"]["response"]; + }; + startForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/migrations"]["parameters"]; + response: Endpoints["POST /user/migrations"]["response"]; + }; + startForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["POST /orgs/{org}/migrations"]["response"]; + }; + startImport: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/import"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/import"]["response"]; + }; + unlockRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"]["parameters"]; + response: Endpoints["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + unlockRepoForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + updateImport: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/import"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/import"]["response"]; + }; + }; + oidc: { + getOidcCustomSubTemplateForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/oidc/customization/sub"]["response"]; + }; + updateOidcCustomSubTemplateForOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/oidc/customization/sub"]["response"]; + }; + }; + orgs: { + addSecurityManagerTeam: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/security-managers/teams/{team_slug}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/security-managers/teams/{team_slug}"]["response"]; + }; + assignTeamToOrgRole: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["response"]; + }; + assignUserToOrgRole: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"]["response"]; + }; + blockUser: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/blocks/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/blocks/{username}"]["response"]; + }; + cancelInvitation: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/invitations/{invitation_id}"]["response"]; + }; + checkBlockedUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/blocks/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks/{username}"]["response"]; + }; + checkMembershipForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}"]["response"]; + }; + checkPublicMembershipForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/public_members/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members/{username}"]["response"]; + }; + convertMemberToOutsideCollaborator: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/outside_collaborators/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + createCustomOrganizationRole: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/organization-roles"]["parameters"]; + response: Endpoints["POST /orgs/{org}/organization-roles"]["response"]; + }; + createInvitation: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["POST /orgs/{org}/invitations"]["response"]; + }; + createOrUpdateCustomProperties: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/properties/schema"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/properties/schema"]["response"]; + }; + createOrUpdateCustomPropertiesValuesForRepos: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/properties/values"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/properties/values"]["response"]; + }; + createOrUpdateCustomProperty: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/properties/schema/{custom_property_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/properties/schema/{custom_property_name}"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["POST /orgs/{org}/hooks"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}"]["response"]; + }; + deleteCustomOrganizationRole: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/{role_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/{role_id}"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + enableOrDisableSecurityProductOnAllOrgRepos: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/{security_product}/{enablement}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/{security_product}/{enablement}"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}"]["parameters"]; + response: Endpoints["GET /orgs/{org}"]["response"]; + }; + getAllCustomProperties: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/properties/schema"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/schema"]["response"]; + }; + getCustomProperty: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/properties/schema/{custom_property_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/schema/{custom_property_name}"]["response"]; + }; + getMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/memberships/orgs/{org}"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs/{org}"]["response"]; + }; + getMembershipForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/memberships/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/memberships/{username}"]["response"]; + }; + getOrgRole: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles/{role_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /organizations"]["parameters"]; + response: Endpoints["GET /organizations"]["response"]; + }; + listAppInstallations: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/installations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installations"]["response"]; + }; + listBlockedUsers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/blocks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + listCustomPropertiesValuesForRepos: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/properties/values"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/values"]["response"]; + }; + listFailedInvitations: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/failed_invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/orgs"]["parameters"]; + response: Endpoints["GET /user/orgs"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/orgs"]["parameters"]; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + listInvitationTeams: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + listMembers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + listMembershipsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/memberships/orgs"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + listOrgRoleTeams: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["response"]; + }; + listOrgRoleUsers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["response"]; + }; + listOrgRoles: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles"]["response"]; + }; + listOrganizationFineGrainedPermissions: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-fine-grained-permissions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-fine-grained-permissions"]["response"]; + }; + listOutsideCollaborators: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/outside_collaborators"]["parameters"]; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + listPatGrantRepositories: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["response"]; + }; + listPatGrantRequestRepositories: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["response"]; + }; + listPatGrantRequests: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-token-requests"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["response"]; + }; + listPatGrants: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-tokens"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens"]["response"]; + }; + listPendingInvitations: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + listPublicMembers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/public_members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + listSecurityManagerTeams: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/security-managers"]["parameters"]; + response: Endpoints["GET /orgs/{org}/security-managers"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + patchCustomOrganizationRole: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/organization-roles/{role_id}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/organization-roles/{role_id}"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/hooks/{hook_id}/pings"]["parameters"]; + response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/pings"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["parameters"]; + response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeCustomProperty: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/properties/schema/{custom_property_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/properties/schema/{custom_property_name}"]["response"]; + }; + removeMember: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/members/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/members/{username}"]["response"]; + }; + removeMembershipForUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/memberships/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/memberships/{username}"]["response"]; + }; + removeOutsideCollaborator: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/outside_collaborators/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + removePublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/public_members/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/public_members/{username}"]["response"]; + }; + removeSecurityManagerTeam: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/security-managers/teams/{team_slug}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/security-managers/teams/{team_slug}"]["response"]; + }; + reviewPatGrantRequest: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"]["response"]; + }; + reviewPatGrantRequestsInBulk: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-token-requests"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-token-requests"]["response"]; + }; + revokeAllOrgRolesTeam: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"]["response"]; + }; + revokeAllOrgRolesUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}"]["response"]; + }; + revokeOrgRoleTeam: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["response"]; + }; + revokeOrgRoleUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"]["response"]; + }; + setMembershipForUser: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/memberships/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/memberships/{username}"]["response"]; + }; + setPublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/public_members/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/public_members/{username}"]["response"]; + }; + unblockUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/blocks/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/blocks/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}"]["response"]; + }; + updateMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/memberships/orgs/{org}"]["parameters"]; + response: Endpoints["PATCH /user/memberships/orgs/{org}"]["response"]; + }; + updatePatAccess: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-tokens/{pat_id}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-tokens/{pat_id}"]["response"]; + }; + updatePatAccesses: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-tokens"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-tokens"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + }; + packages: { + deletePackageForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForUser: { + parameters: RequestParameters & Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForUser: { + parameters: RequestParameters & Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByAnOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getPackageForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + listDockerMigrationConflictingPackagesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/docker/conflicts"]["parameters"]; + response: Endpoints["GET /user/docker/conflicts"]["response"]; + }; + listDockerMigrationConflictingPackagesForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/docker/conflicts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/docker/conflicts"]["response"]; + }; + listDockerMigrationConflictingPackagesForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/docker/conflicts"]["parameters"]; + response: Endpoints["GET /users/{username}/docker/conflicts"]["response"]; + }; + listPackagesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages"]["parameters"]; + response: Endpoints["GET /user/packages"]["response"]; + }; + listPackagesForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + listPackagesForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + restorePackageForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["parameters"]; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForUser: { + parameters: RequestParameters & Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"]["parameters"]; + response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["parameters"]; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["parameters"]; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForUser: { + parameters: RequestParameters & Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["parameters"]; + response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + }; + projects: { + addCollaborator: { + parameters: RequestParameters & Endpoints["PUT /projects/{project_id}/collaborators/{username}"]["parameters"]; + response: Endpoints["PUT /projects/{project_id}/collaborators/{username}"]["response"]; + }; + createCard: { + parameters: RequestParameters & Endpoints["POST /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["POST /projects/columns/{column_id}/cards"]["response"]; + }; + createColumn: { + parameters: RequestParameters & Endpoints["POST /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["POST /projects/{project_id}/columns"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/projects"]["parameters"]; + response: Endpoints["POST /user/projects"]["response"]; + }; + createForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/projects"]["parameters"]; + response: Endpoints["POST /orgs/{org}/projects"]["response"]; + }; + createForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/projects"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /projects/{project_id}"]["parameters"]; + response: Endpoints["DELETE /projects/{project_id}"]["response"]; + }; + deleteCard: { + parameters: RequestParameters & Endpoints["DELETE /projects/columns/cards/{card_id}"]["parameters"]; + response: Endpoints["DELETE /projects/columns/cards/{card_id}"]["response"]; + }; + deleteColumn: { + parameters: RequestParameters & Endpoints["DELETE /projects/columns/{column_id}"]["parameters"]; + response: Endpoints["DELETE /projects/columns/{column_id}"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}"]["parameters"]; + response: Endpoints["GET /projects/{project_id}"]["response"]; + }; + getCard: { + parameters: RequestParameters & Endpoints["GET /projects/columns/cards/{card_id}"]["parameters"]; + response: Endpoints["GET /projects/columns/cards/{card_id}"]["response"]; + }; + getColumn: { + parameters: RequestParameters & Endpoints["GET /projects/columns/{column_id}"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}"]["response"]; + }; + getPermissionForUser: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}/collaborators/{username}/permission"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators/{username}/permission"]["response"]; + }; + listCards: { + parameters: RequestParameters & Endpoints["GET /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}/collaborators"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + listColumns: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/projects"]["parameters"]; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + moveCard: { + parameters: RequestParameters & Endpoints["POST /projects/columns/cards/{card_id}/moves"]["parameters"]; + response: Endpoints["POST /projects/columns/cards/{card_id}/moves"]["response"]; + }; + moveColumn: { + parameters: RequestParameters & Endpoints["POST /projects/columns/{column_id}/moves"]["parameters"]; + response: Endpoints["POST /projects/columns/{column_id}/moves"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Endpoints["DELETE /projects/{project_id}/collaborators/{username}"]["parameters"]; + response: Endpoints["DELETE /projects/{project_id}/collaborators/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /projects/{project_id}"]["parameters"]; + response: Endpoints["PATCH /projects/{project_id}"]["response"]; + }; + updateCard: { + parameters: RequestParameters & Endpoints["PATCH /projects/columns/cards/{card_id}"]["parameters"]; + response: Endpoints["PATCH /projects/columns/cards/{card_id}"]["response"]; + }; + updateColumn: { + parameters: RequestParameters & Endpoints["PATCH /projects/columns/{column_id}"]["parameters"]; + response: Endpoints["PATCH /projects/columns/{column_id}"]["response"]; + }; + }; + pulls: { + checkIfMerged: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls"]["response"]; + }; + createReplyForReviewComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"]["response"]; + }; + createReview: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + createReviewComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + deletePendingReview: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + deleteReviewComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + dismissReview: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + getReview: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + getReviewComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + listCommentsForReview: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + listFiles: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + listRequestedReviewers: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + listReviewComments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + listReviewCommentsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + listReviews: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + merge: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + removeRequestedReviewers: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + requestReviewers: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + submitReview: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + updateBranch: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"]["response"]; + }; + updateReview: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + updateReviewComment: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + }; + rateLimit: { + get: { + parameters: RequestParameters & Endpoints["GET /rate_limit"]["parameters"]; + response: Endpoints["GET /rate_limit"]["response"]; + }; + }; + reactions: { + createForCommitComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + createForIssue: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + createForIssueComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + createForPullRequestReviewComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + createForRelease: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + createForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + createForTeamDiscussionInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + deleteForCommitComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssue: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssueComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForPullRequestComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForRelease: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussion: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussionComment: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"]["response"]; + }; + listForCommitComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + listForIssue: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + listForIssueComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + listForPullRequestReviewComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + listForRelease: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + listForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + listForTeamDiscussionInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + }; + repos: { + acceptInvitation: { + parameters: RequestParameters & Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; + }; + acceptInvitationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; + }; + addAppAccessRestrictions: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + addCollaborator: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/collaborators/{username}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + addStatusCheckContexts: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + addTeamAccessRestrictions: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + addUserAccessRestrictions: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + cancelPagesDeployment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"]["response"]; + }; + checkAutomatedSecurityFixes: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/automated-security-fixes"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + checkCollaborator: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + checkVulnerabilityAlerts: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/vulnerability-alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + codeownersErrors: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codeowners/errors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codeowners/errors"]["response"]; + }; + compareCommits: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/compare/{base}...{head}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/compare/{base}...{head}"]["response"]; + }; + compareCommitsWithBasehead: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/compare/{basehead}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/compare/{basehead}"]["response"]; + }; + createAutolink: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/autolinks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/autolinks"]["response"]; + }; + createCommitComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + createCommitSignatureProtection: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + createCommitStatus: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/statuses/{sha}"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/statuses/{sha}"]["response"]; + }; + createDeployKey: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/keys"]["response"]; + }; + createDeployment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/deployments"]["response"]; + }; + createDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]; + }; + createDeploymentProtectionRule: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["response"]; + }; + createDeploymentStatus: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + createDispatchEvent: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/dispatches"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/dispatches"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/repos"]["parameters"]; + response: Endpoints["POST /user/repos"]["response"]; + }; + createFork: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/forks"]["response"]; + }; + createInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/repos"]["parameters"]; + response: Endpoints["POST /orgs/{org}/repos"]["response"]; + }; + createOrUpdateCustomPropertiesValues: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/properties/values"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/properties/values"]["response"]; + }; + createOrUpdateEnvironment: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + createOrUpdateFileContents: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + createOrgRuleset: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/rulesets"]["parameters"]; + response: Endpoints["POST /orgs/{org}/rulesets"]["response"]; + }; + createPagesDeployment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages/deployments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages/deployments"]["response"]; + }; + createPagesSite: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages"]["response"]; + }; + createRelease: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/releases"]["response"]; + }; + createRepoRuleset: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/rulesets"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/rulesets"]["response"]; + }; + createTagProtection: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/tags/protection"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/tags/protection"]["response"]; + }; + createUsingTemplate: { + parameters: RequestParameters & Endpoints["POST /repos/{template_owner}/{template_repo}/generate"]["parameters"]; + response: Endpoints["POST /repos/{template_owner}/{template_repo}/generate"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks"]["response"]; + }; + declineInvitation: { + parameters: RequestParameters & Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; + }; + declineInvitationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}"]["response"]; + }; + deleteAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + deleteAdminBranchProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + deleteAnEnvironment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + deleteAutolink: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; + }; + deleteBranchProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + deleteCommitComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + deleteCommitSignatureProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + deleteDeployKey: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/keys/{key_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + deleteDeployment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + deleteDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; + }; + deleteFile: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/contents/{path}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + deleteInvitation: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + deleteOrgRuleset: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/rulesets/{ruleset_id}"]["response"]; + }; + deletePagesSite: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pages"]["response"]; + }; + deletePullRequestReviewProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + deleteRelease: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + deleteReleaseAsset: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + deleteRepoRuleset: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; + }; + deleteTagProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + disableAutomatedSecurityFixes: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/automated-security-fixes"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + disableDeploymentProtectionRule: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["response"]; + }; + disablePrivateVulnerabilityReporting: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"]["response"]; + }; + disableVulnerabilityAlerts: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/vulnerability-alerts"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + downloadArchive: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + downloadTarballArchive: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/tarball/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tarball/{ref}"]["response"]; + }; + downloadZipballArchive: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + enableAutomatedSecurityFixes: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/automated-security-fixes"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + enablePrivateVulnerabilityReporting: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"]["response"]; + }; + enableVulnerabilityAlerts: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/vulnerability-alerts"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + generateReleaseNotes: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/releases/generate-notes"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/releases/generate-notes"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}"]["response"]; + }; + getAccessRestrictions: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + getAdminBranchProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + getAllDeploymentProtectionRules: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["response"]; + }; + getAllEnvironments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]; + }; + getAllStatusCheckContexts: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + getAllTopics: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]; + }; + getAppsWithAccessToProtectedBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + getAutolink: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; + }; + getBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}"]["response"]; + }; + getBranchProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + getBranchRules: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["response"]; + }; + getClones: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/clones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/clones"]["response"]; + }; + getCodeFrequencyStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/code_frequency"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/code_frequency"]["response"]; + }; + getCollaboratorPermissionLevel: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}/permission"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}/permission"]["response"]; + }; + getCombinedStatusForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}"]["response"]; + }; + getCommitActivityStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/commit_activity"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/commit_activity"]["response"]; + }; + getCommitComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + getCommitSignatureProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + getCommunityProfileMetrics: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/community/profile"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/community/profile"]["response"]; + }; + getContent: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/contents/{path}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + getContributorsStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/contributors"]["response"]; + }; + getCustomDeploymentProtectionRule: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["response"]; + }; + getCustomPropertiesValues: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/properties/values"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/properties/values"]["response"]; + }; + getDeployKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/keys/{key_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + getDeployment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + getDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; + }; + getDeploymentStatus: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["response"]; + }; + getEnvironment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + getLatestPagesBuild: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["response"]; + }; + getLatestRelease: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["response"]; + }; + getOrgRuleSuite: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"]["response"]; + }; + getOrgRuleSuites: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["response"]; + }; + getOrgRuleset: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/{ruleset_id}"]["response"]; + }; + getOrgRulesets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets"]["response"]; + }; + getPages: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages"]["response"]; + }; + getPagesBuild: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/builds/{build_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/{build_id}"]["response"]; + }; + getPagesDeployment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"]["response"]; + }; + getPagesHealthCheck: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/health"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/health"]["response"]; + }; + getParticipationStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/participation"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/participation"]["response"]; + }; + getPullRequestReviewProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + getPunchCardStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/punch_card"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/punch_card"]["response"]; + }; + getReadme: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/readme"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/readme"]["response"]; + }; + getReadmeInDirectory: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["response"]; + }; + getRelease: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + getReleaseAsset: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + getReleaseByTag: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/tags/{tag}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/tags/{tag}"]["response"]; + }; + getRepoRuleSuite: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"]["response"]; + }; + getRepoRuleSuites: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["response"]; + }; + getRepoRuleset: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; + }; + getRepoRulesets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["response"]; + }; + getStatusChecksProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + getTeamsWithAccessToProtectedBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + getTopPaths: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/popular/paths"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/paths"]["response"]; + }; + getTopReferrers: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/popular/referrers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/referrers"]["response"]; + }; + getUsersWithAccessToProtectedBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + getViews: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/views"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/views"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; + }; + listActivities: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/activity"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/activity"]["response"]; + }; + listAutolinks: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/autolinks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/autolinks"]["response"]; + }; + listBranches: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + listBranchesForHeadCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/collaborators"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + listCommentsForCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + listCommitCommentsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + listCommitStatusesForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + listContributors: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + listCustomDeploymentRuleIntegrations: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"]; + }; + listDeployKeys: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + listDeploymentBranchPolicies: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]; + }; + listDeploymentStatuses: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + listDeployments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/repos"]["parameters"]; + response: Endpoints["GET /user/repos"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/repos"]["parameters"]; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + listForks: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + listInvitations: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/invitations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + listInvitationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/repository_invitations"]["parameters"]; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + listLanguages: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/languages"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/languages"]["response"]; + }; + listPagesBuilds: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Endpoints["GET /repositories"]["parameters"]; + response: Endpoints["GET /repositories"]["response"]; + }; + listPullRequestsAssociatedWithCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + listReleaseAssets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + listReleases: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + listTagProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/tags/protection"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags/protection"]["response"]; + }; + listTags: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + listTeams: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + merge: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/merges"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/merges"]["response"]; + }; + mergeUpstream: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/merge-upstream"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/merge-upstream"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeAppAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/collaborators/{username}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + removeStatusCheckContexts: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + removeStatusCheckProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + removeTeamAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + removeUserAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + renameBranch: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/rename"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/rename"]["response"]; + }; + replaceAllTopics: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/topics"]["response"]; + }; + requestPagesBuild: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + setAdminBranchProtection: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + setAppAccessRestrictions: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + setStatusCheckContexts: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + setTeamAccessRestrictions: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + setUserAccessRestrictions: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + testPushWebhook: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"]["response"]; + }; + transfer: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/transfer"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/transfer"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}"]["response"]; + }; + updateBranchProtection: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + updateCommitComment: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + updateDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; + }; + updateInformationAboutPagesSite: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pages"]["response"]; + }; + updateInvitation: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + updateOrgRuleset: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/rulesets/{ruleset_id}"]["response"]; + }; + updatePullRequestReviewProtection: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + updateRelease: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/releases/{release_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + updateReleaseAsset: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + updateRepoRuleset: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; + }; + updateStatusCheckPotection: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateStatusCheckProtection: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForRepo: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + uploadReleaseAsset: { + parameters: RequestParameters & Endpoints["POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]["parameters"]; + response: Endpoints["POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]["response"]; + }; + }; + search: { + code: { + parameters: RequestParameters & Endpoints["GET /search/code"]["parameters"]; + response: Endpoints["GET /search/code"]["response"]; + }; + commits: { + parameters: RequestParameters & Endpoints["GET /search/commits"]["parameters"]; + response: Endpoints["GET /search/commits"]["response"]; + }; + issuesAndPullRequests: { + parameters: RequestParameters & Endpoints["GET /search/issues"]["parameters"]; + response: Endpoints["GET /search/issues"]["response"]; + }; + labels: { + parameters: RequestParameters & Endpoints["GET /search/labels"]["parameters"]; + response: Endpoints["GET /search/labels"]["response"]; + }; + repos: { + parameters: RequestParameters & Endpoints["GET /search/repositories"]["parameters"]; + response: Endpoints["GET /search/repositories"]["response"]; + }; + topics: { + parameters: RequestParameters & Endpoints["GET /search/topics"]["parameters"]; + response: Endpoints["GET /search/topics"]["response"]; + }; + users: { + parameters: RequestParameters & Endpoints["GET /search/users"]["parameters"]; + response: Endpoints["GET /search/users"]["response"]; + }; + }; + secretScanning: { + getAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + listAlertsForEnterprise: { + parameters: RequestParameters & Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; + }; + listAlertsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + listLocationsForAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + }; + securityAdvisories: { + createFork: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"]["response"]; + }; + createPrivateVulnerabilityReport: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories/reports"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/reports"]["response"]; + }; + createRepositoryAdvisory: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories"]["response"]; + }; + createRepositoryAdvisoryCveRequest: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"]["response"]; + }; + getGlobalAdvisory: { + parameters: RequestParameters & Endpoints["GET /advisories/{ghsa_id}"]["parameters"]; + response: Endpoints["GET /advisories/{ghsa_id}"]["response"]; + }; + getRepositoryAdvisory: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["response"]; + }; + listGlobalAdvisories: { + parameters: RequestParameters & Endpoints["GET /advisories"]["parameters"]; + response: Endpoints["GET /advisories"]["response"]; + }; + listOrgRepositoryAdvisories: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/security-advisories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/security-advisories"]["response"]; + }; + listRepositoryAdvisories: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["response"]; + }; + updateRepositoryAdvisory: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["response"]; + }; + }; + teams: { + addOrUpdateMembershipForUserInOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + addOrUpdateProjectPermissionsInOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + addOrUpdateRepoPermissionsInOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + checkPermissionsForProjectInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + checkPermissionsForRepoInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams"]["response"]; + }; + createDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + createDiscussionInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + deleteDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + deleteDiscussionInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + deleteInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getByName: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + getDiscussionInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + getMembershipForUserInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + listChildInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + listDiscussionCommentsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + listDiscussionsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/teams"]["parameters"]; + response: Endpoints["GET /user/teams"]["response"]; + }; + listMembersInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + listPendingInvitationsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + listProjectsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + listReposInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + removeMembershipForUserInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + removeProjectInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + removeRepoInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + updateDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + updateDiscussionInOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + updateInOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/teams/{team_slug}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}"]["response"]; + }; + }; + users: { + addEmailForAuthenticated: { + parameters: RequestParameters & Endpoints["POST /user/emails"]["parameters"]; + response: Endpoints["POST /user/emails"]["response"]; + }; + addEmailForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/emails"]["parameters"]; + response: Endpoints["POST /user/emails"]["response"]; + }; + addSocialAccountForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/social_accounts"]["parameters"]; + response: Endpoints["POST /user/social_accounts"]["response"]; + }; + block: { + parameters: RequestParameters & Endpoints["PUT /user/blocks/{username}"]["parameters"]; + response: Endpoints["PUT /user/blocks/{username}"]["response"]; + }; + checkBlocked: { + parameters: RequestParameters & Endpoints["GET /user/blocks/{username}"]["parameters"]; + response: Endpoints["GET /user/blocks/{username}"]["response"]; + }; + checkFollowingForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/following/{target_user}"]["parameters"]; + response: Endpoints["GET /users/{username}/following/{target_user}"]["response"]; + }; + checkPersonIsFollowedByAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/following/{username}"]["parameters"]; + response: Endpoints["GET /user/following/{username}"]["response"]; + }; + createGpgKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["POST /user/gpg_keys"]["parameters"]; + response: Endpoints["POST /user/gpg_keys"]["response"]; + }; + createGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/gpg_keys"]["parameters"]; + response: Endpoints["POST /user/gpg_keys"]["response"]; + }; + createPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["POST /user/keys"]["parameters"]; + response: Endpoints["POST /user/keys"]["response"]; + }; + createPublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/keys"]["parameters"]; + response: Endpoints["POST /user/keys"]["response"]; + }; + createSshSigningKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/ssh_signing_keys"]["parameters"]; + response: Endpoints["POST /user/ssh_signing_keys"]["response"]; + }; + deleteEmailForAuthenticated: { + parameters: RequestParameters & Endpoints["DELETE /user/emails"]["parameters"]; + response: Endpoints["DELETE /user/emails"]["response"]; + }; + deleteEmailForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/emails"]["parameters"]; + response: Endpoints["DELETE /user/emails"]["response"]; + }; + deleteGpgKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + deleteGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + deletePublicSshKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["DELETE /user/keys/{key_id}"]["parameters"]; + response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; + }; + deletePublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/keys/{key_id}"]["parameters"]; + response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; + }; + deleteSocialAccountForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/social_accounts"]["parameters"]; + response: Endpoints["DELETE /user/social_accounts"]["response"]; + }; + deleteSshSigningKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"]["parameters"]; + response: Endpoints["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"]["response"]; + }; + follow: { + parameters: RequestParameters & Endpoints["PUT /user/following/{username}"]["parameters"]; + response: Endpoints["PUT /user/following/{username}"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user"]["parameters"]; + response: Endpoints["GET /user"]["response"]; + }; + getByUsername: { + parameters: RequestParameters & Endpoints["GET /users/{username}"]["parameters"]; + response: Endpoints["GET /users/{username}"]["response"]; + }; + getContextForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/hovercard"]["parameters"]; + response: Endpoints["GET /users/{username}/hovercard"]["response"]; + }; + getGpgKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + getGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + getPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/keys/{key_id}"]["parameters"]; + response: Endpoints["GET /user/keys/{key_id}"]["response"]; + }; + getPublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/keys/{key_id}"]["parameters"]; + response: Endpoints["GET /user/keys/{key_id}"]["response"]; + }; + getSshSigningKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/ssh_signing_keys/{ssh_signing_key_id}"]["parameters"]; + response: Endpoints["GET /user/ssh_signing_keys/{ssh_signing_key_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /users"]["parameters"]; + response: Endpoints["GET /users"]["response"]; + }; + listBlockedByAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + listBlockedByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + listEmailsForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + listEmailsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + listFollowedByAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + listFollowedByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + listFollowersForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/followers"]["parameters"]; + response: Endpoints["GET /user/followers"]["response"]; + }; + listFollowersForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/followers"]["parameters"]; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + listFollowingForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/following"]["parameters"]; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + listGpgKeysForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + listGpgKeysForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + listGpgKeysForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/gpg_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + listPublicEmailsForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + listPublicEmailsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + listPublicKeysForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/keys"]["parameters"]; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + listPublicSshKeysForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + listPublicSshKeysForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + listSocialAccountsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/social_accounts"]["parameters"]; + response: Endpoints["GET /user/social_accounts"]["response"]; + }; + listSocialAccountsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/social_accounts"]["parameters"]; + response: Endpoints["GET /users/{username}/social_accounts"]["response"]; + }; + listSshSigningKeysForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /user/ssh_signing_keys"]["response"]; + }; + listSshSigningKeysForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/ssh_signing_keys"]["response"]; + }; + setPrimaryEmailVisibilityForAuthenticated: { + parameters: RequestParameters & Endpoints["PATCH /user/email/visibility"]["parameters"]; + response: Endpoints["PATCH /user/email/visibility"]["response"]; + }; + setPrimaryEmailVisibilityForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/email/visibility"]["parameters"]; + response: Endpoints["PATCH /user/email/visibility"]["response"]; + }; + unblock: { + parameters: RequestParameters & Endpoints["DELETE /user/blocks/{username}"]["parameters"]; + response: Endpoints["DELETE /user/blocks/{username}"]["response"]; + }; + unfollow: { + parameters: RequestParameters & Endpoints["DELETE /user/following/{username}"]["parameters"]; + response: Endpoints["DELETE /user/following/{username}"]["response"]; + }; + updateAuthenticated: { + parameters: RequestParameters & Endpoints["PATCH /user"]["parameters"]; + response: Endpoints["PATCH /user"]["response"]; + }; + }; +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts new file mode 100644 index 0000000000..9b0af1845b --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts @@ -0,0 +1,11 @@ +import type { Octokit } from "@octokit/core"; +export type { RestEndpointMethodTypes } from "./generated/parameters-and-response-types.js"; +import type { Api } from "./types.js"; +export declare function restEndpointMethods(octokit: Octokit): Api; +export declare namespace restEndpointMethods { + var VERSION: string; +} +export declare function legacyRestEndpointMethods(octokit: Octokit): Api["rest"] & Api; +export declare namespace legacyRestEndpointMethods { + var VERSION: string; +} diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts new file mode 100644 index 0000000000..5fbfe844e2 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts @@ -0,0 +1,18 @@ +import type { Route, RequestParameters } from "@octokit/types"; +import type { RestEndpointMethods } from "./generated/method-types.js"; +export type Api = { + rest: RestEndpointMethods; +}; +export type EndpointDecorations = { + mapToData?: string; + deprecated?: string; + renamed?: [string, string]; + renamedParameters?: { + [name: string]: string; + }; +}; +export type EndpointsDefaultsAndDecorations = { + [scope: string]: { + [methodName: string]: [Route, RequestParameters?, EndpointDecorations?]; + }; +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts new file mode 100644 index 0000000000..1abc9fce99 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "10.4.1"; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js new file mode 100644 index 0000000000..9036f49380 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js @@ -0,0 +1,2137 @@ +// pkg/dist-src/version.js +var VERSION = "10.4.1"; + +// pkg/dist-src/generated/endpoints.js +var Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + ], + createEnvironmentVariable: [ + "POST /repositories/{repository_id}/environments/{environment_name}/variables" + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token" + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token" + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token" + ], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + ], + deleteActionsCacheById: [ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + ], + deleteActionsCacheByKey: [ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + deleteRepoVariable: [ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}" + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + ], + forceCancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + ], + generateRunnerJitconfigForOrg: [ + "POST /orgs/{org}/actions/runners/generate-jitconfig" + ], + generateRunnerJitconfigForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + ], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: [ + "GET /orgs/{org}/actions/cache/usage-by-repository" + ], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions" + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + getGithubActionsDefaultWorkflowPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions/workflow" + ], + getGithubActionsDefaultWorkflowPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/workflow" + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions" + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions" + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/access" + ], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables" + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + ], + listLabelsForSelfHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/runners/{runner_id}/labels" + ], + listLabelsForSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: [ + "GET /repos/{owner}/{repo}/actions/organization-secrets" + ], + listRepoOrganizationVariables: [ + "GET /repos/{owner}/{repo}/actions/organization-variables" + ], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads" + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + listSelectedReposForOrgVariable: [ + "GET /orgs/{org}/actions/variables/{name}/repositories" + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories" + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + ], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + ], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" + ], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + removeCustomLabelFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + ], + removeCustomLabelFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgVariable: [ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + reviewCustomGatesForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions" + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + setCustomLabelsForSelfHostedRunnerForOrg: [ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + ], + setCustomLabelsForSelfHostedRunnerForRepo: [ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + setCustomOidcSubClaimForRepo: [ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + setGithubActionsDefaultWorkflowPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/workflow" + ], + setGithubActionsDefaultWorkflowPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions" + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories" + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories" + ], + setWorkflowAccessToRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/access" + ], + updateEnvironmentVariable: [ + "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: [ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + ] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription" + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription" + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}" + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public" + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications" + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription" + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}" + ], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens" + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}" + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}" + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories" + ], + listInstallationRequestsForAuthenticatedApp: [ + "GET /app/installation-requests" + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed" + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts" + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}" + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended" + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } } + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getCodeqlDatabase: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" + ], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] } + ], + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + ], + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/exports/{export_id}" + ], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: [ + "GET /orgs/{org}/codespaces", + {}, + { renamedParameters: { org_id: "org" } } + ], + listInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" + ], + removeRepositoryForSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] + }, + dependabot: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/dependabot/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ] + }, + dependencyGraph: { + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } + ] + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + ] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } } + ] + }, + meta: { + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: [ + "DELETE /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" + } + ], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + getCommitAuthors: [ + "GET /repos/{owner}/{repo}/import/authors", + {}, + { + deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors" + } + ], + getImportStatus: [ + "GET /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status" + } + ], + getLargeFiles: [ + "GET /repos/{owner}/{repo}/import/large_files", + {}, + { + deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" + } + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories" + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] } + ], + mapCommitAuthor: [ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", + {}, + { + deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author" + } + ], + setLfsPreference: [ + "PATCH /repos/{owner}/{repo}/import/lfs", + {}, + { + deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference" + } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: [ + "PUT /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" + } + ], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ], + updateImport: [ + "PATCH /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" + } + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" + ], + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] + }, + orgs: { + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}" + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: [ + "PATCH /orgs/{org}/properties/values" + ], + createOrUpdateCustomProperty: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + ], + listPatGrantRequestRepositories: [ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" + ], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeCustomProperty: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}" + ], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}" + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + ] + } + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions" + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ] + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}" + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}" + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection" + ], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}" + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" + ], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: [ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}" + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] } + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" } + ] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/secret-scanning/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + securityAdvisories: { + createFork: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" + ], + createPrivateVulnerabilityReport: [ + "POST /repos/{owner}/{repo}/security-advisories/reports" + ], + createRepositoryAdvisory: [ + "POST /repos/{owner}/{repo}/security-advisories" + ], + createRepositoryAdvisoryCveRequest: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + ], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: [ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: [ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ] + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] } + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] } + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] } + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] } + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] } + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; +var endpoints_default = Endpoints; + +// pkg/dist-src/endpoints-to-methods.js +var endpointMethodsMap = /* @__PURE__ */ new Map(); +for (const [scope, endpoints] of Object.entries(endpoints_default)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults + ); + if (!endpointMethodsMap.has(scope)) { + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); + } + endpointMethodsMap.get(scope).set(methodName, { + scope, + methodName, + endpointDefaults, + decorations + }); + } +} +var handler = { + has({ scope }, methodName) { + return endpointMethodsMap.get(scope).has(methodName); + }, + getOwnPropertyDescriptor(target, methodName) { + return { + value: this.get(target, methodName), + // ensures method is in the cache + configurable: true, + writable: true, + enumerable: true + }; + }, + defineProperty(target, methodName, descriptor) { + Object.defineProperty(target.cache, methodName, descriptor); + return true; + }, + deleteProperty(target, methodName) { + delete target.cache[methodName]; + return true; + }, + ownKeys({ scope }) { + return [...endpointMethodsMap.get(scope).keys()]; + }, + set(target, methodName, value) { + return target.cache[methodName] = value; + }, + get({ octokit, scope, cache }, methodName) { + if (cache[methodName]) { + return cache[methodName]; + } + const method = endpointMethodsMap.get(scope).get(methodName); + if (!method) { + return void 0; + } + const { endpointDefaults, decorations } = method; + if (decorations) { + cache[methodName] = decorate( + octokit, + scope, + methodName, + endpointDefaults, + decorations + ); + } else { + cache[methodName] = octokit.request.defaults(endpointDefaults); + } + return cache[methodName]; + } +}; +function endpointsToMethods(octokit) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + function withDecorations(...args) { + let options = requestWithDefaults.endpoint.merge(...args); + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: void 0 + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + const options2 = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { + if (name in options2) { + octokit.log.warn( + `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` + ); + if (!(alias in options2)) { + options2[alias] = options2[name]; + } + delete options2[name]; + } + } + return requestWithDefaults(options2); + } + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} + +// pkg/dist-src/index.js +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; +export { + legacyRestEndpointMethods, + restEndpointMethods +}; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map new file mode 100644 index 0000000000..f22c001496 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/version.js", "../dist-src/generated/endpoints.js", "../dist-src/endpoints-to-methods.js", "../dist-src/index.js"], + "sourcesContent": ["const VERSION = \"10.4.1\";\nexport {\n VERSION\n};\n", "const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"\n ],\n createEnvironmentVariable: [\n \"POST /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n createOrgVariable: [\"POST /orgs/{org}/actions/variables\"],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\"\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\"\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\"\n ],\n createRepoVariable: [\"POST /repos/{owner}/{repo}/actions/variables\"],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteOrgVariable: [\"DELETE /orgs/{org}/actions/variables/{name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n deleteRepoVariable: [\n \"DELETE /repos/{owner}/{repo}/actions/variables/{name}\"\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\"\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"\n ],\n forceCancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\"\n ],\n generateRunnerJitconfigForOrg: [\n \"POST /orgs/{org}/actions/runners/generate-jitconfig\"\n ],\n generateRunnerJitconfigForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig\"\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\"\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\"\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getCustomOidcSubClaimForRepo: [\n \"GET /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\"\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\"\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\"\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getOrgVariable: [\"GET /orgs/{org}/actions/variables/{name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] }\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getRepoVariable: [\"GET /repos/{owner}/{repo}/actions/variables/{name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listOrgVariables: [\"GET /orgs/{org}/actions/variables\"],\n listRepoOrganizationSecrets: [\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\"\n ],\n listRepoOrganizationVariables: [\n \"GET /repos/{owner}/{repo}/actions/organization-variables\"\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoVariables: [\"GET /repos/{owner}/{repo}/actions/variables\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\"\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n listSelectedReposForOrgVariable: [\n \"GET /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\"\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgVariable: [\n \"DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n reviewCustomGatesForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\"\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\"\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n setCustomOidcSubClaimForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\"\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\"\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\"\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n updateEnvironmentVariable: [\n \"PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\n ],\n updateOrgVariable: [\"PATCH /orgs/{org}/actions/variables/{name}\"],\n updateRepoVariable: [\n \"PATCH /repos/{owner}/{repo}/actions/variables/{name}\"\n ]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\"\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\"\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\"\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\"\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\"\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsDone: [\"DELETE /notifications/threads/{thread_id}\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\"\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] }\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\"\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\"\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\"\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\"\n ],\n listInstallationRequestsForAuthenticatedApp: [\n \"GET /app/installation-requests\"\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\"\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\"\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] }\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\"\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\"\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\"\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\"\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\"\n ]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } }\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"\n ],\n getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getDefaultSetup: [\"GET /repos/{owner}/{repo}/code-scanning/default-setup\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] }\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\"\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"\n ],\n updateDefaultSetup: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/default-setup\"\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n checkPermissionsForDevcontainer: [\n \"GET /repos/{owner}/{repo}/codespaces/permissions_check\"\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\"\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\"\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\"\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/codespaces/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\"\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\"\n ],\n getCodespacesForUserInOrg: [\n \"GET /orgs/{org}/members/{username}/codespaces\"\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\"\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\"\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\"\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\"\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } }\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\"\n ],\n publishForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/publish\"\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\"\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n copilot: {\n addCopilotSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotSeatsForUsers: [\n \"POST /orgs/{org}/copilot/billing/selected_users\"\n ],\n cancelCopilotSeatAssignmentForTeams: [\n \"DELETE /orgs/{org}/copilot/billing/selected_teams\"\n ],\n cancelCopilotSeatAssignmentForUsers: [\n \"DELETE /orgs/{org}/copilot/billing/selected_users\"\n ],\n getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/dependabot/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/dependabot/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\n ]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"\n ],\n exportSbom: [\"GET /repos/{owner}/{repo}/dependency-graph/sbom\"]\n },\n emojis: { get: [\"GET /emojis\"] },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] }\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\"\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] }\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] }\n ]\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n checkUserCanBeAssignedToIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}\"\n ],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } }\n ]\n },\n meta: {\n get: [\"GET /meta\"],\n getAllVersions: [\"GET /versions\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\n \"DELETE /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import\"\n }\n ],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\"\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\"\n ],\n getCommitAuthors: [\n \"GET /repos/{owner}/{repo}/import/authors\",\n {},\n {\n deprecated: \"octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors\"\n }\n ],\n getImportStatus: [\n \"GET /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status\"\n }\n ],\n getLargeFiles: [\n \"GET /repos/{owner}/{repo}/import/large_files\",\n {},\n {\n deprecated: \"octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files\"\n }\n ],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\"\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] }\n ],\n mapCommitAuthor: [\n \"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\",\n {},\n {\n deprecated: \"octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author\"\n }\n ],\n setLfsPreference: [\n \"PATCH /repos/{owner}/{repo}/import/lfs\",\n {},\n {\n deprecated: \"octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference\"\n }\n ],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\n \"PUT /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import\"\n }\n ],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n updateImport: [\n \"PATCH /repos/{owner}/{repo}/import\",\n {},\n {\n deprecated: \"octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import\"\n }\n ]\n },\n oidc: {\n getOidcCustomSubTemplateForOrg: [\n \"GET /orgs/{org}/actions/oidc/customization/sub\"\n ],\n updateOidcCustomSubTemplateForOrg: [\n \"PUT /orgs/{org}/actions/oidc/customization/sub\"\n ]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n assignTeamToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n assignUserToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\"\n ],\n createCustomOrganizationRole: [\"POST /orgs/{org}/organization-roles\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createOrUpdateCustomProperties: [\"PATCH /orgs/{org}/properties/schema\"],\n createOrUpdateCustomPropertiesValuesForRepos: [\n \"PATCH /orgs/{org}/properties/values\"\n ],\n createOrUpdateCustomProperty: [\n \"PUT /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteCustomOrganizationRole: [\n \"DELETE /orgs/{org}/organization-roles/{role_id}\"\n ],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\"\n ],\n get: [\"GET /orgs/{org}\"],\n getAllCustomProperties: [\"GET /orgs/{org}/properties/schema\"],\n getCustomProperty: [\n \"GET /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getOrgRole: [\"GET /orgs/{org}/organization-roles/{role_id}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomPropertiesValuesForRepos: [\"GET /orgs/{org}/properties/values\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOrgRoleTeams: [\"GET /orgs/{org}/organization-roles/{role_id}/teams\"],\n listOrgRoleUsers: [\"GET /orgs/{org}/organization-roles/{role_id}/users\"],\n listOrgRoles: [\"GET /orgs/{org}/organization-roles\"],\n listOrganizationFineGrainedPermissions: [\n \"GET /orgs/{org}/organization-fine-grained-permissions\"\n ],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPatGrantRepositories: [\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\"\n ],\n listPatGrantRequestRepositories: [\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\"\n ],\n listPatGrantRequests: [\"GET /orgs/{org}/personal-access-token-requests\"],\n listPatGrants: [\"GET /orgs/{org}/personal-access-tokens\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listSecurityManagerTeams: [\"GET /orgs/{org}/security-managers\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n patchCustomOrganizationRole: [\n \"PATCH /orgs/{org}/organization-roles/{role_id}\"\n ],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeCustomProperty: [\n \"DELETE /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\"\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\"\n ],\n removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n reviewPatGrantRequest: [\n \"POST /orgs/{org}/personal-access-token-requests/{pat_request_id}\"\n ],\n reviewPatGrantRequestsInBulk: [\n \"POST /orgs/{org}/personal-access-token-requests\"\n ],\n revokeAllOrgRolesTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}\"\n ],\n revokeAllOrgRolesUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}\"\n ],\n revokeOrgRoleTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n revokeOrgRoleUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\"\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\"\n ],\n updatePatAccess: [\"POST /orgs/{org}/personal-access-tokens/{pat_id}\"],\n updatePatAccesses: [\"POST /orgs/{org}/personal-access-tokens\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\"\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\"\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] }\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"\n ]\n }\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\"\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\"\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\"\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n listDockerMigrationConflictingPackagesForAuthenticatedUser: [\n \"GET /user/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForOrganization: [\n \"GET /orgs/{org}/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForUser: [\n \"GET /users/{username}/docker/conflicts\"\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\"\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\"\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ]\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ]\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] }\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\"\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n cancelPagesDeployment: [\n \"POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel\"\n ],\n checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\"\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n createDeploymentProtectionRule: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateCustomPropertiesValues: [\n \"PATCH /repos/{owner}/{repo}/properties/values\"\n ],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createOrgRuleset: [\"POST /orgs/{org}/rulesets\"],\n createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployments\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\"\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] }\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\"\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n deleteOrgRuleset: [\"DELETE /orgs/{org}/rulesets/{ruleset_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n deleteRepoRuleset: [\"DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n disableDeploymentProtectionRule: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n disablePrivateVulnerabilityReporting: [\n \"DELETE /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] }\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n enablePrivateVulnerabilityReporting: [\n \"PUT /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\"\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n getAllDeploymentProtectionRules: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n getBranchRules: [\"GET /repos/{owner}/{repo}/rules/branches/{branch}\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getCustomDeploymentProtectionRule: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n getCustomPropertiesValues: [\"GET /repos/{owner}/{repo}/properties/values\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getOrgRuleSuite: [\"GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}\"],\n getOrgRuleSuites: [\"GET /orgs/{org}/rulesets/rule-suites\"],\n getOrgRuleset: [\"GET /orgs/{org}/rulesets/{ruleset_id}\"],\n getOrgRulesets: [\"GET /orgs/{org}/rulesets\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesDeployment: [\n \"GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}\"\n ],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getRepoRuleSuite: [\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}\"\n ],\n getRepoRuleSuites: [\"GET /repos/{owner}/{repo}/rulesets/rule-suites\"],\n getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n getRepoRulesets: [\"GET /repos/{owner}/{repo}/rulesets\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n listActivities: [\"GET /repos/{owner}/{repo}/activity\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listCustomDeploymentRuleIntegrations: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\"\n ],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\"\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n updateOrgRuleset: [\"PUT /orgs/{org}/rulesets/{ruleset_id}\"],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n updateRepoRuleset: [\"PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] }\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" }\n ]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ]\n },\n securityAdvisories: {\n createFork: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks\"\n ],\n createPrivateVulnerabilityReport: [\n \"POST /repos/{owner}/{repo}/security-advisories/reports\"\n ],\n createRepositoryAdvisory: [\n \"POST /repos/{owner}/{repo}/security-advisories\"\n ],\n createRepositoryAdvisoryCveRequest: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve\"\n ],\n getGlobalAdvisory: [\"GET /advisories/{ghsa_id}\"],\n getRepositoryAdvisory: [\n \"GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ],\n listGlobalAdvisories: [\"GET /advisories\"],\n listOrgRepositoryAdvisories: [\"GET /orgs/{org}/security-advisories\"],\n listRepositoryAdvisories: [\"GET /repos/{owner}/{repo}/security-advisories\"],\n updateRepositoryAdvisory: [\n \"PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\"\n ],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] }\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n addSocialAccountForAuthenticatedUser: [\"POST /user/social_accounts\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] }\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] }\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] }\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] }\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] }\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSocialAccountForAuthenticatedUser: [\"DELETE /user/social_accounts\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] }\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] }\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] }\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] }\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] }\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] }\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] }\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] }\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSocialAccountsForAuthenticatedUser: [\"GET /user/social_accounts\"],\n listSocialAccountsForUser: [\"GET /users/{username}/social_accounts\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] }\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\"\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\nvar endpoints_default = Endpoints;\nexport {\n endpoints_default as default\n};\n", "import ENDPOINTS from \"./generated/endpoints.js\";\nconst endpointMethodsMap = /* @__PURE__ */ new Map();\nfor (const [scope, endpoints] of Object.entries(ENDPOINTS)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign(\n {\n method,\n url\n },\n defaults\n );\n if (!endpointMethodsMap.has(scope)) {\n endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());\n }\n endpointMethodsMap.get(scope).set(methodName, {\n scope,\n methodName,\n endpointDefaults,\n decorations\n });\n }\n}\nconst handler = {\n has({ scope }, methodName) {\n return endpointMethodsMap.get(scope).has(methodName);\n },\n getOwnPropertyDescriptor(target, methodName) {\n return {\n value: this.get(target, methodName),\n // ensures method is in the cache\n configurable: true,\n writable: true,\n enumerable: true\n };\n },\n defineProperty(target, methodName, descriptor) {\n Object.defineProperty(target.cache, methodName, descriptor);\n return true;\n },\n deleteProperty(target, methodName) {\n delete target.cache[methodName];\n return true;\n },\n ownKeys({ scope }) {\n return [...endpointMethodsMap.get(scope).keys()];\n },\n set(target, methodName, value) {\n return target.cache[methodName] = value;\n },\n get({ octokit, scope, cache }, methodName) {\n if (cache[methodName]) {\n return cache[methodName];\n }\n const method = endpointMethodsMap.get(scope).get(methodName);\n if (!method) {\n return void 0;\n }\n const { endpointDefaults, decorations } = method;\n if (decorations) {\n cache[methodName] = decorate(\n octokit,\n scope,\n methodName,\n endpointDefaults,\n decorations\n );\n } else {\n cache[methodName] = octokit.request.defaults(endpointDefaults);\n }\n return cache[methodName];\n }\n};\nfunction endpointsToMethods(octokit) {\n const newMethods = {};\n for (const scope of endpointMethodsMap.keys()) {\n newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n function withDecorations(...args) {\n let options = requestWithDefaults.endpoint.merge(...args);\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: void 0\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(\n `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`\n );\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n const options2 = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(\n decorations.renamedParameters\n )) {\n if (name in options2) {\n octokit.log.warn(\n `\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`\n );\n if (!(alias in options2)) {\n options2[alias] = options2[name];\n }\n delete options2[name];\n }\n }\n return requestWithDefaults(options2);\n }\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\nexport {\n endpointsToMethods\n};\n", "import { VERSION } from \"./version.js\";\nimport { endpointsToMethods } from \"./endpoints-to-methods.js\";\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n ...api,\n rest: api\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\nexport {\n legacyRestEndpointMethods,\n restEndpointMethods\n};\n"], + "mappings": ";AAAA,IAAM,UAAU;;;ACAhB,IAAM,YAAY;AAAA,EAChB,SAAS;AAAA,IACP,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oCAAoC;AAAA,IACxD,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,8CAA8C;AAAA,IACnE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,oDAAoD;AAAA,MAClD;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,0CAA0C;AAAA,IAChE,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,qCAAqC;AAAA,IAClE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iDAAiD;AAAA,IACxE,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,cAAc,CAAC,+CAA+C;AAAA,IAC9D,gBAAgB,CAAC,0CAA0C;AAAA,IAC3D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,WAAW,uCAAuC,EAAE;AAAA,IAClE;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,eAAe,CAAC,yDAAyD;AAAA,IACzE,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,6CAA6C;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,6CAA6C;AAAA,IACpE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iCAAiC;AAAA,IAClD,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,0DAA0D;AAAA,MACxD;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,iCAAiC;AAAA,IAC/D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,wCAAwC;AAAA,IAClE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,wDAAwD;AAAA,IACxE,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,iDAAiD;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,kDAAkD;AAAA,MAChD;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,uCAAuC,CAAC,kCAAkC;AAAA,IAC1E,wBAAwB,CAAC,2CAA2C;AAAA,IACpE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,YAAY;AAAA,IACvB,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,WAAW,CAAC,wCAAwC;AAAA,IACpD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,gCAAgC,CAAC,8BAA8B;AAAA,IAC/D,uCAAuC,CAAC,oBAAoB;AAAA,IAC5D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,aAAa;AAAA,IAChC,gCAAgC,CAAC,qCAAqC;AAAA,IACtE,yBAAyB,CAAC,qCAAqC;AAAA,IAC/D,qBAAqB,CAAC,wBAAwB;AAAA,IAC9C,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,kCAAkC;AAAA,IACnD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,qCAAqC,CAAC,mBAAmB;AAAA,IACzD,wBAAwB,CAAC,+BAA+B;AAAA,IACxD,wBAAwB,CAAC,qCAAqC;AAAA,IAC9D,uBAAuB,CAAC,sCAAsC;AAAA,IAC9D,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,yBAAyB,CAAC,oBAAoB;AAAA,IAC9C,6BAA6B,CAAC,yCAAyC;AAAA,IACvE,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B,CAAC,kCAAkC;AAAA,IACjE,gCAAgC,CAAC,qCAAqC;AAAA,EACxE;AAAA,EACA,MAAM;AAAA,IACJ,uBAAuB;AAAA,MACrB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,2CAA2C,EAAE;AAAA,IACnE;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,YAAY,CAAC,sCAAsC;AAAA,IACnD,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,oBAAoB,CAAC,6CAA6C;AAAA,IAClE,aAAa,CAAC,wCAAwC;AAAA,IACtD,kBAAkB,CAAC,UAAU;AAAA,IAC7B,WAAW,CAAC,sBAAsB;AAAA,IAClC,iBAAiB,CAAC,0CAA0C;AAAA,IAC5D,oBAAoB,CAAC,8BAA8B;AAAA,IACnD,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oCAAoC;AAAA,IAC1D,wBAAwB,CAAC,sBAAsB;AAAA,IAC/C,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,wBAAwB;AAAA,IAC5C,uCAAuC,CAAC,yBAAyB;AAAA,IACjE,WAAW,CAAC,gCAAgC;AAAA,IAC5C,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mCAAmC,CAAC,gCAAgC;AAAA,IACpE,uCAAuC,CAAC,iCAAiC;AAAA,IACzE,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,0BAA0B;AAAA,IAClD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,gDAAgD,EAAE;AAAA,IACxE;AAAA,IACA,gDAAgD;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,YAAY,CAAC,uCAAuC;AAAA,IACpD,+BAA+B,CAAC,4BAA4B;AAAA,IAC5D,YAAY,CAAC,6CAA6C;AAAA,IAC1D,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,wBAAwB;AAAA,EACtD;AAAA,EACA,SAAS;AAAA,IACP,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,2CAA2C;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,CAAC,uCAAuC;AAAA,IAChD,aAAa,CAAC,yCAAyC;AAAA,IACvD,KAAK,CAAC,qDAAqD;AAAA,IAC3D,UAAU,CAAC,yDAAyD;AAAA,IACpE,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY,CAAC,oDAAoD;AAAA,IACjE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,uDAAuD;AAAA,EAClE;AAAA,EACA,cAAc;AAAA,IACZ,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,UAAU,eAAe,EAAE;AAAA,IACpD;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uDAAuD;AAAA,IACzE,UAAU,CAAC,2DAA2D;AAAA,IACtE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sCAAsC;AAAA,IACzD,mBAAmB,CAAC,gDAAgD;AAAA,IACpE,qBAAqB;AAAA,MACnB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,oBAAoB,EAAE;AAAA,IACpD;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,kDAAkD;AAAA,IACvE,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,EACjE;AAAA,EACA,gBAAgB;AAAA,IACd,sBAAsB,CAAC,uBAAuB;AAAA,IAC9C,gBAAgB,CAAC,6BAA6B;AAAA,EAChD;AAAA,EACA,YAAY;AAAA,IACV,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,uBAAuB;AAAA,IACpD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,uCAAuC;AAAA,IACjE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,QAAQ,MAAM,EAAE;AAAA,IACzC;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,8BAA8B;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,8CAA8C;AAAA,IAC1E,0BAA0B,CAAC,6CAA6C;AAAA,IACxE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,yCAAyC;AAAA,EACxE;AAAA,EACA,SAAS;AAAA,IACP,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,EAC5D;AAAA,EACA,YAAY;AAAA,IACV,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,4DAA4D;AAAA,IACvE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,YAAY,CAAC,iDAAiD;AAAA,EAChE;AAAA,EACA,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE;AAAA,EAC/B,OAAO;AAAA,IACL,gBAAgB,CAAC,2BAA2B;AAAA,IAC5C,QAAQ,CAAC,aAAa;AAAA,IACtB,eAAe,CAAC,gCAAgC;AAAA,IAChD,QAAQ,CAAC,yBAAyB;AAAA,IAClC,eAAe,CAAC,+CAA+C;AAAA,IAC/D,MAAM,CAAC,6BAA6B;AAAA,IACpC,KAAK,CAAC,sBAAsB;AAAA,IAC5B,YAAY,CAAC,4CAA4C;AAAA,IACzD,aAAa,CAAC,4BAA4B;AAAA,IAC1C,MAAM,CAAC,YAAY;AAAA,IACnB,cAAc,CAAC,+BAA+B;AAAA,IAC9C,aAAa,CAAC,8BAA8B;AAAA,IAC5C,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,4BAA4B;AAAA,IACxC,YAAY,CAAC,mBAAmB;AAAA,IAChC,aAAa,CAAC,oBAAoB;AAAA,IAClC,MAAM,CAAC,2BAA2B;AAAA,IAClC,QAAQ,CAAC,8BAA8B;AAAA,IACvC,QAAQ,CAAC,wBAAwB;AAAA,IACjC,eAAe,CAAC,8CAA8C;AAAA,EAChE;AAAA,EACA,KAAK;AAAA,IACH,YAAY,CAAC,sCAAsC;AAAA,IACnD,cAAc,CAAC,wCAAwC;AAAA,IACvD,WAAW,CAAC,qCAAqC;AAAA,IACjD,WAAW,CAAC,qCAAqC;AAAA,IACjD,YAAY,CAAC,sCAAsC;AAAA,IACnD,WAAW,CAAC,6CAA6C;AAAA,IACzD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,WAAW,CAAC,oDAAoD;AAAA,IAChE,QAAQ,CAAC,yCAAyC;AAAA,IAClD,QAAQ,CAAC,8CAA8C;AAAA,IACvD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,kBAAkB,CAAC,mDAAmD;AAAA,IACtE,WAAW,CAAC,4CAA4C;AAAA,EAC1D;AAAA,EACA,WAAW;AAAA,IACT,iBAAiB,CAAC,0BAA0B;AAAA,IAC5C,aAAa,CAAC,iCAAiC;AAAA,EACjD;AAAA,EACA,cAAc;AAAA,IACZ,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,IACA,wCAAwC,CAAC,iCAAiC;AAAA,IAC1E,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,wCAAwC,EAAE;AAAA,IACxE;AAAA,IACA,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yDAAyD;AAAA,IACrE,wBAAwB,CAAC,gDAAgD;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,mCAAmC;AAAA,IAC5C,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,4CAA4C;AAAA,IAC1D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iDAAiD;AAAA,IACvD,YAAY,CAAC,wDAAwD;AAAA,IACrE,UAAU,CAAC,oDAAoD;AAAA,IAC/D,UAAU,CAAC,yCAAyC;AAAA,IACpD,cAAc,CAAC,yDAAyD;AAAA,IACxE,MAAM,CAAC,aAAa;AAAA,IACpB,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,0DAA0D;AAAA,IACzE,qBAAqB,CAAC,2CAA2C;AAAA,IACjE,YAAY,CAAC,wDAAwD;AAAA,IACrE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,kBAAkB;AAAA,IAC7C,YAAY,CAAC,wBAAwB;AAAA,IACrC,aAAa,CAAC,kCAAkC;AAAA,IAChD,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,kCAAkC;AAAA,IACtD,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,MAAM,CAAC,sDAAsD;AAAA,IAC7D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,WAAW,CAAC,wDAAwD;AAAA,IACpE,QAAQ,CAAC,yDAAyD;AAAA,IAClE,QAAQ,CAAC,mDAAmD;AAAA,IAC5D,eAAe,CAAC,0DAA0D;AAAA,IAC1E,aAAa,CAAC,2CAA2C;AAAA,IACzD,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,KAAK,CAAC,yBAAyB;AAAA,IAC/B,oBAAoB,CAAC,eAAe;AAAA,IACpC,YAAY,CAAC,mCAAmC;AAAA,EAClD;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,CAAC,gBAAgB;AAAA,IACzB,WAAW;AAAA,MACT;AAAA,MACA,EAAE,SAAS,EAAE,gBAAgB,4BAA4B,EAAE;AAAA,IAC7D;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,KAAK,CAAC,WAAW;AAAA,IACjB,gBAAgB,CAAC,eAAe;AAAA,IAChC,YAAY,CAAC,cAAc;AAAA,IAC3B,QAAQ,CAAC,UAAU;AAAA,IACnB,MAAM,CAAC,OAAO;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,+BAA+B,CAAC,qCAAqC;AAAA,IACrE,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,YAAY,CAAC,4BAA4B;AAAA,IACzC,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,wDAAwD;AAAA,IAC1E,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,cAAc,+BAA+B,EAAE;AAAA,IAC7D;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,uBAAuB;AAAA,IACnD,aAAa,CAAC,6BAA6B;AAAA,IAC3C,aAAa;AAAA,MACX;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,mCAAmC;AAAA,IAC/C,kBAAkB,CAAC,gDAAgD;AAAA,IACnE,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,wBAAwB,CAAC,oCAAoC;AAAA,IAC7D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,8BAA8B,CAAC,qCAAqC;AAAA,IACpE,kBAAkB,CAAC,8BAA8B;AAAA,IACjD,gCAAgC,CAAC,qCAAqC;AAAA,IACtE,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,wBAAwB;AAAA,IACxC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,oCAAoC;AAAA,IACpD,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iBAAiB;AAAA,IACvB,wBAAwB,CAAC,mCAAmC;AAAA,IAC5D,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,mCAAmC,CAAC,kCAAkC;AAAA,IACtE,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,8CAA8C;AAAA,IAC3D,YAAY,CAAC,iCAAiC;AAAA,IAC9C,wBAAwB,CAAC,wCAAwC;AAAA,IACjE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,oBAAoB;AAAA,IAC3B,sBAAsB,CAAC,+BAA+B;AAAA,IACtD,kBAAkB,CAAC,wBAAwB;AAAA,IAC3C,oCAAoC,CAAC,mCAAmC;AAAA,IACxE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,0BAA0B,CAAC,gBAAgB;AAAA,IAC3C,aAAa,CAAC,4BAA4B;AAAA,IAC1C,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,aAAa,CAAC,yBAAyB;AAAA,IACvC,qCAAqC,CAAC,4BAA4B;AAAA,IAClE,kBAAkB,CAAC,oDAAoD;AAAA,IACvE,kBAAkB,CAAC,oDAAoD;AAAA,IACvE,cAAc,CAAC,oCAAoC;AAAA,IACnD,wCAAwC;AAAA,MACtC;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,gDAAgD;AAAA,IACvE,eAAe,CAAC,wCAAwC;AAAA,IACxD,wBAAwB,CAAC,6BAA6B;AAAA,IACtD,mBAAmB,CAAC,gCAAgC;AAAA,IACpD,0BAA0B,CAAC,mCAAmC;AAAA,IAC9D,uBAAuB,CAAC,4CAA4C;AAAA,IACpE,cAAc,CAAC,uBAAuB;AAAA,IACtC,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,wCAAwC;AAAA,IACtD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,uCAAuC;AAAA,IACtD,yBAAyB,CAAC,2CAA2C;AAAA,IACrE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,QAAQ,CAAC,mBAAmB;AAAA,IAC5B,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,eAAe,CAAC,mCAAmC;AAAA,IACnD,2BAA2B,CAAC,0CAA0C;AAAA,EACxE;AAAA,EACA,UAAU;AAAA,IACR,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,YAAY,2CAA2C,EAAE;AAAA,IACvE;AAAA,IACA,6DAA6D;AAAA,MAC3D;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,SAAS;AAAA,UACP;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4DAA4D;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,uDAAuD;AAAA,MACrD;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,kCAAkC,CAAC,oBAAoB;AAAA,IACvD,6BAA6B,CAAC,0BAA0B;AAAA,IACxD,qBAAqB,CAAC,gCAAgC;AAAA,IACtD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,qCAAqC;AAAA,IACpD,4BAA4B,CAAC,qBAAqB;AAAA,IAClD,cAAc,CAAC,2BAA2B;AAAA,IAC1C,eAAe,CAAC,qCAAqC;AAAA,IACrD,QAAQ,CAAC,+BAA+B;AAAA,IACxC,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,sCAAsC;AAAA,IACrD,KAAK,CAAC,4BAA4B;AAAA,IAClC,SAAS,CAAC,uCAAuC;AAAA,IACjD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yCAAyC;AAAA,IACrD,mBAAmB,CAAC,0CAA0C;AAAA,IAC9D,aAAa,CAAC,oCAAoC;AAAA,IAClD,YAAY,CAAC,0BAA0B;AAAA,IACvC,aAAa,CAAC,oCAAoC;AAAA,IAClD,aAAa,CAAC,gCAAgC;AAAA,IAC9C,UAAU,CAAC,8CAA8C;AAAA,IACzD,YAAY,CAAC,0CAA0C;AAAA,IACvD,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,YAAY,CAAC,yCAAyC;AAAA,IACtD,cAAc,CAAC,qCAAqC;AAAA,EACtD;AAAA,EACA,OAAO;AAAA,IACL,eAAe,CAAC,qDAAqD;AAAA,IACrE,QAAQ,CAAC,kCAAkC;AAAA,IAC3C,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,cAAc,CAAC,wDAAwD;AAAA,IACvE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,KAAK,CAAC,+CAA+C;AAAA,IACrD,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uDAAuD;AAAA,IAC1E,MAAM,CAAC,iCAAiC;AAAA,IACxC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,uDAAuD;AAAA,IACrE,WAAW,CAAC,qDAAqD;AAAA,IACjE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,0CAA0C;AAAA,IACtE,aAAa,CAAC,uDAAuD;AAAA,IACrE,OAAO,CAAC,qDAAqD;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,iDAAiD;AAAA,IAC1D,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE;AAAA,EACtC,WAAW;AAAA,IACT,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,2DAA2D;AAAA,IAC1E,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,6CAA6C;AAAA,IAChE,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,2CAA2C;AAAA,IAChE,iBAAiB,CAAC,iCAAiC;AAAA,IACnD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,4BAA4B,CAAC,kBAAkB;AAAA,IAC/C,YAAY,CAAC,kCAAkC;AAAA,IAC/C,aAAa,CAAC,wBAAwB;AAAA,IACtC,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,2CAA2C;AAAA,IACxE,kBAAkB,CAAC,2BAA2B;AAAA,IAC9C,uBAAuB,CAAC,8CAA8C;AAAA,IACtE,iBAAiB,CAAC,kCAAkC;AAAA,IACpD,eAAe,CAAC,qCAAqC;AAAA,IACrD,mBAAmB,CAAC,qCAAqC;AAAA,IACzD,qBAAqB,CAAC,4CAA4C;AAAA,IAClE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,kCAAkC;AAAA,IAClD,mBAAmB;AAAA,MACjB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sDAAsD;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,YAAY,CAAC,8CAA8C;AAAA,IAC3D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,oDAAoD;AAAA,IACpE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,8CAA8C;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wBAAwB,EAAE;AAAA,IACjD;AAAA,IACA,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,KAAK,CAAC,2BAA2B;AAAA,IACjC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,kCAAkC;AAAA,IACjD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mDAAmD;AAAA,IACjE,WAAW,CAAC,6CAA6C;AAAA,IACzD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,WAAW,CAAC,0CAA0C;AAAA,IACtD,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,gDAAgD;AAAA,IAC1E,WAAW,CAAC,yCAAyC;AAAA,IACrD,wBAAwB,CAAC,iDAAiD;AAAA,IAC1E,kBAAkB,CAAC,iDAAiD;AAAA,IACpE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,6CAA6C;AAAA,IAC1E,YAAY,CAAC,2CAA2C;AAAA,IACxD,sBAAsB,CAAC,8CAA8C;AAAA,IACrE,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,6CAA6C;AAAA,IACzE,cAAc,CAAC,yCAAyC;AAAA,IACxD,eAAe,CAAC,uDAAuD;AAAA,IACvE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,+CAA+C;AAAA,IACrE,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,iBAAiB,CAAC,sDAAsD;AAAA,IACxE,kBAAkB,CAAC,sCAAsC;AAAA,IACzD,eAAe,CAAC,uCAAuC;AAAA,IACvD,gBAAgB,CAAC,0BAA0B;AAAA,IAC3C,UAAU,CAAC,iCAAiC;AAAA,IAC5C,eAAe,CAAC,mDAAmD;AAAA,IACnE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,WAAW,CAAC,kCAAkC;AAAA,IAC9C,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,iDAAiD;AAAA,IAC9D,iBAAiB,CAAC,sDAAsD;AAAA,IACxE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,gDAAgD;AAAA,IACpE,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,IAC/D,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,UAAU,CAAC,yCAAyC;AAAA,IACpD,YAAY,CAAC,2CAA2C;AAAA,IACxD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,oCAAoC;AAAA,IACnD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,oCAAoC;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,gCAAgC;AAAA,IACjD,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,YAAY,CAAC,uBAAuB;AAAA,IACpC,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,qCAAqC,CAAC,kCAAkC;AAAA,IACxE,eAAe,CAAC,qCAAqC;AAAA,IACrD,iBAAiB,CAAC,wCAAwC;AAAA,IAC1D,YAAY,CAAC,mBAAmB;AAAA,IAChC,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,oCAAoC;AAAA,IACnD,mBAAmB,CAAC,2CAA2C;AAAA,IAC/D,UAAU,CAAC,gCAAgC;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,iCAAiC;AAAA,IAChD,OAAO,CAAC,mCAAmC;AAAA,IAC3C,eAAe,CAAC,2CAA2C;AAAA,IAC3D,aAAa,CAAC,kDAAkD;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,cAAc,CAAC,qDAAqD;AAAA,IACpE,kBAAkB,CAAC,kCAAkC;AAAA,IACrD,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,UAAU,CAAC,qCAAqC;AAAA,IAChD,QAAQ,CAAC,6BAA6B;AAAA,IACtC,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,iCAAiC;AAAA,IACnE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,IAC1D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,mDAAmD;AAAA,IACnE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,iDAAiD;AAAA,IACrE,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,6BAA6B,EAAE;AAAA,IACtD;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,6CAA6C;AAAA,IAC7D,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,EAAE,SAAS,6BAA6B;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM,CAAC,kBAAkB;AAAA,IACzB,SAAS,CAAC,qBAAqB;AAAA,IAC/B,uBAAuB,CAAC,oBAAoB;AAAA,IAC5C,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,0BAA0B;AAAA,IAClC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,mBAAmB;AAAA,EAC7B;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,MACR;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mBAAmB,CAAC,kDAAkD;AAAA,IACtE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,MACV;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,2BAA2B;AAAA,IAC/C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iBAAiB;AAAA,IACxC,6BAA6B,CAAC,qCAAqC;AAAA,IACnE,0BAA0B,CAAC,+CAA+C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,wBAAwB;AAAA,IACjC,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,uBAAuB;AAAA,IAC9B,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,qCAAqC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,IACL,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,8BAA8B,EAAE;AAAA,IACvD;AAAA,IACA,8BAA8B,CAAC,mBAAmB;AAAA,IAClD,sCAAsC,CAAC,4BAA4B;AAAA,IACnE,OAAO,CAAC,6BAA6B;AAAA,IACrC,cAAc,CAAC,6BAA6B;AAAA,IAC5C,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,sCAAsC,CAAC,gCAAgC;AAAA,IACvE,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,qBAAqB;AAAA,IACxD,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,iBAAiB;AAAA,IAC1D,yCAAyC,CAAC,6BAA6B;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,oCAAoC;AAAA,IACvE,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,yCAAyC,CAAC,8BAA8B;AAAA,IACxE,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,gCAAgC;AAAA,IACzC,kBAAkB,CAAC,WAAW;AAAA,IAC9B,eAAe,CAAC,uBAAuB;AAAA,IACvC,mBAAmB,CAAC,iCAAiC;AAAA,IACrD,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+BAA+B,EAAE;AAAA,IACxD;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,iCAAiC;AAAA,MAC/B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,qCAAqC,EAAE;AAAA,IAC9D;AAAA,IACA,qCAAqC,CAAC,yBAAyB;AAAA,IAC/D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,MAAM,CAAC,YAAY;AAAA,IACnB,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,mCAAmC,CAAC,qBAAqB;AAAA,IACzD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,oBAAoB;AAAA,IACtD,oBAAoB,CAAC,gCAAgC;AAAA,IACrD,kCAAkC;AAAA,MAChC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,uBAAuB,CAAC,4BAA4B;AAAA,IACpD,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC,CAAC,gBAAgB;AAAA,IACxD,wCAAwC,CAAC,2BAA2B;AAAA,IACpE,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,2BAA2B,CAAC,wCAAwC;AAAA,IACpE,2CAA2C;AAAA,MACzC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+CAA+C,EAAE;AAAA,IACxE;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,SAAS,CAAC,gCAAgC;AAAA,IAC1C,UAAU,CAAC,mCAAmC;AAAA,IAC9C,qBAAqB,CAAC,aAAa;AAAA,EACrC;AACF;AACA,IAAI,oBAAoB;;;ACn8DxB,IAAM,qBAAqC,oBAAI,IAAI;AACnD,WAAW,CAAC,OAAO,SAAS,KAAK,OAAO,QAAQ,iBAAS,GAAG;AAC1D,aAAW,CAAC,YAAY,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AAC9D,UAAM,CAAC,OAAO,UAAU,WAAW,IAAI;AACvC,UAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACrC,UAAM,mBAAmB,OAAO;AAAA,MAC9B;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,mBAAmB,IAAI,KAAK,GAAG;AAClC,yBAAmB,IAAI,OAAuB,oBAAI,IAAI,CAAC;AAAA,IACzD;AACA,uBAAmB,IAAI,KAAK,EAAE,IAAI,YAAY;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AACA,IAAM,UAAU;AAAA,EACd,IAAI,EAAE,MAAM,GAAG,YAAY;AACzB,WAAO,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAAA,EACrD;AAAA,EACA,yBAAyB,QAAQ,YAAY;AAC3C,WAAO;AAAA,MACL,OAAO,KAAK,IAAI,QAAQ,UAAU;AAAA;AAAA,MAElC,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,eAAe,QAAQ,YAAY,YAAY;AAC7C,WAAO,eAAe,OAAO,OAAO,YAAY,UAAU;AAC1D,WAAO;AAAA,EACT;AAAA,EACA,eAAe,QAAQ,YAAY;AACjC,WAAO,OAAO,MAAM,UAAU;AAC9B,WAAO;AAAA,EACT;AAAA,EACA,QAAQ,EAAE,MAAM,GAAG;AACjB,WAAO,CAAC,GAAG,mBAAmB,IAAI,KAAK,EAAE,KAAK,CAAC;AAAA,EACjD;AAAA,EACA,IAAI,QAAQ,YAAY,OAAO;AAC7B,WAAO,OAAO,MAAM,UAAU,IAAI;AAAA,EACpC;AAAA,EACA,IAAI,EAAE,SAAS,OAAO,MAAM,GAAG,YAAY;AACzC,QAAI,MAAM,UAAU,GAAG;AACrB,aAAO,MAAM,UAAU;AAAA,IACzB;AACA,UAAM,SAAS,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAC3D,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,UAAM,EAAE,kBAAkB,YAAY,IAAI;AAC1C,QAAI,aAAa;AACf,YAAM,UAAU,IAAI;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,UAAU,IAAI,QAAQ,QAAQ,SAAS,gBAAgB;AAAA,IAC/D;AACA,WAAO,MAAM,UAAU;AAAA,EACzB;AACF;AACA,SAAS,mBAAmB,SAAS;AACnC,QAAM,aAAa,CAAC;AACpB,aAAW,SAAS,mBAAmB,KAAK,GAAG;AAC7C,eAAW,KAAK,IAAI,IAAI,MAAM,EAAE,SAAS,OAAO,OAAO,CAAC,EAAE,GAAG,OAAO;AAAA,EACtE;AACA,SAAO;AACT;AACA,SAAS,SAAS,SAAS,OAAO,YAAY,UAAU,aAAa;AACnE,QAAM,sBAAsB,QAAQ,QAAQ,SAAS,QAAQ;AAC7D,WAAS,mBAAmB,MAAM;AAChC,QAAI,UAAU,oBAAoB,SAAS,MAAM,GAAG,IAAI;AACxD,QAAI,YAAY,WAAW;AACzB,gBAAU,OAAO,OAAO,CAAC,GAAG,SAAS;AAAA,QACnC,MAAM,QAAQ,YAAY,SAAS;AAAA,QACnC,CAAC,YAAY,SAAS,GAAG;AAAA,MAC3B,CAAC;AACD,aAAO,oBAAoB,OAAO;AAAA,IACpC;AACA,QAAI,YAAY,SAAS;AACvB,YAAM,CAAC,UAAU,aAAa,IAAI,YAAY;AAC9C,cAAQ,IAAI;AAAA,QACV,WAAW,KAAK,IAAI,UAAU,kCAAkC,QAAQ,IAAI,aAAa;AAAA,MAC3F;AAAA,IACF;AACA,QAAI,YAAY,YAAY;AAC1B,cAAQ,IAAI,KAAK,YAAY,UAAU;AAAA,IACzC;AACA,QAAI,YAAY,mBAAmB;AACjC,YAAM,WAAW,oBAAoB,SAAS,MAAM,GAAG,IAAI;AAC3D,iBAAW,CAAC,MAAM,KAAK,KAAK,OAAO;AAAA,QACjC,YAAY;AAAA,MACd,GAAG;AACD,YAAI,QAAQ,UAAU;AACpB,kBAAQ,IAAI;AAAA,YACV,IAAI,IAAI,0CAA0C,KAAK,IAAI,UAAU,aAAa,KAAK;AAAA,UACzF;AACA,cAAI,EAAE,SAAS,WAAW;AACxB,qBAAS,KAAK,IAAI,SAAS,IAAI;AAAA,UACjC;AACA,iBAAO,SAAS,IAAI;AAAA,QACtB;AAAA,MACF;AACA,aAAO,oBAAoB,QAAQ;AAAA,IACrC;AACA,WAAO,oBAAoB,GAAG,IAAI;AAAA,EACpC;AACA,SAAO,OAAO,OAAO,iBAAiB,mBAAmB;AAC3D;;;ACvHA,SAAS,oBAAoB,SAAS;AACpC,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;AACA,oBAAoB,UAAU;AAC9B,SAAS,0BAA0B,SAAS;AAC1C,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,MAAM;AAAA,EACR;AACF;AACA,0BAA0B,UAAU;", + "names": [] +} diff --git a/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE similarity index 79% rename from node_modules/@octokit/openapi-types/LICENSE rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE index c61fbbe5ae..57bee5f182 100644 --- a/node_modules/@octokit/openapi-types/LICENSE +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE @@ -1,7 +1,7 @@ -Copyright 2020 Gregor Martynus +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 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. \ No newline at end of file +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/types/README.md b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md similarity index 97% rename from node_modules/@octokit/request/node_modules/@octokit/types/README.md rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md index c48ce4246a..7ebe154a1a 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/README.md +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md @@ -32,7 +32,7 @@ type listUserReposParameters = type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; async function listRepos( - options: listUserReposParameters + options: listUserReposParameters, ): listUserReposResponse["data"] { // ... } diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts similarity index 82% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/AuthInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts index 8b39d61280..616d6d57d1 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/AuthInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -1,8 +1,8 @@ -import { EndpointOptions } from "./EndpointOptions"; -import { OctokitResponse } from "./OctokitResponse"; -import { RequestInterface } from "./RequestInterface"; -import { RequestParameters } from "./RequestParameters"; -import { Route } from "./Route"; +import type { EndpointOptions } from "./EndpointOptions"; +import type { OctokitResponse } from "./OctokitResponse"; +import type { RequestInterface } from "./RequestInterface"; +import type { RequestParameters } from "./RequestParameters"; +import type { Route } from "./Route"; /** * Interface to implement complex authentication strategies for Octokit. * An object Implementing the AuthInterface can directly be passed as the diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts similarity index 53% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts index a2c2307829..3bbc388902 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -1,12 +1,12 @@ -import { RequestHeaders } from "./RequestHeaders"; -import { RequestMethod } from "./RequestMethod"; -import { RequestParameters } from "./RequestParameters"; -import { Url } from "./Url"; +import type { RequestHeaders } from "./RequestHeaders"; +import type { RequestMethod } from "./RequestMethod"; +import type { RequestParameters } from "./RequestParameters"; +import type { Url } from "./Url"; /** * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters * as well as the method property. */ -export declare type EndpointDefaults = RequestParameters & { +export type EndpointDefaults = RequestParameters & { baseUrl: Url; method: RequestMethod; url?: Url; @@ -16,6 +16,6 @@ export declare type EndpointDefaults = RequestParameters & { }; mediaType: { format: string; - previews: string[]; + previews?: string[]; }; }; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts similarity index 92% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts index d7b4009245..184bf7361f 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -1,8 +1,8 @@ -import { EndpointDefaults } from "./EndpointDefaults"; -import { RequestOptions } from "./RequestOptions"; -import { RequestParameters } from "./RequestParameters"; -import { Route } from "./Route"; -import { Endpoints } from "./generated/Endpoints"; +import type { EndpointDefaults } from "./EndpointDefaults"; +import type { RequestOptions } from "./RequestOptions"; +import type { RequestParameters } from "./RequestParameters"; +import type { Route } from "./Route"; +import type { Endpoints } from "./generated/Endpoints"; export interface EndpointInterface { /** * Transforms a GitHub REST API endpoint into generic request options diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000000..e77168eac0 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import type { RequestMethod } from "./RequestMethod"; +import type { Url } from "./Url"; +import type { RequestParameters } from "./RequestParameters"; +export type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts similarity index 67% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Fetch.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts index cbbd5e8fa9..983c79be1c 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Fetch.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -1,4 +1,4 @@ /** * Browser's fetch method (or compatible such as fetch-mock) */ -export declare type Fetch = any; +export type Fetch = any; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000000..2daaf34dbc --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/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/request/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts similarity index 65% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts index 28fdfb882d..bc6ab10999 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -1,6 +1,6 @@ -import { ResponseHeaders } from "./ResponseHeaders"; -import { Url } from "./Url"; -export declare type OctokitResponse = { +import type { ResponseHeaders } from "./ResponseHeaders"; +import type { Url } from "./Url"; +export interface OctokitResponse { headers: ResponseHeaders; /** * http response code @@ -14,4 +14,4 @@ export declare type OctokitResponse = { * 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/request/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestError.d.ts similarity index 84% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestError.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestError.d.ts index 89174e6ee9..46083923d4 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestError.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestError.d.ts @@ -1,4 +1,4 @@ -export declare type RequestError = { +export type RequestError = { name: string; status: number; documentation_url: string; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts similarity index 92% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts index ac5aae0a57..423115948d 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -1,4 +1,4 @@ -export declare type RequestHeaders = { +export type RequestHeaders = { /** * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. */ diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts similarity index 83% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts index 851811ff8f..cc757e4c42 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -1,8 +1,8 @@ -import { EndpointInterface } from "./EndpointInterface"; -import { OctokitResponse } from "./OctokitResponse"; -import { RequestParameters } from "./RequestParameters"; -import { Route } from "./Route"; -import { Endpoints } from "./generated/Endpoints"; +import type { EndpointInterface } from "./EndpointInterface"; +import type { OctokitResponse } from "./OctokitResponse"; +import type { RequestParameters } from "./RequestParameters"; +import type { Route } from "./Route"; +import type { Endpoints } from "./generated/Endpoints"; export interface RequestInterface { /** * Sends a request based on endpoint options diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000000..4cdfe61c8e --- /dev/null +++ b/node_modules/@actions/github/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 type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000000..b799c0f8ea --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import type { RequestHeaders } from "./RequestHeaders"; +import type { RequestMethod } from "./RequestMethod"; +import type { RequestRequestOptions } from "./RequestRequestOptions"; +import type { Url } from "./Url"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts similarity index 81% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestParameters.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts index b056a0e228..e212478762 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestParameters.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -1,10 +1,10 @@ -import { RequestRequestOptions } from "./RequestRequestOptions"; -import { RequestHeaders } from "./RequestHeaders"; -import { Url } from "./Url"; +import type { RequestRequestOptions } from "./RequestRequestOptions"; +import type { RequestHeaders } from "./RequestHeaders"; +import type { Url } from "./Url"; /** * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods */ -export declare type RequestParameters = { +export type RequestParameters = { /** * Base URL to be used when a relative URL is passed, such as `/orgs/{org}`. * If `baseUrl` is `https://enterprise.acme-inc.com/api/v3`, then the request @@ -24,7 +24,7 @@ export declare type RequestParameters = { */ format?: string; /** - * Custom media type names of {@link https://developer.github.com/v3/media/|API Previews} without the `-preview` suffix. + * 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']`. */ diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts similarity index 51% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts index 8f5c43a91a..0e4d269a27 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -1,15 +1,9 @@ -import { Fetch } from "./Fetch"; -import { Signal } from "./Signal"; +import type { Fetch } from "./Fetch"; +import type { Signal } from "./Signal"; /** * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled */ -export 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; +export type RequestRequestOptions = { /** * Custom replacement for built-in fetch method. Useful for testing or request hooks. */ @@ -19,8 +13,8 @@ export declare type RequestRequestOptions = { */ 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. + * If set to `false`, the response body will not be parsed and will be returned as a stream. */ - timeout?: number; + parseSuccessResponseBody?: boolean; [option: string]: any; }; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts similarity index 87% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts index c8fbe43f3d..7b5bf53b28 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -1,4 +1,4 @@ -export declare type ResponseHeaders = { +export type ResponseHeaders = { "cache-control"?: string; "content-length"?: number; "content-type"?: string; @@ -10,6 +10,7 @@ export declare type ResponseHeaders = { server?: string; status?: string; vary?: string; + "x-accepted-github-permissions"?: string; "x-github-mediatype"?: string; "x-github-request-id"?: string; "x-oauth-scopes"?: string; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts similarity index 82% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Route.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts index dcaac75b1e..808991ebfd 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Route.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts @@ -1,4 +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; +export type Route = string; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts similarity index 73% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Signal.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts index 4ebcf24e6c..bdf97001e4 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Signal.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -3,4 +3,4 @@ * * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal */ -export declare type Signal = any; +export type Signal = any; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts similarity index 79% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts index 405cbd2353..6b213abacc 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -1,4 +1,4 @@ -import { AuthInterface } from "./AuthInterface"; +import type { AuthInterface } from "./AuthInterface"; export interface StrategyInterface { (...args: StrategyOptions): AuthInterface; } diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts similarity index 73% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Url.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts index 3e699160f3..521f5ad9b5 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/Url.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts @@ -1,4 +1,4 @@ /** * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` */ -export declare type Url = string; +export type Url = string; diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000000..9aba19e69d --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "12.6.0"; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts similarity index 50% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts index 3fe7cf8015..db283bc010 100644 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -1,12 +1,19 @@ -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]; +import type { paths } from "@octokit/openapi-types"; +import type { OctokitResponse } from "../OctokitResponse"; +import type { RequestHeaders } from "../RequestHeaders"; +import type { RequestRequestOptions } from "../RequestRequestOptions"; +/** + * @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 UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; +type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ + [K in keyof T["parameters"]]-?: T["parameters"][K]; }[keyof T["parameters"]]> : {}; -declare type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends keyof T["requestBody"] ? "application/json" extends keyof T["requestBody"]["content"] ? T["requestBody"]["content"]["application/json"] : { +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"]]; @@ -15,278 +22,285 @@ declare type ExtractRequestBody = "requestBody" extends keyof T ? "content" e [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; +type ToOctokitParameters = ExtractParameters & ExtractRequestBody>; +type Operation = { + parameters: Simplify>; + request: Method extends ReadOnlyMethods ? { + method: Method extends string ? Uppercase : never; url: Url; headers: RequestHeaders; request: RequestRequestOptions; + } : { + method: Method extends string ? Uppercase : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + data: ExtractRequestBody; }; 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 = { +type ReadOnlyMethods = "get" | "head"; +type SuccessStatuses = 200 | 201 | 202 | 204 | 205; +type RedirectStatuses = 301 | 302; +type EmptyResponseStatuses = 201 | 204 | 205; +type KnownJsonResponseTypes = "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]; -declare type RedirectResponseDataType = { +type RedirectResponseDataType = { [K in RedirectStatuses & keyof Responses]: OctokitResponse; }[RedirectStatuses & keyof Responses]; -declare type EmptyResponseDataType = { +type EmptyResponseDataType = { [K in EmptyResponseStatuses & keyof Responses]: OctokitResponse; }[EmptyResponseStatuses & keyof Responses]; -declare type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; -declare type DataType = { +type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; +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; +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 + * @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/reference/apps#unsuspend-an-app-installation + * @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/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 + * @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/reference/apps#delete-an-app-token + * @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/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 + * @see https://docs.github.com/rest/gists/gists#delete-a-gist */ - "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">; + "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-enterprise + * @see https://docs.github.com/rest/gists/comments#delete-a-gist-comment */ - "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">; + "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#delete-self-hosted-runner-from-an-enterprise + * @see https://docs.github.com/rest/gists/gists#unstar-a-gist */ - "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "delete">; + "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-enterprise + * @see https://docs.github.com/rest/apps/installations#revoke-an-installation-access-token */ - "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "delete">; + "DELETE /installation/token": Operation<"/installation/token", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-enterprise + * @see https://docs.github.com/rest/activity/notifications#mark-a-thread-as-done */ - "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}", "delete">; + "DELETE /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/gists#delete-a-gist + * @see https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription */ - "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; + "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; /** - * @see https://docs.github.com/rest/reference/gists#delete-a-gist-comment + * @see https://docs.github.com/rest/orgs/orgs#delete-an-organization */ - "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; + "DELETE /orgs/{org}": Operation<"/orgs/{org}", "delete">; /** - * @see https://docs.github.com/rest/reference/gists#unstar-a-gist + * @see https://docs.github.com/rest/actions/permissions#disable-a-selected-repository-for-github-actions-in-an-organization */ - "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/apps#revoke-an-installation-access-token + * @see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-an-organization */ - "DELETE /installation/token": Operation<"/installation/token", "delete">; + "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/activity#delete-a-thread-subscription + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization */ - "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + "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#disable-a-selected-repository-for-github-actions-in-an-organization + * @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/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; + "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-a-self-hosted-runner-group-from-an-organization + * @see https://docs.github.com/rest/actions/secrets#delete-an-organization-secret */ - "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "delete">; + "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization + * @see https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret */ - "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">; + "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/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization + * @see https://docs.github.com/rest/actions/variables#delete-an-organization-variable */ - "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">; + "DELETE /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization + * @see https://docs.github.com/rest/actions/variables#remove-selected-repository-from-an-organization-variable */ - "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + "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/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization + * @see https://docs.github.com/rest/orgs/blocking#unblock-a-user-from-an-organization */ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "delete">; + "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization + * @see https://docs.github.com/rest/codespaces/organizations#remove-users-from-codespaces-access-for-an-organization */ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "delete">; + "DELETE /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#delete-an-organization-secret + * @see https://docs.github.com/rest/codespaces/organization-secrets#delete-an-organization-secret */ - "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "delete">; /** - * @see https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret + * @see https://docs.github.com/rest/codespaces/organization-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">; + "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/reference/orgs#unblock-a-user-from-an-organization + * @see https://docs.github.com/rest/copilot/copilot-user-management#remove-teams-from-the-copilot-subscription-for-an-organization */ - "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; + "DELETE /orgs/{org}/copilot/billing/selected_teams": Operation<"/orgs/{org}/copilot/billing/selected_teams", "delete">; /** - * @see https://docs.github.com/rest/reference/orgs#remove-a-saml-sso-authorization-for-an-organization + * @see https://docs.github.com/rest/copilot/copilot-user-management#remove-users-from-the-copilot-subscription-for-an-organization */ - "DELETE /orgs/{org}/credential-authorizations/{credential_id}": Operation<"/orgs/{org}/credential-authorizations/{credential_id}", "delete">; + "DELETE /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "delete">; /** - * @see https://docs.github.com/rest/reference/dependabot#delete-an-organization-secret + * @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/reference/dependabot#remove-selected-repository-from-an-organization-secret + * @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/reference/orgs#delete-an-organization-webhook + * @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/reference/interactions#remove-interaction-restrictions-for-an-organization + * @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/reference/orgs#cancel-an-organization-invitation + * @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/reference/orgs#remove-an-organization-member + * @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/reference/codespaces + * @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/reference/orgs#remove-organization-membership-for-a-user + * @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/reference/migrations#delete-an-organization-migration-archive + * @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/reference/migrations#unlock-an-organization-repository + * @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/reference/orgs#remove-outside-collaborator-from-an-organization + * @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/organization-roles#delete-a-custom-organization-role + */ + "DELETE /orgs/{org}/organization-roles/{role_id}": Operation<"/orgs/{org}/organization-roles/{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/reference/packages#delete-a-package-for-an-organization + * @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/reference/packages#delete-a-package-version-for-an-organization + * @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/reference/orgs#remove-public-organization-membership-for-the-authenticated-user + * @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/reference/teams#delete-a-team + * @see https://docs.github.com/rest/orgs/rules#delete-an-organization-repository-ruleset + */ + "DELETE /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team + */ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#delete-a-team */ "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; /** - * @see https://docs.github.com/rest/reference/teams#delete-a-discussion + * @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/reference/teams#delete-a-discussion-comment + * @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/reference/reactions#delete-team-discussion-comment-reaction + * @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/reference/reactions#delete-team-discussion-reaction + * @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/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 + * @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/reference/teams#remove-a-project-from-a-team + * @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/reference/teams/#remove-a-repository-from-a-team + * @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/reference/projects#delete-a-project-card + * @see https://docs.github.com/rest/projects/cards#delete-a-project-card */ "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/projects#delete-a-project-column + * @see https://docs.github.com/rest/projects/columns#delete-a-project-column */ "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/projects#delete-a-project + * @see https://docs.github.com/rest/projects/projects#delete-a-project */ "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/projects#remove-project-collaborator + * @see https://docs.github.com/rest/projects/collaborators#remove-user-as-a-collaborator */ "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; /** - * @see https://docs.github.com/rest/reference/repos#delete-a-repository + * @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/reference/actions#delete-an-artifact + * @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">; /** @@ -298,139 +312,151 @@ export interface Endpoints { */ "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 + * @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/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository + * @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/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository + * @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/reference/actions#delete-a-workflow-run + * @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/reference/actions#delete-workflow-run-logs + * @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/reference/actions#delete-a-repository-secret + * @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/v3/repos#delete-autolink + * @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/reference/repos#disable-automated-security-fixes + * @see https://docs.github.com/rest/repos/repos#disable-automated-security-fixes */ "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; /** - * @see https://docs.github.com/rest/reference/repos#delete-branch-protection + * @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/reference/repos#delete-admin-branch-protection + * @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/reference/repos#delete-pull-request-review-protection + * @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/reference/repos#delete-commit-signature-protection + * @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/reference/repos#remove-status-check-protection + * @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/reference/repos#remove-status-check-contexts + * @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/reference/repos#delete-access-restrictions + * @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/reference/repos#remove-app-access-restrictions + * @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/reference/repos#remove-team-access-restrictions + * @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/reference/repos#remove-user-access-restrictions + * @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/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository + * @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/reference/codespaces#delete-a-repository-secret + * @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/reference/repos#remove-a-repository-collaborator + * @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/reference/repos#delete-a-commit-comment + * @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/reference/reactions#delete-a-commit-comment-reaction + * @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/reference/repos#delete-a-file + * @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/reference/dependabot#delete-a-repository-secret + * @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/reference/repos#delete-a-deployment + * @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/reference/repos#delete-an-environment + * @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/reference/git#delete-a-reference + * @see https://docs.github.com/rest/deployments/branch-policies#delete-a-deployment-branch-policy + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#disable-a-custom-protection-rule-for-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "delete">; + /** + * @see https://docs.github.com/rest/git/refs#delete-a-reference */ "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; /** - * @see https://docs.github.com/rest/reference/repos#delete-a-repository-webhook + * @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/reference/migrations#cancel-an-import + * @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/reference/interactions#remove-interaction-restrictions-for-a-repository + * @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/reference/repos#delete-a-repository-invitation + * @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/reference/issues#delete-an-issue-comment + * @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/reference/reactions#delete-an-issue-comment-reaction + * @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">; /** @@ -438,484 +464,428 @@ export interface Endpoints { */ "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 + * @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/reference/issues#remove-a-label-from-an-issue + * @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/reference/issues#unlock-an-issue + * @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/reference/reactions#delete-an-issue-reaction + * @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/reference/repos#delete-a-deploy-key + * @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/reference/issues#delete-a-label + * @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/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 + * @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/reference/repos#delete-a-github-pages-site + * @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/reference/pulls#delete-a-review-comment-for-a-pull-request + * @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/reference/reactions#delete-a-pull-request-comment-reaction + * @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/reference/pulls#remove-requested-reviewers-from-a-pull-request + * @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/reference/pulls#delete-a-pending-review-for-a-pull-request + * @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/reference/repos#delete-a-release-asset + * @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/reference/repos#delete-a-release + * @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/reference/reactions/#delete-a-release-reaction + * @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/reference/activity#delete-a-repository-subscription + * @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/reference/repos#delete-tag-protection-state-for-a-repository + * @see https://docs.github.com/rest/repos/tags#delete-a-tag-protection-state-for-a-repository */ "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/repos#disable-vulnerability-alerts + * @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/reference/actions#delete-an-environment-secret + * @see https://docs.github.com/rest/actions/secrets#delete-an-environment-secret */ "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/actions/variables#delete-an-environment-variable */ - "DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "delete">; + "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "delete">; /** - * @see https://docs.github.com/rest/reference/teams/#delete-a-team-legacy + * @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/reference/teams#delete-a-discussion-legacy + * @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/reference/teams#delete-a-discussion-comment-legacy + * @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/reference/teams#remove-team-member-legacy + * @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/reference/teams#remove-team-membership-for-a-user-legacy + * @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/reference/teams/#remove-a-project-from-a-team-legacy + * @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/reference/teams/#remove-a-repository-from-a-team-legacy + * @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/reference/users#unblock-a-user + * @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/reference/codespaces#delete-a-secret-for-the-authenticated-user + * @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/reference/codespaces#remove-a-selected-repository-from-a-user-secret + * @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/reference/codespaces#delete-a-codespace-for-the-authenticated-user + * @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/reference/users#delete-an-email-address-for-the-authenticated-user + * @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/reference/users#unfollow-a-user + * @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/reference/users#delete-a-gpg-key-for-the-authenticated-user + * @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/reference/apps#remove-a-repository-from-an-app-installation + * @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/reference/interactions#remove-interaction-restrictions-from-your-public-repositories + * @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/reference/users#delete-a-public-ssh-key-for-the-authenticated-user + * @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/reference/migrations#delete-a-user-migration-archive + * @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/reference/migrations#unlock-a-user-repository + * @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/reference/packages#delete-a-package-for-the-authenticated-user + * @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/reference/packages#delete-a-package-version-for-the-authenticated-user + * @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/reference/repos#decline-a-repository-invitation + * @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/reference/activity#unstar-a-repository-for-the-authenticated-user + * @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/reference/packages#delete-a-package-for-a-user + * @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/reference/packages#delete-a-package-version-for-a-user + * @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/overview/resources-in-the-rest-api#root-endpoint + * @see https://docs.github.com/rest/meta/meta#github-api-root */ "GET /": Operation<"/", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-the-authenticated-app + * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories + */ + "GET /advisories": Operation<"/advisories", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory + */ + "GET /advisories/{ghsa_id}": Operation<"/advisories/{ghsa_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-the-authenticated-app */ "GET /app": Operation<"/app", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-webhook-configuration-for-an-app + * @see https://docs.github.com/rest/apps/webhooks#get-a-webhook-configuration-for-an-app */ "GET /app/hook/config": Operation<"/app/hook/config", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook */ "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-delivery-for-an-app-webhook + * @see https://docs.github.com/rest/apps/webhooks#get-a-delivery-for-an-app-webhook */ "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app */ - "GET /app/installations": Operation<"/app/installations", "get">; + "GET /app/installation-requests": Operation<"/app/installation-requests", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-an-installation-for-the-authenticated-app + * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-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">; + "GET /app/installations": Operation<"/app/installations", "get">; /** - * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-grant + * @see https://docs.github.com/rest/apps/apps#get-an-installation-for-the-authenticated-app */ - "GET /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "get">; + "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps/#get-an-app + * @see https://docs.github.com/rest/apps/apps#get-an-app */ "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/classroom/classroom#get-an-assignment */ - "GET /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "get">; + "GET /assignments/{assignment_id}": Operation<"/assignments/{assignment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-enterprise + * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment */ - "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "get">; + "GET /assignments/{assignment_id}/accepted_assignments": Operation<"/assignments/{assignment_id}/accepted_assignments", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + * @see https://docs.github.com/rest/classroom/classroom#get-assignment-grades */ - "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "get">; + "GET /assignments/{assignment_id}/grades": Operation<"/assignments/{assignment_id}/grades", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise + * @see https://docs.github.com/rest/classroom/classroom#list-classrooms */ - "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "get">; + "GET /classrooms": Operation<"/classrooms", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-enterprise + * @see https://docs.github.com/rest/classroom/classroom#get-a-classroom */ - "GET /enterprises/{enterprise}/actions/runners": Operation<"/enterprises/{enterprise}/actions/runners", "get">; + "GET /classrooms/{classroom_id}": Operation<"/classrooms/{classroom_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-enterprise + * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom */ - "GET /enterprises/{enterprise}/actions/runners/downloads": Operation<"/enterprises/{enterprise}/actions/runners/downloads", "get">; + "GET /classrooms/{classroom_id}/assignments": Operation<"/classrooms/{classroom_id}/assignments", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-enterprise + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-all-codes-of-conduct */ - "GET /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "get">; + "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-enterprise + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-a-code-of-conduct */ - "GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "get">; + "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise + * @see https://docs.github.com/rest/emojis/emojis#get-emojis */ - "GET /enterprises/{enterprise}/audit-log": Operation<"/enterprises/{enterprise}/audit-log", "get">; + "GET /emojis": Operation<"/emojis", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-an-enterprise + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-enterprise */ - "GET /enterprises/{enterprise}/code-scanning/alerts": Operation<"/enterprises/{enterprise}/code-scanning/alerts", "get">; + "GET /enterprises/{enterprise}/dependabot/alerts": Operation<"/enterprises/{enterprise}/dependabot/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-enterprise */ "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/activity/events#list-public-events */ "GET /events": Operation<"/events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-feeds + * @see https://docs.github.com/rest/activity/feeds#get-feeds */ "GET /feeds": Operation<"/feeds", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user + * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user */ "GET /gists": Operation<"/gists", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-public-gists + * @see https://docs.github.com/rest/gists/gists#list-public-gists */ "GET /gists/public": Operation<"/gists/public", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-starred-gists + * @see https://docs.github.com/rest/gists/gists#list-starred-gists */ "GET /gists/starred": Operation<"/gists/starred", "get">; /** - * @see https://docs.github.com/rest/reference/gists#get-a-gist + * @see https://docs.github.com/rest/gists/gists#get-a-gist */ "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gist-comments + * @see https://docs.github.com/rest/gists/comments#list-gist-comments */ "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/gists#get-a-gist-comment + * @see https://docs.github.com/rest/gists/comments#get-a-gist-comment */ "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gist-commits + * @see https://docs.github.com/rest/gists/gists#list-gist-commits */ "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gist-forks + * @see https://docs.github.com/rest/gists/gists#list-gist-forks */ "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; /** - * @see https://docs.github.com/rest/reference/gists#check-if-a-gist-is-starred + * @see https://docs.github.com/rest/gists/gists#check-if-a-gist-is-starred */ "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; /** - * @see https://docs.github.com/rest/reference/gists#get-a-gist-revision + * @see https://docs.github.com/rest/gists/gists#get-a-gist-revision */ "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; /** - * @see https://docs.github.com/rest/reference/gitignore#get-all-gitignore-templates + * @see https://docs.github.com/rest/gitignore/gitignore#get-all-gitignore-templates */ "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; /** - * @see https://docs.github.com/rest/reference/gitignore#get-a-gitignore-template + * @see https://docs.github.com/rest/gitignore/gitignore#get-a-gitignore-template */ "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation */ "GET /installation/repositories": Operation<"/installation/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user */ "GET /issues": Operation<"/issues", "get">; /** - * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses + * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses */ "GET /licenses": Operation<"/licenses", "get">; /** - * @see https://docs.github.com/rest/reference/licenses#get-a-license + * @see https://docs.github.com/rest/licenses/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 + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account */ "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-plans + * @see https://docs.github.com/rest/apps/marketplace#list-plans */ "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan */ "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account-stubbed */ "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed */ "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed */ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; /** - * @see https://docs.github.com/rest/reference/meta#get-github-meta-information + * @see https://docs.github.com/rest/meta/meta#get-apiname-meta-information */ "GET /meta": Operation<"/meta", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories */ "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user */ "GET /notifications": Operation<"/notifications", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-a-thread + * @see https://docs.github.com/rest/activity/notifications#get-a-thread */ "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user */ "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; /** - * @see https://docs.github.com/rest/reference/meta#get-octocat + * @see https://docs.github.com/rest/meta/meta#get-octocat */ "GET /octocat": Operation<"/octocat", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organizations + * @see https://docs.github.com/rest/orgs/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 + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization * @deprecated "org_id" is now "org" */ "GET /orgs/{org_id}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-an-organization + * @see https://docs.github.com/rest/orgs/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 + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-an-organization */ "GET /orgs/{org}/actions/cache/usage": Operation<"/orgs/{org}/actions/cache/usage", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization + * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization */ "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; /** @@ -923,379 +893,455 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-an-organization */ "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization */ "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization */ "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-an-organization */ "GET /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "get">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization */ "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-an-organization */ "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-an-organization */ "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-an-organization */ "GET /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets */ "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-organization-public-key + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-public-key */ "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-organization-secret + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-secret */ "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret */ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-audit-log + * @see https://docs.github.com/rest/actions/variables#list-organization-variables + */ + "GET /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-an-organization-variable */ - "GET /orgs/{org}/audit-log": Operation<"/orgs/{org}/audit-log", "get">; + "GET /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + * @see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable + */ + "GET /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization */ "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization + * @see https://docs.github.com/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization */ "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-by-organization + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization */ "GET /orgs/{org}/code-scanning/alerts": Operation<"/orgs/{org}/code-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization */ "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets + */ + "GET /orgs/{org}/codespaces/secrets": Operation<"/orgs/{org}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key */ - "GET /orgs/{org}/credential-authorizations": Operation<"/orgs/{org}/credential-authorizations", "get">; + "GET /orgs/{org}/codespaces/secrets/public-key": Operation<"/orgs/{org}/codespaces/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-information-and-settings-for-an-organization + */ + "GET /orgs/{org}/copilot/billing": Operation<"/orgs/{org}/copilot/billing", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-organization + */ + "GET /orgs/{org}/copilot/billing/seats": Operation<"/orgs/{org}/copilot/billing/seats", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization + */ + "GET /orgs/{org}/dependabot/alerts": Operation<"/orgs/{org}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets */ "GET /orgs/{org}/dependabot/secrets": Operation<"/orgs/{org}/dependabot/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key */ "GET /orgs/{org}/dependabot/secrets/public-key": Operation<"/orgs/{org}/dependabot/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-secret + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-secret */ "GET /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret + * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret */ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-organization */ - "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; + "GET /orgs/{org}/docker/conflicts": Operation<"/orgs/{org}/docker/conflicts", "get">; /** - * @see https://docs.github.com/rest/reference/teams#external-idp-group-info-for-an-organization + * @see https://docs.github.com/rest/activity/events#list-public-organization-events */ - "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">; + "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations + * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations */ "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks */ "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-an-organization-webhook + * @see https://docs.github.com/rest/orgs/webhooks#get-an-organization-webhook */ "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-configuration-for-an-organization + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization */ "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook */ "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook */ "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#get-an-organization-installation-for-the-authenticated-app */ "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization + * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization */ "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; /** - * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization + * @see https://docs.github.com/rest/interactions/orgs#get-interaction-restrictions-for-an-organization */ "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations */ "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams */ "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user */ "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-members + * @see https://docs.github.com/rest/orgs/members#list-organization-members */ "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user + * @see https://docs.github.com/rest/orgs/members#check-organization-membership-for-a-user */ "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization + */ + "GET /orgs/{org}/members/{username}/codespaces": Operation<"/orgs/{org}/members/{username}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-assignment-details-for-a-user + */ + "GET /orgs/{org}/members/{username}/copilot": Operation<"/orgs/{org}/members/{username}/copilot", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user */ "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations + * @see https://docs.github.com/rest/migrations/orgs#list-organization-migrations */ "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status + * @see https://docs.github.com/rest/migrations/orgs#get-an-organization-migration-status */ "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive + * @see https://docs.github.com/rest/migrations/orgs#download-an-organization-migration-archive */ "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration + * @see https://docs.github.com/rest/migrations/orgs#list-repositories-in-an-organization-migration */ "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization + * @see https://docs.github.com/rest/orgs/organization-roles#list-organization-fine-grained-permissions-for-an-organization + */ + "GET /orgs/{org}/organization-fine-grained-permissions": Operation<"/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": Operation<"/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}": Operation<"/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": Operation<"/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": Operation<"/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": Operation<"/orgs/{org}/outside_collaborators", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization */ "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-for-an-organization + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-an-organization */ "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization */ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-an-organization + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-an-organization */ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-organization-projects + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "GET /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token + */ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources + */ + "GET /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to + */ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#list-organization-projects */ "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + * @see https://docs.github.com/rest/orgs/custom-properties#get-all-custom-properties-for-an-organization + */ + "GET /orgs/{org}/properties/schema": Operation<"/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}": Operation<"/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": Operation<"/orgs/{org}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-public-organization-members */ "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user + * @see https://docs.github.com/rest/orgs/members#check-public-organization-membership-for-a-user */ "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-organization-repositories + * @see https://docs.github.com/rest/repos/repos#list-organization-repositories */ "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization + * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets + */ + "GET /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "get">; + /** + * @see https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + */ + "GET /orgs/{org}/rulesets/rule-suites": Operation<"/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}": Operation<"/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}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization */ "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-organization + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization */ - "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; + "GET /orgs/{org}/security-advisories": Operation<"/orgs/{org}/security-advisories", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization + * @see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams */ - "GET /orgs/{org}/settings/billing/advanced-security": Operation<"/orgs/{org}/settings/billing/advanced-security", "get">; + "GET /orgs/{org}/security-managers": Operation<"/orgs/{org}/security-managers", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-organization + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-an-organization */ - "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; + "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-organization + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-an-organization */ - "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; + "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-an-organization */ - "GET /orgs/{org}/team-sync/groups": Operation<"/orgs/{org}/team-sync/groups", "get">; + "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-teams + * @see https://docs.github.com/rest/teams/teams#list-teams */ "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-team-by-name + * @see https://docs.github.com/rest/teams/teams#get-a-team-by-name */ "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussions + * @see https://docs.github.com/rest/teams/discussions#list-discussions */ "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations */ "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-members + * @see https://docs.github.com/rest/teams/members#list-team-members */ "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user */ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-projects + * @see https://docs.github.com/rest/teams/teams#list-team-projects */ "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project */ "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-repositories + * @see https://docs.github.com/rest/teams/teams#list-team-repositories */ "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository */ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/teams/teams#list-child-teams */ "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-a-project-card + * @see https://docs.github.com/rest/projects/cards#get-a-project-card */ "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-a-project-column + * @see https://docs.github.com/rest/projects/columns#get-a-project-column */ "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-project-cards + * @see https://docs.github.com/rest/projects/cards#list-project-cards */ "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-a-project + * @see https://docs.github.com/rest/projects/projects#get-a-project */ "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + * @see https://docs.github.com/rest/projects/collaborators#list-project-collaborators */ "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; /** - * @see https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user + * @see https://docs.github.com/rest/projects/collaborators#get-project-permission-for-a-user */ "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-project-columns + * @see https://docs.github.com/rest/projects/columns#list-project-columns */ "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; /** - * @see https://docs.github.com/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user + * @see https://docs.github.com/rest/rate-limit/rate-limit#get-rate-limit-status-for-the-authenticated-user */ "GET /rate_limit": Operation<"/rate_limit", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-repository + * @see https://docs.github.com/rest/repos/repos#get-a-repository */ "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository */ "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-artifact + * @see https://docs.github.com/rest/actions/artifacts#get-an-artifact */ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-an-artifact + * @see https://docs.github.com/rest/actions/artifacts#download-an-artifact */ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-a-repository + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-a-repository */ "GET /repos/{owner}/{repo}/actions/cache/usage": Operation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; /** @@ -1303,199 +1349,223 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; /** - * @see https://docs.github.com/rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository */ "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository + * @see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets + */ + "GET /repos/{owner}/{repo}/actions/organization-secrets": Operation<"/repos/{owner}/{repo}/actions/organization-secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-organization-variables + */ + "GET /repos/{owner}/{repo}/actions/organization-variables": Operation<"/repos/{owner}/{repo}/actions/organization-variables", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-workflow-access-level-to-a-repository + * @see https://docs.github.com/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository */ "GET /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-a-repository + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-the-review-history-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run-attempt + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run-attempt */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-workflow-run-attempt-logs + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-attempt-logs */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#download-workflow-run-logs + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-logs */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-pending-deployments-for-a-workflow-run + * @see https://docs.github.com/rest/actions/workflow-runs#get-pending-deployments-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-workflow-run-usage + * @see https://docs.github.com/rest/actions/workflow-runs#get-workflow-run-usage */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets */ "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-repository-public-key + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-public-key */ "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-repository-secret + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-secret */ "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + * @see https://docs.github.com/rest/actions/variables#list-repository-variables + */ + "GET /repos/{owner}/{repo}/actions/variables": Operation<"/repos/{owner}/{repo}/actions/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-a-repository-variable + */ + "GET /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows */ "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-a-workflow + * @see https://docs.github.com/rest/actions/workflows#get-a-workflow */ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow */ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-workflow-usage + * @see https://docs.github.com/rest/actions/workflows#get-workflow-usage */ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-assignees + * @see https://docs.github.com/rest/repos/repos#list-repository-activities + */ + "GET /repos/{owner}/{repo}/activity": Operation<"/repos/{owner}/{repo}/activity", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#list-assignees */ "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; /** - * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned */ "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; /** - * @see https://docs.github.com/v3/repos#list-autolinks + * @see https://docs.github.com/rest/repos/autolinks#get-all-autolinks-of-a-repository */ "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; /** - * @see https://docs.github.com/v3/repos#get-autolink + * @see https://docs.github.com/rest/repos/autolinks#get-an-autolink-reference-of-a-repository */ "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-branches + * @see https://docs.github.com/rest/repos/repos#check-if-automated-security-fixes-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "get">; + /** + * @see https://docs.github.com/rest/branches/branches#list-branches */ "GET /repos/{owner}/{repo}/branches": Operation<"/repos/{owner}/{repo}/branches", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-branch + * @see https://docs.github.com/rest/branches/branches#get-a-branch */ "GET /repos/{owner}/{repo}/branches/{branch}": Operation<"/repos/{owner}/{repo}/branches/{branch}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-branch-protection + * @see https://docs.github.com/rest/branches/branch-protection#get-branch-protection */ "GET /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-admin-branch-protection + * @see https://docs.github.com/rest/branches/branch-protection#get-admin-branch-protection */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-pull-request-review-protection + * @see https://docs.github.com/rest/branches/branch-protection#get-pull-request-review-protection */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-commit-signature-protection + * @see https://docs.github.com/rest/branches/branch-protection#get-commit-signature-protection */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-status-checks-protection + * @see https://docs.github.com/rest/branches/branch-protection#get-status-checks-protection */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-all-status-check-contexts + * @see https://docs.github.com/rest/branches/branch-protection#get-all-status-check-contexts */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-access-restrictions + * @see https://docs.github.com/rest/branches/branch-protection#get-access-restrictions */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-apps-with-access-to-the-protected-branch + * @see https://docs.github.com/rest/branches/branch-protection#get-apps-with-access-to-the-protected-branch */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-teams-with-access-to-the-protected-branch + * @see https://docs.github.com/rest/branches/branch-protection#get-teams-with-access-to-the-protected-branch */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-users-with-access-to-the-protected-branch + * @see https://docs.github.com/rest/branches/branch-protection#get-users-with-access-to-the-protected-branch */ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; /** - * @see https://docs.github.com/rest/reference/checks#get-a-check-run + * @see https://docs.github.com/rest/checks/runs#get-a-check-run */ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; /** - * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations */ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; /** - * @see https://docs.github.com/rest/reference/checks#get-a-check-suite + * @see https://docs.github.com/rest/checks/suites#get-a-check-suite */ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; /** - * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite */ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; /** @@ -1503,128 +1573,144 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert * @deprecated "alert_id" is now "alert_number" */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; /** - * @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-codeql-databases-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-codeql-database-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration + */ + "GET /repos/{owner}/{repo}/code-scanning/default-setup": Operation<"/repos/{owner}/{repo}/code-scanning/default-setup", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload */ "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-codeowners-errors + * @see https://docs.github.com/rest/repos/repos#list-codeowners-errors */ "GET /repos/{owner}/{repo}/codeowners/errors": Operation<"/repos/{owner}/{repo}/codeowners/errors", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user */ "GET /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user */ "GET /repos/{owner}/{repo}/codespaces/devcontainers": Operation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-available-machine-types-for-a-repository + * @see https://docs.github.com/rest/codespaces/machines#list-available-machine-types-for-a-repository */ "GET /repos/{owner}/{repo}/codespaces/machines": Operation<"/repos/{owner}/{repo}/codespaces/machines", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#preview-attributes-for-a-new-codespace + * @see https://docs.github.com/rest/codespaces/codespaces#get-default-attributes-for-a-codespace */ "GET /repos/{owner}/{repo}/codespaces/new": Operation<"/repos/{owner}/{repo}/codespaces/new", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-repository-secrets + * @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": Operation<"/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": Operation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key */ "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": Operation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-secret + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-secret */ "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators + * @see https://docs.github.com/rest/collaborators/collaborators#list-repository-collaborators */ "GET /repos/{owner}/{repo}/collaborators": Operation<"/repos/{owner}/{repo}/collaborators", "get">; /** - * @see https://docs.github.com/rest/reference/repos#check-if-a-user-is-a-repository-collaborator + * @see https://docs.github.com/rest/collaborators/collaborators#check-if-a-user-is-a-repository-collaborator */ "GET /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-repository-permissions-for-a-user + * @see https://docs.github.com/rest/collaborators/collaborators#get-repository-permissions-for-a-user */ "GET /repos/{owner}/{repo}/collaborators/{username}/permission": Operation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository + * @see https://docs.github.com/rest/commits/comments#list-commit-comments-for-a-repository */ "GET /repos/{owner}/{repo}/comments": Operation<"/repos/{owner}/{repo}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-commit-comment + * @see https://docs.github.com/rest/commits/comments#get-a-commit-comment */ "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment */ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-commits + * @see https://docs.github.com/rest/commits/commits#list-commits */ "GET /repos/{owner}/{repo}/commits": Operation<"/repos/{owner}/{repo}/commits", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit + * @see https://docs.github.com/rest/commits/commits#list-branches-for-head-commit */ "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-commit-comments + * @see https://docs.github.com/rest/commits/comments#list-commit-comments */ "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit + * @see https://docs.github.com/rest/commits/commits#list-pull-requests-associated-with-a-commit */ "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-commit + * @see https://docs.github.com/rest/commits/commits#get-a-commit */ "GET /repos/{owner}/{repo}/commits/{ref}": Operation<"/repos/{owner}/{repo}/commits/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference + * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference */ "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; /** - * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference */ "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference + * @see https://docs.github.com/rest/commits/statuses#get-the-combined-status-for-a-specific-reference */ "GET /repos/{owner}/{repo}/commits/{ref}/status": Operation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference + * @see https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference */ "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-community-profile-metrics + * @see https://docs.github.com/rest/metrics/community#get-community-profile-metrics */ "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; /** - * @see https://docs.github.com/rest/reference/repos#compare-two-commits + * @see https://docs.github.com/rest/commits/commits#compare-two-commits */ "GET /repos/{owner}/{repo}/compare/{basehead}": Operation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; /** @@ -1632,1275 +1718,1403 @@ export interface Endpoints { */ "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 + * @see https://docs.github.com/rest/repos/contents#get-repository-content */ "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-contributors + * @see https://docs.github.com/rest/repos/repos#list-repository-contributors */ "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependabot/alerts": Operation<"/repos/{owner}/{repo}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#get-a-dependabot-alert + */ + "GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets */ "GET /repos/{owner}/{repo}/dependabot/secrets": Operation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key */ "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": Operation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-secret + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-secret */ "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits + * @see https://docs.github.com/rest/dependency-graph/dependency-review#get-a-diff-of-the-dependencies-between-commits */ "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": Operation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-deployments + * @see https://docs.github.com/rest/dependency-graph/sboms#export-a-software-bill-of-materials-sbom-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependency-graph/sbom": Operation<"/repos/{owner}/{repo}/dependency-graph/sbom", "get">; + /** + * @see https://docs.github.com/rest/deployments/deployments#list-deployments */ "GET /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-deployment + * @see https://docs.github.com/rest/deployments/deployments#get-a-deployment */ "GET /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-deployment-statuses + * @see https://docs.github.com/rest/deployments/statuses#list-deployment-statuses */ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-deployment-status + * @see https://docs.github.com/rest/deployments/statuses#get-a-deployment-status */ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-all-environments + * @see https://docs.github.com/rest/deployments/environments#list-environments */ "GET /repos/{owner}/{repo}/environments": Operation<"/repos/{owner}/{repo}/environments", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-an-environment + * @see https://docs.github.com/rest/deployments/environments#get-an-environment */ "GET /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repository-events + * @see https://docs.github.com/rest/deployments/branch-policies#list-deployment-branch-policies + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "get">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#get-a-deployment-branch-policy + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#get-all-deployment-protection-rules-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#get-a-custom-deployment-protection-rule + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-repository-events */ "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-forks + * @see https://docs.github.com/rest/repos/forks#list-forks */ "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-blob + * @see https://docs.github.com/rest/git/blobs#get-a-blob */ "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-commit + * @see https://docs.github.com/rest/git/commits#get-a-commit-object */ "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; /** - * @see https://docs.github.com/rest/reference/git#list-matching-references + * @see https://docs.github.com/rest/git/refs#list-matching-references */ "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-reference + * @see https://docs.github.com/rest/git/refs#get-a-reference */ "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-tag + * @see https://docs.github.com/rest/git/tags#get-a-tag */ "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; /** - * @see https://docs.github.com/rest/reference/git#get-a-tree + * @see https://docs.github.com/rest/git/trees#get-a-tree */ "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-webhooks + * @see https://docs.github.com/rest/repos/webhooks#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 + * @see https://docs.github.com/rest/repos/webhooks#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 + * @see https://docs.github.com/rest/repos/webhooks#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 + * @see https://docs.github.com/rest/repos/webhooks#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 + * @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}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#get-an-import-status + * @see https://docs.github.com/rest/migrations/source-imports#get-an-import-status */ "GET /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#get-commit-authors + * @see https://docs.github.com/rest/migrations/source-imports#get-commit-authors */ "GET /repos/{owner}/{repo}/import/authors": Operation<"/repos/{owner}/{repo}/import/authors", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#get-large-files + * @see https://docs.github.com/rest/migrations/source-imports#get-large-files */ "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-repository-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#get-a-repository-installation-for-the-authenticated-app */ "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; /** - * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository + * @see https://docs.github.com/rest/interactions/repos#get-interaction-restrictions-for-a-repository */ "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-invitations + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations */ "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-repository-issues + * @see https://docs.github.com/rest/issues/issues#list-repository-issues */ "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository */ "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-an-issue-comment + * @see https://docs.github.com/rest/issues/comments#get-an-issue-comment */ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment */ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository */ "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-an-issue-event + * @see https://docs.github.com/rest/issues/events#get-an-issue-event */ "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-an-issue + * @see https://docs.github.com/rest/issues/issues#get-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-comments + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned-to-a-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments */ "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-issue-events + * @see https://docs.github.com/rest/issues/events#list-issue-events */ "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-deploy-keys + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys */ "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-deploy-key + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key */ "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository */ "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-a-label + * @see https://docs.github.com/rest/issues/labels#get-a-label */ "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-languages + * @see https://docs.github.com/rest/repos/repos#list-repository-languages */ "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; /** - * @see https://docs.github.com/rest/reference/licenses/#get-the-license-for-a-repository + * @see https://docs.github.com/rest/licenses/licenses#get-the-license-for-a-repository */ "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-milestones + * @see https://docs.github.com/rest/issues/milestones#list-milestones */ "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; /** - * @see https://docs.github.com/rest/reference/issues#get-a-milestone + * @see https://docs.github.com/rest/issues/milestones#get-a-milestone */ "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone */ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user */ "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-github-pages-site + * @see https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site */ "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-github-pages-builds + * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds */ "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-latest-pages-build + * @see https://docs.github.com/rest/pages/pages#get-latest-pages-build */ "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-github-pages-build + * @see https://docs.github.com/rest/pages/pages#get-apiname-pages-build */ "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-dns-health-check-for-github-pages + * @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}": Operation<"/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": Operation<"/repos/{owner}/{repo}/pages/health", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-repository-projects + * @see https://docs.github.com/rest/projects/projects#list-repository-projects */ "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-pull-requests + * @see https://docs.github.com/rest/repos/custom-properties#get-all-custom-property-values-for-a-repository + */ + "GET /repos/{owner}/{repo}/properties/values": Operation<"/repos/{owner}/{repo}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests */ "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository */ "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request + * @see https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment */ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#get-a-pull-request + * @see https://docs.github.com/rest/pulls/pulls#get-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request + * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#check-if-a-pull-request-has-been-merged + * @see https://docs.github.com/rest/pulls/pulls#check-if-a-pull-request-has-been-merged */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request + * @see https://docs.github.com/rest/pulls/review-requests#get-all-requested-reviewers-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request + * @see https://docs.github.com/rest/pulls/reviews#get-a-review-for-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; /** - * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-repository-readme + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme */ "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-repository-directory-readme + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme-for-a-directory */ "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-releases + * @see https://docs.github.com/rest/releases/releases#list-releases */ "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-release-asset + * @see https://docs.github.com/rest/releases/assets#get-a-release-asset */ "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-the-latest-release + * @see https://docs.github.com/rest/releases/releases#get-the-latest-release */ "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name + * @see https://docs.github.com/rest/releases/releases#get-a-release-by-tag-name */ "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-a-release + * @see https://docs.github.com/rest/releases/releases#get-a-release */ "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-release-assets + * @see https://docs.github.com/rest/releases/assets#list-release-assets */ "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; /** - * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-release + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release */ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + * @see https://docs.github.com/rest/repos/rules#get-rules-for-a-branch + */ + "GET /repos/{owner}/{repo}/rules/branches/{branch}": Operation<"/repos/{owner}/{repo}/rules/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets + */ + "GET /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "get">; + /** + * @see https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites": Operation<"/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}": Operation<"/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}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository */ "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#get-a-secret-scanning-alert */ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert */ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-stargazers + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories + */ + "GET /repos/{owner}/{repo}/security-advisories": Operation<"/repos/{owner}/{repo}/security-advisories", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#get-a-repository-security-advisory + */ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-stargazers */ "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-activity + * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-activity */ "GET /repos/{owner}/{repo}/stats/code_frequency": Operation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-the-last-year-of-commit-activity + * @see https://docs.github.com/rest/metrics/statistics#get-the-last-year-of-commit-activity */ "GET /repos/{owner}/{repo}/stats/commit_activity": Operation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-all-contributor-commit-activity + * @see https://docs.github.com/rest/metrics/statistics#get-all-contributor-commit-activity */ "GET /repos/{owner}/{repo}/stats/contributors": Operation<"/repos/{owner}/{repo}/stats/contributors", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-count + * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-count */ "GET /repos/{owner}/{repo}/stats/participation": Operation<"/repos/{owner}/{repo}/stats/participation", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-the-hourly-commit-count-for-each-day + * @see https://docs.github.com/rest/metrics/statistics#get-the-hourly-commit-count-for-each-day */ "GET /repos/{owner}/{repo}/stats/punch_card": Operation<"/repos/{owner}/{repo}/stats/punch_card", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-watchers + * @see https://docs.github.com/rest/activity/watching#list-watchers */ "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; /** - * @see https://docs.github.com/rest/reference/activity#get-a-repository-subscription + * @see https://docs.github.com/rest/activity/watching#get-a-repository-subscription */ "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-tags + * @see https://docs.github.com/rest/repos/repos#list-repository-tags */ "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-tag-protection-state-of-a-repository + * @see https://docs.github.com/rest/repos/tags#list-tag-protection-states-for-a-repository */ "GET /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "get">; /** - * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-tar */ "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-teams + * @see https://docs.github.com/rest/repos/repos#list-repository-teams */ "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics + * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics */ "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-repository-clones + * @see https://docs.github.com/rest/metrics/traffic#get-repository-clones */ "GET /repos/{owner}/{repo}/traffic/clones": Operation<"/repos/{owner}/{repo}/traffic/clones", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-top-referral-paths + * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-paths */ "GET /repos/{owner}/{repo}/traffic/popular/paths": Operation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-top-referral-sources + * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-sources */ "GET /repos/{owner}/{repo}/traffic/popular/referrers": Operation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; /** - * @see https://docs.github.com/rest/reference/repos#get-page-views + * @see https://docs.github.com/rest/metrics/traffic#get-page-views */ "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; /** - * @see https://docs.github.com/rest/reference/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository + * @see https://docs.github.com/rest/repos/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository */ "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; /** - * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-zip */ "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-public-repositories + * @see https://docs.github.com/rest/repos/repos#list-public-repositories */ "GET /repositories": Operation<"/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets */ "GET /repositories/{repository_id}/environments/{environment_name}/secrets": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-environment-public-key + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-public-key */ "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/actions#get-an-environment-secret + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-secret */ "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise + * @see https://docs.github.com/rest/actions/variables#list-environment-variables */ - "GET /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "get">; + "GET /repositories/{repository_id}/environments/{environment_name}/variables": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-group + * @see https://docs.github.com/rest/actions/variables#get-an-environment-variable */ - "GET /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "get">; + "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "get">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/search/search#search-code */ "GET /search/code": Operation<"/search/code", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-commits + * @see https://docs.github.com/rest/search/search#search-commits */ "GET /search/commits": Operation<"/search/commits", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests + * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests */ "GET /search/issues": Operation<"/search/issues", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-labels + * @see https://docs.github.com/rest/search/search#search-labels */ "GET /search/labels": Operation<"/search/labels", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-repositories + * @see https://docs.github.com/rest/search/search#search-repositories */ "GET /search/repositories": Operation<"/search/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-topics + * @see https://docs.github.com/rest/search/search#search-topics */ "GET /search/topics": Operation<"/search/topics", "get">; /** - * @see https://docs.github.com/rest/reference/search#search-users + * @see https://docs.github.com/rest/search/search#search-users */ "GET /search/users": Operation<"/search/users", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#get-a-team-legacy + * @see https://docs.github.com/rest/teams/teams#get-a-team-legacy */ "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy */ "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion-legacy + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; /** - * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy */ "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + * @see https://docs.github.com/rest/teams/members#list-team-members-legacy */ "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-team-member-legacy + * @see https://docs.github.com/rest/teams/members#get-team-member-legacy */ "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy */ "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy + * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy */ "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-project-legacy + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project-legacy */ "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy + * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy */ "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; /** - * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository-legacy + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy */ "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/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 + * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy */ "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-the-authenticated-user + * @see https://docs.github.com/rest/users/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 + * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user */ "GET /user/blocks": Operation<"/user/blocks", "get">; /** - * @see https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user + * @see https://docs.github.com/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user */ "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user */ "GET /user/codespaces": Operation<"/user/codespaces", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-secrets-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user */ "GET /user/codespaces/secrets": Operation<"/user/codespaces/secrets", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-public-key-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user */ "GET /user/codespaces/secrets/public-key": Operation<"/user/codespaces/secrets/public-key", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-secret-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/secrets#get-a-secret-for-the-authenticated-user */ "GET /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret + * @see https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret */ "GET /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#get-a-codespace-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#get-a-codespace-for-the-authenticated-user */ "GET /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "get">; /** - * @see + * @see https://docs.github.com/rest/codespaces/codespaces#get-details-about-a-codespace-export */ "GET /user/codespaces/{codespace_name}/exports/{export_id}": Operation<"/user/codespaces/{codespace_name}/exports/{export_id}", "get">; /** - * @see https://docs.github.com/rest/reference/codespaces#list-machine-types-for-a-codespace + * @see https://docs.github.com/rest/codespaces/machines#list-machine-types-for-a-codespace */ "GET /user/codespaces/{codespace_name}/machines": Operation<"/user/codespaces/{codespace_name}/machines", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-authenticated-user + */ + "GET /user/docker/conflicts": Operation<"/user/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user */ "GET /user/emails": Operation<"/user/emails", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user */ "GET /user/followers": Operation<"/user/followers", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows */ "GET /user/following": Operation<"/user/following", "get">; /** - * @see https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user + * @see https://docs.github.com/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user */ "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user */ "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user + * @see https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user */ "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token */ "GET /user/installations": Operation<"/user/installations", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token */ "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories + * @see https://docs.github.com/rest/interactions/user#get-interaction-restrictions-for-your-public-repositories */ "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; /** - * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user */ "GET /user/issues": Operation<"/user/issues", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user */ "GET /user/keys": Operation<"/user/keys", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user + * @see https://docs.github.com/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user */ "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user */ "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; /** - * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed */ "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user */ "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user + * @see https://docs.github.com/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user */ "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#list-user-migrations + * @see https://docs.github.com/rest/migrations/users#list-user-migrations */ "GET /user/migrations": Operation<"/user/migrations", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#get-a-user-migration-status + * @see https://docs.github.com/rest/migrations/users#get-a-user-migration-status */ "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive + * @see https://docs.github.com/rest/migrations/users#download-a-user-migration-archive */ "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get">; /** - * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration + * @see https://docs.github.com/rest/migrations/users#list-repositories-for-a-user-migration */ "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user */ "GET /user/orgs": Operation<"/user/orgs", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace */ "GET /user/packages": Operation<"/user/packages", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-for-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-the-authenticated-user */ "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user */ "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-the-authenticated-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-the-authenticated-user */ "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user */ "GET /user/public_emails": Operation<"/user/public_emails", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user */ "GET /user/repos": Operation<"/user/repos", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user */ "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user + */ + "GET /user/social_accounts": Operation<"/user/social_accounts", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user */ "GET /user/starred": Operation<"/user/starred", "get">; /** - * @see https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user + * @see https://docs.github.com/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user */ "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user */ "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; /** - * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user + * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user */ "GET /user/teams": Operation<"/user/teams", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-users + * @see https://docs.github.com/rest/users/users#list-users */ "GET /users": Operation<"/users", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-a-user + * @see https://docs.github.com/rest/users/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 + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-user + */ + "GET /users/{username}/docker/conflicts": Operation<"/users/{username}/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user */ "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user */ "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user */ "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user */ "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows */ "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; /** - * @see https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user + * @see https://docs.github.com/rest/users/followers#check-if-a-user-follows-another-user */ "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; /** - * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user + * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user */ "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user */ "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; /** - * @see https://docs.github.com/rest/reference/users#get-contextual-information-for-a-user + * @see https://docs.github.com/rest/users/users#get-contextual-information-for-a-user */ "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; /** - * @see https://docs.github.com/rest/reference/apps#get-a-user-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/apps/apps#get-a-user-installation-for-the-authenticated-app */ "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; /** - * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user */ "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user */ "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; /** - * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user */ "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-for-a-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-a-user */ "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-a-user + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-a-user */ "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-a-user + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-a-user */ "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; /** - * @see https://docs.github.com/rest/reference/projects#list-user-projects + * @see https://docs.github.com/rest/projects/projects#list-user-projects */ "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user */ "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user */ "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; /** - * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user */ "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-a-user + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-a-user */ "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-a-user + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-a-user */ "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; /** - * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-a-user + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-a-user */ "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user + */ + "GET /users/{username}/social_accounts": Operation<"/users/{username}/social_accounts", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user + */ + "GET /users/{username}/ssh_signing_keys": Operation<"/users/{username}/ssh_signing_keys", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user */ "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; /** - * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user */ "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; /** - * @see + * @see https://docs.github.com/rest/meta/meta#get-all-api-versions + */ + "GET /versions": Operation<"/versions", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-the-zen-of-github */ "GET /zen": Operation<"/zen", "get">; /** - * @see https://docs.github.com/rest/reference/apps#update-a-webhook-configuration-for-an-app + * @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/reference/apps#reset-a-token + * @see https://docs.github.com/rest/apps/oauth-applications#reset-a-token */ "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; - /** - * @see https://docs.github.com/rest/reference/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 + * @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/reference/activity#mark-a-thread-as-read + * @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/reference/orgs/#update-an-organization + * @see https://docs.github.com/rest/orgs/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 + * @see https://docs.github.com/rest/actions/variables#update-an-organization-variable */ - "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + "PATCH /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "patch">; /** - * @see https://docs.github.com/rest/reference/orgs#update-an-organization-webhook + * @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/reference/orgs#update-a-webhook-configuration-for-an-organization + * @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/reference/teams#update-a-team + * @see https://docs.github.com/rest/orgs/organization-roles#update-a-custom-organization-role */ - "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; + "PATCH /orgs/{org}/organization-roles/{role_id}": Operation<"/orgs/{org}/organization-roles/{role_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/teams#update-a-discussion + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-properties-for-an-organization */ - "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; + "PATCH /orgs/{org}/properties/schema": Operation<"/orgs/{org}/properties/schema", "patch">; /** - * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-property-values-for-organization-repositories */ - "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">; + "PATCH /orgs/{org}/properties/values": Operation<"/orgs/{org}/properties/values", "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/reference/teams#link-external-idp-group-team-connection + * @see https://docs.github.com/rest/teams/discussions#update-a-discussion */ - "PATCH /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "patch">; + "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#create-or-update-idp-group-connections + * @see https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment */ - "PATCH /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "patch">; + "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/projects#update-a-project-card + * @see https://docs.github.com/rest/projects/cards#update-an-existing-project-card */ "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/projects#update-a-project-column + * @see https://docs.github.com/rest/projects/columns#update-an-existing-project-column */ "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/projects#update-a-project + * @see https://docs.github.com/rest/projects/projects#update-a-project */ "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/repos/#update-a-repository + * @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/reference/repos#update-pull-request-review-protection + * @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/reference/repos#update-status-check-protection + * @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/reference/checks#update-a-check-run + * @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/reference/checks#update-repository-preferences-for-check-suites + * @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/reference/code-scanning#update-a-code-scanning-alert + * @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/reference/repos#update-a-commit-comment + * @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/reference/git#update-a-reference + * @see https://docs.github.com/rest/dependabot/alerts#update-a-dependabot-alert + */ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/git/refs#update-a-reference */ "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; /** - * @see https://docs.github.com/rest/reference/repos#update-a-repository-webhook + * @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/reference/repos#update-a-webhook-configuration-for-a-repository + * @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/reference/migrations#update-an-import + * @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/reference/migrations#map-a-commit-author + * @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/reference/migrations#update-git-lfs-preference + * @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/reference/repos#update-a-repository-invitation + * @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/reference/issues#update-an-issue-comment + * @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/reference/issues/#update-an-issue + * @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/reference/issues#update-a-label + * @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/reference/issues#update-a-milestone + * @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/reference/pulls#update-a-review-comment-for-a-pull-request + * @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/reference/pulls/#update-a-pull-request + * @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/reference/repos#update-a-release-asset + * @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/reference/repos#update-a-release + * @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/reference/secret-scanning#update-a-secret-scanning-alert + * @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/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 + * @see https://docs.github.com/rest/security-advisories/repository-advisories#update-a-repository-security-advisory */ - "PATCH /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "patch">; + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user + * @see https://docs.github.com/rest/actions/variables#update-an-environment-variable */ - "PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "patch">; + "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "patch">; /** - * @see https://docs.github.com/rest/reference/teams/#update-a-team-legacy + * @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/reference/teams#update-a-discussion-legacy + * @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/reference/teams#update-a-discussion-comment-legacy + * @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/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 + * @see https://docs.github.com/rest/users/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 + * @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/reference/users#set-primary-email-visibility-for-the-authenticated-user + * @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/reference/orgs#update-an-organization-membership-for-the-authenticated-user + * @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/reference/repos#accept-a-repository-invitation + * @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/reference/apps#create-a-github-app-from-a-manifest + * @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/reference/apps#redeliver-a-delivery-for-an-app-webhook + * @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/reference/apps/#create-an-installation-access-token-for-an-app + * @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/reference/apps#check-a-token + * @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/reference/apps#create-a-scoped-access-token + * @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/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 + * @see https://docs.github.com/rest/gists/gists#create-a-gist */ "POST /gists": Operation<"/gists", "post">; /** - * @see https://docs.github.com/rest/reference/gists#create-a-gist-comment + * @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/reference/gists#fork-a-gist + * @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/reference/markdown#render-a-markdown-document + * @see https://docs.github.com/rest/markdown/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 + * @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/reference/actions#create-a-self-hosted-runner-group-for-an-organization + * @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/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "post">; + "POST /orgs/{org}/actions/runners/generate-jitconfig": Operation<"/orgs/{org}/actions/runners/generate-jitconfig", "post">; /** - * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-organization + * @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/reference/actions#create-a-remove-token-for-an-organization + * @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/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization + * @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/reference/orgs#create-an-organization-webhook + * @see https://docs.github.com/rest/actions/variables#create-an-organization-variable + */ + "POST /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "post">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#add-users-to-codespaces-access-for-an-organization + */ + "POST /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "post">; + /** + * @see https://docs.github.com/rest/copilot/copilot-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/reference/orgs#redeliver-a-delivery-for-an-organization-webhook + * @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/reference/orgs#ping-an-organization-webhook + * @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/reference/orgs#create-an-organization-invitation + * @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/reference/codespaces + * @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/reference/migrations#start-an-organization-migration + * @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/reference/packages#restore-a-package-for-an-organization + * @see https://docs.github.com/rest/orgs/organization-roles#create-a-custom-organization-role + */ + "POST /orgs/{org}/organization-roles": Operation<"/orgs/{org}/organization-roles", "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/reference/packages#restore-a-package-version-for-an-organization + * @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/reference/projects#create-an-organization-project + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token + */ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources + */ + "POST /orgs/{org}/personal-access-tokens/{pat_id}": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}", "post">; + /** + * @see https://docs.github.com/rest/projects/projects#create-an-organization-project */ "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; /** - * @see https://docs.github.com/rest/reference/repos#create-an-organization-repository + * @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/reference/teams#create-a-team + * @see https://docs.github.com/rest/orgs/rules#create-an-organization-repository-ruleset + */ + "POST /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "post">; + /** + * @see https://docs.github.com/rest/teams/teams#create-a-team */ "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; /** - * @see https://docs.github.com/rest/reference/teams#create-a-discussion + * @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/reference/teams#create-a-discussion-comment + * @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/reference/reactions#create-reaction-for-a-team-discussion-comment + * @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/reference/reactions#create-reaction-for-a-team-discussion + * @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/reference/projects#move-a-project-card + * @see https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization + */ + "POST /orgs/{org}/{security_product}/{enablement}": Operation<"/orgs/{org}/{security_product}/{enablement}", "post">; + /** + * @see https://docs.github.com/rest/projects/cards#move-a-project-card */ "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; /** - * @see https://docs.github.com/rest/reference/projects#create-a-project-card + * @see https://docs.github.com/rest/projects/cards#create-a-project-card */ "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; /** - * @see https://docs.github.com/rest/reference/projects#move-a-project-column + * @see https://docs.github.com/rest/projects/columns#move-a-project-column */ "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; /** - * @see https://docs.github.com/rest/reference/projects#create-a-project-column + * @see https://docs.github.com/rest/projects/columns#create-a-project-column */ "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; /** - * @see https://docs.github.com/rest/reference/actions#re-run-job-for-workflow-run + * @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/reference/actions#create-a-registration-token-for-a-repository + * @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/reference/actions#create-a-remove-token-for-a-repository + * @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/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository + * @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/reference/actions#approve-a-workflow-run-for-a-fork-pull-request + * @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/reference/actions#cancel-a-workflow-run + * @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/reference/actions#review-pending-deployments-for-a-workflow-run + * @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/reference/actions#re-run-a-workflow + * @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/reference/actions#re-run-workflow-failed-jobs + * @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/reference/actions#create-a-workflow-dispatch-event + * @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/v3/repos#create-an-autolink + * @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/reference/repos#set-admin-branch-protection + * @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/reference/repos#create-commit-signature-protection + * @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/reference/repos#add-status-check-contexts + * @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/reference/repos#add-app-access-restrictions + * @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/reference/repos#add-team-access-restrictions + * @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/reference/repos#add-user-access-restrictions + * @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/reference/repos#rename-a-branch + * @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">; /** @@ -2908,163 +3122,179 @@ export interface Endpoints { */ "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 + * @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/reference/checks#create-a-check-suite + * @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/reference/checks#rerequest-a-check-suite + * @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/reference/code-scanning#upload-a-sarif-file + * @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/reference/codespaces#create-a-codespace-in-a-repository + * @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/reference/reactions#create-reaction-for-a-commit-comment + * @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/reference/repos#create-a-commit-comment + * @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/reference/dependency-graph#create-a-snapshot-of-dependencies-for-a-repository + * @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/reference/repos#create-a-deployment + * @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/reference/repos#create-a-deployment-status + * @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/reference/repos#create-a-repository-dispatch-event + * @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/reference/repos#create-a-fork + * @see https://docs.github.com/rest/deployments/branch-policies#create-a-deployment-branch-policy + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "post">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#create-a-custom-deployment-protection-rule-on-an-environment + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "post">; + /** + * @see https://docs.github.com/rest/repos/forks#create-a-fork */ "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; /** - * @see https://docs.github.com/rest/reference/git#create-a-blob + * @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/reference/git#create-a-commit + * @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/reference/git#create-a-reference + * @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/reference/git#create-a-tag-object + * @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/reference/git#create-a-tree + * @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/reference/repos#create-a-repository-webhook + * @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/reference/repos#redeliver-a-delivery-for-a-repository-webhook + * @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/reference/repos#ping-a-repository-webhook + * @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/reference/repos#test-the-push-repository-webhook + * @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/reference/issues#create-an-issue + * @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/reference/reactions#create-reaction-for-an-issue-comment + * @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/reference/issues#add-assignees-to-an-issue + * @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/reference/issues#create-an-issue-comment + * @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/reference/issues#add-labels-to-an-issue + * @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/reference/reactions#create-reaction-for-an-issue + * @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/reference/repos#create-a-deploy-key + * @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/reference/issues#create-a-label + * @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/reference/repos#sync-a-fork-branch-with-the-upstream-repository + * @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/reference/repos#merge-a-branch + * @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/reference/issues#create-a-milestone + * @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/reference/repos#create-a-github-pages-site + * @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/reference/repos#request-a-github-pages-build + * @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/reference/projects#create-a-repository-project + * @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/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 + * @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/reference/reactions#create-reaction-for-a-pull-request-review-comment + * @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/reference/codespaces#create-a-codespace-from-a-pull-request + * @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/reference/pulls#create-a-review-comment-for-a-pull-request + * @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/reference/pulls#create-a-reply-for-a-review-comment + * @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">; /** @@ -3072,195 +3302,167 @@ export interface Endpoints { */ "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 + * @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/reference/pulls#submit-a-review-for-a-pull-request + * @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/reference/repos#create-a-release + * @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/reference/repos#generate-release-notes + * @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/reference/reactions/#create-reaction-for-a-release + * @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/reference/repos#create-a-commit-status + * @see https://docs.github.com/rest/repos/rules#create-a-repository-ruleset */ - "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; + "POST /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "post">; /** - * @see https://docs.github.com/rest/reference/repos#create-tag-protection-state-for-a-repository + * @see https://docs.github.com/rest/security-advisories/repository-advisories#create-a-repository-security-advisory */ - "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; + "POST /repos/{owner}/{repo}/security-advisories": Operation<"/repos/{owner}/{repo}/security-advisories", "post">; /** - * @see https://docs.github.com/rest/reference/repos#transfer-a-repository + * @see https://docs.github.com/rest/security-advisories/repository-advisories#privately-report-a-security-vulnerability */ - "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; + "POST /repos/{owner}/{repo}/security-advisories/reports": Operation<"/repos/{owner}/{repo}/security-advisories/reports", "post">; /** - * @see https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template + * @see https://docs.github.com/rest/security-advisories/repository-advisories#request-a-cve-for-a-repository-security-advisory */ - "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; + "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/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users + * @see https://docs.github.com/rest/security-advisories/repository-advisories#create-a-temporary-private-fork */ - "POST /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "post">; + "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/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user + * @see https://docs.github.com/rest/commits/statuses#create-a-commit-status */ - "POST /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "post">; + "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; /** - * @see https://docs.github.com/rest/reference/scim#provision-and-invite-a-scim-user + * @see https://docs.github.com/rest/repos/tags#create-a-tag-protection-state-for-a-repository */ - "POST /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "post">; + "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/reference/teams#create-a-discussion-legacy + * @see https://docs.github.com/rest/actions/variables#create-an-environment-variable + */ + "POST /repositories/{repository_id}/environments/{environment_name}/variables": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables", "post">; + /** + * @see https://docs.github.com/rest/teams/discussions#create-a-discussion-legacy */ "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; /** - * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment-legacy + * @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/reference/reactions/#create-reaction-for-a-team-discussion-comment-legacy + * @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/reference/reactions/#create-reaction-for-a-team-discussion-legacy + * @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/reference/codespaces#create-a-codespace-for-the-authenticated-user + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-for-the-authenticated-user */ "POST /user/codespaces": Operation<"/user/codespaces", "post">; /** - * @see + * @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/reference/codespaces#start-a-codespace-for-the-authenticated-user + * @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/reference/codespaces#stop-a-codespace-for-the-authenticated-user + * @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/reference/users#add-an-email-address-for-the-authenticated-user + * @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/reference/users#create-a-gpg-key-for-the-authenticated-user + * @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/reference/users#create-a-public-ssh-key-for-the-authenticated-user + * @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/reference/migrations#start-a-user-migration + * @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/reference/packages#restore-a-package-for-the-authenticated-user + * @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/reference/packages#restore-a-package-version-for-the-authenticated-user + * @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/reference/projects#create-a-user-project + * @see https://docs.github.com/rest/projects/projects#create-a-user-project */ "POST /user/projects": Operation<"/user/projects", "post">; /** - * @see https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user + * @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/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 + * @see https://docs.github.com/rest/users/social-accounts#add-social-accounts-for-the-authenticated-user */ - "PUT /enterprises/{enterprise}/actions/oidc/customization/issuer": Operation<"/enterprises/{enterprise}/actions/oidc/customization/issuer", "put">; + "POST /user/social_accounts": Operation<"/user/social_accounts", "post">; /** - * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-enterprise + * @see https://docs.github.com/rest/users/ssh-signing-keys#create-a-ssh-signing-key-for-the-authenticated-user */ - "PUT /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "put">; + "POST /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "post">; /** - * @see https://docs.github.com/rest/reference/actions#set-selected-organizations-enabled-for-github-actions-in-an-enterprise + * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-a-user */ - "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">; + "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/actions#set-self-hosted-runners-in-a-group-for-an-enterprise + * @see https://docs.github.com/rest/packages/packages#restore-package-version-for-a-user */ - "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "put">; + "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/actions#add-a-self-hosted-runner-to-a-group-for-an-enterprise + * @see https://docs.github.com/rest/releases/assets#upload-a-release-asset */ - "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">; + "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/actions#set-custom-labels-for-a-self-hosted-runner-for-an-enterprise + * @see https://docs.github.com/rest/apps/apps#suspend-an-app-installation */ - "PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "put">; + "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; /** - * @see https://docs.github.com/rest/reference/gists#star-a-gist + * @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/reference/activity#mark-notifications-as-read + * @see https://docs.github.com/rest/activity/notifications#mark-notifications-as-read */ "PUT /notifications": Operation<"/notifications", "put">; /** - * @see https://docs.github.com/rest/reference/activity#set-a-thread-subscription + * @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">; /** @@ -3268,303 +3470,327 @@ export interface Endpoints { */ "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 + * @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/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization + * @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/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization + * @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/reference/actions#set-allowed-actions-for-an-organization + * @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/reference/actions#set-default-workflow-permissions + * @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/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization + * @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/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; + "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#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret */ - "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">; + "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; /** - * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization + * @see https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret */ - "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "put">; + "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-a-self-hosted-runner-to-a-group-for-an-organization + * @see https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret */ - "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">; + "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/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization + * @see https://docs.github.com/rest/actions/variables#set-selected-repositories-for-an-organization-variable */ - "PUT /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "put">; + "PUT /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "put">; /** - * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret + * @see https://docs.github.com/rest/actions/variables#add-selected-repository-to-an-organization-variable */ - "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; + "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/reference/actions#set-selected-repositories-for-an-organization-secret + * @see https://docs.github.com/rest/orgs/blocking#block-a-user-from-an-organization */ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; + "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; /** - * @see https://docs.github.com/rest/reference/actions#add-selected-repository-to-an-organization-secret + * @see https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces */ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; + "PUT /orgs/{org}/codespaces/access": Operation<"/orgs/{org}/codespaces/access", "put">; /** - * @see https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization + * @see https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret */ - "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + "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/reference/dependabot#set-selected-repositories-for-an-organization-secret + * @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/reference/dependabot#add-selected-repository-to-an-organization-secret + * @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/reference/interactions#set-interaction-restrictions-for-an-organization + * @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/reference/orgs#set-organization-membership-for-a-user + * @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/reference/orgs#convert-an-organization-member-to-outside-collaborator + * @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/reference/orgs#set-public-organization-membership-for-the-authenticated-user + * @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/reference/teams#add-or-update-team-membership-for-a-user + * @see https://docs.github.com/rest/orgs/rules#update-an-organization-repository-ruleset + */ + "PUT /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team + */ + "PUT /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "put">; + /** + * @see https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user */ "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; /** - * @see https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions + * @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/reference/teams/#add-or-update-team-repository-permissions + * @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/reference/projects#add-project-collaborator + * @see https://docs.github.com/rest/projects/collaborators#add-project-collaborator */ "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; /** - * @see https://docs.github.com/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + * @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/reference/actions#set-github-actions-permissions-for-a-repository + * @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/reference/actions#set-workflow-access-to-a-repository + * @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/reference/actions#set-allowed-actions-for-a-repository + * @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/reference/actions#set-default-workflow-permissions-for-a-repository + * @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/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository + * @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/reference/actions#create-or-update-a-repository-secret + * @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/reference/actions#disable-a-workflow + * @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/reference/actions#enable-a-workflow + * @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/reference/repos#enable-automated-security-fixes + * @see https://docs.github.com/rest/repos/repos#enable-automated-security-fixes */ "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; /** - * @see https://docs.github.com/rest/reference/repos#update-branch-protection + * @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/reference/repos#set-status-check-contexts + * @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/reference/repos#set-app-access-restrictions + * @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/reference/repos#set-team-access-restrictions + * @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/reference/repos#set-user-access-restrictions + * @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/reference/codespaces#create-or-update-a-repository-secret + * @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/reference/repos#add-a-repository-collaborator + * @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/reference/repos#create-or-update-file-contents + * @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/reference/dependabot#create-or-update-a-repository-secret + * @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/reference/repos#create-or-update-an-environment + * @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/reference/migrations#start-an-import + * @see https://docs.github.com/rest/deployments/branch-policies#update-a-deployment-branch-policy + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "put">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#start-an-import */ "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; /** - * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-a-repository + * @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/reference/issues#set-labels-for-an-issue + * @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/reference/issues#lock-an-issue + * @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/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 + * @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/reference/repos#update-information-about-a-github-pages-site + * @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/reference/pulls#merge-a-pull-request + * @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/reference/pulls#update-a-review-for-a-pull-request + * @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/reference/pulls#dismiss-a-review-for-a-pull-request + * @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/reference/pulls#update-a-pull-request-branch + * @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/reference/activity#set-a-repository-subscription + * @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/reference/repos#replace-all-repository-topics + * @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/reference/repos#enable-vulnerability-alerts + * @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/reference/actions#create-or-update-an-environment-secret + * @see https://docs.github.com/rest/actions/secrets#create-or-update-an-environment-secret */ "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; /** - * @see https://docs.github.com/rest/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 + * @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/reference/teams#add-or-update-team-membership-for-a-user-legacy + * @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/reference/teams/#add-or-update-team-project-permissions-legacy + * @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/reference/teams/#add-or-update-team-repository-permissions-legacy + * @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/reference/users#block-a-user + * @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/reference/codespaces#create-or-update-a-secret-for-the-authenticated-user + * @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/reference/codespaces#set-selected-repositories-for-a-user-secret + * @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/reference/codespaces#add-a-selected-repository-to-a-user-secret + * @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/reference/users#follow-a-user + * @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/reference/apps#add-a-repository-to-an-app-installation + * @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/reference/interactions#set-interaction-restrictions-for-your-public-repositories + * @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/reference/activity#star-a-repository-for-the-authenticated-user + * @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">; } diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/request/node_modules/@octokit/types/dist-types/index.d.ts rename to node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json new file mode 100644 index 0000000000..99959575ee --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json @@ -0,0 +1,46 @@ +{ + "name": "@octokit/types", + "version": "12.6.0", + "publishConfig": { + "access": "public" + }, + "description": "Shared TypeScript definitions for Octokit projects", + "dependencies": { + "@octokit/openapi-types": "^20.0.0" + }, + "repository": "github:octokit/types.ts", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/tsconfig": "^2.0.0", + "@types/node": ">= 8", + "github-openapi-graphql-query": "^4.0.0", + "handlebars": "^4.7.6", + "json-schema-to-typescript": "^13.0.0", + "lodash.set": "^4.3.2", + "npm-run-all2": "^6.0.0", + "pascal-case": "^3.1.1", + "prettier": "^3.0.0", + "semantic-release": "^23.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^5.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.25.0", + "typescript": "^5.0.0" + }, + "octokit": { + "openapi-version": "14.0.0" + }, + "files": [ + "dist-types/**" + ], + "types": "dist-types/index.d.ts", + "sideEffects": false +} diff --git a/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/package.json new file mode 100644 index 0000000000..ec873412b3 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/package.json @@ -0,0 +1,60 @@ +{ + "name": "@octokit/plugin-rest-endpoint-methods", + "version": "10.4.1", + "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", + "repository": "github:octokit/plugin-rest-endpoint-methods.js", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "devDependencies": { + "@octokit/core": "^5.0.0", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^29.0.0", + "@types/node": "^20.0.0", + "@types/sinon": "^17.0.0", + "esbuild": "^0.20.0", + "fetch-mock": "npm:@gr2m/fetch-mock@^9.11.0-pull-request-644.1", + "github-openapi-graphql-query": "^4.3.1", + "glob": "^10.2.6", + "jest": "^29.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.set": "^4.3.2", + "lodash.upperfirst": "^4.3.1", + "mustache": "^4.0.0", + "npm-run-all2": "^6.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sinon": "^17.0.0", + "sort-keys": "^5.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "peerDependencies": { + "@octokit/core": "5" + }, + "publishConfig": { + "access": "public" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/node_modules/@actions/github/package.json b/node_modules/@actions/github/package.json index 3bcbe30c06..20ae2302f5 100644 --- a/node_modules/@actions/github/package.json +++ b/node_modules/@actions/github/package.json @@ -1,6 +1,6 @@ { "name": "@actions/github", - "version": "5.1.1", + "version": "6.0.0", "description": "Actions github lib", "keywords": [ "github", @@ -38,12 +38,12 @@ "url": "https://github.com/actions/toolkit/issues" }, "dependencies": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^2.2.0", + "@octokit/core": "^5.0.1", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" }, "devDependencies": { - "proxy": "^1.0.2" + "proxy": "^2.1.1" } -} +} \ No newline at end of file diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js deleted file mode 100644 index bbfef8703c..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ /dev/null @@ -1,16 +0,0 @@ -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/app/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/with-defaults.js deleted file mode 100644 index 5551d42b39..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -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/app/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/app/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/app/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/app/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/app/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/app/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/app/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/app/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/app/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/app/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/package.json b/node_modules/@octokit/app/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/@octokit/app/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map deleted file mode 100644 index a4189c6090..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/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 === \"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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/auth-app/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/defaults.js deleted file mode 100644 index 5f65ced4d8..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/defaults.js +++ /dev/null @@ -1,17 +0,0 @@ -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/auth-app/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/parse.js deleted file mode 100644 index f3df8176a0..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/parse.js +++ /dev/null @@ -1,70 +0,0 @@ -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/auth-app/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-app/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/auth-app/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-app/node_modules/@octokit/request/README.md b/node_modules/@octokit/auth-app/node_modules/@octokit/request/README.md deleted file mode 100644 index be3e1cccef..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/README.md +++ /dev/null @@ -1,579 +0,0 @@ -# request.js - -> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node - -[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) -[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) - -`@octokit/request` is a request library for browsers & node that makes it easier -to interact with [GitHub’s REST API](https://developer.github.com/v3/) and -[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). - -It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse -the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. - - - - - -- [request.js](#requestjs) - - [Features](#features) - - [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) - - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) - - [Authentication](#authentication) - - [request()](#request) - - [`request.defaults()`](#requestdefaults) - - [`request.endpoint`](#requestendpoint) - - [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) - - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) - - [LICENSE](#license) - - - -## Features - -🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes - -```js -request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - mediaType: { - previews: ["symmetra"], - }, - owner: "octokit", - repo: "request.js", - number: 1, - labels: ["🐛 bug"], -}); -``` - -👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) - -😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). - -👍 Sensible defaults - -- `baseUrl`: `https://api.github.com` -- `headers.accept`: `application/vnd.github.v3+json` -- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` - -👌 Simple to test: mock requests by passing a custom fetch method. - -🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). - -## Usage - - - - - - -
-Browsers - -Load @octokit/request directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/request - -```js -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, 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", - }, - options: { - request: { - fetch: myFetch, - }, - }, -}); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js deleted file mode 100644 index af8271c2af..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// 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 = "0.0.0-development"; - -// pkg/dist-src/defaults.js -var defaults_default = { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}; - -// pkg/dist-src/fetch-wrapper.js -import { safeParse } from "fast-content-type-parse"; - -// 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"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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 -}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js.map deleted file mode 100644 index 9949af2b46..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/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 = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { safeParse } from \"fast-content-type-parse\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\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) ? JSON.stringify(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 if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\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,iBAAiB;;;ACA1B,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;;;ADLA,SAAS,oBAAoB;AAC7B,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,KAAK,UAAU,eAAe,IAAI,IAAI,eAAe;AAC7I,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;AACd,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;AAClD,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,MAAM,EAAE;AAAA,EACvC;AACA,QAAM,WAAW,UAAU,WAAW;AACtC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,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,MAAM,EAAE;AAAA,EACvC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC;AAAA,EAC9D;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;;;AEvIA,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/auth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/auth-app/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index 9acd8329a3..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.2.2"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/defaults.d.ts deleted file mode 100644 index ddf2ca0dea..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/defaults.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare const _default: { - headers: { - "user-agent": string; - }; -}; -export default _default; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index b27d7d03fc..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.2.2"; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/package.json b/node_modules/@octokit/auth-app/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map deleted file mode 100644 index a4189c6090..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/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 === \"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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js deleted file mode 100644 index 5f65ced4d8..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js +++ /dev/null @@ -1,17 +0,0 @@ -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/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js deleted file mode 100644 index e67c9e5f05..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ /dev/null @@ -1,9 +0,0 @@ -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/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js deleted file mode 100644 index cf1b37ef6c..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js +++ /dev/null @@ -1,27 +0,0 @@ -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/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js deleted file mode 100644 index 6bdf7367c0..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ /dev/null @@ -1,16 +0,0 @@ -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} -export { - addQueryParameters -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js deleted file mode 100644 index bd909773f8..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ /dev/null @@ -1,14 +0,0 @@ -const urlVariableRegex = /\{[^{}}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); -} -export { - extractUrlVariableNames -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js deleted file mode 100644 index 9bd7bb9910..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} -export { - lowercaseKeys -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js deleted file mode 100644 index aceffe25ef..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ /dev/null @@ -1,12 +0,0 @@ -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/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js deleted file mode 100644 index 8653027c8d..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ /dev/null @@ -1,11 +0,0 @@ -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} -export { - removeUndefinedProperties -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js deleted file mode 100644 index f70aa5c733..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ /dev/null @@ -1,133 +0,0 @@ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== void 0 && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - 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/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts deleted file mode 100644 index d65e889bc1..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults } from "@octokit/types"; -export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-app/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js deleted file mode 100644 index af8271c2af..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// 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 = "0.0.0-development"; - -// pkg/dist-src/defaults.js -var defaults_default = { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}; - -// pkg/dist-src/fetch-wrapper.js -import { safeParse } from "fast-content-type-parse"; - -// 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"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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 -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map deleted file mode 100644 index 9949af2b46..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/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 = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { safeParse } from \"fast-content-type-parse\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\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) ? JSON.stringify(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 if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\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,iBAAiB;;;ACA1B,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;;;ADLA,SAAS,oBAAoB;AAC7B,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,KAAK,UAAU,eAAe,IAAI,IAAI,eAAe;AAC7I,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;AACd,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;AAClD,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,MAAM,EAAE;AAAA,EACvC;AACA,QAAM,WAAW,UAAU,WAAW;AACtC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,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,MAAM,EAAE;AAAA,EACvC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC;AAAA,EAC9D;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;;;AEvIA,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/auth-oauth-app/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/defaults.js deleted file mode 100644 index 33b14b0ab8..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -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/auth-oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/auth-oauth-app/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index 9acd8329a3..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.2.2"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js deleted file mode 100644 index b2dd7ad6b9..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -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/auth-oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts deleted file mode 100644 index ddf2ca0dea..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare const _default: { - headers: { - "user-agent": string; - }; -}; -export default _default; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index b27d7d03fc..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.2.2"; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts deleted file mode 100644 index 4300682f02..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; -export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/package.json b/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-device/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/README.md deleted file mode 100644 index 164f60d1ee..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/README.md +++ /dev/null @@ -1,412 +0,0 @@ -# endpoint.js - -> Turns GitHub REST API endpoints into generic request options - -[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) -[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) - -`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. - - - - - -- [Usage](#usage) -- [API](#api) - - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) - - [`endpoint.defaults()`](#endpointdefaults) - - [`endpoint.DEFAULTS`](#endpointdefaults) - - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) - - [`endpoint.parse()`](#endpointparse) -- [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) -- [LICENSE](#license) - - - -## Usage - - - - - - -
-Browsers - -Load @octokit/endpoint directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/endpoint - -```js -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle/index.js.map deleted file mode 100644 index a4189c6090..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/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 === \"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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js deleted file mode 100644 index e67c9e5f05..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ /dev/null @@ -1,9 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/merge.js deleted file mode 100644 index cf1b37ef6c..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/merge.js +++ /dev/null @@ -1,27 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/parse.js deleted file mode 100644 index f3df8176a0..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/parse.js +++ /dev/null @@ -1,70 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js deleted file mode 100644 index 6bdf7367c0..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ /dev/null @@ -1,16 +0,0 @@ -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} -export { - addQueryParameters -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js deleted file mode 100644 index bd909773f8..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ /dev/null @@ -1,14 +0,0 @@ -const urlVariableRegex = /\{[^{}}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); -} -export { - extractUrlVariableNames -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js deleted file mode 100644 index 9bd7bb9910..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} -export { - lowercaseKeys -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js deleted file mode 100644 index bbfef8703c..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ /dev/null @@ -1,16 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/omit.js deleted file mode 100644 index aceffe25ef..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ /dev/null @@ -1,12 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js deleted file mode 100644 index 8653027c8d..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ /dev/null @@ -1,11 +0,0 @@ -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} -export { - removeUndefinedProperties -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/url-template.js deleted file mode 100644 index f70aa5c733..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ /dev/null @@ -1,133 +0,0 @@ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== void 0 && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - 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/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/with-defaults.js deleted file mode 100644 index 5551d42b39..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/defaults.d.ts deleted file mode 100644 index d65e889bc1..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults } from "@octokit/types"; -export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts deleted file mode 100644 index ec25627cd2..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; -export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/index.d.ts deleted file mode 100644 index 1ede136671..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/merge.d.ts deleted file mode 100644 index f583981205..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; -export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/parse.d.ts deleted file mode 100644 index 5d0927ae8c..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestOptions } from "@octokit/types"; -export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts deleted file mode 100644 index 4b192ac41d..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function addQueryParameters(url: string, parameters: { - [x: string]: string | undefined; - q?: string; -}): string; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts deleted file mode 100644 index 93586d4db5..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts deleted file mode 100644 index 1daf307362..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function lowercaseKeys(object?: { - [key: string]: any; -}): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts deleted file mode 100644 index 914411cf92..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts deleted file mode 100644 index 06927d6bdf..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function omit(object: { - [key: string]: any; -}, keysToOmit: string[]): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts deleted file mode 100644 index 92d8d85053..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts deleted file mode 100644 index 5d967cab3c..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function parseUrl(template: string): { - expand: (context: object) => string; -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts deleted file mode 100644 index e09354c56f..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; -export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-device/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-device/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js deleted file mode 100644 index af8271c2af..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// 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 = "0.0.0-development"; - -// pkg/dist-src/defaults.js -var defaults_default = { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}; - -// pkg/dist-src/fetch-wrapper.js -import { safeParse } from "fast-content-type-parse"; - -// 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"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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 -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js.map deleted file mode 100644 index 9949af2b46..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/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 = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { safeParse } from \"fast-content-type-parse\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\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) ? JSON.stringify(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 if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\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,iBAAiB;;;ACA1B,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;;;ADLA,SAAS,oBAAoB;AAC7B,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,KAAK,UAAU,eAAe,IAAI,IAAI,eAAe;AAC7I,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;AACd,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;AAClD,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,MAAM,EAAE;AAAA,EACvC;AACA,QAAM,WAAW,UAAU,WAAW;AACtC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,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,MAAM,EAAE;AAAA,EACvC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC;AAAA,EAC9D;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;;;AEvIA,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/auth-oauth-device/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index 9acd8329a3..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.2.2"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/with-defaults.js deleted file mode 100644 index b2dd7ad6b9..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/with-defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -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/auth-oauth-device/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/defaults.d.ts deleted file mode 100644 index ddf2ca0dea..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/defaults.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare const _default: { - headers: { - "user-agent": string; - }; -}; -export default _default; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/index.d.ts deleted file mode 100644 index 1030809f9e..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index b27d7d03fc..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.2.2"; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/with-defaults.d.ts deleted file mode 100644 index 4300682f02..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; -export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/package.json b/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-user/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/README.md deleted file mode 100644 index 164f60d1ee..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/README.md +++ /dev/null @@ -1,412 +0,0 @@ -# endpoint.js - -> Turns GitHub REST API endpoints into generic request options - -[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) -[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) - -`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. - - - - - -- [Usage](#usage) -- [API](#api) - - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) - - [`endpoint.defaults()`](#endpointdefaults) - - [`endpoint.DEFAULTS`](#endpointdefaults) - - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) - - [`endpoint.parse()`](#endpointparse) -- [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) -- [LICENSE](#license) - - - -## Usage - - - - - - -
-Browsers - -Load @octokit/endpoint directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/endpoint - -```js -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle/index.js.map deleted file mode 100644 index a4189c6090..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/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 === \"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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/defaults.js deleted file mode 100644 index 5f65ced4d8..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/defaults.js +++ /dev/null @@ -1,17 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js deleted file mode 100644 index e67c9e5f05..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ /dev/null @@ -1,9 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/merge.js deleted file mode 100644 index cf1b37ef6c..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/merge.js +++ /dev/null @@ -1,27 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/parse.js deleted file mode 100644 index f3df8176a0..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/parse.js +++ /dev/null @@ -1,70 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js deleted file mode 100644 index 6bdf7367c0..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ /dev/null @@ -1,16 +0,0 @@ -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} -export { - addQueryParameters -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js deleted file mode 100644 index bd909773f8..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ /dev/null @@ -1,14 +0,0 @@ -const urlVariableRegex = /\{[^{}}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); -} -export { - extractUrlVariableNames -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js deleted file mode 100644 index 9bd7bb9910..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} -export { - lowercaseKeys -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js deleted file mode 100644 index bbfef8703c..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ /dev/null @@ -1,16 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/omit.js deleted file mode 100644 index aceffe25ef..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ /dev/null @@ -1,12 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js deleted file mode 100644 index 8653027c8d..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ /dev/null @@ -1,11 +0,0 @@ -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} -export { - removeUndefinedProperties -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/url-template.js deleted file mode 100644 index f70aa5c733..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ /dev/null @@ -1,133 +0,0 @@ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== void 0 && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - 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/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/with-defaults.js deleted file mode 100644 index 5551d42b39..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/defaults.d.ts deleted file mode 100644 index d65e889bc1..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults } from "@octokit/types"; -export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts deleted file mode 100644 index ec25627cd2..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; -export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/index.d.ts deleted file mode 100644 index 1ede136671..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/merge.d.ts deleted file mode 100644 index f583981205..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; -export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/parse.d.ts deleted file mode 100644 index 5d0927ae8c..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestOptions } from "@octokit/types"; -export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts deleted file mode 100644 index 4b192ac41d..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function addQueryParameters(url: string, parameters: { - [x: string]: string | undefined; - q?: string; -}): string; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts deleted file mode 100644 index 93586d4db5..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts deleted file mode 100644 index 1daf307362..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function lowercaseKeys(object?: { - [key: string]: any; -}): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts deleted file mode 100644 index 914411cf92..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts deleted file mode 100644 index 06927d6bdf..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function omit(object: { - [key: string]: any; -}, keysToOmit: string[]): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts deleted file mode 100644 index 92d8d85053..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts deleted file mode 100644 index 5d967cab3c..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function parseUrl(template: string): { - expand: (context: object) => string; -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts deleted file mode 100644 index e09354c56f..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; -export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-user/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/auth-oauth-user/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-oauth-user/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/README.md b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/README.md deleted file mode 100644 index be3e1cccef..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/README.md +++ /dev/null @@ -1,579 +0,0 @@ -# request.js - -> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node - -[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) -[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) - -`@octokit/request` is a request library for browsers & node that makes it easier -to interact with [GitHub’s REST API](https://developer.github.com/v3/) and -[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). - -It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse -the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. - - - - - -- [request.js](#requestjs) - - [Features](#features) - - [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) - - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) - - [Authentication](#authentication) - - [request()](#request) - - [`request.defaults()`](#requestdefaults) - - [`request.endpoint`](#requestendpoint) - - [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) - - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) - - [LICENSE](#license) - - - -## Features - -🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes - -```js -request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - mediaType: { - previews: ["symmetra"], - }, - owner: "octokit", - repo: "request.js", - number: 1, - labels: ["🐛 bug"], -}); -``` - -👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) - -😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). - -👍 Sensible defaults - -- `baseUrl`: `https://api.github.com` -- `headers.accept`: `application/vnd.github.v3+json` -- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` - -👌 Simple to test: mock requests by passing a custom fetch method. - -🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). - -## Usage - - - - - - -
-Browsers - -Load @octokit/request directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/request - -```js -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, 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", - }, - options: { - request: { - fetch: myFetch, - }, - }, -}); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js deleted file mode 100644 index af8271c2af..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// 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 = "0.0.0-development"; - -// pkg/dist-src/defaults.js -var defaults_default = { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}; - -// pkg/dist-src/fetch-wrapper.js -import { safeParse } from "fast-content-type-parse"; - -// 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"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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 -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js.map deleted file mode 100644 index 9949af2b46..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/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 = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { safeParse } from \"fast-content-type-parse\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\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) ? JSON.stringify(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 if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\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,iBAAiB;;;ACA1B,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;;;ADLA,SAAS,oBAAoB;AAC7B,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,KAAK,UAAU,eAAe,IAAI,IAAI,eAAe;AAC7I,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;AACd,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;AAClD,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,MAAM,EAAE;AAAA,EACvC;AACA,QAAM,WAAW,UAAU,WAAW;AACtC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,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,MAAM,EAAE;AAAA,EACvC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC;AAAA,EAC9D;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;;;AEvIA,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/auth-oauth-user/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/defaults.js deleted file mode 100644 index 33b14b0ab8..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index 9acd8329a3..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.2.2"; -export { - VERSION -}; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/with-defaults.js deleted file mode 100644 index b2dd7ad6b9..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-src/with-defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -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/auth-oauth-user/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/defaults.d.ts deleted file mode 100644 index ddf2ca0dea..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/defaults.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare const _default: { - headers: { - "user-agent": string; - }; -}; -export default _default; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/index.d.ts deleted file mode 100644 index 1030809f9e..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index b27d7d03fc..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.2.2"; diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/package.json b/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/auth-token/README.md b/node_modules/@octokit/auth-token/README.md index a1f6d3599d..2e48b73bb1 100644 --- a/node_modules/@octokit/auth-token/README.md +++ b/node_modules/@octokit/auth-token/README.md @@ -205,9 +205,7 @@ const TOKEN = "ghp_PersonalAccessToken01245678900000000"; const auth = createTokenAuth(TOKEN); const authentication = await auth(); -const response = await request("HEAD /", { - headers: authentication.headers, -}); +const response = await request("HEAD /"); const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); if (scopes.length) { @@ -227,9 +225,7 @@ const TOKEN = "ghp_PersonalAccessToken01245678900000000"; const auth = createTokenAuth(TOKEN); const authentication = await auth(); -const response = await request("HEAD /", { - headers: authentication.headers, -}); +const response = await request("HEAD /"); const clientId = response.headers["x-oauth-client-id"]; if (clientId) { @@ -252,12 +248,11 @@ const auth = createTokenAuth(TOKEN); const authentication = await auth(); const response = await request("GET /repos/{owner}/{repo}", { - owner: 'octocat', - repo: 'hello-world' - headers: authentication.headers + owner: "octocat", + repo: "hello-world", }); -console.log(response.data.permissions) +console.log(response.data.permissions); // { // admin: true, // push: true, diff --git a/node_modules/@octokit/auth-token/dist-node/index.js b/node_modules/@octokit/auth-token/dist-node/index.js index af0f0a6295..93ea7c87a0 100644 --- a/node_modules/@octokit/auth-token/dist-node/index.js +++ b/node_modules/@octokit/auth-token/dist-node/index.js @@ -1,10 +1,33 @@ -'use strict'; +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -Object.defineProperty(exports, '__esModule', { value: true }); +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + createTokenAuth: () => createTokenAuth +}); +module.exports = __toCommonJS(dist_src_exports); -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; +// pkg/dist-src/auth.js +var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +var REGEX_IS_INSTALLATION = /^ghs_/; +var REGEX_IS_USER_TO_SERVER = /^ghu_/; async function auth(token) { const isApp = token.split(/\./).length === 3; const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); @@ -12,44 +35,45 @@ async function auth(token) { const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; return { type: "token", - token: token, + token, tokenType }; } -/** - * Prefix token for usage in the Authorization header - * - * @param token OAuth token or JSON Web Token - */ +// 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); + const endpoint = request.endpoint.merge( + route, + parameters + ); endpoint.headers.authorization = withAuthorizationPrefix(token); return request(endpoint); } -const createTokenAuth = function createTokenAuth(token) { +// 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"); + 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 +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + createTokenAuth +}); diff --git a/node_modules/@octokit/auth-token/dist-node/index.js.map b/node_modules/@octokit/auth-token/dist-node/index.js.map index af0c2e2018..deff6da2fc 100644 --- a/node_modules/@octokit/auth-token/dist-node/index.js.map +++ b/node_modules/@octokit/auth-token/dist-node/index.js.map @@ -1 +1,7 @@ -{"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 +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/auth.js", "../dist-src/with-authorization-prefix.js", "../dist-src/hook.js"], + "sourcesContent": ["import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n", "const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\nexport {\n auth\n};\n", "function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\nexport {\n withAuthorizationPrefix\n};\n", "import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\nexport {\n hook\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,+BAA+B;AACrC,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAChC,eAAe,KAAK,OAAO;AACzB,QAAM,QAAQ,MAAM,MAAM,IAAI,EAAE,WAAW;AAC3C,QAAM,iBAAiB,6BAA6B,KAAK,KAAK,KAAK,sBAAsB,KAAK,KAAK;AACnG,QAAM,iBAAiB,wBAAwB,KAAK,KAAK;AACzD,QAAM,YAAY,QAAQ,QAAQ,iBAAiB,iBAAiB,iBAAiB,mBAAmB;AACxG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;ACbA,SAAS,wBAAwB,OAAO;AACtC,MAAI,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG;AAClC,WAAO,UAAU;AAAA,EACnB;AACA,SAAO,SAAS;AAClB;;;ACJA,eAAe,KAAK,OAAO,SAAS,OAAO,YAAY;AACrD,QAAM,WAAW,QAAQ,SAAS;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,WAAS,QAAQ,gBAAgB,wBAAwB,KAAK;AAC9D,SAAO,QAAQ,QAAQ;AACzB;;;AHNA,IAAM,kBAAkB,SAAS,iBAAiB,OAAO;AACvD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,UAAQ,MAAM,QAAQ,sBAAsB,EAAE;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3C,MAAM,KAAK,KAAK,MAAM,KAAK;AAAA,EAC7B,CAAC;AACH;", + "names": [] +} diff --git a/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@octokit/auth-token/dist-src/auth.js index b22ce98f0c..d3efbf5a75 100644 --- a/node_modules/@octokit/auth-token/dist-src/auth.js +++ b/node_modules/@octokit/auth-token/dist-src/auth.js @@ -1,21 +1,17 @@ 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, - }; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token, + tokenType + }; } +export { + auth +}; diff --git a/node_modules/@octokit/auth-token/dist-src/hook.js b/node_modules/@octokit/auth-token/dist-src/hook.js index f8e47f0c29..371a041b87 100644 --- a/node_modules/@octokit/auth-token/dist-src/hook.js +++ b/node_modules/@octokit/auth-token/dist-src/hook.js @@ -1,6 +1,12 @@ 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); +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge( + route, + parameters + ); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); } +export { + hook +}; diff --git a/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@octokit/auth-token/dist-src/index.js index f2ddd6398e..445cfaaa3a 100644 --- a/node_modules/@octokit/auth-token/dist-src/index.js +++ b/node_modules/@octokit/auth-token/dist-src/index.js @@ -1,14 +1,19 @@ 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), - }); +const createTokenAuth = function createTokenAuth2(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +export { + createTokenAuth }; diff --git a/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js index 90358136ed..02a4bb5eba 100644 --- a/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js +++ b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js @@ -1,11 +1,9 @@ -/** - * 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}`; +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; } +export { + withAuthorizationPrefix +}; diff --git a/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/node_modules/@octokit/auth-token/dist-types/auth.d.ts index dc41835858..941d8c21fb 100644 --- a/node_modules/@octokit/auth-token/dist-types/auth.d.ts +++ b/node_modules/@octokit/auth-token/dist-types/auth.d.ts @@ -1,2 +1,2 @@ -import { Token, Authentication } from "./types"; +import type { Token, Authentication } from "./types"; export declare function auth(token: Token): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/node_modules/@octokit/auth-token/dist-types/hook.d.ts index 21e4b6fcd3..ad457dc331 100644 --- a/node_modules/@octokit/auth-token/dist-types/hook.d.ts +++ b/node_modules/@octokit/auth-token/dist-types/hook.d.ts @@ -1,2 +1,2 @@ -import { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; +import type { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/index.d.ts b/node_modules/@octokit/auth-token/dist-types/index.d.ts index 5999429371..115bb7f11f 100644 --- a/node_modules/@octokit/auth-token/dist-types/index.d.ts +++ b/node_modules/@octokit/auth-token/dist-types/index.d.ts @@ -1,5 +1,5 @@ -import { StrategyInterface, Token, Authentication } from "./types"; -export declare type Types = { +import type { StrategyInterface, Token, Authentication } from "./types"; +export type Types = { StrategyOptions: Token; AuthOptions: never; Authentication: Authentication; diff --git a/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@octokit/auth-token/dist-types/types.d.ts index 0ae24de87b..4267fa19d2 100644 --- a/node_modules/@octokit/auth-token/dist-types/types.d.ts +++ b/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -1,33 +1,33 @@ import * as OctokitTypes from "@octokit/types"; -export declare type AnyResponse = OctokitTypes.OctokitResponse; -export declare type StrategyInterface = OctokitTypes.StrategyInterface<[ +export type AnyResponse = OctokitTypes.OctokitResponse; +export 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 = { +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 declare type InstallationTokenAuthentication = { +export type InstallationTokenAuthentication = { type: "token"; tokenType: "installation"; token: Token; }; -export declare type AppAuthentication = { +export type AppAuthentication = { type: "token"; tokenType: "app"; token: Token; }; -export declare type UserToServerAuthentication = { +export type UserToServerAuthentication = { type: "token"; tokenType: "user-to-server"; token: Token; }; -export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; +export type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js b/node_modules/@octokit/auth-token/dist-web/index.js index 8b1cd7df1e..b6f7249c53 100644 --- a/node_modules/@octokit/auth-token/dist-web/index.js +++ b/node_modules/@octokit/auth-token/dist-web/index.js @@ -1,55 +1,52 @@ -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; +// pkg/dist-src/auth.js +var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +var REGEX_IS_INSTALLATION = /^ghs_/; +var REGEX_IS_USER_TO_SERVER = /^ghu_/; async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || - REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp - ? "app" - : isInstallation - ? "installation" - : isUserToServer - ? "user-to-server" - : "oauth"; - return { - type: "token", - token: token, - tokenType, - }; + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token, + tokenType + }; } -/** - * Prefix token for usage in the Authorization header - * - * @param token OAuth token or JSON Web Token - */ +// pkg/dist-src/with-authorization-prefix.js function withAuthorizationPrefix(token) { - if (token.split(/\./).length === 3) { - return `bearer ${token}`; - } - return `token ${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); + 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), - }); +// 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 }; - -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 index 1d6197bfee..b84a1eadbc 100644 --- a/node_modules/@octokit/auth-token/dist-web/index.js.map +++ b/node_modules/@octokit/auth-token/dist-web/index.js.map @@ -1 +1,7 @@ -{"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 +{ + "version": 3, + "sources": ["../dist-src/auth.js", "../dist-src/with-authorization-prefix.js", "../dist-src/hook.js", "../dist-src/index.js"], + "sourcesContent": ["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\nexport {\n auth\n};\n", "function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\nexport {\n withAuthorizationPrefix\n};\n", "import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\nexport {\n hook\n};\n", "import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n"], + "mappings": ";AAAA,IAAM,+BAA+B;AACrC,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAChC,eAAe,KAAK,OAAO;AACzB,QAAM,QAAQ,MAAM,MAAM,IAAI,EAAE,WAAW;AAC3C,QAAM,iBAAiB,6BAA6B,KAAK,KAAK,KAAK,sBAAsB,KAAK,KAAK;AACnG,QAAM,iBAAiB,wBAAwB,KAAK,KAAK;AACzD,QAAM,YAAY,QAAQ,QAAQ,iBAAiB,iBAAiB,iBAAiB,mBAAmB;AACxG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;ACbA,SAAS,wBAAwB,OAAO;AACtC,MAAI,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG;AAClC,WAAO,UAAU;AAAA,EACnB;AACA,SAAO,SAAS;AAClB;;;ACJA,eAAe,KAAK,OAAO,SAAS,OAAO,YAAY;AACrD,QAAM,WAAW,QAAQ,SAAS;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,WAAS,QAAQ,gBAAgB,wBAAwB,KAAK;AAC9D,SAAO,QAAQ,QAAQ;AACzB;;;ACNA,IAAM,kBAAkB,SAAS,iBAAiB,OAAO;AACvD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,UAAQ,MAAM,QAAQ,sBAAsB,EAAE;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3C,MAAM,KAAK,KAAK,MAAM,KAAK;AAAA,EAC7B,CAAC;AACH;", + "names": [] +} diff --git a/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/types.d.ts deleted file mode 100644 index 88dc62de8b..0000000000 --- a/node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types/types.d.ts +++ /dev/null @@ -1,47095 +0,0 @@ -/** - * 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/auth-token/package.json b/node_modules/@octokit/auth-token/package.json index 1b0df71919..cecbfb69d2 100644 --- a/node_modules/@octokit/auth-token/package.json +++ b/node_modules/@octokit/auth-token/package.json @@ -1,45 +1,44 @@ { "name": "@octokit/auth-token", + "publishConfig": { + "access": "public" + }, + "version": "4.0.0", "description": "GitHub API token authentication for browsers and Node.js", - "version": "2.5.0", - "license": "MIT", - "files": [ - "dist-*/", - "bin/" - ], - "pika": true, - "sideEffects": false, + "repository": "github:octokit/auth-token.js", "keywords": [ "github", "octokit", "authentication", "api" ], - "repository": "github:octokit/auth-token.js", - "dependencies": { - "@octokit/types": "^6.0.3" - }, + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", "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", + "@octokit/request": "^6.0.0", + "@octokit/tsconfig": "^2.0.0", + "@octokit/types": "^9.2.3", "@types/fetch-mock": "^7.3.1", - "@types/jest": "^27.0.0", + "@types/jest": "^29.0.0", + "esbuild": "^0.18.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" + "glob": "^10.2.6", + "jest": "^29.0.0", + "prettier": "2.8.8", + "semantic-release": "^21.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" }, - "publishConfig": { - "access": "public" + "engines": { + "node": ">= 18" }, - "source": "dist-src/index.js", - "types": "dist-types/index.d.ts", + "files": [ + "dist-*/**", + "bin/**" + ], "main": "dist-node/index.js", - "module": "dist-web/index.js" + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false } diff --git a/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/auth-unauthenticated/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/README.md b/node_modules/@octokit/core/README.md index b540cb9375..985841bf0e 100644 --- a/node_modules/@octokit/core/README.md +++ b/node_modules/@octokit/core/README.md @@ -3,7 +3,7 @@ > 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%3Amaster) +[![Build Status](https://github.com/octokit/core.js/workflows/Test/badge.svg)](https://github.com/octokit/core.js/actions?query=workflow%3ATest+branch%3Amain) @@ -32,11 +32,11 @@ If you don't need the Plugin API then using [`@octokit/request`](https://github. Browsers -Load @octokit/core directly from cdn.skypack.dev - +Load @octokit/core directly from esm.sh + ```html ``` @@ -83,7 +83,7 @@ const response = await octokit.graphql( } } }`, - { login: "octokit" } + { login: "octokit" }, ); ``` @@ -166,7 +166,7 @@ octokit.request("POST /repos/{owner}/{repo}/pulls", { owner, repo, title: "My pull request", - base: "master", + base: "main", head: "my-feature", draft: true, }); @@ -271,7 +271,7 @@ 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, { opt2: 1 }), + foo: Object.assign({}, options.foo, { opt1: 1 }), }; }); const octokit = new MyOctokit({ @@ -382,7 +382,7 @@ 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. +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 @@ -425,7 +425,7 @@ const { Octokit } = require("@octokit/core"); const MyActionOctokit = Octokit.plugin( require("@octokit/plugin-paginate-rest").paginateRest, require("@octokit/plugin-throttling").throttling, - require("@octokit/plugin-retry").retry + require("@octokit/plugin-retry").retry, ).defaults({ throttle: { onAbuseLimit: (retryAfter, options) => { diff --git a/node_modules/@octokit/core/dist-node/index.js b/node_modules/@octokit/core/dist-node/index.js index 0f46e61ec3..9decd2a16c 100644 --- a/node_modules/@octokit/core/dist-node/index.js +++ b/node_modules/@octokit/core/dist-node/index.js @@ -1,57 +1,93 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var universalUserAgent = require('universal-user-agent'); -var beforeAfterHook = require('before-after-hook'); -var request = require('@octokit/request'); -var graphql = require('@octokit/graphql'); -var authToken = require('@octokit/auth-token'); - -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } - - return target; -} - -function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - - var target = _objectWithoutPropertiesLoose(source, excluded); - - var key, i; - - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + Octokit: () => Octokit +}); +module.exports = __toCommonJS(dist_src_exports); +var import_universal_user_agent = require("universal-user-agent"); +var import_before_after_hook = require("before-after-hook"); +var import_request = require("@octokit/request"); +var import_graphql = require("@octokit/graphql"); +var import_auth_token = require("@octokit/auth-token"); + +// pkg/dist-src/version.js +var VERSION = "5.2.0"; + +// pkg/dist-src/index.js +var noop = () => { +}; +var consoleWarn = console.warn.bind(console); +var consoleError = console.error.bind(console); +var userAgentTrail = `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; +var Octokit = class { + static { + this.VERSION = VERSION; + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; + } + static { + this.plugins = []; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; } - - return target; -} - -const VERSION = "3.6.0"; - -const _excluded = ["authStrategy"]; -class Octokit { constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); + const hook = new import_before_after_hook.Collection(); const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { // @ts-ignore internal usage only, no need to type @@ -61,116 +97,67 @@ class Octokit { previews: [], format: "" } - }; // prepend default user agent with `options.userAgent` if set - - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); - + }; + 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.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, options.log); - this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. - + this.request = import_request.request.defaults(requestDefaults); + this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); + this.log = Object.assign( + { + debug: noop, + info: noop, + warn: consoleWarn, + error: consoleError + }, + options.log + ); + this.hook = hook; if (!options.authStrategy) { if (!options.auth) { - // (1) this.auth = async () => ({ type: "unauthenticated" }); } else { - // (2) - const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ - + const auth = (0, import_auth_token.createTokenAuth)(options.auth); hook.wrap("request", auth.hook); this.auth = auth; } } else { - const { - authStrategy - } = options, - otherOptions = _objectWithoutProperties(options, _excluded); - - 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)); // @ts-ignore ¯\_(ツ)_/¯ - + 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; - } // apply plugins - // https://stackoverflow.com/a/16345172 - - + } const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { - Object.assign(this, plugin(this, options)); - }); - } - - 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; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - - - static plugin(...newPlugins) { - var _a; - - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); - return NewOctokit; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); + } } - -} -Octokit.VERSION = VERSION; -Octokit.plugins = []; - -exports.Octokit = Octokit; -//# sourceMappingURL=index.js.map +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + Octokit +}); diff --git a/node_modules/@octokit/core/dist-node/index.js.map b/node_modules/@octokit/core/dist-node/index.js.map index 3467e5277b..0156d47c76 100644 --- a/node_modules/@octokit/core/dist-node/index.js.map +++ b/node_modules/@octokit/core/dist-node/index.js.map @@ -1 +1,7 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":["VERSION","Octokit","constructor","options","hook","Collection","requestDefaults","baseUrl","request","endpoint","DEFAULTS","headers","Object","assign","bind","mediaType","previews","format","userAgent","getUserAgent","filter","Boolean","join","timeZone","defaults","graphql","withCustomRequest","log","debug","info","warn","console","error","authStrategy","auth","type","createTokenAuth","wrap","otherOptions","octokit","octokitOptions","classConstructor","plugins","forEach","plugin","OctokitWithDefaults","args","newPlugins","_a","currentPlugins","NewOctokit","concat","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;;ACAP,AAMO,MAAMC,OAAN,CAAc;AACjBC,EAAAA,WAAW,CAACC,OAAO,GAAG,EAAX,EAAe;AACtB,UAAMC,IAAI,GAAG,IAAIC,0BAAJ,EAAb;AACA,UAAMC,eAAe,GAAG;AACpBC,MAAAA,OAAO,EAAEC,eAAO,CAACC,QAAR,CAAiBC,QAAjB,CAA0BH,OADf;AAEpBI,MAAAA,OAAO,EAAE,EAFW;AAGpBH,MAAAA,OAAO,EAAEI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACK,OAA1B,EAAmC;AACxC;AACAJ,QAAAA,IAAI,EAAEA,IAAI,CAACU,IAAL,CAAU,IAAV,EAAgB,SAAhB;AAFkC,OAAnC,CAHW;AAOpBC,MAAAA,SAAS,EAAE;AACPC,QAAAA,QAAQ,EAAE,EADH;AAEPC,QAAAA,MAAM,EAAE;AAFD;AAPS,KAAxB,CAFsB;;AAetBX,IAAAA,eAAe,CAACK,OAAhB,CAAwB,YAAxB,IAAwC,CACpCR,OAAO,CAACe,SAD4B,EAEnC,mBAAkBlB,OAAQ,IAAGmB,+BAAY,EAAG,EAFT,EAInCC,MAJmC,CAI5BC,OAJ4B,EAKnCC,IALmC,CAK9B,GAL8B,CAAxC;;AAMA,QAAInB,OAAO,CAACI,OAAZ,EAAqB;AACjBD,MAAAA,eAAe,CAACC,OAAhB,GAA0BJ,OAAO,CAACI,OAAlC;AACH;;AACD,QAAIJ,OAAO,CAACa,QAAZ,EAAsB;AAClBV,MAAAA,eAAe,CAACS,SAAhB,CAA0BC,QAA1B,GAAqCb,OAAO,CAACa,QAA7C;AACH;;AACD,QAAIb,OAAO,CAACoB,QAAZ,EAAsB;AAClBjB,MAAAA,eAAe,CAACK,OAAhB,CAAwB,WAAxB,IAAuCR,OAAO,CAACoB,QAA/C;AACH;;AACD,SAAKf,OAAL,GAAeA,eAAO,CAACgB,QAAR,CAAiBlB,eAAjB,CAAf;AACA,SAAKmB,OAAL,GAAeC,yBAAiB,CAAC,KAAKlB,OAAN,CAAjB,CAAgCgB,QAAhC,CAAyClB,eAAzC,CAAf;AACA,SAAKqB,GAAL,GAAWf,MAAM,CAACC,MAAP,CAAc;AACrBe,MAAAA,KAAK,EAAE,MAAM,EADQ;AAErBC,MAAAA,IAAI,EAAE,MAAM,EAFS;AAGrBC,MAAAA,IAAI,EAAEC,OAAO,CAACD,IAAR,CAAahB,IAAb,CAAkBiB,OAAlB,CAHe;AAIrBC,MAAAA,KAAK,EAAED,OAAO,CAACC,KAAR,CAAclB,IAAd,CAAmBiB,OAAnB;AAJc,KAAd,EAKR5B,OAAO,CAACwB,GALA,CAAX;AAMA,SAAKvB,IAAL,GAAYA,IAAZ,CAtCsB;AAwCtB;AACA;AACA;AACA;;AACA,QAAI,CAACD,OAAO,CAAC8B,YAAb,EAA2B;AACvB,UAAI,CAAC9B,OAAO,CAAC+B,IAAb,EAAmB;AACf;AACA,aAAKA,IAAL,GAAY,aAAa;AACrBC,UAAAA,IAAI,EAAE;AADe,SAAb,CAAZ;AAGH,OALD,MAMK;AACD;AACA,cAAMD,IAAI,GAAGE,yBAAe,CAACjC,OAAO,CAAC+B,IAAT,CAA5B,CAFC;;AAID9B,QAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,aAAK8B,IAAL,GAAYA,IAAZ;AACH;AACJ,KAdD,MAeK;AACD,YAAM;AAAED,QAAAA;AAAF,UAAoC9B,OAA1C;AAAA,YAAyBmC,YAAzB,4BAA0CnC,OAA1C;;AACA,YAAM+B,IAAI,GAAGD,YAAY,CAACrB,MAAM,CAACC,MAAP,CAAc;AACpCL,QAAAA,OAAO,EAAE,KAAKA,OADsB;AAEpCmB,QAAAA,GAAG,EAAE,KAAKA,GAF0B;AAGpC;AACA;AACA;AACA;AACA;AACAY,QAAAA,OAAO,EAAE,IAR2B;AASpCC,QAAAA,cAAc,EAAEF;AAToB,OAAd,EAUvBnC,OAAO,CAAC+B,IAVe,CAAD,CAAzB,CAFC;;AAcD9B,MAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,WAAK8B,IAAL,GAAYA,IAAZ;AACH,KA3EqB;AA6EtB;;;AACA,UAAMO,gBAAgB,GAAG,KAAKvC,WAA9B;AACAuC,IAAAA,gBAAgB,CAACC,OAAjB,CAAyBC,OAAzB,CAAkCC,MAAD,IAAY;AACzChC,MAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoB+B,MAAM,CAAC,IAAD,EAAOzC,OAAP,CAA1B;AACH,KAFD;AAGH;;AACc,SAARqB,QAAQ,CAACA,QAAD,EAAW;AACtB,UAAMqB,mBAAmB,GAAG,cAAc,IAAd,CAAmB;AAC3C3C,MAAAA,WAAW,CAAC,GAAG4C,IAAJ,EAAU;AACjB,cAAM3C,OAAO,GAAG2C,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA3B;;AACA,YAAI,OAAOtB,QAAP,KAAoB,UAAxB,EAAoC;AAChC,gBAAMA,QAAQ,CAACrB,OAAD,CAAd;AACA;AACH;;AACD,cAAMS,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBW,QAAlB,EAA4BrB,OAA5B,EAAqCA,OAAO,CAACe,SAAR,IAAqBM,QAAQ,CAACN,SAA9B,GACrC;AACEA,UAAAA,SAAS,EAAG,GAAEf,OAAO,CAACe,SAAU,IAAGM,QAAQ,CAACN,SAAU;AADxD,SADqC,GAIrC,IAJA,CAAN;AAKH;;AAZ0C,KAA/C;AAcA,WAAO2B,mBAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiB,SAAND,MAAM,CAAC,GAAGG,UAAJ,EAAgB;AACzB,QAAIC,EAAJ;;AACA,UAAMC,cAAc,GAAG,KAAKP,OAA5B;AACA,UAAMQ,UAAU,IAAIF,EAAE,GAAG,cAAc,IAAd,CAAmB,EAAxB,EAEhBA,EAAE,CAACN,OAAH,GAAaO,cAAc,CAACE,MAAf,CAAsBJ,UAAU,CAAC3B,MAAX,CAAmBwB,MAAD,IAAY,CAACK,cAAc,CAACG,QAAf,CAAwBR,MAAxB,CAA/B,CAAtB,CAFG,EAGhBI,EAHY,CAAhB;AAIA,WAAOE,UAAP;AACH;;AAnHgB;AAqHrBjD,OAAO,CAACD,OAAR,GAAkBA,OAAlB;AACAC,OAAO,CAACyC,OAAR,GAAkB,EAAlB;;;;"} \ No newline at end of file +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js"], + "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version.js\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static {\n this.plugins = [];\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign(\n {\n debug: noop,\n info: noop,\n warn: consoleWarn,\n error: consoleError\n },\n options.log\n );\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.2.0\";\nexport {\n VERSION\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAA6B;AAC7B,+BAA2B;AAC3B,qBAAwB;AACxB,qBAA2C;AAC3C,wBAAgC;;;ACJhC,IAAM,UAAU;;;ADMhB,IAAM,OAAO,MAAM;AACnB;AACA,IAAM,cAAc,QAAQ,KAAK,KAAK,OAAO;AAC7C,IAAM,eAAe,QAAQ,MAAM,KAAK,OAAO;AAC/C,IAAM,iBAAiB,mBAAmB,OAAO,QAAI,0CAAa,CAAC;AACnE,IAAM,UAAN,MAAc;AAAA,EACZ,OAAO;AACL,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,OAAO,SAAS,UAAU;AACxB,UAAM,sBAAsB,cAAc,KAAK;AAAA,MAC7C,eAAe,MAAM;AACnB,cAAM,UAAU,KAAK,CAAC,KAAK,CAAC;AAC5B,YAAI,OAAO,aAAa,YAAY;AAClC,gBAAM,SAAS,OAAO,CAAC;AACvB;AAAA,QACF;AACA;AAAA,UACE,OAAO;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YACA;AAAA,YACA,QAAQ,aAAa,SAAS,YAAY;AAAA,cACxC,WAAW,GAAG,QAAQ,SAAS,IAAI,SAAS,SAAS;AAAA,YACvD,IAAI;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO;AACL,SAAK,UAAU,CAAC;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU,YAAY;AAC3B,UAAM,iBAAiB,KAAK;AAC5B,UAAM,aAAa,cAAc,KAAK;AAAA,MACpC,OAAO;AACL,aAAK,UAAU,eAAe;AAAA,UAC5B,WAAW,OAAO,CAAC,WAAW,CAAC,eAAe,SAAS,MAAM,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,UAAU,CAAC,GAAG;AACxB,UAAM,OAAO,IAAI,oCAAW;AAC5B,UAAM,kBAAkB;AAAA,MACtB,SAAS,uBAAQ,SAAS,SAAS;AAAA,MACnC,SAAS,CAAC;AAAA,MACV,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ,SAAS;AAAA;AAAA,QAE1C,MAAM,KAAK,KAAK,MAAM,SAAS;AAAA,MACjC,CAAC;AAAA,MACD,WAAW;AAAA,QACT,UAAU,CAAC;AAAA,QACX,QAAQ;AAAA,MACV;AAAA,IACF;AACA,oBAAgB,QAAQ,YAAY,IAAI,QAAQ,YAAY,GAAG,QAAQ,SAAS,IAAI,cAAc,KAAK;AACvG,QAAI,QAAQ,SAAS;AACnB,sBAAgB,UAAU,QAAQ;AAAA,IACpC;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,UAAU,WAAW,QAAQ;AAAA,IAC/C;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,QAAQ,WAAW,IAAI,QAAQ;AAAA,IACjD;AACA,SAAK,UAAU,uBAAQ,SAAS,eAAe;AAC/C,SAAK,cAAU,kCAAkB,KAAK,OAAO,EAAE,SAAS,eAAe;AACvE,SAAK,MAAM,OAAO;AAAA,MAChB;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,OAAO;AACZ,QAAI,CAAC,QAAQ,cAAc;AACzB,UAAI,CAAC,QAAQ,MAAM;AACjB,aAAK,OAAO,aAAa;AAAA,UACvB,MAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,WAAO,mCAAgB,QAAQ,IAAI;AACzC,aAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,aAAK,OAAO;AAAA,MACd;AAAA,IACF,OAAO;AACL,YAAM,EAAE,cAAc,GAAG,aAAa,IAAI;AAC1C,YAAM,OAAO;AAAA,QACX,OAAO;AAAA,UACL;AAAA,YACE,SAAS,KAAK;AAAA,YACd,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMV,SAAS;AAAA,YACT,gBAAgB;AAAA,UAClB;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AACA,WAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,WAAK,OAAO;AAAA,IACd;AACA,UAAM,mBAAmB,KAAK;AAC9B,aAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,QAAQ,EAAE,GAAG;AACxD,aAAO,OAAO,MAAM,iBAAiB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;AAAA,IAChE;AAAA,EACF;AACF;", + "names": [] +} diff --git a/node_modules/@octokit/core/dist-src/index.js b/node_modules/@octokit/core/dist-src/index.js index bdbc335bed..cbea61b9bf 100644 --- a/node_modules/@octokit/core/dist-src/index.js +++ b/node_modules/@octokit/core/dist-src/index.js @@ -1,125 +1,133 @@ import { getUserAgent } from "universal-user-agent"; import { Collection } from "before-after-hook"; import { request } from "@octokit/request"; -import { withCustomRequest } from "@octokit/graphql"; +import { graphql, withCustomRequest } from "@octokit/graphql"; import { createTokenAuth } from "@octokit/auth-token"; -import { VERSION } from "./version"; -export class Octokit { - constructor(options = {}) { - const hook = new Collection(); - const requestDefaults = { - baseUrl: request.endpoint.DEFAULTS.baseUrl, - headers: {}, - request: Object.assign({}, options.request, { - // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request"), - }), - mediaType: { - previews: [], - format: "", - }, - }; - // prepend default user agent with `options.userAgent` if set - requestDefaults.headers["user-agent"] = [ - options.userAgent, - `octokit-core.js/${VERSION} ${getUserAgent()}`, - ] - .filter(Boolean) - .join(" "); - if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; +import { VERSION } from "./version.js"; +const noop = () => { +}; +const consoleWarn = console.warn.bind(console); +const consoleError = console.error.bind(console); +const userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`; +class Octokit { + static { + this.VERSION = VERSION; + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; } - if (options.previews) { - requestDefaults.mediaType.previews = options.previews; - } - if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; - } - this.request = request.defaults(requestDefaults); - this.graphql = withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => { }, - info: () => { }, - warn: console.warn.bind(console), - error: console.error.bind(console), - }, options.log); - this.hook = hook; - // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. - if (!options.authStrategy) { - if (!options.auth) { - // (1) - this.auth = async () => ({ - type: "unauthenticated", - }); - } - else { - // (2) - const auth = createTokenAuth(options.auth); - // @ts-ignore ¯\_(ツ)_/¯ - 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)); - // @ts-ignore ¯\_(ツ)_/¯ - hook.wrap("request", auth.hook); - this.auth = auth; - } - // apply plugins - // https://stackoverflow.com/a/16345172 - const classConstructor = this.constructor; - classConstructor.plugins.forEach((plugin) => { - Object.assign(this, plugin(this, options)); - }); + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; + } + static { + this.plugins = []; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; + } + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; } - 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; + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign( + { + debug: noop, + info: noop, + warn: consoleWarn, + error: consoleError + }, + options.log + ); + this.hook = hook; + if (!options.authStrategy) { + if (!options.auth) { + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + const auth = 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; } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - static plugin(...newPlugins) { - var _a; - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this { - }, - _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), - _a); - return NewOctokit; + const classConstructor = this.constructor; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); } + } } -Octokit.VERSION = VERSION; -Octokit.plugins = []; +export { + Octokit +}; diff --git a/node_modules/@octokit/core/dist-src/version.js b/node_modules/@octokit/core/dist-src/version.js index bace1a9173..efa20dbf79 100644 --- a/node_modules/@octokit/core/dist-src/version.js +++ b/node_modules/@octokit/core/dist-src/version.js @@ -1 +1,4 @@ -export const VERSION = "3.6.0"; +const VERSION = "5.2.0"; +export { + VERSION +}; diff --git a/node_modules/@octokit/core/dist-types/index.d.ts b/node_modules/@octokit/core/dist-types/index.d.ts index b757c5bc36..1102b3b782 100644 --- a/node_modules/@octokit/core/dist-types/index.d.ts +++ b/node_modules/@octokit/core/dist-types/index.d.ts @@ -1,7 +1,8 @@ -import { HookCollection } from "before-after-hook"; +import type { HookCollection } from "before-after-hook"; import { request } from "@octokit/request"; import { graphql } from "@octokit/graphql"; -import { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types"; +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): S; diff --git a/node_modules/@octokit/core/dist-types/types.d.ts b/node_modules/@octokit/core/dist-types/types.d.ts index 3970d0dea1..3f8f09b423 100644 --- a/node_modules/@octokit/core/dist-types/types.d.ts +++ b/node_modules/@octokit/core/dist-types/types.d.ts @@ -1,7 +1,7 @@ import * as OctokitTypes from "@octokit/types"; import { RequestError } from "@octokit/request-error"; -import { Octokit } from "."; -export declare type RequestParameters = OctokitTypes.RequestParameters; +import type { Octokit } from "./index.js"; +export type RequestParameters = OctokitTypes.RequestParameters; export interface OctokitOptions { authStrategy?: any; auth?: any; @@ -18,18 +18,18 @@ export interface OctokitOptions { timeZone?: string; [option: string]: any; } -export declare type Constructor = new (...args: any[]) => T; -export declare type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never; +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 declare type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never; -declare type AnyFunction = (...args: any) => any; -export declare type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { +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 declare type Hooks = { +export type Hooks = { request: { Options: Required; Result: OctokitTypes.OctokitResponse; diff --git a/node_modules/@octokit/core/dist-types/version.d.ts b/node_modules/@octokit/core/dist-types/version.d.ts index f1a3d02268..385f478d54 100644 --- a/node_modules/@octokit/core/dist-types/version.d.ts +++ b/node_modules/@octokit/core/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "3.6.0"; +export declare const VERSION = "5.2.0"; diff --git a/node_modules/@octokit/core/dist-web/index.js b/node_modules/@octokit/core/dist-web/index.js index 741d2317f4..b37249a2fa 100644 --- a/node_modules/@octokit/core/dist-web/index.js +++ b/node_modules/@octokit/core/dist-web/index.js @@ -1,130 +1,138 @@ -import { getUserAgent } from 'universal-user-agent'; -import { Collection } from 'before-after-hook'; -import { request } from '@octokit/request'; -import { withCustomRequest } from '@octokit/graphql'; -import { createTokenAuth } from '@octokit/auth-token'; +// pkg/dist-src/index.js +import { getUserAgent } from "universal-user-agent"; +import { Collection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { graphql, withCustomRequest } from "@octokit/graphql"; +import { createTokenAuth } from "@octokit/auth-token"; -const VERSION = "3.6.0"; +// pkg/dist-src/version.js +var VERSION = "5.2.0"; -class Octokit { - constructor(options = {}) { - const hook = new Collection(); - const requestDefaults = { - baseUrl: request.endpoint.DEFAULTS.baseUrl, - headers: {}, - request: Object.assign({}, options.request, { - // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request"), - }), - mediaType: { - previews: [], - format: "", - }, - }; - // prepend default user agent with `options.userAgent` if set - requestDefaults.headers["user-agent"] = [ - options.userAgent, - `octokit-core.js/${VERSION} ${getUserAgent()}`, - ] - .filter(Boolean) - .join(" "); - if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; +// pkg/dist-src/index.js +var noop = () => { +}; +var consoleWarn = console.warn.bind(console); +var consoleError = console.error.bind(console); +var userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`; +var Octokit = class { + static { + this.VERSION = VERSION; + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; } - if (options.previews) { - requestDefaults.mediaType.previews = options.previews; - } - if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; - } - this.request = request.defaults(requestDefaults); - this.graphql = withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => { }, - info: () => { }, - warn: console.warn.bind(console), - error: console.error.bind(console), - }, options.log); - this.hook = hook; - // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. - if (!options.authStrategy) { - if (!options.auth) { - // (1) - this.auth = async () => ({ - type: "unauthenticated", - }); - } - else { - // (2) - const auth = createTokenAuth(options.auth); - // @ts-ignore ¯\_(ツ)_/¯ - 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)); - // @ts-ignore ¯\_(ツ)_/¯ - hook.wrap("request", auth.hook); - this.auth = auth; - } - // apply plugins - // https://stackoverflow.com/a/16345172 - const classConstructor = this.constructor; - classConstructor.plugins.forEach((plugin) => { - Object.assign(this, plugin(this, options)); - }); + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; + } + static { + this.plugins = []; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; + } + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; } - 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; + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - static plugin(...newPlugins) { - var _a; - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this { - }, - _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), - _a); - return NewOctokit; + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; } -} -Octokit.VERSION = VERSION; -Octokit.plugins = []; - -export { Octokit }; -//# sourceMappingURL=index.js.map + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign( + { + debug: noop, + info: noop, + warn: consoleWarn, + error: consoleError + }, + options.log + ); + this.hook = hook; + if (!options.authStrategy) { + if (!options.auth) { + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + const auth = 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)); + } + } +}; +export { + Octokit +}; diff --git a/node_modules/@octokit/core/dist-web/index.js.map b/node_modules/@octokit/core/dist-web/index.js.map index 238c82e702..27d44a9c51 100644 --- a/node_modules/@octokit/core/dist-web/index.js.map +++ b/node_modules/@octokit/core/dist-web/index.js.map @@ -1 +1,7 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACMnC,MAAM,OAAO,CAAC;AACrB,IAAI,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AACtC,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;AACtD,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE;AACxD;AACA,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,SAAS,EAAE;AACvB,gBAAgB,QAAQ,EAAE,EAAE;AAC5B,gBAAgB,MAAM,EAAE,EAAE;AAC1B,aAAa;AACb,SAAS,CAAC;AACV;AACA,QAAQ,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;AAChD,YAAY,OAAO,CAAC,SAAS;AAC7B,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1D,SAAS;AACT,aAAa,MAAM,CAAC,OAAO,CAAC;AAC5B,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtD,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClE,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpE,SAAS;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,YAAY,KAAK,EAAE,MAAM,GAAG;AAC5B,YAAY,IAAI,EAAE,MAAM,GAAG;AAC3B,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B;AACA,gBAAgB,IAAI,CAAC,IAAI,GAAG,aAAa;AACzC,oBAAoB,IAAI,EAAE,iBAAiB;AAC3C,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D;AACA,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;AAC9D,YAAY,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACpD,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAgB,GAAG,EAAE,IAAI,CAAC,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,cAAc,EAAE,YAAY;AAC5C,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B;AACA,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT;AACA;AACA,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;AAClD,QAAQ,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACrD,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE;AAC9B,QAAQ,MAAM,mBAAmB,GAAG,cAAc,IAAI,CAAC;AACvD,YAAY,WAAW,CAAC,GAAG,IAAI,EAAE;AACjC,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,gBAAgB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACpD,oBAAoB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;AAClG,sBAAsB;AACtB,wBAAwB,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/E,qBAAqB;AACrB,sBAAsB,IAAI,CAAC,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,mBAAmB,CAAC;AACnC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,GAAG,UAAU,EAAE;AACjC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5C,QAAQ,MAAM,UAAU,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC;AACpD,aAAa;AACb,YAAY,EAAE,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/G,YAAY,EAAE,CAAC,CAAC;AAChB,QAAQ,OAAO,UAAU,CAAC;AAC1B,KAAK;AACL,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;;;;"} \ No newline at end of file +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js"], + "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version.js\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static {\n this.plugins = [];\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign(\n {\n debug: noop,\n info: noop,\n warn: consoleWarn,\n error: consoleError\n },\n options.log\n );\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.2.0\";\nexport {\n VERSION\n};\n"], + "mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,SAAS,yBAAyB;AAC3C,SAAS,uBAAuB;;;ACJhC,IAAM,UAAU;;;ADMhB,IAAM,OAAO,MAAM;AACnB;AACA,IAAM,cAAc,QAAQ,KAAK,KAAK,OAAO;AAC7C,IAAM,eAAe,QAAQ,MAAM,KAAK,OAAO;AAC/C,IAAM,iBAAiB,mBAAmB,OAAO,IAAI,aAAa,CAAC;AACnE,IAAM,UAAN,MAAc;AAAA,EACZ,OAAO;AACL,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,OAAO,SAAS,UAAU;AACxB,UAAM,sBAAsB,cAAc,KAAK;AAAA,MAC7C,eAAe,MAAM;AACnB,cAAM,UAAU,KAAK,CAAC,KAAK,CAAC;AAC5B,YAAI,OAAO,aAAa,YAAY;AAClC,gBAAM,SAAS,OAAO,CAAC;AACvB;AAAA,QACF;AACA;AAAA,UACE,OAAO;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YACA;AAAA,YACA,QAAQ,aAAa,SAAS,YAAY;AAAA,cACxC,WAAW,GAAG,QAAQ,SAAS,IAAI,SAAS,SAAS;AAAA,YACvD,IAAI;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO;AACL,SAAK,UAAU,CAAC;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU,YAAY;AAC3B,UAAM,iBAAiB,KAAK;AAC5B,UAAM,aAAa,cAAc,KAAK;AAAA,MACpC,OAAO;AACL,aAAK,UAAU,eAAe;AAAA,UAC5B,WAAW,OAAO,CAAC,WAAW,CAAC,eAAe,SAAS,MAAM,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,UAAU,CAAC,GAAG;AACxB,UAAM,OAAO,IAAI,WAAW;AAC5B,UAAM,kBAAkB;AAAA,MACtB,SAAS,QAAQ,SAAS,SAAS;AAAA,MACnC,SAAS,CAAC;AAAA,MACV,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ,SAAS;AAAA;AAAA,QAE1C,MAAM,KAAK,KAAK,MAAM,SAAS;AAAA,MACjC,CAAC;AAAA,MACD,WAAW;AAAA,QACT,UAAU,CAAC;AAAA,QACX,QAAQ;AAAA,MACV;AAAA,IACF;AACA,oBAAgB,QAAQ,YAAY,IAAI,QAAQ,YAAY,GAAG,QAAQ,SAAS,IAAI,cAAc,KAAK;AACvG,QAAI,QAAQ,SAAS;AACnB,sBAAgB,UAAU,QAAQ;AAAA,IACpC;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,UAAU,WAAW,QAAQ;AAAA,IAC/C;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,QAAQ,WAAW,IAAI,QAAQ;AAAA,IACjD;AACA,SAAK,UAAU,QAAQ,SAAS,eAAe;AAC/C,SAAK,UAAU,kBAAkB,KAAK,OAAO,EAAE,SAAS,eAAe;AACvE,SAAK,MAAM,OAAO;AAAA,MAChB;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,OAAO;AACZ,QAAI,CAAC,QAAQ,cAAc;AACzB,UAAI,CAAC,QAAQ,MAAM;AACjB,aAAK,OAAO,aAAa;AAAA,UACvB,MAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,OAAO,gBAAgB,QAAQ,IAAI;AACzC,aAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,aAAK,OAAO;AAAA,MACd;AAAA,IACF,OAAO;AACL,YAAM,EAAE,cAAc,GAAG,aAAa,IAAI;AAC1C,YAAM,OAAO;AAAA,QACX,OAAO;AAAA,UACL;AAAA,YACE,SAAS,KAAK;AAAA,YACd,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMV,SAAS;AAAA,YACT,gBAAgB;AAAA,UAClB;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AACA,WAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,WAAK,OAAO;AAAA,IACd;AACA,UAAM,mBAAmB,KAAK;AAC9B,aAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,QAAQ,EAAE,GAAG;AACxD,aAAO,OAAO,MAAM,iBAAiB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;AAAA,IAChE;AAAA,EACF;AACF;", + "names": [] +} diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/endpoint/LICENSE similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request/LICENSE rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/LICENSE diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/core/node_modules/@octokit/endpoint/README.md similarity index 97% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/README.md rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/README.md index 164f60d1ee..07acbd1048 100644 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/README.md +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/README.md @@ -48,7 +48,8 @@ Node Install with npm install @octokit/endpoint ```js -import { endpoint } from "@octokit/endpoint"; +const { endpoint } = require("@octokit/endpoint"); +// or: import { endpoint } from "@octokit/endpoint"; ``` @@ -95,9 +96,6 @@ got[options.method](url, options); 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)` diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-node/index.js similarity index 87% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-bundle/index.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-node/index.js index 77f055c151..f01c7ca983 100644 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-bundle/index.js +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-node/index.js @@ -1,11 +1,37 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + endpoint: () => endpoint +}); +module.exports = __toCommonJS(dist_src_exports); + // pkg/dist-src/defaults.js -import { getUserAgent } from "universal-user-agent"; +var import_universal_user_agent = require("universal-user-agent"); // pkg/dist-src/version.js -var VERSION = "0.0.0-development"; +var VERSION = "9.0.6"; // pkg/dist-src/defaults.js -var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; var DEFAULTS = { method: "GET", baseUrl: "https://api.github.com", @@ -31,10 +57,13 @@ function lowercaseKeys(object) { // 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; + 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; + 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); } @@ -44,8 +73,10 @@ 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]); + 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] }); } @@ -341,6 +372,7 @@ function withDefaults(oldDefaults, newDefaults) { // pkg/dist-src/index.js var endpoint = withDefaults(null, DEFAULTS); -export { +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { endpoint -}; +}); diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-node/index.js.map new file mode 100644 index 0000000000..55aeab89eb --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../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"], + "sourcesContent": ["import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n", "import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.6\";\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)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? 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 === \"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\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kCAA6B;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,QAAI,0CAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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;;;AdVA,IAAM,WAAW,aAAa,MAAM,QAAQ;", + "names": ["DEFAULTS", "endpoint"] +} diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/defaults.js similarity index 89% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/defaults.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/defaults.js index 5f65ced4d8..43d620c3de 100644 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/defaults.js +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -1,5 +1,5 @@ import { getUserAgent } from "universal-user-agent"; -import { VERSION } from "./version.js"; +import { VERSION } from "./version"; const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; const DEFAULTS = { method: "GET", diff --git a/node_modules/@octokit/auth-app/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 similarity index 55% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js index e67c9e5f05..f3c4f4b271 100644 --- a/node_modules/@octokit/auth-app/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 @@ -1,6 +1,6 @@ -import { DEFAULTS } from "./defaults.js"; -import { merge } from "./merge.js"; -import { parse } from "./parse.js"; +import { DEFAULTS } from "./defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; function endpointWithDefaults(defaults, route, options) { return parse(merge(defaults, route, options)); } 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 0000000000..b1d45e34d9 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,6 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +const endpoint = withDefaults(null, DEFAULTS); +export { + endpoint +}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/merge.js similarity index 88% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/merge.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/merge.js index cf1b37ef6c..baf74698b0 100644 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/merge.js +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/merge.js @@ -1,6 +1,6 @@ -import { lowercaseKeys } from "./util/lowercase-keys.js"; -import { mergeDeep } from "./util/merge-deep.js"; -import { removeUndefinedProperties } from "./util/remove-undefined-properties.js"; +import { lowercaseKeys } from "./util/lowercase-keys"; +import { mergeDeep } from "./util/merge-deep"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties"; function merge(defaults, route, options) { if (typeof route === "string") { let [method, url] = route.split(" "); diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/parse.js similarity index 93% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/parse.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/parse.js index f3df8176a0..80b7976261 100644 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/parse.js +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/parse.js @@ -1,7 +1,7 @@ -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"; +import { addQueryParameters } from "./util/add-query-parameters"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names"; +import { omit } from "./util/omit"; +import { parseUrl } from "./util/url-template"; function parse(options) { let method = options.method.toUpperCase(); let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js diff --git a/node_modules/@octokit/auth-app/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 similarity index 75% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js index 6ae73a6c3d..44b5eb2a6c 100644 --- a/node_modules/@octokit/auth-app/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 @@ -1,8 +1,11 @@ function isPlainObject(value) { - if (typeof value !== "object" || value === null) return false; - if (Object.prototype.toString.call(value) !== "[object Object]") return false; + 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; + 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); } diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js diff --git a/node_modules/@octokit/auth-app/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 similarity index 57% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js index bbfef8703c..c165445621 100644 --- a/node_modules/@octokit/auth-app/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 @@ -1,10 +1,12 @@ -import { isPlainObject } from "./is-plain-object.js"; +import { isPlainObject } from "./is-plain-object"; function mergeDeep(defaults, options) { const result = Object.assign({}, defaults); Object.keys(options).forEach((key) => { if (isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { [key]: options[key] }); - else result[key] = mergeDeep(defaults[key], options[key]); + 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] }); } diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/omit.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/omit.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/omit.js diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/url-template.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/url-template.js 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 0000000000..3c33bbffc4 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "9.0.6"; +export { + VERSION +}; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/with-defaults.js similarity index 71% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/with-defaults.js index 5551d42b39..6d508f03c6 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -1,6 +1,6 @@ -import { endpointWithDefaults } from "./endpoint-with-defaults.js"; -import { merge } from "./merge.js"; -import { parse } from "./parse.js"; +import { endpointWithDefaults } from "./endpoint-with-defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; function withDefaults(oldDefaults, newDefaults) { const DEFAULTS = merge(oldDefaults, newDefaults); const endpoint = endpointWithDefaults.bind(null, DEFAULTS); diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/defaults.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/defaults.d.ts diff --git a/node_modules/@octokit/app/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 similarity index 85% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts index ec25627cd2..c36732e97c 100644 --- a/node_modules/@octokit/app/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 @@ -1,3 +1,3 @@ import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; +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/auth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/index.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/merge.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/merge.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/merge.d.ts diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/parse.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/parse.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/parse.d.ts diff --git a/node_modules/@octokit/auth-app/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 similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts diff --git a/node_modules/@octokit/auth-app/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 similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts diff --git a/node_modules/@octokit/auth-app/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 similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts diff --git a/node_modules/@octokit/auth-app/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 similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts diff --git a/node_modules/@octokit/auth-app/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 similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts diff --git a/node_modules/@octokit/auth-app/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 similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts diff --git a/node_modules/@octokit/auth-app/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 similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts 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 0000000000..e959629368 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "9.0.6"; diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-web/index.js similarity index 97% rename from node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle/index.js rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-web/index.js index 77f055c151..aa82fa082c 100644 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-bundle/index.js +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-web/index.js @@ -2,7 +2,7 @@ import { getUserAgent } from "universal-user-agent"; // pkg/dist-src/version.js -var VERSION = "0.0.0-development"; +var VERSION = "9.0.6"; // pkg/dist-src/defaults.js var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; @@ -31,10 +31,13 @@ function lowercaseKeys(object) { // 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; + 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; + 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); } @@ -44,8 +47,10 @@ 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]); + 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] }); } diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-web/index.js.map new file mode 100644 index 0000000000..ab12861a00 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-web/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\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.6\";\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)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? 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 === \"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\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n", "import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n"], + "mappings": ";AAAA,SAAS,oBAAoB;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,IAAI,aAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/package.json b/node_modules/@octokit/core/node_modules/@octokit/endpoint/package.json new file mode 100644 index 0000000000..7b6a76f97d --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,45 @@ +{ + "name": "@octokit/endpoint", + "version": "9.0.6", + "publishConfig": { + "access": "public" + }, + "description": "Turns REST API endpoints into generic request options", + "repository": "github:octokit/endpoint.js", + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/tsconfig": "^2.0.0", + "@types/jest": "^29.0.0", + "esbuild": "^0.19.0", + "glob": "^10.2.7", + "jest": "^29.0.0", + "prettier": "3.1.0", + "semantic-release": "^22.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE deleted file mode 100644 index c61fbbe5ae..0000000000 --- a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2020 Gregor Martynus - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md deleted file mode 100644 index 9da833cfb9..0000000000 --- a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @octokit/openapi-types - -> Generated TypeScript definitions based on GitHub's OpenAPI spec - -This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) - -## Usage - -```ts -import { components } from "@octokit/openapi-types"; - -type Repository = components["schemas"]["full-repository"]; -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json deleted file mode 100644 index 24484a5eb5..0000000000 --- a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@octokit/openapi-types", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", - "repository": { - "type": "git", - "url": "https://github.com/octokit/openapi-types.ts.git", - "directory": "packages/openapi-types" - }, - "publishConfig": { - "access": "public" - }, - "version": "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/core/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/types.d.ts deleted file mode 100644 index 88dc62de8b..0000000000 --- a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/types.d.ts +++ /dev/null @@ -1,47095 +0,0 @@ -/** - * 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/auth-oauth-user/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/request-error/LICENSE similarity index 100% rename from node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/LICENSE rename to node_modules/@octokit/core/node_modules/@octokit/request-error/LICENSE diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/core/node_modules/@octokit/request-error/README.md similarity index 73% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/README.md rename to node_modules/@octokit/core/node_modules/@octokit/request-error/README.md index df15c6d35a..cdd3695572 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/README.md +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/README.md @@ -1,4 +1,4 @@ -# request-error.js +# http-error.js > Error class for Octokit request errors @@ -28,19 +28,14 @@ Node Install with npm install @octokit/request-error ```js -import { RequestError } from "@octokit/request-error"; +const { RequestError } = require("@octokit/request-error"); +// or: 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: { diff --git a/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 0000000000..9e50e4389a --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,92 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + RequestError: () => RequestError +}); +module.exports = __toCommonJS(dist_src_exports); +var import_deprecation = require("deprecation"); +var import_once = __toESM(require("once")); +var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var RequestError = class extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(?; + 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 0000000000..4d084aa188 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,9 @@ +import type { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +export type RequestErrorOptions = { + /** @deprecated set `response` instead */ + headers?: ResponseHeaders; + request: RequestOptions; +} | { + response: OctokitResponse; + request: RequestOptions; +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000000..f13e8e1924 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,57 @@ +// pkg/dist-src/index.js +import { Deprecation } from "deprecation"; +import once from "once"; +var logOnceCode = once((deprecation) => console.warn(deprecation)); +var logOnceHeaders = once((deprecation) => console.warn(deprecation)); +var RequestError = class extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(?= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false, + "unpkg": "dist-web/index.js" +} diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/request/LICENSE similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/LICENSE rename to node_modules/@octokit/core/node_modules/@octokit/request/LICENSE diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/README.md b/node_modules/@octokit/core/node_modules/@octokit/request/README.md similarity index 98% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/README.md rename to node_modules/@octokit/core/node_modules/@octokit/request/README.md index be3e1cccef..6f80026f24 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/README.md +++ b/node_modules/@octokit/core/node_modules/@octokit/request/README.md @@ -87,7 +87,8 @@ Node Install with npm install @octokit/request ```js -import { request } from "@octokit/request"; +const { request } = require("@octokit/request"); +// or: import { request } from "@octokit/request"; ``` @@ -164,7 +165,7 @@ 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 { createAppAuth } = require("@octokit/auth-app"); const auth = createAppAuth({ appId: process.env.APP_ID, privateKey: process.env.PRIVATE_KEY, @@ -417,8 +418,7 @@ If the error is due to an `AbortSignal` being used, the resulting `AbortError` i Override or set default options. Example: ```js -import { request } from "@octokit/request"; -const myrequest = request.defaults({ +const myrequest = require("@octokit/request").defaults({ baseUrl: "https://github-enterprise.acme-inc.com/api/v3", headers: { "user-agent": "myApp/1.2.3", diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js new file mode 100644 index 0000000000..df0dff55d4 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js @@ -0,0 +1,224 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + request: () => request +}); +module.exports = __toCommonJS(dist_src_exports); +var import_endpoint = require("@octokit/endpoint"); +var import_universal_user_agent = require("universal-user-agent"); + +// pkg/dist-src/version.js +var VERSION = "8.4.1"; + +// pkg/dist-src/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/fetch-wrapper.js +var import_request_error = require("@octokit/request-error"); + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + var _a, _b, _c, _d; + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: (_c = requestOptions.request) == null ? void 0 : _c.redirect, + headers: requestOptions.headers, + signal: (_d = requestOptions.request) == null ? void 0 : _d.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new import_request_error.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new import_request_error.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new import_request_error.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof import_request_error.RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new import_request_error.RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(import_endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + } +}); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + request +}); diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js.map new file mode 100644 index 0000000000..1b1ff8d263 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/is-plain-object.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nimport withDefaults from \"./with-defaults.js\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.4.1\";\nexport {\n VERSION\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response.js\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n redirect: requestOptions.request?.redirect,\n headers: requestOptions.headers,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json().catch(() => response.text()).catch(() => \"\");\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 let suffix;\n if (\"documentation_url\" in data) {\n suffix = ` - ${data.documentation_url}`;\n } else {\n suffix = \"\";\n }\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}${suffix}`;\n }\n return `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper.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;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;AACzB,kCAA6B;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,2BAA6B;;;ACD7B,SAAS,kBAAkB,UAAU;AACnC,SAAO,SAAS,YAAY;AAC9B;;;ADCA,SAAS,aAAa,gBAAgB;AAHtC;AAIE,QAAM,MAAM,eAAe,WAAW,eAAe,QAAQ,MAAM,eAAe,QAAQ,MAAM;AAChG,QAAM,6BAA2B,oBAAe,YAAf,mBAAwB,8BAA6B;AACtF,MAAI,cAAc,eAAe,IAAI,KAAK,MAAM,QAAQ,eAAe,IAAI,GAAG;AAC5E,mBAAe,OAAO,KAAK,UAAU,eAAe,IAAI;AAAA,EAC1D;AACA,MAAI,UAAU,CAAC;AACf,MAAI;AACJ,MAAI;AACJ,MAAI,EAAE,MAAM,IAAI;AAChB,OAAI,oBAAe,YAAf,mBAAwB,OAAO;AACjC,YAAQ,eAAe,QAAQ;AAAA,EACjC;AACA,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,eAAe,KAAK;AAAA,IAC/B,QAAQ,eAAe;AAAA,IACvB,MAAM,eAAe;AAAA,IACrB,WAAU,oBAAe,YAAf,mBAAwB;AAAA,IAClC,SAAS,eAAe;AAAA,IACxB,SAAQ,oBAAe,YAAf,mBAAwB;AAAA;AAAA;AAAA,IAGhC,GAAG,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,EAC7C,CAAC,EAAE,KAAK,OAAO,aAAa;AAC1B,UAAM,SAAS;AACf,aAAS,SAAS;AAClB,eAAW,eAAe,SAAS,SAAS;AAC1C,cAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AAAA,IACzC;AACA,QAAI,iBAAiB,SAAS;AAC5B,YAAM,UAAU,QAAQ,QAAQ,QAAQ,KAAK,MAAM,+BAA+B;AAClF,YAAM,kBAAkB,WAAW,QAAQ,IAAI;AAC/C,UAAI;AAAA,QACF,uBAAuB,eAAe,MAAM,IAAI,eAAe,GAAG,qDAAqD,QAAQ,MAAM,GAAG,kBAAkB,SAAS,eAAe,KAAK,EAAE;AAAA,MAC3L;AAAA,IACF;AACA,QAAI,WAAW,OAAO,WAAW,KAAK;AACpC;AAAA,IACF;AACA,QAAI,eAAe,WAAW,QAAQ;AACpC,UAAI,SAAS,KAAK;AAChB;AAAA,MACF;AACA,YAAM,IAAI,kCAAa,SAAS,YAAY,QAAQ;AAAA,QAClD,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,WAAW,KAAK;AAClB,YAAM,IAAI,kCAAa,gBAAgB,QAAQ;AAAA,QAC7C,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,MAAM,gBAAgB,QAAQ;AAAA,QACtC;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,UAAU,KAAK;AACjB,YAAM,OAAO,MAAM,gBAAgB,QAAQ;AAC3C,YAAM,QAAQ,IAAI,kCAAa,eAAe,IAAI,GAAG,QAAQ;AAAA,QAC3D,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AACD,YAAM;AAAA,IACR;AACA,WAAO,2BAA2B,MAAM,gBAAgB,QAAQ,IAAI,SAAS;AAAA,EAC/E,CAAC,EAAE,KAAK,CAAC,SAAS;AAChB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,QAAI,iBAAiB;AACnB,YAAM;AAAA,aACC,MAAM,SAAS;AACtB,YAAM;AACR,QAAI,UAAU,MAAM;AACpB,QAAI,MAAM,SAAS,eAAe,WAAW,OAAO;AAClD,UAAI,MAAM,iBAAiB,OAAO;AAChC,kBAAU,MAAM,MAAM;AAAA,MACxB,WAAW,OAAO,MAAM,UAAU,UAAU;AAC1C,kBAAU,MAAM;AAAA,MAClB;AAAA,IACF;AACA,UAAM,IAAI,kCAAa,SAAS,KAAK;AAAA,MACnC,SAAS;AAAA,IACX,CAAC;AAAA,EACH,CAAC;AACH;AACA,eAAe,gBAAgB,UAAU;AACvC,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,MAAI,oBAAoB,KAAK,WAAW,GAAG;AACzC,WAAO,SAAS,KAAK,EAAE,MAAM,MAAM,SAAS,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,EACpE;AACA,MAAI,CAAC,eAAe,yBAAyB,KAAK,WAAW,GAAG;AAC9D,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,SAAO,kBAAU,QAAQ;AAC3B;AACA,SAAS,eAAe,MAAM;AAC5B,MAAI,OAAO,SAAS;AAClB,WAAO;AACT,MAAI;AACJ,MAAI,uBAAuB,MAAM;AAC/B,aAAS,MAAM,KAAK,iBAAiB;AAAA,EACvC,OAAO;AACL,aAAS;AAAA,EACX;AACA,MAAI,aAAa,MAAM;AACrB,QAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,aAAO,GAAG,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM;AAAA,IAChF;AACA,WAAO,GAAG,KAAK,OAAO,GAAG,MAAM;AAAA,EACjC;AACA,SAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAC/C;;;AEvIA,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;;;ALnBA,IAAM,UAAU,aAAa,0BAAU;AAAA,EACrC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,QAAI,0CAAa,CAAC;AAAA,EAC/D;AACF,CAAC;", + "names": ["endpoint", "request"] +} diff --git a/node_modules/@octokit/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 0000000000..e2b168e295 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,140 @@ +import { isPlainObject } from "./is-plain-object.js"; +import { RequestError } from "@octokit/request-error"; +import getBuffer from "./get-buffer-response.js"; +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if (requestOptions.request?.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: requestOptions.request?.redirect, + headers: requestOptions.headers, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBuffer(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} +export { + fetchWrapper as default +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/get-buffer-response.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/get-buffer-response.js new file mode 100644 index 0000000000..792c895a0f --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/get-buffer-response.js @@ -0,0 +1,6 @@ +function getBufferResponse(response) { + return response.arrayBuffer(); +} +export { + getBufferResponse as default +}; diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/index.js similarity index 56% rename from node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/defaults.js rename to node_modules/@octokit/core/node_modules/@octokit/request/dist-src/index.js index 33b14b0ab8..3f8e1ae9a4 100644 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/dist-src/defaults.js +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/index.js @@ -1,10 +1,12 @@ +import { endpoint } from "@octokit/endpoint"; import { getUserAgent } from "universal-user-agent"; import { VERSION } from "./version.js"; -var defaults_default = { +import withDefaults from "./with-defaults.js"; +const request = withDefaults(endpoint, { headers: { "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` } -}; +}); export { - defaults_default as default + request }; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/is-plain-object.js similarity index 75% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js rename to node_modules/@octokit/core/node_modules/@octokit/request/dist-src/is-plain-object.js index 6ae73a6c3d..44b5eb2a6c 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/is-plain-object.js @@ -1,8 +1,11 @@ function isPlainObject(value) { - if (typeof value !== "object" || value === null) return false; - if (Object.prototype.toString.call(value) !== "[object Object]") return false; + 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; + 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); } 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 0000000000..64438de827 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "8.4.1"; +export { + VERSION +}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/with-defaults.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-src/with-defaults.js rename to node_modules/@octokit/core/node_modules/@octokit/request/dist-src/with-defaults.js 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 0000000000..eaa77c41f4 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,9 @@ +import type { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType): Promise<{ + status: number; + url: string; + headers: { + [header: string]: string; + }; + data: any; +}>; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts new file mode 100644 index 0000000000..26f1852791 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts @@ -0,0 +1 @@ +export default function getBufferResponse(response: Response): Promise; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/index.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/request/dist-types/index.d.ts diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/request/dist-types/is-plain-object.d.ts 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 0000000000..386929c965 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "8.4.1"; diff --git a/node_modules/@octokit/app/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 similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-types/with-defaults.d.ts rename to node_modules/@octokit/core/node_modules/@octokit/request/dist-types/with-defaults.d.ts diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js new file mode 100644 index 0000000000..25e5750388 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js @@ -0,0 +1,198 @@ +// pkg/dist-src/index.js +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "8.4.1"; + +// 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"; + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if (requestOptions.request?.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: requestOptions.request?.redirect, + headers: requestOptions.headers, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}); +export { + request +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js.map new file mode 100644 index 0000000000..92e1150664 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/is-plain-object.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nimport withDefaults from \"./with-defaults.js\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.4.1\";\nexport {\n VERSION\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response.js\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n redirect: requestOptions.request?.redirect,\n headers: requestOptions.headers,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json().catch(() => response.text()).catch(() => \"\");\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 let suffix;\n if (\"documentation_url\" in data) {\n suffix = ` - ${data.documentation_url}`;\n } else {\n suffix = \"\";\n }\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}${suffix}`;\n }\n return `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper.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;AACzB,SAAS,oBAAoB;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,SAAS,oBAAoB;;;ACD7B,SAAS,kBAAkB,UAAU;AACnC,SAAO,SAAS,YAAY;AAC9B;;;ADCA,SAAS,aAAa,gBAAgB;AACpC,QAAM,MAAM,eAAe,WAAW,eAAe,QAAQ,MAAM,eAAe,QAAQ,MAAM;AAChG,QAAM,2BAA2B,eAAe,SAAS,6BAA6B;AACtF,MAAI,cAAc,eAAe,IAAI,KAAK,MAAM,QAAQ,eAAe,IAAI,GAAG;AAC5E,mBAAe,OAAO,KAAK,UAAU,eAAe,IAAI;AAAA,EAC1D;AACA,MAAI,UAAU,CAAC;AACf,MAAI;AACJ,MAAI;AACJ,MAAI,EAAE,MAAM,IAAI;AAChB,MAAI,eAAe,SAAS,OAAO;AACjC,YAAQ,eAAe,QAAQ;AAAA,EACjC;AACA,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,eAAe,KAAK;AAAA,IAC/B,QAAQ,eAAe;AAAA,IACvB,MAAM,eAAe;AAAA,IACrB,UAAU,eAAe,SAAS;AAAA,IAClC,SAAS,eAAe;AAAA,IACxB,QAAQ,eAAe,SAAS;AAAA;AAAA;AAAA,IAGhC,GAAG,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,EAC7C,CAAC,EAAE,KAAK,OAAO,aAAa;AAC1B,UAAM,SAAS;AACf,aAAS,SAAS;AAClB,eAAW,eAAe,SAAS,SAAS;AAC1C,cAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AAAA,IACzC;AACA,QAAI,iBAAiB,SAAS;AAC5B,YAAM,UAAU,QAAQ,QAAQ,QAAQ,KAAK,MAAM,+BAA+B;AAClF,YAAM,kBAAkB,WAAW,QAAQ,IAAI;AAC/C,UAAI;AAAA,QACF,uBAAuB,eAAe,MAAM,IAAI,eAAe,GAAG,qDAAqD,QAAQ,MAAM,GAAG,kBAAkB,SAAS,eAAe,KAAK,EAAE;AAAA,MAC3L;AAAA,IACF;AACA,QAAI,WAAW,OAAO,WAAW,KAAK;AACpC;AAAA,IACF;AACA,QAAI,eAAe,WAAW,QAAQ;AACpC,UAAI,SAAS,KAAK;AAChB;AAAA,MACF;AACA,YAAM,IAAI,aAAa,SAAS,YAAY,QAAQ;AAAA,QAClD,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,WAAW,KAAK;AAClB,YAAM,IAAI,aAAa,gBAAgB,QAAQ;AAAA,QAC7C,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,MAAM,gBAAgB,QAAQ;AAAA,QACtC;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,UAAU,KAAK;AACjB,YAAM,OAAO,MAAM,gBAAgB,QAAQ;AAC3C,YAAM,QAAQ,IAAI,aAAa,eAAe,IAAI,GAAG,QAAQ;AAAA,QAC3D,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AACD,YAAM;AAAA,IACR;AACA,WAAO,2BAA2B,MAAM,gBAAgB,QAAQ,IAAI,SAAS;AAAA,EAC/E,CAAC,EAAE,KAAK,CAAC,SAAS;AAChB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,QAAI,iBAAiB;AACnB,YAAM;AAAA,aACC,MAAM,SAAS;AACtB,YAAM;AACR,QAAI,UAAU,MAAM;AACpB,QAAI,MAAM,SAAS,eAAe,WAAW,OAAO;AAClD,UAAI,MAAM,iBAAiB,OAAO;AAChC,kBAAU,MAAM,MAAM;AAAA,MACxB,WAAW,OAAO,MAAM,UAAU,UAAU;AAC1C,kBAAU,MAAM;AAAA,MAClB;AAAA,IACF;AACA,UAAM,IAAI,aAAa,SAAS,KAAK;AAAA,MACnC,SAAS;AAAA,IACX,CAAC;AAAA,EACH,CAAC;AACH;AACA,eAAe,gBAAgB,UAAU;AACvC,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,MAAI,oBAAoB,KAAK,WAAW,GAAG;AACzC,WAAO,SAAS,KAAK,EAAE,MAAM,MAAM,SAAS,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,EACpE;AACA,MAAI,CAAC,eAAe,yBAAyB,KAAK,WAAW,GAAG;AAC9D,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,SAAO,kBAAU,QAAQ;AAC3B;AACA,SAAS,eAAe,MAAM;AAC5B,MAAI,OAAO,SAAS;AAClB,WAAO;AACT,MAAI;AACJ,MAAI,uBAAuB,MAAM;AAC/B,aAAS,MAAM,KAAK,iBAAiB;AAAA,EACvC,OAAO;AACL,aAAS;AAAA,EACX;AACA,MAAI,aAAa,MAAM;AACrB,QAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,aAAO,GAAG,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM;AAAA,IAChF;AACA,WAAO,GAAG,KAAK,OAAO,GAAG,MAAM;AAAA,EACjC;AACA,SAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAC/C;;;AEvIA,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;;;ALnBA,IAAM,UAAU,aAAa,UAAU;AAAA,EACrC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,IAAI,aAAa,CAAC;AAAA,EAC/D;AACF,CAAC;", + "names": ["endpoint", "request"] +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/package.json b/node_modules/@octokit/core/node_modules/@octokit/request/package.json new file mode 100644 index 0000000000..acc2584b48 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/package.json @@ -0,0 +1,55 @@ +{ + "name": "@octokit/request", + "version": "8.4.1", + "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": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth-app": "^6.0.0", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.2.4", + "@types/jest": "^29.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^20.0.0", + "@types/once": "^1.4.0", + "esbuild": "^0.20.0", + "fetch-mock": "npm:@gr2m/fetch-mock@^9.11.0-pull-request-644.1", + "glob": "^10.2.4", + "jest": "^29.0.0", + "lolex": "^6.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/node_modules/@octokit/core/package.json b/node_modules/@octokit/core/package.json index 548e76c9e0..5220656167 100644 --- a/node_modules/@octokit/core/package.json +++ b/node_modules/@octokit/core/package.json @@ -1,14 +1,12 @@ { "name": "@octokit/core", + "version": "5.2.0", + "publishConfig": { + "access": "public", + "provenance": true + }, "description": "Extendable client for GitHub's REST & GraphQL APIs", - "version": "3.6.0", - "license": "MIT", - "files": [ - "dist-*/", - "bin/" - ], - "pika": true, - "sideEffects": false, + "repository": "github:octokit/core.js", "keywords": [ "octokit", "github", @@ -16,42 +14,51 @@ "sdk", "toolkit" ], - "repository": "github:octokit/core.js", + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" }, "devDependencies": { - "@octokit/auth": "^3.0.1", - "@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", + "@octokit/auth-action": "^4.1.0", + "@octokit/auth-app": "^6.0.0", + "@octokit/auth-oauth-app": "^7.1.0", + "@octokit/tsconfig": "^2.0.0", + "@sinonjs/fake-timers": "^11.2.2", "@types/fetch-mock": "^7.3.1", - "@types/jest": "^27.0.0", + "@types/jest": "^29.0.0", "@types/lolex": "^5.1.0", - "@types/node": "^14.0.4", - "fetch-mock": "^9.0.0", - "http-proxy-agent": "^5.0.0", - "jest": "^27.0.0", - "lolex": "^6.0.0", - "prettier": "2.4.1", - "proxy": "^1.0.1", - "semantic-release": "^18.0.0", + "@types/node": "^20.0.0", + "@types/sinonjs__fake-timers": "^8.1.5", + "esbuild": "^0.19.0", + "fetch-mock": "npm:@gr2m/fetch-mock@9.11.0-pull-request-644.1", + "glob": "^10.2.5", + "http-proxy-agent": "^7.0.0", + "jest": "^29.0.0", + "prettier": "3.2.4", + "proxy": "^2.0.0", + "semantic-release": "^23.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^27.0.0", - "typescript": "^4.0.2" + "ts-jest": "^29.0.0", + "typescript": "^5.0.0", + "undici": "^6.0.0" }, - "publishConfig": { - "access": "public" + "engines": { + "node": ">= 18" }, - "source": "dist-src/index.js", - "types": "dist-types/index.d.ts", + "files": [ + "dist-*/**", + "bin/**" + ], "main": "dist-node/index.js", - "module": "dist-web/index.js" + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "source": "dist-src/index.js", + "sideEffects": false } diff --git a/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/endpoint/README.md index 1e5153fae2..164f60d1ee 100644 --- a/node_modules/@octokit/endpoint/README.md +++ b/node_modules/@octokit/endpoint/README.md @@ -3,7 +3,7 @@ > 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) +[![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. @@ -32,11 +32,11 @@ Browsers -Load @octokit/endpoint directly from cdn.skypack.dev - +Load @octokit/endpoint directly from esm.sh + ```html ``` @@ -48,8 +48,7 @@ Node Install with npm install @octokit/endpoint ```js -const { endpoint } = require("@octokit/endpoint"); -// or: import { endpoint } from "@octokit/endpoint"; +import { endpoint } from "@octokit/endpoint"; ``` @@ -96,6 +95,9 @@ got[options.method](url, options); 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)` @@ -184,17 +186,6 @@ axios(requestOptions); Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. - - - options.mediaType.previews - - - Array of Strings - - - Name of previews, such as mercy, symmetra, or scarlet-witch. See API Previews. If options.mediaType.previews was set as default, the new previews will be merged into the default ones. Setting options.mediaType.previews will amend the headers.accept value. options.mediaType.previews will be merged with an existing array set using .defaults(). - - options.data @@ -412,7 +403,7 @@ endpoint( authorization: `token 0000000000000000000000000000000000000001`, }, data: "Hello, world!", - } + }, ); ``` diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/endpoint/dist-bundle/index.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-bundle/index.js rename to node_modules/@octokit/endpoint/dist-bundle/index.js diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/endpoint/dist-bundle/index.js.map similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-bundle/index.js.map rename to node_modules/@octokit/endpoint/dist-bundle/index.js.map diff --git a/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/endpoint/dist-src/defaults.js index 456e586ad1..5f65ced4d8 100644 --- a/node_modules/@octokit/endpoint/dist-src/defaults.js +++ b/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -1,17 +1,17 @@ import { getUserAgent } from "universal-user-agent"; -import { VERSION } from "./version"; +import { VERSION } from "./version.js"; const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; -// DEFAULTS has all properties set that EndpointOptions has, except url. -// So we use RequestParameters and add method as additional required property. -export const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent, - }, - mediaType: { - format: "", - previews: [], - }, +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" + } +}; +export { + DEFAULTS }; diff --git a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js index 5763758faa..e67c9e5f05 100644 --- a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -1,5 +1,9 @@ -import { merge } from "./merge"; -import { parse } from "./parse"; -export function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); +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/endpoint/dist-src/index.js b/node_modules/@octokit/endpoint/dist-src/index.js index 599917f98f..7d60502d06 100644 --- a/node_modules/@octokit/endpoint/dist-src/index.js +++ b/node_modules/@octokit/endpoint/dist-src/index.js @@ -1,3 +1,6 @@ -import { withDefaults } from "./with-defaults"; -import { DEFAULTS } from "./defaults"; -export const endpoint = withDefaults(null, DEFAULTS); +import { withDefaults } from "./with-defaults.js"; +import { DEFAULTS } from "./defaults.js"; +const endpoint = withDefaults(null, DEFAULTS); +export { + endpoint +}; diff --git a/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/endpoint/dist-src/merge.js index 1abcecfa7d..cf1b37ef6c 100644 --- a/node_modules/@octokit/endpoint/dist-src/merge.js +++ b/node_modules/@octokit/endpoint/dist-src/merge.js @@ -1,26 +1,27 @@ -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); +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); } - else { - 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)) - .concat(mergedOptions.mediaType.previews); - } - mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); - return mergedOptions; + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + } + return mergedOptions; } +export { + merge +}; diff --git a/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/endpoint/dist-src/parse.js index 6bdd1bfa74..f3df8176a0 100644 --- a/node_modules/@octokit/endpoint/dist-src/parse.js +++ b/node_modules/@octokit/endpoint/dist-src/parse.js @@ -1,81 +1,70 @@ -import { addQueryParameters } from "./util/add-query-parameters"; -import { extractUrlVariableNames } from "./util/extract-url-variable-names"; -import { omit } from "./util/omit"; -import { parseUrl } from "./util/url-template"; -export function parse(options) { - // https://fetch.spec.whatwg.org/#methods - let method = options.method.toUpperCase(); - // replace :varname with {varname} to make it RFC 6570 compatible - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, [ - "method", - "baseUrl", - "url", - "headers", - "request", - "mediaType", - ]); - // extract variable names from URL to calculate remaining variables later - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); - if (!/^http/.test(url)) { - url = options.baseUrl + url; +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(","); } - 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) { - // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw - headers.accept = headers.accept - .split(/,/) - .map((preview) => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)) - .join(","); - } - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader - .concat(options.mediaType.previews) - .map((preview) => { - const format = options.mediaType.format - ? `.${options.mediaType.format}` - : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }) - .join(","); - } + 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(","); + } } - // for GET/HEAD requests, set URL query parameters from remaining parameters - // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } } - else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } - else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } - else { - headers["content-length"] = 0; - } - } - } - // default content-type for JSON if body is set - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } - // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. - // fetch does not allow to set `content-length` header, but we can set body to an empty string - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } - // Only return body/request keys if present - return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); } +export { + parse +}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js index d26be314c0..6bdf7367c0 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 @@ -1,17 +1,16 @@ -export function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; +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 (url + - separator + - names - .map((name) => { - if (name === "q") { - return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }) - .join("&")); + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); } +export { + addQueryParameters +}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js index 3e75db2835..bd909773f8 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -1,11 +1,14 @@ -const urlVariableRegex = /\{[^}]+\}/g; +const urlVariableRegex = /\{[^{}}]+\}/g; function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); } +export { + extractUrlVariableNames +}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js rename to node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js diff --git a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js index 0780642558..9bd7bb9910 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -1,9 +1,12 @@ -export function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); } +export { + lowercaseKeys +}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js index d92aca35c6..bbfef8703c 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -1,16 +1,16 @@ -import { isPlainObject } from "is-plain-object"; -export function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach((key) => { - if (isPlainObject(options[key])) { - if (!(key in defaults)) - Object.assign(result, { [key]: options[key] }); - else - result[key] = mergeDeep(defaults[key], options[key]); - } - else { - Object.assign(result, { [key]: options[key] }); - } - }); - return result; +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/endpoint/dist-src/util/omit.js b/node_modules/@octokit/endpoint/dist-src/util/omit.js index 62450310d2..aceffe25ef 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ b/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -1,8 +1,12 @@ -export function omit(object, keysToOmit) { - return Object.keys(object) - .filter((option) => !keysToOmit.includes(option)) - .reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); +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/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js index 6b5ee5fbe3..8653027c8d 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js @@ -1,8 +1,11 @@ -export function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === undefined) { - delete obj[key]; - } +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; } - return obj; + } + return obj; } +export { + removeUndefinedProperties +}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/endpoint/dist-src/util/url-template.js index 439b3feecf..f70aa5c733 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ b/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -1,164 +1,133 @@ -// Based on https://github.com/bramstein/url-template, licensed under BSD -// TODO: create separate package. -// -// Copyright (c) 2012-2014, Bram Stein -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/* istanbul ignore file */ function encodeReserved(str) { - return str - .split(/(%[0-9A-Fa-f]{2})/g) - .map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }) - .join(""); + 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(); - }); + 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; - } + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } } function isDefined(value) { - return value !== undefined && value !== null; + return value !== void 0 && value !== null; } function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; + return operator === ";" || operator === "&" || operator === "?"; } function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || - typeof value === "number" || - typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - } - else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - }); - } - else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } - else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - tmp.push(encodeValue(operator, value)); - }); - } - else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } - else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); } + }); } - } - else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); + } 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())); } + }); } - else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } - else if (value === "") { - result.push(""); + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); } + } } - return result; + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; } -export function parseUrl(template) { - return { - expand: expand.bind(null, template), - }; +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; } function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - if (operator && operator !== "+") { - var separator = ","; - if (operator === "?") { - separator = "&"; - } - else if (operator !== "#") { - separator = operator; - } - return (values.length !== 0 ? operator : "") + values.join(separator); - } - else { - return values.join(","); - } + 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); } - else { - return encodeReserved(literal); + 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/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js index 930e2557d7..ee99f79ca0 100644 --- a/node_modules/@octokit/endpoint/dist-src/version.js +++ b/node_modules/@octokit/endpoint/dist-src/version.js @@ -1 +1,4 @@ -export const VERSION = "6.0.12"; +const VERSION = "10.1.3"; +export { + VERSION +}; diff --git a/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/endpoint/dist-src/with-defaults.js index 81baf6cfb2..5551d42b39 100644 --- a/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ b/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -1,13 +1,16 @@ -import { endpointWithDefaults } from "./endpoint-with-defaults"; -import { merge } from "./merge"; -import { parse } from "./parse"; -export function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse, - }); +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/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts index 30fcd20305..d65e889bc1 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 { EndpointDefaults } from "@octokit/types"; +import type { EndpointDefaults } from "@octokit/types"; export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts index ff39e5e726..ec25627cd2 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,3 +1,3 @@ -import { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults"; +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/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/endpoint/dist-types/merge.d.ts index b75a15ec76..f583981205 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 { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; +import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/endpoint/dist-types/parse.d.ts index fbe2144062..5d0927ae8c 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 { EndpointDefaults, RequestOptions } from "@octokit/types"; +import type { EndpointDefaults, RequestOptions } from "@octokit/types"; export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts rename to node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts diff --git a/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/endpoint/dist-types/version.d.ts index 330d47ae33..169c4ac784 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 = "6.0.12"; +export declare const VERSION = "10.1.3"; 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 6f5afd1e0e..e09354c56f 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 { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; +import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/README.md deleted file mode 100644 index 9da833cfb9..0000000000 --- a/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @octokit/openapi-types - -> Generated TypeScript definitions based on GitHub's OpenAPI spec - -This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) - -## Usage - -```ts -import { components } from "@octokit/openapi-types"; - -type Repository = components["schemas"]["full-repository"]; -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/package.json deleted file mode 100644 index 24484a5eb5..0000000000 --- a/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@octokit/openapi-types", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", - "repository": { - "type": "git", - "url": "https://github.com/octokit/openapi-types.ts.git", - "directory": "packages/openapi-types" - }, - "publishConfig": { - "access": "public" - }, - "version": "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/endpoint/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/types.d.ts deleted file mode 100644 index 88dc62de8b..0000000000 --- a/node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types/types.d.ts +++ /dev/null @@ -1,47095 +0,0 @@ -/** - * 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/oauth-methods/node_modules/universal-user-agent/.github/workflows/release.yml b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/.github/workflows/release.yml similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/.github/workflows/release.yml rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/.github/workflows/release.yml diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/.github/workflows/test.yml b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/.github/workflows/test.yml similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/.github/workflows/test.yml rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/.github/workflows/test.yml diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/.github/workflows/update-prettier.yml b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/.github/workflows/update-prettier.yml similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/.github/workflows/update-prettier.yml rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/.github/workflows/update-prettier.yml diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/CODE_OF_CONDUCT.md b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/CODE_OF_CONDUCT.md similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/CODE_OF_CONDUCT.md rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/CODE_OF_CONDUCT.md diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/LICENSE.md b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/LICENSE.md similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/LICENSE.md rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/LICENSE.md diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/README.md b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/README.md rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/index.d.ts b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.d.ts similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/index.d.ts rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.d.ts diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/index.js b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/index.js rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/index.test-d.ts b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.test-d.ts similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/index.test-d.ts rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.test-d.ts diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/package.json b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/package.json rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json diff --git a/node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/test.js b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/test.js similarity index 100% rename from node_modules/@octokit/oauth-methods/node_modules/universal-user-agent/test.js rename to node_modules/@octokit/endpoint/node_modules/universal-user-agent/test.js diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json index 4e4d425542..d19a5a7567 100644 --- a/node_modules/@octokit/endpoint/package.json +++ b/node_modules/@octokit/endpoint/package.json @@ -1,44 +1,51 @@ { "name": "@octokit/endpoint", + "version": "10.1.3", + "type": "module", + "publishConfig": { + "access": "public", + "provenance": true + }, "description": "Turns REST API endpoints into generic request options", - "version": "6.0.12", - "license": "MIT", - "files": [ - "dist-*/", - "bin/" - ], - "pika": true, - "sideEffects": false, + "repository": "github:octokit/endpoint.js", "keywords": [ "octokit", "github", "api", "rest" ], - "repository": "github:octokit/endpoint.js", - "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", "devDependencies": { - "@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/jest": "^26.0.0", - "jest": "^27.0.0", - "prettier": "2.3.1", - "semantic-release": "^17.0.0", + "@octokit/tsconfig": "^4.0.0", + "@types/node": "^22.0.0", + "@vitest/coverage-v8": "^3.0.0", + "esbuild": "^0.25.0", + "glob": "^11.0.0", + "prettier": "3.4.2", + "semantic-release": "^24.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^27.0.0-next.12", - "typescript": "^4.0.2" + "typescript": "^5.0.0", + "vitest": "^3.0.0" }, - "publishConfig": { - "access": "public" + "dependencies": { + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + }, + "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" + } }, - "source": "dist-src/index.js", - "types": "dist-types/index.d.ts", - "main": "dist-node/index.js", - "module": "dist-web/index.js" + "sideEffects": false } diff --git a/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/graphql/README.md index fe7881cf54..58b3b10de2 100644 --- a/node_modules/@octokit/graphql/README.md +++ b/node_modules/@octokit/graphql/README.md @@ -3,7 +3,7 @@ > 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%3Amaster) +[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amain) @@ -31,11 +31,11 @@ Browsers -Load `@octokit/graphql` directly from [cdn.skypack.dev](https://cdn.skypack.dev) +Load `@octokit/graphql` directly from [esm.sh](https://esm.sh) ```html ``` @@ -76,7 +76,7 @@ const { repository } = await graphql( headers: { authorization: `token secret123`, }, - } + }, ); ``` @@ -110,7 +110,7 @@ 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, }); @@ -131,7 +131,7 @@ const { repository } = await graphqlWithAuth( } } } - }` + }`, ); ``` @@ -160,7 +160,7 @@ const { lastIssues } = await graphql( headers: { authorization: `token secret123`, }, - } + }, ); ``` @@ -222,7 +222,7 @@ const { withCustomRequest } = require("@octokit/graphql"); let requestCounter = 0; const myRequest = request.defaults({ headers: { - authentication: "token secret123", + authorization: "bearer secret123", }, request: { hook(request, options) { @@ -268,7 +268,7 @@ All errors can be accessed at `error.errors`. `error.request` has the request op ```js let { graphql, GraphqlResponseError } = require("@octokit/graphql"); -graphqlt = graphql.defaults({ +graphql = graphql.defaults({ headers: { authorization: `token secret123`, }, @@ -396,7 +396,7 @@ graphql("{ viewer { login } }", { assert.strictEqual( options.body, '{"query":"{ viewer { login } }"}', - "Sends correct query" + "Sends correct query", ); return { data: {} }; }), diff --git a/node_modules/@octokit/graphql/dist-node/index.js b/node_modules/@octokit/graphql/dist-node/index.js index 6401417b54..de55f79657 100644 --- a/node_modules/@octokit/graphql/dist-node/index.js +++ b/node_modules/@octokit/graphql/dist-node/index.js @@ -1,106 +1,140 @@ -'use strict'; +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var index_exports = {}; +__export(index_exports, { + GraphqlResponseError: () => GraphqlResponseError, + graphql: () => graphql2, + withCustomRequest: () => withCustomRequest +}); +module.exports = __toCommonJS(index_exports); +var import_request3 = require("@octokit/request"); +var import_universal_user_agent = require("universal-user-agent"); -Object.defineProperty(exports, '__esModule', { value: true }); +// pkg/dist-src/version.js +var VERSION = "7.1.1"; -var request = require('@octokit/request'); -var universalUserAgent = require('universal-user-agent'); +// pkg/dist-src/with-defaults.js +var import_request2 = require("@octokit/request"); -const VERSION = "4.8.0"; +// pkg/dist-src/graphql.js +var import_request = require("@octokit/request"); +// pkg/dist-src/error.js function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); } - -class GraphqlResponseError extends Error { - constructor(request, headers, response) { +var GraphqlResponseError = class extends Error { + constructor(request2, headers, response) { super(_buildMessageForResponseErrors(response)); - this.request = request; + this.request = request2; this.headers = headers; this.response = response; - this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. - + this.name = "GraphqlResponseError"; this.errors = response.errors; - this.data = response.data; // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - + this.data = response.data; if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } } - -} - -const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, query, options) { +}; + +// pkg/dist-src/graphql.js +var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" +]; +var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request2, query, options) { if (options) { if (typeof query === "string" && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + 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`)); + 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) => { + 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; - + }, {}); + 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 request(requestOptions).then(response => { + 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); + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); } - return response.data.data; }); } -function withDefaults(request$1, newDefaults) { - const newRequest = request$1.defaults(newDefaults); - +// 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: request.request.endpoint + endpoint: newRequest.endpoint }); } -const graphql$1 = withDefaults(request.request, { +// pkg/dist-src/index.js +var graphql2 = withDefaults(import_request3.request, { headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` }, method: "POST", url: "/graphql" @@ -111,8 +145,9 @@ function withCustomRequest(customRequest) { url: "/graphql" }); } - -exports.GraphqlResponseError = GraphqlResponseError; -exports.graphql = graphql$1; -exports.withCustomRequest = withCustomRequest; -//# sourceMappingURL=index.js.map +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + GraphqlResponseError, + graphql, + withCustomRequest +}); diff --git a/node_modules/@octokit/graphql/dist-node/index.js.map b/node_modules/@octokit/graphql/dist-node/index.js.map index 873a8d4e6e..9e13030833 100644 --- a/node_modules/@octokit/graphql/dist-node/index.js.map +++ b/node_modules/@octokit/graphql/dist-node/index.js.map @@ -1 +1,7 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\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 }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).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 // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\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(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function 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: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","_buildMessageForResponseErrors","data","errors","map","e","message","join","GraphqlResponseError","Error","constructor","request","headers","response","name","captureStackTrace","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","key","includes","parsedOptions","Object","assign","requestOptions","keys","reduce","result","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAP,SAASC,8BAAT,CAAwCC,IAAxC,EAA8C;AAC1C,SAAS,oDAAD,GACJA,IAAI,CAACC,MAAL,CAAYC,GAAZ,CAAiBC,CAAD,IAAQ,MAAKA,CAAC,CAACC,OAAQ,EAAvC,EAA0CC,IAA1C,CAA+C,IAA/C,CADJ;AAEH;;AACD,AAAO,MAAMC,oBAAN,SAAmCC,KAAnC,CAAyC;AAC5CC,EAAAA,WAAW,CAACC,OAAD,EAAUC,OAAV,EAAmBC,QAAnB,EAA6B;AACpC,UAAMZ,8BAA8B,CAACY,QAAD,CAApC;AACA,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,IAAL,GAAY,sBAAZ,CALoC;;AAOpC,SAAKX,MAAL,GAAcU,QAAQ,CAACV,MAAvB;AACA,SAAKD,IAAL,GAAYW,QAAQ,CAACX,IAArB,CARoC;;AAUpC;;AACA,QAAIO,KAAK,CAACM,iBAAV,EAA6B;AACzBN,MAAAA,KAAK,CAACM,iBAAN,CAAwB,IAAxB,EAA8B,KAAKL,WAAnC;AACH;AACJ;;AAf2C;;ACHhD,MAAMM,oBAAoB,GAAG,CACzB,QADyB,EAEzB,SAFyB,EAGzB,KAHyB,EAIzB,SAJyB,EAKzB,SALyB,EAMzB,OANyB,EAOzB,WAPyB,CAA7B;AASA,MAAMC,0BAA0B,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,CAAnC;AACA,MAAMC,oBAAoB,GAAG,eAA7B;AACA,AAAO,SAASC,OAAT,CAAiBR,OAAjB,EAA0BS,KAA1B,EAAiCC,OAAjC,EAA0C;AAC7C,MAAIA,OAAJ,EAAa;AACT,QAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6B,WAAWC,OAA5C,EAAqD;AACjD,aAAOC,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,4DAAX,CAAf,CAAP;AACH;;AACD,SAAK,MAAMe,GAAX,IAAkBH,OAAlB,EAA2B;AACvB,UAAI,CAACJ,0BAA0B,CAACQ,QAA3B,CAAoCD,GAApC,CAAL,EACI;AACJ,aAAOF,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,uBAAsBe,GAAI,mCAArC,CAAf,CAAP;AACH;AACJ;;AACD,QAAME,aAAa,GAAG,OAAON,KAAP,KAAiB,QAAjB,GAA4BO,MAAM,CAACC,MAAP,CAAc;AAAER,IAAAA;AAAF,GAAd,EAAyBC,OAAzB,CAA5B,GAAgED,KAAtF;AACA,QAAMS,cAAc,GAAGF,MAAM,CAACG,IAAP,CAAYJ,aAAZ,EAA2BK,MAA3B,CAAkC,CAACC,MAAD,EAASR,GAAT,KAAiB;AACtE,QAAIR,oBAAoB,CAACS,QAArB,CAA8BD,GAA9B,CAAJ,EAAwC;AACpCQ,MAAAA,MAAM,CAACR,GAAD,CAAN,GAAcE,aAAa,CAACF,GAAD,CAA3B;AACA,aAAOQ,MAAP;AACH;;AACD,QAAI,CAACA,MAAM,CAACC,SAAZ,EAAuB;AACnBD,MAAAA,MAAM,CAACC,SAAP,GAAmB,EAAnB;AACH;;AACDD,IAAAA,MAAM,CAACC,SAAP,CAAiBT,GAAjB,IAAwBE,aAAa,CAACF,GAAD,CAArC;AACA,WAAOQ,MAAP;AACH,GAVsB,EAUpB,EAVoB,CAAvB,CAZ6C;AAwB7C;;AACA,QAAME,OAAO,GAAGR,aAAa,CAACQ,OAAd,IAAyBvB,OAAO,CAACwB,QAAR,CAAiBC,QAAjB,CAA0BF,OAAnE;;AACA,MAAIhB,oBAAoB,CAACmB,IAArB,CAA0BH,OAA1B,CAAJ,EAAwC;AACpCL,IAAAA,cAAc,CAACS,GAAf,GAAqBJ,OAAO,CAACK,OAAR,CAAgBrB,oBAAhB,EAAsC,cAAtC,CAArB;AACH;;AACD,SAAOP,OAAO,CAACkB,cAAD,CAAP,CAAwBW,IAAxB,CAA8B3B,QAAD,IAAc;AAC9C,QAAIA,QAAQ,CAACX,IAAT,CAAcC,MAAlB,EAA0B;AACtB,YAAMS,OAAO,GAAG,EAAhB;;AACA,WAAK,MAAMY,GAAX,IAAkBG,MAAM,CAACG,IAAP,CAAYjB,QAAQ,CAACD,OAArB,CAAlB,EAAiD;AAC7CA,QAAAA,OAAO,CAACY,GAAD,CAAP,GAAeX,QAAQ,CAACD,OAAT,CAAiBY,GAAjB,CAAf;AACH;;AACD,YAAM,IAAIhB,oBAAJ,CAAyBqB,cAAzB,EAAyCjB,OAAzC,EAAkDC,QAAQ,CAACX,IAA3D,CAAN;AACH;;AACD,WAAOW,QAAQ,CAACX,IAAT,CAAcA,IAArB;AACH,GATM,CAAP;AAUH;;ACjDM,SAASuC,YAAT,CAAsB9B,SAAtB,EAA+B+B,WAA/B,EAA4C;AAC/C,QAAMC,UAAU,GAAGhC,SAAO,CAACiC,QAAR,CAAiBF,WAAjB,CAAnB;;AACA,QAAMG,MAAM,GAAG,CAACzB,KAAD,EAAQC,OAAR,KAAoB;AAC/B,WAAOF,OAAO,CAACwB,UAAD,EAAavB,KAAb,EAAoBC,OAApB,CAAd;AACH,GAFD;;AAGA,SAAOM,MAAM,CAACC,MAAP,CAAciB,MAAd,EAAsB;AACzBD,IAAAA,QAAQ,EAAEH,YAAY,CAACK,IAAb,CAAkB,IAAlB,EAAwBH,UAAxB,CADe;AAEzBR,IAAAA,QAAQ,EAAEY,eAAO,CAACZ;AAFO,GAAtB,CAAP;AAIH;;MCPYhB,SAAO,GAAGsB,YAAY,CAAC9B,eAAD,EAAU;AACzCC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBZ,OAAQ,IAAGgD,+BAAY,EAAG;AADzD,GADgC;AAIzCC,EAAAA,MAAM,EAAE,MAJiC;AAKzCX,EAAAA,GAAG,EAAE;AALoC,CAAV,CAA5B;AAOP,AACO,SAASY,iBAAT,CAA2BC,aAA3B,EAA0C;AAC7C,SAAOV,YAAY,CAACU,aAAD,EAAgB;AAC/BF,IAAAA,MAAM,EAAE,MADuB;AAE/BX,IAAAA,GAAG,EAAE;AAF0B,GAAhB,CAAnB;AAIH;;;;;;"} \ No newline at end of file +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"], + "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.1.1\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,iBAAAA;AAAA,EAAA;AAAA;AAAA;AAAA,IAAAC,kBAAwB;AACxB,kCAA6B;;;ACD7B,IAAM,UAAU;;;ACAhB,IAAAC,kBAAmC;;;ACAnC,qBAAmC;;;ACAnC,SAAS,+BAA+B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK,OAAO,IAAI,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI;AACvD;AACA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACvC,YAAYC,UAAS,SAAS,UAAU;AACtC,UAAM,+BAA+B,QAAQ,CAAC;AAC9C,SAAK,UAAUA;AACf,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,SAAS,SAAS;AACvB,SAAK,OAAO,SAAS;AACrB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AAAA,EACF;AACF;;;ADfA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,6BAA6B,CAAC,SAAS,UAAU,KAAK;AAC5D,IAAM,uBAAuB;AAC7B,SAAS,QAAQC,UAAS,OAAO,SAAS;AACxC,MAAI,SAAS;AACX,QAAI,OAAO,UAAU,YAAY,WAAW,SAAS;AACnD,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,4DAA4D;AAAA,MACxE;AAAA,IACF;AACA,eAAW,OAAO,SAAS;AACzB,UAAI,CAAC,2BAA2B,SAAS,GAAG,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;;;AD3DA,SAAS,aAAaC,UAAS,aAAa;AAC1C,QAAM,aAAaA,SAAQ,SAAS,WAAW;AAC/C,QAAM,SAAS,CAAC,OAAO,YAAY;AACjC,WAAO,QAAQ,YAAY,OAAO,OAAO;AAAA,EAC3C;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAU,aAAa,KAAK,MAAM,UAAU;AAAA,IAC5C,UAAU,WAAW;AAAA,EACvB,CAAC;AACH;;;AFPA,IAAMC,WAAU,aAAa,yBAAS;AAAA,EACpC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,QAAI,0CAAa,CAAC;AAAA,EAC/D;AAAA,EACA,QAAQ;AAAA,EACR,KAAK;AACP,CAAC;AAED,SAAS,kBAAkB,eAAe;AACxC,SAAO,aAAa,eAAe;AAAA,IACjC,QAAQ;AAAA,IACR,KAAK;AAAA,EACP,CAAC;AACH;", + "names": ["graphql", "import_request", "import_request", "request", "request", "request", "graphql"] +} diff --git a/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@octokit/graphql/dist-src/error.js index 182f967aa5..dd0f4e6995 100644 --- a/node_modules/@octokit/graphql/dist-src/error.js +++ b/node_modules/@octokit/graphql/dist-src/error.js @@ -1,21 +1,21 @@ function _buildMessageForResponseErrors(data) { - return (`Request failed due to following response errors:\n` + - data.errors.map((e) => ` - ${e.message}`).join("\n")); + return `Request failed due to following response errors: +` + 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) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); } + } } +export { + GraphqlResponseError +}; diff --git a/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@octokit/graphql/dist-src/graphql.js index 8297f84534..8a57f60ac6 100644 --- a/node_modules/@octokit/graphql/dist-src/graphql.js +++ b/node_modules/@octokit/graphql/dist-src/graphql.js @@ -1,52 +1,65 @@ +import { request as Request } from "@octokit/request"; import { GraphqlResponseError } from "./error"; const NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType", + "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`)); - } +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`) + ); } - 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"); + 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` + ) + ); } - 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; - }); + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys( + parsedOptions + ).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); + } + return response.data.data; + }); } +export { + graphql +}; diff --git a/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@octokit/graphql/dist-src/index.js index 2a7d06b949..4e7deb5b22 100644 --- a/node_modules/@octokit/graphql/dist-src/index.js +++ b/node_modules/@octokit/graphql/dist-src/index.js @@ -2,17 +2,22 @@ import { request } from "@octokit/request"; import { getUserAgent } from "universal-user-agent"; import { VERSION } from "./version"; import { withDefaults } from "./with-defaults"; -export const graphql = withDefaults(request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, - }, - method: "POST", - url: "/graphql", +const graphql = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` + }, + method: "POST", + url: "/graphql" }); -export { GraphqlResponseError } from "./error"; -export function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql", - }); +import { GraphqlResponseError } from "./error"; +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); } +export { + GraphqlResponseError, + graphql, + withCustomRequest +}; diff --git a/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@octokit/graphql/dist-src/version.js index 3a4f8fff63..75aca5056f 100644 --- a/node_modules/@octokit/graphql/dist-src/version.js +++ b/node_modules/@octokit/graphql/dist-src/version.js @@ -1 +1,4 @@ -export const VERSION = "4.8.0"; +const VERSION = "7.1.1"; +export { + VERSION +}; diff --git a/node_modules/@octokit/graphql/dist-src/with-defaults.js b/node_modules/@octokit/graphql/dist-src/with-defaults.js index 6ea309e3ab..853ce88fd5 100644 --- a/node_modules/@octokit/graphql/dist-src/with-defaults.js +++ b/node_modules/@octokit/graphql/dist-src/with-defaults.js @@ -1,12 +1,15 @@ import { request as Request } from "@octokit/request"; import { graphql } from "./graphql"; -export 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: Request.endpoint, - }); +function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); } +export { + withDefaults +}; diff --git a/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@octokit/graphql/dist-types/error.d.ts index 3bd37ada3b..e921bfa570 100644 --- a/node_modules/@octokit/graphql/dist-types/error.d.ts +++ b/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -1,6 +1,6 @@ -import { ResponseHeaders } from "@octokit/types"; -import { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; -declare type ServerResponseData = Required>; +import type { ResponseHeaders } from "@octokit/types"; +import type { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; +type ServerResponseData = Required>; export declare class GraphqlResponseError extends Error { readonly request: GraphQlEndpointOptions; readonly headers: ResponseHeaders; diff --git a/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/node_modules/@octokit/graphql/dist-types/graphql.d.ts index 2942b8b6ea..376e5dfe02 100644 --- a/node_modules/@octokit/graphql/dist-types/graphql.d.ts +++ b/node_modules/@octokit/graphql/dist-types/graphql.d.ts @@ -1,3 +1,3 @@ import { request as Request } from "@octokit/request"; -import { RequestParameters, GraphQlQueryResponseData } from "./types"; +import type { RequestParameters, GraphQlQueryResponseData } from "./types"; export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@octokit/graphql/dist-types/index.d.ts index 282f98ae8e..c9b22c94af 100644 --- a/node_modules/@octokit/graphql/dist-types/index.d.ts +++ b/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -1,5 +1,5 @@ import { request } from "@octokit/request"; export declare const graphql: import("./types").graphql; -export { GraphQlQueryResponseData } from "./types"; +export type { GraphQlQueryResponseData } from "./types"; export { GraphqlResponseError } from "./error"; export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@octokit/graphql/dist-types/types.d.ts index b266bdbbee..ceba025816 100644 --- a/node_modules/@octokit/graphql/dist-types/types.d.ts +++ b/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -1,11 +1,11 @@ -import { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; -export declare type GraphQlEndpointOptions = EndpointOptions & { +import type { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; +export type GraphQlEndpointOptions = EndpointOptions & { variables?: { [key: string]: unknown; }; }; -export declare type RequestParameters = RequestParametersType; -export declare type Query = string; +export type RequestParameters = RequestParametersType; +export type Query = string; export interface graphql { /** * Sends a GraphQL query request based on endpoint options @@ -30,11 +30,11 @@ export interface graphql { */ endpoint: EndpointInterface; } -export declare type GraphQlResponse = Promise; -export declare type GraphQlQueryResponseData = { +export type GraphQlResponse = Promise; +export type GraphQlQueryResponseData = { [key: string]: any; }; -export declare type GraphQlQueryResponse = { +export type GraphQlQueryResponse = { data: ResponseData; errors?: [ { diff --git a/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@octokit/graphql/dist-types/version.d.ts index e80848efd4..76a73422d6 100644 --- a/node_modules/@octokit/graphql/dist-types/version.d.ts +++ b/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "4.8.0"; +export declare const VERSION = "7.1.1"; diff --git a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts index 03edc32050..28f22dc286 100644 --- a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts +++ b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts @@ -1,3 +1,3 @@ import { request as Request } from "@octokit/request"; -import { graphql as ApiInterface, RequestParameters } from "./types"; +import type { graphql as ApiInterface, RequestParameters } from "./types"; export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/node_modules/@octokit/graphql/dist-web/index.js b/node_modules/@octokit/graphql/dist-web/index.js index 5307e2634b..2e06cd93ed 100644 --- a/node_modules/@octokit/graphql/dist-web/index.js +++ b/node_modules/@octokit/graphql/dist-web/index.js @@ -1,106 +1,126 @@ -import { request } from '@octokit/request'; -import { getUserAgent } from 'universal-user-agent'; +// pkg/dist-src/index.js +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; -const VERSION = "4.8.0"; +// pkg/dist-src/version.js +var VERSION = "7.1.1"; +// 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:\n` + - data.errors.map((e) => ` - ${e.message}`).join("\n")); + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); } -class GraphqlResponseError extends Error { - constructor(request, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; - // 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) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } +var GraphqlResponseError = class extends Error { + constructor(request2, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request2; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); } -} + } +}; -const NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType", +// pkg/dist-src/graphql.js +var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" ]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, query, options) { - if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); - } - for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) - continue; - return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); - } +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; } - 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"); + if (!result.variables) { + result.variables = {}; } - 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; - }); + 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; + }); } -function withDefaults(request$1, newDefaults) { - const newRequest = request$1.defaults(newDefaults); - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: request.endpoint, - }); +// 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 + }); } -const graphql$1 = withDefaults(request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, - }, - method: "POST", - url: "/graphql", +// 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", - }); + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); } - -export { GraphqlResponseError, graphql$1 as graphql, withCustomRequest }; -//# sourceMappingURL=index.js.map +export { + GraphqlResponseError, + graphql2 as graphql, + withCustomRequest +}; diff --git a/node_modules/@octokit/graphql/dist-web/index.js.map b/node_modules/@octokit/graphql/dist-web/index.js.map index 3c6a6ed8ca..e3292cbdcb 100644 --- a/node_modules/@octokit/graphql/dist-web/index.js.map +++ b/node_modules/@octokit/graphql/dist-web/index.js.map @@ -1 +1,7 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\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 }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).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 // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\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(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function 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: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":";;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA1C,SAAS,8BAA8B,CAAC,IAAI,EAAE;AAC9C,IAAI,QAAQ,CAAC,kDAAkD,CAAC;AAChE,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9D,CAAC;AACD,AAAO,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAChD,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,QAAQ,KAAK,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;AAC3C;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,QAAQ,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClC;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,KAAK;AACL,CAAC;;ACnBD,MAAM,oBAAoB,GAAG;AAC7B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW;AACf,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,AAAO,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE;AAC7D,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,CAAC;AAC3G,SAAS;AACT,QAAQ,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,gBAAgB,SAAS;AACzB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AAChG,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC9E,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChD,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7C,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,YAAY,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACnD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;AACA;AACA,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/E,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AACtD,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAClC,YAAY,MAAM,OAAO,GAAG,EAAE,CAAC;AAC/B,YAAY,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7D,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACrD,aAAa;AACb,YAAY,MAAM,IAAI,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACjDM,SAAS,YAAY,CAACA,SAAO,EAAE,WAAW,EAAE;AACnD,IAAI,MAAM,UAAU,GAAGA,SAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AACvC,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,QAAQ,QAAQ,EAAEC,OAAO,CAAC,QAAQ;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACPW,MAACC,SAAO,GAAG,YAAY,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,GAAG,EAAE,UAAU;AACnB,CAAC,CAAC,CAAC;AACH,AACO,SAAS,iBAAiB,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,YAAY,CAAC,aAAa,EAAE;AACvC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,UAAU;AACvB,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"], + "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.1.1\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"], + "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,oBAAoB;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,WAAWA,gBAAe;;;ACAnC,SAAS,WAAW,eAAe;;;ACAnC,SAAS,+BAA+B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK,OAAO,IAAI,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI;AACvD;AACA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACvC,YAAYC,UAAS,SAAS,UAAU;AACtC,UAAM,+BAA+B,QAAQ,CAAC;AAC9C,SAAK,UAAUA;AACf,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,SAAS,SAAS;AACvB,SAAK,OAAO,SAAS;AACrB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AAAA,EACF;AACF;;;ADfA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,6BAA6B,CAAC,SAAS,UAAU,KAAK;AAC5D,IAAM,uBAAuB;AAC7B,SAAS,QAAQC,UAAS,OAAO,SAAS;AACxC,MAAI,SAAS;AACX,QAAI,OAAO,UAAU,YAAY,WAAW,SAAS;AACnD,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,4DAA4D;AAAA,MACxE;AAAA,IACF;AACA,eAAW,OAAO,SAAS;AACzB,UAAI,CAAC,2BAA2B,SAAS,GAAG,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;;;AD3DA,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/auth-oauth-app/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/LICENSE similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/LICENSE rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/LICENSE diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/README.md similarity index 97% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/README.md rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/README.md index 164f60d1ee..07acbd1048 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/README.md +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/README.md @@ -48,7 +48,8 @@ Node Install with npm install @octokit/endpoint ```js -import { endpoint } from "@octokit/endpoint"; +const { endpoint } = require("@octokit/endpoint"); +// or: import { endpoint } from "@octokit/endpoint"; ``` @@ -95,9 +96,6 @@ got[options.method](url, options); 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)` diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-node/index.js similarity index 87% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-node/index.js index 77f055c151..f01c7ca983 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-node/index.js @@ -1,11 +1,37 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + endpoint: () => endpoint +}); +module.exports = __toCommonJS(dist_src_exports); + // pkg/dist-src/defaults.js -import { getUserAgent } from "universal-user-agent"; +var import_universal_user_agent = require("universal-user-agent"); // pkg/dist-src/version.js -var VERSION = "0.0.0-development"; +var VERSION = "9.0.6"; // pkg/dist-src/defaults.js -var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; var DEFAULTS = { method: "GET", baseUrl: "https://api.github.com", @@ -31,10 +57,13 @@ function lowercaseKeys(object) { // 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; + 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; + 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); } @@ -44,8 +73,10 @@ 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]); + 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] }); } @@ -341,6 +372,7 @@ function withDefaults(oldDefaults, newDefaults) { // pkg/dist-src/index.js var endpoint = withDefaults(null, DEFAULTS); -export { +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { endpoint -}; +}); diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-node/index.js.map new file mode 100644 index 0000000000..55aeab89eb --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../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"], + "sourcesContent": ["import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n", "import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.6\";\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)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? 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 === \"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\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kCAA6B;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,QAAI,0CAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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;;;AdVA,IAAM,WAAW,aAAa,MAAM,QAAQ;", + "names": ["DEFAULTS", "endpoint"] +} diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/defaults.js similarity index 89% rename from node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/defaults.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/defaults.js index 5f65ced4d8..43d620c3de 100644 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/dist-src/defaults.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -1,5 +1,5 @@ import { getUserAgent } from "universal-user-agent"; -import { VERSION } from "./version.js"; +import { VERSION } from "./version"; const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; const DEFAULTS = { method: "GET", diff --git a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js similarity index 55% rename from node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js index e67c9e5f05..f3c4f4b271 100644 --- a/node_modules/@octokit/app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -1,6 +1,6 @@ -import { DEFAULTS } from "./defaults.js"; -import { merge } from "./merge.js"; -import { parse } from "./parse.js"; +import { DEFAULTS } from "./defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; function endpointWithDefaults(defaults, route, options) { return parse(merge(defaults, route, options)); } diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 0000000000..b1d45e34d9 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,6 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +const endpoint = withDefaults(null, DEFAULTS); +export { + endpoint +}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/merge.js similarity index 88% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/merge.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/merge.js index cf1b37ef6c..baf74698b0 100644 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/merge.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/merge.js @@ -1,6 +1,6 @@ -import { lowercaseKeys } from "./util/lowercase-keys.js"; -import { mergeDeep } from "./util/merge-deep.js"; -import { removeUndefinedProperties } from "./util/remove-undefined-properties.js"; +import { lowercaseKeys } from "./util/lowercase-keys"; +import { mergeDeep } from "./util/merge-deep"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties"; function merge(defaults, route, options) { if (typeof route === "string") { let [method, url] = route.split(" "); diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/parse.js similarity index 93% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/parse.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/parse.js index f3df8176a0..80b7976261 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/parse.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/parse.js @@ -1,7 +1,7 @@ -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"; +import { addQueryParameters } from "./util/add-query-parameters"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names"; +import { omit } from "./util/omit"; +import { parseUrl } from "./util/url-template"; function parse(options) { let method = options.method.toUpperCase(); let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js similarity index 75% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/is-plain-object.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js index 6ae73a6c3d..44b5eb2a6c 100644 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/is-plain-object.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js @@ -1,8 +1,11 @@ function isPlainObject(value) { - if (typeof value !== "object" || value === null) return false; - if (Object.prototype.toString.call(value) !== "[object Object]") return false; + 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; + 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); } diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js similarity index 57% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js index bbfef8703c..c165445621 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -1,10 +1,12 @@ -import { isPlainObject } from "./is-plain-object.js"; +import { isPlainObject } from "./is-plain-object"; function mergeDeep(defaults, options) { const result = Object.assign({}, defaults); Object.keys(options).forEach((key) => { if (isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { [key]: options[key] }); - else result[key] = mergeDeep(defaults[key], options[key]); + 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] }); } diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/omit.js similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/omit.js diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/url-template.js similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/util/url-template.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 0000000000..3c33bbffc4 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "9.0.6"; +export { + VERSION +}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/with-defaults.js similarity index 71% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/with-defaults.js index 5551d42b39..6d508f03c6 100644 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -1,6 +1,6 @@ -import { endpointWithDefaults } from "./endpoint-with-defaults.js"; -import { merge } from "./merge.js"; -import { parse } from "./parse.js"; +import { endpointWithDefaults } from "./endpoint-with-defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; function withDefaults(oldDefaults, newDefaults) { const DEFAULTS = merge(oldDefaults, newDefaults); const endpoint = endpointWithDefaults.bind(null, DEFAULTS); diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/defaults.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/defaults.d.ts diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts similarity index 85% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts index ec25627cd2..c36732e97c 100644 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -1,3 +1,3 @@ import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; +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/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/index.d.ts diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/merge.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/merge.d.ts diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/parse.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/parse.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/version.d.ts new file mode 100644 index 0000000000..e959629368 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "9.0.6"; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts diff --git a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-web/index.js similarity index 97% rename from node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle/index.js rename to node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-web/index.js index 77f055c151..aa82fa082c 100644 --- a/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/dist-bundle/index.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-web/index.js @@ -2,7 +2,7 @@ import { getUserAgent } from "universal-user-agent"; // pkg/dist-src/version.js -var VERSION = "0.0.0-development"; +var VERSION = "9.0.6"; // pkg/dist-src/defaults.js var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; @@ -31,10 +31,13 @@ function lowercaseKeys(object) { // 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; + 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; + 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); } @@ -44,8 +47,10 @@ 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]); + 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] }); } diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-web/index.js.map new file mode 100644 index 0000000000..ab12861a00 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/dist-web/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\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.6\";\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)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? 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 === \"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\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n", "import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n"], + "mappings": ";AAAA,SAAS,oBAAoB;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,IAAI,aAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/graphql/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/package.json new file mode 100644 index 0000000000..7b6a76f97d --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,45 @@ +{ + "name": "@octokit/endpoint", + "version": "9.0.6", + "publishConfig": { + "access": "public" + }, + "description": "Turns REST API endpoints into generic request options", + "repository": "github:octokit/endpoint.js", + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/tsconfig": "^2.0.0", + "@types/jest": "^29.0.0", + "esbuild": "^0.19.0", + "glob": "^10.2.7", + "jest": "^29.0.0", + "prettier": "3.1.0", + "semantic-release": "^22.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/README.md deleted file mode 100644 index 9da833cfb9..0000000000 --- a/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @octokit/openapi-types - -> Generated TypeScript definitions based on GitHub's OpenAPI spec - -This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) - -## Usage - -```ts -import { components } from "@octokit/openapi-types"; - -type Repository = components["schemas"]["full-repository"]; -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/package.json deleted file mode 100644 index 24484a5eb5..0000000000 --- a/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@octokit/openapi-types", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", - "repository": { - "type": "git", - "url": "https://github.com/octokit/openapi-types.ts.git", - "directory": "packages/openapi-types" - }, - "publishConfig": { - "access": "public" - }, - "version": "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/graphql/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/types.d.ts deleted file mode 100644 index 88dc62de8b..0000000000 --- a/node_modules/@octokit/graphql/node_modules/@octokit/openapi-types/types.d.ts +++ /dev/null @@ -1,47095 +0,0 @@ -/** - * 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/auth-unauthenticated/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/LICENSE similarity index 100% rename from node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/LICENSE rename to node_modules/@octokit/graphql/node_modules/@octokit/request-error/LICENSE diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/README.md similarity index 73% rename from node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/README.md rename to node_modules/@octokit/graphql/node_modules/@octokit/request-error/README.md index df15c6d35a..cdd3695572 100644 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/README.md +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/README.md @@ -1,4 +1,4 @@ -# request-error.js +# http-error.js > Error class for Octokit request errors @@ -28,19 +28,14 @@ Node Install with npm install @octokit/request-error ```js -import { RequestError } from "@octokit/request-error"; +const { RequestError } = require("@octokit/request-error"); +// or: 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: { diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 0000000000..9e50e4389a --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,92 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + RequestError: () => RequestError +}); +module.exports = __toCommonJS(dist_src_exports); +var import_deprecation = require("deprecation"); +var import_once = __toESM(require("once")); +var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var RequestError = class extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(?; + constructor(message: string, statusCode: number, options: RequestErrorOptions); +} diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000000..4d084aa188 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,9 @@ +import type { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +export type RequestErrorOptions = { + /** @deprecated set `response` instead */ + headers?: ResponseHeaders; + request: RequestOptions; +} | { + response: OctokitResponse; + request: RequestOptions; +}; diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000000..f13e8e1924 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,57 @@ +// pkg/dist-src/index.js +import { Deprecation } from "deprecation"; +import once from "once"; +var logOnceCode = once((deprecation) => console.warn(deprecation)); +var logOnceHeaders = once((deprecation) => console.warn(deprecation)); +var RequestError = class extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(?= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false, + "unpkg": "dist-web/index.js" +} diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/graphql/node_modules/@octokit/request/LICENSE similarity index 100% rename from node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/LICENSE rename to node_modules/@octokit/graphql/node_modules/@octokit/request/LICENSE diff --git a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/README.md b/node_modules/@octokit/graphql/node_modules/@octokit/request/README.md similarity index 98% rename from node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/README.md rename to node_modules/@octokit/graphql/node_modules/@octokit/request/README.md index be3e1cccef..6f80026f24 100644 --- a/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/README.md +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/README.md @@ -87,7 +87,8 @@ Node Install with npm install @octokit/request ```js -import { request } from "@octokit/request"; +const { request } = require("@octokit/request"); +// or: import { request } from "@octokit/request"; ``` @@ -164,7 +165,7 @@ 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 { createAppAuth } = require("@octokit/auth-app"); const auth = createAppAuth({ appId: process.env.APP_ID, privateKey: process.env.PRIVATE_KEY, @@ -417,8 +418,7 @@ If the error is due to an `AbortSignal` being used, the resulting `AbortError` i Override or set default options. Example: ```js -import { request } from "@octokit/request"; -const myrequest = request.defaults({ +const myrequest = require("@octokit/request").defaults({ baseUrl: "https://github-enterprise.acme-inc.com/api/v3", headers: { "user-agent": "myApp/1.2.3", diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js new file mode 100644 index 0000000000..df0dff55d4 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js @@ -0,0 +1,224 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + request: () => request +}); +module.exports = __toCommonJS(dist_src_exports); +var import_endpoint = require("@octokit/endpoint"); +var import_universal_user_agent = require("universal-user-agent"); + +// pkg/dist-src/version.js +var VERSION = "8.4.1"; + +// pkg/dist-src/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/fetch-wrapper.js +var import_request_error = require("@octokit/request-error"); + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + var _a, _b, _c, _d; + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: (_c = requestOptions.request) == null ? void 0 : _c.redirect, + headers: requestOptions.headers, + signal: (_d = requestOptions.request) == null ? void 0 : _d.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new import_request_error.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new import_request_error.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new import_request_error.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof import_request_error.RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new import_request_error.RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(import_endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + } +}); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + request +}); diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js.map new file mode 100644 index 0000000000..1b1ff8d263 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/is-plain-object.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nimport withDefaults from \"./with-defaults.js\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.4.1\";\nexport {\n VERSION\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response.js\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n redirect: requestOptions.request?.redirect,\n headers: requestOptions.headers,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json().catch(() => response.text()).catch(() => \"\");\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 let suffix;\n if (\"documentation_url\" in data) {\n suffix = ` - ${data.documentation_url}`;\n } else {\n suffix = \"\";\n }\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}${suffix}`;\n }\n return `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper.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;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;AACzB,kCAA6B;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,2BAA6B;;;ACD7B,SAAS,kBAAkB,UAAU;AACnC,SAAO,SAAS,YAAY;AAC9B;;;ADCA,SAAS,aAAa,gBAAgB;AAHtC;AAIE,QAAM,MAAM,eAAe,WAAW,eAAe,QAAQ,MAAM,eAAe,QAAQ,MAAM;AAChG,QAAM,6BAA2B,oBAAe,YAAf,mBAAwB,8BAA6B;AACtF,MAAI,cAAc,eAAe,IAAI,KAAK,MAAM,QAAQ,eAAe,IAAI,GAAG;AAC5E,mBAAe,OAAO,KAAK,UAAU,eAAe,IAAI;AAAA,EAC1D;AACA,MAAI,UAAU,CAAC;AACf,MAAI;AACJ,MAAI;AACJ,MAAI,EAAE,MAAM,IAAI;AAChB,OAAI,oBAAe,YAAf,mBAAwB,OAAO;AACjC,YAAQ,eAAe,QAAQ;AAAA,EACjC;AACA,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,eAAe,KAAK;AAAA,IAC/B,QAAQ,eAAe;AAAA,IACvB,MAAM,eAAe;AAAA,IACrB,WAAU,oBAAe,YAAf,mBAAwB;AAAA,IAClC,SAAS,eAAe;AAAA,IACxB,SAAQ,oBAAe,YAAf,mBAAwB;AAAA;AAAA;AAAA,IAGhC,GAAG,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,EAC7C,CAAC,EAAE,KAAK,OAAO,aAAa;AAC1B,UAAM,SAAS;AACf,aAAS,SAAS;AAClB,eAAW,eAAe,SAAS,SAAS;AAC1C,cAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AAAA,IACzC;AACA,QAAI,iBAAiB,SAAS;AAC5B,YAAM,UAAU,QAAQ,QAAQ,QAAQ,KAAK,MAAM,+BAA+B;AAClF,YAAM,kBAAkB,WAAW,QAAQ,IAAI;AAC/C,UAAI;AAAA,QACF,uBAAuB,eAAe,MAAM,IAAI,eAAe,GAAG,qDAAqD,QAAQ,MAAM,GAAG,kBAAkB,SAAS,eAAe,KAAK,EAAE;AAAA,MAC3L;AAAA,IACF;AACA,QAAI,WAAW,OAAO,WAAW,KAAK;AACpC;AAAA,IACF;AACA,QAAI,eAAe,WAAW,QAAQ;AACpC,UAAI,SAAS,KAAK;AAChB;AAAA,MACF;AACA,YAAM,IAAI,kCAAa,SAAS,YAAY,QAAQ;AAAA,QAClD,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,WAAW,KAAK;AAClB,YAAM,IAAI,kCAAa,gBAAgB,QAAQ;AAAA,QAC7C,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,MAAM,gBAAgB,QAAQ;AAAA,QACtC;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,UAAU,KAAK;AACjB,YAAM,OAAO,MAAM,gBAAgB,QAAQ;AAC3C,YAAM,QAAQ,IAAI,kCAAa,eAAe,IAAI,GAAG,QAAQ;AAAA,QAC3D,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AACD,YAAM;AAAA,IACR;AACA,WAAO,2BAA2B,MAAM,gBAAgB,QAAQ,IAAI,SAAS;AAAA,EAC/E,CAAC,EAAE,KAAK,CAAC,SAAS;AAChB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,QAAI,iBAAiB;AACnB,YAAM;AAAA,aACC,MAAM,SAAS;AACtB,YAAM;AACR,QAAI,UAAU,MAAM;AACpB,QAAI,MAAM,SAAS,eAAe,WAAW,OAAO;AAClD,UAAI,MAAM,iBAAiB,OAAO;AAChC,kBAAU,MAAM,MAAM;AAAA,MACxB,WAAW,OAAO,MAAM,UAAU,UAAU;AAC1C,kBAAU,MAAM;AAAA,MAClB;AAAA,IACF;AACA,UAAM,IAAI,kCAAa,SAAS,KAAK;AAAA,MACnC,SAAS;AAAA,IACX,CAAC;AAAA,EACH,CAAC;AACH;AACA,eAAe,gBAAgB,UAAU;AACvC,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,MAAI,oBAAoB,KAAK,WAAW,GAAG;AACzC,WAAO,SAAS,KAAK,EAAE,MAAM,MAAM,SAAS,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,EACpE;AACA,MAAI,CAAC,eAAe,yBAAyB,KAAK,WAAW,GAAG;AAC9D,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,SAAO,kBAAU,QAAQ;AAC3B;AACA,SAAS,eAAe,MAAM;AAC5B,MAAI,OAAO,SAAS;AAClB,WAAO;AACT,MAAI;AACJ,MAAI,uBAAuB,MAAM;AAC/B,aAAS,MAAM,KAAK,iBAAiB;AAAA,EACvC,OAAO;AACL,aAAS;AAAA,EACX;AACA,MAAI,aAAa,MAAM;AACrB,QAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,aAAO,GAAG,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM;AAAA,IAChF;AACA,WAAO,GAAG,KAAK,OAAO,GAAG,MAAM;AAAA,EACjC;AACA,SAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAC/C;;;AEvIA,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;;;ALnBA,IAAM,UAAU,aAAa,0BAAU;AAAA,EACrC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,QAAI,0CAAa,CAAC;AAAA,EAC/D;AACF,CAAC;", + "names": ["endpoint", "request"] +} diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 0000000000..e2b168e295 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,140 @@ +import { isPlainObject } from "./is-plain-object.js"; +import { RequestError } from "@octokit/request-error"; +import getBuffer from "./get-buffer-response.js"; +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if (requestOptions.request?.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: requestOptions.request?.redirect, + headers: requestOptions.headers, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBuffer(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} +export { + fetchWrapper as default +}; diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/get-buffer-response.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/get-buffer-response.js new file mode 100644 index 0000000000..792c895a0f --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/get-buffer-response.js @@ -0,0 +1,6 @@ +function getBufferResponse(response) { + return response.arrayBuffer(); +} +export { + getBufferResponse as default +}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/index.js similarity index 56% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/defaults.js rename to node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/index.js index 33b14b0ab8..3f8e1ae9a4 100644 --- a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/defaults.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/index.js @@ -1,10 +1,12 @@ +import { endpoint } from "@octokit/endpoint"; import { getUserAgent } from "universal-user-agent"; import { VERSION } from "./version.js"; -var defaults_default = { +import withDefaults from "./with-defaults.js"; +const request = withDefaults(endpoint, { headers: { "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` } -}; +}); export { - defaults_default as default + request }; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/is-plain-object.js similarity index 75% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/is-plain-object.js rename to node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/is-plain-object.js index 6ae73a6c3d..44b5eb2a6c 100644 --- a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-src/is-plain-object.js +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/is-plain-object.js @@ -1,8 +1,11 @@ function isPlainObject(value) { - if (typeof value !== "object" || value === null) return false; - if (Object.prototype.toString.call(value) !== "[object Object]") return false; + 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; + 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); } diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 0000000000..64438de827 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "8.4.1"; +export { + VERSION +}; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/with-defaults.js similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-src/with-defaults.js rename to node_modules/@octokit/graphql/node_modules/@octokit/request/dist-src/with-defaults.js diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 0000000000..eaa77c41f4 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,9 @@ +import type { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType): Promise<{ + status: number; + url: string; + headers: { + [header: string]: string; + }; + data: any; +}>; diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts new file mode 100644 index 0000000000..26f1852791 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts @@ -0,0 +1 @@ +export default function getBufferResponse(response: Response): Promise; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/index.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/index.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/index.d.ts diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/is-plain-object.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/is-plain-object.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/version.d.ts new file mode 100644 index 0000000000..386929c965 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "8.4.1"; diff --git a/node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/with-defaults.d.ts similarity index 100% rename from node_modules/@octokit/auth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts rename to node_modules/@octokit/graphql/node_modules/@octokit/request/dist-types/with-defaults.d.ts diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js new file mode 100644 index 0000000000..25e5750388 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js @@ -0,0 +1,198 @@ +// pkg/dist-src/index.js +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "8.4.1"; + +// 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"; + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if (requestOptions.request?.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: requestOptions.request?.redirect, + headers: requestOptions.headers, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}); +export { + request +}; diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js.map new file mode 100644 index 0000000000..92e1150664 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/is-plain-object.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nimport withDefaults from \"./with-defaults.js\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.4.1\";\nexport {\n VERSION\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n 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\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response.js\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n redirect: requestOptions.request?.redirect,\n headers: requestOptions.headers,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json().catch(() => response.text()).catch(() => \"\");\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 let suffix;\n if (\"documentation_url\" in data) {\n suffix = ` - ${data.documentation_url}`;\n } else {\n suffix = \"\";\n }\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}${suffix}`;\n }\n return `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper.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;AACzB,SAAS,oBAAoB;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,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;;;ACTA,SAAS,oBAAoB;;;ACD7B,SAAS,kBAAkB,UAAU;AACnC,SAAO,SAAS,YAAY;AAC9B;;;ADCA,SAAS,aAAa,gBAAgB;AACpC,QAAM,MAAM,eAAe,WAAW,eAAe,QAAQ,MAAM,eAAe,QAAQ,MAAM;AAChG,QAAM,2BAA2B,eAAe,SAAS,6BAA6B;AACtF,MAAI,cAAc,eAAe,IAAI,KAAK,MAAM,QAAQ,eAAe,IAAI,GAAG;AAC5E,mBAAe,OAAO,KAAK,UAAU,eAAe,IAAI;AAAA,EAC1D;AACA,MAAI,UAAU,CAAC;AACf,MAAI;AACJ,MAAI;AACJ,MAAI,EAAE,MAAM,IAAI;AAChB,MAAI,eAAe,SAAS,OAAO;AACjC,YAAQ,eAAe,QAAQ;AAAA,EACjC;AACA,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,eAAe,KAAK;AAAA,IAC/B,QAAQ,eAAe;AAAA,IACvB,MAAM,eAAe;AAAA,IACrB,UAAU,eAAe,SAAS;AAAA,IAClC,SAAS,eAAe;AAAA,IACxB,QAAQ,eAAe,SAAS;AAAA;AAAA;AAAA,IAGhC,GAAG,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,EAC7C,CAAC,EAAE,KAAK,OAAO,aAAa;AAC1B,UAAM,SAAS;AACf,aAAS,SAAS;AAClB,eAAW,eAAe,SAAS,SAAS;AAC1C,cAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AAAA,IACzC;AACA,QAAI,iBAAiB,SAAS;AAC5B,YAAM,UAAU,QAAQ,QAAQ,QAAQ,KAAK,MAAM,+BAA+B;AAClF,YAAM,kBAAkB,WAAW,QAAQ,IAAI;AAC/C,UAAI;AAAA,QACF,uBAAuB,eAAe,MAAM,IAAI,eAAe,GAAG,qDAAqD,QAAQ,MAAM,GAAG,kBAAkB,SAAS,eAAe,KAAK,EAAE;AAAA,MAC3L;AAAA,IACF;AACA,QAAI,WAAW,OAAO,WAAW,KAAK;AACpC;AAAA,IACF;AACA,QAAI,eAAe,WAAW,QAAQ;AACpC,UAAI,SAAS,KAAK;AAChB;AAAA,MACF;AACA,YAAM,IAAI,aAAa,SAAS,YAAY,QAAQ;AAAA,QAClD,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,WAAW,KAAK;AAClB,YAAM,IAAI,aAAa,gBAAgB,QAAQ;AAAA,QAC7C,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,MAAM,gBAAgB,QAAQ;AAAA,QACtC;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,UAAU,KAAK;AACjB,YAAM,OAAO,MAAM,gBAAgB,QAAQ;AAC3C,YAAM,QAAQ,IAAI,aAAa,eAAe,IAAI,GAAG,QAAQ;AAAA,QAC3D,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AACD,YAAM;AAAA,IACR;AACA,WAAO,2BAA2B,MAAM,gBAAgB,QAAQ,IAAI,SAAS;AAAA,EAC/E,CAAC,EAAE,KAAK,CAAC,SAAS;AAChB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,QAAI,iBAAiB;AACnB,YAAM;AAAA,aACC,MAAM,SAAS;AACtB,YAAM;AACR,QAAI,UAAU,MAAM;AACpB,QAAI,MAAM,SAAS,eAAe,WAAW,OAAO;AAClD,UAAI,MAAM,iBAAiB,OAAO;AAChC,kBAAU,MAAM,MAAM;AAAA,MACxB,WAAW,OAAO,MAAM,UAAU,UAAU;AAC1C,kBAAU,MAAM;AAAA,MAClB;AAAA,IACF;AACA,UAAM,IAAI,aAAa,SAAS,KAAK;AAAA,MACnC,SAAS;AAAA,IACX,CAAC;AAAA,EACH,CAAC;AACH;AACA,eAAe,gBAAgB,UAAU;AACvC,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,MAAI,oBAAoB,KAAK,WAAW,GAAG;AACzC,WAAO,SAAS,KAAK,EAAE,MAAM,MAAM,SAAS,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,EACpE;AACA,MAAI,CAAC,eAAe,yBAAyB,KAAK,WAAW,GAAG;AAC9D,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,SAAO,kBAAU,QAAQ;AAC3B;AACA,SAAS,eAAe,MAAM;AAC5B,MAAI,OAAO,SAAS;AAClB,WAAO;AACT,MAAI;AACJ,MAAI,uBAAuB,MAAM;AAC/B,aAAS,MAAM,KAAK,iBAAiB;AAAA,EACvC,OAAO;AACL,aAAS;AAAA,EACX;AACA,MAAI,aAAa,MAAM;AACrB,QAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,aAAO,GAAG,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM;AAAA,IAChF;AACA,WAAO,GAAG,KAAK,OAAO,GAAG,MAAM;AAAA,EACjC;AACA,SAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAC/C;;;AEvIA,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;;;ALnBA,IAAM,UAAU,aAAa,UAAU;AAAA,EACrC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,IAAI,aAAa,CAAC;AAAA,EAC/D;AACF,CAAC;", + "names": ["endpoint", "request"] +} diff --git a/node_modules/@octokit/graphql/node_modules/@octokit/request/package.json b/node_modules/@octokit/graphql/node_modules/@octokit/request/package.json new file mode 100644 index 0000000000..acc2584b48 --- /dev/null +++ b/node_modules/@octokit/graphql/node_modules/@octokit/request/package.json @@ -0,0 +1,55 @@ +{ + "name": "@octokit/request", + "version": "8.4.1", + "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": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth-app": "^6.0.0", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.2.4", + "@types/jest": "^29.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^20.0.0", + "@types/once": "^1.4.0", + "esbuild": "^0.20.0", + "fetch-mock": "npm:@gr2m/fetch-mock@^9.11.0-pull-request-644.1", + "glob": "^10.2.4", + "jest": "^29.0.0", + "lolex": "^6.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json index 9ba3cb737e..4537da7923 100644 --- a/node_modules/@octokit/graphql/package.json +++ b/node_modules/@octokit/graphql/package.json @@ -1,47 +1,48 @@ { "name": "@octokit/graphql", + "version": "7.1.1", + "publishConfig": { + "access": "public", + "provenance": true + }, "description": "GitHub GraphQL API client for browsers and Node", - "version": "4.8.0", - "license": "MIT", - "files": [ - "dist-*/", - "bin/" - ], - "pika": true, - "sideEffects": false, + "repository": "github:octokit/graphql.js", "keywords": [ "octokit", "github", "api", "graphql" ], - "repository": "github:octokit/graphql.js", + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", "universal-user-agent": "^6.0.0" }, "devDependencies": { - "@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.2.5", - "@types/jest": "^27.0.0", - "@types/node": "^14.0.4", - "fetch-mock": "^9.0.0", - "jest": "^27.0.0", - "prettier": "2.3.2", - "semantic-release": "^17.0.0", + "@octokit/tsconfig": "^2.0.0", + "@types/jest": "^29.0.0", + "@types/node": "^18.0.0", + "esbuild": "~0.25.0", + "fetch-mock": "^11.1.5", + "glob": "^10.2.6", + "jest": "^29.0.0", + "prettier": "3.0.3", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^27.0.0-next.12", - "typescript": "^4.0.0" + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" }, - "publishConfig": { - "access": "public" + "engines": { + "node": ">= 18" }, - "source": "dist-src/index.js", - "types": "dist-types/index.d.ts", + "files": [ + "dist-*/**", + "bin/**" + ], "main": "dist-node/index.js", - "module": "dist-web/index.js" + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "source": "dist-src/index.js", + "sideEffects": false } diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/README.md deleted file mode 100644 index 164f60d1ee..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/README.md +++ /dev/null @@ -1,412 +0,0 @@ -# endpoint.js - -> Turns GitHub REST API endpoints into generic request options - -[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) -[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) - -`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. - - - - - -- [Usage](#usage) -- [API](#api) - - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) - - [`endpoint.defaults()`](#endpointdefaults) - - [`endpoint.DEFAULTS`](#endpointdefaults) - - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) - - [`endpoint.parse()`](#endpointparse) -- [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) -- [LICENSE](#license) - - - -## Usage - - - - - - -
-Browsers - -Load @octokit/endpoint directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/endpoint - -```js -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/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js deleted file mode 100644 index 77f055c151..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js +++ /dev/null @@ -1,346 +0,0 @@ -// 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 === "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/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map deleted file mode 100644 index a4189c6090..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/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 === \"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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js deleted file mode 100644 index 5f65ced4d8..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/defaults.js +++ /dev/null @@ -1,17 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js deleted file mode 100644 index e67c9e5f05..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ /dev/null @@ -1,9 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js deleted file mode 100644 index cf1b37ef6c..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/merge.js +++ /dev/null @@ -1,27 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/parse.js deleted file mode 100644 index f3df8176a0..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/parse.js +++ /dev/null @@ -1,70 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js deleted file mode 100644 index 6bdf7367c0..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ /dev/null @@ -1,16 +0,0 @@ -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} -export { - addQueryParameters -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js deleted file mode 100644 index bd909773f8..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ /dev/null @@ -1,14 +0,0 @@ -const urlVariableRegex = /\{[^{}}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); -} -export { - extractUrlVariableNames -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js deleted file mode 100644 index 9bd7bb9910..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} -export { - lowercaseKeys -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js deleted file mode 100644 index bbfef8703c..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ /dev/null @@ -1,16 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js deleted file mode 100644 index aceffe25ef..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ /dev/null @@ -1,12 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js deleted file mode 100644 index 8653027c8d..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ /dev/null @@ -1,11 +0,0 @@ -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} -export { - removeUndefinedProperties -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js deleted file mode 100644 index f70aa5c733..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ /dev/null @@ -1,133 +0,0 @@ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== void 0 && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - 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/oauth-app/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js deleted file mode 100644 index 5551d42b39..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -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/oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts deleted file mode 100644 index d65e889bc1..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults } from "@octokit/types"; -export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts deleted file mode 100644 index ec25627cd2..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; -export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts deleted file mode 100644 index 1ede136671..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts deleted file mode 100644 index f583981205..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; -export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts deleted file mode 100644 index 5d0927ae8c..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestOptions } from "@octokit/types"; -export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts deleted file mode 100644 index 4b192ac41d..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function addQueryParameters(url: string, parameters: { - [x: string]: string | undefined; - q?: string; -}): string; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts deleted file mode 100644 index 93586d4db5..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts deleted file mode 100644 index 1daf307362..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function lowercaseKeys(object?: { - [key: string]: any; -}): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts deleted file mode 100644 index 914411cf92..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts deleted file mode 100644 index 06927d6bdf..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function omit(object: { - [key: string]: any; -}, keysToOmit: string[]): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts deleted file mode 100644 index 92d8d85053..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts deleted file mode 100644 index 5d967cab3c..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function parseUrl(template: string): { - expand: (context: object) => string; -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts deleted file mode 100644 index e09354c56f..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; -export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/oauth-app/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/LICENSE deleted file mode 100644 index ef2c18ee5b..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/oauth-app/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/oauth-app/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/README.md b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/README.md deleted file mode 100644 index be3e1cccef..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/README.md +++ /dev/null @@ -1,579 +0,0 @@ -# request.js - -> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node - -[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) -[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) - -`@octokit/request` is a request library for browsers & node that makes it easier -to interact with [GitHub’s REST API](https://developer.github.com/v3/) and -[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). - -It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse -the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. - - - - - -- [request.js](#requestjs) - - [Features](#features) - - [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) - - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) - - [Authentication](#authentication) - - [request()](#request) - - [`request.defaults()`](#requestdefaults) - - [`request.endpoint`](#requestendpoint) - - [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) - - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) - - [LICENSE](#license) - - - -## Features - -🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes - -```js -request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - mediaType: { - previews: ["symmetra"], - }, - owner: "octokit", - repo: "request.js", - number: 1, - labels: ["🐛 bug"], -}); -``` - -👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) - -😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). - -👍 Sensible defaults - -- `baseUrl`: `https://api.github.com` -- `headers.accept`: `application/vnd.github.v3+json` -- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` - -👌 Simple to test: mock requests by passing a custom fetch method. - -🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). - -## Usage - - - - - - -
-Browsers - -Load @octokit/request directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/request - -```js -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, 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", - }, - options: { - request: { - fetch: myFetch, - }, - }, -}); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js deleted file mode 100644 index af8271c2af..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// 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 = "0.0.0-development"; - -// pkg/dist-src/defaults.js -var defaults_default = { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}; - -// pkg/dist-src/fetch-wrapper.js -import { safeParse } from "fast-content-type-parse"; - -// 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"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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 -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map deleted file mode 100644 index 9949af2b46..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/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 = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { safeParse } from \"fast-content-type-parse\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\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) ? JSON.stringify(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 if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\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,iBAAiB;;;ACA1B,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;;;ADLA,SAAS,oBAAoB;AAC7B,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,KAAK,UAAU,eAAe,IAAI,IAAI,eAAe;AAC7I,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;AACd,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;AAClD,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,MAAM,EAAE;AAAA,EACvC;AACA,QAAM,WAAW,UAAU,WAAW;AACtC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,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,MAAM,EAAE;AAAA,EACvC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC;AAAA,EAC9D;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;;;AEvIA,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/oauth-app/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/defaults.js deleted file mode 100644 index 33b14b0ab8..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -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/oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/oauth-app/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/oauth-app/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index 9acd8329a3..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.2.2"; -export { - VERSION -}; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js deleted file mode 100644 index b2dd7ad6b9..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-src/with-defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -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/oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts deleted file mode 100644 index ddf2ca0dea..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/defaults.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare const _default: { - headers: { - "user-agent": string; - }; -}; -export default _default; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/index.d.ts deleted file mode 100644 index 1030809f9e..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index b27d7d03fc..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.2.2"; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts deleted file mode 100644 index 4300682f02..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; -export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/package.json b/node_modules/@octokit/oauth-app/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/@octokit/oauth-app/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/oauth-methods/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/README.md deleted file mode 100644 index 164f60d1ee..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/README.md +++ /dev/null @@ -1,412 +0,0 @@ -# endpoint.js - -> Turns GitHub REST API endpoints into generic request options - -[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) -[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) - -`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. - - - - - -- [Usage](#usage) -- [API](#api) - - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) - - [`endpoint.defaults()`](#endpointdefaults) - - [`endpoint.DEFAULTS`](#endpointdefaults) - - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) - - [`endpoint.parse()`](#endpointparse) -- [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) -- [LICENSE](#license) - - - -## Usage - - - - - - -
-Browsers - -Load @octokit/endpoint directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/endpoint - -```js -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/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js deleted file mode 100644 index 77f055c151..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js +++ /dev/null @@ -1,346 +0,0 @@ -// 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 === "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/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js.map deleted file mode 100644 index a4189c6090..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/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 === \"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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/oauth-methods/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/defaults.js deleted file mode 100644 index 5f65ced4d8..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/defaults.js +++ /dev/null @@ -1,17 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js deleted file mode 100644 index e67c9e5f05..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ /dev/null @@ -1,9 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/merge.js deleted file mode 100644 index cf1b37ef6c..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/merge.js +++ /dev/null @@ -1,27 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/parse.js deleted file mode 100644 index f3df8176a0..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/parse.js +++ /dev/null @@ -1,70 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js deleted file mode 100644 index 6bdf7367c0..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ /dev/null @@ -1,16 +0,0 @@ -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} -export { - addQueryParameters -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js deleted file mode 100644 index bd909773f8..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ /dev/null @@ -1,14 +0,0 @@ -const urlVariableRegex = /\{[^{}}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); -} -export { - extractUrlVariableNames -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js deleted file mode 100644 index 9bd7bb9910..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} -export { - lowercaseKeys -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js deleted file mode 100644 index bbfef8703c..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ /dev/null @@ -1,16 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/omit.js deleted file mode 100644 index aceffe25ef..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ /dev/null @@ -1,12 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js deleted file mode 100644 index 8653027c8d..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ /dev/null @@ -1,11 +0,0 @@ -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} -export { - removeUndefinedProperties -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/url-template.js deleted file mode 100644 index f70aa5c733..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ /dev/null @@ -1,133 +0,0 @@ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== void 0 && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - 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/oauth-methods/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/with-defaults.js deleted file mode 100644 index 5551d42b39..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -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/oauth-methods/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/defaults.d.ts deleted file mode 100644 index d65e889bc1..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults } from "@octokit/types"; -export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts deleted file mode 100644 index ec25627cd2..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; -export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/index.d.ts deleted file mode 100644 index 1ede136671..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/merge.d.ts deleted file mode 100644 index f583981205..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; -export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/parse.d.ts deleted file mode 100644 index 5d0927ae8c..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestOptions } from "@octokit/types"; -export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts deleted file mode 100644 index 4b192ac41d..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function addQueryParameters(url: string, parameters: { - [x: string]: string | undefined; - q?: string; -}): string; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts deleted file mode 100644 index 93586d4db5..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts deleted file mode 100644 index 1daf307362..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function lowercaseKeys(object?: { - [key: string]: any; -}): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts deleted file mode 100644 index 914411cf92..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts deleted file mode 100644 index 06927d6bdf..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function omit(object: { - [key: string]: any; -}, keysToOmit: string[]): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts deleted file mode 100644 index 92d8d85053..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts deleted file mode 100644 index 5d967cab3c..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function parseUrl(template: string): { - expand: (context: object) => string; -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts deleted file mode 100644 index e09354c56f..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; -export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/oauth-methods/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/LICENSE deleted file mode 100644 index ef2c18ee5b..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/oauth-methods/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/oauth-methods/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/README.md b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/README.md deleted file mode 100644 index be3e1cccef..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/README.md +++ /dev/null @@ -1,579 +0,0 @@ -# request.js - -> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node - -[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) -[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) - -`@octokit/request` is a request library for browsers & node that makes it easier -to interact with [GitHub’s REST API](https://developer.github.com/v3/) and -[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). - -It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse -the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. - - - - - -- [request.js](#requestjs) - - [Features](#features) - - [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) - - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) - - [Authentication](#authentication) - - [request()](#request) - - [`request.defaults()`](#requestdefaults) - - [`request.endpoint`](#requestendpoint) - - [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) - - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) - - [LICENSE](#license) - - - -## Features - -🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes - -```js -request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - mediaType: { - previews: ["symmetra"], - }, - owner: "octokit", - repo: "request.js", - number: 1, - labels: ["🐛 bug"], -}); -``` - -👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) - -😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). - -👍 Sensible defaults - -- `baseUrl`: `https://api.github.com` -- `headers.accept`: `application/vnd.github.v3+json` -- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` - -👌 Simple to test: mock requests by passing a custom fetch method. - -🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). - -## Usage - - - - - - -
-Browsers - -Load @octokit/request directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/request - -```js -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, 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", - }, - options: { - request: { - fetch: myFetch, - }, - }, -}); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js deleted file mode 100644 index af8271c2af..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// 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 = "0.0.0-development"; - -// pkg/dist-src/defaults.js -var defaults_default = { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}; - -// pkg/dist-src/fetch-wrapper.js -import { safeParse } from "fast-content-type-parse"; - -// 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"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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 -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js.map deleted file mode 100644 index 9949af2b46..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/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 = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { safeParse } from \"fast-content-type-parse\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\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) ? JSON.stringify(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 if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\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,iBAAiB;;;ACA1B,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;;;ADLA,SAAS,oBAAoB;AAC7B,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,KAAK,UAAU,eAAe,IAAI,IAAI,eAAe;AAC7I,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;AACd,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;AAClD,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,MAAM,EAAE;AAAA,EACvC;AACA,QAAM,WAAW,UAAU,WAAW;AACtC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,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,MAAM,EAAE;AAAA,EACvC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC;AAAA,EAC9D;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;;;AEvIA,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/oauth-methods/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/defaults.js deleted file mode 100644 index 33b14b0ab8..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -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/oauth-methods/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/oauth-methods/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/oauth-methods/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index 9acd8329a3..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.2.2"; -export { - VERSION -}; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/with-defaults.js deleted file mode 100644 index b2dd7ad6b9..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-src/with-defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -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/oauth-methods/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/defaults.d.ts deleted file mode 100644 index ddf2ca0dea..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/defaults.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare const _default: { - headers: { - "user-agent": string; - }; -}; -export default _default; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/index.d.ts deleted file mode 100644 index 1030809f9e..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index b27d7d03fc..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.2.2"; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/with-defaults.d.ts deleted file mode 100644 index 4300682f02..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; -export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/package.json b/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/@octokit/oauth-methods/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/openapi-types/README.md b/node_modules/@octokit/openapi-types/README.md deleted file mode 100644 index 9da833cfb9..0000000000 --- a/node_modules/@octokit/openapi-types/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @octokit/openapi-types - -> Generated TypeScript definitions based on GitHub's OpenAPI spec - -This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) - -## Usage - -```ts -import { components } from "@octokit/openapi-types"; - -type Repository = components["schemas"]["full-repository"]; -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json deleted file mode 100644 index 6e34208ea6..0000000000 --- a/node_modules/@octokit/openapi-types/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@octokit/openapi-types", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", - "repository": { - "type": "git", - "url": "https://github.com/octokit/openapi-types.ts.git", - "directory": "packages/openapi-types" - }, - "publishConfig": { - "access": "public" - }, - "version": "18.0.0", - "main": "", - "types": "types.d.ts", - "author": "Gregor Martynus (https://twitter.com/gr2m)", - "license": "MIT", - "octokit": { - "openapi-version": "12.0.0" - } -} diff --git a/node_modules/@octokit/plugin-retry/README.md b/node_modules/@octokit/plugin-retry/README.md index 2c3a519239..854766a799 100644 --- a/node_modules/@octokit/plugin-retry/README.md +++ b/node_modules/@octokit/plugin-retry/README.md @@ -46,7 +46,7 @@ const octokit = new MyOctokit({ auth: "secret123" }); octokit.request("/").catch((error) => { if (error.request.request.retryCount) { console.log( - `request failed after ${error.request.request.retryCount} retries` + `request failed after ${error.request.request.retryCount} retries`, ); } @@ -84,7 +84,7 @@ octokit .catch((error) => { if (error.request.request.retryCount) { console.log( - `request failed after ${error.request.request.retryCount} retries` + `request failed after ${error.request.request.retryCount} retries`, ); } diff --git a/node_modules/@octokit/plugin-retry/dist-node/index.js b/node_modules/@octokit/plugin-retry/dist-node/index.js index 6d13bcbf09..9cdf471dc8 100644 --- a/node_modules/@octokit/plugin-retry/dist-node/index.js +++ b/node_modules/@octokit/plugin-retry/dist-node/index.js @@ -69,7 +69,7 @@ async function wrapRequest(state, octokit, request, options) { } async function requestWithGraphqlErrorHandling(state, octokit, request, options) { const response = await request(request, options); - if (response.data && response.data.errors && /Something went wrong while executing your query/.test( + if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { const error = new import_request_error.RequestError(response.data.errors[0].message, 500, { @@ -82,7 +82,7 @@ async function requestWithGraphqlErrorHandling(state, octokit, request, options) } // pkg/dist-src/index.js -var VERSION = "5.0.5"; +var VERSION = "6.1.0"; function retry(octokit, octokitOptions) { const state = Object.assign( { diff --git a/node_modules/@octokit/plugin-retry/dist-node/index.js.map b/node_modules/@octokit/plugin-retry/dist-node/index.js.map index 8a91b9ea4d..788870cd1f 100644 --- a/node_modules/@octokit/plugin-retry/dist-node/index.js.map +++ b/node_modules/@octokit/plugin-retry/dist-node/index.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../dist-src/index.js", "../dist-src/error-request.js", "../dist-src/wrap-request.js"], - "sourcesContent": ["import { Octokit } from \"@octokit/core\";\nimport { errorRequest } from \"./error-request\";\nimport { wrapRequest } from \"./wrap-request\";\nconst VERSION = \"5.0.5\";\nfunction retry(octokit, octokitOptions) {\n const state = Object.assign(\n {\n enabled: true,\n retryAfterBaseValue: 1e3,\n doNotRetry: [400, 401, 403, 404, 422, 451],\n retries: 3\n },\n octokitOptions.retry\n );\n if (state.enabled) {\n octokit.hook.error(\"request\", errorRequest.bind(null, state, octokit));\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state, octokit));\n }\n return {\n retry: {\n retryRequest: (error, retries, retryAfter) => {\n error.request.request = Object.assign({}, error.request.request, {\n retries,\n retryAfter\n });\n return error;\n }\n }\n };\n}\nretry.VERSION = VERSION;\nexport {\n VERSION,\n retry\n};\n", "async function errorRequest(state, octokit, error, options) {\n if (!error.request || !error.request.request) {\n throw error;\n }\n if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {\n const retries = options.request.retries != null ? options.request.retries : state.retries;\n const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);\n throw octokit.retry.retryRequest(error, retries, retryAfter);\n }\n throw error;\n}\nexport {\n errorRequest\n};\n", "import Bottleneck from \"bottleneck/light\";\nimport { RequestError } from \"@octokit/request-error\";\nimport { errorRequest } from \"./error-request\";\nasync function wrapRequest(state, octokit, request, options) {\n const limiter = new Bottleneck();\n limiter.on(\"failed\", function(error, info) {\n const maxRetries = ~~error.request.request.retries;\n const after = ~~error.request.request.retryAfter;\n options.request.retryCount = info.retryCount + 1;\n if (maxRetries > info.retryCount) {\n return after * state.retryAfterBaseValue;\n }\n });\n return limiter.schedule(\n requestWithGraphqlErrorHandling.bind(null, state, octokit, request),\n options\n );\n}\nasync function requestWithGraphqlErrorHandling(state, octokit, request, options) {\n const response = await request(request, options);\n if (response.data && response.data.errors && /Something went wrong while executing your query/.test(\n response.data.errors[0].message\n )) {\n const error = new RequestError(response.data.errors[0].message, 500, {\n request: options,\n response\n });\n return errorRequest(state, octokit, error, options);\n }\n return response;\n}\nexport {\n wrapRequest\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;;;ACAxB,eAAe,aAAa,OAAO,SAAS,OAAO,SAAS;AAC1D,MAAI,CAAC,MAAM,WAAW,CAAC,MAAM,QAAQ,SAAS;AAC5C,UAAM;AAAA,EACR;AACA,MAAI,MAAM,UAAU,OAAO,CAAC,MAAM,WAAW,SAAS,MAAM,MAAM,GAAG;AACnE,UAAM,UAAU,QAAQ,QAAQ,WAAW,OAAO,QAAQ,QAAQ,UAAU,MAAM;AAClF,UAAM,aAAa,KAAK,KAAK,QAAQ,QAAQ,cAAc,KAAK,GAAG,CAAC;AACpE,UAAM,QAAQ,MAAM,aAAa,OAAO,SAAS,UAAU;AAAA,EAC7D;AACA,QAAM;AACR;;;ACVA,mBAAuB;AACvB,2BAA6B;AAE7B,eAAe,YAAY,OAAO,SAAS,SAAS,SAAS;AAC3D,QAAM,UAAU,IAAI,aAAAA,QAAW;AAC/B,UAAQ,GAAG,UAAU,SAAS,OAAO,MAAM;AACzC,UAAM,aAAa,CAAC,CAAC,MAAM,QAAQ,QAAQ;AAC3C,UAAM,QAAQ,CAAC,CAAC,MAAM,QAAQ,QAAQ;AACtC,YAAQ,QAAQ,aAAa,KAAK,aAAa;AAC/C,QAAI,aAAa,KAAK,YAAY;AAChC,aAAO,QAAQ,MAAM;AAAA,IACvB;AAAA,EACF,CAAC;AACD,SAAO,QAAQ;AAAA,IACb,gCAAgC,KAAK,MAAM,OAAO,SAAS,OAAO;AAAA,IAClE;AAAA,EACF;AACF;AACA,eAAe,gCAAgC,OAAO,SAAS,SAAS,SAAS;AAC/E,QAAM,WAAW,MAAM,QAAQ,SAAS,OAAO;AAC/C,MAAI,SAAS,QAAQ,SAAS,KAAK,UAAU,kDAAkD;AAAA,IAC7F,SAAS,KAAK,OAAO,CAAC,EAAE;AAAA,EAC1B,GAAG;AACD,UAAM,QAAQ,IAAI,kCAAa,SAAS,KAAK,OAAO,CAAC,EAAE,SAAS,KAAK;AAAA,MACnE,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AACD,WAAO,aAAa,OAAO,SAAS,OAAO,OAAO;AAAA,EACpD;AACA,SAAO;AACT;;;AF3BA,IAAM,UAAU;AAChB,SAAS,MAAM,SAAS,gBAAgB;AACtC,QAAM,QAAQ,OAAO;AAAA,IACnB;AAAA,MACE,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,MACzC,SAAS;AAAA,IACX;AAAA,IACA,eAAe;AAAA,EACjB;AACA,MAAI,MAAM,SAAS;AACjB,YAAQ,KAAK,MAAM,WAAW,aAAa,KAAK,MAAM,OAAO,OAAO,CAAC;AACrE,YAAQ,KAAK,KAAK,WAAW,YAAY,KAAK,MAAM,OAAO,OAAO,CAAC;AAAA,EACrE;AACA,SAAO;AAAA,IACL,OAAO;AAAA,MACL,cAAc,CAAC,OAAO,SAAS,eAAe;AAC5C,cAAM,QAAQ,UAAU,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ,SAAS;AAAA,UAC/D;AAAA,UACA;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AACA,MAAM,UAAU;", + "sourcesContent": ["import { Octokit } from \"@octokit/core\";\nimport { errorRequest } from \"./error-request\";\nimport { wrapRequest } from \"./wrap-request\";\nconst VERSION = \"6.1.0\";\nfunction retry(octokit, octokitOptions) {\n const state = Object.assign(\n {\n enabled: true,\n retryAfterBaseValue: 1e3,\n doNotRetry: [400, 401, 403, 404, 422, 451],\n retries: 3\n },\n octokitOptions.retry\n );\n if (state.enabled) {\n octokit.hook.error(\"request\", errorRequest.bind(null, state, octokit));\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state, octokit));\n }\n return {\n retry: {\n retryRequest: (error, retries, retryAfter) => {\n error.request.request = Object.assign({}, error.request.request, {\n retries,\n retryAfter\n });\n return error;\n }\n }\n };\n}\nretry.VERSION = VERSION;\nexport {\n VERSION,\n retry\n};\n", "async function errorRequest(state, octokit, error, options) {\n if (!error.request || !error.request.request) {\n throw error;\n }\n if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {\n const retries = options.request.retries != null ? options.request.retries : state.retries;\n const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);\n throw octokit.retry.retryRequest(error, retries, retryAfter);\n }\n throw error;\n}\nexport {\n errorRequest\n};\n", "import Bottleneck from \"bottleneck/light\";\nimport { RequestError } from \"@octokit/request-error\";\nimport { errorRequest } from \"./error-request\";\nasync function wrapRequest(state, octokit, request, options) {\n const limiter = new Bottleneck();\n limiter.on(\"failed\", function(error, info) {\n const maxRetries = ~~error.request.request.retries;\n const after = ~~error.request.request.retryAfter;\n options.request.retryCount = info.retryCount + 1;\n if (maxRetries > info.retryCount) {\n return after * state.retryAfterBaseValue;\n }\n });\n return limiter.schedule(\n requestWithGraphqlErrorHandling.bind(null, state, octokit, request),\n options\n );\n}\nasync function requestWithGraphqlErrorHandling(state, octokit, request, options) {\n const response = await request(request, options);\n if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test(\n response.data.errors[0].message\n )) {\n const error = new RequestError(response.data.errors[0].message, 500, {\n request: options,\n response\n });\n return errorRequest(state, octokit, error, options);\n }\n return response;\n}\nexport {\n wrapRequest\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;;;ACAxB,eAAe,aAAa,OAAO,SAAS,OAAO,SAAS;AAC1D,MAAI,CAAC,MAAM,WAAW,CAAC,MAAM,QAAQ,SAAS;AAC5C,UAAM;AAAA,EACR;AACA,MAAI,MAAM,UAAU,OAAO,CAAC,MAAM,WAAW,SAAS,MAAM,MAAM,GAAG;AACnE,UAAM,UAAU,QAAQ,QAAQ,WAAW,OAAO,QAAQ,QAAQ,UAAU,MAAM;AAClF,UAAM,aAAa,KAAK,KAAK,QAAQ,QAAQ,cAAc,KAAK,GAAG,CAAC;AACpE,UAAM,QAAQ,MAAM,aAAa,OAAO,SAAS,UAAU;AAAA,EAC7D;AACA,QAAM;AACR;;;ACVA,mBAAuB;AACvB,2BAA6B;AAE7B,eAAe,YAAY,OAAO,SAAS,SAAS,SAAS;AAC3D,QAAM,UAAU,IAAI,aAAAA,QAAW;AAC/B,UAAQ,GAAG,UAAU,SAAS,OAAO,MAAM;AACzC,UAAM,aAAa,CAAC,CAAC,MAAM,QAAQ,QAAQ;AAC3C,UAAM,QAAQ,CAAC,CAAC,MAAM,QAAQ,QAAQ;AACtC,YAAQ,QAAQ,aAAa,KAAK,aAAa;AAC/C,QAAI,aAAa,KAAK,YAAY;AAChC,aAAO,QAAQ,MAAM;AAAA,IACvB;AAAA,EACF,CAAC;AACD,SAAO,QAAQ;AAAA,IACb,gCAAgC,KAAK,MAAM,OAAO,SAAS,OAAO;AAAA,IAClE;AAAA,EACF;AACF;AACA,eAAe,gCAAgC,OAAO,SAAS,SAAS,SAAS;AAC/E,QAAM,WAAW,MAAM,QAAQ,SAAS,OAAO;AAC/C,MAAI,SAAS,QAAQ,SAAS,KAAK,UAAU,SAAS,KAAK,OAAO,SAAS,KAAK,kDAAkD;AAAA,IAChI,SAAS,KAAK,OAAO,CAAC,EAAE;AAAA,EAC1B,GAAG;AACD,UAAM,QAAQ,IAAI,kCAAa,SAAS,KAAK,OAAO,CAAC,EAAE,SAAS,KAAK;AAAA,MACnE,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AACD,WAAO,aAAa,OAAO,SAAS,OAAO,OAAO;AAAA,EACpD;AACA,SAAO;AACT;;;AF3BA,IAAM,UAAU;AAChB,SAAS,MAAM,SAAS,gBAAgB;AACtC,QAAM,QAAQ,OAAO;AAAA,IACnB;AAAA,MACE,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,MACzC,SAAS;AAAA,IACX;AAAA,IACA,eAAe;AAAA,EACjB;AACA,MAAI,MAAM,SAAS;AACjB,YAAQ,KAAK,MAAM,WAAW,aAAa,KAAK,MAAM,OAAO,OAAO,CAAC;AACrE,YAAQ,KAAK,KAAK,WAAW,YAAY,KAAK,MAAM,OAAO,OAAO,CAAC;AAAA,EACrE;AACA,SAAO;AAAA,IACL,OAAO;AAAA,MACL,cAAc,CAAC,OAAO,SAAS,eAAe;AAC5C,cAAM,QAAQ,UAAU,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ,SAAS;AAAA,UAC/D;AAAA,UACA;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AACA,MAAM,UAAU;", "names": ["Bottleneck"] } diff --git a/node_modules/@octokit/plugin-retry/dist-src/version.js b/node_modules/@octokit/plugin-retry/dist-src/version.js index 938cb1e0d4..11e774c77c 100644 --- a/node_modules/@octokit/plugin-retry/dist-src/version.js +++ b/node_modules/@octokit/plugin-retry/dist-src/version.js @@ -1,4 +1,4 @@ -const VERSION = "5.0.5"; +const VERSION = "6.1.0"; export { VERSION }; diff --git a/node_modules/@octokit/plugin-retry/dist-src/wrap-request.js b/node_modules/@octokit/plugin-retry/dist-src/wrap-request.js index ce4621698c..92eaaaf36c 100644 --- a/node_modules/@octokit/plugin-retry/dist-src/wrap-request.js +++ b/node_modules/@octokit/plugin-retry/dist-src/wrap-request.js @@ -18,7 +18,7 @@ async function wrapRequest(state, octokit, request, options) { } async function requestWithGraphqlErrorHandling(state, octokit, request, options) { const response = await request(request, options); - if (response.data && response.data.errors && /Something went wrong while executing your query/.test( + if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { const error = new RequestError(response.data.errors[0].message, 500, { diff --git a/node_modules/@octokit/plugin-retry/dist-types/version.d.ts b/node_modules/@octokit/plugin-retry/dist-types/version.d.ts index b74fa9fb86..3efc60bb9e 100644 --- a/node_modules/@octokit/plugin-retry/dist-types/version.d.ts +++ b/node_modules/@octokit/plugin-retry/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "5.0.5"; +export declare const VERSION = "6.1.0"; diff --git a/node_modules/@octokit/plugin-retry/dist-web/index.js b/node_modules/@octokit/plugin-retry/dist-web/index.js index 9bdb12e4ea..e05cfdd90d 100644 --- a/node_modules/@octokit/plugin-retry/dist-web/index.js +++ b/node_modules/@octokit/plugin-retry/dist-web/index.js @@ -34,7 +34,7 @@ async function wrapRequest(state, octokit, request, options) { } async function requestWithGraphqlErrorHandling(state, octokit, request, options) { const response = await request(request, options); - if (response.data && response.data.errors && /Something went wrong while executing your query/.test( + if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { const error = new RequestError(response.data.errors[0].message, 500, { @@ -47,7 +47,7 @@ async function requestWithGraphqlErrorHandling(state, octokit, request, options) } // pkg/dist-src/index.js -var VERSION = "5.0.5"; +var VERSION = "6.1.0"; function retry(octokit, octokitOptions) { const state = Object.assign( { diff --git a/node_modules/@octokit/plugin-retry/dist-web/index.js.map b/node_modules/@octokit/plugin-retry/dist-web/index.js.map index 4ff1b645d9..5de41dd7dd 100644 --- a/node_modules/@octokit/plugin-retry/dist-web/index.js.map +++ b/node_modules/@octokit/plugin-retry/dist-web/index.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../dist-src/index.js", "../dist-src/error-request.js", "../dist-src/wrap-request.js"], - "sourcesContent": ["import { Octokit } from \"@octokit/core\";\nimport { errorRequest } from \"./error-request\";\nimport { wrapRequest } from \"./wrap-request\";\nconst VERSION = \"5.0.5\";\nfunction retry(octokit, octokitOptions) {\n const state = Object.assign(\n {\n enabled: true,\n retryAfterBaseValue: 1e3,\n doNotRetry: [400, 401, 403, 404, 422, 451],\n retries: 3\n },\n octokitOptions.retry\n );\n if (state.enabled) {\n octokit.hook.error(\"request\", errorRequest.bind(null, state, octokit));\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state, octokit));\n }\n return {\n retry: {\n retryRequest: (error, retries, retryAfter) => {\n error.request.request = Object.assign({}, error.request.request, {\n retries,\n retryAfter\n });\n return error;\n }\n }\n };\n}\nretry.VERSION = VERSION;\nexport {\n VERSION,\n retry\n};\n", "async function errorRequest(state, octokit, error, options) {\n if (!error.request || !error.request.request) {\n throw error;\n }\n if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {\n const retries = options.request.retries != null ? options.request.retries : state.retries;\n const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);\n throw octokit.retry.retryRequest(error, retries, retryAfter);\n }\n throw error;\n}\nexport {\n errorRequest\n};\n", "import Bottleneck from \"bottleneck/light\";\nimport { RequestError } from \"@octokit/request-error\";\nimport { errorRequest } from \"./error-request\";\nasync function wrapRequest(state, octokit, request, options) {\n const limiter = new Bottleneck();\n limiter.on(\"failed\", function(error, info) {\n const maxRetries = ~~error.request.request.retries;\n const after = ~~error.request.request.retryAfter;\n options.request.retryCount = info.retryCount + 1;\n if (maxRetries > info.retryCount) {\n return after * state.retryAfterBaseValue;\n }\n });\n return limiter.schedule(\n requestWithGraphqlErrorHandling.bind(null, state, octokit, request),\n options\n );\n}\nasync function requestWithGraphqlErrorHandling(state, octokit, request, options) {\n const response = await request(request, options);\n if (response.data && response.data.errors && /Something went wrong while executing your query/.test(\n response.data.errors[0].message\n )) {\n const error = new RequestError(response.data.errors[0].message, 500, {\n request: options,\n response\n });\n return errorRequest(state, octokit, error, options);\n }\n return response;\n}\nexport {\n wrapRequest\n};\n"], - "mappings": ";AAAA,SAAS,eAAe;;;ACAxB,eAAe,aAAa,OAAO,SAAS,OAAO,SAAS;AAC1D,MAAI,CAAC,MAAM,WAAW,CAAC,MAAM,QAAQ,SAAS;AAC5C,UAAM;AAAA,EACR;AACA,MAAI,MAAM,UAAU,OAAO,CAAC,MAAM,WAAW,SAAS,MAAM,MAAM,GAAG;AACnE,UAAM,UAAU,QAAQ,QAAQ,WAAW,OAAO,QAAQ,QAAQ,UAAU,MAAM;AAClF,UAAM,aAAa,KAAK,KAAK,QAAQ,QAAQ,cAAc,KAAK,GAAG,CAAC;AACpE,UAAM,QAAQ,MAAM,aAAa,OAAO,SAAS,UAAU;AAAA,EAC7D;AACA,QAAM;AACR;;;ACVA,OAAO,gBAAgB;AACvB,SAAS,oBAAoB;AAE7B,eAAe,YAAY,OAAO,SAAS,SAAS,SAAS;AAC3D,QAAM,UAAU,IAAI,WAAW;AAC/B,UAAQ,GAAG,UAAU,SAAS,OAAO,MAAM;AACzC,UAAM,aAAa,CAAC,CAAC,MAAM,QAAQ,QAAQ;AAC3C,UAAM,QAAQ,CAAC,CAAC,MAAM,QAAQ,QAAQ;AACtC,YAAQ,QAAQ,aAAa,KAAK,aAAa;AAC/C,QAAI,aAAa,KAAK,YAAY;AAChC,aAAO,QAAQ,MAAM;AAAA,IACvB;AAAA,EACF,CAAC;AACD,SAAO,QAAQ;AAAA,IACb,gCAAgC,KAAK,MAAM,OAAO,SAAS,OAAO;AAAA,IAClE;AAAA,EACF;AACF;AACA,eAAe,gCAAgC,OAAO,SAAS,SAAS,SAAS;AAC/E,QAAM,WAAW,MAAM,QAAQ,SAAS,OAAO;AAC/C,MAAI,SAAS,QAAQ,SAAS,KAAK,UAAU,kDAAkD;AAAA,IAC7F,SAAS,KAAK,OAAO,CAAC,EAAE;AAAA,EAC1B,GAAG;AACD,UAAM,QAAQ,IAAI,aAAa,SAAS,KAAK,OAAO,CAAC,EAAE,SAAS,KAAK;AAAA,MACnE,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AACD,WAAO,aAAa,OAAO,SAAS,OAAO,OAAO;AAAA,EACpD;AACA,SAAO;AACT;;;AF3BA,IAAM,UAAU;AAChB,SAAS,MAAM,SAAS,gBAAgB;AACtC,QAAM,QAAQ,OAAO;AAAA,IACnB;AAAA,MACE,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,MACzC,SAAS;AAAA,IACX;AAAA,IACA,eAAe;AAAA,EACjB;AACA,MAAI,MAAM,SAAS;AACjB,YAAQ,KAAK,MAAM,WAAW,aAAa,KAAK,MAAM,OAAO,OAAO,CAAC;AACrE,YAAQ,KAAK,KAAK,WAAW,YAAY,KAAK,MAAM,OAAO,OAAO,CAAC;AAAA,EACrE;AACA,SAAO;AAAA,IACL,OAAO;AAAA,MACL,cAAc,CAAC,OAAO,SAAS,eAAe;AAC5C,cAAM,QAAQ,UAAU,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ,SAAS;AAAA,UAC/D;AAAA,UACA;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AACA,MAAM,UAAU;", + "sourcesContent": ["import { Octokit } from \"@octokit/core\";\nimport { errorRequest } from \"./error-request\";\nimport { wrapRequest } from \"./wrap-request\";\nconst VERSION = \"6.1.0\";\nfunction retry(octokit, octokitOptions) {\n const state = Object.assign(\n {\n enabled: true,\n retryAfterBaseValue: 1e3,\n doNotRetry: [400, 401, 403, 404, 422, 451],\n retries: 3\n },\n octokitOptions.retry\n );\n if (state.enabled) {\n octokit.hook.error(\"request\", errorRequest.bind(null, state, octokit));\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state, octokit));\n }\n return {\n retry: {\n retryRequest: (error, retries, retryAfter) => {\n error.request.request = Object.assign({}, error.request.request, {\n retries,\n retryAfter\n });\n return error;\n }\n }\n };\n}\nretry.VERSION = VERSION;\nexport {\n VERSION,\n retry\n};\n", "async function errorRequest(state, octokit, error, options) {\n if (!error.request || !error.request.request) {\n throw error;\n }\n if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {\n const retries = options.request.retries != null ? options.request.retries : state.retries;\n const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);\n throw octokit.retry.retryRequest(error, retries, retryAfter);\n }\n throw error;\n}\nexport {\n errorRequest\n};\n", "import Bottleneck from \"bottleneck/light\";\nimport { RequestError } from \"@octokit/request-error\";\nimport { errorRequest } from \"./error-request\";\nasync function wrapRequest(state, octokit, request, options) {\n const limiter = new Bottleneck();\n limiter.on(\"failed\", function(error, info) {\n const maxRetries = ~~error.request.request.retries;\n const after = ~~error.request.request.retryAfter;\n options.request.retryCount = info.retryCount + 1;\n if (maxRetries > info.retryCount) {\n return after * state.retryAfterBaseValue;\n }\n });\n return limiter.schedule(\n requestWithGraphqlErrorHandling.bind(null, state, octokit, request),\n options\n );\n}\nasync function requestWithGraphqlErrorHandling(state, octokit, request, options) {\n const response = await request(request, options);\n if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test(\n response.data.errors[0].message\n )) {\n const error = new RequestError(response.data.errors[0].message, 500, {\n request: options,\n response\n });\n return errorRequest(state, octokit, error, options);\n }\n return response;\n}\nexport {\n wrapRequest\n};\n"], + "mappings": ";AAAA,SAAS,eAAe;;;ACAxB,eAAe,aAAa,OAAO,SAAS,OAAO,SAAS;AAC1D,MAAI,CAAC,MAAM,WAAW,CAAC,MAAM,QAAQ,SAAS;AAC5C,UAAM;AAAA,EACR;AACA,MAAI,MAAM,UAAU,OAAO,CAAC,MAAM,WAAW,SAAS,MAAM,MAAM,GAAG;AACnE,UAAM,UAAU,QAAQ,QAAQ,WAAW,OAAO,QAAQ,QAAQ,UAAU,MAAM;AAClF,UAAM,aAAa,KAAK,KAAK,QAAQ,QAAQ,cAAc,KAAK,GAAG,CAAC;AACpE,UAAM,QAAQ,MAAM,aAAa,OAAO,SAAS,UAAU;AAAA,EAC7D;AACA,QAAM;AACR;;;ACVA,OAAO,gBAAgB;AACvB,SAAS,oBAAoB;AAE7B,eAAe,YAAY,OAAO,SAAS,SAAS,SAAS;AAC3D,QAAM,UAAU,IAAI,WAAW;AAC/B,UAAQ,GAAG,UAAU,SAAS,OAAO,MAAM;AACzC,UAAM,aAAa,CAAC,CAAC,MAAM,QAAQ,QAAQ;AAC3C,UAAM,QAAQ,CAAC,CAAC,MAAM,QAAQ,QAAQ;AACtC,YAAQ,QAAQ,aAAa,KAAK,aAAa;AAC/C,QAAI,aAAa,KAAK,YAAY;AAChC,aAAO,QAAQ,MAAM;AAAA,IACvB;AAAA,EACF,CAAC;AACD,SAAO,QAAQ;AAAA,IACb,gCAAgC,KAAK,MAAM,OAAO,SAAS,OAAO;AAAA,IAClE;AAAA,EACF;AACF;AACA,eAAe,gCAAgC,OAAO,SAAS,SAAS,SAAS;AAC/E,QAAM,WAAW,MAAM,QAAQ,SAAS,OAAO;AAC/C,MAAI,SAAS,QAAQ,SAAS,KAAK,UAAU,SAAS,KAAK,OAAO,SAAS,KAAK,kDAAkD;AAAA,IAChI,SAAS,KAAK,OAAO,CAAC,EAAE;AAAA,EAC1B,GAAG;AACD,UAAM,QAAQ,IAAI,aAAa,SAAS,KAAK,OAAO,CAAC,EAAE,SAAS,KAAK;AAAA,MACnE,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AACD,WAAO,aAAa,OAAO,SAAS,OAAO,OAAO;AAAA,EACpD;AACA,SAAO;AACT;;;AF3BA,IAAM,UAAU;AAChB,SAAS,MAAM,SAAS,gBAAgB;AACtC,QAAM,QAAQ,OAAO;AAAA,IACnB;AAAA,MACE,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,MACzC,SAAS;AAAA,IACX;AAAA,IACA,eAAe;AAAA,EACjB;AACA,MAAI,MAAM,SAAS;AACjB,YAAQ,KAAK,MAAM,WAAW,aAAa,KAAK,MAAM,OAAO,OAAO,CAAC;AACrE,YAAQ,KAAK,KAAK,WAAW,YAAY,KAAK,MAAM,OAAO,OAAO,CAAC;AAAA,EACrE;AACA,SAAO;AAAA,IACL,OAAO;AAAA,MACL,cAAc,CAAC,OAAO,SAAS,eAAe;AAC5C,cAAM,QAAQ,UAAU,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ,SAAS;AAAA,UAC/D;AAAA,UACA;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AACA,MAAM,UAAU;", "names": [] } diff --git a/node_modules/@octokit/plugin-retry/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/plugin-retry/node_modules/@octokit/request-error/dist-node/index.js index ad4bc5fbb7..9e50e4389a 100644 --- a/node_modules/@octokit/plugin-retry/node_modules/@octokit/request-error/dist-node/index.js +++ b/node_modules/@octokit/plugin-retry/node_modules/@octokit/request-error/dist-node/index.js @@ -57,7 +57,7 @@ var RequestError = class extends Error { if (options.request.headers.authorization) { requestCopy.headers = Object.assign({}, options.request.headers, { authorization: options.request.headers.authorization.replace( - / .*$/, + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n / .*$/,\n \" [REDACTED]\"\n )\n });\n }\n requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(\n new Deprecation(\n \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n )\n );\n return statusCode;\n }\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(\n new Deprecation(\n \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n )\n );\n return headers || {};\n }\n });\n }\n}\nexport {\n RequestError\n};\n"], + "sourcesContent": ["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n / .*$/,\n \" [REDACTED]\"\n )\n });\n }\n requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(\n new Deprecation(\n \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n )\n );\n return statusCode;\n }\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(\n new Deprecation(\n \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n )\n );\n return headers || {};\n }\n });\n }\n}\nexport {\n RequestError\n};\n"], + "sourcesContent": ["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(?=3" + "@octokit/core": "5" }, "devDependencies": { - "@octokit/core": "^4.0.0", + "@octokit/core": "^5.0.0", "@octokit/tsconfig": "^2.0.0", "@types/fetch-mock": "^7.3.1", "@types/jest": "^29.0.0", "@types/node": "^18.0.0", - "esbuild": "^0.18.0", + "esbuild": "^0.19.0", "fetch-mock": "^9.0.0", "glob": "^10.2.6", "jest": "^29.0.0", - "prettier": "2.8.8", + "prettier": "3.0.3", "semantic-release-plugin-update-version-in-files": "^1.0.0", "ts-jest": "^29.0.0", "typescript": "^5.0.0" diff --git a/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/request-error/README.md index 1bf538436c..df15c6d35a 100644 --- a/node_modules/@octokit/request-error/README.md +++ b/node_modules/@octokit/request-error/README.md @@ -1,4 +1,4 @@ -# http-error.js +# request-error.js > Error class for Octokit request errors @@ -12,11 +12,11 @@ Browsers -Load @octokit/request-error directly from cdn.skypack.dev +Load @octokit/request-error directly from esm.sh ```html ``` @@ -28,19 +28,21 @@ Node Install with npm install @octokit/request-error ```js -const { RequestError } = require("@octokit/request-error"); -// or: import { RequestError } from "@octokit/request-error"; +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, { - headers: { - "x-github-request-id": "1:2:3:4", - }, // response headers request: { method: "POST", url: "https://api.github.com/foo", @@ -51,17 +53,41 @@ const error = new RequestError("Oops", 500, { 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; // POST -error.request.url; // https://api.github.com/foo -error.request.body; // { bar: 'baz' } -error.request.headers; // { authorization: 'token [REDACTED]' } +error.request; // { method, url, headers, body } error.response; // { url, status, headers, data } ``` +### Usage with Octokit + +```js +try { + // your code here that sends at least one Octokit request + await octokit.request("GET /"); +} catch (error) { + // Octokit errors always have a `error.status` property which is the http response code + if (error.status) { + // handle Octokit error + } else { + // handle all other errors + throw error; + } +} +``` + ## LICENSE [MIT](LICENSE) diff --git a/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request-error/dist-src/index.js index 5eb192764d..3e97aa3514 100644 --- a/node_modules/@octokit/request-error/dist-src/index.js +++ b/node_modules/@octokit/request-error/dist-src/index.js @@ -1,55 +1,40 @@ -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 || {}; - }, - }); +class RequestError extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; + constructor(message, statusCode, options) { + super(message); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; } + if ("response" in options) { + this.response = options.response; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(?; + response?: OctokitResponse | undefined; constructor(message: string, statusCode: number, options: RequestErrorOptions); } diff --git a/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/request-error/dist-types/types.d.ts index 7785231f78..8b5aa3f217 100644 --- a/node_modules/@octokit/request-error/dist-types/types.d.ts +++ b/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -1,9 +1,5 @@ -import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; -export declare type RequestErrorOptions = { - /** @deprecated set `response` instead */ - headers?: ResponseHeaders; - request: RequestOptions; -} | { - response: OctokitResponse; +import type { RequestOptions, OctokitResponse } from "@octokit/types"; +export type RequestErrorOptions = { + response?: OctokitResponse | undefined; request: RequestOptions; }; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/LICENSE deleted file mode 100644 index c61fbbe5ae..0000000000 --- a/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2020 Gregor Martynus - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/README.md deleted file mode 100644 index 9da833cfb9..0000000000 --- a/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @octokit/openapi-types - -> Generated TypeScript definitions based on GitHub's OpenAPI spec - -This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) - -## Usage - -```ts -import { components } from "@octokit/openapi-types"; - -type Repository = components["schemas"]["full-repository"]; -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/package.json deleted file mode 100644 index 24484a5eb5..0000000000 --- a/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@octokit/openapi-types", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", - "repository": { - "type": "git", - "url": "https://github.com/octokit/openapi-types.ts.git", - "directory": "packages/openapi-types" - }, - "publishConfig": { - "access": "public" - }, - "version": "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/request-error/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/types.d.ts deleted file mode 100644 index 88dc62de8b..0000000000 --- a/node_modules/@octokit/request-error/node_modules/@octokit/openapi-types/types.d.ts +++ /dev/null @@ -1,47095 +0,0 @@ -/** - * 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/request-error/package.json b/node_modules/@octokit/request-error/package.json index 2f5b239422..385a367c15 100644 --- a/node_modules/@octokit/request-error/package.json +++ b/node_modules/@octokit/request-error/package.json @@ -1,47 +1,50 @@ { "name": "@octokit/request-error", + "version": "6.1.7", + "publishConfig": { + "access": "public", + "provenance": true + }, + "type": "module", "description": "Error class for Octokit request errors", - "version": "2.1.0", - "license": "MIT", - "files": [ - "dist-*/", - "bin/" - ], - "pika": true, - "sideEffects": false, + "repository": "github:octokit/request-error.js", "keywords": [ "octokit", "github", "api", "error" ], - "repository": "github:octokit/request-error.js", + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^13.6.2" }, "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" + "@octokit/tsconfig": "^4.0.0", + "@types/node": "^22.0.0", + "@vitest/coverage-v8": "^3.0.0", + "esbuild": "^0.25.0", + "glob": "^11.0.0", + "prettier": "3.4.2", + "tinybench": "^3.0.0", + "typescript": "^5.0.0", + "vitest": "^3.0.0" }, - "publishConfig": { - "access": "public" + "engines": { + "node": ">= 18" }, - "source": "dist-src/index.js", - "types": "dist-types/index.d.ts", - "main": "dist-node/index.js", - "module": "dist-web/index.js" + "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/request/README.md b/node_modules/@octokit/request/README.md index 747a670c53..be3e1cccef 100644 --- a/node_modules/@octokit/request/README.md +++ b/node_modules/@octokit/request/README.md @@ -3,33 +3,34 @@ > 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%3Amaster) +[![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) -([node-fetch](https://github.com/bitinn/node-fetch) in Node). +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. -- [Features](#features) -- [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) - - [Alternative: pass `method` & `url` as part of options](#alternative-pass-method--url-as-part-of-options) -- [Authentication](#authentication) -- [request()](#request) -- [`request.defaults()`](#requestdefaults) -- [`request.endpoint`](#requestendpoint) -- [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) -- [LICENSE](#license) +- [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) @@ -57,7 +58,7 @@ request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - `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)` +- `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. @@ -70,11 +71,11 @@ request("POST /repos/{owner}/{repo}/issues/{number}/labels", { Browsers -Load @octokit/request directly from cdn.skypack.dev - +Load @octokit/request directly from esm.sh + ```html ``` @@ -86,8 +87,7 @@ Node Install with npm install @octokit/request ```js -const { request } = require("@octokit/request"); -// or: import { request } from "@octokit/request"; +import { request } from "@octokit/request"; ``` @@ -164,7 +164,7 @@ const result = await requestWithAuth("GET /user"); For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). ```js -const { createAppAuth } = require("@octokit/auth-app"); +import { createAppAuth } from "@octokit/auth-app"; const auth = createAppAuth({ appId: process.env.APP_ID, privateKey: process.env.PRIVATE_KEY, @@ -186,7 +186,7 @@ const { data: app } = await requestWithAuth( owner: "octocat", repo: "hello-world", title: "Hello from the engine room", - } + }, ); ``` @@ -246,35 +246,36 @@ const { data: app } = await requestWithAuth( - options.mediaType.format + options.method String - Media type param, such as `raw`, `html`, or `full`. See Media Types. + Any supported http verb, case-insensitive. Defaults to Get. - options.mediaType.previews + options.mediaType.format - Array of strings + String - Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See API Previews. + Media type param, such as `raw`, `html`, or `full`. See Media Types. - options.method + options.mediaType.previews - String + Array of strings - Any supported http verb, case insensitive. Defaults to Get. + 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. @@ -300,17 +301,7 @@ const { data: app } = await requestWithAuth( 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 @@ -319,7 +310,7 @@ const { data: app } = await requestWithAuth( Function - Custom replacement for built-in fetch method. Useful for testing or request hooks. + Custom replacement for fetch. Useful for testing or request hooks. @@ -330,7 +321,7 @@ const { data: app } = await requestWithAuth( 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. + 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. @@ -354,15 +345,15 @@ const { data: app } = await requestWithAuth( Used for internal logging. Defaults to console. - + - options.request.timeout + options.request.parseSuccessResponseBody - Number + boolean - Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). options.request.signal is recommended instead. + 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. @@ -375,7 +366,7 @@ All other options except `options.request.*` will be passed depending on the `me **Result** -`request` returns a promise and resolves with 4 keys +`request` returns a promise. If the request was successful, the promise resolves with an object containing 4 keys: @@ -413,18 +404,21 @@ 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 +If an error occurs, the promise is rejected with an `error` object containing 3 keys to help with debugging: - `error.status` The http response status code - `error.request` The request options such as `method`, `url` and `data` - `error.response` The http response object with `url`, `headers`, and `data` +If the error is due to an `AbortSignal` being used, the resulting `AbortError` is bubbled up to the caller. + ## `request.defaults()` Override or set default options. Example: ```js -const myrequest = require("@octokit/request").defaults({ +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", @@ -542,10 +536,44 @@ request( authorization: `token 0000000000000000000000000000000000000001`, }, data: "Hello, world!", - } + }, ); ``` +### Set a custom Agent to your requests + +The way to pass a custom `Agent` to requests is by creating a custom `fetch` function and pass it as `options.request.fetch`. A good example can be [undici's `fetch` implementation](https://undici.nodejs.org/#/?id=undicifetchinput-init-promise). + +Example ([See example in CodeSandbox](https://codesandbox.io/p/sandbox/nifty-stitch-wdlwlf)) + +```js +import { request } from "@octokit/request"; +import { fetch as undiciFetch, Agent } from "undici"; + +/** @type {typeof import("undici").fetch} */ +const myFetch = (url, options) => { + return undiciFetch(url, { + ...options, + dispatcher: new Agent({ + keepAliveTimeout: 10, + keepAliveMaxTimeout: 10, + }), + }); +}; + +const { data } = await request("GET /users/{username}", { + username: "octocat", + headers: { + "X-GitHub-Api-Version": "2022-11-28", + }, + options: { + request: { + fetch: myFetch, + }, + }, +}); +``` + ## LICENSE [MIT](LICENSE) diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/request/dist-bundle/index.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-bundle/index.js rename to node_modules/@octokit/request/dist-bundle/index.js diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/request/dist-bundle/index.js.map similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-bundle/index.js.map rename to node_modules/@octokit/request/dist-bundle/index.js.map diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/request/dist-src/defaults.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-src/defaults.js rename to node_modules/@octokit/request/dist-src/defaults.js diff --git a/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/request/dist-src/fetch-wrapper.js index 79653c4242..ca64d8e2b5 100644 --- a/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ b/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -1,119 +1,140 @@ -import { isPlainObject } from "is-plain-object"; -import nodeFetch from "node-fetch"; +import { safeParse } from "fast-content-type-parse"; +import { isPlainObject } from "./is-plain-object.js"; 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); - } - let headers = {}; - let status; - let url; - const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; - return fetch(requestOptions.url, Object.assign({ - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect, - }, - // `requestOptions.request.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 requests - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: undefined, - }, - request: requestOptions, - }); - } - if (status === 304) { - throw new RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response), - }, - request: requestOptions, - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data, - }, - request: requestOptions, - }); - throw error; +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) ? JSON.stringify(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; } - return getResponseData(response); - }) - .then((data) => { - return { - status, - url, - headers, - data, - }; - }) - .catch((error) => { - if (error instanceof RequestError) - throw error; - throw new RequestError(error.message, 500, { - request: requestOptions, - }); + } + } + 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 (/application\/json/.test(contentType)) { - return response.json(); + const contentType = response.headers.get("content-type"); + if (!contentType) { + return response.text().catch(() => ""); + } + const mimetype = safeParse(contentType); + if (isJSONResponse(mimetype)) { + let text = ""; + try { + text = await response.text(); + return JSON.parse(text); + } catch (err) { + return text; } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBuffer(response); + } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { + return response.text().catch(() => ""); + } else { + return response.arrayBuffer().catch(() => new ArrayBuffer(0)); + } +} +function isJSONResponse(mimetype) { + return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; } function toErrorMessage(data) { - if (typeof data === "string") - return data; - // 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)}`; + 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/request/dist-src/index.js b/node_modules/@octokit/request/dist-src/index.js index 2460e992c7..42dfe6cff5 100644 --- a/node_modules/@octokit/request/dist-src/index.js +++ b/node_modules/@octokit/request/dist-src/index.js @@ -1,9 +1,7 @@ import { endpoint } from "@octokit/endpoint"; -import { getUserAgent } from "universal-user-agent"; -import { VERSION } from "./version"; -import withDefaults from "./with-defaults"; -export const request = withDefaults(endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, - }, -}); +import defaults from "./defaults.js"; +import withDefaults from "./with-defaults.js"; +const request = withDefaults(endpoint, defaults); +export { + request +}; diff --git a/node_modules/@octokit/app/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/request/dist-src/is-plain-object.js similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-src/is-plain-object.js rename to node_modules/@octokit/request/dist-src/is-plain-object.js diff --git a/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/request/dist-src/version.js index a068c68c62..9acd8329a3 100644 --- a/node_modules/@octokit/request/dist-src/version.js +++ b/node_modules/@octokit/request/dist-src/version.js @@ -1 +1,4 @@ -export const VERSION = "5.6.3"; +const VERSION = "9.2.2"; +export { + VERSION +}; diff --git a/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/request/dist-src/with-defaults.js index e206429457..b2dd7ad6b9 100644 --- a/node_modules/@octokit/request/dist-src/with-defaults.js +++ b/node_modules/@octokit/request/dist-src/with-defaults.js @@ -1,22 +1,27 @@ -import fetchWrapper from "./fetch-wrapper"; -export default function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - const newApi = function (route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - const request = (route, parameters) => { - return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); - }; - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint), - }); - return endpointOptions.request.hook(request, endpointOptions); +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)) + ); }; - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint), + 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/app/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/request/dist-types/defaults.d.ts similarity index 100% rename from node_modules/@octokit/app/node_modules/@octokit/request/dist-types/defaults.d.ts rename to node_modules/@octokit/request/dist-types/defaults.d.ts 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 4901c79e7c..880643c29a 100644 --- a/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -1,11 +1,2 @@ -import { EndpointInterface } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType & { - redirect?: "error" | "follow" | "manual"; -}): Promise<{ - status: number; - url: string; - headers: { - [header: string]: string; - }; - data: any; -}>; +import type { EndpointInterface, OctokitResponse } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/@octokit/request/dist-types/is-plain-object.d.ts similarity index 100% rename from node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/dist-types/is-plain-object.d.ts rename to node_modules/@octokit/request/dist-types/is-plain-object.d.ts diff --git a/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/request/dist-types/version.d.ts index 5629807eaa..b27d7d03fc 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 = "5.6.3"; +export declare const VERSION = "9.2.2"; 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 00804693a6..4300682f02 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 { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; +import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/request/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/request/node_modules/@octokit/openapi-types/LICENSE deleted file mode 100644 index c61fbbe5ae..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/openapi-types/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2020 Gregor Martynus - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/request/node_modules/@octokit/openapi-types/README.md deleted file mode 100644 index 9da833cfb9..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/openapi-types/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @octokit/openapi-types - -> Generated TypeScript definitions based on GitHub's OpenAPI spec - -This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) - -## Usage - -```ts -import { components } from "@octokit/openapi-types"; - -type Repository = components["schemas"]["full-repository"]; -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/request/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/request/node_modules/@octokit/openapi-types/package.json deleted file mode 100644 index 24484a5eb5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/openapi-types/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@octokit/openapi-types", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", - "repository": { - "type": "git", - "url": "https://github.com/octokit/openapi-types.ts.git", - "directory": "packages/openapi-types" - }, - "publishConfig": { - "access": "public" - }, - "version": "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/request/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/request/node_modules/@octokit/openapi-types/types.d.ts deleted file mode 100644 index 88dc62de8b..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/openapi-types/types.d.ts +++ /dev/null @@ -1,47095 +0,0 @@ -/** - * 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/request/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js deleted file mode 100644 index b3c252be28..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'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/request/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js.map deleted file mode 100644 index 2d148d3b95..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-node/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointDefaults.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointDefaults.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointInterface.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointInterface.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointOptions.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/EndpointOptions.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Fetch.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Fetch.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/OctokitResponse.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/OctokitResponse.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestError.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestError.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestHeaders.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestHeaders.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestInterface.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestInterface.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestMethod.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestMethod.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestOptions.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestOptions.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestParameters.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestParameters.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestRequestOptions.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/RequestRequestOptions.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/ResponseHeaders.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/ResponseHeaders.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Route.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Route.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Signal.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Signal.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/StrategyInterface.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/StrategyInterface.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Url.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/Url.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/VERSION.js deleted file mode 100644 index 45a11b8084..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/VERSION.js +++ /dev/null @@ -1 +0,0 @@ -export const VERSION = "6.41.0"; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/generated/Endpoints.js deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/generated/Endpoints.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/index.js deleted file mode 100644 index 004ae9b220..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-src/index.js +++ /dev/null @@ -1,21 +0,0 @@ -export * from "./AuthInterface"; -export * from "./EndpointDefaults"; -export * from "./EndpointInterface"; -export * from "./EndpointOptions"; -export * from "./Fetch"; -export * from "./OctokitResponse"; -export * from "./RequestError"; -export * from "./RequestHeaders"; -export * from "./RequestInterface"; -export * from "./RequestMethod"; -export * from "./RequestOptions"; -export * from "./RequestParameters"; -export * from "./RequestRequestOptions"; -export * from "./ResponseHeaders"; -export * from "./Route"; -export * from "./Signal"; -export * from "./StrategyInterface"; -export * from "./Url"; -export * from "./VERSION"; -export * from "./GetResponseTypeFromEndpointMethod"; -export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts deleted file mode 100644 index b1b91f11f3..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -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/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts deleted file mode 100644 index 70e1a8d466..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -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/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestMethod.d.ts deleted file mode 100644 index e999c8d96c..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestMethod.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 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/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestOptions.d.ts deleted file mode 100644 index 97e2181ca7..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/RequestOptions.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -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/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/VERSION.d.ts deleted file mode 100644 index dc2457577e..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-types/VERSION.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "6.41.0"; diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js deleted file mode 100644 index b1b47d59e1..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "6.41.0"; - -export { VERSION }; -//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js.map deleted file mode 100644 index cd0e254a57..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/dist-web/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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/node_modules/@octokit/types/package.json b/node_modules/@octokit/request/node_modules/@octokit/types/package.json deleted file mode 100644 index 960747f1e2..0000000000 --- a/node_modules/@octokit/request/node_modules/@octokit/types/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "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/@octokit/request/node_modules/universal-user-agent/.github/workflows/release.yml b/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/release.yml new file mode 100644 index 0000000000..1f75564eb2 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/release.yml @@ -0,0 +1,22 @@ +name: Release +"on": + push: + branches: + - master + - next + - beta + - "*.x" +jobs: + release: + name: release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: lts/* + - run: npm ci + - run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/test.yml b/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/test.yml new file mode 100644 index 0000000000..439cb0ef39 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/test.yml @@ -0,0 +1,38 @@ +name: Test +on: + push: + branches: + - master + pull_request: + types: + - opened + - synchronize + +jobs: + test_matrix: + runs-on: ubuntu-latest + strategy: + matrix: + node_version: + - 12 + - 14 + - 16 + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node_version }} + uses: uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node_version }} + cache: npm + - run: npm ci + - run: npm run test:code + + test: + runs-on: ubuntu-latest + needs: test_matrix + steps: + - uses: actions/checkout@v2 + - run: npm ci + - run: npm run lint + - run: npm run test:types diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/update-prettier.yml b/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/update-prettier.yml new file mode 100644 index 0000000000..d740d657ec --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/.github/workflows/update-prettier.yml @@ -0,0 +1,25 @@ +name: Update Prettier +"on": + push: + branches: + - renovate/prettier-* +jobs: + update_prettier: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + version: 12 + cache: npm + node-version: 16 + - run: npm ci + - run: npm run lint:fix + - uses: gr2m/create-or-update-pull-request-action@v1.x + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + title: Prettier updated + body: An update to prettier required updates to your code. + branch: ${{ github.ref }} + commit-message: "style: prettier" diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/CODE_OF_CONDUCT.md b/node_modules/@octokit/request/node_modules/universal-user-agent/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000..dad5ddc09a --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual attention or + advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at opensource+coc@martynus.net. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [https://contributor-covenant.org/version/1/4][version] + +[homepage]: https://contributor-covenant.org +[version]: https://contributor-covenant.org/version/1/4/ diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md b/node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md new file mode 100644 index 0000000000..e1d0d65518 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md @@ -0,0 +1,7 @@ +# [ISC License](https://spdx.org/licenses/ISC) + +Copyright (c) 2018-2021, Gregor Martynus (https://github.com/gr2m) + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/README.md b/node_modules/@octokit/request/node_modules/universal-user-agent/README.md new file mode 100644 index 0000000000..f0f48cb14f --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/README.md @@ -0,0 +1,19 @@ +# universal-user-agent + +> Get a user agent string across all JavaScript Runtime Environments + +[![@latest](https://img.shields.io/npm/v/universal-user-agent.svg)](https://www.npmjs.com/package/universal-user-agent) +[![Build Status](https://github.com/gr2m/universal-user-agent/workflows/Test/badge.svg)](https://github.com/gr2m/universal-user-agent/actions/workflows/test.yml?query=workflow%3ATest) + +```js +import { getUserAgent } from "universal-user-agent"; + +const userAgent = getUserAgent(); +// userAgent will look like this +// in browser: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0" +// in node: Node.js/v8.9.4 (macOS High Sierra; x64) +``` + +## License + +[ISC](LICENSE.md) diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/index.d.ts b/node_modules/@octokit/request/node_modules/universal-user-agent/index.d.ts new file mode 100644 index 0000000000..6e60db812c --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/index.d.ts @@ -0,0 +1,4 @@ +/** + * Returns a User Agent String based on the current environment (Browser, Node, Deno, etc). + */ +export function getUserAgent(): string; diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/index.js b/node_modules/@octokit/request/node_modules/universal-user-agent/index.js new file mode 100644 index 0000000000..83bb81febb --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/index.js @@ -0,0 +1,13 @@ +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/index.test-d.ts b/node_modules/@octokit/request/node_modules/universal-user-agent/index.test-d.ts new file mode 100644 index 0000000000..00bbfc6de6 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/index.test-d.ts @@ -0,0 +1,5 @@ +import { expectType } from "tsd"; + +import { getUserAgent } from "./index.js"; + +expectType(getUserAgent()); diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/package.json b/node_modules/@octokit/request/node_modules/universal-user-agent/package.json new file mode 100644 index 0000000000..0386f75282 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/package.json @@ -0,0 +1,23 @@ +{ + "name": "universal-user-agent", + "version": "7.0.2", + "type": "module", + "description": "Get a user agent string across all JavaScript Runtime Environments", + "exports": "./index.js", + "types": "index.d.ts", + "repository": "github:gr2m/universal-user-agent", + "keywords": [], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "ISC", + "scripts": { + "lint": "prettier --check '*.{js,json,md}'", + "lint:fix": "prettier --write '*.{js,json,md}'", + "test": "npm run test:code && npm run test:types", + "test:code": "node test.js", + "test:types": "tsd" + }, + "devDependencies": { + "prettier": "^2.0.0", + "tsd": "^0.17.0" + } +} diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/test.js b/node_modules/@octokit/request/node_modules/universal-user-agent/test.js new file mode 100644 index 0000000000..c24cdc77f6 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/test.js @@ -0,0 +1,8 @@ +import assert from "node:assert"; + +import { getUserAgent } from "./index.js"; + +assert(getUserAgent instanceof Function, "getUserAgent is a function"); +assert.equal(typeof getUserAgent(), "string", "getUserAgent returns a string"); + +console.log("ok"); diff --git a/node_modules/@octokit/request/package.json b/node_modules/@octokit/request/package.json index e38c95577f..e7b87a33ef 100644 --- a/node_modules/@octokit/request/package.json +++ b/node_modules/@octokit/request/package.json @@ -1,56 +1,56 @@ { "name": "@octokit/request", + "version": "9.2.2", + "type": "module", + "publishConfig": { + "access": "public", + "provenance": true + }, "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", - "version": "5.6.3", - "license": "MIT", - "files": [ - "dist-*/", - "bin/" - ], - "pika": true, - "sideEffects": false, + "repository": "github:octokit/request.js", "keywords": [ "octokit", "github", "api", "request" ], - "repository": "github:octokit/request.js", + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", "dependencies": { - "@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" + "@octokit/endpoint": "^10.1.3", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" }, "devDependencies": { - "@octokit/auth-app": "^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.2.4", - "@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": "^9.3.1", - "jest": "^27.0.0", - "lolex": "^6.0.0", - "prettier": "2.4.1", - "semantic-release": "^18.0.0", + "@octokit/auth-app": "^7.0.0", + "@octokit/tsconfig": "^4.0.0", + "@types/node": "^22.0.0", + "@vitest/coverage-v8": "^3.0.0", + "esbuild": "^0.25.0", + "fetch-mock": "^12.0.0", + "glob": "^11.0.0", + "prettier": "3.5.1", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "string-to-arraybuffer": "^1.0.2", - "ts-jest": "^27.0.0", - "typescript": "^4.0.2" + "typescript": "^5.0.0", + "undici": "^6.19.2", + "vitest": "^3.0.0" }, - "publishConfig": { - "access": "public" + "engines": { + "node": ">= 18" }, - "source": "dist-src/index.js", + "files": [ + "dist-*/**", + "bin/**" + ], "types": "dist-types/index.d.ts", - "main": "dist-node/index.js", - "module": "dist-web/index.js" + "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/webhooks/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/LICENSE deleted file mode 100644 index ef2c18ee5b..0000000000 --- a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/webhooks/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/@octokit/webhooks/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/camel-case/LICENSE b/node_modules/camel-case/LICENSE deleted file mode 100644 index 983fbe8aec..0000000000 --- a/node_modules/camel-case/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/camel-case/README.md b/node_modules/camel-case/README.md deleted file mode 100644 index 33ecb1be82..0000000000 --- a/node_modules/camel-case/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# Camel Case - -[![NPM version][npm-image]][npm-url] -[![NPM downloads][downloads-image]][downloads-url] -[![Bundle size][bundlephobia-image]][bundlephobia-url] - -> Transform into a string with the separator denoted by the next word capitalized. - -## Installation - -``` -npm install camel-case --save -``` - -## Usage - -```js -import { camelCase } from "camel-case"; - -camelCase("string"); //=> "string" -camelCase("dot.case"); //=> "dotCase" -camelCase("PascalCase"); //=> "pascalCase" -camelCase("version 1.2.10"); //=> "version_1_2_10" -``` - -The function also accepts [`options`](https://github.com/blakeembrey/change-case#options). - -### Merge Numbers - -If you'd like to remove the behavior prefixing `_` before numbers, you can use `camelCaseTransformMerge`: - -```js -import { camelCaseTransformMerge } from "camel-case"; - -camelCase("version 12", { transform: camelCaseTransformMerge }); //=> "version12" -``` - -## License - -MIT - -[npm-image]: https://img.shields.io/npm/v/camel-case.svg?style=flat -[npm-url]: https://npmjs.org/package/camel-case -[downloads-image]: https://img.shields.io/npm/dm/camel-case.svg?style=flat -[downloads-url]: https://npmjs.org/package/camel-case -[bundlephobia-image]: https://img.shields.io/bundlephobia/minzip/camel-case.svg -[bundlephobia-url]: https://bundlephobia.com/result?p=camel-case diff --git a/node_modules/camel-case/dist.es2015/index.d.ts b/node_modules/camel-case/dist.es2015/index.d.ts deleted file mode 100644 index 23c665c612..0000000000 --- a/node_modules/camel-case/dist.es2015/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Options } from "pascal-case"; -export { Options }; -export declare function camelCaseTransform(input: string, index: number): string; -export declare function camelCaseTransformMerge(input: string, index: number): string; -export declare function camelCase(input: string, options?: Options): string; diff --git a/node_modules/camel-case/dist.es2015/index.js b/node_modules/camel-case/dist.es2015/index.js deleted file mode 100644 index c5fd0a4c54..0000000000 --- a/node_modules/camel-case/dist.es2015/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import { __assign } from "tslib"; -import { pascalCase, pascalCaseTransform, pascalCaseTransformMerge, } from "pascal-case"; -export function camelCaseTransform(input, index) { - if (index === 0) - return input.toLowerCase(); - return pascalCaseTransform(input, index); -} -export function camelCaseTransformMerge(input, index) { - if (index === 0) - return input.toLowerCase(); - return pascalCaseTransformMerge(input); -} -export function camelCase(input, options) { - if (options === void 0) { options = {}; } - return pascalCase(input, __assign({ transform: camelCaseTransform }, options)); -} -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/camel-case/dist.es2015/index.js.map b/node_modules/camel-case/dist.es2015/index.js.map deleted file mode 100644 index b9ef1debb7..0000000000 --- a/node_modules/camel-case/dist.es2015/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,aAAa,CAAC;AAIrB,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,KAAa;IAC7D,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,KAAa;IAClE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,OAAqB;IAArB,wBAAA,EAAA,YAAqB;IAC5D,OAAO,UAAU,CAAC,KAAK,aACrB,SAAS,EAAE,kBAAkB,IAC1B,OAAO,EACV,CAAC;AACL,CAAC","sourcesContent":["import {\n pascalCase,\n pascalCaseTransform,\n pascalCaseTransformMerge,\n Options,\n} from \"pascal-case\";\n\nexport { Options };\n\nexport function camelCaseTransform(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\n\nexport function camelCaseTransformMerge(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\n\nexport function camelCase(input: string, options: Options = {}) {\n return pascalCase(input, {\n transform: camelCaseTransform,\n ...options,\n });\n}\n"]} \ No newline at end of file diff --git a/node_modules/camel-case/dist.es2015/index.spec.d.ts b/node_modules/camel-case/dist.es2015/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/camel-case/dist.es2015/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/camel-case/dist.es2015/index.spec.js b/node_modules/camel-case/dist.es2015/index.spec.js deleted file mode 100644 index 0396a8ace4..0000000000 --- a/node_modules/camel-case/dist.es2015/index.spec.js +++ /dev/null @@ -1,24 +0,0 @@ -import { camelCase, camelCaseTransformMerge } from "."; -var TEST_CASES = [ - ["", ""], - ["test", "test"], - ["test string", "testString"], - ["Test String", "testString"], - ["TestV2", "testV2"], - ["_foo_bar_", "fooBar"], - ["version 1.2.10", "version_1_2_10"], - ["version 1.21.0", "version_1_21_0"], - ["version 1.2.10", "version1210", { transform: camelCaseTransformMerge }], -]; -describe("camel case", function () { - var _loop_1 = function (input, result, options) { - it(input + " -> " + result, function () { - expect(camelCase(input, options)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1], options = _a[2]; - _loop_1(input, result, options); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/camel-case/dist.es2015/index.spec.js.map b/node_modules/camel-case/dist.es2015/index.spec.js.map deleted file mode 100644 index 13472d71dc..0000000000 --- a/node_modules/camel-case/dist.es2015/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAW,MAAM,GAAG,CAAC;AAEhE,IAAM,UAAU,GAAiC;IAC/C,CAAC,EAAE,EAAE,EAAE,CAAC;IACR,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,WAAW,EAAE,QAAQ,CAAC;IACvB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;CAC1E,CAAC;AAEF,QAAQ,CAAC,YAAY,EAAE;4BACT,KAAK,EAAE,MAAM,EAAE,OAAO;QAChC,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;;IAHL,KAAuC,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAAtC,IAAA,qBAAwB,EAAvB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,OAAO,QAAA;gBAAtB,KAAK,EAAE,MAAM,EAAE,OAAO;KAIjC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { camelCase, camelCaseTransformMerge, Options } from \".\";\n\nconst TEST_CASES: [string, string, Options?][] = [\n [\"\", \"\"],\n [\"test\", \"test\"],\n [\"test string\", \"testString\"],\n [\"Test String\", \"testString\"],\n [\"TestV2\", \"testV2\"],\n [\"_foo_bar_\", \"fooBar\"],\n [\"version 1.2.10\", \"version_1_2_10\"],\n [\"version 1.21.0\", \"version_1_21_0\"],\n [\"version 1.2.10\", \"version1210\", { transform: camelCaseTransformMerge }],\n];\n\ndescribe(\"camel case\", () => {\n for (const [input, result, options] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(camelCase(input, options)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/camel-case/dist/index.d.ts b/node_modules/camel-case/dist/index.d.ts deleted file mode 100644 index 23c665c612..0000000000 --- a/node_modules/camel-case/dist/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Options } from "pascal-case"; -export { Options }; -export declare function camelCaseTransform(input: string, index: number): string; -export declare function camelCaseTransformMerge(input: string, index: number): string; -export declare function camelCase(input: string, options?: Options): string; diff --git a/node_modules/camel-case/dist/index.js b/node_modules/camel-case/dist/index.js deleted file mode 100644 index 856a8d3d0c..0000000000 --- a/node_modules/camel-case/dist/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.camelCase = exports.camelCaseTransformMerge = exports.camelCaseTransform = void 0; -var tslib_1 = require("tslib"); -var pascal_case_1 = require("pascal-case"); -function camelCaseTransform(input, index) { - if (index === 0) - return input.toLowerCase(); - return pascal_case_1.pascalCaseTransform(input, index); -} -exports.camelCaseTransform = camelCaseTransform; -function camelCaseTransformMerge(input, index) { - if (index === 0) - return input.toLowerCase(); - return pascal_case_1.pascalCaseTransformMerge(input); -} -exports.camelCaseTransformMerge = camelCaseTransformMerge; -function camelCase(input, options) { - if (options === void 0) { options = {}; } - return pascal_case_1.pascalCase(input, tslib_1.__assign({ transform: camelCaseTransform }, options)); -} -exports.camelCase = camelCase; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/camel-case/dist/index.js.map b/node_modules/camel-case/dist/index.js.map deleted file mode 100644 index 2636e6678e..0000000000 --- a/node_modules/camel-case/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,2CAKqB;AAIrB,SAAgB,kBAAkB,CAAC,KAAa,EAAE,KAAa;IAC7D,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,iCAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAHD,gDAGC;AAED,SAAgB,uBAAuB,CAAC,KAAa,EAAE,KAAa;IAClE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,sCAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAHD,0DAGC;AAED,SAAgB,SAAS,CAAC,KAAa,EAAE,OAAqB;IAArB,wBAAA,EAAA,YAAqB;IAC5D,OAAO,wBAAU,CAAC,KAAK,qBACrB,SAAS,EAAE,kBAAkB,IAC1B,OAAO,EACV,CAAC;AACL,CAAC;AALD,8BAKC","sourcesContent":["import {\n pascalCase,\n pascalCaseTransform,\n pascalCaseTransformMerge,\n Options,\n} from \"pascal-case\";\n\nexport { Options };\n\nexport function camelCaseTransform(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\n\nexport function camelCaseTransformMerge(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\n\nexport function camelCase(input: string, options: Options = {}) {\n return pascalCase(input, {\n transform: camelCaseTransform,\n ...options,\n });\n}\n"]} \ No newline at end of file diff --git a/node_modules/camel-case/dist/index.spec.d.ts b/node_modules/camel-case/dist/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/camel-case/dist/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/camel-case/dist/index.spec.js b/node_modules/camel-case/dist/index.spec.js deleted file mode 100644 index 7826a52741..0000000000 --- a/node_modules/camel-case/dist/index.spec.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var _1 = require("."); -var TEST_CASES = [ - ["", ""], - ["test", "test"], - ["test string", "testString"], - ["Test String", "testString"], - ["TestV2", "testV2"], - ["_foo_bar_", "fooBar"], - ["version 1.2.10", "version_1_2_10"], - ["version 1.21.0", "version_1_21_0"], - ["version 1.2.10", "version1210", { transform: _1.camelCaseTransformMerge }], -]; -describe("camel case", function () { - var _loop_1 = function (input, result, options) { - it(input + " -> " + result, function () { - expect(_1.camelCase(input, options)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1], options = _a[2]; - _loop_1(input, result, options); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/camel-case/dist/index.spec.js.map b/node_modules/camel-case/dist/index.spec.js.map deleted file mode 100644 index 44f7e9260e..0000000000 --- a/node_modules/camel-case/dist/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,sBAAgE;AAEhE,IAAM,UAAU,GAAiC;IAC/C,CAAC,EAAE,EAAE,EAAE,CAAC;IACR,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,WAAW,EAAE,QAAQ,CAAC;IACvB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,0BAAuB,EAAE,CAAC;CAC1E,CAAC;AAEF,QAAQ,CAAC,YAAY,EAAE;4BACT,KAAK,EAAE,MAAM,EAAE,OAAO;QAChC,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,YAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;;IAHL,KAAuC,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAAtC,IAAA,qBAAwB,EAAvB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,OAAO,QAAA;gBAAtB,KAAK,EAAE,MAAM,EAAE,OAAO;KAIjC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { camelCase, camelCaseTransformMerge, Options } from \".\";\n\nconst TEST_CASES: [string, string, Options?][] = [\n [\"\", \"\"],\n [\"test\", \"test\"],\n [\"test string\", \"testString\"],\n [\"Test String\", \"testString\"],\n [\"TestV2\", \"testV2\"],\n [\"_foo_bar_\", \"fooBar\"],\n [\"version 1.2.10\", \"version_1_2_10\"],\n [\"version 1.21.0\", \"version_1_21_0\"],\n [\"version 1.2.10\", \"version1210\", { transform: camelCaseTransformMerge }],\n];\n\ndescribe(\"camel case\", () => {\n for (const [input, result, options] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(camelCase(input, options)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/camel-case/node_modules/tslib/CopyrightNotice.txt b/node_modules/camel-case/node_modules/tslib/CopyrightNotice.txt deleted file mode 100644 index 0e42542369..0000000000 --- a/node_modules/camel-case/node_modules/tslib/CopyrightNotice.txt +++ /dev/null @@ -1,15 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - diff --git a/node_modules/camel-case/node_modules/tslib/LICENSE.txt b/node_modules/camel-case/node_modules/tslib/LICENSE.txt deleted file mode 100644 index bfe6430cb0..0000000000 --- a/node_modules/camel-case/node_modules/tslib/LICENSE.txt +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/node_modules/camel-case/node_modules/tslib/README.md b/node_modules/camel-case/node_modules/tslib/README.md deleted file mode 100644 index 290cc618fb..0000000000 --- a/node_modules/camel-case/node_modules/tslib/README.md +++ /dev/null @@ -1,164 +0,0 @@ -# tslib - -This is a runtime library for [TypeScript](https://www.typescriptlang.org/) that contains all of the TypeScript helper functions. - -This library is primarily used by the `--importHelpers` flag in TypeScript. -When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file: - -```ts -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -exports.x = {}; -exports.y = __assign({}, exports.x); - -``` - -will instead be emitted as something like the following: - -```ts -var tslib_1 = require("tslib"); -exports.x = {}; -exports.y = tslib_1.__assign({}, exports.x); -``` - -Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead. -For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`. - -# Installing - -For the latest stable version, run: - -## npm - -```sh -# TypeScript 3.9.2 or later -npm install tslib - -# TypeScript 3.8.4 or earlier -npm install tslib@^1 - -# TypeScript 2.3.2 or earlier -npm install tslib@1.6.1 -``` - -## yarn - -```sh -# TypeScript 3.9.2 or later -yarn add tslib - -# TypeScript 3.8.4 or earlier -yarn add tslib@^1 - -# TypeScript 2.3.2 or earlier -yarn add tslib@1.6.1 -``` - -## bower - -```sh -# TypeScript 3.9.2 or later -bower install tslib - -# TypeScript 3.8.4 or earlier -bower install tslib@^1 - -# TypeScript 2.3.2 or earlier -bower install tslib@1.6.1 -``` - -## JSPM - -```sh -# TypeScript 3.9.2 or later -jspm install tslib - -# TypeScript 3.8.4 or earlier -jspm install tslib@^1 - -# TypeScript 2.3.2 or earlier -jspm install tslib@1.6.1 -``` - -# Usage - -Set the `importHelpers` compiler option on the command line: - -``` -tsc --importHelpers file.ts -``` - -or in your tsconfig.json: - -```json -{ - "compilerOptions": { - "importHelpers": true - } -} -``` - -#### For bower and JSPM users - -You will need to add a `paths` mapping for `tslib`, e.g. For Bower users: - -```json -{ - "compilerOptions": { - "module": "amd", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["bower_components/tslib/tslib.d.ts"] - } - } -} -``` - -For JSPM users: - -```json -{ - "compilerOptions": { - "module": "system", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["jspm_packages/npm/tslib@2.x.y/tslib.d.ts"] - } - } -} -``` - -## Deployment - -- Choose your new version number -- Set it in `package.json` and `bower.json` -- Create a tag: `git tag [version]` -- Push the tag: `git push --tags` -- Create a [release in GitHub](https://github.com/microsoft/tslib/releases) -- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflow - -Done. - -# Contribute - -There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript. - -* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in. -* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls). -* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript). -* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter. -* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md). - -# Documentation - -* [Quick tutorial](http://www.typescriptlang.org/Tutorial) -* [Programming handbook](http://www.typescriptlang.org/Handbook) -* [Homepage](http://www.typescriptlang.org/) diff --git a/node_modules/camel-case/node_modules/tslib/SECURITY.md b/node_modules/camel-case/node_modules/tslib/SECURITY.md deleted file mode 100644 index 869fdfe2b2..0000000000 --- a/node_modules/camel-case/node_modules/tslib/SECURITY.md +++ /dev/null @@ -1,41 +0,0 @@ - - -## Security - -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). - -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues.** - -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). - -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). - -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) - * Full paths of source file(s) related to the manifestation of the issue - * The location of the affected source code (tag/branch/commit or direct URL) - * Any special configuration required to reproduce the issue - * Step-by-step instructions to reproduce the issue - * Proof-of-concept or exploit code (if possible) - * Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. - -## Preferred Languages - -We prefer all communications to be in English. - -## Policy - -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). - - diff --git a/node_modules/camel-case/node_modules/tslib/modules/index.d.ts b/node_modules/camel-case/node_modules/tslib/modules/index.d.ts deleted file mode 100644 index 0fedae881e..0000000000 --- a/node_modules/camel-case/node_modules/tslib/modules/index.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Note: named reexports are used instead of `export *` because -// TypeScript itself doesn't resolve the `export *` when checking -// if a particular helper exists. -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __createBinding, - __addDisposableResource, - __disposeResources, -} from '../tslib.js'; -export * as default from '../tslib.js'; diff --git a/node_modules/camel-case/node_modules/tslib/modules/index.js b/node_modules/camel-case/node_modules/tslib/modules/index.js deleted file mode 100644 index af9f5ac4e2..0000000000 --- a/node_modules/camel-case/node_modules/tslib/modules/index.js +++ /dev/null @@ -1,68 +0,0 @@ -import tslib from '../tslib.js'; -const { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -} = tslib; -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; -export default tslib; diff --git a/node_modules/camel-case/node_modules/tslib/modules/package.json b/node_modules/camel-case/node_modules/tslib/modules/package.json deleted file mode 100644 index aead43de36..0000000000 --- a/node_modules/camel-case/node_modules/tslib/modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} \ No newline at end of file diff --git a/node_modules/camel-case/node_modules/tslib/package.json b/node_modules/camel-case/node_modules/tslib/package.json deleted file mode 100644 index 88f67e7f8b..0000000000 --- a/node_modules/camel-case/node_modules/tslib/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "tslib", - "author": "Microsoft Corp.", - "homepage": "https://www.typescriptlang.org/", - "version": "2.7.0", - "license": "0BSD", - "description": "Runtime library for TypeScript helper functions", - "keywords": [ - "TypeScript", - "Microsoft", - "compiler", - "language", - "javascript", - "tslib", - "runtime" - ], - "bugs": { - "url": "https://github.com/Microsoft/TypeScript/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/Microsoft/tslib.git" - }, - "main": "tslib.js", - "module": "tslib.es6.js", - "jsnext:main": "tslib.es6.js", - "typings": "tslib.d.ts", - "sideEffects": false, - "exports": { - ".": { - "module": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - }, - "import": { - "node": "./modules/index.js", - "default": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - } - }, - "default": "./tslib.js" - }, - "./*": "./*", - "./": "./" - } -} diff --git a/node_modules/camel-case/node_modules/tslib/tslib.d.ts b/node_modules/camel-case/node_modules/tslib/tslib.d.ts deleted file mode 100644 index 45762215ad..0000000000 --- a/node_modules/camel-case/node_modules/tslib/tslib.d.ts +++ /dev/null @@ -1,453 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -/** - * Used to shim class extends. - * - * @param d The derived class. - * @param b The base class. - */ -export declare function __extends(d: Function, b: Function): void; - -/** - * Copy the values of all of the enumerable own properties from one or more source objects to a - * target object. Returns the target object. - * - * @param t The target object to copy to. - * @param sources One or more source objects from which to copy properties - */ -export declare function __assign(t: any, ...sources: any[]): any; - -/** - * Performs a rest spread on an object. - * - * @param t The source value. - * @param propertyNames The property names excluded from the rest spread. - */ -export declare function __rest(t: any, propertyNames: (string | symbol)[]): any; - -/** - * Applies decorators to a target object - * - * @param decorators The set of decorators to apply. - * @param target The target object. - * @param key If specified, the own property to apply the decorators to. - * @param desc The property descriptor, defaults to fetching the descriptor from the target object. - * @experimental - */ -export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; - -/** - * Creates an observing function decorator from a parameter decorator. - * - * @param paramIndex The parameter index to apply the decorator to. - * @param decorator The parameter decorator to apply. Note that the return value is ignored. - * @experimental - */ -export declare function __param(paramIndex: number, decorator: Function): Function; - -/** - * Applies decorators to a class or class member, following the native ECMAScript decorator specification. - * @param ctor For non-field class members, the class constructor. Otherwise, `null`. - * @param descriptorIn The `PropertyDescriptor` to use when unable to look up the property from `ctor`. - * @param decorators The decorators to apply - * @param contextIn The `DecoratorContext` to clone for each decorator application. - * @param initializers An array of field initializer mutation functions into which new initializers are written. - * @param extraInitializers An array of extra initializer functions into which new initializers are written. - */ -export declare function __esDecorate(ctor: Function | null, descriptorIn: object | null, decorators: Function[], contextIn: object, initializers: Function[] | null, extraInitializers: Function[]): void; - -/** - * Runs field initializers or extra initializers generated by `__esDecorate`. - * @param thisArg The `this` argument to use. - * @param initializers The array of initializers to evaluate. - * @param value The initial value to pass to the initializers. - */ -export declare function __runInitializers(thisArg: unknown, initializers: Function[], value?: any): any; - -/** - * Converts a computed property name into a `string` or `symbol` value. - */ -export declare function __propKey(x: any): string | symbol; - -/** - * Assigns the name of a function derived from the left-hand side of an assignment. - * @param f The function to rename. - * @param name The new name for the function. - * @param prefix A prefix (such as `"get"` or `"set"`) to insert before the name. - */ -export declare function __setFunctionName(f: Function, name: string | symbol, prefix?: string): Function; - -/** - * Creates a decorator that sets metadata. - * - * @param metadataKey The metadata key - * @param metadataValue The metadata value - * @experimental - */ -export declare function __metadata(metadataKey: any, metadataValue: any): Function; - -/** - * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. - * @param generator The generator function - */ -export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; - -/** - * Creates an Iterator object using the body as the implementation. - * - * @param thisArg The reference to use as the `this` value in the function - * @param body The generator state-machine based implementation. - * - * @see [./docs/generator.md] - */ -export declare function __generator(thisArg: any, body: Function): any; - -/** - * Creates bindings for all enumerable properties of `m` on `exports` - * - * @param m The source object - * @param o The `exports` object. - */ -export declare function __exportStar(m: any, o: any): void; - -/** - * Creates a value iterator from an `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `Iterable`, nor an `ArrayLike`. - */ -export declare function __values(o: any): any; - -/** - * Reads values from an `Iterable` or `ArrayLike` object and returns the resulting array. - * - * @param o The object to read from. - * @param n The maximum number of arguments to read, defaults to `Infinity`. - */ -export declare function __read(o: any, n?: number): any[]; - -/** - * Creates an array from iterable spread. - * - * @param args The Iterable objects to spread. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spread(...args: any[][]): any[]; - -/** - * Creates an array from array spread. - * - * @param args The ArrayLikes to spread into the resulting array. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spreadArrays(...args: any[][]): any[]; - -/** - * Spreads the `from` array into the `to` array. - * - * @param pack Replace empty elements with `undefined`. - */ -export declare function __spreadArray(to: any[], from: any[], pack?: boolean): any[]; - -/** - * Creates an object that signals to `__asyncGenerator` that it shouldn't be yielded, - * and instead should be awaited and the resulting value passed back to the generator. - * - * @param v The value to await. - */ -export declare function __await(v: any): any; - -/** - * Converts a generator function into an async generator function, by using `yield __await` - * in place of normal `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param generator The generator function - */ -export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any; - -/** - * Used to wrap a potentially async iterator in such a way so that it wraps the result - * of calling iterator methods of `o` in `__await` instances, and then yields the awaited values. - * - * @param o The potentially async iterator. - * @returns A synchronous iterator yielding `__await` instances on every odd invocation - * and returning the awaited `IteratorResult` passed to `next` every even invocation. - */ -export declare function __asyncDelegator(o: any): any; - -/** - * Creates a value async iterator from an `AsyncIterable`, `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `AsyncIterable`, `Iterable`, nor an `ArrayLike`. - */ -export declare function __asyncValues(o: any): any; - -/** - * Creates a `TemplateStringsArray` frozen object from the `cooked` and `raw` arrays. - * - * @param cooked The cooked possibly-sparse array. - * @param raw The raw string content. - */ -export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray; - -/** - * Used to shim default and named imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default, { Named, Other } from "mod"; - * // or - * import { default as Default, Named, Other } from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importStar(mod: T): T; - -/** - * Used to shim default imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importDefault(mod: T): T | { default: T }; - -/** - * Emulates reading a private instance field. - * - * @param receiver The instance from which to read the private field. - * @param state A WeakMap containing the private field value for an instance. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean, get(o: T): V | undefined }, - kind?: "f" -): V; - -/** - * Emulates reading a private static field. - * - * @param receiver The object from which to read the private static field. - * @param state The class constructor containing the definition of the static field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates evaluating a private instance "get" accessor. - * - * @param receiver The instance on which to evaluate the private "get" accessor. - * @param state A WeakSet used to verify an instance supports the private "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean }, - kind: "a", - f: () => V -): V; - -/** - * Emulates evaluating a private static "get" accessor. - * - * @param receiver The object on which to evaluate the private static "get" accessor. - * @param state The class constructor containing the definition of the static "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "a", - f: () => V -): V; - -/** - * Emulates reading a private instance method. - * - * @param receiver The instance from which to read a private method. - * @param state A WeakSet used to verify an instance supports the private method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private instance method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet unknown>( - receiver: T, - state: { has(o: T): boolean }, - kind: "m", - f: V -): V; - -/** - * Emulates reading a private static method. - * - * @param receiver The object from which to read the private static method. - * @param state The class constructor containing the definition of the static method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private static method. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V extends (...args: any[]) => unknown>( - receiver: T, - state: T, - kind: "m", - f: V -): V; - -/** - * Emulates writing to a private instance field. - * - * @param receiver The instance on which to set a private field value. - * @param state A WeakMap used to store the private field value for an instance. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean, set(o: T, value: V): unknown }, - value: V, - kind?: "f" -): V; - -/** - * Emulates writing to a private static field. - * - * @param receiver The object on which to set the private static field. - * @param state The class constructor containing the definition of the private static field. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates writing to a private instance "set" accessor. - * - * @param receiver The instance on which to evaluate the private instance "set" accessor. - * @param state A WeakSet used to verify an instance supports the private "set" accessor. - * @param value The value to store in the private accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean }, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Emulates writing to a private static "set" accessor. - * - * @param receiver The object on which to evaluate the private static "set" accessor. - * @param state The class constructor containing the definition of the static "set" accessor. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Checks for the existence of a private field/method/accessor. - * - * @param state The class constructor containing the static member, or the WeakMap or WeakSet associated with a private instance member. - * @param receiver The object for which to test the presence of the private member. - */ -export declare function __classPrivateFieldIn( - state: (new (...args: any[]) => unknown) | { has(o: any): boolean }, - receiver: unknown, -): boolean; - -/** - * Creates a re-export binding on `object` with key `objectKey` that references `target[key]`. - * - * @param object The local `exports` object. - * @param target The object to re-export from. - * @param key The property key of `target` to re-export. - * @param objectKey The property key to re-export as. Defaults to `key`. - */ -export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void; - -/** - * Adds a disposable resource to a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @param value Either a Disposable or AsyncDisposable object, `null`, or `undefined`. - * @param async When `true`, `AsyncDisposable` resources can be added. When `false`, `AsyncDisposable` resources cannot be added. - * @returns The {@link value} argument. - * - * @throws {TypeError} If {@link value} is not an object, or if either `Symbol.dispose` or `Symbol.asyncDispose` are not - * defined, or if {@link value} does not have an appropriate `Symbol.dispose` or `Symbol.asyncDispose` method. - */ -export declare function __addDisposableResource(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }, value: T, async: boolean): T; - -/** - * Disposes all resources in a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @returns A {@link Promise} if any resources in the environment were marked as `async` when added; otherwise, `void`. - * - * @throws {SuppressedError} if an error thrown during disposal would have suppressed a prior error from disposal or the - * error recorded in the resource-tracking environment object. - * @seealso {@link __addDisposableResource} - */ -export declare function __disposeResources(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }): any; diff --git a/node_modules/camel-case/node_modules/tslib/tslib.es6.html b/node_modules/camel-case/node_modules/tslib/tslib.es6.html deleted file mode 100644 index b122e41b06..0000000000 --- a/node_modules/camel-case/node_modules/tslib/tslib.es6.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/camel-case/node_modules/tslib/tslib.es6.js b/node_modules/camel-case/node_modules/tslib/tslib.es6.js deleted file mode 100644 index fc18d15bf8..0000000000 --- a/node_modules/camel-case/node_modules/tslib/tslib.es6.js +++ /dev/null @@ -1,379 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends: __extends, - __assign: __assign, - __rest: __rest, - __decorate: __decorate, - __param: __param, - __metadata: __metadata, - __awaiter: __awaiter, - __generator: __generator, - __createBinding: __createBinding, - __exportStar: __exportStar, - __values: __values, - __read: __read, - __spread: __spread, - __spreadArrays: __spreadArrays, - __spreadArray: __spreadArray, - __await: __await, - __asyncGenerator: __asyncGenerator, - __asyncDelegator: __asyncDelegator, - __asyncValues: __asyncValues, - __makeTemplateObject: __makeTemplateObject, - __importStar: __importStar, - __importDefault: __importDefault, - __classPrivateFieldGet: __classPrivateFieldGet, - __classPrivateFieldSet: __classPrivateFieldSet, - __classPrivateFieldIn: __classPrivateFieldIn, - __addDisposableResource: __addDisposableResource, - __disposeResources: __disposeResources, -}; diff --git a/node_modules/camel-case/node_modules/tslib/tslib.es6.mjs b/node_modules/camel-case/node_modules/tslib/tslib.es6.mjs deleted file mode 100644 index 17bb2ff8f2..0000000000 --- a/node_modules/camel-case/node_modules/tslib/tslib.es6.mjs +++ /dev/null @@ -1,378 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends, - __assign, - __rest, - __decorate, - __param, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; diff --git a/node_modules/camel-case/node_modules/tslib/tslib.html b/node_modules/camel-case/node_modules/tslib/tslib.html deleted file mode 100644 index 44c9ba51e3..0000000000 --- a/node_modules/camel-case/node_modules/tslib/tslib.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/camel-case/node_modules/tslib/tslib.js b/node_modules/camel-case/node_modules/tslib/tslib.js deleted file mode 100644 index 429c11a66b..0000000000 --- a/node_modules/camel-case/node_modules/tslib/tslib.js +++ /dev/null @@ -1,429 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */ -var __extends; -var __assign; -var __rest; -var __decorate; -var __param; -var __esDecorate; -var __runInitializers; -var __propKey; -var __setFunctionName; -var __metadata; -var __awaiter; -var __generator; -var __exportStar; -var __values; -var __read; -var __spread; -var __spreadArrays; -var __spreadArray; -var __await; -var __asyncGenerator; -var __asyncDelegator; -var __asyncValues; -var __makeTemplateObject; -var __importStar; -var __importDefault; -var __classPrivateFieldGet; -var __classPrivateFieldSet; -var __classPrivateFieldIn; -var __createBinding; -var __addDisposableResource; -var __disposeResources; -(function (factory) { - var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; - if (typeof define === "function" && define.amd) { - define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); }); - } - else if (typeof module === "object" && typeof module.exports === "object") { - factory(createExporter(root, createExporter(module.exports))); - } - else { - factory(createExporter(root)); - } - function createExporter(exports, previous) { - if (exports !== root) { - if (typeof Object.create === "function") { - Object.defineProperty(exports, "__esModule", { value: true }); - } - else { - exports.__esModule = true; - } - } - return function (id, v) { return exports[id] = previous ? previous(id, v) : v; }; - } -}) -(function (exporter) { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - - __extends = function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - - __assign = Object.assign || function (t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - - __rest = function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; - }; - - __decorate = function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; - }; - - __param = function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } - }; - - __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; - }; - - __runInitializers = function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; - }; - - __propKey = function (x) { - return typeof x === "symbol" ? x : "".concat(x); - }; - - __setFunctionName = function (f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); - }; - - __metadata = function (metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); - }; - - __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()); - }); - }; - - __generator = function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } - }; - - __exportStar = function(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); - }; - - __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]; - }); - - __values = function (o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); - }; - - __read = function (o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; - }; - - /** @deprecated */ - __spread = function () { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; - }; - - /** @deprecated */ - __spreadArrays = function () { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; - }; - - __spreadArray = function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); - }; - - __await = function (v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); - }; - - __asyncGenerator = function (thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } - }; - - __asyncDelegator = function (o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } - }; - - __asyncValues = function (o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } - }; - - __makeTemplateObject = function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; - }; - - var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }; - - __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; - }; - - __importDefault = function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; - }; - - __classPrivateFieldGet = function (receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); - }; - - __classPrivateFieldSet = function (receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; - }; - - __classPrivateFieldIn = function (state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); - }; - - __addDisposableResource = function (env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - }; - - var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; - }; - - __disposeResources = function (env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); - }; - - exporter("__extends", __extends); - exporter("__assign", __assign); - exporter("__rest", __rest); - exporter("__decorate", __decorate); - exporter("__param", __param); - exporter("__esDecorate", __esDecorate); - exporter("__runInitializers", __runInitializers); - exporter("__propKey", __propKey); - exporter("__setFunctionName", __setFunctionName); - exporter("__metadata", __metadata); - exporter("__awaiter", __awaiter); - exporter("__generator", __generator); - exporter("__exportStar", __exportStar); - exporter("__createBinding", __createBinding); - exporter("__values", __values); - exporter("__read", __read); - exporter("__spread", __spread); - exporter("__spreadArrays", __spreadArrays); - exporter("__spreadArray", __spreadArray); - exporter("__await", __await); - exporter("__asyncGenerator", __asyncGenerator); - exporter("__asyncDelegator", __asyncDelegator); - exporter("__asyncValues", __asyncValues); - exporter("__makeTemplateObject", __makeTemplateObject); - exporter("__importStar", __importStar); - exporter("__importDefault", __importDefault); - exporter("__classPrivateFieldGet", __classPrivateFieldGet); - exporter("__classPrivateFieldSet", __classPrivateFieldSet); - exporter("__classPrivateFieldIn", __classPrivateFieldIn); - exporter("__addDisposableResource", __addDisposableResource); - exporter("__disposeResources", __disposeResources); -}); diff --git a/node_modules/camel-case/package.json b/node_modules/camel-case/package.json deleted file mode 100644 index 28644308dc..0000000000 --- a/node_modules/camel-case/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "name": "camel-case", - "version": "4.1.2", - "description": "Transform into a string with the separator denoted by the next word capitalized", - "main": "dist/index.js", - "typings": "dist/index.d.ts", - "module": "dist.es2015/index.js", - "sideEffects": false, - "jsnext:main": "dist.es2015/index.js", - "files": [ - "dist/", - "dist.es2015/", - "LICENSE" - ], - "scripts": { - "lint": "tslint \"src/**/*\" --project tsconfig.json", - "build": "rimraf dist/ dist.es2015/ && tsc && tsc -P tsconfig.es2015.json", - "specs": "jest --coverage", - "test": "npm run build && npm run lint && npm run specs", - "size": "size-limit", - "prepare": "npm run build" - }, - "repository": { - "type": "git", - "url": "git://github.com/blakeembrey/change-case.git" - }, - "keywords": [ - "camel", - "case", - "camelcase", - "camel-case", - "convert", - "transform", - "identifier" - ], - "author": { - "name": "Blake Embrey", - "email": "hello@blakeembrey.com", - "url": "http://blakeembrey.me" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/blakeembrey/change-case/issues" - }, - "homepage": "https://github.com/blakeembrey/change-case/tree/master/packages/camel-case#readme", - "size-limit": [ - { - "path": "dist/index.js", - "limit": "450 B" - } - ], - "jest": { - "roots": [ - "/src/" - ], - "transform": { - "\\.tsx?$": "ts-jest" - }, - "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$", - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json", - "node" - ] - }, - "publishConfig": { - "access": "public" - }, - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - }, - "devDependencies": { - "@size-limit/preset-small-lib": "^2.2.1", - "@types/jest": "^24.0.23", - "@types/node": "^12.12.14", - "jest": "^24.9.0", - "rimraf": "^3.0.0", - "ts-jest": "^24.2.0", - "tslint": "^5.20.1", - "tslint-config-prettier": "^1.18.0", - "tslint-config-standard": "^9.0.0", - "typescript": "^4.1.2" - }, - "gitHead": "76a21a7f6f2a226521ef6abd345ff309cbd01fb0" -} diff --git a/node_modules/commander/CHANGELOG.md b/node_modules/commander/CHANGELOG.md deleted file mode 100644 index 9b8359bf69..0000000000 --- a/node_modules/commander/CHANGELOG.md +++ /dev/null @@ -1,361 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). (Format adopted after v3.0.0.) - - - - -## [6.2.1] (2020-12-13) - -### Fixed - -- some tests failed if directory path included a space ([1390]) - -## [6.2.0] (2020-10-25) - -### Added - -- added 'tsx' file extension for stand-alone executable subcommands ([#1368]) -- documented second parameter to `.description()` to describe command arguments ([#1353]) -- documentation of special cases with options taking varying numbers of option-arguments ([#1332]) -- documentation for terminology ([#1361]) - -### Fixed - -- add missing TypeScript definition for `.addHelpCommand()' ([#1375]) -- removed blank line after "Arguments:" in help, to match "Options:" and "Commands:" ([#1360]) - -### Changed - -- update dependencies - -## [6.1.0] (2020-08-28) - -### Added - -- include URL to relevant section of README for error for potential conflict between Command properties and option values ([#1306]) -- `.combineFlagAndOptionalValue(false)` to ease upgrade path from older versions of Commander ([#1326]) -- allow disabling the built-in help option using `.helpOption(false)` ([#1325]) -- allow just some arguments in `argumentDescription` to `.description()` ([#1323]) - -### Changed - -- tidy async test and remove lint override ([#1312]) - -### Fixed - -- executable subcommand launching when script path not known ([#1322]) - -## [6.0.0] (2020-07-21) - -### Added - -- add support for variadic options ([#1250]) -- allow options to be added with just a short flag ([#1256]) - - *Breaking* the option property has same case as flag. e.g. flag `-n` accessed as `opts().n` (previously uppercase) -- *Breaking* throw an error if there might be a clash between option name and a Command property, with advice on how to resolve ([#1275]) - -### Fixed - -- Options which contain -no- in the middle of the option flag should not be treated as negatable. ([#1301]) - -## [6.0.0-0] (2020-06-20) - -(Released in 6.0.0) - -## [5.1.0] (2020-04-25) - -### Added - -- support for multiple command aliases, the first of which is shown in the auto-generated help ([#531], [#1236]) -- configuration support in `addCommand()` for `hidden` and `isDefault` ([#1232]) - -### Fixed - -- omit masked help flags from the displayed help ([#645], [#1247]) -- remove old short help flag when change help flags using `helpOption` ([#1248]) - -### Changed - -- remove use of `arguments` to improve auto-generated help in editors ([#1235]) -- rename `.command()` configuration `noHelp` to `hidden` (but not remove old support) ([#1232]) -- improvements to documentation -- update dependencies -- update tested versions of node -- eliminate lint errors in TypeScript ([#1208]) - -## [5.0.0] (2020-03-14) - -### Added - -* support for nested commands with action-handlers ([#1] [#764] [#1149]) -* `.addCommand()` for adding a separately configured command ([#764] [#1149]) -* allow a non-executable to be set as the default command ([#742] [#1149]) -* implicit help command when there are subcommands (previously only if executables) ([#1149]) -* customise implicit help command with `.addHelpCommand()` ([#1149]) -* display error message for unknown subcommand, by default ([#432] [#1088] [#1149]) -* display help for missing subcommand, by default ([#1088] [#1149]) -* combined short options as single argument may include boolean flags and value flag and value (e.g. `-a -b -p 80` can be written as `-abp80`) ([#1145]) -* `.parseOption()` includes short flag and long flag expansions ([#1145]) -* `.helpInformation()` returns help text as a string, previously a private routine ([#1169]) -* `.parse()` implicitly uses `process.argv` if arguments not specified ([#1172]) -* optionally specify where `.parse()` arguments "from", if not following node conventions ([#512] [#1172]) -* suggest help option along with unknown command error ([#1179]) -* TypeScript definition for `commands` property of `Command` ([#1184]) -* export `program` property ([#1195]) -* `createCommand` factory method to simplify subclassing ([#1191]) - -### Fixed - -* preserve argument order in subcommands ([#508] [#962] [#1138]) -* do not emit `command:*` for executable subcommands ([#809] [#1149]) -* action handler called whether or not there are non-option arguments ([#1062] [#1149]) -* combining option short flag and value in single argument now works for subcommands ([#1145]) -* only add implicit help command when it will not conflict with other uses of argument ([#1153] [#1149]) -* implicit help command works with command aliases ([#948] [#1149]) -* options are validated whether or not there is an action handler ([#1149]) - -### Changed - -* *Breaking* `.args` contains command arguments with just recognised options removed ([#1032] [#1138]) -* *Breaking* display error if required argument for command is missing ([#995] [#1149]) -* tighten TypeScript definition of custom option processing function passed to `.option()` ([#1119]) -* *Breaking* `.allowUnknownOption()` ([#802] [#1138]) - * unknown options included in arguments passed to command action handler - * unknown options included in `.args` -* only recognised option short flags and long flags are expanded (e.g. `-ab` or `--foo=bar`) ([#1145]) -* *Breaking* `.parseOptions()` ([#1138]) - * `args` in returned result renamed `operands` and does not include anything after first unknown option - * `unknown` in returned result has arguments after first unknown option including operands, not just options and values -* *Breaking* `.on('command:*', callback)` and other command events passed (changed) results from `.parseOptions`, i.e. operands and unknown ([#1138]) -* refactor Option from prototype to class ([#1133]) -* refactor Command from prototype to class ([#1159]) -* changes to error handling ([#1165]) - * throw for author error, not just display message - * preflight for variadic error - * add tips to missing subcommand executable -* TypeScript fluent return types changed to be more subclass friendly, return `this` rather than `Command` ([#1180]) -* `.parseAsync` returns `Promise` to be consistent with `.parse()` ([#1180]) -* update dependencies - -### Removed - -* removed EventEmitter from TypeScript definition for Command, eliminating implicit peer dependency on `@types/node` ([#1146]) -* removed private function `normalize` (the functionality has been integrated into `parseOptions`) ([#1145]) -* `parseExpectedArgs` is now private ([#1149]) - -### Migration Tips - -If you use `.on('command:*')` or more complicated tests to detect an unrecognised subcommand, you may be able to delete the code and rely on the default behaviour. - -If you use `program.args` or more complicated tests to detect a missing subcommand, you may be able to delete the code and rely on the default behaviour. - -If you use `.command('*')` to add a default command, you may be be able to switch to `isDefault:true` with a named command. - -If you want to continue combining short options with optional values as though they were boolean flags, set `combineFlagAndOptionalValue(false)` -to expand `-fb` to `-f -b` rather than `-f b`. - -## [5.0.0-4] (2020-03-03) - -(Released in 5.0.0) - -## [5.0.0-3] (2020-02-20) - -(Released in 5.0.0) - -## [5.0.0-2] (2020-02-10) - -(Released in 5.0.0) - -## [5.0.0-1] (2020-02-08) - -(Released in 5.0.0) - -## [5.0.0-0] (2020-02-02) - -(Released in 5.0.0) - -## [4.1.1] (2020-02-02) - -### Fixed - -* TypeScript definition for `.action()` should include Promise for async ([#1157]) - -## [4.1.0] (2020-01-06) - -### Added - -* two routines to change how option values are handled, and eliminate name clashes with command properties ([#933] [#1102]) - * see storeOptionsAsProperties and passCommandToAction in README -* `.parseAsync` to use instead of `.parse` if supply async action handlers ([#806] [#1118]) - -### Fixed - -* Remove trailing blanks from wrapped help text ([#1096]) - -### Changed - -* update dependencies -* extend security coverage for Commander 2.x to 2020-02-03 -* improvements to README -* improvements to TypeScript definition documentation -* move old versions out of main CHANGELOG -* removed explicit use of `ts-node` in tests - -## [4.0.1] (2019-11-12) - -### Fixed - -* display help when requested, even if there are missing required options ([#1091]) - -## [4.0.0] (2019-11-02) - -### Added - -* automatically wrap and indent help descriptions for options and commands ([#1051]) -* `.exitOverride()` allows override of calls to `process.exit` for additional error handling and to keep program running ([#1040]) -* support for declaring required options with `.requiredOptions()` ([#1071]) -* GitHub Actions support ([#1027]) -* translation links in README - -### Changed - -* dev: switch tests from Sinon+Should to Jest with major rewrite of tests ([#1035]) -* call default subcommand even when there are unknown options ([#1047]) -* *Breaking* Commander is only officially supported on Node 8 and above, and requires Node 6 ([#1053]) - -### Fixed - -* *Breaking* keep command object out of program.args when action handler called ([#1048]) - * also, action handler now passed array of unknown arguments -* complain about unknown options when program argument supplied and action handler ([#1049]) - * this changes parameters to `command:*` event to include unknown arguments -* removed deprecated `customFds` option from call to `child_process.spawn` ([#1052]) -* rework TypeScript declarations to bring all types into imported namespace ([#1081]) - -### Migration Tips - -#### Testing for no arguments - -If you were previously using code like: - -```js -if (!program.args.length) ... -``` - -a partial replacement is: - -```js -if (program.rawArgs.length < 3) ... -``` - -## [4.0.0-1] Prerelease (2019-10-08) - -(Released in 4.0.0) - -## [4.0.0-0] Prerelease (2019-10-01) - -(Released in 4.0.0) - -## Older versions - -* [3.x](./changelogs/CHANGELOG-3.md) -* [2.x](./changelogs/CHANGELOG-2.md) -* [1.x](./changelogs/CHANGELOG-1.md) -* [0.x](./changelogs/CHANGELOG-0.md) - -[#1]: https://github.com/tj/commander.js/issues/1 -[#432]: https://github.com/tj/commander.js/issues/432 -[#508]: https://github.com/tj/commander.js/issues/508 -[#512]: https://github.com/tj/commander.js/issues/512 -[#531]: https://github.com/tj/commander.js/issues/531 -[#645]: https://github.com/tj/commander.js/issues/645 -[#742]: https://github.com/tj/commander.js/issues/742 -[#764]: https://github.com/tj/commander.js/issues/764 -[#802]: https://github.com/tj/commander.js/issues/802 -[#806]: https://github.com/tj/commander.js/issues/806 -[#809]: https://github.com/tj/commander.js/issues/809 -[#948]: https://github.com/tj/commander.js/issues/948 -[#962]: https://github.com/tj/commander.js/issues/962 -[#995]: https://github.com/tj/commander.js/issues/995 -[#1027]: https://github.com/tj/commander.js/pull/1027 -[#1032]: https://github.com/tj/commander.js/issues/1032 -[#1035]: https://github.com/tj/commander.js/pull/1035 -[#1040]: https://github.com/tj/commander.js/pull/1040 -[#1047]: https://github.com/tj/commander.js/pull/1047 -[#1048]: https://github.com/tj/commander.js/pull/1048 -[#1049]: https://github.com/tj/commander.js/pull/1049 -[#1051]: https://github.com/tj/commander.js/pull/1051 -[#1052]: https://github.com/tj/commander.js/pull/1052 -[#1053]: https://github.com/tj/commander.js/pull/1053 -[#1062]: https://github.com/tj/commander.js/pull/1062 -[#1071]: https://github.com/tj/commander.js/pull/1071 -[#1081]: https://github.com/tj/commander.js/pull/1081 -[#1088]: https://github.com/tj/commander.js/issues/1088 -[#1091]: https://github.com/tj/commander.js/pull/1091 -[#1096]: https://github.com/tj/commander.js/pull/1096 -[#1102]: https://github.com/tj/commander.js/pull/1102 -[#1118]: https://github.com/tj/commander.js/pull/1118 -[#1119]: https://github.com/tj/commander.js/pull/1119 -[#1133]: https://github.com/tj/commander.js/pull/1133 -[#1138]: https://github.com/tj/commander.js/pull/1138 -[#1145]: https://github.com/tj/commander.js/pull/1145 -[#1146]: https://github.com/tj/commander.js/pull/1146 -[#1149]: https://github.com/tj/commander.js/pull/1149 -[#1153]: https://github.com/tj/commander.js/issues/1153 -[#1157]: https://github.com/tj/commander.js/pull/1157 -[#1159]: https://github.com/tj/commander.js/pull/1159 -[#1165]: https://github.com/tj/commander.js/pull/1165 -[#1169]: https://github.com/tj/commander.js/pull/1169 -[#1172]: https://github.com/tj/commander.js/pull/1172 -[#1179]: https://github.com/tj/commander.js/pull/1179 -[#1180]: https://github.com/tj/commander.js/pull/1180 -[#1184]: https://github.com/tj/commander.js/pull/1184 -[#1191]: https://github.com/tj/commander.js/pull/1191 -[#1195]: https://github.com/tj/commander.js/pull/1195 -[#1208]: https://github.com/tj/commander.js/pull/1208 -[#1232]: https://github.com/tj/commander.js/pull/1232 -[#1235]: https://github.com/tj/commander.js/pull/1235 -[#1236]: https://github.com/tj/commander.js/pull/1236 -[#1247]: https://github.com/tj/commander.js/pull/1247 -[#1248]: https://github.com/tj/commander.js/pull/1248 -[#1250]: https://github.com/tj/commander.js/pull/1250 -[#1256]: https://github.com/tj/commander.js/pull/1256 -[#1275]: https://github.com/tj/commander.js/pull/1275 -[#1301]: https://github.com/tj/commander.js/issues/1301 -[#1306]: https://github.com/tj/commander.js/pull/1306 -[#1312]: https://github.com/tj/commander.js/pull/1312 -[#1322]: https://github.com/tj/commander.js/pull/1322 -[#1323]: https://github.com/tj/commander.js/pull/1323 -[#1325]: https://github.com/tj/commander.js/pull/1325 -[#1326]: https://github.com/tj/commander.js/pull/1326 -[#1332]: https://github.com/tj/commander.js/pull/1332 -[#1353]: https://github.com/tj/commander.js/pull/1353 -[#1360]: https://github.com/tj/commander.js/pull/1360 -[#1361]: https://github.com/tj/commander.js/pull/1361 -[#1368]: https://github.com/tj/commander.js/pull/1368 -[#1375]: https://github.com/tj/commander.js/pull/1375 -[#1390]: https://github.com/tj/commander.js/pull/1390 - -[Unreleased]: https://github.com/tj/commander.js/compare/master...develop -[6.2.1]: https://github.com/tj/commander.js/compare/v6.2.0..v6.2.1 -[6.2.0]: https://github.com/tj/commander.js/compare/v6.1.0..v6.2.0 -[6.1.0]: https://github.com/tj/commander.js/compare/v6.0.0..v6.1.0 -[6.0.0]: https://github.com/tj/commander.js/compare/v5.1.0..v6.0.0 -[6.0.0-0]: https://github.com/tj/commander.js/compare/v5.1.0..v6.0.0-0 -[5.1.0]: https://github.com/tj/commander.js/compare/v5.0.0..v5.1.0 -[5.0.0]: https://github.com/tj/commander.js/compare/v4.1.1..v5.0.0 -[5.0.0-4]: https://github.com/tj/commander.js/compare/v5.0.0-3..v5.0.0-4 -[5.0.0-3]: https://github.com/tj/commander.js/compare/v5.0.0-2..v5.0.0-3 -[5.0.0-2]: https://github.com/tj/commander.js/compare/v5.0.0-1..v5.0.0-2 -[5.0.0-1]: https://github.com/tj/commander.js/compare/v5.0.0-0..v5.0.0-1 -[5.0.0-0]: https://github.com/tj/commander.js/compare/v4.1.1..v5.0.0-0 -[4.1.1]: https://github.com/tj/commander.js/compare/v4.1.0..v4.1.1 -[4.1.0]: https://github.com/tj/commander.js/compare/v4.0.1..v4.1.0 -[4.0.1]: https://github.com/tj/commander.js/compare/v4.0.0..v4.0.1 -[4.0.0]: https://github.com/tj/commander.js/compare/v3.0.2..v4.0.0 -[4.0.0-1]: https://github.com/tj/commander.js/compare/v4.0.0-0..v4.0.0-1 -[4.0.0-0]: https://github.com/tj/commander.js/compare/v3.0.2...v4.0.0-0 diff --git a/node_modules/commander/LICENSE b/node_modules/commander/LICENSE deleted file mode 100644 index 10f997ab10..0000000000 --- a/node_modules/commander/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk - -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/commander/Readme.md b/node_modules/commander/Readme.md deleted file mode 100644 index 45cd755304..0000000000 --- a/node_modules/commander/Readme.md +++ /dev/null @@ -1,791 +0,0 @@ -# Commander.js - -[![Build Status](https://api.travis-ci.org/tj/commander.js.svg?branch=master)](http://travis-ci.org/tj/commander.js) -[![NPM Version](http://img.shields.io/npm/v/commander.svg?style=flat)](https://www.npmjs.org/package/commander) -[![NPM Downloads](https://img.shields.io/npm/dm/commander.svg?style=flat)](https://npmcharts.com/compare/commander?minimal=true) -[![Install Size](https://packagephobia.now.sh/badge?p=commander)](https://packagephobia.now.sh/result?p=commander) - -The complete solution for [node.js](http://nodejs.org) command-line interfaces. - -Read this in other languages: English | [简体中文](./Readme_zh-CN.md) - -- [Commander.js](#commanderjs) - - [Installation](#installation) - - [Declaring _program_ variable](#declaring-program-variable) - - [Options](#options) - - [Common option types, boolean and value](#common-option-types-boolean-and-value) - - [Default option value](#default-option-value) - - [Other option types, negatable boolean and boolean|value](#other-option-types-negatable-boolean-and-booleanvalue) - - [Custom option processing](#custom-option-processing) - - [Required option](#required-option) - - [Variadic option](#variadic-option) - - [Version option](#version-option) - - [Commands](#commands) - - [Specify the argument syntax](#specify-the-argument-syntax) - - [Action handler (sub)commands](#action-handler-subcommands) - - [Stand-alone executable (sub)commands](#stand-alone-executable-subcommands) - - [Automated help](#automated-help) - - [Custom help](#custom-help) - - [.usage and .name](#usage-and-name) - - [.help(cb)](#helpcb) - - [.outputHelp(cb)](#outputhelpcb) - - [.helpInformation()](#helpinformation) - - [.helpOption(flags, description)](#helpoptionflags-description) - - [.addHelpCommand()](#addhelpcommand) - - [Custom event listeners](#custom-event-listeners) - - [Bits and pieces](#bits-and-pieces) - - [.parse() and .parseAsync()](#parse-and-parseasync) - - [Avoiding option name clashes](#avoiding-option-name-clashes) - - [TypeScript](#typescript) - - [createCommand()](#createcommand) - - [Import into ECMAScript Module](#import-into-ecmascript-module) - - [Node options such as `--harmony`](#node-options-such-as---harmony) - - [Debugging stand-alone executable subcommands](#debugging-stand-alone-executable-subcommands) - - [Override exit handling](#override-exit-handling) - - [Examples](#examples) - - [Support](#support) - - [Commander for enterprise](#commander-for-enterprise) - -For information about terms used in this document see: [terminology](./docs/terminology.md) - -## Installation - -```bash -npm install commander -``` - -## Declaring _program_ variable - -Commander exports a global object which is convenient for quick programs. -This is used in the examples in this README for brevity. - -```js -const { program } = require('commander'); -program.version('0.0.1'); -``` - -For larger programs which may use commander in multiple ways, including unit testing, it is better to create a local Command object to use. - -```js -const { Command } = require('commander'); -const program = new Command(); -program.version('0.0.1'); -``` - -## Options - -Options are defined with the `.option()` method, also serving as documentation for the options. Each option can have a short flag (single character) and a long name, separated by a comma or space or vertical bar ('|'). - -The options can be accessed as properties on the Command object. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc. See also optional new behaviour to [avoid name clashes](#avoiding-option-name-clashes). - -Multiple short flags may optionally be combined in a single argument following the dash: boolean flags, followed by a single option taking a value (possibly followed by the value). -For example `-a -b -p 80` may be written as `-ab -p80` or even `-abp80`. - -You can use `--` to indicate the end of the options, and any remaining arguments will be used without being interpreted. - -Options on the command line are not positional, and can be specified before or after other arguments. - -### Common option types, boolean and value - -The two most used option types are a boolean option, and an option which takes its value -from the following argument (declared with angle brackets like `--expect `). Both are `undefined` unless specified on command line. - -Example file: [options-common.js](./examples/options-common.js) - -```js -program - .option('-d, --debug', 'output extra debugging') - .option('-s, --small', 'small pizza size') - .option('-p, --pizza-type ', 'flavour of pizza'); - -program.parse(process.argv); - -if (program.debug) console.log(program.opts()); -console.log('pizza details:'); -if (program.small) console.log('- small pizza size'); -if (program.pizzaType) console.log(`- ${program.pizzaType}`); -``` - -```bash -$ pizza-options -d -{ debug: true, small: undefined, pizzaType: undefined } -pizza details: -$ pizza-options -p -error: option '-p, --pizza-type ' argument missing -$ pizza-options -ds -p vegetarian -{ debug: true, small: true, pizzaType: 'vegetarian' } -pizza details: -- small pizza size -- vegetarian -$ pizza-options --pizza-type=cheese -pizza details: -- cheese -``` - -`program.parse(arguments)` processes the arguments, leaving any args not consumed by the program options in the `program.args` array. - -### Default option value - -You can specify a default value for an option which takes a value. - -Example file: [options-defaults.js](./examples/options-defaults.js) - -```js -program - .option('-c, --cheese ', 'add the specified type of cheese', 'blue'); - -program.parse(process.argv); - -console.log(`cheese: ${program.cheese}`); -``` - -```bash -$ pizza-options -cheese: blue -$ pizza-options --cheese stilton -cheese: stilton -``` - -### Other option types, negatable boolean and boolean|value - -You can define a boolean option long name with a leading `no-` to set the option value to false when used. -Defined alone this also makes the option true by default. - -If you define `--foo` first, adding `--no-foo` does not change the default value from what it would -otherwise be. You can specify a default boolean value for a boolean option and it can be overridden on command line. - -Example file: [options-negatable.js](./examples/options-negatable.js) - -```js -program - .option('--no-sauce', 'Remove sauce') - .option('--cheese ', 'cheese flavour', 'mozzarella') - .option('--no-cheese', 'plain with no cheese') - .parse(process.argv); - -const sauceStr = program.sauce ? 'sauce' : 'no sauce'; -const cheeseStr = (program.cheese === false) ? 'no cheese' : `${program.cheese} cheese`; -console.log(`You ordered a pizza with ${sauceStr} and ${cheeseStr}`); -``` - -```bash -$ pizza-options -You ordered a pizza with sauce and mozzarella cheese -$ pizza-options --sauce -error: unknown option '--sauce' -$ pizza-options --cheese=blue -You ordered a pizza with sauce and blue cheese -$ pizza-options --no-sauce --no-cheese -You ordered a pizza with no sauce and no cheese -``` - -You can specify an option which may be used as a boolean option but may optionally take an option-argument -(declared with square brackets like `--optional [value]`). - -Example file: [options-boolean-or-value.js](./examples/options-boolean-or-value.js) - -```js -program - .option('-c, --cheese [type]', 'Add cheese with optional type'); - -program.parse(process.argv); - -if (program.cheese === undefined) console.log('no cheese'); -else if (program.cheese === true) console.log('add cheese'); -else console.log(`add cheese type ${program.cheese}`); -``` - -```bash -$ pizza-options -no cheese -$ pizza-options --cheese -add cheese -$ pizza-options --cheese mozzarella -add cheese type mozzarella -``` - -For information about possible ambiguous cases, see [options taking varying arguments](./docs/options-taking-varying-arguments.md). - -### Custom option processing - -You may specify a function to do custom processing of option-arguments. The callback function receives two parameters, -the user specified option-argument and the previous value for the option. It returns the new value for the option. - -This allows you to coerce the option-argument to the desired type, or accumulate values, or do entirely custom processing. - -You can optionally specify the default/starting value for the option after the function parameter. - -Example file: [options-custom-processing.js](./examples/options-custom-processing.js) - -```js -function myParseInt(value, dummyPrevious) { - // parseInt takes a string and an optional radix - return parseInt(value); -} - -function increaseVerbosity(dummyValue, previous) { - return previous + 1; -} - -function collect(value, previous) { - return previous.concat([value]); -} - -function commaSeparatedList(value, dummyPrevious) { - return value.split(','); -} - -program - .option('-f, --float ', 'float argument', parseFloat) - .option('-i, --integer ', 'integer argument', myParseInt) - .option('-v, --verbose', 'verbosity that can be increased', increaseVerbosity, 0) - .option('-c, --collect ', 'repeatable value', collect, []) - .option('-l, --list ', 'comma separated list', commaSeparatedList) -; - -program.parse(process.argv); - -if (program.float !== undefined) console.log(`float: ${program.float}`); -if (program.integer !== undefined) console.log(`integer: ${program.integer}`); -if (program.verbose > 0) console.log(`verbosity: ${program.verbose}`); -if (program.collect.length > 0) console.log(program.collect); -if (program.list !== undefined) console.log(program.list); -``` - -```bash -$ custom -f 1e2 -float: 100 -$ custom --integer 2 -integer: 2 -$ custom -v -v -v -verbose: 3 -$ custom -c a -c b -c c -[ 'a', 'b', 'c' ] -$ custom --list x,y,z -[ 'x', 'y', 'z' ] -``` - -### Required option - -You may specify a required (mandatory) option using `.requiredOption`. The option must have a value after parsing, usually specified on the command line, or perhaps from a default value (say from environment). The method is otherwise the same as `.option` in format, taking flags and description, and optional default value or custom processing. - -Example file: [options-required.js](./examples/options-required.js) - -```js -program - .requiredOption('-c, --cheese ', 'pizza must have cheese'); - -program.parse(process.argv); -``` - -```bash -$ pizza -error: required option '-c, --cheese ' not specified -``` - -### Variadic option - -You may make an option variadic by appending `...` to the value placeholder when declaring the option. On the command line you -can then specify multiple option-arguments, and the parsed option value will be an array. The extra arguments -are read until the first argument starting with a dash. The special argument `--` stops option processing entirely. If a value -is specified in the same argument as the option then no further values are read. - -Example file: [options-variadic.js](./examples/options-variadic.js) - -```js -program - .option('-n, --number ', 'specify numbers') - .option('-l, --letter [letters...]', 'specify letters'); - -program.parse(); - -console.log('Options: ', program.opts()); -console.log('Remaining arguments: ', program.args); -``` - -```bash -$ collect -n 1 2 3 --letter a b c -Options: { number: [ '1', '2', '3' ], letter: [ 'a', 'b', 'c' ] } -Remaining arguments: [] -$ collect --letter=A -n80 operand -Options: { number: [ '80' ], letter: [ 'A' ] } -Remaining arguments: [ 'operand' ] -$ collect --letter -n 1 -n 2 3 -- operand -Options: { number: [ '1', '2', '3' ], letter: true } -Remaining arguments: [ 'operand' ] -``` - -For information about possible ambiguous cases, see [options taking varying arguments](./docs/options-taking-varying-arguments.md). - -### Version option - -The optional `version` method adds handling for displaying the command version. The default option flags are `-V` and `--version`, and when present the command prints the version number and exits. - -```js -program.version('0.0.1'); -``` - -```bash -$ ./examples/pizza -V -0.0.1 -``` - -You may change the flags and description by passing additional parameters to the `version` method, using -the same syntax for flags as the `option` method. - -```js -program.version('0.0.1', '-v, --vers', 'output the current version'); -``` - -## Commands - -You can specify (sub)commands using `.command()` or `.addCommand()`. There are two ways these can be implemented: using an action handler attached to the command, or as a stand-alone executable file (described in more detail later). The subcommands may be nested ([example](./examples/nestedCommands.js)). - -In the first parameter to `.command()` you specify the command name and any command-arguments. The arguments may be `` or `[optional]`, and the last argument may also be `variadic...`. - -You can use `.addCommand()` to add an already configured subcommand to the program. - -For example: - -```js -// Command implemented using action handler (description is supplied separately to `.command`) -// Returns new command for configuring. -program - .command('clone [destination]') - .description('clone a repository into a newly created directory') - .action((source, destination) => { - console.log('clone command called'); - }); - -// Command implemented using stand-alone executable file (description is second parameter to `.command`) -// Returns `this` for adding more commands. -program - .command('start ', 'start named service') - .command('stop [service]', 'stop named service, or all if no name supplied'); - -// Command prepared separately. -// Returns `this` for adding more commands. -program - .addCommand(build.makeBuildCommand()); -``` - -Configuration options can be passed with the call to `.command()` and `.addCommand()`. Specifying `hidden: true` will -remove the command from the generated help output. Specifying `isDefault: true` will run the subcommand if no other -subcommand is specified ([example](./examples/defaultCommand.js)). - -### Specify the argument syntax - -You use `.arguments` to specify the expected command-arguments for the top-level command, and for subcommands they are usually -included in the `.command` call. Angled brackets (e.g. ``) indicate required command-arguments. -Square brackets (e.g. `[optional]`) indicate optional command-arguments. -You can optionally describe the arguments in the help by supplying a hash as second parameter to `.description()`. - -Example file: [env](./examples/env) - -```js -program - .version('0.1.0') - .arguments(' [env]') - .description('test command', { - cmd: 'command to run', - env: 'environment to run test in' - }) - .action(function (cmd, env) { - console.log('command:', cmd); - console.log('environment:', env || 'no environment given'); - }); - -program.parse(process.argv); -``` - - The last argument of a command can be variadic, and only the last argument. To make an argument variadic you - append `...` to the argument name. For example: - -```js -const { program } = require('commander'); - -program - .version('0.1.0') - .command('rmdir [otherDirs...]') - .action(function (dir, otherDirs) { - console.log('rmdir %s', dir); - if (otherDirs) { - otherDirs.forEach(function (oDir) { - console.log('rmdir %s', oDir); - }); - } - }); - -program.parse(process.argv); -``` - -The variadic argument is passed to the action handler as an array. - -### Action handler (sub)commands - -You can add options to a command that uses an action handler. -The action handler gets passed a parameter for each argument you declared, and one additional argument which is the -command object itself. This command argument has the values for the command-specific options added as properties. - -```js -const { program } = require('commander'); - -program - .command('rm ') - .option('-r, --recursive', 'Remove recursively') - .action(function (dir, cmdObj) { - console.log('remove ' + dir + (cmdObj.recursive ? ' recursively' : '')) - }) - -program.parse(process.argv) -``` - -You may supply an `async` action handler, in which case you call `.parseAsync` rather than `.parse`. - -```js -async function run() { /* code goes here */ } - -async function main() { - program - .command('run') - .action(run); - await program.parseAsync(process.argv); -} -``` - -A command's options on the command line are validated when the command is used. Any unknown options will be reported as an error. - -### Stand-alone executable (sub)commands - -When `.command()` is invoked with a description argument, this tells Commander that you're going to use stand-alone executables for subcommands. -Commander will search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-subcommand`, like `pm-install`, `pm-search`. -You can specify a custom name with the `executableFile` configuration option. - -You handle the options for an executable (sub)command in the executable, and don't declare them at the top-level. - -Example file: [pm](./examples/pm) - -```js -program - .version('0.1.0') - .command('install [name]', 'install one or more packages') - .command('search [query]', 'search with optional query') - .command('update', 'update installed packages', { executableFile: 'myUpdateSubCommand' }) - .command('list', 'list packages installed', { isDefault: true }); - -program.parse(process.argv); -``` - -If the program is designed to be installed globally, make sure the executables have proper modes, like `755`. - -## Automated help - -The help information is auto-generated based on the information commander already knows about your program. The default -help option is `-h,--help`. - -Example file: [pizza](./examples/pizza) - -```bash -$ node ./examples/pizza --help -Usage: pizza [options] - -An application for pizzas ordering - -Options: - -V, --version output the version number - -p, --peppers Add peppers - -c, --cheese Add the specified type of cheese (default: "marble") - -C, --no-cheese You do not want any cheese - -h, --help display help for command -``` - -A `help` command is added by default if your command has subcommands. It can be used alone, or with a subcommand name to show -further help for the subcommand. These are effectively the same if the `shell` program has implicit help: - -```bash -shell help -shell --help - -shell help spawn -shell spawn --help -``` - -### Custom help - -You can display extra information by listening for "--help". - -Example file: [custom-help](./examples/custom-help) - -```js -program - .option('-f, --foo', 'enable some foo'); - -// must be before .parse() -program.on('--help', () => { - console.log(''); - console.log('Example call:'); - console.log(' $ custom-help --help'); -}); -``` - -Yields the following help output: - -```Text -Usage: custom-help [options] - -Options: - -f, --foo enable some foo - -h, --help display help for command - -Example call: - $ custom-help --help -``` - -### .usage and .name - -These allow you to customise the usage description in the first line of the help. The name is otherwise -deduced from the (full) program arguments. Given: - -```js -program - .name("my-command") - .usage("[global options] command") -``` - -The help will start with: - -```Text -Usage: my-command [global options] command -``` - -### .help(cb) - -Output help information and exit immediately. Optional callback cb allows post-processing of help text before it is displayed. - -### .outputHelp(cb) - -Output help information without exiting. -Optional callback cb allows post-processing of help text before it is displayed. - -### .helpInformation() - -Get the command help information as a string for processing or displaying yourself. (The text does not include the custom help -from `--help` listeners.) - -### .helpOption(flags, description) - -Override the default help flags and description. Pass false to disable the built-in help option. - -```js -program - .helpOption('-e, --HELP', 'read more information'); -``` - -### .addHelpCommand() - -You can explicitly turn on or off the implicit help command with `.addHelpCommand()` and `.addHelpCommand(false)`. - -You can both turn on and customise the help command by supplying the name and description: - -```js -program.addHelpCommand('assist [command]', 'show assistance'); -``` - -## Custom event listeners - -You can execute custom actions by listening to command and option events. - -```js -program.on('option:verbose', function () { - process.env.VERBOSE = this.verbose; -}); - -program.on('command:*', function (operands) { - console.error(`error: unknown command '${operands[0]}'`); - const availableCommands = program.commands.map(cmd => cmd.name()); - mySuggestBestMatch(operands[0], availableCommands); - process.exitCode = 1; -}); -``` - -## Bits and pieces - -### .parse() and .parseAsync() - -The first argument to `.parse` is the array of strings to parse. You may omit the parameter to implicitly use `process.argv`. - -If the arguments follow different conventions than node you can pass a `from` option in the second parameter: - -- 'node': default, `argv[0]` is the application and `argv[1]` is the script being run, with user parameters after that -- 'electron': `argv[1]` varies depending on whether the electron application is packaged -- 'user': all of the arguments from the user - -For example: - -```js -program.parse(process.argv); // Explicit, node conventions -program.parse(); // Implicit, and auto-detect electron -program.parse(['-f', 'filename'], { from: 'user' }); -``` - -### Avoiding option name clashes - -The original and default behaviour is that the option values are stored -as properties on the program, and the action handler is passed a -command object with the options values stored as properties. -This is very convenient to code, but the downside is possible clashes with -existing properties of Command. - -There are two new routines to change the behaviour, and the default behaviour may change in the future: - -- `storeOptionsAsProperties`: whether to store option values as properties on command object, or store separately (specify false) and access using `.opts()` -- `passCommandToAction`: whether to pass command to action handler, -or just the options (specify false) - -Example file: [storeOptionsAsProperties-action.js](./examples/storeOptionsAsProperties-action.js) - -```js -program - .storeOptionsAsProperties(false) - .passCommandToAction(false); - -program - .name('my-program-name') - .option('-n,--name '); - -program - .command('show') - .option('-a,--action ') - .action((options) => { - console.log(options.action); - }); - -program.parse(process.argv); - -const programOptions = program.opts(); -console.log(programOptions.name); -``` - -### TypeScript - -The Commander package includes its TypeScript Definition file. - -If you use `ts-node` and stand-alone executable subcommands written as `.ts` files, you need to call your program through node to get the subcommands called correctly. e.g. - -```bash -node -r ts-node/register pm.ts -``` - -### createCommand() - -This factory function creates a new command. It is exported and may be used instead of using `new`, like: - -```js -const { createCommand } = require('commander'); -const program = createCommand(); -``` - -`createCommand` is also a method of the Command object, and creates a new command rather than a subcommand. This gets used internally -when creating subcommands using `.command()`, and you may override it to -customise the new subcommand (examples using [subclass](./examples/custom-command-class.js) and [function](./examples/custom-command-function.js)). - -### Import into ECMAScript Module - -Commander is currently a CommonJS package, and the default export can be imported into an ES Module: - -```js -// index.mjs -import commander from 'commander'; -const program = commander.program; -const newCommand = new commander.Command(); -``` - -### Node options such as `--harmony` - -You can enable `--harmony` option in two ways: - -- Use `#! /usr/bin/env node --harmony` in the subcommands scripts. (Note Windows does not support this pattern.) -- Use the `--harmony` option when call the command, like `node --harmony examples/pm publish`. The `--harmony` option will be preserved when spawning subcommand process. - -### Debugging stand-alone executable subcommands - -An executable subcommand is launched as a separate child process. - -If you are using the node inspector for [debugging](https://nodejs.org/en/docs/guides/debugging-getting-started/) executable subcommands using `node --inspect` et al, -the inspector port is incremented by 1 for the spawned subcommand. - -If you are using VSCode to debug executable subcommands you need to set the `"autoAttachChildProcesses": true` flag in your launch.json configuration. - -### Override exit handling - -By default Commander calls `process.exit` when it detects errors, or after displaying the help or version. You can override -this behaviour and optionally supply a callback. The default override throws a `CommanderError`. - -The override callback is passed a `CommanderError` with properties `exitCode` number, `code` string, and `message`. The default override behaviour is to throw the error, except for async handling of executable subcommand completion which carries on. The normal display of error messages or version or help -is not affected by the override which is called after the display. - -```js -program.exitOverride(); - -try { - program.parse(process.argv); -} catch (err) { - // custom processing... -} -``` - -## Examples - -Example file: [deploy](./examples/deploy) - -```js -const { program } = require('commander'); - -program - .version('0.1.0') - .option('-C, --chdir ', 'change the working directory') - .option('-c, --config ', 'set config path. defaults to ./deploy.conf') - .option('-T, --no-tests', 'ignore test hook'); - -program - .command('setup [env]') - .description('run setup commands for all envs') - .option("-s, --setup_mode [mode]", "Which setup mode to use") - .action(function(env, options){ - const mode = options.setup_mode || "normal"; - env = env || 'all'; - console.log('setup for %s env(s) with %s mode', env, mode); - }); - -program - .command('exec ') - .alias('ex') - .description('execute the given remote cmd') - .option("-e, --exec_mode ", "Which exec mode to use") - .action(function(cmd, options){ - console.log('exec "%s" using %s mode', cmd, options.exec_mode); - }).on('--help', function() { - console.log(''); - console.log('Examples:'); - console.log(''); - console.log(' $ deploy exec sequential'); - console.log(' $ deploy exec async'); - }); - -program.parse(process.argv); -``` - -More Demos can be found in the [examples](https://github.com/tj/commander.js/tree/master/examples) directory. - -## Support - -The current version of Commander is fully supported on Long Term Support versions of Node, and is likely to work with Node 6 but not tested. -(For versions of Node below Node 6, use Commander 3.x or 2.x.) - -The main forum for free and community support is the project [Issues](https://github.com/tj/commander.js/issues) on GitHub. - -### Commander for enterprise - -Available as part of the Tidelift Subscription - -The maintainers of Commander 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-commander?utm_source=npm-commander&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/node_modules/commander/index.js b/node_modules/commander/index.js deleted file mode 100644 index c85f72552f..0000000000 --- a/node_modules/commander/index.js +++ /dev/null @@ -1,1881 +0,0 @@ -/** - * Module dependencies. - */ - -const EventEmitter = require('events').EventEmitter; -const spawn = require('child_process').spawn; -const path = require('path'); -const fs = require('fs'); - -// @ts-check - -class Option { - /** - * Initialize a new `Option` with the given `flags` and `description`. - * - * @param {string} flags - * @param {string} description - * @api public - */ - - constructor(flags, description) { - this.flags = flags; - this.required = flags.includes('<'); // A value must be supplied when the option is specified. - this.optional = flags.includes('['); // A value is optional when the option is specified. - // variadic test ignores et al which might be used to describe custom splitting of single argument - this.variadic = /\w\.\.\.[>\]]$/.test(flags); // The option can take multiple values. - this.mandatory = false; // The option must have a value after parsing, which usually means it must be specified on command line. - const optionFlags = _parseOptionFlags(flags); - this.short = optionFlags.shortFlag; - this.long = optionFlags.longFlag; - this.negate = false; - if (this.long) { - this.negate = this.long.startsWith('--no-'); - } - this.description = description || ''; - this.defaultValue = undefined; - } - - /** - * Return option name. - * - * @return {string} - * @api private - */ - - name() { - if (this.long) { - return this.long.replace(/^--/, ''); - } - return this.short.replace(/^-/, ''); - }; - - /** - * Return option name, in a camelcase format that can be used - * as a object attribute key. - * - * @return {string} - * @api private - */ - - attributeName() { - return camelcase(this.name().replace(/^no-/, '')); - }; - - /** - * Check if `arg` matches the short or long flag. - * - * @param {string} arg - * @return {boolean} - * @api private - */ - - is(arg) { - return this.short === arg || this.long === arg; - }; -} - -/** - * CommanderError class - * @class - */ -class CommanderError extends Error { - /** - * Constructs the CommanderError class - * @param {number} exitCode suggested exit code which could be used with process.exit - * @param {string} code an id string representing the error - * @param {string} message human-readable description of the error - * @constructor - */ - constructor(exitCode, code, message) { - super(message); - // properly capture stack trace in Node.js - Error.captureStackTrace(this, this.constructor); - this.name = this.constructor.name; - this.code = code; - this.exitCode = exitCode; - this.nestedError = undefined; - } -} - -class Command extends EventEmitter { - /** - * Initialize a new `Command`. - * - * @param {string} [name] - * @api public - */ - - constructor(name) { - super(); - this.commands = []; - this.options = []; - this.parent = null; - this._allowUnknownOption = false; - this._args = []; - this.rawArgs = null; - this._scriptPath = null; - this._name = name || ''; - this._optionValues = {}; - this._storeOptionsAsProperties = true; // backwards compatible by default - this._storeOptionsAsPropertiesCalled = false; - this._passCommandToAction = true; // backwards compatible by default - this._actionResults = []; - this._actionHandler = null; - this._executableHandler = false; - this._executableFile = null; // custom name for executable - this._defaultCommandName = null; - this._exitCallback = null; - this._aliases = []; - this._combineFlagAndOptionalValue = true; - - this._hidden = false; - this._hasHelpOption = true; - this._helpFlags = '-h, --help'; - this._helpDescription = 'display help for command'; - this._helpShortFlag = '-h'; - this._helpLongFlag = '--help'; - this._hasImplicitHelpCommand = undefined; // Deliberately undefined, not decided whether true or false - this._helpCommandName = 'help'; - this._helpCommandnameAndArgs = 'help [command]'; - this._helpCommandDescription = 'display help for command'; - } - - /** - * Define a command. - * - * There are two styles of command: pay attention to where to put the description. - * - * Examples: - * - * // Command implemented using action handler (description is supplied separately to `.command`) - * program - * .command('clone [destination]') - * .description('clone a repository into a newly created directory') - * .action((source, destination) => { - * console.log('clone command called'); - * }); - * - * // Command implemented using separate executable file (description is second parameter to `.command`) - * program - * .command('start ', 'start named service') - * .command('stop [service]', 'stop named service, or all if no name supplied'); - * - * @param {string} nameAndArgs - command name and arguments, args are `` or `[optional]` and last may also be `variadic...` - * @param {Object|string} [actionOptsOrExecDesc] - configuration options (for action), or description (for executable) - * @param {Object} [execOpts] - configuration options (for executable) - * @return {Command} returns new command for action handler, or `this` for executable command - * @api public - */ - - command(nameAndArgs, actionOptsOrExecDesc, execOpts) { - let desc = actionOptsOrExecDesc; - let opts = execOpts; - if (typeof desc === 'object' && desc !== null) { - opts = desc; - desc = null; - } - opts = opts || {}; - const args = nameAndArgs.split(/ +/); - const cmd = this.createCommand(args.shift()); - - if (desc) { - cmd.description(desc); - cmd._executableHandler = true; - } - if (opts.isDefault) this._defaultCommandName = cmd._name; - - cmd._hidden = !!(opts.noHelp || opts.hidden); - cmd._hasHelpOption = this._hasHelpOption; - cmd._helpFlags = this._helpFlags; - cmd._helpDescription = this._helpDescription; - cmd._helpShortFlag = this._helpShortFlag; - cmd._helpLongFlag = this._helpLongFlag; - cmd._helpCommandName = this._helpCommandName; - cmd._helpCommandnameAndArgs = this._helpCommandnameAndArgs; - cmd._helpCommandDescription = this._helpCommandDescription; - cmd._exitCallback = this._exitCallback; - cmd._storeOptionsAsProperties = this._storeOptionsAsProperties; - cmd._passCommandToAction = this._passCommandToAction; - cmd._combineFlagAndOptionalValue = this._combineFlagAndOptionalValue; - - cmd._executableFile = opts.executableFile || null; // Custom name for executable file, set missing to null to match constructor - this.commands.push(cmd); - cmd._parseExpectedArgs(args); - cmd.parent = this; - - if (desc) return this; - return cmd; - }; - - /** - * Factory routine to create a new unattached command. - * - * See .command() for creating an attached subcommand, which uses this routine to - * create the command. You can override createCommand to customise subcommands. - * - * @param {string} [name] - * @return {Command} new command - * @api public - */ - - createCommand(name) { - return new Command(name); - }; - - /** - * Add a prepared subcommand. - * - * See .command() for creating an attached subcommand which inherits settings from its parent. - * - * @param {Command} cmd - new subcommand - * @param {Object} [opts] - configuration options - * @return {Command} `this` command for chaining - * @api public - */ - - addCommand(cmd, opts) { - if (!cmd._name) throw new Error('Command passed to .addCommand() must have a name'); - - // To keep things simple, block automatic name generation for deeply nested executables. - // Fail fast and detect when adding rather than later when parsing. - function checkExplicitNames(commandArray) { - commandArray.forEach((cmd) => { - if (cmd._executableHandler && !cmd._executableFile) { - throw new Error(`Must specify executableFile for deeply nested executable: ${cmd.name()}`); - } - checkExplicitNames(cmd.commands); - }); - } - checkExplicitNames(cmd.commands); - - opts = opts || {}; - if (opts.isDefault) this._defaultCommandName = cmd._name; - if (opts.noHelp || opts.hidden) cmd._hidden = true; // modifying passed command due to existing implementation - - this.commands.push(cmd); - cmd.parent = this; - return this; - }; - - /** - * Define argument syntax for the command. - * - * @api public - */ - - arguments(desc) { - return this._parseExpectedArgs(desc.split(/ +/)); - }; - - /** - * Override default decision whether to add implicit help command. - * - * addHelpCommand() // force on - * addHelpCommand(false); // force off - * addHelpCommand('help [cmd]', 'display help for [cmd]'); // force on with custom details - * - * @return {Command} `this` command for chaining - * @api public - */ - - addHelpCommand(enableOrNameAndArgs, description) { - if (enableOrNameAndArgs === false) { - this._hasImplicitHelpCommand = false; - } else { - this._hasImplicitHelpCommand = true; - if (typeof enableOrNameAndArgs === 'string') { - this._helpCommandName = enableOrNameAndArgs.split(' ')[0]; - this._helpCommandnameAndArgs = enableOrNameAndArgs; - } - this._helpCommandDescription = description || this._helpCommandDescription; - } - return this; - }; - - /** - * @return {boolean} - * @api private - */ - - _lazyHasImplicitHelpCommand() { - if (this._hasImplicitHelpCommand === undefined) { - this._hasImplicitHelpCommand = this.commands.length && !this._actionHandler && !this._findCommand('help'); - } - return this._hasImplicitHelpCommand; - }; - - /** - * Parse expected `args`. - * - * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. - * - * @param {Array} args - * @return {Command} `this` command for chaining - * @api private - */ - - _parseExpectedArgs(args) { - if (!args.length) return; - args.forEach((arg) => { - const argDetails = { - required: false, - name: '', - variadic: false - }; - - switch (arg[0]) { - case '<': - argDetails.required = true; - argDetails.name = arg.slice(1, -1); - break; - case '[': - argDetails.name = arg.slice(1, -1); - break; - } - - if (argDetails.name.length > 3 && argDetails.name.slice(-3) === '...') { - argDetails.variadic = true; - argDetails.name = argDetails.name.slice(0, -3); - } - if (argDetails.name) { - this._args.push(argDetails); - } - }); - this._args.forEach((arg, i) => { - if (arg.variadic && i < this._args.length - 1) { - throw new Error(`only the last argument can be variadic '${arg.name}'`); - } - }); - return this; - }; - - /** - * Register callback to use as replacement for calling process.exit. - * - * @param {Function} [fn] optional callback which will be passed a CommanderError, defaults to throwing - * @return {Command} `this` command for chaining - * @api public - */ - - exitOverride(fn) { - if (fn) { - this._exitCallback = fn; - } else { - this._exitCallback = (err) => { - if (err.code !== 'commander.executeSubCommandAsync') { - throw err; - } else { - // Async callback from spawn events, not useful to throw. - } - }; - } - return this; - }; - - /** - * Call process.exit, and _exitCallback if defined. - * - * @param {number} exitCode exit code for using with process.exit - * @param {string} code an id string representing the error - * @param {string} message human-readable description of the error - * @return never - * @api private - */ - - _exit(exitCode, code, message) { - if (this._exitCallback) { - this._exitCallback(new CommanderError(exitCode, code, message)); - // Expecting this line is not reached. - } - process.exit(exitCode); - }; - - /** - * Register callback `fn` for the command. - * - * Examples: - * - * program - * .command('help') - * .description('display verbose help') - * .action(function() { - * // output help here - * }); - * - * @param {Function} fn - * @return {Command} `this` command for chaining - * @api public - */ - - action(fn) { - const listener = (args) => { - // The .action callback takes an extra parameter which is the command or options. - const expectedArgsCount = this._args.length; - const actionArgs = args.slice(0, expectedArgsCount); - if (this._passCommandToAction) { - actionArgs[expectedArgsCount] = this; - } else { - actionArgs[expectedArgsCount] = this.opts(); - } - // Add the extra arguments so available too. - if (args.length > expectedArgsCount) { - actionArgs.push(args.slice(expectedArgsCount)); - } - - const actionResult = fn.apply(this, actionArgs); - // Remember result in case it is async. Assume parseAsync getting called on root. - let rootCommand = this; - while (rootCommand.parent) { - rootCommand = rootCommand.parent; - } - rootCommand._actionResults.push(actionResult); - }; - this._actionHandler = listener; - return this; - }; - - /** - * Internal routine to check whether there is a clash storing option value with a Command property. - * - * @param {Option} option - * @api private - */ - - _checkForOptionNameClash(option) { - if (!this._storeOptionsAsProperties || this._storeOptionsAsPropertiesCalled) { - // Storing options safely, or user has been explicit and up to them. - return; - } - // User may override help, and hard to tell if worth warning. - if (option.name() === 'help') { - return; - } - - const commandProperty = this._getOptionValue(option.attributeName()); - if (commandProperty === undefined) { - // no clash - return; - } - - let foundClash = true; - if (option.negate) { - // It is ok if define foo before --no-foo. - const positiveLongFlag = option.long.replace(/^--no-/, '--'); - foundClash = !this._findOption(positiveLongFlag); - } else if (option.long) { - const negativeLongFlag = option.long.replace(/^--/, '--no-'); - foundClash = !this._findOption(negativeLongFlag); - } - - if (foundClash) { - throw new Error(`option '${option.name()}' clashes with existing property '${option.attributeName()}' on Command -- call storeOptionsAsProperties(false) to store option values safely, -- or call storeOptionsAsProperties(true) to suppress this check, -- or change option name - -Read more on https://git.io/JJc0W`); - } - }; - - /** - * Internal implementation shared by .option() and .requiredOption() - * - * @param {Object} config - * @param {string} flags - * @param {string} description - * @param {Function|*} [fn] - custom option processing function or default value - * @param {*} [defaultValue] - * @return {Command} `this` command for chaining - * @api private - */ - - _optionEx(config, flags, description, fn, defaultValue) { - const option = new Option(flags, description); - const oname = option.name(); - const name = option.attributeName(); - option.mandatory = !!config.mandatory; - - this._checkForOptionNameClash(option); - - // default as 3rd arg - if (typeof fn !== 'function') { - if (fn instanceof RegExp) { - // This is a bit simplistic (especially no error messages), and probably better handled by caller using custom option processing. - // No longer documented in README, but still present for backwards compatibility. - const regex = fn; - fn = (val, def) => { - const m = regex.exec(val); - return m ? m[0] : def; - }; - } else { - defaultValue = fn; - fn = null; - } - } - - // preassign default value for --no-*, [optional], , or plain flag if boolean value - if (option.negate || option.optional || option.required || typeof defaultValue === 'boolean') { - // when --no-foo we make sure default is true, unless a --foo option is already defined - if (option.negate) { - const positiveLongFlag = option.long.replace(/^--no-/, '--'); - defaultValue = this._findOption(positiveLongFlag) ? this._getOptionValue(name) : true; - } - // preassign only if we have a default - if (defaultValue !== undefined) { - this._setOptionValue(name, defaultValue); - option.defaultValue = defaultValue; - } - } - - // register the option - this.options.push(option); - - // when it's passed assign the value - // and conditionally invoke the callback - this.on('option:' + oname, (val) => { - const oldValue = this._getOptionValue(name); - - // custom processing - if (val !== null && fn) { - val = fn(val, oldValue === undefined ? defaultValue : oldValue); - } else if (val !== null && option.variadic) { - if (oldValue === defaultValue || !Array.isArray(oldValue)) { - val = [val]; - } else { - val = oldValue.concat(val); - } - } - - // unassigned or boolean value - if (typeof oldValue === 'boolean' || typeof oldValue === 'undefined') { - // if no value, negate false, and we have a default, then use it! - if (val == null) { - this._setOptionValue(name, option.negate - ? false - : defaultValue || true); - } else { - this._setOptionValue(name, val); - } - } else if (val !== null) { - // reassign - this._setOptionValue(name, option.negate ? false : val); - } - }); - - return this; - }; - - /** - * Define option with `flags`, `description` and optional - * coercion `fn`. - * - * The `flags` string should contain both the short and long flags, - * separated by comma, a pipe or space. The following are all valid - * all will output this way when `--help` is used. - * - * "-p, --pepper" - * "-p|--pepper" - * "-p --pepper" - * - * Examples: - * - * // simple boolean defaulting to undefined - * program.option('-p, --pepper', 'add pepper'); - * - * program.pepper - * // => undefined - * - * --pepper - * program.pepper - * // => true - * - * // simple boolean defaulting to true (unless non-negated option is also defined) - * program.option('-C, --no-cheese', 'remove cheese'); - * - * program.cheese - * // => true - * - * --no-cheese - * program.cheese - * // => false - * - * // required argument - * program.option('-C, --chdir ', 'change the working directory'); - * - * --chdir /tmp - * program.chdir - * // => "/tmp" - * - * // optional argument - * program.option('-c, --cheese [type]', 'add cheese [marble]'); - * - * @param {string} flags - * @param {string} description - * @param {Function|*} [fn] - custom option processing function or default value - * @param {*} [defaultValue] - * @return {Command} `this` command for chaining - * @api public - */ - - option(flags, description, fn, defaultValue) { - return this._optionEx({}, flags, description, fn, defaultValue); - }; - - /** - * Add a required option which must have a value after parsing. This usually means - * the option must be specified on the command line. (Otherwise the same as .option().) - * - * The `flags` string should contain both the short and long flags, separated by comma, a pipe or space. - * - * @param {string} flags - * @param {string} description - * @param {Function|*} [fn] - custom option processing function or default value - * @param {*} [defaultValue] - * @return {Command} `this` command for chaining - * @api public - */ - - requiredOption(flags, description, fn, defaultValue) { - return this._optionEx({ mandatory: true }, flags, description, fn, defaultValue); - }; - - /** - * Alter parsing of short flags with optional values. - * - * Examples: - * - * // for `.option('-f,--flag [value]'): - * .combineFlagAndOptionalValue(true) // `-f80` is treated like `--flag=80`, this is the default behaviour - * .combineFlagAndOptionalValue(false) // `-fb` is treated like `-f -b` - * - * @param {Boolean} [arg] - if `true` or omitted, an optional value can be specified directly after the flag. - * @api public - */ - combineFlagAndOptionalValue(arg) { - this._combineFlagAndOptionalValue = (arg === undefined) || arg; - return this; - }; - - /** - * Allow unknown options on the command line. - * - * @param {Boolean} [arg] - if `true` or omitted, no error will be thrown - * for unknown options. - * @api public - */ - allowUnknownOption(arg) { - this._allowUnknownOption = (arg === undefined) || arg; - return this; - }; - - /** - * Whether to store option values as properties on command object, - * or store separately (specify false). In both cases the option values can be accessed using .opts(). - * - * @param {boolean} value - * @return {Command} `this` command for chaining - * @api public - */ - - storeOptionsAsProperties(value) { - this._storeOptionsAsPropertiesCalled = true; - this._storeOptionsAsProperties = (value === undefined) || value; - if (this.options.length) { - throw new Error('call .storeOptionsAsProperties() before adding options'); - } - return this; - }; - - /** - * Whether to pass command to action handler, - * or just the options (specify false). - * - * @param {boolean} value - * @return {Command} `this` command for chaining - * @api public - */ - - passCommandToAction(value) { - this._passCommandToAction = (value === undefined) || value; - return this; - }; - - /** - * Store option value - * - * @param {string} key - * @param {Object} value - * @api private - */ - - _setOptionValue(key, value) { - if (this._storeOptionsAsProperties) { - this[key] = value; - } else { - this._optionValues[key] = value; - } - }; - - /** - * Retrieve option value - * - * @param {string} key - * @return {Object} value - * @api private - */ - - _getOptionValue(key) { - if (this._storeOptionsAsProperties) { - return this[key]; - } - return this._optionValues[key]; - }; - - /** - * Parse `argv`, setting options and invoking commands when defined. - * - * The default expectation is that the arguments are from node and have the application as argv[0] - * and the script being run in argv[1], with user parameters after that. - * - * Examples: - * - * program.parse(process.argv); - * program.parse(); // implicitly use process.argv and auto-detect node vs electron conventions - * program.parse(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0] - * - * @param {string[]} [argv] - optional, defaults to process.argv - * @param {Object} [parseOptions] - optionally specify style of options with from: node/user/electron - * @param {string} [parseOptions.from] - where the args are from: 'node', 'user', 'electron' - * @return {Command} `this` command for chaining - * @api public - */ - - parse(argv, parseOptions) { - if (argv !== undefined && !Array.isArray(argv)) { - throw new Error('first parameter to parse must be array or undefined'); - } - parseOptions = parseOptions || {}; - - // Default to using process.argv - if (argv === undefined) { - argv = process.argv; - // @ts-ignore - if (process.versions && process.versions.electron) { - parseOptions.from = 'electron'; - } - } - this.rawArgs = argv.slice(); - - // make it a little easier for callers by supporting various argv conventions - let userArgs; - switch (parseOptions.from) { - case undefined: - case 'node': - this._scriptPath = argv[1]; - userArgs = argv.slice(2); - break; - case 'electron': - // @ts-ignore - if (process.defaultApp) { - this._scriptPath = argv[1]; - userArgs = argv.slice(2); - } else { - userArgs = argv.slice(1); - } - break; - case 'user': - userArgs = argv.slice(0); - break; - default: - throw new Error(`unexpected parse option { from: '${parseOptions.from}' }`); - } - if (!this._scriptPath && process.mainModule) { - this._scriptPath = process.mainModule.filename; - } - - // Guess name, used in usage in help. - this._name = this._name || (this._scriptPath && path.basename(this._scriptPath, path.extname(this._scriptPath))); - - // Let's go! - this._parseCommand([], userArgs); - - return this; - }; - - /** - * Parse `argv`, setting options and invoking commands when defined. - * - * Use parseAsync instead of parse if any of your action handlers are async. Returns a Promise. - * - * The default expectation is that the arguments are from node and have the application as argv[0] - * and the script being run in argv[1], with user parameters after that. - * - * Examples: - * - * program.parseAsync(process.argv); - * program.parseAsync(); // implicitly use process.argv and auto-detect node vs electron conventions - * program.parseAsync(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0] - * - * @param {string[]} [argv] - * @param {Object} [parseOptions] - * @param {string} parseOptions.from - where the args are from: 'node', 'user', 'electron' - * @return {Promise} - * @api public - */ - - parseAsync(argv, parseOptions) { - this.parse(argv, parseOptions); - return Promise.all(this._actionResults).then(() => this); - }; - - /** - * Execute a sub-command executable. - * - * @api private - */ - - _executeSubCommand(subcommand, args) { - args = args.slice(); - let launchWithNode = false; // Use node for source targets so do not need to get permissions correct, and on Windows. - const sourceExt = ['.js', '.ts', '.tsx', '.mjs']; - - // Not checking for help first. Unlikely to have mandatory and executable, and can't robustly test for help flags in external command. - this._checkForMissingMandatoryOptions(); - - // Want the entry script as the reference for command name and directory for searching for other files. - let scriptPath = this._scriptPath; - // Fallback in case not set, due to how Command created or called. - if (!scriptPath && process.mainModule) { - scriptPath = process.mainModule.filename; - } - - let baseDir; - try { - const resolvedLink = fs.realpathSync(scriptPath); - baseDir = path.dirname(resolvedLink); - } catch (e) { - baseDir = '.'; // dummy, probably not going to find executable! - } - - // name of the subcommand, like `pm-install` - let bin = path.basename(scriptPath, path.extname(scriptPath)) + '-' + subcommand._name; - if (subcommand._executableFile) { - bin = subcommand._executableFile; - } - - const localBin = path.join(baseDir, bin); - if (fs.existsSync(localBin)) { - // prefer local `./` to bin in the $PATH - bin = localBin; - } else { - // Look for source files. - sourceExt.forEach((ext) => { - if (fs.existsSync(`${localBin}${ext}`)) { - bin = `${localBin}${ext}`; - } - }); - } - launchWithNode = sourceExt.includes(path.extname(bin)); - - let proc; - if (process.platform !== 'win32') { - if (launchWithNode) { - args.unshift(bin); - // add executable arguments to spawn - args = incrementNodeInspectorPort(process.execArgv).concat(args); - - proc = spawn(process.argv[0], args, { stdio: 'inherit' }); - } else { - proc = spawn(bin, args, { stdio: 'inherit' }); - } - } else { - args.unshift(bin); - // add executable arguments to spawn - args = incrementNodeInspectorPort(process.execArgv).concat(args); - proc = spawn(process.execPath, args, { stdio: 'inherit' }); - } - - const signals = ['SIGUSR1', 'SIGUSR2', 'SIGTERM', 'SIGINT', 'SIGHUP']; - signals.forEach((signal) => { - // @ts-ignore - process.on(signal, () => { - if (proc.killed === false && proc.exitCode === null) { - proc.kill(signal); - } - }); - }); - - // By default terminate process when spawned process terminates. - // Suppressing the exit if exitCallback defined is a bit messy and of limited use, but does allow process to stay running! - const exitCallback = this._exitCallback; - if (!exitCallback) { - proc.on('close', process.exit.bind(process)); - } else { - proc.on('close', () => { - exitCallback(new CommanderError(process.exitCode || 0, 'commander.executeSubCommandAsync', '(close)')); - }); - } - proc.on('error', (err) => { - // @ts-ignore - if (err.code === 'ENOENT') { - const executableMissing = `'${bin}' does not exist - - if '${subcommand._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead - - if the default executable name is not suitable, use the executableFile option to supply a custom name`; - throw new Error(executableMissing); - // @ts-ignore - } else if (err.code === 'EACCES') { - throw new Error(`'${bin}' not executable`); - } - if (!exitCallback) { - process.exit(1); - } else { - const wrappedError = new CommanderError(1, 'commander.executeSubCommandAsync', '(error)'); - wrappedError.nestedError = err; - exitCallback(wrappedError); - } - }); - - // Store the reference to the child process - this.runningCommand = proc; - }; - - /** - * @api private - */ - _dispatchSubcommand(commandName, operands, unknown) { - const subCommand = this._findCommand(commandName); - if (!subCommand) this._helpAndError(); - - if (subCommand._executableHandler) { - this._executeSubCommand(subCommand, operands.concat(unknown)); - } else { - subCommand._parseCommand(operands, unknown); - } - }; - - /** - * Process arguments in context of this command. - * - * @api private - */ - - _parseCommand(operands, unknown) { - const parsed = this.parseOptions(unknown); - operands = operands.concat(parsed.operands); - unknown = parsed.unknown; - this.args = operands.concat(unknown); - - if (operands && this._findCommand(operands[0])) { - this._dispatchSubcommand(operands[0], operands.slice(1), unknown); - } else if (this._lazyHasImplicitHelpCommand() && operands[0] === this._helpCommandName) { - if (operands.length === 1) { - this.help(); - } else { - this._dispatchSubcommand(operands[1], [], [this._helpLongFlag]); - } - } else if (this._defaultCommandName) { - outputHelpIfRequested(this, unknown); // Run the help for default command from parent rather than passing to default command - this._dispatchSubcommand(this._defaultCommandName, operands, unknown); - } else { - if (this.commands.length && this.args.length === 0 && !this._actionHandler && !this._defaultCommandName) { - // probably missing subcommand and no handler, user needs help - this._helpAndError(); - } - - outputHelpIfRequested(this, parsed.unknown); - this._checkForMissingMandatoryOptions(); - if (parsed.unknown.length > 0) { - this.unknownOption(parsed.unknown[0]); - } - - if (this._actionHandler) { - const args = this.args.slice(); - this._args.forEach((arg, i) => { - if (arg.required && args[i] == null) { - this.missingArgument(arg.name); - } else if (arg.variadic) { - args[i] = args.splice(i); - } - }); - - this._actionHandler(args); - this.emit('command:' + this.name(), operands, unknown); - } else if (operands.length) { - if (this._findCommand('*')) { - this._dispatchSubcommand('*', operands, unknown); - } else if (this.listenerCount('command:*')) { - this.emit('command:*', operands, unknown); - } else if (this.commands.length) { - this.unknownCommand(); - } - } else if (this.commands.length) { - // This command has subcommands and nothing hooked up at this level, so display help. - this._helpAndError(); - } else { - // fall through for caller to handle after calling .parse() - } - } - }; - - /** - * Find matching command. - * - * @api private - */ - _findCommand(name) { - if (!name) return undefined; - return this.commands.find(cmd => cmd._name === name || cmd._aliases.includes(name)); - }; - - /** - * Return an option matching `arg` if any. - * - * @param {string} arg - * @return {Option} - * @api private - */ - - _findOption(arg) { - return this.options.find(option => option.is(arg)); - }; - - /** - * Display an error message if a mandatory option does not have a value. - * Lazy calling after checking for help flags from leaf subcommand. - * - * @api private - */ - - _checkForMissingMandatoryOptions() { - // Walk up hierarchy so can call in subcommand after checking for displaying help. - for (let cmd = this; cmd; cmd = cmd.parent) { - cmd.options.forEach((anOption) => { - if (anOption.mandatory && (cmd._getOptionValue(anOption.attributeName()) === undefined)) { - cmd.missingMandatoryOptionValue(anOption); - } - }); - } - }; - - /** - * Parse options from `argv` removing known options, - * and return argv split into operands and unknown arguments. - * - * Examples: - * - * argv => operands, unknown - * --known kkk op => [op], [] - * op --known kkk => [op], [] - * sub --unknown uuu op => [sub], [--unknown uuu op] - * sub -- --unknown uuu op => [sub --unknown uuu op], [] - * - * @param {String[]} argv - * @return {{operands: String[], unknown: String[]}} - * @api public - */ - - parseOptions(argv) { - const operands = []; // operands, not options or values - const unknown = []; // first unknown option and remaining unknown args - let dest = operands; - const args = argv.slice(); - - function maybeOption(arg) { - return arg.length > 1 && arg[0] === '-'; - } - - // parse options - let activeVariadicOption = null; - while (args.length) { - const arg = args.shift(); - - // literal - if (arg === '--') { - if (dest === unknown) dest.push(arg); - dest.push(...args); - break; - } - - if (activeVariadicOption && !maybeOption(arg)) { - this.emit(`option:${activeVariadicOption.name()}`, arg); - continue; - } - activeVariadicOption = null; - - if (maybeOption(arg)) { - const option = this._findOption(arg); - // recognised option, call listener to assign value with possible custom processing - if (option) { - if (option.required) { - const value = args.shift(); - if (value === undefined) this.optionMissingArgument(option); - this.emit(`option:${option.name()}`, value); - } else if (option.optional) { - let value = null; - // historical behaviour is optional value is following arg unless an option - if (args.length > 0 && !maybeOption(args[0])) { - value = args.shift(); - } - this.emit(`option:${option.name()}`, value); - } else { // boolean flag - this.emit(`option:${option.name()}`); - } - activeVariadicOption = option.variadic ? option : null; - continue; - } - } - - // Look for combo options following single dash, eat first one if known. - if (arg.length > 2 && arg[0] === '-' && arg[1] !== '-') { - const option = this._findOption(`-${arg[1]}`); - if (option) { - if (option.required || (option.optional && this._combineFlagAndOptionalValue)) { - // option with value following in same argument - this.emit(`option:${option.name()}`, arg.slice(2)); - } else { - // boolean option, emit and put back remainder of arg for further processing - this.emit(`option:${option.name()}`); - args.unshift(`-${arg.slice(2)}`); - } - continue; - } - } - - // Look for known long flag with value, like --foo=bar - if (/^--[^=]+=/.test(arg)) { - const index = arg.indexOf('='); - const option = this._findOption(arg.slice(0, index)); - if (option && (option.required || option.optional)) { - this.emit(`option:${option.name()}`, arg.slice(index + 1)); - continue; - } - } - - // looks like an option but unknown, unknowns from here - if (arg.length > 1 && arg[0] === '-') { - dest = unknown; - } - - // add arg - dest.push(arg); - } - - return { operands, unknown }; - }; - - /** - * Return an object containing options as key-value pairs - * - * @return {Object} - * @api public - */ - opts() { - if (this._storeOptionsAsProperties) { - // Preserve original behaviour so backwards compatible when still using properties - const result = {}; - const len = this.options.length; - - for (let i = 0; i < len; i++) { - const key = this.options[i].attributeName(); - result[key] = key === this._versionOptionName ? this._version : this[key]; - } - return result; - } - - return this._optionValues; - }; - - /** - * Argument `name` is missing. - * - * @param {string} name - * @api private - */ - - missingArgument(name) { - const message = `error: missing required argument '${name}'`; - console.error(message); - this._exit(1, 'commander.missingArgument', message); - }; - - /** - * `Option` is missing an argument, but received `flag` or nothing. - * - * @param {Option} option - * @param {string} [flag] - * @api private - */ - - optionMissingArgument(option, flag) { - let message; - if (flag) { - message = `error: option '${option.flags}' argument missing, got '${flag}'`; - } else { - message = `error: option '${option.flags}' argument missing`; - } - console.error(message); - this._exit(1, 'commander.optionMissingArgument', message); - }; - - /** - * `Option` does not have a value, and is a mandatory option. - * - * @param {Option} option - * @api private - */ - - missingMandatoryOptionValue(option) { - const message = `error: required option '${option.flags}' not specified`; - console.error(message); - this._exit(1, 'commander.missingMandatoryOptionValue', message); - }; - - /** - * Unknown option `flag`. - * - * @param {string} flag - * @api private - */ - - unknownOption(flag) { - if (this._allowUnknownOption) return; - const message = `error: unknown option '${flag}'`; - console.error(message); - this._exit(1, 'commander.unknownOption', message); - }; - - /** - * Unknown command. - * - * @api private - */ - - unknownCommand() { - const partCommands = [this.name()]; - for (let parentCmd = this.parent; parentCmd; parentCmd = parentCmd.parent) { - partCommands.unshift(parentCmd.name()); - } - const fullCommand = partCommands.join(' '); - const message = `error: unknown command '${this.args[0]}'.` + - (this._hasHelpOption ? ` See '${fullCommand} ${this._helpLongFlag}'.` : ''); - console.error(message); - this._exit(1, 'commander.unknownCommand', message); - }; - - /** - * Set the program version to `str`. - * - * This method auto-registers the "-V, --version" flag - * which will print the version number when passed. - * - * You can optionally supply the flags and description to override the defaults. - * - * @param {string} str - * @param {string} [flags] - * @param {string} [description] - * @return {this | string} `this` command for chaining, or version string if no arguments - * @api public - */ - - version(str, flags, description) { - if (str === undefined) return this._version; - this._version = str; - flags = flags || '-V, --version'; - description = description || 'output the version number'; - const versionOption = new Option(flags, description); - this._versionOptionName = versionOption.attributeName(); - this.options.push(versionOption); - this.on('option:' + versionOption.name(), () => { - process.stdout.write(str + '\n'); - this._exit(0, 'commander.version', str); - }); - return this; - }; - - /** - * Set the description to `str`. - * - * @param {string} str - * @param {Object} [argsDescription] - * @return {string|Command} - * @api public - */ - - description(str, argsDescription) { - if (str === undefined && argsDescription === undefined) return this._description; - this._description = str; - this._argsDescription = argsDescription; - return this; - }; - - /** - * Set an alias for the command. - * - * You may call more than once to add multiple aliases. Only the first alias is shown in the auto-generated help. - * - * @param {string} [alias] - * @return {string|Command} - * @api public - */ - - alias(alias) { - if (alias === undefined) return this._aliases[0]; // just return first, for backwards compatibility - - let command = this; - if (this.commands.length !== 0 && this.commands[this.commands.length - 1]._executableHandler) { - // assume adding alias for last added executable subcommand, rather than this - command = this.commands[this.commands.length - 1]; - } - - if (alias === command._name) throw new Error('Command alias can\'t be the same as its name'); - - command._aliases.push(alias); - return this; - }; - - /** - * Set aliases for the command. - * - * Only the first alias is shown in the auto-generated help. - * - * @param {string[]} [aliases] - * @return {string[]|Command} - * @api public - */ - - aliases(aliases) { - // Getter for the array of aliases is the main reason for having aliases() in addition to alias(). - if (aliases === undefined) return this._aliases; - - aliases.forEach((alias) => this.alias(alias)); - return this; - }; - - /** - * Set / get the command usage `str`. - * - * @param {string} [str] - * @return {String|Command} - * @api public - */ - - usage(str) { - if (str === undefined) { - if (this._usage) return this._usage; - - const args = this._args.map((arg) => { - return humanReadableArgName(arg); - }); - return [].concat( - (this.options.length || this._hasHelpOption ? '[options]' : []), - (this.commands.length ? '[command]' : []), - (this._args.length ? args : []) - ).join(' '); - } - - this._usage = str; - return this; - }; - - /** - * Get or set the name of the command - * - * @param {string} [str] - * @return {String|Command} - * @api public - */ - - name(str) { - if (str === undefined) return this._name; - this._name = str; - return this; - }; - - /** - * Return prepared commands. - * - * @return {Array} - * @api private - */ - - prepareCommands() { - const commandDetails = this.commands.filter((cmd) => { - return !cmd._hidden; - }).map((cmd) => { - const args = cmd._args.map((arg) => { - return humanReadableArgName(arg); - }).join(' '); - - return [ - cmd._name + - (cmd._aliases[0] ? '|' + cmd._aliases[0] : '') + - (cmd.options.length ? ' [options]' : '') + - (args ? ' ' + args : ''), - cmd._description - ]; - }); - - if (this._lazyHasImplicitHelpCommand()) { - commandDetails.push([this._helpCommandnameAndArgs, this._helpCommandDescription]); - } - return commandDetails; - }; - - /** - * Return the largest command length. - * - * @return {number} - * @api private - */ - - largestCommandLength() { - const commands = this.prepareCommands(); - return commands.reduce((max, command) => { - return Math.max(max, command[0].length); - }, 0); - }; - - /** - * Return the largest option length. - * - * @return {number} - * @api private - */ - - largestOptionLength() { - const options = [].slice.call(this.options); - options.push({ - flags: this._helpFlags - }); - - return options.reduce((max, option) => { - return Math.max(max, option.flags.length); - }, 0); - }; - - /** - * Return the largest arg length. - * - * @return {number} - * @api private - */ - - largestArgLength() { - return this._args.reduce((max, arg) => { - return Math.max(max, arg.name.length); - }, 0); - }; - - /** - * Return the pad width. - * - * @return {number} - * @api private - */ - - padWidth() { - let width = this.largestOptionLength(); - if (this._argsDescription && this._args.length) { - if (this.largestArgLength() > width) { - width = this.largestArgLength(); - } - } - - if (this.commands && this.commands.length) { - if (this.largestCommandLength() > width) { - width = this.largestCommandLength(); - } - } - - return width; - }; - - /** - * Return help for options. - * - * @return {string} - * @api private - */ - - optionHelp() { - const width = this.padWidth(); - const columns = process.stdout.columns || 80; - const descriptionWidth = columns - width - 4; - function padOptionDetails(flags, description) { - return pad(flags, width) + ' ' + optionalWrap(description, descriptionWidth, width + 2); - }; - - // Explicit options (including version) - const help = this.options.map((option) => { - const fullDesc = option.description + - ((!option.negate && option.defaultValue !== undefined) ? ' (default: ' + JSON.stringify(option.defaultValue) + ')' : ''); - return padOptionDetails(option.flags, fullDesc); - }); - - // Implicit help - const showShortHelpFlag = this._hasHelpOption && this._helpShortFlag && !this._findOption(this._helpShortFlag); - const showLongHelpFlag = this._hasHelpOption && !this._findOption(this._helpLongFlag); - if (showShortHelpFlag || showLongHelpFlag) { - let helpFlags = this._helpFlags; - if (!showShortHelpFlag) { - helpFlags = this._helpLongFlag; - } else if (!showLongHelpFlag) { - helpFlags = this._helpShortFlag; - } - help.push(padOptionDetails(helpFlags, this._helpDescription)); - } - - return help.join('\n'); - }; - - /** - * Return command help documentation. - * - * @return {string} - * @api private - */ - - commandHelp() { - if (!this.commands.length && !this._lazyHasImplicitHelpCommand()) return ''; - - const commands = this.prepareCommands(); - const width = this.padWidth(); - - const columns = process.stdout.columns || 80; - const descriptionWidth = columns - width - 4; - - return [ - 'Commands:', - commands.map((cmd) => { - const desc = cmd[1] ? ' ' + cmd[1] : ''; - return (desc ? pad(cmd[0], width) : cmd[0]) + optionalWrap(desc, descriptionWidth, width + 2); - }).join('\n').replace(/^/gm, ' '), - '' - ].join('\n'); - }; - - /** - * Return program help documentation. - * - * @return {string} - * @api public - */ - - helpInformation() { - let desc = []; - if (this._description) { - desc = [ - this._description, - '' - ]; - - const argsDescription = this._argsDescription; - if (argsDescription && this._args.length) { - const width = this.padWidth(); - const columns = process.stdout.columns || 80; - const descriptionWidth = columns - width - 5; - desc.push('Arguments:'); - this._args.forEach((arg) => { - desc.push(' ' + pad(arg.name, width) + ' ' + wrap(argsDescription[arg.name] || '', descriptionWidth, width + 4)); - }); - desc.push(''); - } - } - - let cmdName = this._name; - if (this._aliases[0]) { - cmdName = cmdName + '|' + this._aliases[0]; - } - let parentCmdNames = ''; - for (let parentCmd = this.parent; parentCmd; parentCmd = parentCmd.parent) { - parentCmdNames = parentCmd.name() + ' ' + parentCmdNames; - } - const usage = [ - 'Usage: ' + parentCmdNames + cmdName + ' ' + this.usage(), - '' - ]; - - let cmds = []; - const commandHelp = this.commandHelp(); - if (commandHelp) cmds = [commandHelp]; - - let options = []; - if (this._hasHelpOption || this.options.length > 0) { - options = [ - 'Options:', - '' + this.optionHelp().replace(/^/gm, ' '), - '' - ]; - } - - return usage - .concat(desc) - .concat(options) - .concat(cmds) - .join('\n'); - }; - - /** - * Output help information for this command. - * - * When listener(s) are available for the helpLongFlag - * those callbacks are invoked. - * - * @api public - */ - - outputHelp(cb) { - if (!cb) { - cb = (passthru) => { - return passthru; - }; - } - const cbOutput = cb(this.helpInformation()); - if (typeof cbOutput !== 'string' && !Buffer.isBuffer(cbOutput)) { - throw new Error('outputHelp callback must return a string or a Buffer'); - } - process.stdout.write(cbOutput); - this.emit(this._helpLongFlag); - }; - - /** - * You can pass in flags and a description to override the help - * flags and help description for your command. Pass in false to - * disable the built-in help option. - * - * @param {string | boolean} [flags] - * @param {string} [description] - * @return {Command} `this` command for chaining - * @api public - */ - - helpOption(flags, description) { - if (typeof flags === 'boolean') { - this._hasHelpOption = flags; - return this; - } - this._helpFlags = flags || this._helpFlags; - this._helpDescription = description || this._helpDescription; - - const helpFlags = _parseOptionFlags(this._helpFlags); - this._helpShortFlag = helpFlags.shortFlag; - this._helpLongFlag = helpFlags.longFlag; - - return this; - }; - - /** - * Output help information and exit. - * - * @param {Function} [cb] - * @api public - */ - - help(cb) { - this.outputHelp(cb); - // exitCode: preserving original behaviour which was calling process.exit() - // message: do not have all displayed text available so only passing placeholder. - this._exit(process.exitCode || 0, 'commander.help', '(outputHelp)'); - }; - - /** - * Output help information and exit. Display for error situations. - * - * @api private - */ - - _helpAndError() { - this.outputHelp(); - // message: do not have all displayed text available so only passing placeholder. - this._exit(1, 'commander.help', '(outputHelp)'); - }; -}; - -/** - * Expose the root command. - */ - -exports = module.exports = new Command(); -exports.program = exports; // More explicit access to global command. - -/** - * Expose classes - */ - -exports.Command = Command; -exports.Option = Option; -exports.CommanderError = CommanderError; - -/** - * Camel-case the given `flag` - * - * @param {string} flag - * @return {string} - * @api private - */ - -function camelcase(flag) { - return flag.split('-').reduce((str, word) => { - return str + word[0].toUpperCase() + word.slice(1); - }); -} - -/** - * Pad `str` to `width`. - * - * @param {string} str - * @param {number} width - * @return {string} - * @api private - */ - -function pad(str, width) { - const len = Math.max(0, width - str.length); - return str + Array(len + 1).join(' '); -} - -/** - * Wraps the given string with line breaks at the specified width while breaking - * words and indenting every but the first line on the left. - * - * @param {string} str - * @param {number} width - * @param {number} indent - * @return {string} - * @api private - */ -function wrap(str, width, indent) { - const regex = new RegExp('.{1,' + (width - 1) + '}([\\s\u200B]|$)|[^\\s\u200B]+?([\\s\u200B]|$)', 'g'); - const lines = str.match(regex) || []; - return lines.map((line, i) => { - if (line.slice(-1) === '\n') { - line = line.slice(0, line.length - 1); - } - return ((i > 0 && indent) ? Array(indent + 1).join(' ') : '') + line.trimRight(); - }).join('\n'); -} - -/** - * Optionally wrap the given str to a max width of width characters per line - * while indenting with indent spaces. Do not wrap if insufficient width or - * string is manually formatted. - * - * @param {string} str - * @param {number} width - * @param {number} indent - * @return {string} - * @api private - */ -function optionalWrap(str, width, indent) { - // Detect manually wrapped and indented strings by searching for line breaks - // followed by multiple spaces/tabs. - if (str.match(/[\n]\s+/)) return str; - // Do not wrap to narrow columns (or can end up with a word per line). - const minWidth = 40; - if (width < minWidth) return str; - - return wrap(str, width, indent); -} - -/** - * Output help information if help flags specified - * - * @param {Command} cmd - command to output help for - * @param {Array} args - array of options to search for help flags - * @api private - */ - -function outputHelpIfRequested(cmd, args) { - const helpOption = cmd._hasHelpOption && args.find(arg => arg === cmd._helpLongFlag || arg === cmd._helpShortFlag); - if (helpOption) { - cmd.outputHelp(); - // (Do not have all displayed text available so only passing placeholder.) - cmd._exit(0, 'commander.helpDisplayed', '(outputHelp)'); - } -} - -/** - * Takes an argument and returns its human readable equivalent for help usage. - * - * @param {Object} arg - * @return {string} - * @api private - */ - -function humanReadableArgName(arg) { - const nameOutput = arg.name + (arg.variadic === true ? '...' : ''); - - return arg.required - ? '<' + nameOutput + '>' - : '[' + nameOutput + ']'; -} - -/** - * Parse the short and long flag out of something like '-m,--mixed ' - * - * @api private - */ - -function _parseOptionFlags(flags) { - let shortFlag; - let longFlag; - // Use original very loose parsing to maintain backwards compatibility for now, - // which allowed for example unintended `-sw, --short-word` [sic]. - const flagParts = flags.split(/[ |,]+/); - if (flagParts.length > 1 && !/^[[<]/.test(flagParts[1])) shortFlag = flagParts.shift(); - longFlag = flagParts.shift(); - // Add support for lone short flag without significantly changing parsing! - if (!shortFlag && /^-[^-]$/.test(longFlag)) { - shortFlag = longFlag; - longFlag = undefined; - } - return { shortFlag, longFlag }; -} - -/** - * Scan arguments and increment port number for inspect calls (to avoid conflicts when spawning new command). - * - * @param {string[]} args - array of arguments from node.execArgv - * @returns {string[]} - * @api private - */ - -function incrementNodeInspectorPort(args) { - // Testing for these options: - // --inspect[=[host:]port] - // --inspect-brk[=[host:]port] - // --inspect-port=[host:]port - return args.map((arg) => { - if (!arg.startsWith('--inspect')) { - return arg; - } - let debugOption; - let debugHost = '127.0.0.1'; - let debugPort = '9229'; - let match; - if ((match = arg.match(/^(--inspect(-brk)?)$/)) !== null) { - // e.g. --inspect - debugOption = match[1]; - } else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+)$/)) !== null) { - debugOption = match[1]; - if (/^\d+$/.test(match[3])) { - // e.g. --inspect=1234 - debugPort = match[3]; - } else { - // e.g. --inspect=localhost - debugHost = match[3]; - } - } else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/)) !== null) { - // e.g. --inspect=localhost:1234 - debugOption = match[1]; - debugHost = match[3]; - debugPort = match[4]; - } - - if (debugOption && debugPort !== '0') { - return `${debugOption}=${debugHost}:${parseInt(debugPort) + 1}`; - } - return arg; - }); -} diff --git a/node_modules/commander/package.json b/node_modules/commander/package.json deleted file mode 100644 index 69a67b90db..0000000000 --- a/node_modules/commander/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "commander", - "version": "6.2.1", - "description": "the complete solution for node.js command-line programs", - "keywords": [ - "commander", - "command", - "option", - "parser", - "cli", - "argument", - "args", - "argv" - ], - "author": "TJ Holowaychuk ", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/tj/commander.js.git" - }, - "scripts": { - "lint": "eslint index.js \"tests/**/*.js\"", - "typescript-lint": "eslint typings/*.ts", - "test": "jest && npm run test-typings", - "test-typings": "tsc -p tsconfig.json" - }, - "main": "index", - "files": [ - "index.js", - "typings/index.d.ts" - ], - "dependencies": {}, - "devDependencies": { - "@types/jest": "^26.0.15", - "@types/node": "^14.14.2", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "eslint": "^7.11.0", - "eslint-config-standard-with-typescript": "^19.0.1", - "eslint-plugin-jest": "^24.1.0", - "jest": "^26.6.0", - "standard": "^15.0.0", - "typescript": "^4.0.3" - }, - "typings": "typings/index.d.ts", - "jest": { - "collectCoverage": true - }, - "engines": { - "node": ">= 6" - } -} diff --git a/node_modules/commander/typings/index.d.ts b/node_modules/commander/typings/index.d.ts deleted file mode 100644 index 479446d38d..0000000000 --- a/node_modules/commander/typings/index.d.ts +++ /dev/null @@ -1,410 +0,0 @@ -// Type definitions for commander -// Original definitions by: Alan Agius , Marcelo Dezem , vvakame , Jules Randolph - -declare namespace commander { - - interface CommanderError extends Error { - code: string; - exitCode: number; - message: string; - nestedError?: string; - } - type CommanderErrorConstructor = new (exitCode: number, code: string, message: string) => CommanderError; - - interface Option { - flags: string; - required: boolean; // A value must be supplied when the option is specified. - optional: boolean; // A value is optional when the option is specified. - mandatory: boolean; // The option must have a value after parsing, which usually means it must be specified on command line. - bool: boolean; - short?: string; - long: string; - description: string; - } - type OptionConstructor = new (flags: string, description?: string) => Option; - - interface ParseOptions { - from: 'node' | 'electron' | 'user'; - } - - interface Command { - [key: string]: any; // options as properties - - args: string[]; - - commands: Command[]; - - /** - * Set the program version to `str`. - * - * This method auto-registers the "-V, --version" flag - * which will print the version number when passed. - * - * You can optionally supply the flags and description to override the defaults. - */ - version(str: string, flags?: string, description?: string): this; - - /** - * Define a command, implemented using an action handler. - * - * @remarks - * The command description is supplied using `.description`, not as a parameter to `.command`. - * - * @example - * ```ts - * program - * .command('clone [destination]') - * .description('clone a repository into a newly created directory') - * .action((source, destination) => { - * console.log('clone command called'); - * }); - * ``` - * - * @param nameAndArgs - command name and arguments, args are `` or `[optional]` and last may also be `variadic...` - * @param opts - configuration options - * @returns new command - */ - command(nameAndArgs: string, opts?: CommandOptions): ReturnType; - /** - * Define a command, implemented in a separate executable file. - * - * @remarks - * The command description is supplied as the second parameter to `.command`. - * - * @example - * ```ts - * program - * .command('start ', 'start named service') - * .command('stop [service]', 'stop named service, or all if no name supplied'); - * ``` - * - * @param nameAndArgs - command name and arguments, args are `` or `[optional]` and last may also be `variadic...` - * @param description - description of executable command - * @param opts - configuration options - * @returns `this` command for chaining - */ - command(nameAndArgs: string, description: string, opts?: commander.ExecutableCommandOptions): this; - - /** - * Factory routine to create a new unattached command. - * - * See .command() for creating an attached subcommand, which uses this routine to - * create the command. You can override createCommand to customise subcommands. - */ - createCommand(name?: string): Command; - - /** - * Add a prepared subcommand. - * - * See .command() for creating an attached subcommand which inherits settings from its parent. - * - * @returns `this` command for chaining - */ - addCommand(cmd: Command, opts?: CommandOptions): this; - - /** - * Define argument syntax for command. - * - * @returns `this` command for chaining - */ - arguments(desc: string): this; - - /** - * Override default decision whether to add implicit help command. - * - * addHelpCommand() // force on - * addHelpCommand(false); // force off - * addHelpCommand('help [cmd]', 'display help for [cmd]'); // force on with custom details - * - * @returns `this` command for chaining - */ - addHelpCommand(enableOrNameAndArgs?: string | boolean, description?: string): this; - - /** - * Register callback to use as replacement for calling process.exit. - */ - exitOverride(callback?: (err: CommanderError) => never|void): this; - - /** - * Register callback `fn` for the command. - * - * @example - * program - * .command('help') - * .description('display verbose help') - * .action(function() { - * // output help here - * }); - * - * @returns `this` command for chaining - */ - action(fn: (...args: any[]) => void | Promise): this; - - /** - * Define option with `flags`, `description` and optional - * coercion `fn`. - * - * The `flags` string should contain both the short and long flags, - * separated by comma, a pipe or space. The following are all valid - * all will output this way when `--help` is used. - * - * "-p, --pepper" - * "-p|--pepper" - * "-p --pepper" - * - * @example - * // simple boolean defaulting to false - * program.option('-p, --pepper', 'add pepper'); - * - * --pepper - * program.pepper - * // => Boolean - * - * // simple boolean defaulting to true - * program.option('-C, --no-cheese', 'remove cheese'); - * - * program.cheese - * // => true - * - * --no-cheese - * program.cheese - * // => false - * - * // required argument - * program.option('-C, --chdir ', 'change the working directory'); - * - * --chdir /tmp - * program.chdir - * // => "/tmp" - * - * // optional argument - * program.option('-c, --cheese [type]', 'add cheese [marble]'); - * - * @returns `this` command for chaining - */ - option(flags: string, description?: string, defaultValue?: string | boolean): this; - option(flags: string, description: string, regexp: RegExp, defaultValue?: string | boolean): this; - option(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this; - - /** - * Define a required option, which must have a value after parsing. This usually means - * the option must be specified on the command line. (Otherwise the same as .option().) - * - * The `flags` string should contain both the short and long flags, separated by comma, a pipe or space. - */ - requiredOption(flags: string, description?: string, defaultValue?: string | boolean): this; - requiredOption(flags: string, description: string, regexp: RegExp, defaultValue?: string | boolean): this; - requiredOption(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this; - - /** - * Whether to store option values as properties on command object, - * or store separately (specify false). In both cases the option values can be accessed using .opts(). - * - * @returns `this` command for chaining - */ - storeOptionsAsProperties(value?: boolean): this; - - /** - * Whether to pass command to action handler, - * or just the options (specify false). - * - * @returns `this` command for chaining - */ - passCommandToAction(value?: boolean): this; - - /** - * Alter parsing of short flags with optional values. - * - * @example - * // for `.option('-f,--flag [value]'): - * .combineFlagAndOptionalValue(true) // `-f80` is treated like `--flag=80`, this is the default behaviour - * .combineFlagAndOptionalValue(false) // `-fb` is treated like `-f -b` - * - * @returns `this` command for chaining - */ - combineFlagAndOptionalValue(arg?: boolean): this; - - /** - * Allow unknown options on the command line. - * - * @param [arg] if `true` or omitted, no error will be thrown for unknown options. - * @returns `this` command for chaining - */ - allowUnknownOption(arg?: boolean): this; - - /** - * Parse `argv`, setting options and invoking commands when defined. - * - * The default expectation is that the arguments are from node and have the application as argv[0] - * and the script being run in argv[1], with user parameters after that. - * - * Examples: - * - * program.parse(process.argv); - * program.parse(); // implicitly use process.argv and auto-detect node vs electron conventions - * program.parse(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0] - * - * @returns `this` command for chaining - */ - parse(argv?: string[], options?: ParseOptions): this; - - /** - * Parse `argv`, setting options and invoking commands when defined. - * - * Use parseAsync instead of parse if any of your action handlers are async. Returns a Promise. - * - * The default expectation is that the arguments are from node and have the application as argv[0] - * and the script being run in argv[1], with user parameters after that. - * - * Examples: - * - * program.parseAsync(process.argv); - * program.parseAsync(); // implicitly use process.argv and auto-detect node vs electron conventions - * program.parseAsync(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0] - * - * @returns Promise - */ - parseAsync(argv?: string[], options?: ParseOptions): Promise; - - /** - * Parse options from `argv` removing known options, - * and return argv split into operands and unknown arguments. - * - * @example - * argv => operands, unknown - * --known kkk op => [op], [] - * op --known kkk => [op], [] - * sub --unknown uuu op => [sub], [--unknown uuu op] - * sub -- --unknown uuu op => [sub --unknown uuu op], [] - */ - parseOptions(argv: string[]): commander.ParseOptionsResult; - - /** - * Return an object containing options as key-value pairs - */ - opts(): { [key: string]: any }; - - /** - * Set the description. - * - * @returns `this` command for chaining - */ - description(str: string, argsDescription?: {[argName: string]: string}): this; - /** - * Get the description. - */ - description(): string; - - /** - * Set an alias for the command. - * - * You may call more than once to add multiple aliases. Only the first alias is shown in the auto-generated help. - * - * @returns `this` command for chaining - */ - alias(alias: string): this; - /** - * Get alias for the command. - */ - alias(): string; - - /** - * Set aliases for the command. - * - * Only the first alias is shown in the auto-generated help. - * - * @returns `this` command for chaining - */ - aliases(aliases: string[]): this; - /** - * Get aliases for the command. - */ - aliases(): string[]; - - /** - * Set the command usage. - * - * @returns `this` command for chaining - */ - usage(str: string): this; - /** - * Get the command usage. - */ - usage(): string; - - /** - * Set the name of the command. - * - * @returns `this` command for chaining - */ - name(str: string): this; - /** - * Get the name of the command. - */ - name(): string; - - /** - * Output help information for this command. - * - * When listener(s) are available for the helpLongFlag - * those callbacks are invoked. - */ - outputHelp(cb?: (str: string) => string): void; - - /** - * Return command help documentation. - */ - helpInformation(): string; - - /** - * You can pass in flags and a description to override the help - * flags and help description for your command. Pass in false - * to disable the built-in help option. - */ - helpOption(flags?: string | boolean, description?: string): this; - - /** - * Output help information and exit. - */ - help(cb?: (str: string) => string): never; - - /** - * Add a listener (callback) for when events occur. (Implemented using EventEmitter.) - * - * @example - * program - * .on('--help', () -> { - * console.log('See web site for more information.'); - * }); - */ - on(event: string | symbol, listener: (...args: any[]) => void): this; - } - type CommandConstructor = new (name?: string) => Command; - - interface CommandOptions { - noHelp?: boolean; // old name for hidden - hidden?: boolean; - isDefault?: boolean; - } - interface ExecutableCommandOptions extends CommandOptions { - executableFile?: string; - } - - interface ParseOptionsResult { - operands: string[]; - unknown: string[]; - } - - interface CommanderStatic extends Command { - program: Command; - Command: CommandConstructor; - Option: OptionConstructor; - CommanderError: CommanderErrorConstructor; - } - -} - -// Declaring namespace AND global -// eslint-disable-next-line @typescript-eslint/no-redeclare -declare const commander: commander.CommanderStatic; -export = commander; diff --git a/node_modules/crypto/README.md b/node_modules/crypto/README.md deleted file mode 100644 index 5437f14d0c..0000000000 --- a/node_modules/crypto/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Deprecated Package - -This package is no longer supported and has been deprecated. To avoid malicious use, npm is hanging on to the package name. - -It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in. - -Please contact support@npmjs.com if you have questions about this package. diff --git a/node_modules/crypto/package.json b/node_modules/crypto/package.json deleted file mode 100644 index 01aa4d3f5e..0000000000 --- a/node_modules/crypto/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "crypto", - "version": "1.0.1", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/npm/deprecate-holder.git" - }, - "author": "", - "license": "ISC", - "bugs": { - "url": "https://github.com/npm/deprecate-holder/issues" - }, - "homepage": "https://github.com/npm/deprecate-holder#readme" -} diff --git a/node_modules/dot-object/CHANGELOG.md b/node_modules/dot-object/CHANGELOG.md deleted file mode 100644 index 349dc12df8..0000000000 --- a/node_modules/dot-object/CHANGELOG.md +++ /dev/null @@ -1,97 +0,0 @@ -# ChangeLog - -## 2024-04-19 Version 2.1.5 -* [[`a23221d367408`](https://github.com/rhalff/dot-object/commit/a23221d367408)] - Add LICENSE property to package.json (Fixed by denniskim #54) -* -## 2020-09-10 Version 2.1.4 -* [[`94b9eb8a2d`](https://github.com/rhalff/dot-object/commit/94b9eb8a2d)] - Fix parsing of array paths for non standard separators (Fixed by boidolr #58) - -## 2020-02-16 Version 2.1.3 -* fix possible pollution of prototype for paths containing __proto__ - -## 2019-11-02 Version 2.1.1 -* fix undefined key with root level array. - -## 2019-11-02 Version 2.1.1 -* Wrong array conversion when brackets are used (Reported by vladshcherbin #27) - -## 2019-11-02 Version 2.1.0 -* fix delete function not being wrapped. (Reported by murphyke #40) - -## 2019-11-02 Version 2.0.0 -* [[`2cb41bbd1b`](https://github.com/rhalff/dot-object/commit/2cb41bbd1b)] - Add useBrackets option for the .dot() method (by z1m1n #42) -* dot() now writes brackets by default (possibly breaking change). - Use Dot.useBrackets = false to keep the old behavior - -## 2019-07-29 Version 1.9.0 -* allows allow to process root level property using dot.object - -## 2019-07-18 Version 1.8.1 -* always allow to set root level property using dot.str - -## 2019-07-18 Version 1.8.0 -* [[`cdc691424b`](https://github.com/rhalff/dot-object/commit/cdc691424b)] - Options to remove array elements and reindex the array. (Fixed by MechJosh0 #36) - -## 2018-10-26 Version 1.7.1 -* [[`e1bb99c83e`](https://github.com/rhalff/dot-object/commit/e1bb99c83e)] - Fix isIndex numeric key matching. (Fixed by mrdivyansh #31) - -## 2017-09-20 Version 1.7.0 -* let .dot and .object understand empty objects / arrays - -## 2017-07-27 Version 1.6.0 -* implemented keepArray - -## 2016-09-29 Version 1.5.4 -* update dist - -## 2016-09-29, Version 1.5.3 -* Fix override bug in str() - -## 2016-08-04, Version 1.5.0 -* [[`a7e948f2fa`](https://github.com/rhalff/dot-object/commit/a7e948f2fa)] - Ensure we only process true Arrays and Objects. (Fixed by MechJosh0 #15) - -## 2016-02-14, Version 1.4.0 -* add transform() method -* use [standard](https://github.com/feross/standard/) style - -## 2015-11-17, Version 1.3.1 -* [[`e46da6ffc0`](https://github.com/rhalff/dot-object/commit/e46da6ffc0)] - Fix deep array bug. (Reported by ami44 #10) - -## 2015-10-01, Version 1.3.0 -* [[`baa42022bf`](https://github.com/rhalff/dot-object/commit/baa42022bf)] - Adds a parameter (useArray) to allow converting object without using arrays. (Thomas Moiron) - -## 2015-09-07, Version 1.2.0 -* allow override even when target is non-empty object -* also return the object when using object() or str() - -## 2015-08-08, Version 1.1.0 -* Also let .object() understand array notation. - -## 2015-08-03, Version 1.0.0 -* Convert object to dotted-key/value pairs - -## 2015-04-15, Version 0.11.0 -* Add support for bracket notation - -## 2015-03-22, Version 0.10.0 -* Make return value optional for Object/Array modifier(s) -* Add modifier option to move(), transfer() & copy() - -## 2015-03-21, Version 0.9.0 -* support multiple replacements/deletions (cli) -* add del/remove method -* improve bower build - -## 2015-03-09, Version 0.8.1 - -* [[`679f87590f`](https://github.com/rhalff/dot-object/commit/679f87590f)] - add to bower -* [[`9a026982d8`](https://github.com/rhalff/dot-object/commit/9a026982d8)] - consider amd or attaching to window - -## 2015-03-06, Version 0.8.0 - -* [[`5ce0fe8836`](https://github.com/rhalff/dot-object/commit/5ce0fe8836)] - Simplify API - -## 2015-03-06, Version 0.7.0 - -* [[`c4658c386f`](https://github.com/rhalff/dot-object/commit/c4658c386f)] - Look for properties down in the prototype chain. (Fer Uría) -* [[`a45c4a7982`](https://github.com/rhalff/dot-object/commit/a45c4a7982)] - Fix picking a null property with a dotted value. (Fer Uría) diff --git a/node_modules/dot-object/MIT-LICENSE b/node_modules/dot-object/MIT-LICENSE deleted file mode 100644 index 7043e7ec77..0000000000 --- a/node_modules/dot-object/MIT-LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013 Rob Halff - -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/dot-object/README.md b/node_modules/dot-object/README.md deleted file mode 100644 index d21e3a38bf..0000000000 --- a/node_modules/dot-object/README.md +++ /dev/null @@ -1,433 +0,0 @@ -[![Build Status](https://travis-ci.org/rhalff/dot-object.png)](https://travis-ci.org/rhalff/dot-object) - -Dot-Object -======== - -Dot-Object makes it possible to transform javascript objects using dot notation. - -### Installation - -Install from npm: -``` - npm install dot-object --save -``` - -Install from bower: - -``` - bower install dot-object --save -``` - -### Download - - * Development version: https://unpkg.com/dot-object/dist/dot-object.js *Uncompressed with Comments* - * Production version: https://unpkg.com/dot-object/dist/dot-object.min.js *Minified* - -## Usage - -#### Move a property within one object to another location -```javascript -var dot = require('dot-object'); - -var obj = { - 'first_name': 'John', - 'last_name': 'Doe' -}; - -dot.move('first_name', 'contact.firstname', obj); -dot.move('last_name', 'contact.lastname', obj); - -console.log(obj); - -{ - contact: { - firstname: 'John', - lastname: 'Doe' - } -} - -``` - -#### Copy property from one object to another -```javascript -var dot = require('dot-object'); - -var src = { - name: 'John', - stuff: { - phone: { - brand: 'iphone', - version: 6 - } - } -}; - -var tgt = {name: 'Brandon'}; - -dot.copy('stuff.phone', 'wanna.haves.phone', src, tgt); - -console.log(tgt); - -{ - name: 'Brandon', - wanna: { - haves: { - phone: { - brand: 'iphone', - version: 6 - } - } - } -} - -``` - -#### Transfer property from one object to another - -Does the same as copy but removes the value from the source object: - -```javascript -dot.transfer('stuff.phone', 'wanna.haves.phone', src, tgt); - -// src: {"name":"John","stuff":{}} -// tgt: {"name":"Brandon","wanna":{"haves":{"phone":{"brand":"iphone","version":6}}} -``` - - -#### Expand to an object - -```javascript -var dot = require('dot-object'); - -var row = { - 'id': 2, - 'contact.name.first': 'John', - 'contact.name.last': 'Doe', - 'contact.email': 'example@gmail.com', - 'contact.info.about.me': 'classified', - 'devices[0]': 'mobile', - 'devices[1]': 'laptop', - 'some.other.things.0': 'this', - 'some.other.things.1': 'that' -}; - -dot.object(row); - -console.log(row); - -{ - "id": 2, - "contact": { - "name": { - "first": "John", - "last": "Doe" - }, - "email": "example@gmail.com", - "info": { - "about": { - "me": "classified" - } - } - }, - "devices": [ - "mobile", - "laptop" - ], - "some": { - "other": { - "things": [ - "this", - "that" - ] - } - } -} -``` - -To convert manually per string use: -```javascript -var dot = require('dot-object'); - -var tgt = { val: 'test' }; -dot.str('this.is.my.string', 'value', tgt); - -console.log(tgt); - -{ - "val": "test", - "this": { - "is": { - "my": { - "string": "value" - } - } - } -} -``` - -#### Pick a value using dot notation: - -Picks a value from the object without removing it. - -```js -var dot = require('dot-object'); - -var obj = { - some: { - nested: { - value: 'Hi there!' - } - } -}; - -var val = dot.pick('some.nested.value', obj); -console.log(val); - -Hi there! -``` - -#### Delete/Remove a value using dot notation: - -Remove and delete mostly behave the same, but in case of a path addressing array items: - - - `delete` will re-index the array. - - `remove` will retain array indexes - -```js -var dot = require('dot-object'); - -var obj = { - a: 'Hi There!', - nested: { - array: [ - 'Veni', - 'Vidi', - 'Vici', - ] - } -}; - -var val = dot.delete('a', obj); -console.log(val); - -Hi There! - -// To remove an item and directly update any array indexes use: -var val = dot.delete('nested.array[1]', obj); -console.log(val); - -Vidi - -// Remove a value but retain array indexes. -var val = dot.remove('nested.array[1]', obj); - -// To remove multiple paths at once: -var val = dot.remove(['nested.array[0]', 'nested.array[2]'], obj); -``` - -### Using modifiers - -You can use modifiers to translate values on the fly. - -This example uses the [underscore.string](https://github.com/epeli/underscore.string) library. - - - -```javascript -var dot = require('dot-object'); - -var _s = require('underscore.string'); - -var row = { - 'nr': 200, - 'doc.name': ' My Document ' -}; - -var mods = { - "doc.name": [_s.trim, _s.underscored], -}; - -dot.object(row, mods); - -console.log(row); -``` - -``` -{ - "nr": 200, - "doc": { - "name": "my_document" - } -} -``` - -Or using .str() directy: - -```javascript - -var dot = require('dot-object'); -var _s = require('underscore.string'); -var obj = { id: 100 }; - -// use one modifier -dot.str('my.title', 'this is my title', obj, _s.slugify); - -// multiple modifiers -dot.str('my.title', ' this is my title ', obj, [_s.trim, _s.slugify]); - -console.log(obj); -``` -Result: -```json -{ - "id": 100, - "my": { - "title": "this-is-my-title" - } -} -``` - -#### Transform object - -```javascript -var dot = require('dot-object'); - -var source = { - "id": 1, - "contact": { - "firstName": "John", - "lastName": "Doe", - "email": "example@gmail.com", - } -} - -var recipe = { - 'id': 'nr', - 'contact.firstName': 'name.first', - 'contact.lastName': 'name.last', - 'contact.email': 'email' -}; - -var tgt = {} -dot.transform(recipe, source, tgt); - -// OR - -var tgt = dot.transform(recipe, source); - -console.log(tgt); -{ - "nr": 1, - "name": { - "first": "John", - "last": "Doe" - }, - "email": "example@gmail.com" -} -``` - - -### Convert object to dotted-key/value pair - -```javascript -var dot = require('dot-object'); - -var obj = { - id: 'my-id', - nes: { ted: { value: true } }, - other: { nested: { stuff: 5 } }, - some: { array: ['A', 'B'] } -}; - -var tgt = dot.dot(obj); - -// or - -var tgt = {}; -dot.dot(obj, tgt); - -console.log(tgt); -``` -Result: -```json -{ - "id": "my-id", - "nes.ted.value": true, - "other.nested.stuff": 5, - "some.array[0]": "A", - "some.array[1]": "B" -} -``` - -### Keep array - -Set keepArray to true. - -```javascript -var dot = require('dot-object'); - -var obj = { - id: 'my-id', - other: [1, 2, 3], - some: { array: ['A', 'B'] } -}; - -dot.keepArray = true; -var tgt = dot.dot(obj); - -console.log(tgt); -``` -Result: -```json -{ - "id": "my-id", - "other": [1, 2, 3], - "some.array": ["A", "B"] -} -``` - -## Using a different separator - -If you do not like dot notation, you are free to specify a different separator. - -```javascript -var Dot = require('dot-object'); - -var dot = new Dot('->'); - -var _s = require('underscore.string'); - -var row = { - 'nr': 200, - 'doc->name': ' My Document ' -}; - -var mods = { - "doc->name": [_s.trim, _s.underscored], -}; - -dot.object(row, mods); - -console.log(row); -``` - -``` -{ - "nr": 200, - "doc": { - "name": "my_document" - } -} -``` - -## Transforming SQL results to JSON - -SQL translation on the fly: - -```javascript - // TODO - -``` - - -> Copyright © 2013 Rob Halff, released under the MIT license diff --git a/node_modules/dot-object/bin/dot-object b/node_modules/dot-object/bin/dot-object deleted file mode 100755 index 3211d5ba19..0000000000 --- a/node_modules/dot-object/bin/dot-object +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env node -// vim: set filetype=javascript: -'use strict'; - -var glob = require('glob'); -var fs = require('fs'); - -/** - * - * dotob -f require -t dependencies.npm - * - */ -var dotob = require('../index.js'); -var program = require('commander'); -var pkg = require('../package.json'); - -program - .version(pkg.version) - .usage('[options]') - .option('-p, --pattern [pattern]', 'Files pattern to match or just the file') - .option('-f, --from [path,..]', 'From path') - .option('-t, --to [path,..]', 'To path (number of replacements must match --to values)') - .option('-m, --merge', 'Merge into target') - .option('-r, --remove [path,..]', 'Remove property') - .option('-c, --dot', 'Convert object to dotted-key/value pair') - .option('-s, --show', 'show all dotted paths') - .option('-v, --verbose', 'Be verbose') - .option('-d, --dry', 'Dry run do not modify files') - .parse(process.argv); - -function must(program, option) { - if(!program.hasOwnProperty(option)) { - console.log([ - 'The', option, 'is required' - ].join(' ')); - process.exit(1); - } -} - -must(program, 'pattern'); - -if (!program.remove && !program.dot && !program.show) { - must(program, 'from'); - must(program, 'to'); -} - -var g = glob(program.pattern); - -function finish(program, file, orig, json) { - - return function(err) { - if (err) { - throw err; - } else { - if (program.verbose) { - if (orig !== JSON.stringify(json)) { - console.log(file + ': updated.'); - } else { - console.log(file + ': no matches.'); - } - } - } - }; -} - -function splim(path) { - return path.split(',') - .map(function(val) { return val.trim(); }); -} - -function processFile(file) { - - fs.readFile(file, 'utf8', function(err, contents) { - var json; - - if (err) { - console.log(err); - return; - } - - try { - json = JSON.parse(contents); - - if(program.show) { - json = console.log(Object.keys(dotob.dot(json)).join('\n')); - process.exit() - } else if(program.dot) { - console.log(dotob.dot(json)); - process.exit() - } - - json = Array.isArray(json) ? json : [json]; - - if(program.remove) { - // support comma seperate list of removals - splim(program.remove) - .forEach(function(path) { - for (var j = 0; j < json.length; j++) { - dotob.remove(path, json[j]); - } - }); - } else { - var from = splim(program.from); - var to = splim(program.to); - if (from.length === to.length) { - for (var i = 0; i < from.length; i++) { - for (var j = 0; j < json.length; j++) { - dotob.move( - from[i], to[i], json[j], program.merge - ); - } - } - } else { - console.error('--from and --to parameters are not of equal length'); - } - } - - if(program.dry) { - console.log(json); - finish(program, file, contents, json)(); - } else { - fs.writeFile(file, JSON.stringify(json, null, 2), finish( - program, file, contents, json - )); - } - } catch (e) { - console.log(file + ': '); - throw(e); - } - }); -} - -g.on('match', processFile); diff --git a/node_modules/dot-object/dist/dot-object.js b/node_modules/dot-object/dist/dot-object.js deleted file mode 100644 index 6ba443b539..0000000000 --- a/node_modules/dot-object/dist/dot-object.js +++ /dev/null @@ -1,600 +0,0 @@ -(function(global, exportName) { - 'use strict' - - function _process(v, mod) { - var i - var r - - if (typeof mod === 'function') { - r = mod(v) - if (r !== undefined) { - v = r - } - } else if (Array.isArray(mod)) { - for (i = 0; i < mod.length; i++) { - r = mod[i](v) - if (r !== undefined) { - v = r - } - } - } - - return v - } - - function parseKey(key, val) { - // detect negative index notation - if (key[0] === '-' && Array.isArray(val) && /^-\d+$/.test(key)) { - return val.length + parseInt(key, 10) - } - return key - } - - function isIndex(k) { - return /^\d+$/.test(k) - } - - function isObject(val) { - return Object.prototype.toString.call(val) === '[object Object]' - } - - function isArrayOrObject(val) { - return Object(val) === val - } - - function isEmptyObject(val) { - return Object.keys(val).length === 0 - } - - var blacklist = ['__proto__', 'prototype', 'constructor'] - var blacklistFilter = function(part) { - return blacklist.indexOf(part) === -1 - } - - function parsePath(path, sep) { - if (path.indexOf('[') >= 0) { - path = path.replace(/\[/g, sep).replace(/]/g, '') - } - - var parts = path.split(sep) - - var check = parts.filter(blacklistFilter) - - if (check.length !== parts.length) { - throw Error('Refusing to update blacklisted property ' + path) - } - - return parts - } - - var hasOwnProperty = Object.prototype.hasOwnProperty - - function DotObject(separator, override, useArray, useBrackets) { - if (!(this instanceof DotObject)) { - return new DotObject(separator, override, useArray, useBrackets) - } - - if (typeof override === 'undefined') override = false - if (typeof useArray === 'undefined') useArray = true - if (typeof useBrackets === 'undefined') useBrackets = true - this.separator = separator || '.' - this.override = override - this.useArray = useArray - this.useBrackets = useBrackets - this.keepArray = false - - // contains touched arrays - this.cleanup = [] - } - - var dotDefault = new DotObject('.', false, true, true) - - function wrap(method) { - return function() { - return dotDefault[method].apply(dotDefault, arguments) - } - } - - DotObject.prototype._fill = function(a, obj, v, mod) { - var k = a.shift() - - if (a.length > 0) { - obj[k] = obj[k] || (this.useArray && isIndex(a[0]) ? [] : {}) - - if (!isArrayOrObject(obj[k])) { - if (this.override) { - obj[k] = {} - } else { - if (!(isArrayOrObject(v) && isEmptyObject(v))) { - throw new Error( - 'Trying to redefine `' + k + '` which is a ' + typeof obj[k] - ) - } - - return - } - } - - this._fill(a, obj[k], v, mod) - } else { - if (!this.override && isArrayOrObject(obj[k]) && !isEmptyObject(obj[k])) { - if (!(isArrayOrObject(v) && isEmptyObject(v))) { - throw new Error("Trying to redefine non-empty obj['" + k + "']") - } - - return - } - - obj[k] = _process(v, mod) - } - } - - /** - * - * Converts an object with dotted-key/value pairs to it's expanded version - * - * Optionally transformed by a set of modifiers. - * - * Usage: - * - * var row = { - * 'nr': 200, - * 'doc.name': ' My Document ' - * } - * - * var mods = { - * 'doc.name': [_s.trim, _s.underscored] - * } - * - * dot.object(row, mods) - * - * @param {Object} obj - * @param {Object} mods - */ - DotObject.prototype.object = function(obj, mods) { - var self = this - - Object.keys(obj).forEach(function(k) { - var mod = mods === undefined ? null : mods[k] - // normalize array notation. - var ok = parsePath(k, self.separator).join(self.separator) - - if (ok.indexOf(self.separator) !== -1) { - self._fill(ok.split(self.separator), obj, obj[k], mod) - delete obj[k] - } else { - obj[k] = _process(obj[k], mod) - } - }) - - return obj - } - - /** - * @param {String} path dotted path - * @param {String} v value to be set - * @param {Object} obj object to be modified - * @param {Function|Array} mod optional modifier - */ - DotObject.prototype.str = function(path, v, obj, mod) { - var ok = parsePath(path, this.separator).join(this.separator) - - if (path.indexOf(this.separator) !== -1) { - this._fill(ok.split(this.separator), obj, v, mod) - } else { - obj[path] = _process(v, mod) - } - - return obj - } - - /** - * - * Pick a value from an object using dot notation. - * - * Optionally remove the value - * - * @param {String} path - * @param {Object} obj - * @param {Boolean} remove - */ - DotObject.prototype.pick = function(path, obj, remove, reindexArray) { - var i - var keys - var val - var key - var cp - - keys = parsePath(path, this.separator) - for (i = 0; i < keys.length; i++) { - key = parseKey(keys[i], obj) - if (obj && typeof obj === 'object' && key in obj) { - if (i === keys.length - 1) { - if (remove) { - val = obj[key] - if (reindexArray && Array.isArray(obj)) { - obj.splice(key, 1) - } else { - delete obj[key] - } - if (Array.isArray(obj)) { - cp = keys.slice(0, -1).join('.') - if (this.cleanup.indexOf(cp) === -1) { - this.cleanup.push(cp) - } - } - return val - } else { - return obj[key] - } - } else { - obj = obj[key] - } - } else { - return undefined - } - } - if (remove && Array.isArray(obj)) { - obj = obj.filter(function(n) { - return n !== undefined - }) - } - return obj - } - /** - * - * Delete value from an object using dot notation. - * - * @param {String} path - * @param {Object} obj - * @return {any} The removed value - */ - DotObject.prototype.delete = function(path, obj) { - return this.remove(path, obj, true) - } - - /** - * - * Remove value from an object using dot notation. - * - * Will remove multiple items if path is an array. - * In this case array indexes will be retained until all - * removals have been processed. - * - * Use dot.delete() to automatically re-index arrays. - * - * @param {String|Array} path - * @param {Object} obj - * @param {Boolean} reindexArray - * @return {any} The removed value - */ - DotObject.prototype.remove = function(path, obj, reindexArray) { - var i - - this.cleanup = [] - if (Array.isArray(path)) { - for (i = 0; i < path.length; i++) { - this.pick(path[i], obj, true, reindexArray) - } - if (!reindexArray) { - this._cleanup(obj) - } - return obj - } else { - return this.pick(path, obj, true, reindexArray) - } - } - - DotObject.prototype._cleanup = function(obj) { - var ret - var i - var keys - var root - if (this.cleanup.length) { - for (i = 0; i < this.cleanup.length; i++) { - keys = this.cleanup[i].split('.') - root = keys.splice(0, -1).join('.') - ret = root ? this.pick(root, obj) : obj - ret = ret[keys[0]].filter(function(v) { - return v !== undefined - }) - this.set(this.cleanup[i], ret, obj) - } - this.cleanup = [] - } - } - - /** - * Alias method for `dot.remove` - * - * Note: this is not an alias for dot.delete() - * - * @param {String|Array} path - * @param {Object} obj - * @param {Boolean} reindexArray - * @return {any} The removed value - */ - DotObject.prototype.del = DotObject.prototype.remove - - /** - * - * Move a property from one place to the other. - * - * If the source path does not exist (undefined) - * the target property will not be set. - * - * @param {String} source - * @param {String} target - * @param {Object} obj - * @param {Function|Array} mods - * @param {Boolean} merge - */ - DotObject.prototype.move = function(source, target, obj, mods, merge) { - if (typeof mods === 'function' || Array.isArray(mods)) { - this.set(target, _process(this.pick(source, obj, true), mods), obj, merge) - } else { - merge = mods - this.set(target, this.pick(source, obj, true), obj, merge) - } - - return obj - } - - /** - * - * Transfer a property from one object to another object. - * - * If the source path does not exist (undefined) - * the property on the other object will not be set. - * - * @param {String} source - * @param {String} target - * @param {Object} obj1 - * @param {Object} obj2 - * @param {Function|Array} mods - * @param {Boolean} merge - */ - DotObject.prototype.transfer = function( - source, - target, - obj1, - obj2, - mods, - merge - ) { - if (typeof mods === 'function' || Array.isArray(mods)) { - this.set( - target, - _process(this.pick(source, obj1, true), mods), - obj2, - merge - ) - } else { - merge = mods - this.set(target, this.pick(source, obj1, true), obj2, merge) - } - - return obj2 - } - - /** - * - * Copy a property from one object to another object. - * - * If the source path does not exist (undefined) - * the property on the other object will not be set. - * - * @param {String} source - * @param {String} target - * @param {Object} obj1 - * @param {Object} obj2 - * @param {Function|Array} mods - * @param {Boolean} merge - */ - DotObject.prototype.copy = function(source, target, obj1, obj2, mods, merge) { - if (typeof mods === 'function' || Array.isArray(mods)) { - this.set( - target, - _process( - // clone what is picked - JSON.parse(JSON.stringify(this.pick(source, obj1, false))), - mods - ), - obj2, - merge - ) - } else { - merge = mods - this.set(target, this.pick(source, obj1, false), obj2, merge) - } - - return obj2 - } - - /** - * - * Set a property on an object using dot notation. - * - * @param {String} path - * @param {any} val - * @param {Object} obj - * @param {Boolean} merge - */ - DotObject.prototype.set = function(path, val, obj, merge) { - var i - var k - var keys - var key - - // Do not operate if the value is undefined. - if (typeof val === 'undefined') { - return obj - } - keys = parsePath(path, this.separator) - - for (i = 0; i < keys.length; i++) { - key = keys[i] - if (i === keys.length - 1) { - if (merge && isObject(val) && isObject(obj[key])) { - for (k in val) { - if (hasOwnProperty.call(val, k)) { - obj[key][k] = val[k] - } - } - } else if (merge && Array.isArray(obj[key]) && Array.isArray(val)) { - for (var j = 0; j < val.length; j++) { - obj[keys[i]].push(val[j]) - } - } else { - obj[key] = val - } - } else if ( - // force the value to be an object - !hasOwnProperty.call(obj, key) || - (!isObject(obj[key]) && !Array.isArray(obj[key])) - ) { - // initialize as array if next key is numeric - if (/^\d+$/.test(keys[i + 1])) { - obj[key] = [] - } else { - obj[key] = {} - } - } - obj = obj[key] - } - return obj - } - - /** - * - * Transform an object - * - * Usage: - * - * var obj = { - * "id": 1, - * "some": { - * "thing": "else" - * } - * } - * - * var transform = { - * "id": "nr", - * "some.thing": "name" - * } - * - * var tgt = dot.transform(transform, obj) - * - * @param {Object} recipe Transform recipe - * @param {Object} obj Object to be transformed - * @param {Array} mods modifiers for the target - */ - DotObject.prototype.transform = function(recipe, obj, tgt) { - obj = obj || {} - tgt = tgt || {} - Object.keys(recipe).forEach( - function(key) { - this.set(recipe[key], this.pick(key, obj), tgt) - }.bind(this) - ) - return tgt - } - - /** - * - * Convert object to dotted-key/value pair - * - * Usage: - * - * var tgt = dot.dot(obj) - * - * or - * - * var tgt = {} - * dot.dot(obj, tgt) - * - * @param {Object} obj source object - * @param {Object} tgt target object - * @param {Array} path path array (internal) - */ - DotObject.prototype.dot = function(obj, tgt, path) { - tgt = tgt || {} - path = path || [] - var isArray = Array.isArray(obj) - - Object.keys(obj).forEach( - function(key) { - var index = isArray && this.useBrackets ? '[' + key + ']' : key - if ( - isArrayOrObject(obj[key]) && - ((isObject(obj[key]) && !isEmptyObject(obj[key])) || - (Array.isArray(obj[key]) && !this.keepArray && obj[key].length !== 0)) - ) { - if (isArray && this.useBrackets) { - var previousKey = path[path.length - 1] || '' - return this.dot( - obj[key], - tgt, - path.slice(0, -1).concat(previousKey + index) - ) - } else { - return this.dot(obj[key], tgt, path.concat(index)) - } - } else { - if (isArray && this.useBrackets) { - tgt[path.join(this.separator).concat('[' + key + ']')] = obj[key] - } else { - tgt[path.concat(index).join(this.separator)] = obj[key] - } - } - }.bind(this) - ) - return tgt - } - - DotObject.pick = wrap('pick') - DotObject.move = wrap('move') - DotObject.transfer = wrap('transfer') - DotObject.transform = wrap('transform') - DotObject.copy = wrap('copy') - DotObject.object = wrap('object') - DotObject.str = wrap('str') - DotObject.set = wrap('set') - DotObject.delete = wrap('delete') - DotObject.del = DotObject.remove = wrap('remove') - DotObject.dot = wrap('dot'); - ['override', 'overwrite'].forEach(function(prop) { - Object.defineProperty(DotObject, prop, { - get: function() { - return dotDefault.override - }, - set: function(val) { - dotDefault.override = !!val - } - }) - }); - ['useArray', 'keepArray', 'useBrackets'].forEach(function(prop) { - Object.defineProperty(DotObject, prop, { - get: function() { - return dotDefault[prop] - }, - set: function(val) { - dotDefault[prop] = val - } - }) - }) - - DotObject._process = _process - - - if (typeof define === 'function' && define.amd) { - define(function() { - return DotObject - }) - } else if (typeof module != 'undefined' && module.exports) { - module.exports = DotObject - } else { - global[exportName] = DotObject - } - -})(this, 'DotObject') \ No newline at end of file diff --git a/node_modules/dot-object/dist/dot-object.min.js b/node_modules/dot-object/dist/dot-object.min.js deleted file mode 100644 index 39cf1aa41f..0000000000 --- a/node_modules/dot-object/dist/dot-object.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t){"use strict";function s(t,r){var e,i;if("function"==typeof r)void 0!==(i=r(t))&&(t=i);else if(Array.isArray(r))for(e=0;e= 0) { - path = path.replace(/\[/g, sep).replace(/]/g, '') - } - - var parts = path.split(sep) - - var check = parts.filter(blacklistFilter) - - if (check.length !== parts.length) { - throw Error('Refusing to update blacklisted property ' + path) - } - - return parts -} - -var hasOwnProperty = Object.prototype.hasOwnProperty - -function DotObject (separator, override, useArray, useBrackets) { - if (!(this instanceof DotObject)) { - return new DotObject(separator, override, useArray, useBrackets) - } - - if (typeof override === 'undefined') override = false - if (typeof useArray === 'undefined') useArray = true - if (typeof useBrackets === 'undefined') useBrackets = true - this.separator = separator || '.' - this.override = override - this.useArray = useArray - this.useBrackets = useBrackets - this.keepArray = false - - // contains touched arrays - this.cleanup = [] -} - -var dotDefault = new DotObject('.', false, true, true) -function wrap (method) { - return function () { - return dotDefault[method].apply(dotDefault, arguments) - } -} - -DotObject.prototype._fill = function (a, obj, v, mod) { - var k = a.shift() - - if (a.length > 0) { - obj[k] = obj[k] || (this.useArray && isIndex(a[0]) ? [] : {}) - - if (!isArrayOrObject(obj[k])) { - if (this.override) { - obj[k] = {} - } else { - if (!(isArrayOrObject(v) && isEmptyObject(v))) { - throw new Error( - 'Trying to redefine `' + k + '` which is a ' + typeof obj[k] - ) - } - - return - } - } - - this._fill(a, obj[k], v, mod) - } else { - if (!this.override && isArrayOrObject(obj[k]) && !isEmptyObject(obj[k])) { - if (!(isArrayOrObject(v) && isEmptyObject(v))) { - throw new Error("Trying to redefine non-empty obj['" + k + "']") - } - - return - } - - obj[k] = _process(v, mod) - } -} - -/** - * - * Converts an object with dotted-key/value pairs to it's expanded version - * - * Optionally transformed by a set of modifiers. - * - * Usage: - * - * var row = { - * 'nr': 200, - * 'doc.name': ' My Document ' - * } - * - * var mods = { - * 'doc.name': [_s.trim, _s.underscored] - * } - * - * dot.object(row, mods) - * - * @param {Object} obj - * @param {Object} mods - */ -DotObject.prototype.object = function (obj, mods) { - var self = this - - Object.keys(obj).forEach(function (k) { - var mod = mods === undefined ? null : mods[k] - // normalize array notation. - var ok = parsePath(k, self.separator).join(self.separator) - - if (ok.indexOf(self.separator) !== -1) { - self._fill(ok.split(self.separator), obj, obj[k], mod) - delete obj[k] - } else { - obj[k] = _process(obj[k], mod) - } - }) - - return obj -} - -/** - * @param {String} path dotted path - * @param {String} v value to be set - * @param {Object} obj object to be modified - * @param {Function|Array} mod optional modifier - */ -DotObject.prototype.str = function (path, v, obj, mod) { - var ok = parsePath(path, this.separator).join(this.separator) - - if (path.indexOf(this.separator) !== -1) { - this._fill(ok.split(this.separator), obj, v, mod) - } else { - obj[path] = _process(v, mod) - } - - return obj -} - -/** - * - * Pick a value from an object using dot notation. - * - * Optionally remove the value - * - * @param {String} path - * @param {Object} obj - * @param {Boolean} remove - */ -DotObject.prototype.pick = function (path, obj, remove, reindexArray) { - var i - var keys - var val - var key - var cp - - keys = parsePath(path, this.separator) - for (i = 0; i < keys.length; i++) { - key = parseKey(keys[i], obj) - if (obj && typeof obj === 'object' && key in obj) { - if (i === keys.length - 1) { - if (remove) { - val = obj[key] - if (reindexArray && Array.isArray(obj)) { - obj.splice(key, 1) - } else { - delete obj[key] - } - if (Array.isArray(obj)) { - cp = keys.slice(0, -1).join('.') - if (this.cleanup.indexOf(cp) === -1) { - this.cleanup.push(cp) - } - } - return val - } else { - return obj[key] - } - } else { - obj = obj[key] - } - } else { - return undefined - } - } - if (remove && Array.isArray(obj)) { - obj = obj.filter(function (n) { - return n !== undefined - }) - } - return obj -} -/** - * - * Delete value from an object using dot notation. - * - * @param {String} path - * @param {Object} obj - * @return {any} The removed value - */ -DotObject.prototype.delete = function (path, obj) { - return this.remove(path, obj, true) -} - -/** - * - * Remove value from an object using dot notation. - * - * Will remove multiple items if path is an array. - * In this case array indexes will be retained until all - * removals have been processed. - * - * Use dot.delete() to automatically re-index arrays. - * - * @param {String|Array} path - * @param {Object} obj - * @param {Boolean} reindexArray - * @return {any} The removed value - */ -DotObject.prototype.remove = function (path, obj, reindexArray) { - var i - - this.cleanup = [] - if (Array.isArray(path)) { - for (i = 0; i < path.length; i++) { - this.pick(path[i], obj, true, reindexArray) - } - if (!reindexArray) { - this._cleanup(obj) - } - return obj - } else { - return this.pick(path, obj, true, reindexArray) - } -} - -DotObject.prototype._cleanup = function (obj) { - var ret - var i - var keys - var root - if (this.cleanup.length) { - for (i = 0; i < this.cleanup.length; i++) { - keys = this.cleanup[i].split('.') - root = keys.splice(0, -1).join('.') - ret = root ? this.pick(root, obj) : obj - ret = ret[keys[0]].filter(function (v) { - return v !== undefined - }) - this.set(this.cleanup[i], ret, obj) - } - this.cleanup = [] - } -} - -/** - * Alias method for `dot.remove` - * - * Note: this is not an alias for dot.delete() - * - * @param {String|Array} path - * @param {Object} obj - * @param {Boolean} reindexArray - * @return {any} The removed value - */ -DotObject.prototype.del = DotObject.prototype.remove - -/** - * - * Move a property from one place to the other. - * - * If the source path does not exist (undefined) - * the target property will not be set. - * - * @param {String} source - * @param {String} target - * @param {Object} obj - * @param {Function|Array} mods - * @param {Boolean} merge - */ -DotObject.prototype.move = function (source, target, obj, mods, merge) { - if (typeof mods === 'function' || Array.isArray(mods)) { - this.set(target, _process(this.pick(source, obj, true), mods), obj, merge) - } else { - merge = mods - this.set(target, this.pick(source, obj, true), obj, merge) - } - - return obj -} - -/** - * - * Transfer a property from one object to another object. - * - * If the source path does not exist (undefined) - * the property on the other object will not be set. - * - * @param {String} source - * @param {String} target - * @param {Object} obj1 - * @param {Object} obj2 - * @param {Function|Array} mods - * @param {Boolean} merge - */ -DotObject.prototype.transfer = function ( - source, - target, - obj1, - obj2, - mods, - merge -) { - if (typeof mods === 'function' || Array.isArray(mods)) { - this.set( - target, - _process(this.pick(source, obj1, true), mods), - obj2, - merge - ) - } else { - merge = mods - this.set(target, this.pick(source, obj1, true), obj2, merge) - } - - return obj2 -} - -/** - * - * Copy a property from one object to another object. - * - * If the source path does not exist (undefined) - * the property on the other object will not be set. - * - * @param {String} source - * @param {String} target - * @param {Object} obj1 - * @param {Object} obj2 - * @param {Function|Array} mods - * @param {Boolean} merge - */ -DotObject.prototype.copy = function (source, target, obj1, obj2, mods, merge) { - if (typeof mods === 'function' || Array.isArray(mods)) { - this.set( - target, - _process( - // clone what is picked - JSON.parse(JSON.stringify(this.pick(source, obj1, false))), - mods - ), - obj2, - merge - ) - } else { - merge = mods - this.set(target, this.pick(source, obj1, false), obj2, merge) - } - - return obj2 -} - -/** - * - * Set a property on an object using dot notation. - * - * @param {String} path - * @param {any} val - * @param {Object} obj - * @param {Boolean} merge - */ -DotObject.prototype.set = function (path, val, obj, merge) { - var i - var k - var keys - var key - - // Do not operate if the value is undefined. - if (typeof val === 'undefined') { - return obj - } - keys = parsePath(path, this.separator) - - for (i = 0; i < keys.length; i++) { - key = keys[i] - if (i === keys.length - 1) { - if (merge && isObject(val) && isObject(obj[key])) { - for (k in val) { - if (hasOwnProperty.call(val, k)) { - obj[key][k] = val[k] - } - } - } else if (merge && Array.isArray(obj[key]) && Array.isArray(val)) { - for (var j = 0; j < val.length; j++) { - obj[keys[i]].push(val[j]) - } - } else { - obj[key] = val - } - } else if ( - // force the value to be an object - !hasOwnProperty.call(obj, key) || - (!isObject(obj[key]) && !Array.isArray(obj[key])) - ) { - // initialize as array if next key is numeric - if (/^\d+$/.test(keys[i + 1])) { - obj[key] = [] - } else { - obj[key] = {} - } - } - obj = obj[key] - } - return obj -} - -/** - * - * Transform an object - * - * Usage: - * - * var obj = { - * "id": 1, - * "some": { - * "thing": "else" - * } - * } - * - * var transform = { - * "id": "nr", - * "some.thing": "name" - * } - * - * var tgt = dot.transform(transform, obj) - * - * @param {Object} recipe Transform recipe - * @param {Object} obj Object to be transformed - * @param {Array} mods modifiers for the target - */ -DotObject.prototype.transform = function (recipe, obj, tgt) { - obj = obj || {} - tgt = tgt || {} - Object.keys(recipe).forEach( - function (key) { - this.set(recipe[key], this.pick(key, obj), tgt) - }.bind(this) - ) - return tgt -} - -/** - * - * Convert object to dotted-key/value pair - * - * Usage: - * - * var tgt = dot.dot(obj) - * - * or - * - * var tgt = {} - * dot.dot(obj, tgt) - * - * @param {Object} obj source object - * @param {Object} tgt target object - * @param {Array} path path array (internal) - */ -DotObject.prototype.dot = function (obj, tgt, path) { - tgt = tgt || {} - path = path || [] - var isArray = Array.isArray(obj) - - Object.keys(obj).forEach( - function (key) { - var index = isArray && this.useBrackets ? '[' + key + ']' : key - if ( - isArrayOrObject(obj[key]) && - ((isObject(obj[key]) && !isEmptyObject(obj[key])) || - (Array.isArray(obj[key]) && !this.keepArray && obj[key].length !== 0)) - ) { - if (isArray && this.useBrackets) { - var previousKey = path[path.length - 1] || '' - return this.dot( - obj[key], - tgt, - path.slice(0, -1).concat(previousKey + index) - ) - } else { - return this.dot(obj[key], tgt, path.concat(index)) - } - } else { - if (isArray && this.useBrackets) { - tgt[path.join(this.separator).concat('[' + key + ']')] = obj[key] - } else { - tgt[path.concat(index).join(this.separator)] = obj[key] - } - } - }.bind(this) - ) - return tgt -} - -DotObject.pick = wrap('pick') -DotObject.move = wrap('move') -DotObject.transfer = wrap('transfer') -DotObject.transform = wrap('transform') -DotObject.copy = wrap('copy') -DotObject.object = wrap('object') -DotObject.str = wrap('str') -DotObject.set = wrap('set') -DotObject.delete = wrap('delete') -DotObject.del = DotObject.remove = wrap('remove') -DotObject.dot = wrap('dot'); -['override', 'overwrite'].forEach(function (prop) { - Object.defineProperty(DotObject, prop, { - get: function () { - return dotDefault.override - }, - set: function (val) { - dotDefault.override = !!val - } - }) -}); -['useArray', 'keepArray', 'useBrackets'].forEach(function (prop) { - Object.defineProperty(DotObject, prop, { - get: function () { - return dotDefault[prop] - }, - set: function (val) { - dotDefault[prop] = val - } - }) -}) - -DotObject._process = _process - -module.exports = DotObject diff --git a/node_modules/dot-object/node_modules/glob/LICENSE b/node_modules/dot-object/node_modules/glob/LICENSE deleted file mode 100644 index 42ca266df1..0000000000 --- a/node_modules/dot-object/node_modules/glob/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -## Glob Logo - -Glob's logo created by Tanya Brassie , licensed -under a Creative Commons Attribution-ShareAlike 4.0 International License -https://creativecommons.org/licenses/by-sa/4.0/ diff --git a/node_modules/dot-object/node_modules/glob/README.md b/node_modules/dot-object/node_modules/glob/README.md deleted file mode 100644 index 83f0c83a0c..0000000000 --- a/node_modules/dot-object/node_modules/glob/README.md +++ /dev/null @@ -1,378 +0,0 @@ -# Glob - -Match files using the patterns the shell uses, like stars and stuff. - -[![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Build Status](https://ci.appveyor.com/api/projects/status/kd7f3yftf7unxlsx?svg=true)](https://ci.appveyor.com/project/isaacs/node-glob) [![Coverage Status](https://coveralls.io/repos/isaacs/node-glob/badge.svg?branch=master&service=github)](https://coveralls.io/github/isaacs/node-glob?branch=master) - -This is a glob implementation in JavaScript. It uses the `minimatch` -library to do its matching. - -![a fun cartoon logo made of glob characters](logo/glob.png) - -## Usage - -Install with npm - -``` -npm i glob -``` - -```javascript -var glob = require("glob") - -// options is optional -glob("**/*.js", options, function (er, files) { - // files is an array of filenames. - // If the `nonull` option is set, and nothing - // was found, then files is ["**/*.js"] - // er is an error object or null. -}) -``` - -## Glob Primer - -"Globs" are the patterns you type when you do stuff like `ls *.js` on -the command line, or put `build/*` in a `.gitignore` file. - -Before parsing the path part patterns, braced sections are expanded -into a set. Braced sections start with `{` and end with `}`, with any -number of comma-delimited sections within. Braced sections may contain -slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`. - -The following characters have special magic meaning when used in a -path portion: - -* `*` Matches 0 or more characters in a single path portion -* `?` Matches 1 character -* `[...]` Matches a range of characters, similar to a RegExp range. - If the first character of the range is `!` or `^` then it matches - any character not in the range. -* `!(pattern|pattern|pattern)` Matches anything that does not match - any of the patterns provided. -* `?(pattern|pattern|pattern)` Matches zero or one occurrence of the - patterns provided. -* `+(pattern|pattern|pattern)` Matches one or more occurrences of the - patterns provided. -* `*(a|b|c)` Matches zero or more occurrences of the patterns provided -* `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns - provided -* `**` If a "globstar" is alone in a path portion, then it matches - zero or more directories and subdirectories searching for matches. - It does not crawl symlinked directories. - -### Dots - -If a file or directory path portion has a `.` as the first character, -then it will not match any glob pattern unless that pattern's -corresponding path part also has a `.` as its first character. - -For example, the pattern `a/.*/c` would match the file at `a/.b/c`. -However the pattern `a/*/c` would not, because `*` does not start with -a dot character. - -You can make glob treat dots as normal characters by setting -`dot:true` in the options. - -### Basename Matching - -If you set `matchBase:true` in the options, and the pattern has no -slashes in it, then it will seek for any file anywhere in the tree -with a matching basename. For example, `*.js` would match -`test/simple/basic.js`. - -### Empty Sets - -If no matching files are found, then an empty array is returned. This -differs from the shell, where the pattern itself is returned. For -example: - - $ echo a*s*d*f - a*s*d*f - -To get the bash-style behavior, set the `nonull:true` in the options. - -### See Also: - -* `man sh` -* `man bash` (Search for "Pattern Matching") -* `man 3 fnmatch` -* `man 5 gitignore` -* [minimatch documentation](https://github.com/isaacs/minimatch) - -## glob.hasMagic(pattern, [options]) - -Returns `true` if there are any special characters in the pattern, and -`false` otherwise. - -Note that the options affect the results. If `noext:true` is set in -the options object, then `+(a|b)` will not be considered a magic -pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}` -then that is considered magical, unless `nobrace:true` is set in the -options. - -## glob(pattern, [options], cb) - -* `pattern` `{String}` Pattern to be matched -* `options` `{Object}` -* `cb` `{Function}` - * `err` `{Error | null}` - * `matches` `{Array}` filenames found matching the pattern - -Perform an asynchronous glob search. - -## glob.sync(pattern, [options]) - -* `pattern` `{String}` Pattern to be matched -* `options` `{Object}` -* return: `{Array}` filenames found matching the pattern - -Perform a synchronous glob search. - -## Class: glob.Glob - -Create a Glob object by instantiating the `glob.Glob` class. - -```javascript -var Glob = require("glob").Glob -var mg = new Glob(pattern, options, cb) -``` - -It's an EventEmitter, and starts walking the filesystem to find matches -immediately. - -### new glob.Glob(pattern, [options], [cb]) - -* `pattern` `{String}` pattern to search for -* `options` `{Object}` -* `cb` `{Function}` Called when an error occurs, or matches are found - * `err` `{Error | null}` - * `matches` `{Array}` filenames found matching the pattern - -Note that if the `sync` flag is set in the options, then matches will -be immediately available on the `g.found` member. - -### Properties - -* `minimatch` The minimatch object that the glob uses. -* `options` The options object passed in. -* `aborted` Boolean which is set to true when calling `abort()`. There - is no way at this time to continue a glob search after aborting, but - you can re-use the statCache to avoid having to duplicate syscalls. -* `cache` Convenience object. Each field has the following possible - values: - * `false` - Path does not exist - * `true` - Path exists - * `'FILE'` - Path exists, and is not a directory - * `'DIR'` - Path exists, and is a directory - * `[file, entries, ...]` - Path exists, is a directory, and the - array value is the results of `fs.readdir` -* `statCache` Cache of `fs.stat` results, to prevent statting the same - path multiple times. -* `symlinks` A record of which paths are symbolic links, which is - relevant in resolving `**` patterns. -* `realpathCache` An optional object which is passed to `fs.realpath` - to minimize unnecessary syscalls. It is stored on the instantiated - Glob object, and may be re-used. - -### Events - -* `end` When the matching is finished, this is emitted with all the - matches found. If the `nonull` option is set, and no match was found, - then the `matches` list contains the original pattern. The matches - are sorted, unless the `nosort` flag is set. -* `match` Every time a match is found, this is emitted with the specific - thing that matched. It is not deduplicated or resolved to a realpath. -* `error` Emitted when an unexpected error is encountered, or whenever - any fs error occurs if `options.strict` is set. -* `abort` When `abort()` is called, this event is raised. - -### Methods - -* `pause` Temporarily stop the search -* `resume` Resume the search -* `abort` Stop the search forever - -### Options - -All the options that can be passed to Minimatch can also be passed to -Glob to change pattern matching behavior. Also, some have been added, -or have glob-specific ramifications. - -All options are false by default, unless otherwise noted. - -All options are added to the Glob object, as well. - -If you are running many `glob` operations, you can pass a Glob object -as the `options` argument to a subsequent operation to shortcut some -`stat` and `readdir` calls. At the very least, you may pass in shared -`symlinks`, `statCache`, `realpathCache`, and `cache` options, so that -parallel glob operations will be sped up by sharing information about -the filesystem. - -* `cwd` The current working directory in which to search. Defaults - to `process.cwd()`. -* `root` The place where patterns starting with `/` will be mounted - onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix - systems, and `C:\` or some such on Windows.) -* `dot` Include `.dot` files in normal matches and `globstar` matches. - Note that an explicit dot in a portion of the pattern will always - match dot files. -* `nomount` By default, a pattern starting with a forward-slash will be - "mounted" onto the root setting, so that a valid filesystem path is - returned. Set this flag to disable that behavior. -* `mark` Add a `/` character to directory matches. Note that this - requires additional stat calls. -* `nosort` Don't sort the results. -* `stat` Set to true to stat *all* results. This reduces performance - somewhat, and is completely unnecessary, unless `readdir` is presumed - to be an untrustworthy indicator of file existence. -* `silent` When an unusual error is encountered when attempting to - read a directory, a warning will be printed to stderr. Set the - `silent` option to true to suppress these warnings. -* `strict` When an unusual error is encountered when attempting to - read a directory, the process will just continue on in search of - other matches. Set the `strict` option to raise an error in these - cases. -* `cache` See `cache` property above. Pass in a previously generated - cache object to save some fs calls. -* `statCache` A cache of results of filesystem information, to prevent - unnecessary stat calls. While it should not normally be necessary - to set this, you may pass the statCache from one glob() call to the - options object of another, if you know that the filesystem will not - change between calls. (See "Race Conditions" below.) -* `symlinks` A cache of known symbolic links. You may pass in a - previously generated `symlinks` object to save `lstat` calls when - resolving `**` matches. -* `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead. -* `nounique` In some cases, brace-expanded patterns can result in the - same file showing up multiple times in the result set. By default, - this implementation prevents duplicates in the result set. Set this - flag to disable that behavior. -* `nonull` Set to never return an empty set, instead returning a set - containing the pattern itself. This is the default in glob(3). -* `debug` Set to enable debug logging in minimatch and glob. -* `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets. -* `noglobstar` Do not match `**` against multiple filenames. (Ie, - treat it as a normal `*` instead.) -* `noext` Do not match `+(a|b)` "extglob" patterns. -* `nocase` Perform a case-insensitive match. Note: on - case-insensitive filesystems, non-magic patterns will match by - default, since `stat` and `readdir` will not raise errors. -* `matchBase` Perform a basename-only match if the pattern does not - contain any slash characters. That is, `*.js` would be treated as - equivalent to `**/*.js`, matching all js files in all directories. -* `nodir` Do not match directories, only files. (Note: to match - *only* directories, simply put a `/` at the end of the pattern.) -* `ignore` Add a pattern or an array of glob patterns to exclude matches. - Note: `ignore` patterns are *always* in `dot:true` mode, regardless - of any other settings. -* `follow` Follow symlinked directories when expanding `**` patterns. - Note that this can result in a lot of duplicate references in the - presence of cyclic links. -* `realpath` Set to true to call `fs.realpath` on all of the results. - In the case of a symlink that cannot be resolved, the full absolute - path to the matched entry is returned (though it will usually be a - broken symlink) -* `absolute` Set to true to always receive absolute paths for matched - files. Unlike `realpath`, this also affects the values returned in - the `match` event. -* `fs` File-system object with Node's `fs` API. By default, the built-in - `fs` module will be used. Set to a volume provided by a library like - `memfs` to avoid using the "real" file-system. - -## Comparisons to other fnmatch/glob implementations - -While strict compliance with the existing standards is a worthwhile -goal, some discrepancies exist between node-glob and other -implementations, and are intentional. - -The double-star character `**` is supported by default, unless the -`noglobstar` flag is set. This is supported in the manner of bsdglob -and bash 4.3, where `**` only has special significance if it is the only -thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but -`a/**b` will not. - -Note that symlinked directories are not crawled as part of a `**`, -though their contents may match against subsequent portions of the -pattern. This prevents infinite loops and duplicates and the like. - -If an escaped pattern has no matches, and the `nonull` flag is set, -then glob returns the pattern as-provided, rather than -interpreting the character escapes. For example, -`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than -`"*a?"`. This is akin to setting the `nullglob` option in bash, except -that it does not resolve escaped pattern characters. - -If brace expansion is not disabled, then it is performed before any -other interpretation of the glob pattern. Thus, a pattern like -`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded -**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are -checked for validity. Since those two are valid, matching proceeds. - -### Comments and Negation - -Previously, this module let you mark a pattern as a "comment" if it -started with a `#` character, or a "negated" pattern if it started -with a `!` character. - -These options were deprecated in version 5, and removed in version 6. - -To specify things that should not match, use the `ignore` option. - -## Windows - -**Please only use forward-slashes in glob expressions.** - -Though windows uses either `/` or `\` as its path separator, only `/` -characters are used by this glob implementation. You must use -forward-slashes **only** in glob expressions. Back-slashes will always -be interpreted as escape characters, not path separators. - -Results from absolute patterns such as `/foo/*` are mounted onto the -root setting using `path.join`. On windows, this will by default result -in `/foo/*` matching `C:\foo\bar.txt`. - -## Race Conditions - -Glob searching, by its very nature, is susceptible to race conditions, -since it relies on directory walking and such. - -As a result, it is possible that a file that exists when glob looks for -it may have been deleted or modified by the time it returns the result. - -As part of its internal implementation, this program caches all stat -and readdir calls that it makes, in order to cut down on system -overhead. However, this also makes it even more susceptible to races, -especially if the cache or statCache objects are reused between glob -calls. - -Users are thus advised not to use a glob result as a guarantee of -filesystem state in the face of rapid changes. For the vast majority -of operations, this is never a problem. - -## Glob Logo -Glob's logo was created by [Tanya Brassie](http://tanyabrassie.com/). Logo files can be found [here](https://github.com/isaacs/node-glob/tree/master/logo). - -The logo is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). - -## Contributing - -Any change to behavior (including bugfixes) must come with a test. - -Patches that fail tests or reduce performance will be rejected. - -``` -# to run tests -npm test - -# to re-generate test fixtures -npm run test-regen - -# to benchmark against bash/zsh -npm run bench - -# to profile javascript -npm run prof -``` - -![](oh-my-glob.gif) diff --git a/node_modules/dot-object/node_modules/glob/common.js b/node_modules/dot-object/node_modules/glob/common.js deleted file mode 100644 index 424c46e1da..0000000000 --- a/node_modules/dot-object/node_modules/glob/common.js +++ /dev/null @@ -1,238 +0,0 @@ -exports.setopts = setopts -exports.ownProp = ownProp -exports.makeAbs = makeAbs -exports.finish = finish -exports.mark = mark -exports.isIgnored = isIgnored -exports.childrenIgnored = childrenIgnored - -function ownProp (obj, field) { - return Object.prototype.hasOwnProperty.call(obj, field) -} - -var fs = require("fs") -var path = require("path") -var minimatch = require("minimatch") -var isAbsolute = require("path-is-absolute") -var Minimatch = minimatch.Minimatch - -function alphasort (a, b) { - return a.localeCompare(b, 'en') -} - -function setupIgnores (self, options) { - self.ignore = options.ignore || [] - - if (!Array.isArray(self.ignore)) - self.ignore = [self.ignore] - - if (self.ignore.length) { - self.ignore = self.ignore.map(ignoreMap) - } -} - -// ignore patterns are always in dot:true mode. -function ignoreMap (pattern) { - var gmatcher = null - if (pattern.slice(-3) === '/**') { - var gpattern = pattern.replace(/(\/\*\*)+$/, '') - gmatcher = new Minimatch(gpattern, { dot: true }) - } - - return { - matcher: new Minimatch(pattern, { dot: true }), - gmatcher: gmatcher - } -} - -function setopts (self, pattern, options) { - if (!options) - options = {} - - // base-matching: just use globstar for that. - if (options.matchBase && -1 === pattern.indexOf("/")) { - if (options.noglobstar) { - throw new Error("base matching requires globstar") - } - pattern = "**/" + pattern - } - - self.silent = !!options.silent - self.pattern = pattern - self.strict = options.strict !== false - self.realpath = !!options.realpath - self.realpathCache = options.realpathCache || Object.create(null) - self.follow = !!options.follow - self.dot = !!options.dot - self.mark = !!options.mark - self.nodir = !!options.nodir - if (self.nodir) - self.mark = true - self.sync = !!options.sync - self.nounique = !!options.nounique - self.nonull = !!options.nonull - self.nosort = !!options.nosort - self.nocase = !!options.nocase - self.stat = !!options.stat - self.noprocess = !!options.noprocess - self.absolute = !!options.absolute - self.fs = options.fs || fs - - self.maxLength = options.maxLength || Infinity - self.cache = options.cache || Object.create(null) - self.statCache = options.statCache || Object.create(null) - self.symlinks = options.symlinks || Object.create(null) - - setupIgnores(self, options) - - self.changedCwd = false - var cwd = process.cwd() - if (!ownProp(options, "cwd")) - self.cwd = cwd - else { - self.cwd = path.resolve(options.cwd) - self.changedCwd = self.cwd !== cwd - } - - self.root = options.root || path.resolve(self.cwd, "/") - self.root = path.resolve(self.root) - if (process.platform === "win32") - self.root = self.root.replace(/\\/g, "/") - - // TODO: is an absolute `cwd` supposed to be resolved against `root`? - // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test') - self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd) - if (process.platform === "win32") - self.cwdAbs = self.cwdAbs.replace(/\\/g, "/") - self.nomount = !!options.nomount - - // disable comments and negation in Minimatch. - // Note that they are not supported in Glob itself anyway. - options.nonegate = true - options.nocomment = true - // always treat \ in patterns as escapes, not path separators - options.allowWindowsEscape = false - - self.minimatch = new Minimatch(pattern, options) - self.options = self.minimatch.options -} - -function finish (self) { - var nou = self.nounique - var all = nou ? [] : Object.create(null) - - for (var i = 0, l = self.matches.length; i < l; i ++) { - var matches = self.matches[i] - if (!matches || Object.keys(matches).length === 0) { - if (self.nonull) { - // do like the shell, and spit out the literal glob - var literal = self.minimatch.globSet[i] - if (nou) - all.push(literal) - else - all[literal] = true - } - } else { - // had matches - var m = Object.keys(matches) - if (nou) - all.push.apply(all, m) - else - m.forEach(function (m) { - all[m] = true - }) - } - } - - if (!nou) - all = Object.keys(all) - - if (!self.nosort) - all = all.sort(alphasort) - - // at *some* point we statted all of these - if (self.mark) { - for (var i = 0; i < all.length; i++) { - all[i] = self._mark(all[i]) - } - if (self.nodir) { - all = all.filter(function (e) { - var notDir = !(/\/$/.test(e)) - var c = self.cache[e] || self.cache[makeAbs(self, e)] - if (notDir && c) - notDir = c !== 'DIR' && !Array.isArray(c) - return notDir - }) - } - } - - if (self.ignore.length) - all = all.filter(function(m) { - return !isIgnored(self, m) - }) - - self.found = all -} - -function mark (self, p) { - var abs = makeAbs(self, p) - var c = self.cache[abs] - var m = p - if (c) { - var isDir = c === 'DIR' || Array.isArray(c) - var slash = p.slice(-1) === '/' - - if (isDir && !slash) - m += '/' - else if (!isDir && slash) - m = m.slice(0, -1) - - if (m !== p) { - var mabs = makeAbs(self, m) - self.statCache[mabs] = self.statCache[abs] - self.cache[mabs] = self.cache[abs] - } - } - - return m -} - -// lotta situps... -function makeAbs (self, f) { - var abs = f - if (f.charAt(0) === '/') { - abs = path.join(self.root, f) - } else if (isAbsolute(f) || f === '') { - abs = f - } else if (self.changedCwd) { - abs = path.resolve(self.cwd, f) - } else { - abs = path.resolve(f) - } - - if (process.platform === 'win32') - abs = abs.replace(/\\/g, '/') - - return abs -} - - -// Return true, if pattern ends with globstar '**', for the accompanying parent directory. -// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents -function isIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) - }) -} - -function childrenIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return !!(item.gmatcher && item.gmatcher.match(path)) - }) -} diff --git a/node_modules/dot-object/node_modules/glob/glob.js b/node_modules/dot-object/node_modules/glob/glob.js deleted file mode 100644 index 37a4d7e607..0000000000 --- a/node_modules/dot-object/node_modules/glob/glob.js +++ /dev/null @@ -1,790 +0,0 @@ -// Approach: -// -// 1. Get the minimatch set -// 2. For each pattern in the set, PROCESS(pattern, false) -// 3. Store matches per-set, then uniq them -// -// PROCESS(pattern, inGlobStar) -// Get the first [n] items from pattern that are all strings -// Join these together. This is PREFIX. -// If there is no more remaining, then stat(PREFIX) and -// add to matches if it succeeds. END. -// -// If inGlobStar and PREFIX is symlink and points to dir -// set ENTRIES = [] -// else readdir(PREFIX) as ENTRIES -// If fail, END -// -// with ENTRIES -// If pattern[n] is GLOBSTAR -// // handle the case where the globstar match is empty -// // by pruning it out, and testing the resulting pattern -// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) -// // handle other cases. -// for ENTRY in ENTRIES (not dotfiles) -// // attach globstar + tail onto the entry -// // Mark that this entry is a globstar match -// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) -// -// else // not globstar -// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) -// Test ENTRY against pattern[n] -// If fails, continue -// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) -// -// Caveat: -// Cache all stats and readdirs results to minimize syscall. Since all -// we ever care about is existence and directory-ness, we can just keep -// `true` for files, and [children,...] for directories, or `false` for -// things that don't exist. - -module.exports = glob - -var rp = require('fs.realpath') -var minimatch = require('minimatch') -var Minimatch = minimatch.Minimatch -var inherits = require('inherits') -var EE = require('events').EventEmitter -var path = require('path') -var assert = require('assert') -var isAbsolute = require('path-is-absolute') -var globSync = require('./sync.js') -var common = require('./common.js') -var setopts = common.setopts -var ownProp = common.ownProp -var inflight = require('inflight') -var util = require('util') -var childrenIgnored = common.childrenIgnored -var isIgnored = common.isIgnored - -var once = require('once') - -function glob (pattern, options, cb) { - if (typeof options === 'function') cb = options, options = {} - if (!options) options = {} - - if (options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return globSync(pattern, options) - } - - return new Glob(pattern, options, cb) -} - -glob.sync = globSync -var GlobSync = glob.GlobSync = globSync.GlobSync - -// old api surface -glob.glob = glob - -function extend (origin, add) { - if (add === null || typeof add !== 'object') { - return origin - } - - var keys = Object.keys(add) - var i = keys.length - while (i--) { - origin[keys[i]] = add[keys[i]] - } - return origin -} - -glob.hasMagic = function (pattern, options_) { - var options = extend({}, options_) - options.noprocess = true - - var g = new Glob(pattern, options) - var set = g.minimatch.set - - if (!pattern) - return false - - if (set.length > 1) - return true - - for (var j = 0; j < set[0].length; j++) { - if (typeof set[0][j] !== 'string') - return true - } - - return false -} - -glob.Glob = Glob -inherits(Glob, EE) -function Glob (pattern, options, cb) { - if (typeof options === 'function') { - cb = options - options = null - } - - if (options && options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return new GlobSync(pattern, options) - } - - if (!(this instanceof Glob)) - return new Glob(pattern, options, cb) - - setopts(this, pattern, options) - this._didRealPath = false - - // process each pattern in the minimatch set - var n = this.minimatch.set.length - - // The matches are stored as {: true,...} so that - // duplicates are automagically pruned. - // Later, we do an Object.keys() on these. - // Keep them as a list so we can fill in when nonull is set. - this.matches = new Array(n) - - if (typeof cb === 'function') { - cb = once(cb) - this.on('error', cb) - this.on('end', function (matches) { - cb(null, matches) - }) - } - - var self = this - this._processing = 0 - - this._emitQueue = [] - this._processQueue = [] - this.paused = false - - if (this.noprocess) - return this - - if (n === 0) - return done() - - var sync = true - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false, done) - } - sync = false - - function done () { - --self._processing - if (self._processing <= 0) { - if (sync) { - process.nextTick(function () { - self._finish() - }) - } else { - self._finish() - } - } - } -} - -Glob.prototype._finish = function () { - assert(this instanceof Glob) - if (this.aborted) - return - - if (this.realpath && !this._didRealpath) - return this._realpath() - - common.finish(this) - this.emit('end', this.found) -} - -Glob.prototype._realpath = function () { - if (this._didRealpath) - return - - this._didRealpath = true - - var n = this.matches.length - if (n === 0) - return this._finish() - - var self = this - for (var i = 0; i < this.matches.length; i++) - this._realpathSet(i, next) - - function next () { - if (--n === 0) - self._finish() - } -} - -Glob.prototype._realpathSet = function (index, cb) { - var matchset = this.matches[index] - if (!matchset) - return cb() - - var found = Object.keys(matchset) - var self = this - var n = found.length - - if (n === 0) - return cb() - - var set = this.matches[index] = Object.create(null) - found.forEach(function (p, i) { - // If there's a problem with the stat, then it means that - // one or more of the links in the realpath couldn't be - // resolved. just return the abs value in that case. - p = self._makeAbs(p) - rp.realpath(p, self.realpathCache, function (er, real) { - if (!er) - set[real] = true - else if (er.syscall === 'stat') - set[p] = true - else - self.emit('error', er) // srsly wtf right here - - if (--n === 0) { - self.matches[index] = set - cb() - } - }) - }) -} - -Glob.prototype._mark = function (p) { - return common.mark(this, p) -} - -Glob.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} - -Glob.prototype.abort = function () { - this.aborted = true - this.emit('abort') -} - -Glob.prototype.pause = function () { - if (!this.paused) { - this.paused = true - this.emit('pause') - } -} - -Glob.prototype.resume = function () { - if (this.paused) { - this.emit('resume') - this.paused = false - if (this._emitQueue.length) { - var eq = this._emitQueue.slice(0) - this._emitQueue.length = 0 - for (var i = 0; i < eq.length; i ++) { - var e = eq[i] - this._emitMatch(e[0], e[1]) - } - } - if (this._processQueue.length) { - var pq = this._processQueue.slice(0) - this._processQueue.length = 0 - for (var i = 0; i < pq.length; i ++) { - var p = pq[i] - this._processing-- - this._process(p[0], p[1], p[2], p[3]) - } - } - } -} - -Glob.prototype._process = function (pattern, index, inGlobStar, cb) { - assert(this instanceof Glob) - assert(typeof cb === 'function') - - if (this.aborted) - return - - this._processing++ - if (this.paused) { - this._processQueue.push([pattern, index, inGlobStar, cb]) - return - } - - //console.error('PROCESS %d', this._processing, pattern) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // see if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index, cb) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || - isAbsolute(pattern.map(function (p) { - return typeof p === 'string' ? p : '[*]' - }).join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix - - var abs = this._makeAbs(read) - - //if ignored, skip _processing - if (childrenIgnored(this, read)) - return cb() - - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) -} - -Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - -Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return cb() - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' - - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) - } - } - - //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) - - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return cb() - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) - } - this._emitMatch(index, e) - } - // This was the last one, and no stats were needed - return cb() - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - this._process([e].concat(remain), index, inGlobStar, cb) - } - cb() -} - -Glob.prototype._emitMatch = function (index, e) { - if (this.aborted) - return - - if (isIgnored(this, e)) - return - - if (this.paused) { - this._emitQueue.push([index, e]) - return - } - - var abs = isAbsolute(e) ? e : this._makeAbs(e) - - if (this.mark) - e = this._mark(e) - - if (this.absolute) - e = abs - - if (this.matches[index][e]) - return - - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) - return - } - - this.matches[index][e] = true - - var st = this.statCache[abs] - if (st) - this.emit('stat', e, st) - - this.emit('match', e) -} - -Glob.prototype._readdirInGlobStar = function (abs, cb) { - if (this.aborted) - return - - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false, cb) - - var lstatkey = 'lstat\0' + abs - var self = this - var lstatcb = inflight(lstatkey, lstatcb_) - - if (lstatcb) - self.fs.lstat(abs, lstatcb) - - function lstatcb_ (er, lstat) { - if (er && er.code === 'ENOENT') - return cb() - - var isSym = lstat && lstat.isSymbolicLink() - self.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && lstat && !lstat.isDirectory()) { - self.cache[abs] = 'FILE' - cb() - } else - self._readdir(abs, false, cb) - } -} - -Glob.prototype._readdir = function (abs, inGlobStar, cb) { - if (this.aborted) - return - - cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) - if (!cb) - return - - //console.error('RD %j %j', +inGlobStar, abs) - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs, cb) - - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return cb() - - if (Array.isArray(c)) - return cb(null, c) - } - - var self = this - self.fs.readdir(abs, readdirCb(this, abs, cb)) -} - -function readdirCb (self, abs, cb) { - return function (er, entries) { - if (er) - self._readdirError(abs, er, cb) - else - self._readdirEntries(abs, entries, cb) - } -} - -Glob.prototype._readdirEntries = function (abs, entries, cb) { - if (this.aborted) - return - - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true - } - } - - this.cache[abs] = entries - return cb(null, entries) -} - -Glob.prototype._readdirError = function (f, er, cb) { - if (this.aborted) - return - - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - var abs = this._makeAbs(f) - this.cache[abs] = 'FILE' - if (abs === this.cwdAbs) { - var error = new Error(er.code + ' invalid cwd ' + this.cwd) - error.path = this.cwd - error.code = er.code - this.emit('error', error) - this.abort() - } - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) { - this.emit('error', er) - // If the error is handled, then we abort - // if not, we threw out of here - this.abort() - } - if (!this.silent) - console.error('glob error', er) - break - } - - return cb() -} - -Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - - -Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - //console.error('pgs2', prefix, remain[0], entries) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return cb() - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false, cb) - - var isSym = this.symlinks[abs] - var len = entries.length - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return cb() - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true, cb) - - var below = gspref.concat(entries[i], remain) - this._process(below, index, true, cb) - } - - cb() -} - -Glob.prototype._processSimple = function (prefix, index, cb) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var self = this - this._stat(prefix, function (er, exists) { - self._processSimple2(prefix, index, er, exists, cb) - }) -} -Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { - - //console.error('ps2', prefix, exists) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - if (!exists) - return cb() - - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } - - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') - - // Mark this as a match - this._emitMatch(index, prefix) - cb() -} - -// Returns either 'DIR', 'FILE', or false -Glob.prototype._stat = function (f, cb) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' - - if (f.length > this.maxLength) - return cb() - - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] - - if (Array.isArray(c)) - c = 'DIR' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return cb(null, c) - - if (needDir && c === 'FILE') - return cb() - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (stat !== undefined) { - if (stat === false) - return cb(null, stat) - else { - var type = stat.isDirectory() ? 'DIR' : 'FILE' - if (needDir && type === 'FILE') - return cb() - else - return cb(null, type, stat) - } - } - - var self = this - var statcb = inflight('stat\0' + abs, lstatcb_) - if (statcb) - self.fs.lstat(abs, statcb) - - function lstatcb_ (er, lstat) { - if (lstat && lstat.isSymbolicLink()) { - // If it's a symlink, then treat it as the target, unless - // the target does not exist, then treat it as a file. - return self.fs.stat(abs, function (er, stat) { - if (er) - self._stat2(f, abs, null, lstat, cb) - else - self._stat2(f, abs, er, stat, cb) - }) - } else { - self._stat2(f, abs, er, lstat, cb) - } - } -} - -Glob.prototype._stat2 = function (f, abs, er, stat, cb) { - if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { - this.statCache[abs] = false - return cb() - } - - var needDir = f.slice(-1) === '/' - this.statCache[abs] = stat - - if (abs.slice(-1) === '/' && stat && !stat.isDirectory()) - return cb(null, false, stat) - - var c = true - if (stat) - c = stat.isDirectory() ? 'DIR' : 'FILE' - this.cache[abs] = this.cache[abs] || c - - if (needDir && c === 'FILE') - return cb() - - return cb(null, c, stat) -} diff --git a/node_modules/dot-object/node_modules/glob/package.json b/node_modules/dot-object/node_modules/glob/package.json deleted file mode 100644 index 5940b649b7..0000000000 --- a/node_modules/dot-object/node_modules/glob/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "name": "glob", - "description": "a little globber", - "version": "7.2.3", - "publishConfig": { - "tag": "v7-legacy" - }, - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-glob.git" - }, - "main": "glob.js", - "files": [ - "glob.js", - "sync.js", - "common.js" - ], - "engines": { - "node": "*" - }, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "devDependencies": { - "memfs": "^3.2.0", - "mkdirp": "0", - "rimraf": "^2.2.8", - "tap": "^15.0.6", - "tick": "0.0.6" - }, - "tap": { - "before": "test/00-setup.js", - "after": "test/zz-cleanup.js", - "jobs": 1 - }, - "scripts": { - "prepublish": "npm run benchclean", - "profclean": "rm -f v8.log profile.txt", - "test": "tap", - "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js", - "bench": "bash benchmark.sh", - "prof": "bash prof.sh && cat profile.txt", - "benchclean": "node benchclean.js" - }, - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" - } -} diff --git a/node_modules/dot-object/node_modules/glob/sync.js b/node_modules/dot-object/node_modules/glob/sync.js deleted file mode 100644 index 2c4f480192..0000000000 --- a/node_modules/dot-object/node_modules/glob/sync.js +++ /dev/null @@ -1,486 +0,0 @@ -module.exports = globSync -globSync.GlobSync = GlobSync - -var rp = require('fs.realpath') -var minimatch = require('minimatch') -var Minimatch = minimatch.Minimatch -var Glob = require('./glob.js').Glob -var util = require('util') -var path = require('path') -var assert = require('assert') -var isAbsolute = require('path-is-absolute') -var common = require('./common.js') -var setopts = common.setopts -var ownProp = common.ownProp -var childrenIgnored = common.childrenIgnored -var isIgnored = common.isIgnored - -function globSync (pattern, options) { - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') - - return new GlobSync(pattern, options).found -} - -function GlobSync (pattern, options) { - if (!pattern) - throw new Error('must provide pattern') - - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') - - if (!(this instanceof GlobSync)) - return new GlobSync(pattern, options) - - setopts(this, pattern, options) - - if (this.noprocess) - return this - - var n = this.minimatch.set.length - this.matches = new Array(n) - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false) - } - this._finish() -} - -GlobSync.prototype._finish = function () { - assert.ok(this instanceof GlobSync) - if (this.realpath) { - var self = this - this.matches.forEach(function (matchset, index) { - var set = self.matches[index] = Object.create(null) - for (var p in matchset) { - try { - p = self._makeAbs(p) - var real = rp.realpathSync(p, self.realpathCache) - set[real] = true - } catch (er) { - if (er.syscall === 'stat') - set[self._makeAbs(p)] = true - else - throw er - } - } - }) - } - common.finish(this) -} - - -GlobSync.prototype._process = function (pattern, index, inGlobStar) { - assert.ok(this instanceof GlobSync) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // See if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || - isAbsolute(pattern.map(function (p) { - return typeof p === 'string' ? p : '[*]' - }).join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix - - var abs = this._makeAbs(read) - - //if ignored, skip processing - if (childrenIgnored(this, read)) - return - - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar) -} - - -GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { - var entries = this._readdir(abs, inGlobStar) - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' - - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) - } - } - - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix.slice(-1) !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) - } - this._emitMatch(index, e) - } - // This was the last one, and no stats were needed - return - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) - newPattern = [prefix, e] - else - newPattern = [e] - this._process(newPattern.concat(remain), index, inGlobStar) - } -} - - -GlobSync.prototype._emitMatch = function (index, e) { - if (isIgnored(this, e)) - return - - var abs = this._makeAbs(e) - - if (this.mark) - e = this._mark(e) - - if (this.absolute) { - e = abs - } - - if (this.matches[index][e]) - return - - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) - return - } - - this.matches[index][e] = true - - if (this.stat) - this._stat(e) -} - - -GlobSync.prototype._readdirInGlobStar = function (abs) { - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false) - - var entries - var lstat - var stat - try { - lstat = this.fs.lstatSync(abs) - } catch (er) { - if (er.code === 'ENOENT') { - // lstat failed, doesn't exist - return null - } - } - - var isSym = lstat && lstat.isSymbolicLink() - this.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && lstat && !lstat.isDirectory()) - this.cache[abs] = 'FILE' - else - entries = this._readdir(abs, false) - - return entries -} - -GlobSync.prototype._readdir = function (abs, inGlobStar) { - var entries - - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs) - - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return null - - if (Array.isArray(c)) - return c - } - - try { - return this._readdirEntries(abs, this.fs.readdirSync(abs)) - } catch (er) { - this._readdirError(abs, er) - return null - } -} - -GlobSync.prototype._readdirEntries = function (abs, entries) { - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true - } - } - - this.cache[abs] = entries - - // mark and cache dir-ness - return entries -} - -GlobSync.prototype._readdirError = function (f, er) { - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - var abs = this._makeAbs(f) - this.cache[abs] = 'FILE' - if (abs === this.cwdAbs) { - var error = new Error(er.code + ' invalid cwd ' + this.cwd) - error.path = this.cwd - error.code = er.code - throw error - } - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) - throw er - if (!this.silent) - console.error('glob error', er) - break - } -} - -GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { - - var entries = this._readdir(abs, inGlobStar) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false) - - var len = entries.length - var isSym = this.symlinks[abs] - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true) - - var below = gspref.concat(entries[i], remain) - this._process(below, index, true) - } -} - -GlobSync.prototype._processSimple = function (prefix, index) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var exists = this._stat(prefix) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - if (!exists) - return - - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } - - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') - - // Mark this as a match - this._emitMatch(index, prefix) -} - -// Returns either 'DIR', 'FILE', or false -GlobSync.prototype._stat = function (f) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' - - if (f.length > this.maxLength) - return false - - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] - - if (Array.isArray(c)) - c = 'DIR' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return c - - if (needDir && c === 'FILE') - return false - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (!stat) { - var lstat - try { - lstat = this.fs.lstatSync(abs) - } catch (er) { - if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { - this.statCache[abs] = false - return false - } - } - - if (lstat && lstat.isSymbolicLink()) { - try { - stat = this.fs.statSync(abs) - } catch (er) { - stat = lstat - } - } else { - stat = lstat - } - } - - this.statCache[abs] = stat - - var c = true - if (stat) - c = stat.isDirectory() ? 'DIR' : 'FILE' - - this.cache[abs] = this.cache[abs] || c - - if (needDir && c === 'FILE') - return false - - return c -} - -GlobSync.prototype._mark = function (p) { - return common.mark(this, p) -} - -GlobSync.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} diff --git a/node_modules/dot-object/package.json b/node_modules/dot-object/package.json deleted file mode 100644 index 3227bc3cee..0000000000 --- a/node_modules/dot-object/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "dot-object", - "description": "dot-object makes it possible to transform and read (JSON) objects using dot notation.", - "version": "2.1.5", - "author": { - "name": "Rob Halff", - "email": "rob.halff@gmail.com" - }, - "repository": { - "type": "git", - "url": "git://github.com/rhalff/dot-object.git" - }, - "bugs": { - "url": "https://github.com/rhalff/dot-object/issues" - }, - "license": "MIT", - "main": "index", - "bin": "./bin/dot-object", - "scripts": { - "test": "gulp test", - "watch": "gulp watch", - "lint": "gulp lint", - "dist": "gulp dist" - }, - "standard": { - "globals": [ - "it", - "describe", - "beforeEach" - ] - }, - "devDependencies": { - "eslint": "^7.9.0", - "eslint-config-standard": "^14.1.1", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.1", - "gulp": "^4.0.2", - "gulp-beautify": "^3.0.0", - "gulp-eslint": "^6.0.0", - "gulp-headerfooter": "^1.0.3", - "gulp-mocha": "^7.0.2", - "gulp-rename": "^2.0.0", - "gulp-uglify": "^3.0.2", - "gulp-util": "^3.0.8", - "mocha": "8.x.x", - "should": "13.x.x", - "underscore.string": "latest" - }, - "keywords": [ - "json", - "object", - "filter", - "transform", - "dot notation", - "dot" - ], - "dependencies": { - "commander": "^6.1.0", - "glob": "^7.1.6" - }, - "packageManager": "yarn@4.1.1" -} diff --git a/node_modules/lower-case/LICENSE b/node_modules/lower-case/LICENSE deleted file mode 100644 index 983fbe8aec..0000000000 --- a/node_modules/lower-case/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/lower-case/README.md b/node_modules/lower-case/README.md deleted file mode 100644 index 18bf9002e1..0000000000 --- a/node_modules/lower-case/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Lower Case - -[![NPM version][npm-image]][npm-url] -[![NPM downloads][downloads-image]][downloads-url] -[![Bundle size][bundlephobia-image]][bundlephobia-url] - -> Transforms the string to lower case. - -## Installation - -``` -npm install lower-case --save -``` - -## Usage - -```js -import { lowerCase, localeLowerCase } from "lower-case"; - -lowerCase("string"); //=> "string" -lowerCase("PascalCase"); //=> "pascalcase" - -localeLowerCase("STRING", "tr"); //=> "strıng" -``` - -## License - -MIT - -[npm-image]: https://img.shields.io/npm/v/lower-case.svg?style=flat -[npm-url]: https://npmjs.org/package/lower-case -[downloads-image]: https://img.shields.io/npm/dm/lower-case.svg?style=flat -[downloads-url]: https://npmjs.org/package/lower-case -[bundlephobia-image]: https://img.shields.io/bundlephobia/minzip/lower-case.svg -[bundlephobia-url]: https://bundlephobia.com/result?p=lower-case diff --git a/node_modules/lower-case/dist.es2015/index.d.ts b/node_modules/lower-case/dist.es2015/index.d.ts deleted file mode 100644 index d563e2f990..0000000000 --- a/node_modules/lower-case/dist.es2015/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Localized lower case. - */ -export declare function localeLowerCase(str: string, locale: string): string; -/** - * Lower case as a function. - */ -export declare function lowerCase(str: string): string; diff --git a/node_modules/lower-case/dist.es2015/index.js b/node_modules/lower-case/dist.es2015/index.js deleted file mode 100644 index 2be997792a..0000000000 --- a/node_modules/lower-case/dist.es2015/index.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt - */ -var SUPPORTED_LOCALE = { - tr: { - regexp: /\u0130|\u0049|\u0049\u0307/g, - map: { - İ: "\u0069", - I: "\u0131", - İ: "\u0069", - }, - }, - az: { - regexp: /\u0130/g, - map: { - İ: "\u0069", - I: "\u0131", - İ: "\u0069", - }, - }, - lt: { - regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g, - map: { - I: "\u0069\u0307", - J: "\u006A\u0307", - Į: "\u012F\u0307", - Ì: "\u0069\u0307\u0300", - Í: "\u0069\u0307\u0301", - Ĩ: "\u0069\u0307\u0303", - }, - }, -}; -/** - * Localized lower case. - */ -export function localeLowerCase(str, locale) { - var lang = SUPPORTED_LOCALE[locale.toLowerCase()]; - if (lang) - return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; })); - return lowerCase(str); -} -/** - * Lower case as a function. - */ -export function lowerCase(str) { - return str.toLowerCase(); -} -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/lower-case/dist.es2015/index.js.map b/node_modules/lower-case/dist.es2015/index.js.map deleted file mode 100644 index 73fb240cce..0000000000 --- a/node_modules/lower-case/dist.es2015/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,IAAM,gBAAgB,GAA2B;IAC/C,EAAE,EAAE;QACF,MAAM,EAAE,6BAA6B;QACrC,GAAG,EAAE;YACH,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,EAAE,EAAE,QAAQ;SACb;KACF;IACD,EAAE,EAAE;QACF,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE;YACH,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,EAAE,EAAE,QAAQ;SACb;KACF;IACD,EAAE,EAAE;QACF,MAAM,EAAE,4CAA4C;QACpD,GAAG,EAAE;YACH,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,oBAAoB;SACxB;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,MAAc;IACzD,IAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;IACzE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC","sourcesContent":["/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return lowerCase(str);\n}\n\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str: string) {\n return str.toLowerCase();\n}\n"]} \ No newline at end of file diff --git a/node_modules/lower-case/dist.es2015/index.spec.d.ts b/node_modules/lower-case/dist.es2015/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/lower-case/dist.es2015/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/lower-case/dist.es2015/index.spec.js b/node_modules/lower-case/dist.es2015/index.spec.js deleted file mode 100644 index 1211f742b8..0000000000 --- a/node_modules/lower-case/dist.es2015/index.spec.js +++ /dev/null @@ -1,34 +0,0 @@ -import { lowerCase, localeLowerCase } from "."; -var TEST_CASES = [ - ["", ""], - ["test", "test"], - ["TEST", "test"], - ["test string", "test string"], - ["TEST STRING", "test string"], -]; -var LOCALE_TEST_CASES = [ - ["STRING", "strıng", "tr"], -]; -describe("lower case", function () { - var _loop_1 = function (input, result) { - it(input + " -> " + result, function () { - expect(lowerCase(input)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1]; - _loop_1(input, result); - } -}); -describe("locale lower case", function () { - var _loop_2 = function (input, result, locale) { - it(locale + ": " + input + " -> " + result, function () { - expect(localeLowerCase(input, locale)).toEqual(result); - }); - }; - for (var _i = 0, LOCALE_TEST_CASES_1 = LOCALE_TEST_CASES; _i < LOCALE_TEST_CASES_1.length; _i++) { - var _a = LOCALE_TEST_CASES_1[_i], input = _a[0], result = _a[1], locale = _a[2]; - _loop_2(input, result, locale); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/lower-case/dist.es2015/index.spec.js.map b/node_modules/lower-case/dist.es2015/index.spec.js.map deleted file mode 100644 index 0639121e03..0000000000 --- a/node_modules/lower-case/dist.es2015/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAE/C,IAAM,UAAU,GAAuB;IACrC,CAAC,EAAE,EAAE,EAAE,CAAC;IACR,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,aAAa,EAAE,aAAa,CAAC;IAC9B,CAAC,aAAa,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,IAAM,iBAAiB,GAA+B;IACpD,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC;CAC3B,CAAC;AAEF,QAAQ,CAAC,YAAY,EAAE;4BACT,KAAK,EAAE,MAAM;QACvB,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;;IAHL,KAA8B,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAA7B,IAAA,qBAAe,EAAd,KAAK,QAAA,EAAE,MAAM,QAAA;gBAAb,KAAK,EAAE,MAAM;KAIxB;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE;4BAChB,KAAK,EAAE,MAAM,EAAE,MAAM;QAC/B,EAAE,CAAI,MAAM,UAAK,KAAK,YAAO,MAAQ,EAAE;YACrC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;;IAHL,KAAsC,UAAiB,EAAjB,uCAAiB,EAAjB,+BAAiB,EAAjB,IAAiB;QAA5C,IAAA,4BAAuB,EAAtB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA;gBAArB,KAAK,EAAE,MAAM,EAAE,MAAM;KAIhC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { lowerCase, localeLowerCase } from \".\";\n\nconst TEST_CASES: [string, string][] = [\n [\"\", \"\"],\n [\"test\", \"test\"],\n [\"TEST\", \"test\"],\n [\"test string\", \"test string\"],\n [\"TEST STRING\", \"test string\"],\n];\n\nconst LOCALE_TEST_CASES: [string, string, string][] = [\n [\"STRING\", \"strıng\", \"tr\"],\n];\n\ndescribe(\"lower case\", () => {\n for (const [input, result] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(lowerCase(input)).toEqual(result);\n });\n }\n});\n\ndescribe(\"locale lower case\", () => {\n for (const [input, result, locale] of LOCALE_TEST_CASES) {\n it(`${locale}: ${input} -> ${result}`, () => {\n expect(localeLowerCase(input, locale)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/lower-case/dist/index.d.ts b/node_modules/lower-case/dist/index.d.ts deleted file mode 100644 index d563e2f990..0000000000 --- a/node_modules/lower-case/dist/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Localized lower case. - */ -export declare function localeLowerCase(str: string, locale: string): string; -/** - * Lower case as a function. - */ -export declare function lowerCase(str: string): string; diff --git a/node_modules/lower-case/dist/index.js b/node_modules/lower-case/dist/index.js deleted file mode 100644 index 8494b1c6a2..0000000000 --- a/node_modules/lower-case/dist/index.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.lowerCase = exports.localeLowerCase = void 0; -/** - * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt - */ -var SUPPORTED_LOCALE = { - tr: { - regexp: /\u0130|\u0049|\u0049\u0307/g, - map: { - İ: "\u0069", - I: "\u0131", - İ: "\u0069", - }, - }, - az: { - regexp: /\u0130/g, - map: { - İ: "\u0069", - I: "\u0131", - İ: "\u0069", - }, - }, - lt: { - regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g, - map: { - I: "\u0069\u0307", - J: "\u006A\u0307", - Į: "\u012F\u0307", - Ì: "\u0069\u0307\u0300", - Í: "\u0069\u0307\u0301", - Ĩ: "\u0069\u0307\u0303", - }, - }, -}; -/** - * Localized lower case. - */ -function localeLowerCase(str, locale) { - var lang = SUPPORTED_LOCALE[locale.toLowerCase()]; - if (lang) - return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; })); - return lowerCase(str); -} -exports.localeLowerCase = localeLowerCase; -/** - * Lower case as a function. - */ -function lowerCase(str) { - return str.toLowerCase(); -} -exports.lowerCase = lowerCase; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/lower-case/dist/index.js.map b/node_modules/lower-case/dist/index.js.map deleted file mode 100644 index 974aeecd16..0000000000 --- a/node_modules/lower-case/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAQA;;GAEG;AACH,IAAM,gBAAgB,GAA2B;IAC/C,EAAE,EAAE;QACF,MAAM,EAAE,6BAA6B;QACrC,GAAG,EAAE;YACH,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,EAAE,EAAE,QAAQ;SACb;KACF;IACD,EAAE,EAAE;QACF,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE;YACH,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,EAAE,EAAE,QAAQ;SACb;KACF;IACD,EAAE,EAAE;QACF,MAAM,EAAE,4CAA4C;QACpD,GAAG,EAAE;YACH,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,oBAAoB;SACxB;KACF;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAW,EAAE,MAAc;IACzD,IAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;IACzE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAJD,0CAIC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC;AAFD,8BAEC","sourcesContent":["/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return lowerCase(str);\n}\n\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str: string) {\n return str.toLowerCase();\n}\n"]} \ No newline at end of file diff --git a/node_modules/lower-case/dist/index.spec.d.ts b/node_modules/lower-case/dist/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/lower-case/dist/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/lower-case/dist/index.spec.js b/node_modules/lower-case/dist/index.spec.js deleted file mode 100644 index 254b080fe9..0000000000 --- a/node_modules/lower-case/dist/index.spec.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var _1 = require("."); -var TEST_CASES = [ - ["", ""], - ["test", "test"], - ["TEST", "test"], - ["test string", "test string"], - ["TEST STRING", "test string"], -]; -var LOCALE_TEST_CASES = [ - ["STRING", "strıng", "tr"], -]; -describe("lower case", function () { - var _loop_1 = function (input, result) { - it(input + " -> " + result, function () { - expect(_1.lowerCase(input)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1]; - _loop_1(input, result); - } -}); -describe("locale lower case", function () { - var _loop_2 = function (input, result, locale) { - it(locale + ": " + input + " -> " + result, function () { - expect(_1.localeLowerCase(input, locale)).toEqual(result); - }); - }; - for (var _i = 0, LOCALE_TEST_CASES_1 = LOCALE_TEST_CASES; _i < LOCALE_TEST_CASES_1.length; _i++) { - var _a = LOCALE_TEST_CASES_1[_i], input = _a[0], result = _a[1], locale = _a[2]; - _loop_2(input, result, locale); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/lower-case/dist/index.spec.js.map b/node_modules/lower-case/dist/index.spec.js.map deleted file mode 100644 index 25bb7f1111..0000000000 --- a/node_modules/lower-case/dist/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,sBAA+C;AAE/C,IAAM,UAAU,GAAuB;IACrC,CAAC,EAAE,EAAE,EAAE,CAAC;IACR,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,aAAa,EAAE,aAAa,CAAC;IAC9B,CAAC,aAAa,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,IAAM,iBAAiB,GAA+B;IACpD,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC;CAC3B,CAAC;AAEF,QAAQ,CAAC,YAAY,EAAE;4BACT,KAAK,EAAE,MAAM;QACvB,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,YAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;;IAHL,KAA8B,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAA7B,IAAA,qBAAe,EAAd,KAAK,QAAA,EAAE,MAAM,QAAA;gBAAb,KAAK,EAAE,MAAM;KAIxB;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE;4BAChB,KAAK,EAAE,MAAM,EAAE,MAAM;QAC/B,EAAE,CAAI,MAAM,UAAK,KAAK,YAAO,MAAQ,EAAE;YACrC,MAAM,CAAC,kBAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;;IAHL,KAAsC,UAAiB,EAAjB,uCAAiB,EAAjB,+BAAiB,EAAjB,IAAiB;QAA5C,IAAA,4BAAuB,EAAtB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA;gBAArB,KAAK,EAAE,MAAM,EAAE,MAAM;KAIhC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { lowerCase, localeLowerCase } from \".\";\n\nconst TEST_CASES: [string, string][] = [\n [\"\", \"\"],\n [\"test\", \"test\"],\n [\"TEST\", \"test\"],\n [\"test string\", \"test string\"],\n [\"TEST STRING\", \"test string\"],\n];\n\nconst LOCALE_TEST_CASES: [string, string, string][] = [\n [\"STRING\", \"strıng\", \"tr\"],\n];\n\ndescribe(\"lower case\", () => {\n for (const [input, result] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(lowerCase(input)).toEqual(result);\n });\n }\n});\n\ndescribe(\"locale lower case\", () => {\n for (const [input, result, locale] of LOCALE_TEST_CASES) {\n it(`${locale}: ${input} -> ${result}`, () => {\n expect(localeLowerCase(input, locale)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/lower-case/node_modules/tslib/CopyrightNotice.txt b/node_modules/lower-case/node_modules/tslib/CopyrightNotice.txt deleted file mode 100644 index 0e42542369..0000000000 --- a/node_modules/lower-case/node_modules/tslib/CopyrightNotice.txt +++ /dev/null @@ -1,15 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - diff --git a/node_modules/lower-case/node_modules/tslib/LICENSE.txt b/node_modules/lower-case/node_modules/tslib/LICENSE.txt deleted file mode 100644 index bfe6430cb0..0000000000 --- a/node_modules/lower-case/node_modules/tslib/LICENSE.txt +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/node_modules/lower-case/node_modules/tslib/README.md b/node_modules/lower-case/node_modules/tslib/README.md deleted file mode 100644 index 290cc618fb..0000000000 --- a/node_modules/lower-case/node_modules/tslib/README.md +++ /dev/null @@ -1,164 +0,0 @@ -# tslib - -This is a runtime library for [TypeScript](https://www.typescriptlang.org/) that contains all of the TypeScript helper functions. - -This library is primarily used by the `--importHelpers` flag in TypeScript. -When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file: - -```ts -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -exports.x = {}; -exports.y = __assign({}, exports.x); - -``` - -will instead be emitted as something like the following: - -```ts -var tslib_1 = require("tslib"); -exports.x = {}; -exports.y = tslib_1.__assign({}, exports.x); -``` - -Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead. -For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`. - -# Installing - -For the latest stable version, run: - -## npm - -```sh -# TypeScript 3.9.2 or later -npm install tslib - -# TypeScript 3.8.4 or earlier -npm install tslib@^1 - -# TypeScript 2.3.2 or earlier -npm install tslib@1.6.1 -``` - -## yarn - -```sh -# TypeScript 3.9.2 or later -yarn add tslib - -# TypeScript 3.8.4 or earlier -yarn add tslib@^1 - -# TypeScript 2.3.2 or earlier -yarn add tslib@1.6.1 -``` - -## bower - -```sh -# TypeScript 3.9.2 or later -bower install tslib - -# TypeScript 3.8.4 or earlier -bower install tslib@^1 - -# TypeScript 2.3.2 or earlier -bower install tslib@1.6.1 -``` - -## JSPM - -```sh -# TypeScript 3.9.2 or later -jspm install tslib - -# TypeScript 3.8.4 or earlier -jspm install tslib@^1 - -# TypeScript 2.3.2 or earlier -jspm install tslib@1.6.1 -``` - -# Usage - -Set the `importHelpers` compiler option on the command line: - -``` -tsc --importHelpers file.ts -``` - -or in your tsconfig.json: - -```json -{ - "compilerOptions": { - "importHelpers": true - } -} -``` - -#### For bower and JSPM users - -You will need to add a `paths` mapping for `tslib`, e.g. For Bower users: - -```json -{ - "compilerOptions": { - "module": "amd", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["bower_components/tslib/tslib.d.ts"] - } - } -} -``` - -For JSPM users: - -```json -{ - "compilerOptions": { - "module": "system", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["jspm_packages/npm/tslib@2.x.y/tslib.d.ts"] - } - } -} -``` - -## Deployment - -- Choose your new version number -- Set it in `package.json` and `bower.json` -- Create a tag: `git tag [version]` -- Push the tag: `git push --tags` -- Create a [release in GitHub](https://github.com/microsoft/tslib/releases) -- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflow - -Done. - -# Contribute - -There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript. - -* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in. -* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls). -* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript). -* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter. -* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md). - -# Documentation - -* [Quick tutorial](http://www.typescriptlang.org/Tutorial) -* [Programming handbook](http://www.typescriptlang.org/Handbook) -* [Homepage](http://www.typescriptlang.org/) diff --git a/node_modules/lower-case/node_modules/tslib/SECURITY.md b/node_modules/lower-case/node_modules/tslib/SECURITY.md deleted file mode 100644 index 869fdfe2b2..0000000000 --- a/node_modules/lower-case/node_modules/tslib/SECURITY.md +++ /dev/null @@ -1,41 +0,0 @@ - - -## Security - -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). - -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues.** - -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). - -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). - -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) - * Full paths of source file(s) related to the manifestation of the issue - * The location of the affected source code (tag/branch/commit or direct URL) - * Any special configuration required to reproduce the issue - * Step-by-step instructions to reproduce the issue - * Proof-of-concept or exploit code (if possible) - * Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. - -## Preferred Languages - -We prefer all communications to be in English. - -## Policy - -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). - - diff --git a/node_modules/lower-case/node_modules/tslib/modules/index.d.ts b/node_modules/lower-case/node_modules/tslib/modules/index.d.ts deleted file mode 100644 index 0fedae881e..0000000000 --- a/node_modules/lower-case/node_modules/tslib/modules/index.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Note: named reexports are used instead of `export *` because -// TypeScript itself doesn't resolve the `export *` when checking -// if a particular helper exists. -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __createBinding, - __addDisposableResource, - __disposeResources, -} from '../tslib.js'; -export * as default from '../tslib.js'; diff --git a/node_modules/lower-case/node_modules/tslib/modules/index.js b/node_modules/lower-case/node_modules/tslib/modules/index.js deleted file mode 100644 index af9f5ac4e2..0000000000 --- a/node_modules/lower-case/node_modules/tslib/modules/index.js +++ /dev/null @@ -1,68 +0,0 @@ -import tslib from '../tslib.js'; -const { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -} = tslib; -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; -export default tslib; diff --git a/node_modules/lower-case/node_modules/tslib/modules/package.json b/node_modules/lower-case/node_modules/tslib/modules/package.json deleted file mode 100644 index aead43de36..0000000000 --- a/node_modules/lower-case/node_modules/tslib/modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} \ No newline at end of file diff --git a/node_modules/lower-case/node_modules/tslib/package.json b/node_modules/lower-case/node_modules/tslib/package.json deleted file mode 100644 index 88f67e7f8b..0000000000 --- a/node_modules/lower-case/node_modules/tslib/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "tslib", - "author": "Microsoft Corp.", - "homepage": "https://www.typescriptlang.org/", - "version": "2.7.0", - "license": "0BSD", - "description": "Runtime library for TypeScript helper functions", - "keywords": [ - "TypeScript", - "Microsoft", - "compiler", - "language", - "javascript", - "tslib", - "runtime" - ], - "bugs": { - "url": "https://github.com/Microsoft/TypeScript/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/Microsoft/tslib.git" - }, - "main": "tslib.js", - "module": "tslib.es6.js", - "jsnext:main": "tslib.es6.js", - "typings": "tslib.d.ts", - "sideEffects": false, - "exports": { - ".": { - "module": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - }, - "import": { - "node": "./modules/index.js", - "default": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - } - }, - "default": "./tslib.js" - }, - "./*": "./*", - "./": "./" - } -} diff --git a/node_modules/lower-case/node_modules/tslib/tslib.d.ts b/node_modules/lower-case/node_modules/tslib/tslib.d.ts deleted file mode 100644 index 45762215ad..0000000000 --- a/node_modules/lower-case/node_modules/tslib/tslib.d.ts +++ /dev/null @@ -1,453 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -/** - * Used to shim class extends. - * - * @param d The derived class. - * @param b The base class. - */ -export declare function __extends(d: Function, b: Function): void; - -/** - * Copy the values of all of the enumerable own properties from one or more source objects to a - * target object. Returns the target object. - * - * @param t The target object to copy to. - * @param sources One or more source objects from which to copy properties - */ -export declare function __assign(t: any, ...sources: any[]): any; - -/** - * Performs a rest spread on an object. - * - * @param t The source value. - * @param propertyNames The property names excluded from the rest spread. - */ -export declare function __rest(t: any, propertyNames: (string | symbol)[]): any; - -/** - * Applies decorators to a target object - * - * @param decorators The set of decorators to apply. - * @param target The target object. - * @param key If specified, the own property to apply the decorators to. - * @param desc The property descriptor, defaults to fetching the descriptor from the target object. - * @experimental - */ -export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; - -/** - * Creates an observing function decorator from a parameter decorator. - * - * @param paramIndex The parameter index to apply the decorator to. - * @param decorator The parameter decorator to apply. Note that the return value is ignored. - * @experimental - */ -export declare function __param(paramIndex: number, decorator: Function): Function; - -/** - * Applies decorators to a class or class member, following the native ECMAScript decorator specification. - * @param ctor For non-field class members, the class constructor. Otherwise, `null`. - * @param descriptorIn The `PropertyDescriptor` to use when unable to look up the property from `ctor`. - * @param decorators The decorators to apply - * @param contextIn The `DecoratorContext` to clone for each decorator application. - * @param initializers An array of field initializer mutation functions into which new initializers are written. - * @param extraInitializers An array of extra initializer functions into which new initializers are written. - */ -export declare function __esDecorate(ctor: Function | null, descriptorIn: object | null, decorators: Function[], contextIn: object, initializers: Function[] | null, extraInitializers: Function[]): void; - -/** - * Runs field initializers or extra initializers generated by `__esDecorate`. - * @param thisArg The `this` argument to use. - * @param initializers The array of initializers to evaluate. - * @param value The initial value to pass to the initializers. - */ -export declare function __runInitializers(thisArg: unknown, initializers: Function[], value?: any): any; - -/** - * Converts a computed property name into a `string` or `symbol` value. - */ -export declare function __propKey(x: any): string | symbol; - -/** - * Assigns the name of a function derived from the left-hand side of an assignment. - * @param f The function to rename. - * @param name The new name for the function. - * @param prefix A prefix (such as `"get"` or `"set"`) to insert before the name. - */ -export declare function __setFunctionName(f: Function, name: string | symbol, prefix?: string): Function; - -/** - * Creates a decorator that sets metadata. - * - * @param metadataKey The metadata key - * @param metadataValue The metadata value - * @experimental - */ -export declare function __metadata(metadataKey: any, metadataValue: any): Function; - -/** - * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. - * @param generator The generator function - */ -export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; - -/** - * Creates an Iterator object using the body as the implementation. - * - * @param thisArg The reference to use as the `this` value in the function - * @param body The generator state-machine based implementation. - * - * @see [./docs/generator.md] - */ -export declare function __generator(thisArg: any, body: Function): any; - -/** - * Creates bindings for all enumerable properties of `m` on `exports` - * - * @param m The source object - * @param o The `exports` object. - */ -export declare function __exportStar(m: any, o: any): void; - -/** - * Creates a value iterator from an `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `Iterable`, nor an `ArrayLike`. - */ -export declare function __values(o: any): any; - -/** - * Reads values from an `Iterable` or `ArrayLike` object and returns the resulting array. - * - * @param o The object to read from. - * @param n The maximum number of arguments to read, defaults to `Infinity`. - */ -export declare function __read(o: any, n?: number): any[]; - -/** - * Creates an array from iterable spread. - * - * @param args The Iterable objects to spread. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spread(...args: any[][]): any[]; - -/** - * Creates an array from array spread. - * - * @param args The ArrayLikes to spread into the resulting array. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spreadArrays(...args: any[][]): any[]; - -/** - * Spreads the `from` array into the `to` array. - * - * @param pack Replace empty elements with `undefined`. - */ -export declare function __spreadArray(to: any[], from: any[], pack?: boolean): any[]; - -/** - * Creates an object that signals to `__asyncGenerator` that it shouldn't be yielded, - * and instead should be awaited and the resulting value passed back to the generator. - * - * @param v The value to await. - */ -export declare function __await(v: any): any; - -/** - * Converts a generator function into an async generator function, by using `yield __await` - * in place of normal `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param generator The generator function - */ -export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any; - -/** - * Used to wrap a potentially async iterator in such a way so that it wraps the result - * of calling iterator methods of `o` in `__await` instances, and then yields the awaited values. - * - * @param o The potentially async iterator. - * @returns A synchronous iterator yielding `__await` instances on every odd invocation - * and returning the awaited `IteratorResult` passed to `next` every even invocation. - */ -export declare function __asyncDelegator(o: any): any; - -/** - * Creates a value async iterator from an `AsyncIterable`, `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `AsyncIterable`, `Iterable`, nor an `ArrayLike`. - */ -export declare function __asyncValues(o: any): any; - -/** - * Creates a `TemplateStringsArray` frozen object from the `cooked` and `raw` arrays. - * - * @param cooked The cooked possibly-sparse array. - * @param raw The raw string content. - */ -export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray; - -/** - * Used to shim default and named imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default, { Named, Other } from "mod"; - * // or - * import { default as Default, Named, Other } from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importStar(mod: T): T; - -/** - * Used to shim default imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importDefault(mod: T): T | { default: T }; - -/** - * Emulates reading a private instance field. - * - * @param receiver The instance from which to read the private field. - * @param state A WeakMap containing the private field value for an instance. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean, get(o: T): V | undefined }, - kind?: "f" -): V; - -/** - * Emulates reading a private static field. - * - * @param receiver The object from which to read the private static field. - * @param state The class constructor containing the definition of the static field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates evaluating a private instance "get" accessor. - * - * @param receiver The instance on which to evaluate the private "get" accessor. - * @param state A WeakSet used to verify an instance supports the private "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean }, - kind: "a", - f: () => V -): V; - -/** - * Emulates evaluating a private static "get" accessor. - * - * @param receiver The object on which to evaluate the private static "get" accessor. - * @param state The class constructor containing the definition of the static "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "a", - f: () => V -): V; - -/** - * Emulates reading a private instance method. - * - * @param receiver The instance from which to read a private method. - * @param state A WeakSet used to verify an instance supports the private method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private instance method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet unknown>( - receiver: T, - state: { has(o: T): boolean }, - kind: "m", - f: V -): V; - -/** - * Emulates reading a private static method. - * - * @param receiver The object from which to read the private static method. - * @param state The class constructor containing the definition of the static method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private static method. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V extends (...args: any[]) => unknown>( - receiver: T, - state: T, - kind: "m", - f: V -): V; - -/** - * Emulates writing to a private instance field. - * - * @param receiver The instance on which to set a private field value. - * @param state A WeakMap used to store the private field value for an instance. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean, set(o: T, value: V): unknown }, - value: V, - kind?: "f" -): V; - -/** - * Emulates writing to a private static field. - * - * @param receiver The object on which to set the private static field. - * @param state The class constructor containing the definition of the private static field. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates writing to a private instance "set" accessor. - * - * @param receiver The instance on which to evaluate the private instance "set" accessor. - * @param state A WeakSet used to verify an instance supports the private "set" accessor. - * @param value The value to store in the private accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean }, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Emulates writing to a private static "set" accessor. - * - * @param receiver The object on which to evaluate the private static "set" accessor. - * @param state The class constructor containing the definition of the static "set" accessor. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Checks for the existence of a private field/method/accessor. - * - * @param state The class constructor containing the static member, or the WeakMap or WeakSet associated with a private instance member. - * @param receiver The object for which to test the presence of the private member. - */ -export declare function __classPrivateFieldIn( - state: (new (...args: any[]) => unknown) | { has(o: any): boolean }, - receiver: unknown, -): boolean; - -/** - * Creates a re-export binding on `object` with key `objectKey` that references `target[key]`. - * - * @param object The local `exports` object. - * @param target The object to re-export from. - * @param key The property key of `target` to re-export. - * @param objectKey The property key to re-export as. Defaults to `key`. - */ -export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void; - -/** - * Adds a disposable resource to a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @param value Either a Disposable or AsyncDisposable object, `null`, or `undefined`. - * @param async When `true`, `AsyncDisposable` resources can be added. When `false`, `AsyncDisposable` resources cannot be added. - * @returns The {@link value} argument. - * - * @throws {TypeError} If {@link value} is not an object, or if either `Symbol.dispose` or `Symbol.asyncDispose` are not - * defined, or if {@link value} does not have an appropriate `Symbol.dispose` or `Symbol.asyncDispose` method. - */ -export declare function __addDisposableResource(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }, value: T, async: boolean): T; - -/** - * Disposes all resources in a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @returns A {@link Promise} if any resources in the environment were marked as `async` when added; otherwise, `void`. - * - * @throws {SuppressedError} if an error thrown during disposal would have suppressed a prior error from disposal or the - * error recorded in the resource-tracking environment object. - * @seealso {@link __addDisposableResource} - */ -export declare function __disposeResources(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }): any; diff --git a/node_modules/lower-case/node_modules/tslib/tslib.es6.html b/node_modules/lower-case/node_modules/tslib/tslib.es6.html deleted file mode 100644 index b122e41b06..0000000000 --- a/node_modules/lower-case/node_modules/tslib/tslib.es6.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/lower-case/node_modules/tslib/tslib.es6.js b/node_modules/lower-case/node_modules/tslib/tslib.es6.js deleted file mode 100644 index fc18d15bf8..0000000000 --- a/node_modules/lower-case/node_modules/tslib/tslib.es6.js +++ /dev/null @@ -1,379 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends: __extends, - __assign: __assign, - __rest: __rest, - __decorate: __decorate, - __param: __param, - __metadata: __metadata, - __awaiter: __awaiter, - __generator: __generator, - __createBinding: __createBinding, - __exportStar: __exportStar, - __values: __values, - __read: __read, - __spread: __spread, - __spreadArrays: __spreadArrays, - __spreadArray: __spreadArray, - __await: __await, - __asyncGenerator: __asyncGenerator, - __asyncDelegator: __asyncDelegator, - __asyncValues: __asyncValues, - __makeTemplateObject: __makeTemplateObject, - __importStar: __importStar, - __importDefault: __importDefault, - __classPrivateFieldGet: __classPrivateFieldGet, - __classPrivateFieldSet: __classPrivateFieldSet, - __classPrivateFieldIn: __classPrivateFieldIn, - __addDisposableResource: __addDisposableResource, - __disposeResources: __disposeResources, -}; diff --git a/node_modules/lower-case/node_modules/tslib/tslib.es6.mjs b/node_modules/lower-case/node_modules/tslib/tslib.es6.mjs deleted file mode 100644 index 17bb2ff8f2..0000000000 --- a/node_modules/lower-case/node_modules/tslib/tslib.es6.mjs +++ /dev/null @@ -1,378 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends, - __assign, - __rest, - __decorate, - __param, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; diff --git a/node_modules/lower-case/node_modules/tslib/tslib.html b/node_modules/lower-case/node_modules/tslib/tslib.html deleted file mode 100644 index 44c9ba51e3..0000000000 --- a/node_modules/lower-case/node_modules/tslib/tslib.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/lower-case/node_modules/tslib/tslib.js b/node_modules/lower-case/node_modules/tslib/tslib.js deleted file mode 100644 index 429c11a66b..0000000000 --- a/node_modules/lower-case/node_modules/tslib/tslib.js +++ /dev/null @@ -1,429 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */ -var __extends; -var __assign; -var __rest; -var __decorate; -var __param; -var __esDecorate; -var __runInitializers; -var __propKey; -var __setFunctionName; -var __metadata; -var __awaiter; -var __generator; -var __exportStar; -var __values; -var __read; -var __spread; -var __spreadArrays; -var __spreadArray; -var __await; -var __asyncGenerator; -var __asyncDelegator; -var __asyncValues; -var __makeTemplateObject; -var __importStar; -var __importDefault; -var __classPrivateFieldGet; -var __classPrivateFieldSet; -var __classPrivateFieldIn; -var __createBinding; -var __addDisposableResource; -var __disposeResources; -(function (factory) { - var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; - if (typeof define === "function" && define.amd) { - define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); }); - } - else if (typeof module === "object" && typeof module.exports === "object") { - factory(createExporter(root, createExporter(module.exports))); - } - else { - factory(createExporter(root)); - } - function createExporter(exports, previous) { - if (exports !== root) { - if (typeof Object.create === "function") { - Object.defineProperty(exports, "__esModule", { value: true }); - } - else { - exports.__esModule = true; - } - } - return function (id, v) { return exports[id] = previous ? previous(id, v) : v; }; - } -}) -(function (exporter) { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - - __extends = function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - - __assign = Object.assign || function (t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - - __rest = function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; - }; - - __decorate = function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; - }; - - __param = function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } - }; - - __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; - }; - - __runInitializers = function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; - }; - - __propKey = function (x) { - return typeof x === "symbol" ? x : "".concat(x); - }; - - __setFunctionName = function (f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); - }; - - __metadata = function (metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); - }; - - __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()); - }); - }; - - __generator = function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } - }; - - __exportStar = function(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); - }; - - __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]; - }); - - __values = function (o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); - }; - - __read = function (o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; - }; - - /** @deprecated */ - __spread = function () { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; - }; - - /** @deprecated */ - __spreadArrays = function () { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; - }; - - __spreadArray = function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); - }; - - __await = function (v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); - }; - - __asyncGenerator = function (thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } - }; - - __asyncDelegator = function (o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } - }; - - __asyncValues = function (o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } - }; - - __makeTemplateObject = function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; - }; - - var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }; - - __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; - }; - - __importDefault = function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; - }; - - __classPrivateFieldGet = function (receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); - }; - - __classPrivateFieldSet = function (receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; - }; - - __classPrivateFieldIn = function (state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); - }; - - __addDisposableResource = function (env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - }; - - var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; - }; - - __disposeResources = function (env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); - }; - - exporter("__extends", __extends); - exporter("__assign", __assign); - exporter("__rest", __rest); - exporter("__decorate", __decorate); - exporter("__param", __param); - exporter("__esDecorate", __esDecorate); - exporter("__runInitializers", __runInitializers); - exporter("__propKey", __propKey); - exporter("__setFunctionName", __setFunctionName); - exporter("__metadata", __metadata); - exporter("__awaiter", __awaiter); - exporter("__generator", __generator); - exporter("__exportStar", __exportStar); - exporter("__createBinding", __createBinding); - exporter("__values", __values); - exporter("__read", __read); - exporter("__spread", __spread); - exporter("__spreadArrays", __spreadArrays); - exporter("__spreadArray", __spreadArray); - exporter("__await", __await); - exporter("__asyncGenerator", __asyncGenerator); - exporter("__asyncDelegator", __asyncDelegator); - exporter("__asyncValues", __asyncValues); - exporter("__makeTemplateObject", __makeTemplateObject); - exporter("__importStar", __importStar); - exporter("__importDefault", __importDefault); - exporter("__classPrivateFieldGet", __classPrivateFieldGet); - exporter("__classPrivateFieldSet", __classPrivateFieldSet); - exporter("__classPrivateFieldIn", __classPrivateFieldIn); - exporter("__addDisposableResource", __addDisposableResource); - exporter("__disposeResources", __disposeResources); -}); diff --git a/node_modules/lower-case/package.json b/node_modules/lower-case/package.json deleted file mode 100644 index 23e1c64498..0000000000 --- a/node_modules/lower-case/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "name": "lower-case", - "version": "2.0.2", - "description": "Transforms the string to lower case", - "main": "dist/index.js", - "typings": "dist/index.d.ts", - "module": "dist.es2015/index.js", - "sideEffects": false, - "jsnext:main": "dist.es2015/index.js", - "files": [ - "dist/", - "dist.es2015/", - "LICENSE" - ], - "scripts": { - "lint": "tslint \"src/**/*\" --project tsconfig.json", - "build": "rimraf dist/ dist.es2015/ && tsc && tsc -P tsconfig.es2015.json", - "specs": "jest --coverage", - "test": "npm run build && npm run lint && npm run specs", - "size": "size-limit", - "prepare": "npm run build" - }, - "repository": { - "type": "git", - "url": "git://github.com/blakeembrey/change-case.git" - }, - "keywords": [ - "lower", - "case", - "downcase", - "locale", - "convert", - "transform" - ], - "author": { - "name": "Blake Embrey", - "email": "hello@blakeembrey.com", - "url": "http://blakeembrey.me" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/blakeembrey/change-case/issues" - }, - "homepage": "https://github.com/blakeembrey/change-case/tree/master/packages/lower-case#readme", - "size-limit": [ - { - "path": "dist/index.js", - "limit": "250 B" - } - ], - "jest": { - "roots": [ - "/src/" - ], - "transform": { - "\\.tsx?$": "ts-jest" - }, - "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$", - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json", - "node" - ] - }, - "publishConfig": { - "access": "public" - }, - "devDependencies": { - "@size-limit/preset-small-lib": "^2.2.1", - "@types/jest": "^24.0.23", - "@types/node": "^12.12.14", - "jest": "^24.9.0", - "rimraf": "^3.0.0", - "ts-jest": "^24.2.0", - "tslint": "^5.20.1", - "tslint-config-prettier": "^1.18.0", - "tslint-config-standard": "^9.0.0", - "typescript": "^4.1.2" - }, - "dependencies": { - "tslib": "^2.0.3" - }, - "gitHead": "76a21a7f6f2a226521ef6abd345ff309cbd01fb0" -} diff --git a/node_modules/no-case/LICENSE b/node_modules/no-case/LICENSE deleted file mode 100644 index 983fbe8aec..0000000000 --- a/node_modules/no-case/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/no-case/README.md b/node_modules/no-case/README.md deleted file mode 100644 index 6ce3b81f9c..0000000000 --- a/node_modules/no-case/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# No Case - -[![NPM version][npm-image]][npm-url] -[![NPM downloads][downloads-image]][downloads-url] -[![Bundle size][bundlephobia-image]][bundlephobia-url] - -> Transform into a lower cased string with spaces between words. - -## Installation - -``` -npm install no-case --save -``` - -## Usage - -```js -import { noCase } from "no-case"; - -noCase("string"); //=> "string" -noCase("dot.case"); //=> "dot case" -noCase("PascalCase"); //=> "pascal case" -noCase("version 1.2.10"); //=> "version 1 2 10" -``` - -The function also accepts [`options`](https://github.com/blakeembrey/change-case#options). - -## License - -MIT - -[npm-image]: https://img.shields.io/npm/v/no-case.svg?style=flat -[npm-url]: https://npmjs.org/package/no-case -[downloads-image]: https://img.shields.io/npm/dm/no-case.svg?style=flat -[downloads-url]: https://npmjs.org/package/no-case -[bundlephobia-image]: https://img.shields.io/bundlephobia/minzip/no-case.svg -[bundlephobia-url]: https://bundlephobia.com/result?p=no-case diff --git a/node_modules/no-case/dist.es2015/index.d.ts b/node_modules/no-case/dist.es2015/index.d.ts deleted file mode 100644 index 4b24f804f9..0000000000 --- a/node_modules/no-case/dist.es2015/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export interface Options { - splitRegexp?: RegExp | RegExp[]; - stripRegexp?: RegExp | RegExp[]; - delimiter?: string; - transform?: (part: string, index: number, parts: string[]) => string; -} -/** - * Normalize the string into something other libraries can manipulate easier. - */ -export declare function noCase(input: string, options?: Options): string; diff --git a/node_modules/no-case/dist.es2015/index.js b/node_modules/no-case/dist.es2015/index.js deleted file mode 100644 index 8aa0ce1092..0000000000 --- a/node_modules/no-case/dist.es2015/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import { lowerCase } from "lower-case"; -// Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case"). -var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; -// Remove all non-word characters. -var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; -/** - * Normalize the string into something other libraries can manipulate easier. - */ -export function noCase(input, options) { - if (options === void 0) { options = {}; } - var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; - var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); - var start = 0; - var end = result.length; - // Trim the delimiter from around the output string. - while (result.charAt(start) === "\0") - start++; - while (result.charAt(end - 1) === "\0") - end--; - // Transform each token independently. - return result.slice(start, end).split("\0").map(transform).join(delimiter); -} -/** - * Replace `re` in the input string with the replacement value. - */ -function replace(input, re, value) { - if (re instanceof RegExp) - return input.replace(re, value); - return re.reduce(function (input, re) { return input.replace(re, value); }, input); -} -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/no-case/dist.es2015/index.js.map b/node_modules/no-case/dist.es2015/index.js.map deleted file mode 100644 index fe9541f56c..0000000000 --- a/node_modules/no-case/dist.es2015/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASvC,oFAAoF;AACpF,IAAM,oBAAoB,GAAG,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AAE5E,kCAAkC;AAClC,IAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,OAAqB;IAArB,wBAAA,EAAA,YAAqB;IAEvD,IAAA,KAIE,OAAO,YAJyB,EAAlC,WAAW,mBAAG,oBAAoB,KAAA,EAClC,KAGE,OAAO,YAHyB,EAAlC,WAAW,mBAAG,oBAAoB,KAAA,EAClC,KAEE,OAAO,UAFY,EAArB,SAAS,mBAAG,SAAS,KAAA,EACrB,KACE,OAAO,UADM,EAAf,SAAS,mBAAG,GAAG,KAAA,CACL;IAEZ,IAAI,MAAM,GAAG,OAAO,CAClB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EACrC,WAAW,EACX,IAAI,CACL,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAExB,oDAAoD;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,KAAK,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI;QAAE,GAAG,EAAE,CAAC;IAE9C,sCAAsC;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAa,EAAE,EAAqB,EAAE,KAAa;IAClE,IAAI,EAAE,YAAY,MAAM;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,EAAE,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAxB,CAAwB,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { lowerCase } from \"lower-case\";\n\nexport interface Options {\n splitRegexp?: RegExp | RegExp[];\n stripRegexp?: RegExp | RegExp[];\n delimiter?: string;\n transform?: (part: string, index: number, parts: string[]) => string;\n}\n\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nconst DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n\n// Remove all non-word characters.\nconst DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input: string, options: Options = {}) {\n const {\n splitRegexp = DEFAULT_SPLIT_REGEXP,\n stripRegexp = DEFAULT_STRIP_REGEXP,\n transform = lowerCase,\n delimiter = \" \",\n } = options;\n\n let result = replace(\n replace(input, splitRegexp, \"$1\\0$2\"),\n stripRegexp,\n \"\\0\"\n );\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input: string, re: RegExp | RegExp[], value: string) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce((input, re) => input.replace(re, value), input);\n}\n"]} \ No newline at end of file diff --git a/node_modules/no-case/dist.es2015/index.spec.d.ts b/node_modules/no-case/dist.es2015/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/no-case/dist.es2015/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/no-case/dist.es2015/index.spec.js b/node_modules/no-case/dist.es2015/index.spec.js deleted file mode 100644 index 5fd9b15cb8..0000000000 --- a/node_modules/no-case/dist.es2015/index.spec.js +++ /dev/null @@ -1,57 +0,0 @@ -import { noCase } from "."; -var TEST_CASES = [ - // Single words. - ["test", "test"], - ["TEST", "test"], - // Camel case. - ["testString", "test string"], - ["testString123", "test string123"], - ["testString_1_2_3", "test string 1 2 3"], - ["x_256", "x 256"], - ["anHTMLTag", "an html tag"], - ["ID123String", "id123 string"], - ["Id123String", "id123 string"], - ["foo bar123", "foo bar123"], - ["a1bStar", "a1b star"], - // Constant case. - ["CONSTANT_CASE ", "constant case"], - ["CONST123_FOO", "const123 foo"], - // Random cases. - ["FOO_bar", "foo bar"], - ["XMLHttpRequest", "xml http request"], - ["IQueryAArgs", "i query a args"], - // Non-alphanumeric separators. - ["dot.case", "dot case"], - ["path/case", "path case"], - ["snake_case", "snake case"], - ["snake_case123", "snake case123"], - ["snake_case_123", "snake case 123"], - // Punctuation. - ['"quotes"', "quotes"], - // Space between number parts. - ["version 0.45.0", "version 0 45 0"], - ["version 0..78..9", "version 0 78 9"], - ["version 4_99/4", "version 4 99 4"], - // Whitespace. - [" test ", "test"], - // Number string input. - ["something_2014_other", "something 2014 other"], - // https://github.com/blakeembrey/change-case/issues/21 - ["amazon s3 data", "amazon s3 data"], - ["foo_13_bar", "foo 13 bar"], - // Customization. - ["camel2019", "camel 2019", { splitRegexp: /([a-z])([A-Z0-9])/g }], - ["minifyURLs", "minify urls", { splitRegexp: /([a-z])([A-Z0-9])/g }], -]; -describe("no case", function () { - var _loop_1 = function (input, result, options) { - it(input + " -> " + result, function () { - expect(noCase(input, options)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1], options = _a[2]; - _loop_1(input, result, options); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/no-case/dist.es2015/index.spec.js.map b/node_modules/no-case/dist.es2015/index.spec.js.map deleted file mode 100644 index d032552472..0000000000 --- a/node_modules/no-case/dist.es2015/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,GAAG,CAAC;AAEpC,IAAM,UAAU,GAAiC;IAC/C,gBAAgB;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAEhB,cAAc;IACd,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,eAAe,EAAE,gBAAgB,CAAC;IACnC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACzC,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,WAAW,EAAE,aAAa,CAAC;IAC5B,CAAC,aAAa,EAAE,cAAc,CAAC;IAC/B,CAAC,aAAa,EAAE,cAAc,CAAC;IAC/B,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,SAAS,EAAE,UAAU,CAAC;IAEvB,iBAAiB;IACjB,CAAC,gBAAgB,EAAE,eAAe,CAAC;IACnC,CAAC,cAAc,EAAE,cAAc,CAAC;IAEhC,gBAAgB;IAChB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IACtC,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAEjC,+BAA+B;IAC/B,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,eAAe,EAAE,eAAe,CAAC;IAClC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEpC,eAAe;IACf,CAAC,UAAU,EAAE,QAAQ,CAAC;IAEtB,8BAA8B;IAC9B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IACtC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEpC,cAAc;IACd,CAAC,UAAU,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAEhD,uDAAuD;IACvD,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,YAAY,EAAE,YAAY,CAAC;IAE5B,iBAAiB;IACjB,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAClE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrE,CAAC;AAEF,QAAQ,CAAC,SAAS,EAAE;4BACN,KAAK,EAAE,MAAM,EAAE,OAAO;QAChC,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;;IAHL,KAAuC,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAAtC,IAAA,qBAAwB,EAAvB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,OAAO,QAAA;gBAAtB,KAAK,EAAE,MAAM,EAAE,OAAO;KAIjC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { noCase, Options } from \".\";\n\nconst TEST_CASES: [string, string, Options?][] = [\n // Single words.\n [\"test\", \"test\"],\n [\"TEST\", \"test\"],\n\n // Camel case.\n [\"testString\", \"test string\"],\n [\"testString123\", \"test string123\"],\n [\"testString_1_2_3\", \"test string 1 2 3\"],\n [\"x_256\", \"x 256\"],\n [\"anHTMLTag\", \"an html tag\"],\n [\"ID123String\", \"id123 string\"],\n [\"Id123String\", \"id123 string\"],\n [\"foo bar123\", \"foo bar123\"],\n [\"a1bStar\", \"a1b star\"],\n\n // Constant case.\n [\"CONSTANT_CASE \", \"constant case\"],\n [\"CONST123_FOO\", \"const123 foo\"],\n\n // Random cases.\n [\"FOO_bar\", \"foo bar\"],\n [\"XMLHttpRequest\", \"xml http request\"],\n [\"IQueryAArgs\", \"i query a args\"],\n\n // Non-alphanumeric separators.\n [\"dot.case\", \"dot case\"],\n [\"path/case\", \"path case\"],\n [\"snake_case\", \"snake case\"],\n [\"snake_case123\", \"snake case123\"],\n [\"snake_case_123\", \"snake case 123\"],\n\n // Punctuation.\n ['\"quotes\"', \"quotes\"],\n\n // Space between number parts.\n [\"version 0.45.0\", \"version 0 45 0\"],\n [\"version 0..78..9\", \"version 0 78 9\"],\n [\"version 4_99/4\", \"version 4 99 4\"],\n\n // Whitespace.\n [\" test \", \"test\"],\n\n // Number string input.\n [\"something_2014_other\", \"something 2014 other\"],\n\n // https://github.com/blakeembrey/change-case/issues/21\n [\"amazon s3 data\", \"amazon s3 data\"],\n [\"foo_13_bar\", \"foo 13 bar\"],\n\n // Customization.\n [\"camel2019\", \"camel 2019\", { splitRegexp: /([a-z])([A-Z0-9])/g }],\n [\"minifyURLs\", \"minify urls\", { splitRegexp: /([a-z])([A-Z0-9])/g }],\n];\n\ndescribe(\"no case\", () => {\n for (const [input, result, options] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(noCase(input, options)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/no-case/dist/index.d.ts b/node_modules/no-case/dist/index.d.ts deleted file mode 100644 index 4b24f804f9..0000000000 --- a/node_modules/no-case/dist/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export interface Options { - splitRegexp?: RegExp | RegExp[]; - stripRegexp?: RegExp | RegExp[]; - delimiter?: string; - transform?: (part: string, index: number, parts: string[]) => string; -} -/** - * Normalize the string into something other libraries can manipulate easier. - */ -export declare function noCase(input: string, options?: Options): string; diff --git a/node_modules/no-case/dist/index.js b/node_modules/no-case/dist/index.js deleted file mode 100644 index 0adeaf43bc..0000000000 --- a/node_modules/no-case/dist/index.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.noCase = void 0; -var lower_case_1 = require("lower-case"); -// Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case"). -var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; -// Remove all non-word characters. -var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; -/** - * Normalize the string into something other libraries can manipulate easier. - */ -function noCase(input, options) { - if (options === void 0) { options = {}; } - var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lower_case_1.lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; - var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); - var start = 0; - var end = result.length; - // Trim the delimiter from around the output string. - while (result.charAt(start) === "\0") - start++; - while (result.charAt(end - 1) === "\0") - end--; - // Transform each token independently. - return result.slice(start, end).split("\0").map(transform).join(delimiter); -} -exports.noCase = noCase; -/** - * Replace `re` in the input string with the replacement value. - */ -function replace(input, re, value) { - if (re instanceof RegExp) - return input.replace(re, value); - return re.reduce(function (input, re) { return input.replace(re, value); }, input); -} -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/no-case/dist/index.js.map b/node_modules/no-case/dist/index.js.map deleted file mode 100644 index 493a884ee5..0000000000 --- a/node_modules/no-case/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AASvC,oFAAoF;AACpF,IAAM,oBAAoB,GAAG,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AAE5E,kCAAkC;AAClC,IAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C;;GAEG;AACH,SAAgB,MAAM,CAAC,KAAa,EAAE,OAAqB;IAArB,wBAAA,EAAA,YAAqB;IAEvD,IAAA,KAIE,OAAO,YAJyB,EAAlC,WAAW,mBAAG,oBAAoB,KAAA,EAClC,KAGE,OAAO,YAHyB,EAAlC,WAAW,mBAAG,oBAAoB,KAAA,EAClC,KAEE,OAAO,UAFY,EAArB,SAAS,mBAAG,sBAAS,KAAA,EACrB,KACE,OAAO,UADM,EAAf,SAAS,mBAAG,GAAG,KAAA,CACL;IAEZ,IAAI,MAAM,GAAG,OAAO,CAClB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EACrC,WAAW,EACX,IAAI,CACL,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAExB,oDAAoD;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,KAAK,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI;QAAE,GAAG,EAAE,CAAC;IAE9C,sCAAsC;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7E,CAAC;AAtBD,wBAsBC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAa,EAAE,EAAqB,EAAE,KAAa;IAClE,IAAI,EAAE,YAAY,MAAM;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,EAAE,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAxB,CAAwB,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { lowerCase } from \"lower-case\";\n\nexport interface Options {\n splitRegexp?: RegExp | RegExp[];\n stripRegexp?: RegExp | RegExp[];\n delimiter?: string;\n transform?: (part: string, index: number, parts: string[]) => string;\n}\n\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nconst DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n\n// Remove all non-word characters.\nconst DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input: string, options: Options = {}) {\n const {\n splitRegexp = DEFAULT_SPLIT_REGEXP,\n stripRegexp = DEFAULT_STRIP_REGEXP,\n transform = lowerCase,\n delimiter = \" \",\n } = options;\n\n let result = replace(\n replace(input, splitRegexp, \"$1\\0$2\"),\n stripRegexp,\n \"\\0\"\n );\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input: string, re: RegExp | RegExp[], value: string) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce((input, re) => input.replace(re, value), input);\n}\n"]} \ No newline at end of file diff --git a/node_modules/no-case/dist/index.spec.d.ts b/node_modules/no-case/dist/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/no-case/dist/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/no-case/dist/index.spec.js b/node_modules/no-case/dist/index.spec.js deleted file mode 100644 index 199432c2c7..0000000000 --- a/node_modules/no-case/dist/index.spec.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var _1 = require("."); -var TEST_CASES = [ - // Single words. - ["test", "test"], - ["TEST", "test"], - // Camel case. - ["testString", "test string"], - ["testString123", "test string123"], - ["testString_1_2_3", "test string 1 2 3"], - ["x_256", "x 256"], - ["anHTMLTag", "an html tag"], - ["ID123String", "id123 string"], - ["Id123String", "id123 string"], - ["foo bar123", "foo bar123"], - ["a1bStar", "a1b star"], - // Constant case. - ["CONSTANT_CASE ", "constant case"], - ["CONST123_FOO", "const123 foo"], - // Random cases. - ["FOO_bar", "foo bar"], - ["XMLHttpRequest", "xml http request"], - ["IQueryAArgs", "i query a args"], - // Non-alphanumeric separators. - ["dot.case", "dot case"], - ["path/case", "path case"], - ["snake_case", "snake case"], - ["snake_case123", "snake case123"], - ["snake_case_123", "snake case 123"], - // Punctuation. - ['"quotes"', "quotes"], - // Space between number parts. - ["version 0.45.0", "version 0 45 0"], - ["version 0..78..9", "version 0 78 9"], - ["version 4_99/4", "version 4 99 4"], - // Whitespace. - [" test ", "test"], - // Number string input. - ["something_2014_other", "something 2014 other"], - // https://github.com/blakeembrey/change-case/issues/21 - ["amazon s3 data", "amazon s3 data"], - ["foo_13_bar", "foo 13 bar"], - // Customization. - ["camel2019", "camel 2019", { splitRegexp: /([a-z])([A-Z0-9])/g }], - ["minifyURLs", "minify urls", { splitRegexp: /([a-z])([A-Z0-9])/g }], -]; -describe("no case", function () { - var _loop_1 = function (input, result, options) { - it(input + " -> " + result, function () { - expect(_1.noCase(input, options)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1], options = _a[2]; - _loop_1(input, result, options); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/no-case/dist/index.spec.js.map b/node_modules/no-case/dist/index.spec.js.map deleted file mode 100644 index 1a0d957445..0000000000 --- a/node_modules/no-case/dist/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,sBAAoC;AAEpC,IAAM,UAAU,GAAiC;IAC/C,gBAAgB;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAEhB,cAAc;IACd,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,eAAe,EAAE,gBAAgB,CAAC;IACnC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACzC,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,WAAW,EAAE,aAAa,CAAC;IAC5B,CAAC,aAAa,EAAE,cAAc,CAAC;IAC/B,CAAC,aAAa,EAAE,cAAc,CAAC;IAC/B,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,SAAS,EAAE,UAAU,CAAC;IAEvB,iBAAiB;IACjB,CAAC,gBAAgB,EAAE,eAAe,CAAC;IACnC,CAAC,cAAc,EAAE,cAAc,CAAC;IAEhC,gBAAgB;IAChB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IACtC,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAEjC,+BAA+B;IAC/B,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,eAAe,EAAE,eAAe,CAAC;IAClC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEpC,eAAe;IACf,CAAC,UAAU,EAAE,QAAQ,CAAC;IAEtB,8BAA8B;IAC9B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IACtC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEpC,cAAc;IACd,CAAC,UAAU,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAEhD,uDAAuD;IACvD,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,YAAY,EAAE,YAAY,CAAC;IAE5B,iBAAiB;IACjB,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAClE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrE,CAAC;AAEF,QAAQ,CAAC,SAAS,EAAE;4BACN,KAAK,EAAE,MAAM,EAAE,OAAO;QAChC,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,SAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;;IAHL,KAAuC,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAAtC,IAAA,qBAAwB,EAAvB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,OAAO,QAAA;gBAAtB,KAAK,EAAE,MAAM,EAAE,OAAO;KAIjC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { noCase, Options } from \".\";\n\nconst TEST_CASES: [string, string, Options?][] = [\n // Single words.\n [\"test\", \"test\"],\n [\"TEST\", \"test\"],\n\n // Camel case.\n [\"testString\", \"test string\"],\n [\"testString123\", \"test string123\"],\n [\"testString_1_2_3\", \"test string 1 2 3\"],\n [\"x_256\", \"x 256\"],\n [\"anHTMLTag\", \"an html tag\"],\n [\"ID123String\", \"id123 string\"],\n [\"Id123String\", \"id123 string\"],\n [\"foo bar123\", \"foo bar123\"],\n [\"a1bStar\", \"a1b star\"],\n\n // Constant case.\n [\"CONSTANT_CASE \", \"constant case\"],\n [\"CONST123_FOO\", \"const123 foo\"],\n\n // Random cases.\n [\"FOO_bar\", \"foo bar\"],\n [\"XMLHttpRequest\", \"xml http request\"],\n [\"IQueryAArgs\", \"i query a args\"],\n\n // Non-alphanumeric separators.\n [\"dot.case\", \"dot case\"],\n [\"path/case\", \"path case\"],\n [\"snake_case\", \"snake case\"],\n [\"snake_case123\", \"snake case123\"],\n [\"snake_case_123\", \"snake case 123\"],\n\n // Punctuation.\n ['\"quotes\"', \"quotes\"],\n\n // Space between number parts.\n [\"version 0.45.0\", \"version 0 45 0\"],\n [\"version 0..78..9\", \"version 0 78 9\"],\n [\"version 4_99/4\", \"version 4 99 4\"],\n\n // Whitespace.\n [\" test \", \"test\"],\n\n // Number string input.\n [\"something_2014_other\", \"something 2014 other\"],\n\n // https://github.com/blakeembrey/change-case/issues/21\n [\"amazon s3 data\", \"amazon s3 data\"],\n [\"foo_13_bar\", \"foo 13 bar\"],\n\n // Customization.\n [\"camel2019\", \"camel 2019\", { splitRegexp: /([a-z])([A-Z0-9])/g }],\n [\"minifyURLs\", \"minify urls\", { splitRegexp: /([a-z])([A-Z0-9])/g }],\n];\n\ndescribe(\"no case\", () => {\n for (const [input, result, options] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(noCase(input, options)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/no-case/node_modules/tslib/CopyrightNotice.txt b/node_modules/no-case/node_modules/tslib/CopyrightNotice.txt deleted file mode 100644 index 0e42542369..0000000000 --- a/node_modules/no-case/node_modules/tslib/CopyrightNotice.txt +++ /dev/null @@ -1,15 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - diff --git a/node_modules/no-case/node_modules/tslib/LICENSE.txt b/node_modules/no-case/node_modules/tslib/LICENSE.txt deleted file mode 100644 index bfe6430cb0..0000000000 --- a/node_modules/no-case/node_modules/tslib/LICENSE.txt +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/node_modules/no-case/node_modules/tslib/README.md b/node_modules/no-case/node_modules/tslib/README.md deleted file mode 100644 index 290cc618fb..0000000000 --- a/node_modules/no-case/node_modules/tslib/README.md +++ /dev/null @@ -1,164 +0,0 @@ -# tslib - -This is a runtime library for [TypeScript](https://www.typescriptlang.org/) that contains all of the TypeScript helper functions. - -This library is primarily used by the `--importHelpers` flag in TypeScript. -When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file: - -```ts -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -exports.x = {}; -exports.y = __assign({}, exports.x); - -``` - -will instead be emitted as something like the following: - -```ts -var tslib_1 = require("tslib"); -exports.x = {}; -exports.y = tslib_1.__assign({}, exports.x); -``` - -Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead. -For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`. - -# Installing - -For the latest stable version, run: - -## npm - -```sh -# TypeScript 3.9.2 or later -npm install tslib - -# TypeScript 3.8.4 or earlier -npm install tslib@^1 - -# TypeScript 2.3.2 or earlier -npm install tslib@1.6.1 -``` - -## yarn - -```sh -# TypeScript 3.9.2 or later -yarn add tslib - -# TypeScript 3.8.4 or earlier -yarn add tslib@^1 - -# TypeScript 2.3.2 or earlier -yarn add tslib@1.6.1 -``` - -## bower - -```sh -# TypeScript 3.9.2 or later -bower install tslib - -# TypeScript 3.8.4 or earlier -bower install tslib@^1 - -# TypeScript 2.3.2 or earlier -bower install tslib@1.6.1 -``` - -## JSPM - -```sh -# TypeScript 3.9.2 or later -jspm install tslib - -# TypeScript 3.8.4 or earlier -jspm install tslib@^1 - -# TypeScript 2.3.2 or earlier -jspm install tslib@1.6.1 -``` - -# Usage - -Set the `importHelpers` compiler option on the command line: - -``` -tsc --importHelpers file.ts -``` - -or in your tsconfig.json: - -```json -{ - "compilerOptions": { - "importHelpers": true - } -} -``` - -#### For bower and JSPM users - -You will need to add a `paths` mapping for `tslib`, e.g. For Bower users: - -```json -{ - "compilerOptions": { - "module": "amd", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["bower_components/tslib/tslib.d.ts"] - } - } -} -``` - -For JSPM users: - -```json -{ - "compilerOptions": { - "module": "system", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["jspm_packages/npm/tslib@2.x.y/tslib.d.ts"] - } - } -} -``` - -## Deployment - -- Choose your new version number -- Set it in `package.json` and `bower.json` -- Create a tag: `git tag [version]` -- Push the tag: `git push --tags` -- Create a [release in GitHub](https://github.com/microsoft/tslib/releases) -- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflow - -Done. - -# Contribute - -There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript. - -* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in. -* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls). -* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript). -* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter. -* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md). - -# Documentation - -* [Quick tutorial](http://www.typescriptlang.org/Tutorial) -* [Programming handbook](http://www.typescriptlang.org/Handbook) -* [Homepage](http://www.typescriptlang.org/) diff --git a/node_modules/no-case/node_modules/tslib/SECURITY.md b/node_modules/no-case/node_modules/tslib/SECURITY.md deleted file mode 100644 index 869fdfe2b2..0000000000 --- a/node_modules/no-case/node_modules/tslib/SECURITY.md +++ /dev/null @@ -1,41 +0,0 @@ - - -## Security - -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). - -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues.** - -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). - -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). - -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) - * Full paths of source file(s) related to the manifestation of the issue - * The location of the affected source code (tag/branch/commit or direct URL) - * Any special configuration required to reproduce the issue - * Step-by-step instructions to reproduce the issue - * Proof-of-concept or exploit code (if possible) - * Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. - -## Preferred Languages - -We prefer all communications to be in English. - -## Policy - -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). - - diff --git a/node_modules/no-case/node_modules/tslib/modules/index.d.ts b/node_modules/no-case/node_modules/tslib/modules/index.d.ts deleted file mode 100644 index 0fedae881e..0000000000 --- a/node_modules/no-case/node_modules/tslib/modules/index.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Note: named reexports are used instead of `export *` because -// TypeScript itself doesn't resolve the `export *` when checking -// if a particular helper exists. -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __createBinding, - __addDisposableResource, - __disposeResources, -} from '../tslib.js'; -export * as default from '../tslib.js'; diff --git a/node_modules/no-case/node_modules/tslib/modules/index.js b/node_modules/no-case/node_modules/tslib/modules/index.js deleted file mode 100644 index af9f5ac4e2..0000000000 --- a/node_modules/no-case/node_modules/tslib/modules/index.js +++ /dev/null @@ -1,68 +0,0 @@ -import tslib from '../tslib.js'; -const { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -} = tslib; -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; -export default tslib; diff --git a/node_modules/no-case/node_modules/tslib/modules/package.json b/node_modules/no-case/node_modules/tslib/modules/package.json deleted file mode 100644 index aead43de36..0000000000 --- a/node_modules/no-case/node_modules/tslib/modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} \ No newline at end of file diff --git a/node_modules/no-case/node_modules/tslib/package.json b/node_modules/no-case/node_modules/tslib/package.json deleted file mode 100644 index 88f67e7f8b..0000000000 --- a/node_modules/no-case/node_modules/tslib/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "tslib", - "author": "Microsoft Corp.", - "homepage": "https://www.typescriptlang.org/", - "version": "2.7.0", - "license": "0BSD", - "description": "Runtime library for TypeScript helper functions", - "keywords": [ - "TypeScript", - "Microsoft", - "compiler", - "language", - "javascript", - "tslib", - "runtime" - ], - "bugs": { - "url": "https://github.com/Microsoft/TypeScript/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/Microsoft/tslib.git" - }, - "main": "tslib.js", - "module": "tslib.es6.js", - "jsnext:main": "tslib.es6.js", - "typings": "tslib.d.ts", - "sideEffects": false, - "exports": { - ".": { - "module": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - }, - "import": { - "node": "./modules/index.js", - "default": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - } - }, - "default": "./tslib.js" - }, - "./*": "./*", - "./": "./" - } -} diff --git a/node_modules/no-case/node_modules/tslib/tslib.d.ts b/node_modules/no-case/node_modules/tslib/tslib.d.ts deleted file mode 100644 index 45762215ad..0000000000 --- a/node_modules/no-case/node_modules/tslib/tslib.d.ts +++ /dev/null @@ -1,453 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -/** - * Used to shim class extends. - * - * @param d The derived class. - * @param b The base class. - */ -export declare function __extends(d: Function, b: Function): void; - -/** - * Copy the values of all of the enumerable own properties from one or more source objects to a - * target object. Returns the target object. - * - * @param t The target object to copy to. - * @param sources One or more source objects from which to copy properties - */ -export declare function __assign(t: any, ...sources: any[]): any; - -/** - * Performs a rest spread on an object. - * - * @param t The source value. - * @param propertyNames The property names excluded from the rest spread. - */ -export declare function __rest(t: any, propertyNames: (string | symbol)[]): any; - -/** - * Applies decorators to a target object - * - * @param decorators The set of decorators to apply. - * @param target The target object. - * @param key If specified, the own property to apply the decorators to. - * @param desc The property descriptor, defaults to fetching the descriptor from the target object. - * @experimental - */ -export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; - -/** - * Creates an observing function decorator from a parameter decorator. - * - * @param paramIndex The parameter index to apply the decorator to. - * @param decorator The parameter decorator to apply. Note that the return value is ignored. - * @experimental - */ -export declare function __param(paramIndex: number, decorator: Function): Function; - -/** - * Applies decorators to a class or class member, following the native ECMAScript decorator specification. - * @param ctor For non-field class members, the class constructor. Otherwise, `null`. - * @param descriptorIn The `PropertyDescriptor` to use when unable to look up the property from `ctor`. - * @param decorators The decorators to apply - * @param contextIn The `DecoratorContext` to clone for each decorator application. - * @param initializers An array of field initializer mutation functions into which new initializers are written. - * @param extraInitializers An array of extra initializer functions into which new initializers are written. - */ -export declare function __esDecorate(ctor: Function | null, descriptorIn: object | null, decorators: Function[], contextIn: object, initializers: Function[] | null, extraInitializers: Function[]): void; - -/** - * Runs field initializers or extra initializers generated by `__esDecorate`. - * @param thisArg The `this` argument to use. - * @param initializers The array of initializers to evaluate. - * @param value The initial value to pass to the initializers. - */ -export declare function __runInitializers(thisArg: unknown, initializers: Function[], value?: any): any; - -/** - * Converts a computed property name into a `string` or `symbol` value. - */ -export declare function __propKey(x: any): string | symbol; - -/** - * Assigns the name of a function derived from the left-hand side of an assignment. - * @param f The function to rename. - * @param name The new name for the function. - * @param prefix A prefix (such as `"get"` or `"set"`) to insert before the name. - */ -export declare function __setFunctionName(f: Function, name: string | symbol, prefix?: string): Function; - -/** - * Creates a decorator that sets metadata. - * - * @param metadataKey The metadata key - * @param metadataValue The metadata value - * @experimental - */ -export declare function __metadata(metadataKey: any, metadataValue: any): Function; - -/** - * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. - * @param generator The generator function - */ -export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; - -/** - * Creates an Iterator object using the body as the implementation. - * - * @param thisArg The reference to use as the `this` value in the function - * @param body The generator state-machine based implementation. - * - * @see [./docs/generator.md] - */ -export declare function __generator(thisArg: any, body: Function): any; - -/** - * Creates bindings for all enumerable properties of `m` on `exports` - * - * @param m The source object - * @param o The `exports` object. - */ -export declare function __exportStar(m: any, o: any): void; - -/** - * Creates a value iterator from an `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `Iterable`, nor an `ArrayLike`. - */ -export declare function __values(o: any): any; - -/** - * Reads values from an `Iterable` or `ArrayLike` object and returns the resulting array. - * - * @param o The object to read from. - * @param n The maximum number of arguments to read, defaults to `Infinity`. - */ -export declare function __read(o: any, n?: number): any[]; - -/** - * Creates an array from iterable spread. - * - * @param args The Iterable objects to spread. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spread(...args: any[][]): any[]; - -/** - * Creates an array from array spread. - * - * @param args The ArrayLikes to spread into the resulting array. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spreadArrays(...args: any[][]): any[]; - -/** - * Spreads the `from` array into the `to` array. - * - * @param pack Replace empty elements with `undefined`. - */ -export declare function __spreadArray(to: any[], from: any[], pack?: boolean): any[]; - -/** - * Creates an object that signals to `__asyncGenerator` that it shouldn't be yielded, - * and instead should be awaited and the resulting value passed back to the generator. - * - * @param v The value to await. - */ -export declare function __await(v: any): any; - -/** - * Converts a generator function into an async generator function, by using `yield __await` - * in place of normal `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param generator The generator function - */ -export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any; - -/** - * Used to wrap a potentially async iterator in such a way so that it wraps the result - * of calling iterator methods of `o` in `__await` instances, and then yields the awaited values. - * - * @param o The potentially async iterator. - * @returns A synchronous iterator yielding `__await` instances on every odd invocation - * and returning the awaited `IteratorResult` passed to `next` every even invocation. - */ -export declare function __asyncDelegator(o: any): any; - -/** - * Creates a value async iterator from an `AsyncIterable`, `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `AsyncIterable`, `Iterable`, nor an `ArrayLike`. - */ -export declare function __asyncValues(o: any): any; - -/** - * Creates a `TemplateStringsArray` frozen object from the `cooked` and `raw` arrays. - * - * @param cooked The cooked possibly-sparse array. - * @param raw The raw string content. - */ -export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray; - -/** - * Used to shim default and named imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default, { Named, Other } from "mod"; - * // or - * import { default as Default, Named, Other } from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importStar(mod: T): T; - -/** - * Used to shim default imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importDefault(mod: T): T | { default: T }; - -/** - * Emulates reading a private instance field. - * - * @param receiver The instance from which to read the private field. - * @param state A WeakMap containing the private field value for an instance. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean, get(o: T): V | undefined }, - kind?: "f" -): V; - -/** - * Emulates reading a private static field. - * - * @param receiver The object from which to read the private static field. - * @param state The class constructor containing the definition of the static field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates evaluating a private instance "get" accessor. - * - * @param receiver The instance on which to evaluate the private "get" accessor. - * @param state A WeakSet used to verify an instance supports the private "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean }, - kind: "a", - f: () => V -): V; - -/** - * Emulates evaluating a private static "get" accessor. - * - * @param receiver The object on which to evaluate the private static "get" accessor. - * @param state The class constructor containing the definition of the static "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "a", - f: () => V -): V; - -/** - * Emulates reading a private instance method. - * - * @param receiver The instance from which to read a private method. - * @param state A WeakSet used to verify an instance supports the private method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private instance method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet unknown>( - receiver: T, - state: { has(o: T): boolean }, - kind: "m", - f: V -): V; - -/** - * Emulates reading a private static method. - * - * @param receiver The object from which to read the private static method. - * @param state The class constructor containing the definition of the static method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private static method. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V extends (...args: any[]) => unknown>( - receiver: T, - state: T, - kind: "m", - f: V -): V; - -/** - * Emulates writing to a private instance field. - * - * @param receiver The instance on which to set a private field value. - * @param state A WeakMap used to store the private field value for an instance. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean, set(o: T, value: V): unknown }, - value: V, - kind?: "f" -): V; - -/** - * Emulates writing to a private static field. - * - * @param receiver The object on which to set the private static field. - * @param state The class constructor containing the definition of the private static field. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates writing to a private instance "set" accessor. - * - * @param receiver The instance on which to evaluate the private instance "set" accessor. - * @param state A WeakSet used to verify an instance supports the private "set" accessor. - * @param value The value to store in the private accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean }, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Emulates writing to a private static "set" accessor. - * - * @param receiver The object on which to evaluate the private static "set" accessor. - * @param state The class constructor containing the definition of the static "set" accessor. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Checks for the existence of a private field/method/accessor. - * - * @param state The class constructor containing the static member, or the WeakMap or WeakSet associated with a private instance member. - * @param receiver The object for which to test the presence of the private member. - */ -export declare function __classPrivateFieldIn( - state: (new (...args: any[]) => unknown) | { has(o: any): boolean }, - receiver: unknown, -): boolean; - -/** - * Creates a re-export binding on `object` with key `objectKey` that references `target[key]`. - * - * @param object The local `exports` object. - * @param target The object to re-export from. - * @param key The property key of `target` to re-export. - * @param objectKey The property key to re-export as. Defaults to `key`. - */ -export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void; - -/** - * Adds a disposable resource to a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @param value Either a Disposable or AsyncDisposable object, `null`, or `undefined`. - * @param async When `true`, `AsyncDisposable` resources can be added. When `false`, `AsyncDisposable` resources cannot be added. - * @returns The {@link value} argument. - * - * @throws {TypeError} If {@link value} is not an object, or if either `Symbol.dispose` or `Symbol.asyncDispose` are not - * defined, or if {@link value} does not have an appropriate `Symbol.dispose` or `Symbol.asyncDispose` method. - */ -export declare function __addDisposableResource(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }, value: T, async: boolean): T; - -/** - * Disposes all resources in a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @returns A {@link Promise} if any resources in the environment were marked as `async` when added; otherwise, `void`. - * - * @throws {SuppressedError} if an error thrown during disposal would have suppressed a prior error from disposal or the - * error recorded in the resource-tracking environment object. - * @seealso {@link __addDisposableResource} - */ -export declare function __disposeResources(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }): any; diff --git a/node_modules/no-case/node_modules/tslib/tslib.es6.html b/node_modules/no-case/node_modules/tslib/tslib.es6.html deleted file mode 100644 index b122e41b06..0000000000 --- a/node_modules/no-case/node_modules/tslib/tslib.es6.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/no-case/node_modules/tslib/tslib.es6.js b/node_modules/no-case/node_modules/tslib/tslib.es6.js deleted file mode 100644 index fc18d15bf8..0000000000 --- a/node_modules/no-case/node_modules/tslib/tslib.es6.js +++ /dev/null @@ -1,379 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends: __extends, - __assign: __assign, - __rest: __rest, - __decorate: __decorate, - __param: __param, - __metadata: __metadata, - __awaiter: __awaiter, - __generator: __generator, - __createBinding: __createBinding, - __exportStar: __exportStar, - __values: __values, - __read: __read, - __spread: __spread, - __spreadArrays: __spreadArrays, - __spreadArray: __spreadArray, - __await: __await, - __asyncGenerator: __asyncGenerator, - __asyncDelegator: __asyncDelegator, - __asyncValues: __asyncValues, - __makeTemplateObject: __makeTemplateObject, - __importStar: __importStar, - __importDefault: __importDefault, - __classPrivateFieldGet: __classPrivateFieldGet, - __classPrivateFieldSet: __classPrivateFieldSet, - __classPrivateFieldIn: __classPrivateFieldIn, - __addDisposableResource: __addDisposableResource, - __disposeResources: __disposeResources, -}; diff --git a/node_modules/no-case/node_modules/tslib/tslib.es6.mjs b/node_modules/no-case/node_modules/tslib/tslib.es6.mjs deleted file mode 100644 index 17bb2ff8f2..0000000000 --- a/node_modules/no-case/node_modules/tslib/tslib.es6.mjs +++ /dev/null @@ -1,378 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends, - __assign, - __rest, - __decorate, - __param, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; diff --git a/node_modules/no-case/node_modules/tslib/tslib.html b/node_modules/no-case/node_modules/tslib/tslib.html deleted file mode 100644 index 44c9ba51e3..0000000000 --- a/node_modules/no-case/node_modules/tslib/tslib.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/no-case/node_modules/tslib/tslib.js b/node_modules/no-case/node_modules/tslib/tslib.js deleted file mode 100644 index 429c11a66b..0000000000 --- a/node_modules/no-case/node_modules/tslib/tslib.js +++ /dev/null @@ -1,429 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */ -var __extends; -var __assign; -var __rest; -var __decorate; -var __param; -var __esDecorate; -var __runInitializers; -var __propKey; -var __setFunctionName; -var __metadata; -var __awaiter; -var __generator; -var __exportStar; -var __values; -var __read; -var __spread; -var __spreadArrays; -var __spreadArray; -var __await; -var __asyncGenerator; -var __asyncDelegator; -var __asyncValues; -var __makeTemplateObject; -var __importStar; -var __importDefault; -var __classPrivateFieldGet; -var __classPrivateFieldSet; -var __classPrivateFieldIn; -var __createBinding; -var __addDisposableResource; -var __disposeResources; -(function (factory) { - var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; - if (typeof define === "function" && define.amd) { - define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); }); - } - else if (typeof module === "object" && typeof module.exports === "object") { - factory(createExporter(root, createExporter(module.exports))); - } - else { - factory(createExporter(root)); - } - function createExporter(exports, previous) { - if (exports !== root) { - if (typeof Object.create === "function") { - Object.defineProperty(exports, "__esModule", { value: true }); - } - else { - exports.__esModule = true; - } - } - return function (id, v) { return exports[id] = previous ? previous(id, v) : v; }; - } -}) -(function (exporter) { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - - __extends = function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - - __assign = Object.assign || function (t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - - __rest = function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; - }; - - __decorate = function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; - }; - - __param = function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } - }; - - __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; - }; - - __runInitializers = function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; - }; - - __propKey = function (x) { - return typeof x === "symbol" ? x : "".concat(x); - }; - - __setFunctionName = function (f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); - }; - - __metadata = function (metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); - }; - - __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()); - }); - }; - - __generator = function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } - }; - - __exportStar = function(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); - }; - - __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]; - }); - - __values = function (o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); - }; - - __read = function (o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; - }; - - /** @deprecated */ - __spread = function () { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; - }; - - /** @deprecated */ - __spreadArrays = function () { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; - }; - - __spreadArray = function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); - }; - - __await = function (v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); - }; - - __asyncGenerator = function (thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } - }; - - __asyncDelegator = function (o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } - }; - - __asyncValues = function (o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } - }; - - __makeTemplateObject = function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; - }; - - var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }; - - __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; - }; - - __importDefault = function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; - }; - - __classPrivateFieldGet = function (receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); - }; - - __classPrivateFieldSet = function (receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; - }; - - __classPrivateFieldIn = function (state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); - }; - - __addDisposableResource = function (env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - }; - - var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; - }; - - __disposeResources = function (env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); - }; - - exporter("__extends", __extends); - exporter("__assign", __assign); - exporter("__rest", __rest); - exporter("__decorate", __decorate); - exporter("__param", __param); - exporter("__esDecorate", __esDecorate); - exporter("__runInitializers", __runInitializers); - exporter("__propKey", __propKey); - exporter("__setFunctionName", __setFunctionName); - exporter("__metadata", __metadata); - exporter("__awaiter", __awaiter); - exporter("__generator", __generator); - exporter("__exportStar", __exportStar); - exporter("__createBinding", __createBinding); - exporter("__values", __values); - exporter("__read", __read); - exporter("__spread", __spread); - exporter("__spreadArrays", __spreadArrays); - exporter("__spreadArray", __spreadArray); - exporter("__await", __await); - exporter("__asyncGenerator", __asyncGenerator); - exporter("__asyncDelegator", __asyncDelegator); - exporter("__asyncValues", __asyncValues); - exporter("__makeTemplateObject", __makeTemplateObject); - exporter("__importStar", __importStar); - exporter("__importDefault", __importDefault); - exporter("__classPrivateFieldGet", __classPrivateFieldGet); - exporter("__classPrivateFieldSet", __classPrivateFieldSet); - exporter("__classPrivateFieldIn", __classPrivateFieldIn); - exporter("__addDisposableResource", __addDisposableResource); - exporter("__disposeResources", __disposeResources); -}); diff --git a/node_modules/no-case/package.json b/node_modules/no-case/package.json deleted file mode 100644 index b2a4d67c82..0000000000 --- a/node_modules/no-case/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "name": "no-case", - "version": "3.0.4", - "description": "Transform into a lower cased string with spaces between words", - "main": "dist/index.js", - "typings": "dist/index.d.ts", - "module": "dist.es2015/index.js", - "sideEffects": false, - "jsnext:main": "dist.es2015/index.js", - "files": [ - "dist/", - "dist.es2015/", - "LICENSE" - ], - "scripts": { - "lint": "tslint \"src/**/*\" --project tsconfig.json", - "build": "rimraf dist/ dist.es2015/ && tsc && tsc -P tsconfig.es2015.json", - "specs": "jest --coverage", - "test": "npm run build && npm run lint && npm run specs", - "size": "size-limit", - "prepare": "npm run build" - }, - "repository": { - "type": "git", - "url": "git://github.com/blakeembrey/change-case.git" - }, - "keywords": [ - "no", - "case", - "space", - "lower", - "convert", - "transform" - ], - "author": { - "name": "Blake Embrey", - "email": "hello@blakeembrey.com", - "url": "http://blakeembrey.me" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/blakeembrey/change-case/issues" - }, - "homepage": "https://github.com/blakeembrey/change-case/tree/master/packages/no-case#readme", - "size-limit": [ - { - "path": "dist/index.js", - "limit": "550 B" - } - ], - "jest": { - "roots": [ - "/src/" - ], - "transform": { - "\\.tsx?$": "ts-jest" - }, - "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$", - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json", - "node" - ] - }, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - }, - "devDependencies": { - "@size-limit/preset-small-lib": "^2.2.1", - "@types/jest": "^24.0.23", - "@types/node": "^12.12.14", - "jest": "^24.9.0", - "rimraf": "^3.0.0", - "ts-jest": "^24.2.0", - "tslint": "^5.20.1", - "tslint-config-prettier": "^1.18.0", - "tslint-config-standard": "^9.0.0", - "typescript": "^4.1.2" - }, - "gitHead": "76a21a7f6f2a226521ef6abd345ff309cbd01fb0" -} diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/LICENSE b/node_modules/octokit/node_modules/@octokit/endpoint/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/README.md b/node_modules/octokit/node_modules/@octokit/endpoint/README.md deleted file mode 100644 index 164f60d1ee..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/README.md +++ /dev/null @@ -1,412 +0,0 @@ -# endpoint.js - -> Turns GitHub REST API endpoints into generic request options - -[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) -[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) - -`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. - - - - - -- [Usage](#usage) -- [API](#api) - - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) - - [`endpoint.defaults()`](#endpointdefaults) - - [`endpoint.DEFAULTS`](#endpointdefaults) - - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) - - [`endpoint.parse()`](#endpointparse) -- [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) -- [LICENSE](#license) - - - -## Usage - - - - - - -
-Browsers - -Load @octokit/endpoint directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/endpoint - -```js -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/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-bundle/index.js deleted file mode 100644 index 77f055c151..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-bundle/index.js +++ /dev/null @@ -1,346 +0,0 @@ -// 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 === "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/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/octokit/node_modules/@octokit/endpoint/dist-bundle/index.js.map deleted file mode 100644 index a4189c6090..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/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 === \"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,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,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/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/defaults.js deleted file mode 100644 index 5f65ced4d8..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/defaults.js +++ /dev/null @@ -1,17 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js deleted file mode 100644 index e67c9e5f05..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ /dev/null @@ -1,9 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index 7d60502d06..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults.js"; -import { DEFAULTS } from "./defaults.js"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/merge.js deleted file mode 100644 index cf1b37ef6c..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/merge.js +++ /dev/null @@ -1,27 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/parse.js deleted file mode 100644 index f3df8176a0..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/parse.js +++ /dev/null @@ -1,70 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js deleted file mode 100644 index 6bdf7367c0..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ /dev/null @@ -1,16 +0,0 @@ -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} -export { - addQueryParameters -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js deleted file mode 100644 index bd909773f8..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ /dev/null @@ -1,14 +0,0 @@ -const urlVariableRegex = /\{[^{}}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); -} -export { - extractUrlVariableNames -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js deleted file mode 100644 index 9bd7bb9910..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} -export { - lowercaseKeys -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js deleted file mode 100644 index bbfef8703c..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ /dev/null @@ -1,16 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/omit.js deleted file mode 100644 index aceffe25ef..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ /dev/null @@ -1,12 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js deleted file mode 100644 index 8653027c8d..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ /dev/null @@ -1,11 +0,0 @@ -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} -export { - removeUndefinedProperties -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/url-template.js deleted file mode 100644 index f70aa5c733..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ /dev/null @@ -1,133 +0,0 @@ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== void 0 && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - 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/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index ee99f79ca0..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.1.3"; -export { - VERSION -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/with-defaults.js deleted file mode 100644 index 5551d42b39..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -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/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/defaults.d.ts deleted file mode 100644 index d65e889bc1..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults } from "@octokit/types"; -export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts deleted file mode 100644 index ec25627cd2..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults.js"; -export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/index.d.ts deleted file mode 100644 index 1ede136671..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/merge.d.ts deleted file mode 100644 index f583981205..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; -export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/parse.d.ts deleted file mode 100644 index 5d0927ae8c..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestOptions } from "@octokit/types"; -export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts deleted file mode 100644 index 4b192ac41d..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function addQueryParameters(url: string, parameters: { - [x: string]: string | undefined; - q?: string; -}): string; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts deleted file mode 100644 index 93586d4db5..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts deleted file mode 100644 index 1daf307362..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function lowercaseKeys(object?: { - [key: string]: any; -}): { - [key: string]: any; -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts deleted file mode 100644 index 914411cf92..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts deleted file mode 100644 index 06927d6bdf..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function omit(object: { - [key: string]: any; -}, keysToOmit: string[]): { - [key: string]: any; -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts deleted file mode 100644 index 92d8d85053..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts deleted file mode 100644 index 5d967cab3c..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function parseUrl(template: string): { - expand: (context: object) => string; -}; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 169c4ac784..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.1.3"; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts deleted file mode 100644 index e09354c56f..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; -export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/octokit/node_modules/@octokit/endpoint/package.json b/node_modules/octokit/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index d19a5a7567..0000000000 --- a/node_modules/octokit/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "10.1.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": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "semantic-release": "^24.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - }, - "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/node_modules/@octokit/request-error/LICENSE b/node_modules/octokit/node_modules/@octokit/request-error/LICENSE deleted file mode 100644 index ef2c18ee5b..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request-error/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/octokit/node_modules/@octokit/request-error/README.md b/node_modules/octokit/node_modules/@octokit/request-error/README.md deleted file mode 100644 index df15c6d35a..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 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/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/octokit/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 3e97aa3514..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -class RequestError extends Error { - name; - /** - * http status code - */ - status; - /** - * Request options that lead to the error. - */ - request; - /** - * Response object if a response was received - */ - response; - constructor(message, statusCode, options) { - super(message); - this.name = "HttpError"; - this.status = Number.parseInt(statusCode); - if (Number.isNaN(this.status)) { - this.status = 0; - } - if ("response" in options) { - this.response = options.response; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? | undefined; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/octokit/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/octokit/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 8b5aa3f217..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { RequestOptions, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - response?: OctokitResponse | undefined; - request: RequestOptions; -}; diff --git a/node_modules/octokit/node_modules/@octokit/request-error/package.json b/node_modules/octokit/node_modules/@octokit/request-error/package.json deleted file mode 100644 index 385a367c15..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "6.1.7", - "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": "^13.6.2" - }, - "devDependencies": { - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "glob": "^11.0.0", - "prettier": "3.4.2", - "tinybench": "^3.0.0", - "typescript": "^5.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/node_modules/@octokit/request/LICENSE b/node_modules/octokit/node_modules/@octokit/request/LICENSE deleted file mode 100644 index af5366d0d0..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/octokit/node_modules/@octokit/request/README.md b/node_modules/octokit/node_modules/@octokit/request/README.md deleted file mode 100644 index be3e1cccef..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/README.md +++ /dev/null @@ -1,579 +0,0 @@ -# request.js - -> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node - -[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) -[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) - -`@octokit/request` is a request library for browsers & node that makes it easier -to interact with [GitHub’s REST API](https://developer.github.com/v3/) and -[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). - -It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse -the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. - - - - - -- [request.js](#requestjs) - - [Features](#features) - - [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) - - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) - - [Authentication](#authentication) - - [request()](#request) - - [`request.defaults()`](#requestdefaults) - - [`request.endpoint`](#requestendpoint) - - [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) - - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) - - [LICENSE](#license) - - - -## Features - -🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes - -```js -request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - mediaType: { - previews: ["symmetra"], - }, - owner: "octokit", - repo: "request.js", - number: 1, - labels: ["🐛 bug"], -}); -``` - -👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) - -😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). - -👍 Sensible defaults - -- `baseUrl`: `https://api.github.com` -- `headers.accept`: `application/vnd.github.v3+json` -- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` - -👌 Simple to test: mock requests by passing a custom fetch method. - -🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). - -## Usage - - - - - - -
-Browsers - -Load @octokit/request directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/request - -```js -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, 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", - }, - options: { - request: { - fetch: myFetch, - }, - }, -}); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js deleted file mode 100644 index af8271c2af..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// 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 = "0.0.0-development"; - -// pkg/dist-src/defaults.js -var defaults_default = { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}; - -// pkg/dist-src/fetch-wrapper.js -import { safeParse } from "fast-content-type-parse"; - -// 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"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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 -}; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js.map deleted file mode 100644 index 9949af2b46..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-bundle/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/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 = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { safeParse } from \"fast-content-type-parse\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\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) ? JSON.stringify(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 if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\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,iBAAiB;;;ACA1B,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;;;ADLA,SAAS,oBAAoB;AAC7B,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,KAAK,UAAU,eAAe,IAAI,IAAI,eAAe;AAC7I,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;AACd,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;AAClD,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,MAAM,EAAE;AAAA,EACvC;AACA,QAAM,WAAW,UAAU,WAAW;AACtC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,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,MAAM,EAAE;AAAA,EACvC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC;AAAA,EAC9D;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;;;AEvIA,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/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/octokit/node_modules/@octokit/request/dist-src/defaults.js deleted file mode 100644 index 33b14b0ab8..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-src/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -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/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/octokit/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index ca64d8e2b5..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,140 +0,0 @@ -import { safeParse } from "fast-content-type-parse"; -import { isPlainObject } from "./is-plain-object.js"; -import { RequestError } from "@octokit/request-error"; -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) ? JSON.stringify(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(() => ""); - } - const mimetype = safeParse(contentType); - if (isJSONResponse(mimetype)) { - let text = ""; - try { - text = await response.text(); - return JSON.parse(text); - } catch (err) { - return text; - } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { - return response.text().catch(() => ""); - } else { - return response.arrayBuffer().catch(() => new ArrayBuffer(0)); - } -} -function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; -} -function toErrorMessage(data) { - if (typeof data === "string") { - return data; - } - if (data instanceof ArrayBuffer) { - return "Unknown error"; - } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-src/index.js b/node_modules/octokit/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 42dfe6cff5..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/octokit/node_modules/@octokit/request/dist-src/is-plain-object.js deleted file mode 100644 index 6ae73a6c3d..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-src/is-plain-object.js +++ /dev/null @@ -1,11 +0,0 @@ -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/node_modules/@octokit/request/dist-src/version.js b/node_modules/octokit/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index 9acd8329a3..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.2.2"; -export { - VERSION -}; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/octokit/node_modules/@octokit/request/dist-src/with-defaults.js deleted file mode 100644 index b2dd7ad6b9..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-src/with-defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -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/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/octokit/node_modules/@octokit/request/dist-types/defaults.d.ts deleted file mode 100644 index ddf2ca0dea..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-types/defaults.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare const _default: { - headers: { - "user-agent": string; - }; -}; -export default _default; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/octokit/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index 880643c29a..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, OctokitResponse } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/octokit/node_modules/@octokit/request/dist-types/index.d.ts deleted file mode 100644 index 1030809f9e..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/octokit/node_modules/@octokit/request/dist-types/is-plain-object.d.ts deleted file mode 100644 index 004fa4bf52..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-types/is-plain-object.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/octokit/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index b27d7d03fc..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.2.2"; diff --git a/node_modules/octokit/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/octokit/node_modules/@octokit/request/dist-types/with-defaults.d.ts deleted file mode 100644 index 4300682f02..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; -export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/octokit/node_modules/@octokit/request/package.json b/node_modules/octokit/node_modules/@octokit/request/package.json deleted file mode 100644 index e7b87a33ef..0000000000 --- a/node_modules/octokit/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@octokit/request", - "version": "9.2.2", - "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": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "devDependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/tsconfig": "^4.0.0", - "@types/node": "^22.0.0", - "@vitest/coverage-v8": "^3.0.0", - "esbuild": "^0.25.0", - "fetch-mock": "^12.0.0", - "glob": "^11.0.0", - "prettier": "3.5.1", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "typescript": "^5.0.0", - "undici": "^6.19.2", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "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/pascal-case/LICENSE b/node_modules/pascal-case/LICENSE deleted file mode 100644 index 983fbe8aec..0000000000 --- a/node_modules/pascal-case/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/pascal-case/README.md b/node_modules/pascal-case/README.md deleted file mode 100644 index 7dcd26c081..0000000000 --- a/node_modules/pascal-case/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# Pascal Case - -[![NPM version][npm-image]][npm-url] -[![NPM downloads][downloads-image]][downloads-url] -[![Bundle size][bundlephobia-image]][bundlephobia-url] - -> Transform into a string of capitalized words without separators. - -## Installation - -``` -npm install pascal-case --save -``` - -## Usage - -```js -import { pascalCase } from "pascal-case"; - -pascalCase("string"); //=> "String" -pascalCase("dot.case"); //=> "DotCase" -pascalCase("PascalCase"); //=> "PascalCase" -pascalCase("version 1.2.10"); //=> "Version_1_2_10" -``` - -The function also accepts [`options`](https://github.com/blakeembrey/change-case#options). - -### Merge Numbers - -If you'd like to remove the behavior prefixing `_` before numbers, you can use `pascalCaseTransformMerge`: - -```js -import { pascalCaseTransformMerge } from "pascal-case"; - -pascalCase("version 12", { transform: pascalCaseTransformMerge }); //=> "Version12" -``` - -## License - -MIT - -[npm-image]: https://img.shields.io/npm/v/pascal-case.svg?style=flat -[npm-url]: https://npmjs.org/package/pascal-case -[downloads-image]: https://img.shields.io/npm/dm/pascal-case.svg?style=flat -[downloads-url]: https://npmjs.org/package/pascal-case -[bundlephobia-image]: https://img.shields.io/bundlephobia/minzip/pascal-case.svg -[bundlephobia-url]: https://bundlephobia.com/result?p=pascal-case diff --git a/node_modules/pascal-case/dist.es2015/index.d.ts b/node_modules/pascal-case/dist.es2015/index.d.ts deleted file mode 100644 index 4b44a415f1..0000000000 --- a/node_modules/pascal-case/dist.es2015/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Options } from "no-case"; -export { Options }; -export declare function pascalCaseTransform(input: string, index: number): string; -export declare function pascalCaseTransformMerge(input: string): string; -export declare function pascalCase(input: string, options?: Options): string; diff --git a/node_modules/pascal-case/dist.es2015/index.js b/node_modules/pascal-case/dist.es2015/index.js deleted file mode 100644 index 425fe34798..0000000000 --- a/node_modules/pascal-case/dist.es2015/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import { __assign } from "tslib"; -import { noCase } from "no-case"; -export function pascalCaseTransform(input, index) { - var firstChar = input.charAt(0); - var lowerChars = input.substr(1).toLowerCase(); - if (index > 0 && firstChar >= "0" && firstChar <= "9") { - return "_" + firstChar + lowerChars; - } - return "" + firstChar.toUpperCase() + lowerChars; -} -export function pascalCaseTransformMerge(input) { - return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase(); -} -export function pascalCase(input, options) { - if (options === void 0) { options = {}; } - return noCase(input, __assign({ delimiter: "", transform: pascalCaseTransform }, options)); -} -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/pascal-case/dist.es2015/index.js.map b/node_modules/pascal-case/dist.es2015/index.js.map deleted file mode 100644 index dc22b6b410..0000000000 --- a/node_modules/pascal-case/dist.es2015/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,SAAS,CAAC;AAI1C,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,KAAa;IAC9D,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE;QACrD,OAAO,MAAI,SAAS,GAAG,UAAY,CAAC;KACrC;IACD,OAAO,KAAG,SAAS,CAAC,WAAW,EAAE,GAAG,UAAY,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,OAAqB;IAArB,wBAAA,EAAA,YAAqB;IAC7D,OAAO,MAAM,CAAC,KAAK,aACjB,SAAS,EAAE,EAAE,EACb,SAAS,EAAE,mBAAmB,IAC3B,OAAO,EACV,CAAC;AACL,CAAC","sourcesContent":["import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function pascalCaseTransform(input: string, index: number) {\n const firstChar = input.charAt(0);\n const lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return `_${firstChar}${lowerChars}`;\n }\n return `${firstChar.toUpperCase()}${lowerChars}`;\n}\n\nexport function pascalCaseTransformMerge(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\n\nexport function pascalCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \"\",\n transform: pascalCaseTransform,\n ...options,\n });\n}\n"]} \ No newline at end of file diff --git a/node_modules/pascal-case/dist.es2015/index.spec.d.ts b/node_modules/pascal-case/dist.es2015/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/pascal-case/dist.es2015/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/pascal-case/dist.es2015/index.spec.js b/node_modules/pascal-case/dist.es2015/index.spec.js deleted file mode 100644 index 2c6bcf8966..0000000000 --- a/node_modules/pascal-case/dist.es2015/index.spec.js +++ /dev/null @@ -1,23 +0,0 @@ -import { pascalCase, pascalCaseTransformMerge } from "."; -var TEST_CASES = [ - ["", ""], - ["test", "Test"], - ["test string", "TestString"], - ["Test String", "TestString"], - ["TestV2", "TestV2"], - ["version 1.2.10", "Version_1_2_10"], - ["version 1.21.0", "Version_1_21_0"], - ["version 1.21.0", "Version1210", { transform: pascalCaseTransformMerge }], -]; -describe("pascal case", function () { - var _loop_1 = function (input, result, options) { - it(input + " -> " + result, function () { - expect(pascalCase(input, options)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1], options = _a[2]; - _loop_1(input, result, options); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/pascal-case/dist.es2015/index.spec.js.map b/node_modules/pascal-case/dist.es2015/index.spec.js.map deleted file mode 100644 index 8385cb1f23..0000000000 --- a/node_modules/pascal-case/dist.es2015/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAW,MAAM,GAAG,CAAC;AAElE,IAAM,UAAU,GAAiC;IAC/C,CAAC,EAAE,EAAE,EAAE,CAAC;IACR,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC;CAC3E,CAAC;AAEF,QAAQ,CAAC,aAAa,EAAE;4BACV,KAAK,EAAE,MAAM,EAAE,OAAO;QAChC,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;;IAHL,KAAuC,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAAtC,IAAA,qBAAwB,EAAvB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,OAAO,QAAA;gBAAtB,KAAK,EAAE,MAAM,EAAE,OAAO;KAIjC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { pascalCase, pascalCaseTransformMerge, Options } from \".\";\n\nconst TEST_CASES: [string, string, Options?][] = [\n [\"\", \"\"],\n [\"test\", \"Test\"],\n [\"test string\", \"TestString\"],\n [\"Test String\", \"TestString\"],\n [\"TestV2\", \"TestV2\"],\n [\"version 1.2.10\", \"Version_1_2_10\"],\n [\"version 1.21.0\", \"Version_1_21_0\"],\n [\"version 1.21.0\", \"Version1210\", { transform: pascalCaseTransformMerge }],\n];\n\ndescribe(\"pascal case\", () => {\n for (const [input, result, options] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(pascalCase(input, options)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/pascal-case/dist/index.d.ts b/node_modules/pascal-case/dist/index.d.ts deleted file mode 100644 index 4b44a415f1..0000000000 --- a/node_modules/pascal-case/dist/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Options } from "no-case"; -export { Options }; -export declare function pascalCaseTransform(input: string, index: number): string; -export declare function pascalCaseTransformMerge(input: string): string; -export declare function pascalCase(input: string, options?: Options): string; diff --git a/node_modules/pascal-case/dist/index.js b/node_modules/pascal-case/dist/index.js deleted file mode 100644 index 521e45cd3c..0000000000 --- a/node_modules/pascal-case/dist/index.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.pascalCase = exports.pascalCaseTransformMerge = exports.pascalCaseTransform = void 0; -var tslib_1 = require("tslib"); -var no_case_1 = require("no-case"); -function pascalCaseTransform(input, index) { - var firstChar = input.charAt(0); - var lowerChars = input.substr(1).toLowerCase(); - if (index > 0 && firstChar >= "0" && firstChar <= "9") { - return "_" + firstChar + lowerChars; - } - return "" + firstChar.toUpperCase() + lowerChars; -} -exports.pascalCaseTransform = pascalCaseTransform; -function pascalCaseTransformMerge(input) { - return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase(); -} -exports.pascalCaseTransformMerge = pascalCaseTransformMerge; -function pascalCase(input, options) { - if (options === void 0) { options = {}; } - return no_case_1.noCase(input, tslib_1.__assign({ delimiter: "", transform: pascalCaseTransform }, options)); -} -exports.pascalCase = pascalCase; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/pascal-case/dist/index.js.map b/node_modules/pascal-case/dist/index.js.map deleted file mode 100644 index 52e8d04870..0000000000 --- a/node_modules/pascal-case/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mCAA0C;AAI1C,SAAgB,mBAAmB,CAAC,KAAa,EAAE,KAAa;IAC9D,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE;QACrD,OAAO,MAAI,SAAS,GAAG,UAAY,CAAC;KACrC;IACD,OAAO,KAAG,SAAS,CAAC,WAAW,EAAE,GAAG,UAAY,CAAC;AACnD,CAAC;AAPD,kDAOC;AAED,SAAgB,wBAAwB,CAAC,KAAa;IACpD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACtE,CAAC;AAFD,4DAEC;AAED,SAAgB,UAAU,CAAC,KAAa,EAAE,OAAqB;IAArB,wBAAA,EAAA,YAAqB;IAC7D,OAAO,gBAAM,CAAC,KAAK,qBACjB,SAAS,EAAE,EAAE,EACb,SAAS,EAAE,mBAAmB,IAC3B,OAAO,EACV,CAAC;AACL,CAAC;AAND,gCAMC","sourcesContent":["import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function pascalCaseTransform(input: string, index: number) {\n const firstChar = input.charAt(0);\n const lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return `_${firstChar}${lowerChars}`;\n }\n return `${firstChar.toUpperCase()}${lowerChars}`;\n}\n\nexport function pascalCaseTransformMerge(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\n\nexport function pascalCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \"\",\n transform: pascalCaseTransform,\n ...options,\n });\n}\n"]} \ No newline at end of file diff --git a/node_modules/pascal-case/dist/index.spec.d.ts b/node_modules/pascal-case/dist/index.spec.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/pascal-case/dist/index.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/pascal-case/dist/index.spec.js b/node_modules/pascal-case/dist/index.spec.js deleted file mode 100644 index 0deda2e316..0000000000 --- a/node_modules/pascal-case/dist/index.spec.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var _1 = require("."); -var TEST_CASES = [ - ["", ""], - ["test", "Test"], - ["test string", "TestString"], - ["Test String", "TestString"], - ["TestV2", "TestV2"], - ["version 1.2.10", "Version_1_2_10"], - ["version 1.21.0", "Version_1_21_0"], - ["version 1.21.0", "Version1210", { transform: _1.pascalCaseTransformMerge }], -]; -describe("pascal case", function () { - var _loop_1 = function (input, result, options) { - it(input + " -> " + result, function () { - expect(_1.pascalCase(input, options)).toEqual(result); - }); - }; - for (var _i = 0, TEST_CASES_1 = TEST_CASES; _i < TEST_CASES_1.length; _i++) { - var _a = TEST_CASES_1[_i], input = _a[0], result = _a[1], options = _a[2]; - _loop_1(input, result, options); - } -}); -//# sourceMappingURL=index.spec.js.map \ No newline at end of file diff --git a/node_modules/pascal-case/dist/index.spec.js.map b/node_modules/pascal-case/dist/index.spec.js.map deleted file mode 100644 index 2f6f5c9d7e..0000000000 --- a/node_modules/pascal-case/dist/index.spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,sBAAkE;AAElE,IAAM,UAAU,GAAiC;IAC/C,CAAC,EAAE,EAAE,EAAE,CAAC;IACR,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,gBAAgB,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,2BAAwB,EAAE,CAAC;CAC3E,CAAC;AAEF,QAAQ,CAAC,aAAa,EAAE;4BACV,KAAK,EAAE,MAAM,EAAE,OAAO;QAChC,EAAE,CAAI,KAAK,YAAO,MAAQ,EAAE;YAC1B,MAAM,CAAC,aAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;;IAHL,KAAuC,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;QAAtC,IAAA,qBAAwB,EAAvB,KAAK,QAAA,EAAE,MAAM,QAAA,EAAE,OAAO,QAAA;gBAAtB,KAAK,EAAE,MAAM,EAAE,OAAO;KAIjC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { pascalCase, pascalCaseTransformMerge, Options } from \".\";\n\nconst TEST_CASES: [string, string, Options?][] = [\n [\"\", \"\"],\n [\"test\", \"Test\"],\n [\"test string\", \"TestString\"],\n [\"Test String\", \"TestString\"],\n [\"TestV2\", \"TestV2\"],\n [\"version 1.2.10\", \"Version_1_2_10\"],\n [\"version 1.21.0\", \"Version_1_21_0\"],\n [\"version 1.21.0\", \"Version1210\", { transform: pascalCaseTransformMerge }],\n];\n\ndescribe(\"pascal case\", () => {\n for (const [input, result, options] of TEST_CASES) {\n it(`${input} -> ${result}`, () => {\n expect(pascalCase(input, options)).toEqual(result);\n });\n }\n});\n"]} \ No newline at end of file diff --git a/node_modules/pascal-case/node_modules/tslib/CopyrightNotice.txt b/node_modules/pascal-case/node_modules/tslib/CopyrightNotice.txt deleted file mode 100644 index 0e42542369..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/CopyrightNotice.txt +++ /dev/null @@ -1,15 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - diff --git a/node_modules/pascal-case/node_modules/tslib/LICENSE.txt b/node_modules/pascal-case/node_modules/tslib/LICENSE.txt deleted file mode 100644 index bfe6430cb0..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/LICENSE.txt +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/node_modules/pascal-case/node_modules/tslib/README.md b/node_modules/pascal-case/node_modules/tslib/README.md deleted file mode 100644 index 290cc618fb..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/README.md +++ /dev/null @@ -1,164 +0,0 @@ -# tslib - -This is a runtime library for [TypeScript](https://www.typescriptlang.org/) that contains all of the TypeScript helper functions. - -This library is primarily used by the `--importHelpers` flag in TypeScript. -When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file: - -```ts -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -exports.x = {}; -exports.y = __assign({}, exports.x); - -``` - -will instead be emitted as something like the following: - -```ts -var tslib_1 = require("tslib"); -exports.x = {}; -exports.y = tslib_1.__assign({}, exports.x); -``` - -Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead. -For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`. - -# Installing - -For the latest stable version, run: - -## npm - -```sh -# TypeScript 3.9.2 or later -npm install tslib - -# TypeScript 3.8.4 or earlier -npm install tslib@^1 - -# TypeScript 2.3.2 or earlier -npm install tslib@1.6.1 -``` - -## yarn - -```sh -# TypeScript 3.9.2 or later -yarn add tslib - -# TypeScript 3.8.4 or earlier -yarn add tslib@^1 - -# TypeScript 2.3.2 or earlier -yarn add tslib@1.6.1 -``` - -## bower - -```sh -# TypeScript 3.9.2 or later -bower install tslib - -# TypeScript 3.8.4 or earlier -bower install tslib@^1 - -# TypeScript 2.3.2 or earlier -bower install tslib@1.6.1 -``` - -## JSPM - -```sh -# TypeScript 3.9.2 or later -jspm install tslib - -# TypeScript 3.8.4 or earlier -jspm install tslib@^1 - -# TypeScript 2.3.2 or earlier -jspm install tslib@1.6.1 -``` - -# Usage - -Set the `importHelpers` compiler option on the command line: - -``` -tsc --importHelpers file.ts -``` - -or in your tsconfig.json: - -```json -{ - "compilerOptions": { - "importHelpers": true - } -} -``` - -#### For bower and JSPM users - -You will need to add a `paths` mapping for `tslib`, e.g. For Bower users: - -```json -{ - "compilerOptions": { - "module": "amd", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["bower_components/tslib/tslib.d.ts"] - } - } -} -``` - -For JSPM users: - -```json -{ - "compilerOptions": { - "module": "system", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["jspm_packages/npm/tslib@2.x.y/tslib.d.ts"] - } - } -} -``` - -## Deployment - -- Choose your new version number -- Set it in `package.json` and `bower.json` -- Create a tag: `git tag [version]` -- Push the tag: `git push --tags` -- Create a [release in GitHub](https://github.com/microsoft/tslib/releases) -- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflow - -Done. - -# Contribute - -There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript. - -* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in. -* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls). -* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript). -* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter. -* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md). - -# Documentation - -* [Quick tutorial](http://www.typescriptlang.org/Tutorial) -* [Programming handbook](http://www.typescriptlang.org/Handbook) -* [Homepage](http://www.typescriptlang.org/) diff --git a/node_modules/pascal-case/node_modules/tslib/SECURITY.md b/node_modules/pascal-case/node_modules/tslib/SECURITY.md deleted file mode 100644 index 869fdfe2b2..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/SECURITY.md +++ /dev/null @@ -1,41 +0,0 @@ - - -## Security - -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). - -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues.** - -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). - -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). - -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) - * Full paths of source file(s) related to the manifestation of the issue - * The location of the affected source code (tag/branch/commit or direct URL) - * Any special configuration required to reproduce the issue - * Step-by-step instructions to reproduce the issue - * Proof-of-concept or exploit code (if possible) - * Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. - -## Preferred Languages - -We prefer all communications to be in English. - -## Policy - -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). - - diff --git a/node_modules/pascal-case/node_modules/tslib/modules/index.d.ts b/node_modules/pascal-case/node_modules/tslib/modules/index.d.ts deleted file mode 100644 index 0fedae881e..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/modules/index.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Note: named reexports are used instead of `export *` because -// TypeScript itself doesn't resolve the `export *` when checking -// if a particular helper exists. -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __createBinding, - __addDisposableResource, - __disposeResources, -} from '../tslib.js'; -export * as default from '../tslib.js'; diff --git a/node_modules/pascal-case/node_modules/tslib/modules/index.js b/node_modules/pascal-case/node_modules/tslib/modules/index.js deleted file mode 100644 index af9f5ac4e2..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/modules/index.js +++ /dev/null @@ -1,68 +0,0 @@ -import tslib from '../tslib.js'; -const { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -} = tslib; -export { - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __exportStar, - __createBinding, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; -export default tslib; diff --git a/node_modules/pascal-case/node_modules/tslib/modules/package.json b/node_modules/pascal-case/node_modules/tslib/modules/package.json deleted file mode 100644 index aead43de36..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} \ No newline at end of file diff --git a/node_modules/pascal-case/node_modules/tslib/package.json b/node_modules/pascal-case/node_modules/tslib/package.json deleted file mode 100644 index 88f67e7f8b..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "tslib", - "author": "Microsoft Corp.", - "homepage": "https://www.typescriptlang.org/", - "version": "2.7.0", - "license": "0BSD", - "description": "Runtime library for TypeScript helper functions", - "keywords": [ - "TypeScript", - "Microsoft", - "compiler", - "language", - "javascript", - "tslib", - "runtime" - ], - "bugs": { - "url": "https://github.com/Microsoft/TypeScript/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/Microsoft/tslib.git" - }, - "main": "tslib.js", - "module": "tslib.es6.js", - "jsnext:main": "tslib.es6.js", - "typings": "tslib.d.ts", - "sideEffects": false, - "exports": { - ".": { - "module": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - }, - "import": { - "node": "./modules/index.js", - "default": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - } - }, - "default": "./tslib.js" - }, - "./*": "./*", - "./": "./" - } -} diff --git a/node_modules/pascal-case/node_modules/tslib/tslib.d.ts b/node_modules/pascal-case/node_modules/tslib/tslib.d.ts deleted file mode 100644 index 45762215ad..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/tslib.d.ts +++ /dev/null @@ -1,453 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -/** - * Used to shim class extends. - * - * @param d The derived class. - * @param b The base class. - */ -export declare function __extends(d: Function, b: Function): void; - -/** - * Copy the values of all of the enumerable own properties from one or more source objects to a - * target object. Returns the target object. - * - * @param t The target object to copy to. - * @param sources One or more source objects from which to copy properties - */ -export declare function __assign(t: any, ...sources: any[]): any; - -/** - * Performs a rest spread on an object. - * - * @param t The source value. - * @param propertyNames The property names excluded from the rest spread. - */ -export declare function __rest(t: any, propertyNames: (string | symbol)[]): any; - -/** - * Applies decorators to a target object - * - * @param decorators The set of decorators to apply. - * @param target The target object. - * @param key If specified, the own property to apply the decorators to. - * @param desc The property descriptor, defaults to fetching the descriptor from the target object. - * @experimental - */ -export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; - -/** - * Creates an observing function decorator from a parameter decorator. - * - * @param paramIndex The parameter index to apply the decorator to. - * @param decorator The parameter decorator to apply. Note that the return value is ignored. - * @experimental - */ -export declare function __param(paramIndex: number, decorator: Function): Function; - -/** - * Applies decorators to a class or class member, following the native ECMAScript decorator specification. - * @param ctor For non-field class members, the class constructor. Otherwise, `null`. - * @param descriptorIn The `PropertyDescriptor` to use when unable to look up the property from `ctor`. - * @param decorators The decorators to apply - * @param contextIn The `DecoratorContext` to clone for each decorator application. - * @param initializers An array of field initializer mutation functions into which new initializers are written. - * @param extraInitializers An array of extra initializer functions into which new initializers are written. - */ -export declare function __esDecorate(ctor: Function | null, descriptorIn: object | null, decorators: Function[], contextIn: object, initializers: Function[] | null, extraInitializers: Function[]): void; - -/** - * Runs field initializers or extra initializers generated by `__esDecorate`. - * @param thisArg The `this` argument to use. - * @param initializers The array of initializers to evaluate. - * @param value The initial value to pass to the initializers. - */ -export declare function __runInitializers(thisArg: unknown, initializers: Function[], value?: any): any; - -/** - * Converts a computed property name into a `string` or `symbol` value. - */ -export declare function __propKey(x: any): string | symbol; - -/** - * Assigns the name of a function derived from the left-hand side of an assignment. - * @param f The function to rename. - * @param name The new name for the function. - * @param prefix A prefix (such as `"get"` or `"set"`) to insert before the name. - */ -export declare function __setFunctionName(f: Function, name: string | symbol, prefix?: string): Function; - -/** - * Creates a decorator that sets metadata. - * - * @param metadataKey The metadata key - * @param metadataValue The metadata value - * @experimental - */ -export declare function __metadata(metadataKey: any, metadataValue: any): Function; - -/** - * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. - * @param generator The generator function - */ -export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; - -/** - * Creates an Iterator object using the body as the implementation. - * - * @param thisArg The reference to use as the `this` value in the function - * @param body The generator state-machine based implementation. - * - * @see [./docs/generator.md] - */ -export declare function __generator(thisArg: any, body: Function): any; - -/** - * Creates bindings for all enumerable properties of `m` on `exports` - * - * @param m The source object - * @param o The `exports` object. - */ -export declare function __exportStar(m: any, o: any): void; - -/** - * Creates a value iterator from an `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `Iterable`, nor an `ArrayLike`. - */ -export declare function __values(o: any): any; - -/** - * Reads values from an `Iterable` or `ArrayLike` object and returns the resulting array. - * - * @param o The object to read from. - * @param n The maximum number of arguments to read, defaults to `Infinity`. - */ -export declare function __read(o: any, n?: number): any[]; - -/** - * Creates an array from iterable spread. - * - * @param args The Iterable objects to spread. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spread(...args: any[][]): any[]; - -/** - * Creates an array from array spread. - * - * @param args The ArrayLikes to spread into the resulting array. - * @deprecated since TypeScript 4.2 - Use `__spreadArray` - */ -export declare function __spreadArrays(...args: any[][]): any[]; - -/** - * Spreads the `from` array into the `to` array. - * - * @param pack Replace empty elements with `undefined`. - */ -export declare function __spreadArray(to: any[], from: any[], pack?: boolean): any[]; - -/** - * Creates an object that signals to `__asyncGenerator` that it shouldn't be yielded, - * and instead should be awaited and the resulting value passed back to the generator. - * - * @param v The value to await. - */ -export declare function __await(v: any): any; - -/** - * Converts a generator function into an async generator function, by using `yield __await` - * in place of normal `await`. - * - * @param thisArg The reference to use as the `this` value in the generator function - * @param _arguments The optional arguments array - * @param generator The generator function - */ -export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any; - -/** - * Used to wrap a potentially async iterator in such a way so that it wraps the result - * of calling iterator methods of `o` in `__await` instances, and then yields the awaited values. - * - * @param o The potentially async iterator. - * @returns A synchronous iterator yielding `__await` instances on every odd invocation - * and returning the awaited `IteratorResult` passed to `next` every even invocation. - */ -export declare function __asyncDelegator(o: any): any; - -/** - * Creates a value async iterator from an `AsyncIterable`, `Iterable` or `ArrayLike` object. - * - * @param o The object. - * @throws {TypeError} If `o` is neither `AsyncIterable`, `Iterable`, nor an `ArrayLike`. - */ -export declare function __asyncValues(o: any): any; - -/** - * Creates a `TemplateStringsArray` frozen object from the `cooked` and `raw` arrays. - * - * @param cooked The cooked possibly-sparse array. - * @param raw The raw string content. - */ -export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray; - -/** - * Used to shim default and named imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default, { Named, Other } from "mod"; - * // or - * import { default as Default, Named, Other } from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importStar(mod: T): T; - -/** - * Used to shim default imports in ECMAScript Modules transpiled to CommonJS. - * - * ```js - * import Default from "mod"; - * ``` - * - * @param mod The CommonJS module exports object. - */ -export declare function __importDefault(mod: T): T | { default: T }; - -/** - * Emulates reading a private instance field. - * - * @param receiver The instance from which to read the private field. - * @param state A WeakMap containing the private field value for an instance. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean, get(o: T): V | undefined }, - kind?: "f" -): V; - -/** - * Emulates reading a private static field. - * - * @param receiver The object from which to read the private static field. - * @param state The class constructor containing the definition of the static field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates evaluating a private instance "get" accessor. - * - * @param receiver The instance on which to evaluate the private "get" accessor. - * @param state A WeakSet used to verify an instance supports the private "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet( - receiver: T, - state: { has(o: T): boolean }, - kind: "a", - f: () => V -): V; - -/** - * Emulates evaluating a private static "get" accessor. - * - * @param receiver The object on which to evaluate the private static "get" accessor. - * @param state The class constructor containing the definition of the static "get" accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "get" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V>( - receiver: T, - state: T, - kind: "a", - f: () => V -): V; - -/** - * Emulates reading a private instance method. - * - * @param receiver The instance from which to read a private method. - * @param state A WeakSet used to verify an instance supports the private method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private instance method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldGet unknown>( - receiver: T, - state: { has(o: T): boolean }, - kind: "m", - f: V -): V; - -/** - * Emulates reading a private static method. - * - * @param receiver The object from which to read the private static method. - * @param state The class constructor containing the definition of the static method. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The function to return as the private static method. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldGet unknown, V extends (...args: any[]) => unknown>( - receiver: T, - state: T, - kind: "m", - f: V -): V; - -/** - * Emulates writing to a private instance field. - * - * @param receiver The instance on which to set a private field value. - * @param state A WeakMap used to store the private field value for an instance. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean, set(o: T, value: V): unknown }, - value: V, - kind?: "f" -): V; - -/** - * Emulates writing to a private static field. - * - * @param receiver The object on which to set the private static field. - * @param state The class constructor containing the definition of the private static field. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The descriptor that holds the static field value. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "f", - f: { value: V } -): V; - -/** - * Emulates writing to a private instance "set" accessor. - * - * @param receiver The instance on which to evaluate the private instance "set" accessor. - * @param state A WeakSet used to verify an instance supports the private "set" accessor. - * @param value The value to store in the private accessor. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `state` doesn't have an entry for `receiver`. - */ -export declare function __classPrivateFieldSet( - receiver: T, - state: { has(o: T): boolean }, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Emulates writing to a private static "set" accessor. - * - * @param receiver The object on which to evaluate the private static "set" accessor. - * @param state The class constructor containing the definition of the static "set" accessor. - * @param value The value to store in the private field. - * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method. - * @param f The "set" accessor function to evaluate. - * - * @throws {TypeError} If `receiver` is not `state`. - */ -export declare function __classPrivateFieldSet unknown, V>( - receiver: T, - state: T, - value: V, - kind: "a", - f: (v: V) => void -): V; - -/** - * Checks for the existence of a private field/method/accessor. - * - * @param state The class constructor containing the static member, or the WeakMap or WeakSet associated with a private instance member. - * @param receiver The object for which to test the presence of the private member. - */ -export declare function __classPrivateFieldIn( - state: (new (...args: any[]) => unknown) | { has(o: any): boolean }, - receiver: unknown, -): boolean; - -/** - * Creates a re-export binding on `object` with key `objectKey` that references `target[key]`. - * - * @param object The local `exports` object. - * @param target The object to re-export from. - * @param key The property key of `target` to re-export. - * @param objectKey The property key to re-export as. Defaults to `key`. - */ -export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void; - -/** - * Adds a disposable resource to a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @param value Either a Disposable or AsyncDisposable object, `null`, or `undefined`. - * @param async When `true`, `AsyncDisposable` resources can be added. When `false`, `AsyncDisposable` resources cannot be added. - * @returns The {@link value} argument. - * - * @throws {TypeError} If {@link value} is not an object, or if either `Symbol.dispose` or `Symbol.asyncDispose` are not - * defined, or if {@link value} does not have an appropriate `Symbol.dispose` or `Symbol.asyncDispose` method. - */ -export declare function __addDisposableResource(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }, value: T, async: boolean): T; - -/** - * Disposes all resources in a resource-tracking environment object. - * @param env A resource-tracking environment object. - * @returns A {@link Promise} if any resources in the environment were marked as `async` when added; otherwise, `void`. - * - * @throws {SuppressedError} if an error thrown during disposal would have suppressed a prior error from disposal or the - * error recorded in the resource-tracking environment object. - * @seealso {@link __addDisposableResource} - */ -export declare function __disposeResources(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }): any; diff --git a/node_modules/pascal-case/node_modules/tslib/tslib.es6.html b/node_modules/pascal-case/node_modules/tslib/tslib.es6.html deleted file mode 100644 index b122e41b06..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/tslib.es6.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/pascal-case/node_modules/tslib/tslib.es6.js b/node_modules/pascal-case/node_modules/tslib/tslib.es6.js deleted file mode 100644 index fc18d15bf8..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/tslib.es6.js +++ /dev/null @@ -1,379 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends: __extends, - __assign: __assign, - __rest: __rest, - __decorate: __decorate, - __param: __param, - __metadata: __metadata, - __awaiter: __awaiter, - __generator: __generator, - __createBinding: __createBinding, - __exportStar: __exportStar, - __values: __values, - __read: __read, - __spread: __spread, - __spreadArrays: __spreadArrays, - __spreadArray: __spreadArray, - __await: __await, - __asyncGenerator: __asyncGenerator, - __asyncDelegator: __asyncDelegator, - __asyncValues: __asyncValues, - __makeTemplateObject: __makeTemplateObject, - __importStar: __importStar, - __importDefault: __importDefault, - __classPrivateFieldGet: __classPrivateFieldGet, - __classPrivateFieldSet: __classPrivateFieldSet, - __classPrivateFieldIn: __classPrivateFieldIn, - __addDisposableResource: __addDisposableResource, - __disposeResources: __disposeResources, -}; diff --git a/node_modules/pascal-case/node_modules/tslib/tslib.es6.mjs b/node_modules/pascal-case/node_modules/tslib/tslib.es6.mjs deleted file mode 100644 index 17bb2ff8f2..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/tslib.es6.mjs +++ /dev/null @@ -1,378 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -export function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -export var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -export function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -export function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -export function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -export function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -export function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -export function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -export function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -export function __awaiter(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()); - }); -} - -export function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -export var __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]; -}); - -export function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -export function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -export function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -export function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -export function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -export function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -export function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -export function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -export function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -export function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -export function __importStar(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; -} - -export function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -export function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -export function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -export function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -export function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -export function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -export default { - __extends, - __assign, - __rest, - __decorate, - __param, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}; diff --git a/node_modules/pascal-case/node_modules/tslib/tslib.html b/node_modules/pascal-case/node_modules/tslib/tslib.html deleted file mode 100644 index 44c9ba51e3..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/tslib.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/node_modules/pascal-case/node_modules/tslib/tslib.js b/node_modules/pascal-case/node_modules/tslib/tslib.js deleted file mode 100644 index 429c11a66b..0000000000 --- a/node_modules/pascal-case/node_modules/tslib/tslib.js +++ /dev/null @@ -1,429 +0,0 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */ -var __extends; -var __assign; -var __rest; -var __decorate; -var __param; -var __esDecorate; -var __runInitializers; -var __propKey; -var __setFunctionName; -var __metadata; -var __awaiter; -var __generator; -var __exportStar; -var __values; -var __read; -var __spread; -var __spreadArrays; -var __spreadArray; -var __await; -var __asyncGenerator; -var __asyncDelegator; -var __asyncValues; -var __makeTemplateObject; -var __importStar; -var __importDefault; -var __classPrivateFieldGet; -var __classPrivateFieldSet; -var __classPrivateFieldIn; -var __createBinding; -var __addDisposableResource; -var __disposeResources; -(function (factory) { - var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; - if (typeof define === "function" && define.amd) { - define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); }); - } - else if (typeof module === "object" && typeof module.exports === "object") { - factory(createExporter(root, createExporter(module.exports))); - } - else { - factory(createExporter(root)); - } - function createExporter(exports, previous) { - if (exports !== root) { - if (typeof Object.create === "function") { - Object.defineProperty(exports, "__esModule", { value: true }); - } - else { - exports.__esModule = true; - } - } - return function (id, v) { return exports[id] = previous ? previous(id, v) : v; }; - } -}) -(function (exporter) { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - - __extends = function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - - __assign = Object.assign || function (t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - - __rest = function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; - }; - - __decorate = function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; - }; - - __param = function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } - }; - - __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; - }; - - __runInitializers = function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; - }; - - __propKey = function (x) { - return typeof x === "symbol" ? x : "".concat(x); - }; - - __setFunctionName = function (f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); - }; - - __metadata = function (metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); - }; - - __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()); - }); - }; - - __generator = function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } - }; - - __exportStar = function(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); - }; - - __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]; - }); - - __values = function (o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); - }; - - __read = function (o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; - }; - - /** @deprecated */ - __spread = function () { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; - }; - - /** @deprecated */ - __spreadArrays = function () { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; - }; - - __spreadArray = function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); - }; - - __await = function (v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); - }; - - __asyncGenerator = function (thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } - }; - - __asyncDelegator = function (o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } - }; - - __asyncValues = function (o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } - }; - - __makeTemplateObject = function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; - }; - - var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }; - - __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; - }; - - __importDefault = function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; - }; - - __classPrivateFieldGet = function (receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); - }; - - __classPrivateFieldSet = function (receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; - }; - - __classPrivateFieldIn = function (state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); - }; - - __addDisposableResource = function (env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; - }; - - var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; - }; - - __disposeResources = function (env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); - }; - - exporter("__extends", __extends); - exporter("__assign", __assign); - exporter("__rest", __rest); - exporter("__decorate", __decorate); - exporter("__param", __param); - exporter("__esDecorate", __esDecorate); - exporter("__runInitializers", __runInitializers); - exporter("__propKey", __propKey); - exporter("__setFunctionName", __setFunctionName); - exporter("__metadata", __metadata); - exporter("__awaiter", __awaiter); - exporter("__generator", __generator); - exporter("__exportStar", __exportStar); - exporter("__createBinding", __createBinding); - exporter("__values", __values); - exporter("__read", __read); - exporter("__spread", __spread); - exporter("__spreadArrays", __spreadArrays); - exporter("__spreadArray", __spreadArray); - exporter("__await", __await); - exporter("__asyncGenerator", __asyncGenerator); - exporter("__asyncDelegator", __asyncDelegator); - exporter("__asyncValues", __asyncValues); - exporter("__makeTemplateObject", __makeTemplateObject); - exporter("__importStar", __importStar); - exporter("__importDefault", __importDefault); - exporter("__classPrivateFieldGet", __classPrivateFieldGet); - exporter("__classPrivateFieldSet", __classPrivateFieldSet); - exporter("__classPrivateFieldIn", __classPrivateFieldIn); - exporter("__addDisposableResource", __addDisposableResource); - exporter("__disposeResources", __disposeResources); -}); diff --git a/node_modules/pascal-case/package.json b/node_modules/pascal-case/package.json deleted file mode 100644 index 68cf2aadc2..0000000000 --- a/node_modules/pascal-case/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name": "pascal-case", - "version": "3.1.2", - "description": "Transform into a string of capitalized words without separators", - "main": "dist/index.js", - "typings": "dist/index.d.ts", - "module": "dist.es2015/index.js", - "sideEffects": false, - "jsnext:main": "dist.es2015/index.js", - "files": [ - "dist/", - "dist.es2015/", - "LICENSE" - ], - "scripts": { - "lint": "tslint \"src/**/*\" --project tsconfig.json", - "build": "rimraf dist/ dist.es2015/ && tsc && tsc -P tsconfig.es2015.json", - "specs": "jest --coverage", - "test": "npm run build && npm run lint && npm run specs", - "size": "size-limit", - "prepare": "npm run build" - }, - "repository": { - "type": "git", - "url": "git://github.com/blakeembrey/change-case.git" - }, - "keywords": [ - "pascal", - "case", - "camel", - "capital", - "convert", - "transform", - "identifier", - "class" - ], - "author": { - "name": "Blake Embrey", - "email": "hello@blakeembrey.com", - "url": "http://blakeembrey.me" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/blakeembrey/change-case/issues" - }, - "homepage": "https://github.com/blakeembrey/change-case/tree/master/packages/pascal-case#readme", - "size-limit": [ - { - "path": "dist/index.js", - "limit": "400 B" - } - ], - "jest": { - "roots": [ - "/src/" - ], - "transform": { - "\\.tsx?$": "ts-jest" - }, - "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$", - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json", - "node" - ] - }, - "publishConfig": { - "access": "public" - }, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "devDependencies": { - "@size-limit/preset-small-lib": "^2.2.1", - "@types/jest": "^24.0.23", - "@types/node": "^12.12.14", - "jest": "^24.9.0", - "rimraf": "^3.0.0", - "ts-jest": "^24.2.0", - "tslint": "^5.20.1", - "tslint-config-prettier": "^1.18.0", - "tslint-config-standard": "^9.0.0", - "typescript": "^4.1.2" - }, - "gitHead": "76a21a7f6f2a226521ef6abd345ff309cbd01fb0" -} diff --git a/node_modules/ts-poet/.eslintrc.js b/node_modules/ts-poet/.eslintrc.js deleted file mode 100644 index 8d50fc51c7..0000000000 --- a/node_modules/ts-poet/.eslintrc.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - extends: ['plugin:@typescript-eslint/recommended', 'prettier/@typescript-eslint', 'plugin:prettier/recommended'], - parserOptions: { - ecmaVersion: 2018, - sourceType: 'module', - }, - rules: { - '@typescript-eslint/no-use-before-define': 'off', - '@typescript-eslint/no-inferrable-types': 'off', - }, -}; diff --git a/node_modules/ts-poet/.nvmrc b/node_modules/ts-poet/.nvmrc deleted file mode 100644 index 29b7b9ad9d..0000000000 --- a/node_modules/ts-poet/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -16.4.0 diff --git a/node_modules/ts-poet/.prettierrc b/node_modules/ts-poet/.prettierrc deleted file mode 100644 index eac7ed3681..0000000000 --- a/node_modules/ts-poet/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "printWidth": 120, - "bracketSpacing": true, - "singleQuote": true, - "trailingComma": "es5" -} \ No newline at end of file diff --git a/node_modules/ts-poet/CodeBlockTest.java b/node_modules/ts-poet/CodeBlockTest.java deleted file mode 100644 index befa539ce7..0000000000 --- a/node_modules/ts-poet/CodeBlockTest.java +++ /dev/null @@ -1,315 +0,0 @@ - -public final class CodeBlockTest { - @Test public void equalsAndHashCode() { - CodeBlock a = CodeBlock.builder().build(); - CodeBlock b = CodeBlock.builder().build(); - assertThat(a.equals(b)).isTrue(); - assertThat(a.hashCode()).isEqualTo(b.hashCode()); - a = CodeBlock.builder().add("$L", "taco").build(); - b = CodeBlock.builder().add("$L", "taco").build(); - assertThat(a.equals(b)).isTrue(); - assertThat(a.hashCode()).isEqualTo(b.hashCode()); - } - - @Test public void of() { - CodeBlock a = CodeBlock.of("$L taco", "delicious"); - assertThat(a.toString()).isEqualTo("delicious taco"); - } - - @Test public void isEmpty() { - assertTrue(CodeBlock.builder().isEmpty()); - assertTrue(CodeBlock.builder().add("").isEmpty()); - assertFalse(CodeBlock.builder().add(" ").isEmpty()); - } - - @Test public void indentCannotBeIndexed() { - try { - CodeBlock.builder().add("$1>", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void deindentCannotBeIndexed() { - try { - CodeBlock.builder().add("$1<", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void dollarSignEscapeCannotBeIndexed() { - try { - CodeBlock.builder().add("$1$", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void statementBeginningCannotBeIndexed() { - try { - CodeBlock.builder().add("$1[", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void statementEndingCannotBeIndexed() { - try { - CodeBlock.builder().add("$1]", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void nameFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1N", "taco").build(); - assertThat(block.toString()).isEqualTo("taco"); - } - - @Test public void literalFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1L", "taco").build(); - assertThat(block.toString()).isEqualTo("taco"); - } - - @Test public void stringFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1S", "taco").build(); - assertThat(block.toString()).isEqualTo("\"taco\""); - } - - @Test public void typeFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1T", String.class).build(); - assertThat(block.toString()).isEqualTo("java.lang.String"); - } - - @Test public void simpleNamedArgument() { - Map map = new LinkedHashMap<>(); - map.put("text", "taco"); - CodeBlock block = CodeBlock.builder().addNamed("$text:S", map).build(); - assertThat(block.toString()).isEqualTo("\"taco\""); - } - - @Test public void repeatedNamedArgument() { - Map map = new LinkedHashMap<>(); - map.put("text", "tacos"); - CodeBlock block = CodeBlock.builder() - .addNamed("\"I like \" + $text:S + \". Do you like \" + $text:S + \"?\"", map) - .build(); - assertThat(block.toString()).isEqualTo( - "\"I like \" + \"tacos\" + \". Do you like \" + \"tacos\" + \"?\""); - } - - @Test public void namedAndNoArgFormat() { - Map map = new LinkedHashMap<>(); - map.put("text", "tacos"); - CodeBlock block = CodeBlock.builder() - .addNamed("$>\n$text:L for $$3.50", map).build(); - assertThat(block.toString()).isEqualTo("\n tacos for $3.50"); - } - - @Test public void missingNamedArgument() { - try { - Map map = new LinkedHashMap<>(); - CodeBlock.builder().addNamed("$text:S", map).build(); - fail(); - } catch(IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("Missing named argument for $text"); - } - } - - @Test public void lowerCaseNamed() { - try { - Map map = new LinkedHashMap<>(); - map.put("Text", "tacos"); - CodeBlock block = CodeBlock.builder().addNamed("$Text:S", map).build(); - fail(); - } catch(IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("argument 'Text' must start with a lowercase character"); - } - } - - @Test public void multipleNamedArguments() { - Map map = new LinkedHashMap<>(); - map.put("pipe", System.class); - map.put("text", "tacos"); - - CodeBlock block = CodeBlock.builder() - .addNamed("$pipe:T.out.println(\"Let's eat some $text:L\");", map) - .build(); - - assertThat(block.toString()).isEqualTo( - "java.lang.System.out.println(\"Let's eat some tacos\");"); - } - - @Test public void namedNewline() { - Map map = new LinkedHashMap<>(); - map.put("clazz", Integer.class); - CodeBlock block = CodeBlock.builder().addNamed("$clazz:T\n", map).build(); - assertThat(block.toString()).isEqualTo("java.lang.Integer\n"); - } - - @Test public void danglingNamed() { - Map map = new LinkedHashMap<>(); - map.put("clazz", Integer.class); - try { - CodeBlock.builder().addNamed("$clazz:T$", map).build(); - fail(); - } catch(IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("dangling $ at end"); - } - } - - @Test public void indexTooHigh() { - try { - CodeBlock.builder().add("$2T", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("index 2 for '$2T' not in range (received 1 arguments)"); - } - } - - @Test public void indexIsZero() { - try { - CodeBlock.builder().add("$0T", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("index 0 for '$0T' not in range (received 1 arguments)"); - } - } - - @Test public void indexIsNegative() { - try { - CodeBlock.builder().add("$-1T", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("invalid format string: '$-1T'"); - } - } - - @Test public void indexWithoutFormatType() { - try { - CodeBlock.builder().add("$1", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("dangling format characters in '$1'"); - } - } - - @Test public void indexWithoutFormatTypeNotAtStringEnd() { - try { - CodeBlock.builder().add("$1 taco", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("invalid format string: '$1 taco'"); - } - } - - @Test public void indexButNoArguments() { - try { - CodeBlock.builder().add("$1T").build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("index 1 for '$1T' not in range (received 0 arguments)"); - } - } - - @Test public void formatIndicatorAlone() { - try { - CodeBlock.builder().add("$", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("dangling format characters in '$'"); - } - } - - @Test public void formatIndicatorWithoutIndexOrFormatType() { - try { - CodeBlock.builder().add("$ tacoString", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("invalid format string: '$ tacoString'"); - } - } - - @Test public void sameIndexCanBeUsedWithDifferentFormats() { - CodeBlock block = CodeBlock.builder() - .add("$1T.out.println($1S)", ClassName.get(System.class)) - .build(); - assertThat(block.toString()).isEqualTo("java.lang.System.out.println(\"java.lang.System\")"); - } - - @Test public void tooManyStatementEnters() { - CodeBlock codeBlock = CodeBlock.builder().add("$[$[").build(); - try { - // We can't report this error until rendering type because code blocks might be composed. - codeBlock.toString(); - fail(); - } catch (IllegalStateException expected) { - assertThat(expected).hasMessageThat().isEqualTo("statement enter $[ followed by statement enter $["); - } - } - - @Test public void statementExitWithoutStatementEnter() { - CodeBlock codeBlock = CodeBlock.builder().add("$]").build(); - try { - // We can't report this error until rendering type because code blocks might be composed. - codeBlock.toString(); - fail(); - } catch (IllegalStateException expected) { - assertThat(expected).hasMessageThat().isEqualTo("statement exit $] has no matching statement enter $["); - } - } - - @Test public void join() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - codeBlocks.add(CodeBlock.of("$T", ClassName.get("world", "World"))); - codeBlocks.add(CodeBlock.of("need tacos")); - - CodeBlock joined = CodeBlock.join(codeBlocks, " || "); - assertThat(joined.toString()).isEqualTo("\"hello\" || world.World || need tacos"); - } - - @Test public void joining() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - codeBlocks.add(CodeBlock.of("$T", ClassName.get("world", "World"))); - codeBlocks.add(CodeBlock.of("need tacos")); - - CodeBlock joined = codeBlocks.stream().collect(CodeBlock.joining(" || ")); - assertThat(joined.toString()).isEqualTo("\"hello\" || world.World || need tacos"); - } - - @Test public void joiningSingle() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - - CodeBlock joined = codeBlocks.stream().collect(CodeBlock.joining(" || ")); - assertThat(joined.toString()).isEqualTo("\"hello\""); - } - - @Test public void joiningWithPrefixAndSuffix() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - codeBlocks.add(CodeBlock.of("$T", ClassName.get("world", "World"))); - codeBlocks.add(CodeBlock.of("need tacos")); - - CodeBlock joined = codeBlocks.stream().collect(CodeBlock.joining(" || ", "start {", "} end")); - assertThat(joined.toString()).isEqualTo("start {\"hello\" || world.World || need tacos} end"); - } -} diff --git a/node_modules/ts-poet/CodeBlockTest.ts b/node_modules/ts-poet/CodeBlockTest.ts deleted file mode 100644 index befa539ce7..0000000000 --- a/node_modules/ts-poet/CodeBlockTest.ts +++ /dev/null @@ -1,315 +0,0 @@ - -public final class CodeBlockTest { - @Test public void equalsAndHashCode() { - CodeBlock a = CodeBlock.builder().build(); - CodeBlock b = CodeBlock.builder().build(); - assertThat(a.equals(b)).isTrue(); - assertThat(a.hashCode()).isEqualTo(b.hashCode()); - a = CodeBlock.builder().add("$L", "taco").build(); - b = CodeBlock.builder().add("$L", "taco").build(); - assertThat(a.equals(b)).isTrue(); - assertThat(a.hashCode()).isEqualTo(b.hashCode()); - } - - @Test public void of() { - CodeBlock a = CodeBlock.of("$L taco", "delicious"); - assertThat(a.toString()).isEqualTo("delicious taco"); - } - - @Test public void isEmpty() { - assertTrue(CodeBlock.builder().isEmpty()); - assertTrue(CodeBlock.builder().add("").isEmpty()); - assertFalse(CodeBlock.builder().add(" ").isEmpty()); - } - - @Test public void indentCannotBeIndexed() { - try { - CodeBlock.builder().add("$1>", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void deindentCannotBeIndexed() { - try { - CodeBlock.builder().add("$1<", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void dollarSignEscapeCannotBeIndexed() { - try { - CodeBlock.builder().add("$1$", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void statementBeginningCannotBeIndexed() { - try { - CodeBlock.builder().add("$1[", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void statementEndingCannotBeIndexed() { - try { - CodeBlock.builder().add("$1]", "taco").build(); - fail(); - } catch (IllegalArgumentException exp) { - assertThat(exp) - .hasMessageThat() - .isEqualTo("$$, $>, $<, $[, $], $W, and $Z may not have an index"); - } - } - - @Test public void nameFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1N", "taco").build(); - assertThat(block.toString()).isEqualTo("taco"); - } - - @Test public void literalFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1L", "taco").build(); - assertThat(block.toString()).isEqualTo("taco"); - } - - @Test public void stringFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1S", "taco").build(); - assertThat(block.toString()).isEqualTo("\"taco\""); - } - - @Test public void typeFormatCanBeIndexed() { - CodeBlock block = CodeBlock.builder().add("$1T", String.class).build(); - assertThat(block.toString()).isEqualTo("java.lang.String"); - } - - @Test public void simpleNamedArgument() { - Map map = new LinkedHashMap<>(); - map.put("text", "taco"); - CodeBlock block = CodeBlock.builder().addNamed("$text:S", map).build(); - assertThat(block.toString()).isEqualTo("\"taco\""); - } - - @Test public void repeatedNamedArgument() { - Map map = new LinkedHashMap<>(); - map.put("text", "tacos"); - CodeBlock block = CodeBlock.builder() - .addNamed("\"I like \" + $text:S + \". Do you like \" + $text:S + \"?\"", map) - .build(); - assertThat(block.toString()).isEqualTo( - "\"I like \" + \"tacos\" + \". Do you like \" + \"tacos\" + \"?\""); - } - - @Test public void namedAndNoArgFormat() { - Map map = new LinkedHashMap<>(); - map.put("text", "tacos"); - CodeBlock block = CodeBlock.builder() - .addNamed("$>\n$text:L for $$3.50", map).build(); - assertThat(block.toString()).isEqualTo("\n tacos for $3.50"); - } - - @Test public void missingNamedArgument() { - try { - Map map = new LinkedHashMap<>(); - CodeBlock.builder().addNamed("$text:S", map).build(); - fail(); - } catch(IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("Missing named argument for $text"); - } - } - - @Test public void lowerCaseNamed() { - try { - Map map = new LinkedHashMap<>(); - map.put("Text", "tacos"); - CodeBlock block = CodeBlock.builder().addNamed("$Text:S", map).build(); - fail(); - } catch(IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("argument 'Text' must start with a lowercase character"); - } - } - - @Test public void multipleNamedArguments() { - Map map = new LinkedHashMap<>(); - map.put("pipe", System.class); - map.put("text", "tacos"); - - CodeBlock block = CodeBlock.builder() - .addNamed("$pipe:T.out.println(\"Let's eat some $text:L\");", map) - .build(); - - assertThat(block.toString()).isEqualTo( - "java.lang.System.out.println(\"Let's eat some tacos\");"); - } - - @Test public void namedNewline() { - Map map = new LinkedHashMap<>(); - map.put("clazz", Integer.class); - CodeBlock block = CodeBlock.builder().addNamed("$clazz:T\n", map).build(); - assertThat(block.toString()).isEqualTo("java.lang.Integer\n"); - } - - @Test public void danglingNamed() { - Map map = new LinkedHashMap<>(); - map.put("clazz", Integer.class); - try { - CodeBlock.builder().addNamed("$clazz:T$", map).build(); - fail(); - } catch(IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("dangling $ at end"); - } - } - - @Test public void indexTooHigh() { - try { - CodeBlock.builder().add("$2T", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("index 2 for '$2T' not in range (received 1 arguments)"); - } - } - - @Test public void indexIsZero() { - try { - CodeBlock.builder().add("$0T", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("index 0 for '$0T' not in range (received 1 arguments)"); - } - } - - @Test public void indexIsNegative() { - try { - CodeBlock.builder().add("$-1T", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("invalid format string: '$-1T'"); - } - } - - @Test public void indexWithoutFormatType() { - try { - CodeBlock.builder().add("$1", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("dangling format characters in '$1'"); - } - } - - @Test public void indexWithoutFormatTypeNotAtStringEnd() { - try { - CodeBlock.builder().add("$1 taco", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("invalid format string: '$1 taco'"); - } - } - - @Test public void indexButNoArguments() { - try { - CodeBlock.builder().add("$1T").build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("index 1 for '$1T' not in range (received 0 arguments)"); - } - } - - @Test public void formatIndicatorAlone() { - try { - CodeBlock.builder().add("$", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("dangling format characters in '$'"); - } - } - - @Test public void formatIndicatorWithoutIndexOrFormatType() { - try { - CodeBlock.builder().add("$ tacoString", String.class).build(); - fail(); - } catch (IllegalArgumentException expected) { - assertThat(expected).hasMessageThat().isEqualTo("invalid format string: '$ tacoString'"); - } - } - - @Test public void sameIndexCanBeUsedWithDifferentFormats() { - CodeBlock block = CodeBlock.builder() - .add("$1T.out.println($1S)", ClassName.get(System.class)) - .build(); - assertThat(block.toString()).isEqualTo("java.lang.System.out.println(\"java.lang.System\")"); - } - - @Test public void tooManyStatementEnters() { - CodeBlock codeBlock = CodeBlock.builder().add("$[$[").build(); - try { - // We can't report this error until rendering type because code blocks might be composed. - codeBlock.toString(); - fail(); - } catch (IllegalStateException expected) { - assertThat(expected).hasMessageThat().isEqualTo("statement enter $[ followed by statement enter $["); - } - } - - @Test public void statementExitWithoutStatementEnter() { - CodeBlock codeBlock = CodeBlock.builder().add("$]").build(); - try { - // We can't report this error until rendering type because code blocks might be composed. - codeBlock.toString(); - fail(); - } catch (IllegalStateException expected) { - assertThat(expected).hasMessageThat().isEqualTo("statement exit $] has no matching statement enter $["); - } - } - - @Test public void join() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - codeBlocks.add(CodeBlock.of("$T", ClassName.get("world", "World"))); - codeBlocks.add(CodeBlock.of("need tacos")); - - CodeBlock joined = CodeBlock.join(codeBlocks, " || "); - assertThat(joined.toString()).isEqualTo("\"hello\" || world.World || need tacos"); - } - - @Test public void joining() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - codeBlocks.add(CodeBlock.of("$T", ClassName.get("world", "World"))); - codeBlocks.add(CodeBlock.of("need tacos")); - - CodeBlock joined = codeBlocks.stream().collect(CodeBlock.joining(" || ")); - assertThat(joined.toString()).isEqualTo("\"hello\" || world.World || need tacos"); - } - - @Test public void joiningSingle() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - - CodeBlock joined = codeBlocks.stream().collect(CodeBlock.joining(" || ")); - assertThat(joined.toString()).isEqualTo("\"hello\""); - } - - @Test public void joiningWithPrefixAndSuffix() { - List codeBlocks = new ArrayList<>(); - codeBlocks.add(CodeBlock.of("$S", "hello")); - codeBlocks.add(CodeBlock.of("$T", ClassName.get("world", "World"))); - codeBlocks.add(CodeBlock.of("need tacos")); - - CodeBlock joined = codeBlocks.stream().collect(CodeBlock.joining(" || ", "start {", "} end")); - assertThat(joined.toString()).isEqualTo("start {\"hello\" || world.World || need tacos} end"); - } -} diff --git a/node_modules/ts-poet/LICENSE.txt b/node_modules/ts-poet/LICENSE.txt deleted file mode 100644 index 1f30f693e7..0000000000 --- a/node_modules/ts-poet/LICENSE.txt +++ /dev/null @@ -1,204 +0,0 @@ - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (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 [yyyy] [name of copyright owner] - - 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/ts-poet/README.md b/node_modules/ts-poet/README.md deleted file mode 100644 index 9b5d81bdd4..0000000000 --- a/node_modules/ts-poet/README.md +++ /dev/null @@ -1,165 +0,0 @@ -![npm](https://img.shields.io/npm/v/ts-poet) -[![CircleCI](https://circleci.com/gh/stephenh/ts-poet.svg?style=svg)](https://circleci.com/gh/stephenh/ts-poet) - -Overview -======== - -ts-poet is a TypeScript code generator that is a fancy wrapper around [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals). - -Here's some example `HelloWorld` output generated by ts-poet: - -```typescript -import { Observable } from "rxjs/Observable"; - -export class Greeter { - private name: string; - - constructor(private name: string) {} - - greet(): Observable { - return Observable.from(`Hello $name`); - } -} -``` - -And this is the code to generate it with ts-poet: - -```typescript -import { code, imp } from "ts-poet"; - -// Use `imp` to declare an import that will conditionally auto-imported -const Observable = imp("@rxjs/Observable"); - -// Optionally create helper consts/methods to incrementally create output -const greet = code` - greet(): ${Observable} { - return ${Observable}.from(\`Hello $name\`); - } -`; - -// Combine all of the output (note no imports are at the top, they'll be auto-added) -const greeter = code` -export class Greeter { - - private name: string; - - constructor(private name: string) { - } - - ${greet} -} -`; - -// Generate the full output, with imports -const output = greeter.toStringWithImports("Greeter"); -``` - -I.e. the primary value provided by ts-poet is: - -1. "Auto import" only actually-used symbols - - I.e. if you use `imp` to define the modules/imports you need in your generated code, ts-poet will create the import stanza at the top of the file. - - This can seem fairly minor, but it facilitates decomposition of your code generation code, so that you can have multiple levels of helper methods/etc. that can return `code` template literals that embed both the code itself as well as the import types. - - And when the final file is generated, ts-poet will collect and emit the necessary imports. - -2. Includes any other conditional output (see later), as/if needed. - -3. Formats the output with prettier (using your local `.prettierrc` if it exists) - -Import Specs -============ - -Given the primary goal of ts-poet is to manage imports for you, there are several ways of specifying imports to the `imp` function: - -* `imp("Observable@rxjs")` --> `import { Observable } from "rxjs"` -* `imp("Observable:CustomizedObservable@rxjs")` --> `import { Observable as CustomizedObservable } from "rxjs"` -* `imp("t:Observable@rxjs")` --> `import type { Observable } from "rxjs"` -* `imp("t:Observable:CustomizedObservable@rxjs")` --> `import type { Observable as CustomizedObservable } from "rxjs"` -* `imp("Observable@./Api")` --> `import { Observable } from "./Api"` -* `imp("Observable*./Api")` --> `import * as Observable from "./Api"` -* `imp("Observable=./Api")` --> `import Observable from "./Api"` -* `imp("@rxjs/Observable")` --> `import { Observable } from "rxjs/Observable"` -* `imp("*rxjs/Observable")` --> `import * as Observable from "rxjs/Observable"` -* `imp("@Api")` --> `import { Api } from "Api"` -* `imp("describe+mocha")` --> `import "mocha"` - -### Avoiding Import Conflicts - -Sometimes code generation output may declare a symbol that conflicts with an imported type (usually for generic names like `Error`). - -ts-poet will automatically detect and avoid conflicts if you tell it which symbols you're declaring, i.e.: - -```typescript -const bar = imp('Bar@./bar'); -const output = code` - class ${def("Bar")} extends ${bar} { - ... - } -`; -``` - -Will result in the imported `Bar` symbol being remapped to `Bar1` in the output: - -```typescript -import { Bar as Bar1 } from "./bar"; -class Bar extends Bar1 {} -``` - -This is an admittedly contrived example for documentation purposes, but can be really useful when generating code against arbitrary / user-defined input (i.e. a schema that happens to uses a really common term). - -# Conditional Output - -Sometimes when generating larger, intricate output, you want to conditionally include helper methods. I.e. have a `convertTimestamps` function declared at the top of your module, but only actually include that function if some other part of the output actually uses timestamps (which might depend on the specific input/schema you're generating code against). - -ts-poet supports this with a `conditionalOutput` method: - -```typescript -const convertTimestamps = conditionalOutput( - // The string to output at the usage site - "convertTimestamps", - // The code to conditionally output if convertTimestamps is used - code`function convertTimestamps() { ...impl... }`, -); - -const output = code` - ${someSchema.map(f => { - if (f.type === "timestamp") { - // Using the convertTimestamps const marks it as used in our output - return code`${convertTimestamps}(f)`; - } - })} - // The .ifUsed result will be empty unless `convertTimestamps` has been marked has used - ${convertTimestamps.ifUsed} -`; -``` - -And your output will have the `convertTimestamps` declaration only if one of the schema fields had a `timestamp` type. - -This helps cut down on unnecessary output in the code, and compiler/IDE warnings like unused functions. - -# Literals - -If you want to add a literal value, you can use `literalOf` and `arrayOf`: - -| code | output | -| --------------------------------- | ------------------------- | -| `let a = ${literalOf('foo')}` | `let a = 'foo';` | -| `let a = ${arrayOf(1, 2, 3)}` | `let a = [1, 2, 3];` | -| `let a = ${{foo: 'bar'}}` | `let a = { foo: 'bar' };` | -| `` let a = ${{foo: code`bar`}} `` | `let a = { foo: bar };` | - -History -======= - -ts-poet was originally inspired by Square's [JavaPoet](https://github.com/square/javapoet) code generation DSL, which has a very "Java-esque" builder API of `addFunction`/`addProperty`/etc. that ts-poet copied in it's original v1/v2 releases. - -JavaPoet's approach worked very well for the Java ecosystem, as it was providing three features: - -1. nice formatting (historically code generation output has looked terrible; bad formatting, bad indentation, etc.) -2. nice multi-line string support, via `appendLine(...).appendLine(...)` style methods. -3. "auto organize imports", of collecting imported symbols across the entire compilation unit of output, and organizing/formatting them at the top of the output file. - -However, in the JavaScript/TypeScript world we have prettier for formatting, and nice multi-line string support via template literals, so really the only value add that ts-poet needs to provide is the "auto organize imports", which is what the post-v2/3.0 API has been rewritten (and dramatically simplified as a result) to provide. - diff --git a/node_modules/ts-poet/build/Code.d.ts b/node_modules/ts-poet/build/Code.d.ts deleted file mode 100644 index 5e4a5deb8e..0000000000 --- a/node_modules/ts-poet/build/Code.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Node } from './Node'; -import { Options } from 'prettier'; -/** Options for `toStringWithImports`, i.e. for the top-level, per-file output. */ -export interface ToStringOpts { - /** The intended file name of this code; used to know whether we can skip import statements that would be from our own file. */ - path?: string; - /** Modules to use a CommonJS-in-ESM destructure fix for. */ - forceDefaultImport?: string[]; - /** Modules to use a CommonJS-in-ESM destructure fix for. */ - forceModuleImport?: string[]; - /** A top-of-file prefix, i.e. eslint disable. */ - prefix?: string; - /** Optional per-file overrides for the prettier config, i.e. to use longer-than-normal line lengths. */ - prettierOverrides?: Options; - /** optional importMappings */ - importMappings?: { - [key: string]: string; - }; -} -export declare class Code extends Node { - private literals; - private placeholders; - trim: boolean; - private oneline; - constructor(literals: TemplateStringsArray, placeholders: any[]); - /** - * Returns the code with any necessary import statements prefixed. - * - * This method will also use any local `.prettierrc` settings, hence needs - * to return a `Promise`. - */ - toStringWithImports(opts?: ToStringOpts): Promise; - /** - * Returns the formatted code, without any imports. - * - * Note that we don't use `.prettierrc` b/c that requires async I/O to resolve. - */ - toString(): string; - asOneline(): Code; - get childNodes(): unknown[]; - toCodeString(): string; - private deepFindImports; - private deepFindDefs; - private deepConditionalOutput; - private deepReplaceNamedImports; - private generateCode; -} -export declare function deepGenerate(object: unknown): string; -/** - * Represents a symbol defined in the current file. - * - * We use this to know if a symbol imported from a different file is going to - * have a namespace collision. - */ -export declare class Def extends Node { - symbol: string; - constructor(symbol: string); - toCodeString(): string; - /** Any potentially string/SymbolSpec/Code nested nodes within us. */ - get childNodes(): Node[]; -} diff --git a/node_modules/ts-poet/build/Code.js b/node_modules/ts-poet/build/Code.js deleted file mode 100644 index fc1552b666..0000000000 --- a/node_modules/ts-poet/build/Code.js +++ /dev/null @@ -1,305 +0,0 @@ -"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.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Def = exports.deepGenerate = exports.Code = void 0; -const Node_1 = require("./Node"); -const Import_1 = require("./Import"); -const prettier_1 = __importStar(require("prettier")); -const parser_typescript_1 = __importDefault(require("prettier/parser-typescript")); -const is_plain_object_1 = require("./is-plain-object"); -const ConditionalOutput_1 = require("./ConditionalOutput"); -const index_1 = require("./index"); -// We only have a single top-level Code.toStringWithImports running at a time, -// so use a global var to capture this contextual state. -let usedConditionals = []; -class Code extends Node_1.Node { - constructor(literals, placeholders) { - super(); - this.literals = literals; - this.placeholders = placeholders; - // Used by joinCode - this.trim = false; - this.oneline = false; - } - /** - * Returns the code with any necessary import statements prefixed. - * - * This method will also use any local `.prettierrc` settings, hence needs - * to return a `Promise`. - */ - toStringWithImports(opts) { - const { path = '', forceDefaultImport, forceModuleImport, prefix, prettierOverrides = {}, importMappings = {} } = opts || {}; - const ourModulePath = path.replace(/\.[tj]sx?/, ''); - if (forceDefaultImport || forceModuleImport) { - this.deepReplaceNamedImports(forceDefaultImport || [], forceModuleImport || []); - } - usedConditionals = this.deepConditionalOutput(); - const imports = this.deepFindImports(); - const defs = this.deepFindDefs(); - assignAliasesIfNeeded(defs, imports, ourModulePath); - const importPart = Import_1.emitImports(imports, ourModulePath, importMappings); - const bodyPart = this.generateCode(); - const maybePrefix = prefix ? `${prefix}\n` : ''; - return maybePrettyWithConfig(maybePrefix + importPart + '\n' + bodyPart, prettierOverrides); - } - /** - * Returns the formatted code, without any imports. - * - * Note that we don't use `.prettierrc` b/c that requires async I/O to resolve. - */ - toString() { - return maybePretty(this.generateCode()); - } - asOneline() { - this.oneline = true; - return this; - } - get childNodes() { - return this.placeholders; - } - toCodeString() { - return this.generateCode(); - } - deepFindImports() { - const imports = []; - let todo = [this]; - while (todo.length > 0) { - const placeholder = todo.shift(); - if (placeholder instanceof Import_1.Import) { - imports.push(placeholder); - } - else if (placeholder instanceof Node_1.Node) { - todo = [...todo, ...placeholder.childNodes]; - } - else if (placeholder instanceof ConditionalOutput_1.MaybeOutput) { - if (usedConditionals.includes(placeholder.parent)) { - todo = [...todo, placeholder.code]; - } - } - else if (Array.isArray(placeholder)) { - todo = [...todo, ...placeholder]; - } - } - return imports; - } - deepFindDefs() { - const defs = []; - let todo = [this]; - while (todo.length > 0) { - const placeholder = todo.shift(); - if (placeholder instanceof Def) { - defs.push(placeholder); - } - else if (placeholder instanceof Node_1.Node) { - todo = [...todo, ...placeholder.childNodes]; - } - else if (placeholder instanceof ConditionalOutput_1.MaybeOutput) { - if (usedConditionals.includes(placeholder.parent)) { - todo = [...todo, placeholder.code]; - } - } - else if (Array.isArray(placeholder)) { - todo = [...todo, ...placeholder]; - } - } - return defs; - } - deepConditionalOutput() { - const used = []; - let todo = [this]; - while (todo.length > 0) { - const placeholder = todo.shift(); - if (placeholder instanceof ConditionalOutput_1.ConditionalOutput) { - used.push(placeholder); - todo = [...todo, ...placeholder.declarationSiteCode.childNodes]; - } - else if (placeholder instanceof Node_1.Node) { - todo = [...todo, ...placeholder.childNodes]; - } - else if (Array.isArray(placeholder)) { - todo = [...todo, ...placeholder]; - } - } - return used; - } - deepReplaceNamedImports(forceDefaultImport, forceModuleImport) { - // Keep a map of module name --> symbol we're importing, i.e. protobufjs/simple is _m1 - const assignedNames = {}; - function getName(source) { - let name = assignedNames[source]; - if (!name) { - name = `_m${Object.values(assignedNames).length}`; - assignedNames[source] = name; - } - return name; - } - let todo = [this]; - while (todo.length > 0) { - const placeholder = todo.shift(); - if (placeholder instanceof Node_1.Node) { - const array = placeholder.childNodes; - for (let i = 0; i < array.length; i++) { - const maybeImp = array[i]; - if (maybeImp instanceof Import_1.ImportsName && forceDefaultImport.includes(maybeImp.source)) { - const name = getName(maybeImp.source); - array[i] = index_1.code `${new Import_1.ImportsDefault(name, maybeImp.source)}.${maybeImp.sourceSymbol || maybeImp.symbol}`; - } - else if (maybeImp instanceof Import_1.ImportsName && forceModuleImport.includes(maybeImp.source)) { - const name = getName(maybeImp.source); - array[i] = index_1.code `${new Import_1.ImportsAll(name, maybeImp.source)}.${maybeImp.sourceSymbol || maybeImp.symbol}`; - } - } - todo = [...todo, ...placeholder.childNodes]; - } - else if (Array.isArray(placeholder)) { - todo = [...todo, ...placeholder]; - } - } - } - generateCode() { - const { literals, placeholders } = this; - let result = ''; - // interleave the literals with the placeholders - for (let i = 0; i < placeholders.length; i++) { - result += literals[i] + deepGenerate(placeholders[i]); - } - // add the last literal - result += literals[literals.length - 1]; - if (this.trim) { - result = result.trim(); - } - if (this.oneline) { - result = result.replace(/\n/g, ''); - } - return result; - } -} -exports.Code = Code; -function deepGenerate(object) { - let result = ''; - let todo = [object]; - while (todo.length > 0) { - const current = todo.shift(); - if (Array.isArray(current)) { - todo = [...todo, ...current]; - } - else if (current instanceof Node_1.Node) { - result += current.toCodeString(); - } - else if (current instanceof ConditionalOutput_1.MaybeOutput) { - if (usedConditionals.includes(current.parent)) { - result += current.code.toCodeString(); - } - } - else if (current === null) { - result += 'null'; - } - else if (current !== undefined) { - if (is_plain_object_1.isPlainObject(current)) { - result += JSON.stringify(current); - } - else { - result += current.toString(); - } - } - else { - result += 'undefined'; - } - } - return result; -} -exports.deepGenerate = deepGenerate; -// Use an optional call here in case we are using standalone prettier. This can happen when loaded through a CDN from -// a browser (or Deno), because prettier has `"browser": "./standalone.js"` in it's package.json. -const configPromise = prettier_1.resolveConfig === null || prettier_1.resolveConfig === void 0 ? void 0 : prettier_1.resolveConfig('./'); -async function maybePrettyWithConfig(input, options) { - try { - const config = await configPromise; - return prettier_1.default.format(input.trim(), { parser: 'typescript', plugins: [parser_typescript_1.default], ...config, ...options }); - } - catch (e) { - return input; // assume it's invalid syntax and ignore - } -} -/** Finds any namespace collisions of a named import colliding with def and assigns the import an alias it. */ -function assignAliasesIfNeeded(defs, imports, ourModulePath) { - // Keep track of used (whether declared or imported) symbols - const usedSymbols = new Set(); - // Mark all locally-defined symbols as used - defs.forEach((def) => usedSymbols.add(def.symbol)); - // A mapping of original to assigned alias, i.e. Foo@foo --> Foo2 - const assignedAliases = {}; - let j = 1; - imports.forEach((i) => { - if (i instanceof Import_1.ImportsName && - // Don't both aliasing imports from our own module - !(Import_1.sameModule(i.source, ourModulePath) || (i.definedIn && Import_1.sameModule(i.definedIn, ourModulePath)))) { - const key = `${i.symbol}@${i.source}`; - if (usedSymbols.has(i.symbol)) { - let alias = assignedAliases[key]; - if (!alias) { - alias = `${i.symbol}${j++}`; - assignedAliases[key] = alias; - } - // Move the original symbol over - if (alias !== i.symbol) { - i.sourceSymbol = i.symbol; - } - i.symbol = alias; - } - else { - usedSymbols.add(i.symbol); - assignedAliases[key] = i.symbol; - } - } - }); -} -function maybePretty(input) { - try { - return prettier_1.default.format(input.trim(), { parser: 'typescript', plugins: [parser_typescript_1.default] }); - } - catch (e) { - return input; // assume it's invalid syntax and ignore - } -} -/** - * Represents a symbol defined in the current file. - * - * We use this to know if a symbol imported from a different file is going to - * have a namespace collision. - */ -class Def extends Node_1.Node { - constructor(symbol) { - super(); - this.symbol = symbol; - } - toCodeString() { - return this.symbol; - } - /** Any potentially string/SymbolSpec/Code nested nodes within us. */ - get childNodes() { - return []; - } -} -exports.Def = Def; diff --git a/node_modules/ts-poet/build/ConditionalOutput.d.ts b/node_modules/ts-poet/build/ConditionalOutput.d.ts deleted file mode 100644 index fda251a906..0000000000 --- a/node_modules/ts-poet/build/ConditionalOutput.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Node } from './Node'; -import { Code } from './Code'; -/** - * Helps output conditional helper methods. - * - * The `ConditionalOutput` concept is split into a usage site and a declaration - * site, i.e. declaring a `function someHelper() { ... }`, and calling it - * like `someHelper()`. - * - * While generating code, you can make usage says by using `someHelper` as - * a placeholder, and then output the declaration with `someHelper.ifUsed` - * to output the declaration conditionally only if `someHelper` has been - * seen in the tree. - * - * ```typescript - * const someHelper = conditionalOutput( - * "someHelper", - * code`function someHelper() { return 1 } ` - * ); - * - * const code = code` - * ${someHelper} - * - * ${someHelper.ifUsed} - * ` - * ``` - */ -export declare class ConditionalOutput extends Node { - usageSiteName: string; - declarationSiteCode: Code; - constructor(usageSiteName: string, declarationSiteCode: Code); - get childNodes(): unknown[]; - toCodeString(): string; - get ifUsed(): MaybeOutput; -} -export declare class MaybeOutput { - parent: ConditionalOutput; - code: Code; - constructor(parent: ConditionalOutput, code: Code); -} diff --git a/node_modules/ts-poet/build/ConditionalOutput.js b/node_modules/ts-poet/build/ConditionalOutput.js deleted file mode 100644 index 7a496e779a..0000000000 --- a/node_modules/ts-poet/build/ConditionalOutput.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MaybeOutput = exports.ConditionalOutput = void 0; -const Node_1 = require("./Node"); -/** - * Helps output conditional helper methods. - * - * The `ConditionalOutput` concept is split into a usage site and a declaration - * site, i.e. declaring a `function someHelper() { ... }`, and calling it - * like `someHelper()`. - * - * While generating code, you can make usage says by using `someHelper` as - * a placeholder, and then output the declaration with `someHelper.ifUsed` - * to output the declaration conditionally only if `someHelper` has been - * seen in the tree. - * - * ```typescript - * const someHelper = conditionalOutput( - * "someHelper", - * code`function someHelper() { return 1 } ` - * ); - * - * const code = code` - * ${someHelper} - * - * ${someHelper.ifUsed} - * ` - * ``` - */ -class ConditionalOutput extends Node_1.Node { - // A given ConditionalOutput const could be used in multiple code - // parents, and so we don't want to use instance state to store - // "should I be output or not", b/c it depends on the containing tree. - constructor(usageSiteName, declarationSiteCode) { - super(); - this.usageSiteName = usageSiteName; - this.declarationSiteCode = declarationSiteCode; - } - get childNodes() { - return [this.declarationSiteCode]; - } - toCodeString() { - return this.usageSiteName; - } - get ifUsed() { - return new MaybeOutput(this, this.declarationSiteCode); - } -} -exports.ConditionalOutput = ConditionalOutput; -class MaybeOutput { - constructor(parent, code) { - this.parent = parent; - this.code = code; - } -} -exports.MaybeOutput = MaybeOutput; diff --git a/node_modules/ts-poet/build/Import.d.ts b/node_modules/ts-poet/build/Import.d.ts deleted file mode 100644 index fee74d4117..0000000000 --- a/node_modules/ts-poet/build/Import.d.ts +++ /dev/null @@ -1,190 +0,0 @@ -import { Node } from './Node'; -export declare const importType = "[*@+=]"; -/** - * Specifies a symbol and its related origin, either via import or implicit/local declaration. - */ -export declare abstract class Import extends Node { - symbol: string; - /** - * Parses a symbol reference pattern to create a symbol. The pattern - * allows the simple definition of all symbol types including any possible - * import variation. If the spec to parse does not follow the proper format - * an implicit symbol is created from the unparsed spec. - * - * Pattern: `symbolName? importType modulePath (#)?` - * - * Where: - * - * - `symbolName` is any legal JS/TS symbol. If none, we use the last part of the module path as a guess. - * - `importType` is one of `@` or `*` or `+`, where: - * - `@` is a named import - * - `Foo@bar` becomes `import { Foo } from 'bar'` - * - `*` is a star import, - * - `*Foo` becomes `import * as Foo from 'Foo'` - * - `Foo*foo` becomes `import * as Foo from 'foo'` - * - `+` is an implicit import - * - E.g. `Foo+foo` becomes `import 'foo'` - * - `modulePath` is a path - * - E.g. `(/)?` - * - * Where: - * - * - `symbolName` is any legal JS/TS symbol. If none, we use the last part of the module path as a guess. - * - `importType` is one of `@` or `*` or `+`, where: - * - `@` is a named import - * - `Foo@bar` becomes `import { Foo } from 'bar'` - * - `*` is a star import, - * - `*Foo` becomes `import * as Foo from 'Foo'` - * - `Foo*foo` becomes `import * as Foo from 'foo'` - * - `+` is an implicit import - * - E.g. `Foo+foo` becomes `import 'foo'` - * - `modulePath` is a path - * - E.g. `(/ a.augmented); - // Group the imports by source module they're imported from - const importsByModule = lodash_1.default.groupBy(imports.filter((it) => it.source !== undefined && - // Ignore imports that are in our own file - !(it instanceof ImportsName && it.definedIn && sameModule(it.definedIn, ourModulePath))), (it) => it.source); - // Output each source module as one line - Object.entries(importsByModule).forEach(([modulePath, imports]) => { - // Skip imports from the current module - if (sameModule(ourModulePath, modulePath)) { - return; - } - if (modulePath in importMappings) { - modulePath = importMappings[modulePath]; - } - const importPath = maybeRelativePath(ourModulePath, modulePath); - // Output star imports individually - unique(filterInstances(imports, ImportsAll).map((i) => i.symbol)).forEach((symbol) => { - result += `import * as ${symbol} from '${importPath}';\n`; - const augments = augmentImports[symbol]; - if (augments) { - augments.forEach((augment) => (result += `import '${augment.source}';\n`)); - } - }); - // Partition named imported into `import type` vs. regular imports - const allNames = filterInstances(imports, ImportsName); - const names = unique(allNames.filter((i) => !i.typeImport).map((it) => it.toImportPiece())); - const def = unique(filterInstances(imports, ImportsDefault).map((it) => it.symbol)); - // Output named imports as a group - if (names.length > 0 || def.length > 0) { - const namesPart = names.length > 0 ? [`{ ${names.join(', ')} }`] : []; - const defPart = def.length > 0 ? [def[0]] : []; - result += `import ${[...defPart, ...namesPart].join(', ')} from '${importPath}';\n`; - [...names, ...def].forEach((name) => { - const augments = augmentImports[name]; - if (augments) { - augments.forEach((augment) => (result += `import '${augment.source}';\n`)); - } - }); - } - const typeImports = unique(allNames - .filter((i) => i.typeImport) - .map((it) => it.toImportPiece()) - // If the `import type` is already used as a concrete import, just use that - .filter((p) => !names.includes(p))); - if (typeImports.length > 0) { - result += `import type { ${typeImports.join(', ')} } from '${importPath}';\n`; - } - }); - const sideEffectImports = lodash_1.default.groupBy(filterInstances(imports, SideEffect), (a) => a.source); - Object.keys(sideEffectImports).forEach((it) => (result += `import '${it}';\n`)); - return result; -} -exports.emitImports = emitImports; -function filterInstances(list, t) { - return list.filter((e) => e instanceof t); -} -function unique(list) { - return [...new Set(list)]; -} -function maybeRelativePath(outputPath, importPath) { - if (!importPath.startsWith('./')) { - return importPath; - } - importPath = path.normalize(importPath); - outputPath = path.normalize(outputPath); - const outputPathDir = path.dirname(outputPath); - let relativePath = path.relative(outputPathDir, importPath).split(path.sep).join(path.posix.sep); - if (!relativePath.startsWith('.')) { - // ensure the js compiler recognizes this is a relative path. - relativePath = './' + relativePath; - } - return relativePath; -} -exports.maybeRelativePath = maybeRelativePath; -/** Checks if `path1 === path2` despite minor path differences like `./foo` and `foo`. */ -function sameModule(path1, path2) { - // TypeScript: import paths ending in .js and .ts are resolved to the .ts file. - // Check the base paths (without the .js or .ts suffix). - const [basePath1, basePath2] = [path1, path2].map((p) => p.replace(/\.[tj]sx?/, '')); - return basePath1 === basePath2 || path.resolve(basePath1) === path.resolve(basePath2); -} -exports.sameModule = sameModule; diff --git a/node_modules/ts-poet/build/Literal.d.ts b/node_modules/ts-poet/build/Literal.d.ts deleted file mode 100644 index 9b6f9a6c94..0000000000 --- a/node_modules/ts-poet/build/Literal.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Node } from './Node'; -/** - * A literal source representation of the provided object - */ -export declare class Literal extends Node { - private readonly tokens; - constructor(object: unknown); - get childNodes(): unknown[]; - toCodeString(): string; -} diff --git a/node_modules/ts-poet/build/Literal.js b/node_modules/ts-poet/build/Literal.js deleted file mode 100644 index 2b13bbf44f..0000000000 --- a/node_modules/ts-poet/build/Literal.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Literal = void 0; -const Node_1 = require("./Node"); -const ConditionalOutput_1 = require("./ConditionalOutput"); -const is_plain_object_1 = require("./is-plain-object"); -/** - * A literal source representation of the provided object - */ -class Literal extends Node_1.Node { - constructor(object) { - super(); - this.tokens = flatten(object); - } - get childNodes() { - return this.tokens; - } - toCodeString() { - return this.tokens - .map((node) => { - if (typeof node === 'string') - return node; - if (node instanceof Node_1.Node) - return node.toCodeString(); - return ''; - }) - .join(' '); - } -} -exports.Literal = Literal; -function flatten(o) { - if (typeof o === 'undefined') { - return ['undefined']; - } - if (typeof o === 'object' && o != null) { - if (o instanceof Node_1.Node || o instanceof ConditionalOutput_1.MaybeOutput) { - return [o]; - } - else if (Array.isArray(o)) { - const nodes = ['[']; - for (let i = 0; i < o.length; i++) { - if (i !== 0) - nodes.push(','); - nodes.push(...flatten(o[i])); - } - nodes.push(']'); - return nodes; - } - else if (is_plain_object_1.isPlainObject(o)) { - const nodes = ['{']; - const entries = Object.entries(o); - for (let i = 0; i < entries.length; i++) { - if (i !== 0) - nodes.push(','); - const [key, value] = entries[i]; - nodes.push(JSON.stringify(key), ':', ...flatten(value)); - } - nodes.push('}'); - return nodes; - } - } - return [JSON.stringify(o)]; -} diff --git a/node_modules/ts-poet/build/Node.d.ts b/node_modules/ts-poet/build/Node.d.ts deleted file mode 100644 index 4bbcdaf82e..0000000000 --- a/node_modules/ts-poet/build/Node.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare abstract class Node { - /** Return the unformatted code for this node. */ - abstract toCodeString(): string; - /** Any potentially string/SymbolSpec/Code nested nodes within us. */ - abstract get childNodes(): unknown[]; -} diff --git a/node_modules/ts-poet/build/Node.js b/node_modules/ts-poet/build/Node.js deleted file mode 100644 index 10c89b9c11..0000000000 --- a/node_modules/ts-poet/build/Node.js +++ /dev/null @@ -1,6 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Node = void 0; -class Node { -} -exports.Node = Node; diff --git a/node_modules/ts-poet/build/SymbolSpecs.d.ts b/node_modules/ts-poet/build/SymbolSpecs.d.ts deleted file mode 100644 index 88cbfd7190..0000000000 --- a/node_modules/ts-poet/build/SymbolSpecs.d.ts +++ /dev/null @@ -1,190 +0,0 @@ -import { Node } from './Node'; -export declare const importType = "[*@+=]"; -/** - * Specifies a symbol and its related origin, either via import or implicit/local declaration. - * - * @param value Value of the symbol - */ -export declare abstract class SymbolSpec extends Node { - value: string; - /** - * Parses a symbol reference pattern to create a symbol. The pattern - * allows the simple definition of all symbol types including any possible - * import variation. If the spec to parse does not follow the proper format - * an implicit symbol is created from the unparsed spec. - * - * Pattern: `symbolName? importType modulePath (#)?` - * - * Where: - * - * - `symbolName` is any legal JS/TS symbol. If none, we use the last part of the module path as a guess. - * - `importType` is one of `@` or `*` or `+`, where: - * - `@` is a named import - * - `Foo@bar` becomes `import { Foo } from 'bar'` - * - `*` is a star import, - * - `*Foo` becomes `import * as Foo from 'Foo'` - * - `Foo*foo` becomes `import * as Foo from 'foo'` - * - `+` is an implicit import - * - E.g. `Foo+foo` becomes `import 'foo'` - * - `modulePath` is a path - * - E.g. `(/)?` - * - * Where: - * - * - `symbolName` is any legal JS/TS symbol. If none, we use the last part of the module path as a guess. - * - `importType` is one of `@` or `*` or `+`, where: - * - `@` is a named import - * - `Foo@bar` becomes `import { Foo } from 'bar'` - * - `*` is a star import, - * - `*Foo` becomes `import * as Foo from 'Foo'` - * - `Foo*foo` becomes `import * as Foo from 'foo'` - * - `+` is an implicit import - * - E.g. `Foo+foo` becomes `import 'foo'` - * - `modulePath` is a path - * - E.g. `(/ a.augmented); - // Group the imports by source module they're imported from - const importsByModule = lodash_1.default.groupBy(imports.filter((it) => it.source !== undefined && - !(it instanceof ImportsName && it.definedIn && sameModule(it.definedIn, ourModulePath))), (it) => it.source); - // Output each source module as one line - Object.entries(importsByModule).forEach(([modulePath, imports]) => { - // Skip imports from the current module - if (sameModule(ourModulePath, modulePath)) { - return; - } - const importPath = maybeRelativePath(ourModulePath, modulePath); - // Output star imports individually - filterInstances(imports, ImportsAll).forEach((i) => { - result += `import * as ${i.value} from '${importPath}';\n`; - const augments = augmentImports[i.value]; - if (augments) { - augments.forEach((augment) => (result += `import '${augment.source}';\n`)); - } - }); - // Output named imports as a group - const names = unique(filterInstances(imports, ImportsName).map((it) => it.toImportPiece())); - const def = unique(filterInstances(imports, ImportsDefault).map((it) => it.value)); - if (names.length > 0 || def.length > 0) { - const namesPart = names.length > 0 ? [`{ ${names.join(', ')} }`] : []; - const defPart = def.length > 0 ? [def[0]] : []; - const allNames = [...defPart, ...namesPart]; - result += `import ${allNames.join(', ')} from '${importPath}';\n`; - [...names, ...def].forEach((name) => { - const augments = augmentImports[name]; - if (augments) { - augments.forEach((augment) => (result += `import '${augment.source}';\n`)); - } - }); - } - }); - const sideEffectImports = lodash_1.default.groupBy(filterInstances(imports, SideEffect), (a) => a.source); - Object.keys(sideEffectImports).forEach((it) => (result += `import '${it}';\n`)); - return result; -} -exports.emitImports = emitImports; -function filterInstances(list, t) { - return list.filter((e) => e instanceof t); -} -function unique(list) { - return [...new Set(list)]; -} -function maybeRelativePath(outputPath, importPath) { - if (!importPath.startsWith('./')) { - return importPath; - } - // Drop the `./` prefix from the outputPath if it exists. - const basePath = outputPath.replace(/^.\//, ''); - // Ideally we'd use a path library to do all this. - const numberOfDirs = basePath.split('').filter((l) => l === '/').length; - if (numberOfDirs === 0) { - return importPath; - } - // Make an array of `..` to get our importPath to the root directory. - const a = new Array(numberOfDirs); - const prefix = a.fill('..', 0, numberOfDirs).join('/'); - return prefix + importPath.substring(1); -} -exports.maybeRelativePath = maybeRelativePath; -/** Checks if `path1 === path2` despite minor path differences like `./foo` and `foo`. */ -function sameModule(path1, path2) { - return path1 === path2 || path_1.default.resolve(path1) === path_1.default.resolve(path2); -} -exports.sameModule = sameModule; diff --git a/node_modules/ts-poet/build/index.d.ts b/node_modules/ts-poet/build/index.d.ts deleted file mode 100644 index 55dd81a0c6..0000000000 --- a/node_modules/ts-poet/build/index.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Import } from './Import'; -import { Code, Def } from './Code'; -import { Node } from './Node'; -import { ConditionalOutput } from './ConditionalOutput'; -export { Code } from './Code'; -export { Import } from './Import'; -/** A template literal to format code and auto-organize imports. */ -export declare function code(literals: TemplateStringsArray, ...placeholders: unknown[]): Code; -export declare function literalOf(object: unknown): Node; -export declare function arrayOf(...elements: unknown[]): Node; -export declare function joinCode(chunks: Code[], opts?: { - on?: string; - trim?: boolean; -}): Code; -/** Creates an import that will be auto-imported at the top of the output file. */ -export declare function imp(spec: string, opts?: { - definedIn?: string; -}): Import; -/** Defines `symbol` as being locally defined in the file, to avoid import collisions. */ -export declare function def(symbol: string): Def; -/** Creates a conditionally-output code snippet. */ -export declare function conditionalOutput(usageSite: string, declarationSite: Code): ConditionalOutput; diff --git a/node_modules/ts-poet/build/index.js b/node_modules/ts-poet/build/index.js deleted file mode 100644 index f1a638fbfa..0000000000 --- a/node_modules/ts-poet/build/index.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.conditionalOutput = exports.def = exports.imp = exports.joinCode = exports.arrayOf = exports.literalOf = exports.code = exports.Import = exports.Code = void 0; -const Import_1 = require("./Import"); -const Code_1 = require("./Code"); -const ConditionalOutput_1 = require("./ConditionalOutput"); -const is_plain_object_1 = require("./is-plain-object"); -const Literal_1 = require("./Literal"); -var Code_2 = require("./Code"); -Object.defineProperty(exports, "Code", { enumerable: true, get: function () { return Code_2.Code; } }); -var Import_2 = require("./Import"); -Object.defineProperty(exports, "Import", { enumerable: true, get: function () { return Import_2.Import; } }); -/** A template literal to format code and auto-organize imports. */ -function code(literals, ...placeholders) { - return new Code_1.Code(literals, placeholders.map((p) => { - if (is_plain_object_1.isPlainObject(p)) { - return literalOf(p); - } - else { - return p; - } - })); -} -exports.code = code; -function literalOf(object) { - return new Literal_1.Literal(object); -} -exports.literalOf = literalOf; -function arrayOf(...elements) { - return literalOf(elements); -} -exports.arrayOf = arrayOf; -function joinCode(chunks, opts = {}) { - const { on = '', trim = true } = opts; - const literals = ['']; - for (let i = 0; i < chunks.length - 1; i++) { - literals.push(on); - } - literals.push(''); - if (trim) { - chunks.forEach((c) => (c.trim = true)); - } - return new Code_1.Code(literals, chunks); -} -exports.joinCode = joinCode; -/** Creates an import that will be auto-imported at the top of the output file. */ -function imp(spec, opts = {}) { - const sym = Import_1.Import.from(spec); - if (opts && opts.definedIn) { - sym.definedIn = opts.definedIn; - } - return sym; -} -exports.imp = imp; -/** Defines `symbol` as being locally defined in the file, to avoid import collisions. */ -function def(symbol) { - return new Code_1.Def(symbol); -} -exports.def = def; -/** Creates a conditionally-output code snippet. */ -function conditionalOutput(usageSite, declarationSite) { - return new ConditionalOutput_1.ConditionalOutput(usageSite, declarationSite); -} -exports.conditionalOutput = conditionalOutput; diff --git a/node_modules/ts-poet/build/is-plain-object.d.ts b/node_modules/ts-poet/build/is-plain-object.d.ts deleted file mode 100644 index 4cc0b088d9..0000000000 --- a/node_modules/ts-poet/build/is-plain-object.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ -export declare function isPlainObject(o: unknown): boolean; diff --git a/node_modules/ts-poet/build/is-plain-object.js b/node_modules/ts-poet/build/is-plain-object.js deleted file mode 100644 index 034044e577..0000000000 --- a/node_modules/ts-poet/build/is-plain-object.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isPlainObject = void 0; -function isPlainObject(o) { - if (o === null || o === undefined) - return false; - if (!isObject(o)) - return false; - // If has modified constructor - const ctor = o.constructor; - if (ctor === undefined) - return true; - // If has modified prototype - if (!isObject(ctor.prototype)) - return false; - // If constructor does not have an Object-specific method - if (!ctor.prototype.hasOwnProperty('isPrototypeOf')) - return false; - // Most likely a plain Object - return true; -} -exports.isPlainObject = isPlainObject; -function isObject(o) { - return Object.prototype.toString.call(o) === '[object Object]'; -} diff --git a/node_modules/ts-poet/jest.config.js b/node_modules/ts-poet/jest.config.js deleted file mode 100644 index 8e6dff4e63..0000000000 --- a/node_modules/ts-poet/jest.config.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - clearMocks: true, - globals: { - 'ts-jest': { - tsconfig: 'tsconfig.json', - }, - }, - moduleFileExtensions: ['ts', 'tsx', 'js'], - testEnvironment: 'node', - testMatch: ['/src/**/*-tests.+(ts|tsx|js)'], - transform: { - '^.+\\.(ts|tsx)$': 'ts-jest', - }, - watchman: true, -}; diff --git a/node_modules/ts-poet/node_modules/.bin/prettier b/node_modules/ts-poet/node_modules/.bin/prettier deleted file mode 120000 index a478df3834..0000000000 --- a/node_modules/ts-poet/node_modules/.bin/prettier +++ /dev/null @@ -1 +0,0 @@ -../prettier/bin-prettier.js \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/LICENSE b/node_modules/ts-poet/node_modules/prettier/LICENSE deleted file mode 100644 index 52d431f28b..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/LICENSE +++ /dev/null @@ -1,5970 +0,0 @@ -# Prettier license - -Prettier is released under the MIT license: - -Copyright © James Long and 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. - -## Licenses of bundled dependencies - -The published Prettier artifact additionally contains code with the following licenses: -MIT, ISC, BSD-2-Clause, BSD-3-Clause, Apache-2.0, 0BSD - -## Bundled dependencies - -### @angular/compiler@v12.2.16 - -License: MIT -By: angular -Repository: - ----------------------------------------- - -### @babel/code-frame@v7.18.6 - -License: MIT -By: The Babel Team -Repository: - -> MIT License -> -> Copyright (c) 2014-present Sebastian McKenzie and other 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. - ----------------------------------------- - -### @babel/helper-validator-identifier@v7.19.1 - -License: MIT -By: The Babel Team -Repository: - -> MIT License -> -> Copyright (c) 2014-present Sebastian McKenzie and other 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. - ----------------------------------------- - -### @babel/highlight@v7.18.6 - -License: MIT -By: The Babel Team -Repository: - -> MIT License -> -> Copyright (c) 2014-present Sebastian McKenzie and other 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. - ----------------------------------------- - -### @babel/parser@v7.21.3 - -License: MIT -By: The Babel Team -Repository: - -> Copyright (C) 2012-2014 by various contributors (see AUTHORS) -> -> 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. - ----------------------------------------- - -### @glimmer/env@v0.1.7 - -License: MIT - -> Copyright (c) 2017 Martin Muñoz and 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. - ----------------------------------------- - -### @glimmer/syntax@v0.84.2 - -License: MIT - -> Copyright (c) 2015 Tilde, Inc. -> -> 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. - ----------------------------------------- - -### @glimmer/util@v0.84.2 - -License: MIT - -> Copyright (c) 2015 Tilde, Inc. -> -> 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. - ----------------------------------------- - -### @handlebars/parser@v2.0.0 - -License: ISC -Repository: - ----------------------------------------- - -### @iarna/toml@v2.2.5 - -License: ISC -By: Rebecca Turner -Repository: - -> Copyright (c) 2016, Rebecca Turner -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### @nodelib/fs.scandir@v2.1.5 - -License: MIT - -> The MIT License (MIT) -> -> Copyright (c) Denis Malinochkin -> -> 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. - ----------------------------------------- - -### @nodelib/fs.stat@v2.0.5 - -License: MIT - -> The MIT License (MIT) -> -> Copyright (c) Denis Malinochkin -> -> 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. - ----------------------------------------- - -### @nodelib/fs.walk@v1.2.8 - -License: MIT - -> The MIT License (MIT) -> -> Copyright (c) Denis Malinochkin -> -> 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. - ----------------------------------------- - -### @typescript-eslint/types@v5.55.0 - -License: MIT -Repository: - -> MIT License -> -> Copyright (c) 2019 typescript-eslint and other 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. - ----------------------------------------- - -### @typescript-eslint/typescript-estree@v5.55.0 - -License: BSD-2-Clause -Repository: - -> TypeScript ESTree -> -> Originally extracted from: -> -> TypeScript ESLint Parser -> Copyright JS Foundation and other contributors, https://js.foundation -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions are met: -> -> - Redistributions of source code must retain the above copyright -> notice, this list of conditions and the following disclaimer. -> - Redistributions in binary form must reproduce the above copyright -> notice, this list of conditions and the following disclaimer in the -> documentation and/or other materials provided with the distribution. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -> ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -> THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------- - -### @typescript-eslint/visitor-keys@v5.55.0 - -License: MIT -Repository: - -> MIT License -> -> Copyright (c) 2019 typescript-eslint and other 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. - ----------------------------------------- - -### acorn@v8.8.1 - -License: MIT -Repository: - -> MIT License -> -> Copyright (C) 2012-2022 by various contributors (see AUTHORS) -> -> 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. - ----------------------------------------- - -### acorn-jsx@v5.3.2 - -License: MIT -Repository: - -> Copyright (C) 2012-2017 by Ingvar Stepanyan -> -> 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. - ----------------------------------------- - -### aggregate-error@v3.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### angular-estree-parser@v2.5.1 - -License: MIT -By: Ika - -> MIT License -> -> Copyright (c) Ika (https://github.com/ikatyang) -> -> 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. - ----------------------------------------- - -### angular-html-parser@v1.8.0 - -License: MIT -By: Ika - -> MIT License -> -> Copyright (c) Ika (https://github.com/ikatyang) -> -> 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. - ----------------------------------------- - -### ansi-regex@v6.0.1 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### ansi-styles@v3.2.1 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### array-union@v2.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### bail@v1.0.5 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### balanced-match@v1.0.2 - -License: MIT -By: Julian Gruber -Repository: - -> (MIT) -> -> Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of -> this software and associated documentation files (the "Software"), to deal in -> the Software without restriction, including without limitation the rights to -> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -> of the Software, and to permit persons to whom the Software is furnished to do -> so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE. - ----------------------------------------- - -### brace-expansion@v1.1.11 - -License: MIT -By: Julian Gruber -Repository: - -> MIT License -> -> Copyright (c) 2013 Julian Gruber -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE. - ----------------------------------------- - -### braces@v3.0.2 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2014-2018, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### camelcase@v6.3.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### ccount@v1.1.0 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### chalk@v2.4.2 - -License: MIT - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### chalk@v5.0.1 - -License: MIT - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### character-entities@v1.2.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### character-entities-legacy@v1.1.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### character-reference-invalid@v1.1.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### ci-info@v3.3.0 - -License: MIT -By: Thomas Watson Steen -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2016-2021 Thomas Watson Steen -> -> 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. - ----------------------------------------- - -### clean-stack@v2.2.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### clone@v1.0.4 - -License: MIT -By: Paul Vorbach -Repository: - -> Copyright © 2011-2015 Paul Vorbach -> -> 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, OUT OF OR IN CONNECTION WITH THE -> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### collapse-white-space@v1.0.6 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### color-convert@v1.9.3 - -License: MIT -By: Heather Arthur - -> Copyright (c) 2011-2016 Heather Arthur -> -> 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. - ----------------------------------------- - -### color-name@v1.1.3 - -License: MIT -By: DY -Repository: - -> The MIT License (MIT) -> Copyright (c) 2015 Dmitry Ivanov -> -> 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. - ----------------------------------------- - -### commondir@v1.0.1 - -License: MIT -By: James Halliday -Repository: - -> The MIT License -> -> Copyright (c) 2013 James Halliday (mail@substack.net) -> -> 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. - ----------------------------------------- - -### concat-map@v0.0.1 - -License: MIT -By: James Halliday -Repository: - -> This software is released under the MIT license: -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of -> this software and associated documentation files (the "Software"), to deal in -> the Software without restriction, including without limitation the rights to -> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -> the Software, and to permit persons to whom the Software is furnished to do so, -> subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### cosmiconfig@v7.0.1 - -License: MIT -By: David Clark -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2015 David Clark -> -> 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. - ----------------------------------------- - -### cross-spawn@v7.0.3 - -License: MIT -By: André Cruz -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2018 Made With MOXY Lda -> -> 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. - ----------------------------------------- - -### crypto-random-string@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### css-units-list@v1.1.0 - -License: MIT -By: fisker Cheung - -> MIT License -> -> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE. - ----------------------------------------- - -### dashify@v2.0.0 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2015-present, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### defaults@v1.0.4 - -License: MIT -By: Elijah Insua -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2022 Sindre Sorhus -> Copyright (c) 2015 Elijah Insua -> -> 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. - ----------------------------------------- - -### del@v6.1.1 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### detect-newline@v3.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### diff@v5.0.0 - -License: BSD-3-Clause -Repository: - -> Software License Agreement (BSD License) -> -> Copyright (c) 2009-2015, Kevin Decker -> -> All rights reserved. -> -> Redistribution and use of this software in source and binary forms, with or without modification, -> are permitted provided that the following conditions are met: -> -> * Redistributions of source code must retain the above -> copyright notice, this list of conditions and the -> following disclaimer. -> -> * Redistributions in binary form must reproduce the above -> copyright notice, this list of conditions and the -> following disclaimer in the documentation and/or other -> materials provided with the distribution. -> -> * Neither the name of Kevin Decker nor the names of its -> contributors may be used to endorse or promote products -> derived from this software without specific prior -> written permission. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -> IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -> FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -> CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -> DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -> IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -> OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------- - -### dir-glob@v3.0.1 - -License: MIT -By: Kevin Mårtensson - -> MIT License -> -> Copyright (c) Kevin Mårtensson (github.com/kevva) -> -> 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. - ----------------------------------------- - -### editorconfig@v0.15.3 - -License: MIT -By: EditorConfig Team -Repository: - -> Copyright © 2012 EditorConfig Team -> -> 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. - ----------------------------------------- - -### editorconfig-to-prettier@v1.0.0 - -License: ISC -By: Joseph Frazier -Repository: - ----------------------------------------- - -### emoji-regex@v9.2.2 - -License: MIT -By: Mathias Bynens -Repository: - -> Copyright Mathias Bynens -> -> 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. - ----------------------------------------- - -### error-ex@v1.3.2 - -License: MIT - -> The MIT License (MIT) -> -> Copyright (c) 2015 JD Ballard -> -> 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. - ----------------------------------------- - -### escape-string-regexp@v1.0.5 - -License: MIT -By: Sindre Sorhus - -> The MIT License (MIT) -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### escape-string-regexp@v5.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### eslint-visitor-keys@v3.3.0 - -License: Apache-2.0 -By: Toru Nagashima - -> 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 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. - ----------------------------------------- - -### espree@v9.4.1 - -License: BSD-2-Clause -By: Nicholas C. Zakas - -> BSD 2-Clause License -> -> Copyright (c) Open JS Foundation -> All rights reserved. -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions are met: -> -> 1. Redistributions of source code must retain the above copyright notice, this -> list of conditions and the following disclaimer. -> -> 2. Redistributions in binary form must reproduce the above copyright notice, -> this list of conditions and the following disclaimer in the documentation -> and/or other materials provided with the distribution. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------- - -### esutils@v2.0.3 - -License: BSD-2-Clause -Repository: - -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions are met: -> -> * Redistributions of source code must retain the above copyright -> notice, this list of conditions and the following disclaimer. -> * Redistributions in binary form must reproduce the above copyright -> notice, this list of conditions and the following disclaimer in the -> documentation and/or other materials provided with the distribution. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -> ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -> THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------- - -### execa@v6.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### extend@v3.0.2 - -License: MIT -By: Stefan Thomas -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2014 Stefan Thomas -> -> 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. - ----------------------------------------- - -### fast-glob@v3.2.12 - -License: MIT -By: Denis Malinochkin - -> The MIT License (MIT) -> -> Copyright (c) Denis Malinochkin -> -> 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. - ----------------------------------------- - -### fast-json-stable-stringify@v2.1.0 - -License: MIT -By: James Halliday -Repository: - -> This software is released under the MIT license: -> -> Copyright (c) 2017 Evgeny Poberezkin -> Copyright (c) 2013 James Halliday -> -> 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. - ----------------------------------------- - -### fastq@v1.14.0 - -License: ISC -By: Matteo Collina -Repository: - -> Copyright (c) 2015-2020, Matteo Collina -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### file-entry-cache@v6.0.1 - -License: MIT -By: Roy Riojas - -> The MIT License (MIT) -> -> Copyright (c) 2015 Roy Riojas -> -> 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. - ----------------------------------------- - -### fill-range@v7.0.1 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2014-present, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### find-cache-dir@v3.3.2 - -License: MIT - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### find-parent-dir@v0.3.1 - -License: MIT -By: Thorsten Lorenz -Repository: - -> Copyright 2013 Thorsten Lorenz. -> 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. - ----------------------------------------- - -### find-up@v4.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### flat-cache@v3.0.4 - -License: MIT -By: Roy Riojas - -> The MIT License (MIT) -> -> Copyright (c) 2015 Roy Riojas -> -> 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. - ----------------------------------------- - -### flatted@v3.2.7 - -License: ISC -By: Andrea Giammarchi -Repository: - -> ISC License -> -> Copyright (c) 2018-2020, Andrea Giammarchi, @WebReflection -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -> OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -> PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### flatten@v1.0.3 - -License: MIT -By: Joshua Holbrook -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2016 Joshua Holbrook -> -> 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. - ----------------------------------------- - -### flow-parser@v0.180.0 - -License: MIT -By: Flow Team -Repository: - ----------------------------------------- - -### fs.realpath@v1.0.0 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -> -> ---- -> -> This library bundles a version of the `fs.realpath` and `fs.realpathSync` -> methods from Node.js v0.10 under the terms of the Node.js MIT license. -> -> Node's license follows, also included at the header of `old.js` which contains -> the licensed code: -> -> Copyright Joyent, Inc. and other Node contributors. -> -> Permission is hereby granted, free of charge, to any person obtaining a -> copy of this software and associated documentation files (the "Software"), -> to deal in the Software without restriction, including without limitation -> the rights to use, copy, modify, merge, publish, distribute, sublicense, -> and/or sell copies of the Software, and to permit persons to whom the -> Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -> DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### function-bind@v1.1.1 - -License: MIT -By: Raynos - -> Copyright (c) 2013 Raynos. -> -> 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. - ----------------------------------------- - -### get-stdin@v8.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### get-stream@v6.0.1 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### glob@v7.2.3 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -> -> ## Glob Logo -> -> Glob's logo created by Tanya Brassie , licensed -> under a Creative Commons Attribution-ShareAlike 4.0 International License -> https://creativecommons.org/licenses/by-sa/4.0/ - ----------------------------------------- - -### glob-parent@v5.1.2 - -License: ISC -By: Gulp Team - -> The ISC License -> -> Copyright (c) 2015, 2019 Elan Shanker -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### globby@v11.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### graceful-fs@v4.2.10 - -License: ISC -Repository: - -> The ISC License -> -> Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### graphql@v15.6.1 - -License: MIT -Repository: - -> MIT License -> -> Copyright (c) GraphQL 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. - ----------------------------------------- - -### has@v1.0.3 - -License: MIT -By: Thiago de Arruda -Repository: - -> Copyright (c) 2013 Thiago de Arruda -> -> 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. - ----------------------------------------- - -### has-flag@v3.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### html-element-attributes@v3.1.0 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### html-tag-names@v2.0.1 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### human-signals@v3.0.1 - -License: Apache-2.0 -By: ehmicky - -> 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 2021 ehmicky -> -> 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. - ----------------------------------------- - -### ignore@v5.2.0 - -License: MIT -By: kael -Repository: - -> Copyright (c) 2013 Kael Zhang , contributors -> http://kael.me/ -> -> 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. - ----------------------------------------- - -### ignore@v5.2.4 - -License: MIT -By: kael -Repository: - -> Copyright (c) 2013 Kael Zhang , contributors -> http://kael.me/ -> -> 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. - ----------------------------------------- - -### import-fresh@v3.3.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### indent-string@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### indexes-of@v1.0.1 - -License: MIT -By: Dominic Tarr -Repository: - -> Copyright (c) 2013 Dominic Tarr -> -> 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. - ----------------------------------------- - -### inflight@v1.0.6 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### inherits@v2.0.4 - -License: ISC - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -> PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### is-alphabetical@v1.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### is-alphanumerical@v1.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### is-arrayish@v0.2.1 - -License: MIT -By: Qix -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2015 JD Ballard -> -> 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. - ----------------------------------------- - -### is-buffer@v2.0.5 - -License: MIT -By: Feross Aboukhadijeh -Repository: - -> The MIT License (MIT) -> -> Copyright (c) Feross Aboukhadijeh -> -> 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. - ----------------------------------------- - -### is-core-module@v2.11.0 - -License: MIT -By: Jordan Harband -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2014 Dave Justice -> -> 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. - ----------------------------------------- - -### is-decimal@v1.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### is-extglob@v2.1.1 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2014-2016, Jon Schlinkert -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### is-fullwidth-code-point@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### is-glob@v4.0.3 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2014-2017, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### is-hexadecimal@v1.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### is-number@v7.0.0 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2014-present, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### is-path-cwd@v2.2.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### is-path-inside@v3.0.3 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### is-plain-obj@v2.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### is-stream@v3.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### is-whitespace-character@v1.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### is-word-character@v1.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### isexe@v2.0.0 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### jest-docblock@v28.1.1 - -License: MIT -Repository: - -> MIT License -> -> Copyright (c) Facebook, Inc. and its affiliates. -> -> 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. - ----------------------------------------- - -### js-tokens@v4.0.0 - -License: MIT -By: Simon Lydell - -> The MIT License (MIT) -> -> Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell -> -> 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. - ----------------------------------------- - -### json-parse-even-better-errors@v2.3.1 - -License: MIT -By: Kat Marchán - -> Copyright 2017 Kat Marchán -> Copyright npm, Inc. -> -> 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. -> -> --- -> -> This library is a fork of 'better-json-errors' by Kat Marchán, extended and -> distributed under the terms of the MIT license above. - ----------------------------------------- - -### json5@v2.2.2 - -License: MIT -By: Aseem Kishore -Repository: - -> MIT License -> -> Copyright (c) 2012-2018 Aseem Kishore, and [others]. -> -> 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. -> -> [others]: https://github.com/json5/json5/contributors - ----------------------------------------- - -### leven@v2.1.0 - -License: MIT -By: Sindre Sorhus - -> The MIT License (MIT) -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### leven@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### lines-and-columns@v1.2.4 - -License: MIT -By: Brian Donovan -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2015 Brian Donovan -> -> 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. - ----------------------------------------- - -### lines-and-columns@v2.0.3 - -License: MIT -By: Brian Donovan -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2015 Brian Donovan -> -> 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. - ----------------------------------------- - -### linguist-languages@v7.21.0 - -License: MIT -By: Ika - -> MIT License -> -> Copyright (c) Ika (https://github.com/ikatyang) -> -> 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. - ----------------------------------------- - -### locate-path@v5.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### lru-cache@v4.1.5 - -License: ISC -By: Isaac Z. Schlueter - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### lru-cache@v6.0.0 - -License: ISC -By: Isaac Z. Schlueter - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### make-dir@v3.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### map-age-cleaner@v0.1.3 - -License: MIT -By: Sam Verschueren - -> MIT License -> -> Copyright (c) Sam Verschueren (github.com/SamVerschueren) -> -> 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. - ----------------------------------------- - -### markdown-escapes@v1.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### mem@v9.0.2 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### merge-stream@v2.0.0 - -License: MIT -By: Stephen Sugden - -> The MIT License (MIT) -> -> Copyright (c) Stephen Sugden (stephensugden.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### merge2@v1.4.1 - -License: MIT -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2014-2020 Teambition -> -> 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. - ----------------------------------------- - -### meriyah@v4.2.1 - -License: ISC -By: Kenny F. -Repository: - -> ISC License -> -> Copyright (c) 2019 and later, KFlash and others. -> -> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### micromatch@v4.0.5 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2014-present, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### mimic-fn@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### minimatch@v3.1.2 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### minimist@v1.2.6 - -License: MIT -By: James Halliday -Repository: - -> This software is released under the MIT license: -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of -> this software and associated documentation files (the "Software"), to deal in -> the Software without restriction, including without limitation the rights to -> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -> the Software, and to permit persons to whom the Software is furnished to do so, -> subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### n-readlines@v1.0.1 - -License: MIT -By: Yoan Arnaudov -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2013 Liucw -> -> 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. - ----------------------------------------- - -### npm-run-path@v5.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### once@v1.4.0 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### onetime@v6.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### outdent@v0.8.0 - -License: MIT -By: Andrew Bradley -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2016 Andrew Bradley -> -> 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. - ----------------------------------------- - -### p-defer@v1.0.0 - -License: MIT -By: Sindre Sorhus - -> The MIT License (MIT) -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### p-limit@v2.3.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### p-locate@v4.1.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### p-map@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### p-try@v2.2.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### parse-entities@v2.0.0 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### parse-json@v5.2.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### parse-srcset@v1.0.2 - -License: MIT -By: Alex Bell -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2014 Alex Bell -> -> 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. - ----------------------------------------- - -### path-exists@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### path-is-absolute@v1.0.1 - -License: MIT -By: Sindre Sorhus - -> The MIT License (MIT) -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### path-key@v3.1.1 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### path-parse@v1.0.7 - -License: MIT -By: Javier Blanco -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2015 Javier Blanco -> -> 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. - ----------------------------------------- - -### path-type@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### picocolors@v0.2.1 - -License: ISC -By: Alexey Raspopov - -> ISC License -> -> Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### picomatch@v2.3.1 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2017-present, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### pkg-dir@v4.2.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### please-upgrade-node@v3.2.0 - -License: MIT -By: typicode -Repository: - -> MIT License -> -> Copyright (c) 2017 -> -> 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. - ----------------------------------------- - -### postcss@v7.0.39 - -License: MIT -By: Andrey Sitnik - -> The MIT License (MIT) -> -> Copyright 2013 Andrey Sitnik -> -> 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. - ----------------------------------------- - -### postcss-less@v3.1.4 - -License: MIT -By: Denys Kniazevych - -> The MIT License (MIT) -> -> Copyright (c) 2013 Andrey Sitnik -> Copyright (c) 2016 Denys Kniazevych -> Copyright (c) 2016 Pat Sissons -> Copyright (c) 2017 Andrew Powell -> -> 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. - ----------------------------------------- - -### postcss-media-query-parser@v0.2.3 - -License: MIT -By: dryoma -Repository: - ----------------------------------------- - -### postcss-scss@v2.1.1 - -License: MIT -By: Andrey Sitnik - -> The MIT License (MIT) -> -> Copyright 2013 Andrey Sitnik -> -> 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. - ----------------------------------------- - -### postcss-selector-parser@v2.2.3 - -License: MIT -By: Ben Briggs - -> Copyright (c) Ben Briggs (http://beneb.info) -> -> 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. - ----------------------------------------- - -### postcss-values-parser@v2.0.1 - -License: MIT -By: Andrew Powell (shellscape) - -> Copyright (c) Andrew Powell -> -> 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. - ----------------------------------------- - -### pseudomap@v1.0.2 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### queue-microtask@v1.2.3 - -License: MIT -By: Feross Aboukhadijeh -Repository: - -> The MIT License (MIT) -> -> Copyright (c) Feross Aboukhadijeh -> -> 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. - ----------------------------------------- - -### remark-footnotes@v2.0.0 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2020 Titus Wormer -> -> 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. - ----------------------------------------- - -### remark-math@v3.0.1 - -License: MIT -By: Junyoung Choi - ----------------------------------------- - -### remark-parse@v8.0.3 - -License: MIT -By: Titus Wormer - ----------------------------------------- - -### repeat-string@v1.6.1 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2014-2016, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### resolve@v1.22.1 - -License: MIT -By: James Halliday -Repository: - -> MIT License -> -> Copyright (c) 2012 James Halliday -> -> 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. - ----------------------------------------- - -### resolve-from@v4.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### reusify@v1.0.4 - -License: MIT -By: Matteo Collina -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2015 Matteo Collina -> -> 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. - ----------------------------------------- - -### rimraf@v3.0.2 - -License: ISC -By: Isaac Z. Schlueter - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### rollup-plugin-node-polyfills@v0.2.1 - -License: MIT -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2019 these people -> -> 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. - ----------------------------------------- - -### run-parallel@v1.2.0 - -License: MIT -By: Feross Aboukhadijeh -Repository: - -> The MIT License (MIT) -> -> Copyright (c) Feross Aboukhadijeh -> -> 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. - ----------------------------------------- - -### sdbm@v2.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### semver@v6.3.0 - -License: ISC - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### semver@v7.3.7 - -License: ISC -By: GitHub Inc. -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### semver@v7.3.8 - -License: ISC -By: GitHub Inc. -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### semver-compare@v1.0.0 - -License: MIT -By: James Halliday -Repository: - -> This software is released under the MIT license: -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of -> this software and associated documentation files (the "Software"), to deal in -> the Software without restriction, including without limitation the rights to -> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -> the Software, and to permit persons to whom the Software is furnished to do so, -> subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### shebang-command@v2.0.0 - -License: MIT -By: Kevin Mårtensson - -> MIT License -> -> Copyright (c) Kevin Mårtensson (github.com/kevva) -> -> 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. - ----------------------------------------- - -### shebang-regex@v3.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### sigmund@v1.0.1 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### signal-exit@v3.0.7 - -License: ISC -By: Ben Coe -Repository: - -> The ISC License -> -> Copyright (c) 2015, Contributors -> -> Permission to use, copy, modify, and/or distribute this software -> for any purpose with or without fee is hereby granted, provided -> that the above copyright notice and this permission notice -> appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -> OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -> LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -> OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -> WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -> ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### simple-html-tokenizer@v0.5.11 - -License: MIT -Repository: - -> Copyright (c) 2014 Yehuda Katz and 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. - ----------------------------------------- - -### slash@v3.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### state-toggle@v1.0.3 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### string-width@v5.0.1 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### strip-ansi@v7.0.1 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### strip-final-newline@v3.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### supports-color@v5.5.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### temp-dir@v2.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> Copyright (c) Sindre Sorhus (sindresorhus.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------- - -### tempy@v2.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### to-regex-range@v5.0.1 - -License: MIT -By: Jon Schlinkert - -> The MIT License (MIT) -> -> Copyright (c) 2015-present, Jon Schlinkert. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - ----------------------------------------- - -### trim@v0.0.1 - -By: TJ Holowaychuk - ----------------------------------------- - -### trim-trailing-lines@v1.1.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### trough@v1.0.5 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### tslib@v1.14.1 - -License: 0BSD -By: Microsoft Corp. -Repository: - -> Copyright (c) Microsoft Corporation. -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -> PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### tsutils@v3.21.0 - -License: MIT -By: Klaus Meinhardt -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2017 Klaus Meinhardt -> -> 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. - ----------------------------------------- - -### typescript@v5.0.2 - -License: Apache-2.0 -By: Microsoft Corp. -Repository: - -> Apache License -> -> Version 2.0, January 2004 -> -> http://www.apache.org/licenses/ -> -> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -> -> 1. Definitions. -> -> "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. -> -> "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -> -> "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -> -> "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -> -> "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -> -> "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -> -> "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). -> -> "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. -> -> "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -> -> "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. -> -> 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -> -> 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -> -> 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -> -> You must give any other recipients of the Work or Derivative Works a copy of this License; and -> -> You must cause any modified files to carry prominent notices stating that You changed the files; and -> -> You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -> -> If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -> -> 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. -> -> 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. -> -> 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -> -> 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. -> -> 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -> -> END OF TERMS AND CONDITIONS - ----------------------------------------- - -### unherit@v1.1.3 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### unified@v9.2.1 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### uniq@v1.0.1 - -License: MIT -By: Mikola Lysenko -Repository: - -> The MIT License (MIT) -> -> Copyright (c) 2013 Mikola Lysenko -> -> 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. - ----------------------------------------- - -### unique-string@v3.0.0 - -License: MIT -By: Sindre Sorhus - -> MIT License -> -> 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: -> -> 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. - ----------------------------------------- - -### unist-util-is@v4.1.0 - -License: MIT -By: Titus Wormer - -> (The MIT license) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### unist-util-remove-position@v2.0.1 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### unist-util-stringify-position@v2.0.3 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### unist-util-visit@v2.0.3 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### unist-util-visit-parents@v3.1.1 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### vfile@v4.2.1 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2015 Titus Wormer -> -> 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. - ----------------------------------------- - -### vfile-location@v3.2.0 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2016 Titus Wormer -> -> 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. - ----------------------------------------- - -### vfile-message@v2.0.4 - -License: MIT -By: Titus Wormer - -> (The MIT License) -> -> Copyright (c) 2017 Titus Wormer -> -> 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. - ----------------------------------------- - -### vnopts@v1.0.2 - -License: MIT -By: Ika - -> MIT License -> -> Copyright (c) Ika (https://github.com/ikatyang) -> -> 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. - ----------------------------------------- - -### wcwidth@v1.0.1 - -License: MIT -By: Tim Oxley -Repository: - -> wcwidth.js: JavaScript Portng of Markus Kuhn's wcwidth() Implementation -> ======================================================================= -> -> Copyright (C) 2012 by Jun Woong. -> -> This package is a JavaScript porting of `wcwidth()` implementation -> [by Markus Kuhn](http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c). -> -> 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. -> -> -> THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -> INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -> FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR -> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -> EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -> PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -> BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -> IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -> ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -> POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------- - -### which@v2.0.2 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### wrappy@v1.0.2 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### xtend@v4.0.2 - -License: MIT -By: Raynos - -> The MIT License (MIT) -> Copyright (c) 2012-2014 Raynos. -> -> 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. - ----------------------------------------- - -### yallist@v2.1.2 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### yallist@v4.0.0 - -License: ISC -By: Isaac Z. Schlueter -Repository: - -> The ISC License -> -> Copyright (c) Isaac Z. Schlueter and Contributors -> -> Permission to use, copy, modify, and/or distribute this software for any -> purpose with or without fee is hereby granted, provided that the above -> copyright notice and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----------------------------------------- - -### yaml@v1.10.2 - -License: ISC -By: Eemeli Aro - -> Copyright 2018 Eemeli Aro -> -> Permission to use, copy, modify, and/or distribute this software for any purpose -> with or without fee is hereby granted, provided that the above copyright notice -> and this permission notice appear in all copies. -> -> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -> OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -> TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -> THIS SOFTWARE. - ----------------------------------------- - -### yaml-unist-parser@v1.3.1 - -License: MIT -By: Ika - -> MIT License -> -> Copyright (c) Ika (https://github.com/ikatyang) -> -> 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/ts-poet/node_modules/prettier/README.md b/node_modules/ts-poet/node_modules/prettier/README.md deleted file mode 100644 index 4076b3ad5f..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/README.md +++ /dev/null @@ -1,109 +0,0 @@ -![Prettier Banner](https://unpkg.com/prettier-logo@1.0.3/images/prettier-banner-light.svg) - -

Opinionated Code Formatter

- -

- - JavaScript - · TypeScript - · Flow - · JSX - · JSON - -
- - CSS - · SCSS - · Less - -
- - HTML - · Vue - · Angular - -
- - GraphQL - · Markdown - · YAML - -
- - - Your favorite language? - - -

- -

- - Github Actions Build Status - - Github Actions Build Status - - Github Actions Build Status - - Codecov Coverage Status - - Blazing Fast -
- - npm version - - weekly downloads from npm - - code style: prettier - - Follow Prettier on Twitter -

- -## Intro - -Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary. - -### Input - - -```js -foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne()); -``` - -### Output - -```js -foo( - reallyLongArg(), - omgSoManyParameters(), - IShouldRefactorThis(), - isThereSeriouslyAnotherOne() -); -``` - -Prettier can be run [in your editor](https://prettier.io/docs/en/editors.html) on-save, in a [pre-commit hook](https://prettier.io/docs/en/precommit.html), or in [CI environments](https://prettier.io/docs/en/cli.html#list-different) to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again! - ---- - -**[Documentation](https://prettier.io/docs/en/)** - - -[Install](https://prettier.io/docs/en/install.html) · -[Options](https://prettier.io/docs/en/options.html) · -[CLI](https://prettier.io/docs/en/cli.html) · -[API](https://prettier.io/docs/en/api.html) - -**[Playground](https://prettier.io/playground/)** - ---- - -## Badge - -Show the world you're using _Prettier_ → [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) - -```md -[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) -``` - -## Contributing - -See [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/node_modules/ts-poet/node_modules/prettier/bin-prettier.js b/node_modules/ts-poet/node_modules/prettier/bin-prettier.js deleted file mode 100755 index 2fe860c93d..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/bin-prettier.js +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env node -"use strict"; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __commonJS = function(cb, mod) { - return function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; -}; - -// node_modules/semver-compare/index.js -var require_semver_compare = __commonJS({ - "node_modules/semver-compare/index.js": function(exports2, module2) { - module2.exports = function cmp(a, b) { - var pa = a.split("."); - var pb = b.split("."); - for (var i = 0; i < 3; i++) { - var na = Number(pa[i]); - var nb = Number(pb[i]); - if (na > nb) - return 1; - if (nb > na) - return -1; - if (!isNaN(na) && isNaN(nb)) - return 1; - if (isNaN(na) && !isNaN(nb)) - return -1; - } - return 0; - }; - } -}); - -// node_modules/please-upgrade-node/index.js -var require_please_upgrade_node = __commonJS({ - "node_modules/please-upgrade-node/index.js": function(exports2, module2) { - var semverCompare = require_semver_compare(); - module2.exports = function pleaseUpgradeNode2(pkg, opts) { - var opts = opts || {}; - var requiredVersion = pkg.engines.node.replace(">=", ""); - var currentVersion = process.version.replace("v", ""); - if (semverCompare(currentVersion, requiredVersion) === -1) { - if (opts.message) { - console.error(opts.message(requiredVersion)); - } else { - console.error( - pkg.name + " requires at least version " + requiredVersion + " of Node, please upgrade" - ); - } - if (opts.hasOwnProperty("exitCode")) { - process.exit(opts.exitCode); - } else { - process.exit(1); - } - } - }; - } -}); - -// bin/prettier.js -var pleaseUpgradeNode = require_please_upgrade_node(); -var packageJson = require("./package.json"); -pleaseUpgradeNode(packageJson); -var cli = require("./cli.js"); -module.exports = cli.run(process.argv.slice(2)); diff --git a/node_modules/ts-poet/node_modules/prettier/cli.js b/node_modules/ts-poet/node_modules/prettier/cli.js deleted file mode 100644 index 88127631b6..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/cli.js +++ /dev/null @@ -1,15364 +0,0 @@ -"use strict"; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; - -// node_modules/core-js/internals/global.js -var require_global = __commonJS({ - "node_modules/core-js/internals/global.js"(exports2, module2) { - var check = function(it) { - return it && it.Math == Math && it; - }; - module2.exports = check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || check(typeof self == "object" && self) || check(typeof global == "object" && global) || function() { - return this; - }() || Function("return this")(); - } -}); - -// node_modules/core-js/internals/fails.js -var require_fails = __commonJS({ - "node_modules/core-js/internals/fails.js"(exports2, module2) { - module2.exports = function(exec) { - try { - return !!exec(); - } catch (error) { - return true; - } - }; - } -}); - -// node_modules/core-js/internals/descriptors.js -var require_descriptors = __commonJS({ - "node_modules/core-js/internals/descriptors.js"(exports2, module2) { - var fails = require_fails(); - module2.exports = !fails(function() { - return Object.defineProperty({}, 1, { get: function() { - return 7; - } })[1] != 7; - }); - } -}); - -// node_modules/core-js/internals/function-bind-native.js -var require_function_bind_native = __commonJS({ - "node_modules/core-js/internals/function-bind-native.js"(exports2, module2) { - var fails = require_fails(); - module2.exports = !fails(function() { - var test = function() { - }.bind(); - return typeof test != "function" || test.hasOwnProperty("prototype"); - }); - } -}); - -// node_modules/core-js/internals/function-call.js -var require_function_call = __commonJS({ - "node_modules/core-js/internals/function-call.js"(exports2, module2) { - var NATIVE_BIND = require_function_bind_native(); - var call = Function.prototype.call; - module2.exports = NATIVE_BIND ? call.bind(call) : function() { - return call.apply(call, arguments); - }; - } -}); - -// node_modules/core-js/internals/object-property-is-enumerable.js -var require_object_property_is_enumerable = __commonJS({ - "node_modules/core-js/internals/object-property-is-enumerable.js"(exports2) { - "use strict"; - var $propertyIsEnumerable = {}.propertyIsEnumerable; - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); - exports2.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; - } : $propertyIsEnumerable; - } -}); - -// node_modules/core-js/internals/create-property-descriptor.js -var require_create_property_descriptor = __commonJS({ - "node_modules/core-js/internals/create-property-descriptor.js"(exports2, module2) { - module2.exports = function(bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value - }; - }; - } -}); - -// node_modules/core-js/internals/function-uncurry-this.js -var require_function_uncurry_this = __commonJS({ - "node_modules/core-js/internals/function-uncurry-this.js"(exports2, module2) { - var NATIVE_BIND = require_function_bind_native(); - var FunctionPrototype = Function.prototype; - var call = FunctionPrototype.call; - var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); - module2.exports = NATIVE_BIND ? uncurryThisWithBind : function(fn) { - return function() { - return call.apply(fn, arguments); - }; - }; - } -}); - -// node_modules/core-js/internals/classof-raw.js -var require_classof_raw = __commonJS({ - "node_modules/core-js/internals/classof-raw.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var toString = uncurryThis({}.toString); - var stringSlice = uncurryThis("".slice); - module2.exports = function(it) { - return stringSlice(toString(it), 8, -1); - }; - } -}); - -// node_modules/core-js/internals/indexed-object.js -var require_indexed_object = __commonJS({ - "node_modules/core-js/internals/indexed-object.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var fails = require_fails(); - var classof = require_classof_raw(); - var $Object = Object; - var split = uncurryThis("".split); - module2.exports = fails(function() { - return !$Object("z").propertyIsEnumerable(0); - }) ? function(it) { - return classof(it) == "String" ? split(it, "") : $Object(it); - } : $Object; - } -}); - -// node_modules/core-js/internals/is-null-or-undefined.js -var require_is_null_or_undefined = __commonJS({ - "node_modules/core-js/internals/is-null-or-undefined.js"(exports2, module2) { - module2.exports = function(it) { - return it === null || it === void 0; - }; - } -}); - -// node_modules/core-js/internals/require-object-coercible.js -var require_require_object_coercible = __commonJS({ - "node_modules/core-js/internals/require-object-coercible.js"(exports2, module2) { - var isNullOrUndefined = require_is_null_or_undefined(); - var $TypeError = TypeError; - module2.exports = function(it) { - if (isNullOrUndefined(it)) - throw $TypeError("Can't call method on " + it); - return it; - }; - } -}); - -// node_modules/core-js/internals/to-indexed-object.js -var require_to_indexed_object = __commonJS({ - "node_modules/core-js/internals/to-indexed-object.js"(exports2, module2) { - var IndexedObject = require_indexed_object(); - var requireObjectCoercible = require_require_object_coercible(); - module2.exports = function(it) { - return IndexedObject(requireObjectCoercible(it)); - }; - } -}); - -// node_modules/core-js/internals/document-all.js -var require_document_all = __commonJS({ - "node_modules/core-js/internals/document-all.js"(exports2, module2) { - var documentAll = typeof document == "object" && document.all; - var IS_HTMLDDA = typeof documentAll == "undefined" && documentAll !== void 0; - module2.exports = { - all: documentAll, - IS_HTMLDDA - }; - } -}); - -// node_modules/core-js/internals/is-callable.js -var require_is_callable = __commonJS({ - "node_modules/core-js/internals/is-callable.js"(exports2, module2) { - var $documentAll = require_document_all(); - var documentAll = $documentAll.all; - module2.exports = $documentAll.IS_HTMLDDA ? function(argument) { - return typeof argument == "function" || argument === documentAll; - } : function(argument) { - return typeof argument == "function"; - }; - } -}); - -// node_modules/core-js/internals/is-object.js -var require_is_object = __commonJS({ - "node_modules/core-js/internals/is-object.js"(exports2, module2) { - var isCallable = require_is_callable(); - var $documentAll = require_document_all(); - var documentAll = $documentAll.all; - module2.exports = $documentAll.IS_HTMLDDA ? function(it) { - return typeof it == "object" ? it !== null : isCallable(it) || it === documentAll; - } : function(it) { - return typeof it == "object" ? it !== null : isCallable(it); - }; - } -}); - -// node_modules/core-js/internals/get-built-in.js -var require_get_built_in = __commonJS({ - "node_modules/core-js/internals/get-built-in.js"(exports2, module2) { - var global2 = require_global(); - var isCallable = require_is_callable(); - var aFunction = function(argument) { - return isCallable(argument) ? argument : void 0; - }; - module2.exports = function(namespace, method) { - return arguments.length < 2 ? aFunction(global2[namespace]) : global2[namespace] && global2[namespace][method]; - }; - } -}); - -// node_modules/core-js/internals/object-is-prototype-of.js -var require_object_is_prototype_of = __commonJS({ - "node_modules/core-js/internals/object-is-prototype-of.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - module2.exports = uncurryThis({}.isPrototypeOf); - } -}); - -// node_modules/core-js/internals/engine-user-agent.js -var require_engine_user_agent = __commonJS({ - "node_modules/core-js/internals/engine-user-agent.js"(exports2, module2) { - var getBuiltIn = require_get_built_in(); - module2.exports = getBuiltIn("navigator", "userAgent") || ""; - } -}); - -// node_modules/core-js/internals/engine-v8-version.js -var require_engine_v8_version = __commonJS({ - "node_modules/core-js/internals/engine-v8-version.js"(exports2, module2) { - var global2 = require_global(); - var userAgent = require_engine_user_agent(); - var process2 = global2.process; - var Deno = global2.Deno; - var versions = process2 && process2.versions || Deno && Deno.version; - var v8 = versions && versions.v8; - var match; - var version; - if (v8) { - match = v8.split("."); - version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); - } - if (!version && userAgent) { - match = userAgent.match(/Edge\/(\d+)/); - if (!match || match[1] >= 74) { - match = userAgent.match(/Chrome\/(\d+)/); - if (match) - version = +match[1]; - } - } - module2.exports = version; - } -}); - -// node_modules/core-js/internals/symbol-constructor-detection.js -var require_symbol_constructor_detection = __commonJS({ - "node_modules/core-js/internals/symbol-constructor-detection.js"(exports2, module2) { - var V8_VERSION = require_engine_v8_version(); - var fails = require_fails(); - module2.exports = !!Object.getOwnPropertySymbols && !fails(function() { - var symbol = Symbol(); - return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; - }); - } -}); - -// node_modules/core-js/internals/use-symbol-as-uid.js -var require_use_symbol_as_uid = __commonJS({ - "node_modules/core-js/internals/use-symbol-as-uid.js"(exports2, module2) { - var NATIVE_SYMBOL = require_symbol_constructor_detection(); - module2.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == "symbol"; - } -}); - -// node_modules/core-js/internals/is-symbol.js -var require_is_symbol = __commonJS({ - "node_modules/core-js/internals/is-symbol.js"(exports2, module2) { - var getBuiltIn = require_get_built_in(); - var isCallable = require_is_callable(); - var isPrototypeOf = require_object_is_prototype_of(); - var USE_SYMBOL_AS_UID = require_use_symbol_as_uid(); - var $Object = Object; - module2.exports = USE_SYMBOL_AS_UID ? function(it) { - return typeof it == "symbol"; - } : function(it) { - var $Symbol = getBuiltIn("Symbol"); - return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); - }; - } -}); - -// node_modules/core-js/internals/try-to-string.js -var require_try_to_string = __commonJS({ - "node_modules/core-js/internals/try-to-string.js"(exports2, module2) { - var $String = String; - module2.exports = function(argument) { - try { - return $String(argument); - } catch (error) { - return "Object"; - } - }; - } -}); - -// node_modules/core-js/internals/a-callable.js -var require_a_callable = __commonJS({ - "node_modules/core-js/internals/a-callable.js"(exports2, module2) { - var isCallable = require_is_callable(); - var tryToString = require_try_to_string(); - var $TypeError = TypeError; - module2.exports = function(argument) { - if (isCallable(argument)) - return argument; - throw $TypeError(tryToString(argument) + " is not a function"); - }; - } -}); - -// node_modules/core-js/internals/get-method.js -var require_get_method = __commonJS({ - "node_modules/core-js/internals/get-method.js"(exports2, module2) { - var aCallable = require_a_callable(); - var isNullOrUndefined = require_is_null_or_undefined(); - module2.exports = function(V, P) { - var func = V[P]; - return isNullOrUndefined(func) ? void 0 : aCallable(func); - }; - } -}); - -// node_modules/core-js/internals/ordinary-to-primitive.js -var require_ordinary_to_primitive = __commonJS({ - "node_modules/core-js/internals/ordinary-to-primitive.js"(exports2, module2) { - var call = require_function_call(); - var isCallable = require_is_callable(); - var isObject = require_is_object(); - var $TypeError = TypeError; - module2.exports = function(input, pref) { - var fn, val; - if (pref === "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) - return val; - if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) - return val; - if (pref !== "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) - return val; - throw $TypeError("Can't convert object to primitive value"); - }; - } -}); - -// node_modules/core-js/internals/is-pure.js -var require_is_pure = __commonJS({ - "node_modules/core-js/internals/is-pure.js"(exports2, module2) { - module2.exports = false; - } -}); - -// node_modules/core-js/internals/define-global-property.js -var require_define_global_property = __commonJS({ - "node_modules/core-js/internals/define-global-property.js"(exports2, module2) { - var global2 = require_global(); - var defineProperty = Object.defineProperty; - module2.exports = function(key, value) { - try { - defineProperty(global2, key, { value, configurable: true, writable: true }); - } catch (error) { - global2[key] = value; - } - return value; - }; - } -}); - -// node_modules/core-js/internals/shared-store.js -var require_shared_store = __commonJS({ - "node_modules/core-js/internals/shared-store.js"(exports2, module2) { - var global2 = require_global(); - var defineGlobalProperty = require_define_global_property(); - var SHARED = "__core-js_shared__"; - var store = global2[SHARED] || defineGlobalProperty(SHARED, {}); - module2.exports = store; - } -}); - -// node_modules/core-js/internals/shared.js -var require_shared = __commonJS({ - "node_modules/core-js/internals/shared.js"(exports2, module2) { - var IS_PURE = require_is_pure(); - var store = require_shared_store(); - (module2.exports = function(key, value) { - return store[key] || (store[key] = value !== void 0 ? value : {}); - })("versions", []).push({ - version: "3.26.1", - mode: IS_PURE ? "pure" : "global", - copyright: "\xA9 2014-2022 Denis Pushkarev (zloirock.ru)", - license: "https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE", - source: "https://github.com/zloirock/core-js" - }); - } -}); - -// node_modules/core-js/internals/to-object.js -var require_to_object = __commonJS({ - "node_modules/core-js/internals/to-object.js"(exports2, module2) { - var requireObjectCoercible = require_require_object_coercible(); - var $Object = Object; - module2.exports = function(argument) { - return $Object(requireObjectCoercible(argument)); - }; - } -}); - -// node_modules/core-js/internals/has-own-property.js -var require_has_own_property = __commonJS({ - "node_modules/core-js/internals/has-own-property.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var toObject = require_to_object(); - var hasOwnProperty = uncurryThis({}.hasOwnProperty); - module2.exports = Object.hasOwn || function hasOwn(it, key) { - return hasOwnProperty(toObject(it), key); - }; - } -}); - -// node_modules/core-js/internals/uid.js -var require_uid = __commonJS({ - "node_modules/core-js/internals/uid.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var id = 0; - var postfix = Math.random(); - var toString = uncurryThis(1 .toString); - module2.exports = function(key) { - return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36); - }; - } -}); - -// node_modules/core-js/internals/well-known-symbol.js -var require_well_known_symbol = __commonJS({ - "node_modules/core-js/internals/well-known-symbol.js"(exports2, module2) { - var global2 = require_global(); - var shared = require_shared(); - var hasOwn = require_has_own_property(); - var uid = require_uid(); - var NATIVE_SYMBOL = require_symbol_constructor_detection(); - var USE_SYMBOL_AS_UID = require_use_symbol_as_uid(); - var WellKnownSymbolsStore = shared("wks"); - var Symbol2 = global2.Symbol; - var symbolFor = Symbol2 && Symbol2["for"]; - var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2 : Symbol2 && Symbol2.withoutSetter || uid; - module2.exports = function(name) { - if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == "string")) { - var description = "Symbol." + name; - if (NATIVE_SYMBOL && hasOwn(Symbol2, name)) { - WellKnownSymbolsStore[name] = Symbol2[name]; - } else if (USE_SYMBOL_AS_UID && symbolFor) { - WellKnownSymbolsStore[name] = symbolFor(description); - } else { - WellKnownSymbolsStore[name] = createWellKnownSymbol(description); - } - } - return WellKnownSymbolsStore[name]; - }; - } -}); - -// node_modules/core-js/internals/to-primitive.js -var require_to_primitive = __commonJS({ - "node_modules/core-js/internals/to-primitive.js"(exports2, module2) { - var call = require_function_call(); - var isObject = require_is_object(); - var isSymbol = require_is_symbol(); - var getMethod = require_get_method(); - var ordinaryToPrimitive = require_ordinary_to_primitive(); - var wellKnownSymbol = require_well_known_symbol(); - var $TypeError = TypeError; - var TO_PRIMITIVE = wellKnownSymbol("toPrimitive"); - module2.exports = function(input, pref) { - if (!isObject(input) || isSymbol(input)) - return input; - var exoticToPrim = getMethod(input, TO_PRIMITIVE); - var result; - if (exoticToPrim) { - if (pref === void 0) - pref = "default"; - result = call(exoticToPrim, input, pref); - if (!isObject(result) || isSymbol(result)) - return result; - throw $TypeError("Can't convert object to primitive value"); - } - if (pref === void 0) - pref = "number"; - return ordinaryToPrimitive(input, pref); - }; - } -}); - -// node_modules/core-js/internals/to-property-key.js -var require_to_property_key = __commonJS({ - "node_modules/core-js/internals/to-property-key.js"(exports2, module2) { - var toPrimitive = require_to_primitive(); - var isSymbol = require_is_symbol(); - module2.exports = function(argument) { - var key = toPrimitive(argument, "string"); - return isSymbol(key) ? key : key + ""; - }; - } -}); - -// node_modules/core-js/internals/document-create-element.js -var require_document_create_element = __commonJS({ - "node_modules/core-js/internals/document-create-element.js"(exports2, module2) { - var global2 = require_global(); - var isObject = require_is_object(); - var document2 = global2.document; - var EXISTS = isObject(document2) && isObject(document2.createElement); - module2.exports = function(it) { - return EXISTS ? document2.createElement(it) : {}; - }; - } -}); - -// node_modules/core-js/internals/ie8-dom-define.js -var require_ie8_dom_define = __commonJS({ - "node_modules/core-js/internals/ie8-dom-define.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var fails = require_fails(); - var createElement = require_document_create_element(); - module2.exports = !DESCRIPTORS && !fails(function() { - return Object.defineProperty(createElement("div"), "a", { - get: function() { - return 7; - } - }).a != 7; - }); - } -}); - -// node_modules/core-js/internals/object-get-own-property-descriptor.js -var require_object_get_own_property_descriptor = __commonJS({ - "node_modules/core-js/internals/object-get-own-property-descriptor.js"(exports2) { - var DESCRIPTORS = require_descriptors(); - var call = require_function_call(); - var propertyIsEnumerableModule = require_object_property_is_enumerable(); - var createPropertyDescriptor = require_create_property_descriptor(); - var toIndexedObject = require_to_indexed_object(); - var toPropertyKey = require_to_property_key(); - var hasOwn = require_has_own_property(); - var IE8_DOM_DEFINE = require_ie8_dom_define(); - var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - exports2.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPropertyKey(P); - if (IE8_DOM_DEFINE) - try { - return $getOwnPropertyDescriptor(O, P); - } catch (error) { - } - if (hasOwn(O, P)) - return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); - }; - } -}); - -// node_modules/core-js/internals/v8-prototype-define-bug.js -var require_v8_prototype_define_bug = __commonJS({ - "node_modules/core-js/internals/v8-prototype-define-bug.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var fails = require_fails(); - module2.exports = DESCRIPTORS && fails(function() { - return Object.defineProperty(function() { - }, "prototype", { - value: 42, - writable: false - }).prototype != 42; - }); - } -}); - -// node_modules/core-js/internals/an-object.js -var require_an_object = __commonJS({ - "node_modules/core-js/internals/an-object.js"(exports2, module2) { - var isObject = require_is_object(); - var $String = String; - var $TypeError = TypeError; - module2.exports = function(argument) { - if (isObject(argument)) - return argument; - throw $TypeError($String(argument) + " is not an object"); - }; - } -}); - -// node_modules/core-js/internals/object-define-property.js -var require_object_define_property = __commonJS({ - "node_modules/core-js/internals/object-define-property.js"(exports2) { - var DESCRIPTORS = require_descriptors(); - var IE8_DOM_DEFINE = require_ie8_dom_define(); - var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug(); - var anObject = require_an_object(); - var toPropertyKey = require_to_property_key(); - var $TypeError = TypeError; - var $defineProperty = Object.defineProperty; - var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var ENUMERABLE = "enumerable"; - var CONFIGURABLE = "configurable"; - var WRITABLE = "writable"; - exports2.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { - anObject(O); - P = toPropertyKey(P); - anObject(Attributes); - if (typeof O === "function" && P === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { - var current = $getOwnPropertyDescriptor(O, P); - if (current && current[WRITABLE]) { - O[P] = Attributes.value; - Attributes = { - configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], - enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], - writable: false - }; - } - } - return $defineProperty(O, P, Attributes); - } : $defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPropertyKey(P); - anObject(Attributes); - if (IE8_DOM_DEFINE) - try { - return $defineProperty(O, P, Attributes); - } catch (error) { - } - if ("get" in Attributes || "set" in Attributes) - throw $TypeError("Accessors not supported"); - if ("value" in Attributes) - O[P] = Attributes.value; - return O; - }; - } -}); - -// node_modules/core-js/internals/create-non-enumerable-property.js -var require_create_non_enumerable_property = __commonJS({ - "node_modules/core-js/internals/create-non-enumerable-property.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var definePropertyModule = require_object_define_property(); - var createPropertyDescriptor = require_create_property_descriptor(); - module2.exports = DESCRIPTORS ? function(object, key, value) { - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); - } : function(object, key, value) { - object[key] = value; - return object; - }; - } -}); - -// node_modules/core-js/internals/function-name.js -var require_function_name = __commonJS({ - "node_modules/core-js/internals/function-name.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var hasOwn = require_has_own_property(); - var FunctionPrototype = Function.prototype; - var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; - var EXISTS = hasOwn(FunctionPrototype, "name"); - var PROPER = EXISTS && function something() { - }.name === "something"; - var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, "name").configurable); - module2.exports = { - EXISTS, - PROPER, - CONFIGURABLE - }; - } -}); - -// node_modules/core-js/internals/inspect-source.js -var require_inspect_source = __commonJS({ - "node_modules/core-js/internals/inspect-source.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var isCallable = require_is_callable(); - var store = require_shared_store(); - var functionToString = uncurryThis(Function.toString); - if (!isCallable(store.inspectSource)) { - store.inspectSource = function(it) { - return functionToString(it); - }; - } - module2.exports = store.inspectSource; - } -}); - -// node_modules/core-js/internals/weak-map-basic-detection.js -var require_weak_map_basic_detection = __commonJS({ - "node_modules/core-js/internals/weak-map-basic-detection.js"(exports2, module2) { - var global2 = require_global(); - var isCallable = require_is_callable(); - var WeakMap2 = global2.WeakMap; - module2.exports = isCallable(WeakMap2) && /native code/.test(String(WeakMap2)); - } -}); - -// node_modules/core-js/internals/shared-key.js -var require_shared_key = __commonJS({ - "node_modules/core-js/internals/shared-key.js"(exports2, module2) { - var shared = require_shared(); - var uid = require_uid(); - var keys = shared("keys"); - module2.exports = function(key) { - return keys[key] || (keys[key] = uid(key)); - }; - } -}); - -// node_modules/core-js/internals/hidden-keys.js -var require_hidden_keys = __commonJS({ - "node_modules/core-js/internals/hidden-keys.js"(exports2, module2) { - module2.exports = {}; - } -}); - -// node_modules/core-js/internals/internal-state.js -var require_internal_state = __commonJS({ - "node_modules/core-js/internals/internal-state.js"(exports2, module2) { - var NATIVE_WEAK_MAP = require_weak_map_basic_detection(); - var global2 = require_global(); - var isObject = require_is_object(); - var createNonEnumerableProperty = require_create_non_enumerable_property(); - var hasOwn = require_has_own_property(); - var shared = require_shared_store(); - var sharedKey = require_shared_key(); - var hiddenKeys = require_hidden_keys(); - var OBJECT_ALREADY_INITIALIZED = "Object already initialized"; - var TypeError2 = global2.TypeError; - var WeakMap2 = global2.WeakMap; - var set; - var get; - var has; - var enforce = function(it) { - return has(it) ? get(it) : set(it, {}); - }; - var getterFor = function(TYPE) { - return function(it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError2("Incompatible receiver, " + TYPE + " required"); - } - return state; - }; - }; - if (NATIVE_WEAK_MAP || shared.state) { - store = shared.state || (shared.state = new WeakMap2()); - store.get = store.get; - store.has = store.has; - store.set = store.set; - set = function(it, metadata) { - if (store.has(it)) - throw TypeError2(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it; - store.set(it, metadata); - return metadata; - }; - get = function(it) { - return store.get(it) || {}; - }; - has = function(it) { - return store.has(it); - }; - } else { - STATE = sharedKey("state"); - hiddenKeys[STATE] = true; - set = function(it, metadata) { - if (hasOwn(it, STATE)) - throw TypeError2(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it; - createNonEnumerableProperty(it, STATE, metadata); - return metadata; - }; - get = function(it) { - return hasOwn(it, STATE) ? it[STATE] : {}; - }; - has = function(it) { - return hasOwn(it, STATE); - }; - } - var store; - var STATE; - module2.exports = { - set, - get, - has, - enforce, - getterFor - }; - } -}); - -// node_modules/core-js/internals/make-built-in.js -var require_make_built_in = __commonJS({ - "node_modules/core-js/internals/make-built-in.js"(exports2, module2) { - var fails = require_fails(); - var isCallable = require_is_callable(); - var hasOwn = require_has_own_property(); - var DESCRIPTORS = require_descriptors(); - var CONFIGURABLE_FUNCTION_NAME = require_function_name().CONFIGURABLE; - var inspectSource = require_inspect_source(); - var InternalStateModule = require_internal_state(); - var enforceInternalState = InternalStateModule.enforce; - var getInternalState = InternalStateModule.get; - var defineProperty = Object.defineProperty; - var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function() { - return defineProperty(function() { - }, "length", { value: 8 }).length !== 8; - }); - var TEMPLATE = String(String).split("String"); - var makeBuiltIn = module2.exports = function(value, name, options) { - if (String(name).slice(0, 7) === "Symbol(") { - name = "[" + String(name).replace(/^Symbol\(([^)]*)\)/, "$1") + "]"; - } - if (options && options.getter) - name = "get " + name; - if (options && options.setter) - name = "set " + name; - if (!hasOwn(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { - if (DESCRIPTORS) - defineProperty(value, "name", { value: name, configurable: true }); - else - value.name = name; - } - if (CONFIGURABLE_LENGTH && options && hasOwn(options, "arity") && value.length !== options.arity) { - defineProperty(value, "length", { value: options.arity }); - } - try { - if (options && hasOwn(options, "constructor") && options.constructor) { - if (DESCRIPTORS) - defineProperty(value, "prototype", { writable: false }); - } else if (value.prototype) - value.prototype = void 0; - } catch (error) { - } - var state = enforceInternalState(value); - if (!hasOwn(state, "source")) { - state.source = TEMPLATE.join(typeof name == "string" ? name : ""); - } - return value; - }; - Function.prototype.toString = makeBuiltIn(function toString() { - return isCallable(this) && getInternalState(this).source || inspectSource(this); - }, "toString"); - } -}); - -// node_modules/core-js/internals/define-built-in.js -var require_define_built_in = __commonJS({ - "node_modules/core-js/internals/define-built-in.js"(exports2, module2) { - var isCallable = require_is_callable(); - var definePropertyModule = require_object_define_property(); - var makeBuiltIn = require_make_built_in(); - var defineGlobalProperty = require_define_global_property(); - module2.exports = function(O, key, value, options) { - if (!options) - options = {}; - var simple = options.enumerable; - var name = options.name !== void 0 ? options.name : key; - if (isCallable(value)) - makeBuiltIn(value, name, options); - if (options.global) { - if (simple) - O[key] = value; - else - defineGlobalProperty(key, value); - } else { - try { - if (!options.unsafe) - delete O[key]; - else if (O[key]) - simple = true; - } catch (error) { - } - if (simple) - O[key] = value; - else - definePropertyModule.f(O, key, { - value, - enumerable: false, - configurable: !options.nonConfigurable, - writable: !options.nonWritable - }); - } - return O; - }; - } -}); - -// node_modules/core-js/internals/math-trunc.js -var require_math_trunc = __commonJS({ - "node_modules/core-js/internals/math-trunc.js"(exports2, module2) { - var ceil = Math.ceil; - var floor = Math.floor; - module2.exports = Math.trunc || function trunc(x) { - var n = +x; - return (n > 0 ? floor : ceil)(n); - }; - } -}); - -// node_modules/core-js/internals/to-integer-or-infinity.js -var require_to_integer_or_infinity = __commonJS({ - "node_modules/core-js/internals/to-integer-or-infinity.js"(exports2, module2) { - var trunc = require_math_trunc(); - module2.exports = function(argument) { - var number = +argument; - return number !== number || number === 0 ? 0 : trunc(number); - }; - } -}); - -// node_modules/core-js/internals/to-absolute-index.js -var require_to_absolute_index = __commonJS({ - "node_modules/core-js/internals/to-absolute-index.js"(exports2, module2) { - var toIntegerOrInfinity = require_to_integer_or_infinity(); - var max = Math.max; - var min = Math.min; - module2.exports = function(index, length) { - var integer = toIntegerOrInfinity(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); - }; - } -}); - -// node_modules/core-js/internals/to-length.js -var require_to_length = __commonJS({ - "node_modules/core-js/internals/to-length.js"(exports2, module2) { - var toIntegerOrInfinity = require_to_integer_or_infinity(); - var min = Math.min; - module2.exports = function(argument) { - return argument > 0 ? min(toIntegerOrInfinity(argument), 9007199254740991) : 0; - }; - } -}); - -// node_modules/core-js/internals/length-of-array-like.js -var require_length_of_array_like = __commonJS({ - "node_modules/core-js/internals/length-of-array-like.js"(exports2, module2) { - var toLength = require_to_length(); - module2.exports = function(obj) { - return toLength(obj.length); - }; - } -}); - -// node_modules/core-js/internals/array-includes.js -var require_array_includes = __commonJS({ - "node_modules/core-js/internals/array-includes.js"(exports2, module2) { - var toIndexedObject = require_to_indexed_object(); - var toAbsoluteIndex = require_to_absolute_index(); - var lengthOfArrayLike = require_length_of_array_like(); - var createMethod = function(IS_INCLUDES) { - return function($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = lengthOfArrayLike(O); - var index = toAbsoluteIndex(fromIndex, length); - var value; - if (IS_INCLUDES && el != el) - while (length > index) { - value = O[index++]; - if (value != value) - return true; - } - else - for (; length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) - return IS_INCLUDES || index || 0; - } - return !IS_INCLUDES && -1; - }; - }; - module2.exports = { - includes: createMethod(true), - indexOf: createMethod(false) - }; - } -}); - -// node_modules/core-js/internals/object-keys-internal.js -var require_object_keys_internal = __commonJS({ - "node_modules/core-js/internals/object-keys-internal.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var hasOwn = require_has_own_property(); - var toIndexedObject = require_to_indexed_object(); - var indexOf = require_array_includes().indexOf; - var hiddenKeys = require_hidden_keys(); - var push = uncurryThis([].push); - module2.exports = function(object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - for (key in O) - !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); - while (names.length > i) - if (hasOwn(O, key = names[i++])) { - ~indexOf(result, key) || push(result, key); - } - return result; - }; - } -}); - -// node_modules/core-js/internals/enum-bug-keys.js -var require_enum_bug_keys = __commonJS({ - "node_modules/core-js/internals/enum-bug-keys.js"(exports2, module2) { - module2.exports = [ - "constructor", - "hasOwnProperty", - "isPrototypeOf", - "propertyIsEnumerable", - "toLocaleString", - "toString", - "valueOf" - ]; - } -}); - -// node_modules/core-js/internals/object-get-own-property-names.js -var require_object_get_own_property_names = __commonJS({ - "node_modules/core-js/internals/object-get-own-property-names.js"(exports2) { - var internalObjectKeys = require_object_keys_internal(); - var enumBugKeys = require_enum_bug_keys(); - var hiddenKeys = enumBugKeys.concat("length", "prototype"); - exports2.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); - }; - } -}); - -// node_modules/core-js/internals/object-get-own-property-symbols.js -var require_object_get_own_property_symbols = __commonJS({ - "node_modules/core-js/internals/object-get-own-property-symbols.js"(exports2) { - exports2.f = Object.getOwnPropertySymbols; - } -}); - -// node_modules/core-js/internals/own-keys.js -var require_own_keys = __commonJS({ - "node_modules/core-js/internals/own-keys.js"(exports2, module2) { - var getBuiltIn = require_get_built_in(); - var uncurryThis = require_function_uncurry_this(); - var getOwnPropertyNamesModule = require_object_get_own_property_names(); - var getOwnPropertySymbolsModule = require_object_get_own_property_symbols(); - var anObject = require_an_object(); - var concat = uncurryThis([].concat); - module2.exports = getBuiltIn("Reflect", "ownKeys") || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; - }; - } -}); - -// node_modules/core-js/internals/copy-constructor-properties.js -var require_copy_constructor_properties = __commonJS({ - "node_modules/core-js/internals/copy-constructor-properties.js"(exports2, module2) { - var hasOwn = require_has_own_property(); - var ownKeys = require_own_keys(); - var getOwnPropertyDescriptorModule = require_object_get_own_property_descriptor(); - var definePropertyModule = require_object_define_property(); - module2.exports = function(target, source, exceptions) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { - defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } - } - }; - } -}); - -// node_modules/core-js/internals/is-forced.js -var require_is_forced = __commonJS({ - "node_modules/core-js/internals/is-forced.js"(exports2, module2) { - var fails = require_fails(); - var isCallable = require_is_callable(); - var replacement = /#|\.prototype\./; - var isForced = function(feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; - }; - var normalize = isForced.normalize = function(string) { - return String(string).replace(replacement, ".").toLowerCase(); - }; - var data = isForced.data = {}; - var NATIVE = isForced.NATIVE = "N"; - var POLYFILL = isForced.POLYFILL = "P"; - module2.exports = isForced; - } -}); - -// node_modules/core-js/internals/export.js -var require_export = __commonJS({ - "node_modules/core-js/internals/export.js"(exports2, module2) { - var global2 = require_global(); - var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f; - var createNonEnumerableProperty = require_create_non_enumerable_property(); - var defineBuiltIn = require_define_built_in(); - var defineGlobalProperty = require_define_global_property(); - var copyConstructorProperties = require_copy_constructor_properties(); - var isForced = require_is_forced(); - module2.exports = function(options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global2; - } else if (STATIC) { - target = global2[TARGET] || defineGlobalProperty(TARGET, {}); - } else { - target = (global2[TARGET] || {}).prototype; - } - if (target) - for (key in source) { - sourceProperty = source[key]; - if (options.dontCallGetSet) { - descriptor = getOwnPropertyDescriptor(target, key); - targetProperty = descriptor && descriptor.value; - } else - targetProperty = target[key]; - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced); - if (!FORCED && targetProperty !== void 0) { - if (typeof sourceProperty == typeof targetProperty) - continue; - copyConstructorProperties(sourceProperty, targetProperty); - } - if (options.sham || targetProperty && targetProperty.sham) { - createNonEnumerableProperty(sourceProperty, "sham", true); - } - defineBuiltIn(target, key, sourceProperty, options); - } - }; - } -}); - -// node_modules/core-js/internals/function-uncurry-this-clause.js -var require_function_uncurry_this_clause = __commonJS({ - "node_modules/core-js/internals/function-uncurry-this-clause.js"(exports2, module2) { - var classofRaw = require_classof_raw(); - var uncurryThis = require_function_uncurry_this(); - module2.exports = function(fn) { - if (classofRaw(fn) === "Function") - return uncurryThis(fn); - }; - } -}); - -// node_modules/core-js/internals/function-bind-context.js -var require_function_bind_context = __commonJS({ - "node_modules/core-js/internals/function-bind-context.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this_clause(); - var aCallable = require_a_callable(); - var NATIVE_BIND = require_function_bind_native(); - var bind = uncurryThis(uncurryThis.bind); - module2.exports = function(fn, that) { - aCallable(fn); - return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() { - return fn.apply(that, arguments); - }; - }; - } -}); - -// node_modules/core-js/internals/iterators.js -var require_iterators = __commonJS({ - "node_modules/core-js/internals/iterators.js"(exports2, module2) { - module2.exports = {}; - } -}); - -// node_modules/core-js/internals/is-array-iterator-method.js -var require_is_array_iterator_method = __commonJS({ - "node_modules/core-js/internals/is-array-iterator-method.js"(exports2, module2) { - var wellKnownSymbol = require_well_known_symbol(); - var Iterators = require_iterators(); - var ITERATOR = wellKnownSymbol("iterator"); - var ArrayPrototype = Array.prototype; - module2.exports = function(it) { - return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); - }; - } -}); - -// node_modules/core-js/internals/to-string-tag-support.js -var require_to_string_tag_support = __commonJS({ - "node_modules/core-js/internals/to-string-tag-support.js"(exports2, module2) { - var wellKnownSymbol = require_well_known_symbol(); - var TO_STRING_TAG = wellKnownSymbol("toStringTag"); - var test = {}; - test[TO_STRING_TAG] = "z"; - module2.exports = String(test) === "[object z]"; - } -}); - -// node_modules/core-js/internals/classof.js -var require_classof = __commonJS({ - "node_modules/core-js/internals/classof.js"(exports2, module2) { - var TO_STRING_TAG_SUPPORT = require_to_string_tag_support(); - var isCallable = require_is_callable(); - var classofRaw = require_classof_raw(); - var wellKnownSymbol = require_well_known_symbol(); - var TO_STRING_TAG = wellKnownSymbol("toStringTag"); - var $Object = Object; - var CORRECT_ARGUMENTS = classofRaw(function() { - return arguments; - }()) == "Arguments"; - var tryGet = function(it, key) { - try { - return it[key]; - } catch (error) { - } - }; - module2.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) { - var O, tag, result; - return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == "Object" && isCallable(O.callee) ? "Arguments" : result; - }; - } -}); - -// node_modules/core-js/internals/get-iterator-method.js -var require_get_iterator_method = __commonJS({ - "node_modules/core-js/internals/get-iterator-method.js"(exports2, module2) { - var classof = require_classof(); - var getMethod = require_get_method(); - var isNullOrUndefined = require_is_null_or_undefined(); - var Iterators = require_iterators(); - var wellKnownSymbol = require_well_known_symbol(); - var ITERATOR = wellKnownSymbol("iterator"); - module2.exports = function(it) { - if (!isNullOrUndefined(it)) - return getMethod(it, ITERATOR) || getMethod(it, "@@iterator") || Iterators[classof(it)]; - }; - } -}); - -// node_modules/core-js/internals/get-iterator.js -var require_get_iterator = __commonJS({ - "node_modules/core-js/internals/get-iterator.js"(exports2, module2) { - var call = require_function_call(); - var aCallable = require_a_callable(); - var anObject = require_an_object(); - var tryToString = require_try_to_string(); - var getIteratorMethod = require_get_iterator_method(); - var $TypeError = TypeError; - module2.exports = function(argument, usingIterator) { - var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; - if (aCallable(iteratorMethod)) - return anObject(call(iteratorMethod, argument)); - throw $TypeError(tryToString(argument) + " is not iterable"); - }; - } -}); - -// node_modules/core-js/internals/iterator-close.js -var require_iterator_close = __commonJS({ - "node_modules/core-js/internals/iterator-close.js"(exports2, module2) { - var call = require_function_call(); - var anObject = require_an_object(); - var getMethod = require_get_method(); - module2.exports = function(iterator, kind, value) { - var innerResult, innerError; - anObject(iterator); - try { - innerResult = getMethod(iterator, "return"); - if (!innerResult) { - if (kind === "throw") - throw value; - return value; - } - innerResult = call(innerResult, iterator); - } catch (error) { - innerError = true; - innerResult = error; - } - if (kind === "throw") - throw value; - if (innerError) - throw innerResult; - anObject(innerResult); - return value; - }; - } -}); - -// node_modules/core-js/internals/iterate.js -var require_iterate = __commonJS({ - "node_modules/core-js/internals/iterate.js"(exports2, module2) { - var bind = require_function_bind_context(); - var call = require_function_call(); - var anObject = require_an_object(); - var tryToString = require_try_to_string(); - var isArrayIteratorMethod = require_is_array_iterator_method(); - var lengthOfArrayLike = require_length_of_array_like(); - var isPrototypeOf = require_object_is_prototype_of(); - var getIterator = require_get_iterator(); - var getIteratorMethod = require_get_iterator_method(); - var iteratorClose = require_iterator_close(); - var $TypeError = TypeError; - var Result = function(stopped, result) { - this.stopped = stopped; - this.result = result; - }; - var ResultPrototype = Result.prototype; - module2.exports = function(iterable, unboundFunction, options) { - var that = options && options.that; - var AS_ENTRIES = !!(options && options.AS_ENTRIES); - var IS_RECORD = !!(options && options.IS_RECORD); - var IS_ITERATOR = !!(options && options.IS_ITERATOR); - var INTERRUPTED = !!(options && options.INTERRUPTED); - var fn = bind(unboundFunction, that); - var iterator, iterFn, index, length, result, next, step; - var stop = function(condition) { - if (iterator) - iteratorClose(iterator, "normal", condition); - return new Result(true, condition); - }; - var callFn = function(value) { - if (AS_ENTRIES) { - anObject(value); - return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); - } - return INTERRUPTED ? fn(value, stop) : fn(value); - }; - if (IS_RECORD) { - iterator = iterable.iterator; - } else if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (!iterFn) - throw $TypeError(tryToString(iterable) + " is not iterable"); - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { - result = callFn(iterable[index]); - if (result && isPrototypeOf(ResultPrototype, result)) - return result; - } - return new Result(false); - } - iterator = getIterator(iterable, iterFn); - } - next = IS_RECORD ? iterable.next : iterator.next; - while (!(step = call(next, iterator)).done) { - try { - result = callFn(step.value); - } catch (error) { - iteratorClose(iterator, "throw", error); - } - if (typeof result == "object" && result && isPrototypeOf(ResultPrototype, result)) - return result; - } - return new Result(false); - }; - } -}); - -// node_modules/core-js/internals/create-property.js -var require_create_property = __commonJS({ - "node_modules/core-js/internals/create-property.js"(exports2, module2) { - "use strict"; - var toPropertyKey = require_to_property_key(); - var definePropertyModule = require_object_define_property(); - var createPropertyDescriptor = require_create_property_descriptor(); - module2.exports = function(object, key, value) { - var propertyKey = toPropertyKey(key); - if (propertyKey in object) - definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); - else - object[propertyKey] = value; - }; - } -}); - -// node_modules/core-js/modules/es.object.from-entries.js -var require_es_object_from_entries = __commonJS({ - "node_modules/core-js/modules/es.object.from-entries.js"() { - var $ = require_export(); - var iterate = require_iterate(); - var createProperty = require_create_property(); - $({ target: "Object", stat: true }, { - fromEntries: function fromEntries(iterable) { - var obj = {}; - iterate(iterable, function(k, v) { - createProperty(obj, k, v); - }, { AS_ENTRIES: true }); - return obj; - } - }); - } -}); - -// node_modules/core-js/internals/is-array.js -var require_is_array = __commonJS({ - "node_modules/core-js/internals/is-array.js"(exports2, module2) { - var classof = require_classof_raw(); - module2.exports = Array.isArray || function isArray(argument) { - return classof(argument) == "Array"; - }; - } -}); - -// node_modules/core-js/internals/does-not-exceed-safe-integer.js -var require_does_not_exceed_safe_integer = __commonJS({ - "node_modules/core-js/internals/does-not-exceed-safe-integer.js"(exports2, module2) { - var $TypeError = TypeError; - var MAX_SAFE_INTEGER = 9007199254740991; - module2.exports = function(it) { - if (it > MAX_SAFE_INTEGER) - throw $TypeError("Maximum allowed index exceeded"); - return it; - }; - } -}); - -// node_modules/core-js/internals/flatten-into-array.js -var require_flatten_into_array = __commonJS({ - "node_modules/core-js/internals/flatten-into-array.js"(exports2, module2) { - "use strict"; - var isArray = require_is_array(); - var lengthOfArrayLike = require_length_of_array_like(); - var doesNotExceedSafeInteger = require_does_not_exceed_safe_integer(); - var bind = require_function_bind_context(); - var flattenIntoArray = function(target, original, source, sourceLen, start, depth, mapper, thisArg) { - var targetIndex = start; - var sourceIndex = 0; - var mapFn = mapper ? bind(mapper, thisArg) : false; - var element, elementLen; - while (sourceIndex < sourceLen) { - if (sourceIndex in source) { - element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; - if (depth > 0 && isArray(element)) { - elementLen = lengthOfArrayLike(element); - targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; - } else { - doesNotExceedSafeInteger(targetIndex + 1); - target[targetIndex] = element; - } - targetIndex++; - } - sourceIndex++; - } - return targetIndex; - }; - module2.exports = flattenIntoArray; - } -}); - -// node_modules/core-js/internals/is-constructor.js -var require_is_constructor = __commonJS({ - "node_modules/core-js/internals/is-constructor.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var fails = require_fails(); - var isCallable = require_is_callable(); - var classof = require_classof(); - var getBuiltIn = require_get_built_in(); - var inspectSource = require_inspect_source(); - var noop = function() { - }; - var empty = []; - var construct = getBuiltIn("Reflect", "construct"); - var constructorRegExp = /^\s*(?:class|function)\b/; - var exec = uncurryThis(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); - var isConstructorModern = function isConstructor(argument) { - if (!isCallable(argument)) - return false; - try { - construct(noop, empty, argument); - return true; - } catch (error) { - return false; - } - }; - var isConstructorLegacy = function isConstructor(argument) { - if (!isCallable(argument)) - return false; - switch (classof(argument)) { - case "AsyncFunction": - case "GeneratorFunction": - case "AsyncGeneratorFunction": - return false; - } - try { - return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); - } catch (error) { - return true; - } - }; - isConstructorLegacy.sham = true; - module2.exports = !construct || fails(function() { - var called; - return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() { - called = true; - }) || called; - }) ? isConstructorLegacy : isConstructorModern; - } -}); - -// node_modules/core-js/internals/array-species-constructor.js -var require_array_species_constructor = __commonJS({ - "node_modules/core-js/internals/array-species-constructor.js"(exports2, module2) { - var isArray = require_is_array(); - var isConstructor = require_is_constructor(); - var isObject = require_is_object(); - var wellKnownSymbol = require_well_known_symbol(); - var SPECIES = wellKnownSymbol("species"); - var $Array = Array; - module2.exports = function(originalArray) { - var C; - if (isArray(originalArray)) { - C = originalArray.constructor; - if (isConstructor(C) && (C === $Array || isArray(C.prototype))) - C = void 0; - else if (isObject(C)) { - C = C[SPECIES]; - if (C === null) - C = void 0; - } - } - return C === void 0 ? $Array : C; - }; - } -}); - -// node_modules/core-js/internals/array-species-create.js -var require_array_species_create = __commonJS({ - "node_modules/core-js/internals/array-species-create.js"(exports2, module2) { - var arraySpeciesConstructor = require_array_species_constructor(); - module2.exports = function(originalArray, length) { - return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); - }; - } -}); - -// node_modules/core-js/modules/es.array.flat-map.js -var require_es_array_flat_map = __commonJS({ - "node_modules/core-js/modules/es.array.flat-map.js"() { - "use strict"; - var $ = require_export(); - var flattenIntoArray = require_flatten_into_array(); - var aCallable = require_a_callable(); - var toObject = require_to_object(); - var lengthOfArrayLike = require_length_of_array_like(); - var arraySpeciesCreate = require_array_species_create(); - $({ target: "Array", proto: true }, { - flatMap: function flatMap(callbackfn) { - var O = toObject(this); - var sourceLen = lengthOfArrayLike(O); - var A; - aCallable(callbackfn); - A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : void 0); - return A; - } - }); - } -}); - -// node_modules/core-js/modules/es.array.flat.js -var require_es_array_flat = __commonJS({ - "node_modules/core-js/modules/es.array.flat.js"() { - "use strict"; - var $ = require_export(); - var flattenIntoArray = require_flatten_into_array(); - var toObject = require_to_object(); - var lengthOfArrayLike = require_length_of_array_like(); - var toIntegerOrInfinity = require_to_integer_or_infinity(); - var arraySpeciesCreate = require_array_species_create(); - $({ target: "Array", proto: true }, { - flat: function flat() { - var depthArg = arguments.length ? arguments[0] : void 0; - var O = toObject(this); - var sourceLen = lengthOfArrayLike(O); - var A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === void 0 ? 1 : toIntegerOrInfinity(depthArg)); - return A; - } - }); - } -}); - -// node_modules/core-js/internals/define-built-in-accessor.js -var require_define_built_in_accessor = __commonJS({ - "node_modules/core-js/internals/define-built-in-accessor.js"(exports2, module2) { - var makeBuiltIn = require_make_built_in(); - var defineProperty = require_object_define_property(); - module2.exports = function(target, name, descriptor) { - if (descriptor.get) - makeBuiltIn(descriptor.get, name, { getter: true }); - if (descriptor.set) - makeBuiltIn(descriptor.set, name, { setter: true }); - return defineProperty.f(target, name, descriptor); - }; - } -}); - -// node_modules/core-js/internals/regexp-flags.js -var require_regexp_flags = __commonJS({ - "node_modules/core-js/internals/regexp-flags.js"(exports2, module2) { - "use strict"; - var anObject = require_an_object(); - module2.exports = function() { - var that = anObject(this); - var result = ""; - if (that.hasIndices) - result += "d"; - if (that.global) - result += "g"; - if (that.ignoreCase) - result += "i"; - if (that.multiline) - result += "m"; - if (that.dotAll) - result += "s"; - if (that.unicode) - result += "u"; - if (that.unicodeSets) - result += "v"; - if (that.sticky) - result += "y"; - return result; - }; - } -}); - -// node_modules/core-js/modules/es.regexp.flags.js -var require_es_regexp_flags = __commonJS({ - "node_modules/core-js/modules/es.regexp.flags.js"() { - var global2 = require_global(); - var DESCRIPTORS = require_descriptors(); - var defineBuiltInAccessor = require_define_built_in_accessor(); - var regExpFlags = require_regexp_flags(); - var fails = require_fails(); - var RegExp2 = global2.RegExp; - var RegExpPrototype = RegExp2.prototype; - var FORCED = DESCRIPTORS && fails(function() { - var INDICES_SUPPORT = true; - try { - RegExp2(".", "d"); - } catch (error) { - INDICES_SUPPORT = false; - } - var O = {}; - var calls = ""; - var expected = INDICES_SUPPORT ? "dgimsy" : "gimsy"; - var addGetter = function(key2, chr) { - Object.defineProperty(O, key2, { get: function() { - calls += chr; - return true; - } }); - }; - var pairs = { - dotAll: "s", - global: "g", - ignoreCase: "i", - multiline: "m", - sticky: "y" - }; - if (INDICES_SUPPORT) - pairs.hasIndices = "d"; - for (var key in pairs) - addGetter(key, pairs[key]); - var result = Object.getOwnPropertyDescriptor(RegExpPrototype, "flags").get.call(O); - return result !== expected || calls !== expected; - }); - if (FORCED) - defineBuiltInAccessor(RegExpPrototype, "flags", { - configurable: true, - get: regExpFlags - }); - } -}); - -// dist/_cli.js.cjs.js -require_es_object_from_entries(); -require_es_array_flat_map(); -require_es_array_flat(); -require_es_regexp_flags(); -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames2 = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res; -}; -var __commonJS2 = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { - exports: {} - }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { - get: all[name], - enumerable: true - }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { - get: () => from[key], - enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable - }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { - value: mod, - enumerable: true -}) : target, mod)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { - value: true -}), mod); -var require_fast_json_stable_stringify = __commonJS2({ - "node_modules/fast-json-stable-stringify/index.js"(exports2, module2) { - "use strict"; - module2.exports = function(data, opts) { - if (!opts) - opts = {}; - if (typeof opts === "function") - opts = { - cmp: opts - }; - var cycles = typeof opts.cycles === "boolean" ? opts.cycles : false; - var cmp = opts.cmp && function(f) { - return function(node) { - return function(a, b) { - var aobj = { - key: a, - value: node[a] - }; - var bobj = { - key: b, - value: node[b] - }; - return f(aobj, bobj); - }; - }; - }(opts.cmp); - var seen = []; - return function stringify2(node) { - if (node && node.toJSON && typeof node.toJSON === "function") { - node = node.toJSON(); - } - if (node === void 0) - return; - if (typeof node == "number") - return isFinite(node) ? "" + node : "null"; - if (typeof node !== "object") - return JSON.stringify(node); - var i, out; - if (Array.isArray(node)) { - out = "["; - for (i = 0; i < node.length; i++) { - if (i) - out += ","; - out += stringify2(node[i]) || "null"; - } - return out + "]"; - } - if (node === null) - return "null"; - if (seen.indexOf(node) !== -1) { - if (cycles) - return JSON.stringify("__cycle__"); - throw new TypeError("Converting circular structure to JSON"); - } - var seenIndex = seen.push(node) - 1; - var keys = Object.keys(node).sort(cmp && cmp(node)); - out = ""; - for (i = 0; i < keys.length; i++) { - var key = keys[i]; - var value = stringify2(node[key]); - if (!value) - continue; - if (out) - out += ","; - out += JSON.stringify(key) + ":" + value; - } - seen.splice(seenIndex, 1); - return "{" + out + "}"; - }(data); - }; - } -}); -var require_clone = __commonJS2({ - "node_modules/clone/clone.js"(exports2, module2) { - var clone = function() { - "use strict"; - function clone2(parent, circular, depth, prototype) { - var filter; - if (typeof circular === "object") { - depth = circular.depth; - prototype = circular.prototype; - filter = circular.filter; - circular = circular.circular; - } - var allParents = []; - var allChildren = []; - var useBuffer = typeof Buffer != "undefined"; - if (typeof circular == "undefined") - circular = true; - if (typeof depth == "undefined") - depth = Infinity; - function _clone(parent2, depth2) { - if (parent2 === null) - return null; - if (depth2 == 0) - return parent2; - var child; - var proto2; - if (typeof parent2 != "object") { - return parent2; - } - if (clone2.__isArray(parent2)) { - child = []; - } else if (clone2.__isRegExp(parent2)) { - child = new RegExp(parent2.source, __getRegExpFlags(parent2)); - if (parent2.lastIndex) - child.lastIndex = parent2.lastIndex; - } else if (clone2.__isDate(parent2)) { - child = new Date(parent2.getTime()); - } else if (useBuffer && Buffer.isBuffer(parent2)) { - if (Buffer.allocUnsafe) { - child = Buffer.allocUnsafe(parent2.length); - } else { - child = new Buffer(parent2.length); - } - parent2.copy(child); - return child; - } else { - if (typeof prototype == "undefined") { - proto2 = Object.getPrototypeOf(parent2); - child = Object.create(proto2); - } else { - child = Object.create(prototype); - proto2 = prototype; - } - } - if (circular) { - var index = allParents.indexOf(parent2); - if (index != -1) { - return allChildren[index]; - } - allParents.push(parent2); - allChildren.push(child); - } - for (var i in parent2) { - var attrs; - if (proto2) { - attrs = Object.getOwnPropertyDescriptor(proto2, i); - } - if (attrs && attrs.set == null) { - continue; - } - child[i] = _clone(parent2[i], depth2 - 1); - } - return child; - } - return _clone(parent, depth); - } - clone2.clonePrototype = function clonePrototype(parent) { - if (parent === null) - return null; - var c = function() { - }; - c.prototype = parent; - return new c(); - }; - function __objToStr(o) { - return Object.prototype.toString.call(o); - } - ; - clone2.__objToStr = __objToStr; - function __isDate(o) { - return typeof o === "object" && __objToStr(o) === "[object Date]"; - } - ; - clone2.__isDate = __isDate; - function __isArray(o) { - return typeof o === "object" && __objToStr(o) === "[object Array]"; - } - ; - clone2.__isArray = __isArray; - function __isRegExp(o) { - return typeof o === "object" && __objToStr(o) === "[object RegExp]"; - } - ; - clone2.__isRegExp = __isRegExp; - function __getRegExpFlags(re) { - var flags = ""; - if (re.global) - flags += "g"; - if (re.ignoreCase) - flags += "i"; - if (re.multiline) - flags += "m"; - return flags; - } - ; - clone2.__getRegExpFlags = __getRegExpFlags; - return clone2; - }(); - if (typeof module2 === "object" && module2.exports) { - module2.exports = clone; - } - } -}); -var require_defaults = __commonJS2({ - "node_modules/defaults/index.js"(exports2, module2) { - var clone = require_clone(); - module2.exports = function(options, defaults) { - options = options || {}; - Object.keys(defaults).forEach(function(key) { - if (typeof options[key] === "undefined") { - options[key] = clone(defaults[key]); - } - }); - return options; - }; - } -}); -var require_combining = __commonJS2({ - "node_modules/wcwidth/combining.js"(exports2, module2) { - module2.exports = [[768, 879], [1155, 1158], [1160, 1161], [1425, 1469], [1471, 1471], [1473, 1474], [1476, 1477], [1479, 1479], [1536, 1539], [1552, 1557], [1611, 1630], [1648, 1648], [1750, 1764], [1767, 1768], [1770, 1773], [1807, 1807], [1809, 1809], [1840, 1866], [1958, 1968], [2027, 2035], [2305, 2306], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2388], [2402, 2403], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509], [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632], [2635, 2637], [2672, 2673], [2689, 2690], [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787], [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2883], [2893, 2893], [2902, 2902], [2946, 2946], [3008, 3008], [3021, 3021], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158], [3260, 3260], [3263, 3263], [3270, 3270], [3276, 3277], [3298, 3299], [3393, 3395], [3405, 3405], [3530, 3530], [3538, 3540], [3542, 3542], [3633, 3633], [3636, 3642], [3655, 3662], [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897], [3953, 3966], [3968, 3972], [3974, 3975], [3984, 3991], [3993, 4028], [4038, 4038], [4141, 4144], [4146, 4146], [4150, 4151], [4153, 4153], [4184, 4185], [4448, 4607], [4959, 4959], [5906, 5908], [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086], [6089, 6099], [6109, 6109], [6155, 6157], [6313, 6313], [6432, 6434], [6439, 6440], [6450, 6450], [6457, 6459], [6679, 6680], [6912, 6915], [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978], [7019, 7027], [7616, 7626], [7678, 7679], [8203, 8207], [8234, 8238], [8288, 8291], [8298, 8303], [8400, 8431], [12330, 12335], [12441, 12442], [43014, 43014], [43019, 43019], [43045, 43046], [64286, 64286], [65024, 65039], [65056, 65059], [65279, 65279], [65529, 65531], [68097, 68099], [68101, 68102], [68108, 68111], [68152, 68154], [68159, 68159], [119143, 119145], [119155, 119170], [119173, 119179], [119210, 119213], [119362, 119364], [917505, 917505], [917536, 917631], [917760, 917999]]; - } -}); -var require_wcwidth = __commonJS2({ - "node_modules/wcwidth/index.js"(exports2, module2) { - "use strict"; - var defaults = require_defaults(); - var combining = require_combining(); - var DEFAULTS = { - nul: 0, - control: 0 - }; - module2.exports = function wcwidth2(str) { - return wcswidth(str, DEFAULTS); - }; - module2.exports.config = function(opts) { - opts = defaults(opts || {}, DEFAULTS); - return function wcwidth2(str) { - return wcswidth(str, opts); - }; - }; - function wcswidth(str, opts) { - if (typeof str !== "string") - return wcwidth(str, opts); - var s = 0; - for (var i = 0; i < str.length; i++) { - var n = wcwidth(str.charCodeAt(i), opts); - if (n < 0) - return -1; - s += n; - } - return s; - } - function wcwidth(ucs, opts) { - if (ucs === 0) - return opts.nul; - if (ucs < 32 || ucs >= 127 && ucs < 160) - return opts.control; - if (bisearch(ucs)) - return 0; - return 1 + (ucs >= 4352 && (ucs <= 4447 || ucs == 9001 || ucs == 9002 || ucs >= 11904 && ucs <= 42191 && ucs != 12351 || ucs >= 44032 && ucs <= 55203 || ucs >= 63744 && ucs <= 64255 || ucs >= 65040 && ucs <= 65049 || ucs >= 65072 && ucs <= 65135 || ucs >= 65280 && ucs <= 65376 || ucs >= 65504 && ucs <= 65510 || ucs >= 131072 && ucs <= 196605 || ucs >= 196608 && ucs <= 262141)); - } - function bisearch(ucs) { - var min = 0; - var max = combining.length - 1; - var mid; - if (ucs < combining[0][0] || ucs > combining[max][1]) - return false; - while (max >= min) { - mid = Math.floor((min + max) / 2); - if (ucs > combining[mid][1]) - min = mid + 1; - else if (ucs < combining[mid][0]) - max = mid - 1; - else - return true; - } - return false; - } - } -}); -function ansiRegex({ - onlyFirst = false -} = {}) { - const pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(pattern, onlyFirst ? void 0 : "g"); -} -var init_ansi_regex = __esm({ - "node_modules/strip-ansi/node_modules/ansi-regex/index.js"() { - } -}); -var strip_ansi_exports = {}; -__export(strip_ansi_exports, { - default: () => stripAnsi -}); -function stripAnsi(string) { - if (typeof string !== "string") { - throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``); - } - return string.replace(ansiRegex(), ""); -} -var init_strip_ansi = __esm({ - "node_modules/strip-ansi/index.js"() { - init_ansi_regex(); - } -}); -function assembleStyles() { - const codes = /* @__PURE__ */ new Map(); - const styles2 = { - modifier: { - reset: [0, 0], - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - overline: [53, 55], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - blackBright: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; - styles2.color.gray = styles2.color.blackBright; - styles2.bgColor.bgGray = styles2.bgColor.bgBlackBright; - styles2.color.grey = styles2.color.blackBright; - styles2.bgColor.bgGrey = styles2.bgColor.bgBlackBright; - for (const [groupName, group] of Object.entries(styles2)) { - for (const [styleName, style] of Object.entries(group)) { - styles2[styleName] = { - open: `\x1B[${style[0]}m`, - close: `\x1B[${style[1]}m` - }; - group[styleName] = styles2[styleName]; - codes.set(style[0], style[1]); - } - Object.defineProperty(styles2, groupName, { - value: group, - enumerable: false - }); - } - Object.defineProperty(styles2, "codes", { - value: codes, - enumerable: false - }); - styles2.color.close = "\x1B[39m"; - styles2.bgColor.close = "\x1B[49m"; - styles2.color.ansi = wrapAnsi16(); - styles2.color.ansi256 = wrapAnsi256(); - styles2.color.ansi16m = wrapAnsi16m(); - styles2.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET); - styles2.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET); - styles2.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET); - Object.defineProperties(styles2, { - rgbToAnsi256: { - value: (red, green, blue) => { - if (red === green && green === blue) { - if (red < 8) { - return 16; - } - if (red > 248) { - return 231; - } - return Math.round((red - 8) / 247 * 24) + 232; - } - return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5); - }, - enumerable: false - }, - hexToRgb: { - value: (hex) => { - const matches = /(?[a-f\d]{6}|[a-f\d]{3})/i.exec(hex.toString(16)); - if (!matches) { - return [0, 0, 0]; - } - let { - colorString - } = matches.groups; - if (colorString.length === 3) { - colorString = [...colorString].map((character) => character + character).join(""); - } - const integer = Number.parseInt(colorString, 16); - return [integer >> 16 & 255, integer >> 8 & 255, integer & 255]; - }, - enumerable: false - }, - hexToAnsi256: { - value: (hex) => styles2.rgbToAnsi256(...styles2.hexToRgb(hex)), - enumerable: false - }, - ansi256ToAnsi: { - value: (code) => { - if (code < 8) { - return 30 + code; - } - if (code < 16) { - return 90 + (code - 8); - } - let red; - let green; - let blue; - if (code >= 232) { - red = ((code - 232) * 10 + 8) / 255; - green = red; - blue = red; - } else { - code -= 16; - const remainder = code % 36; - red = Math.floor(code / 36) / 5; - green = Math.floor(remainder / 6) / 5; - blue = remainder % 6 / 5; - } - const value = Math.max(red, green, blue) * 2; - if (value === 0) { - return 30; - } - let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red)); - if (value === 2) { - result += 60; - } - return result; - }, - enumerable: false - }, - rgbToAnsi: { - value: (red, green, blue) => styles2.ansi256ToAnsi(styles2.rgbToAnsi256(red, green, blue)), - enumerable: false - }, - hexToAnsi: { - value: (hex) => styles2.ansi256ToAnsi(styles2.hexToAnsi256(hex)), - enumerable: false - } - }); - return styles2; -} -var ANSI_BACKGROUND_OFFSET; -var wrapAnsi16; -var wrapAnsi256; -var wrapAnsi16m; -var ansiStyles; -var ansi_styles_default; -var init_ansi_styles = __esm({ - "node_modules/chalk/source/vendor/ansi-styles/index.js"() { - ANSI_BACKGROUND_OFFSET = 10; - wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`; - wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`; - wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`; - ansiStyles = assembleStyles(); - ansi_styles_default = ansiStyles; - } -}); -function hasFlag(flag, argv = import_node_process.default.argv) { - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; - const position = argv.indexOf(prefix + flag); - const terminatorPosition = argv.indexOf("--"); - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); -} -function envForceColor() { - if ("FORCE_COLOR" in env) { - if (env.FORCE_COLOR === "true") { - return 1; - } - if (env.FORCE_COLOR === "false") { - return 0; - } - return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3); - } -} -function translateLevel(level) { - if (level === 0) { - return false; - } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; -} -function _supportsColor(haveStream, { - streamIsTTY, - sniffFlags = true -} = {}) { - const noFlagForceColor = envForceColor(); - if (noFlagForceColor !== void 0) { - flagForceColor = noFlagForceColor; - } - const forceColor = sniffFlags ? flagForceColor : noFlagForceColor; - if (forceColor === 0) { - return 0; - } - if (sniffFlags) { - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { - return 3; - } - if (hasFlag("color=256")) { - return 2; - } - } - if (haveStream && !streamIsTTY && forceColor === void 0) { - return 0; - } - const min = forceColor || 0; - if (env.TERM === "dumb") { - return min; - } - if (import_node_process.default.platform === "win32") { - const osRelease = import_node_os.default.release().split("."); - if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - return 1; - } - if ("CI" in env) { - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { - return 1; - } - return min; - } - if ("TEAMCITY_VERSION" in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - if ("TF_BUILD" in env && "AGENT_NAME" in env) { - return 1; - } - if (env.COLORTERM === "truecolor") { - return 3; - } - if ("TERM_PROGRAM" in env) { - const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); - switch (env.TERM_PROGRAM) { - case "iTerm.app": - return version >= 3 ? 3 : 2; - case "Apple_Terminal": - return 2; - } - } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - if ("COLORTERM" in env) { - return 1; - } - return min; -} -function createSupportsColor(stream, options = {}) { - const level = _supportsColor(stream, Object.assign({ - streamIsTTY: stream && stream.isTTY - }, options)); - return translateLevel(level); -} -var import_node_process; -var import_node_os; -var import_node_tty; -var env; -var flagForceColor; -var supportsColor; -var supports_color_default; -var init_supports_color = __esm({ - "node_modules/chalk/source/vendor/supports-color/index.js"() { - import_node_process = __toESM(require("process"), 1); - import_node_os = __toESM(require("os"), 1); - import_node_tty = __toESM(require("tty"), 1); - ({ - env - } = import_node_process.default); - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) { - flagForceColor = 0; - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { - flagForceColor = 1; - } - supportsColor = { - stdout: createSupportsColor({ - isTTY: import_node_tty.default.isatty(1) - }), - stderr: createSupportsColor({ - isTTY: import_node_tty.default.isatty(2) - }) - }; - supports_color_default = supportsColor; - } -}); -function stringReplaceAll(string, substring, replacer) { - let index = string.indexOf(substring); - if (index === -1) { - return string; - } - const substringLength = substring.length; - let endIndex = 0; - let returnValue = ""; - do { - returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; - endIndex = index + substringLength; - index = string.indexOf(substring, endIndex); - } while (index !== -1); - returnValue += string.slice(endIndex); - return returnValue; -} -function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) { - let endIndex = 0; - let returnValue = ""; - do { - const gotCR = string[index - 1] === "\r"; - returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix; - endIndex = index + 1; - index = string.indexOf("\n", endIndex); - } while (index !== -1); - returnValue += string.slice(endIndex); - return returnValue; -} -var init_utilities = __esm({ - "node_modules/chalk/source/utilities.js"() { - } -}); -var source_exports = {}; -__export(source_exports, { - Chalk: () => Chalk, - chalkStderr: () => chalkStderr, - default: () => source_default, - supportsColor: () => stdoutColor, - supportsColorStderr: () => stderrColor -}); -function createChalk(options) { - return chalkFactory(options); -} -var stdoutColor; -var stderrColor; -var GENERATOR; -var STYLER; -var IS_EMPTY; -var levelMapping; -var styles; -var applyOptions; -var Chalk; -var chalkFactory; -var getModelAnsi; -var usedModels; -var proto; -var createStyler; -var createBuilder; -var applyStyle; -var chalk; -var chalkStderr; -var source_default; -var init_source = __esm({ - "node_modules/chalk/source/index.js"() { - init_ansi_styles(); - init_supports_color(); - init_utilities(); - ({ - stdout: stdoutColor, - stderr: stderrColor - } = supports_color_default); - GENERATOR = Symbol("GENERATOR"); - STYLER = Symbol("STYLER"); - IS_EMPTY = Symbol("IS_EMPTY"); - levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"]; - styles = /* @__PURE__ */ Object.create(null); - applyOptions = (object, options = {}) => { - if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { - throw new Error("The `level` option should be an integer from 0 to 3"); - } - const colorLevel = stdoutColor ? stdoutColor.level : 0; - object.level = options.level === void 0 ? colorLevel : options.level; - }; - Chalk = class { - constructor(options) { - return chalkFactory(options); - } - }; - chalkFactory = (options) => { - const chalk2 = (...strings) => strings.join(" "); - applyOptions(chalk2, options); - Object.setPrototypeOf(chalk2, createChalk.prototype); - return chalk2; - }; - Object.setPrototypeOf(createChalk.prototype, Function.prototype); - for (const [styleName, style] of Object.entries(ansi_styles_default)) { - styles[styleName] = { - get() { - const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]); - Object.defineProperty(this, styleName, { - value: builder - }); - return builder; - } - }; - } - styles.visible = { - get() { - const builder = createBuilder(this, this[STYLER], true); - Object.defineProperty(this, "visible", { - value: builder - }); - return builder; - } - }; - getModelAnsi = (model, level, type, ...arguments_) => { - if (model === "rgb") { - if (level === "ansi16m") { - return ansi_styles_default[type].ansi16m(...arguments_); - } - if (level === "ansi256") { - return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); - } - return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); - } - if (model === "hex") { - return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_)); - } - return ansi_styles_default[type][model](...arguments_); - }; - usedModels = ["rgb", "hex", "ansi256"]; - for (const model of usedModels) { - styles[model] = { - get() { - const { - level - } = this; - return function(...arguments_) { - const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]); - return createBuilder(this, styler, this[IS_EMPTY]); - }; - } - }; - const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const { - level - } = this; - return function(...arguments_) { - const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]); - return createBuilder(this, styler, this[IS_EMPTY]); - }; - } - }; - } - proto = Object.defineProperties(() => { - }, Object.assign(Object.assign({}, styles), {}, { - level: { - enumerable: true, - get() { - return this[GENERATOR].level; - }, - set(level) { - this[GENERATOR].level = level; - } - } - })); - createStyler = (open, close, parent) => { - let openAll; - let closeAll; - if (parent === void 0) { - openAll = open; - closeAll = close; - } else { - openAll = parent.openAll + open; - closeAll = close + parent.closeAll; - } - return { - open, - close, - openAll, - closeAll, - parent - }; - }; - createBuilder = (self2, _styler, _isEmpty) => { - const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" ")); - Object.setPrototypeOf(builder, proto); - builder[GENERATOR] = self2; - builder[STYLER] = _styler; - builder[IS_EMPTY] = _isEmpty; - return builder; - }; - applyStyle = (self2, string) => { - if (self2.level <= 0 || !string) { - return self2[IS_EMPTY] ? "" : string; - } - let styler = self2[STYLER]; - if (styler === void 0) { - return string; - } - const { - openAll, - closeAll - } = styler; - if (string.includes("\x1B")) { - while (styler !== void 0) { - string = stringReplaceAll(string, styler.close, styler.open); - styler = styler.parent; - } - } - const lfIndex = string.indexOf("\n"); - if (lfIndex !== -1) { - string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); - } - return openAll + string + closeAll; - }; - Object.defineProperties(createChalk.prototype, styles); - chalk = createChalk(); - chalkStderr = createChalk({ - level: stderrColor ? stderrColor.level : 0 - }); - source_default = chalk; - } -}); -var require_logger = __commonJS2({ - "src/cli/logger.js"(exports2, module2) { - "use strict"; - var readline = require("readline"); - var wcwidth = require_wcwidth(); - var { - default: stripAnsi2 - } = (init_strip_ansi(), __toCommonJS(strip_ansi_exports)); - var { - default: chalk2, - chalkStderr: chalkStderr2 - } = (init_source(), __toCommonJS(source_exports)); - var countLines = (stream, text) => { - const columns = stream.columns || 80; - let lineCount = 0; - for (const line of stripAnsi2(text).split("\n")) { - lineCount += Math.max(1, Math.ceil(wcwidth(line) / columns)); - } - return lineCount; - }; - var clear = (stream, text) => () => { - const lineCount = countLines(stream, text); - for (let line = 0; line < lineCount; line++) { - if (line > 0) { - readline.moveCursor(stream, 0, -1); - } - readline.clearLine(stream, 0); - readline.cursorTo(stream, 0); - } - }; - var emptyLogResult = { - clear() { - } - }; - function createLogger2(logLevel = "log") { - return { - logLevel, - warn: createLogFunc("warn", "yellow"), - error: createLogFunc("error", "red"), - debug: createLogFunc("debug", "blue"), - log: createLogFunc("log") - }; - function createLogFunc(loggerName, color) { - if (!shouldLog(loggerName)) { - return () => emptyLogResult; - } - const stream = process[loggerName === "log" ? "stdout" : "stderr"]; - const chalkInstance = loggerName === "log" ? chalk2 : chalkStderr2; - const prefix = color ? `[${chalkInstance[color](loggerName)}] ` : ""; - return (message, options) => { - options = Object.assign({ - newline: true, - clearable: false - }, options); - message = message.replace(/^/gm, prefix) + (options.newline ? "\n" : ""); - stream.write(message); - if (options.clearable) { - return { - clear: clear(stream, message) - }; - } - }; - } - function shouldLog(loggerName) { - switch (logLevel) { - case "silent": - return false; - case "debug": - if (loggerName === "debug") { - return true; - } - case "log": - if (loggerName === "log") { - return true; - } - case "warn": - if (loggerName === "warn") { - return true; - } - case "error": - return loggerName === "error"; - } - } - } - module2.exports = createLogger2; - } -}); -var require_prettier_internal = __commonJS2({ - "src/cli/prettier-internal.js"(exports2, module2) { - "use strict"; - module2.exports = require("./index.js").__internal; - } -}); -var require_lib = __commonJS2({ - "node_modules/outdent/lib/index.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.outdent = void 0; - function noop() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - } - function createWeakMap() { - if (typeof WeakMap !== "undefined") { - return /* @__PURE__ */ new WeakMap(); - } else { - return fakeSetOrMap(); - } - } - function fakeSetOrMap() { - return { - add: noop, - delete: noop, - get: noop, - set: noop, - has: function(k) { - return false; - } - }; - } - var hop = Object.prototype.hasOwnProperty; - var has = function(obj, prop) { - return hop.call(obj, prop); - }; - function extend(target, source) { - for (var prop in source) { - if (has(source, prop)) { - target[prop] = source[prop]; - } - } - return target; - } - var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; - var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; - var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; - var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; - var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; - function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { - var indentationLevel = 0; - var match = strings[0].match(reDetectIndentation); - if (match) { - indentationLevel = match[1].length; - } - var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; - var reMatchIndent = new RegExp(reSource, "g"); - if (firstInterpolatedValueSetsIndentationLevel) { - strings = strings.slice(1); - } - var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline; - var normalizeNewlines = typeof newline === "string"; - var l = strings.length; - var outdentedStrings = strings.map(function(v, i) { - v = v.replace(reMatchIndent, "$1"); - if (i === 0 && trimLeadingNewline) { - v = v.replace(reLeadingNewline, ""); - } - if (i === l - 1 && trimTrailingNewline) { - v = v.replace(reTrailingNewline, ""); - } - if (normalizeNewlines) { - v = v.replace(/\r\n|\n|\r/g, function(_) { - return newline; - }); - } - return v; - }); - return outdentedStrings; - } - function concatStringsAndValues(strings, values) { - var ret = ""; - for (var i = 0, l = strings.length; i < l; i++) { - ret += strings[i]; - if (i < l - 1) { - ret += values[i]; - } - } - return ret; - } - function isTemplateStringsArray(v) { - return has(v, "raw") && has(v, "length"); - } - function createInstance(options) { - var arrayAutoIndentCache = createWeakMap(); - var arrayFirstInterpSetsIndentCache = createWeakMap(); - function outdent(stringsOrOptions) { - var values = []; - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - if (isTemplateStringsArray(stringsOrOptions)) { - var strings = stringsOrOptions; - var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); - var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; - var renderedArray = cache.get(strings); - if (!renderedArray) { - renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); - cache.set(strings, renderedArray); - } - if (values.length === 0) { - return renderedArray[0]; - } - var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); - return rendered; - } else { - return createInstance(extend(extend({}, options), stringsOrOptions || {})); - } - } - var fullOutdent = extend(outdent, { - string: function(str) { - return _outdentArray([str], false, options)[0]; - } - }); - return fullOutdent; - } - var defaultOutdent = createInstance({ - trimLeadingNewline: true, - trimTrailingNewline: true - }); - exports2.outdent = defaultOutdent; - exports2.default = defaultOutdent; - if (typeof module2 !== "undefined") { - try { - module2.exports = defaultOutdent; - Object.defineProperty(defaultOutdent, "__esModule", { - value: true - }); - defaultOutdent.default = defaultOutdent; - defaultOutdent.outdent = defaultOutdent; - } catch (e) { - } - } - } -}); -var require_constant = __commonJS2({ - "src/cli/constant.js"(exports2, module2) { - "use strict"; - var { - outdent - } = require_lib(); - var { - coreOptions - } = require_prettier_internal(); - var categoryOrder = [coreOptions.CATEGORY_OUTPUT, coreOptions.CATEGORY_FORMAT, coreOptions.CATEGORY_CONFIG, coreOptions.CATEGORY_EDITOR, coreOptions.CATEGORY_OTHER]; - var options = { - cache: { - default: false, - description: "Only format changed files. Cannot use with --stdin-filepath.", - type: "boolean" - }, - "cache-location": { - description: "Path to the cache file.", - type: "path" - }, - "cache-strategy": { - choices: [{ - description: "Use the file metadata such as timestamps as cache keys", - value: "metadata" - }, { - description: "Use the file content as cache keys", - value: "content" - }], - description: "Strategy for the cache to use for detecting changed files.", - type: "choice" - }, - check: { - alias: "c", - category: coreOptions.CATEGORY_OUTPUT, - description: outdent` - Check if the given files are formatted, print a human-friendly summary - message and paths to unformatted files (see also --list-different). - `, - type: "boolean" - }, - color: { - default: true, - description: "Colorize error messages.", - oppositeDescription: "Do not colorize error messages.", - type: "boolean" - }, - config: { - category: coreOptions.CATEGORY_CONFIG, - description: "Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).", - exception: (value) => value === false, - oppositeDescription: "Do not look for a configuration file.", - type: "path" - }, - "config-precedence": { - category: coreOptions.CATEGORY_CONFIG, - choices: [{ - description: "CLI options take precedence over config file", - value: "cli-override" - }, { - description: "Config file take precedence over CLI options", - value: "file-override" - }, { - description: outdent` - If a config file is found will evaluate it and ignore other CLI options. - If no config file is found CLI options will evaluate as normal. - `, - value: "prefer-file" - }], - default: "cli-override", - description: "Define in which order config files and CLI options should be evaluated.", - type: "choice" - }, - "debug-benchmark": { - type: "boolean" - }, - "debug-check": { - type: "boolean" - }, - "debug-print-ast": { - type: "boolean" - }, - "debug-print-comments": { - type: "boolean" - }, - "debug-print-doc": { - type: "boolean" - }, - "debug-repeat": { - default: 0, - type: "int" - }, - editorconfig: { - category: coreOptions.CATEGORY_CONFIG, - default: true, - description: "Take .editorconfig into account when parsing configuration.", - oppositeDescription: "Don't take .editorconfig into account when parsing configuration.", - type: "boolean" - }, - "error-on-unmatched-pattern": { - oppositeDescription: "Prevent errors when pattern is unmatched.", - type: "boolean" - }, - "file-info": { - description: outdent` - Extract the following info (as JSON) for a given file path. Reported fields: - * ignored (boolean) - true if file path is filtered by --ignore-path - * inferredParser (string | null) - name of parser inferred from file path - `, - type: "path" - }, - "find-config-path": { - category: coreOptions.CATEGORY_CONFIG, - description: "Find and print the path to a configuration file for the given input file.", - type: "path" - }, - help: { - alias: "h", - description: outdent` - Show CLI usage, or details about the given flag. - Example: --help write - `, - exception: (value) => value === "", - type: "flag" - }, - "ignore-path": { - category: coreOptions.CATEGORY_CONFIG, - default: ".prettierignore", - description: "Path to a file with patterns describing files to ignore.", - type: "path" - }, - "ignore-unknown": { - alias: "u", - description: "Ignore unknown files.", - type: "boolean" - }, - "list-different": { - alias: "l", - category: coreOptions.CATEGORY_OUTPUT, - description: "Print the names of files that are different from Prettier's formatting (see also --check).", - type: "boolean" - }, - loglevel: { - choices: ["silent", "error", "warn", "log", "debug"], - default: "log", - description: "What level of logs to report.", - type: "choice" - }, - "plugin-search": { - oppositeDescription: "Disable plugin autoloading.", - type: "boolean" - }, - "support-info": { - description: "Print support information as JSON.", - type: "boolean" - }, - version: { - alias: "v", - description: "Print Prettier version.", - type: "boolean" - }, - "with-node-modules": { - category: coreOptions.CATEGORY_CONFIG, - description: "Process files inside 'node_modules' directory.", - type: "boolean" - }, - write: { - alias: "w", - category: coreOptions.CATEGORY_OUTPUT, - description: "Edit files in-place. (Beware!)", - type: "boolean" - } - }; - var usageSummary = outdent` - Usage: prettier [options] [file/dir/glob ...] - - By default, output is written to stdout. - Stdin is read if it is piped to Prettier and no files are given. -`; - module2.exports = { - categoryOrder, - options, - usageSummary - }; - } -}); -var require_dashify = __commonJS2({ - "node_modules/dashify/index.js"(exports2, module2) { - "use strict"; - module2.exports = (str, options) => { - if (typeof str !== "string") - throw new TypeError("expected a string"); - return str.trim().replace(/([a-z])([A-Z])/g, "$1-$2").replace(/\W/g, (m) => /[À-ž]/.test(m) ? m : "-").replace(/^-+|-+$/g, "").replace(/-{2,}/g, (m) => options && options.condense ? "-" : m).toLowerCase(); - }; - } -}); -var require_option_map = __commonJS2({ - "src/cli/options/option-map.js"(exports2, module2) { - "use strict"; - var dashify = require_dashify(); - var { - coreOptions - } = require_prettier_internal(); - function normalizeDetailedOption(name, option) { - return Object.assign(Object.assign({ - category: coreOptions.CATEGORY_OTHER - }, option), {}, { - choices: option.choices && option.choices.map((choice) => { - const newChoice = Object.assign({ - description: "", - deprecated: false - }, typeof choice === "object" ? choice : { - value: choice - }); - if (newChoice.value === true) { - newChoice.value = ""; - } - return newChoice; - }) - }); - } - function normalizeDetailedOptionMap(detailedOptionMap) { - return Object.fromEntries(Object.entries(detailedOptionMap).sort(([leftName], [rightName]) => leftName.localeCompare(rightName)).map(([name, option]) => [name, normalizeDetailedOption(name, option)])); - } - function createDetailedOptionMap(supportOptions) { - return Object.fromEntries(supportOptions.map((option) => { - const newOption = Object.assign(Object.assign({}, option), {}, { - name: option.cliName || dashify(option.name), - description: option.cliDescription || option.description, - category: option.cliCategory || coreOptions.CATEGORY_FORMAT, - forwardToApi: option.name - }); - if (option.deprecated) { - delete newOption.forwardToApi; - delete newOption.description; - delete newOption.oppositeDescription; - newOption.deprecated = true; - } - return [newOption.name, newOption]; - })); - } - module2.exports = { - normalizeDetailedOptionMap, - createDetailedOptionMap - }; - } -}); -var require_get_context_options = __commonJS2({ - "src/cli/options/get-context-options.js"(exports2, module2) { - "use strict"; - var prettier2 = require("./index.js"); - var { - optionsModule, - utils: { - arrayify - } - } = require_prettier_internal(); - var constant = require_constant(); - var { - normalizeDetailedOptionMap, - createDetailedOptionMap - } = require_option_map(); - function getContextOptions(plugins, pluginSearchDirs) { - const { - options: supportOptions, - languages - } = prettier2.getSupportInfo({ - showDeprecated: true, - showUnreleased: true, - showInternal: true, - plugins, - pluginSearchDirs - }); - const detailedOptionMap = normalizeDetailedOptionMap(Object.assign(Object.assign({}, createDetailedOptionMap(supportOptions)), constant.options)); - const detailedOptions = arrayify(detailedOptionMap, "name"); - const apiDefaultOptions = Object.assign(Object.assign({}, optionsModule.hiddenDefaults), Object.fromEntries(supportOptions.filter(({ - deprecated - }) => !deprecated).map((option) => [option.name, option.default]))); - return { - supportOptions, - detailedOptions, - detailedOptionMap, - apiDefaultOptions, - languages - }; - } - module2.exports = getContextOptions; - } -}); -var require_camelcase = __commonJS2({ - "node_modules/camelcase/index.js"(exports2, module2) { - "use strict"; - var UPPERCASE = /[\p{Lu}]/u; - var LOWERCASE = /[\p{Ll}]/u; - var LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu; - var IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u; - var SEPARATORS = /[_.\- ]+/; - var LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source); - var SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu"); - var NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu"); - var preserveCamelCase = (string, toLowerCase, toUpperCase) => { - let isLastCharLower = false; - let isLastCharUpper = false; - let isLastLastCharUpper = false; - for (let i = 0; i < string.length; i++) { - const character = string[i]; - if (isLastCharLower && UPPERCASE.test(character)) { - string = string.slice(0, i) + "-" + string.slice(i); - isLastCharLower = false; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = true; - i++; - } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) { - string = string.slice(0, i - 1) + "-" + string.slice(i - 1); - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = false; - isLastCharLower = true; - } else { - isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character; - } - } - return string; - }; - var preserveConsecutiveUppercase = (input, toLowerCase) => { - LEADING_CAPITAL.lastIndex = 0; - return input.replace(LEADING_CAPITAL, (m1) => toLowerCase(m1)); - }; - var postProcess = (input, toUpperCase) => { - SEPARATORS_AND_IDENTIFIER.lastIndex = 0; - NUMBERS_AND_IDENTIFIER.lastIndex = 0; - return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER, (m) => toUpperCase(m)); - }; - var camelCase = (input, options) => { - if (!(typeof input === "string" || Array.isArray(input))) { - throw new TypeError("Expected the input to be `string | string[]`"); - } - options = Object.assign({ - pascalCase: false, - preserveConsecutiveUppercase: false - }, options); - if (Array.isArray(input)) { - input = input.map((x) => x.trim()).filter((x) => x.length).join("-"); - } else { - input = input.trim(); - } - if (input.length === 0) { - return ""; - } - const toLowerCase = options.locale === false ? (string) => string.toLowerCase() : (string) => string.toLocaleLowerCase(options.locale); - const toUpperCase = options.locale === false ? (string) => string.toUpperCase() : (string) => string.toLocaleUpperCase(options.locale); - if (input.length === 1) { - return options.pascalCase ? toUpperCase(input) : toLowerCase(input); - } - const hasUpperCase = input !== toLowerCase(input); - if (hasUpperCase) { - input = preserveCamelCase(input, toLowerCase, toUpperCase); - } - input = input.replace(LEADING_SEPARATORS, ""); - if (options.preserveConsecutiveUppercase) { - input = preserveConsecutiveUppercase(input, toLowerCase); - } else { - input = toLowerCase(input); - } - if (options.pascalCase) { - input = toUpperCase(input.charAt(0)) + input.slice(1); - } - return postProcess(input, toUpperCase); - }; - module2.exports = camelCase; - module2.exports.default = camelCase; - } -}); -var sdbm_exports = {}; -__export(sdbm_exports, { - default: () => sdbm -}); -function sdbm(string) { - let hash = 0; - for (let i = 0; i < string.length; i++) { - hash = string.charCodeAt(i) + (hash << 6) + (hash << 16) - hash; - } - return hash >>> 0; -} -var init_sdbm = __esm({ - "node_modules/sdbm/index.js"() { - } -}); -var require_utils = __commonJS2({ - "src/cli/utils.js"(exports2, module2) { - "use strict"; - var { - promises: fs - } = require("fs"); - var { - default: sdbm2 - } = (init_sdbm(), __toCommonJS(sdbm_exports)); - var printToScreen2 = console.log.bind(console); - function groupBy(array2, iteratee) { - const result = /* @__PURE__ */ Object.create(null); - for (const value of array2) { - const key = iteratee(value); - if (Array.isArray(result[key])) { - result[key].push(value); - } else { - result[key] = [value]; - } - } - return result; - } - function pick(object, keys) { - const entries = keys.map((key) => [key, object[key]]); - return Object.fromEntries(entries); - } - function createHash(source) { - return String(sdbm2(source)); - } - async function statSafe(filePath) { - try { - return await fs.stat(filePath); - } catch (error) { - if (error.code !== "ENOENT") { - throw error; - } - } - } - function isJson(value) { - try { - JSON.parse(value); - return true; - } catch { - return false; - } - } - module2.exports = { - printToScreen: printToScreen2, - groupBy, - pick, - createHash, - statSafe, - isJson - }; - } -}); -var require_minimist = __commonJS2({ - "node_modules/minimist/index.js"(exports2, module2) { - module2.exports = function(args, opts) { - if (!opts) - opts = {}; - var flags = { - bools: {}, - strings: {}, - unknownFn: null - }; - if (typeof opts["unknown"] === "function") { - flags.unknownFn = opts["unknown"]; - } - if (typeof opts["boolean"] === "boolean" && opts["boolean"]) { - flags.allBools = true; - } else { - [].concat(opts["boolean"]).filter(Boolean).forEach(function(key2) { - flags.bools[key2] = true; - }); - } - var aliases = {}; - Object.keys(opts.alias || {}).forEach(function(key2) { - aliases[key2] = [].concat(opts.alias[key2]); - aliases[key2].forEach(function(x) { - aliases[x] = [key2].concat(aliases[key2].filter(function(y) { - return x !== y; - })); - }); - }); - [].concat(opts.string).filter(Boolean).forEach(function(key2) { - flags.strings[key2] = true; - if (aliases[key2]) { - flags.strings[aliases[key2]] = true; - } - }); - var defaults = opts["default"] || {}; - var argv = { - _: [] - }; - Object.keys(flags.bools).forEach(function(key2) { - setArg(key2, defaults[key2] === void 0 ? false : defaults[key2]); - }); - var notFlags = []; - if (args.indexOf("--") !== -1) { - notFlags = args.slice(args.indexOf("--") + 1); - args = args.slice(0, args.indexOf("--")); - } - function argDefined(key2, arg2) { - return flags.allBools && /^--[^=]+$/.test(arg2) || flags.strings[key2] || flags.bools[key2] || aliases[key2]; - } - function setArg(key2, val, arg2) { - if (arg2 && flags.unknownFn && !argDefined(key2, arg2)) { - if (flags.unknownFn(arg2) === false) - return; - } - var value2 = !flags.strings[key2] && isNumber(val) ? Number(val) : val; - setKey(argv, key2.split("."), value2); - (aliases[key2] || []).forEach(function(x) { - setKey(argv, x.split("."), value2); - }); - } - function setKey(obj, keys, value2) { - var o = obj; - for (var i2 = 0; i2 < keys.length - 1; i2++) { - var key2 = keys[i2]; - if (isConstructorOrProto(o, key2)) - return; - if (o[key2] === void 0) - o[key2] = {}; - if (o[key2] === Object.prototype || o[key2] === Number.prototype || o[key2] === String.prototype) - o[key2] = {}; - if (o[key2] === Array.prototype) - o[key2] = []; - o = o[key2]; - } - var key2 = keys[keys.length - 1]; - if (isConstructorOrProto(o, key2)) - return; - if (o === Object.prototype || o === Number.prototype || o === String.prototype) - o = {}; - if (o === Array.prototype) - o = []; - if (o[key2] === void 0 || flags.bools[key2] || typeof o[key2] === "boolean") { - o[key2] = value2; - } else if (Array.isArray(o[key2])) { - o[key2].push(value2); - } else { - o[key2] = [o[key2], value2]; - } - } - function aliasIsBoolean(key2) { - return aliases[key2].some(function(x) { - return flags.bools[x]; - }); - } - for (var i = 0; i < args.length; i++) { - var arg = args[i]; - if (/^--.+=/.test(arg)) { - var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - var key = m[1]; - var value = m[2]; - if (flags.bools[key]) { - value = value !== "false"; - } - setArg(key, value, arg); - } else if (/^--no-.+/.test(arg)) { - var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false, arg); - } else if (/^--.+/.test(arg)) { - var key = arg.match(/^--(.+)/)[1]; - var next = args[i + 1]; - if (next !== void 0 && !/^-/.test(next) && !flags.bools[key] && !flags.allBools && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, next, arg); - i++; - } else if (/^(true|false)$/.test(next)) { - setArg(key, next === "true", arg); - i++; - } else { - setArg(key, flags.strings[key] ? "" : true, arg); - } - } else if (/^-[^-]+/.test(arg)) { - var letters = arg.slice(1, -1).split(""); - var broken = false; - for (var j = 0; j < letters.length; j++) { - var next = arg.slice(j + 2); - if (next === "-") { - setArg(letters[j], next, arg); - continue; - } - if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { - setArg(letters[j], next.split("=")[1], arg); - broken = true; - break; - } - if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next, arg); - broken = true; - break; - } - if (letters[j + 1] && letters[j + 1].match(/\W/)) { - setArg(letters[j], arg.slice(j + 2), arg); - broken = true; - break; - } else { - setArg(letters[j], flags.strings[letters[j]] ? "" : true, arg); - } - } - var key = arg.slice(-1)[0]; - if (!broken && key !== "-") { - if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && !flags.bools[key] && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, args[i + 1], arg); - i++; - } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) { - setArg(key, args[i + 1] === "true", arg); - i++; - } else { - setArg(key, flags.strings[key] ? "" : true, arg); - } - } - } else { - if (!flags.unknownFn || flags.unknownFn(arg) !== false) { - argv._.push(flags.strings["_"] || !isNumber(arg) ? arg : Number(arg)); - } - if (opts.stopEarly) { - argv._.push.apply(argv._, args.slice(i + 1)); - break; - } - } - } - Object.keys(defaults).forEach(function(key2) { - if (!hasKey(argv, key2.split("."))) { - setKey(argv, key2.split("."), defaults[key2]); - (aliases[key2] || []).forEach(function(x) { - setKey(argv, x.split("."), defaults[key2]); - }); - } - }); - if (opts["--"]) { - argv["--"] = new Array(); - notFlags.forEach(function(key2) { - argv["--"].push(key2); - }); - } else { - notFlags.forEach(function(key2) { - argv._.push(key2); - }); - } - return argv; - }; - function hasKey(obj, keys) { - var o = obj; - keys.slice(0, -1).forEach(function(key2) { - o = o[key2] || {}; - }); - var key = keys[keys.length - 1]; - return key in o; - } - function isNumber(x) { - if (typeof x === "number") - return true; - if (/^0x[0-9a-f]+$/i.test(x)) - return true; - return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); - } - function isConstructorOrProto(obj, key) { - return key === "constructor" && typeof obj[key] === "function" || key === "__proto__"; - } - } -}); -var require_minimist2 = __commonJS2({ - "src/cli/options/minimist.js"(exports2, module2) { - "use strict"; - var minimist = require_minimist(); - var PLACEHOLDER = null; - module2.exports = function(args, options) { - const boolean = options.boolean || []; - const defaults = options.default || {}; - const booleanWithoutDefault = boolean.filter((key) => !(key in defaults)); - const newDefaults = Object.assign(Object.assign({}, defaults), Object.fromEntries(booleanWithoutDefault.map((key) => [key, PLACEHOLDER]))); - const parsed = minimist(args, Object.assign(Object.assign({}, options), {}, { - default: newDefaults - })); - return Object.fromEntries(Object.entries(parsed).filter(([, value]) => value !== PLACEHOLDER)); - }; - } -}); -var require_create_minimist_options = __commonJS2({ - "src/cli/options/create-minimist-options.js"(exports2, module2) { - "use strict"; - var { - utils: { - partition - } - } = require_prettier_internal(); - module2.exports = function createMinimistOptions(detailedOptions) { - const [boolean, string] = partition(detailedOptions, ({ - type - }) => type === "boolean").map((detailedOptions2) => detailedOptions2.flatMap(({ - name, - alias - }) => alias ? [name, alias] : [name])); - const defaults = Object.fromEntries(detailedOptions.filter((option) => !option.deprecated && (!option.forwardToApi || option.name === "plugin" || option.name === "plugin-search-dir") && option.default !== void 0).map((option) => [option.name, option.default])); - return { - alias: {}, - boolean, - string, - default: defaults - }; - }; - } -}); -var leven_exports = {}; -__export(leven_exports, { - default: () => leven -}); -function leven(first, second) { - if (first === second) { - return 0; - } - const swap = first; - if (first.length > second.length) { - first = second; - second = swap; - } - let firstLength = first.length; - let secondLength = second.length; - while (firstLength > 0 && first.charCodeAt(~-firstLength) === second.charCodeAt(~-secondLength)) { - firstLength--; - secondLength--; - } - let start = 0; - while (start < firstLength && first.charCodeAt(start) === second.charCodeAt(start)) { - start++; - } - firstLength -= start; - secondLength -= start; - if (firstLength === 0) { - return secondLength; - } - let bCharacterCode; - let result; - let temporary; - let temporary2; - let index = 0; - let index2 = 0; - while (index < firstLength) { - characterCodeCache[index] = first.charCodeAt(start + index); - array[index] = ++index; - } - while (index2 < secondLength) { - bCharacterCode = second.charCodeAt(start + index2); - temporary = index2++; - result = index2; - for (index = 0; index < firstLength; index++) { - temporary2 = bCharacterCode === characterCodeCache[index] ? temporary : temporary + 1; - temporary = array[index]; - result = array[index] = temporary > result ? temporary2 > result ? result + 1 : temporary2 : temporary2 > temporary ? temporary + 1 : temporary2; - } - } - return result; -} -var array; -var characterCodeCache; -var init_leven = __esm({ - "node_modules/leven/index.js"() { - array = []; - characterCodeCache = []; - } -}); -var require_normalize_cli_options = __commonJS2({ - "src/cli/options/normalize-cli-options.js"(exports2, module2) { - "use strict"; - var { - default: chalk2 - } = (init_source(), __toCommonJS(source_exports)); - var { - default: leven2 - } = (init_leven(), __toCommonJS(leven_exports)); - var { - optionsNormalizer - } = require_prettier_internal(); - function normalizeCliOptions(options, optionInfos, opts) { - return optionsNormalizer.normalizeCliOptions(options, optionInfos, Object.assign({ - colorsModule: chalk2, - levenshteinDistance: leven2 - }, opts)); - } - module2.exports = normalizeCliOptions; - } -}); -var require_parse_cli_arguments = __commonJS2({ - "src/cli/options/parse-cli-arguments.js"(exports2, module2) { - "use strict"; - var camelCase = require_camelcase(); - var { - pick - } = require_utils(); - var getContextOptions = require_get_context_options(); - var minimist = require_minimist2(); - var createMinimistOptions = require_create_minimist_options(); - var normalizeCliOptions = require_normalize_cli_options(); - function parseArgv(rawArguments, detailedOptions, logger, keys) { - const minimistOptions = createMinimistOptions(detailedOptions); - let argv = minimist(rawArguments, minimistOptions); - if (keys) { - if (keys.includes("plugin-search-dir") && !keys.includes("plugin-search")) { - keys.push("plugin-search"); - } - detailedOptions = detailedOptions.filter((option) => keys.includes(option.name)); - argv = pick(argv, keys); - } - const normalized = normalizeCliOptions(argv, detailedOptions, { - logger - }); - return Object.assign(Object.assign({}, Object.fromEntries(Object.entries(normalized).map(([key, value]) => { - const option = detailedOptions.find(({ - name - }) => name === key) || {}; - return [option.forwardToApi || camelCase(key), value]; - }))), {}, { - get __raw() { - return argv; - } - }); - } - var detailedOptionsWithoutPlugins = getContextOptions([], false).detailedOptions; - function parseArgvWithoutPlugins2(rawArguments, logger, keys) { - return parseArgv(rawArguments, detailedOptionsWithoutPlugins, logger, typeof keys === "string" ? [keys] : keys); - } - module2.exports = { - parseArgv, - parseArgvWithoutPlugins: parseArgvWithoutPlugins2 - }; - } -}); -var require_context = __commonJS2({ - "src/cli/context.js"(exports2, module2) { - "use strict"; - var { - utils: { - getLast - } - } = require_prettier_internal(); - var getContextOptions = require_get_context_options(); - var { - parseArgv, - parseArgvWithoutPlugins: parseArgvWithoutPlugins2 - } = require_parse_cli_arguments(); - var Context2 = class { - constructor({ - rawArguments, - logger - }) { - this.rawArguments = rawArguments; - this.logger = logger; - this.stack = []; - const { - plugins, - pluginSearchDirs - } = parseArgvWithoutPlugins2(rawArguments, logger, ["plugin", "plugin-search-dir"]); - this.pushContextPlugins(plugins, pluginSearchDirs); - const argv = parseArgv(rawArguments, this.detailedOptions, logger); - this.argv = argv; - this.filePatterns = argv._.map(String); - } - pushContextPlugins(plugins, pluginSearchDirs) { - const options = getContextOptions(plugins, pluginSearchDirs); - this.stack.push(options); - Object.assign(this, options); - } - popContextPlugins() { - this.stack.pop(); - Object.assign(this, getLast(this.stack)); - } - get performanceTestFlag() { - const { - debugBenchmark, - debugRepeat - } = this.argv; - if (debugBenchmark) { - return { - name: "--debug-benchmark", - debugBenchmark: true - }; - } - if (debugRepeat > 0) { - return { - name: "--debug-repeat", - debugRepeat - }; - } - const { - PRETTIER_PERF_REPEAT - } = process.env; - if (PRETTIER_PERF_REPEAT && /^\d+$/.test(PRETTIER_PERF_REPEAT)) { - return { - name: "PRETTIER_PERF_REPEAT (environment variable)", - debugRepeat: Number(PRETTIER_PERF_REPEAT) - }; - } - } - }; - module2.exports = Context2; - } -}); -var require_usage = __commonJS2({ - "src/cli/usage.js"(exports2, module2) { - "use strict"; - var camelCase = require_camelcase(); - var constant = require_constant(); - var { - groupBy - } = require_utils(); - var OPTION_USAGE_THRESHOLD = 25; - var CHOICE_USAGE_MARGIN = 3; - var CHOICE_USAGE_INDENTATION = 2; - function indent(str, spaces) { - return str.replace(/^/gm, " ".repeat(spaces)); - } - function createDefaultValueDisplay(value) { - return Array.isArray(value) ? `[${value.map(createDefaultValueDisplay).join(", ")}]` : value; - } - function getOptionDefaultValue(context, optionName) { - if (!(optionName in context.detailedOptionMap)) { - return; - } - const option = context.detailedOptionMap[optionName]; - if (option.default !== void 0) { - return option.default; - } - const optionCamelName = camelCase(optionName); - if (optionCamelName in context.apiDefaultOptions) { - return context.apiDefaultOptions[optionCamelName]; - } - } - function createOptionUsageHeader(option) { - const name = `--${option.name}`; - const alias = option.alias ? `-${option.alias},` : null; - const type = createOptionUsageType(option); - return [alias, name, type].filter(Boolean).join(" "); - } - function createOptionUsageRow(header, content, threshold) { - const separator = header.length >= threshold ? ` -${" ".repeat(threshold)}` : " ".repeat(threshold - header.length); - const description = content.replace(/\n/g, ` -${" ".repeat(threshold)}`); - return `${header}${separator}${description}`; - } - function createOptionUsageType(option) { - switch (option.type) { - case "boolean": - return null; - case "choice": - return `<${option.choices.filter((choice) => !choice.deprecated && choice.since !== null).map((choice) => choice.value).join("|")}>`; - default: - return `<${option.type}>`; - } - } - function createChoiceUsages(choices, margin, indentation) { - const activeChoices = choices.filter((choice) => !choice.deprecated && choice.since !== null); - const threshold = Math.max(0, ...activeChoices.map((choice) => choice.value.length)) + margin; - return activeChoices.map((choice) => indent(createOptionUsageRow(choice.value, choice.description, threshold), indentation)); - } - function createOptionUsage(context, option, threshold) { - const header = createOptionUsageHeader(option); - const optionDefaultValue = getOptionDefaultValue(context, option.name); - return createOptionUsageRow(header, `${option.description}${optionDefaultValue === void 0 ? "" : ` -Defaults to ${createDefaultValueDisplay(optionDefaultValue)}.`}`, threshold); - } - function getOptionsWithOpposites(options) { - const optionsWithOpposites = options.map((option) => [option.description ? option : null, option.oppositeDescription ? Object.assign(Object.assign({}, option), {}, { - name: `no-${option.name}`, - type: "boolean", - description: option.oppositeDescription - }) : null]); - return optionsWithOpposites.flat().filter(Boolean); - } - function createUsage2(context) { - const options = getOptionsWithOpposites(context.detailedOptions).filter((option) => !(option.type === "boolean" && option.oppositeDescription && !option.name.startsWith("no-"))); - const groupedOptions = groupBy(options, (option) => option.category); - const firstCategories = constant.categoryOrder.slice(0, -1); - const lastCategories = constant.categoryOrder.slice(-1); - const restCategories = Object.keys(groupedOptions).filter((category) => !constant.categoryOrder.includes(category)); - const allCategories = [...firstCategories, ...restCategories, ...lastCategories]; - const optionsUsage = allCategories.map((category) => { - const categoryOptions = groupedOptions[category].map((option) => createOptionUsage(context, option, OPTION_USAGE_THRESHOLD)).join("\n"); - return `${category} options: - -${indent(categoryOptions, 2)}`; - }); - return [constant.usageSummary, ...optionsUsage, ""].join("\n\n"); - } - function createDetailedUsage2(context, flag) { - const option = getOptionsWithOpposites(context.detailedOptions).find((option2) => option2.name === flag || option2.alias === flag); - const header = createOptionUsageHeader(option); - const description = ` - -${indent(option.description, 2)}`; - const choices = option.type !== "choice" ? "" : ` - -Valid options: - -${createChoiceUsages(option.choices, CHOICE_USAGE_MARGIN, CHOICE_USAGE_INDENTATION).join("\n")}`; - const optionDefaultValue = getOptionDefaultValue(context, option.name); - const defaults = optionDefaultValue !== void 0 ? ` - -Default: ${createDefaultValueDisplay(optionDefaultValue)}` : ""; - const pluginDefaults = option.pluginDefaults && Object.keys(option.pluginDefaults).length > 0 ? ` -Plugin defaults:${Object.entries(option.pluginDefaults).map(([key, value]) => ` -* ${key}: ${createDefaultValueDisplay(value)}`)}` : ""; - return `${header}${description}${choices}${defaults}${pluginDefaults}`; - } - module2.exports = { - createUsage: createUsage2, - createDetailedUsage: createDetailedUsage2 - }; - } -}); -var require_array = __commonJS2({ - "node_modules/fast-glob/out/utils/array.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.splitWhen = exports2.flatten = void 0; - function flatten(items) { - return items.reduce((collection, item) => [].concat(collection, item), []); - } - exports2.flatten = flatten; - function splitWhen(items, predicate) { - const result = [[]]; - let groupIndex = 0; - for (const item of items) { - if (predicate(item)) { - groupIndex++; - result[groupIndex] = []; - } else { - result[groupIndex].push(item); - } - } - return result; - } - exports2.splitWhen = splitWhen; - } -}); -var require_errno = __commonJS2({ - "node_modules/fast-glob/out/utils/errno.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isEnoentCodeError = void 0; - function isEnoentCodeError(error) { - return error.code === "ENOENT"; - } - exports2.isEnoentCodeError = isEnoentCodeError; - } -}); -var require_fs = __commonJS2({ - "node_modules/fast-glob/out/utils/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createDirentFromStats = void 0; - var DirentFromStats = class { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - }; - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - exports2.createDirentFromStats = createDirentFromStats; - } -}); -var require_path = __commonJS2({ - "node_modules/fast-glob/out/utils/path.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.removeLeadingDotSegment = exports2.escape = exports2.makeAbsolute = exports2.unixify = void 0; - var path = require("path"); - var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; - var UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g; - function unixify(filepath) { - return filepath.replace(/\\/g, "/"); - } - exports2.unixify = unixify; - function makeAbsolute(cwd, filepath) { - return path.resolve(cwd, filepath); - } - exports2.makeAbsolute = makeAbsolute; - function escape(pattern) { - return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, "\\$2"); - } - exports2.escape = escape; - function removeLeadingDotSegment(entry) { - if (entry.charAt(0) === ".") { - const secondCharactery = entry.charAt(1); - if (secondCharactery === "/" || secondCharactery === "\\") { - return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); - } - } - return entry; - } - exports2.removeLeadingDotSegment = removeLeadingDotSegment; - } -}); -var require_is_extglob = __commonJS2({ - "node_modules/is-extglob/index.js"(exports2, module2) { - module2.exports = function isExtglob(str) { - if (typeof str !== "string" || str === "") { - return false; - } - var match; - while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) { - if (match[2]) - return true; - str = str.slice(match.index + match[0].length); - } - return false; - }; - } -}); -var require_is_glob = __commonJS2({ - "node_modules/is-glob/index.js"(exports2, module2) { - var isExtglob = require_is_extglob(); - var chars = { - "{": "}", - "(": ")", - "[": "]" - }; - var strictCheck = function(str) { - if (str[0] === "!") { - return true; - } - var index = 0; - var pipeIndex = -2; - var closeSquareIndex = -2; - var closeCurlyIndex = -2; - var closeParenIndex = -2; - var backSlashIndex = -2; - while (index < str.length) { - if (str[index] === "*") { - return true; - } - if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) { - return true; - } - if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") { - if (closeSquareIndex < index) { - closeSquareIndex = str.indexOf("]", index); - } - if (closeSquareIndex > index) { - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { - return true; - } - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { - return true; - } - } - } - if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") { - closeCurlyIndex = str.indexOf("}", index); - if (closeCurlyIndex > index) { - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) { - return true; - } - } - } - if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") { - closeParenIndex = str.indexOf(")", index); - if (closeParenIndex > index) { - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { - return true; - } - } - } - if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") { - if (pipeIndex < index) { - pipeIndex = str.indexOf("|", index); - } - if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") { - closeParenIndex = str.indexOf(")", pipeIndex); - if (closeParenIndex > pipeIndex) { - backSlashIndex = str.indexOf("\\", pipeIndex); - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { - return true; - } - } - } - } - if (str[index] === "\\") { - var open = str[index + 1]; - index += 2; - var close = chars[open]; - if (close) { - var n = str.indexOf(close, index); - if (n !== -1) { - index = n + 1; - } - } - if (str[index] === "!") { - return true; - } - } else { - index++; - } - } - return false; - }; - var relaxedCheck = function(str) { - if (str[0] === "!") { - return true; - } - var index = 0; - while (index < str.length) { - if (/[*?{}()[\]]/.test(str[index])) { - return true; - } - if (str[index] === "\\") { - var open = str[index + 1]; - index += 2; - var close = chars[open]; - if (close) { - var n = str.indexOf(close, index); - if (n !== -1) { - index = n + 1; - } - } - if (str[index] === "!") { - return true; - } - } else { - index++; - } - } - return false; - }; - module2.exports = function isGlob(str, options) { - if (typeof str !== "string" || str === "") { - return false; - } - if (isExtglob(str)) { - return true; - } - var check = strictCheck; - if (options && options.strict === false) { - check = relaxedCheck; - } - return check(str); - }; - } -}); -var require_glob_parent = __commonJS2({ - "node_modules/glob-parent/index.js"(exports2, module2) { - "use strict"; - var isGlob = require_is_glob(); - var pathPosixDirname = require("path").posix.dirname; - var isWin32 = require("os").platform() === "win32"; - var slash = "/"; - var backslash = /\\/g; - var enclosure = /[\{\[].*[\}\]]$/; - var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; - var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; - module2.exports = function globParent(str, opts) { - var options = Object.assign({ - flipBackslashes: true - }, opts); - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { - str = str.replace(backslash, slash); - } - if (enclosure.test(str)) { - str += slash; - } - str += "a"; - do { - str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); - return str.replace(escaped, "$1"); - }; - } -}); -var require_utils2 = __commonJS2({ - "node_modules/braces/lib/utils.js"(exports2) { - "use strict"; - exports2.isInteger = (num) => { - if (typeof num === "number") { - return Number.isInteger(num); - } - if (typeof num === "string" && num.trim() !== "") { - return Number.isInteger(Number(num)); - } - return false; - }; - exports2.find = (node, type) => node.nodes.find((node2) => node2.type === type); - exports2.exceedsLimit = (min, max, step = 1, limit) => { - if (limit === false) - return false; - if (!exports2.isInteger(min) || !exports2.isInteger(max)) - return false; - return (Number(max) - Number(min)) / Number(step) >= limit; - }; - exports2.escapeNode = (block, n = 0, type) => { - let node = block.nodes[n]; - if (!node) - return; - if (type && node.type === type || node.type === "open" || node.type === "close") { - if (node.escaped !== true) { - node.value = "\\" + node.value; - node.escaped = true; - } - } - }; - exports2.encloseBrace = (node) => { - if (node.type !== "brace") - return false; - if (node.commas >> 0 + node.ranges >> 0 === 0) { - node.invalid = true; - return true; - } - return false; - }; - exports2.isInvalidBrace = (block) => { - if (block.type !== "brace") - return false; - if (block.invalid === true || block.dollar) - return true; - if (block.commas >> 0 + block.ranges >> 0 === 0) { - block.invalid = true; - return true; - } - if (block.open !== true || block.close !== true) { - block.invalid = true; - return true; - } - return false; - }; - exports2.isOpenOrClose = (node) => { - if (node.type === "open" || node.type === "close") { - return true; - } - return node.open === true || node.close === true; - }; - exports2.reduce = (nodes) => nodes.reduce((acc, node) => { - if (node.type === "text") - acc.push(node.value); - if (node.type === "range") - node.type = "text"; - return acc; - }, []); - exports2.flatten = (...args) => { - const result = []; - const flat = (arr) => { - for (let i = 0; i < arr.length; i++) { - let ele = arr[i]; - Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele); - } - return result; - }; - flat(args); - return result; - }; - } -}); -var require_stringify = __commonJS2({ - "node_modules/braces/lib/stringify.js"(exports2, module2) { - "use strict"; - var utils = require_utils2(); - module2.exports = (ast, options = {}) => { - let stringify2 = (node, parent = {}) => { - let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let output = ""; - if (node.value) { - if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { - return "\\" + node.value; - } - return node.value; - } - if (node.value) { - return node.value; - } - if (node.nodes) { - for (let child of node.nodes) { - output += stringify2(child); - } - } - return output; - }; - return stringify2(ast); - }; - } -}); -var require_is_number = __commonJS2({ - "node_modules/is-number/index.js"(exports2, module2) { - "use strict"; - module2.exports = function(num) { - if (typeof num === "number") { - return num - num === 0; - } - if (typeof num === "string" && num.trim() !== "") { - return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); - } - return false; - }; - } -}); -var require_to_regex_range = __commonJS2({ - "node_modules/to-regex-range/index.js"(exports2, module2) { - "use strict"; - var isNumber = require_is_number(); - var toRegexRange = (min, max, options) => { - if (isNumber(min) === false) { - throw new TypeError("toRegexRange: expected the first argument to be a number"); - } - if (max === void 0 || min === max) { - return String(min); - } - if (isNumber(max) === false) { - throw new TypeError("toRegexRange: expected the second argument to be a number."); - } - let opts = Object.assign({ - relaxZeros: true - }, options); - if (typeof opts.strictZeros === "boolean") { - opts.relaxZeros = opts.strictZeros === false; - } - let relax = String(opts.relaxZeros); - let shorthand = String(opts.shorthand); - let capture = String(opts.capture); - let wrap = String(opts.wrap); - let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap; - if (toRegexRange.cache.hasOwnProperty(cacheKey)) { - return toRegexRange.cache[cacheKey].result; - } - let a = Math.min(min, max); - let b = Math.max(min, max); - if (Math.abs(a - b) === 1) { - let result = min + "|" + max; - if (opts.capture) { - return `(${result})`; - } - if (opts.wrap === false) { - return result; - } - return `(?:${result})`; - } - let isPadded = hasPadding(min) || hasPadding(max); - let state = { - min, - max, - a, - b - }; - let positives = []; - let negatives = []; - if (isPadded) { - state.isPadded = isPadded; - state.maxLen = String(state.max).length; - } - if (a < 0) { - let newMin = b < 0 ? Math.abs(b) : 1; - negatives = splitToPatterns(newMin, Math.abs(a), state, opts); - a = state.a = 0; - } - if (b >= 0) { - positives = splitToPatterns(a, b, state, opts); - } - state.negatives = negatives; - state.positives = positives; - state.result = collatePatterns(negatives, positives, opts); - if (opts.capture === true) { - state.result = `(${state.result})`; - } else if (opts.wrap !== false && positives.length + negatives.length > 1) { - state.result = `(?:${state.result})`; - } - toRegexRange.cache[cacheKey] = state; - return state.result; - }; - function collatePatterns(neg, pos, options) { - let onlyNegative = filterPatterns(neg, pos, "-", false, options) || []; - let onlyPositive = filterPatterns(pos, neg, "", false, options) || []; - let intersected = filterPatterns(neg, pos, "-?", true, options) || []; - let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); - return subpatterns.join("|"); - } - function splitToRanges(min, max) { - let nines = 1; - let zeros = 1; - let stop = countNines(min, nines); - let stops = /* @__PURE__ */ new Set([max]); - while (min <= stop && stop <= max) { - stops.add(stop); - nines += 1; - stop = countNines(min, nines); - } - stop = countZeros(max + 1, zeros) - 1; - while (min < stop && stop <= max) { - stops.add(stop); - zeros += 1; - stop = countZeros(max + 1, zeros) - 1; - } - stops = [...stops]; - stops.sort(compare); - return stops; - } - function rangeToPattern(start, stop, options) { - if (start === stop) { - return { - pattern: start, - count: [], - digits: 0 - }; - } - let zipped = zip(start, stop); - let digits = zipped.length; - let pattern = ""; - let count = 0; - for (let i = 0; i < digits; i++) { - let [startDigit, stopDigit] = zipped[i]; - if (startDigit === stopDigit) { - pattern += startDigit; - } else if (startDigit !== "0" || stopDigit !== "9") { - pattern += toCharacterClass(startDigit, stopDigit, options); - } else { - count++; - } - } - if (count) { - pattern += options.shorthand === true ? "\\d" : "[0-9]"; - } - return { - pattern, - count: [count], - digits - }; - } - function splitToPatterns(min, max, tok, options) { - let ranges = splitToRanges(min, max); - let tokens = []; - let start = min; - let prev; - for (let i = 0; i < ranges.length; i++) { - let max2 = ranges[i]; - let obj = rangeToPattern(String(start), String(max2), options); - let zeros = ""; - if (!tok.isPadded && prev && prev.pattern === obj.pattern) { - if (prev.count.length > 1) { - prev.count.pop(); - } - prev.count.push(obj.count[0]); - prev.string = prev.pattern + toQuantifier(prev.count); - start = max2 + 1; - continue; - } - if (tok.isPadded) { - zeros = padZeros(max2, tok, options); - } - obj.string = zeros + obj.pattern + toQuantifier(obj.count); - tokens.push(obj); - start = max2 + 1; - prev = obj; - } - return tokens; - } - function filterPatterns(arr, comparison, prefix, intersection, options) { - let result = []; - for (let ele of arr) { - let { - string - } = ele; - if (!intersection && !contains(comparison, "string", string)) { - result.push(prefix + string); - } - if (intersection && contains(comparison, "string", string)) { - result.push(prefix + string); - } - } - return result; - } - function zip(a, b) { - let arr = []; - for (let i = 0; i < a.length; i++) - arr.push([a[i], b[i]]); - return arr; - } - function compare(a, b) { - return a > b ? 1 : b > a ? -1 : 0; - } - function contains(arr, key, val) { - return arr.some((ele) => ele[key] === val); - } - function countNines(min, len) { - return Number(String(min).slice(0, -len) + "9".repeat(len)); - } - function countZeros(integer, zeros) { - return integer - integer % Math.pow(10, zeros); - } - function toQuantifier(digits) { - let [start = 0, stop = ""] = digits; - if (stop || start > 1) { - return `{${start + (stop ? "," + stop : "")}}`; - } - return ""; - } - function toCharacterClass(a, b, options) { - return `[${a}${b - a === 1 ? "" : "-"}${b}]`; - } - function hasPadding(str) { - return /^-?(0+)\d/.test(str); - } - function padZeros(value, tok, options) { - if (!tok.isPadded) { - return value; - } - let diff = Math.abs(tok.maxLen - String(value).length); - let relax = options.relaxZeros !== false; - switch (diff) { - case 0: - return ""; - case 1: - return relax ? "0?" : "0"; - case 2: - return relax ? "0{0,2}" : "00"; - default: { - return relax ? `0{0,${diff}}` : `0{${diff}}`; - } - } - } - toRegexRange.cache = {}; - toRegexRange.clearCache = () => toRegexRange.cache = {}; - module2.exports = toRegexRange; - } -}); -var require_fill_range = __commonJS2({ - "node_modules/fill-range/index.js"(exports2, module2) { - "use strict"; - var util = require("util"); - var toRegexRange = require_to_regex_range(); - var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - var transform = (toNumber) => { - return (value) => toNumber === true ? Number(value) : String(value); - }; - var isValidValue = (value) => { - return typeof value === "number" || typeof value === "string" && value !== ""; - }; - var isNumber = (num) => Number.isInteger(+num); - var zeros = (input) => { - let value = `${input}`; - let index = -1; - if (value[0] === "-") - value = value.slice(1); - if (value === "0") - return false; - while (value[++index] === "0") - ; - return index > 0; - }; - var stringify2 = (start, end, options) => { - if (typeof start === "string" || typeof end === "string") { - return true; - } - return options.stringify === true; - }; - var pad = (input, maxLength, toNumber) => { - if (maxLength > 0) { - let dash = input[0] === "-" ? "-" : ""; - if (dash) - input = input.slice(1); - input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0"); - } - if (toNumber === false) { - return String(input); - } - return input; - }; - var toMaxLen = (input, maxLength) => { - let negative = input[0] === "-" ? "-" : ""; - if (negative) { - input = input.slice(1); - maxLength--; - } - while (input.length < maxLength) - input = "0" + input; - return negative ? "-" + input : input; - }; - var toSequence = (parts, options) => { - parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - let prefix = options.capture ? "" : "?:"; - let positives = ""; - let negatives = ""; - let result; - if (parts.positives.length) { - positives = parts.positives.join("|"); - } - if (parts.negatives.length) { - negatives = `-(${prefix}${parts.negatives.join("|")})`; - } - if (positives && negatives) { - result = `${positives}|${negatives}`; - } else { - result = positives || negatives; - } - if (options.wrap) { - return `(${prefix}${result})`; - } - return result; - }; - var toRange = (a, b, isNumbers, options) => { - if (isNumbers) { - return toRegexRange(a, b, Object.assign({ - wrap: false - }, options)); - } - let start = String.fromCharCode(a); - if (a === b) - return start; - let stop = String.fromCharCode(b); - return `[${start}-${stop}]`; - }; - var toRegex = (start, end, options) => { - if (Array.isArray(start)) { - let wrap = options.wrap === true; - let prefix = options.capture ? "" : "?:"; - return wrap ? `(${prefix}${start.join("|")})` : start.join("|"); - } - return toRegexRange(start, end, options); - }; - var rangeError = (...args) => { - return new RangeError("Invalid range arguments: " + util.inspect(...args)); - }; - var invalidRange = (start, end, options) => { - if (options.strictRanges === true) - throw rangeError([start, end]); - return []; - }; - var invalidStep = (step, options) => { - if (options.strictRanges === true) { - throw new TypeError(`Expected step "${step}" to be a number`); - } - return []; - }; - var fillNumbers = (start, end, step = 1, options = {}) => { - let a = Number(start); - let b = Number(end); - if (!Number.isInteger(a) || !Number.isInteger(b)) { - if (options.strictRanges === true) - throw rangeError([start, end]); - return []; - } - if (a === 0) - a = 0; - if (b === 0) - b = 0; - let descending = a > b; - let startString = String(start); - let endString = String(end); - let stepString = String(step); - step = Math.max(Math.abs(step), 1); - let padded = zeros(startString) || zeros(endString) || zeros(stepString); - let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; - let toNumber = padded === false && stringify2(start, end, options) === false; - let format = options.transform || transform(toNumber); - if (options.toRegex && step === 1) { - return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); - } - let parts = { - negatives: [], - positives: [] - }; - let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num)); - let range = []; - let index = 0; - while (descending ? a >= b : a <= b) { - if (options.toRegex === true && step > 1) { - push(a); - } else { - range.push(pad(format(a, index), maxLen, toNumber)); - } - a = descending ? a - step : a + step; - index++; - } - if (options.toRegex === true) { - return step > 1 ? toSequence(parts, options) : toRegex(range, null, Object.assign({ - wrap: false - }, options)); - } - return range; - }; - var fillLetters = (start, end, step = 1, options = {}) => { - if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) { - return invalidRange(start, end, options); - } - let format = options.transform || ((val) => String.fromCharCode(val)); - let a = `${start}`.charCodeAt(0); - let b = `${end}`.charCodeAt(0); - let descending = a > b; - let min = Math.min(a, b); - let max = Math.max(a, b); - if (options.toRegex && step === 1) { - return toRange(min, max, false, options); - } - let range = []; - let index = 0; - while (descending ? a >= b : a <= b) { - range.push(format(a, index)); - a = descending ? a - step : a + step; - index++; - } - if (options.toRegex === true) { - return toRegex(range, null, { - wrap: false, - options - }); - } - return range; - }; - var fill = (start, end, step, options = {}) => { - if (end == null && isValidValue(start)) { - return [start]; - } - if (!isValidValue(start) || !isValidValue(end)) { - return invalidRange(start, end, options); - } - if (typeof step === "function") { - return fill(start, end, 1, { - transform: step - }); - } - if (isObject(step)) { - return fill(start, end, 0, step); - } - let opts = Object.assign({}, options); - if (opts.capture === true) - opts.wrap = true; - step = step || opts.step || 1; - if (!isNumber(step)) { - if (step != null && !isObject(step)) - return invalidStep(step, opts); - return fill(start, end, 1, step); - } - if (isNumber(start) && isNumber(end)) { - return fillNumbers(start, end, step, opts); - } - return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); - }; - module2.exports = fill; - } -}); -var require_compile = __commonJS2({ - "node_modules/braces/lib/compile.js"(exports2, module2) { - "use strict"; - var fill = require_fill_range(); - var utils = require_utils2(); - var compile = (ast, options = {}) => { - let walk = (node, parent = {}) => { - let invalidBlock = utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let invalid = invalidBlock === true || invalidNode === true; - let prefix = options.escapeInvalid === true ? "\\" : ""; - let output = ""; - if (node.isOpen === true) { - return prefix + node.value; - } - if (node.isClose === true) { - return prefix + node.value; - } - if (node.type === "open") { - return invalid ? prefix + node.value : "("; - } - if (node.type === "close") { - return invalid ? prefix + node.value : ")"; - } - if (node.type === "comma") { - return node.prev.type === "comma" ? "" : invalid ? node.value : "|"; - } - if (node.value) { - return node.value; - } - if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - let range = fill(...args, Object.assign(Object.assign({}, options), {}, { - wrap: false, - toRegex: true - })); - if (range.length !== 0) { - return args.length > 1 && range.length > 1 ? `(${range})` : range; - } - } - if (node.nodes) { - for (let child of node.nodes) { - output += walk(child, node); - } - } - return output; - }; - return walk(ast); - }; - module2.exports = compile; - } -}); -var require_expand = __commonJS2({ - "node_modules/braces/lib/expand.js"(exports2, module2) { - "use strict"; - var fill = require_fill_range(); - var stringify2 = require_stringify(); - var utils = require_utils2(); - var append = (queue = "", stash = "", enclose = false) => { - let result = []; - queue = [].concat(queue); - stash = [].concat(stash); - if (!stash.length) - return queue; - if (!queue.length) { - return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash; - } - for (let item of queue) { - if (Array.isArray(item)) { - for (let value of item) { - result.push(append(value, stash, enclose)); - } - } else { - for (let ele of stash) { - if (enclose === true && typeof ele === "string") - ele = `{${ele}}`; - result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele); - } - } - } - return utils.flatten(result); - }; - var expand = (ast, options = {}) => { - let rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit; - let walk = (node, parent = {}) => { - node.queue = []; - let p = parent; - let q = parent.queue; - while (p.type !== "brace" && p.type !== "root" && p.parent) { - p = p.parent; - q = p.queue; - } - if (node.invalid || node.dollar) { - q.push(append(q.pop(), stringify2(node, options))); - return; - } - if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) { - q.push(append(q.pop(), ["{}"])); - return; - } - if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - if (utils.exceedsLimit(...args, options.step, rangeLimit)) { - throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit."); - } - let range = fill(...args, options); - if (range.length === 0) { - range = stringify2(node, options); - } - q.push(append(q.pop(), range)); - node.nodes = []; - return; - } - let enclose = utils.encloseBrace(node); - let queue = node.queue; - let block = node; - while (block.type !== "brace" && block.type !== "root" && block.parent) { - block = block.parent; - queue = block.queue; - } - for (let i = 0; i < node.nodes.length; i++) { - let child = node.nodes[i]; - if (child.type === "comma" && node.type === "brace") { - if (i === 1) - queue.push(""); - queue.push(""); - continue; - } - if (child.type === "close") { - q.push(append(q.pop(), queue, enclose)); - continue; - } - if (child.value && child.type !== "open") { - queue.push(append(queue.pop(), child.value)); - continue; - } - if (child.nodes) { - walk(child, node); - } - } - return queue; - }; - return utils.flatten(walk(ast)); - }; - module2.exports = expand; - } -}); -var require_constants = __commonJS2({ - "node_modules/braces/lib/constants.js"(exports2, module2) { - "use strict"; - module2.exports = { - MAX_LENGTH: 1024 * 64, - CHAR_0: "0", - CHAR_9: "9", - CHAR_UPPERCASE_A: "A", - CHAR_LOWERCASE_A: "a", - CHAR_UPPERCASE_Z: "Z", - CHAR_LOWERCASE_Z: "z", - CHAR_LEFT_PARENTHESES: "(", - CHAR_RIGHT_PARENTHESES: ")", - CHAR_ASTERISK: "*", - CHAR_AMPERSAND: "&", - CHAR_AT: "@", - CHAR_BACKSLASH: "\\", - CHAR_BACKTICK: "`", - CHAR_CARRIAGE_RETURN: "\r", - CHAR_CIRCUMFLEX_ACCENT: "^", - CHAR_COLON: ":", - CHAR_COMMA: ",", - CHAR_DOLLAR: "$", - CHAR_DOT: ".", - CHAR_DOUBLE_QUOTE: '"', - CHAR_EQUAL: "=", - CHAR_EXCLAMATION_MARK: "!", - CHAR_FORM_FEED: "\f", - CHAR_FORWARD_SLASH: "/", - CHAR_HASH: "#", - CHAR_HYPHEN_MINUS: "-", - CHAR_LEFT_ANGLE_BRACKET: "<", - CHAR_LEFT_CURLY_BRACE: "{", - CHAR_LEFT_SQUARE_BRACKET: "[", - CHAR_LINE_FEED: "\n", - CHAR_NO_BREAK_SPACE: "\xA0", - CHAR_PERCENT: "%", - CHAR_PLUS: "+", - CHAR_QUESTION_MARK: "?", - CHAR_RIGHT_ANGLE_BRACKET: ">", - CHAR_RIGHT_CURLY_BRACE: "}", - CHAR_RIGHT_SQUARE_BRACKET: "]", - CHAR_SEMICOLON: ";", - CHAR_SINGLE_QUOTE: "'", - CHAR_SPACE: " ", - CHAR_TAB: " ", - CHAR_UNDERSCORE: "_", - CHAR_VERTICAL_LINE: "|", - CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF" - }; - } -}); -var require_parse = __commonJS2({ - "node_modules/braces/lib/parse.js"(exports2, module2) { - "use strict"; - var stringify2 = require_stringify(); - var { - MAX_LENGTH, - CHAR_BACKSLASH, - CHAR_BACKTICK, - CHAR_COMMA, - CHAR_DOT, - CHAR_LEFT_PARENTHESES, - CHAR_RIGHT_PARENTHESES, - CHAR_LEFT_CURLY_BRACE, - CHAR_RIGHT_CURLY_BRACE, - CHAR_LEFT_SQUARE_BRACKET, - CHAR_RIGHT_SQUARE_BRACKET, - CHAR_DOUBLE_QUOTE, - CHAR_SINGLE_QUOTE, - CHAR_NO_BREAK_SPACE, - CHAR_ZERO_WIDTH_NOBREAK_SPACE - } = require_constants(); - var parse = (input, options = {}) => { - if (typeof input !== "string") { - throw new TypeError("Expected a string"); - } - let opts = options || {}; - let max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - if (input.length > max) { - throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); - } - let ast = { - type: "root", - input, - nodes: [] - }; - let stack = [ast]; - let block = ast; - let prev = ast; - let brackets = 0; - let length = input.length; - let index = 0; - let depth = 0; - let value; - let memo = {}; - const advance = () => input[index++]; - const push = (node) => { - if (node.type === "text" && prev.type === "dot") { - prev.type = "text"; - } - if (prev && prev.type === "text" && node.type === "text") { - prev.value += node.value; - return; - } - block.nodes.push(node); - node.parent = block; - node.prev = prev; - prev = node; - return node; - }; - push({ - type: "bos" - }); - while (index < length) { - block = stack[stack.length - 1]; - value = advance(); - if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { - continue; - } - if (value === CHAR_BACKSLASH) { - push({ - type: "text", - value: (options.keepEscaping ? value : "") + advance() - }); - continue; - } - if (value === CHAR_RIGHT_SQUARE_BRACKET) { - push({ - type: "text", - value: "\\" + value - }); - continue; - } - if (value === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - let closed = true; - let next; - while (index < length && (next = advance())) { - value += next; - if (next === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - continue; - } - if (next === CHAR_BACKSLASH) { - value += advance(); - continue; - } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - brackets--; - if (brackets === 0) { - break; - } - } - } - push({ - type: "text", - value - }); - continue; - } - if (value === CHAR_LEFT_PARENTHESES) { - block = push({ - type: "paren", - nodes: [] - }); - stack.push(block); - push({ - type: "text", - value - }); - continue; - } - if (value === CHAR_RIGHT_PARENTHESES) { - if (block.type !== "paren") { - push({ - type: "text", - value - }); - continue; - } - block = stack.pop(); - push({ - type: "text", - value - }); - block = stack[stack.length - 1]; - continue; - } - if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { - let open = value; - let next; - if (options.keepQuotes !== true) { - value = ""; - } - while (index < length && (next = advance())) { - if (next === CHAR_BACKSLASH) { - value += next + advance(); - continue; - } - if (next === open) { - if (options.keepQuotes === true) - value += next; - break; - } - value += next; - } - push({ - type: "text", - value - }); - continue; - } - if (value === CHAR_LEFT_CURLY_BRACE) { - depth++; - let dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true; - let brace = { - type: "brace", - open: true, - close: false, - dollar, - depth, - commas: 0, - ranges: 0, - nodes: [] - }; - block = push(brace); - stack.push(block); - push({ - type: "open", - value - }); - continue; - } - if (value === CHAR_RIGHT_CURLY_BRACE) { - if (block.type !== "brace") { - push({ - type: "text", - value - }); - continue; - } - let type = "close"; - block = stack.pop(); - block.close = true; - push({ - type, - value - }); - depth--; - block = stack[stack.length - 1]; - continue; - } - if (value === CHAR_COMMA && depth > 0) { - if (block.ranges > 0) { - block.ranges = 0; - let open = block.nodes.shift(); - block.nodes = [open, { - type: "text", - value: stringify2(block) - }]; - } - push({ - type: "comma", - value - }); - block.commas++; - continue; - } - if (value === CHAR_DOT && depth > 0 && block.commas === 0) { - let siblings = block.nodes; - if (depth === 0 || siblings.length === 0) { - push({ - type: "text", - value - }); - continue; - } - if (prev.type === "dot") { - block.range = []; - prev.value += value; - prev.type = "range"; - if (block.nodes.length !== 3 && block.nodes.length !== 5) { - block.invalid = true; - block.ranges = 0; - prev.type = "text"; - continue; - } - block.ranges++; - block.args = []; - continue; - } - if (prev.type === "range") { - siblings.pop(); - let before = siblings[siblings.length - 1]; - before.value += prev.value + value; - prev = before; - block.ranges--; - continue; - } - push({ - type: "dot", - value - }); - continue; - } - push({ - type: "text", - value - }); - } - do { - block = stack.pop(); - if (block.type !== "root") { - block.nodes.forEach((node) => { - if (!node.nodes) { - if (node.type === "open") - node.isOpen = true; - if (node.type === "close") - node.isClose = true; - if (!node.nodes) - node.type = "text"; - node.invalid = true; - } - }); - let parent = stack[stack.length - 1]; - let index2 = parent.nodes.indexOf(block); - parent.nodes.splice(index2, 1, ...block.nodes); - } - } while (stack.length > 0); - push({ - type: "eos" - }); - return ast; - }; - module2.exports = parse; - } -}); -var require_braces = __commonJS2({ - "node_modules/braces/index.js"(exports2, module2) { - "use strict"; - var stringify2 = require_stringify(); - var compile = require_compile(); - var expand = require_expand(); - var parse = require_parse(); - var braces = (input, options = {}) => { - let output = []; - if (Array.isArray(input)) { - for (let pattern of input) { - let result = braces.create(pattern, options); - if (Array.isArray(result)) { - output.push(...result); - } else { - output.push(result); - } - } - } else { - output = [].concat(braces.create(input, options)); - } - if (options && options.expand === true && options.nodupes === true) { - output = [...new Set(output)]; - } - return output; - }; - braces.parse = (input, options = {}) => parse(input, options); - braces.stringify = (input, options = {}) => { - if (typeof input === "string") { - return stringify2(braces.parse(input, options), options); - } - return stringify2(input, options); - }; - braces.compile = (input, options = {}) => { - if (typeof input === "string") { - input = braces.parse(input, options); - } - return compile(input, options); - }; - braces.expand = (input, options = {}) => { - if (typeof input === "string") { - input = braces.parse(input, options); - } - let result = expand(input, options); - if (options.noempty === true) { - result = result.filter(Boolean); - } - if (options.nodupes === true) { - result = [...new Set(result)]; - } - return result; - }; - braces.create = (input, options = {}) => { - if (input === "" || input.length < 3) { - return [input]; - } - return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options); - }; - module2.exports = braces; - } -}); -var require_constants2 = __commonJS2({ - "node_modules/picomatch/lib/constants.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var WIN_SLASH = "\\\\/"; - var WIN_NO_SLASH = `[^${WIN_SLASH}]`; - var DOT_LITERAL = "\\."; - var PLUS_LITERAL = "\\+"; - var QMARK_LITERAL = "\\?"; - var SLASH_LITERAL = "\\/"; - var ONE_CHAR = "(?=.)"; - var QMARK = "[^/]"; - var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; - var START_ANCHOR = `(?:^|${SLASH_LITERAL})`; - var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; - var NO_DOT = `(?!${DOT_LITERAL})`; - var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; - var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; - var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; - var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; - var STAR = `${QMARK}*?`; - var POSIX_CHARS = { - DOT_LITERAL, - PLUS_LITERAL, - QMARK_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - QMARK, - END_ANCHOR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK_NO_DOT, - STAR, - START_ANCHOR - }; - var WINDOWS_CHARS = Object.assign(Object.assign({}, POSIX_CHARS), {}, { - SLASH_LITERAL: `[${WIN_SLASH}]`, - QMARK: WIN_NO_SLASH, - STAR: `${WIN_NO_SLASH}*?`, - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, - NO_DOT: `(?!${DOT_LITERAL})`, - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - QMARK_NO_DOT: `[^.${WIN_SLASH}]`, - START_ANCHOR: `(?:^|[${WIN_SLASH}])`, - END_ANCHOR: `(?:[${WIN_SLASH}]|$)` - }); - var POSIX_REGEX_SOURCE = { - alnum: "a-zA-Z0-9", - alpha: "a-zA-Z", - ascii: "\\x00-\\x7F", - blank: " \\t", - cntrl: "\\x00-\\x1F\\x7F", - digit: "0-9", - graph: "\\x21-\\x7E", - lower: "a-z", - print: "\\x20-\\x7E ", - punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~", - space: " \\t\\r\\n\\v\\f", - upper: "A-Z", - word: "A-Za-z0-9_", - xdigit: "A-Fa-f0-9" - }; - module2.exports = { - MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, - REPLACEMENTS: { - "***": "*", - "**/**": "**", - "**/**/**": "**" - }, - CHAR_0: 48, - CHAR_9: 57, - CHAR_UPPERCASE_A: 65, - CHAR_LOWERCASE_A: 97, - CHAR_UPPERCASE_Z: 90, - CHAR_LOWERCASE_Z: 122, - CHAR_LEFT_PARENTHESES: 40, - CHAR_RIGHT_PARENTHESES: 41, - CHAR_ASTERISK: 42, - CHAR_AMPERSAND: 38, - CHAR_AT: 64, - CHAR_BACKWARD_SLASH: 92, - CHAR_CARRIAGE_RETURN: 13, - CHAR_CIRCUMFLEX_ACCENT: 94, - CHAR_COLON: 58, - CHAR_COMMA: 44, - CHAR_DOT: 46, - CHAR_DOUBLE_QUOTE: 34, - CHAR_EQUAL: 61, - CHAR_EXCLAMATION_MARK: 33, - CHAR_FORM_FEED: 12, - CHAR_FORWARD_SLASH: 47, - CHAR_GRAVE_ACCENT: 96, - CHAR_HASH: 35, - CHAR_HYPHEN_MINUS: 45, - CHAR_LEFT_ANGLE_BRACKET: 60, - CHAR_LEFT_CURLY_BRACE: 123, - CHAR_LEFT_SQUARE_BRACKET: 91, - CHAR_LINE_FEED: 10, - CHAR_NO_BREAK_SPACE: 160, - CHAR_PERCENT: 37, - CHAR_PLUS: 43, - CHAR_QUESTION_MARK: 63, - CHAR_RIGHT_ANGLE_BRACKET: 62, - CHAR_RIGHT_CURLY_BRACE: 125, - CHAR_RIGHT_SQUARE_BRACKET: 93, - CHAR_SEMICOLON: 59, - CHAR_SINGLE_QUOTE: 39, - CHAR_SPACE: 32, - CHAR_TAB: 9, - CHAR_UNDERSCORE: 95, - CHAR_VERTICAL_LINE: 124, - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, - SEP: path.sep, - extglobChars(chars) { - return { - "!": { - type: "negate", - open: "(?:(?!(?:", - close: `))${chars.STAR})` - }, - "?": { - type: "qmark", - open: "(?:", - close: ")?" - }, - "+": { - type: "plus", - open: "(?:", - close: ")+" - }, - "*": { - type: "star", - open: "(?:", - close: ")*" - }, - "@": { - type: "at", - open: "(?:", - close: ")" - } - }; - }, - globChars(win32) { - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; - } - }; - } -}); -var require_utils3 = __commonJS2({ - "node_modules/picomatch/lib/utils.js"(exports2) { - "use strict"; - var path = require("path"); - var win32 = process.platform === "win32"; - var { - REGEX_BACKSLASH, - REGEX_REMOVE_BACKSLASH, - REGEX_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_GLOBAL - } = require_constants2(); - exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str); - exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str); - exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); - exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/"); - exports2.removeBackslashes = (str) => { - return str.replace(REGEX_REMOVE_BACKSLASH, (match) => { - return match === "\\" ? "" : match; - }); - }; - exports2.supportsLookbehinds = () => { - const segs = process.version.slice(1).split(".").map(Number); - if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) { - return true; - } - return false; - }; - exports2.isWindows = (options) => { - if (options && typeof options.windows === "boolean") { - return options.windows; - } - return win32 === true || path.sep === "\\"; - }; - exports2.escapeLast = (input, char, lastIdx) => { - const idx = input.lastIndexOf(char, lastIdx); - if (idx === -1) - return input; - if (input[idx - 1] === "\\") - return exports2.escapeLast(input, char, idx - 1); - return `${input.slice(0, idx)}\\${input.slice(idx)}`; - }; - exports2.removePrefix = (input, state = {}) => { - let output = input; - if (output.startsWith("./")) { - output = output.slice(2); - state.prefix = "./"; - } - return output; - }; - exports2.wrapOutput = (input, state = {}, options = {}) => { - const prepend = options.contains ? "" : "^"; - const append = options.contains ? "" : "$"; - let output = `${prepend}(?:${input})${append}`; - if (state.negated === true) { - output = `(?:^(?!${output}).*$)`; - } - return output; - }; - } -}); -var require_scan = __commonJS2({ - "node_modules/picomatch/lib/scan.js"(exports2, module2) { - "use strict"; - var utils = require_utils3(); - var { - CHAR_ASTERISK, - CHAR_AT, - CHAR_BACKWARD_SLASH, - CHAR_COMMA, - CHAR_DOT, - CHAR_EXCLAMATION_MARK, - CHAR_FORWARD_SLASH, - CHAR_LEFT_CURLY_BRACE, - CHAR_LEFT_PARENTHESES, - CHAR_LEFT_SQUARE_BRACKET, - CHAR_PLUS, - CHAR_QUESTION_MARK, - CHAR_RIGHT_CURLY_BRACE, - CHAR_RIGHT_PARENTHESES, - CHAR_RIGHT_SQUARE_BRACKET - } = require_constants2(); - var isPathSeparator = (code) => { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; - }; - var depth = (token) => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; - } - }; - var scan = (input, options) => { - const opts = options || {}; - const length = input.length - 1; - const scanToEnd = opts.parts === true || opts.scanToEnd === true; - const slashes = []; - const tokens = []; - const parts = []; - let str = input; - let index = -1; - let start = 0; - let lastIndex = 0; - let isBrace = false; - let isBracket = false; - let isGlob = false; - let isExtglob = false; - let isGlobstar = false; - let braceEscaped = false; - let backslashes = false; - let negated = false; - let negatedExtglob = false; - let finished = false; - let braces = 0; - let prev; - let code; - let token = { - value: "", - depth: 0, - isGlob: false - }; - const eos = () => index >= length; - const peek = () => str.charCodeAt(index + 1); - const advance = () => { - prev = code; - return str.charCodeAt(++index); - }; - while (index < length) { - code = advance(); - let next; - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - if (code === CHAR_LEFT_CURLY_BRACE) { - braceEscaped = true; - } - continue; - } - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { - braces++; - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (code === CHAR_LEFT_CURLY_BRACE) { - braces++; - continue; - } - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (braceEscaped !== true && code === CHAR_COMMA) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_RIGHT_CURLY_BRACE) { - braces--; - if (braces === 0) { - braceEscaped = false; - isBrace = token.isBrace = true; - finished = true; - break; - } - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_FORWARD_SLASH) { - slashes.push(index); - tokens.push(token); - token = { - value: "", - depth: 0, - isGlob: false - }; - if (finished === true) - continue; - if (prev === CHAR_DOT && index === start + 1) { - start += 2; - continue; - } - lastIndex = index + 1; - continue; - } - if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; - finished = true; - if (code === CHAR_EXCLAMATION_MARK && index === start) { - negatedExtglob = true; - } - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - isGlob = token.isGlob = true; - finished = true; - break; - } - } - continue; - } - break; - } - } - if (code === CHAR_ASTERISK) { - if (prev === CHAR_ASTERISK) - isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_LEFT_SQUARE_BRACKET) { - while (eos() !== true && (next = advance())) { - if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; - finished = true; - break; - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; - start++; - continue; - } - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - finished = true; - break; - } - } - continue; - } - break; - } - if (isGlob === true) { - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - } - if (opts.noext === true) { - isExtglob = false; - isGlob = false; - } - let base = str; - let prefix = ""; - let glob = ""; - if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); - lastIndex -= start; - } - if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); - } else if (isGlob === true) { - base = ""; - glob = str; - } else { - base = str; - } - if (base && base !== "" && base !== "/" && base !== str) { - if (isPathSeparator(base.charCodeAt(base.length - 1))) { - base = base.slice(0, -1); - } - } - if (opts.unescape === true) { - if (glob) - glob = utils.removeBackslashes(glob); - if (base && backslashes === true) { - base = utils.removeBackslashes(base); - } - } - const state = { - prefix, - input, - start, - base, - glob, - isBrace, - isBracket, - isGlob, - isExtglob, - isGlobstar, - negated, - negatedExtglob - }; - if (opts.tokens === true) { - state.maxDepth = 0; - if (!isPathSeparator(code)) { - tokens.push(token); - } - state.tokens = tokens; - } - if (opts.parts === true || opts.tokens === true) { - let prevIndex; - for (let idx = 0; idx < slashes.length; idx++) { - const n = prevIndex ? prevIndex + 1 : start; - const i = slashes[idx]; - const value = input.slice(n, i); - if (opts.tokens) { - if (idx === 0 && start !== 0) { - tokens[idx].isPrefix = true; - tokens[idx].value = prefix; - } else { - tokens[idx].value = value; - } - depth(tokens[idx]); - state.maxDepth += tokens[idx].depth; - } - if (idx !== 0 || value !== "") { - parts.push(value); - } - prevIndex = i; - } - if (prevIndex && prevIndex + 1 < input.length) { - const value = input.slice(prevIndex + 1); - parts.push(value); - if (opts.tokens) { - tokens[tokens.length - 1].value = value; - depth(tokens[tokens.length - 1]); - state.maxDepth += tokens[tokens.length - 1].depth; - } - } - state.slashes = slashes; - state.parts = parts; - } - return state; - }; - module2.exports = scan; - } -}); -var require_parse2 = __commonJS2({ - "node_modules/picomatch/lib/parse.js"(exports2, module2) { - "use strict"; - var constants = require_constants2(); - var utils = require_utils3(); - var { - MAX_LENGTH, - POSIX_REGEX_SOURCE, - REGEX_NON_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_BACKREF, - REPLACEMENTS - } = constants; - var expandRange = (args, options) => { - if (typeof options.expandRange === "function") { - return options.expandRange(...args, options); - } - args.sort(); - const value = `[${args.join("-")}]`; - try { - new RegExp(value); - } catch (ex) { - return args.map((v) => utils.escapeRegex(v)).join(".."); - } - return value; - }; - var syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; - }; - var parse = (input, options) => { - if (typeof input !== "string") { - throw new TypeError("Expected a string"); - } - input = REPLACEMENTS[input] || input; - const opts = Object.assign({}, options); - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - let len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - const bos = { - type: "bos", - value: "", - output: opts.prepend || "" - }; - const tokens = [bos]; - const capture = opts.capture ? "" : "?:"; - const win32 = utils.isWindows(options); - const PLATFORM_CHARS = constants.globChars(win32); - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); - const { - DOT_LITERAL, - PLUS_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK, - QMARK_NO_DOT, - STAR, - START_ANCHOR - } = PLATFORM_CHARS; - const globstar = (opts2) => { - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const nodot = opts.dot ? "" : NO_DOT; - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; - let star = opts.bash === true ? globstar(opts) : STAR; - if (opts.capture) { - star = `(${star})`; - } - if (typeof opts.noext === "boolean") { - opts.noextglob = opts.noext; - } - const state = { - input, - index: -1, - start: 0, - dot: opts.dot === true, - consumed: "", - output: "", - prefix: "", - backtrack: false, - negated: false, - brackets: 0, - braces: 0, - parens: 0, - quotes: 0, - globstar: false, - tokens - }; - input = utils.removePrefix(input, state); - len = input.length; - const extglobs = []; - const braces = []; - const stack = []; - let prev = bos; - let value; - const eos = () => state.index === len - 1; - const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index] || ""; - const remaining = () => input.slice(state.index + 1); - const consume = (value2 = "", num = 0) => { - state.consumed += value2; - state.index += num; - }; - const append = (token) => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); - }; - const negate = () => { - let count = 1; - while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) { - advance(); - state.start++; - count++; - } - if (count % 2 === 0) { - return false; - } - state.negated = true; - state.start++; - return true; - }; - const increment = (type) => { - state[type]++; - stack.push(type); - }; - const decrement = (type) => { - state[type]--; - stack.pop(); - }; - const push = (tok) => { - if (prev.type === "globstar") { - const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"); - const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren"); - if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) { - state.output = state.output.slice(0, -prev.output.length); - prev.type = "star"; - prev.value = "*"; - prev.output = star; - state.output += prev.output; - } - } - if (extglobs.length && tok.type !== "paren") { - extglobs[extglobs.length - 1].inner += tok.value; - } - if (tok.value || tok.output) - append(tok); - if (prev && prev.type === "text" && tok.type === "text") { - prev.value += tok.value; - prev.output = (prev.output || "") + tok.value; - return; - } - tok.prev = prev; - tokens.push(tok); - prev = tok; - }; - const extglobOpen = (type, value2) => { - const token = Object.assign(Object.assign({}, EXTGLOB_CHARS[value2]), {}, { - conditions: 1, - inner: "" - }); - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? "(" : "") + token.open; - increment("parens"); - push({ - type, - value: value2, - output: state.output ? "" : ONE_CHAR - }); - push({ - type: "paren", - extglob: true, - value: advance(), - output - }); - extglobs.push(token); - }; - const extglobClose = (token) => { - let output = token.close + (opts.capture ? ")" : ""); - let rest; - if (token.type === "negate") { - let extglobStar = star; - if (token.inner && token.inner.length > 1 && token.inner.includes("/")) { - extglobStar = globstar(opts); - } - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; - } - if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { - const expression = parse(rest, Object.assign(Object.assign({}, options), {}, { - fastpaths: false - })).output; - output = token.close = `)${expression})${extglobStar})`; - } - if (token.prev.type === "bos") { - state.negatedExtglob = true; - } - } - push({ - type: "paren", - extglob: true, - value, - output - }); - decrement("parens"); - }; - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { - let backslashes = false; - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { - if (first === "\\") { - backslashes = true; - return m; - } - if (first === "?") { - if (esc) { - return esc + first + (rest ? QMARK.repeat(rest.length) : ""); - } - if (index === 0) { - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ""); - } - return QMARK.repeat(chars.length); - } - if (first === ".") { - return DOT_LITERAL.repeat(chars.length); - } - if (first === "*") { - if (esc) { - return esc + first + (rest ? star : ""); - } - return star; - } - return esc ? m : `\\${m}`; - }); - if (backslashes === true) { - if (opts.unescape === true) { - output = output.replace(/\\/g, ""); - } else { - output = output.replace(/\\+/g, (m) => { - return m.length % 2 === 0 ? "\\\\" : m ? "\\" : ""; - }); - } - } - if (output === input && opts.contains === true) { - state.output = input; - return state; - } - state.output = utils.wrapOutput(output, state, options); - return state; - } - while (!eos()) { - value = advance(); - if (value === "\0") { - continue; - } - if (value === "\\") { - const next = peek(); - if (next === "/" && opts.bash !== true) { - continue; - } - if (next === "." || next === ";") { - continue; - } - if (!next) { - value += "\\"; - push({ - type: "text", - value - }); - continue; - } - const match = /^\\+/.exec(remaining()); - let slashes = 0; - if (match && match[0].length > 2) { - slashes = match[0].length; - state.index += slashes; - if (slashes % 2 !== 0) { - value += "\\"; - } - } - if (opts.unescape === true) { - value = advance(); - } else { - value += advance(); - } - if (state.brackets === 0) { - push({ - type: "text", - value - }); - continue; - } - } - if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) { - if (opts.posix !== false && value === ":") { - const inner = prev.value.slice(1); - if (inner.includes("[")) { - prev.posix = true; - if (inner.includes(":")) { - const idx = prev.value.lastIndexOf("["); - const pre = prev.value.slice(0, idx); - const rest2 = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE[rest2]; - if (posix) { - prev.value = pre + posix; - state.backtrack = true; - advance(); - if (!bos.output && tokens.indexOf(prev) === 1) { - bos.output = ONE_CHAR; - } - continue; - } - } - } - } - if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") { - value = `\\${value}`; - } - if (value === "]" && (prev.value === "[" || prev.value === "[^")) { - value = `\\${value}`; - } - if (opts.posix === true && value === "!" && prev.value === "[") { - value = "^"; - } - prev.value += value; - append({ - value - }); - continue; - } - if (state.quotes === 1 && value !== '"') { - value = utils.escapeRegex(value); - prev.value += value; - append({ - value - }); - continue; - } - if (value === '"') { - state.quotes = state.quotes === 1 ? 0 : 1; - if (opts.keepQuotes === true) { - push({ - type: "text", - value - }); - } - continue; - } - if (value === "(") { - increment("parens"); - push({ - type: "paren", - value - }); - continue; - } - if (value === ")") { - if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "(")); - } - const extglob = extglobs[extglobs.length - 1]; - if (extglob && state.parens === extglob.parens + 1) { - extglobClose(extglobs.pop()); - continue; - } - push({ - type: "paren", - value, - output: state.parens ? ")" : "\\)" - }); - decrement("parens"); - continue; - } - if (value === "[") { - if (opts.nobracket === true || !remaining().includes("]")) { - if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("closing", "]")); - } - value = `\\${value}`; - } else { - increment("brackets"); - } - push({ - type: "bracket", - value - }); - continue; - } - if (value === "]") { - if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) { - push({ - type: "text", - value, - output: `\\${value}` - }); - continue; - } - if (state.brackets === 0) { - if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "[")); - } - push({ - type: "text", - value, - output: `\\${value}` - }); - continue; - } - decrement("brackets"); - const prevValue = prev.value.slice(1); - if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) { - value = `/${value}`; - } - prev.value += value; - append({ - value - }); - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { - continue; - } - const escaped = utils.escapeRegex(prev.value); - state.output = state.output.slice(0, -prev.value.length); - if (opts.literalBrackets === true) { - state.output += escaped; - prev.value = escaped; - continue; - } - prev.value = `(${capture}${escaped}|${prev.value})`; - state.output += prev.value; - continue; - } - if (value === "{" && opts.nobrace !== true) { - increment("braces"); - const open = { - type: "brace", - value, - output: "(", - outputIndex: state.output.length, - tokensIndex: state.tokens.length - }; - braces.push(open); - push(open); - continue; - } - if (value === "}") { - const brace = braces[braces.length - 1]; - if (opts.nobrace === true || !brace) { - push({ - type: "text", - value, - output: value - }); - continue; - } - let output = ")"; - if (brace.dots === true) { - const arr = tokens.slice(); - const range = []; - for (let i = arr.length - 1; i >= 0; i--) { - tokens.pop(); - if (arr[i].type === "brace") { - break; - } - if (arr[i].type !== "dots") { - range.unshift(arr[i].value); - } - } - output = expandRange(range, opts); - state.backtrack = true; - } - if (brace.comma !== true && brace.dots !== true) { - const out = state.output.slice(0, brace.outputIndex); - const toks = state.tokens.slice(brace.tokensIndex); - brace.value = brace.output = "\\{"; - value = output = "\\}"; - state.output = out; - for (const t of toks) { - state.output += t.output || t.value; - } - } - push({ - type: "brace", - value, - output - }); - decrement("braces"); - braces.pop(); - continue; - } - if (value === "|") { - if (extglobs.length > 0) { - extglobs[extglobs.length - 1].conditions++; - } - push({ - type: "text", - value - }); - continue; - } - if (value === ",") { - let output = value; - const brace = braces[braces.length - 1]; - if (brace && stack[stack.length - 1] === "braces") { - brace.comma = true; - output = "|"; - } - push({ - type: "comma", - value, - output - }); - continue; - } - if (value === "/") { - if (prev.type === "dot" && state.index === state.start + 1) { - state.start = state.index + 1; - state.consumed = ""; - state.output = ""; - tokens.pop(); - prev = bos; - continue; - } - push({ - type: "slash", - value, - output: SLASH_LITERAL - }); - continue; - } - if (value === ".") { - if (state.braces > 0 && prev.type === "dot") { - if (prev.value === ".") - prev.output = DOT_LITERAL; - const brace = braces[braces.length - 1]; - prev.type = "dots"; - prev.output += value; - prev.value += value; - brace.dots = true; - continue; - } - if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") { - push({ - type: "text", - value, - output: DOT_LITERAL - }); - continue; - } - push({ - type: "dot", - value, - output: DOT_LITERAL - }); - continue; - } - if (value === "?") { - const isGroup = prev && prev.value === "("; - if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("qmark", value); - continue; - } - if (prev && prev.type === "paren") { - const next = peek(); - let output = value; - if (next === "<" && !utils.supportsLookbehinds()) { - throw new Error("Node.js v10 or higher is required for regex lookbehinds"); - } - if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) { - output = `\\${value}`; - } - push({ - type: "text", - value, - output - }); - continue; - } - if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) { - push({ - type: "qmark", - value, - output: QMARK_NO_DOT - }); - continue; - } - push({ - type: "qmark", - value, - output: QMARK - }); - continue; - } - if (value === "!") { - if (opts.noextglob !== true && peek() === "(") { - if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) { - extglobOpen("negate", value); - continue; - } - } - if (opts.nonegate !== true && state.index === 0) { - negate(); - continue; - } - } - if (value === "+") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("plus", value); - continue; - } - if (prev && prev.value === "(" || opts.regex === false) { - push({ - type: "plus", - value, - output: PLUS_LITERAL - }); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) { - push({ - type: "plus", - value - }); - continue; - } - push({ - type: "plus", - value: PLUS_LITERAL - }); - continue; - } - if (value === "@") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - push({ - type: "at", - extglob: true, - value, - output: "" - }); - continue; - } - push({ - type: "text", - value - }); - continue; - } - if (value !== "*") { - if (value === "$" || value === "^") { - value = `\\${value}`; - } - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); - if (match) { - value += match[0]; - state.index += match[0].length; - } - push({ - type: "text", - value - }); - continue; - } - if (prev && (prev.type === "globstar" || prev.star === true)) { - prev.type = "star"; - prev.star = true; - prev.value += value; - prev.output = star; - state.backtrack = true; - state.globstar = true; - consume(value); - continue; - } - let rest = remaining(); - if (opts.noextglob !== true && /^\([^?]/.test(rest)) { - extglobOpen("star", value); - continue; - } - if (prev.type === "star") { - if (opts.noglobstar === true) { - consume(value); - continue; - } - const prior = prev.prev; - const before = prior.prev; - const isStart = prior.type === "slash" || prior.type === "bos"; - const afterStar = before && (before.type === "star" || before.type === "globstar"); - if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) { - push({ - type: "star", - value, - output: "" - }); - continue; - } - const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"); - const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren"); - if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) { - push({ - type: "star", - value, - output: "" - }); - continue; - } - while (rest.slice(0, 3) === "/**") { - const after = input[state.index + 4]; - if (after && after !== "/") { - break; - } - rest = rest.slice(3); - consume("/**", 3); - } - if (prior.type === "bos" && eos()) { - prev.type = "globstar"; - prev.value += value; - prev.output = globstar(opts); - state.output = prev.output; - state.globstar = true; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) { - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"); - prev.value += value; - state.globstar = true; - state.output += prior.output + prev.output; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") { - const end = rest[1] !== void 0 ? "|$" : ""; - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; - prev.value += value; - state.output += prior.output + prev.output; - state.globstar = true; - consume(value + advance()); - push({ - type: "slash", - value: "/", - output: "" - }); - continue; - } - if (prior.type === "bos" && rest[0] === "/") { - prev.type = "globstar"; - prev.value += value; - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; - state.output = prev.output; - state.globstar = true; - consume(value + advance()); - push({ - type: "slash", - value: "/", - output: "" - }); - continue; - } - state.output = state.output.slice(0, -prev.output.length); - prev.type = "globstar"; - prev.output = globstar(opts); - prev.value += value; - state.output += prev.output; - state.globstar = true; - consume(value); - continue; - } - const token = { - type: "star", - value, - output: star - }; - if (opts.bash === true) { - token.output = ".*?"; - if (prev.type === "bos" || prev.type === "slash") { - token.output = nodot + token.output; - } - push(token); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) { - token.output = value; - push(token); - continue; - } - if (state.index === state.start || prev.type === "slash" || prev.type === "dot") { - if (prev.type === "dot") { - state.output += NO_DOT_SLASH; - prev.output += NO_DOT_SLASH; - } else if (opts.dot === true) { - state.output += NO_DOTS_SLASH; - prev.output += NO_DOTS_SLASH; - } else { - state.output += nodot; - prev.output += nodot; - } - if (peek() !== "*") { - state.output += ONE_CHAR; - prev.output += ONE_CHAR; - } - } - push(token); - } - while (state.brackets > 0) { - if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", "]")); - state.output = utils.escapeLast(state.output, "["); - decrement("brackets"); - } - while (state.parens > 0) { - if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", ")")); - state.output = utils.escapeLast(state.output, "("); - decrement("parens"); - } - while (state.braces > 0) { - if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", "}")); - state.output = utils.escapeLast(state.output, "{"); - decrement("braces"); - } - if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) { - push({ - type: "maybe_slash", - value: "", - output: `${SLASH_LITERAL}?` - }); - } - if (state.backtrack === true) { - state.output = ""; - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; - if (token.suffix) { - state.output += token.suffix; - } - } - } - return state; - }; - parse.fastpaths = (input, options) => { - const opts = Object.assign({}, options); - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - const len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - input = REPLACEMENTS[input] || input; - const win32 = utils.isWindows(options); - const { - DOT_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOTS_SLASH, - STAR, - START_ANCHOR - } = constants.globChars(win32); - const nodot = opts.dot ? NO_DOTS : NO_DOT; - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; - const capture = opts.capture ? "" : "?:"; - const state = { - negated: false, - prefix: "" - }; - let star = opts.bash === true ? ".*?" : STAR; - if (opts.capture) { - star = `(${star})`; - } - const globstar = (opts2) => { - if (opts2.noglobstar === true) - return star; - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const create = (str) => { - switch (str) { - case "*": - return `${nodot}${ONE_CHAR}${star}`; - case ".*": - return `${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*.*": - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*/*": - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; - case "**": - return nodot + globstar(opts); - case "**/*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - case "**/*.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "**/.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; - default: { - const match = /^(.*?)\.(\w+)$/.exec(str); - if (!match) - return; - const source2 = create(match[1]); - if (!source2) - return; - return source2 + DOT_LITERAL + match[2]; - } - } - }; - const output = utils.removePrefix(input, state); - let source = create(output); - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; - } - return source; - }; - module2.exports = parse; - } -}); -var require_picomatch = __commonJS2({ - "node_modules/picomatch/lib/picomatch.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var scan = require_scan(); - var parse = require_parse2(); - var utils = require_utils3(); - var constants = require_constants2(); - var isObject = (val) => val && typeof val === "object" && !Array.isArray(val); - var picomatch = (glob, options, returnState = false) => { - if (Array.isArray(glob)) { - const fns = glob.map((input) => picomatch(input, options, returnState)); - const arrayMatcher = (str) => { - for (const isMatch of fns) { - const state2 = isMatch(str); - if (state2) - return state2; - } - return false; - }; - return arrayMatcher; - } - const isState = isObject(glob) && glob.tokens && glob.input; - if (glob === "" || typeof glob !== "string" && !isState) { - throw new TypeError("Expected pattern to be a non-empty string"); - } - const opts = options || {}; - const posix = utils.isWindows(options); - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); - const state = regex.state; - delete regex.state; - let isIgnored = () => false; - if (opts.ignore) { - const ignoreOpts = Object.assign(Object.assign({}, options), {}, { - ignore: null, - onMatch: null, - onResult: null - }); - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); - } - const matcher = (input, returnObject = false) => { - const { - isMatch, - match, - output - } = picomatch.test(input, regex, options, { - glob, - posix - }); - const result = { - glob, - state, - regex, - posix, - input, - output, - match, - isMatch - }; - if (typeof opts.onResult === "function") { - opts.onResult(result); - } - if (isMatch === false) { - result.isMatch = false; - return returnObject ? result : false; - } - if (isIgnored(input)) { - if (typeof opts.onIgnore === "function") { - opts.onIgnore(result); - } - result.isMatch = false; - return returnObject ? result : false; - } - if (typeof opts.onMatch === "function") { - opts.onMatch(result); - } - return returnObject ? result : true; - }; - if (returnState) { - matcher.state = state; - } - return matcher; - }; - picomatch.test = (input, regex, options, { - glob, - posix - } = {}) => { - if (typeof input !== "string") { - throw new TypeError("Expected input to be a string"); - } - if (input === "") { - return { - isMatch: false, - output: "" - }; - } - const opts = options || {}; - const format = opts.format || (posix ? utils.toPosixSlashes : null); - let match = input === glob; - let output = match && format ? format(input) : input; - if (match === false) { - output = format ? format(input) : input; - match = output === glob; - } - if (match === false || opts.capture === true) { - if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); - } else { - match = regex.exec(output); - } - } - return { - isMatch: Boolean(match), - match, - output - }; - }; - picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); - return regex.test(path.basename(input)); - }; - picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) - return pattern.map((p) => picomatch.parse(p, options)); - return parse(pattern, Object.assign(Object.assign({}, options), {}, { - fastpaths: false - })); - }; - picomatch.scan = (input, options) => scan(input, options); - picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return state.output; - } - const opts = options || {}; - const prepend = opts.contains ? "" : "^"; - const append = opts.contains ? "" : "$"; - let source = `${prepend}(?:${state.output})${append}`; - if (state && state.negated === true) { - source = `^(?!${source}).*$`; - } - const regex = picomatch.toRegex(source, options); - if (returnState === true) { - regex.state = state; - } - return regex; - }; - picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { - if (!input || typeof input !== "string") { - throw new TypeError("Expected a non-empty string"); - } - let parsed = { - negated: false, - fastpaths: true - }; - if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) { - parsed.output = parse.fastpaths(input, options); - } - if (!parsed.output) { - parsed = parse(input, options); - } - return picomatch.compileRe(parsed, options, returnOutput, returnState); - }; - picomatch.toRegex = (source, options) => { - try { - const opts = options || {}; - return new RegExp(source, opts.flags || (opts.nocase ? "i" : "")); - } catch (err) { - if (options && options.debug === true) - throw err; - return /$^/; - } - }; - picomatch.constants = constants; - module2.exports = picomatch; - } -}); -var require_picomatch2 = __commonJS2({ - "node_modules/picomatch/index.js"(exports2, module2) { - "use strict"; - module2.exports = require_picomatch(); - } -}); -var require_micromatch = __commonJS2({ - "node_modules/micromatch/index.js"(exports2, module2) { - "use strict"; - var util = require("util"); - var braces = require_braces(); - var picomatch = require_picomatch2(); - var utils = require_utils3(); - var isEmptyString = (val) => val === "" || val === "./"; - var micromatch = (list, patterns, options) => { - patterns = [].concat(patterns); - list = [].concat(list); - let omit = /* @__PURE__ */ new Set(); - let keep = /* @__PURE__ */ new Set(); - let items = /* @__PURE__ */ new Set(); - let negatives = 0; - let onResult = (state) => { - items.add(state.output); - if (options && options.onResult) { - options.onResult(state); - } - }; - for (let i = 0; i < patterns.length; i++) { - let isMatch = picomatch(String(patterns[i]), Object.assign(Object.assign({}, options), {}, { - onResult - }), true); - let negated = isMatch.state.negated || isMatch.state.negatedExtglob; - if (negated) - negatives++; - for (let item of list) { - let matched = isMatch(item, true); - let match = negated ? !matched.isMatch : matched.isMatch; - if (!match) - continue; - if (negated) { - omit.add(matched.output); - } else { - omit.delete(matched.output); - keep.add(matched.output); - } - } - } - let result = negatives === patterns.length ? [...items] : [...keep]; - let matches = result.filter((item) => !omit.has(item)); - if (options && matches.length === 0) { - if (options.failglob === true) { - throw new Error(`No matches found for "${patterns.join(", ")}"`); - } - if (options.nonull === true || options.nullglob === true) { - return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns; - } - } - return matches; - }; - micromatch.match = micromatch; - micromatch.matcher = (pattern, options) => picomatch(pattern, options); - micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - micromatch.any = micromatch.isMatch; - micromatch.not = (list, patterns, options = {}) => { - patterns = [].concat(patterns).map(String); - let result = /* @__PURE__ */ new Set(); - let items = []; - let onResult = (state) => { - if (options.onResult) - options.onResult(state); - items.push(state.output); - }; - let matches = new Set(micromatch(list, patterns, Object.assign(Object.assign({}, options), {}, { - onResult - }))); - for (let item of items) { - if (!matches.has(item)) { - result.add(item); - } - } - return [...result]; - }; - micromatch.contains = (str, pattern, options) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); - } - if (Array.isArray(pattern)) { - return pattern.some((p) => micromatch.contains(str, p, options)); - } - if (typeof pattern === "string") { - if (isEmptyString(str) || isEmptyString(pattern)) { - return false; - } - if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) { - return true; - } - } - return micromatch.isMatch(str, pattern, Object.assign(Object.assign({}, options), {}, { - contains: true - })); - }; - micromatch.matchKeys = (obj, patterns, options) => { - if (!utils.isObject(obj)) { - throw new TypeError("Expected the first argument to be an object"); - } - let keys = micromatch(Object.keys(obj), patterns, options); - let res = {}; - for (let key of keys) - res[key] = obj[key]; - return res; - }; - micromatch.some = (list, patterns, options) => { - let items = [].concat(list); - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (items.some((item) => isMatch(item))) { - return true; - } - } - return false; - }; - micromatch.every = (list, patterns, options) => { - let items = [].concat(list); - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (!items.every((item) => isMatch(item))) { - return false; - } - } - return true; - }; - micromatch.all = (str, patterns, options) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); - } - return [].concat(patterns).every((p) => picomatch(p, options)(str)); - }; - micromatch.capture = (glob, input, options) => { - let posix = utils.isWindows(options); - let regex = picomatch.makeRe(String(glob), Object.assign(Object.assign({}, options), {}, { - capture: true - })); - let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); - if (match) { - return match.slice(1).map((v) => v === void 0 ? "" : v); - } - }; - micromatch.makeRe = (...args) => picomatch.makeRe(...args); - micromatch.scan = (...args) => picomatch.scan(...args); - micromatch.parse = (patterns, options) => { - let res = []; - for (let pattern of [].concat(patterns || [])) { - for (let str of braces(String(pattern), options)) { - res.push(picomatch.parse(str, options)); - } - } - return res; - }; - micromatch.braces = (pattern, options) => { - if (typeof pattern !== "string") - throw new TypeError("Expected a string"); - if (options && options.nobrace === true || !/\{.*\}/.test(pattern)) { - return [pattern]; - } - return braces(pattern, options); - }; - micromatch.braceExpand = (pattern, options) => { - if (typeof pattern !== "string") - throw new TypeError("Expected a string"); - return micromatch.braces(pattern, Object.assign(Object.assign({}, options), {}, { - expand: true - })); - }; - module2.exports = micromatch; - } -}); -var require_pattern = __commonJS2({ - "node_modules/fast-glob/out/utils/pattern.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.matchAny = exports2.convertPatternsToRe = exports2.makeRe = exports2.getPatternParts = exports2.expandBraceExpansion = exports2.expandPatternsWithBraceExpansion = exports2.isAffectDepthOfReadingPattern = exports2.endsWithSlashGlobStar = exports2.hasGlobStar = exports2.getBaseDirectory = exports2.isPatternRelatedToParentDirectory = exports2.getPatternsOutsideCurrentDirectory = exports2.getPatternsInsideCurrentDirectory = exports2.getPositivePatterns = exports2.getNegativePatterns = exports2.isPositivePattern = exports2.isNegativePattern = exports2.convertToNegativePattern = exports2.convertToPositivePattern = exports2.isDynamicPattern = exports2.isStaticPattern = void 0; - var path = require("path"); - var globParent = require_glob_parent(); - var micromatch = require_micromatch(); - var GLOBSTAR = "**"; - var ESCAPE_SYMBOL = "\\"; - var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; - var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/; - var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/; - var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/; - var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./; - function isStaticPattern(pattern, options = {}) { - return !isDynamicPattern(pattern, options); - } - exports2.isStaticPattern = isStaticPattern; - function isDynamicPattern(pattern, options = {}) { - if (pattern === "") { - return false; - } - if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { - return true; - } - if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.braceExpansion !== false && hasBraceExpansion(pattern)) { - return true; - } - return false; - } - exports2.isDynamicPattern = isDynamicPattern; - function hasBraceExpansion(pattern) { - const openingBraceIndex = pattern.indexOf("{"); - if (openingBraceIndex === -1) { - return false; - } - const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1); - if (closingBraceIndex === -1) { - return false; - } - const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex); - return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent); - } - function convertToPositivePattern(pattern) { - return isNegativePattern(pattern) ? pattern.slice(1) : pattern; - } - exports2.convertToPositivePattern = convertToPositivePattern; - function convertToNegativePattern(pattern) { - return "!" + pattern; - } - exports2.convertToNegativePattern = convertToNegativePattern; - function isNegativePattern(pattern) { - return pattern.startsWith("!") && pattern[1] !== "("; - } - exports2.isNegativePattern = isNegativePattern; - function isPositivePattern(pattern) { - return !isNegativePattern(pattern); - } - exports2.isPositivePattern = isPositivePattern; - function getNegativePatterns(patterns) { - return patterns.filter(isNegativePattern); - } - exports2.getNegativePatterns = getNegativePatterns; - function getPositivePatterns(patterns) { - return patterns.filter(isPositivePattern); - } - exports2.getPositivePatterns = getPositivePatterns; - function getPatternsInsideCurrentDirectory(patterns) { - return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern)); - } - exports2.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory; - function getPatternsOutsideCurrentDirectory(patterns) { - return patterns.filter(isPatternRelatedToParentDirectory); - } - exports2.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory; - function isPatternRelatedToParentDirectory(pattern) { - return pattern.startsWith("..") || pattern.startsWith("./.."); - } - exports2.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory; - function getBaseDirectory(pattern) { - return globParent(pattern, { - flipBackslashes: false - }); - } - exports2.getBaseDirectory = getBaseDirectory; - function hasGlobStar(pattern) { - return pattern.includes(GLOBSTAR); - } - exports2.hasGlobStar = hasGlobStar; - function endsWithSlashGlobStar(pattern) { - return pattern.endsWith("/" + GLOBSTAR); - } - exports2.endsWithSlashGlobStar = endsWithSlashGlobStar; - function isAffectDepthOfReadingPattern(pattern) { - const basename = path.basename(pattern); - return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); - } - exports2.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; - function expandPatternsWithBraceExpansion(patterns) { - return patterns.reduce((collection, pattern) => { - return collection.concat(expandBraceExpansion(pattern)); - }, []); - } - exports2.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; - function expandBraceExpansion(pattern) { - return micromatch.braces(pattern, { - expand: true, - nodupes: true - }); - } - exports2.expandBraceExpansion = expandBraceExpansion; - function getPatternParts(pattern, options) { - let { - parts - } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { - parts: true - })); - if (parts.length === 0) { - parts = [pattern]; - } - if (parts[0].startsWith("/")) { - parts[0] = parts[0].slice(1); - parts.unshift(""); - } - return parts; - } - exports2.getPatternParts = getPatternParts; - function makeRe(pattern, options) { - return micromatch.makeRe(pattern, options); - } - exports2.makeRe = makeRe; - function convertPatternsToRe(patterns, options) { - return patterns.map((pattern) => makeRe(pattern, options)); - } - exports2.convertPatternsToRe = convertPatternsToRe; - function matchAny(entry, patternsRe) { - return patternsRe.some((patternRe) => patternRe.test(entry)); - } - exports2.matchAny = matchAny; - } -}); -var require_merge2 = __commonJS2({ - "node_modules/merge2/index.js"(exports2, module2) { - "use strict"; - var Stream = require("stream"); - var PassThrough = Stream.PassThrough; - var slice = Array.prototype.slice; - module2.exports = merge2; - function merge2() { - const streamsQueue = []; - const args = slice.call(arguments); - let merging = false; - let options = args[args.length - 1]; - if (options && !Array.isArray(options) && options.pipe == null) { - args.pop(); - } else { - options = {}; - } - const doEnd = options.end !== false; - const doPipeError = options.pipeError === true; - if (options.objectMode == null) { - options.objectMode = true; - } - if (options.highWaterMark == null) { - options.highWaterMark = 64 * 1024; - } - const mergedStream = PassThrough(options); - function addStream() { - for (let i = 0, len = arguments.length; i < len; i++) { - streamsQueue.push(pauseStreams(arguments[i], options)); - } - mergeStream(); - return this; - } - function mergeStream() { - if (merging) { - return; - } - merging = true; - let streams = streamsQueue.shift(); - if (!streams) { - process.nextTick(endStream); - return; - } - if (!Array.isArray(streams)) { - streams = [streams]; - } - let pipesCount = streams.length + 1; - function next() { - if (--pipesCount > 0) { - return; - } - merging = false; - mergeStream(); - } - function pipe(stream) { - function onend() { - stream.removeListener("merge2UnpipeEnd", onend); - stream.removeListener("end", onend); - if (doPipeError) { - stream.removeListener("error", onerror); - } - next(); - } - function onerror(err) { - mergedStream.emit("error", err); - } - if (stream._readableState.endEmitted) { - return next(); - } - stream.on("merge2UnpipeEnd", onend); - stream.on("end", onend); - if (doPipeError) { - stream.on("error", onerror); - } - stream.pipe(mergedStream, { - end: false - }); - stream.resume(); - } - for (let i = 0; i < streams.length; i++) { - pipe(streams[i]); - } - next(); - } - function endStream() { - merging = false; - mergedStream.emit("queueDrain"); - if (doEnd) { - mergedStream.end(); - } - } - mergedStream.setMaxListeners(0); - mergedStream.add = addStream; - mergedStream.on("unpipe", function(stream) { - stream.emit("merge2UnpipeEnd"); - }); - if (args.length) { - addStream.apply(null, args); - } - return mergedStream; - } - function pauseStreams(streams, options) { - if (!Array.isArray(streams)) { - if (!streams._readableState && streams.pipe) { - streams = streams.pipe(PassThrough(options)); - } - if (!streams._readableState || !streams.pause || !streams.pipe) { - throw new Error("Only readable stream can be merged."); - } - streams.pause(); - } else { - for (let i = 0, len = streams.length; i < len; i++) { - streams[i] = pauseStreams(streams[i], options); - } - } - return streams; - } - } -}); -var require_stream = __commonJS2({ - "node_modules/fast-glob/out/utils/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.merge = void 0; - var merge2 = require_merge2(); - function merge(streams) { - const mergedStream = merge2(streams); - streams.forEach((stream) => { - stream.once("error", (error) => mergedStream.emit("error", error)); - }); - mergedStream.once("close", () => propagateCloseEventToSources(streams)); - mergedStream.once("end", () => propagateCloseEventToSources(streams)); - return mergedStream; - } - exports2.merge = merge; - function propagateCloseEventToSources(streams) { - streams.forEach((stream) => stream.emit("close")); - } - } -}); -var require_string = __commonJS2({ - "node_modules/fast-glob/out/utils/string.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isEmpty = exports2.isString = void 0; - function isString(input) { - return typeof input === "string"; - } - exports2.isString = isString; - function isEmpty(input) { - return input === ""; - } - exports2.isEmpty = isEmpty; - } -}); -var require_utils4 = __commonJS2({ - "node_modules/fast-glob/out/utils/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.string = exports2.stream = exports2.pattern = exports2.path = exports2.fs = exports2.errno = exports2.array = void 0; - var array2 = require_array(); - exports2.array = array2; - var errno = require_errno(); - exports2.errno = errno; - var fs = require_fs(); - exports2.fs = fs; - var path = require_path(); - exports2.path = path; - var pattern = require_pattern(); - exports2.pattern = pattern; - var stream = require_stream(); - exports2.stream = stream; - var string = require_string(); - exports2.string = string; - } -}); -var require_tasks = __commonJS2({ - "node_modules/fast-glob/out/managers/tasks.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.convertPatternGroupToTask = exports2.convertPatternGroupsToTasks = exports2.groupPatternsByBaseDirectory = exports2.getNegativePatternsAsPositive = exports2.getPositivePatterns = exports2.convertPatternsToTasks = exports2.generate = void 0; - var utils = require_utils4(); - function generate(patterns, settings) { - const positivePatterns = getPositivePatterns(patterns); - const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); - const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings)); - const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings)); - const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, false); - const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, true); - return staticTasks.concat(dynamicTasks); - } - exports2.generate = generate; - function convertPatternsToTasks(positive, negative, dynamic) { - const tasks = []; - const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive); - const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive); - const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory); - const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory); - tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic)); - if ("." in insideCurrentDirectoryGroup) { - tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic)); - } else { - tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic)); - } - return tasks; - } - exports2.convertPatternsToTasks = convertPatternsToTasks; - function getPositivePatterns(patterns) { - return utils.pattern.getPositivePatterns(patterns); - } - exports2.getPositivePatterns = getPositivePatterns; - function getNegativePatternsAsPositive(patterns, ignore) { - const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore); - const positive = negative.map(utils.pattern.convertToPositivePattern); - return positive; - } - exports2.getNegativePatternsAsPositive = getNegativePatternsAsPositive; - function groupPatternsByBaseDirectory(patterns) { - const group = {}; - return patterns.reduce((collection, pattern) => { - const base = utils.pattern.getBaseDirectory(pattern); - if (base in collection) { - collection[base].push(pattern); - } else { - collection[base] = [pattern]; - } - return collection; - }, group); - } - exports2.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; - function convertPatternGroupsToTasks(positive, negative, dynamic) { - return Object.keys(positive).map((base) => { - return convertPatternGroupToTask(base, positive[base], negative, dynamic); - }); - } - exports2.convertPatternGroupsToTasks = convertPatternGroupsToTasks; - function convertPatternGroupToTask(base, positive, negative, dynamic) { - return { - dynamic, - positive, - negative, - base, - patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern)) - }; - } - exports2.convertPatternGroupToTask = convertPatternGroupToTask; - } -}); -var require_patterns = __commonJS2({ - "node_modules/fast-glob/out/managers/patterns.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.removeDuplicateSlashes = exports2.transform = void 0; - var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g; - function transform(patterns) { - return patterns.map((pattern) => removeDuplicateSlashes(pattern)); - } - exports2.transform = transform; - function removeDuplicateSlashes(pattern) { - return pattern.replace(DOUBLE_SLASH_RE, "/"); - } - exports2.removeDuplicateSlashes = removeDuplicateSlashes; - } -}); -var require_async = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.read = void 0; - function read(path, settings, callback) { - settings.fs.lstat(path, (lstatError, lstat) => { - if (lstatError !== null) { - callFailureCallback(callback, lstatError); - return; - } - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - callSuccessCallback(callback, lstat); - return; - } - settings.fs.stat(path, (statError, stat) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - callFailureCallback(callback, statError); - return; - } - callSuccessCallback(callback, lstat); - return; - } - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - callSuccessCallback(callback, stat); - }); - }); - } - exports2.read = read; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, result) { - callback(null, result); - } - } -}); -var require_sync = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.read = void 0; - function read(path, settings) { - const lstat = settings.fs.lstatSync(path); - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return lstat; - } - try { - const stat = settings.fs.statSync(path); - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - return stat; - } catch (error) { - if (!settings.throwErrorOnBrokenSymbolicLink) { - return lstat; - } - throw error; - } - } - exports2.read = read; - } -}); -var require_fs2 = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0; - var fs = require("fs"); - exports2.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync - }; - function createFileSystemAdapter(fsMethods) { - if (fsMethods === void 0) { - return exports2.FILE_SYSTEM_ADAPTER; - } - return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods); - } - exports2.createFileSystemAdapter = createFileSystemAdapter; - } -}); -var require_settings = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fs = require_fs2(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports2.default = Settings; - } -}); -var require_out = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.statSync = exports2.stat = exports2.Settings = void 0; - var async = require_async(); - var sync = require_sync(); - var settings_1 = require_settings(); - exports2.Settings = settings_1.default; - function stat(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path, getSettings(), optionsOrSettingsOrCallback); - return; - } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - exports2.stat = stat; - function statSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); - } - exports2.statSync = statSync; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); -var require_queue_microtask = __commonJS2({ - "node_modules/queue-microtask/index.js"(exports2, module2) { - var promise; - module2.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => { - throw err; - }, 0)); - } -}); -var require_run_parallel = __commonJS2({ - "node_modules/run-parallel/index.js"(exports2, module2) { - module2.exports = runParallel; - var queueMicrotask2 = require_queue_microtask(); - function runParallel(tasks, cb) { - let results, pending, keys; - let isSync = true; - if (Array.isArray(tasks)) { - results = []; - pending = tasks.length; - } else { - keys = Object.keys(tasks); - results = {}; - pending = keys.length; - } - function done(err) { - function end() { - if (cb) - cb(err, results); - cb = null; - } - if (isSync) - queueMicrotask2(end); - else - end(); - } - function each(i, err, result) { - results[i] = result; - if (--pending === 0 || err) { - done(err); - } - } - if (!pending) { - done(null); - } else if (keys) { - keys.forEach(function(key) { - tasks[key](function(err, result) { - each(key, err, result); - }); - }); - } else { - tasks.forEach(function(task, i) { - task(function(err, result) { - each(i, err, result); - }); - }); - } - isSync = false; - } - } -}); -var require_constants3 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/constants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0; - var NODE_PROCESS_VERSION_PARTS = process.versions.node.split("."); - if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) { - throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`); - } - var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); - var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); - var SUPPORTED_MAJOR_VERSION = 10; - var SUPPORTED_MINOR_VERSION = 10; - var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; - var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; - exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; - } -}); -var require_fs3 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createDirentFromStats = void 0; - var DirentFromStats = class { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - }; - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - exports2.createDirentFromStats = createDirentFromStats; - } -}); -var require_utils5 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.fs = void 0; - var fs = require_fs3(); - exports2.fs = fs; - } -}); -var require_common = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.joinPathSegments = void 0; - function joinPathSegments(a, b, separator) { - if (a.endsWith(separator)) { - return a + b; - } - return a + separator + b; - } - exports2.joinPathSegments = joinPathSegments; - } -}); -var require_async2 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0; - var fsStat = require_out(); - var rpl = require_run_parallel(); - var constants_1 = require_constants3(); - var utils = require_utils5(); - var common = require_common(); - function read(directory, settings, callback) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - readdirWithFileTypes(directory, settings, callback); - return; - } - readdir(directory, settings, callback); - } - exports2.read = read; - function readdirWithFileTypes(directory, settings, callback) { - settings.fs.readdir(directory, { - withFileTypes: true - }, (readdirError, dirents) => { - if (readdirError !== null) { - callFailureCallback(callback, readdirError); - return; - } - const entries = dirents.map((dirent) => ({ - dirent, - name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) - })); - if (!settings.followSymbolicLinks) { - callSuccessCallback(callback, entries); - return; - } - const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings)); - rpl(tasks, (rplError, rplEntries) => { - if (rplError !== null) { - callFailureCallback(callback, rplError); - return; - } - callSuccessCallback(callback, rplEntries); - }); - }); - } - exports2.readdirWithFileTypes = readdirWithFileTypes; - function makeRplTaskEntry(entry, settings) { - return (done) => { - if (!entry.dirent.isSymbolicLink()) { - done(null, entry); - return; - } - settings.fs.stat(entry.path, (statError, stats) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - done(statError); - return; - } - done(null, entry); - return; - } - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - done(null, entry); - }); - }; - } - function readdir(directory, settings, callback) { - settings.fs.readdir(directory, (readdirError, names) => { - if (readdirError !== null) { - callFailureCallback(callback, readdirError); - return; - } - const tasks = names.map((name) => { - const path = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); - return (done) => { - fsStat.stat(path, settings.fsStatSettings, (error, stats) => { - if (error !== null) { - done(error); - return; - } - const entry = { - name, - path, - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - done(null, entry); - }); - }; - }); - rpl(tasks, (rplError, entries) => { - if (rplError !== null) { - callFailureCallback(callback, rplError); - return; - } - callSuccessCallback(callback, entries); - }); - }); - } - exports2.readdir = readdir; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, result) { - callback(null, result); - } - } -}); -var require_sync2 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0; - var fsStat = require_out(); - var constants_1 = require_constants3(); - var utils = require_utils5(); - var common = require_common(); - function read(directory, settings) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings); - } - return readdir(directory, settings); - } - exports2.read = read; - function readdirWithFileTypes(directory, settings) { - const dirents = settings.fs.readdirSync(directory, { - withFileTypes: true - }); - return dirents.map((dirent) => { - const entry = { - dirent, - name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) - }; - if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { - try { - const stats = settings.fs.statSync(entry.path); - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - } catch (error) { - if (settings.throwErrorOnBrokenSymbolicLink) { - throw error; - } - } - } - return entry; - }); - } - exports2.readdirWithFileTypes = readdirWithFileTypes; - function readdir(directory, settings) { - const names = settings.fs.readdirSync(directory); - return names.map((name) => { - const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); - const stats = fsStat.statSync(entryPath, settings.fsStatSettings); - const entry = { - name, - path: entryPath, - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - return entry; - }); - } - exports2.readdir = readdir; - } -}); -var require_fs4 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0; - var fs = require("fs"); - exports2.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync - }; - function createFileSystemAdapter(fsMethods) { - if (fsMethods === void 0) { - return exports2.FILE_SYSTEM_ADAPTER; - } - return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods); - } - exports2.createFileSystemAdapter = createFileSystemAdapter; - } -}); -var require_settings2 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var fsStat = require_out(); - var fs = require_fs4(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.stats = this._getValue(this._options.stats, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - this.fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this.followSymbolicLinks, - fs: this.fs, - throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports2.default = Settings; - } -}); -var require_out2 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.Settings = exports2.scandirSync = exports2.scandir = void 0; - var async = require_async2(); - var sync = require_sync2(); - var settings_1 = require_settings2(); - exports2.Settings = settings_1.default; - function scandir(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path, getSettings(), optionsOrSettingsOrCallback); - return; - } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - exports2.scandir = scandir; - function scandirSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); - } - exports2.scandirSync = scandirSync; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); -var require_reusify = __commonJS2({ - "node_modules/reusify/reusify.js"(exports2, module2) { - "use strict"; - function reusify(Constructor) { - var head = new Constructor(); - var tail = head; - function get() { - var current = head; - if (current.next) { - head = current.next; - } else { - head = new Constructor(); - tail = head; - } - current.next = null; - return current; - } - function release(obj) { - tail.next = obj; - tail = obj; - } - return { - get, - release - }; - } - module2.exports = reusify; - } -}); -var require_queue = __commonJS2({ - "node_modules/fastq/queue.js"(exports2, module2) { - "use strict"; - var reusify = require_reusify(); - function fastqueue(context, worker, concurrency) { - if (typeof context === "function") { - concurrency = worker; - worker = context; - context = null; - } - if (concurrency < 1) { - throw new Error("fastqueue concurrency must be greater than 1"); - } - var cache = reusify(Task); - var queueHead = null; - var queueTail = null; - var _running = 0; - var errorHandler = null; - var self2 = { - push, - drain: noop, - saturated: noop, - pause, - paused: false, - concurrency, - running, - resume, - idle, - length, - getQueue, - unshift, - empty: noop, - kill, - killAndDrain, - error - }; - return self2; - function running() { - return _running; - } - function pause() { - self2.paused = true; - } - function length() { - var current = queueHead; - var counter = 0; - while (current) { - current = current.next; - counter++; - } - return counter; - } - function getQueue() { - var current = queueHead; - var tasks = []; - while (current) { - tasks.push(current.value); - current = current.next; - } - return tasks; - } - function resume() { - if (!self2.paused) - return; - self2.paused = false; - for (var i = 0; i < self2.concurrency; i++) { - _running++; - release(); - } - } - function idle() { - return _running === 0 && self2.length() === 0; - } - function push(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - current.errorHandler = errorHandler; - if (_running === self2.concurrency || self2.paused) { - if (queueTail) { - queueTail.next = current; - queueTail = current; - } else { - queueHead = current; - queueTail = current; - self2.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - function unshift(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - if (_running === self2.concurrency || self2.paused) { - if (queueHead) { - current.next = queueHead; - queueHead = current; - } else { - queueHead = current; - queueTail = current; - self2.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - function release(holder) { - if (holder) { - cache.release(holder); - } - var next = queueHead; - if (next) { - if (!self2.paused) { - if (queueTail === queueHead) { - queueTail = null; - } - queueHead = next.next; - next.next = null; - worker.call(context, next.value, next.worked); - if (queueTail === null) { - self2.empty(); - } - } else { - _running--; - } - } else if (--_running === 0) { - self2.drain(); - } - } - function kill() { - queueHead = null; - queueTail = null; - self2.drain = noop; - } - function killAndDrain() { - queueHead = null; - queueTail = null; - self2.drain(); - self2.drain = noop; - } - function error(handler) { - errorHandler = handler; - } - } - function noop() { - } - function Task() { - this.value = null; - this.callback = noop; - this.next = null; - this.release = noop; - this.context = null; - this.errorHandler = null; - var self2 = this; - this.worked = function worked(err, result) { - var callback = self2.callback; - var errorHandler = self2.errorHandler; - var val = self2.value; - self2.value = null; - self2.callback = noop; - if (self2.errorHandler) { - errorHandler(err, val); - } - callback.call(self2.context, err, result); - self2.release(self2); - }; - } - function queueAsPromised(context, worker, concurrency) { - if (typeof context === "function") { - concurrency = worker; - worker = context; - context = null; - } - function asyncWrapper(arg, cb) { - worker.call(this, arg).then(function(res) { - cb(null, res); - }, cb); - } - var queue = fastqueue(context, asyncWrapper, concurrency); - var pushCb = queue.push; - var unshiftCb = queue.unshift; - queue.push = push; - queue.unshift = unshift; - queue.drained = drained; - return queue; - function push(value) { - var p = new Promise(function(resolve, reject) { - pushCb(value, function(err, result) { - if (err) { - reject(err); - return; - } - resolve(result); - }); - }); - p.catch(noop); - return p; - } - function unshift(value) { - var p = new Promise(function(resolve, reject) { - unshiftCb(value, function(err, result) { - if (err) { - reject(err); - return; - } - resolve(result); - }); - }); - p.catch(noop); - return p; - } - function drained() { - var previousDrain = queue.drain; - var p = new Promise(function(resolve) { - queue.drain = function() { - previousDrain(); - resolve(); - }; - }); - return p; - } - } - module2.exports = fastqueue; - module2.exports.promise = queueAsPromised; - } -}); -var require_common2 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.joinPathSegments = exports2.replacePathSegmentSeparator = exports2.isAppliedFilter = exports2.isFatalError = void 0; - function isFatalError(settings, error) { - if (settings.errorFilter === null) { - return true; - } - return !settings.errorFilter(error); - } - exports2.isFatalError = isFatalError; - function isAppliedFilter(filter, value) { - return filter === null || filter(value); - } - exports2.isAppliedFilter = isAppliedFilter; - function replacePathSegmentSeparator(filepath, separator) { - return filepath.split(/[/\\]/).join(separator); - } - exports2.replacePathSegmentSeparator = replacePathSegmentSeparator; - function joinPathSegments(a, b, separator) { - if (a === "") { - return b; - } - if (a.endsWith(separator)) { - return a + b; - } - return a + separator + b; - } - exports2.joinPathSegments = joinPathSegments; - } -}); -var require_reader = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var common = require_common2(); - var Reader = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); - } - }; - exports2.default = Reader; - } -}); -var require_async3 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var events_1 = require("events"); - var fsScandir = require_out2(); - var fastq = require_queue(); - var common = require_common2(); - var reader_1 = require_reader(); - var AsyncReader = class extends reader_1.default { - constructor(_root, _settings) { - super(_root, _settings); - this._settings = _settings; - this._scandir = fsScandir.scandir; - this._emitter = new events_1.EventEmitter(); - this._queue = fastq(this._worker.bind(this), this._settings.concurrency); - this._isFatalError = false; - this._isDestroyed = false; - this._queue.drain = () => { - if (!this._isFatalError) { - this._emitter.emit("end"); - } - }; - } - read() { - this._isFatalError = false; - this._isDestroyed = false; - setImmediate(() => { - this._pushToQueue(this._root, this._settings.basePath); - }); - return this._emitter; - } - get isDestroyed() { - return this._isDestroyed; - } - destroy() { - if (this._isDestroyed) { - throw new Error("The reader is already destroyed"); - } - this._isDestroyed = true; - this._queue.killAndDrain(); - } - onEntry(callback) { - this._emitter.on("entry", callback); - } - onError(callback) { - this._emitter.once("error", callback); - } - onEnd(callback) { - this._emitter.once("end", callback); - } - _pushToQueue(directory, base) { - const queueItem = { - directory, - base - }; - this._queue.push(queueItem, (error) => { - if (error !== null) { - this._handleError(error); - } - }); - } - _worker(item, done) { - this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { - if (error !== null) { - done(error, void 0); - return; - } - for (const entry of entries) { - this._handleEntry(entry, item.base); - } - done(null, void 0); - }); - } - _handleError(error) { - if (this._isDestroyed || !common.isFatalError(this._settings, error)) { - return; - } - this._isFatalError = true; - this._isDestroyed = true; - this._emitter.emit("error", error); - } - _handleEntry(entry, base) { - if (this._isDestroyed || this._isFatalError) { - return; - } - const fullpath = entry.path; - if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._emitEntry(entry); - } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); - } - } - _emitEntry(entry) { - this._emitter.emit("entry", entry); - } - }; - exports2.default = AsyncReader; - } -}); -var require_async4 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var async_1 = require_async3(); - var AsyncProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._storage = []; - } - read(callback) { - this._reader.onError((error) => { - callFailureCallback(callback, error); - }); - this._reader.onEntry((entry) => { - this._storage.push(entry); - }); - this._reader.onEnd(() => { - callSuccessCallback(callback, this._storage); - }); - this._reader.read(); - } - }; - exports2.default = AsyncProvider; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, entries) { - callback(null, entries); - } - } -}); -var require_stream2 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var stream_1 = require("stream"); - var async_1 = require_async3(); - var StreamProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._stream = new stream_1.Readable({ - objectMode: true, - read: () => { - }, - destroy: () => { - if (!this._reader.isDestroyed) { - this._reader.destroy(); - } - } - }); - } - read() { - this._reader.onError((error) => { - this._stream.emit("error", error); - }); - this._reader.onEntry((entry) => { - this._stream.push(entry); - }); - this._reader.onEnd(() => { - this._stream.push(null); - }); - this._reader.read(); - return this._stream; - } - }; - exports2.default = StreamProvider; - } -}); -var require_sync3 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fsScandir = require_out2(); - var common = require_common2(); - var reader_1 = require_reader(); - var SyncReader = class extends reader_1.default { - constructor() { - super(...arguments); - this._scandir = fsScandir.scandirSync; - this._storage = []; - this._queue = /* @__PURE__ */ new Set(); - } - read() { - this._pushToQueue(this._root, this._settings.basePath); - this._handleQueue(); - return this._storage; - } - _pushToQueue(directory, base) { - this._queue.add({ - directory, - base - }); - } - _handleQueue() { - for (const item of this._queue.values()) { - this._handleDirectory(item.directory, item.base); - } - } - _handleDirectory(directory, base) { - try { - const entries = this._scandir(directory, this._settings.fsScandirSettings); - for (const entry of entries) { - this._handleEntry(entry, base); - } - } catch (error) { - this._handleError(error); - } - } - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; - } - throw error; - } - _handleEntry(entry, base) { - const fullpath = entry.path; - if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._pushToStorage(entry); - } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); - } - } - _pushToStorage(entry) { - this._storage.push(entry); - } - }; - exports2.default = SyncReader; - } -}); -var require_sync4 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var sync_1 = require_sync3(); - var SyncProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new sync_1.default(this._root, this._settings); - } - read() { - return this._reader.read(); - } - }; - exports2.default = SyncProvider; - } -}); -var require_settings3 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var fsScandir = require_out2(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.basePath = this._getValue(this._options.basePath, void 0); - this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); - this.deepFilter = this._getValue(this._options.deepFilter, null); - this.entryFilter = this._getValue(this._options.entryFilter, null); - this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.fsScandirSettings = new fsScandir.Settings({ - followSymbolicLinks: this._options.followSymbolicLinks, - fs: this._options.fs, - pathSegmentSeparator: this._options.pathSegmentSeparator, - stats: this._options.stats, - throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports2.default = Settings; - } -}); -var require_out3 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.Settings = exports2.walkStream = exports2.walkSync = exports2.walk = void 0; - var async_1 = require_async4(); - var stream_1 = require_stream2(); - var sync_1 = require_sync4(); - var settings_1 = require_settings3(); - exports2.Settings = settings_1.default; - function walk(directory, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); - return; - } - new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); - } - exports2.walk = walk; - function walkSync(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new sync_1.default(directory, settings); - return provider.read(); - } - exports2.walkSync = walkSync; - function walkStream(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new stream_1.default(directory, settings); - return provider.read(); - } - exports2.walkStream = walkStream; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); -var require_reader2 = __commonJS2({ - "node_modules/fast-glob/out/readers/reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var fsStat = require_out(); - var utils = require_utils4(); - var Reader = class { - constructor(_settings) { - this._settings = _settings; - this._fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this._settings.followSymbolicLinks, - fs: this._settings.fs, - throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks - }); - } - _getFullEntryPath(filepath) { - return path.resolve(this._settings.cwd, filepath); - } - _makeEntry(stats, pattern) { - const entry = { - name: pattern, - path: pattern, - dirent: utils.fs.createDirentFromStats(pattern, stats) - }; - if (this._settings.stats) { - entry.stats = stats; - } - return entry; - } - _isFatalError(error) { - return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; - } - }; - exports2.default = Reader; - } -}); -var require_stream3 = __commonJS2({ - "node_modules/fast-glob/out/readers/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var stream_1 = require("stream"); - var fsStat = require_out(); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var ReaderStream = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkStream = fsWalk.walkStream; - this._stat = fsStat.stat; - } - dynamic(root, options) { - return this._walkStream(root, options); - } - static(patterns, options) { - const filepaths = patterns.map(this._getFullEntryPath, this); - const stream = new stream_1.PassThrough({ - objectMode: true - }); - stream._write = (index, _enc, done) => { - return this._getEntry(filepaths[index], patterns[index], options).then((entry) => { - if (entry !== null && options.entryFilter(entry)) { - stream.push(entry); - } - if (index === filepaths.length - 1) { - stream.end(); - } - done(); - }).catch(done); - }; - for (let i = 0; i < filepaths.length; i++) { - stream.write(i); - } - return stream; - } - _getEntry(filepath, pattern, options) { - return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => { - if (options.errorFilter(error)) { - return null; - } - throw error; - }); - } - _getStat(filepath) { - return new Promise((resolve, reject) => { - this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve(stats) : reject(error); - }); - }); - } - }; - exports2.default = ReaderStream; - } -}); -var require_async5 = __commonJS2({ - "node_modules/fast-glob/out/readers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var stream_1 = require_stream3(); - var ReaderAsync = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkAsync = fsWalk.walk; - this._readerStream = new stream_1.default(this._settings); - } - dynamic(root, options) { - return new Promise((resolve, reject) => { - this._walkAsync(root, options, (error, entries) => { - if (error === null) { - resolve(entries); - } else { - reject(error); - } - }); - }); - } - async static(patterns, options) { - const entries = []; - const stream = this._readerStream.static(patterns, options); - return new Promise((resolve, reject) => { - stream.once("error", reject); - stream.on("data", (entry) => entries.push(entry)); - stream.once("end", () => resolve(entries)); - }); - } - }; - exports2.default = ReaderAsync; - } -}); -var require_matcher = __commonJS2({ - "node_modules/fast-glob/out/providers/matchers/matcher.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var Matcher = class { - constructor(_patterns, _settings, _micromatchOptions) { - this._patterns = _patterns; - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this._storage = []; - this._fillStorage(); - } - _fillStorage() { - const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns); - for (const pattern of patterns) { - const segments = this._getPatternSegments(pattern); - const sections = this._splitSegmentsIntoSections(segments); - this._storage.push({ - complete: sections.length <= 1, - pattern, - segments, - sections - }); - } - } - _getPatternSegments(pattern) { - const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions); - return parts.map((part) => { - const dynamic = utils.pattern.isDynamicPattern(part, this._settings); - if (!dynamic) { - return { - dynamic: false, - pattern: part - }; - } - return { - dynamic: true, - pattern: part, - patternRe: utils.pattern.makeRe(part, this._micromatchOptions) - }; - }); - } - _splitSegmentsIntoSections(segments) { - return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern)); - } - }; - exports2.default = Matcher; - } -}); -var require_partial = __commonJS2({ - "node_modules/fast-glob/out/providers/matchers/partial.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var matcher_1 = require_matcher(); - var PartialMatcher = class extends matcher_1.default { - match(filepath) { - const parts = filepath.split("/"); - const levels = parts.length; - const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels); - for (const pattern of patterns) { - const section = pattern.sections[0]; - if (!pattern.complete && levels > section.length) { - return true; - } - const match = parts.every((part, index) => { - const segment = pattern.segments[index]; - if (segment.dynamic && segment.patternRe.test(part)) { - return true; - } - if (!segment.dynamic && segment.pattern === part) { - return true; - } - return false; - }); - if (match) { - return true; - } - } - return false; - } - }; - exports2.default = PartialMatcher; - } -}); -var require_deep = __commonJS2({ - "node_modules/fast-glob/out/providers/filters/deep.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var partial_1 = require_partial(); - var DeepFilter = class { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - } - getFilter(basePath, positive, negative) { - const matcher = this._getMatcher(positive); - const negativeRe = this._getNegativePatternsRe(negative); - return (entry) => this._filter(basePath, entry, matcher, negativeRe); - } - _getMatcher(patterns) { - return new partial_1.default(patterns, this._settings, this._micromatchOptions); - } - _getNegativePatternsRe(patterns) { - const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern); - return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); - } - _filter(basePath, entry, matcher, negativeRe) { - if (this._isSkippedByDeep(basePath, entry.path)) { - return false; - } - if (this._isSkippedSymbolicLink(entry)) { - return false; - } - const filepath = utils.path.removeLeadingDotSegment(entry.path); - if (this._isSkippedByPositivePatterns(filepath, matcher)) { - return false; - } - return this._isSkippedByNegativePatterns(filepath, negativeRe); - } - _isSkippedByDeep(basePath, entryPath) { - if (this._settings.deep === Infinity) { - return false; - } - return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; - } - _getEntryLevel(basePath, entryPath) { - const entryPathDepth = entryPath.split("/").length; - if (basePath === "") { - return entryPathDepth; - } - const basePathDepth = basePath.split("/").length; - return entryPathDepth - basePathDepth; - } - _isSkippedSymbolicLink(entry) { - return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); - } - _isSkippedByPositivePatterns(entryPath, matcher) { - return !this._settings.baseNameMatch && !matcher.match(entryPath); - } - _isSkippedByNegativePatterns(entryPath, patternsRe) { - return !utils.pattern.matchAny(entryPath, patternsRe); - } - }; - exports2.default = DeepFilter; - } -}); -var require_entry = __commonJS2({ - "node_modules/fast-glob/out/providers/filters/entry.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var EntryFilter = class { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this.index = /* @__PURE__ */ new Map(); - } - getFilter(positive, negative) { - const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions); - const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions); - return (entry) => this._filter(entry, positiveRe, negativeRe); - } - _filter(entry, positiveRe, negativeRe) { - if (this._settings.unique && this._isDuplicateEntry(entry)) { - return false; - } - if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { - return false; - } - if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { - return false; - } - const filepath = this._settings.baseNameMatch ? entry.name : entry.path; - const isDirectory = entry.dirent.isDirectory(); - const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(entry.path, negativeRe, isDirectory); - if (this._settings.unique && isMatched) { - this._createIndexRecord(entry); - } - return isMatched; - } - _isDuplicateEntry(entry) { - return this.index.has(entry.path); - } - _createIndexRecord(entry) { - this.index.set(entry.path, void 0); - } - _onlyFileFilter(entry) { - return this._settings.onlyFiles && !entry.dirent.isFile(); - } - _onlyDirectoryFilter(entry) { - return this._settings.onlyDirectories && !entry.dirent.isDirectory(); - } - _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { - if (!this._settings.absolute) { - return false; - } - const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath); - return utils.pattern.matchAny(fullpath, patternsRe); - } - _isMatchToPatterns(entryPath, patternsRe, isDirectory) { - const filepath = utils.path.removeLeadingDotSegment(entryPath); - const isMatched = utils.pattern.matchAny(filepath, patternsRe); - if (!isMatched && isDirectory) { - return utils.pattern.matchAny(filepath + "/", patternsRe); - } - return isMatched; - } - }; - exports2.default = EntryFilter; - } -}); -var require_error = __commonJS2({ - "node_modules/fast-glob/out/providers/filters/error.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var ErrorFilter = class { - constructor(_settings) { - this._settings = _settings; - } - getFilter() { - return (error) => this._isNonFatalError(error); - } - _isNonFatalError(error) { - return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors; - } - }; - exports2.default = ErrorFilter; - } -}); -var require_entry2 = __commonJS2({ - "node_modules/fast-glob/out/providers/transformers/entry.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var EntryTransformer = class { - constructor(_settings) { - this._settings = _settings; - } - getTransformer() { - return (entry) => this._transform(entry); - } - _transform(entry) { - let filepath = entry.path; - if (this._settings.absolute) { - filepath = utils.path.makeAbsolute(this._settings.cwd, filepath); - filepath = utils.path.unixify(filepath); - } - if (this._settings.markDirectories && entry.dirent.isDirectory()) { - filepath += "/"; - } - if (!this._settings.objectMode) { - return filepath; - } - return Object.assign(Object.assign({}, entry), { - path: filepath - }); - } - }; - exports2.default = EntryTransformer; - } -}); -var require_provider = __commonJS2({ - "node_modules/fast-glob/out/providers/provider.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var deep_1 = require_deep(); - var entry_1 = require_entry(); - var error_1 = require_error(); - var entry_2 = require_entry2(); - var Provider = class { - constructor(_settings) { - this._settings = _settings; - this.errorFilter = new error_1.default(this._settings); - this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); - this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); - this.entryTransformer = new entry_2.default(this._settings); - } - _getRootDirectory(task) { - return path.resolve(this._settings.cwd, task.base); - } - _getReaderOptions(task) { - const basePath = task.base === "." ? "" : task.base; - return { - basePath, - pathSegmentSeparator: "/", - concurrency: this._settings.concurrency, - deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), - entryFilter: this.entryFilter.getFilter(task.positive, task.negative), - errorFilter: this.errorFilter.getFilter(), - followSymbolicLinks: this._settings.followSymbolicLinks, - fs: this._settings.fs, - stats: this._settings.stats, - throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, - transform: this.entryTransformer.getTransformer() - }; - } - _getMicromatchOptions() { - return { - dot: this._settings.dot, - matchBase: this._settings.baseNameMatch, - nobrace: !this._settings.braceExpansion, - nocase: !this._settings.caseSensitiveMatch, - noext: !this._settings.extglob, - noglobstar: !this._settings.globstar, - posix: true, - strictSlashes: false - }; - } - }; - exports2.default = Provider; - } -}); -var require_async6 = __commonJS2({ - "node_modules/fast-glob/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var async_1 = require_async5(); - var provider_1 = require_provider(); - var ProviderAsync = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new async_1.default(this._settings); - } - async read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = await this.api(root, task, options); - return entries.map((entry) => options.transform(entry)); - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports2.default = ProviderAsync; - } -}); -var require_stream4 = __commonJS2({ - "node_modules/fast-glob/out/providers/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var stream_1 = require("stream"); - var stream_2 = require_stream3(); - var provider_1 = require_provider(); - var ProviderStream = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new stream_2.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const source = this.api(root, task, options); - const destination = new stream_1.Readable({ - objectMode: true, - read: () => { - } - }); - source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options.transform(entry))).once("end", () => destination.emit("end")); - destination.once("close", () => source.destroy()); - return destination; - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports2.default = ProviderStream; - } -}); -var require_sync5 = __commonJS2({ - "node_modules/fast-glob/out/readers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fsStat = require_out(); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var ReaderSync = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkSync = fsWalk.walkSync; - this._statSync = fsStat.statSync; - } - dynamic(root, options) { - return this._walkSync(root, options); - } - static(patterns, options) { - const entries = []; - for (const pattern of patterns) { - const filepath = this._getFullEntryPath(pattern); - const entry = this._getEntry(filepath, pattern, options); - if (entry === null || !options.entryFilter(entry)) { - continue; - } - entries.push(entry); - } - return entries; - } - _getEntry(filepath, pattern, options) { - try { - const stats = this._getStat(filepath); - return this._makeEntry(stats, pattern); - } catch (error) { - if (options.errorFilter(error)) { - return null; - } - throw error; - } - } - _getStat(filepath) { - return this._statSync(filepath, this._fsStatSettings); - } - }; - exports2.default = ReaderSync; - } -}); -var require_sync6 = __commonJS2({ - "node_modules/fast-glob/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var sync_1 = require_sync5(); - var provider_1 = require_provider(); - var ProviderSync = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new sync_1.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = this.api(root, task, options); - return entries.map(options.transform); - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports2.default = ProviderSync; - } -}); -var require_settings4 = __commonJS2({ - "node_modules/fast-glob/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; - var fs = require("fs"); - var os2 = require("os"); - var CPU_COUNT = Math.max(os2.cpus().length, 1); - exports2.DEFAULT_FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - lstatSync: fs.lstatSync, - stat: fs.stat, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync - }; - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.absolute = this._getValue(this._options.absolute, false); - this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); - this.braceExpansion = this._getValue(this._options.braceExpansion, true); - this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); - this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); - this.cwd = this._getValue(this._options.cwd, process.cwd()); - this.deep = this._getValue(this._options.deep, Infinity); - this.dot = this._getValue(this._options.dot, false); - this.extglob = this._getValue(this._options.extglob, true); - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); - this.fs = this._getFileSystemMethods(this._options.fs); - this.globstar = this._getValue(this._options.globstar, true); - this.ignore = this._getValue(this._options.ignore, []); - this.markDirectories = this._getValue(this._options.markDirectories, false); - this.objectMode = this._getValue(this._options.objectMode, false); - this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); - this.onlyFiles = this._getValue(this._options.onlyFiles, true); - this.stats = this._getValue(this._options.stats, false); - this.suppressErrors = this._getValue(this._options.suppressErrors, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); - this.unique = this._getValue(this._options.unique, true); - if (this.onlyDirectories) { - this.onlyFiles = false; - } - if (this.stats) { - this.objectMode = true; - } - } - _getValue(option, value) { - return option === void 0 ? value : option; - } - _getFileSystemMethods(methods = {}) { - return Object.assign(Object.assign({}, exports2.DEFAULT_FILE_SYSTEM_ADAPTER), methods); - } - }; - exports2.default = Settings; - } -}); -var require_out4 = __commonJS2({ - "node_modules/fast-glob/out/index.js"(exports2, module2) { - "use strict"; - var taskManager = require_tasks(); - var patternManager = require_patterns(); - var async_1 = require_async6(); - var stream_1 = require_stream4(); - var sync_1 = require_sync6(); - var settings_1 = require_settings4(); - var utils = require_utils4(); - async function FastGlob(source, options) { - assertPatternsInput(source); - const works = getWorks(source, async_1.default, options); - const result = await Promise.all(works); - return utils.array.flatten(result); - } - (function(FastGlob2) { - function sync(source, options) { - assertPatternsInput(source); - const works = getWorks(source, sync_1.default, options); - return utils.array.flatten(works); - } - FastGlob2.sync = sync; - function stream(source, options) { - assertPatternsInput(source); - const works = getWorks(source, stream_1.default, options); - return utils.stream.merge(works); - } - FastGlob2.stream = stream; - function generateTasks(source, options) { - assertPatternsInput(source); - const patterns = patternManager.transform([].concat(source)); - const settings = new settings_1.default(options); - return taskManager.generate(patterns, settings); - } - FastGlob2.generateTasks = generateTasks; - function isDynamicPattern(source, options) { - assertPatternsInput(source); - const settings = new settings_1.default(options); - return utils.pattern.isDynamicPattern(source, settings); - } - FastGlob2.isDynamicPattern = isDynamicPattern; - function escapePath(source) { - assertPatternsInput(source); - return utils.path.escape(source); - } - FastGlob2.escapePath = escapePath; - })(FastGlob || (FastGlob = {})); - function getWorks(source, _Provider, options) { - const patterns = patternManager.transform([].concat(source)); - const settings = new settings_1.default(options); - const tasks = taskManager.generate(patterns, settings); - const provider = new _Provider(settings); - return tasks.map(provider.read, provider); - } - function assertPatternsInput(input) { - const source = [].concat(input); - const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); - if (!isValidSource) { - throw new TypeError("Patterns must be a string (non empty) or an array of strings"); - } - } - module2.exports = FastGlob; - } -}); -var require_expand_patterns = __commonJS2({ - "src/cli/expand-patterns.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var fastGlob = require_out4(); - var { - statSafe - } = require_utils(); - async function* expandPatterns(context) { - const cwd = process.cwd(); - const seen = /* @__PURE__ */ new Set(); - let noResults = true; - for await (const pathOrError of expandPatternsInternal(context)) { - noResults = false; - if (typeof pathOrError !== "string") { - yield pathOrError; - continue; - } - const relativePath = path.relative(cwd, pathOrError); - if (seen.has(relativePath)) { - continue; - } - seen.add(relativePath); - yield relativePath; - } - if (noResults && context.argv.errorOnUnmatchedPattern !== false) { - yield { - error: `No matching files. Patterns: ${context.filePatterns.join(" ")}` - }; - } - } - async function* expandPatternsInternal(context) { - const silentlyIgnoredDirs = [".git", ".sl", ".svn", ".hg"]; - if (context.argv.withNodeModules !== true) { - silentlyIgnoredDirs.push("node_modules"); - } - const globOptions = { - dot: true, - ignore: silentlyIgnoredDirs.map((dir) => "**/" + dir) - }; - let supportedFilesGlob; - const cwd = process.cwd(); - const entries = []; - for (const pattern of context.filePatterns) { - const absolutePath = path.resolve(cwd, pattern); - if (containsIgnoredPathSegment(absolutePath, cwd, silentlyIgnoredDirs)) { - continue; - } - const stat = await statSafe(absolutePath); - if (stat) { - if (stat.isFile()) { - entries.push({ - type: "file", - glob: escapePathForGlob(fixWindowsSlashes(pattern)), - input: pattern - }); - } else if (stat.isDirectory()) { - const relativePath = path.relative(cwd, absolutePath) || "."; - entries.push({ - type: "dir", - glob: escapePathForGlob(fixWindowsSlashes(relativePath)) + "/" + getSupportedFilesGlob(), - input: pattern - }); - } - } else if (pattern[0] === "!") { - globOptions.ignore.push(fixWindowsSlashes(pattern.slice(1))); - } else { - entries.push({ - type: "glob", - glob: fixWindowsSlashes(pattern), - input: pattern - }); - } - } - for (const { - type, - glob, - input - } of entries) { - let result; - try { - result = await fastGlob(glob, globOptions); - } catch ({ - message - }) { - yield { - error: `${errorMessages.globError[type]}: ${input} -${message}` - }; - continue; - } - if (result.length === 0) { - if (context.argv.errorOnUnmatchedPattern !== false) { - yield { - error: `${errorMessages.emptyResults[type]}: "${input}".` - }; - } - } else { - yield* sortPaths(result); - } - } - function getSupportedFilesGlob() { - if (!supportedFilesGlob) { - const extensions = context.languages.flatMap((lang) => lang.extensions || []); - const filenames = context.languages.flatMap((lang) => lang.filenames || []); - supportedFilesGlob = `**/{${[...extensions.map((ext) => "*" + (ext[0] === "." ? ext : "." + ext)), ...filenames]}}`; - } - return supportedFilesGlob; - } - } - var errorMessages = { - globError: { - file: "Unable to resolve file", - dir: "Unable to expand directory", - glob: "Unable to expand glob pattern" - }, - emptyResults: { - file: "Explicitly specified file was ignored due to negative glob patterns", - dir: "No supported files were found in the directory", - glob: "No files matching the pattern were found" - } - }; - function containsIgnoredPathSegment(absolutePath, cwd, ignoredDirectories) { - return path.relative(cwd, absolutePath).split(path.sep).some((dir) => ignoredDirectories.includes(dir)); - } - function sortPaths(paths) { - return paths.sort((a, b) => a.localeCompare(b)); - } - function escapePathForGlob(path2) { - return fastGlob.escapePath(path2.replace(/\\/g, "\0")).replace(/\\!/g, "@(!)").replace(/\0/g, "@(\\\\)"); - } - var isWindows = path.sep === "\\"; - function fixWindowsSlashes(pattern) { - return isWindows ? pattern.replace(/\\/g, "/") : pattern; - } - module2.exports = { - expandPatterns, - fixWindowsSlashes - }; - } -}); -var require_get_options_for_file = __commonJS2({ - "src/cli/options/get-options-for-file.js"(exports2, module2) { - "use strict"; - var dashify = require_dashify(); - var prettier2 = require("./index.js"); - var { - optionsNormalizer - } = require_prettier_internal(); - var minimist = require_minimist2(); - var createMinimistOptions = require_create_minimist_options(); - var normalizeCliOptions = require_normalize_cli_options(); - function getOptions(argv, detailedOptions) { - return Object.fromEntries(detailedOptions.filter(({ - forwardToApi - }) => forwardToApi).map(({ - forwardToApi, - name - }) => [forwardToApi, argv[name]])); - } - function cliifyOptions(object, apiDetailedOptionMap) { - return Object.fromEntries(Object.entries(object || {}).map(([key, value]) => { - const apiOption = apiDetailedOptionMap[key]; - const cliKey = apiOption ? apiOption.name : key; - return [dashify(cliKey), value]; - })); - } - function createApiDetailedOptionMap(detailedOptions) { - return Object.fromEntries(detailedOptions.filter((option) => option.forwardToApi && option.forwardToApi !== option.name).map((option) => [option.forwardToApi, option])); - } - function parseArgsToOptions(context, overrideDefaults) { - const minimistOptions = createMinimistOptions(context.detailedOptions); - const apiDetailedOptionMap = createApiDetailedOptionMap(context.detailedOptions); - return getOptions(normalizeCliOptions(minimist(context.rawArguments, { - string: minimistOptions.string, - boolean: minimistOptions.boolean, - default: cliifyOptions(overrideDefaults, apiDetailedOptionMap) - }), context.detailedOptions, { - logger: false - }), context.detailedOptions); - } - async function getOptionsOrDie(context, filePath) { - try { - if (context.argv.config === false) { - context.logger.debug("'--no-config' option found, skip loading config file."); - return null; - } - context.logger.debug(context.argv.config ? `load config file from '${context.argv.config}'` : `resolve config from '${filePath}'`); - const options = await prettier2.resolveConfig(filePath, { - editorconfig: context.argv.editorconfig, - config: context.argv.config - }); - context.logger.debug("loaded options `" + JSON.stringify(options) + "`"); - return options; - } catch (error) { - context.logger.error(`Invalid configuration file \`${filePath}\`: ` + error.message); - process.exit(2); - } - } - function applyConfigPrecedence(context, options) { - try { - switch (context.argv.configPrecedence) { - case "cli-override": - return parseArgsToOptions(context, options); - case "file-override": - return Object.assign(Object.assign({}, parseArgsToOptions(context)), options); - case "prefer-file": - return options || parseArgsToOptions(context); - } - } catch (error) { - context.logger.error(error.toString()); - process.exit(2); - } - } - async function getOptionsForFile(context, filepath) { - const options = await getOptionsOrDie(context, filepath); - const hasPlugins = options && options.plugins; - if (hasPlugins) { - context.pushContextPlugins(options.plugins); - } - const appliedOptions = Object.assign({ - filepath - }, applyConfigPrecedence(context, options && optionsNormalizer.normalizeApiOptions(options, context.supportOptions, { - logger: context.logger - }))); - context.logger.debug(`applied config-precedence (${context.argv.configPrecedence}): ${JSON.stringify(appliedOptions)}`); - if (hasPlugins) { - context.popContextPlugins(); - } - return appliedOptions; - } - module2.exports = getOptionsForFile; - } -}); -var require_is_tty = __commonJS2({ - "src/cli/is-tty.js"(exports2, module2) { - "use strict"; - var { - isCI - } = require("./third-party.js"); - module2.exports = function isTTY() { - return process.stdout.isTTY && !isCI(); - }; - } -}); -var require_commondir = __commonJS2({ - "node_modules/commondir/index.js"(exports2, module2) { - var path = require("path"); - module2.exports = function(basedir, relfiles) { - if (relfiles) { - var files = relfiles.map(function(r) { - return path.resolve(basedir, r); - }); - } else { - var files = basedir; - } - var res = files.slice(1).reduce(function(ps, file) { - if (!file.match(/^([A-Za-z]:)?\/|\\/)) { - throw new Error("relative path without a basedir"); - } - var xs = file.split(/\/+|\\+/); - for (var i = 0; ps[i] === xs[i] && i < Math.min(ps.length, xs.length); i++) - ; - return ps.slice(0, i); - }, files[0].split(/\/+|\\+/)); - return res.length > 1 ? res.join("/") : "/"; - }; - } -}); -var require_p_try = __commonJS2({ - "node_modules/p-try/index.js"(exports2, module2) { - "use strict"; - var pTry = (fn, ...arguments_) => new Promise((resolve) => { - resolve(fn(...arguments_)); - }); - module2.exports = pTry; - module2.exports.default = pTry; - } -}); -var require_p_limit = __commonJS2({ - "node_modules/pkg-dir/node_modules/p-limit/index.js"(exports2, module2) { - "use strict"; - var pTry = require_p_try(); - var pLimit = (concurrency) => { - if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) { - return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up")); - } - const queue = []; - let activeCount = 0; - const next = () => { - activeCount--; - if (queue.length > 0) { - queue.shift()(); - } - }; - const run2 = (fn, resolve, ...args) => { - activeCount++; - const result = pTry(fn, ...args); - resolve(result); - result.then(next, next); - }; - const enqueue = (fn, resolve, ...args) => { - if (activeCount < concurrency) { - run2(fn, resolve, ...args); - } else { - queue.push(run2.bind(null, fn, resolve, ...args)); - } - }; - const generator = (fn, ...args) => new Promise((resolve) => enqueue(fn, resolve, ...args)); - Object.defineProperties(generator, { - activeCount: { - get: () => activeCount - }, - pendingCount: { - get: () => queue.length - }, - clearQueue: { - value: () => { - queue.length = 0; - } - } - }); - return generator; - }; - module2.exports = pLimit; - module2.exports.default = pLimit; - } -}); -var require_p_locate = __commonJS2({ - "node_modules/pkg-dir/node_modules/p-locate/index.js"(exports2, module2) { - "use strict"; - var pLimit = require_p_limit(); - var EndError = class extends Error { - constructor(value) { - super(); - this.value = value; - } - }; - var testElement = async (element, tester) => tester(await element); - var finder = async (element) => { - const values = await Promise.all(element); - if (values[1] === true) { - throw new EndError(values[0]); - } - return false; - }; - var pLocate = async (iterable, tester, options) => { - options = Object.assign({ - concurrency: Infinity, - preserveOrder: true - }, options); - const limit = pLimit(options.concurrency); - const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]); - const checkLimit = pLimit(options.preserveOrder ? 1 : Infinity); - try { - await Promise.all(items.map((element) => checkLimit(finder, element))); - } catch (error) { - if (error instanceof EndError) { - return error.value; - } - throw error; - } - }; - module2.exports = pLocate; - module2.exports.default = pLocate; - } -}); -var require_locate_path = __commonJS2({ - "node_modules/pkg-dir/node_modules/locate-path/index.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var fs = require("fs"); - var { - promisify - } = require("util"); - var pLocate = require_p_locate(); - var fsStat = promisify(fs.stat); - var fsLStat = promisify(fs.lstat); - var typeMappings = { - directory: "isDirectory", - file: "isFile" - }; - function checkType({ - type - }) { - if (type in typeMappings) { - return; - } - throw new Error(`Invalid type specified: ${type}`); - } - var matchType = (type, stat) => type === void 0 || stat[typeMappings[type]](); - module2.exports = async (paths, options) => { - options = Object.assign({ - cwd: process.cwd(), - type: "file", - allowSymlinks: true - }, options); - checkType(options); - const statFn = options.allowSymlinks ? fsStat : fsLStat; - return pLocate(paths, async (path_) => { - try { - const stat = await statFn(path.resolve(options.cwd, path_)); - return matchType(options.type, stat); - } catch (_) { - return false; - } - }, options); - }; - module2.exports.sync = (paths, options) => { - options = Object.assign({ - cwd: process.cwd(), - allowSymlinks: true, - type: "file" - }, options); - checkType(options); - const statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync; - for (const path_ of paths) { - try { - const stat = statFn(path.resolve(options.cwd, path_)); - if (matchType(options.type, stat)) { - return path_; - } - } catch (_) { - } - } - }; - } -}); -var require_path_exists = __commonJS2({ - "node_modules/path-exists/index.js"(exports2, module2) { - "use strict"; - var fs = require("fs"); - var { - promisify - } = require("util"); - var pAccess = promisify(fs.access); - module2.exports = async (path) => { - try { - await pAccess(path); - return true; - } catch (_) { - return false; - } - }; - module2.exports.sync = (path) => { - try { - fs.accessSync(path); - return true; - } catch (_) { - return false; - } - }; - } -}); -var require_find_up = __commonJS2({ - "node_modules/pkg-dir/node_modules/find-up/index.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var locatePath = require_locate_path(); - var pathExists = require_path_exists(); - var stop = Symbol("findUp.stop"); - module2.exports = async (name, options = {}) => { - let directory = path.resolve(options.cwd || ""); - const { - root - } = path.parse(directory); - const paths = [].concat(name); - const runMatcher = async (locateOptions) => { - if (typeof name !== "function") { - return locatePath(paths, locateOptions); - } - const foundPath = await name(locateOptions.cwd); - if (typeof foundPath === "string") { - return locatePath([foundPath], locateOptions); - } - return foundPath; - }; - while (true) { - const foundPath = await runMatcher(Object.assign(Object.assign({}, options), {}, { - cwd: directory - })); - if (foundPath === stop) { - return; - } - if (foundPath) { - return path.resolve(directory, foundPath); - } - if (directory === root) { - return; - } - directory = path.dirname(directory); - } - }; - module2.exports.sync = (name, options = {}) => { - let directory = path.resolve(options.cwd || ""); - const { - root - } = path.parse(directory); - const paths = [].concat(name); - const runMatcher = (locateOptions) => { - if (typeof name !== "function") { - return locatePath.sync(paths, locateOptions); - } - const foundPath = name(locateOptions.cwd); - if (typeof foundPath === "string") { - return locatePath.sync([foundPath], locateOptions); - } - return foundPath; - }; - while (true) { - const foundPath = runMatcher(Object.assign(Object.assign({}, options), {}, { - cwd: directory - })); - if (foundPath === stop) { - return; - } - if (foundPath) { - return path.resolve(directory, foundPath); - } - if (directory === root) { - return; - } - directory = path.dirname(directory); - } - }; - module2.exports.exists = pathExists; - module2.exports.sync.exists = pathExists.sync; - module2.exports.stop = stop; - } -}); -var require_pkg_dir = __commonJS2({ - "node_modules/pkg-dir/index.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var findUp = require_find_up(); - var pkgDir = async (cwd) => { - const filePath = await findUp("package.json", { - cwd - }); - return filePath && path.dirname(filePath); - }; - module2.exports = pkgDir; - module2.exports.default = pkgDir; - module2.exports.sync = (cwd) => { - const filePath = findUp.sync("package.json", { - cwd - }); - return filePath && path.dirname(filePath); - }; - } -}); -var require_semver = __commonJS2({ - "node_modules/make-dir/node_modules/semver/semver.js"(exports2, module2) { - exports2 = module2.exports = SemVer; - var debug; - if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments, 0); - args.unshift("SEMVER"); - console.log.apply(console, args); - }; - } else { - debug = function() { - }; - } - exports2.SEMVER_SPEC_VERSION = "2.0.0"; - var MAX_LENGTH = 256; - var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - var MAX_SAFE_COMPONENT_LENGTH = 16; - var re = exports2.re = []; - var src = exports2.src = []; - var t = exports2.tokens = {}; - var R = 0; - function tok(n) { - t[n] = R++; - } - tok("NUMERICIDENTIFIER"); - src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*"; - tok("NUMERICIDENTIFIERLOOSE"); - src[t.NUMERICIDENTIFIERLOOSE] = "[0-9]+"; - tok("NONNUMERICIDENTIFIER"); - src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-][a-zA-Z0-9-]*"; - tok("MAINVERSION"); - src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")"; - tok("MAINVERSIONLOOSE"); - src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")"; - tok("PRERELEASEIDENTIFIER"); - src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")"; - tok("PRERELEASEIDENTIFIERLOOSE"); - src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")"; - tok("PRERELEASE"); - src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))"; - tok("PRERELEASELOOSE"); - src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))"; - tok("BUILDIDENTIFIER"); - src[t.BUILDIDENTIFIER] = "[0-9A-Za-z-]+"; - tok("BUILD"); - src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))"; - tok("FULL"); - tok("FULLPLAIN"); - src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?"; - src[t.FULL] = "^" + src[t.FULLPLAIN] + "$"; - tok("LOOSEPLAIN"); - src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?"; - tok("LOOSE"); - src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$"; - tok("GTLT"); - src[t.GTLT] = "((?:<|>)?=?)"; - tok("XRANGEIDENTIFIERLOOSE"); - src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*"; - tok("XRANGEIDENTIFIER"); - src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*"; - tok("XRANGEPLAIN"); - src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?)?)?"; - tok("XRANGEPLAINLOOSE"); - src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?)?)?"; - tok("XRANGE"); - src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$"; - tok("XRANGELOOSE"); - src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$"; - tok("COERCE"); - src[t.COERCE] = "(^|[^\\d])(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:$|[^\\d])"; - tok("COERCERTL"); - re[t.COERCERTL] = new RegExp(src[t.COERCE], "g"); - tok("LONETILDE"); - src[t.LONETILDE] = "(?:~>?)"; - tok("TILDETRIM"); - src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+"; - re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g"); - var tildeTrimReplace = "$1~"; - tok("TILDE"); - src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$"; - tok("TILDELOOSE"); - src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$"; - tok("LONECARET"); - src[t.LONECARET] = "(?:\\^)"; - tok("CARETTRIM"); - src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+"; - re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g"); - var caretTrimReplace = "$1^"; - tok("CARET"); - src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$"; - tok("CARETLOOSE"); - src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$"; - tok("COMPARATORLOOSE"); - src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$"; - tok("COMPARATOR"); - src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$"; - tok("COMPARATORTRIM"); - src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")"; - re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g"); - var comparatorTrimReplace = "$1$2$3"; - tok("HYPHENRANGE"); - src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")\\s+-\\s+(" + src[t.XRANGEPLAIN] + ")\\s*$"; - tok("HYPHENRANGELOOSE"); - src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[t.XRANGEPLAINLOOSE] + ")\\s*$"; - tok("STAR"); - src[t.STAR] = "(<|>)?=?\\s*\\*"; - for (i = 0; i < R; i++) { - debug(i, src[i]); - if (!re[i]) { - re[i] = new RegExp(src[i]); - } - } - var i; - exports2.parse = parse; - function parse(version, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (version instanceof SemVer) { - return version; - } - if (typeof version !== "string") { - return null; - } - if (version.length > MAX_LENGTH) { - return null; - } - var r = options.loose ? re[t.LOOSE] : re[t.FULL]; - if (!r.test(version)) { - return null; - } - try { - return new SemVer(version, options); - } catch (er) { - return null; - } - } - exports2.valid = valid; - function valid(version, options) { - var v = parse(version, options); - return v ? v.version : null; - } - exports2.clean = clean; - function clean(version, options) { - var s = parse(version.trim().replace(/^[=v]+/, ""), options); - return s ? s.version : null; - } - exports2.SemVer = SemVer; - function SemVer(version, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (version instanceof SemVer) { - if (version.loose === options.loose) { - return version; - } else { - version = version.version; - } - } else if (typeof version !== "string") { - throw new TypeError("Invalid Version: " + version); - } - if (version.length > MAX_LENGTH) { - throw new TypeError("version is longer than " + MAX_LENGTH + " characters"); - } - if (!(this instanceof SemVer)) { - return new SemVer(version, options); - } - debug("SemVer", version, options); - this.options = options; - this.loose = !!options.loose; - var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); - if (!m) { - throw new TypeError("Invalid Version: " + version); - } - this.raw = version; - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError("Invalid major version"); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError("Invalid minor version"); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError("Invalid patch version"); - } - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split(".").map(function(id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id; - }); - } - this.build = m[5] ? m[5].split(".") : []; - this.format(); - } - SemVer.prototype.format = function() { - this.version = this.major + "." + this.minor + "." + this.patch; - if (this.prerelease.length) { - this.version += "-" + this.prerelease.join("."); - } - return this.version; - }; - SemVer.prototype.toString = function() { - return this.version; - }; - SemVer.prototype.compare = function(other) { - debug("SemVer.compare", this.version, this.options, other); - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return this.compareMain(other) || this.comparePre(other); - }; - SemVer.prototype.compareMain = function(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); - }; - SemVer.prototype.comparePre = function(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - var i2 = 0; - do { - var a = this.prerelease[i2]; - var b = other.prerelease[i2]; - debug("prerelease compare", i2, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i2); - }; - SemVer.prototype.compareBuild = function(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - var i2 = 0; - do { - var a = this.build[i2]; - var b = other.build[i2]; - debug("prerelease compare", i2, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i2); - }; - SemVer.prototype.inc = function(release, identifier) { - switch (release) { - case "premajor": - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc("pre", identifier); - break; - case "preminor": - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc("pre", identifier); - break; - case "prepatch": - this.prerelease.length = 0; - this.inc("patch", identifier); - this.inc("pre", identifier); - break; - case "prerelease": - if (this.prerelease.length === 0) { - this.inc("patch", identifier); - } - this.inc("pre", identifier); - break; - case "major": - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case "minor": - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case "patch": - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - case "pre": - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - var i2 = this.prerelease.length; - while (--i2 >= 0) { - if (typeof this.prerelease[i2] === "number") { - this.prerelease[i2]++; - i2 = -2; - } - } - if (i2 === -1) { - this.prerelease.push(0); - } - } - if (identifier) { - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - break; - default: - throw new Error("invalid increment argument: " + release); - } - this.format(); - this.raw = this.version; - return this; - }; - exports2.inc = inc; - function inc(version, release, loose, identifier) { - if (typeof loose === "string") { - identifier = loose; - loose = void 0; - } - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } - } - exports2.diff = diff; - function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - var prefix = ""; - if (v1.prerelease.length || v2.prerelease.length) { - prefix = "pre"; - var defaultResult = "prerelease"; - } - for (var key in v1) { - if (key === "major" || key === "minor" || key === "patch") { - if (v1[key] !== v2[key]) { - return prefix + key; - } - } - } - return defaultResult; - } - } - exports2.compareIdentifiers = compareIdentifiers; - var numeric = /^[0-9]+$/; - function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - if (anum && bnum) { - a = +a; - b = +b; - } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; - } - exports2.rcompareIdentifiers = rcompareIdentifiers; - function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); - } - exports2.major = major; - function major(a, loose) { - return new SemVer(a, loose).major; - } - exports2.minor = minor; - function minor(a, loose) { - return new SemVer(a, loose).minor; - } - exports2.patch = patch; - function patch(a, loose) { - return new SemVer(a, loose).patch; - } - exports2.compare = compare; - function compare(a, b, loose) { - return new SemVer(a, loose).compare(new SemVer(b, loose)); - } - exports2.compareLoose = compareLoose; - function compareLoose(a, b) { - return compare(a, b, true); - } - exports2.compareBuild = compareBuild; - function compareBuild(a, b, loose) { - var versionA = new SemVer(a, loose); - var versionB = new SemVer(b, loose); - return versionA.compare(versionB) || versionA.compareBuild(versionB); - } - exports2.rcompare = rcompare; - function rcompare(a, b, loose) { - return compare(b, a, loose); - } - exports2.sort = sort; - function sort(list, loose) { - return list.sort(function(a, b) { - return exports2.compareBuild(a, b, loose); - }); - } - exports2.rsort = rsort; - function rsort(list, loose) { - return list.sort(function(a, b) { - return exports2.compareBuild(b, a, loose); - }); - } - exports2.gt = gt; - function gt(a, b, loose) { - return compare(a, b, loose) > 0; - } - exports2.lt = lt; - function lt(a, b, loose) { - return compare(a, b, loose) < 0; - } - exports2.eq = eq; - function eq(a, b, loose) { - return compare(a, b, loose) === 0; - } - exports2.neq = neq; - function neq(a, b, loose) { - return compare(a, b, loose) !== 0; - } - exports2.gte = gte; - function gte(a, b, loose) { - return compare(a, b, loose) >= 0; - } - exports2.lte = lte; - function lte(a, b, loose) { - return compare(a, b, loose) <= 0; - } - exports2.cmp = cmp; - function cmp(a, op, b, loose) { - switch (op) { - case "===": - if (typeof a === "object") - a = a.version; - if (typeof b === "object") - b = b.version; - return a === b; - case "!==": - if (typeof a === "object") - a = a.version; - if (typeof b === "object") - b = b.version; - return a !== b; - case "": - case "=": - case "==": - return eq(a, b, loose); - case "!=": - return neq(a, b, loose); - case ">": - return gt(a, b, loose); - case ">=": - return gte(a, b, loose); - case "<": - return lt(a, b, loose); - case "<=": - return lte(a, b, loose); - default: - throw new TypeError("Invalid operator: " + op); - } - } - exports2.Comparator = Comparator; - function Comparator(comp, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - if (!(this instanceof Comparator)) { - return new Comparator(comp, options); - } - debug("comparator", comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - if (this.semver === ANY) { - this.value = ""; - } else { - this.value = this.operator + this.semver.version; - } - debug("comp", this); - } - var ANY = {}; - Comparator.prototype.parse = function(comp) { - var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - var m = comp.match(r); - if (!m) { - throw new TypeError("Invalid comparator: " + comp); - } - this.operator = m[1] !== void 0 ? m[1] : ""; - if (this.operator === "=") { - this.operator = ""; - } - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - }; - Comparator.prototype.toString = function() { - return this.value; - }; - Comparator.prototype.test = function(version) { - debug("Comparator.test", version, this.options.loose); - if (this.semver === ANY || version === ANY) { - return true; - } - if (typeof version === "string") { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - return cmp(version, this.operator, this.semver, this.options); - }; - Comparator.prototype.intersects = function(comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError("a Comparator is required"); - } - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - var rangeTmp; - if (this.operator === "") { - if (this.value === "") { - return true; - } - rangeTmp = new Range(comp.value, options); - return satisfies(this.value, rangeTmp, options); - } else if (comp.operator === "") { - if (comp.value === "") { - return true; - } - rangeTmp = new Range(this.value, options); - return satisfies(comp.semver, rangeTmp, options); - } - var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">"); - var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<"); - var sameSemVer = this.semver.version === comp.semver.version; - var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<="); - var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"); - var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"); - return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; - }; - exports2.Range = Range; - function Range(range, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (range instanceof Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new Range(range.raw, options); - } - } - if (range instanceof Comparator) { - return new Range(range.value, options); - } - if (!(this instanceof Range)) { - return new Range(range, options); - } - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function(range2) { - return this.parseRange(range2.trim()); - }, this).filter(function(c) { - return c.length; - }); - if (!this.set.length) { - throw new TypeError("Invalid SemVer Range: " + range); - } - this.format(); - } - Range.prototype.format = function() { - this.range = this.set.map(function(comps) { - return comps.join(" ").trim(); - }).join("||").trim(); - return this.range; - }; - Range.prototype.toString = function() { - return this.range; - }; - Range.prototype.parseRange = function(range) { - var loose = this.options.loose; - range = range.trim(); - var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug("hyphen replace", range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug("comparator trim", range, re[t.COMPARATORTRIM]); - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); - range = range.replace(re[t.CARETTRIM], caretTrimReplace); - range = range.split(/\s+/).join(" "); - var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - var set = range.split(" ").map(function(comp) { - return parseComparator(comp, this.options); - }, this).join(" ").split(/\s+/); - if (this.options.loose) { - set = set.filter(function(comp) { - return !!comp.match(compRe); - }); - } - set = set.map(function(comp) { - return new Comparator(comp, this.options); - }, this); - return set; - }; - Range.prototype.intersects = function(range, options) { - if (!(range instanceof Range)) { - throw new TypeError("a Range is required"); - } - return this.set.some(function(thisComparators) { - return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) { - return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) { - return rangeComparators.every(function(rangeComparator) { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - }; - function isSatisfiable(comparators, options) { - var result = true; - var remainingComparators = comparators.slice(); - var testComparator = remainingComparators.pop(); - while (result && remainingComparators.length) { - result = remainingComparators.every(function(otherComparator) { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); - } - return result; - } - exports2.toComparators = toComparators; - function toComparators(range, options) { - return new Range(range, options).set.map(function(comp) { - return comp.map(function(c) { - return c.value; - }).join(" ").trim().split(" "); - }); - } - function parseComparator(comp, options) { - debug("comp", comp, options); - comp = replaceCarets(comp, options); - debug("caret", comp); - comp = replaceTildes(comp, options); - debug("tildes", comp); - comp = replaceXRanges(comp, options); - debug("xrange", comp); - comp = replaceStars(comp, options); - debug("stars", comp); - return comp; - } - function isX(id) { - return !id || id.toLowerCase() === "x" || id === "*"; - } - function replaceTildes(comp, options) { - return comp.trim().split(/\s+/).map(function(comp2) { - return replaceTilde(comp2, options); - }).join(" "); - } - function replaceTilde(comp, options) { - var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, function(_, M, m, p, pr) { - debug("tilde", comp, _, M, m, p, pr); - var ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0"; - } else if (isX(p)) { - ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0"; - } else if (pr) { - debug("replaceTilde pr", pr); - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0"; - } else { - ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0"; - } - debug("tilde return", ret); - return ret; - }); - } - function replaceCarets(comp, options) { - return comp.trim().split(/\s+/).map(function(comp2) { - return replaceCaret(comp2, options); - }).join(" "); - } - function replaceCaret(comp, options) { - debug("caret", comp, options); - var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - return comp.replace(r, function(_, M, m, p, pr) { - debug("caret", comp, _, M, m, p, pr); - var ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0"; - } else if (isX(p)) { - if (M === "0") { - ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0"; - } else { - ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0"; - } - } else if (pr) { - debug("replaceCaret pr", pr); - if (M === "0") { - if (m === "0") { - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1); - } else { - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0"; - } - } else { - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0"; - } - } else { - debug("no pr"); - if (M === "0") { - if (m === "0") { - ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1); - } else { - ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0"; - } - } else { - ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0"; - } - } - debug("caret return", ret); - return ret; - }); - } - function replaceXRanges(comp, options) { - debug("replaceXRanges", comp, options); - return comp.split(/\s+/).map(function(comp2) { - return replaceXRange(comp2, options); - }).join(" "); - } - function replaceXRange(comp, options) { - comp = comp.trim(); - var r = options.loose ? re[t.XRANGELOOSE] : re[t.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); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - if (gtlt === "=" && anyX) { - gtlt = ""; - } - pr = options.includePrerelease ? "-0" : ""; - if (xM) { - if (gtlt === ">" || gtlt === "<") { - ret = "<0.0.0-0"; - } else { - ret = "*"; - } - } else if (gtlt && anyX) { - if (xm) { - m = 0; - } - p = 0; - if (gtlt === ">") { - gtlt = ">="; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === "<=") { - gtlt = "<"; - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - ret = gtlt + M + "." + m + "." + p + pr; - } else if (xm) { - ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr; - } else if (xp) { - ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr; - } - debug("xRange return", ret); - return ret; - }); - } - function replaceStars(comp, options) { - debug("replaceStars", comp, options); - return comp.trim().replace(re[t.STAR], ""); - } - function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) { - if (isX(fM)) { - from = ""; - } else if (isX(fm)) { - from = ">=" + fM + ".0.0"; - } else if (isX(fp)) { - from = ">=" + fM + "." + fm + ".0"; - } else { - from = ">=" + from; - } - if (isX(tM)) { - to = ""; - } else if (isX(tm)) { - to = "<" + (+tM + 1) + ".0.0"; - } else if (isX(tp)) { - to = "<" + tM + "." + (+tm + 1) + ".0"; - } else if (tpr) { - to = "<=" + tM + "." + tm + "." + tp + "-" + tpr; - } else { - to = "<=" + to; - } - return (from + " " + to).trim(); - } - Range.prototype.test = function(version) { - if (!version) { - return false; - } - if (typeof version === "string") { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - for (var i2 = 0; i2 < this.set.length; i2++) { - if (testSet(this.set[i2], version, this.options)) { - return true; - } - } - return false; - }; - function testSet(set, version, options) { - for (var i2 = 0; i2 < set.length; i2++) { - if (!set[i2].test(version)) { - return false; - } - } - if (version.prerelease.length && !options.includePrerelease) { - for (i2 = 0; i2 < set.length; i2++) { - debug(set[i2].semver); - if (set[i2].semver === ANY) { - continue; - } - if (set[i2].semver.prerelease.length > 0) { - var allowed = set[i2].semver; - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } - return false; - } - return true; - } - exports2.satisfies = satisfies; - function satisfies(version, range, options) { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - return range.test(version); - } - exports2.maxSatisfying = maxSatisfying; - function maxSatisfying(versions, range, options) { - var max = null; - var maxSV = null; - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach(function(v) { - if (rangeObj.test(v)) { - if (!max || maxSV.compare(v) === -1) { - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; - } - exports2.minSatisfying = minSatisfying; - function minSatisfying(versions, range, options) { - var min = null; - var minSV = null; - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach(function(v) { - if (rangeObj.test(v)) { - if (!min || minSV.compare(v) === 1) { - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; - } - exports2.minVersion = minVersion; - function minVersion(range, loose) { - range = new Range(range, loose); - var minver = new SemVer("0.0.0"); - if (range.test(minver)) { - return minver; - } - minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { - return minver; - } - minver = null; - for (var i2 = 0; i2 < range.set.length; ++i2) { - var comparators = range.set[i2]; - comparators.forEach(function(comparator) { - var compver = new SemVer(comparator.semver.version); - switch (comparator.operator) { - case ">": - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - compver.raw = compver.format(); - case "": - case ">=": - if (!minver || gt(minver, compver)) { - minver = compver; - } - break; - case "<": - case "<=": - break; - default: - throw new Error("Unexpected operation: " + comparator.operator); - } - }); - } - if (minver && range.test(minver)) { - return minver; - } - return null; - } - exports2.validRange = validRange; - function validRange(range, options) { - try { - return new Range(range, options).range || "*"; - } catch (er) { - return null; - } - } - exports2.ltr = ltr; - function ltr(version, range, options) { - return outside(version, range, "<", options); - } - exports2.gtr = gtr; - function gtr(version, range, options) { - return outside(version, range, ">", options); - } - exports2.outside = outside; - function outside(version, range, hilo, options) { - version = new SemVer(version, options); - range = new Range(range, options); - var gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case ">": - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = ">"; - ecomp = ">="; - break; - case "<": - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = "<"; - ecomp = "<="; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - if (satisfies(version, range, options)) { - return false; - } - for (var i2 = 0; i2 < range.set.length; ++i2) { - var comparators = range.set[i2]; - var high = null; - var low = null; - comparators.forEach(function(comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator(">=0.0.0"); - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); - if (high.operator === comp || high.operator === ecomp) { - return false; - } - if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; - } - exports2.prerelease = prerelease; - function prerelease(version, options) { - var parsed = parse(version, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; - } - exports2.intersects = intersects; - function intersects(r1, r2, options) { - r1 = new Range(r1, options); - r2 = new Range(r2, options); - return r1.intersects(r2); - } - exports2.coerce = coerce; - function coerce(version, options) { - if (version instanceof SemVer) { - return version; - } - if (typeof version === "number") { - version = String(version); - } - if (typeof version !== "string") { - return null; - } - options = options || {}; - var match = null; - if (!options.rtl) { - match = version.match(re[t.COERCE]); - } else { - var next; - while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; - } - re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; - } - re[t.COERCERTL].lastIndex = -1; - } - if (match === null) { - return null; - } - return parse(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options); - } - } -}); -var require_make_dir = __commonJS2({ - "node_modules/make-dir/index.js"(exports2, module2) { - "use strict"; - var fs = require("fs"); - var path = require("path"); - var { - promisify - } = require("util"); - var semver = require_semver(); - var useNativeRecursiveOption = semver.satisfies(process.version, ">=10.12.0"); - var checkPath = (pth) => { - if (process.platform === "win32") { - const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path.parse(pth).root, "")); - if (pathHasInvalidWinCharacters) { - const error = new Error(`Path contains invalid characters: ${pth}`); - error.code = "EINVAL"; - throw error; - } - } - }; - var processOptions = (options) => { - const defaults = { - mode: 511, - fs - }; - return Object.assign(Object.assign({}, defaults), options); - }; - var permissionError = (pth) => { - const error = new Error(`operation not permitted, mkdir '${pth}'`); - error.code = "EPERM"; - error.errno = -4048; - error.path = pth; - error.syscall = "mkdir"; - return error; - }; - var makeDir = async (input, options) => { - checkPath(input); - options = processOptions(options); - const mkdir = promisify(options.fs.mkdir); - const stat = promisify(options.fs.stat); - if (useNativeRecursiveOption && options.fs.mkdir === fs.mkdir) { - const pth = path.resolve(input); - await mkdir(pth, { - mode: options.mode, - recursive: true - }); - return pth; - } - const make = async (pth) => { - try { - await mkdir(pth, options.mode); - return pth; - } catch (error) { - if (error.code === "EPERM") { - throw error; - } - if (error.code === "ENOENT") { - if (path.dirname(pth) === pth) { - throw permissionError(pth); - } - if (error.message.includes("null bytes")) { - throw error; - } - await make(path.dirname(pth)); - return make(pth); - } - try { - const stats = await stat(pth); - if (!stats.isDirectory()) { - throw new Error("The path is not a directory"); - } - } catch (_) { - throw error; - } - return pth; - } - }; - return make(path.resolve(input)); - }; - module2.exports = makeDir; - module2.exports.sync = (input, options) => { - checkPath(input); - options = processOptions(options); - if (useNativeRecursiveOption && options.fs.mkdirSync === fs.mkdirSync) { - const pth = path.resolve(input); - fs.mkdirSync(pth, { - mode: options.mode, - recursive: true - }); - return pth; - } - const make = (pth) => { - try { - options.fs.mkdirSync(pth, options.mode); - } catch (error) { - if (error.code === "EPERM") { - throw error; - } - if (error.code === "ENOENT") { - if (path.dirname(pth) === pth) { - throw permissionError(pth); - } - if (error.message.includes("null bytes")) { - throw error; - } - make(path.dirname(pth)); - return make(pth); - } - try { - if (!options.fs.statSync(pth).isDirectory()) { - throw new Error("The path is not a directory"); - } - } catch (_) { - throw error; - } - } - return pth; - }; - return make(path.resolve(input)); - }; - } -}); -var require_find_cache_dir = __commonJS2({ - "node_modules/find-cache-dir/index.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var fs = require("fs"); - var commonDir = require_commondir(); - var pkgDir = require_pkg_dir(); - var makeDir = require_make_dir(); - var { - env: env2, - cwd - } = process; - var isWritable = (path2) => { - try { - fs.accessSync(path2, fs.constants.W_OK); - return true; - } catch (_) { - return false; - } - }; - function useDirectory(directory, options) { - if (options.create) { - makeDir.sync(directory); - } - if (options.thunk) { - return (...arguments_) => path.join(directory, ...arguments_); - } - return directory; - } - function getNodeModuleDirectory(directory) { - const nodeModules = path.join(directory, "node_modules"); - if (!isWritable(nodeModules) && (fs.existsSync(nodeModules) || !isWritable(path.join(directory)))) { - return; - } - return nodeModules; - } - module2.exports = (options = {}) => { - if (env2.CACHE_DIR && !["true", "false", "1", "0"].includes(env2.CACHE_DIR)) { - return useDirectory(path.join(env2.CACHE_DIR, options.name), options); - } - let { - cwd: directory = cwd() - } = options; - if (options.files) { - directory = commonDir(directory, options.files); - } - directory = pkgDir.sync(directory); - if (!directory) { - return; - } - const nodeModules = getNodeModuleDirectory(directory); - if (!nodeModules) { - return void 0; - } - return useDirectory(path.join(directory, "node_modules", ".cache", options.name), options); - }; - } -}); -var require_find_cache_file = __commonJS2({ - "src/cli/find-cache-file.js"(exports2, module2) { - "use strict"; - var fs = require("fs").promises; - var os2 = require("os"); - var path = require("path"); - var findCacheDir = require_find_cache_dir(); - var { - statSafe, - isJson - } = require_utils(); - function findDefaultCacheFile() { - const cacheDir = findCacheDir({ - name: "prettier", - create: true - }) || os2.tmpdir(); - const cacheFilePath = path.join(cacheDir, ".prettier-cache"); - return cacheFilePath; - } - async function findCacheFileFromOption(cacheLocation) { - const cacheFile = path.resolve(cacheLocation); - const stat = await statSafe(cacheFile); - if (stat) { - if (stat.isDirectory()) { - throw new Error(`Resolved --cache-location '${cacheFile}' is a directory`); - } - const data = await fs.readFile(cacheFile, "utf8"); - if (!isJson(data)) { - throw new Error(`'${cacheFile}' isn't a valid JSON file`); - } - } - return cacheFile; - } - async function findCacheFile(cacheLocation) { - if (!cacheLocation) { - return findDefaultCacheFile(); - } - const cacheFile = await findCacheFileFromOption(cacheLocation); - return cacheFile; - } - module2.exports = findCacheFile; - } -}); -var require_cjs = __commonJS2({ - "node_modules/flatted/cjs/index.js"(exports2) { - "use strict"; - var { - parse: $parse, - stringify: $stringify - } = JSON; - var { - keys - } = Object; - var Primitive = String; - var primitive = "string"; - var ignore = {}; - var object = "object"; - var noop = (_, value) => value; - var primitives = (value) => value instanceof Primitive ? Primitive(value) : value; - var Primitives = (_, value) => typeof value === primitive ? new Primitive(value) : value; - var revive = (input, parsed, output, $) => { - const lazy = []; - for (let ke = keys(output), { - length - } = ke, y = 0; y < length; y++) { - const k = ke[y]; - const value = output[k]; - if (value instanceof Primitive) { - const tmp = input[value]; - if (typeof tmp === object && !parsed.has(tmp)) { - parsed.add(tmp); - output[k] = ignore; - lazy.push({ - k, - a: [input, parsed, tmp, $] - }); - } else - output[k] = $.call(output, k, tmp); - } else if (output[k] !== ignore) - output[k] = $.call(output, k, value); - } - for (let { - length - } = lazy, i = 0; i < length; i++) { - const { - k, - a - } = lazy[i]; - output[k] = $.call(output, k, revive.apply(null, a)); - } - return output; - }; - var set = (known, input, value) => { - const index = Primitive(input.push(value) - 1); - known.set(value, index); - return index; - }; - var parse = (text, reviver) => { - const input = $parse(text, Primitives).map(primitives); - const value = input[0]; - const $ = reviver || noop; - const tmp = typeof value === object && value ? revive(input, /* @__PURE__ */ new Set(), value, $) : value; - return $.call({ - "": tmp - }, "", tmp); - }; - exports2.parse = parse; - var stringify2 = (value, replacer, space) => { - const $ = replacer && typeof replacer === object ? (k, v) => k === "" || -1 < replacer.indexOf(k) ? v : void 0 : replacer || noop; - const known = /* @__PURE__ */ new Map(); - const input = []; - const output = []; - let i = +set(known, input, $.call({ - "": value - }, "", value)); - let firstRun = !i; - while (i < input.length) { - firstRun = true; - output[i] = $stringify(input[i++], replace, space); - } - return "[" + output.join(",") + "]"; - function replace(key, value2) { - if (firstRun) { - firstRun = !firstRun; - return value2; - } - const after = $.call(this, key, value2); - switch (typeof after) { - case object: - if (after === null) - return after; - case primitive: - return known.get(after) || set(known, input, after); - } - return after; - } - }; - exports2.stringify = stringify2; - var toJSON = (any) => $parse(stringify2(any)); - exports2.toJSON = toJSON; - var fromJSON = (any) => parse($stringify(any)); - exports2.fromJSON = fromJSON; - } -}); -var require_utils6 = __commonJS2({ - "node_modules/flat-cache/src/utils.js"(exports2, module2) { - var fs = require("fs"); - var path = require("path"); - var flatted = require_cjs(); - module2.exports = { - tryParse: function(filePath, defaultValue) { - var result; - try { - result = this.readJSON(filePath); - } catch (ex) { - result = defaultValue; - } - return result; - }, - readJSON: function(filePath) { - return flatted.parse(fs.readFileSync(filePath, { - encoding: "utf8" - })); - }, - writeJSON: function(filePath, data) { - fs.mkdirSync(path.dirname(filePath), { - recursive: true - }); - fs.writeFileSync(filePath, flatted.stringify(data)); - } - }; - } -}); -var require_old = __commonJS2({ - "node_modules/fs.realpath/old.js"(exports2) { - var pathModule = require("path"); - var isWindows = process.platform === "win32"; - var fs = require("fs"); - var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); - function rethrow() { - var callback; - if (DEBUG) { - var backtrace = new Error(); - callback = debugCallback; - } else - callback = missingCallback; - return callback; - function debugCallback(err) { - if (err) { - backtrace.message = err.message; - err = backtrace; - missingCallback(err); - } - } - function missingCallback(err) { - if (err) { - if (process.throwDeprecation) - throw err; - else if (!process.noDeprecation) { - var msg = "fs: missing callback " + (err.stack || err.message); - if (process.traceDeprecation) - console.trace(msg); - else - console.error(msg); - } - } - } - } - function maybeCallback(cb) { - return typeof cb === "function" ? cb : rethrow(); - } - var normalize = pathModule.normalize; - if (isWindows) { - nextPartRe = /(.*?)(?:[\/\\]+|$)/g; - } else { - nextPartRe = /(.*?)(?:[\/]+|$)/g; - } - var nextPartRe; - if (isWindows) { - splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; - } else { - splitRootRe = /^[\/]*/; - } - var splitRootRe; - exports2.realpathSync = function realpathSync(p, cache) { - p = pathModule.resolve(p); - if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { - return cache[p]; - } - var original = p, seenLinks = {}, knownHard = {}; - var pos; - var current; - var base; - var previous; - start(); - function start() { - var m = splitRootRe.exec(p); - pos = m[0].length; - current = m[0]; - base = m[0]; - previous = ""; - if (isWindows && !knownHard[base]) { - fs.lstatSync(base); - knownHard[base] = true; - } - } - while (pos < p.length) { - nextPartRe.lastIndex = pos; - var result = nextPartRe.exec(p); - previous = current; - current += result[0]; - base = previous + result[1]; - pos = nextPartRe.lastIndex; - if (knownHard[base] || cache && cache[base] === base) { - continue; - } - var resolvedLink; - if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { - resolvedLink = cache[base]; - } else { - var stat = fs.lstatSync(base); - if (!stat.isSymbolicLink()) { - knownHard[base] = true; - if (cache) - cache[base] = base; - continue; - } - var linkTarget = null; - if (!isWindows) { - var id = stat.dev.toString(32) + ":" + stat.ino.toString(32); - if (seenLinks.hasOwnProperty(id)) { - linkTarget = seenLinks[id]; - } - } - if (linkTarget === null) { - fs.statSync(base); - linkTarget = fs.readlinkSync(base); - } - resolvedLink = pathModule.resolve(previous, linkTarget); - if (cache) - cache[base] = resolvedLink; - if (!isWindows) - seenLinks[id] = linkTarget; - } - p = pathModule.resolve(resolvedLink, p.slice(pos)); - start(); - } - if (cache) - cache[original] = p; - return p; - }; - exports2.realpath = function realpath(p, cache, cb) { - if (typeof cb !== "function") { - cb = maybeCallback(cache); - cache = null; - } - p = pathModule.resolve(p); - if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { - return process.nextTick(cb.bind(null, null, cache[p])); - } - var original = p, seenLinks = {}, knownHard = {}; - var pos; - var current; - var base; - var previous; - start(); - function start() { - var m = splitRootRe.exec(p); - pos = m[0].length; - current = m[0]; - base = m[0]; - previous = ""; - if (isWindows && !knownHard[base]) { - fs.lstat(base, function(err) { - if (err) - return cb(err); - knownHard[base] = true; - LOOP(); - }); - } else { - process.nextTick(LOOP); - } - } - function LOOP() { - if (pos >= p.length) { - if (cache) - cache[original] = p; - return cb(null, p); - } - nextPartRe.lastIndex = pos; - var result = nextPartRe.exec(p); - previous = current; - current += result[0]; - base = previous + result[1]; - pos = nextPartRe.lastIndex; - if (knownHard[base] || cache && cache[base] === base) { - return process.nextTick(LOOP); - } - if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { - return gotResolvedLink(cache[base]); - } - return fs.lstat(base, gotStat); - } - function gotStat(err, stat) { - if (err) - return cb(err); - if (!stat.isSymbolicLink()) { - knownHard[base] = true; - if (cache) - cache[base] = base; - return process.nextTick(LOOP); - } - if (!isWindows) { - var id = stat.dev.toString(32) + ":" + stat.ino.toString(32); - if (seenLinks.hasOwnProperty(id)) { - return gotTarget(null, seenLinks[id], base); - } - } - fs.stat(base, function(err2) { - if (err2) - return cb(err2); - fs.readlink(base, function(err3, target) { - if (!isWindows) - seenLinks[id] = target; - gotTarget(err3, target); - }); - }); - } - function gotTarget(err, target, base2) { - if (err) - return cb(err); - var resolvedLink = pathModule.resolve(previous, target); - if (cache) - cache[base2] = resolvedLink; - gotResolvedLink(resolvedLink); - } - function gotResolvedLink(resolvedLink) { - p = pathModule.resolve(resolvedLink, p.slice(pos)); - start(); - } - }; - } -}); -var require_fs5 = __commonJS2({ - "node_modules/fs.realpath/index.js"(exports2, module2) { - module2.exports = realpath; - realpath.realpath = realpath; - realpath.sync = realpathSync; - realpath.realpathSync = realpathSync; - realpath.monkeypatch = monkeypatch; - realpath.unmonkeypatch = unmonkeypatch; - var fs = require("fs"); - var origRealpath = fs.realpath; - var origRealpathSync = fs.realpathSync; - var version = process.version; - var ok = /^v[0-5]\./.test(version); - var old = require_old(); - function newError(er) { - return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG"); - } - function realpath(p, cache, cb) { - if (ok) { - return origRealpath(p, cache, cb); - } - if (typeof cache === "function") { - cb = cache; - cache = null; - } - origRealpath(p, cache, function(er, result) { - if (newError(er)) { - old.realpath(p, cache, cb); - } else { - cb(er, result); - } - }); - } - function realpathSync(p, cache) { - if (ok) { - return origRealpathSync(p, cache); - } - try { - return origRealpathSync(p, cache); - } catch (er) { - if (newError(er)) { - return old.realpathSync(p, cache); - } else { - throw er; - } - } - } - function monkeypatch() { - fs.realpath = realpath; - fs.realpathSync = realpathSync; - } - function unmonkeypatch() { - fs.realpath = origRealpath; - fs.realpathSync = origRealpathSync; - } - } -}); -var require_concat_map = __commonJS2({ - "node_modules/concat-map/index.js"(exports2, module2) { - module2.exports = function(xs, fn) { - var res = []; - for (var i = 0; i < xs.length; i++) { - var x = fn(xs[i], i); - if (isArray(x)) - res.push.apply(res, x); - else - res.push(x); - } - return res; - }; - var isArray = Array.isArray || function(xs) { - return Object.prototype.toString.call(xs) === "[object Array]"; - }; - } -}); -var require_balanced_match = __commonJS2({ - "node_modules/balanced-match/index.js"(exports2, module2) { - "use strict"; - module2.exports = balanced; - function balanced(a, b, str) { - if (a instanceof RegExp) - a = maybeMatch(a, str); - if (b instanceof RegExp) - b = maybeMatch(b, str); - var r = range(a, b, str); - return r && { - start: r[0], - end: r[1], - pre: str.slice(0, r[0]), - body: str.slice(r[0] + a.length, r[1]), - post: str.slice(r[1] + b.length) - }; - } - function maybeMatch(reg, str) { - var m = str.match(reg); - return m ? m[0] : null; - } - balanced.range = range; - function range(a, b, str) { - var begs, beg, left, right, result; - var ai = str.indexOf(a); - var bi = str.indexOf(b, ai + 1); - var i = ai; - if (ai >= 0 && bi > 0) { - if (a === b) { - return [ai, bi]; - } - begs = []; - left = str.length; - while (i >= 0 && !result) { - if (i == ai) { - begs.push(i); - ai = str.indexOf(a, i + 1); - } else if (begs.length == 1) { - result = [begs.pop(), bi]; - } else { - beg = begs.pop(); - if (beg < left) { - left = beg; - right = bi; - } - bi = str.indexOf(b, i + 1); - } - i = ai < bi && ai >= 0 ? ai : bi; - } - if (begs.length) { - result = [left, right]; - } - } - return result; - } - } -}); -var require_brace_expansion = __commonJS2({ - "node_modules/brace-expansion/index.js"(exports2, module2) { - var concatMap = require_concat_map(); - var balanced = require_balanced_match(); - module2.exports = expandTop; - var escSlash = "\0SLASH" + Math.random() + "\0"; - var escOpen = "\0OPEN" + Math.random() + "\0"; - var escClose = "\0CLOSE" + Math.random() + "\0"; - var escComma = "\0COMMA" + Math.random() + "\0"; - var escPeriod = "\0PERIOD" + Math.random() + "\0"; - function numeric(str) { - return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0); - } - function escapeBraces(str) { - return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod); - } - function unescapeBraces(str) { - return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join("."); - } - function parseCommaParts(str) { - if (!str) - return [""]; - var parts = []; - var m = balanced("{", "}", str); - if (!m) - return str.split(","); - var pre = m.pre; - var body = m.body; - var post = m.post; - var p = pre.split(","); - p[p.length - 1] += "{" + body + "}"; - var postParts = parseCommaParts(post); - if (post.length) { - p[p.length - 1] += postParts.shift(); - p.push.apply(p, postParts); - } - parts.push.apply(parts, p); - return parts; - } - function expandTop(str) { - if (!str) - return []; - if (str.substr(0, 2) === "{}") { - str = "\\{\\}" + str.substr(2); - } - return expand(escapeBraces(str), true).map(unescapeBraces); - } - function embrace(str) { - return "{" + str + "}"; - } - function isPadded(el) { - return /^-?0\d/.test(el); - } - function lte(i, y) { - return i <= y; - } - function gte(i, y) { - return i >= y; - } - function expand(str, isTop) { - var expansions = []; - var m = balanced("{", "}", str); - if (!m || /\$$/.test(m.pre)) - return [str]; - var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); - var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); - var isSequence = isNumericSequence || isAlphaSequence; - var isOptions = m.body.indexOf(",") >= 0; - if (!isSequence && !isOptions) { - if (m.post.match(/,.*\}/)) { - str = m.pre + "{" + m.body + escClose + m.post; - return expand(str); - } - return [str]; - } - var n; - if (isSequence) { - n = m.body.split(/\.\./); - } else { - n = parseCommaParts(m.body); - if (n.length === 1) { - n = expand(n[0], false).map(embrace); - if (n.length === 1) { - var post = m.post.length ? expand(m.post, false) : [""]; - return post.map(function(p) { - return m.pre + n[0] + p; - }); - } - } - } - var pre = m.pre; - var post = m.post.length ? expand(m.post, false) : [""]; - var N; - if (isSequence) { - var x = numeric(n[0]); - var y = numeric(n[1]); - var width = Math.max(n[0].length, n[1].length); - var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1; - var test = lte; - var reverse = y < x; - if (reverse) { - incr *= -1; - test = gte; - } - var pad = n.some(isPadded); - N = []; - for (var i = x; test(i, y); i += incr) { - var c; - if (isAlphaSequence) { - c = String.fromCharCode(i); - if (c === "\\") - c = ""; - } else { - c = String(i); - if (pad) { - var need = width - c.length; - if (need > 0) { - var z = new Array(need + 1).join("0"); - if (i < 0) - c = "-" + z + c.slice(1); - else - c = z + c; - } - } - } - N.push(c); - } - } else { - N = concatMap(n, function(el) { - return expand(el, false); - }); - } - for (var j = 0; j < N.length; j++) { - for (var k = 0; k < post.length; k++) { - var expansion = pre + N[j] + post[k]; - if (!isTop || isSequence || expansion) - expansions.push(expansion); - } - } - return expansions; - } - } -}); -var require_minimatch = __commonJS2({ - "node_modules/minimatch/minimatch.js"(exports2, module2) { - module2.exports = minimatch; - minimatch.Minimatch = Minimatch; - var path = function() { - try { - return require("path"); - } catch (e) { - } - }() || { - sep: "/" - }; - minimatch.sep = path.sep; - var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; - var expand = require_brace_expansion(); - var plTypes = { - "!": { - open: "(?:(?!(?:", - close: "))[^/]*?)" - }, - "?": { - open: "(?:", - close: ")?" - }, - "+": { - open: "(?:", - close: ")+" - }, - "*": { - open: "(?:", - close: ")*" - }, - "@": { - open: "(?:", - close: ")" - } - }; - var qmark = "[^/]"; - var star = qmark + "*?"; - var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; - var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; - var reSpecials = charSet("().*{}+?[]^$\\!"); - function charSet(s) { - return s.split("").reduce(function(set, c) { - set[c] = true; - return set; - }, {}); - } - var slashSplit = /\/+/; - minimatch.filter = filter; - function filter(pattern, options) { - options = options || {}; - return function(p, i, list) { - return minimatch(p, pattern, options); - }; - } - function ext(a, b) { - b = b || {}; - var t = {}; - Object.keys(a).forEach(function(k) { - t[k] = a[k]; - }); - Object.keys(b).forEach(function(k) { - t[k] = b[k]; - }); - return t; - } - minimatch.defaults = function(def) { - if (!def || typeof def !== "object" || !Object.keys(def).length) { - return minimatch; - } - var orig = minimatch; - var m = function minimatch2(p, pattern, options) { - return orig(p, pattern, ext(def, options)); - }; - m.Minimatch = function Minimatch2(pattern, options) { - return new orig.Minimatch(pattern, ext(def, options)); - }; - m.Minimatch.defaults = function defaults(options) { - return orig.defaults(ext(def, options)).Minimatch; - }; - m.filter = function filter2(pattern, options) { - return orig.filter(pattern, ext(def, options)); - }; - m.defaults = function defaults(options) { - return orig.defaults(ext(def, options)); - }; - m.makeRe = function makeRe2(pattern, options) { - return orig.makeRe(pattern, ext(def, options)); - }; - m.braceExpand = function braceExpand2(pattern, options) { - return orig.braceExpand(pattern, ext(def, options)); - }; - m.match = function(list, pattern, options) { - return orig.match(list, pattern, ext(def, options)); - }; - return m; - }; - Minimatch.defaults = function(def) { - return minimatch.defaults(def).Minimatch; - }; - function minimatch(p, pattern, options) { - assertValidPattern(pattern); - if (!options) - options = {}; - if (!options.nocomment && pattern.charAt(0) === "#") { - return false; - } - return new Minimatch(pattern, options).match(p); - } - function Minimatch(pattern, options) { - if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options); - } - assertValidPattern(pattern); - if (!options) - options = {}; - pattern = pattern.trim(); - if (!options.allowWindowsEscape && path.sep !== "/") { - pattern = pattern.split(path.sep).join("/"); - } - this.options = options; - this.set = []; - this.pattern = pattern; - this.regexp = null; - this.negate = false; - this.comment = false; - this.empty = false; - this.partial = !!options.partial; - this.make(); - } - Minimatch.prototype.debug = function() { - }; - Minimatch.prototype.make = make; - function make() { - var pattern = this.pattern; - var options = this.options; - if (!options.nocomment && pattern.charAt(0) === "#") { - this.comment = true; - return; - } - if (!pattern) { - this.empty = true; - return; - } - this.parseNegate(); - var set = this.globSet = this.braceExpand(); - if (options.debug) - this.debug = function debug() { - console.error.apply(console, arguments); - }; - this.debug(this.pattern, set); - set = this.globParts = set.map(function(s) { - return s.split(slashSplit); - }); - this.debug(this.pattern, set); - set = set.map(function(s, si, set2) { - return s.map(this.parse, this); - }, this); - this.debug(this.pattern, set); - set = set.filter(function(s) { - return s.indexOf(false) === -1; - }); - this.debug(this.pattern, set); - this.set = set; - } - Minimatch.prototype.parseNegate = parseNegate; - function parseNegate() { - var pattern = this.pattern; - var negate = false; - var options = this.options; - var negateOffset = 0; - if (options.nonegate) - return; - for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) { - negate = !negate; - negateOffset++; - } - if (negateOffset) - this.pattern = pattern.substr(negateOffset); - this.negate = negate; - } - minimatch.braceExpand = function(pattern, options) { - return braceExpand(pattern, options); - }; - Minimatch.prototype.braceExpand = braceExpand; - function braceExpand(pattern, options) { - if (!options) { - if (this instanceof Minimatch) { - options = this.options; - } else { - options = {}; - } - } - pattern = typeof pattern === "undefined" ? this.pattern : pattern; - assertValidPattern(pattern); - if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { - return [pattern]; - } - return expand(pattern); - } - var MAX_PATTERN_LENGTH = 1024 * 64; - var assertValidPattern = function(pattern) { - if (typeof pattern !== "string") { - throw new TypeError("invalid pattern"); - } - if (pattern.length > MAX_PATTERN_LENGTH) { - throw new TypeError("pattern is too long"); - } - }; - Minimatch.prototype.parse = parse; - var SUBPARSE = {}; - function parse(pattern, isSub) { - assertValidPattern(pattern); - var options = this.options; - if (pattern === "**") { - if (!options.noglobstar) - return GLOBSTAR; - else - pattern = "*"; - } - if (pattern === "") - return ""; - var re = ""; - var hasMagic = !!options.nocase; - var escaping = false; - var patternListStack = []; - var negativeLists = []; - var stateChar; - var inClass = false; - var reClassStart = -1; - var classStart = -1; - var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; - var self2 = this; - function clearStateChar() { - if (stateChar) { - switch (stateChar) { - case "*": - re += star; - hasMagic = true; - break; - case "?": - re += qmark; - hasMagic = true; - break; - default: - re += "\\" + stateChar; - break; - } - self2.debug("clearStateChar %j %j", stateChar, re); - stateChar = false; - } - } - for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) { - this.debug("%s %s %s %j", pattern, i, re, c); - if (escaping && reSpecials[c]) { - re += "\\" + c; - escaping = false; - continue; - } - switch (c) { - case "/": { - return false; - } - case "\\": - clearStateChar(); - escaping = true; - continue; - case "?": - case "*": - case "+": - case "@": - case "!": - this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c); - if (inClass) { - this.debug(" in class"); - if (c === "!" && i === classStart + 1) - c = "^"; - re += c; - continue; - } - self2.debug("call clearStateChar %j", stateChar); - clearStateChar(); - stateChar = c; - if (options.noext) - clearStateChar(); - continue; - case "(": - if (inClass) { - re += "("; - continue; - } - if (!stateChar) { - re += "\\("; - continue; - } - patternListStack.push({ - type: stateChar, - start: i - 1, - reStart: re.length, - open: plTypes[stateChar].open, - close: plTypes[stateChar].close - }); - re += stateChar === "!" ? "(?:(?!(?:" : "(?:"; - this.debug("plType %j %j", stateChar, re); - stateChar = false; - continue; - case ")": - if (inClass || !patternListStack.length) { - re += "\\)"; - continue; - } - clearStateChar(); - hasMagic = true; - var pl = patternListStack.pop(); - re += pl.close; - if (pl.type === "!") { - negativeLists.push(pl); - } - pl.reEnd = re.length; - continue; - case "|": - if (inClass || !patternListStack.length || escaping) { - re += "\\|"; - escaping = false; - continue; - } - clearStateChar(); - re += "|"; - continue; - case "[": - clearStateChar(); - if (inClass) { - re += "\\" + c; - continue; - } - inClass = true; - classStart = i; - reClassStart = re.length; - re += c; - continue; - case "]": - if (i === classStart + 1 || !inClass) { - re += "\\" + c; - escaping = false; - continue; - } - var cs = pattern.substring(classStart + 1, i); - try { - RegExp("[" + cs + "]"); - } catch (er) { - var sp = this.parse(cs, SUBPARSE); - re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]"; - hasMagic = hasMagic || sp[1]; - inClass = false; - continue; - } - hasMagic = true; - inClass = false; - re += c; - continue; - default: - clearStateChar(); - if (escaping) { - escaping = false; - } else if (reSpecials[c] && !(c === "^" && inClass)) { - re += "\\"; - } - re += c; - } - } - if (inClass) { - cs = pattern.substr(classStart + 1); - sp = this.parse(cs, SUBPARSE); - re = re.substr(0, reClassStart) + "\\[" + sp[0]; - hasMagic = hasMagic || sp[1]; - } - for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { - var tail = re.slice(pl.reStart + pl.open.length); - this.debug("setting tail", re, pl); - tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) { - if (!$2) { - $2 = "\\"; - } - return $1 + $1 + $2 + "|"; - }); - this.debug("tail=%j\n %s", tail, tail, pl, re); - var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; - hasMagic = true; - re = re.slice(0, pl.reStart) + t + "\\(" + tail; - } - clearStateChar(); - if (escaping) { - re += "\\\\"; - } - var addPatternStart = false; - switch (re.charAt(0)) { - case "[": - case ".": - case "(": - addPatternStart = true; - } - for (var n = negativeLists.length - 1; n > -1; n--) { - var nl = negativeLists[n]; - var nlBefore = re.slice(0, nl.reStart); - var nlFirst = re.slice(nl.reStart, nl.reEnd - 8); - var nlLast = re.slice(nl.reEnd - 8, nl.reEnd); - var nlAfter = re.slice(nl.reEnd); - nlLast += nlAfter; - var openParensBefore = nlBefore.split("(").length - 1; - var cleanAfter = nlAfter; - for (i = 0; i < openParensBefore; i++) { - cleanAfter = cleanAfter.replace(/\)[+*?]?/, ""); - } - nlAfter = cleanAfter; - var dollar = ""; - if (nlAfter === "" && isSub !== SUBPARSE) { - dollar = "$"; - } - var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast; - re = newRe; - } - if (re !== "" && hasMagic) { - re = "(?=.)" + re; - } - if (addPatternStart) { - re = patternStart + re; - } - if (isSub === SUBPARSE) { - return [re, hasMagic]; - } - if (!hasMagic) { - return globUnescape(pattern); - } - var flags = options.nocase ? "i" : ""; - try { - var regExp = new RegExp("^" + re + "$", flags); - } catch (er) { - return new RegExp("$."); - } - regExp._glob = pattern; - regExp._src = re; - return regExp; - } - minimatch.makeRe = function(pattern, options) { - return new Minimatch(pattern, options || {}).makeRe(); - }; - Minimatch.prototype.makeRe = makeRe; - function makeRe() { - if (this.regexp || this.regexp === false) - return this.regexp; - var set = this.set; - if (!set.length) { - this.regexp = false; - return this.regexp; - } - var options = this.options; - var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; - var flags = options.nocase ? "i" : ""; - var re = set.map(function(pattern) { - return pattern.map(function(p) { - return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src; - }).join("\\/"); - }).join("|"); - re = "^(?:" + re + ")$"; - if (this.negate) - re = "^(?!" + re + ").*$"; - try { - this.regexp = new RegExp(re, flags); - } catch (ex) { - this.regexp = false; - } - return this.regexp; - } - minimatch.match = function(list, pattern, options) { - options = options || {}; - var mm = new Minimatch(pattern, options); - list = list.filter(function(f) { - return mm.match(f); - }); - if (mm.options.nonull && !list.length) { - list.push(pattern); - } - return list; - }; - Minimatch.prototype.match = function match(f, partial) { - if (typeof partial === "undefined") - partial = this.partial; - this.debug("match", f, this.pattern); - if (this.comment) - return false; - if (this.empty) - return f === ""; - if (f === "/" && partial) - return true; - var options = this.options; - if (path.sep !== "/") { - f = f.split(path.sep).join("/"); - } - f = f.split(slashSplit); - this.debug(this.pattern, "split", f); - var set = this.set; - this.debug(this.pattern, "set", set); - var filename; - var i; - for (i = f.length - 1; i >= 0; i--) { - filename = f[i]; - if (filename) - break; - } - for (i = 0; i < set.length; i++) { - var pattern = set[i]; - var file = f; - if (options.matchBase && pattern.length === 1) { - file = [filename]; - } - var hit = this.matchOne(file, pattern, partial); - if (hit) { - if (options.flipNegate) - return true; - return !this.negate; - } - } - if (options.flipNegate) - return false; - return this.negate; - }; - Minimatch.prototype.matchOne = function(file, pattern, partial) { - var options = this.options; - this.debug("matchOne", { - "this": this, - file, - pattern - }); - this.debug("matchOne", file.length, pattern.length); - for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { - this.debug("matchOne loop"); - var p = pattern[pi]; - var f = file[fi]; - this.debug(pattern, p, f); - if (p === false) - return false; - if (p === GLOBSTAR) { - this.debug("GLOBSTAR", [pattern, p, f]); - var fr = fi; - var pr = pi + 1; - if (pr === pl) { - this.debug("** at the end"); - for (; fi < fl; fi++) { - if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") - return false; - } - return true; - } - while (fr < fl) { - var swallowee = file[fr]; - this.debug("\nglobstar while", file, fr, pattern, pr, swallowee); - if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { - this.debug("globstar found match!", fr, fl, swallowee); - return true; - } else { - if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") { - this.debug("dot detected!", file, fr, pattern, pr); - break; - } - this.debug("globstar swallow a segment, and continue"); - fr++; - } - } - if (partial) { - this.debug("\n>>> no match, partial?", file, fr, pattern, pr); - if (fr === fl) - return true; - } - return false; - } - var hit; - if (typeof p === "string") { - hit = f === p; - this.debug("string match", p, f, hit); - } else { - hit = f.match(p); - this.debug("pattern match", p, f, hit); - } - if (!hit) - return false; - } - if (fi === fl && pi === pl) { - return true; - } else if (fi === fl) { - return partial; - } else if (pi === pl) { - return fi === fl - 1 && file[fi] === ""; - } - throw new Error("wtf?"); - }; - function globUnescape(s) { - return s.replace(/\\(.)/g, "$1"); - } - function regExpEscape(s) { - return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - } - } -}); -var require_inherits_browser = __commonJS2({ - "node_modules/inherits/inherits_browser.js"(exports2, module2) { - if (typeof Object.create === "function") { - module2.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - } - }; - } else { - module2.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - }; - } - } -}); -var require_inherits = __commonJS2({ - "node_modules/inherits/inherits.js"(exports2, module2) { - try { - util = require("util"); - if (typeof util.inherits !== "function") - throw ""; - module2.exports = util.inherits; - } catch (e) { - module2.exports = require_inherits_browser(); - } - var util; - } -}); -var require_path_is_absolute = __commonJS2({ - "node_modules/path-is-absolute/index.js"(exports2, module2) { - "use strict"; - function posix(path) { - return path.charAt(0) === "/"; - } - function win32(path) { - var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; - var result = splitDeviceRe.exec(path); - var device = result[1] || ""; - var isUnc = Boolean(device && device.charAt(1) !== ":"); - return Boolean(result[2] || isUnc); - } - module2.exports = process.platform === "win32" ? win32 : posix; - module2.exports.posix = posix; - module2.exports.win32 = win32; - } -}); -var require_common3 = __commonJS2({ - "node_modules/glob/common.js"(exports2) { - exports2.setopts = setopts; - exports2.ownProp = ownProp; - exports2.makeAbs = makeAbs; - exports2.finish = finish; - exports2.mark = mark; - exports2.isIgnored = isIgnored; - exports2.childrenIgnored = childrenIgnored; - function ownProp(obj, field) { - return Object.prototype.hasOwnProperty.call(obj, field); - } - var fs = require("fs"); - var path = require("path"); - var minimatch = require_minimatch(); - var isAbsolute = require_path_is_absolute(); - var Minimatch = minimatch.Minimatch; - function alphasort(a, b) { - return a.localeCompare(b, "en"); - } - function setupIgnores(self2, options) { - self2.ignore = options.ignore || []; - if (!Array.isArray(self2.ignore)) - self2.ignore = [self2.ignore]; - if (self2.ignore.length) { - self2.ignore = self2.ignore.map(ignoreMap); - } - } - function ignoreMap(pattern) { - var gmatcher = null; - if (pattern.slice(-3) === "/**") { - var gpattern = pattern.replace(/(\/\*\*)+$/, ""); - gmatcher = new Minimatch(gpattern, { - dot: true - }); - } - return { - matcher: new Minimatch(pattern, { - dot: true - }), - gmatcher - }; - } - function setopts(self2, pattern, options) { - if (!options) - options = {}; - if (options.matchBase && -1 === pattern.indexOf("/")) { - if (options.noglobstar) { - throw new Error("base matching requires globstar"); - } - pattern = "**/" + pattern; - } - self2.silent = !!options.silent; - self2.pattern = pattern; - self2.strict = options.strict !== false; - self2.realpath = !!options.realpath; - self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null); - self2.follow = !!options.follow; - self2.dot = !!options.dot; - self2.mark = !!options.mark; - self2.nodir = !!options.nodir; - if (self2.nodir) - self2.mark = true; - self2.sync = !!options.sync; - self2.nounique = !!options.nounique; - self2.nonull = !!options.nonull; - self2.nosort = !!options.nosort; - self2.nocase = !!options.nocase; - self2.stat = !!options.stat; - self2.noprocess = !!options.noprocess; - self2.absolute = !!options.absolute; - self2.fs = options.fs || fs; - self2.maxLength = options.maxLength || Infinity; - self2.cache = options.cache || /* @__PURE__ */ Object.create(null); - self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null); - self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null); - setupIgnores(self2, options); - self2.changedCwd = false; - var cwd = process.cwd(); - if (!ownProp(options, "cwd")) - self2.cwd = cwd; - else { - self2.cwd = path.resolve(options.cwd); - self2.changedCwd = self2.cwd !== cwd; - } - self2.root = options.root || path.resolve(self2.cwd, "/"); - self2.root = path.resolve(self2.root); - if (process.platform === "win32") - self2.root = self2.root.replace(/\\/g, "/"); - self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd); - if (process.platform === "win32") - self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/"); - self2.nomount = !!options.nomount; - options.nonegate = true; - options.nocomment = true; - options.allowWindowsEscape = false; - self2.minimatch = new Minimatch(pattern, options); - self2.options = self2.minimatch.options; - } - function finish(self2) { - var nou = self2.nounique; - var all = nou ? [] : /* @__PURE__ */ Object.create(null); - for (var i = 0, l = self2.matches.length; i < l; i++) { - var matches = self2.matches[i]; - if (!matches || Object.keys(matches).length === 0) { - if (self2.nonull) { - var literal = self2.minimatch.globSet[i]; - if (nou) - all.push(literal); - else - all[literal] = true; - } - } else { - var m = Object.keys(matches); - if (nou) - all.push.apply(all, m); - else - m.forEach(function(m2) { - all[m2] = true; - }); - } - } - if (!nou) - all = Object.keys(all); - if (!self2.nosort) - all = all.sort(alphasort); - if (self2.mark) { - for (var i = 0; i < all.length; i++) { - all[i] = self2._mark(all[i]); - } - if (self2.nodir) { - all = all.filter(function(e) { - var notDir = !/\/$/.test(e); - var c = self2.cache[e] || self2.cache[makeAbs(self2, e)]; - if (notDir && c) - notDir = c !== "DIR" && !Array.isArray(c); - return notDir; - }); - } - } - if (self2.ignore.length) - all = all.filter(function(m2) { - return !isIgnored(self2, m2); - }); - self2.found = all; - } - function mark(self2, p) { - var abs = makeAbs(self2, p); - var c = self2.cache[abs]; - var m = p; - if (c) { - var isDir = c === "DIR" || Array.isArray(c); - var slash = p.slice(-1) === "/"; - if (isDir && !slash) - m += "/"; - else if (!isDir && slash) - m = m.slice(0, -1); - if (m !== p) { - var mabs = makeAbs(self2, m); - self2.statCache[mabs] = self2.statCache[abs]; - self2.cache[mabs] = self2.cache[abs]; - } - } - return m; - } - function makeAbs(self2, f) { - var abs = f; - if (f.charAt(0) === "/") { - abs = path.join(self2.root, f); - } else if (isAbsolute(f) || f === "") { - abs = f; - } else if (self2.changedCwd) { - abs = path.resolve(self2.cwd, f); - } else { - abs = path.resolve(f); - } - if (process.platform === "win32") - abs = abs.replace(/\\/g, "/"); - return abs; - } - function isIgnored(self2, path2) { - if (!self2.ignore.length) - return false; - return self2.ignore.some(function(item) { - return item.matcher.match(path2) || !!(item.gmatcher && item.gmatcher.match(path2)); - }); - } - function childrenIgnored(self2, path2) { - if (!self2.ignore.length) - return false; - return self2.ignore.some(function(item) { - return !!(item.gmatcher && item.gmatcher.match(path2)); - }); - } - } -}); -var require_sync7 = __commonJS2({ - "node_modules/glob/sync.js"(exports2, module2) { - module2.exports = globSync; - globSync.GlobSync = GlobSync; - var rp = require_fs5(); - var minimatch = require_minimatch(); - var Minimatch = minimatch.Minimatch; - var Glob = require_glob().Glob; - var util = require("util"); - var path = require("path"); - var assert = require("assert"); - var isAbsolute = require_path_is_absolute(); - var common = require_common3(); - var setopts = common.setopts; - var ownProp = common.ownProp; - var childrenIgnored = common.childrenIgnored; - var isIgnored = common.isIgnored; - function globSync(pattern, options) { - if (typeof options === "function" || arguments.length === 3) - throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); - return new GlobSync(pattern, options).found; - } - function GlobSync(pattern, options) { - if (!pattern) - throw new Error("must provide pattern"); - if (typeof options === "function" || arguments.length === 3) - throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); - if (!(this instanceof GlobSync)) - return new GlobSync(pattern, options); - setopts(this, pattern, options); - if (this.noprocess) - return this; - var n = this.minimatch.set.length; - this.matches = new Array(n); - for (var i = 0; i < n; i++) { - this._process(this.minimatch.set[i], i, false); - } - this._finish(); - } - GlobSync.prototype._finish = function() { - assert.ok(this instanceof GlobSync); - if (this.realpath) { - var self2 = this; - this.matches.forEach(function(matchset, index) { - var set = self2.matches[index] = /* @__PURE__ */ Object.create(null); - for (var p in matchset) { - try { - p = self2._makeAbs(p); - var real = rp.realpathSync(p, self2.realpathCache); - set[real] = true; - } catch (er) { - if (er.syscall === "stat") - set[self2._makeAbs(p)] = true; - else - throw er; - } - } - }); - } - common.finish(this); - }; - GlobSync.prototype._process = function(pattern, index, inGlobStar) { - assert.ok(this instanceof GlobSync); - var n = 0; - while (typeof pattern[n] === "string") { - n++; - } - var prefix; - switch (n) { - case pattern.length: - this._processSimple(pattern.join("/"), index); - return; - case 0: - prefix = null; - break; - default: - prefix = pattern.slice(0, n).join("/"); - break; - } - var remain = pattern.slice(n); - var read; - if (prefix === null) - read = "."; - else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) { - return typeof p === "string" ? p : "[*]"; - }).join("/"))) { - if (!prefix || !isAbsolute(prefix)) - prefix = "/" + prefix; - read = prefix; - } else - read = prefix; - var abs = this._makeAbs(read); - if (childrenIgnored(this, read)) - return; - var isGlobStar = remain[0] === minimatch.GLOBSTAR; - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar); - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar); - }; - GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) { - var entries = this._readdir(abs, inGlobStar); - if (!entries) - return; - var pn = remain[0]; - var negate = !!this.minimatch.negate; - var rawGlob = pn._glob; - var dotOk = this.dot || rawGlob.charAt(0) === "."; - var matchedEntries = []; - for (var i = 0; i < entries.length; i++) { - var e = entries[i]; - if (e.charAt(0) !== "." || dotOk) { - var m; - if (negate && !prefix) { - m = !e.match(pn); - } else { - m = e.match(pn); - } - if (m) - matchedEntries.push(e); - } - } - var len = matchedEntries.length; - if (len === 0) - return; - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = /* @__PURE__ */ Object.create(null); - for (var i = 0; i < len; i++) { - var e = matchedEntries[i]; - if (prefix) { - if (prefix.slice(-1) !== "/") - e = prefix + "/" + e; - else - e = prefix + e; - } - if (e.charAt(0) === "/" && !this.nomount) { - e = path.join(this.root, e); - } - this._emitMatch(index, e); - } - return; - } - remain.shift(); - for (var i = 0; i < len; i++) { - var e = matchedEntries[i]; - var newPattern; - if (prefix) - newPattern = [prefix, e]; - else - newPattern = [e]; - this._process(newPattern.concat(remain), index, inGlobStar); - } - }; - GlobSync.prototype._emitMatch = function(index, e) { - if (isIgnored(this, e)) - return; - var abs = this._makeAbs(e); - if (this.mark) - e = this._mark(e); - if (this.absolute) { - e = abs; - } - if (this.matches[index][e]) - return; - if (this.nodir) { - var c = this.cache[abs]; - if (c === "DIR" || Array.isArray(c)) - return; - } - this.matches[index][e] = true; - if (this.stat) - this._stat(e); - }; - GlobSync.prototype._readdirInGlobStar = function(abs) { - if (this.follow) - return this._readdir(abs, false); - var entries; - var lstat; - var stat; - try { - lstat = this.fs.lstatSync(abs); - } catch (er) { - if (er.code === "ENOENT") { - return null; - } - } - var isSym = lstat && lstat.isSymbolicLink(); - this.symlinks[abs] = isSym; - if (!isSym && lstat && !lstat.isDirectory()) - this.cache[abs] = "FILE"; - else - entries = this._readdir(abs, false); - return entries; - }; - GlobSync.prototype._readdir = function(abs, inGlobStar) { - var entries; - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs); - if (ownProp(this.cache, abs)) { - var c = this.cache[abs]; - if (!c || c === "FILE") - return null; - if (Array.isArray(c)) - return c; - } - try { - return this._readdirEntries(abs, this.fs.readdirSync(abs)); - } catch (er) { - this._readdirError(abs, er); - return null; - } - }; - GlobSync.prototype._readdirEntries = function(abs, entries) { - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i++) { - var e = entries[i]; - if (abs === "/") - e = abs + e; - else - e = abs + "/" + e; - this.cache[e] = true; - } - } - this.cache[abs] = entries; - return entries; - }; - GlobSync.prototype._readdirError = function(f, er) { - switch (er.code) { - case "ENOTSUP": - case "ENOTDIR": - var abs = this._makeAbs(f); - this.cache[abs] = "FILE"; - if (abs === this.cwdAbs) { - var error = new Error(er.code + " invalid cwd " + this.cwd); - error.path = this.cwd; - error.code = er.code; - throw error; - } - break; - case "ENOENT": - case "ELOOP": - case "ENAMETOOLONG": - case "UNKNOWN": - this.cache[this._makeAbs(f)] = false; - break; - default: - this.cache[this._makeAbs(f)] = false; - if (this.strict) - throw er; - if (!this.silent) - console.error("glob error", er); - break; - } - }; - GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) { - var entries = this._readdir(abs, inGlobStar); - if (!entries) - return; - var remainWithoutGlobStar = remain.slice(1); - var gspref = prefix ? [prefix] : []; - var noGlobStar = gspref.concat(remainWithoutGlobStar); - this._process(noGlobStar, index, false); - var len = entries.length; - var isSym = this.symlinks[abs]; - if (isSym && inGlobStar) - return; - for (var i = 0; i < len; i++) { - var e = entries[i]; - if (e.charAt(0) === "." && !this.dot) - continue; - var instead = gspref.concat(entries[i], remainWithoutGlobStar); - this._process(instead, index, true); - var below = gspref.concat(entries[i], remain); - this._process(below, index, true); - } - }; - GlobSync.prototype._processSimple = function(prefix, index) { - var exists = this._stat(prefix); - if (!this.matches[index]) - this.matches[index] = /* @__PURE__ */ Object.create(null); - if (!exists) - return; - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix); - if (prefix.charAt(0) === "/") { - prefix = path.join(this.root, prefix); - } else { - prefix = path.resolve(this.root, prefix); - if (trail) - prefix += "/"; - } - } - if (process.platform === "win32") - prefix = prefix.replace(/\\/g, "/"); - this._emitMatch(index, prefix); - }; - GlobSync.prototype._stat = function(f) { - var abs = this._makeAbs(f); - var needDir = f.slice(-1) === "/"; - if (f.length > this.maxLength) - return false; - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs]; - if (Array.isArray(c)) - c = "DIR"; - if (!needDir || c === "DIR") - return c; - if (needDir && c === "FILE") - return false; - } - var exists; - var stat = this.statCache[abs]; - if (!stat) { - var lstat; - try { - lstat = this.fs.lstatSync(abs); - } catch (er) { - if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { - this.statCache[abs] = false; - return false; - } - } - if (lstat && lstat.isSymbolicLink()) { - try { - stat = this.fs.statSync(abs); - } catch (er) { - stat = lstat; - } - } else { - stat = lstat; - } - } - this.statCache[abs] = stat; - var c = true; - if (stat) - c = stat.isDirectory() ? "DIR" : "FILE"; - this.cache[abs] = this.cache[abs] || c; - if (needDir && c === "FILE") - return false; - return c; - }; - GlobSync.prototype._mark = function(p) { - return common.mark(this, p); - }; - GlobSync.prototype._makeAbs = function(f) { - return common.makeAbs(this, f); - }; - } -}); -var require_wrappy = __commonJS2({ - "node_modules/wrappy/wrappy.js"(exports2, module2) { - module2.exports = wrappy; - function wrappy(fn, cb) { - if (fn && cb) - return wrappy(fn)(cb); - if (typeof fn !== "function") - throw new TypeError("need wrapper function"); - Object.keys(fn).forEach(function(k) { - wrapper[k] = fn[k]; - }); - return wrapper; - function wrapper() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - var ret = fn.apply(this, args); - var cb2 = args[args.length - 1]; - if (typeof ret === "function" && ret !== cb2) { - Object.keys(cb2).forEach(function(k) { - ret[k] = cb2[k]; - }); - } - return ret; - } - } - } -}); -var require_once = __commonJS2({ - "node_modules/once/once.js"(exports2, module2) { - var wrappy = require_wrappy(); - module2.exports = wrappy(once); - module2.exports.strict = wrappy(onceStrict); - once.proto = once(function() { - Object.defineProperty(Function.prototype, "once", { - value: function() { - return once(this); - }, - configurable: true - }); - Object.defineProperty(Function.prototype, "onceStrict", { - value: function() { - return onceStrict(this); - }, - configurable: true - }); - }); - function once(fn) { - var f = function() { - if (f.called) - return f.value; - f.called = true; - return f.value = fn.apply(this, arguments); - }; - f.called = false; - return f; - } - function onceStrict(fn) { - var f = function() { - if (f.called) - throw new Error(f.onceError); - f.called = true; - return f.value = fn.apply(this, arguments); - }; - var name = fn.name || "Function wrapped with `once`"; - f.onceError = name + " shouldn't be called more than once"; - f.called = false; - return f; - } - } -}); -var require_inflight = __commonJS2({ - "node_modules/inflight/inflight.js"(exports2, module2) { - var wrappy = require_wrappy(); - var reqs = /* @__PURE__ */ Object.create(null); - var once = require_once(); - module2.exports = wrappy(inflight); - function inflight(key, cb) { - if (reqs[key]) { - reqs[key].push(cb); - return null; - } else { - reqs[key] = [cb]; - return makeres(key); - } - } - function makeres(key) { - return once(function RES() { - var cbs = reqs[key]; - var len = cbs.length; - var args = slice(arguments); - try { - for (var i = 0; i < len; i++) { - cbs[i].apply(null, args); - } - } finally { - if (cbs.length > len) { - cbs.splice(0, len); - process.nextTick(function() { - RES.apply(null, args); - }); - } else { - delete reqs[key]; - } - } - }); - } - function slice(args) { - var length = args.length; - var array2 = []; - for (var i = 0; i < length; i++) - array2[i] = args[i]; - return array2; - } - } -}); -var require_glob = __commonJS2({ - "node_modules/glob/glob.js"(exports2, module2) { - module2.exports = glob; - var rp = require_fs5(); - var minimatch = require_minimatch(); - var Minimatch = minimatch.Minimatch; - var inherits = require_inherits(); - var EE = require("events").EventEmitter; - var path = require("path"); - var assert = require("assert"); - var isAbsolute = require_path_is_absolute(); - var globSync = require_sync7(); - var common = require_common3(); - var setopts = common.setopts; - var ownProp = common.ownProp; - var inflight = require_inflight(); - var util = require("util"); - var childrenIgnored = common.childrenIgnored; - var isIgnored = common.isIgnored; - var once = require_once(); - function glob(pattern, options, cb) { - if (typeof options === "function") - cb = options, options = {}; - if (!options) - options = {}; - if (options.sync) { - if (cb) - throw new TypeError("callback provided to sync glob"); - return globSync(pattern, options); - } - return new Glob(pattern, options, cb); - } - glob.sync = globSync; - var GlobSync = glob.GlobSync = globSync.GlobSync; - glob.glob = glob; - function extend(origin, add) { - if (add === null || typeof add !== "object") { - return origin; - } - var keys = Object.keys(add); - var i = keys.length; - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - return origin; - } - glob.hasMagic = function(pattern, options_) { - var options = extend({}, options_); - options.noprocess = true; - var g = new Glob(pattern, options); - var set = g.minimatch.set; - if (!pattern) - return false; - if (set.length > 1) - return true; - for (var j = 0; j < set[0].length; j++) { - if (typeof set[0][j] !== "string") - return true; - } - return false; - }; - glob.Glob = Glob; - inherits(Glob, EE); - function Glob(pattern, options, cb) { - if (typeof options === "function") { - cb = options; - options = null; - } - if (options && options.sync) { - if (cb) - throw new TypeError("callback provided to sync glob"); - return new GlobSync(pattern, options); - } - if (!(this instanceof Glob)) - return new Glob(pattern, options, cb); - setopts(this, pattern, options); - this._didRealPath = false; - var n = this.minimatch.set.length; - this.matches = new Array(n); - if (typeof cb === "function") { - cb = once(cb); - this.on("error", cb); - this.on("end", function(matches) { - cb(null, matches); - }); - } - var self2 = this; - this._processing = 0; - this._emitQueue = []; - this._processQueue = []; - this.paused = false; - if (this.noprocess) - return this; - if (n === 0) - return done(); - var sync = true; - for (var i = 0; i < n; i++) { - this._process(this.minimatch.set[i], i, false, done); - } - sync = false; - function done() { - --self2._processing; - if (self2._processing <= 0) { - if (sync) { - process.nextTick(function() { - self2._finish(); - }); - } else { - self2._finish(); - } - } - } - } - Glob.prototype._finish = function() { - assert(this instanceof Glob); - if (this.aborted) - return; - if (this.realpath && !this._didRealpath) - return this._realpath(); - common.finish(this); - this.emit("end", this.found); - }; - Glob.prototype._realpath = function() { - if (this._didRealpath) - return; - this._didRealpath = true; - var n = this.matches.length; - if (n === 0) - return this._finish(); - var self2 = this; - for (var i = 0; i < this.matches.length; i++) - this._realpathSet(i, next); - function next() { - if (--n === 0) - self2._finish(); - } - }; - Glob.prototype._realpathSet = function(index, cb) { - var matchset = this.matches[index]; - if (!matchset) - return cb(); - var found = Object.keys(matchset); - var self2 = this; - var n = found.length; - if (n === 0) - return cb(); - var set = this.matches[index] = /* @__PURE__ */ Object.create(null); - found.forEach(function(p, i) { - p = self2._makeAbs(p); - rp.realpath(p, self2.realpathCache, function(er, real) { - if (!er) - set[real] = true; - else if (er.syscall === "stat") - set[p] = true; - else - self2.emit("error", er); - if (--n === 0) { - self2.matches[index] = set; - cb(); - } - }); - }); - }; - Glob.prototype._mark = function(p) { - return common.mark(this, p); - }; - Glob.prototype._makeAbs = function(f) { - return common.makeAbs(this, f); - }; - Glob.prototype.abort = function() { - this.aborted = true; - this.emit("abort"); - }; - Glob.prototype.pause = function() { - if (!this.paused) { - this.paused = true; - this.emit("pause"); - } - }; - Glob.prototype.resume = function() { - if (this.paused) { - this.emit("resume"); - this.paused = false; - if (this._emitQueue.length) { - var eq = this._emitQueue.slice(0); - this._emitQueue.length = 0; - for (var i = 0; i < eq.length; i++) { - var e = eq[i]; - this._emitMatch(e[0], e[1]); - } - } - if (this._processQueue.length) { - var pq = this._processQueue.slice(0); - this._processQueue.length = 0; - for (var i = 0; i < pq.length; i++) { - var p = pq[i]; - this._processing--; - this._process(p[0], p[1], p[2], p[3]); - } - } - } - }; - Glob.prototype._process = function(pattern, index, inGlobStar, cb) { - assert(this instanceof Glob); - assert(typeof cb === "function"); - if (this.aborted) - return; - this._processing++; - if (this.paused) { - this._processQueue.push([pattern, index, inGlobStar, cb]); - return; - } - var n = 0; - while (typeof pattern[n] === "string") { - n++; - } - var prefix; - switch (n) { - case pattern.length: - this._processSimple(pattern.join("/"), index, cb); - return; - case 0: - prefix = null; - break; - default: - prefix = pattern.slice(0, n).join("/"); - break; - } - var remain = pattern.slice(n); - var read; - if (prefix === null) - read = "."; - else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) { - return typeof p === "string" ? p : "[*]"; - }).join("/"))) { - if (!prefix || !isAbsolute(prefix)) - prefix = "/" + prefix; - read = prefix; - } else - read = prefix; - var abs = this._makeAbs(read); - if (childrenIgnored(this, read)) - return cb(); - var isGlobStar = remain[0] === minimatch.GLOBSTAR; - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb); - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb); - }; - Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) { - var self2 = this; - this._readdir(abs, inGlobStar, function(er, entries) { - return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb); - }); - }; - Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { - if (!entries) - return cb(); - var pn = remain[0]; - var negate = !!this.minimatch.negate; - var rawGlob = pn._glob; - var dotOk = this.dot || rawGlob.charAt(0) === "."; - var matchedEntries = []; - for (var i = 0; i < entries.length; i++) { - var e = entries[i]; - if (e.charAt(0) !== "." || dotOk) { - var m; - if (negate && !prefix) { - m = !e.match(pn); - } else { - m = e.match(pn); - } - if (m) - matchedEntries.push(e); - } - } - var len = matchedEntries.length; - if (len === 0) - return cb(); - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = /* @__PURE__ */ Object.create(null); - for (var i = 0; i < len; i++) { - var e = matchedEntries[i]; - if (prefix) { - if (prefix !== "/") - e = prefix + "/" + e; - else - e = prefix + e; - } - if (e.charAt(0) === "/" && !this.nomount) { - e = path.join(this.root, e); - } - this._emitMatch(index, e); - } - return cb(); - } - remain.shift(); - for (var i = 0; i < len; i++) { - var e = matchedEntries[i]; - var newPattern; - if (prefix) { - if (prefix !== "/") - e = prefix + "/" + e; - else - e = prefix + e; - } - this._process([e].concat(remain), index, inGlobStar, cb); - } - cb(); - }; - Glob.prototype._emitMatch = function(index, e) { - if (this.aborted) - return; - if (isIgnored(this, e)) - return; - if (this.paused) { - this._emitQueue.push([index, e]); - return; - } - var abs = isAbsolute(e) ? e : this._makeAbs(e); - if (this.mark) - e = this._mark(e); - if (this.absolute) - e = abs; - if (this.matches[index][e]) - return; - if (this.nodir) { - var c = this.cache[abs]; - if (c === "DIR" || Array.isArray(c)) - return; - } - this.matches[index][e] = true; - var st = this.statCache[abs]; - if (st) - this.emit("stat", e, st); - this.emit("match", e); - }; - Glob.prototype._readdirInGlobStar = function(abs, cb) { - if (this.aborted) - return; - if (this.follow) - return this._readdir(abs, false, cb); - var lstatkey = "lstat\0" + abs; - var self2 = this; - var lstatcb = inflight(lstatkey, lstatcb_); - if (lstatcb) - self2.fs.lstat(abs, lstatcb); - function lstatcb_(er, lstat) { - if (er && er.code === "ENOENT") - return cb(); - var isSym = lstat && lstat.isSymbolicLink(); - self2.symlinks[abs] = isSym; - if (!isSym && lstat && !lstat.isDirectory()) { - self2.cache[abs] = "FILE"; - cb(); - } else - self2._readdir(abs, false, cb); - } - }; - Glob.prototype._readdir = function(abs, inGlobStar, cb) { - if (this.aborted) - return; - cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb); - if (!cb) - return; - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs, cb); - if (ownProp(this.cache, abs)) { - var c = this.cache[abs]; - if (!c || c === "FILE") - return cb(); - if (Array.isArray(c)) - return cb(null, c); - } - var self2 = this; - self2.fs.readdir(abs, readdirCb(this, abs, cb)); - }; - function readdirCb(self2, abs, cb) { - return function(er, entries) { - if (er) - self2._readdirError(abs, er, cb); - else - self2._readdirEntries(abs, entries, cb); - }; - } - Glob.prototype._readdirEntries = function(abs, entries, cb) { - if (this.aborted) - return; - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i++) { - var e = entries[i]; - if (abs === "/") - e = abs + e; - else - e = abs + "/" + e; - this.cache[e] = true; - } - } - this.cache[abs] = entries; - return cb(null, entries); - }; - Glob.prototype._readdirError = function(f, er, cb) { - if (this.aborted) - return; - switch (er.code) { - case "ENOTSUP": - case "ENOTDIR": - var abs = this._makeAbs(f); - this.cache[abs] = "FILE"; - if (abs === this.cwdAbs) { - var error = new Error(er.code + " invalid cwd " + this.cwd); - error.path = this.cwd; - error.code = er.code; - this.emit("error", error); - this.abort(); - } - break; - case "ENOENT": - case "ELOOP": - case "ENAMETOOLONG": - case "UNKNOWN": - this.cache[this._makeAbs(f)] = false; - break; - default: - this.cache[this._makeAbs(f)] = false; - if (this.strict) { - this.emit("error", er); - this.abort(); - } - if (!this.silent) - console.error("glob error", er); - break; - } - return cb(); - }; - Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) { - var self2 = this; - this._readdir(abs, inGlobStar, function(er, entries) { - self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb); - }); - }; - Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { - if (!entries) - return cb(); - var remainWithoutGlobStar = remain.slice(1); - var gspref = prefix ? [prefix] : []; - var noGlobStar = gspref.concat(remainWithoutGlobStar); - this._process(noGlobStar, index, false, cb); - var isSym = this.symlinks[abs]; - var len = entries.length; - if (isSym && inGlobStar) - return cb(); - for (var i = 0; i < len; i++) { - var e = entries[i]; - if (e.charAt(0) === "." && !this.dot) - continue; - var instead = gspref.concat(entries[i], remainWithoutGlobStar); - this._process(instead, index, true, cb); - var below = gspref.concat(entries[i], remain); - this._process(below, index, true, cb); - } - cb(); - }; - Glob.prototype._processSimple = function(prefix, index, cb) { - var self2 = this; - this._stat(prefix, function(er, exists) { - self2._processSimple2(prefix, index, er, exists, cb); - }); - }; - Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) { - if (!this.matches[index]) - this.matches[index] = /* @__PURE__ */ Object.create(null); - if (!exists) - return cb(); - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix); - if (prefix.charAt(0) === "/") { - prefix = path.join(this.root, prefix); - } else { - prefix = path.resolve(this.root, prefix); - if (trail) - prefix += "/"; - } - } - if (process.platform === "win32") - prefix = prefix.replace(/\\/g, "/"); - this._emitMatch(index, prefix); - cb(); - }; - Glob.prototype._stat = function(f, cb) { - var abs = this._makeAbs(f); - var needDir = f.slice(-1) === "/"; - if (f.length > this.maxLength) - return cb(); - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs]; - if (Array.isArray(c)) - c = "DIR"; - if (!needDir || c === "DIR") - return cb(null, c); - if (needDir && c === "FILE") - return cb(); - } - var exists; - var stat = this.statCache[abs]; - if (stat !== void 0) { - if (stat === false) - return cb(null, stat); - else { - var type = stat.isDirectory() ? "DIR" : "FILE"; - if (needDir && type === "FILE") - return cb(); - else - return cb(null, type, stat); - } - } - var self2 = this; - var statcb = inflight("stat\0" + abs, lstatcb_); - if (statcb) - self2.fs.lstat(abs, statcb); - function lstatcb_(er, lstat) { - if (lstat && lstat.isSymbolicLink()) { - return self2.fs.stat(abs, function(er2, stat2) { - if (er2) - self2._stat2(f, abs, null, lstat, cb); - else - self2._stat2(f, abs, er2, stat2, cb); - }); - } else { - self2._stat2(f, abs, er, lstat, cb); - } - } - }; - Glob.prototype._stat2 = function(f, abs, er, stat, cb) { - if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { - this.statCache[abs] = false; - return cb(); - } - var needDir = f.slice(-1) === "/"; - this.statCache[abs] = stat; - if (abs.slice(-1) === "/" && stat && !stat.isDirectory()) - return cb(null, false, stat); - var c = true; - if (stat) - c = stat.isDirectory() ? "DIR" : "FILE"; - this.cache[abs] = this.cache[abs] || c; - if (needDir && c === "FILE") - return cb(); - return cb(null, c, stat); - }; - } -}); -var require_rimraf = __commonJS2({ - "node_modules/rimraf/rimraf.js"(exports2, module2) { - var assert = require("assert"); - var path = require("path"); - var fs = require("fs"); - var glob = void 0; - try { - glob = require_glob(); - } catch (_err) { - } - var defaultGlobOpts = { - nosort: true, - silent: true - }; - var timeout = 0; - var isWindows = process.platform === "win32"; - var defaults = (options) => { - const methods = ["unlink", "chmod", "stat", "lstat", "rmdir", "readdir"]; - methods.forEach((m) => { - options[m] = options[m] || fs[m]; - m = m + "Sync"; - options[m] = options[m] || fs[m]; - }); - options.maxBusyTries = options.maxBusyTries || 3; - options.emfileWait = options.emfileWait || 1e3; - if (options.glob === false) { - options.disableGlob = true; - } - if (options.disableGlob !== true && glob === void 0) { - throw Error("glob dependency not found, set `options.disableGlob = true` if intentional"); - } - options.disableGlob = options.disableGlob || false; - options.glob = options.glob || defaultGlobOpts; - }; - var rimraf = (p, options, cb) => { - if (typeof options === "function") { - cb = options; - options = {}; - } - assert(p, "rimraf: missing path"); - assert.equal(typeof p, "string", "rimraf: path should be a string"); - assert.equal(typeof cb, "function", "rimraf: callback function required"); - assert(options, "rimraf: invalid options argument provided"); - assert.equal(typeof options, "object", "rimraf: options should be object"); - defaults(options); - let busyTries = 0; - let errState = null; - let n = 0; - const next = (er) => { - errState = errState || er; - if (--n === 0) - cb(errState); - }; - const afterGlob = (er, results) => { - if (er) - return cb(er); - n = results.length; - if (n === 0) - return cb(); - results.forEach((p2) => { - const CB = (er2) => { - if (er2) { - if ((er2.code === "EBUSY" || er2.code === "ENOTEMPTY" || er2.code === "EPERM") && busyTries < options.maxBusyTries) { - busyTries++; - return setTimeout(() => rimraf_(p2, options, CB), busyTries * 100); - } - if (er2.code === "EMFILE" && timeout < options.emfileWait) { - return setTimeout(() => rimraf_(p2, options, CB), timeout++); - } - if (er2.code === "ENOENT") - er2 = null; - } - timeout = 0; - next(er2); - }; - rimraf_(p2, options, CB); - }); - }; - if (options.disableGlob || !glob.hasMagic(p)) - return afterGlob(null, [p]); - options.lstat(p, (er, stat) => { - if (!er) - return afterGlob(null, [p]); - glob(p, options.glob, afterGlob); - }); - }; - var rimraf_ = (p, options, cb) => { - assert(p); - assert(options); - assert(typeof cb === "function"); - options.lstat(p, (er, st) => { - if (er && er.code === "ENOENT") - return cb(null); - if (er && er.code === "EPERM" && isWindows) - fixWinEPERM(p, options, er, cb); - if (st && st.isDirectory()) - return rmdir(p, options, er, cb); - options.unlink(p, (er2) => { - if (er2) { - if (er2.code === "ENOENT") - return cb(null); - if (er2.code === "EPERM") - return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb); - if (er2.code === "EISDIR") - return rmdir(p, options, er2, cb); - } - return cb(er2); - }); - }); - }; - var fixWinEPERM = (p, options, er, cb) => { - assert(p); - assert(options); - assert(typeof cb === "function"); - options.chmod(p, 438, (er2) => { - if (er2) - cb(er2.code === "ENOENT" ? null : er); - else - options.stat(p, (er3, stats) => { - if (er3) - cb(er3.code === "ENOENT" ? null : er); - else if (stats.isDirectory()) - rmdir(p, options, er, cb); - else - options.unlink(p, cb); - }); - }); - }; - var fixWinEPERMSync = (p, options, er) => { - assert(p); - assert(options); - try { - options.chmodSync(p, 438); - } catch (er2) { - if (er2.code === "ENOENT") - return; - else - throw er; - } - let stats; - try { - stats = options.statSync(p); - } catch (er3) { - if (er3.code === "ENOENT") - return; - else - throw er; - } - if (stats.isDirectory()) - rmdirSync(p, options, er); - else - options.unlinkSync(p); - }; - var rmdir = (p, options, originalEr, cb) => { - assert(p); - assert(options); - assert(typeof cb === "function"); - options.rmdir(p, (er) => { - if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) - rmkids(p, options, cb); - else if (er && er.code === "ENOTDIR") - cb(originalEr); - else - cb(er); - }); - }; - var rmkids = (p, options, cb) => { - assert(p); - assert(options); - assert(typeof cb === "function"); - options.readdir(p, (er, files) => { - if (er) - return cb(er); - let n = files.length; - if (n === 0) - return options.rmdir(p, cb); - let errState; - files.forEach((f) => { - rimraf(path.join(p, f), options, (er2) => { - if (errState) - return; - if (er2) - return cb(errState = er2); - if (--n === 0) - options.rmdir(p, cb); - }); - }); - }); - }; - var rimrafSync = (p, options) => { - options = options || {}; - defaults(options); - assert(p, "rimraf: missing path"); - assert.equal(typeof p, "string", "rimraf: path should be a string"); - assert(options, "rimraf: missing options"); - assert.equal(typeof options, "object", "rimraf: options should be object"); - let results; - if (options.disableGlob || !glob.hasMagic(p)) { - results = [p]; - } else { - try { - options.lstatSync(p); - results = [p]; - } catch (er) { - results = glob.sync(p, options.glob); - } - } - if (!results.length) - return; - for (let i = 0; i < results.length; i++) { - const p2 = results[i]; - let st; - try { - st = options.lstatSync(p2); - } catch (er) { - if (er.code === "ENOENT") - return; - if (er.code === "EPERM" && isWindows) - fixWinEPERMSync(p2, options, er); - } - try { - if (st && st.isDirectory()) - rmdirSync(p2, options, null); - else - options.unlinkSync(p2); - } catch (er) { - if (er.code === "ENOENT") - return; - if (er.code === "EPERM") - return isWindows ? fixWinEPERMSync(p2, options, er) : rmdirSync(p2, options, er); - if (er.code !== "EISDIR") - throw er; - rmdirSync(p2, options, er); - } - } - }; - var rmdirSync = (p, options, originalEr) => { - assert(p); - assert(options); - try { - options.rmdirSync(p); - } catch (er) { - if (er.code === "ENOENT") - return; - if (er.code === "ENOTDIR") - throw originalEr; - if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") - rmkidsSync(p, options); - } - }; - var rmkidsSync = (p, options) => { - assert(p); - assert(options); - options.readdirSync(p).forEach((f) => rimrafSync(path.join(p, f), options)); - const retries = isWindows ? 100 : 1; - let i = 0; - do { - let threw = true; - try { - const ret = options.rmdirSync(p, options); - threw = false; - return ret; - } finally { - if (++i < retries && threw) - continue; - } - } while (true); - }; - module2.exports = rimraf; - rimraf.sync = rimrafSync; - } -}); -var require_del = __commonJS2({ - "node_modules/flat-cache/src/del.js"(exports2, module2) { - var rimraf = require_rimraf().sync; - var fs = require("fs"); - module2.exports = function del(file) { - if (fs.existsSync(file)) { - rimraf(file, { - glob: false - }); - return true; - } - return false; - }; - } -}); -var require_cache = __commonJS2({ - "node_modules/flat-cache/src/cache.js"(exports2, module2) { - var path = require("path"); - var fs = require("fs"); - var utils = require_utils6(); - var del = require_del(); - var writeJSON = utils.writeJSON; - var cache = { - load: function(docId, cacheDir) { - var me = this; - me._visited = {}; - me._persisted = {}; - me._pathToFile = cacheDir ? path.resolve(cacheDir, docId) : path.resolve(__dirname, "../.cache/", docId); - if (fs.existsSync(me._pathToFile)) { - me._persisted = utils.tryParse(me._pathToFile, {}); - } - }, - loadFile: function(pathToFile) { - var me = this; - var dir = path.dirname(pathToFile); - var fName = path.basename(pathToFile); - me.load(fName, dir); - }, - all: function() { - return this._persisted; - }, - keys: function() { - return Object.keys(this._persisted); - }, - setKey: function(key, value) { - this._visited[key] = true; - this._persisted[key] = value; - }, - removeKey: function(key) { - delete this._visited[key]; - delete this._persisted[key]; - }, - getKey: function(key) { - this._visited[key] = true; - return this._persisted[key]; - }, - _prune: function() { - var me = this; - var obj = {}; - var keys = Object.keys(me._visited); - if (keys.length === 0) { - return; - } - keys.forEach(function(key) { - obj[key] = me._persisted[key]; - }); - me._visited = {}; - me._persisted = obj; - }, - save: function(noPrune) { - var me = this; - !noPrune && me._prune(); - writeJSON(me._pathToFile, me._persisted); - }, - removeCacheFile: function() { - return del(this._pathToFile); - }, - destroy: function() { - var me = this; - me._visited = {}; - me._persisted = {}; - me.removeCacheFile(); - } - }; - module2.exports = { - load: function(docId, cacheDir) { - return this.create(docId, cacheDir); - }, - create: function(docId, cacheDir) { - var obj = Object.create(cache); - obj.load(docId, cacheDir); - return obj; - }, - createFromFile: function(filePath) { - var obj = Object.create(cache); - obj.loadFile(filePath); - return obj; - }, - clearCacheById: function(docId, cacheDir) { - var filePath = cacheDir ? path.resolve(cacheDir, docId) : path.resolve(__dirname, "../.cache/", docId); - return del(filePath); - }, - clearAll: function(cacheDir) { - var filePath = cacheDir ? path.resolve(cacheDir) : path.resolve(__dirname, "../.cache/"); - return del(filePath); - } - }; - } -}); -var require_cache2 = __commonJS2({ - "node_modules/file-entry-cache/cache.js"(exports2, module2) { - var path = require("path"); - var crypto = require("crypto"); - module2.exports = { - createFromFile: function(filePath, useChecksum) { - var fname = path.basename(filePath); - var dir = path.dirname(filePath); - return this.create(fname, dir, useChecksum); - }, - create: function(cacheId, _path, useChecksum) { - var fs = require("fs"); - var flatCache = require_cache(); - var cache = flatCache.load(cacheId, _path); - var normalizedEntries = {}; - var removeNotFoundFiles = function removeNotFoundFiles2() { - const cachedEntries = cache.keys(); - cachedEntries.forEach(function remover(fPath) { - try { - fs.statSync(fPath); - } catch (err) { - if (err.code === "ENOENT") { - cache.removeKey(fPath); - } - } - }); - }; - removeNotFoundFiles(); - return { - cache, - getHash: function(buffer) { - return crypto.createHash("md5").update(buffer).digest("hex"); - }, - hasFileChanged: function(file) { - return this.getFileDescriptor(file).changed; - }, - analyzeFiles: function(files) { - var me = this; - files = files || []; - var res = { - changedFiles: [], - notFoundFiles: [], - notChangedFiles: [] - }; - me.normalizeEntries(files).forEach(function(entry) { - if (entry.changed) { - res.changedFiles.push(entry.key); - return; - } - if (entry.notFound) { - res.notFoundFiles.push(entry.key); - return; - } - res.notChangedFiles.push(entry.key); - }); - return res; - }, - getFileDescriptor: function(file) { - var fstat; - try { - fstat = fs.statSync(file); - } catch (ex) { - this.removeEntry(file); - return { - key: file, - notFound: true, - err: ex - }; - } - if (useChecksum) { - return this._getFileDescriptorUsingChecksum(file); - } - return this._getFileDescriptorUsingMtimeAndSize(file, fstat); - }, - _getFileDescriptorUsingMtimeAndSize: function(file, fstat) { - var meta = cache.getKey(file); - var cacheExists = !!meta; - var cSize = fstat.size; - var cTime = fstat.mtime.getTime(); - var isDifferentDate; - var isDifferentSize; - if (!meta) { - meta = { - size: cSize, - mtime: cTime - }; - } else { - isDifferentDate = cTime !== meta.mtime; - isDifferentSize = cSize !== meta.size; - } - var nEntry = normalizedEntries[file] = { - key: file, - changed: !cacheExists || isDifferentDate || isDifferentSize, - meta - }; - return nEntry; - }, - _getFileDescriptorUsingChecksum: function(file) { - var meta = cache.getKey(file); - var cacheExists = !!meta; - var contentBuffer; - try { - contentBuffer = fs.readFileSync(file); - } catch (ex) { - contentBuffer = ""; - } - var isDifferent = true; - var hash = this.getHash(contentBuffer); - if (!meta) { - meta = { - hash - }; - } else { - isDifferent = hash !== meta.hash; - } - var nEntry = normalizedEntries[file] = { - key: file, - changed: !cacheExists || isDifferent, - meta - }; - return nEntry; - }, - getUpdatedFiles: function(files) { - var me = this; - files = files || []; - return me.normalizeEntries(files).filter(function(entry) { - return entry.changed; - }).map(function(entry) { - return entry.key; - }); - }, - normalizeEntries: function(files) { - files = files || []; - var me = this; - var nEntries = files.map(function(file) { - return me.getFileDescriptor(file); - }); - return nEntries; - }, - removeEntry: function(entryName) { - delete normalizedEntries[entryName]; - cache.removeKey(entryName); - }, - deleteCacheFile: function() { - cache.removeCacheFile(); - }, - destroy: function() { - normalizedEntries = {}; - cache.destroy(); - }, - _getMetaForFileUsingCheckSum: function(cacheEntry) { - var contentBuffer = fs.readFileSync(cacheEntry.key); - var hash = this.getHash(contentBuffer); - var meta = Object.assign(cacheEntry.meta, { - hash - }); - delete meta.size; - delete meta.mtime; - return meta; - }, - _getMetaForFileUsingMtimeAndSize: function(cacheEntry) { - var stat = fs.statSync(cacheEntry.key); - var meta = Object.assign(cacheEntry.meta, { - size: stat.size, - mtime: stat.mtime.getTime() - }); - delete meta.hash; - return meta; - }, - reconcile: function(noPrune) { - removeNotFoundFiles(); - noPrune = typeof noPrune === "undefined" ? true : noPrune; - var entries = normalizedEntries; - var keys = Object.keys(entries); - if (keys.length === 0) { - return; - } - var me = this; - keys.forEach(function(entryName) { - var cacheEntry = entries[entryName]; - try { - var meta = useChecksum ? me._getMetaForFileUsingCheckSum(cacheEntry) : me._getMetaForFileUsingMtimeAndSize(cacheEntry); - cache.setKey(entryName, meta); - } catch (err) { - if (err.code !== "ENOENT") { - throw err; - } - } - }); - cache.save(noPrune); - } - }; - } - }; - } -}); -var require_format_results_cache = __commonJS2({ - "src/cli/format-results-cache.js"(exports2, module2) { - "use strict"; - var fileEntryCache = require_cache2(); - var stringify2 = require_fast_json_stable_stringify(); - var { - version: prettierVersion - } = require("./index.js"); - var { - createHash - } = require_utils(); - var optionsHashCache = /* @__PURE__ */ new WeakMap(); - var nodeVersion = process && process.version; - function getHashOfOptions(options) { - if (optionsHashCache.has(options)) { - return optionsHashCache.get(options); - } - const hash = createHash(`${prettierVersion}_${nodeVersion}_${stringify2(options)}`); - optionsHashCache.set(options, hash); - return hash; - } - function getMetadataFromFileDescriptor(fileDescriptor) { - return fileDescriptor.meta; - } - var FormatResultsCache = class { - constructor(cacheFileLocation, cacheStrategy) { - const useChecksum = cacheStrategy === "content"; - this.cacheFileLocation = cacheFileLocation; - this.fileEntryCache = fileEntryCache.create(cacheFileLocation, void 0, useChecksum); - } - existsAvailableFormatResultsCache(filePath, options) { - const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath); - if (fileDescriptor.notFound) { - return false; - } - const hashOfOptions = getHashOfOptions(options); - const meta = getMetadataFromFileDescriptor(fileDescriptor); - const changed = fileDescriptor.changed || meta.hashOfOptions !== hashOfOptions; - return !changed; - } - setFormatResultsCache(filePath, options) { - const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath); - const meta = getMetadataFromFileDescriptor(fileDescriptor); - if (fileDescriptor && !fileDescriptor.notFound) { - meta.hashOfOptions = getHashOfOptions(options); - } - } - removeFormatResultsCache(filePath) { - this.fileEntryCache.removeEntry(filePath); - } - reconcile() { - this.fileEntryCache.reconcile(); - } - }; - module2.exports = FormatResultsCache; - } -}); -var require_base = __commonJS2({ - "node_modules/diff/lib/diff/base.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2["default"] = Diff; - function Diff() { - } - Diff.prototype = { - diff: function diff(oldString, newString) { - var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - var callback = options.callback; - if (typeof options === "function") { - callback = options; - options = {}; - } - this.options = options; - var self2 = this; - function done(value) { - if (callback) { - setTimeout(function() { - callback(void 0, value); - }, 0); - return true; - } else { - return value; - } - } - oldString = this.castInput(oldString); - newString = this.castInput(newString); - oldString = this.removeEmpty(this.tokenize(oldString)); - newString = this.removeEmpty(this.tokenize(newString)); - var newLen = newString.length, oldLen = oldString.length; - var editLength = 1; - var maxEditLength = newLen + oldLen; - var bestPath = [{ - newPos: -1, - components: [] - }]; - var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); - if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { - return done([{ - value: this.join(newString), - count: newString.length - }]); - } - function execEditLength() { - for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { - var basePath = void 0; - var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; - if (addPath) { - bestPath[diagonalPath - 1] = void 0; - } - var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; - if (!canAdd && !canRemove) { - bestPath[diagonalPath] = void 0; - continue; - } - if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { - basePath = clonePath(removePath); - self2.pushComponent(basePath.components, void 0, true); - } else { - basePath = addPath; - basePath.newPos++; - self2.pushComponent(basePath.components, true, void 0); - } - _oldPos = self2.extractCommon(basePath, newString, oldString, diagonalPath); - if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { - return done(buildValues(self2, basePath.components, newString, oldString, self2.useLongestToken)); - } else { - bestPath[diagonalPath] = basePath; - } - } - editLength++; - } - if (callback) { - (function exec() { - setTimeout(function() { - if (editLength > maxEditLength) { - return callback(); - } - if (!execEditLength()) { - exec(); - } - }, 0); - })(); - } else { - while (editLength <= maxEditLength) { - var ret = execEditLength(); - if (ret) { - return ret; - } - } - } - }, - pushComponent: function pushComponent(components, added, removed) { - var last = components[components.length - 1]; - if (last && last.added === added && last.removed === removed) { - components[components.length - 1] = { - count: last.count + 1, - added, - removed - }; - } else { - components.push({ - count: 1, - added, - removed - }); - } - }, - extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { - var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0; - while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { - newPos++; - oldPos++; - commonCount++; - } - if (commonCount) { - basePath.components.push({ - count: commonCount - }); - } - basePath.newPos = newPos; - return oldPos; - }, - equals: function equals(left, right) { - if (this.options.comparator) { - return this.options.comparator(left, right); - } else { - return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); - } - }, - removeEmpty: function removeEmpty(array2) { - var ret = []; - for (var i = 0; i < array2.length; i++) { - if (array2[i]) { - ret.push(array2[i]); - } - } - return ret; - }, - castInput: function castInput(value) { - return value; - }, - tokenize: function tokenize(value) { - return value.split(""); - }, - join: function join(chars) { - return chars.join(""); - } - }; - function buildValues(diff, components, newString, oldString, useLongestToken) { - var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0; - for (; componentPos < componentLen; componentPos++) { - var component = components[componentPos]; - if (!component.removed) { - if (!component.added && useLongestToken) { - var value = newString.slice(newPos, newPos + component.count); - value = value.map(function(value2, i) { - var oldValue = oldString[oldPos + i]; - return oldValue.length > value2.length ? oldValue : value2; - }); - component.value = diff.join(value); - } else { - component.value = diff.join(newString.slice(newPos, newPos + component.count)); - } - newPos += component.count; - if (!component.added) { - oldPos += component.count; - } - } else { - component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); - oldPos += component.count; - if (componentPos && components[componentPos - 1].added) { - var tmp = components[componentPos - 1]; - components[componentPos - 1] = components[componentPos]; - components[componentPos] = tmp; - } - } - } - var lastComponent = components[componentLen - 1]; - if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) { - components[componentLen - 2].value += lastComponent.value; - components.pop(); - } - return components; - } - function clonePath(path) { - return { - newPos: path.newPos, - components: path.components.slice(0) - }; - } - } -}); -var require_params = __commonJS2({ - "node_modules/diff/lib/util/params.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.generateOptions = generateOptions; - function generateOptions(options, defaults) { - if (typeof options === "function") { - defaults.callback = options; - } else if (options) { - for (var name in options) { - if (options.hasOwnProperty(name)) { - defaults[name] = options[name]; - } - } - } - return defaults; - } - } -}); -var require_line = __commonJS2({ - "node_modules/diff/lib/diff/line.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.diffLines = diffLines; - exports2.diffTrimmedLines = diffTrimmedLines; - exports2.lineDiff = void 0; - var _base = _interopRequireDefault(require_base()); - var _params = require_params(); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - "default": obj - }; - } - var lineDiff = new _base["default"](); - exports2.lineDiff = lineDiff; - lineDiff.tokenize = function(value) { - var retLines = [], linesAndNewlines = value.split(/(\n|\r\n)/); - if (!linesAndNewlines[linesAndNewlines.length - 1]) { - linesAndNewlines.pop(); - } - for (var i = 0; i < linesAndNewlines.length; i++) { - var line = linesAndNewlines[i]; - if (i % 2 && !this.options.newlineIsToken) { - retLines[retLines.length - 1] += line; - } else { - if (this.options.ignoreWhitespace) { - line = line.trim(); - } - retLines.push(line); - } - } - return retLines; - }; - function diffLines(oldStr, newStr, callback) { - return lineDiff.diff(oldStr, newStr, callback); - } - function diffTrimmedLines(oldStr, newStr, callback) { - var options = (0, _params.generateOptions)(callback, { - ignoreWhitespace: true - }); - return lineDiff.diff(oldStr, newStr, options); - } - } -}); -var require_create = __commonJS2({ - "node_modules/diff/lib/patch/create.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.structuredPatch = structuredPatch; - exports2.formatPatch = formatPatch; - exports2.createTwoFilesPatch = createTwoFilesPatch; - exports2.createPatch = createPatch; - var _line = require_line(); - function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); - } - function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); - } - function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) - return Array.from(iter); - } - function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) - return _arrayLikeToArray(arr); - } - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) { - arr2[i] = arr[i]; - } - return arr2; - } - function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - if (!options) { - options = {}; - } - if (typeof options.context === "undefined") { - options.context = 4; - } - var diff = (0, _line.diffLines)(oldStr, newStr, options); - diff.push({ - value: "", - lines: [] - }); - function contextLines(lines) { - return lines.map(function(entry) { - return " " + entry; - }); - } - var hunks = []; - var oldRangeStart = 0, newRangeStart = 0, curRange = [], oldLine = 1, newLine = 1; - var _loop = function _loop2(i2) { - var current = diff[i2], lines = current.lines || current.value.replace(/\n$/, "").split("\n"); - current.lines = lines; - if (current.added || current.removed) { - var _curRange; - if (!oldRangeStart) { - var prev = diff[i2 - 1]; - oldRangeStart = oldLine; - newRangeStart = newLine; - if (prev) { - curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; - oldRangeStart -= curRange.length; - newRangeStart -= curRange.length; - } - } - (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function(entry) { - return (current.added ? "+" : "-") + entry; - }))); - if (current.added) { - newLine += lines.length; - } else { - oldLine += lines.length; - } - } else { - if (oldRangeStart) { - if (lines.length <= options.context * 2 && i2 < diff.length - 2) { - var _curRange2; - (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); - } else { - var _curRange3; - var contextSize = Math.min(lines.length, options.context); - (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); - var hunk = { - oldStart: oldRangeStart, - oldLines: oldLine - oldRangeStart + contextSize, - newStart: newRangeStart, - newLines: newLine - newRangeStart + contextSize, - lines: curRange - }; - if (i2 >= diff.length - 2 && lines.length <= options.context) { - var oldEOFNewline = /\n$/.test(oldStr); - var newEOFNewline = /\n$/.test(newStr); - var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; - if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { - curRange.splice(hunk.oldLines, 0, "\\ No newline at end of file"); - } - if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { - curRange.push("\\ No newline at end of file"); - } - } - hunks.push(hunk); - oldRangeStart = 0; - newRangeStart = 0; - curRange = []; - } - } - oldLine += lines.length; - newLine += lines.length; - } - }; - for (var i = 0; i < diff.length; i++) { - _loop(i); - } - return { - oldFileName, - newFileName, - oldHeader, - newHeader, - hunks - }; - } - function formatPatch(diff) { - var ret = []; - if (diff.oldFileName == diff.newFileName) { - ret.push("Index: " + diff.oldFileName); - } - ret.push("==================================================================="); - ret.push("--- " + diff.oldFileName + (typeof diff.oldHeader === "undefined" ? "" : " " + diff.oldHeader)); - ret.push("+++ " + diff.newFileName + (typeof diff.newHeader === "undefined" ? "" : " " + diff.newHeader)); - for (var i = 0; i < diff.hunks.length; i++) { - var hunk = diff.hunks[i]; - if (hunk.oldLines === 0) { - hunk.oldStart -= 1; - } - if (hunk.newLines === 0) { - hunk.newStart -= 1; - } - ret.push("@@ -" + hunk.oldStart + "," + hunk.oldLines + " +" + hunk.newStart + "," + hunk.newLines + " @@"); - ret.push.apply(ret, hunk.lines); - } - return ret.join("\n") + "\n"; - } - function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); - } - function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { - return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); - } - } -}); -var require_format = __commonJS2({ - "src/cli/format.js"(exports2, module2) { - "use strict"; - var { - promises: fs - } = require("fs"); - var path = require("path"); - var { - default: chalk2 - } = (init_source(), __toCommonJS(source_exports)); - var prettier2 = require("./index.js"); - var { - getStdin - } = require("./third-party.js"); - var { - createIgnorer, - errors - } = require_prettier_internal(); - var { - expandPatterns, - fixWindowsSlashes - } = require_expand_patterns(); - var getOptionsForFile = require_get_options_for_file(); - var isTTY = require_is_tty(); - var findCacheFile = require_find_cache_file(); - var FormatResultsCache = require_format_results_cache(); - var { - statSafe - } = require_utils(); - function diff(a, b) { - return require_create().createTwoFilesPatch("", "", a, b, "", "", { - context: 2 - }); - } - function handleError(context, filename, error, printedFilename) { - if (error instanceof errors.UndefinedParserError) { - if ((context.argv.write || context.argv.ignoreUnknown) && printedFilename) { - printedFilename.clear(); - } - if (context.argv.ignoreUnknown) { - return; - } - if (!context.argv.check && !context.argv.listDifferent) { - process.exitCode = 2; - } - context.logger.error(error.message); - return; - } - if (context.argv.write) { - process.stdout.write("\n"); - } - const isParseError = Boolean(error && error.loc); - const isValidationError = /^Invalid \S+ value\./.test(error && error.message); - if (isParseError) { - context.logger.error(`${filename}: ${String(error)}`); - } else if (isValidationError || error instanceof errors.ConfigError) { - context.logger.error(error.message); - process.exit(1); - } else if (error instanceof errors.DebugError) { - context.logger.error(`${filename}: ${error.message}`); - } else { - context.logger.error(filename + ": " + (error.stack || error)); - } - process.exitCode = 2; - } - function writeOutput(context, result, options) { - process.stdout.write(context.argv.debugCheck ? result.filepath : result.formatted); - if (options && options.cursorOffset >= 0) { - process.stderr.write(result.cursorOffset + "\n"); - } - } - function listDifferent(context, input, options, filename) { - if (!context.argv.check && !context.argv.listDifferent) { - return; - } - try { - if (!options.filepath && !options.parser) { - throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); - } - if (!prettier2.check(input, options)) { - if (!context.argv.write) { - context.logger.log(filename); - process.exitCode = 1; - } - } - } catch (error) { - context.logger.error(error.message); - } - return true; - } - function format(context, input, opt) { - if (!opt.parser && !opt.filepath) { - throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); - } - if (context.argv.debugPrintDoc) { - const doc = prettier2.__debug.printToDoc(input, opt); - return { - formatted: prettier2.__debug.formatDoc(doc) + "\n" - }; - } - if (context.argv.debugPrintComments) { - return { - formatted: prettier2.format(JSON.stringify(prettier2.formatWithCursor(input, opt).comments || []), { - parser: "json" - }) - }; - } - if (context.argv.debugPrintAst) { - const { - ast - } = prettier2.__debug.parse(input, opt); - return { - formatted: JSON.stringify(ast) - }; - } - if (context.argv.debugCheck) { - const pp = prettier2.format(input, opt); - const pppp = prettier2.format(pp, opt); - if (pp !== pppp) { - throw new errors.DebugError("prettier(input) !== prettier(prettier(input))\n" + diff(pp, pppp)); - } else { - const stringify2 = (obj) => JSON.stringify(obj, null, 2); - const ast = stringify2(prettier2.__debug.parse(input, opt, true).ast); - const past = stringify2(prettier2.__debug.parse(pp, opt, true).ast); - if (ast !== past) { - const MAX_AST_SIZE = 2097152; - const astDiff = ast.length > MAX_AST_SIZE || past.length > MAX_AST_SIZE ? "AST diff too large to render" : diff(ast, past); - throw new errors.DebugError("ast(input) !== ast(prettier(input))\n" + astDiff + "\n" + diff(input, pp)); - } - } - return { - formatted: pp, - filepath: opt.filepath || "(stdin)\n" - }; - } - const { - performanceTestFlag - } = context; - if (performanceTestFlag !== null && performanceTestFlag !== void 0 && performanceTestFlag.debugBenchmark) { - let benchmark; - try { - benchmark = require("benchmark"); - } catch { - context.logger.debug("'--debug-benchmark' requires the 'benchmark' package to be installed."); - process.exit(2); - } - context.logger.debug("'--debug-benchmark' option found, measuring formatWithCursor with 'benchmark' module."); - const suite = new benchmark.Suite(); - suite.add("format", () => { - prettier2.formatWithCursor(input, opt); - }).on("cycle", (event) => { - const results = { - benchmark: String(event.target), - hz: event.target.hz, - ms: event.target.times.cycle * 1e3 - }; - context.logger.debug("'--debug-benchmark' measurements for formatWithCursor: " + JSON.stringify(results, null, 2)); - }).run({ - async: false - }); - } else if (performanceTestFlag !== null && performanceTestFlag !== void 0 && performanceTestFlag.debugRepeat) { - const repeat = context.argv.debugRepeat; - context.logger.debug("'--debug-repeat' option found, running formatWithCursor " + repeat + " times."); - let totalMs = 0; - for (let i = 0; i < repeat; ++i) { - const startMs = Date.now(); - prettier2.formatWithCursor(input, opt); - totalMs += Date.now() - startMs; - } - const averageMs = totalMs / repeat; - const results = { - repeat, - hz: 1e3 / averageMs, - ms: averageMs - }; - context.logger.debug("'--debug-repeat' measurements for formatWithCursor: " + JSON.stringify(results, null, 2)); - } - return prettier2.formatWithCursor(input, opt); - } - async function createIgnorerFromContextOrDie(context) { - try { - return await createIgnorer(context.argv.ignorePath, context.argv.withNodeModules); - } catch (e) { - context.logger.error(e.message); - process.exit(2); - } - } - async function formatStdin2(context) { - const filepath = context.argv.filepath ? path.resolve(process.cwd(), context.argv.filepath) : process.cwd(); - const ignorer = await createIgnorerFromContextOrDie(context); - const relativeFilepath = context.argv.ignorePath ? path.relative(path.dirname(context.argv.ignorePath), filepath) : path.relative(process.cwd(), filepath); - try { - const input = await getStdin(); - if (relativeFilepath && ignorer.ignores(fixWindowsSlashes(relativeFilepath))) { - writeOutput(context, { - formatted: input - }); - return; - } - const options = await getOptionsForFile(context, filepath); - if (listDifferent(context, input, options, "(stdin)")) { - return; - } - const formatted = format(context, input, options); - const { - performanceTestFlag - } = context; - if (performanceTestFlag) { - context.logger.log(`'${performanceTestFlag.name}' option found, skipped print code to screen.`); - return; - } - writeOutput(context, formatted, options); - } catch (error) { - handleError(context, relativeFilepath || "stdin", error); - } - } - async function formatFiles2(context) { - var _formatResultsCache4; - const ignorer = await createIgnorerFromContextOrDie(context); - let numberOfUnformattedFilesFound = 0; - const { - performanceTestFlag - } = context; - if (context.argv.check && !performanceTestFlag) { - context.logger.log("Checking formatting..."); - } - let formatResultsCache; - const cacheFilePath = await findCacheFile(context.argv.cacheLocation); - if (context.argv.cache) { - formatResultsCache = new FormatResultsCache(cacheFilePath, context.argv.cacheStrategy || "content"); - } else { - if (context.argv.cacheStrategy) { - context.logger.error("`--cache-strategy` cannot be used without `--cache`."); - process.exit(2); - } - if (!context.argv.cacheLocation) { - const stat = await statSafe(cacheFilePath); - if (stat) { - await fs.unlink(cacheFilePath); - } - } - } - for await (const pathOrError of expandPatterns(context)) { - var _formatResultsCache; - if (typeof pathOrError === "object") { - context.logger.error(pathOrError.error); - process.exitCode = 2; - continue; - } - const filename = pathOrError; - const ignoreFilename = context.argv.ignorePath ? path.relative(path.dirname(context.argv.ignorePath), filename) : filename; - const fileIgnored = ignorer.ignores(fixWindowsSlashes(ignoreFilename)); - if (fileIgnored && (context.argv.debugCheck || context.argv.write || context.argv.check || context.argv.listDifferent)) { - continue; - } - const options = Object.assign(Object.assign({}, await getOptionsForFile(context, filename)), {}, { - filepath: filename - }); - let printedFilename; - if (isTTY()) { - printedFilename = context.logger.log(filename, { - newline: false, - clearable: true - }); - } - let input; - try { - input = await fs.readFile(filename, "utf8"); - } catch (error) { - context.logger.log(""); - context.logger.error(`Unable to read file: ${filename} -${error.message}`); - process.exitCode = 2; - continue; - } - if (fileIgnored) { - writeOutput(context, { - formatted: input - }, options); - continue; - } - const start = Date.now(); - const isCacheExists = (_formatResultsCache = formatResultsCache) === null || _formatResultsCache === void 0 ? void 0 : _formatResultsCache.existsAvailableFormatResultsCache(filename, options); - let result; - let output; - try { - if (isCacheExists) { - result = { - formatted: input - }; - } else { - result = format(context, input, options); - } - output = result.formatted; - } catch (error) { - handleError(context, filename, error, printedFilename); - continue; - } - const isDifferent = output !== input; - let shouldSetCache = !isDifferent; - if (printedFilename) { - printedFilename.clear(); - } - if (performanceTestFlag) { - context.logger.log(`'${performanceTestFlag.name}' option found, skipped print code or write files.`); - return; - } - if (context.argv.write) { - if (isDifferent) { - if (!context.argv.check && !context.argv.listDifferent) { - context.logger.log(`${filename} ${Date.now() - start}ms`); - } - try { - await fs.writeFile(filename, output, "utf8"); - shouldSetCache = true; - } catch (error) { - context.logger.error(`Unable to write file: ${filename} -${error.message}`); - process.exitCode = 2; - } - } else if (!context.argv.check && !context.argv.listDifferent) { - const message = `${chalk2.grey(filename)} ${Date.now() - start}ms`; - if (isCacheExists) { - context.logger.log(`${message} (cached)`); - } else { - context.logger.log(message); - } - } - } else if (context.argv.debugCheck) { - if (result.filepath) { - context.logger.log(result.filepath); - } else { - process.exitCode = 2; - } - } else if (!context.argv.check && !context.argv.listDifferent) { - writeOutput(context, result, options); - } - if (shouldSetCache) { - var _formatResultsCache2; - (_formatResultsCache2 = formatResultsCache) === null || _formatResultsCache2 === void 0 ? void 0 : _formatResultsCache2.setFormatResultsCache(filename, options); - } else { - var _formatResultsCache3; - (_formatResultsCache3 = formatResultsCache) === null || _formatResultsCache3 === void 0 ? void 0 : _formatResultsCache3.removeFormatResultsCache(filename); - } - if (isDifferent) { - if (context.argv.check) { - context.logger.warn(filename); - } else if (context.argv.listDifferent) { - context.logger.log(filename); - } - numberOfUnformattedFilesFound += 1; - } - } - (_formatResultsCache4 = formatResultsCache) === null || _formatResultsCache4 === void 0 ? void 0 : _formatResultsCache4.reconcile(); - if (context.argv.check) { - if (numberOfUnformattedFilesFound === 0) { - context.logger.log("All matched files use Prettier code style!"); - } else if (numberOfUnformattedFilesFound === 1) { - context.logger.warn(context.argv.write ? "Code style issues fixed in the above file." : "Code style issues found in the above file. Forgot to run Prettier?"); - } else { - context.logger.warn(context.argv.write ? "Code style issues found in " + numberOfUnformattedFilesFound + " files." : "Code style issues found in " + numberOfUnformattedFilesFound + " files. Forgot to run Prettier?"); - } - } - if ((context.argv.check || context.argv.listDifferent) && numberOfUnformattedFilesFound > 0 && !process.exitCode && !context.argv.write) { - process.exitCode = 1; - } - } - module2.exports = { - formatStdin: formatStdin2, - formatFiles: formatFiles2 - }; - } -}); -var require_file_info = __commonJS2({ - "src/cli/file-info.js"(exports2, module2) { - "use strict"; - var stringify2 = require_fast_json_stable_stringify(); - var prettier2 = require("./index.js"); - var { - printToScreen: printToScreen2 - } = require_utils(); - async function logFileInfoOrDie2(context) { - const { - fileInfo: file, - ignorePath, - withNodeModules, - plugins, - pluginSearchDirs, - config - } = context.argv; - const fileInfo = await prettier2.getFileInfo(file, { - ignorePath, - withNodeModules, - plugins, - pluginSearchDirs, - resolveConfig: config !== false - }); - printToScreen2(prettier2.format(stringify2(fileInfo), { - parser: "json" - })); - } - module2.exports = logFileInfoOrDie2; - } -}); -var require_find_config_path = __commonJS2({ - "src/cli/find-config-path.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var prettier2 = require("./index.js"); - var { - printToScreen: printToScreen2 - } = require_utils(); - async function logResolvedConfigPathOrDie2(context) { - const file = context.argv.findConfigPath; - const configFile = await prettier2.resolveConfigFile(file); - if (configFile) { - printToScreen2(path.relative(process.cwd(), configFile)); - } else { - throw new Error(`Can not find configure file for "${file}"`); - } - } - module2.exports = logResolvedConfigPathOrDie2; - } -}); -var stringify = require_fast_json_stable_stringify(); -var prettier = require("./index.js"); -var createLogger = require_logger(); -var Context = require_context(); -var { - parseArgvWithoutPlugins -} = require_parse_cli_arguments(); -var { - createDetailedUsage, - createUsage -} = require_usage(); -var { - formatStdin, - formatFiles -} = require_format(); -var logFileInfoOrDie = require_file_info(); -var logResolvedConfigPathOrDie = require_find_config_path(); -var { - utils: { - isNonEmptyArray - } -} = require_prettier_internal(); -var { - printToScreen -} = require_utils(); -async function run(rawArguments) { - let logger = createLogger(); - try { - const logLevel = parseArgvWithoutPlugins(rawArguments, logger, "loglevel").loglevel; - if (logLevel !== logger.logLevel) { - logger = createLogger(logLevel); - } - const context = new Context({ - rawArguments, - logger - }); - if (logger.logLevel !== "debug" && context.performanceTestFlag) { - context.logger = createLogger("debug"); - } - await main(context); - } catch (error) { - logger.error(error.message); - process.exitCode = 1; - } -} -async function main(context) { - context.logger.debug(`normalized argv: ${JSON.stringify(context.argv)}`); - if (context.argv.pluginSearch === false) { - const rawPluginSearchDirs = context.argv.__raw["plugin-search-dir"]; - if (typeof rawPluginSearchDirs === "string" || isNonEmptyArray(rawPluginSearchDirs)) { - throw new Error("Cannot use --no-plugin-search and --plugin-search-dir together."); - } - } - if (context.argv.check && context.argv.listDifferent) { - throw new Error("Cannot use --check and --list-different together."); - } - if (context.argv.write && context.argv.debugCheck) { - throw new Error("Cannot use --write and --debug-check together."); - } - if (context.argv.findConfigPath && context.filePatterns.length > 0) { - throw new Error("Cannot use --find-config-path with multiple files"); - } - if (context.argv.fileInfo && context.filePatterns.length > 0) { - throw new Error("Cannot use --file-info with multiple files"); - } - if (context.argv.version) { - printToScreen(prettier.version); - return; - } - if (context.argv.help !== void 0) { - printToScreen(typeof context.argv.help === "string" && context.argv.help !== "" ? createDetailedUsage(context, context.argv.help) : createUsage(context)); - return; - } - if (context.argv.supportInfo) { - printToScreen(prettier.format(stringify(prettier.getSupportInfo()), { - parser: "json" - })); - return; - } - const hasFilePatterns = context.filePatterns.length > 0; - const useStdin = !hasFilePatterns && (!process.stdin.isTTY || context.argv.filePath); - if (context.argv.findConfigPath) { - await logResolvedConfigPathOrDie(context); - } else if (context.argv.fileInfo) { - await logFileInfoOrDie(context); - } else if (useStdin) { - if (context.argv.cache) { - context.logger.error("`--cache` cannot be used with stdin."); - process.exit(2); - } - await formatStdin(context); - } else if (hasFilePatterns) { - await formatFiles(context); - } else { - process.exitCode = 1; - printToScreen(createUsage(context)); - } -} -module.exports = { - run -}; diff --git a/node_modules/ts-poet/node_modules/prettier/doc.js b/node_modules/ts-poet/node_modules/prettier/doc.js deleted file mode 100644 index c80ecd4251..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/doc.js +++ /dev/null @@ -1,1473 +0,0 @@ -(function (factory) { - if (typeof exports === "object" && typeof module === "object") { - module.exports = factory(); - } else if (typeof define === "function" && define.amd) { - define(factory); - } else { - var root = - typeof globalThis !== "undefined" - ? globalThis - : typeof global !== "undefined" - ? global - : typeof self !== "undefined" - ? self - : this || {}; - root.doc = factory(); - } -})(function() { - "use strict"; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; - - // dist/_doc.js.umd.js - var require_doc_js_umd = __commonJS({ - "dist/_doc.js.umd.js"(exports, module) { - var __create = Object.create; - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __getProtoOf = Object.getPrototypeOf; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res; - }; - var __commonJS2 = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { - exports: {} - }).exports, mod), mod.exports; - }; - var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { - get: all[name], - enumerable: true - }); - }; - var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { - get: () => from[key], - enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable - }); - } - return to; - }; - var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { - value: mod, - enumerable: true - }) : target, mod)); - var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { - value: true - }), mod); - var init_define_process = __esm({ - ""() { - } - }); - var require_doc_builders = __commonJS2({ - "src/document/doc-builders.js"(exports2, module2) { - "use strict"; - init_define_process(); - function concat(parts) { - if (false) { - for (const part of parts) { - assertDoc(part); - } - } - return { - type: "concat", - parts - }; - } - function indent(contents) { - if (false) { - assertDoc(contents); - } - return { - type: "indent", - contents - }; - } - function align(widthOrString, contents) { - if (false) { - assertDoc(contents); - } - return { - type: "align", - contents, - n: widthOrString - }; - } - function group(contents) { - let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - if (false) { - assertDoc(contents); - } - return { - type: "group", - id: opts.id, - contents, - break: Boolean(opts.shouldBreak), - expandedStates: opts.expandedStates - }; - } - function dedentToRoot(contents) { - return align(Number.NEGATIVE_INFINITY, contents); - } - function markAsRoot(contents) { - return align({ - type: "root" - }, contents); - } - function dedent(contents) { - return align(-1, contents); - } - function conditionalGroup(states, opts) { - return group(states[0], Object.assign(Object.assign({}, opts), {}, { - expandedStates: states - })); - } - function fill(parts) { - if (false) { - for (const part of parts) { - assertDoc(part); - } - } - return { - type: "fill", - parts - }; - } - function ifBreak(breakContents, flatContents) { - let opts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - if (false) { - if (breakContents) { - assertDoc(breakContents); - } - if (flatContents) { - assertDoc(flatContents); - } - } - return { - type: "if-break", - breakContents, - flatContents, - groupId: opts.groupId - }; - } - function indentIfBreak(contents, opts) { - return { - type: "indent-if-break", - contents, - groupId: opts.groupId, - negate: opts.negate - }; - } - function lineSuffix(contents) { - if (false) { - assertDoc(contents); - } - return { - type: "line-suffix", - contents - }; - } - var lineSuffixBoundary = { - type: "line-suffix-boundary" - }; - var breakParent = { - type: "break-parent" - }; - var trim = { - type: "trim" - }; - var hardlineWithoutBreakParent = { - type: "line", - hard: true - }; - var literallineWithoutBreakParent = { - type: "line", - hard: true, - literal: true - }; - var line = { - type: "line" - }; - var softline = { - type: "line", - soft: true - }; - var hardline = concat([hardlineWithoutBreakParent, breakParent]); - var literalline = concat([literallineWithoutBreakParent, breakParent]); - var cursor = { - type: "cursor", - placeholder: Symbol("cursor") - }; - function join(sep, arr) { - const res = []; - for (let i = 0; i < arr.length; i++) { - if (i !== 0) { - res.push(sep); - } - res.push(arr[i]); - } - return concat(res); - } - function addAlignmentToDoc(doc, size, tabWidth) { - let aligned = doc; - if (size > 0) { - for (let i = 0; i < Math.floor(size / tabWidth); ++i) { - aligned = indent(aligned); - } - aligned = align(size % tabWidth, aligned); - aligned = align(Number.NEGATIVE_INFINITY, aligned); - } - return aligned; - } - function label(label2, contents) { - return { - type: "label", - label: label2, - contents - }; - } - module2.exports = { - concat, - join, - line, - softline, - hardline, - literalline, - group, - conditionalGroup, - fill, - lineSuffix, - lineSuffixBoundary, - cursor, - breakParent, - ifBreak, - trim, - indent, - indentIfBreak, - align, - addAlignmentToDoc, - markAsRoot, - dedentToRoot, - dedent, - hardlineWithoutBreakParent, - literallineWithoutBreakParent, - label - }; - } - }); - var require_end_of_line = __commonJS2({ - "src/common/end-of-line.js"(exports2, module2) { - "use strict"; - init_define_process(); - function guessEndOfLine(text) { - const index = text.indexOf("\r"); - if (index >= 0) { - return text.charAt(index + 1) === "\n" ? "crlf" : "cr"; - } - return "lf"; - } - function convertEndOfLineToChars(value) { - switch (value) { - case "cr": - return "\r"; - case "crlf": - return "\r\n"; - default: - return "\n"; - } - } - function countEndOfLineChars(text, eol) { - let regex; - switch (eol) { - case "\n": - regex = /\n/g; - break; - case "\r": - regex = /\r/g; - break; - case "\r\n": - regex = /\r\n/g; - break; - default: - throw new Error(`Unexpected "eol" ${JSON.stringify(eol)}.`); - } - const endOfLines = text.match(regex); - return endOfLines ? endOfLines.length : 0; - } - function normalizeEndOfLine(text) { - return text.replace(/\r\n?/g, "\n"); - } - module2.exports = { - guessEndOfLine, - convertEndOfLineToChars, - countEndOfLineChars, - normalizeEndOfLine - }; - } - }); - var require_get_last = __commonJS2({ - "src/utils/get-last.js"(exports2, module2) { - "use strict"; - init_define_process(); - var getLast = (arr) => arr[arr.length - 1]; - module2.exports = getLast; - } - }); - function ansiRegex() { - let { - onlyFirst = false - } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - const pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(pattern, onlyFirst ? void 0 : "g"); - } - var init_ansi_regex = __esm({ - "node_modules/strip-ansi/node_modules/ansi-regex/index.js"() { - init_define_process(); - } - }); - function stripAnsi(string) { - if (typeof string !== "string") { - throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``); - } - return string.replace(ansiRegex(), ""); - } - var init_strip_ansi = __esm({ - "node_modules/strip-ansi/index.js"() { - init_define_process(); - init_ansi_regex(); - } - }); - function isFullwidthCodePoint(codePoint) { - if (!Number.isInteger(codePoint)) { - return false; - } - return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141); - } - var init_is_fullwidth_code_point = __esm({ - "node_modules/is-fullwidth-code-point/index.js"() { - init_define_process(); - } - }); - var require_emoji_regex = __commonJS2({ - "node_modules/emoji-regex/index.js"(exports2, module2) { - "use strict"; - init_define_process(); - module2.exports = function() { - return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; - }; - } - }); - var string_width_exports = {}; - __export(string_width_exports, { - default: () => stringWidth - }); - function stringWidth(string) { - if (typeof string !== "string" || string.length === 0) { - return 0; - } - string = stripAnsi(string); - if (string.length === 0) { - return 0; - } - string = string.replace((0, import_emoji_regex.default)(), " "); - let width = 0; - for (let index = 0; index < string.length; index++) { - const codePoint = string.codePointAt(index); - if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { - continue; - } - if (codePoint >= 768 && codePoint <= 879) { - continue; - } - if (codePoint > 65535) { - index++; - } - width += isFullwidthCodePoint(codePoint) ? 2 : 1; - } - return width; - } - var import_emoji_regex; - var init_string_width = __esm({ - "node_modules/string-width/index.js"() { - init_define_process(); - init_strip_ansi(); - init_is_fullwidth_code_point(); - import_emoji_regex = __toESM(require_emoji_regex()); - } - }); - var require_get_string_width = __commonJS2({ - "src/utils/get-string-width.js"(exports2, module2) { - "use strict"; - init_define_process(); - var stringWidth2 = (init_string_width(), __toCommonJS(string_width_exports)).default; - var notAsciiRegex = /[^\x20-\x7F]/; - function getStringWidth(text) { - if (!text) { - return 0; - } - if (!notAsciiRegex.test(text)) { - return text.length; - } - return stringWidth2(text); - } - module2.exports = getStringWidth; - } - }); - var require_doc_utils = __commonJS2({ - "src/document/doc-utils.js"(exports2, module2) { - "use strict"; - init_define_process(); - var getLast = require_get_last(); - var { - literalline, - join - } = require_doc_builders(); - var isConcat = (doc) => Array.isArray(doc) || doc && doc.type === "concat"; - var getDocParts = (doc) => { - if (Array.isArray(doc)) { - return doc; - } - if (doc.type !== "concat" && doc.type !== "fill") { - throw new Error("Expect doc type to be `concat` or `fill`."); - } - return doc.parts; - }; - var traverseDocOnExitStackMarker = {}; - function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { - const docsStack = [doc]; - while (docsStack.length > 0) { - const doc2 = docsStack.pop(); - if (doc2 === traverseDocOnExitStackMarker) { - onExit(docsStack.pop()); - continue; - } - if (onExit) { - docsStack.push(doc2, traverseDocOnExitStackMarker); - } - if (!onEnter || onEnter(doc2) !== false) { - if (isConcat(doc2) || doc2.type === "fill") { - const parts = getDocParts(doc2); - for (let ic = parts.length, i = ic - 1; i >= 0; --i) { - docsStack.push(parts[i]); - } - } else if (doc2.type === "if-break") { - if (doc2.flatContents) { - docsStack.push(doc2.flatContents); - } - if (doc2.breakContents) { - docsStack.push(doc2.breakContents); - } - } else if (doc2.type === "group" && doc2.expandedStates) { - if (shouldTraverseConditionalGroups) { - for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) { - docsStack.push(doc2.expandedStates[i]); - } - } else { - docsStack.push(doc2.contents); - } - } else if (doc2.contents) { - docsStack.push(doc2.contents); - } - } - } - } - function mapDoc(doc, cb) { - const mapped = /* @__PURE__ */ new Map(); - return rec(doc); - function rec(doc2) { - if (mapped.has(doc2)) { - return mapped.get(doc2); - } - const result = process2(doc2); - mapped.set(doc2, result); - return result; - } - function process2(doc2) { - if (Array.isArray(doc2)) { - return cb(doc2.map(rec)); - } - if (doc2.type === "concat" || doc2.type === "fill") { - const parts = doc2.parts.map(rec); - return cb(Object.assign(Object.assign({}, doc2), {}, { - parts - })); - } - if (doc2.type === "if-break") { - const breakContents = doc2.breakContents && rec(doc2.breakContents); - const flatContents = doc2.flatContents && rec(doc2.flatContents); - return cb(Object.assign(Object.assign({}, doc2), {}, { - breakContents, - flatContents - })); - } - if (doc2.type === "group" && doc2.expandedStates) { - const expandedStates = doc2.expandedStates.map(rec); - const contents = expandedStates[0]; - return cb(Object.assign(Object.assign({}, doc2), {}, { - contents, - expandedStates - })); - } - if (doc2.contents) { - const contents = rec(doc2.contents); - return cb(Object.assign(Object.assign({}, doc2), {}, { - contents - })); - } - return cb(doc2); - } - } - function findInDoc(doc, fn, defaultValue) { - let result = defaultValue; - let hasStopped = false; - function findInDocOnEnterFn(doc2) { - const maybeResult = fn(doc2); - if (maybeResult !== void 0) { - hasStopped = true; - result = maybeResult; - } - if (hasStopped) { - return false; - } - } - traverseDoc(doc, findInDocOnEnterFn); - return result; - } - function willBreakFn(doc) { - if (doc.type === "group" && doc.break) { - return true; - } - if (doc.type === "line" && doc.hard) { - return true; - } - if (doc.type === "break-parent") { - return true; - } - } - function willBreak(doc) { - return findInDoc(doc, willBreakFn, false); - } - function breakParentGroup(groupStack) { - if (groupStack.length > 0) { - const parentGroup = getLast(groupStack); - if (!parentGroup.expandedStates && !parentGroup.break) { - parentGroup.break = "propagated"; - } - } - return null; - } - function propagateBreaks(doc) { - const alreadyVisitedSet = /* @__PURE__ */ new Set(); - const groupStack = []; - function propagateBreaksOnEnterFn(doc2) { - if (doc2.type === "break-parent") { - breakParentGroup(groupStack); - } - if (doc2.type === "group") { - groupStack.push(doc2); - if (alreadyVisitedSet.has(doc2)) { - return false; - } - alreadyVisitedSet.add(doc2); - } - } - function propagateBreaksOnExitFn(doc2) { - if (doc2.type === "group") { - const group = groupStack.pop(); - if (group.break) { - breakParentGroup(groupStack); - } - } - } - traverseDoc(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, true); - } - function removeLinesFn(doc) { - if (doc.type === "line" && !doc.hard) { - return doc.soft ? "" : " "; - } - if (doc.type === "if-break") { - return doc.flatContents || ""; - } - return doc; - } - function removeLines(doc) { - return mapDoc(doc, removeLinesFn); - } - var isHardline = (doc, nextDoc) => doc && doc.type === "line" && doc.hard && nextDoc && nextDoc.type === "break-parent"; - function stripDocTrailingHardlineFromDoc(doc) { - if (!doc) { - return doc; - } - if (isConcat(doc) || doc.type === "fill") { - const parts = getDocParts(doc); - while (parts.length > 1 && isHardline(...parts.slice(-2))) { - parts.length -= 2; - } - if (parts.length > 0) { - const lastPart = stripDocTrailingHardlineFromDoc(getLast(parts)); - parts[parts.length - 1] = lastPart; - } - return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, { - parts - }); - } - switch (doc.type) { - case "align": - case "indent": - case "indent-if-break": - case "group": - case "line-suffix": - case "label": { - const contents = stripDocTrailingHardlineFromDoc(doc.contents); - return Object.assign(Object.assign({}, doc), {}, { - contents - }); - } - case "if-break": { - const breakContents = stripDocTrailingHardlineFromDoc(doc.breakContents); - const flatContents = stripDocTrailingHardlineFromDoc(doc.flatContents); - return Object.assign(Object.assign({}, doc), {}, { - breakContents, - flatContents - }); - } - } - return doc; - } - function stripTrailingHardline(doc) { - return stripDocTrailingHardlineFromDoc(cleanDoc(doc)); - } - function cleanDocFn(doc) { - switch (doc.type) { - case "fill": - if (doc.parts.every((part) => part === "")) { - return ""; - } - break; - case "group": - if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { - return ""; - } - if (doc.contents.type === "group" && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { - return doc.contents; - } - break; - case "align": - case "indent": - case "indent-if-break": - case "line-suffix": - if (!doc.contents) { - return ""; - } - break; - case "if-break": - if (!doc.flatContents && !doc.breakContents) { - return ""; - } - break; - } - if (!isConcat(doc)) { - return doc; - } - const parts = []; - for (const part of getDocParts(doc)) { - if (!part) { - continue; - } - const [currentPart, ...restParts] = isConcat(part) ? getDocParts(part) : [part]; - if (typeof currentPart === "string" && typeof getLast(parts) === "string") { - parts[parts.length - 1] += currentPart; - } else { - parts.push(currentPart); - } - parts.push(...restParts); - } - if (parts.length === 0) { - return ""; - } - if (parts.length === 1) { - return parts[0]; - } - return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, { - parts - }); - } - function cleanDoc(doc) { - return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc)); - } - function normalizeParts(parts) { - const newParts = []; - const restParts = parts.filter(Boolean); - while (restParts.length > 0) { - const part = restParts.shift(); - if (!part) { - continue; - } - if (isConcat(part)) { - restParts.unshift(...getDocParts(part)); - continue; - } - if (newParts.length > 0 && typeof getLast(newParts) === "string" && typeof part === "string") { - newParts[newParts.length - 1] += part; - continue; - } - newParts.push(part); - } - return newParts; - } - function normalizeDoc(doc) { - return mapDoc(doc, (currentDoc) => { - if (Array.isArray(currentDoc)) { - return normalizeParts(currentDoc); - } - if (!currentDoc.parts) { - return currentDoc; - } - return Object.assign(Object.assign({}, currentDoc), {}, { - parts: normalizeParts(currentDoc.parts) - }); - }); - } - function replaceEndOfLine(doc) { - return mapDoc(doc, (currentDoc) => typeof currentDoc === "string" && currentDoc.includes("\n") ? replaceTextEndOfLine(currentDoc) : currentDoc); - } - function replaceTextEndOfLine(text) { - let replacement = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : literalline; - return join(replacement, text.split("\n")).parts; - } - function canBreakFn(doc) { - if (doc.type === "line") { - return true; - } - } - function canBreak(doc) { - return findInDoc(doc, canBreakFn, false); - } - module2.exports = { - isConcat, - getDocParts, - willBreak, - traverseDoc, - findInDoc, - mapDoc, - propagateBreaks, - removeLines, - stripTrailingHardline, - normalizeParts, - normalizeDoc, - cleanDoc, - replaceTextEndOfLine, - replaceEndOfLine, - canBreak - }; - } - }); - var require_doc_printer = __commonJS2({ - "src/document/doc-printer.js"(exports2, module2) { - "use strict"; - init_define_process(); - var { - convertEndOfLineToChars - } = require_end_of_line(); - var getLast = require_get_last(); - var getStringWidth = require_get_string_width(); - var { - fill, - cursor, - indent - } = require_doc_builders(); - var { - isConcat, - getDocParts - } = require_doc_utils(); - var groupModeMap; - var MODE_BREAK = 1; - var MODE_FLAT = 2; - function rootIndent() { - return { - value: "", - length: 0, - queue: [] - }; - } - function makeIndent(ind, options) { - return generateInd(ind, { - type: "indent" - }, options); - } - function makeAlign(indent2, widthOrDoc, options) { - if (widthOrDoc === Number.NEGATIVE_INFINITY) { - return indent2.root || rootIndent(); - } - if (widthOrDoc < 0) { - return generateInd(indent2, { - type: "dedent" - }, options); - } - if (!widthOrDoc) { - return indent2; - } - if (widthOrDoc.type === "root") { - return Object.assign(Object.assign({}, indent2), {}, { - root: indent2 - }); - } - const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; - return generateInd(indent2, { - type: alignType, - n: widthOrDoc - }, options); - } - function generateInd(ind, newPart, options) { - const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; - let value = ""; - let length = 0; - let lastTabs = 0; - let lastSpaces = 0; - for (const part of queue) { - switch (part.type) { - case "indent": - flush(); - if (options.useTabs) { - addTabs(1); - } else { - addSpaces(options.tabWidth); - } - break; - case "stringAlign": - flush(); - value += part.n; - length += part.n.length; - break; - case "numberAlign": - lastTabs += 1; - lastSpaces += part.n; - break; - default: - throw new Error(`Unexpected type '${part.type}'`); - } - } - flushSpaces(); - return Object.assign(Object.assign({}, ind), {}, { - value, - length, - queue - }); - function addTabs(count) { - value += " ".repeat(count); - length += options.tabWidth * count; - } - function addSpaces(count) { - value += " ".repeat(count); - length += count; - } - function flush() { - if (options.useTabs) { - flushTabs(); - } else { - flushSpaces(); - } - } - function flushTabs() { - if (lastTabs > 0) { - addTabs(lastTabs); - } - resetLast(); - } - function flushSpaces() { - if (lastSpaces > 0) { - addSpaces(lastSpaces); - } - resetLast(); - } - function resetLast() { - lastTabs = 0; - lastSpaces = 0; - } - } - function trim(out) { - if (out.length === 0) { - return 0; - } - let trimCount = 0; - while (out.length > 0 && typeof getLast(out) === "string" && /^[\t ]*$/.test(getLast(out))) { - trimCount += out.pop().length; - } - if (out.length > 0 && typeof getLast(out) === "string") { - const trimmed = getLast(out).replace(/[\t ]*$/, ""); - trimCount += getLast(out).length - trimmed.length; - out[out.length - 1] = trimmed; - } - return trimCount; - } - function fits(next, restCommands, width, hasLineSuffix, mustBeFlat) { - let restIdx = restCommands.length; - const cmds = [next]; - const out = []; - while (width >= 0) { - if (cmds.length === 0) { - if (restIdx === 0) { - return true; - } - cmds.push(restCommands[--restIdx]); - continue; - } - const { - mode, - doc - } = cmds.pop(); - if (typeof doc === "string") { - out.push(doc); - width -= getStringWidth(doc); - } else if (isConcat(doc) || doc.type === "fill") { - const parts = getDocParts(doc); - for (let i = parts.length - 1; i >= 0; i--) { - cmds.push({ - mode, - doc: parts[i] - }); - } - } else { - switch (doc.type) { - case "indent": - case "align": - case "indent-if-break": - case "label": - cmds.push({ - mode, - doc: doc.contents - }); - break; - case "trim": - width += trim(out); - break; - case "group": { - if (mustBeFlat && doc.break) { - return false; - } - const groupMode = doc.break ? MODE_BREAK : mode; - const contents = doc.expandedStates && groupMode === MODE_BREAK ? getLast(doc.expandedStates) : doc.contents; - cmds.push({ - mode: groupMode, - doc: contents - }); - break; - } - case "if-break": { - const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode; - const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents; - if (contents) { - cmds.push({ - mode, - doc: contents - }); - } - break; - } - case "line": - if (mode === MODE_BREAK || doc.hard) { - return true; - } - if (!doc.soft) { - out.push(" "); - width--; - } - break; - case "line-suffix": - hasLineSuffix = true; - break; - case "line-suffix-boundary": - if (hasLineSuffix) { - return false; - } - break; - } - } - } - return false; - } - function printDocToString(doc, options) { - groupModeMap = {}; - const width = options.printWidth; - const newLine = convertEndOfLineToChars(options.endOfLine); - let pos = 0; - const cmds = [{ - ind: rootIndent(), - mode: MODE_BREAK, - doc - }]; - const out = []; - let shouldRemeasure = false; - const lineSuffix = []; - while (cmds.length > 0) { - const { - ind, - mode, - doc: doc2 - } = cmds.pop(); - if (typeof doc2 === "string") { - const formatted = newLine !== "\n" ? doc2.replace(/\n/g, newLine) : doc2; - out.push(formatted); - pos += getStringWidth(formatted); - } else if (isConcat(doc2)) { - const parts = getDocParts(doc2); - for (let i = parts.length - 1; i >= 0; i--) { - cmds.push({ - ind, - mode, - doc: parts[i] - }); - } - } else { - switch (doc2.type) { - case "cursor": - out.push(cursor.placeholder); - break; - case "indent": - cmds.push({ - ind: makeIndent(ind, options), - mode, - doc: doc2.contents - }); - break; - case "align": - cmds.push({ - ind: makeAlign(ind, doc2.n, options), - mode, - doc: doc2.contents - }); - break; - case "trim": - pos -= trim(out); - break; - case "group": - switch (mode) { - case MODE_FLAT: - if (!shouldRemeasure) { - cmds.push({ - ind, - mode: doc2.break ? MODE_BREAK : MODE_FLAT, - doc: doc2.contents - }); - break; - } - case MODE_BREAK: { - shouldRemeasure = false; - const next = { - ind, - mode: MODE_FLAT, - doc: doc2.contents - }; - const rem = width - pos; - const hasLineSuffix = lineSuffix.length > 0; - if (!doc2.break && fits(next, cmds, rem, hasLineSuffix)) { - cmds.push(next); - } else { - if (doc2.expandedStates) { - const mostExpanded = getLast(doc2.expandedStates); - if (doc2.break) { - cmds.push({ - ind, - mode: MODE_BREAK, - doc: mostExpanded - }); - break; - } else { - for (let i = 1; i < doc2.expandedStates.length + 1; i++) { - if (i >= doc2.expandedStates.length) { - cmds.push({ - ind, - mode: MODE_BREAK, - doc: mostExpanded - }); - break; - } else { - const state = doc2.expandedStates[i]; - const cmd = { - ind, - mode: MODE_FLAT, - doc: state - }; - if (fits(cmd, cmds, rem, hasLineSuffix)) { - cmds.push(cmd); - break; - } - } - } - } - } else { - cmds.push({ - ind, - mode: MODE_BREAK, - doc: doc2.contents - }); - } - } - break; - } - } - if (doc2.id) { - groupModeMap[doc2.id] = getLast(cmds).mode; - } - break; - case "fill": { - const rem = width - pos; - const { - parts - } = doc2; - if (parts.length === 0) { - break; - } - const [content, whitespace] = parts; - const contentFlatCmd = { - ind, - mode: MODE_FLAT, - doc: content - }; - const contentBreakCmd = { - ind, - mode: MODE_BREAK, - doc: content - }; - const contentFits = fits(contentFlatCmd, [], rem, lineSuffix.length > 0, true); - if (parts.length === 1) { - if (contentFits) { - cmds.push(contentFlatCmd); - } else { - cmds.push(contentBreakCmd); - } - break; - } - const whitespaceFlatCmd = { - ind, - mode: MODE_FLAT, - doc: whitespace - }; - const whitespaceBreakCmd = { - ind, - mode: MODE_BREAK, - doc: whitespace - }; - if (parts.length === 2) { - if (contentFits) { - cmds.push(whitespaceFlatCmd, contentFlatCmd); - } else { - cmds.push(whitespaceBreakCmd, contentBreakCmd); - } - break; - } - parts.splice(0, 2); - const remainingCmd = { - ind, - mode, - doc: fill(parts) - }; - const secondContent = parts[0]; - const firstAndSecondContentFlatCmd = { - ind, - mode: MODE_FLAT, - doc: [content, whitespace, secondContent] - }; - const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, lineSuffix.length > 0, true); - if (firstAndSecondContentFits) { - cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); - } else if (contentFits) { - cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); - } else { - cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); - } - break; - } - case "if-break": - case "indent-if-break": { - const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode; - if (groupMode === MODE_BREAK) { - const breakContents = doc2.type === "if-break" ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents); - if (breakContents) { - cmds.push({ - ind, - mode, - doc: breakContents - }); - } - } - if (groupMode === MODE_FLAT) { - const flatContents = doc2.type === "if-break" ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents; - if (flatContents) { - cmds.push({ - ind, - mode, - doc: flatContents - }); - } - } - break; - } - case "line-suffix": - lineSuffix.push({ - ind, - mode, - doc: doc2.contents - }); - break; - case "line-suffix-boundary": - if (lineSuffix.length > 0) { - cmds.push({ - ind, - mode, - doc: { - type: "line", - hard: true - } - }); - } - break; - case "line": - switch (mode) { - case MODE_FLAT: - if (!doc2.hard) { - if (!doc2.soft) { - out.push(" "); - pos += 1; - } - break; - } else { - shouldRemeasure = true; - } - case MODE_BREAK: - if (lineSuffix.length > 0) { - cmds.push({ - ind, - mode, - doc: doc2 - }, ...lineSuffix.reverse()); - lineSuffix.length = 0; - break; - } - if (doc2.literal) { - if (ind.root) { - out.push(newLine, ind.root.value); - pos = ind.root.length; - } else { - out.push(newLine); - pos = 0; - } - } else { - pos -= trim(out); - out.push(newLine + ind.value); - pos = ind.length; - } - break; - } - break; - case "label": - cmds.push({ - ind, - mode, - doc: doc2.contents - }); - break; - default: - } - } - if (cmds.length === 0 && lineSuffix.length > 0) { - cmds.push(...lineSuffix.reverse()); - lineSuffix.length = 0; - } - } - const cursorPlaceholderIndex = out.indexOf(cursor.placeholder); - if (cursorPlaceholderIndex !== -1) { - const otherCursorPlaceholderIndex = out.indexOf(cursor.placeholder, cursorPlaceholderIndex + 1); - const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); - const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); - const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); - return { - formatted: beforeCursor + aroundCursor + afterCursor, - cursorNodeStart: beforeCursor.length, - cursorNodeText: aroundCursor - }; - } - return { - formatted: out.join("") - }; - } - module2.exports = { - printDocToString - }; - } - }); - var require_doc_debug = __commonJS2({ - "src/document/doc-debug.js"(exports2, module2) { - "use strict"; - init_define_process(); - var { - isConcat, - getDocParts - } = require_doc_utils(); - function flattenDoc(doc) { - if (!doc) { - return ""; - } - if (isConcat(doc)) { - const res = []; - for (const part of getDocParts(doc)) { - if (isConcat(part)) { - res.push(...flattenDoc(part).parts); - } else { - const flattened = flattenDoc(part); - if (flattened !== "") { - res.push(flattened); - } - } - } - return { - type: "concat", - parts: res - }; - } - if (doc.type === "if-break") { - return Object.assign(Object.assign({}, doc), {}, { - breakContents: flattenDoc(doc.breakContents), - flatContents: flattenDoc(doc.flatContents) - }); - } - if (doc.type === "group") { - return Object.assign(Object.assign({}, doc), {}, { - contents: flattenDoc(doc.contents), - expandedStates: doc.expandedStates && doc.expandedStates.map(flattenDoc) - }); - } - if (doc.type === "fill") { - return { - type: "fill", - parts: doc.parts.map(flattenDoc) - }; - } - if (doc.contents) { - return Object.assign(Object.assign({}, doc), {}, { - contents: flattenDoc(doc.contents) - }); - } - return doc; - } - function printDocToDebug(doc) { - const printedSymbols = /* @__PURE__ */ Object.create(null); - const usedKeysForSymbols = /* @__PURE__ */ new Set(); - return printDoc(flattenDoc(doc)); - function printDoc(doc2, index, parentParts) { - if (typeof doc2 === "string") { - return JSON.stringify(doc2); - } - if (isConcat(doc2)) { - const printed = getDocParts(doc2).map(printDoc).filter(Boolean); - return printed.length === 1 ? printed[0] : `[${printed.join(", ")}]`; - } - if (doc2.type === "line") { - const withBreakParent = Array.isArray(parentParts) && parentParts[index + 1] && parentParts[index + 1].type === "break-parent"; - if (doc2.literal) { - return withBreakParent ? "literalline" : "literallineWithoutBreakParent"; - } - if (doc2.hard) { - return withBreakParent ? "hardline" : "hardlineWithoutBreakParent"; - } - if (doc2.soft) { - return "softline"; - } - return "line"; - } - if (doc2.type === "break-parent") { - const afterHardline = Array.isArray(parentParts) && parentParts[index - 1] && parentParts[index - 1].type === "line" && parentParts[index - 1].hard; - return afterHardline ? void 0 : "breakParent"; - } - if (doc2.type === "trim") { - return "trim"; - } - if (doc2.type === "indent") { - return "indent(" + printDoc(doc2.contents) + ")"; - } - if (doc2.type === "align") { - return doc2.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + printDoc(doc2.contents) + ")" : doc2.n < 0 ? "dedent(" + printDoc(doc2.contents) + ")" : doc2.n.type === "root" ? "markAsRoot(" + printDoc(doc2.contents) + ")" : "align(" + JSON.stringify(doc2.n) + ", " + printDoc(doc2.contents) + ")"; - } - if (doc2.type === "if-break") { - return "ifBreak(" + printDoc(doc2.breakContents) + (doc2.flatContents ? ", " + printDoc(doc2.flatContents) : "") + (doc2.groupId ? (!doc2.flatContents ? ', ""' : "") + `, { groupId: ${printGroupId(doc2.groupId)} }` : "") + ")"; - } - if (doc2.type === "indent-if-break") { - const optionsParts = []; - if (doc2.negate) { - optionsParts.push("negate: true"); - } - if (doc2.groupId) { - optionsParts.push(`groupId: ${printGroupId(doc2.groupId)}`); - } - const options = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; - return `indentIfBreak(${printDoc(doc2.contents)}${options})`; - } - if (doc2.type === "group") { - const optionsParts = []; - if (doc2.break && doc2.break !== "propagated") { - optionsParts.push("shouldBreak: true"); - } - if (doc2.id) { - optionsParts.push(`id: ${printGroupId(doc2.id)}`); - } - const options = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; - if (doc2.expandedStates) { - return `conditionalGroup([${doc2.expandedStates.map((part) => printDoc(part)).join(",")}]${options})`; - } - return `group(${printDoc(doc2.contents)}${options})`; - } - if (doc2.type === "fill") { - return `fill([${doc2.parts.map((part) => printDoc(part)).join(", ")}])`; - } - if (doc2.type === "line-suffix") { - return "lineSuffix(" + printDoc(doc2.contents) + ")"; - } - if (doc2.type === "line-suffix-boundary") { - return "lineSuffixBoundary"; - } - if (doc2.type === "label") { - return `label(${JSON.stringify(doc2.label)}, ${printDoc(doc2.contents)})`; - } - throw new Error("Unknown doc type " + doc2.type); - } - function printGroupId(id) { - if (typeof id !== "symbol") { - return JSON.stringify(String(id)); - } - if (id in printedSymbols) { - return printedSymbols[id]; - } - const prefix = String(id).slice(7, -1) || "symbol"; - for (let counter = 0; ; counter++) { - const key = prefix + (counter > 0 ? ` #${counter}` : ""); - if (!usedKeysForSymbols.has(key)) { - usedKeysForSymbols.add(key); - return printedSymbols[id] = `Symbol.for(${JSON.stringify(key)})`; - } - } - } - } - module2.exports = { - printDocToDebug - }; - } - }); - init_define_process(); - module.exports = { - builders: require_doc_builders(), - printer: require_doc_printer(), - utils: require_doc_utils(), - debug: require_doc_debug() - }; - } - }); - return require_doc_js_umd(); -}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-angular.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-angular.mjs deleted file mode 100644 index e2f088162a..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-angular.mjs +++ /dev/null @@ -1,2 +0,0 @@ -var De=Object.defineProperty,ar=Object.getOwnPropertyDescriptor,ze=Object.getOwnPropertyNames,or=Object.prototype.hasOwnProperty,Y=(e,t)=>function(){return e&&(t=(0,e[ze(e)[0]])(e=0)),t},W=(e,t)=>function(){return t||(0,e[ze(e)[0]])((t={exports:{}}).exports,t),t.exports},He=(e,t)=>{for(var r in t)De(e,r,{get:t[r],enumerable:!0})},cr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ze(t))!or.call(e,s)&&s!==r&&De(e,s,{get:()=>t[s],enumerable:!(n=ar(t,s))||n.enumerable});return e},Ne=e=>cr(De({},"__esModule",{value:!0}),e),L=Y({""(){}}),ur=W({"src/utils/is-non-empty-array.js"(e,t){"use strict";L();function r(n){return Array.isArray(n)&&n.length>0}t.exports=r}}),lr=W({"src/language-js/loc.js"(e,t){"use strict";L();var r=ur();function n(l){var P,p;let x=l.range?l.range[0]:l.start,C=(P=(p=l.declaration)===null||p===void 0?void 0:p.decorators)!==null&&P!==void 0?P:l.decorators;return r(C)?Math.min(n(C[0]),x):x}function s(l){return l.range?l.range[1]:l.end}function a(l,P){let p=n(l);return Number.isInteger(p)&&p===n(P)}function i(l,P){let p=s(l);return Number.isInteger(p)&&p===s(P)}function h(l,P){return a(l,P)&&i(l,P)}t.exports={locStart:n,locEnd:s,hasSameLocStart:a,hasSameLoc:h}}}),hr=W({"node_modules/angular-estree-parser/node_modules/lines-and-columns/build/index.js"(e){"use strict";L(),e.__esModule=!0,e.LinesAndColumns=void 0;var t=` -`,r="\r",n=function(){function s(a){this.string=a;for(var i=[0],h=0;hthis.string.length)return null;for(var i=0,h=this.offsets;h[i+1]<=a;)i++;var l=a-h[i];return{line:i,column:l}},s.prototype.indexForLocation=function(a){var i=a.line,h=a.column;return i<0||i>=this.offsets.length||h<0||h>this.lengthOfLine(i)?null:this.offsets[i]+h},s.prototype.lengthOfLine=function(a){var i=this.offsets[a],h=a===this.offsets.length-1?this.string.length:this.offsets[a+1];return h-i},s}();e.LinesAndColumns=n,e.default=n}}),pr=W({"node_modules/angular-estree-parser/lib/context.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.Context=void 0;var t=hr(),r=class{constructor(s){this.text=s,this.locator=new n(this.text)}};e.Context=r;var n=class{constructor(s){this._lineAndColumn=new t.default(s)}locationForIndex(s){let{line:a,column:i}=this._lineAndColumn.locationForIndex(s);return{line:a+1,column:i}}}}}),Xe={};He(Xe,{AST:()=>k,ASTWithName:()=>G,ASTWithSource:()=>V,AbsoluteSourceSpan:()=>U,AstMemoryEfficientTransformer:()=>Pt,AstTransformer:()=>wt,Binary:()=>B,BindingPipe:()=>fe,BoundElementProperty:()=>_t,Chain:()=>oe,Conditional:()=>ce,EmptyExpr:()=>K,ExpressionBinding:()=>Ye,FunctionCall:()=>Pe,ImplicitReceiver:()=>Oe,Interpolation:()=>me,KeyedRead:()=>he,KeyedWrite:()=>de,LiteralArray:()=>ge,LiteralMap:()=>ve,LiteralPrimitive:()=>$,MethodCall:()=>ye,NonNullAssert:()=>Se,ParseSpan:()=>q,ParsedEvent:()=>Et,ParsedProperty:()=>Ct,ParsedPropertyType:()=>se,ParsedVariable:()=>At,ParserError:()=>ae,PrefixNot:()=>xe,PropertyRead:()=>ne,PropertyWrite:()=>ue,Quote:()=>be,RecursiveAstVisitor:()=>Ze,SafeKeyedRead:()=>pe,SafeMethodCall:()=>we,SafePropertyRead:()=>le,ThisReceiver:()=>Je,Unary:()=>F,VariableBinding:()=>Le});var ae,q,k,G,be,K,Oe,Je,oe,ce,ne,ue,le,he,pe,de,fe,$,ge,ve,me,B,F,xe,Se,ye,we,Pe,U,V,Le,Ye,Ze,wt,Pt,Ct,se,Et,At,_t,et=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/ast.js"(){L(),ae=class{constructor(e,t,r,n){this.input=t,this.errLocation=r,this.ctxLocation=n,this.message=`Parser Error: ${e} ${r} [${t}] in ${n}`}},q=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new U(e+this.start,e+this.end)}},k=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},G=class extends k{constructor(e,t,r){super(e,t),this.nameSpan=r}},be=class extends k{constructor(e,t,r,n,s){super(e,t),this.prefix=r,this.uninterpretedExpression=n,this.location=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitQuote(this,t)}toString(){return"Quote"}},K=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null}},Oe=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitImplicitReceiver(this,t)}},Je=class extends Oe{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;var r;return(r=e.visitThisReceiver)===null||r===void 0?void 0:r.call(e,this,t)}},oe=class extends k{constructor(e,t,r){super(e,t),this.expressions=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitChain(this,t)}},ce=class extends k{constructor(e,t,r,n,s){super(e,t),this.condition=r,this.trueExp=n,this.falseExp=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitConditional(this,t)}},ne=class extends G{constructor(e,t,r,n,s){super(e,t,r),this.receiver=n,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyRead(this,t)}},ue=class extends G{constructor(e,t,r,n,s,a){super(e,t,r),this.receiver=n,this.name=s,this.value=a}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyWrite(this,t)}},le=class extends G{constructor(e,t,r,n,s){super(e,t,r),this.receiver=n,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafePropertyRead(this,t)}},he=class extends k{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedRead(this,t)}},pe=class extends k{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeKeyedRead(this,t)}},de=class extends k{constructor(e,t,r,n,s){super(e,t),this.receiver=r,this.key=n,this.value=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedWrite(this,t)}},fe=class extends G{constructor(e,t,r,n,s,a){super(e,t,a),this.exp=r,this.name=n,this.args=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPipe(this,t)}},$=class extends k{constructor(e,t,r){super(e,t),this.value=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralPrimitive(this,t)}},ge=class extends k{constructor(e,t,r){super(e,t),this.expressions=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralArray(this,t)}},ve=class extends k{constructor(e,t,r,n){super(e,t),this.keys=r,this.values=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralMap(this,t)}},me=class extends k{constructor(e,t,r,n){super(e,t),this.strings=r,this.expressions=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitInterpolation(this,t)}},B=class extends k{constructor(e,t,r,n,s){super(e,t),this.operation=r,this.left=n,this.right=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitBinary(this,t)}},F=class extends B{constructor(e,t,r,n,s,a,i){super(e,t,s,a,i),this.operator=r,this.expr=n}static createMinus(e,t,r){return new F(e,t,"-",r,"-",new $(e,t,0),r)}static createPlus(e,t,r){return new F(e,t,"+",r,"-",r,new $(e,t,0))}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},xe=class extends k{constructor(e,t,r){super(e,t),this.expression=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPrefixNot(this,t)}},Se=class extends k{constructor(e,t,r){super(e,t),this.expression=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitNonNullAssert(this,t)}},ye=class extends G{constructor(e,t,r,n,s,a,i){super(e,t,r),this.receiver=n,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitMethodCall(this,t)}},we=class extends G{constructor(e,t,r,n,s,a,i){super(e,t,r),this.receiver=n,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeMethodCall(this,t)}},Pe=class extends k{constructor(e,t,r,n){super(e,t),this.target=r,this.args=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitFunctionCall(this,t)}},U=class{constructor(e,t){this.start=e,this.end=t}},V=class extends k{constructor(e,t,r,n,s){super(new q(0,t===null?0:t.length),new U(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=r,this.errors=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},Le=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},Ye=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},Ze=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitFunctionCall(e,t){e.target&&this.visit(e.target,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitQuote(e,t){}visitAll(e,t){for(let r of e)this.visit(r,t)}},wt=class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){return new me(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}visitLiteralPrimitive(e,t){return new $(e.span,e.sourceSpan,e.value)}visitPropertyRead(e,t){return new ne(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitPropertyWrite(e,t){return new ue(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}visitSafePropertyRead(e,t){return new le(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitMethodCall(e,t){return new ye(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitSafeMethodCall(e,t){return new we(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitFunctionCall(e,t){return new Pe(e.span,e.sourceSpan,e.target.visit(this),this.visitAll(e.args))}visitLiteralArray(e,t){return new ge(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitLiteralMap(e,t){return new ve(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}visitUnary(e,t){switch(e.operator){case"+":return F.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return F.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error(`Unknown unary operator ${e.operator}`)}}visitBinary(e,t){return new B(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}visitPrefixNot(e,t){return new xe(e.span,e.sourceSpan,e.expression.visit(this))}visitNonNullAssert(e,t){return new Se(e.span,e.sourceSpan,e.expression.visit(this))}visitConditional(e,t){return new ce(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}visitPipe(e,t){return new fe(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}visitKeyedRead(e,t){return new he(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}visitKeyedWrite(e,t){return new de(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this),e.value.visit(this))}visitAll(e){let t=[];for(let r=0;r=tt&&e<=rt||e==pt}function Q(e){return Kt<=e&&e<=Mt}function fr(e){return e>=lt&&e<=ht||e>=ct&&e<=ut}function vt(e){return e===it||e===nt||e===Ht}var Ce,tt,It,Ot,kt,Nt,rt,bt,nt,Lt,st,Rt,Me,it,Ee,z,Tt,at,ee,ot,H,Re,X,te,$t,ie,Bt,je,Kt,Mt,ct,jt,ut,Ae,Ft,re,Ut,$e,lt,Wt,Gt,Vt,qt,Qt,Dt,zt,ht,Te,Fe,_e,pt,Ht,Xt=Y({"node_modules/@angular/compiler/esm2015/src/chars.js"(){L(),Ce=0,tt=9,It=10,Ot=11,kt=12,Nt=13,rt=32,bt=33,nt=34,Lt=35,st=36,Rt=37,Me=38,it=39,Ee=40,z=41,Tt=42,at=43,ee=44,ot=45,H=46,Re=47,X=58,te=59,$t=60,ie=61,Bt=62,je=63,Kt=48,Mt=57,ct=65,jt=69,ut=90,Ae=91,Ft=92,re=93,Ut=94,$e=95,lt=97,Wt=101,Gt=102,Vt=110,qt=114,Qt=116,Dt=117,zt=118,ht=122,Te=123,Fe=124,_e=125,pt=160,Ht=96}}),Jt={};He(Jt,{EOF:()=>Ie,Lexer:()=>Zt,Token:()=>M,TokenType:()=>S,isIdentifier:()=>Yt});function mt(e,t,r){return new M(e,t,S.Character,r,String.fromCharCode(r))}function gr(e,t,r){return new M(e,t,S.Identifier,0,r)}function vr(e,t,r){return new M(e,t,S.PrivateIdentifier,0,r)}function mr(e,t,r){return new M(e,t,S.Keyword,0,r)}function Be(e,t,r){return new M(e,t,S.Operator,0,r)}function xr(e,t,r){return new M(e,t,S.String,0,r)}function Sr(e,t,r){return new M(e,t,S.Number,r,"")}function yr(e,t,r){return new M(e,t,S.Error,0,r)}function Ue(e){return lt<=e&&e<=ht||ct<=e&&e<=ut||e==$e||e==st}function Yt(e){if(e.length==0)return!1;let t=new Ge(e);if(!Ue(t.peek))return!1;for(t.advance();t.peek!==Ce;){if(!We(t.peek))return!1;t.advance()}return!0}function We(e){return fr(e)||Q(e)||e==$e||e==st}function wr(e){return e==Wt||e==jt}function Pr(e){return e==ot||e==at}function Cr(e){switch(e){case Vt:return It;case Gt:return kt;case qt:return Nt;case Qt:return tt;case zt:return Ot;default:return e}}function Er(e){let t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var S,xt,Zt,M,Ie,Ge,er=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/lexer.js"(){L(),Xt(),function(e){e[e.Character=0]="Character",e[e.Identifier=1]="Identifier",e[e.PrivateIdentifier=2]="PrivateIdentifier",e[e.Keyword=3]="Keyword",e[e.String=4]="String",e[e.Operator=5]="Operator",e[e.Number=6]="Number",e[e.Error=7]="Error"}(S||(S={})),xt=["var","let","as","null","undefined","true","false","if","else","this"],Zt=class{tokenize(e){let t=new Ge(e),r=[],n=t.scanToken();for(;n!=null;)r.push(n),n=t.scanToken();return r}},M=class{constructor(e,t,r,n,s){this.index=e,this.end=t,this.type=r,this.numValue=n,this.strValue=s}isCharacter(e){return this.type==S.Character&&this.numValue==e}isNumber(){return this.type==S.Number}isString(){return this.type==S.String}isOperator(e){return this.type==S.Operator&&this.strValue==e}isIdentifier(){return this.type==S.Identifier}isPrivateIdentifier(){return this.type==S.PrivateIdentifier}isKeyword(){return this.type==S.Keyword}isKeywordLet(){return this.type==S.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==S.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==S.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==S.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==S.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==S.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==S.Keyword&&this.strValue=="this"}isError(){return this.type==S.Error}toNumber(){return this.type==S.Number?this.numValue:-1}toString(){switch(this.type){case S.Character:case S.Identifier:case S.Keyword:case S.Operator:case S.PrivateIdentifier:case S.String:case S.Error:return this.strValue;case S.Number:return this.numValue.toString();default:return null}}},Ie=new M(-1,-1,S.Character,0,""),Ge=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?Ce:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,r=this.peek,n=this.index;for(;r<=rt;)if(++n>=t){r=Ce;break}else r=e.charCodeAt(n);if(this.peek=r,this.index=n,n>=t)return null;if(Ue(r))return this.scanIdentifier();if(Q(r))return this.scanNumber(n);let s=n;switch(r){case H:return this.advance(),Q(this.peek)?this.scanNumber(s):mt(s,this.index,H);case Ee:case z:case Te:case _e:case Ae:case re:case ee:case X:case te:return this.scanCharacter(s,r);case it:case nt:return this.scanString();case Lt:return this.scanPrivateIdentifier();case at:case ot:case Tt:case Re:case Rt:case Ut:return this.scanOperator(s,String.fromCharCode(r));case je:return this.scanQuestion(s);case $t:case Bt:return this.scanComplexOperator(s,String.fromCharCode(r),ie,"=");case bt:case ie:return this.scanComplexOperator(s,String.fromCharCode(r),ie,"=",ie,"=");case Me:return this.scanComplexOperator(s,"&",Me,"&");case Fe:return this.scanComplexOperator(s,"|",Fe,"|");case pt:for(;dr(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(r)}]`,0)}scanCharacter(e,t){return this.advance(),mt(e,this.index,t)}scanOperator(e,t){return this.advance(),Be(e,this.index,t)}scanComplexOperator(e,t,r,n,s,a){this.advance();let i=t;return this.peek==r&&(this.advance(),i+=n),s!=null&&this.peek==s&&(this.advance(),i+=a),Be(e,this.index,i)}scanIdentifier(){let e=this.index;for(this.advance();We(this.peek);)this.advance();let t=this.input.substring(e,this.index);return xt.indexOf(t)>-1?mr(e,this.index,t):gr(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!Ue(this.peek))return this.error("Invalid character [#]",-1);for(;We(this.peek);)this.advance();let t=this.input.substring(e,this.index);return vr(e,this.index,t)}scanNumber(e){let t=this.index===e,r=!1;for(this.advance();;){if(!Q(this.peek))if(this.peek===$e){if(!Q(this.input.charCodeAt(this.index-1))||!Q(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);r=!0}else if(this.peek===H)t=!1;else if(wr(this.peek)){if(this.advance(),Pr(this.peek)&&this.advance(),!Q(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);r&&(n=n.replace(/_/g,""));let s=t?Er(n):parseFloat(n);return Sr(e,this.index,s)}scanString(){let e=this.index,t=this.peek;this.advance();let r="",n=this.index,s=this.input;for(;this.peek!=t;)if(this.peek==Ft){r+=s.substring(n,this.index),this.advance();let i;if(this.peek=this.peek,this.peek==Dt){let h=s.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(h))i=parseInt(h,16);else return this.error(`Invalid unicode escape [\\u${h}]`,0);for(let l=0;l<5;l++)this.advance()}else i=Cr(this.peek),this.advance();r+=String.fromCharCode(i),n=this.index}else{if(this.peek==Ce)return this.error("Unterminated quote",0);this.advance()}let a=s.substring(n,this.index);return this.advance(),xr(e,this.index,r+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===je||this.peek===H)&&(t+=this.peek===H?".":"?",this.advance()),Be(e,this.index,t)}error(e,t){let r=this.index+t;return yr(r,this.index,`Lexer Error: ${e} at column ${r} in expression [${this.input}]`)}}}});function Ar(e,t){if(t!=null&&!(Array.isArray(t)&&t.length==2))throw new Error(`Expected '${e}' to be an array, [start, end].`);if(t!=null){let r=t[0],n=t[1];tr.forEach(s=>{if(s.test(r)||s.test(n))throw new Error(`['${r}', '${n}'] contains unusable interpolation symbol.`)})}}var tr,_r=Y({"node_modules/@angular/compiler/esm2015/src/assertions.js"(){L(),tr=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]}}),Ke,J,Ir=Y({"node_modules/@angular/compiler/esm2015/src/ml_parser/interpolation_config.js"(){L(),_r(),Ke=class{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(Ar("interpolation",e),new Ke(e[0],e[1])):J}},J=new Ke("{{","}}")}}),rr={};He(rr,{IvyParser:()=>nr,Parser:()=>Qe,SplitInterpolation:()=>Ve,TemplateBindingParseResult:()=>qe,_ParseAST:()=>D});var Ve,qe,Qe,nr,Z,D,St,yt,Or=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/parser.js"(){L(),Xt(),Ir(),et(),er(),Ve=class{constructor(e,t,r){this.strings=e,this.expressions=t,this.offsets=r}},qe=class{constructor(e,t,r){this.templateBindings=e,this.warnings=t,this.errors=r}},Qe=class{constructor(e){this._lexer=e,this.errors=[],this.simpleExpressionChecker=St}parseAction(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J;this._checkNoInterpolation(e,t,n);let s=this._stripComments(e),a=this._lexer.tokenize(this._stripComments(e)),i=new D(e,t,r,a,s.length,!0,this.errors,e.length-s.length).parseChain();return new V(i,e,t,r,this.errors)}parseBinding(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,r,n);return new V(s,e,t,r,this.errors)}checkSimpleExpression(e){let t=new this.simpleExpressionChecker;return e.visit(t),t.errors}parseSimpleBinding(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,r,n),a=this.checkSimpleExpression(s);return a.length>0&&this._reportError(`Host binding expression cannot contain ${a.join(" ")}`,e,t),new V(s,e,t,r,this.errors)}_reportError(e,t,r,n){this.errors.push(new ae(e,t,r,n))}_parseBindingAst(e,t,r,n){let s=this._parseQuote(e,t,r);if(s!=null)return s;this._checkNoInterpolation(e,t,n);let a=this._stripComments(e),i=this._lexer.tokenize(a);return new D(e,t,r,i,a.length,!1,this.errors,e.length-a.length).parseChain()}_parseQuote(e,t,r){if(e==null)return null;let n=e.indexOf(":");if(n==-1)return null;let s=e.substring(0,n).trim();if(!Yt(s))return null;let a=e.substring(n+1),i=new q(0,e.length);return new be(i,i.toAbsolute(r),s,a,t)}parseTemplateBindings(e,t,r,n,s){let a=this._lexer.tokenize(t);return new D(t,r,s,a,t.length,!1,this.errors,0).parseTemplateBindings({source:e,span:new U(n,n+e.length)})}parseInterpolation(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,{strings:s,expressions:a,offsets:i}=this.splitInterpolation(e,t,n);if(a.length===0)return null;let h=[];for(let l=0;ll.text),h,e,t,r)}parseInterpolationExpression(e,t,r){let n=this._stripComments(e),s=this._lexer.tokenize(n),a=new D(e,t,r,s,n.length,!1,this.errors,0).parseChain(),i=["",""];return this.createInterpolationAst(i,[a],e,t,r)}createInterpolationAst(e,t,r,n,s){let a=new q(0,r.length),i=new me(a,a.toAbsolute(s),e,t);return new V(i,r,n,s,this.errors)}splitInterpolation(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:J,n=[],s=[],a=[],i=0,h=!1,l=!1,{start:P,end:p}=r;for(;i-1)break;a>-1&&i>-1&&this._reportError(`Got interpolation (${n}${s}) where expression was expected`,e,`at column ${a} in`,t)}_getInterpolationEndIndex(e,t,r){for(let n of this._forEachUnquotedChar(e,r)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let r=null,n=0;for(let s=t;s=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let r=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(r=t),e>r){let n=r;r=e,e=n}return new q(e,r)}sourceSpan(e,t){let r=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(r)||this.sourceSpanCache.set(r,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(r)}advance(){this.index++}withContext(e,t){this.context|=e;let r=t();return this.context^=e,r}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Ie?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==S.Operator;){let r=this.next.strValue;switch(r){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==S.Operator;){let r=this.next.strValue;switch(r){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parsePrefix(){if(this.next.type==S.Operator){let e=this.inputIndex,t=this.next.strValue,r;switch(t){case"+":return this.advance(),r=this.parsePrefix(),F.createPlus(this.span(e),this.sourceSpan(e),r);case"-":return this.advance(),r=this.parsePrefix(),F.createMinus(this.span(e),this.sourceSpan(e),r);case"!":return this.advance(),r=this.parsePrefix(),new xe(this.span(e),this.sourceSpan(e),r)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(H))t=this.parseAccessMemberOrMethodCall(t,e,!1);else if(this.consumeOptionalOperator("?."))t=this.consumeOptionalCharacter(Ae)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMemberOrMethodCall(t,e,!0);else if(this.consumeOptionalCharacter(Ae))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(z),t=new Pe(this.span(e),this.sourceSpan(e),t,r)}else if(this.consumeOptionalOperator("!"))t=new Se(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(z),t}else{if(this.next.isKeywordNull())return this.advance(),new $(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new $(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new $(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new $(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Je(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(Ae)){this.rbracketsExpected++;let t=this.parseExpressionList(re);return this.rbracketsExpected--,this.expectCharacter(re),new ge(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(Te))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Oe(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new $(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new $(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new K(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new K(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new K(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(ee));return t}parseLiteralMap(){let e=[],t=[],r=this.inputIndex;if(this.expectCharacter(Te),!this.consumeOptionalCharacter(_e)){this.rbracesExpected++;do{let n=this.inputIndex,s=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:s}),s)this.expectCharacter(X),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(X))t.push(this.parsePipe());else{let i=this.span(n),h=this.sourceSpan(n);t.push(new ne(i,h,h,new Oe(i,h),a))}}while(this.consumeOptionalCharacter(ee));this.rbracesExpected--,this.expectCharacter(_e)}return new ve(this.span(r),this.sourceSpan(r),e,t)}parseAccessMemberOrMethodCall(e,t,r){let n=this.inputIndex,s=this.withContext(Z.Writable,()=>{var i;let h=(i=this.expectIdentifierOrKeyword())!==null&&i!==void 0?i:"";return h.length===0&&this.error("Expected identifier for property access",e.span.end),h}),a=this.sourceSpan(n);if(this.consumeOptionalCharacter(Ee)){let i=this.inputIndex;this.rparensExpected++;let h=this.parseCallArguments(),l=this.span(i,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(z),this.rparensExpected--;let P=this.span(t),p=this.sourceSpan(t);return r?new we(P,p,a,e,s,h,l):new ye(P,p,a,e,s,h,l)}else{if(r)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new K(this.span(t),this.sourceSpan(t))):new le(this.span(t),this.sourceSpan(t),a,e,s);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new K(this.span(t),this.sourceSpan(t));let i=this.parseConditional();return new ue(this.span(t),this.sourceSpan(t),a,e,s,i)}else return new ne(this.span(t),this.sourceSpan(t),a,e,s)}}parseCallArguments(){if(this.next.isCharacter(z))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(ee));return e}expectTemplateBindingKey(){let e="",t=!1,r=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new U(r,r+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof K&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(re),this.consumeOptionalOperator("="))if(r)this.error("The '?.' operator cannot be used in the assignment");else{let s=this.parseConditional();return new de(this.span(t),this.sourceSpan(t),e,n,s)}else return r?new pe(this.span(t),this.sourceSpan(t),e,n):new he(this.span(t),this.sourceSpan(t),e,n);return new K(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(X);let r=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,s=this.parseAsBinding(e);s||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let a=new U(e.span.start,n);return t.push(new Ye(a,e,r)),s&&t.push(s),t}getDirectiveBoundTarget(){if(this.next===Ie||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:r}=e.span,n=this.input.substring(t,r);return new V(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let r=new U(e.span.start,this.currentAbsoluteOffset);return new Le(r,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),r=null;this.consumeOptionalOperator("=")&&(r=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new U(e,this.currentAbsoluteOffset);return new Le(n,t,r)}consumeStatementTerminator(){this.consumeOptionalCharacter(te)||this.consumeOptionalCharacter(ee)}error(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.errors.push(new ae(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return e==null&&(e=this.index),er.visit(this,t))}visitChain(e,t){}visitQuote(e,t){}visitSafeKeyedRead(e,t){}},yt=class extends Ze{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}}}),dt=W({"node_modules/angular-estree-parser/lib/utils.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.getLast=e.toLowerCamelCase=e.findBackChar=e.findFrontChar=e.fitSpans=e.getNgType=e.parseNgInterpolation=e.parseNgTemplateBindings=e.parseNgAction=e.parseNgSimpleBinding=e.parseNgBinding=e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;var t=(et(),Ne(Xe)),r=(er(),Ne(Jt)),n=(Or(),Ne(rr)),s="angular-estree-parser";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";var a=0,i=[s,a];function h(){return new n.Parser(new r.Lexer)}function l(o,d){let y=h(),{astInput:E,comments:A}=T(o,y),{ast:I,errors:j}=d(E,y);return R(j),{ast:I,comments:A}}function P(o){return l(o,(d,y)=>y.parseBinding(d,...i))}e.parseNgBinding=P;function p(o){return l(o,(d,y)=>y.parseSimpleBinding(d,...i))}e.parseNgSimpleBinding=p;function x(o){return l(o,(d,y)=>y.parseAction(d,...i))}e.parseNgAction=x;function C(o){let d=h(),{templateBindings:y,errors:E}=d.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,o,s,a,a);return R(E),y}e.parseNgTemplateBindings=C;function b(o){let d=h(),{astInput:y,comments:E}=T(o,d),A="{{",I="}}",{ast:j,errors:ir}=d.parseInterpolation(A+y+I,...i);R(ir);let ft=j.expressions[0],gt=new Set;return _(ft,ke=>{gt.has(ke)||(ke.start-=A.length,ke.end-=A.length,gt.add(ke))}),{ast:ft,comments:E}}e.parseNgInterpolation=b;function _(o,d){if(!(!o||typeof o!="object")){if(Array.isArray(o))return o.forEach(y=>_(y,d));for(let y of Object.keys(o)){let E=o[y];y==="span"?d(E):_(E,d)}}}function R(o){if(o.length!==0){let[{message:d}]=o;throw new SyntaxError(d.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function T(o,d){let y=d._commentStart(o);return y===null?{astInput:o,comments:[]}:{astInput:o.slice(0,y),comments:[{type:"Comment",value:o.slice(y+2),span:{start:y,end:o.length}}]}}function O(o){return t.Unary&&o instanceof t.Unary?"Unary":o instanceof t.Binary?"Binary":o instanceof t.BindingPipe?"BindingPipe":o instanceof t.Chain?"Chain":o instanceof t.Conditional?"Conditional":o instanceof t.EmptyExpr?"EmptyExpr":o instanceof t.FunctionCall?"FunctionCall":o instanceof t.ImplicitReceiver?"ImplicitReceiver":o instanceof t.KeyedRead?"KeyedRead":o instanceof t.KeyedWrite?"KeyedWrite":o instanceof t.LiteralArray?"LiteralArray":o instanceof t.LiteralMap?"LiteralMap":o instanceof t.LiteralPrimitive?"LiteralPrimitive":o instanceof t.MethodCall?"MethodCall":o instanceof t.NonNullAssert?"NonNullAssert":o instanceof t.PrefixNot?"PrefixNot":o instanceof t.PropertyRead?"PropertyRead":o instanceof t.PropertyWrite?"PropertyWrite":o instanceof t.Quote?"Quote":o instanceof t.SafeMethodCall?"SafeMethodCall":o instanceof t.SafePropertyRead?"SafePropertyRead":o.type}e.getNgType=O;function N(o,d){let{start:y,end:E}=o,A=y,I=E;for(;I!==A&&/\s/.test(d[I-1]);)I--;for(;A!==I&&/\s/.test(d[A]);)A++;return{start:A,end:I}}function c(o,d){let{start:y,end:E}=o,A=y,I=E;for(;I!==d.length&&/\s/.test(d[I]);)I++;for(;A!==0&&/\s/.test(d[A-1]);)A--;return{start:A,end:I}}function g(o,d){return d[o.start-1]==="("&&d[o.end]===")"?{start:o.start-1,end:o.end+1}:o}function u(o,d,y){let E=0,A={start:o.start,end:o.end};for(;;){let I=c(A,d),j=g(I,d);if(I.start===j.start&&I.end===j.end)break;A.start=j.start,A.end=j.end,E++}return{hasParens:(y?E-1:E)!==0,outerSpan:N(y?{start:A.start+1,end:A.end-1}:A,d),innerSpan:N(o,d)}}e.fitSpans=u;function v(o,d,y){let E=d;for(;!o.test(y[E]);)if(--E<0)throw new Error(`Cannot find front char ${o} from index ${d} in ${JSON.stringify(y)}`);return E}e.findFrontChar=v;function m(o,d,y){let E=d;for(;!o.test(y[E]);)if(++E>=y.length)throw new Error(`Cannot find back char ${o} from index ${d} in ${JSON.stringify(y)}`);return E}e.findBackChar=m;function f(o){return o.slice(0,1).toLowerCase()+o.slice(1)}e.toLowerCamelCase=f;function w(o){return o.length===0?void 0:o[o.length-1]}e.getLast=w}}),sr=W({"node_modules/angular-estree-parser/lib/transform.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformSpan=e.transform=void 0;var t=dt(),r=function(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=t.getNgType(s);switch(h){case"Unary":{let{operator:c,expr:g}=s,u=l(g);return p("UnaryExpression",{prefix:!0,argument:u,operator:c},s.span,{hasParentParens:i})}case"Binary":{let{left:c,operation:g,right:u}=s,v=u.span.start===u.span.end,m=c.span.start===c.span.end;if(v||m){let o=c.span.start===c.span.end?l(u):l(c);return p("UnaryExpression",{prefix:!0,argument:o,operator:v?"+":"-"},{start:s.span.start,end:N(o)},{hasParentParens:i})}let f=l(c),w=l(u);return p(g==="&&"||g==="||"?"LogicalExpression":"BinaryExpression",{left:f,right:w,operator:g},{start:O(f),end:N(w)},{hasParentParens:i})}case"BindingPipe":{let{exp:c,name:g,args:u}=s,v=l(c),m=b(/\S/,b(/\|/,N(v))+1),f=p("Identifier",{name:g},{start:m,end:m+g.length}),w=u.map(l);return p("NGPipeExpression",{left:v,right:f,arguments:w},{start:O(v),end:N(w.length===0?f:t.getLast(w))},{hasParentParens:i})}case"Chain":{let{expressions:c}=s;return p("NGChainedExpression",{expressions:c.map(l)},s.span,{hasParentParens:i})}case"Comment":{let{value:c}=s;return p("CommentLine",{value:c},s.span,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:g,falseExp:u}=s,v=l(c),m=l(g),f=l(u);return p("ConditionalExpression",{test:v,consequent:m,alternate:f},{start:O(v),end:N(f)},{hasParentParens:i})}case"EmptyExpr":return p("NGEmptyExpression",{},s.span,{hasParentParens:i});case"FunctionCall":{let{target:c,args:g}=s,u=g.length===1?[P(g[0])]:g.map(l),v=l(c);return p("CallExpression",{callee:v,arguments:u},{start:O(v),end:s.span.end},{hasParentParens:i})}case"ImplicitReceiver":return p("ThisExpression",{},s.span,{hasParentParens:i});case"KeyedRead":{let{key:c}=s,g=Object.prototype.hasOwnProperty.call(s,"receiver")?s.receiver:s.obj,u=l(c);return x(g,u,{computed:!0,optional:!1},{end:s.span.end,hasParentParens:i})}case"LiteralArray":{let{expressions:c}=s;return p("ArrayExpression",{elements:c.map(l)},s.span,{hasParentParens:i})}case"LiteralMap":{let{keys:c,values:g}=s,u=g.map(m=>l(m)),v=c.map((m,f)=>{let{key:w,quoted:o}=m,d=u[f],y=b(/\S/,f===0?s.span.start+1:b(/,/,N(u[f-1]))+1),E=C(/\S/,C(/:/,O(d)-1)-1)+1,A={start:y,end:E},I=o?p("StringLiteral",{value:w},A):p("Identifier",{name:w},A),j=I.end3&&arguments[3]!==void 0?arguments[3]:{},f=Object.assign(Object.assign({type:c},n(u,a,v,m)),g);switch(c){case"Identifier":{let w=f;w.loc.identifierName=w.name;break}case"NumericLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}case"StringLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}}return f}function x(c,g,u){let{end:v=N(g),hasParentParens:m=!1}=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(_(c)||c.span.start===g.start)return g;let f=l(c),w=R(f);return p(u.optional||w?"OptionalMemberExpression":"MemberExpression",Object.assign({object:f,property:g,computed:u.computed},u.optional?{optional:!0}:w?{optional:!1}:null),{start:O(f),end:v},{hasParentParens:m})}function C(c,g){return t.findFrontChar(c,g,a.text)}function b(c,g){return t.findBackChar(c,g,a.text)}function _(c){return c.span.start>=c.span.end||/^\s+$/.test(a.text.slice(c.span.start,c.span.end))}function R(c){return(c.type==="OptionalCallExpression"||c.type==="OptionalMemberExpression")&&!T(c)}function T(c){return c.extra&&c.extra.parenthesized}function O(c){return T(c)?c.extra.parenStart:c.start}function N(c){return T(c)?c.extra.parenEnd:c.end}};e.transform=r;function n(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!i){let{start:x,end:C}=s;return{start:x,end:C,loc:{start:a.locator.locationForIndex(x),end:a.locator.locationForIndex(C)}}}let{outerSpan:l,innerSpan:P,hasParens:p}=t.fitSpans(s,a.text,h);return Object.assign({start:P.start,end:P.end,loc:{start:a.locator.locationForIndex(P.start),end:a.locator.locationForIndex(P.end)}},p&&{extra:{parenthesized:!0,parenStart:l.start,parenEnd:l.end}})}e.transformSpan=n}}),kr=W({"node_modules/angular-estree-parser/lib/transform-microsyntax.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformTemplateBindings=void 0;var t=(et(),Ne(Xe)),r=sr(),n=dt();function s(a,i){a.forEach(N);let[h]=a,{key:l}=h,P=i.text.slice(h.sourceSpan.start,h.sourceSpan.end).trim().length===0?a.slice(1):a,p=[],x=null;for(let u=0;uObject.assign(Object.assign({},d),r.transformSpan({start:d.start,end:y},i)),w=d=>Object.assign(Object.assign({},f(d,m.end)),{alias:m}),o=p.pop();if(o.type==="NGMicrosyntaxExpression")p.push(w(o));else if(o.type==="NGMicrosyntaxKeyedExpression"){let d=w(o.expression);p.push(f(Object.assign(Object.assign({},o),{expression:d}),d.end))}else throw new Error(`Unexpected type ${o.type}`)}else p.push(C(v,u));x=v}return _("NGMicrosyntax",{body:p},p.length===0?a[0].sourceSpan:{start:p[0].start,end:p[p.length-1].end});function C(u,v){if(T(u)){let{key:m,value:f}=u;return f?v===0?_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan):_("NGMicrosyntaxKeyedExpression",{key:_("NGMicrosyntaxKey",{name:R(m.source)},m.span),expression:_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan)},{start:m.span.start,end:f.sourceSpan.end}):_("NGMicrosyntaxKey",{name:R(m.source)},m.span)}else{let{key:m,sourceSpan:f}=u;if(/^let\s$/.test(i.text.slice(f.start,f.start+4))){let{value:o}=u;return _("NGMicrosyntaxLet",{key:_("NGMicrosyntaxKey",{name:m.source},m.span),value:o?_("NGMicrosyntaxKey",{name:o.source},o.span):null},{start:f.start,end:o?o.span.end:m.span.end})}else{let o=g(u);return _("NGMicrosyntaxAs",{key:_("NGMicrosyntaxKey",{name:o.source},o.span),alias:_("NGMicrosyntaxKey",{name:m.source},m.span)},{start:o.span.start,end:m.span.end})}}}function b(u){return r.transform(u,i)}function _(u,v,m){let f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Object.assign(Object.assign({type:u},r.transformSpan(m,i,f)),v)}function R(u){return n.toLowerCamelCase(u.slice(l.source.length))}function T(u){return u instanceof t.ExpressionBinding}function O(u){return u instanceof t.VariableBinding}function N(u){c(u.key.span),O(u)&&u.value&&c(u.value.span)}function c(u){if(i.text[u.start]!=='"'&&i.text[u.start]!=="'")return;let v=i.text[u.start],m=!1;for(let f=u.start+1;fr.transform(N,R),O=T(b);return O.comments=_.map(T),O}function i(x){return a(x,s.parseNgBinding)}e.parseBinding=i;function h(x){return a(x,s.parseNgSimpleBinding)}e.parseSimpleBinding=h;function l(x){return a(x,s.parseNgInterpolation)}e.parseInterpolation=l;function P(x){return a(x,s.parseNgAction)}e.parseAction=P;function p(x){return n.transformTemplateBindings(s.parseNgTemplateBindings(x),new t.Context(x))}e.parseTemplateBindings=p}}),br=W({"src/language-js/parse/angular.js"(e,t){L();var{locStart:r,locEnd:n}=lr();function s(a){return{astFormat:"estree",parse:(h,l,P)=>{let p=Nr(),x=a(h,p);return{type:"NGRoot",node:P.parser==="__ng_action"&&x.type!=="NGChainedExpression"?Object.assign(Object.assign({},x),{},{type:"NGChainedExpression",expressions:[x]}):x}},locStart:r,locEnd:n}}t.exports={parsers:{__ng_action:s((a,i)=>i.parseAction(a)),__ng_binding:s((a,i)=>i.parseBinding(a)),__ng_interpolation:s((a,i)=>i.parseInterpolation(a)),__ng_directive:s((a,i)=>i.parseTemplateBindings(a))}}}}),Lr=br();export{Lr as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-babel.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-babel.mjs deleted file mode 100644 index 9c193c9acd..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-babel.mjs +++ /dev/null @@ -1,29 +0,0 @@ -var v=(l,h)=>()=>(h||l((h={exports:{}}).exports,h),h.exports);var he=v((qf,ii)=>{var Nt=function(l){return l&&l.Math==Math&&l};ii.exports=Nt(typeof globalThis=="object"&&globalThis)||Nt(typeof window=="object"&&window)||Nt(typeof self=="object"&&self)||Nt(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var ce=v((Uf,ai)=>{ai.exports=function(l){try{return!!l()}catch{return!0}}});var ve=v(($f,ni)=>{var xh=ce();ni.exports=!xh(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var kt=v((Hf,oi)=>{var gh=ce();oi.exports=!gh(function(){var l=function(){}.bind();return typeof l!="function"||l.hasOwnProperty("prototype")})});var Ft=v((zf,li)=>{var Ph=kt(),Dt=Function.prototype.call;li.exports=Ph?Dt.bind(Dt):function(){return Dt.apply(Dt,arguments)}});var pi=v(ci=>{"use strict";var hi={}.propertyIsEnumerable,ui=Object.getOwnPropertyDescriptor,Ah=ui&&!hi.call({1:2},1);ci.f=Ah?function(h){var f=ui(this,h);return!!f&&f.enumerable}:hi});var Ps=v((Kf,fi)=>{fi.exports=function(l,h){return{enumerable:!(l&1),configurable:!(l&2),writable:!(l&4),value:h}}});var pe=v((Wf,yi)=>{var di=kt(),mi=Function.prototype,As=mi.call,Th=di&&mi.bind.bind(As,As);yi.exports=di?Th:function(l){return function(){return As.apply(l,arguments)}}});var st=v((Gf,gi)=>{var xi=pe(),vh=xi({}.toString),Eh=xi("".slice);gi.exports=function(l){return Eh(vh(l),8,-1)}});var Ai=v((Jf,Pi)=>{var Ch=pe(),bh=ce(),Sh=st(),Ts=Object,wh=Ch("".split);Pi.exports=bh(function(){return!Ts("z").propertyIsEnumerable(0)})?function(l){return Sh(l)=="String"?wh(l,""):Ts(l)}:Ts});var vs=v((Xf,Ti)=>{Ti.exports=function(l){return l==null}});var Es=v((Yf,vi)=>{var Ih=vs(),Nh=TypeError;vi.exports=function(l){if(Ih(l))throw Nh("Can't call method on "+l);return l}});var Lt=v((Qf,Ei)=>{var kh=Ai(),Dh=Es();Ei.exports=function(l){return kh(Dh(l))}});var bs=v((Zf,Ci)=>{var Cs=typeof document=="object"&&document.all,Fh=typeof Cs>"u"&&Cs!==void 0;Ci.exports={all:Cs,IS_HTMLDDA:Fh}});var ie=v((ed,Si)=>{var bi=bs(),Lh=bi.all;Si.exports=bi.IS_HTMLDDA?function(l){return typeof l=="function"||l===Lh}:function(l){return typeof l=="function"}});var Oe=v((td,Ni)=>{var wi=ie(),Ii=bs(),Oh=Ii.all;Ni.exports=Ii.IS_HTMLDDA?function(l){return typeof l=="object"?l!==null:wi(l)||l===Oh}:function(l){return typeof l=="object"?l!==null:wi(l)}});var rt=v((sd,ki)=>{var Ss=he(),Bh=ie(),Mh=function(l){return Bh(l)?l:void 0};ki.exports=function(l,h){return arguments.length<2?Mh(Ss[l]):Ss[l]&&Ss[l][h]}});var Fi=v((rd,Di)=>{var _h=pe();Di.exports=_h({}.isPrototypeOf)});var Oi=v((id,Li)=>{var Rh=rt();Li.exports=Rh("navigator","userAgent")||""});var Ui=v((ad,qi)=>{var ji=he(),ws=Oi(),Bi=ji.process,Mi=ji.Deno,_i=Bi&&Bi.versions||Mi&&Mi.version,Ri=_i&&_i.v8,fe,Ot;Ri&&(fe=Ri.split("."),Ot=fe[0]>0&&fe[0]<4?1:+(fe[0]+fe[1]));!Ot&&ws&&(fe=ws.match(/Edge\/(\d+)/),(!fe||fe[1]>=74)&&(fe=ws.match(/Chrome\/(\d+)/),fe&&(Ot=+fe[1])));qi.exports=Ot});var Is=v((nd,Hi)=>{var $i=Ui(),jh=ce();Hi.exports=!!Object.getOwnPropertySymbols&&!jh(function(){var l=Symbol();return!String(l)||!(Object(l)instanceof Symbol)||!Symbol.sham&&$i&&$i<41})});var Ns=v((od,zi)=>{var qh=Is();zi.exports=qh&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var ks=v((ld,Vi)=>{var Uh=rt(),$h=ie(),Hh=Fi(),zh=Ns(),Vh=Object;Vi.exports=zh?function(l){return typeof l=="symbol"}:function(l){var h=Uh("Symbol");return $h(h)&&Hh(h.prototype,Vh(l))}});var Wi=v((hd,Ki)=>{var Kh=String;Ki.exports=function(l){try{return Kh(l)}catch{return"Object"}}});var Bt=v((ud,Gi)=>{var Wh=ie(),Gh=Wi(),Jh=TypeError;Gi.exports=function(l){if(Wh(l))return l;throw Jh(Gh(l)+" is not a function")}});var Xi=v((cd,Ji)=>{var Xh=Bt(),Yh=vs();Ji.exports=function(l,h){var f=l[h];return Yh(f)?void 0:Xh(f)}});var Qi=v((pd,Yi)=>{var Ds=Ft(),Fs=ie(),Ls=Oe(),Qh=TypeError;Yi.exports=function(l,h){var f,d;if(h==="string"&&Fs(f=l.toString)&&!Ls(d=Ds(f,l))||Fs(f=l.valueOf)&&!Ls(d=Ds(f,l))||h!=="string"&&Fs(f=l.toString)&&!Ls(d=Ds(f,l)))return d;throw Qh("Can't convert object to primitive value")}});var ea=v((fd,Zi)=>{Zi.exports=!1});var Mt=v((dd,sa)=>{var ta=he(),Zh=Object.defineProperty;sa.exports=function(l,h){try{Zh(ta,l,{value:h,configurable:!0,writable:!0})}catch{ta[l]=h}return h}});var _t=v((md,ia)=>{var eu=he(),tu=Mt(),ra="__core-js_shared__",su=eu[ra]||tu(ra,{});ia.exports=su});var Os=v((yd,na)=>{var ru=ea(),aa=_t();(na.exports=function(l,h){return aa[l]||(aa[l]=h!==void 0?h:{})})("versions",[]).push({version:"3.26.1",mode:ru?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Bs=v((xd,oa)=>{var iu=Es(),au=Object;oa.exports=function(l){return au(iu(l))}});var Ie=v((gd,la)=>{var nu=pe(),ou=Bs(),lu=nu({}.hasOwnProperty);la.exports=Object.hasOwn||function(h,f){return lu(ou(h),f)}});var Ms=v((Pd,ha)=>{var hu=pe(),uu=0,cu=Math.random(),pu=hu(1 .toString);ha.exports=function(l){return"Symbol("+(l===void 0?"":l)+")_"+pu(++uu+cu,36)}});var it=v((Ad,da)=>{var fu=he(),du=Os(),ua=Ie(),mu=Ms(),ca=Is(),fa=Ns(),Ge=du("wks"),Be=fu.Symbol,pa=Be&&Be.for,yu=fa?Be:Be&&Be.withoutSetter||mu;da.exports=function(l){if(!ua(Ge,l)||!(ca||typeof Ge[l]=="string")){var h="Symbol."+l;ca&&ua(Be,l)?Ge[l]=Be[l]:fa&&pa?Ge[l]=pa(h):Ge[l]=yu(h)}return Ge[l]}});var ga=v((Td,xa)=>{var xu=Ft(),ma=Oe(),ya=ks(),gu=Xi(),Pu=Qi(),Au=it(),Tu=TypeError,vu=Au("toPrimitive");xa.exports=function(l,h){if(!ma(l)||ya(l))return l;var f=gu(l,vu),d;if(f){if(h===void 0&&(h="default"),d=xu(f,l,h),!ma(d)||ya(d))return d;throw Tu("Can't convert object to primitive value")}return h===void 0&&(h="number"),Pu(l,h)}});var _s=v((vd,Pa)=>{var Eu=ga(),Cu=ks();Pa.exports=function(l){var h=Eu(l,"string");return Cu(h)?h:h+""}});var va=v((Ed,Ta)=>{var bu=he(),Aa=Oe(),Rs=bu.document,Su=Aa(Rs)&&Aa(Rs.createElement);Ta.exports=function(l){return Su?Rs.createElement(l):{}}});var js=v((Cd,Ea)=>{var wu=ve(),Iu=ce(),Nu=va();Ea.exports=!wu&&!Iu(function(){return Object.defineProperty(Nu("div"),"a",{get:function(){return 7}}).a!=7})});var qs=v(ba=>{var ku=ve(),Du=Ft(),Fu=pi(),Lu=Ps(),Ou=Lt(),Bu=_s(),Mu=Ie(),_u=js(),Ca=Object.getOwnPropertyDescriptor;ba.f=ku?Ca:function(h,f){if(h=Ou(h),f=Bu(f),_u)try{return Ca(h,f)}catch{}if(Mu(h,f))return Lu(!Du(Fu.f,h,f),h[f])}});var wa=v((Sd,Sa)=>{var Ru=ve(),ju=ce();Sa.exports=Ru&&ju(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Rt=v((wd,Ia)=>{var qu=Oe(),Uu=String,$u=TypeError;Ia.exports=function(l){if(qu(l))return l;throw $u(Uu(l)+" is not an object")}});var at=v(ka=>{var Hu=ve(),zu=js(),Vu=wa(),jt=Rt(),Na=_s(),Ku=TypeError,Us=Object.defineProperty,Wu=Object.getOwnPropertyDescriptor,$s="enumerable",Hs="configurable",zs="writable";ka.f=Hu?Vu?function(h,f,d){if(jt(h),f=Na(f),jt(d),typeof h=="function"&&f==="prototype"&&"value"in d&&zs in d&&!d[zs]){var x=Wu(h,f);x&&x[zs]&&(h[f]=d.value,d={configurable:Hs in d?d[Hs]:x[Hs],enumerable:$s in d?d[$s]:x[$s],writable:!1})}return Us(h,f,d)}:Us:function(h,f,d){if(jt(h),f=Na(f),jt(d),zu)try{return Us(h,f,d)}catch{}if("get"in d||"set"in d)throw Ku("Accessors not supported");return"value"in d&&(h[f]=d.value),h}});var Vs=v((Nd,Da)=>{var Gu=ve(),Ju=at(),Xu=Ps();Da.exports=Gu?function(l,h,f){return Ju.f(l,h,Xu(1,f))}:function(l,h,f){return l[h]=f,l}});var Oa=v((kd,La)=>{var Ks=ve(),Yu=Ie(),Fa=Function.prototype,Qu=Ks&&Object.getOwnPropertyDescriptor,Ws=Yu(Fa,"name"),Zu=Ws&&function(){}.name==="something",ec=Ws&&(!Ks||Ks&&Qu(Fa,"name").configurable);La.exports={EXISTS:Ws,PROPER:Zu,CONFIGURABLE:ec}});var Js=v((Dd,Ba)=>{var tc=pe(),sc=ie(),Gs=_t(),rc=tc(Function.toString);sc(Gs.inspectSource)||(Gs.inspectSource=function(l){return rc(l)});Ba.exports=Gs.inspectSource});var Ra=v((Fd,_a)=>{var ic=he(),ac=ie(),Ma=ic.WeakMap;_a.exports=ac(Ma)&&/native code/.test(String(Ma))});var Ua=v((Ld,qa)=>{var nc=Os(),oc=Ms(),ja=nc("keys");qa.exports=function(l){return ja[l]||(ja[l]=oc(l))}});var Xs=v((Od,$a)=>{$a.exports={}});var Ka=v((Bd,Va)=>{var lc=Ra(),za=he(),hc=Oe(),uc=Vs(),Ys=Ie(),Qs=_t(),cc=Ua(),pc=Xs(),Ha="Object already initialized",Zs=za.TypeError,fc=za.WeakMap,qt,nt,Ut,dc=function(l){return Ut(l)?nt(l):qt(l,{})},mc=function(l){return function(h){var f;if(!hc(h)||(f=nt(h)).type!==l)throw Zs("Incompatible receiver, "+l+" required");return f}};lc||Qs.state?(de=Qs.state||(Qs.state=new fc),de.get=de.get,de.has=de.has,de.set=de.set,qt=function(l,h){if(de.has(l))throw Zs(Ha);return h.facade=l,de.set(l,h),h},nt=function(l){return de.get(l)||{}},Ut=function(l){return de.has(l)}):(Me=cc("state"),pc[Me]=!0,qt=function(l,h){if(Ys(l,Me))throw Zs(Ha);return h.facade=l,uc(l,Me,h),h},nt=function(l){return Ys(l,Me)?l[Me]:{}},Ut=function(l){return Ys(l,Me)});var de,Me;Va.exports={set:qt,get:nt,has:Ut,enforce:dc,getterFor:mc}});var tr=v((Md,Ga)=>{var yc=ce(),xc=ie(),$t=Ie(),er=ve(),gc=Oa().CONFIGURABLE,Pc=Js(),Wa=Ka(),Ac=Wa.enforce,Tc=Wa.get,Ht=Object.defineProperty,vc=er&&!yc(function(){return Ht(function(){},"length",{value:8}).length!==8}),Ec=String(String).split("String"),Cc=Ga.exports=function(l,h,f){String(h).slice(0,7)==="Symbol("&&(h="["+String(h).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),f&&f.getter&&(h="get "+h),f&&f.setter&&(h="set "+h),(!$t(l,"name")||gc&&l.name!==h)&&(er?Ht(l,"name",{value:h,configurable:!0}):l.name=h),vc&&f&&$t(f,"arity")&&l.length!==f.arity&&Ht(l,"length",{value:f.arity});try{f&&$t(f,"constructor")&&f.constructor?er&&Ht(l,"prototype",{writable:!1}):l.prototype&&(l.prototype=void 0)}catch{}var d=Ac(l);return $t(d,"source")||(d.source=Ec.join(typeof h=="string"?h:"")),l};Function.prototype.toString=Cc(function(){return xc(this)&&Tc(this).source||Pc(this)},"toString")});var Xa=v((_d,Ja)=>{var bc=ie(),Sc=at(),wc=tr(),Ic=Mt();Ja.exports=function(l,h,f,d){d||(d={});var x=d.enumerable,P=d.name!==void 0?d.name:h;if(bc(f)&&wc(f,P,d),d.global)x?l[h]=f:Ic(h,f);else{try{d.unsafe?l[h]&&(x=!0):delete l[h]}catch{}x?l[h]=f:Sc.f(l,h,{value:f,enumerable:!1,configurable:!d.nonConfigurable,writable:!d.nonWritable})}return l}});var Qa=v((Rd,Ya)=>{var Nc=Math.ceil,kc=Math.floor;Ya.exports=Math.trunc||function(h){var f=+h;return(f>0?kc:Nc)(f)}});var sr=v((jd,Za)=>{var Dc=Qa();Za.exports=function(l){var h=+l;return h!==h||h===0?0:Dc(h)}});var tn=v((qd,en)=>{var Fc=sr(),Lc=Math.max,Oc=Math.min;en.exports=function(l,h){var f=Fc(l);return f<0?Lc(f+h,0):Oc(f,h)}});var rn=v((Ud,sn)=>{var Bc=sr(),Mc=Math.min;sn.exports=function(l){return l>0?Mc(Bc(l),9007199254740991):0}});var zt=v(($d,an)=>{var _c=rn();an.exports=function(l){return _c(l.length)}});var ln=v((Hd,on)=>{var Rc=Lt(),jc=tn(),qc=zt(),nn=function(l){return function(h,f,d){var x=Rc(h),P=qc(x),m=jc(d,P),E;if(l&&f!=f){for(;P>m;)if(E=x[m++],E!=E)return!0}else for(;P>m;m++)if((l||m in x)&&x[m]===f)return l||m||0;return!l&&-1}};on.exports={includes:nn(!0),indexOf:nn(!1)}});var cn=v((zd,un)=>{var Uc=pe(),rr=Ie(),$c=Lt(),Hc=ln().indexOf,zc=Xs(),hn=Uc([].push);un.exports=function(l,h){var f=$c(l),d=0,x=[],P;for(P in f)!rr(zc,P)&&rr(f,P)&&hn(x,P);for(;h.length>d;)rr(f,P=h[d++])&&(~Hc(x,P)||hn(x,P));return x}});var fn=v((Vd,pn)=>{pn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var mn=v(dn=>{var Vc=cn(),Kc=fn(),Wc=Kc.concat("length","prototype");dn.f=Object.getOwnPropertyNames||function(h){return Vc(h,Wc)}});var xn=v(yn=>{yn.f=Object.getOwnPropertySymbols});var Pn=v((Gd,gn)=>{var Gc=rt(),Jc=pe(),Xc=mn(),Yc=xn(),Qc=Rt(),Zc=Jc([].concat);gn.exports=Gc("Reflect","ownKeys")||function(h){var f=Xc.f(Qc(h)),d=Yc.f;return d?Zc(f,d(h)):f}});var vn=v((Jd,Tn)=>{var An=Ie(),ep=Pn(),tp=qs(),sp=at();Tn.exports=function(l,h,f){for(var d=ep(h),x=sp.f,P=tp.f,m=0;m{var rp=ce(),ip=ie(),ap=/#|\.prototype\./,ot=function(l,h){var f=op[np(l)];return f==hp?!0:f==lp?!1:ip(h)?rp(h):!!h},np=ot.normalize=function(l){return String(l).replace(ap,".").toLowerCase()},op=ot.data={},lp=ot.NATIVE="N",hp=ot.POLYFILL="P";En.exports=ot});var ar=v((Yd,bn)=>{var ir=he(),up=qs().f,cp=Vs(),pp=Xa(),fp=Mt(),dp=vn(),mp=Cn();bn.exports=function(l,h){var f=l.target,d=l.global,x=l.stat,P,m,E,S,k,L;if(d?m=ir:x?m=ir[f]||fp(f,{}):m=(ir[f]||{}).prototype,m)for(E in h){if(k=h[E],l.dontCallGetSet?(L=up(m,E),S=L&&L.value):S=m[E],P=mp(d?E:f+(x?".":"#")+E,l.forced),!P&&S!==void 0){if(typeof k==typeof S)continue;dp(k,S)}(l.sham||S&&S.sham)&&cp(k,"sham",!0),pp(m,E,k,l)}}});var Sn=v(()=>{var yp=ar(),nr=he();yp({global:!0,forced:nr.globalThis!==nr},{globalThis:nr})});var Nn=v((em,In)=>{var wn=tr(),xp=at();In.exports=function(l,h,f){return f.get&&wn(f.get,h,{getter:!0}),f.set&&wn(f.set,h,{setter:!0}),xp.f(l,h,f)}});var Dn=v((tm,kn)=>{"use strict";var gp=Rt();kn.exports=function(){var l=gp(this),h="";return l.hasIndices&&(h+="d"),l.global&&(h+="g"),l.ignoreCase&&(h+="i"),l.multiline&&(h+="m"),l.dotAll&&(h+="s"),l.unicode&&(h+="u"),l.unicodeSets&&(h+="v"),l.sticky&&(h+="y"),h}});var or=v((sm,On)=>{var bp=st();On.exports=Array.isArray||function(h){return bp(h)=="Array"}});var Mn=v((rm,Bn)=>{var Sp=TypeError,wp=9007199254740991;Bn.exports=function(l){if(l>wp)throw Sp("Maximum allowed index exceeded");return l}});var Rn=v((im,_n)=>{var Ip=st(),Np=pe();_n.exports=function(l){if(Ip(l)==="Function")return Np(l)}});var Un=v((am,qn)=>{var jn=Rn(),kp=Bt(),Dp=kt(),Fp=jn(jn.bind);qn.exports=function(l,h){return kp(l),h===void 0?l:Dp?Fp(l,h):function(){return l.apply(h,arguments)}}});var zn=v((nm,Hn)=>{"use strict";var Lp=or(),Op=zt(),Bp=Mn(),Mp=Un(),$n=function(l,h,f,d,x,P,m,E){for(var S=x,k=0,L=m?Mp(m,E):!1,N,O;k0&&Lp(N)?(O=Op(N),S=$n(l,h,N,O,S,P-1)-1):(Bp(S+1),l[S]=N),S++),k++;return S};Hn.exports=$n});var Wn=v((om,Kn)=>{var _p=it(),Rp=_p("toStringTag"),Vn={};Vn[Rp]="z";Kn.exports=String(Vn)==="[object z]"});var Jn=v((lm,Gn)=>{var jp=Wn(),qp=ie(),Vt=st(),Up=it(),$p=Up("toStringTag"),Hp=Object,zp=Vt(function(){return arguments}())=="Arguments",Vp=function(l,h){try{return l[h]}catch{}};Gn.exports=jp?Vt:function(l){var h,f,d;return l===void 0?"Undefined":l===null?"Null":typeof(f=Vp(h=Hp(l),$p))=="string"?f:zp?Vt(h):(d=Vt(h))=="Object"&&qp(h.callee)?"Arguments":d}});var to=v((hm,eo)=>{var Kp=pe(),Wp=ce(),Xn=ie(),Gp=Jn(),Jp=rt(),Xp=Js(),Yn=function(){},Yp=[],Qn=Jp("Reflect","construct"),lr=/^\s*(?:class|function)\b/,Qp=Kp(lr.exec),Zp=!lr.exec(Yn),lt=function(h){if(!Xn(h))return!1;try{return Qn(Yn,Yp,h),!0}catch{return!1}},Zn=function(h){if(!Xn(h))return!1;switch(Gp(h)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Zp||!!Qp(lr,Xp(h))}catch{return!0}};Zn.sham=!0;eo.exports=!Qn||Wp(function(){var l;return lt(lt.call)||!lt(Object)||!lt(function(){l=!0})||l})?Zn:lt});var ao=v((um,io)=>{var so=or(),ef=to(),tf=Oe(),sf=it(),rf=sf("species"),ro=Array;io.exports=function(l){var h;return so(l)&&(h=l.constructor,ef(h)&&(h===ro||so(h.prototype))?h=void 0:tf(h)&&(h=h[rf],h===null&&(h=void 0))),h===void 0?ro:h}});var oo=v((cm,no)=>{var af=ao();no.exports=function(l,h){return new(af(l))(h===0?0:h)}});Sn();var Pp=he(),Ap=ve(),Tp=Nn(),vp=Dn(),Ep=ce(),Fn=Pp.RegExp,Ln=Fn.prototype,Cp=Ap&&Ep(function(){var l=!0;try{Fn(".","d")}catch{l=!1}var h={},f="",d=l?"dgimsy":"gimsy",x=function(S,k){Object.defineProperty(h,S,{get:function(){return f+=k,!0}})},P={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};l&&(P.hasIndices="d");for(var m in P)x(m,P[m]);var E=Object.getOwnPropertyDescriptor(Ln,"flags").get.call(h);return E!==d||f!==d});Cp&&Tp(Ln,"flags",{configurable:!0,get:vp});var nf=ar(),of=zn(),lf=Bt(),hf=Bs(),uf=zt(),cf=oo();nf({target:"Array",proto:!0},{flatMap:function(h){var f=hf(this),d=uf(f),x;return lf(h),x=cf(f,0),x.length=of(x,f,f,d,0,1,h,arguments.length>1?arguments[1]:void 0),x}});var pr=Object.defineProperty,pf=Object.getOwnPropertyDescriptor,fr=Object.getOwnPropertyNames,ff=Object.prototype.hasOwnProperty,lo=(l,h)=>function(){return l&&(h=(0,l[fr(l)[0]])(l=0)),h},$=(l,h)=>function(){return h||(0,l[fr(l)[0]])((h={exports:{}}).exports,h),h.exports},df=(l,h)=>{for(var f in h)pr(l,f,{get:h[f],enumerable:!0})},mf=(l,h,f,d)=>{if(h&&typeof h=="object"||typeof h=="function")for(let x of fr(h))!ff.call(l,x)&&x!==f&&pr(l,x,{get:()=>h[x],enumerable:!(d=pf(h,x))||d.enumerable});return l},yf=l=>mf(pr({},"__esModule",{value:!0}),l),U=lo({""(){}}),xf=$({"src/utils/try-combinations.js"(l,h){"use strict";U();function f(){let d;for(var x=arguments.length,P=new Array(x),m=0;m{let N=L&&L.backwards;if(k===!1)return!1;let{length:O}=S,A=k;for(;A>=0&&Acr,arch:()=>vf,cpus:()=>Po,default:()=>Co,endianness:()=>po,freemem:()=>xo,getNetworkInterfaces:()=>Eo,hostname:()=>fo,loadavg:()=>mo,networkInterfaces:()=>vo,platform:()=>Ef,release:()=>To,tmpDir:()=>hr,tmpdir:()=>ur,totalmem:()=>go,type:()=>Ao,uptime:()=>yo});function po(){if(typeof Kt>"u"){var l=new ArrayBuffer(2),h=new Uint8Array(l),f=new Uint16Array(l);if(h[0]=1,h[1]=2,f[0]===258)Kt="BE";else if(f[0]===513)Kt="LE";else throw new Error("unable to figure out endianess")}return Kt}function fo(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function mo(){return[]}function yo(){return 0}function xo(){return Number.MAX_VALUE}function go(){return Number.MAX_VALUE}function Po(){return[]}function Ao(){return"Browser"}function To(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function vo(){}function Eo(){}function vf(){return"javascript"}function Ef(){return"browser"}function hr(){return"/tmp"}var Kt,ur,cr,Co,Cf=lo({"node-modules-polyfills:os"(){U(),ur=hr,cr=` -`,Co={EOL:cr,tmpdir:ur,tmpDir:hr,networkInterfaces:vo,getNetworkInterfaces:Eo,release:To,type:Ao,cpus:Po,totalmem:go,freemem:xo,uptime:yo,loadavg:mo,hostname:fo,endianness:po}}}),bf=$({"node-modules-polyfills-commonjs:os"(l,h){U();var f=(Cf(),yf(co));if(f&&f.default){h.exports=f.default;for(let d in f)h.exports[d]=f[d]}else f&&(h.exports=f)}}),Sf=$({"node_modules/detect-newline/index.js"(l,h){"use strict";U();var f=d=>{if(typeof d!="string")throw new TypeError("Expected a string");let x=d.match(/(?:\r?\n)/g)||[];if(x.length===0)return;let P=x.filter(E=>E===`\r -`).length,m=x.length-P;return P>m?`\r -`:` -`};h.exports=f,h.exports.graceful=d=>typeof d=="string"&&f(d)||` -`}}),wf=$({"node_modules/jest-docblock/build/index.js"(l){"use strict";U(),Object.defineProperty(l,"__esModule",{value:!0}),l.extract=A,l.parse=W,l.parseWithComments=I,l.print=F,l.strip=_;function h(){let M=bf();return h=function(){return M},M}function f(){let M=d(Sf());return f=function(){return M},M}function d(M){return M&&M.__esModule?M:{default:M}}var x=/\*\/$/,P=/^\/\*\*?/,m=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,E=/(^|\s+)\/\/([^\r\n]*)/g,S=/^(\r?\n)+/,k=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,L=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,N=/(\r?\n|^) *\* ?/g,O=[];function A(M){let V=M.match(m);return V?V[0].trimLeft():""}function _(M){let V=M.match(m);return V&&V[0]?M.substring(V[0].length):M}function W(M){return I(M).pragmas}function I(M){let V=(0,f().default)(M)||h().EOL;M=M.replace(P,"").replace(x,"").replace(N,"$1");let ee="";for(;ee!==M;)ee=M,M=M.replace(k,`${V}$1 $2${V}`);M=M.replace(S,"").trimRight();let b=Object.create(null),B=M.replace(L,"").replace(S,"").trimRight(),te;for(;te=L.exec(M);){let R=te[2].replace(E,"");typeof b[te[1]]=="string"||Array.isArray(b[te[1]])?b[te[1]]=O.concat(b[te[1]],R):b[te[1]]=R}return{comments:B,pragmas:b}}function F(M){let{comments:V="",pragmas:ee={}}=M,b=(0,f().default)(V)||h().EOL,B="/**",te=" *",R=" */",ae=Object.keys(ee),se=ae.map(H=>z(H,ee[H])).reduce((H,X)=>H.concat(X),[]).map(H=>`${te} ${H}${b}`).join("");if(!V){if(ae.length===0)return"";if(ae.length===1&&!Array.isArray(ee[ae[0]])){let H=ee[ae[0]];return`${B} ${z(ae[0],H)[0]}${R}`}}let _e=V.split(b).map(H=>`${te} ${H}`).join(b)+b;return B+b+(V?_e:"")+(V&&ae.length?te+b:"")+se+R}function z(M,V){return O.concat(V).map(ee=>`@${M} ${ee}`.trim())}}}),If=$({"src/common/end-of-line.js"(l,h){"use strict";U();function f(m){let E=m.indexOf("\r");return E>=0?m.charAt(E+1)===` -`?"crlf":"cr":"lf"}function d(m){switch(m){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function x(m,E){let S;switch(E){case` -`:S=/\n/g;break;case"\r":S=/\r/g;break;case`\r -`:S=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(E)}.`)}let k=m.match(S);return k?k.length:0}function P(m){return m.replace(/\r\n?/g,` -`)}h.exports={guessEndOfLine:f,convertEndOfLineToChars:d,countEndOfLineChars:x,normalizeEndOfLine:P}}}),Nf=$({"src/language-js/pragma.js"(l,h){"use strict";U();var{parseWithComments:f,strip:d,extract:x,print:P}=wf(),{normalizeEndOfLine:m}=If(),E=ho();function S(N){let O=E(N);O&&(N=N.slice(O.length+1));let A=x(N),{pragmas:_,comments:W}=f(A);return{shebang:O,text:N,pragmas:_,comments:W}}function k(N){let O=Object.keys(S(N).pragmas);return O.includes("prettier")||O.includes("format")}function L(N){let{shebang:O,text:A,pragmas:_,comments:W}=S(N),I=d(A),F=P({pragmas:Object.assign({format:""},_),comments:W.trimStart()});return(O?`${O} -`:"")+m(F)+(I.startsWith(` -`)?` -`:` - -`)+I}h.exports={hasPragma:k,insertPragma:L}}}),bo=$({"src/utils/is-non-empty-array.js"(l,h){"use strict";U();function f(d){return Array.isArray(d)&&d.length>0}h.exports=f}}),So=$({"src/language-js/loc.js"(l,h){"use strict";U();var f=bo();function d(S){var k,L;let N=S.range?S.range[0]:S.start,O=(k=(L=S.declaration)===null||L===void 0?void 0:L.decorators)!==null&&k!==void 0?k:S.decorators;return f(O)?Math.min(d(O[0]),N):N}function x(S){return S.range?S.range[1]:S.end}function P(S,k){let L=d(S);return Number.isInteger(L)&&L===d(k)}function m(S,k){let L=x(S);return Number.isInteger(L)&&L===x(k)}function E(S,k){return P(S,k)&&m(S,k)}h.exports={locStart:d,locEnd:x,hasSameLocStart:P,hasSameLoc:E}}}),wo=$({"src/language-js/parse/utils/create-parser.js"(l,h){"use strict";U();var{hasPragma:f}=Nf(),{locStart:d,locEnd:x}=So();function P(m){return m=typeof m=="function"?{parse:m}:m,Object.assign({astFormat:"estree",hasPragma:f,locStart:d,locEnd:x},m)}h.exports=P}}),dr=$({"src/common/parser-create-error.js"(l,h){"use strict";U();function f(d,x){let P=new SyntaxError(d+" ("+x.start.line+":"+x.start.column+")");return P.loc=x,P}h.exports=f}}),Io=$({"src/language-js/parse/utils/create-babel-parse-error.js"(l,h){"use strict";U();var f=dr();function d(x){let{message:P,loc:m}=x;return f(P.replace(/ \(.*\)/,""),{start:{line:m?m.line:0,column:m?m.column+1:0}})}h.exports=d}}),kf=$({"src/language-js/utils/is-ts-keyword-type.js"(l,h){"use strict";U();function f(d){let{type:x}=d;return x.startsWith("TS")&&x.endsWith("Keyword")}h.exports=f}}),Df=$({"src/language-js/utils/is-block-comment.js"(l,h){"use strict";U();var f=new Set(["Block","CommentBlock","MultiLine"]),d=x=>f.has(x==null?void 0:x.type);h.exports=d}}),Ff=$({"src/language-js/utils/is-type-cast-comment.js"(l,h){"use strict";U();var f=Df();function d(x){return f(x)&&x.value[0]==="*"&&/@(?:type|satisfies)\b/.test(x.value)}h.exports=d}}),Lf=$({"src/utils/get-last.js"(l,h){"use strict";U();var f=d=>d[d.length-1];h.exports=f}}),Of=$({"src/language-js/parse/postprocess/visit-node.js"(l,h){"use strict";U();function f(d,x){if(Array.isArray(d)){for(let P=0;P{F.leadingComments&&F.leadingComments.some(P)&&I.add(f(F))}),A=E(A,F=>{if(F.type==="ParenthesizedExpression"){let{expression:z}=F;if(z.type==="TypeCastExpression")return z.range=F.range,z;let M=f(F);if(!I.has(M))return z.extra=Object.assign(Object.assign({},z.extra),{},{parenthesized:!0}),z}})}return A=E(A,I=>{switch(I.type){case"ChainExpression":return L(I.expression);case"LogicalExpression":{if(N(I))return O(I);break}case"VariableDeclaration":{let F=m(I.declarations);F&&F.init&&W(I,F);break}case"TSParenthesizedType":return x(I.typeAnnotation)||I.typeAnnotation.type==="TSThisType"||(I.typeAnnotation.range=[f(I),d(I)]),I.typeAnnotation;case"TSTypeParameter":if(typeof I.name=="string"){let F=f(I);I.name={type:"Identifier",name:I.name,range:[F,F+I.name.length]}}break;case"ObjectExpression":if(_.parser==="typescript"){let F=I.properties.find(z=>z.type==="Property"&&z.value.type==="TSEmptyBodyFunctionExpression");F&&S(F.value,"Unexpected token.")}break;case"SequenceExpression":{let F=m(I.expressions);I.range=[f(I),Math.min(d(F),d(I))];break}case"TopicReference":_.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:F}=I;if(_.parser==="meriyah"&&F&&F.type==="Identifier"){let z=_.originalText.slice(f(F),d(F));(z.startsWith('"')||z.startsWith("'"))&&(I.exported=Object.assign(Object.assign({},I.exported),{},{type:"Literal",value:I.exported.name,raw:z}))}break}case"PropertyDefinition":if(_.parser==="meriyah"&&I.static&&!I.computed&&!I.key){let F="static",z=f(I);Object.assign(I,{static:!1,key:{type:"Identifier",name:F,range:[z,z+F.length]}})}break}}),A;function W(I,F){_.originalText[d(F)]!==";"&&(I.range=[f(I),d(F)])}}function L(A){switch(A.type){case"CallExpression":A.type="OptionalCallExpression",A.callee=L(A.callee);break;case"MemberExpression":A.type="OptionalMemberExpression",A.object=L(A.object);break;case"TSNonNullExpression":A.expression=L(A.expression);break}return A}function N(A){return A.type==="LogicalExpression"&&A.right.type==="LogicalExpression"&&A.operator===A.right.operator}function O(A){return N(A)?O({type:"LogicalExpression",operator:A.operator,left:O({type:"LogicalExpression",operator:A.operator,left:A.left,right:A.right.left,range:[f(A.left),d(A.right.left)]}),right:A.right.right,range:[f(A),d(A)]}):A}h.exports=k}}),No=$({"node_modules/@babel/parser/lib/index.js"(l){"use strict";U(),Object.defineProperty(l,"__esModule",{value:!0});var h={sourceType:"script",sourceFilename:void 0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};function f(t){if(t&&t.annexB!=null&&t.annexB!==!1)throw new Error("The `annexB` option can only be set to `false`.");let r={};for(let e of Object.keys(h))r[e]=t&&t[e]!=null?t[e]:h[e];return r}var d=class{constructor(t,r){this.token=void 0,this.preserveSpace=void 0,this.token=t,this.preserveSpace=!!r}},x={brace:new d("{"),j_oTag:new d("...",!0)};x.template=new d("`",!0);var P=!0,m=!0,E=!0,S=!0,k=!0,L=!0,N=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop!=null?r.binop:null,this.updateContext=null}},O=new Map;function A(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};r.keyword=t;let e=b(t,r);return O.set(t,e),e}function _(t,r){return b(t,{beforeExpr:P,binop:r})}var W=-1,I=[],F=[],z=[],M=[],V=[],ee=[];function b(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var e,s,i,a;return++W,F.push(t),z.push((e=r.binop)!=null?e:-1),M.push((s=r.beforeExpr)!=null?s:!1),V.push((i=r.startsExpr)!=null?i:!1),ee.push((a=r.prefix)!=null?a:!1),I.push(new N(t,r)),W}function B(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var e,s,i,a;return++W,O.set(t,W),F.push(t),z.push((e=r.binop)!=null?e:-1),M.push((s=r.beforeExpr)!=null?s:!1),V.push((i=r.startsExpr)!=null?i:!1),ee.push((a=r.prefix)!=null?a:!1),I.push(new N("name",r)),W}var te={bracketL:b("[",{beforeExpr:P,startsExpr:m}),bracketHashL:b("#[",{beforeExpr:P,startsExpr:m}),bracketBarL:b("[|",{beforeExpr:P,startsExpr:m}),bracketR:b("]"),bracketBarR:b("|]"),braceL:b("{",{beforeExpr:P,startsExpr:m}),braceBarL:b("{|",{beforeExpr:P,startsExpr:m}),braceHashL:b("#{",{beforeExpr:P,startsExpr:m}),braceR:b("}"),braceBarR:b("|}"),parenL:b("(",{beforeExpr:P,startsExpr:m}),parenR:b(")"),comma:b(",",{beforeExpr:P}),semi:b(";",{beforeExpr:P}),colon:b(":",{beforeExpr:P}),doubleColon:b("::",{beforeExpr:P}),dot:b("."),question:b("?",{beforeExpr:P}),questionDot:b("?."),arrow:b("=>",{beforeExpr:P}),template:b("template"),ellipsis:b("...",{beforeExpr:P}),backQuote:b("`",{startsExpr:m}),dollarBraceL:b("${",{beforeExpr:P,startsExpr:m}),templateTail:b("...`",{startsExpr:m}),templateNonTail:b("...${",{beforeExpr:P,startsExpr:m}),at:b("@"),hash:b("#",{startsExpr:m}),interpreterDirective:b("#!..."),eq:b("=",{beforeExpr:P,isAssign:S}),assign:b("_=",{beforeExpr:P,isAssign:S}),slashAssign:b("_=",{beforeExpr:P,isAssign:S}),xorAssign:b("_=",{beforeExpr:P,isAssign:S}),moduloAssign:b("_=",{beforeExpr:P,isAssign:S}),incDec:b("++/--",{prefix:k,postfix:L,startsExpr:m}),bang:b("!",{beforeExpr:P,prefix:k,startsExpr:m}),tilde:b("~",{beforeExpr:P,prefix:k,startsExpr:m}),doubleCaret:b("^^",{startsExpr:m}),doubleAt:b("@@",{startsExpr:m}),pipeline:_("|>",0),nullishCoalescing:_("??",1),logicalOR:_("||",1),logicalAND:_("&&",2),bitwiseOR:_("|",3),bitwiseXOR:_("^",4),bitwiseAND:_("&",5),equality:_("==/!=/===/!==",6),lt:_("/<=/>=",7),gt:_("/<=/>=",7),relational:_("/<=/>=",7),bitShift:_("<>/>>>",8),bitShiftL:_("<>/>>>",8),bitShiftR:_("<>/>>>",8),plusMin:b("+/-",{beforeExpr:P,binop:9,prefix:k,startsExpr:m}),modulo:b("%",{binop:10,startsExpr:m}),star:b("*",{binop:10}),slash:_("/",10),exponent:b("**",{beforeExpr:P,binop:11,rightAssociative:!0}),_in:A("in",{beforeExpr:P,binop:7}),_instanceof:A("instanceof",{beforeExpr:P,binop:7}),_break:A("break"),_case:A("case",{beforeExpr:P}),_catch:A("catch"),_continue:A("continue"),_debugger:A("debugger"),_default:A("default",{beforeExpr:P}),_else:A("else",{beforeExpr:P}),_finally:A("finally"),_function:A("function",{startsExpr:m}),_if:A("if"),_return:A("return",{beforeExpr:P}),_switch:A("switch"),_throw:A("throw",{beforeExpr:P,prefix:k,startsExpr:m}),_try:A("try"),_var:A("var"),_const:A("const"),_with:A("with"),_new:A("new",{beforeExpr:P,startsExpr:m}),_this:A("this",{startsExpr:m}),_super:A("super",{startsExpr:m}),_class:A("class",{startsExpr:m}),_extends:A("extends",{beforeExpr:P}),_export:A("export"),_import:A("import",{startsExpr:m}),_null:A("null",{startsExpr:m}),_true:A("true",{startsExpr:m}),_false:A("false",{startsExpr:m}),_typeof:A("typeof",{beforeExpr:P,prefix:k,startsExpr:m}),_void:A("void",{beforeExpr:P,prefix:k,startsExpr:m}),_delete:A("delete",{beforeExpr:P,prefix:k,startsExpr:m}),_do:A("do",{isLoop:E,beforeExpr:P}),_for:A("for",{isLoop:E}),_while:A("while",{isLoop:E}),_as:B("as",{startsExpr:m}),_assert:B("assert",{startsExpr:m}),_async:B("async",{startsExpr:m}),_await:B("await",{startsExpr:m}),_from:B("from",{startsExpr:m}),_get:B("get",{startsExpr:m}),_let:B("let",{startsExpr:m}),_meta:B("meta",{startsExpr:m}),_of:B("of",{startsExpr:m}),_sent:B("sent",{startsExpr:m}),_set:B("set",{startsExpr:m}),_static:B("static",{startsExpr:m}),_using:B("using",{startsExpr:m}),_yield:B("yield",{startsExpr:m}),_asserts:B("asserts",{startsExpr:m}),_checks:B("checks",{startsExpr:m}),_exports:B("exports",{startsExpr:m}),_global:B("global",{startsExpr:m}),_implements:B("implements",{startsExpr:m}),_intrinsic:B("intrinsic",{startsExpr:m}),_infer:B("infer",{startsExpr:m}),_is:B("is",{startsExpr:m}),_mixins:B("mixins",{startsExpr:m}),_proto:B("proto",{startsExpr:m}),_require:B("require",{startsExpr:m}),_satisfies:B("satisfies",{startsExpr:m}),_keyof:B("keyof",{startsExpr:m}),_readonly:B("readonly",{startsExpr:m}),_unique:B("unique",{startsExpr:m}),_abstract:B("abstract",{startsExpr:m}),_declare:B("declare",{startsExpr:m}),_enum:B("enum",{startsExpr:m}),_module:B("module",{startsExpr:m}),_namespace:B("namespace",{startsExpr:m}),_interface:B("interface",{startsExpr:m}),_type:B("type",{startsExpr:m}),_opaque:B("opaque",{startsExpr:m}),name:b("name",{startsExpr:m}),string:b("string",{startsExpr:m}),num:b("num",{startsExpr:m}),bigint:b("bigint",{startsExpr:m}),decimal:b("decimal",{startsExpr:m}),regexp:b("regexp",{startsExpr:m}),privateName:b("#name",{startsExpr:m}),eof:b("eof"),jsxName:b("jsxName"),jsxText:b("jsxText",{beforeExpr:!0}),jsxTagStart:b("jsxTagStart",{startsExpr:!0}),jsxTagEnd:b("jsxTagEnd"),placeholder:b("%%",{startsExpr:!0})};function R(t){return t>=93&&t<=130}function ae(t){return t<=92}function se(t){return t>=58&&t<=130}function _e(t){return t>=58&&t<=134}function H(t){return M[t]}function X(t){return V[t]}function ye(t){return t>=29&&t<=33}function ne(t){return t>=127&&t<=129}function oe(t){return t>=90&&t<=92}function Ee(t){return t>=58&&t<=92}function le(t){return t>=39&&t<=59}function ue(t){return t===34}function ht(t){return ee[t]}function ut(t){return t>=119&&t<=121}function Wt(t){return t>=122&&t<=128}function Y(t){return F[t]}function Re(t){return z[t]}function Gt(t){return t===57}function ct(t){return t>=24&&t<=25}function xe(t){return I[t]}I[8].updateContext=t=>{t.pop()},I[5].updateContext=I[7].updateContext=I[23].updateContext=t=>{t.push(x.brace)},I[22].updateContext=t=>{t[t.length-1]===x.template?t.pop():t.push(x.template)},I[140].updateContext=t=>{t.push(x.j_expr,x.j_oTag)};function pt(t,r){if(t==null)return{};var e={},s=Object.keys(t),i,a;for(a=0;a=0)&&(e[i]=t[i]);return e}var Ce=class{constructor(t,r,e){this.line=void 0,this.column=void 0,this.index=void 0,this.line=t,this.column=r,this.index=e}},ft=class{constructor(t,r){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=r}};function re(t,r){let{line:e,column:s,index:i}=t;return new Ce(e,s+r,i+r)}var Jt={SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},ko=function(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.length-1;return{get(){return t.reduce((e,s)=>e[s],this)},set(e){t.reduce((s,i,a)=>a===r?s[i]=e:s[i],this)}}},Do=(t,r,e)=>Object.keys(e).map(s=>[s,e[s]]).filter(s=>{let[,i]=s;return!!i}).map(s=>{let[i,a]=s;return[i,typeof a=="function"?{value:a,enumerable:!1}:typeof a.reflect=="string"?Object.assign({},a,ko(a.reflect.split("."))):a]}).reduce((s,i)=>{let[a,n]=i;return Object.defineProperty(s,a,Object.assign({configurable:!0},n))},Object.assign(new t,r)),Fo={ImportMetaOutsideModule:{message:`import.meta may appear only with 'sourceType: "module"'`,code:Jt.SourceTypeModuleError},ImportOutsideModule:{message:`'import' and 'export' may appear only with 'sourceType: "module"'`,code:Jt.SourceTypeModuleError}},mr={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},Xt=t=>{let{type:r,prefix:e}=t;return r==="UpdateExpression"?mr.UpdateExpression[String(e)]:mr[r]},Lo={AccessorIsGenerator:t=>{let{kind:r}=t;return`A ${r}ter cannot be a generator.`},ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitInUsingBinding:"'await' is not allowed to be used as a name in 'using' declarations.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:t=>{let{kind:r}=t;return`Missing initializer in ${r} declaration.`},DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:t=>{let{exportName:r}=t;return`\`${r}\` has already been exported. Exported identifiers must be unique.`},DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:t=>{let{localName:r,exportName:e}=t;return`A string literal cannot be used as an exported binding without \`from\`. -- Did you mean \`export { '${r}' as '${e}' } from 'some-module'\`?`},ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:t=>{let{type:r}=t;return`'${r==="ForInStatement"?"for-in":"for-of"}' loop variable declaration may not have an initializer.`},ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:t=>{let{type:r}=t;return`Unsyntactic ${r==="BreakStatement"?"break":"continue"}.`},IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportBindingIsString:t=>{let{importName:r}=t;return`A string literal cannot be used as an imported binding. -- Did you mean \`import { "${r}" as foo }\`?`},ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:t=>{let{maxArgumentCount:r}=t;return`\`import()\` requires exactly ${r===1?"one argument":"one or two arguments"}.`},ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:t=>{let{radix:r}=t;return`Expected number in radix ${r}.`},InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:t=>{let{reservedWord:r}=t;return`Escape sequence in keyword ${r}.`},InvalidIdentifier:t=>{let{identifierName:r}=t;return`Invalid identifier ${r}.`},InvalidLhs:t=>{let{ancestor:r}=t;return`Invalid left-hand side in ${Xt(r)}.`},InvalidLhsBinding:t=>{let{ancestor:r}=t;return`Binding invalid left-hand side in ${Xt(r)}.`},InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:t=>{let{unexpected:r}=t;return`Unexpected character '${r}'.`},InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:t=>{let{identifierName:r}=t;return`Private name #${r} is not defined.`},InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:t=>{let{labelName:r}=t;return`Label '${r}' is already declared.`},LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:t=>{let{missingPlugin:r}=t;return`This experimental syntax requires enabling the parser plugin: ${r.map(e=>JSON.stringify(e)).join(", ")}.`},MissingOneOfPlugins:t=>{let{missingPlugin:r}=t;return`This experimental syntax requires enabling one of the following parser plugin(s): ${r.map(e=>JSON.stringify(e)).join(", ")}.`},MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:t=>{let{key:r}=t;return`Duplicate key "${r}" is not allowed in module attributes.`},ModuleExportNameHasLoneSurrogate:t=>{let{surrogateCharCode:r}=t;return`An export name cannot include a lone surrogate, found '\\u${r.toString(16)}'.`},ModuleExportUndefined:t=>{let{localName:r}=t;return`Export '${r}' is not defined.`},MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:t=>{let{identifierName:r}=t;return`Private names are only allowed in property accesses (\`obj.#${r}\`) or in \`in\` expressions (\`#${r} in obj\`).`},PrivateNameRedeclaration:t=>{let{identifierName:r}=t;return`Duplicate private name #${r}.`},RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:t=>{let{keyword:r}=t;return`Unexpected keyword '${r}'.`},UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:t=>{let{reservedWord:r}=t;return`Unexpected reserved word '${r}'.`},UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:t=>{let{expected:r,unexpected:e}=t;return`Unexpected token${e?` '${e}'.`:""}${r?`, expected "${r}"`:""}`},UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script`.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:t=>{let{target:r,onlyValidPropertyName:e}=t;return`The only valid meta property for ${r} is ${r}.${e}.`},UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:t=>{let{identifierName:r}=t;return`Identifier '${r}' has already been declared.`},YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},Oo={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:t=>{let{referenceName:r}=t;return`Assigning to '${r}' in strict mode.`},StrictEvalArgumentsBinding:t=>{let{bindingName:r}=t;return`Binding '${r}' in strict mode.`},StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},Bo=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),Mo={PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:t=>{let{token:r}=t;return`Invalid topic token ${r}. In order to use ${r} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${r}" }.`},PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:t=>{let{type:r}=t;return`Hack-style pipe body cannot be an unparenthesized ${Xt({type:r})}; please wrap it in parentheses.`},PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'},_o=["toMessage"],Ro=["message"];function jo(t){let{toMessage:r}=t,e=pt(t,_o);return function s(i){let{loc:a,details:n}=i;return Do(SyntaxError,Object.assign({},e,{loc:a}),{clone(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=o.loc||{};return s({loc:new Ce("line"in u?u.line:this.loc.line,"column"in u?u.column:this.loc.column,"index"in u?u.index:this.loc.index),details:Object.assign({},this.details,o.details)})},details:{value:n,enumerable:!1},message:{get(){return`${r(this.details)} (${this.loc.line}:${this.loc.column})`},set(o){Object.defineProperty(this,"message",{value:o})}},pos:{reflect:"loc.index",enumerable:!0},missingPlugin:"missingPlugin"in n&&{reflect:"details.missingPlugin",enumerable:!0}})}}function ge(t,r){if(Array.isArray(t))return s=>ge(s,t[0]);let e={};for(let s of Object.keys(t)){let i=t[s],a=typeof i=="string"?{message:()=>i}:typeof i=="function"?{message:i}:i,{message:n}=a,o=pt(a,Ro),u=typeof n=="string"?()=>n:n;e[s]=jo(Object.assign({code:Jt.SyntaxError,reasonCode:s,toMessage:u},r?{syntaxPlugin:r}:{},o))}return e}var p=Object.assign({},ge(Fo),ge(Lo),ge(Oo),ge`pipelineOperator`(Mo)),{defineProperty:qo}=Object,yr=(t,r)=>qo(t,r,{enumerable:!1,value:t[r]});function Je(t){return t.loc.start&&yr(t.loc.start,"index"),t.loc.end&&yr(t.loc.end,"index"),t}var Uo=t=>class extends t{parse(){let e=Je(super.parse());return this.options.tokens&&(e.tokens=e.tokens.map(Je)),e}parseRegExpLiteral(e){let{pattern:s,flags:i}=e,a=null;try{a=new RegExp(s,i)}catch{}let n=this.estreeParseLiteral(a);return n.regex={pattern:s,flags:i},n}parseBigIntLiteral(e){let s;try{s=BigInt(e)}catch{s=null}let i=this.estreeParseLiteral(s);return i.bigint=String(i.value||e),i}parseDecimalLiteral(e){let i=this.estreeParseLiteral(null);return i.decimal=String(i.value||e),i}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}directiveToStmt(e){let s=e.value;delete e.value,s.type="Literal",s.raw=s.extra.raw,s.value=s.extra.expressionValue;let i=e;return i.type="ExpressionStatement",i.expression=s,i.directive=s.extra.rawValue,delete s.extra,i}initFunction(e,s){super.initFunction(e,s),e.expression=!1}checkDeclaration(e){e!=null&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){var s;return e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&!((s=e.expression.extra)!=null&&s.parenthesized)}parseBlockBody(e,s,i,a,n){super.parseBlockBody(e,s,i,a,n);let o=e.directives.map(u=>this.directiveToStmt(u));e.body=o.concat(e.body),delete e.directives}pushClassMethod(e,s,i,a,n,o){this.parseMethod(s,i,a,n,o,"ClassMethod",!0),s.typeParameters&&(s.value.typeParameters=s.typeParameters,delete s.typeParameters),e.body.push(s)}parsePrivateName(){let e=super.parsePrivateName();return this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(e):e}convertPrivateNameToPrivateIdentifier(e){let s=super.getPrivateNameSV(e);return e=e,delete e.id,e.name=s,e.type="PrivateIdentifier",e}isPrivateName(e){return this.getPluginOption("estree","classFeatures")?e.type==="PrivateIdentifier":super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption("estree","classFeatures")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,s){let i=super.parseLiteral(e,s);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;super.parseFunctionBody(e,s,i),e.expression=e.body.type!=="BlockStatement"}parseMethod(e,s,i,a,n,o){let u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,c=this.startNode();return c.kind=e.kind,c=super.parseMethod(c,s,i,a,n,o,u),c.type="FunctionExpression",delete c.kind,e.value=c,o==="ClassPrivateMethod"&&(e.computed=!1),this.finishNode(e,"MethodDefinition")}parseClassProperty(){let e=super.parseClassProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition"),e}parseClassPrivateProperty(){let e=super.parseClassPrivateProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition",e.computed=!1),e}parseObjectMethod(e,s,i,a,n){let o=super.parseObjectMethod(e,s,i,a,n);return o&&(o.type="Property",o.kind==="method"&&(o.kind="init"),o.shorthand=!1),o}parseObjectProperty(e,s,i,a){let n=super.parseObjectProperty(e,s,i,a);return n&&(n.kind="init",n.type="Property"),n}isValidLVal(e,s,i){return e==="Property"?"value":super.isValidLVal(e,s,i)}isAssignable(e,s){return e!=null&&this.isObjectProperty(e)?this.isAssignable(e.value,s):super.isAssignable(e,s)}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e!=null&&this.isObjectProperty(e)){let{key:i,value:a}=e;this.isPrivateName(i)&&this.classScope.usePrivateName(this.getPrivateNameSV(i),i.loc.start),this.toAssignable(a,s)}else super.toAssignable(e,s)}toAssignableObjectExpressionProp(e,s,i){e.kind==="get"||e.kind==="set"?this.raise(p.PatternHasAccessor,{at:e.key}):e.method?this.raise(p.PatternHasMethod,{at:e.key}):super.toAssignableObjectExpressionProp(e,s,i)}finishCallExpression(e,s){let i=super.finishCallExpression(e,s);if(i.callee.type==="Import"){if(i.type="ImportExpression",i.source=i.arguments[0],this.hasPlugin("importAssertions")){var a;i.attributes=(a=i.arguments[1])!=null?a:null}delete i.arguments,delete i.callee}return i}toReferencedArguments(e){e.type!=="ImportExpression"&&super.toReferencedArguments(e)}parseExport(e,s){let i=this.state.lastTokStartLoc,a=super.parseExport(e,s);switch(a.type){case"ExportAllDeclaration":a.exported=null;break;case"ExportNamedDeclaration":a.specifiers.length===1&&a.specifiers[0].type==="ExportNamespaceSpecifier"&&(a.type="ExportAllDeclaration",a.exported=a.specifiers[0].exported,delete a.specifiers);case"ExportDefaultDeclaration":{var n;let{declaration:o}=a;(o==null?void 0:o.type)==="ClassDeclaration"&&((n=o.decorators)==null?void 0:n.length)>0&&o.start===a.start&&this.resetStartLocation(a,i)}break}return a}parseSubscript(e,s,i,a){let n=super.parseSubscript(e,s,i,a);if(a.optionalChainMember){if((n.type==="OptionalMemberExpression"||n.type==="OptionalCallExpression")&&(n.type=n.type.substring(8)),a.stop){let o=this.startNodeAtNode(n);return o.expression=n,this.finishNode(o,"ChainExpression")}}else(n.type==="MemberExpression"||n.type==="CallExpression")&&(n.optional=!1);return n}hasPropertyAsPrivateName(e){return e.type==="ChainExpression"&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return e.type==="Property"&&e.kind==="init"&&!e.method}isObjectMethod(e){return e.method||e.kind==="get"||e.kind==="set"}finishNodeAt(e,s,i){return Je(super.finishNodeAt(e,s,i))}resetStartLocation(e,s){super.resetStartLocation(e,s),Je(e)}resetEndLocation(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;super.resetEndLocation(e,s),Je(e)}},Yt="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",xr="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",$o=new RegExp("["+Yt+"]"),Ho=new RegExp("["+Yt+xr+"]");Yt=xr=null;var gr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191],zo=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function Qt(t,r){let e=65536;for(let s=0,i=r.length;st)return!1;if(e+=r[s+1],e>=t)return!0}return!1}function Pe(t){return t<65?t===36:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&$o.test(String.fromCharCode(t)):Qt(t,gr)}function je(t){return t<48?t===36:t<58?!0:t<65?!1:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&Ho.test(String.fromCharCode(t)):Qt(t,gr)||Qt(t,zo)}var Zt={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Vo=new Set(Zt.keyword),Ko=new Set(Zt.strict),Wo=new Set(Zt.strictBind);function Pr(t,r){return r&&t==="await"||t==="enum"}function Ar(t,r){return Pr(t,r)||Ko.has(t)}function Tr(t){return Wo.has(t)}function vr(t,r){return Ar(t,r)||Tr(t)}function Go(t){return Vo.has(t)}function Jo(t,r,e){return t===64&&r===64&&Pe(e)}var Xo=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function Yo(t){return Xo.has(t)}var qe=0,Ue=1,Ae=2,es=4,Er=8,dt=16,Cr=32,Ne=64,mt=128,$e=256,yt=Ue|Ae|mt|$e,me=1,ke=2,br=4,De=8,xt=16,Sr=64,gt=128,ts=256,ss=512,rs=1024,is=2048,Xe=4096,Pt=8192,wr=me|ke|De|gt|Pt,He=me|0|De|Pt,Qo=me|0|De|0,At=me|0|br|0,Ir=me|0|xt|0,Zo=0|ke|0|gt,el=0|ke|0|0,Nr=me|ke|De|ts|Pt,kr=0|rs,be=0|Sr,tl=me|0|0|Sr,sl=Nr|ss,rl=0|rs,Dr=0|ke|0|Xe,il=is,Tt=4,as=2,ns=1,os=as|ns,al=as|Tt,nl=ns|Tt,ol=as,ll=ns,ls=0,hs=class{constructor(t){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=t}},us=class{constructor(t,r){this.parser=void 0,this.scopeStack=[],this.inModule=void 0,this.undefinedExports=new Map,this.parser=t,this.inModule=r}get inTopLevel(){return(this.currentScope().flags&Ue)>0}get inFunction(){return(this.currentVarScopeFlags()&Ae)>0}get allowSuper(){return(this.currentThisScopeFlags()&dt)>0}get allowDirectSuper(){return(this.currentThisScopeFlags()&Cr)>0}get inClass(){return(this.currentThisScopeFlags()&Ne)>0}get inClassAndNotInNonArrowFunction(){let t=this.currentThisScopeFlags();return(t&Ne)>0&&(t&Ae)===0}get inStaticBlock(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&mt)return!0;if(r&(yt|Ne))return!1}}get inNonArrowFunction(){return(this.currentThisScopeFlags()&Ae)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new hs(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(t){return!!(t.flags&(Ae|mt)||!this.parser.inModule&&t.flags&Ue)}declareName(t,r,e){let s=this.currentScope();if(r&De||r&xt)this.checkRedeclarationInScope(s,t,r,e),r&xt?s.functions.add(t):s.lexical.add(t),r&De&&this.maybeExportDefined(s,t);else if(r&br)for(let i=this.scopeStack.length-1;i>=0&&(s=this.scopeStack[i],this.checkRedeclarationInScope(s,t,r,e),s.var.add(t),this.maybeExportDefined(s,t),!(s.flags&yt));--i);this.parser.inModule&&s.flags&Ue&&this.undefinedExports.delete(t)}maybeExportDefined(t,r){this.parser.inModule&&t.flags&Ue&&this.undefinedExports.delete(r)}checkRedeclarationInScope(t,r,e,s){this.isRedeclaredInScope(t,r,e)&&this.parser.raise(p.VarRedeclaration,{at:s,identifierName:r})}isRedeclaredInScope(t,r,e){return e&me?e&De?t.lexical.has(r)||t.functions.has(r)||t.var.has(r):e&xt?t.lexical.has(r)||!this.treatFunctionsAsVarInScope(t)&&t.var.has(r):t.lexical.has(r)&&!(t.flags&Er&&t.lexical.values().next().value===r)||!this.treatFunctionsAsVarInScope(t)&&t.functions.has(r):!1}checkLocalExport(t){let{name:r}=t,e=this.scopeStack[0];!e.lexical.has(r)&&!e.var.has(r)&&!e.functions.has(r)&&this.undefinedExports.set(r,t.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&yt)return r}}currentThisScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&(yt|Ne)&&!(r&es))return r}}},hl=class extends hs{constructor(){super(...arguments),this.declareFunctions=new Set}},ul=class extends us{createScope(t){return new hl(t)}declareName(t,r,e){let s=this.currentScope();if(r&is){this.checkRedeclarationInScope(s,t,r,e),this.maybeExportDefined(s,t),s.declareFunctions.add(t);return}super.declareName(t,r,e)}isRedeclaredInScope(t,r,e){return super.isRedeclaredInScope(t,r,e)?!0:e&is?!t.declareFunctions.has(r)&&(t.lexical.has(r)||t.functions.has(r)):!1}checkLocalExport(t){this.scopeStack[0].declareFunctions.has(t.name)||super.checkLocalExport(t)}},cl=class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(t){if(typeof t=="string")return this.plugins.has(t);{let[r,e]=t;if(!this.hasPlugin(r))return!1;let s=this.plugins.get(r);for(let i of Object.keys(e))if((s==null?void 0:s[i])!==e[i])return!1;return!0}}getPluginOption(t,r){var e;return(e=this.plugins.get(t))==null?void 0:e[r]}};function Fr(t,r){t.trailingComments===void 0?t.trailingComments=r:t.trailingComments.unshift(...r)}function pl(t,r){t.leadingComments===void 0?t.leadingComments=r:t.leadingComments.unshift(...r)}function Ye(t,r){t.innerComments===void 0?t.innerComments=r:t.innerComments.unshift(...r)}function Qe(t,r,e){let s=null,i=r.length;for(;s===null&&i>0;)s=r[--i];s===null||s.start>e.start?Ye(t,e.comments):Fr(s,e.comments)}var fl=class extends cl{addComment(t){this.filename&&(t.loc.filename=this.filename),this.state.comments.push(t)}processComment(t){let{commentStack:r}=this.state,e=r.length;if(e===0)return;let s=e-1,i=r[s];i.start===t.end&&(i.leadingNode=t,s--);let{start:a}=t;for(;s>=0;s--){let n=r[s],o=n.end;if(o>a)n.containingNode=t,this.finalizeComment(n),r.splice(s,1);else{o===a&&(n.trailingNode=t);break}}}finalizeComment(t){let{comments:r}=t;if(t.leadingNode!==null||t.trailingNode!==null)t.leadingNode!==null&&Fr(t.leadingNode,r),t.trailingNode!==null&&pl(t.trailingNode,r);else{let{containingNode:e,start:s}=t;if(this.input.charCodeAt(s-1)===44)switch(e.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":Qe(e,e.properties,t);break;case"CallExpression":case"OptionalCallExpression":Qe(e,e.arguments,t);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":Qe(e,e.params,t);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":Qe(e,e.elements,t);break;case"ExportNamedDeclaration":case"ImportDeclaration":Qe(e,e.specifiers,t);break;default:Ye(e,r)}else Ye(e,r)}}finalizeRemainingComments(){let{commentStack:t}=this.state;for(let r=t.length-1;r>=0;r--)this.finalizeComment(t[r]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(t){let{commentStack:r}=this.state,{length:e}=r;if(e===0)return;let s=r[e-1];s.leadingNode===t&&(s.leadingNode=null)}takeSurroundingComments(t,r,e){let{commentStack:s}=this.state,i=s.length;if(i===0)return;let a=i-1;for(;a>=0;a--){let n=s[a],o=n.end;if(n.start===e)n.leadingNode=t;else if(o===r)n.trailingNode=t;else if(o=48&&r<=57},Br={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},Et={bin:t=>t===48||t===49,oct:t=>t>=48&&t<=55,dec:t=>t>=48&&t<=57,hex:t=>t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102};function Mr(t,r,e,s,i,a){let n=e,o=s,u=i,c="",y=null,g=e,{length:T}=r;for(;;){if(e>=T){a.unterminated(n,o,u),c+=r.slice(g,e);break}let C=r.charCodeAt(e);if(xl(t,C,r,e)){c+=r.slice(g,e);break}if(C===92){c+=r.slice(g,e);let j=gl(r,e,s,i,t==="template",a);j.ch===null&&!y?y={pos:e,lineStart:s,curLine:i}:c+=j.ch,{pos:e,lineStart:s,curLine:i}=j,g=e}else C===8232||C===8233?(++e,++i,s=e):C===10||C===13?t==="template"?(c+=r.slice(g,e)+` -`,++e,C===13&&r.charCodeAt(e)===10&&++e,++i,g=s=e):a.unterminated(n,o,u):++e}return{pos:e,str:c,firstInvalidLoc:y,lineStart:s,curLine:i,containsInvalid:!!y}}function xl(t,r,e,s){return t==="template"?r===96||r===36&&e.charCodeAt(s+1)===123:r===(t==="double"?34:39)}function gl(t,r,e,s,i,a){let n=!i;r++;let o=c=>({pos:r,ch:c,lineStart:e,curLine:s}),u=t.charCodeAt(r++);switch(u){case 110:return o(` -`);case 114:return o("\r");case 120:{let c;return{code:c,pos:r}=fs(t,r,e,s,2,!1,n,a),o(c===null?null:String.fromCharCode(c))}case 117:{let c;return{code:c,pos:r}=Rr(t,r,e,s,n,a),o(c===null?null:String.fromCodePoint(c))}case 116:return o(" ");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:t.charCodeAt(r)===10&&++r;case 10:e=r,++s;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);a.strictNumericEscape(r-1,e,s);default:if(u>=48&&u<=55){let c=r-1,g=t.slice(c,r+2).match(/^[0-7]+/)[0],T=parseInt(g,8);T>255&&(g=g.slice(0,-1),T=parseInt(g,8)),r+=g.length-1;let C=t.charCodeAt(r);if(g!=="0"||C===56||C===57){if(i)return o(null);a.strictNumericEscape(c,e,s)}return o(String.fromCharCode(T))}return o(String.fromCharCode(u))}}function fs(t,r,e,s,i,a,n,o){let u=r,c;return{n:c,pos:r}=_r(t,r,e,s,16,i,a,!1,o,!n),c===null&&(n?o.invalidEscapeSequence(u,e,s):r=u-1),{code:c,pos:r}}function _r(t,r,e,s,i,a,n,o,u,c){let y=r,g=i===16?Br.hex:Br.decBinOct,T=i===16?Et.hex:i===10?Et.dec:i===8?Et.oct:Et.bin,C=!1,j=0;for(let q=0,G=a==null?1/0:a;q=97?K=J-97+10:J>=65?K=J-65+10:yl(J)?K=J-48:K=1/0,K>=i){if(K<=9&&c)return{n:null,pos:r};if(K<=9&&u.invalidDigit(r,e,s,i))K=0;else if(n)K=0,C=!0;else break}++r,j=j*i+K}return r===y||a!=null&&r-y!==a||C?{n:null,pos:r}:{n:j,pos:r}}function Rr(t,r,e,s,i,a){let n=t.charCodeAt(r),o;if(n===123){if(++r,{code:o,pos:r}=fs(t,r,e,s,t.indexOf("}",r)-r,!0,i,a),++r,o!==null&&o>1114111)if(i)a.invalidCodePoint(r,e,s);else return{code:null,pos:r}}else({code:o,pos:r}=fs(t,r,e,s,4,!1,i,a));return{code:o,pos:r}}var Pl=["at"],Al=["at"];function et(t,r,e){return new Ce(e,t-r,t)}var Tl=new Set([103,109,115,105,121,117,100,118]),Se=class{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new ft(t.startLoc,t.endLoc)}},vl=class extends fl{constructor(t,r){super(),this.isLookahead=void 0,this.tokens=[],this.errorHandlers_readInt={invalidDigit:(e,s,i,a)=>this.options.errorRecovery?(this.raise(p.InvalidDigit,{at:et(e,s,i),radix:a}),!0):!1,numericSeparatorInEscapeSequence:this.errorBuilder(p.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(p.UnexpectedNumericSeparator)},this.errorHandlers_readCodePoint=Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(p.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(p.InvalidCodePoint)}),this.errorHandlers_readStringContents_string=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,s,i)=>{this.recordStrictModeErrors(p.StrictNumericEscape,{at:et(e,s,i)})},unterminated:(e,s,i)=>{throw this.raise(p.UnterminatedString,{at:et(e-1,s,i)})}}),this.errorHandlers_readStringContents_template=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(p.StrictNumericEscape),unterminated:(e,s,i)=>{throw this.raise(p.UnterminatedTemplate,{at:et(e,s,i)})}}),this.state=new Or,this.state.init(t),this.input=r,this.length=r.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Se(this.state)),this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return this.match(t)?(this.next(),!0):!1}match(t){return this.state.type===t}createLookaheadState(t){return{pos:t.pos,value:null,type:t.type,start:t.start,end:t.end,context:[this.curContext()],inType:t.inType,startLoc:t.startLoc,lastTokEndLoc:t.lastTokEndLoc,curLine:t.curLine,lineStart:t.lineStart,curPosition:t.curPosition}}lookahead(){let t=this.state;this.state=this.createLookaheadState(t),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let r=this.state;return this.state=t,r}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){return ps.lastIndex=t,ps.test(this.input)?ps.lastIndex:t}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(t){let r=this.input.charCodeAt(t);if((r&64512)===55296&&++t{let[e,s]=r;return this.raise(e,{at:s})}),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(137);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(t){let r;this.isLookahead||(r=this.state.curPosition());let e=this.state.pos,s=this.input.indexOf(t,e+2);if(s===-1)throw this.raise(p.UnterminatedComment,{at:this.state.curPosition()});for(this.state.pos=s+t.length,vt.lastIndex=e+2;vt.test(this.input)&&vt.lastIndex<=s;)++this.state.curLine,this.state.lineStart=vt.lastIndex;if(this.isLookahead)return;let i={type:"CommentBlock",value:this.input.slice(e+2,s),start:e,end:s+t.length,loc:new ft(r,this.state.curPosition())};return this.options.tokens&&this.pushToken(i),i}skipLineComment(t){let r=this.state.pos,e;this.isLookahead||(e=this.state.curPosition());let s=this.input.charCodeAt(this.state.pos+=t);if(this.state.post)){let i=this.skipLineComment(3);i!==void 0&&(this.addComment(i),this.options.attachComment&&r.push(i))}else break e}else if(e===60&&!this.inModule&&this.options.annexB){let s=this.state.pos;if(this.input.charCodeAt(s+1)===33&&this.input.charCodeAt(s+2)===45&&this.input.charCodeAt(s+3)===45){let i=this.skipLineComment(4);i!==void 0&&(this.addComment(i),this.options.attachComment&&r.push(i))}else break e}else break e}}if(r.length>0){let e=this.state.pos,s={start:t,end:e,comments:r,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(s)}}finishToken(t,r){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let e=this.state.type;this.state.type=t,this.state.value=r,this.isLookahead||this.updateContext(e)}replaceToken(t){this.state.type=t,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let t=this.state.pos+1,r=this.codePointAtPos(t);if(r>=48&&r<=57)throw this.raise(p.UnexpectedDigitAfterHash,{at:this.state.curPosition()});if(r===123||r===91&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),this.getPluginOption("recordAndTuple","syntaxType")==="bar")throw this.raise(r===123?p.RecordExpressionHashIncorrectStartSyntaxType:p.TupleExpressionHashIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,r===123?this.finishToken(7):this.finishToken(1)}else Pe(r)?(++this.state.pos,this.finishToken(136,this.readWord1(r))):r===92?(++this.state.pos,this.finishToken(136,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let t=this.input.charCodeAt(this.state.pos+1);if(t>=48&&t<=57){this.readNumber(!0);return}t===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(t!==33)return!1;let r=this.state.pos;for(this.state.pos+=1;!Ze(t)&&++this.state.pos=48&&r<=57)?(this.state.pos+=2,this.finishToken(18)):(++this.state.pos,this.finishToken(17))}getTokenFromCode(t){switch(t){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(10);return;case 41:++this.state.pos,this.finishToken(11);return;case 59:++this.state.pos,this.finishToken(13);return;case 44:++this.state.pos,this.finishToken(12);return;case 91:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(p.TupleExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(3);return;case 123:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(p.RecordExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:++this.state.pos,this.finishToken(8);return;case 58:this.hasPlugin("functionBind")&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(15,2):(++this.state.pos,this.finishToken(14));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let r=this.input.charCodeAt(this.state.pos+1);if(r===120||r===88){this.readRadixNumber(16);return}if(r===111||r===79){this.readRadixNumber(8);return}if(r===98||r===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(t);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(t);return;case 124:case 38:this.readToken_pipe_amp(t);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(t);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(t);return;case 126:this.finishOp(36,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(Pe(t)){this.readWord(t);return}}throw this.raise(p.InvalidOrUnexpectedToken,{at:this.state.curPosition(),unexpected:String.fromCodePoint(t)})}finishOp(t,r){let e=this.input.slice(this.state.pos,this.state.pos+r);this.state.pos+=r,this.finishToken(t,e)}readRegexp(){let t=this.state.startLoc,r=this.state.start+1,e,s,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(p.UnterminatedRegExp,{at:re(t,1)});let u=this.input.charCodeAt(i);if(Ze(u))throw this.raise(p.UnterminatedRegExp,{at:re(t,1)});if(e)e=!1;else{if(u===91)s=!0;else if(u===93&&s)s=!1;else if(u===47&&!s)break;e=u===92}}let a=this.input.slice(r,i);++i;let n="",o=()=>re(t,i+2-r);for(;i2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{n:i,pos:a}=_r(this.input,this.state.pos,this.state.lineStart,this.state.curLine,t,r,e,s,this.errorHandlers_readInt,!1);return this.state.pos=a,i}readRadixNumber(t){let r=this.state.curPosition(),e=!1;this.state.pos+=2;let s=this.readInt(t);s==null&&this.raise(p.InvalidDigit,{at:re(r,2),radix:t});let i=this.input.charCodeAt(this.state.pos);if(i===110)++this.state.pos,e=!0;else if(i===109)throw this.raise(p.InvalidDecimal,{at:r});if(Pe(this.codePointAtPos(this.state.pos)))throw this.raise(p.NumberIdentifier,{at:this.state.curPosition()});if(e){let a=this.input.slice(r.index,this.state.pos).replace(/[_n]/g,"");this.finishToken(133,a);return}this.finishToken(132,s)}readNumber(t){let r=this.state.pos,e=this.state.curPosition(),s=!1,i=!1,a=!1,n=!1,o=!1;!t&&this.readInt(10)===null&&this.raise(p.InvalidNumber,{at:this.state.curPosition()});let u=this.state.pos-r>=2&&this.input.charCodeAt(r)===48;if(u){let T=this.input.slice(r,this.state.pos);if(this.recordStrictModeErrors(p.StrictOctalLiteral,{at:e}),!this.state.strict){let C=T.indexOf("_");C>0&&this.raise(p.ZeroDigitNumericSeparator,{at:re(e,C)})}o=u&&!/[89]/.test(T)}let c=this.input.charCodeAt(this.state.pos);if(c===46&&!o&&(++this.state.pos,this.readInt(10),s=!0,c=this.input.charCodeAt(this.state.pos)),(c===69||c===101)&&!o&&(c=this.input.charCodeAt(++this.state.pos),(c===43||c===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(p.InvalidOrMissingExponent,{at:e}),s=!0,n=!0,c=this.input.charCodeAt(this.state.pos)),c===110&&((s||u)&&this.raise(p.InvalidBigIntLiteral,{at:e}),++this.state.pos,i=!0),c===109&&(this.expectPlugin("decimal",this.state.curPosition()),(n||u)&&this.raise(p.InvalidDecimal,{at:e}),++this.state.pos,a=!0),Pe(this.codePointAtPos(this.state.pos)))throw this.raise(p.NumberIdentifier,{at:this.state.curPosition()});let y=this.input.slice(r,this.state.pos).replace(/[_mn]/g,"");if(i){this.finishToken(133,y);return}if(a){this.finishToken(134,y);return}let g=o?parseInt(y,8):parseFloat(y);this.finishToken(132,g)}readCodePoint(t){let{code:r,pos:e}=Rr(this.input,this.state.pos,this.state.lineStart,this.state.curLine,t,this.errorHandlers_readCodePoint);return this.state.pos=e,r}readString(t){let{str:r,pos:e,curLine:s,lineStart:i}=Mr(t===34?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=e+1,this.state.lineStart=i,this.state.curLine=s,this.finishToken(131,r)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let t=this.input[this.state.pos],{str:r,firstInvalidLoc:e,pos:s,curLine:i,lineStart:a}=Mr("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=s+1,this.state.lineStart=a,this.state.curLine=i,e&&(this.state.firstInvalidTemplateEscapePos=new Ce(e.curLine,e.pos-e.lineStart,e.pos)),this.input.codePointAt(s)===96?this.finishToken(24,e?null:t+r+"`"):(this.state.pos++,this.finishToken(25,e?null:t+r+"${"))}recordStrictModeErrors(t,r){let{at:e}=r,s=e.index;this.state.strict&&!this.state.strictErrors.has(s)?this.raise(t,{at:e}):this.state.strictErrors.set(s,[t,e])}readWord1(t){this.state.containsEsc=!1;let r="",e=this.state.pos,s=this.state.pos;for(t!==void 0&&(this.state.pos+=t<=65535?1:2);this.state.pos=0;o--){let u=n[o];if(u.loc.index===a)return n[o]=t({loc:i,details:s});if(u.loc.indexthis.hasPlugin(r)))throw this.raise(p.MissingOneOfPlugins,{at:this.state.startLoc,missingPlugin:t})}errorBuilder(t){return(r,e,s)=>{this.raise(t,{at:et(r,e,s)})}}},El=class{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}},Cl=class{constructor(t){this.parser=void 0,this.stack=[],this.undefinedPrivateNames=new Map,this.parser=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new El)}exit(){let t=this.stack.pop(),r=this.current();for(let[e,s]of Array.from(t.undefinedPrivateNames))r?r.undefinedPrivateNames.has(e)||r.undefinedPrivateNames.set(e,s):this.parser.raise(p.InvalidPrivateFieldResolution,{at:s,identifierName:e})}declarePrivateName(t,r,e){let{privateNames:s,loneAccessors:i,undefinedPrivateNames:a}=this.current(),n=s.has(t);if(r&os){let o=n&&i.get(t);if(o){let u=o&Tt,c=r&Tt,y=o&os,g=r&os;n=y===g||u!==c,n||i.delete(t)}else n||i.set(t,r)}n&&this.parser.raise(p.PrivateNameRedeclaration,{at:e,identifierName:t}),s.add(t),a.delete(t)}usePrivateName(t,r){let e;for(e of this.stack)if(e.privateNames.has(t))return;e?e.undefinedPrivateNames.set(t,r):this.parser.raise(p.InvalidPrivateFieldResolution,{at:r,identifierName:t})}},bl=0,jr=1,ds=2,qr=3,Ct=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:bl;this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return this.type===ds||this.type===jr}isCertainlyParameterDeclaration(){return this.type===qr}},Ur=class extends Ct{constructor(t){super(t),this.declarationErrors=new Map}recordDeclarationError(t,r){let{at:e}=r,s=e.index;this.declarationErrors.set(s,[t,e])}clearDeclarationError(t){this.declarationErrors.delete(t)}iterateErrors(t){this.declarationErrors.forEach(t)}},Sl=class{constructor(t){this.parser=void 0,this.stack=[new Ct],this.parser=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,r){let{at:e}=r,s={at:e.loc.start},{stack:i}=this,a=i.length-1,n=i[a];for(;!n.isCertainlyParameterDeclaration();){if(n.canBeArrowParameterDeclaration())n.recordDeclarationError(t,s);else return;n=i[--a]}this.parser.raise(t,s)}recordArrowParameterBindingError(t,r){let{at:e}=r,{stack:s}=this,i=s[s.length-1],a={at:e.loc.start};if(i.isCertainlyParameterDeclaration())this.parser.raise(t,a);else if(i.canBeArrowParameterDeclaration())i.recordDeclarationError(t,a);else return}recordAsyncArrowParametersError(t){let{at:r}=t,{stack:e}=this,s=e.length-1,i=e[s];for(;i.canBeArrowParameterDeclaration();)i.type===ds&&i.recordDeclarationError(p.AwaitBindingIdentifier,{at:r}),i=e[--s]}validateAsPattern(){let{stack:t}=this,r=t[t.length-1];r.canBeArrowParameterDeclaration()&&r.iterateErrors(e=>{let[s,i]=e;this.parser.raise(s,{at:i});let a=t.length-2,n=t[a];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(i.index),n=t[--a]})}};function wl(){return new Ct(qr)}function Il(){return new Ur(jr)}function Nl(){return new Ur(ds)}function $r(){return new Ct}var ze=0,Hr=1,bt=2,zr=4,Ve=8,kl=class{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&bt)>0}get hasYield(){return(this.currentFlags()&Hr)>0}get hasReturn(){return(this.currentFlags()&zr)>0}get hasIn(){return(this.currentFlags()&Ve)>0}};function St(t,r){return(t?bt:0)|(r?Hr:0)}var Dl=class extends vl{addExtra(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;if(!t)return;let i=t.extra=t.extra||{};s?i[r]=e:Object.defineProperty(i,r,{enumerable:s,value:e})}isContextual(t){return this.state.type===t&&!this.state.containsEsc}isUnparsedContextual(t,r){let e=t+r.length;if(this.input.slice(t,e)===r){let s=this.input.charCodeAt(e);return!(je(s)||(s&64512)===55296)}return!1}isLookaheadContextual(t){let r=this.nextTokenStart();return this.isUnparsedContextual(r,t)}eatContextual(t){return this.isContextual(t)?(this.next(),!0):!1}expectContextual(t,r){if(!this.eatContextual(t)){if(r!=null)throw this.raise(r,{at:this.state.startLoc});this.unexpected(null,t)}}canInsertSemicolon(){return this.match(137)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return cs.test(this.input.slice(this.state.lastTokEndLoc.index,this.state.start))}hasFollowingLineBreak(){return Lr.lastIndex=this.state.end,Lr.test(this.input)}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(){((arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0)?this.isLineTerminator():this.eat(13))||this.raise(p.MissingSemicolon,{at:this.state.lastTokEndLoc})}expect(t,r){this.eat(t)||this.unexpected(r,t)}tryParse(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.clone(),e={node:null};try{let s=t(function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;throw e.node=i,e});if(this.state.errors.length>r.errors.length){let i=this.state;return this.state=r,this.state.tokensLength=i.tokensLength,{node:s,error:i.errors[r.errors.length],thrown:!1,aborted:!1,failState:i}}return{node:s,error:null,thrown:!1,aborted:!1,failState:null}}catch(s){let i=this.state;if(this.state=r,s instanceof SyntaxError)return{node:null,error:s,thrown:!0,aborted:!1,failState:i};if(s===e)return{node:e.node,error:null,thrown:!1,aborted:!0,failState:i};throw s}}checkExpressionErrors(t,r){if(!t)return!1;let{shorthandAssignLoc:e,doubleProtoLoc:s,privateKeyLoc:i,optionalParametersLoc:a}=t,n=!!e||!!s||!!a||!!i;if(!r)return n;e!=null&&this.raise(p.InvalidCoverInitializedName,{at:e}),s!=null&&this.raise(p.DuplicateProto,{at:s}),i!=null&&this.raise(p.UnexpectedPrivateField,{at:i}),a!=null&&this.unexpected(a)}isLiteralPropertyName(){return _e(this.state.type)}isPrivateName(t){return t.type==="PrivateName"}getPrivateNameSV(t){return t.id.name}hasPropertyAsPrivateName(t){return(t.type==="MemberExpression"||t.type==="OptionalMemberExpression")&&this.isPrivateName(t.property)}isObjectProperty(t){return t.type==="ObjectProperty"}isObjectMethod(t){return t.type==="ObjectMethod"}initializeScopes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.sourceType==="module",r=this.state.labels;this.state.labels=[];let e=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let s=this.inModule;this.inModule=t;let i=this.scope,a=this.getScopeHandler();this.scope=new a(this,t);let n=this.prodParam;this.prodParam=new kl;let o=this.classScope;this.classScope=new Cl(this);let u=this.expressionScope;return this.expressionScope=new Sl(this),()=>{this.state.labels=r,this.exportedIdentifiers=e,this.inModule=s,this.scope=i,this.prodParam=n,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let t=ze;this.inModule&&(t|=bt),this.scope.enter(Ue),this.prodParam.enter(t)}checkDestructuringPrivate(t){let{privateKeyLoc:r}=t;r!==null&&this.expectPlugin("destructuringPrivate",r)}},wt=class{constructor(){this.shorthandAssignLoc=null,this.doubleProtoLoc=null,this.privateKeyLoc=null,this.optionalParametersLoc=null}},It=class{constructor(t,r,e){this.type="",this.start=r,this.end=0,this.loc=new ft(e),t!=null&&t.options.ranges&&(this.range=[r,0]),t!=null&&t.filename&&(this.loc.filename=t.filename)}},ms=It.prototype;ms.__clone=function(){let t=new It(void 0,this.start,this.loc.start),r=Object.keys(this);for(let e=0,s=r.length;e1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;t.end=r.index,t.loc.end=r,this.options.ranges&&(t.range[1]=r.index)}resetStartLocationFromNode(t,r){this.resetStartLocation(t,r.loc.start)}},Bl=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),D=ge`flow`({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:t=>{let{reservedType:r}=t;return`Cannot overwrite reserved type ${r}.`},DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:t=>{let{memberName:r,enumName:e}=t;return`Boolean enum members need to be initialized. Use either \`${r} = true,\` or \`${r} = false,\` in enum \`${e}\`.`},EnumDuplicateMemberName:t=>{let{memberName:r,enumName:e}=t;return`Enum member names need to be unique, but the name \`${r}\` has already been used before in enum \`${e}\`.`},EnumInconsistentMemberValues:t=>{let{enumName:r}=t;return`Enum \`${r}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`},EnumInvalidExplicitType:t=>{let{invalidEnumType:r,enumName:e}=t;return`Enum type \`${r}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`},EnumInvalidExplicitTypeUnknownSupplied:t=>{let{enumName:r}=t;return`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${r}\`.`},EnumInvalidMemberInitializerPrimaryType:t=>{let{enumName:r,memberName:e,explicitType:s}=t;return`Enum \`${r}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`},EnumInvalidMemberInitializerSymbolType:t=>{let{enumName:r,memberName:e}=t;return`Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${r}\`.`},EnumInvalidMemberInitializerUnknownType:t=>{let{enumName:r,memberName:e}=t;return`The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${r}\`.`},EnumInvalidMemberName:t=>{let{enumName:r,memberName:e,suggestion:s}=t;return`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${r}\`.`},EnumNumberMemberNotInitialized:t=>{let{enumName:r,memberName:e}=t;return`Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${r}\`.`},EnumStringMemberInconsistentlyInitailized:t=>{let{enumName:r}=t;return`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${r}\`.`},GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{reasonCode:"OptionalBindingPattern"}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:t=>{let{reservedType:r}=t;return`Unexpected reserved type ${r}.`},UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:t=>{let{unsupportedExportKind:r,suggestion:e}=t;return`\`declare export ${r}\` is not supported. Use \`${e}\` instead.`},UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function Ml(t){return t.type==="DeclareExportAllDeclaration"||t.type==="DeclareExportDeclaration"&&(!t.declaration||t.declaration.type!=="TypeAlias"&&t.declaration.type!=="InterfaceDeclaration")}function ys(t){return t.importKind==="type"||t.importKind==="typeof"}function Vr(t){return se(t)&&t!==97}var _l={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Rl(t,r){let e=[],s=[];for(let i=0;iclass extends t{constructor(){super(...arguments),this.flowPragma=void 0}getScopeHandler(){return ul}shouldParseTypes(){return this.getPluginOption("flow","all")||this.flowPragma==="flow"}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,s){e!==131&&e!==13&&e!==28&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(e,s)}addComment(e){if(this.flowPragma===void 0){let s=jl.exec(e.value);if(s)if(s[1]==="flow")this.flowPragma="flow";else if(s[1]==="noflow")this.flowPragma="noflow";else throw new Error("Unexpected flow pragma")}super.addComment(e)}flowParseTypeInitialiser(e){let s=this.state.inType;this.state.inType=!0,this.expect(e||14);let i=this.flowParseType();return this.state.inType=s,i}flowParsePredicate(){let e=this.startNode(),s=this.state.startLoc;return this.next(),this.expectContextual(108),this.state.lastTokStart>s.index+1&&this.raise(D.UnexpectedSpaceBetweenModuloChecks,{at:s}),this.eat(10)?(e.value=super.parseExpression(),this.expect(11),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let e=this.state.inType;this.state.inType=!0,this.expect(14);let s=null,i=null;return this.match(54)?(this.state.inType=e,i=this.flowParsePredicate()):(s=this.flowParseType(),this.state.inType=e,this.match(54)&&(i=this.flowParsePredicate())),[s,i]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();let s=e.id=this.parseIdentifier(),i=this.startNode(),a=this.startNode();this.match(47)?i.typeParameters=this.flowParseTypeParameterDeclaration():i.typeParameters=null,this.expect(10);let n=this.flowParseFunctionTypeParams();return i.params=n.params,i.rest=n.rest,i.this=n._this,this.expect(11),[i.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),a.typeAnnotation=this.finishNode(i,"FunctionTypeAnnotation"),s.typeAnnotation=this.finishNode(a,"TypeAnnotation"),this.resetEndLocation(s),this.semicolon(),this.scope.declareName(e.id.name,il,e.id.loc.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,s){if(this.match(80))return this.flowParseDeclareClass(e);if(this.match(68))return this.flowParseDeclareFunction(e);if(this.match(74))return this.flowParseDeclareVariable(e);if(this.eatContextual(125))return this.match(16)?this.flowParseDeclareModuleExports(e):(s&&this.raise(D.NestedDeclareModule,{at:this.state.lastTokStartLoc}),this.flowParseDeclareModule(e));if(this.isContextual(128))return this.flowParseDeclareTypeAlias(e);if(this.isContextual(129))return this.flowParseDeclareOpaqueType(e);if(this.isContextual(127))return this.flowParseDeclareInterface(e);if(this.match(82))return this.flowParseDeclareExportDeclaration(e,s);this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,At,e.id.loc.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(qe),this.match(131)?e.id=super.parseExprAtom():e.id=this.parseIdentifier();let s=e.body=this.startNode(),i=s.body=[];for(this.expect(5);!this.match(8);){let o=this.startNode();this.match(83)?(this.next(),!this.isContextual(128)&&!this.match(87)&&this.raise(D.InvalidNonTypeImportInDeclareModule,{at:this.state.lastTokStartLoc}),super.parseImport(o)):(this.expectContextual(123,D.UnsupportedStatementInDeclareModule),o=this.flowParseDeclare(o,!0)),i.push(o)}this.scope.exit(),this.expect(8),this.finishNode(s,"BlockStatement");let a=null,n=!1;return i.forEach(o=>{Ml(o)?(a==="CommonJS"&&this.raise(D.AmbiguousDeclareModuleKind,{at:o}),a="ES"):o.type==="DeclareModuleExports"&&(n&&this.raise(D.DuplicateDeclareModuleExports,{at:o}),a==="ES"&&this.raise(D.AmbiguousDeclareModuleKind,{at:o}),a="CommonJS",n=!0)}),e.kind=a||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,s){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(128)||this.isContextual(127))&&!s){let i=this.state.value;throw this.raise(D.UnsupportedDeclareExportKind,{at:this.state.startLoc,unsupportedExportKind:i,suggestion:_l[i]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(129))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(127)||this.isContextual(128)||this.isContextual(129))return e=this.parseExport(e,null),e.type==="ExportNamedDeclaration"&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(109),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){this.next();let s=this.flowParseTypeAlias(e);return s.type="DeclareTypeAlias",s}flowParseDeclareOpaqueType(e){this.next();let s=this.flowParseOpaqueType(e,!0);return s.type="DeclareOpaqueType",s}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,s){if(e.id=this.flowParseRestrictedIdentifier(!s,!0),this.scope.declareName(e.id.name,s?Ir:He,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(!s&&this.eat(12));if(s){if(this.eatContextual(115))do e.mixins.push(this.flowParseInterfaceExtends());while(this.eat(12));if(this.eatContextual(111))do e.implements.push(this.flowParseInterfaceExtends());while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:s,allowExact:!1,allowSpread:!1,allowProto:s,allowInexact:!1})}flowParseInterfaceExtends(){let e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){e==="_"&&this.raise(D.UnexpectedReservedUnderscore,{at:this.state.startLoc})}checkReservedType(e,s,i){Bl.has(e)&&this.raise(i?D.AssignReservedType:D.UnexpectedReservedType,{at:s,reservedType:e})}flowParseRestrictedIdentifier(e,s){return this.checkReservedType(this.state.value,this.state.startLoc,s),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,He,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,s){return this.expectContextual(128),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,He,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,s||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,s=this.state.startLoc,i=this.startNode(),a=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return i.name=n.name,i.variance=a,i.bound=n.typeAnnotation,this.match(29)?(this.eat(29),i.default=this.flowParseType()):e&&this.raise(D.MissingTypeParamDefault,{at:s}),this.finishNode(i,"TypeParameter")}flowParseTypeParameterDeclaration(){let e=this.state.inType,s=this.startNode();s.params=[],this.state.inType=!0,this.match(47)||this.match(140)?this.next():this.unexpected();let i=!1;do{let a=this.flowParseTypeParameter(i);s.params.push(a),a.default&&(i=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(s,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){let e=this.startNode(),s=this.state.inType;e.params=[],this.state.inType=!0,this.expect(47);let i=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=i,this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){let e=this.startNode(),s=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){let e=this.startNode();if(this.expectContextual(127),e.extends=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(132)||this.match(131)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,s,i){return e.static=s,this.lookahead().type===14?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=i,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,s){return e.static=s,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,s){let i=this.startNode();return e.static=s,e.value=this.flowParseObjectTypeMethodish(i),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType(e){let{allowStatic:s,allowExact:i,allowSpread:a,allowProto:n,allowInexact:o}=e,u=this.state.inType;this.state.inType=!0;let c=this.startNode();c.callProperties=[],c.properties=[],c.indexers=[],c.internalSlots=[];let y,g,T=!1;for(i&&this.match(6)?(this.expect(6),y=9,g=!0):(this.expect(5),y=8,g=!1),c.exact=g;!this.match(y);){let j=!1,q=null,G=null,J=this.startNode();if(n&&this.isContextual(116)){let Z=this.lookahead();Z.type!==14&&Z.type!==17&&(this.next(),q=this.state.startLoc,s=!1)}if(s&&this.isContextual(104)){let Z=this.lookahead();Z.type!==14&&Z.type!==17&&(this.next(),j=!0)}let K=this.flowParseVariance();if(this.eat(0))q!=null&&this.unexpected(q),this.eat(0)?(K&&this.unexpected(K.loc.start),c.internalSlots.push(this.flowParseObjectTypeInternalSlot(J,j))):c.indexers.push(this.flowParseObjectTypeIndexer(J,j,K));else if(this.match(10)||this.match(47))q!=null&&this.unexpected(q),K&&this.unexpected(K.loc.start),c.callProperties.push(this.flowParseObjectTypeCallProperty(J,j));else{let Z="init";if(this.isContextual(98)||this.isContextual(103)){let yh=this.lookahead();_e(yh.type)&&(Z=this.state.value,this.next())}let We=this.flowParseObjectTypeProperty(J,j,q,K,Z,a,o!=null?o:!g);We===null?(T=!0,G=this.state.lastTokStartLoc):c.properties.push(We)}this.flowObjectTypeSemicolon(),G&&!this.match(8)&&!this.match(9)&&this.raise(D.UnexpectedExplicitInexactInObject,{at:G})}this.expect(y),a&&(c.inexact=T);let C=this.finishNode(c,"ObjectTypeAnnotation");return this.state.inType=u,C}flowParseObjectTypeProperty(e,s,i,a,n,o,u){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(o?u||this.raise(D.InexactInsideExact,{at:this.state.lastTokStartLoc}):this.raise(D.InexactInsideNonObject,{at:this.state.lastTokStartLoc}),a&&this.raise(D.InexactVariance,{at:a}),null):(o||this.raise(D.UnexpectedSpreadType,{at:this.state.lastTokStartLoc}),i!=null&&this.unexpected(i),a&&this.raise(D.SpreadVariance,{at:a}),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=s,e.proto=i!=null,e.kind=n;let c=!1;return this.match(47)||this.match(10)?(e.method=!0,i!=null&&this.unexpected(i),a&&this.unexpected(a.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start)),(n==="get"||n==="set")&&this.flowCheckGetterSetterParams(e),!o&&e.key.name==="constructor"&&e.value.this&&this.raise(D.ThisParamBannedInConstructor,{at:e.value.this})):(n!=="init"&&this.unexpected(),e.method=!1,this.eat(17)&&(c=!0),e.value=this.flowParseTypeInitialiser(),e.variance=a),e.optional=c,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){let s=e.kind==="get"?0:1,i=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.kind==="get"?D.GetterMayNotHaveThisParam:D.SetterMayNotHaveThisParam,{at:e.value.this}),i!==s&&this.raise(e.kind==="get"?p.BadGetterArity:p.BadSetterArity,{at:e}),e.kind==="set"&&e.value.rest&&this.raise(p.BadSetterRestParameter,{at:e})}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(e,s){var i;(i=e)!=null||(e=this.state.startLoc);let a=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let n=this.startNodeAt(e);n.qualification=a,n.id=this.flowParseRestrictedIdentifier(!0),a=this.finishNode(n,"QualifiedTypeIdentifier")}return a}flowParseGenericType(e,s){let i=this.startNodeAt(e);return i.typeParameters=null,i.id=this.flowParseQualifiedTypeIdentifier(e,s),this.match(47)&&(i.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(i,"GenericTypeAnnotation")}flowParseTypeofType(){let e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){let e=this.startNode();for(e.types=[],this.expect(0);this.state.pos0&&arguments[0]!==void 0?arguments[0]:[],s=null,i=null;for(this.match(78)&&(i=this.flowParseFunctionTypeParam(!0),i.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(s=this.flowParseFunctionTypeParam(!1)),{params:e,rest:s,_this:i}}flowIdentToTypeAnnotation(e,s,i){switch(i.name){case"any":return this.finishNode(s,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(s,"BooleanTypeAnnotation");case"mixed":return this.finishNode(s,"MixedTypeAnnotation");case"empty":return this.finishNode(s,"EmptyTypeAnnotation");case"number":return this.finishNode(s,"NumberTypeAnnotation");case"string":return this.finishNode(s,"StringTypeAnnotation");case"symbol":return this.finishNode(s,"SymbolTypeAnnotation");default:return this.checkNotUnderscore(i.name),this.flowParseGenericType(e,i)}}flowParsePrimaryType(){let e=this.state.startLoc,s=this.startNode(),i,a,n=!1,o=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 6:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,a=this.flowParseTupleType(),this.state.noAnonFunctionType=o,a;case 47:return s.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(10),i=this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),this.finishNode(s,"FunctionTypeAnnotation");case 10:if(this.next(),!this.match(11)&&!this.match(21))if(R(this.state.type)||this.match(78)){let u=this.lookahead().type;n=u!==17&&u!==14}else n=!0;if(n){if(this.state.noAnonFunctionType=!1,a=this.flowParseType(),this.state.noAnonFunctionType=o,this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&this.lookahead().type===19))return this.expect(11),a;this.eat(12)}return a?i=this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]):i=this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation");case 131:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case 85:case 86:return s.value=this.match(85),this.next(),this.finishNode(s,"BooleanLiteralTypeAnnotation");case 53:if(this.state.value==="-"){if(this.next(),this.match(132))return this.parseLiteralAtNode(-this.state.value,"NumberLiteralTypeAnnotation",s);if(this.match(133))return this.parseLiteralAtNode(-this.state.value,"BigIntLiteralTypeAnnotation",s);throw this.raise(D.UnexpectedSubtractionOperand,{at:this.state.startLoc})}this.unexpected();return;case 132:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case 133:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case 88:return this.next(),this.finishNode(s,"VoidTypeAnnotation");case 84:return this.next(),this.finishNode(s,"NullLiteralTypeAnnotation");case 78:return this.next(),this.finishNode(s,"ThisTypeAnnotation");case 55:return this.next(),this.finishNode(s,"ExistsTypeAnnotation");case 87:return this.flowParseTypeofType();default:if(Ee(this.state.type)){let u=Y(this.state.type);return this.next(),super.createIdentifier(s,u)}else if(R(this.state.type))return this.isContextual(127)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(e,s,this.parseIdentifier())}this.unexpected()}flowParsePostfixType(){let e=this.state.startLoc,s=this.flowParsePrimaryType(),i=!1;for(;(this.match(0)||this.match(18))&&!this.canInsertSemicolon();){let a=this.startNodeAt(e),n=this.eat(18);i=i||n,this.expect(0),!n&&this.match(3)?(a.elementType=s,this.next(),s=this.finishNode(a,"ArrayTypeAnnotation")):(a.objectType=s,a.indexType=this.flowParseType(),this.expect(3),i?(a.optional=n,s=this.finishNode(a,"OptionalIndexedAccessType")):s=this.finishNode(a,"IndexedAccessType"))}return s}flowParsePrefixType(){let e=this.startNode();return this.eat(17)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){let e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){let s=this.startNodeAt(e.loc.start);return s.params=[this.reinterpretTypeAsFunctionTypeParam(e)],s.rest=null,s.this=null,s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation")}return e}flowParseIntersectionType(){let e=this.startNode();this.eat(45);let s=this.flowParseAnonFunctionWithoutParens();for(e.types=[s];this.eat(45);)e.types.push(this.flowParseAnonFunctionWithoutParens());return e.types.length===1?s:this.finishNode(e,"IntersectionTypeAnnotation")}flowParseUnionType(){let e=this.startNode();this.eat(43);let s=this.flowParseIntersectionType();for(e.types=[s];this.eat(43);)e.types.push(this.flowParseIntersectionType());return e.types.length===1?s:this.finishNode(e,"UnionTypeAnnotation")}flowParseType(){let e=this.state.inType;this.state.inType=!0;let s=this.flowParseUnionType();return this.state.inType=e,s}flowParseTypeOrImplicitInstantiation(){if(this.state.type===130&&this.state.value==="_"){let e=this.state.startLoc,s=this.parseIdentifier();return this.flowParseGenericType(e,s)}else return this.flowParseType()}flowParseTypeAnnotation(){let e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")}flowParseTypeAnnotatableIdentifier(e){let s=e?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(14)&&(s.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(s)),s}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}flowParseVariance(){let e=null;return this.match(53)?(e=this.startNode(),this.state.value==="+"?e.kind="plus":e.kind="minus",this.next(),this.finishNode(e,"Variance")):e}parseFunctionBody(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(s){this.forwardNoArrowParamsConversionAt(e,()=>super.parseFunctionBody(e,!0,i));return}super.parseFunctionBody(e,!1,i)}parseFunctionBodyAndFinish(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this.match(14)){let a=this.startNode();[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=a.typeAnnotation?this.finishNode(a,"TypeAnnotation"):null}return super.parseFunctionBodyAndFinish(e,s,i)}parseStatementLike(e){if(this.state.strict&&this.isContextual(127)){let i=this.lookahead();if(se(i.type)){let a=this.startNode();return this.next(),this.flowParseInterface(a)}}else if(this.shouldParseEnums()&&this.isContextual(124)){let i=this.startNode();return this.next(),this.flowParseEnumDeclaration(i)}let s=super.parseStatementLike(e);return this.flowPragma===void 0&&!this.isValidDirective(s)&&(this.flowPragma=null),s}parseExpressionStatement(e,s,i){if(s.type==="Identifier"){if(s.name==="declare"){if(this.match(80)||R(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(R(this.state.type)){if(s.name==="interface")return this.flowParseInterface(e);if(s.name==="type")return this.flowParseTypeAlias(e);if(s.name==="opaque")return this.flowParseOpaqueType(e,!1)}}return super.parseExpressionStatement(e,s,i)}shouldParseExportDeclaration(){let{type:e}=this.state;return ne(e)||this.shouldParseEnums()&&e===124?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:e}=this.state;return ne(e)||this.shouldParseEnums()&&e===124?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(124)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,s,i){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let T=this.lookaheadCharCode();if(T===44||T===61||T===58||T===41)return this.setOptionalParametersError(i),e}this.expect(17);let a=this.state.clone(),n=this.state.noArrowAt,o=this.startNodeAt(s),{consequent:u,failed:c}=this.tryParseConditionalConsequent(),[y,g]=this.getArrowLikeExpressions(u);if(c||g.length>0){let T=[...n];if(g.length>0){this.state=a,this.state.noArrowAt=T;for(let C=0;C1&&this.raise(D.AmbiguousConditionalArrow,{at:a.startLoc}),c&&y.length===1&&(this.state=a,T.push(y[0].start),this.state.noArrowAt=T,{consequent:u,failed:c}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions(u,!0),this.state.noArrowAt=n,this.expect(14),o.test=e,o.consequent=u,o.alternate=this.forwardNoArrowParamsConversionAt(o,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(o,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let e=this.parseMaybeAssignAllowIn(),s=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:s}}getArrowLikeExpressions(e,s){let i=[e],a=[];for(;i.length!==0;){let n=i.pop();n.type==="ArrowFunctionExpression"?(n.typeParameters||!n.returnType?this.finishArrowValidation(n):a.push(n),i.push(n.body)):n.type==="ConditionalExpression"&&(i.push(n.consequent),i.push(n.alternate))}return s?(a.forEach(n=>this.finishArrowValidation(n)),[a,[]]):Rl(a,n=>n.params.every(o=>this.isAssignable(o,!0)))}finishArrowValidation(e){var s;this.toAssignableList(e.params,(s=e.extra)==null?void 0:s.trailingCommaLoc,!1),this.scope.enter(Ae|es),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,s){let i;return this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?(this.state.noArrowParamsConversionAt.push(this.state.start),i=s(),this.state.noArrowParamsConversionAt.pop()):i=s(),i}parseParenItem(e,s){if(e=super.parseParenItem(e,s),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){let i=this.startNodeAt(s);return i.expression=e,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){e.type==="ImportDeclaration"&&(e.importKind==="type"||e.importKind==="typeof")||e.type==="ExportNamedDeclaration"&&e.exportKind==="type"||e.type==="ExportAllDeclaration"&&e.exportKind==="type"||super.assertModuleNodeAllowed(e)}parseExport(e,s){let i=super.parseExport(e,s);return(i.type==="ExportNamedDeclaration"||i.type==="ExportAllDeclaration")&&(i.exportKind=i.exportKind||"value"),i}parseExportDeclaration(e){if(this.isContextual(128)){e.exportKind="type";let s=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(e),null):this.flowParseTypeAlias(s)}else if(this.isContextual(129)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseOpaqueType(s,!1)}else if(this.isContextual(127)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseInterface(s)}else if(this.shouldParseEnums()&&this.isContextual(124)){e.exportKind="value";let s=this.startNode();return this.next(),this.flowParseEnumDeclaration(s)}else return super.parseExportDeclaration(e)}eatExportStar(e){return super.eatExportStar(e)?!0:this.isContextual(128)&&this.lookahead().type===55?(e.exportKind="type",this.next(),this.next(),!0):!1}maybeParseExportNamespaceSpecifier(e){let{startLoc:s}=this.state,i=super.maybeParseExportNamespaceSpecifier(e);return i&&e.exportKind==="type"&&this.unexpected(s),i}parseClassId(e,s,i){super.parseClassId(e,s,i),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,s,i){let{startLoc:a}=this.state;if(this.isContextual(123)){if(super.parseClassMemberFromModifier(e,s))return;s.declare=!0}super.parseClassMember(e,s,i),s.declare&&(s.type!=="ClassProperty"&&s.type!=="ClassPrivateProperty"&&s.type!=="PropertyDefinition"?this.raise(D.DeclareClassElement,{at:a}):s.value&&this.raise(D.DeclareClassFieldInitializer,{at:s.value}))}isIterator(e){return e==="iterator"||e==="asyncIterator"}readIterator(){let e=super.readWord1(),s="@@"+e;(!this.isIterator(e)||!this.state.inType)&&this.raise(p.InvalidIdentifier,{at:this.state.curPosition(),identifierName:s}),this.finishToken(130,s)}getTokenFromCode(e){let s=this.input.charCodeAt(this.state.pos+1);e===123&&s===124?this.finishOp(6,2):this.state.inType&&(e===62||e===60)?this.finishOp(e===62?48:47,1):this.state.inType&&e===63?s===46?this.finishOp(18,2):this.finishOp(17,1):Jo(e,s,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e)}isAssignable(e,s){return e.type==="TypeCastExpression"?this.isAssignable(e.expression,s):super.isAssignable(e,s)}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;!s&&e.type==="AssignmentExpression"&&e.left.type==="TypeCastExpression"&&(e.left=this.typeCastToParameter(e.left)),super.toAssignable(e,s)}toAssignableList(e,s,i){for(let a=0;a1||!s)&&this.raise(D.TypeCastInPattern,{at:n.typeAnnotation})}return e}parseArrayLike(e,s,i,a){let n=super.parseArrayLike(e,s,i,a);return s&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}isValidLVal(e,s,i){return e==="TypeCastExpression"||super.isValidLVal(e,s,i)}parseClassProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(14)&&super.isNonstaticConstructor(e)}pushClassMethod(e,s,i,a,n,o){if(s.variance&&this.unexpected(s.variance.loc.start),delete s.variance,this.match(47)&&(s.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,s,i,a,n,o),s.params&&n){let u=s.params;u.length>0&&this.isThisParam(u[0])&&this.raise(D.ThisParamBannedInConstructor,{at:s})}else if(s.type==="MethodDefinition"&&n&&s.value.params){let u=s.value.params;u.length>0&&this.isThisParam(u[0])&&this.raise(D.ThisParamBannedInConstructor,{at:s})}}pushClassPrivateMethod(e,s,i,a){s.variance&&this.unexpected(s.variance.loc.start),delete s.variance,this.match(47)&&(s.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,s,i,a)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.match(47)&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(111)){this.next();let s=e.implements=[];do{let i=this.startNode();i.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?i.typeParameters=this.flowParseTypeParameterInstantiation():i.typeParameters=null,s.push(this.finishNode(i,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);let s=this.getObjectOrClassMethodParams(e);if(s.length>0){let i=s[0];this.isThisParam(i)&&e.kind==="get"?this.raise(D.GetterMayNotHaveThisParam,{at:i}):this.isThisParam(i)&&this.raise(D.SetterMayNotHaveThisParam,{at:i})}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,s,i,a,n,o,u){e.variance&&this.unexpected(e.variance.loc.start),delete e.variance;let c;this.match(47)&&!o&&(c=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());let y=super.parseObjPropValue(e,s,i,a,n,o,u);return c&&((y.value||y).typeParameters=c),y}parseAssignableListItemTypes(e){return this.eat(17)&&(e.type!=="Identifier"&&this.raise(D.PatternIsOptional,{at:e}),this.isThisParam(e)&&this.raise(D.ThisParamMayNotBeOptional,{at:e}),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(D.ThisParamAnnotationRequired,{at:e}),this.match(29)&&this.isThisParam(e)&&this.raise(D.ThisParamNoDefault,{at:e}),this.resetEndLocation(e),e}parseMaybeDefault(e,s){let i=super.parseMaybeDefault(e,s);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startsuper.parseMaybeAssign(e,s),a),!n.error)return n.node;let{context:c}=this.state,y=c[c.length-1];(y===x.j_oTag||y===x.j_expr)&&c.pop()}if((i=n)!=null&&i.error||this.match(47)){var o,u;a=a||this.state.clone();let c,y=this.tryParse(T=>{var C;c=this.flowParseTypeParameterDeclaration();let j=this.forwardNoArrowParamsConversionAt(c,()=>{let G=super.parseMaybeAssign(e,s);return this.resetStartLocationFromNode(G,c),G});(C=j.extra)!=null&&C.parenthesized&&T();let q=this.maybeUnwrapTypeCastExpression(j);return q.type!=="ArrowFunctionExpression"&&T(),q.typeParameters=c,this.resetStartLocationFromNode(q,c),j},a),g=null;if(y.node&&this.maybeUnwrapTypeCastExpression(y.node).type==="ArrowFunctionExpression"){if(!y.error&&!y.aborted)return y.node.async&&this.raise(D.UnexpectedTypeParameterBeforeAsyncArrowFunction,{at:c}),y.node;g=y.node}if((o=n)!=null&&o.node)return this.state=n.failState,n.node;if(g)return this.state=y.failState,g;throw(u=n)!=null&&u.thrown?n.error:y.thrown?y.error:this.raise(D.UnexpectedTokenAfterTypeParameter,{at:c})}return super.parseMaybeAssign(e,s)}parseArrow(e){if(this.match(14)){let s=this.tryParse(()=>{let i=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let a=this.startNode();return[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=i,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),a});if(s.thrown)return null;s.error&&(this.state=s.failState),e.returnType=s.node.typeAnnotation?this.finishNode(s.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(14)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,s){this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?e.params=s:super.setArrowFunctionParameters(e,s)}checkParams(e,s,i){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;if(!(i&&this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1)){for(let n=0;n0&&this.raise(D.ThisParamMustBeFirst,{at:e.params[n]});super.checkParams(e,s,i,a)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&this.state.noArrowAt.indexOf(this.state.start)===-1)}parseSubscripts(e,s,i){if(e.type==="Identifier"&&e.name==="async"&&this.state.noArrowAt.indexOf(s.index)!==-1){this.next();let a=this.startNodeAt(s);a.callee=e,a.arguments=super.parseCallExpressionArguments(11,!1),e=this.finishNode(a,"CallExpression")}else if(e.type==="Identifier"&&e.name==="async"&&this.match(47)){let a=this.state.clone(),n=this.tryParse(u=>this.parseAsyncArrowWithTypeParameters(s)||u(),a);if(!n.error&&!n.aborted)return n.node;let o=this.tryParse(()=>super.parseSubscripts(e,s,i),a);if(o.node&&!o.error)return o.node;if(n.node)return this.state=n.failState,n.node;if(o.node)return this.state=o.failState,o.node;throw n.error||o.error}return super.parseSubscripts(e,s,i)}parseSubscript(e,s,i,a){if(this.match(18)&&this.isLookaheadToken_lt()){if(a.optionalChainMember=!0,i)return a.stop=!0,e;this.next();let n=this.startNodeAt(s);return n.callee=e,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),n.arguments=this.parseCallExpressionArguments(11,!1),n.optional=!0,this.finishCallExpression(n,!0)}else if(!i&&this.shouldParseTypes()&&this.match(47)){let n=this.startNodeAt(s);n.callee=e;let o=this.tryParse(()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),n.arguments=super.parseCallExpressionArguments(11,!1),a.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,a.optionalChainMember)));if(o.node)return o.error&&(this.state=o.failState),o.node}return super.parseSubscript(e,s,i,a)}parseNewCallee(e){super.parseNewCallee(e);let s=null;this.shouldParseTypes()&&this.match(47)&&(s=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=s}parseAsyncArrowWithTypeParameters(e){let s=this.startNodeAt(e);if(this.parseFunctionParams(s,!1),!!this.parseArrow(s))return super.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(e){let s=this.input.charCodeAt(this.state.pos+1);if(e===42&&s===47&&this.state.hasFlowComment){this.state.hasFlowComment=!1,this.state.pos+=2,this.nextToken();return}super.readToken_mult_modulo(e)}readToken_pipe_amp(e){let s=this.input.charCodeAt(this.state.pos+1);if(e===124&&s===125){this.finishOp(9,2);return}super.readToken_pipe_amp(e)}parseTopLevel(e,s){let i=super.parseTopLevel(e,s);return this.state.hasFlowComment&&this.raise(D.UnterminatedFlowComment,{at:this.state.curPosition()}),i}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(D.NestedFlowComment,{at:this.state.startLoc});this.hasFlowCommentCompletion();let e=this.skipFlowComment();e&&(this.state.pos+=e,this.state.hasFlowComment=!0);return}return super.skipBlockComment(this.state.hasFlowComment?"*-/":"*/")}skipFlowComment(){let{pos:e}=this.state,s=2;for(;[32,9].includes(this.input.charCodeAt(e+s));)s++;let i=this.input.charCodeAt(s+e),a=this.input.charCodeAt(s+e+1);return i===58&&a===58?s+2:this.input.slice(s+e,s+e+12)==="flow-include"?s+12:i===58&&a!==58?s:!1}hasFlowCommentCompletion(){if(this.input.indexOf("*/",this.state.pos)===-1)throw this.raise(p.UnterminatedComment,{at:this.state.curPosition()})}flowEnumErrorBooleanMemberNotInitialized(e,s){let{enumName:i,memberName:a}=s;this.raise(D.EnumBooleanMemberNotInitialized,{at:e,memberName:a,enumName:i})}flowEnumErrorInvalidMemberInitializer(e,s){return this.raise(s.explicitType?s.explicitType==="symbol"?D.EnumInvalidMemberInitializerSymbolType:D.EnumInvalidMemberInitializerPrimaryType:D.EnumInvalidMemberInitializerUnknownType,Object.assign({at:e},s))}flowEnumErrorNumberMemberNotInitialized(e,s){let{enumName:i,memberName:a}=s;this.raise(D.EnumNumberMemberNotInitialized,{at:e,enumName:i,memberName:a})}flowEnumErrorStringMemberInconsistentlyInitailized(e,s){let{enumName:i}=s;this.raise(D.EnumStringMemberInconsistentlyInitailized,{at:e,enumName:i})}flowEnumMemberInit(){let e=this.state.startLoc,s=()=>this.match(12)||this.match(8);switch(this.state.type){case 132:{let i=this.parseNumericLiteral(this.state.value);return s()?{type:"number",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}case 131:{let i=this.parseStringLiteral(this.state.value);return s()?{type:"string",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}case 85:case 86:{let i=this.parseBooleanLiteral(this.match(85));return s()?{type:"boolean",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}default:return{type:"invalid",loc:e}}}flowEnumMemberRaw(){let e=this.state.startLoc,s=this.parseIdentifier(!0),i=this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:e};return{id:s,init:i}}flowEnumCheckExplicitTypeMismatch(e,s,i){let{explicitType:a}=s;a!==null&&a!==i&&this.flowEnumErrorInvalidMemberInitializer(e,s)}flowEnumMembers(e){let{enumName:s,explicitType:i}=e,a=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},o=!1;for(;!this.match(8);){if(this.eat(21)){o=!0;break}let u=this.startNode(),{id:c,init:y}=this.flowEnumMemberRaw(),g=c.name;if(g==="")continue;/^[a-z]/.test(g)&&this.raise(D.EnumInvalidMemberName,{at:c,memberName:g,suggestion:g[0].toUpperCase()+g.slice(1),enumName:s}),a.has(g)&&this.raise(D.EnumDuplicateMemberName,{at:c,memberName:g,enumName:s}),a.add(g);let T={enumName:s,explicitType:i,memberName:g};switch(u.id=c,y.type){case"boolean":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"boolean"),u.init=y.value,n.booleanMembers.push(this.finishNode(u,"EnumBooleanMember"));break}case"number":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"number"),u.init=y.value,n.numberMembers.push(this.finishNode(u,"EnumNumberMember"));break}case"string":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"string"),u.init=y.value,n.stringMembers.push(this.finishNode(u,"EnumStringMember"));break}case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(y.loc,T);case"none":switch(i){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(y.loc,T);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(y.loc,T);break;default:n.defaultedMembers.push(this.finishNode(u,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:n,hasUnknownMembers:o}}flowEnumStringMembers(e,s,i){let{enumName:a}=i;if(e.length===0)return s;if(s.length===0)return e;if(s.length>e.length){for(let n of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(n,{enumName:a});return s}else{for(let n of s)this.flowEnumErrorStringMemberInconsistentlyInitailized(n,{enumName:a});return e}}flowEnumParseExplicitType(e){let{enumName:s}=e;if(!this.eatContextual(101))return null;if(!R(this.state.type))throw this.raise(D.EnumInvalidExplicitTypeUnknownSupplied,{at:this.state.startLoc,enumName:s});let{value:i}=this.state;return this.next(),i!=="boolean"&&i!=="number"&&i!=="string"&&i!=="symbol"&&this.raise(D.EnumInvalidExplicitType,{at:this.state.startLoc,enumName:s,invalidEnumType:i}),i}flowEnumBody(e,s){let i=s.name,a=s.loc.start,n=this.flowEnumParseExplicitType({enumName:i});this.expect(5);let{members:o,hasUnknownMembers:u}=this.flowEnumMembers({enumName:i,explicitType:n});switch(e.hasUnknownMembers=u,n){case"boolean":return e.explicitType=!0,e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=o.defaultedMembers,this.expect(8),this.finishNode(e,"EnumSymbolBody");default:{let c=()=>(e.members=[],this.expect(8),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;let y=o.booleanMembers.length,g=o.numberMembers.length,T=o.stringMembers.length,C=o.defaultedMembers.length;if(!y&&!g&&!T&&!C)return c();if(!y&&!g)return e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(e,"EnumStringBody");if(!g&&!T&&y>=C){for(let j of o.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(j.loc.start,{enumName:i,memberName:j.id.name});return e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody")}else if(!y&&!T&&g>=C){for(let j of o.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(j.loc.start,{enumName:i,memberName:j.id.name});return e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody")}else return this.raise(D.EnumInconsistentMemberValues,{at:a,enumName:i}),c()}}}flowParseEnumDeclaration(e){let s=this.parseIdentifier();return e.id=s,e.body=this.flowEnumBody(this.startNode(),s),this.finishNode(e,"EnumDeclaration")}isLookaheadToken_lt(){let e=this.nextTokenStart();if(this.input.charCodeAt(e)===60){let s=this.input.charCodeAt(e+1);return s!==60&&s!==61}return!1}maybeUnwrapTypeCastExpression(e){return e.type==="TypeCastExpression"?e.expression:e}},Ul={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},Fe=ge`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:t=>{let{openingTagName:r}=t;return`Expected corresponding JSX closing tag for <${r}>.`},MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:t=>{let{unexpected:r,HTMLEntity:e}=t;return`Unexpected token \`${r}\`. Did you mean \`${e}\` or \`{'${r}'}\`?`},UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function we(t){return t?t.type==="JSXOpeningFragment"||t.type==="JSXClosingFragment":!1}function Ke(t){if(t.type==="JSXIdentifier")return t.name;if(t.type==="JSXNamespacedName")return t.namespace.name+":"+t.name.name;if(t.type==="JSXMemberExpression")return Ke(t.object)+"."+Ke(t.property);throw new Error("Node had unexpected type: "+t.type)}var $l=t=>class extends t{jsxReadToken(){let e="",s=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(Fe.UnterminatedJsxContent,{at:this.state.startLoc});let i=this.input.charCodeAt(this.state.pos);switch(i){case 60:case 123:if(this.state.pos===this.state.start){i===60&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(140)):super.getTokenFromCode(i);return}e+=this.input.slice(s,this.state.pos),this.finishToken(139,e);return;case 38:e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos;break;case 62:case 125:default:Ze(i)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!0),s=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){let s=this.input.charCodeAt(this.state.pos),i;return++this.state.pos,s===13&&this.input.charCodeAt(this.state.pos)===10?(++this.state.pos,i=e?` -`:`\r -`):i=String.fromCharCode(s),++this.state.curLine,this.state.lineStart=this.state.pos,i}jsxReadString(e){let s="",i=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(p.UnterminatedString,{at:this.state.startLoc});let a=this.input.charCodeAt(this.state.pos);if(a===e)break;a===38?(s+=this.input.slice(i,this.state.pos),s+=this.jsxReadEntity(),i=this.state.pos):Ze(a)?(s+=this.input.slice(i,this.state.pos),s+=this.jsxReadNewLine(!1),i=this.state.pos):++this.state.pos}s+=this.input.slice(i,this.state.pos++),this.finishToken(131,s)}jsxReadEntity(){let e=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;let s=10;this.codePointAtPos(this.state.pos)===120&&(s=16,++this.state.pos);let i=this.readInt(s,void 0,!1,"bail");if(i!==null&&this.codePointAtPos(this.state.pos)===59)return++this.state.pos,String.fromCodePoint(i)}else{let s=0,i=!1;for(;s++<10&&this.state.pos1){for(let s=0;s=0;s--){let i=this.scopeStack[s];if(i.types.has(r)||i.exportOnlyBindings.has(r))return}super.checkLocalExport(t)}},Vl=(t,r)=>Object.hasOwnProperty.call(t,r)&&t[r],Kr=t=>t.type==="ParenthesizedExpression"?Kr(t.expression):t,Kl=class extends Ol{toAssignable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var e,s;let i;switch((t.type==="ParenthesizedExpression"||(e=t.extra)!=null&&e.parenthesized)&&(i=Kr(t),r?i.type==="Identifier"?this.expressionScope.recordArrowParameterBindingError(p.InvalidParenthesizedAssignment,{at:t}):i.type!=="MemberExpression"&&this.raise(p.InvalidParenthesizedAssignment,{at:t}):this.raise(p.InvalidParenthesizedAssignment,{at:t})),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern";for(let n=0,o=t.properties.length,u=o-1;ns.type!=="ObjectMethod"&&(i===e||s.type!=="SpreadElement")&&this.isAssignable(s))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every(e=>e===null||this.isAssignable(e));case"AssignmentExpression":return t.operator==="=";case"ParenthesizedExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!r;default:return!1}}toReferencedList(t,r){return t}toReferencedListDeep(t,r){this.toReferencedList(t,r);for(let e of t)(e==null?void 0:e.type)==="ArrayExpression"&&this.toReferencedListDeep(e.elements)}parseSpread(t){let r=this.startNode();return this.next(),r.argument=this.parseMaybeAssignAllowIn(t,void 0),this.finishNode(r,"SpreadElement")}parseRestBinding(){let t=this.startNode();return this.next(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{let t=this.startNode();return this.next(),t.elements=this.parseBindingList(3,93,1),this.finishNode(t,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}parseBindingList(t,r,e){let s=e&1,i=[],a=!0;for(;!this.eat(t);)if(a?a=!1:this.expect(12),s&&this.match(12))i.push(null);else{if(this.eat(t))break;if(this.match(21)){if(i.push(this.parseAssignableListItemTypes(this.parseRestBinding(),e)),!this.checkCommaAfterRest(r)){this.expect(t);break}}else{let n=[];for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(p.UnsupportedParameterDecorator,{at:this.state.startLoc});this.match(26);)n.push(this.parseDecorator());i.push(this.parseAssignableListItem(e,n))}}return i}parseBindingRestProperty(t){return this.next(),t.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(t,"RestElement")}parseBindingProperty(){let t=this.startNode(),{type:r,startLoc:e}=this.state;return r===21?this.parseBindingRestProperty(t):(r===136?(this.expectPlugin("destructuringPrivate",e),this.classScope.usePrivateName(this.state.value,e),t.key=this.parsePrivateName()):this.parsePropertyName(t),t.method=!1,this.parseObjPropValue(t,e,!1,!1,!0,!1))}parseAssignableListItem(t,r){let e=this.parseMaybeDefault();this.parseAssignableListItemTypes(e,t);let s=this.parseMaybeDefault(e.loc.start,e);return r.length&&(e.decorators=r),s}parseAssignableListItemTypes(t,r){return t}parseMaybeDefault(t,r){var e,s;if((e=t)!=null||(t=this.state.startLoc),r=(s=r)!=null?s:this.parseBindingAtom(),!this.eat(29))return r;let i=this.startNodeAt(t);return i.left=r,i.right=this.parseMaybeAssignAllowIn(),this.finishNode(i,"AssignmentPattern")}isValidLVal(t,r,e){return Vl({AssignmentPattern:"left",RestElement:"argument",ObjectProperty:"value",ParenthesizedExpression:"expression",ArrayPattern:"elements",ObjectPattern:"properties"},t)}checkLVal(t,r){let{in:e,binding:s=be,checkClashes:i=!1,strictModeChanged:a=!1,hasParenthesizedAncestor:n=!1}=r;var o;let u=t.type;if(this.isObjectMethod(t))return;if(u==="MemberExpression"){s!==be&&this.raise(p.InvalidPropertyBindingPattern,{at:t});return}if(u==="Identifier"){this.checkIdentifier(t,s,a);let{name:C}=t;i&&(i.has(C)?this.raise(p.ParamDupe,{at:t}):i.add(C));return}let c=this.isValidLVal(u,!(n||(o=t.extra)!=null&&o.parenthesized)&&e.type==="AssignmentExpression",s);if(c===!0)return;if(c===!1){let C=s===be?p.InvalidLhs:p.InvalidLhsBinding;this.raise(C,{at:t,ancestor:e});return}let[y,g]=Array.isArray(c)?c:[c,u==="ParenthesizedExpression"],T=u==="ArrayPattern"||u==="ObjectPattern"||u==="ParenthesizedExpression"?{type:u}:e;for(let C of[].concat(t[y]))C&&this.checkLVal(C,{in:T,binding:s,checkClashes:i,strictModeChanged:a,hasParenthesizedAncestor:g})}checkIdentifier(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.state.strict&&(e?vr(t.name,this.inModule):Tr(t.name))&&(r===be?this.raise(p.StrictEvalArguments,{at:t,referenceName:t.name}):this.raise(p.StrictEvalArgumentsBinding,{at:t,bindingName:t.name})),r&Pt&&t.name==="let"&&this.raise(p.LetInLexicalBinding,{at:t}),r&be||this.declareNameFromIdentifier(t,r)}declareNameFromIdentifier(t,r){this.scope.declareName(t.name,r,t.loc.start)}checkToRestConversion(t,r){switch(t.type){case"ParenthesizedExpression":this.checkToRestConversion(t.expression,r);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(r)break;default:this.raise(p.InvalidRestAssignmentPattern,{at:t})}}checkCommaAfterRest(t){return this.match(12)?(this.raise(this.lookaheadCharCode()===t?p.RestTrailingComma:p.ElementAfterRest,{at:this.state.startLoc}),!0):!1}},Wl=(t,r)=>Object.hasOwnProperty.call(t,r)&&t[r];function Gl(t){if(t==null)throw new Error(`Unexpected ${t} value.`);return t}function Wr(t){if(!t)throw new Error("Assert fail")}var w=ge`typescript`({AbstractMethodHasImplementation:t=>{let{methodName:r}=t;return`Method '${r}' cannot have an implementation because it is marked abstract.`},AbstractPropertyHasInitializer:t=>{let{propertyName:r}=t;return`Property '${r}' cannot have an initializer because it is marked abstract.`},AccesorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:t=>{let{kind:r}=t;return`'declare' is not allowed in ${r}ters.`},DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:t=>{let{modifier:r}=t;return"Accessibility modifier already seen."},DuplicateModifier:t=>{let{modifier:r}=t;return`Duplicate modifier: '${r}'.`},EmptyHeritageClauseType:t=>{let{token:r}=t;return`'${r}' list cannot be empty.`},EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:t=>{let{modifiers:r}=t;return`'${r[0]}' modifier cannot be used with '${r[1]}' modifier.`},IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:t=>{let{modifier:r}=t;return`Index signatures cannot have an accessibility modifier ('${r}').`},IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidModifierOnTypeMember:t=>{let{modifier:r}=t;return`'${r}' modifier cannot appear on a type member.`},InvalidModifierOnTypeParameter:t=>{let{modifier:r}=t;return`'${r}' modifier cannot appear on a type parameter.`},InvalidModifierOnTypeParameterPositions:t=>{let{modifier:r}=t;return`'${r}' modifier can only appear on a type parameter of a class, interface or type alias.`},InvalidModifiersOrder:t=>{let{orderedModifiers:r}=t;return`'${r[0]}' modifier must precede '${r[1]}' modifier.`},InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:t=>{let{modifier:r}=t;return`Private elements cannot have an accessibility modifier ('${r}').`},ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccesorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:t=>{let{typeParameterName:r}=t;return`Single type parameter ${r} should have a trailing comma. Example usage: <${r},>.`},StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:t=>{let{type:r}=t;return`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${r}.`}});function Jl(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function Gr(t){return t==="private"||t==="public"||t==="protected"}function Xl(t){return t==="in"||t==="out"}var Yl=t=>class extends t{constructor(){super(...arguments),this.tsParseInOutModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:w.InvalidModifierOnTypeParameter}),this.tsParseConstModifier=this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:w.InvalidModifierOnTypeParameterPositions}),this.tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:w.InvalidModifierOnTypeParameter})}getScopeHandler(){return zl}tsIsIdentifier(){return R(this.state.type)}tsTokenCanFollowModifier(){return(this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(136)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e,s){if(!R(this.state.type)&&this.state.type!==58&&this.state.type!==75)return;let i=this.state.value;if(e.indexOf(i)!==-1){if(s&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return i}}tsParseModifiers(e,s){let{allowedModifiers:i,disallowedModifiers:a,stopOnStartOfClassStaticBlock:n,errorTemplate:o=w.InvalidModifierOnTypeMember}=e,u=(y,g,T,C)=>{g===T&&s[C]&&this.raise(w.InvalidModifiersOrder,{at:y,orderedModifiers:[T,C]})},c=(y,g,T,C)=>{(s[T]&&g===C||s[C]&&g===T)&&this.raise(w.IncompatibleModifiers,{at:y,modifiers:[T,C]})};for(;;){let{startLoc:y}=this.state,g=this.tsParseModifier(i.concat(a!=null?a:[]),n);if(!g)break;Gr(g)?s.accessibility?this.raise(w.DuplicateAccessibilityModifier,{at:y,modifier:g}):(u(y,g,g,"override"),u(y,g,g,"static"),u(y,g,g,"readonly"),s.accessibility=g):Xl(g)?(s[g]&&this.raise(w.DuplicateModifier,{at:y,modifier:g}),s[g]=!0,u(y,g,"in","out")):(Object.hasOwnProperty.call(s,g)?this.raise(w.DuplicateModifier,{at:y,modifier:g}):(u(y,g,"static","readonly"),u(y,g,"static","override"),u(y,g,"override","readonly"),u(y,g,"abstract","override"),c(y,g,"declare","override"),c(y,g,"static","abstract")),s[g]=!0),a!=null&&a.includes(g)&&this.raise(o,{at:y,modifier:g})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,s){let i=[];for(;!this.tsIsListTerminator(e);)i.push(s());return i}tsParseDelimitedList(e,s,i){return Gl(this.tsParseDelimitedListWorker(e,s,!0,i))}tsParseDelimitedListWorker(e,s,i,a){let n=[],o=-1;for(;!this.tsIsListTerminator(e);){o=-1;let u=s();if(u==null)return;if(n.push(u),this.eat(12)){o=this.state.lastTokStart;continue}if(this.tsIsListTerminator(e))break;i&&this.expect(12);return}return a&&(a.value=o),n}tsParseBracketedList(e,s,i,a,n){a||(i?this.expect(0):this.expect(47));let o=this.tsParseDelimitedList(e,s,n);return i?this.expect(3):this.expect(48),o}tsParseImportType(){let e=this.startNode();return this.expect(83),this.expect(10),this.match(131)||this.raise(w.UnsupportedImportTypeArgument,{at:this.state.startLoc}),e.argument=super.parseExprAtom(),this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName()),this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,s=this.parseIdentifier(e);for(;this.eat(16);){let i=this.startNodeAtNode(s);i.left=s,i.right=this.parseIdentifier(e),s=this.finishNode(i,"TSQualifiedName")}return s}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();let s=this.startNodeAtNode(e);return s.parameterName=e,s.typeAnnotation=this.tsParseTypeAnnotation(!1),s.asserts=!1,this.finishNode(s,"TSTypePredicate")}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){let e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){let s=this.startNode();return e(s),s.name=this.tsParseTypeParameterName(),s.constraint=this.tsEatThenParseType(81),s.default=this.tsEatThenParseType(29),this.finishNode(s,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let s=this.startNode();this.match(47)||this.match(140)?this.next():this.unexpected();let i={value:-1};return s.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,i),s.params.length===0&&this.raise(w.EmptyTypeParameters,{at:s}),i.value!==-1&&this.addExtra(s,"trailingComma",i.value),this.finishNode(s,"TSTypeParameterDeclaration")}tsFillSignature(e,s){let i=e===19,a="parameters",n="typeAnnotation";s.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),s[a]=this.tsParseBindingListForSignature(),i?s[n]=this.tsParseTypeOrTypePredicateAnnotation(e):this.match(e)&&(s[n]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return super.parseBindingList(11,41,2).map(e=>(e.type!=="Identifier"&&e.type!=="RestElement"&&e.type!=="ObjectPattern"&&e.type!=="ArrayPattern"&&this.raise(w.UnsupportedSignatureParameterKind,{at:e,type:e.type}),e))}tsParseTypeMemberSemicolon(){!this.eat(12)&&!this.isLineTerminator()&&this.expect(13)}tsParseSignatureMember(e,s){return this.tsFillSignature(14,s),this.tsParseTypeMemberSemicolon(),this.finishNode(s,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),R(this.state.type)?(this.next(),this.match(14)):!1}tsTryParseIndexSignature(e){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let s=this.parseIdentifier();s.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(s),this.expect(3),e.parameters=[s];let i=this.tsTryParseTypeAnnotation();return i&&(e.typeAnnotation=i),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,s){this.eat(17)&&(e.optional=!0);let i=e;if(this.match(10)||this.match(47)){s&&this.raise(w.ReadonlyForMethodSignature,{at:e});let a=i;a.kind&&this.match(47)&&this.raise(w.AccesorCannotHaveTypeParameters,{at:this.state.curPosition()}),this.tsFillSignature(14,a),this.tsParseTypeMemberSemicolon();let n="parameters",o="typeAnnotation";if(a.kind==="get")a[n].length>0&&(this.raise(p.BadGetterArity,{at:this.state.curPosition()}),this.isThisParam(a[n][0])&&this.raise(w.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}));else if(a.kind==="set"){if(a[n].length!==1)this.raise(p.BadSetterArity,{at:this.state.curPosition()});else{let u=a[n][0];this.isThisParam(u)&&this.raise(w.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}),u.type==="Identifier"&&u.optional&&this.raise(w.SetAccesorCannotHaveOptionalParameter,{at:this.state.curPosition()}),u.type==="RestElement"&&this.raise(w.SetAccesorCannotHaveRestParameter,{at:this.state.curPosition()})}a[o]&&this.raise(w.SetAccesorCannotHaveReturnType,{at:a[o]})}else a.kind="method";return this.finishNode(a,"TSMethodSignature")}else{let a=i;s&&(a.readonly=!0);let n=this.tsTryParseTypeAnnotation();return n&&(a.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(a,"TSPropertySignature")}}tsParseTypeMember(){let e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){let i=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(i,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e);let s=this.tsTryParseIndexSignature(e);return s||(super.parsePropertyName(e),!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);let e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(120):(this.isContextual(120)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(58)))}tsParseMappedTypeParameter(){let e=this.startNode();return e.name=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){let e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(120)):this.eatContextual(120)&&(e.readonly=!0),this.expect(0),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let s=!1,i=null;return e.elementTypes.forEach(a=>{var n;let{type:o}=a;s&&o!=="TSRestType"&&o!=="TSOptionalType"&&!(o==="TSNamedTupleMember"&&a.optional)&&this.raise(w.OptionalTypeBeforeRequired,{at:a}),s||(s=o==="TSNamedTupleMember"&&a.optional||o==="TSOptionalType");let u=o;o==="TSRestType"&&(a=a.typeAnnotation,u=a.type);let c=u==="TSNamedTupleMember";(n=i)!=null||(i=c),i!==c&&this.raise(w.MixedLabeledAndUnlabeledElements,{at:a})}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){let{startLoc:e}=this.state,s=this.eat(21),i,a,n,o,c=se(this.state.type)?this.lookaheadCharCode():null;if(c===58)i=!0,n=!1,a=this.parseIdentifier(!0),this.expect(14),o=this.tsParseType();else if(c===63){n=!0;let y=this.state.startLoc,g=this.state.value,T=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(i=!0,a=this.createIdentifier(this.startNodeAt(y),g),this.expect(17),this.expect(14),o=this.tsParseType()):(i=!1,o=T,this.expect(17))}else o=this.tsParseType(),n=this.eat(17),i=this.eat(14);if(i){let y;a?(y=this.startNodeAtNode(a),y.optional=n,y.label=a,y.elementType=o,this.eat(17)&&(y.optional=!0,this.raise(w.TupleOptionalAfterType,{at:this.state.lastTokStartLoc}))):(y=this.startNodeAtNode(o),y.optional=n,this.raise(w.InvalidTupleMemberLabel,{at:o}),y.label=o,y.elementType=this.tsParseType()),o=this.finishNode(y,"TSNamedTupleMember")}else if(n){let y=this.startNodeAtNode(o);y.typeAnnotation=o,o=this.finishNode(y,"TSOptionalType")}if(s){let y=this.startNodeAt(e);y.typeAnnotation=o,o=this.finishNode(y,"TSRestType")}return o}tsParseParenthesizedType(){let e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,s){let i=this.startNode();return e==="TSConstructorType"&&(i.abstract=!!s,s&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,i)),this.finishNode(i,e)}tsParseLiteralTypeNode(){let e=this.startNode();return e.literal=(()=>{switch(this.state.type){case 132:case 133:case 131:case 85:case 86:return super.parseExprAtom();default:this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){let e=this.startNode();return e.literal=super.parseTemplate(!1),this.finishNode(e,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(114)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 131:case 132:case 133:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if(this.state.value==="-"){let e=this.startNode(),s=this.lookahead();return s.type!==132&&s.type!==133&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(R(e)||e===88||e===84){let s=e===88?"TSVoidKeyword":e===84?"TSNullKeyword":Jl(this.state.value);if(s!==void 0&&this.lookaheadCharCode()!==46){let i=this.startNode();return this.next(),this.finishNode(i,s)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){let s=this.startNodeAtNode(e);s.elementType=e,this.expect(3),e=this.finishNode(s,"TSArrayType")}else{let s=this.startNodeAtNode(e);s.objectType=e,s.indexType=this.tsParseType(),this.expect(3),e=this.finishNode(s,"TSIndexedAccessType")}return e}tsParseTypeOperator(){let e=this.startNode(),s=this.state.value;return this.next(),e.operator=s,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),s==="readonly"&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(w.UnexpectedReadonly,{at:e})}}tsParseInferType(){let e=this.startNode();this.expectContextual(113);let s=this.startNode();return s.name=this.tsParseTypeParameterName(),s.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(s,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){return ut(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(113)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,s,i){let a=this.startNode(),n=this.eat(i),o=[];do o.push(s());while(this.eat(i));return o.length===1&&!n?o[0]:(a.types=o,this.finishNode(a,e))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return this.match(47)?!0:this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(R(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){let{errors:e}=this.state,s=e.length;try{return this.parseObjectLike(8,!0),e.length===s}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,s=e.length;try{return super.parseBindingList(3,93,1),e.length===s}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(11)||this.match(21)||this.tsSkipParameterStart()&&(this.match(14)||this.match(12)||this.match(17)||this.match(29)||this.match(11)&&(this.next(),this.match(19))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let s=this.startNode();this.expect(e);let i=this.startNode(),a=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(a&&this.match(78)){let u=this.tsParseThisTypeOrThisTypePredicate();return u.type==="TSThisType"?(i.parameterName=u,i.asserts=!0,i.typeAnnotation=null,u=this.finishNode(i,"TSTypePredicate")):(this.resetStartLocationFromNode(u,i),u.asserts=!0),s.typeAnnotation=u,this.finishNode(s,"TSTypeAnnotation")}let n=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!n)return a?(i.parameterName=this.parseIdentifier(),i.asserts=a,i.typeAnnotation=null,s.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(s,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,s);let o=this.tsParseTypeAnnotation(!1);return i.parameterName=n,i.typeAnnotation=o,i.asserts=a,s.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(s,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(14)?this.tsParseTypeOrTypePredicateAnnotation(14):void 0}tsTryParseTypeAnnotation(){return this.match(14)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(114)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(this.state.type!==107)return!1;let e=this.state.containsEsc;return this.next(),!R(this.state.type)&&!this.match(78)?!1:(e&&this.raise(p.InvalidEscapedReservedWord,{at:this.state.lastTokStartLoc,reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.startNode();return this.tsInType(()=>{e&&this.expect(14),s.typeAnnotation=this.tsParseType()}),this.finishNode(s,"TSTypeAnnotation")}tsParseType(){Wr(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;let s=this.startNodeAtNode(e);return s.checkType=e,s.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),s.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),s.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(s,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(122)&&this.lookahead().type===77}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(w.ReservedTypeAssertion,{at:this.state.startLoc});let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){let s=this.state.startLoc,i=this.tsParseDelimitedList("HeritageClauseElement",()=>{let a=this.startNode();return a.expression=this.tsParseEntityName(),this.match(47)&&(a.typeParameters=this.tsParseTypeArguments()),this.finishNode(a,"TSExpressionWithTypeArguments")});return i.length||this.raise(w.EmptyHeritageClauseType,{at:s,token:e}),i}tsParseInterfaceDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.hasFollowingLineBreak())return null;this.expectContextual(127),s.declare&&(e.declare=!0),R(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,Zo)):(e.id=null,this.raise(w.MissingInterfaceName,{at:this.state.startLoc})),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));let i=this.startNode();return i.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(i,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,el),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(112)&&this.lookahead().type!==16){let s=this.startNode();return this.next(),this.finishNode(s,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(e){let s=this.state.context;this.state.context=[s[0]];try{return e()}finally{this.state.context=s}}tsInType(e){let s=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=s}}tsInDisallowConditionalTypesContext(e){let s=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=s}}tsInAllowConditionalTypesContext(e){let s=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=s}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType(()=>this.expect(e))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(e){return this.tsInType(()=>(e(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(131)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return s.const&&(e.const=!0),s.declare&&(e.declare=!0),this.expectContextual(124),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?sl:Nr),this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){let e=this.startNode();return this.scope.enter(qe),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.id=this.parseIdentifier(),s||this.checkIdentifier(e.id,rl),this.eat(16)){let i=this.startNode();this.tsParseModuleOrNamespaceDeclaration(i,!0),e.body=i}else this.scope.enter($e),this.prodParam.enter(ze),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(110)?(e.global=!0,e.id=this.parseIdentifier()):this.match(131)?e.id=super.parseStringLiteral(this.state.value):this.unexpected(),this.match(5)?(this.scope.enter($e),this.prodParam.enter(ze),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,s){e.isExport=s||!1,e.id=this.parseIdentifier(),this.checkIdentifier(e.id,Xe),this.expect(29);let i=this.tsParseModuleReference();return e.importKind==="type"&&i.type!=="TSExternalModuleReference"&&this.raise(w.ImportAliasHasImportType,{at:i}),e.moduleReference=i,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(117)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(117),this.expect(10),this.match(131)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){let s=this.state.clone(),i=e();return this.state=s,i}tsTryParseAndCatch(e){let s=this.tryParse(i=>e()||i());if(!(s.aborted||!s.node))return s.error&&(this.state=s.failState),s.node}tsTryParse(e){let s=this.state.clone(),i=e();if(i!==void 0&&i!==!1)return i;this.state=s}tsTryParseDeclare(e){if(this.isLineTerminator())return;let s=this.state.type,i;return this.isContextual(99)&&(s=74,i="let"),this.tsInAmbientContext(()=>{if(s===68)return e.declare=!0,super.parseFunctionStatement(e,!1,!1);if(s===80)return e.declare=!0,this.parseClass(e,!0,!1);if(s===124)return this.tsParseEnumDeclaration(e,{declare:!0});if(s===110)return this.tsParseAmbientExternalModuleDeclaration(e);if(s===75||s===74)return!this.match(75)||!this.isLookaheadContextual("enum")?(e.declare=!0,this.parseVarStatement(e,i||this.state.value,!0)):(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0}));if(s===127){let a=this.tsParseInterfaceDeclaration(e,{declare:!0});if(a)return a}if(R(s))return this.tsParseDeclaration(e,this.state.value,!0,null)})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(e,s,i){switch(s.name){case"declare":{let a=this.tsTryParseDeclare(e);if(a)return a.declare=!0,a;break}case"global":if(this.match(5)){this.scope.enter($e),this.prodParam.enter(ze);let a=e;return a.global=!0,a.id=s,a.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(a,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,s.name,!1,i)}}tsParseDeclaration(e,s,i,a){switch(s){case"abstract":if(this.tsCheckLineTerminator(i)&&(this.match(80)||R(this.state.type)))return this.tsParseAbstractDeclaration(e,a);break;case"module":if(this.tsCheckLineTerminator(i)){if(this.match(131))return this.tsParseAmbientExternalModuleDeclaration(e);if(R(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(i)&&R(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(i)&&R(this.state.type))return this.tsParseTypeAliasDeclaration(e);break}}tsCheckLineTerminator(e){return e?this.hasFollowingLineBreak()?!1:(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;let s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;let i=this.tsTryParseAndCatch(()=>{let a=this.startNodeAt(e);return a.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(a),a.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),a});if(this.state.maybeInArrowParameters=s,!!i)return super.parseArrowExpression(i,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===47)return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),e.params.length===0&&this.raise(w.EmptyTypeArguments,{at:e}),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return Wt(this.state.type)}isExportDefaultSpecifier(){return this.tsIsDeclarationStart()?!1:super.isExportDefaultSpecifier()}parseAssignableListItem(e,s){let i=this.state.startLoc,a={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},a);let n=a.accessibility,o=a.override,u=a.readonly;!(e&4)&&(n||u||o)&&this.raise(w.UnexpectedParameterModifier,{at:i});let c=this.parseMaybeDefault();this.parseAssignableListItemTypes(c,e);let y=this.parseMaybeDefault(c.loc.start,c);if(n||u||o){let g=this.startNodeAt(i);return s.length&&(g.decorators=s),n&&(g.accessibility=n),u&&(g.readonly=u),o&&(g.override=o),y.type!=="Identifier"&&y.type!=="AssignmentPattern"&&this.raise(w.UnsupportedParameterPropertyKind,{at:g}),g.parameter=y,this.finishNode(g,"TSParameterProperty")}return s.length&&(c.decorators=s),y}isSimpleParameter(e){return e.type==="TSParameterProperty"&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let s of e.params)s.type!=="Identifier"&&s.optional&&!this.state.isAmbientContext&&this.raise(w.PatternIsOptional,{at:s})}setArrowFunctionParameters(e,s,i){super.setArrowFunctionParameters(e,s,i),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));let a=s==="FunctionDeclaration"?"TSDeclareFunction":s==="ClassMethod"||s==="ClassPrivateMethod"?"TSDeclareMethod":void 0;return a&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,a):a==="TSDeclareFunction"&&this.state.isAmbientContext&&(this.raise(w.DeclareFunctionHasImplementation,{at:e}),e.declare)?super.parseFunctionBodyAndFinish(e,a,i):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,s,i))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,kr):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(s=>{(s==null?void 0:s.type)==="TSTypeCastExpression"&&this.raise(w.UnexpectedTypeAnnotation,{at:s.typeAnnotation})})}toReferencedList(e,s){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,s,i,a){let n=super.parseArrayLike(e,s,i,a);return n.type==="ArrayExpression"&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,s,i,a){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();let o=this.startNodeAt(s);return o.expression=e,this.finishNode(o,"TSNonNullExpression")}let n=!1;if(this.match(18)&&this.lookaheadCharCode()===60){if(i)return a.stop=!0,e;a.optionalChainMember=n=!0,this.next()}if(this.match(47)||this.match(51)){let o,u=this.tsTryParseAndCatch(()=>{if(!i&&this.atPossibleAsyncArrow(e)){let T=this.tsTryParseGenericAsyncArrowFunction(s);if(T)return T}let c=this.tsParseTypeArgumentsInExpression();if(!c)return;if(n&&!this.match(10)){o=this.state.curPosition();return}if(ct(this.state.type)){let T=super.parseTaggedTemplateExpression(e,s,a);return T.typeParameters=c,T}if(!i&&this.eat(10)){let T=this.startNodeAt(s);return T.callee=e,T.arguments=this.parseCallExpressionArguments(11,!1),this.tsCheckForInvalidTypeCasts(T.arguments),T.typeParameters=c,a.optionalChainMember&&(T.optional=n),this.finishCallExpression(T,a.optionalChainMember)}let y=this.state.type;if(y===48||y===52||y!==10&&X(y)&&!this.hasPrecedingLineBreak())return;let g=this.startNodeAt(s);return g.expression=e,g.typeParameters=c,this.finishNode(g,"TSInstantiationExpression")});if(o&&this.unexpected(o,10),u)return u.type==="TSInstantiationExpression"&&(this.match(16)||this.match(18)&&this.lookaheadCharCode()!==40)&&this.raise(w.InvalidPropertyAccessAfterInstantiationExpression,{at:this.state.startLoc}),u}return super.parseSubscript(e,s,i,a)}parseNewCallee(e){var s;super.parseNewCallee(e);let{callee:i}=e;i.type==="TSInstantiationExpression"&&!((s=i.extra)!=null&&s.parenthesized)&&(e.typeParameters=i.typeParameters,e.callee=i.expression)}parseExprOp(e,s,i){let a;if(Re(58)>i&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(a=this.isContextual(118)))){let n=this.startNodeAt(s);return n.expression=e,n.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(a&&this.raise(p.UnexpectedKeyword,{at:this.state.startLoc,keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(n,a?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(n,s,i)}return super.parseExprOp(e,s,i)}checkReservedWord(e,s,i,a){this.state.isAmbientContext||super.checkReservedWord(e,s,i,a)}checkImportReflection(e){super.checkImportReflection(e),e.module&&e.importKind!=="value"&&this.raise(w.ImportReflectionHasImportType,{at:e.specifiers[0].loc.start})}checkDuplicateExports(){}parseImport(e){if(e.importKind="value",R(this.state.type)||this.match(55)||this.match(5)){let i=this.lookahead();if(this.isContextual(128)&&i.type!==12&&i.type!==97&&i.type!==29&&(e.importKind="type",this.next(),i=this.lookahead()),R(this.state.type)&&i.type===29)return this.tsParseImportEqualsDeclaration(e)}let s=super.parseImport(e);return s.importKind==="type"&&s.specifiers.length>1&&s.specifiers[0].type==="ImportDefaultSpecifier"&&this.raise(w.TypeImportCannotSpecifyDefaultAndNamed,{at:s}),s}parseExport(e,s){if(this.match(83))return this.next(),this.isContextual(128)&&this.lookaheadCharCode()!==61?(e.importKind="type",this.next()):e.importKind="value",this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(29)){let i=e;return i.expression=super.parseExpression(),this.semicolon(),this.finishNode(i,"TSExportAssignment")}else if(this.eatContextual(93)){let i=e;return this.expectContextual(126),i.id=this.parseIdentifier(),this.semicolon(),this.finishNode(i,"TSNamespaceExportDeclaration")}else{if(e.exportKind="value",this.isContextual(128)){let i=this.lookaheadCharCode();(i===123||i===42)&&(this.next(),e.exportKind="type")}return super.parseExport(e,s)}}isAbstractClass(){return this.isContextual(122)&&this.lookahead().type===80}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(127)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{isAmbientContext:a}=this.state,n=super.parseVarStatement(e,s,i||a);if(!a)return n;for(let{id:o,init:u}of n.declarations)u&&(s!=="const"||o.typeAnnotation?this.raise(w.InitializerNotAllowedInAmbientContext,{at:u}):Zl(u,this.hasPlugin("estree"))||this.raise(w.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference,{at:u}));return n}parseStatementContent(e,s){if(this.match(75)&&this.isLookaheadContextual("enum")){let i=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(i,{const:!0})}if(this.isContextual(124))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(127)){let i=this.tsParseInterfaceDeclaration(this.startNode());if(i)return i}return super.parseStatementContent(e,s)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,s){return s.some(i=>Gr(i)?e.accessibility===i:!!e[i])}tsIsStartOfStaticBlocks(){return this.isContextual(104)&&this.lookaheadCharCode()===123}parseClassMember(e,s,i){let a=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:a,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:w.InvalidModifierOnTypeParameterPositions},s);let n=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(s,a)&&this.raise(w.StaticBlockCannotHaveModifier,{at:this.state.curPosition()}),super.parseClassStaticBlock(e,s)):this.parseClassMemberWithIsStatic(e,s,i,!!s.static)};s.declare?this.tsInAmbientContext(n):n()}parseClassMemberWithIsStatic(e,s,i,a){let n=this.tsTryParseIndexSignature(s);if(n){e.body.push(n),s.abstract&&this.raise(w.IndexSignatureHasAbstract,{at:s}),s.accessibility&&this.raise(w.IndexSignatureHasAccessibility,{at:s,modifier:s.accessibility}),s.declare&&this.raise(w.IndexSignatureHasDeclare,{at:s}),s.override&&this.raise(w.IndexSignatureHasOverride,{at:s});return}!this.state.inAbstractClass&&s.abstract&&this.raise(w.NonAbstractClassHasAbstractMethod,{at:s}),s.override&&(i.hadSuperClass||this.raise(w.OverrideNotInSubClass,{at:s})),super.parseClassMemberWithIsStatic(e,s,i,a)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(w.ClassMethodHasReadonly,{at:e}),e.declare&&this.match(10)&&this.raise(w.ClassMethodHasDeclare,{at:e})}parseExpressionStatement(e,s,i){return(s.type==="Identifier"?this.tsParseExpressionStatement(e,s,i):void 0)||super.parseExpressionStatement(e,s,i)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(e,s,i){if(!this.state.maybeInArrowParameters||!this.match(17))return super.parseConditional(e,s,i);let a=this.tryParse(()=>super.parseConditional(e,s));return a.node?(a.error&&(this.state=a.failState),a.node):(a.error&&super.setOptionalParametersError(i,a.error),e)}parseParenItem(e,s){if(e=super.parseParenItem(e,s),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){let i=this.startNodeAt(s);return i.expression=e,i.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(i,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(123))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let s=this.state.startLoc,i=this.eatContextual(123);if(i&&(this.isContextual(123)||!this.shouldParseExportDeclaration()))throw this.raise(w.ExpectedAmbientAfterExportDeclare,{at:this.state.startLoc});let n=R(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return n?((n.type==="TSInterfaceDeclaration"||n.type==="TSTypeAliasDeclaration"||i)&&(e.exportKind="type"),i&&(this.resetStartLocation(n,s),n.declare=!0),n):null}parseClassId(e,s,i,a){if((!s||i)&&this.isContextual(111))return;super.parseClassId(e,s,i,e.declare?kr:wr);let n=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);n&&(e.typeParameters=n)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));let s=this.tsTryParseTypeAnnotation();s&&(e.typeAnnotation=s)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&!(e.readonly&&!e.typeAnnotation)&&this.match(29)&&this.raise(w.DeclareClassFieldHasInitializer,{at:this.state.startLoc}),e.abstract&&this.match(29)){let{key:s}=e;this.raise(w.AbstractPropertyHasInitializer,{at:this.state.startLoc,propertyName:s.type==="Identifier"&&!e.computed?s.name:`[${this.input.slice(s.start,s.end)}]`})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(w.PrivateElementHasAbstract,{at:e}),e.accessibility&&this.raise(w.PrivateElementHasAccessibility,{at:e,modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(w.AccessorCannotBeOptional,{at:e}),super.parseClassAccessorProperty(e)}pushClassMethod(e,s,i,a,n,o){let u=this.tsTryParseTypeParameters(this.tsParseConstModifier);u&&n&&this.raise(w.ConstructorHasTypeParameters,{at:u});let{declare:c=!1,kind:y}=s;c&&(y==="get"||y==="set")&&this.raise(w.DeclareAccessor,{at:s,kind:y}),u&&(s.typeParameters=u),super.pushClassMethod(e,s,i,a,n,o)}pushClassPrivateMethod(e,s,i,a){let n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(s.typeParameters=n),super.pushClassPrivateMethod(e,s,i,a)}declareClassPrivateMethodInScope(e,s){e.type!=="TSDeclareMethod"&&(e.type==="MethodDefinition"&&!e.value.body||super.declareClassPrivateMethodInScope(e,s))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(111)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,s,i,a,n,o,u){let c=this.tsTryParseTypeParameters(this.tsParseConstModifier);return c&&(e.typeParameters=c),super.parseObjPropValue(e,s,i,a,n,o,u)}parseFunctionParams(e,s){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(e.typeParameters=i),super.parseFunctionParams(e,s)}parseVarId(e,s){super.parseVarId(e,s),e.id.type==="Identifier"&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);let i=this.tsTryParseTypeAnnotation();i&&(e.id.typeAnnotation=i,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,s){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,s)}parseMaybeAssign(e,s){var i,a,n,o,u,c,y;let g,T,C;if(this.hasPlugin("jsx")&&(this.match(140)||this.match(47))){if(g=this.state.clone(),T=this.tryParse(()=>super.parseMaybeAssign(e,s),g),!T.error)return T.node;let{context:G}=this.state,J=G[G.length-1];(J===x.j_oTag||J===x.j_expr)&&G.pop()}if(!((i=T)!=null&&i.error)&&!this.match(47))return super.parseMaybeAssign(e,s);(!g||g===this.state)&&(g=this.state.clone());let j,q=this.tryParse(G=>{var J,K;j=this.tsParseTypeParameters(this.tsParseConstModifier);let Z=super.parseMaybeAssign(e,s);return(Z.type!=="ArrowFunctionExpression"||(J=Z.extra)!=null&&J.parenthesized)&&G(),((K=j)==null?void 0:K.params.length)!==0&&this.resetStartLocationFromNode(Z,j),Z.typeParameters=j,Z},g);if(!q.error&&!q.aborted)return j&&this.reportReservedArrowTypeParam(j),q.node;if(!T&&(Wr(!this.hasPlugin("jsx")),C=this.tryParse(()=>super.parseMaybeAssign(e,s),g),!C.error))return C.node;if((a=T)!=null&&a.node)return this.state=T.failState,T.node;if(q.node)return this.state=q.failState,j&&this.reportReservedArrowTypeParam(j),q.node;if((n=C)!=null&&n.node)return this.state=C.failState,C.node;throw(o=T)!=null&&o.thrown?T.error:q.thrown?q.error:(u=C)!=null&&u.thrown?C.error:((c=T)==null?void 0:c.error)||q.error||((y=C)==null?void 0:y.error)}reportReservedArrowTypeParam(e){var s;e.params.length===1&&!e.params[0].constraint&&!((s=e.extra)!=null&&s.trailingComma)&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(w.ReservedArrowTypeParam,{at:e})}parseMaybeUnary(e,s){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,s)}parseArrow(e){if(this.match(14)){let s=this.tryParse(i=>{let a=this.tsParseTypeOrTypePredicateAnnotation(14);return(this.canInsertSemicolon()||!this.match(19))&&i(),a});if(s.aborted)return;s.thrown||(s.error&&(this.state=s.failState),e.returnType=s.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e,s){if(!(s&2))return e;this.eat(17)&&(e.optional=!0);let i=this.tsTryParseTypeAnnotation();return i&&(e.typeAnnotation=i),this.resetEndLocation(e),e}isAssignable(e,s){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,s);case"TSParameterProperty":return!0;default:return super.isAssignable(e,s)}}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,s);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":s?this.expressionScope.recordArrowParameterBindingError(w.UnexpectedTypeCastInParameter,{at:e}):this.raise(w.UnexpectedTypeCastInParameter,{at:e}),this.toAssignable(e.expression,s);break;case"AssignmentExpression":!s&&e.left.type==="TSTypeCastExpression"&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,s)}}toAssignableParenthesizedExpression(e,s){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,s);break;default:super.toAssignable(e,s)}}checkToRestConversion(e,s){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,s)}}isValidLVal(e,s,i){return Wl({TSTypeCastExpression:!0,TSParameterProperty:"parameter",TSNonNullExpression:"expression",TSAsExpression:(i!==be||!s)&&["expression",!0],TSSatisfiesExpression:(i!==be||!s)&&["expression",!0],TSTypeAssertion:(i!==be||!s)&&["expression",!0]},e)||super.isValidLVal(e,s,i)}parseBindingAtom(){switch(this.state.type){case 78:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.match(47)||this.match(51)){let s=this.tsParseTypeArgumentsInExpression();if(this.match(10)){let i=super.parseMaybeDecoratorArguments(e);return i.typeParameters=s,i}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,s){let i=super.parseMaybeDefault(e,s);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startthis.isAssignable(s,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){let s=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());s&&(e.typeParameters=s)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let s=super.getGetterSetterExpectedParamCount(e),a=this.getObjectOrClassMethodParams(e)[0];return a&&this.isThisParam(a)?s+1:s}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s,this.resetEndLocation(e)),e}tsInAmbientContext(e){let s=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=s}}parseClass(e,s,i){let a=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,s,i)}finally{this.state.inAbstractClass=a}}tsParseAbstractDeclaration(e,s){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(s,this.parseClass(e,!0,!1));if(this.isContextual(127)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(w.NonClassMethodPropertyHasAbstractModifer,{at:e}),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}parseMethod(e,s,i,a,n,o,u){let c=super.parseMethod(e,s,i,a,n,o,u);if(c.abstract&&(this.hasPlugin("estree")?!!c.value.body:!!c.body)){let{key:g}=c;this.raise(w.AbstractMethodHasImplementation,{at:c,methodName:g.type==="Identifier"&&!c.computed?g.name:`[${this.input.slice(g.start,g.end)}]`})}return c}tsParseTypeParameterName(){return this.parseIdentifier().name}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,s,i,a){return!s&&a?(this.parseTypeOnlyImportExportSpecifier(e,!1,i),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,s,i,a))}parseImportSpecifier(e,s,i,a,n){return!s&&a?(this.parseTypeOnlyImportExportSpecifier(e,!0,i),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,s,i,a,i?Dr:Xe))}parseTypeOnlyImportExportSpecifier(e,s,i){let a=s?"imported":"local",n=s?"local":"exported",o=e[a],u,c=!1,y=!0,g=o.loc.start;if(this.isContextual(93)){let C=this.parseIdentifier();if(this.isContextual(93)){let j=this.parseIdentifier();se(this.state.type)?(c=!0,o=C,u=s?this.parseIdentifier():this.parseModuleExportName(),y=!1):(u=j,y=!1)}else se(this.state.type)?(y=!1,u=s?this.parseIdentifier():this.parseModuleExportName()):(c=!0,o=C)}else se(this.state.type)&&(c=!0,s?(o=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(o.name,o.loc.start,!0,!0)):o=this.parseModuleExportName());c&&i&&this.raise(s?w.TypeModifierIsUsedInTypeImports:w.TypeModifierIsUsedInTypeExports,{at:g}),e[a]=o,e[n]=u;let T=s?"importKind":"exportKind";e[T]=c?"type":"value",y&&this.eatContextual(93)&&(e[n]=s?this.parseIdentifier():this.parseModuleExportName()),e[n]||(e[n]=Te(e[a])),s&&this.checkIdentifier(e[n],c?Dr:Xe)}};function Ql(t){if(t.type!=="MemberExpression")return!1;let{computed:r,property:e}=t;return r&&e.type!=="StringLiteral"&&(e.type!=="TemplateLiteral"||e.expressions.length>0)?!1:Xr(t.object)}function Zl(t,r){var e;let{type:s}=t;if((e=t.extra)!=null&&e.parenthesized)return!1;if(r){if(s==="Literal"){let{value:i}=t;if(typeof i=="string"||typeof i=="boolean")return!0}}else if(s==="StringLiteral"||s==="BooleanLiteral")return!0;return!!(Jr(t,r)||eh(t,r)||s==="TemplateLiteral"&&t.expressions.length===0||Ql(t))}function Jr(t,r){return r?t.type==="Literal"&&(typeof t.value=="number"||"bigint"in t):t.type==="NumericLiteral"||t.type==="BigIntLiteral"}function eh(t,r){if(t.type==="UnaryExpression"){let{operator:e,argument:s}=t;if(e==="-"&&Jr(s,r))return!0}return!1}function Xr(t){return t.type==="Identifier"?!0:t.type!=="MemberExpression"||t.computed?!1:Xr(t.object)}var Yr=ge`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),th=t=>class extends t{parsePlaceholder(e){if(this.match(142)){let s=this.startNode();return this.next(),this.assertNoSpace(),s.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(142),this.finishPlaceholder(s,e)}}finishPlaceholder(e,s){let i=!!(e.expectedNode&&e.type==="Placeholder");return e.expectedNode=s,i?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){e===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(142,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,s,i,a){e!==void 0&&super.checkReservedWord(e,s,i,a)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,s,i){return e==="Placeholder"||super.isValidLVal(e,s,i)}toAssignable(e,s){e&&e.type==="Placeholder"&&e.expectedNode==="Expression"?e.expectedNode="Pattern":super.toAssignable(e,s)}chStartsBindingIdentifier(e,s){return!!(super.chStartsBindingIdentifier(e,s)||this.lookahead().type===142)}verifyBreakContinue(e,s){e.label&&e.label.type==="Placeholder"||super.verifyBreakContinue(e,s)}parseExpressionStatement(e,s){if(s.type!=="Placeholder"||s.extra&&s.extra.parenthesized)return super.parseExpressionStatement(e,s);if(this.match(14)){let i=e;return i.label=this.finishPlaceholder(s,"Identifier"),this.next(),i.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(i,"LabeledStatement")}return this.semicolon(),e.name=s.name,this.finishPlaceholder(e,"Statement")}parseBlock(e,s,i){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,s,i)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,s,i){let a=s?"ClassDeclaration":"ClassExpression";this.next();let n=this.state.strict,o=this.parsePlaceholder("Identifier");if(o)if(this.match(81)||this.match(142)||this.match(5))e.id=o;else{if(i||!s)return e.id=null,e.body=this.finishPlaceholder(o,"ClassBody"),this.finishNode(e,a);throw this.raise(Yr.ClassNameIsRequired,{at:this.state.startLoc})}else this.parseClassId(e,s,i);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,n),this.finishNode(e,a)}parseExport(e,s){let i=this.parsePlaceholder("Identifier");if(!i)return super.parseExport(e,s);if(!this.isContextual(97)&&!this.match(12))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(i,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");let a=this.startNode();return a.exported=i,e.specifiers=[this.finishNode(a,"ExportDefaultSpecifier")],super.parseExport(e,s)}isExportDefaultSpecifier(){if(this.match(65)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(Y(142),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e){return e.specifiers&&e.specifiers.length>0?!0:super.maybeParseExportDefaultSpecifier(e)}checkExport(e){let{specifiers:s}=e;s!=null&&s.length&&(e.specifiers=s.filter(i=>i.exported.type==="Placeholder")),super.checkExport(e),e.specifiers=s}parseImport(e){let s=this.parsePlaceholder("Identifier");if(!s)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(97)&&!this.match(12))return e.source=this.finishPlaceholder(s,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");let i=this.startNodeAtNode(s);return i.local=s,e.specifiers.push(this.finishNode(i,"ImportDefaultSpecifier")),this.eat(12)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(97),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.state.lastTokEndLoc.index&&this.raise(Yr.UnexpectedSpace,{at:this.state.lastTokEndLoc})}},sh=t=>class extends t{parseV8Intrinsic(){if(this.match(54)){let e=this.state.startLoc,s=this.startNode();if(this.next(),R(this.state.type)){let i=this.parseIdentifierName(),a=this.createIdentifier(s,i);if(a.type="V8IntrinsicIdentifier",this.match(10))return a}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}};function Q(t,r){let[e,s]=typeof r=="string"?[r,{}]:r,i=Object.keys(s),a=i.length===0;return t.some(n=>{if(typeof n=="string")return a&&n===e;{let[o,u]=n;if(o!==e)return!1;for(let c of i)if(u[c]!==s[c])return!1;return!0}})}function Le(t,r,e){let s=t.find(i=>Array.isArray(i)?i[0]===r:i===r);return s&&Array.isArray(s)&&s.length>1?s[1][e]:null}var Qr=["minimal","fsharp","hack","smart"],Zr=["^^","@@","^","%","#"],ei=["hash","bar"];function rh(t){if(Q(t,"decorators")){if(Q(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");let r=Le(t,"decorators","decoratorsBeforeExport");if(r!=null&&typeof r!="boolean")throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");let e=Le(t,"decorators","allowCallParenthesized");if(e!=null&&typeof e!="boolean")throw new Error("'allowCallParenthesized' must be a boolean.")}if(Q(t,"flow")&&Q(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(Q(t,"placeholders")&&Q(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(Q(t,"pipelineOperator")){let r=Le(t,"pipelineOperator","proposal");if(!Qr.includes(r)){let s=Qr.map(i=>`"${i}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${s}.`)}let e=Q(t,["recordAndTuple",{syntaxType:"hash"}]);if(r==="hack"){if(Q(t,"placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(Q(t,"v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");let s=Le(t,"pipelineOperator","topicToken");if(!Zr.includes(s)){let i=Zr.map(a=>`"${a}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${i}.`)}if(s==="#"&&e)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}else if(r==="smart"&&e)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}if(Q(t,"moduleAttributes")){if(Q(t,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if(Le(t,"moduleAttributes","version")!=="may-2020")throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(Q(t,"recordAndTuple")&&Le(t,"recordAndTuple","syntaxType")!=null&&!ei.includes(Le(t,"recordAndTuple","syntaxType")))throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: "+ei.map(r=>`'${r}'`).join(", "));if(Q(t,"asyncDoExpressions")&&!Q(t,"doExpressions")){let r=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw r.missingPlugins="doExpressions",r}}var ti={estree:Uo,jsx:$l,flow:ql,typescript:Yl,v8intrinsic:sh,placeholders:th},ih=Object.keys(ti),ah=class extends Kl{checkProto(t,r,e,s){if(t.type==="SpreadElement"||this.isObjectMethod(t)||t.computed||t.shorthand)return;let i=t.key;if((i.type==="Identifier"?i.name:i.value)==="__proto__"){if(r){this.raise(p.RecordNoProto,{at:i});return}e.used&&(s?s.doubleProtoLoc===null&&(s.doubleProtoLoc=i.loc.start):this.raise(p.DuplicateProto,{at:i})),e.used=!0}}shouldExitDescending(t,r){return t.type==="ArrowFunctionExpression"&&t.start===r}getExpression(){this.enterInitialScopes(),this.nextToken();let t=this.parseExpression();return this.match(137)||this.unexpected(),this.finalizeRemainingComments(),t.comments=this.state.comments,t.errors=this.state.errors,this.options.tokens&&(t.tokens=this.tokens),t}parseExpression(t,r){return t?this.disallowInAnd(()=>this.parseExpressionBase(r)):this.allowInAnd(()=>this.parseExpressionBase(r))}parseExpressionBase(t){let r=this.state.startLoc,e=this.parseMaybeAssign(t);if(this.match(12)){let s=this.startNodeAt(r);for(s.expressions=[e];this.eat(12);)s.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(s.expressions),this.finishNode(s,"SequenceExpression")}return e}parseMaybeAssignDisallowIn(t,r){return this.disallowInAnd(()=>this.parseMaybeAssign(t,r))}parseMaybeAssignAllowIn(t,r){return this.allowInAnd(()=>this.parseMaybeAssign(t,r))}setOptionalParametersError(t,r){var e;t.optionalParametersLoc=(e=r==null?void 0:r.loc)!=null?e:this.state.startLoc}parseMaybeAssign(t,r){let e=this.state.startLoc;if(this.isContextual(106)&&this.prodParam.hasYield){let n=this.parseYield();return r&&(n=r.call(this,n,e)),n}let s;t?s=!1:(t=new wt,s=!0);let{type:i}=this.state;(i===10||R(i))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t);if(r&&(a=r.call(this,a,e)),ye(this.state.type)){let n=this.startNodeAt(e),o=this.state.value;if(n.operator=o,this.match(29)){this.toAssignable(a,!0),n.left=a;let u=e.index;t.doubleProtoLoc!=null&&t.doubleProtoLoc.index>=u&&(t.doubleProtoLoc=null),t.shorthandAssignLoc!=null&&t.shorthandAssignLoc.index>=u&&(t.shorthandAssignLoc=null),t.privateKeyLoc!=null&&t.privateKeyLoc.index>=u&&(this.checkDestructuringPrivate(t),t.privateKeyLoc=null)}else n.left=a;return this.next(),n.right=this.parseMaybeAssign(),this.checkLVal(a,{in:this.finishNode(n,"AssignmentExpression")}),n}else s&&this.checkExpressionErrors(t,!0);return a}parseMaybeConditional(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseExprOps(t);return this.shouldExitDescending(s,e)?s:this.parseConditional(s,r,t)}parseConditional(t,r,e){if(this.eat(17)){let s=this.startNodeAt(r);return s.test=t,s.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),s.alternate=this.parseMaybeAssign(),this.finishNode(s,"ConditionalExpression")}return t}parseMaybeUnaryOrPrivate(t){return this.match(136)?this.parsePrivateName():this.parseMaybeUnary(t)}parseExprOps(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseMaybeUnaryOrPrivate(t);return this.shouldExitDescending(s,e)?s:this.parseExprOp(s,r,-1)}parseExprOp(t,r,e){if(this.isPrivateName(t)){let i=this.getPrivateNameSV(t);(e>=Re(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(p.PrivateInExpectedIn,{at:t,identifierName:i}),this.classScope.usePrivateName(i,t.loc.start)}let s=this.state.type;if(le(s)&&(this.prodParam.hasIn||!this.match(58))){let i=Re(s);if(i>e){if(s===39){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return t;this.checkPipelineAtInfixOperator(t,r)}let a=this.startNodeAt(r);a.left=t,a.operator=this.state.value;let n=s===41||s===42,o=s===40;if(o&&(i=Re(42)),this.next(),s===39&&this.hasPlugin(["pipelineOperator",{proposal:"minimal"}])&&this.state.type===96&&this.prodParam.hasAwait)throw this.raise(p.UnexpectedAwaitAfterPipelineBody,{at:this.state.startLoc});a.right=this.parseExprOpRightExpr(s,i);let u=this.finishNode(a,n||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(c===41||c===42)||n&&c===40)throw this.raise(p.MixingCoalesceWithLogical,{at:this.state.startLoc});return this.parseExprOp(u,r,e)}}return t}parseExprOpRightExpr(t,r){let e=this.state.startLoc;switch(t){case 39:switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"smart":return this.withTopicBindingContext(()=>{if(this.prodParam.hasYield&&this.isContextual(106))throw this.raise(p.PipeBodyIsTighter,{at:this.state.startLoc});return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(t,r),e)});case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(r))}default:return this.parseExprOpBaseRightExpr(t,r)}}parseExprOpBaseRightExpr(t,r){let e=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),e,Gt(t)?r-1:r)}parseHackPipeBody(){var t;let{startLoc:r}=this.state,e=this.parseMaybeAssign();return Bo.has(e.type)&&!((t=e.extra)!=null&&t.parenthesized)&&this.raise(p.PipeUnparenthesizedBody,{at:r,type:e.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(p.PipeTopicUnused,{at:r}),e}checkExponentialAfterUnary(t){this.match(57)&&this.raise(p.UnexpectedTokenUnaryExponentiation,{at:t.argument})}parseMaybeUnary(t,r){let e=this.state.startLoc,s=this.isContextual(96);if(s&&this.isAwaitAllowed()){this.next();let o=this.parseAwait(e);return r||this.checkExponentialAfterUnary(o),o}let i=this.match(34),a=this.startNode();if(ht(this.state.type)){a.operator=this.state.value,a.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");let o=this.match(89);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),this.state.strict&&o){let u=a.argument;u.type==="Identifier"?this.raise(p.StrictDelete,{at:a}):this.hasPropertyAsPrivateName(u)&&this.raise(p.DeletePrivateField,{at:a})}if(!i)return r||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}let n=this.parseUpdate(a,i,t);if(s){let{type:o}=this.state;if((this.hasPlugin("v8intrinsic")?X(o):X(o)&&!this.match(54))&&!this.isAmbiguousAwait())return this.raiseOverwrite(p.AwaitNotInAsyncContext,{at:e}),this.parseAwait(e)}return n}parseUpdate(t,r,e){if(r){let a=t;return this.checkLVal(a.argument,{in:this.finishNode(a,"UpdateExpression")}),t}let s=this.state.startLoc,i=this.parseExprSubscripts(e);if(this.checkExpressionErrors(e,!1))return i;for(;ue(this.state.type)&&!this.canInsertSemicolon();){let a=this.startNodeAt(s);a.operator=this.state.value,a.prefix=!1,a.argument=i,this.next(),this.checkLVal(i,{in:i=this.finishNode(a,"UpdateExpression")})}return i}parseExprSubscripts(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseExprAtom(t);return this.shouldExitDescending(s,e)?s:this.parseSubscripts(s,r)}parseSubscripts(t,r,e){let s={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do t=this.parseSubscript(t,r,e,s),s.maybeAsyncArrow=!1;while(!s.stop);return t}parseSubscript(t,r,e,s){let{type:i}=this.state;if(!e&&i===15)return this.parseBind(t,r,e,s);if(ct(i))return this.parseTaggedTemplateExpression(t,r,s);let a=!1;if(i===18){if(e&&(this.raise(p.OptionalChainingNoNew,{at:this.state.startLoc}),this.lookaheadCharCode()===40))return s.stop=!0,t;s.optionalChainMember=a=!0,this.next()}if(!e&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(t,r,s,a);{let n=this.eat(0);return n||a||this.eat(16)?this.parseMember(t,r,s,n,a):(s.stop=!0,t)}}parseMember(t,r,e,s,i){let a=this.startNodeAt(r);return a.object=t,a.computed=s,s?(a.property=this.parseExpression(),this.expect(3)):this.match(136)?(t.type==="Super"&&this.raise(p.SuperPrivateField,{at:r}),this.classScope.usePrivateName(this.state.value,this.state.startLoc),a.property=this.parsePrivateName()):a.property=this.parseIdentifier(!0),e.optionalChainMember?(a.optional=i,this.finishNode(a,"OptionalMemberExpression")):this.finishNode(a,"MemberExpression")}parseBind(t,r,e,s){let i=this.startNodeAt(r);return i.object=t,this.next(),i.callee=this.parseNoCallExpr(),s.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),r,e)}parseCoverCallAndAsyncArrowHead(t,r,e,s){let i=this.state.maybeInArrowParameters,a=null;this.state.maybeInArrowParameters=!0,this.next();let n=this.startNodeAt(r);n.callee=t;let{maybeAsyncArrow:o,optionalChainMember:u}=e;o&&(this.expressionScope.enter(Nl()),a=new wt),u&&(n.optional=s),s?n.arguments=this.parseCallExpressionArguments(11):n.arguments=this.parseCallExpressionArguments(11,t.type==="Import",t.type!=="Super",n,a);let c=this.finishCallExpression(n,u);return o&&this.shouldParseAsyncArrow()&&!s?(e.stop=!0,this.checkDestructuringPrivate(a),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(r),c)):(o&&(this.checkExpressionErrors(a,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=i,c}toReferencedArguments(t,r){this.toReferencedListDeep(t.arguments,r)}parseTaggedTemplateExpression(t,r,e){let s=this.startNodeAt(r);return s.tag=t,s.quasi=this.parseTemplate(!0),e.optionalChainMember&&this.raise(p.OptionalChainingNoTemplate,{at:r}),this.finishNode(s,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return t.type==="Identifier"&&t.name==="async"&&this.state.lastTokEndLoc.index===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,r){if(t.callee.type==="Import")if(t.arguments.length===2&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),t.arguments.length===0||t.arguments.length>2)this.raise(p.ImportCallArity,{at:t,maxArgumentCount:this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?2:1});else for(let e of t.arguments)e.type==="SpreadElement"&&this.raise(p.ImportCallSpreadArgument,{at:e});return this.finishNode(t,r?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,r,e,s,i){let a=[],n=!0,o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(t);){if(n)n=!1;else if(this.expect(12),this.match(t)){r&&!this.hasPlugin("importAssertions")&&!this.hasPlugin("moduleAttributes")&&this.raise(p.ImportCallArgumentTrailingComma,{at:this.state.lastTokStartLoc}),s&&this.addTrailingCommaExtraToNode(s),this.next();break}a.push(this.parseExprListItem(!1,i,e))}return this.state.inFSharpPipelineDirectBody=o,a}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,r){var e;return this.resetPreviousNodeTrailingComments(r),this.expect(19),this.parseArrowExpression(t,r.arguments,!0,(e=r.extra)==null?void 0:e.trailingCommaLoc),r.innerComments&&Ye(t,r.innerComments),r.callee.trailingComments&&Ye(t,r.callee.trailingComments),t}parseNoCallExpr(){let t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,!0)}parseExprAtom(t){let r,e=null,{type:s}=this.state;switch(s){case 79:return this.parseSuper();case 83:return r=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(r):(this.match(10)||this.raise(p.UnsupportedImport,{at:this.state.lastTokStartLoc}),this.finishNode(r,"Import"));case 78:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 132:return this.parseNumericLiteral(this.state.value);case 133:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseDecimalLiteral(this.state.value);case 131:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{let i=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(i)}case 2:case 1:return this.parseArrayLike(this.state.type===2?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,t);case 6:case 7:return this.parseObjectLike(this.state.type===6?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,t);case 68:return this.parseFunctionOrFunctionSent();case 26:e=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(e,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{r=this.startNode(),this.next(),r.object=null;let i=r.callee=this.parseNoCallExpr();if(i.type==="MemberExpression")return this.finishNode(r,"BindExpression");throw this.raise(p.UnsupportedBind,{at:i})}case 136:return this.raise(p.PrivateInExpectedIn,{at:this.state.startLoc,identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{let i=this.getPluginOption("pipelineOperator","proposal");if(i)return this.parseTopicReference(i);this.unexpected();break}case 47:{let i=this.input.codePointAt(this.nextTokenStart());Pe(i)||i===62?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(R(s)){if(this.isContextual(125)&&this.lookaheadCharCode()===123&&!this.hasFollowingLineBreak())return this.parseModuleExpression();let i=this.state.potentialArrowAt===this.state.start,a=this.state.containsEsc,n=this.parseIdentifier();if(!a&&n.name==="async"&&!this.canInsertSemicolon()){let{type:o}=this.state;if(o===68)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(R(o))return this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(o===90)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return i&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}else this.unexpected()}}parseTopicReferenceThenEqualsSign(t,r){let e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.state.type=t,this.state.value=r,this.state.pos--,this.state.end--,this.state.endLoc=re(this.state.endLoc,-1),this.parseTopicReference(e);this.unexpected()}parseTopicReference(t){let r=this.startNode(),e=this.state.startLoc,s=this.state.type;return this.next(),this.finishTopicReference(r,e,t,s)}finishTopicReference(t,r,e,s){if(this.testTopicReferenceConfiguration(e,r,s)){let i=e==="smart"?"PipelinePrimaryTopicReference":"TopicReference";return this.topicReferenceIsAllowedInCurrentContext()||this.raise(e==="smart"?p.PrimaryTopicNotAllowed:p.PipeTopicUnbound,{at:r}),this.registerTopicReference(),this.finishNode(t,i)}else throw this.raise(p.PipeTopicUnconfiguredToken,{at:r,token:Y(s)})}testTopicReferenceConfiguration(t,r,e){switch(t){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:Y(e)}]);case"smart":return e===27;default:throw this.raise(p.PipeTopicRequiresHackPipes,{at:r})}}parseAsyncArrowUnaryFunction(t){this.prodParam.enter(St(!0,this.prodParam.hasYield));let r=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(p.LineTerminatorBeforeArrow,{at:this.state.curPosition()}),this.expect(19),this.parseArrowExpression(t,r,!0)}parseDo(t,r){this.expectPlugin("doExpressions"),r&&this.expectPlugin("asyncDoExpressions"),t.async=r,this.next();let e=this.state.labels;return this.state.labels=[],r?(this.prodParam.enter(bt),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=e,this.finishNode(t,"DoExpression")}parseSuper(){let t=this.startNode();return this.next(),this.match(10)&&!this.scope.allowDirectSuper&&!this.options.allowSuperOutsideMethod?this.raise(p.SuperNotAllowed,{at:t}):!this.scope.allowSuper&&!this.options.allowSuperOutsideMethod&&this.raise(p.UnexpectedSuper,{at:t}),!this.match(10)&&!this.match(0)&&!this.match(16)&&this.raise(p.UnsupportedSuper,{at:t}),this.finishNode(t,"Super")}parsePrivateName(){let t=this.startNode(),r=this.startNodeAt(re(this.state.startLoc,1)),e=this.state.value;return this.next(),t.id=this.createIdentifier(r,e),this.finishNode(t,"PrivateName")}parseFunctionOrFunctionSent(){let t=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"function");return this.next(),this.match(102)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(t,r,"sent")}return this.parseFunction(t)}parseMetaProperty(t,r,e){t.meta=r;let s=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==e||s)&&this.raise(p.UnsupportedMetaProperty,{at:t.property,target:r.name,onlyValidPropertyName:e}),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){let r=this.createIdentifier(this.startNodeAtNode(t),"import");return this.next(),this.isContextual(100)&&(this.inModule||this.raise(p.ImportMetaOutsideModule,{at:r}),this.sawUnambiguousESM=!0),this.parseMetaProperty(t,r,"meta")}parseLiteralAtNode(t,r,e){return this.addExtra(e,"rawValue",t),this.addExtra(e,"raw",this.input.slice(e.start,this.state.end)),e.value=t,this.next(),this.finishNode(e,r)}parseLiteral(t,r){let e=this.startNode();return this.parseLiteralAtNode(t,r,e)}parseStringLiteral(t){return this.parseLiteral(t,"StringLiteral")}parseNumericLiteral(t){return this.parseLiteral(t,"NumericLiteral")}parseBigIntLiteral(t){return this.parseLiteral(t,"BigIntLiteral")}parseDecimalLiteral(t){return this.parseLiteral(t,"DecimalLiteral")}parseRegExpLiteral(t){let r=this.parseLiteral(t.value,"RegExpLiteral");return r.pattern=t.pattern,r.flags=t.flags,r}parseBooleanLiteral(t){let r=this.startNode();return r.value=t,this.next(),this.finishNode(r,"BooleanLiteral")}parseNullLiteral(){let t=this.startNode();return this.next(),this.finishNode(t,"NullLiteral")}parseParenAndDistinguishExpression(t){let r=this.state.startLoc,e;this.next(),this.expressionScope.enter(Il());let s=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;let a=this.state.startLoc,n=[],o=new wt,u=!0,c,y;for(;!this.match(11);){if(u)u=!1;else if(this.expect(12,o.optionalParametersLoc===null?null:o.optionalParametersLoc),this.match(11)){y=this.state.startLoc;break}if(this.match(21)){let C=this.state.startLoc;if(c=this.state.startLoc,n.push(this.parseParenItem(this.parseRestBinding(),C)),!this.checkCommaAfterRest(41))break}else n.push(this.parseMaybeAssignAllowIn(o,this.parseParenItem))}let g=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=s,this.state.inFSharpPipelineDirectBody=i;let T=this.startNodeAt(r);return t&&this.shouldParseArrow(n)&&(T=this.parseArrow(T))?(this.checkDestructuringPrivate(o),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(T,n,!1),T):(this.expressionScope.exit(),n.length||this.unexpected(this.state.lastTokStartLoc),y&&this.unexpected(y),c&&this.unexpected(c),this.checkExpressionErrors(o,!0),this.toReferencedListDeep(n,!0),n.length>1?(e=this.startNodeAt(a),e.expressions=n,this.finishNode(e,"SequenceExpression"),this.resetEndLocation(e,g)):e=n[0],this.wrapParenthesis(r,e))}wrapParenthesis(t,r){if(!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t.index),this.takeSurroundingComments(r,t.index,this.state.lastTokEndLoc.index),r;let e=this.startNodeAt(t);return e.expression=r,this.finishNode(e,"ParenthesizedExpression")}shouldParseArrow(t){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(19))return t}parseParenItem(t,r){return t}parseNewOrNewTarget(){let t=this.startNode();if(this.next(),this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"new");this.next();let e=this.parseMetaProperty(t,r,"target");return!this.scope.inNonArrowFunction&&!this.scope.inClass&&!this.options.allowNewTargetOutsideFunction&&this.raise(p.UnexpectedNewTarget,{at:e}),e}return this.parseNew(t)}parseNew(t){if(this.parseNewCallee(t),this.eat(10)){let r=this.parseExprList(11);this.toReferencedList(r),t.arguments=r}else t.arguments=[];return this.finishNode(t,"NewExpression")}parseNewCallee(t){t.callee=this.parseNoCallExpr(),t.callee.type==="Import"&&this.raise(p.ImportCallNotNewExpression,{at:t.callee})}parseTemplateElement(t){let{start:r,startLoc:e,end:s,value:i}=this.state,a=r+1,n=this.startNodeAt(re(e,1));i===null&&(t||this.raise(p.InvalidEscapeSequenceTemplate,{at:re(this.state.firstInvalidTemplateEscapePos,1)}));let o=this.match(24),u=o?-1:-2,c=s+u;n.value={raw:this.input.slice(a,c).replace(/\r\n?/g,` -`),cooked:i===null?null:i.slice(1,u)},n.tail=o,this.next();let y=this.finishNode(n,"TemplateElement");return this.resetEndLocation(y,re(this.state.lastTokEndLoc,u)),y}parseTemplate(t){let r=this.startNode();r.expressions=[];let e=this.parseTemplateElement(t);for(r.quasis=[e];!e.tail;)r.expressions.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.quasis.push(e=this.parseTemplateElement(t));return this.finishNode(r,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,r,e,s){e&&this.expectPlugin("recordAndTuple");let i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let a=Object.create(null),n=!0,o=this.startNode();for(o.properties=[],this.next();!this.match(t);){if(n)n=!1;else if(this.expect(12),this.match(t)){this.addTrailingCommaExtraToNode(o);break}let c;r?c=this.parseBindingProperty():(c=this.parsePropertyDefinition(s),this.checkProto(c,e,a,s)),e&&!this.isObjectProperty(c)&&c.type!=="SpreadElement"&&this.raise(p.InvalidRecordProperty,{at:c}),c.shorthand&&this.addExtra(c,"shorthand",!0),o.properties.push(c)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return r?u="ObjectPattern":e&&(u="RecordExpression"),this.finishNode(o,u)}addTrailingCommaExtraToNode(t){this.addExtra(t,"trailingComma",this.state.lastTokStart),this.addExtra(t,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(t){return!t.computed&&t.key.type==="Identifier"&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(t){let r=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(p.UnsupportedPropertyDecorator,{at:this.state.startLoc});this.match(26);)r.push(this.parseDecorator());let e=this.startNode(),s=!1,i=!1,a;if(this.match(21))return r.length&&this.unexpected(),this.parseSpread();r.length&&(e.decorators=r,r=[]),e.method=!1,t&&(a=this.state.startLoc);let n=this.eat(55);this.parsePropertyNamePrefixOperator(e);let o=this.state.containsEsc,u=this.parsePropertyName(e,t);if(!n&&!o&&this.maybeAsyncOrAccessorProp(e)){let c=u.name;c==="async"&&!this.hasPrecedingLineBreak()&&(s=!0,this.resetPreviousNodeTrailingComments(u),n=this.eat(55),this.parsePropertyName(e)),(c==="get"||c==="set")&&(i=!0,this.resetPreviousNodeTrailingComments(u),e.kind=c,this.match(55)&&(n=!0,this.raise(p.AccessorIsGenerator,{at:this.state.curPosition(),kind:c}),this.next()),this.parsePropertyName(e))}return this.parseObjPropValue(e,a,n,s,!1,i,t)}getGetterSetterExpectedParamCount(t){return t.kind==="get"?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var r;let e=this.getGetterSetterExpectedParamCount(t),s=this.getObjectOrClassMethodParams(t);s.length!==e&&this.raise(t.kind==="get"?p.BadGetterArity:p.BadSetterArity,{at:t}),t.kind==="set"&&((r=s[s.length-1])==null?void 0:r.type)==="RestElement"&&this.raise(p.BadSetterRestParameter,{at:t})}parseObjectMethod(t,r,e,s,i){if(i){let a=this.parseMethod(t,r,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(a),a}if(e||r||this.match(10))return s&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,r,e,!1,!1,"ObjectMethod")}parseObjectProperty(t,r,e,s){if(t.shorthand=!1,this.eat(14))return t.value=e?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(s),this.finishNode(t,"ObjectProperty");if(!t.computed&&t.key.type==="Identifier"){if(this.checkReservedWord(t.key.name,t.key.loc.start,!0,!1),e)t.value=this.parseMaybeDefault(r,Te(t.key));else if(this.match(29)){let i=this.state.startLoc;s!=null?s.shorthandAssignLoc===null&&(s.shorthandAssignLoc=i):this.raise(p.InvalidCoverInitializedName,{at:i}),t.value=this.parseMaybeDefault(r,Te(t.key))}else t.value=Te(t.key);return t.shorthand=!0,this.finishNode(t,"ObjectProperty")}}parseObjPropValue(t,r,e,s,i,a,n){let o=this.parseObjectMethod(t,e,s,i,a)||this.parseObjectProperty(t,r,i,n);return o||this.unexpected(),o}parsePropertyName(t,r){if(this.eat(0))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{let{type:e,value:s}=this.state,i;if(se(e))i=this.parseIdentifier(!0);else switch(e){case 132:i=this.parseNumericLiteral(s);break;case 131:i=this.parseStringLiteral(s);break;case 133:i=this.parseBigIntLiteral(s);break;case 134:i=this.parseDecimalLiteral(s);break;case 136:{let a=this.state.startLoc;r!=null?r.privateKeyLoc===null&&(r.privateKeyLoc=a):this.raise(p.UnexpectedPrivateField,{at:a}),i=this.parsePrivateName();break}default:this.unexpected()}t.key=i,e!==136&&(t.computed=!1)}return t.key}initFunction(t,r){t.id=null,t.generator=!1,t.async=r}parseMethod(t,r,e,s,i,a){let n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1;this.initFunction(t,e),t.generator=r,this.scope.enter(Ae|dt|(n?Ne:0)|(i?Cr:0)),this.prodParam.enter(St(e,t.generator)),this.parseFunctionParams(t,s);let o=this.parseFunctionBodyAndFinish(t,a,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(t,r,e,s){e&&this.expectPlugin("recordAndTuple");let i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let a=this.startNode();return this.next(),a.elements=this.parseExprList(t,!e,s,a),this.state.inFSharpPipelineDirectBody=i,this.finishNode(a,e?"TupleExpression":"ArrayExpression")}parseArrowExpression(t,r,e,s){this.scope.enter(Ae|es);let i=St(e,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=Ve),this.prodParam.enter(i),this.initFunction(t,e);let a=this.state.maybeInArrowParameters;return r&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,r,s)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=a,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,r,e){this.toAssignableList(r,e,!1),t.params=r}parseFunctionBodyAndFinish(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.parseFunctionBody(t,!1,e),this.finishNode(t,r)}parseFunctionBody(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=r&&!this.match(5);if(this.expressionScope.enter($r()),s)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,r,!1);else{let i=this.state.strict,a=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|zr),t.body=this.parseBlock(!0,!1,n=>{let o=!this.isSimpleParamList(t.params);n&&o&&this.raise(p.IllegalLanguageModeDirective,{at:(t.kind==="method"||t.kind==="constructor")&&t.key?t.key.loc.end:t});let u=!i&&this.state.strict;this.checkParams(t,!this.state.strict&&!r&&!e&&!o,r,u),this.state.strict&&t.id&&this.checkIdentifier(t.id,tl,u)}),this.prodParam.exit(),this.state.labels=a}this.expressionScope.exit()}isSimpleParameter(t){return t.type==="Identifier"}isSimpleParamList(t){for(let r=0,e=t.length;r3&&arguments[3]!==void 0?arguments[3]:!0,i=!r&&new Set,a={type:"FormalParameters"};for(let n of t.params)this.checkLVal(n,{in:a,binding:At,checkClashes:i,strictModeChanged:s})}parseExprList(t,r,e,s){let i=[],a=!0;for(;!this.eat(t);){if(a)a=!1;else if(this.expect(12),this.match(t)){s&&this.addTrailingCommaExtraToNode(s),this.next();break}i.push(this.parseExprListItem(r,e))}return i}parseExprListItem(t,r,e){let s;if(this.match(12))t||this.raise(p.UnexpectedToken,{at:this.state.curPosition(),unexpected:","}),s=null;else if(this.match(21)){let i=this.state.startLoc;s=this.parseParenItem(this.parseSpread(r),i)}else if(this.match(17)){this.expectPlugin("partialApplication"),e||this.raise(p.UnexpectedArgumentPlaceholder,{at:this.state.startLoc});let i=this.startNode();this.next(),s=this.finishNode(i,"ArgumentPlaceholder")}else s=this.parseMaybeAssignAllowIn(r,this.parseParenItem);return s}parseIdentifier(t){let r=this.startNode(),e=this.parseIdentifierName(t);return this.createIdentifier(r,e)}createIdentifier(t,r){return t.name=r,t.loc.identifierName=r,this.finishNode(t,"Identifier")}parseIdentifierName(t){let r,{startLoc:e,type:s}=this.state;se(s)?r=this.state.value:this.unexpected();let i=ae(s);return t?i&&this.replaceToken(130):this.checkReservedWord(r,e,i,!1),this.next(),r}checkReservedWord(t,r,e,s){if(t.length>10||!Yo(t))return;if(e&&Go(t)){this.raise(p.UnexpectedKeyword,{at:r,keyword:t});return}if((this.state.strict?s?vr:Ar:Pr)(t,this.inModule)){this.raise(p.UnexpectedReservedWord,{at:r,reservedWord:t});return}else if(t==="yield"){if(this.prodParam.hasYield){this.raise(p.YieldBindingIdentifier,{at:r});return}}else if(t==="await"){if(this.prodParam.hasAwait){this.raise(p.AwaitBindingIdentifier,{at:r});return}if(this.scope.inStaticBlock){this.raise(p.AwaitBindingIdentifierInStaticBlock,{at:r});return}this.expressionScope.recordAsyncArrowParametersError({at:r})}else if(t==="arguments"&&this.scope.inClassAndNotInNonArrowFunction){this.raise(p.ArgumentsInClass,{at:r});return}}isAwaitAllowed(){return!!(this.prodParam.hasAwait||this.options.allowAwaitOutsideFunction&&!this.scope.inFunction)}parseAwait(t){let r=this.startNodeAt(t);return this.expressionScope.recordParameterInitializerError(p.AwaitExpressionFormalParameter,{at:r}),this.eat(55)&&this.raise(p.ObsoleteAwaitStar,{at:r}),!this.scope.inFunction&&!this.options.allowAwaitOutsideFunction&&(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(r.argument=this.parseMaybeUnary(null,!0)),this.finishNode(r,"AwaitExpression")}isAmbiguousAwait(){if(this.hasPrecedingLineBreak())return!0;let{type:t}=this.state;return t===53||t===10||t===0||ct(t)||t===101&&!this.state.containsEsc||t===135||t===56||this.hasPlugin("v8intrinsic")&&t===54}parseYield(){let t=this.startNode();this.expressionScope.recordParameterInitializerError(p.YieldInParameter,{at:t}),this.next();let r=!1,e=null;if(!this.hasPrecedingLineBreak())switch(r=this.eat(55),this.state.type){case 13:case 137:case 8:case 11:case 3:case 9:case 14:case 12:if(!r)break;default:e=this.parseMaybeAssign()}return t.delegate=r,t.argument=e,this.finishNode(t,"YieldExpression")}checkPipelineAtInfixOperator(t,r){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&t.type==="SequenceExpression"&&this.raise(p.PipelineHeadSequenceExpression,{at:r})}parseSmartPipelineBodyInStyle(t,r){if(this.isSimpleReference(t)){let e=this.startNodeAt(r);return e.callee=t,this.finishNode(e,"PipelineBareFunction")}else{let e=this.startNodeAt(r);return this.checkSmartPipeTopicBodyEarlyErrors(r),e.expression=t,this.finishNode(e,"PipelineTopicExpression")}}isSimpleReference(t){switch(t.type){case"MemberExpression":return!t.computed&&this.isSimpleReference(t.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(t){if(this.match(19))throw this.raise(p.PipelineBodyNoArrow,{at:this.state.startLoc});this.topicReferenceWasUsedInCurrentContext()||this.raise(p.PipelineTopicUnused,{at:t})}withTopicBindingContext(t){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}withSmartMixTopicForbiddingContext(t){if(this.hasPlugin(["pipelineOperator",{proposal:"smart"}])){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}else return t()}withSoloAwaitPermittingContext(t){let r=this.state.soloAwait;this.state.soloAwait=!0;try{return t()}finally{this.state.soloAwait=r}}allowInAnd(t){let r=this.prodParam.currentFlags();if(Ve&~r){this.prodParam.enter(r|Ve);try{return t()}finally{this.prodParam.exit()}}return t()}disallowInAnd(t){let r=this.prodParam.currentFlags();if(Ve&r){this.prodParam.enter(r&~Ve);try{return t()}finally{this.prodParam.exit()}}return t()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return this.state.topicContext.maxTopicIndex!=null&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){let r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;let e=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;let s=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),r,t);return this.state.inFSharpPipelineDirectBody=e,s}parseModuleExpression(){this.expectPlugin("moduleBlocks");let t=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);let r=this.startNodeAt(this.state.endLoc);this.next();let e=this.initializeScopes(!0);this.enterInitialScopes();try{t.body=this.parseProgram(r,8,"module")}finally{e()}return this.finishNode(t,"ModuleExpression")}parsePropertyNamePrefixOperator(t){}},xs={kind:"loop"},nh={kind:"switch"},oh=/[\uD800-\uDFFF]/u,gs=/in(?:stanceof)?/y;function lh(t,r){for(let e=0;e1&&arguments[1]!==void 0?arguments[1]:137,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.options.sourceType;if(t.sourceType=e,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,r),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let[i,a]of Array.from(this.scope.undefinedExports))this.raise(p.ModuleExportUndefined,{at:a,localName:i});let s;return r===137?s=this.finishNode(t,"Program"):s=this.finishNodeAt(t,"Program",re(this.state.startLoc,-1)),s}stmtToDirective(t){let r=t;r.type="Directive",r.value=r.expression,delete r.expression;let e=r.value,s=e.value,i=this.input.slice(e.start,e.end),a=e.value=i.slice(1,-1);return this.addExtra(e,"raw",i),this.addExtra(e,"rawValue",a),this.addExtra(e,"expressionValue",s),e.type="DirectiveLiteral",r}parseInterpreterDirective(){if(!this.match(28))return null;let t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(){return this.isContextual(99)?this.hasFollowingBindingAtom():!1}chStartsBindingIdentifier(t,r){if(Pe(t)){if(gs.lastIndex=r,gs.test(this.input)){let e=this.codePointAtPos(gs.lastIndex);if(!je(e)&&e!==92)return!1}return!0}else return t===92}chStartsBindingPattern(t){return t===91||t===123}hasFollowingBindingAtom(){let t=this.nextTokenStart(),r=this.codePointAtPos(t);return this.chStartsBindingPattern(r)||this.chStartsBindingIdentifier(r,t)}hasFollowingBindingIdentifier(){let t=this.nextTokenStart(),r=this.codePointAtPos(t);return this.chStartsBindingIdentifier(r,t)}startsUsingForOf(){let t=this.lookahead();return t.type===101&&!t.containsEsc?!1:(this.expectPlugin("explicitResourceManagement"),!0)}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=0;return this.options.annexB&&!this.state.strict&&(r|=4,t&&(r|=8)),this.parseStatementLike(r)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(t){let r=null;return this.match(26)&&(r=this.parseDecorators(!0)),this.parseStatementContent(t,r)}parseStatementContent(t,r){let e=this.state.type,s=this.startNode(),i=!!(t&2),a=!!(t&4),n=t&1;switch(e){case 60:return this.parseBreakContinueStatement(s,!0);case 63:return this.parseBreakContinueStatement(s,!1);case 64:return this.parseDebuggerStatement(s);case 90:return this.parseDoWhileStatement(s);case 91:return this.parseForStatement(s);case 68:if(this.lookaheadCharCode()===46)break;return a||this.raise(this.state.strict?p.StrictFunction:this.options.annexB?p.SloppyFunctionAnnexB:p.SloppyFunction,{at:this.state.startLoc}),this.parseFunctionStatement(s,!1,!i&&a);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(r,s),!0);case 69:return this.parseIfStatement(s);case 70:return this.parseReturnStatement(s);case 71:return this.parseSwitchStatement(s);case 72:return this.parseThrowStatement(s);case 73:return this.parseTryStatement(s);case 105:if(this.hasFollowingLineBreak()||this.state.containsEsc||!this.hasFollowingBindingIdentifier())break;return this.expectPlugin("explicitResourceManagement"),!this.scope.inModule&&this.scope.inTopLevel?this.raise(p.UnexpectedUsingDeclaration,{at:this.state.startLoc}):i||this.raise(p.UnexpectedLexicalDeclaration,{at:this.state.startLoc}),this.parseVarStatement(s,"using");case 99:{if(this.state.containsEsc)break;let c=this.nextTokenStart(),y=this.codePointAtPos(c);if(y!==91&&(!i&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(y,c)&&y!==123))break}case 75:i||this.raise(p.UnexpectedLexicalDeclaration,{at:this.state.startLoc});case 74:{let c=this.state.value;return this.parseVarStatement(s,c)}case 92:return this.parseWhileStatement(s);case 76:return this.parseWithStatement(s);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(s);case 83:{let c=this.lookaheadCharCode();if(c===40||c===46)break}case 82:{!this.options.allowImportExportEverywhere&&!n&&this.raise(p.UnexpectedImportExport,{at:this.state.startLoc}),this.next();let c;return e===83?(c=this.parseImport(s),c.type==="ImportDeclaration"&&(!c.importKind||c.importKind==="value")&&(this.sawUnambiguousESM=!0)):(c=this.parseExport(s,r),(c.type==="ExportNamedDeclaration"&&(!c.exportKind||c.exportKind==="value")||c.type==="ExportAllDeclaration"&&(!c.exportKind||c.exportKind==="value")||c.type==="ExportDefaultDeclaration")&&(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(c),c}default:if(this.isAsyncFunction())return i||this.raise(p.AsyncFunctionInSingleStatementContext,{at:this.state.startLoc}),this.next(),this.parseFunctionStatement(s,!0,!i&&a)}let o=this.state.value,u=this.parseExpression();return R(e)&&u.type==="Identifier"&&this.eat(14)?this.parseLabeledStatement(s,o,u,t):this.parseExpressionStatement(s,u,r)}assertModuleNodeAllowed(t){!this.options.allowImportExportEverywhere&&!this.inModule&&this.raise(p.ImportOutsideModule,{at:t})}decoratorsEnabledBeforeExport(){return this.hasPlugin("decorators-legacy")?!0:this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")!==!1}maybeTakeDecorators(t,r,e){return t&&(r.decorators&&r.decorators.length>0?(typeof this.getPluginOption("decorators","decoratorsBeforeExport")!="boolean"&&this.raise(p.DecoratorsBeforeAfterExport,{at:r.decorators[0]}),r.decorators.unshift(...t)):r.decorators=t,this.resetStartLocationFromNode(r,t[0]),e&&this.resetStartLocationFromNode(e,r)),r}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(t){let r=[];do r.push(this.parseDecorator());while(this.match(26));if(this.match(82))t||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(p.DecoratorExportClass,{at:this.state.startLoc});else if(!this.canHaveLeadingDecorator())throw this.raise(p.UnexpectedLeadingDecorator,{at:this.state.startLoc});return r}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);let t=this.startNode();if(this.next(),this.hasPlugin("decorators")){let r=this.state.startLoc,e;if(this.match(10)){let s=this.state.startLoc;this.next(),e=this.parseExpression(),this.expect(11),e=this.wrapParenthesis(s,e);let i=this.state.startLoc;t.expression=this.parseMaybeDecoratorArguments(e),this.getPluginOption("decorators","allowCallParenthesized")===!1&&t.expression!==e&&this.raise(p.DecoratorArgumentsOutsideParentheses,{at:i})}else{for(e=this.parseIdentifier(!1);this.eat(16);){let s=this.startNodeAt(r);s.object=e,this.match(136)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),s.computed=!1,e=this.finishNode(s,"MemberExpression")}t.expression=this.parseMaybeDecoratorArguments(e)}}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(10)){let r=this.startNodeAtNode(t);return r.callee=t,r.arguments=this.parseCallExpressionArguments(11,!1),this.toReferencedList(r.arguments),this.finishNode(r,"CallExpression")}return t}parseBreakContinueStatement(t,r){return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,r),this.finishNode(t,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,r){let e;for(e=0;ethis.parseStatement()),this.state.labels.pop(),this.expect(92),t.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(xs);let r=null;if(this.isAwaitAllowed()&&this.eatContextual(96)&&(r=this.state.lastTokStartLoc),this.scope.enter(qe),this.expect(10),this.match(13))return r!==null&&this.unexpected(r),this.parseFor(t,null);let e=this.isContextual(99),s=this.isContextual(105)&&!this.hasFollowingLineBreak(),i=e&&this.hasFollowingBindingAtom()||s&&this.hasFollowingBindingIdentifier()&&this.startsUsingForOf();if(this.match(74)||this.match(75)||i){let c=this.startNode(),y=this.state.value;this.next(),this.parseVar(c,!0,y);let g=this.finishNode(c,"VariableDeclaration"),T=this.match(58);return T&&s&&this.raise(p.ForInUsing,{at:g}),(T||this.isContextual(101))&&g.declarations.length===1?this.parseForIn(t,g,r):(r!==null&&this.unexpected(r),this.parseFor(t,g))}let a=this.isContextual(95),n=new wt,o=this.parseExpression(!0,n),u=this.isContextual(101);if(u&&(e&&this.raise(p.ForOfLet,{at:o}),r===null&&a&&o.type==="Identifier"&&this.raise(p.ForOfAsync,{at:o})),u||this.match(58)){this.checkDestructuringPrivate(n),this.toAssignable(o,!0);let c=u?"ForOfStatement":"ForInStatement";return this.checkLVal(o,{in:{type:c}}),this.parseForIn(t,o,r)}else this.checkExpressionErrors(n,!0);return r!==null&&this.unexpected(r),this.parseFor(t,o)}parseFunctionStatement(t,r,e){return this.next(),this.parseFunction(t,1|(e?2:0)|(r?8:0))}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),t.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return!this.prodParam.hasReturn&&!this.options.allowReturnOutsideFunction&&this.raise(p.IllegalReturn,{at:this.state.startLoc}),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();let r=t.cases=[];this.expect(5),this.state.labels.push(nh),this.scope.enter(qe);let e;for(let s;!this.match(8);)if(this.match(61)||this.match(65)){let i=this.match(61);e&&this.finishNode(e,"SwitchCase"),r.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(s&&this.raise(p.MultipleDefaultsInSwitch,{at:this.state.lastTokStartLoc}),s=!0,e.test=null),this.expect(14)}else e?e.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(p.NewlineAfterThrow,{at:this.state.lastTokEndLoc}),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseCatchClauseParam(){let t=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&t.type==="Identifier"?Er:0),this.checkLVal(t,{in:{type:"CatchClause"},binding:Qo}),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(62)){let r=this.startNode();this.next(),this.match(10)?(this.expect(10),r.param=this.parseCatchClauseParam(),this.expect(11)):(r.param=null,this.scope.enter(qe)),r.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(r,"CatchClause")}return t.finalizer=this.eat(67)?this.parseBlock():null,!t.handler&&!t.finalizer&&this.raise(p.NoCatchOrFinally,{at:t}),this.finishNode(t,"TryStatement")}parseVarStatement(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.next(),this.parseVar(t,!1,r,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(xs),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(p.StrictWith,{at:this.state.startLoc}),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,r,e,s){for(let a of this.state.labels)a.name===r&&this.raise(p.LabelRedeclaration,{at:e,labelName:r});let i=oe(this.state.type)?"loop":this.match(71)?"switch":null;for(let a=this.state.labels.length-1;a>=0;a--){let n=this.state.labels[a];if(n.statementStart===t.start)n.statementStart=this.state.start,n.kind=i;else break}return this.state.labels.push({name:r,kind:i,statementStart:this.state.start}),t.body=s&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),t.label=e,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,r,e){return t.expression=r,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,e=arguments.length>2?arguments[2]:void 0,s=this.startNode();return t&&this.state.strictErrors.clear(),this.expect(5),r&&this.scope.enter(qe),this.parseBlockBody(s,t,!1,8,e),r&&this.scope.exit(),this.finishNode(s,"BlockStatement")}isValidDirective(t){return t.type==="ExpressionStatement"&&t.expression.type==="StringLiteral"&&!t.expression.extra.parenthesized}parseBlockBody(t,r,e,s,i){let a=t.body=[],n=t.directives=[];this.parseBlockOrModuleBlockBody(a,r?n:void 0,e,s,i)}parseBlockOrModuleBlockBody(t,r,e,s,i){let a=this.state.strict,n=!1,o=!1;for(;!this.match(s);){let u=e?this.parseModuleItem():this.parseStatementListItem();if(r&&!o){if(this.isValidDirective(u)){let c=this.stmtToDirective(u);r.push(c),!n&&c.value.value==="use strict"&&(n=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}t.push(u)}i&&i.call(this,n),a||this.setStrict(!1),this.next()}parseFor(t,r){return t.init=r,this.semicolon(!1),t.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),t.update=this.match(11)?null:this.parseExpression(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,r,e){let s=this.match(58);return this.next(),s?e!==null&&this.unexpected(e):t.await=e!==null,r.type==="VariableDeclaration"&&r.declarations[0].init!=null&&(!s||!this.options.annexB||this.state.strict||r.kind!=="var"||r.declarations[0].id.type!=="Identifier")&&this.raise(p.ForInOfLoopInitializer,{at:r,type:s?"ForInStatement":"ForOfStatement"}),r.type==="AssignmentPattern"&&this.raise(p.InvalidLhs,{at:r,ancestor:{type:"ForStatement"}}),t.left=r,t.right=s?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")}parseVar(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=t.declarations=[];for(t.kind=e;;){let a=this.startNode();if(this.parseVarId(a,e),a.init=this.eat(29)?r?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,a.init===null&&!s&&(a.id.type!=="Identifier"&&!(r&&(this.match(58)||this.isContextual(101)))?this.raise(p.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:"destructuring"}):e==="const"&&!(this.match(58)||this.isContextual(101))&&this.raise(p.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:"const"})),i.push(this.finishNode(a,"VariableDeclarator")),!this.eat(12))break}return t}parseVarId(t,r){r==="using"&&!this.inModule&&this.match(96)&&this.raise(p.AwaitInUsingBinding,{at:this.state.startLoc});let e=this.parseBindingAtom();this.checkLVal(e,{in:{type:"VariableDeclarator"},binding:r==="var"?At:He}),t.id=e}parseAsyncFunctionExpression(t){return this.parseFunction(t,8)}parseFunction(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=r&2,s=!!(r&1),i=s&&!(r&4),a=!!(r&8);this.initFunction(t,a),this.match(55)&&(e&&this.raise(p.GeneratorInSingleStatementContext,{at:this.state.startLoc}),this.next(),t.generator=!0),s&&(t.id=this.parseFunctionId(i));let n=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(Ae),this.prodParam.enter(St(a,t.generator)),s||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,s?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),s&&!e&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=n,t}parseFunctionId(t){return t||R(this.state.type)?this.parseIdentifier():null}parseFunctionParams(t,r){this.expect(10),this.expressionScope.enter(wl()),t.params=this.parseBindingList(11,41,2|(r?4:0)),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,!this.options.annexB||this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?At:He:Ir,t.id.loc.start)}parseClass(t,r,e){this.next();let s=this.state.strict;return this.state.strict=!0,this.parseClassId(t,r,e),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,s),this.finishNode(t,r?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}isNonstaticConstructor(t){return!t.computed&&!t.static&&(t.key.name==="constructor"||t.key.value==="constructor")}parseClassBody(t,r){this.classScope.enter();let e={hadConstructor:!1,hadSuperClass:t},s=[],i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(s.length>0)throw this.raise(p.DecoratorSemicolon,{at:this.state.lastTokEndLoc});continue}if(this.match(26)){s.push(this.parseDecorator());continue}let a=this.startNode();s.length&&(a.decorators=s,this.resetStartLocationFromNode(a,s[0]),s=[]),this.parseClassMember(i,a,e),a.kind==="constructor"&&a.decorators&&a.decorators.length>0&&this.raise(p.DecoratorConstructor,{at:a})}}),this.state.strict=r,this.next(),s.length)throw this.raise(p.TrailingDecorator,{at:this.state.startLoc});return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(t,r){let e=this.parseIdentifier(!0);if(this.isClassMethod()){let s=r;return s.kind="method",s.computed=!1,s.key=e,s.static=!1,this.pushClassMethod(t,s,!1,!1,!1,!1),!0}else if(this.isClassProperty()){let s=r;return s.computed=!1,s.key=e,s.static=!1,t.body.push(this.parseClassProperty(s)),!0}return this.resetPreviousNodeTrailingComments(e),!1}parseClassMember(t,r,e){let s=this.isContextual(104);if(s){if(this.parseClassMemberFromModifier(t,r))return;if(this.eat(5)){this.parseClassStaticBlock(t,r);return}}this.parseClassMemberWithIsStatic(t,r,e,s)}parseClassMemberWithIsStatic(t,r,e,s){let i=r,a=r,n=r,o=r,u=r,c=i,y=i;if(r.static=s,this.parsePropertyNamePrefixOperator(r),this.eat(55)){c.kind="method";let q=this.match(136);if(this.parseClassElementName(c),q){this.pushClassPrivateMethod(t,a,!0,!1);return}this.isNonstaticConstructor(i)&&this.raise(p.ConstructorIsGenerator,{at:i.key}),this.pushClassMethod(t,i,!0,!1,!1,!1);return}let g=R(this.state.type)&&!this.state.containsEsc,T=this.match(136),C=this.parseClassElementName(r),j=this.state.startLoc;if(this.parsePostMemberNameModifiers(y),this.isClassMethod()){if(c.kind="method",T){this.pushClassPrivateMethod(t,a,!1,!1);return}let q=this.isNonstaticConstructor(i),G=!1;q&&(i.kind="constructor",e.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(p.DuplicateConstructor,{at:C}),q&&this.hasPlugin("typescript")&&r.override&&this.raise(p.OverrideOnConstructor,{at:C}),e.hadConstructor=!0,G=e.hadSuperClass),this.pushClassMethod(t,i,!1,!1,q,G)}else if(this.isClassProperty())T?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,n);else if(g&&C.name==="async"&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(C);let q=this.eat(55);y.optional&&this.unexpected(j),c.kind="method";let G=this.match(136);this.parseClassElementName(c),this.parsePostMemberNameModifiers(y),G?this.pushClassPrivateMethod(t,a,q,!0):(this.isNonstaticConstructor(i)&&this.raise(p.ConstructorIsAsync,{at:i.key}),this.pushClassMethod(t,i,q,!0,!1,!1))}else if(g&&(C.name==="get"||C.name==="set")&&!(this.match(55)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(C),c.kind=C.name;let q=this.match(136);this.parseClassElementName(i),q?this.pushClassPrivateMethod(t,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(p.ConstructorIsAccessor,{at:i.key}),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else if(g&&C.name==="accessor"&&!this.isLineTerminator()){this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(C);let q=this.match(136);this.parseClassElementName(n),this.pushClassAccessorProperty(t,u,q)}else this.isLineTerminator()?T?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,n):this.unexpected()}parseClassElementName(t){let{type:r,value:e}=this.state;if((r===130||r===131)&&t.static&&e==="prototype"&&this.raise(p.StaticPrototype,{at:this.state.startLoc}),r===136){e==="constructor"&&this.raise(p.ConstructorClassPrivateField,{at:this.state.startLoc});let s=this.parsePrivateName();return t.key=s,s}return this.parsePropertyName(t)}parseClassStaticBlock(t,r){var e;this.scope.enter(Ne|mt|dt);let s=this.state.labels;this.state.labels=[],this.prodParam.enter(ze);let i=r.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=s,t.body.push(this.finishNode(r,"StaticBlock")),(e=r.decorators)!=null&&e.length&&this.raise(p.DecoratorStaticBlock,{at:r})}pushClassProperty(t,r){!r.computed&&(r.key.name==="constructor"||r.key.value==="constructor")&&this.raise(p.ConstructorClassField,{at:r.key}),t.body.push(this.parseClassProperty(r))}pushClassPrivateProperty(t,r){let e=this.parseClassPrivateProperty(r);t.body.push(e),this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),ls,e.key.loc.start)}pushClassAccessorProperty(t,r,e){if(!e&&!r.computed){let i=r.key;(i.name==="constructor"||i.value==="constructor")&&this.raise(p.ConstructorClassField,{at:i})}let s=this.parseClassAccessorProperty(r);t.body.push(s),e&&this.classScope.declarePrivateName(this.getPrivateNameSV(s.key),ls,s.key.loc.start)}pushClassMethod(t,r,e,s,i,a){t.body.push(this.parseMethod(r,e,s,i,a,"ClassMethod",!0))}pushClassPrivateMethod(t,r,e,s){let i=this.parseMethod(r,e,s,!1,!1,"ClassPrivateMethod",!0);t.body.push(i);let a=i.kind==="get"?i.static?al:ol:i.kind==="set"?i.static?nl:ll:ls;this.declareClassPrivateMethodInScope(i,a)}declareClassPrivateMethodInScope(t,r){this.classScope.declarePrivateName(this.getPrivateNameSV(t.key),r,t.key.loc.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassProperty")}parseClassAccessorProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassAccessorProperty")}parseInitializer(t){this.scope.enter(Ne|dt),this.expressionScope.enter($r()),this.prodParam.enter(ze),t.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:wr;if(R(this.state.type))t.id=this.parseIdentifier(),r&&this.declareNameFromIdentifier(t.id,s);else if(e||!r)t.id=null;else throw this.raise(p.MissingClassName,{at:this.state.startLoc})}parseClassSuper(t){t.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(t,r){let e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(12),i=s&&this.eatExportStar(t),a=i&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!a||this.eat(12)),o=e||i;if(i&&!a){if(e&&this.unexpected(),r)throw this.raise(p.UnsupportedDecoratorExport,{at:t});return this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration")}let u=this.maybeParseExportNamedSpecifiers(t);e&&s&&!i&&!u&&this.unexpected(null,5),a&&n&&this.unexpected(null,97);let c;if(o||u){if(c=!1,r)throw this.raise(p.UnsupportedDecoratorExport,{at:t});this.parseExportFrom(t,o)}else c=this.maybeParseExportDeclaration(t);if(o||u||c){var y;let g=t;if(this.checkExport(g,!0,!1,!!g.source),((y=g.declaration)==null?void 0:y.type)==="ClassDeclaration")this.maybeTakeDecorators(r,g.declaration,g);else if(r)throw this.raise(p.UnsupportedDecoratorExport,{at:t});return this.finishNode(g,"ExportNamedDeclaration")}if(this.eat(65)){let g=t,T=this.parseExportDefaultExpression();if(g.declaration=T,T.type==="ClassDeclaration")this.maybeTakeDecorators(r,T,g);else if(r)throw this.raise(p.UnsupportedDecoratorExport,{at:t});return this.checkExport(g,!0,!0),this.finishNode(g,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(t){return this.eat(55)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");let r=this.startNode();return r.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual(93)){t.specifiers||(t.specifiers=[]);let r=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),r.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(r,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){if(this.match(5)){t.specifiers||(t.specifiers=[]);let r=t.exportKind==="type";return t.specifiers.push(...this.parseExportSpecifiers(r)),t.source=null,t.declaration=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),!0}return!1}maybeParseExportDeclaration(t){return this.shouldParseExportDeclaration()?(t.specifiers=[],t.source=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),t.declaration=this.parseExportDeclaration(t),!0):!1}isAsyncFunction(){if(!this.isContextual(95))return!1;let t=this.nextTokenStart();return!cs.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){let t=this.startNode();if(this.match(68))return this.next(),this.parseFunction(t,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(t,13);if(this.match(80))return this.parseClass(t,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(p.DecoratorBeforeExport,{at:this.state.startLoc}),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet())throw this.raise(p.UnsupportedDefaultExport,{at:this.state.startLoc});let r=this.parseMaybeAssignAllowIn();return this.semicolon(),r}parseExportDeclaration(t){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:t}=this.state;if(R(t)){if(t===95&&!this.state.containsEsc||t===99)return!1;if((t===128||t===127)&&!this.state.containsEsc){let{type:s}=this.lookahead();if(R(s)&&s!==97||s===5)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;let r=this.nextTokenStart(),e=this.isUnparsedContextual(r,"from");if(this.input.charCodeAt(r)===44||R(this.state.type)&&e)return!0;if(this.match(65)&&e){let s=this.input.charCodeAt(this.nextTokenStartSince(r+4));return s===34||s===39}return!1}parseExportFrom(t,r){if(this.eatContextual(97)){t.source=this.parseImportSource(),this.checkExport(t);let e=this.maybeParseImportAssertions();e&&(t.assertions=e,this.checkJSONModuleImport(t))}else r&&this.unexpected();this.semicolon()}shouldParseExportDeclaration(){let{type:t}=this.state;return t===26&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(p.DecoratorBeforeExport,{at:this.state.startLoc}),!0):t===74||t===75||t===68||t===80||this.isLet()||this.isAsyncFunction()}checkExport(t,r,e,s){if(r){if(e){if(this.checkDuplicateExports(t,"default"),this.hasPlugin("exportDefaultFrom")){var i;let a=t.declaration;a.type==="Identifier"&&a.name==="from"&&a.end-a.start===4&&!((i=a.extra)!=null&&i.parenthesized)&&this.raise(p.ExportDefaultFromAsIdentifier,{at:a})}}else if(t.specifiers&&t.specifiers.length)for(let a of t.specifiers){let{exported:n}=a,o=n.type==="Identifier"?n.name:n.value;if(this.checkDuplicateExports(a,o),!s&&a.local){let{local:u}=a;u.type!=="Identifier"?this.raise(p.ExportBindingIsString,{at:a,localName:u.value,exportName:o}):(this.checkReservedWord(u.name,u.loc.start,!0,!1),this.scope.checkLocalExport(u))}}else if(t.declaration){if(t.declaration.type==="FunctionDeclaration"||t.declaration.type==="ClassDeclaration"){let a=t.declaration.id;if(!a)throw new Error("Assertion failure");this.checkDuplicateExports(t,a.name)}else if(t.declaration.type==="VariableDeclaration")for(let a of t.declaration.declarations)this.checkDeclaration(a.id)}}}checkDeclaration(t){if(t.type==="Identifier")this.checkDuplicateExports(t,t.name);else if(t.type==="ObjectPattern")for(let r of t.properties)this.checkDeclaration(r);else if(t.type==="ArrayPattern")for(let r of t.elements)r&&this.checkDeclaration(r);else t.type==="ObjectProperty"?this.checkDeclaration(t.value):t.type==="RestElement"?this.checkDeclaration(t.argument):t.type==="AssignmentPattern"&&this.checkDeclaration(t.left)}checkDuplicateExports(t,r){this.exportedIdentifiers.has(r)&&(r==="default"?this.raise(p.DuplicateDefaultExport,{at:t}):this.raise(p.DuplicateExport,{at:t,exportName:r})),this.exportedIdentifiers.add(r)}parseExportSpecifiers(t){let r=[],e=!0;for(this.expect(5);!this.eat(8);){if(e)e=!1;else if(this.expect(12),this.eat(8))break;let s=this.isContextual(128),i=this.match(131),a=this.startNode();a.local=this.parseModuleExportName(),r.push(this.parseExportSpecifier(a,i,t,s))}return r}parseExportSpecifier(t,r,e,s){return this.eatContextual(93)?t.exported=this.parseModuleExportName():r?t.exported=Ll(t.local):t.exported||(t.exported=Te(t.local)),this.finishNode(t,"ExportSpecifier")}parseModuleExportName(){if(this.match(131)){let t=this.parseStringLiteral(this.state.value),r=t.value.match(oh);return r&&this.raise(p.ModuleExportNameHasLoneSurrogate,{at:t,surrogateCharCode:r[0].charCodeAt(0)}),t}return this.parseIdentifier(!0)}isJSONModuleImport(t){return t.assertions!=null?t.assertions.some(r=>{let{key:e,value:s}=r;return s.value==="json"&&(e.type==="Identifier"?e.name==="type":e.value==="type")}):!1}checkImportReflection(t){if(t.module){var r;(t.specifiers.length!==1||t.specifiers[0].type!=="ImportDefaultSpecifier")&&this.raise(p.ImportReflectionNotBinding,{at:t.specifiers[0].loc.start}),((r=t.assertions)==null?void 0:r.length)>0&&this.raise(p.ImportReflectionHasAssertion,{at:t.specifiers[0].loc.start})}}checkJSONModuleImport(t){if(this.isJSONModuleImport(t)&&t.type!=="ExportAllDeclaration"){let{specifiers:r}=t;if(r!=null){let e=r.find(s=>{let i;if(s.type==="ExportSpecifier"?i=s.local:s.type==="ImportSpecifier"&&(i=s.imported),i!==void 0)return i.type==="Identifier"?i.name!=="default":i.value!=="default"});e!==void 0&&this.raise(p.ImportJSONBindingNotDefault,{at:e.loc.start})}}}parseMaybeImportReflection(t){let r=!1;if(this.isContextual(125)){let e=this.lookahead(),s=e.type;R(s)?(s!==97||this.input.charCodeAt(this.nextTokenStartSince(e.end))===102)&&(r=!0):s!==12&&(r=!0)}r?(this.expectPlugin("importReflection"),this.next(),t.module=!0):this.hasPlugin("importReflection")&&(t.module=!1)}parseImport(t){if(t.specifiers=[],!this.match(131)){this.parseMaybeImportReflection(t);let s=!this.maybeParseDefaultImportSpecifier(t)||this.eat(12),i=s&&this.maybeParseStarImportSpecifier(t);s&&!i&&this.parseNamedImportSpecifiers(t),this.expectContextual(97)}t.source=this.parseImportSource();let r=this.maybeParseImportAssertions();if(r)t.assertions=r;else{let e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.checkImportReflection(t),this.checkJSONModuleImport(t),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(131)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return R(this.state.type)}parseImportSpecifierLocal(t,r,e){r.local=this.parseIdentifier(),t.specifiers.push(this.finishImportSpecifier(r,e))}finishImportSpecifier(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:He;return this.checkLVal(t.local,{in:{type:r},binding:e}),this.finishNode(t,r)}parseAssertEntries(){let t=[],r=new Set;do{if(this.match(8))break;let e=this.startNode(),s=this.state.value;if(r.has(s)&&this.raise(p.ModuleAttributesWithDuplicateKeys,{at:this.state.startLoc,key:s}),r.add(s),this.match(131)?e.key=this.parseStringLiteral(s):e.key=this.parseIdentifier(!0),this.expect(14),!this.match(131))throw this.raise(p.ModuleAttributeInvalidValue,{at:this.state.startLoc});e.value=this.parseStringLiteral(this.state.value),t.push(this.finishNode(e,"ImportAttribute"))}while(this.eat(12));return t}maybeParseModuleAttributes(){if(this.match(76)&&!this.hasPrecedingLineBreak())this.expectPlugin("moduleAttributes"),this.next();else return this.hasPlugin("moduleAttributes")?[]:null;let t=[],r=new Set;do{let e=this.startNode();if(e.key=this.parseIdentifier(!0),e.key.name!=="type"&&this.raise(p.ModuleAttributeDifferentFromType,{at:e.key}),r.has(e.key.name)&&this.raise(p.ModuleAttributesWithDuplicateKeys,{at:e.key,key:e.key.name}),r.add(e.key.name),this.expect(14),!this.match(131))throw this.raise(p.ModuleAttributeInvalidValue,{at:this.state.startLoc});e.value=this.parseStringLiteral(this.state.value),this.finishNode(e,"ImportAttribute"),t.push(e)}while(this.eat(12));return t}maybeParseImportAssertions(){if(this.isContextual(94)&&!this.hasPrecedingLineBreak())this.expectPlugin("importAssertions"),this.next();else return this.hasPlugin("importAssertions")?[]:null;this.eat(5);let t=this.parseAssertEntries();return this.eat(8),t}maybeParseDefaultImportSpecifier(t){return this.shouldParseDefaultImport(t)?(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier"),!0):!1}maybeParseStarImportSpecifier(t){if(this.match(55)){let r=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(t,r,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(t){let r=!0;for(this.expect(5);!this.eat(8);){if(r)r=!1;else{if(this.eat(14))throw this.raise(p.DestructureNamedImport,{at:this.state.startLoc});if(this.expect(12),this.eat(8))break}let e=this.startNode(),s=this.match(131),i=this.isContextual(128);e.imported=this.parseModuleExportName();let a=this.parseImportSpecifier(e,s,t.importKind==="type"||t.importKind==="typeof",i,void 0);t.specifiers.push(a)}}parseImportSpecifier(t,r,e,s,i){if(this.eatContextual(93))t.local=this.parseIdentifier();else{let{imported:a}=t;if(r)throw this.raise(p.ImportBindingIsString,{at:t,importName:a.value});this.checkReservedWord(a.name,t.loc.start,!0,!0),t.local||(t.local=Te(a))}return this.finishImportSpecifier(t,"ImportSpecifier",i)}isThisParam(t){return t.type==="Identifier"&&t.name==="this"}},si=class extends hh{constructor(t,r){t=f(t),super(t,r),this.options=t,this.initializeScopes(),this.plugins=uh(this.options.plugins),this.filename=t.sourceFilename}getScopeHandler(){return us}parse(){this.enterInitialScopes();let t=this.startNode(),r=this.startNode();return this.nextToken(),t.errors=null,this.parseTopLevel(t,r),t.errors=this.state.errors,t}};function uh(t){let r=new Map;for(let e of t){let[s,i]=Array.isArray(e)?e:[e,{}];r.has(s)||r.set(s,i||{})}return r}function ch(t,r){var e;if(((e=r)==null?void 0:e.sourceType)==="unambiguous"){r=Object.assign({},r);try{r.sourceType="module";let s=tt(r,t),i=s.parse();if(s.sawUnambiguousESM)return i;if(s.ambiguousScriptDifferentAst)try{return r.sourceType="script",tt(r,t).parse()}catch{}else i.program.sourceType="script";return i}catch(s){try{return r.sourceType="script",tt(r,t).parse()}catch{}throw s}}else return tt(r,t).parse()}function ph(t,r){let e=tt(r,t);return e.options.strictMode&&(e.state.strict=!0),e.getExpression()}function fh(t){let r={};for(let e of Object.keys(t))r[e]=xe(t[e]);return r}var dh=fh(te);function tt(t,r){let e=si;return t!=null&&t.plugins&&(rh(t.plugins),e=mh(t.plugins)),new e(t,r)}var ri={};function mh(t){let r=ih.filter(i=>Q(t,i)),e=r.join("/"),s=ri[e];if(!s){s=si;for(let i of r)s=ti[i](s);ri[e]=s}return s}l.parse=ch,l.parseExpression=ph,l.tokTypes=dh}}),_f=$({"src/language-js/parse/json.js"(l,h){"use strict";U();var f=bo(),d=dr(),x=wo(),P=Io();function m(){let N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{allowComments:O=!0}=N;return function(_){let{parseExpression:W}=No(),I;try{I=W(_,{tokens:!0,ranges:!0})}catch(F){throw P(F)}if(!O&&f(I.comments))throw E(I.comments[0],"Comment");return S(I),I}}function E(N,O){let[A,_]=[N.loc.start,N.loc.end].map(W=>{let{line:I,column:F}=W;return{line:I,column:F+1}});return d(`${O} is not allowed in JSON.`,{start:A,end:_})}function S(N){switch(N.type){case"ArrayExpression":for(let O of N.elements)O!==null&&S(O);return;case"ObjectExpression":for(let O of N.properties)S(O);return;case"ObjectProperty":if(N.computed)throw E(N.key,"Computed key");if(N.shorthand)throw E(N.key,"Shorthand property");N.key.type!=="Identifier"&&S(N.key),S(N.value);return;case"UnaryExpression":{let{operator:O,argument:A}=N;if(O!=="+"&&O!=="-")throw E(N,`Operator '${N.operator}'`);if(A.type==="NumericLiteral"||A.type==="Identifier"&&(A.name==="Infinity"||A.name==="NaN"))return;throw E(A,`Operator '${O}' before '${A.type}'`)}case"Identifier":if(N.name!=="Infinity"&&N.name!=="NaN"&&N.name!=="undefined")throw E(N,`Identifier '${N.name}'`);return;case"TemplateLiteral":if(f(N.expressions))throw E(N.expressions[0],"'TemplateLiteral' with expression");for(let O of N.quasis)S(O);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw E(N,`'${N.type}'`)}}var k=m(),L={json:x({parse:k,hasPragma(){return!0}}),json5:x(k),"json-stringify":x({parse:m({allowComments:!1}),astFormat:"estree-json"})};h.exports=L}}),Rf=$({"src/language-js/parse/babel.js"(l,h){U();var f=xf(),d=ho(),x=Tf(),P=wo(),m=Io(),E=Mf(),S=_f(),k={sourceType:"module",allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","partialApplication",["decorators",{decoratorsBeforeExport:!1}],"importAssertions","decimal","moduleBlocks","asyncDoExpressions","regexpUnicodeSets","destructuringPrivate","decoratorAutoAccessors"],tokens:!0,ranges:!0},L=["recordAndTuple",{syntaxType:"hash"}],N="v8intrinsic",O=[["pipelineOperator",{proposal:"hack",topicToken:"%"}],["pipelineOperator",{proposal:"minimal"}],["pipelineOperator",{proposal:"fsharp"}]],A=function(H){let X=arguments.length>1&&arguments[1]!==void 0?arguments[1]:k;return Object.assign(Object.assign({},X),{},{plugins:[...X.plugins,...H]})},_=/@(?:no)?flow\b/;function W(H,X){if(X.filepath&&X.filepath.endsWith(".js.flow"))return!0;let ye=d(H);ye&&(H=H.slice(ye.length));let ne=x(H,0);return ne!==!1&&(H=H.slice(0,ne)),_.test(H)}function I(H,X,ye){let ne=No()[H],oe=ne(X,ye),Ee=oe.errors.find(le=>!te.has(le.reasonCode));if(Ee)throw Ee;return oe}function F(H){for(var X=arguments.length,ye=new Array(X>1?X-1:0),ne=1;ne2&&arguments[2]!==void 0?arguments[2]:{};if((le.parser==="babel"||le.parser==="__babel_estree")&&W(oe,le))return le.parser="babel-flow",M(oe,Ee,le);let ue=ye;le.__babelSourceType==="script"&&(ue=ue.map(Y=>Object.assign(Object.assign({},Y),{},{sourceType:"script"}))),/#[[{]/.test(oe)&&(ue=ue.map(Y=>A([L],Y)));let ht=/%[A-Z]/.test(oe);oe.includes("|>")?ue=(ht?[...O,N]:O).flatMap(Re=>ue.map(Gt=>A([Re],Gt))):ht&&(ue=ue.map(Y=>A([N],Y)));let{result:ut,error:Wt}=f(...ue.map(Y=>()=>I(H,oe,Y)));if(!ut)throw m(Wt);return le.originalText=oe,E(ut,le)}}var z=F("parse",A(["jsx","flow"])),M=F("parse",A(["jsx",["flow",{all:!0,enums:!0}]])),V=F("parse",A(["jsx","typescript"]),A(["typescript"])),ee=F("parse",A(["jsx","flow","estree"])),b=F("parseExpression",A(["jsx"])),B=F("parseExpression",A(["typescript"])),te=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","StrictDelete","StrictEvalArguments","StrictEvalArgumentsBinding","StrictFunction","EmptyTypeArguments","EmptyTypeParameters","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","UnexpectedParameterModifier","MixedLabeledAndUnlabeledElements","InvalidTupleMemberLabel","NonClassMethodPropertyHasAbstractModifer","ReadonlyForMethodSignature","ClassMethodHasDeclare","ClassMethodHasReadonly","InvalidModifierOnTypeMember","DuplicateAccessibilityModifier","IndexSignatureHasDeclare","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","LineTerminatorBeforeArrow","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","UnsupportedPropertyDecorator","OptionalTypeBeforeRequired","PatternIsOptional","OptionalBindingPattern","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","DeclareFunctionHasImplementation","ConstructorClassField","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport"]),R=P(z),ae=P(V),se=P(b),_e=P(B);h.exports={parsers:Object.assign(Object.assign({babel:R,"babel-flow":P(M),"babel-ts":ae},S),{},{__js_expression:se,__vue_expression:se,__vue_ts_expression:_e,__vue_event_binding:R,__vue_ts_event_binding:ae,__babel_estree:P(ee)})}}}),Tm=Rf();export{Tm as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-espree.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-espree.mjs deleted file mode 100644 index 0d910183b4..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-espree.mjs +++ /dev/null @@ -1,26 +0,0 @@ -var E=(a,u)=>()=>(u||a((u={exports:{}}).exports,u),u.exports);var oe=E((Qh,zr)=>{var Ye=function(a){return a&&a.Math==Math&&a};zr.exports=Ye(typeof globalThis=="object"&&globalThis)||Ye(typeof window=="object"&&window)||Ye(typeof self=="object"&&self)||Ye(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var me=E(($h,Gr)=>{Gr.exports=function(a){try{return!!a()}catch{return!0}}});var xe=E((Yh,Hr)=>{var fn=me();Hr.exports=!fn(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var bt=E((Zh,Kr)=>{var dn=me();Kr.exports=!dn(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var et=E((el,Xr)=>{var mn=bt(),Ze=Function.prototype.call;Xr.exports=mn?Ze.bind(Ze):function(){return Ze.apply(Ze,arguments)}});var Yr=E($r=>{"use strict";var Jr={}.propertyIsEnumerable,Qr=Object.getOwnPropertyDescriptor,vn=Qr&&!Jr.call({1:2},1);$r.f=vn?function(u){var o=Qr(this,u);return!!o&&o.enumerable}:Jr});var _t=E((rl,Zr)=>{Zr.exports=function(a,u){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:u}}});var ye=E((il,ri)=>{var ei=bt(),ti=Function.prototype,St=ti.call,gn=ei&&ti.bind.bind(St,St);ri.exports=ei?gn:function(a){return function(){return St.apply(a,arguments)}}});var ai=E((sl,si)=>{var ii=ye(),xn=ii({}.toString),yn=ii("".slice);si.exports=function(a){return yn(xn(a),8,-1)}});var ui=E((al,ni)=>{var An=ye(),Cn=me(),En=ai(),wt=Object,bn=An("".split);ni.exports=Cn(function(){return!wt("z").propertyIsEnumerable(0)})?function(a){return En(a)=="String"?bn(a,""):wt(a)}:wt});var kt=E((nl,oi)=>{oi.exports=function(a){return a==null}});var Ft=E((ul,hi)=>{var _n=kt(),Sn=TypeError;hi.exports=function(a){if(_n(a))throw Sn("Can't call method on "+a);return a}});var tt=E((ol,li)=>{var wn=ui(),kn=Ft();li.exports=function(a){return wn(kn(a))}});var It=E((hl,ci)=>{var Bt=typeof document=="object"&&document.all,Fn=typeof Bt>"u"&&Bt!==void 0;ci.exports={all:Bt,IS_HTMLDDA:Fn}});var le=E((ll,fi)=>{var pi=It(),Bn=pi.all;fi.exports=pi.IS_HTMLDDA?function(a){return typeof a=="function"||a===Bn}:function(a){return typeof a=="function"}});var Pe=E((cl,vi)=>{var di=le(),mi=It(),In=mi.all;vi.exports=mi.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:di(a)||a===In}:function(a){return typeof a=="object"?a!==null:di(a)}});var rt=E((pl,gi)=>{var Tt=oe(),Tn=le(),Pn=function(a){return Tn(a)?a:void 0};gi.exports=function(a,u){return arguments.length<2?Pn(Tt[a]):Tt[a]&&Tt[a][u]}});var yi=E((fl,xi)=>{var Dn=ye();xi.exports=Dn({}.isPrototypeOf)});var Ci=E((dl,Ai)=>{var Nn=rt();Ai.exports=Nn("navigator","userAgent")||""});var Fi=E((ml,ki)=>{var wi=oe(),Pt=Ci(),Ei=wi.process,bi=wi.Deno,_i=Ei&&Ei.versions||bi&&bi.version,Si=_i&&_i.v8,ce,it;Si&&(ce=Si.split("."),it=ce[0]>0&&ce[0]<4?1:+(ce[0]+ce[1]));!it&&Pt&&(ce=Pt.match(/Edge\/(\d+)/),(!ce||ce[1]>=74)&&(ce=Pt.match(/Chrome\/(\d+)/),ce&&(it=+ce[1])));ki.exports=it});var Dt=E((vl,Ii)=>{var Bi=Fi(),On=me();Ii.exports=!!Object.getOwnPropertySymbols&&!On(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Bi&&Bi<41})});var Nt=E((gl,Ti)=>{var Ln=Dt();Ti.exports=Ln&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ot=E((xl,Pi)=>{var Vn=rt(),Rn=le(),jn=yi(),qn=Nt(),Mn=Object;Pi.exports=qn?function(a){return typeof a=="symbol"}:function(a){var u=Vn("Symbol");return Rn(u)&&jn(u.prototype,Mn(a))}});var Ni=E((yl,Di)=>{var Un=String;Di.exports=function(a){try{return Un(a)}catch{return"Object"}}});var Li=E((Al,Oi)=>{var Wn=le(),zn=Ni(),Gn=TypeError;Oi.exports=function(a){if(Wn(a))return a;throw Gn(zn(a)+" is not a function")}});var Ri=E((Cl,Vi)=>{var Hn=Li(),Kn=kt();Vi.exports=function(a,u){var o=a[u];return Kn(o)?void 0:Hn(o)}});var qi=E((El,ji)=>{var Lt=et(),Vt=le(),Rt=Pe(),Xn=TypeError;ji.exports=function(a,u){var o,l;if(u==="string"&&Vt(o=a.toString)&&!Rt(l=Lt(o,a))||Vt(o=a.valueOf)&&!Rt(l=Lt(o,a))||u!=="string"&&Vt(o=a.toString)&&!Rt(l=Lt(o,a)))return l;throw Xn("Can't convert object to primitive value")}});var Ui=E((bl,Mi)=>{Mi.exports=!1});var st=E((_l,zi)=>{var Wi=oe(),Jn=Object.defineProperty;zi.exports=function(a,u){try{Jn(Wi,a,{value:u,configurable:!0,writable:!0})}catch{Wi[a]=u}return u}});var at=E((Sl,Hi)=>{var Qn=oe(),$n=st(),Gi="__core-js_shared__",Yn=Qn[Gi]||$n(Gi,{});Hi.exports=Yn});var jt=E((wl,Xi)=>{var Zn=Ui(),Ki=at();(Xi.exports=function(a,u){return Ki[a]||(Ki[a]=u!==void 0?u:{})})("versions",[]).push({version:"3.26.1",mode:Zn?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Qi=E((kl,Ji)=>{var eu=Ft(),tu=Object;Ji.exports=function(a){return tu(eu(a))}});var be=E((Fl,$i)=>{var ru=ye(),iu=Qi(),su=ru({}.hasOwnProperty);$i.exports=Object.hasOwn||function(u,o){return su(iu(u),o)}});var qt=E((Bl,Yi)=>{var au=ye(),nu=0,uu=Math.random(),ou=au(1 .toString);Yi.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+ou(++nu+uu,36)}});var ss=E((Il,is)=>{var hu=oe(),lu=jt(),Zi=be(),cu=qt(),es=Dt(),rs=Nt(),De=lu("wks"),we=hu.Symbol,ts=we&&we.for,pu=rs?we:we&&we.withoutSetter||cu;is.exports=function(a){if(!Zi(De,a)||!(es||typeof De[a]=="string")){var u="Symbol."+a;es&&Zi(we,a)?De[a]=we[a]:rs&&ts?De[a]=ts(u):De[a]=pu(u)}return De[a]}});var os=E((Tl,us)=>{var fu=et(),as=Pe(),ns=Ot(),du=Ri(),mu=qi(),vu=ss(),gu=TypeError,xu=vu("toPrimitive");us.exports=function(a,u){if(!as(a)||ns(a))return a;var o=du(a,xu),l;if(o){if(u===void 0&&(u="default"),l=fu(o,a,u),!as(l)||ns(l))return l;throw gu("Can't convert object to primitive value")}return u===void 0&&(u="number"),mu(a,u)}});var Mt=E((Pl,hs)=>{var yu=os(),Au=Ot();hs.exports=function(a){var u=yu(a,"string");return Au(u)?u:u+""}});var ps=E((Dl,cs)=>{var Cu=oe(),ls=Pe(),Ut=Cu.document,Eu=ls(Ut)&&ls(Ut.createElement);cs.exports=function(a){return Eu?Ut.createElement(a):{}}});var Wt=E((Nl,fs)=>{var bu=xe(),_u=me(),Su=ps();fs.exports=!bu&&!_u(function(){return Object.defineProperty(Su("div"),"a",{get:function(){return 7}}).a!=7})});var zt=E(ms=>{var wu=xe(),ku=et(),Fu=Yr(),Bu=_t(),Iu=tt(),Tu=Mt(),Pu=be(),Du=Wt(),ds=Object.getOwnPropertyDescriptor;ms.f=wu?ds:function(u,o){if(u=Iu(u),o=Tu(o),Du)try{return ds(u,o)}catch{}if(Pu(u,o))return Bu(!ku(Fu.f,u,o),u[o])}});var gs=E((Ll,vs)=>{var Nu=xe(),Ou=me();vs.exports=Nu&&Ou(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var nt=E((Vl,xs)=>{var Lu=Pe(),Vu=String,Ru=TypeError;xs.exports=function(a){if(Lu(a))return a;throw Ru(Vu(a)+" is not an object")}});var Me=E(As=>{var ju=xe(),qu=Wt(),Mu=gs(),ut=nt(),ys=Mt(),Uu=TypeError,Gt=Object.defineProperty,Wu=Object.getOwnPropertyDescriptor,Ht="enumerable",Kt="configurable",Xt="writable";As.f=ju?Mu?function(u,o,l){if(ut(u),o=ys(o),ut(l),typeof u=="function"&&o==="prototype"&&"value"in l&&Xt in l&&!l[Xt]){var v=Wu(u,o);v&&v[Xt]&&(u[o]=l.value,l={configurable:Kt in l?l[Kt]:v[Kt],enumerable:Ht in l?l[Ht]:v[Ht],writable:!1})}return Gt(u,o,l)}:Gt:function(u,o,l){if(ut(u),o=ys(o),ut(l),qu)try{return Gt(u,o,l)}catch{}if("get"in l||"set"in l)throw Uu("Accessors not supported");return"value"in l&&(u[o]=l.value),u}});var Jt=E((jl,Cs)=>{var zu=xe(),Gu=Me(),Hu=_t();Cs.exports=zu?function(a,u,o){return Gu.f(a,u,Hu(1,o))}:function(a,u,o){return a[u]=o,a}});var _s=E((ql,bs)=>{var Qt=xe(),Ku=be(),Es=Function.prototype,Xu=Qt&&Object.getOwnPropertyDescriptor,$t=Ku(Es,"name"),Ju=$t&&function(){}.name==="something",Qu=$t&&(!Qt||Qt&&Xu(Es,"name").configurable);bs.exports={EXISTS:$t,PROPER:Ju,CONFIGURABLE:Qu}});var ws=E((Ml,Ss)=>{var $u=ye(),Yu=le(),Yt=at(),Zu=$u(Function.toString);Yu(Yt.inspectSource)||(Yt.inspectSource=function(a){return Zu(a)});Ss.exports=Yt.inspectSource});var Bs=E((Ul,Fs)=>{var eo=oe(),to=le(),ks=eo.WeakMap;Fs.exports=to(ks)&&/native code/.test(String(ks))});var Ps=E((Wl,Ts)=>{var ro=jt(),io=qt(),Is=ro("keys");Ts.exports=function(a){return Is[a]||(Is[a]=io(a))}});var Zt=E((zl,Ds)=>{Ds.exports={}});var Vs=E((Gl,Ls)=>{var so=Bs(),Os=oe(),ao=Pe(),no=Jt(),er=be(),tr=at(),uo=Ps(),oo=Zt(),Ns="Object already initialized",rr=Os.TypeError,ho=Os.WeakMap,ot,Ue,ht,lo=function(a){return ht(a)?Ue(a):ot(a,{})},co=function(a){return function(u){var o;if(!ao(u)||(o=Ue(u)).type!==a)throw rr("Incompatible receiver, "+a+" required");return o}};so||tr.state?(pe=tr.state||(tr.state=new ho),pe.get=pe.get,pe.has=pe.has,pe.set=pe.set,ot=function(a,u){if(pe.has(a))throw rr(Ns);return u.facade=a,pe.set(a,u),u},Ue=function(a){return pe.get(a)||{}},ht=function(a){return pe.has(a)}):(ke=uo("state"),oo[ke]=!0,ot=function(a,u){if(er(a,ke))throw rr(Ns);return u.facade=a,no(a,ke,u),u},Ue=function(a){return er(a,ke)?a[ke]:{}},ht=function(a){return er(a,ke)});var pe,ke;Ls.exports={set:ot,get:Ue,has:ht,enforce:lo,getterFor:co}});var sr=E((Hl,js)=>{var po=me(),fo=le(),lt=be(),ir=xe(),mo=_s().CONFIGURABLE,vo=ws(),Rs=Vs(),go=Rs.enforce,xo=Rs.get,ct=Object.defineProperty,yo=ir&&!po(function(){return ct(function(){},"length",{value:8}).length!==8}),Ao=String(String).split("String"),Co=js.exports=function(a,u,o){String(u).slice(0,7)==="Symbol("&&(u="["+String(u).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),o&&o.getter&&(u="get "+u),o&&o.setter&&(u="set "+u),(!lt(a,"name")||mo&&a.name!==u)&&(ir?ct(a,"name",{value:u,configurable:!0}):a.name=u),yo&&o&<(o,"arity")&&a.length!==o.arity&&ct(a,"length",{value:o.arity});try{o&<(o,"constructor")&&o.constructor?ir&&ct(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var l=go(a);return lt(l,"source")||(l.source=Ao.join(typeof u=="string"?u:"")),a};Function.prototype.toString=Co(function(){return fo(this)&&xo(this).source||vo(this)},"toString")});var Ms=E((Kl,qs)=>{var Eo=le(),bo=Me(),_o=sr(),So=st();qs.exports=function(a,u,o,l){l||(l={});var v=l.enumerable,b=l.name!==void 0?l.name:u;if(Eo(o)&&_o(o,b,l),l.global)v?a[u]=o:So(u,o);else{try{l.unsafe?a[u]&&(v=!0):delete a[u]}catch{}v?a[u]=o:bo.f(a,u,{value:o,enumerable:!1,configurable:!l.nonConfigurable,writable:!l.nonWritable})}return a}});var Ws=E((Xl,Us)=>{var wo=Math.ceil,ko=Math.floor;Us.exports=Math.trunc||function(u){var o=+u;return(o>0?ko:wo)(o)}});var ar=E((Jl,zs)=>{var Fo=Ws();zs.exports=function(a){var u=+a;return u!==u||u===0?0:Fo(u)}});var Hs=E((Ql,Gs)=>{var Bo=ar(),Io=Math.max,To=Math.min;Gs.exports=function(a,u){var o=Bo(a);return o<0?Io(o+u,0):To(o,u)}});var Xs=E(($l,Ks)=>{var Po=ar(),Do=Math.min;Ks.exports=function(a){return a>0?Do(Po(a),9007199254740991):0}});var Qs=E((Yl,Js)=>{var No=Xs();Js.exports=function(a){return No(a.length)}});var Zs=E((Zl,Ys)=>{var Oo=tt(),Lo=Hs(),Vo=Qs(),$s=function(a){return function(u,o,l){var v=Oo(u),b=Vo(v),y=Lo(l,b),I;if(a&&o!=o){for(;b>y;)if(I=v[y++],I!=I)return!0}else for(;b>y;y++)if((a||y in v)&&v[y]===o)return a||y||0;return!a&&-1}};Ys.exports={includes:$s(!0),indexOf:$s(!1)}});var ra=E((ec,ta)=>{var Ro=ye(),nr=be(),jo=tt(),qo=Zs().indexOf,Mo=Zt(),ea=Ro([].push);ta.exports=function(a,u){var o=jo(a),l=0,v=[],b;for(b in o)!nr(Mo,b)&&nr(o,b)&&ea(v,b);for(;u.length>l;)nr(o,b=u[l++])&&(~qo(v,b)||ea(v,b));return v}});var sa=E((tc,ia)=>{ia.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var na=E(aa=>{var Uo=ra(),Wo=sa(),zo=Wo.concat("length","prototype");aa.f=Object.getOwnPropertyNames||function(u){return Uo(u,zo)}});var oa=E(ua=>{ua.f=Object.getOwnPropertySymbols});var la=E((sc,ha)=>{var Go=rt(),Ho=ye(),Ko=na(),Xo=oa(),Jo=nt(),Qo=Ho([].concat);ha.exports=Go("Reflect","ownKeys")||function(u){var o=Ko.f(Jo(u)),l=Xo.f;return l?Qo(o,l(u)):o}});var fa=E((ac,pa)=>{var ca=be(),$o=la(),Yo=zt(),Zo=Me();pa.exports=function(a,u,o){for(var l=$o(u),v=Zo.f,b=Yo.f,y=0;y{var eh=me(),th=le(),rh=/#|\.prototype\./,We=function(a,u){var o=sh[ih(a)];return o==nh?!0:o==ah?!1:th(u)?eh(u):!!u},ih=We.normalize=function(a){return String(a).replace(rh,".").toLowerCase()},sh=We.data={},ah=We.NATIVE="N",nh=We.POLYFILL="P";da.exports=We});var ga=E((uc,va)=>{var ur=oe(),uh=zt().f,oh=Jt(),hh=Ms(),lh=st(),ch=fa(),ph=ma();va.exports=function(a,u){var o=a.target,l=a.global,v=a.stat,b,y,I,T,x,R;if(l?y=ur:v?y=ur[o]||lh(o,{}):y=(ur[o]||{}).prototype,y)for(I in u){if(x=u[I],a.dontCallGetSet?(R=uh(y,I),T=R&&R.value):T=y[I],b=ph(l?I:o+(v?".":"#")+I,a.forced),!b&&T!==void 0){if(typeof x==typeof T)continue;ch(x,T)}(a.sham||T&&T.sham)&&oh(x,"sham",!0),hh(y,I,x,a)}}});var xa=E(()=>{var fh=ga(),or=oe();fh({global:!0,forced:or.globalThis!==or},{globalThis:or})});var Ca=E((lc,Aa)=>{var ya=sr(),dh=Me();Aa.exports=function(a,u,o){return o.get&&ya(o.get,u,{getter:!0}),o.set&&ya(o.set,u,{setter:!0}),dh.f(a,u,o)}});var ba=E((cc,Ea)=>{"use strict";var mh=nt();Ea.exports=function(){var a=mh(this),u="";return a.hasIndices&&(u+="d"),a.global&&(u+="g"),a.ignoreCase&&(u+="i"),a.multiline&&(u+="m"),a.dotAll&&(u+="s"),a.unicode&&(u+="u"),a.unicodeSets&&(u+="v"),a.sticky&&(u+="y"),u}});xa();var vh=oe(),gh=xe(),xh=Ca(),yh=ba(),Ah=me(),_a=vh.RegExp,Sa=_a.prototype,Ch=gh&&Ah(function(){var a=!0;try{_a(".","d")}catch{a=!1}var u={},o="",l=a?"dgimsy":"gimsy",v=function(T,x){Object.defineProperty(u,T,{get:function(){return o+=x,!0}})},b={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(b.hasIndices="d");for(var y in b)v(y,b[y]);var I=Object.getOwnPropertyDescriptor(Sa,"flags").get.call(u);return I!==l||o!==l});Ch&&xh(Sa,"flags",{configurable:!0,get:yh});var pr=Object.defineProperty,Eh=Object.getOwnPropertyDescriptor,fr=Object.getOwnPropertyNames,bh=Object.prototype.hasOwnProperty,wa=(a,u)=>function(){return a&&(u=(0,a[fr(a)[0]])(a=0)),u},Q=(a,u)=>function(){return u||(0,a[fr(a)[0]])((u={exports:{}}).exports,u),u.exports},_h=(a,u)=>{for(var o in u)pr(a,o,{get:u[o],enumerable:!0})},Sh=(a,u,o,l)=>{if(u&&typeof u=="object"||typeof u=="function")for(let v of fr(u))!bh.call(a,v)&&v!==o&&pr(a,v,{get:()=>u[v],enumerable:!(l=Eh(u,v))||l.enumerable});return a},wh=a=>Sh(pr({},"__esModule",{value:!0}),a),J=wa({""(){}}),dr=Q({"src/common/parser-create-error.js"(a,u){"use strict";J();function o(l,v){let b=new SyntaxError(l+" ("+v.start.line+":"+v.start.column+")");return b.loc=v,b}u.exports=o}}),ka=Q({"src/utils/try-combinations.js"(a,u){"use strict";J();function o(){let l;for(var v=arguments.length,b=new Array(v),y=0;ycr,arch:()=>kh,cpus:()=>Oa,default:()=>qa,endianness:()=>Ba,freemem:()=>Da,getNetworkInterfaces:()=>ja,hostname:()=>Ia,loadavg:()=>Ta,networkInterfaces:()=>Ra,platform:()=>Fh,release:()=>Va,tmpDir:()=>hr,tmpdir:()=>lr,totalmem:()=>Na,type:()=>La,uptime:()=>Pa});function Ba(){if(typeof pt>"u"){var a=new ArrayBuffer(2),u=new Uint8Array(a),o=new Uint16Array(a);if(u[0]=1,u[1]=2,o[0]===258)pt="BE";else if(o[0]===513)pt="LE";else throw new Error("unable to figure out endianess")}return pt}function Ia(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Ta(){return[]}function Pa(){return 0}function Da(){return Number.MAX_VALUE}function Na(){return Number.MAX_VALUE}function Oa(){return[]}function La(){return"Browser"}function Va(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function Ra(){}function ja(){}function kh(){return"javascript"}function Fh(){return"browser"}function hr(){return"/tmp"}var pt,lr,cr,qa,Bh=wa({"node-modules-polyfills:os"(){J(),lr=hr,cr=` -`,qa={EOL:cr,tmpdir:lr,tmpDir:hr,networkInterfaces:Ra,getNetworkInterfaces:ja,release:Va,type:La,cpus:Oa,totalmem:Na,freemem:Da,uptime:Pa,loadavg:Ta,hostname:Ia,endianness:Ba}}}),Ih=Q({"node-modules-polyfills-commonjs:os"(a,u){J();var o=(Bh(),wh(Fa));if(o&&o.default){u.exports=o.default;for(let l in o)u.exports[l]=o[l]}else o&&(u.exports=o)}}),Th=Q({"node_modules/detect-newline/index.js"(a,u){"use strict";J();var o=l=>{if(typeof l!="string")throw new TypeError("Expected a string");let v=l.match(/(?:\r?\n)/g)||[];if(v.length===0)return;let b=v.filter(I=>I===`\r -`).length,y=v.length-b;return b>y?`\r -`:` -`};u.exports=o,u.exports.graceful=l=>typeof l=="string"&&o(l)||` -`}}),Ph=Q({"node_modules/jest-docblock/build/index.js"(a){"use strict";J(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=g,a.parse=G,a.parseWithComments=f,a.print=B,a.strip=w;function u(){let k=Ih();return u=function(){return k},k}function o(){let k=l(Th());return o=function(){return k},k}function l(k){return k&&k.__esModule?k:{default:k}}var v=/\*\/$/,b=/^\/\*\*?/,y=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,I=/(^|\s+)\/\/([^\r\n]*)/g,T=/^(\r?\n)+/,x=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,R=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,U=/(\r?\n|^) *\* ?/g,D=[];function g(k){let X=k.match(y);return X?X[0].trimLeft():""}function w(k){let X=k.match(y);return X&&X[0]?k.substring(X[0].length):k}function G(k){return f(k).pragmas}function f(k){let X=(0,o().default)(k)||u().EOL;k=k.replace(b,"").replace(v,"").replace(U,"$1");let O="";for(;O!==k;)O=k,k=k.replace(x,`${X}$1 $2${X}`);k=k.replace(T,"").trimRight();let i=Object.create(null),S=k.replace(R,"").replace(T,"").trimRight(),F;for(;F=R.exec(k);){let j=F[2].replace(I,"");typeof i[F[1]]=="string"||Array.isArray(i[F[1]])?i[F[1]]=D.concat(i[F[1]],j):i[F[1]]=j}return{comments:S,pragmas:i}}function B(k){let{comments:X="",pragmas:O={}}=k,i=(0,o().default)(X)||u().EOL,S="/**",F=" *",j=" */",Z=Object.keys(O),ne=Z.map(ie=>V(ie,O[ie])).reduce((ie,Ne)=>ie.concat(Ne),[]).map(ie=>`${F} ${ie}${i}`).join("");if(!X){if(Z.length===0)return"";if(Z.length===1&&!Array.isArray(O[Z[0]])){let ie=O[Z[0]];return`${S} ${V(Z[0],ie)[0]}${j}`}}let ee=X.split(i).map(ie=>`${F} ${ie}`).join(i)+i;return S+i+(X?ee:"")+(X&&Z.length?F+i:"")+ne+j}function V(k,X){return D.concat(X).map(O=>`@${k} ${O}`.trim())}}}),Dh=Q({"src/common/end-of-line.js"(a,u){"use strict";J();function o(y){let I=y.indexOf("\r");return I>=0?y.charAt(I+1)===` -`?"crlf":"cr":"lf"}function l(y){switch(y){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function v(y,I){let T;switch(I){case` -`:T=/\n/g;break;case"\r":T=/\r/g;break;case`\r -`:T=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(I)}.`)}let x=y.match(T);return x?x.length:0}function b(y){return y.replace(/\r\n?/g,` -`)}u.exports={guessEndOfLine:o,convertEndOfLineToChars:l,countEndOfLineChars:v,normalizeEndOfLine:b}}}),Nh=Q({"src/language-js/utils/get-shebang.js"(a,u){"use strict";J();function o(l){if(!l.startsWith("#!"))return"";let v=l.indexOf(` -`);return v===-1?l:l.slice(0,v)}u.exports=o}}),Oh=Q({"src/language-js/pragma.js"(a,u){"use strict";J();var{parseWithComments:o,strip:l,extract:v,print:b}=Ph(),{normalizeEndOfLine:y}=Dh(),I=Nh();function T(U){let D=I(U);D&&(U=U.slice(D.length+1));let g=v(U),{pragmas:w,comments:G}=o(g);return{shebang:D,text:U,pragmas:w,comments:G}}function x(U){let D=Object.keys(T(U).pragmas);return D.includes("prettier")||D.includes("format")}function R(U){let{shebang:D,text:g,pragmas:w,comments:G}=T(U),f=l(g),B=b({pragmas:Object.assign({format:""},w),comments:G.trimStart()});return(D?`${D} -`:"")+y(B)+(f.startsWith(` -`)?` -`:` - -`)+f}u.exports={hasPragma:x,insertPragma:R}}}),Lh=Q({"src/utils/is-non-empty-array.js"(a,u){"use strict";J();function o(l){return Array.isArray(l)&&l.length>0}u.exports=o}}),Ma=Q({"src/language-js/loc.js"(a,u){"use strict";J();var o=Lh();function l(T){var x,R;let U=T.range?T.range[0]:T.start,D=(x=(R=T.declaration)===null||R===void 0?void 0:R.decorators)!==null&&x!==void 0?x:T.decorators;return o(D)?Math.min(l(D[0]),U):U}function v(T){return T.range?T.range[1]:T.end}function b(T,x){let R=l(T);return Number.isInteger(R)&&R===l(x)}function y(T,x){let R=v(T);return Number.isInteger(R)&&R===v(x)}function I(T,x){return b(T,x)&&y(T,x)}u.exports={locStart:l,locEnd:v,hasSameLocStart:b,hasSameLoc:I}}}),Ua=Q({"src/language-js/parse/utils/create-parser.js"(a,u){"use strict";J();var{hasPragma:o}=Oh(),{locStart:l,locEnd:v}=Ma();function b(y){return y=typeof y=="function"?{parse:y}:y,Object.assign({astFormat:"estree",hasPragma:o,locStart:l,locEnd:v},y)}u.exports=b}}),Vh=Q({"src/language-js/utils/is-ts-keyword-type.js"(a,u){"use strict";J();function o(l){let{type:v}=l;return v.startsWith("TS")&&v.endsWith("Keyword")}u.exports=o}}),Rh=Q({"src/language-js/utils/is-block-comment.js"(a,u){"use strict";J();var o=new Set(["Block","CommentBlock","MultiLine"]),l=v=>o.has(v==null?void 0:v.type);u.exports=l}}),jh=Q({"src/language-js/utils/is-type-cast-comment.js"(a,u){"use strict";J();var o=Rh();function l(v){return o(v)&&v.value[0]==="*"&&/@(?:type|satisfies)\b/.test(v.value)}u.exports=l}}),qh=Q({"src/utils/get-last.js"(a,u){"use strict";J();var o=l=>l[l.length-1];u.exports=o}}),Mh=Q({"src/language-js/parse/postprocess/visit-node.js"(a,u){"use strict";J();function o(l,v){if(Array.isArray(l)){for(let b=0;b{B.leadingComments&&B.leadingComments.some(b)&&f.add(o(B))}),g=I(g,B=>{if(B.type==="ParenthesizedExpression"){let{expression:V}=B;if(V.type==="TypeCastExpression")return V.range=B.range,V;let k=o(B);if(!f.has(k))return V.extra=Object.assign(Object.assign({},V.extra),{},{parenthesized:!0}),V}})}return g=I(g,f=>{switch(f.type){case"ChainExpression":return R(f.expression);case"LogicalExpression":{if(U(f))return D(f);break}case"VariableDeclaration":{let B=y(f.declarations);B&&B.init&&G(f,B);break}case"TSParenthesizedType":return v(f.typeAnnotation)||f.typeAnnotation.type==="TSThisType"||(f.typeAnnotation.range=[o(f),l(f)]),f.typeAnnotation;case"TSTypeParameter":if(typeof f.name=="string"){let B=o(f);f.name={type:"Identifier",name:f.name,range:[B,B+f.name.length]}}break;case"ObjectExpression":if(w.parser==="typescript"){let B=f.properties.find(V=>V.type==="Property"&&V.value.type==="TSEmptyBodyFunctionExpression");B&&T(B.value,"Unexpected token.")}break;case"SequenceExpression":{let B=y(f.expressions);f.range=[o(f),Math.min(l(B),l(f))];break}case"TopicReference":w.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:B}=f;if(w.parser==="meriyah"&&B&&B.type==="Identifier"){let V=w.originalText.slice(o(B),l(B));(V.startsWith('"')||V.startsWith("'"))&&(f.exported=Object.assign(Object.assign({},f.exported),{},{type:"Literal",value:f.exported.name,raw:V}))}break}case"PropertyDefinition":if(w.parser==="meriyah"&&f.static&&!f.computed&&!f.key){let B="static",V=o(f);Object.assign(f,{static:!1,key:{type:"Identifier",name:B,range:[V,V+B.length]}})}break}}),g;function G(f,B){w.originalText[l(B)]!==";"&&(f.range=[o(f),l(B)])}}function R(g){switch(g.type){case"CallExpression":g.type="OptionalCallExpression",g.callee=R(g.callee);break;case"MemberExpression":g.type="OptionalMemberExpression",g.object=R(g.object);break;case"TSNonNullExpression":g.expression=R(g.expression);break}return g}function U(g){return g.type==="LogicalExpression"&&g.right.type==="LogicalExpression"&&g.operator===g.right.operator}function D(g){return U(g)?D({type:"LogicalExpression",operator:g.operator,left:D({type:"LogicalExpression",operator:g.operator,left:g.left,right:g.right.left,range:[o(g.left),l(g.right.left)]}),right:g.right.right,range:[o(g),l(g)]}):g}u.exports=x}}),ft=Q({"node_modules/acorn/dist/acorn.js"(a,u){J(),function(o,l){typeof a=="object"&&typeof u<"u"?l(a):typeof define=="function"&&define.amd?define(["exports"],l):(o=typeof globalThis<"u"?globalThis:o||self,l(o.acorn={}))}(a,function(o){"use strict";var l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239],v=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],b="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",y="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",I={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},T="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",x={5:T,"5module":T+" export import",6:T+" const class extends export import super"},R=/^in(stanceof)?$/,U=new RegExp("["+y+"]"),D=new RegExp("["+y+b+"]");function g(e,t){for(var r=65536,s=0;se)return!1;if(r+=t[s+1],r>=e)return!0}}function w(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&U.test(String.fromCharCode(e)):t===!1?!1:g(e,v)}function G(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&D.test(String.fromCharCode(e)):t===!1?!1:g(e,v)||g(e,l)}var f=function(t,r){r===void 0&&(r={}),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop||null,this.updateContext=null};function B(e,t){return new f(e,{beforeExpr:!0,binop:t})}var V={beforeExpr:!0},k={startsExpr:!0},X={};function O(e,t){return t===void 0&&(t={}),t.keyword=e,X[e]=new f(e,t)}var i={num:new f("num",k),regexp:new f("regexp",k),string:new f("string",k),name:new f("name",k),privateId:new f("privateId",k),eof:new f("eof"),bracketL:new f("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new f("]"),braceL:new f("{",{beforeExpr:!0,startsExpr:!0}),braceR:new f("}"),parenL:new f("(",{beforeExpr:!0,startsExpr:!0}),parenR:new f(")"),comma:new f(",",V),semi:new f(";",V),colon:new f(":",V),dot:new f("."),question:new f("?",V),questionDot:new f("?."),arrow:new f("=>",V),template:new f("template"),invalidTemplate:new f("invalidTemplate"),ellipsis:new f("...",V),backQuote:new f("`",k),dollarBraceL:new f("${",{beforeExpr:!0,startsExpr:!0}),eq:new f("=",{beforeExpr:!0,isAssign:!0}),assign:new f("_=",{beforeExpr:!0,isAssign:!0}),incDec:new f("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new f("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:B("||",1),logicalAND:B("&&",2),bitwiseOR:B("|",3),bitwiseXOR:B("^",4),bitwiseAND:B("&",5),equality:B("==/!=/===/!==",6),relational:B("/<=/>=",7),bitShift:B("<>/>>>",8),plusMin:new f("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:B("%",10),star:B("*",10),slash:B("/",10),starstar:new f("**",{beforeExpr:!0}),coalesce:B("??",1),_break:O("break"),_case:O("case",V),_catch:O("catch"),_continue:O("continue"),_debugger:O("debugger"),_default:O("default",V),_do:O("do",{isLoop:!0,beforeExpr:!0}),_else:O("else",V),_finally:O("finally"),_for:O("for",{isLoop:!0}),_function:O("function",k),_if:O("if"),_return:O("return",V),_switch:O("switch"),_throw:O("throw",V),_try:O("try"),_var:O("var"),_const:O("const"),_while:O("while",{isLoop:!0}),_with:O("with"),_new:O("new",{beforeExpr:!0,startsExpr:!0}),_this:O("this",k),_super:O("super",k),_class:O("class",k),_extends:O("extends",V),_export:O("export"),_import:O("import",k),_null:O("null",k),_true:O("true",k),_false:O("false",k),_in:O("in",{beforeExpr:!0,binop:7}),_instanceof:O("instanceof",{beforeExpr:!0,binop:7}),_typeof:O("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:O("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:O("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},S=/\r\n?|\n|\u2028|\u2029/,F=new RegExp(S.source,"g");function j(e){return e===10||e===13||e===8232||e===8233}function Z(e,t,r){r===void 0&&(r=e.length);for(var s=t;s>10)+55296,(e&1023)+56320))}var K=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,H=function(t,r){this.line=t,this.column=r};H.prototype.offset=function(t){return new H(this.line,this.column+t)};var te=function(t,r,s){this.start=r,this.end=s,t.sourceFile!==null&&(this.source=t.sourceFile)};function ae(e,t){for(var r=1,s=0;;){var n=Z(e,s,t);if(n<0)return new H(r,t-s);++r,s=n}}var fe={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},Ae=!1;function dt(e){var t={};for(var r in fe)t[r]=e&&P(e,r)?e[r]:fe[r];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!Ae&&typeof console=="object"&&console.warn&&(Ae=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required. -Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),e.allowHashBang==null&&(t.allowHashBang=t.ecmaVersion>=14),_(t.onToken)){var s=t.onToken;t.onToken=function(n){return s.push(n)}}return _(t.onComment)&&(t.onComment=mt(t,t.onComment)),t}function mt(e,t){return function(r,s,n,h,c,m){var A={type:r?"Block":"Line",value:s,start:n,end:h};e.locations&&(A.loc=new te(this,c,m)),e.ranges&&(A.range=[n,h]),t.push(A)}}var _e=1,Ce=2,Oe=4,ze=8,mr=16,vr=32,vt=64,gr=128,Le=256,gt=_e|Ce|Le;function xt(e,t){return Ce|(e?Oe:0)|(t?ze:0)}var Ge=0,yt=1,ve=2,xr=3,yr=4,Ar=5,Y=function(t,r,s){this.options=t=dt(t),this.sourceFile=t.sourceFile,this.keywords=d(x[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var n="";t.allowReserved!==!0&&(n=I[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(n+=" await")),this.reservedWords=d(n);var h=(n?n+" ":"")+I.strict;this.reservedWordsStrict=d(h),this.reservedWordsStrictBind=d(h+" "+I.strictBind),this.input=String(r),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf(` -`,s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(S).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=i.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(_e),this.regexpState=null,this.privateNameStack=[]},de={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};Y.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},de.inFunction.get=function(){return(this.currentVarScope().flags&Ce)>0},de.inGenerator.get=function(){return(this.currentVarScope().flags&ze)>0&&!this.currentVarScope().inClassFieldInit},de.inAsync.get=function(){return(this.currentVarScope().flags&Oe)>0&&!this.currentVarScope().inClassFieldInit},de.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&Le)return!1;if(t.flags&Ce)return(t.flags&Oe)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},de.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&vt)>0||r||this.options.allowSuperOutsideMethod},de.allowDirectSuper.get=function(){return(this.currentThisScope().flags&gr)>0},de.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},de.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&(Ce|Le))>0||r},de.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&Le)>0},Y.extend=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];for(var s=this,n=0;n=,?^&]/.test(n)||n==="!"&&this.input.charAt(s+1)==="=")}e+=t[0].length,ee.lastIndex=e,e+=ee.exec(this.input)[0].length,this.input[e]===";"&&e++}},se.eat=function(e){return this.type===e?(this.next(),!0):!1},se.isContextual=function(e){return this.type===i.name&&this.value===e&&!this.containsEsc},se.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},se.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},se.canInsertSemicolon=function(){return this.type===i.eof||this.type===i.braceR||S.test(this.input.slice(this.lastTokEnd,this.start))},se.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},se.semicolon=function(){!this.eat(i.semi)&&!this.insertSemicolon()&&this.unexpected()},se.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},se.expect=function(e){this.eat(e)||this.unexpected()},se.unexpected=function(e){this.raise(e!=null?e:this.start,"Unexpected token")};var He=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};se.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,t?"Assigning to rvalue":"Parenthesized pattern")}},se.checkExpressionErrors=function(e,t){if(!e)return!1;var r=e.shorthandAssign,s=e.doubleProto;if(!t)return r>=0||s>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},se.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(e)return!1;if(s===123)return!0;if(w(s,!0)){for(var n=r+1;G(s=this.input.charCodeAt(n),!0);)++n;if(s===92||s>55295&&s<56320)return!0;var h=this.input.slice(r,n);if(!R.test(h))return!0}return!1},L.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;ee.lastIndex=this.pos;var e=ee.exec(this.input),t=this.pos+e[0].length,r;return!S.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(G(r=this.input.charCodeAt(t+8))||r>55295&&r<56320))},L.parseStatement=function(e,t,r){var s=this.type,n=this.startNode(),h;switch(this.isLet(e)&&(s=i._var,h="let"),s){case i._break:case i._continue:return this.parseBreakContinueStatement(n,s.keyword);case i._debugger:return this.parseDebuggerStatement(n);case i._do:return this.parseDoStatement(n);case i._for:return this.parseForStatement(n);case i._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case i._class:return e&&this.unexpected(),this.parseClass(n,!0);case i._if:return this.parseIfStatement(n);case i._return:return this.parseReturnStatement(n);case i._switch:return this.parseSwitchStatement(n);case i._throw:return this.parseThrowStatement(n);case i._try:return this.parseTryStatement(n);case i._const:case i._var:return h=h||this.value,e&&h!=="var"&&this.unexpected(),this.parseVarStatement(n,h);case i._while:return this.parseWhileStatement(n);case i._with:return this.parseWithStatement(n);case i.braceL:return this.parseBlock(!0,n);case i.semi:return this.parseEmptyStatement(n);case i._export:case i._import:if(this.options.ecmaVersion>10&&s===i._import){ee.lastIndex=this.pos;var c=ee.exec(this.input),m=this.pos+c[0].length,A=this.input.charCodeAt(m);if(A===40||A===46)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),s===i._import?this.parseImport(n):this.parseExport(n,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var q=this.value,W=this.parseExpression();return s===i.name&&W.type==="Identifier"&&this.eat(i.colon)?this.parseLabeledStatement(n,q,W,e):this.parseExpressionStatement(n,W)}},L.parseBreakContinueStatement=function(e,t){var r=t==="break";this.next(),this.eat(i.semi)||this.insertSemicolon()?e.label=null:this.type!==i.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(i.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},L.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(At),this.enterScope(0),this.expect(i.parenL),this.type===i.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===i._var||this.type===i._const||r){var s=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.type===i._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&s.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===i._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,s)):(t>-1&&this.unexpected(t),this.parseFor(e,s))}var h=this.isContextual("let"),c=!1,m=new He,A=this.parseExpression(t>-1?"await":!0,m);return this.type===i._in||(c=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===i._in?t>-1&&this.unexpected(t):e.await=t>-1),h&&c&&this.raise(A.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(A,!1,m),this.checkLValPattern(A),this.parseForIn(e,A)):(this.checkExpressionErrors(m,!0),t>-1&&this.unexpected(t),this.parseFor(e,A))},L.parseFunctionStatement=function(e,t,r){return this.next(),this.parseFunction(e,Ve|(r?0:Ct),!1,t)},L.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(i._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},L.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(i.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},L.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(i.braceL),this.labels.push(Ha),this.enterScope(0);for(var t,r=!1;this.type!==i.braceR;)if(this.type===i._case||this.type===i._default){var s=this.type===i._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),s?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(i.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},L.parseThrowStatement=function(e){return this.next(),S.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Ka=[];L.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===i._catch){var t=this.startNode();if(this.next(),this.eat(i.parenL)){t.param=this.parseBindingAtom();var r=t.param.type==="Identifier";this.enterScope(r?vr:0),this.checkLValPattern(t.param,r?yr:ve),this.expect(i.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(i._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},L.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},L.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(At),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},L.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},L.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},L.parseLabeledStatement=function(e,t,r,s){for(var n=0,h=this.labels;n=0;A--){var q=this.labels[A];if(q.statementStart===e.start)q.statementStart=this.start,q.kind=m;else break}return this.labels.push({name:t,kind:m,statementStart:this.start}),e.body=this.parseStatement(s?s.indexOf("label")===-1?s+"label":s:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},L.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},L.parseBlock=function(e,t,r){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(i.braceL),e&&this.enterScope(0);this.type!==i.braceR;){var s=this.parseStatement(null);t.body.push(s)}return r&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},L.parseFor=function(e,t){return e.init=t,this.expect(i.semi),e.test=this.type===i.semi?null:this.parseExpression(),this.expect(i.semi),e.update=this.type===i.parenR?null:this.parseExpression(),this.expect(i.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},L.parseForIn=function(e,t){var r=this.type===i._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!r||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(i.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")},L.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r;;){var s=this.startNode();if(this.parseVarId(s,r),this.eat(i.eq)?s.init=this.parseMaybeAssign(t):r==="const"&&!(this.type===i._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():s.id.type!=="Identifier"&&!(t&&(this.type===i._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):s.init=null,e.declarations.push(this.finishNode(s,"VariableDeclarator")),!this.eat(i.comma))break}return e},L.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?yt:ve,!1)};var Ve=1,Ct=2,Cr=4;L.parseFunction=function(e,t,r,s,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===i.star&&t&Ct&&this.unexpected(),e.generator=this.eat(i.star)),this.options.ecmaVersion>=8&&(e.async=!!s),t&Ve&&(e.id=t&Cr&&this.type!==i.name?null:this.parseIdent(),e.id&&!(t&Ct)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?yt:ve:xr));var h=this.yieldPos,c=this.awaitPos,m=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(xt(e.async,e.generator)),t&Ve||(e.id=this.type===i.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1,n),this.yieldPos=h,this.awaitPos=c,this.awaitIdentPos=m,this.finishNode(e,t&Ve?"FunctionDeclaration":"FunctionExpression")},L.parseFunctionParams=function(e){this.expect(i.parenL),e.params=this.parseBindingList(i.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},L.parseClass=function(e,t){this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var s=this.enterClassBody(),n=this.startNode(),h=!1;for(n.body=[],this.expect(i.braceL);this.type!==i.braceR;){var c=this.parseClassElement(e.superClass!==null);c&&(n.body.push(c),c.type==="MethodDefinition"&&c.kind==="constructor"?(h&&this.raise(c.start,"Duplicate constructor in the same class"),h=!0):c.key&&c.key.type==="PrivateIdentifier"&&Xa(s,c)&&this.raiseRecoverable(c.key.start,"Identifier '#"+c.key.name+"' has already been declared"))}return this.strict=r,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},L.parseClassElement=function(e){if(this.eat(i.semi))return null;var t=this.options.ecmaVersion,r=this.startNode(),s="",n=!1,h=!1,c="method",m=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(i.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===i.star?m=!0:s="static"}if(r.static=m,!s&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===i.star)&&!this.canInsertSemicolon()?h=!0:s="async"),!s&&(t>=9||!h)&&this.eat(i.star)&&(n=!0),!s&&!h&&!n){var A=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?c=A:s=A)}if(s?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=s,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),t<13||this.type===i.parenL||c!=="method"||n||h){var q=!r.static&&Ke(r,"constructor"),W=q&&e;q&&c!=="method"&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=q?"constructor":c,this.parseClassMethod(r,n,h,W)}else this.parseClassField(r);return r},L.isClassElementNameStart=function(){return this.type===i.name||this.type===i.privateId||this.type===i.num||this.type===i.string||this.type===i.bracketL||this.type.keyword},L.parseClassElementName=function(e){this.type===i.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},L.parseClassMethod=function(e,t,r,s){var n=e.key;e.kind==="constructor"?(t&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):e.static&&Ke(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var h=e.value=this.parseMethod(t,r,s);return e.kind==="get"&&h.params.length!==0&&this.raiseRecoverable(h.start,"getter should have no params"),e.kind==="set"&&h.params.length!==1&&this.raiseRecoverable(h.start,"setter should have exactly one param"),e.kind==="set"&&h.params[0].type==="RestElement"&&this.raiseRecoverable(h.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},L.parseClassField=function(e){if(Ke(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Ke(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(i.eq)){var t=this.currentThisScope(),r=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=r}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},L.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(Le|vt);this.type!==i.braceR;){var r=this.parseStatement(null);e.body.push(r)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},L.parseClassId=function(e,t){this.type===i.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,ve,!1)):(t===!0&&this.unexpected(),e.id=null)},L.parseClassSuper=function(e){e.superClass=this.eat(i._extends)?this.parseExprSubscripts(!1):null},L.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},L.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,r=e.used,s=this.privateNameStack.length,n=s===0?null:this.privateNameStack[s-1],h=0;h=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==i.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(i._default)){this.checkExport(t,"default",this.lastTokStart);var r;if(this.type===i._function||(r=this.isAsyncFunction())){var s=this.startNode();this.next(),r&&this.next(),e.declaration=this.parseFunction(s,Ve|Cr,!1,r)}else if(this.type===i._class){var n=this.startNode();e.declaration=this.parseClass(n,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==i.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var h=0,c=e.specifiers;h=13&&this.type===i.string){var e=this.parseLiteral(this.value);return K.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},L.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var he=Y.prototype;he.toAssignable=function(e,t,r){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var s=0,n=e.properties;s=8&&!c&&m.name==="async"&&!this.canInsertSemicolon()&&this.eat(i._function))return this.overrideContext($.f_expr),this.parseFunction(this.startNodeAt(n,h),0,!1,!0,t);if(s&&!this.canInsertSemicolon()){if(this.eat(i.arrow))return this.parseArrowExpression(this.startNodeAt(n,h),[m],!1,t);if(this.options.ecmaVersion>=8&&m.name==="async"&&this.type===i.name&&!c&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return m=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(i.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(n,h),[m],!0,t)}return m;case i.regexp:var A=this.value;return r=this.parseLiteral(A.value),r.regex={pattern:A.pattern,flags:A.flags},r;case i.num:case i.string:return this.parseLiteral(this.value);case i._null:case i._true:case i._false:return r=this.startNode(),r.value=this.type===i._null?null:this.type===i._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,"Literal");case i.parenL:var q=this.start,W=this.parseParenAndDistinguishExpression(s,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(W)&&(e.parenthesizedAssign=q),e.parenthesizedBind<0&&(e.parenthesizedBind=q)),W;case i.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(i.bracketR,!0,!0,e),this.finishNode(r,"ArrayExpression");case i.braceL:return this.overrideContext($.b_expr),this.parseObj(!1,e);case i._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case i._class:return this.parseClass(this.startNode(),!1);case i._new:return this.parseNew();case i.backQuote:return this.parseTemplate();case i._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},M.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case i.parenL:return this.parseDynamicImport(e);case i.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},M.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(i.parenR)){var t=this.start;this.eat(i.comma)&&this.eat(i.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},M.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},M.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},M.parseParenExpression=function(){this.expect(i.parenL);var e=this.parseExpression();return this.expect(i.parenR),e},M.parseParenAndDistinguishExpression=function(e,t){var r=this.start,s=this.startLoc,n,h=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var c=this.start,m=this.startLoc,A=[],q=!0,W=!1,re=new He,Se=this.yieldPos,qe=this.awaitPos,Be;for(this.yieldPos=0,this.awaitPos=0;this.type!==i.parenR;)if(q?q=!1:this.expect(i.comma),h&&this.afterTrailingComma(i.parenR,!0)){W=!0;break}else if(this.type===i.ellipsis){Be=this.start,A.push(this.parseParenItem(this.parseRestBinding())),this.type===i.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}else A.push(this.parseMaybeAssign(!1,re,this.parseParenItem));var $e=this.lastTokEnd,Ie=this.lastTokEndLoc;if(this.expect(i.parenR),e&&!this.canInsertSemicolon()&&this.eat(i.arrow))return this.checkPatternErrors(re,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=Se,this.awaitPos=qe,this.parseParenArrowList(r,s,A,t);(!A.length||W)&&this.unexpected(this.lastTokStart),Be&&this.unexpected(Be),this.checkExpressionErrors(re,!0),this.yieldPos=Se||this.yieldPos,this.awaitPos=qe||this.awaitPos,A.length>1?(n=this.startNodeAt(c,m),n.expressions=A,this.finishNodeAt(n,"SequenceExpression",$e,Ie)):n=A[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var Te=this.startNodeAt(r,s);return Te.expression=n,this.finishNode(Te,"ParenthesizedExpression")}else return n},M.parseParenItem=function(e){return e},M.parseParenArrowList=function(e,t,r,s){return this.parseArrowExpression(this.startNodeAt(e,t),r,!1,s)};var Ja=[];M.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(i.dot)){e.meta=t;var r=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var s=this.start,n=this.startLoc,h=this.type===i._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),s,n,!0,!1),h&&e.callee.type==="ImportExpression"&&this.raise(s,"Cannot use new with import()"),this.eat(i.parenL)?e.arguments=this.parseExprList(i.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ja,this.finishNode(e,"NewExpression")},M.parseTemplateElement=function(e){var t=e.isTagged,r=this.startNode();return this.type===i.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,` -`),cooked:this.value},this.next(),r.tail=this.type===i.backQuote,this.finishNode(r,"TemplateElement")},M.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var r=this.startNode();this.next(),r.expressions=[];var s=this.parseTemplateElement({isTagged:t});for(r.quasis=[s];!s.tail;)this.type===i.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(i.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(i.braceR),r.quasis.push(s=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(r,"TemplateLiteral")},M.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===i.name||this.type===i.num||this.type===i.string||this.type===i.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===i.star)&&!S.test(this.input.slice(this.lastTokEnd,this.start))},M.parseObj=function(e,t){var r=this.startNode(),s=!0,n={};for(r.properties=[],this.next();!this.eat(i.braceR);){if(s)s=!1;else if(this.expect(i.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(i.braceR))break;var h=this.parseProperty(e,t);e||this.checkPropClash(h,n,t),r.properties.push(h)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")},M.parseProperty=function(e,t){var r=this.startNode(),s,n,h,c;if(this.options.ecmaVersion>=9&&this.eat(i.ellipsis))return e?(r.argument=this.parseIdent(!1),this.type===i.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(r,"RestElement")):(r.argument=this.parseMaybeAssign(!1,t),this.type===i.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(r,"SpreadElement"));this.options.ecmaVersion>=6&&(r.method=!1,r.shorthand=!1,(e||t)&&(h=this.start,c=this.startLoc),e||(s=this.eat(i.star)));var m=this.containsEsc;return this.parsePropertyName(r),!e&&!m&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(r)?(n=!0,s=this.options.ecmaVersion>=9&&this.eat(i.star),this.parsePropertyName(r,t)):n=!1,this.parsePropertyValue(r,e,s,n,h,c,t,m),this.finishNode(r,"Property")},M.parsePropertyValue=function(e,t,r,s,n,h,c,m){if((r||s)&&this.type===i.colon&&this.unexpected(),this.eat(i.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,c),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===i.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,s);else if(!t&&!m&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==i.comma&&this.type!==i.braceR&&this.type!==i.eq){(r||s)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var A=e.kind==="get"?0:1;if(e.value.params.length!==A){var q=e.value.start;e.kind==="get"?this.raiseRecoverable(q,"getter should have no params"):this.raiseRecoverable(q,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((r||s)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,h,this.copyNode(e.key)):this.type===i.eq&&c?(c.shorthandAssign<0&&(c.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,h,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},M.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(i.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(i.bracketR),e.key;e.computed=!1}return e.key=this.type===i.num||this.type===i.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},M.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},M.parseMethod=function(e,t,r){var s=this.startNode(),n=this.yieldPos,h=this.awaitPos,c=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=e),this.options.ecmaVersion>=8&&(s.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(xt(t,s.generator)|vt|(r?gr:0)),this.expect(i.parenL),s.params=this.parseBindingList(i.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=n,this.awaitPos=h,this.awaitIdentPos=c,this.finishNode(s,"FunctionExpression")},M.parseArrowExpression=function(e,t,r,s){var n=this.yieldPos,h=this.awaitPos,c=this.awaitIdentPos;return this.enterScope(xt(r,!1)|mr),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,s),this.yieldPos=n,this.awaitPos=h,this.awaitIdentPos=c,this.finishNode(e,"ArrowFunctionExpression")},M.parseFunctionBody=function(e,t,r,s){var n=t&&this.type!==i.braceL,h=this.strict,c=!1;if(n)e.body=this.parseMaybeAssign(s),e.expression=!0,this.checkParams(e,!1);else{var m=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!h||m)&&(c=this.strictDirective(this.end),c&&m&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var A=this.labels;this.labels=[],c&&(this.strict=!0),this.checkParams(e,!h&&!c&&!t&&!r&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ar),e.body=this.parseBlock(!1,void 0,c&&!h),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=A}this.exitScope()},M.isSimpleParamList=function(e){for(var t=0,r=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&_e&&delete this.undefinedExports[e]}else if(t===yr){var h=this.currentScope();h.lexical.push(e)}else if(t===xr){var c=this.currentScope();this.treatFunctionsAsVar?s=c.lexical.indexOf(e)>-1:s=c.lexical.indexOf(e)>-1||c.var.indexOf(e)>-1,c.functions.push(e)}else for(var m=this.scopeStack.length-1;m>=0;--m){var A=this.scopeStack[m];if(A.lexical.indexOf(e)>-1&&!(A.flags&vr&&A.lexical[0]===e)||!this.treatFunctionsAsVarInScope(A)&&A.functions.indexOf(e)>-1){s=!0;break}if(A.var.push(e),this.inModule&&A.flags&_e&&delete this.undefinedExports[e],A.flags>)break}s&&this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")},Ee.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},Ee.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ee.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags>)return t}},Ee.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags>&&!(t.flags&mr))return t}};var Re=function(t,r,s){this.type="",this.start=r,this.end=0,t.options.locations&&(this.loc=new te(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[r,0])},je=Y.prototype;je.startNode=function(){return new Re(this,this.start,this.startLoc)},je.startNodeAt=function(e,t){return new Re(this,e,t)};function br(e,t,r,s){return e.type=t,e.end=r,this.options.locations&&(e.loc.end=s),this.options.ranges&&(e.range[1]=r),e}je.finishNode=function(e,t){return br.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},je.finishNodeAt=function(e,t,r,s){return br.call(this,e,t,r,s)},je.copyNode=function(e){var t=new Re(this,e.start,this.startLoc);for(var r in e)t[r]=e[r];return t};var _r="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Sr=_r+" Extended_Pictographic",wr=Sr,kr=wr+" EBase EComp EMod EPres ExtPict",$a=kr,Ya={9:_r,10:Sr,11:wr,12:kr,13:$a},Fr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Br="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Ir=Br+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Tr=Ir+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Pr=Tr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Za=Pr+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",en={9:Br,10:Ir,11:Tr,12:Pr,13:Za},Dr={};function tn(e){var t=Dr[e]={binary:d(Ya[e]+" "+Fr),nonBinary:{General_Category:d(Fr),Script:d(en[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var Et=0,Nr=[9,10,11,12,13];Et=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":""),this.unicodeProperties=Dr[t.options.ecmaVersion>=13?13:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};ge.prototype.reset=function(t,r,s){var n=s.indexOf("u")!==-1;this.start=t|0,this.source=r+"",this.flags=s,this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchN=n&&this.parser.options.ecmaVersion>=9},ge.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},ge.prototype.at=function(t,r){r===void 0&&(r=!1);var s=this.source,n=s.length;if(t>=n)return-1;var h=s.charCodeAt(t);if(!(r||this.switchU)||h<=55295||h>=57344||t+1>=n)return h;var c=s.charCodeAt(t+1);return c>=56320&&c<=57343?(h<<10)+c-56613888:h},ge.prototype.nextIndex=function(t,r){r===void 0&&(r=!1);var s=this.source,n=s.length;if(t>=n)return n;var h=s.charCodeAt(t),c;return!(r||this.switchU)||h<=55295||h>=57344||t+1>=n||(c=s.charCodeAt(t+1))<56320||c>57343?t+1:t+2},ge.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},ge.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},ge.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},ge.prototype.eat=function(t,r){return r===void 0&&(r=!1),this.current(r)===t?(this.advance(r),!0):!1},N.validateRegExpFlags=function(e){for(var t=e.validFlags,r=e.flags,s=0;s-1&&this.raise(e.start,"Duplicate regular expression flag")}},N.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},N.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,r=e.backReferenceNames;t=9&&(r=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!r,!0}return e.pos=t,!1},N.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},N.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},N.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var s=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return n!==-1&&n=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},N.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},N.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},N.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Or(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Or(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}N.regexp_eatPatternCharacters=function(e){for(var t=e.pos,r=0;(r=e.current())!==-1&&!Or(r);)e.advance();return e.pos!==t},N.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},N.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}},N.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},N.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=C(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=C(e.lastIntValue);return!0}return!1},N.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,s=e.current(r);return e.advance(r),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(s=e.lastIntValue),sn(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function sn(e){return w(e,!0)||e===36||e===95}N.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,s=e.current(r);return e.advance(r),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(s=e.lastIntValue),an(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function an(e){return G(e,!0)||e===36||e===95||e===8204||e===8205}N.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},N.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU)return r>e.maxBackReference&&(e.maxBackReference=r),!0;if(r<=e.numCapturingParens)return!0;e.pos=t}return!1},N.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},N.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},N.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},N.regexp_eatZero=function(e){return e.current()===48&&!Je(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},N.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},N.regexp_eatControlLetter=function(e){var t=e.current();return Lr(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Lr(e){return e>=65&&e<=90||e>=97&&e<=122}N.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var r=e.pos,s=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(s&&n>=55296&&n<=56319){var h=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var c=e.lastIntValue;if(c>=56320&&c<=57343)return e.lastIntValue=(n-55296)*1024+(c-56320)+65536,!0}e.pos=h,e.lastIntValue=n}return!0}if(s&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&nn(e.lastIntValue))return!0;s&&e.raise("Invalid unicode escape"),e.pos=r}return!1};function nn(e){return e>=0&&e<=1114111}N.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},N.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1},N.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(un(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1};function un(e){return e===100||e===68||e===115||e===83||e===119||e===87}N.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,r,s),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n),!0}return!1},N.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){P(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(r)||e.raise("Invalid property value")},N.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},N.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Vr(t=e.current());)e.lastStringValue+=C(t),e.advance();return e.lastStringValue!==""};function Vr(e){return Lr(e)||e===95}N.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";on(t=e.current());)e.lastStringValue+=C(t),e.advance();return e.lastStringValue!==""};function on(e){return Vr(e)||Je(e)}N.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},N.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},N.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;e.switchU&&(t===-1||r===-1)&&e.raise("Invalid character class"),t!==-1&&r!==-1&&t>r&&e.raise("Range out of order in character class")}}},N.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var r=e.current();(r===99||qr(r))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var s=e.current();return s!==93?(e.lastIntValue=s,e.advance(),!0):!1},N.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},N.regexp_eatClassControlLetter=function(e){var t=e.current();return Je(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},N.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},N.regexp_eatDecimalDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Je(r=e.current());)e.lastIntValue=10*e.lastIntValue+(r-48),e.advance();return e.pos!==t};function Je(e){return e>=48&&e<=57}N.regexp_eatHexDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Rr(r=e.current());)e.lastIntValue=16*e.lastIntValue+jr(r),e.advance();return e.pos!==t};function Rr(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function jr(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}N.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+r*8+e.lastIntValue:e.lastIntValue=t*8+r}else e.lastIntValue=t;return!0}return!1},N.regexp_eatOctalDigit=function(e){var t=e.current();return qr(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function qr(e){return e>=48&&e<=55}N.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var s=0;s=this.input.length)return this.finishToken(i.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},z.readToken=function(e){return w(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},z.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},z.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var s=void 0,n=t;(s=Z(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=s;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,r),t,this.pos,e,this.curPosition())},z.skipLineComment=function(e){for(var t=this.pos,r=this.options.onComment&&this.curPosition(),s=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&ne.test(String.fromCharCode(e)))++this.pos;else break e}}},z.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)},z.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(i.ellipsis)):(++this.pos,this.finishToken(i.dot))},z.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(i.assign,2):this.finishOp(i.slash,1)},z.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),r=1,s=e===42?i.star:i.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++r,s=i.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(i.assign,r+1):this.finishOp(s,r)},z.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(i.assign,3)}return this.finishOp(e===124?i.logicalOR:i.logicalAND,2)}return t===61?this.finishOp(i.assign,2):this.finishOp(e===124?i.bitwiseOR:i.bitwiseAND,1)},z.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(i.assign,2):this.finishOp(i.bitwiseXOR,1)},z.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||S.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(i.incDec,2):t===61?this.finishOp(i.assign,2):this.finishOp(i.plusMin,1)},z.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+r)===61?this.finishOp(i.assign,r+1):this.finishOp(i.bitShift,r)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(r=2),this.finishOp(i.relational,r))},z.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(i.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(i.arrow)):this.finishOp(e===61?i.eq:i.prefix,1)},z.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(i.questionDot,2)}if(t===63){if(e>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(i.assign,3)}return this.finishOp(i.coalesce,2)}}return this.finishOp(i.question,1)},z.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),w(t,!0)||t===92))return this.finishToken(i.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+C(t)+"'")},z.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(i.parenL);case 41:return++this.pos,this.finishToken(i.parenR);case 59:return++this.pos,this.finishToken(i.semi);case 44:return++this.pos,this.finishToken(i.comma);case 91:return++this.pos,this.finishToken(i.bracketL);case 93:return++this.pos,this.finishToken(i.bracketR);case 123:return++this.pos,this.finishToken(i.braceL);case 125:return++this.pos,this.finishToken(i.braceR);case 58:return++this.pos,this.finishToken(i.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(i.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(i.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+C(e)+"'")},z.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)},z.readRegexp=function(){for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(S.test(s)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if(s==="[")t=!0;else if(s==="]"&&t)t=!1;else if(s==="/"&&!t)break;e=s==="\\"}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var h=this.pos,c=this.readWord1();this.containsEsc&&this.unexpected(h);var m=this.regexpState||(this.regexpState=new ge(this));m.reset(r,n,c),this.validateRegExpFlags(m),this.validateRegExpPattern(m);var A=null;try{A=new RegExp(n,c)}catch{}return this.finishToken(i.regexp,{pattern:n,flags:c,value:A})},z.readInt=function(e,t,r){for(var s=this.options.ecmaVersion>=12&&t===void 0,n=r&&this.input.charCodeAt(this.pos)===48,h=this.pos,c=0,m=0,A=0,q=t==null?1/0:t;A=97?re=W-97+10:W>=65?re=W-65+10:W>=48&&W<=57?re=W-48:re=1/0,re>=e)break;m=W,c=c*e+re}return s&&m===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===h||t!=null&&this.pos-h!==t?null:c};function hn(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Mr(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}z.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);return r==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(r=Mr(this.input.slice(t,this.pos)),++this.pos):w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(i.num,r)},z.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var r=this.pos-t>=2&&this.input.charCodeAt(t)===48;r&&this.strict&&this.raise(t,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&s===110){var n=Mr(this.input.slice(t,this.pos));return++this.pos,w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(i.num,n)}r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1),s===46&&!r&&(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),(s===69||s===101)&&!r&&(s=this.input.charCodeAt(++this.pos),(s===43||s===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var h=hn(this.input.slice(t,this.pos),r);return this.finishToken(i.num,h)},z.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var r=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(r,"Code point out of bounds")}else t=this.readHexChar(4);return t},z.readString=function(e){for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===e)break;s===92?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):s===8232||s===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(j(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(i.string,t)};var Ur={};z.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Ur)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},z.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ur;this.raise(e,t)},z.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(r===96||r===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===i.template||this.type===i.invalidTemplate)?r===36?(this.pos+=2,this.finishToken(i.dollarBraceL)):(++this.pos,this.finishToken(i.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(i.template,e));if(r===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(j(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=` -`;break;default:e+=String.fromCharCode(r);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},z.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(s,8);return n>255&&(s=s.slice(0,-1),n=parseInt(s,8)),this.pos+=s.length-1,t=this.input.charCodeAt(this.pos),(s!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-s.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return j(t)?"":String.fromCharCode(t)}},z.readHexChar=function(e){var t=this.pos,r=this.readInt(16,e);return r===null&&this.invalidStringToken(t,"Bad character escape sequence"),r},z.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,r=this.pos,s=this.options.ecmaVersion>=6;this.pos",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}}}),za=Q({"node_modules/acorn-jsx/index.js"(a,u){"use strict";J();var o=Wh(),l=/^[\da-fA-F]+$/,v=/^\d+$/,b=new WeakMap;function y(x){x=x.Parser.acorn||x;let R=b.get(x);if(!R){let U=x.tokTypes,D=x.TokContext,g=x.TokenType,w=new D("...",!0,!0),B={tc_oTag:w,tc_cTag:G,tc_expr:f},V={jsxName:new g("jsxName"),jsxText:new g("jsxText",{beforeExpr:!0}),jsxTagStart:new g("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new g("jsxTagEnd")};V.jsxTagStart.updateContext=function(){this.context.push(f),this.context.push(w),this.exprAllowed=!1},V.jsxTagEnd.updateContext=function(k){let X=this.context.pop();X===w&&k===U.slash||X===G?(this.context.pop(),this.exprAllowed=this.curContext()===f):this.exprAllowed=!0},R={tokContexts:B,tokTypes:V},b.set(x,R)}return R}function I(x){if(!x)return x;if(x.type==="JSXIdentifier")return x.name;if(x.type==="JSXNamespacedName")return x.namespace.name+":"+x.name.name;if(x.type==="JSXMemberExpression")return I(x.object)+"."+I(x.property)}u.exports=function(x){return x=x||{},function(R){return T({allowNamespaces:x.allowNamespaces!==!1,allowNamespacedObjects:!!x.allowNamespacedObjects},R)}},Object.defineProperty(u.exports,"tokTypes",{get:function(){return y(ft()).tokTypes},configurable:!0,enumerable:!0});function T(x,R){let U=R.acorn||ft(),D=y(U),g=U.tokTypes,w=D.tokTypes,G=U.tokContexts,f=D.tokContexts.tc_oTag,B=D.tokContexts.tc_cTag,V=D.tokContexts.tc_expr,k=U.isNewLine,X=U.isIdentifierStart,O=U.isIdentifierChar;return class extends R{static get acornJsx(){return D}jsx_readToken(){let i="",S=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let F=this.input.charCodeAt(this.pos);switch(F){case 60:case 123:return this.pos===this.start?F===60&&this.exprAllowed?(++this.pos,this.finishToken(w.jsxTagStart)):this.getTokenFromCode(F):(i+=this.input.slice(S,this.pos),this.finishToken(w.jsxText,i));case 38:i+=this.input.slice(S,this.pos),i+=this.jsx_readEntity(),S=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(F===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:k(F)?(i+=this.input.slice(S,this.pos),i+=this.jsx_readNewLine(!0),S=this.pos):++this.pos}}}jsx_readNewLine(i){let S=this.input.charCodeAt(this.pos),F;return++this.pos,S===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,F=i?` -`:`\r -`):F=String.fromCharCode(S),this.options.locations&&(++this.curLine,this.lineStart=this.pos),F}jsx_readString(i){let S="",F=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let j=this.input.charCodeAt(this.pos);if(j===i)break;j===38?(S+=this.input.slice(F,this.pos),S+=this.jsx_readEntity(),F=this.pos):k(j)?(S+=this.input.slice(F,this.pos),S+=this.jsx_readNewLine(!1),F=this.pos):++this.pos}return S+=this.input.slice(F,this.pos++),this.finishToken(g.string,S)}jsx_readEntity(){let i="",S=0,F,j=this.input[this.pos];j!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let Z=++this.pos;for(;this.pos")}let ee=Z.name?"Element":"Fragment";return F["opening"+ee]=Z,F["closing"+ee]=ne,F.children=j,this.type===g.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(F,"JSX"+ee)}jsx_parseText(){let i=this.parseLiteral(this.value);return i.type="JSXText",i}jsx_parseElement(){let i=this.start,S=this.startLoc;return this.next(),this.jsx_parseElementAt(i,S)}parseExprAtom(i){return this.type===w.jsxText?this.jsx_parseText():this.type===w.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(i)}readToken(i){let S=this.curContext();if(S===V)return this.jsx_readToken();if(S===f||S===B){if(X(i))return this.jsx_readWord();if(i==62)return++this.pos,this.finishToken(w.jsxTagEnd);if((i===34||i===39)&&S==f)return this.jsx_readString(i)}return i===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(w.jsxTagStart)):super.readToken(i)}updateContext(i){if(this.type==g.braceL){var S=this.curContext();S==f?this.context.push(G.b_expr):S==V?this.context.push(G.b_tmpl):super.updateContext(i),this.exprAllowed=!0}else if(this.type===g.slash&&i===w.jsxTagStart)this.context.length-=2,this.context.push(B),this.exprAllowed=!1;else return super.updateContext(i)}}}}}),zh=Q({"src/language-js/parse/acorn.js"(a,u){"use strict";J();var o=dr(),l=ka(),v=Ua(),b=Wa(),y={ecmaVersion:"latest",sourceType:"module",allowReserved:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,allowAwaitOutsideFunction:!0,allowSuperOutsideMethod:!0,allowHashBang:!0,locations:!0,ranges:!0};function I(D){let{message:g,loc:w}=D;if(!w)return D;let{line:G,column:f}=w;return o(g.replace(/ \(\d+:\d+\)$/,""),{start:{line:G,column:f+1}})}var T,x=()=>{if(!T){let{Parser:D}=ft(),g=za();T=D.extend(g())}return T};function R(D,g){let w=x(),G=[],f=[],B=w.parse(D,Object.assign(Object.assign({},y),{},{sourceType:g,onComment:G,onToken:f}));return B.comments=G,B.tokens=f,B}function U(D,g){let w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:G,error:f}=l(()=>R(D,"module"),()=>R(D,"script"));if(!G)throw I(f);return w.originalText=D,b(G,w)}u.exports=v(U)}}),Gh=Q({"src/language-js/parse/utils/replace-hashbang.js"(a,u){"use strict";J();function o(l){return l.charAt(0)==="#"&&l.charAt(1)==="!"?"//"+l.slice(2):l}u.exports=o}}),Hh=Q({"node_modules/espree/dist/espree.cjs"(a){"use strict";J(),Object.defineProperty(a,"__esModule",{value:!0});var u=ft(),o=za(),l;function v(p){return p&&typeof p=="object"&&"default"in p?p:{default:p}}function b(p){if(p&&p.__esModule)return p;var P=Object.create(null);return p&&Object.keys(p).forEach(function(_){if(_!=="default"){var d=Object.getOwnPropertyDescriptor(p,_);Object.defineProperty(P,_,d.get?d:{enumerable:!0,get:function(){return p[_]}})}}),P.default=p,Object.freeze(P)}var y=b(u),I=v(o),T=b(l),x={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};function R(p,P){let _=p[0],d=p[p.length-1],C={type:x.Template,value:P.slice(_.start,d.end)};return _.loc&&(C.loc={start:_.loc.start,end:d.loc.end}),_.range&&(C.start=_.range[0],C.end=d.range[1],C.range=[C.start,C.end]),C}function U(p,P){this._acornTokTypes=p,this._tokens=[],this._curlyBrace=null,this._code=P}U.prototype={constructor:U,translate(p,P){let _=p.type,d=this._acornTokTypes;if(_===d.name)p.type=x.Identifier,p.value==="static"&&(p.type=x.Keyword),P.ecmaVersion>5&&(p.value==="yield"||p.value==="let")&&(p.type=x.Keyword);else if(_===d.privateId)p.type=x.PrivateIdentifier;else if(_===d.semi||_===d.comma||_===d.parenL||_===d.parenR||_===d.braceL||_===d.braceR||_===d.dot||_===d.bracketL||_===d.colon||_===d.question||_===d.bracketR||_===d.ellipsis||_===d.arrow||_===d.jsxTagStart||_===d.incDec||_===d.starstar||_===d.jsxTagEnd||_===d.prefix||_===d.questionDot||_.binop&&!_.keyword||_.isAssign)p.type=x.Punctuator,p.value=this._code.slice(p.start,p.end);else if(_===d.jsxName)p.type=x.JSXIdentifier;else if(_.label==="jsxText"||_===d.jsxAttrValueToken)p.type=x.JSXText;else if(_.keyword)_.keyword==="true"||_.keyword==="false"?p.type=x.Boolean:_.keyword==="null"?p.type=x.Null:p.type=x.Keyword;else if(_===d.num)p.type=x.Numeric,p.value=this._code.slice(p.start,p.end);else if(_===d.string)P.jsxAttrValueToken?(P.jsxAttrValueToken=!1,p.type=x.JSXText):p.type=x.String,p.value=this._code.slice(p.start,p.end);else if(_===d.regexp){p.type=x.RegularExpression;let C=p.value;p.regex={flags:C.flags,pattern:C.pattern},p.value=`/${C.pattern}/${C.flags}`}return p},onToken(p,P){let _=this,d=this._acornTokTypes,C=P.tokens,K=this._tokens;function H(){C.push(R(_._tokens,_._code)),_._tokens=[]}if(p.type===d.eof){this._curlyBrace&&C.push(this.translate(this._curlyBrace,P));return}if(p.type===d.backQuote){this._curlyBrace&&(C.push(this.translate(this._curlyBrace,P)),this._curlyBrace=null),K.push(p),K.length>1&&H();return}if(p.type===d.dollarBraceL){K.push(p),H();return}if(p.type===d.braceR){this._curlyBrace&&C.push(this.translate(this._curlyBrace,P)),this._curlyBrace=p;return}if(p.type===d.template||p.type===d.invalidTemplate){this._curlyBrace&&(K.push(this._curlyBrace),this._curlyBrace=null),K.push(p);return}this._curlyBrace&&(C.push(this.translate(this._curlyBrace,P)),this._curlyBrace=null),C.push(this.translate(p,P))}};var D=[3,5,6,7,8,9,10,11,12,13,14];function g(){return D[D.length-1]}function w(){return[...D]}function G(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:5,P=p==="latest"?g():p;if(typeof P!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof p} instead.`);if(P>=2015&&(P-=2009),!D.includes(P))throw new Error("Invalid ecmaVersion.");return P}function f(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"script";if(p==="script"||p==="module")return p;if(p==="commonjs")return"script";throw new Error("Invalid sourceType.")}function B(p){let P=G(p.ecmaVersion),_=f(p.sourceType),d=p.range===!0,C=p.loc===!0;if(P!==3&&p.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof p.allowReserved<"u"&&typeof p.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let K=P===3?p.allowReserved||"never":!1,H=p.ecmaFeatures||{},te=p.sourceType==="commonjs"||Boolean(H.globalReturn);if(_==="module"&&P<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},p,{ecmaVersion:P,sourceType:_,ranges:d,locations:C,allowReserved:K,allowReturnOutsideFunction:te})}var V=Symbol("espree's internal state"),k=Symbol("espree's esprimaFinishNode");function X(p,P,_,d,C,K,H){let te;p?te="Block":H.slice(_,_+2)==="#!"?te="Hashbang":te="Line";let ae={type:te,value:P};return typeof _=="number"&&(ae.start=_,ae.end=d,ae.range=[_,d]),typeof C=="object"&&(ae.loc={start:C,end:K}),ae}var O=()=>p=>{let P=Object.assign({},p.acorn.tokTypes);return p.acornJsx&&Object.assign(P,p.acornJsx.tokTypes),class extends p{constructor(d,C){(typeof d!="object"||d===null)&&(d={}),typeof C!="string"&&!(C instanceof String)&&(C=String(C));let K=d.sourceType,H=B(d),te=H.ecmaFeatures||{},ae=H.tokens===!0?new U(P,C):null,fe={originalSourceType:K||H.sourceType,tokens:ae?[]:null,comments:H.comment===!0?[]:null,impliedStrict:te.impliedStrict===!0&&H.ecmaVersion>=5,ecmaVersion:H.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:H.ecmaVersion,sourceType:H.sourceType,ranges:H.ranges,locations:H.locations,allowReserved:H.allowReserved,allowReturnOutsideFunction:H.allowReturnOutsideFunction,onToken:Ae=>{ae&&ae.onToken(Ae,fe),Ae.type!==P.eof&&(fe.lastToken=Ae)},onComment:(Ae,dt,mt,_e,Ce,Oe)=>{if(fe.comments){let ze=X(Ae,dt,mt,_e,Ce,Oe,C);fe.comments.push(ze)}}},C),this[V]=fe}tokenize(){do this.next();while(this.type!==P.eof);this.next();let d=this[V],C=d.tokens;return d.comments&&(C.comments=d.comments),C}finishNode(){let d=super.finishNode(...arguments);return this[k](d)}finishNodeAt(){let d=super.finishNodeAt(...arguments);return this[k](d)}parse(){let d=this[V],C=super.parse();if(C.sourceType=d.originalSourceType,d.comments&&(C.comments=d.comments),d.tokens&&(C.tokens=d.tokens),C.body.length){let[K]=C.body;C.range&&(C.range[0]=K.range[0]),C.loc&&(C.loc.start=K.loc.start),C.start=K.start}return d.lastToken&&(C.range&&(C.range[1]=d.lastToken.range[1]),C.loc&&(C.loc.end=d.lastToken.loc.end),C.end=d.lastToken.end),this[V].templateElements.forEach(K=>{let te=K.tail?1:2;K.start+=-1,K.end+=te,K.range&&(K.range[0]+=-1,K.range[1]+=te),K.loc&&(K.loc.start.column+=-1,K.loc.end.column+=te)}),C}parseTopLevel(d){return this[V].impliedStrict&&(this.strict=!0),super.parseTopLevel(d)}raise(d,C){let K=p.acorn.getLineInfo(this.input,d),H=new SyntaxError(C);throw H.index=d,H.lineNumber=K.line,H.column=K.column+1,H}raiseRecoverable(d,C){this.raise(d,C)}unexpected(d){let C="Unexpected token";if(d!=null){if(this.pos=d,this.options.locations)for(;this.posthis.start&&(C+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,C)}jsx_readString(d){let C=super.jsx_readString(d);return this.type===P.string&&(this[V].jsxAttrValueToken=!0),C}[k](d){return d.type==="TemplateElement"&&this[V].templateElements.push(d),d.type.includes("Function")&&!d.generator&&(d.generator=!1),d}}},i="9.4.1",S={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=y.Parser.extend(O())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=y.Parser.extend(I.default(),O())),this._jsx},get(p){return Boolean(p&&p.ecmaFeatures&&p.ecmaFeatures.jsx)?this.jsx:this.regular}};function F(p,P){let _=S.get(P);return(!P||P.tokens!==!0)&&(P=Object.assign({},P,{tokens:!0})),new _(P,p).tokenize()}function j(p,P){let _=S.get(P);return new _(P,p).parse()}var Z=i,ne=function(){return T.KEYS}(),ee=void 0,ie=g(),Ne=w();a.Syntax=ee,a.VisitorKeys=ne,a.latestEcmaVersion=ie,a.parse=j,a.supportedEcmaVersions=Ne,a.tokenize=F,a.version=Z}}),Kh=Q({"src/language-js/parse/espree.js"(a,u){"use strict";J();var o=dr(),l=ka(),v=Ua(),b=Gh(),y=Wa(),I={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function T(R){let{message:U,lineNumber:D,column:g}=R;return typeof D!="number"?R:o(U,{start:{line:D,column:g}})}function x(R,U){let D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:g}=Hh(),w=b(R),{result:G,error:f}=l(()=>g(w,Object.assign(Object.assign({},I),{},{sourceType:"module"})),()=>g(w,Object.assign(Object.assign({},I),{},{sourceType:"script"})));if(!G)throw T(f);return D.originalText=R,y(G,D)}u.exports=v(x)}}),Xh=Q({"src/language-js/parse/acorn-and-espree.js"(a,u){J();var o=zh(),l=Kh();u.exports={parsers:{acorn:o,espree:l}}}}),mc=Xh();export{mc as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-flow.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-flow.mjs deleted file mode 100644 index e89ac2d92b..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-flow.mjs +++ /dev/null @@ -1,35 +0,0 @@ -var Le=(N0,M0)=>()=>(M0||N0((M0={exports:{}}).exports,M0),M0.exports);var Ii=Le((Iae,in0)=>{var h_=function(N0){return N0&&N0.Math==Math&&N0};in0.exports=h_(typeof globalThis=="object"&&globalThis)||h_(typeof window=="object"&&window)||h_(typeof self=="object"&&self)||h_(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Wc=Le((Aae,fn0)=>{fn0.exports=function(N0){try{return!!N0()}catch{return!0}}});var ws=Le((Nae,xn0)=>{var H7e=Wc();xn0.exports=!H7e(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var BR=Le((Cae,an0)=>{var X7e=Wc();an0.exports=!X7e(function(){var N0=function(){}.bind();return typeof N0!="function"||N0.hasOwnProperty("prototype")})});var w_=Le((Pae,on0)=>{var Y7e=BR(),k_=Function.prototype.call;on0.exports=Y7e?k_.bind(k_):function(){return k_.apply(k_,arguments)}});var ln0=Le(vn0=>{"use strict";var cn0={}.propertyIsEnumerable,sn0=Object.getOwnPropertyDescriptor,V7e=sn0&&!cn0.call({1:2},1);vn0.f=V7e?function(M0){var ir=sn0(this,M0);return!!ir&&ir.enumerable}:cn0});var qR=Le((Lae,bn0)=>{bn0.exports=function(N0,M0){return{enumerable:!(N0&1),configurable:!(N0&2),writable:!(N0&4),value:M0}}});var Es=Le((Rae,_n0)=>{var pn0=BR(),mn0=Function.prototype,UR=mn0.call,z7e=pn0&&mn0.bind.bind(UR,UR);_n0.exports=pn0?z7e:function(N0){return function(){return UR.apply(N0,arguments)}}});var hn0=Le((jae,dn0)=>{var yn0=Es(),K7e=yn0({}.toString),W7e=yn0("".slice);dn0.exports=function(N0){return W7e(K7e(N0),8,-1)}});var wn0=Le((Gae,kn0)=>{var J7e=Es(),$7e=Wc(),Z7e=hn0(),HR=Object,Q7e=J7e("".split);kn0.exports=$7e(function(){return!HR("z").propertyIsEnumerable(0)})?function(N0){return Z7e(N0)=="String"?Q7e(N0,""):HR(N0)}:HR});var XR=Le((Mae,En0)=>{En0.exports=function(N0){return N0==null}});var YR=Le((Bae,Sn0)=>{var rie=XR(),eie=TypeError;Sn0.exports=function(N0){if(rie(N0))throw eie("Can't call method on "+N0);return N0}});var E_=Le((qae,gn0)=>{var nie=wn0(),tie=YR();gn0.exports=function(N0){return nie(tie(N0))}});var zR=Le((Uae,Fn0)=>{var VR=typeof document=="object"&&document.all,uie=typeof VR>"u"&&VR!==void 0;Fn0.exports={all:VR,IS_HTMLDDA:uie}});var $i=Le((Hae,On0)=>{var Tn0=zR(),iie=Tn0.all;On0.exports=Tn0.IS_HTMLDDA?function(N0){return typeof N0=="function"||N0===iie}:function(N0){return typeof N0=="function"}});var S2=Le((Xae,Nn0)=>{var In0=$i(),An0=zR(),fie=An0.all;Nn0.exports=An0.IS_HTMLDDA?function(N0){return typeof N0=="object"?N0!==null:In0(N0)||N0===fie}:function(N0){return typeof N0=="object"?N0!==null:In0(N0)}});var S_=Le((Yae,Cn0)=>{var KR=Ii(),xie=$i(),aie=function(N0){return xie(N0)?N0:void 0};Cn0.exports=function(N0,M0){return arguments.length<2?aie(KR[N0]):KR[N0]&&KR[N0][M0]}});var Dn0=Le((Vae,Pn0)=>{var oie=Es();Pn0.exports=oie({}.isPrototypeOf)});var Rn0=Le((zae,Ln0)=>{var cie=S_();Ln0.exports=cie("navigator","userAgent")||""});var Hn0=Le((Kae,Un0)=>{var qn0=Ii(),WR=Rn0(),jn0=qn0.process,Gn0=qn0.Deno,Mn0=jn0&&jn0.versions||Gn0&&Gn0.version,Bn0=Mn0&&Mn0.v8,Zi,g_;Bn0&&(Zi=Bn0.split("."),g_=Zi[0]>0&&Zi[0]<4?1:+(Zi[0]+Zi[1]));!g_&&WR&&(Zi=WR.match(/Edge\/(\d+)/),(!Zi||Zi[1]>=74)&&(Zi=WR.match(/Chrome\/(\d+)/),Zi&&(g_=+Zi[1])));Un0.exports=g_});var JR=Le((Wae,Yn0)=>{var Xn0=Hn0(),sie=Wc();Yn0.exports=!!Object.getOwnPropertySymbols&&!sie(function(){var N0=Symbol();return!String(N0)||!(Object(N0)instanceof Symbol)||!Symbol.sham&&Xn0&&Xn0<41})});var $R=Le((Jae,Vn0)=>{var vie=JR();Vn0.exports=vie&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var ZR=Le(($ae,zn0)=>{var lie=S_(),bie=$i(),pie=Dn0(),mie=$R(),_ie=Object;zn0.exports=mie?function(N0){return typeof N0=="symbol"}:function(N0){var M0=lie("Symbol");return bie(M0)&&pie(M0.prototype,_ie(N0))}});var Wn0=Le((Zae,Kn0)=>{var yie=String;Kn0.exports=function(N0){try{return yie(N0)}catch{return"Object"}}});var $n0=Le((Qae,Jn0)=>{var die=$i(),hie=Wn0(),kie=TypeError;Jn0.exports=function(N0){if(die(N0))return N0;throw kie(hie(N0)+" is not a function")}});var Qn0=Le((roe,Zn0)=>{var wie=$n0(),Eie=XR();Zn0.exports=function(N0,M0){var ir=N0[M0];return Eie(ir)?void 0:wie(ir)}});var et0=Le((eoe,rt0)=>{var QR=w_(),rj=$i(),ej=S2(),Sie=TypeError;rt0.exports=function(N0,M0){var ir,gr;if(M0==="string"&&rj(ir=N0.toString)&&!ej(gr=QR(ir,N0))||rj(ir=N0.valueOf)&&!ej(gr=QR(ir,N0))||M0!=="string"&&rj(ir=N0.toString)&&!ej(gr=QR(ir,N0)))return gr;throw Sie("Can't convert object to primitive value")}});var tt0=Le((noe,nt0)=>{nt0.exports=!1});var F_=Le((toe,it0)=>{var ut0=Ii(),gie=Object.defineProperty;it0.exports=function(N0,M0){try{gie(ut0,N0,{value:M0,configurable:!0,writable:!0})}catch{ut0[N0]=M0}return M0}});var T_=Le((uoe,xt0)=>{var Fie=Ii(),Tie=F_(),ft0="__core-js_shared__",Oie=Fie[ft0]||Tie(ft0,{});xt0.exports=Oie});var nj=Le((ioe,ot0)=>{var Iie=tt0(),at0=T_();(ot0.exports=function(N0,M0){return at0[N0]||(at0[N0]=M0!==void 0?M0:{})})("versions",[]).push({version:"3.26.1",mode:Iie?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var st0=Le((foe,ct0)=>{var Aie=YR(),Nie=Object;ct0.exports=function(N0){return Nie(Aie(N0))}});var n1=Le((xoe,vt0)=>{var Cie=Es(),Pie=st0(),Die=Cie({}.hasOwnProperty);vt0.exports=Object.hasOwn||function(M0,ir){return Die(Pie(M0),ir)}});var tj=Le((aoe,lt0)=>{var Lie=Es(),Rie=0,jie=Math.random(),Gie=Lie(1 .toString);lt0.exports=function(N0){return"Symbol("+(N0===void 0?"":N0)+")_"+Gie(++Rie+jie,36)}});var dt0=Le((ooe,yt0)=>{var Mie=Ii(),Bie=nj(),bt0=n1(),qie=tj(),pt0=JR(),_t0=$R(),g2=Bie("wks"),xv=Mie.Symbol,mt0=xv&&xv.for,Uie=_t0?xv:xv&&xv.withoutSetter||qie;yt0.exports=function(N0){if(!bt0(g2,N0)||!(pt0||typeof g2[N0]=="string")){var M0="Symbol."+N0;pt0&&bt0(xv,N0)?g2[N0]=xv[N0]:_t0&&mt0?g2[N0]=mt0(M0):g2[N0]=Uie(M0)}return g2[N0]}});var Et0=Le((coe,wt0)=>{var Hie=w_(),ht0=S2(),kt0=ZR(),Xie=Qn0(),Yie=et0(),Vie=dt0(),zie=TypeError,Kie=Vie("toPrimitive");wt0.exports=function(N0,M0){if(!ht0(N0)||kt0(N0))return N0;var ir=Xie(N0,Kie),gr;if(ir){if(M0===void 0&&(M0="default"),gr=Hie(ir,N0,M0),!ht0(gr)||kt0(gr))return gr;throw zie("Can't convert object to primitive value")}return M0===void 0&&(M0="number"),Yie(N0,M0)}});var uj=Le((soe,St0)=>{var Wie=Et0(),Jie=ZR();St0.exports=function(N0){var M0=Wie(N0,"string");return Jie(M0)?M0:M0+""}});var Tt0=Le((voe,Ft0)=>{var $ie=Ii(),gt0=S2(),ij=$ie.document,Zie=gt0(ij)&>0(ij.createElement);Ft0.exports=function(N0){return Zie?ij.createElement(N0):{}}});var fj=Le((loe,Ot0)=>{var Qie=ws(),rfe=Wc(),efe=Tt0();Ot0.exports=!Qie&&!rfe(function(){return Object.defineProperty(efe("div"),"a",{get:function(){return 7}}).a!=7})});var xj=Le(At0=>{var nfe=ws(),tfe=w_(),ufe=ln0(),ife=qR(),ffe=E_(),xfe=uj(),afe=n1(),ofe=fj(),It0=Object.getOwnPropertyDescriptor;At0.f=nfe?It0:function(M0,ir){if(M0=ffe(M0),ir=xfe(ir),ofe)try{return It0(M0,ir)}catch{}if(afe(M0,ir))return ife(!tfe(ufe.f,M0,ir),M0[ir])}});var Ct0=Le((poe,Nt0)=>{var cfe=ws(),sfe=Wc();Nt0.exports=cfe&&sfe(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var O_=Le((moe,Pt0)=>{var vfe=S2(),lfe=String,bfe=TypeError;Pt0.exports=function(N0){if(vfe(N0))return N0;throw bfe(lfe(N0)+" is not an object")}});var o4=Le(Lt0=>{var pfe=ws(),mfe=fj(),_fe=Ct0(),I_=O_(),Dt0=uj(),yfe=TypeError,aj=Object.defineProperty,dfe=Object.getOwnPropertyDescriptor,oj="enumerable",cj="configurable",sj="writable";Lt0.f=pfe?_fe?function(M0,ir,gr){if(I_(M0),ir=Dt0(ir),I_(gr),typeof M0=="function"&&ir==="prototype"&&"value"in gr&&sj in gr&&!gr[sj]){var ye=dfe(M0,ir);ye&&ye[sj]&&(M0[ir]=gr.value,gr={configurable:cj in gr?gr[cj]:ye[cj],enumerable:oj in gr?gr[oj]:ye[oj],writable:!1})}return aj(M0,ir,gr)}:aj:function(M0,ir,gr){if(I_(M0),ir=Dt0(ir),I_(gr),mfe)try{return aj(M0,ir,gr)}catch{}if("get"in gr||"set"in gr)throw yfe("Accessors not supported");return"value"in gr&&(M0[ir]=gr.value),M0}});var vj=Le((yoe,Rt0)=>{var hfe=ws(),kfe=o4(),wfe=qR();Rt0.exports=hfe?function(N0,M0,ir){return kfe.f(N0,M0,wfe(1,ir))}:function(N0,M0,ir){return N0[M0]=ir,N0}});var Mt0=Le((doe,Gt0)=>{var lj=ws(),Efe=n1(),jt0=Function.prototype,Sfe=lj&&Object.getOwnPropertyDescriptor,bj=Efe(jt0,"name"),gfe=bj&&function(){}.name==="something",Ffe=bj&&(!lj||lj&&Sfe(jt0,"name").configurable);Gt0.exports={EXISTS:bj,PROPER:gfe,CONFIGURABLE:Ffe}});var qt0=Le((hoe,Bt0)=>{var Tfe=Es(),Ofe=$i(),pj=T_(),Ife=Tfe(Function.toString);Ofe(pj.inspectSource)||(pj.inspectSource=function(N0){return Ife(N0)});Bt0.exports=pj.inspectSource});var Xt0=Le((koe,Ht0)=>{var Afe=Ii(),Nfe=$i(),Ut0=Afe.WeakMap;Ht0.exports=Nfe(Ut0)&&/native code/.test(String(Ut0))});var zt0=Le((woe,Vt0)=>{var Cfe=nj(),Pfe=tj(),Yt0=Cfe("keys");Vt0.exports=function(N0){return Yt0[N0]||(Yt0[N0]=Pfe(N0))}});var mj=Le((Eoe,Kt0)=>{Kt0.exports={}});var Zt0=Le((Soe,$t0)=>{var Dfe=Xt0(),Jt0=Ii(),Lfe=S2(),Rfe=vj(),_j=n1(),yj=T_(),jfe=zt0(),Gfe=mj(),Wt0="Object already initialized",dj=Jt0.TypeError,Mfe=Jt0.WeakMap,A_,c4,N_,Bfe=function(N0){return N_(N0)?c4(N0):A_(N0,{})},qfe=function(N0){return function(M0){var ir;if(!Lfe(M0)||(ir=c4(M0)).type!==N0)throw dj("Incompatible receiver, "+N0+" required");return ir}};Dfe||yj.state?(Qi=yj.state||(yj.state=new Mfe),Qi.get=Qi.get,Qi.has=Qi.has,Qi.set=Qi.set,A_=function(N0,M0){if(Qi.has(N0))throw dj(Wt0);return M0.facade=N0,Qi.set(N0,M0),M0},c4=function(N0){return Qi.get(N0)||{}},N_=function(N0){return Qi.has(N0)}):(av=jfe("state"),Gfe[av]=!0,A_=function(N0,M0){if(_j(N0,av))throw dj(Wt0);return M0.facade=N0,Rfe(N0,av,M0),M0},c4=function(N0){return _j(N0,av)?N0[av]:{}},N_=function(N0){return _j(N0,av)});var Qi,av;$t0.exports={set:A_,get:c4,has:N_,enforce:Bfe,getterFor:qfe}});var kj=Le((goe,ru0)=>{var Ufe=Wc(),Hfe=$i(),C_=n1(),hj=ws(),Xfe=Mt0().CONFIGURABLE,Yfe=qt0(),Qt0=Zt0(),Vfe=Qt0.enforce,zfe=Qt0.get,P_=Object.defineProperty,Kfe=hj&&!Ufe(function(){return P_(function(){},"length",{value:8}).length!==8}),Wfe=String(String).split("String"),Jfe=ru0.exports=function(N0,M0,ir){String(M0).slice(0,7)==="Symbol("&&(M0="["+String(M0).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),ir&&ir.getter&&(M0="get "+M0),ir&&ir.setter&&(M0="set "+M0),(!C_(N0,"name")||Xfe&&N0.name!==M0)&&(hj?P_(N0,"name",{value:M0,configurable:!0}):N0.name=M0),Kfe&&ir&&C_(ir,"arity")&&N0.length!==ir.arity&&P_(N0,"length",{value:ir.arity});try{ir&&C_(ir,"constructor")&&ir.constructor?hj&&P_(N0,"prototype",{writable:!1}):N0.prototype&&(N0.prototype=void 0)}catch{}var gr=Vfe(N0);return C_(gr,"source")||(gr.source=Wfe.join(typeof M0=="string"?M0:"")),N0};Function.prototype.toString=Jfe(function(){return Hfe(this)&&zfe(this).source||Yfe(this)},"toString")});var nu0=Le((Foe,eu0)=>{var $fe=$i(),Zfe=o4(),Qfe=kj(),rxe=F_();eu0.exports=function(N0,M0,ir,gr){gr||(gr={});var ye=gr.enumerable,ze=gr.name!==void 0?gr.name:M0;if($fe(ir)&&Qfe(ir,ze,gr),gr.global)ye?N0[M0]=ir:rxe(M0,ir);else{try{gr.unsafe?N0[M0]&&(ye=!0):delete N0[M0]}catch{}ye?N0[M0]=ir:Zfe.f(N0,M0,{value:ir,enumerable:!1,configurable:!gr.nonConfigurable,writable:!gr.nonWritable})}return N0}});var uu0=Le((Toe,tu0)=>{var exe=Math.ceil,nxe=Math.floor;tu0.exports=Math.trunc||function(M0){var ir=+M0;return(ir>0?nxe:exe)(ir)}});var wj=Le((Ooe,iu0)=>{var txe=uu0();iu0.exports=function(N0){var M0=+N0;return M0!==M0||M0===0?0:txe(M0)}});var xu0=Le((Ioe,fu0)=>{var uxe=wj(),ixe=Math.max,fxe=Math.min;fu0.exports=function(N0,M0){var ir=uxe(N0);return ir<0?ixe(ir+M0,0):fxe(ir,M0)}});var ou0=Le((Aoe,au0)=>{var xxe=wj(),axe=Math.min;au0.exports=function(N0){return N0>0?axe(xxe(N0),9007199254740991):0}});var su0=Le((Noe,cu0)=>{var oxe=ou0();cu0.exports=function(N0){return oxe(N0.length)}});var bu0=Le((Coe,lu0)=>{var cxe=E_(),sxe=xu0(),vxe=su0(),vu0=function(N0){return function(M0,ir,gr){var ye=cxe(M0),ze=vxe(ye),Ne=sxe(gr,ze),En;if(N0&&ir!=ir){for(;ze>Ne;)if(En=ye[Ne++],En!=En)return!0}else for(;ze>Ne;Ne++)if((N0||Ne in ye)&&ye[Ne]===ir)return N0||Ne||0;return!N0&&-1}};lu0.exports={includes:vu0(!0),indexOf:vu0(!1)}});var _u0=Le((Poe,mu0)=>{var lxe=Es(),Ej=n1(),bxe=E_(),pxe=bu0().indexOf,mxe=mj(),pu0=lxe([].push);mu0.exports=function(N0,M0){var ir=bxe(N0),gr=0,ye=[],ze;for(ze in ir)!Ej(mxe,ze)&&Ej(ir,ze)&&pu0(ye,ze);for(;M0.length>gr;)Ej(ir,ze=M0[gr++])&&(~pxe(ye,ze)||pu0(ye,ze));return ye}});var du0=Le((Doe,yu0)=>{yu0.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ku0=Le(hu0=>{var _xe=_u0(),yxe=du0(),dxe=yxe.concat("length","prototype");hu0.f=Object.getOwnPropertyNames||function(M0){return _xe(M0,dxe)}});var Eu0=Le(wu0=>{wu0.f=Object.getOwnPropertySymbols});var gu0=Le((joe,Su0)=>{var hxe=S_(),kxe=Es(),wxe=ku0(),Exe=Eu0(),Sxe=O_(),gxe=kxe([].concat);Su0.exports=hxe("Reflect","ownKeys")||function(M0){var ir=wxe.f(Sxe(M0)),gr=Exe.f;return gr?gxe(ir,gr(M0)):ir}});var Ou0=Le((Goe,Tu0)=>{var Fu0=n1(),Fxe=gu0(),Txe=xj(),Oxe=o4();Tu0.exports=function(N0,M0,ir){for(var gr=Fxe(M0),ye=Oxe.f,ze=Txe.f,Ne=0;Ne{var Ixe=Wc(),Axe=$i(),Nxe=/#|\.prototype\./,s4=function(N0,M0){var ir=Pxe[Cxe(N0)];return ir==Lxe?!0:ir==Dxe?!1:Axe(M0)?Ixe(M0):!!M0},Cxe=s4.normalize=function(N0){return String(N0).replace(Nxe,".").toLowerCase()},Pxe=s4.data={},Dxe=s4.NATIVE="N",Lxe=s4.POLYFILL="P";Iu0.exports=s4});var Cu0=Le((Boe,Nu0)=>{var Sj=Ii(),Rxe=xj().f,jxe=vj(),Gxe=nu0(),Mxe=F_(),Bxe=Ou0(),qxe=Au0();Nu0.exports=function(N0,M0){var ir=N0.target,gr=N0.global,ye=N0.stat,ze,Ne,En,kn,Xn,rt;if(gr?Ne=Sj:ye?Ne=Sj[ir]||Mxe(ir,{}):Ne=(Sj[ir]||{}).prototype,Ne)for(En in M0){if(Xn=M0[En],N0.dontCallGetSet?(rt=Rxe(Ne,En),kn=rt&&rt.value):kn=Ne[En],ze=qxe(gr?En:ir+(ye?".":"#")+En,N0.forced),!ze&&kn!==void 0){if(typeof Xn==typeof kn)continue;Bxe(Xn,kn)}(N0.sham||kn&&kn.sham)&&jxe(Xn,"sham",!0),Gxe(Ne,En,Xn,N0)}}});var Pu0=Le(()=>{var Uxe=Cu0(),gj=Ii();Uxe({global:!0,forced:gj.globalThis!==gj},{globalThis:gj})});var Ru0=Le((Hoe,Lu0)=>{var Du0=kj(),Hxe=o4();Lu0.exports=function(N0,M0,ir){return ir.get&&Du0(ir.get,M0,{getter:!0}),ir.set&&Du0(ir.set,M0,{setter:!0}),Hxe.f(N0,M0,ir)}});var Gu0=Le((Xoe,ju0)=>{"use strict";var Xxe=O_();ju0.exports=function(){var N0=Xxe(this),M0="";return N0.hasIndices&&(M0+="d"),N0.global&&(M0+="g"),N0.ignoreCase&&(M0+="i"),N0.multiline&&(M0+="m"),N0.dotAll&&(M0+="s"),N0.unicode&&(M0+="u"),N0.unicodeSets&&(M0+="v"),N0.sticky&&(M0+="y"),M0}});Pu0();var Yxe=Ii(),Vxe=ws(),zxe=Ru0(),Kxe=Gu0(),Wxe=Wc(),Mu0=Yxe.RegExp,Bu0=Mu0.prototype,Jxe=Vxe&&Wxe(function(){var N0=!0;try{Mu0(".","d")}catch{N0=!1}var M0={},ir="",gr=N0?"dgimsy":"gimsy",ye=function(kn,Xn){Object.defineProperty(M0,kn,{get:function(){return ir+=Xn,!0}})},ze={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};N0&&(ze.hasIndices="d");for(var Ne in ze)ye(Ne,ze[Ne]);var En=Object.getOwnPropertyDescriptor(Bu0,"flags").get.call(M0);return En!==gr||ir!==gr});Jxe&&zxe(Bu0,"flags",{configurable:!0,get:Kxe});var tU=Object.defineProperty,$xe=Object.getOwnPropertyDescriptor,uU=Object.getOwnPropertyNames,Zxe=Object.prototype.hasOwnProperty,L_=(N0,M0)=>function(){return N0&&(M0=(0,N0[uU(N0)[0]])(N0=0)),M0},ru=(N0,M0)=>function(){return M0||(0,N0[uU(N0)[0]])((M0={exports:{}}).exports,M0),M0.exports},iU=(N0,M0)=>{for(var ir in M0)tU(N0,ir,{get:M0[ir],enumerable:!0})},Qxe=(N0,M0,ir,gr)=>{if(M0&&typeof M0=="object"||typeof M0=="function")for(let ye of uU(M0))!Zxe.call(N0,ye)&&ye!==ir&&tU(N0,ye,{get:()=>M0[ye],enumerable:!(gr=$xe(M0,ye))||gr.enumerable});return N0},fU=N0=>Qxe(tU({},"__esModule",{value:!0}),N0),jt=L_({""(){}}),qu0=ru({"src/common/parser-create-error.js"(N0,M0){"use strict";jt();function ir(gr,ye){let ze=new SyntaxError(gr+" ("+ye.start.line+":"+ye.start.column+")");return ze.loc=ye,ze}M0.exports=ir}}),Uu0={};iU(Uu0,{EOL:()=>Ij,arch:()=>rae,cpus:()=>Wu0,default:()=>r70,endianness:()=>Hu0,freemem:()=>zu0,getNetworkInterfaces:()=>Qu0,hostname:()=>Xu0,loadavg:()=>Yu0,networkInterfaces:()=>Zu0,platform:()=>eae,release:()=>$u0,tmpDir:()=>Tj,tmpdir:()=>Oj,totalmem:()=>Ku0,type:()=>Ju0,uptime:()=>Vu0});function Hu0(){if(typeof D_>"u"){var N0=new ArrayBuffer(2),M0=new Uint8Array(N0),ir=new Uint16Array(N0);if(M0[0]=1,M0[1]=2,ir[0]===258)D_="BE";else if(ir[0]===513)D_="LE";else throw new Error("unable to figure out endianess")}return D_}function Xu0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Yu0(){return[]}function Vu0(){return 0}function zu0(){return Number.MAX_VALUE}function Ku0(){return Number.MAX_VALUE}function Wu0(){return[]}function Ju0(){return"Browser"}function $u0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function Zu0(){}function Qu0(){}function rae(){return"javascript"}function eae(){return"browser"}function Tj(){return"/tmp"}var D_,Oj,Ij,r70,nae=L_({"node-modules-polyfills:os"(){jt(),Oj=Tj,Ij=` -`,r70={EOL:Ij,tmpdir:Oj,tmpDir:Tj,networkInterfaces:Zu0,getNetworkInterfaces:Qu0,release:$u0,type:Ju0,cpus:Wu0,totalmem:Ku0,freemem:zu0,uptime:Vu0,loadavg:Yu0,hostname:Xu0,endianness:Hu0}}}),tae=ru({"node-modules-polyfills-commonjs:os"(N0,M0){jt();var ir=(nae(),fU(Uu0));if(ir&&ir.default){M0.exports=ir.default;for(let gr in ir)M0.exports[gr]=ir[gr]}else ir&&(M0.exports=ir)}}),uae=ru({"node_modules/detect-newline/index.js"(N0,M0){"use strict";jt();var ir=gr=>{if(typeof gr!="string")throw new TypeError("Expected a string");let ye=gr.match(/(?:\r?\n)/g)||[];if(ye.length===0)return;let ze=ye.filter(En=>En===`\r -`).length,Ne=ye.length-ze;return ze>Ne?`\r -`:` -`};M0.exports=ir,M0.exports.graceful=gr=>typeof gr=="string"&&ir(gr)||` -`}}),iae=ru({"node_modules/jest-docblock/build/index.js"(N0){"use strict";jt(),Object.defineProperty(N0,"__esModule",{value:!0}),N0.extract=sn,N0.parse=rf,N0.parseWithComments=wn,N0.print=Mn,N0.strip=Gt;function M0(){let On=tae();return M0=function(){return On},On}function ir(){let On=gr(uae());return ir=function(){return On},On}function gr(On){return On&&On.__esModule?On:{default:On}}var ye=/\*\/$/,ze=/^\/\*\*?/,Ne=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,En=/(^|\s+)\/\/([^\r\n]*)/g,kn=/^(\r?\n)+/,Xn=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,rt=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,St=/(\r?\n|^) *\* ?/g,wt=[];function sn(On){let eu=On.match(Ne);return eu?eu[0].trimLeft():""}function Gt(On){let eu=On.match(Ne);return eu&&eu[0]?On.substring(eu[0].length):On}function rf(On){return wn(On).pragmas}function wn(On){let eu=(0,ir().default)(On)||M0().EOL;On=On.replace(ze,"").replace(ye,"").replace(St,"$1");let E7="";for(;E7!==On;)E7=On,On=On.replace(Xn,`${eu}$1 $2${eu}`);On=On.replace(kn,"").trimRight();let Dt=Object.create(null),Ss=On.replace(rt,"").replace(kn,"").trimRight(),In;for(;In=rt.exec(On);){let Jc=In[2].replace(En,"");typeof Dt[In[1]]=="string"||Array.isArray(Dt[In[1]])?Dt[In[1]]=wt.concat(Dt[In[1]],Jc):Dt[In[1]]=Jc}return{comments:Ss,pragmas:Dt}}function Mn(On){let{comments:eu="",pragmas:E7={}}=On,Dt=(0,ir().default)(eu)||M0().EOL,Ss="/**",In=" *",Jc=" */",Ai=Object.keys(E7),vi=Ai.map(S7=>it(S7,E7[S7])).reduce((S7,ov)=>S7.concat(ov),[]).map(S7=>`${In} ${S7}${Dt}`).join("");if(!eu){if(Ai.length===0)return"";if(Ai.length===1&&!Array.isArray(E7[Ai[0]])){let S7=E7[Ai[0]];return`${Ss} ${it(Ai[0],S7)[0]}${Jc}`}}let Mt=eu.split(Dt).map(S7=>`${In} ${S7}`).join(Dt)+Dt;return Ss+Dt+(eu?Mt:"")+(eu&&Ai.length?In+Dt:"")+vi+Jc}function it(On,eu){return wt.concat(eu).map(E7=>`@${On} ${E7}`.trim())}}}),fae=ru({"src/common/end-of-line.js"(N0,M0){"use strict";jt();function ir(Ne){let En=Ne.indexOf("\r");return En>=0?Ne.charAt(En+1)===` -`?"crlf":"cr":"lf"}function gr(Ne){switch(Ne){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function ye(Ne,En){let kn;switch(En){case` -`:kn=/\n/g;break;case"\r":kn=/\r/g;break;case`\r -`:kn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(En)}.`)}let Xn=Ne.match(kn);return Xn?Xn.length:0}function ze(Ne){return Ne.replace(/\r\n?/g,` -`)}M0.exports={guessEndOfLine:ir,convertEndOfLineToChars:gr,countEndOfLineChars:ye,normalizeEndOfLine:ze}}}),xae=ru({"src/language-js/utils/get-shebang.js"(N0,M0){"use strict";jt();function ir(gr){if(!gr.startsWith("#!"))return"";let ye=gr.indexOf(` -`);return ye===-1?gr:gr.slice(0,ye)}M0.exports=ir}}),aae=ru({"src/language-js/pragma.js"(N0,M0){"use strict";jt();var{parseWithComments:ir,strip:gr,extract:ye,print:ze}=iae(),{normalizeEndOfLine:Ne}=fae(),En=xae();function kn(St){let wt=En(St);wt&&(St=St.slice(wt.length+1));let sn=ye(St),{pragmas:Gt,comments:rf}=ir(sn);return{shebang:wt,text:St,pragmas:Gt,comments:rf}}function Xn(St){let wt=Object.keys(kn(St).pragmas);return wt.includes("prettier")||wt.includes("format")}function rt(St){let{shebang:wt,text:sn,pragmas:Gt,comments:rf}=kn(St),wn=gr(sn),Mn=ze({pragmas:Object.assign({format:""},Gt),comments:rf.trimStart()});return(wt?`${wt} -`:"")+Ne(Mn)+(wn.startsWith(` -`)?` -`:` - -`)+wn}M0.exports={hasPragma:Xn,insertPragma:rt}}}),oae=ru({"src/utils/is-non-empty-array.js"(N0,M0){"use strict";jt();function ir(gr){return Array.isArray(gr)&&gr.length>0}M0.exports=ir}}),e70=ru({"src/language-js/loc.js"(N0,M0){"use strict";jt();var ir=oae();function gr(kn){var Xn,rt;let St=kn.range?kn.range[0]:kn.start,wt=(Xn=(rt=kn.declaration)===null||rt===void 0?void 0:rt.decorators)!==null&&Xn!==void 0?Xn:kn.decorators;return ir(wt)?Math.min(gr(wt[0]),St):St}function ye(kn){return kn.range?kn.range[1]:kn.end}function ze(kn,Xn){let rt=gr(kn);return Number.isInteger(rt)&&rt===gr(Xn)}function Ne(kn,Xn){let rt=ye(kn);return Number.isInteger(rt)&&rt===ye(Xn)}function En(kn,Xn){return ze(kn,Xn)&&Ne(kn,Xn)}M0.exports={locStart:gr,locEnd:ye,hasSameLocStart:ze,hasSameLoc:En}}}),cae=ru({"src/language-js/parse/utils/create-parser.js"(N0,M0){"use strict";jt();var{hasPragma:ir}=aae(),{locStart:gr,locEnd:ye}=e70();function ze(Ne){return Ne=typeof Ne=="function"?{parse:Ne}:Ne,Object.assign({astFormat:"estree",hasPragma:ir,locStart:gr,locEnd:ye},Ne)}M0.exports=ze}}),sae=ru({"src/language-js/parse/utils/replace-hashbang.js"(N0,M0){"use strict";jt();function ir(gr){return gr.charAt(0)==="#"&&gr.charAt(1)==="!"?"//"+gr.slice(2):gr}M0.exports=ir}}),vae=ru({"src/language-js/utils/is-ts-keyword-type.js"(N0,M0){"use strict";jt();function ir(gr){let{type:ye}=gr;return ye.startsWith("TS")&&ye.endsWith("Keyword")}M0.exports=ir}}),lae=ru({"src/language-js/utils/is-block-comment.js"(N0,M0){"use strict";jt();var ir=new Set(["Block","CommentBlock","MultiLine"]),gr=ye=>ir.has(ye==null?void 0:ye.type);M0.exports=gr}}),bae=ru({"src/language-js/utils/is-type-cast-comment.js"(N0,M0){"use strict";jt();var ir=lae();function gr(ye){return ir(ye)&&ye.value[0]==="*"&&/@(?:type|satisfies)\b/.test(ye.value)}M0.exports=gr}}),pae=ru({"src/utils/get-last.js"(N0,M0){"use strict";jt();var ir=gr=>gr[gr.length-1];M0.exports=ir}}),mae=ru({"src/language-js/parse/postprocess/visit-node.js"(N0,M0){"use strict";jt();function ir(gr,ye){if(Array.isArray(gr)){for(let ze=0;ze{Mn.leadingComments&&Mn.leadingComments.some(ze)&&wn.add(ir(Mn))}),sn=En(sn,Mn=>{if(Mn.type==="ParenthesizedExpression"){let{expression:it}=Mn;if(it.type==="TypeCastExpression")return it.range=Mn.range,it;let On=ir(Mn);if(!wn.has(On))return it.extra=Object.assign(Object.assign({},it.extra),{},{parenthesized:!0}),it}})}return sn=En(sn,wn=>{switch(wn.type){case"ChainExpression":return rt(wn.expression);case"LogicalExpression":{if(St(wn))return wt(wn);break}case"VariableDeclaration":{let Mn=Ne(wn.declarations);Mn&&Mn.init&&rf(wn,Mn);break}case"TSParenthesizedType":return ye(wn.typeAnnotation)||wn.typeAnnotation.type==="TSThisType"||(wn.typeAnnotation.range=[ir(wn),gr(wn)]),wn.typeAnnotation;case"TSTypeParameter":if(typeof wn.name=="string"){let Mn=ir(wn);wn.name={type:"Identifier",name:wn.name,range:[Mn,Mn+wn.name.length]}}break;case"ObjectExpression":if(Gt.parser==="typescript"){let Mn=wn.properties.find(it=>it.type==="Property"&&it.value.type==="TSEmptyBodyFunctionExpression");Mn&&kn(Mn.value,"Unexpected token.")}break;case"SequenceExpression":{let Mn=Ne(wn.expressions);wn.range=[ir(wn),Math.min(gr(Mn),gr(wn))];break}case"TopicReference":Gt.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:Mn}=wn;if(Gt.parser==="meriyah"&&Mn&&Mn.type==="Identifier"){let it=Gt.originalText.slice(ir(Mn),gr(Mn));(it.startsWith('"')||it.startsWith("'"))&&(wn.exported=Object.assign(Object.assign({},wn.exported),{},{type:"Literal",value:wn.exported.name,raw:it}))}break}case"PropertyDefinition":if(Gt.parser==="meriyah"&&wn.static&&!wn.computed&&!wn.key){let Mn="static",it=ir(wn);Object.assign(wn,{static:!1,key:{type:"Identifier",name:Mn,range:[it,it+Mn.length]}})}break}}),sn;function rf(wn,Mn){Gt.originalText[gr(Mn)]!==";"&&(wn.range=[ir(wn),gr(Mn)])}}function rt(sn){switch(sn.type){case"CallExpression":sn.type="OptionalCallExpression",sn.callee=rt(sn.callee);break;case"MemberExpression":sn.type="OptionalMemberExpression",sn.object=rt(sn.object);break;case"TSNonNullExpression":sn.expression=rt(sn.expression);break}return sn}function St(sn){return sn.type==="LogicalExpression"&&sn.right.type==="LogicalExpression"&&sn.operator===sn.right.operator}function wt(sn){return St(sn)?wt({type:"LogicalExpression",operator:sn.operator,left:wt({type:"LogicalExpression",operator:sn.operator,left:sn.left,right:sn.right.left,range:[ir(sn.left),gr(sn.right.left)]}),right:sn.right.right,range:[ir(sn),gr(sn)]}):sn}M0.exports=Xn}}),n70={};iU(n70,{default:()=>t70});var t70,dae=L_({"node-modules-polyfills:fs"(){jt(),t70={}}}),Fj=ru({"node-modules-polyfills-commonjs:fs"(N0,M0){jt();var ir=(dae(),fU(n70));if(ir&&ir.default){M0.exports=ir.default;for(let gr in ir)M0.exports[gr]=ir[gr]}else ir&&(M0.exports=ir)}}),u70={};iU(u70,{ALPN_ENABLED:()=>Gq,COPYFILE_EXCL:()=>jB,COPYFILE_FICLONE:()=>MB,COPYFILE_FICLONE_FORCE:()=>qB,DH_CHECK_P_NOT_PRIME:()=>Lq,DH_CHECK_P_NOT_SAFE_PRIME:()=>Dq,DH_NOT_SUITABLE_GENERATOR:()=>jq,DH_UNABLE_TO_CHECK_GENERATOR:()=>Rq,E2BIG:()=>Dj,EACCES:()=>Lj,EADDRINUSE:()=>Rj,EADDRNOTAVAIL:()=>jj,EAFNOSUPPORT:()=>Gj,EAGAIN:()=>Mj,EALREADY:()=>Bj,EBADF:()=>qj,EBADMSG:()=>Uj,EBUSY:()=>Hj,ECANCELED:()=>Xj,ECHILD:()=>Yj,ECONNABORTED:()=>Vj,ECONNREFUSED:()=>zj,ECONNRESET:()=>Kj,EDEADLK:()=>Wj,EDESTADDRREQ:()=>Jj,EDOM:()=>$j,EDQUOT:()=>Zj,EEXIST:()=>Qj,EFAULT:()=>rG,EFBIG:()=>eG,EHOSTUNREACH:()=>nG,EIDRM:()=>tG,EILSEQ:()=>uG,EINPROGRESS:()=>iG,EINTR:()=>fG,EINVAL:()=>xG,EIO:()=>aG,EISCONN:()=>oG,EISDIR:()=>cG,ELOOP:()=>sG,EMFILE:()=>vG,EMLINK:()=>lG,EMSGSIZE:()=>bG,EMULTIHOP:()=>pG,ENAMETOOLONG:()=>mG,ENETDOWN:()=>_G,ENETRESET:()=>yG,ENETUNREACH:()=>dG,ENFILE:()=>hG,ENGINE_METHOD_ALL:()=>Cq,ENGINE_METHOD_CIPHERS:()=>Oq,ENGINE_METHOD_DH:()=>gq,ENGINE_METHOD_DIGESTS:()=>Iq,ENGINE_METHOD_DSA:()=>Sq,ENGINE_METHOD_EC:()=>Tq,ENGINE_METHOD_NONE:()=>Pq,ENGINE_METHOD_PKEY_ASN1_METHS:()=>Nq,ENGINE_METHOD_PKEY_METHS:()=>Aq,ENGINE_METHOD_RAND:()=>Fq,ENGINE_METHOD_RSA:()=>Eq,ENOBUFS:()=>kG,ENODATA:()=>wG,ENODEV:()=>EG,ENOENT:()=>SG,ENOEXEC:()=>gG,ENOLCK:()=>FG,ENOLINK:()=>TG,ENOMEM:()=>OG,ENOMSG:()=>IG,ENOPROTOOPT:()=>AG,ENOSPC:()=>NG,ENOSR:()=>CG,ENOSTR:()=>PG,ENOSYS:()=>DG,ENOTCONN:()=>LG,ENOTDIR:()=>RG,ENOTEMPTY:()=>jG,ENOTSOCK:()=>GG,ENOTSUP:()=>MG,ENOTTY:()=>BG,ENXIO:()=>qG,EOPNOTSUPP:()=>UG,EOVERFLOW:()=>HG,EPERM:()=>XG,EPIPE:()=>YG,EPROTO:()=>VG,EPROTONOSUPPORT:()=>zG,EPROTOTYPE:()=>KG,ERANGE:()=>WG,EROFS:()=>JG,ESPIPE:()=>$G,ESRCH:()=>ZG,ESTALE:()=>QG,ETIME:()=>rM,ETIMEDOUT:()=>eM,ETXTBSY:()=>nM,EWOULDBLOCK:()=>tM,EXDEV:()=>uM,F_OK:()=>CB,OPENSSL_VERSION_NUMBER:()=>UB,O_APPEND:()=>lB,O_CREAT:()=>oB,O_DIRECTORY:()=>bB,O_DSYNC:()=>_B,O_EXCL:()=>cB,O_NOCTTY:()=>sB,O_NOFOLLOW:()=>pB,O_NONBLOCK:()=>dB,O_RDONLY:()=>XM,O_RDWR:()=>VM,O_SYMLINK:()=>yB,O_SYNC:()=>mB,O_TRUNC:()=>vB,O_WRONLY:()=>YM,POINT_CONVERSION_COMPRESSED:()=>Qq,POINT_CONVERSION_HYBRID:()=>eU,POINT_CONVERSION_UNCOMPRESSED:()=>rU,PRIORITY_ABOVE_NORMAL:()=>aM,PRIORITY_BELOW_NORMAL:()=>fM,PRIORITY_HIGH:()=>oM,PRIORITY_HIGHEST:()=>cM,PRIORITY_LOW:()=>iM,PRIORITY_NORMAL:()=>xM,RSA_NO_PADDING:()=>qq,RSA_PKCS1_OAEP_PADDING:()=>Uq,RSA_PKCS1_PADDING:()=>Mq,RSA_PKCS1_PSS_PADDING:()=>Xq,RSA_PSS_SALTLEN_AUTO:()=>zq,RSA_PSS_SALTLEN_DIGEST:()=>Yq,RSA_PSS_SALTLEN_MAX_SIGN:()=>Vq,RSA_SSLV23_PADDING:()=>Bq,RSA_X931_PADDING:()=>Hq,RTLD_GLOBAL:()=>Cj,RTLD_LAZY:()=>Aj,RTLD_LOCAL:()=>Pj,RTLD_NOW:()=>Nj,R_OK:()=>PB,SIGABRT:()=>mM,SIGALRM:()=>gM,SIGBUS:()=>yM,SIGCHLD:()=>TM,SIGCONT:()=>OM,SIGFPE:()=>dM,SIGHUP:()=>sM,SIGILL:()=>bM,SIGINFO:()=>BM,SIGINT:()=>vM,SIGIO:()=>MM,SIGIOT:()=>_M,SIGKILL:()=>hM,SIGPIPE:()=>SM,SIGPROF:()=>jM,SIGQUIT:()=>lM,SIGSEGV:()=>wM,SIGSTOP:()=>IM,SIGSYS:()=>qM,SIGTERM:()=>FM,SIGTRAP:()=>pM,SIGTSTP:()=>AM,SIGTTIN:()=>NM,SIGTTOU:()=>CM,SIGURG:()=>PM,SIGUSR1:()=>kM,SIGUSR2:()=>EM,SIGVTALRM:()=>RM,SIGWINCH:()=>GM,SIGXCPU:()=>DM,SIGXFSZ:()=>LM,SSL_OP_ALL:()=>HB,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:()=>XB,SSL_OP_CIPHER_SERVER_PREFERENCE:()=>YB,SSL_OP_CISCO_ANYCONNECT:()=>VB,SSL_OP_COOKIE_EXCHANGE:()=>zB,SSL_OP_CRYPTOPRO_TLSEXT_BUG:()=>KB,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:()=>WB,SSL_OP_EPHEMERAL_RSA:()=>JB,SSL_OP_LEGACY_SERVER_CONNECT:()=>$B,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:()=>ZB,SSL_OP_MICROSOFT_SESS_ID_BUG:()=>QB,SSL_OP_MSIE_SSLV2_RSA_PADDING:()=>rq,SSL_OP_NETSCAPE_CA_DN_BUG:()=>eq,SSL_OP_NETSCAPE_CHALLENGE_BUG:()=>nq,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:()=>tq,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:()=>uq,SSL_OP_NO_COMPRESSION:()=>iq,SSL_OP_NO_QUERY_MTU:()=>fq,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:()=>xq,SSL_OP_NO_SSLv2:()=>aq,SSL_OP_NO_SSLv3:()=>oq,SSL_OP_NO_TICKET:()=>cq,SSL_OP_NO_TLSv1:()=>sq,SSL_OP_NO_TLSv1_1:()=>vq,SSL_OP_NO_TLSv1_2:()=>lq,SSL_OP_PKCS1_CHECK_1:()=>bq,SSL_OP_PKCS1_CHECK_2:()=>pq,SSL_OP_SINGLE_DH_USE:()=>mq,SSL_OP_SINGLE_ECDH_USE:()=>_q,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:()=>yq,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:()=>dq,SSL_OP_TLS_BLOCK_PADDING_BUG:()=>hq,SSL_OP_TLS_D5_BUG:()=>kq,SSL_OP_TLS_ROLLBACK_BUG:()=>wq,S_IFBLK:()=>iB,S_IFCHR:()=>uB,S_IFDIR:()=>tB,S_IFIFO:()=>fB,S_IFLNK:()=>xB,S_IFMT:()=>eB,S_IFREG:()=>nB,S_IFSOCK:()=>aB,S_IRGRP:()=>gB,S_IROTH:()=>IB,S_IRUSR:()=>kB,S_IRWXG:()=>SB,S_IRWXO:()=>OB,S_IRWXU:()=>hB,S_IWGRP:()=>FB,S_IWOTH:()=>AB,S_IWUSR:()=>wB,S_IXGRP:()=>TB,S_IXOTH:()=>NB,S_IXUSR:()=>EB,TLS1_1_VERSION:()=>Jq,TLS1_2_VERSION:()=>$q,TLS1_3_VERSION:()=>Zq,TLS1_VERSION:()=>Wq,UV_DIRENT_BLOCK:()=>rB,UV_DIRENT_CHAR:()=>QM,UV_DIRENT_DIR:()=>WM,UV_DIRENT_FIFO:()=>$M,UV_DIRENT_FILE:()=>KM,UV_DIRENT_LINK:()=>JM,UV_DIRENT_SOCKET:()=>ZM,UV_DIRENT_UNKNOWN:()=>zM,UV_FS_COPYFILE_EXCL:()=>RB,UV_FS_COPYFILE_FICLONE:()=>GB,UV_FS_COPYFILE_FICLONE_FORCE:()=>BB,UV_FS_SYMLINK_DIR:()=>UM,UV_FS_SYMLINK_JUNCTION:()=>HM,W_OK:()=>DB,X_OK:()=>LB,default:()=>i70,defaultCipherList:()=>nU,defaultCoreCipherList:()=>Kq});var Aj,Nj,Cj,Pj,Dj,Lj,Rj,jj,Gj,Mj,Bj,qj,Uj,Hj,Xj,Yj,Vj,zj,Kj,Wj,Jj,$j,Zj,Qj,rG,eG,nG,tG,uG,iG,fG,xG,aG,oG,cG,sG,vG,lG,bG,pG,mG,_G,yG,dG,hG,kG,wG,EG,SG,gG,FG,TG,OG,IG,AG,NG,CG,PG,DG,LG,RG,jG,GG,MG,BG,qG,UG,HG,XG,YG,VG,zG,KG,WG,JG,$G,ZG,QG,rM,eM,nM,tM,uM,iM,fM,xM,aM,oM,cM,sM,vM,lM,bM,pM,mM,_M,yM,dM,hM,kM,wM,EM,SM,gM,FM,TM,OM,IM,AM,NM,CM,PM,DM,LM,RM,jM,GM,MM,BM,qM,UM,HM,XM,YM,VM,zM,KM,WM,JM,$M,ZM,QM,rB,eB,nB,tB,uB,iB,fB,xB,aB,oB,cB,sB,vB,lB,bB,pB,mB,_B,yB,dB,hB,kB,wB,EB,SB,gB,FB,TB,OB,IB,AB,NB,CB,PB,DB,LB,RB,jB,GB,MB,BB,qB,UB,HB,XB,YB,VB,zB,KB,WB,JB,$B,ZB,QB,rq,eq,nq,tq,uq,iq,fq,xq,aq,oq,cq,sq,vq,lq,bq,pq,mq,_q,yq,dq,hq,kq,wq,Eq,Sq,gq,Fq,Tq,Oq,Iq,Aq,Nq,Cq,Pq,Dq,Lq,Rq,jq,Gq,Mq,Bq,qq,Uq,Hq,Xq,Yq,Vq,zq,Kq,Wq,Jq,$q,Zq,Qq,rU,eU,nU,i70,hae=L_({"node-modules-polyfills:constants"(){jt(),Aj=1,Nj=2,Cj=8,Pj=4,Dj=7,Lj=13,Rj=48,jj=49,Gj=47,Mj=35,Bj=37,qj=9,Uj=94,Hj=16,Xj=89,Yj=10,Vj=53,zj=61,Kj=54,Wj=11,Jj=39,$j=33,Zj=69,Qj=17,rG=14,eG=27,nG=65,tG=90,uG=92,iG=36,fG=4,xG=22,aG=5,oG=56,cG=21,sG=62,vG=24,lG=31,bG=40,pG=95,mG=63,_G=50,yG=52,dG=51,hG=23,kG=55,wG=96,EG=19,SG=2,gG=8,FG=77,TG=97,OG=12,IG=91,AG=42,NG=28,CG=98,PG=99,DG=78,LG=57,RG=20,jG=66,GG=38,MG=45,BG=25,qG=6,UG=102,HG=84,XG=1,YG=32,VG=100,zG=43,KG=41,WG=34,JG=30,$G=29,ZG=3,QG=70,rM=101,eM=60,nM=26,tM=35,uM=18,iM=19,fM=10,xM=0,aM=-7,oM=-14,cM=-20,sM=1,vM=2,lM=3,bM=4,pM=5,mM=6,_M=6,yM=10,dM=8,hM=9,kM=30,wM=11,EM=31,SM=13,gM=14,FM=15,TM=20,OM=19,IM=17,AM=18,NM=21,CM=22,PM=16,DM=24,LM=25,RM=26,jM=27,GM=28,MM=23,BM=29,qM=12,UM=1,HM=2,XM=0,YM=1,VM=2,zM=0,KM=1,WM=2,JM=3,$M=4,ZM=5,QM=6,rB=7,eB=61440,nB=32768,tB=16384,uB=8192,iB=24576,fB=4096,xB=40960,aB=49152,oB=512,cB=2048,sB=131072,vB=1024,lB=8,bB=1048576,pB=256,mB=128,_B=4194304,yB=2097152,dB=4,hB=448,kB=256,wB=128,EB=64,SB=56,gB=32,FB=16,TB=8,OB=7,IB=4,AB=2,NB=1,CB=0,PB=4,DB=2,LB=1,RB=1,jB=1,GB=2,MB=2,BB=4,qB=4,UB=269488175,HB=2147485780,XB=262144,YB=4194304,VB=32768,zB=8192,KB=2147483648,WB=2048,JB=0,$B=4,ZB=0,QB=0,rq=0,eq=0,nq=0,tq=0,uq=0,iq=131072,fq=4096,xq=65536,aq=0,oq=33554432,cq=16384,sq=67108864,vq=268435456,lq=134217728,bq=0,pq=0,mq=0,_q=0,yq=0,dq=0,hq=0,kq=0,wq=8388608,Eq=1,Sq=2,gq=4,Fq=8,Tq=2048,Oq=64,Iq=128,Aq=512,Nq=1024,Cq=65535,Pq=0,Dq=2,Lq=1,Rq=4,jq=8,Gq=1,Mq=1,Bq=2,qq=3,Uq=4,Hq=5,Xq=6,Yq=-1,Vq=-2,zq=-2,Kq="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",Wq=769,Jq=770,$q=771,Zq=772,Qq=2,rU=4,eU=6,nU="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",i70={RTLD_LAZY:Aj,RTLD_NOW:Nj,RTLD_GLOBAL:Cj,RTLD_LOCAL:Pj,E2BIG:Dj,EACCES:Lj,EADDRINUSE:Rj,EADDRNOTAVAIL:jj,EAFNOSUPPORT:Gj,EAGAIN:Mj,EALREADY:Bj,EBADF:qj,EBADMSG:Uj,EBUSY:Hj,ECANCELED:Xj,ECHILD:Yj,ECONNABORTED:Vj,ECONNREFUSED:zj,ECONNRESET:Kj,EDEADLK:Wj,EDESTADDRREQ:Jj,EDOM:$j,EDQUOT:Zj,EEXIST:Qj,EFAULT:rG,EFBIG:eG,EHOSTUNREACH:nG,EIDRM:tG,EILSEQ:uG,EINPROGRESS:iG,EINTR:fG,EINVAL:xG,EIO:aG,EISCONN:oG,EISDIR:cG,ELOOP:sG,EMFILE:vG,EMLINK:lG,EMSGSIZE:bG,EMULTIHOP:pG,ENAMETOOLONG:mG,ENETDOWN:_G,ENETRESET:yG,ENETUNREACH:dG,ENFILE:hG,ENOBUFS:kG,ENODATA:wG,ENODEV:EG,ENOENT:SG,ENOEXEC:gG,ENOLCK:FG,ENOLINK:TG,ENOMEM:OG,ENOMSG:IG,ENOPROTOOPT:AG,ENOSPC:NG,ENOSR:CG,ENOSTR:PG,ENOSYS:DG,ENOTCONN:LG,ENOTDIR:RG,ENOTEMPTY:jG,ENOTSOCK:GG,ENOTSUP:MG,ENOTTY:BG,ENXIO:qG,EOPNOTSUPP:UG,EOVERFLOW:HG,EPERM:XG,EPIPE:YG,EPROTO:VG,EPROTONOSUPPORT:zG,EPROTOTYPE:KG,ERANGE:WG,EROFS:JG,ESPIPE:$G,ESRCH:ZG,ESTALE:QG,ETIME:rM,ETIMEDOUT:eM,ETXTBSY:nM,EWOULDBLOCK:tM,EXDEV:uM,PRIORITY_LOW:iM,PRIORITY_BELOW_NORMAL:fM,PRIORITY_NORMAL:xM,PRIORITY_ABOVE_NORMAL:aM,PRIORITY_HIGH:oM,PRIORITY_HIGHEST:cM,SIGHUP:sM,SIGINT:vM,SIGQUIT:lM,SIGILL:bM,SIGTRAP:pM,SIGABRT:mM,SIGIOT:_M,SIGBUS:yM,SIGFPE:dM,SIGKILL:hM,SIGUSR1:kM,SIGSEGV:wM,SIGUSR2:EM,SIGPIPE:SM,SIGALRM:gM,SIGTERM:FM,SIGCHLD:TM,SIGCONT:OM,SIGSTOP:IM,SIGTSTP:AM,SIGTTIN:NM,SIGTTOU:CM,SIGURG:PM,SIGXCPU:DM,SIGXFSZ:LM,SIGVTALRM:RM,SIGPROF:jM,SIGWINCH:GM,SIGIO:MM,SIGINFO:BM,SIGSYS:qM,UV_FS_SYMLINK_DIR:UM,UV_FS_SYMLINK_JUNCTION:HM,O_RDONLY:XM,O_WRONLY:YM,O_RDWR:VM,UV_DIRENT_UNKNOWN:zM,UV_DIRENT_FILE:KM,UV_DIRENT_DIR:WM,UV_DIRENT_LINK:JM,UV_DIRENT_FIFO:$M,UV_DIRENT_SOCKET:ZM,UV_DIRENT_CHAR:QM,UV_DIRENT_BLOCK:rB,S_IFMT:eB,S_IFREG:nB,S_IFDIR:tB,S_IFCHR:uB,S_IFBLK:iB,S_IFIFO:fB,S_IFLNK:xB,S_IFSOCK:aB,O_CREAT:oB,O_EXCL:cB,O_NOCTTY:sB,O_TRUNC:vB,O_APPEND:lB,O_DIRECTORY:bB,O_NOFOLLOW:pB,O_SYNC:mB,O_DSYNC:_B,O_SYMLINK:yB,O_NONBLOCK:dB,S_IRWXU:hB,S_IRUSR:kB,S_IWUSR:wB,S_IXUSR:EB,S_IRWXG:SB,S_IRGRP:gB,S_IWGRP:FB,S_IXGRP:TB,S_IRWXO:OB,S_IROTH:IB,S_IWOTH:AB,S_IXOTH:NB,F_OK:CB,R_OK:PB,W_OK:DB,X_OK:LB,UV_FS_COPYFILE_EXCL:RB,COPYFILE_EXCL:jB,UV_FS_COPYFILE_FICLONE:GB,COPYFILE_FICLONE:MB,UV_FS_COPYFILE_FICLONE_FORCE:BB,COPYFILE_FICLONE_FORCE:qB,OPENSSL_VERSION_NUMBER:UB,SSL_OP_ALL:HB,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:XB,SSL_OP_CIPHER_SERVER_PREFERENCE:YB,SSL_OP_CISCO_ANYCONNECT:VB,SSL_OP_COOKIE_EXCHANGE:zB,SSL_OP_CRYPTOPRO_TLSEXT_BUG:KB,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:WB,SSL_OP_EPHEMERAL_RSA:JB,SSL_OP_LEGACY_SERVER_CONNECT:$B,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:ZB,SSL_OP_MICROSOFT_SESS_ID_BUG:QB,SSL_OP_MSIE_SSLV2_RSA_PADDING:rq,SSL_OP_NETSCAPE_CA_DN_BUG:eq,SSL_OP_NETSCAPE_CHALLENGE_BUG:nq,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:tq,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:uq,SSL_OP_NO_COMPRESSION:iq,SSL_OP_NO_QUERY_MTU:fq,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:xq,SSL_OP_NO_SSLv2:aq,SSL_OP_NO_SSLv3:oq,SSL_OP_NO_TICKET:cq,SSL_OP_NO_TLSv1:sq,SSL_OP_NO_TLSv1_1:vq,SSL_OP_NO_TLSv1_2:lq,SSL_OP_PKCS1_CHECK_1:bq,SSL_OP_PKCS1_CHECK_2:pq,SSL_OP_SINGLE_DH_USE:mq,SSL_OP_SINGLE_ECDH_USE:_q,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:yq,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:dq,SSL_OP_TLS_BLOCK_PADDING_BUG:hq,SSL_OP_TLS_D5_BUG:kq,SSL_OP_TLS_ROLLBACK_BUG:wq,ENGINE_METHOD_RSA:Eq,ENGINE_METHOD_DSA:Sq,ENGINE_METHOD_DH:gq,ENGINE_METHOD_RAND:Fq,ENGINE_METHOD_EC:Tq,ENGINE_METHOD_CIPHERS:Oq,ENGINE_METHOD_DIGESTS:Iq,ENGINE_METHOD_PKEY_METHS:Aq,ENGINE_METHOD_PKEY_ASN1_METHS:Nq,ENGINE_METHOD_ALL:Cq,ENGINE_METHOD_NONE:Pq,DH_CHECK_P_NOT_SAFE_PRIME:Dq,DH_CHECK_P_NOT_PRIME:Lq,DH_UNABLE_TO_CHECK_GENERATOR:Rq,DH_NOT_SUITABLE_GENERATOR:jq,ALPN_ENABLED:Gq,RSA_PKCS1_PADDING:Mq,RSA_SSLV23_PADDING:Bq,RSA_NO_PADDING:qq,RSA_PKCS1_OAEP_PADDING:Uq,RSA_X931_PADDING:Hq,RSA_PKCS1_PSS_PADDING:Xq,RSA_PSS_SALTLEN_DIGEST:Yq,RSA_PSS_SALTLEN_MAX_SIGN:Vq,RSA_PSS_SALTLEN_AUTO:zq,defaultCoreCipherList:Kq,TLS1_VERSION:Wq,TLS1_1_VERSION:Jq,TLS1_2_VERSION:$q,TLS1_3_VERSION:Zq,POINT_CONVERSION_COMPRESSED:Qq,POINT_CONVERSION_UNCOMPRESSED:rU,POINT_CONVERSION_HYBRID:eU,defaultCipherList:nU}}}),kae=ru({"node-modules-polyfills-commonjs:constants"(N0,M0){jt();var ir=(hae(),fU(u70));if(ir&&ir.default){M0.exports=ir.default;for(let gr in ir)M0.exports[gr]=ir[gr]}else ir&&(M0.exports=ir)}}),wae=ru({"node_modules/flow-parser/flow_parser.js"(N0){jt(),function(M0){"use strict";var ir="member_property_expression",gr=8483,ye=12538,ze="children",Ne="predicate_expression",En="??",kn="Identifier",Xn=64311,rt=192,St=11710,wt=122654,sn=110947,Gt=67591,rf="!",wn="directive",Mn=163,it="block",On=126553,eu=12735,E7=68096,Dt="params",Ss=93071,In=122,Jc=72767,Ai=181,vi="for_statement",Mt=128,S7="start",ov=43867,xU="_method",R_=70414,cv=">",ef="catch_body",j_=120121,aU="the end of an expression statement (`;`)",G_=124907,oU=1027,v4=126558,nf="jsx_fragment",M_=42527,B_="decorators",q_=82943,U_=71039,H_=110882,X_=67514,cU=8472,sU="update",Y_=12783,V_=12438,z_=12352,K_=8511,W_=42961,F2="method",l4=120713,tf=8191,uf="function_param",J_=67871,g7="throw",$_=11507,ff="class_extends",Z_=43470,xf="object_key_literal",Q_=71903,ry=65437,af="jsx_child",ey=43311,b4=119995,ny=67637,p4=68116,ty=66204,uy=65470,vU="<<=",iy="e",fy=67391,m4=11631,_4=69956,sv="tparams",xy=66735,ay=64217,oy=43697,lU="Invalid binary/octal ",cy=-43,sy=43255,y4="do",vy=43301,of="binding_pattern",ly=120487,cf="jsx_attribute_value_literal",d4="package",sf="interface_declaration",by=72750,py=119892,bU="tail",pU=-53,vf=111,mU=180,my=119807,_y=71959,_U=8206,yy=65613,$c="type",dy=55215,hy=-42,lf="export_default_declaration_decl",h4=72970,yU="filtered_out",ky=70416,dU=229,bf="function_this_param",hU="module",k4="try",wy=70143,Ey=125183,Sy=70412,h0="@])",pf="binary",kU="infinity",w4="private",gy=65500,E4="has_unknown_members",mf="pattern_array_rest_element",wU="Property",gs="implements",Fy=12548,EU=211,_f="if_alternate_statement",Ty=124903,Oy=43395,vv="src/parser/type_parser.ml",Iy=66915,S4=126552,Ay=120712,g4=126555,Ny=120596,o7="raw",F7=112,yf="class_declaration",df="statement",Cy=126624,Py=71235,hf="meta_property",Dy=44002,Ly=8467,kf="class_property_value",Ry=8318,wf="optional_call",jy=43761,Zc="kind",Ef="class_identifier",Gy=69955,My=66378,By=120512,qy=68220,Yt=110,Uy=123583,T2="declare",Sf="typeof_member_identifier",gf="catch_clause",Hy=11742,Xy=70831,F4=8468,Ff="for_in_assignment_pattern",SU=-32,Tf="object_",Yy=43262,Vy="mixins",Of="type_param",gU="visit_trailing_comment",zy=71839,O2="boolean",If="call",FU="expected *",Ky=43010,Wy=241,Au="expression",I2="column",Jy=43595,$y=43258,Zy=191456,Af="member_type_identifier",A2=117,Qy=43754,T4=126544,TU="Assert_failure",rd=66517,ed=42964,Nf="enum_number_member",OU="a string",nd=65855,td=119993,ud="opaque",IU=870530776,id=67711,fd=66994,Cf="enum_symbol_body",AU=185,NU=219,O4="filter",xd=43615,I4=126560,ad=19903,t1="get",od=64316,CU=`Fatal error: exception %s -`,A4="exported",PU=">=",Wu="return",N4="members",C4=256,cd=66962,sd=64279,vd=67829,DU="Enum `",LU="&&=",Pf="object_property",ld=67589,Df="pattern_object_property",Lf="template_literal_element",bd=69551,Ni=127343600,P4=70452,Rf="class_element",pd="ENOENT",md=71131,RU=200,_d=120137,yd=94098,D4=72349,jU=1328,jf="function_identifier",dd=126543,Gf="jsx_attribute_name",hd=43487,hr="@[<2>{ ",GU="ENOTEMPTY",kd=65908,wd=72191,L4=120513,Ed=92909,MU="bound",Sd=162,BU=172,R4=120070,Mf="enum_number_body",Bf="update_expression",qf="spread_element",Uf="for_in_left_declaration",j4=64319,N2="%d",gd=12703,G4=11687,qU="@,))@]",Fd=42239,Hf="type_cast",Td=42508,Xf="class_implements_interface",Od=67640,Id=605857695,UU="Cygwin",HU="buffer.ml",Ad=124908,XU="handler",Nd=66207,Cd=66963,M4=11558,YU="-=",Pn=113,Pd=113775,VU="collect_comments",B4=126540,lv="set",Yf="assignment_pattern",Nu="right",Vf="object_key_identifier",q4=120133,Dd="Invalid number ",Ld=42963,U4=12539,Rd=68023,jd=43798,ni=100,zf="pattern_literal",Kf="generic_type",zU="*",Gd=42783,Md=42890,Bd=230,H4="else",qd=70851,Ud=69289,KU="the start of a statement",X4="properties",Hd=43696,Xd=110959,Wf="declare_function",Y4=120597,Jf="object_indexer_property_type",Yd=70492,Vd=2048,C2="arguments",Xr="comments",zd=43042,Qc=107,Kd=110575,WU=161,Wd=67431,V4="line",P2="declaration",nu="static",$f="pattern_identifier",Jd=69958,JU="the",$d="Unix.Unix_error",Zd=43814,rs="annot",Qd=65786,rh=66303,eh=64967,nh=64255,th=8584,z4=120655,$U="Stack_overflow",uh=43700,Zf="syntax_opt",ZU="/static/",Qf="comprehension",ih=253,QU="Not_found",rH="+=",eH=235,fh=68680,xh=66954,ah=64324,oh=72966,nH=174,tH=-1053382366,ch="rest",rx="pattern_array_element",ex="jsx_attribute_value_expression",K4=65595,nx="pattern_array_e",uH=243,sh=43711,vh="rmdir",W4="symbol",lh=69926,J4="*dummy method*",bh=43741,T7="typeParameters",D2="const",iH=1026,fH=149,ph=12341,mh=72847,_h=66993,xH=202,Ci="false",Vt=106,yh=120076,dh=186,Pi=128,hh=125124,kh="Fatal error: exception ",$4=67593,wh=69297,Eh=44031,aH=234,Sh=92927,gh=68095,Ju=8231,tx="object_key_computed",ux="labeled_statement",ix="function_param_pattern",Z4=126590,Fh=65481,Th=43442,oH="collect_comments_opt",fx="variable_declarator",bv="_",Oh="compare: functional value",Ih=67967,pv="computed",xx="object_property_type",mt="id",Ah=126562,u1=114,cH="comment_bounds",Nh=70853,Ch=69247,ax="class_private_field",Ph=42237,Dh=72329,sH="Invalid_argument",Lh=113770,Q4=94031,Rh=120092,ox="declare_class",jh=67839,Gh=72250,vH="%ni",Mh=92879,lH="prototype",Fs="`.",cx=8287,r8=65344,Bh="&",O7="debugger",sx="type_identifier_reference",bH="Internal Error: Found private field in object props",vx="sequence",lx="call_type_args",pH=238,qh=12348,mH="++",Uh=68863,Hh=72001,Xh=70084,Yh="label",mv=-45,bx="jsx_opening_attribute",Vh=43583,e8="%F",zh=43784,Kh=113791,px="call_arguments",n8=126503,Wh=43743,$u="0",Jh=119967,t8=126538,mx="new_",_v=449540197,$h=64109,Zh=68466,Qh=177983,Et=248,_x="program",Xe="@,]@]",rk=68031,yx="function_type",dx="type_",u8=8484,ek=67382,nk=42537,tk=226,uk=66559,ik=42993,fk=64274,i8=71236,xk=120069,ak=72105,ok=126570,ck="object",sk=42959,I7="break",hx="for_of_statement",vk=43695,f8=126551,lk=66955,x8=126520,bk=66499,L2=1024,pk=67455,mk=43018,_H=198,a8=126522,kx="function_declaration",_k=73064,wx="await",yk=92728,dk=70418,hk=68119,Ex="function_rest_param",kk=42653,o8=11703,li="left",c8=70449,wk=184,Sx="declare_type_alias",gx=16777215,s8=70302,yH="/=",dH="|=",Ek=55242,Sk=126583,gk=124927,Fk=124895,Tk=72959,Ok=65497,hH="Invalid legacy octal ",es="typeof",Ik="explicit_type",Fx="statement_list",Ak=65495,Tx="class_method",v8=8526,l8=244,Nk=67861,b8=119994,p8="enum",kH=2147483647,Ck=69762,wH=208,R2="in",Pk=11702,m8=67638,EH=", characters ",Dk=70753,yv="super",Lk=92783,Rk=8304,_8=126504,Ox="import_specifier",jk=68324,Gk=101589,Mk=67646,Ix="expression_or_spread",Bk=74879,qk=43792,y8=43260,Uk=93052,SH="{",Hk=65574,Xk=125258,dv=224,Ax="jsx_element_name_member_expression",j2="instanceof",Yk=69599,Vk=43560,Nx="function_expression",d8=223,zk=72242,Kk=11498,Wk=126467,Jk=73112,gH=140,h8=70107,$k=13311,Cx="jsx_children",k8=126548,Zk=63743,w8=43471,Px="jsx_expression",Qk=69864,rw=71998,ew=72e3,E8=126591,S8=12592,Dx="type_params",nw=126578,g8=126537,kr="{ ",tw=123627,Lx="jsx_spread_attribute",Pe="@,",uw=70161,iw=187,F8=126500,Rx="label_identifier",fw=42606,jx="number_literal_type",T8=42999,xw=64310,FH=-594953737,aw=122623,O8="hasUnknownMembers",Gx="array",TH="^=",Mx="enum_string_member",ow=65536,cw=65615,ns="void",sw=65135,Z0=")",OH=138,vw=70002,G2="let",lw=70271,bw="nan",W="@[%s =@ ",pw=194559,mw=110579,Bx="binding_type_identifier",_w=42735,IH=57343,Zu="/",qx="for_in_statement_lhs",yw=43503,dw=8516,hw=66938,kw="ENOTDIR",AH="TypeParameterInstantiation",ww=69749,Ew=65381,Sw=83526,hv="number",gw=12447,NH=154,I8=70286,Fw=72160,Tw=43493,CH=206,Ux="enum_member_identifier",A8=70280,M2="function",N8=70162,Ow=255,Iw=67702,Aw=66771,Nw=70312,PH="|",Cw=93759,DH="End_of_file",Pw=43709,i1="new",LH="Failure",B2="local",Dw=101631,C8=8489,P8="with",Hx="enum_declaration",Lw=218,Rw=70457,D8=8488,Xx="member",L8=64325,jw=247,Gw=70448,Mw=69967,R8=126535,Bw=71934,Yx="import_named_specifier",qw=65312,Uw=126619,Vx="type_annotation",RH=56320,Hw=131071,Xw=120770,Yw=67002,zx="with_",Kx="statement_fork_point",jH="finalizer",Vw=12320,GH="elements",Wx="literal",zw=68607,Kw=8507,j8="each",MH="Sys_error",Ww=123535,Jw=130,Jx="bigint_literal_type",$w=64829,G8=11727,Zw=120538,$x="member_private_name",Zx="type_alias",BH="Printexc.handle_uncaught_exception",M8=126556,Qx="tagged_template",ra="pattern_object_property_literal_key",Qw=43881,B8=72192,rE=67826,eE=124910,nE=66511,ts="int_of_string",tE=43249,nr="None",qH="FunctionTypeParam",ti="name",uE=70285,c7=103,iE=120744,ea=12288,na="intersection_type",fE=11679,q8=11559,UH="callee",xE=71295,aE=70018,oE=11567,cE=42954,HH="*-/",Qu="predicate",ta="expression_statement",XH="regexp",sE=65479,YH=132,vE=11389,Bu="optional",VH=-602162310,z="@]",lE=120003,bE=72249,zH="Unexpected ",pE=73008,U8="finally",ua="toplevel_statement_list",KH="end",mE=178207,WH="&=",_E=70301,JH="%Li",yE=72161,dE=69746,hE=70460,kE=12799,H8=65535,wE="loc",EE=69375,SE=43518,$H=205,gE=65487,ia="while_",FE=183983,fa="typeof_expression",TE=-673950933,OE=42559,ZH="||",IE=124926,AE=55291,xa="jsx_element_name_identifier",aa=8239,X8="mixed",QH=136,NE=-253313196,CE=11734,Y8=67827,PE=68287,DE=119976,rX="**",J=" =",V8=888960333,LE=124902,oa="tuple_type",eX=227,RE=70726,jE=73111,z8=126602,GE=126529,ca="object_property_value_type",C0="%a",nX=", ",tX="<=",ME=69423,uX=199,K8=11695,BE=12294,W8=11711,qE=67583,iX=710,J8=126584,UE=68295,HE=72703,XE="prefix",fX=-80,$8=69415,YE=11492,q2="class",Z8=65575,A7="continue",VE=65663,xX=2047,Q8=68120,zE=71086,KE=19967,Di=782176664,WE=120779,r3=8486,bi=" ",aX="||=",oX="Undefined_recursive_module",JE=66863,cX="RestElement",e3=126634,$E=66377,ZE=74751,sa="jsx_element_name_namespaced",QE=43334,rS=66815,N7="typeAnnotation",eS=120126,va="array_element",n3=64285,sX=189,vX="**=",Yr="()",nS=8543,la="declare_module",ba="export_batch_specifier",lX="%i",bX=">>>=",tS=68029,pX="importKind",C7="extends",uS=64296,t3=43259,iS=71679,fS=64913,xS=119969,aS=94175,oS=72440,u3=65141,pa="function_",cS=43071,sS=42888,vS=69807,ou="variance",us=123,ma="import_default_specifier",mX=">>>",lS=43764,pi="pattern",bS=71947,pS=70655,kv="consequent",_X=4096,mS=183,_S=68447,yS=65473,is=255,dS=73648,_a="call_type_arg",ya=8238,hS=68899,kS=93026,Ye="@[<2>[",wS=110588,da="comment",yX=191,ha="switch_case",dX=175,ES=71942,ka="do_while",wv="constructor",SS=43587,gS=43586,wu="yield",FS=67462,hX="fd ",TS=-61,OS="target",i3=72272,U2="var",kX="impltype",f3=70108,H2="0o",IS=119972,AS=92991,x3=70441,a3=8450,NS=120074,CS=66717,wa="interface_type",o3=43880,An="%B",PS=111355,Ev=5760,DS=11630,c3=126499,LS="of",wX=">>",EX="Popping lex mode from empty stack",s3=120629,fs=108,RS=43002,SX="%=",v3=126539,jS=126502,Ea="template_literal",GS="src/parser/statement_parser.ml",MS=": Not a directory",gX="b",BS=67461,qS=11519,FX="src/parser/flow_lexer.ml",TX="Out_of_memory",US=120570,Sa=12287,HS=126534,XS="index out of bounds",YS=73029,l3="_bigarr02",b3=126571,OX="))",ga="for_statement_init",IX="supertype",Fa="class_property",p3="}",f1="this",Ta="declare_module_exports",AX="@",Oa="union_type",Li=65535,Ia="variance_opt",VS=94032,NX=222,zS=42124,Aa="this_expression",Na="jsx_element",CX="typeArguments",KS=65019,WS=125251,JS=64111,$S=8471,Ca="typeof_qualified_identifier",ZS=70497,PX="EnumDefaultedMember",Pa=8202,QS=66927,P7="switch",rg=69634,Da="unary_expression",eg=71215,DX=126,ng=67679,tg=65597,LX=207,ug=120686,m3=72163,ig=67001,fg=42962,xg=64262,X2=124,La=65279,ag=126495,RX=169,og=71944,jX=-10,_3="alternate",cg=92975,sg=65489,Y2=252,vg=67807,lg=43187,bg=68850,y3="export",pg=66383,GX="===",Ra=".",ja="type_args",MX=147,mg=92159,BX=240,Ga="jsx_element_name",_g=72283,yg=171,x1=116,dg=110587,d3=70279,hg=75075,kg=65338,Ma="function_params",wg=126627,qX=213,h3=73065,Eg=71352,k3=119970,Sg=70005,gg=12295,w3=120771,Fg=71494,Tg=11557,Og=42191,UX="flags",Ig=68437,Ag=70730,Ba="optional_indexed_access",qa="pattern_object_p",Ng=42785,Ua="nullable_type",Bn="value",Cg=12343,Pg=68415,Dg=11694,HX=221,Lg=11726,Ha="syntax",Rg=119964,XX="&&",jg=68497,Gg=73097,xs="null",E3=126523,Mg=120084,Bg=126601,qg=8454,Ug="expressions",Hg=72144,V2='"',Zr="(@[",YX=1022,VX=231,Xg=170,S3=12448,Yg=68786,g3="<",zX=931,KX="(",WX=196,JX=2048,F3="an identifier",T3=69959,Vg=68799,$X="leadingComments",zg=72969,Kg=182,Wg=100351,Xa="enum_defaulted_member",Jg=69839,$g=94026,Zg=209,ZX=">>=",Qg=131,O3=12336,s7="empty",QX=331416730,rY=204,rF=70479,eF=69487,nF=101640,tF=43123,eY="([^/]+)",I3=8319,nY=165,Ya="object_type_property_setter",tY=909,uF=15,iF=12591,br=125,fF=92735,uY="cases",xF=183969,a1="bigint",iY="Division_by_zero",aF=67071,oF=12329,A3=120004,cF=69414,N3="if",sF=126519,vF="immediately within another function.",lF=55238,bF=126498,fY="qualification",pF=66256,wr="@ }@]",z2=118,C3=11565,P3=120122,Va="pattern_object_rest_property",mF=74862,D3="'",_F=-26065557,yF=124911,Sv=119,D7=104,za="assignment",dF=8457,K2="from",hF=64321,kF=113817,wF=65629,EF=42655,Ri=102,SF=43137,gF=11502,o0=";@ ",L7=101,Ka="pattern_array_element_pattern",Jn="body",Wa="jsx_member_expression",FF=65547,Ja="jsx_attribute_value",$a="jsx_namespaced_name",L3=72967,TF=126550,gv=254,OF=43807,IF=43738,R3=126589,j3=8455,G3=126628,AF=11670,xY="*=",M3=120134,Za="conditional",aY=" : flags Open_text and Open_binary are not compatible",B3=119965,NF=69890,CF=72817,PF=164,DF=43822,q3=69744,oY="\\\\",LF=43638,RF=93047,jF="AssignmentPattern",U3=64322,GF=123190,cY=188,Qa="object_spread_property_type",MF=70783,BF=113663,sY=160,H3=42622,X3=43823,ji="init",Fv=109,qF=66503,Y3="proto",UF=74649,ro="optional_member",HF=40981,XF=120654,v="@ ",eo="enum_boolean_body",no="export_named_specifier",to="declare_interface",YF=70451,uo="pattern_object_property_computed_key",V3=-97,z3=120539,K3=64317,VF=12543,io="export_named_declaration_specifier",zF=43359,W3=126530,J3=72713,KF=113800,vY=195,WF=72367,JF=72103,$F=70278,fo="if_consequent_statement",W2=-85,$3=126496,xo="try_catch",ao="computed_key",oo="class_",ZF=173823,co="pattern_object_property_identifier_key",lY="f",so="arrow_function",Z3=8485,QF=126546,vo="enum_boolean_member",rT=94177,J2="delete",eT=232,bY="blocks",lo="pattern_array_rest_element_pattern",nT=78894,Q3=66512,tT=94111,Tv="string",Ts="test",uT=69572,iT=66463,fT=66335,xT=72348,aT=73061,o1=":",bo="enum_body",oT=110590,po="function_this_param_type",cT=215,sT=77823,pY="minus",mY=201,vT=119980,mo="private_name",_o="object_key",yo="function_param_type",_Y="<<",lT=11718,c1="as",yY="delegate",Gi="true",bT=67413,r6=70854,pT=73439,mT=43776,_T=71723,yT=11505,dT=214,hT=120628,kT=43513,ho="jsx_attribute_name_namespaced",e6=120127,n6="Map.bal",t6="any",dY="@[",hY="camlinternalMod.ml",u6=126559,qu="import",i6=70404,ko="jsx_spread_child",wT=233,ET=67897,ST=119974,Uu=8233,gT=68405,f6=239,kY="attributes",wY=173,wo="object_internal_slot_property_type",FT=71351,TT=242,OT=67643,x6="shorthand",Eo="for_in_statement",IT=126463,AT=71338,NT=69445,CT=65370,PT=73055,DT=167,LT=64911,So="pattern_object_property_pattern",EY=212,SY=197,a6=126579,RT=64286,jT="explicitType",GT=67669,MT=43866,gY="Sys_blocked_io",o6="catch",BT=123197,qT=64466,UT=65140,HT=73030,XT=69404,c6="protected",FY=8204,YT=67504,VT=193,$2=246,zT=43713,s6=120571,go="array_type",TY="%u",Fo="export_default_declaration",To="class_expression",OY="quasi",zt="%S",KT=8525,v6=126515,WT=120485,l6=43519,b6=120745,p6=94178,JT=126588,Kn=127,$T=66855,IY="@{",AY="visit_leading_comment",ZT=67742,NY=" : flags Open_rdonly and Open_wronly are not compatible",QT=120144,m6="returnType",s1=-744106340,v1=240,Oo="-",_6=8469,Os="async",y6=126521,rO=72095,d6=216,CY=" : file already exists",eO=178205,nO=8449,h6=94179,tO=42774,k6="case",uO=66965,iO=66431,PY=190,Io="declare_export_declaration",Z2="targs",Ao="type_identifier",fO=64284,xO=43013,w6=43815,No="function_body_any",aO=66966,E6=120687,oO=66939,cO=66978,DY=168,S6="public",sO=68115,vO=43712,g6=65598,F6=126547,lO=110591,Co="indexed_access",LY=12520,r7="interface",RY=`(Program not linked with -g, cannot print stack backtrace) -`,l1=-46,Po="string_literal_type",Do="import_namespace_specifier",bO=120132,T6=11735,pO=67505,O6=119893,I6="bool",Q2=1e3,mi="default",mO=236,C="",_O="exportKind",jY="trailingComments",A6="^",yO=71983,dO=8348,hO=66977,kO=65594,Lo="logical",Ro="jsx_member_expression_identifier",N6=210,GY="cooked",jo="for_of_left_declaration",Ov=63,wO=72202,v7="argument",EO=12442,SO=43645,C6=120085,gO=42539,P6=126468,MY=166,BY="Match_failure",FO=68191,Eu="src/parser/flow_ast.ml",D6=11647,Go="declare_variable",as="+",TO=71127,L6=120145,Mo="declare_export_declaration_decl",R6=64318,qY=179,Bo="class_implements",UY="!=",HY="inexact",XY="%li",YY=237,rl="a",j6=73062,OO=178,qo=65278,Uo="function_rest_param_type",IO=77711,AO=70066,NO=43714,VY=-696510241,G6=70480,CO=69748,PO=113788,DO=94207,zY=`\r -`,Ho="class_body",LO=126651,RO=68735,jO=43273,M6=119996,B6=67644,KY=224,Xo="catch_clause_pattern",Yo="boolean_literal_type",q6=126554,U6=126557,GO=113807,H6=126536,WY="%",Iv="property",MO=71956,JY="#",BO=123213,el="meta",Vo="for_of_assignment_pattern",zo="if_statement",qO=66421,UO=8505,HO=225,nl=250,XO=100343,X6="Literal",YO=42887,Av=115,$Y=";",VO=1255,zO="=",KO=126566,WO=93823,Ko="opaque_type",ZY="!==",Wo="jsx_attribute",Jo="type_annotation_hint",Mi=32768,JO=73727,QY="range",rV=245,$O="jsError",Y6=70006,ZO=43492,V6="@]}",tr="(Some ",QO=8477,eV=129,rI=71487,z6=126564,nV=` -`,eI=126514,nI=70080,$o="generic_identifier_type",tI=66811,Zo="typeof_identifier",tV="~",uI=65007,Qo="pattern_object_rest_property_pattern",iI=194,uV=1039100673,fI=66461,xI=70319,K6=11719,aI=72271,Wt=-48,rc="enum_string_body",oI=70461,ec="export_named_declaration",cI=110930,sI=92862,iV="??=",vI=70440,W6="while",cu="camlinternalFormat.ml",lI=43782,fV=203,bI=173791,pI=11263,mI=1114111,_I=42969,J6=70750,nc="jsx_identifier",yI=70105,dI=43014,hI=11564,tc="typeof_type",xV="EEXIST",kI=64847,wI=71167,EI=42511,SI=72712,gI=92995,FI=43704,tl=121,uc="object_call_property_type",TI=64433,ul="operator",$6=68296,ic="class_decorator",fc=120,xc="for_of_statement_lhs",OI=11623,II=67004,AI=71999,NI=70708,CI=512,PI=110927,DI=71423,aV=32752,LI=93951,RI=12292,ac="object_type",Z6="types",jI=110580,oV=177,GI=126633,MI=12686,oc=8286,cV=144,BI=73647,sV=228,Q6=70855,b1="0x",qI=70366,UI=` -`,cc="variable_declaration",HI=65276,rp=119981,XI=71945,YI=43887,R7=105,VI=8335,zI=123565,KI=69505,WI=70187,sc="jsx_attribute_name_identifier",vc="source",lc="pattern_object_property_key",ep=65548,JI=66175,$I=92766,bc="pattern_assignment_pattern",pc="object_type_property_getter",np=8305,j7="generator",tp="for",vV="PropertyDefinition",lV="--",su=-36,ZI="mkdir",QI=68223,mc="generic_qualified_identifier_type",rA=11686,_c="jsx_closing_element",eA=43790,up=": No such file or directory",nA=69687,tA=66348,ip=72162,uA=43388,iA=72768,fA=68351,d="<2>",fp=64297,xA=125259,aA=220,zr=",@ ",bV="win32",xp=70281,yc="member_property_identifier",oA=68149,cA=68111,sA=71450,vA=43009,dc="member_property",lA=73458,_i="identifier",bA=67423,pA=66775,mA=110951,pV="Internal Error: Found object private prop",hc="super_expression",kc="jsx_opening_element",_A=177976,wc="variable_declarator_pattern",Ec="pattern_expression",Sc="jsx_member_expression_object",yA=68252,dA=77808,Nv=-835925911,gc="import_declaration",hA=55203,mV="Pervasives.do_at_exit",_V="utf8",ui="key",kA=43702,Fc="spread_property",ap=126563,wA=863850040,EA=70106,op=67592,Tc="function_expression_or_method",SA=71958,Oc="for_init_declaration",gA=71955,cp=123214,FA=68479,yV="==",TA=43019,OA=123180,sp=217,Cv="specifiers",Ic="function_body",IA=69622,vp=8487,AA=43641,dV="Unexpected token `",hV="v",NA=123135,CA=69295,lp=120093,PA=8521,bp=43642,kV=176;function f70(t,n,e,i,x){if(i<=n)for(var c=1;c<=x;c++)e[i+c]=t[n+c];else for(var c=x;c>=1;c--)e[i+c]=t[n+c];return 0}function x70(t){for(var n=[0];t!==0;){for(var e=t[1],i=1;i=e.l||e.t==2&&x>=e.c.length))e.c=t.t==4?DA(t.c,n,x):n==0&&t.c.length==x?t.c:t.c.substr(n,x),e.t=e.c.length==e.l?0:2;else if(e.t==2&&i==e.c.length)e.c+=t.t==4?DA(t.c,n,x):n==0&&t.c.length==x?t.c:t.c.substr(n,x),e.t=e.c.length==e.l?0:2;else{e.t!=4&&pp(e);var c=t.c,s=e.c;if(t.t==4)if(i<=n)for(var p=0;p=0;p--)s[i+p]=c[n+p];else{for(var y=Math.min(x,c.length-n),p=0;p>=1,t==0)return e;n+=n,i++,i==9&&n.slice(0,1)}}function Dv(t){t.t==2?t.c+=Pv(t.l-t.c.length,"\0"):t.c=DA(t.c,0,t.c.length),t.t=0}function wV(t){if(t.length<24){for(var n=0;nKn)return!1;return!0}else return!/[^\x00-\x7f]/.test(t)}function LA(t){for(var n=C,e=C,i,x,c,s,p=0,y=t.length;pCI?(e.substr(0,1),n+=e,e=C,n+=t.slice(p,T)):e+=t.slice(p,T),T==y)break;p=T}s=1,++p=55295&&s<57344)&&(s=2)):(s=3,++p1114111)&&(s=3)))))),s<4?(p-=s,e+="\uFFFD"):s>Li?e+=String.fromCharCode(55232+(s>>10),RH+(s&1023)):e+=String.fromCharCode(s),e.length>L2&&(e.substr(0,1),n+=e,e=C)}return n+e}function Ac(t,n,e){this.t=t,this.c=n,this.l=e}Ac.prototype.toString=function(){switch(this.t){case 9:return this.c;default:Dv(this);case 0:if(wV(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},Ac.prototype.toUtf16=function(){var t=this.toString();return this.t==9?t:LA(t)},Ac.prototype.slice=function(){var t=this.t==4?this.c.slice():this.c;return new Ac(this.t,t,this.l)};function EV(t){return new Ac(0,t,t.length)}function r(t){return EV(t)}function RA(t,n){o70(t,r(n))}var Kt=[0];function vu(t){RA(Kt.Invalid_argument,t)}function SV(){vu(XS)}function $n(t,n,e){if(e&=is,t.t!=4){if(n==t.c.length)return t.c+=String.fromCharCode(e),n+1==t.l&&(t.t=0),0;pp(t)}return t.c[n]=e,0}function p1(t,n,e){return n>>>0>=t.l&&SV(),$n(t,n,e)}function Hu(t,n){switch(t.t&6){default:if(n>=t.c.length)return 0;case 0:return t.c.charCodeAt(n);case 4:return t.c[n]}}function os(t,n){if(t.fun)return os(t.fun,n);if(typeof t!="function")return t;var e=t.length|0;if(e===0)return t.apply(null,n);var i=n.length|0,x=e-i|0;return x==0?t.apply(null,n):x<0?os(t.apply(null,n.slice(0,e)),n.slice(e)):function(){for(var c=arguments.length==0?1:arguments.length,s=new Array(n.length+c),p=0;p>>0>=t.length-1&&il(),t}function c70(t){return isFinite(t)?Math.abs(t)>=22250738585072014e-324?0:t!=0?1:2:isNaN(t)?4:3}function Nc(t){return t.t&6&&Dv(t),t.c}var s70=Math.log2&&Math.log2(11235582092889474e291)==1020;function v70(t){if(s70)return Math.floor(Math.log2(t));var n=0;if(t==0)return-1/0;if(t>=1)for(;t>=2;)t/=2,n++;else for(;t<1;)t*=2,n--;return n}function jA(t){var n=new M0.Float32Array(1);n[0]=t;var e=new M0.Int32Array(n.buffer);return e[0]|0}var gV=Math.pow(2,-24);function FV(t){throw t}function TV(){FV(Kt.Division_by_zero)}function an(t,n,e){this.lo=t&gx,this.mi=n&gx,this.hi=e&Li}an.prototype.caml_custom="_j",an.prototype.copy=function(){return new an(this.lo,this.mi,this.hi)},an.prototype.ucompare=function(t){return this.hi>t.hi?1:this.hit.mi?1:this.mit.lo?1:this.loe?1:nt.mi?1:this.mit.lo?1:this.lo>24),e=-this.hi+(n>>24);return new an(t,n,e)},an.prototype.add=function(t){var n=this.lo+t.lo,e=this.mi+t.mi+(n>>24),i=this.hi+t.hi+(e>>24);return new an(n,e,i)},an.prototype.sub=function(t){var n=this.lo-t.lo,e=this.mi-t.mi+(n>>24),i=this.hi-t.hi+(e>>24);return new an(n,e,i)},an.prototype.mul=function(t){var n=this.lo*t.lo,e=(n*gV|0)+this.mi*t.lo+this.lo*t.mi,i=(e*gV|0)+this.hi*t.lo+this.mi*t.mi+this.lo*t.hi;return new an(n,e,i)},an.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0},an.prototype.isNeg=function(){return this.hi<<16<0},an.prototype.and=function(t){return new an(this.lo&t.lo,this.mi&t.mi,this.hi&t.hi)},an.prototype.or=function(t){return new an(this.lo|t.lo,this.mi|t.mi,this.hi|t.hi)},an.prototype.xor=function(t){return new an(this.lo^t.lo,this.mi^t.mi,this.hi^t.hi)},an.prototype.shift_left=function(t){return t=t&63,t==0?this:t<24?new an(this.lo<>24-t,this.hi<>24-t):t<48?new an(0,this.lo<>48-t):new an(0,0,this.lo<>t|this.mi<<24-t,this.mi>>t|this.hi<<24-t,this.hi>>t):t<48?new an(this.mi>>t-24|this.hi<<48-t,this.hi>>t-24,0):new an(this.hi>>t-48,0,0)},an.prototype.shift_right=function(t){if(t=t&63,t==0)return this;var n=this.hi<<16>>16;if(t<24)return new an(this.lo>>t|this.mi<<24-t,this.mi>>t|n<<24-t,this.hi<<16>>t>>>16);var e=this.hi<<16>>31;return t<48?new an(this.mi>>t-24|this.hi<<48-t,this.hi<<16>>t-24>>16,e&Li):new an(this.hi<<16>>t-32,e,e)},an.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&gx,this.lo=this.lo<<1&gx},an.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&gx,this.mi=(this.mi>>>1|this.hi<<23)&gx,this.hi=this.hi>>>1},an.prototype.udivmod=function(t){for(var n=0,e=this.copy(),i=t.copy(),x=new an(0,0,0);e.ucompare(i)>0;)n++,i.lsl1();for(;n>=0;)n--,x.lsl1(),e.ucompare(i)>=0&&(x.lo++,e=e.sub(i)),i.lsr1();return{quotient:x,modulus:e}},an.prototype.div=function(t){var n=this;t.isZero()&&TV();var e=n.hi^t.hi;n.hi&Mi&&(n=n.neg()),t.hi&Mi&&(t=t.neg());var i=n.udivmod(t).quotient;return e&Mi&&(i=i.neg()),i},an.prototype.mod=function(t){var n=this;t.isZero()&&TV();var e=n.hi;n.hi&Mi&&(n=n.neg()),t.hi&Mi&&(t=t.neg());var i=n.udivmod(t).modulus;return e&Mi&&(i=i.neg()),i},an.prototype.toInt=function(){return this.lo|this.mi<<24},an.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},an.prototype.toArray=function(){return[this.hi>>8,this.hi&is,this.mi>>16,this.mi>>8&is,this.mi&is,this.lo>>16,this.lo>>8&is,this.lo&is]},an.prototype.lo32=function(){return this.lo|(this.mi&is)<<24},an.prototype.hi32=function(){return this.mi>>>8&Li|this.hi<<16};function mp(t,n,e){return new an(t,n,e)}function _p(t){if(!isFinite(t))return isNaN(t)?mp(1,0,aV):t>0?mp(0,0,aV):mp(0,0,65520);var n=t==0&&1/t==-1/0?Mi:t>=0?0:Mi;n&&(t=-t);var e=v70(t)+1023;e<=0?(e=0,t/=Math.pow(2,-iH)):(t/=Math.pow(2,e-oU),t<16&&(t*=2,e-=1),e==0&&(t/=2));var i=Math.pow(2,24),x=t|0;t=(t-x)*i;var c=t|0;t=(t-c)*i;var s=t|0;return x=x&uF|n|e<<4,mp(s,c,x)}function fl(t){return t.toArray()}function OV(t,n,e){if(t.write(32,n.dims.length),t.write(32,n.kind|n.layout<<8),n.caml_custom==l3)for(var i=0;i>4;if(x==xX)return n|e|i&uF?NaN:i&Mi?-1/0:1/0;var c=Math.pow(2,-24),s=(n*c+e)*c+(i&uF);return x>0?(s+=16,s*=Math.pow(2,x-oU)):s*=Math.pow(2,-iH),i&Mi&&(s=-s),s}function BA(t){for(var n=t.length,e=1,i=0;i>>24&is|(n&Li)<<8,n>>>16&Li)}function qA(t){return t.hi32()}function UA(t){return t.lo32()}var p70=l3;function Ns(t,n,e,i){this.kind=t,this.layout=n,this.dims=e,this.data=i}Ns.prototype.caml_custom=p70,Ns.prototype.offset=function(t){var n=0;if(typeof t=="number"&&(t=[t]),t instanceof Array||vu("bigarray.js: invalid offset"),this.dims.length!=t.length&&vu("Bigarray.get/set: bad number of dimensions"),this.layout==0)for(var e=0;e=this.dims[e])&&il(),n=n*this.dims[e]+t[e];else for(var e=this.dims.length-1;e>=0;e--)(t[e]<1||t[e]>this.dims[e])&&il(),n=n*this.dims[e]+(t[e]-1);return n},Ns.prototype.get=function(t){switch(this.kind){case 7:var n=this.data[t*2+0],e=this.data[t*2+1];return b70(n,e);case 10:case 11:var i=this.data[t*2+0],x=this.data[t*2+1];return[gv,i,x];default:return this.data[t]}},Ns.prototype.set=function(t,n){switch(this.kind){case 7:this.data[t*2+0]=UA(n),this.data[t*2+1]=qA(n);break;case 10:case 11:this.data[t*2+0]=n[1],this.data[t*2+1]=n[2];break;default:this.data[t]=n;break}return 0},Ns.prototype.fill=function(t){switch(this.kind){case 7:var n=UA(t),e=qA(t);if(n==e)this.data.fill(n);else for(var i=0;is)return 1;if(c!=s){if(!n)return NaN;if(c==c)return 1;if(s==s)return-1}}break;case 7:for(var x=0;xt.data[x+1])return 1;if(this.data[x]>>>0>>0)return-1;if(this.data[x]>>>0>t.data[x]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(var x=0;xt.data[x])return 1}break}return 0};function Lv(t,n,e,i){this.kind=t,this.layout=n,this.dims=e,this.data=i}Lv.prototype=new Ns,Lv.prototype.offset=function(t){return typeof t!="number"&&(t instanceof Array&&t.length==1?t=t[0]:vu("Ml_Bigarray_c_1_1.offset")),(t<0||t>=this.dims[0])&&il(),t},Lv.prototype.get=function(t){return this.data[t]},Lv.prototype.set=function(t,n){return this.data[t]=n,0},Lv.prototype.fill=function(t){return this.data.fill(t),0};function AV(t,n,e,i){var x=IV(t);return BA(e)*x!=i.length&&vu("length doesn't match dims"),n==0&&e.length==1&&x==1?new Lv(t,n,e,i):new Ns(t,n,e,i)}function e7(t){RA(Kt.Failure,t)}function NV(t,n,e){var i=t.read32s();(i<0||i>16)&&e7("input_value: wrong number of bigarray dimensions");var x=t.read32s(),c=x&is,s=x>>8&1,p=[];if(e==l3)for(var y=0;y>>32-15,n=PV(n,461845907),t^=n,t=t<<13|t>>>32-13,(t+(t<<2)|0)+-430675100|0}function m70(t,n){return t=cs(t,UA(n)),t=cs(t,qA(n)),t}function DV(t,n){return m70(t,_p(n))}function LV(t){var n=BA(t.dims),e=0;switch(t.kind){case 2:case 3:case 12:n>C4&&(n=C4);var i=0,x=0;for(x=0;x+4<=t.data.length;x+=4)i=t.data[x+0]|t.data[x+1]<<8|t.data[x+2]<<16|t.data[x+3]<<24,e=cs(e,i);switch(i=0,n&3){case 3:i=t.data[x+2]<<16;case 2:i|=t.data[x+1]<<8;case 1:i|=t.data[x+0],e=cs(e,i)}break;case 4:case 5:n>Mt&&(n=Mt);var i=0,x=0;for(x=0;x+2<=t.data.length;x+=2)i=t.data[x+0]|t.data[x+1]<<16,e=cs(e,i);n&1&&(e=cs(e,t.data[x]));break;case 6:n>64&&(n=64);for(var x=0;x64&&(n=64);for(var x=0;x32&&(n=32),n*=2;for(var x=0;x64&&(n=64);for(var x=0;x32&&(n=32);for(var x=0;x0?x(n,t,i):x(t,n,i);if(i&&c!=c)return e;if(+c!=+c)return+c;if(c|0)return c|0}return e}function yp(t){return t instanceof Ac}function XA(t){return yp(t)}function GV(t){if(typeof t=="number")return Q2;if(yp(t))return Y2;if(XA(t))return 1252;if(t instanceof Array&&t[0]===t[0]>>>0&&t[0]<=Ow){var n=t[0]|0;return n==gv?0:n}else{if(t instanceof String)return LY;if(typeof t=="string")return LY;if(t instanceof Number)return Q2;if(t&&t.caml_custom)return VO;if(t&&t.compare)return 1256;if(typeof t=="function")return 1247;if(typeof t=="symbol")return 1251}return 1001}function Cc(t,n){return tn.c?1:0}function Ee(t,n){return MV(t,n)}function dp(t,n,e){for(var i=[];;){if(!(e&&t===n)){var x=GV(t);if(x==nl){t=t[1];continue}var c=GV(n);if(c==nl){n=n[1];continue}if(x!==c)return x==Q2?c==VO?jV(t,n,-1,e):-1:c==Q2?x==VO?jV(n,t,1,e):1:xn)return 1;if(t!=n){if(!e)return NaN;if(t==t)return 1;if(n==n)return-1}break;case 1001:if(tn)return 1;if(t!=n){if(!e)return NaN;if(t==t)return 1;if(n==n)return-1}break;case 1251:if(t!==n)return e?1:NaN;break;case 1252:var t=Nc(t),n=Nc(n);if(t!==n){if(tn)return 1}break;case 12520:var t=t.toString(),n=n.toString();if(t!==n){if(tn)return 1}break;case 246:case 254:default:if(t.length!=n.length)return t.length1&&i.push(t,n,1);break}}if(i.length==0)return 0;var y=i.pop();n=i.pop(),t=i.pop(),y+10)if(n==0&&(e>=t.l||t.t==2&&e>=t.c.length))i==0?(t.c=C,t.t=2):(t.c=Pv(e,String.fromCharCode(i)),t.t=e==t.l?0:2);else for(t.t!=4&&pp(t),e+=n;n0&&n===n||(t=t.replace(/_/g,C),n=+t,t.length>0&&n===n||/^[+-]?nan$/i.test(t)))return n;var e=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(t);if(e){var i=e[3].replace(/0+$/,C),x=parseInt(e[1]+e[2]+i,16),c=(e[4]|0)-4*i.length;return n=x*Math.pow(2,c),n}if(/^\+?inf(inity)?$/i.test(t))return 1/0;if(/^-inf(inity)?$/i.test(t))return-1/0;e7("float_of_string")}function YA(t){t=Nc(t);var n=t.length;n>31&&vu("format_int: format too long");for(var e={justify:as,signstyle:Oo,filler:bi,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:lY},i=0;i=0&&x<=9;)e.width=e.width*10+x,i++;i--;break;case".":for(e.prec=0,i++;x=t.charCodeAt(i)-48,x>=0&&x<=9;)e.prec=e.prec*10+x,i++;i--;case"d":case"i":e.signedconv=!0;case"u":e.base=10;break;case"x":e.base=16;break;case"X":e.base=16,e.uppercase=!0;break;case"o":e.base=8;break;case"e":case"f":case"g":e.signedconv=!0,e.conv=x;break;case"E":case"F":case"G":e.signedconv=!0,e.uppercase=!0,e.conv=x.toLowerCase();break}}return e}function VA(t,n){t.uppercase&&(n=n.toUpperCase());var e=n.length;t.signedconv&&(t.sign<0||t.signstyle!=Oo)&&e++,t.alternate&&(t.base==8&&(e+=1),t.base==16&&(e+=2));var i=C;if(t.justify==as&&t.filler==bi)for(var x=e;x20?(w-=20,E/=Math.pow(10,w),E+=new Array(w+1).join($u),h>0&&(E=E+Ra+new Array(h+1).join($u)),E):E.toFixed(h)}var i,x=YA(t),c=x.prec<0?6:x.prec;if((n<0||n==0&&1/n==-1/0)&&(x.sign=-1,n=-n),isNaN(n))i=bw,x.filler=bi;else if(!isFinite(n))i="inf",x.filler=bi;else switch(x.conv){case"e":var i=n.toExponential(c),s=i.length;i.charAt(s-3)==iy&&(i=i.slice(0,s-1)+$u+i.slice(s-1));break;case"f":i=e(n,c);break;case"g":c=c||1,i=n.toExponential(c-1);var p=i.indexOf(iy),y=+i.slice(p+1);if(y<-4||n>=1e21||n.toFixed(0).length>c){for(var s=p-1;i.charAt(s)==$u;)s--;i.charAt(s)==Ra&&s--,i=i.slice(0,s+1)+i.slice(p),s=i.length,i.charAt(s-3)==iy&&(i=i.slice(0,s-1)+$u+i.slice(s-1));break}else{var T=c;if(y<0)T-=y+1,i=n.toFixed(T);else for(;i=n.toFixed(T),i.length>c+1;)T--;if(T){for(var s=i.length-1;i.charAt(s)==$u;)s--;i.charAt(s)==Ra&&s--,i=i.slice(0,s+1)}}break}return VA(x,i)}function hp(t,n){if(Nc(t)==N2)return r(C+n);var e=YA(t);n<0&&(e.signedconv?(e.sign=-1,n=-n):n>>>=0);var i=n.toString(e.base);if(e.prec>=0){e.filler=bi;var x=e.prec-i.length;x>0&&(i=Pv(x,$u)+i)}return VA(e,i)}var UV=0;function G7(){return UV++}function g70(){return 0}function HV(){return[0]}var kp=[];function Ze(t,n,e){var i=t[1],x=kp[e];if(x===void 0)for(var c=kp.length;c>1|1,nCI?(e.substr(0,1),n+=e,e=C,n+=t.slice(c,p)):e+=t.slice(c,p),p==s)break;c=p}i>6),e+=String.fromCharCode(Pi|i&Ov)):i<55296||i>=IH?e+=String.fromCharCode(KY|i>>12,Pi|i>>6&Ov,Pi|i&Ov):i>=56319||c+1==s||(x=t.charCodeAt(c+1))IH?e+="\xEF\xBF\xBD":(c++,i=(i<<10)+x-56613888,e+=String.fromCharCode(BX|i>>18,Pi|i>>12&Ov,Pi|i>>6&Ov,Pi|i&Ov)),e.length>L2&&(e.substr(0,1),n+=e,e=C)}return n+e}function T70(t){var n=9;return wV(t)||(n=8,t=F70(t)),new Ac(n,t,t.length)}function M7(t){return T70(t)}function O70(t,n,e){if(!isFinite(t))return isNaN(t)?M7(bw):M7(t>0?kU:"-infinity");var i=t==0&&1/t==-1/0?1:t>=0?0:1;i&&(t=-t);var x=0;if(t!=0)if(t<1)for(;t<1&&x>-YX;)t*=2,x--;else for(;t>=2;)t/=2,x++;var c=x<0?C:as,s=C;if(i)s=Oo;else switch(e){case 43:s=as;break;case 32:s=bi;break;default:break}if(n>=0&&n<13){var p=Math.pow(2,n*4);t=Math.round(t*p)/p}var y=t.toString(16);if(n>=0){var T=y.indexOf(Ra);if(T<0)y+=Ra+Pv(n,$u);else{var E=T+1+n;y.length>24&gx,t>>31&Li)}function A70(t){return t.toInt()}function N70(t){return+t.isNeg()}function XV(t){return t.neg()}function C70(t,n){var e=YA(t);e.signedconv&&N70(n)&&(e.sign=-1,n=XV(n));var i=C,x=wp(e.base),c="0123456789abcdef";do{var s=n.udivmod(x);n=s.quotient,i=c.charAt(A70(s.modulus))+i}while(!I70(n));if(e.prec>=0){e.filler=bi;var p=e.prec-i.length;p>0&&(i=Pv(p,$u)+i)}return VA(e,i)}function l7(t){return t.l}function nn(t){return l7(t)}function Vr(t,n){return Hu(t,n)}function P70(t,n){return t.add(n)}function D70(t,n){return t.mul(n)}function KA(t,n){return t.ucompare(n)<0}function YV(t){var n=0,e=nn(t),i=10,x=1;if(e>0)switch(Vr(t,n)){case 45:n++,x=-1;break;case 43:n++,x=1;break}if(n+1=48&&t<=57?t-48:t>=65&&t<=90?t-55:t>=97&&t<=In?t-87:-1}function Rv(t){var n=YV(t),e=n[0],i=n[1],x=n[2],c=wp(x),s=new an(gx,268435455,Li).udivmod(c).quotient,p=Vr(t,e),y=Ep(p);(y<0||y>=x)&&e7(ts);for(var T=wp(y);;)if(e++,p=Vr(t,e),p!=95){if(y=Ep(p),y<0||y>=x)break;KA(s,T)&&e7(ts),y=wp(y),T=P70(D70(c,T),y),KA(T,y)&&e7(ts)}return e!=nn(t)&&e7(ts),x==10&&KA(new an(0,0,Mi),T)&&e7(ts),i<0&&(T=XV(T)),T}function jv(t){return t.toFloat()}function Bi(t){var n=YV(t),e=n[0],i=n[1],x=n[2],c=nn(t),s=-1>>>0,p=e=x)&&e7(ts);var T=y;for(e++;e=x)break;T=x*T+y,T>s&&e7(ts)}return e!=c&&e7(ts),T=i*T,x==10&&(T|0)!=T&&e7(ts),T|0}function L70(t){return t.slice(1)}function R70(t){return!!t}function vn(t){return t.toUtf16()}function j70(t){for(var n={},e=1;e1&&i.pop();break;case".":break;default:i.push(e[x]);break}return i.unshift(n[0]),i.orig=t,i}var U70=["E2BIG","EACCES","EAGAIN","EBADF","EBUSY","ECHILD","EDEADLK","EDOM",xV,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",pd,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",kw,GU,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function _1(t,n,e,i){var x=U70.indexOf(t);x<0&&(i==null&&(i=-9999),x=[0,i]);var c=[x,M7(n||C),M7(e||C)];return c}var KV={};function y1(t){return KV[t]}function d1(t,n){throw[0,t].concat(n)}function H70(t){return new Ac(4,t,t.length)}function X70(t){t=Nc(t),ot(t+up)}function Y70(t,n){return n>>>0>=t.l&&SV(),Hu(t,n)}function WV(){}function Su(t){this.data=t}Su.prototype=new WV,Su.prototype.truncate=function(t){var n=this.data;this.data=Lt(t|0),Is(n,0,this.data,0,t)},Su.prototype.length=function(){return l7(this.data)},Su.prototype.write=function(t,n,e,i){var x=this.length();if(t+i>=x){var c=Lt(t+i),s=this.data;this.data=c,Is(s,0,this.data,0,x)}return As(n,e,this.data,t,i),0},Su.prototype.read=function(t,n,e,i){var x=this.length();return Is(this.data,t,n,e,i),0},Su.prototype.read_one=function(t){return Y70(this.data,t)},Su.prototype.close=function(){},Su.prototype.constructor=Su;function n7(t,n){this.content={},this.root=t,this.lookupFun=n}n7.prototype.nm=function(t){return this.root+t},n7.prototype.create_dir_if_needed=function(t){for(var n=t.split(Zu),e=C,i=0;iKt.fd_last_idx)&&(Kt.fd_last_idx=t),t}function gae(t,n,e){for(var i={};n;){switch(n[1]){case 0:i.rdonly=1;break;case 1:i.wronly=1;break;case 2:i.append=1;break;case 3:i.create=1;break;case 4:i.truncate=1;break;case 5:i.excl=1;break;case 6:i.binary=1;break;case 7:i.text=1;break;case 8:i.nonblock=1;break}n=n[2]}i.rdonly&&i.wronly&&ot(Nc(t)+NY),i.text&&i.binary&&ot(Nc(t)+aY);var x=K70(t),c=x.device.open(x.rest,i),s=Kt.fd_last_idx?Kt.fd_last_idx:0;return gp(s+1,$V,c,i)}gp(0,$V,new Su(Lt(0))),gp(1,J70,new Su(Lt(0))),gp(2,W70,new Su(Lt(0)));function $70(t){var n=Kt.fds[t];n.flags.wronly&&ot(hX+t+" is writeonly");var e=null;if(t==0&&VV()){var i=Fj();e=function(){return M7(i.readFileSync(0,_V))}}var x={file:n.file,offset:n.offset,fd:t,opened:!0,out:!1,refill:e};return Pc[x.fd]=x,x.fd}function ZV(t){var n=Kt.fds[t];n.flags.rdonly&&ot(hX+t+" is readonly");var e={file:n.file,offset:n.offset,fd:t,opened:!0,out:!0,buffer:C};return Pc[e.fd]=e,e.fd}function Z70(){for(var t=0,n=0;n>>0?t[0]:yp(t)||XA(t)?Y2:t instanceof Function||typeof t=="function"?jw:t&&t.caml_custom?Ow:Q2}function yi(t,n,e){e&&M0.toplevelReloc&&(t=M0.toplevelReloc(e)),Kt[t+1]=n,e&&(Kt[e]=n)}function ZA(t,n){return KV[Nc(t)]=n,0}function ei0(t){return t[2]=UV++,t}function ni0(t,n){return t===n?1:(t.t&6&&Dv(t),n.t&6&&Dv(n),t.c==n.c?1:0)}function qn(t,n){return ni0(t,n)}function ti0(){vu(XS)}function At(t,n){return n>>>0>=nn(t)&&ti0(),Vr(t,n)}function n0(t,n){return 1-qn(t,n)}function ui0(){return[0,r("js_of_ocaml")]}function ii0(){return 2147483647/4|0}function fi0(t){return 0}var xi0=M0.process&&M0.process.platform&&M0.process.platform==bV?UU:"Unix";function ai0(){return[0,r(xi0),32,0]}function oi0(){FV(Kt.Not_found)}function rz(t){var n=M0,e=vn(t);if(n.process&&n.process.env&&n.process.env[e]!=null)return M7(n.process.env[e]);if(M0.jsoo_static_env&&M0.jsoo_static_env[e])return M7(M0.jsoo_static_env[e]);oi0()}function QA(t){for(var n=1;t&&t.joo_tramp;)t=t.joo_tramp.apply(null,t.joo_args),n++;return t}function Fu(t,n){return{joo_tramp:t,joo_args:n}}function N(t,n){if(typeof n=="function")return t.fun=n,0;if(n.fun)return t.fun=n.fun,0;for(var e=n.length;e--;)t[e]=n[e];return 0}function Tae(t){return t}function gt(t){return t instanceof Array?t:M0.RangeError&&t instanceof M0.RangeError&&t.message&&t.message.match(/maximum call stack/i)||M0.InternalError&&t instanceof M0.InternalError&&t.message&&t.message.match(/too much recursion/i)?Kt.Stack_overflow:t instanceof M0.Error&&y1($O)?[0,y1($O),t]:[0,Kt.Failure,M7(String(t))]}function ci0(t){switch(t[2]){case-8:case-11:case-12:return 1;default:return 0}}function si0(t){var n=C;if(t[0]==0){if(n+=t[1][1],t.length==3&&t[2][0]==0&&ci0(t[1]))var i=t[2],e=1;else var e=2,i=t;n+=KX;for(var x=e;xe&&(n+=nX);var c=i[x];typeof c=="number"?n+=c.toString():c instanceof Ac||typeof c=="string"?n+=V2+c.toString()+V2:n+=bv}n+=Z0}else t[0]==Et&&(n+=t[1]);return n}function ez(t){if(t instanceof Array&&(t[0]==0||t[0]==Et)){var n=y1(BH);if(n)n(t,!1);else{var e=si0(t),i=y1(mV);i&&i(0),M0.console.error(kh+e+nV)}}else throw t}function vi0(){var t=M0;t.process&&t.process.on?t.process.on("uncaughtException",function(n,e){ez(n),t.process.exit(2)}):t.addEventListener&&t.addEventListener("error",function(n){n.error&&ez(n.error)})}vi0();function u(t,n){return t.length==1?t(n):os(t,[n])}function a(t,n,e){return t.length==2?t(n,e):os(t,[n,e])}function ur(t,n,e,i){return t.length==3?t(n,e,i):os(t,[n,e,i])}function R(t,n,e,i,x){return t.length==4?t(n,e,i,x):os(t,[n,e,i,x])}function b7(t,n,e,i,x,c){return t.length==5?t(n,e,i,x,c):os(t,[n,e,i,x,c])}function li0(t,n,e,i,x,c,s,p){return t.length==7?t(n,e,i,x,c,s,p):os(t,[n,e,i,x,c,s,p])}var rN=[Et,r(TX),-1],nz=[Et,r(MH),-2],B7=[Et,r(LH),-3],eN=[Et,r(sH),-4],Jt=[Et,r(QU),-7],tz=[Et,r(BY),-8],uz=[Et,r($U),-9],Sn=[Et,r(TU),-11],sl=[Et,r(oX),-12],iz=[0,c7],bi0=[4,0,0,0,[12,45,[4,0,0,0,0]]],nN=[0,[11,r('File "'),[2,0,[11,r('", line '),[4,0,0,0,[11,r(EH),[4,0,0,0,[12,45,[4,0,0,0,[11,r(": "),[2,0,0]]]]]]]]]],r('File "%s", line %d, characters %d-%d: %s')],fz=[0,0,[0,0,0],[0,0,0]],tN=r(""),uN=r("\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"),Bv=[0,0,0,0,1,0],xz=[0,r(Gx),r(va),r(go),r(so),r(za),r(Yf),r(Jx),r(pf),r(of),r(Bx),r(it),r(Yo),r(I7),r(If),r(px),r(_a),r(lx),r(ef),r(gf),r(Xo),r(oo),r(Ho),r(yf),r(ic),r(Rf),r(To),r(ff),r(Ef),r(Bo),r(Xf),r(Tx),r(ax),r(Fa),r(kf),r(da),r(Qf),r(ao),r(Za),r(A7),r(O7),r(ox),r(Io),r(Mo),r(Wf),r(to),r(la),r(Ta),r(Sx),r(Go),r(ka),r(s7),r(bo),r(eo),r(vo),r(Hx),r(Xa),r(Ux),r(Mf),r(Nf),r(rc),r(Mx),r(Cf),r(ba),r(Fo),r(lf),r(ec),r(io),r(no),r(Au),r(Ix),r(ta),r(Ff),r(Uf),r(Eo),r(qx),r(Oc),r(Vo),r(jo),r(hx),r(xc),r(vi),r(ga),r(pa),r(Ic),r(No),r(kx),r(Nx),r(Tc),r(jf),r(uf),r(ix),r(yo),r(Ma),r(Ex),r(Uo),r(bf),r(po),r(yx),r(j7),r($o),r(mc),r(Kf),r(_i),r(_f),r(fo),r(zo),r(qu),r(gc),r(ma),r(Yx),r(Do),r(Ox),r(Co),r(r7),r(sf),r(wa),r(na),r(Wo),r(Gf),r(sc),r(ho),r(Ja),r(ex),r(cf),r(af),r(Cx),r(_c),r(Na),r(Ga),r(xa),r(Ax),r(sa),r(Px),r(nf),r(nc),r(Wa),r(Ro),r(Sc),r($a),r(bx),r(kc),r(Lx),r(ko),r(Rx),r(ux),r(Wx),r(Lo),r(Xx),r($x),r(dc),r(ir),r(yc),r(Af),r(hf),r(mx),r(Ua),r(jx),r(Tf),r(uc),r(Jf),r(wo),r(_o),r(tx),r(Vf),r(xf),r(Pf),r(xx),r(ca),r(Qa),r(ac),r(pc),r(Ya),r(Ko),r(wf),r(Ba),r(ro),r(pi),r(nx),r(rx),r(Ka),r(mf),r(lo),r(bc),r(Ec),r($f),r(zf),r(qa),r(Df),r(uo),r(co),r(lc),r(ra),r(So),r(Va),r(Qo),r(Qu),r(Ne),r(mo),r(_x),r(Wu),r(vx),r(qf),r(Fc),r(df),r(Kx),r(Fx),r(Po),r(hc),r(P7),r(ha),r(Ha),r(Zf),r(Qx),r(Ea),r(Lf),r(Aa),r(g7),r(ua),r(xo),r(oa),r(dx),r(Zx),r(Vx),r(Jo),r(ja),r(Hf),r(Ao),r(sx),r(Of),r(Dx),r(fa),r(Zo),r(Sf),r(Ca),r(tc),r(Da),r(Oa),r(Bf),r(cc),r(fx),r(wc),r(ou),r(Ia),r(ia),r(zx),r(wu)],az=[0,r("first_leading"),r("last_trailing")],oz=[0,0];yi(11,sl,oX),yi(10,Sn,TU),yi(9,[Et,r(gY),jX],gY),yi(8,uz,$U),yi(7,tz,BY),yi(6,Jt,QU),yi(5,[Et,r(iY),-6],iY),yi(4,[Et,r(DH),-5],DH),yi(3,eN,sH),yi(2,B7,LH),yi(1,nz,MH),yi(0,rN,TX);var pi0=r("output_substring"),mi0=r("%.12g"),_i0=r(Ra),yi0=r(Gi),di0=r(Ci),hi0=r(oY),ki0=r("\\'"),wi0=r("\\b"),Ei0=r("\\t"),Si0=r("\\n"),gi0=r("\\r"),Fi0=r("List.iter2"),Ti0=r("tl"),Oi0=r("hd"),Ii0=r("String.blit / Bytes.blit_string"),Ai0=r("Bytes.blit"),Ni0=r("String.sub / Bytes.sub"),Ci0=r("Array.blit"),Pi0=r("Array.sub"),Di0=r("Map.remove_min_elt"),Li0=[0,0,0,0],Ri0=[0,r("map.ml"),400,10],ji0=[0,0,0],Gi0=r(n6),Mi0=r(n6),Bi0=r(n6),qi0=r(n6),Ui0=r("Stdlib.Queue.Empty"),Hi0=r("CamlinternalLazy.Undefined"),Xi0=r("Buffer.add_substring/add_subbytes"),Yi0=r("Buffer.add: cannot grow buffer"),Vi0=[0,r(HU),93,2],zi0=[0,r(HU),94,2],Ki0=r("Buffer.sub"),Wi0=r("%c"),Ji0=r("%s"),$i0=r(lX),Zi0=r(XY),Qi0=r(vH),rf0=r(JH),ef0=r("%f"),nf0=r(An),tf0=r("%{"),uf0=r("%}"),if0=r("%("),ff0=r("%)"),xf0=r(C0),af0=r("%t"),of0=r("%?"),cf0=r("%r"),sf0=r("%_r"),vf0=[0,r(cu),850,23],lf0=[0,r(cu),814,21],bf0=[0,r(cu),815,21],pf0=[0,r(cu),818,21],mf0=[0,r(cu),819,21],_f0=[0,r(cu),822,19],yf0=[0,r(cu),823,19],df0=[0,r(cu),826,22],hf0=[0,r(cu),827,22],kf0=[0,r(cu),831,30],wf0=[0,r(cu),832,30],Ef0=[0,r(cu),836,26],Sf0=[0,r(cu),837,26],gf0=[0,r(cu),846,28],Ff0=[0,r(cu),847,28],Tf0=[0,r(cu),851,23],Of0=r(TY),If0=[0,r(cu),1558,4],Af0=r("Printf: bad conversion %["),Nf0=[0,r(cu),1626,39],Cf0=[0,r(cu),1649,31],Pf0=[0,r(cu),1650,31],Df0=r("Printf: bad conversion %_"),Lf0=r(IY),Rf0=r(dY),jf0=r(IY),Gf0=r(dY),Mf0=[0,[11,r("invalid box description "),[3,0,0]],r("invalid box description %S")],Bf0=r(C),qf0=[0,0,4],Uf0=r(C),Hf0=r(gX),Xf0=r("h"),Yf0=r("hov"),Vf0=r("hv"),zf0=r(hV),Kf0=r(bw),Wf0=r("neg_infinity"),Jf0=r(kU),$f0=r(Ra),Zf0=r("%+nd"),Qf0=r("% nd"),rx0=r("%+ni"),ex0=r("% ni"),nx0=r("%nx"),tx0=r("%#nx"),ux0=r("%nX"),ix0=r("%#nX"),fx0=r("%no"),xx0=r("%#no"),ax0=r("%nd"),ox0=r(vH),cx0=r("%nu"),sx0=r("%+ld"),vx0=r("% ld"),lx0=r("%+li"),bx0=r("% li"),px0=r("%lx"),mx0=r("%#lx"),_x0=r("%lX"),yx0=r("%#lX"),dx0=r("%lo"),hx0=r("%#lo"),kx0=r("%ld"),wx0=r(XY),Ex0=r("%lu"),Sx0=r("%+Ld"),gx0=r("% Ld"),Fx0=r("%+Li"),Tx0=r("% Li"),Ox0=r("%Lx"),Ix0=r("%#Lx"),Ax0=r("%LX"),Nx0=r("%#LX"),Cx0=r("%Lo"),Px0=r("%#Lo"),Dx0=r("%Ld"),Lx0=r(JH),Rx0=r("%Lu"),jx0=r("%+d"),Gx0=r("% d"),Mx0=r("%+i"),Bx0=r("% i"),qx0=r("%x"),Ux0=r("%#x"),Hx0=r("%X"),Xx0=r("%#X"),Yx0=r("%o"),Vx0=r("%#o"),zx0=r(N2),Kx0=r(lX),Wx0=r(TY),Jx0=r(z),$x0=r("@}"),Zx0=r("@?"),Qx0=r(`@ -`),ra0=r("@."),ea0=r("@@"),na0=r("@%"),ta0=r(AX),ua0=r("CamlinternalFormat.Type_mismatch"),ia0=r(C),fa0=[0,[11,r(nX),[2,0,[2,0,0]]],r(", %s%s")],xa0=[0,[11,r(kh),[2,0,[12,10,0]]],r(CU)],aa0=[0,[11,r("Fatal error in uncaught exception handler: exception "),[2,0,[12,10,0]]],r(`Fatal error in uncaught exception handler: exception %s -`)],oa0=r("Fatal error: out of memory in uncaught exception handler"),ca0=[0,[11,r(kh),[2,0,[12,10,0]]],r(CU)],sa0=[0,[2,0,[12,10,0]],r(`%s -`)],va0=[0,[11,r(RY),0],r(RY)],la0=r("Raised at"),ba0=r("Re-raised at"),pa0=r("Raised by primitive operation at"),ma0=r("Called from"),_a0=r(" (inlined)"),ya0=r(C),da0=[0,[2,0,[12,32,[2,0,[11,r(' in file "'),[2,0,[12,34,[2,0,[11,r(", line "),[4,0,0,0,[11,r(EH),bi0]]]]]]]]]],r('%s %s in file "%s"%s, line %d, characters %d-%d')],ha0=[0,[2,0,[11,r(" unknown location"),0]],r("%s unknown location")],ka0=r("Out of memory"),wa0=r("Stack overflow"),Ea0=r("Pattern matching failed"),Sa0=r("Assertion failed"),ga0=r("Undefined recursive module"),Fa0=[0,[12,40,[2,0,[2,0,[12,41,0]]]],r("(%s%s)")],Ta0=r(C),Oa0=r(C),Ia0=[0,[12,40,[2,0,[12,41,0]]],r("(%s)")],Aa0=[0,[4,0,0,0,0],r(N2)],Na0=[0,[3,0,0],r(zt)],Ca0=r(bv),Pa0=[0,r(C),r(`(Cannot print locations: - bytecode executable program file not found)`),r(`(Cannot print locations: - bytecode executable program file appears to be corrupt)`),r(`(Cannot print locations: - bytecode executable program file has wrong magic number)`),r(`(Cannot print locations: - bytecode executable program file cannot be opened; - -- too many open files. Try running with OCAMLRUNPARAM=b=2)`)],Da0=[3,0,3],La0=r(Ra),Ra0=r(cv),ja0=r("Flow_ast.Function.BodyBlock@ ")],Xo0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Yo0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Vo0=[0,[17,0,[12,41,0]],r(h0)],zo0=[0,[17,0,[12,41,0]],r(h0)],Ko0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Function.BodyExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Function.BodyExpression@ ")],Wo0=[0,[17,0,[12,41,0]],r(h0)],Jo0=[0,[15,0],r(C0)],$o0=r(Yr),Zo0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Qo0=r("Flow_ast.Function.id"),rc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ec0=r(tr),nc0=r(Z0),tc0=r(nr),uc0=[0,[17,0,0],r(z)],ic0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fc0=r(Dt),xc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ac0=[0,[17,0,0],r(z)],oc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cc0=r(Jn),sc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vc0=[0,[17,0,0],r(z)],lc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bc0=r(Os),pc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mc0=[0,[9,0,0],r(An)],_c0=[0,[17,0,0],r(z)],yc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dc0=r(j7),hc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kc0=[0,[9,0,0],r(An)],wc0=[0,[17,0,0],r(z)],Ec0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Sc0=r(Qu),gc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Fc0=r(tr),Tc0=r(Z0),Oc0=r(nr),Ic0=[0,[17,0,0],r(z)],Ac0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Nc0=r(Wu),Cc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Pc0=[0,[17,0,0],r(z)],Dc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Lc0=r(sv),Rc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jc0=r(tr),Gc0=r(Z0),Mc0=r(nr),Bc0=[0,[17,0,0],r(z)],qc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uc0=r(Xr),Hc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xc0=r(tr),Yc0=r(Z0),Vc0=r(nr),zc0=[0,[17,0,0],r(z)],Kc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wc0=r("sig_loc"),Jc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$c0=[0,[17,0,0],r(z)],Zc0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Qc0=[0,[15,0],r(C0)],rs0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],es0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ns0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],ts0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],us0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],is0=r("Flow_ast.Function.Params.this_"),fs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xs0=r(tr),as0=r(Z0),os0=r(nr),cs0=[0,[17,0,0],r(z)],ss0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vs0=r(Dt),ls0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bs0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ps0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],ms0=[0,[17,0,0],r(z)],_s0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ys0=r(ch),ds0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hs0=r(tr),ks0=r(Z0),ws0=r(nr),Es0=[0,[17,0,0],r(z)],Ss0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gs0=r(Xr),Fs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ts0=r(tr),Os0=r(Z0),Is0=r(nr),As0=[0,[17,0,0],r(z)],Ns0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Cs0=[0,[15,0],r(C0)],Ps0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Ds0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ls0=[0,[17,0,[12,41,0]],r(h0)],Rs0=[0,[15,0],r(C0)],js0=r(Yr),Gs0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Ms0=r("Flow_ast.Function.ThisParam.annot"),Bs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qs0=[0,[17,0,0],r(z)],Us0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Hs0=r(Xr),Xs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ys0=r(tr),Vs0=r(Z0),zs0=r(nr),Ks0=[0,[17,0,0],r(z)],Ws0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Js0=[0,[15,0],r(C0)],$s0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Zs0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Qs0=[0,[17,0,[12,41,0]],r(h0)],r10=[0,[15,0],r(C0)],e10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],n10=r("Flow_ast.Function.Param.argument"),t10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u10=[0,[17,0,0],r(z)],i10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],f10=r(mi),x10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],a10=r(tr),o10=r(Z0),c10=r(nr),s10=[0,[17,0,0],r(z)],v10=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],l10=[0,[15,0],r(C0)],b10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],p10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],m10=[0,[17,0,[12,41,0]],r(h0)],_10=[0,[15,0],r(C0)],y10=r(Yr),d10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],h10=r("Flow_ast.Function.RestParam.argument"),k10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],w10=[0,[17,0,0],r(z)],E10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],S10=r(Xr),g10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],F10=r(tr),T10=r(Z0),O10=r(nr),I10=[0,[17,0,0],r(z)],A10=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],N10=[0,[15,0],r(C0)],C10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],P10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],D10=[0,[17,0,[12,41,0]],r(h0)],L10=[0,[15,0],r(C0)],R10=r(Yr),j10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],G10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],M10=r("Flow_ast.Class.id"),B10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],q10=r(tr),U10=r(Z0),H10=r(nr),X10=[0,[17,0,0],r(z)],Y10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],V10=r(Jn),z10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K10=[0,[17,0,0],r(z)],W10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],J10=r(sv),$10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Z10=r(tr),Q10=r(Z0),rv0=r(nr),ev0=[0,[17,0,0],r(z)],nv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tv0=r(C7),uv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iv0=r(tr),fv0=r(Z0),xv0=r(nr),av0=[0,[17,0,0],r(z)],ov0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cv0=r(gs),sv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vv0=r(tr),lv0=r(Z0),bv0=r(nr),pv0=[0,[17,0,0],r(z)],mv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_v0=r("class_decorators"),yv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dv0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],hv0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],kv0=[0,[17,0,0],r(z)],wv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ev0=r(Xr),Sv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gv0=r(tr),Fv0=r(Z0),Tv0=r(nr),Ov0=[0,[17,0,0],r(z)],Iv0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Av0=[0,[15,0],r(C0)],Nv0=r(Yr),Cv0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Pv0=r("Flow_ast.Class.Decorator.expression"),Dv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lv0=[0,[17,0,0],r(z)],Rv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jv0=r(Xr),Gv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mv0=r(tr),Bv0=r(Z0),qv0=r(nr),Uv0=[0,[17,0,0],r(z)],Hv0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Xv0=[0,[15,0],r(C0)],Yv0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Vv0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],zv0=[0,[17,0,[12,41,0]],r(h0)],Kv0=[0,[15,0],r(C0)],Wv0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.Method"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.Method@ ")],Jv0=[0,[17,0,[12,41,0]],r(h0)],$v0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.Property@ ")],Zv0=[0,[17,0,[12,41,0]],r(h0)],Qv0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.PrivateField"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.PrivateField@ ")],r20=[0,[17,0,[12,41,0]],r(h0)],e20=[0,[15,0],r(C0)],n20=r(Yr),t20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],u20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],i20=r("Flow_ast.Class.Body.body"),f20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],a20=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],o20=[0,[17,0,0],r(z)],c20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s20=r(Xr),v20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l20=r(tr),b20=r(Z0),p20=r(nr),m20=[0,[17,0,0],r(z)],_20=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],y20=[0,[15,0],r(C0)],d20=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],h20=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],k20=[0,[17,0,[12,41,0]],r(h0)],w20=[0,[15,0],r(C0)],E20=r(Yr),S20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],g20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],F20=r("Flow_ast.Class.Implements.interfaces"),T20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],O20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],I20=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],A20=[0,[17,0,0],r(z)],N20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],C20=r(Xr),P20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],D20=r(tr),L20=r(Z0),R20=r(nr),j20=[0,[17,0,0],r(z)],G20=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],M20=[0,[15,0],r(C0)],B20=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],q20=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],U20=[0,[17,0,[12,41,0]],r(h0)],H20=[0,[15,0],r(C0)],X20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Y20=r("Flow_ast.Class.Implements.Interface.id"),V20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],z20=[0,[17,0,0],r(z)],K20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],W20=r(Z2),J20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$20=r(tr),Z20=r(Z0),Q20=r(nr),rl0=[0,[17,0,0],r(z)],el0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],nl0=[0,[15,0],r(C0)],tl0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ul0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],il0=[0,[17,0,[12,41,0]],r(h0)],fl0=[0,[15,0],r(C0)],xl0=r(Yr),al0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],ol0=r("Flow_ast.Class.Extends.expr"),cl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sl0=[0,[17,0,0],r(z)],vl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ll0=r(Z2),bl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pl0=r(tr),ml0=r(Z0),_l0=r(nr),yl0=[0,[17,0,0],r(z)],dl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hl0=r(Xr),kl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wl0=r(tr),El0=r(Z0),Sl0=r(nr),gl0=[0,[17,0,0],r(z)],Fl0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Tl0=[0,[15,0],r(C0)],Ol0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Il0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Al0=[0,[17,0,[12,41,0]],r(h0)],Nl0=[0,[15,0],r(C0)],Cl0=r(Yr),Pl0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Dl0=r("Flow_ast.Class.PrivateField.key"),Ll0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rl0=[0,[17,0,0],r(z)],jl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gl0=r(Bn),Ml0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bl0=[0,[17,0,0],r(z)],ql0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ul0=r(rs),Hl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xl0=[0,[17,0,0],r(z)],Yl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vl0=r(nu),zl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kl0=[0,[9,0,0],r(An)],Wl0=[0,[17,0,0],r(z)],Jl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$l0=r(ou),Zl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ql0=r(tr),rb0=r(Z0),eb0=r(nr),nb0=[0,[17,0,0],r(z)],tb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ub0=r(Xr),ib0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fb0=r(tr),xb0=r(Z0),ab0=r(nr),ob0=[0,[17,0,0],r(z)],cb0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],sb0=[0,[15,0],r(C0)],vb0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],lb0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],bb0=[0,[17,0,[12,41,0]],r(h0)],pb0=[0,[15,0],r(C0)],mb0=r("Flow_ast.Class.Property.Uninitialized"),_b0=r("Flow_ast.Class.Property.Declared"),yb0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Property.Initialized"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Property.Initialized@ ")],db0=[0,[17,0,[12,41,0]],r(h0)],hb0=[0,[15,0],r(C0)],kb0=r(Yr),wb0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Eb0=r("Flow_ast.Class.Property.key"),Sb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gb0=[0,[17,0,0],r(z)],Fb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tb0=r(Bn),Ob0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ib0=[0,[17,0,0],r(z)],Ab0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Nb0=r(rs),Cb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Pb0=[0,[17,0,0],r(z)],Db0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Lb0=r(nu),Rb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jb0=[0,[9,0,0],r(An)],Gb0=[0,[17,0,0],r(z)],Mb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Bb0=r(ou),qb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ub0=r(tr),Hb0=r(Z0),Xb0=r(nr),Yb0=[0,[17,0,0],r(z)],Vb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zb0=r(Xr),Kb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wb0=r(tr),Jb0=r(Z0),$b0=r(nr),Zb0=[0,[17,0,0],r(z)],Qb0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],r40=[0,[15,0],r(C0)],e40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],n40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],t40=[0,[17,0,[12,41,0]],r(h0)],u40=[0,[15,0],r(C0)],i40=r(Yr),f40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x40=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],a40=r("Flow_ast.Class.Method.kind"),o40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c40=[0,[17,0,0],r(z)],s40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],v40=r(ui),l40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],b40=[0,[17,0,0],r(z)],p40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],m40=r(Bn),_40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],y40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],d40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],h40=[0,[17,0,[12,41,0]],r(h0)],k40=[0,[17,0,0],r(z)],w40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],E40=r(nu),S40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],g40=[0,[9,0,0],r(An)],F40=[0,[17,0,0],r(z)],T40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],O40=r(B_),I40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],A40=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],N40=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],C40=[0,[17,0,0],r(z)],P40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],D40=r(Xr),L40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],R40=r(tr),j40=r(Z0),G40=r(nr),M40=[0,[17,0,0],r(z)],B40=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],q40=[0,[15,0],r(C0)],U40=r("Flow_ast.Class.Method.Constructor"),H40=r("Flow_ast.Class.Method.Method"),X40=r("Flow_ast.Class.Method.Get"),Y40=r("Flow_ast.Class.Method.Set"),V40=[0,[15,0],r(C0)],z40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],K40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],W40=[0,[17,0,[12,41,0]],r(h0)],J40=[0,[15,0],r(C0)],$40=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Z40=r("Flow_ast.Comment.kind"),Q40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],r80=[0,[17,0,0],r(z)],e80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],n80=r("text"),t80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u80=[0,[3,0,0],r(zt)],i80=[0,[17,0,0],r(z)],f80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x80=r("on_newline"),a80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],o80=[0,[9,0,0],r(An)],c80=[0,[17,0,0],r(z)],s80=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],v80=[0,[15,0],r(C0)],l80=r("Flow_ast.Comment.Line"),b80=r("Flow_ast.Comment.Block"),p80=[0,[15,0],r(C0)],m80=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],_80=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],y80=[0,[17,0,[12,41,0]],r(h0)],d80=[0,[15,0],r(C0)],h80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object@ ")],k80=[0,[17,0,[12,41,0]],r(h0)],w80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array@ ")],E80=[0,[17,0,[12,41,0]],r(h0)],S80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Identifier@ ")],g80=[0,[17,0,[12,41,0]],r(h0)],F80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Expression@ ")],T80=[0,[17,0,[12,41,0]],r(h0)],O80=[0,[15,0],r(C0)],I80=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],A80=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],N80=[0,[17,0,[12,41,0]],r(h0)],C80=[0,[15,0],r(C0)],P80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],D80=r("Flow_ast.Pattern.Identifier.name"),L80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],R80=[0,[17,0,0],r(z)],j80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],G80=r(rs),M80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],B80=[0,[17,0,0],r(z)],q80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],U80=r(Bu),H80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],X80=[0,[9,0,0],r(An)],Y80=[0,[17,0,0],r(z)],V80=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],z80=[0,[15,0],r(C0)],K80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],W80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],J80=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],$80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Q80=r("Flow_ast.Pattern.Array.elements"),r30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],e30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],n30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],t30=[0,[17,0,0],r(z)],u30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i30=r(rs),f30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x30=[0,[17,0,0],r(z)],a30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],o30=r(Xr),c30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],s30=r(tr),v30=r(Z0),l30=r(nr),b30=[0,[17,0,0],r(z)],p30=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],m30=[0,[15,0],r(C0)],_30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.Element"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.Element@ ")],y30=[0,[17,0,[12,41,0]],r(h0)],d30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.RestElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.RestElement@ ")],h30=[0,[17,0,[12,41,0]],r(h0)],k30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.Hole"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.Hole@ ")],w30=[0,[17,0,[12,41,0]],r(h0)],E30=[0,[15,0],r(C0)],S30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],g30=r("Flow_ast.Pattern.Array.Element.argument"),F30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],T30=[0,[17,0,0],r(z)],O30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],I30=r(mi),A30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],N30=r(tr),C30=r(Z0),P30=r(nr),D30=[0,[17,0,0],r(z)],L30=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],R30=[0,[15,0],r(C0)],j30=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],G30=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],M30=[0,[17,0,[12,41,0]],r(h0)],B30=[0,[15,0],r(C0)],q30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],U30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],H30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],X30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Y30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],V30=r("Flow_ast.Pattern.Object.properties"),z30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],W30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],J30=[0,[17,0,0],r(z)],$30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z30=r(rs),Q30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],r60=[0,[17,0,0],r(z)],e60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],n60=r(Xr),t60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u60=r(tr),i60=r(Z0),f60=r(nr),x60=[0,[17,0,0],r(z)],a60=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],o60=[0,[15,0],r(C0)],c60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property@ ")],s60=[0,[17,0,[12,41,0]],r(h0)],v60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.RestElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.RestElement@ ")],l60=[0,[17,0,[12,41,0]],r(h0)],b60=[0,[15,0],r(C0)],p60=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],m60=r("Flow_ast.Pattern.Object.Property.key"),_60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],y60=[0,[17,0,0],r(z)],d60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],h60=r(pi),k60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],w60=[0,[17,0,0],r(z)],E60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],S60=r(mi),g60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],F60=r(tr),T60=r(Z0),O60=r(nr),I60=[0,[17,0,0],r(z)],A60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],N60=r(x6),C60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],P60=[0,[9,0,0],r(An)],D60=[0,[17,0,0],r(z)],L60=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],R60=[0,[15,0],r(C0)],j60=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],G60=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],M60=[0,[17,0,[12,41,0]],r(h0)],B60=[0,[15,0],r(C0)],q60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Literal@ ")],U60=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],H60=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],X60=[0,[17,0,[12,41,0]],r(h0)],Y60=[0,[17,0,[12,41,0]],r(h0)],V60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ ")],z60=[0,[17,0,[12,41,0]],r(h0)],K60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Computed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Computed@ ")],W60=[0,[17,0,[12,41,0]],r(h0)],J60=[0,[15,0],r(C0)],$60=r(Yr),Z60=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Q60=r("Flow_ast.Pattern.RestElement.argument"),rp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ep0=[0,[17,0,0],r(z)],np0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tp0=r(Xr),up0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ip0=r(tr),fp0=r(Z0),xp0=r(nr),ap0=[0,[17,0,0],r(z)],op0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],cp0=[0,[15,0],r(C0)],sp0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],vp0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],lp0=[0,[17,0,[12,41,0]],r(h0)],bp0=[0,[15,0],r(C0)],pp0=r(Yr),mp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_p0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],yp0=r("Flow_ast.JSX.frag_opening_element"),dp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hp0=[0,[17,0,0],r(z)],kp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wp0=r("frag_closing_element"),Ep0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sp0=[0,[17,0,0],r(z)],gp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Fp0=r("frag_children"),Tp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Op0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Ip0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ap0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Np0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Cp0=[0,[17,0,[12,41,0]],r(h0)],Pp0=[0,[17,0,0],r(z)],Dp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Lp0=r("frag_comments"),Rp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jp0=r(tr),Gp0=r(Z0),Mp0=r(nr),Bp0=[0,[17,0,0],r(z)],qp0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Up0=[0,[15,0],r(C0)],Hp0=r(Yr),Xp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yp0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Vp0=r("Flow_ast.JSX.opening_element"),zp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kp0=[0,[17,0,0],r(z)],Wp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Jp0=r("closing_element"),$p0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zp0=r(tr),Qp0=r(Z0),r50=r(nr),e50=[0,[17,0,0],r(z)],n50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],t50=r(ze),u50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],i50=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],f50=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],x50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],a50=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],o50=[0,[17,0,[12,41,0]],r(h0)],c50=[0,[17,0,0],r(z)],s50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],v50=r(Xr),l50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],b50=r(tr),p50=r(Z0),m50=r(nr),_50=[0,[17,0,0],r(z)],y50=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],d50=[0,[15,0],r(C0)],h50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Element"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Element@ ")],k50=[0,[17,0,[12,41,0]],r(h0)],w50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Fragment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Fragment@ ")],E50=[0,[17,0,[12,41,0]],r(h0)],S50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.ExpressionContainer"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.ExpressionContainer@ ")],g50=[0,[17,0,[12,41,0]],r(h0)],F50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.SpreadChild"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.SpreadChild@ ")],T50=[0,[17,0,[12,41,0]],r(h0)],O50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Text"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Text@ ")],I50=[0,[17,0,[12,41,0]],r(h0)],A50=[0,[15,0],r(C0)],N50=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],C50=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],P50=[0,[17,0,[12,41,0]],r(h0)],D50=[0,[15,0],r(C0)],L50=r(Yr),R50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],j50=r("Flow_ast.JSX.SpreadChild.expression"),G50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M50=[0,[17,0,0],r(z)],B50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q50=r(Xr),U50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H50=r(tr),X50=r(Z0),Y50=r(nr),V50=[0,[17,0,0],r(z)],z50=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],K50=[0,[15,0],r(C0)],W50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],J50=r("Flow_ast.JSX.Closing.name"),$50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Z50=[0,[17,0,0],r(z)],Q50=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],rm0=[0,[15,0],r(C0)],em0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],nm0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],tm0=[0,[17,0,[12,41,0]],r(h0)],um0=[0,[15,0],r(C0)],im0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fm0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],xm0=r("Flow_ast.JSX.Opening.name"),am0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],om0=[0,[17,0,0],r(z)],cm0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sm0=r("self_closing"),vm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lm0=[0,[9,0,0],r(An)],bm0=[0,[17,0,0],r(z)],pm0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mm0=r(kY),_m0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ym0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],dm0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],hm0=[0,[17,0,0],r(z)],km0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],wm0=[0,[15,0],r(C0)],Em0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Opening.Attribute"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Opening.Attribute@ ")],Sm0=[0,[17,0,[12,41,0]],r(h0)],gm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Opening.SpreadAttribute"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ ")],Fm0=[0,[17,0,[12,41,0]],r(h0)],Tm0=[0,[15,0],r(C0)],Om0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Im0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Am0=[0,[17,0,[12,41,0]],r(h0)],Nm0=[0,[15,0],r(C0)],Cm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Identifier@ ")],Pm0=[0,[17,0,[12,41,0]],r(h0)],Dm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.NamespacedName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.NamespacedName@ ")],Lm0=[0,[17,0,[12,41,0]],r(h0)],Rm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression@ ")],jm0=[0,[17,0,[12,41,0]],r(h0)],Gm0=[0,[15,0],r(C0)],Mm0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Bm0=r("Flow_ast.JSX.MemberExpression._object"),qm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Um0=[0,[17,0,0],r(z)],Hm0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Xm0=r(Iv),Ym0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Vm0=[0,[17,0,0],r(z)],zm0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Km0=[0,[15,0],r(C0)],Wm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ ")],Jm0=[0,[17,0,[12,41,0]],r(h0)],$m0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression.MemberExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ ")],Zm0=[0,[17,0,[12,41,0]],r(h0)],Qm0=[0,[15,0],r(C0)],r90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],e90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],n90=[0,[17,0,[12,41,0]],r(h0)],t90=[0,[15,0],r(C0)],u90=r(Yr),i90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],f90=r("Flow_ast.JSX.SpreadAttribute.argument"),x90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],a90=[0,[17,0,0],r(z)],o90=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],c90=r(Xr),s90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],v90=r(tr),l90=r(Z0),b90=r(nr),p90=[0,[17,0,0],r(z)],m90=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],_90=[0,[15,0],r(C0)],y90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],d90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],h90=[0,[17,0,[12,41,0]],r(h0)],k90=[0,[15,0],r(C0)],w90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],E90=r("Flow_ast.JSX.Attribute.name"),S90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],g90=[0,[17,0,0],r(z)],F90=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],T90=r(Bn),O90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],I90=r(tr),A90=r(Z0),N90=r(nr),C90=[0,[17,0,0],r(z)],P90=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],D90=[0,[15,0],r(C0)],L90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.Literal ("),[17,[0,r(Pe),0,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.Literal (@,")],R90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],j90=[0,[17,[0,r(Pe),0,0],[11,r(OX),[17,0,0]]],r(qU)],G90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.ExpressionContainer ("),[17,[0,r(Pe),0,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,")],M90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],B90=[0,[17,[0,r(Pe),0,0],[11,r(OX),[17,0,0]]],r(qU)],q90=[0,[15,0],r(C0)],U90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.Identifier@ ")],H90=[0,[17,0,[12,41,0]],r(h0)],X90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.NamespacedName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ ")],Y90=[0,[17,0,[12,41,0]],r(h0)],V90=[0,[15,0],r(C0)],z90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],K90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],W90=[0,[17,0,[12,41,0]],r(h0)],J90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],$90=r("Flow_ast.JSX.Text.value"),Z90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Q90=[0,[3,0,0],r(zt)],r_0=[0,[17,0,0],r(z)],e_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],n_0=r(o7),t_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u_0=[0,[3,0,0],r(zt)],i_0=[0,[17,0,0],r(z)],f_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],x_0=[0,[15,0],r(C0)],a_0=[0,[15,0],r(C0)],o_0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.ExpressionContainer.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ ")],c_0=[0,[17,0,[12,41,0]],r(h0)],s_0=r("Flow_ast.JSX.ExpressionContainer.EmptyExpression"),v_0=[0,[15,0],r(C0)],l_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],b_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],p_0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],m_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],__0=r("Flow_ast.JSX.ExpressionContainer.expression"),y_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],d_0=[0,[17,0,0],r(z)],h_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],k_0=r(Xr),w_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],E_0=r(tr),S_0=r(Z0),g_0=r(nr),F_0=[0,[17,0,0],r(z)],T_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],O_0=[0,[15,0],r(C0)],I_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],A_0=r("Flow_ast.JSX.NamespacedName.namespace"),N_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],C_0=[0,[17,0,0],r(z)],P_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],D_0=r(ti),L_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],R_0=[0,[17,0,0],r(z)],j_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],G_0=[0,[15,0],r(C0)],M_0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],B_0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],q_0=[0,[17,0,[12,41,0]],r(h0)],U_0=[0,[15,0],r(C0)],H_0=r(Yr),X_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Y_0=r("Flow_ast.JSX.Identifier.name"),V_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],z_0=[0,[3,0,0],r(zt)],K_0=[0,[17,0,0],r(z)],W_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],J_0=r(Xr),$_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Z_0=r(tr),Q_0=r(Z0),ry0=r(nr),ey0=[0,[17,0,0],r(z)],ny0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],ty0=[0,[15,0],r(C0)],uy0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],iy0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],fy0=[0,[17,0,[12,41,0]],r(h0)],xy0=[0,[15,0],r(C0)],ay0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array@ ")],oy0=[0,[17,0,[12,41,0]],r(h0)],cy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.ArrowFunction"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.ArrowFunction@ ")],sy0=[0,[17,0,[12,41,0]],r(h0)],vy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Assignment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Assignment@ ")],ly0=[0,[17,0,[12,41,0]],r(h0)],by0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Binary"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Binary@ ")],py0=[0,[17,0,[12,41,0]],r(h0)],my0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Call"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Call@ ")],_y0=[0,[17,0,[12,41,0]],r(h0)],yy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Class"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Class@ ")],dy0=[0,[17,0,[12,41,0]],r(h0)],hy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Comprehension"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Comprehension@ ")],ky0=[0,[17,0,[12,41,0]],r(h0)],wy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Conditional"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Conditional@ ")],Ey0=[0,[17,0,[12,41,0]],r(h0)],Sy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Function@ ")],gy0=[0,[17,0,[12,41,0]],r(h0)],Fy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Generator"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Generator@ ")],Ty0=[0,[17,0,[12,41,0]],r(h0)],Oy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Identifier@ ")],Iy0=[0,[17,0,[12,41,0]],r(h0)],Ay0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Import"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Import@ ")],Ny0=[0,[17,0,[12,41,0]],r(h0)],Cy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.JSXElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.JSXElement@ ")],Py0=[0,[17,0,[12,41,0]],r(h0)],Dy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.JSXFragment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.JSXFragment@ ")],Ly0=[0,[17,0,[12,41,0]],r(h0)],Ry0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Literal@ ")],jy0=[0,[17,0,[12,41,0]],r(h0)],Gy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Logical"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Logical@ ")],My0=[0,[17,0,[12,41,0]],r(h0)],By0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member@ ")],qy0=[0,[17,0,[12,41,0]],r(h0)],Uy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.MetaProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.MetaProperty@ ")],Hy0=[0,[17,0,[12,41,0]],r(h0)],Xy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.New"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.New@ ")],Yy0=[0,[17,0,[12,41,0]],r(h0)],Vy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object@ ")],zy0=[0,[17,0,[12,41,0]],r(h0)],Ky0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.OptionalCall"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.OptionalCall@ ")],Wy0=[0,[17,0,[12,41,0]],r(h0)],Jy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.OptionalMember"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.OptionalMember@ ")],$y0=[0,[17,0,[12,41,0]],r(h0)],Zy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Sequence"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Sequence@ ")],Qy0=[0,[17,0,[12,41,0]],r(h0)],rd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Super"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Super@ ")],ed0=[0,[17,0,[12,41,0]],r(h0)],nd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TaggedTemplate"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TaggedTemplate@ ")],td0=[0,[17,0,[12,41,0]],r(h0)],ud0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TemplateLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TemplateLiteral@ ")],id0=[0,[17,0,[12,41,0]],r(h0)],fd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.This"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.This@ ")],xd0=[0,[17,0,[12,41,0]],r(h0)],ad0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TypeCast"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TypeCast@ ")],od0=[0,[17,0,[12,41,0]],r(h0)],cd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Unary"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Unary@ ")],sd0=[0,[17,0,[12,41,0]],r(h0)],vd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Update"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Update@ ")],ld0=[0,[17,0,[12,41,0]],r(h0)],bd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Yield"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Yield@ ")],pd0=[0,[17,0,[12,41,0]],r(h0)],md0=[0,[15,0],r(C0)],_d0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],yd0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],dd0=[0,[17,0,[12,41,0]],r(h0)],hd0=[0,[15,0],r(C0)],kd0=r(Yr),wd0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Ed0=r("Flow_ast.Expression.Import.argument"),Sd0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gd0=[0,[17,0,0],r(z)],Fd0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Td0=r(Xr),Od0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Id0=r(tr),Ad0=r(Z0),Nd0=r(nr),Cd0=[0,[17,0,0],r(z)],Pd0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Dd0=[0,[15,0],r(C0)],Ld0=r(Yr),Rd0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],jd0=r("Flow_ast.Expression.Super.comments"),Gd0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Md0=r(tr),Bd0=r(Z0),qd0=r(nr),Ud0=[0,[17,0,0],r(z)],Hd0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Xd0=[0,[15,0],r(C0)],Yd0=r(Yr),Vd0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],zd0=r("Flow_ast.Expression.This.comments"),Kd0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wd0=r(tr),Jd0=r(Z0),$d0=r(nr),Zd0=[0,[17,0,0],r(z)],Qd0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],rh0=[0,[15,0],r(C0)],eh0=r(Yr),nh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],th0=r("Flow_ast.Expression.MetaProperty.meta"),uh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ih0=[0,[17,0,0],r(z)],fh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xh0=r(Iv),ah0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oh0=[0,[17,0,0],r(z)],ch0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sh0=r(Xr),vh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lh0=r(tr),bh0=r(Z0),ph0=r(nr),mh0=[0,[17,0,0],r(z)],_h0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],yh0=[0,[15,0],r(C0)],dh0=r(Yr),hh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],kh0=r("Flow_ast.Expression.TypeCast.expression"),wh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Eh0=[0,[17,0,0],r(z)],Sh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gh0=r(rs),Fh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Th0=[0,[17,0,0],r(z)],Oh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ih0=r(Xr),Ah0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nh0=r(tr),Ch0=r(Z0),Ph0=r(nr),Dh0=[0,[17,0,0],r(z)],Lh0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Rh0=[0,[15,0],r(C0)],jh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Mh0=r("Flow_ast.Expression.Generator.blocks"),Bh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Uh0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Hh0=[0,[17,0,0],r(z)],Xh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yh0=r(O4),Vh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zh0=r(tr),Kh0=r(Z0),Wh0=r(nr),Jh0=[0,[17,0,0],r(z)],$h0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Zh0=[0,[15,0],r(C0)],Qh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],ek0=r("Flow_ast.Expression.Comprehension.blocks"),nk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],uk0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],ik0=[0,[17,0,0],r(z)],fk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xk0=r(O4),ak0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ok0=r(tr),ck0=r(Z0),sk0=r(nr),vk0=[0,[17,0,0],r(z)],lk0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],bk0=[0,[15,0],r(C0)],pk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],mk0=r("Flow_ast.Expression.Comprehension.Block.left"),_k0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yk0=[0,[17,0,0],r(z)],dk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hk0=r(Nu),kk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wk0=[0,[17,0,0],r(z)],Ek0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Sk0=r(j8),gk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Fk0=[0,[9,0,0],r(An)],Tk0=[0,[17,0,0],r(z)],Ok0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Ik0=[0,[15,0],r(C0)],Ak0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Nk0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ck0=[0,[17,0,[12,41,0]],r(h0)],Pk0=[0,[15,0],r(C0)],Dk0=r(Yr),Lk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Rk0=r("Flow_ast.Expression.Yield.argument"),jk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Gk0=r(tr),Mk0=r(Z0),Bk0=r(nr),qk0=[0,[17,0,0],r(z)],Uk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Hk0=r(Xr),Xk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Yk0=r(tr),Vk0=r(Z0),zk0=r(nr),Kk0=[0,[17,0,0],r(z)],Wk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Jk0=r(yY),$k0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zk0=[0,[9,0,0],r(An)],Qk0=[0,[17,0,0],r(z)],rw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ew0=r("result_out"),nw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tw0=[0,[17,0,0],r(z)],uw0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],iw0=[0,[15,0],r(C0)],fw0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],xw0=r("Flow_ast.Expression.OptionalMember.member"),aw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ow0=[0,[17,0,0],r(z)],cw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sw0=r(yU),vw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lw0=[0,[17,0,0],r(z)],bw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pw0=r(Bu),mw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_w0=[0,[9,0,0],r(An)],yw0=[0,[17,0,0],r(z)],dw0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],hw0=[0,[15,0],r(C0)],kw0=r(Yr),ww0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Ew0=r("Flow_ast.Expression.Member._object"),Sw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gw0=[0,[17,0,0],r(z)],Fw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tw0=r(Iv),Ow0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Iw0=[0,[17,0,0],r(z)],Aw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Nw0=r(Xr),Cw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Pw0=r(tr),Dw0=r(Z0),Lw0=r(nr),Rw0=[0,[17,0,0],r(z)],jw0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Gw0=[0,[15,0],r(C0)],Mw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyIdentifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ ")],Bw0=[0,[17,0,[12,41,0]],r(h0)],qw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyPrivateName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ ")],Uw0=[0,[17,0,[12,41,0]],r(h0)],Hw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyExpression@ ")],Xw0=[0,[17,0,[12,41,0]],r(h0)],Yw0=[0,[15,0],r(C0)],Vw0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],zw0=r("Flow_ast.Expression.OptionalCall.call"),Kw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ww0=[0,[17,0,0],r(z)],Jw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$w0=r(yU),Zw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qw0=[0,[17,0,0],r(z)],rE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eE0=r(Bu),nE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tE0=[0,[9,0,0],r(An)],uE0=[0,[17,0,0],r(z)],iE0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],fE0=[0,[15,0],r(C0)],xE0=r(Yr),aE0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],oE0=r("Flow_ast.Expression.Call.callee"),cE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sE0=[0,[17,0,0],r(z)],vE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lE0=r(Z2),bE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pE0=r(tr),mE0=r(Z0),_E0=r(nr),yE0=[0,[17,0,0],r(z)],dE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hE0=r(C2),kE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wE0=[0,[17,0,0],r(z)],EE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],SE0=r(Xr),gE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FE0=r(tr),TE0=r(Z0),OE0=r(nr),IE0=[0,[17,0,0],r(z)],AE0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],NE0=[0,[15,0],r(C0)],CE0=r(Yr),PE0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],DE0=r("Flow_ast.Expression.New.callee"),LE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RE0=[0,[17,0,0],r(z)],jE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GE0=r(Z2),ME0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BE0=r(tr),qE0=r(Z0),UE0=r(nr),HE0=[0,[17,0,0],r(z)],XE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],YE0=r(C2),VE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zE0=r(tr),KE0=r(Z0),WE0=r(nr),JE0=[0,[17,0,0],r(z)],$E0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ZE0=r(Xr),QE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rS0=r(tr),eS0=r(Z0),nS0=r(nr),tS0=[0,[17,0,0],r(z)],uS0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],iS0=[0,[15,0],r(C0)],fS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],aS0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],oS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],sS0=r("Flow_ast.Expression.ArgList.arguments"),vS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bS0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pS0=[0,[17,0,0],r(z)],mS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_S0=r(Xr),yS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dS0=r(tr),hS0=r(Z0),kS0=r(nr),wS0=[0,[17,0,0],r(z)],ES0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],SS0=[0,[15,0],r(C0)],gS0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],FS0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],TS0=[0,[17,0,[12,41,0]],r(h0)],OS0=[0,[15,0],r(C0)],IS0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Expression@ ")],AS0=[0,[17,0,[12,41,0]],r(h0)],NS0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Spread"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Spread@ ")],CS0=[0,[17,0,[12,41,0]],r(h0)],PS0=[0,[15,0],r(C0)],DS0=r(Yr),LS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],RS0=r("Flow_ast.Expression.Conditional.test"),jS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GS0=[0,[17,0,0],r(z)],MS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BS0=r(kv),qS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],US0=[0,[17,0,0],r(z)],HS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],XS0=r(_3),YS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],VS0=[0,[17,0,0],r(z)],zS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KS0=r(Xr),WS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JS0=r(tr),$S0=r(Z0),ZS0=r(nr),QS0=[0,[17,0,0],r(z)],rg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],eg0=[0,[15,0],r(C0)],ng0=r(Yr),tg0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],ug0=r("Flow_ast.Expression.Logical.operator"),ig0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fg0=[0,[17,0,0],r(z)],xg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ag0=r(li),og0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cg0=[0,[17,0,0],r(z)],sg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vg0=r(Nu),lg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bg0=[0,[17,0,0],r(z)],pg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mg0=r(Xr),_g0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yg0=r(tr),dg0=r(Z0),hg0=r(nr),kg0=[0,[17,0,0],r(z)],wg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Eg0=[0,[15,0],r(C0)],Sg0=r("Flow_ast.Expression.Logical.Or"),gg0=r("Flow_ast.Expression.Logical.And"),Fg0=r("Flow_ast.Expression.Logical.NullishCoalesce"),Tg0=[0,[15,0],r(C0)],Og0=r(Yr),Ig0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Ag0=r("Flow_ast.Expression.Update.operator"),Ng0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cg0=[0,[17,0,0],r(z)],Pg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Dg0=r(v7),Lg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rg0=[0,[17,0,0],r(z)],jg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gg0=r(XE),Mg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bg0=[0,[9,0,0],r(An)],qg0=[0,[17,0,0],r(z)],Ug0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Hg0=r(Xr),Xg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Yg0=r(tr),Vg0=r(Z0),zg0=r(nr),Kg0=[0,[17,0,0],r(z)],Wg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Jg0=[0,[15,0],r(C0)],$g0=r("Flow_ast.Expression.Update.Decrement"),Zg0=r("Flow_ast.Expression.Update.Increment"),Qg0=[0,[15,0],r(C0)],rF0=r(Yr),eF0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],nF0=r("Flow_ast.Expression.Assignment.operator"),tF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uF0=r(tr),iF0=r(Z0),fF0=r(nr),xF0=[0,[17,0,0],r(z)],aF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],oF0=r(li),cF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sF0=[0,[17,0,0],r(z)],vF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lF0=r(Nu),bF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pF0=[0,[17,0,0],r(z)],mF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_F0=r(Xr),yF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dF0=r(tr),hF0=r(Z0),kF0=r(nr),wF0=[0,[17,0,0],r(z)],EF0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],SF0=[0,[15,0],r(C0)],gF0=r("Flow_ast.Expression.Assignment.PlusAssign"),FF0=r("Flow_ast.Expression.Assignment.MinusAssign"),TF0=r("Flow_ast.Expression.Assignment.MultAssign"),OF0=r("Flow_ast.Expression.Assignment.ExpAssign"),IF0=r("Flow_ast.Expression.Assignment.DivAssign"),AF0=r("Flow_ast.Expression.Assignment.ModAssign"),NF0=r("Flow_ast.Expression.Assignment.LShiftAssign"),CF0=r("Flow_ast.Expression.Assignment.RShiftAssign"),PF0=r("Flow_ast.Expression.Assignment.RShift3Assign"),DF0=r("Flow_ast.Expression.Assignment.BitOrAssign"),LF0=r("Flow_ast.Expression.Assignment.BitXorAssign"),RF0=r("Flow_ast.Expression.Assignment.BitAndAssign"),jF0=r("Flow_ast.Expression.Assignment.NullishAssign"),GF0=r("Flow_ast.Expression.Assignment.AndAssign"),MF0=r("Flow_ast.Expression.Assignment.OrAssign"),BF0=[0,[15,0],r(C0)],qF0=r(Yr),UF0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],HF0=r("Flow_ast.Expression.Binary.operator"),XF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YF0=[0,[17,0,0],r(z)],VF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zF0=r(li),KF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WF0=[0,[17,0,0],r(z)],JF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$F0=r(Nu),ZF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QF0=[0,[17,0,0],r(z)],rT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eT0=r(Xr),nT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tT0=r(tr),uT0=r(Z0),iT0=r(nr),fT0=[0,[17,0,0],r(z)],xT0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],aT0=[0,[15,0],r(C0)],oT0=r("Flow_ast.Expression.Binary.Equal"),cT0=r("Flow_ast.Expression.Binary.NotEqual"),sT0=r("Flow_ast.Expression.Binary.StrictEqual"),vT0=r("Flow_ast.Expression.Binary.StrictNotEqual"),lT0=r("Flow_ast.Expression.Binary.LessThan"),bT0=r("Flow_ast.Expression.Binary.LessThanEqual"),pT0=r("Flow_ast.Expression.Binary.GreaterThan"),mT0=r("Flow_ast.Expression.Binary.GreaterThanEqual"),_T0=r("Flow_ast.Expression.Binary.LShift"),yT0=r("Flow_ast.Expression.Binary.RShift"),dT0=r("Flow_ast.Expression.Binary.RShift3"),hT0=r("Flow_ast.Expression.Binary.Plus"),kT0=r("Flow_ast.Expression.Binary.Minus"),wT0=r("Flow_ast.Expression.Binary.Mult"),ET0=r("Flow_ast.Expression.Binary.Exp"),ST0=r("Flow_ast.Expression.Binary.Div"),gT0=r("Flow_ast.Expression.Binary.Mod"),FT0=r("Flow_ast.Expression.Binary.BitOr"),TT0=r("Flow_ast.Expression.Binary.Xor"),OT0=r("Flow_ast.Expression.Binary.BitAnd"),IT0=r("Flow_ast.Expression.Binary.In"),AT0=r("Flow_ast.Expression.Binary.Instanceof"),NT0=[0,[15,0],r(C0)],CT0=r(Yr),PT0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],DT0=r("Flow_ast.Expression.Unary.operator"),LT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RT0=[0,[17,0,0],r(z)],jT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GT0=r(v7),MT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BT0=[0,[17,0,0],r(z)],qT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],UT0=r(Xr),HT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],XT0=r(tr),YT0=r(Z0),VT0=r(nr),zT0=[0,[17,0,0],r(z)],KT0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],WT0=[0,[15,0],r(C0)],JT0=r("Flow_ast.Expression.Unary.Minus"),$T0=r("Flow_ast.Expression.Unary.Plus"),ZT0=r("Flow_ast.Expression.Unary.Not"),QT0=r("Flow_ast.Expression.Unary.BitNot"),rO0=r("Flow_ast.Expression.Unary.Typeof"),eO0=r("Flow_ast.Expression.Unary.Void"),nO0=r("Flow_ast.Expression.Unary.Delete"),tO0=r("Flow_ast.Expression.Unary.Await"),uO0=[0,[15,0],r(C0)],iO0=r(Yr),fO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],aO0=r("Flow_ast.Expression.Sequence.expressions"),oO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],sO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],vO0=[0,[17,0,0],r(z)],lO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bO0=r(Xr),pO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mO0=r(tr),_O0=r(Z0),yO0=r(nr),dO0=[0,[17,0,0],r(z)],hO0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],kO0=[0,[15,0],r(C0)],wO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],SO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],gO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],TO0=r("Flow_ast.Expression.Object.properties"),OO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],AO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],NO0=[0,[17,0,0],r(z)],CO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PO0=r(Xr),DO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LO0=r(tr),RO0=r(Z0),jO0=r(nr),GO0=[0,[17,0,0],r(z)],MO0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],BO0=[0,[15,0],r(C0)],qO0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property@ ")],UO0=[0,[17,0,[12,41,0]],r(h0)],HO0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.SpreadProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.SpreadProperty@ ")],XO0=[0,[17,0,[12,41,0]],r(h0)],YO0=[0,[15,0],r(C0)],VO0=r(Yr),zO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],KO0=r("Flow_ast.Expression.Object.SpreadProperty.argument"),WO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JO0=[0,[17,0,0],r(z)],$O0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ZO0=r(Xr),QO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rI0=r(tr),eI0=r(Z0),nI0=r(nr),tI0=[0,[17,0,0],r(z)],uI0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],iI0=[0,[15,0],r(C0)],fI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],xI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],aI0=[0,[17,0,[12,41,0]],r(h0)],oI0=[0,[15,0],r(C0)],cI0=r(Yr),sI0=r(Yr),vI0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Init {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Init {@,")],lI0=r(ui),bI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pI0=[0,[17,0,0],r(z)],mI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_I0=r(Bn),yI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dI0=[0,[17,0,0],r(z)],hI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],kI0=r(x6),wI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EI0=[0,[9,0,0],r(An)],SI0=[0,[17,0,0],r(z)],gI0=[0,[17,0,[12,br,0]],r(V6)],FI0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Method {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Method {@,")],TI0=r(ui),OI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],II0=[0,[17,0,0],r(z)],AI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],NI0=r(Bn),CI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],PI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],DI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],LI0=[0,[17,0,[12,41,0]],r(h0)],RI0=[0,[17,0,0],r(z)],jI0=[0,[17,0,[12,br,0]],r(V6)],GI0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Get {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Get {@,")],MI0=r(ui),BI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qI0=[0,[17,0,0],r(z)],UI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HI0=r(Bn),XI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],VI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],zI0=[0,[17,0,[12,41,0]],r(h0)],KI0=[0,[17,0,0],r(z)],WI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JI0=r(Xr),$I0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZI0=r(tr),QI0=r(Z0),rA0=r(nr),eA0=[0,[17,0,0],r(z)],nA0=[0,[17,0,[12,br,0]],r(V6)],tA0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Set {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Set {@,")],uA0=r(ui),iA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fA0=[0,[17,0,0],r(z)],xA0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aA0=r(Bn),oA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],sA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],vA0=[0,[17,0,[12,41,0]],r(h0)],lA0=[0,[17,0,0],r(z)],bA0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pA0=r(Xr),mA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_A0=r(tr),yA0=r(Z0),dA0=r(nr),hA0=[0,[17,0,0],r(z)],kA0=[0,[17,0,[12,br,0]],r(V6)],wA0=[0,[15,0],r(C0)],EA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],SA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],gA0=[0,[17,0,[12,41,0]],r(h0)],FA0=[0,[15,0],r(C0)],TA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Literal@ ")],OA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],IA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],AA0=[0,[17,0,[12,41,0]],r(h0)],NA0=[0,[17,0,[12,41,0]],r(h0)],CA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Identifier@ ")],PA0=[0,[17,0,[12,41,0]],r(h0)],DA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.PrivateName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ ")],LA0=[0,[17,0,[12,41,0]],r(h0)],RA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Computed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Computed@ ")],jA0=[0,[17,0,[12,41,0]],r(h0)],GA0=[0,[15,0],r(C0)],MA0=r(Yr),BA0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],qA0=r("Flow_ast.Expression.TaggedTemplate.tag"),UA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HA0=[0,[17,0,0],r(z)],XA0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],YA0=r(OY),VA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],KA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],WA0=[0,[17,0,[12,41,0]],r(h0)],JA0=[0,[17,0,0],r(z)],$A0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ZA0=r(Xr),QA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rN0=r(tr),eN0=r(Z0),nN0=r(nr),tN0=[0,[17,0,0],r(z)],uN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],iN0=[0,[15,0],r(C0)],fN0=r(Yr),xN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],oN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],cN0=r("Flow_ast.Expression.TemplateLiteral.quasis"),sN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],lN0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],bN0=[0,[17,0,0],r(z)],pN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mN0=r(Ug),_N0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],dN0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],hN0=[0,[17,0,0],r(z)],kN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wN0=r(Xr),EN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],SN0=r(tr),gN0=r(Z0),FN0=r(nr),TN0=[0,[17,0,0],r(z)],ON0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],IN0=[0,[15,0],r(C0)],AN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],NN0=r("Flow_ast.Expression.TemplateLiteral.Element.value"),CN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],PN0=[0,[17,0,0],r(z)],DN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],LN0=r(bU),RN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jN0=[0,[9,0,0],r(An)],GN0=[0,[17,0,0],r(z)],MN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],BN0=[0,[15,0],r(C0)],qN0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],UN0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],HN0=[0,[17,0,[12,41,0]],r(h0)],XN0=[0,[15,0],r(C0)],YN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],VN0=r("Flow_ast.Expression.TemplateLiteral.Element.raw"),zN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KN0=[0,[3,0,0],r(zt)],WN0=[0,[17,0,0],r(z)],JN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$N0=r(GY),ZN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QN0=[0,[3,0,0],r(zt)],rC0=[0,[17,0,0],r(z)],eC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],nC0=[0,[15,0],r(C0)],tC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],iC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],fC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],aC0=r("Flow_ast.Expression.Array.elements"),oC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],sC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],vC0=[0,[17,0,0],r(z)],lC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bC0=r(Xr),pC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mC0=r(tr),_C0=r(Z0),yC0=r(nr),dC0=[0,[17,0,0],r(z)],hC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],kC0=[0,[15,0],r(C0)],wC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Expression@ ")],EC0=[0,[17,0,[12,41,0]],r(h0)],SC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Spread"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Spread@ ")],gC0=[0,[17,0,[12,41,0]],r(h0)],FC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Hole"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Hole@ ")],TC0=[0,[17,0,[12,41,0]],r(h0)],OC0=[0,[15,0],r(C0)],IC0=r(Yr),AC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],NC0=r("Flow_ast.Expression.SpreadElement.argument"),CC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],PC0=[0,[17,0,0],r(z)],DC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],LC0=r(Xr),RC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jC0=r(tr),GC0=r(Z0),MC0=r(nr),BC0=[0,[17,0,0],r(z)],qC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],UC0=[0,[15,0],r(C0)],HC0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],XC0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],YC0=[0,[17,0,[12,41,0]],r(h0)],VC0=[0,[15,0],r(C0)],zC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],WC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],JC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$C0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],ZC0=r("Flow_ast.Expression.CallTypeArgs.arguments"),QC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],eP0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],nP0=[0,[17,0,0],r(z)],tP0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uP0=r(Xr),iP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fP0=r(tr),xP0=r(Z0),aP0=r(nr),oP0=[0,[17,0,0],r(z)],cP0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],sP0=[0,[15,0],r(C0)],vP0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],lP0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],bP0=[0,[17,0,[12,41,0]],r(h0)],pP0=[0,[15,0],r(C0)],mP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.CallTypeArg.Explicit"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ ")],_P0=[0,[17,0,[12,41,0]],r(h0)],yP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.CallTypeArg.Implicit"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ ")],dP0=[0,[17,0,[12,41,0]],r(h0)],hP0=[0,[15,0],r(C0)],kP0=r(Yr),wP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],EP0=r("Flow_ast.Expression.CallTypeArg.Implicit.comments"),SP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gP0=r(tr),FP0=r(Z0),TP0=r(nr),OP0=[0,[17,0,0],r(z)],IP0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],AP0=[0,[15,0],r(C0)],NP0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],CP0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],PP0=[0,[17,0,[12,41,0]],r(h0)],DP0=[0,[15,0],r(C0)],LP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Block"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Block@ ")],RP0=[0,[17,0,[12,41,0]],r(h0)],jP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Break"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Break@ ")],GP0=[0,[17,0,[12,41,0]],r(h0)],MP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ClassDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ClassDeclaration@ ")],BP0=[0,[17,0,[12,41,0]],r(h0)],qP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Continue"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Continue@ ")],UP0=[0,[17,0,[12,41,0]],r(h0)],HP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Debugger"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Debugger@ ")],XP0=[0,[17,0,[12,41,0]],r(h0)],YP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareClass"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareClass@ ")],VP0=[0,[17,0,[12,41,0]],r(h0)],zP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ ")],KP0=[0,[17,0,[12,41,0]],r(h0)],WP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareFunction"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareFunction@ ")],JP0=[0,[17,0,[12,41,0]],r(h0)],$P0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareInterface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareInterface@ ")],ZP0=[0,[17,0,[12,41,0]],r(h0)],QP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule@ ")],rD0=[0,[17,0,[12,41,0]],r(h0)],eD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModuleExports"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModuleExports@ ")],nD0=[0,[17,0,[12,41,0]],r(h0)],tD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareTypeAlias"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareTypeAlias@ ")],uD0=[0,[17,0,[12,41,0]],r(h0)],iD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareOpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareOpaqueType@ ")],fD0=[0,[17,0,[12,41,0]],r(h0)],xD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareVariable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareVariable@ ")],aD0=[0,[17,0,[12,41,0]],r(h0)],oD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DoWhile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DoWhile@ ")],cD0=[0,[17,0,[12,41,0]],r(h0)],sD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Empty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Empty@ ")],vD0=[0,[17,0,[12,41,0]],r(h0)],lD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration@ ")],bD0=[0,[17,0,[12,41,0]],r(h0)],pD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ ")],mD0=[0,[17,0,[12,41,0]],r(h0)],_D0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ ")],yD0=[0,[17,0,[12,41,0]],r(h0)],dD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Expression@ ")],hD0=[0,[17,0,[12,41,0]],r(h0)],kD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For@ ")],wD0=[0,[17,0,[12,41,0]],r(h0)],ED0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn@ ")],SD0=[0,[17,0,[12,41,0]],r(h0)],gD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf@ ")],FD0=[0,[17,0,[12,41,0]],r(h0)],TD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.FunctionDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.FunctionDeclaration@ ")],OD0=[0,[17,0,[12,41,0]],r(h0)],ID0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.If"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.If@ ")],AD0=[0,[17,0,[12,41,0]],r(h0)],ND0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration@ ")],CD0=[0,[17,0,[12,41,0]],r(h0)],PD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.InterfaceDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.InterfaceDeclaration@ ")],DD0=[0,[17,0,[12,41,0]],r(h0)],LD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Labeled"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Labeled@ ")],RD0=[0,[17,0,[12,41,0]],r(h0)],jD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Return"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Return@ ")],GD0=[0,[17,0,[12,41,0]],r(h0)],MD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Switch"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Switch@ ")],BD0=[0,[17,0,[12,41,0]],r(h0)],qD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Throw"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Throw@ ")],UD0=[0,[17,0,[12,41,0]],r(h0)],HD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Try"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Try@ ")],XD0=[0,[17,0,[12,41,0]],r(h0)],YD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.TypeAlias"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.TypeAlias@ ")],VD0=[0,[17,0,[12,41,0]],r(h0)],zD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.OpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.OpaqueType@ ")],KD0=[0,[17,0,[12,41,0]],r(h0)],WD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.VariableDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.VariableDeclaration@ ")],JD0=[0,[17,0,[12,41,0]],r(h0)],$D0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.While"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.While@ ")],ZD0=[0,[17,0,[12,41,0]],r(h0)],QD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.With"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.With@ ")],rL0=[0,[17,0,[12,41,0]],r(h0)],eL0=[0,[15,0],r(C0)],nL0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],tL0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],uL0=[0,[17,0,[12,41,0]],r(h0)],iL0=[0,[15,0],r(C0)],fL0=r("Flow_ast.Statement.ExportValue"),xL0=r("Flow_ast.Statement.ExportType"),aL0=[0,[15,0],r(C0)],oL0=r(Yr),cL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],sL0=r("Flow_ast.Statement.Empty.comments"),vL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lL0=r(tr),bL0=r(Z0),pL0=r(nr),mL0=[0,[17,0,0],r(z)],_L0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],yL0=[0,[15,0],r(C0)],dL0=r(Yr),hL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],kL0=r("Flow_ast.Statement.Expression.expression"),wL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EL0=[0,[17,0,0],r(z)],SL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gL0=r(wn),FL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],TL0=r(tr),OL0=[0,[3,0,0],r(zt)],IL0=r(Z0),AL0=r(nr),NL0=[0,[17,0,0],r(z)],CL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PL0=r(Xr),DL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LL0=r(tr),RL0=r(Z0),jL0=r(nr),GL0=[0,[17,0,0],r(z)],ML0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],BL0=[0,[15,0],r(C0)],qL0=r(Yr),UL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],HL0=r("Flow_ast.Statement.ImportDeclaration.import_kind"),XL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YL0=[0,[17,0,0],r(z)],VL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zL0=r(vc),KL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WL0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],JL0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],$L0=[0,[17,0,[12,41,0]],r(h0)],ZL0=[0,[17,0,0],r(z)],QL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rR0=r(mi),eR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nR0=r(tr),tR0=r(Z0),uR0=r(nr),iR0=[0,[17,0,0],r(z)],fR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xR0=r(Cv),aR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oR0=r(tr),cR0=r(Z0),sR0=r(nr),vR0=[0,[17,0,0],r(z)],lR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bR0=r(Xr),pR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mR0=r(tr),_R0=r(Z0),yR0=r(nr),dR0=[0,[17,0,0],r(z)],hR0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],kR0=[0,[15,0],r(C0)],wR0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],ER0=r("Flow_ast.Statement.ImportDeclaration.kind"),SR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gR0=r(tr),FR0=r(Z0),TR0=r(nr),OR0=[0,[17,0,0],r(z)],IR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],AR0=r(B2),NR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CR0=r(tr),PR0=r(Z0),DR0=r(nr),LR0=[0,[17,0,0],r(z)],RR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jR0=r("remote"),GR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],MR0=[0,[17,0,0],r(z)],BR0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],qR0=[0,[15,0],r(C0)],UR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HR0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ ")],XR0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],YR0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],VR0=[0,[17,0,[12,41,0]],r(h0)],zR0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ ")],KR0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],WR0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],JR0=[0,[17,0,[12,41,0]],r(h0)],$R0=[0,[17,0,[12,41,0]],r(h0)],ZR0=[0,[15,0],r(C0)],QR0=r("Flow_ast.Statement.ImportDeclaration.ImportType"),rj0=r("Flow_ast.Statement.ImportDeclaration.ImportTypeof"),ej0=r("Flow_ast.Statement.ImportDeclaration.ImportValue"),nj0=[0,[15,0],r(C0)],tj0=r(Yr),uj0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],ij0=r("Flow_ast.Statement.DeclareExportDeclaration.default"),fj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xj0=r(tr),aj0=r(Z0),oj0=r(nr),cj0=[0,[17,0,0],r(z)],sj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vj0=r(P2),lj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bj0=r(tr),pj0=r(Z0),mj0=r(nr),_j0=[0,[17,0,0],r(z)],yj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dj0=r(Cv),hj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kj0=r(tr),wj0=r(Z0),Ej0=r(nr),Sj0=[0,[17,0,0],r(z)],gj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Fj0=r(vc),Tj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Oj0=r(tr),Ij0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Aj0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Nj0=[0,[17,0,[12,41,0]],r(h0)],Cj0=r(Z0),Pj0=r(nr),Dj0=[0,[17,0,0],r(z)],Lj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Rj0=r(Xr),jj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Gj0=r(tr),Mj0=r(Z0),Bj0=r(nr),qj0=[0,[17,0,0],r(z)],Uj0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Hj0=[0,[15,0],r(C0)],Xj0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Variable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ ")],Yj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Vj0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],zj0=[0,[17,0,[12,41,0]],r(h0)],Kj0=[0,[17,0,[12,41,0]],r(h0)],Wj0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ ")],Jj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$j0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Zj0=[0,[17,0,[12,41,0]],r(h0)],Qj0=[0,[17,0,[12,41,0]],r(h0)],rG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Class"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ ")],eG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],nG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],tG0=[0,[17,0,[12,41,0]],r(h0)],uG0=[0,[17,0,[12,41,0]],r(h0)],iG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.DefaultType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ ")],fG0=[0,[17,0,[12,41,0]],r(h0)],xG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.NamedType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ ")],aG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],oG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],cG0=[0,[17,0,[12,41,0]],r(h0)],sG0=[0,[17,0,[12,41,0]],r(h0)],vG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ ")],lG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],bG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],pG0=[0,[17,0,[12,41,0]],r(h0)],mG0=[0,[17,0,[12,41,0]],r(h0)],_G0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Interface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ ")],yG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],dG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],hG0=[0,[17,0,[12,41,0]],r(h0)],kG0=[0,[17,0,[12,41,0]],r(h0)],wG0=[0,[15,0],r(C0)],EG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration.Declaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ ")],SG0=[0,[17,0,[12,41,0]],r(h0)],gG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ ")],FG0=[0,[17,0,[12,41,0]],r(h0)],TG0=[0,[15,0],r(C0)],OG0=r(Yr),IG0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],AG0=r("Flow_ast.Statement.ExportDefaultDeclaration.default"),NG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CG0=[0,[17,0,0],r(z)],PG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DG0=r(P2),LG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RG0=[0,[17,0,0],r(z)],jG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GG0=r(Xr),MG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BG0=r(tr),qG0=r(Z0),UG0=r(nr),HG0=[0,[17,0,0],r(z)],XG0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],YG0=[0,[15,0],r(C0)],VG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ ")],KG0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],WG0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],JG0=[0,[17,0,[12,41,0]],r(h0)],$G0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier@ ")],ZG0=[0,[17,0,[12,41,0]],r(h0)],QG0=[0,[15,0],r(C0)],rM0=r(Yr),eM0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],nM0=r("Flow_ast.Statement.ExportNamedDeclaration.declaration"),tM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uM0=r(tr),iM0=r(Z0),fM0=r(nr),xM0=[0,[17,0,0],r(z)],aM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],oM0=r(Cv),cM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sM0=r(tr),vM0=r(Z0),lM0=r(nr),bM0=[0,[17,0,0],r(z)],pM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mM0=r(vc),_M0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yM0=r(tr),dM0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],hM0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],kM0=[0,[17,0,[12,41,0]],r(h0)],wM0=r(Z0),EM0=r(nr),SM0=[0,[17,0,0],r(z)],gM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FM0=r("export_kind"),TM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OM0=[0,[17,0,0],r(z)],IM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],AM0=r(Xr),NM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CM0=r(tr),PM0=r(Z0),DM0=r(nr),LM0=[0,[17,0,0],r(z)],RM0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],jM0=[0,[15,0],r(C0)],GM0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],MM0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],BM0=r(tr),qM0=r(Z0),UM0=r(nr),HM0=[0,[17,0,[12,41,0]],r(h0)],XM0=[0,[15,0],r(C0)],YM0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],VM0=r("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local"),zM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KM0=[0,[17,0,0],r(z)],WM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JM0=r(A4),$M0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZM0=r(tr),QM0=r(Z0),rB0=r(nr),eB0=[0,[17,0,0],r(z)],nB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],tB0=[0,[15,0],r(C0)],uB0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],iB0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],fB0=[0,[17,0,[12,41,0]],r(h0)],xB0=[0,[15,0],r(C0)],aB0=r(Yr),oB0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],cB0=r("Flow_ast.Statement.DeclareModuleExports.annot"),sB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vB0=[0,[17,0,0],r(z)],lB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bB0=r(Xr),pB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mB0=r(tr),_B0=r(Z0),yB0=r(nr),dB0=[0,[17,0,0],r(z)],hB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],kB0=[0,[15,0],r(C0)],wB0=r(Yr),EB0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],SB0=r("Flow_ast.Statement.DeclareModule.id"),gB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FB0=[0,[17,0,0],r(z)],TB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],OB0=r(Jn),IB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],AB0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],NB0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],CB0=[0,[17,0,[12,41,0]],r(h0)],PB0=[0,[17,0,0],r(z)],DB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],LB0=r(Zc),RB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jB0=[0,[17,0,0],r(z)],GB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],MB0=r(Xr),BB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qB0=r(tr),UB0=r(Z0),HB0=r(nr),XB0=[0,[17,0,0],r(z)],YB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],VB0=[0,[15,0],r(C0)],zB0=r("Flow_ast.Statement.DeclareModule.ES"),KB0=r("Flow_ast.Statement.DeclareModule.CommonJS"),WB0=[0,[15,0],r(C0)],JB0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ ")],$B0=[0,[17,0,[12,41,0]],r(h0)],ZB0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule.Literal@ ")],QB0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],rq0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],eq0=[0,[17,0,[12,41,0]],r(h0)],nq0=[0,[17,0,[12,41,0]],r(h0)],tq0=[0,[15,0],r(C0)],uq0=r(Yr),iq0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],fq0=r("Flow_ast.Statement.DeclareFunction.id"),xq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],aq0=[0,[17,0,0],r(z)],oq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cq0=r(rs),sq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vq0=[0,[17,0,0],r(z)],lq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bq0=r(Qu),pq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mq0=r(tr),_q0=r(Z0),yq0=r(nr),dq0=[0,[17,0,0],r(z)],hq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],kq0=r(Xr),wq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Eq0=r(tr),Sq0=r(Z0),gq0=r(nr),Fq0=[0,[17,0,0],r(z)],Tq0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Oq0=[0,[15,0],r(C0)],Iq0=r(Yr),Aq0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Nq0=r("Flow_ast.Statement.DeclareVariable.id"),Cq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Pq0=[0,[17,0,0],r(z)],Dq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Lq0=r(rs),Rq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jq0=[0,[17,0,0],r(z)],Gq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Mq0=r(Xr),Bq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qq0=r(tr),Uq0=r(Z0),Hq0=r(nr),Xq0=[0,[17,0,0],r(z)],Yq0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Vq0=[0,[15,0],r(C0)],zq0=r(Yr),Kq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wq0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Jq0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],$q0=[0,[17,0,[12,41,0]],r(h0)],Zq0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Qq0=r("Flow_ast.Statement.DeclareClass.id"),rU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eU0=[0,[17,0,0],r(z)],nU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tU0=r(sv),uU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iU0=r(tr),fU0=r(Z0),xU0=r(nr),aU0=[0,[17,0,0],r(z)],oU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cU0=r(Jn),sU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],lU0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],bU0=[0,[17,0,[12,41,0]],r(h0)],pU0=[0,[17,0,0],r(z)],mU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_U0=r(C7),yU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dU0=r(tr),hU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],kU0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],wU0=[0,[17,0,[12,41,0]],r(h0)],EU0=r(Z0),SU0=r(nr),gU0=[0,[17,0,0],r(z)],FU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TU0=r(Vy),OU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IU0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],AU0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],NU0=[0,[17,0,0],r(z)],CU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PU0=r(gs),DU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LU0=r(tr),RU0=r(Z0),jU0=r(nr),GU0=[0,[17,0,0],r(z)],MU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BU0=r(Xr),qU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UU0=r(tr),HU0=r(Z0),XU0=r(nr),YU0=[0,[17,0,0],r(z)],VU0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],zU0=[0,[15,0],r(C0)],KU0=r(Yr),WU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$U0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],ZU0=[0,[17,0,[12,41,0]],r(h0)],QU0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],rH0=r("Flow_ast.Statement.Interface.id"),eH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nH0=[0,[17,0,0],r(z)],tH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uH0=r(sv),iH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fH0=r(tr),xH0=r(Z0),aH0=r(nr),oH0=[0,[17,0,0],r(z)],cH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sH0=r(C7),vH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bH0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pH0=[0,[17,0,0],r(z)],mH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_H0=r(Jn),yH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dH0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],hH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],kH0=[0,[17,0,[12,41,0]],r(h0)],wH0=[0,[17,0,0],r(z)],EH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],SH0=r(Xr),gH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FH0=r(tr),TH0=r(Z0),OH0=r(nr),IH0=[0,[17,0,0],r(z)],AH0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],NH0=[0,[15,0],r(C0)],CH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.BooleanBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ ")],PH0=[0,[17,0,[12,41,0]],r(h0)],DH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.NumberBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ ")],LH0=[0,[17,0,[12,41,0]],r(h0)],RH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ ")],jH0=[0,[17,0,[12,41,0]],r(h0)],GH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.SymbolBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ ")],MH0=[0,[17,0,[12,41,0]],r(h0)],BH0=[0,[15,0],r(C0)],qH0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],UH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],HH0=[0,[17,0,[12,41,0]],r(h0)],XH0=[0,[15,0],r(C0)],YH0=r(Yr),VH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],zH0=r("Flow_ast.Statement.EnumDeclaration.id"),KH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WH0=[0,[17,0,0],r(z)],JH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$H0=r(Jn),ZH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QH0=[0,[17,0,0],r(z)],rX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eX0=r(Xr),nX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tX0=r(tr),uX0=r(Z0),iX0=r(nr),fX0=[0,[17,0,0],r(z)],xX0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],aX0=[0,[15,0],r(C0)],oX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],sX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],vX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],bX0=r("Flow_ast.Statement.EnumDeclaration.SymbolBody.members"),pX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],_X0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],yX0=[0,[17,0,0],r(z)],dX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hX0=r(E4),kX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wX0=[0,[9,0,0],r(An)],EX0=[0,[17,0,0],r(z)],SX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gX0=r(Xr),FX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],TX0=r(tr),OX0=r(Z0),IX0=r(nr),AX0=[0,[17,0,0],r(z)],NX0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],CX0=[0,[15,0],r(C0)],PX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],LX0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ ")],RX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],jX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],GX0=[0,[17,0,[12,41,0]],r(h0)],MX0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody.Initialized"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ ")],BX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],qX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],UX0=[0,[17,0,[12,41,0]],r(h0)],HX0=[0,[15,0],r(C0)],XX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],YX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],VX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],zX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],KX0=r("Flow_ast.Statement.EnumDeclaration.StringBody.members"),WX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JX0=[0,[17,0,0],r(z)],$X0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ZX0=r(Ik),QX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rY0=[0,[9,0,0],r(An)],eY0=[0,[17,0,0],r(z)],nY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tY0=r(E4),uY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iY0=[0,[9,0,0],r(An)],fY0=[0,[17,0,0],r(z)],xY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aY0=r(Xr),oY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cY0=r(tr),sY0=r(Z0),vY0=r(nr),lY0=[0,[17,0,0],r(z)],bY0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],pY0=[0,[15,0],r(C0)],mY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_Y0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],yY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],dY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],kY0=r("Flow_ast.Statement.EnumDeclaration.NumberBody.members"),wY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],SY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],gY0=[0,[17,0,0],r(z)],FY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TY0=r(Ik),OY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IY0=[0,[9,0,0],r(An)],AY0=[0,[17,0,0],r(z)],NY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],CY0=r(E4),PY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],DY0=[0,[9,0,0],r(An)],LY0=[0,[17,0,0],r(z)],RY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jY0=r(Xr),GY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],MY0=r(tr),BY0=r(Z0),qY0=r(nr),UY0=[0,[17,0,0],r(z)],HY0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],XY0=[0,[15,0],r(C0)],YY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],VY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],zY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],KY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],WY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],JY0=r("Flow_ast.Statement.EnumDeclaration.BooleanBody.members"),$Y0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],QY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],rV0=[0,[17,0,0],r(z)],eV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nV0=r(Ik),tV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uV0=[0,[9,0,0],r(An)],iV0=[0,[17,0,0],r(z)],fV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xV0=r(E4),aV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oV0=[0,[9,0,0],r(An)],cV0=[0,[17,0,0],r(z)],sV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vV0=r(Xr),lV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bV0=r(tr),pV0=r(Z0),mV0=r(nr),_V0=[0,[17,0,0],r(z)],yV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],dV0=[0,[15,0],r(C0)],hV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],kV0=r("Flow_ast.Statement.EnumDeclaration.InitializedMember.id"),wV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EV0=[0,[17,0,0],r(z)],SV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gV0=r(ji),FV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],TV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],OV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],IV0=[0,[17,0,[12,41,0]],r(h0)],AV0=[0,[17,0,0],r(z)],NV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],CV0=[0,[15,0],r(C0)],PV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],DV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],LV0=[0,[17,0,[12,41,0]],r(h0)],RV0=[0,[15,0],r(C0)],jV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],GV0=r("Flow_ast.Statement.EnumDeclaration.DefaultedMember.id"),MV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BV0=[0,[17,0,0],r(z)],qV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],UV0=[0,[15,0],r(C0)],HV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],XV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],YV0=[0,[17,0,[12,41,0]],r(h0)],VV0=[0,[15,0],r(C0)],zV0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf.LeftDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ ")],KV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],WV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],JV0=[0,[17,0,[12,41,0]],r(h0)],$V0=[0,[17,0,[12,41,0]],r(h0)],ZV0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf.LeftPattern"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ ")],QV0=[0,[17,0,[12,41,0]],r(h0)],rz0=[0,[15,0],r(C0)],ez0=r(Yr),nz0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],tz0=r("Flow_ast.Statement.ForOf.left"),uz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iz0=[0,[17,0,0],r(z)],fz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xz0=r(Nu),az0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oz0=[0,[17,0,0],r(z)],cz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sz0=r(Jn),vz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lz0=[0,[17,0,0],r(z)],bz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pz0=r(wx),mz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_z0=[0,[9,0,0],r(An)],yz0=[0,[17,0,0],r(z)],dz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hz0=r(Xr),kz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wz0=r(tr),Ez0=r(Z0),Sz0=r(nr),gz0=[0,[17,0,0],r(z)],Fz0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Tz0=[0,[15,0],r(C0)],Oz0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn.LeftDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ ")],Iz0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Az0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Nz0=[0,[17,0,[12,41,0]],r(h0)],Cz0=[0,[17,0,[12,41,0]],r(h0)],Pz0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn.LeftPattern"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ ")],Dz0=[0,[17,0,[12,41,0]],r(h0)],Lz0=[0,[15,0],r(C0)],Rz0=r(Yr),jz0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Gz0=r("Flow_ast.Statement.ForIn.left"),Mz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bz0=[0,[17,0,0],r(z)],qz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uz0=r(Nu),Hz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xz0=[0,[17,0,0],r(z)],Yz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vz0=r(Jn),zz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kz0=[0,[17,0,0],r(z)],Wz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Jz0=r(j8),$z0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zz0=[0,[9,0,0],r(An)],Qz0=[0,[17,0,0],r(z)],rK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eK0=r(Xr),nK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tK0=r(tr),uK0=r(Z0),iK0=r(nr),fK0=[0,[17,0,0],r(z)],xK0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],aK0=[0,[15,0],r(C0)],oK0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For.InitDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For.InitDeclaration@ ")],cK0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],sK0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],vK0=[0,[17,0,[12,41,0]],r(h0)],lK0=[0,[17,0,[12,41,0]],r(h0)],bK0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For.InitExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For.InitExpression@ ")],pK0=[0,[17,0,[12,41,0]],r(h0)],mK0=[0,[15,0],r(C0)],_K0=r(Yr),yK0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],dK0=r("Flow_ast.Statement.For.init"),hK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kK0=r(tr),wK0=r(Z0),EK0=r(nr),SK0=[0,[17,0,0],r(z)],gK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FK0=r(Ts),TK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OK0=r(tr),IK0=r(Z0),AK0=r(nr),NK0=[0,[17,0,0],r(z)],CK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PK0=r(sU),DK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LK0=r(tr),RK0=r(Z0),jK0=r(nr),GK0=[0,[17,0,0],r(z)],MK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BK0=r(Jn),qK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UK0=[0,[17,0,0],r(z)],HK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],XK0=r(Xr),YK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],VK0=r(tr),zK0=r(Z0),KK0=r(nr),WK0=[0,[17,0,0],r(z)],JK0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],$K0=[0,[15,0],r(C0)],ZK0=r(Yr),QK0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],rW0=r("Flow_ast.Statement.DoWhile.body"),eW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nW0=[0,[17,0,0],r(z)],tW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uW0=r(Ts),iW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fW0=[0,[17,0,0],r(z)],xW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aW0=r(Xr),oW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cW0=r(tr),sW0=r(Z0),vW0=r(nr),lW0=[0,[17,0,0],r(z)],bW0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],pW0=[0,[15,0],r(C0)],mW0=r(Yr),_W0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],yW0=r("Flow_ast.Statement.While.test"),dW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hW0=[0,[17,0,0],r(z)],kW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wW0=r(Jn),EW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],SW0=[0,[17,0,0],r(z)],gW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FW0=r(Xr),TW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OW0=r(tr),IW0=r(Z0),AW0=r(nr),NW0=[0,[17,0,0],r(z)],CW0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],PW0=[0,[15,0],r(C0)],DW0=r("Flow_ast.Statement.VariableDeclaration.Var"),LW0=r("Flow_ast.Statement.VariableDeclaration.Let"),RW0=r("Flow_ast.Statement.VariableDeclaration.Const"),jW0=[0,[15,0],r(C0)],GW0=r(Yr),MW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],qW0=r("Flow_ast.Statement.VariableDeclaration.declarations"),UW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],XW0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],YW0=[0,[17,0,0],r(z)],VW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zW0=r(Zc),KW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WW0=[0,[17,0,0],r(z)],JW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$W0=r(Xr),ZW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QW0=r(tr),rJ0=r(Z0),eJ0=r(nr),nJ0=[0,[17,0,0],r(z)],tJ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],uJ0=[0,[15,0],r(C0)],iJ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],fJ0=r("Flow_ast.Statement.VariableDeclaration.Declarator.id"),xJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],aJ0=[0,[17,0,0],r(z)],oJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cJ0=r(ji),sJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vJ0=r(tr),lJ0=r(Z0),bJ0=r(nr),pJ0=[0,[17,0,0],r(z)],mJ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],_J0=[0,[15,0],r(C0)],yJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],dJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],hJ0=[0,[17,0,[12,41,0]],r(h0)],kJ0=[0,[15,0],r(C0)],wJ0=r(Yr),EJ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],SJ0=r("Flow_ast.Statement.Try.block"),gJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],TJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],OJ0=[0,[17,0,[12,41,0]],r(h0)],IJ0=[0,[17,0,0],r(z)],AJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],NJ0=r(XU),CJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],PJ0=r(tr),DJ0=r(Z0),LJ0=r(nr),RJ0=[0,[17,0,0],r(z)],jJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GJ0=r(jH),MJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BJ0=r(tr),qJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],UJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],HJ0=[0,[17,0,[12,41,0]],r(h0)],XJ0=r(Z0),YJ0=r(nr),VJ0=[0,[17,0,0],r(z)],zJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KJ0=r(Xr),WJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JJ0=r(tr),$J0=r(Z0),ZJ0=r(nr),QJ0=[0,[17,0,0],r(z)],r$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],e$0=[0,[15,0],r(C0)],n$0=r(Yr),t$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],u$0=r("Flow_ast.Statement.Try.CatchClause.param"),i$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],f$0=r(tr),x$0=r(Z0),a$0=r(nr),o$0=[0,[17,0,0],r(z)],c$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s$0=r(Jn),v$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l$0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],b$0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],p$0=[0,[17,0,[12,41,0]],r(h0)],m$0=[0,[17,0,0],r(z)],_$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],y$0=r(Xr),d$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],h$0=r(tr),k$0=r(Z0),w$0=r(nr),E$0=[0,[17,0,0],r(z)],S$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],g$0=[0,[15,0],r(C0)],F$0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],T$0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],O$0=[0,[17,0,[12,41,0]],r(h0)],I$0=[0,[15,0],r(C0)],A$0=r(Yr),N$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],C$0=r("Flow_ast.Statement.Throw.argument"),P$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],D$0=[0,[17,0,0],r(z)],L$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],R$0=r(Xr),j$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],G$0=r(tr),M$0=r(Z0),B$0=r(nr),q$0=[0,[17,0,0],r(z)],U$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],H$0=[0,[15,0],r(C0)],X$0=r(Yr),Y$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],V$0=r("Flow_ast.Statement.Return.argument"),z$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K$0=r(tr),W$0=r(Z0),J$0=r(nr),$$0=[0,[17,0,0],r(z)],Z$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q$0=r(Xr),rZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eZ0=r(tr),nZ0=r(Z0),tZ0=r(nr),uZ0=[0,[17,0,0],r(z)],iZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fZ0=r("return_out"),xZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],aZ0=[0,[17,0,0],r(z)],oZ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],cZ0=[0,[15,0],r(C0)],sZ0=r(Yr),vZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],bZ0=r("Flow_ast.Statement.Switch.discriminant"),pZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mZ0=[0,[17,0,0],r(z)],_Z0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yZ0=r(uY),dZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],kZ0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],wZ0=[0,[17,0,0],r(z)],EZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],SZ0=r(Xr),gZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FZ0=r(tr),TZ0=r(Z0),OZ0=r(nr),IZ0=[0,[17,0,0],r(z)],AZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],NZ0=r("exhaustive_out"),CZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],PZ0=[0,[17,0,0],r(z)],DZ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],LZ0=[0,[15,0],r(C0)],RZ0=r(Yr),jZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],MZ0=r("Flow_ast.Statement.Switch.Case.test"),BZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qZ0=r(tr),UZ0=r(Z0),HZ0=r(nr),XZ0=[0,[17,0,0],r(z)],YZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],VZ0=r(kv),zZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],WZ0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],JZ0=[0,[17,0,0],r(z)],$Z0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ZZ0=r(Xr),QZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rQ0=r(tr),eQ0=r(Z0),nQ0=r(nr),tQ0=[0,[17,0,0],r(z)],uQ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],iQ0=[0,[15,0],r(C0)],fQ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],xQ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],aQ0=[0,[17,0,[12,41,0]],r(h0)],oQ0=[0,[15,0],r(C0)],cQ0=r(Yr),sQ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],vQ0=r("Flow_ast.Statement.OpaqueType.id"),lQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bQ0=[0,[17,0,0],r(z)],pQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mQ0=r(sv),_Q0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yQ0=r(tr),dQ0=r(Z0),hQ0=r(nr),kQ0=[0,[17,0,0],r(z)],wQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EQ0=r(kX),SQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gQ0=r(tr),FQ0=r(Z0),TQ0=r(nr),OQ0=[0,[17,0,0],r(z)],IQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],AQ0=r(IX),NQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CQ0=r(tr),PQ0=r(Z0),DQ0=r(nr),LQ0=[0,[17,0,0],r(z)],RQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jQ0=r(Xr),GQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],MQ0=r(tr),BQ0=r(Z0),qQ0=r(nr),UQ0=[0,[17,0,0],r(z)],HQ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],XQ0=[0,[15,0],r(C0)],YQ0=r(Yr),VQ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],zQ0=r("Flow_ast.Statement.TypeAlias.id"),KQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WQ0=[0,[17,0,0],r(z)],JQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$Q0=r(sv),ZQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QQ0=r(tr),r0r=r(Z0),e0r=r(nr),n0r=[0,[17,0,0],r(z)],t0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],u0r=r(Nu),i0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],f0r=[0,[17,0,0],r(z)],x0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],a0r=r(Xr),o0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c0r=r(tr),s0r=r(Z0),v0r=r(nr),l0r=[0,[17,0,0],r(z)],b0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],p0r=[0,[15,0],r(C0)],m0r=r(Yr),_0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],y0r=r("Flow_ast.Statement.With._object"),d0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],h0r=[0,[17,0,0],r(z)],k0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],w0r=r(Jn),E0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],S0r=[0,[17,0,0],r(z)],g0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],F0r=r(Xr),T0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],O0r=r(tr),I0r=r(Z0),A0r=r(nr),N0r=[0,[17,0,0],r(z)],C0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],P0r=[0,[15,0],r(C0)],D0r=r(Yr),L0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],R0r=r("Flow_ast.Statement.Debugger.comments"),j0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],G0r=r(tr),M0r=r(Z0),B0r=r(nr),q0r=[0,[17,0,0],r(z)],U0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],H0r=[0,[15,0],r(C0)],X0r=r(Yr),Y0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],V0r=r("Flow_ast.Statement.Continue.label"),z0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K0r=r(tr),W0r=r(Z0),J0r=r(nr),$0r=[0,[17,0,0],r(z)],Z0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q0r=r(Xr),rrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],err=r(tr),nrr=r(Z0),trr=r(nr),urr=[0,[17,0,0],r(z)],irr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],frr=[0,[15,0],r(C0)],xrr=r(Yr),arr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],orr=r("Flow_ast.Statement.Break.label"),crr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],srr=r(tr),vrr=r(Z0),lrr=r(nr),brr=[0,[17,0,0],r(z)],prr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mrr=r(Xr),_rr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yrr=r(tr),drr=r(Z0),hrr=r(nr),krr=[0,[17,0,0],r(z)],wrr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Err=[0,[15,0],r(C0)],Srr=r(Yr),grr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Frr=r("Flow_ast.Statement.Labeled.label"),Trr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Orr=[0,[17,0,0],r(z)],Irr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Arr=r(Jn),Nrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Crr=[0,[17,0,0],r(z)],Prr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Drr=r(Xr),Lrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rrr=r(tr),jrr=r(Z0),Grr=r(nr),Mrr=[0,[17,0,0],r(z)],Brr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],qrr=[0,[15,0],r(C0)],Urr=r(Yr),Hrr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Xrr=r("Flow_ast.Statement.If.test"),Yrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Vrr=[0,[17,0,0],r(z)],zrr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Krr=r(kv),Wrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jrr=[0,[17,0,0],r(z)],$rr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Zrr=r(_3),Qrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rer=r(tr),eer=r(Z0),ner=r(nr),ter=[0,[17,0,0],r(z)],uer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ier=r(Xr),fer=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xer=r(tr),aer=r(Z0),oer=r(nr),cer=[0,[17,0,0],r(z)],ser=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],ver=[0,[15,0],r(C0)],ler=r(Yr),ber=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],per=r("Flow_ast.Statement.If.Alternate.body"),mer=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_er=[0,[17,0,0],r(z)],yer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],der=r(Xr),her=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ker=r(tr),wer=r(Z0),Eer=r(nr),Ser=[0,[17,0,0],r(z)],ger=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Fer=[0,[15,0],r(C0)],Ter=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Oer=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ier=[0,[17,0,[12,41,0]],r(h0)],Aer=[0,[15,0],r(C0)],Ner=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Cer=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Per=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Der=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ler=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Rer=r("Flow_ast.Statement.Block.body"),jer=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ger=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Mer=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Ber=[0,[17,0,0],r(z)],qer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uer=r(Xr),Her=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xer=r(tr),Yer=r(Z0),Ver=r(nr),zer=[0,[17,0,0],r(z)],Ker=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Wer=[0,[15,0],r(C0)],Jer=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Predicate.Declared"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Predicate.Declared@ ")],$er=[0,[17,0,[12,41,0]],r(h0)],Zer=r("Flow_ast.Type.Predicate.Inferred"),Qer=[0,[15,0],r(C0)],rnr=r(Yr),enr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],nnr=r("Flow_ast.Type.Predicate.kind"),tnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],unr=[0,[17,0,0],r(z)],inr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fnr=r(Xr),xnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],anr=r(tr),onr=r(Z0),cnr=r(nr),snr=[0,[17,0,0],r(z)],vnr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],lnr=[0,[15,0],r(C0)],bnr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],pnr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],mnr=[0,[17,0,[12,41,0]],r(h0)],_nr=[0,[15,0],r(C0)],ynr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dnr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],hnr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],knr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wnr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Enr=r("Flow_ast.Type.TypeArgs.arguments"),Snr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gnr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Fnr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Tnr=[0,[17,0,0],r(z)],Onr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Inr=r(Xr),Anr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nnr=r(tr),Cnr=r(Z0),Pnr=r(nr),Dnr=[0,[17,0,0],r(z)],Lnr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Rnr=[0,[15,0],r(C0)],jnr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Gnr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Mnr=[0,[17,0,[12,41,0]],r(h0)],Bnr=[0,[15,0],r(C0)],qnr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Unr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Hnr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Xnr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ynr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Vnr=r("Flow_ast.Type.TypeParams.params"),znr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Knr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Wnr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Jnr=[0,[17,0,0],r(z)],$nr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Znr=r(Xr),Qnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rtr=r(tr),etr=r(Z0),ntr=r(nr),ttr=[0,[17,0,0],r(z)],utr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],itr=[0,[15,0],r(C0)],ftr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],xtr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],atr=[0,[17,0,[12,41,0]],r(h0)],otr=[0,[15,0],r(C0)],ctr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],str=r("Flow_ast.Type.TypeParam.name"),vtr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ltr=[0,[17,0,0],r(z)],btr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ptr=r(MU),mtr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_tr=[0,[17,0,0],r(z)],ytr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dtr=r(ou),htr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ktr=r(tr),wtr=r(Z0),Etr=r(nr),Str=[0,[17,0,0],r(z)],gtr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ftr=r(mi),Ttr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Otr=r(tr),Itr=r(Z0),Atr=r(nr),Ntr=[0,[17,0,0],r(z)],Ctr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Ptr=[0,[15,0],r(C0)],Dtr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Ltr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Rtr=[0,[17,0,[12,41,0]],r(h0)],jtr=[0,[15,0],r(C0)],Gtr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Missing"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Missing@ ")],Mtr=[0,[17,0,[12,41,0]],r(h0)],Btr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Available"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Available@ ")],qtr=[0,[17,0,[12,41,0]],r(h0)],Utr=[0,[15,0],r(C0)],Htr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Xtr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ytr=[0,[17,0,[12,41,0]],r(h0)],Vtr=[0,[15,0],r(C0)],ztr=r(Yr),Ktr=r(Yr),Wtr=r(Yr),Jtr=r(Yr),$tr=r(Yr),Ztr=r(Yr),Qtr=r(Yr),rur=r(Yr),eur=r(Yr),nur=r(Yr),tur=r(Yr),uur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Any"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Any@ ")],iur=r(tr),fur=r(Z0),xur=r(nr),aur=[0,[17,0,[12,41,0]],r(h0)],our=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Mixed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Mixed@ ")],cur=r(tr),sur=r(Z0),vur=r(nr),lur=[0,[17,0,[12,41,0]],r(h0)],bur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Empty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Empty@ ")],pur=r(tr),mur=r(Z0),_ur=r(nr),yur=[0,[17,0,[12,41,0]],r(h0)],dur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Void"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Void@ ")],hur=r(tr),kur=r(Z0),wur=r(nr),Eur=[0,[17,0,[12,41,0]],r(h0)],Sur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Null"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Null@ ")],gur=r(tr),Fur=r(Z0),Tur=r(nr),Our=[0,[17,0,[12,41,0]],r(h0)],Iur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Number"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Number@ ")],Aur=r(tr),Nur=r(Z0),Cur=r(nr),Pur=[0,[17,0,[12,41,0]],r(h0)],Dur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BigInt"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BigInt@ ")],Lur=r(tr),Rur=r(Z0),jur=r(nr),Gur=[0,[17,0,[12,41,0]],r(h0)],Mur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.String"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.String@ ")],Bur=r(tr),qur=r(Z0),Uur=r(nr),Hur=[0,[17,0,[12,41,0]],r(h0)],Xur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Boolean"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Boolean@ ")],Yur=r(tr),Vur=r(Z0),zur=r(nr),Kur=[0,[17,0,[12,41,0]],r(h0)],Wur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Symbol"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Symbol@ ")],Jur=r(tr),$ur=r(Z0),Zur=r(nr),Qur=[0,[17,0,[12,41,0]],r(h0)],r7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Exists"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Exists@ ")],e7r=r(tr),n7r=r(Z0),t7r=r(nr),u7r=[0,[17,0,[12,41,0]],r(h0)],i7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Nullable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Nullable@ ")],f7r=[0,[17,0,[12,41,0]],r(h0)],x7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Function@ ")],a7r=[0,[17,0,[12,41,0]],r(h0)],o7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object@ ")],c7r=[0,[17,0,[12,41,0]],r(h0)],s7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Interface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Interface@ ")],v7r=[0,[17,0,[12,41,0]],r(h0)],l7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Array@ ")],b7r=[0,[17,0,[12,41,0]],r(h0)],p7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic@ ")],m7r=[0,[17,0,[12,41,0]],r(h0)],_7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.IndexedAccess"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.IndexedAccess@ ")],y7r=[0,[17,0,[12,41,0]],r(h0)],d7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.OptionalIndexedAccess"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.OptionalIndexedAccess@ ")],h7r=[0,[17,0,[12,41,0]],r(h0)],k7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Union"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Union@ ")],w7r=[0,[17,0,[12,41,0]],r(h0)],E7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Intersection"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Intersection@ ")],S7r=[0,[17,0,[12,41,0]],r(h0)],g7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof@ ")],F7r=[0,[17,0,[12,41,0]],r(h0)],T7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Tuple"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Tuple@ ")],O7r=[0,[17,0,[12,41,0]],r(h0)],I7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.StringLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.StringLiteral@ ")],A7r=[0,[17,0,[12,41,0]],r(h0)],N7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.NumberLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.NumberLiteral@ ")],C7r=[0,[17,0,[12,41,0]],r(h0)],P7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BigIntLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BigIntLiteral@ ")],D7r=[0,[17,0,[12,41,0]],r(h0)],L7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BooleanLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BooleanLiteral@ ")],R7r=[0,[17,0,[12,41,0]],r(h0)],j7r=[0,[15,0],r(C0)],G7r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],M7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],B7r=[0,[17,0,[12,41,0]],r(h0)],q7r=[0,[15,0],r(C0)],U7r=r(Yr),H7r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],X7r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Y7r=r("Flow_ast.Type.Intersection.types"),V7r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],z7r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],K7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],W7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],J7r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],$7r=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Z7r=[0,[17,0,[12,41,0]],r(h0)],Q7r=[0,[17,0,0],r(z)],rir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eir=r(Xr),nir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tir=r(tr),uir=r(Z0),iir=r(nr),fir=[0,[17,0,0],r(z)],xir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],air=[0,[15,0],r(C0)],oir=r(Yr),cir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],vir=r("Flow_ast.Type.Union.types"),lir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bir=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],pir=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],mir=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],_ir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],yir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],dir=[0,[17,0,[12,41,0]],r(h0)],hir=[0,[17,0,0],r(z)],kir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wir=r(Xr),Eir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sir=r(tr),gir=r(Z0),Fir=r(nr),Tir=[0,[17,0,0],r(z)],Oir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Iir=[0,[15,0],r(C0)],Air=r(Yr),Nir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Cir=r("Flow_ast.Type.Array.argument"),Pir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dir=[0,[17,0,0],r(z)],Lir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Rir=r(Xr),jir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Gir=r(tr),Mir=r(Z0),Bir=r(nr),qir=[0,[17,0,0],r(z)],Uir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Hir=[0,[15,0],r(C0)],Xir=r(Yr),Yir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],zir=r("Flow_ast.Type.Tuple.types"),Kir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Jir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],$ir=[0,[17,0,0],r(z)],Zir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qir=r(Xr),rfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],efr=r(tr),nfr=r(Z0),tfr=r(nr),ufr=[0,[17,0,0],r(z)],ifr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],ffr=[0,[15,0],r(C0)],xfr=r(Yr),afr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],ofr=r("Flow_ast.Type.Typeof.argument"),cfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sfr=[0,[17,0,0],r(z)],vfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lfr=r(Xr),bfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pfr=r(tr),mfr=r(Z0),_fr=r(nr),yfr=[0,[17,0,0],r(z)],dfr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],hfr=[0,[15,0],r(C0)],kfr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],wfr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Efr=[0,[17,0,[12,41,0]],r(h0)],Sfr=[0,[15,0],r(C0)],gfr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Ffr=r("Flow_ast.Type.Typeof.Target.qualification"),Tfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ofr=[0,[17,0,0],r(z)],Ifr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Afr=r(mt),Nfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cfr=[0,[17,0,0],r(z)],Pfr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Dfr=[0,[15,0],r(C0)],Lfr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof.Target.Unqualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof.Target.Unqualified@ ")],Rfr=[0,[17,0,[12,41,0]],r(h0)],jfr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof.Target.Qualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof.Target.Qualified@ ")],Gfr=[0,[17,0,[12,41,0]],r(h0)],Mfr=[0,[15,0],r(C0)],Bfr=r(Yr),qfr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Ufr=r("Flow_ast.Type.Nullable.argument"),Hfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xfr=[0,[17,0,0],r(z)],Yfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vfr=r(Xr),zfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kfr=r(tr),Wfr=r(Z0),Jfr=r(nr),$fr=[0,[17,0,0],r(z)],Zfr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Qfr=[0,[15,0],r(C0)],rxr=r(Yr),exr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nxr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],txr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],uxr=[0,[17,0,[12,41,0]],r(h0)],ixr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],fxr=r("Flow_ast.Type.Interface.body"),xxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],axr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],oxr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],cxr=[0,[17,0,[12,41,0]],r(h0)],sxr=[0,[17,0,0],r(z)],vxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lxr=r(C7),bxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],mxr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],_xr=[0,[17,0,0],r(z)],yxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dxr=r(Xr),hxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kxr=r(tr),wxr=r(Z0),Exr=r(nr),Sxr=[0,[17,0,0],r(z)],gxr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Fxr=[0,[15,0],r(C0)],Txr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property@ ")],Oxr=[0,[17,0,[12,41,0]],r(h0)],Ixr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.SpreadProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.SpreadProperty@ ")],Axr=[0,[17,0,[12,41,0]],r(h0)],Nxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Indexer"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Indexer@ ")],Cxr=[0,[17,0,[12,41,0]],r(h0)],Pxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.CallProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.CallProperty@ ")],Dxr=[0,[17,0,[12,41,0]],r(h0)],Lxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.InternalSlot"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.InternalSlot@ ")],Rxr=[0,[17,0,[12,41,0]],r(h0)],jxr=[0,[15,0],r(C0)],Gxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Mxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Bxr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],qxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Hxr=r("Flow_ast.Type.Object.exact"),Xxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Yxr=[0,[9,0,0],r(An)],Vxr=[0,[17,0,0],r(z)],zxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kxr=r(HY),Wxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jxr=[0,[9,0,0],r(An)],$xr=[0,[17,0,0],r(z)],Zxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qxr=r(X4),rar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ear=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],nar=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],tar=[0,[17,0,0],r(z)],uar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],iar=r(Xr),far=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xar=r(tr),aar=r(Z0),oar=r(nr),car=[0,[17,0,0],r(z)],sar=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],lar=[0,[15,0],r(C0)],bar=r(Yr),par=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],mar=r("Flow_ast.Type.Object.InternalSlot.id"),_ar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yar=[0,[17,0,0],r(z)],dar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],har=r(Bn),kar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],war=[0,[17,0,0],r(z)],Ear=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Sar=r(Bu),gar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Far=[0,[9,0,0],r(An)],Tar=[0,[17,0,0],r(z)],Oar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Iar=r(nu),Aar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nar=[0,[9,0,0],r(An)],Car=[0,[17,0,0],r(z)],Par=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Dar=r(xU),Lar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rar=[0,[9,0,0],r(An)],jar=[0,[17,0,0],r(z)],Gar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Mar=r(Xr),Bar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qar=r(tr),Uar=r(Z0),Har=r(nr),Xar=[0,[17,0,0],r(z)],Yar=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Var=[0,[15,0],r(C0)],zar=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Kar=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],War=[0,[17,0,[12,41,0]],r(h0)],Jar=[0,[15,0],r(C0)],$ar=r(Yr),Zar=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Qar=r("Flow_ast.Type.Object.CallProperty.value"),ror=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],nor=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],tor=[0,[17,0,[12,41,0]],r(h0)],uor=[0,[17,0,0],r(z)],ior=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xor=r(nu),aor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oor=[0,[9,0,0],r(An)],cor=[0,[17,0,0],r(z)],sor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vor=r(Xr),lor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bor=r(tr),por=r(Z0),mor=r(nr),_or=[0,[17,0,0],r(z)],yor=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],dor=[0,[15,0],r(C0)],hor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],kor=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],wor=[0,[17,0,[12,41,0]],r(h0)],Eor=[0,[15,0],r(C0)],Sor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],gor=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],For=[0,[17,0,[12,41,0]],r(h0)],Tor=[0,[15,0],r(C0)],Oor=r(Yr),Ior=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Aor=r("Flow_ast.Type.Object.Indexer.id"),Nor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cor=r(tr),Por=r(Z0),Dor=r(nr),Lor=[0,[17,0,0],r(z)],Ror=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jor=r(ui),Gor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mor=[0,[17,0,0],r(z)],Bor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qor=r(Bn),Uor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hor=[0,[17,0,0],r(z)],Xor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yor=r(nu),Vor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zor=[0,[9,0,0],r(An)],Kor=[0,[17,0,0],r(z)],Wor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Jor=r(ou),$or=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zor=r(tr),Qor=r(Z0),rcr=r(nr),ecr=[0,[17,0,0],r(z)],ncr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tcr=r(Xr),ucr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],icr=r(tr),fcr=r(Z0),xcr=r(nr),acr=[0,[17,0,0],r(z)],ocr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],ccr=[0,[15,0],r(C0)],scr=r(Yr),vcr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],lcr=r("Flow_ast.Type.Object.SpreadProperty.argument"),bcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pcr=[0,[17,0,0],r(z)],mcr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_cr=r(Xr),ycr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dcr=r(tr),hcr=r(Z0),kcr=r(nr),wcr=[0,[17,0,0],r(z)],Ecr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Scr=[0,[15,0],r(C0)],gcr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Fcr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Tcr=[0,[17,0,[12,41,0]],r(h0)],Ocr=[0,[15,0],r(C0)],Icr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Init"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Init@ ")],Acr=[0,[17,0,[12,41,0]],r(h0)],Ncr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Get"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Get@ ")],Ccr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Pcr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Dcr=[0,[17,0,[12,41,0]],r(h0)],Lcr=[0,[17,0,[12,41,0]],r(h0)],Rcr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Set"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Set@ ")],jcr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Gcr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Mcr=[0,[17,0,[12,41,0]],r(h0)],Bcr=[0,[17,0,[12,41,0]],r(h0)],qcr=[0,[15,0],r(C0)],Ucr=r(Yr),Hcr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Xcr=r("Flow_ast.Type.Object.Property.key"),Ycr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Vcr=[0,[17,0,0],r(z)],zcr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kcr=r(Bn),Wcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jcr=[0,[17,0,0],r(z)],$cr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Zcr=r(Bu),Qcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rsr=[0,[9,0,0],r(An)],esr=[0,[17,0,0],r(z)],nsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tsr=r(nu),usr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],isr=[0,[9,0,0],r(An)],fsr=[0,[17,0,0],r(z)],xsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],asr=r(Y3),osr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],csr=[0,[9,0,0],r(An)],ssr=[0,[17,0,0],r(z)],vsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lsr=r(xU),bsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],psr=[0,[9,0,0],r(An)],msr=[0,[17,0,0],r(z)],_sr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ysr=r(ou),dsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hsr=r(tr),ksr=r(Z0),wsr=r(nr),Esr=[0,[17,0,0],r(z)],Ssr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gsr=r(Xr),Fsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Tsr=r(tr),Osr=r(Z0),Isr=r(nr),Asr=[0,[17,0,0],r(z)],Nsr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Csr=[0,[15,0],r(C0)],Psr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Dsr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Lsr=[0,[17,0,[12,41,0]],r(h0)],Rsr=[0,[15,0],r(C0)],jsr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Gsr=r("Flow_ast.Type.OptionalIndexedAccess.indexed_access"),Msr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bsr=[0,[17,0,0],r(z)],qsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Usr=r(Bu),Hsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xsr=[0,[9,0,0],r(An)],Ysr=[0,[17,0,0],r(z)],Vsr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],zsr=[0,[15,0],r(C0)],Ksr=r(Yr),Wsr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Jsr=r("Flow_ast.Type.IndexedAccess._object"),$sr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zsr=[0,[17,0,0],r(z)],Qsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],r1r=r("index"),e1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],n1r=[0,[17,0,0],r(z)],t1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],u1r=r(Xr),i1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],f1r=r(tr),x1r=r(Z0),a1r=r(nr),o1r=[0,[17,0,0],r(z)],c1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],s1r=[0,[15,0],r(C0)],v1r=r(Yr),l1r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],b1r=r("Flow_ast.Type.Generic.id"),p1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],m1r=[0,[17,0,0],r(z)],_1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],y1r=r(Z2),d1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],h1r=r(tr),k1r=r(Z0),w1r=r(nr),E1r=[0,[17,0,0],r(z)],S1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],g1r=r(Xr),F1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],T1r=r(tr),O1r=r(Z0),I1r=r(nr),A1r=[0,[17,0,0],r(z)],N1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],C1r=[0,[15,0],r(C0)],P1r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],D1r=r("Flow_ast.Type.Generic.Identifier.qualification"),L1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],R1r=[0,[17,0,0],r(z)],j1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],G1r=r(mt),M1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],B1r=[0,[17,0,0],r(z)],q1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],U1r=[0,[15,0],r(C0)],H1r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],X1r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Y1r=[0,[17,0,[12,41,0]],r(h0)],V1r=[0,[15,0],r(C0)],z1r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic.Identifier.Unqualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ ")],K1r=[0,[17,0,[12,41,0]],r(h0)],W1r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic.Identifier.Qualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ ")],J1r=[0,[17,0,[12,41,0]],r(h0)],$1r=[0,[15,0],r(C0)],Z1r=r(Yr),Q1r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],rvr=r("Flow_ast.Type.Function.tparams"),evr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nvr=r(tr),tvr=r(Z0),uvr=r(nr),ivr=[0,[17,0,0],r(z)],fvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xvr=r(Dt),avr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ovr=[0,[17,0,0],r(z)],cvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],svr=r(Wu),vvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lvr=[0,[17,0,0],r(z)],bvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pvr=r(Xr),mvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_vr=r(tr),yvr=r(Z0),dvr=r(nr),hvr=[0,[17,0,0],r(z)],kvr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],wvr=[0,[15,0],r(C0)],Evr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Svr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],gvr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Fvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Ovr=r("Flow_ast.Type.Function.Params.this_"),Ivr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Avr=r(tr),Nvr=r(Z0),Cvr=r(nr),Pvr=[0,[17,0,0],r(z)],Dvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Lvr=r(Dt),Rvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Gvr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Mvr=[0,[17,0,0],r(z)],Bvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qvr=r(ch),Uvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hvr=r(tr),Xvr=r(Z0),Yvr=r(nr),Vvr=[0,[17,0,0],r(z)],zvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kvr=r(Xr),Wvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jvr=r(tr),$vr=r(Z0),Zvr=r(nr),Qvr=[0,[17,0,0],r(z)],r2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],e2r=[0,[15,0],r(C0)],n2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],t2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],u2r=[0,[17,0,[12,41,0]],r(h0)],i2r=[0,[15,0],r(C0)],f2r=r(Yr),x2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],a2r=r("Flow_ast.Type.Function.ThisParam.annot"),o2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c2r=[0,[17,0,0],r(z)],s2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],v2r=r(Xr),l2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],b2r=r(tr),p2r=r(Z0),m2r=r(nr),_2r=[0,[17,0,0],r(z)],y2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],d2r=[0,[15,0],r(C0)],h2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],k2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],w2r=[0,[17,0,[12,41,0]],r(h0)],E2r=[0,[15,0],r(C0)],S2r=r(Yr),g2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],F2r=r("Flow_ast.Type.Function.RestParam.argument"),T2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],O2r=[0,[17,0,0],r(z)],I2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],A2r=r(Xr),N2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],C2r=r(tr),P2r=r(Z0),D2r=r(nr),L2r=[0,[17,0,0],r(z)],R2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],j2r=[0,[15,0],r(C0)],G2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],M2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],B2r=[0,[17,0,[12,41,0]],r(h0)],q2r=[0,[15,0],r(C0)],U2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],H2r=r("Flow_ast.Type.Function.Param.name"),X2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Y2r=r(tr),V2r=r(Z0),z2r=r(nr),K2r=[0,[17,0,0],r(z)],W2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],J2r=r(rs),$2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Z2r=[0,[17,0,0],r(z)],Q2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rlr=r(Bu),elr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nlr=[0,[9,0,0],r(An)],tlr=[0,[17,0,0],r(z)],ulr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],ilr=[0,[15,0],r(C0)],flr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],xlr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],alr=[0,[17,0,[12,41,0]],r(h0)],olr=[0,[15,0],r(C0)],clr=r(Yr),slr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],vlr=r("Flow_ast.ComputedKey.expression"),llr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],blr=[0,[17,0,0],r(z)],plr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mlr=r(Xr),_lr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ylr=r(tr),dlr=r(Z0),hlr=r(nr),klr=[0,[17,0,0],r(z)],wlr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Elr=[0,[15,0],r(C0)],Slr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],glr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Flr=[0,[17,0,[12,41,0]],r(h0)],Tlr=[0,[15,0],r(C0)],Olr=r(Yr),Ilr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Alr=r("Flow_ast.Variance.kind"),Nlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Clr=[0,[17,0,0],r(z)],Plr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Dlr=r(Xr),Llr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rlr=r(tr),jlr=r(Z0),Glr=r(nr),Mlr=[0,[17,0,0],r(z)],Blr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],qlr=[0,[15,0],r(C0)],Ulr=r("Flow_ast.Variance.Minus"),Hlr=r("Flow_ast.Variance.Plus"),Xlr=[0,[15,0],r(C0)],Ylr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Vlr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],zlr=[0,[17,0,[12,41,0]],r(h0)],Klr=[0,[15,0],r(C0)],Wlr=r(Yr),Jlr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],$lr=r("Flow_ast.BooleanLiteral.value"),Zlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qlr=[0,[9,0,0],r(An)],rbr=[0,[17,0,0],r(z)],ebr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nbr=r(Xr),tbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ubr=r(tr),ibr=r(Z0),fbr=r(nr),xbr=[0,[17,0,0],r(z)],abr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],obr=[0,[15,0],r(C0)],cbr=r(Yr),sbr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],vbr=r("Flow_ast.BigIntLiteral.approx_value"),lbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bbr=[0,[8,[0,0,5],0,0,0],r(e8)],pbr=[0,[17,0,0],r(z)],mbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_br=r(a1),ybr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dbr=[0,[3,0,0],r(zt)],hbr=[0,[17,0,0],r(z)],kbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wbr=r(Xr),Ebr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sbr=r(tr),gbr=r(Z0),Fbr=r(nr),Tbr=[0,[17,0,0],r(z)],Obr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Ibr=[0,[15,0],r(C0)],Abr=r(Yr),Nbr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Cbr=r("Flow_ast.NumberLiteral.value"),Pbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dbr=[0,[8,[0,0,5],0,0,0],r(e8)],Lbr=[0,[17,0,0],r(z)],Rbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jbr=r(o7),Gbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mbr=[0,[3,0,0],r(zt)],Bbr=[0,[17,0,0],r(z)],qbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ubr=r(Xr),Hbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xbr=r(tr),Ybr=r(Z0),Vbr=r(nr),zbr=[0,[17,0,0],r(z)],Kbr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],Wbr=[0,[15,0],r(C0)],Jbr=r(Yr),$br=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Zbr=r("Flow_ast.StringLiteral.value"),Qbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],r4r=[0,[3,0,0],r(zt)],e4r=[0,[17,0,0],r(z)],n4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],t4r=r(o7),u4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],i4r=[0,[3,0,0],r(zt)],f4r=[0,[17,0,0],r(z)],x4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],a4r=r(Xr),o4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c4r=r(tr),s4r=r(Z0),v4r=r(nr),l4r=[0,[17,0,0],r(z)],b4r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],p4r=[0,[15,0],r(C0)],m4r=r("Flow_ast.Literal.Null"),_4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.String"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.String@ ")],y4r=[0,[3,0,0],r(zt)],d4r=[0,[17,0,[12,41,0]],r(h0)],h4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.Boolean"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.Boolean@ ")],k4r=[0,[9,0,0],r(An)],w4r=[0,[17,0,[12,41,0]],r(h0)],E4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.Number"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.Number@ ")],S4r=[0,[8,[0,0,5],0,0,0],r(e8)],g4r=[0,[17,0,[12,41,0]],r(h0)],F4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.BigInt"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.BigInt@ ")],T4r=[0,[8,[0,0,5],0,0,0],r(e8)],O4r=[0,[17,0,[12,41,0]],r(h0)],I4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.RegExp"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.RegExp@ ")],A4r=[0,[17,0,[12,41,0]],r(h0)],N4r=[0,[15,0],r(C0)],C4r=r(Yr),P4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],D4r=r("Flow_ast.Literal.value"),L4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],R4r=[0,[17,0,0],r(z)],j4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],G4r=r(o7),M4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],B4r=[0,[3,0,0],r(zt)],q4r=[0,[17,0,0],r(z)],U4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],H4r=r(Xr),X4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Y4r=r(tr),V4r=r(Z0),z4r=r(nr),K4r=[0,[17,0,0],r(z)],W4r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],J4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],$4r=r("Flow_ast.Literal.RegExp.pattern"),Z4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Q4r=[0,[3,0,0],r(zt)],r8r=[0,[17,0,0],r(z)],e8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],n8r=r(UX),t8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u8r=[0,[3,0,0],r(zt)],i8r=[0,[17,0,0],r(z)],f8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],x8r=[0,[15,0],r(C0)],a8r=[0,[15,0],r(C0)],o8r=r(Yr),c8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],s8r=r("Flow_ast.PrivateName.name"),v8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l8r=[0,[3,0,0],r(zt)],b8r=[0,[17,0,0],r(z)],p8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],m8r=r(Xr),_8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],y8r=r(tr),d8r=r(Z0),h8r=r(nr),k8r=[0,[17,0,0],r(z)],w8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],E8r=[0,[15,0],r(C0)],S8r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],g8r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],F8r=[0,[17,0,[12,41,0]],r(h0)],T8r=[0,[15,0],r(C0)],O8r=r(Yr),I8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],A8r=r("Flow_ast.Identifier.name"),N8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],C8r=[0,[3,0,0],r(zt)],P8r=[0,[17,0,0],r(z)],D8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],L8r=r(Xr),R8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],j8r=r(tr),G8r=r(Z0),M8r=r(nr),B8r=[0,[17,0,0],r(z)],q8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],U8r=[0,[15,0],r(C0)],H8r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],X8r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Y8r=[0,[17,0,[12,41,0]],r(h0)],V8r=[0,[15,0],r(C0)],z8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],K8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],W8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],J8r=r("Flow_ast.Syntax.leading"),$8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Z8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Q8r=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],r3r=[0,[17,0,0],r(z)],e3r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],n3r=r("trailing"),t3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u3r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],i3r=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],f3r=[0,[17,0,0],r(z)],x3r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],a3r=r("internal"),o3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c3r=[0,[17,0,0],r(z)],s3r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],v3r=[0,[0,0,0]],l3r=[0,r(Eu),21,2],b3r=[0,[0,0,0,0,0]],p3r=[0,r(Eu),32,2],m3r=[0,[0,0,0,0,0]],_3r=[0,r(Eu),43,2],y3r=[0,[0,[0,[0,0,0]],0,0,0,0]],d3r=[0,r(Eu),70,2],h3r=[0,[0,0,0]],k3r=[0,r(Eu),80,2],w3r=[0,[0,0,0]],E3r=[0,r(Eu),90,2],S3r=[0,[0,0,0]],g3r=[0,r(Eu),L7,2],F3r=[0,[0,0,0]],T3r=[0,r(Eu),Yt,2],O3r=[0,[0,0,0,0,0,0,0]],I3r=[0,r(Eu),br,2],A3r=[0,[0,0,0,0,0]],N3r=[0,r(Eu),QH,2],C3r=[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,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]],[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]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],P3r=[0,r(Eu),485,2],D3r=[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,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,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,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]],[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]],L3r=[0,r(Eu),YX,2],R3r=[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,[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,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,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]],j3r=[0,r(Eu),1460,2],G3r=[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]],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]],M3r=[0,r(Eu),1604,2],B3r=[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]],q3r=[0,r(Eu),1689,2],U3r=[0,[0,0,0,0,0,0,0]],H3r=[0,r(Eu),1705,2],X3r=[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,0,0]],[0,[0,0,0,0,0]],0,0]],Y3r=[0,r(Eu),1828,2],V3r=[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]],z3r=[0,r(Eu),1895,2],K3r=[0,[0,0,0,0,0]],W3r=[0,r(Eu),1907,2],J3r=[0,[0,0,0]],$3r=[0,[0,0,0,0,0]],Z3r=[0,[0,0,0,0,0]],Q3r=[0,[0,[0,[0,0,0]],0,0,0,0]],r6r=[0,[0,0,0]],e6r=[0,[0,0,0]],n6r=[0,[0,0,0]],t6r=[0,[0,0,0]],u6r=[0,[0,0,0,0,0,0,0]],i6r=[0,[0,0,0,0,0]],f6r=[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,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]],[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]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],x6r=[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,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,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,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]],[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]],a6r=[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,[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,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,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]],o6r=[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]],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]],c6r=[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]],s6r=[0,[0,0,0,0,0,0,0]],v6r=[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,0,0]],[0,[0,0,0,0,0]],0,0]],l6r=[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]],b6r=[0,[0,0,0,0,0]],p6r=[0,1],m6r=[0,0],_6r=[0,2],y6r=[0,0],d6r=[0,1],h6r=[0,1],k6r=[0,1],w6r=[0,1],E6r=[0,1],S6r=[0,0,0],g6r=[0,0,0],F6r=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Ne),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ir),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(it),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],T6r=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Ne),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(it),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ir)],O6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.LibFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.LibFile@ ")],I6r=[0,[3,0,0],r(zt)],A6r=[0,[17,0,[12,41,0]],r(h0)],N6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.SourceFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.SourceFile@ ")],C6r=[0,[3,0,0],r(zt)],P6r=[0,[17,0,[12,41,0]],r(h0)],D6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.JsonFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.JsonFile@ ")],L6r=[0,[3,0,0],r(zt)],R6r=[0,[17,0,[12,41,0]],r(h0)],j6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.ResourceFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.ResourceFile@ ")],G6r=[0,[3,0,0],r(zt)],M6r=[0,[17,0,[12,41,0]],r(h0)],B6r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],q6r=r("Loc.line"),U6r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H6r=[0,[4,0,0,0,0],r(N2)],X6r=[0,[17,0,0],r(z)],Y6r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],V6r=r(I2),z6r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K6r=[0,[4,0,0,0,0],r(N2)],W6r=[0,[17,0,0],r(z)],J6r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],$6r=[0,[15,0],r(C0)],Z6r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(kr),0]],r(hr)],Q6r=r("Loc.source"),rpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],epr=r(tr),npr=r(Z0),tpr=r(nr),upr=[0,[17,0,0],r(z)],ipr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fpr=r(S7),xpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],apr=[0,[17,0,0],r(z)],opr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cpr=r("_end"),spr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vpr=[0,[17,0,0],r(z)],lpr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(wr)],bpr=[0,r(Gx),r(va),r(go),r(so),r(za),r(Yf),r(Jx),r(pf),r(of),r(Bx),r(it),r(Yo),r(I7),r(If),r(px),r(_a),r(lx),r(ef),r(gf),r(Xo),r(oo),r(Ho),r(yf),r(ic),r(Rf),r(To),r(ff),r(Ef),r(Bo),r(Xf),r(Tx),r(ax),r(Fa),r(kf),r(da),r(Qf),r(ao),r(Za),r(A7),r(O7),r(ox),r(Io),r(Mo),r(Wf),r(to),r(la),r(Ta),r(Sx),r(Go),r(ka),r(s7),r(bo),r(eo),r(vo),r(Hx),r(Xa),r(Ux),r(Mf),r(Nf),r(rc),r(Mx),r(Cf),r(ba),r(Fo),r(lf),r(ec),r(io),r(no),r(Au),r(Ix),r(ta),r(Ff),r(Uf),r(Eo),r(qx),r(Oc),r(Vo),r(jo),r(hx),r(xc),r(vi),r(ga),r(pa),r(Ic),r(No),r(kx),r(Nx),r(Tc),r(jf),r(uf),r(ix),r(yo),r(Ma),r(Ex),r(Uo),r(bf),r(po),r(yx),r(j7),r($o),r(mc),r(Kf),r(_i),r(_f),r(fo),r(zo),r(qu),r(gc),r(ma),r(Yx),r(Do),r(Ox),r(Co),r(r7),r(sf),r(wa),r(na),r(Wo),r(Gf),r(sc),r(ho),r(Ja),r(ex),r(cf),r(af),r(Cx),r(_c),r(Na),r(Ga),r(xa),r(Ax),r(sa),r(Px),r(nf),r(nc),r(Wa),r(Ro),r(Sc),r($a),r(bx),r(kc),r(Lx),r(ko),r(Rx),r(ux),r(Wx),r(Lo),r(Xx),r($x),r(dc),r(ir),r(yc),r(Af),r(hf),r(mx),r(Ua),r(jx),r(Tf),r(uc),r(Jf),r(wo),r(_o),r(tx),r(Vf),r(xf),r(Pf),r(xx),r(ca),r(Qa),r(ac),r(pc),r(Ya),r(Ko),r(wf),r(Ba),r(ro),r(pi),r(nx),r(rx),r(Ka),r(mf),r(lo),r(bc),r(Ec),r($f),r(zf),r(qa),r(Df),r(uo),r(co),r(lc),r(ra),r(So),r(Va),r(Qo),r(Qu),r(Ne),r(mo),r(_x),r(Wu),r(vx),r(qf),r(Fc),r(df),r(Kx),r(Fx),r(Po),r(hc),r(P7),r(ha),r(Ha),r(Zf),r(Qx),r(Ea),r(Lf),r(Aa),r(g7),r(ua),r(xo),r(oa),r(dx),r(Zx),r(Vx),r(Jo),r(ja),r(Hf),r(Ao),r(sx),r(Of),r(Dx),r(fa),r(Zo),r(Sf),r(Ca),r(tc),r(Da),r(Oa),r(Bf),r(cc),r(fx),r(wc),r(ou),r(Ia),r(ia),r(zx),r(wu)],ppr=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Ne),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ir),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(it),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],mpr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Ne),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(it),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ir)],_pr=r(yV),ypr=r(UY),dpr=r(GX),hpr=r(ZY),kpr=r(g3),wpr=r(tX),Epr=r(cv),Spr=r(PU),gpr=r(_Y),Fpr=r(wX),Tpr=r(mX),Opr=r(as),Ipr=r(Oo),Apr=r(zU),Npr=r(rX),Cpr=r(Zu),Ppr=r(WY),Dpr=r(PH),Lpr=r(A6),Rpr=r(Bh),jpr=r(R2),Gpr=r(j2),Mpr=r(rH),Bpr=r(YU),qpr=r(xY),Upr=r(vX),Hpr=r(yH),Xpr=r(SX),Ypr=r(vU),Vpr=r(ZX),zpr=r(bX),Kpr=r(dH),Wpr=r(TH),Jpr=r(WH),$pr=r(iV),Zpr=r(LU),Qpr=r(aX),r5r=r("Set.remove_min_elt"),e5r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],n5r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,us,0]],r("@[<2>{")],t5r=[0,[12,32,0],r(bi)],u5r=[0,[12,32,0],r(bi)],i5r=[0,[17,[0,r(Pe),0,0],[12,br,[17,0,0]]],r("@,}@]")],f5r=[0,r("src/hack_forked/utils/collections/flow_set.ml"),363,14],x5r=[0,[0,36,37],[0,48,58],[0,65,91],[0,95,96],[0,97,us],[0,Xg,yg],[0,Ai,Kg],[0,mS,wk],[0,dh,iw],[0,rt,cT],[0,d6,jw],[0,Et,706],[0,iX,722],[0,736,741],[0,748,749],[0,750,751],[0,768,885],[0,886,888],[0,890,894],[0,895,896],[0,902,907],[0,908,tY],[0,910,930],[0,zX,1014],[0,1015,1154],[0,1155,1160],[0,1162,jU],[0,1329,1367],[0,1369,1370],[0,1376,1417],[0,1425,1470],[0,1471,1472],[0,1473,1475],[0,1476,1478],[0,1479,1480],[0,1488,1515],[0,1519,1523],[0,1552,1563],[0,1568,1642],[0,1646,1748],[0,1749,1757],[0,1759,1769],[0,1770,1789],[0,1791,1792],[0,1808,1867],[0,1869,1970],[0,1984,2038],[0,2042,2043],[0,2045,2046],[0,Vd,2094],[0,2112,2140],[0,2144,2155],[0,2208,2229],[0,2230,2238],[0,2259,2274],[0,2275,2404],[0,2406,2416],[0,2417,2436],[0,2437,2445],[0,2447,2449],[0,2451,2473],[0,2474,2481],[0,2482,2483],[0,2486,2490],[0,2492,2501],[0,2503,2505],[0,2507,2511],[0,2519,2520],[0,2524,2526],[0,2527,2532],[0,2534,2546],[0,2556,2557],[0,2558,2559],[0,2561,2564],[0,2565,2571],[0,2575,2577],[0,2579,2601],[0,2602,2609],[0,2610,2612],[0,2613,2615],[0,2616,2618],[0,2620,2621],[0,2622,2627],[0,2631,2633],[0,2635,2638],[0,2641,2642],[0,2649,2653],[0,2654,2655],[0,2662,2678],[0,2689,2692],[0,2693,2702],[0,2703,2706],[0,2707,2729],[0,2730,2737],[0,2738,2740],[0,2741,2746],[0,2748,2758],[0,2759,2762],[0,2763,2766],[0,2768,2769],[0,2784,2788],[0,2790,2800],[0,2809,2816],[0,2817,2820],[0,2821,2829],[0,2831,2833],[0,2835,2857],[0,2858,2865],[0,2866,2868],[0,2869,2874],[0,2876,2885],[0,2887,2889],[0,2891,2894],[0,2902,2904],[0,2908,2910],[0,2911,2916],[0,2918,2928],[0,2929,2930],[0,2946,2948],[0,2949,2955],[0,2958,2961],[0,2962,2966],[0,2969,2971],[0,2972,2973],[0,2974,2976],[0,2979,2981],[0,2984,2987],[0,2990,3002],[0,3006,3011],[0,3014,3017],[0,3018,3022],[0,3024,3025],[0,3031,3032],[0,3046,3056],[0,3072,3085],[0,3086,3089],[0,3090,3113],[0,3114,3130],[0,3133,3141],[0,3142,3145],[0,3146,3150],[0,3157,3159],[0,3160,3163],[0,3168,3172],[0,3174,3184],[0,3200,3204],[0,3205,3213],[0,3214,3217],[0,3218,3241],[0,3242,3252],[0,3253,3258],[0,3260,3269],[0,3270,3273],[0,3274,3278],[0,3285,3287],[0,3294,3295],[0,3296,3300],[0,3302,3312],[0,3313,3315],[0,3328,3332],[0,3333,3341],[0,3342,3345],[0,3346,3397],[0,3398,3401],[0,3402,3407],[0,3412,3416],[0,3423,3428],[0,3430,3440],[0,3450,3456],[0,3458,3460],[0,3461,3479],[0,3482,3506],[0,3507,3516],[0,3517,3518],[0,3520,3527],[0,3530,3531],[0,3535,3541],[0,3542,3543],[0,3544,3552],[0,3558,3568],[0,3570,3572],[0,3585,3643],[0,3648,3663],[0,3664,3674],[0,3713,3715],[0,3716,3717],[0,3718,3723],[0,3724,3748],[0,3749,3750],[0,3751,3774],[0,3776,3781],[0,3782,3783],[0,3784,3790],[0,3792,3802],[0,3804,3808],[0,3840,3841],[0,3864,3866],[0,3872,3882],[0,3893,3894],[0,3895,3896],[0,3897,3898],[0,3902,3912],[0,3913,3949],[0,3953,3973],[0,3974,3992],[0,3993,4029],[0,4038,4039],[0,_X,4170],[0,4176,4254],[0,4256,4294],[0,4295,4296],[0,4301,4302],[0,4304,4347],[0,4348,4681],[0,4682,4686],[0,4688,4695],[0,4696,4697],[0,4698,4702],[0,4704,4745],[0,4746,4750],[0,4752,4785],[0,4786,4790],[0,4792,4799],[0,4800,4801],[0,4802,4806],[0,4808,4823],[0,4824,4881],[0,4882,4886],[0,4888,4955],[0,4957,4960],[0,4969,4978],[0,4992,5008],[0,5024,5110],[0,5112,5118],[0,5121,5741],[0,5743,Ev],[0,5761,5787],[0,5792,5867],[0,5870,5881],[0,5888,5901],[0,5902,5909],[0,5920,5941],[0,5952,5972],[0,5984,5997],[0,5998,6001],[0,6002,6004],[0,6016,6100],[0,6103,6104],[0,6108,6110],[0,6112,6122],[0,6155,6158],[0,6160,6170],[0,6176,6265],[0,6272,6315],[0,6320,6390],[0,6400,6431],[0,6432,6444],[0,6448,6460],[0,6470,6510],[0,6512,6517],[0,6528,6572],[0,6576,6602],[0,6608,6619],[0,6656,6684],[0,6688,6751],[0,6752,6781],[0,6783,6794],[0,6800,6810],[0,6823,6824],[0,6832,6846],[0,6912,6988],[0,6992,7002],[0,7019,7028],[0,7040,7156],[0,7168,7224],[0,7232,7242],[0,7245,7294],[0,7296,7305],[0,7312,7355],[0,7357,7360],[0,7376,7379],[0,7380,7419],[0,7424,7674],[0,7675,7958],[0,7960,7966],[0,7968,8006],[0,8008,8014],[0,8016,8024],[0,8025,8026],[0,8027,8028],[0,8029,8030],[0,8031,8062],[0,8064,8117],[0,8118,8125],[0,8126,8127],[0,8130,8133],[0,8134,8141],[0,8144,8148],[0,8150,8156],[0,8160,8173],[0,8178,8181],[0,8182,8189],[0,FY,_U],[0,8255,8257],[0,8276,8277],[0,np,8306],[0,I3,8320],[0,8336,8349],[0,8400,8413],[0,8417,8418],[0,8421,8433],[0,a3,8451],[0,j3,8456],[0,8458,F4],[0,_6,8470],[0,cU,8478],[0,u8,Z3],[0,r3,vp],[0,D8,C8],[0,8490,8506],[0,8508,8512],[0,8517,8522],[0,v8,8527],[0,8544,8585],[0,11264,11311],[0,11312,11359],[0,11360,11493],[0,11499,11508],[0,11520,M4],[0,q8,11560],[0,C3,11566],[0,11568,11624],[0,m4,11632],[0,D6,11671],[0,11680,G4],[0,11688,K8],[0,11696,o8],[0,11704,W8],[0,11712,K6],[0,11720,G8],[0,11728,T6],[0,11736,11743],[0,11744,11776],[0,12293,12296],[0,12321,O3],[0,12337,12342],[0,12344,12349],[0,12353,12439],[0,12441,S3],[0,12449,U4],[0,12540,12544],[0,12549,S8],[0,12593,12687],[0,12704,12731],[0,12784,12800],[0,13312,19894],[0,19968,40944],[0,40960,42125],[0,42192,42238],[0,42240,42509],[0,42512,42540],[0,42560,42608],[0,42612,H3],[0,42623,42738],[0,42775,42784],[0,42786,42889],[0,42891,42944],[0,42946,42951],[0,T8,43048],[0,43072,43124],[0,43136,43206],[0,43216,43226],[0,43232,43256],[0,t3,y8],[0,43261,43310],[0,43312,43348],[0,43360,43389],[0,43392,43457],[0,w8,43482],[0,43488,l6],[0,43520,43575],[0,43584,43598],[0,43600,43610],[0,43616,43639],[0,bp,43715],[0,43739,43742],[0,43744,43760],[0,43762,43767],[0,43777,43783],[0,43785,43791],[0,43793,43799],[0,43808,w6],[0,43816,X3],[0,43824,ov],[0,43868,o3],[0,43888,44011],[0,44012,44014],[0,44016,44026],[0,44032,55204],[0,55216,55239],[0,55243,55292],[0,63744,64110],[0,64112,64218],[0,64256,64263],[0,64275,64280],[0,n3,fp],[0,64298,Xn],[0,64312,K3],[0,R6,j4],[0,64320,U3],[0,64323,L8],[0,64326,64434],[0,64467,64830],[0,64848,64912],[0,64914,64968],[0,65008,65020],[0,65024,65040],[0,65056,65072],[0,65075,65077],[0,65101,65104],[0,65136,u3],[0,65142,65277],[0,65296,65306],[0,65313,65339],[0,65343,r8],[0,65345,65371],[0,65382,65471],[0,65474,65480],[0,65482,65488],[0,65490,65496],[0,65498,65501],[0,ow,ep],[0,65549,Z8],[0,65576,K4],[0,65596,g6],[0,65599,65614],[0,65616,65630],[0,65664,65787],[0,65856,65909],[0,66045,66046],[0,66176,66205],[0,66208,66257],[0,66272,66273],[0,66304,66336],[0,66349,66379],[0,66384,66427],[0,66432,66462],[0,66464,66500],[0,66504,Q3],[0,66513,66518],[0,66560,66718],[0,66720,66730],[0,66736,66772],[0,66776,66812],[0,66816,66856],[0,66864,66916],[0,67072,67383],[0,67392,67414],[0,67424,67432],[0,67584,67590],[0,op,$4],[0,67594,m8],[0,67639,67641],[0,B6,67645],[0,67647,67670],[0,67680,67703],[0,67712,67743],[0,67808,Y8],[0,67828,67830],[0,67840,67862],[0,67872,67898],[0,67968,68024],[0,68030,68032],[0,E7,68100],[0,68101,68103],[0,68108,p4],[0,68117,Q8],[0,68121,68150],[0,68152,68155],[0,68159,68160],[0,68192,68221],[0,68224,68253],[0,68288,$6],[0,68297,68327],[0,68352,68406],[0,68416,68438],[0,68448,68467],[0,68480,68498],[0,68608,68681],[0,68736,68787],[0,68800,68851],[0,68864,68904],[0,68912,68922],[0,69376,69405],[0,$8,69416],[0,69424,69457],[0,69600,69623],[0,69632,69703],[0,69734,q3],[0,69759,69819],[0,69840,69865],[0,69872,69882],[0,69888,69941],[0,69942,69952],[0,_4,T3],[0,69968,70004],[0,Y6,70007],[0,70016,70085],[0,70089,70093],[0,70096,h8],[0,f3,70109],[0,70144,N8],[0,70163,70200],[0,70206,70207],[0,70272,d3],[0,A8,xp],[0,70282,I8],[0,70287,s8],[0,70303,70313],[0,70320,70379],[0,70384,70394],[0,70400,i6],[0,70405,70413],[0,70415,70417],[0,70419,x3],[0,70442,c8],[0,70450,P4],[0,70453,70458],[0,70459,70469],[0,70471,70473],[0,70475,70478],[0,G6,70481],[0,70487,70488],[0,70493,70500],[0,70502,70509],[0,70512,70517],[0,70656,70731],[0,70736,70746],[0,J6,70752],[0,70784,r6],[0,Q6,70856],[0,70864,70874],[0,71040,71094],[0,71096,71105],[0,71128,71134],[0,71168,71233],[0,i8,71237],[0,71248,71258],[0,71296,71353],[0,71360,71370],[0,71424,71451],[0,71453,71468],[0,71472,71482],[0,71680,71739],[0,71840,71914],[0,71935,71936],[0,72096,72104],[0,72106,72152],[0,72154,ip],[0,m3,72165],[0,B8,72255],[0,72263,72264],[0,i3,72346],[0,D4,72350],[0,72384,72441],[0,72704,J3],[0,72714,72759],[0,72760,72769],[0,72784,72794],[0,72818,72848],[0,72850,72872],[0,72873,72887],[0,72960,L3],[0,72968,h4],[0,72971,73015],[0,73018,73019],[0,73020,73022],[0,73023,73032],[0,73040,73050],[0,73056,j6],[0,73063,h3],[0,73066,73103],[0,73104,73106],[0,73107,73113],[0,73120,73130],[0,73440,73463],[0,73728,74650],[0,74752,74863],[0,74880,75076],[0,77824,78895],[0,82944,83527],[0,92160,92729],[0,92736,92767],[0,92768,92778],[0,92880,92910],[0,92912,92917],[0,92928,92983],[0,92992,92996],[0,93008,93018],[0,93027,93048],[0,93053,93072],[0,93760,93824],[0,93952,94027],[0,Q4,94088],[0,94095,94112],[0,94176,p6],[0,h6,94180],[0,94208,100344],[0,100352,101107],[0,110592,110879],[0,110928,110931],[0,110948,110952],[0,110960,111356],[0,113664,113771],[0,113776,113789],[0,113792,113801],[0,113808,113818],[0,113821,113823],[0,119141,119146],[0,119149,119155],[0,119163,119171],[0,119173,119180],[0,119210,119214],[0,119362,119365],[0,119808,O6],[0,119894,B3],[0,119966,119968],[0,k3,119971],[0,119973,119975],[0,119977,rp],[0,119982,b8],[0,b4,M6],[0,119997,A3],[0,120005,R4],[0,120071,120075],[0,120077,C6],[0,120086,lp],[0,120094,P3],[0,120123,e6],[0,120128,q4],[0,M3,120135],[0,120138,L6],[0,120146,120486],[0,120488,L4],[0,120514,z3],[0,120540,s6],[0,120572,Y4],[0,120598,s3],[0,120630,z4],[0,120656,E6],[0,120688,l4],[0,120714,b6],[0,120746,w3],[0,120772,120780],[0,120782,120832],[0,121344,121399],[0,121403,121453],[0,121461,121462],[0,121476,121477],[0,121499,121504],[0,121505,121520],[0,122880,122887],[0,122888,122905],[0,122907,122914],[0,122915,122917],[0,122918,122923],[0,123136,123181],[0,123184,123198],[0,123200,123210],[0,cp,123215],[0,123584,123642],[0,124928,125125],[0,125136,125143],[0,125184,125260],[0,125264,125274],[0,126464,P6],[0,126469,$3],[0,126497,c3],[0,F8,126501],[0,n8,_8],[0,126505,v6],[0,126516,x8],[0,y6,a8],[0,E3,126524],[0,W3,126531],[0,R8,H6],[0,g8,t8],[0,v3,B4],[0,126541,T4],[0,126545,F6],[0,k8,126549],[0,f8,S4],[0,On,q6],[0,g4,M8],[0,U6,v4],[0,u6,I4],[0,126561,ap],[0,z6,126565],[0,126567,b3],[0,126572,a6],[0,126580,J8],[0,126585,R3],[0,Z4,E8],[0,126592,z8],[0,126603,126620],[0,126625,G3],[0,126629,e3],[0,126635,126652],[0,131072,173783],[0,173824,177973],[0,177984,178206],[0,178208,183970],[0,183984,191457],[0,194560,195102],[0,917760,918e3]],a5r=r(O2),o5r=r(hv),c5r=r(Tv),s5r=r(W4),v5r=r("Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead."),l5r=r("Enum members are separated with `,`. Replace `;` with `,`."),b5r=r("Unexpected reserved word"),p5r=r("Unexpected reserved type"),m5r=r("Unexpected `super` outside of a class method"),_5r=r("`super()` is only valid in a class constructor"),y5r=r("Unexpected end of input"),d5r=r("Unexpected variance sigil"),h5r=r("Unexpected static modifier"),k5r=r("Unexpected proto modifier"),w5r=r("Type aliases are not allowed in untyped mode"),E5r=r("Opaque type aliases are not allowed in untyped mode"),S5r=r("Type annotations are not allowed in untyped mode"),g5r=r("Type declarations are not allowed in untyped mode"),F5r=r("Type imports are not allowed in untyped mode"),T5r=r("Type exports are not allowed in untyped mode"),O5r=r("Interfaces are not allowed in untyped mode"),I5r=r("Spreading a type is only allowed inside an object type"),A5r=r("Explicit inexact syntax must come at the end of an object type"),N5r=r("Explicit inexact syntax cannot appear inside an explicit exact object type"),C5r=r("Explicit inexact syntax can only appear inside an object type"),P5r=r("Illegal newline after throw"),D5r=r("A bigint literal must be an integer"),L5r=r("A bigint literal cannot use exponential notation"),R5r=r("Invalid regular expression"),j5r=r("Invalid regular expression: missing /"),G5r=r("Invalid left-hand side in assignment"),M5r=r("Invalid left-hand side in exponentiation expression"),B5r=r("Invalid left-hand side in for-in"),q5r=r("Invalid left-hand side in for-of"),U5r=r("Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`."),H5r=r("found an expression instead"),X5r=r("Expected an object pattern, array pattern, or an identifier but "),Y5r=r("More than one default clause in switch statement"),V5r=r("Missing catch or finally after try"),z5r=r("Illegal continue statement"),K5r=r("Illegal break statement"),W5r=r("Illegal return statement"),J5r=r("Illegal Unicode escape"),$5r=r("Strict mode code may not include a with statement"),Z5r=r("Catch variable may not be eval or arguments in strict mode"),Q5r=r("Variable name may not be eval or arguments in strict mode"),rmr=r("Parameter name eval or arguments is not allowed in strict mode"),emr=r("Strict mode function may not have duplicate parameter names"),nmr=r('Illegal "use strict" directive in function with non-simple parameter list'),tmr=r("Function name may not be eval or arguments in strict mode"),umr=r("Octal literals are not allowed in strict mode."),imr=r("Number literals with leading zeros are not allowed in strict mode."),fmr=r("Delete of an unqualified identifier in strict mode."),xmr=r("Duplicate data property in object literal not allowed in strict mode"),amr=r("Object literal may not have data and accessor property with the same name"),omr=r("Object literal may not have multiple get/set accessors with the same name"),cmr=r("`typeof` can only be used to get the type of variables."),smr=r("Assignment to eval or arguments is not allowed in strict mode"),vmr=r("Postfix increment/decrement may not have eval or arguments operand in strict mode"),lmr=r("Prefix increment/decrement may not have eval or arguments operand in strict mode"),bmr=r("Use of future reserved word in strict mode"),pmr=r("JSX attributes must only be assigned a non-empty expression"),mmr=r("JSX value should be either an expression or a quoted JSX text"),_mr=r("Const must be initialized"),ymr=r("Destructuring assignment must be initialized"),dmr=r("Illegal newline before arrow"),hmr=r(vF),kmr=r("Async functions can only be declared at top level or "),wmr=r(vF),Emr=r("Generators can only be declared at top level or "),Smr=r("elements must be wrapped in an enclosing parent tag"),gmr=r("Unexpected token <. Remember, adjacent JSX "),Fmr=r("Rest parameter must be final parameter of an argument list"),Tmr=r("Rest element must be final element of an array pattern"),Omr=r("Rest property must be final property of an object pattern"),Imr=r("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),Amr=r("`declare` modifier can only appear on class fields."),Nmr=r("Unexpected token `=`. Initializers are not allowed in a `declare`."),Cmr=r("Unexpected token `=`. Initializers are not allowed in a `declare opaque type`."),Pmr=r("`declare export let` is not supported. Use `declare export var` instead."),Dmr=r("`declare export const` is not supported. Use `declare export var` instead."),Lmr=r("`declare export type` is not supported. Use `export type` instead."),Rmr=r("`declare export interface` is not supported. Use `export interface` instead."),jmr=r("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),Gmr=r("Found a decorator in an unsupported position."),Mmr=r("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),Bmr=r("Duplicate `declare module.exports` statement!"),qmr=r("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),Umr=r("Getter should have zero parameters"),Hmr=r("Setter should have exactly one parameter"),Xmr=r("`import type` or `import typeof`!"),Ymr=r("Imports within a `declare module` body must always be "),Vmr=r("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),zmr=r("Missing comma between import specifiers"),Kmr=r("Missing comma between export specifiers"),Wmr=r("Malformed unicode"),Jmr=r("Classes may only have one constructor"),$mr=r("Private fields may not be deleted."),Zmr=r("Private fields can only be referenced from within a class."),Qmr=r("You may not access a private field through the `super` keyword."),r9r=r("Yield expression not allowed in formal parameter"),e9r=r("`await` is an invalid identifier in async functions"),n9r=r("`yield` is an invalid identifier in generators"),t9r=r("either a `let` binding pattern, or a member expression."),u9r=r("`let [` is ambiguous in this position because it is "),i9r=r("Literals cannot be used as shorthand properties."),f9r=r("Computed properties must have a value."),x9r=r("Object pattern can't contain methods"),a9r=r("A trailing comma is not permitted after the rest element"),o9r=r("An optional chain may not be used in a `new` expression."),c9r=r("Template literals may not be used in an optional chain."),s9r=r("Unexpected whitespace between `#` and identifier"),v9r=r("A type annotation is required for the `this` parameter."),l9r=r("The `this` parameter must be the first function parameter."),b9r=r("The `this` parameter cannot be optional."),p9r=r("A getter cannot have a `this` parameter."),m9r=r("A setter cannot have a `this` parameter."),_9r=r("Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared."),y9r=r("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),d9r=[0,[11,r("Boolean enum members need to be initialized. Use either `"),[2,0,[11,r(" = true,` or `"),[2,0,[11,r(" = false,` in enum `"),[2,0,[11,r(Fs),0]]]]]]],r("Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.")],h9r=[0,[11,r("Enum member names need to be unique, but the name `"),[2,0,[11,r("` has already been used before in enum `"),[2,0,[11,r(Fs),0]]]]],r("Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.")],k9r=[0,[11,r(DU),[2,0,[11,r("` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."),0]]],r("Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")],w9r=[0,[11,r("Use one of `boolean`, `number`, `string`, or `symbol` in enum `"),[2,0,[11,r(Fs),0]]],r("Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.")],E9r=[0,[11,r("Enum type `"),[2,0,[11,r("` is not valid. "),[2,0,0]]]],r("Enum type `%s` is not valid. %s")],S9r=[0,[11,r("Supplied enum type is not valid. "),[2,0,0]],r("Supplied enum type is not valid. %s")],g9r=[0,[11,r("Enum member names and initializers are separated with `=`. Replace `"),[2,0,[11,r(":` with `"),[2,0,[11,r(" =`."),0]]]]],r("Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.")],F9r=[0,[11,r("Symbol enum members cannot be initialized. Use `"),[2,0,[11,r(",` in enum `"),[2,0,[11,r(Fs),0]]]]],r("Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.")],T9r=[0,[11,r(DU),[2,0,[11,r("` has type `"),[2,0,[11,r("`, so the initializer of `"),[2,0,[11,r("` needs to be a "),[2,0,[11,r(" literal."),0]]]]]]]]],r("Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.")],O9r=[0,[11,r("The enum member initializer for `"),[2,0,[11,r("` needs to be a literal (either a boolean, number, or string) in enum `"),[2,0,[11,r(Fs),0]]]]],r("The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.")],I9r=[0,[11,r("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `"),[2,0,[11,r("`, consider using `"),[2,0,[11,r("`, in enum `"),[2,0,[11,r(Fs),0]]]]]]],r("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.")],A9r=r("The `...` must come at the end of the enum body. Remove the trailing comma."),N9r=r("The `...` must come after all enum members. Move it to the end of the enum body."),C9r=[0,[11,r("Number enum members need to be initialized, e.g. `"),[2,0,[11,r(" = 1,` in enum `"),[2,0,[11,r(Fs),0]]]]],r("Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.")],P9r=[0,[11,r("String enum members need to consistently either all use initializers, or use no initializers, in enum "),[2,0,[12,46,0]]],r("String enum members need to consistently either all use initializers, or use no initializers, in enum %s.")],D9r=[0,[11,r(zH),[2,0,0]],r("Unexpected %s")],L9r=[0,[11,r(zH),[2,0,[11,r(", expected "),[2,0,0]]]],r("Unexpected %s, expected %s")],R9r=[0,[11,r(dV),[2,0,[11,r("`. Did you mean `"),[2,0,[11,r("`?"),0]]]]],r("Unexpected token `%s`. Did you mean `%s`?")],j9r=r(D3),G9r=r("Invalid flags supplied to RegExp constructor '"),M9r=r("Remove the period."),B9r=r("Indexed access uses bracket notation."),q9r=[0,[11,r("Invalid indexed access. "),[2,0,[11,r(" Use the format `T[K]`."),0]]],r("Invalid indexed access. %s Use the format `T[K]`.")],U9r=r(D3),H9r=r("Undefined label '"),X9r=r("' has already been declared"),Y9r=r(" '"),V9r=r("Expected corresponding JSX closing tag for "),z9r=r(vF),K9r=r("In strict mode code, functions can only be declared at top level or "),W9r=r("inside a block, or as the body of an if statement."),J9r=r("In non-strict mode code, functions can only be declared at top level, "),$9r=[0,[11,r("Duplicate export for `"),[2,0,[12,96,0]]],r("Duplicate export for `%s`")],Z9r=r("` is declared more than once."),Q9r=r("Private fields may only be declared once. `#"),r_r=r("static "),e_r=r(C),n_r=r(JY),t_r=r("methods"),u_r=r("fields"),i_r=r(Fs),f_r=r(" named `"),x_r=r("Classes may not have "),a_r=r("` has not been declared."),o_r=r("Private fields must be declared before they can be referenced. `#"),c_r=[0,[11,r(dV),[2,0,[11,r("`. Parentheses are required to combine `??` with `&&` or `||` expressions."),0]]],r("Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.")],s_r=r("Parse_error.Error"),v_r=[0,r("src/third-party/sedlex/flow_sedlexing.ml"),v1,4],l_r=r("Flow_sedlexing.MalFormed"),b_r=[0,1,0],p_r=[0,0,[0,1,0],[0,1,0]],m_r=r(JU),__r=r("end of input"),y_r=r(rl),d_r=r("template literal part"),h_r=r(rl),k_r=r(XH),w_r=r(JU),E_r=r(rl),S_r=r(hv),g_r=r(rl),F_r=r(a1),T_r=r(rl),O_r=r(Tv),I_r=r("an"),A_r=r(_i),N_r=r(bi),C_r=[0,[11,r("token `"),[2,0,[12,96,0]]],r("token `%s`")],P_r=r(SH),D_r=r(p3),L_r=r("{|"),R_r=r("|}"),j_r=r(KX),G_r=r(Z0),M_r=r("["),B_r=r("]"),q_r=r($Y),U_r=r(","),H_r=r(Ra),X_r=r("=>"),Y_r=r("..."),V_r=r(AX),z_r=r(JY),K_r=r(M2),W_r=r(N3),J_r=r(R2),$_r=r(j2),Z_r=r(Wu),Q_r=r(P7),ryr=r(f1),eyr=r(g7),nyr=r(k4),tyr=r(U2),uyr=r(W6),iyr=r(P8),fyr=r(D2),xyr=r(G2),ayr=r(xs),oyr=r(Ci),cyr=r(Gi),syr=r(I7),vyr=r(k6),lyr=r(o6),byr=r(A7),pyr=r(mi),myr=r(y4),_yr=r(U8),yyr=r(tp),dyr=r(q2),hyr=r(C7),kyr=r(nu),wyr=r(H4),Eyr=r(i1),Syr=r(J2),gyr=r(es),Fyr=r(ns),Tyr=r(p8),Oyr=r(y3),Iyr=r(qu),Ayr=r(yv),Nyr=r(gs),Cyr=r(r7),Pyr=r(d4),Dyr=r(w4),Lyr=r(c6),Ryr=r(S6),jyr=r(wu),Gyr=r(O7),Myr=r(T2),Byr=r($c),qyr=r(ud),Uyr=r(LS),Hyr=r(Os),Xyr=r(wx),Yyr=r("%checks"),Vyr=r(bX),zyr=r(ZX),Kyr=r(vU),Wyr=r(TH),Jyr=r(dH),$yr=r(WH),Zyr=r(SX),Qyr=r(yH),rdr=r(xY),edr=r(vX),ndr=r(YU),tdr=r(rH),udr=r(iV),idr=r(LU),fdr=r(aX),xdr=r(zO),adr=r("?."),odr=r(En),cdr=r("?"),sdr=r(o1),vdr=r(ZH),ldr=r(XX),bdr=r(PH),pdr=r(A6),mdr=r(Bh),_dr=r(yV),ydr=r(UY),ddr=r(GX),hdr=r(ZY),kdr=r(tX),wdr=r(PU),Edr=r(g3),Sdr=r(cv),gdr=r(_Y),Fdr=r(wX),Tdr=r(mX),Odr=r(as),Idr=r(Oo),Adr=r(Zu),Ndr=r(zU),Cdr=r(rX),Pdr=r(WY),Ddr=r(rf),Ldr=r(tV),Rdr=r(mH),jdr=r(lV),Gdr=r(C),Mdr=r(t6),Bdr=r(X8),qdr=r(s7),Udr=r(hv),Hdr=r(a1),Xdr=r(Tv),Ydr=r(ns),Vdr=r(W4),zdr=r(Zu),Kdr=r(Zu),Wdr=r(O2),Jdr=r(I6),$dr=r("T_LCURLY"),Zdr=r("T_RCURLY"),Qdr=r("T_LCURLYBAR"),rhr=r("T_RCURLYBAR"),ehr=r("T_LPAREN"),nhr=r("T_RPAREN"),thr=r("T_LBRACKET"),uhr=r("T_RBRACKET"),ihr=r("T_SEMICOLON"),fhr=r("T_COMMA"),xhr=r("T_PERIOD"),ahr=r("T_ARROW"),ohr=r("T_ELLIPSIS"),chr=r("T_AT"),shr=r("T_POUND"),vhr=r("T_FUNCTION"),lhr=r("T_IF"),bhr=r("T_IN"),phr=r("T_INSTANCEOF"),mhr=r("T_RETURN"),_hr=r("T_SWITCH"),yhr=r("T_THIS"),dhr=r("T_THROW"),hhr=r("T_TRY"),khr=r("T_VAR"),whr=r("T_WHILE"),Ehr=r("T_WITH"),Shr=r("T_CONST"),ghr=r("T_LET"),Fhr=r("T_NULL"),Thr=r("T_FALSE"),Ohr=r("T_TRUE"),Ihr=r("T_BREAK"),Ahr=r("T_CASE"),Nhr=r("T_CATCH"),Chr=r("T_CONTINUE"),Phr=r("T_DEFAULT"),Dhr=r("T_DO"),Lhr=r("T_FINALLY"),Rhr=r("T_FOR"),jhr=r("T_CLASS"),Ghr=r("T_EXTENDS"),Mhr=r("T_STATIC"),Bhr=r("T_ELSE"),qhr=r("T_NEW"),Uhr=r("T_DELETE"),Hhr=r("T_TYPEOF"),Xhr=r("T_VOID"),Yhr=r("T_ENUM"),Vhr=r("T_EXPORT"),zhr=r("T_IMPORT"),Khr=r("T_SUPER"),Whr=r("T_IMPLEMENTS"),Jhr=r("T_INTERFACE"),$hr=r("T_PACKAGE"),Zhr=r("T_PRIVATE"),Qhr=r("T_PROTECTED"),rkr=r("T_PUBLIC"),ekr=r("T_YIELD"),nkr=r("T_DEBUGGER"),tkr=r("T_DECLARE"),ukr=r("T_TYPE"),ikr=r("T_OPAQUE"),fkr=r("T_OF"),xkr=r("T_ASYNC"),akr=r("T_AWAIT"),okr=r("T_CHECKS"),ckr=r("T_RSHIFT3_ASSIGN"),skr=r("T_RSHIFT_ASSIGN"),vkr=r("T_LSHIFT_ASSIGN"),lkr=r("T_BIT_XOR_ASSIGN"),bkr=r("T_BIT_OR_ASSIGN"),pkr=r("T_BIT_AND_ASSIGN"),mkr=r("T_MOD_ASSIGN"),_kr=r("T_DIV_ASSIGN"),ykr=r("T_MULT_ASSIGN"),dkr=r("T_EXP_ASSIGN"),hkr=r("T_MINUS_ASSIGN"),kkr=r("T_PLUS_ASSIGN"),wkr=r("T_NULLISH_ASSIGN"),Ekr=r("T_AND_ASSIGN"),Skr=r("T_OR_ASSIGN"),gkr=r("T_ASSIGN"),Fkr=r("T_PLING_PERIOD"),Tkr=r("T_PLING_PLING"),Okr=r("T_PLING"),Ikr=r("T_COLON"),Akr=r("T_OR"),Nkr=r("T_AND"),Ckr=r("T_BIT_OR"),Pkr=r("T_BIT_XOR"),Dkr=r("T_BIT_AND"),Lkr=r("T_EQUAL"),Rkr=r("T_NOT_EQUAL"),jkr=r("T_STRICT_EQUAL"),Gkr=r("T_STRICT_NOT_EQUAL"),Mkr=r("T_LESS_THAN_EQUAL"),Bkr=r("T_GREATER_THAN_EQUAL"),qkr=r("T_LESS_THAN"),Ukr=r("T_GREATER_THAN"),Hkr=r("T_LSHIFT"),Xkr=r("T_RSHIFT"),Ykr=r("T_RSHIFT3"),Vkr=r("T_PLUS"),zkr=r("T_MINUS"),Kkr=r("T_DIV"),Wkr=r("T_MULT"),Jkr=r("T_EXP"),$kr=r("T_MOD"),Zkr=r("T_NOT"),Qkr=r("T_BIT_NOT"),rwr=r("T_INCR"),ewr=r("T_DECR"),nwr=r("T_EOF"),twr=r("T_ANY_TYPE"),uwr=r("T_MIXED_TYPE"),iwr=r("T_EMPTY_TYPE"),fwr=r("T_NUMBER_TYPE"),xwr=r("T_BIGINT_TYPE"),awr=r("T_STRING_TYPE"),owr=r("T_VOID_TYPE"),cwr=r("T_SYMBOL_TYPE"),swr=r("T_NUMBER"),vwr=r("T_BIGINT"),lwr=r("T_STRING"),bwr=r("T_TEMPLATE_PART"),pwr=r("T_IDENTIFIER"),mwr=r("T_REGEXP"),_wr=r("T_ERROR"),ywr=r("T_JSX_IDENTIFIER"),dwr=r("T_JSX_TEXT"),hwr=r("T_BOOLEAN_TYPE"),kwr=r("T_NUMBER_SINGLETON_TYPE"),wwr=r("T_BIGINT_SINGLETON_TYPE"),Ewr=[0,r(FX),VT,9],Swr=[0,r(FX),N6,9],gwr=r(HH),Fwr=r("*/"),Twr=r(HH),Owr=r("unreachable line_comment"),Iwr=r("unreachable string_quote"),Awr=r("\\"),Nwr=r("unreachable template_part"),Cwr=r("${"),Pwr=r(zY),Dwr=r(zY),Lwr=r(UI),Rwr=r("unreachable regexp_class"),jwr=r(oY),Gwr=r("unreachable regexp_body"),Mwr=r(C),Bwr=r(C),qwr=r(C),Uwr=r(C),Hwr=r("unreachable jsxtext"),Xwr=r(D3),Ywr=r(V2),Vwr=r(g3),zwr=r(cv),Kwr=r(SH),Wwr=r(p3),Jwr=r("{'}'}"),$wr=r(p3),Zwr=r("{'>'}"),Qwr=r(cv),rEr=r(b1),eEr=r("iexcl"),nEr=r("aelig"),tEr=r("Nu"),uEr=r("Eacute"),iEr=r("Atilde"),fEr=r("'int'"),xEr=r("AElig"),aEr=r("Aacute"),oEr=r("Acirc"),cEr=r("Agrave"),sEr=r("Alpha"),vEr=r("Aring"),lEr=[0,SY],bEr=[0,913],pEr=[0,rt],mEr=[0,iI],_Er=[0,VT],yEr=[0,_H],dEr=[0,8747],hEr=r("Auml"),kEr=r("Beta"),wEr=r("Ccedil"),EEr=r("Chi"),SEr=r("Dagger"),gEr=r("Delta"),FEr=r("ETH"),TEr=[0,wH],OEr=[0,916],IEr=[0,8225],AEr=[0,935],NEr=[0,uX],CEr=[0,914],PEr=[0,WX],DEr=[0,vY],LEr=r("Icirc"),REr=r("Ecirc"),jEr=r("Egrave"),GEr=r("Epsilon"),MEr=r("Eta"),BEr=r("Euml"),qEr=r("Gamma"),UEr=r("Iacute"),HEr=[0,$H],XEr=[0,915],YEr=[0,fV],VEr=[0,919],zEr=[0,917],KEr=[0,RU],WEr=[0,xH],JEr=r("Igrave"),$Er=r("Iota"),ZEr=r("Iuml"),QEr=r("Kappa"),rSr=r("Lambda"),eSr=r("Mu"),nSr=r("Ntilde"),tSr=[0,Zg],uSr=[0,924],iSr=[0,923],fSr=[0,922],xSr=[0,LX],aSr=[0,921],oSr=[0,rY],cSr=[0,CH],sSr=[0,mY],vSr=r("Sigma"),lSr=r("Otilde"),bSr=r("OElig"),pSr=r("Oacute"),mSr=r("Ocirc"),_Sr=r("Ograve"),ySr=r("Omega"),dSr=r("Omicron"),hSr=r("Oslash"),kSr=[0,d6],wSr=[0,927],ESr=[0,937],SSr=[0,N6],gSr=[0,EY],FSr=[0,EU],TSr=[0,338],OSr=r("Ouml"),ISr=r("Phi"),ASr=r("Pi"),NSr=r("Prime"),CSr=r("Psi"),PSr=r("Rho"),DSr=r("Scaron"),LSr=[0,352],RSr=[0,929],jSr=[0,936],GSr=[0,8243],MSr=[0,928],BSr=[0,934],qSr=[0,dT],USr=[0,qX],HSr=r("Uuml"),XSr=r("THORN"),YSr=r("Tau"),VSr=r("Theta"),zSr=r("Uacute"),KSr=r("Ucirc"),WSr=r("Ugrave"),JSr=r("Upsilon"),$Sr=[0,933],ZSr=[0,sp],QSr=[0,NU],rgr=[0,Lw],egr=[0,920],ngr=[0,932],tgr=[0,NX],ugr=r("Xi"),igr=r("Yacute"),fgr=r("Yuml"),xgr=r("Zeta"),agr=r("aacute"),ogr=r("acirc"),cgr=r("acute"),sgr=[0,mU],vgr=[0,tk],lgr=[0,HO],bgr=[0,918],pgr=[0,376],mgr=[0,HX],_gr=[0,926],ygr=[0,aA],dgr=[0,zX],hgr=[0,925],kgr=r("delta"),wgr=r("cap"),Egr=r("aring"),Sgr=r("agrave"),ggr=r("alefsym"),Fgr=r("alpha"),Tgr=r("amp"),Ogr=r("and"),Igr=r("ang"),Agr=r("apos"),Ngr=[0,39],Cgr=[0,8736],Pgr=[0,8743],Dgr=[0,38],Lgr=[0,945],Rgr=[0,8501],jgr=[0,dv],Ggr=r("asymp"),Mgr=r("atilde"),Bgr=r("auml"),qgr=r("bdquo"),Ugr=r("beta"),Hgr=r("brvbar"),Xgr=r("bull"),Ygr=[0,8226],Vgr=[0,MY],zgr=[0,946],Kgr=[0,8222],Wgr=[0,sV],Jgr=[0,eX],$gr=[0,8776],Zgr=[0,dU],Qgr=r("copy"),rFr=r("ccedil"),eFr=r("cedil"),nFr=r("cent"),tFr=r("chi"),uFr=r("circ"),iFr=r("clubs"),fFr=r("cong"),xFr=[0,8773],aFr=[0,9827],oFr=[0,iX],cFr=[0,967],sFr=[0,Sd],vFr=[0,wk],lFr=[0,VX],bFr=r("crarr"),pFr=r("cup"),mFr=r("curren"),_Fr=r("dArr"),yFr=r("dagger"),dFr=r("darr"),hFr=r("deg"),kFr=[0,kV],wFr=[0,8595],EFr=[0,8224],SFr=[0,8659],gFr=[0,PF],FFr=[0,8746],TFr=[0,8629],OFr=[0,RX],IFr=[0,8745],AFr=r("fnof"),NFr=r("ensp"),CFr=r("diams"),PFr=r("divide"),DFr=r("eacute"),LFr=r("ecirc"),RFr=r("egrave"),jFr=r(s7),GFr=r("emsp"),MFr=[0,8195],BFr=[0,8709],qFr=[0,eT],UFr=[0,aH],HFr=[0,wT],XFr=[0,jw],YFr=[0,9830],VFr=r("epsilon"),zFr=r("equiv"),KFr=r("eta"),WFr=r("eth"),JFr=r("euml"),$Fr=r("euro"),ZFr=r("exist"),QFr=[0,8707],rTr=[0,8364],eTr=[0,eH],nTr=[0,v1],tTr=[0,951],uTr=[0,8801],iTr=[0,949],fTr=[0,8194],xTr=r("gt"),aTr=r("forall"),oTr=r("frac12"),cTr=r("frac14"),sTr=r("frac34"),vTr=r("frasl"),lTr=r("gamma"),bTr=r("ge"),pTr=[0,8805],mTr=[0,947],_Tr=[0,8260],yTr=[0,PY],dTr=[0,cY],hTr=[0,sX],kTr=[0,8704],wTr=r("hArr"),ETr=r("harr"),STr=r("hearts"),gTr=r("hellip"),FTr=r("iacute"),TTr=r("icirc"),OTr=[0,pH],ITr=[0,YY],ATr=[0,8230],NTr=[0,9829],CTr=[0,8596],PTr=[0,8660],DTr=[0,62],LTr=[0,402],RTr=[0,948],jTr=[0,Bd],GTr=r("prime"),MTr=r("ndash"),BTr=r("le"),qTr=r("kappa"),UTr=r("igrave"),HTr=r("image"),XTr=r("infin"),YTr=r("iota"),VTr=r("iquest"),zTr=r("isin"),KTr=r("iuml"),WTr=[0,f6],JTr=[0,8712],$Tr=[0,yX],ZTr=[0,953],QTr=[0,8734],rOr=[0,8465],eOr=[0,mO],nOr=r("lArr"),tOr=r("lambda"),uOr=r("lang"),iOr=r("laquo"),fOr=r("larr"),xOr=r("lceil"),aOr=r("ldquo"),oOr=[0,8220],cOr=[0,8968],sOr=[0,8592],vOr=[0,yg],lOr=[0,10216],bOr=[0,955],pOr=[0,8656],mOr=[0,954],_Or=r("macr"),yOr=r("lfloor"),dOr=r("lowast"),hOr=r("loz"),kOr=r("lrm"),wOr=r("lsaquo"),EOr=r("lsquo"),SOr=r("lt"),gOr=[0,60],FOr=[0,8216],TOr=[0,8249],OOr=[0,_U],IOr=[0,9674],AOr=[0,8727],NOr=[0,8970],COr=r("mdash"),POr=r("micro"),DOr=r("middot"),LOr=r(pY),ROr=r("mu"),jOr=r("nabla"),GOr=r("nbsp"),MOr=[0,sY],BOr=[0,8711],qOr=[0,956],UOr=[0,8722],HOr=[0,mS],XOr=[0,Ai],YOr=[0,8212],VOr=[0,dX],zOr=[0,8804],KOr=r("or"),WOr=r("oacute"),JOr=r("ne"),$Or=r("ni"),ZOr=r("not"),QOr=r("notin"),rIr=r("nsub"),eIr=r("ntilde"),nIr=r("nu"),tIr=[0,957],uIr=[0,Wy],iIr=[0,8836],fIr=[0,8713],xIr=[0,BU],aIr=[0,8715],oIr=[0,8800],cIr=r("ocirc"),sIr=r("oelig"),vIr=r("ograve"),lIr=r("oline"),bIr=r("omega"),pIr=r("omicron"),mIr=r("oplus"),_Ir=[0,8853],yIr=[0,959],dIr=[0,969],hIr=[0,8254],kIr=[0,TT],wIr=[0,339],EIr=[0,l8],SIr=[0,uH],gIr=r("part"),FIr=r("ordf"),TIr=r("ordm"),OIr=r("oslash"),IIr=r("otilde"),AIr=r("otimes"),NIr=r("ouml"),CIr=r("para"),PIr=[0,Kg],DIr=[0,$2],LIr=[0,8855],RIr=[0,rV],jIr=[0,Et],GIr=[0,dh],MIr=[0,Xg],BIr=r("permil"),qIr=r("perp"),UIr=r("phi"),HIr=r("pi"),XIr=r("piv"),YIr=r("plusmn"),VIr=r("pound"),zIr=[0,Mn],KIr=[0,oV],WIr=[0,982],JIr=[0,960],$Ir=[0,966],ZIr=[0,8869],QIr=[0,8240],rAr=[0,8706],eAr=[0,8744],nAr=[0,8211],tAr=r("sup1"),uAr=r("rlm"),iAr=r("raquo"),fAr=r("prod"),xAr=r("prop"),aAr=r("psi"),oAr=r("quot"),cAr=r("rArr"),sAr=r("radic"),vAr=r("rang"),lAr=[0,10217],bAr=[0,8730],pAr=[0,8658],mAr=[0,34],_Ar=[0,968],yAr=[0,8733],dAr=[0,8719],hAr=r("rarr"),kAr=r("rceil"),wAr=r("rdquo"),EAr=r("real"),SAr=r("reg"),gAr=r("rfloor"),FAr=r("rho"),TAr=[0,961],OAr=[0,8971],IAr=[0,nH],AAr=[0,8476],NAr=[0,8221],CAr=[0,8969],PAr=[0,8594],DAr=[0,iw],LAr=r("sigma"),RAr=r("rsaquo"),jAr=r("rsquo"),GAr=r("sbquo"),MAr=r("scaron"),BAr=r("sdot"),qAr=r("sect"),UAr=r("shy"),HAr=[0,wY],XAr=[0,DT],YAr=[0,8901],VAr=[0,353],zAr=[0,8218],KAr=[0,8217],WAr=[0,8250],JAr=r("sigmaf"),$Ar=r("sim"),ZAr=r("spades"),QAr=r("sub"),rNr=r("sube"),eNr=r("sum"),nNr=r("sup"),tNr=[0,8835],uNr=[0,8721],iNr=[0,8838],fNr=[0,8834],xNr=[0,9824],aNr=[0,8764],oNr=[0,962],cNr=[0,963],sNr=[0,8207],vNr=r("uarr"),lNr=r("thetasym"),bNr=r("sup2"),pNr=r("sup3"),mNr=r("supe"),_Nr=r("szlig"),yNr=r("tau"),dNr=r("there4"),hNr=r("theta"),kNr=[0,952],wNr=[0,8756],ENr=[0,964],SNr=[0,d8],gNr=[0,8839],FNr=[0,qY],TNr=[0,OO],ONr=r("thinsp"),INr=r("thorn"),ANr=r("tilde"),NNr=r("times"),CNr=r("trade"),PNr=r("uArr"),DNr=r("uacute"),LNr=[0,nl],RNr=[0,8657],jNr=[0,8482],GNr=[0,cT],MNr=[0,732],BNr=[0,gv],qNr=[0,8201],UNr=[0,977],HNr=r("xi"),XNr=r("ucirc"),YNr=r("ugrave"),VNr=r("uml"),zNr=r("upsih"),KNr=r("upsilon"),WNr=r("uuml"),JNr=r("weierp"),$Nr=[0,cU],ZNr=[0,Y2],QNr=[0,965],rCr=[0,978],eCr=[0,DY],nCr=[0,249],tCr=[0,251],uCr=r("yacute"),iCr=r("yen"),fCr=r("yuml"),xCr=r("zeta"),aCr=r("zwj"),oCr=r("zwnj"),cCr=[0,FY],sCr=[0,8205],vCr=[0,950],lCr=[0,Ow],bCr=[0,nY],pCr=[0,ih],mCr=[0,958],_Cr=[0,8593],yCr=[0,AU],dCr=[0,8242],hCr=[0,WU],kCr=r($Y),wCr=r(Bh),ECr=r("unreachable jsx_child"),SCr=r("unreachable type_token wholenumber"),gCr=r("unreachable type_token wholebigint"),FCr=r("unreachable type_token floatbigint"),TCr=r("unreachable type_token scinumber"),OCr=r("unreachable type_token scibigint"),ICr=r("unreachable type_token hexnumber"),ACr=r("unreachable type_token hexbigint"),NCr=r("unreachable type_token legacyoctnumber"),CCr=r("unreachable type_token octnumber"),PCr=r("unreachable type_token octbigint"),DCr=r("unreachable type_token binnumber"),LCr=r("unreachable type_token bigbigint"),RCr=r("unreachable type_token"),jCr=r(o1),GCr=r(o1),MCr=r(FU),BCr=r(X8),qCr=r(t6),UCr=r(a1),HCr=r(I6),XCr=r(O2),YCr=r(s7),VCr=r(C7),zCr=r(Ci),KCr=r(r7),WCr=[9,1],JCr=[9,0],$Cr=r(xs),ZCr=r(hv),QCr=r(nu),rPr=r(Tv),ePr=r(W4),nPr=r(Gi),tPr=r(es),uPr=r(ns),iPr=r("unreachable template_tail"),fPr=r(p3),xPr=[0,r(C),r(C),r(C)],aPr=r("unreachable jsx_tag"),oPr=r(D3),cPr=r("unreachable regexp"),sPr=r("unreachable token wholenumber"),vPr=r("unreachable token wholebigint"),lPr=r("unreachable token floatbigint"),bPr=r("unreachable token scinumber"),pPr=r("unreachable token scibigint"),mPr=r("unreachable token hexnumber"),_Pr=r("unreachable token hexbigint"),yPr=r("unreachable token legacyoctnumber"),dPr=r("unreachable token legacynonoctnumber"),hPr=r("unreachable token octnumber"),kPr=r("unreachable token octbigint"),wPr=r("unreachable token bignumber"),EPr=r("unreachable token bigint"),SPr=r("unreachable token"),gPr=r(o1),FPr=r(o1),TPr=r(FU),OPr=[6,r("#!")],IPr=r("expected ?"),APr=r(j2),NPr=r(y4),CPr=r(D2),PPr=r(Os),DPr=r(wx),LPr=r(I7),RPr=r(k6),jPr=r(o6),GPr=r(q2),MPr=r(A7),BPr=r(O7),qPr=r(T2),UPr=r(mi),HPr=r(J2),XPr=r(tp),YPr=r(H4),VPr=r(p8),zPr=r(y3),KPr=r(C7),WPr=r(Ci),JPr=r(U8),$Pr=r(M2),ZPr=r(N3),QPr=r(gs),rDr=r(qu),eDr=r(R2),nDr=r(yv),tDr=r(d4),uDr=r(r7),iDr=r(G2),fDr=r(i1),xDr=r(xs),aDr=r(LS),oDr=r(ud),cDr=r(w4),sDr=r(c6),vDr=r(S6),lDr=r(Wu),bDr=r(nu),pDr=r(es),mDr=r(P7),_Dr=r(f1),yDr=r(g7),dDr=r(Gi),hDr=r(k4),kDr=r($c),wDr=r(U2),EDr=r(ns),SDr=r(W6),gDr=r(P8),FDr=r(wu),TDr=r("unreachable string_escape"),ODr=r($u),IDr=r(H2),ADr=r(H2),NDr=r($u),CDr=r(gX),PDr=r(lY),DDr=r("n"),LDr=r("r"),RDr=r("t"),jDr=r(hV),GDr=r(H2),MDr=r(b1),BDr=r(b1),qDr=r("unreachable id_char"),UDr=r(b1),HDr=r(b1),XDr=r("Invalid (lexer) bigint "),YDr=r("Invalid (lexer) bigint binary/octal "),VDr=r(H2),zDr=r(hH),KDr=r(lU),WDr=r(Dd),JDr=[10,r("token ILLEGAL")],$Dr=r("\0"),ZDr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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"),QDr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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"),rLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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"),eLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),nLr=r("\0\0"),tLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),uLr=r(""),iLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),fLr=r("\0"),xLr=r("\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"),aLr=r("\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"),oLr=r("\0\0\0\0"),cLr=r("\0\0\0"),sLr=r("\x07\x07"),vLr=r("\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\0\0\0\0\0"),lLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),bLr=r(`\x07\b  -\v\f\r`),pLr=r(""),mLr=r("\0\0\0"),_Lr=r("\0"),yLr=r("\0\0\0\0\0\0"),dLr=r(""),hLr=r(""),kLr=r("\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"),wLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ELr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),SLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),gLr=r("\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"),FLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),TLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),OLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ILr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ALr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),NLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),CLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\b\0\0\0\0\0\0 \x07\b"),PLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),DLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),LLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),RLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),jLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),GLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),MLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),BLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),qLr=r(`\x07\b -\v\x07\f\r\x1B  ! "#$%                                                                                                                                                                                                                                                         `),ULr=r(""),HLr=r(""),XLr=r("\0\0\0\0"),YLr=r(`\x07\b  -\v\f\r\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x1B\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07`),VLr=r(`\x07\b  -\v\f\r\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07`),zLr=r("\0\0"),KLr=r(""),WLr=r(""),JLr=r("\x07"),$Lr=r("\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\0\0\0\0\0\0\0"),ZLr=r("\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"),QLr=r("\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"),rRr=r("\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\0\0\0"),eRr=r("\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"),nRr=r("\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\0\0\0\0"),tRr=r("\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"),uRr=r("\0\0\0\0\0\0\0"),iRr=r("\x07"),fRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),xRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),aRr=r("\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\0\0\0\0\0"),oRr=r("\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"),cRr=r("\0"),sRr=r("\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"),vRr=r("\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"),lRr=r("\0\0"),bRr=r("\0"),pRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),mRr=r(""),_Rr=r("\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),yRr=r(""),dRr=r(""),hRr=r(""),kRr=r("\0"),wRr=r("\0\0\0"),ERr=r("\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"),SRr=r(""),gRr=r("\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\0\0\0\0\0\0\0\0\0\0\0"),FRr=r("\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\0\0\0\0\0"),TRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ORr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),IRr=r("\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ARr=[0,[11,r("the identifier `"),[2,0,[12,96,0]]],r("the identifier `%s`")],NRr=[0,1],CRr=[0,1],PRr=r("@flow"),DRr=r(EX),LRr=r(EX),RRr=[0,[11,r("an identifier. When exporting a "),[2,0,[11,r(" as a named export, you must specify a "),[2,0,[11,r(" name. Did you mean `export default "),[2,0,[11,r(" ...`?"),0]]]]]]],r("an identifier. When exporting a %s as a named export, you must specify a %s name. Did you mean `export default %s ...`?")],jRr=r(F3),GRr=r("Peeking current location when not available"),MRr=r(r7),BRr=r(bv),qRr=r(t6),URr=r(a1),HRr=r(I6),XRr=r(O2),YRr=r(s7),VRr=r(C7),zRr=r(Ci),KRr=r(X8),WRr=r(xs),JRr=r(hv),$Rr=r(nu),ZRr=r(Tv),QRr=r(Gi),rjr=r(es),ejr=r(ns),njr=r(Ci),tjr=r(xs),ujr=r(Gi),ijr=r(Ci),fjr=r(xs),xjr=r(Gi),ajr=r(C2),ojr=r("eval"),cjr=r(gs),sjr=r(r7),vjr=r(d4),ljr=r(w4),bjr=r(c6),pjr=r(S6),mjr=r(nu),_jr=r(wu),yjr=r(p8),djr=r(N3),hjr=r(mi),kjr=r(wx),wjr=r(I7),Ejr=r(k6),Sjr=r(o6),gjr=r(q2),Fjr=r(D2),Tjr=r(A7),Ojr=r(O7),Ijr=r(J2),Ajr=r(y4),Njr=r(H4),Cjr=r(y3),Pjr=r(C7),Djr=r(U8),Ljr=r(tp),Rjr=r(M2),jjr=r(g7),Gjr=r(qu),Mjr=r(R2),Bjr=r(j2),qjr=r(i1),Ujr=r(Wu),Hjr=r(yv),Xjr=r(P7),Yjr=r(f1),Vjr=r(k4),zjr=r(es),Kjr=r(U2),Wjr=r(ns),Jjr=r(W6),$jr=r(P8),Zjr=r(wu),Qjr=[0,r("src/parser/parser_env.ml"),343,9],rGr=r("Internal Error: Tried to add_declared_private with outside of class scope."),eGr=r("Internal Error: `exit_class` called before a matching `enter_class`"),nGr=r(C),tGr=[0,0,0],uGr=[0,0,0],iGr=r("Parser_env.Try.Rollback"),fGr=r(C),xGr=r(C),aGr=[0,r(wu),r(zx),r(ia),r(gU),r(AY),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Ne),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ir),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(cH),r(da),r(oH),r(VU),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(it),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],oGr=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Ne),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ir),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(it),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],cGr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Ne),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(it),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ir)],sGr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(AY),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(oH),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Ne),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(VU),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(cH),r(Gx),r(fx),r(gf),r(Hf),r(gU),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(it),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ir)],vGr=r(V4),lGr=r(I2),bGr=[0,[11,r("Failure while looking up "),[2,0,[11,r(". Index: "),[4,0,0,0,[11,r(". Length: "),[4,0,0,0,[12,46,0]]]]]]],r("Failure while looking up %s. Index: %d. Length: %d.")],pGr=[0,0,0,0],mGr=r("Offset_utils.Offset_lookup_failed"),_Gr=r(QY),yGr=r(wE),dGr=r(jY),hGr=r($X),kGr=r($X),wGr=r(jY),EGr=r($c),SGr=r(Xr),gGr=r(Jn),FGr=r("Program"),TGr=r(Yh),OGr=r("BreakStatement"),IGr=r(Yh),AGr=r("ContinueStatement"),NGr=r("DebuggerStatement"),CGr=r(vc),PGr=r("DeclareExportAllDeclaration"),DGr=r(vc),LGr=r(Cv),RGr=r(P2),jGr=r(mi),GGr=r("DeclareExportDeclaration"),MGr=r(Zc),BGr=r(Jn),qGr=r(mt),UGr=r("DeclareModule"),HGr=r(N7),XGr=r("DeclareModuleExports"),YGr=r(Ts),VGr=r(Jn),zGr=r("DoWhileStatement"),KGr=r("EmptyStatement"),WGr=r(_O),JGr=r(P2),$Gr=r("ExportDefaultDeclaration"),ZGr=r(_O),QGr=r(A4),rMr=r(vc),eMr=r("ExportAllDeclaration"),nMr=r(_O),tMr=r(vc),uMr=r(Cv),iMr=r(P2),fMr=r("ExportNamedDeclaration"),xMr=r(wn),aMr=r(Au),oMr=r("ExpressionStatement"),cMr=r(Jn),sMr=r(sU),vMr=r(Ts),lMr=r(ji),bMr=r("ForStatement"),pMr=r(j8),mMr=r(Jn),_Mr=r(Nu),yMr=r(li),dMr=r("ForInStatement"),hMr=r(wx),kMr=r(Jn),wMr=r(Nu),EMr=r(li),SMr=r("ForOfStatement"),gMr=r(_3),FMr=r(kv),TMr=r(Ts),OMr=r("IfStatement"),IMr=r($c),AMr=r(es),NMr=r(Bn),CMr=r(pX),PMr=r(vc),DMr=r(Cv),LMr=r("ImportDeclaration"),RMr=r(Jn),jMr=r(Yh),GMr=r("LabeledStatement"),MMr=r(v7),BMr=r("ReturnStatement"),qMr=r(uY),UMr=r("discriminant"),HMr=r("SwitchStatement"),XMr=r(v7),YMr=r("ThrowStatement"),VMr=r(jH),zMr=r(XU),KMr=r(it),WMr=r("TryStatement"),JMr=r(Jn),$Mr=r(Ts),ZMr=r("WhileStatement"),QMr=r(Jn),rBr=r(ck),eBr=r("WithStatement"),nBr=r(GH),tBr=r("ArrayExpression"),uBr=r(T7),iBr=r(m6),fBr=r(Au),xBr=r(Qu),aBr=r(j7),oBr=r(Os),cBr=r(Jn),sBr=r(Dt),vBr=r(mt),lBr=r("ArrowFunctionExpression"),bBr=r(zO),pBr=r(Nu),mBr=r(li),_Br=r(ul),yBr=r("AssignmentExpression"),dBr=r(Nu),hBr=r(li),kBr=r(ul),wBr=r("BinaryExpression"),EBr=r("CallExpression"),SBr=r(O4),gBr=r(bY),FBr=r("ComprehensionExpression"),TBr=r(_3),OBr=r(kv),IBr=r(Ts),ABr=r("ConditionalExpression"),NBr=r(O4),CBr=r(bY),PBr=r("GeneratorExpression"),DBr=r(vc),LBr=r("ImportExpression"),RBr=r(ZH),jBr=r(XX),GBr=r(En),MBr=r(Nu),BBr=r(li),qBr=r(ul),UBr=r("LogicalExpression"),HBr=r("MemberExpression"),XBr=r(Iv),YBr=r(el),VBr=r("MetaProperty"),zBr=r(C2),KBr=r(CX),WBr=r(UH),JBr=r("NewExpression"),$Br=r(X4),ZBr=r("ObjectExpression"),QBr=r(Bu),rqr=r("OptionalCallExpression"),eqr=r(Bu),nqr=r("OptionalMemberExpression"),tqr=r(Ug),uqr=r("SequenceExpression"),iqr=r("Super"),fqr=r("ThisExpression"),xqr=r(N7),aqr=r(Au),oqr=r("TypeCastExpression"),cqr=r(v7),sqr=r("AwaitExpression"),vqr=r(Oo),lqr=r(as),bqr=r(rf),pqr=r(tV),mqr=r(es),_qr=r(ns),yqr=r(J2),dqr=r("matched above"),hqr=r(v7),kqr=r(XE),wqr=r(ul),Eqr=r("UnaryExpression"),Sqr=r(lV),gqr=r(mH),Fqr=r(XE),Tqr=r(v7),Oqr=r(ul),Iqr=r("UpdateExpression"),Aqr=r(yY),Nqr=r(v7),Cqr=r("YieldExpression"),Pqr=r("Unexpected FunctionDeclaration with BodyExpression"),Dqr=r(T7),Lqr=r(m6),Rqr=r(Au),jqr=r(Qu),Gqr=r(j7),Mqr=r(Os),Bqr=r(Jn),qqr=r(Dt),Uqr=r(mt),Hqr=r("FunctionDeclaration"),Xqr=r("Unexpected FunctionExpression with BodyExpression"),Yqr=r(T7),Vqr=r(m6),zqr=r(Au),Kqr=r(Qu),Wqr=r(j7),Jqr=r(Os),$qr=r(Jn),Zqr=r(Dt),Qqr=r(mt),rUr=r("FunctionExpression"),eUr=r(Bu),nUr=r(N7),tUr=r(ti),uUr=r(kn),iUr=r(Bu),fUr=r(N7),xUr=r(ti),aUr=r("PrivateIdentifier"),oUr=r(Bu),cUr=r(N7),sUr=r(ti),vUr=r(kn),lUr=r(kv),bUr=r(Ts),pUr=r("SwitchCase"),mUr=r(Jn),_Ur=r("param"),yUr=r("CatchClause"),dUr=r(Jn),hUr=r("BlockStatement"),kUr=r(mt),wUr=r("DeclareVariable"),EUr=r(Qu),SUr=r(mt),gUr=r("DeclareFunction"),FUr=r(Vy),TUr=r(gs),OUr=r(C7),IUr=r(Jn),AUr=r(T7),NUr=r(mt),CUr=r("DeclareClass"),PUr=r(C7),DUr=r(Jn),LUr=r(T7),RUr=r(mt),jUr=r("DeclareInterface"),GUr=r(Bn),MUr=r($c),BUr=r(A4),qUr=r("ExportNamespaceSpecifier"),UUr=r(Nu),HUr=r(T7),XUr=r(mt),YUr=r("DeclareTypeAlias"),VUr=r(Nu),zUr=r(T7),KUr=r(mt),WUr=r("TypeAlias"),JUr=r("DeclareOpaqueType"),$Ur=r("OpaqueType"),ZUr=r(IX),QUr=r(kX),rHr=r(T7),eHr=r(mt),nHr=r("ClassDeclaration"),tHr=r("ClassExpression"),uHr=r(B_),iHr=r(gs),fHr=r("superTypeParameters"),xHr=r("superClass"),aHr=r(T7),oHr=r(Jn),cHr=r(mt),sHr=r(Au),vHr=r("Decorator"),lHr=r(T7),bHr=r(mt),pHr=r("ClassImplements"),mHr=r(Jn),_Hr=r("ClassBody"),yHr=r(wv),dHr=r(F2),hHr=r(t1),kHr=r(lv),wHr=r(B_),EHr=r(pv),SHr=r(nu),gHr=r(Zc),FHr=r(Bn),THr=r(ui),OHr=r("MethodDefinition"),IHr=r(T2),AHr=r(ou),NHr=r(nu),CHr=r(pv),PHr=r(N7),DHr=r(Bn),LHr=r(ui),RHr=r(vV),jHr=r("Internal Error: Private name found in class prop"),GHr=r(T2),MHr=r(ou),BHr=r(nu),qHr=r(pv),UHr=r(N7),HHr=r(Bn),XHr=r(ui),YHr=r(vV),VHr=r(mt),zHr=r(PX),KHr=r(ji),WHr=r(mt),JHr=r("EnumStringMember"),$Hr=r(mt),ZHr=r(PX),QHr=r(ji),rXr=r(mt),eXr=r("EnumNumberMember"),nXr=r(ji),tXr=r(mt),uXr=r("EnumBooleanMember"),iXr=r(O8),fXr=r(jT),xXr=r(N4),aXr=r("EnumBooleanBody"),oXr=r(O8),cXr=r(jT),sXr=r(N4),vXr=r("EnumNumberBody"),lXr=r(O8),bXr=r(jT),pXr=r(N4),mXr=r("EnumStringBody"),_Xr=r(O8),yXr=r(N4),dXr=r("EnumSymbolBody"),hXr=r(Jn),kXr=r(mt),wXr=r("EnumDeclaration"),EXr=r(C7),SXr=r(Jn),gXr=r(T7),FXr=r(mt),TXr=r("InterfaceDeclaration"),OXr=r(T7),IXr=r(mt),AXr=r("InterfaceExtends"),NXr=r(N7),CXr=r(X4),PXr=r("ObjectPattern"),DXr=r(N7),LXr=r(GH),RXr=r("ArrayPattern"),jXr=r(Nu),GXr=r(li),MXr=r(jF),BXr=r(N7),qXr=r(ti),UXr=r(kn),HXr=r(v7),XXr=r(cX),YXr=r(v7),VXr=r(cX),zXr=r(Nu),KXr=r(li),WXr=r(jF),JXr=r(ji),$Xr=r(ji),ZXr=r(t1),QXr=r(lv),rYr=r(bH),eYr=r(pv),nYr=r(x6),tYr=r(F2),uYr=r(Zc),iYr=r(Bn),fYr=r(ui),xYr=r(wU),aYr=r(v7),oYr=r("SpreadProperty"),cYr=r(Nu),sYr=r(li),vYr=r(jF),lYr=r(pv),bYr=r(x6),pYr=r(F2),mYr=r(Zc),_Yr=r(Bn),yYr=r(ui),dYr=r(wU),hYr=r(v7),kYr=r("SpreadElement"),wYr=r(j8),EYr=r(Nu),SYr=r(li),gYr=r("ComprehensionBlock"),FYr=r("We should not create Literal nodes for bigints"),TYr=r(UX),OYr=r(pi),IYr=r("regex"),AYr=r(o7),NYr=r(Bn),CYr=r(o7),PYr=r(Bn),DYr=r(X6),LYr=r(o7),RYr=r(Bn),jYr=r(X6),GYr=r(a1),MYr=r(Bn),BYr=r("BigIntLiteral"),qYr=r(o7),UYr=r(Bn),HYr=r(X6),XYr=r(Gi),YYr=r(Ci),VYr=r(o7),zYr=r(Bn),KYr=r(X6),WYr=r(Ug),JYr=r("quasis"),$Yr=r("TemplateLiteral"),ZYr=r(GY),QYr=r(o7),rVr=r(bU),eVr=r(Bn),nVr=r("TemplateElement"),tVr=r(OY),uVr=r("tag"),iVr=r("TaggedTemplateExpression"),fVr=r(U2),xVr=r(G2),aVr=r(D2),oVr=r(Zc),cVr=r("declarations"),sVr=r("VariableDeclaration"),vVr=r(ji),lVr=r(mt),bVr=r("VariableDeclarator"),pVr=r(Zc),mVr=r("Variance"),_Vr=r("AnyTypeAnnotation"),yVr=r("MixedTypeAnnotation"),dVr=r("EmptyTypeAnnotation"),hVr=r("VoidTypeAnnotation"),kVr=r("NullLiteralTypeAnnotation"),wVr=r("SymbolTypeAnnotation"),EVr=r("NumberTypeAnnotation"),SVr=r("BigIntTypeAnnotation"),gVr=r("StringTypeAnnotation"),FVr=r("BooleanTypeAnnotation"),TVr=r(N7),OVr=r("NullableTypeAnnotation"),IVr=r(T7),AVr=r(ch),NVr=r(m6),CVr=r(f1),PVr=r(Dt),DVr=r("FunctionTypeAnnotation"),LVr=r(Bu),RVr=r(N7),jVr=r(ti),GVr=r(qH),MVr=r(Bu),BVr=r(N7),qVr=r(ti),UVr=r(qH),HVr=[0,0,0,0,0],XVr=r("internalSlots"),YVr=r("callProperties"),VVr=r("indexers"),zVr=r(X4),KVr=r("exact"),WVr=r(HY),JVr=r("ObjectTypeAnnotation"),$Vr=r(bH),ZVr=r("There should not be computed object type property keys"),QVr=r(ji),rzr=r(t1),ezr=r(lv),nzr=r(Zc),tzr=r(ou),uzr=r(Y3),izr=r(nu),fzr=r(Bu),xzr=r(F2),azr=r(Bn),ozr=r(ui),czr=r("ObjectTypeProperty"),szr=r(v7),vzr=r("ObjectTypeSpreadProperty"),lzr=r(ou),bzr=r(nu),pzr=r(Bn),mzr=r(ui),_zr=r(mt),yzr=r("ObjectTypeIndexer"),dzr=r(nu),hzr=r(Bn),kzr=r("ObjectTypeCallProperty"),wzr=r(Bn),Ezr=r(F2),Szr=r(nu),gzr=r(Bu),Fzr=r(mt),Tzr=r("ObjectTypeInternalSlot"),Ozr=r(Jn),Izr=r(C7),Azr=r("InterfaceTypeAnnotation"),Nzr=r("elementType"),Czr=r("ArrayTypeAnnotation"),Pzr=r(mt),Dzr=r(fY),Lzr=r("QualifiedTypeIdentifier"),Rzr=r(T7),jzr=r(mt),Gzr=r("GenericTypeAnnotation"),Mzr=r("indexType"),Bzr=r("objectType"),qzr=r("IndexedAccessType"),Uzr=r(Bu),Hzr=r("OptionalIndexedAccessType"),Xzr=r(Z6),Yzr=r("UnionTypeAnnotation"),Vzr=r(Z6),zzr=r("IntersectionTypeAnnotation"),Kzr=r(v7),Wzr=r("TypeofTypeAnnotation"),Jzr=r(mt),$zr=r(fY),Zzr=r("QualifiedTypeofIdentifier"),Qzr=r(Z6),rKr=r("TupleTypeAnnotation"),eKr=r(o7),nKr=r(Bn),tKr=r("StringLiteralTypeAnnotation"),uKr=r(o7),iKr=r(Bn),fKr=r("NumberLiteralTypeAnnotation"),xKr=r(o7),aKr=r(Bn),oKr=r("BigIntLiteralTypeAnnotation"),cKr=r(Gi),sKr=r(Ci),vKr=r(o7),lKr=r(Bn),bKr=r("BooleanLiteralTypeAnnotation"),pKr=r("ExistsTypeAnnotation"),mKr=r(N7),_Kr=r("TypeAnnotation"),yKr=r(Dt),dKr=r("TypeParameterDeclaration"),hKr=r(mi),kKr=r(ou),wKr=r(MU),EKr=r(ti),SKr=r("TypeParameter"),gKr=r(Dt),FKr=r(AH),TKr=r(Dt),OKr=r(AH),IKr=r(bv),AKr=r(ze),NKr=r("closingElement"),CKr=r("openingElement"),PKr=r("JSXElement"),DKr=r("closingFragment"),LKr=r(ze),RKr=r("openingFragment"),jKr=r("JSXFragment"),GKr=r("selfClosing"),MKr=r(kY),BKr=r(ti),qKr=r("JSXOpeningElement"),UKr=r("JSXOpeningFragment"),HKr=r(ti),XKr=r("JSXClosingElement"),YKr=r("JSXClosingFragment"),VKr=r(Bn),zKr=r(ti),KKr=r("JSXAttribute"),WKr=r(v7),JKr=r("JSXSpreadAttribute"),$Kr=r("JSXEmptyExpression"),ZKr=r(Au),QKr=r("JSXExpressionContainer"),rWr=r(Au),eWr=r("JSXSpreadChild"),nWr=r(o7),tWr=r(Bn),uWr=r("JSXText"),iWr=r(Iv),fWr=r(ck),xWr=r("JSXMemberExpression"),aWr=r(ti),oWr=r("namespace"),cWr=r("JSXNamespacedName"),sWr=r(ti),vWr=r("JSXIdentifier"),lWr=r(A4),bWr=r(B2),pWr=r("ExportSpecifier"),mWr=r(B2),_Wr=r("ImportDefaultSpecifier"),yWr=r(B2),dWr=r("ImportNamespaceSpecifier"),hWr=r(pX),kWr=r(B2),wWr=r("imported"),EWr=r("ImportSpecifier"),SWr=r("Line"),gWr=r("Block"),FWr=r(Bn),TWr=r(Bn),OWr=r("DeclaredPredicate"),IWr=r("InferredPredicate"),AWr=r(C2),NWr=r(CX),CWr=r(UH),PWr=r(pv),DWr=r(Iv),LWr=r(ck),RWr=r("message"),jWr=r(wE),GWr=r(KH),MWr=r(S7),BWr=r(vc),qWr=r(I2),UWr=r(V4),HWr=[0,[3,0,0],r(zt)],XWr=r(M2),YWr=r(N3),VWr=r(R2),zWr=r(j2),KWr=r(Wu),WWr=r(P7),JWr=r(f1),$Wr=r(g7),ZWr=r(k4),QWr=r(U2),rJr=r(W6),eJr=r(P8),nJr=r(D2),tJr=r(G2),uJr=r(xs),iJr=r(Ci),fJr=r(Gi),xJr=r(I7),aJr=r(k6),oJr=r(o6),cJr=r(A7),sJr=r(mi),vJr=r(y4),lJr=r(U8),bJr=r(tp),pJr=r(q2),mJr=r(C7),_Jr=r(nu),yJr=r(H4),dJr=r(i1),hJr=r(J2),kJr=r(es),wJr=r(ns),EJr=r(p8),SJr=r(y3),gJr=r(qu),FJr=r(yv),TJr=r(gs),OJr=r(r7),IJr=r(d4),AJr=r(w4),NJr=r(c6),CJr=r(S6),PJr=r(wu),DJr=r(O7),LJr=r(T2),RJr=r($c),jJr=r(ud),GJr=r(LS),MJr=r(Os),BJr=r(wx),qJr=r(t6),UJr=r(X8),HJr=r(s7),XJr=r(hv),YJr=r(a1),VJr=r(Tv),zJr=r(ns),KJr=r(W4),WJr=r(O2),JJr=r(I6),$Jr=[0,r(F3)],ZJr=r(C),QJr=[7,0],r$r=r(C),e$r=[0,1],n$r=[0,2],t$r=[0,3],u$r=[0,0],i$r=[0,0],f$r=[0,0,0,0,0],x$r=[0,r(vv),906,6],a$r=[0,r(vv),tY,6],o$r=[0,0],c$r=[0,r(vv),1012,8],s$r=r(Y3),v$r=[0,r(vv),1029,8],l$r=r("Can not have both `static` and `proto`"),b$r=r(nu),p$r=r(Y3),m$r=r(t1),_$r=r(lv),y$r=r(t1),d$r=r(wv),h$r=r(lH),k$r=[0,0,0,0],w$r=[0,[0,0,0,0,0]],E$r=r(f1),S$r=[0,r("a type")],g$r=[0,0],F$r=[0,0],T$r=[14,1],O$r=[14,0],I$r=[0,r(vv),OH,15],A$r=[0,r(vv),D7,15],N$r=[0,44],C$r=[0,44],P$r=r(M2),D$r=[0,r(C),0],L$r=[0,0,0],R$r=[0,0,0],j$r=[0,0,0],G$r=[0,41],M$r=r(Zu),B$r=r(Zu),q$r=[0,r("a regular expression")],U$r=r(C),H$r=r(C),X$r=r(C),Y$r=[0,r("src/parser/expression_parser.ml"),jU,17],V$r=[0,r("a template literal part")],z$r=[0,[0,r(C),r(C)],1],K$r=r(xs),W$r=r(xs),J$r=r(Gi),$$r=r(Ci),Z$r=r("Invalid bigint "),Q$r=r("Invalid bigint binary/octal "),rZr=r(H2),eZr=r(hH),nZr=r(Dd),tZr=r(Dd),uZr=r(lU),iZr=[0,44],fZr=[0,1],xZr=[0,1],aZr=[0,1],oZr=[0,1],cZr=[0,0],sZr=r(bv),vZr=r(bv),lZr=r(i1),bZr=r(OS),pZr=[0,r("the identifier `target`")],mZr=[0,0],_Zr=r(qu),yZr=r(el),dZr=r(el),hZr=r(yv),kZr=[0,0],wZr=[0,r("either a call or access of `super`")],EZr=r(yv),SZr=[0,0],gZr=[0,1],FZr=[0,0],TZr=[0,1],OZr=[0,0],IZr=[0,1],AZr=[0,0],NZr=[0,2],CZr=[0,3],PZr=[0,7],DZr=[0,6],LZr=[0,4],RZr=[0,5],jZr=[0,[0,17,[0,2]]],GZr=[0,[0,18,[0,3]]],MZr=[0,[0,19,[0,4]]],BZr=[0,[0,0,[0,5]]],qZr=[0,[0,1,[0,5]]],UZr=[0,[0,2,[0,5]]],HZr=[0,[0,3,[0,5]]],XZr=[0,[0,5,[0,6]]],YZr=[0,[0,7,[0,6]]],VZr=[0,[0,4,[0,6]]],zZr=[0,[0,6,[0,6]]],KZr=[0,[0,8,[0,7]]],WZr=[0,[0,9,[0,7]]],JZr=[0,[0,10,[0,7]]],$Zr=[0,[0,11,[0,8]]],ZZr=[0,[0,12,[0,8]]],QZr=[0,[0,15,[0,9]]],rQr=[0,[0,13,[0,9]]],eQr=[0,[0,14,[1,10]]],nQr=[0,[0,16,[0,9]]],tQr=[0,[0,21,[0,6]]],uQr=[0,[0,20,[0,6]]],iQr=[23,r(En)],fQr=[0,[0,8]],xQr=[0,[0,7]],aQr=[0,[0,6]],oQr=[0,[0,10]],cQr=[0,[0,9]],sQr=[0,[0,11]],vQr=[0,[0,5]],lQr=[0,[0,4]],bQr=[0,[0,2]],pQr=[0,[0,3]],mQr=[0,[0,1]],_Qr=[0,[0,0]],yQr=[0,[0,12]],dQr=[0,[0,13]],hQr=[0,[0,14]],kQr=[0,0],wQr=r(qu),EQr=r(i1),SQr=r(OS),gQr=r(el),FQr=r(Os),TQr=r(qu),OQr=r(i1),IQr=r(OS),AQr=r(el),NQr=r(o1),CQr=r(Ra),PQr=[17,r("JSX fragment")],DQr=[0,Ni],LQr=[1,Ni],RQr=r(C),jQr=[0,r(C)],GQr=[0,r(F3)],MQr=r(C),BQr=[0,0,0,0],qQr=[0,r("src/hack_forked/utils/collections/flow_map.ml"),717,36],UQr=[0,0,0],HQr=r(q2),XQr=[0,r(C),0],YQr=r("unexpected PrivateName in Property, expected a PrivateField"),VQr=r(wv),zQr=r(lH),KQr=[0,0,0],WQr=r(wv),JQr=r(wv),$Qr=r(t1),ZQr=r(lv),QQr=[0,1],r0e=[0,1],e0e=[0,1],n0e=r(wv),t0e=r(t1),u0e=r(lv),i0e=r(zO),f0e=r(wu),x0e=r(wx),a0e=r("Internal Error: private name found in object props"),o0e=r(pV),c0e=[0,r(F3)],s0e=r(wu),v0e=r(wx),l0e=r(wu),b0e=r(wx),p0e=r(pV),m0e=[10,r(_i)],_0e=[0,1],y0e=r(c1),d0e=r(K2),h0e=[0,r(GS),1763,21],k0e=r(K2),w0e=r(c1),E0e=[0,r("a declaration, statement or export specifiers")],S0e=[0,40],g0e=r(c1),F0e=r(K2),T0e=[0,r(C),r(C),0],O0e=[0,r(OU)],I0e=r(hU),A0e=r("exports"),N0e=[0,1],C0e=[0,1],P0e=[0,0],D0e=r(hU),L0e=[0,40],R0e=r(Vy),j0e=[0,0],G0e=[0,1],M0e=[0,83],B0e=[0,0],q0e=[0,1],U0e=r(c1),H0e=r(c1),X0e=r(K2),Y0e=r(c1),V0e=[0,r("the keyword `as`")],z0e=r(c1),K0e=r(K2),W0e=[0,r(OU)],J0e=[0,r("the keyword `from`")],$0e=[0,r(C),r(C),0],Z0e=[0,r(aU)],Q0e=r("Label"),rre=[0,r(aU)],ere=[0,0,0],nre=[0,29],tre=[0,r(GS),431,22],ure=[0,28],ire=[0,r(GS),450,22],fre=[0,0],xre=r("the token `;`"),are=[0,0],ore=[0,0],cre=r(wx),sre=r(G2),vre=r(wu),lre=[0,r(KU)],bre=[15,[0,0]],pre=[0,r(KU)],mre=r("use strict"),_re=[0,0,0,0],yre=r(UI),dre=r("Nooo: "),hre=r(mi),kre=r("Parser error: No such thing as an expression pattern!"),wre=r(C),Ere=[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]],Sre=[0,r("src/parser/parser_flow.ml"),DT,28],gre=[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]],Fre=r(Bn),Tre=r(QY),Ore=r(I2),Ire=r(V4),Are=r(KH),Nre=r(I2),Cre=r(V4),Pre=r(S7),Dre=r(wE),Lre=r("normal"),Rre=r($c),jre=r("jsxTag"),Gre=r("jsxChild"),Mre=r("template"),Bre=r(XH),qre=r("context"),Ure=r($c),Hre=r("use_strict"),Xre=r(Z6),Yre=r("esproposal_export_star_as"),Vre=r("esproposal_decorators"),zre=r("enums"),Kre=r("Internal error: ");function Bt(t){if(typeof t=="number")return 0;switch(t[0]){case 0:return[0,Bt(t[1])];case 1:return[1,Bt(t[1])];case 2:return[2,Bt(t[1])];case 3:return[3,Bt(t[1])];case 4:return[4,Bt(t[1])];case 5:return[5,Bt(t[1])];case 6:return[6,Bt(t[1])];case 7:return[7,Bt(t[1])];case 8:var n=t[1];return[8,n,Bt(t[2])];case 9:var e=t[1];return[9,e,e,Bt(t[3])];case 10:return[10,Bt(t[1])];case 11:return[11,Bt(t[1])];case 12:return[12,Bt(t[1])];case 13:return[13,Bt(t[1])];default:return[14,Bt(t[1])]}}function t7(t,n){if(typeof t=="number")return n;switch(t[0]){case 0:return[0,t7(t[1],n)];case 1:return[1,t7(t[1],n)];case 2:return[2,t7(t[1],n)];case 3:return[3,t7(t[1],n)];case 4:return[4,t7(t[1],n)];case 5:return[5,t7(t[1],n)];case 6:return[6,t7(t[1],n)];case 7:return[7,t7(t[1],n)];case 8:var e=t[1];return[8,e,t7(t[2],n)];case 9:var i=t[2],x=t[1];return[9,x,i,t7(t[3],n)];case 10:return[10,t7(t[1],n)];case 11:return[11,t7(t[1],n)];case 12:return[12,t7(t[1],n)];case 13:return[13,t7(t[1],n)];default:return[14,t7(t[1],n)]}}function Nt(t,n){if(typeof t=="number")return n;switch(t[0]){case 0:return[0,Nt(t[1],n)];case 1:return[1,Nt(t[1],n)];case 2:var e=t[1];return[2,e,Nt(t[2],n)];case 3:var i=t[1];return[3,i,Nt(t[2],n)];case 4:var x=t[3],c=t[2],s=t[1];return[4,s,c,x,Nt(t[4],n)];case 5:var p=t[3],y=t[2],T=t[1];return[5,T,y,p,Nt(t[4],n)];case 6:var E=t[3],h=t[2],w=t[1];return[6,w,h,E,Nt(t[4],n)];case 7:var G=t[3],A=t[2],S=t[1];return[7,S,A,G,Nt(t[4],n)];case 8:var M=t[3],K=t[2],V=t[1];return[8,V,K,M,Nt(t[4],n)];case 9:var f0=t[1];return[9,f0,Nt(t[2],n)];case 10:return[10,Nt(t[1],n)];case 11:var m0=t[1];return[11,m0,Nt(t[2],n)];case 12:var k0=t[1];return[12,k0,Nt(t[2],n)];case 13:var g0=t[2],e0=t[1];return[13,e0,g0,Nt(t[3],n)];case 14:var x0=t[2],l=t[1];return[14,l,x0,Nt(t[3],n)];case 15:return[15,Nt(t[1],n)];case 16:return[16,Nt(t[1],n)];case 17:var c0=t[1];return[17,c0,Nt(t[2],n)];case 18:var t0=t[1];return[18,t0,Nt(t[2],n)];case 19:return[19,Nt(t[1],n)];case 20:var a0=t[2],w0=t[1];return[20,w0,a0,Nt(t[3],n)];case 21:var _0=t[1];return[21,_0,Nt(t[2],n)];case 22:return[22,Nt(t[1],n)];case 23:var E0=t[1];return[23,E0,Nt(t[2],n)];default:var X0=t[2],b=t[1];return[24,b,X0,Nt(t[3],n)]}}function iN(t,n,e){return t[1]===n?(t[1]=e,1):0}function ke(t){throw[0,B7,t]}function Cu(t){throw[0,eN,t]}G7(0);function Fp(t){return 0<=t?t:-t|0}var Wre=kH;function Te(t,n){var e=nn(t),i=nn(n),x=Lt(e+i|0);return As(t,0,x,0,e),As(n,0,x,e,i),x}function Jre(t){return t?yi0:di0}function un(t,n){if(t){var e=t[1];return[0,e,un(t[2],n)]}return n}$70(0);var $re=ZV(1),Lc=ZV(2);function Zre(t){function n(e){for(var i=e;;){if(i){var x=i[2],c=i[1];try{m1(c)}catch(y){if(y=gt(y),y[1]!==nz)throw y;var s=y}var i=x;continue}return 0}}return n(Z70(0))}function vl(t,n){return JA(t,n,0,nn(n))}function cz(t){return vl(Lc,t),QV(Lc,10),m1(Lc)}var fN=[0,Zre];function sz(t){for(;;){var n=fN[1],e=[0,1],i=1-iN(fN,n,function(x,c){return function(s){return iN(x,1,0)&&u(t,0),u(c,0)}}(e,n));if(!i)return i}}function xN(t){return u(fN[1],0)}ZA(r(mV),xN),fi0(0)&&sz(function(t){return g70(t)});function vz(t){return 25<(t+V3|0)>>>0?t:t+SU|0}var lz=ai0(0)[1],ll=(4*ii0(0)|0)-1|0;G7(0);var Qre=ui0(0);function Rc(t){for(var n=0,e=t;;){if(e){var n=n+1|0,e=e[2];continue}return n}}function bl(t){return t?t[1]:ke(Oi0)}function bz(t){return t?t[2]:ke(Ti0)}function jc(t,n){for(var e=t,i=n;;){if(e){var x=[0,e[1],i],e=e[2],i=x;continue}return i}}function de(t){return jc(t,0)}function pl(t){if(t){var n=t[1];return un(n,pl(t[2]))}return 0}function k1(t,n){if(n){var e=n[2],i=u(t,n[1]);return[0,i,k1(t,e)]}return 0}function Tp(t,n){for(var e=0,i=n;;){if(i){var x=i[2],e=[0,u(t,i[1]),e],i=x;continue}return e}}function Pu(t,n){for(var e=n;;){if(e){var i=e[2];u(t,e[1]);var e=i;continue}return 0}}function le(t,n,e){for(var i=n,x=e;;){if(x){var c=x[2],i=a(t,i,x[1]),x=c;continue}return i}}function aN(t,n,e){if(n){var i=n[1];return a(t,i,aN(t,n[2],e))}return e}function pz(t,n,e){for(var i=n,x=e;;){if(i){if(x){var c=x[2],s=i[2];a(t,i[1],x[1]);var i=s,x=c;continue}}else if(!x)return 0;return Cu(Fi0)}}function oN(t,n){for(var e=n;;){if(e){var i=e[2],x=BV(e[1],t)===0?1:0;if(x)return x;var e=i;continue}return 0}}function ree(t,n){for(var e=n;;){if(e){var i=e[1],x=e[2],c=i[2];if(BV(i[1],t)===0)return c;var e=x;continue}throw Jt}}function ml(t){var n=0;return function(e){for(var i=n,x=e;;){if(x){var c=x[2],s=x[1];if(u(t,s)){var i=[0,s,i],x=c;continue}var x=c;continue}return de(i)}}}function w1(t,n){var e=Lt(t);return S70(e,0,t,n),e}function mz(t){var n=l7(t),e=Lt(n);return Is(t,0,e,0,n),e}function _z(t,n,e){if(0<=n&&0<=e&&!((l7(t)-e|0)>>0||(c=1):65<=x&&(c=1);else{var s=0;if(x!==32)if(43<=x)switch(x+cy|0){case 5:if(i<(e+2|0)&&1>>0?33<(x+TS|0)>>>0&&(c=1):x===2&&(c=1),!c){var n=n+1|0;continue}var s=t,p=[0,0],y=l7(s)-1|0,T=0;if(!(y<0))for(var E=T;;){var h=Hu(s,E),w=0;if(32<=h){var G=h-34|0,A=0;if(58>>0?93<=G&&(A=1):56<(G-1|0)>>>0&&(w=1,A=1),!A){var S=1;w=2}}else 11<=h?h===13&&(w=1):8<=h&&(w=1);switch(w){case 0:var S=4;break;case 1:var S=2;break}p[1]=p[1]+S|0;var M=E+1|0;if(y!==E){var E=M;continue}break}if(p[1]===l7(s))var K=mz(s);else{var V=Lt(p[1]);p[1]=0;var f0=l7(s)-1|0,m0=0;if(!(f0<0))for(var k0=m0;;){var g0=Hu(s,k0),e0=0;if(35<=g0)g0===92?e0=2:Kn<=g0?e0=1:e0=3;else if(32<=g0)34<=g0?e0=2:e0=3;else if(14<=g0)e0=1;else switch(g0){case 8:$n(V,p[1],92),p[1]++,$n(V,p[1],98);break;case 9:$n(V,p[1],92),p[1]++,$n(V,p[1],x1);break;case 10:$n(V,p[1],92),p[1]++,$n(V,p[1],Yt);break;case 13:$n(V,p[1],92),p[1]++,$n(V,p[1],u1);break;default:e0=1}switch(e0){case 1:$n(V,p[1],92),p[1]++,$n(V,p[1],48+(g0/ni|0)|0),p[1]++,$n(V,p[1],48+((g0/10|0)%10|0)|0),p[1]++,$n(V,p[1],48+(g0%10|0)|0);break;case 2:$n(V,p[1],92),p[1]++,$n(V,p[1],g0);break;case 3:$n(V,p[1],g0);break}p[1]++;var x0=k0+1|0;if(f0!==k0){var k0=x0;continue}break}var K=V}var i=K}var l=nn(i),c0=w1(l+2|0,34);return As(i,0,c0,1,l),c0}}function Tz(t,n){var e=Fp(n),i=iz?iz[1]:70;switch(t[2]){case 0:var x=Ri;break;case 1:var x=L7;break;case 2:var x=69;break;case 3:var x=c7;break;case 4:var x=71;break;case 5:var x=i;break;case 6:var x=D7;break;case 7:var x=72;break;default:var x=70}var c=Ez(16);switch(Xv(c,37),t[1]){case 0:break;case 1:Xv(c,43);break;default:Xv(c,32)}return 8<=t[2]&&Xv(c,35),Xv(c,46),Du(c,r(C+e)),Xv(c,x),gz(c)}function Np(t,n){if(13<=t){var e=[0,0],i=nn(n)-1|0,x=0;if(!(i<0))for(var c=x;;){9<(Vr(n,c)+Wt|0)>>>0||e[1]++;var s=c+1|0;if(i!==c){var c=s;continue}break}var p=e[1],y=Lt(nn(n)+((p-1|0)/3|0)|0),T=[0,0],E=function(K){return p1(y,T[1],K),T[1]++,0},h=[0,((p-1|0)%3|0)+1|0],w=nn(n)-1|0,G=0;if(!(w<0))for(var A=G;;){var S=Vr(n,A);9<(S+Wt|0)>>>0||(h[1]===0&&(E(95),h[1]=3),h[1]+=-1),E(S);var M=A+1|0;if(w!==A){var A=M;continue}break}return y}return n}function fee(t,n){switch(t){case 1:var e=jx0;break;case 2:var e=Gx0;break;case 4:var e=Mx0;break;case 5:var e=Bx0;break;case 6:var e=qx0;break;case 7:var e=Ux0;break;case 8:var e=Hx0;break;case 9:var e=Xx0;break;case 10:var e=Yx0;break;case 11:var e=Vx0;break;case 0:case 13:var e=zx0;break;case 3:case 14:var e=Kx0;break;default:var e=Wx0}return Np(t,hp(e,n))}function xee(t,n){switch(t){case 1:var e=sx0;break;case 2:var e=vx0;break;case 4:var e=lx0;break;case 5:var e=bx0;break;case 6:var e=px0;break;case 7:var e=mx0;break;case 8:var e=_x0;break;case 9:var e=yx0;break;case 10:var e=dx0;break;case 11:var e=hx0;break;case 0:case 13:var e=kx0;break;case 3:case 14:var e=wx0;break;default:var e=Ex0}return Np(t,hp(e,n))}function aee(t,n){switch(t){case 1:var e=Zf0;break;case 2:var e=Qf0;break;case 4:var e=rx0;break;case 5:var e=ex0;break;case 6:var e=nx0;break;case 7:var e=tx0;break;case 8:var e=ux0;break;case 9:var e=ix0;break;case 10:var e=fx0;break;case 11:var e=xx0;break;case 0:case 13:var e=ax0;break;case 3:case 14:var e=ox0;break;default:var e=cx0}return Np(t,hp(e,n))}function oee(t,n){switch(t){case 1:var e=Sx0;break;case 2:var e=gx0;break;case 4:var e=Fx0;break;case 5:var e=Tx0;break;case 6:var e=Ox0;break;case 7:var e=Ix0;break;case 8:var e=Ax0;break;case 9:var e=Nx0;break;case 10:var e=Cx0;break;case 11:var e=Px0;break;case 0:case 13:var e=Dx0;break;case 3:case 14:var e=Lx0;break;default:var e=Rx0}return Np(t,C70(e,n))}function vs(t,n,e){function i(m0){switch(t[1]){case 0:var k0=45;break;case 1:var k0=43;break;default:var k0=32}return O70(e,n,k0)}function x(m0){var k0=c70(e);return k0===3?e<0?Wf0:Jf0:4<=k0?Kf0:m0}switch(t[2]){case 5:for(var c=zA(Tz(t,n),e),s=0,p=nn(c);;){if(s===p)var y=0;else{var T=At(c,s)+l1|0,E=0;if(23>>0?T===55&&(E=1):21<(T-1|0)>>>0&&(E=1),!E){var s=s+1|0;continue}var y=1}var h=y?c:Te(c,$f0);return x(h)}case 6:return i(0);case 7:var w=i(0),G=l7(w);if(G===0)var A=w;else{var S=Lt(G),M=G-1|0,K=0;if(!(M<0))for(var V=K;;){$n(S,V,vz(Hu(w,V)));var f0=V+1|0;if(M!==V){var V=f0;continue}break}var A=S}return A;case 8:return x(i(0));default:return zA(Tz(t,n),e)}}function kl(t,n,e,i){for(var x=n,c=e,s=i;;){if(typeof s=="number")return u(x,c);switch(s[0]){case 0:var p=s[1];return function(or){return Yn(x,[5,c,or],p)};case 1:var y=s[1];return function(or){var _r=0;if(40<=or)if(or===92)var Ir=hi0;else Kn<=or?_r=1:_r=2;else if(32<=or)if(39<=or)var Ir=ki0;else _r=2;else if(14<=or)_r=1;else switch(or){case 8:var Ir=wi0;break;case 9:var Ir=Ei0;break;case 10:var Ir=Si0;break;case 13:var Ir=gi0;break;default:_r=1}switch(_r){case 1:var fe=Lt(4);$n(fe,0,92),$n(fe,1,48+(or/ni|0)|0),$n(fe,2,48+((or/10|0)%10|0)|0),$n(fe,3,48+(or%10|0)|0);var Ir=fe;break;case 2:var v0=Lt(1);$n(v0,0,or);var Ir=v0;break}var P=nn(Ir),L=w1(P+2|0,39);return As(Ir,0,L,1,P),Yn(x,[4,c,L],y)};case 2:var T=s[2],E=s[1];return dN(x,c,T,E,function(or){return or});case 3:return dN(x,c,s[2],s[1],iee);case 4:return Cp(x,c,s[4],s[2],s[3],fee,s[1]);case 5:return Cp(x,c,s[4],s[2],s[3],xee,s[1]);case 6:return Cp(x,c,s[4],s[2],s[3],aee,s[1]);case 7:return Cp(x,c,s[4],s[2],s[3],oee,s[1]);case 8:var h=s[4],w=s[3],G=s[2],A=s[1];if(typeof G=="number"){if(typeof w=="number")return w?function(or,_r){return Yn(x,[4,c,vs(A,or,_r)],h)}:function(or){return Yn(x,[4,c,vs(A,pN(A),or)],h)};var S=w[1];return function(or){return Yn(x,[4,c,vs(A,S,or)],h)}}else{if(G[0]===0){var M=G[2],K=G[1];if(typeof w=="number")return w?function(or,_r){return Yn(x,[4,c,U7(K,M,vs(A,or,_r))],h)}:function(or){return Yn(x,[4,c,U7(K,M,vs(A,pN(A),or))],h)};var V=w[1];return function(or){return Yn(x,[4,c,U7(K,M,vs(A,V,or))],h)}}var f0=G[1];if(typeof w=="number")return w?function(or,_r,Ir){return Yn(x,[4,c,U7(f0,or,vs(A,_r,Ir))],h)}:function(or,_r){return Yn(x,[4,c,U7(f0,or,vs(A,pN(A),_r))],h)};var m0=w[1];return function(or,_r){return Yn(x,[4,c,U7(f0,or,vs(A,m0,_r))],h)}}case 9:return dN(x,c,s[2],s[1],Jre);case 10:var c=[7,c],s=s[1];continue;case 11:var c=[2,c,s[1]],s=s[2];continue;case 12:var c=[3,c,s[1]],s=s[2];continue;case 13:var k0=s[3],g0=s[2],e0=Ez(16);mN(e0,g0);var x0=gz(e0);return function(or){return Yn(x,[4,c,x0],k0)};case 14:var l=s[3],c0=s[2];return function(or){var _r=or[1],Ir=_t(_r,Bt(uu(c0)));if(typeof Ir[2]=="number")return Yn(x,c,Nt(Ir[1],l));throw Tu};case 15:var t0=s[1];return function(or,_r){return Yn(x,[6,c,function(Ir){return a(or,Ir,_r)}],t0)};case 16:var a0=s[1];return function(or){return Yn(x,[6,c,or],a0)};case 17:var c=[0,c,s[1]],s=s[2];continue;case 18:var w0=s[1];if(w0[0]===0){var _0=s[2],E0=w0[1][1],X0=0,x=function(fe,v0,P){return function(L){return Yn(v0,[1,fe,[0,L]],P)}}(c,x,_0),c=X0,s=E0;continue}var b=s[2],j0=w0[1][1],X=0,x=function(or,_r,Ir){return function(fe){return Yn(_r,[1,or,[1,fe]],Ir)}}(c,x,b),c=X,s=j0;continue;case 19:throw[0,Sn,If0];case 20:var s0=s[3],dr=[8,c,Af0];return function(or){return Yn(x,dr,s0)};case 21:var Ar=s[2];return function(or){return Yn(x,[4,c,hp(Of0,or)],Ar)};case 22:var ar=s[1];return function(or){return Yn(x,[5,c,or],ar)};case 23:var W0=s[2],Lr=s[1];if(typeof Lr=="number")switch(Lr){case 0:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 1:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 2:throw[0,Sn,Nf0];default:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0])}else switch(Lr[0]){case 0:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 1:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 2:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 3:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 4:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 5:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 6:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 7:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 8:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 9:var Tr=Lr[2];return t<50?_N(t+1|0,x,c,Tr,W0):Fu(_N,[0,x,c,Tr,W0]);case 10:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);default:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0])}default:var Hr=s[3],Or=s[1],xr=u(s[2],0);return t<50?yN(t+1|0,x,c,Hr,Or,xr):Fu(yN,[0,x,c,Hr,Or,xr])}}}function _N(t,n,e,i,x){if(typeof i=="number")return t<50?ct(t+1|0,n,e,x):Fu(ct,[0,n,e,x]);switch(i[0]){case 0:var c=i[1];return function(m0){return ii(n,e,c,x)};case 1:var s=i[1];return function(m0){return ii(n,e,s,x)};case 2:var p=i[1];return function(m0){return ii(n,e,p,x)};case 3:var y=i[1];return function(m0){return ii(n,e,y,x)};case 4:var T=i[1];return function(m0){return ii(n,e,T,x)};case 5:var E=i[1];return function(m0){return ii(n,e,E,x)};case 6:var h=i[1];return function(m0){return ii(n,e,h,x)};case 7:var w=i[1];return function(m0){return ii(n,e,w,x)};case 8:var G=i[2];return function(m0){return ii(n,e,G,x)};case 9:var A=i[3],S=i[2],M=lu(uu(i[1]),S);return function(m0){return ii(n,e,t7(M,A),x)};case 10:var K=i[1];return function(m0,k0){return ii(n,e,K,x)};case 11:var V=i[1];return function(m0){return ii(n,e,V,x)};case 12:var f0=i[1];return function(m0){return ii(n,e,f0,x)};case 13:throw[0,Sn,Cf0];default:throw[0,Sn,Pf0]}}function ct(t,n,e,i){var x=[8,e,Df0];return t<50?kl(t+1|0,n,x,i):Fu(kl,[0,n,x,i])}function yN(t,n,e,i,x,c){if(x){var s=x[1];return function(y){return cee(n,e,i,s,u(c,y))}}var p=[4,e,c];return t<50?kl(t+1|0,n,p,i):Fu(kl,[0,n,p,i])}function Yn(t,n,e){return QA(kl(0,t,n,e))}function ii(t,n,e,i){return QA(_N(0,t,n,e,i))}function cee(t,n,e,i,x){return QA(yN(0,t,n,e,i,x))}function dN(t,n,e,i,x){if(typeof i=="number")return function(y){return Yn(t,[4,n,u(x,y)],e)};if(i[0]===0){var c=i[2],s=i[1];return function(y){return Yn(t,[4,n,U7(s,c,u(x,y))],e)}}var p=i[1];return function(y,T){return Yn(t,[4,n,U7(p,y,u(x,T))],e)}}function Cp(t,n,e,i,x,c,s){if(typeof i=="number"){if(typeof x=="number")return x?function(G,A){return Yn(t,[4,n,Yv(G,a(c,s,A))],e)}:function(G){return Yn(t,[4,n,a(c,s,G)],e)};var p=x[1];return function(G){return Yn(t,[4,n,Yv(p,a(c,s,G))],e)}}else{if(i[0]===0){var y=i[2],T=i[1];if(typeof x=="number")return x?function(G,A){return Yn(t,[4,n,U7(T,y,Yv(G,a(c,s,A)))],e)}:function(G){return Yn(t,[4,n,U7(T,y,a(c,s,G))],e)};var E=x[1];return function(G){return Yn(t,[4,n,U7(T,y,Yv(E,a(c,s,G)))],e)}}var h=i[1];if(typeof x=="number")return x?function(G,A,S){return Yn(t,[4,n,U7(h,G,Yv(A,a(c,s,S)))],e)}:function(G,A){return Yn(t,[4,n,U7(h,G,a(c,s,A))],e)};var w=x[1];return function(G,A){return Yn(t,[4,n,U7(h,G,Yv(w,a(c,s,A)))],e)}}}function ls(t,n){for(var e=n;;){if(typeof e=="number")return 0;switch(e[0]){case 0:var i=e[1],x=Fz(e[2]);return ls(t,i),vl(t,x);case 1:var c=e[2],s=e[1];if(c[0]===0){var p=c[1];ls(t,s),vl(t,Lf0);var e=p;continue}var y=c[1];ls(t,s),vl(t,Rf0);var e=y;continue;case 6:var T=e[2];return ls(t,e[1]),u(T,t);case 7:return ls(t,e[1]),m1(t);case 8:var E=e[2];return ls(t,e[1]),Cu(E);case 2:case 4:var h=e[2];return ls(t,e[1]),vl(t,h);default:var w=e[2];return ls(t,e[1]),QV(t,w)}}}function bs(t,n){for(var e=n;;){if(typeof e=="number")return 0;switch(e[0]){case 0:var i=e[1],x=Fz(e[2]);return bs(t,i),_n(t,x);case 1:var c=e[2],s=e[1];if(c[0]===0){var p=c[1];bs(t,s),_n(t,jf0);var e=p;continue}var y=c[1];bs(t,s),_n(t,Gf0);var e=y;continue;case 6:var T=e[2];return bs(t,e[1]),_n(t,u(T,0));case 7:var e=e[1];continue;case 8:var E=e[2];return bs(t,e[1]),Cu(E);case 2:case 4:var h=e[2];return bs(t,e[1]),_n(t,h);default:var w=e[2];return bs(t,e[1]),qi(t,w)}}}function see(t){if(qn(t,Bf0))return qf0;var n=nn(t);function e(S){var M=Mf0[1],K=Zn(C4);return u(Yn(function(V){return bs(K,V),ke(qt(K))},0,M),t)}function i(S){for(var M=S;;){if(M===n)return M;var K=At(t,M);if(K!==9&&K!==32)return M;var M=M+1|0}}function x(S,M){for(var K=M;;){if(K===n||25<(At(t,K)+V3|0)>>>0)return K;var K=K+1|0}}function c(S,M){for(var K=M;;){if(K===n)return K;var V=At(t,K),f0=0;if(48<=V?58<=V||(f0=1):V===45&&(f0=1),f0){var K=K+1|0;continue}return K}}var s=i(0),p=x(s,s),y=p7(t,s,p-s|0),T=i(p),E=c(T,T);if(T===E)var h=0;else try{var w=Bi(p7(t,T,E-T|0)),h=w}catch(S){if(S=gt(S),S[1]!==B7)throw S;var h=e(0)}i(E)!==n&&e(0);var G=0;if(n0(y,Uf0)&&n0(y,Hf0))var A=n0(y,Xf0)?n0(y,Yf0)?n0(y,Vf0)?n0(y,zf0)?e(0):1:2:3:0;else G=1;if(G)var A=4;return[0,h,A]}function hN(t,n){var e=n[1],i=0;return Yn(function(x){return ls(t,x),0},i,e)}function kN(t){return hN(Lc,t)}function et(t){var n=t[1];return Yn(function(e){var i=Zn(64);return bs(i,e),qt(i)},0,n)}var wN=[0,0];function EN(t,n){var e=t[1+n];if(1-(typeof e=="number"?1:0)){if(h1(e)===Y2)return u(et(Na0),e);if(h1(e)===ih)for(var i=zA(mi0,e),x=0,c=nn(i);;){if(c<=x)return Te(i,_i0);var s=At(i,x),p=0;if(48<=s?58<=s||(p=1):s===45&&(p=1),p){var x=x+1|0;continue}return i}return Ca0}return u(et(Aa0),e)}function Oz(t,n){if(t.length-1<=n)return ia0;var e=Oz(t,n+1|0),i=EN(t,n);return a(et(fa0),i,e)}function Pp(t){function n(k0){for(var g0=k0;;){if(g0){var e0=g0[2],x0=g0[1];try{var l=0,c0=u(x0,t);l=1}catch{}if(l&&c0)return[0,c0[1]];var g0=e0;continue}return 0}}var e=n(wN[1]);if(e)return e[1];if(t===rN)return ka0;if(t===uz)return wa0;if(t[1]===tz){var i=t[2],x=i[3],c=i[2],s=i[1];return b7(et(nN),s,c,x,x+5|0,Ea0)}if(t[1]===Sn){var p=t[2],y=p[3],T=p[2],E=p[1];return b7(et(nN),E,T,y,y+6|0,Sa0)}if(t[1]===sl){var h=t[2],w=h[3],G=h[2],A=h[1];return b7(et(nN),A,G,w,w+6|0,ga0)}if(h1(t)===0){var S=t.length-1,M=t[1][1];if(2>>0)var K=Oz(t,2),V=EN(t,1),f0=a(et(Fa0),V,K);else switch(S){case 0:var f0=Ta0;break;case 1:var f0=Oa0;break;default:var m0=EN(t,1),f0=u(et(Ia0),m0)}return Te(M,f0)}return t[1]}function SN(t,n){var e=E70(n),i=e.length-1-1|0,x=0;if(!(i<0))for(var c=x;;){var s=tu(e,c)[1+c],p=function(f0){return function(m0){return m0?f0===0?la0:ba0:f0===0?pa0:ma0}}(c);if(s[0]===0)var y=s[5],T=s[4],E=s[3],h=s[6]?_a0:ya0,w=s[2],G=s[7],A=p(s[1]),M=[0,li0(et(da0),A,G,w,h,E,T,y)];else if(s[1])var M=0;else var S=p(0),M=[0,u(et(ha0),S)];if(M){var K=M[1];u(hN(t,sa0),K)}var V=c+1|0;if(i!==c){var c=V;continue}break}return 0}function Iz(t){for(;;){var n=wN[1],e=1-iN(wN,n,[0,t,n]);if(!e)return e}}var vee=Pa0.slice();function lee(t,n){var e=Pp(t);u(kN(ca0),e),SN(Lc,n);var i=M70(0);if(i<0){var x=Fp(i);cz(tu(vee,x)[1+x])}return m1(Lc)}var bee=[0];ZA(r(BH),function(t,n){try{try{var e=n?bee:HV(0);try{xN(0)}catch{}try{var i=lee(t,e),x=i}catch(y){y=gt(y);var c=Pp(t);u(kN(xa0),c),SN(Lc,e);var s=Pp(y);u(kN(aa0),s),SN(Lc,HV(0));var x=m1(Lc)}var p=x}catch(y){if(y=gt(y),y!==rN)throw y;var p=cz(oa0)}return p}catch{return 0}});var gN=[Et,ro0,G7(0)],Dp=0,Az=-1;function wl(t,n){return t[13]=t[13]+n[3]|0,vN(n,t[28])}var Nz=1000000010;function FN(t,n){return ur(t[17],n,0,nn(n))}function Lp(t){return u(t[19],0)}function Cz(t,n,e){return t[9]=t[9]-n|0,FN(t,e),t[11]=0,0}function Rp(t,n){var e=n0(n,Qa0);return e&&Cz(t,nn(n),n)}function Vv(t,n,e){var i=n[3],x=n[2];Rp(t,n[1]),Lp(t),t[11]=1;var c=(t[6]-e|0)+x|0,s=t[8],p=s<=c?s:c;return t[10]=p,t[9]=t[6]-t[10]|0,u(t[21],t[10]),Rp(t,i)}function Pz(t,n){return Vv(t,Za0,n)}function El(t,n){var e=n[2],i=n[3];return Rp(t,n[1]),t[9]=t[9]-e|0,u(t[20],e),Rp(t,i)}function Dz(t){for(;;){var n=t[28][2],e=n?[0,n[1]]:0;if(e){var i=e[1],x=i[1],c=i[2],s=0<=x?1:0,p=i[3],y=t[13]-t[12]|0,T=s||(t[9]<=y?1:0);if(T){var E=t[28],h=E[2];if(h){if(h[2]){var w=h[2];E[1]=E[1]-1|0,E[2]=w}else sN(E);var G=0<=x?x:Nz;if(typeof c=="number")switch(c){case 0:var A=Hv(t[3]);if(A){var S=A[1][1],M=function(L,Q){if(Q){var i0=Q[1],l0=Q[2];return G70(L,i0)?[0,L,Q]:[0,i0,M(L,l0)]}return[0,L,0]};S[1]=M(t[6]-t[9]|0,S[1])}break;case 1:Uv(t[2]);break;case 2:Uv(t[3]);break;case 3:var K=Hv(t[2]);K?Pz(t,K[1][2]):Lp(t);break;case 4:if(t[10]!==(t[6]-t[9]|0)){var V=t[28],f0=V[2];if(f0){var m0=f0[1];if(f0[2]){var k0=f0[2];V[1]=V[1]-1|0,V[2]=k0;var g0=[0,m0]}else{sN(V);var g0=[0,m0]}}else var g0=0;if(g0){var e0=g0[1],x0=e0[1];t[12]=t[12]-e0[3]|0,t[9]=t[9]+x0|0}}break;default:var l=Uv(t[5]);l&&FN(t,u(t[25],l[1]))}else switch(c[0]){case 0:Cz(t,G,c[1]);break;case 1:var c0=c[2],t0=c[1],a0=c0[1],w0=c0[2],_0=Hv(t[2]);if(_0){var E0=_0[1],X0=E0[2];switch(E0[1]){case 0:El(t,t0);break;case 1:Vv(t,c0,X0);break;case 2:Vv(t,c0,X0);break;case 3:t[9]<(G+nn(a0)|0)?Vv(t,c0,X0):El(t,t0);break;case 4:t[11]||!(t[9]<(G+nn(a0)|0)||((t[6]-X0|0)+w0|0)>>0)&&Pz(t,_r)}else Lp(t)}var fe=t[9]-Wr|0,v0=Rr===1?1:t[9]>>18|0),e(Mt|(n>>>12|0)&63),e(Mt|(n>>>6|0)&63),e(Mt|n&63)):Vd<=n?(e(dv|n>>>12|0),e(Mt|(n>>>6|0)&63),e(Mt|n&63)):Mt<=n?(e(rt|n>>>6|0),e(Mt|n&63)):e(n)}var qN=M0,u7=null,eK=void 0;function Bp(t){return t!==eK?1:0}var Nee=qN.Array,UN=[Et,vo0,G7(0)],Cee=qN.Error;Eee(lo0,[0,UN,{}]);function nK(t){throw t}Iz(function(t){return t[1]===UN?[0,M7(t[2].toString())]:0}),Iz(function(t){return t instanceof Nee?0:[0,M7(t.toString())]});var Dr=bu(l3r,v3r),Ln=bu(p3r,b3r),qp=bu(_3r,m3r),Tl=bu(d3r,y3r),F1=bu(k3r,h3r),HN=bu(E3r,w3r),tK=bu(g3r,S3r),XN=bu(T3r,F3r),zv=bu(I3r,O3r),Up=bu(N3r,A3r),Je=bu(P3r,C3r),Xu=bu(L3r,D3r),qe=bu(j3r,R3r),YN=bu(M3r,G3r),di=bu(q3r,B3r),iu=bu(H3r,U3r),T1=bu(Y3r,X3r),Ps=bu(z3r,V3r),VN=function t(n,e,i,x){return t.fun(n,e,i,x)},uK=function t(n,e,i){return t.fun(n,e,i)},Pee=bu(W3r,K3r);N(VN,function(t,n,e,i){u(f(e),W8r),a(f(e),$8r,J8r);var x=i[1];u(f(e),Z8r);var c=0;le(function(y,T){y&&u(f(e),K8r);function E(h){return u(t,h)}return ur(iu[1],E,e,T),1},c,x),u(f(e),Q8r),u(f(e),r3r),u(f(e),e3r),a(f(e),t3r,n3r);var s=i[2];u(f(e),u3r);var p=0;return le(function(y,T){y&&u(f(e),z8r);function E(h){return u(t,h)}return ur(iu[1],E,e,T),1},p,s),u(f(e),i3r),u(f(e),f3r),u(f(e),x3r),a(f(e),o3r,a3r),a(n,e,i[3]),u(f(e),c3r),u(f(e),s3r)}),N(uK,function(t,n,e){var i=a(VN,t,n);return a(P0(V8r),i,e)}),pu(J3r,Dr,[0,VN,uK]);var zN=function t(n,e,i,x){return t.fun(n,e,i,x)},iK=function t(n,e,i){return t.fun(n,e,i)},Hp=function t(n,e,i){return t.fun(n,e,i)},fK=function t(n,e){return t.fun(n,e)};N(zN,function(t,n,e,i){u(f(e),H8r),a(n,e,i[1]),u(f(e),X8r);var x=i[2];return ur(Hp,function(c){return u(t,c)},e,x),u(f(e),Y8r)}),N(iK,function(t,n,e){var i=a(zN,t,n);return a(P0(U8r),i,e)}),N(Hp,function(t,n,e){u(f(n),I8r),a(f(n),N8r,A8r);var i=e[1];a(f(n),C8r,i),u(f(n),P8r),u(f(n),D8r),a(f(n),R8r,L8r);var x=e[2];if(x){g(n,j8r);var c=x[1],s=function(y,T){return g(y,O8r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,G8r)}else g(n,M8r);return u(f(n),B8r),u(f(n),q8r)}),N(fK,function(t,n){var e=u(Hp,t);return a(P0(T8r),e,n)}),pu($3r,Ln,[0,zN,iK,Hp,fK]);var KN=function t(n,e,i){return t.fun(n,e,i)},xK=function t(n,e){return t.fun(n,e)},Xp=function t(n,e,i){return t.fun(n,e,i)},aK=function t(n,e){return t.fun(n,e)};N(KN,function(t,n,e){u(f(n),S8r),a(t,n,e[1]),u(f(n),g8r);var i=e[2];return ur(Xp,function(x){return u(t,x)},n,i),u(f(n),F8r)}),N(xK,function(t,n){var e=u(KN,t);return a(P0(E8r),e,n)}),N(Xp,function(t,n,e){u(f(n),c8r),a(f(n),v8r,s8r);var i=e[1];a(f(n),l8r,i),u(f(n),b8r),u(f(n),p8r),a(f(n),_8r,m8r);var x=e[2];if(x){g(n,y8r);var c=x[1],s=function(y,T){return g(y,o8r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,d8r)}else g(n,h8r);return u(f(n),k8r),u(f(n),w8r)}),N(aK,function(t,n){var e=u(Xp,t);return a(P0(a8r),e,n)}),pu(Z3r,qp,[0,KN,xK,Xp,aK]);function oK(t,n){u(f(t),J4r),a(f(t),Z4r,$4r);var e=n[1];a(f(t),Q4r,e),u(f(t),r8r),u(f(t),e8r),a(f(t),t8r,n8r);var i=n[2];return a(f(t),u8r,i),u(f(t),i8r),u(f(t),f8r)}var cK=[0,oK,function(t){return a(P0(x8r),oK,t)}],WN=function t(n,e,i){return t.fun(n,e,i)},sK=function t(n,e){return t.fun(n,e)},Yp=function t(n,e){return t.fun(n,e)},vK=function t(n){return t.fun(n)};N(WN,function(t,n,e){u(f(n),P4r),a(f(n),L4r,D4r),a(Yp,n,e[1]),u(f(n),R4r),u(f(n),j4r),a(f(n),M4r,G4r);var i=e[2];a(f(n),B4r,i),u(f(n),q4r),u(f(n),U4r),a(f(n),X4r,H4r);var x=e[3];if(x){g(n,Y4r);var c=x[1],s=function(y,T){return g(y,C4r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,V4r)}else g(n,z4r);return u(f(n),K4r),u(f(n),W4r)}),N(sK,function(t,n){var e=u(WN,t);return a(P0(N4r),e,n)}),N(Yp,function(t,n){if(typeof n=="number")return g(t,m4r);switch(n[0]){case 0:u(f(t),_4r);var e=n[1];return a(f(t),y4r,e),u(f(t),d4r);case 1:u(f(t),h4r);var i=n[1];return a(f(t),k4r,i),u(f(t),w4r);case 2:u(f(t),E4r);var x=n[1];return a(f(t),S4r,x),u(f(t),g4r);case 3:u(f(t),F4r);var c=n[1];return a(f(t),T4r,c),u(f(t),O4r);default:return u(f(t),I4r),a(cK[1],t,n[1]),u(f(t),A4r)}}),N(vK,function(t){return a(P0(p4r),Yp,t)}),pu(Q3r,Tl,[0,cK,WN,sK,Yp,vK]);var JN=function t(n,e,i){return t.fun(n,e,i)},lK=function t(n,e){return t.fun(n,e)};N(JN,function(t,n,e){u(f(n),$br),a(f(n),Qbr,Zbr);var i=e[1];a(f(n),r4r,i),u(f(n),e4r),u(f(n),n4r),a(f(n),u4r,t4r);var x=e[2];a(f(n),i4r,x),u(f(n),f4r),u(f(n),x4r),a(f(n),o4r,a4r);var c=e[3];if(c){g(n,c4r);var s=c[1],p=function(T,E){return g(T,Jbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,s4r)}else g(n,v4r);return u(f(n),l4r),u(f(n),b4r)}),N(lK,function(t,n){var e=u(JN,t);return a(P0(Wbr),e,n)}),pu(r6r,F1,[0,JN,lK]);var $N=function t(n,e,i){return t.fun(n,e,i)},bK=function t(n,e){return t.fun(n,e)};N($N,function(t,n,e){u(f(n),Nbr),a(f(n),Pbr,Cbr);var i=e[1];a(f(n),Dbr,i),u(f(n),Lbr),u(f(n),Rbr),a(f(n),Gbr,jbr);var x=e[2];a(f(n),Mbr,x),u(f(n),Bbr),u(f(n),qbr),a(f(n),Hbr,Ubr);var c=e[3];if(c){g(n,Xbr);var s=c[1],p=function(T,E){return g(T,Abr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,Ybr)}else g(n,Vbr);return u(f(n),zbr),u(f(n),Kbr)}),N(bK,function(t,n){var e=u($N,t);return a(P0(Ibr),e,n)}),pu(e6r,HN,[0,$N,bK]);var ZN=function t(n,e,i){return t.fun(n,e,i)},pK=function t(n,e){return t.fun(n,e)};N(ZN,function(t,n,e){u(f(n),sbr),a(f(n),lbr,vbr);var i=e[1];a(f(n),bbr,i),u(f(n),pbr),u(f(n),mbr),a(f(n),ybr,_br);var x=e[2];a(f(n),dbr,x),u(f(n),hbr),u(f(n),kbr),a(f(n),Ebr,wbr);var c=e[3];if(c){g(n,Sbr);var s=c[1],p=function(T,E){return g(T,cbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,gbr)}else g(n,Fbr);return u(f(n),Tbr),u(f(n),Obr)}),N(pK,function(t,n){var e=u(ZN,t);return a(P0(obr),e,n)}),pu(n6r,tK,[0,ZN,pK]);var QN=function t(n,e,i){return t.fun(n,e,i)},mK=function t(n,e){return t.fun(n,e)};N(QN,function(t,n,e){u(f(n),Jlr),a(f(n),Zlr,$lr);var i=e[1];a(f(n),Qlr,i),u(f(n),rbr),u(f(n),ebr),a(f(n),tbr,nbr);var x=e[2];if(x){g(n,ubr);var c=x[1],s=function(y,T){return g(y,Wlr)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,ibr)}else g(n,fbr);return u(f(n),xbr),u(f(n),abr)}),N(mK,function(t,n){var e=u(QN,t);return a(P0(Klr),e,n)}),pu(t6r,XN,[0,QN,mK]);var rC=function t(n,e,i){return t.fun(n,e,i)},_K=function t(n,e){return t.fun(n,e)},Vp=function t(n,e){return t.fun(n,e)},yK=function t(n){return t.fun(n)},zp=function t(n,e,i){return t.fun(n,e,i)},dK=function t(n,e){return t.fun(n,e)};N(rC,function(t,n,e){u(f(n),Ylr),a(t,n,e[1]),u(f(n),Vlr);var i=e[2];return ur(zp,function(x){return u(t,x)},n,i),u(f(n),zlr)}),N(_K,function(t,n){var e=u(rC,t);return a(P0(Xlr),e,n)}),N(Vp,function(t,n){return n?g(t,Ulr):g(t,Hlr)}),N(yK,function(t){return a(P0(qlr),Vp,t)}),N(zp,function(t,n,e){u(f(n),Ilr),a(f(n),Nlr,Alr),a(Vp,n,e[1]),u(f(n),Clr),u(f(n),Plr),a(f(n),Llr,Dlr);var i=e[2];if(i){g(n,Rlr);var x=i[1],c=function(p,y){return g(p,Olr)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,jlr)}else g(n,Glr);return u(f(n),Mlr),u(f(n),Blr)}),N(dK,function(t,n){var e=u(zp,t);return a(P0(Tlr),e,n)}),pu(u6r,zv,[0,rC,_K,Vp,yK,zp,dK]);var eC=function t(n,e,i,x){return t.fun(n,e,i,x)},hK=function t(n,e,i){return t.fun(n,e,i)},nC=function t(n,e,i,x){return t.fun(n,e,i,x)},kK=function t(n,e,i){return t.fun(n,e,i)};N(eC,function(t,n,e,i){u(f(e),Slr),a(t,e,i[1]),u(f(e),glr);var x=i[2];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(Up[3],s,c,e,x),u(f(e),Flr)}),N(hK,function(t,n,e){var i=a(eC,t,n);return a(P0(Elr),i,e)}),N(nC,function(t,n,e,i){u(f(e),slr),a(f(e),llr,vlr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),blr),u(f(e),plr),a(f(e),_lr,mlr);var p=i[2];if(p){g(e,ylr);var y=p[1],T=function(h,w){return g(h,clr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,dlr)}else g(e,hlr);return u(f(e),klr),u(f(e),wlr)}),N(kK,function(t,n,e){var i=a(nC,t,n);return a(P0(olr),i,e)}),pu(i6r,Up,[0,eC,hK,nC,kK]);var tC=function t(n,e,i,x){return t.fun(n,e,i,x)},wK=function t(n,e,i){return t.fun(n,e,i)},Kp=function t(n,e,i,x){return t.fun(n,e,i,x)},EK=function t(n,e,i){return t.fun(n,e,i)};N(tC,function(t,n,e,i){u(f(e),flr),a(t,e,i[1]),u(f(e),xlr);var x=i[2];function c(s){return u(n,s)}return R(Kp,function(s){return u(t,s)},c,e,x),u(f(e),alr)}),N(wK,function(t,n,e){var i=a(tC,t,n);return a(P0(ilr),i,e)}),N(Kp,function(t,n,e,i){u(f(e),U2r),a(f(e),X2r,H2r);var x=i[1];if(x){g(e,Y2r);var c=x[1],s=function(w){return u(n,w)},p=function(w){return u(t,w)};R(Ln[1],p,s,e,c),g(e,V2r)}else g(e,z2r);u(f(e),K2r),u(f(e),W2r),a(f(e),$2r,J2r);var y=i[2];function T(w){return u(n,w)}function E(w){return u(t,w)}R(Je[13],E,T,e,y),u(f(e),Z2r),u(f(e),Q2r),a(f(e),elr,rlr);var h=i[3];return a(f(e),nlr,h),u(f(e),tlr),u(f(e),ulr)}),N(EK,function(t,n,e){var i=a(Kp,t,n);return a(P0(q2r),i,e)});var uC=[0,tC,wK,Kp,EK],iC=function t(n,e,i,x){return t.fun(n,e,i,x)},SK=function t(n,e,i){return t.fun(n,e,i)},Wp=function t(n,e,i,x){return t.fun(n,e,i,x)},gK=function t(n,e,i){return t.fun(n,e,i)};N(iC,function(t,n,e,i){u(f(e),G2r),a(t,e,i[1]),u(f(e),M2r);var x=i[2];function c(s){return u(n,s)}return R(Wp,function(s){return u(t,s)},c,e,x),u(f(e),B2r)}),N(SK,function(t,n,e){var i=a(iC,t,n);return a(P0(j2r),i,e)}),N(Wp,function(t,n,e,i){u(f(e),g2r),a(f(e),T2r,F2r);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(uC[1],s,c,e,x),u(f(e),O2r),u(f(e),I2r),a(f(e),N2r,A2r);var p=i[2];if(p){g(e,C2r);var y=p[1],T=function(h,w){return g(h,S2r)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,P2r)}else g(e,D2r);return u(f(e),L2r),u(f(e),R2r)}),N(gK,function(t,n,e){var i=a(Wp,t,n);return a(P0(E2r),i,e)});var FK=[0,iC,SK,Wp,gK],fC=function t(n,e,i,x){return t.fun(n,e,i,x)},TK=function t(n,e,i){return t.fun(n,e,i)},Jp=function t(n,e,i,x){return t.fun(n,e,i,x)},OK=function t(n,e,i){return t.fun(n,e,i)};N(fC,function(t,n,e,i){u(f(e),h2r),a(t,e,i[1]),u(f(e),k2r);var x=i[2];function c(s){return u(n,s)}return R(Jp,function(s){return u(t,s)},c,e,x),u(f(e),w2r)}),N(TK,function(t,n,e){var i=a(fC,t,n);return a(P0(d2r),i,e)}),N(Jp,function(t,n,e,i){u(f(e),x2r),a(f(e),o2r,a2r);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),c2r),u(f(e),s2r),a(f(e),l2r,v2r);var p=i[2];if(p){g(e,b2r);var y=p[1],T=function(h,w){return g(h,f2r)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,p2r)}else g(e,m2r);return u(f(e),_2r),u(f(e),y2r)}),N(OK,function(t,n,e){var i=a(Jp,t,n);return a(P0(i2r),i,e)});var IK=[0,fC,TK,Jp,OK],xC=function t(n,e,i,x){return t.fun(n,e,i,x)},AK=function t(n,e,i){return t.fun(n,e,i)},$p=function t(n,e,i,x){return t.fun(n,e,i,x)},NK=function t(n,e,i){return t.fun(n,e,i)};N(xC,function(t,n,e,i){u(f(e),n2r),a(t,e,i[1]),u(f(e),t2r);var x=i[2];function c(s){return u(n,s)}return R($p,function(s){return u(t,s)},c,e,x),u(f(e),u2r)}),N(AK,function(t,n,e){var i=a(xC,t,n);return a(P0(e2r),i,e)}),N($p,function(t,n,e,i){u(f(e),Tvr),a(f(e),Ivr,Ovr);var x=i[1];if(x){g(e,Avr);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(IK[1],p,s,e,c),g(e,Nvr)}else g(e,Cvr);u(f(e),Pvr),u(f(e),Dvr),a(f(e),Rvr,Lvr);var y=i[2];u(f(e),jvr);var T=0;le(function(V,f0){V&&u(f(e),Fvr);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(uC[1],k0,m0,e,f0),1},T,y),u(f(e),Gvr),u(f(e),Mvr),u(f(e),Bvr),a(f(e),Uvr,qvr);var E=i[3];if(E){g(e,Hvr);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(FK[1],G,w,e,h),g(e,Xvr)}else g(e,Yvr);u(f(e),Vvr),u(f(e),zvr),a(f(e),Wvr,Kvr);var A=i[4];if(A){g(e,Jvr);var S=A[1],M=function(V,f0){u(f(V),Svr);var m0=0;return le(function(k0,g0){k0&&u(f(V),Evr);function e0(x0){return u(t,x0)}return ur(iu[1],e0,V,g0),1},m0,f0),u(f(V),gvr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,$vr)}else g(e,Zvr);return u(f(e),Qvr),u(f(e),r2r)}),N(NK,function(t,n,e){var i=a($p,t,n);return a(P0(wvr),i,e)});var CK=[0,xC,AK,$p,NK],aC=function t(n,e,i,x){return t.fun(n,e,i,x)},PK=function t(n,e,i){return t.fun(n,e,i)};N(aC,function(t,n,e,i){u(f(e),Q1r),a(f(e),evr,rvr);var x=i[1];if(x){g(e,nvr);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(Je[22][1],p,s,e,c),g(e,tvr)}else g(e,uvr);u(f(e),ivr),u(f(e),fvr),a(f(e),avr,xvr);var y=i[2];function T(V){return u(n,V)}function E(V){return u(t,V)}R(CK[1],E,T,e,y),u(f(e),ovr),u(f(e),cvr),a(f(e),vvr,svr);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(Je[13],G,w,e,h),u(f(e),lvr),u(f(e),bvr),a(f(e),mvr,pvr);var A=i[4];if(A){g(e,_vr);var S=A[1],M=function(V,f0){return g(V,Z1r)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,yvr)}else g(e,dvr);return u(f(e),hvr),u(f(e),kvr)}),N(PK,function(t,n,e){var i=a(aC,t,n);return a(P0($1r),i,e)});var Ol=[0,uC,FK,IK,CK,aC,PK],Zp=function t(n,e,i,x){return t.fun(n,e,i,x)},DK=function t(n,e,i){return t.fun(n,e,i)},Qp=function t(n,e,i,x){return t.fun(n,e,i,x)},LK=function t(n,e,i){return t.fun(n,e,i)},r5=function t(n,e,i,x){return t.fun(n,e,i,x)},RK=function t(n,e,i){return t.fun(n,e,i)};N(Zp,function(t,n,e,i){if(i[0]===0){u(f(e),z1r);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(Ln[1],s,c,e,x),u(f(e),K1r)}u(f(e),W1r);var p=i[1];function y(T){return u(n,T)}return R(Qp,function(T){return u(t,T)},y,e,p),u(f(e),J1r)}),N(DK,function(t,n,e){var i=a(Zp,t,n);return a(P0(V1r),i,e)}),N(Qp,function(t,n,e,i){u(f(e),H1r),a(t,e,i[1]),u(f(e),X1r);var x=i[2];function c(s){return u(n,s)}return R(r5,function(s){return u(t,s)},c,e,x),u(f(e),Y1r)}),N(LK,function(t,n,e){var i=a(Qp,t,n);return a(P0(U1r),i,e)}),N(r5,function(t,n,e,i){u(f(e),P1r),a(f(e),L1r,D1r);var x=i[1];function c(T){return u(n,T)}R(Zp,function(T){return u(t,T)},c,e,x),u(f(e),R1r),u(f(e),j1r),a(f(e),M1r,G1r);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(Ln[1],y,p,e,s),u(f(e),B1r),u(f(e),q1r)}),N(RK,function(t,n,e){var i=a(r5,t,n);return a(P0(C1r),i,e)});var jK=[0,Zp,DK,Qp,LK,r5,RK],oC=function t(n,e,i,x){return t.fun(n,e,i,x)},GK=function t(n,e,i){return t.fun(n,e,i)};N(oC,function(t,n,e,i){u(f(e),l1r),a(f(e),p1r,b1r);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(jK[1],s,c,e,x),u(f(e),m1r),u(f(e),_1r),a(f(e),d1r,y1r);var p=i[2];if(p){g(e,h1r);var y=p[1],T=function(S){return u(n,S)},E=function(S){return u(t,S)};R(Je[23][1],E,T,e,y),g(e,k1r)}else g(e,w1r);u(f(e),E1r),u(f(e),S1r),a(f(e),F1r,g1r);var h=i[3];if(h){g(e,T1r);var w=h[1],G=function(S,M){return g(S,v1r)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,O1r)}else g(e,I1r);return u(f(e),A1r),u(f(e),N1r)}),N(GK,function(t,n,e){var i=a(oC,t,n);return a(P0(s1r),i,e)});var cC=[0,jK,oC,GK],sC=function t(n,e,i,x){return t.fun(n,e,i,x)},MK=function t(n,e,i){return t.fun(n,e,i)};N(sC,function(t,n,e,i){u(f(e),Wsr),a(f(e),$sr,Jsr);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Je[13],s,c,e,x),u(f(e),Zsr),u(f(e),Qsr),a(f(e),e1r,r1r);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[13],T,y,e,p),u(f(e),n1r),u(f(e),t1r),a(f(e),i1r,u1r);var E=i[3];if(E){g(e,f1r);var h=E[1],w=function(A,S){return g(A,Ksr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,x1r)}else g(e,a1r);return u(f(e),o1r),u(f(e),c1r)}),N(MK,function(t,n,e){var i=a(sC,t,n);return a(P0(zsr),i,e)});var vC=[0,sC,MK],lC=function t(n,e,i,x){return t.fun(n,e,i,x)},BK=function t(n,e,i){return t.fun(n,e,i)};N(lC,function(t,n,e,i){u(f(e),jsr),a(f(e),Msr,Gsr);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(vC[1],s,c,e,x),u(f(e),Bsr),u(f(e),qsr),a(f(e),Hsr,Usr);var p=i[2];return a(f(e),Xsr,p),u(f(e),Ysr),u(f(e),Vsr)}),N(BK,function(t,n,e){var i=a(lC,t,n);return a(P0(Rsr),i,e)});var qK=[0,lC,BK],bC=function t(n,e,i,x){return t.fun(n,e,i,x)},UK=function t(n,e,i){return t.fun(n,e,i)},e5=function t(n,e,i,x){return t.fun(n,e,i,x)},HK=function t(n,e,i){return t.fun(n,e,i)},n5=function t(n,e,i,x){return t.fun(n,e,i,x)},XK=function t(n,e,i){return t.fun(n,e,i)};N(bC,function(t,n,e,i){u(f(e),Psr),a(t,e,i[1]),u(f(e),Dsr);var x=i[2];function c(s){return u(n,s)}return R(e5,function(s){return u(t,s)},c,e,x),u(f(e),Lsr)}),N(UK,function(t,n,e){var i=a(bC,t,n);return a(P0(Csr),i,e)}),N(e5,function(t,n,e,i){u(f(e),Hcr),a(f(e),Ycr,Xcr);var x=i[1];function c(m0){return u(n,m0)}function s(m0){return u(t,m0)}R(qe[7][1][1],s,c,e,x),u(f(e),Vcr),u(f(e),zcr),a(f(e),Wcr,Kcr);var p=i[2];function y(m0){return u(n,m0)}R(n5,function(m0){return u(t,m0)},y,e,p),u(f(e),Jcr),u(f(e),$cr),a(f(e),Qcr,Zcr);var T=i[3];a(f(e),rsr,T),u(f(e),esr),u(f(e),nsr),a(f(e),usr,tsr);var E=i[4];a(f(e),isr,E),u(f(e),fsr),u(f(e),xsr),a(f(e),osr,asr);var h=i[5];a(f(e),csr,h),u(f(e),ssr),u(f(e),vsr),a(f(e),bsr,lsr);var w=i[6];a(f(e),psr,w),u(f(e),msr),u(f(e),_sr),a(f(e),dsr,ysr);var G=i[7];if(G){g(e,hsr);var A=G[1],S=function(m0){return u(t,m0)};ur(zv[1],S,e,A),g(e,ksr)}else g(e,wsr);u(f(e),Esr),u(f(e),Ssr),a(f(e),Fsr,gsr);var M=i[8];if(M){g(e,Tsr);var K=M[1],V=function(m0,k0){return g(m0,Ucr)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,Osr)}else g(e,Isr);return u(f(e),Asr),u(f(e),Nsr)}),N(HK,function(t,n,e){var i=a(e5,t,n);return a(P0(qcr),i,e)}),N(n5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Icr);var x=i[1],c=function(S){return u(n,S)},s=function(S){return u(t,S)};return R(Je[13],s,c,e,x),u(f(e),Acr);case 1:var p=i[1];u(f(e),Ncr),u(f(e),Ccr),a(t,e,p[1]),u(f(e),Pcr);var y=p[2],T=function(S){return u(n,S)},E=function(S){return u(t,S)};return R(Ol[5],E,T,e,y),u(f(e),Dcr),u(f(e),Lcr);default:var h=i[1];u(f(e),Rcr),u(f(e),jcr),a(t,e,h[1]),u(f(e),Gcr);var w=h[2],G=function(S){return u(n,S)},A=function(S){return u(t,S)};return R(Ol[5],A,G,e,w),u(f(e),Mcr),u(f(e),Bcr)}}),N(XK,function(t,n,e){var i=a(n5,t,n);return a(P0(Ocr),i,e)});var YK=[0,bC,UK,e5,HK,n5,XK],pC=function t(n,e,i,x){return t.fun(n,e,i,x)},VK=function t(n,e,i){return t.fun(n,e,i)},t5=function t(n,e,i,x){return t.fun(n,e,i,x)},zK=function t(n,e,i){return t.fun(n,e,i)};N(pC,function(t,n,e,i){u(f(e),gcr),a(t,e,i[1]),u(f(e),Fcr);var x=i[2];function c(s){return u(n,s)}return R(t5,function(s){return u(t,s)},c,e,x),u(f(e),Tcr)}),N(VK,function(t,n,e){var i=a(pC,t,n);return a(P0(Scr),i,e)}),N(t5,function(t,n,e,i){u(f(e),vcr),a(f(e),bcr,lcr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),pcr),u(f(e),mcr),a(f(e),ycr,_cr);var p=i[2];if(p){g(e,dcr);var y=p[1],T=function(h,w){return g(h,scr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,hcr)}else g(e,kcr);return u(f(e),wcr),u(f(e),Ecr)}),N(zK,function(t,n,e){var i=a(t5,t,n);return a(P0(ccr),i,e)});var KK=[0,pC,VK,t5,zK],u5=function t(n,e,i,x){return t.fun(n,e,i,x)},WK=function t(n,e,i){return t.fun(n,e,i)},mC=function t(n,e,i,x){return t.fun(n,e,i,x)},JK=function t(n,e,i){return t.fun(n,e,i)};N(u5,function(t,n,e,i){u(f(e),Ior),a(f(e),Nor,Aor);var x=i[1];if(x){g(e,Cor);var c=x[1],s=function(g0){return u(t,g0)},p=function(g0){return u(t,g0)};R(Ln[1],p,s,e,c),g(e,Por)}else g(e,Dor);u(f(e),Lor),u(f(e),Ror),a(f(e),Gor,jor);var y=i[2];function T(g0){return u(n,g0)}function E(g0){return u(t,g0)}R(Je[13],E,T,e,y),u(f(e),Mor),u(f(e),Bor),a(f(e),Uor,qor);var h=i[3];function w(g0){return u(n,g0)}function G(g0){return u(t,g0)}R(Je[13],G,w,e,h),u(f(e),Hor),u(f(e),Xor),a(f(e),Vor,Yor);var A=i[4];a(f(e),zor,A),u(f(e),Kor),u(f(e),Wor),a(f(e),$or,Jor);var S=i[5];if(S){g(e,Zor);var M=S[1],K=function(g0){return u(t,g0)};ur(zv[1],K,e,M),g(e,Qor)}else g(e,rcr);u(f(e),ecr),u(f(e),ncr),a(f(e),ucr,tcr);var V=i[6];if(V){g(e,icr);var f0=V[1],m0=function(g0,e0){return g(g0,Oor)},k0=function(g0){return u(t,g0)};R(Dr[1],k0,m0,e,f0),g(e,fcr)}else g(e,xcr);return u(f(e),acr),u(f(e),ocr)}),N(WK,function(t,n,e){var i=a(u5,t,n);return a(P0(Tor),i,e)}),N(mC,function(t,n,e,i){u(f(e),Sor),a(t,e,i[1]),u(f(e),gor);var x=i[2];function c(s){return u(n,s)}return R(u5,function(s){return u(t,s)},c,e,x),u(f(e),For)}),N(JK,function(t,n,e){var i=a(mC,t,n);return a(P0(Eor),i,e)});var $K=[0,u5,WK,mC,JK],_C=function t(n,e,i,x){return t.fun(n,e,i,x)},ZK=function t(n,e,i){return t.fun(n,e,i)},i5=function t(n,e,i,x){return t.fun(n,e,i,x)},QK=function t(n,e,i){return t.fun(n,e,i)};N(_C,function(t,n,e,i){u(f(e),hor),a(t,e,i[1]),u(f(e),kor);var x=i[2];function c(s){return u(n,s)}return R(i5,function(s){return u(t,s)},c,e,x),u(f(e),wor)}),N(ZK,function(t,n,e){var i=a(_C,t,n);return a(P0(dor),i,e)}),N(i5,function(t,n,e,i){u(f(e),Zar),a(f(e),ror,Qar);var x=i[1];u(f(e),eor),a(t,e,x[1]),u(f(e),nor);var c=x[2];function s(G){return u(n,G)}function p(G){return u(t,G)}R(Ol[5],p,s,e,c),u(f(e),tor),u(f(e),uor),u(f(e),ior),a(f(e),aor,xor);var y=i[2];a(f(e),oor,y),u(f(e),cor),u(f(e),sor),a(f(e),lor,vor);var T=i[3];if(T){g(e,bor);var E=T[1],h=function(G,A){return g(G,$ar)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,por)}else g(e,mor);return u(f(e),_or),u(f(e),yor)}),N(QK,function(t,n,e){var i=a(i5,t,n);return a(P0(Jar),i,e)});var rW=[0,_C,ZK,i5,QK],yC=function t(n,e,i,x){return t.fun(n,e,i,x)},eW=function t(n,e,i){return t.fun(n,e,i)},f5=function t(n,e,i,x){return t.fun(n,e,i,x)},nW=function t(n,e,i){return t.fun(n,e,i)};N(yC,function(t,n,e,i){u(f(e),zar),a(t,e,i[1]),u(f(e),Kar);var x=i[2];function c(s){return u(n,s)}return R(f5,function(s){return u(t,s)},c,e,x),u(f(e),War)}),N(eW,function(t,n,e){var i=a(yC,t,n);return a(P0(Var),i,e)}),N(f5,function(t,n,e,i){u(f(e),par),a(f(e),_ar,mar);var x=i[1];function c(K){return u(t,K)}function s(K){return u(t,K)}R(Ln[1],s,c,e,x),u(f(e),yar),u(f(e),dar),a(f(e),kar,har);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(Je[13],T,y,e,p),u(f(e),war),u(f(e),Ear),a(f(e),gar,Sar);var E=i[3];a(f(e),Far,E),u(f(e),Tar),u(f(e),Oar),a(f(e),Aar,Iar);var h=i[4];a(f(e),Nar,h),u(f(e),Car),u(f(e),Par),a(f(e),Lar,Dar);var w=i[5];a(f(e),Rar,w),u(f(e),jar),u(f(e),Gar),a(f(e),Bar,Mar);var G=i[6];if(G){g(e,qar);var A=G[1],S=function(K,V){return g(K,bar)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Uar)}else g(e,Har);return u(f(e),Xar),u(f(e),Yar)}),N(nW,function(t,n,e){var i=a(f5,t,n);return a(P0(lar),i,e)});var tW=[0,yC,eW,f5,nW],dC=function t(n,e,i,x){return t.fun(n,e,i,x)},uW=function t(n,e,i){return t.fun(n,e,i)},x5=function t(n,e,i,x){return t.fun(n,e,i,x)},iW=function t(n,e,i){return t.fun(n,e,i)};N(dC,function(t,n,e,i){u(f(e),Uxr),a(f(e),Xxr,Hxr);var x=i[1];a(f(e),Yxr,x),u(f(e),Vxr),u(f(e),zxr),a(f(e),Wxr,Kxr);var c=i[2];a(f(e),Jxr,c),u(f(e),$xr),u(f(e),Zxr),a(f(e),rar,Qxr);var s=i[3];u(f(e),ear);var p=0;le(function(w,G){w&&u(f(e),qxr);function A(S){return u(n,S)}return R(x5,function(S){return u(t,S)},A,e,G),1},p,s),u(f(e),nar),u(f(e),tar),u(f(e),uar),a(f(e),far,iar);var y=i[4];if(y){g(e,xar);var T=y[1],E=function(w,G){u(f(w),Mxr);var A=0;return le(function(S,M){S&&u(f(w),Gxr);function K(V){return u(t,V)}return ur(iu[1],K,w,M),1},A,G),u(f(w),Bxr)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,aar)}else g(e,oar);return u(f(e),car),u(f(e),sar)}),N(uW,function(t,n,e){var i=a(dC,t,n);return a(P0(jxr),i,e)}),N(x5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Txr);var x=i[1],c=function(f0){return u(n,f0)},s=function(f0){return u(t,f0)};return R(YK[1],s,c,e,x),u(f(e),Oxr);case 1:u(f(e),Ixr);var p=i[1],y=function(f0){return u(n,f0)},T=function(f0){return u(t,f0)};return R(KK[1],T,y,e,p),u(f(e),Axr);case 2:u(f(e),Nxr);var E=i[1],h=function(f0){return u(n,f0)},w=function(f0){return u(t,f0)};return R($K[3],w,h,e,E),u(f(e),Cxr);case 3:u(f(e),Pxr);var G=i[1],A=function(f0){return u(n,f0)},S=function(f0){return u(t,f0)};return R(rW[1],S,A,e,G),u(f(e),Dxr);default:u(f(e),Lxr);var M=i[1],K=function(f0){return u(n,f0)},V=function(f0){return u(t,f0)};return R(tW[1],V,K,e,M),u(f(e),Rxr)}}),N(iW,function(t,n,e){var i=a(x5,t,n);return a(P0(Fxr),i,e)});var hC=[0,YK,KK,$K,rW,tW,dC,uW,x5,iW],kC=function t(n,e,i,x){return t.fun(n,e,i,x)},fW=function t(n,e,i){return t.fun(n,e,i)};N(kC,function(t,n,e,i){u(f(e),ixr),a(f(e),xxr,fxr);var x=i[1];u(f(e),axr),a(t,e,x[1]),u(f(e),oxr);var c=x[2];function s(A){return u(n,A)}function p(A){return u(t,A)}R(hC[6],p,s,e,c),u(f(e),cxr),u(f(e),sxr),u(f(e),vxr),a(f(e),bxr,lxr);var y=i[2];u(f(e),pxr);var T=0;le(function(A,S){A&&u(f(e),exr),u(f(e),nxr),a(t,e,S[1]),u(f(e),txr);var M=S[2];function K(f0){return u(n,f0)}function V(f0){return u(t,f0)}return R(cC[2],V,K,e,M),u(f(e),uxr),1},T,y),u(f(e),mxr),u(f(e),_xr),u(f(e),yxr),a(f(e),hxr,dxr);var E=i[3];if(E){g(e,kxr);var h=E[1],w=function(A,S){return g(A,rxr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,wxr)}else g(e,Exr);return u(f(e),Sxr),u(f(e),gxr)}),N(fW,function(t,n,e){var i=a(kC,t,n);return a(P0(Qfr),i,e)});var xW=[0,kC,fW],wC=function t(n,e,i,x){return t.fun(n,e,i,x)},aW=function t(n,e,i){return t.fun(n,e,i)};N(wC,function(t,n,e,i){u(f(e),qfr),a(f(e),Hfr,Ufr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),Xfr),u(f(e),Yfr),a(f(e),zfr,Vfr);var p=i[2];if(p){g(e,Kfr);var y=p[1],T=function(h,w){return g(h,Bfr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Wfr)}else g(e,Jfr);return u(f(e),$fr),u(f(e),Zfr)}),N(aW,function(t,n,e){var i=a(wC,t,n);return a(P0(Mfr),i,e)});var oW=[0,wC,aW],a5=function t(n,e,i,x){return t.fun(n,e,i,x)},cW=function t(n,e,i){return t.fun(n,e,i)},o5=function t(n,e,i,x){return t.fun(n,e,i,x)},sW=function t(n,e,i){return t.fun(n,e,i)},c5=function t(n,e,i,x){return t.fun(n,e,i,x)},vW=function t(n,e,i){return t.fun(n,e,i)};N(a5,function(t,n,e,i){if(i[0]===0){u(f(e),Lfr);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(Ln[1],s,c,e,x),u(f(e),Rfr)}u(f(e),jfr);var p=i[1];function y(T){return u(n,T)}return R(c5,function(T){return u(t,T)},y,e,p),u(f(e),Gfr)}),N(cW,function(t,n,e){var i=a(a5,t,n);return a(P0(Dfr),i,e)}),N(o5,function(t,n,e,i){u(f(e),gfr),a(f(e),Tfr,Ffr);var x=i[1];function c(T){return u(n,T)}R(a5,function(T){return u(t,T)},c,e,x),u(f(e),Ofr),u(f(e),Ifr),a(f(e),Nfr,Afr);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(Ln[1],y,p,e,s),u(f(e),Cfr),u(f(e),Pfr)}),N(sW,function(t,n,e){var i=a(o5,t,n);return a(P0(Sfr),i,e)}),N(c5,function(t,n,e,i){u(f(e),kfr),a(n,e,i[1]),u(f(e),wfr);var x=i[2];function c(s){return u(n,s)}return R(o5,function(s){return u(t,s)},c,e,x),u(f(e),Efr)}),N(vW,function(t,n,e){var i=a(c5,t,n);return a(P0(hfr),i,e)});var lW=[0,a5,cW,o5,sW,c5,vW],EC=function t(n,e,i,x){return t.fun(n,e,i,x)},bW=function t(n,e,i){return t.fun(n,e,i)};N(EC,function(t,n,e,i){u(f(e),afr),a(f(e),cfr,ofr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(lW[1],s,c,e,x),u(f(e),sfr),u(f(e),vfr),a(f(e),bfr,lfr);var p=i[2];if(p){g(e,pfr);var y=p[1],T=function(h,w){return g(h,xfr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,mfr)}else g(e,_fr);return u(f(e),yfr),u(f(e),dfr)}),N(bW,function(t,n,e){var i=a(EC,t,n);return a(P0(ffr),i,e)});var pW=[0,lW,EC,bW],SC=function t(n,e,i,x){return t.fun(n,e,i,x)},mW=function t(n,e,i){return t.fun(n,e,i)};N(SC,function(t,n,e,i){u(f(e),Vir),a(f(e),Kir,zir);var x=i[1];u(f(e),Wir);var c=0;le(function(E,h){E&&u(f(e),Yir);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Je[13],G,w,e,h),1},c,x),u(f(e),Jir),u(f(e),$ir),u(f(e),Zir),a(f(e),rfr,Qir);var s=i[2];if(s){g(e,efr);var p=s[1],y=function(E,h){return g(E,Xir)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,nfr)}else g(e,tfr);return u(f(e),ufr),u(f(e),ifr)}),N(mW,function(t,n,e){var i=a(SC,t,n);return a(P0(Hir),i,e)});var _W=[0,SC,mW],gC=function t(n,e,i,x){return t.fun(n,e,i,x)},yW=function t(n,e,i){return t.fun(n,e,i)};N(gC,function(t,n,e,i){u(f(e),Nir),a(f(e),Pir,Cir);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),Dir),u(f(e),Lir),a(f(e),jir,Rir);var p=i[2];if(p){g(e,Gir);var y=p[1],T=function(h,w){return g(h,Air)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Mir)}else g(e,Bir);return u(f(e),qir),u(f(e),Uir)}),N(yW,function(t,n,e){var i=a(gC,t,n);return a(P0(Iir),i,e)});var dW=[0,gC,yW],FC=function t(n,e,i,x){return t.fun(n,e,i,x)},hW=function t(n,e,i){return t.fun(n,e,i)};N(FC,function(t,n,e,i){u(f(e),sir),a(f(e),lir,vir);var x=i[1];u(f(e),bir);var c=x[1];function s(K){return u(n,K)}function p(K){return u(t,K)}R(Je[13],p,s,e,c),u(f(e),pir);var y=x[2];function T(K){return u(n,K)}function E(K){return u(t,K)}R(Je[13],E,T,e,y),u(f(e),mir),u(f(e),_ir);var h=x[3],w=0;le(function(K,V){K&&u(f(e),cir);function f0(k0){return u(n,k0)}function m0(k0){return u(t,k0)}return R(Je[13],m0,f0,e,V),1},w,h),u(f(e),yir),u(f(e),dir),u(f(e),hir),u(f(e),kir),a(f(e),Eir,wir);var G=i[2];if(G){g(e,Sir);var A=G[1],S=function(K,V){return g(K,oir)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,gir)}else g(e,Fir);return u(f(e),Tir),u(f(e),Oir)}),N(hW,function(t,n,e){var i=a(FC,t,n);return a(P0(air),i,e)});var kW=[0,FC,hW],TC=function t(n,e,i,x){return t.fun(n,e,i,x)},wW=function t(n,e,i){return t.fun(n,e,i)};N(TC,function(t,n,e,i){u(f(e),X7r),a(f(e),V7r,Y7r);var x=i[1];u(f(e),z7r);var c=x[1];function s(K){return u(n,K)}function p(K){return u(t,K)}R(Je[13],p,s,e,c),u(f(e),K7r);var y=x[2];function T(K){return u(n,K)}function E(K){return u(t,K)}R(Je[13],E,T,e,y),u(f(e),W7r),u(f(e),J7r);var h=x[3],w=0;le(function(K,V){K&&u(f(e),H7r);function f0(k0){return u(n,k0)}function m0(k0){return u(t,k0)}return R(Je[13],m0,f0,e,V),1},w,h),u(f(e),$7r),u(f(e),Z7r),u(f(e),Q7r),u(f(e),rir),a(f(e),nir,eir);var G=i[2];if(G){g(e,tir);var A=G[1],S=function(K,V){return g(K,U7r)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,uir)}else g(e,iir);return u(f(e),fir),u(f(e),xir)}),N(wW,function(t,n,e){var i=a(TC,t,n);return a(P0(q7r),i,e)});var EW=[0,TC,wW],s5=function t(n,e,i,x){return t.fun(n,e,i,x)},SW=function t(n,e,i){return t.fun(n,e,i)},v5=function t(n,e,i,x){return t.fun(n,e,i,x)},gW=function t(n,e,i){return t.fun(n,e,i)},OC=function t(n,e,i,x){return t.fun(n,e,i,x)},FW=function t(n,e,i){return t.fun(n,e,i)},IC=function t(n,e,i,x){return t.fun(n,e,i,x)},TW=function t(n,e,i){return t.fun(n,e,i)};N(s5,function(t,n,e,i){u(f(e),G7r),a(n,e,i[1]),u(f(e),M7r);var x=i[2];function c(s){return u(n,s)}return R(v5,function(s){return u(t,s)},c,e,x),u(f(e),B7r)}),N(SW,function(t,n,e){var i=a(s5,t,n);return a(P0(j7r),i,e)}),N(v5,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];if(u(f(e),uur),x){g(e,iur);var c=x[1],s=function(U,Y){return g(U,tur)},p=function(U){return u(t,U)};R(Dr[1],p,s,e,c),g(e,fur)}else g(e,xur);return u(f(e),aur);case 1:var y=i[1];if(u(f(e),our),y){g(e,cur);var T=y[1],E=function(U,Y){return g(U,nur)},h=function(U){return u(t,U)};R(Dr[1],h,E,e,T),g(e,sur)}else g(e,vur);return u(f(e),lur);case 2:var w=i[1];if(u(f(e),bur),w){g(e,pur);var G=w[1],A=function(U,Y){return g(U,eur)},S=function(U){return u(t,U)};R(Dr[1],S,A,e,G),g(e,mur)}else g(e,_ur);return u(f(e),yur);case 3:var M=i[1];if(u(f(e),dur),M){g(e,hur);var K=M[1],V=function(U,Y){return g(U,rur)},f0=function(U){return u(t,U)};R(Dr[1],f0,V,e,K),g(e,kur)}else g(e,wur);return u(f(e),Eur);case 4:var m0=i[1];if(u(f(e),Sur),m0){g(e,gur);var k0=m0[1],g0=function(U,Y){return g(U,Qtr)},e0=function(U){return u(t,U)};R(Dr[1],e0,g0,e,k0),g(e,Fur)}else g(e,Tur);return u(f(e),Our);case 5:var x0=i[1];if(u(f(e),Iur),x0){g(e,Aur);var l=x0[1],c0=function(U,Y){return g(U,Ztr)},t0=function(U){return u(t,U)};R(Dr[1],t0,c0,e,l),g(e,Nur)}else g(e,Cur);return u(f(e),Pur);case 6:var a0=i[1];if(u(f(e),Dur),a0){g(e,Lur);var w0=a0[1],_0=function(U,Y){return g(U,$tr)},E0=function(U){return u(t,U)};R(Dr[1],E0,_0,e,w0),g(e,Rur)}else g(e,jur);return u(f(e),Gur);case 7:var X0=i[1];if(u(f(e),Mur),X0){g(e,Bur);var b=X0[1],j0=function(U,Y){return g(U,Jtr)},X=function(U){return u(t,U)};R(Dr[1],X,j0,e,b),g(e,qur)}else g(e,Uur);return u(f(e),Hur);case 8:var s0=i[1];if(u(f(e),Xur),s0){g(e,Yur);var dr=s0[1],Ar=function(U,Y){return g(U,Wtr)},ar=function(U){return u(t,U)};R(Dr[1],ar,Ar,e,dr),g(e,Vur)}else g(e,zur);return u(f(e),Kur);case 9:var W0=i[1];if(u(f(e),Wur),W0){g(e,Jur);var Lr=W0[1],Tr=function(U,Y){return g(U,Ktr)},Hr=function(U){return u(t,U)};R(Dr[1],Hr,Tr,e,Lr),g(e,$ur)}else g(e,Zur);return u(f(e),Qur);case 10:var Or=i[1];if(u(f(e),r7r),Or){g(e,e7r);var xr=Or[1],Rr=function(U,Y){return g(U,ztr)},Wr=function(U){return u(t,U)};R(Dr[1],Wr,Rr,e,xr),g(e,n7r)}else g(e,t7r);return u(f(e),u7r);case 11:u(f(e),i7r);var Jr=i[1],or=function(U){return u(n,U)},_r=function(U){return u(t,U)};return R(oW[1],_r,or,e,Jr),u(f(e),f7r);case 12:u(f(e),x7r);var Ir=i[1],fe=function(U){return u(n,U)},v0=function(U){return u(t,U)};return R(Ol[5],v0,fe,e,Ir),u(f(e),a7r);case 13:u(f(e),o7r);var P=i[1],L=function(U){return u(n,U)},Q=function(U){return u(t,U)};return R(hC[6],Q,L,e,P),u(f(e),c7r);case 14:u(f(e),s7r);var i0=i[1],l0=function(U){return u(n,U)},S0=function(U){return u(t,U)};return R(xW[1],S0,l0,e,i0),u(f(e),v7r);case 15:u(f(e),l7r);var T0=i[1],rr=function(U){return u(n,U)},R0=function(U){return u(t,U)};return R(dW[1],R0,rr,e,T0),u(f(e),b7r);case 16:u(f(e),p7r);var B=i[1],Z=function(U){return u(n,U)},p0=function(U){return u(t,U)};return R(cC[2],p0,Z,e,B),u(f(e),m7r);case 17:u(f(e),_7r);var b0=i[1],O0=function(U){return u(n,U)},q0=function(U){return u(t,U)};return R(vC[1],q0,O0,e,b0),u(f(e),y7r);case 18:u(f(e),d7r);var er=i[1],yr=function(U){return u(n,U)},vr=function(U){return u(t,U)};return R(qK[1],vr,yr,e,er),u(f(e),h7r);case 19:u(f(e),k7r);var $0=i[1],Er=function(U){return u(n,U)},Mr=function(U){return u(t,U)};return R(kW[1],Mr,Er,e,$0),u(f(e),w7r);case 20:u(f(e),E7r);var Br=i[1],qr=function(U){return u(n,U)},jr=function(U){return u(t,U)};return R(EW[1],jr,qr,e,Br),u(f(e),S7r);case 21:u(f(e),g7r);var $r=i[1],ne=function(U){return u(n,U)},Qr=function(U){return u(t,U)};return R(pW[2],Qr,ne,e,$r),u(f(e),F7r);case 22:u(f(e),T7r);var be=i[1],oe=function(U){return u(n,U)},pe=function(U){return u(t,U)};return R(_W[1],pe,oe,e,be),u(f(e),O7r);case 23:u(f(e),I7r);var ae=i[1],ce=function(U){return u(t,U)};return ur(F1[1],ce,e,ae),u(f(e),A7r);case 24:u(f(e),N7r);var ge=i[1],H0=function(U){return u(t,U)};return ur(HN[1],H0,e,ge),u(f(e),C7r);case 25:u(f(e),P7r);var Fr=i[1],_=function(U){return u(t,U)};return ur(tK[1],_,e,Fr),u(f(e),D7r);default:u(f(e),L7r);var k=i[1],I=function(U){return u(t,U)};return ur(XN[1],I,e,k),u(f(e),R7r)}}),N(gW,function(t,n,e){var i=a(v5,t,n);return a(P0(Vtr),i,e)}),N(OC,function(t,n,e,i){u(f(e),Htr),a(t,e,i[1]),u(f(e),Xtr);var x=i[2];function c(s){return u(n,s)}return R(s5,function(s){return u(t,s)},c,e,x),u(f(e),Ytr)}),N(FW,function(t,n,e){var i=a(OC,t,n);return a(P0(Utr),i,e)}),N(IC,function(t,n,e,i){if(i[0]===0)return u(f(e),Gtr),a(n,e,i[1]),u(f(e),Mtr);u(f(e),Btr);var x=i[1];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(Je[17],s,c,e,x),u(f(e),qtr)}),N(TW,function(t,n,e){var i=a(IC,t,n);return a(P0(jtr),i,e)});var AC=function t(n,e,i,x){return t.fun(n,e,i,x)},OW=function t(n,e,i){return t.fun(n,e,i)},l5=function t(n,e,i,x){return t.fun(n,e,i,x)},IW=function t(n,e,i){return t.fun(n,e,i)};N(AC,function(t,n,e,i){u(f(e),Dtr),a(t,e,i[1]),u(f(e),Ltr);var x=i[2];function c(s){return u(n,s)}return R(l5,function(s){return u(t,s)},c,e,x),u(f(e),Rtr)}),N(OW,function(t,n,e){var i=a(AC,t,n);return a(P0(Ptr),i,e)}),N(l5,function(t,n,e,i){u(f(e),ctr),a(f(e),vtr,str);var x=i[1];function c(K){return u(t,K)}function s(K){return u(t,K)}R(Ln[1],s,c,e,x),u(f(e),ltr),u(f(e),btr),a(f(e),mtr,ptr);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(Je[19],T,y,e,p),u(f(e),_tr),u(f(e),ytr),a(f(e),htr,dtr);var E=i[3];if(E){g(e,ktr);var h=E[1],w=function(K){return u(t,K)};ur(zv[1],w,e,h),g(e,wtr)}else g(e,Etr);u(f(e),Str),u(f(e),gtr),a(f(e),Ttr,Ftr);var G=i[4];if(G){g(e,Otr);var A=G[1],S=function(K){return u(n,K)},M=function(K){return u(t,K)};R(Je[13],M,S,e,A),g(e,Itr)}else g(e,Atr);return u(f(e),Ntr),u(f(e),Ctr)}),N(IW,function(t,n,e){var i=a(l5,t,n);return a(P0(otr),i,e)});var AW=[0,AC,OW,l5,IW],NC=function t(n,e,i,x){return t.fun(n,e,i,x)},NW=function t(n,e,i){return t.fun(n,e,i)},b5=function t(n,e,i,x){return t.fun(n,e,i,x)},CW=function t(n,e,i){return t.fun(n,e,i)};N(NC,function(t,n,e,i){u(f(e),ftr),a(t,e,i[1]),u(f(e),xtr);var x=i[2];function c(s){return u(n,s)}return R(b5,function(s){return u(t,s)},c,e,x),u(f(e),atr)}),N(NW,function(t,n,e){var i=a(NC,t,n);return a(P0(itr),i,e)}),N(b5,function(t,n,e,i){u(f(e),Ynr),a(f(e),znr,Vnr);var x=i[1];u(f(e),Knr);var c=0;le(function(E,h){E&&u(f(e),Xnr);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(AW[1],G,w,e,h),1},c,x),u(f(e),Wnr),u(f(e),Jnr),u(f(e),$nr),a(f(e),Qnr,Znr);var s=i[2];if(s){g(e,rtr);var p=s[1],y=function(E,h){u(f(E),Unr);var w=0;return le(function(G,A){G&&u(f(E),qnr);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),Hnr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,etr)}else g(e,ntr);return u(f(e),ttr),u(f(e),utr)}),N(CW,function(t,n,e){var i=a(b5,t,n);return a(P0(Bnr),i,e)});var CC=function t(n,e,i,x){return t.fun(n,e,i,x)},PW=function t(n,e,i){return t.fun(n,e,i)},p5=function t(n,e,i,x){return t.fun(n,e,i,x)},DW=function t(n,e,i){return t.fun(n,e,i)},Dee=[0,NC,NW,b5,CW];N(CC,function(t,n,e,i){u(f(e),jnr),a(t,e,i[1]),u(f(e),Gnr);var x=i[2];function c(s){return u(n,s)}return R(p5,function(s){return u(t,s)},c,e,x),u(f(e),Mnr)}),N(PW,function(t,n,e){var i=a(CC,t,n);return a(P0(Rnr),i,e)}),N(p5,function(t,n,e,i){u(f(e),wnr),a(f(e),Snr,Enr);var x=i[1];u(f(e),gnr);var c=0;le(function(E,h){E&&u(f(e),knr);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Je[13],G,w,e,h),1},c,x),u(f(e),Fnr),u(f(e),Tnr),u(f(e),Onr),a(f(e),Anr,Inr);var s=i[2];if(s){g(e,Nnr);var p=s[1],y=function(E,h){u(f(E),dnr);var w=0;return le(function(G,A){G&&u(f(E),ynr);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),hnr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,Cnr)}else g(e,Pnr);return u(f(e),Dnr),u(f(e),Lnr)}),N(DW,function(t,n,e){var i=a(p5,t,n);return a(P0(_nr),i,e)});var PC=function t(n,e,i,x){return t.fun(n,e,i,x)},LW=function t(n,e,i){return t.fun(n,e,i)},m5=function t(n,e,i,x){return t.fun(n,e,i,x)},RW=function t(n,e,i){return t.fun(n,e,i)},_5=function t(n,e,i,x){return t.fun(n,e,i,x)},jW=function t(n,e,i){return t.fun(n,e,i)},Lee=[0,CC,PW,p5,DW];N(PC,function(t,n,e,i){u(f(e),bnr),a(t,e,i[1]),u(f(e),pnr);var x=i[2];function c(s){return u(n,s)}return R(m5,function(s){return u(t,s)},c,e,x),u(f(e),mnr)}),N(LW,function(t,n,e){var i=a(PC,t,n);return a(P0(lnr),i,e)}),N(m5,function(t,n,e,i){u(f(e),enr),a(f(e),tnr,nnr);var x=i[1];function c(E){return u(n,E)}R(_5,function(E){return u(t,E)},c,e,x),u(f(e),unr),u(f(e),inr),a(f(e),xnr,fnr);var s=i[2];if(s){g(e,anr);var p=s[1],y=function(E,h){return g(E,rnr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,onr)}else g(e,cnr);return u(f(e),snr),u(f(e),vnr)}),N(RW,function(t,n,e){var i=a(m5,t,n);return a(P0(Qer),i,e)}),N(_5,function(t,n,e,i){if(i){u(f(e),Jer);var x=i[1],c=function(p){return u(n,p)},s=function(p){return u(t,p)};return R(qe[31],s,c,e,x),u(f(e),$er)}return g(e,Zer)}),N(jW,function(t,n,e){var i=a(_5,t,n);return a(P0(Wer),i,e)}),pu(f6r,Je,[0,Ol,cC,vC,qK,hC,xW,oW,pW,_W,dW,kW,EW,s5,SW,v5,gW,OC,FW,IC,TW,AW,Dee,Lee,[0,PC,LW,m5,RW,_5,jW]]);var DC=function t(n,e,i,x){return t.fun(n,e,i,x)},GW=function t(n,e,i){return t.fun(n,e,i)};N(DC,function(t,n,e,i){u(f(e),Ler),a(f(e),jer,Rer);var x=i[1];u(f(e),Ger);var c=0;le(function(E,h){E&&u(f(e),Der);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Xu[35],G,w,e,h),1},c,x),u(f(e),Mer),u(f(e),Ber),u(f(e),qer),a(f(e),Her,Uer);var s=i[2];if(s){g(e,Xer);var p=s[1],y=function(E,h){u(f(E),Cer);var w=0;return le(function(G,A){G&&u(f(E),Ner);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),Per)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,Yer)}else g(e,Ver);return u(f(e),zer),u(f(e),Ker)}),N(GW,function(t,n,e){var i=a(DC,t,n);return a(P0(Aer),i,e)});var Kv=[0,DC,GW],LC=function t(n,e,i,x){return t.fun(n,e,i,x)},MW=function t(n,e,i){return t.fun(n,e,i)},y5=function t(n,e,i,x){return t.fun(n,e,i,x)},BW=function t(n,e,i){return t.fun(n,e,i)};N(LC,function(t,n,e,i){u(f(e),Ter),a(t,e,i[1]),u(f(e),Oer);var x=i[2];function c(s){return u(n,s)}return R(y5,function(s){return u(t,s)},c,e,x),u(f(e),Ier)}),N(MW,function(t,n,e){var i=a(LC,t,n);return a(P0(Fer),i,e)}),N(y5,function(t,n,e,i){u(f(e),ber),a(f(e),mer,per);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Xu[35],s,c,e,x),u(f(e),_er),u(f(e),yer),a(f(e),her,der);var p=i[2];if(p){g(e,ker);var y=p[1],T=function(h,w){return g(h,ler)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,wer)}else g(e,Eer);return u(f(e),Ser),u(f(e),ger)}),N(BW,function(t,n,e){var i=a(y5,t,n);return a(P0(ver),i,e)});var qW=[0,LC,MW,y5,BW],RC=function t(n,e,i,x){return t.fun(n,e,i,x)},UW=function t(n,e,i){return t.fun(n,e,i)};N(RC,function(t,n,e,i){u(f(e),Hrr),a(f(e),Yrr,Xrr);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[31],s,c,e,x),u(f(e),Vrr),u(f(e),zrr),a(f(e),Wrr,Krr);var p=i[2];function y(V){return u(n,V)}function T(V){return u(t,V)}R(Xu[35],T,y,e,p),u(f(e),Jrr),u(f(e),$rr),a(f(e),Qrr,Zrr);var E=i[3];if(E){g(e,rer);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(qW[1],G,w,e,h),g(e,eer)}else g(e,ner);u(f(e),ter),u(f(e),uer),a(f(e),fer,ier);var A=i[4];if(A){g(e,xer);var S=A[1],M=function(V,f0){return g(V,Urr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,aer)}else g(e,oer);return u(f(e),cer),u(f(e),ser)}),N(UW,function(t,n,e){var i=a(RC,t,n);return a(P0(qrr),i,e)});var HW=[0,qW,RC,UW],jC=function t(n,e,i,x){return t.fun(n,e,i,x)},XW=function t(n,e,i){return t.fun(n,e,i)};N(jC,function(t,n,e,i){u(f(e),grr),a(f(e),Trr,Frr);var x=i[1];function c(A){return u(t,A)}function s(A){return u(t,A)}R(Ln[1],s,c,e,x),u(f(e),Orr),u(f(e),Irr),a(f(e),Nrr,Arr);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),Crr),u(f(e),Prr),a(f(e),Lrr,Drr);var E=i[3];if(E){g(e,Rrr);var h=E[1],w=function(A,S){return g(A,Srr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,jrr)}else g(e,Grr);return u(f(e),Mrr),u(f(e),Brr)}),N(XW,function(t,n,e){var i=a(jC,t,n);return a(P0(Err),i,e)});var YW=[0,jC,XW],GC=function t(n,e,i){return t.fun(n,e,i)},VW=function t(n,e){return t.fun(n,e)};N(GC,function(t,n,e){u(f(n),arr),a(f(n),crr,orr);var i=e[1];if(i){g(n,srr);var x=i[1],c=function(h){return u(t,h)},s=function(h){return u(t,h)};R(Ln[1],s,c,n,x),g(n,vrr)}else g(n,lrr);u(f(n),brr),u(f(n),prr),a(f(n),_rr,mrr);var p=e[2];if(p){g(n,yrr);var y=p[1],T=function(h,w){return g(h,xrr)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,drr)}else g(n,hrr);return u(f(n),krr),u(f(n),wrr)}),N(VW,function(t,n){var e=u(GC,t);return a(P0(frr),e,n)});var zW=[0,GC,VW],MC=function t(n,e,i){return t.fun(n,e,i)},KW=function t(n,e){return t.fun(n,e)};N(MC,function(t,n,e){u(f(n),Y0r),a(f(n),z0r,V0r);var i=e[1];if(i){g(n,K0r);var x=i[1],c=function(h){return u(t,h)},s=function(h){return u(t,h)};R(Ln[1],s,c,n,x),g(n,W0r)}else g(n,J0r);u(f(n),$0r),u(f(n),Z0r),a(f(n),rrr,Q0r);var p=e[2];if(p){g(n,err);var y=p[1],T=function(h,w){return g(h,X0r)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,nrr)}else g(n,trr);return u(f(n),urr),u(f(n),irr)}),N(KW,function(t,n){var e=u(MC,t);return a(P0(H0r),e,n)});var WW=[0,MC,KW],BC=function t(n,e,i){return t.fun(n,e,i)},JW=function t(n,e){return t.fun(n,e)};N(BC,function(t,n,e){u(f(n),L0r),a(f(n),j0r,R0r);var i=e[1];if(i){g(n,G0r);var x=i[1],c=function(p,y){return g(p,D0r)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,M0r)}else g(n,B0r);return u(f(n),q0r),u(f(n),U0r)}),N(JW,function(t,n){var e=u(BC,t);return a(P0(P0r),e,n)});var $W=[0,BC,JW],qC=function t(n,e,i,x){return t.fun(n,e,i,x)},ZW=function t(n,e,i){return t.fun(n,e,i)};N(qC,function(t,n,e,i){u(f(e),_0r),a(f(e),d0r,y0r);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),h0r),u(f(e),k0r),a(f(e),E0r,w0r);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),S0r),u(f(e),g0r),a(f(e),T0r,F0r);var E=i[3];if(E){g(e,O0r);var h=E[1],w=function(A,S){return g(A,m0r)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,I0r)}else g(e,A0r);return u(f(e),N0r),u(f(e),C0r)}),N(ZW,function(t,n,e){var i=a(qC,t,n);return a(P0(p0r),i,e)});var QW=[0,qC,ZW],UC=function t(n,e,i,x){return t.fun(n,e,i,x)},rJ=function t(n,e,i){return t.fun(n,e,i)};N(UC,function(t,n,e,i){u(f(e),VQ0),a(f(e),KQ0,zQ0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(Ln[1],s,c,e,x),u(f(e),WQ0),u(f(e),JQ0),a(f(e),ZQ0,$Q0);var p=i[2];if(p){g(e,QQ0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(Je[22][1],E,T,e,y),g(e,r0r)}else g(e,e0r);u(f(e),n0r),u(f(e),t0r),a(f(e),i0r,u0r);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(Je[13],G,w,e,h),u(f(e),f0r),u(f(e),x0r),a(f(e),o0r,a0r);var A=i[4];if(A){g(e,c0r);var S=A[1],M=function(V,f0){return g(V,YQ0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,s0r)}else g(e,v0r);return u(f(e),l0r),u(f(e),b0r)}),N(rJ,function(t,n,e){var i=a(UC,t,n);return a(P0(XQ0),i,e)});var d5=[0,UC,rJ],HC=function t(n,e,i,x){return t.fun(n,e,i,x)},eJ=function t(n,e,i){return t.fun(n,e,i)};N(HC,function(t,n,e,i){u(f(e),sQ0),a(f(e),lQ0,vQ0);var x=i[1];function c(e0){return u(n,e0)}function s(e0){return u(t,e0)}R(Ln[1],s,c,e,x),u(f(e),bQ0),u(f(e),pQ0),a(f(e),_Q0,mQ0);var p=i[2];if(p){g(e,yQ0);var y=p[1],T=function(e0){return u(n,e0)},E=function(e0){return u(t,e0)};R(Je[22][1],E,T,e,y),g(e,dQ0)}else g(e,hQ0);u(f(e),kQ0),u(f(e),wQ0),a(f(e),SQ0,EQ0);var h=i[3];if(h){g(e,gQ0);var w=h[1],G=function(e0){return u(n,e0)},A=function(e0){return u(t,e0)};R(Je[13],A,G,e,w),g(e,FQ0)}else g(e,TQ0);u(f(e),OQ0),u(f(e),IQ0),a(f(e),NQ0,AQ0);var S=i[4];if(S){g(e,CQ0);var M=S[1],K=function(e0){return u(n,e0)},V=function(e0){return u(t,e0)};R(Je[13],V,K,e,M),g(e,PQ0)}else g(e,DQ0);u(f(e),LQ0),u(f(e),RQ0),a(f(e),GQ0,jQ0);var f0=i[5];if(f0){g(e,MQ0);var m0=f0[1],k0=function(e0,x0){return g(e0,cQ0)},g0=function(e0){return u(t,e0)};R(Dr[1],g0,k0,e,m0),g(e,BQ0)}else g(e,qQ0);return u(f(e),UQ0),u(f(e),HQ0)}),N(eJ,function(t,n,e){var i=a(HC,t,n);return a(P0(oQ0),i,e)});var h5=[0,HC,eJ],XC=function t(n,e,i,x){return t.fun(n,e,i,x)},nJ=function t(n,e,i){return t.fun(n,e,i)},k5=function t(n,e,i,x){return t.fun(n,e,i,x)},tJ=function t(n,e,i){return t.fun(n,e,i)};N(XC,function(t,n,e,i){u(f(e),fQ0),a(t,e,i[1]),u(f(e),xQ0);var x=i[2];function c(s){return u(n,s)}return R(k5,function(s){return u(t,s)},c,e,x),u(f(e),aQ0)}),N(nJ,function(t,n,e){var i=a(XC,t,n);return a(P0(iQ0),i,e)}),N(k5,function(t,n,e,i){u(f(e),GZ0),a(f(e),BZ0,MZ0);var x=i[1];if(x){g(e,qZ0);var c=x[1],s=function(A){return u(n,A)},p=function(A){return u(t,A)};R(qe[31],p,s,e,c),g(e,UZ0)}else g(e,HZ0);u(f(e),XZ0),u(f(e),YZ0),a(f(e),zZ0,VZ0);var y=i[2];u(f(e),KZ0);var T=0;le(function(A,S){A&&u(f(e),jZ0);function M(V){return u(n,V)}function K(V){return u(t,V)}return R(Xu[35],K,M,e,S),1},T,y),u(f(e),WZ0),u(f(e),JZ0),u(f(e),$Z0),a(f(e),QZ0,ZZ0);var E=i[3];if(E){g(e,rQ0);var h=E[1],w=function(A,S){return g(A,RZ0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,eQ0)}else g(e,nQ0);return u(f(e),tQ0),u(f(e),uQ0)}),N(tJ,function(t,n,e){var i=a(k5,t,n);return a(P0(LZ0),i,e)});var uJ=[0,XC,nJ,k5,tJ],YC=function t(n,e,i,x){return t.fun(n,e,i,x)},iJ=function t(n,e,i){return t.fun(n,e,i)};N(YC,function(t,n,e,i){u(f(e),lZ0),a(f(e),pZ0,bZ0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),mZ0),u(f(e),_Z0),a(f(e),dZ0,yZ0);var p=i[2];u(f(e),hZ0);var y=0;le(function(G,A){G&&u(f(e),vZ0);function S(K){return u(n,K)}function M(K){return u(t,K)}return R(uJ[1],M,S,e,A),1},y,p),u(f(e),kZ0),u(f(e),wZ0),u(f(e),EZ0),a(f(e),gZ0,SZ0);var T=i[3];if(T){g(e,FZ0);var E=T[1],h=function(G,A){return g(G,sZ0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,TZ0)}else g(e,OZ0);return u(f(e),IZ0),u(f(e),AZ0),a(f(e),CZ0,NZ0),a(n,e,i[4]),u(f(e),PZ0),u(f(e),DZ0)}),N(iJ,function(t,n,e){var i=a(YC,t,n);return a(P0(cZ0),i,e)});var fJ=[0,uJ,YC,iJ],VC=function t(n,e,i,x){return t.fun(n,e,i,x)},xJ=function t(n,e,i){return t.fun(n,e,i)};N(VC,function(t,n,e,i){u(f(e),Y$0),a(f(e),z$0,V$0);var x=i[1];if(x){g(e,K$0);var c=x[1],s=function(w){return u(n,w)},p=function(w){return u(t,w)};R(qe[31],p,s,e,c),g(e,W$0)}else g(e,J$0);u(f(e),$$0),u(f(e),Z$0),a(f(e),rZ0,Q$0);var y=i[2];if(y){g(e,eZ0);var T=y[1],E=function(w,G){return g(w,X$0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,nZ0)}else g(e,tZ0);return u(f(e),uZ0),u(f(e),iZ0),a(f(e),xZ0,fZ0),a(n,e,i[3]),u(f(e),aZ0),u(f(e),oZ0)}),N(xJ,function(t,n,e){var i=a(VC,t,n);return a(P0(H$0),i,e)});var aJ=[0,VC,xJ],zC=function t(n,e,i,x){return t.fun(n,e,i,x)},oJ=function t(n,e,i){return t.fun(n,e,i)};N(zC,function(t,n,e,i){u(f(e),N$0),a(f(e),P$0,C$0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),D$0),u(f(e),L$0),a(f(e),j$0,R$0);var p=i[2];if(p){g(e,G$0);var y=p[1],T=function(h,w){return g(h,A$0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,M$0)}else g(e,B$0);return u(f(e),q$0),u(f(e),U$0)}),N(oJ,function(t,n,e){var i=a(zC,t,n);return a(P0(I$0),i,e)});var cJ=[0,zC,oJ],KC=function t(n,e,i,x){return t.fun(n,e,i,x)},sJ=function t(n,e,i){return t.fun(n,e,i)},w5=function t(n,e,i,x){return t.fun(n,e,i,x)},vJ=function t(n,e,i){return t.fun(n,e,i)};N(KC,function(t,n,e,i){u(f(e),F$0),a(t,e,i[1]),u(f(e),T$0);var x=i[2];function c(s){return u(n,s)}return R(w5,function(s){return u(t,s)},c,e,x),u(f(e),O$0)}),N(sJ,function(t,n,e){var i=a(KC,t,n);return a(P0(g$0),i,e)}),N(w5,function(t,n,e,i){u(f(e),t$0),a(f(e),i$0,u$0);var x=i[1];if(x){g(e,f$0);var c=x[1],s=function(M){return u(n,M)},p=function(M){return u(t,M)};R(di[5],p,s,e,c),g(e,x$0)}else g(e,a$0);u(f(e),o$0),u(f(e),c$0),a(f(e),v$0,s$0);var y=i[2];u(f(e),l$0),a(t,e,y[1]),u(f(e),b$0);var T=y[2];function E(M){return u(n,M)}function h(M){return u(t,M)}R(Kv[1],h,E,e,T),u(f(e),p$0),u(f(e),m$0),u(f(e),_$0),a(f(e),d$0,y$0);var w=i[3];if(w){g(e,h$0);var G=w[1],A=function(M,K){return g(M,n$0)},S=function(M){return u(t,M)};R(Dr[1],S,A,e,G),g(e,k$0)}else g(e,w$0);return u(f(e),E$0),u(f(e),S$0)}),N(vJ,function(t,n,e){var i=a(w5,t,n);return a(P0(e$0),i,e)});var lJ=[0,KC,sJ,w5,vJ],WC=function t(n,e,i,x){return t.fun(n,e,i,x)},bJ=function t(n,e,i){return t.fun(n,e,i)};N(WC,function(t,n,e,i){u(f(e),EJ0),a(f(e),gJ0,SJ0);var x=i[1];u(f(e),FJ0),a(t,e,x[1]),u(f(e),TJ0);var c=x[2];function s(k0){return u(n,k0)}function p(k0){return u(t,k0)}R(Kv[1],p,s,e,c),u(f(e),OJ0),u(f(e),IJ0),u(f(e),AJ0),a(f(e),CJ0,NJ0);var y=i[2];if(y){g(e,PJ0);var T=y[1],E=function(k0){return u(n,k0)},h=function(k0){return u(t,k0)};R(lJ[1],h,E,e,T),g(e,DJ0)}else g(e,LJ0);u(f(e),RJ0),u(f(e),jJ0),a(f(e),MJ0,GJ0);var w=i[3];if(w){var G=w[1];g(e,BJ0),u(f(e),qJ0),a(t,e,G[1]),u(f(e),UJ0);var A=G[2],S=function(k0){return u(n,k0)},M=function(k0){return u(t,k0)};R(Kv[1],M,S,e,A),u(f(e),HJ0),g(e,XJ0)}else g(e,YJ0);u(f(e),VJ0),u(f(e),zJ0),a(f(e),WJ0,KJ0);var K=i[4];if(K){g(e,JJ0);var V=K[1],f0=function(k0,g0){return g(k0,wJ0)},m0=function(k0){return u(t,k0)};R(Dr[1],m0,f0,e,V),g(e,$J0)}else g(e,ZJ0);return u(f(e),QJ0),u(f(e),r$0)}),N(bJ,function(t,n,e){var i=a(WC,t,n);return a(P0(kJ0),i,e)});var pJ=[0,lJ,WC,bJ],JC=function t(n,e,i,x){return t.fun(n,e,i,x)},mJ=function t(n,e,i){return t.fun(n,e,i)},E5=function t(n,e,i,x){return t.fun(n,e,i,x)},_J=function t(n,e,i){return t.fun(n,e,i)};N(JC,function(t,n,e,i){u(f(e),yJ0),a(t,e,i[1]),u(f(e),dJ0);var x=i[2];function c(s){return u(n,s)}return R(E5,function(s){return u(t,s)},c,e,x),u(f(e),hJ0)}),N(mJ,function(t,n,e){var i=a(JC,t,n);return a(P0(_J0),i,e)}),N(E5,function(t,n,e,i){u(f(e),iJ0),a(f(e),xJ0,fJ0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),aJ0),u(f(e),oJ0),a(f(e),sJ0,cJ0);var p=i[2];if(p){g(e,vJ0);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,lJ0)}else g(e,bJ0);return u(f(e),pJ0),u(f(e),mJ0)}),N(_J,function(t,n,e){var i=a(E5,t,n);return a(P0(uJ0),i,e)});var yJ=[0,JC,mJ,E5,_J],$C=function t(n,e,i,x){return t.fun(n,e,i,x)},dJ=function t(n,e,i){return t.fun(n,e,i)},S5=function t(n,e){return t.fun(n,e)},hJ=function t(n){return t.fun(n)};N($C,function(t,n,e,i){u(f(e),BW0),a(f(e),UW0,qW0);var x=i[1];u(f(e),HW0);var c=0;le(function(E,h){E&&u(f(e),MW0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(yJ[1],G,w,e,h),1},c,x),u(f(e),XW0),u(f(e),YW0),u(f(e),VW0),a(f(e),KW0,zW0),a(S5,e,i[2]),u(f(e),WW0),u(f(e),JW0),a(f(e),ZW0,$W0);var s=i[3];if(s){g(e,QW0);var p=s[1],y=function(E,h){return g(E,GW0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,rJ0)}else g(e,eJ0);return u(f(e),nJ0),u(f(e),tJ0)}),N(dJ,function(t,n,e){var i=a($C,t,n);return a(P0(jW0),i,e)}),N(S5,function(t,n){switch(n){case 0:return g(t,DW0);case 1:return g(t,LW0);default:return g(t,RW0)}}),N(hJ,function(t){return a(P0(PW0),S5,t)});var Il=[0,yJ,$C,dJ,S5,hJ],ZC=function t(n,e,i,x){return t.fun(n,e,i,x)},kJ=function t(n,e,i){return t.fun(n,e,i)};N(ZC,function(t,n,e,i){u(f(e),_W0),a(f(e),dW0,yW0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),hW0),u(f(e),kW0),a(f(e),EW0,wW0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),SW0),u(f(e),gW0),a(f(e),TW0,FW0);var E=i[3];if(E){g(e,OW0);var h=E[1],w=function(A,S){return g(A,mW0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,IW0)}else g(e,AW0);return u(f(e),NW0),u(f(e),CW0)}),N(kJ,function(t,n,e){var i=a(ZC,t,n);return a(P0(pW0),i,e)});var wJ=[0,ZC,kJ],QC=function t(n,e,i,x){return t.fun(n,e,i,x)},EJ=function t(n,e,i){return t.fun(n,e,i)};N(QC,function(t,n,e,i){u(f(e),QK0),a(f(e),eW0,rW0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Xu[35],s,c,e,x),u(f(e),nW0),u(f(e),tW0),a(f(e),iW0,uW0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),fW0),u(f(e),xW0),a(f(e),oW0,aW0);var E=i[3];if(E){g(e,cW0);var h=E[1],w=function(A,S){return g(A,ZK0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,sW0)}else g(e,vW0);return u(f(e),lW0),u(f(e),bW0)}),N(EJ,function(t,n,e){var i=a(QC,t,n);return a(P0($K0),i,e)});var SJ=[0,QC,EJ],rP=function t(n,e,i,x){return t.fun(n,e,i,x)},gJ=function t(n,e,i){return t.fun(n,e,i)},g5=function t(n,e,i,x){return t.fun(n,e,i,x)},FJ=function t(n,e,i){return t.fun(n,e,i)};N(rP,function(t,n,e,i){u(f(e),yK0),a(f(e),hK0,dK0);var x=i[1];if(x){g(e,kK0);var c=x[1],s=function(g0){return u(n,g0)};R(g5,function(g0){return u(t,g0)},s,e,c),g(e,wK0)}else g(e,EK0);u(f(e),SK0),u(f(e),gK0),a(f(e),TK0,FK0);var p=i[2];if(p){g(e,OK0);var y=p[1],T=function(g0){return u(n,g0)},E=function(g0){return u(t,g0)};R(qe[31],E,T,e,y),g(e,IK0)}else g(e,AK0);u(f(e),NK0),u(f(e),CK0),a(f(e),DK0,PK0);var h=i[3];if(h){g(e,LK0);var w=h[1],G=function(g0){return u(n,g0)},A=function(g0){return u(t,g0)};R(qe[31],A,G,e,w),g(e,RK0)}else g(e,jK0);u(f(e),GK0),u(f(e),MK0),a(f(e),qK0,BK0);var S=i[4];function M(g0){return u(n,g0)}function K(g0){return u(t,g0)}R(Xu[35],K,M,e,S),u(f(e),UK0),u(f(e),HK0),a(f(e),YK0,XK0);var V=i[5];if(V){g(e,VK0);var f0=V[1],m0=function(g0,e0){return g(g0,_K0)},k0=function(g0){return u(t,g0)};R(Dr[1],k0,m0,e,f0),g(e,zK0)}else g(e,KK0);return u(f(e),WK0),u(f(e),JK0)}),N(gJ,function(t,n,e){var i=a(rP,t,n);return a(P0(mK0),i,e)}),N(g5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),oK0),u(f(e),cK0),a(t,e,x[1]),u(f(e),sK0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),vK0),u(f(e),lK0)}u(f(e),bK0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(qe[31],E,T,e,y),u(f(e),pK0)}),N(FJ,function(t,n,e){var i=a(g5,t,n);return a(P0(aK0),i,e)});var TJ=[0,rP,gJ,g5,FJ],eP=function t(n,e,i,x){return t.fun(n,e,i,x)},OJ=function t(n,e,i){return t.fun(n,e,i)},F5=function t(n,e,i,x){return t.fun(n,e,i,x)},IJ=function t(n,e,i){return t.fun(n,e,i)};N(eP,function(t,n,e,i){u(f(e),jz0),a(f(e),Mz0,Gz0);var x=i[1];function c(K){return u(n,K)}R(F5,function(K){return u(t,K)},c,e,x),u(f(e),Bz0),u(f(e),qz0),a(f(e),Hz0,Uz0);var s=i[2];function p(K){return u(n,K)}function y(K){return u(t,K)}R(qe[31],y,p,e,s),u(f(e),Xz0),u(f(e),Yz0),a(f(e),zz0,Vz0);var T=i[3];function E(K){return u(n,K)}function h(K){return u(t,K)}R(Xu[35],h,E,e,T),u(f(e),Kz0),u(f(e),Wz0),a(f(e),$z0,Jz0);var w=i[4];a(f(e),Zz0,w),u(f(e),Qz0),u(f(e),rK0),a(f(e),nK0,eK0);var G=i[5];if(G){g(e,tK0);var A=G[1],S=function(K,V){return g(K,Rz0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,uK0)}else g(e,iK0);return u(f(e),fK0),u(f(e),xK0)}),N(OJ,function(t,n,e){var i=a(eP,t,n);return a(P0(Lz0),i,e)}),N(F5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),Oz0),u(f(e),Iz0),a(t,e,x[1]),u(f(e),Az0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),Nz0),u(f(e),Cz0)}u(f(e),Pz0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(di[5],E,T,e,y),u(f(e),Dz0)}),N(IJ,function(t,n,e){var i=a(F5,t,n);return a(P0(Tz0),i,e)});var AJ=[0,eP,OJ,F5,IJ],nP=function t(n,e,i,x){return t.fun(n,e,i,x)},NJ=function t(n,e,i){return t.fun(n,e,i)},T5=function t(n,e,i,x){return t.fun(n,e,i,x)},CJ=function t(n,e,i){return t.fun(n,e,i)};N(nP,function(t,n,e,i){u(f(e),nz0),a(f(e),uz0,tz0);var x=i[1];function c(K){return u(n,K)}R(T5,function(K){return u(t,K)},c,e,x),u(f(e),iz0),u(f(e),fz0),a(f(e),az0,xz0);var s=i[2];function p(K){return u(n,K)}function y(K){return u(t,K)}R(qe[31],y,p,e,s),u(f(e),oz0),u(f(e),cz0),a(f(e),vz0,sz0);var T=i[3];function E(K){return u(n,K)}function h(K){return u(t,K)}R(Xu[35],h,E,e,T),u(f(e),lz0),u(f(e),bz0),a(f(e),mz0,pz0);var w=i[4];a(f(e),_z0,w),u(f(e),yz0),u(f(e),dz0),a(f(e),kz0,hz0);var G=i[5];if(G){g(e,wz0);var A=G[1],S=function(K,V){return g(K,ez0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Ez0)}else g(e,Sz0);return u(f(e),gz0),u(f(e),Fz0)}),N(NJ,function(t,n,e){var i=a(nP,t,n);return a(P0(rz0),i,e)}),N(T5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),zV0),u(f(e),KV0),a(t,e,x[1]),u(f(e),WV0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),JV0),u(f(e),$V0)}u(f(e),ZV0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(di[5],E,T,e,y),u(f(e),QV0)}),N(CJ,function(t,n,e){var i=a(T5,t,n);return a(P0(VV0),i,e)});var PJ=[0,nP,NJ,T5,CJ],tP=function t(n,e,i){return t.fun(n,e,i)},DJ=function t(n,e){return t.fun(n,e)},O5=function t(n,e,i){return t.fun(n,e,i)},LJ=function t(n,e){return t.fun(n,e)};N(tP,function(t,n,e){u(f(n),HV0),a(t,n,e[1]),u(f(n),XV0);var i=e[2];return ur(O5,function(x){return u(t,x)},n,i),u(f(n),YV0)}),N(DJ,function(t,n){var e=u(tP,t);return a(P0(UV0),e,n)}),N(O5,function(t,n,e){u(f(n),jV0),a(f(n),MV0,GV0);var i=e[1];function x(s){return u(t,s)}function c(s){return u(t,s)}return R(Ln[1],c,x,n,i),u(f(n),BV0),u(f(n),qV0)}),N(LJ,function(t,n){var e=u(O5,t);return a(P0(RV0),e,n)});var uP=[0,tP,DJ,O5,LJ],iP=function t(n,e,i,x){return t.fun(n,e,i,x)},RJ=function t(n,e,i){return t.fun(n,e,i)},I5=function t(n,e,i,x){return t.fun(n,e,i,x)},jJ=function t(n,e,i){return t.fun(n,e,i)};N(iP,function(t,n,e,i){u(f(e),PV0),a(n,e,i[1]),u(f(e),DV0);var x=i[2];function c(s){return u(n,s)}return R(I5,function(s){return u(t,s)},c,e,x),u(f(e),LV0)}),N(RJ,function(t,n,e){var i=a(iP,t,n);return a(P0(CV0),i,e)}),N(I5,function(t,n,e,i){u(f(e),hV0),a(f(e),wV0,kV0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(n,y)}R(Ln[1],s,c,e,x),u(f(e),EV0),u(f(e),SV0),a(f(e),FV0,gV0);var p=i[2];return u(f(e),TV0),a(n,e,p[1]),u(f(e),OV0),a(t,e,p[2]),u(f(e),IV0),u(f(e),AV0),u(f(e),NV0)}),N(jJ,function(t,n,e){var i=a(I5,t,n);return a(P0(dV0),i,e)});var A5=[0,iP,RJ,I5,jJ],fP=function t(n,e,i){return t.fun(n,e,i)},GJ=function t(n,e){return t.fun(n,e)};N(fP,function(t,n,e){u(f(n),WY0),a(f(n),$Y0,JY0);var i=e[1];u(f(n),ZY0);var x=0;le(function(h,w){h&&u(f(n),KY0);function G(S){return u(t,S)}function A(S){function M(K){return u(t,K)}return a(XN[1],M,S)}return R(A5[1],A,G,n,w),1},x,i),u(f(n),QY0),u(f(n),rV0),u(f(n),eV0),a(f(n),tV0,nV0);var c=e[2];a(f(n),uV0,c),u(f(n),iV0),u(f(n),fV0),a(f(n),aV0,xV0);var s=e[3];a(f(n),oV0,s),u(f(n),cV0),u(f(n),sV0),a(f(n),lV0,vV0);var p=e[4];if(p){g(n,bV0);var y=p[1],T=function(h,w){u(f(h),VY0);var G=0;return le(function(A,S){A&&u(f(h),YY0);function M(K){return u(t,K)}return ur(iu[1],M,h,S),1},G,w),u(f(h),zY0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,pV0)}else g(n,mV0);return u(f(n),_V0),u(f(n),yV0)}),N(GJ,function(t,n){var e=u(fP,t);return a(P0(XY0),e,n)});var MJ=[0,fP,GJ],xP=function t(n,e,i){return t.fun(n,e,i)},BJ=function t(n,e){return t.fun(n,e)};N(xP,function(t,n,e){u(f(n),hY0),a(f(n),wY0,kY0);var i=e[1];u(f(n),EY0);var x=0;le(function(h,w){h&&u(f(n),dY0);function G(S){return u(t,S)}function A(S){function M(K){return u(t,K)}return a(HN[1],M,S)}return R(A5[1],A,G,n,w),1},x,i),u(f(n),SY0),u(f(n),gY0),u(f(n),FY0),a(f(n),OY0,TY0);var c=e[2];a(f(n),IY0,c),u(f(n),AY0),u(f(n),NY0),a(f(n),PY0,CY0);var s=e[3];a(f(n),DY0,s),u(f(n),LY0),u(f(n),RY0),a(f(n),GY0,jY0);var p=e[4];if(p){g(n,MY0);var y=p[1],T=function(h,w){u(f(h),_Y0);var G=0;return le(function(A,S){A&&u(f(h),mY0);function M(K){return u(t,K)}return ur(iu[1],M,h,S),1},G,w),u(f(h),yY0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,BY0)}else g(n,qY0);return u(f(n),UY0),u(f(n),HY0)}),N(BJ,function(t,n){var e=u(xP,t);return a(P0(pY0),e,n)});var qJ=[0,xP,BJ],aP=function t(n,e,i){return t.fun(n,e,i)},UJ=function t(n,e){return t.fun(n,e)},N5=function t(n,e,i,x){return t.fun(n,e,i,x)},HJ=function t(n,e,i){return t.fun(n,e,i)};N(aP,function(t,n,e){u(f(n),zX0),a(f(n),WX0,KX0);var i=e[1];function x(h){return u(t,h)}R(N5,function(h){function w(G){return u(t,G)}return a(F1[1],w,h)},x,n,i),u(f(n),JX0),u(f(n),$X0),a(f(n),QX0,ZX0);var c=e[2];a(f(n),rY0,c),u(f(n),eY0),u(f(n),nY0),a(f(n),uY0,tY0);var s=e[3];a(f(n),iY0,s),u(f(n),fY0),u(f(n),xY0),a(f(n),oY0,aY0);var p=e[4];if(p){g(n,cY0);var y=p[1],T=function(h,w){u(f(h),YX0);var G=0;return le(function(A,S){A&&u(f(h),XX0);function M(K){return u(t,K)}return ur(iu[1],M,h,S),1},G,w),u(f(h),VX0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,sY0)}else g(n,vY0);return u(f(n),lY0),u(f(n),bY0)}),N(UJ,function(t,n){var e=u(aP,t);return a(P0(HX0),e,n)}),N(N5,function(t,n,e,i){if(i[0]===0){u(f(e),LX0),u(f(e),RX0);var x=i[1],c=0;return le(function(y,T){y&&u(f(e),DX0);function E(h){return u(n,h)}return ur(uP[1],E,e,T),1},c,x),u(f(e),jX0),u(f(e),GX0)}u(f(e),MX0),u(f(e),BX0);var s=i[1],p=0;return le(function(y,T){y&&u(f(e),PX0);function E(w){return u(n,w)}function h(w){return u(t,w)}return R(A5[1],h,E,e,T),1},p,s),u(f(e),qX0),u(f(e),UX0)}),N(HJ,function(t,n,e){var i=a(N5,t,n);return a(P0(CX0),i,e)});var XJ=[0,aP,UJ,N5,HJ],oP=function t(n,e,i){return t.fun(n,e,i)},YJ=function t(n,e){return t.fun(n,e)};N(oP,function(t,n,e){u(f(n),lX0),a(f(n),pX0,bX0);var i=e[1];u(f(n),mX0);var x=0;le(function(E,h){E&&u(f(n),vX0);function w(G){return u(t,G)}return ur(uP[1],w,n,h),1},x,i),u(f(n),_X0),u(f(n),yX0),u(f(n),dX0),a(f(n),kX0,hX0);var c=e[2];a(f(n),wX0,c),u(f(n),EX0),u(f(n),SX0),a(f(n),FX0,gX0);var s=e[3];if(s){g(n,TX0);var p=s[1],y=function(E,h){u(f(E),cX0);var w=0;return le(function(G,A){G&&u(f(E),oX0);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),sX0)},T=function(E){return u(t,E)};R(Dr[1],T,y,n,p),g(n,OX0)}else g(n,IX0);return u(f(n),AX0),u(f(n),NX0)}),N(YJ,function(t,n){var e=u(oP,t);return a(P0(aX0),e,n)});var VJ=[0,oP,YJ],cP=function t(n,e,i,x){return t.fun(n,e,i,x)},zJ=function t(n,e,i){return t.fun(n,e,i)},C5=function t(n,e,i){return t.fun(n,e,i)},KJ=function t(n,e){return t.fun(n,e)},P5=function t(n,e,i){return t.fun(n,e,i)},WJ=function t(n,e){return t.fun(n,e)};N(cP,function(t,n,e,i){u(f(e),VH0),a(f(e),KH0,zH0);var x=i[1];function c(w){return u(n,w)}function s(w){return u(t,w)}R(Ln[1],s,c,e,x),u(f(e),WH0),u(f(e),JH0),a(f(e),ZH0,$H0);var p=i[2];ur(C5,function(w){return u(t,w)},e,p),u(f(e),QH0),u(f(e),rX0),a(f(e),nX0,eX0);var y=i[3];if(y){g(e,tX0);var T=y[1],E=function(w,G){return g(w,YH0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,uX0)}else g(e,iX0);return u(f(e),fX0),u(f(e),xX0)}),N(zJ,function(t,n,e){var i=a(cP,t,n);return a(P0(XH0),i,e)}),N(C5,function(t,n,e){u(f(n),qH0),a(t,n,e[1]),u(f(n),UH0);var i=e[2];return ur(P5,function(x){return u(t,x)},n,i),u(f(n),HH0)}),N(KJ,function(t,n){var e=u(C5,t);return a(P0(BH0),e,n)}),N(P5,function(t,n,e){switch(e[0]){case 0:u(f(n),CH0);var i=e[1],x=function(h){return u(t,h)};return ur(MJ[1],x,n,i),u(f(n),PH0);case 1:u(f(n),DH0);var c=e[1],s=function(h){return u(t,h)};return ur(qJ[1],s,n,c),u(f(n),LH0);case 2:u(f(n),RH0);var p=e[1],y=function(h){return u(t,h)};return ur(XJ[1],y,n,p),u(f(n),jH0);default:u(f(n),GH0);var T=e[1],E=function(h){return u(t,h)};return ur(VJ[1],E,n,T),u(f(n),MH0)}}),N(WJ,function(t,n){var e=u(P5,t);return a(P0(NH0),e,n)});var JJ=[0,uP,A5,MJ,qJ,XJ,VJ,cP,zJ,C5,KJ,P5,WJ],sP=function t(n,e,i,x){return t.fun(n,e,i,x)},$J=function t(n,e,i){return t.fun(n,e,i)};N(sP,function(t,n,e,i){u(f(e),QU0),a(f(e),eH0,rH0);var x=i[1];function c(k0){return u(n,k0)}function s(k0){return u(t,k0)}R(Ln[1],s,c,e,x),u(f(e),nH0),u(f(e),tH0),a(f(e),iH0,uH0);var p=i[2];if(p){g(e,fH0);var y=p[1],T=function(k0){return u(n,k0)},E=function(k0){return u(t,k0)};R(Je[22][1],E,T,e,y),g(e,xH0)}else g(e,aH0);u(f(e),oH0),u(f(e),cH0),a(f(e),vH0,sH0);var h=i[3];u(f(e),lH0);var w=0;le(function(k0,g0){k0&&u(f(e),WU0),u(f(e),JU0),a(t,e,g0[1]),u(f(e),$U0);var e0=g0[2];function x0(c0){return u(n,c0)}function l(c0){return u(t,c0)}return R(Je[2][2],l,x0,e,e0),u(f(e),ZU0),1},w,h),u(f(e),bH0),u(f(e),pH0),u(f(e),mH0),a(f(e),yH0,_H0);var G=i[4];u(f(e),dH0),a(t,e,G[1]),u(f(e),hH0);var A=G[2];function S(k0){return u(n,k0)}function M(k0){return u(t,k0)}R(Je[5][6],M,S,e,A),u(f(e),kH0),u(f(e),wH0),u(f(e),EH0),a(f(e),gH0,SH0);var K=i[5];if(K){g(e,FH0);var V=K[1],f0=function(k0,g0){return g(k0,KU0)},m0=function(k0){return u(t,k0)};R(Dr[1],m0,f0,e,V),g(e,TH0)}else g(e,OH0);return u(f(e),IH0),u(f(e),AH0)}),N($J,function(t,n,e){var i=a(sP,t,n);return a(P0(zU0),i,e)});var D5=[0,sP,$J],vP=function t(n,e,i,x){return t.fun(n,e,i,x)},ZJ=function t(n,e,i){return t.fun(n,e,i)};N(vP,function(t,n,e,i){u(f(e),Zq0),a(f(e),rU0,Qq0);var x=i[1];function c(_0){return u(n,_0)}function s(_0){return u(t,_0)}R(Ln[1],s,c,e,x),u(f(e),eU0),u(f(e),nU0),a(f(e),uU0,tU0);var p=i[2];if(p){g(e,iU0);var y=p[1],T=function(_0){return u(n,_0)},E=function(_0){return u(t,_0)};R(Je[22][1],E,T,e,y),g(e,fU0)}else g(e,xU0);u(f(e),aU0),u(f(e),oU0),a(f(e),sU0,cU0);var h=i[3];u(f(e),vU0),a(t,e,h[1]),u(f(e),lU0);var w=h[2];function G(_0){return u(n,_0)}function A(_0){return u(t,_0)}R(Je[5][6],A,G,e,w),u(f(e),bU0),u(f(e),pU0),u(f(e),mU0),a(f(e),yU0,_U0);var S=i[4];if(S){var M=S[1];g(e,dU0),u(f(e),hU0),a(t,e,M[1]),u(f(e),kU0);var K=M[2],V=function(_0){return u(n,_0)},f0=function(_0){return u(t,_0)};R(Je[2][2],f0,V,e,K),u(f(e),wU0),g(e,EU0)}else g(e,SU0);u(f(e),gU0),u(f(e),FU0),a(f(e),OU0,TU0);var m0=i[5];u(f(e),IU0);var k0=0;le(function(_0,E0){_0&&u(f(e),Kq0),u(f(e),Wq0),a(t,e,E0[1]),u(f(e),Jq0);var X0=E0[2];function b(X){return u(n,X)}function j0(X){return u(t,X)}return R(Je[2][2],j0,b,e,X0),u(f(e),$q0),1},k0,m0),u(f(e),AU0),u(f(e),NU0),u(f(e),CU0),a(f(e),DU0,PU0);var g0=i[6];if(g0){g(e,LU0);var e0=g0[1],x0=function(_0){return u(n,_0)},l=function(_0){return u(t,_0)};R(T1[5][2],l,x0,e,e0),g(e,RU0)}else g(e,jU0);u(f(e),GU0),u(f(e),MU0),a(f(e),qU0,BU0);var c0=i[7];if(c0){g(e,UU0);var t0=c0[1],a0=function(_0,E0){return g(_0,zq0)},w0=function(_0){return u(t,_0)};R(Dr[1],w0,a0,e,t0),g(e,HU0)}else g(e,XU0);return u(f(e),YU0),u(f(e),VU0)}),N(ZJ,function(t,n,e){var i=a(vP,t,n);return a(P0(Vq0),i,e)});var lP=[0,vP,ZJ],bP=function t(n,e,i,x){return t.fun(n,e,i,x)},QJ=function t(n,e,i){return t.fun(n,e,i)};N(bP,function(t,n,e,i){u(f(e),Aq0),a(f(e),Cq0,Nq0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Ln[1],s,c,e,x),u(f(e),Pq0),u(f(e),Dq0),a(f(e),Rq0,Lq0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[17],T,y,e,p),u(f(e),jq0),u(f(e),Gq0),a(f(e),Bq0,Mq0);var E=i[3];if(E){g(e,qq0);var h=E[1],w=function(A,S){return g(A,Iq0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Uq0)}else g(e,Hq0);return u(f(e),Xq0),u(f(e),Yq0)}),N(QJ,function(t,n,e){var i=a(bP,t,n);return a(P0(Oq0),i,e)});var pP=[0,bP,QJ],mP=function t(n,e,i,x){return t.fun(n,e,i,x)},r$=function t(n,e,i){return t.fun(n,e,i)};N(mP,function(t,n,e,i){u(f(e),iq0),a(f(e),xq0,fq0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(Ln[1],s,c,e,x),u(f(e),aq0),u(f(e),oq0),a(f(e),sq0,cq0);var p=i[2];function y(V){return u(n,V)}function T(V){return u(t,V)}R(Je[17],T,y,e,p),u(f(e),vq0),u(f(e),lq0),a(f(e),pq0,bq0);var E=i[3];if(E){g(e,mq0);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(Je[24][1],G,w,e,h),g(e,_q0)}else g(e,yq0);u(f(e),dq0),u(f(e),hq0),a(f(e),wq0,kq0);var A=i[4];if(A){g(e,Eq0);var S=A[1],M=function(V,f0){return g(V,uq0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,Sq0)}else g(e,gq0);return u(f(e),Fq0),u(f(e),Tq0)}),N(r$,function(t,n,e){var i=a(mP,t,n);return a(P0(tq0),i,e)});var _P=[0,mP,r$],L5=function t(n,e,i,x){return t.fun(n,e,i,x)},e$=function t(n,e,i){return t.fun(n,e,i)},R5=function t(n,e){return t.fun(n,e)},n$=function t(n){return t.fun(n)},yP=function t(n,e,i,x){return t.fun(n,e,i,x)},t$=function t(n,e,i){return t.fun(n,e,i)};N(L5,function(t,n,e,i){if(i[0]===0){u(f(e),JB0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Ln[1],s,c,e,x),u(f(e),$B0)}var p=i[1];u(f(e),ZB0),u(f(e),QB0),a(n,e,p[1]),u(f(e),rq0);var y=p[2];function T(E){return u(t,E)}return ur(F1[1],T,e,y),u(f(e),eq0),u(f(e),nq0)}),N(e$,function(t,n,e){var i=a(L5,t,n);return a(P0(WB0),i,e)}),N(R5,function(t,n){return n?g(t,zB0):g(t,KB0)}),N(n$,function(t){return a(P0(VB0),R5,t)}),N(yP,function(t,n,e,i){u(f(e),EB0),a(f(e),gB0,SB0);var x=i[1];function c(A){return u(n,A)}R(L5,function(A){return u(t,A)},c,e,x),u(f(e),FB0),u(f(e),TB0),a(f(e),IB0,OB0);var s=i[2];u(f(e),AB0),a(t,e,s[1]),u(f(e),NB0);var p=s[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Kv[1],T,y,e,p),u(f(e),CB0),u(f(e),PB0),u(f(e),DB0),a(f(e),RB0,LB0),a(R5,e,i[3]),u(f(e),jB0),u(f(e),GB0),a(f(e),BB0,MB0);var E=i[4];if(E){g(e,qB0);var h=E[1],w=function(A,S){return g(A,wB0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,UB0)}else g(e,HB0);return u(f(e),XB0),u(f(e),YB0)}),N(t$,function(t,n,e){var i=a(yP,t,n);return a(P0(kB0),i,e)});var u$=[0,L5,e$,R5,n$,yP,t$],dP=function t(n,e,i,x){return t.fun(n,e,i,x)},i$=function t(n,e,i){return t.fun(n,e,i)};N(dP,function(t,n,e,i){u(f(e),oB0),a(f(e),sB0,cB0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),vB0),u(f(e),lB0),a(f(e),pB0,bB0);var p=i[2];if(p){g(e,mB0);var y=p[1],T=function(h,w){return g(h,aB0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,_B0)}else g(e,yB0);return u(f(e),dB0),u(f(e),hB0)}),N(i$,function(t,n,e){var i=a(dP,t,n);return a(P0(xB0),i,e)});var f$=[0,dP,i$],hP=function t(n,e,i){return t.fun(n,e,i)},x$=function t(n,e){return t.fun(n,e)},j5=function t(n,e,i){return t.fun(n,e,i)},a$=function t(n,e){return t.fun(n,e)};N(hP,function(t,n,e){u(f(n),uB0),a(t,n,e[1]),u(f(n),iB0);var i=e[2];return ur(j5,function(x){return u(t,x)},n,i),u(f(n),fB0)}),N(x$,function(t,n){var e=u(hP,t);return a(P0(tB0),e,n)}),N(j5,function(t,n,e){u(f(n),YM0),a(f(n),zM0,VM0);var i=e[1];function x(E){return u(t,E)}function c(E){return u(t,E)}R(Ln[1],c,x,n,i),u(f(n),KM0),u(f(n),WM0),a(f(n),$M0,JM0);var s=e[2];if(s){g(n,ZM0);var p=s[1],y=function(E){return u(t,E)},T=function(E){return u(t,E)};R(Ln[1],T,y,n,p),g(n,QM0)}else g(n,rB0);return u(f(n),eB0),u(f(n),nB0)}),N(a$,function(t,n){var e=u(j5,t);return a(P0(XM0),e,n)});var o$=[0,hP,x$,j5,a$],kP=function t(n,e,i){return t.fun(n,e,i)},c$=function t(n,e){return t.fun(n,e)};N(kP,function(t,n,e){var i=e[2];if(u(f(n),GM0),a(t,n,e[1]),u(f(n),MM0),i){g(n,BM0);var x=i[1],c=function(p){return u(t,p)},s=function(p){return u(t,p)};R(Ln[1],s,c,n,x),g(n,qM0)}else g(n,UM0);return u(f(n),HM0)}),N(c$,function(t,n){var e=u(kP,t);return a(P0(jM0),e,n)});var s$=[0,kP,c$],wP=function t(n,e,i,x){return t.fun(n,e,i,x)},v$=function t(n,e,i){return t.fun(n,e,i)},G5=function t(n,e,i){return t.fun(n,e,i)},l$=function t(n,e){return t.fun(n,e)};N(wP,function(t,n,e,i){u(f(e),eM0),a(f(e),tM0,nM0);var x=i[1];if(x){g(e,uM0);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(Xu[35],p,s,e,c),g(e,iM0)}else g(e,fM0);u(f(e),xM0),u(f(e),aM0),a(f(e),cM0,oM0);var y=i[2];if(y){g(e,sM0);var T=y[1];ur(G5,function(V){return u(t,V)},e,T),g(e,vM0)}else g(e,lM0);u(f(e),bM0),u(f(e),pM0),a(f(e),_M0,mM0);var E=i[3];if(E){var h=E[1];g(e,yM0),u(f(e),dM0),a(t,e,h[1]),u(f(e),hM0);var w=h[2],G=function(V){return u(t,V)};ur(F1[1],G,e,w),u(f(e),kM0),g(e,wM0)}else g(e,EM0);u(f(e),SM0),u(f(e),gM0),a(f(e),TM0,FM0),a(Xu[33],e,i[4]),u(f(e),OM0),u(f(e),IM0),a(f(e),NM0,AM0);var A=i[5];if(A){g(e,CM0);var S=A[1],M=function(V,f0){return g(V,rM0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,PM0)}else g(e,DM0);return u(f(e),LM0),u(f(e),RM0)}),N(v$,function(t,n,e){var i=a(wP,t,n);return a(P0(QG0),i,e)}),N(G5,function(t,n,e){if(e[0]===0){u(f(n),zG0),u(f(n),KG0);var i=e[1],x=0;return le(function(p,y){p&&u(f(n),VG0);function T(E){return u(t,E)}return ur(o$[1],T,n,y),1},x,i),u(f(n),WG0),u(f(n),JG0)}u(f(n),$G0);var c=e[1];function s(p){return u(t,p)}return ur(s$[1],s,n,c),u(f(n),ZG0)}),N(l$,function(t,n){var e=u(G5,t);return a(P0(YG0),e,n)});var EP=[0,o$,s$,wP,v$,G5,l$],SP=function t(n,e,i,x){return t.fun(n,e,i,x)},b$=function t(n,e,i){return t.fun(n,e,i)},M5=function t(n,e,i,x){return t.fun(n,e,i,x)},p$=function t(n,e,i){return t.fun(n,e,i)};N(SP,function(t,n,e,i){u(f(e),IG0),a(f(e),NG0,AG0),a(t,e,i[1]),u(f(e),CG0),u(f(e),PG0),a(f(e),LG0,DG0);var x=i[2];function c(E){return u(n,E)}R(M5,function(E){return u(t,E)},c,e,x),u(f(e),RG0),u(f(e),jG0),a(f(e),MG0,GG0);var s=i[3];if(s){g(e,BG0);var p=s[1],y=function(E,h){return g(E,OG0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,qG0)}else g(e,UG0);return u(f(e),HG0),u(f(e),XG0)}),N(b$,function(t,n,e){var i=a(SP,t,n);return a(P0(TG0),i,e)}),N(M5,function(t,n,e,i){if(i[0]===0){u(f(e),EG0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Xu[35],s,c,e,x),u(f(e),SG0)}u(f(e),gG0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(qe[31],T,y,e,p),u(f(e),FG0)}),N(p$,function(t,n,e){var i=a(M5,t,n);return a(P0(wG0),i,e)});var m$=[0,SP,b$,M5,p$],B5=function t(n,e,i,x){return t.fun(n,e,i,x)},_$=function t(n,e,i){return t.fun(n,e,i)},gP=function t(n,e,i,x){return t.fun(n,e,i,x)},y$=function t(n,e,i){return t.fun(n,e,i)};N(B5,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),Xj0),u(f(e),Yj0),a(t,e,x[1]),u(f(e),Vj0);var c=x[2],s=function(E0){return u(n,E0)},p=function(E0){return u(t,E0)};return R(pP[1],p,s,e,c),u(f(e),zj0),u(f(e),Kj0);case 1:var y=i[1];u(f(e),Wj0),u(f(e),Jj0),a(t,e,y[1]),u(f(e),$j0);var T=y[2],E=function(E0){return u(n,E0)},h=function(E0){return u(t,E0)};return R(_P[1],h,E,e,T),u(f(e),Zj0),u(f(e),Qj0);case 2:var w=i[1];u(f(e),rG0),u(f(e),eG0),a(t,e,w[1]),u(f(e),nG0);var G=w[2],A=function(E0){return u(n,E0)},S=function(E0){return u(t,E0)};return R(lP[1],S,A,e,G),u(f(e),tG0),u(f(e),uG0);case 3:u(f(e),iG0);var M=i[1],K=function(E0){return u(n,E0)},V=function(E0){return u(t,E0)};return R(Je[13],V,K,e,M),u(f(e),fG0);case 4:var f0=i[1];u(f(e),xG0),u(f(e),aG0),a(t,e,f0[1]),u(f(e),oG0);var m0=f0[2],k0=function(E0){return u(n,E0)},g0=function(E0){return u(t,E0)};return R(d5[1],g0,k0,e,m0),u(f(e),cG0),u(f(e),sG0);case 5:var e0=i[1];u(f(e),vG0),u(f(e),lG0),a(t,e,e0[1]),u(f(e),bG0);var x0=e0[2],l=function(E0){return u(n,E0)},c0=function(E0){return u(t,E0)};return R(h5[1],c0,l,e,x0),u(f(e),pG0),u(f(e),mG0);default:var t0=i[1];u(f(e),_G0),u(f(e),yG0),a(t,e,t0[1]),u(f(e),dG0);var a0=t0[2],w0=function(E0){return u(n,E0)},_0=function(E0){return u(t,E0)};return R(D5[1],_0,w0,e,a0),u(f(e),hG0),u(f(e),kG0)}}),N(_$,function(t,n,e){var i=a(B5,t,n);return a(P0(Hj0),i,e)}),N(gP,function(t,n,e,i){u(f(e),uj0),a(f(e),fj0,ij0);var x=i[1];x?(g(e,xj0),a(t,e,x[1]),g(e,aj0)):g(e,oj0),u(f(e),cj0),u(f(e),sj0),a(f(e),lj0,vj0);var c=i[2];if(c){g(e,bj0);var s=c[1],p=function(f0){return u(n,f0)};R(B5,function(f0){return u(t,f0)},p,e,s),g(e,pj0)}else g(e,mj0);u(f(e),_j0),u(f(e),yj0),a(f(e),hj0,dj0);var y=i[3];if(y){g(e,kj0);var T=y[1],E=function(f0){return u(t,f0)};ur(EP[5],E,e,T),g(e,wj0)}else g(e,Ej0);u(f(e),Sj0),u(f(e),gj0),a(f(e),Tj0,Fj0);var h=i[4];if(h){var w=h[1];g(e,Oj0),u(f(e),Ij0),a(t,e,w[1]),u(f(e),Aj0);var G=w[2],A=function(f0){return u(t,f0)};ur(F1[1],A,e,G),u(f(e),Nj0),g(e,Cj0)}else g(e,Pj0);u(f(e),Dj0),u(f(e),Lj0),a(f(e),jj0,Rj0);var S=i[5];if(S){g(e,Gj0);var M=S[1],K=function(f0,m0){return g(f0,tj0)},V=function(f0){return u(t,f0)};R(Dr[1],V,K,e,M),g(e,Mj0)}else g(e,Bj0);return u(f(e),qj0),u(f(e),Uj0)}),N(y$,function(t,n,e){var i=a(gP,t,n);return a(P0(nj0),i,e)});var d$=[0,B5,_$,gP,y$],Al=function t(n,e){return t.fun(n,e)},h$=function t(n){return t.fun(n)},q5=function t(n,e,i,x){return t.fun(n,e,i,x)},k$=function t(n,e,i){return t.fun(n,e,i)},U5=function t(n,e,i,x){return t.fun(n,e,i,x)},w$=function t(n,e,i){return t.fun(n,e,i)},FP=function t(n,e,i,x){return t.fun(n,e,i,x)},E$=function t(n,e,i){return t.fun(n,e,i)};N(Al,function(t,n){switch(n){case 0:return g(t,QR0);case 1:return g(t,rj0);default:return g(t,ej0)}}),N(h$,function(t){return a(P0(ZR0),Al,t)}),N(q5,function(t,n,e,i){if(i[0]===0){u(f(e),HR0),u(f(e),XR0);var x=i[1],c=0;return le(function(E,h){E&&u(f(e),UR0);function w(G){return u(n,G)}return R(U5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),YR0),u(f(e),VR0)}var s=i[1];u(f(e),zR0),u(f(e),KR0),a(t,e,s[1]),u(f(e),WR0);var p=s[2];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(Ln[1],T,y,e,p),u(f(e),JR0),u(f(e),$R0)}),N(k$,function(t,n,e){var i=a(q5,t,n);return a(P0(qR0),i,e)}),N(U5,function(t,n,e,i){u(f(e),wR0),a(f(e),SR0,ER0);var x=i[1];x?(g(e,gR0),a(Al,e,x[1]),g(e,FR0)):g(e,TR0),u(f(e),OR0),u(f(e),IR0),a(f(e),NR0,AR0);var c=i[2];if(c){g(e,CR0);var s=c[1],p=function(w){return u(n,w)},y=function(w){return u(t,w)};R(Ln[1],y,p,e,s),g(e,PR0)}else g(e,DR0);u(f(e),LR0),u(f(e),RR0),a(f(e),GR0,jR0);var T=i[3];function E(w){return u(n,w)}function h(w){return u(t,w)}return R(Ln[1],h,E,e,T),u(f(e),MR0),u(f(e),BR0)}),N(w$,function(t,n,e){var i=a(U5,t,n);return a(P0(kR0),i,e)}),N(FP,function(t,n,e,i){u(f(e),UL0),a(f(e),XL0,HL0),a(Al,e,i[1]),u(f(e),YL0),u(f(e),VL0),a(f(e),KL0,zL0);var x=i[2];u(f(e),WL0),a(t,e,x[1]),u(f(e),JL0);var c=x[2];function s(V){return u(t,V)}ur(F1[1],s,e,c),u(f(e),$L0),u(f(e),ZL0),u(f(e),QL0),a(f(e),eR0,rR0);var p=i[3];if(p){g(e,nR0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(Ln[1],E,T,e,y),g(e,tR0)}else g(e,uR0);u(f(e),iR0),u(f(e),fR0),a(f(e),aR0,xR0);var h=i[4];if(h){g(e,oR0);var w=h[1],G=function(V){return u(n,V)};R(q5,function(V){return u(t,V)},G,e,w),g(e,cR0)}else g(e,sR0);u(f(e),vR0),u(f(e),lR0),a(f(e),pR0,bR0);var A=i[5];if(A){g(e,mR0);var S=A[1],M=function(V,f0){return g(V,qL0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,_R0)}else g(e,yR0);return u(f(e),dR0),u(f(e),hR0)}),N(E$,function(t,n,e){var i=a(FP,t,n);return a(P0(BL0),i,e)});var S$=[0,Al,h$,q5,k$,U5,w$,FP,E$],TP=function t(n,e,i,x){return t.fun(n,e,i,x)},g$=function t(n,e,i){return t.fun(n,e,i)};N(TP,function(t,n,e,i){u(f(e),hL0),a(f(e),wL0,kL0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),EL0),u(f(e),SL0),a(f(e),FL0,gL0);var p=i[2];if(p){g(e,TL0);var y=p[1];a(f(e),OL0,y),g(e,IL0)}else g(e,AL0);u(f(e),NL0),u(f(e),CL0),a(f(e),DL0,PL0);var T=i[3];if(T){g(e,LL0);var E=T[1],h=function(G,A){return g(G,dL0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,RL0)}else g(e,jL0);return u(f(e),GL0),u(f(e),ML0)}),N(g$,function(t,n,e){var i=a(TP,t,n);return a(P0(yL0),i,e)});var F$=[0,TP,g$],OP=function t(n,e,i){return t.fun(n,e,i)},T$=function t(n,e){return t.fun(n,e)};N(OP,function(t,n,e){u(f(n),cL0),a(f(n),vL0,sL0);var i=e[1];if(i){g(n,lL0);var x=i[1],c=function(p,y){return g(p,oL0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,bL0)}else g(n,pL0);return u(f(n),mL0),u(f(n),_L0)}),N(T$,function(t,n){var e=u(OP,t);return a(P0(aL0),e,n)});var O$=[0,OP,T$],IP=function t(n,e){return t.fun(n,e)},I$=function t(n){return t.fun(n)},AP=function t(n,e,i,x){return t.fun(n,e,i,x)},A$=function t(n,e,i){return t.fun(n,e,i)},H5=function t(n,e,i,x){return t.fun(n,e,i,x)},N$=function t(n,e,i){return t.fun(n,e,i)};N(IP,function(t,n){return n?g(t,fL0):g(t,xL0)}),N(I$,function(t){return a(P0(iL0),IP,t)}),N(AP,function(t,n,e,i){u(f(e),nL0),a(t,e,i[1]),u(f(e),tL0);var x=i[2];function c(s){return u(n,s)}return R(H5,function(s){return u(t,s)},c,e,x),u(f(e),uL0)}),N(A$,function(t,n,e){var i=a(AP,t,n);return a(P0(eL0),i,e)}),N(H5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),LP0);var x=i[1],c=function(d0){return u(n,d0)},s=function(d0){return u(t,d0)};return R(Kv[1],s,c,e,x),u(f(e),RP0);case 1:u(f(e),jP0);var p=i[1],y=function(d0){return u(t,d0)};return ur(zW[1],y,e,p),u(f(e),GP0);case 2:u(f(e),MP0);var T=i[1],E=function(d0){return u(n,d0)},h=function(d0){return u(t,d0)};return R(T1[8],h,E,e,T),u(f(e),BP0);case 3:u(f(e),qP0);var w=i[1],G=function(d0){return u(t,d0)};return ur(WW[1],G,e,w),u(f(e),UP0);case 4:u(f(e),HP0);var A=i[1],S=function(d0){return u(t,d0)};return ur($W[1],S,e,A),u(f(e),XP0);case 5:u(f(e),YP0);var M=i[1],K=function(d0){return u(n,d0)},V=function(d0){return u(t,d0)};return R(lP[1],V,K,e,M),u(f(e),VP0);case 6:u(f(e),zP0);var f0=i[1],m0=function(d0){return u(n,d0)},k0=function(d0){return u(t,d0)};return R(d$[3],k0,m0,e,f0),u(f(e),KP0);case 7:u(f(e),WP0);var g0=i[1],e0=function(d0){return u(n,d0)},x0=function(d0){return u(t,d0)};return R(_P[1],x0,e0,e,g0),u(f(e),JP0);case 8:u(f(e),$P0);var l=i[1],c0=function(d0){return u(n,d0)},t0=function(d0){return u(t,d0)};return R(D5[1],t0,c0,e,l),u(f(e),ZP0);case 9:u(f(e),QP0);var a0=i[1],w0=function(d0){return u(n,d0)},_0=function(d0){return u(t,d0)};return R(u$[5],_0,w0,e,a0),u(f(e),rD0);case 10:u(f(e),eD0);var E0=i[1],X0=function(d0){return u(n,d0)},b=function(d0){return u(t,d0)};return R(f$[1],b,X0,e,E0),u(f(e),nD0);case 11:u(f(e),tD0);var j0=i[1],X=function(d0){return u(n,d0)},s0=function(d0){return u(t,d0)};return R(d5[1],s0,X,e,j0),u(f(e),uD0);case 12:u(f(e),iD0);var dr=i[1],Ar=function(d0){return u(n,d0)},ar=function(d0){return u(t,d0)};return R(h5[1],ar,Ar,e,dr),u(f(e),fD0);case 13:u(f(e),xD0);var W0=i[1],Lr=function(d0){return u(n,d0)},Tr=function(d0){return u(t,d0)};return R(pP[1],Tr,Lr,e,W0),u(f(e),aD0);case 14:u(f(e),oD0);var Hr=i[1],Or=function(d0){return u(n,d0)},xr=function(d0){return u(t,d0)};return R(SJ[1],xr,Or,e,Hr),u(f(e),cD0);case 15:u(f(e),sD0);var Rr=i[1],Wr=function(d0){return u(t,d0)};return ur(O$[1],Wr,e,Rr),u(f(e),vD0);case 16:u(f(e),lD0);var Jr=i[1],or=function(d0){return u(n,d0)},_r=function(d0){return u(t,d0)};return R(JJ[7],_r,or,e,Jr),u(f(e),bD0);case 17:u(f(e),pD0);var Ir=i[1],fe=function(d0){return u(n,d0)},v0=function(d0){return u(t,d0)};return R(m$[1],v0,fe,e,Ir),u(f(e),mD0);case 18:u(f(e),_D0);var P=i[1],L=function(d0){return u(n,d0)},Q=function(d0){return u(t,d0)};return R(EP[3],Q,L,e,P),u(f(e),yD0);case 19:u(f(e),dD0);var i0=i[1],l0=function(d0){return u(n,d0)},S0=function(d0){return u(t,d0)};return R(F$[1],S0,l0,e,i0),u(f(e),hD0);case 20:u(f(e),kD0);var T0=i[1],rr=function(d0){return u(n,d0)},R0=function(d0){return u(t,d0)};return R(TJ[1],R0,rr,e,T0),u(f(e),wD0);case 21:u(f(e),ED0);var B=i[1],Z=function(d0){return u(n,d0)},p0=function(d0){return u(t,d0)};return R(AJ[1],p0,Z,e,B),u(f(e),SD0);case 22:u(f(e),gD0);var b0=i[1],O0=function(d0){return u(n,d0)},q0=function(d0){return u(t,d0)};return R(PJ[1],q0,O0,e,b0),u(f(e),FD0);case 23:u(f(e),TD0);var er=i[1],yr=function(d0){return u(n,d0)},vr=function(d0){return u(t,d0)};return R(Ps[5],vr,yr,e,er),u(f(e),OD0);case 24:u(f(e),ID0);var $0=i[1],Er=function(d0){return u(n,d0)},Mr=function(d0){return u(t,d0)};return R(HW[2],Mr,Er,e,$0),u(f(e),AD0);case 25:u(f(e),ND0);var Br=i[1],qr=function(d0){return u(n,d0)},jr=function(d0){return u(t,d0)};return R(S$[7],jr,qr,e,Br),u(f(e),CD0);case 26:u(f(e),PD0);var $r=i[1],ne=function(d0){return u(n,d0)},Qr=function(d0){return u(t,d0)};return R(D5[1],Qr,ne,e,$r),u(f(e),DD0);case 27:u(f(e),LD0);var be=i[1],oe=function(d0){return u(n,d0)},pe=function(d0){return u(t,d0)};return R(YW[1],pe,oe,e,be),u(f(e),RD0);case 28:u(f(e),jD0);var ae=i[1],ce=function(d0){return u(n,d0)},ge=function(d0){return u(t,d0)};return R(aJ[1],ge,ce,e,ae),u(f(e),GD0);case 29:u(f(e),MD0);var H0=i[1],Fr=function(d0){return u(n,d0)},_=function(d0){return u(t,d0)};return R(fJ[2],_,Fr,e,H0),u(f(e),BD0);case 30:u(f(e),qD0);var k=i[1],I=function(d0){return u(n,d0)},U=function(d0){return u(t,d0)};return R(cJ[1],U,I,e,k),u(f(e),UD0);case 31:u(f(e),HD0);var Y=i[1],y0=function(d0){return u(n,d0)},D0=function(d0){return u(t,d0)};return R(pJ[2],D0,y0,e,Y),u(f(e),XD0);case 32:u(f(e),YD0);var I0=i[1],D=function(d0){return u(n,d0)},u0=function(d0){return u(t,d0)};return R(d5[1],u0,D,e,I0),u(f(e),VD0);case 33:u(f(e),zD0);var Y0=i[1],J0=function(d0){return u(n,d0)},fr=function(d0){return u(t,d0)};return R(h5[1],fr,J0,e,Y0),u(f(e),KD0);case 34:u(f(e),WD0);var Q0=i[1],F0=function(d0){return u(n,d0)},Sr=function(d0){return u(t,d0)};return R(Il[2],Sr,F0,e,Q0),u(f(e),JD0);case 35:u(f(e),$D0);var mr=i[1],Cr=function(d0){return u(n,d0)},sr=function(d0){return u(t,d0)};return R(wJ[1],sr,Cr,e,mr),u(f(e),ZD0);default:u(f(e),QD0);var Pr=i[1],K0=function(d0){return u(n,d0)},Ur=function(d0){return u(t,d0)};return R(QW[1],Ur,K0,e,Pr),u(f(e),rL0)}}),N(N$,function(t,n,e){var i=a(H5,t,n);return a(P0(DP0),i,e)}),pu(x6r,Xu,[0,Kv,HW,YW,zW,WW,$W,QW,d5,h5,fJ,aJ,cJ,pJ,Il,wJ,SJ,TJ,AJ,PJ,JJ,D5,lP,pP,_P,u$,f$,EP,m$,d$,S$,F$,O$,IP,I$,AP,A$,H5,N$]);var NP=function t(n,e,i,x){return t.fun(n,e,i,x)},C$=function t(n,e,i){return t.fun(n,e,i)},X5=function t(n,e,i){return t.fun(n,e,i)},P$=function t(n,e){return t.fun(n,e)};N(NP,function(t,n,e,i){u(f(e),NP0),a(n,e,i[1]),u(f(e),CP0);var x=i[2];return ur(X5,function(c){return u(t,c)},e,x),u(f(e),PP0)}),N(C$,function(t,n,e){var i=a(NP,t,n);return a(P0(AP0),i,e)}),N(X5,function(t,n,e){u(f(n),wP0),a(f(n),SP0,EP0);var i=e[1];if(i){g(n,gP0);var x=i[1],c=function(p,y){return g(p,kP0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,FP0)}else g(n,TP0);return u(f(n),OP0),u(f(n),IP0)}),N(P$,function(t,n){var e=u(X5,t);return a(P0(hP0),e,n)});var D$=[0,NP,C$,X5,P$],CP=function t(n,e,i,x){return t.fun(n,e,i,x)},L$=function t(n,e,i){return t.fun(n,e,i)};N(CP,function(t,n,e,i){if(i[0]===0){u(f(e),mP0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Je[13],s,c,e,x),u(f(e),_P0)}u(f(e),yP0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(D$[1],T,y,e,p),u(f(e),dP0)}),N(L$,function(t,n,e){var i=a(CP,t,n);return a(P0(pP0),i,e)});var R$=[0,D$,CP,L$],PP=function t(n,e,i,x){return t.fun(n,e,i,x)},j$=function t(n,e,i){return t.fun(n,e,i)},Y5=function t(n,e,i,x){return t.fun(n,e,i,x)},G$=function t(n,e,i){return t.fun(n,e,i)};N(PP,function(t,n,e,i){u(f(e),vP0),a(t,e,i[1]),u(f(e),lP0);var x=i[2];function c(s){return u(n,s)}return R(Y5,function(s){return u(t,s)},c,e,x),u(f(e),bP0)}),N(j$,function(t,n,e){var i=a(PP,t,n);return a(P0(sP0),i,e)}),N(Y5,function(t,n,e,i){u(f(e),$C0),a(f(e),QC0,ZC0);var x=i[1];u(f(e),rP0);var c=0;le(function(E,h){E&&u(f(e),JC0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(R$[2],G,w,e,h),1},c,x),u(f(e),eP0),u(f(e),nP0),u(f(e),tP0),a(f(e),iP0,uP0);var s=i[2];if(s){g(e,fP0);var p=s[1],y=function(E,h){u(f(E),KC0);var w=0;return le(function(G,A){G&&u(f(E),zC0);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),WC0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,xP0)}else g(e,aP0);return u(f(e),oP0),u(f(e),cP0)}),N(G$,function(t,n,e){var i=a(Y5,t,n);return a(P0(VC0),i,e)});var DP=function t(n,e,i,x){return t.fun(n,e,i,x)},M$=function t(n,e,i){return t.fun(n,e,i)},V5=function t(n,e,i,x){return t.fun(n,e,i,x)},B$=function t(n,e,i){return t.fun(n,e,i)},Ree=[0,PP,j$,Y5,G$];N(DP,function(t,n,e,i){u(f(e),HC0),a(t,e,i[1]),u(f(e),XC0);var x=i[2];function c(s){return u(n,s)}return R(V5,function(s){return u(t,s)},c,e,x),u(f(e),YC0)}),N(M$,function(t,n,e){var i=a(DP,t,n);return a(P0(UC0),i,e)}),N(V5,function(t,n,e,i){u(f(e),AC0),a(f(e),CC0,NC0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),PC0),u(f(e),DC0),a(f(e),RC0,LC0);var p=i[2];if(p){g(e,jC0);var y=p[1],T=function(h,w){return g(h,IC0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,GC0)}else g(e,MC0);return u(f(e),BC0),u(f(e),qC0)}),N(B$,function(t,n,e){var i=a(V5,t,n);return a(P0(OC0),i,e)});var LP=[0,DP,M$,V5,B$],z5=function t(n,e,i,x){return t.fun(n,e,i,x)},q$=function t(n,e,i){return t.fun(n,e,i)};N(z5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),wC0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(qe[31],s,c,e,x),u(f(e),EC0);case 1:u(f(e),SC0);var p=i[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};return R(LP[1],T,y,e,p),u(f(e),gC0);default:return u(f(e),FC0),a(t,e,i[1]),u(f(e),TC0)}}),N(q$,function(t,n,e){var i=a(z5,t,n);return a(P0(kC0),i,e)});var RP=function t(n,e,i,x){return t.fun(n,e,i,x)},U$=function t(n,e,i){return t.fun(n,e,i)};N(RP,function(t,n,e,i){u(f(e),xC0),a(f(e),oC0,aC0);var x=i[1];u(f(e),cC0);var c=0;le(function(E,h){E&&u(f(e),fC0);function w(G){return u(n,G)}return R(z5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),sC0),u(f(e),vC0),u(f(e),lC0),a(f(e),pC0,bC0);var s=i[2];if(s){g(e,mC0);var p=s[1],y=function(E,h){u(f(E),uC0);var w=0;return le(function(G,A){G&&u(f(E),tC0);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),iC0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,_C0)}else g(e,yC0);return u(f(e),dC0),u(f(e),hC0)}),N(U$,function(t,n,e){var i=a(RP,t,n);return a(P0(nC0),i,e)});var H$=[0,z5,q$,RP,U$],K5=function t(n,e){return t.fun(n,e)},X$=function t(n){return t.fun(n)},jP=function t(n,e,i){return t.fun(n,e,i)},Y$=function t(n,e){return t.fun(n,e)},W5=function t(n,e){return t.fun(n,e)},V$=function t(n){return t.fun(n)};N(K5,function(t,n){u(f(t),YN0),a(f(t),zN0,VN0);var e=n[1];a(f(t),KN0,e),u(f(t),WN0),u(f(t),JN0),a(f(t),ZN0,$N0);var i=n[2];return a(f(t),QN0,i),u(f(t),rC0),u(f(t),eC0)}),N(X$,function(t){return a(P0(XN0),K5,t)}),N(jP,function(t,n,e){return u(f(n),qN0),a(t,n,e[1]),u(f(n),UN0),a(W5,n,e[2]),u(f(n),HN0)}),N(Y$,function(t,n){var e=u(jP,t);return a(P0(BN0),e,n)}),N(W5,function(t,n){u(f(t),AN0),a(f(t),CN0,NN0),a(K5,t,n[1]),u(f(t),PN0),u(f(t),DN0),a(f(t),RN0,LN0);var e=n[2];return a(f(t),jN0,e),u(f(t),GN0),u(f(t),MN0)}),N(V$,function(t){return a(P0(IN0),W5,t)});var z$=[0,K5,X$,jP,Y$,W5,V$],GP=function t(n,e,i,x){return t.fun(n,e,i,x)},K$=function t(n,e,i){return t.fun(n,e,i)};N(GP,function(t,n,e,i){u(f(e),oN0),a(f(e),sN0,cN0);var x=i[1];u(f(e),vN0);var c=0;le(function(w,G){w&&u(f(e),aN0);function A(S){return u(t,S)}return ur(z$[3],A,e,G),1},c,x),u(f(e),lN0),u(f(e),bN0),u(f(e),pN0),a(f(e),_N0,mN0);var s=i[2];u(f(e),yN0);var p=0;le(function(w,G){w&&u(f(e),xN0);function A(M){return u(n,M)}function S(M){return u(t,M)}return R(qe[31],S,A,e,G),1},p,s),u(f(e),dN0),u(f(e),hN0),u(f(e),kN0),a(f(e),EN0,wN0);var y=i[3];if(y){g(e,SN0);var T=y[1],E=function(w,G){return g(w,fN0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,gN0)}else g(e,FN0);return u(f(e),TN0),u(f(e),ON0)}),N(K$,function(t,n,e){var i=a(GP,t,n);return a(P0(iN0),i,e)});var MP=[0,z$,GP,K$],BP=function t(n,e,i,x){return t.fun(n,e,i,x)},W$=function t(n,e,i){return t.fun(n,e,i)};N(BP,function(t,n,e,i){u(f(e),BA0),a(f(e),UA0,qA0);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(qe[31],s,c,e,x),u(f(e),HA0),u(f(e),XA0),a(f(e),VA0,YA0);var p=i[2];u(f(e),zA0),a(t,e,p[1]),u(f(e),KA0);var y=p[2];function T(S){return u(n,S)}function E(S){return u(t,S)}R(MP[2],E,T,e,y),u(f(e),WA0),u(f(e),JA0),u(f(e),$A0),a(f(e),QA0,ZA0);var h=i[3];if(h){g(e,rN0);var w=h[1],G=function(S,M){return g(S,MA0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,eN0)}else g(e,nN0);return u(f(e),tN0),u(f(e),uN0)}),N(W$,function(t,n,e){var i=a(BP,t,n);return a(P0(GA0),i,e)});var J$=[0,BP,W$],O1=function t(n,e,i,x){return t.fun(n,e,i,x)},$$=function t(n,e,i){return t.fun(n,e,i)},qP=function t(n,e,i,x){return t.fun(n,e,i,x)},Z$=function t(n,e,i){return t.fun(n,e,i)},J5=function t(n,e,i,x){return t.fun(n,e,i,x)},Q$=function t(n,e,i){return t.fun(n,e,i)};N(O1,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),TA0),u(f(e),OA0),a(n,e,x[1]),u(f(e),IA0);var c=x[2],s=function(S){return u(t,S)};return ur(Tl[2],s,e,c),u(f(e),AA0),u(f(e),NA0);case 1:u(f(e),CA0);var p=i[1],y=function(S){return u(n,S)},T=function(S){return u(t,S)};return R(Ln[1],T,y,e,p),u(f(e),PA0);case 2:u(f(e),DA0);var E=i[1],h=function(S){return u(t,S)};return ur(qp[1],h,e,E),u(f(e),LA0);default:u(f(e),RA0);var w=i[1],G=function(S){return u(n,S)},A=function(S){return u(t,S)};return R(Up[1],A,G,e,w),u(f(e),jA0)}}),N($$,function(t,n,e){var i=a(O1,t,n);return a(P0(FA0),i,e)}),N(qP,function(t,n,e,i){u(f(e),EA0),a(t,e,i[1]),u(f(e),SA0);var x=i[2];function c(s){return u(n,s)}return R(J5,function(s){return u(t,s)},c,e,x),u(f(e),gA0)}),N(Z$,function(t,n,e){var i=a(qP,t,n);return a(P0(wA0),i,e)}),N(J5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),vI0),a(f(e),bI0,lI0);var x=i[1],c=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},c,e,x),u(f(e),pI0),u(f(e),mI0),a(f(e),yI0,_I0);var s=i[2],p=function(s0){return u(n,s0)},y=function(s0){return u(t,s0)};R(qe[31],y,p,e,s),u(f(e),dI0),u(f(e),hI0),a(f(e),wI0,kI0);var T=i[3];return a(f(e),EI0,T),u(f(e),SI0),u(f(e),gI0);case 1:var E=i[2];u(f(e),FI0),a(f(e),OI0,TI0);var h=i[1],w=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},w,e,h),u(f(e),II0),u(f(e),AI0),a(f(e),CI0,NI0),u(f(e),PI0),a(t,e,E[1]),u(f(e),DI0);var G=E[2],A=function(s0){return u(n,s0)},S=function(s0){return u(t,s0)};return R(Ps[5],S,A,e,G),u(f(e),LI0),u(f(e),RI0),u(f(e),jI0);case 2:var M=i[3],K=i[2];u(f(e),GI0),a(f(e),BI0,MI0);var V=i[1],f0=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},f0,e,V),u(f(e),qI0),u(f(e),UI0),a(f(e),XI0,HI0),u(f(e),YI0),a(t,e,K[1]),u(f(e),VI0);var m0=K[2],k0=function(s0){return u(n,s0)},g0=function(s0){return u(t,s0)};if(R(Ps[5],g0,k0,e,m0),u(f(e),zI0),u(f(e),KI0),u(f(e),WI0),a(f(e),$I0,JI0),M){g(e,ZI0);var e0=M[1],x0=function(s0,dr){return g(s0,sI0)},l=function(s0){return u(t,s0)};R(Dr[1],l,x0,e,e0),g(e,QI0)}else g(e,rA0);return u(f(e),eA0),u(f(e),nA0);default:var c0=i[3],t0=i[2];u(f(e),tA0),a(f(e),iA0,uA0);var a0=i[1],w0=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},w0,e,a0),u(f(e),fA0),u(f(e),xA0),a(f(e),oA0,aA0),u(f(e),cA0),a(t,e,t0[1]),u(f(e),sA0);var _0=t0[2],E0=function(s0){return u(n,s0)},X0=function(s0){return u(t,s0)};if(R(Ps[5],X0,E0,e,_0),u(f(e),vA0),u(f(e),lA0),u(f(e),bA0),a(f(e),mA0,pA0),c0){g(e,_A0);var b=c0[1],j0=function(s0,dr){return g(s0,cI0)},X=function(s0){return u(t,s0)};R(Dr[1],X,j0,e,b),g(e,yA0)}else g(e,dA0);return u(f(e),hA0),u(f(e),kA0)}}),N(Q$,function(t,n,e){var i=a(J5,t,n);return a(P0(oI0),i,e)});var rZ=[0,O1,$$,qP,Z$,J5,Q$],UP=function t(n,e,i,x){return t.fun(n,e,i,x)},eZ=function t(n,e,i){return t.fun(n,e,i)},$5=function t(n,e,i,x){return t.fun(n,e,i,x)},nZ=function t(n,e,i){return t.fun(n,e,i)};N(UP,function(t,n,e,i){u(f(e),fI0),a(t,e,i[1]),u(f(e),xI0);var x=i[2];function c(s){return u(n,s)}return R($5,function(s){return u(t,s)},c,e,x),u(f(e),aI0)}),N(eZ,function(t,n,e){var i=a(UP,t,n);return a(P0(iI0),i,e)}),N($5,function(t,n,e,i){u(f(e),zO0),a(f(e),WO0,KO0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),JO0),u(f(e),$O0),a(f(e),QO0,ZO0);var p=i[2];if(p){g(e,rI0);var y=p[1],T=function(h,w){return g(h,VO0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,eI0)}else g(e,nI0);return u(f(e),tI0),u(f(e),uI0)}),N(nZ,function(t,n,e){var i=a($5,t,n);return a(P0(YO0),i,e)});var tZ=[0,UP,eZ,$5,nZ],Z5=function t(n,e,i,x){return t.fun(n,e,i,x)},uZ=function t(n,e,i){return t.fun(n,e,i)},HP=function t(n,e,i,x){return t.fun(n,e,i,x)},iZ=function t(n,e,i){return t.fun(n,e,i)};N(Z5,function(t,n,e,i){if(i[0]===0){u(f(e),qO0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(rZ[3],s,c,e,x),u(f(e),UO0)}u(f(e),HO0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(tZ[1],T,y,e,p),u(f(e),XO0)}),N(uZ,function(t,n,e){var i=a(Z5,t,n);return a(P0(BO0),i,e)}),N(HP,function(t,n,e,i){u(f(e),FO0),a(f(e),OO0,TO0);var x=i[1];u(f(e),IO0);var c=0;le(function(E,h){E&&u(f(e),gO0);function w(G){return u(n,G)}return R(Z5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),AO0),u(f(e),NO0),u(f(e),CO0),a(f(e),DO0,PO0);var s=i[2];if(s){g(e,LO0);var p=s[1],y=function(E,h){u(f(E),EO0);var w=0;return le(function(G,A){G&&u(f(E),wO0);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),SO0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,RO0)}else g(e,jO0);return u(f(e),GO0),u(f(e),MO0)}),N(iZ,function(t,n,e){var i=a(HP,t,n);return a(P0(kO0),i,e)});var fZ=[0,rZ,tZ,Z5,uZ,HP,iZ],XP=function t(n,e,i,x){return t.fun(n,e,i,x)},xZ=function t(n,e,i){return t.fun(n,e,i)};N(XP,function(t,n,e,i){u(f(e),xO0),a(f(e),oO0,aO0);var x=i[1];u(f(e),cO0);var c=0;le(function(E,h){E&&u(f(e),fO0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(qe[31],G,w,e,h),1},c,x),u(f(e),sO0),u(f(e),vO0),u(f(e),lO0),a(f(e),pO0,bO0);var s=i[2];if(s){g(e,mO0);var p=s[1],y=function(E,h){return g(E,iO0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,_O0)}else g(e,yO0);return u(f(e),dO0),u(f(e),hO0)}),N(xZ,function(t,n,e){var i=a(XP,t,n);return a(P0(uO0),i,e)});var aZ=[0,XP,xZ],Q5=function t(n,e){return t.fun(n,e)},oZ=function t(n){return t.fun(n)},YP=function t(n,e,i,x){return t.fun(n,e,i,x)},cZ=function t(n,e,i){return t.fun(n,e,i)};N(Q5,function(t,n){switch(n){case 0:return g(t,JT0);case 1:return g(t,$T0);case 2:return g(t,ZT0);case 3:return g(t,QT0);case 4:return g(t,rO0);case 5:return g(t,eO0);case 6:return g(t,nO0);default:return g(t,tO0)}}),N(oZ,function(t){return a(P0(WT0),Q5,t)}),N(YP,function(t,n,e,i){u(f(e),PT0),a(f(e),LT0,DT0),a(Q5,e,i[1]),u(f(e),RT0),u(f(e),jT0),a(f(e),MT0,GT0);var x=i[2];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),BT0),u(f(e),qT0),a(f(e),HT0,UT0);var p=i[3];if(p){g(e,XT0);var y=p[1],T=function(h,w){return g(h,CT0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,YT0)}else g(e,VT0);return u(f(e),zT0),u(f(e),KT0)}),N(cZ,function(t,n,e){var i=a(YP,t,n);return a(P0(NT0),i,e)});var sZ=[0,Q5,oZ,YP,cZ],rm=function t(n,e){return t.fun(n,e)},vZ=function t(n){return t.fun(n)},VP=function t(n,e,i,x){return t.fun(n,e,i,x)},lZ=function t(n,e,i){return t.fun(n,e,i)};N(rm,function(t,n){switch(n){case 0:return g(t,oT0);case 1:return g(t,cT0);case 2:return g(t,sT0);case 3:return g(t,vT0);case 4:return g(t,lT0);case 5:return g(t,bT0);case 6:return g(t,pT0);case 7:return g(t,mT0);case 8:return g(t,_T0);case 9:return g(t,yT0);case 10:return g(t,dT0);case 11:return g(t,hT0);case 12:return g(t,kT0);case 13:return g(t,wT0);case 14:return g(t,ET0);case 15:return g(t,ST0);case 16:return g(t,gT0);case 17:return g(t,FT0);case 18:return g(t,TT0);case 19:return g(t,OT0);case 20:return g(t,IT0);default:return g(t,AT0)}}),N(vZ,function(t){return a(P0(aT0),rm,t)}),N(VP,function(t,n,e,i){u(f(e),UF0),a(f(e),XF0,HF0),a(rm,e,i[1]),u(f(e),YF0),u(f(e),VF0),a(f(e),KF0,zF0);var x=i[2];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),WF0),u(f(e),JF0),a(f(e),ZF0,$F0);var p=i[3];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),QF0),u(f(e),rT0),a(f(e),nT0,eT0);var E=i[4];if(E){g(e,tT0);var h=E[1],w=function(A,S){return g(A,qF0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,uT0)}else g(e,iT0);return u(f(e),fT0),u(f(e),xT0)}),N(lZ,function(t,n,e){var i=a(VP,t,n);return a(P0(BF0),i,e)});var bZ=[0,rm,vZ,VP,lZ],em=function t(n,e){return t.fun(n,e)},pZ=function t(n){return t.fun(n)},zP=function t(n,e,i,x){return t.fun(n,e,i,x)},mZ=function t(n,e,i){return t.fun(n,e,i)};N(em,function(t,n){switch(n){case 0:return g(t,gF0);case 1:return g(t,FF0);case 2:return g(t,TF0);case 3:return g(t,OF0);case 4:return g(t,IF0);case 5:return g(t,AF0);case 6:return g(t,NF0);case 7:return g(t,CF0);case 8:return g(t,PF0);case 9:return g(t,DF0);case 10:return g(t,LF0);case 11:return g(t,RF0);case 12:return g(t,jF0);case 13:return g(t,GF0);default:return g(t,MF0)}}),N(pZ,function(t){return a(P0(SF0),em,t)}),N(zP,function(t,n,e,i){u(f(e),eF0),a(f(e),tF0,nF0);var x=i[1];x?(g(e,uF0),a(em,e,x[1]),g(e,iF0)):g(e,fF0),u(f(e),xF0),u(f(e),aF0),a(f(e),cF0,oF0);var c=i[2];function s(S){return u(n,S)}function p(S){return u(t,S)}R(di[5],p,s,e,c),u(f(e),sF0),u(f(e),vF0),a(f(e),bF0,lF0);var y=i[3];function T(S){return u(n,S)}function E(S){return u(t,S)}R(qe[31],E,T,e,y),u(f(e),pF0),u(f(e),mF0),a(f(e),yF0,_F0);var h=i[4];if(h){g(e,dF0);var w=h[1],G=function(S,M){return g(S,rF0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,hF0)}else g(e,kF0);return u(f(e),wF0),u(f(e),EF0)}),N(mZ,function(t,n,e){var i=a(zP,t,n);return a(P0(Qg0),i,e)});var _Z=[0,em,pZ,zP,mZ],nm=function t(n,e){return t.fun(n,e)},yZ=function t(n){return t.fun(n)},KP=function t(n,e,i,x){return t.fun(n,e,i,x)},dZ=function t(n,e,i){return t.fun(n,e,i)};N(nm,function(t,n){return n?g(t,$g0):g(t,Zg0)}),N(yZ,function(t){return a(P0(Jg0),nm,t)}),N(KP,function(t,n,e,i){u(f(e),Ig0),a(f(e),Ng0,Ag0),a(nm,e,i[1]),u(f(e),Cg0),u(f(e),Pg0),a(f(e),Lg0,Dg0);var x=i[2];function c(w){return u(n,w)}function s(w){return u(t,w)}R(qe[31],s,c,e,x),u(f(e),Rg0),u(f(e),jg0),a(f(e),Mg0,Gg0);var p=i[3];a(f(e),Bg0,p),u(f(e),qg0),u(f(e),Ug0),a(f(e),Xg0,Hg0);var y=i[4];if(y){g(e,Yg0);var T=y[1],E=function(w,G){return g(w,Og0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,Vg0)}else g(e,zg0);return u(f(e),Kg0),u(f(e),Wg0)}),N(dZ,function(t,n,e){var i=a(KP,t,n);return a(P0(Tg0),i,e)});var hZ=[0,nm,yZ,KP,dZ],tm=function t(n,e){return t.fun(n,e)},kZ=function t(n){return t.fun(n)},WP=function t(n,e,i,x){return t.fun(n,e,i,x)},wZ=function t(n,e,i){return t.fun(n,e,i)};N(tm,function(t,n){switch(n){case 0:return g(t,Sg0);case 1:return g(t,gg0);default:return g(t,Fg0)}}),N(kZ,function(t){return a(P0(Eg0),tm,t)}),N(WP,function(t,n,e,i){u(f(e),tg0),a(f(e),ig0,ug0),a(tm,e,i[1]),u(f(e),fg0),u(f(e),xg0),a(f(e),og0,ag0);var x=i[2];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),cg0),u(f(e),sg0),a(f(e),lg0,vg0);var p=i[3];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),bg0),u(f(e),pg0),a(f(e),_g0,mg0);var E=i[4];if(E){g(e,yg0);var h=E[1],w=function(A,S){return g(A,ng0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,dg0)}else g(e,hg0);return u(f(e),kg0),u(f(e),wg0)}),N(wZ,function(t,n,e){var i=a(WP,t,n);return a(P0(eg0),i,e)});var EZ=[0,tm,kZ,WP,wZ],JP=function t(n,e,i,x){return t.fun(n,e,i,x)},SZ=function t(n,e,i){return t.fun(n,e,i)};N(JP,function(t,n,e,i){u(f(e),LS0),a(f(e),jS0,RS0);var x=i[1];function c(K){return u(n,K)}function s(K){return u(t,K)}R(qe[31],s,c,e,x),u(f(e),GS0),u(f(e),MS0),a(f(e),qS0,BS0);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(qe[31],T,y,e,p),u(f(e),US0),u(f(e),HS0),a(f(e),YS0,XS0);var E=i[3];function h(K){return u(n,K)}function w(K){return u(t,K)}R(qe[31],w,h,e,E),u(f(e),VS0),u(f(e),zS0),a(f(e),WS0,KS0);var G=i[4];if(G){g(e,JS0);var A=G[1],S=function(K,V){return g(K,DS0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,$S0)}else g(e,ZS0);return u(f(e),QS0),u(f(e),rg0)}),N(SZ,function(t,n,e){var i=a(JP,t,n);return a(P0(PS0),i,e)});var gZ=[0,JP,SZ],um=function t(n,e,i,x){return t.fun(n,e,i,x)},FZ=function t(n,e,i){return t.fun(n,e,i)};N(um,function(t,n,e,i){if(i[0]===0){u(f(e),IS0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(qe[31],s,c,e,x),u(f(e),AS0)}u(f(e),NS0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(LP[1],T,y,e,p),u(f(e),CS0)}),N(FZ,function(t,n,e){var i=a(um,t,n);return a(P0(OS0),i,e)});var $P=function t(n,e,i,x){return t.fun(n,e,i,x)},TZ=function t(n,e,i){return t.fun(n,e,i)},im=function t(n,e,i,x){return t.fun(n,e,i,x)},OZ=function t(n,e,i){return t.fun(n,e,i)};N($P,function(t,n,e,i){u(f(e),gS0),a(t,e,i[1]),u(f(e),FS0);var x=i[2];function c(s){return u(n,s)}return R(im,function(s){return u(t,s)},c,e,x),u(f(e),TS0)}),N(TZ,function(t,n,e){var i=a($P,t,n);return a(P0(SS0),i,e)}),N(im,function(t,n,e,i){u(f(e),cS0),a(f(e),vS0,sS0);var x=i[1];u(f(e),lS0);var c=0;le(function(E,h){E&&u(f(e),oS0);function w(G){return u(n,G)}return R(um,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),bS0),u(f(e),pS0),u(f(e),mS0),a(f(e),yS0,_S0);var s=i[2];if(s){g(e,dS0);var p=s[1],y=function(E,h){u(f(E),xS0);var w=0;return le(function(G,A){G&&u(f(E),fS0);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),aS0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,hS0)}else g(e,kS0);return u(f(e),wS0),u(f(e),ES0)}),N(OZ,function(t,n,e){var i=a(im,t,n);return a(P0(iS0),i,e)});var ZP=[0,$P,TZ,im,OZ],QP=function t(n,e,i,x){return t.fun(n,e,i,x)},IZ=function t(n,e,i){return t.fun(n,e,i)};N(QP,function(t,n,e,i){u(f(e),PE0),a(f(e),LE0,DE0);var x=i[1];function c(f0){return u(n,f0)}function s(f0){return u(t,f0)}R(qe[31],s,c,e,x),u(f(e),RE0),u(f(e),jE0),a(f(e),ME0,GE0);var p=i[2];if(p){g(e,BE0);var y=p[1],T=function(f0){return u(n,f0)},E=function(f0){return u(t,f0)};R(qe[2][1],E,T,e,y),g(e,qE0)}else g(e,UE0);u(f(e),HE0),u(f(e),XE0),a(f(e),VE0,YE0);var h=i[3];if(h){g(e,zE0);var w=h[1],G=function(f0){return u(n,f0)},A=function(f0){return u(t,f0)};R(ZP[1],A,G,e,w),g(e,KE0)}else g(e,WE0);u(f(e),JE0),u(f(e),$E0),a(f(e),QE0,ZE0);var S=i[4];if(S){g(e,rS0);var M=S[1],K=function(f0,m0){return g(f0,CE0)},V=function(f0){return u(t,f0)};R(Dr[1],V,K,e,M),g(e,eS0)}else g(e,nS0);return u(f(e),tS0),u(f(e),uS0)}),N(IZ,function(t,n,e){var i=a(QP,t,n);return a(P0(NE0),i,e)});var AZ=[0,QP,IZ],rD=function t(n,e,i,x){return t.fun(n,e,i,x)},NZ=function t(n,e,i){return t.fun(n,e,i)};N(rD,function(t,n,e,i){u(f(e),aE0),a(f(e),cE0,oE0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[31],s,c,e,x),u(f(e),sE0),u(f(e),vE0),a(f(e),bE0,lE0);var p=i[2];if(p){g(e,pE0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(qe[2][1],E,T,e,y),g(e,mE0)}else g(e,_E0);u(f(e),yE0),u(f(e),dE0),a(f(e),kE0,hE0);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(ZP[1],G,w,e,h),u(f(e),wE0),u(f(e),EE0),a(f(e),gE0,SE0);var A=i[4];if(A){g(e,FE0);var S=A[1],M=function(V,f0){return g(V,xE0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,TE0)}else g(e,OE0);return u(f(e),IE0),u(f(e),AE0)}),N(NZ,function(t,n,e){var i=a(rD,t,n);return a(P0(fE0),i,e)});var eD=[0,rD,NZ],nD=function t(n,e,i,x){return t.fun(n,e,i,x)},CZ=function t(n,e,i){return t.fun(n,e,i)};N(nD,function(t,n,e,i){u(f(e),Vw0),a(f(e),Kw0,zw0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(eD[1],s,c,e,x),u(f(e),Ww0),u(f(e),Jw0),a(f(e),Zw0,$w0),a(n,e,i[2]),u(f(e),Qw0),u(f(e),rE0),a(f(e),nE0,eE0);var p=i[3];return a(f(e),tE0,p),u(f(e),uE0),u(f(e),iE0)}),N(CZ,function(t,n,e){var i=a(nD,t,n);return a(P0(Yw0),i,e)});var PZ=[0,nD,CZ],fm=function t(n,e,i,x){return t.fun(n,e,i,x)},DZ=function t(n,e,i){return t.fun(n,e,i)},tD=function t(n,e,i,x){return t.fun(n,e,i,x)},LZ=function t(n,e,i){return t.fun(n,e,i)};N(fm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Mw0);var x=i[1],c=function(w){return u(n,w)},s=function(w){return u(t,w)};return R(Ln[1],s,c,e,x),u(f(e),Bw0);case 1:u(f(e),qw0);var p=i[1],y=function(w){return u(t,w)};return ur(qp[1],y,e,p),u(f(e),Uw0);default:u(f(e),Hw0);var T=i[1],E=function(w){return u(n,w)},h=function(w){return u(t,w)};return R(qe[31],h,E,e,T),u(f(e),Xw0)}}),N(DZ,function(t,n,e){var i=a(fm,t,n);return a(P0(Gw0),i,e)}),N(tD,function(t,n,e,i){u(f(e),ww0),a(f(e),Sw0,Ew0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),gw0),u(f(e),Fw0),a(f(e),Ow0,Tw0);var p=i[2];function y(G){return u(n,G)}R(fm,function(G){return u(t,G)},y,e,p),u(f(e),Iw0),u(f(e),Aw0),a(f(e),Cw0,Nw0);var T=i[3];if(T){g(e,Pw0);var E=T[1],h=function(G,A){return g(G,kw0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,Dw0)}else g(e,Lw0);return u(f(e),Rw0),u(f(e),jw0)}),N(LZ,function(t,n,e){var i=a(tD,t,n);return a(P0(hw0),i,e)});var uD=[0,fm,DZ,tD,LZ],iD=function t(n,e,i,x){return t.fun(n,e,i,x)},RZ=function t(n,e,i){return t.fun(n,e,i)};N(iD,function(t,n,e,i){u(f(e),fw0),a(f(e),aw0,xw0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(uD[3],s,c,e,x),u(f(e),ow0),u(f(e),cw0),a(f(e),vw0,sw0),a(n,e,i[2]),u(f(e),lw0),u(f(e),bw0),a(f(e),mw0,pw0);var p=i[3];return a(f(e),_w0,p),u(f(e),yw0),u(f(e),dw0)}),N(RZ,function(t,n,e){var i=a(iD,t,n);return a(P0(iw0),i,e)});var jZ=[0,iD,RZ],fD=function t(n,e,i,x){return t.fun(n,e,i,x)},GZ=function t(n,e,i){return t.fun(n,e,i)};N(fD,function(t,n,e,i){u(f(e),Lk0),a(f(e),jk0,Rk0);var x=i[1];if(x){g(e,Gk0);var c=x[1],s=function(G){return u(n,G)},p=function(G){return u(t,G)};R(qe[31],p,s,e,c),g(e,Mk0)}else g(e,Bk0);u(f(e),qk0),u(f(e),Uk0),a(f(e),Xk0,Hk0);var y=i[2];if(y){g(e,Yk0);var T=y[1],E=function(G,A){return g(G,Dk0)},h=function(G){return u(t,G)};R(Dr[1],h,E,e,T),g(e,Vk0)}else g(e,zk0);u(f(e),Kk0),u(f(e),Wk0),a(f(e),$k0,Jk0);var w=i[3];return a(f(e),Zk0,w),u(f(e),Qk0),u(f(e),rw0),a(f(e),nw0,ew0),a(n,e,i[4]),u(f(e),tw0),u(f(e),uw0)}),N(GZ,function(t,n,e){var i=a(fD,t,n);return a(P0(Pk0),i,e)});var MZ=[0,fD,GZ],xD=function t(n,e,i,x){return t.fun(n,e,i,x)},BZ=function t(n,e,i){return t.fun(n,e,i)},xm=function t(n,e,i,x){return t.fun(n,e,i,x)},qZ=function t(n,e,i){return t.fun(n,e,i)};N(xD,function(t,n,e,i){u(f(e),Ak0),a(t,e,i[1]),u(f(e),Nk0);var x=i[2];function c(s){return u(n,s)}return R(xm,function(s){return u(t,s)},c,e,x),u(f(e),Ck0)}),N(BZ,function(t,n,e){var i=a(xD,t,n);return a(P0(Ik0),i,e)}),N(xm,function(t,n,e,i){u(f(e),pk0),a(f(e),_k0,mk0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),yk0),u(f(e),dk0),a(f(e),kk0,hk0);var p=i[2];function y(h){return u(n,h)}function T(h){return u(t,h)}R(qe[31],T,y,e,p),u(f(e),wk0),u(f(e),Ek0),a(f(e),gk0,Sk0);var E=i[3];return a(f(e),Fk0,E),u(f(e),Tk0),u(f(e),Ok0)}),N(qZ,function(t,n,e){var i=a(xm,t,n);return a(P0(bk0),i,e)});var UZ=[0,xD,BZ,xm,qZ],aD=function t(n,e,i,x){return t.fun(n,e,i,x)},HZ=function t(n,e,i){return t.fun(n,e,i)};N(aD,function(t,n,e,i){u(f(e),rk0),a(f(e),nk0,ek0);var x=i[1];u(f(e),tk0);var c=0;le(function(E,h){E&&u(f(e),Qh0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(UZ[1],G,w,e,h),1},c,x),u(f(e),uk0),u(f(e),ik0),u(f(e),fk0),a(f(e),ak0,xk0);var s=i[2];if(s){g(e,ok0);var p=s[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};R(qe[31],T,y,e,p),g(e,ck0)}else g(e,sk0);return u(f(e),vk0),u(f(e),lk0)}),N(HZ,function(t,n,e){var i=a(aD,t,n);return a(P0(Zh0),i,e)});var oD=[0,UZ,aD,HZ],cD=function t(n,e,i,x){return t.fun(n,e,i,x)},XZ=function t(n,e,i){return t.fun(n,e,i)};N(cD,function(t,n,e,i){u(f(e),Gh0),a(f(e),Bh0,Mh0);var x=i[1];u(f(e),qh0);var c=0;le(function(E,h){E&&u(f(e),jh0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(oD[1][1],G,w,e,h),1},c,x),u(f(e),Uh0),u(f(e),Hh0),u(f(e),Xh0),a(f(e),Vh0,Yh0);var s=i[2];if(s){g(e,zh0);var p=s[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};R(qe[31],T,y,e,p),g(e,Kh0)}else g(e,Wh0);return u(f(e),Jh0),u(f(e),$h0)}),N(XZ,function(t,n,e){var i=a(cD,t,n);return a(P0(Rh0),i,e)});var YZ=[0,cD,XZ],sD=function t(n,e,i,x){return t.fun(n,e,i,x)},VZ=function t(n,e,i){return t.fun(n,e,i)};N(sD,function(t,n,e,i){u(f(e),hh0),a(f(e),wh0,kh0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),Eh0),u(f(e),Sh0),a(f(e),Fh0,gh0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[17],T,y,e,p),u(f(e),Th0),u(f(e),Oh0),a(f(e),Ah0,Ih0);var E=i[3];if(E){g(e,Nh0);var h=E[1],w=function(A,S){return g(A,dh0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Ch0)}else g(e,Ph0);return u(f(e),Dh0),u(f(e),Lh0)}),N(VZ,function(t,n,e){var i=a(sD,t,n);return a(P0(yh0),i,e)});var zZ=[0,sD,VZ],vD=function t(n,e,i){return t.fun(n,e,i)},KZ=function t(n,e){return t.fun(n,e)};N(vD,function(t,n,e){u(f(n),nh0),a(f(n),uh0,th0);var i=e[1];function x(G){return u(t,G)}function c(G){return u(t,G)}R(Ln[1],c,x,n,i),u(f(n),ih0),u(f(n),fh0),a(f(n),ah0,xh0);var s=e[2];function p(G){return u(t,G)}function y(G){return u(t,G)}R(Ln[1],y,p,n,s),u(f(n),oh0),u(f(n),ch0),a(f(n),vh0,sh0);var T=e[3];if(T){g(n,lh0);var E=T[1],h=function(G,A){return g(G,eh0)},w=function(G){return u(t,G)};R(Dr[1],w,h,n,E),g(n,bh0)}else g(n,ph0);return u(f(n),mh0),u(f(n),_h0)}),N(KZ,function(t,n){var e=u(vD,t);return a(P0(rh0),e,n)});var WZ=[0,vD,KZ],lD=function t(n,e,i){return t.fun(n,e,i)},JZ=function t(n,e){return t.fun(n,e)};N(lD,function(t,n,e){u(f(n),Vd0),a(f(n),Kd0,zd0);var i=e[1];if(i){g(n,Wd0);var x=i[1],c=function(p,y){return g(p,Yd0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Jd0)}else g(n,$d0);return u(f(n),Zd0),u(f(n),Qd0)}),N(JZ,function(t,n){var e=u(lD,t);return a(P0(Xd0),e,n)});var $Z=[0,lD,JZ],bD=function t(n,e,i){return t.fun(n,e,i)},ZZ=function t(n,e){return t.fun(n,e)};N(bD,function(t,n,e){u(f(n),Rd0),a(f(n),Gd0,jd0);var i=e[1];if(i){g(n,Md0);var x=i[1],c=function(p,y){return g(p,Ld0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Bd0)}else g(n,qd0);return u(f(n),Ud0),u(f(n),Hd0)}),N(ZZ,function(t,n){var e=u(bD,t);return a(P0(Dd0),e,n)});var QZ=[0,bD,ZZ],pD=function t(n,e,i,x){return t.fun(n,e,i,x)},rQ=function t(n,e,i){return t.fun(n,e,i)};N(pD,function(t,n,e,i){u(f(e),wd0),a(f(e),Sd0,Ed0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),gd0),u(f(e),Fd0),a(f(e),Od0,Td0);var p=i[2];if(p){g(e,Id0);var y=p[1],T=function(h,w){return g(h,kd0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Ad0)}else g(e,Nd0);return u(f(e),Cd0),u(f(e),Pd0)}),N(rQ,function(t,n,e){var i=a(pD,t,n);return a(P0(hd0),i,e)});var eQ=[0,pD,rQ],mD=function t(n,e,i,x){return t.fun(n,e,i,x)},nQ=function t(n,e,i){return t.fun(n,e,i)},am=function t(n,e,i,x){return t.fun(n,e,i,x)},tQ=function t(n,e,i){return t.fun(n,e,i)};N(mD,function(t,n,e,i){u(f(e),_d0),a(n,e,i[1]),u(f(e),yd0);var x=i[2];function c(s){return u(n,s)}return R(am,function(s){return u(t,s)},c,e,x),u(f(e),dd0)}),N(nQ,function(t,n,e){var i=a(mD,t,n);return a(P0(md0),i,e)}),N(am,function(t,n,e,i){switch(i[0]){case 0:u(f(e),ay0);var x=i[1],c=function(Y){return u(n,Y)},s=function(Y){return u(t,Y)};return R(H$[3],s,c,e,x),u(f(e),oy0);case 1:u(f(e),cy0);var p=i[1],y=function(Y){return u(n,Y)},T=function(Y){return u(t,Y)};return R(Ps[5],T,y,e,p),u(f(e),sy0);case 2:u(f(e),vy0);var E=i[1],h=function(Y){return u(n,Y)},w=function(Y){return u(t,Y)};return R(_Z[3],w,h,e,E),u(f(e),ly0);case 3:u(f(e),by0);var G=i[1],A=function(Y){return u(n,Y)},S=function(Y){return u(t,Y)};return R(bZ[3],S,A,e,G),u(f(e),py0);case 4:u(f(e),my0);var M=i[1],K=function(Y){return u(n,Y)},V=function(Y){return u(t,Y)};return R(eD[1],V,K,e,M),u(f(e),_y0);case 5:u(f(e),yy0);var f0=i[1],m0=function(Y){return u(n,Y)},k0=function(Y){return u(t,Y)};return R(T1[8],k0,m0,e,f0),u(f(e),dy0);case 6:u(f(e),hy0);var g0=i[1],e0=function(Y){return u(n,Y)},x0=function(Y){return u(t,Y)};return R(oD[2],x0,e0,e,g0),u(f(e),ky0);case 7:u(f(e),wy0);var l=i[1],c0=function(Y){return u(n,Y)},t0=function(Y){return u(t,Y)};return R(gZ[1],t0,c0,e,l),u(f(e),Ey0);case 8:u(f(e),Sy0);var a0=i[1],w0=function(Y){return u(n,Y)},_0=function(Y){return u(t,Y)};return R(Ps[5],_0,w0,e,a0),u(f(e),gy0);case 9:u(f(e),Fy0);var E0=i[1],X0=function(Y){return u(n,Y)},b=function(Y){return u(t,Y)};return R(YZ[1],b,X0,e,E0),u(f(e),Ty0);case 10:u(f(e),Oy0);var j0=i[1],X=function(Y){return u(n,Y)},s0=function(Y){return u(t,Y)};return R(Ln[1],s0,X,e,j0),u(f(e),Iy0);case 11:u(f(e),Ay0);var dr=i[1],Ar=function(Y){return u(n,Y)},ar=function(Y){return u(t,Y)};return R(eQ[1],ar,Ar,e,dr),u(f(e),Ny0);case 12:u(f(e),Cy0);var W0=i[1],Lr=function(Y){return u(n,Y)},Tr=function(Y){return u(t,Y)};return R(YN[17],Tr,Lr,e,W0),u(f(e),Py0);case 13:u(f(e),Dy0);var Hr=i[1],Or=function(Y){return u(n,Y)},xr=function(Y){return u(t,Y)};return R(YN[19],xr,Or,e,Hr),u(f(e),Ly0);case 14:u(f(e),Ry0);var Rr=i[1],Wr=function(Y){return u(t,Y)};return ur(Tl[2],Wr,e,Rr),u(f(e),jy0);case 15:u(f(e),Gy0);var Jr=i[1],or=function(Y){return u(n,Y)},_r=function(Y){return u(t,Y)};return R(EZ[3],_r,or,e,Jr),u(f(e),My0);case 16:u(f(e),By0);var Ir=i[1],fe=function(Y){return u(n,Y)},v0=function(Y){return u(t,Y)};return R(uD[3],v0,fe,e,Ir),u(f(e),qy0);case 17:u(f(e),Uy0);var P=i[1],L=function(Y){return u(t,Y)};return ur(WZ[1],L,e,P),u(f(e),Hy0);case 18:u(f(e),Xy0);var Q=i[1],i0=function(Y){return u(n,Y)},l0=function(Y){return u(t,Y)};return R(AZ[1],l0,i0,e,Q),u(f(e),Yy0);case 19:u(f(e),Vy0);var S0=i[1],T0=function(Y){return u(n,Y)},rr=function(Y){return u(t,Y)};return R(fZ[5],rr,T0,e,S0),u(f(e),zy0);case 20:u(f(e),Ky0);var R0=i[1],B=function(Y){return u(n,Y)},Z=function(Y){return u(t,Y)};return R(PZ[1],Z,B,e,R0),u(f(e),Wy0);case 21:u(f(e),Jy0);var p0=i[1],b0=function(Y){return u(n,Y)},O0=function(Y){return u(t,Y)};return R(jZ[1],O0,b0,e,p0),u(f(e),$y0);case 22:u(f(e),Zy0);var q0=i[1],er=function(Y){return u(n,Y)},yr=function(Y){return u(t,Y)};return R(aZ[1],yr,er,e,q0),u(f(e),Qy0);case 23:u(f(e),rd0);var vr=i[1],$0=function(Y){return u(t,Y)};return ur(QZ[1],$0,e,vr),u(f(e),ed0);case 24:u(f(e),nd0);var Er=i[1],Mr=function(Y){return u(n,Y)},Br=function(Y){return u(t,Y)};return R(J$[1],Br,Mr,e,Er),u(f(e),td0);case 25:u(f(e),ud0);var qr=i[1],jr=function(Y){return u(n,Y)},$r=function(Y){return u(t,Y)};return R(MP[2],$r,jr,e,qr),u(f(e),id0);case 26:u(f(e),fd0);var ne=i[1],Qr=function(Y){return u(t,Y)};return ur($Z[1],Qr,e,ne),u(f(e),xd0);case 27:u(f(e),ad0);var be=i[1],oe=function(Y){return u(n,Y)},pe=function(Y){return u(t,Y)};return R(zZ[1],pe,oe,e,be),u(f(e),od0);case 28:u(f(e),cd0);var ae=i[1],ce=function(Y){return u(n,Y)},ge=function(Y){return u(t,Y)};return R(sZ[3],ge,ce,e,ae),u(f(e),sd0);case 29:u(f(e),vd0);var H0=i[1],Fr=function(Y){return u(n,Y)},_=function(Y){return u(t,Y)};return R(hZ[3],_,Fr,e,H0),u(f(e),ld0);default:u(f(e),bd0);var k=i[1],I=function(Y){return u(n,Y)},U=function(Y){return u(t,Y)};return R(MZ[1],U,I,e,k),u(f(e),pd0)}}),N(tQ,function(t,n,e){var i=a(am,t,n);return a(P0(xy0),i,e)}),pu(a6r,qe,[0,R$,Ree,LP,H$,MP,J$,fZ,aZ,sZ,bZ,_Z,hZ,EZ,gZ,um,FZ,ZP,AZ,eD,PZ,uD,jZ,MZ,oD,YZ,zZ,WZ,$Z,QZ,eQ,mD,nQ,am,tQ]);var _D=function t(n,e,i,x){return t.fun(n,e,i,x)},uQ=function t(n,e,i){return t.fun(n,e,i)},om=function t(n,e,i){return t.fun(n,e,i)},iQ=function t(n,e){return t.fun(n,e)};N(_D,function(t,n,e,i){u(f(e),uy0),a(n,e,i[1]),u(f(e),iy0);var x=i[2];return ur(om,function(c){return u(t,c)},e,x),u(f(e),fy0)}),N(uQ,function(t,n,e){var i=a(_D,t,n);return a(P0(ty0),i,e)}),N(om,function(t,n,e){u(f(n),X_0),a(f(n),V_0,Y_0);var i=e[1];a(f(n),z_0,i),u(f(n),K_0),u(f(n),W_0),a(f(n),$_0,J_0);var x=e[2];if(x){g(n,Z_0);var c=x[1],s=function(y,T){return g(y,H_0)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,Q_0)}else g(n,ry0);return u(f(n),ey0),u(f(n),ny0)}),N(iQ,function(t,n){var e=u(om,t);return a(P0(U_0),e,n)});var I1=[0,_D,uQ,om,iQ],yD=function t(n,e,i,x){return t.fun(n,e,i,x)},fQ=function t(n,e,i){return t.fun(n,e,i)},cm=function t(n,e,i,x){return t.fun(n,e,i,x)},xQ=function t(n,e,i){return t.fun(n,e,i)};N(yD,function(t,n,e,i){u(f(e),M_0),a(t,e,i[1]),u(f(e),B_0);var x=i[2];function c(s){return u(n,s)}return R(cm,function(s){return u(t,s)},c,e,x),u(f(e),q_0)}),N(fQ,function(t,n,e){var i=a(yD,t,n);return a(P0(G_0),i,e)}),N(cm,function(t,n,e,i){u(f(e),I_0),a(f(e),N_0,A_0);var x=i[1];function c(E){return u(n,E)}function s(E){return u(t,E)}R(I1[1],s,c,e,x),u(f(e),C_0),u(f(e),P_0),a(f(e),L_0,D_0);var p=i[2];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(I1[1],T,y,e,p),u(f(e),R_0),u(f(e),j_0)}),N(xQ,function(t,n,e){var i=a(cm,t,n);return a(P0(O_0),i,e)});var dD=[0,yD,fQ,cm,xQ],hD=function t(n,e,i,x){return t.fun(n,e,i,x)},aQ=function t(n,e,i){return t.fun(n,e,i)},sm=function t(n,e,i,x){return t.fun(n,e,i,x)},oQ=function t(n,e,i){return t.fun(n,e,i)};N(hD,function(t,n,e,i){u(f(e),m_0),a(f(e),y_0,__0);var x=i[1];function c(E){return u(n,E)}R(sm,function(E){return u(t,E)},c,e,x),u(f(e),d_0),u(f(e),h_0),a(f(e),w_0,k_0);var s=i[2];if(s){g(e,E_0);var p=s[1],y=function(E,h){u(f(E),b_0);var w=0;return le(function(G,A){G&&u(f(E),l_0);function S(M){return u(t,M)}return ur(iu[1],S,E,A),1},w,h),u(f(E),p_0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,S_0)}else g(e,g_0);return u(f(e),F_0),u(f(e),T_0)}),N(aQ,function(t,n,e){var i=a(hD,t,n);return a(P0(v_0),i,e)}),N(sm,function(t,n,e,i){if(i){u(f(e),o_0);var x=i[1],c=function(p){return u(n,p)},s=function(p){return u(t,p)};return R(qe[31],s,c,e,x),u(f(e),c_0)}return g(e,s_0)}),N(oQ,function(t,n,e){var i=a(sm,t,n);return a(P0(a_0),i,e)});var kD=[0,hD,aQ,sm,oQ];function cQ(t,n){u(f(t),J90),a(f(t),Z90,$90);var e=n[1];a(f(t),Q90,e),u(f(t),r_0),u(f(t),e_0),a(f(t),t_0,n_0);var i=n[2];return a(f(t),u_0,i),u(f(t),i_0),u(f(t),f_0)}var sQ=[0,cQ,function(t){return a(P0(x_0),cQ,t)}],wD=function t(n,e,i,x){return t.fun(n,e,i,x)},vQ=function t(n,e,i){return t.fun(n,e,i)},vm=function t(n,e,i,x){return t.fun(n,e,i,x)},lQ=function t(n,e,i){return t.fun(n,e,i)},lm=function t(n,e,i,x){return t.fun(n,e,i,x)},bQ=function t(n,e,i){return t.fun(n,e,i)},bm=function t(n,e,i,x){return t.fun(n,e,i,x)},pQ=function t(n,e,i){return t.fun(n,e,i)};N(wD,function(t,n,e,i){u(f(e),z90),a(t,e,i[1]),u(f(e),K90);var x=i[2];function c(s){return u(n,s)}return R(bm,function(s){return u(t,s)},c,e,x),u(f(e),W90)}),N(vQ,function(t,n,e){var i=a(wD,t,n);return a(P0(V90),i,e)}),N(vm,function(t,n,e,i){if(i[0]===0){u(f(e),U90);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(I1[1],s,c,e,x),u(f(e),H90)}u(f(e),X90);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(dD[1],T,y,e,p),u(f(e),Y90)}),N(lQ,function(t,n,e){var i=a(vm,t,n);return a(P0(q90),i,e)}),N(lm,function(t,n,e,i){if(i[0]===0){u(f(e),L90),a(n,e,i[1]),u(f(e),R90);var x=i[2],c=function(T){return u(t,T)};return ur(Tl[2],c,e,x),u(f(e),j90)}u(f(e),G90),a(n,e,i[1]),u(f(e),M90);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(kD[1],y,p,e,s),u(f(e),B90)}),N(bQ,function(t,n,e){var i=a(lm,t,n);return a(P0(D90),i,e)}),N(bm,function(t,n,e,i){u(f(e),w90),a(f(e),S90,E90);var x=i[1];function c(T){return u(n,T)}R(vm,function(T){return u(t,T)},c,e,x),u(f(e),g90),u(f(e),F90),a(f(e),O90,T90);var s=i[2];if(s){g(e,I90);var p=s[1],y=function(T){return u(n,T)};R(lm,function(T){return u(t,T)},y,e,p),g(e,A90)}else g(e,N90);return u(f(e),C90),u(f(e),P90)}),N(pQ,function(t,n,e){var i=a(bm,t,n);return a(P0(k90),i,e)});var mQ=[0,wD,vQ,vm,lQ,lm,bQ,bm,pQ],ED=function t(n,e,i,x){return t.fun(n,e,i,x)},_Q=function t(n,e,i){return t.fun(n,e,i)},pm=function t(n,e,i,x){return t.fun(n,e,i,x)},yQ=function t(n,e,i){return t.fun(n,e,i)};N(ED,function(t,n,e,i){u(f(e),y90),a(t,e,i[1]),u(f(e),d90);var x=i[2];function c(s){return u(n,s)}return R(pm,function(s){return u(t,s)},c,e,x),u(f(e),h90)}),N(_Q,function(t,n,e){var i=a(ED,t,n);return a(P0(_90),i,e)}),N(pm,function(t,n,e,i){u(f(e),i90),a(f(e),x90,f90);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),a90),u(f(e),o90),a(f(e),s90,c90);var p=i[2];if(p){g(e,v90);var y=p[1],T=function(h,w){return g(h,u90)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,l90)}else g(e,b90);return u(f(e),p90),u(f(e),m90)}),N(yQ,function(t,n,e){var i=a(pm,t,n);return a(P0(t90),i,e)});var dQ=[0,ED,_Q,pm,yQ],mm=function t(n,e,i,x){return t.fun(n,e,i,x)},hQ=function t(n,e,i){return t.fun(n,e,i)},_m=function t(n,e,i,x){return t.fun(n,e,i,x)},kQ=function t(n,e,i){return t.fun(n,e,i)},ym=function t(n,e,i,x){return t.fun(n,e,i,x)},wQ=function t(n,e,i){return t.fun(n,e,i)};N(mm,function(t,n,e,i){u(f(e),r90),a(t,e,i[1]),u(f(e),e90);var x=i[2];function c(s){return u(n,s)}return R(ym,function(s){return u(t,s)},c,e,x),u(f(e),n90)}),N(hQ,function(t,n,e){var i=a(mm,t,n);return a(P0(Qm0),i,e)}),N(_m,function(t,n,e,i){if(i[0]===0){u(f(e),Wm0);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(I1[1],s,c,e,x),u(f(e),Jm0)}u(f(e),$m0);var p=i[1];function y(T){return u(n,T)}return R(mm,function(T){return u(t,T)},y,e,p),u(f(e),Zm0)}),N(kQ,function(t,n,e){var i=a(_m,t,n);return a(P0(Km0),i,e)}),N(ym,function(t,n,e,i){u(f(e),Mm0),a(f(e),qm0,Bm0);var x=i[1];function c(T){return u(n,T)}R(_m,function(T){return u(t,T)},c,e,x),u(f(e),Um0),u(f(e),Hm0),a(f(e),Ym0,Xm0);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(I1[1],y,p,e,s),u(f(e),Vm0),u(f(e),zm0)}),N(wQ,function(t,n,e){var i=a(ym,t,n);return a(P0(Gm0),i,e)});var EQ=[0,mm,hQ,_m,kQ,ym,wQ],Nl=function t(n,e,i,x){return t.fun(n,e,i,x)},SQ=function t(n,e,i){return t.fun(n,e,i)};N(Nl,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Cm0);var x=i[1],c=function(G){return u(n,G)},s=function(G){return u(t,G)};return R(I1[1],s,c,e,x),u(f(e),Pm0);case 1:u(f(e),Dm0);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(dD[1],T,y,e,p),u(f(e),Lm0);default:u(f(e),Rm0);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(EQ[1],w,h,e,E),u(f(e),jm0)}}),N(SQ,function(t,n,e){var i=a(Nl,t,n);return a(P0(Nm0),i,e)});var SD=function t(n,e,i,x){return t.fun(n,e,i,x)},gQ=function t(n,e,i){return t.fun(n,e,i)},dm=function t(n,e,i,x){return t.fun(n,e,i,x)},FQ=function t(n,e,i){return t.fun(n,e,i)},hm=function t(n,e,i,x){return t.fun(n,e,i,x)},TQ=function t(n,e,i){return t.fun(n,e,i)};N(SD,function(t,n,e,i){u(f(e),Om0),a(t,e,i[1]),u(f(e),Im0);var x=i[2];function c(s){return u(n,s)}return R(hm,function(s){return u(t,s)},c,e,x),u(f(e),Am0)}),N(gQ,function(t,n,e){var i=a(SD,t,n);return a(P0(Tm0),i,e)}),N(dm,function(t,n,e,i){if(i[0]===0){u(f(e),Em0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(mQ[1],s,c,e,x),u(f(e),Sm0)}u(f(e),gm0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(dQ[1],T,y,e,p),u(f(e),Fm0)}),N(FQ,function(t,n,e){var i=a(dm,t,n);return a(P0(wm0),i,e)}),N(hm,function(t,n,e,i){u(f(e),fm0),a(f(e),am0,xm0);var x=i[1];function c(T){return u(n,T)}R(Nl,function(T){return u(t,T)},c,e,x),u(f(e),om0),u(f(e),cm0),a(f(e),vm0,sm0);var s=i[2];a(f(e),lm0,s),u(f(e),bm0),u(f(e),pm0),a(f(e),_m0,mm0);var p=i[3];u(f(e),ym0);var y=0;return le(function(T,E){T&&u(f(e),im0);function h(w){return u(n,w)}return R(dm,function(w){return u(t,w)},h,e,E),1},y,p),u(f(e),dm0),u(f(e),hm0),u(f(e),km0)}),N(TQ,function(t,n,e){var i=a(hm,t,n);return a(P0(um0),i,e)});var OQ=[0,SD,gQ,dm,FQ,hm,TQ],gD=function t(n,e,i,x){return t.fun(n,e,i,x)},IQ=function t(n,e,i){return t.fun(n,e,i)},km=function t(n,e,i,x){return t.fun(n,e,i,x)},AQ=function t(n,e,i){return t.fun(n,e,i)};N(gD,function(t,n,e,i){u(f(e),em0),a(t,e,i[1]),u(f(e),nm0);var x=i[2];function c(s){return u(n,s)}return R(km,function(s){return u(t,s)},c,e,x),u(f(e),tm0)}),N(IQ,function(t,n,e){var i=a(gD,t,n);return a(P0(rm0),i,e)}),N(km,function(t,n,e,i){u(f(e),W50),a(f(e),$50,J50);var x=i[1];function c(s){return u(n,s)}return R(Nl,function(s){return u(t,s)},c,e,x),u(f(e),Z50),u(f(e),Q50)}),N(AQ,function(t,n,e){var i=a(km,t,n);return a(P0(K50),i,e)});var NQ=[0,gD,IQ,km,AQ],FD=function t(n,e,i,x){return t.fun(n,e,i,x)},CQ=function t(n,e,i){return t.fun(n,e,i)};N(FD,function(t,n,e,i){u(f(e),R50),a(f(e),G50,j50);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),M50),u(f(e),B50),a(f(e),U50,q50);var p=i[2];if(p){g(e,H50);var y=p[1],T=function(h,w){return g(h,L50)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,X50)}else g(e,Y50);return u(f(e),V50),u(f(e),z50)}),N(CQ,function(t,n,e){var i=a(FD,t,n);return a(P0(D50),i,e)});var PQ=[0,FD,CQ],Cl=function t(n,e,i,x){return t.fun(n,e,i,x)},DQ=function t(n,e,i){return t.fun(n,e,i)},wm=function t(n,e,i,x){return t.fun(n,e,i,x)},LQ=function t(n,e,i){return t.fun(n,e,i)},Em=function t(n,e,i,x){return t.fun(n,e,i,x)},RQ=function t(n,e,i){return t.fun(n,e,i)},Sm=function t(n,e,i,x){return t.fun(n,e,i,x)},jQ=function t(n,e,i){return t.fun(n,e,i)};N(Cl,function(t,n,e,i){u(f(e),N50),a(t,e,i[1]),u(f(e),C50);var x=i[2];function c(s){return u(n,s)}return R(wm,function(s){return u(t,s)},c,e,x),u(f(e),P50)}),N(DQ,function(t,n,e){var i=a(Cl,t,n);return a(P0(A50),i,e)}),N(wm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),h50);var x=i[1],c=function(A){return u(n,A)};return R(Em,function(A){return u(t,A)},c,e,x),u(f(e),k50);case 1:u(f(e),w50);var s=i[1],p=function(A){return u(n,A)};return R(Sm,function(A){return u(t,A)},p,e,s),u(f(e),E50);case 2:u(f(e),S50);var y=i[1],T=function(A){return u(n,A)},E=function(A){return u(t,A)};return R(kD[1],E,T,e,y),u(f(e),g50);case 3:u(f(e),F50);var h=i[1],w=function(A){return u(n,A)},G=function(A){return u(t,A)};return R(PQ[1],G,w,e,h),u(f(e),T50);default:return u(f(e),O50),a(sQ[1],e,i[1]),u(f(e),I50)}}),N(LQ,function(t,n,e){var i=a(wm,t,n);return a(P0(d50),i,e)}),N(Em,function(t,n,e,i){u(f(e),Yp0),a(f(e),zp0,Vp0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(OQ[1],s,c,e,x),u(f(e),Kp0),u(f(e),Wp0),a(f(e),$p0,Jp0);var p=i[2];if(p){g(e,Zp0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(NQ[1],E,T,e,y),g(e,Qp0)}else g(e,r50);u(f(e),e50),u(f(e),n50),a(f(e),u50,t50);var h=i[3];u(f(e),i50),a(t,e,h[1]),u(f(e),f50),u(f(e),x50);var w=h[2],G=0;le(function(V,f0){V&&u(f(e),Xp0);function m0(k0){return u(n,k0)}return R(Cl,function(k0){return u(t,k0)},m0,e,f0),1},G,w),u(f(e),a50),u(f(e),o50),u(f(e),c50),u(f(e),s50),a(f(e),l50,v50);var A=i[4];if(A){g(e,b50);var S=A[1],M=function(V,f0){return g(V,Hp0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,p50)}else g(e,m50);return u(f(e),_50),u(f(e),y50)}),N(RQ,function(t,n,e){var i=a(Em,t,n);return a(P0(Up0),i,e)}),N(Sm,function(t,n,e,i){u(f(e),_p0),a(f(e),dp0,yp0),a(t,e,i[1]),u(f(e),hp0),u(f(e),kp0),a(f(e),Ep0,wp0),a(t,e,i[2]),u(f(e),Sp0),u(f(e),gp0),a(f(e),Tp0,Fp0);var x=i[3];u(f(e),Op0),a(t,e,x[1]),u(f(e),Ip0),u(f(e),Ap0);var c=x[2],s=0;le(function(h,w){h&&u(f(e),mp0);function G(A){return u(n,A)}return R(Cl,function(A){return u(t,A)},G,e,w),1},s,c),u(f(e),Np0),u(f(e),Cp0),u(f(e),Pp0),u(f(e),Dp0),a(f(e),Rp0,Lp0);var p=i[4];if(p){g(e,jp0);var y=p[1],T=function(h,w){return g(h,pp0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Gp0)}else g(e,Mp0);return u(f(e),Bp0),u(f(e),qp0)}),N(jQ,function(t,n,e){var i=a(Sm,t,n);return a(P0(bp0),i,e)}),pu(o6r,YN,[0,I1,dD,kD,sQ,mQ,dQ,EQ,Nl,SQ,OQ,NQ,PQ,Cl,DQ,wm,LQ,Em,RQ,Sm,jQ]);var TD=function t(n,e,i,x){return t.fun(n,e,i,x)},GQ=function t(n,e,i){return t.fun(n,e,i)},gm=function t(n,e,i,x){return t.fun(n,e,i,x)},MQ=function t(n,e,i){return t.fun(n,e,i)};N(TD,function(t,n,e,i){u(f(e),sp0),a(t,e,i[1]),u(f(e),vp0);var x=i[2];function c(s){return u(n,s)}return R(gm,function(s){return u(t,s)},c,e,x),u(f(e),lp0)}),N(GQ,function(t,n,e){var i=a(TD,t,n);return a(P0(cp0),i,e)}),N(gm,function(t,n,e,i){u(f(e),Z60),a(f(e),rp0,Q60);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),ep0),u(f(e),np0),a(f(e),up0,tp0);var p=i[2];if(p){g(e,ip0);var y=p[1],T=function(h,w){return g(h,$60)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,fp0)}else g(e,xp0);return u(f(e),ap0),u(f(e),op0)}),N(MQ,function(t,n,e){var i=a(gm,t,n);return a(P0(J60),i,e)});var OD=[0,TD,GQ,gm,MQ],Fm=function t(n,e,i,x){return t.fun(n,e,i,x)},BQ=function t(n,e,i){return t.fun(n,e,i)},ID=function t(n,e,i,x){return t.fun(n,e,i,x)},qQ=function t(n,e,i){return t.fun(n,e,i)},Tm=function t(n,e,i,x){return t.fun(n,e,i,x)},UQ=function t(n,e,i){return t.fun(n,e,i)};N(Fm,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),q60),u(f(e),U60),a(t,e,x[1]),u(f(e),H60);var c=x[2],s=function(G){return u(t,G)};return ur(Tl[2],s,e,c),u(f(e),X60),u(f(e),Y60);case 1:u(f(e),V60);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(Ln[1],T,y,e,p),u(f(e),z60);default:u(f(e),K60);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(Up[1],w,h,e,E),u(f(e),W60)}}),N(BQ,function(t,n,e){var i=a(Fm,t,n);return a(P0(B60),i,e)}),N(ID,function(t,n,e,i){u(f(e),j60),a(t,e,i[1]),u(f(e),G60);var x=i[2];function c(s){return u(n,s)}return R(Tm,function(s){return u(t,s)},c,e,x),u(f(e),M60)}),N(qQ,function(t,n,e){var i=a(ID,t,n);return a(P0(R60),i,e)}),N(Tm,function(t,n,e,i){u(f(e),p60),a(f(e),_60,m60);var x=i[1];function c(A){return u(n,A)}R(Fm,function(A){return u(t,A)},c,e,x),u(f(e),y60),u(f(e),d60),a(f(e),k60,h60);var s=i[2];function p(A){return u(n,A)}function y(A){return u(t,A)}R(di[5],y,p,e,s),u(f(e),w60),u(f(e),E60),a(f(e),g60,S60);var T=i[3];if(T){g(e,F60);var E=T[1],h=function(A){return u(n,A)},w=function(A){return u(t,A)};R(qe[31],w,h,e,E),g(e,T60)}else g(e,O60);u(f(e),I60),u(f(e),A60),a(f(e),C60,N60);var G=i[4];return a(f(e),P60,G),u(f(e),D60),u(f(e),L60)}),N(UQ,function(t,n,e){var i=a(Tm,t,n);return a(P0(b60),i,e)});var HQ=[0,Fm,BQ,ID,qQ,Tm,UQ],Om=function t(n,e,i,x){return t.fun(n,e,i,x)},XQ=function t(n,e,i){return t.fun(n,e,i)},AD=function t(n,e,i,x){return t.fun(n,e,i,x)},YQ=function t(n,e,i){return t.fun(n,e,i)};N(Om,function(t,n,e,i){if(i[0]===0){u(f(e),c60);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(HQ[3],s,c,e,x),u(f(e),s60)}u(f(e),v60);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(OD[1],T,y,e,p),u(f(e),l60)}),N(XQ,function(t,n,e){var i=a(Om,t,n);return a(P0(o60),i,e)}),N(AD,function(t,n,e,i){u(f(e),Y30),a(f(e),z30,V30);var x=i[1];u(f(e),K30);var c=0;le(function(G,A){G&&u(f(e),X30);function S(M){return u(n,M)}return R(Om,function(M){return u(t,M)},S,e,A),1},c,x),u(f(e),W30),u(f(e),J30),u(f(e),$30),a(f(e),Q30,Z30);var s=i[2];function p(G){return u(n,G)}function y(G){return u(t,G)}R(Je[19],y,p,e,s),u(f(e),r60),u(f(e),e60),a(f(e),t60,n60);var T=i[3];if(T){g(e,u60);var E=T[1],h=function(G,A){u(f(G),U30);var S=0;return le(function(M,K){M&&u(f(G),q30);function V(f0){return u(t,f0)}return ur(iu[1],V,G,K),1},S,A),u(f(G),H30)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,i60)}else g(e,f60);return u(f(e),x60),u(f(e),a60)}),N(YQ,function(t,n,e){var i=a(AD,t,n);return a(P0(B30),i,e)});var VQ=[0,HQ,Om,XQ,AD,YQ],ND=function t(n,e,i,x){return t.fun(n,e,i,x)},zQ=function t(n,e,i){return t.fun(n,e,i)},Im=function t(n,e,i,x){return t.fun(n,e,i,x)},KQ=function t(n,e,i){return t.fun(n,e,i)};N(ND,function(t,n,e,i){u(f(e),j30),a(t,e,i[1]),u(f(e),G30);var x=i[2];function c(s){return u(n,s)}return R(Im,function(s){return u(t,s)},c,e,x),u(f(e),M30)}),N(zQ,function(t,n,e){var i=a(ND,t,n);return a(P0(R30),i,e)}),N(Im,function(t,n,e,i){u(f(e),S30),a(f(e),F30,g30);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),T30),u(f(e),O30),a(f(e),A30,I30);var p=i[2];if(p){g(e,N30);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,C30)}else g(e,P30);return u(f(e),D30),u(f(e),L30)}),N(KQ,function(t,n,e){var i=a(Im,t,n);return a(P0(E30),i,e)});var WQ=[0,ND,zQ,Im,KQ],Am=function t(n,e,i,x){return t.fun(n,e,i,x)},JQ=function t(n,e,i){return t.fun(n,e,i)},CD=function t(n,e,i,x){return t.fun(n,e,i,x)},$Q=function t(n,e,i){return t.fun(n,e,i)};N(Am,function(t,n,e,i){switch(i[0]){case 0:u(f(e),_30);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(WQ[1],s,c,e,x),u(f(e),y30);case 1:u(f(e),d30);var p=i[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};return R(OD[1],T,y,e,p),u(f(e),h30);default:return u(f(e),k30),a(t,e,i[1]),u(f(e),w30)}}),N(JQ,function(t,n,e){var i=a(Am,t,n);return a(P0(m30),i,e)}),N(CD,function(t,n,e,i){u(f(e),Z80),a(f(e),r30,Q80);var x=i[1];u(f(e),e30);var c=0;le(function(G,A){G&&u(f(e),$80);function S(M){return u(n,M)}return R(Am,function(M){return u(t,M)},S,e,A),1},c,x),u(f(e),n30),u(f(e),t30),u(f(e),u30),a(f(e),f30,i30);var s=i[2];function p(G){return u(n,G)}function y(G){return u(t,G)}R(Je[19],y,p,e,s),u(f(e),x30),u(f(e),a30),a(f(e),c30,o30);var T=i[3];if(T){g(e,s30);var E=T[1],h=function(G,A){u(f(G),W80);var S=0;return le(function(M,K){M&&u(f(G),K80);function V(f0){return u(t,f0)}return ur(iu[1],V,G,K),1},S,A),u(f(G),J80)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,v30)}else g(e,l30);return u(f(e),b30),u(f(e),p30)}),N($Q,function(t,n,e){var i=a(CD,t,n);return a(P0(z80),i,e)});var ZQ=[0,WQ,Am,JQ,CD,$Q],PD=function t(n,e,i,x){return t.fun(n,e,i,x)},QQ=function t(n,e,i){return t.fun(n,e,i)};N(PD,function(t,n,e,i){u(f(e),P80),a(f(e),L80,D80);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Ln[1],s,c,e,x),u(f(e),R80),u(f(e),j80),a(f(e),M80,G80);var p=i[2];function y(h){return u(n,h)}function T(h){return u(t,h)}R(Je[19],T,y,e,p),u(f(e),B80),u(f(e),q80),a(f(e),H80,U80);var E=i[3];return a(f(e),X80,E),u(f(e),Y80),u(f(e),V80)}),N(QQ,function(t,n,e){var i=a(PD,t,n);return a(P0(C80),i,e)});var r00=[0,PD,QQ],DD=function t(n,e,i,x){return t.fun(n,e,i,x)},e00=function t(n,e,i){return t.fun(n,e,i)},Nm=function t(n,e,i,x){return t.fun(n,e,i,x)},n00=function t(n,e,i){return t.fun(n,e,i)};N(DD,function(t,n,e,i){u(f(e),I80),a(n,e,i[1]),u(f(e),A80);var x=i[2];function c(s){return u(n,s)}return R(Nm,function(s){return u(t,s)},c,e,x),u(f(e),N80)}),N(e00,function(t,n,e){var i=a(DD,t,n);return a(P0(O80),i,e)}),N(Nm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),h80);var x=i[1],c=function(M){return u(n,M)},s=function(M){return u(t,M)};return R(VQ[4],s,c,e,x),u(f(e),k80);case 1:u(f(e),w80);var p=i[1],y=function(M){return u(n,M)},T=function(M){return u(t,M)};return R(ZQ[4],T,y,e,p),u(f(e),E80);case 2:u(f(e),S80);var E=i[1],h=function(M){return u(n,M)},w=function(M){return u(t,M)};return R(r00[1],w,h,e,E),u(f(e),g80);default:u(f(e),F80);var G=i[1],A=function(M){return u(n,M)},S=function(M){return u(t,M)};return R(qe[31],S,A,e,G),u(f(e),T80)}}),N(n00,function(t,n,e){var i=a(Nm,t,n);return a(P0(d80),i,e)}),pu(c6r,di,[0,OD,VQ,ZQ,r00,DD,e00,Nm,n00]);var LD=function t(n,e,i){return t.fun(n,e,i)},t00=function t(n,e){return t.fun(n,e)},Cm=function t(n,e){return t.fun(n,e)},u00=function t(n){return t.fun(n)},Pm=function t(n,e){return t.fun(n,e)},i00=function t(n){return t.fun(n)};N(LD,function(t,n,e){return u(f(n),m80),a(t,n,e[1]),u(f(n),_80),a(Pm,n,e[2]),u(f(n),y80)}),N(t00,function(t,n){var e=u(LD,t);return a(P0(p80),e,n)}),N(Cm,function(t,n){return n?g(t,l80):g(t,b80)}),N(u00,function(t){return a(P0(v80),Cm,t)}),N(Pm,function(t,n){u(f(t),$40),a(f(t),Q40,Z40),a(Cm,t,n[1]),u(f(t),r80),u(f(t),e80),a(f(t),t80,n80);var e=n[2];a(f(t),u80,e),u(f(t),i80),u(f(t),f80),a(f(t),a80,x80);var i=n[3];return a(f(t),o80,i),u(f(t),c80),u(f(t),s80)}),N(i00,function(t){return a(P0(J40),Pm,t)}),pu(s6r,iu,[0,LD,t00,Cm,u00,Pm,i00]);var RD=function t(n,e,i,x){return t.fun(n,e,i,x)},f00=function t(n,e,i){return t.fun(n,e,i)},Dm=function t(n,e){return t.fun(n,e)},x00=function t(n){return t.fun(n)},Lm=function t(n,e,i,x){return t.fun(n,e,i,x)},a00=function t(n,e,i){return t.fun(n,e,i)};N(RD,function(t,n,e,i){u(f(e),z40),a(n,e,i[1]),u(f(e),K40);var x=i[2];function c(s){return u(n,s)}return R(Lm,function(s){return u(t,s)},c,e,x),u(f(e),W40)}),N(f00,function(t,n,e){var i=a(RD,t,n);return a(P0(V40),i,e)}),N(Dm,function(t,n){switch(n){case 0:return g(t,U40);case 1:return g(t,H40);case 2:return g(t,X40);default:return g(t,Y40)}}),N(x00,function(t){return a(P0(q40),Dm,t)}),N(Lm,function(t,n,e,i){u(f(e),x40),a(f(e),o40,a40),a(Dm,e,i[1]),u(f(e),c40),u(f(e),s40),a(f(e),l40,v40);var x=i[2];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[7][1][1],s,c,e,x),u(f(e),b40),u(f(e),p40),a(f(e),_40,m40);var p=i[3];u(f(e),y40),a(t,e,p[1]),u(f(e),d40);var y=p[2];function T(V){return u(n,V)}function E(V){return u(t,V)}R(Ps[5],E,T,e,y),u(f(e),h40),u(f(e),k40),u(f(e),w40),a(f(e),S40,E40);var h=i[4];a(f(e),g40,h),u(f(e),F40),u(f(e),T40),a(f(e),I40,O40);var w=i[5];u(f(e),A40);var G=0;le(function(V,f0){V&&u(f(e),f40);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(T1[7][1],k0,m0,e,f0),1},G,w),u(f(e),N40),u(f(e),C40),u(f(e),P40),a(f(e),L40,D40);var A=i[6];if(A){g(e,R40);var S=A[1],M=function(V,f0){return g(V,i40)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,j40)}else g(e,G40);return u(f(e),M40),u(f(e),B40)}),N(a00,function(t,n,e){var i=a(Lm,t,n);return a(P0(u40),i,e)});var o00=[0,RD,f00,Dm,x00,Lm,a00],jD=function t(n,e,i,x){return t.fun(n,e,i,x)},c00=function t(n,e,i){return t.fun(n,e,i)},Rm=function t(n,e,i,x){return t.fun(n,e,i,x)},s00=function t(n,e,i){return t.fun(n,e,i)},jm=function t(n,e,i,x){return t.fun(n,e,i,x)},v00=function t(n,e,i){return t.fun(n,e,i)};N(jD,function(t,n,e,i){u(f(e),e40),a(n,e,i[1]),u(f(e),n40);var x=i[2];function c(s){return u(n,s)}return R(Rm,function(s){return u(t,s)},c,e,x),u(f(e),t40)}),N(c00,function(t,n,e){var i=a(jD,t,n);return a(P0(r40),i,e)}),N(Rm,function(t,n,e,i){u(f(e),wb0),a(f(e),Sb0,Eb0);var x=i[1];function c(m0){return u(n,m0)}function s(m0){return u(t,m0)}R(qe[7][1][1],s,c,e,x),u(f(e),gb0),u(f(e),Fb0),a(f(e),Ob0,Tb0);var p=i[2];function y(m0){return u(n,m0)}R(jm,function(m0){return u(t,m0)},y,e,p),u(f(e),Ib0),u(f(e),Ab0),a(f(e),Cb0,Nb0);var T=i[3];function E(m0){return u(n,m0)}function h(m0){return u(t,m0)}R(Je[19],h,E,e,T),u(f(e),Pb0),u(f(e),Db0),a(f(e),Rb0,Lb0);var w=i[4];a(f(e),jb0,w),u(f(e),Gb0),u(f(e),Mb0),a(f(e),qb0,Bb0);var G=i[5];if(G){g(e,Ub0);var A=G[1],S=function(m0){return u(t,m0)};ur(zv[1],S,e,A),g(e,Hb0)}else g(e,Xb0);u(f(e),Yb0),u(f(e),Vb0),a(f(e),Kb0,zb0);var M=i[6];if(M){g(e,Wb0);var K=M[1],V=function(m0,k0){return g(m0,kb0)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,Jb0)}else g(e,$b0);return u(f(e),Zb0),u(f(e),Qb0)}),N(s00,function(t,n,e){var i=a(Rm,t,n);return a(P0(hb0),i,e)}),N(jm,function(t,n,e,i){if(typeof i=="number")return i?g(e,mb0):g(e,_b0);u(f(e),yb0);var x=i[1];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(qe[31],s,c,e,x),u(f(e),db0)}),N(v00,function(t,n,e){var i=a(jm,t,n);return a(P0(pb0),i,e)});var l00=[0,jD,c00,Rm,s00,jm,v00],GD=function t(n,e,i,x){return t.fun(n,e,i,x)},b00=function t(n,e,i){return t.fun(n,e,i)},Gm=function t(n,e,i,x){return t.fun(n,e,i,x)},p00=function t(n,e,i){return t.fun(n,e,i)};N(GD,function(t,n,e,i){u(f(e),vb0),a(n,e,i[1]),u(f(e),lb0);var x=i[2];function c(s){return u(n,s)}return R(Gm,function(s){return u(t,s)},c,e,x),u(f(e),bb0)}),N(b00,function(t,n,e){var i=a(GD,t,n);return a(P0(sb0),i,e)}),N(Gm,function(t,n,e,i){u(f(e),Pl0),a(f(e),Ll0,Dl0);var x=i[1];function c(m0){return u(t,m0)}ur(qp[1],c,e,x),u(f(e),Rl0),u(f(e),jl0),a(f(e),Ml0,Gl0);var s=i[2];function p(m0){return u(n,m0)}function y(m0){return u(t,m0)}R(T1[2][5],y,p,e,s),u(f(e),Bl0),u(f(e),ql0),a(f(e),Hl0,Ul0);var T=i[3];function E(m0){return u(n,m0)}function h(m0){return u(t,m0)}R(Je[19],h,E,e,T),u(f(e),Xl0),u(f(e),Yl0),a(f(e),zl0,Vl0);var w=i[4];a(f(e),Kl0,w),u(f(e),Wl0),u(f(e),Jl0),a(f(e),Zl0,$l0);var G=i[5];if(G){g(e,Ql0);var A=G[1],S=function(m0){return u(t,m0)};ur(zv[1],S,e,A),g(e,rb0)}else g(e,eb0);u(f(e),nb0),u(f(e),tb0),a(f(e),ib0,ub0);var M=i[6];if(M){g(e,fb0);var K=M[1],V=function(m0,k0){return g(m0,Cl0)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,xb0)}else g(e,ab0);return u(f(e),ob0),u(f(e),cb0)}),N(p00,function(t,n,e){var i=a(Gm,t,n);return a(P0(Nl0),i,e)});var m00=[0,GD,b00,Gm,p00],MD=function t(n,e,i,x){return t.fun(n,e,i,x)},_00=function t(n,e,i){return t.fun(n,e,i)},Mm=function t(n,e,i,x){return t.fun(n,e,i,x)},y00=function t(n,e,i){return t.fun(n,e,i)};N(MD,function(t,n,e,i){u(f(e),Ol0),a(t,e,i[1]),u(f(e),Il0);var x=i[2];function c(s){return u(n,s)}return R(Mm,function(s){return u(t,s)},c,e,x),u(f(e),Al0)}),N(_00,function(t,n,e){var i=a(MD,t,n);return a(P0(Tl0),i,e)}),N(Mm,function(t,n,e,i){u(f(e),al0),a(f(e),cl0,ol0);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(qe[31],s,c,e,x),u(f(e),sl0),u(f(e),vl0),a(f(e),bl0,ll0);var p=i[2];if(p){g(e,pl0);var y=p[1],T=function(S){return u(n,S)},E=function(S){return u(t,S)};R(Je[23][1],E,T,e,y),g(e,ml0)}else g(e,_l0);u(f(e),yl0),u(f(e),dl0),a(f(e),kl0,hl0);var h=i[3];if(h){g(e,wl0);var w=h[1],G=function(S,M){return g(S,xl0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,El0)}else g(e,Sl0);return u(f(e),gl0),u(f(e),Fl0)}),N(y00,function(t,n,e){var i=a(Mm,t,n);return a(P0(fl0),i,e)});var d00=[0,MD,_00,Mm,y00],BD=function t(n,e,i,x){return t.fun(n,e,i,x)},h00=function t(n,e,i){return t.fun(n,e,i)},Bm=function t(n,e,i,x){return t.fun(n,e,i,x)},k00=function t(n,e,i){return t.fun(n,e,i)};N(BD,function(t,n,e,i){u(f(e),tl0),a(t,e,i[1]),u(f(e),ul0);var x=i[2];function c(s){return u(n,s)}return R(Bm,function(s){return u(t,s)},c,e,x),u(f(e),il0)}),N(h00,function(t,n,e){var i=a(BD,t,n);return a(P0(nl0),i,e)}),N(Bm,function(t,n,e,i){u(f(e),X20),a(f(e),V20,Y20);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Ln[1],s,c,e,x),u(f(e),z20),u(f(e),K20),a(f(e),J20,W20);var p=i[2];if(p){g(e,$20);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(Je[23][1],E,T,e,y),g(e,Z20)}else g(e,Q20);return u(f(e),rl0),u(f(e),el0)}),N(k00,function(t,n,e){var i=a(Bm,t,n);return a(P0(H20),i,e)});var w00=[0,BD,h00,Bm,k00],qD=function t(n,e,i,x){return t.fun(n,e,i,x)},E00=function t(n,e,i){return t.fun(n,e,i)},qm=function t(n,e,i,x){return t.fun(n,e,i,x)},S00=function t(n,e,i){return t.fun(n,e,i)};N(qD,function(t,n,e,i){u(f(e),B20),a(t,e,i[1]),u(f(e),q20);var x=i[2];function c(s){return u(n,s)}return R(qm,function(s){return u(t,s)},c,e,x),u(f(e),U20)}),N(E00,function(t,n,e){var i=a(qD,t,n);return a(P0(M20),i,e)}),N(qm,function(t,n,e,i){u(f(e),g20),a(f(e),T20,F20);var x=i[1];u(f(e),O20);var c=0;le(function(E,h){E&&u(f(e),S20);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(w00[1],G,w,e,h),1},c,x),u(f(e),I20),u(f(e),A20),u(f(e),N20),a(f(e),P20,C20);var s=i[2];if(s){g(e,D20);var p=s[1],y=function(E,h){return g(E,E20)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,L20)}else g(e,R20);return u(f(e),j20),u(f(e),G20)}),N(S00,function(t,n,e){var i=a(qm,t,n);return a(P0(w20),i,e)});var g00=[0,w00,qD,E00,qm,S00],UD=function t(n,e,i,x){return t.fun(n,e,i,x)},F00=function t(n,e,i){return t.fun(n,e,i)},Um=function t(n,e,i,x){return t.fun(n,e,i,x)},T00=function t(n,e,i){return t.fun(n,e,i)},Hm=function t(n,e,i,x){return t.fun(n,e,i,x)},O00=function t(n,e,i){return t.fun(n,e,i)};N(UD,function(t,n,e,i){u(f(e),d20),a(t,e,i[1]),u(f(e),h20);var x=i[2];function c(s){return u(n,s)}return R(Um,function(s){return u(t,s)},c,e,x),u(f(e),k20)}),N(F00,function(t,n,e){var i=a(UD,t,n);return a(P0(y20),i,e)}),N(Um,function(t,n,e,i){u(f(e),u20),a(f(e),f20,i20);var x=i[1];u(f(e),x20);var c=0;le(function(E,h){E&&u(f(e),t20);function w(G){return u(n,G)}return R(Hm,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),a20),u(f(e),o20),u(f(e),c20),a(f(e),v20,s20);var s=i[2];if(s){g(e,l20);var p=s[1],y=function(E,h){return g(E,n20)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,b20)}else g(e,p20);return u(f(e),m20),u(f(e),_20)}),N(T00,function(t,n,e){var i=a(Um,t,n);return a(P0(e20),i,e)}),N(Hm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Wv0);var x=i[1],c=function(G){return u(n,G)},s=function(G){return u(t,G)};return R(o00[1],s,c,e,x),u(f(e),Jv0);case 1:u(f(e),$v0);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(l00[1],T,y,e,p),u(f(e),Zv0);default:u(f(e),Qv0);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(m00[1],w,h,e,E),u(f(e),r20)}}),N(O00,function(t,n,e){var i=a(Hm,t,n);return a(P0(Kv0),i,e)});var HD=function t(n,e,i,x){return t.fun(n,e,i,x)},I00=function t(n,e,i){return t.fun(n,e,i)},Xm=function t(n,e,i,x){return t.fun(n,e,i,x)},A00=function t(n,e,i){return t.fun(n,e,i)},jee=[0,UD,F00,Um,T00,Hm,O00];N(HD,function(t,n,e,i){u(f(e),Yv0),a(t,e,i[1]),u(f(e),Vv0);var x=i[2];function c(s){return u(n,s)}return R(Xm,function(s){return u(t,s)},c,e,x),u(f(e),zv0)}),N(I00,function(t,n,e){var i=a(HD,t,n);return a(P0(Xv0),i,e)}),N(Xm,function(t,n,e,i){u(f(e),Cv0),a(f(e),Dv0,Pv0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),Lv0),u(f(e),Rv0),a(f(e),Gv0,jv0);var p=i[2];if(p){g(e,Mv0);var y=p[1],T=function(h,w){return g(h,Nv0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Bv0)}else g(e,qv0);return u(f(e),Uv0),u(f(e),Hv0)}),N(A00,function(t,n,e){var i=a(Xm,t,n);return a(P0(Av0),i,e)});var N00=[0,HD,I00,Xm,A00],XD=function t(n,e,i,x){return t.fun(n,e,i,x)},C00=function t(n,e,i){return t.fun(n,e,i)};N(XD,function(t,n,e,i){u(f(e),G10),a(f(e),B10,M10);var x=i[1];if(x){g(e,q10);var c=x[1],s=function(w0){return u(n,w0)},p=function(w0){return u(t,w0)};R(Ln[1],p,s,e,c),g(e,U10)}else g(e,H10);u(f(e),X10),u(f(e),Y10),a(f(e),z10,V10);var y=i[2];function T(w0){return u(n,w0)}function E(w0){return u(t,w0)}R(T1[6][1],E,T,e,y),u(f(e),K10),u(f(e),W10),a(f(e),$10,J10);var h=i[3];if(h){g(e,Z10);var w=h[1],G=function(w0){return u(n,w0)},A=function(w0){return u(t,w0)};R(Je[22][1],A,G,e,w),g(e,Q10)}else g(e,rv0);u(f(e),ev0),u(f(e),nv0),a(f(e),uv0,tv0);var S=i[4];if(S){g(e,iv0);var M=S[1],K=function(w0){return u(n,w0)},V=function(w0){return u(t,w0)};R(d00[1],V,K,e,M),g(e,fv0)}else g(e,xv0);u(f(e),av0),u(f(e),ov0),a(f(e),sv0,cv0);var f0=i[5];if(f0){g(e,vv0);var m0=f0[1],k0=function(w0){return u(n,w0)},g0=function(w0){return u(t,w0)};R(g00[2],g0,k0,e,m0),g(e,lv0)}else g(e,bv0);u(f(e),pv0),u(f(e),mv0),a(f(e),yv0,_v0);var e0=i[6];u(f(e),dv0);var x0=0;le(function(w0,_0){w0&&u(f(e),j10);function E0(b){return u(n,b)}function X0(b){return u(t,b)}return R(N00[1],X0,E0,e,_0),1},x0,e0),u(f(e),hv0),u(f(e),kv0),u(f(e),wv0),a(f(e),Sv0,Ev0);var l=i[7];if(l){g(e,gv0);var c0=l[1],t0=function(w0,_0){return g(w0,R10)},a0=function(w0){return u(t,w0)};R(Dr[1],a0,t0,e,c0),g(e,Fv0)}else g(e,Tv0);return u(f(e),Ov0),u(f(e),Iv0)}),N(C00,function(t,n,e){var i=a(XD,t,n);return a(P0(L10),i,e)}),pu(v6r,T1,[0,o00,l00,m00,d00,g00,jee,N00,XD,C00]);var YD=function t(n,e,i,x){return t.fun(n,e,i,x)},P00=function t(n,e,i){return t.fun(n,e,i)},Ym=function t(n,e,i,x){return t.fun(n,e,i,x)},D00=function t(n,e,i){return t.fun(n,e,i)};N(YD,function(t,n,e,i){u(f(e),C10),a(t,e,i[1]),u(f(e),P10);var x=i[2];function c(s){return u(n,s)}return R(Ym,function(s){return u(t,s)},c,e,x),u(f(e),D10)}),N(P00,function(t,n,e){var i=a(YD,t,n);return a(P0(N10),i,e)}),N(Ym,function(t,n,e,i){u(f(e),d10),a(f(e),k10,h10);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),w10),u(f(e),E10),a(f(e),g10,S10);var p=i[2];if(p){g(e,F10);var y=p[1],T=function(h,w){return g(h,y10)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,T10)}else g(e,O10);return u(f(e),I10),u(f(e),A10)}),N(D00,function(t,n,e){var i=a(Ym,t,n);return a(P0(_10),i,e)});var L00=[0,YD,P00,Ym,D00],VD=function t(n,e,i,x){return t.fun(n,e,i,x)},R00=function t(n,e,i){return t.fun(n,e,i)},Vm=function t(n,e,i,x){return t.fun(n,e,i,x)},j00=function t(n,e,i){return t.fun(n,e,i)};N(VD,function(t,n,e,i){u(f(e),b10),a(t,e,i[1]),u(f(e),p10);var x=i[2];function c(s){return u(n,s)}return R(Vm,function(s){return u(t,s)},c,e,x),u(f(e),m10)}),N(R00,function(t,n,e){var i=a(VD,t,n);return a(P0(l10),i,e)}),N(Vm,function(t,n,e,i){u(f(e),e10),a(f(e),t10,n10);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),u10),u(f(e),i10),a(f(e),x10,f10);var p=i[2];if(p){g(e,a10);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,o10)}else g(e,c10);return u(f(e),s10),u(f(e),v10)}),N(j00,function(t,n,e){var i=a(Vm,t,n);return a(P0(r10),i,e)});var G00=[0,VD,R00,Vm,j00],zD=function t(n,e,i,x){return t.fun(n,e,i,x)},M00=function t(n,e,i){return t.fun(n,e,i)},zm=function t(n,e,i,x){return t.fun(n,e,i,x)},B00=function t(n,e,i){return t.fun(n,e,i)};N(zD,function(t,n,e,i){u(f(e),$s0),a(t,e,i[1]),u(f(e),Zs0);var x=i[2];function c(s){return u(n,s)}return R(zm,function(s){return u(t,s)},c,e,x),u(f(e),Qs0)}),N(M00,function(t,n,e){var i=a(zD,t,n);return a(P0(Js0),i,e)}),N(zm,function(t,n,e,i){u(f(e),Gs0),a(f(e),Bs0,Ms0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),qs0),u(f(e),Us0),a(f(e),Xs0,Hs0);var p=i[2];if(p){g(e,Ys0);var y=p[1],T=function(h,w){return g(h,js0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Vs0)}else g(e,zs0);return u(f(e),Ks0),u(f(e),Ws0)}),N(B00,function(t,n,e){var i=a(zm,t,n);return a(P0(Rs0),i,e)});var q00=[0,zD,M00,zm,B00],KD=function t(n,e,i,x){return t.fun(n,e,i,x)},U00=function t(n,e,i){return t.fun(n,e,i)},Km=function t(n,e,i,x){return t.fun(n,e,i,x)},H00=function t(n,e,i){return t.fun(n,e,i)};N(KD,function(t,n,e,i){u(f(e),Ps0),a(t,e,i[1]),u(f(e),Ds0);var x=i[2];function c(s){return u(n,s)}return R(Km,function(s){return u(t,s)},c,e,x),u(f(e),Ls0)}),N(U00,function(t,n,e){var i=a(KD,t,n);return a(P0(Cs0),i,e)}),N(Km,function(t,n,e,i){u(f(e),us0),a(f(e),fs0,is0);var x=i[1];if(x){g(e,xs0);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(q00[1],p,s,e,c),g(e,as0)}else g(e,os0);u(f(e),cs0),u(f(e),ss0),a(f(e),ls0,vs0);var y=i[2];u(f(e),bs0);var T=0;le(function(V,f0){V&&u(f(e),ts0);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(G00[1],k0,m0,e,f0),1},T,y),u(f(e),ps0),u(f(e),ms0),u(f(e),_s0),a(f(e),ds0,ys0);var E=i[3];if(E){g(e,hs0);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(L00[1],G,w,e,h),g(e,ks0)}else g(e,ws0);u(f(e),Es0),u(f(e),Ss0),a(f(e),Fs0,gs0);var A=i[4];if(A){g(e,Ts0);var S=A[1],M=function(V,f0){u(f(V),es0);var m0=0;return le(function(k0,g0){k0&&u(f(V),rs0);function e0(x0){return u(t,x0)}return ur(iu[1],e0,V,g0),1},m0,f0),u(f(V),ns0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,Os0)}else g(e,Is0);return u(f(e),As0),u(f(e),Ns0)}),N(H00,function(t,n,e){var i=a(Km,t,n);return a(P0(Qc0),i,e)});var X00=[0,KD,U00,Km,H00],WD=function t(n,e,i,x){return t.fun(n,e,i,x)},Y00=function t(n,e,i){return t.fun(n,e,i)},Wm=function t(n,e,i,x){return t.fun(n,e,i,x)},V00=function t(n,e,i){return t.fun(n,e,i)};N(WD,function(t,n,e,i){u(f(e),Zo0),a(f(e),rc0,Qo0);var x=i[1];if(x){g(e,ec0);var c=x[1],s=function(_0){return u(n,_0)},p=function(_0){return u(t,_0)};R(Ln[1],p,s,e,c),g(e,nc0)}else g(e,tc0);u(f(e),uc0),u(f(e),ic0),a(f(e),xc0,fc0);var y=i[2];function T(_0){return u(n,_0)}function E(_0){return u(t,_0)}R(X00[1],E,T,e,y),u(f(e),ac0),u(f(e),oc0),a(f(e),sc0,cc0);var h=i[3];function w(_0){return u(n,_0)}R(Wm,function(_0){return u(t,_0)},w,e,h),u(f(e),vc0),u(f(e),lc0),a(f(e),pc0,bc0);var G=i[4];a(f(e),mc0,G),u(f(e),_c0),u(f(e),yc0),a(f(e),hc0,dc0);var A=i[5];a(f(e),kc0,A),u(f(e),wc0),u(f(e),Ec0),a(f(e),gc0,Sc0);var S=i[6];if(S){g(e,Fc0);var M=S[1],K=function(_0){return u(n,_0)},V=function(_0){return u(t,_0)};R(Je[24][1],V,K,e,M),g(e,Tc0)}else g(e,Oc0);u(f(e),Ic0),u(f(e),Ac0),a(f(e),Cc0,Nc0);var f0=i[7];function m0(_0){return u(n,_0)}function k0(_0){return u(t,_0)}R(Je[19],k0,m0,e,f0),u(f(e),Pc0),u(f(e),Dc0),a(f(e),Rc0,Lc0);var g0=i[8];if(g0){g(e,jc0);var e0=g0[1],x0=function(_0){return u(n,_0)},l=function(_0){return u(t,_0)};R(Je[22][1],l,x0,e,e0),g(e,Gc0)}else g(e,Mc0);u(f(e),Bc0),u(f(e),qc0),a(f(e),Hc0,Uc0);var c0=i[9];if(c0){g(e,Xc0);var t0=c0[1],a0=function(_0,E0){return g(_0,$o0)},w0=function(_0){return u(t,_0)};R(Dr[1],w0,a0,e,t0),g(e,Yc0)}else g(e,Vc0);return u(f(e),zc0),u(f(e),Kc0),a(f(e),Jc0,Wc0),a(t,e,i[10]),u(f(e),$c0),u(f(e),Zc0)}),N(Y00,function(t,n,e){var i=a(WD,t,n);return a(P0(Jo0),i,e)}),N(Wm,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),Ho0),u(f(e),Xo0),a(t,e,x[1]),u(f(e),Yo0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Xu[1][1],p,s,e,c),u(f(e),Vo0),u(f(e),zo0)}u(f(e),Ko0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(qe[31],E,T,e,y),u(f(e),Wo0)}),N(V00,function(t,n,e){var i=a(Wm,t,n);return a(P0(Uo0),i,e)}),pu(l6r,Ps,[0,L00,G00,q00,X00,WD,Y00,Wm,V00]);var JD=function t(n,e,i,x){return t.fun(n,e,i,x)},z00=function t(n,e,i){return t.fun(n,e,i)},Jm=function t(n,e,i,x){return t.fun(n,e,i,x)},K00=function t(n,e,i){return t.fun(n,e,i)};N(JD,function(t,n,e,i){u(f(e),Mo0),a(t,e,i[1]),u(f(e),Bo0);var x=i[2];function c(s){return u(n,s)}return R(Jm,function(s){return u(t,s)},c,e,x),u(f(e),qo0)}),N(z00,function(t,n,e){var i=a(JD,t,n);return a(P0(Go0),i,e)}),N(Jm,function(t,n,e,i){u(f(e),yo0),a(f(e),ho0,do0);var x=i[1];u(f(e),ko0);var c=0;le(function(w,G){w&&u(f(e),_o0);function A(M){return u(n,M)}function S(M){return u(t,M)}return R(Xu[35],S,A,e,G),1},c,x),u(f(e),wo0),u(f(e),Eo0),u(f(e),So0),a(f(e),Fo0,go0);var s=i[2];if(s){g(e,To0);var p=s[1],y=function(w,G){return g(w,mo0)},T=function(w){return u(t,w)};R(Dr[1],T,y,e,p),g(e,Oo0)}else g(e,Io0);u(f(e),Ao0),u(f(e),No0),a(f(e),Po0,Co0);var E=i[3];u(f(e),Do0);var h=0;return le(function(w,G){w&&u(f(e),po0);function A(S){return u(t,S)}return ur(iu[1],A,e,G),1},h,E),u(f(e),Lo0),u(f(e),Ro0),u(f(e),jo0)}),N(K00,function(t,n,e){var i=a(Jm,t,n);return a(P0(bo0),i,e)}),pu(b6r,Pee,[0,JD,z00,Jm,K00]);function Ve(t,n){if(n){var e=n[1],i=u(t,e);return e===i?n:[0,i]}return n}function te(t,n,e,i,x){var c=a(t,n,e);return e===c?i:u(x,c)}function ee(t,n,e,i){var x=u(t,n);return n===x?e:u(i,x)}function mu(t,n){var e=n[1];function i(x){return[0,e,x]}return te(t,e,n[2],n,i)}function Un(t,n){var e=le(function(i,x){var c=u(t,x),s=i[2],p=s||(c!==x?1:0);return[0,[0,c,i[1]],p]},g6r,n);return e[2]?de(e[1]):n}var $D=jp(T6r,function(t){var n=DN(t,F6r),e=n[1],i=n[2],x=n[3],c=n[4],s=n[5],p=n[6],y=n[7],T=n[8],E=n[9],h=n[10],w=n[11],G=n[12],A=n[13],S=n[14],M=n[15],K=n[16],V=n[17],f0=n[18],m0=n[19],k0=n[20],g0=n[21],e0=n[22],x0=n[23],l=n[24],c0=n[25],t0=n[26],a0=n[27],w0=n[28],_0=n[29],E0=n[30],X0=n[31],b=n[32],j0=n[33],X=n[34],s0=n[35],dr=n[36],Ar=n[37],ar=n[38],W0=n[39],Lr=n[40],Tr=n[41],Hr=n[42],Or=n[43],xr=n[44],Rr=n[45],Wr=n[46],Jr=n[47],or=n[49],_r=n[50],Ir=n[51],fe=n[52],v0=n[53],P=n[54],L=n[55],Q=n[56],i0=n[57],l0=n[58],S0=n[59],T0=n[60],rr=n[61],R0=n[62],B=n[63],Z=n[65],p0=n[66],b0=n[67],O0=n[68],q0=n[69],er=n[70],yr=n[71],vr=n[72],$0=n[73],Er=n[74],Mr=n[75],Br=n[76],qr=n[77],jr=n[78],$r=n[79],ne=n[80],Qr=n[81],be=n[82],oe=n[83],pe=n[84],ae=n[85],ce=n[86],ge=n[87],H0=n[88],Fr=n[89],_=n[90],k=n[91],I=n[92],U=n[93],Y=n[94],y0=n[95],D0=n[96],I0=n[97],D=n[98],u0=n[99],Y0=n[ni],J0=n[L7],fr=n[Ri],Q0=n[c7],F0=n[D7],Sr=n[R7],mr=n[Vt],Cr=n[Qc],sr=n[fs],Pr=n[Fv],K0=n[Yt],Ur=n[vf],d0=n[F7],Kr=n[Pn],re=n[u1],xe=n[Av],je=n[x1],ve=n[A2],Ie=n[z2],Me=n[Sv],Be=n[fc],fn=n[tl],Ke=n[In],Ae=n[us],xn=n[X2],Qe=n[br],dn=n[DX],on=n[Kn],Ce=n[Mt],We=n[eV],rn=n[Jw],pn=n[Qg],Cn=n[YH],Hn=n[133],Fn=n[134],vt=n[135],Ct=n[QH],Tt=n[137],Zt=n[OH],Ht=n[139],Ot=n[gH],Pt=n[141],du=n[142],Ku=n[143],lt=n[cV],au=n[145],Mu=n[146],z7=n[MX],Yi=n[148],a7=n[fH],Yc=n[150],K7=n[151],Xt=n[152],bt=n[153],U0=n[NH],L0=n[155],Re=n[156],He=n[157],he=n[158],me=n[159],Qn=n[sY],hn=n[WU],ft=n[Sd],xt=n[Mn],Rn=n[PF],tt=n[nY],ht=n[MY],tn=n[DT],cn=n[DY],ut=n[RX],It=n[Xg],Fi=n[yg],hs=n[BU],Iu=n[wY],Vs=n[nH],Vi=n[dX],zs=n[kV],Ks=n[oV],en=n[OO],ci=n[qY],Ws=n[mU],c2=n[Ai],B9=n[Kg],q9=n[mS],U9=n[wk],Js=n[AU],s2=n[dh],H9=n[iw],X9=n[cY],Y9=n[sX],X1=n[PY],si=n[yX],ob=n[rt],cb=n[VT],sb=n[iI],V9=n[vY],z9=n[WX],K9=n[SY],vb=n[_H],W9=n[uX],J9=n[RU],$9=n[mY],Z9=n[xH],lb=n[fV],Q9=n[rY],Y1=n[$H],v2=n[CH],bb=n[LX],pb=n[wH],mb=n[Zg],Tn=n[N6],jn=n[EU],V1=n[EY],_b=n[qX],yb=n[dT],r_=n[cT],Vc=n[d6],e_=n[sp],l2=n[Lw],db=n[NU],zc=n[aA],n_=n[HX],$s=n[NX],hb=n[d8],z1=n[dv],t_=n[HO],ks=n[tk],u_=n[eX],K1=n[sV],i_=n[dU],b2=n[Bd],f_=n[VX],Zs=n[eT],kb=n[wT],Qs=n[aH],x_=n[eH],zi=n[mO],Kc=n[YY],r1=n[pH],a_=n[f6],p2=n[v1],m2=n[Wy],_2=n[TT],o_=n[uH],e1=n[l8],c_=n[rV],y2=n[$2],XL=n[48],W1=n[64];function YL(o,F,m){var O=m[2],H=m[1],$=Ve(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return O===r0&&H===$?m:[0,$,r0,m[3],m[4]]}function J1(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+Kc],o,r0),z0=Ve(u(o[1][1+V],o),$),Nr=a(o[1][1+t0],o,H),Gr=a(o[1][1+s0],o,O);return r0===G0&&H===Nr&&$===z0&&O===Gr?m:[0,G0,z0,Nr,Gr]}function VL(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),G0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function $1(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+_r],o,$),G0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function zL(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ur(o[1][1+p],o,F,$),G0=Ve(u(o[1][1+en],o),H);return $===r0&&H===G0?m:[0,m[1],[0,r0,G0]]}function Ti(o,F,m){var O=m[3],H=m[2],$=m[1],r0=Un(a(o[1][1+y],o,H),$),G0=a(o[1][1+s0],o,O);return $===r0&&O===G0?m:[0,r0,H,G0]}function KL(o,F,m){var O=m[4],H=m[2],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],$,m[3],r0]}function WL(o,F,m){var O=m[3],H=m[2],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],$,r0]}function d2(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),G0=a(o[1][1+l],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&G0===H&&z0===O?m:[0,r0,G0,z0]}function JL(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=mu(u(o[1][1+zi],o),r0);if($)var z0=$[1],Nr=z0[1],Gr=function(Qt){return[0,[0,Nr,Qt]]},Fe=z0[2],_e=te(u(o[1][1+K1],o),Nr,Fe,$,Gr);else var _e=$;if(H)var Dn=H[1],mn=Dn[1],at=function(Qt){return[0,[0,mn,Qt]]},pt=Dn[2],kt=te(u(o[1][1+zi],o),mn,pt,H,at);else var kt=H;var Wn=a(o[1][1+s0],o,O);return r0===G0&&$===_e&&H===kt&&O===Wn?m:[0,G0,_e,kt,Wn]}function Z1(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function $L(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Q1(o,F){return F}function ZL(o,F,m){var O=m[3],H=m[2],$=m[1],r0=Un(u(o[1][1+b],o),$),G0=Un(u(o[1][1+en],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function wb(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),G0=mu(u(o[1][1+j0],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function QL(o,F){var m=F[2],O=m[3],H=m[2],$=m[1],r0=Ve(u(o[1][1+en],o),$),G0=a(o[1][1+Tr],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?F:[0,F[1],[0,r0,G0,z0]]}function Eb(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),G0=Un(u(o[1][1+Ar],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0,m[4]]}function rR(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function eR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function h2(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function nR(o,F){return[0,a(o[1][1+Or],o,F),0]}function tR(o,F){var m=u(o[1][1+Hr],o),O=le(function(H,$){var r0=H[1],G0=u(m,$);if(G0){if(G0[2])return[0,jc(G0,r0),1];var z0=G0[1],Nr=H[2],Gr=Nr||($!==z0?1:0);return[0,[0,z0,r0],Gr]}return[0,r0,1]},S6r,F);return O[2]?de(O[1]):F}function s_(o,F){return a(o[1][1+Tr],o,F)}function uR(o,F,m){var O=m[2],H=m[1],$=Un(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function k2(o,F,m){var O=m[2],H=m[1],$=Ve(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0,m[3]]}function iR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Re],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function w2(o,F){return a(o[1][1+en],o,F)}function fR(o,F){var m=F[2],O=m[2],H=m[1];if(H)var $=function(Nr){return[0,Nr]},r0=H[1],G0=ee(u(o[1][1+en],o),r0,H,$);else var G0=H;var z0=a(o[1][1+s0],o,O);return H===G0&&O===z0?F:[0,F[1],[0,G0,z0]]}function rv(o,F){return a(o[1][1+en],o,F)}function xR(o,F,m){return ur(o[1][1+er],o,F,m)}function Sb(o,F,m){return ur(o[1][1+er],o,F,m)}function aR(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ur(o[1][1+Z],o,F,$),G0=a(o[1][1+s0],o,H);return r0===$&&H===G0?m:[0,m[1],[0,r0,G0]]}function gb(o,F,m){return ur(o[1][1+er],o,F,m)}function oR(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ur(o[1][1+b0],o,F,$),G0=Ve(u(o[1][1+en],o),H);return $===r0&&H===G0?m:[0,m[1],[0,r0,G0]]}function Fb(o,F,m){switch(m[0]){case 0:var O=function(G0){return[0,G0]},H=m[1];return ee(a(o[1][1+O0],o,F),H,m,O);case 1:var $=function(G0){return[1,G0]},r0=m[1];return ee(a(o[1][1+p0],o,F),r0,m,$);default:return m}}function cR(o,F,m){return ur(o[1][1+er],o,F,m)}function Gn(o,F,m){return ur(o[1][1+er],o,F,m)}function v_(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ur(o[1][1+fe],o,F,$),G0=a(o[1][1+s0],o,H);return r0===$&&H===G0?m:[0,m[1],[0,r0,G0]]}function sR(o,F,m){return a(o[1][1+Tn],o,m)}function vR(o,F,m){return ur(o[1][1+R0],o,F,m)}function ev(o,F,m){var O=m[1];function H(r0){return[0,O,r0]}var $=m[2];return te(a(o[1][1+rr],o,F),O,$,m,H)}function Tb(o,F,m){switch(m[0]){case 0:var O=function(Nr){return[0,Nr]},H=m[1];return ee(a(o[1][1+L],o,F),H,m,O);case 1:var $=function(Nr){return[1,Nr]},r0=m[1];return ee(a(o[1][1+i0],o,F),r0,m,$);default:var G0=function(Nr){return[2,Nr]},z0=m[1];return ee(a(o[1][1+l0],o,F),z0,m,G0)}}function l_(o,F,m){var O=m[2],H=O[4],$=O[3],r0=O[2],G0=O[1],z0=ur(o[1][1+Q],o,F,G0),Nr=ur(o[1][1+P],o,F,r0),Gr=Ve(u(o[1][1+en],o),$);if(H){var Fe=0;if(z0[0]===1){var _e=Nr[2];if(_e[0]===2)var mn=qn(z0[1][2][1],_e[1][1][2][1]);else Fe=1}else Fe=1;if(Fe)var Dn=G0===z0?1:0,mn=Dn&&(r0===Nr?1:0)}else var mn=H;return z0===G0&&Nr===r0&&Gr===$&&H===mn?m:[0,m[1],[0,z0,Nr,Gr,mn]]}function Ob(o,F,m){if(m[0]===0){var O=function(G0){return[0,G0]},H=m[1];return ee(a(o[1][1+S0],o,F),H,m,O)}function $(G0){return[1,G0]}var r0=m[1];return ee(a(o[1][1+v0],o,F),r0,m,$)}function lR(o,F,m,O){return ur(o[1][1+J0],o,m,O)}function b_(o,F,m){return a(o[1][1+lt],o,m)}function bR(o,F,m){var O=m[2];switch(O[0]){case 0:var H=O[1],$=H[3],r0=H[2],G0=H[1],z0=Un(a(o[1][1+T0],o,F),G0),Nr=a(o[1][1+x0],o,r0),Gr=a(o[1][1+s0],o,$),Fe=0;if(z0===G0&&Nr===r0&&Gr===$){var _e=O;Fe=1}if(!Fe)var _e=[0,[0,z0,Nr,Gr]];var Ji=_e;break;case 1:var Dn=O[1],mn=Dn[3],at=Dn[2],pt=Dn[1],kt=Un(a(o[1][1+q0],o,F),pt),Wn=a(o[1][1+x0],o,at),Qt=a(o[1][1+s0],o,mn),W7=0;if(mn===Qt&&kt===pt&&Wn===at){var J7=O;W7=1}if(!W7)var J7=[1,[0,kt,Wn,Qt]];var Ji=J7;break;case 2:var w7=O[1],$7=w7[2],Z7=w7[1],Q7=ur(o[1][1+R0],o,F,Z7),ri=a(o[1][1+x0],o,$7),ei=0;if(Z7===Q7&&$7===ri){var Wi=O;ei=1}if(!ei)var Wi=[2,[0,Q7,ri,w7[3]]];var Ji=Wi;break;default:var uv=function(fv){return[3,fv]},iv=O[1],Ji=ee(u(o[1][1+B],o),iv,O,uv)}return O===Ji?m:[0,m[1],Ji]}function p_(o,F){return ur(o[1][1+er],o,0,F)}function Ib(o,F,m){var O=F&&F[1];return ur(o[1][1+er],o,[0,O],m)}function m_(o,F){return a(o[1][1+m2],o,F)}function pR(o,F){return a(o[1][1+m2],o,F)}function __(o,F){return ur(o[1][1+r1],o,E6r,F)}function Ab(o,F,m){return ur(o[1][1+r1],o,[0,F],m)}function mR(o,F){return ur(o[1][1+r1],o,w6r,F)}function _R(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],G0=m[1],z0=a(o[1][1+Kc],o,G0),Nr=Ve(u(o[1][1+V],o),r0),Gr=Ve(u(o[1][1+t0],o),$),Fe=Ve(u(o[1][1+t0],o),H),_e=a(o[1][1+s0],o,O);return G0===z0&&$===Gr&&r0===Nr&&$===Gr&&H===Fe&&O===_e?m:[0,z0,Nr,Gr,Fe,_e]}function yR(o,F){return a(o[1][1+Tn],o,F)}function Nb(o,F){return a(o[1][1+lt],o,F)}function dR(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+J0],o),m,H,F,O)}function hR(o,F){switch(F[0]){case 0:var m=function(Gr){return[0,Gr]},O=F[1];return ee(u(o[1][1+be],o),O,F,m);case 1:var H=function(Gr){return[1,Gr]},$=F[1];return ee(u(o[1][1+oe],o),$,F,H);case 2:var r0=function(Gr){return[2,Gr]},G0=F[1];return ee(u(o[1][1+or],o),G0,F,r0);default:var z0=function(Gr){return[3,Gr]},Nr=F[1];return ee(u(o[1][1+pe],o),Nr,F,z0)}}function y_(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+ae],o,r0),z0=a(o[1][1+en],o,$);if(H){var Nr=0;if(G0[0]===1){var Gr=z0[2];if(Gr[0]===10)var _e=qn(G0[1][2][1],Gr[1][2][1]);else Nr=1}else Nr=1;if(Nr)var Fe=r0===G0?1:0,_e=Fe&&($===z0?1:0)}else var _e=H;return r0===G0&&$===z0&&H===_e?F:[0,O,[0,G0,z0,_e]];case 1:var Dn=m[2],mn=m[1],at=a(o[1][1+ae],o,mn),pt=mu(u(o[1][1+me],o),Dn);return mn===at&&Dn===pt?F:[0,O,[1,at,pt]];case 2:var kt=m[3],Wn=m[2],Qt=m[1],W7=a(o[1][1+ae],o,Qt),J7=mu(u(o[1][1+me],o),Wn),w7=a(o[1][1+s0],o,kt);return Qt===W7&&Wn===J7&&kt===w7?F:[0,O,[2,W7,J7,w7]];default:var $7=m[3],Z7=m[2],Q7=m[1],ri=a(o[1][1+ae],o,Q7),ei=mu(u(o[1][1+me],o),Z7),Wi=a(o[1][1+s0],o,$7);return Q7===ri&&Z7===ei&&$7===Wi?F:[0,O,[3,ri,ei,Wi]]}}function kR(o,F,m){var O=m[2],H=m[1],$=Un(function(G0){if(G0[0]===0){var z0=G0[1],Nr=a(o[1][1+Qr],o,z0);return z0===Nr?G0:[0,Nr]}var Gr=G0[1],Fe=a(o[1][1+xr],o,Gr);return Gr===Fe?G0:[1,Fe]},H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Cb(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+en],o,r0),z0=Ve(u(o[1][1+b2],o),$),Nr=Ve(u(o[1][1+Zs],o),H),Gr=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Nr&&O===Gr?m:[0,G0,z0,Nr,Gr]}function wR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+lt],o,$),G0=a(o[1][1+lt],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function ER(o,F){return a(o[1][1+en],o,F)}function d_(o,F){return a(o[1][1+or],o,F)}function SR(o,F){return a(o[1][1+lt],o,F)}function E2(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+y0],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+D],o),$,F,H);default:var r0=function(z0){return[2,z0]},G0=F[1];return ee(u(o[1][1+D0],o),G0,F,r0)}}function gR(o,F,m){var O=m[1],H=ur(o[1][1+u0],o,F,O);return O===H?m:[0,H,m[2],m[3]]}function FR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),G0=a(o[1][1+I0],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function TR(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+en],o,$),G0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,m[1],r0,G0,z0]}function Pb(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function OR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+Q0],o,$),G0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function IR(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function Db(o,F){return a(o[1][1+ve],o,F)}function AR(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+K0],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Ur],o),$,F,H)}function NR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Pr],o,H),r0=a(o[1][1+d0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function hu(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+d0],o,H),r0=a(o[1][1+d0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function ku(o,F){return a(o[1][1+Ur],o,F)}function Oi(o,F){return a(o[1][1+sr],o,F)}function k7(o,F){return a(o[1][1+d0],o,F)}function Ki(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+ve],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+xe],o),$,F,H);default:var r0=function(z0){return[2,z0]},G0=F[1];return ee(u(o[1][1+je],o),G0,F,r0)}}function nv(o,F){var m=F[2],O=F[1],H=a(o[1][1+en],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Lb(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+s0],o,O);if(H){var r0=H[1],G0=a(o[1][1+en],o,r0);return r0===G0&&O===$?m:[0,[0,G0],$]}return O===$?m:[0,0,$]}function tv(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(_e){return[0,O,[0,_e]]},$=m[1];return te(u(o[1][1+Me],o),O,$,F,H);case 1:var r0=function(_e){return[0,O,[1,_e]]},G0=m[1];return te(u(o[1][1+Kr],o),O,G0,F,r0);case 2:var z0=function(_e){return[0,O,[2,_e]]},Nr=m[1];return te(u(o[1][1+re],o),O,Nr,F,z0);case 3:var Gr=function(_e){return[0,O,[3,_e]]},Fe=m[1];return ee(u(o[1][1+F0],o),Fe,F,Gr);default:return F}}function Rb(o,F){var m=F[2],O=Un(u(o[1][1+Ke],o),m);return m===O?F:[0,F[1],O]}function jb(o,F,m){return ur(o[1][1+J0],o,F,m)}function CR(o,F,m){return ur(o[1][1+re],o,F,m)}function Rne(o,F){if(F[0]===0){var m=F[1],O=function(z0){return[0,m,z0]},H=F[2];return te(u(o[1][1+Ae],o),m,H,F,O)}var $=F[1];function r0(z0){return[1,$,z0]}var G0=F[2];return te(u(o[1][1+xn],o),$,G0,F,r0)}function jne(o,F){return a(o[1][1+sr],o,F)}function Gne(o,F){return a(o[1][1+d0],o,F)}function Mne(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+on],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+dn],o),$,F,H)}function Bne(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Ce],o,H),r0=Ve(u(o[1][1+Qe],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function qne(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Une(o,F){if(F[0]===0){var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+We],o),O,F,m)}var H=F[1],$=H[1];function r0(z0){return[1,[0,$,z0]]}var G0=H[2];return te(u(o[1][1+Sr],o),$,G0,F,r0)}function Hne(o,F){var m=F[2][1],O=a(o[1][1+Ie],o,m);return m===O?F:[0,F[1],[0,O]]}function Xne(o,F){var m=F[2],O=m[3],H=m[1],$=a(o[1][1+Ie],o,H),r0=Un(u(o[1][1+Cr],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,m[2],r0]]}function Yne(o,F,m){var O=m[4],H=m[3],$=a(o[1][1+fn],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],m[2],$,r0]}function Vne(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+mr],o,r0),z0=Ve(u(o[1][1+Be],o),$),Nr=a(o[1][1+fn],o,H),Gr=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Nr&&O===Gr?m:[0,G0,z0,Nr,Gr]}function zne(o,F,m,O){var H=2<=F?a(o[1][1+R0],o,k6r):u(o[1][1+Kc],o);return u(H,O)}function Kne(o,F,m){var O=2<=F?a(o[1][1+R0],o,h6r):u(o[1][1+Kc],o);return u(O,m)}function Wne(o,F,m){var O=m[3],H=m[2],$=m[1],r0=0;if(F){var G0=0;if($)switch($[1]){case 2:break;case 0:r0=1,G0=2;break;default:G0=1}var z0=0;switch(G0){case 2:z0=1;break;case 0:if(2<=F){var Nr=0,Gr=0;z0=1}break}if(!z0)var Nr=1,Gr=0}else r0=1;if(r0)var Nr=1,Gr=1;var Fe=a(Gr?o[1][1+m0]:o[1][1+lt],o,O);if(H)var _e=Nr?u(o[1][1+Kc],o):a(o[1][1+R0],o,d6r),Dn=function(at){return[0,at]},mn=ee(_e,H[1],H,Dn);else var mn=H;return H===mn&&O===Fe?m:[0,$,mn,Fe]}function Jne(o,F,m){if(m[0]===0){var O=m[1],H=Un(a(o[1][1+Tt],o,F),O);return O===H?m:[0,H]}var $=m[1],r0=$[1];function G0(Nr){return[1,[0,r0,Nr]]}var z0=$[2];return te(a(o[1][1+Ct],o,F),r0,z0,m,G0)}function $ne(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[1],G0=Ve(a(o[1][1+vt],o,r0),H),z0=Ve(a(o[1][1+Zt],o,r0),$),Nr=a(o[1][1+s0],o,O);return H===G0&&$===z0&&O===Nr?m:[0,r0,m[2],z0,G0,Nr]}function Zne(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+_r],o,r0),z0=ur(o[1][1+du],o,H!==0?1:0,$),Nr=u(o[1][1+Ku],o),Gr=Ve(function(_e){return mu(Nr,_e)},H),Fe=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Gr&&O===Fe?m:[0,G0,z0,Gr,Fe]}function Qne(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+Or],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function rte(o,F,m){return a(o[1][1+Or],o,m)}function ete(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function nte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function tte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function ute(o,F,m){return ur(o[1][1+Hn],o,F,m)}function ite(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],G0=m[1],z0=a(o[1][1+Kc],o,G0),Nr=Ve(u(o[1][1+V],o),r0),Gr=u(o[1][1+au],o),Fe=Un(function(mn){return mu(Gr,mn)},$),_e=mu(u(o[1][1+qr],o),H),Dn=a(o[1][1+s0],o,O);return z0===G0&&Nr===r0&&Fe===$&&_e===H&&Dn===O?m:[0,z0,Nr,Fe,_e,Dn]}function fte(o,F){return a(o[1][1+k0],o,F)}function xte(o,F){return a(o[1][1+k0],o,F)}function ate(o,F){return a(o[1][1+lt],o,F)}function ote(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function cte(o,F,m){return m}function ste(o,F){return ur(o[1][1+R0],o,y6r,F)}function vte(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+zi],o),m,H,F,O)}function lte(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+xt],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function bte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Re],o,H),r0=Ve(u(o[1][1+en],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function pte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function mte(o,F){var m=F[2],O=m[4],H=m[3],$=m[2],r0=m[1],G0=Un(u(o[1][1+He],o),$),z0=Ve(u(o[1][1+bt],o),H),Nr=Ve(u(o[1][1+K7],o),r0),Gr=a(o[1][1+s0],o,O);return $===G0&&H===z0&&O===Gr&&r0===Nr?F:[0,F[1],[0,Nr,G0,z0,Gr]]}function _te(o,F,m){var O=m[9],H=m[8],$=m[7],r0=m[6],G0=m[3],z0=m[2],Nr=m[1],Gr=Ve(u(o[1][1+he],o),Nr),Fe=a(o[1][1+U0],o,z0),_e=a(o[1][1+x0],o,$),Dn=a(o[1][1+ft],o,G0),mn=Ve(u(o[1][1+Ir],o),r0),at=Ve(u(o[1][1+V],o),H),pt=a(o[1][1+s0],o,O);return Nr===Gr&&z0===Fe&&G0===Dn&&r0===mn&&$===_e&&H===at&&O===pt?m:[0,Gr,Fe,Dn,m[4],m[5],mn,_e,at,pt,m[10]]}function yte(o,F,m){return ur(o[1][1+Rn],o,F,m)}function dte(o,F,m){return ur(o[1][1+me],o,F,m)}function hte(o,F,m){return ur(o[1][1+Rn],o,F,m)}function kte(o,F){if(F[0]===0)return F;var m=F[1],O=a(o[1][1+l],o,m);return O===m?F:[1,O]}function wte(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return ee(u(o[1][1+t0],o),H,F,O)}function Ete(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function($e){return[0,O,[0,$e]]},$=m[1];return ee(u(o[1][1+s0],o),$,F,H);case 1:var r0=function($e){return[0,O,[1,$e]]},G0=m[1];return ee(u(o[1][1+s0],o),G0,F,r0);case 2:var z0=function($e){return[0,O,[2,$e]]},Nr=m[1];return ee(u(o[1][1+s0],o),Nr,F,z0);case 3:var Gr=function($e){return[0,O,[3,$e]]},Fe=m[1];return ee(u(o[1][1+s0],o),Fe,F,Gr);case 4:var _e=function($e){return[0,O,[4,$e]]},Dn=m[1];return ee(u(o[1][1+s0],o),Dn,F,_e);case 5:var mn=function($e){return[0,O,[5,$e]]},at=m[1];return ee(u(o[1][1+s0],o),at,F,mn);case 6:var pt=function($e){return[0,O,[6,$e]]},kt=m[1];return ee(u(o[1][1+s0],o),kt,F,pt);case 7:var Wn=function($e){return[0,O,[7,$e]]},Qt=m[1];return ee(u(o[1][1+s0],o),Qt,F,Wn);case 8:var W7=function($e){return[0,O,[8,$e]]},J7=m[1];return ee(u(o[1][1+s0],o),J7,F,W7);case 9:var w7=function($e){return[0,O,[9,$e]]},$7=m[1];return ee(u(o[1][1+s0],o),$7,F,w7);case 10:var Z7=function($e){return[0,O,[10,$e]]},Q7=m[1];return ee(u(o[1][1+s0],o),Q7,F,Z7);case 11:var ri=function($e){return[0,O,[11,$e]]},ei=m[1];return ee(u(o[1][1+k],o),ei,F,ri);case 12:var Wi=function($e){return[0,O,[12,$e]]},uv=m[1];return te(u(o[1][1+a7],o),O,uv,F,Wi);case 13:var iv=function($e){return[0,O,[13,$e]]},Ji=m[1];return te(u(o[1][1+qr],o),O,Ji,F,iv);case 14:var fv=function($e){return[0,O,[14,$e]]},Gb=m[1];return te(u(o[1][1+pn],o),O,Gb,F,fv);case 15:var Mb=function($e){return[0,O,[15,$e]]},Bb=m[1];return ee(u(o[1][1+e1],o),Bb,F,Mb);case 16:var qb=function($e){return[0,O,[16,$e]]},Ub=m[1];return te(u(o[1][1+au],o),O,Ub,F,qb);case 17:var Hb=function($e){return[0,O,[17,$e]]},Xb=m[1];return te(u(o[1][1+Fn],o),O,Xb,F,Hb);case 18:var Yb=function($e){return[0,O,[18,$e]]},Vb=m[1];return te(u(o[1][1+vr],o),O,Vb,F,Yb);case 19:var zb=function($e){return[0,O,[19,$e]]},Kb=m[1];return te(u(o[1][1+h],o),O,Kb,F,zb);case 20:var Wb=function($e){return[0,O,[20,$e]]},Jb=m[1];return te(u(o[1][1+rn],o),O,Jb,F,Wb);case 21:var $b=function($e){return[0,O,[21,$e]]},Zb=m[1];return ee(u(o[1][1+G],o),Zb,F,$b);case 22:var Qb=function($e){return[0,O,[22,$e]]},r4=m[1];return ee(u(o[1][1+a0],o),r4,F,Qb);case 23:var e4=function($e){return[0,O,[23,$e]]},n4=m[1];return te(u(o[1][1+Lr],o),O,n4,F,e4);case 24:var t4=function($e){return[0,O,[24,$e]]},u4=m[1];return te(u(o[1][1+_],o),O,u4,F,t4);case 25:var i4=function($e){return[0,O,[25,$e]]},f4=m[1];return te(u(o[1][1+p2],o),O,f4,F,i4);default:var x4=function($e){return[0,O,[26,$e]]},a4=m[1];return te(u(o[1][1+x_],o),O,a4,F,x4)}}function Ste(o,F,m){var O=m[2],H=m[1],$=H[3],r0=H[2],G0=H[1],z0=a(o[1][1+t0],o,G0),Nr=a(o[1][1+t0],o,r0),Gr=Un(u(o[1][1+t0],o),$),Fe=a(o[1][1+s0],o,O);return z0===G0&&Nr===r0&&Gr===$&&Fe===O?m:[0,[0,z0,Nr,Gr],Fe]}function gte(o,F,m){var O=m[2],H=m[1],$=H[3],r0=H[2],G0=H[1],z0=a(o[1][1+t0],o,G0),Nr=a(o[1][1+t0],o,r0),Gr=Un(u(o[1][1+t0],o),$),Fe=a(o[1][1+s0],o,O);return z0===G0&&Nr===r0&&Gr===$&&Fe===O?m:[0,[0,z0,Nr,Gr],Fe]}function Fte(o,F){var m=F[2],O=F[1],H=a(o[1][1+t0],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Tte(o,F){var m=F[2],O=F[1],H=Un(u(o[1][1+t0],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Ote(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+K],o,H),r0=a(o[1][1+S],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function Ite(o,F){return a(o[1][1+lt],o,F)}function Ate(o,F){return a(o[1][1+lt],o,F)}function Nte(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+M],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+A],o),$,F,H)}function Cte(o,F){var m=F[2],O=F[1],H=a(o[1][1+K],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Pte(o,F){var m=F[2],O=F[1],H=a(o[1][1+t0],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Dte(o,F,m){var O=m[2],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],H]}function Lte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function Rte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function jte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function Gte(o,F,m){var O=m[1],H=ur(o[1][1+Fn],o,F,O);return H===O?m:[0,H,m[2]]}function Mte(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+t0],o,$),G0=a(o[1][1+t0],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&G0===H&&z0===O?m:[0,r0,G0,z0]}function Bte(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+z7],o,$),G0=Ve(u(o[1][1+e0],o),H),z0=a(o[1][1+s0],o,O);return r0===$&&G0===H&&z0===O?m:[0,r0,G0,z0]}function qte(o,F){var m=F[2],O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+x0],o,$),z0=a(o[1][1+c],o,H),Nr=Ve(u(o[1][1+t0],o),O),Gr=a(o[1][1+Kc],o,r0);return Gr===r0&&G0===$&&z0===H&&Nr===O?F:[0,F[1],[0,Gr,G0,z0,Nr]]}function Ute(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+f0],o),H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function Hte(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+t0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function Xte(o,F){return Ve(u(o[1][1+s],o),F)}function Yte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function Vte(o,F){return a(o[1][1+lt],o,F)}function zte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+z7],o,H),r0=a(o[1][1+Y],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function Kte(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+m0],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Mu],o),$,F,H)}function Wte(o,F,m){var O=m[3],H=m[2],$=m[1],r0=u(o[1][1+au],o),G0=Un(function(Gr){return mu(r0,Gr)},H),z0=mu(u(o[1][1+qr],o),$),Nr=a(o[1][1+s0],o,O);return G0===H&&z0===$&&O===Nr?m:[0,z0,G0,Nr]}function Jte(o,F,m){var O=m[4],H=m[3],$=Un(function(G0){switch(G0[0]){case 0:var z0=function(Wn){return[0,Wn]},Nr=G0[1];return ee(u(o[1][1+ne],o),Nr,G0,z0);case 1:var Gr=function(Wn){return[1,Wn]},Fe=G0[1];return ee(u(o[1][1+jr],o),Fe,G0,Gr);case 2:var _e=function(Wn){return[2,Wn]},Dn=G0[1];return ee(u(o[1][1+ge],o),Dn,G0,_e);case 3:var mn=function(Wn){return[3,Wn]},at=G0[1];return ee(u(o[1][1+H0],o),at,G0,mn);default:var pt=function(Wn){return[4,Wn]},kt=G0[1];return ee(u(o[1][1+ce],o),kt,G0,pt)}},H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?m:[0,m[1],m[2],$,r0]}function $te(o,F){var m=F[2],O=m[3],H=m[1],$=H[2],r0=H[1],G0=ur(o[1][1+a7],o,r0,$),z0=a(o[1][1+s0],o,O);return $===G0&&O===z0?F:[0,F[1],[0,[0,r0,G0],m[2],z0]]}function Zte(o,F){var m=F[2],O=m[6],H=m[2],$=m[1],r0=a(o[1][1+lt],o,$),G0=a(o[1][1+t0],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?F:[0,F[1],[0,r0,G0,m[3],m[4],m[5],z0]]}function Qte(o,F){var m=F[2],O=m[6],H=m[5],$=m[3],r0=m[2],G0=a(o[1][1+t0],o,r0),z0=a(o[1][1+t0],o,$),Nr=a(o[1][1+c],o,H),Gr=a(o[1][1+s0],o,O);return G0===r0&&z0===$&&Nr===H&&Gr===O?F:[0,F[1],[0,m[1],G0,z0,m[4],Nr,Gr]]}function rue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+t0],o,H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?F:[0,F[1],[0,$,r0]]}function eue(o,F){var m=F[2],O=m[8],H=m[7],$=m[2],r0=m[1],G0=a(o[1][1+ae],o,r0),z0=a(o[1][1+$r],o,$),Nr=a(o[1][1+c],o,H),Gr=a(o[1][1+s0],o,O);return G0===r0&&z0===$&&Nr===H&&Gr===O?F:[0,F[1],[0,G0,z0,m[3],m[4],m[5],m[6],Nr,Gr]]}function nue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+a7],o),m,H,F,O)}function tue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+a7],o),m,H,F,O)}function uue(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+t0],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+Br],o),$,F,H);default:var r0=function(z0){return[2,z0]},G0=F[1];return ee(u(o[1][1+Mr],o),G0,F,r0)}}function iue(o,F){return a(o[1][1+lt],o,F)}function fue(o,F,m){var O=m[4],H=m[3],$=m[2],r0=$[2],G0=r0[4],z0=r0[3],Nr=r0[2],Gr=r0[1],Fe=m[1],_e=Ve(u(o[1][1+Yc],o),Gr),Dn=Un(u(o[1][1+L0],o),Nr),mn=Ve(u(o[1][1+Xt],o),z0),at=a(o[1][1+t0],o,H),pt=Ve(u(o[1][1+V],o),Fe),kt=a(o[1][1+s0],o,O),Wn=a(o[1][1+s0],o,G0);return Dn===Nr&&mn===z0&&at===H&&pt===Fe&&kt===O&&Wn===G0&&_e===Gr?m:[0,pt,[0,$[1],[0,_e,Dn,mn,Wn]],at,kt]}function xue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function aue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+L0],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function oue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+t0],o,O),r0=Ve(u(o[1][1+lt],o),H);return $===O&&r0===H?F:[0,F[1],[0,r0,$,m[3]]]}function cue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function sue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Fi],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function vue(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],G0=m[1],z0=Ve(u(o[1][1+tt],o),G0),Nr=Ve(u(o[1][1+_r],o),r0),Gr=Ve(u(o[1][1+en],o),$),Fe=a(o[1][1+Or],o,H),_e=a(o[1][1+s0],o,O);return G0===z0&&r0===Nr&&$===Gr&&H===Fe&&O===_e?m:[0,z0,Nr,Gr,Fe,_e]}function lue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function bue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+ut],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+It],o),$,F,H)}function pue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+tn],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+Or],o,H),Gr=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Nr&&O===Gr?m:[0,G0,z0,Nr,m[4],Gr]}function mue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function _ue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Vs],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Vi],o),$,F,H)}function yue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+hs],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+Or],o,H),Gr=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Nr&&O===Gr?m:[0,G0,z0,Nr,m[4],Gr]}function due(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+en],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Rr],o),$,F,H)}function hue(o,F,m){var O=m[3],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,m[2],r0]}function kue(o,F){if(F[0]===0){var m=F[1],O=Un(u(o[1][1+Ws],o),m);return m===O?F:[0,O]}var H=F[1],$=a(o[1][1+U9],o,H);return H===$?F:[1,$]}function wue(o,F){var m=F[2],O=Ve(u(o[1][1+lt],o),m);return m===O?F:[0,F[1],O]}function Eue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+lt],o,H),r0=Ve(u(o[1][1+lt],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function Sue(o,F,m){var O=m[5],H=m[2],$=m[1],r0=Ve(u(o[1][1+ci],o),H),G0=Ve(u(o[1][1+Or],o),$),z0=a(o[1][1+s0],o,O);return H===r0&&$===G0&&O===z0?m:[0,G0,r0,m[3],m[4],z0]}function gue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Or],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function Fue(o,F,m){var O=m[3],H=m[2],$=a(o[1][1+B9],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?m:[0,m[1],$,r0]}function Tue(o,F){return a(o[1][1+lt],o,F)}function Oue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Iue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Aue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Nue(o,F){var m=F[2][1],O=a(o[1][1+X1],o,m);return m===O?F:[0,F[1],[0,O]]}function Cue(o,F){var m=F[3],O=F[1],H=Un(u(o[1][1+si],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],$]}function Pue(o,F){var m=F[4],O=F[1];if(O[0]===0)var H=function(_e){return[0,_e]},$=O[1],r0=u(o[1][1+si],o),Gr=ee(function(_e){return Un(r0,_e)},$,O,H);else var G0=function(_e){return[1,_e]},z0=O[1],Nr=u(o[1][1+s2],o),Gr=ee(function(_e){return Un(Nr,_e)},z0,O,G0);var Fe=a(o[1][1+s0],o,m);return O===Gr&&m===Fe?F:[0,Gr,F[2],F[3],Fe]}function Due(o,F){var m=F[4],O=F[1],H=Un(u(o[1][1+X9],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],F[3],$]}function Lue(o,F){var m=F[4],O=F[1],H=Un(u(o[1][1+cb],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],F[3],$]}function Rue(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(_e){return[0,O,[0,_e]]},$=m[1];return ee(u(o[1][1+sb],o),$,F,H);case 1:var r0=function(_e){return[0,O,[1,_e]]},G0=m[1];return ee(u(o[1][1+Y9],o),G0,F,r0);case 2:var z0=function(_e){return[0,O,[2,_e]]},Nr=m[1];return ee(u(o[1][1+H9],o),Nr,F,z0);default:var Gr=function(_e){return[0,O,[3,_e]]},Fe=m[1];return ee(u(o[1][1+Js],o),Fe,F,Gr)}}function jue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ur(o[1][1+R0],o,_6r,$),G0=a(o[1][1+V9],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function Gue(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Mue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+Or],o,$),G0=a(o[1][1+_r],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function Bue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ur(o[1][1+R0],o,m6r,$),G0=a(o[1][1+l],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&G0===H&&z0===O?m:[0,r0,G0,z0]}function que(o,F,m){return ur(o[1][1+c0],o,F,m)}function Uue(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Hue(o,F,m){var O=m[4],H=m[2],$=mu(u(o[1][1+zi],o),H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?m:[0,m[1],$,m[3],r0]}function Xue(o,F,m){return ur(o[1][1+Hn],o,F,m)}function Yue(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+he],o,r0),z0=a(o[1][1+l],o,$),Nr=Ve(u(o[1][1+Ir],o),H),Gr=a(o[1][1+s0],o,O);return G0===r0&&z0===$&&Nr===H&&Gr===O?m:[0,G0,z0,Nr,Gr]}function Vue(o,F){switch(F[0]){case 0:var m=F[1],O=m[2],H=m[1],$=ur(o[1][1+vb],o,H,O);return $===O?F:[0,[0,H,$]];case 1:var r0=F[1],G0=r0[2],z0=r0[1],Nr=ur(o[1][1+lb],o,z0,G0);return Nr===G0?F:[1,[0,z0,Nr]];case 2:var Gr=F[1],Fe=Gr[2],_e=Gr[1],Dn=ur(o[1][1+v2],o,_e,Fe);return Dn===Fe?F:[2,[0,_e,Dn]];case 3:var mn=F[1],at=a(o[1][1+t0],o,mn);return at===mn?F:[3,at];case 4:var pt=F[1],kt=pt[2],Wn=pt[1],Qt=ur(o[1][1+c0],o,Wn,kt);return Qt===kt?F:[4,[0,Wn,Qt]];case 5:var W7=F[1],J7=W7[2],w7=W7[1],$7=ur(o[1][1+Er],o,w7,J7);return $7===J7?F:[5,[0,w7,$7]];default:var Z7=F[1],Q7=Z7[2],ri=Z7[1],ei=ur(o[1][1+Hn],o,ri,Q7);return ei===Q7?F:[6,[0,ri,ei]]}}function zue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=Ve(u(o[1][1+ci],o),H),G0=Ve(u(o[1][1+Q9],o),$),z0=a(o[1][1+s0],o,O);return H===r0&&$===G0&&O===z0?m:[0,m[1],G0,r0,m[4],z0]}function Kue(o,F,m){var O=m[7],H=m[6],$=m[5],r0=m[4],G0=m[3],z0=m[2],Nr=m[1],Gr=a(o[1][1+db],o,Nr),Fe=Ve(u(o[1][1+V],o),z0),_e=mu(u(o[1][1+qr],o),G0),Dn=u(o[1][1+au],o),mn=Ve(function(Qt){return mu(Dn,Qt)},r0),at=u(o[1][1+au],o),pt=Un(function(Qt){return mu(at,Qt)},$),kt=Ve(u(o[1][1+l2],o),H),Wn=a(o[1][1+s0],o,O);return Gr===Nr&&Fe===z0&&_e===G0&&mn===r0&&pt===$&&kt===H&&Wn===O?m:[0,Gr,Fe,_e,mn,pt,kt,Wn]}function Wue(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Jue(o,F,m){var O=m[2],H=m[1],$=Ve(u(o[1][1+Q0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function $ue(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+_r],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+en],o,H),Gr=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Nr&&O===Gr?m:[0,G0,z0,Nr,Gr]}function Zue(o,F,m){return m}function Que(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],G0=m[1],z0=a(o[1][1+or],o,G0),Nr=a(o[1][1+_b],o,r0),Gr=a(o[1][1+x0],o,$),Fe=a(o[1][1+c],o,H),_e=a(o[1][1+s0],o,O);return G0===z0&&r0===Nr&&Gr===$&&Fe===H&&_e===O?m:[0,z0,Nr,Gr,m[4],Fe,_e]}function r7e(o,F){if(typeof F=="number")return F;var m=F[1],O=a(o[1][1+en],o,m);return m===O?F:[0,O]}function e7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],G0=m[1],z0=a(o[1][1+ae],o,G0),Nr=a(o[1][1+_b],o,r0),Gr=a(o[1][1+x0],o,$),Fe=a(o[1][1+c],o,H),_e=a(o[1][1+s0],o,O);return G0===z0&&r0===Nr&&Gr===$&&Fe===H&&_e===O?m:[0,z0,Nr,Gr,m[4],Fe,_e]}function n7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],G0=a(o[1][1+ae],o,r0),z0=mu(u(o[1][1+me],o),$),Nr=Un(u(o[1][1+hb],o),H),Gr=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Nr&&O===Gr?m:[0,m[1],G0,z0,m[4],Nr,Gr]}function t7e(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+m0],o,H),r0=Ve(u(o[1][1+e0],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function u7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+e_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function i7e(o,F){switch(F[0]){case 0:var m=F[1],O=m[1],H=function(mn){return[0,[0,O,mn]]},$=m[2];return te(u(o[1][1+Vc],o),O,$,F,H);case 1:var r0=F[1],G0=r0[1],z0=function(mn){return[1,[0,G0,mn]]},Nr=r0[2];return te(u(o[1][1+yb],o),G0,Nr,F,z0);default:var Gr=F[1],Fe=Gr[1],_e=function(mn){return[2,[0,Fe,mn]]},Dn=Gr[2];return te(u(o[1][1+r_],o),Fe,Dn,F,_e)}}function f7e(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function x7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+$s],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function a7e(o,F){return ur(o[1][1+R0],o,p6r,F)}function o7e(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),G0=Ve(u(o[1][1+e0],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function c7e(o,F,m){var O=m[7],H=m[6],$=m[5],r0=m[4],G0=m[3],z0=m[2],Nr=m[1],Gr=Ve(u(o[1][1+db],o),Nr),Fe=a(o[1][1+t_],o,z0),_e=Ve(u(o[1][1+V],o),G0),Dn=u(o[1][1+zc],o),mn=Ve(function(Wn){return mu(Dn,Wn)},r0),at=Ve(u(o[1][1+l2],o),$),pt=Un(u(o[1][1+hb],o),H),kt=a(o[1][1+s0],o,O);return Nr===Gr&&z0===Fe&&r0===mn&&$===at&&H===pt&&O===kt&&G0===_e?m:[0,Gr,Fe,_e,mn,at,pt,kt]}function s7e(o,F,m){return ur(o[1][1+ks],o,F,m)}function v7e(o,F,m){return ur(o[1][1+ks],o,F,m)}function l7e(o,F,m){var O=m[3],H=m[2],$=m[1],r0=Ve(u(o[1][1+u_],o),$),G0=a(o[1][1+i_],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,r0,G0,z0]}function b7e(o,F){return mu(u(o[1][1+zi],o),F)}function p7e(o,F){if(F[0]===0){var m=F[1],O=a(o[1][1+t0],o,m);return O===m?F:[0,O]}var H=F[1],$=H[2][1],r0=a(o[1][1+s0],o,$);return $===r0?F:[1,[0,H[1],[0,r0]]]}function m7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+f_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function _7e(o,F,m){var O=m[1],H=ur(o[1][1+kb],o,F,O);return O===H?m:[0,H,m[2],m[3]]}function y7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+Ks],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function d7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],G0=a(o[1][1+en],o,r0),z0=Ve(u(o[1][1+b2],o),$),Nr=a(o[1][1+Zs],o,H),Gr=a(o[1][1+s0],o,O);return r0===G0&&$===z0&&H===Nr&&O===Gr?m:[0,G0,z0,Nr,Gr]}function h7e(o,F,m){var O=m[2],H=m[1],$=Ve(u(o[1][1+Q0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function k7e(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+Tr],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function w7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+en],o,$),G0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,m[1],r0,G0,z0]}function E7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+m2],o,$),G0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===G0&&O===z0?m:[0,m[1],r0,G0,z0]}function S7e(o,F,m){return ur(o[1][1+Rn],o,F,m)}function g7e(o,F){switch(F[0]){case 0:var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+en],o),O,F,m);case 1:var H=function(r0){return[1,r0]},$=F[1];return ee(u(o[1][1+Rr],o),$,F,H);default:return F}}function F7e(o,F,m){var O=m[2],H=m[1],$=Un(u(o[1][1+c_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function T7e(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(Ue){return[0,O,[0,Ue]]},$=m[1];return te(u(o[1][1+y2],o),O,$,F,H);case 1:var r0=function(Ue){return[0,O,[1,Ue]]},G0=m[1];return te(u(o[1][1+o_],o),O,G0,F,r0);case 2:var z0=function(Ue){return[0,O,[2,Ue]]},Nr=m[1];return te(u(o[1][1+_2],o),O,Nr,F,z0);case 3:var Gr=function(Ue){return[0,O,[3,Ue]]},Fe=m[1];return te(u(o[1][1+a_],o),O,Fe,F,Gr);case 4:var _e=function(Ue){return[0,O,[4,Ue]]},Dn=m[1];return te(u(o[1][1+kb],o),O,Dn,F,_e);case 5:var mn=function(Ue){return[0,O,[5,Ue]]},at=m[1];return te(u(o[1][1+n_],o),O,at,F,mn);case 6:var pt=function(Ue){return[0,O,[6,Ue]]},kt=m[1];return te(u(o[1][1+jn],o),O,kt,F,pt);case 7:var Wn=function(Ue){return[0,O,[7,Ue]]},Qt=m[1];return te(u(o[1][1+mb],o),O,Qt,F,Wn);case 8:var W7=function(Ue){return[0,O,[8,Ue]]},J7=m[1];return te(u(o[1][1+Qn],o),O,J7,F,W7);case 9:var w7=function(Ue){return[0,O,[9,Ue]]},$7=m[1];return te(u(o[1][1+Yi],o),O,$7,F,w7);case 10:var Z7=function(Ue){return[0,O,[10,Ue]]},Q7=m[1];return ee(u(o[1][1+lt],o),Q7,F,Z7);case 11:var ri=function(Ue){return[0,O,[11,Ue]]},ei=m[1];return ee(a(o[1][1+Ot],o,O),ei,F,ri);case 12:var Wi=function(Ue){return[0,O,[12,Ue]]},uv=m[1];return te(u(o[1][1+Me],o),O,uv,F,Wi);case 13:var iv=function(Ue){return[0,O,[13,Ue]]},Ji=m[1];return te(u(o[1][1+Kr],o),O,Ji,F,iv);case 14:var fv=function(Ue){return[0,O,[14,Ue]]},Gb=m[1];return te(u(o[1][1+J0],o),O,Gb,F,fv);case 15:var Mb=function(Ue){return[0,O,[15,Ue]]},Bb=m[1];return te(u(o[1][1+Y0],o),O,Bb,F,Mb);case 16:var qb=function(Ue){return[0,O,[16,Ue]]},Ub=m[1];return te(u(o[1][1+u0],o),O,Ub,F,qb);case 17:var Hb=function(Ue){return[0,O,[17,Ue]]},Xb=m[1];return te(u(o[1][1+U],o),O,Xb,F,Hb);case 18:var Yb=function(Ue){return[0,O,[18,Ue]]},Vb=m[1];return te(u(o[1][1+I],o),O,Vb,F,Yb);case 19:var zb=function(Ue){return[0,O,[19,Ue]]},Kb=m[1];return te(u(o[1][1+Fr],o),O,Kb,F,zb);case 20:var Wb=function(Ue){return[0,O,[20,Ue]]},Jb=m[1];return ee(a(o[1][1+$0],o,O),Jb,F,Wb);case 21:var $b=function(Ue){return[0,O,[21,Ue]]},Zb=m[1];return te(u(o[1][1+yr],o),O,Zb,F,$b);case 22:var Qb=function(Ue){return[0,O,[22,Ue]]},r4=m[1];return te(u(o[1][1+Wr],o),O,r4,F,Qb);case 23:var e4=function(Ue){return[0,O,[23,Ue]]},n4=m[1];return te(u(o[1][1+W0],o),O,n4,F,e4);case 24:var t4=function(Ue){return[0,O,[24,Ue]]},u4=m[1];return te(u(o[1][1+X],o),O,u4,F,t4);case 25:var i4=function(Ue){return[0,O,[25,Ue]]},f4=m[1];return te(u(o[1][1+j0],o),O,f4,F,i4);case 26:var x4=function(Ue){return[0,O,[26,Ue]]},a4=m[1];return te(u(o[1][1+X0],o),O,a4,F,x4);case 27:var $e=function(Ue){return[0,O,[27,Ue]]},PR=m[1];return te(u(o[1][1+g0],o),O,PR,F,$e);case 28:var DR=function(Ue){return[0,O,[28,Ue]]},LR=m[1];return te(u(o[1][1+w],o),O,LR,F,DR);case 29:var RR=function(Ue){return[0,O,[29,Ue]]},jR=m[1];return te(u(o[1][1+E],o),O,jR,F,RR);default:var GR=function(Ue){return[0,O,[30,Ue]]},MR=m[1];return te(u(o[1][1+e],o),O,MR,F,GR)}}function O7e(o,F){var m=F[2],O=F[1],H=Un(u(o[1][1+V1],o),O),$=Un(u(o[1][1+V1],o),m);return O===H&&m===$?F:[0,H,$,F[3]]}var I7e=8;function A7e(o,F){return F}function N7e(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(Oe){return[0,O,[0,Oe]]},$=m[1];return te(u(o[1][1+zi],o),O,$,F,H);case 1:var r0=function(Oe){return[0,O,[1,Oe]]},G0=m[1];return te(u(o[1][1+Qs],o),O,G0,F,r0);case 2:var z0=function(Oe){return[0,O,[2,Oe]]},Nr=m[1];return te(u(o[1][1+z1],o),O,Nr,F,z0);case 3:var Gr=function(Oe){return[0,O,[3,Oe]]},Fe=m[1];return te(u(o[1][1+pb],o),O,Fe,F,Gr);case 4:var _e=function(Oe){return[0,O,[4,Oe]]},Dn=m[1];return te(u(o[1][1+bb],o),O,Dn,F,_e);case 5:var mn=function(Oe){return[0,O,[5,Oe]]},at=m[1];return te(u(o[1][1+v2],o),O,at,F,mn);case 6:var pt=function(Oe){return[0,O,[6,Oe]]},kt=m[1];return te(u(o[1][1+Y1],o),O,kt,F,pt);case 7:var Wn=function(Oe){return[0,O,[7,Oe]]},Qt=m[1];return te(u(o[1][1+lb],o),O,Qt,F,Wn);case 8:var W7=function(Oe){return[0,O,[8,Oe]]},J7=m[1];return te(u(o[1][1+Z9],o),O,J7,F,W7);case 9:var w7=function(Oe){return[0,O,[9,Oe]]},$7=m[1];return te(u(o[1][1+$9],o),O,$7,F,w7);case 10:var Z7=function(Oe){return[0,O,[10,Oe]]},Q7=m[1];return te(u(o[1][1+J9],o),O,Q7,F,Z7);case 11:var ri=function(Oe){return[0,O,[11,Oe]]},ei=m[1];return te(u(o[1][1+W9],o),O,ei,F,ri);case 12:var Wi=function(Oe){return[0,O,[33,Oe]]},uv=m[1];return te(u(o[1][1+Er],o),O,uv,F,Wi);case 13:var iv=function(Oe){return[0,O,[13,Oe]]},Ji=m[1];return te(u(o[1][1+vb],o),O,Ji,F,iv);case 14:var fv=function(Oe){return[0,O,[14,Oe]]},Gb=m[1];return te(u(o[1][1+K9],o),O,Gb,F,fv);case 15:var Mb=function(Oe){return[0,O,[15,Oe]]},Bb=m[1];return te(u(o[1][1+z9],o),O,Bb,F,Mb);case 16:var qb=function(Oe){return[0,O,[16,Oe]]},Ub=m[1];return te(u(o[1][1+ob],o),O,Ub,F,qb);case 17:var Hb=function(Oe){return[0,O,[17,Oe]]},Xb=m[1];return te(u(o[1][1+q9],o),O,Xb,F,Hb);case 18:var Yb=function(Oe){return[0,O,[18,Oe]]},Vb=m[1];return te(u(o[1][1+c2],o),O,Vb,F,Yb);case 19:var zb=function(Oe){return[0,O,[19,Oe]]},Kb=m[1];return te(u(o[1][1+zs],o),O,Kb,F,zb);case 20:var Wb=function(Oe){return[0,O,[20,Oe]]},Jb=m[1];return te(u(o[1][1+ht],o),O,Jb,F,Wb);case 21:var $b=function(Oe){return[0,O,[21,Oe]]},Zb=m[1];return te(u(o[1][1+Iu],o),O,Zb,F,$b);case 22:var Qb=function(Oe){return[0,O,[22,Oe]]},r4=m[1];return te(u(o[1][1+cn],o),O,r4,F,Qb);case 23:var e4=function(Oe){return[0,O,[23,Oe]]},n4=m[1];return te(u(o[1][1+hn],o),O,n4,F,e4);case 24:var t4=function(Oe){return[0,O,[24,Oe]]},u4=m[1];return te(u(o[1][1+Pt],o),O,u4,F,t4);case 25:var i4=function(Oe){return[0,O,[25,Oe]]},f4=m[1];return te(u(o[1][1+Ht],o),O,f4,F,i4);case 26:var x4=function(Oe){return[0,O,[26,Oe]]},a4=m[1];return te(u(o[1][1+Cn],o),O,a4,F,x4);case 27:var $e=function(Oe){return[0,O,[27,Oe]]},PR=m[1];return te(u(o[1][1+fr],o),O,PR,F,$e);case 28:var DR=function(Oe){return[0,O,[28,Oe]]},LR=m[1];return te(u(o[1][1+Jr],o),O,LR,F,DR);case 29:var RR=function(Oe){return[0,O,[29,Oe]]},jR=m[1];return te(u(o[1][1+ar],o),O,jR,F,RR);case 30:var GR=function(Oe){return[0,O,[30,Oe]]},MR=m[1];return te(u(o[1][1+E0],o),O,MR,F,GR);case 31:var Ue=function(Oe){return[0,O,[31,Oe]]},C7e=m[1];return te(u(o[1][1+w0],o),O,C7e,F,Ue);case 32:var P7e=function(Oe){return[0,O,[32,Oe]]},D7e=m[1];return te(u(o[1][1+c0],o),O,D7e,F,P7e);case 33:var L7e=function(Oe){return[0,O,[33,Oe]]},R7e=m[1];return te(u(o[1][1+Er],o),O,R7e,F,L7e);case 34:var j7e=function(Oe){return[0,O,[34,Oe]]},G7e=m[1];return te(u(o[1][1+T],o),O,G7e,F,j7e);case 35:var M7e=function(Oe){return[0,O,[35,Oe]]},B7e=m[1];return te(u(o[1][1+x],o),O,B7e,F,M7e);default:var q7e=function(Oe){return[0,O,[36,Oe]]},U7e=m[1];return te(u(o[1][1+i],o),O,U7e,F,q7e)}}return BN(t,[0,XL,function(o,F){var m=F[2],O=m[3],H=m[2],$=m[1],r0=a(o[1][1+_0],o,$),G0=a(o[1][1+s0],o,H),z0=Un(u(o[1][1+V1],o),O);return $===r0&&H===G0&&O===z0?F:[0,F[1],[0,r0,G0,z0]]},Or,N7e,V1,A7e,s0,I7e,Ve,dr,dr,O7e,en,T7e,y2,F7e,c_,g7e,o_,S7e,_2,E7e,a_,w7e,zi,k7e,Qs,h7e,kb,d7e,Zs,y7e,$0,_7e,b2,m7e,f_,p7e,i_,b7e,K1,l7e,z1,v7e,n_,s7e,ks,c7e,zc,o7e,db,a7e,t_,x7e,hb,f7e,$s,i7e,l2,u7e,e_,t7e,Vc,n7e,yb,e7e,_b,r7e,r_,Que,jn,Zue,mb,$ue,pb,Jue,bb,Wue,v2,Kue,Y1,zue,Q9,Vue,lb,Yue,Z9,Xue,$9,Hue,J9,Uue,W9,que,vb,Bue,K9,Mue,z9,Gue,ob,jue,V9,Rue,sb,Lue,Y9,Due,H9,Pue,Js,Cue,si,Nue,cb,Aue,X9,Iue,s2,Oue,X1,Tue,q9,Fue,B9,gue,c2,Sue,Ws,Eue,U9,wue,ci,kue,zs,hue,Ks,due,Iu,yue,hs,_ue,Vs,mue,cn,pue,tn,bue,ut,lue,ht,vue,tt,sue,Fi,cue,L0,oue,Xt,aue,Yc,xue,a7,fue,Q0,iue,$r,uue,Br,tue,Mr,nue,ne,eue,jr,rue,ge,Qte,ce,Zte,H0,$te,qr,Jte,pn,Wte,z7,Kte,Mu,zte,Y,Vte,s,Yte,c,Xte,e0,Hte,V,Ute,f0,qte,au,Bte,Fn,Mte,vr,Gte,Lr,jte,_,Rte,p2,Lte,x_,Dte,k,Pte,G,Cte,K,Nte,M,Ate,S,Ite,A,Ote,a0,Tte,e1,Fte,h,gte,rn,Ste,t0,Ete,l,wte,x0,kte,hn,hte,Qn,dte,me,yte,Rn,_te,U0,mte,K7,pte,He,bte,ft,lte,xt,vte,he,ste,Yi,cte,lt,ote,k0,ate,m0,xte,Kc,fte,Hn,ite,Cn,ute,or,tte,Tn,nte,Ot,ete,du,rte,Ku,Qne,Pt,Zne,Ht,$ne,vt,Jne,Tt,Wne,Zt,Kne,Ct,zne,Me,Vne,Kr,Yne,mr,Xne,Be,Hne,Cr,Une,Sr,qne,We,Bne,Ce,Mne,on,Gne,dn,jne,Qe,Rne,xn,CR,Ae,jb,fn,Rb,Ke,tv,re,Lb,F0,nv,Ie,Ki,ve,k7,xe,Oi,je,ku,sr,hu,Ur,NR,Pr,AR,K0,Db,d0,IR,fr,OR,J0,Pb,Y0,TR,u0,FR,yr,gR,I0,E2,y0,SR,D,d_,D0,ER,U,wR,I,Cb,Fr,kR,Qr,y_,ae,hR,be,dR,oe,Nb,pe,yR,Er,_R,Re,mR,p,Ab,u_,__,Vi,pR,It,m_,r1,Ib,m2,p_,er,bR,R0,b_,rr,lR,T0,Ob,S0,l_,Q,Tb,L,ev,i0,vR,l0,sR,v0,v_,P,Gn,fe,cR,q0,Fb,O0,oR,b0,gb,p0,aR,Z,Sb,W1,xR,B,rv,Ir,fR,_r,w2,bt,iR,Jr,k2,Wr,uR,_0,s_,Tr,tR,Hr,nR,Rr,h2,xr,eR,W0,rR,ar,Eb,Ar,QL,X,wb,j0,ZL,b,Q1,X0,$L,E0,Z1,w0,JL,g0,d2,w,WL,E,KL,T,Ti,y,zL,x,$1,i,VL,c0,J1,e,YL]),function(o,F){return Gp(F,t)}});function W00(t){switch(t[0]){case 0:return 1;case 3:return 3;default:return 2}}function J00(t,n){u(f(t),B6r),a(f(t),U6r,q6r);var e=n[1];a(f(t),H6r,e),u(f(t),X6r),u(f(t),Y6r),a(f(t),z6r,V6r);var i=n[2];return a(f(t),K6r,i),u(f(t),W6r),u(f(t),J6r)}var $00=function t(n,e){return t.fun(n,e)},Gee=function t(n){return t.fun(n)};N($00,function(t,n){u(f(t),Z6r),a(f(t),rpr,Q6r);var e=n[1];if(e){g(t,epr);var i=e[1];switch(i[0]){case 0:u(f(t),O6r);var x=i[1];a(f(t),I6r,x),u(f(t),A6r);break;case 1:u(f(t),N6r);var c=i[1];a(f(t),C6r,c),u(f(t),P6r);break;case 2:u(f(t),D6r);var s=i[1];a(f(t),L6r,s),u(f(t),R6r);break;default:u(f(t),j6r);var p=i[1];a(f(t),G6r,p),u(f(t),M6r)}g(t,npr)}else g(t,tpr);return u(f(t),upr),u(f(t),ipr),a(f(t),xpr,fpr),J00(t,n[2]),u(f(t),apr),u(f(t),opr),a(f(t),spr,cpr),J00(t,n[3]),u(f(t),vpr),u(f(t),lpr)}),N(Gee,function(t){return a(P0($6r),$00,t)});function yt(t,n){return[0,t[1],t[2],n[3]]}function ms(t,n){var e=t[1]-n[1]|0;return e===0?t[2]-n[2]|0:e}function Z00(t,n){var e=n[1],i=t[1];if(i)if(e)var x=e[1],c=i[1],s=W00(x),p=W00(c)-s|0,T=p===0?Ee(c[1],x[1]):p;else var T=-1;else var y=e&&1,T=y;if(T===0){var E=ms(t[2],n[2]);return E===0?ms(t[3],n[3]):E}return T}function Wv(t,n){return Z00(t,n)===0?1:0}var ZD=function t(n,e,i){return t.fun(n,e,i)},Mee=jp(mpr,function(t){var n=DN(t,ppr)[35],e=GN(t,0,0,bpr,$D,1)[1];return Zz(t,n,function(i,x){return 0}),function(i,x){var c=Gp(x,t);return u(e,c),MN(x,c,t)}});N(ZD,function(t,n,e){var i=e[2];switch(i[0]){case 0:var x=i[1][1];return le(function(s,p){var y=p[0]===0?p[1][2][2]:p[1][2][1];return ur(ZD,t,s,y)},n,x);case 1:var c=i[1][1];return le(function(s,p){return p[0]===2?s:ur(ZD,t,s,p[1][2][1])},n,c);case 2:return a(t,n,i[1][1]);default:return n}});function Gc(t,n){return[0,n[1],[0,n[2],t]]}function Q00(t,n,e){var i=t&&t[1],x=n&&n[1];return[0,i,x,e]}function lr(t,n,e){var i=t&&t[1],x=n&&n[1];return!i&&!x?x:[0,Q00([0,i],[0,x],0)]}function _u(t,n,e,i){var x=t&&t[1],c=n&&n[1];return!x&&!c&&!e?e:[0,Q00([0,x],[0,c],e)]}function _7(t,n){if(t){if(n){var e=n[1],i=t[1],x=[0,un(i[2],e[2])];return lr([0,un(e[1],i[1])],x,0)}var c=t}else var c=n;return c}function QD(t,n){if(n){if(t){var e=n[1],i=t[1],x=i[3],c=[0,un(i[2],e[2])];return _u([0,un(e[1],i[1])],c,x,0)}var s=n[1];return _u([0,s[1]],[0,s[2]],0,0)}return t}function Jv(t,n){for(var e=t,i=n;;){if(typeof e=="number")return i;if(e[0]===0)return[0,e[1],0,i];var x=[0,e[2],e[4],i],e=e[3],i=x}}function rr0(t,n){if(t)var e=Jv(t[2],t[3]),i=function(c){return rr0(e,c)},x=[0,t[1],i];else var x=t;return x}function Bee(t){var n=Jv(t,0);return function(e){return rr0(n,e)}}function _s(t){return typeof t=="number"?0:t[0]===0?1:t[1]}function qee(t){return[0,t]}function X7(t,n,e){var i=0;if(typeof t=="number"){if(typeof e=="number")return[0,n];e[0]===1&&(i=1)}else if(t[0]===0)typeof e!="number"&&e[0]===1&&(i=1);else{var x=t[1];if(typeof e!="number"&&e[0]===1){var c=e[1],s=c<=x?x+1|0:c+1|0;return[1,s,n,t,e]}var p=x;i=2}switch(i){case 1:var p=e[1];break;case 0:return[1,2,n,t,e]}return[1,p+1|0,n,t,e]}function Ds(t,n,e){var i=_s(t),x=_s(e),c=x<=i?i+1|0:x+1|0;return[1,c,n,t,e]}function rL(t,n){var e=n!==0?1:0;if(e){if(n!==1){var i=n>>>1|0,x=rL(t,i),c=u(t,0),s=rL(t,(n-i|0)-1|0);return[1,_s(x)+1|0,c,x,s]}var p=[0,u(t,0)]}else var p=e;return p}function hi(t,n,e){var i=_s(t),x=_s(e);if((x+2|0)>1,b0=j0(p0,W0),O0=b0[1],q0=j0(ar-p0|0,b0[2]),er=O0,yr=q0[1],vr=0,$0=q0[2];;){if(er){if(yr){var Er=yr[2],Mr=yr[1],Br=er[2],qr=er[1],jr=a(X0,qr,Mr);if(jr===0){var er=Br,yr=Er,vr=[0,qr,vr];continue}if(0<=jr){var yr=Er,vr=[0,Mr,vr];continue}var er=Br,vr=[0,qr,vr];continue}var $r=jc(er,vr)}else var $r=jc(yr,vr);return[0,$r,$0]}},j0=function(ar,W0){if(ar===2){if(W0){var Lr=W0[2];if(Lr){var Tr=Lr[1],Hr=W0[1],Or=Lr[2],xr=a(X0,Hr,Tr),Rr=xr===0?[0,Hr,0]:0<=xr?[0,Tr,[0,Hr,0]]:[0,Hr,[0,Tr,0]];return[0,Rr,Or]}}}else if(ar===3&&W0){var Wr=W0[2];if(Wr){var Jr=Wr[2];if(Jr){var or=Jr[1],_r=Wr[1],Ir=W0[1],fe=Jr[2],v0=a(X0,Ir,_r);if(v0===0)var P=a(X0,_r,or),L=P===0?[0,_r,0]:0<=P?[0,or,[0,_r,0]]:[0,_r,[0,or,0]],Q=L;else if(0<=v0){var i0=a(X0,Ir,or);if(i0===0)var T0=[0,_r,[0,Ir,0]];else if(0<=i0)var l0=a(X0,_r,or),S0=l0===0?[0,_r,[0,Ir,0]]:0<=l0?[0,or,[0,_r,[0,Ir,0]]]:[0,_r,[0,or,[0,Ir,0]]],T0=S0;else var T0=[0,_r,[0,Ir,[0,or,0]]];var Q=T0}else{var rr=a(X0,_r,or);if(rr===0)var Z=[0,Ir,[0,_r,0]];else if(0<=rr)var R0=a(X0,Ir,or),B=R0===0?[0,Ir,[0,_r,0]]:0<=R0?[0,or,[0,Ir,[0,_r,0]]]:[0,Ir,[0,or,[0,_r,0]]],Z=B;else var Z=[0,Ir,[0,_r,[0,or,0]]];var Q=Z}return[0,Q,fe]}}}for(var p0=ar>>1,b0=b(p0,W0),O0=b0[1],q0=b(ar-p0|0,b0[2]),er=O0,yr=q0[1],vr=0,$0=q0[2];;){if(er){if(yr){var Er=yr[2],Mr=yr[1],Br=er[2],qr=er[1],jr=a(X0,qr,Mr);if(jr===0){var er=Br,yr=Er,vr=[0,qr,vr];continue}if(0>>0))switch(ar){case 0:return[0,0,W0];case 1:if(W0)return[0,[0,W0[1]],W0[2]];break;case 2:if(W0){var Lr=W0[2];if(Lr)return[0,[1,2,Lr[1],[0,W0[1]],0],Lr[2]]}break;default:if(W0){var Tr=W0[2];if(Tr){var Hr=Tr[2];if(Hr)return[0,[1,2,Tr[1],[0,W0[1]],[0,Hr[1]]],Hr[2]]}}}var Or=ar/2|0,xr=dr(Or,W0),Rr=xr[2];if(Rr){var Wr=dr((ar-Or|0)-1|0,Rr[2]),Jr=Wr[2];return[0,Ds(xr[1],Rr[1],Wr[1]),Jr]}throw[0,Sn,f5r]};return dr(Rc(s0),s0)[1]}var Ar=n(E0,n(w0,n(t0,[0,l])));return n(_0[1],Ar)}return n(E0,n(w0,n(t0,[0,l])))}return n(w0,n(t0,[0,l]))}return n(t0,[0,l])}return[0,l]}return st}return[0,st,tL,i,n,qee,x,c,s,y,T,E,h,w,G,k0,A,S,M,K,V,nL,fr0,Pl,tr0,ur0,Uee,Pl,tr0,f0,m0,Bee,g0,function(e0,x0,l){u(f(x0),n5r);var c0=fr0(l);c0&&u(f(x0),t5r);var t0=0;return le(function(a0,w0){return a0&&u(f(x0),e5r),a(e0,x0,w0),1},t0,c0),c0&&u(f(x0),u5r),u(f(x0),i5r)},rL]}var xr0=x5r.slice();function iL(t){for(var n=0,e=xr0.length-1-1|0;;){if(e>>18|0),$n(i,x+1|0,Mt|(p>>>12|0)&63),$n(i,x+2|0,Mt|(p>>>6|0)&63),$n(i,x+3|0,Mt|p&63);var y=x+4|0}else{$n(i,x,dv|p>>>12|0),$n(i,x+1|0,Mt|(p>>>6|0)&63),$n(i,x+2|0,Mt|p&63);var y=x+3|0}else{$n(i,x,rt|p>>>6|0),$n(i,x+1|0,Mt|p&63);var y=x+2|0}else{$n(i,x,p);var y=x+1|0}var x=y,c=c-1|0,s=s+1|0;continue}throw A1}return x}}function hr0(t){for(var n=nn(t),e=Gv(n,0),i=0,x=0;;){if(x>>6|0)!==2?1:0;if(E)var w=E;else var h=(y>>>6|0)!==2?1:0,w=h||((T>>>6|0)!==2?1:0);if(w)throw A1;e[1+i]=(c&7)<<18|(p&63)<<12|(y&63)<<6|T&63;var G=x+4|0}else if(dv<=c){var A=Vr(t,x+1|0),S=Vr(t,x+2|0),M=(c&15)<<12|(A&63)<<6|S&63,K=(A>>>6|0)!==2?1:0,V=K||((S>>>6|0)!==2?1:0);if(V)var m0=V;else var f0=55296<=M?1:0,m0=f0&&(M<=57088?1:0);if(m0)throw A1;e[1+i]=M;var G=x+3|0}else{var k0=Vr(t,x+1|0);if((k0>>>6|0)!==2)throw A1;e[1+i]=(c&31)<<6|k0&63;var G=x+2|0}else if(Mt<=c)s=1;else{e[1+i]=c;var G=x+1|0}if(s)throw A1;var i=i+1|0,x=G;continue}return[0,e,i,yr0,_r0,mr0,pr0,br0,lr0,vr0,sr0,cr0,or0]}}function jl(t,n,e){var i=t[6]+n|0,x=Lt(e*4|0),c=t[1];if((i+e|0)<=c.length-1)return qv(x,0,Rl(c,i,e,x));throw[0,Sn,v_r]}function Se(t){var n=t[6],e=t[3]-n|0,i=Lt(e*4|0);return qv(i,0,Rl(t[1],n,e,i))}function Gl(t,n){var e=t[6],i=t[3]-e|0,x=Lt(i*4|0);return bN(n,x,0,Rl(t[1],e,i,x))}function xL(t){var n=t.length-1,e=Lt(n*4|0);return qv(e,0,Rl(t,0,n,e))}function kr0(t,n){return t[3]=t[3]-n|0,0}var wr0=0;function Xee(t,n,e){return[0,t,n,b_r,0,e,wr0,p_r]}function Er0(t){var n=t[2];return[0,t[1],[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12]],t[3],t[4],t[5],t[6],t[7]]}function Sr0(t){return t[3][1]}function Zm(t,n){return t!==n[4]?[0,n[1],n[2],n[3],t,n[5],n[6],n[7]]:n}var aL=function t(n,e){return t.fun(n,e)},gr0=function t(n,e){return t.fun(n,e)},oL=function t(n,e){return t.fun(n,e)},cL=function t(n,e){return t.fun(n,e)},Fr0=function t(n,e){return t.fun(n,e)};N(aL,function(t,n){if(typeof t=="number"){var e=t;if(61<=e)if(92<=e)switch(e){case 92:if(typeof n=="number"&&n===92)return 1;break;case 93:if(typeof n=="number"&&n===93)return 1;break;case 94:if(typeof n=="number"&&n===94)return 1;break;case 95:if(typeof n=="number"&&n===95)return 1;break;case 96:if(typeof n=="number"&&n===96)return 1;break;case 97:if(typeof n=="number"&&n===97)return 1;break;case 98:if(typeof n=="number"&&n===98)return 1;break;case 99:if(typeof n=="number"&&n===99)return 1;break;case 100:if(typeof n=="number"&&ni===n)return 1;break;case 101:if(typeof n=="number"&&L7===n)return 1;break;case 102:if(typeof n=="number"&&Ri===n)return 1;break;case 103:if(typeof n=="number"&&c7===n)return 1;break;case 104:if(typeof n=="number"&&D7===n)return 1;break;case 105:if(typeof n=="number"&&R7===n)return 1;break;case 106:if(typeof n=="number"&&Vt===n)return 1;break;case 107:if(typeof n=="number"&&Qc===n)return 1;break;case 108:if(typeof n=="number"&&fs===n)return 1;break;case 109:if(typeof n=="number"&&Fv===n)return 1;break;case 110:if(typeof n=="number"&&Yt===n)return 1;break;case 111:if(typeof n=="number"&&vf===n)return 1;break;case 112:if(typeof n=="number"&&F7===n)return 1;break;case 113:if(typeof n=="number"&&Pn===n)return 1;break;case 114:if(typeof n=="number"&&u1===n)return 1;break;case 115:if(typeof n=="number"&&Av===n)return 1;break;case 116:if(typeof n=="number"&&x1===n)return 1;break;case 117:if(typeof n=="number"&&A2===n)return 1;break;case 118:if(typeof n=="number"&&z2===n)return 1;break;case 119:if(typeof n=="number"&&Sv===n)return 1;break;case 120:if(typeof n=="number"&&fc===n)return 1;break;default:if(typeof n=="number"&&tl<=n)return 1}else switch(e){case 61:if(typeof n=="number"&&n===61)return 1;break;case 62:if(typeof n=="number"&&n===62)return 1;break;case 63:if(typeof n=="number"&&n===63)return 1;break;case 64:if(typeof n=="number"&&n===64)return 1;break;case 65:if(typeof n=="number"&&n===65)return 1;break;case 66:if(typeof n=="number"&&n===66)return 1;break;case 67:if(typeof n=="number"&&n===67)return 1;break;case 68:if(typeof n=="number"&&n===68)return 1;break;case 69:if(typeof n=="number"&&n===69)return 1;break;case 70:if(typeof n=="number"&&n===70)return 1;break;case 71:if(typeof n=="number"&&n===71)return 1;break;case 72:if(typeof n=="number"&&n===72)return 1;break;case 73:if(typeof n=="number"&&n===73)return 1;break;case 74:if(typeof n=="number"&&n===74)return 1;break;case 75:if(typeof n=="number"&&n===75)return 1;break;case 76:if(typeof n=="number"&&n===76)return 1;break;case 77:if(typeof n=="number"&&n===77)return 1;break;case 78:if(typeof n=="number"&&n===78)return 1;break;case 79:if(typeof n=="number"&&n===79)return 1;break;case 80:if(typeof n=="number"&&n===80)return 1;break;case 81:if(typeof n=="number"&&n===81)return 1;break;case 82:if(typeof n=="number"&&n===82)return 1;break;case 83:if(typeof n=="number"&&n===83)return 1;break;case 84:if(typeof n=="number"&&n===84)return 1;break;case 85:if(typeof n=="number"&&n===85)return 1;break;case 86:if(typeof n=="number"&&n===86)return 1;break;case 87:if(typeof n=="number"&&n===87)return 1;break;case 88:if(typeof n=="number"&&n===88)return 1;break;case 89:if(typeof n=="number"&&n===89)return 1;break;case 90:if(typeof n=="number"&&n===90)return 1;break;default:if(typeof n=="number"&&n===91)return 1}else if(31<=e)switch(e){case 31:if(typeof n=="number"&&n===31)return 1;break;case 32:if(typeof n=="number"&&n===32)return 1;break;case 33:if(typeof n=="number"&&n===33)return 1;break;case 34:if(typeof n=="number"&&n===34)return 1;break;case 35:if(typeof n=="number"&&n===35)return 1;break;case 36:if(typeof n=="number"&&n===36)return 1;break;case 37:if(typeof n=="number"&&n===37)return 1;break;case 38:if(typeof n=="number"&&n===38)return 1;break;case 39:if(typeof n=="number"&&n===39)return 1;break;case 40:if(typeof n=="number"&&n===40)return 1;break;case 41:if(typeof n=="number"&&n===41)return 1;break;case 42:if(typeof n=="number"&&n===42)return 1;break;case 43:if(typeof n=="number"&&n===43)return 1;break;case 44:if(typeof n=="number"&&n===44)return 1;break;case 45:if(typeof n=="number"&&n===45)return 1;break;case 46:if(typeof n=="number"&&n===46)return 1;break;case 47:if(typeof n=="number"&&n===47)return 1;break;case 48:if(typeof n=="number"&&n===48)return 1;break;case 49:if(typeof n=="number"&&n===49)return 1;break;case 50:if(typeof n=="number"&&n===50)return 1;break;case 51:if(typeof n=="number"&&n===51)return 1;break;case 52:if(typeof n=="number"&&n===52)return 1;break;case 53:if(typeof n=="number"&&n===53)return 1;break;case 54:if(typeof n=="number"&&n===54)return 1;break;case 55:if(typeof n=="number"&&n===55)return 1;break;case 56:if(typeof n=="number"&&n===56)return 1;break;case 57:if(typeof n=="number"&&n===57)return 1;break;case 58:if(typeof n=="number"&&n===58)return 1;break;case 59:if(typeof n=="number"&&n===59)return 1;break;default:if(typeof n=="number"&&n===60)return 1}else switch(e){case 0:if(typeof n=="number"&&!n)return 1;break;case 1:if(typeof n=="number"&&n===1)return 1;break;case 2:if(typeof n=="number"&&n===2)return 1;break;case 3:if(typeof n=="number"&&n===3)return 1;break;case 4:if(typeof n=="number"&&n===4)return 1;break;case 5:if(typeof n=="number"&&n===5)return 1;break;case 6:if(typeof n=="number"&&n===6)return 1;break;case 7:if(typeof n=="number"&&n===7)return 1;break;case 8:if(typeof n=="number"&&n===8)return 1;break;case 9:if(typeof n=="number"&&n===9)return 1;break;case 10:if(typeof n=="number"&&n===10)return 1;break;case 11:if(typeof n=="number"&&n===11)return 1;break;case 12:if(typeof n=="number"&&n===12)return 1;break;case 13:if(typeof n=="number"&&n===13)return 1;break;case 14:if(typeof n=="number"&&n===14)return 1;break;case 15:if(typeof n=="number"&&n===15)return 1;break;case 16:if(typeof n=="number"&&n===16)return 1;break;case 17:if(typeof n=="number"&&n===17)return 1;break;case 18:if(typeof n=="number"&&n===18)return 1;break;case 19:if(typeof n=="number"&&n===19)return 1;break;case 20:if(typeof n=="number"&&n===20)return 1;break;case 21:if(typeof n=="number"&&n===21)return 1;break;case 22:if(typeof n=="number"&&n===22)return 1;break;case 23:if(typeof n=="number"&&n===23)return 1;break;case 24:if(typeof n=="number"&&n===24)return 1;break;case 25:if(typeof n=="number"&&n===25)return 1;break;case 26:if(typeof n=="number"&&n===26)return 1;break;case 27:if(typeof n=="number"&&n===27)return 1;break;case 28:if(typeof n=="number"&&n===28)return 1;break;case 29:if(typeof n=="number"&&n===29)return 1;break;default:if(typeof n=="number"&&n===30)return 1}}else switch(t[0]){case 0:if(typeof n!="number"&&n[0]===0){var i=n[1],x=u(u(oL,t[1]),i),c=x&&qn(t[2],n[2]);return c}break;case 1:if(typeof n!="number"&&n[0]===1){var s=n[1],p=u(u(cL,t[1]),s),y=p&&qn(t[2],n[2]);return y}break;case 2:if(typeof n!="number"&&n[0]===2){var T=n[1],E=t[1],h=Wv(E[1],T[1]),w=h&&qn(E[2],T[2]),G=w&&qn(E[3],T[3]),A=G&&(E[4]===T[4]?1:0);return A}break;case 3:if(typeof n!="number"&&n[0]===3){var S=n[1],M=t[1],K=Wv(M[1],S[1]);if(K)var V=S[2],f0=u(u(Fr0,M[2]),V);else var f0=K;var m0=f0&&(M[3]===S[3]?1:0);return m0}break;case 4:if(typeof n!="number"&&n[0]===4){var k0=Wv(t[1],n[1]),g0=k0&&qn(t[2],n[2]),e0=g0&&qn(t[3],n[3]);return e0}break;case 5:if(typeof n!="number"&&n[0]===5){var x0=Wv(t[1],n[1]),l=x0&&qn(t[2],n[2]),c0=l&&qn(t[3],n[3]);return c0}break;case 6:if(typeof n!="number"&&n[0]===6)return qn(t[1],n[1]);break;case 7:if(typeof n!="number"&&n[0]===7){var t0=qn(t[1],n[1]);return t0&&Wv(t[2],n[2])}break;case 8:if(typeof n!="number"&&n[0]===8){var a0=Wv(t[1],n[1]),w0=a0&&qn(t[2],n[2]),_0=w0&&qn(t[3],n[3]);return _0}break;case 9:if(typeof n!="number"&&n[0]===9){var E0=n[1];return u(u(gr0,t[1]),E0)}break;case 10:if(typeof n!="number"&&n[0]===10){var X0=n[1],b=u(u(oL,t[1]),X0),j0=b&&(t[2]==n[2]?1:0),X=j0&&qn(t[3],n[3]);return X}break;default:if(typeof n!="number"&&n[0]===11){var s0=n[1],dr=u(u(cL,t[1]),s0),Ar=dr&&(t[2]==n[2]?1:0),ar=Ar&&qn(t[3],n[3]);return ar}}return 0}),N(gr0,function(t,n){if(t){if(n)return 1}else if(!n)return 1;return 0}),N(oL,function(t,n){switch(t){case 0:if(!n)return 1;break;case 1:if(n===1)return 1;break;case 2:if(n===2)return 1;break;case 3:if(n===3)return 1;break;default:if(4<=n)return 1}return 0}),N(cL,function(t,n){switch(t){case 0:if(!n)return 1;break;case 1:if(n===1)return 1;break;default:if(2<=n)return 1}return 0}),N(Fr0,function(t,n){var e=qn(t[1],n[1]),i=e&&qn(t[2],n[2]),x=i&&qn(t[3],n[3]);return x});function Tr0(t){if(typeof t=="number"){var n=t;if(61<=n){if(92<=n)switch(n){case 92:return Lkr;case 93:return Rkr;case 94:return jkr;case 95:return Gkr;case 96:return Mkr;case 97:return Bkr;case 98:return qkr;case 99:return Ukr;case 100:return Hkr;case 101:return Xkr;case 102:return Ykr;case 103:return Vkr;case 104:return zkr;case 105:return Kkr;case 106:return Wkr;case 107:return Jkr;case 108:return $kr;case 109:return Zkr;case 110:return Qkr;case 111:return rwr;case 112:return ewr;case 113:return nwr;case 114:return twr;case 115:return uwr;case 116:return iwr;case 117:return fwr;case 118:return xwr;case 119:return awr;case 120:return owr;default:return cwr}switch(n){case 61:return ukr;case 62:return ikr;case 63:return fkr;case 64:return xkr;case 65:return akr;case 66:return okr;case 67:return ckr;case 68:return skr;case 69:return vkr;case 70:return lkr;case 71:return bkr;case 72:return pkr;case 73:return mkr;case 74:return _kr;case 75:return ykr;case 76:return dkr;case 77:return hkr;case 78:return kkr;case 79:return wkr;case 80:return Ekr;case 81:return Skr;case 82:return gkr;case 83:return Fkr;case 84:return Tkr;case 85:return Okr;case 86:return Ikr;case 87:return Akr;case 88:return Nkr;case 89:return Ckr;case 90:return Pkr;default:return Dkr}}if(31<=n)switch(n){case 31:return Ohr;case 32:return Ihr;case 33:return Ahr;case 34:return Nhr;case 35:return Chr;case 36:return Phr;case 37:return Dhr;case 38:return Lhr;case 39:return Rhr;case 40:return jhr;case 41:return Ghr;case 42:return Mhr;case 43:return Bhr;case 44:return qhr;case 45:return Uhr;case 46:return Hhr;case 47:return Xhr;case 48:return Yhr;case 49:return Vhr;case 50:return zhr;case 51:return Khr;case 52:return Whr;case 53:return Jhr;case 54:return $hr;case 55:return Zhr;case 56:return Qhr;case 57:return rkr;case 58:return ekr;case 59:return nkr;default:return tkr}switch(n){case 0:return $dr;case 1:return Zdr;case 2:return Qdr;case 3:return rhr;case 4:return ehr;case 5:return nhr;case 6:return thr;case 7:return uhr;case 8:return ihr;case 9:return fhr;case 10:return xhr;case 11:return ahr;case 12:return ohr;case 13:return chr;case 14:return shr;case 15:return vhr;case 16:return lhr;case 17:return bhr;case 18:return phr;case 19:return mhr;case 20:return _hr;case 21:return yhr;case 22:return dhr;case 23:return hhr;case 24:return khr;case 25:return whr;case 26:return Ehr;case 27:return Shr;case 28:return ghr;case 29:return Fhr;default:return Thr}}else switch(t[0]){case 0:return swr;case 1:return vwr;case 2:return lwr;case 3:return bwr;case 4:return pwr;case 5:return mwr;case 6:return _wr;case 7:return ywr;case 8:return dwr;case 9:return hwr;case 10:return kwr;default:return wwr}}function sL(t){if(typeof t=="number"){var n=t;if(61<=n){if(92<=n)switch(n){case 92:return _dr;case 93:return ydr;case 94:return ddr;case 95:return hdr;case 96:return kdr;case 97:return wdr;case 98:return Edr;case 99:return Sdr;case 100:return gdr;case 101:return Fdr;case 102:return Tdr;case 103:return Odr;case 104:return Idr;case 105:return Adr;case 106:return Ndr;case 107:return Cdr;case 108:return Pdr;case 109:return Ddr;case 110:return Ldr;case 111:return Rdr;case 112:return jdr;case 113:return Gdr;case 114:return Mdr;case 115:return Bdr;case 116:return qdr;case 117:return Udr;case 118:return Hdr;case 119:return Xdr;case 120:return Ydr;default:return Vdr}switch(n){case 61:return Byr;case 62:return qyr;case 63:return Uyr;case 64:return Hyr;case 65:return Xyr;case 66:return Yyr;case 67:return Vyr;case 68:return zyr;case 69:return Kyr;case 70:return Wyr;case 71:return Jyr;case 72:return $yr;case 73:return Zyr;case 74:return Qyr;case 75:return rdr;case 76:return edr;case 77:return ndr;case 78:return tdr;case 79:return udr;case 80:return idr;case 81:return fdr;case 82:return xdr;case 83:return adr;case 84:return odr;case 85:return cdr;case 86:return sdr;case 87:return vdr;case 88:return ldr;case 89:return bdr;case 90:return pdr;default:return mdr}}if(31<=n)switch(n){case 31:return cyr;case 32:return syr;case 33:return vyr;case 34:return lyr;case 35:return byr;case 36:return pyr;case 37:return myr;case 38:return _yr;case 39:return yyr;case 40:return dyr;case 41:return hyr;case 42:return kyr;case 43:return wyr;case 44:return Eyr;case 45:return Syr;case 46:return gyr;case 47:return Fyr;case 48:return Tyr;case 49:return Oyr;case 50:return Iyr;case 51:return Ayr;case 52:return Nyr;case 53:return Cyr;case 54:return Pyr;case 55:return Dyr;case 56:return Lyr;case 57:return Ryr;case 58:return jyr;case 59:return Gyr;default:return Myr}switch(n){case 0:return P_r;case 1:return D_r;case 2:return L_r;case 3:return R_r;case 4:return j_r;case 5:return G_r;case 6:return M_r;case 7:return B_r;case 8:return q_r;case 9:return U_r;case 10:return H_r;case 11:return X_r;case 12:return Y_r;case 13:return V_r;case 14:return z_r;case 15:return K_r;case 16:return W_r;case 17:return J_r;case 18:return $_r;case 19:return Z_r;case 20:return Q_r;case 21:return ryr;case 22:return eyr;case 23:return nyr;case 24:return tyr;case 25:return uyr;case 26:return iyr;case 27:return fyr;case 28:return xyr;case 29:return ayr;default:return oyr}}else switch(t[0]){case 2:return t[1][3];case 3:return t[1][2][3];case 5:var e=Te(zdr,t[3]);return Te(Kdr,Te(t[2],e));case 9:return t[1]?Wdr:Jdr;case 0:case 1:return t[2];case 6:case 7:return t[1];default:return t[3]}}function Ml(t){return u(et(C_r),t)}function vL(t,n){var e=t&&t[1],i=0;if(typeof n=="number")if(Pn===n)var x=m_r,c=__r;else i=1;else switch(n[0]){case 3:var x=y_r,c=d_r;break;case 5:var x=h_r,c=k_r;break;case 6:case 9:i=1;break;case 0:case 10:var x=E_r,c=S_r;break;case 1:case 11:var x=g_r,c=F_r;break;case 2:case 8:var x=T_r,c=O_r;break;default:var x=I_r,c=A_r}if(i)var x=w_r,c=Ml(sL(n));return e?Te(x,Te(N_r,c)):c}function lL(t){return 45>>0)var i=q(t);else switch(e){case 0:var i=1;break;case 1:var i=2;break;case 2:var i=0;break;default:if(B0(t,2),Gs(j(t))===0){var x=R1(j(t));if(x===0)if(Nn(j(t))===0&&Nn(j(t))===0)var c=Nn(j(t))!==0?1:0,i=c&&q(t);else var i=q(t);else if(x===1&&Nn(j(t))===0)for(;;){var s=N1(j(t));if(s!==0){var p=s!==1?1:0,i=p&&q(t);break}}else var i=q(t)}else var i=q(t)}if(2>>0)throw[0,Sn,Ewr];switch(i){case 0:continue;case 1:return 1;default:if(iL(dr0(t)))continue;return kr0(t,1),0}}}function g9(t,n){var e=n-t[3][2]|0;return[0,Sr0(t),e]}function Hl(t,n,e){var i=g9(t,e),x=g9(t,n);return[0,t[1],x,i]}function Ru(t,n){return g9(t,n[6])}function y7(t,n){return g9(t,n[3])}function nt(t,n){return Hl(t,n[6],n[3])}function Wr0(t,n){var e=0;if(typeof n=="number")e=1;else switch(n[0]){case 2:var i=n[1][1];break;case 3:return n[1][1];case 4:var i=n[1];break;case 7:var i=n[2];break;case 5:case 8:return n[1];default:e=1}return e?nt(t,t[2]):i}function ju(t,n,e){return[0,t[1],t[2],t[3],t[4],t[5],[0,[0,n,e],t[6]],t[7]]}function Jr0(t,n,e){return ju(t,n,[10,Ml(e)])}function _L(t,n,e,i){return ju(t,n,[12,e,i])}function wi(t,n){return ju(t,n,JDr)}function d7(t,n){var e=n[3],i=[0,Sr0(t)+1|0,e];return[0,t[1],t[2],i,t[4],t[5],t[6],t[7]]}function $r0(t){var n=nn(t);return n!==0&&Yt===At(t,n-1|0)?p7(t,0,n-1|0):t}function Ei(t,n,e,i,x){var c=[0,t[1],n,e],s=qt(i),p=x?0:1;return[0,c,[0,p,s,t[7][3][1]>>0)var y=q(i);else switch(p){case 0:var y=2;break;case 1:for(;;){B0(i,3);var T=j(i);if(-1>>0)return ke(qDr);switch(y){case 0:var S=Qr0(c,e,i,2,0),M=S[1],K=Bi(Te(UDr,S[2])),V=0<=K?1:0,f0=V&&(K<=55295?1:0);if(f0)var k0=f0;else var m0=57344<=K?1:0,k0=m0&&(K<=mI?1:0);var g0=k0?Zr0(c,M,K):ju(c,M,37);g1(x,K);var c=g0;continue;case 1:var e0=Qr0(c,e,i,3,1),x0=Bi(Te(HDr,e0[2])),l=Zr0(c,e0[1],x0);g1(x,x0);var c=l;continue;case 2:return[0,c,qt(x)];default:Gl(i,x);continue}}}function Rt(t,n,e){var i=wi(t,nt(t,n));return $v(n),a(e,i,n)}function j1(t,n,e){for(var i=t;;){gn(e);var x=j(e);if(-1>>0)var p=q(e);else switch(s){case 0:for(;;){B0(e,3);var y=j(e);if(-1>>0){var A=wi(i,nt(i,e));return[0,A,y7(A,e)]}switch(p){case 0:var S=d7(i,e);Gl(e,n);var i=S;continue;case 1:var M=i[4]?_L(i,nt(i,e),Fwr,gwr):i;return[0,M,y7(M,e)];case 2:if(i[4])return[0,i,y7(i,e)];_n(n,Twr);continue;default:Gl(e,n);continue}}}function e2(t,n,e){for(;;){gn(e);var i=j(e),x=13>>0)var c=q(e);else switch(x){case 0:var c=0;break;case 1:for(;;){B0(e,2);var s=j(e);if(-1>>0)return ke(Owr);switch(c){case 0:return[0,t,y7(t,e)];case 1:var T=y7(t,e),E=d7(t,e),h=$m(e);return[0,E,[0,T[1],T[2]-h|0]];default:Gl(e,n);continue}}}function ee0(t,n){function e(k0){return B0(k0,3),Vu(j(k0))===0?2:q(k0)}gn(n);var i=j(n),x=fc>>0)var c=q(n);else switch(x){case 1:var c=16;break;case 2:var c=15;break;case 3:B0(n,15);var c=fi(j(n))===0?15:q(n);break;case 4:B0(n,4);var c=Vu(j(n))===0?e(n):q(n);break;case 5:B0(n,11);var c=Vu(j(n))===0?e(n):q(n);break;case 7:var c=5;break;case 8:var c=6;break;case 9:var c=7;break;case 10:var c=8;break;case 11:var c=9;break;case 12:B0(n,14);var s=R1(j(n));if(s===0)var c=Nn(j(n))===0&&Nn(j(n))===0&&Nn(j(n))===0?12:q(n);else if(s===1&&Nn(j(n))===0)for(;;){var p=N1(j(n));if(p!==0){var c=p===1?13:q(n);break}}else var c=q(n);break;case 13:var c=10;break;case 14:B0(n,14);var c=Nn(j(n))===0&&Nn(j(n))===0?1:q(n);break;default:var c=0}if(16>>0)return ke(TDr);switch(c){case 1:var y=Se(n);return[0,t,y,[0,Bi(Te(ODr,y))],0];case 2:var T=Se(n),E=Bi(Te(IDr,T));return C4<=E?[0,t,T,[0,E>>>3|0,48+(E&7)|0],1]:[0,t,T,[0,E],1];case 3:var h=Se(n);return[0,t,h,[0,Bi(Te(ADr,h))],1];case 4:return[0,t,NDr,[0,0],0];case 5:return[0,t,CDr,[0,8],0];case 6:return[0,t,PDr,[0,12],0];case 7:return[0,t,DDr,[0,10],0];case 8:return[0,t,LDr,[0,13],0];case 9:return[0,t,RDr,[0,9],0];case 10:return[0,t,jDr,[0,11],0];case 11:var w=Se(n);return[0,t,w,[0,Bi(Te(GDr,w))],1];case 12:var G=Se(n);return[0,t,G,[0,Bi(Te(MDr,p7(G,1,nn(G)-1|0)))],0];case 13:var A=Se(n),S=Bi(Te(BDr,p7(A,2,nn(A)-3|0))),M=mI>>0)var E=q(c);else switch(T){case 0:var E=3;break;case 1:for(;;){B0(c,4);var h=j(c);if(-1>>0)return ke(Iwr);switch(E){case 0:var A=Se(c);if(_n(i,A),qn(n,A))return[0,s,y7(s,c),p];_n(e,A);continue;case 1:_n(i,Awr);var S=ee0(s,c),M=S[4],K=M||p;_n(i,S[2]);var V=S[3];hz(function(w0){return g1(e,w0)},V);var s=S[1],p=K;continue;case 2:var f0=Se(c);_n(i,f0);var m0=d7(wi(s,nt(s,c)),c);return _n(e,f0),[0,m0,y7(m0,c),p];case 3:var k0=Se(c);_n(i,k0);var g0=wi(s,nt(s,c));return _n(e,k0),[0,g0,y7(g0,c),p];default:var e0=c[6],x0=c[3]-e0|0,l=Lt(x0*4|0),c0=Rl(c[1],e0,x0,l);bN(i,l,0,c0),bN(e,l,0,c0);continue}}}function te0(t,n,e,i,x){for(var c=t;;){gn(x);var s=j(x),p=96>>0)var y=q(x);else switch(p){case 0:var y=0;break;case 1:for(;;){B0(x,6);var T=j(x);if(-1>>0)return ke(Nwr);switch(y){case 0:return[0,wi(c,nt(c,x)),1];case 1:return qi(i,96),[0,c,1];case 2:return _n(i,Cwr),[0,c,0];case 3:qi(e,92),qi(i,92);var A=ee0(c,x),S=A[2];_n(e,S),_n(i,S);var M=A[3];hz(function(m0){return g1(n,m0)},M);var c=A[1];continue;case 4:_n(e,Pwr),_n(i,Dwr),_n(n,Lwr);var c=d7(c,x);continue;case 5:var K=Se(x);_n(e,K),_n(i,K),qi(n,10);var c=d7(c,x);continue;default:var V=Se(x);_n(e,V),_n(i,V),_n(n,V);continue}}}function Yee(t,n){function e(U0){for(;;)if(B0(U0,33),yn(j(U0))!==0)return q(U0)}function i(U0){for(;;)if(B0(U0,27),yn(j(U0))!==0)return q(U0)}function x(U0){B0(U0,26);var L0=Ut(j(U0));if(L0===0){for(;;)if(B0(U0,25),yn(j(U0))!==0)return q(U0)}return L0===1?i(U0):q(U0)}function c(U0){for(;;)if(B0(U0,27),yn(j(U0))!==0)return q(U0)}function s(U0){B0(U0,26);var L0=Ut(j(U0));if(L0===0){for(;;)if(B0(U0,25),yn(j(U0))!==0)return q(U0)}return L0===1?c(U0):q(U0)}function p(U0){r:for(;;){if(ln(j(U0))===0)for(;;){B0(U0,28);var L0=qc(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return c(U0);case 1:continue;case 2:continue r;default:return s(U0)}}return q(U0)}}function y(U0){B0(U0,33);var L0=Hr0(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:var Re=P1(j(U0));if(Re===0)for(;;){B0(U0,28);var He=Qv(j(U0));if(2>>0)return q(U0);switch(He){case 0:return c(U0);case 1:continue;default:return s(U0)}}if(Re===1)for(;;){B0(U0,28);var he=qc(j(U0));if(3>>0)return q(U0);switch(he){case 0:return c(U0);case 1:continue;case 2:return p(U0);default:return s(U0)}}return q(U0);case 2:for(;;){B0(U0,28);var me=Qv(j(U0));if(2>>0)return q(U0);switch(me){case 0:return i(U0);case 1:continue;default:return x(U0)}}default:for(;;){B0(U0,28);var Qn=qc(j(U0));if(3>>0)return q(U0);switch(Qn){case 0:return i(U0);case 1:continue;case 2:return p(U0);default:return x(U0)}}}}function T(U0){B0(U0,31);var L0=Ut(j(U0));if(L0===0){for(;;)if(B0(U0,29),yn(j(U0))!==0)return q(U0)}return L0===1?e(U0):q(U0)}function E(U0){return B0(U0,3),zr0(j(U0))===0?3:q(U0)}function h(U0){return _9(j(U0))===0&&l9(j(U0))===0&&Yr0(j(U0))===0&&Lr0(j(U0))===0&&Rr0(j(U0))===0&&pL(j(U0))===0&&Bl(j(U0))===0&&_9(j(U0))===0&&Gs(j(U0))===0&&jr0(j(U0))===0&&Ul(j(U0))===0?3:q(U0)}function w(U0){B0(U0,34);var L0=Pr0(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:for(;;){B0(U0,34);var Re=Rs(j(U0));if(4>>0)return q(U0);switch(Re){case 0:return e(U0);case 1:continue;case 2:return y(U0);case 3:r:for(;;){if(ln(j(U0))===0)for(;;){B0(U0,34);var He=Rs(j(U0));if(4>>0)return q(U0);switch(He){case 0:return e(U0);case 1:continue;case 2:return y(U0);case 3:continue r;default:return T(U0)}}return q(U0)}default:return T(U0)}}case 2:return y(U0);default:return T(U0)}}function G(U0){for(;;)if(B0(U0,19),yn(j(U0))!==0)return q(U0)}function A(U0){B0(U0,34);var L0=Qv(j(U0));if(2>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:for(;;){B0(U0,34);var Re=qc(j(U0));if(3>>0)return q(U0);switch(Re){case 0:return e(U0);case 1:continue;case 2:r:for(;;){if(ln(j(U0))===0)for(;;){B0(U0,34);var He=qc(j(U0));if(3>>0)return q(U0);switch(He){case 0:return e(U0);case 1:continue;case 2:continue r;default:return T(U0)}}return q(U0)}default:return T(U0)}}default:return T(U0)}}function S(U0){for(;;)if(B0(U0,17),yn(j(U0))!==0)return q(U0)}function M(U0){for(;;)if(B0(U0,17),yn(j(U0))!==0)return q(U0)}function K(U0){for(;;)if(B0(U0,11),yn(j(U0))!==0)return q(U0)}function V(U0){for(;;)if(B0(U0,11),yn(j(U0))!==0)return q(U0)}function f0(U0){for(;;)if(B0(U0,15),yn(j(U0))!==0)return q(U0)}function m0(U0){for(;;)if(B0(U0,15),yn(j(U0))!==0)return q(U0)}function k0(U0){for(;;)if(B0(U0,23),yn(j(U0))!==0)return q(U0)}function g0(U0){for(;;)if(B0(U0,23),yn(j(U0))!==0)return q(U0)}function e0(U0){B0(U0,32);var L0=Ut(j(U0));if(L0===0){for(;;)if(B0(U0,30),yn(j(U0))!==0)return q(U0)}return L0===1?e(U0):q(U0)}function x0(U0){r:for(;;){if(ln(j(U0))===0)for(;;){B0(U0,34);var L0=qr0(j(U0));if(4>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:return A(U0);case 2:continue;case 3:continue r;default:return e0(U0)}}return q(U0)}}gn(n);var l=j(n),c0=tf>>0)var t0=q(n);else switch(c0){case 0:var t0=98;break;case 1:var t0=99;break;case 2:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var t0=q(n);break}}else var t0=q(n);break;case 3:var t0=0;break;case 4:B0(n,0);var a0=fi(j(n))!==0?1:0,t0=a0&&q(n);break;case 5:B0(n,88);var t0=Ui(j(n))===0?(B0(n,58),Ui(j(n))===0?54:q(n)):q(n);break;case 6:var t0=7;break;case 7:B0(n,95);var w0=j(n),_0=32>>0)var t0=q(n);else switch(b){case 0:B0(n,83);var t0=Ui(j(n))===0?70:q(n);break;case 1:var t0=4;break;default:var t0=69}break;case 14:B0(n,80);var j0=j(n),X=42>>0)var t0=q(n);else switch(ar){case 0:var t0=e(n);break;case 1:continue;case 2:var t0=y(n);break;case 3:r:for(;;){if(ln(j(n))===0)for(;;){B0(n,34);var W0=Rs(j(n));if(4>>0)var Lr=q(n);else switch(W0){case 0:var Lr=e(n);break;case 1:continue;case 2:var Lr=y(n);break;case 3:continue r;default:var Lr=T(n)}break}else var Lr=q(n);var t0=Lr;break}break;default:var t0=T(n)}break}else var t0=q(n);break;case 18:B0(n,93);var Tr=Dr0(j(n));if(2>>0)var t0=q(n);else switch(Tr){case 0:B0(n,2);var Hr=f9(j(n));if(2
>>0)var t0=q(n);else switch(Hr){case 0:for(;;){var Or=f9(j(n));if(2>>0)var t0=q(n);else switch(Or){case 0:continue;case 1:var t0=E(n);break;default:var t0=h(n)}break}break;case 1:var t0=E(n);break;default:var t0=h(n)}break;case 1:var t0=5;break;default:var t0=92}break;case 19:B0(n,34);var xr=mL(j(n));if(8>>0)var t0=q(n);else switch(xr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:for(;;){B0(n,20);var Rr=Xr0(j(n));if(4>>0)var t0=q(n);else switch(Rr){case 0:var t0=G(n);break;case 1:var t0=A(n);break;case 2:continue;case 3:for(;;){B0(n,18);var Wr=i9(j(n));if(3>>0)var t0=q(n);else switch(Wr){case 0:var t0=S(n);break;case 1:var t0=A(n);break;case 2:continue;default:B0(n,17);var Jr=Ut(j(n));if(Jr===0){for(;;)if(B0(n,17),yn(j(n))!==0){var t0=q(n);break}}else var t0=Jr===1?S(n):q(n)}break}break;default:B0(n,19);var or=Ut(j(n));if(or===0){for(;;)if(B0(n,19),yn(j(n))!==0){var t0=q(n);break}}else var t0=or===1?G(n):q(n)}break}break;case 3:for(;;){B0(n,18);var _r=i9(j(n));if(3<_r>>>0)var t0=q(n);else switch(_r){case 0:var t0=M(n);break;case 1:var t0=A(n);break;case 2:continue;default:B0(n,17);var Ir=Ut(j(n));if(Ir===0){for(;;)if(B0(n,17),yn(j(n))!==0){var t0=q(n);break}}else var t0=Ir===1?M(n):q(n)}break}break;case 4:B0(n,33);var fe=Gr0(j(n));if(fe===0)var t0=e(n);else if(fe===1)for(;;){B0(n,12);var v0=w9(j(n));if(3>>0)var t0=q(n);else switch(v0){case 0:var t0=K(n);break;case 1:continue;case 2:r:for(;;){if(Bc(j(n))===0)for(;;){B0(n,12);var P=w9(j(n));if(3

>>0)var Q=q(n);else switch(P){case 0:var Q=V(n);break;case 1:continue;case 2:continue r;default:B0(n,10);var L=Ut(j(n));if(L===0){for(;;)if(B0(n,9),yn(j(n))!==0){var Q=q(n);break}}else var Q=L===1?V(n):q(n)}break}else var Q=q(n);var t0=Q;break}break;default:B0(n,10);var i0=Ut(j(n));if(i0===0){for(;;)if(B0(n,9),yn(j(n))!==0){var t0=q(n);break}}else var t0=i0===1?K(n):q(n)}break}else var t0=q(n);break;case 5:var t0=y(n);break;case 6:B0(n,33);var l0=Mr0(j(n));if(l0===0)var t0=e(n);else if(l0===1)for(;;){B0(n,16);var S0=h9(j(n));if(3>>0)var t0=q(n);else switch(S0){case 0:var t0=f0(n);break;case 1:continue;case 2:r:for(;;){if(Vu(j(n))===0)for(;;){B0(n,16);var T0=h9(j(n));if(3>>0)var R0=q(n);else switch(T0){case 0:var R0=m0(n);break;case 1:continue;case 2:continue r;default:B0(n,14);var rr=Ut(j(n));if(rr===0){for(;;)if(B0(n,13),yn(j(n))!==0){var R0=q(n);break}}else var R0=rr===1?m0(n):q(n)}break}else var R0=q(n);var t0=R0;break}break;default:B0(n,14);var B=Ut(j(n));if(B===0){for(;;)if(B0(n,13),yn(j(n))!==0){var t0=q(n);break}}else var t0=B===1?f0(n):q(n)}break}else var t0=q(n);break;case 7:B0(n,33);var Z=Or0(j(n));if(Z===0)var t0=e(n);else if(Z===1)for(;;){B0(n,24);var p0=E9(j(n));if(3>>0)var t0=q(n);else switch(p0){case 0:var t0=k0(n);break;case 1:continue;case 2:r:for(;;){if(Nn(j(n))===0)for(;;){B0(n,24);var b0=E9(j(n));if(3>>0)var q0=q(n);else switch(b0){case 0:var q0=g0(n);break;case 1:continue;case 2:continue r;default:B0(n,22);var O0=Ut(j(n));if(O0===0){for(;;)if(B0(n,21),yn(j(n))!==0){var q0=q(n);break}}else var q0=O0===1?g0(n):q(n)}break}else var q0=q(n);var t0=q0;break}break;default:B0(n,22);var er=Ut(j(n));if(er===0){for(;;)if(B0(n,21),yn(j(n))!==0){var t0=q(n);break}}else var t0=er===1?k0(n):q(n)}break}else var t0=q(n);break;default:var t0=e0(n)}break;case 20:B0(n,34);var yr=o9(j(n));if(5>>0)var t0=q(n);else switch(yr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:for(;;){B0(n,34);var vr=o9(j(n));if(5>>0)var t0=q(n);else switch(vr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:continue;case 3:var t0=y(n);break;case 4:var t0=x0(n);break;default:var t0=e0(n)}break}break;case 3:var t0=y(n);break;case 4:var t0=x0(n);break;default:var t0=e0(n)}break;case 21:var t0=46;break;case 22:var t0=44;break;case 23:B0(n,78);var $0=j(n),Er=59<$0?61<$0?-1:Vr(tN,$0-60|0)-1|0:-1,t0=Er===0?(B0(n,62),Ui(j(n))===0?61:q(n)):Er===1?55:q(n);break;case 24:B0(n,90);var Mr=bL(j(n)),t0=Mr===0?(B0(n,57),Ui(j(n))===0?53:q(n)):Mr===1?91:q(n);break;case 25:B0(n,79);var Br=bL(j(n));if(Br===0)var t0=56;else if(Br===1){B0(n,66);var qr=bL(j(n)),t0=qr===0?63:qr===1?(B0(n,65),Ui(j(n))===0?64:q(n)):q(n)}else var t0=q(n);break;case 26:B0(n,50);var jr=j(n),$r=45>>0)return ke(SPr);var I=t0;if(50<=I)switch(I){case 50:return[0,t,85];case 51:return[0,t,88];case 52:return[0,t,87];case 53:return[0,t,94];case 54:return[0,t,95];case 55:return[0,t,96];case 56:return[0,t,97];case 57:return[0,t,92];case 58:return[0,t,93];case 59:return[0,t,vf];case 60:return[0,t,F7];case 61:return[0,t,69];case 62:return[0,t,ni];case 63:return[0,t,68];case 64:return[0,t,67];case 65:return[0,t,Ri];case 66:return[0,t,L7];case 67:return[0,t,78];case 68:return[0,t,77];case 69:return[0,t,75];case 70:return[0,t,76];case 71:return[0,t,73];case 72:return[0,t,72];case 73:return[0,t,71];case 74:return[0,t,70];case 75:return[0,t,79];case 76:return[0,t,80];case 77:return[0,t,81];case 78:return[0,t,98];case 79:return[0,t,99];case 80:return[0,t,c7];case 81:return[0,t,D7];case 82:return[0,t,Vt];case 83:return[0,t,Qc];case 84:return[0,t,fs];case 85:return[0,t,89];case 86:return[0,t,91];case 87:return[0,t,90];case 88:return[0,t,Fv];case 89:return[0,t,Yt];case 90:return[0,t,82];case 91:return[0,t,11];case 92:return[0,t,74];case 93:return[0,t,R7];case 94:return[0,t,13];case 95:return[0,t,14];case 96:return[2,wi(t,nt(t,n))];case 97:var U=n[6];Kr0(n);var Y=Hl(t,U,n[3]);fL(n,U);var y0=Ll(n),D0=re0(t,y0),I0=D0[2],D=Ee(I0,APr);if(0<=D){if(!(0>>0)var me=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Bc(j(L0))===0)for(;;){var He=t9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var me=he;break}break;default:var me=0}break}else var me=q(L0);return me===0?[0,U0,[1,0,Se(L0)]]:ke(EPr)});case 10:return[0,t,[1,0,Se(n)]];case 11:return Rt(t,n,function(U0,L0){if(gn(L0),Ls(j(L0))===0&&s9(j(L0))===0&&Bc(j(L0))===0)for(;;){B0(L0,0);var Re=n9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Bc(j(L0))===0)for(;;){B0(L0,0);var He=n9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var me=he;break}else var me=q(L0);break}}else var me=q(L0);return me===0?[0,U0,[0,0,Se(L0)]]:ke(wPr)});case 12:return[0,t,[0,0,Se(n)]];case 13:return Rt(t,n,function(U0,L0){if(gn(L0),Ls(j(L0))===0&&p9(j(L0))===0&&Vu(j(L0))===0)for(;;){var Re=c9(j(L0));if(2>>0)var me=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Vu(j(L0))===0)for(;;){var He=c9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var me=he;break}break;default:var me=0}break}else var me=q(L0);return me===0?[0,U0,[1,1,Se(L0)]]:ke(kPr)});case 14:return[0,t,[1,1,Se(n)]];case 15:return Rt(t,n,function(U0,L0){if(gn(L0),Ls(j(L0))===0&&p9(j(L0))===0&&Vu(j(L0))===0)for(;;){B0(L0,0);var Re=a9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Vu(j(L0))===0)for(;;){B0(L0,0);var He=a9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var me=he;break}else var me=q(L0);break}}else var me=q(L0);return me===0?[0,U0,[0,3,Se(L0)]]:ke(hPr)});case 16:return[0,t,[0,3,Se(n)]];case 17:return Rt(t,n,function(U0,L0){if(gn(L0),Ls(j(L0))===0)for(;;){var Re=j(L0),He=47>>0)var me=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Nn(j(L0))===0)for(;;){var He=u9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var me=he;break}break;default:var me=0}break}else var me=q(L0);return me===0?[0,U0,[1,2,Se(L0)]]:ke(_Pr)});case 23:return Rt(t,n,function(U0,L0){if(gn(L0),Ls(j(L0))===0&&Qm(j(L0))===0&&Nn(j(L0))===0)for(;;){B0(L0,0);var Re=y9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Nn(j(L0))===0)for(;;){B0(L0,0);var He=y9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var me=he;break}else var me=q(L0);break}}else var me=q(L0);return me===0?[0,U0,[0,4,Se(L0)]]:ke(mPr)});case 25:return Rt(t,n,function(U0,L0){function Re(cn){for(;;){var ut=ki(j(cn));if(2>>0)return q(cn);switch(ut){case 0:continue;case 1:r:for(;;){if(ln(j(cn))===0)for(;;){var It=ki(j(cn));if(2>>0)return q(cn);switch(It){case 0:continue;case 1:continue r;default:return 0}}return q(cn)}default:return 0}}}function He(cn){for(;;){var ut=r2(j(cn));if(ut!==0){var It=ut!==1?1:0;return It&&q(cn)}}}function he(cn){var ut=S9(j(cn));if(2>>0)return q(cn);switch(ut){case 0:var It=P1(j(cn));return It===0?He(cn):It===1?Re(cn):q(cn);case 1:return He(cn);default:return Re(cn)}}function me(cn){var ut=m9(j(cn));if(ut===0)for(;;){var It=i7(j(cn));if(2>>0)return q(cn);switch(It){case 0:continue;case 1:return he(cn);default:r:for(;;){if(ln(j(cn))===0)for(;;){var Fi=i7(j(cn));if(2>>0)return q(cn);switch(Fi){case 0:continue;case 1:return he(cn);default:continue r}}return q(cn)}}}return ut===1?he(cn):q(cn)}gn(L0);var Qn=r9(j(L0));if(2>>0)var hn=q(L0);else switch(Qn){case 0:if(ln(j(L0))===0)for(;;){var ft=i7(j(L0));if(2>>0)var hn=q(L0);else switch(ft){case 0:continue;case 1:var hn=he(L0);break;default:r:for(;;){if(ln(j(L0))===0)for(;;){var xt=i7(j(L0));if(2>>0)var Rn=q(L0);else switch(xt){case 0:continue;case 1:var Rn=he(L0);break;default:continue r}break}else var Rn=q(L0);var hn=Rn;break}}break}else var hn=q(L0);break;case 1:var tt=e9(j(L0)),hn=tt===0?me(L0):tt===1?he(L0):q(L0);break;default:for(;;){var ht=b9(j(L0));if(2>>0)var hn=q(L0);else switch(ht){case 0:var hn=me(L0);break;case 1:continue;default:var hn=he(L0)}break}}if(hn===0){var tn=ju(U0,nt(U0,L0),23);return[0,tn,[1,2,Se(L0)]]}return ke(pPr)});case 26:var Mu=ju(t,nt(t,n),23);return[0,Mu,[1,2,Se(n)]];case 27:return Rt(t,n,function(U0,L0){function Re(tn){for(;;){B0(tn,0);var cn=js(j(tn));if(cn!==0){if(cn===1)r:for(;;){if(ln(j(tn))===0)for(;;){B0(tn,0);var ut=js(j(tn));if(ut!==0){if(ut===1)continue r;return q(tn)}}return q(tn)}return q(tn)}}}function He(tn){for(;;)if(B0(tn,0),ln(j(tn))!==0)return q(tn)}function he(tn){var cn=S9(j(tn));if(2>>0)return q(tn);switch(cn){case 0:var ut=P1(j(tn));return ut===0?He(tn):ut===1?Re(tn):q(tn);case 1:return He(tn);default:return Re(tn)}}function me(tn){var cn=m9(j(tn));if(cn===0)for(;;){var ut=i7(j(tn));if(2>>0)return q(tn);switch(ut){case 0:continue;case 1:return he(tn);default:r:for(;;){if(ln(j(tn))===0)for(;;){var It=i7(j(tn));if(2>>0)return q(tn);switch(It){case 0:continue;case 1:return he(tn);default:continue r}}return q(tn)}}}return cn===1?he(tn):q(tn)}gn(L0);var Qn=r9(j(L0));if(2>>0)var hn=q(L0);else switch(Qn){case 0:if(ln(j(L0))===0)for(;;){var ft=i7(j(L0));if(2>>0)var hn=q(L0);else switch(ft){case 0:continue;case 1:var hn=he(L0);break;default:r:for(;;){if(ln(j(L0))===0)for(;;){var xt=i7(j(L0));if(2>>0)var Rn=q(L0);else switch(xt){case 0:continue;case 1:var Rn=he(L0);break;default:continue r}break}else var Rn=q(L0);var hn=Rn;break}}break}else var hn=q(L0);break;case 1:var tt=e9(j(L0)),hn=tt===0?me(L0):tt===1?he(L0):q(L0);break;default:for(;;){var ht=b9(j(L0));if(2>>0)var hn=q(L0);else switch(ht){case 0:var hn=me(L0);break;case 1:continue;default:var hn=he(L0)}break}}return hn===0?[0,U0,[0,4,Se(L0)]]:ke(bPr)});case 29:return Rt(t,n,function(U0,L0){function Re(tt){for(;;){var ht=ki(j(tt));if(2>>0)return q(tt);switch(ht){case 0:continue;case 1:r:for(;;){if(ln(j(tt))===0)for(;;){var tn=ki(j(tt));if(2>>0)return q(tt);switch(tn){case 0:continue;case 1:continue r;default:return 0}}return q(tt)}default:return 0}}}function He(tt){var ht=r2(j(tt));if(ht===0)return Re(tt);var tn=ht!==1?1:0;return tn&&q(tt)}gn(L0);var he=r9(j(L0));if(2>>0)var me=q(L0);else switch(he){case 0:var me=ln(j(L0))===0?Re(L0):q(L0);break;case 1:for(;;){var Qn=L1(j(L0));if(Qn===0)var me=He(L0);else{if(Qn===1)continue;var me=q(L0)}break}break;default:for(;;){var hn=Uc(j(L0));if(2>>0)var me=q(L0);else switch(hn){case 0:var me=He(L0);break;case 1:continue;default:r:for(;;){if(ln(j(L0))===0)for(;;){var ft=Uc(j(L0));if(2>>0)var xt=q(L0);else switch(ft){case 0:var xt=He(L0);break;case 1:continue;default:continue r}break}else var xt=q(L0);var me=xt;break}}break}}if(me===0){var Rn=ju(U0,nt(U0,L0),22);return[0,Rn,[1,2,Se(L0)]]}return ke(lPr)});case 30:return Rt(t,n,function(U0,L0){gn(L0);var Re=P1(j(L0));if(Re===0)for(;;){var He=r2(j(L0));if(He!==0){var he=He!==1?1:0,ft=he&&q(L0);break}}else if(Re===1)for(;;){var me=ki(j(L0));if(2>>0)var ft=q(L0);else switch(me){case 0:continue;case 1:r:for(;;){if(ln(j(L0))===0)for(;;){var Qn=ki(j(L0));if(2>>0)var hn=q(L0);else switch(Qn){case 0:continue;case 1:continue r;default:var hn=0}break}else var hn=q(L0);var ft=hn;break}break;default:var ft=0}break}else var ft=q(L0);return ft===0?[0,U0,[1,2,Se(L0)]]:ke(vPr)});case 31:var z7=ju(t,nt(t,n),22);return[0,z7,[1,2,Se(n)]];case 33:return Rt(t,n,function(U0,L0){function Re(Rn){for(;;){B0(Rn,0);var tt=js(j(Rn));if(tt!==0){if(tt===1)r:for(;;){if(ln(j(Rn))===0)for(;;){B0(Rn,0);var ht=js(j(Rn));if(ht!==0){if(ht===1)continue r;return q(Rn)}}return q(Rn)}return q(Rn)}}}function He(Rn){return B0(Rn,0),ln(j(Rn))===0?Re(Rn):q(Rn)}gn(L0);var he=r9(j(L0));if(2>>0)var me=q(L0);else switch(he){case 0:var me=ln(j(L0))===0?Re(L0):q(L0);break;case 1:for(;;){B0(L0,0);var Qn=L1(j(L0));if(Qn===0)var me=He(L0);else{if(Qn===1)continue;var me=q(L0)}break}break;default:for(;;){B0(L0,0);var hn=Uc(j(L0));if(2>>0)var me=q(L0);else switch(hn){case 0:var me=He(L0);break;case 1:continue;default:r:for(;;){if(ln(j(L0))===0)for(;;){B0(L0,0);var ft=Uc(j(L0));if(2>>0)var xt=q(L0);else switch(ft){case 0:var xt=He(L0);break;case 1:continue;default:continue r}break}else var xt=q(L0);var me=xt;break}}break}}return me===0?[0,U0,[0,4,Se(L0)]]:ke(sPr)});case 35:var Yi=nt(t,n),a7=Se(n);return[0,t,[4,Yi,a7,a7]];case 36:return[0,t,0];case 37:return[0,t,1];case 38:return[0,t,4];case 39:return[0,t,5];case 40:return[0,t,6];case 41:return[0,t,7];case 42:return[0,t,12];case 43:return[0,t,10];case 44:return[0,t,8];case 45:return[0,t,9];case 46:return[0,t,86];case 47:$v(n),gn(n);var Yc=j(n),K7=62>>0)var x=q(n);else switch(i){case 0:var x=0;break;case 1:var x=6;break;case 2:if(B0(n,2),Mc(j(n))===0){for(;;)if(B0(n,2),Mc(j(n))!==0){var x=q(n);break}}else var x=q(n);break;case 3:var x=1;break;case 4:B0(n,1);var x=fi(j(n))===0?1:q(n);break;default:B0(n,5);var c=k9(j(n)),x=c===0?4:c===1?3:q(n)}if(6>>0)return ke(cPr);switch(x){case 0:return[0,t,Pn];case 1:return[2,d7(t,n)];case 2:return[2,t];case 3:var s=Ru(t,n),p=Zn(Kn),y=e2(t,p,n),T=y[1];return[1,T,Ei(T,s,y[2],p,0)];case 4:var E=Ru(t,n),h=Zn(Kn),w=j1(t,h,n),G=w[1];return[1,G,Ei(G,E,w[2],h,1)];case 5:var A=Ru(t,n),S=Zn(Kn),M=t;r:for(;;){gn(n);var K=j(n),V=92>>0)var f0=q(n);else switch(V){case 0:var f0=0;break;case 1:for(;;){B0(n,7);var m0=j(n);if(-1>>0)var f0=q(n);else switch(l){case 0:var f0=2;break;case 1:var f0=1;break;default:B0(n,1);var f0=fi(j(n))===0?1:q(n)}}if(7>>0)var c0=ke(Gwr);else switch(f0){case 0:var c0=[0,ju(M,nt(M,n),25),Mwr];break;case 1:var c0=[0,d7(ju(M,nt(M,n),25),n),Bwr];break;case 3:var t0=Se(n),c0=[0,M,p7(t0,1,nn(t0)-1|0)];break;case 4:var c0=[0,M,qwr];break;case 5:for(qi(S,91);;){gn(n);var a0=j(n),w0=93>>0)var _0=q(n);else switch(w0){case 0:var _0=0;break;case 1:for(;;){B0(n,4);var E0=j(n);if(-1>>0)var s0=ke(Rwr);else switch(_0){case 0:var s0=M;break;case 1:_n(S,jwr);continue;case 2:qi(S,92),qi(S,93);continue;case 3:qi(S,93);var s0=M;break;default:_n(S,Se(n));continue}var M=s0;continue r}case 6:var c0=[0,d7(ju(M,nt(M,n),25),n),Uwr];break;default:_n(S,Se(n));continue}var dr=c0[1],Ar=y7(dr,n),ar=[0,dr[1],A,Ar],W0=c0[2];return[0,dr,[5,ar,qt(S),W0]]}default:var Lr=wi(t,nt(t,n));return[0,Lr,[6,Se(n)]]}}function yL(t,n,e,i,x){for(var c=t;;){var s=function(Cn){for(;;)if(B0(Cn,6),Nr0(j(Cn))!==0)return q(Cn)};gn(x);var p=j(x),y=br>>0)var T=q(x);else switch(y){case 0:var T=1;break;case 1:var T=s(x);break;case 2:var T=2;break;case 3:B0(x,2);var T=fi(j(x))===0?2:q(x);break;case 4:var T=0;break;case 5:B0(x,6);var E=j(x),h=34>>0)return ke(Hwr);switch(T){case 0:var c0=Se(x),t0=0;switch(n){case 0:n0(c0,Xwr)||(t0=1);break;case 1:n0(c0,Ywr)||(t0=1);break;default:var a0=0;if(n0(c0,Vwr)){if(!n0(c0,zwr))return _L(c,nt(c,x),Qwr,Zwr);if(n0(c0,Kwr)){if(!n0(c0,Wwr))return _L(c,nt(c,x),$wr,Jwr);a0=1}}if(!a0)return $v(x),c}if(t0)return c;_n(i,c0),_n(e,c0);continue;case 1:return wi(c,nt(c,x));case 2:var w0=Se(x);_n(i,w0),_n(e,w0);var c=d7(c,x);continue;case 3:var _0=Se(x),E0=p7(_0,3,nn(_0)-4|0);_n(i,_0),g1(e,Bi(Te(rEr,E0)));continue;case 4:var X0=Se(x),b=p7(X0,2,nn(X0)-3|0);_n(i,X0),g1(e,Bi(b));continue;case 5:var j0=Se(x),X=p7(j0,1,nn(j0)-2|0);_n(i,j0);var s0=Ee(X,eEr),dr=0;if(0<=s0)if(0>>0)var x=q(n);else switch(i){case 0:var x=0;break;case 1:var x=14;break;case 2:if(B0(n,2),Mc(j(n))===0){for(;;)if(B0(n,2),Mc(j(n))!==0){var x=q(n);break}}else var x=q(n);break;case 3:var x=1;break;case 4:B0(n,1);var x=fi(j(n))===0?1:q(n);break;case 5:var x=12;break;case 6:var x=13;break;case 7:var x=10;break;case 8:B0(n,6);var c=k9(j(n)),x=c===0?4:c===1?3:q(n);break;case 9:var x=9;break;case 10:var x=5;break;case 11:var x=11;break;case 12:var x=7;break;case 13:if(B0(n,14),Gs(j(n))===0){var s=R1(j(n));if(s===0)var x=Nn(j(n))===0&&Nn(j(n))===0&&Nn(j(n))===0?13:q(n);else if(s===1&&Nn(j(n))===0)for(;;){var p=N1(j(n));if(p!==0){var x=p===1?13:q(n);break}}else var x=q(n)}else var x=q(n);break;default:var x=8}if(14>>0)return ke(aPr);switch(x){case 0:return[0,t,Pn];case 1:return[2,d7(t,n)];case 2:return[2,t];case 3:var y=Ru(t,n),T=Zn(Kn),E=e2(t,T,n),h=E[1];return[1,h,Ei(h,y,E[2],T,0)];case 4:var w=Ru(t,n),G=Zn(Kn),A=j1(t,G,n),S=A[1];return[1,S,Ei(S,w,A[2],G,1)];case 5:return[0,t,98];case 6:return[0,t,R7];case 7:return[0,t,99];case 8:return[0,t,0];case 9:return[0,t,86];case 10:return[0,t,10];case 11:return[0,t,82];case 12:var M=Se(n),K=Ru(t,n),V=Zn(Kn),f0=Zn(Kn);_n(f0,M);var m0=qn(M,oPr)?0:1,k0=yL(t,m0,V,f0,n),g0=y7(k0,n);_n(f0,M);var e0=qt(V),x0=qt(f0);return[0,k0,[8,[0,k0[1],K,g0],e0,x0]];case 13:for(var l=n[6];;){gn(n);var c0=j(n),t0=In>>0)var a0=q(n);else switch(t0){case 0:var a0=1;break;case 1:var a0=2;break;case 2:var a0=0;break;default:if(B0(n,2),Gs(j(n))===0){var w0=R1(j(n));if(w0===0)if(Nn(j(n))===0&&Nn(j(n))===0)var _0=Nn(j(n))!==0?1:0,a0=_0&&q(n);else var a0=q(n);else if(w0===1&&Nn(j(n))===0)for(;;){var E0=N1(j(n));if(E0!==0){var X0=E0!==1?1:0,a0=X0&&q(n);break}}else var a0=q(n)}else var a0=q(n)}if(2>>0)throw[0,Sn,Swr];switch(a0){case 0:continue;case 1:break;default:if(iL(dr0(n)))continue;kr0(n,1)}var b=n[3];fL(n,l);var j0=Ll(n),X=Hl(t,l,b);return[0,t,[7,xL(j0),X]]}default:return[0,t,[6,Se(n)]]}}function Kee(t,n){gn(n);var e=j(n);if(-1>>0)var E=q(n);else switch(T){case 0:var E=5;break;case 1:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var E=q(n);break}}else var E=q(n);break;case 2:var E=0;break;case 3:B0(n,0);var h=fi(j(n))!==0?1:0,E=h&&q(n);break;case 4:B0(n,5);var w=k9(j(n)),E=w===0?3:w===1?2:q(n);break;default:var E=4}if(5>>0)return ke(iPr);switch(E){case 0:return[2,d7(t,n)];case 1:return[2,t];case 2:var G=Ru(t,n),A=Zn(Kn),S=e2(t,A,n),M=S[1];return[1,M,Ei(M,G,S[2],A,0)];case 3:var K=Ru(t,n),V=Zn(Kn),f0=j1(t,V,n),m0=f0[1];return[1,m0,Ei(m0,K,f0[2],V,1)];case 4:var k0=Ru(t,n),g0=Zn(Kn),e0=Zn(Kn),x0=Zn(Kn);_n(x0,fPr);var l=te0(t,g0,e0,x0,n),c0=l[1],t0=y7(c0,n),a0=[0,c0[1],k0,t0],w0=l[2],_0=qt(x0),E0=qt(e0);return[0,c0,[3,[0,a0,[0,qt(g0),E0,_0],w0]]];default:var X0=wi(t,nt(t,n));return[0,X0,[3,[0,nt(X0,n),xPr,1]]]}}function Wee(t,n){function e(D){for(;;)if(B0(D,29),yn(j(D))!==0)return q(D)}function i(D){B0(D,27);var u0=Ut(j(D));if(u0===0){for(;;)if(B0(D,25),yn(j(D))!==0)return q(D)}return u0===1?e(D):q(D)}function x(D){for(;;)if(B0(D,23),yn(j(D))!==0)return q(D)}function c(D){B0(D,22);var u0=Ut(j(D));if(u0===0){for(;;)if(B0(D,21),yn(j(D))!==0)return q(D)}return u0===1?x(D):q(D)}function s(D){for(;;)if(B0(D,23),yn(j(D))!==0)return q(D)}function p(D){B0(D,22);var u0=Ut(j(D));if(u0===0){for(;;)if(B0(D,21),yn(j(D))!==0)return q(D)}return u0===1?s(D):q(D)}function y(D){r:for(;;){if(ln(j(D))===0)for(;;){B0(D,24);var u0=qc(j(D));if(3>>0)return q(D);switch(u0){case 0:return s(D);case 1:continue;case 2:continue r;default:return p(D)}}return q(D)}}function T(D){B0(D,29);var u0=Hr0(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:var Y0=P1(j(D));if(Y0===0)for(;;){B0(D,24);var J0=Qv(j(D));if(2>>0)return q(D);switch(J0){case 0:return s(D);case 1:continue;default:return p(D)}}if(Y0===1)for(;;){B0(D,24);var fr=qc(j(D));if(3>>0)return q(D);switch(fr){case 0:return s(D);case 1:continue;case 2:return y(D);default:return p(D)}}return q(D);case 2:for(;;){B0(D,24);var Q0=Qv(j(D));if(2>>0)return q(D);switch(Q0){case 0:return x(D);case 1:continue;default:return c(D)}}default:for(;;){B0(D,24);var F0=qc(j(D));if(3>>0)return q(D);switch(F0){case 0:return x(D);case 1:continue;case 2:return y(D);default:return c(D)}}}}function E(D){for(;;){B0(D,30);var u0=Rs(j(D));if(4>>0)return q(D);switch(u0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:r:for(;;){if(ln(j(D))===0)for(;;){B0(D,30);var Y0=Rs(j(D));if(4>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:continue r;default:return i(D)}}return q(D)}default:return i(D)}}}function h(D){return ln(j(D))===0?E(D):q(D)}function w(D){for(;;)if(B0(D,19),yn(j(D))!==0)return q(D)}function G(D){for(;;)if(B0(D,19),yn(j(D))!==0)return q(D)}function A(D){B0(D,29);var u0=Or0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,20);var Y0=E9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return G(D);case 1:continue;case 2:r:for(;;){if(Nn(j(D))===0)for(;;){B0(D,20);var J0=E9(j(D));if(3>>0)return q(D);switch(J0){case 0:return w(D);case 1:continue;case 2:continue r;default:B0(D,18);var fr=Ut(j(D));if(fr===0){for(;;)if(B0(D,17),yn(j(D))!==0)return q(D)}return fr===1?w(D):q(D)}}return q(D)}default:B0(D,18);var Q0=Ut(j(D));if(Q0===0){for(;;)if(B0(D,17),yn(j(D))!==0)return q(D)}return Q0===1?G(D):q(D)}}return q(D)}function S(D){for(;;)if(B0(D,13),yn(j(D))!==0)return q(D)}function M(D){for(;;)if(B0(D,13),yn(j(D))!==0)return q(D)}function K(D){B0(D,29);var u0=Mr0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,14);var Y0=h9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return M(D);case 1:continue;case 2:r:for(;;){if(Vu(j(D))===0)for(;;){B0(D,14);var J0=h9(j(D));if(3>>0)return q(D);switch(J0){case 0:return S(D);case 1:continue;case 2:continue r;default:B0(D,12);var fr=Ut(j(D));if(fr===0){for(;;)if(B0(D,11),yn(j(D))!==0)return q(D)}return fr===1?S(D):q(D)}}return q(D)}default:B0(D,12);var Q0=Ut(j(D));if(Q0===0){for(;;)if(B0(D,11),yn(j(D))!==0)return q(D)}return Q0===1?M(D):q(D)}}return q(D)}function V(D){for(;;)if(B0(D,9),yn(j(D))!==0)return q(D)}function f0(D){for(;;)if(B0(D,9),yn(j(D))!==0)return q(D)}function m0(D){B0(D,29);var u0=Gr0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,10);var Y0=w9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return f0(D);case 1:continue;case 2:r:for(;;){if(Bc(j(D))===0)for(;;){B0(D,10);var J0=w9(j(D));if(3>>0)return q(D);switch(J0){case 0:return V(D);case 1:continue;case 2:continue r;default:B0(D,8);var fr=Ut(j(D));if(fr===0){for(;;)if(B0(D,7),yn(j(D))!==0)return q(D)}return fr===1?V(D):q(D)}}return q(D)}default:B0(D,8);var Q0=Ut(j(D));if(Q0===0){for(;;)if(B0(D,7),yn(j(D))!==0)return q(D)}return Q0===1?f0(D):q(D)}}return q(D)}function k0(D){B0(D,28);var u0=Ut(j(D));if(u0===0){for(;;)if(B0(D,26),yn(j(D))!==0)return q(D)}return u0===1?e(D):q(D)}function g0(D){B0(D,30);var u0=Qv(j(D));if(2>>0)return q(D);switch(u0){case 0:return e(D);case 1:for(;;){B0(D,30);var Y0=qc(j(D));if(3>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:r:for(;;){if(ln(j(D))===0)for(;;){B0(D,30);var J0=qc(j(D));if(3>>0)return q(D);switch(J0){case 0:return e(D);case 1:continue;case 2:continue r;default:return i(D)}}return q(D)}default:return i(D)}}default:return i(D)}}function e0(D){for(;;){B0(D,30);var u0=i9(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:return g0(D);case 2:continue;default:return k0(D)}}}function x0(D){for(;;)if(B0(D,15),yn(j(D))!==0)return q(D)}function l(D){B0(D,15);var u0=Ut(j(D));if(u0===0){for(;;)if(B0(D,15),yn(j(D))!==0)return q(D)}return u0===1?x0(D):q(D)}function c0(D){for(;;){B0(D,16);var u0=Xr0(j(D));if(4>>0)return q(D);switch(u0){case 0:return x0(D);case 1:return g0(D);case 2:continue;case 3:for(;;){B0(D,15);var Y0=i9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return x0(D);case 1:return g0(D);case 2:continue;default:return l(D)}}default:return l(D)}}}function t0(D){B0(D,30);var u0=Pr0(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:for(;;){B0(D,30);var Y0=Rs(j(D));if(4>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:r:for(;;){if(ln(j(D))===0)for(;;){B0(D,30);var J0=Rs(j(D));if(4>>0)return q(D);switch(J0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:continue r;default:return i(D)}}return q(D)}default:return i(D)}}case 2:return T(D);default:return i(D)}}function a0(D){B0(D,30);var u0=mL(j(D));if(8>>0)return q(D);switch(u0){case 0:return e(D);case 1:return t0(D);case 2:return c0(D);case 3:return e0(D);case 4:return m0(D);case 5:return T(D);case 6:return K(D);case 7:return A(D);default:return k0(D)}}function w0(D){r:for(;;){if(ln(j(D))===0)for(;;){B0(D,30);var u0=qr0(j(D));if(4>>0)return q(D);switch(u0){case 0:return e(D);case 1:return g0(D);case 2:continue;case 3:continue r;default:return k0(D)}}return q(D)}}function _0(D){for(;;){B0(D,30);var u0=o9(j(D));if(5>>0)return q(D);switch(u0){case 0:return e(D);case 1:return t0(D);case 2:continue;case 3:return T(D);case 4:return w0(D);default:return k0(D)}}}function E0(D){return B0(D,3),zr0(j(D))===0?3:q(D)}function X0(D){return _9(j(D))===0&&l9(j(D))===0&&Yr0(j(D))===0&&Lr0(j(D))===0&&Rr0(j(D))===0&&pL(j(D))===0&&Bl(j(D))===0&&_9(j(D))===0&&Gs(j(D))===0&&jr0(j(D))===0&&Ul(j(D))===0?3:q(D)}gn(n);var b=j(n),j0=tf>>0)var X=q(n);else switch(j0){case 0:var X=62;break;case 1:var X=63;break;case 2:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var X=q(n);break}}else var X=q(n);break;case 3:var X=0;break;case 4:B0(n,0);var s0=fi(j(n))!==0?1:0,X=s0&&q(n);break;case 5:var X=6;break;case 6:var X=61;break;case 7:if(B0(n,63),Bl(j(n))===0){var dr=j(n),Ar=c7>>0)var X=q(n);else switch(Lr){case 0:for(;;){var Tr=ql(j(n));if(3>>0)var X=q(n);else switch(Tr){case 0:continue;case 1:var X=h(n);break;case 2:var X=a0(n);break;default:var X=_0(n)}break}break;case 1:var X=h(n);break;case 2:var X=a0(n);break;default:var X=_0(n)}break;case 15:B0(n,41);var Hr=L1(j(n)),X=Hr===0?lL(j(n))===0?40:q(n):Hr===1?E(n):q(n);break;case 16:B0(n,63);var Or=k9(j(n));if(Or===0){B0(n,2);var xr=f9(j(n));if(2>>0)var X=q(n);else switch(xr){case 0:for(;;){var Rr=f9(j(n));if(2>>0)var X=q(n);else switch(Rr){case 0:continue;case 1:var X=E0(n);break;default:var X=X0(n)}break}break;case 1:var X=E0(n);break;default:var X=X0(n)}}else var X=Or===1?5:q(n);break;case 17:B0(n,30);var Wr=mL(j(n));if(8>>0)var X=q(n);else switch(Wr){case 0:var X=e(n);break;case 1:var X=t0(n);break;case 2:var X=c0(n);break;case 3:var X=e0(n);break;case 4:var X=m0(n);break;case 5:var X=T(n);break;case 6:var X=K(n);break;case 7:var X=A(n);break;default:var X=k0(n)}break;case 18:B0(n,30);var Jr=o9(j(n));if(5>>0)var X=q(n);else switch(Jr){case 0:var X=e(n);break;case 1:var X=t0(n);break;case 2:var X=_0(n);break;case 3:var X=T(n);break;case 4:var X=w0(n);break;default:var X=k0(n)}break;case 19:var X=44;break;case 20:var X=42;break;case 21:var X=49;break;case 22:B0(n,51);var or=j(n),_r=61>>0)return ke(RCr);var i0=X;if(32<=i0)switch(i0){case 34:return[0,t,0];case 35:return[0,t,1];case 36:return[0,t,2];case 37:return[0,t,3];case 38:return[0,t,4];case 39:return[0,t,5];case 40:return[0,t,12];case 41:return[0,t,10];case 42:return[0,t,8];case 43:return[0,t,9];case 45:return[0,t,83];case 49:return[0,t,98];case 50:return[0,t,99];case 53:return[0,t,Vt];case 55:return[0,t,89];case 56:return[0,t,91];case 57:return[0,t,11];case 59:return[0,t,c7];case 60:return[0,t,D7];case 61:var l0=n[6];Kr0(n);var S0=Hl(t,l0,n[3]);fL(n,l0);var T0=Ll(n),rr=re0(t,T0),R0=rr[2],B=rr[1],Z=Ee(R0,BCr);if(0<=Z){if(!(0>>0)return q(F0);switch(Sr){case 0:continue;case 1:r:for(;;){if(Bc(j(F0))===0)for(;;){var mr=t9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}gn(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(0,Se(u0))]:ke(LCr)});case 8:return[0,t,Hi(0,Se(n))];case 9:return Rt(t,n,function(D,u0){function Y0(F0){if(s9(j(F0))===0){if(Bc(j(F0))===0)for(;;){B0(F0,0);var Sr=n9(j(F0));if(Sr!==0){if(Sr===1)r:for(;;){if(Bc(j(F0))===0)for(;;){B0(F0,0);var mr=n9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}gn(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(0,Se(u0))]:ke(DCr)});case 10:return[0,t,Hc(0,Se(n))];case 11:return Rt(t,n,function(D,u0){function Y0(F0){if(p9(j(F0))===0){if(Vu(j(F0))===0)for(;;){var Sr=c9(j(F0));if(2>>0)return q(F0);switch(Sr){case 0:continue;case 1:r:for(;;){if(Vu(j(F0))===0)for(;;){var mr=c9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}gn(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(1,Se(u0))]:ke(PCr)});case 12:return[0,t,Hi(1,Se(n))];case 13:return Rt(t,n,function(D,u0){function Y0(F0){if(p9(j(F0))===0){if(Vu(j(F0))===0)for(;;){B0(F0,0);var Sr=a9(j(F0));if(Sr!==0){if(Sr===1)r:for(;;){if(Vu(j(F0))===0)for(;;){B0(F0,0);var mr=a9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}gn(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(3,Se(u0))]:ke(CCr)});case 14:return[0,t,Hc(3,Se(n))];case 15:return Rt(t,n,function(D,u0){function Y0(F0){if(Vu(j(F0))===0){for(;;)if(B0(F0,0),Vu(j(F0))!==0)return q(F0)}return q(F0)}gn(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(1,Se(u0))]:ke(NCr)});case 16:return[0,t,Hc(1,Se(n))];case 17:return Rt(t,n,function(D,u0){function Y0(F0){if(Qm(j(F0))===0){if(Nn(j(F0))===0)for(;;){var Sr=u9(j(F0));if(2>>0)return q(F0);switch(Sr){case 0:continue;case 1:r:for(;;){if(Nn(j(F0))===0)for(;;){var mr=u9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}gn(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(2,Se(u0))]:ke(ACr)});case 19:return Rt(t,n,function(D,u0){function Y0(F0){if(Qm(j(F0))===0){if(Nn(j(F0))===0)for(;;){B0(F0,0);var Sr=y9(j(F0));if(Sr!==0){if(Sr===1)r:for(;;){if(Nn(j(F0))===0)for(;;){B0(F0,0);var mr=y9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}gn(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(4,Se(u0))]:ke(ICr)});case 21:return Rt(t,n,function(D,u0){function Y0(d0){for(;;){var Kr=ki(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:continue;case 1:r:for(;;){if(ln(j(d0))===0)for(;;){var re=ki(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:continue r;default:return 0}}return q(d0)}default:return 0}}}function J0(d0){for(;;){var Kr=r2(j(d0));if(Kr!==0){var re=Kr!==1?1:0;return re&&q(d0)}}}function fr(d0){var Kr=S9(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:var re=P1(j(d0));return re===0?J0(d0):re===1?Y0(d0):q(d0);case 1:return J0(d0);default:return Y0(d0)}}function Q0(d0){if(ln(j(d0))===0)for(;;){var Kr=i7(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:continue;case 1:return fr(d0);default:r:for(;;){if(ln(j(d0))===0)for(;;){var re=i7(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:return fr(d0);default:continue r}}return q(d0)}}}return q(d0)}function F0(d0){var Kr=m9(j(d0));if(Kr===0)for(;;){var re=i7(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:return fr(d0);default:r:for(;;){if(ln(j(d0))===0)for(;;){var xe=i7(j(d0));if(2>>0)return q(d0);switch(xe){case 0:continue;case 1:return fr(d0);default:continue r}}return q(d0)}}}return Kr===1?fr(d0):q(d0)}function Sr(d0){var Kr=e9(j(d0));return Kr===0?F0(d0):Kr===1?fr(d0):q(d0)}function mr(d0){for(;;){var Kr=b9(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:return F0(d0);case 1:continue;default:return fr(d0)}}}gn(u0);var Cr=x9(j(u0));if(3>>0)var sr=q(u0);else switch(Cr){case 0:for(;;){var Pr=ql(j(u0));if(3>>0)var sr=q(u0);else switch(Pr){case 0:continue;case 1:var sr=Q0(u0);break;case 2:var sr=Sr(u0);break;default:var sr=mr(u0)}break}break;case 1:var sr=Q0(u0);break;case 2:var sr=Sr(u0);break;default:var sr=mr(u0)}if(sr===0){var K0=Se(u0),Ur=ju(D,nt(D,u0),23);return[0,Ur,Hi(2,K0)]}return ke(OCr)});case 22:var Y=Se(n),y0=ju(t,nt(t,n),23);return[0,y0,Hi(2,Y)];case 23:return Rt(t,n,function(D,u0){function Y0(K0){for(;;){B0(K0,0);var Ur=js(j(K0));if(Ur!==0){if(Ur===1)r:for(;;){if(ln(j(K0))===0)for(;;){B0(K0,0);var d0=js(j(K0));if(d0!==0){if(d0===1)continue r;return q(K0)}}return q(K0)}return q(K0)}}}function J0(K0){for(;;)if(B0(K0,0),ln(j(K0))!==0)return q(K0)}function fr(K0){var Ur=S9(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:var d0=P1(j(K0));return d0===0?J0(K0):d0===1?Y0(K0):q(K0);case 1:return J0(K0);default:return Y0(K0)}}function Q0(K0){if(ln(j(K0))===0)for(;;){var Ur=i7(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:continue;case 1:return fr(K0);default:r:for(;;){if(ln(j(K0))===0)for(;;){var d0=i7(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:return fr(K0);default:continue r}}return q(K0)}}}return q(K0)}function F0(K0){var Ur=m9(j(K0));if(Ur===0)for(;;){var d0=i7(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:return fr(K0);default:r:for(;;){if(ln(j(K0))===0)for(;;){var Kr=i7(j(K0));if(2>>0)return q(K0);switch(Kr){case 0:continue;case 1:return fr(K0);default:continue r}}return q(K0)}}}return Ur===1?fr(K0):q(K0)}function Sr(K0){var Ur=e9(j(K0));return Ur===0?F0(K0):Ur===1?fr(K0):q(K0)}function mr(K0){for(;;){var Ur=b9(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:return F0(K0);case 1:continue;default:return fr(K0)}}}gn(u0);var Cr=x9(j(u0));if(3>>0)var sr=q(u0);else switch(Cr){case 0:for(;;){var Pr=ql(j(u0));if(3>>0)var sr=q(u0);else switch(Pr){case 0:continue;case 1:var sr=Q0(u0);break;case 2:var sr=Sr(u0);break;default:var sr=mr(u0)}break}break;case 1:var sr=Q0(u0);break;case 2:var sr=Sr(u0);break;default:var sr=mr(u0)}return sr===0?[0,D,Hc(4,Se(u0))]:ke(TCr)});case 25:return Rt(t,n,function(D,u0){function Y0(K0){for(;;){var Ur=ki(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:continue;case 1:r:for(;;){if(ln(j(K0))===0)for(;;){var d0=ki(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:continue r;default:return 0}}return q(K0)}default:return 0}}}function J0(K0){return ln(j(K0))===0?Y0(K0):q(K0)}function fr(K0){var Ur=r2(j(K0));if(Ur===0)return Y0(K0);var d0=Ur!==1?1:0;return d0&&q(K0)}function Q0(K0){for(;;){var Ur=L1(j(K0));if(Ur===0)return fr(K0);if(Ur!==1)return q(K0)}}function F0(K0){for(;;){var Ur=Uc(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:return fr(K0);case 1:continue;default:r:for(;;){if(ln(j(K0))===0)for(;;){var d0=Uc(j(K0));if(2>>0)return q(K0);switch(d0){case 0:return fr(K0);case 1:continue;default:continue r}}return q(K0)}}}}gn(u0);var Sr=x9(j(u0));if(3>>0)var mr=q(u0);else switch(Sr){case 0:for(;;){var Cr=ql(j(u0));if(3>>0)var mr=q(u0);else switch(Cr){case 0:continue;case 1:var mr=J0(u0);break;case 2:var mr=Q0(u0);break;default:var mr=F0(u0)}break}break;case 1:var mr=J0(u0);break;case 2:var mr=Q0(u0);break;default:var mr=F0(u0)}if(mr===0){var sr=Se(u0),Pr=ju(D,nt(D,u0),22);return[0,Pr,Hi(2,sr)]}return ke(FCr)});case 26:return Rt(t,n,function(D,u0){function Y0(mr){for(;;){var Cr=r2(j(mr));if(Cr!==0){var sr=Cr!==1?1:0;return sr&&q(mr)}}}function J0(mr){for(;;){var Cr=ki(j(mr));if(2>>0)return q(mr);switch(Cr){case 0:continue;case 1:r:for(;;){if(ln(j(mr))===0)for(;;){var sr=ki(j(mr));if(2>>0)return q(mr);switch(sr){case 0:continue;case 1:continue r;default:return 0}}return q(mr)}default:return 0}}}gn(u0);var fr=j(u0),Q0=44>>0)var F0=q(u0);else switch(Q0){case 0:for(;;){var Sr=Ur0(j(u0));if(2>>0)var F0=q(u0);else switch(Sr){case 0:continue;case 1:var F0=Y0(u0);break;default:var F0=J0(u0)}break}break;case 1:var F0=Y0(u0);break;default:var F0=J0(u0)}return F0===0?[0,D,Hi(2,Se(u0))]:ke(gCr)});case 27:var D0=Se(n),I0=ju(t,nt(t,n),22);return[0,I0,Hi(2,D0)];case 29:return Rt(t,n,function(D,u0){function Y0(re){for(;;){B0(re,0);var xe=js(j(re));if(xe!==0){if(xe===1)r:for(;;){if(ln(j(re))===0)for(;;){B0(re,0);var je=js(j(re));if(je!==0){if(je===1)continue r;return q(re)}}return q(re)}return q(re)}}}function J0(re){return B0(re,0),ln(j(re))===0?Y0(re):q(re)}gn(u0);var fr=x9(j(u0));if(3>>0)var Q0=q(u0);else switch(fr){case 0:for(;;){var F0=Ur0(j(u0));if(2>>0)var Q0=q(u0);else switch(F0){case 0:continue;case 1:for(;;){B0(u0,0);var Sr=L1(j(u0)),mr=Sr!==0?1:0;if(mr){if(Sr===1)continue;var Q0=q(u0)}else var Q0=mr;break}break;default:for(;;){B0(u0,0);var Cr=Uc(j(u0));if(2>>0)var Q0=q(u0);else switch(Cr){case 0:var Q0=0;break;case 1:continue;default:r:for(;;){if(ln(j(u0))===0)for(;;){B0(u0,0);var sr=Uc(j(u0));if(2>>0)var Pr=q(u0);else switch(sr){case 0:var Pr=0;break;case 1:continue;default:continue r}break}else var Pr=q(u0);var Q0=Pr;break}}break}}break}break;case 1:var Q0=ln(j(u0))===0?Y0(u0):q(u0);break;case 2:for(;;){B0(u0,0);var K0=L1(j(u0));if(K0===0)var Q0=J0(u0);else{if(K0===1)continue;var Q0=q(u0)}break}break;default:for(;;){B0(u0,0);var Ur=Uc(j(u0));if(2>>0)var Q0=q(u0);else switch(Ur){case 0:var Q0=J0(u0);break;case 1:continue;default:r:for(;;){if(ln(j(u0))===0)for(;;){B0(u0,0);var d0=Uc(j(u0));if(2>>0)var Kr=q(u0);else switch(d0){case 0:var Kr=J0(u0);break;case 1:continue;default:continue r}break}else var Kr=q(u0);var Q0=Kr;break}}break}}return Q0===0?[0,D,Hc(4,Se(u0))]:ke(SCr)});case 31:return[0,t,66];case 18:case 28:return[0,t,Hi(2,Se(n))];default:return[0,t,Hc(4,Se(n))]}}function Xl(t){return function(n){for(var e=0,i=n;;){var x=a(t,i,i[2]);switch(x[0]){case 0:var c=x[2],s=x[1],p=Wr0(s,c),y=e===0?0:de(e),T=s[6];if(T===0)return[0,[0,s[1],s[2],s[3],s[4],s[5],s[6],p],[0,c,p,0,y]];var E=[0,c,p,de(T),y];return[0,[0,s[1],s[2],s[3],s[4],s[5],wr0,p],E];case 1:var h=x[2],w=x[1],e=[0,h,e],i=[0,w[1],w[2],w[3],w[4],w[5],w[6],h[1]];continue;default:var i=x[1];continue}}}}var Jee=Xl(Vee),$ee=Xl(zee),Zee=Xl(Kee),Qee=Xl(Wee),rne=Xl(Yee),Gu=uL([0,dz]);function Yl(t,n){return[0,0,0,n,Er0(t)]}function F9(t){var n=t[4];switch(t[3]){case 0:var c0=u(rne,n);break;case 1:var c0=u(Qee,n);break;case 2:var c0=u($ee,n);break;case 3:var e=y7(n,n[2]),i=Zn(Kn),x=Zn(Kn),c=n[2];gn(c);var s=j(c),p=us>>0)var y=q(c);else switch(p){case 0:var y=1;break;case 1:var y=4;break;case 2:var y=0;break;case 3:B0(c,0);var T=fi(j(c))!==0?1:0,y=T&&q(c);break;case 4:var y=2;break;default:var y=3}if(4>>0)var E=ke(ECr);else switch(y){case 0:var h=Se(c);_n(x,h),_n(i,h);var w=yL(d7(n,c),2,i,x,c),G=y7(w,c),A=qt(i),S=qt(x),E=[0,w,[8,[0,w[1],e,G],A,S]];break;case 1:var E=[0,n,Pn];break;case 2:var E=[0,n,98];break;case 3:var E=[0,n,0];break;default:$v(c);var M=yL(n,2,i,x,c),K=y7(M,c),V=qt(i),f0=qt(x),E=[0,M,[8,[0,M[1],e,K],V,f0]]}var m0=E[2],k0=E[1],g0=Wr0(k0,m0),e0=k0[6];if(e0===0)var l=[0,k0,[0,m0,g0,0,0]];else var x0=[0,m0,g0,de(e0),0],l=[0,[0,k0[1],k0[2],k0[3],k0[4],k0[5],0,k0[7]],x0];var c0=l;break;case 4:var c0=u(Zee,n);break;default:var c0=u(Jee,n)}var t0=c0[1],a0=Er0(t0),w0=[0,a0,c0[2]];return t[4]=t0,t[1]?t[2]=[0,w0]:t[1]=[0,w0],w0}function ue0(t){var n=t[1];return n?n[1][2]:F9(t)[2]}function ene(t,n,e,i){var x=t&&t[1],c=n&&n[1];try{var s=0,p=hr0(i),y=s,T=p}catch(A){if(A=gt(A),A!==A1)throw A;var E=[0,[0,[0,e,fz[2],fz[3]],86],0],y=E,T=hr0(nGr)}var h=c?c[1]:Bv,w=Xee(e,T,h[4]),G=[0,Yl(w,0)];return[0,[0,y],[0,0],Gu[1],[0,0],h[5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,[0,uGr],[0,w],G,[0,x],h,e,[0,0],[0,tGr]]}function n2(t){return bl(t[23][1])}function fu(t){return t[27][4]}function ue(t,n){var e=n[2];t[1][1]=[0,[0,n[1],e],t[1][1]];var i=t[22];return i&&a(i[1],t,e)}function Vl(t,n){return t[30][1]=n,0}function Ms(t,n){if(t===0)return ue0(n[25][1]);if(t===1){var e=n[25][1];e[1]||F9(e);var i=e[2];return i?i[1][2]:F9(e)[2]}throw[0,Sn,Qjr]}function ys(t,n){return t===n[5]?n:[0,n[1],n[2],n[3],n[4],t,n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function dL(t,n){return t===n[17]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],t,n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function ie0(t,n){return t===n[18]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],t,n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function fe0(t,n){return t===n[19]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],t,n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function t2(t,n){return t===n[21]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],t,n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function T9(t,n){return t===n[14]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],t,n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function zl(t,n){return t===n[8]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],t,n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function Kl(t,n){return t===n[12]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],t,n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function u2(t,n){return t===n[15]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],t,n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function xe0(t,n){return t===n[6]?n:[0,n[1],n[2],n[3],n[4],n[5],t,n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function ae0(t,n){return t===n[7]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],t,n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function hL(t,n){return t===n[13]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],t,n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function O9(t,n){return[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],[0,t],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function kL(t){function n(e){return ue(t,e)}return function(e){return Pu(n,e)}}function i2(t){var n=t[4][1],e=n&&[0,n[1][2]];return e}function oe0(t){var n=t[4][1],e=n&&[0,n[1][1]];return e}function ce0(t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],0,t[23],t[24],t[25],t[26],t[27],t[28],t[29],t[30]]}function se0(t,n,e,i){return[0,t[1],t[2],Gu[1],t[4],t[5],0,0,0,0,0,1,t[12],t[13],t[14],t[15],t[16],e,n,t[19],i,t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29],t[30]]}function ve0(t){var n=Ee(t,djr),e=0;if(0<=n){if(0>>0){if(!(F7<(i+1|0)>>>0))return 1}else{var x=i!==6?1:0;if(!x)return x}}return Jl(t,n)}function x2(t){return me0(0,t)}function A9(t,n){var e=Vn(t,n);if(EL(e)||wL(e)||le0(e))return 1;var i=0;if(typeof e=="number")switch(e){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:i=1;break}else e[0]===4&&(i=1);return i?1:0}function _e0(t,n){var e=n2(n);if(e===1){var i=Vn(t,n);return typeof i!="number"&&i[0]===4?1:0}if(e)return 0;var x=Vn(t,n);if(typeof x=="number")switch(x){case 42:case 46:case 47:return 0;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:break;default:return 0}else switch(x[0]){case 4:if(be0(x[3]))return 0;break;case 9:case 10:case 11:break;default:return 0}return 1}function M1(t){return A9(0,t)}function qs(t){var n=A0(t)===15?1:0;if(n)var e=n;else{var i=A0(t)===64?1:0;if(i){var x=Vn(1,t)===15?1:0;if(x)var c=Wl(1,t)[2][1],e=De(t)[3][1]===c?1:0;else var e=x}else var e=i}return e}function $l(t){var n=A0(t);if(typeof n=="number"){var e=0;if((n===13||n===40)&&(e=1),e)return 1}return 0}function Ge(t,n){return ue(t,[0,De(t),n])}function ye0(t,n){if(wL(n))return 2;if(EL(n))return 55;var e=vL(0,n);return t?[11,e,t[1]]:[10,e]}function Ft(t,n){var e=gL(n);return u(kL(n),e),Ge(n,ye0(t,A0(n)))}function N9(t){function n(e){return ue(t,[0,e[1],76])}return function(e){return Pu(n,e)}}function de0(t,n){var e=t[6]?ur(et(RRr),n,n,n):jRr;return Ft([0,e],t)}function Si(t,n){var e=t[5];return e&&Ge(t,n)}function Y7(t,n){var e=t[5];return e&&ue(t,[0,n[1],n[2]])}function B1(t,n){return ue(t,[0,n,[18,t[5]]])}function ie(t){var n=t[26][1];if(n){var e=n2(t),i=A0(t),x=[0,De(t),i,e];u(n[1],x)}var c=t[25][1],s=c[1],p=s?s[1][1]:F9(c)[1];t[24][1]=p;var y=gL(t);u(kL(t),y);var T=t[2][1],E=jc(Ms(0,t)[4],T);t[2][1]=E;var h=[0,Ms(0,t)];t[4][1]=h;var w=t[25][1];return w[2]?(w[1]=w[2],w[2]=0,0):(ue0(w),w[1]=0,0)}function xu(t,n){var e=a(aL,A0(t),n);return e&&ie(t),e}function zu(t,n){t[23][1]=[0,n,t[23][1]];var e=n2(t),i=Yl(t[24][1],e);return t[25][1]=i,0}function h7(t){var n=t[23][1],e=n?n[2]:ke(LRr);t[23][1]=e;var i=n2(t),x=Yl(t[24][1],i);return t[25][1]=x,0}function we(t){var n=De(t);if(A0(t)===9&&Jl(1,t)){var e=pr(t),i=Ms(1,t)[4],x=un(e,u(ml(function(s){return s[1][2][1]<=n[3][1]?1:0}),i));return Vl(t,[0,n[3][1]+1|0,0]),x}var c=pr(t);return Vl(t,n[3]),c}function Us(t){var n=t[4][1];if(n){var e=n[1][2],i=pr(t),x=u(ml(function(p){return p[1][2][1]<=e[3][1]?1:0}),i);Vl(t,[0,e[3][1]+1|0,0]);var c=x}else var c=n;return c}function q1(t,n){return Ft([0,vL(NRr,n)],t)}function V0(t,n){return 1-a(aL,A0(t),n)&&q1(t,n),ie(t)}function he0(t,n){var e=xu(t,n);return 1-e&&q1(t,n),e}function Zl(t,n){var e=A0(t),i=0;return typeof e!="number"&&e[0]===4&&qn(e[3],n)&&(i=1),i||Ft([0,u(et(ARr),n)],t),ie(t)}var Hs=[Et,iGr,G7(0)];function nne(t){var n=t[26][1];if(n){var e=kz(0),i=[0,function(s){return vN(s,e)}];t[26][1]=i;var x=[0,[0,n[1],e]]}else var x=n;return[0,t[1][1],t[2][1],t[4][1],t[23][1],t[24][1],t[30][1],x]}function ke0(t,n,e){if(e){var i=e[1],x=i[1];if(n[26][1]=[0,x],t)for(var c=i[2][2];;){if(c){var s=c[2];u(x,c[1]);var c=s;continue}return 0}var p=t}else var p=e;return p}function tne(t,n){ke0(0,t,n[7]),t[1][1]=n[1],t[2][1]=n[2],t[4][1]=n[3],t[23][1]=n[4],t[24][1]=n[5],t[30][1]=n[6];var e=n2(t),i=Yl(t[24][1],e);return t[25][1]=i,0}function une(t,n,e){return ke0(1,t,n[7]),[0,e]}function FL(t,n){var e=nne(t);try{var i=une(t,e,u(n,t));return i}catch(x){if(x=gt(x),x===Hs)return tne(t,e);throw x}}function we0(t,n,e){var i=FL(t,e);return i?i[1]:n}function Ql(t,n){var e=de(n);if(e){var i=e[1],x=u(t,i);return i===x?n:de([0,x,e[2]])}return n}var Ee0=jp(cGr,function(t){var n=RN(t,xGr),e=DN(t,oGr),i=e[22],x=e[26],c=e[35],s=e[77],p=e[cV],y=e[OO],T=e[sp],E=e[HO],h=e[Bd],w=e[eT],G=e[6],A=e[7],S=e[10],M=e[17],K=e[21],V=e[27],f0=e[33],m0=e[36],k0=e[46],g0=e[51],e0=e[89],x0=e[92],l=e[97],c0=e[99],t0=e[ni],a0=e[Pn],w0=e[Sv],_0=e[Jw],E0=e[Qg],X0=e[gH],b=e[MX],j0=e[fH],X=e[NH],s0=e[Sd],dr=e[PF],Ar=e[Zg],ar=e[N6],W0=e[Lw],Lr=e[aA],Tr=e[tk],Hr=e[wT],Or=e[mO],xr=e[f6],Rr=e[TT],Wr=e[l8],Jr=e[$2],or=GN(t,0,0,xz,$D,1)[1];function _r(H0,Fr,_){var k=_[2],I=k[2],U=k[1],Y=_[1];if(I){var y0=function(D){return[0,Y,[0,U,[0,D]]]},D0=I[1];return ee(u(H0[1][1+y],H0),D0,_,y0)}function I0(D){return[0,Y,[0,D,I]]}return ee(a(H0[1][1+G],H0,Fr),U,_,I0)}function Ir(H0,Fr,_){var k=_[2],I=_[1],U=I[3],Y=I[2];if(U)var y0=Ql(u(H0[1][1+x],H0),U),D0=Y;else var y0=0,D0=a(H0[1][1+x],H0,Y);var I0=a(H0[1][1+c],H0,k);return Y===D0&&U===y0&&k===I0?_:[0,[0,I[1],D0,y0],I0]}function fe(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function v0(H0,Fr,_){function k(U){return[0,_[1],_[2],U]}var I=_[3];return ee(u(H0[1][1+c],H0),I,_,k)}function P(H0,Fr){function _(I){return[0,Fr[1],I]}var k=Fr[2];return ee(u(H0[1][1+c],H0),k,Fr,_)}function L(H0,Fr,_){function k(U){return[0,_[1],_[2],U]}var I=_[3];return ee(u(H0[1][1+c],H0),I,_,k)}function Q(H0,Fr,_){var k=_[2],I=_[1],U=Ql(u(H0[1][1+y],H0),I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,U,Y]}function i0(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function l0(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function S0(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function T0(H0,Fr,_){var k=_[3],I=_[2],U=a(H0[1][1+l],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],U,Y]}function rr(H0,Fr,_){var k=_[4],I=_[3],U=_[2],Y=_[1],y0=a(H0[1][1+c],H0,k);if(I){var D0=Ve(u(H0[1][1+w],H0),I);return I===D0&&k===y0?_:[0,_[1],_[2],D0,y0]}if(U){var I0=Ve(u(H0[1][1+h],H0),U);return U===I0&&k===y0?_:[0,_[1],I0,_[3],y0]}var D=a(H0[1][1+y],H0,Y);return Y===D&&k===y0?_:[0,D,_[2],_[3],y0]}function R0(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function B(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function Z(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function p0(H0,Fr,_){var k=_[2],I=_[1],U=I[3],Y=I[2];if(U)var y0=Ql(u(H0[1][1+x],H0),U),D0=Y;else var y0=0,D0=a(H0[1][1+x],H0,Y);var I0=a(H0[1][1+c],H0,k);return Y===D0&&U===y0&&k===I0?_:[0,[0,I[1],D0,y0],I0]}function b0(H0,Fr,_){var k=_[3],I=_[1],U=mu(u(H0[1][1+s],H0),I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,U,_[2],Y]}function O0(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function q0(H0,Fr){if(Fr[0]===0){var _=function(D0){return[0,D0]},k=Fr[1];return ee(u(H0[1][1+p],H0),k,Fr,_)}var I=Fr[1],U=I[2],Y=U[2],y0=a(H0[1][1+p],H0,Y);return Y===y0?Fr:[1,[0,I[1],[0,U[1],y0]]]}function er(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+x],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function yr(H0,Fr){var _=Fr[2],k=Fr[1];function I(Y){return[0,k,[0,_[1],_[2],_[3],Y]]}var U=_[4];return ee(u(H0[1][1+c],H0),U,[0,k,_],I)}function vr(H0,Fr,_){var k=_[9],I=_[3],U=a(H0[1][1+s0],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,_[4],_[5],_[6],_[7],_[8],Y,_[10]]}function $0(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function Er(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function Mr(H0,Fr){var _=Fr[2],k=_[2],I=_[1],U=Fr[1];if(k===0){var Y=function(I0){return[0,U,[0,I0,k]]};return ee(u(H0[1][1+p],H0),I,Fr,Y)}function y0(I0){return[0,U,[0,I,I0]]}var D0=u(H0[1][1+i],H0);return ee(function(I0){return Ve(D0,I0)},k,Fr,y0)}function Br(H0,Fr){var _=Fr[2],k=_[2],I=Fr[1];function U(D0){return[0,I,[0,D0,k]]}var Y=_[1],y0=u(H0[1][1+T],H0);return ee(function(D0){return Ql(y0,D0)},Y,Fr,U)}function qr(H0,Fr,_){var k=_[2];if(k===0){var I=function(D0){return[0,D0,_[2],_[3]]},U=_[1];return ee(u(H0[1][1+y],H0),U,_,I)}function Y(D0){return[0,_[1],D0,_[3]]}var y0=u(H0[1][1+i],H0);return ee(function(D0){return Ve(y0,D0)},k,_,Y)}function jr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function $r(H0,Fr,_){var k=_[7],I=_[2],U=a(H0[1][1+E],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],U,_[3],_[4],_[5],_[6],Y]}function ne(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function Qr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function be(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+w],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function oe(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function pe(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function ae(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function ce(H0,Fr){function _(I){return[0,Fr[1],I]}var k=Fr[2];return ee(u(H0[1][1+c],H0),k,Fr,_)}function ge(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}return BN(t,[0,m0,function(H0,Fr){var _=Fr[2],k=u(ml(function(U){return ms(U[1][2],H0[1+n])<0?1:0}),_),I=Rc(k);return Rc(_)===I?Fr:[0,Fr[1],k,Fr[3]]},Jr,ge,Wr,ce,Rr,ae,xr,pe,Or,oe,Hr,be,w,Qr,h,ne,Tr,$r,E,jr,Lr,qr,W0,Br,T,Mr,ar,Er,Ar,$0,dr,vr,X,yr,j0,er,b,q0,X0,O0,E0,b0,_0,p0,w0,Z,a0,B,t0,R0,x0,rr,c0,T0,e0,S0,s,l0,g0,i0,k0,Q,f0,L,V,P,K,v0,M,fe,S,Ir,A,_r]),function(H0,Fr,_){var k=Gp(Fr,t);return k[1+n]=_,u(or,k),MN(Fr,k,t)}});function C9(t){var n=i2(t);if(n)var e=n[1],i=pe0(t)?(Vl(t,e[3]),[0,a(Ee0[1],0,e[3])]):0,x=i;else var x=n;return[0,0,function(c,s){return x?a(s,x[1],c):c}]}function rb(t){var n=i2(t);if(n){var e=n[1];if(pe0(t)){Vl(t,e[3]);var i=Us(t),x=[0,a(Ee0[1],0,[0,e[3][1]+1|0,0])],c=i}else var x=0,c=Us(t)}else var x=0,c=0;return[0,c,function(s,p){return x?a(p,x[1],s):s}]}function $t(t){return f7(t)?rb(t):C9(t)}function ds(t,n){var e=$t(t);function i(x,c){return a(Ze(x,Nv,27),x,c)}return a(e[2],n,i)}function xi(t,n){if(n)var e=$t(t),i=function(c,s){return a(Ze(c,_F,30),c,s)},x=[0,a(e[2],n[1],i)];else var x=n;return x}function a2(t,n){var e=$t(t);function i(x,c){return a(Ze(x,-983660142,32),x,c)}return a(e[2],n,i)}function eb(t,n){var e=$t(t);function i(x,c){return a(Ze(x,-455772979,33),x,c)}return a(e[2],n,i)}function Se0(t,n){if(n)var e=$t(t),i=function(c,s){return a(Ze(c,FH,34),c,s)},x=[0,a(e[2],n[1],i)];else var x=n;return x}function Xi(t,n){var e=$t(t);function i(x,c){return a(Ze(x,VY,35),x,c)}return a(e[2],n,i)}function ge0(t,n){var e=$t(t);function i(x,c){var s=u(Ze(x,tH,37),x);return Ql(function(p){return mu(s,p)},c)}return a(e[2],n,i)}function Fe0(t,n){var e=$t(t);function i(x,c){return a(Ze(x,-21476009,38),x,c)}return a(e[2],n,i)}jp(sGr,function(t){var n=RN(t,fGr),e=jN(aGr),i=e.length-1,x=az.length-1,c=Gv(i+x|0,0),s=i-1|0,p=0;if(!(s<0))for(var y=p;;){var T=Fl(t,tu(e,y)[1+y]);tu(c,y)[1+y]=T;var E=y+1|0;if(s!==y){var y=E;continue}break}var h=x-1|0,w=0;if(!(h<0))for(var G=w;;){var A=G+i|0,S=RN(t,tu(az,G)[1+G]);tu(c,A)[1+A]=S;var M=G+1|0;if(h!==G){var G=M;continue}break}var K=c[4],V=c[5],f0=c[d6],m0=c[sp],k0=c[ih],g0=c[gv],e0=c[38],x0=c[dT],l=c[Wy],c0=GN(t,0,0,xz,$D,1)[1];function t0(b,j0,X){return a(b[1][1+f0],b,X[2]),X}function a0(b,j0){return a(b[1][1+m0],b,j0),j0}function w0(b,j0){var X=j0[1],s0=b[1+g0];if(s0){var dr=ms(s0[1][1][2],X[2])<0?1:0,Ar=dr&&(b[1+g0]=[0,j0],0);return Ar}var ar=0<=ms(X[2],b[1+n][3])?1:0,W0=ar&&(b[1+g0]=[0,j0],0);return W0}function _0(b,j0){var X=j0[1],s0=b[1+k0];if(s0){var dr=ms(X[2],s0[1][1][2])<0?1:0,Ar=dr&&(b[1+k0]=[0,j0],0);return Ar}var ar=ms(X[2],b[1+n][2])<0?1:0,W0=ar&&(b[1+k0]=[0,j0],0);return W0}function E0(b,j0){return j0&&a(b[1][1+m0],b,j0[1])}function X0(b,j0){var X=j0[1];Pu(u(b[1][1+V],b),X);var s0=j0[2];return Pu(u(b[1][1+K],b),s0)}return BN(t,[0,x0,function(b){return[0,b[1+k0],b[1+g0]]},m0,X0,f0,E0,V,_0,K,w0,e0,a0,l,t0]),function(b,j0,X){var s0=Gp(j0,t);return s0[1+n]=X,u(c0,s0),s0[1+k0]=0,s0[1+g0]=0,MN(j0,s0,t)}});function Te0(t){return t===3?2:(4<=t,1)}function TL(t,n,e){if(e){var i=e[1],x=0;if(i===8232||Uu===i)x=1;else if(i===10)var s=6;else if(i===13)var s=5;else if(ow<=i)var s=3;else if(Vd<=i)var s=2;else var c=Mt<=i?1:0,s=c&&1;if(x)var s=7;var p=s}else var p=4;return[0,p,t]}var ine=[Et,mGr,G7(0)];function Oe0(t,n,e,i){try{var x=tu(t,n)[1+n];return x}catch(c){throw c=gt(c),c[1]===eN?[0,ine,e,ur(et(bGr),i,n,t.length-1)]:c}}function P9(t,n){if(n[1]===0&&n[2]===0)return 0;var e=Oe0(t,n[1]-1|0,n,vGr);return Oe0(e,n[2],n,lGr)}var fne=Ee;function xne(t,n){return a(f(t),HWr,n)}u(uL([0,fne])[33],xne);function Ie0(t){var n=A0(t),e=0;if(typeof n=="number")switch(n){case 15:var i=XWr;break;case 16:var i=YWr;break;case 17:var i=VWr;break;case 18:var i=zWr;break;case 19:var i=KWr;break;case 20:var i=WWr;break;case 21:var i=JWr;break;case 22:var i=$Wr;break;case 23:var i=ZWr;break;case 24:var i=QWr;break;case 25:var i=rJr;break;case 26:var i=eJr;break;case 27:var i=nJr;break;case 28:var i=tJr;break;case 29:var i=uJr;break;case 30:var i=iJr;break;case 31:var i=fJr;break;case 32:var i=xJr;break;case 33:var i=aJr;break;case 34:var i=oJr;break;case 35:var i=cJr;break;case 36:var i=sJr;break;case 37:var i=vJr;break;case 38:var i=lJr;break;case 39:var i=bJr;break;case 40:var i=pJr;break;case 41:var i=mJr;break;case 42:var i=_Jr;break;case 43:var i=yJr;break;case 44:var i=dJr;break;case 45:var i=hJr;break;case 46:var i=kJr;break;case 47:var i=wJr;break;case 48:var i=EJr;break;case 49:var i=SJr;break;case 50:var i=gJr;break;case 51:var i=FJr;break;case 52:var i=TJr;break;case 53:var i=OJr;break;case 54:var i=IJr;break;case 55:var i=AJr;break;case 56:var i=NJr;break;case 57:var i=CJr;break;case 58:var i=PJr;break;case 59:var i=DJr;break;case 60:var i=LJr;break;case 61:var i=RJr;break;case 62:var i=jJr;break;case 63:var i=GJr;break;case 64:var i=MJr;break;case 65:var i=BJr;break;case 114:var i=qJr;break;case 115:var i=UJr;break;case 116:var i=HJr;break;case 117:var i=XJr;break;case 118:var i=YJr;break;case 119:var i=VJr;break;case 120:var i=zJr;break;case 121:var i=KJr;break;default:e=1}else switch(n[0]){case 4:var i=n[2];break;case 9:var i=n[1]?WJr:JJr;break;default:e=1}if(e){Ft($Jr,t);var i=ZJr}return ie(t),i}function V7(t){var n=De(t),e=pr(t),i=Ie0(t);return[0,n,[0,i,lr([0,e],[0,we(t)],0)]]}function Ae0(t){var n=De(t),e=pr(t);V0(t,14);var i=De(t),x=Ie0(t),c=lr([0,e],[0,we(t)],0),s=yt(n,i),p=i[2],y=n[3],T=y[1]===p[1]?1:0,E=T&&(y[2]===p[2]?1:0);return 1-E&&ue(t,[0,s,L7]),[0,s,[0,x,c]]}function U1(t){var n=t[2],e=n[3]===0?1:0;if(e)for(var i=n[2];;){if(i){var x=i[1][2],c=0,s=i[2];if(x[1][2][0]===2&&!x[2]){var p=1;c=1}if(!c)var p=0;if(p){var i=s;continue}return p}return 1}return e}function nb(t){for(var n=t;;){var e=n[2];if(e[0]===27){var i=e[1][2];if(i[2][0]===23)return 1;var n=i;continue}return 0}}function cr(t,n,e){var i=t?t[1]:De(e),x=u(n,e),c=i2(e),s=c?yt(i,c[1]):i;return[0,s,x]}function OL(t,n,e){var i=cr(t,n,e),x=i[2];return[0,[0,i[1],x[1]],x[2]]}function ane(t){function n(B){var Z=De(B),p0=A0(B);if(typeof p0=="number"){if(c7===p0){var b0=pr(B);return ie(B),[0,[0,Z,[0,0,lr([0,b0],0,0)]]]}if(D7===p0){var O0=pr(B);return ie(B),[0,[0,Z,[0,1,lr([0,O0],0,0)]]]}}return 0}var e=function B(Z){return B.fun(Z)},i=function B(Z){return B.fun(Z)},x=function B(Z){return B.fun(Z)},c=function B(Z,p0,b0){return B.fun(Z,p0,b0)},s=function B(Z){return B.fun(Z)},p=function B(Z,p0,b0){return B.fun(Z,p0,b0)},y=function B(Z){return B.fun(Z)},T=function B(Z,p0){return B.fun(Z,p0)},E=function B(Z){return B.fun(Z)},h=function B(Z){return B.fun(Z)},w=function B(Z,p0,b0){return B.fun(Z,p0,b0)},G=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},A=function B(Z){return B.fun(Z)},S=function B(Z,p0){return B.fun(Z,p0)},M=function B(Z){return B.fun(Z)},K=function B(Z){return B.fun(Z)},V=function B(Z){return B.fun(Z)},f0=function B(Z){return B.fun(Z)},m0=function B(Z){return B.fun(Z)},k0=function B(Z){return B.fun(Z)},g0=function B(Z,p0){return B.fun(Z,p0)},e0=function B(Z){return B.fun(Z)},x0=function B(Z){return B.fun(Z)},l=function B(Z){return B.fun(Z)},c0=function B(Z){return B.fun(Z)},t0=function B(Z){return B.fun(Z)},a0=function B(Z){return B.fun(Z)},w0=function B(Z){return B.fun(Z)},_0=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},E0=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},X0=function B(Z){return B.fun(Z)},b=function B(Z){return B.fun(Z)},j0=function B(Z){return B.fun(Z)},X=function B(Z){return B.fun(Z)},s0=function B(Z){return B.fun(Z)},dr=function B(Z){return B.fun(Z)},Ar=function B(Z,p0){return B.fun(Z,p0)},ar=function B(Z,p0){return B.fun(Z,p0)},W0=function B(Z){return B.fun(Z)},Lr=function B(Z,p0,b0){return B.fun(Z,p0,b0)};N(e,function(B){return u(x,B)}),N(i,function(B){return 1-fu(B)&&Ge(B,12),cr(0,function(Z){return V0(Z,86),u(e,Z)},B)}),N(x,function(B){var Z=A0(B)===89?1:0;if(Z){var p0=pr(B);ie(B);var b0=p0}else var b0=Z;return ur(c,B,[0,b0],u(s,B))}),N(c,function(B,Z,p0){var b0=Z&&Z[1];if(A0(B)===89){var O0=[0,p0,0],q0=function(er){for(var yr=O0;;){var vr=A0(er);if(typeof vr=="number"&&vr===89){V0(er,89);var yr=[0,u(s,er),yr];continue}var $0=de(yr);if($0){var Er=$0[2];if(Er){var Mr=lr([0,b0],0,0);return[19,[0,[0,$0[1],Er[1],Er[2]],Mr]]}}throw[0,Sn,A$r]}};return cr([0,p0[1]],q0,B)}return p0}),N(s,function(B){var Z=A0(B)===91?1:0;if(Z){var p0=pr(B);ie(B);var b0=p0}else var b0=Z;return ur(p,B,[0,b0],u(y,B))}),N(p,function(B,Z,p0){var b0=Z&&Z[1];if(A0(B)===91){var O0=[0,p0,0],q0=function(er){for(var yr=O0;;){var vr=A0(er);if(typeof vr=="number"&&vr===91){V0(er,91);var yr=[0,u(y,er),yr];continue}var $0=de(yr);if($0){var Er=$0[2];if(Er){var Mr=lr([0,b0],0,0);return[20,[0,[0,$0[1],Er[1],Er[2]],Mr]]}}throw[0,Sn,I$r]}};return cr([0,p0[1]],q0,B)}return p0}),N(y,function(B){return a(T,B,u(E,B))}),N(T,function(B,Z){var p0=A0(B);if(typeof p0=="number"&&p0===11&&!B[15]){var b0=a(g0,B,Z);return R(_0,B,b0[1],0,[0,b0[1],[0,0,[0,b0,0],0,0]])}return Z}),N(E,function(B){var Z=A0(B);return typeof Z=="number"&&Z===85?cr(0,function(p0){var b0=pr(p0);V0(p0,85);var O0=lr([0,b0],0,0);return[11,[0,u(E,p0),O0]]},B):u(h,B)}),N(h,function(B){return ur(w,0,B,u(V,B))}),N(w,function(B,Z,p0){var b0=B&&B[1];if(f7(Z))return p0;var O0=A0(Z);if(typeof O0=="number"){if(O0===6)return ie(Z),R(G,b0,0,Z,p0);if(O0===10){var q0=Vn(1,Z);return typeof q0=="number"&&q0===6?(Ge(Z,T$r),V0(Z,10),V0(Z,6),R(G,b0,0,Z,p0)):(Ge(Z,O$r),p0)}if(O0===83)return ie(Z),A0(Z)!==6&&Ge(Z,30),V0(Z,6),R(G,1,1,Z,p0)}return p0}),N(G,function(B,Z,p0,b0){function O0(q0){if(!Z&&xu(q0,7))return[15,[0,b0,lr(0,[0,we(q0)],0)]];var er=u(e,q0);V0(q0,7);var yr=[0,b0,er,lr(0,[0,we(q0)],0)];return B?[18,[0,yr,Z]]:[17,yr]}return ur(w,[0,B],p0,cr([0,b0[1]],O0,p0))}),N(A,function(B){return a(S,B,a(t[13],0,B))}),N(S,function(B,Z){for(var p0=[0,Z[1],[0,Z]];;){var b0=p0[2];if(A0(B)===10&&A9(1,B)){var O0=function(vr){return function($0){return V0($0,10),[0,vr,V7($0)]}}(b0),q0=cr([0,p0[1]],O0,B),er=q0[1],p0=[0,er,[1,[0,er,q0[2]]]];continue}return b0}}),N(M,function(B){var Z=A0(B);if(typeof Z=="number"){if(Z===4){ie(B);var p0=u(M,B);return V0(B,5),p0}}else if(Z[0]===4)return[0,u(A,B)];return Ge(B,51),0}),N(K,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,46);var b0=u(M,Z);if(b0){var O0=lr([0,p0],0,0);return[21,[0,b0[1],O0]]}return F$r},B)}),N(V,function(B){var Z=De(B),p0=A0(B),b0=0;if(typeof p0=="number")switch(p0){case 4:return u(a0,B);case 6:return u(k0,B);case 46:return u(K,B);case 53:return cr(0,function(ge){var H0=pr(ge);V0(ge,53);var Fr=u(X0,ge),_=lr([0,H0],0,0);return[14,[0,Fr[2],Fr[1],_]]},B);case 98:return u(w0,B);case 106:var O0=pr(B);return V0(B,Vt),[0,Z,[10,lr([0,O0],[0,we(B)],0)]];case 42:b0=1;break;case 0:case 2:var q0=R(E0,0,1,1,B);return[0,q0[1],[13,q0[2]]];case 30:case 31:var er=pr(B);return V0(B,p0),[0,Z,[26,[0,p0===31?1:0,lr([0,er],[0,we(B)],0)]]]}else switch(p0[0]){case 2:var yr=p0[1],vr=yr[4],$0=yr[3],Er=yr[2],Mr=yr[1];vr&&Si(B,45);var Br=pr(B);return V0(B,[2,[0,Mr,Er,$0,vr]]),[0,Mr,[23,[0,Er,$0,lr([0,Br],[0,we(B)],0)]]];case 10:var qr=p0[3],jr=p0[2],$r=p0[1],ne=pr(B);V0(B,[10,$r,jr,qr]);var Qr=we(B);return $r===1&&Si(B,45),[0,Z,[24,[0,jr,qr,lr([0,ne],[0,Qr],0)]]];case 11:var be=p0[3],oe=p0[2],pe=pr(B);return V0(B,[11,p0[1],oe,be]),[0,Z,[25,[0,oe,be,lr([0,pe],[0,we(B)],0)]]];case 4:b0=1;break}if(b0){var ae=u(dr,B);return[0,ae[1],[16,ae[2]]]}var ce=u(m0,B);return ce?[0,Z,ce[1]]:(Ft(S$r,B),[0,Z,g$r])}),N(f0,function(B){var Z=0;if(typeof B=="number")switch(B){case 29:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:Z=1;break}else B[0]===9&&(Z=1);return Z?1:0}),N(m0,function(B){var Z=pr(B),p0=A0(B);if(typeof p0=="number")switch(p0){case 29:return ie(B),[0,[4,lr([0,Z],[0,we(B)],0)]];case 114:return ie(B),[0,[0,lr([0,Z],[0,we(B)],0)]];case 115:return ie(B),[0,[1,lr([0,Z],[0,we(B)],0)]];case 116:return ie(B),[0,[2,lr([0,Z],[0,we(B)],0)]];case 117:return ie(B),[0,[5,lr([0,Z],[0,we(B)],0)]];case 118:return ie(B),[0,[6,lr([0,Z],[0,we(B)],0)]];case 119:return ie(B),[0,[7,lr([0,Z],[0,we(B)],0)]];case 120:return ie(B),[0,[3,lr([0,Z],[0,we(B)],0)]];case 121:return ie(B),[0,[9,lr([0,Z],[0,we(B)],0)]]}else if(p0[0]===9)return ie(B),[0,[8,lr([0,Z],[0,we(B)],0)]];return 0}),N(k0,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,6);for(var b0=u2(0,Z),O0=0;;){var q0=A0(b0);if(typeof q0=="number"){var er=0;if((q0===7||Pn===q0)&&(er=1),er){var yr=de(O0);return V0(Z,7),[22,[0,yr,lr([0,p0],[0,we(Z)],0)]]}}var vr=[0,u(e,b0),O0];A0(b0)!==7&&V0(b0,9);var O0=vr}},B)}),N(g0,function(B,Z){return[0,Z[1],[0,0,Z,0]]}),N(e0,function(B){return cr(0,function(Z){zu(Z,0);var p0=a(t[13],0,Z);h7(Z),1-fu(Z)&&Ge(Z,12);var b0=xu(Z,85);return V0(Z,86),[0,[0,p0],u(e,Z),b0]},B)});function Tr(B){var Z=Vn(1,B);return typeof Z=="number"&&!(1<(Z+W2|0)>>>0)?u(e0,B):a(g0,B,u(e,B))}N(x0,function(B){var Z=0;return function(p0){for(var b0=Z,O0=p0;;){var q0=A0(B);if(typeof q0=="number")switch(q0){case 5:case 12:case 113:var er=q0===12?1:0,yr=er&&[0,cr(0,function(jr){var $r=pr(jr);V0(jr,12);var ne=lr([0,$r],0,0);return[0,Tr(jr),ne]},B)];return[0,b0,de(O0),yr,0]}else if(q0[0]===4&&!n0(q0[3],E$r)){var vr=0;if((Vn(1,B)===86||Vn(1,B)===85)&&(vr=1),vr){var $0=b0!==0?1:0,Er=$0||(O0!==0?1:0);Er&&Ge(B,c7);var Mr=cr(0,function($r){var ne=pr($r);ie($r),A0($r)===85&&Ge($r,D7);var Qr=lr([0,ne],0,0);return[0,u(i,$r),Qr]},B);A0(B)!==5&&V0(B,9);var b0=[0,Mr];continue}}var Br=[0,Tr(B),O0];A0(B)!==5&&V0(B,9);var O0=Br}}}),N(l,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,4);var b0=a(x0,Z,0),O0=pr(Z);V0(Z,5);var q0=_u([0,p0],[0,we(Z)],O0,0);return[0,b0[1],b0[2],b0[3],q0]},B)}),N(c0,function(B){var Z=pr(B);V0(B,4);var p0=u2(0,B),b0=A0(p0),O0=0;if(typeof b0=="number")switch(b0){case 5:var q0=w$r;break;case 42:O0=2;break;case 12:case 113:var q0=[0,a(x0,p0,0)];break;default:O0=1}else b0[0]===4?O0=2:O0=1;switch(O0){case 1:if(u(f0,b0)){var er=Vn(1,p0),yr=0;if(typeof er=="number"&&!(1<(er+W2|0)>>>0)){var vr=[0,a(x0,p0,0)];yr=1}if(!yr)var vr=[1,u(e,p0)];var q0=vr}else var q0=[1,u(e,p0)];break;case 2:var q0=u(t0,p0);break}if(q0[0]===0)var $0=q0;else{var Er=q0[1];if(B[15])var Mr=q0;else{var Br=A0(B),qr=0;if(typeof Br=="number")if(Br===5)var jr=Vn(1,B)===11?[0,a(x0,B,[0,a(g0,B,Er),0])]:[1,Er];else if(Br===9){V0(B,9);var jr=[0,a(x0,B,[0,a(g0,B,Er),0])]}else qr=1;else qr=1;if(qr)var jr=q0;var Mr=jr}var $0=Mr}var $r=pr(B);V0(B,5);var ne=we(B);if($0[0]===0){var Qr=$0[1],be=_u([0,Z],[0,ne],$r,0);return[0,[0,Qr[1],Qr[2],Qr[3],be]]}return[1,ur(Lr,$0[1],Z,ne)]}),N(t0,function(B){var Z=Vn(1,B);return typeof Z=="number"&&!(1<(Z+W2|0)>>>0)?[0,a(x0,B,0)]:[1,ur(c,B,0,ur(p,B,0,a(T,B,ur(w,0,B,a(ar,B,u(b,B))))))]}),N(a0,function(B){var Z=De(B),p0=cr(0,c0,B),b0=p0[2];return b0[0]===0?R(_0,B,Z,0,[0,p0[1],b0[1]]):b0[1]}),N(w0,function(B){var Z=De(B),p0=xi(B,u(X,B));return R(_0,B,Z,p0,u(l,B))}),N(_0,function(B,Z,p0,b0){return cr([0,Z],function(O0){return V0(O0,11),[12,[0,p0,b0,u(e,O0),0]]},B)});function Hr(B,Z,p0){return cr([0,Z],function(b0){var O0=u(l,b0);return V0(b0,86),[0,p0,O0,u(e,b0),0]},B)}function Or(B,Z){var p0=A0(Z);if(typeof p0=="number"&&!(10<=p0))switch(p0){case 1:if(!B)return 0;break;case 3:if(B)return 0;break;case 8:case 9:return ie(Z)}return q1(Z,9)}function xr(B,Z){return Z&&ue(B,[0,Z[1][1],7])}function Rr(B,Z){return Z&&ue(B,[0,Z[1],9])}N(E0,function(B,Z,p0,b0){var O0=Z&&(A0(b0)===2?1:0),q0=Z&&1-O0;return cr(0,function(er){var yr=pr(er),vr=O0&&2;V0(er,vr);var $0=u2(0,er),Er=k$r;r:for(;;){var Mr=Er[3],Br=Er[2],qr=Er[1];if(B&&p0)throw[0,Sn,x$r];if(q0&&!p0)throw[0,Sn,a$r];var jr=De($0),$r=A0($0);if(typeof $r=="number"){var ne=0;if(13<=$r){if(Pn===$r){var Qr=[0,de(qr),Br,Mr];ne=1}}else if($r)switch($r-1|0){case 0:if(!O0){var Qr=[0,de(qr),Br,Mr];ne=1}break;case 2:if(O0){var Qr=[0,de(qr),Br,Mr];ne=1}break;case 11:if(!p0){ie($0);var be=A0($0);if(typeof be=="number"&&!(10<=be))switch(be){case 1:case 3:case 8:case 9:ue($0,[0,jr,20]),Or(O0,$0);continue}var oe=gL($0);u(kL($0),oe),ue($0,[0,jr,17]),ie($0),Or(O0,$0);continue}var pe=pr($0);ie($0);var ae=A0($0),ce=0;if(typeof ae=="number"&&!(10<=ae))switch(ae){case 1:case 3:case 8:case 9:Or(O0,$0);var ge=A0($0),H0=0;if(typeof ge=="number"){var Fr=ge-1|0;if(!(2>>0))switch(Fr){case 0:if(q0){var Qr=[0,de(qr),1,pe];ne=1,ce=1,H0=1}break;case 1:break;default:ue($0,[0,jr,19]);var Qr=[0,de(qr),Br,Mr];ne=1,ce=1,H0=1}}if(!H0){ue($0,[0,jr,18]);continue}break}if(!ce){var _=[1,cr([0,jr],function(K7){return function(Xt){var bt=lr([0,K7],0,0);return[0,u(e,Xt),bt]}}(pe),$0)];Or(O0,$0);var Er=[0,[0,_,qr],Br,Mr];continue}break}if(ne){var k=pr(er),I=un(Qr[3],k),U=O0?3:1;V0(er,U);var Y=_u([0,yr],[0,we(er)],I,0);return[0,O0,Qr[2],Qr[1],Y]}}for(var y0=B,D0=B,I0=0,D=0,u0=0,Y0=0;;){var J0=A0($0),fr=0;if(typeof J0=="number")switch(J0){case 6:Rr($0,u0);var Q0=Vn(1,$0),F0=0;if(typeof Q0=="number"&&Q0===6){xr($0,I0);var Cr=[4,cr([0,jr],function(Xt,bt,U0){return function(L0){var Re=un(bt,pr(L0));V0(L0,6),V0(L0,6);var He=V7(L0);V0(L0,7),V0(L0,7);var he=A0(L0),me=0;if(typeof he=="number"){var Qn=0;if(he!==4&&he!==98&&(Qn=1),!Qn){var hn=Hr(L0,Xt,xi(L0,u(X,L0))),ft=0,xt=[0,hn[1],[12,hn[2]]],Rn=1,tt=0;me=1}}if(!me){var ht=xu(L0,85),tn=we(L0);V0(L0,86);var ft=tn,xt=u(e,L0),Rn=0,tt=ht}return[0,He,xt,tt,U0!==0?1:0,Rn,lr([0,Re],[0,ft],0)]}}(jr,Y0,D),$0)];F0=1}if(!F0)var Cr=[2,cr([0,jr],function(K7,Xt,bt){return function(U0){var L0=un(K7,pr(U0));V0(U0,6);var Re=Vn(1,U0)===86?1:0;if(Re){var He=V7(U0);V0(U0,86);var he=[0,He]}else var he=Re;var me=u(e,U0);V0(U0,7);var Qn=we(U0);V0(U0,86);var hn=u(e,U0);return[0,he,me,hn,Xt!==0?1:0,bt,lr([0,L0],[0,Qn],0)]}}(Y0,D,I0),$0)];break;case 42:if(y0){if(I0===0){var Sr=[0,De($0)],mr=un(Y0,pr($0));ie($0);var y0=0,D0=0,D=Sr,Y0=mr;continue}throw[0,Sn,c$r]}fr=1;break;case 103:case 104:if(I0===0){var y0=0,D0=0,I0=n($0);continue}fr=1;break;case 4:case 98:Rr($0,u0),xr($0,I0);var Cr=[3,cr([0,jr],function(K7,Xt){return function(bt){var U0=De(bt),L0=Hr(bt,U0,xi(bt,u(X,bt)));return[0,L0,Xt!==0?1:0,lr([0,K7],0,0)]}}(Y0,D),$0)];break;default:fr=1}else if(J0[0]===4&&!n0(J0[3],s$r)){if(D0){if(I0===0){var sr=[0,De($0)],Pr=un(Y0,pr($0));ie($0);var y0=0,D0=0,u0=sr,Y0=Pr;continue}throw[0,Sn,v$r]}fr=1}else fr=1;if(fr){var K0=0;if(D){var Ur=D[1];if(u0){var Cr=ke(l$r);K0=1}else if(typeof J0=="number"&&!(1<(J0+W2|0)>>>0)){var d0=[0,Ur,[1,Gc(lr([0,Y0],0,0),[0,Ur,b$r])]],Kr=0,re=u0,xe=0;K0=2}}else if(u0){var je=u0[1];if(typeof J0=="number"&&!(1<(J0+W2|0)>>>0)){var d0=[0,je,[1,Gc(lr([0,Y0],0,0),[0,je,p$r])]],Kr=0,re=0,xe=D;K0=2}}var ve=0;switch(K0){case 0:var Ie=function(Xt){zu(Xt,0);var bt=a(t[20],0,Xt);return h7(Xt),bt},Me=pr($0),Be=Ie($0),fn=Be[1],Ke=Be[2],Ae=0;if(Ke[0]===1){var xn=Ke[1][2][1],Qe=0;if(n0(xn,m$r)&&n0(xn,_$r)&&(Qe=1),!Qe){var dn=A0($0),on=0;if(typeof dn=="number"){var Ce=dn-5|0;if(92>>0){if(!(94<(Ce+1|0)>>>0)){Rr($0,u0),xr($0,I0);var We=Ke;Ae=1,on=1}}else if(!(1<(Ce+fX|0)>>>0)){var d0=[0,fn,Ke],Kr=Y0,re=u0,xe=D;ve=1,Ae=2,on=1}}if(!on){Xi($0,Ke);var rn=Ie($0),pn=qn(xn,y$r),Cn=un(Y0,Me);Rr($0,u0),xr($0,I0);var Cr=[0,cr([0,jr],function(bt,U0,L0,Re,He){return function(he){var me=L0[1],Qn=Xi(he,L0[2]),hn=Hr(he,bt,0),ft=hn[2][2];if(Re){var xt=ft[2],Rn=0;if(xt[1])ue(he,[0,me,R7]),Rn=1;else{var tt=0;!xt[2]&&!xt[3]&&(Rn=1,tt=1),tt||ue(he,[0,me,80])}}else{var ht=ft[2],tn=0;if(ht[1])ue(he,[0,me,Vt]),tn=1;else{var cn=ht[2],ut=0;if(ht[3])ue(he,[0,me,81]);else{var It=0;cn&&!cn[2]&&(It=1),It||(ue(he,[0,me,81]),ut=1)}ut||(tn=1)}}var Fi=lr([0,He],0,0),hs=0,Iu=0,Vs=0,Vi=U0!==0?1:0,zs=0,Ks=Re?[1,hn]:[2,hn];return[0,Qn,Ks,zs,Vi,Vs,Iu,hs,Fi]}}(jr,D,rn,pn,Cn),$0)];Ae=2}}}var Hn=0;switch(Ae){case 2:Hn=1;break;case 0:var Fn=Be[2],vt=A0($0),Ct=0;if(typeof vt=="number"){var Tt=0;if(vt!==4&&vt!==98&&(Tt=1),!Tt){Rr($0,u0),xr($0,I0);var We=Fn;Ct=1}}if(!Ct){var Zt=D!==0?1:0,Ht=0;if(Fn[0]===1){var Ot=Fn[1],Pt=Ot[2][1],du=0;if(B){var Ku=0;!qn(d$r,Pt)&&(!Zt||!qn(h$r,Pt))&&(Ku=1),Ku||(ue($0,[0,Ot[1],[21,Pt,Zt,0,0]]),Ht=1,du=1)}}var d0=[0,fn,Fn],Kr=Y0,re=u0,xe=D;ve=1,Hn=1}break}if(!Hn)var lt=Xi($0,We),au=Hr($0,jr,xi($0,u(X,$0))),Mu=[0,au[1],[12,au[2]]],z7=[0,lt,[0,Mu],0,D!==0?1:0,0,1,0,lr([0,Y0],0,0)],Cr=[0,[0,Mu[1],z7]];break;case 2:ve=1;break}if(ve){var Yi=d0[2],a7=d0[1];1-fu($0)&&Ge($0,12);var Cr=[0,cr([0,jr],function(Xt,bt,U0,L0,Re,He){return function(he){var me=xu(he,85),Qn=he0(he,86)?u(e,he):[0,He,o$r];return[0,Re,[0,Qn],me,bt!==0?1:0,U0!==0?1:0,0,Xt,lr([0,L0],0,0)]}}(I0,xe,re,Kr,Yi,a7),$0)]}}Or(O0,$0);var Er=[0,[0,Cr,qr],Br,Mr];continue r}}},b0)}),N(X0,function(B){var Z=A0(B)===41?1:0;if(Z){V0(B,41);for(var p0=0;;){var b0=[0,u(dr,B),p0],O0=A0(B);if(typeof O0=="number"&&O0===9){V0(B,9);var p0=b0;continue}var q0=ge0(B,de(b0));break}}else var q0=Z;return[0,q0,R(E0,0,0,0,B)]}),N(b,function(B){var Z=V7(B),p0=Z[2],b0=p0[1],O0=Z[1];return be0(b0)&&ue(B,[0,O0,3]),[0,O0,[0,b0,p0[2]]]}),N(j0,function(B){return cr(0,function(Z){var p0=u(b,Z),b0=A0(Z)===86?[1,u(i,Z)]:[0,G1(Z)];return[0,p0,b0]},B)}),N(X,function(B){var Z=A0(B)===98?1:0;if(Z){1-fu(B)&&Ge(B,12);var p0=[0,cr(0,function(O0){var q0=pr(O0);V0(O0,98);for(var er=0,yr=0;;){var vr=cr(0,function(ne){return function(Qr){var be=n(Qr),oe=u(j0,Qr),pe=oe[2],ae=A0(Qr),ce=0;if(typeof ae=="number"&&ae===82){ie(Qr);var ge=1,H0=[0,u(e,Qr)];ce=1}if(!ce){ne&&ue(Qr,[0,oe[1],77]);var ge=ne,H0=0}return[0,be,pe[1],pe[2],H0,ge]}}(er),O0),$0=vr[2],Er=[0,[0,vr[1],[0,$0[2],$0[3],$0[1],$0[4]]],yr],Mr=A0(O0),Br=0;if(typeof Mr=="number"){var qr=0;if(Mr!==99&&Pn!==Mr&&(qr=1),!qr){var jr=de(Er);Br=1}}if(!Br){if(V0(O0,9),A0(O0)!==99){var er=$0[5],yr=Er;continue}var jr=de(Er)}var $r=pr(O0);return V0(O0,99),[0,jr,_u([0,q0],[0,we(O0)],$r,0)]}},B)]}else var p0=Z;return p0}),N(s0,function(B){var Z=A0(B)===98?1:0,p0=Z&&[0,cr(0,function(b0){var O0=pr(b0);V0(b0,98);for(var q0=u2(0,b0),er=0;;){var yr=A0(q0);if(typeof yr=="number"){var vr=0;if((yr===99||Pn===yr)&&(vr=1),vr){var $0=de(er),Er=pr(q0);return V0(q0,99),[0,$0,_u([0,O0],[0,we(q0)],Er,0)]}}var Mr=[0,u(e,q0),er];A0(q0)!==99&&V0(q0,9);var er=Mr}},B)];return p0}),N(dr,function(B){return a(Ar,B,u(b,B))}),N(Ar,function(B,Z){function p0(b0){for(var O0=[0,Z[1],[0,Z]];;){var q0=O0[2],er=O0[1];if(A0(b0)===10&&_e0(1,b0)){var yr=cr([0,er],function(qr){return function(jr){return V0(jr,10),[0,qr,u(b,jr)]}}(q0),b0),vr=yr[1],O0=[0,vr,[1,[0,vr,yr[2]]]];continue}if(A0(b0)===98)var $0=$t(b0),Er=function(Br,qr){return a(Ze(Br,-860373976,77),Br,qr)},Mr=a($0[2],q0,Er);else var Mr=q0;return[0,Mr,u(s0,b0),0]}}return cr([0,Z[1]],p0,B)}),N(ar,function(B,Z){var p0=a(Ar,B,Z);return[0,p0[1],[16,p0[2]]]}),N(W0,function(B){var Z=A0(B);return typeof Z=="number"&&Z===86?[1,u(i,B)]:[0,G1(B)]}),N(Lr,function(B,Z,p0){var b0=B[2];function O0(Sr){return _7(Sr,lr([0,Z],[0,p0],0))}switch(b0[0]){case 0:var F0=[0,O0(b0[1])];break;case 1:var F0=[1,O0(b0[1])];break;case 2:var F0=[2,O0(b0[1])];break;case 3:var F0=[3,O0(b0[1])];break;case 4:var F0=[4,O0(b0[1])];break;case 5:var F0=[5,O0(b0[1])];break;case 6:var F0=[6,O0(b0[1])];break;case 7:var F0=[7,O0(b0[1])];break;case 8:var F0=[8,O0(b0[1])];break;case 9:var F0=[9,O0(b0[1])];break;case 10:var F0=[10,O0(b0[1])];break;case 11:var q0=b0[1],er=O0(q0[2]),F0=[11,[0,q0[1],er]];break;case 12:var yr=b0[1],vr=O0(yr[4]),F0=[12,[0,yr[1],yr[2],yr[3],vr]];break;case 13:var $0=b0[1],Er=lr([0,Z],[0,p0],0),Mr=QD($0[4],Er),F0=[13,[0,$0[1],$0[2],$0[3],Mr]];break;case 14:var Br=b0[1],qr=O0(Br[3]),F0=[14,[0,Br[1],Br[2],qr]];break;case 15:var jr=b0[1],$r=O0(jr[2]),F0=[15,[0,jr[1],$r]];break;case 16:var ne=b0[1],Qr=O0(ne[3]),F0=[16,[0,ne[1],ne[2],Qr]];break;case 17:var be=b0[1],oe=O0(be[3]),F0=[17,[0,be[1],be[2],oe]];break;case 18:var pe=b0[1],ae=pe[1],ce=pe[2],ge=O0(ae[3]),F0=[18,[0,[0,ae[1],ae[2],ge],ce]];break;case 19:var H0=b0[1],Fr=O0(H0[2]),F0=[19,[0,H0[1],Fr]];break;case 20:var _=b0[1],k=O0(_[2]),F0=[20,[0,_[1],k]];break;case 21:var I=b0[1],U=O0(I[2]),F0=[21,[0,I[1],U]];break;case 22:var Y=b0[1],y0=O0(Y[2]),F0=[22,[0,Y[1],y0]];break;case 23:var D0=b0[1],I0=O0(D0[3]),F0=[23,[0,D0[1],D0[2],I0]];break;case 24:var D=b0[1],u0=O0(D[3]),F0=[24,[0,D[1],D[2],u0]];break;case 25:var Y0=b0[1],J0=O0(Y0[3]),F0=[25,[0,Y0[1],Y0[2],J0]];break;default:var fr=b0[1],Q0=O0(fr[2]),F0=[26,[0,fr[1],Q0]]}return[0,B[1],F0]});function Wr(B){var Z=pr(B);if(V0(B,66),A0(B)===4){var p0=un(Z,pr(B));V0(B,4),zu(B,0);var b0=u(t[9],B);return h7(B),V0(B,5),[0,[0,b0],lr([0,p0],[0,we(B)],0)]}return[0,0,lr([0,Z],[0,we(B)],0)]}var Jr=0;function or(B){var Z=u2(0,B),p0=A0(Z);return typeof p0=="number"&&p0===66?[0,cr(Jr,Wr,Z)]:0}function _r(B){var Z=A0(B),p0=Vn(1,B);if(typeof Z=="number"&&Z===86){if(typeof p0=="number"&&p0===66){V0(B,86);var b0=or(B);return[0,[0,G1(B)],b0]}var O0=u(W0,B),q0=A0(B)===66?a2(B,O0):O0;return[0,q0,or(B)]}return[0,[0,G1(B)],0]}function Ir(B,Z){var p0=ys(1,Z);zu(p0,1);var b0=u(B,p0);return h7(p0),b0}function fe(B){return Ir(e,B)}function v0(B){return Ir(b,B)}function P(B){return Ir(X,B)}function L(B){return Ir(s0,B)}function Q(B,Z){return Ir(ur(E0,B,0,0),Z)}function i0(B){return Ir(X0,B)}function l0(B){return Ir(l,B)}function S0(B){return Ir(i,B)}function T0(B){return Ir(W0,B)}function rr(B){return Ir(or,B)}function R0(B){return Ir(_r,B)}return[0,fe,v0,P,L,function(B){return Ir(dr,B)},Q,i0,l0,S0,T0,rr,R0]}function one(t){function n(c,s){if(s[0]===0)return s[1];var p=s[2][1];return Pu(function(y){return ue(c,y)},p),s[1]}function e(c,s,p){var y=c?c[1]:26;if(p[0]===0)var T=p[1];else{var E=p[2][2];Pu(function(A){return ue(s,A)},E);var T=p[1]}1-u(t[23],T)&&ue(s,[0,T[1],y]);var h=T[2],w=0;return h[0]===10&&Bs(h[1][2][1])&&(Y7(s,[0,T[1],52]),w=1),a(t[19],s,T)}function i(c,s){return[0,[0,c,s[1]],[0,c,s[2]]]}function x(c,s){var p=jc(c[2],s[2]);return[0,jc(c[1],s[1]),p]}return[0,n,e,j$r,i,x,function(c){var s=de(c[2]);return[0,de(c[1]),s]}]}function cne(t){function n(S){var M=A0(S);if(typeof M=="number"){var K=M-99|0,V=0;if(6>>0?K===14&&(V=1):4<(K-1|0)>>>0&&(V=1),V)return we(S)}var f0=f7(S);return f0&&Us(S)}function e(S){var M=pr(S);zu(S,0);var K=cr(0,function(f0){V0(f0,0),V0(f0,12);var m0=u(t[10],f0);return V0(f0,1),m0},S);h7(S);var V=lr([0,M],[0,n(S)],0);return[0,K[1],[0,K[2],V]]}function i(S){return A0(S)===1?0:[0,u(t[7],S)]}function x(S){var M=pr(S);zu(S,0);var K=cr(0,function(f0){V0(f0,0);var m0=i(f0);return V0(f0,1),m0},S);h7(S);var V=_u([0,M],[0,n(S)],0,0);return[0,K[1],[0,K[2],V]]}function c(S){zu(S,0);var M=cr(0,function(K){V0(K,0);var V=A0(K),f0=0;if(typeof V=="number"&&V===12){var m0=pr(K);V0(K,12);var k0=u(t[10],K),x0=[3,[0,k0,lr([0,m0],0,0)]];f0=1}if(!f0)var g0=i(K),e0=g0?0:pr(K),x0=[2,[0,g0,_u(0,0,e0,0)]];return V0(K,1),x0},S);return h7(S),[0,M[1],M[2]]}function s(S){var M=De(S),K=A0(S),V=0;if(typeof K!="number"&&K[0]===7){var f0=K[1];V=1}if(!V){Ft(GQr,S);var f0=MQr}var m0=pr(S);ie(S);var k0=A0(S),g0=0;if(typeof k0=="number"){var e0=k0+jX|0,x0=0;if(72>>0?e0!==76&&(x0=1):70<(e0-1|0)>>>0||(x0=1),!x0){var l=we(S);g0=1}}if(!g0)var l=n(S);return[0,M,[0,f0,lr([0,m0],[0,l],0)]]}function p(S){var M=Vn(1,S);if(typeof M=="number"){if(M===10)for(var K=cr(0,function(m0){var k0=[0,s(m0)];return V0(m0,10),[0,k0,s(m0)]},S);;){var V=A0(S);if(typeof V=="number"&&V===10){var f0=function(k0){return function(g0){return V0(g0,10),[0,[1,k0],s(g0)]}}(K),K=cr([0,K[1]],f0,S);continue}return[2,K]}if(M===86)return[1,cr(0,function(m0){var k0=s(m0);return V0(m0,86),[0,k0,s(m0)]},S)]}return[0,s(S)]}function y(S){return cr(0,function(M){var K=Vn(1,M),V=0;if(typeof K=="number"&&K===86){var f0=[1,cr(0,function(b){var j0=s(b);return V0(b,86),[0,j0,s(b)]},M)];V=1}if(!V)var f0=[0,s(M)];var m0=A0(M),k0=0;if(typeof m0=="number"&&m0===82){V0(M,82);var g0=pr(M),e0=A0(M),x0=0;if(typeof e0=="number")if(e0===0){var l=x(M),c0=l[2],t0=l[1];c0[1]||ue(M,[0,t0,56]);var a0=[0,[1,t0,c0]]}else x0=1;else if(e0[0]===8){V0(M,e0);var w0=[0,e0[2]],_0=lr([0,g0],[0,n(M)],0),a0=[0,[0,e0[1],[0,w0,e0[3],_0]]]}else x0=1;if(x0){Ge(M,57);var a0=[0,[0,De(M),[0,jQr,RQr,0]]]}var E0=a0;k0=1}if(!k0)var E0=0;return[0,f0,E0]},S)}function T(S){return cr(0,function(M){V0(M,98);var K=A0(M);if(typeof K=="number"){if(K===99)return ie(M),DQr}else if(K[0]===7)for(var V=0,f0=p(M);;){var m0=A0(M);if(typeof m0=="number"){if(m0===0){var V=[0,[1,e(M)],V];continue}}else if(m0[0]===7){var V=[0,[0,y(M)],V];continue}var k0=de(V),g0=[0,s1,[0,f0,xu(M,R7),k0]];return xu(M,99)?[0,g0]:(q1(M,99),[1,g0])}return q1(M,99),LQr},S)}function E(S){return cr(0,function(M){V0(M,98),V0(M,R7);var K=A0(M);if(typeof K=="number"){if(K===99)return ie(M),Ni}else if(K[0]===7){var V=p(M);return he0(M,99),[0,s1,[0,V]]}return q1(M,99),Ni},S)}var h=function S(M){return S.fun(M)},w=function S(M){return S.fun(M)},G=function S(M){return S.fun(M)};N(h,function(S){var M=A0(S);if(typeof M=="number"){if(M===0)return c(S)}else if(M[0]===8)return V0(S,M),[0,M[1],[4,[0,M[2],M[3]]]];var K=u(G,S),V=K[2],f0=K[1];return Ni<=V[1]?[0,f0,[1,V[2]]]:[0,f0,[0,V[2]]]});function A(S){switch(S[0]){case 0:return S[1][2][1];case 1:var M=S[1][2],K=Te(NQr,M[2][2][1]);return Te(M[1][2][1],K);default:var V=S[1][2],f0=V[1],m0=f0[0]===0?f0[1][2][1]:A([2,f0[1]]);return Te(m0,Te(CQr,V[2][2][1]))}}return N(w,function(S){var M=pr(S),K=T(S);h7(S);var V=K[2];if(V[0]===0)var f0=V[1],m0=typeof f0=="number"?0:f0[2][2],k0=m0;else var k0=1;if(k0)var g0=IU,e0=g0,x0=cr(0,function(qr){return 0},S);else{zu(S,3);for(var l=De(S),c0=0;;){var t0=i2(S),a0=A0(S),w0=0;if(typeof a0=="number"){var _0=0;if(a0===98){zu(S,2);var E0=A0(S),X0=Vn(1,S),b=0;if(typeof E0=="number"&&E0===98&&typeof X0=="number"){var j0=0;if(R7!==X0&&Pn!==X0&&(j0=1),!j0){var X=E(S),s0=X[2],dr=X[1],Ar=typeof s0=="number"?[0,Ni,dr]:[0,s1,[0,dr,s0[2]]],ar=S[23][1],W0=0;if(ar){var Lr=ar[2];if(Lr){var Tr=Lr[2];W0=1}}if(!W0)var Tr=ke(DRr);S[23][1]=Tr;var Hr=n2(S),Or=Yl(S[24][1],Hr);S[25][1]=Or;var xr=[0,de(c0),t0,Ar];b=1}}if(!b){var Rr=u(w,S),Wr=Rr[2],Jr=Rr[1],or=Ni<=Wr[1]?[0,Jr,[1,Wr[2]]]:[0,Jr,[0,Wr[2]]],c0=[0,or,c0];continue}}else if(Pn===a0){Ft(0,S);var xr=[0,de(c0),t0,IU]}else w0=1,_0=1;if(!_0)var _r=t0?t0[1]:l,Ir=yt(l,_r),e0=xr[3],x0=[0,Ir,xr[1]]}else w0=1;if(w0){var c0=[0,u(h,S),c0];continue}break}}var fe=we(S),v0=0;if(typeof e0!="number"){var P=e0[1],L=0;if(s1===P){var Q=e0[2],i0=K[2];if(i0[0]===0){var l0=i0[1];if(typeof l0=="number")Ge(S,PQr);else{var S0=A(l0[2][1]);n0(A(Q[2][1]),S0)&&Ge(S,[17,S0])}}var T0=Q[1]}else if(Ni===P){var rr=K[2];if(rr[0]===0){var R0=rr[1];typeof R0!="number"&&Ge(S,[17,A(R0[2][1])])}var T0=e0[2]}else L=1;if(!L){var B=T0;v0=1}}if(!v0)var B=K[1];var Z=K[2][1],p0=K[1];if(typeof Z=="number"){var b0=0,O0=lr([0,M],[0,fe],0);if(typeof e0!="number"){var q0=e0[1],er=0;if(s1===q0)var yr=e0[2][1];else if(Ni===q0)var yr=e0[2];else er=1;if(!er){var vr=yr;b0=1}}if(!b0)var vr=B;var $0=[0,Ni,[0,p0,vr,x0,O0]]}else{var Er=0,Mr=lr([0,M],[0,fe],0);if(typeof e0!="number"&&s1===e0[1]){var Br=[0,e0[2]];Er=1}if(!Er)var Br=0;var $0=[0,s1,[0,[0,p0,Z[2]],Br,x0,Mr]]}return[0,yt(K[1],B),$0]}),N(G,function(S){return zu(S,2),u(w,S)}),[0,n,e,i,x,c,s,p,y,T,E,h,w,G]}function gi(t){return typeof t=="number"?0:t[0]===0?1:t[1]}function sne(t,n){return[0,t,n]}function tb(t,n,e){return[1,2,n,e,t,0]}function ub(t,n,e){return[1,2,t,n,0,e]}function Xc(t,n,e,i){var x=gi(t),c=gi(i),s=c<=x?x+1|0:c+1|0;return s===1?[0,n,e]:[1,s,n,e,t,i]}function IL(t,n){var e=n!==0?1:0;if(e){if(n!==1){var i=n>>>1|0,x=IL(t,i),c=u(t,0),s=IL(t,(n-i|0)-1|0),p=c[2],y=c[1];return[1,gi(x)+1|0,y,p,x,s]}var T=u(t,0),E=[0,T[1],T[2]]}else var E=e;return E}function D9(t,n,e,i){var x=gi(t),c=gi(i),s=c<=x?x+1|0:c+1|0;return[1,s,n,e,t,i]}function Ou(t,n,e,i){var x=gi(t),c=gi(i);if((c+2|0)>>0){if(!(F7<(Or+1|0)>>>0)){var xr=Tr[3],Rr=Tr[4],Wr=de(Tr[1][4]),Jr=de(Tr[1][3]),or=de(Tr[1][2]),_r=de(Tr[1][1]),Ir=un(Rr,pr(j0));V0(j0,1);var fe=A0(j0),v0=0;if(typeof fe=="number"){var P=0;if(fe!==1&&Pn!==fe&&(v0=1,P=1),!P)var Q=we(j0)}else v0=1;if(v0)var L=f7(j0),Q=L&&Us(j0);var i0=_u([0,Lr],[0,Q],Ir,0);if(ar)switch(ar[1]){case 0:return[0,[0,_r,1,xr,i0]];case 1:return[1,[0,or,1,xr,i0]];case 2:var l0=1;break;default:return[3,[0,Wr,xr,i0]]}else{var S0=Rc(_r),T0=Rc(or),rr=Rc(Jr),R0=Rc(Wr),B=0;if(S0===0&&T0===0){var Z=0;if(rr===0&&R0===0&&(B=1,Z=1),!Z){var l0=0;B=2}}var p0=0;switch(B){case 0:if(T0===0&&rr===0&&R0<=S0)return Pu(function(K0){return ue(j0,[0,K0[1],[0,E0,K0[2][1][2][1]]])},Wr),[0,[0,_r,0,xr,i0]];if(S0===0&&rr===0&&R0<=T0)return Pu(function(K0){return ue(j0,[0,K0[1],[8,E0,K0[2][1][2][1]]])},Wr),[1,[0,or,0,xr,i0]];ue(j0,[0,X0,[2,E0]]);break;case 1:break;default:p0=1}if(!p0)return[2,[0,i$r,0,xr,i0]]}var b0=Rc(Jr),O0=Rc(Wr);if(b0!==0){var q0=0;if(O0!==0&&(b0>>0)F7<(Er+1|0)>>>0&&(Mr=1);else if(Er===7){V0(j0,9);var Br=A0(j0),qr=0;if(typeof Br=="number"){var jr=0;if(Br!==1&&Pn!==Br&&(jr=1),!jr){var $r=1;qr=1}}if(!qr)var $r=0;ue(j0,[0,er,[7,$r]])}else Mr=1;Mr||($0=1)}$0||ue(j0,[0,er,QJr]);var Tr=[0,Tr[1],Tr[2],1,yr];continue}}var ne=Tr[2],Qr=Tr[1],be=cr(x,i,j0),oe=be[2],pe=oe[1],ae=pe[2][1];if(qn(ae,r$r))var ce=Tr;else{var ge=pe[1],H0=oe[2],Fr=be[1],_=At(ae,0),k=97<=_?1:0,I=k&&(_<=In?1:0);I&&ue(j0,[0,ge,[6,E0,ae]]),a(Gu[3],ae,ne)&&ue(j0,[0,ge,[1,E0,ae]]);var U=Tr[4],Y=Tr[3],y0=a(Gu[4],ae,ne),D0=[0,Tr[1],y0,Y,U],I0=function(Ur){return function(d0,Kr){return ar&&ar[1]!==d0?ue(j0,[0,Kr,[5,E0,ar,Ur]]):0}}(ae);if(typeof H0=="number"){var D=0;if(ar){var u0=ar[1],Y0=0;if(u0===1?ue(j0,[0,Fr,[8,E0,ae]]):u0?(D=1,Y0=1):ue(j0,[0,Fr,[0,E0,ae]]),!Y0)var J0=D0}else D=1;if(D)var J0=[0,[0,Qr[1],Qr[2],Qr[3],[0,[0,Fr,[0,pe]],Qr[4]]],y0,Y,U]}else switch(H0[0]){case 0:ue(j0,[0,H0[1],[5,E0,ar,ae]]);var J0=D0;break;case 1:var fr=H0[1];I0(0,fr);var J0=[0,[0,[0,[0,Fr,[0,pe,[0,fr,H0[2]]]],Qr[1]],Qr[2],Qr[3],Qr[4]],y0,Y,U];break;case 2:var Q0=H0[1];I0(1,Q0);var J0=[0,[0,Qr[1],[0,[0,Fr,[0,pe,[0,Q0,H0[2]]]],Qr[2]],Qr[3],Qr[4]],y0,Y,U];break;default:var F0=H0[1];I0(2,F0);var J0=[0,[0,Qr[1],Qr[2],[0,[0,Fr,[0,pe,[0,F0,H0[2]]]],Qr[3]],Qr[4]],y0,Y,U]}var ce=J0}var Sr=A0(j0),mr=0;if(typeof Sr=="number"){var Cr=Sr-2|0,sr=0;Yt>>0?F7<(Cr+1|0)>>>0&&(sr=1):Cr===6?(Ge(j0,1),V0(j0,8)):sr=1,sr||(mr=1)}mr||V0(j0,9);var Tr=ce}},a0);return[16,[0,_0,b,lr([0,w0],0,0)]]}var s=0;function p(a0){return cr(s,c,a0)}function y(a0,w0){var _0=w0[2][1],E0=w0[1],X0=a0[1];Bs(_0)&&Y7(X0,[0,E0,41]);var b=I9(_0),j0=b||f2(_0);return j0&&Y7(X0,[0,E0,55]),[0,X0,a0[2]]}function T(a0,w0){var _0=w0[2];switch(_0[0]){case 0:return le(E,a0,_0[1][1]);case 1:return le(h,a0,_0[1][1]);case 2:var E0=_0[1][1],X0=E0[2][1],b=a0[2],j0=a0[1];a(Gu[3],X0,b)&&ue(j0,[0,E0[1],42]);var X=y([0,j0,b],E0),s0=a(Gu[4],X0,X[2]);return[0,X[1],s0];default:return ue(a0[1],[0,w0[1],31]),a0}}function E(a0,w0){if(w0[0]===0){var _0=w0[1][2],E0=_0[1],X0=E0[0]===1?y(a0,E0[1]):a0;return T(X0,_0[2])}return T(a0,w0[1][2][1])}function h(a0,w0){return w0[0]===2?a0:T(a0,w0[1][2][1])}function w(a0,w0,_0,E0){var X0=a0[5],b=U1(E0),j0=E0[2],X=j0[3],s0=ys(X0?0:w0,a0),dr=w0||X0||1-b;if(dr){if(_0){var Ar=_0[1],ar=Ar[2][1],W0=Ar[1];Bs(ar)&&Y7(s0,[0,W0,44]);var Lr=I9(ar),Tr=Lr||f2(ar);Tr&&Y7(s0,[0,W0,55])}var Hr=j0[2],Or=[0,s0,Gu[1]],xr=le(function(or,_r){return T(or,_r[2][1])},Or,Hr),Rr=X&&(T(xr,X[1][2][1]),0),Wr=Rr}else var Wr=dr;return Wr}var G=function a0(w0,_0){return a0.fun(w0,_0)};function A(a0){A0(a0)===21&&Ge(a0,c7);var w0=a(se[18],a0,41),_0=A0(a0)===82?1:0,E0=_0&&(V0(a0,82),[0,u(se[10],a0)]);return[0,w0,E0]}var S=0;N(G,function(a0,w0){var _0=A0(a0);if(typeof _0=="number"){var E0=_0-5|0,X0=0;if(7>>0?fs===E0&&(X0=1):5<(E0-1|0)>>>0&&(X0=1),X0){var b=_0===12?1:0;if(b)var j0=pr(a0),X=cr(0,function(ar){return V0(ar,12),a(se[18],ar,41)},a0),s0=lr([0,j0],0,0),dr=[0,[0,X[1],[0,X[2],s0]]];else var dr=b;return A0(a0)!==5&&Ge(a0,64),[0,de(w0),dr]}}var Ar=cr(S,A,a0);return A0(a0)!==5&&V0(a0,9),a(G,a0,[0,Ar,w0])});function M(a0,w0){function _0(X0){var b=dL(w0,ie0(a0,X0)),j0=1,X=b[10]===1?b:[0,b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],j0,b[11],b[12],b[13],b[14],b[15],b[16],b[17],b[18],b[19],b[20],b[21],b[22],b[23],b[24],b[25],b[26],b[27],b[28],b[29],b[30]],s0=pr(X);V0(X,4);var dr=fu(X),Ar=dr&&(A0(X)===21?1:0);if(Ar){var ar=pr(X),W0=cr(0,function(or){return V0(or,21),A0(or)===86?[0,u(t[9],or)]:(Ge(or,Ri),0)},X),Lr=W0[2];if(Lr){A0(X)===9&&ie(X);var Tr=lr([0,ar],0,0),Hr=[0,[0,W0[1],[0,Lr[1],Tr]]]}else var Hr=Lr;var Or=Hr}else var Or=Ar;var xr=a(G,X,0),Rr=pr(X);V0(X,5);var Wr=_u([0,s0],[0,we(X)],Rr,0);return[0,Or,xr[1],xr[2],Wr]}var E0=0;return function(X0){return cr(E0,_0,X0)}}function K(a0,w0,_0,E0,X0){var b=se0(a0,w0,_0,X0),j0=a(se[16],E0,b);return[0,[0,j0[1]],j0[2]]}function V(a0,w0,_0){var E0=De(a0),X0=A0(a0),b=0;if(typeof X0=="number")if(c7===X0){var j0=pr(a0);ie(a0);var s0=[0,[0,E0,[0,0,lr([0,j0],0,0)]]]}else if(D7===X0){var X=pr(a0);ie(a0);var s0=[0,[0,E0,[0,1,lr([0,X],0,0)]]]}else b=1;else b=1;if(b)var s0=0;if(s0){var dr=0;if(!w0&&!_0&&(dr=1),!dr)return ue(a0,[0,s0[1][1],7]),0}return s0}function f0(a0){if(Vt===A0(a0)){var w0=pr(a0);return ie(a0),[0,1,w0]}return R$r}function m0(a0){if(A0(a0)===64&&!Jl(1,a0)){var w0=pr(a0);return ie(a0),[0,1,w0]}return L$r}function k0(a0){var w0=m0(a0),_0=w0[1],E0=w0[2],X0=cr(0,function(W0){var Lr=pr(W0);V0(W0,15);var Tr=f0(W0),Hr=Tr[1],Or=pl([0,E0,[0,Lr,[0,Tr[2],0]]]),xr=W0[7],Rr=A0(W0),Wr=0;if(xr&&typeof Rr=="number"){if(Rr===4){var Ir=0,fe=0;Wr=1}else if(Rr===98){var Jr=xi(W0,u(t[3],W0)),or=A0(W0)===4?0:[0,ds(W0,a(se[13],N$r,W0))],Ir=or,fe=Jr;Wr=1}}if(!Wr)var _r=M1(W0)?ds(W0,a(se[13],C$r,W0)):(de0(W0,P$r),[0,De(W0),D$r]),Ir=[0,_r],fe=xi(W0,u(t[3],W0));var v0=u(M(_0,Hr),W0),P=A0(W0)===86?v0:eb(W0,v0),L=u(t[12],W0),Q=L[2],i0=L[1];if(Q)var l0=Se0(W0,Q),S0=i0;else var l0=Q,S0=a2(W0,i0);return[0,Hr,fe,Ir,P,S0,l0,Or]},a0),b=X0[2],j0=b[4],X=b[3],s0=b[1],dr=K(a0,_0,s0,0,U1(j0));w(a0,dr[2],X,j0);var Ar=X0[1],ar=lr([0,b[7]],0,0);return[23,[0,X,j0,dr[1],_0,s0,b[6],b[5],b[2],ar,Ar]]}var g0=0;function e0(a0){return cr(g0,k0,a0)}function x0(a0,w0){var _0=pr(w0);V0(w0,a0);for(var E0=0,X0=0;;){var b=cr(0,function(ar){var W0=a(se[18],ar,40);if(xu(ar,82))var Lr=0,Tr=[0,u(se[10],ar)];else if(W0[2][0]===2)var Lr=0,Tr=0;else var Lr=[0,[0,W0[1],59]],Tr=0;return[0,[0,W0,Tr],Lr]},w0),j0=b[2],X=j0[2],s0=[0,[0,b[1],j0[1]],E0],dr=X?[0,X[1],X0]:X0;if(xu(w0,9)){var E0=s0,X0=dr;continue}var Ar=de(dr);return[0,de(s0),_0,Ar]}}var l=24;function c0(a0){return x0(l,a0)}function t0(a0){var w0=x0(27,T9(1,a0)),_0=w0[1],E0=w0[3],X0=de(le(function(b,j0){return j0[2][2]?b:[0,[0,j0[1],58],b]},E0,_0));return[0,_0,w0[2],X0]}return[0,m0,f0,V,M,K,w,function(a0){return x0(28,T9(1,a0))},t0,c0,e0,p]}(bn),j9=one(se),oi=function(t){function n(P){var L=P[2];switch(L[0]){case 17:var Q=L[1],i0=Q[1][2][1];if(n0(i0,TQr)){if(!n0(i0,OQr)){var l0=n0(Q[2][2][1],IQr);if(!l0)return l0}}else{var S0=n0(Q[2][2][1],AQr);if(!S0)return S0}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1}var e=t[1],i=function P(L){return P.fun(L)},x=function P(L){return P.fun(L)},c=function P(L){return P.fun(L)},s=function P(L){return P.fun(L)},p=function P(L){return P.fun(L)},y=function P(L){return P.fun(L)},T=function P(L){return P.fun(L)},E=function P(L){return P.fun(L)},h=function P(L){return P.fun(L)},w=function P(L){return P.fun(L)},G=function P(L){return P.fun(L)},A=function P(L){return P.fun(L)},S=function P(L){return P.fun(L)},M=function P(L){return P.fun(L)},K=function P(L){return P.fun(L)},V=function P(L){return P.fun(L)},f0=function P(L){return P.fun(L)},m0=function P(L,Q,i0,l0,S0){return P.fun(L,Q,i0,l0,S0)},k0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},g0=function P(L){return P.fun(L)},e0=function P(L){return P.fun(L)},x0=function P(L){return P.fun(L)},l=function P(L,Q,i0,l0,S0){return P.fun(L,Q,i0,l0,S0)},c0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},t0=function P(L){return P.fun(L)},a0=function P(L,Q,i0){return P.fun(L,Q,i0)},w0=function P(L){return P.fun(L)},_0=function P(L,Q,i0){return P.fun(L,Q,i0)},E0=function P(L){return P.fun(L)},X0=function P(L){return P.fun(L)},b=function P(L,Q){return P.fun(L,Q)},j0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},X=function P(L){return P.fun(L)},s0=function P(L,Q,i0){return P.fun(L,Q,i0)},dr=function P(L){return P.fun(L)},Ar=function P(L){return P.fun(L)},ar=function P(L){return P.fun(L)},W0=function P(L,Q,i0){return P.fun(L,Q,i0)},Lr=t[2];function Tr(P){var L=De(P),Q=u(y,P),i0=u(p,P);if(i0){var l0=i0[1];return[0,cr([0,L],function(S0){var T0=ur(Lr,0,S0,Q);return[2,[0,l0,T0,u(x,S0),0]]},P)]}return Q}function Hr(P,L){if(typeof L=="number"){var Q=L!==55?1:0;if(!Q)return Q}throw Hs}function Or(P){var L=O9(Hr,P),Q=Tr(L),i0=A0(L);if(typeof i0=="number"){if(i0===11)throw Hs;if(i0===86){var l0=oe0(L),S0=0;if(l0){var T0=l0[1];if(typeof T0=="number"&&T0===5){var rr=1;S0=1}}if(!S0)var rr=0;if(rr)throw Hs}}if(M1(L)){if(Q[0]===0){var R0=Q[1][2];if(R0[0]===10&&!n0(R0[1][2][1],FQr)&&!f7(L))throw Hs}return Q}return Q}N(i,function(P){var L=A0(P),Q=0,i0=M1(P);if(typeof L=="number"){var l0=0;if(22<=L)if(L===58){if(P[17])return[0,u(c,P)];l0=1}else L!==98&&(l0=1);else L!==4&&!(21<=L)&&(l0=1);l0||(Q=1)}if(!Q&&!i0)return Tr(P);var S0=0;if(L===64&&fu(P)&&Vn(1,P)===98){var T0=Or,rr=ar;S0=1}if(!S0)var T0=ar,rr=Or;var R0=FL(P,rr);if(R0)return R0[1];var B=FL(P,T0);return B?B[1]:Tr(P)}),N(x,function(P){return a(e,P,u(i,P))}),N(c,function(P){return cr(0,function(L){L[10]&&Ge(L,91);var Q=pr(L),i0=De(L);V0(L,58);var l0=De(L);if(x2(L))var S0=0,T0=0;else{var rr=xu(L,Vt),R0=A0(L),B=0;if(typeof R0=="number"){var Z=0;if(R0!==86)if(10<=R0)Z=1;else switch(R0){case 0:case 2:case 3:case 4:case 6:Z=1;break}if(!Z){var p0=0;B=1}}if(!B)var p0=1;var b0=rr||p0,O0=b0&&[0,u(x,L)],S0=rr,T0=O0}var q0=T0?0:we(L),er=yt(i0,l0);return[30,[0,T0,lr([0,Q],[0,q0],0),S0,er]]},P)}),N(s,function(P){var L=P[2];switch(L[0]){case 17:var Q=L[1],i0=Q[1][2][1];if(n0(i0,wQr)){if(!n0(i0,EQr)){var l0=n0(Q[2][2][1],SQr);if(!l0)return l0}}else{var S0=n0(Q[2][2][1],gQr);if(!S0)return S0}break;case 10:case 16:break;default:return 0}return 1}),N(p,function(P){var L=A0(P),Q=0;if(typeof L=="number"){var i0=L-67|0;if(!(15>>0)){switch(i0){case 0:var l0=fQr;break;case 1:var l0=xQr;break;case 2:var l0=aQr;break;case 3:var l0=oQr;break;case 4:var l0=cQr;break;case 5:var l0=sQr;break;case 6:var l0=vQr;break;case 7:var l0=lQr;break;case 8:var l0=bQr;break;case 9:var l0=pQr;break;case 10:var l0=mQr;break;case 11:var l0=_Qr;break;case 12:var l0=yQr;break;case 13:var l0=dQr;break;case 14:var l0=hQr;break;default:var l0=kQr}var S0=l0;Q=1}}if(!Q)var S0=0;return S0!==0&&ie(P),S0}),N(y,function(P){var L=De(P),Q=u(E,P);if(A0(P)===85){ie(P);var i0=u(x,Kl(0,P));V0(P,86);var l0=cr(0,x,P),S0=yt(L,l0[1]),T0=l0[2];return[0,[0,S0,[7,[0,a(e,P,Q),i0,T0,0]]]]}return Q}),N(T,function(P){return a(e,P,u(y,P))});function xr(P,L,Q,i0,l0){var S0=a(e,P,L);return[0,[0,l0,[15,[0,i0,S0,a(e,P,Q),0]]]]}function Rr(P,L,Q,i0){for(var l0=P,S0=Q,T0=i0;;){var rr=A0(L);if(typeof rr=="number"&&rr===84){1-l0&&Ge(L,iQr),V0(L,84);var R0=cr(0,h,L),B=R0[2],Z=R0[1],p0=A0(L),b0=0;if(typeof p0=="number"&&!(1<(p0-87|0)>>>0)){Ge(L,[23,sL(p0)]);var O0=Jr(L,B,Z),q0=Wr(L,O0[2],O0[1]),er=q0[2],yr=q0[1];b0=1}if(!b0)var er=B,yr=Z;var vr=yt(T0,yr),l0=1,S0=xr(L,S0,er,2,vr),T0=vr;continue}return[0,T0,S0]}}function Wr(P,L,Q){for(var i0=L,l0=Q;;){var S0=A0(P);if(typeof S0=="number"&&S0===87){ie(P);var T0=cr(0,h,P),rr=Jr(P,T0[2],T0[1]),R0=yt(l0,rr[1]),B=Rr(0,P,xr(P,i0,rr[2],0,R0),R0),i0=B[2],l0=B[1];continue}return[0,l0,i0]}}function Jr(P,L,Q){for(var i0=L,l0=Q;;){var S0=A0(P);if(typeof S0=="number"&&S0===88){ie(P);var T0=cr(0,h,P),rr=yt(l0,T0[1]),R0=Rr(0,P,xr(P,i0,T0[2],1,rr),rr),i0=R0[2],l0=R0[1];continue}return[0,l0,i0]}}N(E,function(P){var L=cr(0,h,P),Q=L[2],i0=L[1],l0=A0(P),S0=0;if(typeof l0=="number"&&l0===84){var rr=Rr(1,P,Q,i0);S0=1}if(!S0)var T0=Jr(P,Q,i0),rr=Wr(P,T0[2],T0[1]);return rr[2]});function or(P,L,Q,i0){return[0,i0,[3,[0,Q,P,L,0]]]}N(h,function(P){var L=0;r:for(;;){var Q=cr(0,function(k){var I=u(w,k)!==0?1:0;return[0,I,u(G,Kl(0,k))]},P),i0=Q[2],l0=i0[2],S0=Q[1];if(A0(P)===98){var T0=0;l0[0]===0&&l0[1][2][0]===12?Ge(P,63):T0=1}var rr=A0(P),R0=0;if(typeof rr=="number"){var B=rr-17|0,Z=0;if(1>>0)if(72<=B)switch(B-72|0){case 0:var p0=jZr;break;case 1:var p0=GZr;break;case 2:var p0=MZr;break;case 3:var p0=BZr;break;case 4:var p0=qZr;break;case 5:var p0=UZr;break;case 6:var p0=HZr;break;case 7:var p0=XZr;break;case 8:var p0=YZr;break;case 9:var p0=VZr;break;case 10:var p0=zZr;break;case 11:var p0=KZr;break;case 12:var p0=WZr;break;case 13:var p0=JZr;break;case 14:var p0=$Zr;break;case 15:var p0=ZZr;break;case 16:var p0=QZr;break;case 17:var p0=rQr;break;case 18:var p0=eQr;break;case 19:var p0=nQr;break;default:Z=1}else Z=1;else var p0=B?tQr:P[12]?0:uQr;if(!Z){var b0=p0;R0=1}}if(!R0)var b0=0;if(b0!==0&&ie(P),!L&&!b0)return l0;if(b0){var O0=b0[1],q0=O0[1],er=i0[1],yr=er&&(q0===14?1:0);yr&&ue(P,[0,S0,27]);for(var vr=a(e,P,l0),$0=vr,Er=[0,q0,O0[2]],Mr=S0,Br=L;;){var qr=Er[2],jr=Er[1];if(Br){var $r=Br[1],ne=$r[2],Qr=ne[2],be=Qr[0]===0?Qr[1]:Qr[1]-1|0;if(qr[1]<=be){var oe=yt($r[3],Mr),pe=or($r[1],$0,ne[1],oe),$0=pe,Er=[0,jr,qr],Mr=oe,Br=Br[2];continue}}var L=[0,[0,$0,[0,jr,qr],Mr],Br];continue r}}for(var ae=a(e,P,l0),ce=S0,ge=L;;){if(ge){var H0=ge[1],Fr=yt(H0[3],ce),_=ge[2],ae=or(H0[1],ae,H0[2][1],Fr),ce=Fr,ge=_;continue}return[0,ae]}}}),N(w,function(P){var L=A0(P);if(typeof L=="number"){if(48<=L){if(c7<=L){if(!(vf<=L))switch(L-103|0){case 0:return IZr;case 1:return AZr;case 6:return NZr;case 7:return CZr}}else if(L===65&&P[18])return PZr}else if(45<=L)switch(L+mv|0){case 0:return DZr;case 1:return LZr;default:return RZr}}return 0}),N(G,function(P){var L=De(P),Q=pr(P),i0=u(w,P);if(i0){var l0=i0[1];ie(P);var S0=cr(0,A,P),T0=S0[2],rr=yt(L,S0[1]),R0=0;if(l0===6){var B=T0[2],Z=0;switch(B[0]){case 10:Y7(P,[0,rr,47]);break;case 16:B[1][2][0]===1&&ue(P,[0,rr,88]);break;default:Z=1}Z||(R0=1)}return[0,[0,rr,[28,[0,l0,T0,lr([0,Q],0,0)]]]]}var p0=A0(P),b0=0;if(typeof p0=="number")if(vf===p0)var O0=OZr;else if(F7===p0)var O0=TZr;else b0=1;else b0=1;if(b0)var O0=0;if(O0){ie(P);var q0=cr(0,A,P),er=q0[2];1-u(s,er)&&ue(P,[0,er[1],26]);var yr=er[2],vr=0;yr[0]===10&&Bs(yr[1][2][1])&&(Si(P,54),vr=1);var $0=yt(L,q0[1]),Er=lr([0,Q],0,0);return[0,[0,$0,[29,[0,O0[1],er,1,Er]]]]}return u(S,P)}),N(A,function(P){return a(e,P,u(G,P))}),N(S,function(P){var L=u(M,P);if(f7(P))return L;var Q=A0(P),i0=0;if(typeof Q=="number")if(vf===Q)var l0=FZr;else if(F7===Q)var l0=gZr;else i0=1;else i0=1;if(i0)var l0=0;if(l0){var S0=a(e,P,L);1-u(s,S0)&&ue(P,[0,S0[1],26]);var T0=S0[2],rr=0;T0[0]===10&&Bs(T0[1][2][1])&&(Si(P,53),rr=1);var R0=De(P);ie(P);var B=we(P),Z=yt(S0[1],R0),p0=lr(0,[0,B],0);return[0,[0,Z,[29,[0,l0[1],S0,0,p0]]]]}return L}),N(M,function(P){var L=De(P),Q=1-P[16],i0=0,l0=P[16]===0?P:[0,P[1],P[2],P[3],P[4],P[5],P[6],P[7],P[8],P[9],P[10],P[11],P[12],P[13],P[14],P[15],i0,P[17],P[18],P[19],P[20],P[21],P[22],P[23],P[24],P[25],P[26],P[27],P[28],P[29],P[30]],S0=A0(l0),T0=0;if(typeof S0=="number"){var rr=S0-44|0;if(!(7>>0)){var R0=0;switch(rr){case 0:if(Q)var B=[0,u(g0,l0)];else R0=1;break;case 6:var B=[0,u(f0,l0)];break;case 7:var B=[0,u(V,l0)];break;default:R0=1}if(!R0){var Z=B;T0=1}}}if(!T0)var Z=qs(l0)?[0,u(t0,l0)]:u(E0,l0);return b7(m0,0,0,l0,L,Z)}),N(K,function(P){return a(e,P,u(M,P))}),N(V,function(P){switch(P[21]){case 0:var L=0,Q=0;break;case 1:var L=0,Q=1;break;default:var L=1,Q=1}var i0=De(P),l0=pr(P);V0(P,51);var S0=[0,i0,[23,[0,lr([0,l0],[0,we(P)],0)]]],T0=A0(P);if(typeof T0=="number"&&!(11<=T0))switch(T0){case 4:var rr=L?S0:(ue(P,[0,i0,5]),[0,i0,[10,Gc(0,[0,i0,hZr])]]);return R(k0,kZr,P,i0,rr);case 6:case 10:var R0=Q?S0:(ue(P,[0,i0,4]),[0,i0,[10,Gc(0,[0,i0,EZr])]]);return R(k0,SZr,P,i0,R0)}return Q?Ft(wZr,P):ue(P,[0,i0,4]),S0}),N(f0,function(P){return cr(0,function(L){var Q=pr(L),i0=De(L);if(V0(L,50),xu(L,10)){var l0=Gc(0,[0,i0,_Zr]),S0=De(L);Zl(L,yZr);var T0=Gc(0,[0,S0,dZr]);return[17,[0,l0,T0,lr([0,Q],[0,we(L)],0)]]}var rr=pr(L);V0(L,4);var R0=ur(s0,[0,rr],0,u(x,Kl(0,L)));return V0(L,5),[11,[0,R0,lr([0,Q],[0,we(L)],0)]]},P)}),N(m0,function(P,L,Q,i0,l0){var S0=P?P[1]:1,T0=L&&L[1],rr=b7(l,[0,S0],[0,T0],Q,i0,l0),R0=oe0(Q),B=0;if(R0){var Z=R0[1];if(typeof Z=="number"&&Z===83){var p0=1;B=1}}if(!B)var p0=0;function b0(vr){var $0=$t(vr);function Er(Br,qr){return a(Ze(Br,Di,78),Br,qr)}var Mr=a(e,vr,rr);return a($0[2],Mr,Er)}function O0(vr,$0,Er){var Mr=u(x0,$0),Br=Mr[1],qr=yt(i0,Br),jr=[0,Er,vr,[0,Br,Mr[2]],0],$r=0;if(!p0&&!T0){var ne=[4,jr];$r=1}if(!$r)var ne=[20,[0,jr,qr,p0]];var Qr=T0||p0;return b7(m0,[0,S0],[0,Qr],$0,i0,[0,[0,qr,ne]])}if(Q[13])return rr;var q0=A0(Q);if(typeof q0=="number"){var er=q0-98|0;if(2>>0){if(er===-94)return O0(0,Q,b0(Q))}else if(er!==1&&fu(Q)){var yr=O9(function(vr,$0){throw Hs},Q);return we0(yr,rr,function(vr){var $0=b0(vr);return O0(u(e0,vr),vr,$0)})}}return rr}),N(k0,function(P,L,Q,i0){var l0=P?P[1]:1;return a(e,L,b7(m0,[0,l0],0,L,Q,[0,i0]))}),N(g0,function(P){return cr(0,function(L){var Q=De(L),i0=pr(L);if(V0(L,44),L[11]&&A0(L)===10){var l0=we(L);ie(L);var S0=Gc(lr([0,i0],[0,l0],0),[0,Q,lZr]),T0=A0(L);return typeof T0!="number"&&T0[0]===4&&!n0(T0[3],bZr)?[17,[0,S0,a(se[13],0,L),0]]:(Ft(pZr,L),ie(L),[10,S0])}var rr=De(L),R0=A0(L),B=0;if(typeof R0=="number")if(R0===44)var Z=u(g0,L);else if(R0===51)var Z=u(V,hL(1,L));else B=1;else B=1;if(B)var Z=qs(L)?u(t0,L):u(X0,L);var p0=R(c0,mZr,hL(1,L),rr,Z),b0=A0(L),O0=0;if(typeof b0!="number"&&b0[0]===3){var q0=R(j0,L,rr,p0,b0[1]);O0=1}if(!O0)var q0=p0;var er=0;if(A0(L)!==4){var yr=0;if(fu(L)&&A0(L)===98&&(yr=1),!yr){var Er=q0;er=1}}if(!er)var vr=$t(L),$0=function(ne,Qr){return a(Ze(ne,Di,79),ne,Qr)},Er=a(vr[2],q0,$0);var Mr=fu(L),Br=Mr&&we0(O9(function(ne,Qr){throw Hs},L),0,e0),qr=A0(L),jr=0;if(typeof qr=="number"&&qr===4){var $r=[0,u(x0,L)];jr=1}if(!jr)var $r=0;return[18,[0,Er,Br,$r,lr([0,i0],0,0)]]},P)});function _r(P){var L=pr(P);V0(P,98);for(var Q=0;;){var i0=A0(P);if(typeof i0=="number"){var l0=0;if((i0===99||Pn===i0)&&(l0=1),l0){var S0=de(Q),T0=pr(P);V0(P,99);var rr=A0(P)===4?$t(P)[1]:we(P);return[0,S0,_u([0,L],[0,rr],T0,0)]}}var R0=A0(P),B=0;if(typeof R0!="number"&&R0[0]===4&&!n0(R0[2],sZr)){var Z=De(P),p0=pr(P);Zl(P,vZr);var b0=[1,[0,Z,[0,lr([0,p0],[0,we(P)],0)]]];B=1}if(!B)var b0=[0,u(bn[1],P)];var O0=[0,b0,Q];A0(P)!==99&&V0(P,9);var Q=O0}}N(e0,function(P){zu(P,1);var L=A0(P)===98?1:0,Q=L&&[0,cr(0,_r,P)];return h7(P),Q});function Ir(P){var L=pr(P);V0(P,12);var Q=u(x,P);return[0,Q,lr([0,L],0,0)]}N(x0,function(P){return cr(0,function(L){var Q=pr(L);V0(L,4);for(var i0=0;;){var l0=A0(L);if(typeof l0=="number"){var S0=0;if((l0===5||Pn===l0)&&(S0=1),S0){var T0=de(i0),rr=pr(L);return V0(L,5),[0,T0,_u([0,Q],[0,we(L)],rr,0)]}}var R0=A0(L),B=0;if(typeof R0=="number"&&R0===12){var Z=[1,cr(0,Ir,L)];B=1}if(!B)var Z=[0,u(x,L)];var p0=[0,Z,i0];A0(L)!==5&&V0(L,9);var i0=p0}},P)}),N(l,function(P,L,Q,i0,l0){var S0=P?P[1]:1,T0=L&&L[1],rr=A0(Q),R0=0;if(typeof rr=="number")switch(rr){case 6:ie(Q);var B=0,Z=[0,T0],p0=[0,S0];R0=2;break;case 10:ie(Q);var b0=0,O0=[0,T0],q0=[0,S0];R0=1;break;case 83:1-S0&&Ge(Q,99),V0(Q,83);var er=0,yr=A0(Q);if(typeof yr=="number")switch(yr){case 4:return l0;case 6:ie(Q);var B=fZr,Z=xZr,p0=[0,S0];R0=2,er=1;break;case 98:if(fu(Q))return l0;break}else if(yr[0]===3)return Ge(Q,ni),l0;if(!er){var b0=aZr,O0=oZr,q0=[0,S0];R0=1}break}else if(rr[0]===3){T0&&Ge(Q,ni);var vr=rr[1];return b7(m0,cZr,0,Q,i0,[0,R(j0,Q,i0,a(e,Q,l0),vr)])}switch(R0){case 0:return l0;case 1:var $0=q0?S0:1,Er=O0&&O0[1],Mr=b0&&b0[1],Br=A0(Q),qr=0;if(typeof Br=="number"&&Br===14){var jr=Ae0(Q),$r=jr[1],ne=Q[29][1],Qr=jr[2][1];if(ne){var be=ne[1];Q[29][1]=[0,[0,be[1],[0,[0,Qr,$r],be[2]]],ne[2]]}else ue(Q,[0,$r,89]);var pe=[1,jr],ae=$r;qr=1}if(!qr)var oe=V7(Q),pe=[0,oe],ae=oe[1];var ce=yt(i0,ae),ge=0;l0[0]===0&&l0[1][2][0]===23&&pe[0]===1&&(ue(Q,[0,ce,90]),ge=1);var H0=[0,a(e,Q,l0),pe,0],Fr=Er?[21,[0,H0,ce,Mr]]:[16,H0];return b7(m0,[0,$0],[0,Er],Q,i0,[0,[0,ce,Fr]]);default:var _=p0?S0:1,k=Z&&Z[1],I=B&&B[1],U=hL(0,Q),Y=u(se[7],U),y0=De(Q);V0(Q,7);var D0=we(Q),I0=yt(i0,y0),D=lr(0,[0,D0],0),u0=[0,a(e,Q,l0),[2,Y],D],Y0=k?[21,[0,u0,I0,I]]:[16,u0];return b7(m0,[0,_],[0,k],Q,i0,[0,[0,I0,Y0]])}}),N(c0,function(P,L,Q,i0){var l0=P?P[1]:1;return a(e,L,b7(l,[0,l0],0,L,Q,[0,i0]))}),N(t0,function(P){return cr(0,function(L){var Q=u(zn[1],L),i0=Q[1],l0=Q[2],S0=cr(0,function(q0){var er=pr(q0);V0(q0,15);var yr=u(zn[2],q0),vr=yr[1],$0=pl([0,l0,[0,er,[0,yr[2],0]]]);if(A0(q0)===4)var Er=0,Mr=0;else{var Br=A0(q0),qr=0;if(typeof Br=="number"){var jr=Br!==98?1:0;if(!jr){var ne=jr;qr=1}}if(!qr)var $r=dL(vr,ie0(i0,q0)),ne=[0,ds($r,a(se[13],iZr,$r))];var Er=xi(q0,u(bn[3],q0)),Mr=ne}var Qr=t2(0,q0),be=ur(zn[4],i0,vr,Qr),oe=A0(Qr)===86?be:eb(Qr,be),pe=u(bn[12],Qr),ae=pe[2],ce=pe[1];if(ae)var ge=Se0(Qr,ae),H0=ce;else var ge=ae,H0=a2(Qr,ce);return[0,Mr,oe,vr,ge,H0,Er,$0]},L),T0=S0[2],rr=T0[3],R0=T0[2],B=T0[1],Z=U1(R0),p0=b7(zn[5],L,i0,rr,1,Z);R(zn[6],L,p0[2],B,R0);var b0=S0[1],O0=lr([0,T0[7]],0,0);return[8,[0,B,R0,p0[1],i0,rr,T0[4],T0[5],T0[6],O0,b0]]},P)}),N(a0,function(P,L,Q){switch(L){case 1:Si(P,45);try{var i0=jv(Rv(Te(rZr,Q))),l0=i0}catch(R0){if(R0=gt(R0),R0[1]!==B7)throw R0;var l0=ke(Te(eZr,Q))}break;case 2:Si(P,46);try{var S0=al(Q),l0=S0}catch(R0){if(R0=gt(R0),R0[1]!==B7)throw R0;var l0=ke(Te(nZr,Q))}break;case 4:try{var T0=al(Q),l0=T0}catch(R0){if(R0=gt(R0),R0[1]!==B7)throw R0;var l0=ke(Te(tZr,Q))}break;default:try{var rr=jv(Rv(Q)),l0=rr}catch(R0){if(R0=gt(R0),R0[1]!==B7)throw R0;var l0=ke(Te(uZr,Q))}}return V0(P,[0,L,Q]),l0}),N(w0,function(P){var L=nn(P);return L!==0&&Yt===At(P,L-1|0)?p7(P,0,L-1|0):P}),N(_0,function(P,L,Q){if(2<=L){var i0=u(w0,Q);try{var l0=al(i0),S0=l0}catch(Z){if(Z=gt(Z),Z[1]!==B7)throw Z;var S0=ke(Te(Z$r,i0))}var T0=S0}else{var rr=u(w0,Q);try{var R0=jv(Rv(rr)),B=R0}catch(p0){if(p0=gt(p0),p0[1]!==B7)throw p0;var B=ke(Te(Q$r,rr))}var T0=B}return V0(P,[1,L,Q]),T0}),N(E0,function(P){var L=De(P),Q=pr(P),i0=A0(P);if(typeof i0=="number")switch(i0){case 0:var l0=u(se[12],P);return[1,[0,l0[1],[19,l0[2]]],l0[3]];case 4:return[0,u(X,P)];case 6:var S0=cr(0,dr,P),T0=S0[2];return[1,[0,S0[1],[0,T0[1]]],T0[2]];case 21:return ie(P),[0,[0,L,[26,[0,lr([0,Q],[0,we(P)],0)]]]];case 29:return ie(P),[0,[0,L,[14,[0,0,K$r,lr([0,Q],[0,we(P)],0)]]]];case 40:return[0,u(se[22],P)];case 98:var rr=u(se[17],P),R0=rr[2],B=rr[1],Z=Ni<=R0[1]?[13,R0[2]]:[12,R0[2]];return[0,[0,B,Z]];case 30:case 31:ie(P);var p0=i0===31?1:0,b0=p0?J$r:$$r;return[0,[0,L,[14,[0,[1,p0],b0,lr([0,Q],[0,we(P)],0)]]]];case 74:case 105:return[0,u(Ar,P)]}else switch(i0[0]){case 0:var O0=i0[2],q0=[2,ur(a0,P,i0[1],O0)];return[0,[0,L,[14,[0,q0,O0,lr([0,Q],[0,we(P)],0)]]]];case 1:var er=i0[2],yr=[3,ur(_0,P,i0[1],er)];return[0,[0,L,[14,[0,yr,er,lr([0,Q],[0,we(P)],0)]]]];case 2:var vr=i0[1];vr[4]&&Si(P,45),ie(P);var $0=[0,vr[2]],Er=lr([0,Q],[0,we(P)],0);return[0,[0,vr[1],[14,[0,$0,vr[3],Er]]]];case 3:var Mr=a(b,P,i0[1]);return[0,[0,Mr[1],[25,Mr[2]]]]}if(M1(P)){var Br=a(se[13],0,P);return[0,[0,Br[1],[10,Br]]]}Ft(0,P);var qr=0;return typeof i0!="number"&&i0[0]===6&&(ie(P),qr=1),[0,[0,L,[14,[0,0,W$r,lr([0,Q],[0,0],0)]]]]}),N(X0,function(P){return a(e,P,u(E0,P))}),N(b,function(P,L){var Q=L[3],i0=L[2],l0=L[1],S0=pr(P);V0(P,[3,L]);var T0=[0,l0,[0,[0,i0[2],i0[1]],Q]];if(Q)var rr=0,R0=[0,T0,0],B=l0;else for(var Z=[0,T0,0],p0=0;;){var b0=u(se[7],P),O0=[0,b0,p0],q0=A0(P),er=0;if(typeof q0=="number"&&q0===1){zu(P,4);var yr=A0(P),vr=0;if(typeof yr!="number"&&yr[0]===3){var $0=yr[1],Er=$0[3],Mr=$0[2],Br=$0[1];ie(P);var qr=[0,[0,Mr[2],Mr[1]],Er];h7(P);var jr=[0,[0,Br,qr],Z];if(!Er){var Z=jr,p0=O0;continue}var $r=de(O0),ne=[0,Br,de(jr),$r];er=1,vr=1}if(!vr)throw[0,Sn,Y$r]}if(!er){Ft(V$r,P);var Qr=[0,b0[1],z$r],be=de(O0),oe=de([0,Qr,Z]),ne=[0,b0[1],oe,be]}var rr=ne[3],R0=ne[2],B=ne[1];break}var pe=we(P),ae=yt(l0,B);return[0,ae,[0,R0,rr,lr([0,S0],[0,pe],0)]]}),N(j0,function(P,L,Q,i0){var l0=$t(P);function S0(R0,B){return a(Ze(R0,Di,28),R0,B)}var T0=a(l0[2],Q,S0),rr=a(b,P,i0);return[0,yt(L,rr[1]),[24,[0,T0,rr,0]]]}),N(X,function(P){var L=pr(P),Q=cr(0,function(T0){V0(T0,4);var rr=De(T0),R0=u(x,T0),B=A0(T0),Z=0;if(typeof B=="number")if(B===9)var p0=[0,ur(W0,T0,rr,[0,R0,0])];else if(B===86)var p0=[1,[0,R0,u(bn[9],T0),0]];else Z=1;else Z=1;if(Z)var p0=[0,R0];return V0(T0,5),p0},P),i0=Q[2],l0=we(P),S0=i0[0]===0?i0[1]:[0,Q[1],[27,i0[1]]];return ur(s0,[0,L],[0,l0],S0)}),N(s0,function(P,L,Q){var i0=Q[2],l0=P&&P[1],S0=L&&L[1];function T0(We){return _7(We,lr([0,l0],[0,S0],0))}function rr(We){return QD(We,lr([0,l0],[0,S0],0))}switch(i0[0]){case 0:var R0=i0[1],B=rr(R0[2]),Ce=[0,[0,R0[1],B]];break;case 1:var Z=i0[1],p0=Z[10],b0=T0(Z[9]),Ce=[1,[0,Z[1],Z[2],Z[3],Z[4],Z[5],Z[6],Z[7],Z[8],b0,p0]];break;case 2:var O0=i0[1],q0=T0(O0[4]),Ce=[2,[0,O0[1],O0[2],O0[3],q0]];break;case 3:var er=i0[1],yr=T0(er[4]),Ce=[3,[0,er[1],er[2],er[3],yr]];break;case 4:var vr=i0[1],$0=T0(vr[4]),Ce=[4,[0,vr[1],vr[2],vr[3],$0]];break;case 5:var Er=i0[1],Mr=T0(Er[7]),Ce=[5,[0,Er[1],Er[2],Er[3],Er[4],Er[5],Er[6],Mr]];break;case 7:var Br=i0[1],qr=T0(Br[4]),Ce=[7,[0,Br[1],Br[2],Br[3],qr]];break;case 8:var jr=i0[1],$r=jr[10],ne=T0(jr[9]),Ce=[8,[0,jr[1],jr[2],jr[3],jr[4],jr[5],jr[6],jr[7],jr[8],ne,$r]];break;case 10:var Qr=i0[1],be=Qr[2],oe=T0(be[2]),Ce=[10,[0,Qr[1],[0,be[1],oe]]];break;case 11:var pe=i0[1],ae=T0(pe[2]),Ce=[11,[0,pe[1],ae]];break;case 12:var ce=i0[1],ge=T0(ce[4]),Ce=[12,[0,ce[1],ce[2],ce[3],ge]];break;case 13:var H0=i0[1],Fr=T0(H0[4]),Ce=[13,[0,H0[1],H0[2],H0[3],Fr]];break;case 14:var _=i0[1],k=T0(_[3]),Ce=[14,[0,_[1],_[2],k]];break;case 15:var I=i0[1],U=T0(I[4]),Ce=[15,[0,I[1],I[2],I[3],U]];break;case 16:var Y=i0[1],y0=T0(Y[3]),Ce=[16,[0,Y[1],Y[2],y0]];break;case 17:var D0=i0[1],I0=T0(D0[3]),Ce=[17,[0,D0[1],D0[2],I0]];break;case 18:var D=i0[1],u0=T0(D[4]),Ce=[18,[0,D[1],D[2],D[3],u0]];break;case 19:var Y0=i0[1],J0=rr(Y0[2]),Ce=[19,[0,Y0[1],J0]];break;case 20:var fr=i0[1],Q0=fr[1],F0=fr[3],Sr=fr[2],mr=T0(Q0[4]),Ce=[20,[0,[0,Q0[1],Q0[2],Q0[3],mr],Sr,F0]];break;case 21:var Cr=i0[1],sr=Cr[1],Pr=Cr[3],K0=Cr[2],Ur=T0(sr[3]),Ce=[21,[0,[0,sr[1],sr[2],Ur],K0,Pr]];break;case 22:var d0=i0[1],Kr=T0(d0[2]),Ce=[22,[0,d0[1],Kr]];break;case 23:var Ce=[23,[0,T0(i0[1][1])]];break;case 24:var re=i0[1],xe=T0(re[3]),Ce=[24,[0,re[1],re[2],xe]];break;case 25:var je=i0[1],ve=T0(je[3]),Ce=[25,[0,je[1],je[2],ve]];break;case 26:var Ce=[26,[0,T0(i0[1][1])]];break;case 27:var Ie=i0[1],Me=T0(Ie[3]),Ce=[27,[0,Ie[1],Ie[2],Me]];break;case 28:var Be=i0[1],fn=T0(Be[3]),Ce=[28,[0,Be[1],Be[2],fn]];break;case 29:var Ke=i0[1],Ae=T0(Ke[4]),Ce=[29,[0,Ke[1],Ke[2],Ke[3],Ae]];break;case 30:var xn=i0[1],Qe=xn[4],dn=xn[3],on=T0(xn[2]),Ce=[30,[0,xn[1],on,dn,Qe]];break;default:var Ce=i0}return[0,Q[1],Ce]}),N(dr,function(P){var L=pr(P);V0(P,6);for(var Q=[0,0,t[3]];;){var i0=Q[2],l0=Q[1],S0=A0(P);if(typeof S0=="number"){var T0=0;if(13<=S0)Pn===S0&&(T0=1);else if(7<=S0)switch(S0-7|0){case 2:var rr=De(P);ie(P);var Q=[0,[0,[2,rr],l0],i0];continue;case 5:var R0=pr(P),B=cr(0,function(Qr){ie(Qr);var be=u(i,Qr);return be[0]===0?[0,be[1],t[3]]:[0,be[1],be[2]]},P),Z=B[2],p0=Z[2],b0=B[1],O0=lr([0,R0],0,0),q0=[1,[0,b0,[0,Z[1],O0]]],er=A0(P)===7?1:0,yr=0;if(!er&&Vn(1,P)===7){var vr=[0,p0[1],[0,[0,b0,65],p0[2]]];yr=1}if(!yr)var vr=p0;1-er&&V0(P,9);var Q=[0,[0,q0,l0],a(t[5],vr,i0)];continue;case 0:T0=1;break}if(T0){var $0=u(t[6],i0),Er=de(l0),Mr=pr(P);return V0(P,7),[0,[0,Er,_u([0,L],[0,we(P)],Mr,0)],$0]}}var Br=u(i,P);if(Br[0]===0)var qr=t[3],jr=Br[1];else var qr=Br[2],jr=Br[1];A0(P)!==7&&V0(P,9);var Q=[0,[0,[0,jr],l0],a(t[5],qr,i0)]}}),N(Ar,function(P){zu(P,5);var L=De(P),Q=pr(P),i0=A0(P),l0=0;if(typeof i0!="number"&&i0[0]===5){var S0=i0[3],T0=i0[2];ie(P);var rr=we(P),R0=rr,B=S0,Z=T0,p0=Te(B$r,Te(T0,Te(M$r,S0)));l0=1}if(!l0){Ft(q$r,P);var R0=0,B=U$r,Z=H$r,p0=X$r}h7(P);var b0=Zn(nn(B)),O0=nn(B)-1|0,q0=0;if(!(O0<0))for(var er=q0;;){var yr=Vr(B,er),vr=yr-100|0,$0=0;if(!(21>>0))switch(vr){case 0:case 3:case 5:case 9:case 15:case 17:case 21:qi(b0,yr),$0=1;break}var Er=er+1|0;if(O0!==er){var er=Er;continue}break}var Mr=qt(b0);return n0(Mr,B)&&Ge(P,[13,B]),[0,L,[14,[0,[4,[0,Z,Mr]],p0,lr([0,Q],[0,R0],0)]]]});function fe(P,L){if(typeof L=="number"){var Q=0;if(61<=L){var i0=L-64|0;27>>0?i0===43&&(Q=1):25<(i0-1|0)>>>0&&(Q=1)}else{var l0=L+hy|0;17>>0?-1<=l0&&(Q=1):l0===13&&(Q=1)}if(Q)return 0}throw Hs}function v0(P){var L=A0(P);if(typeof L=="number"&&!L){var Q=a(se[16],1,P);return[0,[0,Q[1]],Q[2]]}return[0,[1,u(se[10],P)],0]}return N(ar,function(P){var L=O9(fe,P),Q=De(L);if(Vn(1,L)===11)var l0=0,S0=0;else var i0=u(zn[1],L),l0=i0[2],S0=i0[1];var T0=cr(0,function(ne){var Qr=xi(ne,u(bn[3],ne));if(M1(ne)&&Qr===0){var be=a(se[13],G$r,ne),oe=be[1],pe=[0,oe,[0,[0,oe,[2,[0,be,[0,G1(ne)],0]]],0]];return[0,Qr,[0,oe,[0,0,[0,pe,0],0,0]],[0,[0,oe[1],oe[3],oe[3]]],0]}var ae=ur(zn[4],ne[18],ne[17],ne),ce=u2(1,ne),ge=u(bn[12],ce);return[0,Qr,ae,ge[1],ge[2]]},L),rr=T0[2],R0=rr[2],B=R0[2],Z=0;if(!B[1]){var p0=0;if(!B[3]&&B[2]&&(p0=1),!p0){var b0=ce0(L);Z=1}}if(!Z)var b0=L;var O0=R0[2],q0=O0[1],er=q0?(ue(b0,[0,q0[1][1],Qc]),[0,R0[1],[0,0,O0[2],O0[3],O0[4]]]):R0,yr=U1(er),vr=f7(b0),$0=vr&&(A0(b0)===11?1:0);$0&&Ge(b0,60),V0(b0,11);var Er=se0(ce0(b0),S0,0,yr),Mr=cr(0,v0,Er),Br=Mr[2];R(zn[6],Er,Br[2],0,er);var qr=yt(Q,Mr[1]),jr=T0[1],$r=lr([0,l0],0,0);return[0,[0,qr,[1,[0,0,er,Br[1],S0,0,rr[4],rr[3],rr[1],$r,jr]]]]}),N(W0,function(P,L,Q){return cr([0,L],function(i0){for(var l0=Q;;){var S0=A0(i0);if(typeof S0=="number"&&S0===9){ie(i0);var l0=[0,u(x,i0),l0];continue}return[22,[0,de(l0),0]]}},P)}),[0,x,i,T,n,K,a0,W0]}(j9),Ys=function(t){function n(e0){var x0=pr(e0);ie(e0);var l=lr([0,x0],0,0),c0=u(oi[5],e0),t0=f7(e0)?rb(e0):C9(e0);function a0(w0,_0){return a(Ze(w0,Di,80),w0,_0)}return[0,a(t0[2],c0,a0),l]}function e(e0){var x0=e0[27][2];if(x0)for(var l=0;;){var c0=A0(e0);if(typeof c0=="number"&&c0===13){var l=[0,cr(0,n,e0),l];continue}return de(l)}return x0}function i(e0,x0){var l=e0&&e0[1],c0=pr(x0),t0=A0(x0);if(typeof t0=="number")switch(t0){case 6:var a0=cr(0,function(Jr){var or=pr(Jr);V0(Jr,6);var _r=Kl(0,Jr),Ir=u(se[10],_r);return V0(Jr,7),[0,Ir,lr([0,or],[0,we(Jr)],0)]},x0),w0=a0[1];return[0,w0,[3,[0,w0,a0[2]]]];case 14:if(l){var _0=Ae0(x0),E0=x0[29][1],X0=_0[2][1];if(E0){var b=E0[1],j0=E0[2],X=b[2],s0=[0,[0,a(Gu[4],X0,b[1]),X],j0];x0[29][1]=s0}else ke(rGr);return[0,_0[1],[2,_0]]}var dr=cr(0,function(Jr){return ie(Jr),[1,V7(Jr)]},x0),Ar=dr[1];return ue(x0,[0,Ar,89]),[0,Ar,dr[2]]}else switch(t0[0]){case 0:var ar=t0[2],W0=De(x0),Lr=[2,ur(oi[6],x0,t0[1],ar)];return[0,W0,[0,[0,W0,[0,Lr,ar,lr([0,c0],[0,we(x0)],0)]]]];case 2:var Tr=t0[1],Hr=Tr[4],Or=Tr[3],xr=Tr[2],Rr=Tr[1];return Hr&&Si(x0,45),V0(x0,[2,[0,Rr,xr,Or,Hr]]),[0,Rr,[0,[0,Rr,[0,[0,xr],Or,lr([0,c0],[0,we(x0)],0)]]]]}var Wr=V7(x0);return[0,Wr[1],[1,Wr]]}function x(e0,x0,l){var c0=u(zn[2],e0),t0=c0[1],a0=c0[2],w0=i([0,x0],e0),_0=w0[1],E0=0,X0=Xi(e0,w0[2]);return[0,X0,cr(0,function(b){var j0=t2(1,b),X=cr(0,function(Tr){var Hr=ur(zn[4],0,0,Tr),Or=0,xr=A0(Tr)===86?Hr:eb(Tr,Hr);if(l){var Rr=xr[2],Wr=0;if(Rr[1])ue(Tr,[0,_0,R7]),Wr=1;else{var Jr=0;!Rr[2]&&!Rr[3]&&(Wr=1,Jr=1),Jr||ue(Tr,[0,_0,80])}}else{var or=xr[2];if(or[1])ue(Tr,[0,_0,Vt]);else{var _r=or[2],Ir=0;(!_r||_r[2]||or[3])&&(Ir=1),Ir&&(or[3]?ue(Tr,[0,_0,81]):ue(Tr,[0,_0,81]))}}return[0,Or,xr,a2(Tr,u(bn[10],Tr))]},j0),s0=X[2],dr=s0[2],Ar=U1(dr),ar=b7(zn[5],j0,E0,t0,0,Ar);R(zn[6],j0,ar[2],0,dr);var W0=X[1],Lr=lr([0,a0],0,0);return[0,0,dr,ar[1],E0,t0,0,s0[3],s0[1],Lr,W0]},e0)]}function c(e0){var x0=u(oi[2],e0);return x0[0]===0?[0,x0[1],t[3]]:[0,x0[1],x0[2]]}function s(e0,x0){switch(x0[0]){case 0:var l=x0[1],c0=l[1];return ue(e0,[0,c0,95]),[0,c0,[14,l[2]]];case 1:var t0=x0[1],a0=t0[2][1],w0=t0[1],_0=0;return SL(a0)&&n0(a0,f0e)&&n0(a0,x0e)&&(ue(e0,[0,w0,2]),_0=1),!_0&&f2(a0)&&Y7(e0,[0,w0,55]),[0,w0,[10,t0]];case 2:return ke(a0e);default:var E0=x0[1][2][1];return ue(e0,[0,E0[1],96]),E0}}function p(e0,x0,l){function c0(a0){var w0=t2(1,a0),_0=cr(0,function(dr){var Ar=xi(dr,u(bn[3],dr));if(e0)if(x0)var ar=1,W0=1;else var ar=dr[18],W0=0;else if(x0)var ar=0,W0=1;else var ar=0,W0=0;var Lr=ur(zn[4],ar,W0,dr),Tr=A0(dr)===86?Lr:eb(dr,Lr);return[0,Ar,Tr,a2(dr,u(bn[10],dr))]},w0),E0=_0[2],X0=E0[2],b=U1(X0),j0=b7(zn[5],w0,e0,x0,0,b);R(zn[6],w0,j0[2],0,X0);var X=_0[1],s0=lr([0,l],0,0);return[0,0,X0,j0[1],e0,x0,0,E0[3],E0[1],s0,X]}var t0=0;return function(a0){return cr(t0,c0,a0)}}function y(e0){return V0(e0,86),c(e0)}function T(e0,x0,l,c0,t0,a0){var w0=cr([0,x0],function(E0){if(!c0&&!t0){var X0=A0(E0);if(typeof X0=="number"){var b=0;if(86<=X0){if(X0===98)b=1;else if(!(87<=X0)){var j0=y(E0);return[0,[0,l,j0[1],0],j0[2]]}}else{if(X0===82){if(l[0]===1)var X=l[1],s0=De(E0),dr=function(Rr){var Wr=pr(Rr);V0(Rr,82);var Jr=we(Rr),or=a(se[19],Rr,[0,X[1],[10,X]]),_r=u(se[10],Rr);return[2,[0,0,or,_r,lr([0,Wr],[0,Jr],0)]]},Ar=cr([0,X[1]],dr,E0),ar=[0,Ar,[0,[0,[0,s0,[10,Ml(i0e)]],0],0]];else var ar=y(E0);return[0,[0,l,ar[1],1],ar[2]]}if(!(10<=X0))switch(X0){case 4:b=1;break;case 1:case 9:var W0=[0,l,s(E0,l),1];return[0,W0,t[3]]}}if(b){var Lr=Xi(E0,l),Tr=[1,Lr,u(p(c0,t0,a0),E0)];return[0,Tr,t[3]]}}var Hr=[0,l,s(E0,l),1];return[0,Hr,t[3]]}var Or=Xi(E0,l),xr=[1,Or,u(p(c0,t0,a0),E0)];return[0,xr,t[3]]},e0),_0=w0[2];return[0,[0,[0,w0[1],_0[1]]],_0[2]]}function E(e0){var x0=cr(0,function(c0){var t0=pr(c0);V0(c0,0);for(var a0=0,w0=[0,0,t[3]];;){var _0=w0[2],E0=w0[1],X0=A0(c0);if(typeof X0=="number"){var b=0;if((X0===1||Pn===X0)&&(b=1),b){var j0=a0?[0,_0[1],[0,[0,a0[1],98],_0[2]]]:_0,X=u(t[6],j0),s0=de(E0),dr=pr(c0);return V0(c0,1),[0,[0,s0,_u([0,t0],[0,we(c0)],dr,0)],X]}}if(A0(c0)===12)var Ar=pr(c0),ar=cr(0,function(y0){return V0(y0,12),c(y0)},c0),W0=ar[2],Lr=W0[2],Tr=lr([0,Ar],0,0),Hr=[0,[1,[0,ar[1],[0,W0[1],Tr]]],Lr];else{var Or=De(c0),xr=Vn(1,c0),Rr=0;if(typeof xr=="number"){var Wr=0;if(86<=xr)xr!==98&&87<=xr&&(Wr=1);else if(xr!==82)if(10<=xr)Wr=1;else switch(xr){case 1:case 4:case 9:break;default:Wr=1}if(!Wr){var or=0,_r=0;Rr=1}}if(!Rr)var Jr=u(zn[1],c0),or=Jr[2],_r=Jr[1];var Ir=u(zn[2],c0),fe=Ir[1],v0=un(or,Ir[2]),P=A0(c0),L=0;if(!_r&&!fe&&typeof P!="number"&&P[0]===4){var Q=P[3],i0=0;if(n0(Q,t0e))if(n0(Q,u0e))i0=1;else{var l0=pr(c0),S0=i(0,c0)[2],T0=A0(c0),rr=0;if(typeof T0=="number"){var R0=0;if(86<=T0)T0!==98&&87<=T0&&(R0=1);else if(T0!==82)if(10<=T0)R0=1;else switch(T0){case 1:case 4:case 9:break;default:R0=1}if(!R0){var B=T(c0,Or,S0,0,0,0);rr=1}}if(!rr){Xi(c0,S0);var Z=t[3],p0=cr([0,Or],function(I0){return x(I0,0,0)},c0),b0=p0[2],O0=lr([0,l0],0,0),B=[0,[0,[0,p0[1],[3,b0[1],b0[2],O0]]],Z]}var q0=B}else{var er=pr(c0),yr=i(0,c0)[2],vr=A0(c0),$0=0;if(typeof vr=="number"){var Er=0;if(86<=vr)vr!==98&&87<=vr&&(Er=1);else if(vr!==82)if(10<=vr)Er=1;else switch(vr){case 1:case 4:case 9:break;default:Er=1}if(!Er){var Mr=T(c0,Or,yr,0,0,0);$0=1}}if(!$0){Xi(c0,yr);var Br=t[3],qr=cr([0,Or],function(D){return x(D,0,1)},c0),jr=qr[2],$r=lr([0,er],0,0),Mr=[0,[0,[0,qr[1],[2,jr[1],jr[2],$r]]],Br]}var q0=Mr}if(!i0){var ne=q0;L=1}}if(!L)var ne=T(c0,Or,i(0,c0)[2],_r,fe,v0);var Hr=ne}var Qr=Hr[1],be=0;if(Qr[0]===1&&A0(c0)===9){var oe=[0,De(c0)];be=1}if(!be)var oe=0;var pe=a(t[5],Hr[2],_0),ae=A0(c0),ce=0;if(typeof ae=="number"){var ge=ae-2|0,H0=0;if(Yt>>0?F7<(ge+1|0)>>>0&&(H0=1):ge===7?ie(c0):H0=1,!H0){var Fr=pe;ce=1}}if(!ce){var _=vL(CRr,9),k=ye0([0,_],A0(c0)),I=[0,De(c0),k];xu(c0,8);var Fr=a(t[4],I,pe)}var a0=oe,w0=[0,[0,Qr,E0],Fr]}},e0),l=x0[2];return[0,x0[1],l[1],l[2]]}function h(e0,x0,l,c0){var t0=l[2][1],a0=l[1];if(qn(t0,n0e))return ue(e0,[0,a0,[21,t0,0,uV===c0?1:0,1]]),x0;var w0=a(R9[32],t0,x0);if(w0){var _0=w0[1],E0=0;return TE===c0?Id===_0&&(E0=1):Id===c0&&TE===_0&&(E0=1),E0||ue(e0,[0,a0,[20,t0]]),ur(R9[4],t0,QX,x0)}return ur(R9[4],t0,c0,x0)}function w(e0,x0){return cr(0,function(l){var c0=x0&&pr(l);V0(l,52);for(var t0=0;;){var a0=[0,cr(0,function(E0){var X0=u(bn[2],E0);if(A0(E0)===98)var b=$t(E0),j0=function(s0,dr){return a(Ze(s0,Nv,81),s0,dr)},X=a(b[2],X0,j0);else var X=X0;return[0,X,u(bn[4],E0)]},l),t0],w0=A0(l);if(typeof w0=="number"&&w0===9){V0(l,9);var t0=a0;continue}var _0=de(a0);return[0,_0,lr([0,c0],0,0)]}},e0)}function G(e0,x0){return x0&&ue(e0,[0,x0[1][1],7])}function A(e0,x0){return x0&&ue(e0,[0,x0[1],68])}function S(e0,x0,l,c0,t0,a0,w0,_0,E0,X0){for(;;){var b=A0(e0),j0=0;if(typeof b=="number"){var X=b-1|0,s0=0;if(7>>0){var dr=X-81|0;if(4>>0)s0=1;else switch(dr){case 3:Ft(0,e0),ie(e0);continue;case 0:case 4:break;default:s0=1}}else 5<(X-1|0)>>>0||(s0=1);!s0&&!t0&&!a0&&(j0=1)}if(!j0){var Ar=A0(e0),ar=0;if(typeof Ar=="number"){var W0=0;if(Ar!==4&&Ar!==98&&(ar=1,W0=1),!W0)var Tr=0}else ar=1;if(ar)var Lr=x2(e0),Tr=Lr&&1;if(!Tr){A(e0,_0),G(e0,E0);var Hr=0;if(!w0){var Or=0;switch(c0[0]){case 0:var xr=c0[1][2][1],Rr=0;typeof xr!="number"&&xr[0]===0&&(n0(xr[1],WQr)&&(Or=1),Rr=1),Rr||(Or=1);break;case 1:n0(c0[1][2][1],JQr)&&(Or=1);break;default:Or=1}if(!Or){var Wr=t2(2,e0),Jr=0;Hr=1}}if(!Hr)var Wr=t2(1,e0),Jr=1;var or=Xi(Wr,c0),_r=cr(0,function(S0){var T0=cr(0,function(p0){var b0=xi(p0,u(bn[3],p0));if(t0)if(a0)var O0=1,q0=1;else var O0=p0[18],q0=0;else if(a0)var O0=0,q0=1;else var O0=0,q0=0;var er=ur(zn[4],O0,q0,p0),yr=A0(p0)===86?er:eb(p0,er),vr=yr[2],$0=vr[1],Er=0;if($0&&Jr===0){ue(p0,[0,$0[1][1],fs]);var Mr=[0,yr[1],[0,0,vr[2],vr[3],vr[4]]];Er=1}if(!Er)var Mr=yr;return[0,b0,Mr,a2(p0,u(bn[10],p0))]},S0),rr=T0[2],R0=rr[2],B=U1(R0),Z=b7(zn[5],S0,t0,a0,0,B);return R(zn[6],S0,Z[2],0,R0),[0,0,R0,Z[1],t0,a0,0,rr[3],rr[1],0,T0[1]]},Wr),Ir=[0,Jr,or,_r,w0,l,lr([0,X0],0,0)];return[0,[0,yt(x0,_r[1]),Ir]]}}var fe=cr([0,x0],function(S0){var T0=u(bn[10],S0),rr=A0(S0);if(_0){var R0=0;if(typeof rr=="number"&&rr===82){Ge(S0,69),ie(S0);var B=0}else R0=1;if(R0)var B=0}else{var Z=0;if(typeof rr=="number"&&rr===82){ie(S0);var p0=t2(1,S0),B=[0,u(se[7],p0)]}else Z=1;if(Z)var B=1}var b0=A0(S0),O0=0;if(typeof b0=="number"&&!(9<=b0))switch(b0){case 8:ie(S0);var q0=A0(S0),er=0;if(typeof q0=="number"){var yr=0;if(q0!==1&&Pn!==q0&&(er=1,yr=1),!yr)var $0=we(S0)}else er=1;if(er)var vr=f7(S0),$0=vr&&Us(S0);var Er=[0,c0,T0,B,$0];O0=1;break;case 4:case 6:Ft(0,S0);var Er=[0,c0,T0,B,0];O0=1;break}if(!O0){var Mr=A0(S0),Br=0;if(typeof Mr=="number"){var qr=0;if(Mr!==1&&Pn!==Mr&&(Br=1,qr=1),!qr)var jr=[0,0,function(H0,Fr){return H0}]}else Br=1;if(Br)var jr=f7(S0)?rb(S0):C9(S0);if(typeof B=="number")if(T0[0]===0)var $r=function(_,k){return a(Ze(_,VY,83),_,k)},be=B,oe=T0,pe=a(jr[2],c0,$r);else var ne=function(_,k){return a(Ze(_,NE,84),_,k)},be=B,oe=[1,a(jr[2],T0[1],ne)],pe=c0;else var Qr=function(ge,H0){return a(Ze(ge,Di,85),ge,H0)},be=[0,a(jr[2],B[1],Qr)],oe=T0,pe=c0;var Er=[0,pe,oe,be,0]}var ae=lr([0,X0],[0,Er[4]],0);return[0,Er[1],Er[2],Er[3],ae]},e0),v0=fe[2],P=v0[4],L=v0[3],Q=v0[2],i0=v0[1],l0=fe[1];return i0[0]===2?[2,[0,l0,[0,i0[1],L,Q,w0,E0,P]]]:[1,[0,l0,[0,i0,L,Q,w0,E0,P]]]}}function M(e0,x0){var l=Vn(e0,x0);if(typeof l=="number"){var c0=0;if(86<=l)(l===98||!(87<=l))&&(c0=1);else if(l===82)c0=1;else if(!(9<=l))switch(l){case 1:case 4:case 8:c0=1;break}if(c0)return 1}return 0}var K=0;function V(e0){return M(K,e0)}function f0(e0,x0,l,c0){var t0=e0&&e0[1],a0=ys(1,x0),w0=un(t0,e(a0)),_0=pr(a0);V0(a0,40);var E0=T9(1,a0),X0=A0(E0),b=0;if(l&&typeof X0=="number"){var j0=0;if(52<=X0?X0!==98&&53<=X0&&(j0=1):X0!==41&&X0&&(j0=1),!j0){var Ar=0;b=1}}if(!b)if(M1(a0))var X=a(se[13],0,E0),s0=$t(a0),dr=function(v0,P){return a(Ze(v0,Nv,88),v0,P)},Ar=[0,a(s0[2],X,dr)];else{de0(a0,HQr);var Ar=[0,[0,De(a0),XQr]]}var ar=u(bn[3],a0);if(ar)var W0=$t(a0),Lr=function(v0,P){return a(Ze(v0,_F,86),v0,P)},Tr=[0,a(W0[2],ar[1],Lr)];else var Tr=ar;var Hr=pr(a0),Or=xu(a0,41);if(Or)var xr=cr(0,function(v0){var P=dL(0,v0),L=u(oi[5],P);if(A0(v0)===98)var Q=$t(v0),i0=function(T0,rr){return a(Ze(T0,Di,82),T0,rr)},l0=a(Q[2],L,i0);else var l0=L;var S0=u(bn[4],v0);return[0,l0,S0,lr([0,Hr],0,0)]},a0),Rr=xr[1],Wr=$t(a0),Jr=function(v0,P){return ur(Ze(v0,-663447790,87),v0,Rr,P)},or=[0,[0,Rr,a(Wr[2],xr[2],Jr)]];else var or=Or;var _r=A0(a0)===52?1:0;if(_r){1-fu(a0)&&Ge(a0,16);var Ir=[0,Fe0(a0,w(a0,1))]}else var Ir=_r;var fe=cr(0,function(v0){var P=pr(v0);if(xu(v0,0)){v0[29][1]=[0,[0,Gu[1],0],v0[29][1]];for(var L=0,Q=R9[1],i0=0;;){var l0=A0(v0);if(typeof l0=="number"){var S0=l0-2|0;if(Yt>>0){if(!(F7<(S0+1|0)>>>0)){var T0=de(i0),rr=function(au,Mu){return u(ml(function(z7){return 1-a(Gu[3],z7[1],au)}),Mu)},R0=v0[29][1];if(R0){var B=R0[1],Z=B[1];if(R0[2]){var p0=R0[2],b0=rr(Z,B[2]),O0=bl(p0),q0=bz(p0),er=un(O0[2],b0);v0[29][1]=[0,[0,O0[1],er],q0]}else{var yr=rr(Z,B[2]);Pu(function(au){return ue(v0,[0,au[2],[22,au[1]]])},yr),v0[29][1]=0}}else ke(eGr);V0(v0,1);var vr=A0(v0),$0=0;if(!c0){var Er=0;if(typeof vr=="number"&&(vr===1||Pn===vr)&&(Er=1),!Er){var Mr=f7(v0);if(Mr){var Br=Us(v0);$0=1}else{var Br=Mr;$0=1}}}if(!$0)var Br=we(v0);return[0,T0,lr([0,P],[0,Br],0)]}}else if(S0===6){V0(v0,8);continue}}var qr=De(v0),jr=e(v0),$r=A0(v0),ne=0;if(typeof $r=="number"&&$r===60&&!M(1,v0)){var Qr=[0,De(v0)],be=pr(v0);ie(v0);var oe=be,pe=Qr;ne=1}if(!ne)var oe=0,pe=0;var ae=Vn(1,v0)!==4?1:0;if(ae)var ce=Vn(1,v0)!==98?1:0,ge=ce&&(A0(v0)===42?1:0);else var ge=ae;if(ge){var H0=pr(v0);ie(v0);var Fr=H0}else var Fr=ge;var _=A0(v0)===64?1:0;if(_)var k=1-M(1,v0),I=k&&1-Jl(1,v0);else var I=_;if(I){var U=pr(v0);ie(v0);var Y=U}else var Y=I;var y0=u(zn[2],v0),D0=y0[1],I0=ur(zn[3],v0,I,D0),D=0;if(!D0&&I0){var u0=u(zn[2],v0),Y0=u0[2],J0=u0[1];D=1}if(!D)var Y0=y0[2],J0=D0;var fr=pl([0,oe,[0,Fr,[0,Y,[0,Y0,0]]]]),Q0=A0(v0),F0=0;if(!I&&!J0&&typeof Q0!="number"&&Q0[0]===4){var Sr=Q0[3];if(n0(Sr,$Qr)){if(!n0(Sr,ZQr)){var mr=pr(v0),Cr=i(QQr,v0)[2];if(V(v0)){var Ie=S(v0,qr,jr,Cr,I,J0,ge,pe,I0,fr);F0=1}else{A(v0,pe),G(v0,I0),Xi(v0,Cr);var sr=un(fr,mr),Pr=cr([0,qr],function(Mu){return x(Mu,1,0)},v0),K0=Pr[2],Ur=lr([0,sr],0,0),Ie=[0,[0,Pr[1],[0,3,K0[1],K0[2],ge,jr,Ur]]];F0=1}}}else{var d0=pr(v0),Kr=i(r0e,v0)[2];if(V(v0)){var Ie=S(v0,qr,jr,Kr,I,J0,ge,pe,I0,fr);F0=1}else{A(v0,pe),G(v0,I0),Xi(v0,Kr);var re=un(fr,d0),xe=cr([0,qr],function(Mu){return x(Mu,1,1)},v0),je=xe[2],ve=lr([0,re],0,0),Ie=[0,[0,xe[1],[0,2,je[1],je[2],ge,jr,ve]]];F0=1}}}if(!F0)var Ie=S(v0,qr,jr,i(e0e,v0)[2],I,J0,ge,pe,I0,fr);switch(Ie[0]){case 0:var Me=Ie[1],Be=Me[2];switch(Be[1]){case 0:if(Be[4])var Ot=Q,Pt=L;else{L&&ue(v0,[0,Me[1],87]);var Ot=Q,Pt=1}break;case 1:var fn=Be[2],Ke=fn[0]===2?h(v0,Q,fn[1],uV):Q,Ot=Ke,Pt=L;break;case 2:var Ae=Be[2],xn=Ae[0]===2?h(v0,Q,Ae[1],TE):Q,Ot=xn,Pt=L;break;default:var Qe=Be[2],dn=Qe[0]===2?h(v0,Q,Qe[1],Id):Q,Ot=dn,Pt=L}break;case 1:var on=Ie[1][2],Ce=on[4],We=on[1],rn=0;switch(We[0]){case 0:var pn=We[1],Cn=pn[2][1],Hn=0;if(typeof Cn!="number"&&Cn[0]===0){var vt=Cn[1],Ct=pn[1];rn=1,Hn=1}Hn||(rn=2);break;case 1:var Fn=We[1],vt=Fn[2][1],Ct=Fn[1];rn=1;break;case 2:ke(YQr);break;default:rn=2}switch(rn){case 1:var Tt=qn(vt,VQr);if(Tt)var Ht=Tt;else var Zt=qn(vt,zQr),Ht=Zt&&Ce;Ht&&ue(v0,[0,Ct,[21,vt,Ce,0,0]]);break;case 2:break}var Ot=Q,Pt=L;break;default:var Ot=h(v0,Q,Ie[1][2][1],QX),Pt=L}var L=Pt,Q=Ot,i0=[0,Ie,i0]}}return q1(v0,0),KQr},a0);return[0,Ar,fe,Tr,or,Ir,w0,lr([0,_0],0,0)]}function m0(e0,x0){return cr(0,function(l){return[2,f0([0,x0],l,l[7],0)]},e0)}function k0(e0){return[5,f0(0,e0,1,1)]}var g0=0;return[0,i,E,m0,function(e0){return cr(g0,k0,e0)},w,e]}(j9),dt=function(t){function n(_){var k=u(zn[10],_);if(_[5])B1(_,k[1]);else{var I=k[2],U=0;if(I[0]===23){var Y=I[1],y0=k[1],D0=0;Y[4]?ue(_,[0,y0,61]):Y[5]?ue(_,[0,y0,62]):(U=1,D0=1)}else U=1}return k}function e(_,k,I){var U=I[2][1],Y=I[1];if(n0(U,cre)){if(n0(U,sre))return n0(U,vre)?f2(U)?Y7(k,[0,Y,55]):SL(U)?ue(k,[0,Y,[10,Ml(U)]]):_&&Bs(U)?Y7(k,[0,Y,_[1]]):0:k[17]?ue(k,[0,Y,2]):Y7(k,[0,Y,55]);if(k[5])return Y7(k,[0,Y,55]);var y0=k[14];return y0&&ue(k,[0,Y,[10,Ml(U)]])}var D0=k[18];return D0&&ue(k,[0,Y,2])}function i(_,k){var I=k[4],U=k[3],Y=k[2],y0=k[1];I&&Si(_,45);var D0=pr(_);return V0(_,[2,[0,y0,Y,U,I]]),[0,y0,[0,Y,U,lr([0,D0],[0,we(_)],0)]]}function x(_,k,I){var U=_?_[1]:xre,Y=k?k[1]:1,y0=A0(I);if(typeof y0=="number"){var D0=y0-2|0;if(Yt>>0){if(!(F7<(D0+1|0)>>>0)){var I0=function(Y0,J0){return Y0};return[1,[0,we(I),I0]]}}else if(D0===6){ie(I);var D=A0(I);if(typeof D=="number"){var u0=0;if((D===1||Pn===D)&&(u0=1),u0)return[0,we(I)]}return f7(I)?[0,Us(I)]:are}}return f7(I)?[1,rb(I)]:(Y&&Ft([0,U],I),ore)}function c(_){var k=A0(_);if(typeof k=="number"){var I=0;if((k===1||Pn===k)&&(I=1),I){var U=function(Y,y0){return Y};return[0,we(_),U]}}return f7(_)?rb(_):C9(_)}function s(_,k,I){var U=x(0,0,k);if(U[0]===0)return[0,U[1],I];var Y=de(I);if(Y)var y0=function(D,u0){return ur(Ze(D,634872468,89),D,_,u0)},D0=a(U[1][2],Y[1],y0),I0=de([0,D0,Y[2]]);else var I0=Y;return[0,0,I0]}var p=function _(k){return _.fun(k)},y=function _(k){return _.fun(k)},T=function _(k){return _.fun(k)},E=function _(k){return _.fun(k)},h=function _(k){return _.fun(k)},w=function _(k,I){return _.fun(k,I)},G=function _(k){return _.fun(k)},A=function _(k){return _.fun(k)},S=function _(k,I,U){return _.fun(k,I,U)},M=function _(k){return _.fun(k)},K=function _(k){return _.fun(k)},V=function _(k,I){return _.fun(k,I)},f0=function _(k){return _.fun(k)},m0=function _(k){return _.fun(k)},k0=function _(k,I){return _.fun(k,I)},g0=function _(k){return _.fun(k)},e0=function _(k,I){return _.fun(k,I)},x0=function _(k){return _.fun(k)},l=function _(k,I){return _.fun(k,I)},c0=function _(k){return _.fun(k)},t0=function _(k,I){return _.fun(k,I)},a0=function _(k,I){return _.fun(k,I)},w0=function _(k,I){return _.fun(k,I)},_0=function _(k){return _.fun(k)},E0=function _(k){return _.fun(k)},X0=function _(k,I,U){return _.fun(k,I,U)},b=function _(k,I){return _.fun(k,I)},j0=function _(k,I){return _.fun(k,I)},X=function _(k){return _.fun(k)};function s0(_){var k=pr(_);V0(_,59);var I=A0(_)===8?1:0,U=I&&we(_),Y=x(0,0,_),y0=Y[0]===0?Y[1]:Y[1][1];return[4,[0,lr([0,k],[0,un(U,y0)],0)]]}var dr=0;function Ar(_){return cr(dr,s0,_)}function ar(_){var k=pr(_);V0(_,37);var I=zl(1,_),U=u(se[2],I),Y=1-_[5],y0=Y&&nb(U);y0&&B1(_,U[1]);var D0=we(_);V0(_,25);var I0=we(_);V0(_,4);var D=u(se[7],_);V0(_,5);var u0=A0(_)===8?1:0,Y0=u0&&we(_),J0=x(0,fre,_),fr=J0[0]===0?un(Y0,J0[1]):J0[1][1];return[14,[0,U,D,lr([0,k],[0,un(D0,un(I0,fr))],0)]]}var W0=0;function Lr(_){return cr(W0,ar,_)}function Tr(_,k,I){var U=I[2][1];if(U&&!U[1][2][2]){var Y=U[2];if(!Y)return Y}return ue(_,[0,I[1],k])}function Hr(_,k){var I=1-_[5],U=I&&nb(k);return U&&B1(_,k[1])}function Or(_){var k=pr(_);V0(_,39);var I=_[18],U=I&&xu(_,65),Y=un(k,pr(_));V0(_,4);var y0=lr([0,Y],0,0),D0=Kl(1,_),I0=A0(D0),D=0;if(typeof I0=="number")if(24<=I0)if(29<=I0)D=1;else switch(I0-24|0){case 0:var u0=cr(0,zn[9],D0),Y0=u0[2],J0=lr([0,Y0[2]],0,0),Pr=Y0[3],K0=[0,[1,[0,u0[1],[0,Y0[1],0,J0]]]];break;case 3:var fr=cr(0,zn[8],D0),Q0=fr[2],F0=lr([0,Q0[2]],0,0),Pr=Q0[3],K0=[0,[1,[0,fr[1],[0,Q0[1],2,F0]]]];break;case 4:var Sr=cr(0,zn[7],D0),mr=Sr[2],Cr=lr([0,mr[2]],0,0),Pr=mr[3],K0=[0,[1,[0,Sr[1],[0,mr[1],1,Cr]]]];break;default:D=1}else if(I0===8)var Pr=0,K0=0;else D=1;else D=1;if(D)var sr=T9(1,D0),Pr=0,K0=[0,[0,u(se[8],sr)]];var Ur=A0(_);if(typeof Ur=="number"){if(Ur===17){if(K0){var d0=K0[1];if(d0[0]===0)var Kr=[1,ur(t[2],ure,_,d0[1])];else{var re=d0[1];Tr(_,28,re);var Kr=[0,re]}U?V0(_,63):V0(_,17);var xe=u(se[7],_);V0(_,5);var je=zl(1,_),ve=u(se[2],je);return Hr(_,ve),[21,[0,Kr,xe,ve,0,y0]]}throw[0,Sn,ire]}if(Ur===63){if(K0){var Ie=K0[1];if(Ie[0]===0)var Me=[1,ur(t[2],nre,_,Ie[1])];else{var Be=Ie[1];Tr(_,29,Be);var Me=[0,Be]}V0(_,63);var fn=u(se[10],_);V0(_,5);var Ke=zl(1,_),Ae=u(se[2],Ke);return Hr(_,Ae),[22,[0,Me,fn,Ae,U,y0]]}throw[0,Sn,tre]}}if(Pu(function(Tt){return ue(_,Tt)},Pr),U?V0(_,63):V0(_,8),K0)var xn=K0[1],Qe=xn[0]===0?[0,[1,a(t[1],_,xn[1])]]:[0,[0,xn[1]]],dn=Qe;else var dn=K0;var on=A0(_),Ce=0;if(typeof on=="number"){var We=on!==8?1:0;if(!We){var rn=We;Ce=1}}if(!Ce)var rn=[0,u(se[7],_)];V0(_,8);var pn=A0(_),Cn=0;if(typeof pn=="number"){var Hn=pn!==5?1:0;if(!Hn){var Fn=Hn;Cn=1}}if(!Cn)var Fn=[0,u(se[7],_)];V0(_,5);var vt=zl(1,_),Ct=u(se[2],vt);return Hr(_,Ct),[20,[0,dn,rn,Fn,Ct,y0]]}var xr=0;function Rr(_){return cr(xr,Or,_)}function Wr(_){var k=qs(_)?n(_):u(se[2],_),I=1-_[5],U=I&&nb(k);return U&&B1(_,k[1]),k}function Jr(_){var k=pr(_);V0(_,43);var I=Wr(_);return[0,I,lr([0,k],0,0)]}function or(_){var k=pr(_);V0(_,16);var I=un(k,pr(_));V0(_,4);var U=u(se[7],_);V0(_,5);var Y=Wr(_),y0=A0(_)===43?1:0,D0=y0&&[0,cr(0,Jr,_)];return[24,[0,U,Y,D0,lr([0,I],0,0)]]}var _r=0;function Ir(_){return cr(_r,or,_)}function fe(_){1-_[11]&&Ge(_,36);var k=pr(_),I=De(_);V0(_,19);var U=A0(_)===8?1:0,Y=U&&we(_),y0=0;if(A0(_)!==8&&!x2(_)){var D0=[0,u(se[7],_)];y0=1}if(!y0)var D0=0;var I0=yt(I,De(_)),D=x(0,0,_),u0=0;if(D[0]===0)var Y0=D[1];else{var J0=D[1];if(D0){var fr=function(sr,Pr){return a(Ze(sr,Di,90),sr,Pr)},Q0=[0,a(J0[2],D0[1],fr)],F0=Y;u0=1}else var Y0=J0[1]}if(!u0)var Q0=D0,F0=un(Y,Y0);return[28,[0,Q0,lr([0,k],[0,F0],0),I0]]}var v0=0;function P(_){return cr(v0,fe,_)}function L(_){var k=pr(_);V0(_,20),V0(_,4);var I=u(se[7],_);V0(_,5),V0(_,0);for(var U=ere;;){var Y=U[2],y0=A0(_);if(typeof y0=="number"){var D0=0;if((y0===1||Pn===y0)&&(D0=1),D0){var I0=de(Y);V0(_,1);var D=c(_),u0=I[1];return[29,[0,I,I0,lr([0,k],[0,D[1]],0),u0]]}}var Y0=U[1],J0=OL(0,function(Q0){return function(F0){var Sr=pr(F0),mr=A0(F0),Cr=0;if(typeof mr=="number"&&mr===36){Q0&&Ge(F0,32),V0(F0,36);var sr=we(F0),Pr=0;Cr=1}if(!Cr){V0(F0,33);var sr=0,Pr=[0,u(se[7],F0)]}var K0=Q0||(Pr===0?1:0);V0(F0,86);var Ur=un(sr,c(F0)[1]);function d0(je){if(typeof je=="number"){var ve=je-1|0,Ie=0;if(32>>0?ve===35&&(Ie=1):30<(ve-1|0)>>>0&&(Ie=1),Ie)return 1}return 0}var Kr=1,re=F0[9]===1?F0:[0,F0[1],F0[2],F0[3],F0[4],F0[5],F0[6],F0[7],F0[8],Kr,F0[10],F0[11],F0[12],F0[13],F0[14],F0[15],F0[16],F0[17],F0[18],F0[19],F0[20],F0[21],F0[22],F0[23],F0[24],F0[25],F0[26],F0[27],F0[28],F0[29],F0[30]],xe=a(se[4],d0,re);return[0,[0,Pr,xe,lr([0,Sr],[0,Ur],0)],K0]}}(Y0),_),U=[0,J0[2],[0,J0[1],Y]]}}var Q=0;function i0(_){return cr(Q,L,_)}function l0(_){var k=pr(_),I=De(_);V0(_,22),f7(_)&&ue(_,[0,I,21]);var U=u(se[7],_),Y=x(0,0,_);if(Y[0]===0)var D0=U,I0=Y[1];else var y0=function(D,u0){return a(Ze(D,Di,91),D,u0)},D0=a(Y[1][2],U,y0),I0=0;return[30,[0,D0,lr([0,k],[0,I0],0)]]}var S0=0;function T0(_){return cr(S0,l0,_)}function rr(_){var k=pr(_);V0(_,23);var I=u(se[15],_);if(A0(_)===34)var U=$t(_),Y=function(sr,Pr){var K0=Pr[1];return[0,K0,ur(Ze(sr,V8,29),sr,K0,Pr[2])]},y0=a(U[2],I,Y);else var y0=I;var D0=A0(_),I0=0;if(typeof D0=="number"&&D0===34){var D=[0,cr(0,function(Pr){var K0=pr(Pr);V0(Pr,34);var Ur=we(Pr),d0=A0(Pr)===4?1:0;if(d0){V0(Pr,4);var Kr=[0,a(se[18],Pr,39)];V0(Pr,5);var re=Kr}else var re=d0;var xe=u(se[15],Pr);if(A0(Pr)===38)var Ie=xe;else var je=c(Pr),ve=function(Me,Be){var fn=Be[1];return[0,fn,ur(Ze(Me,V8,92),Me,fn,Be[2])]},Ie=a(je[2],xe,ve);return[0,re,Ie,lr([0,K0],[0,Ur],0)]},_)];I0=1}if(!I0)var D=0;var u0=A0(_),Y0=0;if(typeof u0=="number"&&u0===38){V0(_,38);var J0=u(se[15],_),fr=J0[1],Q0=c(_),F0=function(Pr,K0){return ur(Ze(Pr,V8,93),Pr,fr,K0)},Sr=[0,[0,fr,a(Q0[2],J0[2],F0)]];Y0=1}if(!Y0)var Sr=0;var mr=D===0?1:0,Cr=mr&&(Sr===0?1:0);return Cr&&ue(_,[0,y0[1],33]),[31,[0,y0,D,Sr,lr([0,k],0,0)]]}var R0=0;function B(_){return cr(R0,rr,_)}function Z(_){var k=u(zn[9],_),I=s(0,_,k[1]),U=0,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var p0=0;function b0(_){return cr(p0,Z,_)}function O0(_){var k=u(zn[8],_),I=s(2,_,k[1]),U=2,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var q0=0;function er(_){return cr(q0,O0,_)}function yr(_){var k=u(zn[7],_),I=s(1,_,k[1]),U=1,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var vr=0;function $0(_){return cr(vr,yr,_)}function Er(_){var k=pr(_);V0(_,25);var I=un(k,pr(_));V0(_,4);var U=u(se[7],_);V0(_,5);var Y=zl(1,_),y0=u(se[2],Y),D0=1-_[5],I0=D0&&nb(y0);return I0&&B1(_,y0[1]),[35,[0,U,y0,lr([0,I],0,0)]]}var Mr=0;function Br(_){return cr(Mr,Er,_)}function qr(_){var k=pr(_),I=u(se[7],_),U=A0(_),Y=I[2];if(Y[0]===10&&typeof U=="number"&&U===86){var y0=Y[1],D0=y0[2][1];V0(_,86),a(Gu[3],D0,_[3])&&ue(_,[0,I[1],[16,Q0e,D0]]);var I0=_[30],D=_[29],u0=_[28],Y0=_[27],J0=_[26],fr=_[25],Q0=_[24],F0=_[23],Sr=_[22],mr=_[21],Cr=_[20],sr=_[19],Pr=_[18],K0=_[17],Ur=_[16],d0=_[15],Kr=_[14],re=_[13],xe=_[12],je=_[11],ve=_[10],Ie=_[9],Me=_[8],Be=_[7],fn=_[6],Ke=_[5],Ae=_[4],xn=a(Gu[4],D0,_[3]),Qe=[0,_[1],_[2],xn,Ae,Ke,fn,Be,Me,Ie,ve,je,xe,re,Kr,d0,Ur,K0,Pr,sr,Cr,mr,Sr,F0,Q0,fr,J0,Y0,u0,D,I0],dn=qs(Qe)?n(Qe):u(se[2],Qe);return[27,[0,y0,dn,lr([0,k],0,0)]]}var on=x(rre,0,_);if(on[0]===0)var We=I,rn=on[1];else var Ce=function(pn,Cn){return a(Ze(pn,Di,94),pn,Cn)},We=a(on[1][2],I,Ce),rn=0;return[19,[0,We,0,lr(0,[0,rn],0)]]}var jr=0;function $r(_){return cr(jr,qr,_)}function ne(_){var k=u(se[7],_),I=x(Z0e,0,_);if(I[0]===0)var Y=k,y0=I[1];else var U=function(sr,Pr){return a(Ze(sr,Di,95),sr,Pr)},Y=a(I[1][2],k,U),y0=0;var D0=_[19];if(D0){var I0=Y[2],D=0;if(I0[0]===14){var u0=I0[1],Y0=0,J0=u0[1];if(typeof J0!="number"&&J0[0]===0){var fr=u0[2],Q0=1>>0))switch(K0){case 21:var Ur=un(I0,pr(D0)),d0=cr(0,function(Pt){return V0(Pt,36)},D0),Kr=ae0(1,D0),re=A0(Kr),xe=0;if(typeof re=="number")if(re===15)var je=0,ve=je,Ie=[0,[1,cr(0,function(Pt){return a(e0,0,Pt)},Kr)]];else if(re===40)var ve=0,Ie=[0,[2,cr(0,u(k0,0),Kr)]];else xe=1;else xe=1;if(xe){var Me=u(bn[1],Kr),Be=x(0,0,Kr);if(Be[0]===0)var Ae=Be[1],xn=Me;else var fn=0,Ke=function(Ku,lt){return a(Ze(Ku,_v,Pn),Ku,lt)},Ae=fn,xn=a(Be[1][2],Me,Ke);var ve=Ae,Ie=[0,[3,xn]]}var Qe=lr([0,Ur],[0,ve],0);return[6,[0,[0,d0[1]],Ie,0,0,Qe]];case 0:case 9:case 12:case 13:case 25:var dn=A0(D0);if(typeof dn=="number"){var on=0;if(25<=dn)if(29<=dn){if(dn===40){var Ce=[0,[2,cr(0,u(k0,0),D0)]];on=1}}else 27<=dn&&(on=2);else if(dn===15){var Ce=[0,[1,cr(0,function(du){return a(e0,0,du)},D0)]];on=1}else 24<=dn&&(on=2);var We=0;switch(on){case 0:break;case 2:var rn=0;typeof dn=="number"?dn===27?Ge(D0,72):dn===28?Ge(D0,71):rn=1:rn=1;var Ce=[0,[0,cr(0,function(du){return a(l,du,0)},D0)]];We=1;break;default:We=1}if(We)return[6,[0,0,Ce,0,0,lr([0,I0],0,0)]]}throw[0,Sn,h0e]}}var pn=A0(D0),Cn=0;typeof pn=="number"?pn===53?Ge(D0,74):pn===61?Ge(D0,73):Cn=1:Cn=1,V0(D0,0);var Hn=ur(X0,0,D0,0);V0(D0,1);var Fn=A0(D0),vt=0;if(typeof Fn!="number"&&Fn[0]===4&&!n0(Fn[3],d0e)){var Ct=u(E0,D0),Tt=Ct[2],Zt=[0,Ct[1]];vt=1}if(!vt){a(b,D0,Hn);var Ht=x(0,0,D0),Ot=Ht[0]===0?Ht[1]:Ht[1][1],Tt=Ot,Zt=0}return[6,[0,0,0,[0,[0,Hn]],Zt,lr([0,I0],[0,Tt],0)]]}var U=0;return function(Y){return cr(U,I,Y)}}),[0,Rr,Ir,$0,B,Br,E,h,y,T,Ar,w0,X,M,Lr,p,j0,be,Fr,m0,$r,K,P,i0,T0,A,b0,er]}(j9),He0=function(t){var n=function y(T,E){return y.fun(T,E)},e=function y(T,E){return y.fun(T,E)},i=function y(T,E){return y.fun(T,E)};N(n,function(y,T){for(var E=T[2],h=E[2],w=o2(y),G=0,A=E[1];;){if(A){var S=A[1];if(S[0]===0){var M=S[1],K=M[2];switch(K[0]){case 0:var V=K[2],f0=K[1];switch(f0[0]){case 0:var m0=[0,f0[1]];break;case 1:var m0=[1,f0[1]];break;case 2:var m0=ke(p0e);break;default:var m0=[2,f0[1]]}var k0=V[2],g0=0;if(k0[0]===2){var e0=k0[1];if(!e0[1]){var x0=[0,e0[3]],l=e0[2];g0=1}}if(!g0)var x0=0,l=a(i,y,V);var c0=[0,[0,[0,M[1],[0,m0,l,x0,K[3]]]],G];break;case 1:ue(y,[0,K[2][1],97]);var c0=G;break;default:ue(y,[0,K[2][1],m0e]);var c0=G}var G=c0,A=A[2];continue}var t0=S[1],a0=t0[1];if(A[2]){ue(y,[0,a0,66]);var A=A[2];continue}var w0=t0[2],_0=w0[2],G=[0,[1,[0,a0,[0,a(i,y,w0[1]),_0]]],G],A=0;continue}var E0=[0,[0,de(G),w,h]];return[0,T[1],E0]}});function x(y,T){return u(se[23],T)?[0,a(i,y,T)]:(ue(y,[0,T[1],26]),0)}N(e,function(y,T){for(var E=T[2],h=E[2],w=o2(y),G=0,A=E[1];;){if(A){var S=A[1];switch(S[0]){case 0:var M=S[1],K=M[2];if(K[0]===2){var V=K[1];if(!V[1]){var G=[0,[0,[0,M[1],[0,V[2],[0,V[3]]]]],G],A=A[2];continue}}var f0=x(y,M);if(f0)var m0=f0[1],k0=[0,[0,[0,m0[1],[0,m0,0]]],G];else var k0=G;var G=k0,A=A[2];continue;case 1:var g0=S[1],e0=g0[1];if(A[2]){ue(y,[0,e0,65]);var A=A[2];continue}var x0=g0[2],l=x(y,x0[1]),c0=l?[0,[1,[0,e0,[0,l[1],x0[2]]]],G]:G,G=c0,A=0;continue;default:var G=[0,[2,S[1]],G],A=A[2];continue}}var t0=[1,[0,de(G),w,h]];return[0,T[1],t0]}}),N(i,function(y,T){var E=T[2],h=T[1];switch(E[0]){case 0:return a(e,y,[0,h,E[1]]);case 10:var w=E[1],G=w[2][1],A=w[1],S=0;if(y[5]&&Bs(G)?ue(y,[0,A,52]):S=1,S&&1-y[5]){var M=0;if(y[17]&&qn(G,l0e)?ue(y,[0,A,93]):M=1,M){var K=y[18],V=K&&qn(G,b0e);V&&ue(y,[0,A,92])}}return[0,h,[2,[0,w,o2(y),0]]];case 19:return a(n,y,[0,h,E[1]]);default:return[0,h,[3,[0,h,E]]]}});function c(y){function T(w){var G=A0(w);return typeof G=="number"&&G===82?(V0(w,82),[0,u(se[10],w)]):0}function E(w){var G=pr(w);V0(w,0);for(var A=0,S=0,M=0;;){var K=A0(w);if(typeof K=="number"){var V=0;if((K===1||Pn===K)&&(V=1),V){S&&ue(w,[0,S[1],98]);var f0=de(M),m0=pr(w);V0(w,1);var k0=we(w),g0=A0(w)===86?[1,u(t[9],w)]:o2(w);return[0,[0,f0,g0,_u([0,G],[0,k0],m0,0)]]}}if(A0(w)===12)var e0=pr(w),x0=cr(0,function(Jr){return V0(Jr,12),p(Jr,y)},w),l=lr([0,e0],0,0),c0=[0,[1,[0,x0[1],[0,x0[2],l]]]];else{var t0=De(w),a0=a(se[20],0,w),w0=A0(w),_0=0;if(typeof w0=="number"&&w0===86){V0(w,86);var E0=cr([0,t0],function(or){var _r=p(or,y);return[0,_r,T(or)]},w),X0=E0[2],b=a0[2];switch(b[0]){case 0:var j0=[0,b[1]];break;case 1:var j0=[1,b[1]];break;case 2:var j0=ke(o0e);break;default:var j0=[2,b[1]]}var c0=[0,[0,[0,E0[1],[0,j0,X0[1],X0[2],0]]]]}else _0=1;if(_0){var X=a0[2];if(X[0]===1){var s0=X[1],dr=s0[2][1],Ar=s0[1],ar=0;SL(dr)&&n0(dr,s0e)&&n0(dr,v0e)&&(ue(w,[0,Ar,2]),ar=1),!ar&&f2(dr)&&Y7(w,[0,Ar,55]);var W0=cr([0,t0],function(or,_r){return function(Ir){var fe=[0,_r,[2,[0,or,o2(Ir),0]]];return[0,fe,T(Ir)]}}(s0,Ar),w),Lr=W0[2],c0=[0,[0,[0,W0[1],[0,[1,s0],Lr[1],Lr[2],1]]]]}else{Ft(c0e,w);var c0=0}}}if(c0){var Tr=c0[1],Hr=A?(ue(w,[0,Tr[1][1],66]),0):S;if(Tr[0]===0)var Rr=Hr,Wr=A;else var Or=A0(w)===9?1:0,xr=Or&&[0,De(w)],Rr=xr,Wr=1;A0(w)!==1&&V0(w,9);var A=Wr,S=Rr,M=[0,Tr,M];continue}}}var h=0;return function(w){return cr(h,E,w)}}function s(y){function T(h){var w=pr(h);V0(h,6);for(var G=0;;){var A=A0(h);if(typeof A=="number"){var S=0;if(13<=A)Pn===A&&(S=1);else if(7<=A)switch(A-7|0){case 2:var M=De(h);V0(h,9);var G=[0,[2,M],G];continue;case 5:var K=pr(h),V=cr(0,function(_0){return V0(_0,12),p(_0,y)},h),f0=V[1],m0=lr([0,K],0,0),k0=[1,[0,f0,[0,V[2],m0]]];A0(h)!==7&&(ue(h,[0,f0,65]),A0(h)===9&&ie(h));var G=[0,k0,G];continue;case 0:S=1;break}if(S){var g0=de(G),e0=pr(h);V0(h,7);var x0=A0(h)===86?[1,u(t[9],h)]:o2(h);return[1,[0,g0,x0,_u([0,w],[0,we(h)],e0,0)]]}}var l=cr(0,function(w0){var _0=p(w0,y),E0=A0(w0),X0=0;if(typeof E0=="number"&&E0===82){V0(w0,82);var b=[0,u(se[10],w0)];X0=1}if(!X0)var b=0;return[0,_0,b]},h),c0=l[2],t0=[0,[0,l[1],[0,c0[1],c0[2]]]];A0(h)!==7&&V0(h,9);var G=[0,t0,G]}}var E=0;return function(h){return cr(E,T,h)}}function p(y,T){var E=A0(y);if(typeof E=="number"){if(E===6)return u(s(T),y);if(!E)return u(c(T),y)}var h=ur(se[14],y,0,T);return[0,h[1],[2,h[2]]]}return[0,n,e,i,c,s,p]}(bn),mne=cne(se),_ne=bn[9];function Xe0(t,n){var e=A0(n),i=0;if(typeof e=="number"?e===28?n[5]?Ge(n,55):n[14]&&Ft(0,n):e===58?n[17]?Ge(n,2):n[5]&&Ge(n,55):e===65?n[18]&&Ge(n,2):i=1:i=1,i)if(EL(e))Si(n,55);else{var x=0;if(typeof e=="number")switch(e){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var c=1;x=1;break}else if(e[0]===4&&ve0(e[3])){var c=1;x=1}if(!x)var c=0;var s=0;if(c)var p=c;else{var y=wL(e);if(y)var p=y;else{var T=0;if(typeof e=="number")switch(e){case 29:case 30:case 31:break;default:T=1}else if(e[0]===4){var E=e[3];n0(E,njr)&&n0(E,tjr)&&n0(E,ujr)&&(T=1)}else T=1;if(T){var h=0;s=1}else var p=1}}if(!s)var h=p;if(h)Ft(0,n);else{var w=0;t&&le0(e)?Si(n,t[1]):w=1}}return V7(n)}var Ye0=function t(n){return t.fun(n)},BL=function t(n,e,i){return t.fun(n,e,i)},qL=function t(n){return t.fun(n)},Ve0=function t(n,e){return t.fun(n,e)},UL=function t(n,e){return t.fun(n,e)},HL=function t(n,e){return t.fun(n,e)},G9=function t(n,e){return t.fun(n,e)},xb=function t(n,e){return t.fun(n,e)},M9=function t(n){return t.fun(n)},ze0=function t(n){return t.fun(n)},Ke0=function t(n){return t.fun(n)},We0=function t(n,e,i){return t.fun(n,e,i)},Je0=function t(n){return t.fun(n)},$e0=function t(n){return t.fun(n)},Ze0=Ys[3],yne=oi[3],dne=oi[1],hne=oi[5],kne=Ys[2],wne=Ys[1],Ene=Ys[4],Sne=oi[4],gne=oi[6],Fne=mne[13],Tne=He0[6],One=He0[3];N(Ye0,function(t){var n=pr(t),e=de(n),i=5;r:for(;;){if(e)for(var x=e[2],c=e[1],s=c[2],p=c[1],y=s[2],T=0,E=nn(y);;){if(E<(T+5|0))var h=0;else{var w=qn(p7(y,T,i),PRr);if(!w){var T=T+1|0;continue}var h=w}if(!h){var e=x;continue r}t[30][1]=p[3];var G=de([0,[0,p,s],x]);break}else var G=e;if(G===0){var A=0;if(n){var S=n[1],M=S[2];if(!M[1]){var K=M[2],V=0;if(1<=nn(K)&&At(K,0)===42){t[30][1]=S[1][3];var f0=[0,S,0];A=1,V=1}}}if(!A)var f0=0}else var f0=G;var m0=a(Ve0,t,function(c0){return 0}),k0=De(t);V0(t,Pn);var g0=Gu[1];if(le(function(c0,t0){var a0=t0[2];switch(a0[0]){case 17:return fb(t,c0,Gc(0,[0,a0[1][1],hre]));case 18:var w0=a0[1],_0=w0[1];if(_0){if(!w0[2]){var E0=_0[1],X0=E0[2],b=0;switch(X0[0]){case 34:var j0=X0[1][1],X=0,s0=le(function(Tr,Hr){return le(ML,Tr,[0,Hr[2][1],0])},X,j0);return le(function(Tr,Hr){return fb(t,Tr,Hr)},c0,s0);case 2:case 23:var dr=X0[1][1];if(dr)var Ar=dr[1];else b=1;break;case 16:case 26:case 32:case 33:var Ar=X0[1][1];break;default:b=1}return b?c0:fb(t,c0,Gc(0,[0,E0[1],Ar[2][1]]))}}else{var ar=w0[2];if(ar){var W0=ar[1];if(W0[0]===0){var Lr=W0[1];return le(function(Tr,Hr){var Or=Hr[2],xr=Or[2];return xr?fb(t,Tr,xr[1]):fb(t,Tr,Or[1])},c0,Lr)}return c0}}return c0;default:return c0}},g0,m0),m0)var e0=bl(de(m0))[1],x0=yt(bl(m0)[1],e0);else var x0=k0;var l=de(t[2][1]);return[0,x0,[0,m0,lr([0,f0],0,0),l]]}}),N(BL,function(t,n,e){for(var i=fe0(1,t),x=_re;;){var c=x[3],s=x[2],p=x[1],y=A0(i),T=0;if(typeof y=="number"&&Pn===y)var E=[0,i,p,s,c];else T=1;if(T)if(u(n,y))var E=[0,i,p,s,c];else{var h=0;if(typeof y=="number"||y[0]!==2)h=1;else{var w=u(e,i),G=[0,w,s],A=w[2];if(A[0]===19){var S=A[1][2];if(S){var M=qn(S[1],mre),K=M&&1-i[20];K&&ue(i,[0,w[1],43]);var V=M?ys(1,i):i,f0=[0,y,p],m0=c||M,i=V,x=[0,f0,G,m0];continue}}var E=[0,i,p,G,c]}if(h)var E=[0,i,p,s,c]}var k0=fe0(0,i),g0=de(p);return Pu(function(e0){if(typeof e0!="number"&&e0[0]===2){var x0=e0[1],l=x0[4];return l&&Y7(k0,[0,x0[1],45])}return ke(Te(dre,Te(Tr0(e0),yre)))},g0),[0,k0,E[3],c]}}),N(qL,function(t){var n=u(Ys[6],t),e=A0(t);if(typeof e=="number"){var i=e-49|0;if(!(11>>0))switch(i){case 0:return a(dt[16],n,t);case 1:u(N9(t),n);var x=Vn(1,t);if(typeof x=="number"){var c=0;if((x===4||x===10)&&(c=1),c)return u(dt[17],t)}return u(dt[18],t);case 11:if(Vn(1,t)===49)return u(N9(t),n),a(dt[12],0,t);break}}return a(xb,[0,n],t)}),N(Ve0,function(t,n){var e=ur(BL,t,n,qL),i=a(UL,n,e[1]),x=e[2];return le(function(c,s){return[0,s,c]},i,x)}),N(UL,function(t,n){for(var e=0;;){var i=A0(n);if(typeof i=="number"&&Pn===i||u(t,i))return de(e);var e=[0,u(qL,n),e]}}),N(HL,function(t,n){var e=ur(BL,n,t,function(s){return a(xb,0,s)}),i=a(G9,t,e[1]),x=e[2],c=le(function(s,p){return[0,p,s]},i,x);return[0,c,e[3]]}),N(G9,function(t,n){for(var e=0;;){var i=A0(n);if(typeof i=="number"&&Pn===i||u(t,i))return de(e);var e=[0,a(xb,0,n),e]}}),N(xb,function(t,n){var e=t&&t[1];1-$l(n)&&u(N9(n),e);var i=A0(n);if(typeof i=="number"){if(i===27)return u(dt[27],n);if(i===28)return u(dt[3],n)}if(qs(n))return u(zn[10],n);if($l(n))return a(Ze0,n,e);if(typeof i=="number"){var x=i+Wt|0;if(!(14>>0))switch(x){case 0:if(n[27][1])return u(zn[11],n);break;case 5:return u(dt[19],n);case 12:return a(dt[11],0,n);case 13:return u(dt[25],n);case 14:return u(dt[21],n)}}return u(M9,n)}),N(M9,function(t){var n=A0(t);if(typeof n=="number")switch(n){case 0:return u(dt[7],t);case 8:return u(dt[15],t);case 19:return u(dt[22],t);case 20:return u(dt[23],t);case 22:return u(dt[24],t);case 23:return u(dt[4],t);case 24:return u(dt[26],t);case 25:return u(dt[5],t);case 26:return u(dt[6],t);case 32:return u(dt[8],t);case 35:return u(dt[9],t);case 37:return u(dt[14],t);case 39:return u(dt[1],t);case 59:return u(dt[10],t);case 113:return Ft(lre,t),[0,De(t),bre];case 16:case 43:return u(dt[2],t);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 83:case 86:return Ft(pre,t),ie(t),u(M9,t)}if(qs(t)){var e=u(zn[10],t);return B1(t,e[1]),e}if(typeof n=="number"&&n===28&&Vn(1,t)===6){var i=Wl(1,t);return ue(t,[0,yt(De(t),i),94]),u(dt[17],t)}return M1(t)?u(dt[20],t):($l(t)&&(Ft(0,t),ie(t)),u(dt[17],t))}),N(ze0,function(t){var n=De(t),e=u(oi[1],t),i=A0(t);return typeof i=="number"&&i===9?ur(oi[7],t,n,[0,e,0]):e}),N(Ke0,function(t){var n=De(t),e=u(oi[2],t),i=A0(t);if(typeof i=="number"&&i===9){var x=[0,a(j9[1],t,e),0];return[0,ur(oi[7],t,n,x)]}return e}),N(We0,function(t,n,e){var i=n&&n[1];return cr(0,function(x){var c=1-i,s=Xe0([0,e],x),p=c&&(A0(x)===85?1:0);return p&&(1-fu(x)&&Ge(x,12),V0(x,85)),[0,s,u(bn[10],x),p]},t)}),N(Je0,function(t){var n=De(t),e=pr(t);V0(t,0);var i=a(G9,function(y){return y===1?1:0},t),x=i===0?1:0,c=De(t),s=x&&pr(t);V0(t,1);var p=[0,i,_u([0,e],[0,we(t)],s,0)];return[0,yt(n,c),p]}),N($e0,function(t){function n(i){var x=pr(i);V0(i,0);var c=a(HL,function(S){return S===1?1:0},i),s=c[1],p=s===0?1:0,y=p&&pr(i);V0(i,1);var T=A0(i),E=0;if(!t){var h=0;if(typeof T=="number"&&(T===1||Pn===T)&&(h=1),!h){var w=f7(i);if(w){var G=Us(i);E=1}else{var G=w;E=1}}}if(!E)var G=we(i);var A=_u([0,x],[0,G],y,0);return[0,[0,s,A],c[2]]}var e=0;return function(i){return OL(e,n,i)}}),pu(gre,se,[0,Ye0,M9,xb,G9,HL,UL,ze0,Ke0,yne,dne,hne,kne,Xe0,We0,Je0,$e0,Fne,Tne,One,wne,Ze0,Ene,Sne,gne,_ne]);var Qe0=[0,0],rn0=vn;function Ine(t){function n(e,i){var x=i[2],c=i[1],s=sL(x),p=[0,[0,Fre,u(t[1],s)],0],y=P9(e,c[3]),T=[0,u(t[5],y),0],E=P9(e,c[2]),h=[0,u(t[5],E),T],w=[0,[0,Tre,u(t[4],h)],p],G=[0,[0,Ore,u(t[5],c[3][2])],0],A=[0,[0,Ire,u(t[5],c[3][1])],G],S=[0,[0,Are,u(t[3],A)],0],M=[0,[0,Nre,u(t[5],c[2][2])],0],K=[0,[0,Cre,u(t[5],c[2][1])],M],V=[0,[0,Pre,u(t[3],K)],S],f0=[0,[0,Dre,u(t[3],V)],w];switch(i[3]){case 0:var m0=Lre;break;case 1:var m0=Rre;break;case 2:var m0=jre;break;case 3:var m0=Gre;break;case 4:var m0=Mre;break;default:var m0=Bre}var k0=[0,[0,qre,u(t[1],m0)],f0],g0=Tr0(x),e0=[0,[0,Ure,u(t[1],g0)],k0];return u(t[3],e0)}return[0,n,function(e,i){var x=de(Tp(function(c){return n(e,c)},i));return u(t[4],x)}]}var Ane=R70;function H1(t){return j70(_l(t))}function yu(t){return L70(_l(t))}function Nne(t){return t}function Cne(t){return t}function en0(t,n,e){try{var i=new RegExp(vn(n),vn(e));return i}catch{return u7}}var Pne=Ine([0,rn0,Ane,H1,yu,Nne,Cne,u7,en0]),Dne=[0,1],nn0=function(t){function n(E,h){return yu(de(Tp(E,h)))}function e(E,h){return h?u(E,h[1]):u7}function i(E,h){return h[0]===0?u7:u(E,h[1])}function x(E){return H1([0,[0,UWr,E[1]],[0,[0,qWr,E[2]],0]])}function c(E){var h=E[1],w=h?vn(h[1][1]):u7,G=[0,[0,GWr,x(E[3])],0];return H1([0,[0,BWr,w],[0,[0,MWr,x(E[2])],G]])}function s(E){return n(function(h){var w=h[2],G=0;if(typeof w=="number"){var A=w;if(55<=A)switch(A){case 55:var S=bmr;break;case 56:var S=pmr;break;case 57:var S=mmr;break;case 58:var S=_mr;break;case 59:var S=ymr;break;case 60:var S=dmr;break;case 61:var S=Te(kmr,hmr);break;case 62:var S=Te(Emr,wmr);break;case 63:var S=Te(gmr,Smr);break;case 64:var S=Fmr;break;case 65:var S=Tmr;break;case 66:var S=Omr;break;case 67:var S=Imr;break;case 68:var S=Amr;break;case 69:var S=Nmr;break;case 70:var S=Cmr;break;case 71:var S=Pmr;break;case 72:var S=Dmr;break;case 73:var S=Lmr;break;case 74:var S=Rmr;break;case 75:var S=jmr;break;case 76:var S=Gmr;break;case 77:var S=Mmr;break;case 78:var S=Bmr;break;case 79:var S=qmr;break;case 80:var S=Umr;break;case 81:var S=Hmr;break;case 82:var S=Te(Ymr,Xmr);break;case 83:var S=Vmr;break;case 84:var S=zmr;break;case 85:var S=Kmr;break;case 86:var S=Wmr;break;case 87:var S=Jmr;break;case 88:var S=$mr;break;case 89:var S=Zmr;break;case 90:var S=Qmr;break;case 91:var S=r9r;break;case 92:var S=e9r;break;case 93:var S=n9r;break;case 94:var S=Te(u9r,t9r);break;case 95:var S=i9r;break;case 96:var S=f9r;break;case 97:var S=x9r;break;case 98:var S=a9r;break;case 99:var S=o9r;break;case 100:var S=c9r;break;case 101:var S=s9r;break;case 102:var S=v9r;break;case 103:var S=l9r;break;case 104:var S=b9r;break;case 105:var S=p9r;break;case 106:var S=m9r;break;case 107:var S=_9r;break;default:var S=y9r}else switch(A){case 0:var S=v5r;break;case 1:var S=l5r;break;case 2:var S=b5r;break;case 3:var S=p5r;break;case 4:var S=m5r;break;case 5:var S=_5r;break;case 6:var S=y5r;break;case 7:var S=d5r;break;case 8:var S=h5r;break;case 9:var S=k5r;break;case 10:var S=w5r;break;case 11:var S=E5r;break;case 12:var S=S5r;break;case 13:var S=g5r;break;case 14:var S=F5r;break;case 15:var S=T5r;break;case 16:var S=O5r;break;case 17:var S=I5r;break;case 18:var S=A5r;break;case 19:var S=N5r;break;case 20:var S=C5r;break;case 21:var S=P5r;break;case 22:var S=D5r;break;case 23:var S=L5r;break;case 24:var S=R5r;break;case 25:var S=j5r;break;case 26:var S=G5r;break;case 27:var S=M5r;break;case 28:var S=B5r;break;case 29:var S=q5r;break;case 30:var S=U5r;break;case 31:var S=Te(X5r,H5r);break;case 32:var S=Y5r;break;case 33:var S=V5r;break;case 34:var S=z5r;break;case 35:var S=K5r;break;case 36:var S=W5r;break;case 37:var S=J5r;break;case 38:var S=$5r;break;case 39:var S=Z5r;break;case 40:var S=Q5r;break;case 41:var S=rmr;break;case 42:var S=emr;break;case 43:var S=nmr;break;case 44:var S=tmr;break;case 45:var S=umr;break;case 46:var S=imr;break;case 47:var S=fmr;break;case 48:var S=xmr;break;case 49:var S=amr;break;case 50:var S=omr;break;case 51:var S=cmr;break;case 52:var S=smr;break;case 53:var S=vmr;break;default:var S=lmr}}else switch(w[0]){case 0:var M=w[2],K=w[1],S=ur(et(d9r),M,M,K);break;case 1:var V=w[1],f0=w[2],S=a(et(h9r),f0,V);break;case 2:var m0=w[1],S=u(et(k9r),m0);break;case 3:var k0=w[2],g0=w[1],e0=u(et(w9r),g0);if(k0)var x0=k0[1],S=a(et(E9r),x0,e0);else var S=u(et(S9r),e0);break;case 4:var l=w[1],S=a(et(g9r),l,l);break;case 5:var c0=w[3],t0=w[2],a0=w[1];if(t0){var w0=t0[1];if(3<=w0)var S=a(et(F9r),c0,a0);else{switch(w0){case 0:var _0=a5r;break;case 1:var _0=o5r;break;case 2:var _0=c5r;break;default:var _0=s5r}var S=R(et(T9r),a0,_0,c0,_0)}}else var S=a(et(O9r),c0,a0);break;case 6:var E0=w[2],X0=E0;if(l7(X0)===0)var b=X0;else{var j0=mz(X0);$n(j0,0,vz(Hu(X0,0)));var b=j0}var X=b,s0=w[1],S=ur(et(I9r),E0,X,s0);break;case 7:var S=w[1]?A9r:N9r;break;case 8:var dr=w[1],Ar=w[2],S=a(et(C9r),Ar,dr);break;case 9:var ar=w[1],S=u(et(P9r),ar);break;case 10:var W0=w[1],S=u(et(D9r),W0);break;case 11:var Lr=w[2],Tr=w[1],S=a(et(L9r),Tr,Lr);break;case 12:var Hr=w[2],Or=w[1],S=a(et(R9r),Or,Hr);break;case 13:var S=Te(G9r,Te(w[1],j9r));break;case 14:var xr=w[1]?M9r:B9r,S=u(et(q9r),xr);break;case 15:var S=Te(H9r,Te(w[1],U9r));break;case 16:var Rr=Te(Y9r,Te(w[2],X9r)),S=Te(w[1],Rr);break;case 17:var S=Te(V9r,w[1]);break;case 18:var S=w[1]?Te(K9r,z9r):Te(J9r,W9r);break;case 19:var Wr=w[1],S=u(et($9r),Wr);break;case 20:var S=Te(Q9r,Te(w[1],Z9r));break;case 21:var Jr=w[1],or=w[2]?r_r:e_r,_r=w[4]?Te(n_r,Jr):Jr,Ir=w[3]?t_r:u_r,S=Te(x_r,Te(or,Te(Ir,Te(f_r,Te(_r,i_r)))));break;case 22:var S=Te(o_r,Te(w[1],a_r));break;default:var fe=w[1],S=u(et(c_r),fe)}var v0=[0,[0,RWr,vn(S)],G];return H1([0,[0,jWr,c(h[1])],v0])},E)}function p(E){if(E){var h=E[1],w=[0,un(h[3],h[2])];return lr([0,h[1]],w,0)}return E}function y(E){function h(_){return n(H0,_)}function w(_,k,I,U){var Y=t[1];if(Y){if(E)var y0=E[1],D0=[0,P9(y0,k[3]),0],I0=[0,[0,_Gr,yu([0,P9(y0,k[2]),D0])],0];else var I0=E;var D=un(I0,[0,[0,yGr,c(k)],0])}else var D=Y;if(I){var u0=I[1],Y0=u0[1];if(Y0){var J0=u0[2];if(J0)var fr=[0,[0,dGr,h(J0)],0],Q0=[0,[0,hGr,h(Y0)],fr];else var Q0=[0,[0,kGr,h(Y0)],0];var mr=Q0}else var F0=u0[2],Sr=F0&&[0,[0,wGr,h(F0)],0],mr=Sr;var Cr=mr}else var Cr=I;return H1(jc(un(D,un(Cr,[0,[0,EGr,vn(_)],0])),U))}function G(_){return n(Q,_)}function A(_){var k=_[2],I=G(k[1]),U=[0,[0,gGr,I],[0,[0,SGr,h(k[3])],0]];return w(FGr,_[1],k[2],U)}function S(_){var k=_[2];return w(uUr,_[1],k[2],[0,[0,tUr,vn(k[1])],[0,[0,nUr,u7],[0,[0,eUr,!1],0]]])}function M(_){if(_[0]===0)return S(_[1]);var k=_[1],I=k[2],U=M(I[1]),Y=[0,[0,$zr,U],[0,[0,Jzr,S(I[2])],0]];return w(Zzr,k[1],0,Y)}function K(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,Dzr,U],[0,[0,Pzr,S(k[2])],0]];return w(Lzr,_[1],0,Y)}function V(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,jzr,U],[0,[0,Rzr,e($r,k[2])],0]];return w(Gzr,_[1],k[3],Y)}function f0(_){var k=_[2],I=k[2],U=k[1],Y=_[1];if(typeof U=="number")var y0=u7;else switch(U[0]){case 0:var y0=vn(U[1]);break;case 1:var y0=!!U[1];break;case 2:var y0=U[1];break;case 3:var y0=ke(FYr);break;default:var D0=U[1],y0=en0(Y,D0[1],D0[2])}var I0=0;if(typeof U!="number"&&U[0]===4){var D=U[1],u0=[0,[0,IYr,H1([0,[0,OYr,vn(D[1])],[0,[0,TYr,vn(D[2])],0]])],0],Y0=[0,[0,NYr,y0],[0,[0,AYr,vn(I)],u0]];I0=1}if(!I0)var Y0=[0,[0,PYr,y0],[0,[0,CYr,vn(I)],0]];return w(DYr,Y,k[3],Y0)}function m0(_){var k=[0,[0,Mzr,g0(_[2])],0];return[0,[0,Bzr,g0(_[1])],k]}function k0(_,k){var I=k[2],U=[0,[0,LVr,!!I[3]],0],Y=[0,[0,RVr,g0(I[2])],U],y0=[0,[0,jVr,e(S,I[1])],Y];return w(GVr,k[1],_,y0)}function g0(_){var k=_[2],I=_[1];switch(k[0]){case 0:return w(_Vr,I,k[1],0);case 1:return w(yVr,I,k[1],0);case 2:return w(dVr,I,k[1],0);case 3:return w(hVr,I,k[1],0);case 4:return w(kVr,I,k[1],0);case 5:return w(EVr,I,k[1],0);case 6:return w(SVr,I,k[1],0);case 7:return w(gVr,I,k[1],0);case 8:return w(FVr,I,k[1],0);case 9:return w(wVr,I,k[1],0);case 10:return w(pKr,I,k[1],0);case 11:var U=k[1],Y=[0,[0,TVr,g0(U[1])],0];return w(OVr,I,U[2],Y);case 12:return e0([0,I,k[1]]);case 13:return x0(1,[0,I,k[1]]);case 14:var y0=k[1],D0=[0,[0,Ozr,x0(0,y0[1])],0],I0=[0,[0,Izr,n(fe,y0[2])],D0];return w(Azr,I,y0[3],I0);case 15:var D=k[1],u0=[0,[0,Nzr,g0(D[1])],0];return w(Czr,I,D[2],u0);case 16:return V([0,I,k[1]]);case 17:var Y0=k[1],J0=m0(Y0);return w(qzr,I,Y0[3],J0);case 18:var fr=k[1],Q0=fr[1],F0=[0,[0,Uzr,!!fr[2]],0],Sr=un(m0(Q0),F0);return w(Hzr,I,Q0[3],Sr);case 19:var mr=k[1],Cr=mr[1],sr=[0,[0,Xzr,n(g0,[0,Cr[1],[0,Cr[2],Cr[3]]])],0];return w(Yzr,I,mr[2],sr);case 20:var Pr=k[1],K0=Pr[1],Ur=[0,[0,Vzr,n(g0,[0,K0[1],[0,K0[2],K0[3]]])],0];return w(zzr,I,Pr[2],Ur);case 21:var d0=k[1],Kr=[0,[0,Kzr,M(d0[1])],0];return w(Wzr,I,d0[2],Kr);case 22:var re=k[1],xe=[0,[0,Qzr,n(g0,re[1])],0];return w(rKr,I,re[2],xe);case 23:var je=k[1];return w(tKr,I,je[3],[0,[0,nKr,vn(je[1])],[0,[0,eKr,vn(je[2])],0]]);case 24:var ve=k[1];return w(fKr,I,ve[3],[0,[0,iKr,ve[1]],[0,[0,uKr,vn(ve[2])],0]]);case 25:var Ie=k[1];return w(oKr,I,Ie[3],[0,[0,aKr,u7],[0,[0,xKr,vn(Ie[2])],0]]);default:var Me=k[1],Be=Me[1],fn=0,Ke=Be?cKr:sKr;return w(bKr,I,Me[2],[0,[0,lKr,!!Be],[0,[0,vKr,vn(Ke)],fn]])}}function e0(_){var k=_[2],I=k[2][2],U=k[4],Y=_7(p(I[4]),U),y0=[0,[0,IVr,e(qr,k[1])],0],D0=[0,[0,AVr,e(Mr,I[3])],y0],I0=[0,[0,NVr,g0(k[3])],D0],D=[0,[0,CVr,e(Br,I[1])],I0],u0=I[2],Y0=[0,[0,PVr,n(function(J0){return k0(0,J0)},u0)],D];return w(DVr,_[1],Y,Y0)}function x0(_,k){var I=k[2],U=I[3],Y=le(function(fr,Q0){var F0=fr[4],Sr=fr[3],mr=fr[2],Cr=fr[1];switch(Q0[0]){case 0:var sr=Q0[1],Pr=sr[2],K0=Pr[2],Ur=Pr[1];switch(Ur[0]){case 0:var d0=f0(Ur[1]);break;case 1:var d0=S(Ur[1]);break;case 2:var d0=ke($Vr);break;default:var d0=ke(ZVr)}switch(K0[0]){case 0:var xe=QVr,je=g0(K0[1]);break;case 1:var Kr=K0[1],xe=rzr,je=e0([0,Kr[1],Kr[2]]);break;default:var re=K0[1],xe=ezr,je=e0([0,re[1],re[2]])}var ve=[0,[0,nzr,vn(xe)],0],Ie=[0,[0,tzr,e(Er,Pr[7])],ve];return[0,[0,w(czr,sr[1],Pr[8],[0,[0,ozr,d0],[0,[0,azr,je],[0,[0,xzr,!!Pr[6]],[0,[0,fzr,!!Pr[3]],[0,[0,izr,!!Pr[4]],[0,[0,uzr,!!Pr[5]],Ie]]]]]]),Cr],mr,Sr,F0];case 1:var Me=Q0[1],Be=Me[2],fn=[0,[0,szr,g0(Be[1])],0];return[0,[0,w(vzr,Me[1],Be[2],fn),Cr],mr,Sr,F0];case 2:var Ke=Q0[1],Ae=Ke[2],xn=[0,[0,lzr,e(Er,Ae[5])],0],Qe=[0,[0,bzr,!!Ae[4]],xn],dn=[0,[0,pzr,g0(Ae[3])],Qe],on=[0,[0,mzr,g0(Ae[2])],dn],Ce=[0,[0,_zr,e(S,Ae[1])],on];return[0,Cr,[0,w(yzr,Ke[1],Ae[6],Ce),mr],Sr,F0];case 3:var We=Q0[1],rn=We[2],pn=[0,[0,dzr,!!rn[2]],0],Cn=[0,[0,hzr,e0(rn[1])],pn];return[0,Cr,mr,[0,w(kzr,We[1],rn[3],Cn),Sr],F0];default:var Hn=Q0[1],Fn=Hn[2],vt=[0,[0,wzr,g0(Fn[2])],0],Ct=[0,[0,gzr,!!Fn[3]],[0,[0,Szr,!!Fn[4]],[0,[0,Ezr,!!Fn[5]],vt]]],Tt=[0,[0,Fzr,S(Fn[1])],Ct];return[0,Cr,mr,Sr,[0,w(Tzr,Hn[1],Fn[6],Tt),F0]]}},HVr,U),y0=[0,[0,XVr,yu(de(Y[4]))],0],D0=[0,[0,YVr,yu(de(Y[3]))],y0],I0=[0,[0,VVr,yu(de(Y[2]))],D0],D=[0,[0,zVr,yu(de(Y[1]))],I0],u0=[0,[0,KVr,!!I[1]],D],Y0=_?[0,[0,WVr,!!I[2]],u0]:u0,J0=p(I[4]);return w(JVr,k[1],J0,Y0)}function l(_){var k=[0,[0,mKr,g0(_[2])],0];return w(_Kr,_[1],0,k)}function c0(_){var k=_[2];switch(k[2]){case 0:var I=fVr;break;case 1:var I=xVr;break;default:var I=aVr}var U=[0,[0,oVr,vn(I)],0],Y=[0,[0,cVr,n($0,k[1])],U];return w(sVr,_[1],k[3],Y)}function t0(_){var k=_[2];return w(HYr,_[1],k[3],[0,[0,UYr,vn(k[1])],[0,[0,qYr,vn(k[2])],0]])}function a0(_){var k=_[2],I=[0,[0,qXr,f1],[0,[0,BXr,l(k[1])],0]];return w(UXr,_[1],k[2],I)}function w0(_,k){var I=k[1][2],U=[0,[0,oUr,!!k[3]],0],Y=[0,[0,cUr,i(l,k[2])],U];return w(vUr,_,I[2],[0,[0,sUr,vn(I[1])],Y])}function _0(_){var k=_[2];return w(aUr,_[1],k[2],[0,[0,xUr,vn(k[1])],[0,[0,fUr,u7],[0,[0,iUr,!1],0]]])}function E0(_){return n(q0,_[2][1])}function X0(_){var k=_[2],I=[0,[0,DKr,w(YKr,k[2],0,0)],0],U=[0,[0,LKr,n(ae,k[3][2])],I],Y=[0,[0,RKr,w(UKr,k[1],0,0)],U];return w(jKr,_[1],k[4],Y)}function b(_){var k=_[2];return w(vWr,_[1],k[2],[0,[0,sWr,vn(k[1])],0])}function j0(_){var k=_[2],I=[0,[0,aWr,b(k[2])],0],U=[0,[0,oWr,b(k[1])],I];return w(cWr,_[1],0,U)}function X(_){var k=_[2],I=k[1],U=I[0]===0?b(I[1]):X(I[1]),Y=[0,[0,fWr,U],[0,[0,iWr,b(k[2])],0]];return w(xWr,_[1],0,Y)}function s0(_){switch(_[0]){case 0:return b(_[1]);case 1:return j0(_[1]);default:return X(_[1])}}function dr(_){var k=_[2],I=[0,[0,AKr,n(ae,k[3][2])],0],U=[0,[0,NKr,e(oe,k[2])],I],Y=k[1],y0=Y[2],D0=[0,[0,GKr,!!y0[2]],0],I0=[0,[0,MKr,n(be,y0[3])],D0],D=[0,[0,BKr,s0(y0[1])],I0],u0=[0,[0,CKr,w(qKr,Y[1],0,D)],U];return w(PKr,_[1],k[4],u0)}function Ar(_){var k=_[2],I=[0,[0,WYr,n(xr,k[2])],0],U=[0,[0,JYr,n(vr,k[1])],I];return w($Yr,_[1],k[3],U)}function ar(_,k){var I=k[2],U=I[7],Y=I[5],y0=I[4];if(y0)var D0=y0[1][2],I0=_7(D0[3],U),D=I0,u0=D0[2],Y0=[0,D0[1]];else var D=U,u0=0,Y0=0;if(Y)var J0=Y[1][2],fr=_7(J0[2],D),Q0=fr,F0=n(T0,J0[1]);else var Q0=D,F0=yu(0);var Sr=[0,[0,iHr,F0],[0,[0,uHr,n(S0,I[6])],0]],mr=[0,[0,fHr,e($r,u0)],Sr],Cr=[0,[0,xHr,e(xr,Y0)],mr],sr=[0,[0,aHr,e(qr,I[3])],Cr],Pr=I[2],K0=Pr[2],Ur=[0,[0,mHr,n(rr,K0[1])],0],d0=[0,[0,oHr,w(_Hr,Pr[1],K0[2],Ur)],sr],Kr=[0,[0,cHr,e(S,I[1])],d0];return w(_,k[1],Q0,Kr)}function W0(_){var k=_[2],I=[0,[0,dUr,G(k[1])],0],U=p(k[2]);return w(hUr,_[1],U,I)}function Lr(_){var k=_[2];switch(k[0]){case 0:var I=0,U=S(k[1]);break;case 1:var I=0,U=_0(k[1]);break;default:var I=1,U=xr(k[1])}return[0,[0,LWr,xr(_[1])],[0,[0,DWr,U],[0,[0,PWr,!!I],0]]]}function Tr(_){var k=[0,[0,AWr,E0(_[3])],0],I=[0,[0,NWr,e(ne,_[2])],k];return[0,[0,CWr,xr(_[1])],I]}function Hr(_){var k=_[2],I=k[3],U=k[2],Y=k[1];if(I){var y0=I[1],D0=y0[2],I0=[0,[0,HXr,Or(D0[1])],0],D=w(XXr,y0[1],D0[2],I0),u0=de([0,D,Tp(R0,U)]),Y0=Y?[0,a0(Y[1]),u0]:u0;return yu(Y0)}var J0=k1(R0,U),fr=Y?[0,a0(Y[1]),J0]:J0;return yu(fr)}function Or(_){var k=_[2],I=_[1];switch(k[0]){case 0:var U=k[1],Y=[0,[0,NXr,i(l,U[2])],0],y0=[0,[0,CXr,n(b0,U[1])],Y];return w(PXr,I,p(U[3]),y0);case 1:var D0=k[1],I0=[0,[0,DXr,i(l,D0[2])],0],D=[0,[0,LXr,n(Z,D0[1])],I0];return w(RXr,I,p(D0[3]),D);case 2:return w0(I,k[1]);default:return xr(k[1])}}function xr(_){var k=_[2],I=_[1];switch(k[0]){case 0:var U=k[1],Y=[0,[0,nBr,n(er,U[1])],0];return w(tBr,I,p(U[2]),Y);case 1:var y0=k[1],D0=y0[7],I0=y0[3],D=y0[2];if(I0[0]===0)var u0=0,Y0=W0(I0[1]);else var u0=1,Y0=xr(I0[1]);var J0=D0[0]===0?0:[0,D0[1]],fr=y0[9],Q0=_7(p(D[2][4]),fr),F0=[0,[0,uBr,e(qr,y0[8])],0],Sr=[0,[0,fBr,!!u0],[0,[0,iBr,e(l,J0)],F0]],mr=[0,[0,aBr,!1],[0,[0,xBr,e(Fr,y0[6])],Sr]],Cr=[0,[0,cBr,Y0],[0,[0,oBr,!!y0[4]],mr]];return w(lBr,I,Q0,[0,[0,vBr,u7],[0,[0,sBr,Hr(D)],Cr]]);case 2:var sr=k[1],Pr=sr[1];if(Pr){switch(Pr[1]){case 0:var K0=Mpr;break;case 1:var K0=Bpr;break;case 2:var K0=qpr;break;case 3:var K0=Upr;break;case 4:var K0=Hpr;break;case 5:var K0=Xpr;break;case 6:var K0=Ypr;break;case 7:var K0=Vpr;break;case 8:var K0=zpr;break;case 9:var K0=Kpr;break;case 10:var K0=Wpr;break;case 11:var K0=Jpr;break;case 12:var K0=$pr;break;case 13:var K0=Zpr;break;default:var K0=Qpr}var Ur=K0}else var Ur=bBr;var d0=[0,[0,pBr,xr(sr[3])],0],Kr=[0,[0,mBr,Or(sr[2])],d0];return w(yBr,I,sr[4],[0,[0,_Br,vn(Ur)],Kr]);case 3:var re=k[1],xe=[0,[0,dBr,xr(re[3])],0],je=[0,[0,hBr,xr(re[2])],xe];switch(re[1]){case 0:var ve=_pr;break;case 1:var ve=ypr;break;case 2:var ve=dpr;break;case 3:var ve=hpr;break;case 4:var ve=kpr;break;case 5:var ve=wpr;break;case 6:var ve=Epr;break;case 7:var ve=Spr;break;case 8:var ve=gpr;break;case 9:var ve=Fpr;break;case 10:var ve=Tpr;break;case 11:var ve=Opr;break;case 12:var ve=Ipr;break;case 13:var ve=Apr;break;case 14:var ve=Npr;break;case 15:var ve=Cpr;break;case 16:var ve=Ppr;break;case 17:var ve=Dpr;break;case 18:var ve=Lpr;break;case 19:var ve=Rpr;break;case 20:var ve=jpr;break;default:var ve=Gpr}return w(wBr,I,re[4],[0,[0,kBr,vn(ve)],je]);case 4:var Ie=k[1],Me=Ie[4],Be=_7(p(Ie[3][2][2]),Me);return w(EBr,I,Be,Tr(Ie));case 5:return ar(tHr,[0,I,k[1]]);case 6:var fn=k[1],Ke=[0,[0,SBr,e(xr,fn[2])],0];return w(FBr,I,0,[0,[0,gBr,n(yr,fn[1])],Ke]);case 7:var Ae=k[1],xn=[0,[0,TBr,xr(Ae[3])],0],Qe=[0,[0,OBr,xr(Ae[2])],xn],dn=[0,[0,IBr,xr(Ae[1])],Qe];return w(ABr,I,Ae[4],dn);case 8:return Rr([0,I,k[1]]);case 9:var on=k[1],Ce=[0,[0,NBr,e(xr,on[2])],0];return w(PBr,I,0,[0,[0,CBr,n(yr,on[1])],Ce]);case 10:return S(k[1]);case 11:var We=k[1],rn=[0,[0,DBr,xr(We[1])],0];return w(LBr,I,We[2],rn);case 12:return dr([0,I,k[1]]);case 13:return X0([0,I,k[1]]);case 14:var pn=k[1],Cn=pn[1];return typeof Cn!="number"&&Cn[0]===3?w(BYr,I,pn[3],[0,[0,MYr,u7],[0,[0,GYr,vn(pn[2])],0]]):f0([0,I,pn]);case 15:var Hn=k[1];switch(Hn[1]){case 0:var Fn=RBr;break;case 1:var Fn=jBr;break;default:var Fn=GBr}var vt=[0,[0,MBr,xr(Hn[3])],0],Ct=[0,[0,BBr,xr(Hn[2])],vt];return w(UBr,I,Hn[4],[0,[0,qBr,vn(Fn)],Ct]);case 16:var Tt=k[1],Zt=Lr(Tt);return w(HBr,I,Tt[3],Zt);case 17:var Ht=k[1],Ot=[0,[0,XBr,S(Ht[2])],0],Pt=[0,[0,YBr,S(Ht[1])],Ot];return w(VBr,I,Ht[3],Pt);case 18:var du=k[1],Ku=du[4],lt=du[3];if(lt)var au=lt[1],Mu=_7(p(au[2][2]),Ku),z7=Mu,Yi=E0(au);else var z7=Ku,Yi=yu(0);var a7=[0,[0,KBr,e(ne,du[2])],[0,[0,zBr,Yi],0]];return w(JBr,I,z7,[0,[0,WBr,xr(du[1])],a7]);case 19:var Yc=k[1],K7=[0,[0,$Br,n(p0,Yc[1])],0];return w(ZBr,I,p(Yc[2]),K7);case 20:var Xt=k[1],bt=Xt[1],U0=bt[4],L0=_7(p(bt[3][2][2]),U0),Re=[0,[0,QBr,!!Xt[3]],0];return w(rqr,I,L0,un(Tr(bt),Re));case 21:var He=k[1],he=He[1],me=[0,[0,eqr,!!He[3]],0],Qn=un(Lr(he),me);return w(nqr,I,he[3],Qn);case 22:var hn=k[1],ft=[0,[0,tqr,n(xr,hn[1])],0];return w(uqr,I,hn[2],ft);case 23:return w(iqr,I,k[1][1],0);case 24:var xt=k[1],Rn=[0,[0,tVr,Ar(xt[2])],0],tt=[0,[0,uVr,xr(xt[1])],Rn];return w(iVr,I,xt[3],tt);case 25:return Ar([0,I,k[1]]);case 26:return w(fqr,I,k[1][1],0);case 27:var ht=k[1],tn=[0,[0,xqr,l(ht[2])],0],cn=[0,[0,aqr,xr(ht[1])],tn];return w(oqr,I,ht[3],cn);case 28:var ut=k[1],It=ut[3],Fi=ut[2],hs=ut[1];if(7<=hs)return w(sqr,I,It,[0,[0,cqr,xr(Fi)],0]);switch(hs){case 0:var Iu=vqr;break;case 1:var Iu=lqr;break;case 2:var Iu=bqr;break;case 3:var Iu=pqr;break;case 4:var Iu=mqr;break;case 5:var Iu=_qr;break;case 6:var Iu=yqr;break;default:var Iu=ke(dqr)}var Vs=[0,[0,kqr,!0],[0,[0,hqr,xr(Fi)],0]];return w(Eqr,I,It,[0,[0,wqr,vn(Iu)],Vs]);case 29:var Vi=k[1],zs=Vi[1]?Sqr:gqr,Ks=[0,[0,Fqr,!!Vi[3]],0],en=[0,[0,Tqr,xr(Vi[2])],Ks];return w(Iqr,I,Vi[4],[0,[0,Oqr,vn(zs)],en]);default:var ci=k[1],Ws=[0,[0,Aqr,!!ci[3]],0],c2=[0,[0,Nqr,e(xr,ci[1])],Ws];return w(Cqr,I,ci[2],c2)}}function Rr(_){var k=_[2],I=k[7],U=k[3],Y=k[2],y0=U[0]===0?U[1]:ke(Xqr),D0=I[0]===0?0:[0,I[1]],I0=k[9],D=_7(p(Y[2][4]),I0),u0=[0,[0,Yqr,e(qr,k[8])],0],Y0=[0,[0,zqr,!1],[0,[0,Vqr,e(l,D0)],u0]],J0=[0,[0,Kqr,e(Fr,k[6])],Y0],fr=[0,[0,Jqr,!!k[4]],[0,[0,Wqr,!!k[5]],J0]],Q0=[0,[0,$qr,W0(y0)],fr],F0=[0,[0,Zqr,Hr(Y)],Q0],Sr=[0,[0,Qqr,e(S,k[1])],F0];return w(rUr,_[1],D,Sr)}function Wr(_){var k=_[2],I=[0,[0,EXr,n(fe,k[3])],0],U=[0,[0,SXr,x0(0,k[4])],I],Y=[0,[0,gXr,e(qr,k[2])],U],y0=[0,[0,FXr,S(k[1])],Y];return w(TXr,_[1],k[5],y0)}function Jr(_,k){var I=k[2],U=_?JUr:$Ur,Y=[0,[0,ZUr,e(g0,I[4])],0],y0=[0,[0,QUr,e(g0,I[3])],Y],D0=[0,[0,rHr,e(qr,I[2])],y0],I0=[0,[0,eHr,S(I[1])],D0];return w(U,k[1],I[5],I0)}function or(_){var k=_[2],I=[0,[0,VUr,g0(k[3])],0],U=[0,[0,zUr,e(qr,k[2])],I],Y=[0,[0,KUr,S(k[1])],U];return w(WUr,_[1],k[4],Y)}function _r(_){if(_){var k=_[1];if(k[0]===0)return n(ge,k[1]);var I=k[1],U=I[2];if(U){var Y=[0,[0,BUr,S(U[1])],0];return yu([0,w(qUr,I[1],0,Y),0])}return yu(0)}return yu(0)}function Ir(_){return _?GUr:MUr}function fe(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,IXr,U],[0,[0,OXr,e($r,k[2])],0]];return w(AXr,_[1],k[3],Y)}function v0(_){var k=_[2],I=k[6],U=k[4],Y=yu(U?[0,fe(U[1]),0]:0),y0=I?n(T0,I[1][2][1]):yu(0),D0=[0,[0,OUr,Y],[0,[0,TUr,y0],[0,[0,FUr,n(fe,k[5])],0]]],I0=[0,[0,IUr,x0(0,k[3])],D0],D=[0,[0,AUr,e(qr,k[2])],I0],u0=[0,[0,NUr,S(k[1])],D];return w(CUr,_[1],k[7],u0)}function P(_){var k=_[2],I=k[2],U=k[1],Y=yt(U[1],I[1]),y0=[0,[0,EUr,e(Fr,k[3])],0],D0=[0,[0,SUr,w0(Y,[0,U,[1,I],0])],y0];return w(gUr,_[1],k[4],D0)}function L(_){var k=_[2],I=k[2],U=k[1],Y=[0,[0,kUr,w0(yt(U[1],I[1]),[0,U,[1,I],0])],0];return w(wUr,_[1],k[3],Y)}function Q(_){var k=_[2],I=_[1];switch(k[0]){case 0:return W0([0,I,k[1]]);case 1:var U=k[1],Y=[0,[0,TGr,e(S,U[1])],0];return w(OGr,I,U[2],Y);case 2:return ar(nHr,[0,I,k[1]]);case 3:var y0=k[1],D0=[0,[0,IGr,e(S,y0[1])],0];return w(AGr,I,y0[2],D0);case 4:return w(NGr,I,k[1][1],0);case 5:return v0([0,I,k[1]]);case 6:var I0=k[1],D=I0[5],u0=I0[4],Y0=I0[3],J0=I0[2];if(Y0){var fr=Y0[1];if(fr[0]!==0&&!fr[1][2])return w(PGr,I,D,[0,[0,CGr,e(t0,u0)],0])}if(J0){var Q0=J0[1];switch(Q0[0]){case 0:var F0=L(Q0[1]);break;case 1:var F0=P(Q0[1]);break;case 2:var F0=v0(Q0[1]);break;case 3:var F0=g0(Q0[1]);break;case 4:var F0=or(Q0[1]);break;case 5:var F0=Jr(1,Q0[1]);break;default:var F0=Wr(Q0[1])}var Sr=F0}else var Sr=u7;var mr=[0,[0,DGr,e(t0,u0)],0],Cr=[0,[0,RGr,Sr],[0,[0,LGr,_r(Y0)],mr]],sr=I0[1],Pr=sr&&1;return w(GGr,I,D,[0,[0,jGr,!!Pr],Cr]);case 7:return P([0,I,k[1]]);case 8:var K0=k[1],Ur=[0,[0,PUr,n(fe,K0[3])],0],d0=[0,[0,DUr,x0(0,K0[4])],Ur],Kr=[0,[0,LUr,e(qr,K0[2])],d0],re=[0,[0,RUr,S(K0[1])],Kr];return w(jUr,I,K0[5],re);case 9:var xe=k[1],je=xe[1],ve=je[0]===0?S(je[1]):t0(je[1]),Ie=0,Me=xe[3]?"ES":"CommonJS",Be=[0,[0,qGr,ve],[0,[0,BGr,W0(xe[2])],[0,[0,MGr,Me],Ie]]];return w(UGr,I,xe[4],Be);case 10:var fn=k[1],Ke=[0,[0,HGr,l(fn[1])],0];return w(XGr,I,fn[2],Ke);case 11:var Ae=k[1],xn=[0,[0,UUr,g0(Ae[3])],0],Qe=[0,[0,HUr,e(qr,Ae[2])],xn],dn=[0,[0,XUr,S(Ae[1])],Qe];return w(YUr,I,Ae[4],dn);case 12:return Jr(1,[0,I,k[1]]);case 13:return L([0,I,k[1]]);case 14:var on=k[1],Ce=[0,[0,YGr,xr(on[2])],0],We=[0,[0,VGr,Q(on[1])],Ce];return w(zGr,I,on[3],We);case 15:return w(KGr,I,k[1][1],0);case 16:var rn=k[1],pn=rn[2],Cn=pn[2],Hn=pn[1];switch(Cn[0]){case 0:var Fn=Cn[1],vt=[0,[0,fXr,!!Fn[2]],[0,[0,iXr,!!Fn[3]],0]],Ct=Fn[1],Tt=[0,[0,xXr,n(function(hu){var ku=hu[2],Oi=ku[2],k7=Oi[2],Ki=k7[1],nv=0,Lb=Ki?XYr:YYr,tv=[0,[0,nXr,w(KYr,Oi[1],k7[2],[0,[0,zYr,!!Ki],[0,[0,VYr,vn(Lb)],0]])],nv],Rb=[0,[0,tXr,S(ku[1])],tv];return w(uXr,hu[1],0,Rb)},Ct)],vt],bt=w(aXr,Hn,p(Fn[4]),Tt);break;case 1:var Zt=Cn[1],Ht=[0,[0,cXr,!!Zt[2]],[0,[0,oXr,!!Zt[3]],0]],Ot=Zt[1],Pt=[0,[0,sXr,n(function(hu){var ku=hu[2],Oi=ku[2],k7=Oi[2],Ki=[0,[0,QHr,w(jYr,Oi[1],k7[3],[0,[0,RYr,k7[1]],[0,[0,LYr,vn(k7[2])],0]])],0],nv=[0,[0,rXr,S(ku[1])],Ki];return w(eXr,hu[1],0,nv)},Ot)],Ht],bt=w(vXr,Hn,p(Zt[4]),Pt);break;case 2:var du=Cn[1],Ku=du[1];if(Ku[0]===0)var lt=Ku[1],Mu=k1(function(hu){var ku=[0,[0,$Hr,S(hu[2][1])],0];return w(ZHr,hu[1],0,ku)},lt);else var au=Ku[1],Mu=k1(function(hu){var ku=hu[2],Oi=[0,[0,KHr,t0(ku[2])],0],k7=[0,[0,WHr,S(ku[1])],Oi];return w(JHr,hu[1],0,k7)},au);var z7=[0,[0,bXr,!!du[2]],[0,[0,lXr,!!du[3]],0]],Yi=[0,[0,pXr,yu(Mu)],z7],bt=w(mXr,Hn,p(du[4]),Yi);break;default:var a7=Cn[1],Yc=[0,[0,_Xr,!!a7[2]],0],K7=a7[1],Xt=[0,[0,yXr,n(function(hu){var ku=[0,[0,VHr,S(hu[2][1])],0];return w(zHr,hu[1],0,ku)},K7)],Yc],bt=w(dXr,Hn,p(a7[3]),Xt)}var U0=[0,[0,kXr,S(rn[1])],[0,[0,hXr,bt],0]];return w(wXr,I,rn[3],U0);case 17:var L0=k[1],Re=L0[2],He=Re[0]===0?Q(Re[1]):xr(Re[1]),he=[0,[0,JGr,He],[0,[0,WGr,vn(Ir(1))],0]];return w($Gr,I,L0[3],he);case 18:var me=k[1],Qn=me[5],hn=me[4],ft=me[3],xt=me[2];if(xt){var Rn=xt[1];if(Rn[0]!==0){var tt=[0,[0,ZGr,vn(Ir(hn))],0],ht=[0,[0,QGr,e(S,Rn[1][2])],tt];return w(eMr,I,Qn,[0,[0,rMr,e(t0,ft)],ht])}}var tn=[0,[0,nMr,vn(Ir(hn))],0],cn=[0,[0,tMr,e(t0,ft)],tn],ut=[0,[0,uMr,_r(xt)],cn];return w(fMr,I,Qn,[0,[0,iMr,e(Q,me[1])],ut]);case 19:var It=k[1],Fi=[0,[0,xMr,e(rn0,It[2])],0],hs=[0,[0,aMr,xr(It[1])],Fi];return w(oMr,I,It[3],hs);case 20:var Iu=k[1],Vs=function(hu){return hu[0]===0?c0(hu[1]):xr(hu[1])},Vi=[0,[0,cMr,Q(Iu[4])],0],zs=[0,[0,sMr,e(xr,Iu[3])],Vi],Ks=[0,[0,vMr,e(xr,Iu[2])],zs],en=[0,[0,lMr,e(Vs,Iu[1])],Ks];return w(bMr,I,Iu[5],en);case 21:var ci=k[1],Ws=ci[1],c2=Ws[0]===0?c0(Ws[1]):Or(Ws[1]),B9=[0,[0,pMr,!!ci[4]],0],q9=[0,[0,mMr,Q(ci[3])],B9],U9=[0,[0,yMr,c2],[0,[0,_Mr,xr(ci[2])],q9]];return w(dMr,I,ci[5],U9);case 22:var Js=k[1],s2=Js[1],H9=s2[0]===0?c0(s2[1]):Or(s2[1]),X9=[0,[0,hMr,!!Js[4]],0],Y9=[0,[0,kMr,Q(Js[3])],X9],X1=[0,[0,EMr,H9],[0,[0,wMr,xr(Js[2])],Y9]];return w(SMr,I,Js[5],X1);case 23:var si=k[1],ob=si[7],cb=si[3],sb=si[2],V9=cb[0]===0?cb[1]:ke(Pqr),z9=ob[0]===0?0:[0,ob[1]],K9=si[9],vb=_7(p(sb[2][4]),K9),W9=[0,[0,Dqr,e(qr,si[8])],0],J9=[0,[0,Rqr,!1],[0,[0,Lqr,e(l,z9)],W9]],$9=[0,[0,jqr,e(Fr,si[6])],J9],Z9=[0,[0,Mqr,!!si[4]],[0,[0,Gqr,!!si[5]],$9]],lb=[0,[0,Bqr,W0(V9)],Z9],Q9=[0,[0,qqr,Hr(sb)],lb];return w(Hqr,I,vb,[0,[0,Uqr,e(S,si[1])],Q9]);case 24:var Y1=k[1],v2=Y1[3];if(v2){var bb=v2[1][2],pb=bb[2],mb=bb[1],Tn=mb[2],jn=function(ku){return _7(ku,pb)};switch(Tn[0]){case 0:var V1=Tn[1],_b=QD(V1[2],pb),Gn=[0,[0,V1[1],_b]];break;case 1:var yb=Tn[1],r_=jn(yb[2]),Gn=[1,[0,yb[1],r_]];break;case 2:var Vc=Tn[1],e_=jn(Vc[7]),Gn=[2,[0,Vc[1],Vc[2],Vc[3],Vc[4],Vc[5],Vc[6],e_]];break;case 3:var l2=Tn[1],db=jn(l2[2]),Gn=[3,[0,l2[1],db]];break;case 4:var Gn=[4,[0,jn(Tn[1][1])]];break;case 5:var zc=Tn[1],n_=jn(zc[7]),Gn=[5,[0,zc[1],zc[2],zc[3],zc[4],zc[5],zc[6],n_]];break;case 6:var $s=Tn[1],hb=jn($s[5]),Gn=[6,[0,$s[1],$s[2],$s[3],$s[4],hb]];break;case 7:var z1=Tn[1],t_=jn(z1[4]),Gn=[7,[0,z1[1],z1[2],z1[3],t_]];break;case 8:var ks=Tn[1],u_=jn(ks[5]),Gn=[8,[0,ks[1],ks[2],ks[3],ks[4],u_]];break;case 9:var K1=Tn[1],i_=jn(K1[4]),Gn=[9,[0,K1[1],K1[2],K1[3],i_]];break;case 10:var b2=Tn[1],f_=jn(b2[2]),Gn=[10,[0,b2[1],f_]];break;case 11:var Zs=Tn[1],kb=jn(Zs[4]),Gn=[11,[0,Zs[1],Zs[2],Zs[3],kb]];break;case 12:var Qs=Tn[1],x_=jn(Qs[5]),Gn=[12,[0,Qs[1],Qs[2],Qs[3],Qs[4],x_]];break;case 13:var zi=Tn[1],Kc=jn(zi[3]),Gn=[13,[0,zi[1],zi[2],Kc]];break;case 14:var r1=Tn[1],a_=jn(r1[3]),Gn=[14,[0,r1[1],r1[2],a_]];break;case 15:var Gn=[15,[0,jn(Tn[1][1])]];break;case 16:var p2=Tn[1],m2=jn(p2[3]),Gn=[16,[0,p2[1],p2[2],m2]];break;case 17:var _2=Tn[1],o_=jn(_2[3]),Gn=[17,[0,_2[1],_2[2],o_]];break;case 18:var e1=Tn[1],c_=jn(e1[5]),Gn=[18,[0,e1[1],e1[2],e1[3],e1[4],c_]];break;case 19:var y2=Tn[1],XL=jn(y2[3]),Gn=[19,[0,y2[1],y2[2],XL]];break;case 20:var W1=Tn[1],YL=jn(W1[5]),Gn=[20,[0,W1[1],W1[2],W1[3],W1[4],YL]];break;case 21:var J1=Tn[1],VL=jn(J1[5]),Gn=[21,[0,J1[1],J1[2],J1[3],J1[4],VL]];break;case 22:var $1=Tn[1],zL=jn($1[5]),Gn=[22,[0,$1[1],$1[2],$1[3],$1[4],zL]];break;case 23:var Ti=Tn[1],KL=Ti[10],WL=jn(Ti[9]),Gn=[23,[0,Ti[1],Ti[2],Ti[3],Ti[4],Ti[5],Ti[6],Ti[7],Ti[8],WL,KL]];break;case 24:var d2=Tn[1],JL=jn(d2[4]),Gn=[24,[0,d2[1],d2[2],d2[3],JL]];break;case 25:var Z1=Tn[1],$L=jn(Z1[5]),Gn=[25,[0,Z1[1],Z1[2],Z1[3],Z1[4],$L]];break;case 26:var Q1=Tn[1],ZL=jn(Q1[5]),Gn=[26,[0,Q1[1],Q1[2],Q1[3],Q1[4],ZL]];break;case 27:var wb=Tn[1],QL=jn(wb[3]),Gn=[27,[0,wb[1],wb[2],QL]];break;case 28:var Eb=Tn[1],rR=Eb[3],eR=jn(Eb[2]),Gn=[28,[0,Eb[1],eR,rR]];break;case 29:var h2=Tn[1],nR=h2[4],tR=jn(h2[3]),Gn=[29,[0,h2[1],h2[2],tR,nR]];break;case 30:var s_=Tn[1],uR=jn(s_[2]),Gn=[30,[0,s_[1],uR]];break;case 31:var k2=Tn[1],iR=jn(k2[4]),Gn=[31,[0,k2[1],k2[2],k2[3],iR]];break;case 32:var w2=Tn[1],fR=jn(w2[4]),Gn=[32,[0,w2[1],w2[2],w2[3],fR]];break;case 33:var rv=Tn[1],xR=jn(rv[5]),Gn=[33,[0,rv[1],rv[2],rv[3],rv[4],xR]];break;case 34:var Sb=Tn[1],aR=jn(Sb[3]),Gn=[34,[0,Sb[1],Sb[2],aR]];break;case 35:var gb=Tn[1],oR=jn(gb[3]),Gn=[35,[0,gb[1],gb[2],oR]];break;default:var Fb=Tn[1],cR=jn(Fb[3]),Gn=[36,[0,Fb[1],Fb[2],cR]]}var v_=Q([0,mb[1],Gn])}else var v_=u7;var sR=[0,[0,FMr,Q(Y1[2])],[0,[0,gMr,v_],0]],vR=[0,[0,TMr,xr(Y1[1])],sR];return w(OMr,I,Y1[4],vR);case 25:var ev=k[1],Tb=ev[4],l_=ev[3];if(Tb){var Ob=Tb[1];if(Ob[0]===0)var lR=Ob[1],p_=k1(function(ku){var Oi=ku[1],k7=ku[3],Ki=ku[2],nv=Ki?yt(k7[1],Ki[1][1]):k7[1],Lb=Ki?Ki[1]:k7,tv=0,Rb=0;if(Oi)switch(Oi[1]){case 0:var jb=$c;break;case 1:var jb=es;break;default:tv=1}else tv=1;if(tv)var jb=u7;var CR=[0,[0,kWr,S(Lb)],[0,[0,hWr,jb],Rb]];return w(EWr,nv,0,[0,[0,wWr,S(k7)],CR])},lR);else var b_=Ob[1],bR=[0,[0,yWr,S(b_[2])],0],p_=[0,w(dWr,b_[1],0,bR),0];var Ib=p_}else var Ib=Tb;if(l_)var m_=l_[1],pR=[0,[0,mWr,S(m_)],0],__=[0,w(_Wr,m_[1],0,pR),Ib];else var __=Ib;switch(ev[1]){case 0:var Ab=IMr;break;case 1:var Ab=AMr;break;default:var Ab=NMr}var mR=[0,[0,CMr,vn(Ab)],0],_R=[0,[0,PMr,t0(ev[2])],mR],yR=[0,[0,DMr,yu(__)],_R];return w(LMr,I,ev[5],yR);case 26:return Wr([0,I,k[1]]);case 27:var Nb=k[1],dR=[0,[0,RMr,Q(Nb[2])],0],hR=[0,[0,jMr,S(Nb[1])],dR];return w(GMr,I,Nb[3],hR);case 28:var y_=k[1],kR=[0,[0,MMr,e(xr,y_[1])],0];return w(BMr,I,y_[2],kR);case 29:var Cb=k[1],wR=[0,[0,qMr,n(i0,Cb[2])],0],ER=[0,[0,UMr,xr(Cb[1])],wR];return w(HMr,I,Cb[3],ER);case 30:var d_=k[1],SR=[0,[0,XMr,xr(d_[1])],0];return w(YMr,I,d_[2],SR);case 31:var E2=k[1],gR=[0,[0,VMr,e(W0,E2[3])],0],FR=[0,[0,zMr,e(l0,E2[2])],gR],TR=[0,[0,KMr,W0(E2[1])],FR];return w(WMr,I,E2[4],TR);case 32:return or([0,I,k[1]]);case 33:return Jr(0,[0,I,k[1]]);case 34:return c0([0,I,k[1]]);case 35:var Pb=k[1],OR=[0,[0,JMr,Q(Pb[2])],0],IR=[0,[0,$Mr,xr(Pb[1])],OR];return w(ZMr,I,Pb[3],IR);default:var Db=k[1],AR=[0,[0,QMr,Q(Db[2])],0],NR=[0,[0,rBr,xr(Db[1])],AR];return w(eBr,I,Db[3],NR)}}function i0(_){var k=_[2],I=[0,[0,lUr,n(Q,k[2])],0],U=[0,[0,bUr,e(xr,k[1])],I];return w(pUr,_[1],k[3],U)}function l0(_){var k=_[2],I=[0,[0,mUr,W0(k[2])],0],U=[0,[0,_Ur,e(Or,k[1])],I];return w(yUr,_[1],k[3],U)}function S0(_){var k=_[2],I=[0,[0,sHr,xr(k[1])],0];return w(vHr,_[1],k[2],I)}function T0(_){var k=_[2],I=[0,[0,lHr,e($r,k[2])],0],U=[0,[0,bHr,S(k[1])],I];return w(pHr,_[1],0,U)}function rr(_){switch(_[0]){case 0:var k=_[1],I=k[2],U=I[6],Y=I[2];switch(Y[0]){case 0:var I0=U,D=0,u0=f0(Y[1]);break;case 1:var I0=U,D=0,u0=S(Y[1]);break;case 2:var I0=U,D=0,u0=_0(Y[1]);break;default:var y0=Y[1][2],D0=_7(y0[2],U),I0=D0,D=1,u0=xr(y0[1])}switch(I[1]){case 0:var Y0=yHr;break;case 1:var Y0=dHr;break;case 2:var Y0=hHr;break;default:var Y0=kHr}var J0=[0,[0,EHr,!!D],[0,[0,wHr,n(S0,I[5])],0]],fr=[0,[0,gHr,vn(Y0)],[0,[0,SHr,!!I[4]],J0]],Q0=[0,[0,THr,u0],[0,[0,FHr,Rr(I[3])],fr]];return w(OHr,k[1],I0,Q0);case 1:var F0=_[1],Sr=F0[2],mr=Sr[6],Cr=Sr[2],sr=Sr[1];switch(sr[0]){case 0:var d0=mr,Kr=0,re=f0(sr[1]);break;case 1:var d0=mr,Kr=0,re=S(sr[1]);break;case 2:var Pr=ke(jHr),d0=Pr[3],Kr=Pr[2],re=Pr[1];break;default:var K0=sr[1][2],Ur=_7(K0[2],mr),d0=Ur,Kr=1,re=xr(K0[1])}if(typeof Cr=="number")if(Cr)var xe=0,je=0;else var xe=1,je=0;else var xe=0,je=[0,Cr[1]];var ve=xe&&[0,[0,GHr,!!xe],0],Ie=[0,[0,MHr,e(Er,Sr[5])],0],Me=[0,[0,qHr,!!Kr],[0,[0,BHr,!!Sr[4]],Ie]],Be=[0,[0,UHr,i(l,Sr[3])],Me],fn=un([0,[0,XHr,re],[0,[0,HHr,e(xr,je)],Be]],ve);return w(YHr,F0[1],d0,fn);default:var Ke=_[1],Ae=Ke[2],xn=Ae[2];if(typeof xn=="number")if(xn)var Qe=0,dn=0;else var Qe=1,dn=0;else var Qe=0,dn=[0,xn[1]];var on=Qe&&[0,[0,IHr,!!Qe],0],Ce=[0,[0,AHr,e(Er,Ae[5])],0],We=[0,[0,CHr,!1],[0,[0,NHr,!!Ae[4]],Ce]],rn=[0,[0,PHr,i(l,Ae[3])],We],pn=[0,[0,DHr,e(xr,dn)],rn],Cn=un([0,[0,LHr,_0(Ae[1])],pn],on);return w(RHr,Ke[1],Ae[6],Cn)}}function R0(_){var k=_[2],I=k[2],U=k[1];if(I){var Y=[0,[0,jXr,xr(I[1])],0],y0=[0,[0,GXr,Or(U)],Y];return w(MXr,_[1],0,y0)}return Or(U)}function B(_,k){var I=[0,[0,YXr,Or(k[1])],0];return w(VXr,_,k[2],I)}function Z(_){switch(_[0]){case 0:var k=_[1],I=k[2],U=I[2],Y=I[1];if(U){var y0=[0,[0,zXr,xr(U[1])],0],D0=[0,[0,KXr,Or(Y)],y0];return w(WXr,k[1],0,D0)}return Or(Y);case 1:var I0=_[1];return B(I0[1],I0[2]);default:return u7}}function p0(_){if(_[0]===0){var k=_[1],I=k[2];switch(I[0]){case 0:var U=xr(I[2]),Y0=0,J0=I[3],fr=0,Q0=JXr,F0=U,Sr=I[1];break;case 1:var Y=I[2],y0=Rr([0,Y[1],Y[2]]),Y0=0,J0=0,fr=1,Q0=$Xr,F0=y0,Sr=I[1];break;case 2:var D0=I[2],I0=Rr([0,D0[1],D0[2]]),Y0=I[3],J0=0,fr=0,Q0=ZXr,F0=I0,Sr=I[1];break;default:var D=I[2],u0=Rr([0,D[1],D[2]]),Y0=I[3],J0=0,fr=0,Q0=QXr,F0=u0,Sr=I[1]}switch(Sr[0]){case 0:var Pr=Y0,K0=0,Ur=f0(Sr[1]);break;case 1:var Pr=Y0,K0=0,Ur=S(Sr[1]);break;case 2:var mr=ke(rYr),Pr=mr[3],K0=mr[2],Ur=mr[1];break;default:var Cr=Sr[1][2],sr=_7(Cr[2],Y0),Pr=sr,K0=1,Ur=xr(Cr[1])}return w(xYr,k[1],Pr,[0,[0,fYr,Ur],[0,[0,iYr,F0],[0,[0,uYr,vn(Q0)],[0,[0,tYr,!!fr],[0,[0,nYr,!!J0],[0,[0,eYr,!!K0],0]]]]]])}var d0=_[1],Kr=d0[2],re=[0,[0,aYr,xr(Kr[1])],0];return w(oYr,d0[1],Kr[2],re)}function b0(_){if(_[0]===0){var k=_[1],I=k[2],U=I[3],Y=I[2],y0=I[1];switch(y0[0]){case 0:var D=0,u0=0,Y0=f0(y0[1]);break;case 1:var D=0,u0=0,Y0=S(y0[1]);break;default:var D0=y0[1][2],I0=xr(D0[1]),D=D0[2],u0=1,Y0=I0}if(U)var J0=U[1],fr=yt(Y[1],J0[1]),Q0=[0,[0,cYr,xr(J0)],0],F0=w(vYr,fr,0,[0,[0,sYr,Or(Y)],Q0]);else var F0=Or(Y);return w(dYr,k[1],D,[0,[0,yYr,Y0],[0,[0,_Yr,F0],[0,[0,mYr,ji],[0,[0,pYr,!1],[0,[0,bYr,!!I[4]],[0,[0,lYr,!!u0],0]]]]]])}var Sr=_[1];return B(Sr[1],Sr[2])}function O0(_){var k=_[2],I=[0,[0,hYr,xr(k[1])],0];return w(kYr,_[1],k[2],I)}function q0(_){return _[0]===0?xr(_[1]):O0(_[1])}function er(_){switch(_[0]){case 0:return xr(_[1]);case 1:return O0(_[1]);default:return u7}}function yr(_){var k=_[2],I=[0,[0,wYr,!!k[3]],0],U=[0,[0,EYr,xr(k[2])],I],Y=[0,[0,SYr,Or(k[1])],U];return w(gYr,_[1],0,Y)}function vr(_){var k=_[2],I=k[1],U=H1([0,[0,QYr,vn(I[1])],[0,[0,ZYr,vn(I[2])],0]]);return w(nVr,_[1],0,[0,[0,eVr,U],[0,[0,rVr,!!k[2]],0]])}function $0(_){var k=_[2],I=[0,[0,vVr,e(xr,k[2])],0],U=[0,[0,lVr,Or(k[1])],I];return w(bVr,_[1],0,U)}function Er(_){var k=_[2],I=k[1]?pY:"plus";return w(mVr,_[1],k[2],[0,[0,pVr,I],0])}function Mr(_){var k=_[2];return k0(k[2],k[1])}function Br(_){var k=_[2],I=[0,[0,BVr,g0(k[1][2])],[0,[0,MVr,!1],0]],U=[0,[0,qVr,e(S,0)],I];return w(UVr,_[1],k[2],U)}function qr(_){var k=_[2],I=[0,[0,yKr,n(jr,k[1])],0],U=p(k[2]);return w(dKr,_[1],U,I)}function jr(_){var k=_[2],I=k[1][2],U=[0,[0,hKr,e(g0,k[4])],0],Y=[0,[0,kKr,e(Er,k[3])],U],y0=[0,[0,wKr,i(l,k[2])],Y];return w(SKr,_[1],I[2],[0,[0,EKr,vn(I[1])],y0])}function $r(_){var k=_[2],I=[0,[0,gKr,n(g0,k[1])],0],U=p(k[2]);return w(FKr,_[1],U,I)}function ne(_){var k=_[2],I=[0,[0,TKr,n(Qr,k[1])],0],U=p(k[2]);return w(OKr,_[1],U,I)}function Qr(_){if(_[0]===0)return g0(_[1]);var k=_[1],I=k[1],U=k[2][1];return V([0,I,[0,[0,Gc(0,[0,I,IKr])],0,U]])}function be(_){if(_[0]===0){var k=_[1],I=k[2],U=I[1],Y=U[0]===0?b(U[1]):j0(U[1]),y0=[0,[0,zKr,Y],[0,[0,VKr,e(ce,I[2])],0]];return w(KKr,k[1],0,y0)}var D0=_[1],I0=D0[2],D=[0,[0,WKr,xr(I0[1])],0];return w(JKr,D0[1],I0[2],D)}function oe(_){var k=[0,[0,HKr,s0(_[2][1])],0];return w(XKr,_[1],0,k)}function pe(_){var k=_[2],I=k[1],U=_[1],Y=I?xr(I[1]):w($Kr,[0,U[1],[0,U[2][1],U[2][2]+1|0],[0,U[3][1],U[3][2]-1|0]],0,0);return w(QKr,U,p(k[2]),[0,[0,ZKr,Y],0])}function ae(_){var k=_[2],I=_[1];switch(k[0]){case 0:return dr([0,I,k[1]]);case 1:return X0([0,I,k[1]]);case 2:return pe([0,I,k[1]]);case 3:var U=k[1],Y=[0,[0,rWr,xr(U[1])],0];return w(eWr,I,U[2],Y);default:var y0=k[1];return w(uWr,I,0,[0,[0,tWr,vn(y0[1])],[0,[0,nWr,vn(y0[2])],0]])}}function ce(_){return _[0]===0?f0([0,_[1],_[2]]):pe([0,_[1],_[2]])}function ge(_){var k=_[2],I=k[2],U=k[1],Y=S(I?I[1]:U),y0=[0,[0,bWr,S(U)],[0,[0,lWr,Y],0]];return w(pWr,_[1],0,y0)}function H0(_){var k=_[2];if(k[1])var I=k[2],U=SWr;else var I=k[2],U=gWr;return w(U,_[1],0,[0,[0,FWr,vn(I)],0])}function Fr(_){var k=_[2],I=k[1];if(I)var U=[0,[0,TWr,xr(I[1])],0],Y=OWr;else var U=0,Y=IWr;return w(Y,_[1],k[2],U)}return[0,A,xr]}function T(E){return y(E)[1]}return[0,T,function(E){return y(E)[2]},s]}(Dne);function ab(t,n,e){var i=n[e];return Bp(i)?i|0:t}function Lne(t,n){var e=qV(n,eK)?{}:n,i=M7(t),x=ab(Bv[5],e,Hre),c=ab(Bv[4],e,Xre),s=ab(Bv[3],e,Yre),p=ab(Bv[2],e,Vre),y=[0,[0,ab(Bv[1],e,zre),p,s,c,x]],T=e.tokens,E=Bp(T),h=E&&T|0,w=e.comments,G=Bp(w)?w|0:1,A=e.all_comments,S=Bp(A)?A|0:1,M=[0,0],K=h&&[0,function(b0){return M[1]=[0,b0,M[1]],0}],V=[0,y],f0=[0,K],m0=oz?oz[1]:1,k0=f0&&f0[1],g0=V&&V[1],e0=[0,g0],x0=[0,k0],l=0,c0=x0&&x0[1],t0=e0&&e0[1],a0=ene([0,c0],[0,t0],l,i),w0=u(se[1],a0),_0=de(a0[1][1]),E0=[0,GL[1],0],X0=de(le(function(b0,O0){var q0=b0[2],er=b0[1];return a(GL[3],O0,er)?[0,er,q0]:[0,a(GL[4],O0,er),[0,O0,q0]]},E0,_0)[2]);if(X0&&m0)throw[0,Hee,X0[1],X0[2]];Qe0[1]=0;for(var b=nn(i)-0|0,j0=i,X=0,s0=0;;){if(s0===b)var dr=X;else{var Ar=Hu(j0,s0),ar=0;if(0<=Ar&&!(Kn>>0)throw[0,Sn,so0];switch(Or){case 0:var Rr=Hu(j0,s0);break;case 1:var Rr=(Hu(j0,s0)&31)<<6|Hu(j0,s0+1|0)&63;break;case 2:var Rr=(Hu(j0,s0)&15)<<12|(Hu(j0,s0+1|0)&63)<<6|Hu(j0,s0+2|0)&63;break;default:var Rr=(Hu(j0,s0)&7)<<18|(Hu(j0,s0+1|0)&63)<<12|(Hu(j0,s0+2|0)&63)<<6|Hu(j0,s0+3|0)&63}var X=TL(X,s0,[0,Rr]),s0=xr;continue}var dr=TL(X,s0,0)}for(var Wr=pGr,Jr=de([0,6,dr]);;){var or=Wr[3],_r=Wr[2],Ir=Wr[1];if(Jr){var fe=Jr[1];if(fe===5){var v0=Jr[2];if(v0&&v0[1]===6){var P=_l(de([0,Ir,_r])),Wr=[0,Ir+2|0,0,[0,P,or]],Jr=v0[2];continue}}else if(!(6<=fe)){var L=Jr[2],Wr=[0,Ir+Te0(fe)|0,[0,Ir,_r],or],Jr=L;continue}var Q=_l(de([0,Ir,_r])),i0=Jr[2],Wr=[0,Ir+Te0(fe)|0,0,[0,Q,or]],Jr=i0;continue}var l0=_l(de(or));if(G)var T0=w0;else var S0=u(Mee[1],0),T0=a(Ze(S0,-201766268,25),S0,w0);if(S)var R0=T0;else var rr=T0[2],R0=[0,T0[1],[0,rr[1],rr[2],0]];var B=a(nn0[1],[0,l0],R0),Z=un(X0,Qe0[1]);if(B.errors=u(nn0[3],Z),h){var p0=M[1];B.tokens=yu(Tp(u(Pne[1],l0),p0))}return B}}}if(typeof N0<"u")var tn0=N0;else{var un0={};qN.flow=un0;var tn0=un0}tn0.parse=function(t,n){try{var e=Lne(t,n);return e}catch(i){return i=gt(i),i[1]===UN?u(nK,i[2]):u(nK,new Cee(vn(Te(Kre,Pp(i)))))}},xN(0)}(globalThis)}}),Eae=ru({"src/language-js/parse/flow.js"(N0,M0){jt();var ir=qu0(),gr=cae(),ye=sae(),ze=yae(),Ne={comments:!1,enums:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,tokens:!0};function En(Xn){let{message:rt,loc:{start:St,end:wt}}=Xn;return ir(rt,{start:{line:St.line,column:St.column+1},end:{line:wt.line,column:wt.column+1}})}function kn(Xn,rt){let St=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:wt}=wae(),sn=wt(ye(Xn),Ne),[Gt]=sn.errors;if(Gt)throw En(Gt);return St.originalText=Xn,ze(sn,St)}M0.exports={parsers:{flow:gr(kn)}}}}),zoe=Eae();export{zoe as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-glimmer.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-glimmer.mjs deleted file mode 100644 index e71f7b542d..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-glimmer.mjs +++ /dev/null @@ -1,27 +0,0 @@ -var xe=Object.getOwnPropertyNames,nt=(t,m)=>function(){return t&&(m=(0,t[xe(t)[0]])(t=0)),m},F=(t,m)=>function(){return m||(0,t[xe(t)[0]])((m={exports:{}}).exports,m),m.exports},I=nt({""(){}}),it=F({"node_modules/lines-and-columns/build/index.cjs"(t){"use strict";I(),t.__esModule=!0,t.LinesAndColumns=void 0;var m=` -`,h="\r",d=function(){function c(l){this.length=l.length;for(var e=[0],r=0;rthis.length)return null;for(var e=0,r=this.offsets;r[e+1]<=l;)e++;var u=l-r[e];return{line:e,column:u}},c.prototype.indexForLocation=function(l){var e=l.line,r=l.column;return e<0||e>=this.offsets.length||r<0||r>this.lengthOfLine(e)?null:this.offsets[e]+r},c.prototype.lengthOfLine=function(l){var e=this.offsets[l],r=l===this.offsets.length-1?this.length:this.offsets[l+1];return r-e},c}();t.LinesAndColumns=d}}),st=F({"src/common/parser-create-error.js"(t,m){"use strict";I();function h(d,c){let l=new SyntaxError(d+" ("+c.start.line+":"+c.start.column+")");return l.loc=c,l}m.exports=h}}),at=F({"src/language-handlebars/loc.js"(t,m){"use strict";I();function h(c){return c.loc.start.offset}function d(c){return c.loc.end.offset}m.exports={locStart:h,locEnd:d}}}),fe=F({"node_modules/@glimmer/env/dist/commonjs/es5/index.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0});var m=t.DEBUG=!1,h=t.CI=!1}}),ut=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/array-utils.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.emptyArray=h,t.isEmptyArray=l,t.EMPTY_NUMBER_ARRAY=t.EMPTY_STRING_ARRAY=t.EMPTY_ARRAY=void 0;var m=Object.freeze([]);t.EMPTY_ARRAY=m;function h(){return m}var d=h();t.EMPTY_STRING_ARRAY=d;var c=h();t.EMPTY_NUMBER_ARRAY=c;function l(e){return e===m}}}),Pe=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/assert.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.debugAssert=h,t.prodAssert=d,t.deprecate=c,t.default=void 0;var m=X();function h(e,r){if(!e)throw new Error(r||"assertion failure")}function d(){}function c(e){m.LOCAL_LOGGER.warn(`DEPRECATION: ${e}`)}var l=h;t.default=l}}),ot=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/collections.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.dict=m,t.isDict=h,t.isObject=d,t.StackImpl=void 0;function m(){return Object.create(null)}function h(l){return l!=null}function d(l){return typeof l=="function"||typeof l=="object"&&l!==null}var c=class{constructor(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.current=null,this.stack=l}get size(){return this.stack.length}push(l){this.current=l,this.stack.push(l)}pop(){let l=this.stack.pop(),e=this.stack.length;return this.current=e===0?null:this.stack[e-1],l===void 0?null:l}nth(l){let e=this.stack.length;return e0&&arguments[0]!==void 0?arguments[0]:"unreachable";return new Error(i)}function p(i){throw new Error(`Exhausted ${i}`)}var n=function(){for(var i=arguments.length,o=new Array(i),b=0;b1?c-1:0),e=1;e=0}function d(o){return o>3}function c(){for(var o=arguments.length,b=new Array(o),P=0;P=-536870912}function e(o){return o&-536870913}function r(o){return o|536870912}function u(o){return~o}function p(o){return~o}function n(o){return o}function s(o){return o}function a(o){return o|=0,o<0?e(o):u(o)}function i(o){return o|=0,o>-536870913?p(o):r(o)}[1,2,3].forEach(o=>o),[1,-1].forEach(o=>i(a(o)))}}),ft=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/template.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.unwrapHandle=m,t.unwrapTemplate=h,t.extractHandle=d,t.isOkHandle=c,t.isErrHandle=l;function m(e){if(typeof e=="number")return e;{let r=e.errors[0];throw new Error(`Compile Error: ${r.problem} @ ${r.span.start}..${r.span.end}`)}}function h(e){if(e.result==="error")throw new Error(`Compile Error: ${e.problem} @ ${e.span.start}..${e.span.end}`);return e}function d(e){return typeof e=="number"?e:e.handle}function c(e){return typeof e=="number"}function l(e){return typeof e=="number"}}}),mt=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/weak-set.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var m=typeof WeakSet=="function"?WeakSet:class{constructor(){this._map=new WeakMap}add(d){return this._map.set(d,!0),this}delete(d){return this._map.delete(d)}has(d){return this._map.has(d)}};t.default=m}}),gt=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/simple-cast.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.castToSimple=h,t.castToBrowser=d,t.checkNode=r;var m=me();function h(p){return l(p)||e(p),p}function d(p,n){if(p==null)return null;if(typeof document===void 0)throw new Error("Attempted to cast to a browser node in a non-browser context");if(l(p))return p;if(p.ownerDocument!==document)throw new Error("Attempted to cast to a browser node with a node that was not created from this document");return r(p,n)}function c(p,n){return new Error(`cannot cast a ${p} into ${n}`)}function l(p){return p.nodeType===9}function e(p){return p.nodeType===1}function r(p,n){let s=!1;if(p!==null)if(typeof n=="string")s=u(p,n);else if(Array.isArray(n))s=n.some(a=>u(p,a));else throw(0,m.unreachable)();if(s)return p;throw c(`SimpleElement(${p})`,n)}function u(p,n){switch(n){case"NODE":return!0;case"HTML":return p instanceof HTMLElement;case"SVG":return p instanceof SVGElement;case"ELEMENT":return p instanceof Element;default:if(n.toUpperCase()===n)throw new Error("BUG: this code is missing handling for a generic node type");return p instanceof Element&&p.tagName.toLowerCase()===n}}}}),bt=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/present.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.isPresent=m,t.ifPresent=h,t.toPresentOption=d,t.assertPresent=c,t.mapPresent=l;function m(e){return e.length>0}function h(e,r,u){return m(e)?r(e):u()}function d(e){return m(e)?e:null}function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unexpected empty list";if(!m(e))throw new Error(r)}function l(e,r){if(e===null)return null;let u=[];for(let p of e)u.push(r(p));return u}}}),vt=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/untouchable-this.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=d;var m=fe(),h=me();function d(c){let l=null;if(m.DEBUG&&h.HAS_NATIVE_PROXY){let e=r=>{throw new Error(`You accessed \`this.${String(r)}\` from a function passed to the ${c}, but the function itself was not bound to a valid \`this\` context. Consider updating to use a bound function (for instance, use an arrow function, \`() => {}\`).`)};l=new Proxy({},{get(r,u){e(u)},set(r,u){return e(u),!1},has(r,u){return e(u),!1}})}return l}}}),yt=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/debug-to-string.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var m=fe(),h;if(m.DEBUG){let c=r=>{let u=r.name;if(u===void 0){let p=Function.prototype.toString.call(r).match(/function (\w+)\s*\(/);u=p&&p[1]||""}return u.replace(/^bound /,"")},l=r=>{let u,p;return r.constructor&&typeof r.constructor=="function"&&(p=c(r.constructor)),"toString"in r&&r.toString!==Object.prototype.toString&&r.toString!==Function.prototype.toString&&(u=r.toString()),u&&u.match(/<.*:ember\d+>/)&&p&&p[0]!=="_"&&p.length>2&&p!=="Class"?u.replace(/<.*:/,`<${p}:`):u||p},e=r=>String(r);h=r=>typeof r=="function"?c(r)||"(unknown function)":typeof r=="object"&&r!==null?l(r)||"(unknown object)":e(r)}var d=h;t.default=d}}),At=F({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/debug-steps.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.logStep=t.verifySteps=t.endTestSteps=t.beginTestSteps=void 0;var m=d(Pe()),h=me();function d(u){return u&&u.__esModule?u:{default:u}}var c;t.beginTestSteps=c;var l;t.endTestSteps=l;var e;t.verifySteps=e;var r;t.logStep=r}}),X=F({"node_modules/@glimmer/util/dist/commonjs/es2017/index.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0});var m={LOCAL_LOGGER:!0,LOGGER:!0,assertNever:!0,assert:!0,deprecate:!0,dict:!0,isDict:!0,isObject:!0,Stack:!0,isSerializationFirstNode:!0,SERIALIZATION_FIRST_NODE_STRING:!0,assign:!0,fillNulls:!0,values:!0,_WeakSet:!0,castToSimple:!0,castToBrowser:!0,checkNode:!0,intern:!0,buildUntouchableThis:!0,debugToString:!0,beginTestSteps:!0,endTestSteps:!0,logStep:!0,verifySteps:!0};t.assertNever=x,Object.defineProperty(t,"assert",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"deprecate",{enumerable:!0,get:function(){return d.deprecate}}),Object.defineProperty(t,"dict",{enumerable:!0,get:function(){return c.dict}}),Object.defineProperty(t,"isDict",{enumerable:!0,get:function(){return c.isDict}}),Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return c.isObject}}),Object.defineProperty(t,"Stack",{enumerable:!0,get:function(){return c.StackImpl}}),Object.defineProperty(t,"isSerializationFirstNode",{enumerable:!0,get:function(){return e.isSerializationFirstNode}}),Object.defineProperty(t,"SERIALIZATION_FIRST_NODE_STRING",{enumerable:!0,get:function(){return e.SERIALIZATION_FIRST_NODE_STRING}}),Object.defineProperty(t,"assign",{enumerable:!0,get:function(){return r.assign}}),Object.defineProperty(t,"fillNulls",{enumerable:!0,get:function(){return r.fillNulls}}),Object.defineProperty(t,"values",{enumerable:!0,get:function(){return r.values}}),Object.defineProperty(t,"_WeakSet",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"castToSimple",{enumerable:!0,get:function(){return i.castToSimple}}),Object.defineProperty(t,"castToBrowser",{enumerable:!0,get:function(){return i.castToBrowser}}),Object.defineProperty(t,"checkNode",{enumerable:!0,get:function(){return i.checkNode}}),Object.defineProperty(t,"intern",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"buildUntouchableThis",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"debugToString",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"beginTestSteps",{enumerable:!0,get:function(){return v.beginTestSteps}}),Object.defineProperty(t,"endTestSteps",{enumerable:!0,get:function(){return v.endTestSteps}}),Object.defineProperty(t,"logStep",{enumerable:!0,get:function(){return v.logStep}}),Object.defineProperty(t,"verifySteps",{enumerable:!0,get:function(){return v.verifySteps}}),t.LOGGER=t.LOCAL_LOGGER=void 0;var h=ut();Object.keys(h).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(m,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return h[w]}})});var d=g(Pe()),c=ot(),l=lt();Object.keys(l).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(m,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return l[w]}})});var e=ct(),r=ht(),u=me();Object.keys(u).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(m,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return u[w]}})});var p=dt();Object.keys(p).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(m,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return p[w]}})});var n=pt();Object.keys(n).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(m,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return n[w]}})});var s=ft();Object.keys(s).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(m,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return s[w]}})});var a=_(mt()),i=gt(),o=bt();Object.keys(o).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(m,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return o[w]}})});var b=_(je()),P=_(vt()),E=_(yt()),v=At();function _(w){return w&&w.__esModule?w:{default:w}}function y(){if(typeof WeakMap!="function")return null;var w=new WeakMap;return y=function(){return w},w}function g(w){if(w&&w.__esModule)return w;if(w===null||typeof w!="object"&&typeof w!="function")return{default:w};var H=y();if(H&&H.has(w))return H.get(w);var f={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var S in w)if(Object.prototype.hasOwnProperty.call(w,S)){var R=C?Object.getOwnPropertyDescriptor(w,S):null;R&&(R.get||R.set)?Object.defineProperty(f,S,R):f[S]=w[S]}return f.default=w,H&&H.set(w,f),f}var L=console;t.LOCAL_LOGGER=L;var j=console;t.LOGGER=j;function x(w){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unexpected unreachable branch";throw j.log("unreachable",w),j.log(`${H} :: ${JSON.stringify(w)} (${w})`),new Error("code reached unreachable")}}}),ge=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/location.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.isLocatedWithPositionsArray=u,t.isLocatedWithPositions=p,t.BROKEN_LOCATION=t.NON_EXISTENT_LOCATION=t.TEMPORARY_LOCATION=t.SYNTHETIC=t.SYNTHETIC_LOCATION=t.UNKNOWN_POSITION=void 0;var m=X(),h=Object.freeze({line:1,column:0});t.UNKNOWN_POSITION=h;var d=Object.freeze({source:"(synthetic)",start:h,end:h});t.SYNTHETIC_LOCATION=d;var c=d;t.SYNTHETIC=c;var l=Object.freeze({source:"(temporary)",start:h,end:h});t.TEMPORARY_LOCATION=l;var e=Object.freeze({source:"(nonexistent)",start:h,end:h});t.NON_EXISTENT_LOCATION=e;var r=Object.freeze({source:"(broken)",start:h,end:h});t.BROKEN_LOCATION=r;function u(n){return(0,m.isPresent)(n)&&n.every(p)}function p(n){return n.loc!==void 0}}}),le=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/slice.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.SourceSlice=void 0;var m=ue(),h=class{constructor(d){this.loc=d.loc,this.chars=d.chars}static synthetic(d){let c=m.SourceSpan.synthetic(d);return new h({loc:c,chars:d})}static load(d,c){return new h({loc:m.SourceSpan.load(d,c[1]),chars:c[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}};t.SourceSlice=h}}),Me=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/match.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.match=e,t.IsInvisible=t.MatchAny=void 0;var m=X(),h="MATCH_ANY";t.MatchAny=h;var d="IS_INVISIBLE";t.IsInvisible=d;var c=class{constructor(p){this._whens=p}first(p){for(let n of this._whens){let s=n.match(p);if((0,m.isPresent)(s))return s[0]}return null}},l=class{constructor(){this._map=new Map}get(p,n){let s=this._map.get(p);return s||(s=n(),this._map.set(p,s),s)}add(p,n){this._map.set(p,n)}match(p){let n=u(p),s=[],a=this._map.get(n),i=this._map.get(h);return a&&s.push(a),i&&s.push(i),s}};function e(p){return p(new r).check()}var r=class{constructor(){this._whens=new l}check(){return(p,n)=>this.matchFor(p.kind,n.kind)(p,n)}matchFor(p,n){let s=this._whens.match(p);return new c(s).first(n)}when(p,n,s){return this._whens.get(p,()=>new l).add(n,s),this}};function u(p){switch(p){case"Broken":case"InternalsSynthetic":case"NonExistent":return d;default:return p}}}}),He=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/offset.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.InvisiblePosition=t.HbsPosition=t.CharPosition=t.SourceOffset=t.BROKEN=void 0;var m=ge(),h=Me(),d=Ve(),c="BROKEN";t.BROKEN=c;var l=class{constructor(n){this.data=n}static forHbsPos(n,s){return new r(n,s,null).wrap()}static broken(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:m.UNKNOWN_POSITION;return new u("Broken",n).wrap()}get offset(){let n=this.data.toCharPos();return n===null?null:n.offset}eql(n){return p(this.data,n.data)}until(n){return(0,d.span)(this.data,n.data)}move(n){let s=this.data.toCharPos();if(s===null)return l.broken();{let a=s.offset+n;return s.source.check(a)?new e(s.source,a).wrap():l.broken()}}collapsed(){return(0,d.span)(this.data,this.data)}toJSON(){return this.data.toJSON()}};t.SourceOffset=l;var e=class{constructor(n,s){this.source=n,this.charPos=s,this.kind="CharPosition",this._locPos=null}toCharPos(){return this}toJSON(){let n=this.toHbsPos();return n===null?m.UNKNOWN_POSITION:n.toJSON()}wrap(){return new l(this)}get offset(){return this.charPos}toHbsPos(){let n=this._locPos;if(n===null){let s=this.source.hbsPosFor(this.charPos);s===null?this._locPos=n=c:this._locPos=n=new r(this.source,s,this.charPos)}return n===c?null:n}};t.CharPosition=e;var r=class{constructor(n,s){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.source=n,this.hbsPos=s,this.kind="HbsPosition",this._charPos=a===null?null:new e(n,a)}toCharPos(){let n=this._charPos;if(n===null){let s=this.source.charPosFor(this.hbsPos);s===null?this._charPos=n=c:this._charPos=n=new e(this.source,s)}return n===c?null:n}toJSON(){return this.hbsPos}wrap(){return new l(this)}toHbsPos(){return this}};t.HbsPosition=r;var u=class{constructor(n,s){this.kind=n,this.pos=s}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new l(this)}get offset(){return null}};t.InvisiblePosition=u;var p=(0,h.match)(n=>n.when("HbsPosition","HbsPosition",(s,a)=>{let{hbsPos:i}=s,{hbsPos:o}=a;return i.column===o.column&&i.line===o.line}).when("CharPosition","CharPosition",(s,a)=>{let{charPos:i}=s,{charPos:o}=a;return i===o}).when("CharPosition","HbsPosition",(s,a)=>{let{offset:i}=s;var o;return i===((o=a.toCharPos())===null||o===void 0?void 0:o.offset)}).when("HbsPosition","CharPosition",(s,a)=>{let{offset:i}=a;var o;return((o=s.toCharPos())===null||o===void 0?void 0:o.offset)===i}).when(h.MatchAny,h.MatchAny,()=>!1))}}),Ve=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/span.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.span=t.HbsSpan=t.SourceSpan=void 0;var m=fe(),h=X(),d=ge(),c=le(),l=Me(),e=He(),r=class{constructor(a){this.data=a,this.isInvisible=a.kind!=="CharPosition"&&a.kind!=="HbsPosition"}static get NON_EXISTENT(){return new n("NonExistent",d.NON_EXISTENT_LOCATION).wrap()}static load(a,i){if(typeof i=="number")return r.forCharPositions(a,i,i);if(typeof i=="string")return r.synthetic(i);if(Array.isArray(i))return r.forCharPositions(a,i[0],i[1]);if(i==="NonExistent")return r.NON_EXISTENT;if(i==="Broken")return r.broken(d.BROKEN_LOCATION);(0,h.assertNever)(i)}static forHbsLoc(a,i){let o=new e.HbsPosition(a,i.start),b=new e.HbsPosition(a,i.end);return new p(a,{start:o,end:b},i).wrap()}static forCharPositions(a,i,o){let b=new e.CharPosition(a,i),P=new e.CharPosition(a,o);return new u(a,{start:b,end:P}).wrap()}static synthetic(a){return new n("InternalsSynthetic",d.NON_EXISTENT_LOCATION,a).wrap()}static broken(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d.BROKEN_LOCATION;return new n("Broken",a).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let a=this.data.toHbsSpan();return a===null?d.BROKEN_LOCATION:a.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(a){return s(a.data,this.data.getEnd())}withEnd(a){return s(this.data.getStart(),a.data)}asString(){return this.data.asString()}toSlice(a){let i=this.data.asString();return m.DEBUG&&a!==void 0&&i!==a&&console.warn(`unexpectedly found ${JSON.stringify(i)} when slicing source, but expected ${JSON.stringify(a)}`),new c.SourceSlice({loc:this,chars:a||i})}get start(){return this.loc.start}set start(a){this.data.locDidUpdate({start:a})}get end(){return this.loc.end}set end(a){this.data.locDidUpdate({end:a})}get source(){return this.module}collapse(a){switch(a){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(a){return s(this.data.getStart(),a.data.getEnd())}serialize(){return this.data.serialize()}slice(a){let{skipStart:i=0,skipEnd:o=0}=a;return s(this.getStart().move(i).data,this.getEnd().move(-o).data)}sliceStartChars(a){let{skipStart:i=0,chars:o}=a;return s(this.getStart().move(i).data,this.getStart().move(i+o).data)}sliceEndChars(a){let{skipEnd:i=0,chars:o}=a;return s(this.getEnd().move(i-o).data,this.getStart().move(-i).data)}};t.SourceSpan=r;var u=class{constructor(a,i){this.source=a,this.charPositions=i,this.kind="CharPosition",this._locPosSpan=null}wrap(){return new r(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let a=this._locPosSpan;if(a===null){let i=this.charPositions.start.toHbsPos(),o=this.charPositions.end.toHbsPos();i===null||o===null?a=this._locPosSpan=e.BROKEN:a=this._locPosSpan=new p(this.source,{start:i,end:o})}return a===e.BROKEN?null:a}serialize(){let{start:{charPos:a},end:{charPos:i}}=this.charPositions;return a===i?a:[a,i]}toCharPosSpan(){return this}},p=class{constructor(a,i){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.source=a,this.hbsPositions=i,this.kind="HbsPosition",this._charPosSpan=null,this._providedHbsLoc=o}serialize(){let a=this.toCharPosSpan();return a===null?"Broken":a.wrap().serialize()}wrap(){return new r(this)}updateProvided(a,i){this._providedHbsLoc&&(this._providedHbsLoc[i]=a),this._charPosSpan=null,this._providedHbsLoc={start:a,end:a}}locDidUpdate(a){let{start:i,end:o}=a;i!==void 0&&(this.updateProvided(i,"start"),this.hbsPositions.start=new e.HbsPosition(this.source,i,null)),o!==void 0&&(this.updateProvided(o,"end"),this.hbsPositions.end=new e.HbsPosition(this.source,o,null))}asString(){let a=this.toCharPosSpan();return a===null?"":a.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let a=this._charPosSpan;if(a===null){let i=this.hbsPositions.start.toCharPos(),o=this.hbsPositions.end.toCharPos();if(i&&o)a=this._charPosSpan=new u(this.source,{start:i,end:o});else return a=this._charPosSpan=e.BROKEN,null}return a===e.BROKEN?null:a}};t.HbsSpan=p;var n=class{constructor(a,i){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.kind=a,this.loc=i,this.string=o}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new r(this)}asString(){return this.string||""}locDidUpdate(a){let{start:i,end:o}=a;i!==void 0&&(this.loc.start=i),o!==void 0&&(this.loc.end=o)}getModule(){return"an unknown module"}getStart(){return new e.InvisiblePosition(this.kind,this.loc.start)}getEnd(){return new e.InvisiblePosition(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return d.BROKEN_LOCATION}},s=(0,l.match)(a=>a.when("HbsPosition","HbsPosition",(i,o)=>new p(i.source,{start:i,end:o}).wrap()).when("CharPosition","CharPosition",(i,o)=>new u(i.source,{start:i,end:o}).wrap()).when("CharPosition","HbsPosition",(i,o)=>{let b=o.toCharPos();return b===null?new n("Broken",d.BROKEN_LOCATION).wrap():s(i,b)}).when("HbsPosition","CharPosition",(i,o)=>{let b=i.toCharPos();return b===null?new n("Broken",d.BROKEN_LOCATION).wrap():s(b,o)}).when(l.IsInvisible,l.MatchAny,i=>new n(i.kind,d.BROKEN_LOCATION).wrap()).when(l.MatchAny,l.IsInvisible,(i,o)=>new n(o.kind,d.BROKEN_LOCATION).wrap()));t.span=s}}),ue=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/span.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return m.SourceSpan}}),Object.defineProperty(t,"SourceOffset",{enumerable:!0,get:function(){return h.SourceOffset}});var m=Ve(),h=He()}}),De=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/source.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0;var m=fe(),h=X(),d=ue(),c=class{constructor(l){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"an unknown module";this.source=l,this.module=e}check(l){return l>=0&&l<=this.source.length}slice(l,e){return this.source.slice(l,e)}offsetFor(l,e){return d.SourceOffset.forHbsPos(this,{line:l,column:e})}spanFor(l){let{start:e,end:r}=l;return d.SourceSpan.forHbsLoc(this,{start:{line:e.line,column:e.column},end:{line:r.line,column:r.column}})}hbsPosFor(l){let e=0,r=0;if(l>this.source.length)return null;for(;;){let u=this.source.indexOf(` -`,r);if(l<=u||u===-1)return{line:e+1,column:l-r};e+=1,r=u+1}}charPosFor(l){let{line:e,column:r}=l,p=this.source.length,n=0,s=0;for(;;){if(s>=p)return p;let a=this.source.indexOf(` -`,s);if(a===-1&&(a=this.source.length),n===e-1){if(s+r>a)return a;if(m.DEBUG){let i=this.hbsPosFor(s+r)}return s+r}else{if(a===-1)return 0;n+=1,s=a+1}}}};t.Source=c}}),we=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/legacy-interop.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.PathExpressionImplV1=void 0;var m=h(ke());function h(c){return c&&c.__esModule?c:{default:c}}var d=class{constructor(c,l,e,r){this.original=c,this.loc=r,this.type="PathExpression",this.this=!1,this.data=!1,this._head=void 0;let u=e.slice();l.type==="ThisHead"?this.this=!0:l.type==="AtHead"?(this.data=!0,u.unshift(l.name.slice(1))):u.unshift(l.name),this.parts=u}get head(){if(this._head)return this._head;let c;this.this?c="this":this.data?c=`@${this.parts[0]}`:c=this.parts[0];let l=this.loc.collapse("start").sliceStartChars({chars:c.length}).loc;return this._head=m.default.head(c,l)}get tail(){return this.this?this.parts:this.parts.slice(1)}};t.PathExpressionImplV1=d}}),ke=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/public-builders.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var m=X(),h=ge(),d=De(),c=ue(),l=we(),e;function r(){return e||(e=new d.Source("","(synthetic)")),e}function u(T,N,k,B,O,q){return typeof T=="string"&&(T=f(T)),{type:"MustacheStatement",path:T,params:N||[],hash:k||S([]),escaped:!B,trusting:!!B,loc:U(O||null),strip:q||{open:!1,close:!1}}}function p(T,N,k,B,O,q,z,A,Q){let D,$;return B.type==="Template"?D=(0,m.assign)({},B,{type:"Block"}):D=B,O!=null&&O.type==="Template"?$=(0,m.assign)({},O,{type:"Block"}):$=O,{type:"BlockStatement",path:f(T),params:N||[],hash:k||S([]),program:D||null,inverse:$||null,loc:U(q||null),openStrip:z||{open:!1,close:!1},inverseStrip:A||{open:!1,close:!1},closeStrip:Q||{open:!1,close:!1}}}function n(T,N,k,B){return{type:"ElementModifierStatement",path:f(T),params:N||[],hash:k||S([]),loc:U(B||null)}}function s(T,N,k,B,O){return{type:"PartialStatement",name:T,params:N||[],hash:k||S([]),indent:B||"",strip:{open:!1,close:!1},loc:U(O||null)}}function a(T,N){return{type:"CommentStatement",value:T,loc:U(N||null)}}function i(T,N){return{type:"MustacheCommentStatement",value:T,loc:U(N||null)}}function o(T,N){if(!(0,m.isPresent)(T))throw new Error("b.concat requires at least one part");return{type:"ConcatStatement",parts:T||[],loc:U(N||null)}}function b(T){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{attrs:k,blockParams:B,modifiers:O,comments:q,children:z,loc:A}=N,Q,D=!1;return typeof T=="object"?(D=T.selfClosing,Q=T.name):T.slice(-1)==="/"?(Q=T.slice(0,-1),D=!0):Q=T,{type:"ElementNode",tag:Q,selfClosing:D,attributes:k||[],blockParams:B||[],modifiers:O||[],comments:q||[],children:z||[],loc:U(A||null)}}function P(T,N,k){return{type:"AttrNode",name:T,value:N,loc:U(k||null)}}function E(T,N){return{type:"TextNode",chars:T||"",loc:U(N||null)}}function v(T,N,k,B){return{type:"SubExpression",path:f(T),params:N||[],hash:k||S([]),loc:U(B||null)}}function _(T){switch(T.type){case"AtHead":return{original:T.name,parts:[T.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:T.name,parts:[T.name]}}}function y(T,N){let[k,...B]=T.split("."),O;return k==="this"?O={type:"ThisHead",loc:U(N||null)}:k[0]==="@"?O={type:"AtHead",name:k,loc:U(N||null)}:O={type:"VarHead",name:k,loc:U(N||null)},{head:O,tail:B}}function g(T){return{type:"ThisHead",loc:U(T||null)}}function L(T,N){return{type:"AtHead",name:T,loc:U(N||null)}}function j(T,N){return{type:"VarHead",name:T,loc:U(N||null)}}function x(T,N){return T[0]==="@"?L(T,N):T==="this"?g(N):j(T,N)}function w(T,N){return{type:"NamedBlockName",name:T,loc:U(N||null)}}function H(T,N,k){let{original:B,parts:O}=_(T),q=[...O,...N],z=[...B,...q].join(".");return new l.PathExpressionImplV1(z,T,N,U(k||null))}function f(T,N){if(typeof T!="string"){if("type"in T)return T;{let{head:O,tail:q}=y(T.head,c.SourceSpan.broken()),{original:z}=_(O);return new l.PathExpressionImplV1([z,...q].join("."),O,q,U(N||null))}}let{head:k,tail:B}=y(T,c.SourceSpan.broken());return new l.PathExpressionImplV1(T,k,B,U(N||null))}function C(T,N,k){return{type:T,value:N,original:N,loc:U(k||null)}}function S(T,N){return{type:"Hash",pairs:T||[],loc:U(N||null)}}function R(T,N,k){return{type:"HashPair",key:T,value:N,loc:U(k||null)}}function M(T,N,k){return{type:"Template",body:T||[],blockParams:N||[],loc:U(k||null)}}function V(T,N){let k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,B=arguments.length>3?arguments[3]:void 0;return{type:"Block",body:T||[],blockParams:N||[],chained:k,loc:U(B||null)}}function G(T,N,k){return{type:"Template",body:T||[],blockParams:N||[],loc:U(k||null)}}function K(T,N){return{line:T,column:N}}function U(){for(var T=arguments.length,N=new Array(T),k=0;k1&&arguments[1]!==void 0?arguments[1]:!1;this.ambiguity=e,this.isAngleBracket=r}static namespaced(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return new d({namespaces:[e],fallback:!1},r)}static fallback(){return new d({namespaces:[],fallback:!0})}static append(e){let{invoke:r}=e;return new d({namespaces:["Component","Helper"],fallback:!r})}static trustingAppend(e){let{invoke:r}=e;return new d({namespaces:["Helper"],fallback:!r})}static attr(){return new d({namespaces:["Helper"],fallback:!0})}resolution(){if(this.ambiguity.namespaces.length===0)return 31;if(this.ambiguity.namespaces.length===1){if(this.ambiguity.fallback)return 36;switch(this.ambiguity.namespaces[0]){case"Helper":return 37;case"Modifier":return 38;case"Component":return 39}}else return this.ambiguity.fallback?34:35}serialize(){return this.ambiguity.namespaces.length===0?"Loose":this.ambiguity.namespaces.length===1?this.ambiguity.fallback?["ambiguous","Attr"]:["ns",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?["ambiguous","Append"]:["ambiguous","Invoke"]}};t.LooseModeResolution=d;var c=d.fallback();t.ARGUMENT_RESOLUTION=c;function l(e){if(typeof e=="string")switch(e){case"Loose":return d.fallback();case"Strict":return h}switch(e[0]){case"ambiguous":switch(e[1]){case"Append":return d.append({invoke:!1});case"Attr":return d.attr();case"Invoke":return d.append({invoke:!0})}case"ns":return d.namespaced(e[1])}}}}),ne=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/node.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.node=h;var m=X();function h(d){if(d!==void 0){let c=d;return{fields(){return class{constructor(l){this.type=c,(0,m.assign)(this,l)}}}}}else return{fields(){return class{constructor(c){(0,m.assign)(this,c)}}}}}}}),be=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/args.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.NamedArgument=t.NamedArguments=t.PositionalArguments=t.Args=void 0;var m=ne(),h=class extends(0,m.node)().fields(){static empty(e){return new h({loc:e,positional:d.empty(e),named:c.empty(e)})}static named(e){return new h({loc:e.loc,positional:d.empty(e.loc.collapse("end")),named:e})}nth(e){return this.positional.nth(e)}get(e){return this.named.get(e)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}};t.Args=h;var d=class extends(0,m.node)().fields(){static empty(e){return new d({loc:e,exprs:[]})}get size(){return this.exprs.length}nth(e){return this.exprs[e]||null}isEmpty(){return this.exprs.length===0}};t.PositionalArguments=d;var c=class extends(0,m.node)().fields(){static empty(e){return new c({loc:e,entries:[]})}get size(){return this.entries.length}get(e){let r=this.entries.filter(u=>u.name.chars===e)[0];return r?r.value:null}isEmpty(){return this.entries.length===0}};t.NamedArguments=c;var l=class{constructor(e){this.loc=e.name.loc.extend(e.value.loc),this.name=e.name,this.value=e.value}};t.NamedArgument=l}}),Ct=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/attr-block.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.ElementModifier=t.ComponentArg=t.SplatAttr=t.HtmlAttr=void 0;var m=be(),h=ne(),d=class extends(0,h.node)("HtmlAttr").fields(){};t.HtmlAttr=d;var c=class extends(0,h.node)("SplatAttr").fields(){};t.SplatAttr=c;var l=class extends(0,h.node)().fields(){toNamedArgument(){return new m.NamedArgument({name:this.name,value:this.value})}};t.ComponentArg=l;var e=class extends(0,h.node)("ElementModifier").fields(){};t.ElementModifier=e}}),Pt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/base.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0})}}),ce=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/span-list.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.loc=d,t.hasSpan=c,t.maybeLoc=l,t.SpanList=void 0;var m=ue(),h=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this._span=e}static range(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:m.SourceSpan.NON_EXISTENT;return new h(e.map(d)).getRangeOffset(r)}add(e){this._span.push(e)}getRangeOffset(e){if(this._span.length===0)return e;{let r=this._span[0],u=this._span[this._span.length-1];return r.extend(u)}}};t.SpanList=h;function d(e){if(Array.isArray(e)){let r=e[0],u=e[e.length-1];return d(r).extend(d(u))}else return e instanceof m.SourceSpan?e:e.loc}function c(e){return!(Array.isArray(e)&&e.length===0)}function l(e,r){return c(e)?d(e):r}}}),Dt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/content.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleElement=t.InvokeComponent=t.InvokeBlock=t.AppendContent=t.HtmlComment=t.HtmlText=t.GlimmerComment=void 0;var m=ce(),h=be(),d=ne(),c=class extends(0,d.node)("GlimmerComment").fields(){};t.GlimmerComment=c;var l=class extends(0,d.node)("HtmlText").fields(){};t.HtmlText=l;var e=class extends(0,d.node)("HtmlComment").fields(){};t.HtmlComment=e;var r=class extends(0,d.node)("AppendContent").fields(){get callee(){return this.value.type==="Call"?this.value.callee:this.value}get args(){return this.value.type==="Call"?this.value.args:h.Args.empty(this.value.loc.collapse("end"))}};t.AppendContent=r;var u=class extends(0,d.node)("InvokeBlock").fields(){};t.InvokeBlock=u;var p=class extends(0,d.node)("InvokeComponent").fields(){get args(){let s=this.componentArgs.map(a=>a.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:m.SpanList.range(s,this.callee.loc.collapse("end")),entries:s}))}};t.InvokeComponent=p;var n=class extends(0,d.node)("SimpleElement").fields(){get args(){let s=this.componentArgs.map(a=>a.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:m.SpanList.range(s,this.tag.loc.collapse("end")),entries:s}))}};t.SimpleElement=n}}),wt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/expr.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.isLiteral=c,t.InterpolateExpression=t.DeprecatedCallExpression=t.CallExpression=t.PathExpression=t.LiteralExpression=void 0;var m=le(),h=ne(),d=class extends(0,h.node)("Literal").fields(){toSlice(){return new m.SourceSlice({loc:this.loc,chars:this.value})}};t.LiteralExpression=d;function c(p,n){return p.type==="Literal"?n===void 0?!0:n==="null"?p.value===null:typeof p.value===n:!1}var l=class extends(0,h.node)("Path").fields(){};t.PathExpression=l;var e=class extends(0,h.node)("Call").fields(){};t.CallExpression=e;var r=class extends(0,h.node)("DeprecatedCall").fields(){};t.DeprecatedCallExpression=r;var u=class extends(0,h.node)("Interpolate").fields(){};t.InterpolateExpression=u}}),kt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/refs.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.FreeVarReference=t.LocalVarReference=t.ArgReference=t.ThisReference=void 0;var m=ne(),h=class extends(0,m.node)("This").fields(){};t.ThisReference=h;var d=class extends(0,m.node)("Arg").fields(){};t.ArgReference=d;var c=class extends(0,m.node)("Local").fields(){};t.LocalVarReference=c;var l=class extends(0,m.node)("Free").fields(){};t.FreeVarReference=l}}),Tt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/internal-node.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.NamedBlock=t.NamedBlocks=t.Block=t.Template=void 0;var m=ce(),h=be(),d=ne(),c=class extends(0,d.node)().fields(){};t.Template=c;var l=class extends(0,d.node)().fields(){};t.Block=l;var e=class extends(0,d.node)().fields(){get(u){return this.blocks.filter(p=>p.name.chars===u)[0]||null}};t.NamedBlocks=e;var r=class extends(0,d.node)().fields(){get args(){let u=this.componentArgs.map(p=>p.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:m.SpanList.range(u,this.name.loc.collapse("end")),entries:u}))}};t.NamedBlock=r}}),ve=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/api.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0});var m=St();Object.keys(m).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return m[n]}})});var h=ne();Object.keys(h).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return h[n]}})});var d=be();Object.keys(d).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return d[n]}})});var c=Ct();Object.keys(c).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return c[n]}})});var l=Pt();Object.keys(l).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return l[n]}})});var e=Dt();Object.keys(e).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})});var r=wt();Object.keys(r).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return r[n]}})});var u=kt();Object.keys(u).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return u[n]}})});var p=Tt();Object.keys(p).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return p[n]}})})}}),Ue=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/generation/util.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.escapeAttrValue=r,t.escapeText=u,t.sortByLoc=p;var m=/[\xA0"&]/,h=new RegExp(m.source,"g"),d=/[\xA0&<>]/,c=new RegExp(d.source,"g");function l(n){switch(n.charCodeAt(0)){case 160:return" ";case 34:return""";case 38:return"&";default:return n}}function e(n){switch(n.charCodeAt(0)){case 160:return" ";case 38:return"&";case 60:return"<";case 62:return">";default:return n}}function r(n){return m.test(n)?n.replace(h,l):n}function u(n){return d.test(n)?n.replace(c,e):n}function p(n,s){return n.loc.isInvisible||s.loc.isInvisible?0:n.loc.startPosition.line{h[e]=!0});var c=/\S/,l=class{constructor(e){this.buffer="",this.options=e}handledByOverride(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.options.override!==void 0){let u=this.options.override(e,this.options);if(typeof u=="string")return r&&u!==""&&c.test(u[0])&&(u=` ${u}`),this.buffer+=u,!0}return!1}Node(e){switch(e.type){case"MustacheStatement":case"BlockStatement":case"PartialStatement":case"MustacheCommentStatement":case"CommentStatement":case"TextNode":case"ElementNode":case"AttrNode":case"Block":case"Template":return this.TopLevelStatement(e);case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":case"PathExpression":case"SubExpression":return this.Expression(e);case"Program":return this.Block(e);case"ConcatStatement":return this.ConcatStatement(e);case"Hash":return this.Hash(e);case"HashPair":return this.HashPair(e);case"ElementModifierStatement":return this.ElementModifierStatement(e)}}Expression(e){switch(e.type){case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":return this.Literal(e);case"PathExpression":return this.PathExpression(e);case"SubExpression":return this.SubExpression(e)}}Literal(e){switch(e.type){case"StringLiteral":return this.StringLiteral(e);case"BooleanLiteral":return this.BooleanLiteral(e);case"NumberLiteral":return this.NumberLiteral(e);case"UndefinedLiteral":return this.UndefinedLiteral(e);case"NullLiteral":return this.NullLiteral(e)}}TopLevelStatement(e){switch(e.type){case"MustacheStatement":return this.MustacheStatement(e);case"BlockStatement":return this.BlockStatement(e);case"PartialStatement":return this.PartialStatement(e);case"MustacheCommentStatement":return this.MustacheCommentStatement(e);case"CommentStatement":return this.CommentStatement(e);case"TextNode":return this.TextNode(e);case"ElementNode":return this.ElementNode(e);case"Block":case"Template":return this.Block(e);case"AttrNode":return this.AttrNode(e)}}Block(e){if(e.chained){let r=e.body[0];r.chained=!0}this.handledByOverride(e)||this.TopLevelStatements(e.body)}TopLevelStatements(e){e.forEach(r=>this.TopLevelStatement(r))}ElementNode(e){this.handledByOverride(e)||(this.OpenElementNode(e),this.TopLevelStatements(e.children),this.CloseElementNode(e))}OpenElementNode(e){this.buffer+=`<${e.tag}`;let r=[...e.attributes,...e.modifiers,...e.comments].sort(m.sortByLoc);for(let u of r)switch(this.buffer+=" ",u.type){case"AttrNode":this.AttrNode(u);break;case"ElementModifierStatement":this.ElementModifierStatement(u);break;case"MustacheCommentStatement":this.MustacheCommentStatement(u);break}e.blockParams.length&&this.BlockParams(e.blockParams),e.selfClosing&&(this.buffer+=" /"),this.buffer+=">"}CloseElementNode(e){e.selfClosing||h[e.tag.toLowerCase()]||(this.buffer+=``)}AttrNode(e){if(this.handledByOverride(e))return;let{name:r,value:u}=e;this.buffer+=r,(u.type!=="TextNode"||u.chars.length>0)&&(this.buffer+="=",this.AttrNodeValue(u))}AttrNodeValue(e){e.type==="TextNode"?(this.buffer+='"',this.TextNode(e,!0),this.buffer+='"'):this.Node(e)}TextNode(e,r){this.handledByOverride(e)||(this.options.entityEncoding==="raw"?this.buffer+=e.chars:r?this.buffer+=(0,m.escapeAttrValue)(e.chars):this.buffer+=(0,m.escapeText)(e.chars))}MustacheStatement(e){this.handledByOverride(e)||(this.buffer+=e.escaped?"{{":"{{{",e.strip.open&&(this.buffer+="~"),this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.strip.close&&(this.buffer+="~"),this.buffer+=e.escaped?"}}":"}}}")}BlockStatement(e){this.handledByOverride(e)||(e.chained?(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else "):this.buffer+=e.openStrip.open?"{{~#":"{{#",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.program.blockParams.length&&this.BlockParams(e.program.blockParams),e.chained?this.buffer+=e.inverseStrip.close?"~}}":"}}":this.buffer+=e.openStrip.close?"~}}":"}}",this.Block(e.program),e.inverse&&(e.inverse.chained||(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else",this.buffer+=e.inverseStrip.close?"~}}":"}}"),this.Block(e.inverse)),e.chained||(this.buffer+=e.closeStrip.open?"{{~/":"{{/",this.Expression(e.path),this.buffer+=e.closeStrip.close?"~}}":"}}"))}BlockParams(e){this.buffer+=` as |${e.join(" ")}|`}PartialStatement(e){this.handledByOverride(e)||(this.buffer+="{{>",this.Expression(e.name),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}ConcatStatement(e){this.handledByOverride(e)||(this.buffer+='"',e.parts.forEach(r=>{r.type==="TextNode"?this.TextNode(r,!0):this.Node(r)}),this.buffer+='"')}MustacheCommentStatement(e){this.handledByOverride(e)||(this.buffer+=`{{!--${e.value}--}}`)}ElementModifierStatement(e){this.handledByOverride(e)||(this.buffer+="{{",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}CommentStatement(e){this.handledByOverride(e)||(this.buffer+=``)}PathExpression(e){this.handledByOverride(e)||(this.buffer+=e.original)}SubExpression(e){this.handledByOverride(e)||(this.buffer+="(",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+=")")}Params(e){e.length&&e.forEach(r=>{this.buffer+=" ",this.Expression(r)})}Hash(e){this.handledByOverride(e,!0)||e.pairs.forEach(r=>{this.buffer+=" ",this.HashPair(r)})}HashPair(e){this.handledByOverride(e)||(this.buffer+=e.key,this.buffer+="=",this.Node(e.value))}StringLiteral(e){this.handledByOverride(e)||(this.buffer+=JSON.stringify(e.value))}BooleanLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}NumberLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}UndefinedLiteral(e){this.handledByOverride(e)||(this.buffer+="undefined")}NullLiteral(e){this.handledByOverride(e)||(this.buffer+="null")}print(e){let{options:r}=this;if(r.override){let u=r.override(e,r);if(u!==void 0)return u}return this.buffer="",this.Node(e),this.buffer}};t.default=l}}),Be=F({"node_modules/@handlebars/parser/dist/cjs/exception.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0});var m=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function h(d,c){var l=c&&c.loc,e,r,u,p;l&&(e=l.start.line,r=l.end.line,u=l.start.column,p=l.end.column,d+=" - "+e+":"+u);for(var n=Error.prototype.constructor.call(this,d),s=0;s"u"&&(Y.yylloc={});var Ee=Y.yylloc;A.push(Ee);var tt=Y.options&&Y.options.ranges;typeof ie.yy.parseError=="function"?this.parseError=ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ut(te){O.length=O.length-2*te,z.length=z.length-te,A.length=A.length-te}e:var rt=function(){var te;return te=Y.lex()||Re,typeof te!="number"&&(te=B.symbols_[te]||te),te};for(var J,_e,se,ee,zt,Se,ae={},de,re,qe,pe;;){if(se=O[O.length-1],this.defaultActions[se]?ee=this.defaultActions[se]:((J===null||typeof J>"u")&&(J=rt()),ee=Q[se]&&Q[se][J]),typeof ee>"u"||!ee.length||!ee[0]){var Ce="";pe=[];for(de in Q[se])this.terminals_[de]&&de>$e&&pe.push("'"+this.terminals_[de]+"'");Y.showPosition?Ce="Parse error on line "+($+1)+`: -`+Y.showPosition()+` -Expecting `+pe.join(", ")+", got '"+(this.terminals_[J]||J)+"'":Ce="Parse error on line "+($+1)+": Unexpected "+(J==Re?"end of input":"'"+(this.terminals_[J]||J)+"'"),this.parseError(Ce,{text:Y.match,token:this.terminals_[J]||J,line:Y.yylineno,loc:Ee,expected:pe})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+J);switch(ee[0]){case 1:O.push(J),z.push(Y.yytext),A.push(Y.yylloc),O.push(ee[1]),J=null,_e?(J=_e,_e=null):(oe=Y.yyleng,D=Y.yytext,$=Y.yylineno,Ee=Y.yylloc,Ie>0&&Ie--);break;case 2:if(re=this.productions_[ee[1]][1],ae.$=z[z.length-re],ae._$={first_line:A[A.length-(re||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(re||1)].first_column,last_column:A[A.length-1].last_column},tt&&(ae._$.range=[A[A.length-(re||1)].range[0],A[A.length-1].range[1]]),Se=this.performAction.apply(ae,[D,oe,$,ie.yy,ee[1],z,A].concat(et)),typeof Se<"u")return Se;re&&(O=O.slice(0,-1*re*2),z=z.slice(0,-1*re),A=A.slice(0,-1*re)),O.push(this.productions_[ee[1]][0]),z.push(ae.$),A.push(ae._$),qe=Q[O[O.length-2]][O[O.length-1]],O.push(qe);break;case 3:return!0}}return!0}},W=function(){var N={EOF:1,parseError:function(B,O){if(this.yy.parser)this.yy.parser.parseError(B,O);else throw new Error(B)},setInput:function(k,B){return this.yy=B||this.yy||{},this._input=k,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var k=this._input[0];this.yytext+=k,this.yyleng++,this.offset++,this.match+=k,this.matched+=k;var B=k.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),k},unput:function(k){var B=k.length,O=k.split(/(?:\r\n?|\n)/g);this._input=k+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var q=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1&&(this.yylineno-=O.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===q.length?this.yylloc.first_column:0)+q[q.length-O.length].length-O[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(k){this.unput(this.match.slice(k))},pastInput:function(){var k=this.matched.substr(0,this.matched.length-this.match.length);return(k.length>20?"...":"")+k.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var k=this.match;return k.length<20&&(k+=this._input.substr(0,20-k.length)),(k.substr(0,20)+(k.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var k=this.pastInput(),B=new Array(k.length+1).join("-");return k+this.upcomingInput()+` -`+B+"^"},test_match:function(k,B){var O,q,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),q=k[0].match(/(?:\r\n?|\n).*/g),q&&(this.yylineno+=q.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:q?q[q.length-1].length-q[q.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+k[0].length},this.yytext+=k[0],this.match+=k[0],this.matches=k,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(k[0].length),this.matched+=k[0],O=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var A in z)this[A]=z[A];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var k,B,O,q;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),A=0;AB[0].length)){if(B=O,q=A,this.options.backtrack_lexer){if(k=this.test_match(O,z[A]),k!==!1)return k;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(k=this.test_match(B,z[q]),k!==!1?k:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var B=this.next();return B||this.lex()},begin:function(B){this.conditionStack.push(B)},popState:function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},pushState:function(B){this.begin(B)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(B,O,q,z){function A(D,$){return O.yytext=O.yytext.substring(D,O.yyleng-$+D)}var Q=z;switch(q){case 0:if(O.yytext.slice(-2)==="\\\\"?(A(0,1),this.begin("mu")):O.yytext.slice(-1)==="\\"?(A(0,1),this.begin("emu")):this.begin("mu"),O.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(A(5,9),18);case 5:return 15;case 6:return this.popState(),14;break;case 7:return 64;case 8:return 67;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 56;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 52;case 20:return 48;case 21:this.unput(O.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 72;case 25:return 71;case 26:return 71;case 27:return 86;case 28:break;case 29:return this.popState(),55;break;case 30:return this.popState(),33;break;case 31:return O.yytext=A(1,2).replace(/\\"/g,'"'),79;break;case 32:return O.yytext=A(1,2).replace(/\\'/g,"'"),79;break;case 33:return 84;case 34:return 81;case 35:return 81;case 36:return 82;case 37:return 83;case 38:return 80;case 39:return 74;case 40:return 76;case 41:return 71;case 42:return O.yytext=O.yytext.replace(/\\([\\\]])/g,"$1"),71;break;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return N}();Z.lexer=W;function T(){this.yy={}}return T.prototype=Z,Z.Parser=T,new T}();t.default=m}}),Bt=F({"node_modules/@handlebars/parser/dist/cjs/printer.js"(t){"use strict";I();var m=t&&t.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(t,"__esModule",{value:!0}),t.PrintVisitor=t.print=void 0;var h=m(Oe());function d(l){return new c().accept(l)}t.print=d;function c(){this.padding=0}t.PrintVisitor=c,c.prototype=new h.default,c.prototype.pad=function(l){for(var e="",r=0,u=this.padding;r "+e+" }}")},c.prototype.PartialBlockStatement=function(l){var e="PARTIAL BLOCK:"+l.name.original;return l.params[0]&&(e+=" "+this.accept(l.params[0])),l.hash&&(e+=" "+this.accept(l.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(l.program),this.padding--,this.pad("{{> "+e+" }}")},c.prototype.ContentStatement=function(l){return this.pad("CONTENT[ '"+l.value+"' ]")},c.prototype.CommentStatement=function(l){return this.pad("{{! '"+l.value+"' }}")},c.prototype.SubExpression=function(l){for(var e=l.params,r=[],u,p=0,n=e.length;p0)throw new h.default("Invalid path: "+E,{loc:P});L===".."&&_++}else v.push(L)}return{type:"PathExpression",data:o,depth:_,parts:v,original:E,loc:P}}t.preparePath=u;function p(o,b,P,E,v,_){var y=E.charAt(3)||E.charAt(2),g=y!=="{"&&y!=="&",L=/\*/.test(E);return{type:L?"Decorator":"MustacheStatement",path:o,params:b,hash:P,escaped:g,strip:v,loc:this.locInfo(_)}}t.prepareMustache=p;function n(o,b,P,E){d(o,P),E=this.locInfo(E);var v={type:"Program",body:b,strip:{},loc:E};return{type:"BlockStatement",path:o.path,params:o.params,hash:o.hash,program:v,openStrip:{},inverseStrip:{},closeStrip:{},loc:E}}t.prepareRawBlock=n;function s(o,b,P,E,v,_){E&&E.path&&d(o,E);var y=/\*/.test(o.open);b.blockParams=o.blockParams;var g,L;if(P){if(y)throw new h.default("Unexpected inverse block on decorator",P);P.chain&&(P.program.body[0].closeStrip=E.strip),L=P.strip,g=P.program}return v&&(v=g,g=b,b=v),{type:y?"DecoratorBlock":"BlockStatement",path:o.path,params:o.params,hash:o.hash,program:b,inverse:g,openStrip:o.strip,inverseStrip:L,closeStrip:E&&E.strip,loc:this.locInfo(_)}}t.prepareBlock=s;function a(o,b){if(!b&&o.length){var P=o[0].loc,E=o[o.length-1].loc;P&&E&&(b={source:P.source,start:{line:P.start.line,column:P.start.column},end:{line:E.end.line,column:E.end.column}})}return{type:"Program",body:o,strip:{},loc:b}}t.prepareProgram=a;function i(o,b,P,E){return d(o,P),{type:"PartialBlockStatement",name:o.path,params:o.params,hash:o.hash,program:b,openStrip:o.strip,closeStrip:P&&P.strip,loc:this.locInfo(E)}}t.preparePartialBlock=i}}),Nt=F({"node_modules/@handlebars/parser/dist/cjs/parse.js"(t){"use strict";I();var m=t&&t.__createBinding||(Object.create?function(a,i,o,b){b===void 0&&(b=o),Object.defineProperty(a,b,{enumerable:!0,get:function(){return i[o]}})}:function(a,i,o,b){b===void 0&&(b=o),a[b]=i[o]}),h=t&&t.__setModuleDefault||(Object.create?function(a,i){Object.defineProperty(a,"default",{enumerable:!0,value:i})}:function(a,i){a.default=i}),d=t&&t.__importStar||function(a){if(a&&a.__esModule)return a;var i={};if(a!=null)for(var o in a)o!=="default"&&Object.prototype.hasOwnProperty.call(a,o)&&m(i,a,o);return h(i,a),i},c=t&&t.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.parseWithoutProcessing=void 0;var l=c(Ge()),e=c(ze()),r=d(Ot()),u={};for(p in r)Object.prototype.hasOwnProperty.call(r,p)&&(u[p]=r[p]);var p;function n(a,i){if(a.type==="Program")return a;l.default.yy=u,l.default.yy.locInfo=function(b){return new r.SourceLocation(i&&i.srcName,b)};var o=l.default.parse(a);return o}t.parseWithoutProcessing=n;function s(a,i){var o=n(a,i),b=new e.default(i);return b.accept(o)}t.parse=s}}),Lt=F({"node_modules/@handlebars/parser/dist/cjs/index.js"(t){"use strict";I();var m=t&&t.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseWithoutProcessing=t.parse=t.PrintVisitor=t.print=t.Exception=t.parser=t.WhitespaceControl=t.Visitor=void 0;var h=Oe();Object.defineProperty(t,"Visitor",{enumerable:!0,get:function(){return m(h).default}});var d=ze();Object.defineProperty(t,"WhitespaceControl",{enumerable:!0,get:function(){return m(d).default}});var c=Ge();Object.defineProperty(t,"parser",{enumerable:!0,get:function(){return m(c).default}});var l=Be();Object.defineProperty(t,"Exception",{enumerable:!0,get:function(){return m(l).default}});var e=Bt();Object.defineProperty(t,"print",{enumerable:!0,get:function(){return e.print}}),Object.defineProperty(t,"PrintVisitor",{enumerable:!0,get:function(){return e.PrintVisitor}});var r=Nt();Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return r.parse}}),Object.defineProperty(t,"parseWithoutProcessing",{enumerable:!0,get:function(){return r.parseWithoutProcessing}})}}),Ke=F({"node_modules/simple-html-tokenizer/dist/simple-html-tokenizer.js"(t,m){I(),function(h,d){typeof t=="object"&&typeof m<"u"?d(t):typeof define=="function"&&define.amd?define(["exports"],d):d(h.HTML5Tokenizer={})}(t,function(h){"use strict";var d={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},c=/^#[xX]([A-Fa-f0-9]+)$/,l=/^#([0-9]+)$/,e=/^([A-Za-z0-9]+)$/,r=function(){function E(v){this.named=v}return E.prototype.parse=function(v){if(v){var _=v.match(c);if(_)return String.fromCharCode(parseInt(_[1],16));if(_=v.match(l),_)return String.fromCharCode(parseInt(_[1],10));if(_=v.match(e),_)return this.named[_[1]]}},E}(),u=/[\t\n\f ]/,p=/[A-Za-z]/,n=/\r\n?/g;function s(E){return u.test(E)}function a(E){return p.test(E)}function i(E){return E.replace(n,` -`)}var o=function(){function E(v,_,y){y===void 0&&(y="precompile"),this.delegate=v,this.entityParser=_,this.mode=y,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var g=this.peek();if(g==="<"&&!this.isIgnoredEndTag())this.transitionTo("tagOpen"),this.markTagStart(),this.consume();else{if(this.mode==="precompile"&&g===` -`){var L=this.tagNameBuffer.toLowerCase();(L==="pre"||L==="textarea")&&this.consume()}this.transitionTo("data"),this.delegate.beginData()}},data:function(){var g=this.peek(),L=this.tagNameBuffer;g==="<"&&!this.isIgnoredEndTag()?(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume()):g==="&"&&L!=="script"&&L!=="style"?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(g))},tagOpen:function(){var g=this.consume();g==="!"?this.transitionTo("markupDeclarationOpen"):g==="/"?this.transitionTo("endTagOpen"):(g==="@"||g===":"||a(g))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(g))},markupDeclarationOpen:function(){var g=this.consume();if(g==="-"&&this.peek()==="-")this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment();else{var L=g.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase();L==="DOCTYPE"&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())}},doctype:function(){var g=this.consume();s(g)&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var g=this.consume();s(g)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(g.toLowerCase()))},doctypeName:function(){var g=this.consume();s(g)?this.transitionTo("afterDoctypeName"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(g.toLowerCase())},afterDoctypeName:function(){var g=this.consume();if(!s(g))if(g===">")this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var L=g.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),j=L.toUpperCase()==="PUBLIC",x=L.toUpperCase()==="SYSTEM";(j||x)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),j?this.transitionTo("afterDoctypePublicKeyword"):x&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var g=this.peek();s(g)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):g==='"'?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):g==="'"?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):g===">"&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var g=this.consume();g==='"'?this.transitionTo("afterDoctypePublicIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(g)},doctypePublicIdentifierSingleQuoted:function(){var g=this.consume();g==="'"?this.transitionTo("afterDoctypePublicIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(g)},afterDoctypePublicIdentifier:function(){var g=this.consume();s(g)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):g==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):g==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var g=this.consume();s(g)||(g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):g==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):g==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var g=this.consume();g==='"'?this.transitionTo("afterDoctypeSystemIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(g)},doctypeSystemIdentifierSingleQuoted:function(){var g=this.consume();g==="'"?this.transitionTo("afterDoctypeSystemIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(g)},afterDoctypeSystemIdentifier:function(){var g=this.consume();s(g)||g===">"&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var g=this.consume();g==="-"?this.transitionTo("commentStartDash"):g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(g),this.transitionTo("comment"))},commentStartDash:function(){var g=this.consume();g==="-"?this.transitionTo("commentEnd"):g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var g=this.consume();g==="-"?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(g)},commentEndDash:function(){var g=this.consume();g==="-"?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+g),this.transitionTo("comment"))},commentEnd:function(){var g=this.consume();g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+g),this.transitionTo("comment"))},tagName:function(){var g=this.consume();s(g)?this.transitionTo("beforeAttributeName"):g==="/"?this.transitionTo("selfClosingStartTag"):g===">"?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(g)},endTagName:function(){var g=this.consume();s(g)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):g==="/"?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):g===">"?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(g)},beforeAttributeName:function(){var g=this.peek();if(s(g)){this.consume();return}else g==="/"?(this.transitionTo("selfClosingStartTag"),this.consume()):g===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):g==="="?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(g)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var g=this.peek();s(g)?(this.transitionTo("afterAttributeName"),this.consume()):g==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="="?(this.transitionTo("beforeAttributeValue"),this.consume()):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):g==='"'||g==="'"||g==="<"?(this.delegate.reportSyntaxError(g+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(g)):(this.consume(),this.delegate.appendToAttributeName(g))},afterAttributeName:function(){var g=this.peek();if(s(g)){this.consume();return}else g==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="="?(this.consume(),this.transitionTo("beforeAttributeValue")):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(g))},beforeAttributeValue:function(){var g=this.peek();s(g)?this.consume():g==='"'?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):g==="'"?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(g))},attributeValueDoubleQuoted:function(){var g=this.consume();g==='"'?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):g==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(g)},attributeValueSingleQuoted:function(){var g=this.consume();g==="'"?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):g==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(g)},attributeValueUnquoted:function(){var g=this.peek();s(g)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):g==="/"?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="&"?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):g===">"?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(g))},afterAttributeValueQuoted:function(){var g=this.peek();s(g)?(this.consume(),this.transitionTo("beforeAttributeName")):g==="/"?(this.consume(),this.transitionTo("selfClosingStartTag")):g===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){var g=this.peek();g===">"?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var g=this.consume();(g==="@"||g===":"||a(g))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(g))}},this.reset()}return E.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},E.prototype.transitionTo=function(v){this.state=v},E.prototype.tokenize=function(v){this.reset(),this.tokenizePart(v),this.tokenizeEOF()},E.prototype.tokenizePart=function(v){for(this.input+=i(v);this.index"||v==="style"&&this.input.substring(this.index,this.index+8)!==""||v==="script"&&this.input.substring(this.index,this.index+9)!=="<\/script>"},E}(),b=function(){function E(v,_){_===void 0&&(_={}),this.options=_,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new o(this,v,_.mode),this._currentAttribute=void 0}return E.prototype.tokenize=function(v){return this.tokens=[],this.tokenizer.tokenize(v),this.tokens},E.prototype.tokenizePart=function(v){return this.tokens=[],this.tokenizer.tokenizePart(v),this.tokens},E.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},E.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},E.prototype.current=function(){var v=this.token;if(v===null)throw new Error("token was unexpectedly null");if(arguments.length===0)return v;for(var _=0;_1&&arguments[1]!==void 0?arguments[1]:{entityEncoding:"transformed"};return c?new m.default(l).print(c):""}}}),he=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/syntax-error.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.generateSyntaxError=m;function m(h,d){let{module:c,loc:l}=d,{line:e,column:r}=l.start,u=d.asString(),p=u?` - -| -| ${u.split(` -`).join(` -| `)} -| - -`:"",n=new Error(`${h}: ${p}(error occurred in '${c}' @ line ${e} : column ${r})`);return n.name="SyntaxError",n.location=d,n.code=u,n}}}),Ft=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/visitor-keys.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var m=X(),h={Program:(0,m.tuple)("body"),Template:(0,m.tuple)("body"),Block:(0,m.tuple)("body"),MustacheStatement:(0,m.tuple)("path","params","hash"),BlockStatement:(0,m.tuple)("path","params","hash","program","inverse"),ElementModifierStatement:(0,m.tuple)("path","params","hash"),PartialStatement:(0,m.tuple)("name","params","hash"),CommentStatement:(0,m.tuple)(),MustacheCommentStatement:(0,m.tuple)(),ElementNode:(0,m.tuple)("attributes","modifiers","children","comments"),AttrNode:(0,m.tuple)("value"),TextNode:(0,m.tuple)(),ConcatStatement:(0,m.tuple)("parts"),SubExpression:(0,m.tuple)("path","params","hash"),PathExpression:(0,m.tuple)(),PathHead:(0,m.tuple)(),StringLiteral:(0,m.tuple)(),BooleanLiteral:(0,m.tuple)(),NumberLiteral:(0,m.tuple)(),NullLiteral:(0,m.tuple)(),UndefinedLiteral:(0,m.tuple)(),Hash:(0,m.tuple)("pairs"),HashPair:(0,m.tuple)("value"),NamedBlock:(0,m.tuple)("attributes","modifiers","children","comments"),SimpleElement:(0,m.tuple)("attributes","modifiers","children","comments"),Component:(0,m.tuple)("head","attributes","modifiers","children","comments")},d=h;t.default=d}}),Ye=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/errors.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.cannotRemoveNode=d,t.cannotReplaceNode=c,t.cannotReplaceOrRemoveInKeyHandlerYet=l,t.default=void 0;var m=function(){e.prototype=Object.create(Error.prototype),e.prototype.constructor=e;function e(r,u,p,n){let s=Error.call(this,r);this.key=n,this.message=r,this.node=u,this.parent=p,this.stack=s.stack}return e}(),h=m;t.default=h;function d(e,r,u){return new m("Cannot remove a node unless it is part of an array",e,r,u)}function c(e,r,u){return new m("Cannot replace a node with multiple nodes unless it is part of an array",e,r,u)}function l(e,r){return new m("Replacing and removing in key handlers is not yet supported.",e,null,r)}}}),Qe=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/path.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var m=class{constructor(d){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.node=d,this.parent=c,this.parentKey=l}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new h(this)}}};t.default=m;var h=class{constructor(d){this.path=d}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}}}),Ne=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/traverse.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=E;var m=X(),h=l(Ft()),d=Ye(),c=l(Qe());function l(v){return v&&v.__esModule?v:{default:v}}function e(v){return typeof v=="function"?v:v.enter}function r(v){if(typeof v!="function")return v.exit}function u(v,_){let y=typeof v!="function"?v.keys:void 0;if(y===void 0)return;let g=y[_];return g!==void 0?g:y.All}function p(v,_){if((_==="Template"||_==="Block")&&v.Program)return v.Program;let y=v[_];return y!==void 0?y:v.All}function n(v,_){let{node:y,parent:g,parentKey:L}=_,j=p(v,y.type),x,w;j!==void 0&&(x=e(j),w=r(j));let H;if(x!==void 0&&(H=x(y,_)),H!=null)if(JSON.stringify(y)===JSON.stringify(H))H=void 0;else{if(Array.isArray(H))return o(v,H,g,L),H;{let f=new c.default(H,g,L);return n(v,f)||H}}if(H===void 0){let f=h.default[y.type];for(let C=0;C@\[-\^`\{-~]/;function d(s){let a=c(s);a&&(s.blockParams=a)}function c(s){let a=s.attributes.length,i=[];for(let b=0;b0&&i[i.length-1].charAt(0)==="|")throw(0,m.generateSyntaxError)("Block parameters must be preceded by the `as` keyword, detected block parameters without `as`",s.loc);if(o!==-1&&a>o&&i[o+1].charAt(0)==="|"){let b=i.slice(o).join(" ");if(b.charAt(b.length-1)!=="|"||b.match(/\|/g).length!==2)throw(0,m.generateSyntaxError)("Invalid block parameters syntax, '"+b+"'",s.loc);let P=[];for(let E=o+1;E1&&arguments[1]!==void 0?arguments[1]:new h.EntityParser(h.HTML5NamedCharRefs),e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"precompile";this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=c,this.lines=c.source.split(/(?:\r\n?|\n)/g),this.tokenizer=new h.EventedTokenizer(this,l,e)}offset(){let{line:c,column:l}=this.tokenizer;return this.source.offsetFor(c,l)}pos(c){let{line:l,column:e}=c;return this.source.offsetFor(l,e)}finish(c){return(0,m.assign)({},c,{loc:c.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(c){return this[c.type](c)}acceptNode(c){return this[c.type](c)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(c,l){let e=c.loc.start.line-1,r=e-1,u=c.loc.start.column,p=[],n,s,a;for(l?(s=l.loc.end.line-1,a=l.loc.end.column):(s=c.loc.end.line-1,a=c.loc.end.column);ri.acceptNode(_)):[],E=P.length>0?P[P.length-1].loc:b.loc,v=o.hash?i.Hash(o.hash):{type:"Hash",pairs:[],loc:i.source.spanFor(E).collapse("end")};return{path:b,params:P,hash:v}}function a(i,o){let{path:b,params:P,hash:E,loc:v}=o;if((0,c.isHBSLiteral)(b)){let y=`{{${(0,c.printLiteral)(b)}}}`,g=`<${i.name} ... ${y} ...`;throw(0,d.generateSyntaxError)(`In ${g}, ${y} is not a valid modifier`,o.loc)}let _=e.default.elementModifier({path:b,params:P,hash:E,loc:v});i.modifiers.push(_)}}}),Fe=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/parser/tokenizer-event-handlers.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.preprocess=_,t.TokenizerEventHandlers=void 0;var m=X(),h=Lt(),d=Ke(),c=b(We()),l=Te(),e=De(),r=ue(),u=he(),p=b(Ne()),n=b(Je()),s=ye(),a=b(Le()),i=b(ke()),o=Rt();function b(y){return y&&y.__esModule?y:{default:y}}var P=class extends o.HandlebarsNodeVisitors{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=a.default.comment("",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(y){this.currentComment.value+=y}finishComment(){(0,s.appendChild)(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=a.default.text({chars:"",loc:this.offset().collapsed()})}appendToData(y){this.currentData.chars+=y}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),(0,s.appendChild)(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let y=this.finish(this.currentTag);if(y.type==="StartTag"){if(this.finishStartTag(),y.name===":")throw(0,u.generateSyntaxError)("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(l.voidMap[y.name]||y.selfClosing)&&this.finishEndTag(!0)}else y.type==="EndTag"&&this.finishEndTag(!1)}finishStartTag(){let{name:y,attributes:g,modifiers:L,comments:j,selfClosing:x,loc:w}=this.finish(this.currentStartTag),H=a.default.element({tag:y,selfClosing:x,attrs:g,modifiers:L,comments:j,children:[],blockParams:[],loc:w});this.elementStack.push(H)}finishEndTag(y){let g=this.finish(this.currentTag),L=this.elementStack.pop(),j=this.currentElement();this.validateEndTag(g,L,y),L.loc=L.loc.withEnd(this.offset()),(0,s.parseElementBlockParams)(L),(0,s.appendChild)(j,L)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(y){this.currentTag.name+=y}beginAttribute(){let y=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:y,valueSpan:y.collapsed()}}appendToAttributeName(y){this.currentAttr.name+=y}beginAttributeValue(y){this.currentAttr.isQuoted=y,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(y){let g=this.currentAttr.parts,L=g[g.length-1],j=this.currentAttr.currentPart;if(j)j.chars+=y,j.loc=j.loc.withEnd(this.offset());else{let x=this.offset();y===` -`?x=L?L.loc.getEnd():this.currentAttr.valueSpan.getStart():x=x.move(-1),this.currentAttr.currentPart=a.default.text({chars:y,loc:x.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let y=this.currentTag,g=this.offset();if(y.type==="EndTag")throw(0,u.generateSyntaxError)("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:y.loc.toJSON(),end:g.toJSON()}));let{name:L,parts:j,start:x,isQuoted:w,isDynamic:H,valueSpan:f}=this.currentAttr,C=this.assembleAttributeValue(j,w,H,x.until(g));C.loc=f.withEnd(g);let S=a.default.attr({name:L,value:C,loc:x.until(g)});this.currentStartTag.attributes.push(S)}reportSyntaxError(y){throw(0,u.generateSyntaxError)(y,this.offset().collapsed())}assembleConcatenatedValue(y){for(let j=0;j elements do not need end tags. You should remove it`:g.tag===void 0?j=`Closing tag without an open tag`:g.tag!==y.name&&(j=`Closing tag did not match last open tag <${g.tag}> (on line ${g.loc.startPosition.line})`),j)throw(0,u.generateSyntaxError)(j,y.loc)}assembleAttributeValue(y,g,L,j){if(L){if(g)return this.assembleConcatenatedValue(y);if(y.length===1||y.length===2&&y[1].type==="TextNode"&&y[1].chars==="/")return y[0];throw(0,u.generateSyntaxError)("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",j)}else return y.length>0?y[0]:a.default.text({chars:"",loc:j})}};t.TokenizerEventHandlers=P;var E={parse:_,builders:i.default,print:c.default,traverse:p.default,Walker:n.default},v=class extends d.EntityParser{constructor(){super({})}parse(){}};function _(y){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var L,j,x;let w=g.mode||"precompile",H,f;typeof y=="string"?(H=new e.Source(y,(L=g.meta)===null||L===void 0?void 0:L.moduleName),w==="codemod"?f=(0,h.parseWithoutProcessing)(y,g.parseOptions):f=(0,h.parse)(y,g.parseOptions)):y instanceof e.Source?(H=y,w==="codemod"?f=(0,h.parseWithoutProcessing)(y.source,g.parseOptions):f=(0,h.parse)(y.source,g.parseOptions)):(H=new e.Source("",(j=g.meta)===null||j===void 0?void 0:j.moduleName),f=y);let C;w==="codemod"&&(C=new v);let S=r.SourceSpan.forCharPositions(H,0,H.source.length);f.loc={source:"(program)",start:S.startPosition,end:S.endPosition};let R=new P(H,C,w).acceptTemplate(f);if(g.strictMode&&(R.blockParams=(x=g.locals)!==null&&x!==void 0?x:[]),g&&g.plugins&&g.plugins.ast)for(let M=0,V=g.plugins.ast.length;Mthis.allocate(u));return new l(this,e,r)}};t.SymbolTable=d;var c=class extends d{constructor(e,r){super(),this.templateLocals=e,this.customizeComponentName=r,this.symbols=[],this.upvars=[],this.size=1,this.named=(0,m.dict)(),this.blocks=(0,m.dict)(),this.usedTemplateLocals=[],this._hasEval=!1}getUsedTemplateLocals(){return this.usedTemplateLocals}setHasEval(){this._hasEval=!0}get hasEval(){return this._hasEval}has(e){return this.templateLocals.indexOf(e)!==-1}get(e){let r=this.usedTemplateLocals.indexOf(e);return r!==-1?[r,!0]:(r=this.usedTemplateLocals.length,this.usedTemplateLocals.push(e),[r,!0])}getLocalsMap(){return(0,m.dict)()}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map(r=>e[r])}allocateFree(e,r){r.resolution()===39&&r.isAngleBracket&&(0,h.isUpperCase)(e)&&(e=this.customizeComponentName(e));let u=this.upvars.indexOf(e);return u!==-1||(u=this.upvars.length,this.upvars.push(e)),u}allocateNamed(e){let r=this.named[e];return r||(r=this.named[e]=this.allocate(e)),r}allocateBlock(e){e==="inverse"&&(e="else");let r=this.blocks[e];return r||(r=this.blocks[e]=this.allocate(`&${e}`)),r}allocate(e){return this.symbols.push(e),this.size++}};t.ProgramSymbolTable=c;var l=class extends d{constructor(e,r,u){super(),this.parent=e,this.symbols=r,this.slots=u}get locals(){return this.symbols}has(e){return this.symbols.indexOf(e)!==-1||this.parent.has(e)}get(e){let r=this.symbols.indexOf(e);return r===-1?this.parent.get(e):[this.slots[r],!1]}getLocalsMap(){let e=this.parent.getLocalsMap();return this.symbols.forEach(r=>e[r]=this.get(r)[0]),e}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map(r=>e[r])}setHasEval(){this.parent.setHasEval()}allocateFree(e,r){return this.parent.allocateFree(e,r)}allocateNamed(e){return this.parent.allocateNamed(e)}allocateBlock(e){return this.parent.allocateBlock(e)}allocate(e){return this.parent.allocate(e)}};t.BlockSymbolTable=l}}),qt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/builders.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.BuildElement=t.Builder=void 0;var m=X(),h=le(),d=ce(),c=e(ve());function l(){if(typeof WeakMap!="function")return null;var n=new WeakMap;return l=function(){return n},n}function e(n){if(n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var s=l();if(s&&s.has(n))return s.get(n);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in n)if(Object.prototype.hasOwnProperty.call(n,o)){var b=i?Object.getOwnPropertyDescriptor(n,o):null;b&&(b.get||b.set)?Object.defineProperty(a,o,b):a[o]=n[o]}return a.default=n,s&&s.set(n,a),a}var r=function(n,s){var a={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&s.indexOf(i)<0&&(a[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(n);o0||i.hash.pairs.length>0}}}),jt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/normalize.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=P,t.BlockContext=void 0;var m=X(),h=b(Te()),d=Fe(),c=le(),l=ce(),e=Xe(),r=he(),u=ye(),p=b(Le()),n=o(ve()),s=qt(),a=xt();function i(){if(typeof WeakMap!="function")return null;var f=new WeakMap;return i=function(){return f},f}function o(f){if(f&&f.__esModule)return f;if(f===null||typeof f!="object"&&typeof f!="function")return{default:f};var C=i();if(C&&C.has(f))return C.get(f);var S={},R=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var M in f)if(Object.prototype.hasOwnProperty.call(f,M)){var V=R?Object.getOwnPropertyDescriptor(f,M):null;V&&(V.get||V.set)?Object.defineProperty(S,M,V):S[M]=f[M]}return S.default=f,C&&C.set(f,S),S}function b(f){return f&&f.__esModule?f:{default:f}}function P(f){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var S;let R=(0,d.preprocess)(f,C),M=(0,m.assign)({strictMode:!1,locals:[]},C),V=e.SymbolTable.top(M.locals,(S=C.customizeComponentName)!==null&&S!==void 0?S:W=>W),G=new E(f,M,V),K=new _(G),U=new L(G.loc(R.loc),R.body.map(W=>K.normalize(W)),G).assertTemplate(V),Z=V.getUsedTemplateLocals();return[U,Z]}var E=class{constructor(f,C,S){this.source=f,this.options=C,this.table=S,this.builder=new s.Builder}get strict(){return this.options.strictMode||!1}loc(f){return this.source.spanFor(f)}resolutionFor(f,C){if(this.strict)return{resolution:n.STRICT_RESOLUTION};if(this.isFreeVar(f)){let S=C(f);return S===null?{resolution:"error",path:w(f),head:H(f)}:{resolution:S}}else return{resolution:n.STRICT_RESOLUTION}}isFreeVar(f){return f.type==="PathExpression"?f.head.type!=="VarHead"?!1:!this.table.has(f.head.name):f.path.type==="PathExpression"?this.isFreeVar(f.path):!1}hasBinding(f){return this.table.has(f)}child(f){return new E(this.source,this.options,this.table.child(f))}customizeComponentName(f){return this.options.customizeComponentName?this.options.customizeComponentName(f):f}};t.BlockContext=E;var v=class{constructor(f){this.block=f}normalize(f,C){switch(f.type){case"NullLiteral":case"BooleanLiteral":case"NumberLiteral":case"StringLiteral":case"UndefinedLiteral":return this.block.builder.literal(f.value,this.block.loc(f.loc));case"PathExpression":return this.path(f,C);case"SubExpression":{let S=this.block.resolutionFor(f,a.SexpSyntaxContext);if(S.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`${S.path}\`) but ${S.head} was not in scope`,f.loc);return this.block.builder.sexp(this.callParts(f,S.resolution),this.block.loc(f.loc))}}}path(f,C){let S=this.block.loc(f.head.loc),R=[],M=S;for(let V of f.tail)M=M.sliceStartChars({chars:V.length,skipStart:1}),R.push(new c.SourceSlice({loc:M,chars:V}));return this.block.builder.path(this.ref(f.head,C),R,this.block.loc(f.loc))}callParts(f,C){let{path:S,params:R,hash:M}=f,V=this.normalize(S,C),G=R.map(N=>this.normalize(N,n.ARGUMENT_RESOLUTION)),K=l.SpanList.range(G,V.loc.collapse("end")),U=this.block.loc(M.loc),Z=l.SpanList.range([K,U]),W=this.block.builder.positional(R.map(N=>this.normalize(N,n.ARGUMENT_RESOLUTION)),K),T=this.block.builder.named(M.pairs.map(N=>this.namedArgument(N)),this.block.loc(M.loc));return{callee:V,args:this.block.builder.args(W,T,Z)}}namedArgument(f){let S=this.block.loc(f.loc).sliceStartChars({chars:f.key.length});return this.block.builder.namedArgument(new c.SourceSlice({chars:f.key,loc:S}),this.normalize(f.value,n.ARGUMENT_RESOLUTION))}ref(f,C){let{block:S}=this,{builder:R,table:M}=S,V=S.loc(f.loc);switch(f.type){case"ThisHead":return R.self(V);case"AtHead":{let G=M.allocateNamed(f.name);return R.at(f.name,G,V)}case"VarHead":if(S.hasBinding(f.name)){let[G,K]=M.get(f.name);return S.builder.localVar(f.name,G,K,V)}else{let G=S.strict?n.STRICT_RESOLUTION:C,K=S.table.allocateFree(f.name,G);return S.builder.freeVar({name:f.name,context:G,symbol:K,loc:V})}}}},_=class{constructor(f){this.block=f}normalize(f){switch(f.type){case"PartialStatement":throw new Error("Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer");case"BlockStatement":return this.BlockStatement(f);case"ElementNode":return new y(this.block).ElementNode(f);case"MustacheStatement":return this.MustacheStatement(f);case"MustacheCommentStatement":return this.MustacheCommentStatement(f);case"CommentStatement":{let C=this.block.loc(f.loc);return new n.HtmlComment({loc:C,text:C.slice({skipStart:4,skipEnd:3}).toSlice(f.value)})}case"TextNode":return new n.HtmlText({loc:this.block.loc(f.loc),chars:f.chars})}}MustacheCommentStatement(f){let C=this.block.loc(f.loc),S;return C.asString().slice(0,5)==="{{!--"?S=C.slice({skipStart:5,skipEnd:4}):S=C.slice({skipStart:3,skipEnd:2}),new n.GlimmerComment({loc:C,text:S.toSlice(f.value)})}MustacheStatement(f){let{escaped:C}=f,S=this.block.loc(f.loc),R=this.expr.callParts({path:f.path,params:f.params,hash:f.hash},(0,a.AppendSyntaxContext)(f)),M=R.args.isEmpty()?R.callee:this.block.builder.sexp(R,S);return this.block.builder.append({table:this.block.table,trusting:!C,value:M},S)}BlockStatement(f){let{program:C,inverse:S}=f,R=this.block.loc(f.loc),M=this.block.resolutionFor(f,a.BlockSyntaxContext);if(M.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`{{#${M.path}}}\`) but ${M.head} was not in scope`,R);let V=this.expr.callParts(f,M.resolution);return this.block.builder.blockStatement((0,m.assign)({symbols:this.block.table,program:this.Block(C),inverse:S?this.Block(S):null},V),R)}Block(f){let{body:C,loc:S,blockParams:R}=f,M=this.block.child(R),V=new _(M);return new j(this.block.loc(S),C.map(G=>V.normalize(G)),this.block).assertBlock(M.table)}get expr(){return new v(this.block)}},y=class{constructor(f){this.ctx=f}ElementNode(f){let{tag:C,selfClosing:S,comments:R}=f,M=this.ctx.loc(f.loc),[V,...G]=C.split("."),K=this.classifyTag(V,G,f.loc),U=f.attributes.filter(A=>A.name[0]!=="@").map(A=>this.attr(A)),Z=f.attributes.filter(A=>A.name[0]==="@").map(A=>this.arg(A)),W=f.modifiers.map(A=>this.modifier(A)),T=this.ctx.child(f.blockParams),N=new _(T),k=f.children.map(A=>N.normalize(A)),B=this.ctx.builder.element({selfClosing:S,attrs:U,componentArgs:Z,modifiers:W,comments:R.map(A=>new _(this.ctx).MustacheCommentStatement(A))}),O=new x(B,M,k,this.ctx),z=this.ctx.loc(f.loc).sliceStartChars({chars:C.length,skipStart:1});if(K==="ElementHead")return C[0]===":"?O.assertNamedBlock(z.slice({skipStart:1}).toSlice(C.slice(1)),T.table):O.assertElement(z.toSlice(C),f.blockParams.length>0);if(f.selfClosing)return B.selfClosingComponent(K,M);{let A=O.assertComponent(C,T.table,f.blockParams.length>0);return B.componentWithNamedBlocks(K,A,M)}}modifier(f){let C=this.ctx.resolutionFor(f,a.ModifierSyntaxContext);if(C.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`{{#${C.path}}}\`) as a modifier, but ${C.head} was not in scope. Try adding \`this\` to the beginning of the path`,f.loc);let S=this.expr.callParts(f,C.resolution);return this.ctx.builder.modifier(S,this.ctx.loc(f.loc))}mustacheAttr(f){let C=this.ctx.builder.sexp(this.expr.callParts(f,(0,a.AttrValueSyntaxContext)(f)),this.ctx.loc(f.loc));return C.args.isEmpty()?C.callee:C}attrPart(f){switch(f.type){case"MustacheStatement":return{expr:this.mustacheAttr(f),trusting:!f.escaped};case"TextNode":return{expr:this.ctx.builder.literal(f.chars,this.ctx.loc(f.loc)),trusting:!0}}}attrValue(f){switch(f.type){case"ConcatStatement":{let C=f.parts.map(S=>this.attrPart(S).expr);return{expr:this.ctx.builder.interpolate(C,this.ctx.loc(f.loc)),trusting:!1}}default:return this.attrPart(f)}}attr(f){if(f.name==="...attributes")return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock("attrs"),this.ctx.loc(f.loc));let C=this.ctx.loc(f.loc),S=C.sliceStartChars({chars:f.name.length}).toSlice(f.name),R=this.attrValue(f.value);return this.ctx.builder.attr({name:S,value:R.expr,trusting:R.trusting},C)}maybeDeprecatedCall(f,C){if(this.ctx.strict||C.type!=="MustacheStatement")return null;let{path:S}=C;if(S.type!=="PathExpression"||S.head.type!=="VarHead")return null;let{name:R}=S.head;if(R==="has-block"||R==="has-block-params"||this.ctx.hasBinding(R)||S.tail.length!==0||C.params.length!==0||C.hash.pairs.length!==0)return null;let M=n.LooseModeResolution.attr(),V=this.ctx.builder.freeVar({name:R,context:M,symbol:this.ctx.table.allocateFree(R,M),loc:S.loc});return{expr:this.ctx.builder.deprecatedCall(f,V,C.loc),trusting:!1}}arg(f){let C=this.ctx.loc(f.loc),S=C.sliceStartChars({chars:f.name.length}).toSlice(f.name),R=this.maybeDeprecatedCall(S,f.value)||this.attrValue(f.value);return this.ctx.builder.arg({name:S,value:R.expr,trusting:R.trusting},C)}classifyTag(f,C,S){let R=(0,u.isUpperCase)(f),M=f[0]==="@"||f==="this"||this.ctx.hasBinding(f);if(this.ctx.strict&&!M){if(R)throw(0,r.generateSyntaxError)(`Attempted to invoke a component that was not in scope in a strict mode template, \`<${f}>\`. If you wanted to create an element with that name, convert it to lowercase - \`<${f.toLowerCase()}>\``,S);return"ElementHead"}let V=M||R,G=S.sliceStartChars({skipStart:1,chars:f.length}),K=C.reduce((W,T)=>W+1+T.length,0),U=G.getEnd().move(K),Z=G.withEnd(U);if(V){let W=p.default.path({head:p.default.head(f,G),tail:C,loc:Z}),T=this.ctx.resolutionFor(W,a.ComponentSyntaxContext);if(T.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`<${T.path}>\`) but ${T.head} was not in scope`,S);return new v(this.ctx).normalize(W,T.resolution)}if(C.length>0)throw(0,r.generateSyntaxError)(`You used ${f}.${C.join(".")} as a tag name, but ${f} is not in scope`,S);return"ElementHead"}get expr(){return new v(this.ctx)}},g=class{constructor(f,C,S){this.loc=f,this.children=C,this.block=S,this.namedBlocks=C.filter(R=>R instanceof n.NamedBlock),this.hasSemanticContent=Boolean(C.filter(R=>{if(R instanceof n.NamedBlock)return!1;switch(R.type){case"GlimmerComment":case"HtmlComment":return!1;case"HtmlText":return!/^\s*$/.exec(R.chars);default:return!0}}).length),this.nonBlockChildren=C.filter(R=>!(R instanceof n.NamedBlock))}},L=class extends g{assertTemplate(f){if((0,m.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)("Unexpected named block at the top-level of a template",this.loc);return this.block.builder.template(f,this.nonBlockChildren,this.block.loc(this.loc))}},j=class extends g{assertBlock(f){if((0,m.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)("Unexpected named block nested in a normal block",this.loc);return this.block.builder.block(f,this.nonBlockChildren,this.loc)}},x=class extends g{constructor(f,C,S,R){super(C,S,R),this.el=f}assertNamedBlock(f,C){if(this.el.base.selfClosing)throw(0,r.generateSyntaxError)(`<:${f.chars}/> is not a valid named block: named blocks cannot be self-closing`,this.loc);if((0,m.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)(`Unexpected named block inside <:${f.chars}> named block: named blocks cannot contain nested named blocks`,this.loc);if(!(0,u.isLowerCase)(f.chars))throw(0,r.generateSyntaxError)(`<:${f.chars}> is not a valid named block, and named blocks must begin with a lowercase letter`,this.loc);if(this.el.base.attrs.length>0||this.el.base.componentArgs.length>0||this.el.base.modifiers.length>0)throw(0,r.generateSyntaxError)(`named block <:${f.chars}> cannot have attributes, arguments, or modifiers`,this.loc);let S=l.SpanList.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(f,this.block.builder.block(C,this.nonBlockChildren,S),this.loc)}assertElement(f,C){if(C)throw(0,r.generateSyntaxError)(`Unexpected block params in <${f}>: simple elements cannot have block params`,this.loc);if((0,m.isPresent)(this.namedBlocks)){let S=this.namedBlocks.map(R=>R.name);if(S.length===1)throw(0,r.generateSyntaxError)(`Unexpected named block <:foo> inside <${f.chars}> HTML element`,this.loc);{let R=S.map(M=>`<:${M.chars}>`).join(", ");throw(0,r.generateSyntaxError)(`Unexpected named blocks inside <${f.chars}> HTML element (${R})`,this.loc)}}return this.el.simple(f,this.nonBlockChildren,this.loc)}assertComponent(f,C,S){if((0,m.isPresent)(this.namedBlocks)&&this.hasSemanticContent)throw(0,r.generateSyntaxError)(`Unexpected content inside <${f}> component invocation: when using named blocks, the tag cannot contain other content`,this.loc);if((0,m.isPresent)(this.namedBlocks)){if(S)throw(0,r.generateSyntaxError)(`Unexpected block params list on <${f}> component invocation: when passing named blocks, the invocation tag cannot take block params`,this.loc);let R=new Set;for(let M of this.namedBlocks){let V=M.name.chars;if(R.has(V))throw(0,r.generateSyntaxError)(`Component had two named blocks with the same name, \`<:${V}>\`. Only one block with a given name may be passed`,this.loc);if(V==="inverse"&&R.has("else")||V==="else"&&R.has("inverse"))throw(0,r.generateSyntaxError)("Component has both <:else> and <:inverse> block. <:inverse> is an alias for <:else>",this.loc);R.add(V)}return this.namedBlocks}else return[this.block.builder.namedBlock(c.SourceSlice.synthetic("default"),this.block.builder.block(C,this.nonBlockChildren,this.loc),this.loc)]}};function w(f){return f.type!=="PathExpression"&&f.path.type==="PathExpression"?w(f.path):new h.default({entityEncoding:"raw"}).print(f)}function H(f){if(f.type==="PathExpression")switch(f.head.type){case"AtHead":case"VarHead":return f.head.name;case"ThisHead":return"this"}else return f.path.type==="PathExpression"?H(f.path):new h.default({entityEncoding:"raw"}).print(f)}}}),Ze=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/keywords.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=m,t.KEYWORDS_TYPES=void 0;function m(d){return d in h}var h={component:["Call","Append","Block"],debugger:["Append"],"each-in":["Block"],each:["Block"],"has-block-params":["Call","Append"],"has-block":["Call","Append"],helper:["Call","Append"],if:["Call","Append","Block"],"in-element":["Block"],let:["Block"],"link-to":["Append","Block"],log:["Call","Append"],modifier:["Call"],mount:["Append"],mut:["Call","Append"],outlet:["Append"],"query-params":["Call"],readonly:["Call","Append"],unbound:["Call","Append"],unless:["Call","Append","Block"],with:["Block"],yield:["Append"]};t.KEYWORDS_TYPES=h}}),Mt=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/get-template-locals.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),t.getTemplateLocals=r;var m=Ze(),h=Fe(),d=c(Ne());function c(u){return u&&u.__esModule?u:{default:u}}function l(u,p,n){if(u.type==="PathExpression"){if(u.head.type==="AtHead"||u.head.type==="ThisHead")return;let s=u.head.name;if(p.indexOf(s)===-1)return s}else if(u.type==="ElementNode"){let{tag:s}=u,a=s.charAt(0);return a===":"||a==="@"||!n.includeHtmlElements&&s.indexOf(".")===-1&&s.toLowerCase()===s||s.substr(0,5)==="this."||p.indexOf(s)!==-1?void 0:s}}function e(u,p,n,s){let a=l(p,n,s);(Array.isArray(a)?a:[a]).forEach(i=>{i!==void 0&&i[0]!=="@"&&u.add(i.split(".")[0])})}function r(u){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{includeHtmlElements:!1,includeKeywords:!1},n=(0,h.preprocess)(u),s=new Set,a=[];(0,d.default)(n,{Block:{enter(o){let{blockParams:b}=o;b.forEach(P=>{a.push(P)})},exit(o){let{blockParams:b}=o;b.forEach(()=>{a.pop()})}},ElementNode:{enter(o){o.blockParams.forEach(b=>{a.push(b)}),e(s,o,a,p)},exit(o){let{blockParams:b}=o;b.forEach(()=>{a.pop()})}},PathExpression(o){e(s,o,a,p)}});let i=[];return s.forEach(o=>i.push(o)),p!=null&&p.includeKeywords||(i=i.filter(o=>!(0,m.isKeyword)(o))),i}}}),Ht=F({"node_modules/@glimmer/syntax/dist/commonjs/es2017/index.js"(t){"use strict";I(),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Source",{enumerable:!0,get:function(){return m.Source}}),Object.defineProperty(t,"builders",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"normalize",{enumerable:!0,get:function(){return l.normalize}}),Object.defineProperty(t,"SymbolTable",{enumerable:!0,get:function(){return e.SymbolTable}}),Object.defineProperty(t,"BlockSymbolTable",{enumerable:!0,get:function(){return e.BlockSymbolTable}}),Object.defineProperty(t,"ProgramSymbolTable",{enumerable:!0,get:function(){return e.ProgramSymbolTable}}),Object.defineProperty(t,"generateSyntaxError",{enumerable:!0,get:function(){return r.generateSyntaxError}}),Object.defineProperty(t,"preprocess",{enumerable:!0,get:function(){return u.preprocess}}),Object.defineProperty(t,"print",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"sortByLoc",{enumerable:!0,get:function(){return n.sortByLoc}}),Object.defineProperty(t,"Walker",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"Path",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"cannotRemoveNode",{enumerable:!0,get:function(){return i.cannotRemoveNode}}),Object.defineProperty(t,"cannotReplaceNode",{enumerable:!0,get:function(){return i.cannotReplaceNode}}),Object.defineProperty(t,"WalkerPath",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return b.isKeyword}}),Object.defineProperty(t,"KEYWORDS_TYPES",{enumerable:!0,get:function(){return b.KEYWORDS_TYPES}}),Object.defineProperty(t,"getTemplateLocals",{enumerable:!0,get:function(){return P.getTemplateLocals}}),Object.defineProperty(t,"SourceSlice",{enumerable:!0,get:function(){return E.SourceSlice}}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return v.SourceSpan}}),Object.defineProperty(t,"SpanList",{enumerable:!0,get:function(){return _.SpanList}}),Object.defineProperty(t,"maybeLoc",{enumerable:!0,get:function(){return _.maybeLoc}}),Object.defineProperty(t,"loc",{enumerable:!0,get:function(){return _.loc}}),Object.defineProperty(t,"hasSpan",{enumerable:!0,get:function(){return _.hasSpan}}),Object.defineProperty(t,"node",{enumerable:!0,get:function(){return y.node}}),t.ASTv2=t.AST=t.ASTv1=void 0;var m=De(),h=j(ke()),d=L(_t());t.ASTv1=d,t.AST=d;var c=L(ve());t.ASTv2=c;var l=jt(),e=Xe(),r=he(),u=Fe(),p=j(We()),n=Ue(),s=j(Je()),a=j(Ne()),i=Ye(),o=j(Qe()),b=Ze(),P=Mt(),E=le(),v=ue(),_=ce(),y=ne();function g(){if(typeof WeakMap!="function")return null;var x=new WeakMap;return g=function(){return x},x}function L(x){if(x&&x.__esModule)return x;if(x===null||typeof x!="object"&&typeof x!="function")return{default:x};var w=g();if(w&&w.has(x))return w.get(x);var H={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var C in x)if(Object.prototype.hasOwnProperty.call(x,C)){var S=f?Object.getOwnPropertyDescriptor(x,C):null;S&&(S.get||S.set)?Object.defineProperty(H,C,S):H[C]=x[C]}return H.default=x,w&&w.set(x,H),H}function j(x){return x&&x.__esModule?x:{default:x}}}}),Vt=F({"src/language-handlebars/parser-glimmer.js"(t,m){I();var{LinesAndColumns:h}=it(),d=st(),{locStart:c,locEnd:l}=at();function e(){return{name:"addBackslash",visitor:{All(n){var s;let a=(s=n.children)!==null&&s!==void 0?s:n.body;if(a)for(let i=0;i{let{line:o,column:b}=i;return s.indexForLocation({line:o-1,column:b})};return()=>({name:"addOffset",visitor:{All(i){let{start:o,end:b}=i.loc;o.offset=a(o),b.offset=a(b)}}})}function u(n){let{preprocess:s}=Ht(),a;try{a=s(n,{mode:"codemod",plugins:{ast:[e,r(n)]}})}catch(i){let o=p(i);throw o?d(i.message,o):i}return a}function p(n){let{location:s,hash:a}=n;if(s){let{start:i,end:o}=s;return typeof o.line!="number"?{start:i}:s}if(a){let{loc:{last_line:i,last_column:o}}=a;return{start:{line:i,column:o+1}}}}m.exports={parsers:{glimmer:{parse:u,astFormat:"glimmer",locStart:c,locEnd:l}}}}}),Kt=Vt();export{Kt as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-graphql.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-graphql.mjs deleted file mode 100644 index 2a2afa9ff9..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-graphql.mjs +++ /dev/null @@ -1,15 +0,0 @@ -var X=Object.getOwnPropertyNames,re=(l,T)=>function(){return l&&(T=(0,l[X(l)[0]])(l=0)),T},K=(l,T)=>function(){return T||(0,l[X(l)[0]])((T={exports:{}}).exports,T),T.exports},L=re({""(){}}),ie=K({"src/common/parser-create-error.js"(l,T){"use strict";L();function a(p,r){let _=new SyntaxError(p+" ("+r.start.line+":"+r.start.column+")");return _.loc=r,_}T.exports=a}}),ae=K({"src/utils/try-combinations.js"(l,T){"use strict";L();function a(){let p;for(var r=arguments.length,_=new Array(r),E=0;E120){for(var t=Math.floor(i/80),s=i%80,y=[],f=0;f"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function e(f){return Function.toString.call(f).indexOf("[native code]")!==-1}function n(f,m){return n=Object.setPrototypeOf||function(d,c){return d.__proto__=c,d},n(f,m)}function t(f){return t=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)},t(f)}var s=function(f){O(o,f);var m=S(o);function o(d,c,v,A,x,b,P){var U,q,V,G,C;k(this,o),C=m.call(this,d);var R=Array.isArray(c)?c.length!==0?c:void 0:c?[c]:void 0,Y=v;if(!Y&&R){var J;Y=(J=R[0].loc)===null||J===void 0?void 0:J.source}var F=A;!F&&R&&(F=R.reduce(function(w,M){return M.loc&&w.push(M.loc.start),w},[])),F&&F.length===0&&(F=void 0);var B;A&&v?B=A.map(function(w){return(0,r.getLocation)(v,w)}):R&&(B=R.reduce(function(w,M){return M.loc&&w.push((0,r.getLocation)(M.loc.source,M.loc.start)),w},[]));var j=P;if(j==null&&b!=null){var Q=b.extensions;(0,a.default)(Q)&&(j=Q)}return Object.defineProperties(h(C),{name:{value:"GraphQLError"},message:{value:d,enumerable:!0,writable:!0},locations:{value:(U=B)!==null&&U!==void 0?U:void 0,enumerable:B!=null},path:{value:x!=null?x:void 0,enumerable:x!=null},nodes:{value:R!=null?R:void 0},source:{value:(q=Y)!==null&&q!==void 0?q:void 0},positions:{value:(V=F)!==null&&V!==void 0?V:void 0},originalError:{value:b},extensions:{value:(G=j)!==null&&G!==void 0?G:void 0,enumerable:j!=null}}),b!=null&&b.stack?(Object.defineProperty(h(C),"stack",{value:b.stack,writable:!0,configurable:!0}),I(C)):(Error.captureStackTrace?Error.captureStackTrace(h(C),o):Object.defineProperty(h(C),"stack",{value:Error().stack,writable:!0,configurable:!0}),C)}return D(o,[{key:"toString",value:function(){return y(this)}},{key:p.SYMBOL_TO_STRING_TAG,get:function(){return"Object"}}]),o}(N(Error));l.GraphQLError=s;function y(f){var m=f.message;if(f.nodes)for(var o=0,d=f.nodes;o",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});l.TokenKind=T}}),ne=K({"node_modules/graphql/jsutils/inspect.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.default=E;var T=a(Z());function a(h){return h&&h.__esModule?h:{default:h}}function p(h){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?p=function(i){return typeof i}:p=function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},p(h)}var r=10,_=2;function E(h){return k(h,[])}function k(h,N){switch(p(h)){case"string":return JSON.stringify(h);case"function":return h.name?"[function ".concat(h.name,"]"):"[function]";case"object":return h===null?"null":g(h,N);default:return String(h)}}function g(h,N){if(N.indexOf(h)!==-1)return"[Circular]";var i=[].concat(N,[h]),u=S(h);if(u!==void 0){var e=u.call(h);if(e!==h)return typeof e=="string"?e:k(e,i)}else if(Array.isArray(h))return O(h,i);return D(h,i)}function D(h,N){var i=Object.keys(h);if(i.length===0)return"{}";if(N.length>_)return"["+I(h)+"]";var u=i.map(function(e){var n=k(h[e],N);return e+": "+n});return"{ "+u.join(", ")+" }"}function O(h,N){if(h.length===0)return"[]";if(N.length>_)return"[Array]";for(var i=Math.min(r,h.length),u=h.length-i,e=[],n=0;n1&&e.push("... ".concat(u," more items")),"["+e.join(", ")+"]"}function S(h){var N=h[String(T.default)];if(typeof N=="function")return N;if(typeof h.inspect=="function")return h.inspect}function I(h){var N=Object.prototype.toString.call(h).replace(/^\[object /,"").replace(/]$/,"");if(N==="Object"&&typeof h.constructor=="function"){var i=h.constructor.name;if(typeof i=="string"&&i!=="")return i}return N}}}),de=K({"node_modules/graphql/jsutils/devAssert.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.default=T;function T(a,p){var r=Boolean(a);if(!r)throw new Error(p)}}}),he=K({"node_modules/graphql/jsutils/instanceOf.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.default=void 0;var T=a(ne());function a(r){return r&&r.__esModule?r:{default:r}}var p=function(_,E){return _ instanceof E};l.default=p}}),ve=K({"node_modules/graphql/language/source.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.isSource=D,l.Source=void 0;var T=H(),a=_(ne()),p=_(de()),r=_(he());function _(O){return O&&O.__esModule?O:{default:O}}function E(O,S){for(var I=0;I1&&arguments[1]!==void 0?arguments[1]:"GraphQL request",h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{line:1,column:1};typeof S=="string"||(0,p.default)(0,"Body must be a string. Received: ".concat((0,a.default)(S),".")),this.body=S,this.name=I,this.locationOffset=h,this.locationOffset.line>0||(0,p.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,p.default)(0,"column in locationOffset is 1-indexed and must be positive.")}return k(O,[{key:T.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}]),O}();l.Source=g;function D(O){return(0,r.default)(O,g)}}}),Te=K({"node_modules/graphql/language/directiveLocation.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.DirectiveLocation=void 0;var T=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});l.DirectiveLocation=T}}),_e=K({"node_modules/graphql/language/blockString.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.dedentBlockStringValue=T,l.getBlockStringIndentation=p,l.printBlockString=r;function T(_){var E=_.split(/\r\n|[\n\r]/g),k=p(_);if(k!==0)for(var g=1;gD&&a(E[O-1]);)--O;return E.slice(D,O).join(` -`)}function a(_){for(var E=0;E<_.length;++E)if(_[E]!==" "&&_[E]!==" ")return!1;return!0}function p(_){for(var E,k=!0,g=!0,D=0,O=null,S=0;S<_.length;++S)switch(_.charCodeAt(S)){case 13:_.charCodeAt(S+1)===10&&++S;case 10:k=!1,g=!0,D=0;break;case 9:case 32:++D;break;default:g&&!k&&(O===null||D1&&arguments[1]!==void 0?arguments[1]:"",k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,g=_.indexOf(` -`)===-1,D=_[0]===" "||_[0]===" ",O=_[_.length-1]==='"',S=_[_.length-1]==="\\",I=!g||O||S||k,h="";return I&&!(g&&D)&&(h+=` -`+E),h+=E?_.replace(/\n/g,` -`+E):_,I&&(h+=` -`),'"""'+h.replace(/"""/g,'\\"""')+'"""'}}}),Ee=K({"node_modules/graphql/language/lexer.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.isPunctuatorTokenKind=E,l.Lexer=void 0;var T=W(),a=ee(),p=te(),r=_e(),_=function(){function t(y){var f=new a.Token(p.TokenKind.SOF,0,0,0,0,null);this.source=y,this.lastToken=f,this.token=f,this.line=1,this.lineStart=0}var s=t.prototype;return s.advance=function(){this.lastToken=this.token;var f=this.token=this.lookahead();return f},s.lookahead=function(){var f=this.token;if(f.kind!==p.TokenKind.EOF)do{var m;f=(m=f.next)!==null&&m!==void 0?m:f.next=g(this,f)}while(f.kind===p.TokenKind.COMMENT);return f},t}();l.Lexer=_;function E(t){return t===p.TokenKind.BANG||t===p.TokenKind.DOLLAR||t===p.TokenKind.AMP||t===p.TokenKind.PAREN_L||t===p.TokenKind.PAREN_R||t===p.TokenKind.SPREAD||t===p.TokenKind.COLON||t===p.TokenKind.EQUALS||t===p.TokenKind.AT||t===p.TokenKind.BRACKET_L||t===p.TokenKind.BRACKET_R||t===p.TokenKind.BRACE_L||t===p.TokenKind.PIPE||t===p.TokenKind.BRACE_R}function k(t){return isNaN(t)?p.TokenKind.EOF:t<127?JSON.stringify(String.fromCharCode(t)):'"\\u'.concat(("00"+t.toString(16).toUpperCase()).slice(-4),'"')}function g(t,s){for(var y=t.source,f=y.body,m=f.length,o=s.end;o31||d===9));return new a.Token(p.TokenKind.COMMENT,s,c,y,f,m,o.slice(s+1,c))}function S(t,s,y,f,m,o){var d=t.body,c=y,v=s,A=!1;if(c===45&&(c=d.charCodeAt(++v)),c===48){if(c=d.charCodeAt(++v),c>=48&&c<=57)throw(0,T.syntaxError)(t,v,"Invalid number, unexpected digit after 0: ".concat(k(c),"."))}else v=I(t,v,c),c=d.charCodeAt(v);if(c===46&&(A=!0,c=d.charCodeAt(++v),v=I(t,v,c),c=d.charCodeAt(v)),(c===69||c===101)&&(A=!0,c=d.charCodeAt(++v),(c===43||c===45)&&(c=d.charCodeAt(++v)),v=I(t,v,c),c=d.charCodeAt(v)),c===46||n(c))throw(0,T.syntaxError)(t,v,"Invalid number, expected digit but got: ".concat(k(c),"."));return new a.Token(A?p.TokenKind.FLOAT:p.TokenKind.INT,s,v,f,m,o,d.slice(s,v))}function I(t,s,y){var f=t.body,m=s,o=y;if(o>=48&&o<=57){do o=f.charCodeAt(++m);while(o>=48&&o<=57);return m}throw(0,T.syntaxError)(t,m,"Invalid number, expected digit but got: ".concat(k(o),"."))}function h(t,s,y,f,m){for(var o=t.body,d=s+1,c=d,v=0,A="";d=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}function e(t,s,y,f,m){for(var o=t.body,d=o.length,c=s+1,v=0;c!==d&&!isNaN(v=o.charCodeAt(c))&&(v===95||v>=48&&v<=57||v>=65&&v<=90||v>=97&&v<=122);)++c;return new a.Token(p.TokenKind.NAME,s,c,y,f,m,o.slice(s,c))}function n(t){return t===95||t>=65&&t<=90||t>=97&&t<=122}}}),me=K({"node_modules/graphql/language/parser.js"(l){"use strict";L(),Object.defineProperty(l,"__esModule",{value:!0}),l.parse=g,l.parseValue=D,l.parseType=O,l.Parser=void 0;var T=W(),a=le(),p=ee(),r=te(),_=ve(),E=Te(),k=Ee();function g(N,i){var u=new S(N,i);return u.parseDocument()}function D(N,i){var u=new S(N,i);u.expectToken(r.TokenKind.SOF);var e=u.parseValueLiteral(!1);return u.expectToken(r.TokenKind.EOF),e}function O(N,i){var u=new S(N,i);u.expectToken(r.TokenKind.SOF);var e=u.parseTypeReference();return u.expectToken(r.TokenKind.EOF),e}var S=function(){function N(u,e){var n=(0,_.isSource)(u)?u:new _.Source(u);this._lexer=new k.Lexer(n),this._options=e}var i=N.prototype;return i.parseName=function(){var e=this.expectToken(r.TokenKind.NAME);return{kind:a.Kind.NAME,value:e.value,loc:this.loc(e)}},i.parseDocument=function(){var e=this._lexer.token;return{kind:a.Kind.DOCUMENT,definitions:this.many(r.TokenKind.SOF,this.parseDefinition,r.TokenKind.EOF),loc:this.loc(e)}},i.parseDefinition=function(){if(this.peek(r.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(r.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},i.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(r.TokenKind.BRACE_L))return{kind:a.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n=this.parseOperationType(),t;return this.peek(r.TokenKind.NAME)&&(t=this.parseName()),{kind:a.Kind.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},i.parseOperationType=function(){var e=this.expectToken(r.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},i.parseVariableDefinitions=function(){return this.optionalMany(r.TokenKind.PAREN_L,this.parseVariableDefinition,r.TokenKind.PAREN_R)},i.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:a.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(r.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(r.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},i.parseVariable=function(){var e=this._lexer.token;return this.expectToken(r.TokenKind.DOLLAR),{kind:a.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},i.parseSelectionSet=function(){var e=this._lexer.token;return{kind:a.Kind.SELECTION_SET,selections:this.many(r.TokenKind.BRACE_L,this.parseSelection,r.TokenKind.BRACE_R),loc:this.loc(e)}},i.parseSelection=function(){return this.peek(r.TokenKind.SPREAD)?this.parseFragment():this.parseField()},i.parseField=function(){var e=this._lexer.token,n=this.parseName(),t,s;return this.expectOptionalToken(r.TokenKind.COLON)?(t=n,s=this.parseName()):s=n,{kind:a.Kind.FIELD,alias:t,name:s,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(r.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(e)}},i.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(r.TokenKind.PAREN_L,n,r.TokenKind.PAREN_R)},i.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(r.TokenKind.COLON),{kind:a.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},i.parseConstArgument=function(){var e=this._lexer.token;return{kind:a.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(r.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},i.parseFragment=function(){var e=this._lexer.token;this.expectToken(r.TokenKind.SPREAD);var n=this.expectOptionalKeyword("on");return!n&&this.peek(r.TokenKind.NAME)?{kind:a.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:a.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},i.parseFragmentDefinition=function(){var e,n=this._lexer.token;return this.expectKeyword("fragment"),((e=this._options)===null||e===void 0?void 0:e.experimentalFragmentVariables)===!0?{kind:a.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}:{kind:a.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}},i.parseFragmentName=function(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()},i.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case r.TokenKind.BRACKET_L:return this.parseList(e);case r.TokenKind.BRACE_L:return this.parseObject(e);case r.TokenKind.INT:return this._lexer.advance(),{kind:a.Kind.INT,value:n.value,loc:this.loc(n)};case r.TokenKind.FLOAT:return this._lexer.advance(),{kind:a.Kind.FLOAT,value:n.value,loc:this.loc(n)};case r.TokenKind.STRING:case r.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case r.TokenKind.NAME:switch(this._lexer.advance(),n.value){case"true":return{kind:a.Kind.BOOLEAN,value:!0,loc:this.loc(n)};case"false":return{kind:a.Kind.BOOLEAN,value:!1,loc:this.loc(n)};case"null":return{kind:a.Kind.NULL,loc:this.loc(n)};default:return{kind:a.Kind.ENUM,value:n.value,loc:this.loc(n)}}case r.TokenKind.DOLLAR:if(!e)return this.parseVariable();break}throw this.unexpected()},i.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:a.Kind.STRING,value:e.value,block:e.kind===r.TokenKind.BLOCK_STRING,loc:this.loc(e)}},i.parseList=function(e){var n=this,t=this._lexer.token,s=function(){return n.parseValueLiteral(e)};return{kind:a.Kind.LIST,values:this.any(r.TokenKind.BRACKET_L,s,r.TokenKind.BRACKET_R),loc:this.loc(t)}},i.parseObject=function(e){var n=this,t=this._lexer.token,s=function(){return n.parseObjectField(e)};return{kind:a.Kind.OBJECT,fields:this.any(r.TokenKind.BRACE_L,s,r.TokenKind.BRACE_R),loc:this.loc(t)}},i.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(r.TokenKind.COLON),{kind:a.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},i.parseDirectives=function(e){for(var n=[];this.peek(r.TokenKind.AT);)n.push(this.parseDirective(e));return n},i.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(r.TokenKind.AT),{kind:a.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},i.parseTypeReference=function(){var e=this._lexer.token,n;return this.expectOptionalToken(r.TokenKind.BRACKET_L)?(n=this.parseTypeReference(),this.expectToken(r.TokenKind.BRACKET_R),n={kind:a.Kind.LIST_TYPE,type:n,loc:this.loc(e)}):n=this.parseNamedType(),this.expectOptionalToken(r.TokenKind.BANG)?{kind:a.Kind.NON_NULL_TYPE,type:n,loc:this.loc(e)}:n},i.parseNamedType=function(){var e=this._lexer.token;return{kind:a.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},i.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===r.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},i.peekDescription=function(){return this.peek(r.TokenKind.STRING)||this.peek(r.TokenKind.BLOCK_STRING)},i.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},i.parseSchemaDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");var t=this.parseDirectives(!0),s=this.many(r.TokenKind.BRACE_L,this.parseOperationTypeDefinition,r.TokenKind.BRACE_R);return{kind:a.Kind.SCHEMA_DEFINITION,description:n,directives:t,operationTypes:s,loc:this.loc(e)}},i.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(r.TokenKind.COLON);var t=this.parseNamedType();return{kind:a.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},i.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");var t=this.parseName(),s=this.parseDirectives(!0);return{kind:a.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:s,loc:this.loc(e)}},i.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");var t=this.parseName(),s=this.parseImplementsInterfaces(),y=this.parseDirectives(!0),f=this.parseFieldsDefinition();return{kind:a.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:s,directives:y,fields:f,loc:this.loc(e)}},i.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(((e=this._options)===null||e===void 0?void 0:e.allowLegacySDLImplementsInterfaces)===!0){var n=[];this.expectOptionalToken(r.TokenKind.AMP);do n.push(this.parseNamedType());while(this.expectOptionalToken(r.TokenKind.AMP)||this.peek(r.TokenKind.NAME));return n}return this.delimitedMany(r.TokenKind.AMP,this.parseNamedType)},i.parseFieldsDefinition=function(){var e;return((e=this._options)===null||e===void 0?void 0:e.allowLegacySDLEmptyFields)===!0&&this.peek(r.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===r.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(r.TokenKind.BRACE_L,this.parseFieldDefinition,r.TokenKind.BRACE_R)},i.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),s=this.parseArgumentDefs();this.expectToken(r.TokenKind.COLON);var y=this.parseTypeReference(),f=this.parseDirectives(!0);return{kind:a.Kind.FIELD_DEFINITION,description:n,name:t,arguments:s,type:y,directives:f,loc:this.loc(e)}},i.parseArgumentDefs=function(){return this.optionalMany(r.TokenKind.PAREN_L,this.parseInputValueDef,r.TokenKind.PAREN_R)},i.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(r.TokenKind.COLON);var s=this.parseTypeReference(),y;this.expectOptionalToken(r.TokenKind.EQUALS)&&(y=this.parseValueLiteral(!0));var f=this.parseDirectives(!0);return{kind:a.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:s,defaultValue:y,directives:f,loc:this.loc(e)}},i.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");var t=this.parseName(),s=this.parseImplementsInterfaces(),y=this.parseDirectives(!0),f=this.parseFieldsDefinition();return{kind:a.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,interfaces:s,directives:y,fields:f,loc:this.loc(e)}},i.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");var t=this.parseName(),s=this.parseDirectives(!0),y=this.parseUnionMemberTypes();return{kind:a.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:s,types:y,loc:this.loc(e)}},i.parseUnionMemberTypes=function(){return this.expectOptionalToken(r.TokenKind.EQUALS)?this.delimitedMany(r.TokenKind.PIPE,this.parseNamedType):[]},i.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");var t=this.parseName(),s=this.parseDirectives(!0),y=this.parseEnumValuesDefinition();return{kind:a.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:s,values:y,loc:this.loc(e)}},i.parseEnumValuesDefinition=function(){return this.optionalMany(r.TokenKind.BRACE_L,this.parseEnumValueDefinition,r.TokenKind.BRACE_R)},i.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),s=this.parseDirectives(!0);return{kind:a.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:s,loc:this.loc(e)}},i.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");var t=this.parseName(),s=this.parseDirectives(!0),y=this.parseInputFieldsDefinition();return{kind:a.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:s,fields:y,loc:this.loc(e)}},i.parseInputFieldsDefinition=function(){return this.optionalMany(r.TokenKind.BRACE_L,this.parseInputValueDef,r.TokenKind.BRACE_R)},i.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===r.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},i.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.optionalMany(r.TokenKind.BRACE_L,this.parseOperationTypeDefinition,r.TokenKind.BRACE_R);if(n.length===0&&t.length===0)throw this.unexpected();return{kind:a.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},i.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var n=this.parseName(),t=this.parseDirectives(!0);if(t.length===0)throw this.unexpected();return{kind:a.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},i.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var n=this.parseName(),t=this.parseImplementsInterfaces(),s=this.parseDirectives(!0),y=this.parseFieldsDefinition();if(t.length===0&&s.length===0&&y.length===0)throw this.unexpected();return{kind:a.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:s,fields:y,loc:this.loc(e)}},i.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var n=this.parseName(),t=this.parseImplementsInterfaces(),s=this.parseDirectives(!0),y=this.parseFieldsDefinition();if(t.length===0&&s.length===0&&y.length===0)throw this.unexpected();return{kind:a.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:t,directives:s,fields:y,loc:this.loc(e)}},i.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var n=this.parseName(),t=this.parseDirectives(!0),s=this.parseUnionMemberTypes();if(t.length===0&&s.length===0)throw this.unexpected();return{kind:a.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:s,loc:this.loc(e)}},i.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var n=this.parseName(),t=this.parseDirectives(!0),s=this.parseEnumValuesDefinition();if(t.length===0&&s.length===0)throw this.unexpected();return{kind:a.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:s,loc:this.loc(e)}},i.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var n=this.parseName(),t=this.parseDirectives(!0),s=this.parseInputFieldsDefinition();if(t.length===0&&s.length===0)throw this.unexpected();return{kind:a.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:s,loc:this.loc(e)}},i.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(r.TokenKind.AT);var t=this.parseName(),s=this.parseArgumentDefs(),y=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var f=this.parseDirectiveLocations();return{kind:a.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:s,repeatable:y,locations:f,loc:this.loc(e)}},i.parseDirectiveLocations=function(){return this.delimitedMany(r.TokenKind.PIPE,this.parseDirectiveLocation)},i.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(E.DirectiveLocation[n.value]!==void 0)return n;throw this.unexpected(e)},i.loc=function(e){var n;if(((n=this._options)===null||n===void 0?void 0:n.noLocation)!==!0)return new p.Location(e,this._lexer.lastToken,this._lexer.source)},i.peek=function(e){return this._lexer.token.kind===e},i.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,T.syntaxError)(this._lexer.source,n.start,"Expected ".concat(h(e),", found ").concat(I(n),"."))},i.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},i.expectKeyword=function(e){var n=this._lexer.token;if(n.kind===r.TokenKind.NAME&&n.value===e)this._lexer.advance();else throw(0,T.syntaxError)(this._lexer.source,n.start,'Expected "'.concat(e,'", found ').concat(I(n),"."))},i.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===r.TokenKind.NAME&&n.value===e?(this._lexer.advance(),!0):!1},i.unexpected=function(e){var n=e!=null?e:this._lexer.token;return(0,T.syntaxError)(this._lexer.source,n.start,"Unexpected ".concat(I(n),"."))},i.any=function(e,n,t){this.expectToken(e);for(var s=[];!this.expectOptionalToken(t);)s.push(n.call(this));return s},i.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var s=[];do s.push(n.call(this));while(!this.expectOptionalToken(t));return s}return[]},i.many=function(e,n,t){this.expectToken(e);var s=[];do s.push(n.call(this));while(!this.expectOptionalToken(t));return s},i.delimitedMany=function(e,n){this.expectOptionalToken(e);var t=[];do t.push(n.call(this));while(this.expectOptionalToken(e));return t},N}();l.Parser=S;function I(N){var i=N.value;return h(N.kind)+(i!=null?' "'.concat(i,'"'):"")}function h(N){return(0,k.isPunctuatorTokenKind)(N)?'"'.concat(N,'"'):N}}}),ye=K({"src/language-graphql/parser-graphql.js"(l,T){L();var a=ie(),p=ae(),{hasPragma:r}=oe(),{locStart:_,locEnd:E}=se();function k(I){let h=[],{startToken:N}=I.loc,{next:i}=N;for(;i.kind!=="";)i.kind==="Comment"&&(Object.assign(i,{column:i.column-1}),h.push(i)),i=i.next;return h}function g(I){if(I&&typeof I=="object"){delete I.startToken,delete I.endToken,delete I.prev,delete I.next;for(let h in I)g(I[h])}return I}var D={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};function O(I){let{GraphQLError:h}=$();if(I instanceof h){let{message:N,locations:[i]}=I;return a(N,{start:i})}return I}function S(I){let{parse:h}=me(),{result:N,error:i}=p(()=>h(I,Object.assign({},D)),()=>h(I,Object.assign(Object.assign({},D),{},{allowLegacySDLImplementsInterfaces:!0})));if(!N)throw O(i);return N.comments=k(N),g(N),N}T.exports={parsers:{graphql:{parse:S,astFormat:"graphql",hasPragma:r,locStart:_,locEnd:E}}}}}),ke=ye();export{ke as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-html.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-html.mjs deleted file mode 100644 index 9228daf8f0..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-html.mjs +++ /dev/null @@ -1,36 +0,0 @@ -var y=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var ue=y((Gl,Wr)=>{var qe=function(e){return e&&e.Math==Math&&e};Wr.exports=qe(typeof globalThis=="object"&&globalThis)||qe(typeof window=="object"&&window)||qe(typeof self=="object"&&self)||qe(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var ae=y((Vl,Yr)=>{Yr.exports=function(e){try{return!!e()}catch{return!0}}});var De=y((Xl,Qr)=>{var vs=ae();Qr.exports=!vs(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Ie=y((Hl,Kr)=>{var _s=ae();Kr.exports=!_s(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var ce=y((zl,Jr)=>{var Ss=Ie(),Re=Function.prototype.call;Jr.exports=Ss?Re.bind(Re):function(){return Re.apply(Re,arguments)}});var uu=y(ru=>{"use strict";var Zr={}.propertyIsEnumerable,eu=Object.getOwnPropertyDescriptor,ys=eu&&!Zr.call({1:2},1);ru.f=ys?function(r){var u=eu(this,r);return!!u&&u.enumerable}:Zr});var xe=y((Yl,tu)=>{tu.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var te=y((Ql,iu)=>{var nu=Ie(),su=Function.prototype,rr=su.call,Ts=nu&&su.bind.bind(rr,rr);iu.exports=nu?Ts:function(e){return function(){return rr.apply(e,arguments)}}});var Ae=y((Kl,ou)=>{var au=te(),Bs=au({}.toString),bs=au("".slice);ou.exports=function(e){return bs(Bs(e),8,-1)}});var lu=y((Jl,Du)=>{var ws=te(),Ns=ae(),Os=Ae(),ur=Object,qs=ws("".split);Du.exports=Ns(function(){return!ur("z").propertyIsEnumerable(0)})?function(e){return Os(e)=="String"?qs(e,""):ur(e)}:ur});var Pe=y((Zl,cu)=>{cu.exports=function(e){return e==null}});var tr=y((ec,hu)=>{var Is=Pe(),Rs=TypeError;hu.exports=function(e){if(Is(e))throw Rs("Can't call method on "+e);return e}});var ke=y((rc,pu)=>{var xs=lu(),Ps=tr();pu.exports=function(e){return xs(Ps(e))}});var sr=y((uc,fu)=>{var nr=typeof document=="object"&&document.all,ks=typeof nr>"u"&&nr!==void 0;fu.exports={all:nr,IS_HTMLDDA:ks}});var ee=y((tc,Eu)=>{var du=sr(),Ls=du.all;Eu.exports=du.IS_HTMLDDA?function(e){return typeof e=="function"||e===Ls}:function(e){return typeof e=="function"}});var he=y((nc,gu)=>{var Cu=ee(),mu=sr(),$s=mu.all;gu.exports=mu.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:Cu(e)||e===$s}:function(e){return typeof e=="object"?e!==null:Cu(e)}});var ve=y((sc,Fu)=>{var ir=ue(),Ms=ee(),js=function(e){return Ms(e)?e:void 0};Fu.exports=function(e,r){return arguments.length<2?js(ir[e]):ir[e]&&ir[e][r]}});var ar=y((ic,Au)=>{var Us=te();Au.exports=Us({}.isPrototypeOf)});var _u=y((ac,vu)=>{var Gs=ve();vu.exports=Gs("navigator","userAgent")||""});var Nu=y((oc,wu)=>{var bu=ue(),or=_u(),Su=bu.process,yu=bu.Deno,Tu=Su&&Su.versions||yu&&yu.version,Bu=Tu&&Tu.v8,ne,Le;Bu&&(ne=Bu.split("."),Le=ne[0]>0&&ne[0]<4?1:+(ne[0]+ne[1]));!Le&&or&&(ne=or.match(/Edge\/(\d+)/),(!ne||ne[1]>=74)&&(ne=or.match(/Chrome\/(\d+)/),ne&&(Le=+ne[1])));wu.exports=Le});var Dr=y((Dc,qu)=>{var Ou=Nu(),Vs=ae();qu.exports=!!Object.getOwnPropertySymbols&&!Vs(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ou&&Ou<41})});var lr=y((lc,Iu)=>{var Xs=Dr();Iu.exports=Xs&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var cr=y((cc,Ru)=>{var Hs=ve(),zs=ee(),Ws=ar(),Ys=lr(),Qs=Object;Ru.exports=Ys?function(e){return typeof e=="symbol"}:function(e){var r=Hs("Symbol");return zs(r)&&Ws(r.prototype,Qs(e))}});var $e=y((hc,xu)=>{var Ks=String;xu.exports=function(e){try{return Ks(e)}catch{return"Object"}}});var _e=y((pc,Pu)=>{var Js=ee(),Zs=$e(),ei=TypeError;Pu.exports=function(e){if(Js(e))return e;throw ei(Zs(e)+" is not a function")}});var Me=y((fc,ku)=>{var ri=_e(),ui=Pe();ku.exports=function(e,r){var u=e[r];return ui(u)?void 0:ri(u)}});var $u=y((dc,Lu)=>{var hr=ce(),pr=ee(),fr=he(),ti=TypeError;Lu.exports=function(e,r){var u,n;if(r==="string"&&pr(u=e.toString)&&!fr(n=hr(u,e))||pr(u=e.valueOf)&&!fr(n=hr(u,e))||r!=="string"&&pr(u=e.toString)&&!fr(n=hr(u,e)))return n;throw ti("Can't convert object to primitive value")}});var ju=y((Ec,Mu)=>{Mu.exports=!1});var je=y((Cc,Gu)=>{var Uu=ue(),ni=Object.defineProperty;Gu.exports=function(e,r){try{ni(Uu,e,{value:r,configurable:!0,writable:!0})}catch{Uu[e]=r}return r}});var Ue=y((mc,Xu)=>{var si=ue(),ii=je(),Vu="__core-js_shared__",ai=si[Vu]||ii(Vu,{});Xu.exports=ai});var dr=y((gc,zu)=>{var oi=ju(),Hu=Ue();(zu.exports=function(e,r){return Hu[e]||(Hu[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.26.1",mode:oi?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Er=y((Fc,Wu)=>{var Di=tr(),li=Object;Wu.exports=function(e){return li(Di(e))}});var le=y((Ac,Yu)=>{var ci=te(),hi=Er(),pi=ci({}.hasOwnProperty);Yu.exports=Object.hasOwn||function(r,u){return pi(hi(r),u)}});var Cr=y((vc,Qu)=>{var fi=te(),di=0,Ei=Math.random(),Ci=fi(1 .toString);Qu.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+Ci(++di+Ei,36)}});var fe=y((_c,rt)=>{var mi=ue(),gi=dr(),Ku=le(),Fi=Cr(),Ju=Dr(),et=lr(),Ce=gi("wks"),pe=mi.Symbol,Zu=pe&&pe.for,Ai=et?pe:pe&&pe.withoutSetter||Fi;rt.exports=function(e){if(!Ku(Ce,e)||!(Ju||typeof Ce[e]=="string")){var r="Symbol."+e;Ju&&Ku(pe,e)?Ce[e]=pe[e]:et&&Zu?Ce[e]=Zu(r):Ce[e]=Ai(r)}return Ce[e]}});var st=y((Sc,nt)=>{var vi=ce(),ut=he(),tt=cr(),_i=Me(),Si=$u(),yi=fe(),Ti=TypeError,Bi=yi("toPrimitive");nt.exports=function(e,r){if(!ut(e)||tt(e))return e;var u=_i(e,Bi),n;if(u){if(r===void 0&&(r="default"),n=vi(u,e,r),!ut(n)||tt(n))return n;throw Ti("Can't convert object to primitive value")}return r===void 0&&(r="number"),Si(e,r)}});var Ge=y((yc,it)=>{var bi=st(),wi=cr();it.exports=function(e){var r=bi(e,"string");return wi(r)?r:r+""}});var Dt=y((Tc,ot)=>{var Ni=ue(),at=he(),mr=Ni.document,Oi=at(mr)&&at(mr.createElement);ot.exports=function(e){return Oi?mr.createElement(e):{}}});var gr=y((Bc,lt)=>{var qi=De(),Ii=ae(),Ri=Dt();lt.exports=!qi&&!Ii(function(){return Object.defineProperty(Ri("div"),"a",{get:function(){return 7}}).a!=7})});var Fr=y(ht=>{var xi=De(),Pi=ce(),ki=uu(),Li=xe(),$i=ke(),Mi=Ge(),ji=le(),Ui=gr(),ct=Object.getOwnPropertyDescriptor;ht.f=xi?ct:function(r,u){if(r=$i(r),u=Mi(u),Ui)try{return ct(r,u)}catch{}if(ji(r,u))return Li(!Pi(ki.f,r,u),r[u])}});var ft=y((wc,pt)=>{var Gi=De(),Vi=ae();pt.exports=Gi&&Vi(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var me=y((Nc,dt)=>{var Xi=he(),Hi=String,zi=TypeError;dt.exports=function(e){if(Xi(e))return e;throw zi(Hi(e)+" is not an object")}});var Se=y(Ct=>{var Wi=De(),Yi=gr(),Qi=ft(),Ve=me(),Et=Ge(),Ki=TypeError,Ar=Object.defineProperty,Ji=Object.getOwnPropertyDescriptor,vr="enumerable",_r="configurable",Sr="writable";Ct.f=Wi?Qi?function(r,u,n){if(Ve(r),u=Et(u),Ve(n),typeof r=="function"&&u==="prototype"&&"value"in n&&Sr in n&&!n[Sr]){var D=Ji(r,u);D&&D[Sr]&&(r[u]=n.value,n={configurable:_r in n?n[_r]:D[_r],enumerable:vr in n?n[vr]:D[vr],writable:!1})}return Ar(r,u,n)}:Ar:function(r,u,n){if(Ve(r),u=Et(u),Ve(n),Yi)try{return Ar(r,u,n)}catch{}if("get"in n||"set"in n)throw Ki("Accessors not supported");return"value"in n&&(r[u]=n.value),r}});var yr=y((qc,mt)=>{var Zi=De(),ea=Se(),ra=xe();mt.exports=Zi?function(e,r,u){return ea.f(e,r,ra(1,u))}:function(e,r,u){return e[r]=u,e}});var At=y((Ic,Ft)=>{var Tr=De(),ua=le(),gt=Function.prototype,ta=Tr&&Object.getOwnPropertyDescriptor,Br=ua(gt,"name"),na=Br&&function(){}.name==="something",sa=Br&&(!Tr||Tr&&ta(gt,"name").configurable);Ft.exports={EXISTS:Br,PROPER:na,CONFIGURABLE:sa}});var wr=y((Rc,vt)=>{var ia=te(),aa=ee(),br=Ue(),oa=ia(Function.toString);aa(br.inspectSource)||(br.inspectSource=function(e){return oa(e)});vt.exports=br.inspectSource});var yt=y((xc,St)=>{var Da=ue(),la=ee(),_t=Da.WeakMap;St.exports=la(_t)&&/native code/.test(String(_t))});var bt=y((Pc,Bt)=>{var ca=dr(),ha=Cr(),Tt=ca("keys");Bt.exports=function(e){return Tt[e]||(Tt[e]=ha(e))}});var Nr=y((kc,wt)=>{wt.exports={}});var It=y((Lc,qt)=>{var pa=yt(),Ot=ue(),fa=he(),da=yr(),Or=le(),qr=Ue(),Ea=bt(),Ca=Nr(),Nt="Object already initialized",Ir=Ot.TypeError,ma=Ot.WeakMap,Xe,ye,He,ga=function(e){return He(e)?ye(e):Xe(e,{})},Fa=function(e){return function(r){var u;if(!fa(r)||(u=ye(r)).type!==e)throw Ir("Incompatible receiver, "+e+" required");return u}};pa||qr.state?(se=qr.state||(qr.state=new ma),se.get=se.get,se.has=se.has,se.set=se.set,Xe=function(e,r){if(se.has(e))throw Ir(Nt);return r.facade=e,se.set(e,r),r},ye=function(e){return se.get(e)||{}},He=function(e){return se.has(e)}):(de=Ea("state"),Ca[de]=!0,Xe=function(e,r){if(Or(e,de))throw Ir(Nt);return r.facade=e,da(e,de,r),r},ye=function(e){return Or(e,de)?e[de]:{}},He=function(e){return Or(e,de)});var se,de;qt.exports={set:Xe,get:ye,has:He,enforce:ga,getterFor:Fa}});var Pt=y(($c,xt)=>{var Aa=ae(),va=ee(),ze=le(),Rr=De(),_a=At().CONFIGURABLE,Sa=wr(),Rt=It(),ya=Rt.enforce,Ta=Rt.get,We=Object.defineProperty,Ba=Rr&&!Aa(function(){return We(function(){},"length",{value:8}).length!==8}),ba=String(String).split("String"),wa=xt.exports=function(e,r,u){String(r).slice(0,7)==="Symbol("&&(r="["+String(r).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),u&&u.getter&&(r="get "+r),u&&u.setter&&(r="set "+r),(!ze(e,"name")||_a&&e.name!==r)&&(Rr?We(e,"name",{value:r,configurable:!0}):e.name=r),Ba&&u&&ze(u,"arity")&&e.length!==u.arity&&We(e,"length",{value:u.arity});try{u&&ze(u,"constructor")&&u.constructor?Rr&&We(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var n=ya(e);return ze(n,"source")||(n.source=ba.join(typeof r=="string"?r:"")),e};Function.prototype.toString=wa(function(){return va(this)&&Ta(this).source||Sa(this)},"toString")});var Lt=y((Mc,kt)=>{var Na=ee(),Oa=Se(),qa=Pt(),Ia=je();kt.exports=function(e,r,u,n){n||(n={});var D=n.enumerable,s=n.name!==void 0?n.name:r;if(Na(u)&&qa(u,s,n),n.global)D?e[r]=u:Ia(r,u);else{try{n.unsafe?e[r]&&(D=!0):delete e[r]}catch{}D?e[r]=u:Oa.f(e,r,{value:u,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e}});var Mt=y((jc,$t)=>{var Ra=Math.ceil,xa=Math.floor;$t.exports=Math.trunc||function(r){var u=+r;return(u>0?xa:Ra)(u)}});var xr=y((Uc,jt)=>{var Pa=Mt();jt.exports=function(e){var r=+e;return r!==r||r===0?0:Pa(r)}});var Gt=y((Gc,Ut)=>{var ka=xr(),La=Math.max,$a=Math.min;Ut.exports=function(e,r){var u=ka(e);return u<0?La(u+r,0):$a(u,r)}});var Xt=y((Vc,Vt)=>{var Ma=xr(),ja=Math.min;Vt.exports=function(e){return e>0?ja(Ma(e),9007199254740991):0}});var Te=y((Xc,Ht)=>{var Ua=Xt();Ht.exports=function(e){return Ua(e.length)}});var Yt=y((Hc,Wt)=>{var Ga=ke(),Va=Gt(),Xa=Te(),zt=function(e){return function(r,u,n){var D=Ga(r),s=Xa(D),a=Va(n,s),f;if(e&&u!=u){for(;s>a;)if(f=D[a++],f!=f)return!0}else for(;s>a;a++)if((e||a in D)&&D[a]===u)return e||a||0;return!e&&-1}};Wt.exports={includes:zt(!0),indexOf:zt(!1)}});var Jt=y((zc,Kt)=>{var Ha=te(),Pr=le(),za=ke(),Wa=Yt().indexOf,Ya=Nr(),Qt=Ha([].push);Kt.exports=function(e,r){var u=za(e),n=0,D=[],s;for(s in u)!Pr(Ya,s)&&Pr(u,s)&&Qt(D,s);for(;r.length>n;)Pr(u,s=r[n++])&&(~Wa(D,s)||Qt(D,s));return D}});var en=y((Wc,Zt)=>{Zt.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var un=y(rn=>{var Qa=Jt(),Ka=en(),Ja=Ka.concat("length","prototype");rn.f=Object.getOwnPropertyNames||function(r){return Qa(r,Ja)}});var nn=y(tn=>{tn.f=Object.getOwnPropertySymbols});var an=y((Kc,sn)=>{var Za=ve(),eo=te(),ro=un(),uo=nn(),to=me(),no=eo([].concat);sn.exports=Za("Reflect","ownKeys")||function(r){var u=ro.f(to(r)),n=uo.f;return n?no(u,n(r)):u}});var ln=y((Jc,Dn)=>{var on=le(),so=an(),io=Fr(),ao=Se();Dn.exports=function(e,r,u){for(var n=so(r),D=ao.f,s=io.f,a=0;a{var oo=ae(),Do=ee(),lo=/#|\.prototype\./,Be=function(e,r){var u=ho[co(e)];return u==fo?!0:u==po?!1:Do(r)?oo(r):!!r},co=Be.normalize=function(e){return String(e).replace(lo,".").toLowerCase()},ho=Be.data={},po=Be.NATIVE="N",fo=Be.POLYFILL="P";cn.exports=Be});var Ye=y((e2,pn)=>{var kr=ue(),Eo=Fr().f,Co=yr(),mo=Lt(),go=je(),Fo=ln(),Ao=hn();pn.exports=function(e,r){var u=e.target,n=e.global,D=e.stat,s,a,f,c,v,i;if(n?a=kr:D?a=kr[u]||go(u,{}):a=(kr[u]||{}).prototype,a)for(f in r){if(v=r[f],e.dontCallGetSet?(i=Eo(a,f),c=i&&i.value):c=a[f],s=Ao(n?f:u+(D?".":"#")+f,e.forced),!s&&c!==void 0){if(typeof v==typeof c)continue;Fo(v,c)}(e.sham||c&&c.sham)&&Co(v,"sham",!0),mo(a,f,v,e)}}});var fn=y(()=>{var vo=Ye(),Lr=ue();vo({global:!0,forced:Lr.globalThis!==Lr},{globalThis:Lr})});var $r=y((t2,dn)=>{var _o=Ae();dn.exports=Array.isArray||function(r){return _o(r)=="Array"}});var Cn=y((n2,En)=>{var So=TypeError,yo=9007199254740991;En.exports=function(e){if(e>yo)throw So("Maximum allowed index exceeded");return e}});var gn=y((s2,mn)=>{var To=Ae(),Bo=te();mn.exports=function(e){if(To(e)==="Function")return Bo(e)}});var Mr=y((i2,An)=>{var Fn=gn(),bo=_e(),wo=Ie(),No=Fn(Fn.bind);An.exports=function(e,r){return bo(e),r===void 0?e:wo?No(e,r):function(){return e.apply(r,arguments)}}});var Sn=y((a2,_n)=>{"use strict";var Oo=$r(),qo=Te(),Io=Cn(),Ro=Mr(),vn=function(e,r,u,n,D,s,a,f){for(var c=D,v=0,i=a?Ro(a,f):!1,l,p;v0&&Oo(l)?(p=qo(l),c=vn(e,r,l,p,c,s-1)-1):(Io(c+1),e[c]=l),c++),v++;return c};_n.exports=vn});var Bn=y((o2,Tn)=>{var xo=fe(),Po=xo("toStringTag"),yn={};yn[Po]="z";Tn.exports=String(yn)==="[object z]"});var jr=y((D2,bn)=>{var ko=Bn(),Lo=ee(),Qe=Ae(),$o=fe(),Mo=$o("toStringTag"),jo=Object,Uo=Qe(function(){return arguments}())=="Arguments",Go=function(e,r){try{return e[r]}catch{}};bn.exports=ko?Qe:function(e){var r,u,n;return e===void 0?"Undefined":e===null?"Null":typeof(u=Go(r=jo(e),Mo))=="string"?u:Uo?Qe(r):(n=Qe(r))=="Object"&&Lo(r.callee)?"Arguments":n}});var Rn=y((l2,In)=>{var Vo=te(),Xo=ae(),wn=ee(),Ho=jr(),zo=ve(),Wo=wr(),Nn=function(){},Yo=[],On=zo("Reflect","construct"),Ur=/^\s*(?:class|function)\b/,Qo=Vo(Ur.exec),Ko=!Ur.exec(Nn),be=function(r){if(!wn(r))return!1;try{return On(Nn,Yo,r),!0}catch{return!1}},qn=function(r){if(!wn(r))return!1;switch(Ho(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ko||!!Qo(Ur,Wo(r))}catch{return!0}};qn.sham=!0;In.exports=!On||Xo(function(){var e;return be(be.call)||!be(Object)||!be(function(){e=!0})||e})?qn:be});var Ln=y((c2,kn)=>{var xn=$r(),Jo=Rn(),Zo=he(),eD=fe(),rD=eD("species"),Pn=Array;kn.exports=function(e){var r;return xn(e)&&(r=e.constructor,Jo(r)&&(r===Pn||xn(r.prototype))?r=void 0:Zo(r)&&(r=r[rD],r===null&&(r=void 0))),r===void 0?Pn:r}});var Mn=y((h2,$n)=>{var uD=Ln();$n.exports=function(e,r){return new(uD(e))(r===0?0:r)}});var Gr=y((p2,jn)=>{jn.exports={}});var Gn=y((f2,Un)=>{var DD=fe(),lD=Gr(),cD=DD("iterator"),hD=Array.prototype;Un.exports=function(e){return e!==void 0&&(lD.Array===e||hD[cD]===e)}});var Vr=y((d2,Xn)=>{var pD=jr(),Vn=Me(),fD=Pe(),dD=Gr(),ED=fe(),CD=ED("iterator");Xn.exports=function(e){if(!fD(e))return Vn(e,CD)||Vn(e,"@@iterator")||dD[pD(e)]}});var zn=y((E2,Hn)=>{var mD=ce(),gD=_e(),FD=me(),AD=$e(),vD=Vr(),_D=TypeError;Hn.exports=function(e,r){var u=arguments.length<2?vD(e):r;if(gD(u))return FD(mD(u,e));throw _D(AD(e)+" is not iterable")}});var Qn=y((C2,Yn)=>{var SD=ce(),Wn=me(),yD=Me();Yn.exports=function(e,r,u){var n,D;Wn(e);try{if(n=yD(e,"return"),!n){if(r==="throw")throw u;return u}n=SD(n,e)}catch(s){D=!0,n=s}if(r==="throw")throw u;if(D)throw n;return Wn(n),u}});var rs=y((m2,es)=>{var TD=Mr(),BD=ce(),bD=me(),wD=$e(),ND=Gn(),OD=Te(),Kn=ar(),qD=zn(),ID=Vr(),Jn=Qn(),RD=TypeError,Ke=function(e,r){this.stopped=e,this.result=r},Zn=Ke.prototype;es.exports=function(e,r,u){var n=u&&u.that,D=!!(u&&u.AS_ENTRIES),s=!!(u&&u.IS_RECORD),a=!!(u&&u.IS_ITERATOR),f=!!(u&&u.INTERRUPTED),c=TD(r,n),v,i,l,p,m,C,g,B=function(F){return v&&Jn(v,"normal",F),new Ke(!0,F)},O=function(F){return D?(bD(F),f?c(F[0],F[1],B):c(F[0],F[1])):f?c(F,B):c(F)};if(s)v=e.iterator;else if(a)v=e;else{if(i=ID(e),!i)throw RD(wD(e)+" is not iterable");if(ND(i)){for(l=0,p=OD(e);p>l;l++)if(m=O(e[l]),m&&Kn(Zn,m))return m;return new Ke(!1)}v=qD(e,i)}for(C=s?e.next:v.next;!(g=BD(C,v)).done;){try{m=O(g.value)}catch(F){Jn(v,"throw",F)}if(typeof m=="object"&&m&&Kn(Zn,m))return m}return new Ke(!1)}});var ts=y((g2,us)=>{"use strict";var xD=Ge(),PD=Se(),kD=xe();us.exports=function(e,r,u){var n=xD(r);n in e?PD.f(e,n,kD(0,u)):e[n]=u}});fn();var tD=Ye(),nD=Sn(),sD=_e(),iD=Er(),aD=Te(),oD=Mn();tD({target:"Array",proto:!0},{flatMap:function(r){var u=iD(this),n=aD(u),D;return sD(r),D=oD(u,0),D.length=nD(D,u,u,n,0,1,r,arguments.length>1?arguments[1]:void 0),D}});var LD=Ye(),$D=rs(),MD=ts();LD({target:"Object",stat:!0},{fromEntries:function(r){var u={};return $D(r,function(n,D){MD(u,n,D)},{AS_ENTRIES:!0}),u}});var jD=["cliName","cliCategory","cliDescription"];function UD(e,r){if(e==null)return{};var u=GD(e,r),n,D;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(D=0;D=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(u[n]=e[n])}return u}function GD(e,r){if(e==null)return{};var u={},n=Object.keys(e),D,s;for(s=0;s=0)&&(u[D]=e[D]);return u}var VD=Object.create,Je=Object.defineProperty,XD=Object.getOwnPropertyDescriptor,Xr=Object.getOwnPropertyNames,HD=Object.getPrototypeOf,zD=Object.prototype.hasOwnProperty,ge=(e,r)=>function(){return e&&(r=(0,e[Xr(e)[0]])(e=0)),r},I=(e,r)=>function(){return r||(0,e[Xr(e)[0]])((r={exports:{}}).exports,r),r.exports},is=(e,r)=>{for(var u in r)Je(e,u,{get:r[u],enumerable:!0})},as=(e,r,u,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let D of Xr(r))!zD.call(e,D)&&D!==u&&Je(e,D,{get:()=>r[D],enumerable:!(n=XD(r,D))||n.enumerable});return e},WD=(e,r,u)=>(u=e!=null?VD(HD(e)):{},as(r||!e||!e.__esModule?Je(u,"default",{value:e,enumerable:!0}):u,e)),os=e=>as(Je({},"__esModule",{value:!0}),e),we,N=ge({""(){we={env:{},argv:[]}}}),Ds=I({"node_modules/angular-html-parser/lib/compiler/src/chars.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96;function r(f){return f>=e.$TAB&&f<=e.$SPACE||f==e.$NBSP}e.isWhitespace=r;function u(f){return e.$0<=f&&f<=e.$9}e.isDigit=u;function n(f){return f>=e.$a&&f<=e.$z||f>=e.$A&&f<=e.$Z}e.isAsciiLetter=n;function D(f){return f>=e.$a&&f<=e.$f||f>=e.$A&&f<=e.$F||u(f)}e.isAsciiHexDigit=D;function s(f){return f===e.$LF||f===e.$CR}e.isNewLine=s;function a(f){return e.$0<=f&&f<=e.$7}e.isOctalDigit=a}}),YD=I({"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(n,D,s){this.filePath=n,this.name=D,this.members=s}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};e.StaticSymbol=r;var u=class{constructor(){this.cache=new Map}get(n,D,s){s=s||[];let a=s.length?`.${s.join(".")}`:"",f=`"${n}".${D}${a}`,c=this.cache.get(f);return c||(c=new r(n,D,s),this.cache.set(f,c)),c}};e.StaticSymbolCache=u}}),QD=I({"node_modules/angular-html-parser/lib/compiler/src/util.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=/-+([a-z0-9])/g;function u(o){return o.replace(r,function(){for(var d=arguments.length,h=new Array(d),A=0;Aa(h,this,d))}visitStringMap(o,d){let h={};return Object.keys(o).forEach(A=>{h[A]=a(o[A],this,d)}),h}visitPrimitive(o,d){return o}visitOther(o,d){return o}};e.ValueTransformer=v,e.SyncAsync={assertSync:o=>{if(R(o))throw new Error("Illegal state: value cannot be a promise");return o},then:(o,d)=>R(o)?o.then(d):d(o),all:o=>o.some(R)?Promise.all(o):o};function i(o){throw new Error(`Internal Error: ${o}`)}e.error=i;function l(o,d){let h=Error(o);return h[p]=!0,d&&(h[m]=d),h}e.syntaxError=l;var p="ngSyntaxError",m="ngParseErrors";function C(o){return o[p]}e.isSyntaxError=C;function g(o){return o[m]||[]}e.getParseErrors=g;function B(o){return o.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}e.escapeRegExp=B;var O=Object.getPrototypeOf({});function F(o){return typeof o=="object"&&o!==null&&Object.getPrototypeOf(o)===O}function w(o){let d="";for(let h=0;h=55296&&A<=56319&&o.length>h+1){let q=o.charCodeAt(h+1);q>=56320&&q<=57343&&(h++,A=(A-55296<<10)+q-56320+65536)}A<=127?d+=String.fromCharCode(A):A<=2047?d+=String.fromCharCode(A>>6&31|192,A&63|128):A<=65535?d+=String.fromCharCode(A>>12|224,A>>6&63|128,A&63|128):A<=2097151&&(d+=String.fromCharCode(A>>18&7|240,A>>12&63|128,A>>6&63|128,A&63|128))}return d}e.utf8Encode=w;function b(o){if(typeof o=="string")return o;if(o instanceof Array)return"["+o.map(b).join(", ")+"]";if(o==null)return""+o;if(o.overriddenName)return`${o.overriddenName}`;if(o.name)return`${o.name}`;if(!o.toString)return"object";let d=o.toString();if(d==null)return""+d;let h=d.indexOf(` -`);return h===-1?d:d.substring(0,h)}e.stringify=b;function M(o){return typeof o=="function"&&o.hasOwnProperty("__forward_ref__")?o():o}e.resolveForwardRef=M;function R(o){return!!o&&typeof o.then=="function"}e.isPromise=R;var U=class{constructor(o){this.full=o;let d=o.split(".");this.major=d[0],this.minor=d[1],this.patch=d.slice(2).join(".")}};e.Version=U;var k=typeof window<"u"&&window,j=typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self,L=typeof globalThis<"u"&&globalThis,t=L||k||j;e.global=t}}),KD=I({"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=YD(),u=QD(),n=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function D(h){return h.replace(/\W/g,"_")}e.sanitizeIdentifier=D;var s=0;function a(h){if(!h||!h.reference)return null;let A=h.reference;if(A instanceof r.StaticSymbol)return A.name;if(A.__anonymousType)return A.__anonymousType;let q=u.stringify(A);return q.indexOf("(")>=0?(q=`anonymous_${s++}`,A.__anonymousType=q):q=D(q),q}e.identifierName=a;function f(h){let A=h.reference;return A instanceof r.StaticSymbol?A.filePath:`./${u.stringify(A)}`}e.identifierModuleUrl=f;function c(h,A){return`View_${a({reference:h})}_${A}`}e.viewClassName=c;function v(h){return`RenderType_${a({reference:h})}`}e.rendererTypeName=v;function i(h){return`HostView_${a({reference:h})}`}e.hostViewClassName=i;function l(h){return`${a({reference:h})}NgFactory`}e.componentFactoryName=l;var p;(function(h){h[h.Pipe=0]="Pipe",h[h.Directive=1]="Directive",h[h.NgModule=2]="NgModule",h[h.Injectable=3]="Injectable"})(p=e.CompileSummaryKind||(e.CompileSummaryKind={}));function m(h){return h.value!=null?D(h.value):a(h.identifier)}e.tokenName=m;function C(h){return h.identifier!=null?h.identifier.reference:h.value}e.tokenReference=C;var g=class{constructor(){let{moduleUrl:h,styles:A,styleUrls:q}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=h||null,this.styles=R(A),this.styleUrls=R(q)}};e.CompileStylesheetMetadata=g;var B=class{constructor(h){let{encapsulation:A,template:q,templateUrl:P,htmlAst:G,styles:X,styleUrls:Q,externalStylesheets:H,animations:W,ngContentSelectors:K,interpolation:J,isInline:S,preserveWhitespaces:E}=h;if(this.encapsulation=A,this.template=q,this.templateUrl=P,this.htmlAst=G,this.styles=R(X),this.styleUrls=R(Q),this.externalStylesheets=R(H),this.animations=W?k(W):[],this.ngContentSelectors=K||[],J&&J.length!=2)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=J,this.isInline=S,this.preserveWhitespaces=E}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};e.CompileTemplateMetadata=B;var O=class{static create(h){let{isHost:A,type:q,isComponent:P,selector:G,exportAs:X,changeDetection:Q,inputs:H,outputs:W,host:K,providers:J,viewProviders:S,queries:E,guards:_,viewQueries:T,entryComponents:x,template:$,componentViewType:V,rendererType:z,componentFactory:Y}=h,ie={},Ee={},er={};K!=null&&Object.keys(K).forEach(Z=>{let re=K[Z],oe=Z.match(n);oe===null?er[Z]=re:oe[1]!=null?Ee[oe[1]]=re:oe[2]!=null&&(ie[oe[2]]=re)});let Fe={};H!=null&&H.forEach(Z=>{let re=u.splitAtColon(Z,[Z,Z]);Fe[re[0]]=re[1]});let Oe={};return W!=null&&W.forEach(Z=>{let re=u.splitAtColon(Z,[Z,Z]);Oe[re[0]]=re[1]}),new O({isHost:A,type:q,isComponent:!!P,selector:G,exportAs:X,changeDetection:Q,inputs:Fe,outputs:Oe,hostListeners:ie,hostProperties:Ee,hostAttributes:er,providers:J,viewProviders:S,queries:E,guards:_,viewQueries:T,entryComponents:x,template:$,componentViewType:V,rendererType:z,componentFactory:Y})}constructor(h){let{isHost:A,type:q,isComponent:P,selector:G,exportAs:X,changeDetection:Q,inputs:H,outputs:W,hostListeners:K,hostProperties:J,hostAttributes:S,providers:E,viewProviders:_,queries:T,guards:x,viewQueries:$,entryComponents:V,template:z,componentViewType:Y,rendererType:ie,componentFactory:Ee}=h;this.isHost=!!A,this.type=q,this.isComponent=P,this.selector=G,this.exportAs=X,this.changeDetection=Q,this.inputs=H,this.outputs=W,this.hostListeners=K,this.hostProperties=J,this.hostAttributes=S,this.providers=R(E),this.viewProviders=R(_),this.queries=R(T),this.guards=x,this.viewQueries=R($),this.entryComponents=R(V),this.template=z,this.componentViewType=Y,this.rendererType=ie,this.componentFactory=Ee}toSummary(){return{summaryKind:p.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};e.CompileDirectiveMetadata=O;var F=class{constructor(h){let{type:A,name:q,pure:P}=h;this.type=A,this.name=q,this.pure=!!P}toSummary(){return{summaryKind:p.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompilePipeMetadata=F;var w=class{};e.CompileShallowModuleMetadata=w;var b=class{constructor(h){let{type:A,providers:q,declaredDirectives:P,exportedDirectives:G,declaredPipes:X,exportedPipes:Q,entryComponents:H,bootstrapComponents:W,importedModules:K,exportedModules:J,schemas:S,transitiveModule:E,id:_}=h;this.type=A||null,this.declaredDirectives=R(P),this.exportedDirectives=R(G),this.declaredPipes=R(X),this.exportedPipes=R(Q),this.providers=R(q),this.entryComponents=R(H),this.bootstrapComponents=R(W),this.importedModules=R(K),this.exportedModules=R(J),this.schemas=R(S),this.id=_||null,this.transitiveModule=E||null}toSummary(){let h=this.transitiveModule;return{summaryKind:p.NgModule,type:this.type,entryComponents:h.entryComponents,providers:h.providers,modules:h.modules,exportedDirectives:h.exportedDirectives,exportedPipes:h.exportedPipes}}};e.CompileNgModuleMetadata=b;var M=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(h,A){this.providers.push({provider:h,module:A})}addDirective(h){this.directivesSet.has(h.reference)||(this.directivesSet.add(h.reference),this.directives.push(h))}addExportedDirective(h){this.exportedDirectivesSet.has(h.reference)||(this.exportedDirectivesSet.add(h.reference),this.exportedDirectives.push(h))}addPipe(h){this.pipesSet.has(h.reference)||(this.pipesSet.add(h.reference),this.pipes.push(h))}addExportedPipe(h){this.exportedPipesSet.has(h.reference)||(this.exportedPipesSet.add(h.reference),this.exportedPipes.push(h))}addModule(h){this.modulesSet.has(h.reference)||(this.modulesSet.add(h.reference),this.modules.push(h))}addEntryComponent(h){this.entryComponentsSet.has(h.componentType)||(this.entryComponentsSet.add(h.componentType),this.entryComponents.push(h))}};e.TransitiveCompileNgModuleMetadata=M;function R(h){return h||[]}var U=class{constructor(h,A){let{useClass:q,useValue:P,useExisting:G,useFactory:X,deps:Q,multi:H}=A;this.token=h,this.useClass=q||null,this.useValue=P,this.useExisting=G,this.useFactory=X||null,this.dependencies=Q||null,this.multi=!!H}};e.ProviderMeta=U;function k(h){return h.reduce((A,q)=>{let P=Array.isArray(q)?k(q):q;return A.concat(P)},[])}e.flatten=k;function j(h){return h.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function L(h,A,q){let P;return q.isInline?A.type.reference instanceof r.StaticSymbol?P=`${A.type.reference.filePath}.${A.type.reference.name}.html`:P=`${a(h)}/${a(A.type)}.html`:P=q.templateUrl,A.type.reference instanceof r.StaticSymbol?P:j(P)}e.templateSourceUrl=L;function t(h,A){let q=h.moduleUrl.split(/\/\\/g),P=q[q.length-1];return j(`css/${A}${P}.ngstyle.js`)}e.sharedStylesheetJitUrl=t;function o(h){return j(`${a(h.type)}/module.ngfactory.js`)}e.ngModuleJitUrl=o;function d(h,A){return j(`${a(h)}/${a(A.type)}.ngfactory.js`)}e.templateJitUrl=d}}),Ne=I({"node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ds(),u=KD(),n=class{constructor(i,l,p,m){this.file=i,this.offset=l,this.line=p,this.col=m}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(i){let l=this.file.content,p=l.length,m=this.offset,C=this.line,g=this.col;for(;m>0&&i<0;)if(m--,i++,l.charCodeAt(m)==r.$LF){C--;let O=l.substr(0,m-1).lastIndexOf(String.fromCharCode(r.$LF));g=O>0?m-O:m}else g--;for(;m0;){let B=l.charCodeAt(m);m++,i--,B==r.$LF?(C++,g=0):g++}return new n(this.file,m,C,g)}getContext(i,l){let p=this.file.content,m=this.offset;if(m!=null){m>p.length-1&&(m=p.length-1);let C=m,g=0,B=0;for(;g0&&(m--,g++,!(p[m]==` -`&&++B==l)););for(g=0,B=0;g2&&arguments[2]!==void 0?arguments[2]:null;this.start=i,this.end=l,this.details=p}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};e.ParseSourceSpan=s,e.EMPTY_PARSE_LOCATION=new n(new D("",""),0,0,0),e.EMPTY_SOURCE_SPAN=new s(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION);var a;(function(i){i[i.WARNING=0]="WARNING",i[i.ERROR=1]="ERROR"})(a=e.ParseErrorLevel||(e.ParseErrorLevel={}));var f=class{constructor(i,l){let p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:a.ERROR;this.span=i,this.msg=l,this.level=p}contextualMessage(){let i=this.span.start.getContext(100,3);return i?`${this.msg} ("${i.before}[${a[this.level]} ->]${i.after}")`:this.msg}toString(){let i=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${i}`}};e.ParseError=f;function c(i,l){let p=u.identifierModuleUrl(l),m=p!=null?`in ${i} ${u.identifierName(l)} in ${p}`:`in ${i} ${u.identifierName(l)}`,C=new D("",m);return new s(new n(C,-1,-1,-1),new n(C,-1,-1,-1))}e.typeSourceSpan=c;function v(i,l,p){let m=`in ${i} ${l} in ${p}`,C=new D("",m);return new s(new n(C,-1,-1,-1),new n(C,-1,-1,-1))}e.r3JitTypeSourceSpan=v}}),JD=I({"src/utils/front-matter/parse.js"(e,r){"use strict";N();var u=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function n(D){let s=D.match(u);if(!s)return{content:D};let{startDelimiter:a,language:f,value:c="",endDelimiter:v}=s.groups,i=f.trim()||"yaml";if(a==="+++"&&(i="toml"),i!=="yaml"&&a!==v)return{content:D};let[l]=s;return{frontMatter:{type:"front-matter",lang:i,value:c,startDelimiter:a,endDelimiter:v,raw:l.replace(/\n$/,"")},content:l.replace(/[^\n]/g," ")+D.slice(l.length)}}r.exports=n}}),ls=I({"src/utils/get-last.js"(e,r){"use strict";N();var u=n=>n[n.length-1];r.exports=u}}),ZD=I({"src/common/parser-create-error.js"(e,r){"use strict";N();function u(n,D){let s=new SyntaxError(n+" ("+D.start.line+":"+D.start.column+")");return s.loc=D,s}r.exports=u}}),cs={};is(cs,{default:()=>el});function el(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var rl=ge({"node_modules/escape-string-regexp/index.js"(){N()}}),hs=I({"node_modules/semver/internal/debug.js"(e,r){N();var u=typeof we=="object"&&we.env&&we.env.NODE_DEBUG&&/\bsemver\b/i.test(we.env.NODE_DEBUG)?function(){for(var n=arguments.length,D=new Array(n),s=0;s{};r.exports=u}}),ps=I({"node_modules/semver/internal/constants.js"(e,r){N();var u="2.0.0",n=256,D=Number.MAX_SAFE_INTEGER||9007199254740991,s=16;r.exports={SEMVER_SPEC_VERSION:u,MAX_LENGTH:n,MAX_SAFE_INTEGER:D,MAX_SAFE_COMPONENT_LENGTH:s}}}),ul=I({"node_modules/semver/internal/re.js"(e,r){N();var{MAX_SAFE_COMPONENT_LENGTH:u}=ps(),n=hs();e=r.exports={};var D=e.re=[],s=e.src=[],a=e.t={},f=0,c=(v,i,l)=>{let p=f++;n(v,p,i),a[v]=p,s[p]=i,D[p]=new RegExp(i,l?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${s[a.NUMERICIDENTIFIER]}|${s[a.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${s[a.NUMERICIDENTIFIERLOOSE]}|${s[a.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${s[a.PRERELEASEIDENTIFIER]}(?:\\.${s[a.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${s[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[a.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${s[a.BUILDIDENTIFIER]}(?:\\.${s[a.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${s[a.MAINVERSION]}${s[a.PRERELEASE]}?${s[a.BUILD]}?`),c("FULL",`^${s[a.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${s[a.MAINVERSIONLOOSE]}${s[a.PRERELEASELOOSE]}?${s[a.BUILD]}?`),c("LOOSE",`^${s[a.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${s[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${s[a.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:${s[a.PRERELEASE]})?${s[a.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:${s[a.PRERELEASELOOSE]})?${s[a.BUILD]}?)?)?`),c("XRANGE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${u}})(?:\\.(\\d{1,${u}}))?(?:\\.(\\d{1,${u}}))?(?:$|[^\\d])`),c("COERCERTL",s[a.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${s[a.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",c("TILDE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${s[a.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",c("CARET",`^${s[a.LONECARET]}${s[a.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${s[a.LONECARET]}${s[a.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${s[a.GTLT]}\\s*(${s[a.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]}|${s[a.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${s[a.XRANGEPLAIN]})\\s+-\\s+(${s[a.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${s[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[a.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),tl=I({"node_modules/semver/internal/parse-options.js"(e,r){N();var u=["includePrerelease","loose","rtl"],n=D=>D?typeof D!="object"?{loose:!0}:u.filter(s=>D[s]).reduce((s,a)=>(s[a]=!0,s),{}):{};r.exports=n}}),nl=I({"node_modules/semver/internal/identifiers.js"(e,r){N();var u=/^[0-9]+$/,n=(s,a)=>{let f=u.test(s),c=u.test(a);return f&&c&&(s=+s,a=+a),s===a?0:f&&!c?-1:c&&!f?1:sn(a,s);r.exports={compareIdentifiers:n,rcompareIdentifiers:D}}}),sl=I({"node_modules/semver/classes/semver.js"(e,r){N();var u=hs(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:D}=ps(),{re:s,t:a}=ul(),f=tl(),{compareIdentifiers:c}=nl(),v=class{constructor(i,l){if(l=f(l),i instanceof v){if(i.loose===!!l.loose&&i.includePrerelease===!!l.includePrerelease)return i;i=i.version}else if(typeof i!="string")throw new TypeError(`Invalid Version: ${i}`);if(i.length>n)throw new TypeError(`version is longer than ${n} characters`);u("SemVer",i,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let p=i.trim().match(l.loose?s[a.LOOSE]:s[a.FULL]);if(!p)throw new TypeError(`Invalid Version: ${i}`);if(this.raw=i,this.major=+p[1],this.minor=+p[2],this.patch=+p[3],this.major>D||this.major<0)throw new TypeError("Invalid major version");if(this.minor>D||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>D||this.patch<0)throw new TypeError("Invalid patch version");p[4]?this.prerelease=p[4].split(".").map(m=>{if(/^[0-9]+$/.test(m)){let C=+m;if(C>=0&&C=0;)typeof this.prerelease[p]=="number"&&(this.prerelease[p]++,p=-2);p===-1&&this.prerelease.push(0)}l&&(c(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=[l,0]):this.prerelease=[l,0]);break;default:throw new Error(`invalid increment argument: ${i}`)}return this.format(),this.raw=this.version,this}};r.exports=v}}),Hr=I({"node_modules/semver/functions/compare.js"(e,r){N();var u=sl(),n=(D,s,a)=>new u(D,a).compare(new u(s,a));r.exports=n}}),il=I({"node_modules/semver/functions/lt.js"(e,r){N();var u=Hr(),n=(D,s,a)=>u(D,s,a)<0;r.exports=n}}),al=I({"node_modules/semver/functions/gte.js"(e,r){N();var u=Hr(),n=(D,s,a)=>u(D,s,a)>=0;r.exports=n}}),ol=I({"src/utils/arrayify.js"(e,r){"use strict";N(),r.exports=(u,n)=>Object.entries(u).map(D=>{let[s,a]=D;return Object.assign({[n]:s},a)})}}),Dl=I({"package.json"(e,r){r.exports={version:"2.8.8"}}}),ll=I({"node_modules/outdent/lib/index.js"(e,r){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function u(){for(var F=[],w=0;wtypeof l=="string"||typeof l=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:c,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin",cliCategory:n},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:c,description:u` - Custom directory that contains prettier plugins in node_modules subdirectory. - Overrides default behavior when plugins are searched relatively to the location of Prettier. - Multiple values are accepted. - `,exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin-search-dir",cliCategory:n},printWidth:{since:"0.0.0",category:c,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:v,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` - Format code ending at a given character offset (exclusive). - The range will extend forwards to the end of the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:D},rangeStart:{since:"1.4.0",category:v,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` - Format code starting at a given character offset. - The range will extend backwards to the start of the first line containing the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:D},requirePragma:{since:"1.7.0",category:v,type:"boolean",default:!1,description:u` - Require either '@prettier' or '@format' to be present in the file's first docblock comment - in order for it to be formatted. - `,cliCategory:a},tabWidth:{type:"int",category:c,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:c,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:c,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};r.exports={CATEGORY_CONFIG:n,CATEGORY_EDITOR:D,CATEGORY_FORMAT:s,CATEGORY_OTHER:a,CATEGORY_OUTPUT:f,CATEGORY_GLOBAL:c,CATEGORY_SPECIAL:v,options:i}}}),hl=I({"src/main/support.js"(e,r){"use strict";N();var u={compare:Hr(),lt:il(),gte:al()},n=ol(),D=Dl().version,s=cl().options;function a(){let{plugins:c=[],showUnreleased:v=!1,showDeprecated:i=!1,showInternal:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=D.split("-",1)[0],m=c.flatMap(F=>F.languages||[]).filter(g),C=n(Object.assign({},...c.map(F=>{let{options:w}=F;return w}),s),"name").filter(F=>g(F)&&B(F)).sort((F,w)=>F.name===w.name?0:F.name{F=Object.assign({},F),Array.isArray(F.default)&&(F.default=F.default.length===1?F.default[0].value:F.default.filter(g).sort((b,M)=>u.compare(M.since,b.since))[0].value),Array.isArray(F.choices)&&(F.choices=F.choices.filter(b=>g(b)&&B(b)),F.name==="parser"&&f(F,m,c));let w=Object.fromEntries(c.filter(b=>b.defaultOptions&&b.defaultOptions[F.name]!==void 0).map(b=>[b.name,b.defaultOptions[F.name]]));return Object.assign(Object.assign({},F),{},{pluginDefaults:w})});return{languages:m,options:C};function g(F){return v||!("since"in F)||F.since&&u.gte(p,F.since)}function B(F){return i||!("deprecated"in F)||F.deprecated&&u.lt(p,F.deprecated)}function O(F){if(l)return F;let{cliName:w,cliCategory:b,cliDescription:M}=F;return UD(F,jD)}}function f(c,v,i){let l=new Set(c.choices.map(p=>p.value));for(let p of v)if(p.parsers){for(let m of p.parsers)if(!l.has(m)){l.add(m);let C=i.find(B=>B.parsers&&B.parsers[m]),g=p.name;C&&C.name&&(g+=` (plugin: ${C.name})`),c.choices.push({value:m,description:g})}}}r.exports={getSupportInfo:a}}}),pl=I({"src/utils/is-non-empty-array.js"(e,r){"use strict";N();function u(n){return Array.isArray(n)&&n.length>0}r.exports=u}});function fl(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var dl=ge({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){N()}});function El(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(fl(),"")}var Cl=ge({"node_modules/strip-ansi/index.js"(){N(),dl()}});function ml(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var gl=ge({"node_modules/is-fullwidth-code-point/index.js"(){N()}}),Fl=I({"node_modules/emoji-regex/index.js"(e,r){"use strict";N(),r.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),fs={};is(fs,{default:()=>Al});function Al(e){if(typeof e!="string"||e.length===0||(e=El(e),e.length===0))return 0;e=e.replace((0,ds.default)()," ");let r=0;for(let u=0;u=127&&n<=159||n>=768&&n<=879||(n>65535&&u++,r+=ml(n)?2:1)}return r}var ds,vl=ge({"node_modules/string-width/index.js"(){N(),Cl(),gl(),ds=WD(Fl())}}),_l=I({"src/utils/get-string-width.js"(e,r){"use strict";N();var u=(vl(),os(fs)).default,n=/[^\x20-\x7F]/;function D(s){return s?n.test(s)?u(s):s.length:0}r.exports=D}}),zr=I({"src/utils/text/skip.js"(e,r){"use strict";N();function u(f){return(c,v,i)=>{let l=i&&i.backwards;if(v===!1)return!1;let{length:p}=c,m=v;for(;m>=0&&mS[S.length-2];function B(S){return(E,_,T)=>{let x=T&&T.backwards;if(_===!1)return!1;let{length:$}=E,V=_;for(;V>=0&&V<$;){let z=E.charAt(V);if(S instanceof RegExp){if(!S.test(z))return V}else if(!S.includes(z))return V;x?V--:V++}return V===-1||V===$?V:!1}}function O(S,E){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},T=c(S,_.backwards?E-1:E,_),x=m(S,T,_);return T!==x}function F(S,E,_){for(let T=E;T<_;++T)if(S.charAt(T)===` -`)return!0;return!1}function w(S,E,_){let T=_(E)-1;T=c(S,T,{backwards:!0}),T=m(S,T,{backwards:!0}),T=c(S,T,{backwards:!0});let x=m(S,T,{backwards:!0});return T!==x}function b(S,E){let _=null,T=E;for(;T!==_;)_=T,T=v(S,T),T=l(S,T),T=c(S,T);return T=p(S,T),T=m(S,T),T!==!1&&O(S,T)}function M(S,E,_){return b(S,_(E))}function R(S,E,_){return C(S,_(E))}function U(S,E,_){return S.charAt(R(S,E,_))}function k(S,E){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return c(S,_.backwards?E-1:E,_)!==E}function j(S,E){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,T=0;for(let x=_;xY?$:x}return V}function o(S,E){let _=S.slice(1,-1),T=E.parser==="json"||E.parser==="json5"&&E.quoteProps==="preserve"&&!E.singleQuote?'"':E.__isInHtmlAttribute?"'":t(_,E.singleQuote?"'":'"').quote;return d(_,T,!(E.parser==="css"||E.parser==="less"||E.parser==="scss"||E.__embeddedInHtml))}function d(S,E,_){let T=E==='"'?"'":'"',x=/\\(.)|(["'])/gs,$=S.replace(x,(V,z,Y)=>z===T?z:Y===E?"\\"+Y:Y||(_&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(z)?z:"\\"+z));return E+$+E}function h(S){return S.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(S,E){let _=S.match(new RegExp(`(${u(E)})+`,"g"));return _===null?0:_.reduce((T,x)=>Math.max(T,x.length/E.length),0)}function q(S,E){let _=S.match(new RegExp(`(${u(E)})+`,"g"));if(_===null)return 0;let T=new Map,x=0;for(let $ of _){let V=$.length/E.length;T.set(V,!0),V>x&&(x=V)}for(let $=1;${let{name:$}=x;return $.toLowerCase()===S})||_.find(x=>{let{aliases:$}=x;return Array.isArray($)&&$.includes(S)})||_.find(x=>{let{extensions:$}=x;return Array.isArray($)&&$.includes(`.${S}`)});return T&&T.parsers[0]}function W(S){return S&&S.type==="front-matter"}function K(S){let E=new WeakMap;return function(_){return E.has(_)||E.set(_,Symbol(S)),E.get(_)}}function J(S){let E=S.type||S.kind||"(unknown type)",_=String(S.name||S.id&&(typeof S.id=="object"?S.id.name:S.id)||S.key&&(typeof S.key=="object"?S.key.name:S.key)||S.value&&(typeof S.value=="object"?"":String(S.value))||S.operator||"");return _.length>20&&(_=_.slice(0,19)+"\u2026"),E+(_?" "+_:"")}r.exports={inferParserByLanguage:H,getStringWidth:a,getMaxContinuousCount:A,getMinNotPresentContinuousCount:q,getPenultimate:g,getLast:n,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:C,getNextNonSpaceNonCommentCharacterIndex:R,getNextNonSpaceNonCommentCharacter:U,skip:B,skipWhitespace:f,skipSpaces:c,skipToLineEnd:v,skipEverythingButNewLine:i,skipInlineComment:l,skipTrailingComment:p,skipNewline:m,isNextLineEmptyAfterIndex:b,isNextLineEmpty:M,isPreviousLineEmpty:w,hasNewline:O,hasNewlineInRange:F,hasSpaces:k,getAlignmentSize:j,getIndentSize:L,getPreferredQuote:t,printString:o,printNumber:h,makeString:d,addLeadingComment:G,addDanglingComment:X,addTrailingComment:Q,isFrontMatterNode:W,isNonEmptyArray:s,createGroupIdMapper:K}}}),Tl=I({"vendors/html-tag-names.json"(e,r){r.exports={htmlTagNames:["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"]}}}),gs=I({"src/language-html/utils/array-to-map.js"(e,r){"use strict";N();function u(n){let D=Object.create(null);for(let s of n)D[s]=!0;return D}r.exports=u}}),Bl=I({"src/language-html/utils/html-tag-names.js"(e,r){"use strict";N();var{htmlTagNames:u}=Tl(),n=gs(),D=n(u);r.exports=D}}),bl=I({"vendors/html-element-attributes.json"(e,r){r.exports={htmlElementAttributes:{"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","target","type"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","align","alt","autocomplete","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["for","form"],legend:["align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","referrerpolicy","rel","rev","sizes","target","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","media","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","referrerpolicy","src","type"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["height","media","sizes","src","srcset","type","width"],style:["media","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]}}}}),wl=I({"src/language-html/utils/map-object.js"(e,r){"use strict";N();function u(n,D){let s=Object.create(null);for(let[a,f]of Object.entries(n))s[a]=D(f,a);return s}r.exports=u}}),Nl=I({"src/language-html/utils/html-elements-attributes.js"(e,r){"use strict";N();var{htmlElementAttributes:u}=bl(),n=wl(),D=gs(),s=n(u,D);r.exports=s}}),Ol=I({"src/language-html/utils/is-unknown-namespace.js"(e,r){"use strict";N();function u(n){return n.type==="element"&&!n.hasExplicitNamespace&&!["html","svg"].includes(n.namespace)}r.exports=u}}),ql=I({"src/language-html/pragma.js"(e,r){"use strict";N();function u(D){return/^\s*/.test(D)}function n(D){return` - -`+D.replace(/^\s*\n/,"")}r.exports={hasPragma:u,insertPragma:n}}}),Il=I({"src/language-html/ast.js"(e,r){"use strict";N();var u={attrs:!0,children:!0},n=new Set(["parent"]),D=class{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(let f of new Set([...n,...Object.keys(a)]))this.setProperty(f,a[f])}setProperty(a,f){if(this[a]!==f){if(a in u&&(f=f.map(c=>this.createChild(c))),!n.has(a)){this[a]=f;return}Object.defineProperty(this,a,{value:f,enumerable:!1,configurable:!0})}}map(a){let f;for(let c in u){let v=this[c];if(v){let i=s(v,l=>l.map(a));f!==v&&(f||(f=new D({parent:this.parent})),f.setProperty(c,i))}}if(f)for(let c in this)c in u||(f[c]=this[c]);return a(f||this)}walk(a){for(let f in u){let c=this[f];if(c)for(let v=0;v[a.fullName,a.value]))}};function s(a,f){let c=a.map(f);return c.some((v,i)=>v!==a[i])?c:a}r.exports={Node:D}}}),Rl=I({"src/language-html/conditional-comment.js"(e,r){"use strict";N();var{ParseSourceSpan:u}=Ne(),n=[{regex:/^(\[if([^\]]*)]>)(.*?){try{return[!0,v(m,g).children]}catch{return[!1,[{type:"text",value:m,sourceSpan:new u(g,B)}]]}})();return{type:"ieConditionalComment",complete:O,children:F,condition:p.trim().replace(/\s+/g," "),sourceSpan:c.sourceSpan,startSourceSpan:new u(c.sourceSpan.start,g),endSourceSpan:new u(B,c.sourceSpan.end)}}function a(c,v,i){let[,l]=i;return{type:"ieConditionalStartComment",condition:l.trim().replace(/\s+/g," "),sourceSpan:c.sourceSpan}}function f(c){return{type:"ieConditionalEndComment",sourceSpan:c.sourceSpan}}r.exports={parseIeConditionalComment:D}}}),xl=I({"src/language-html/loc.js"(e,r){"use strict";N();function u(D){return D.sourceSpan.start.offset}function n(D){return D.sourceSpan.end.offset}r.exports={locStart:u,locEnd:n}}}),Ze=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/tags.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r;(function(c){c[c.RAW_TEXT=0]="RAW_TEXT",c[c.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",c[c.PARSABLE_DATA=2]="PARSABLE_DATA"})(r=e.TagContentType||(e.TagContentType={}));function u(c){if(c[0]!=":")return[null,c];let v=c.indexOf(":",1);if(v==-1)throw new Error(`Unsupported format "${c}" expecting ":namespace:name"`);return[c.slice(1,v),c.slice(v+1)]}e.splitNsName=u;function n(c){return u(c)[1]==="ng-container"}e.isNgContainer=n;function D(c){return u(c)[1]==="ng-content"}e.isNgContent=D;function s(c){return u(c)[1]==="ng-template"}e.isNgTemplate=s;function a(c){return c===null?null:u(c)[0]}e.getNsPrefix=a;function f(c,v){return c?`:${c}:${v}`:v}e.mergeNsAndName=f,e.NAMED_ENTITIES={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",AMP:"&",amp:"&",And:"\u2A53",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",ap:"\u2248",apacir:"\u2A6F",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",Barwed:"\u2306",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",Because:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxDL:"\u2557",boxDl:"\u2556",boxdL:"\u2555",boxdl:"\u2510",boxDR:"\u2554",boxDr:"\u2553",boxdR:"\u2552",boxdr:"\u250C",boxH:"\u2550",boxh:"\u2500",boxHD:"\u2566",boxHd:"\u2564",boxhD:"\u2565",boxhd:"\u252C",boxHU:"\u2569",boxHu:"\u2567",boxhU:"\u2568",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxUL:"\u255D",boxUl:"\u255C",boxuL:"\u255B",boxul:"\u2518",boxUR:"\u255A",boxUr:"\u2559",boxuR:"\u2558",boxur:"\u2514",boxV:"\u2551",boxv:"\u2502",boxVH:"\u256C",boxVh:"\u256B",boxvH:"\u256A",boxvh:"\u253C",boxVL:"\u2563",boxVl:"\u2562",boxvL:"\u2561",boxvl:"\u2524",boxVR:"\u2560",boxVr:"\u255F",boxvR:"\u255E",boxvr:"\u251C",bprime:"\u2035",Breve:"\u02D8",breve:"\u02D8",brvbar:"\xA6",Bscr:"\u212C",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",Cap:"\u22D2",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",CenterDot:"\xB7",centerdot:"\xB7",Cfr:"\u212D",cfr:"\u{1D520}",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",Colon:"\u2237",colon:":",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",Conint:"\u222F",conint:"\u222E",ContourIntegral:"\u222E",Copf:"\u2102",copf:"\u{1D554}",coprod:"\u2210",Coproduct:"\u2210",COPY:"\xA9",copy:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",Cross:"\u2A2F",cross:"\u2717",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",Cup:"\u22D3",cup:"\u222A",cupbrcap:"\u2A48",CupCap:"\u224D",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",Dagger:"\u2021",dagger:"\u2020",daleth:"\u2138",Darr:"\u21A1",dArr:"\u21D3",darr:"\u2193",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",DD:"\u2145",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",Diamond:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",Downarrow:"\u21D3",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",ecir:"\u2256",Ecirc:"\xCA",ecirc:"\xEA",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",eDot:"\u2251",edot:"\u0117",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",Escr:"\u2130",escr:"\u212F",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",ExponentialE:"\u2147",exponentiale:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",ForAll:"\u2200",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",Fscr:"\u2131",fscr:"\u{1D4BB}",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",gE:"\u2267",ge:"\u2265",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",Gg:"\u22D9",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gnE:"\u2269",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",GT:">",Gt:"\u226B",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",hArr:"\u21D4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",Hfr:"\u210C",hfr:"\u{1D525}",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",Hopf:"\u210D",hopf:"\u{1D559}",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210B",hscr:"\u{1D4BD}",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",Ifr:"\u2111",ifr:"\u{1D526}",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",Int:"\u222C",int:"\u222B",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",Iscr:"\u2110",iscr:"\u{1D4BE}",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",Lang:"\u27EA",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",Larr:"\u219E",lArr:"\u21D0",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",lAtail:"\u291B",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lBarr:"\u290E",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",Leftarrow:"\u21D0",leftarrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22D8",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lnE:"\u2268",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftarrow:"\u27F5",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\u{1D4C1}",Lsh:"\u21B0",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",LT:"<",Lt:"\u226A",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",Mscr:"\u2133",mscr:"\u{1D4C2}",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21D7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlArr:"\u21CD",nlarr:"\u219A",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21CD",nleftarrow:"\u219A",nLeftrightarrow:"\u21CE",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",nopf:"\u{1D55F}",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nRightarrow:"\u21CF",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nVDash:"\u22AF",nVdash:"\u22AE",nvDash:"\u22AD",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwArr:"\u21D6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",Ocirc:"\xD4",ocirc:"\xF4",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",Or:"\u2A54",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",Otimes:"\u2A37",otimes:"\u2297",otimesas:"\u2A36",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",Popf:"\u2119",popf:"\u{1D561}",pound:"\xA3",Pr:"\u2ABB",pr:"\u227A",prap:"\u2AB7",prcue:"\u227C",prE:"\u2AB3",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",Qopf:"\u211A",qopf:"\u{1D562}",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",QUOT:'"',quot:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",Rang:"\u27EB",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",Rarr:"\u21A0",rArr:"\u21D2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",rAtail:"\u291C",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",RBarr:"\u2910",rBarr:"\u290F",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",REG:"\xAE",reg:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",Rfr:"\u211C",rfr:"\u{1D52F}",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",Rightarrow:"\u21D2",rightarrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",Ropf:"\u211D",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",Rscr:"\u211B",rscr:"\u{1D4C7}",Rsh:"\u21B1",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",Sc:"\u2ABC",sc:"\u227B",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227D",scE:"\u2AB4",sce:"\u2AB0",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",seArr:"\u21D8",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",Square:"\u25A1",square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",Sub:"\u22D0",sub:"\u2282",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",Subset:"\u22D0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",Sum:"\u2211",sum:"\u2211",sung:"\u266A",Sup:"\u22D1",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",Supset:"\u22D1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swArr:"\u21D9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",Tilde:"\u223C",tilde:"\u02DC",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",Uarr:"\u219F",uArr:"\u21D1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrow:"\u2191",Uparrow:"\u21D1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",Updownarrow:"\u21D5",updownarrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",upsi:"\u03C5",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",vArr:"\u21D5",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",Vbar:"\u2AEB",vBar:"\u2AE8",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22AB",Vdash:"\u22A9",vDash:"\u22A8",vdash:"\u22A2",Vdashl:"\u2AE6",Vee:"\u22C1",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",Wedge:"\u22C0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",Xi:"\u039E",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",Yuml:"\u0178",yuml:"\xFF",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",Zfr:"\u2128",zfr:"\u{1D537}",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",Zopf:"\u2124",zopf:"\u{1D56B}",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},e.NGSP_UNICODE="\uE500",e.NAMED_ENTITIES.ngsp=e.NGSP_UNICODE}}),Fs=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_tags.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ze(),u=class{constructor(){let{closedByChildren:a,implicitNamespacePrefix:f,contentType:c=r.TagContentType.PARSABLE_DATA,closedByParent:v=!1,isVoid:i=!1,ignoreFirstLf:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,a&&a.length>0&&a.forEach(p=>this.closedByChildren[p]=!0),this.isVoid=i,this.closedByParent=v||i,this.implicitNamespacePrefix=f||null,this.contentType=c,this.ignoreFirstLf=l}isClosedByChild(a){return this.isVoid||a.toLowerCase()in this.closedByChildren}};e.HtmlTagDefinition=u;var n,D;function s(a){return D||(n=new u,D={base:new u({isVoid:!0}),meta:new u({isVoid:!0}),area:new u({isVoid:!0}),embed:new u({isVoid:!0}),link:new u({isVoid:!0}),img:new u({isVoid:!0}),input:new u({isVoid:!0}),param:new u({isVoid:!0}),hr:new u({isVoid:!0}),br:new u({isVoid:!0}),source:new u({isVoid:!0}),track:new u({isVoid:!0}),wbr:new u({isVoid:!0}),p:new u({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new u({closedByChildren:["tbody","tfoot"]}),tbody:new u({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new u({closedByChildren:["tbody"],closedByParent:!0}),tr:new u({closedByChildren:["tr"],closedByParent:!0}),td:new u({closedByChildren:["td","th"],closedByParent:!0}),th:new u({closedByChildren:["td","th"],closedByParent:!0}),col:new u({isVoid:!0}),svg:new u({implicitNamespacePrefix:"svg"}),math:new u({implicitNamespacePrefix:"math"}),li:new u({closedByChildren:["li"],closedByParent:!0}),dt:new u({closedByChildren:["dt","dd"]}),dd:new u({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new u({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new u({closedByChildren:["optgroup"],closedByParent:!0}),option:new u({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new u({ignoreFirstLf:!0}),listing:new u({ignoreFirstLf:!0}),style:new u({contentType:r.TagContentType.RAW_TEXT}),script:new u({contentType:r.TagContentType.RAW_TEXT}),title:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),D[a]||n}e.getHtmlTagDefinition=s}}),Pl=I({"node_modules/angular-html-parser/lib/compiler/src/ast_path.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(u){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1;this.path=u,this.position=n}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(u){return u&&this.path[this.path.indexOf(u)-1]}childOf(u){return this.path[this.path.indexOf(u)+1]}first(u){for(let n=this.path.length-1;n>=0;n--){let D=this.path[n];if(D instanceof u)return D}}push(u){this.path.push(u)}pop(){return this.path.pop()}};e.AstPath=r}}),As=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/ast.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=Pl(),u=class{constructor(C,g,B){this.value=C,this.sourceSpan=g,this.i18n=B,this.type="text"}visit(C,g){return C.visitText(this,g)}};e.Text=u;var n=class{constructor(C,g){this.value=C,this.sourceSpan=g,this.type="cdata"}visit(C,g){return C.visitCdata(this,g)}};e.CDATA=n;var D=class{constructor(C,g,B,O,F,w){this.switchValue=C,this.type=g,this.cases=B,this.sourceSpan=O,this.switchValueSourceSpan=F,this.i18n=w}visit(C,g){return C.visitExpansion(this,g)}};e.Expansion=D;var s=class{constructor(C,g,B,O,F){this.value=C,this.expression=g,this.sourceSpan=B,this.valueSourceSpan=O,this.expSourceSpan=F}visit(C,g){return C.visitExpansionCase(this,g)}};e.ExpansionCase=s;var a=class{constructor(C,g,B){let O=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,F=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,w=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null;this.name=C,this.value=g,this.sourceSpan=B,this.valueSpan=O,this.nameSpan=F,this.i18n=w,this.type="attribute"}visit(C,g){return C.visitAttribute(this,g)}};e.Attribute=a;var f=class{constructor(C,g,B,O){let F=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,w=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,b=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,M=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null;this.name=C,this.attrs=g,this.children=B,this.sourceSpan=O,this.startSourceSpan=F,this.endSourceSpan=w,this.nameSpan=b,this.i18n=M,this.type="element"}visit(C,g){return C.visitElement(this,g)}};e.Element=f;var c=class{constructor(C,g){this.value=C,this.sourceSpan=g,this.type="comment"}visit(C,g){return C.visitComment(this,g)}};e.Comment=c;var v=class{constructor(C,g){this.value=C,this.sourceSpan=g,this.type="docType"}visit(C,g){return C.visitDocType(this,g)}};e.DocType=v;function i(C,g){let B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,O=[],F=C.visit?w=>C.visit(w,B)||w.visit(C,B):w=>w.visit(C,B);return g.forEach(w=>{let b=F(w);b&&O.push(b)}),O}e.visitAll=i;var l=class{constructor(){}visitElement(C,g){this.visitChildren(g,B=>{B(C.attrs),B(C.children)})}visitAttribute(C,g){}visitText(C,g){}visitCdata(C,g){}visitComment(C,g){}visitDocType(C,g){}visitExpansion(C,g){return this.visitChildren(g,B=>{B(C.cases)})}visitExpansionCase(C,g){}visitChildren(C,g){let B=[],O=this;function F(w){w&&B.push(i(O,w,C))}return g(F),Array.prototype.concat.apply([],B)}};e.RecursiveVisitor=l;function p(C){let g=C.sourceSpan.start.offset,B=C.sourceSpan.end.offset;return C instanceof f&&(C.endSourceSpan?B=C.endSourceSpan.end.offset:C.children&&C.children.length&&(B=p(C.children[C.children.length-1]).end)),{start:g,end:B}}function m(C,g){let B=[],O=new class extends l{visit(F,w){let b=p(F);if(b.start<=g&&g]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function n(D,s){if(s!=null&&!(Array.isArray(s)&&s.length==2))throw new Error(`Expected '${D}' to be an array, [start, end].`);if(s!=null){let a=s[0],f=s[1];u.forEach(c=>{if(c.test(a)||c.test(f))throw new Error(`['${a}', '${f}'] contains unusable interpolation symbol.`)})}}e.assertInterpolationSymbols=n}}),Ll=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/interpolation_config.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=kl(),u=class{constructor(n,D){this.start=n,this.end=D}static fromArray(n){return n?(r.assertInterpolationSymbols("interpolation",n),new u(n[0],n[1])):e.DEFAULT_INTERPOLATION_CONFIG}};e.InterpolationConfig=u,e.DEFAULT_INTERPOLATION_CONFIG=new u("{{","}}")}}),$l=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/lexer.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ds(),u=Ne(),n=Ll(),D=Ze(),s;(function(t){t[t.TAG_OPEN_START=0]="TAG_OPEN_START",t[t.TAG_OPEN_END=1]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE=3]="TAG_CLOSE",t[t.TEXT=4]="TEXT",t[t.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT=6]="RAW_TEXT",t[t.COMMENT_START=7]="COMMENT_START",t[t.COMMENT_END=8]="COMMENT_END",t[t.CDATA_START=9]="CDATA_START",t[t.CDATA_END=10]="CDATA_END",t[t.ATTR_NAME=11]="ATTR_NAME",t[t.ATTR_QUOTE=12]="ATTR_QUOTE",t[t.ATTR_VALUE=13]="ATTR_VALUE",t[t.DOC_TYPE_START=14]="DOC_TYPE_START",t[t.DOC_TYPE_END=15]="DOC_TYPE_END",t[t.EXPANSION_FORM_START=16]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE=17]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START=18]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END=19]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END=20]="EXPANSION_FORM_END",t[t.EOF=21]="EOF"})(s=e.TokenType||(e.TokenType={}));var a=class{constructor(t,o,d){this.type=t,this.parts=o,this.sourceSpan=d}};e.Token=a;var f=class extends u.ParseError{constructor(t,o,d){super(d,t),this.tokenType=o}};e.TokenError=f;var c=class{constructor(t,o){this.tokens=t,this.errors=o}};e.TokenizeResult=c;function v(t,o,d){let h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return new C(new u.ParseSourceFile(t,o),d,h).tokenize()}e.tokenize=v;var i=/\r\n?/g;function l(t){return`Unexpected character "${t===r.$EOF?"EOF":String.fromCharCode(t)}"`}function p(t){return`Unknown entity "${t}" - use the "&#;" or "&#x;" syntax`}var m=class{constructor(t){this.error=t}},C=class{constructor(t,o,d){this._getTagContentType=o,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=d.tokenizeExpansionForms||!1,this._interpolationConfig=d.interpolationConfig||n.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=d.leadingTriviaChars&&d.leadingTriviaChars.map(A=>A.codePointAt(0)||0),this._canSelfClose=d.canSelfClose||!1,this._allowHtmComponentClosingTags=d.allowHtmComponentClosingTags||!1;let h=d.range||{endPos:t.content.length,startPos:0,startLine:0,startCol:0};this._cursor=d.escapedString?new j(t,h):new k(t,h);try{this._cursor.init()}catch(A){this.handleError(A)}}_processCarriageReturns(t){return t.replace(i,` -`)}tokenize(){for(;this._cursor.peek()!==r.$EOF;){let t=this._cursor.clone();try{if(this._attemptCharCode(r.$LT))if(this._attemptCharCode(r.$BANG))this._attemptStr("[CDATA[")?this._consumeCdata(t):this._attemptStr("--")?this._consumeComment(t):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(t):this._consumeBogusComment(t);else if(this._attemptCharCode(r.$SLASH))this._consumeTagClose(t);else{let o=this._cursor.clone();this._attemptCharCode(r.$QUESTION)?(this._cursor=o,this._consumeBogusComment(t)):this._consumeTagOpen(t)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(o){this.handleError(o)}}return this._beginToken(s.EOF),this._endToken([]),new c(U(this.tokens),this.errors)}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(b(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===r.$RBRACE){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();this._currentTokenStart=o,this._currentTokenType=t}_endToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();if(this._currentTokenStart===null)throw new f("Programming error - attempted to end a token when there was no start to the token",this._currentTokenType,this._cursor.getSpan(o));if(this._currentTokenType===null)throw new f("Programming error - attempted to end a token which has no token type",null,this._cursor.getSpan(this._currentTokenStart));let d=new a(this._currentTokenType,t,this._cursor.getSpan(this._currentTokenStart,this._leadingTriviaCodePoints));return this.tokens.push(d),this._currentTokenStart=null,this._currentTokenType=null,d}_createError(t,o){this._isInExpansionForm()&&(t+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let d=new f(t,this._currentTokenType,o);return this._currentTokenStart=null,this._currentTokenType=null,new m(d)}handleError(t){if(t instanceof L&&(t=this._createError(t.msg,this._cursor.getSpan(t.cursor))),t instanceof m)this.errors.push(t.error);else throw t}_attemptCharCode(t){return this._cursor.peek()===t?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(t){return M(this._cursor.peek(),t)?(this._cursor.advance(),!0):!1}_requireCharCode(t){let o=this._cursor.clone();if(!this._attemptCharCode(t))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(o))}_attemptStr(t){let o=t.length;if(this._cursor.charsLeft()this._attemptStr("-->")),this._beginToken(s.COMMENT_END),this._requireStr("-->"),this._endToken([])}_consumeBogusComment(t){this._beginToken(s.COMMENT_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(t){this._beginToken(s.CDATA_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr("]]>")),this._beginToken(s.CDATA_END),this._requireStr("]]>"),this._endToken([])}_consumeDocType(t){this._beginToken(s.DOC_TYPE_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){let t=this._cursor.clone(),o="";for(;this._cursor.peek()!==r.$COLON&&!O(this._cursor.peek());)this._cursor.advance();let d;this._cursor.peek()===r.$COLON?(o=this._cursor.getChars(t),this._cursor.advance(),d=this._cursor.clone()):d=t,this._requireCharCodeUntilFn(B,o===""?0:1);let h=this._cursor.getChars(d);return[o,h]}_consumeTagOpen(t){let o,d,h,A=this.tokens.length,q=this._cursor.clone(),P=[];try{if(!r.isAsciiLetter(this._cursor.peek()))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(t));for(h=this._consumeTagOpenStart(t),d=h.parts[0],o=h.parts[1],this._attemptCharCodeUntilFn(g);this._cursor.peek()!==r.$SLASH&&this._cursor.peek()!==r.$GT;){let[X,Q]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(g),this._attemptCharCode(r.$EQ)){this._attemptCharCodeUntilFn(g);let H=this._consumeAttributeValue();P.push({prefix:X,name:Q,value:H})}else P.push({prefix:X,name:Q});this._attemptCharCodeUntilFn(g)}this._consumeTagOpenEnd()}catch(X){if(X instanceof m){this._cursor=q,h&&(this.tokens.length=A),this._beginToken(s.TEXT,t),this._endToken(["<"]);return}throw X}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===s.TAG_OPEN_END_VOID)return;let G=this._getTagContentType(o,d,this._fullNameStack.length>0,P);this._handleFullNameStackForTagOpen(d,o),G===D.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(d,o,!1):G===D.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(d,o,!0)}_consumeRawTextWithTagClose(t,o,d){let h=this._consumeRawText(d,()=>!this._attemptCharCode(r.$LT)||!this._attemptCharCode(r.$SLASH)||(this._attemptCharCodeUntilFn(g),!this._attemptStrCaseInsensitive(t?`${t}:${o}`:o))?!1:(this._attemptCharCodeUntilFn(g),this._attemptCharCode(r.$GT)));this._beginToken(s.TAG_CLOSE),this._requireCharCodeUntilFn(A=>A===r.$GT,3),this._cursor.advance(),this._endToken([t,o]),this._handleFullNameStackForTagClose(t,o)}_consumeTagOpenStart(t){this._beginToken(s.TAG_OPEN_START,t);let o=this._consumePrefixAndName();return this._endToken(o)}_consumeAttributeName(){let t=this._cursor.peek();if(t===r.$SQ||t===r.$DQ)throw this._createError(l(t),this._cursor.getSpan());this._beginToken(s.ATTR_NAME);let o=this._consumePrefixAndName();return this._endToken(o),o}_consumeAttributeValue(){let t;if(this._cursor.peek()===r.$SQ||this._cursor.peek()===r.$DQ){this._beginToken(s.ATTR_QUOTE);let o=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(o)]),this._beginToken(s.ATTR_VALUE);let d=[];for(;this._cursor.peek()!==o;)d.push(this._readChar(!0));t=this._processCarriageReturns(d.join("")),this._endToken([t]),this._beginToken(s.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(o)])}else{this._beginToken(s.ATTR_VALUE);let o=this._cursor.clone();this._requireCharCodeUntilFn(B,1),t=this._processCarriageReturns(this._cursor.getChars(o)),this._endToken([t])}return t}_consumeTagOpenEnd(){let t=this._attemptCharCode(r.$SLASH)?s.TAG_OPEN_END_VOID:s.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(r.$GT),this._endToken([])}_consumeTagClose(t){if(this._beginToken(s.TAG_CLOSE,t),this._attemptCharCodeUntilFn(g),this._allowHtmComponentClosingTags&&this._attemptCharCode(r.$SLASH))this._attemptCharCodeUntilFn(g),this._requireCharCode(r.$GT),this._endToken([]);else{let[o,d]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(g),this._requireCharCode(r.$GT),this._endToken([o,d]),this._handleFullNameStackForTagClose(o,d)}}_consumeExpansionFormStart(){this._beginToken(s.EXPANSION_FORM_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._expansionCaseStack.push(s.EXPANSION_FORM_START),this._beginToken(s.RAW_TEXT);let t=this._readUntil(r.$COMMA);this._endToken([t]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(g),this._beginToken(s.RAW_TEXT);let o=this._readUntil(r.$COMMA);this._endToken([o]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(g)}_consumeExpansionCaseStart(){this._beginToken(s.EXPANSION_CASE_VALUE);let t=this._readUntil(r.$LBRACE).trim();this._endToken([t]),this._attemptCharCodeUntilFn(g),this._beginToken(s.EXPANSION_CASE_EXP_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(g),this._expansionCaseStack.push(s.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(s.EXPANSION_CASE_EXP_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(g),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(s.EXPANSION_FORM_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){let t=this._cursor.clone();this._beginToken(s.TEXT,t);let o=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(o.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(o.push(this._interpolationConfig.end),this._inInterpolation=!1):o.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(o.join(""))])}_isTextEnd(){return!!(this._cursor.peek()===r.$LT||this._cursor.peek()===r.$EOF||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===r.$RBRACE&&this._isInExpansionCase()))}_readUntil(t){let o=this._cursor.clone();return this._attemptUntilChar(t),this._cursor.getChars(o)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==r.$LBRACE)return!1;if(this._interpolationConfig){let t=this._cursor.clone(),o=this._attemptStr(this._interpolationConfig.start);return this._cursor=t,!o}return!0}_handleFullNameStackForTagOpen(t,o){let d=D.mergeNsAndName(t,o);(this._fullNameStack.length===0||this._fullNameStack[this._fullNameStack.length-1]===d)&&this._fullNameStack.push(d)}_handleFullNameStackForTagClose(t,o){let d=D.mergeNsAndName(t,o);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]===d&&this._fullNameStack.pop()}};function g(t){return!r.isWhitespace(t)||t===r.$EOF}function B(t){return r.isWhitespace(t)||t===r.$GT||t===r.$SLASH||t===r.$SQ||t===r.$DQ||t===r.$EQ}function O(t){return(tr.$9)}function F(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiHexDigit(t)}function w(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiLetter(t)}function b(t){return t===r.$EQ||r.isAsciiLetter(t)||r.isDigit(t)}function M(t,o){return R(t)==R(o)}function R(t){return t>=r.$a&&t<=r.$z?t-r.$a+r.$A:t}function U(t){let o=[],d;for(let h=0;h0&&o.indexOf(t.peek())!==-1;)t.advance();return new u.ParseSourceSpan(new u.ParseLocation(t.file,t.state.offset,t.state.line,t.state.column),new u.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(t){return this.input.substring(t.state.offset,this.state.offset)}charAt(t){return this.input.charCodeAt(t)}advanceState(t){if(t.offset>=this.end)throw this.state=t,new L('Unexpected character "EOF"',this);let o=this.charAt(t.offset);o===r.$LF?(t.line++,t.column=0):r.isNewLine(o)||t.column++,t.offset++,this.updatePeek(t)}updatePeek(t){t.peek=t.offset>=this.end?r.$EOF:this.charAt(t.offset)}},j=class extends k{constructor(t,o){t instanceof j?(super(t),this.internalState=Object.assign({},t.internalState)):(super(t,o),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new j(this)}getChars(t){let o=t.clone(),d="";for(;o.internalState.offsetthis.internalState.peek;if(t()===r.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),t()===r.$n)this.state.peek=r.$LF;else if(t()===r.$r)this.state.peek=r.$CR;else if(t()===r.$v)this.state.peek=r.$VTAB;else if(t()===r.$t)this.state.peek=r.$TAB;else if(t()===r.$b)this.state.peek=r.$BSPACE;else if(t()===r.$f)this.state.peek=r.$FF;else if(t()===r.$u)if(this.advanceState(this.internalState),t()===r.$LBRACE){this.advanceState(this.internalState);let o=this.clone(),d=0;for(;t()!==r.$RBRACE;)this.advanceState(this.internalState),d++;this.state.peek=this.decodeHexDigits(o,d)}else{let o=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,4)}else if(t()===r.$x){this.advanceState(this.internalState);let o=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,2)}else if(r.isOctalDigit(t())){let o="",d=0,h=this.clone();for(;r.isOctalDigit(t())&&d<3;)h=this.clone(),o+=String.fromCodePoint(t()),this.advanceState(this.internalState),d++;this.state.peek=parseInt(o,8),this.internalState=h.internalState}else r.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(t,o){let d=this.input.substr(t.internalState.offset,o),h=parseInt(d,16);if(isNaN(h))throw t.state=t.internalState,new L("Invalid hexadecimal escape sequence",t);return h}},L=class{constructor(t,o){this.msg=t,this.cursor=o}};e.CursorError=L}}),ns=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/parser.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ne(),u=As(),n=$l(),D=Ze(),s=class extends r.ParseError{constructor(i,l,p){super(l,p),this.elementName=i}static create(i,l,p){return new s(i,l,p)}};e.TreeError=s;var a=class{constructor(i,l){this.rootNodes=i,this.errors=l}};e.ParseTreeResult=a;var f=class{constructor(i){this.getTagDefinition=i}parse(i,l,p){let m=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,C=arguments.length>4?arguments[4]:void 0,g=k=>function(j){for(var L=arguments.length,t=new Array(L>1?L-1:0),o=1;oB(k).contentType,F=m?C:g(C),w=C?(k,j,L,t)=>{let o=F(k,j,L,t);return o!==void 0?o:O(k)}:O,b=n.tokenize(i,l,w,p),M=p&&p.canSelfClose||!1,R=p&&p.allowHtmComponentClosingTags||!1,U=new c(b.tokens,B,M,R,m).build();return new a(U.rootNodes,b.errors.concat(U.errors))}};e.Parser=f;var c=class{constructor(i,l,p,m,C){this.tokens=i,this.getTagDefinition=l,this.canSelfClose=p,this.allowHtmComponentClosingTags=m,this.isTagNameCaseSensitive=C,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==n.TokenType.EOF;)this._peek.type===n.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===n.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===n.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===n.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===n.TokenType.TEXT||this._peek.type===n.TokenType.RAW_TEXT||this._peek.type===n.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===n.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===n.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new a(this._rootNodes,this._errors)}_advance(){let i=this._peek;return this._index0)return this._errors=this._errors.concat(C.errors),null;let g=new r.ParseSourceSpan(i.sourceSpan.start,m.sourceSpan.end),B=new r.ParseSourceSpan(l.sourceSpan.start,m.sourceSpan.end);return new u.ExpansionCase(i.parts[0],C.rootNodes,g,i.sourceSpan,B)}_collectExpansionExpTokens(i){let l=[],p=[n.TokenType.EXPANSION_CASE_EXP_START];for(;;){if((this._peek.type===n.TokenType.EXPANSION_FORM_START||this._peek.type===n.TokenType.EXPANSION_CASE_EXP_START)&&p.push(this._peek.type),this._peek.type===n.TokenType.EXPANSION_CASE_EXP_END)if(v(p,n.TokenType.EXPANSION_CASE_EXP_START)){if(p.pop(),p.length==0)return l}else return this._errors.push(s.create(null,i.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===n.TokenType.EXPANSION_FORM_END)if(v(p,n.TokenType.EXPANSION_FORM_START))p.pop();else return this._errors.push(s.create(null,i.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===n.TokenType.EOF)return this._errors.push(s.create(null,i.sourceSpan,"Invalid ICU message. Missing '}'.")),null;l.push(this._advance())}}_getText(i){let l=i.parts[0];if(l.length>0&&l[0]==` -`){let p=this._getParentElement();p!=null&&p.children.length==0&&this.getTagDefinition(p.name).ignoreFirstLf&&(l=l.substring(1))}return l}_consumeText(i){let l=this._getText(i);l.length>0&&this._addToParent(new u.Text(l,i.sourceSpan))}_closeVoidElement(){let i=this._getParentElement();i&&this.getTagDefinition(i.name).isVoid&&this._elementStack.pop()}_consumeStartTag(i){let l=i.parts[0],p=i.parts[1],m=[];for(;this._peek.type===n.TokenType.ATTR_NAME;)m.push(this._consumeAttr(this._advance()));let C=this._getElementFullName(l,p,this._getParentElement()),g=!1;if(this._peek.type===n.TokenType.TAG_OPEN_END_VOID){this._advance(),g=!0;let b=this.getTagDefinition(C);this.canSelfClose||b.canSelfClose||D.getNsPrefix(C)!==null||b.isVoid||this._errors.push(s.create(C,i.sourceSpan,`Only void and foreign elements can be self closed "${i.parts[1]}"`))}else this._peek.type===n.TokenType.TAG_OPEN_END&&(this._advance(),g=!1);let B=this._peek.sourceSpan.start,O=new r.ParseSourceSpan(i.sourceSpan.start,B),F=new r.ParseSourceSpan(i.sourceSpan.start.moveBy(1),i.sourceSpan.end),w=new u.Element(C,m,[],O,O,void 0,F);this._pushElement(w),g&&(this._popElement(C),w.endSourceSpan=O)}_pushElement(i){let l=this._getParentElement();l&&this.getTagDefinition(l.name).isClosedByChild(i.name)&&this._elementStack.pop(),this._addToParent(i),this._elementStack.push(i)}_consumeEndTag(i){let l=this.allowHtmComponentClosingTags&&i.parts.length===0?null:this._getElementFullName(i.parts[0],i.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=i.sourceSpan),l&&this.getTagDefinition(l).isVoid)this._errors.push(s.create(l,i.sourceSpan,`Void elements do not have end tags "${i.parts[1]}"`));else if(!this._popElement(l)){let p=`Unexpected closing tag "${l}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this._errors.push(s.create(l,i.sourceSpan,p))}}_popElement(i){for(let l=this._elementStack.length-1;l>=0;l--){let p=this._elementStack[l];if(!i||(D.getNsPrefix(p.name)?p.name==i:p.name.toLowerCase()==i.toLowerCase()))return this._elementStack.splice(l,this._elementStack.length-l),!0;if(!this.getTagDefinition(p.name).closedByParent)return!1}return!1}_consumeAttr(i){let l=D.mergeNsAndName(i.parts[0],i.parts[1]),p=i.sourceSpan.end,m="",C,g;if(this._peek.type===n.TokenType.ATTR_QUOTE&&(g=this._advance().sourceSpan.start),this._peek.type===n.TokenType.ATTR_VALUE){let B=this._advance();m=B.parts[0],p=B.sourceSpan.end,C=B.sourceSpan}return this._peek.type===n.TokenType.ATTR_QUOTE&&(p=this._advance().sourceSpan.end,C=new r.ParseSourceSpan(g,p)),new u.Attribute(l,m,new r.ParseSourceSpan(i.sourceSpan.start,p),C,i.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let i=null;for(let l=this._elementStack.length-1;l>=0;l--){if(!D.isNgContainer(this._elementStack[l].name))return{parent:this._elementStack[l],container:i};i=this._elementStack[l]}return{parent:null,container:i}}_addToParent(i){let l=this._getParentElement();l!=null?l.children.push(i):this._rootNodes.push(i)}_insertBeforeContainer(i,l,p){if(!l)this._addToParent(p),this._elementStack.push(p);else{if(i){let m=i.children.indexOf(l);i.children[m]=p}else this._rootNodes.push(p);p.children.push(l),this._elementStack.splice(this._elementStack.indexOf(l),0,p)}}_getElementFullName(i,l,p){return i===""&&(i=this.getTagDefinition(l).implicitNamespacePrefix||"",i===""&&p!=null&&(i=D.getNsPrefix(p.name))),D.mergeNsAndName(i,l)}};function v(i,l){return i.length>0&&i[i.length-1]===l}}}),Ml=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_parser.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=Fs(),u=ns(),n=ns();e.ParseTreeResult=n.ParseTreeResult,e.TreeError=n.TreeError;var D=class extends u.Parser{constructor(){super(r.getHtmlTagDefinition)}parse(s,a,f){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,v=arguments.length>4?arguments[4]:void 0;return super.parse(s,a,f,c,v)}};e.HtmlParser=D}}),ss=I({"node_modules/angular-html-parser/lib/angular-html-parser/src/index.js"(e){"use strict";N(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ml(),u=Ze();e.TagContentType=u.TagContentType;var n=null,D=()=>(n||(n=new r.HtmlParser),n);function s(a){let f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{canSelfClose:c=!1,allowHtmComponentClosingTags:v=!1,isTagNameCaseSensitive:i=!1,getTagContentType:l}=f;return D().parse(a,"angular-html-parser",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:c,allowHtmComponentClosingTags:v},i,l)}e.parse=s}}),jl=I({"src/language-html/parser-html.js"(e,r){N();var{ParseSourceSpan:u,ParseLocation:n,ParseSourceFile:D}=Ne(),s=JD(),a=ls(),f=ZD(),{inferParserByLanguage:c}=yl(),v=Bl(),i=Nl(),l=Ol(),{hasPragma:p}=ql(),{Node:m}=Il(),{parseIeConditionalComment:C}=Rl(),{locStart:g,locEnd:B}=xl();function O(b,M,R){let{canSelfClose:U,normalizeTagName:k,normalizeAttributeName:j,allowHtmComponentClosingTags:L,isTagNameCaseSensitive:t,getTagContentType:o}=M,d=ss(),{RecursiveVisitor:h,visitAll:A}=As(),{ParseSourceSpan:q}=Ne(),{getHtmlTagDefinition:P}=Fs(),{rootNodes:G,errors:X}=d.parse(b,{canSelfClose:U,allowHtmComponentClosingTags:L,isTagNameCaseSensitive:t,getTagContentType:o});if(R.parser==="vue")if(G.some(_=>_.type==="docType"&&_.value==="html"||_.type==="element"&&_.name.toLowerCase()==="html")){U=!0,k=!0,j=!0,L=!0,t=!1;let _=d.parse(b,{canSelfClose:U,allowHtmComponentClosingTags:L,isTagNameCaseSensitive:t});G=_.rootNodes,X=_.errors}else{let _=T=>{if(!T||T.type!=="element"||T.name!=="template")return!1;let x=T.attrs.find(V=>V.name==="lang"),$=x&&x.value;return!$||c($,R)==="html"};if(G.some(_)){let T,x=()=>d.parse(b,{canSelfClose:U,allowHtmComponentClosingTags:L,isTagNameCaseSensitive:t}),$=()=>T||(T=x()),V=z=>$().rootNodes.find(Y=>{let{startSourceSpan:ie}=Y;return ie&&ie.start.offset===z.startSourceSpan.start.offset});for(let z=0;z0){let{msg:E,span:{start:_,end:T}}=X[0];throw f(E,{start:{line:_.line+1,column:_.col+1},end:{line:T.line+1,column:T.col+1}})}let Q=E=>{let _=E.name.startsWith(":")?E.name.slice(1).split(":")[0]:null,T=E.nameSpan.toString(),x=_!==null&&T.startsWith(`${_}:`),$=x?T.slice(_.length+1):T;E.name=$,E.namespace=_,E.hasExplicitNamespace=x},H=E=>{switch(E.type){case"element":Q(E);for(let _ of E.attrs)Q(_),_.valueSpan?(_.value=_.valueSpan.toString(),/["']/.test(_.value[0])&&(_.value=_.value.slice(1,-1))):_.value=null;break;case"comment":E.value=E.sourceSpan.toString().slice(4,-3);break;case"text":E.value=E.sourceSpan.toString();break}},W=(E,_)=>{let T=E.toLowerCase();return _(T)?T:E},K=E=>{if(E.type==="element"&&(k&&(!E.namespace||E.namespace===E.tagDefinition.implicitNamespacePrefix||l(E))&&(E.name=W(E.name,_=>_ in v)),j)){let _=i[E.name]||Object.create(null);for(let T of E.attrs)T.namespace||(T.name=W(T.name,x=>E.name in i&&(x in i["*"]||x in _)))}},J=E=>{E.sourceSpan&&E.endSourceSpan&&(E.sourceSpan=new q(E.sourceSpan.start,E.endSourceSpan.end))},S=E=>{if(E.type==="element"){let _=P(t?E.name:E.name.toLowerCase());!E.namespace||E.namespace===_.implicitNamespacePrefix||l(E)?E.tagDefinition=_:E.tagDefinition=P("")}};return A(new class extends h{visit(E){H(E),S(E),K(E),J(E)}},G),G}function F(b,M,R){let U=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{frontMatter:k,content:j}=U?s(b):{frontMatter:null,content:b},L=new D(b,M.filepath),t=new n(L,0,0,0),o=t.moveBy(b.length),d={type:"root",sourceSpan:new u(t,o),children:O(j,R,M)};if(k){let q=new n(L,0,0,0),P=q.moveBy(k.raw.length);k.sourceSpan=new u(q,P),d.children.unshift(k)}let h=new m(d),A=(q,P)=>{let{offset:G}=P,X=b.slice(0,G).replace(/[^\n\r]/g," "),H=F(X+q,M,R,!1);H.sourceSpan=new u(P,a(H.children).sourceSpan.end);let W=H.children[0];return W.length===G?H.children.shift():(W.sourceSpan=new u(W.sourceSpan.start.moveBy(G),W.sourceSpan.end),W.value=W.value.slice(G)),H};return h.walk(q=>{if(q.type==="comment"){let P=C(q,A);P&&q.parent.replaceChild(q,P)}}),h}function w(){let{name:b,canSelfClose:M=!1,normalizeTagName:R=!1,normalizeAttributeName:U=!1,allowHtmComponentClosingTags:k=!1,isTagNameCaseSensitive:j=!1,getTagContentType:L}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return{parse:(t,o,d)=>F(t,Object.assign({parser:b},d),{canSelfClose:M,normalizeTagName:R,normalizeAttributeName:U,allowHtmComponentClosingTags:k,isTagNameCaseSensitive:j,getTagContentType:L}),hasPragma:p,astFormat:"html",locStart:g,locEnd:B}}r.exports={parsers:{html:w({name:"html",canSelfClose:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:w({name:"angular",canSelfClose:!0}),vue:w({name:"vue",canSelfClose:!0,isTagNameCaseSensitive:!0,getTagContentType:(b,M,R,U)=>{if(b.toLowerCase()!=="html"&&!R&&(b!=="template"||U.some(k=>{let{name:j,value:L}=k;return j==="lang"&&L!=="html"&&L!==""&&L!==void 0})))return ss().TagContentType.RAW_TEXT}}),lwc:w({name:"lwc"})}}}}),_2=jl();export{_2 as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-markdown.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-markdown.mjs deleted file mode 100644 index a5da15c196..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-markdown.mjs +++ /dev/null @@ -1,76 +0,0 @@ -var V=(e,u)=>()=>(u||e((u={exports:{}}).exports,u),u.exports);var Fe=V((R2,yu)=>{var tr=function(e){return e&&e.Math==Math&&e};yu.exports=tr(typeof globalThis=="object"&&globalThis)||tr(typeof window=="object"&&window)||tr(typeof self=="object"&&self)||tr(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Ae=V((j2,wu)=>{wu.exports=function(e){try{return!!e()}catch{return!0}}});var Be=V((P2,Bu)=>{var na=Ae();Bu.exports=!na(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var nr=V((M2,ku)=>{var ia=Ae();ku.exports=!ia(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var Oe=V((z2,qu)=>{var aa=nr(),ir=Function.prototype.call;qu.exports=aa?ir.bind(ir):function(){return ir.apply(ir,arguments)}});var Su=V(Iu=>{"use strict";var _u={}.propertyIsEnumerable,Ou=Object.getOwnPropertyDescriptor,oa=Ou&&!_u.call({1:2},1);Iu.f=oa?function(u){var r=Ou(this,u);return!!r&&r.enumerable}:_u});var ar=V((U2,Tu)=>{Tu.exports=function(e,u){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:u}}});var ve=V((G2,Ru)=>{var Nu=nr(),Lu=Function.prototype,wr=Lu.call,sa=Nu&&Lu.bind.bind(wr,wr);Ru.exports=Nu?sa:function(e){return function(){return wr.apply(e,arguments)}}});var Ve=V((V2,Pu)=>{var ju=ve(),ca=ju({}.toString),la=ju("".slice);Pu.exports=function(e){return la(ca(e),8,-1)}});var zu=V((H2,Mu)=>{var Da=ve(),fa=Ae(),pa=Ve(),Br=Object,da=Da("".split);Mu.exports=fa(function(){return!Br("z").propertyIsEnumerable(0)})?function(e){return pa(e)=="String"?da(e,""):Br(e)}:Br});var or=V((X2,$u)=>{$u.exports=function(e){return e==null}});var kr=V((W2,Uu)=>{var ha=or(),va=TypeError;Uu.exports=function(e){if(ha(e))throw va("Can't call method on "+e);return e}});var sr=V((K2,Gu)=>{var ma=zu(),Ea=kr();Gu.exports=function(e){return ma(Ea(e))}});var _r=V((Y2,Vu)=>{var qr=typeof document=="object"&&document.all,Ca=typeof qr>"u"&&qr!==void 0;Vu.exports={all:qr,IS_HTMLDDA:Ca}});var de=V((J2,Xu)=>{var Hu=_r(),ga=Hu.all;Xu.exports=Hu.IS_HTMLDDA?function(e){return typeof e=="function"||e===ga}:function(e){return typeof e=="function"}});var Ie=V((Z2,Yu)=>{var Wu=de(),Ku=_r(),Fa=Ku.all;Yu.exports=Ku.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:Wu(e)||e===Fa}:function(e){return typeof e=="object"?e!==null:Wu(e)}});var He=V((Q2,Ju)=>{var Or=Fe(),Aa=de(),xa=function(e){return Aa(e)?e:void 0};Ju.exports=function(e,u){return arguments.length<2?xa(Or[e]):Or[e]&&Or[e][u]}});var Ir=V((ef,Zu)=>{var ba=ve();Zu.exports=ba({}.isPrototypeOf)});var et=V((rf,Qu)=>{var ya=He();Qu.exports=ya("navigator","userAgent")||""});var ot=V((uf,at)=>{var it=Fe(),Sr=et(),rt=it.process,ut=it.Deno,tt=rt&&rt.versions||ut&&ut.version,nt=tt&&tt.v8,me,cr;nt&&(me=nt.split("."),cr=me[0]>0&&me[0]<4?1:+(me[0]+me[1]));!cr&&Sr&&(me=Sr.match(/Edge\/(\d+)/),(!me||me[1]>=74)&&(me=Sr.match(/Chrome\/(\d+)/),me&&(cr=+me[1])));at.exports=cr});var Tr=V((tf,ct)=>{var st=ot(),wa=Ae();ct.exports=!!Object.getOwnPropertySymbols&&!wa(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&st&&st<41})});var Nr=V((nf,lt)=>{var Ba=Tr();lt.exports=Ba&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Lr=V((af,Dt)=>{var ka=He(),qa=de(),_a=Ir(),Oa=Nr(),Ia=Object;Dt.exports=Oa?function(e){return typeof e=="symbol"}:function(e){var u=ka("Symbol");return qa(u)&&_a(u.prototype,Ia(e))}});var lr=V((of,ft)=>{var Sa=String;ft.exports=function(e){try{return Sa(e)}catch{return"Object"}}});var Xe=V((sf,pt)=>{var Ta=de(),Na=lr(),La=TypeError;pt.exports=function(e){if(Ta(e))return e;throw La(Na(e)+" is not a function")}});var Dr=V((cf,dt)=>{var Ra=Xe(),ja=or();dt.exports=function(e,u){var r=e[u];return ja(r)?void 0:Ra(r)}});var vt=V((lf,ht)=>{var Rr=Oe(),jr=de(),Pr=Ie(),Pa=TypeError;ht.exports=function(e,u){var r,t;if(u==="string"&&jr(r=e.toString)&&!Pr(t=Rr(r,e))||jr(r=e.valueOf)&&!Pr(t=Rr(r,e))||u!=="string"&&jr(r=e.toString)&&!Pr(t=Rr(r,e)))return t;throw Pa("Can't convert object to primitive value")}});var Et=V((Df,mt)=>{mt.exports=!1});var fr=V((ff,gt)=>{var Ct=Fe(),Ma=Object.defineProperty;gt.exports=function(e,u){try{Ma(Ct,e,{value:u,configurable:!0,writable:!0})}catch{Ct[e]=u}return u}});var pr=V((pf,At)=>{var za=Fe(),$a=fr(),Ft="__core-js_shared__",Ua=za[Ft]||$a(Ft,{});At.exports=Ua});var Mr=V((df,bt)=>{var Ga=Et(),xt=pr();(bt.exports=function(e,u){return xt[e]||(xt[e]=u!==void 0?u:{})})("versions",[]).push({version:"3.26.1",mode:Ga?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var zr=V((hf,yt)=>{var Va=kr(),Ha=Object;yt.exports=function(e){return Ha(Va(e))}});var ke=V((vf,wt)=>{var Xa=ve(),Wa=zr(),Ka=Xa({}.hasOwnProperty);wt.exports=Object.hasOwn||function(u,r){return Ka(Wa(u),r)}});var $r=V((mf,Bt)=>{var Ya=ve(),Ja=0,Za=Math.random(),Qa=Ya(1 .toString);Bt.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+Qa(++Ja+Za,36)}});var Te=V((Ef,It)=>{var eo=Fe(),ro=Mr(),kt=ke(),uo=$r(),qt=Tr(),Ot=Nr(),Le=ro("wks"),Se=eo.Symbol,_t=Se&&Se.for,to=Ot?Se:Se&&Se.withoutSetter||uo;It.exports=function(e){if(!kt(Le,e)||!(qt||typeof Le[e]=="string")){var u="Symbol."+e;qt&&kt(Se,e)?Le[e]=Se[e]:Ot&&_t?Le[e]=_t(u):Le[e]=to(u)}return Le[e]}});var Lt=V((Cf,Nt)=>{var no=Oe(),St=Ie(),Tt=Lr(),io=Dr(),ao=vt(),oo=Te(),so=TypeError,co=oo("toPrimitive");Nt.exports=function(e,u){if(!St(e)||Tt(e))return e;var r=io(e,co),t;if(r){if(u===void 0&&(u="default"),t=no(r,e,u),!St(t)||Tt(t))return t;throw so("Can't convert object to primitive value")}return u===void 0&&(u="number"),ao(e,u)}});var dr=V((gf,Rt)=>{var lo=Lt(),Do=Lr();Rt.exports=function(e){var u=lo(e,"string");return Do(u)?u:u+""}});var Mt=V((Ff,Pt)=>{var fo=Fe(),jt=Ie(),Ur=fo.document,po=jt(Ur)&&jt(Ur.createElement);Pt.exports=function(e){return po?Ur.createElement(e):{}}});var Gr=V((Af,zt)=>{var ho=Be(),vo=Ae(),mo=Mt();zt.exports=!ho&&!vo(function(){return Object.defineProperty(mo("div"),"a",{get:function(){return 7}}).a!=7})});var Vr=V(Ut=>{var Eo=Be(),Co=Oe(),go=Su(),Fo=ar(),Ao=sr(),xo=dr(),bo=ke(),yo=Gr(),$t=Object.getOwnPropertyDescriptor;Ut.f=Eo?$t:function(u,r){if(u=Ao(u),r=xo(r),yo)try{return $t(u,r)}catch{}if(bo(u,r))return Fo(!Co(go.f,u,r),u[r])}});var Vt=V((bf,Gt)=>{var wo=Be(),Bo=Ae();Gt.exports=wo&&Bo(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Re=V((yf,Ht)=>{var ko=Ie(),qo=String,_o=TypeError;Ht.exports=function(e){if(ko(e))return e;throw _o(qo(e)+" is not an object")}});var We=V(Wt=>{var Oo=Be(),Io=Gr(),So=Vt(),hr=Re(),Xt=dr(),To=TypeError,Hr=Object.defineProperty,No=Object.getOwnPropertyDescriptor,Xr="enumerable",Wr="configurable",Kr="writable";Wt.f=Oo?So?function(u,r,t){if(hr(u),r=Xt(r),hr(t),typeof u=="function"&&r==="prototype"&&"value"in t&&Kr in t&&!t[Kr]){var a=No(u,r);a&&a[Kr]&&(u[r]=t.value,t={configurable:Wr in t?t[Wr]:a[Wr],enumerable:Xr in t?t[Xr]:a[Xr],writable:!1})}return Hr(u,r,t)}:Hr:function(u,r,t){if(hr(u),r=Xt(r),hr(t),Io)try{return Hr(u,r,t)}catch{}if("get"in t||"set"in t)throw To("Accessors not supported");return"value"in t&&(u[r]=t.value),u}});var Yr=V((Bf,Kt)=>{var Lo=Be(),Ro=We(),jo=ar();Kt.exports=Lo?function(e,u,r){return Ro.f(e,u,jo(1,r))}:function(e,u,r){return e[u]=r,e}});var Zt=V((kf,Jt)=>{var Jr=Be(),Po=ke(),Yt=Function.prototype,Mo=Jr&&Object.getOwnPropertyDescriptor,Zr=Po(Yt,"name"),zo=Zr&&function(){}.name==="something",$o=Zr&&(!Jr||Jr&&Mo(Yt,"name").configurable);Jt.exports={EXISTS:Zr,PROPER:zo,CONFIGURABLE:$o}});var eu=V((qf,Qt)=>{var Uo=ve(),Go=de(),Qr=pr(),Vo=Uo(Function.toString);Go(Qr.inspectSource)||(Qr.inspectSource=function(e){return Vo(e)});Qt.exports=Qr.inspectSource});var un=V((_f,rn)=>{var Ho=Fe(),Xo=de(),en=Ho.WeakMap;rn.exports=Xo(en)&&/native code/.test(String(en))});var an=V((Of,nn)=>{var Wo=Mr(),Ko=$r(),tn=Wo("keys");nn.exports=function(e){return tn[e]||(tn[e]=Ko(e))}});var ru=V((If,on)=>{on.exports={}});var Dn=V((Sf,ln)=>{var Yo=un(),cn=Fe(),Jo=Ie(),Zo=Yr(),uu=ke(),tu=pr(),Qo=an(),es=ru(),sn="Object already initialized",nu=cn.TypeError,rs=cn.WeakMap,vr,Ke,mr,us=function(e){return mr(e)?Ke(e):vr(e,{})},ts=function(e){return function(u){var r;if(!Jo(u)||(r=Ke(u)).type!==e)throw nu("Incompatible receiver, "+e+" required");return r}};Yo||tu.state?(Ee=tu.state||(tu.state=new rs),Ee.get=Ee.get,Ee.has=Ee.has,Ee.set=Ee.set,vr=function(e,u){if(Ee.has(e))throw nu(sn);return u.facade=e,Ee.set(e,u),u},Ke=function(e){return Ee.get(e)||{}},mr=function(e){return Ee.has(e)}):(Ne=Qo("state"),es[Ne]=!0,vr=function(e,u){if(uu(e,Ne))throw nu(sn);return u.facade=e,Zo(e,Ne,u),u},Ke=function(e){return uu(e,Ne)?e[Ne]:{}},mr=function(e){return uu(e,Ne)});var Ee,Ne;ln.exports={set:vr,get:Ke,has:mr,enforce:us,getterFor:ts}});var dn=V((Tf,pn)=>{var ns=Ae(),is=de(),Er=ke(),iu=Be(),as=Zt().CONFIGURABLE,os=eu(),fn=Dn(),ss=fn.enforce,cs=fn.get,Cr=Object.defineProperty,ls=iu&&!ns(function(){return Cr(function(){},"length",{value:8}).length!==8}),Ds=String(String).split("String"),fs=pn.exports=function(e,u,r){String(u).slice(0,7)==="Symbol("&&(u="["+String(u).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(u="get "+u),r&&r.setter&&(u="set "+u),(!Er(e,"name")||as&&e.name!==u)&&(iu?Cr(e,"name",{value:u,configurable:!0}):e.name=u),ls&&r&&Er(r,"arity")&&e.length!==r.arity&&Cr(e,"length",{value:r.arity});try{r&&Er(r,"constructor")&&r.constructor?iu&&Cr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var t=ss(e);return Er(t,"source")||(t.source=Ds.join(typeof u=="string"?u:"")),e};Function.prototype.toString=fs(function(){return is(this)&&cs(this).source||os(this)},"toString")});var vn=V((Nf,hn)=>{var ps=de(),ds=We(),hs=dn(),vs=fr();hn.exports=function(e,u,r,t){t||(t={});var a=t.enumerable,n=t.name!==void 0?t.name:u;if(ps(r)&&hs(r,n,t),t.global)a?e[u]=r:vs(u,r);else{try{t.unsafe?e[u]&&(a=!0):delete e[u]}catch{}a?e[u]=r:ds.f(e,u,{value:r,enumerable:!1,configurable:!t.nonConfigurable,writable:!t.nonWritable})}return e}});var En=V((Lf,mn)=>{var ms=Math.ceil,Es=Math.floor;mn.exports=Math.trunc||function(u){var r=+u;return(r>0?Es:ms)(r)}});var au=V((Rf,Cn)=>{var Cs=En();Cn.exports=function(e){var u=+e;return u!==u||u===0?0:Cs(u)}});var Fn=V((jf,gn)=>{var gs=au(),Fs=Math.max,As=Math.min;gn.exports=function(e,u){var r=gs(e);return r<0?Fs(r+u,0):As(r,u)}});var xn=V((Pf,An)=>{var xs=au(),bs=Math.min;An.exports=function(e){return e>0?bs(xs(e),9007199254740991):0}});var Ye=V((Mf,bn)=>{var ys=xn();bn.exports=function(e){return ys(e.length)}});var Bn=V((zf,wn)=>{var ws=sr(),Bs=Fn(),ks=Ye(),yn=function(e){return function(u,r,t){var a=ws(u),n=ks(a),s=Bs(t,n),c;if(e&&r!=r){for(;n>s;)if(c=a[s++],c!=c)return!0}else for(;n>s;s++)if((e||s in a)&&a[s]===r)return e||s||0;return!e&&-1}};wn.exports={includes:yn(!0),indexOf:yn(!1)}});var _n=V(($f,qn)=>{var qs=ve(),ou=ke(),_s=sr(),Os=Bn().indexOf,Is=ru(),kn=qs([].push);qn.exports=function(e,u){var r=_s(e),t=0,a=[],n;for(n in r)!ou(Is,n)&&ou(r,n)&&kn(a,n);for(;u.length>t;)ou(r,n=u[t++])&&(~Os(a,n)||kn(a,n));return a}});var In=V((Uf,On)=>{On.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Tn=V(Sn=>{var Ss=_n(),Ts=In(),Ns=Ts.concat("length","prototype");Sn.f=Object.getOwnPropertyNames||function(u){return Ss(u,Ns)}});var Ln=V(Nn=>{Nn.f=Object.getOwnPropertySymbols});var jn=V((Hf,Rn)=>{var Ls=He(),Rs=ve(),js=Tn(),Ps=Ln(),Ms=Re(),zs=Rs([].concat);Rn.exports=Ls("Reflect","ownKeys")||function(u){var r=js.f(Ms(u)),t=Ps.f;return t?zs(r,t(u)):r}});var zn=V((Xf,Mn)=>{var Pn=ke(),$s=jn(),Us=Vr(),Gs=We();Mn.exports=function(e,u,r){for(var t=$s(u),a=Gs.f,n=Us.f,s=0;s{var Vs=Ae(),Hs=de(),Xs=/#|\.prototype\./,Je=function(e,u){var r=Ks[Ws(e)];return r==Js?!0:r==Ys?!1:Hs(u)?Vs(u):!!u},Ws=Je.normalize=function(e){return String(e).replace(Xs,".").toLowerCase()},Ks=Je.data={},Ys=Je.NATIVE="N",Js=Je.POLYFILL="P";$n.exports=Je});var cu=V((Kf,Gn)=>{var su=Fe(),Zs=Vr().f,Qs=Yr(),ec=vn(),rc=fr(),uc=zn(),tc=Un();Gn.exports=function(e,u){var r=e.target,t=e.global,a=e.stat,n,s,c,i,D,o;if(t?s=su:a?s=su[r]||rc(r,{}):s=(su[r]||{}).prototype,s)for(c in u){if(D=u[c],e.dontCallGetSet?(o=Zs(s,c),i=o&&o.value):i=s[c],n=tc(t?c:r+(a?".":"#")+c,e.forced),!n&&i!==void 0){if(typeof D==typeof i)continue;uc(D,i)}(e.sham||i&&i.sham)&&Qs(D,"sham",!0),ec(s,c,D,e)}}});var lu=V((Yf,Vn)=>{var nc=Ve();Vn.exports=Array.isArray||function(u){return nc(u)=="Array"}});var Xn=V((Jf,Hn)=>{var ic=TypeError,ac=9007199254740991;Hn.exports=function(e){if(e>ac)throw ic("Maximum allowed index exceeded");return e}});var Kn=V((Zf,Wn)=>{var oc=Ve(),sc=ve();Wn.exports=function(e){if(oc(e)==="Function")return sc(e)}});var Du=V((Qf,Jn)=>{var Yn=Kn(),cc=Xe(),lc=nr(),Dc=Yn(Yn.bind);Jn.exports=function(e,u){return cc(e),u===void 0?e:lc?Dc(e,u):function(){return e.apply(u,arguments)}}});var ei=V((ep,Qn)=>{"use strict";var fc=lu(),pc=Ye(),dc=Xn(),hc=Du(),Zn=function(e,u,r,t,a,n,s,c){for(var i=a,D=0,o=s?hc(s,c):!1,l,d;D0&&fc(l)?(d=pc(l),i=Zn(e,u,l,d,i,n-1)-1):(dc(i+1),e[i]=l),i++),D++;return i};Qn.exports=Zn});var ti=V((rp,ui)=>{var vc=Te(),mc=vc("toStringTag"),ri={};ri[mc]="z";ui.exports=String(ri)==="[object z]"});var fu=V((up,ni)=>{var Ec=ti(),Cc=de(),gr=Ve(),gc=Te(),Fc=gc("toStringTag"),Ac=Object,xc=gr(function(){return arguments}())=="Arguments",bc=function(e,u){try{return e[u]}catch{}};ni.exports=Ec?gr:function(e){var u,r,t;return e===void 0?"Undefined":e===null?"Null":typeof(r=bc(u=Ac(e),Fc))=="string"?r:xc?gr(u):(t=gr(u))=="Object"&&Cc(u.callee)?"Arguments":t}});var li=V((tp,ci)=>{var yc=ve(),wc=Ae(),ii=de(),Bc=fu(),kc=He(),qc=eu(),ai=function(){},_c=[],oi=kc("Reflect","construct"),pu=/^\s*(?:class|function)\b/,Oc=yc(pu.exec),Ic=!pu.exec(ai),Ze=function(u){if(!ii(u))return!1;try{return oi(ai,_c,u),!0}catch{return!1}},si=function(u){if(!ii(u))return!1;switch(Bc(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ic||!!Oc(pu,qc(u))}catch{return!0}};si.sham=!0;ci.exports=!oi||wc(function(){var e;return Ze(Ze.call)||!Ze(Object)||!Ze(function(){e=!0})||e})?si:Ze});var di=V((np,pi)=>{var Di=lu(),Sc=li(),Tc=Ie(),Nc=Te(),Lc=Nc("species"),fi=Array;pi.exports=function(e){var u;return Di(e)&&(u=e.constructor,Sc(u)&&(u===fi||Di(u.prototype))?u=void 0:Tc(u)&&(u=u[Lc],u===null&&(u=void 0))),u===void 0?fi:u}});var vi=V((ip,hi)=>{var Rc=di();hi.exports=function(e,u){return new(Rc(e))(u===0?0:u)}});var du=V((ap,mi)=>{mi.exports={}});var Ci=V((op,Ei)=>{var Gc=Te(),Vc=du(),Hc=Gc("iterator"),Xc=Array.prototype;Ei.exports=function(e){return e!==void 0&&(Vc.Array===e||Xc[Hc]===e)}});var hu=V((sp,Fi)=>{var Wc=fu(),gi=Dr(),Kc=or(),Yc=du(),Jc=Te(),Zc=Jc("iterator");Fi.exports=function(e){if(!Kc(e))return gi(e,Zc)||gi(e,"@@iterator")||Yc[Wc(e)]}});var xi=V((cp,Ai)=>{var Qc=Oe(),el=Xe(),rl=Re(),ul=lr(),tl=hu(),nl=TypeError;Ai.exports=function(e,u){var r=arguments.length<2?tl(e):u;if(el(r))return rl(Qc(r,e));throw nl(ul(e)+" is not iterable")}});var wi=V((lp,yi)=>{var il=Oe(),bi=Re(),al=Dr();yi.exports=function(e,u,r){var t,a;bi(e);try{if(t=al(e,"return"),!t){if(u==="throw")throw r;return r}t=il(t,e)}catch(n){a=!0,t=n}if(u==="throw")throw r;if(a)throw t;return bi(t),r}});var Oi=V((Dp,_i)=>{var ol=Du(),sl=Oe(),cl=Re(),ll=lr(),Dl=Ci(),fl=Ye(),Bi=Ir(),pl=xi(),dl=hu(),ki=wi(),hl=TypeError,Fr=function(e,u){this.stopped=e,this.result=u},qi=Fr.prototype;_i.exports=function(e,u,r){var t=r&&r.that,a=!!(r&&r.AS_ENTRIES),n=!!(r&&r.IS_RECORD),s=!!(r&&r.IS_ITERATOR),c=!!(r&&r.INTERRUPTED),i=ol(u,t),D,o,l,d,p,g,F,E=function(f){return D&&ki(D,"normal",f),new Fr(!0,f)},b=function(f){return a?(cl(f),c?i(f[0],f[1],E):i(f[0],f[1])):c?i(f,E):i(f)};if(n)D=e.iterator;else if(s)D=e;else{if(o=dl(e),!o)throw hl(ll(e)+" is not iterable");if(Dl(o)){for(l=0,d=fl(e);d>l;l++)if(p=b(e[l]),p&&Bi(qi,p))return p;return new Fr(!1)}D=pl(e,o)}for(g=n?e.next:D.next;!(F=sl(g,D)).done;){try{p=b(F.value)}catch(f){ki(D,"throw",f)}if(typeof p=="object"&&p&&Bi(qi,p))return p}return new Fr(!1)}});var Si=V((fp,Ii)=>{"use strict";var vl=dr(),ml=We(),El=ar();Ii.exports=function(e,u,r){var t=vl(u);t in e?ml.f(e,t,El(0,r)):e[t]=r}});var jc=cu(),Pc=ei(),Mc=Xe(),zc=zr(),$c=Ye(),Uc=vi();jc({target:"Array",proto:!0},{flatMap:function(u){var r=zc(this),t=$c(r),a;return Mc(u),a=Uc(r,0),a.length=Pc(a,r,r,t,0,1,u,arguments.length>1?arguments[1]:void 0),a}});var Cl=cu(),gl=Oi(),Fl=Si();Cl({target:"Object",stat:!0},{fromEntries:function(u){var r={};return gl(u,function(t,a){Fl(r,t,a)},{AS_ENTRIES:!0}),r}});var Al=["cliName","cliCategory","cliDescription"];function xl(e,u){if(e==null)return{};var r=bl(e,u),t,a;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function bl(e,u){if(e==null)return{};var r={},t=Object.keys(e),a,n;for(n=0;n=0)&&(r[a]=e[a]);return r}var yl=Object.create,Ar=Object.defineProperty,wl=Object.getOwnPropertyDescriptor,vu=Object.getOwnPropertyNames,Bl=Object.getPrototypeOf,kl=Object.prototype.hasOwnProperty,je=(e,u)=>function(){return e&&(u=(0,e[vu(e)[0]])(e=0)),u},I=(e,u)=>function(){return u||(0,e[vu(e)[0]])((u={exports:{}}).exports,u),u.exports},Ti=(e,u)=>{for(var r in u)Ar(e,r,{get:u[r],enumerable:!0})},Ni=(e,u,r,t)=>{if(u&&typeof u=="object"||typeof u=="function")for(let a of vu(u))!kl.call(e,a)&&a!==r&&Ar(e,a,{get:()=>u[a],enumerable:!(t=wl(u,a))||t.enumerable});return e},ql=(e,u,r)=>(r=e!=null?yl(Bl(e)):{},Ni(u||!e||!e.__esModule?Ar(r,"default",{value:e,enumerable:!0}):r,e)),Li=e=>Ni(Ar({},"__esModule",{value:!0}),e),Qe,S=je({""(){Qe={env:{},argv:[]}}}),Pe=I({"node_modules/xtend/immutable.js"(e,u){S(),u.exports=t;var r=Object.prototype.hasOwnProperty;function t(){for(var a={},n=0;n-1&&DD)return{line:o+1,column:D-(n[o-1]||0)+1,offset:D}}return{}}function i(D){var o=D&&D.line,l=D&&D.column,d;return!isNaN(o)&&!isNaN(l)&&o-1 in n&&(d=(n[o-2]||0)+l-1||0),d>-1&&d",Iacute:"\xCD",Icirc:"\xCE",Igrave:"\xCC",Iuml:"\xCF",LT:"<",Ntilde:"\xD1",Oacute:"\xD3",Ocirc:"\xD4",Ograve:"\xD2",Oslash:"\xD8",Otilde:"\xD5",Ouml:"\xD6",QUOT:'"',REG:"\xAE",THORN:"\xDE",Uacute:"\xDA",Ucirc:"\xDB",Ugrave:"\xD9",Uuml:"\xDC",Yacute:"\xDD",aacute:"\xE1",acirc:"\xE2",acute:"\xB4",aelig:"\xE6",agrave:"\xE0",amp:"&",aring:"\xE5",atilde:"\xE3",auml:"\xE4",brvbar:"\xA6",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",ecirc:"\xEA",egrave:"\xE8",eth:"\xF0",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",iacute:"\xED",icirc:"\xEE",iexcl:"\xA1",igrave:"\xEC",iquest:"\xBF",iuml:"\xEF",laquo:"\xAB",lt:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",oacute:"\xF3",ocirc:"\xF4",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",otilde:"\xF5",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',raquo:"\xBB",reg:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",times:"\xD7",uacute:"\xFA",ucirc:"\xFB",ugrave:"\xF9",uml:"\xA8",uuml:"\xFC",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}}}),Ll=I({"node_modules/character-reference-invalid/index.json"(e,u){u.exports={0:"\uFFFD",128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"}}}),Me=I({"node_modules/is-decimal/index.js"(e,u){"use strict";S(),u.exports=r;function r(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=48&&a<=57}}}),Rl=I({"node_modules/is-hexadecimal/index.js"(e,u){"use strict";S(),u.exports=r;function r(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=97&&a<=102||a>=65&&a<=70||a>=48&&a<=57}}}),er=I({"node_modules/is-alphabetical/index.js"(e,u){"use strict";S(),u.exports=r;function r(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=97&&a<=122||a>=65&&a<=90}}}),jl=I({"node_modules/is-alphanumerical/index.js"(e,u){"use strict";S();var r=er(),t=Me();u.exports=a;function a(n){return r(n)||t(n)}}}),Pl=I({"node_modules/character-entities/index.json"(e,u){u.exports={AEli:"\xC6",AElig:"\xC6",AM:"&",AMP:"&",Aacut:"\xC1",Aacute:"\xC1",Abreve:"\u0102",Acir:"\xC2",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrav:"\xC0",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Arin:"\xC5",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atild:"\xC3",Atilde:"\xC3",Aum:"\xC4",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COP:"\xA9",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedi:"\xC7",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ET:"\xD0",ETH:"\xD0",Eacut:"\xC9",Eacute:"\xC9",Ecaron:"\u011A",Ecir:"\xCA",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrav:"\xC8",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Eum:"\xCB",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",G:">",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacut:"\xCD",Iacute:"\xCD",Icir:"\xCE",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrav:"\xCC",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Ium:"\xCF",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",L:"<",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntild:"\xD1",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacut:"\xD3",Oacute:"\xD3",Ocir:"\xD4",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograv:"\xD2",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslas:"\xD8",Oslash:"\xD8",Otild:"\xD5",Otilde:"\xD5",Otimes:"\u2A37",Oum:"\xD6",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUO:'"',QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",RE:"\xAE",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THOR:"\xDE",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacut:"\xDA",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucir:"\xDB",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrav:"\xD9",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uum:"\xDC",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacut:"\xDD",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacut:"\xE1",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acir:"\xE2",acirc:"\xE2",acut:"\xB4",acute:"\xB4",acy:"\u0430",aeli:"\xE6",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrav:"\xE0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",am:"&",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",arin:"\xE5",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atild:"\xE3",atilde:"\xE3",aum:"\xE4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvba:"\xA6",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedi:"\xE7",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedi:"\xB8",cedil:"\xB8",cemptyv:"\u29B2",cen:"\xA2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",cop:"\xA9",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curre:"\xA4",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",de:"\xB0",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divid:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacut:"\xE9",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\xEA",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrav:"\xE8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",et:"\xF0",eth:"\xF0",eum:"\xEB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac1:"\xBC",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac3:"\xBE",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",g:">",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacut:"\xED",iacute:"\xED",ic:"\u2063",icir:"\xEE",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexc:"\xA1",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrav:"\xEC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iques:"\xBF",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",ium:"\xEF",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laqu:"\xAB",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",l:"<",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",mac:"\xAF",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micr:"\xB5",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middo:"\xB7",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbs:"\xA0",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",no:"\xAC",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntild:"\xF1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacut:"\xF3",oacute:"\xF3",oast:"\u229B",ocir:"\xF4",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograv:"\xF2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\xBA",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslas:"\xF8",oslash:"\xF8",osol:"\u2298",otild:"\xF5",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",oum:"\xF6",ouml:"\xF6",ovbar:"\u233D",par:"\xB6",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusm:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",poun:"\xA3",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quo:'"',quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raqu:"\xBB",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",re:"\xAE",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sec:"\xA7",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",sh:"\xAD",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szli:"\xDF",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thor:"\xFE",thorn:"\xFE",tilde:"\u02DC",time:"\xD7",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacut:"\xFA",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucir:"\xFB",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrav:"\xF9",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",um:"\xA8",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uum:"\xFC",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacut:"\xFD",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",ye:"\xA5",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yum:"\xFF",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}}}),Ml=I({"node_modules/parse-entities/decode-entity.js"(e,u){"use strict";S();var r=Pl();u.exports=a;var t={}.hasOwnProperty;function a(n){return t.call(r,n)?r[n]:!1}}}),xr=I({"node_modules/parse-entities/index.js"(e,u){"use strict";S();var r=Nl(),t=Ll(),a=Me(),n=Rl(),s=jl(),c=Ml();u.exports=J;var i={}.hasOwnProperty,D=String.fromCharCode,o=Function.prototype,l={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},d=9,p=10,g=12,F=32,E=38,b=59,f=60,x=61,v=35,h=88,m=120,C=65533,w="named",q="hexadecimal",L="decimal",B={};B[q]=16,B[L]=10;var O={};O[w]=s,O[L]=a,O[q]=n;var T=1,P=2,A=3,j=4,H=5,U=6,X=7,R={};R[T]="Named character references must be terminated by a semicolon",R[P]="Numeric character references must be terminated by a semicolon",R[A]="Named character references cannot be empty",R[j]="Numeric character references cannot be empty",R[H]="Named character references must be known",R[U]="Numeric character references cannot be disallowed",R[X]="Numeric character references cannot be outside the permissible Unicode range";function J(k,y){var _={},N,G;y||(y={});for(G in l)N=y[G],_[G]=N==null?l[G]:N;return(_.position.indent||_.position.start)&&(_.indent=_.position.indent||[],_.position=_.position.start),z(k,_)}function z(k,y){var _=y.additional,N=y.nonTerminated,G=y.text,W=y.reference,K=y.warning,ee=y.textContext,Y=y.referenceContext,ue=y.warningContext,le=y.position,ce=y.indent||[],te=k.length,Z=0,Q=-1,De=le.column||1,ye=le.line||1,fe="",he=[],ae,pe,ne,re,we,oe,ie,Ce,rr,br,qe,$e,_e,xe,Fu,Ue,ur,ge,se;for(typeof _=="string"&&(_=_.charCodeAt(0)),Ue=Ge(),Ce=K?ta:o,Z--,te++;++Z65535&&(oe-=65536,br+=D(oe>>>10|55296),oe=56320|oe&1023),oe=br+D(oe))):xe!==w&&Ce(j,ge)),oe?(Au(),Ue=Ge(),Z=se-1,De+=se-_e+1,he.push(oe),ur=Ge(),ur.offset++,W&&W.call(Y,oe,{start:Ue,end:ur},k.slice(_e-1,se)),Ue=ur):(re=k.slice(_e-1,se),fe+=re,De+=re.length,Z=se-1)}else we===10&&(ye++,Q++,De=0),we===we?(fe+=D(we),De++):Au();return he.join("");function Ge(){return{line:ye,column:De,offset:Z+(le.offset||0)}}function ta(xu,bu){var yr=Ge();yr.column+=bu,yr.offset+=bu,K.call(ue,R[xu],yr,xu)}function Au(){fe&&(he.push(fe),G&&G.call(ee,fe,{start:Ue,end:Ge()}),fe="")}}function M(k){return k>=55296&&k<=57343||k>1114111}function $(k){return k>=1&&k<=8||k===11||k>=13&&k<=31||k>=127&&k<=159||k>=64976&&k<=65007||(k&65535)===65535||(k&65535)===65534}}}),zl=I({"node_modules/remark-parse/lib/decode.js"(e,u){"use strict";S();var r=Pe(),t=xr();u.exports=a;function a(n){return c.raw=i,c;function s(o){for(var l=n.offset,d=o.line,p=[];++d&&d in l;)p.push((l[d]||0)+1);return{start:o,indent:p}}function c(o,l,d){t(o,{position:s(l),warning:D,text:d,reference:d,textContext:n,referenceContext:n})}function i(o,l,d){return t(o,r(d,{position:s(l),warning:D}))}function D(o,l,d){d!==3&&n.file.message(o,l)}}}}),$l=I({"node_modules/remark-parse/lib/tokenizer.js"(e,u){"use strict";S(),u.exports=r;function r(s){return c;function c(i,D){var o=this,l=o.offset,d=[],p=o[s+"Methods"],g=o[s+"Tokenizers"],F=D.line,E=D.column,b,f,x,v,h,m;if(!i)return d;for(P.now=q,P.file=o.file,C("");i;){for(b=-1,f=p.length,h=!1;++b"],t=r.concat(["~","|"]),a=t.concat([` -`,'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);n.default=r,n.gfm=t,n.commonmark=a;function n(s){var c=s||{};return c.commonmark?a:c.gfm?t:r}}}),Gl=I({"node_modules/remark-parse/lib/block-elements.js"(e,u){"use strict";S(),u.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]}}),Ri=I({"node_modules/remark-parse/lib/defaults.js"(e,u){"use strict";S(),u.exports={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:Gl()}}}),Vl=I({"node_modules/remark-parse/lib/set-options.js"(e,u){"use strict";S();var r=Pe(),t=Ul(),a=Ri();u.exports=n;function n(s){var c=this,i=c.options,D,o;if(s==null)s={};else if(typeof s=="object")s=r(s);else throw new Error("Invalid value `"+s+"` for setting `options`");for(D in a){if(o=s[D],o==null&&(o=i[D]),D!=="blocks"&&typeof o!="boolean"||D==="blocks"&&typeof o!="object")throw new Error("Invalid value `"+o+"` for setting `options."+D+"`");s[D]=o}return c.options=s,c.escape=t(s),c}}}),Hl=I({"node_modules/unist-util-is/convert.js"(e,u){"use strict";S(),u.exports=r;function r(c){if(c==null)return s;if(typeof c=="string")return n(c);if(typeof c=="object")return"length"in c?a(c):t(c);if(typeof c=="function")return c;throw new Error("Expected function, string, or object as test")}function t(c){return i;function i(D){var o;for(o in c)if(D[o]!==c[o])return!1;return!0}}function a(c){for(var i=[],D=-1;++D":""))+")"),h;function h(){var m=f.concat(E),C=[],w,q;if((!o||g(E,b,f[f.length-1]||null))&&(C=i(l(E,f)),C[0]===s))return C;if(E.children&&C[0]!==n)for(q=(d?E.children.length:-1)+p;q>-1&&q"u")t=n,r="";else if(r.length>=c)return r.substr(0,c);for(;c>r.length&&s>1;)s&1&&(r+=n),s>>=1,n+=n;return r+=n,r=r.substr(0,c),r}}}),ji=I({"node_modules/trim-trailing-lines/index.js"(e,u){"use strict";S(),u.exports=r;function r(t){return String(t).replace(/\n+$/,"")}}}),Ql=I({"node_modules/remark-parse/lib/tokenize/code-indented.js"(e,u){"use strict";S();var r=mu(),t=ji();u.exports=D;var a=` -`,n=" ",s=" ",c=4,i=r(s,c);function D(o,l,d){for(var p=-1,g=l.length,F="",E="",b="",f="",x,v,h;++p=i)){for(w="";Es)&&!(!v||!d&&D.charAt(g+1)===n)){for(p=D.length+1,x="";++g=i&&(!E||E===t)?(F+=x,d?!0:o(F)({type:"thematicBreak"})):void 0}}}),Pi=I({"node_modules/remark-parse/lib/util/get-indentation.js"(e,u){"use strict";S(),u.exports=s;var r=" ",t=" ",a=1,n=4;function s(c){for(var i=0,D=0,o=c.charAt(i),l={},d,p=0;o===r||o===t;){for(d=o===r?n:a,D+=d,d>1&&(D=Math.floor(D/d)*d);p0&&E.indent=Q.indent&&(ne=!0),y=T.charAt(R),K=null,!ne){if(y===i||y===o||y===l)K=y,R++,M++;else{for($="";R=Q.indent||M>f),W=!1,R=G;if(Y=T.slice(G,N),ee=G===R?Y:T.slice(R,N),(K===i||K===D||K===l)&&U.thematicBreak.call(A,O,Y,!0))break;if(ue=le,le=!W&&!r(ee).length,ne&&Q)Q.value=Q.value.concat(Z,Y),te=te.concat(Z,Y),Z=[];else if(W)Z.length!==0&&(fe=!0,Q.value.push(""),Q.trail=Z.concat()),Q={value:[Y],indent:M,trail:[]},ce.push(Q),te=te.concat(Z,Y),Z=[];else if(le){if(ue&&!j)break;Z.push(Y)}else{if(ue||c(X,U,A,[O,Y,!0]))break;Q.value=Q.value.concat(Z,Y),te=te.concat(Z,Y),Z=[]}R=N+1}for(he=O(te.join(g)).reset({type:"list",ordered:k,start:z,spread:fe,children:[]}),De=A.enterList(),ye=A.enterBlock(),R=-1,J=ce.length;++R=c){b--;break}f+=h}for(x="",v="";++b`\\u0000-\\u0020]+",t="'[^']*'",a='"[^"]*"',n="(?:"+r+"|"+t+"|"+a+")",s="(?:\\s+"+u+"(?:\\s*=\\s*"+n+")?)",c="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",D="|",o="<[?].*?[?]>",l="]*>",d="";e.openCloseTag=new RegExp("^(?:"+c+"|"+i+")"),e.tag=new RegExp("^(?:"+c+"|"+i+"|"+D+"|"+o+"|"+l+"|"+d+")")}}),oD=I({"node_modules/remark-parse/lib/tokenize/html-block.js"(e,u){"use strict";S();var r=Mi().openCloseTag;u.exports=x;var t=" ",a=" ",n=` -`,s="<",c=/^<(script|pre|style)(?=(\s|>|$))/i,i=/<\/(script|pre|style)>/i,D=/^/,l=/^<\?/,d=/\?>/,p=/^/,F=/^/,b=/^$/,f=new RegExp(r.source+"\\s*$");function x(v,h,m){for(var C=this,w=C.options.blocks.join("|"),q=new RegExp("^|$))","i"),L=h.length,B=0,O,T,P,A,j,H,U,X=[[c,i,!0],[D,o,!0],[l,d,!0],[p,g,!0],[F,E,!0],[q,b,!0],[f,b,!1]];BM){if(X1&&(O?(C+=B.slice(0,-1),B=B.charAt(B.length-1)):(C+=B,B="")),H=E.now(),E(C)({type:"tableCell",children:x.tokenizeInline(A,H)},w)),E(B+O),B="",A=""):(B&&(A+=B,B=""),A+=O,O===i&&v!==q-2&&(A+=R.charAt(v+1),v++)),j=!1,v++}U||E(a+h)}return z}}}}}),DD=I({"node_modules/remark-parse/lib/tokenize/paragraph.js"(e,u){"use strict";S();var r=ze(),t=ji(),a=Eu();u.exports=D;var n=" ",s=` -`,c=" ",i=4;function D(o,l,d){for(var p=this,g=p.options,F=g.commonmark,E=p.blockTokenizers,b=p.interruptParagraph,f=l.indexOf(s),x=l.length,v,h,m,C,w;f=i&&m!==s){f=l.indexOf(s,f+1);continue}}if(h=l.slice(f+1),a(b,E,p,[o,h,!0]))break;if(v=f,f=l.indexOf(s,f+1),f!==-1&&r(l.slice(v,f))===""){f=v;break}}return h=l.slice(0,f),d?!0:(w=o.now(),h=t(h),o(h)({type:"paragraph",children:p.tokenizeInline(h,w)}))}}}),fD=I({"node_modules/remark-parse/lib/locate/escape.js"(e,u){"use strict";S(),u.exports=r;function r(t,a){return t.indexOf("\\",a)}}}),pD=I({"node_modules/remark-parse/lib/tokenize/escape.js"(e,u){"use strict";S();var r=fD();u.exports=n,n.locator=r;var t=` -`,a="\\";function n(s,c,i){var D=this,o,l;if(c.charAt(0)===a&&(o=c.charAt(1),D.escape.indexOf(o)!==-1))return i?!0:(o===t?l={type:"break"}:l={type:"text",value:o},s(a+o)(l))}}}),$i=I({"node_modules/remark-parse/lib/locate/tag.js"(e,u){"use strict";S(),u.exports=r;function r(t,a){return t.indexOf("<",a)}}}),dD=I({"node_modules/remark-parse/lib/tokenize/auto-link.js"(e,u){"use strict";S();var r=be(),t=xr(),a=$i();u.exports=l,l.locator=a,l.notInLink=!0;var n="<",s=">",c="@",i="/",D="mailto:",o=D.length;function l(d,p,g){var F=this,E="",b=p.length,f=0,x="",v=!1,h="",m,C,w,q,L;if(p.charAt(0)===n){for(f++,E=n;fk;)R=J+z.lastIndexOf(m),z=q.slice(J,R),y--;if(q.charCodeAt(R-1)===E&&(R--,n(q.charCodeAt(R-1)))){for($=R-2;n(q.charCodeAt($));)$--;q.charCodeAt($)===D&&(R=$)}return _=q.slice(0,R),G=t(_,{nonTerminated:!1}),j&&(G="http://"+G),W=B.enterLink(),B.inlineTokenizers={text:T.text},N=B.tokenizeInline(_,w.now()),B.inlineTokenizers=T,W(),w(_)({type:"link",title:null,url:G,children:N})}}}}}),ED=I({"node_modules/remark-parse/lib/locate/email.js"(e,u){"use strict";S();var r=Me(),t=er(),a=43,n=45,s=46,c=95;u.exports=i;function i(o,l){var d=this,p,g;if(!this.options.gfm||(p=o.indexOf("@",l),p===-1))return-1;if(g=p,g===l||!D(o.charCodeAt(g-1)))return i.call(d,o,p+1);for(;g>l&&D(o.charCodeAt(g-1));)g--;return g}function D(o){return r(o)||t(o)||o===a||o===n||o===s||o===c}}}),CD=I({"node_modules/remark-parse/lib/tokenize/email.js"(e,u){"use strict";S();var r=xr(),t=Me(),a=er(),n=ED();u.exports=l,l.locator=n,l.notInLink=!0;var s=43,c=45,i=46,D=64,o=95;function l(d,p,g){var F=this,E=F.options.gfm,b=F.inlineTokenizers,f=0,x=p.length,v=-1,h,m,C,w;if(E){for(h=p.charCodeAt(f);t(h)||a(h)||h===s||h===c||h===i||h===o;)h=p.charCodeAt(++f);if(f!==0&&h===D){for(f++;f/i;function l(d,p,g){var F=this,E=p.length,b,f;if(!(p.charAt(0)!==n||E<3)&&(b=p.charAt(1),!(!r(b)&&b!==s&&b!==c&&b!==i)&&(f=p.match(a),!!f)))return g?!0:(f=f[0],!F.inLink&&D.test(f)?F.inLink=!0:F.inLink&&o.test(f)&&(F.inLink=!1),d(f)({type:"html",value:f}))}}}),Ui=I({"node_modules/remark-parse/lib/locate/link.js"(e,u){"use strict";S(),u.exports=r;function r(t,a){var n=t.indexOf("[",a),s=t.indexOf("![",a);return s===-1||n=T&&(T=0):T=O}else if(C===p)m++,j+=f.charAt(m);else if((!T||L)&&C===d)M++;else if((!T||L)&&C===g)if(M)M--;else{if(f.charAt(m+1)!==i)return;j+=i,B=!0,m++;break}$+=j,j="",m++}if(B){for(X=$,h+=$+j,m++;m2&&(F===a||F===t)&&(E===a||E===t)){for(l++,o--;la&&t.charAt(n-1)===" ";)n--;return n}}}),SD=I({"node_modules/remark-parse/lib/tokenize/break.js"(e,u){"use strict";S();var r=ID();u.exports=s,s.locator=r;var t=" ",a=` -`,n=2;function s(c,i,D){for(var o=i.length,l=-1,d="",p;++l"u"||r.call(l,g)},i=function(l,d){a&&d.name==="__proto__"?a(l,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):l[d.name]=d.newValue},D=function(l,d){if(d==="__proto__")if(r.call(l,d)){if(n)return n(l,d).value}else return;return l[d]};u.exports=function o(){var l,d,p,g,F,E,b=arguments[0],f=1,x=arguments.length,v=!1;for(typeof b=="boolean"&&(v=b,b=arguments[1]||{},f=2),(b==null||typeof b!="object"&&typeof b!="function")&&(b={});f{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let t=Object.getPrototypeOf(r);return t===null||t===Object.prototype}}}),MD=I({"node_modules/trough/wrap.js"(e,u){"use strict";S();var r=[].slice;u.exports=t;function t(a,n){var s;return c;function c(){var o=r.call(arguments,0),l=a.length>o.length,d;l&&o.push(i);try{d=a.apply(null,o)}catch(p){if(l&&s)throw p;return i(p)}l||(d&&typeof d.then=="function"?d.then(D,i):d instanceof Error?i(d):D(d))}function i(){s||(s=!0,n.apply(null,arguments))}function D(o){i(null,o)}}}}),zD=I({"node_modules/trough/index.js"(e,u){"use strict";S();var r=MD();u.exports=a,a.wrap=r;var t=[].slice;function a(){var n=[],s={};return s.run=c,s.use=i,s;function c(){var D=-1,o=t.call(arguments,0,-1),l=arguments[arguments.length-1];if(typeof l!="function")throw new Error("Expected function as last argument, not "+l);d.apply(null,[null].concat(o));function d(p){var g=n[++D],F=t.call(arguments,0),E=F.slice(1),b=o.length,f=-1;if(p){l(p);return}for(;++fi.length){for(;d--;)if(i.charCodeAt(d)===47){if(g){o=d+1;break}}else l<0&&(g=!0,l=d+1);return l<0?"":i.slice(o,l)}if(D===i)return"";for(p=-1,F=D.length-1;d--;)if(i.charCodeAt(d)===47){if(g){o=d+1;break}}else p<0&&(g=!0,p=d+1),F>-1&&(i.charCodeAt(d)===D.charCodeAt(F--)?F<0&&(l=d):(F=-1,l=p));return o===l?l=p:l<0&&(l=i.length),i.slice(o,l)}function r(i){var D,o,l;if(c(i),!i.length)return".";for(D=-1,l=i.length;--l;)if(i.charCodeAt(l)===47){if(o){D=l;break}}else o||(o=!0);return D<0?i.charCodeAt(0)===47?"/":".":D===1&&i.charCodeAt(0)===47?"//":i.slice(0,D)}function t(i){var D=-1,o=0,l=-1,d=0,p,g,F;for(c(i),F=i.length;F--;){if(g=i.charCodeAt(F),g===47){if(p){o=F+1;break}continue}l<0&&(p=!0,l=F+1),g===46?D<0?D=F:d!==1&&(d=1):D>-1&&(d=-1)}return D<0||l<0||d===0||d===1&&D===l-1&&D===o+1?"":i.slice(D,l)}function a(){for(var i=-1,D;++i2){if(E=o.lastIndexOf("/"),E!==o.length-1){E<0?(o="",l=0):(o=o.slice(0,E),l=o.length-1-o.lastIndexOf("/")),d=g,p=0;continue}}else if(o.length){o="",l=0,d=g,p=0;continue}}D&&(o=o.length?o+"/..":"..",l=2)}else o.length?o+="/"+i.slice(d+1,g):o=i.slice(d+1,g),l=g-d-1;d=g,p=0}else F===46&&p>-1?p++:p=-1}return o}function c(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}}}),VD=I({"node_modules/vfile/lib/minproc.browser.js"(e){"use strict";S(),e.cwd=u;function u(){return"/"}}}),HD=I({"node_modules/vfile/lib/core.js"(e,u){"use strict";S();var r=GD(),t=VD(),a=Gi();u.exports=c;var n={}.hasOwnProperty,s=["history","path","basename","stem","extname","dirname"];c.prototype.toString=f,Object.defineProperty(c.prototype,"path",{get:i,set:D}),Object.defineProperty(c.prototype,"dirname",{get:o,set:l}),Object.defineProperty(c.prototype,"basename",{get:d,set:p}),Object.defineProperty(c.prototype,"extname",{get:g,set:F}),Object.defineProperty(c.prototype,"stem",{get:E,set:b});function c(m){var C,w;if(!m)m={};else if(typeof m=="string"||a(m))m={contents:m};else if("message"in m&&"messages"in m)return m;if(!(this instanceof c))return new c(m);for(this.data={},this.messages=[],this.history=[],this.cwd=t.cwd(),w=-1;++w-1)throw new Error("`extname` cannot contain multiple dots")}this.path=r.join(this.dirname,this.stem+(m||""))}function E(){return typeof this.path=="string"?r.basename(this.path,this.extname):void 0}function b(m){v(m,"stem"),x(m,"stem"),this.path=r.join(this.dirname||"",m+(this.extname||""))}function f(m){return(this.contents||"").toString(m)}function x(m,C){if(m&&m.indexOf(r.sep)>-1)throw new Error("`"+C+"` cannot be a path: did not expect `"+r.sep+"`")}function v(m,C){if(!m)throw new Error("`"+C+"` cannot be empty")}function h(m,C){if(!m)throw new Error("Setting `"+C+"` requires `path` to be set too")}}}),XD=I({"node_modules/vfile/lib/index.js"(e,u){"use strict";S();var r=UD(),t=HD();u.exports=t,t.prototype.message=a,t.prototype.info=s,t.prototype.fail=n;function a(c,i,D){var o=new r(c,i,D);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}function n(){var c=this.message.apply(this,arguments);throw c.fatal=!0,c}function s(){var c=this.message.apply(this,arguments);return c.fatal=null,c}}}),WD=I({"node_modules/vfile/index.js"(e,u){"use strict";S(),u.exports=XD()}}),KD=I({"node_modules/unified/index.js"(e,u){"use strict";S();var r=RD(),t=Gi(),a=jD(),n=PD(),s=zD(),c=WD();u.exports=g().freeze();var i=[].slice,D={}.hasOwnProperty,o=s().use(l).use(d).use(p);function l(m,C){C.tree=m.parse(C.file)}function d(m,C,w){m.run(C.tree,C.file,q);function q(L,B,O){L?w(L):(C.tree=B,C.file=O,w())}}function p(m,C){var w=m.stringify(C.tree,C.file);w==null||(typeof w=="string"||t(w)?C.file.contents=w:C.file.result=w)}function g(){var m=[],C=s(),w={},q=-1,L;return B.data=T,B.freeze=O,B.attachers=m,B.use=P,B.parse=j,B.stringify=X,B.run=H,B.runSync=U,B.process=R,B.processSync=J,B;function B(){for(var z=g(),M=-1;++Mc)&&(!w||T===n)){A=L-1,L++,w&&L++,j=L;break}}else O===i&&(L++,T=h.charCodeAt(L+1));L++}if(j!==void 0)return m?!0:(H=h.slice(P,A+1),v(h.slice(0,j))({type:"inlineMath",value:H,data:{hName:"span",hProperties:{className:D.concat(w&&F.inlineMathDouble?[o]:[])},hChildren:[{type:"text",value:H}]}}))}}}}function p(g){let F=g.prototype;F.visitors.inlineMath=E;function E(b){let f="$";return(b.data&&b.data.hProperties&&b.data.hProperties.className||[]).includes(o)&&(f="$$"),f+b.value+f}}}}),JD=I({"node_modules/remark-math/block.js"(e,u){S();var r=Vi();u.exports=o;var t=10,a=32,n=36,s=` -`,c="$",i=2,D=["math","math-display"];function o(){let p=this.Parser,g=this.Compiler;r.isRemarkParser(p)&&l(p),r.isRemarkCompiler(g)&&d(g)}function l(p){let g=p.prototype,F=g.blockMethods,E=g.interruptParagraph,b=g.interruptList,f=g.interruptBlockquote;g.blockTokenizers.math=x,F.splice(F.indexOf("fencedCode")+1,0,"math"),E.splice(E.indexOf("fencedCode")+1,0,["math"]),b.splice(b.indexOf("fencedCode")+1,0,["math"]),f.splice(f.indexOf("fencedCode")+1,0,["math"]);function x(v,h,m){var C=h.length,w=0;let q,L,B,O,T,P,A,j,H,U,X;for(;wU&&h.charCodeAt(O-1)===a;)O--;for(;O>U&&h.charCodeAt(O-1)===n;)H++,O--;for(P<=H&&h.indexOf(c,U)===O&&(j=!0,X=O);U<=X&&U-wU&&h.charCodeAt(X-1)===a;)X--;if((!j||U!==X)&&L.push(h.slice(U,X)),j)break;w=B+1,B=h.indexOf(s,w+1),B=B===-1?C:B}return L=L.join(` -`),v(h.slice(0,B))({type:"math",value:L,data:{hName:"div",hProperties:{className:D.concat()},hChildren:[{type:"text",value:L}]}})}}}}function d(p){let g=p.prototype;g.visitors.math=F;function F(E){return`$$ -`+E.value+` -$$`}}}}),ZD=I({"node_modules/remark-math/index.js"(e,u){S();var r=YD(),t=JD();u.exports=a;function a(n){var s=n||{};t.call(this,s),r.call(this,s)}}}),QD=I({"node_modules/remark-footnotes/index.js"(e,u){"use strict";S(),u.exports=g;var r=9,t=10,a=32,n=33,s=58,c=91,i=92,D=93,o=94,l=96,d=4,p=1024;function g(h){var m=this.Parser,C=this.Compiler;F(m)&&b(m,h),E(C)&&f(C)}function F(h){return Boolean(h&&h.prototype&&h.prototype.blockTokenizers)}function E(h){return Boolean(h&&h.prototype&&h.prototype.visitors)}function b(h,m){for(var C=m||{},w=h.prototype,q=w.blockTokenizers,L=w.inlineTokenizers,B=w.blockMethods,O=w.inlineMethods,T=q.definition,P=L.reference,A=[],j=-1,H=B.length,U;++jd&&(ae=void 0,pe=Y);else{if(ae0&&(re=ne[ee-1],re.contentStart===re.contentEnd);)ee--;for(De=y(_.slice(0,re.contentEnd));++Y-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function t(a){let n=a.match(r);if(!n)return{content:a};let{startDelimiter:s,language:c,value:i="",endDelimiter:D}=n.groups,o=c.trim()||"yaml";if(s==="+++"&&(o="toml"),o!=="yaml"&&s!==D)return{content:a};let[l]=n;return{frontMatter:{type:"front-matter",lang:o,value:i,startDelimiter:s,endDelimiter:D,raw:l.replace(/\n$/,"")},content:l.replace(/[^\n]/g," ")+a.slice(l.length)}}u.exports=t}}),e2=I({"src/language-markdown/pragma.js"(e,u){"use strict";S();var r=Hi(),t=["format","prettier"];function a(n){let s=`@(${t.join("|")})`,c=new RegExp([``,`{\\s*\\/\\*\\s*${s}\\s*\\*\\/\\s*}`,``].join("|"),"m"),i=n.match(c);return(i==null?void 0:i.index)===0}u.exports={startWithPragma:a,hasPragma:n=>a(r(n).content.trimStart()),insertPragma:n=>{let s=r(n),c=``;return s.frontMatter?`${s.frontMatter.raw} - -${c} - -${s.content}`:`${c} - -${s.content}`}}}}),Xi=I({"src/language-markdown/loc.js"(e,u){"use strict";S();function r(a){return a.position.start.offset}function t(a){return a.position.end.offset}u.exports={locStart:r,locEnd:t}}}),Wi=I({"src/language-markdown/mdx.js"(e,u){"use strict";S();var r=/^import\s/,t=/^export\s/,a="[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)*|",n=/|/,s=/^{\s*\/\*(.*)\*\/\s*}/,c=` - -`,i=p=>r.test(p),D=p=>t.test(p),o=(p,g)=>{let F=g.indexOf(c),E=g.slice(0,F);if(D(E)||i(E))return p(E)({type:D(E)?"export":"import",value:E})},l=(p,g)=>{let F=s.exec(g);if(F)return p(F[0])({type:"esComment",value:F[1].trim()})};o.locator=p=>D(p)||i(p)?-1:1,l.locator=(p,g)=>p.indexOf("{",g);function d(){let{Parser:p}=this,{blockTokenizers:g,blockMethods:F,inlineTokenizers:E,inlineMethods:b}=p.prototype;g.esSyntax=o,E.esComment=l,F.splice(F.indexOf("paragraph"),0,"esSyntax"),b.splice(b.indexOf("text"),0,"esComment")}u.exports={esSyntax:d,BLOCKS_REGEX:a,COMMENT_REGEX:n}}}),Ki={};Ti(Ki,{default:()=>r2});function r2(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var u2=je({"node_modules/escape-string-regexp/index.js"(){S()}}),t2=I({"src/utils/get-last.js"(e,u){"use strict";S();var r=t=>t[t.length-1];u.exports=r}}),Yi=I({"node_modules/semver/internal/debug.js"(e,u){S();var r=typeof Qe=="object"&&Qe.env&&Qe.env.NODE_DEBUG&&/\bsemver\b/i.test(Qe.env.NODE_DEBUG)?function(){for(var t=arguments.length,a=new Array(t),n=0;n{};u.exports=r}}),Ji=I({"node_modules/semver/internal/constants.js"(e,u){S();var r="2.0.0",t=256,a=Number.MAX_SAFE_INTEGER||9007199254740991,n=16;u.exports={SEMVER_SPEC_VERSION:r,MAX_LENGTH:t,MAX_SAFE_INTEGER:a,MAX_SAFE_COMPONENT_LENGTH:n}}}),n2=I({"node_modules/semver/internal/re.js"(e,u){S();var{MAX_SAFE_COMPONENT_LENGTH:r}=Ji(),t=Yi();e=u.exports={};var a=e.re=[],n=e.src=[],s=e.t={},c=0,i=(D,o,l)=>{let d=c++;t(D,d,o),s[D]=d,n[d]=o,a[d]=new RegExp(o,l?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*"),i("NUMERICIDENTIFIERLOOSE","[0-9]+"),i("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),i("MAINVERSION",`(${n[s.NUMERICIDENTIFIER]})\\.(${n[s.NUMERICIDENTIFIER]})\\.(${n[s.NUMERICIDENTIFIER]})`),i("MAINVERSIONLOOSE",`(${n[s.NUMERICIDENTIFIERLOOSE]})\\.(${n[s.NUMERICIDENTIFIERLOOSE]})\\.(${n[s.NUMERICIDENTIFIERLOOSE]})`),i("PRERELEASEIDENTIFIER",`(?:${n[s.NUMERICIDENTIFIER]}|${n[s.NONNUMERICIDENTIFIER]})`),i("PRERELEASEIDENTIFIERLOOSE",`(?:${n[s.NUMERICIDENTIFIERLOOSE]}|${n[s.NONNUMERICIDENTIFIER]})`),i("PRERELEASE",`(?:-(${n[s.PRERELEASEIDENTIFIER]}(?:\\.${n[s.PRERELEASEIDENTIFIER]})*))`),i("PRERELEASELOOSE",`(?:-?(${n[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[s.PRERELEASEIDENTIFIERLOOSE]})*))`),i("BUILDIDENTIFIER","[0-9A-Za-z-]+"),i("BUILD",`(?:\\+(${n[s.BUILDIDENTIFIER]}(?:\\.${n[s.BUILDIDENTIFIER]})*))`),i("FULLPLAIN",`v?${n[s.MAINVERSION]}${n[s.PRERELEASE]}?${n[s.BUILD]}?`),i("FULL",`^${n[s.FULLPLAIN]}$`),i("LOOSEPLAIN",`[v=\\s]*${n[s.MAINVERSIONLOOSE]}${n[s.PRERELEASELOOSE]}?${n[s.BUILD]}?`),i("LOOSE",`^${n[s.LOOSEPLAIN]}$`),i("GTLT","((?:<|>)?=?)"),i("XRANGEIDENTIFIERLOOSE",`${n[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),i("XRANGEIDENTIFIER",`${n[s.NUMERICIDENTIFIER]}|x|X|\\*`),i("XRANGEPLAIN",`[v=\\s]*(${n[s.XRANGEIDENTIFIER]})(?:\\.(${n[s.XRANGEIDENTIFIER]})(?:\\.(${n[s.XRANGEIDENTIFIER]})(?:${n[s.PRERELEASE]})?${n[s.BUILD]}?)?)?`),i("XRANGEPLAINLOOSE",`[v=\\s]*(${n[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[s.XRANGEIDENTIFIERLOOSE]})(?:${n[s.PRERELEASELOOSE]})?${n[s.BUILD]}?)?)?`),i("XRANGE",`^${n[s.GTLT]}\\s*${n[s.XRANGEPLAIN]}$`),i("XRANGELOOSE",`^${n[s.GTLT]}\\s*${n[s.XRANGEPLAINLOOSE]}$`),i("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),i("COERCERTL",n[s.COERCE],!0),i("LONETILDE","(?:~>?)"),i("TILDETRIM",`(\\s*)${n[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",i("TILDE",`^${n[s.LONETILDE]}${n[s.XRANGEPLAIN]}$`),i("TILDELOOSE",`^${n[s.LONETILDE]}${n[s.XRANGEPLAINLOOSE]}$`),i("LONECARET","(?:\\^)"),i("CARETTRIM",`(\\s*)${n[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",i("CARET",`^${n[s.LONECARET]}${n[s.XRANGEPLAIN]}$`),i("CARETLOOSE",`^${n[s.LONECARET]}${n[s.XRANGEPLAINLOOSE]}$`),i("COMPARATORLOOSE",`^${n[s.GTLT]}\\s*(${n[s.LOOSEPLAIN]})$|^$`),i("COMPARATOR",`^${n[s.GTLT]}\\s*(${n[s.FULLPLAIN]})$|^$`),i("COMPARATORTRIM",`(\\s*)${n[s.GTLT]}\\s*(${n[s.LOOSEPLAIN]}|${n[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",i("HYPHENRANGE",`^\\s*(${n[s.XRANGEPLAIN]})\\s+-\\s+(${n[s.XRANGEPLAIN]})\\s*$`),i("HYPHENRANGELOOSE",`^\\s*(${n[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[s.XRANGEPLAINLOOSE]})\\s*$`),i("STAR","(<|>)?=?\\s*\\*"),i("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),i("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),i2=I({"node_modules/semver/internal/parse-options.js"(e,u){S();var r=["includePrerelease","loose","rtl"],t=a=>a?typeof a!="object"?{loose:!0}:r.filter(n=>a[n]).reduce((n,s)=>(n[s]=!0,n),{}):{};u.exports=t}}),a2=I({"node_modules/semver/internal/identifiers.js"(e,u){S();var r=/^[0-9]+$/,t=(n,s)=>{let c=r.test(n),i=r.test(s);return c&&i&&(n=+n,s=+s),n===s?0:c&&!i?-1:i&&!c?1:nt(s,n);u.exports={compareIdentifiers:t,rcompareIdentifiers:a}}}),o2=I({"node_modules/semver/classes/semver.js"(e,u){S();var r=Yi(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:a}=Ji(),{re:n,t:s}=n2(),c=i2(),{compareIdentifiers:i}=a2(),D=class{constructor(o,l){if(l=c(l),o instanceof D){if(o.loose===!!l.loose&&o.includePrerelease===!!l.includePrerelease)return o;o=o.version}else if(typeof o!="string")throw new TypeError(`Invalid Version: ${o}`);if(o.length>t)throw new TypeError(`version is longer than ${t} characters`);r("SemVer",o,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let d=o.trim().match(l.loose?n[s.LOOSE]:n[s.FULL]);if(!d)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){let g=+p;if(g>=0&&g=0;)typeof this.prerelease[d]=="number"&&(this.prerelease[d]++,d=-2);d===-1&&this.prerelease.push(0)}l&&(i(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=[l,0]):this.prerelease=[l,0]);break;default:throw new Error(`invalid increment argument: ${o}`)}return this.format(),this.raw=this.version,this}};u.exports=D}}),Cu=I({"node_modules/semver/functions/compare.js"(e,u){S();var r=o2(),t=(a,n,s)=>new r(a,s).compare(new r(n,s));u.exports=t}}),s2=I({"node_modules/semver/functions/lt.js"(e,u){S();var r=Cu(),t=(a,n,s)=>r(a,n,s)<0;u.exports=t}}),c2=I({"node_modules/semver/functions/gte.js"(e,u){S();var r=Cu(),t=(a,n,s)=>r(a,n,s)>=0;u.exports=t}}),l2=I({"src/utils/arrayify.js"(e,u){"use strict";S(),u.exports=(r,t)=>Object.entries(r).map(a=>{let[n,s]=a;return Object.assign({[t]:n},s)})}}),D2=I({"package.json"(e,u){u.exports={version:"2.8.8"}}}),f2=I({"node_modules/outdent/lib/index.js"(e,u){"use strict";S(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function r(){for(var f=[],x=0;xtypeof l=="string"||typeof l=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:i,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin",cliCategory:t},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:i,description:r` - Custom directory that contains prettier plugins in node_modules subdirectory. - Overrides default behavior when plugins are searched relatively to the location of Prettier. - Multiple values are accepted. - `,exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin-search-dir",cliCategory:t},printWidth:{since:"0.0.0",category:i,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:D,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:r` - Format code ending at a given character offset (exclusive). - The range will extend forwards to the end of the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},rangeStart:{since:"1.4.0",category:D,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:r` - Format code starting at a given character offset. - The range will extend backwards to the start of the first line containing the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},requirePragma:{since:"1.7.0",category:D,type:"boolean",default:!1,description:r` - Require either '@prettier' or '@format' to be present in the file's first docblock comment - in order for it to be formatted. - `,cliCategory:s},tabWidth:{type:"int",category:i,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:i,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:i,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};u.exports={CATEGORY_CONFIG:t,CATEGORY_EDITOR:a,CATEGORY_FORMAT:n,CATEGORY_OTHER:s,CATEGORY_OUTPUT:c,CATEGORY_GLOBAL:i,CATEGORY_SPECIAL:D,options:o}}}),d2=I({"src/main/support.js"(e,u){"use strict";S();var r={compare:Cu(),lt:s2(),gte:c2()},t=l2(),a=D2().version,n=p2().options;function s(){let{plugins:i=[],showUnreleased:D=!1,showDeprecated:o=!1,showInternal:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=a.split("-",1)[0],p=i.flatMap(f=>f.languages||[]).filter(F),g=t(Object.assign({},...i.map(f=>{let{options:x}=f;return x}),n),"name").filter(f=>F(f)&&E(f)).sort((f,x)=>f.name===x.name?0:f.name{f=Object.assign({},f),Array.isArray(f.default)&&(f.default=f.default.length===1?f.default[0].value:f.default.filter(F).sort((v,h)=>r.compare(h.since,v.since))[0].value),Array.isArray(f.choices)&&(f.choices=f.choices.filter(v=>F(v)&&E(v)),f.name==="parser"&&c(f,p,i));let x=Object.fromEntries(i.filter(v=>v.defaultOptions&&v.defaultOptions[f.name]!==void 0).map(v=>[v.name,v.defaultOptions[f.name]]));return Object.assign(Object.assign({},f),{},{pluginDefaults:x})});return{languages:p,options:g};function F(f){return D||!("since"in f)||f.since&&r.gte(d,f.since)}function E(f){return o||!("deprecated"in f)||f.deprecated&&r.lt(d,f.deprecated)}function b(f){if(l)return f;let{cliName:x,cliCategory:v,cliDescription:h}=f;return xl(f,Al)}}function c(i,D,o){let l=new Set(i.choices.map(d=>d.value));for(let d of D)if(d.parsers){for(let p of d.parsers)if(!l.has(p)){l.add(p);let g=o.find(E=>E.parsers&&E.parsers[p]),F=d.name;g&&g.name&&(F+=` (plugin: ${g.name})`),i.choices.push({value:p,description:F})}}}u.exports={getSupportInfo:s}}}),h2=I({"src/utils/is-non-empty-array.js"(e,u){"use strict";S();function r(t){return Array.isArray(t)&&t.length>0}u.exports=r}});function v2(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,e?void 0:"g")}var m2=je({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){S()}});function E2(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(v2(),"")}var C2=je({"node_modules/strip-ansi/index.js"(){S(),m2()}});function g2(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var F2=je({"node_modules/is-fullwidth-code-point/index.js"(){S()}}),A2=I({"node_modules/emoji-regex/index.js"(e,u){"use strict";S(),u.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),Zi={};Ti(Zi,{default:()=>x2});function x2(e){if(typeof e!="string"||e.length===0||(e=E2(e),e.length===0))return 0;e=e.replace((0,Qi.default)()," ");let u=0;for(let r=0;r=127&&t<=159||t>=768&&t<=879||(t>65535&&r++,u+=g2(t)?2:1)}return u}var Qi,b2=je({"node_modules/string-width/index.js"(){S(),C2(),F2(),Qi=ql(A2())}}),y2=I({"src/utils/get-string-width.js"(e,u){"use strict";S();var r=(b2(),Li(Zi)).default,t=/[^\x20-\x7F]/;function a(n){return n?t.test(n)?r(n):n.length:0}u.exports=a}}),gu=I({"src/utils/text/skip.js"(e,u){"use strict";S();function r(c){return(i,D,o)=>{let l=o&&o.backwards;if(D===!1)return!1;let{length:d}=i,p=D;for(;p>=0&&pk[k.length-2];function E(k){return(y,_,N)=>{let G=N&&N.backwards;if(_===!1)return!1;let{length:W}=y,K=_;for(;K>=0&&K2&&arguments[2]!==void 0?arguments[2]:{},N=i(k,_.backwards?y-1:y,_),G=p(k,N,_);return N!==G}function f(k,y,_){for(let N=y;N<_;++N)if(k.charAt(N)===` -`)return!0;return!1}function x(k,y,_){let N=_(y)-1;N=i(k,N,{backwards:!0}),N=p(k,N,{backwards:!0}),N=i(k,N,{backwards:!0});let G=p(k,N,{backwards:!0});return N!==G}function v(k,y){let _=null,N=y;for(;N!==_;)_=N,N=D(k,N),N=l(k,N),N=i(k,N);return N=d(k,N),N=p(k,N),N!==!1&&b(k,N)}function h(k,y,_){return v(k,_(y))}function m(k,y,_){return g(k,_(y))}function C(k,y,_){return k.charAt(m(k,y,_))}function w(k,y){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return i(k,_.backwards?y-1:y,_)!==y}function q(k,y){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,N=0;for(let G=_;GY?W:G}return K}function O(k,y){let _=k.slice(1,-1),N=y.parser==="json"||y.parser==="json5"&&y.quoteProps==="preserve"&&!y.singleQuote?'"':y.__isInHtmlAttribute?"'":B(_,y.singleQuote?"'":'"').quote;return T(_,N,!(y.parser==="css"||y.parser==="less"||y.parser==="scss"||y.__embeddedInHtml))}function T(k,y,_){let N=y==='"'?"'":'"',G=/\\(.)|(["'])/gs,W=k.replace(G,(K,ee,Y)=>ee===N?ee:Y===y?"\\"+Y:Y||(_&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(ee)?ee:"\\"+ee));return y+W+y}function P(k){return k.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(k,y){let _=k.match(new RegExp(`(${r(y)})+`,"g"));return _===null?0:_.reduce((N,G)=>Math.max(N,G.length/y.length),0)}function j(k,y){let _=k.match(new RegExp(`(${r(y)})+`,"g"));if(_===null)return 0;let N=new Map,G=0;for(let W of _){let K=W.length/y.length;N.set(K,!0),K>G&&(G=K)}for(let W=1;W{let{name:W}=G;return W.toLowerCase()===k})||_.find(G=>{let{aliases:W}=G;return Array.isArray(W)&&W.includes(k)})||_.find(G=>{let{extensions:W}=G;return Array.isArray(W)&&W.includes(`.${k}`)});return N&&N.parsers[0]}function z(k){return k&&k.type==="front-matter"}function M(k){let y=new WeakMap;return function(_){return y.has(_)||y.set(_,Symbol(k)),y.get(_)}}function $(k){let y=k.type||k.kind||"(unknown type)",_=String(k.name||k.id&&(typeof k.id=="object"?k.id.name:k.id)||k.key&&(typeof k.key=="object"?k.key.name:k.key)||k.value&&(typeof k.value=="object"?"":String(k.value))||k.operator||"");return _.length>20&&(_=_.slice(0,19)+"\u2026"),y+(_?" "+_:"")}u.exports={inferParserByLanguage:J,getStringWidth:s,getMaxContinuousCount:A,getMinNotPresentContinuousCount:j,getPenultimate:F,getLast:t,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:g,getNextNonSpaceNonCommentCharacterIndex:m,getNextNonSpaceNonCommentCharacter:C,skip:E,skipWhitespace:c,skipSpaces:i,skipToLineEnd:D,skipEverythingButNewLine:o,skipInlineComment:l,skipTrailingComment:d,skipNewline:p,isNextLineEmptyAfterIndex:v,isNextLineEmpty:h,isPreviousLineEmpty:x,hasNewline:b,hasNewlineInRange:f,hasSpaces:w,getAlignmentSize:q,getIndentSize:L,getPreferredQuote:B,printString:O,printNumber:P,makeString:T,addLeadingComment:U,addDanglingComment:X,addTrailingComment:R,isFrontMatterNode:z,isNonEmptyArray:n,createGroupIdMapper:M}}}),k2=I({"src/language-markdown/constants.evaluate.js"(e,u){u.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),q2=I({"src/language-markdown/utils.js"(e,u){"use strict";S();var{getLast:r}=B2(),{locStart:t,locEnd:a}=Xi(),{cjkPattern:n,kPattern:s,punctuationPattern:c}=k2(),i=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],D=[...i,"tableCell","paragraph","heading"],o=new RegExp(s),l=new RegExp(c);function d(f,x){let v="non-cjk",h="cj-letter",m="k-letter",C="cjk-punctuation",w=[],q=(x.proseWrap==="preserve"?f:f.replace(new RegExp(`(${n}) -(${n})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[B,O]of q.entries()){if(B%2===1){w.push({type:"whitespace",value:/\n/.test(O)?` -`:" "});continue}if((B===0||B===q.length-1)&&O==="")continue;let T=O.split(new RegExp(`(${n})`));for(let[P,A]of T.entries())if(!((P===0||P===T.length-1)&&A==="")){if(P%2===0){A!==""&&L({type:"word",value:A,kind:v,hasLeadingPunctuation:l.test(A[0]),hasTrailingPunctuation:l.test(r(A))});continue}L(l.test(A)?{type:"word",value:A,kind:C,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:A,kind:o.test(A)?m:h,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return w;function L(B){let O=r(w);O&&O.type==="word"&&(O.kind===v&&B.kind===h&&!O.hasTrailingPunctuation||O.kind===h&&B.kind===v&&!B.hasLeadingPunctuation?w.push({type:"whitespace",value:" "}):!T(v,C)&&![O.value,B.value].some(P=>/\u3000/.test(P))&&w.push({type:"whitespace",value:""})),w.push(B);function T(P,A){return O.kind===P&&B.kind===A||O.kind===A&&B.kind===P}}}function p(f,x){let[,v,h,m]=x.slice(f.position.start.offset,f.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:v,marker:h,leadingSpaces:m}}function g(f,x){if(!f.ordered||f.children.length<2)return!1;let v=Number(p(f.children[0],x.originalText).numberText),h=Number(p(f.children[1],x.originalText).numberText);if(v===0&&f.children.length>2){let m=Number(p(f.children[2],x.originalText).numberText);return h===1&&m===1}return h===1}function F(f,x){let{value:v}=f;return f.position.end.offset===x.length&&v.endsWith(` -`)&&x.endsWith(` -`)?v.slice(0,-1):v}function E(f,x){return function v(h,m,C){let w=Object.assign({},x(h,m,C));return w.children&&(w.children=w.children.map((q,L)=>v(q,L,[w,...C]))),w}(f,null,[])}function b(f){if((f==null?void 0:f.type)!=="link"||f.children.length!==1)return!1;let[x]=f.children;return t(f)===t(x)&&a(f)===a(x)}u.exports={mapAst:E,splitText:d,punctuationPattern:c,getFencedCodeBlockValue:F,getOrderedListItemInfo:p,hasGitDiffFriendlyOrderedList:g,INLINE_NODE_TYPES:i,INLINE_NODE_WRAPPER_TYPES:D,isAutolink:b}}}),_2=I({"src/language-markdown/unified-plugins/html-to-jsx.js"(e,u){"use strict";S();var r=Wi(),{mapAst:t,INLINE_NODE_WRAPPER_TYPES:a}=q2();function n(){return s=>t(s,(c,i,D)=>{let[o]=D;return c.type!=="html"||r.COMMENT_REGEX.test(c.value)||a.includes(o.type)?c:Object.assign(Object.assign({},c),{},{type:"jsx"})})}u.exports=n}}),O2=I({"src/language-markdown/unified-plugins/front-matter.js"(e,u){"use strict";S();var r=Hi();function t(){let a=this.Parser.prototype;a.blockMethods=["frontMatter",...a.blockMethods],a.blockTokenizers.frontMatter=n;function n(s,c){let i=r(c);if(i.frontMatter)return s(i.frontMatter.raw)(i.frontMatter)}n.onlyAtStart=!0}u.exports=t}}),I2=I({"src/language-markdown/unified-plugins/liquid.js"(e,u){"use strict";S();function r(){let t=this.Parser.prototype,a=t.inlineMethods;a.splice(a.indexOf("text"),0,"liquid"),t.inlineTokenizers.liquid=n;function n(s,c){let i=c.match(/^({%.*?%}|{{.*?}})/s);if(i)return s(i[0])({type:"liquidNode",value:i[0]})}n.locator=function(s,c){return s.indexOf("{",c)}}u.exports=r}}),S2=I({"src/language-markdown/unified-plugins/wiki-link.js"(e,u){"use strict";S();function r(){let t="wikiLink",a=/^\[\[(?.+?)]]/s,n=this.Parser.prototype,s=n.inlineMethods;s.splice(s.indexOf("link"),0,t),n.inlineTokenizers.wikiLink=c;function c(i,D){let o=a.exec(D);if(o){let l=o.groups.linkContents.trim();return i(o[0])({type:t,value:l})}}c.locator=function(i,D){return i.indexOf("[",D)}}u.exports=r}}),T2=I({"src/language-markdown/unified-plugins/loose-items.js"(e,u){"use strict";S();function r(){let t=this.Parser.prototype,a=t.blockTokenizers.list;function n(s,c,i){return c.type==="listItem"&&(c.loose=c.spread||s.charAt(s.length-1)===` -`,c.loose&&(i.loose=!0)),c}t.blockTokenizers.list=function(c,i,D){function o(l){let d=c(l);function p(g,F){return d(n(l,g,F),F)}return p.reset=function(g,F){return d.reset(n(l,g,F),F)},p}return o.now=c.now,a.call(this,o,i,D)}}u.exports=r}}),N2=I({"src/language-markdown/parser-markdown.js"(e,u){S();var r=LD(),t=KD(),a=ZD(),n=QD(),s=e2(),{locStart:c,locEnd:i}=Xi(),D=Wi(),o=_2(),l=O2(),d=I2(),p=S2(),g=T2();function F(v){let{isMDX:h}=v;return m=>{let C=t().use(r,Object.assign({commonmark:!0},h&&{blocks:[D.BLOCKS_REGEX]})).use(n).use(l).use(a).use(h?D.esSyntax:E).use(d).use(h?o:E).use(p).use(g);return C.runSync(C.parse(m))}}function E(v){return v}var b={astFormat:"mdast",hasPragma:s.hasPragma,locStart:c,locEnd:i},f=Object.assign(Object.assign({},b),{},{parse:F({isMDX:!1})}),x=Object.assign(Object.assign({},b),{},{parse:F({isMDX:!0})});u.exports={parsers:{remark:f,markdown:f,mdx:x}}}}),hp=N2();export{hp as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-meriyah.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-meriyah.mjs deleted file mode 100644 index 0c2115740b..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-meriyah.mjs +++ /dev/null @@ -1,19 +0,0 @@ -var S=(a,g)=>()=>(g||a((g={exports:{}}).exports,g),g.exports);var r2=S((I3,Fu)=>{var A1=function(a){return a&&a.Math==Math&&a};Fu.exports=A1(typeof globalThis=="object"&&globalThis)||A1(typeof window=="object"&&window)||A1(typeof self=="object"&&self)||A1(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var w2=S((R3,Lu)=>{Lu.exports=function(a){try{return!!a()}catch{return!0}}});var S2=S((V3,Ou)=>{var Gt=w2();Ou.exports=!Gt(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var ue=S((N3,Tu)=>{var xt=w2();Tu.exports=!xt(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var E1=S((j3,Iu)=>{var pt=ue(),P1=Function.prototype.call;Iu.exports=pt?P1.bind(P1):function(){return P1.apply(P1,arguments)}});var ju=S(Nu=>{"use strict";var Ru={}.propertyIsEnumerable,Vu=Object.getOwnPropertyDescriptor,eo=Vu&&!Ru.call({1:2},1);Nu.f=eo?function(g){var k=Vu(this,g);return!!k&&k.enumerable}:Ru});var ie=S((M3,_u)=>{_u.exports=function(a,g){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:g}}});var F2=S((U3,Ju)=>{var Mu=ue(),Uu=Function.prototype,ne=Uu.call,uo=Mu&&Uu.bind.bind(ne,ne);Ju.exports=Mu?uo:function(a){return function(){return ne.apply(a,arguments)}}});var Xu=S((J3,Hu)=>{var $u=F2(),io=$u({}.toString),no=$u("".slice);Hu.exports=function(a){return no(io(a),8,-1)}});var Wu=S(($3,zu)=>{var to=F2(),oo=w2(),lo=Xu(),te=Object,fo=to("".split);zu.exports=oo(function(){return!te("z").propertyIsEnumerable(0)})?function(a){return lo(a)=="String"?fo(a,""):te(a)}:te});var oe=S((H3,Ku)=>{Ku.exports=function(a){return a==null}});var le=S((X3,Yu)=>{var co=oe(),so=TypeError;Yu.exports=function(a){if(co(a))throw so("Can't call method on "+a);return a}});var C1=S((z3,Zu)=>{var ao=Wu(),go=le();Zu.exports=function(a){return ao(go(a))}});var ce=S((W3,Qu)=>{var fe=typeof document=="object"&&document.all,ho=typeof fe>"u"&&fe!==void 0;Qu.exports={all:fe,IS_HTMLDDA:ho}});var P2=S((K3,xu)=>{var Gu=ce(),mo=Gu.all;xu.exports=Gu.IS_HTMLDDA?function(a){return typeof a=="function"||a===mo}:function(a){return typeof a=="function"}});var Z2=S((Y3,ui)=>{var pu=P2(),ei=ce(),bo=ei.all;ui.exports=ei.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:pu(a)||a===bo}:function(a){return typeof a=="object"?a!==null:pu(a)}});var D1=S((Z3,ii)=>{var se=r2(),ko=P2(),ro=function(a){return ko(a)?a:void 0};ii.exports=function(a,g){return arguments.length<2?ro(se[a]):se[a]&&se[a][g]}});var ti=S((Q3,ni)=>{var vo=F2();ni.exports=vo({}.isPrototypeOf)});var li=S((G3,oi)=>{var yo=D1();oi.exports=yo("navigator","userAgent")||""});var hi=S((x3,gi)=>{var di=r2(),ae=li(),fi=di.process,ci=di.Deno,si=fi&&fi.versions||ci&&ci.version,ai=si&&si.v8,E2,w1;ai&&(E2=ai.split("."),w1=E2[0]>0&&E2[0]<4?1:+(E2[0]+E2[1]));!w1&&ae&&(E2=ae.match(/Edge\/(\d+)/),(!E2||E2[1]>=74)&&(E2=ae.match(/Chrome\/(\d+)/),E2&&(w1=+E2[1])));gi.exports=w1});var de=S((p3,bi)=>{var mi=hi(),Ao=w2();bi.exports=!!Object.getOwnPropertySymbols&&!Ao(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&mi&&mi<41})});var ge=S((e6,ki)=>{var Po=de();ki.exports=Po&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var he=S((u6,ri)=>{var Eo=D1(),Co=P2(),Do=ti(),wo=ge(),qo=Object;ri.exports=wo?function(a){return typeof a=="symbol"}:function(a){var g=Eo("Symbol");return Co(g)&&Do(g.prototype,qo(a))}});var yi=S((i6,vi)=>{var Bo=String;vi.exports=function(a){try{return Bo(a)}catch{return"Object"}}});var Pi=S((n6,Ai)=>{var So=P2(),Fo=yi(),Lo=TypeError;Ai.exports=function(a){if(So(a))return a;throw Lo(Fo(a)+" is not a function")}});var Ci=S((t6,Ei)=>{var Oo=Pi(),To=oe();Ei.exports=function(a,g){var k=a[g];return To(k)?void 0:Oo(k)}});var wi=S((o6,Di)=>{var me=E1(),be=P2(),ke=Z2(),Io=TypeError;Di.exports=function(a,g){var k,f;if(g==="string"&&be(k=a.toString)&&!ke(f=me(k,a))||be(k=a.valueOf)&&!ke(f=me(k,a))||g!=="string"&&be(k=a.toString)&&!ke(f=me(k,a)))return f;throw Io("Can't convert object to primitive value")}});var Bi=S((l6,qi)=>{qi.exports=!1});var q1=S((f6,Fi)=>{var Si=r2(),Ro=Object.defineProperty;Fi.exports=function(a,g){try{Ro(Si,a,{value:g,configurable:!0,writable:!0})}catch{Si[a]=g}return g}});var B1=S((c6,Oi)=>{var Vo=r2(),No=q1(),Li="__core-js_shared__",jo=Vo[Li]||No(Li,{});Oi.exports=jo});var re=S((s6,Ii)=>{var _o=Bi(),Ti=B1();(Ii.exports=function(a,g){return Ti[a]||(Ti[a]=g!==void 0?g:{})})("versions",[]).push({version:"3.26.1",mode:_o?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Vi=S((a6,Ri)=>{var Mo=le(),Uo=Object;Ri.exports=function(a){return Uo(Mo(a))}});var R2=S((d6,Ni)=>{var Jo=F2(),$o=Vi(),Ho=Jo({}.hasOwnProperty);Ni.exports=Object.hasOwn||function(g,k){return Ho($o(g),k)}});var ve=S((g6,ji)=>{var Xo=F2(),zo=0,Wo=Math.random(),Ko=Xo(1 .toString);ji.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Ko(++zo+Wo,36)}});var Hi=S((h6,$i)=>{var Yo=r2(),Zo=re(),_i=R2(),Qo=ve(),Mi=de(),Ji=ge(),Q2=Zo("wks"),$2=Yo.Symbol,Ui=$2&&$2.for,Go=Ji?$2:$2&&$2.withoutSetter||Qo;$i.exports=function(a){if(!_i(Q2,a)||!(Mi||typeof Q2[a]=="string")){var g="Symbol."+a;Mi&&_i($2,a)?Q2[a]=$2[a]:Ji&&Ui?Q2[a]=Ui(g):Q2[a]=Go(g)}return Q2[a]}});var Ki=S((m6,Wi)=>{var xo=E1(),Xi=Z2(),zi=he(),po=Ci(),el=wi(),ul=Hi(),il=TypeError,nl=ul("toPrimitive");Wi.exports=function(a,g){if(!Xi(a)||zi(a))return a;var k=po(a,nl),f;if(k){if(g===void 0&&(g="default"),f=xo(k,a,g),!Xi(f)||zi(f))return f;throw il("Can't convert object to primitive value")}return g===void 0&&(g="number"),el(a,g)}});var ye=S((b6,Yi)=>{var tl=Ki(),ol=he();Yi.exports=function(a){var g=tl(a,"string");return ol(g)?g:g+""}});var Gi=S((k6,Qi)=>{var ll=r2(),Zi=Z2(),Ae=ll.document,fl=Zi(Ae)&&Zi(Ae.createElement);Qi.exports=function(a){return fl?Ae.createElement(a):{}}});var Pe=S((r6,xi)=>{var cl=S2(),sl=w2(),al=Gi();xi.exports=!cl&&!sl(function(){return Object.defineProperty(al("div"),"a",{get:function(){return 7}}).a!=7})});var Ee=S(en=>{var dl=S2(),gl=E1(),hl=ju(),ml=ie(),bl=C1(),kl=ye(),rl=R2(),vl=Pe(),pi=Object.getOwnPropertyDescriptor;en.f=dl?pi:function(g,k){if(g=bl(g),k=kl(k),vl)try{return pi(g,k)}catch{}if(rl(g,k))return ml(!gl(hl.f,g,k),g[k])}});var nn=S((y6,un)=>{var yl=S2(),Al=w2();un.exports=yl&&Al(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var S1=S((A6,tn)=>{var Pl=Z2(),El=String,Cl=TypeError;tn.exports=function(a){if(Pl(a))return a;throw Cl(El(a)+" is not an object")}});var u1=S(ln=>{var Dl=S2(),wl=Pe(),ql=nn(),F1=S1(),on=ye(),Bl=TypeError,Ce=Object.defineProperty,Sl=Object.getOwnPropertyDescriptor,De="enumerable",we="configurable",qe="writable";ln.f=Dl?ql?function(g,k,f){if(F1(g),k=on(k),F1(f),typeof g=="function"&&k==="prototype"&&"value"in f&&qe in f&&!f[qe]){var E=Sl(g,k);E&&E[qe]&&(g[k]=f.value,f={configurable:we in f?f[we]:E[we],enumerable:De in f?f[De]:E[De],writable:!1})}return Ce(g,k,f)}:Ce:function(g,k,f){if(F1(g),k=on(k),F1(f),wl)try{return Ce(g,k,f)}catch{}if("get"in f||"set"in f)throw Bl("Accessors not supported");return"value"in f&&(g[k]=f.value),g}});var Be=S((E6,fn)=>{var Fl=S2(),Ll=u1(),Ol=ie();fn.exports=Fl?function(a,g,k){return Ll.f(a,g,Ol(1,k))}:function(a,g,k){return a[g]=k,a}});var an=S((C6,sn)=>{var Se=S2(),Tl=R2(),cn=Function.prototype,Il=Se&&Object.getOwnPropertyDescriptor,Fe=Tl(cn,"name"),Rl=Fe&&function(){}.name==="something",Vl=Fe&&(!Se||Se&&Il(cn,"name").configurable);sn.exports={EXISTS:Fe,PROPER:Rl,CONFIGURABLE:Vl}});var gn=S((D6,dn)=>{var Nl=F2(),jl=P2(),Le=B1(),_l=Nl(Function.toString);jl(Le.inspectSource)||(Le.inspectSource=function(a){return _l(a)});dn.exports=Le.inspectSource});var bn=S((w6,mn)=>{var Ml=r2(),Ul=P2(),hn=Ml.WeakMap;mn.exports=Ul(hn)&&/native code/.test(String(hn))});var vn=S((q6,rn)=>{var Jl=re(),$l=ve(),kn=Jl("keys");rn.exports=function(a){return kn[a]||(kn[a]=$l(a))}});var Oe=S((B6,yn)=>{yn.exports={}});var Cn=S((S6,En)=>{var Hl=bn(),Pn=r2(),Xl=Z2(),zl=Be(),Te=R2(),Ie=B1(),Wl=vn(),Kl=Oe(),An="Object already initialized",Re=Pn.TypeError,Yl=Pn.WeakMap,L1,i1,O1,Zl=function(a){return O1(a)?i1(a):L1(a,{})},Ql=function(a){return function(g){var k;if(!Xl(g)||(k=i1(g)).type!==a)throw Re("Incompatible receiver, "+a+" required");return k}};Hl||Ie.state?(C2=Ie.state||(Ie.state=new Yl),C2.get=C2.get,C2.has=C2.has,C2.set=C2.set,L1=function(a,g){if(C2.has(a))throw Re(An);return g.facade=a,C2.set(a,g),g},i1=function(a){return C2.get(a)||{}},O1=function(a){return C2.has(a)}):(H2=Wl("state"),Kl[H2]=!0,L1=function(a,g){if(Te(a,H2))throw Re(An);return g.facade=a,zl(a,H2,g),g},i1=function(a){return Te(a,H2)?a[H2]:{}},O1=function(a){return Te(a,H2)});var C2,H2;En.exports={set:L1,get:i1,has:O1,enforce:Zl,getterFor:Ql}});var Ne=S((F6,wn)=>{var Gl=w2(),xl=P2(),T1=R2(),Ve=S2(),pl=an().CONFIGURABLE,e4=gn(),Dn=Cn(),u4=Dn.enforce,i4=Dn.get,I1=Object.defineProperty,n4=Ve&&!Gl(function(){return I1(function(){},"length",{value:8}).length!==8}),t4=String(String).split("String"),o4=wn.exports=function(a,g,k){String(g).slice(0,7)==="Symbol("&&(g="["+String(g).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),k&&k.getter&&(g="get "+g),k&&k.setter&&(g="set "+g),(!T1(a,"name")||pl&&a.name!==g)&&(Ve?I1(a,"name",{value:g,configurable:!0}):a.name=g),n4&&k&&T1(k,"arity")&&a.length!==k.arity&&I1(a,"length",{value:k.arity});try{k&&T1(k,"constructor")&&k.constructor?Ve&&I1(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var f=u4(a);return T1(f,"source")||(f.source=t4.join(typeof g=="string"?g:"")),a};Function.prototype.toString=o4(function(){return xl(this)&&i4(this).source||e4(this)},"toString")});var Bn=S((L6,qn)=>{var l4=P2(),f4=u1(),c4=Ne(),s4=q1();qn.exports=function(a,g,k,f){f||(f={});var E=f.enumerable,L=f.name!==void 0?f.name:g;if(l4(k)&&c4(k,L,f),f.global)E?a[g]=k:s4(g,k);else{try{f.unsafe?a[g]&&(E=!0):delete a[g]}catch{}E?a[g]=k:f4.f(a,g,{value:k,enumerable:!1,configurable:!f.nonConfigurable,writable:!f.nonWritable})}return a}});var Fn=S((O6,Sn)=>{var a4=Math.ceil,d4=Math.floor;Sn.exports=Math.trunc||function(g){var k=+g;return(k>0?d4:a4)(k)}});var je=S((T6,Ln)=>{var g4=Fn();Ln.exports=function(a){var g=+a;return g!==g||g===0?0:g4(g)}});var Tn=S((I6,On)=>{var h4=je(),m4=Math.max,b4=Math.min;On.exports=function(a,g){var k=h4(a);return k<0?m4(k+g,0):b4(k,g)}});var Rn=S((R6,In)=>{var k4=je(),r4=Math.min;In.exports=function(a){return a>0?r4(k4(a),9007199254740991):0}});var Nn=S((V6,Vn)=>{var v4=Rn();Vn.exports=function(a){return v4(a.length)}});var Mn=S((N6,_n)=>{var y4=C1(),A4=Tn(),P4=Nn(),jn=function(a){return function(g,k,f){var E=y4(g),L=P4(E),B=A4(f,L),R;if(a&&k!=k){for(;L>B;)if(R=E[B++],R!=R)return!0}else for(;L>B;B++)if((a||B in E)&&E[B]===k)return a||B||0;return!a&&-1}};_n.exports={includes:jn(!0),indexOf:jn(!1)}});var $n=S((j6,Jn)=>{var E4=F2(),_e=R2(),C4=C1(),D4=Mn().indexOf,w4=Oe(),Un=E4([].push);Jn.exports=function(a,g){var k=C4(a),f=0,E=[],L;for(L in k)!_e(w4,L)&&_e(k,L)&&Un(E,L);for(;g.length>f;)_e(k,L=g[f++])&&(~D4(E,L)||Un(E,L));return E}});var Xn=S((_6,Hn)=>{Hn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Wn=S(zn=>{var q4=$n(),B4=Xn(),S4=B4.concat("length","prototype");zn.f=Object.getOwnPropertyNames||function(g){return q4(g,S4)}});var Yn=S(Kn=>{Kn.f=Object.getOwnPropertySymbols});var Qn=S((J6,Zn)=>{var F4=D1(),L4=F2(),O4=Wn(),T4=Yn(),I4=S1(),R4=L4([].concat);Zn.exports=F4("Reflect","ownKeys")||function(g){var k=O4.f(I4(g)),f=T4.f;return f?R4(k,f(g)):k}});var pn=S(($6,xn)=>{var Gn=R2(),V4=Qn(),N4=Ee(),j4=u1();xn.exports=function(a,g,k){for(var f=V4(g),E=j4.f,L=N4.f,B=0;B{var _4=w2(),M4=P2(),U4=/#|\.prototype\./,n1=function(a,g){var k=$4[J4(a)];return k==X4?!0:k==H4?!1:M4(g)?_4(g):!!g},J4=n1.normalize=function(a){return String(a).replace(U4,".").toLowerCase()},$4=n1.data={},H4=n1.NATIVE="N",X4=n1.POLYFILL="P";e0.exports=n1});var n0=S((X6,i0)=>{var Me=r2(),z4=Ee().f,W4=Be(),K4=Bn(),Y4=q1(),Z4=pn(),Q4=u0();i0.exports=function(a,g){var k=a.target,f=a.global,E=a.stat,L,B,R,r,z,H;if(f?B=Me:E?B=Me[k]||Y4(k,{}):B=(Me[k]||{}).prototype,B)for(R in g){if(z=g[R],a.dontCallGetSet?(H=z4(B,R),r=H&&H.value):r=B[R],L=Q4(f?R:k+(E?".":"#")+R,a.forced),!L&&r!==void 0){if(typeof z==typeof r)continue;Z4(z,r)}(a.sham||r&&r.sham)&&W4(z,"sham",!0),K4(B,R,z,a)}}});var t0=S(()=>{var G4=n0(),Ue=r2();G4({global:!0,forced:Ue.globalThis!==Ue},{globalThis:Ue})});var f0=S((K6,l0)=>{var o0=Ne(),x4=u1();l0.exports=function(a,g,k){return k.get&&o0(k.get,g,{getter:!0}),k.set&&o0(k.set,g,{setter:!0}),x4.f(a,g,k)}});var s0=S((Y6,c0)=>{"use strict";var p4=S1();c0.exports=function(){var a=p4(this),g="";return a.hasIndices&&(g+="d"),a.global&&(g+="g"),a.ignoreCase&&(g+="i"),a.multiline&&(g+="m"),a.dotAll&&(g+="s"),a.unicode&&(g+="u"),a.unicodeSets&&(g+="v"),a.sticky&&(g+="y"),g}});t0();var e3=r2(),u3=S2(),i3=f0(),n3=s0(),t3=w2(),a0=e3.RegExp,d0=a0.prototype,o3=u3&&t3(function(){var a=!0;try{a0(".","d")}catch{a=!1}var g={},k="",f=a?"dgimsy":"gimsy",E=function(r,z){Object.defineProperty(g,r,{get:function(){return k+=z,!0}})},L={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(L.hasIndices="d");for(var B in L)E(B,L[B]);var R=Object.getOwnPropertyDescriptor(d0,"flags").get.call(g);return R!==f||k!==f});o3&&i3(d0,"flags",{configurable:!0,get:n3});var Xe=Object.defineProperty,l3=Object.getOwnPropertyDescriptor,ze=Object.getOwnPropertyNames,f3=Object.prototype.hasOwnProperty,g0=(a,g)=>function(){return a&&(g=(0,a[ze(a)[0]])(a=0)),g},t2=(a,g)=>function(){return g||(0,a[ze(a)[0]])((g={exports:{}}).exports,g),g.exports},c3=(a,g)=>{for(var k in g)Xe(a,k,{get:g[k],enumerable:!0})},s3=(a,g,k,f)=>{if(g&&typeof g=="object"||typeof g=="function")for(let E of ze(g))!f3.call(a,E)&&E!==k&&Xe(a,E,{get:()=>g[E],enumerable:!(f=l3(g,E))||f.enumerable});return a},a3=a=>s3(Xe({},"__esModule",{value:!0}),a),n2=g0({""(){}}),h0=t2({"src/common/parser-create-error.js"(a,g){"use strict";n2();function k(f,E){let L=new SyntaxError(f+" ("+E.start.line+":"+E.start.column+")");return L.loc=E,L}g.exports=k}}),d3=t2({"src/utils/try-combinations.js"(a,g){"use strict";n2();function k(){let f;for(var E=arguments.length,L=new Array(E),B=0;BHe,arch:()=>g3,cpus:()=>P0,default:()=>q0,endianness:()=>b0,freemem:()=>y0,getNetworkInterfaces:()=>w0,hostname:()=>k0,loadavg:()=>r0,networkInterfaces:()=>D0,platform:()=>h3,release:()=>C0,tmpDir:()=>Je,tmpdir:()=>$e,totalmem:()=>A0,type:()=>E0,uptime:()=>v0});function b0(){if(typeof R1>"u"){var a=new ArrayBuffer(2),g=new Uint8Array(a),k=new Uint16Array(a);if(g[0]=1,g[1]=2,k[0]===258)R1="BE";else if(k[0]===513)R1="LE";else throw new Error("unable to figure out endianess")}return R1}function k0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function r0(){return[]}function v0(){return 0}function y0(){return Number.MAX_VALUE}function A0(){return Number.MAX_VALUE}function P0(){return[]}function E0(){return"Browser"}function C0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function D0(){}function w0(){}function g3(){return"javascript"}function h3(){return"browser"}function Je(){return"/tmp"}var R1,$e,He,q0,m3=g0({"node-modules-polyfills:os"(){n2(),$e=Je,He=` -`,q0={EOL:He,tmpdir:$e,tmpDir:Je,networkInterfaces:D0,getNetworkInterfaces:w0,release:C0,type:E0,cpus:P0,totalmem:A0,freemem:y0,uptime:v0,loadavg:r0,hostname:k0,endianness:b0}}}),b3=t2({"node-modules-polyfills-commonjs:os"(a,g){n2();var k=(m3(),a3(m0));if(k&&k.default){g.exports=k.default;for(let f in k)g.exports[f]=k[f]}else k&&(g.exports=k)}}),k3=t2({"node_modules/detect-newline/index.js"(a,g){"use strict";n2();var k=f=>{if(typeof f!="string")throw new TypeError("Expected a string");let E=f.match(/(?:\r?\n)/g)||[];if(E.length===0)return;let L=E.filter(R=>R===`\r -`).length,B=E.length-L;return L>B?`\r -`:` -`};g.exports=k,g.exports.graceful=f=>typeof f=="string"&&k(f)||` -`}}),r3=t2({"node_modules/jest-docblock/build/index.js"(a){"use strict";n2(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=O,a.parse=a2,a.parseWithComments=C,a.print=$,a.strip=M;function g(){let J=b3();return g=function(){return J},J}function k(){let J=f(k3());return k=function(){return J},J}function f(J){return J&&J.__esModule?J:{default:J}}var E=/\*\/$/,L=/^\/\*\*?/,B=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,R=/(^|\s+)\/\/([^\r\n]*)/g,r=/^(\r?\n)+/,z=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,H=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,W=/(\r?\n|^) *\* ?/g,Y=[];function O(J){let u2=J.match(B);return u2?u2[0].trimLeft():""}function M(J){let u2=J.match(B);return u2&&u2[0]?J.substring(u2[0].length):J}function a2(J){return C(J).pragmas}function C(J){let u2=(0,k().default)(J)||g().EOL;J=J.replace(L,"").replace(E,"").replace(W,"$1");let h2="";for(;h2!==J;)h2=J,J=J.replace(z,`${u2}$1 $2${u2}`);J=J.replace(r,"").trimRight();let l2=Object.create(null),V2=J.replace(H,"").replace(r,"").trimRight(),f2;for(;f2=H.exec(J);){let N2=f2[2].replace(R,"");typeof l2[f2[1]]=="string"||Array.isArray(l2[f2[1]])?l2[f2[1]]=Y.concat(l2[f2[1]],N2):l2[f2[1]]=N2}return{comments:V2,pragmas:l2}}function $(J){let{comments:u2="",pragmas:h2={}}=J,l2=(0,k().default)(u2)||g().EOL,V2="/**",f2=" *",N2=" */",q2=Object.keys(h2),V1=q2.map(d2=>e2(d2,h2[d2])).reduce((d2,t1)=>d2.concat(t1),[]).map(d2=>`${f2} ${d2}${l2}`).join("");if(!u2){if(q2.length===0)return"";if(q2.length===1&&!Array.isArray(h2[q2[0]])){let d2=h2[q2[0]];return`${V2} ${e2(q2[0],d2)[0]}${N2}`}}let N1=u2.split(l2).map(d2=>`${f2} ${d2}`).join(l2)+l2;return V2+l2+(u2?N1:"")+(u2&&q2.length?f2+l2:"")+V1+N2}function e2(J,u2){return Y.concat(u2).map(h2=>`@${J} ${h2}`.trim())}}}),v3=t2({"src/common/end-of-line.js"(a,g){"use strict";n2();function k(B){let R=B.indexOf("\r");return R>=0?B.charAt(R+1)===` -`?"crlf":"cr":"lf"}function f(B){switch(B){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function E(B,R){let r;switch(R){case` -`:r=/\n/g;break;case"\r":r=/\r/g;break;case`\r -`:r=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(R)}.`)}let z=B.match(r);return z?z.length:0}function L(B){return B.replace(/\r\n?/g,` -`)}g.exports={guessEndOfLine:k,convertEndOfLineToChars:f,countEndOfLineChars:E,normalizeEndOfLine:L}}}),y3=t2({"src/language-js/utils/get-shebang.js"(a,g){"use strict";n2();function k(f){if(!f.startsWith("#!"))return"";let E=f.indexOf(` -`);return E===-1?f:f.slice(0,E)}g.exports=k}}),A3=t2({"src/language-js/pragma.js"(a,g){"use strict";n2();var{parseWithComments:k,strip:f,extract:E,print:L}=r3(),{normalizeEndOfLine:B}=v3(),R=y3();function r(W){let Y=R(W);Y&&(W=W.slice(Y.length+1));let O=E(W),{pragmas:M,comments:a2}=k(O);return{shebang:Y,text:W,pragmas:M,comments:a2}}function z(W){let Y=Object.keys(r(W).pragmas);return Y.includes("prettier")||Y.includes("format")}function H(W){let{shebang:Y,text:O,pragmas:M,comments:a2}=r(W),C=f(O),$=L({pragmas:Object.assign({format:""},M),comments:a2.trimStart()});return(Y?`${Y} -`:"")+B($)+(C.startsWith(` -`)?` -`:` - -`)+C}g.exports={hasPragma:z,insertPragma:H}}}),P3=t2({"src/utils/is-non-empty-array.js"(a,g){"use strict";n2();function k(f){return Array.isArray(f)&&f.length>0}g.exports=k}}),B0=t2({"src/language-js/loc.js"(a,g){"use strict";n2();var k=P3();function f(r){var z,H;let W=r.range?r.range[0]:r.start,Y=(z=(H=r.declaration)===null||H===void 0?void 0:H.decorators)!==null&&z!==void 0?z:r.decorators;return k(Y)?Math.min(f(Y[0]),W):W}function E(r){return r.range?r.range[1]:r.end}function L(r,z){let H=f(r);return Number.isInteger(H)&&H===f(z)}function B(r,z){let H=E(r);return Number.isInteger(H)&&H===E(z)}function R(r,z){return L(r,z)&&B(r,z)}g.exports={locStart:f,locEnd:E,hasSameLocStart:L,hasSameLoc:R}}}),E3=t2({"src/language-js/parse/utils/create-parser.js"(a,g){"use strict";n2();var{hasPragma:k}=A3(),{locStart:f,locEnd:E}=B0();function L(B){return B=typeof B=="function"?{parse:B}:B,Object.assign({astFormat:"estree",hasPragma:k,locStart:f,locEnd:E},B)}g.exports=L}}),C3=t2({"src/language-js/utils/is-ts-keyword-type.js"(a,g){"use strict";n2();function k(f){let{type:E}=f;return E.startsWith("TS")&&E.endsWith("Keyword")}g.exports=k}}),D3=t2({"src/language-js/utils/is-block-comment.js"(a,g){"use strict";n2();var k=new Set(["Block","CommentBlock","MultiLine"]),f=E=>k.has(E==null?void 0:E.type);g.exports=f}}),w3=t2({"src/language-js/utils/is-type-cast-comment.js"(a,g){"use strict";n2();var k=D3();function f(E){return k(E)&&E.value[0]==="*"&&/@(?:type|satisfies)\b/.test(E.value)}g.exports=f}}),q3=t2({"src/utils/get-last.js"(a,g){"use strict";n2();var k=f=>f[f.length-1];g.exports=k}}),B3=t2({"src/language-js/parse/postprocess/visit-node.js"(a,g){"use strict";n2();function k(f,E){if(Array.isArray(f)){for(let L=0;L{$.leadingComments&&$.leadingComments.some(L)&&C.add(k($))}),O=R(O,$=>{if($.type==="ParenthesizedExpression"){let{expression:e2}=$;if(e2.type==="TypeCastExpression")return e2.range=$.range,e2;let J=k($);if(!C.has(J))return e2.extra=Object.assign(Object.assign({},e2.extra),{},{parenthesized:!0}),e2}})}return O=R(O,C=>{switch(C.type){case"ChainExpression":return H(C.expression);case"LogicalExpression":{if(W(C))return Y(C);break}case"VariableDeclaration":{let $=B(C.declarations);$&&$.init&&a2(C,$);break}case"TSParenthesizedType":return E(C.typeAnnotation)||C.typeAnnotation.type==="TSThisType"||(C.typeAnnotation.range=[k(C),f(C)]),C.typeAnnotation;case"TSTypeParameter":if(typeof C.name=="string"){let $=k(C);C.name={type:"Identifier",name:C.name,range:[$,$+C.name.length]}}break;case"ObjectExpression":if(M.parser==="typescript"){let $=C.properties.find(e2=>e2.type==="Property"&&e2.value.type==="TSEmptyBodyFunctionExpression");$&&r($.value,"Unexpected token.")}break;case"SequenceExpression":{let $=B(C.expressions);C.range=[k(C),Math.min(f($),f(C))];break}case"TopicReference":M.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:$}=C;if(M.parser==="meriyah"&&$&&$.type==="Identifier"){let e2=M.originalText.slice(k($),f($));(e2.startsWith('"')||e2.startsWith("'"))&&(C.exported=Object.assign(Object.assign({},C.exported),{},{type:"Literal",value:C.exported.name,raw:e2}))}break}case"PropertyDefinition":if(M.parser==="meriyah"&&C.static&&!C.computed&&!C.key){let $="static",e2=k(C);Object.assign(C,{static:!1,key:{type:"Identifier",name:$,range:[e2,e2+$.length]}})}break}}),O;function a2(C,$){M.originalText[f($)]!==";"&&(C.range=[k(C),f($)])}}function H(O){switch(O.type){case"CallExpression":O.type="OptionalCallExpression",O.callee=H(O.callee);break;case"MemberExpression":O.type="OptionalMemberExpression",O.object=H(O.object);break;case"TSNonNullExpression":O.expression=H(O.expression);break}return O}function W(O){return O.type==="LogicalExpression"&&O.right.type==="LogicalExpression"&&O.operator===O.right.operator}function Y(O){return W(O)?Y({type:"LogicalExpression",operator:O.operator,left:Y({type:"LogicalExpression",operator:O.operator,left:O.left,right:O.right.left,range:[k(O.left),f(O.right.left)]}),right:O.right.right,range:[k(O),f(O)]}):O}g.exports=z}}),L3=t2({"node_modules/meriyah/dist/meriyah.cjs"(a){"use strict";n2(),Object.defineProperty(a,"__esModule",{value:!0});var g={[0]:"Unexpected token",[28]:"Unexpected token: '%0'",[1]:"Octal escape sequences are not allowed in strict mode",[2]:"Octal escape sequences are not allowed in template strings",[3]:"Unexpected token `#`",[4]:"Illegal Unicode escape sequence",[5]:"Invalid code point %0",[6]:"Invalid hexadecimal escape sequence",[8]:"Octal literals are not allowed in strict mode",[7]:"Decimal integer literals with a leading zero are forbidden in strict mode",[9]:"Expected number in radix %0",[145]:"Invalid left-hand side assignment to a destructible right-hand side",[10]:"Non-number found after exponent indicator",[11]:"Invalid BigIntLiteral",[12]:"No identifiers allowed directly after numeric literal",[13]:"Escapes \\8 or \\9 are not syntactically valid escapes",[14]:"Unterminated string literal",[15]:"Unterminated template literal",[16]:"Multiline comment was not closed properly",[17]:"The identifier contained dynamic unicode escape that was not closed",[18]:"Illegal character '%0'",[19]:"Missing hexadecimal digits",[20]:"Invalid implicit octal",[21]:"Invalid line break in string literal",[22]:"Only unicode escapes are legal in identifier names",[23]:"Expected '%0'",[24]:"Invalid left-hand side in assignment",[25]:"Invalid left-hand side in async arrow",[26]:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',[27]:"Member access on super must be in a method",[29]:"Await expression not allowed in formal parameter",[30]:"Yield expression not allowed in formal parameter",[92]:"Unexpected token: 'escaped keyword'",[31]:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",[119]:"Async functions can only be declared at the top level or inside a block",[32]:"Unterminated regular expression",[33]:"Unexpected regular expression flag",[34]:"Duplicate regular expression flag '%0'",[35]:"%0 functions must have exactly %1 argument%2",[36]:"Setter function argument must not be a rest parameter",[37]:"%0 declaration must have a name in this context",[38]:"Function name may not contain any reserved words or be eval or arguments in strict mode",[39]:"The rest operator is missing an argument",[40]:"A getter cannot be a generator",[41]:"A computed property name must be followed by a colon or paren",[130]:"Object literal keys that are strings or numbers must be a method or have a colon",[43]:"Found `* async x(){}` but this should be `async * x(){}`",[42]:"Getters and setters can not be generators",[44]:"'%0' can not be generator method",[45]:"No line break is allowed after '=>'",[46]:"The left-hand side of the arrow can only be destructed through assignment",[47]:"The binding declaration is not destructible",[48]:"Async arrow can not be followed by new expression",[49]:"Classes may not have a static property named 'prototype'",[50]:"Class constructor may not be a %0",[51]:"Duplicate constructor method in class",[52]:"Invalid increment/decrement operand",[53]:"Invalid use of `new` keyword on an increment/decrement expression",[54]:"`=>` is an invalid assignment target",[55]:"Rest element may not have a trailing comma",[56]:"Missing initializer in %0 declaration",[57]:"'for-%0' loop head declarations can not have an initializer",[58]:"Invalid left-hand side in for-%0 loop: Must have a single binding",[59]:"Invalid shorthand property initializer",[60]:"Property name __proto__ appears more than once in object literal",[61]:"Let is disallowed as a lexically bound name",[62]:"Invalid use of '%0' inside new expression",[63]:"Illegal 'use strict' directive in function with non-simple parameter list",[64]:'Identifier "let" disallowed as left-hand side expression in strict mode',[65]:"Illegal continue statement",[66]:"Illegal break statement",[67]:"Cannot have `let[...]` as a var name in strict mode",[68]:"Invalid destructuring assignment target",[69]:"Rest parameter may not have a default initializer",[70]:"The rest argument must the be last parameter",[71]:"Invalid rest argument",[73]:"In strict mode code, functions can only be declared at top level or inside a block",[74]:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",[75]:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",[76]:"Class declaration can't appear in single-statement context",[77]:"Invalid left-hand side in for-%0",[78]:"Invalid assignment in for-%0",[79]:"for await (... of ...) is only valid in async functions and async generators",[80]:"The first token after the template expression should be a continuation of the template",[82]:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",[81]:"`let \n [` is a restricted production at the start of a statement",[83]:"Catch clause requires exactly one parameter, not more (and no trailing comma)",[84]:"Catch clause parameter does not support default values",[85]:"Missing catch or finally after try",[86]:"More than one default clause in switch statement",[87]:"Illegal newline after throw",[88]:"Strict mode code may not include a with statement",[89]:"Illegal return statement",[90]:"The left hand side of the for-header binding declaration is not destructible",[91]:"new.target only allowed within functions",[93]:"'#' not followed by identifier",[99]:"Invalid keyword",[98]:"Can not use 'let' as a class name",[97]:"'A lexical declaration can't define a 'let' binding",[96]:"Can not use `let` as variable name in strict mode",[94]:"'%0' may not be used as an identifier in this context",[95]:"Await is only valid in async functions",[100]:"The %0 keyword can only be used with the module goal",[101]:"Unicode codepoint must not be greater than 0x10FFFF",[102]:"%0 source must be string",[103]:"Only a identifier can be used to indicate alias",[104]:"Only '*' or '{...}' can be imported after default",[105]:"Trailing decorator may be followed by method",[106]:"Decorators can't be used with a constructor",[108]:"HTML comments are only allowed with web compatibility (Annex B)",[109]:"The identifier 'let' must not be in expression position in strict mode",[110]:"Cannot assign to `eval` and `arguments` in strict mode",[111]:"The left-hand side of a for-of loop may not start with 'let'",[112]:"Block body arrows can not be immediately invoked without a group",[113]:"Block body arrows can not be immediately accessed without a group",[114]:"Unexpected strict mode reserved word",[115]:"Unexpected eval or arguments in strict mode",[116]:"Decorators must not be followed by a semicolon",[117]:"Calling delete on expression not allowed in strict mode",[118]:"Pattern can not have a tail",[120]:"Can not have a `yield` expression on the left side of a ternary",[121]:"An arrow function can not have a postfix update operator",[122]:"Invalid object literal key character after generator star",[123]:"Private fields can not be deleted",[125]:"Classes may not have a field called constructor",[124]:"Classes may not have a private element named constructor",[126]:"A class field initializer may not contain arguments",[127]:"Generators can only be declared at the top level or inside a block",[128]:"Async methods are a restricted production and cannot have a newline following it",[129]:"Unexpected character after object literal property name",[131]:"Invalid key token",[132]:"Label '%0' has already been declared",[133]:"continue statement must be nested within an iteration statement",[134]:"Undefined label '%0'",[135]:"Trailing comma is disallowed inside import(...) arguments",[136]:"import() requires exactly one argument",[137]:"Cannot use new with import(...)",[138]:"... is not allowed in import()",[139]:"Expected '=>'",[140]:"Duplicate binding '%0'",[141]:"Cannot export a duplicate name '%0'",[144]:"Duplicate %0 for-binding",[142]:"Exported binding '%0' needs to refer to a top-level declared variable",[143]:"Unexpected private field",[147]:"Numeric separators are not allowed at the end of numeric literals",[146]:"Only one underscore is allowed as numeric separator",[148]:"JSX value should be either an expression or a quoted JSX text",[149]:"Expected corresponding JSX closing tag for %0",[150]:"Adjacent JSX elements must be wrapped in an enclosing tag",[151]:"JSX attributes must only be assigned a non-empty 'expression'",[152]:"'%0' has already been declared",[153]:"'%0' shadowed a catch clause binding",[154]:"Dot property must be an identifier",[155]:"Encountered invalid input after spread/rest argument",[156]:"Catch without try",[157]:"Finally without try",[158]:"Expected corresponding closing tag for JSX fragment",[159]:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",[160]:"Invalid tagged template on optional chain",[161]:"Invalid optional chain from super property",[162]:"Invalid optional chain from new expression",[163]:'Cannot use "import.meta" outside a module',[164]:"Leading decorators must be attached to a class declaration"},k=class extends SyntaxError{constructor(e,u,i,n){for(var t=arguments.length,o=new Array(t>4?t-4:0),l=4;lo[m]);super(`${c}`),this.index=e,this.line=u,this.column=i,this.description=c,this.loc={line:u,column:i}}};function f(e,u){for(var i=arguments.length,n=new Array(i>2?i-2:0),t=2;t4?t-4:0),l=4;l{let i=new Uint32Array(104448),n=0,t=0;for(;n<3540;){let o=e[n++];if(o<0)t-=o;else{let l=e[n++];o&2&&(l=u[l]),o&1?i.fill(l,t,t+=e[n++]):i[t++]=l}}return i})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function r(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function z(e,u){if((u&64512)!==55296)return 0;let i=e.source.charCodeAt(e.index+1);return(i&64512)!==56320?0:(u=e.currentChar=65536+((u&1023)<<10)+(i&1023),R[(u>>>5)+0]>>>u&31&1||f(e,18,O(u)),e.index++,e.column++,1)}function H(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,u&4||(e.column=0,e.line++)}function W(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function Y(e){return e===160||e===65279||e===133||e===5760||e>=8192&&e<=8203||e===8239||e===8287||e===12288||e===8201||e===65519}function O(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(e&1023)}function M(e){return e<65?e-48:e-65+10&15}function a2(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return(e&143360)===143360?"Identifier":(e&4096)===4096?"Keyword":"Punctuator"}}var C=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],e2=[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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function J(e){return e<=127?$[e]:R[(e>>>5)+34816]>>>e&31&1}function u2(e){return e<=127?e2[e]:R[(e>>>5)+0]>>>e&31&1||e===8204||e===8205}var h2=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function l2(e){let u=e.source;e.currentChar===35&&u.charCodeAt(e.index+1)===33&&(r(e),r(e),f2(e,u,0,4,e.tokenPos,e.linePos,e.colPos))}function V2(e,u,i,n,t,o,l,c){return n&2048&&f(e,0),f2(e,u,i,t,o,l,c)}function f2(e,u,i,n,t,o,l){let{index:c}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return f(e,32)}let t=e.index-1,o=0,l=e.currentChar,{index:c}=e;for(;u2(l);){switch(l){case 103:o&2&&f(e,34,"g"),o|=2;break;case 105:o&1&&f(e,34,"i"),o|=1;break;case 109:o&4&&f(e,34,"m"),o|=4;break;case 117:o&16&&f(e,34,"g"),o|=16;break;case 121:o&8&&f(e,34,"y"),o|=8;break;case 115:o&32&&f(e,34,"s"),o|=32;break;default:f(e,33)}l=r(e)}let s=e.source.slice(c,e.index),m=e.source.slice(i,t);return e.tokenRegExp={pattern:m,flags:s},u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=V1(e,m,s),65540}function V1(e,u,i){try{return new RegExp(u,i)}catch{f(e,32)}}function N1(e,u,i){let{index:n}=e,t="",o=r(e),l=e.index;for(;!(C[o]&8);){if(o===i)return t+=e.source.slice(l,e.index),r(e),u&512&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=t,134283267;if((o&8)===8&&o===92){if(t+=e.source.slice(l,e.index),o=r(e),o<127||o===8232||o===8233){let c=d2(e,u,o);c>=0?t+=O(c):t1(e,c,0)}else t+=O(o);l=e.index+1}e.index>=e.end&&f(e,14),o=r(e)}f(e,14)}function d2(e,u,i){switch(i){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||e.currentChar!==125?-4:t}else{if(!(C[n]&64))return-4;let t=e.source.charCodeAt(e.index+1);if(!(C[t]&64))return-4;let o=e.source.charCodeAt(e.index+2);if(!(C[o]&64))return-4;let l=e.source.charCodeAt(e.index+3);return C[l]&64?(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),M(n)<<12|M(t)<<8|M(o)<<4|M(l)):-4}}case 56:case 57:if(!(u&256))return-3;default:return i}}function t1(e,u,i){switch(u){case-1:return;case-2:f(e,i?2:1);case-3:f(e,13);case-4:f(e,6);case-5:f(e,101)}}function We(e,u){let{index:i}=e,n=67174409,t="",o=r(e);for(;o!==96;){if(o===36&&e.source.charCodeAt(e.index+1)===123){r(e),n=67174408;break}else if((o&8)===8&&o===92)if(o=r(e),o>126)t+=O(o);else{let l=d2(e,u|1024,o);if(l>=0)t+=O(l);else if(l!==-1&&u&65536){t=void 0,o=S0(e,o),o<0&&(n=67174408);break}else t1(e,l,1)}else e.index=e.end&&f(e,15),o=r(e)}return r(e),e.tokenValue=t,e.tokenRaw=e.source.slice(i+1,e.index-(n===67174409?1:2)),n}function S0(e,u){for(;u!==96;){switch(u){case 36:{let i=e.index+1;if(i=e.end&&f(e,15),u=r(e)}return u}function F0(e,u){return e.index>=e.end&&f(e,0),e.index--,e.column--,We(e,u)}function Ke(e,u,i){let n=e.currentChar,t=0,o=9,l=i&64?0:1,c=0,s=0;if(i&64)t="."+o1(e,n),n=e.currentChar,n===110&&f(e,11);else{if(n===48)if(n=r(e),(n|32)===120){for(i=136,n=r(e);C[n]&4160;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*16+M(n),c++,n=r(e)}(c<1||!s)&&f(e,c<1?19:147)}else if((n|32)===111){for(i=132,n=r(e);C[n]&4128;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*8+(n-48),c++,n=r(e)}(c<1||!s)&&f(e,c<1?0:147)}else if((n|32)===98){for(i=130,n=r(e);C[n]&4224;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*2+(n-48),c++,n=r(e)}(c<1||!s)&&f(e,c<1?0:147)}else if(C[n]&32)for(u&1024&&f(e,1),i=1;C[n]&16;){if(C[n]&512){i=32,l=0;break}t=t*8+(n-48),n=r(e)}else C[n]&512?(u&1024&&f(e,1),e.flags|=64,i=32):n===95&&f(e,0);if(i&48){if(l){for(;o>=0&&C[n]&4112;){if(n===95){n=r(e),(n===95||i&32)&&B(e.index,e.line,e.index+1,146),s=1;continue}s=0,t=10*t+(n-48),n=r(e),--o}if(s&&B(e.index,e.line,e.index+1,147),o>=0&&!J(n)&&n!==46)return e.tokenValue=t,u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}t+=o1(e,n),n=e.currentChar,n===46&&(r(e)===95&&f(e,0),i=64,t+="."+o1(e,e.currentChar),n=e.currentChar)}}let m=e.index,b=0;if(n===110&&i&128)b=1,n=r(e);else if((n|32)===101){n=r(e),C[n]&256&&(n=r(e));let{index:h}=e;(C[n]&16)<1&&f(e,10),t+=e.source.substring(m,h)+o1(e,n),n=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],Ye=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function Ze(e,u,i){for(;e2[r(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),e.currentChar!==92&&e.currentChar<126?Ye[e.tokenValue]||208897:j1(e,u,0,i)}function L0(e,u){let i=Qe(e);return u2(i)||f(e,4),e.tokenValue=O(i),j1(e,u,1,C[i]&4)}function j1(e,u,i,n){let t=e.index;for(;e.index=2&&o<=11){let l=Ye[e.tokenValue];return l===void 0?208897:i?u&1024?l===209008&&!(u&4196352)?l:l===36972||(l&36864)===36864?122:121:u&1073741824&&!(u&8192)&&(l&20480)===20480?l:l===241773?u&1073741824?143483:u&2097152?121:l:l===209007&&u&1073741824?143483:(l&36864)===36864||l===209008&&!(u&4194304)?l:121:l}return 208897}function O0(e){return J(r(e))||f(e,93),131}function Qe(e){return e.source.charCodeAt(e.index+1)!==117&&f(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),T0(e)}function T0(e){let u=0,i=e.currentChar;if(i===123){let l=e.index-2;for(;C[r(e)]&64;)u=u<<4|M(e.currentChar),u>1114111&&B(l,e.line,e.index+1,101);return e.currentChar!==125&&B(l,e.line,e.index-1,6),r(e),u}C[i]&64||f(e,6);let n=e.source.charCodeAt(e.index+1);C[n]&64||f(e,6);let t=e.source.charCodeAt(e.index+2);C[t]&64||f(e,6);let o=e.source.charCodeAt(e.index+3);return C[o]&64||f(e,6),u=M(i)<<12|M(n)<<8|M(t)<<4|M(o),e.currentChar=e.source.charCodeAt(e.index+=4),u}var Ge=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function P(e,u){if(e.flags=(e.flags|1)^1,e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=xe(e,u,0),e.onToken&&e.token!==1048576){let i={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(a2(e.token),e.tokenPos,e.index,i)}}function xe(e,u,i){let n=e.index===0,t=e.source,o=e.index,l=e.line,c=e.column;for(;e.index=e.end)return 8457014;let d=e.currentChar;return d===61?(r(e),4194340):d!==42?8457014:r(e)!==61?8457273:(r(e),4194337)}case 8455497:return r(e)!==61?8455497:(r(e),4194343);case 25233970:{r(e);let d=e.currentChar;return d===43?(r(e),33619995):d===61?(r(e),4194338):25233970}case 25233971:{r(e);let d=e.currentChar;if(d===45){if(r(e),(i&1||n)&&e.currentChar===62){u&256||f(e,108),r(e),i=V2(e,t,i,u,3,o,l,c),o=e.tokenPos,l=e.linePos,c=e.colPos;continue}return 33619996}return d===61?(r(e),4194339):25233971}case 8457016:{if(r(e),e.index=48&&h<=57)return Ke(e,u,80);if(h===46){let d=e.index+1;if(d=48&&d<=57)))return r(e),67108991}return 22}}}else{if((s^8232)<=1){i=i&-5|1,W(e);continue}if((s&64512)===55296||R[(s>>>5)+34816]>>>s&31&1)return(s&64512)===56320&&(s=(s&1023)<<10|s&1023|65536,R[(s>>>5)+0]>>>s&31&1||f(e,18,O(s)),e.index++,e.currentChar=s),e.column++,e.tokenValue="",j1(e,u,0,0);if(Y(s)){r(e);continue}f(e,18,O(s))}}return 1048576}var I0={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},pe={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function R0(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,u=>{if(u.charAt(1)==="#"){let i=u.charAt(2),n=i==="X"||i==="x"?parseInt(u.slice(3),16):parseInt(u.slice(2),10);return V0(n)}return I0[u.slice(1,-1)]||u})}function V0(e){return e>=55296&&e<=57343||e>1114111?"\uFFFD":(e in pe&&(e=pe[e]),String.fromCodePoint(e))}function N0(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=C[e.currentChar]&8192?j0(e,u):xe(e,u,0),e.token}function j0(e,u){let i=e.currentChar,n=r(e),t=e.index;for(;n!==i;)e.index>=e.end&&f(e,14),n=r(e);return n!==i&&f(e,14),e.tokenValue=e.source.slice(t,e.index),r(e),u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283267}function j2(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(Ge[e.source.charCodeAt(e.index)]){case 8456258:{r(e),e.currentChar===47?(r(e),e.token=25):e.token=8456258;break}case 2162700:{r(e),e.token=2162700;break}default:{let n=0;for(;e.index2?o-2:0),c=2;c1&&t&32&&e.token&262144&&f(e,58,G[e.token&255]),l}function cu(e,u,i,n,t){let{token:o,tokenPos:l,linePos:c,colPos:s}=e,m=null,b=Du(e,u,i,n,t,l,c,s);return e.token===1077936157?(P(e,u|32768),m=Q(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(t&32||(o&2097152)<1)&&(e.token===274549||e.token===8738868&&(o&2097152||(n&4)<1||u&1024))&&L(l,e.line,e.index-3,57,e.token===274549?"of":"in")):(n&16||(o&2097152)>0)&&(e.token&262144)!==262144&&f(e,56,n&16?"const":"destructuring"),v(e,u,l,c,s,{type:"VariableDeclarator",id:b,init:m})}function ct(e,u,i,n,t,o,l){P(e,u);let c=(u&4194304)>0&&U(e,u,209008);q(e,u|32768,67174411),i&&(i=i2(i,1));let s=null,m=null,b=0,h=null,d=e.token===86090||e.token===241739||e.token===86092,y,{token:w,tokenPos:D,linePos:F,colPos:T}=e;if(d?w===241739?(h=X(e,u,0),e.token&2240512?(e.token===8738868?u&1024&&f(e,64):h=v(e,u,D,F,T,{type:"VariableDeclaration",kind:"let",declarations:z2(e,u|134217728,i,8,32)}),e.assignable=1):u&1024?f(e,64):(d=!1,e.assignable=1,h=K(e,u,h,0,0,D,F,T),e.token===274549&&f(e,111))):(P(e,u),h=v(e,u,D,F,T,w===86090?{type:"VariableDeclaration",kind:"var",declarations:z2(e,u|134217728,i,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:z2(e,u|134217728,i,16,32)}),e.assignable=1):w===1074790417?c&&f(e,79):(w&2097152)===2097152?(h=w===2162700?k2(e,u,void 0,1,0,0,2,32,D,F,T):b2(e,u,void 0,1,0,0,2,32,D,F,T),b=e.destructible,u&256&&b&64&&f(e,60),e.assignable=b&16?2:1,h=K(e,u|134217728,h,0,0,e.tokenPos,e.linePos,e.colPos)):h=m2(e,u|134217728,1,0,1,D,F,T),(e.token&262144)===262144){if(e.token===274549){e.assignable&2&&f(e,77,c?"await":"of"),v2(e,h),P(e,u|32768),y=Q(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),q(e,u|32768,16);let I=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForOfStatement",left:h,right:y,body:I,await:c})}e.assignable&2&&f(e,77,"in"),v2(e,h),P(e,u|32768),c&&f(e,79),y=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos),q(e,u|32768,16);let p=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForInStatement",body:p,left:h,right:y})}c&&f(e,79),d||(b&8&&e.token!==1077936157&&f(e,77,"loop"),h=x(e,u|134217728,0,0,D,F,T,h)),e.token===18&&(h=O2(e,u,0,e.tokenPos,e.linePos,e.colPos,h)),q(e,u|32768,1074790417),e.token!==1074790417&&(s=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),q(e,u|32768,1074790417),e.token!==16&&(m=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),q(e,u|32768,16);let N=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForStatement",init:h,test:s,update:m,body:N})}function su(e,u,i){return J1(u,e.token)||f(e,114),(e.token&537079808)===537079808&&f(e,115),i&&L2(e,u,i,e.tokenValue,8,0),X(e,u,0)}function st(e,u,i){let n=e.tokenPos,t=e.linePos,o=e.colPos;P(e,u);let l=null,{tokenPos:c,linePos:s,colPos:m}=e,b=[];if(e.token===134283267)l=c2(e,u);else{if(e.token&143360){let h=su(e,u,i);if(b=[v(e,u,c,s,m,{type:"ImportDefaultSpecifier",local:h})],U(e,u,18))switch(e.token){case 8457014:b.push(au(e,u,i));break;case 2162700:du(e,u,i,b);break;default:f(e,104)}}else switch(e.token){case 8457014:b=[au(e,u,i)];break;case 2162700:du(e,u,i,b);break;case 67174411:return hu(e,u,n,t,o);case 67108877:return gu(e,u,n,t,o);default:f(e,28,G[e.token&255])}l=at(e,u)}return s2(e,u|32768),v(e,u,n,t,o,{type:"ImportDeclaration",specifiers:b,source:l})}function au(e,u,i){let{tokenPos:n,linePos:t,colPos:o}=e;return P(e,u),q(e,u,77934),(e.token&134217728)===134217728&&L(n,e.line,e.index,28,G[e.token&255]),v(e,u,n,t,o,{type:"ImportNamespaceSpecifier",local:su(e,u,i)})}function at(e,u){return U(e,u,12404),e.token!==134283267&&f(e,102,"Import"),c2(e,u)}function du(e,u,i,n){for(P(e,u);e.token&143360;){let{token:t,tokenValue:o,tokenPos:l,linePos:c,colPos:s}=e,m=X(e,u,0),b;U(e,u,77934)?((e.token&134217728)===134217728||e.token===18?f(e,103):l1(e,u,16,e.token,0),o=e.tokenValue,b=X(e,u,0)):(l1(e,u,16,t,0),b=m),i&&L2(e,u,i,o,8,0),n.push(v(e,u,l,c,s,{type:"ImportSpecifier",local:b,imported:m})),e.token!==1074790415&&q(e,u,18)}return q(e,u,1074790415),n}function gu(e,u,i,n,t){let o=bu(e,u,v(e,u,i,n,t,{type:"Identifier",name:"import"}),i,n,t);return o=K(e,u,o,0,0,i,n,t),o=x(e,u,0,0,i,n,t,o),X2(e,u,o,i,n,t)}function hu(e,u,i,n,t){let o=ku(e,u,0,i,n,t);return o=K(e,u,o,0,0,i,n,t),X2(e,u,o,i,n,t)}function dt(e,u,i){let n=e.tokenPos,t=e.linePos,o=e.colPos;P(e,u|32768);let l=[],c=null,s=null,m;if(U(e,u|32768,20563)){switch(e.token){case 86106:{c=I2(e,u,i,4,1,1,0,e.tokenPos,e.linePos,e.colPos);break}case 133:case 86096:c=x1(e,u,i,1,e.tokenPos,e.linePos,e.colPos);break;case 209007:let{tokenPos:b,linePos:h,colPos:d}=e;c=X(e,u,0);let{flags:y}=e;(y&1)<1&&(e.token===86106?c=I2(e,u,i,4,1,1,1,b,h,d):e.token===67174411?(c=G1(e,u,c,1,1,0,y,b,h,d),c=K(e,u,c,0,0,b,h,d),c=x(e,u,0,0,b,h,d,c)):e.token&143360&&(i&&(i=c1(e,u,e.tokenValue)),c=X(e,u,0),c=e1(e,u,i,[c],1,b,h,d)));break;default:c=Q(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),s2(e,u|32768)}return i&&M2(e,"default"),v(e,u,n,t,o,{type:"ExportDefaultDeclaration",declaration:c})}switch(e.token){case 8457014:{P(e,u);let y=null;return U(e,u,77934)&&(i&&M2(e,e.tokenValue),y=X(e,u,0)),q(e,u,12404),e.token!==134283267&&f(e,102,"Export"),s=c2(e,u),s2(e,u|32768),v(e,u,n,t,o,{type:"ExportAllDeclaration",source:s,exported:y})}case 2162700:{P(e,u);let y=[],w=[];for(;e.token&143360;){let{tokenPos:D,tokenValue:F,linePos:T,colPos:N}=e,p=X(e,u,0),I;e.token===77934?(P(e,u),(e.token&134217728)===134217728&&f(e,103),i&&(y.push(e.tokenValue),w.push(F)),I=X(e,u,0)):(i&&(y.push(e.tokenValue),w.push(e.tokenValue)),I=p),l.push(v(e,u,D,T,N,{type:"ExportSpecifier",local:p,exported:I})),e.token!==1074790415&&q(e,u,18)}if(q(e,u,1074790415),U(e,u,12404))e.token!==134283267&&f(e,102,"Export"),s=c2(e,u);else if(i){let D=0,F=y.length;for(;D0)&8738868,b,h;for(e.assignable=2;e.token&8454144&&(b=e.token,h=b&3840,(b&524288&&c&268435456||c&524288&&b&268435456)&&f(e,159),!(h+((b===8457273)<<8)-((m===b)<<12)<=l));)P(e,u|32768),s=v(e,u,n,t,o,{type:b&524288||b&268435456?"LogicalExpression":"BinaryExpression",left:s,right:T2(e,u,i,e.tokenPos,e.linePos,e.colPos,h,b,m2(e,u,0,i,1,e.tokenPos,e.linePos,e.colPos)),operator:G[b&255]});return e.token===1077936157&&f(e,24),s}function gt(e,u,i,n,t,o,l){i||f(e,0);let c=e.token;P(e,u|32768);let s=m2(e,u,0,l,1,e.tokenPos,e.linePos,e.colPos);return e.token===8457273&&f(e,31),u&1024&&c===16863278&&(s.type==="Identifier"?f(e,117):_0(s)&&f(e,123)),e.assignable=2,v(e,u,n,t,o,{type:"UnaryExpression",operator:G[c&255],argument:s,prefix:!0})}function ht(e,u,i,n,t,o,l,c,s,m){let{token:b}=e,h=X(e,u,o),{flags:d}=e;if((d&1)<1){if(e.token===86106)return vu(e,u,1,i,c,s,m);if((e.token&143360)===143360)return n||f(e,0),Pu(e,u,t,c,s,m)}return!l&&e.token===67174411?G1(e,u,h,t,1,0,d,c,s,m):e.token===10?($1(e,u,b,1),l&&f(e,48),h1(e,u,e.tokenValue,h,l,t,0,c,s,m)):h}function mt(e,u,i,n,t,o,l){if(i&&(e.destructible|=256),u&2097152){P(e,u|32768),u&8388608&&f(e,30),n||f(e,24),e.token===22&&f(e,120);let c=null,s=!1;return(e.flags&1)<1&&(s=U(e,u|32768,8457014),(e.token&77824||s)&&(c=Q(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,v(e,u,t,o,l,{type:"YieldExpression",argument:c,delegate:s})}return u&1024&&f(e,94,"yield"),Q1(e,u,t,o,l)}function bt(e,u,i,n,t,o,l){if(n&&(e.destructible|=128),u&4194304||u&2048&&u&8192){i&&f(e,0),u&8388608&&L(e.index,e.line,e.index,29),P(e,u|32768);let c=m2(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.token===8457273&&f(e,31),e.assignable=2,v(e,u,t,o,l,{type:"AwaitExpression",argument:c})}return u&2048&&f(e,95),Q1(e,u,t,o,l)}function d1(e,u,i,n,t,o){let{tokenPos:l,linePos:c,colPos:s}=e;q(e,u|32768,2162700);let m=[],b=u;if(e.token!==1074790415){for(;e.token===134283267;){let{index:h,tokenPos:d,tokenValue:y,token:w}=e,D=c2(e,u);eu(e,h,d,y)&&(u|=1024,e.flags&128&&L(e.index,e.line,e.tokenPos,63),e.flags&64&&L(e.index,e.line,e.tokenPos,8)),m.push(z1(e,u,D,w,d,e.linePos,e.colPos))}u&1024&&(t&&((t&537079808)===537079808&&f(e,115),(t&36864)===36864&&f(e,38)),e.flags&512&&f(e,115),e.flags&256&&f(e,114)),u&64&&i&&o!==void 0&&(b&1024)<1&&(u&8192)<1&&E(o)}for(e.flags=(e.flags|512|256|64)^832,e.destructible=(e.destructible|256)^256;e.token!==1074790415;)m.push(G2(e,u,i,4,{}));return q(e,n&24?u|32768:u,1074790415),e.flags&=-193,e.token===1077936157&&f(e,24),v(e,u,l,c,s,{type:"BlockStatement",body:m})}function kt(e,u,i,n,t){switch(P(e,u),e.token){case 67108991:f(e,161);case 67174411:{(u&524288)<1&&f(e,26),u&16384&&f(e,27),e.assignable=2;break}case 69271571:case 67108877:{(u&262144)<1&&f(e,27),u&16384&&f(e,27),e.assignable=1;break}default:f(e,28,"super")}return v(e,u,i,n,t,{type:"Super"})}function m2(e,u,i,n,t,o,l,c){let s=g2(e,u,2,0,i,0,n,t,o,l,c);return K(e,u,s,n,0,o,l,c)}function rt(e,u,i,n,t,o){e.assignable&2&&f(e,52);let{token:l}=e;return P(e,u),e.assignable=2,v(e,u,n,t,o,{type:"UpdateExpression",argument:i,operator:G[l&255],prefix:!1})}function K(e,u,i,n,t,o,l,c){if((e.token&33619968)===33619968&&(e.flags&1)<1)i=rt(e,u,i,o,l,c);else if((e.token&67108864)===67108864){switch(u=(u|134217728)^134217728,e.token){case 67108877:{P(e,(u|1073741824|8192)^8192),e.assignable=1;let s=mu(e,u);i=v(e,u,o,l,c,{type:"MemberExpression",object:i,computed:!1,property:s});break}case 69271571:{let s=!1;(e.flags&2048)===2048&&(s=!0,e.flags=(e.flags|2048)^2048),P(e,u|32768);let{tokenPos:m,linePos:b,colPos:h}=e,d=o2(e,u,n,1,m,b,h);q(e,u,20),e.assignable=1,i=v(e,u,o,l,c,{type:"MemberExpression",object:i,computed:!0,property:d}),s&&(e.flags|=2048);break}case 67174411:{if((e.flags&1024)===1024)return e.flags=(e.flags|1024)^1024,i;let s=!1;(e.flags&2048)===2048&&(s=!0,e.flags=(e.flags|2048)^2048);let m=Z1(e,u,n);e.assignable=2,i=v(e,u,o,l,c,{type:"CallExpression",callee:i,arguments:m}),s&&(e.flags|=2048);break}case 67108991:{P(e,(u|1073741824|8192)^8192),e.flags|=2048,e.assignable=2,i=vt(e,u,i,o,l,c);break}default:(e.flags&2048)===2048&&f(e,160),e.assignable=2,i=v(e,u,o,l,c,{type:"TaggedTemplateExpression",tag:i,quasi:e.token===67174408?Y1(e,u|65536):K1(e,u,e.tokenPos,e.linePos,e.colPos)})}i=K(e,u,i,0,1,o,l,c)}return t===0&&(e.flags&2048)===2048&&(e.flags=(e.flags|2048)^2048,i=v(e,u,o,l,c,{type:"ChainExpression",expression:i})),i}function vt(e,u,i,n,t,o){let l=!1,c;if((e.token===69271571||e.token===67174411)&&(e.flags&2048)===2048&&(l=!0,e.flags=(e.flags|2048)^2048),e.token===69271571){P(e,u|32768);let{tokenPos:s,linePos:m,colPos:b}=e,h=o2(e,u,0,1,s,m,b);q(e,u,20),e.assignable=2,c=v(e,u,n,t,o,{type:"MemberExpression",object:i,computed:!0,optional:!0,property:h})}else if(e.token===67174411){let s=Z1(e,u,0);e.assignable=2,c=v(e,u,n,t,o,{type:"CallExpression",callee:i,arguments:s,optional:!0})}else{(e.token&143360)<1&&f(e,154);let s=X(e,u,0);e.assignable=2,c=v(e,u,n,t,o,{type:"MemberExpression",object:i,computed:!1,optional:!0,property:s})}return l&&(e.flags|=2048),c}function mu(e,u){return(e.token&143360)<1&&e.token!==131&&f(e,154),u&1&&e.token===131?r1(e,u,e.tokenPos,e.linePos,e.colPos):X(e,u,0)}function yt(e,u,i,n,t,o,l){i&&f(e,53),n||f(e,0);let{token:c}=e;P(e,u|32768);let s=m2(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.assignable&2&&f(e,52),e.assignable=2,v(e,u,t,o,l,{type:"UpdateExpression",argument:s,operator:G[c&255],prefix:!0})}function g2(e,u,i,n,t,o,l,c,s,m,b){if((e.token&143360)===143360){switch(e.token){case 209008:return bt(e,u,n,l,s,m,b);case 241773:return mt(e,u,l,t,s,m,b);case 209007:return ht(e,u,l,c,t,o,n,s,m,b)}let{token:h,tokenValue:d}=e,y=X(e,u|65536,o);return e.token===10?(c||f(e,0),$1(e,u,h,1),h1(e,u,d,y,n,t,0,s,m,b)):(u&16384&&h===537079928&&f(e,126),h===241739&&(u&1024&&f(e,109),i&24&&f(e,97)),e.assignable=u&1024&&(h&537079808)===537079808?2:1,y)}if((e.token&134217728)===134217728)return c2(e,u);switch(e.token){case 33619995:case 33619996:return yt(e,u,n,c,s,m,b);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return gt(e,u,c,s,m,b,l);case 86106:return vu(e,u,0,l,s,m,b);case 2162700:return wt(e,u,t?0:1,l,s,m,b);case 69271571:return Dt(e,u,t?0:1,l,s,m,b);case 67174411:return Bt(e,u,t,1,0,s,m,b);case 86021:case 86022:case 86023:return Et(e,u,s,m,b);case 86113:return Ct(e,u);case 65540:return Lt(e,u,s,m,b);case 133:case 86096:return Ot(e,u,l,s,m,b);case 86111:return kt(e,u,s,m,b);case 67174409:return K1(e,u,s,m,b);case 67174408:return Y1(e,u);case 86109:return St(e,u,l,s,m,b);case 134283389:return ru(e,u,s,m,b);case 131:return r1(e,u,s,m,b);case 86108:return At(e,u,n,l,s,m,b);case 8456258:if(u&16)return ee(e,u,1,s,m,b);default:if(J1(u,e.token))return Q1(e,u,s,m,b);f(e,28,G[e.token&255])}}function At(e,u,i,n,t,o,l){let c=X(e,u,0);return e.token===67108877?bu(e,u,c,t,o,l):(i&&f(e,137),c=ku(e,u,n,t,o,l),e.assignable=2,K(e,u,c,n,0,t,o,l))}function bu(e,u,i,n,t,o){return u&2048||f(e,163),P(e,u),e.token!==143495&&e.tokenValue!=="meta"&&f(e,28,G[e.token&255]),e.assignable=2,v(e,u,n,t,o,{type:"MetaProperty",meta:i,property:X(e,u,0)})}function ku(e,u,i,n,t,o){q(e,u|32768,67174411),e.token===14&&f(e,138);let l=Q(e,u,1,0,i,e.tokenPos,e.linePos,e.colPos);return q(e,u,16),v(e,u,n,t,o,{type:"ImportExpression",source:l})}function ru(e,u,i,n,t){let{tokenRaw:o,tokenValue:l}=e;return P(e,u),e.assignable=2,v(e,u,i,n,t,u&512?{type:"Literal",value:l,bigint:o.slice(0,-1),raw:o}:{type:"Literal",value:l,bigint:o.slice(0,-1)})}function K1(e,u,i,n,t){e.assignable=2;let{tokenValue:o,tokenRaw:l,tokenPos:c,linePos:s,colPos:m}=e;q(e,u,67174409);let b=[g1(e,u,o,l,c,s,m,!0)];return v(e,u,i,n,t,{type:"TemplateLiteral",expressions:[],quasis:b})}function Y1(e,u){u=(u|134217728)^134217728;let{tokenValue:i,tokenRaw:n,tokenPos:t,linePos:o,colPos:l}=e;q(e,u|32768,67174408);let c=[g1(e,u,i,n,t,o,l,!1)],s=[o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(e.token!==1074790415&&f(e,80);(e.token=F0(e,u))!==67174409;){let{tokenValue:m,tokenRaw:b,tokenPos:h,linePos:d,colPos:y}=e;q(e,u|32768,67174408),c.push(g1(e,u,m,b,h,d,y,!1)),s.push(o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),e.token!==1074790415&&f(e,80)}{let{tokenValue:m,tokenRaw:b,tokenPos:h,linePos:d,colPos:y}=e;q(e,u,67174409),c.push(g1(e,u,m,b,h,d,y,!0))}return v(e,u,t,o,l,{type:"TemplateLiteral",expressions:s,quasis:c})}function g1(e,u,i,n,t,o,l,c){let s=v(e,u,t,o,l,{type:"TemplateElement",value:{cooked:i,raw:n},tail:c}),m=c?1:2;return u&2&&(s.start+=1,s.range[0]+=1,s.end-=m,s.range[1]-=m),u&4&&(s.loc.start.column+=1,s.loc.end.column-=m),s}function Pt(e,u,i,n,t){u=(u|134217728)^134217728,q(e,u|32768,14);let o=Q(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,v(e,u,i,n,t,{type:"SpreadElement",argument:o})}function Z1(e,u,i){P(e,u|32768);let n=[];if(e.token===16)return P(e,u),n;for(;e.token!==16&&(e.token===14?n.push(Pt(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(Q(e,u,1,0,i,e.tokenPos,e.linePos,e.colPos)),!(e.token!==18||(P(e,u|32768),e.token===16))););return q(e,u,16),n}function X(e,u,i){let{tokenValue:n,tokenPos:t,linePos:o,colPos:l}=e;return P(e,u),v(e,u,t,o,l,u&268435456?{type:"Identifier",name:n,pattern:i===1}:{type:"Identifier",name:n})}function c2(e,u){let{tokenValue:i,tokenRaw:n,tokenPos:t,linePos:o,colPos:l}=e;return e.token===134283389?ru(e,u,t,o,l):(P(e,u),e.assignable=2,v(e,u,t,o,l,u&512?{type:"Literal",value:i,raw:n}:{type:"Literal",value:i}))}function Et(e,u,i,n,t){let o=G[e.token&255],l=e.token===86023?null:o==="true";return P(e,u),e.assignable=2,v(e,u,i,n,t,u&512?{type:"Literal",value:l,raw:o}:{type:"Literal",value:l})}function Ct(e,u){let{tokenPos:i,linePos:n,colPos:t}=e;return P(e,u),e.assignable=2,v(e,u,i,n,t,{type:"ThisExpression"})}function I2(e,u,i,n,t,o,l,c,s,m){P(e,u|32768);let b=t?M1(e,u,8457014):0,h=null,d,y=i?_2():void 0;if(e.token===67174411)(o&1)<1&&f(e,37,"Function");else{let F=n&4&&((u&8192)<1||(u&2048)<1)?4:64;uu(e,u|(u&3072)<<11,e.token),i&&(F&4?tu(e,u,i,e.tokenValue,F):L2(e,u,i,e.tokenValue,F,n),y=i2(y,256),o&&o&2&&M2(e,e.tokenValue)),d=e.token,e.token&143360?h=X(e,u,0):f(e,28,G[e.token&255])}u=(u|32243712)^32243712|67108864|l*2+b<<21|(b?0:1073741824),i&&(y=i2(y,512));let w=Au(e,u|8388608,y,0,1),D=d1(e,(u|8192|4096|131072)^143360,i?i2(y,128):y,8,d,i?y.scopeError:void 0);return v(e,u,c,s,m,{type:"FunctionDeclaration",id:h,params:w,body:D,async:l===1,generator:b===1})}function vu(e,u,i,n,t,o,l){P(e,u|32768);let c=M1(e,u,8457014),s=i*2+c<<21,m=null,b,h=u&64?_2():void 0;(e.token&176128)>0&&(uu(e,(u|32243712)^32243712|s,e.token),h&&(h=i2(h,256)),b=e.token,m=X(e,u,0)),u=(u|32243712)^32243712|67108864|s|(c?0:1073741824),h&&(h=i2(h,512));let d=Au(e,u|8388608,h,n,1),y=d1(e,u&-134377473,h&&i2(h,128),0,b,void 0);return e.assignable=2,v(e,u,t,o,l,{type:"FunctionExpression",id:m,params:d,body:y,async:i===1,generator:c===1})}function Dt(e,u,i,n,t,o,l){let c=b2(e,u,void 0,i,n,0,2,0,t,o,l);return u&256&&e.destructible&64&&f(e,60),e.destructible&8&&f(e,59),c}function b2(e,u,i,n,t,o,l,c,s,m,b){P(e,u|32768);let h=[],d=0;for(u=(u|134217728)^134217728;e.token!==20;)if(U(e,u|32768,18))h.push(null);else{let w,{token:D,tokenPos:F,linePos:T,colPos:N,tokenValue:p}=e;if(D&143360)if(w=g2(e,u,l,0,1,0,t,1,F,T,N),e.token===1077936157){e.assignable&2&&f(e,24),P(e,u|32768),i&&B2(e,u,i,p,l,c);let I=Q(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);w=v(e,u,F,T,N,o?{type:"AssignmentPattern",left:w,right:I}:{type:"AssignmentExpression",operator:"=",left:w,right:I}),d|=e.destructible&256?256:0|e.destructible&128?128:0}else e.token===18||e.token===20?(e.assignable&2?d|=16:i&&B2(e,u,i,p,l,c),d|=e.destructible&256?256:0|e.destructible&128?128:0):(d|=l&1?32:(l&2)<1?16:0,w=K(e,u,w,t,0,F,T,N),e.token!==18&&e.token!==20?(e.token!==1077936157&&(d|=16),w=x(e,u,t,o,F,T,N,w)):e.token!==1077936157&&(d|=e.assignable&2?16:32));else D&2097152?(w=e.token===2162700?k2(e,u,i,0,t,o,l,c,F,T,N):b2(e,u,i,0,t,o,l,c,F,T,N),d|=e.destructible,e.assignable=e.destructible&16?2:1,e.token===18||e.token===20?e.assignable&2&&(d|=16):e.destructible&8?f(e,68):(w=K(e,u,w,t,0,F,T,N),d=e.assignable&2?16:0,e.token!==18&&e.token!==20?w=x(e,u,t,o,F,T,N,w):e.token!==1077936157&&(d|=e.assignable&2?16:32))):D===14?(w=W2(e,u,i,20,l,c,0,t,o,F,T,N),d|=e.destructible,e.token!==18&&e.token!==20&&f(e,28,G[e.token&255])):(w=m2(e,u,1,0,1,F,T,N),e.token!==18&&e.token!==20?(w=x(e,u,t,o,F,T,N,w),(l&3)<1&&D===67174411&&(d|=16)):e.assignable&2?d|=16:D===67174411&&(d|=e.assignable&1&&l&3?32:16));if(h.push(w),U(e,u|32768,18)){if(e.token===20)break}else break}q(e,u,20);let y=v(e,u,s,m,b,{type:o?"ArrayPattern":"ArrayExpression",elements:h});return!n&&e.token&4194304?yu(e,u,d,t,o,s,m,b,y):(e.destructible=d,y)}function yu(e,u,i,n,t,o,l,c,s){e.token!==1077936157&&f(e,24),P(e,u|32768),i&16&&f(e,24),t||v2(e,s);let{tokenPos:m,linePos:b,colPos:h}=e,d=Q(e,u,1,1,n,m,b,h);return e.destructible=(i|64|8)^72|(e.destructible&128?128:0)|(e.destructible&256?256:0),v(e,u,o,l,c,t?{type:"AssignmentPattern",left:s,right:d}:{type:"AssignmentExpression",left:s,operator:"=",right:d})}function W2(e,u,i,n,t,o,l,c,s,m,b,h){P(e,u|32768);let d=null,y=0,{token:w,tokenValue:D,tokenPos:F,linePos:T,colPos:N}=e;if(w&143360)e.assignable=1,d=g2(e,u,t,0,1,0,c,1,F,T,N),w=e.token,d=K(e,u,d,c,0,F,T,N),e.token!==18&&e.token!==n&&(e.assignable&2&&e.token===1077936157&&f(e,68),y|=16,d=x(e,u,c,s,F,T,N,d)),e.assignable&2?y|=16:w===n||w===18?i&&B2(e,u,i,D,t,o):y|=32,y|=e.destructible&128?128:0;else if(w===n)f(e,39);else if(w&2097152)d=e.token===2162700?k2(e,u,i,1,c,s,t,o,F,T,N):b2(e,u,i,1,c,s,t,o,F,T,N),w=e.token,w!==1077936157&&w!==n&&w!==18?(e.destructible&8&&f(e,68),d=K(e,u,d,c,0,F,T,N),y|=e.assignable&2?16:0,(e.token&4194304)===4194304?(e.token!==1077936157&&(y|=16),d=x(e,u,c,s,F,T,N,d)):((e.token&8454144)===8454144&&(d=T2(e,u,1,F,T,N,4,w,d)),U(e,u|32768,22)&&(d=U2(e,u,d,F,T,N)),y|=e.assignable&2?16:32)):y|=n===1074790415&&w!==1077936157?16:e.destructible;else{y|=32,d=m2(e,u,1,c,1,e.tokenPos,e.linePos,e.colPos);let{token:p,tokenPos:I,linePos:Z,colPos:A}=e;return p===1077936157&&p!==n&&p!==18?(e.assignable&2&&f(e,24),d=x(e,u,c,s,I,Z,A,d),y|=16):(p===18?y|=16:p!==n&&(d=x(e,u,c,s,I,Z,A,d)),y|=e.assignable&1?32:16),e.destructible=y,e.token!==n&&e.token!==18&&f(e,155),v(e,u,m,b,h,{type:s?"RestElement":"SpreadElement",argument:d})}if(e.token!==n)if(t&1&&(y|=l?16:32),U(e,u|32768,1077936157)){y&16&&f(e,24),v2(e,d);let p=Q(e,u,1,1,c,e.tokenPos,e.linePos,e.colPos);d=v(e,u,F,T,N,s?{type:"AssignmentPattern",left:d,right:p}:{type:"AssignmentExpression",left:d,operator:"=",right:p}),y=16}else y|=16;return e.destructible=y,v(e,u,m,b,h,{type:s?"RestElement":"SpreadElement",argument:d})}function y2(e,u,i,n,t,o,l){let c=(i&64)<1?31981568:14680064;u=(u|c)^c|(i&88)<<18|100925440;let s=u&64?i2(_2(),512):void 0,m=qt(e,u|8388608,s,i,1,n);s&&(s=i2(s,128));let b=d1(e,u&-134230017,s,0,void 0,void 0);return v(e,u,t,o,l,{type:"FunctionExpression",params:m,body:b,async:(i&16)>0,generator:(i&8)>0,id:null})}function wt(e,u,i,n,t,o,l){let c=k2(e,u,void 0,i,n,0,2,0,t,o,l);return u&256&&e.destructible&64&&f(e,60),e.destructible&8&&f(e,59),c}function k2(e,u,i,n,t,o,l,c,s,m,b){P(e,u);let h=[],d=0,y=0;for(u=(u|134217728)^134217728;e.token!==1074790415;){let{token:D,tokenValue:F,linePos:T,colPos:N,tokenPos:p}=e;if(D===14)h.push(W2(e,u,i,1074790415,l,c,0,t,o,p,T,N));else{let I=0,Z=null,A,A2=e.token;if(e.token&143360||e.token===121)if(Z=X(e,u,0),e.token===18||e.token===1074790415||e.token===1077936157)if(I|=4,u&1024&&(D&537079808)===537079808?d|=16:l1(e,u,l,D,0),i&&B2(e,u,i,F,l,c),U(e,u|32768,1077936157)){d|=8;let V=Q(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);d|=e.destructible&256?256:0|e.destructible&128?128:0,A=v(e,u,p,T,N,{type:"AssignmentPattern",left:u&-2147483648?Object.assign({},Z):Z,right:V})}else d|=(D===209008?128:0)|(D===121?16:0),A=u&-2147483648?Object.assign({},Z):Z;else if(U(e,u|32768,21)){let{tokenPos:V,linePos:_,colPos:j}=e;if(F==="__proto__"&&y++,e.token&143360){let J2=e.token,Y2=e.tokenValue;d|=A2===121?16:0,A=g2(e,u,l,0,1,0,t,1,V,_,j);let{token:D2}=e;A=K(e,u,A,t,0,V,_,j),e.token===18||e.token===1074790415?D2===1077936157||D2===1074790415||D2===18?(d|=e.destructible&128?128:0,e.assignable&2?d|=16:i&&(J2&143360)===143360&&B2(e,u,i,Y2,l,c)):d|=e.assignable&1?32:16:(e.token&4194304)===4194304?(e.assignable&2?d|=16:D2!==1077936157?d|=32:i&&B2(e,u,i,Y2,l,c),A=x(e,u,t,o,V,_,j,A)):(d|=16,(e.token&8454144)===8454144&&(A=T2(e,u,1,V,_,j,4,D2,A)),U(e,u|32768,22)&&(A=U2(e,u,A,V,_,j)))}else(e.token&2097152)===2097152?(A=e.token===69271571?b2(e,u,i,0,t,o,l,c,V,_,j):k2(e,u,i,0,t,o,l,c,V,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):e.destructible&8?f(e,68):(A=K(e,u,A,t,0,V,_,j),d=e.assignable&2?16:0,(e.token&4194304)===4194304?A=a1(e,u,t,o,V,_,j,A):((e.token&8454144)===8454144&&(A=T2(e,u,1,V,_,j,4,D,A)),U(e,u|32768,22)&&(A=U2(e,u,A,V,_,j)),d|=e.assignable&2?16:32))):(A=m2(e,u,1,t,1,V,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(A=K(e,u,A,t,0,V,_,j),d=e.assignable&2?16:0,e.token!==18&&D!==1074790415&&(e.token!==1077936157&&(d|=16),A=x(e,u,t,o,V,_,j,A))))}else e.token===69271571?(d|=16,D===209007&&(I|=16),I|=(D===12402?256:D===12403?512:1)|2,Z=K2(e,u,t),d|=e.assignable,A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token&143360?(d|=16,D===121&&f(e,92),D===209007&&(e.flags&1&&f(e,128),I|=16),Z=X(e,u,0),I|=D===12402?256:D===12403?512:1,A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token===67174411?(d|=16,I|=1,A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token===8457014?(d|=16,D===12402||D===12403?f(e,40):D===143483&&f(e,92),P(e,u),I|=9|(D===209007?16:0),e.token&143360?Z=X(e,u,0):(e.token&134217728)===134217728?Z=c2(e,u):e.token===69271571?(I|=2,Z=K2(e,u,t),d|=e.assignable):f(e,28,G[e.token&255]),A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):(e.token&134217728)===134217728?(D===209007&&(I|=16),I|=D===12402?256:D===12403?512:1,d|=16,Z=c2(e,u),A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):f(e,129);else if((e.token&134217728)===134217728)if(Z=c2(e,u),e.token===21){q(e,u|32768,21);let{tokenPos:V,linePos:_,colPos:j}=e;if(F==="__proto__"&&y++,e.token&143360){A=g2(e,u,l,0,1,0,t,1,V,_,j);let{token:J2,tokenValue:Y2}=e;A=K(e,u,A,t,0,V,_,j),e.token===18||e.token===1074790415?J2===1077936157||J2===1074790415||J2===18?e.assignable&2?d|=16:i&&B2(e,u,i,Y2,l,c):d|=e.assignable&1?32:16:e.token===1077936157?(e.assignable&2&&(d|=16),A=x(e,u,t,o,V,_,j,A)):(d|=16,A=x(e,u,t,o,V,_,j,A))}else(e.token&2097152)===2097152?(A=e.token===69271571?b2(e,u,i,0,t,o,l,c,V,_,j):k2(e,u,i,0,t,o,l,c,V,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(e.destructible&8)!==8&&(A=K(e,u,A,t,0,V,_,j),d=e.assignable&2?16:0,(e.token&4194304)===4194304?A=a1(e,u,t,o,V,_,j,A):((e.token&8454144)===8454144&&(A=T2(e,u,1,V,_,j,4,D,A)),U(e,u|32768,22)&&(A=U2(e,u,A,V,_,j)),d|=e.assignable&2?16:32))):(A=m2(e,u,1,0,1,V,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(A=K(e,u,A,t,0,V,_,j),d=e.assignable&1?0:16,e.token!==18&&e.token!==1074790415&&(e.token!==1077936157&&(d|=16),A=x(e,u,t,o,V,_,j,A))))}else e.token===67174411?(I|=1,A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos),d=e.assignable|16):f(e,130);else if(e.token===69271571)if(Z=K2(e,u,t),d|=e.destructible&256?256:0,I|=2,e.token===21){P(e,u|32768);let{tokenPos:V,linePos:_,colPos:j,tokenValue:J2,token:Y2}=e;if(e.token&143360){A=g2(e,u,l,0,1,0,t,1,V,_,j);let{token:D2}=e;A=K(e,u,A,t,0,V,_,j),(e.token&4194304)===4194304?(d|=e.assignable&2?16:D2===1077936157?0:32,A=a1(e,u,t,o,V,_,j,A)):e.token===18||e.token===1074790415?D2===1077936157||D2===1074790415||D2===18?e.assignable&2?d|=16:i&&(Y2&143360)===143360&&B2(e,u,i,J2,l,c):d|=e.assignable&1?32:16:(d|=16,A=x(e,u,t,o,V,_,j,A))}else(e.token&2097152)===2097152?(A=e.token===69271571?b2(e,u,i,0,t,o,l,c,V,_,j):k2(e,u,i,0,t,o,l,c,V,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):d&8?f(e,59):(A=K(e,u,A,t,0,V,_,j),d=e.assignable&2?d|16:0,(e.token&4194304)===4194304?(e.token!==1077936157&&(d|=16),A=a1(e,u,t,o,V,_,j,A)):((e.token&8454144)===8454144&&(A=T2(e,u,1,V,_,j,4,D,A)),U(e,u|32768,22)&&(A=U2(e,u,A,V,_,j)),d|=e.assignable&2?16:32))):(A=m2(e,u,1,0,1,V,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(A=K(e,u,A,t,0,V,_,j),d=e.assignable&1?0:16,e.token!==18&&e.token!==1074790415&&(e.token!==1077936157&&(d|=16),A=x(e,u,t,o,V,_,j,A))))}else e.token===67174411?(I|=1,A=y2(e,u,I,t,e.tokenPos,T,N),d=16):f(e,41);else if(D===8457014)if(q(e,u|32768,8457014),I|=8,e.token&143360){let{token:V,line:_,index:j}=e;Z=X(e,u,0),I|=1,e.token===67174411?(d|=16,A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):L(j,_,j,V===209007?43:V===12402||e.token===12403?42:44,G[V&255])}else(e.token&134217728)===134217728?(d|=16,Z=c2(e,u),I|=1,A=y2(e,u,I,t,p,T,N)):e.token===69271571?(d|=16,I|=3,Z=K2(e,u,t),A=y2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):f(e,122);else f(e,28,G[D&255]);d|=e.destructible&128?128:0,e.destructible=d,h.push(v(e,u,p,T,N,{type:"Property",key:Z,value:A,kind:I&768?I&512?"set":"get":"init",computed:(I&2)>0,method:(I&1)>0,shorthand:(I&4)>0}))}if(d|=e.destructible,e.token!==18)break;P(e,u)}q(e,u,1074790415),y>1&&(d|=64);let w=v(e,u,s,m,b,{type:o?"ObjectPattern":"ObjectExpression",properties:h});return!n&&e.token&4194304?yu(e,u,d,t,o,s,m,b,w):(e.destructible=d,w)}function qt(e,u,i,n,t,o){q(e,u,67174411);let l=[];if(e.flags=(e.flags|128)^128,e.token===16)return n&512&&f(e,35,"Setter","one",""),P(e,u),l;n&256&&f(e,35,"Getter","no","s"),n&512&&e.token===14&&f(e,36),u=(u|134217728)^134217728;let c=0,s=0;for(;e.token!==18;){let m=null,{tokenPos:b,linePos:h,colPos:d}=e;if(e.token&143360?((u&1024)<1&&((e.token&36864)===36864&&(e.flags|=256),(e.token&537079808)===537079808&&(e.flags|=512)),m=p1(e,u,i,n|1,0,b,h,d)):(e.token===2162700?m=k2(e,u,i,1,o,1,t,0,b,h,d):e.token===69271571?m=b2(e,u,i,1,o,1,t,0,b,h,d):e.token===14&&(m=W2(e,u,i,16,t,0,0,o,1,b,h,d)),s=1,e.destructible&48&&f(e,47)),e.token===1077936157){P(e,u|32768),s=1;let y=Q(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos);m=v(e,u,b,h,d,{type:"AssignmentPattern",left:m,right:y})}if(c++,l.push(m),!U(e,u,18)||e.token===16)break}return n&512&&c!==1&&f(e,35,"Setter","one",""),i&&i.scopeError!==void 0&&E(i.scopeError),s&&(e.flags|=128),q(e,u,16),l}function K2(e,u,i){P(e,u|32768);let n=Q(e,(u|134217728)^134217728,1,0,i,e.tokenPos,e.linePos,e.colPos);return q(e,u,20),n}function Bt(e,u,i,n,t,o,l,c){e.flags=(e.flags|128)^128;let{tokenPos:s,linePos:m,colPos:b}=e;P(e,u|32768|1073741824);let h=u&64?i2(_2(),1024):void 0;if(u=(u|134217728)^134217728,U(e,u,16))return m1(e,u,h,[],i,0,o,l,c);let d=0;e.destructible&=-385;let y,w=[],D=0,F=0,{tokenPos:T,linePos:N,colPos:p}=e;for(e.assignable=1;e.token!==16;){let{token:I,tokenPos:Z,linePos:A,colPos:A2}=e;if(I&143360)h&&L2(e,u,h,e.tokenValue,1,0),y=g2(e,u,n,0,1,0,1,1,Z,A,A2),e.token===16||e.token===18?e.assignable&2?(d|=16,F=1):((I&537079808)===537079808||(I&36864)===36864)&&(F=1):(e.token===1077936157?F=1:d|=16,y=K(e,u,y,1,0,Z,A,A2),e.token!==16&&e.token!==18&&(y=x(e,u,1,0,Z,A,A2,y)));else if((I&2097152)===2097152)y=I===2162700?k2(e,u|1073741824,h,0,1,0,n,t,Z,A,A2):b2(e,u|1073741824,h,0,1,0,n,t,Z,A,A2),d|=e.destructible,F=1,e.assignable=2,e.token!==16&&e.token!==18&&(d&8&&f(e,118),y=K(e,u,y,0,0,Z,A,A2),d|=16,e.token!==16&&e.token!==18&&(y=x(e,u,0,0,Z,A,A2,y)));else if(I===14){y=W2(e,u,h,16,n,t,0,1,0,Z,A,A2),e.destructible&16&&f(e,71),F=1,D&&(e.token===16||e.token===18)&&w.push(y),d|=8;break}else{if(d|=16,y=Q(e,u,1,0,1,Z,A,A2),D&&(e.token===16||e.token===18)&&w.push(y),e.token===18&&(D||(D=1,w=[y])),D){for(;U(e,u|32768,18);)w.push(Q(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,y=v(e,u,T,N,p,{type:"SequenceExpression",expressions:w})}return q(e,u,16),e.destructible=d,y}if(D&&(e.token===16||e.token===18)&&w.push(y),!U(e,u|32768,18))break;if(D||(D=1,w=[y]),e.token===16){d|=8;break}}return D&&(e.assignable=2,y=v(e,u,T,N,p,{type:"SequenceExpression",expressions:w})),q(e,u,16),d&16&&d&8&&f(e,145),d|=e.destructible&256?256:0|e.destructible&128?128:0,e.token===10?(d&48&&f(e,46),u&4196352&&d&128&&f(e,29),u&2098176&&d&256&&f(e,30),F&&(e.flags|=128),m1(e,u,h,D?w:[y],i,0,o,l,c)):(d&8&&f(e,139),e.destructible=(e.destructible|256)^256|d,u&128?v(e,u,s,m,b,{type:"ParenthesizedExpression",expression:y}):y)}function Q1(e,u,i,n,t){let{tokenValue:o}=e,l=X(e,u,0);if(e.assignable=1,e.token===10){let c;return u&64&&(c=c1(e,u,o)),e.flags=(e.flags|128)^128,e1(e,u,c,[l],0,i,n,t)}return l}function h1(e,u,i,n,t,o,l,c,s,m){o||f(e,54),t&&f(e,48),e.flags&=-129;let b=u&64?c1(e,u,i):void 0;return e1(e,u,b,[n],l,c,s,m)}function m1(e,u,i,n,t,o,l,c,s){t||f(e,54);for(let m=0;m0&&e.tokenValue==="constructor"&&f(e,106),e.token===1074790415&&f(e,105),U(e,u,1074790417)){d>0&&f(e,116);continue}b.push(Cu(e,u,n,i,t,h,0,l,e.tokenPos,e.linePos,e.colPos))}return q(e,o&8?u|32768:u,1074790415),v(e,u,c,s,m,{type:"ClassBody",body:b})}function Cu(e,u,i,n,t,o,l,c,s,m,b){let h=l?32:0,d=null,{token:y,tokenPos:w,linePos:D,colPos:F}=e;if(y&176128)switch(d=X(e,u,0),y){case 36972:if(!l&&e.token!==67174411)return Cu(e,u,i,n,t,o,1,c,s,m,b);break;case 209007:if(e.token!==67174411&&(e.flags&1)<1){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=16|(M1(e,u,8457014)?8:0)}break;case 12402:if(e.token!==67174411){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=256}break;case 12403:if(e.token!==67174411){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=512}break}else y===69271571?(h|=2,d=K2(e,n,c)):(y&134217728)===134217728?d=c2(e,u):y===8457014?(h|=8,P(e,u)):u&1&&e.token===131?(h|=4096,d=r1(e,u|16384,w,D,F)):u&1&&(e.token&1073741824)===1073741824?h|=128:y===122?(d=X(e,u,0),e.token!==67174411&&f(e,28,G[e.token&255])):f(e,28,G[e.token&255]);if(h&792&&(e.token&143360?d=X(e,u,0):(e.token&134217728)===134217728?d=c2(e,u):e.token===69271571?(h|=2,d=K2(e,u,0)):e.token===122?d=X(e,u,0):u&1&&e.token===131?(h|=4096,d=r1(e,u,w,D,F)):f(e,131)),(h&2)<1&&(e.tokenValue==="constructor"?((e.token&1073741824)===1073741824?f(e,125):(h&32)<1&&e.token===67174411&&(h&920?f(e,50,"accessor"):(u&524288)<1&&(e.flags&32?f(e,51):e.flags|=32)),h|=64):(h&4096)<1&&h&824&&e.tokenValue==="prototype"&&f(e,49)),u&1&&e.token!==67174411)return v1(e,u,d,h,o,w,D,F);let T=y2(e,u,h,c,e.tokenPos,e.linePos,e.colPos);return v(e,u,s,m,b,u&1?{type:"MethodDefinition",kind:(h&32)<1&&h&64?"constructor":h&256?"get":h&512?"set":"method",static:(h&32)>0,computed:(h&2)>0,key:d,decorators:o,value:T}:{type:"MethodDefinition",kind:(h&32)<1&&h&64?"constructor":h&256?"get":h&512?"set":"method",static:(h&32)>0,computed:(h&2)>0,key:d,value:T})}function r1(e,u,i,n,t){P(e,u);let{tokenValue:o}=e;return o==="constructor"&&f(e,124),P(e,u),v(e,u,i,n,t,{type:"PrivateIdentifier",name:o})}function v1(e,u,i,n,t,o,l,c){let s=null;if(n&8&&f(e,0),e.token===1077936157){P(e,u|32768);let{tokenPos:m,linePos:b,colPos:h}=e;e.token===537079928&&f(e,115),s=g2(e,u|16384,2,0,1,0,0,1,m,b,h),(e.token&1073741824)!==1073741824&&(s=K(e,u|16384,s,0,0,m,b,h),s=x(e,u|16384,0,0,m,b,h,s),e.token===18&&(s=O2(e,u,0,o,l,c,s)))}return v(e,u,o,l,c,{type:"PropertyDefinition",key:i,value:s,static:(n&32)>0,computed:(n&2)>0,decorators:t})}function Du(e,u,i,n,t,o,l,c){if(e.token&143360)return p1(e,u,i,n,t,o,l,c);(e.token&2097152)!==2097152&&f(e,28,G[e.token&255]);let s=e.token===69271571?b2(e,u,i,1,0,1,n,t,o,l,c):k2(e,u,i,1,0,1,n,t,o,l,c);return e.destructible&16&&f(e,47),e.destructible&32&&f(e,47),s}function p1(e,u,i,n,t,o,l,c){let{tokenValue:s,token:m}=e;return u&1024&&((m&537079808)===537079808?f(e,115):(m&36864)===36864&&f(e,114)),(m&20480)===20480&&f(e,99),u&2099200&&m===241773&&f(e,30),m===241739&&n&24&&f(e,97),u&4196352&&m===209008&&f(e,95),P(e,u),i&&B2(e,u,i,s,n,t),v(e,u,o,l,c,{type:"Identifier",name:s})}function ee(e,u,i,n,t,o){if(P(e,u),e.token===8456259)return v(e,u,n,t,o,{type:"JSXFragment",openingFragment:It(e,u,n,t,o),children:wu(e,u),closingFragment:Vt(e,u,i,e.tokenPos,e.linePos,e.colPos)});let l=null,c=[],s=_t(e,u,i,n,t,o);if(!s.selfClosing){c=wu(e,u),l=Rt(e,u,i,e.tokenPos,e.linePos,e.colPos);let m=f1(l.name);f1(s.name)!==m&&f(e,149,m)}return v(e,u,n,t,o,{type:"JSXElement",children:c,openingElement:s,closingElement:l})}function It(e,u,i,n,t){return j2(e,u),v(e,u,i,n,t,{type:"JSXOpeningFragment"})}function Rt(e,u,i,n,t,o){q(e,u,25);let l=qu(e,u,e.tokenPos,e.linePos,e.colPos);return i?q(e,u,8456259):e.token=j2(e,u),v(e,u,n,t,o,{type:"JSXClosingElement",name:l})}function Vt(e,u,i,n,t,o){return q(e,u,25),q(e,u,8456259),v(e,u,n,t,o,{type:"JSXClosingFragment"})}function wu(e,u){let i=[];for(;e.token!==25;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,j2(e,u),i.push(Nt(e,u,e.tokenPos,e.linePos,e.colPos));return i}function Nt(e,u,i,n,t){if(e.token===138)return jt(e,u,i,n,t);if(e.token===2162700)return Su(e,u,0,0,i,n,t);if(e.token===8456258)return ee(e,u,0,i,n,t);f(e,0)}function jt(e,u,i,n,t){j2(e,u);let o={type:"JSXText",value:e.tokenValue};return u&512&&(o.raw=e.tokenRaw),v(e,u,i,n,t,o)}function _t(e,u,i,n,t,o){(e.token&143360)!==143360&&(e.token&4096)!==4096&&f(e,0);let l=qu(e,u,e.tokenPos,e.linePos,e.colPos),c=Ut(e,u),s=e.token===8457016;return e.token===8456259?j2(e,u):(q(e,u,8457016),i?q(e,u,8456259):j2(e,u)),v(e,u,n,t,o,{type:"JSXOpeningElement",name:l,attributes:c,selfClosing:s})}function qu(e,u,i,n,t){_1(e);let o=y1(e,u,i,n,t);if(e.token===21)return Bu(e,u,o,i,n,t);for(;U(e,u,67108877);)_1(e),o=Mt(e,u,o,i,n,t);return o}function Mt(e,u,i,n,t,o){let l=y1(e,u,e.tokenPos,e.linePos,e.colPos);return v(e,u,n,t,o,{type:"JSXMemberExpression",object:i,property:l})}function Ut(e,u){let i=[];for(;e.token!==8457016&&e.token!==8456259&&e.token!==1048576;)i.push($t(e,u,e.tokenPos,e.linePos,e.colPos));return i}function Jt(e,u,i,n,t){P(e,u),q(e,u,14);let o=Q(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return q(e,u,1074790415),v(e,u,i,n,t,{type:"JSXSpreadAttribute",argument:o})}function $t(e,u,i,n,t){if(e.token===2162700)return Jt(e,u,i,n,t);_1(e);let o=null,l=y1(e,u,i,n,t);if(e.token===21&&(l=Bu(e,u,l,i,n,t)),e.token===1077936157){let c=N0(e,u),{tokenPos:s,linePos:m,colPos:b}=e;switch(c){case 134283267:o=c2(e,u);break;case 8456258:o=ee(e,u,1,s,m,b);break;case 2162700:o=Su(e,u,1,1,s,m,b);break;default:f(e,148)}}return v(e,u,i,n,t,{type:"JSXAttribute",value:o,name:l})}function Bu(e,u,i,n,t,o){q(e,u,21);let l=y1(e,u,e.tokenPos,e.linePos,e.colPos);return v(e,u,n,t,o,{type:"JSXNamespacedName",namespace:i,name:l})}function Su(e,u,i,n,t,o,l){P(e,u|32768);let{tokenPos:c,linePos:s,colPos:m}=e;if(e.token===14)return Ht(e,u,c,s,m);let b=null;return e.token===1074790415?(n&&f(e,151),b=Xt(e,u,e.startPos,e.startLine,e.startColumn)):b=Q(e,u,1,0,0,c,s,m),i?q(e,u,1074790415):j2(e,u),v(e,u,t,o,l,{type:"JSXExpressionContainer",expression:b})}function Ht(e,u,i,n,t){q(e,u,14);let o=Q(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return q(e,u,1074790415),v(e,u,i,n,t,{type:"JSXSpreadChild",expression:o})}function Xt(e,u,i,n,t){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,v(e,u,i,n,t,{type:"JSXEmptyExpression"})}function y1(e,u,i,n,t){let{tokenValue:o}=e;return P(e,u),v(e,u,i,n,t,{type:"JSXIdentifier",name:o})}var zt=Object.freeze({__proto__:null}),Wt="4.2.1",Kt=Wt;function Yt(e,u){return H1(e,u,0)}function Zt(e,u){return H1(e,u,3072)}function Qt(e,u){return H1(e,u,0)}a.ESTree=zt,a.parse=Qt,a.parseModule=Zt,a.parseScript=Yt,a.version=Kt}}),O3=t2({"src/language-js/parse/meriyah.js"(a,g){n2();var k=h0(),f=d3(),E=E3(),L=F3(),B={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function R(H,W){let{parse:Y}=L3(),O=[],M=[],a2=Y(H,Object.assign(Object.assign({},B),{},{module:W,onComment:O,onToken:M}));return a2.comments=O,a2.tokens=M,a2}function r(H){let{message:W,line:Y,column:O}=H,M=(W.match(/^\[(?\d+):(?\d+)]: (?.*)$/)||{}).groups;return M&&(W=M.message,typeof Y!="number"&&(Y=Number(M.line),O=Number(M.column))),typeof Y!="number"?H:k(W,{start:{line:Y,column:O}})}function z(H,W){let Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:O,error:M}=f(()=>R(H,!0),()=>R(H,!1));if(!O)throw r(M);return Y.originalText=H,L(O,Y)}g.exports={parsers:{meriyah:E(z)}}}}),G6=O3();export{G6 as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-postcss.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-postcss.mjs deleted file mode 100644 index 1f881c83d2..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-postcss.mjs +++ /dev/null @@ -1,76 +0,0 @@ -var K=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports);var pe=K((Lf,Dt)=>{var Ye=function(r){return r&&r.Math==Math&&r};Dt.exports=Ye(typeof globalThis=="object"&&globalThis)||Ye(typeof window=="object"&&window)||Ye(typeof self=="object"&&self)||Ye(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var be=K((zf,Lt)=>{Lt.exports=function(r){try{return!!r()}catch{return!0}}});var Oe=K((Bf,zt)=>{var ia=be();zt.exports=!ia(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var xr=K((Ff,Bt)=>{var sa=be();Bt.exports=!sa(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Ze=K((Uf,Ft)=>{var oa=xr(),Xe=Function.prototype.call;Ft.exports=oa?Xe.bind(Xe):function(){return Xe.apply(Xe,arguments)}});var Vt=K(Wt=>{"use strict";var Ut={}.propertyIsEnumerable,$t=Object.getOwnPropertyDescriptor,aa=$t&&!Ut.call({1:2},1);Wt.f=aa?function(n){var s=$t(this,n);return!!s&&s.enumerable}:Ut});var Sr=K((Wf,Gt)=>{Gt.exports=function(r,n){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:n}}});var xe=K((Vf,Kt)=>{var Ht=xr(),Jt=Function.prototype,kr=Jt.call,ua=Ht&&Jt.bind.bind(kr,kr);Kt.exports=Ht?ua:function(r){return function(){return kr.apply(r,arguments)}}});var Xt=K((Gf,Yt)=>{var Qt=xe(),ca=Qt({}.toString),la=Qt("".slice);Yt.exports=function(r){return la(ca(r),8,-1)}});var en=K((Hf,Zt)=>{var fa=xe(),pa=be(),ha=Xt(),Or=Object,da=fa("".split);Zt.exports=pa(function(){return!Or("z").propertyIsEnumerable(0)})?function(r){return ha(r)=="String"?da(r,""):Or(r)}:Or});var Tr=K((Jf,rn)=>{rn.exports=function(r){return r==null}});var Er=K((Kf,tn)=>{var va=Tr(),ma=TypeError;tn.exports=function(r){if(va(r))throw ma("Can't call method on "+r);return r}});var er=K((Qf,nn)=>{var ga=en(),ya=Er();nn.exports=function(r){return ga(ya(r))}});var Ar=K((Yf,sn)=>{var qr=typeof document=="object"&&document.all,wa=typeof qr>"u"&&qr!==void 0;sn.exports={all:qr,IS_HTMLDDA:wa}});var he=K((Xf,an)=>{var on=Ar(),_a=on.all;an.exports=on.IS_HTMLDDA?function(r){return typeof r=="function"||r===_a}:function(r){return typeof r=="function"}});var Ne=K((Zf,ln)=>{var un=he(),cn=Ar(),ba=cn.all;ln.exports=cn.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:un(r)||r===ba}:function(r){return typeof r=="object"?r!==null:un(r)}});var rr=K((ep,fn)=>{var Pr=pe(),xa=he(),Sa=function(r){return xa(r)?r:void 0};fn.exports=function(r,n){return arguments.length<2?Sa(Pr[r]):Pr[r]&&Pr[r][n]}});var hn=K((rp,pn)=>{var ka=xe();pn.exports=ka({}.isPrototypeOf)});var vn=K((tp,dn)=>{var Oa=rr();dn.exports=Oa("navigator","userAgent")||""});var xn=K((np,bn)=>{var _n=pe(),Ir=vn(),mn=_n.process,gn=_n.Deno,yn=mn&&mn.versions||gn&&gn.version,wn=yn&&yn.v8,de,tr;wn&&(de=wn.split("."),tr=de[0]>0&&de[0]<4?1:+(de[0]+de[1]));!tr&&Ir&&(de=Ir.match(/Edge\/(\d+)/),(!de||de[1]>=74)&&(de=Ir.match(/Chrome\/(\d+)/),de&&(tr=+de[1])));bn.exports=tr});var Rr=K((ip,kn)=>{var Sn=xn(),Ta=be();kn.exports=!!Object.getOwnPropertySymbols&&!Ta(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&Sn&&Sn<41})});var Cr=K((sp,On)=>{var Ea=Rr();On.exports=Ea&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Nr=K((op,Tn)=>{var qa=rr(),Aa=he(),Pa=hn(),Ia=Cr(),Ra=Object;Tn.exports=Ia?function(r){return typeof r=="symbol"}:function(r){var n=qa("Symbol");return Aa(n)&&Pa(n.prototype,Ra(r))}});var qn=K((ap,En)=>{var Ca=String;En.exports=function(r){try{return Ca(r)}catch{return"Object"}}});var Pn=K((up,An)=>{var Na=he(),ja=qn(),Ma=TypeError;An.exports=function(r){if(Na(r))return r;throw Ma(ja(r)+" is not a function")}});var Rn=K((cp,In)=>{var Da=Pn(),La=Tr();In.exports=function(r,n){var s=r[n];return La(s)?void 0:Da(s)}});var Nn=K((lp,Cn)=>{var jr=Ze(),Mr=he(),Dr=Ne(),za=TypeError;Cn.exports=function(r,n){var s,c;if(n==="string"&&Mr(s=r.toString)&&!Dr(c=jr(s,r))||Mr(s=r.valueOf)&&!Dr(c=jr(s,r))||n!=="string"&&Mr(s=r.toString)&&!Dr(c=jr(s,r)))return c;throw za("Can't convert object to primitive value")}});var Mn=K((fp,jn)=>{jn.exports=!1});var nr=K((pp,Ln)=>{var Dn=pe(),Ba=Object.defineProperty;Ln.exports=function(r,n){try{Ba(Dn,r,{value:n,configurable:!0,writable:!0})}catch{Dn[r]=n}return n}});var ir=K((hp,Bn)=>{var Fa=pe(),Ua=nr(),zn="__core-js_shared__",$a=Fa[zn]||Ua(zn,{});Bn.exports=$a});var Lr=K((dp,Un)=>{var Wa=Mn(),Fn=ir();(Un.exports=function(r,n){return Fn[r]||(Fn[r]=n!==void 0?n:{})})("versions",[]).push({version:"3.26.1",mode:Wa?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Wn=K((vp,$n)=>{var Va=Er(),Ga=Object;$n.exports=function(r){return Ga(Va(r))}});var Te=K((mp,Vn)=>{var Ha=xe(),Ja=Wn(),Ka=Ha({}.hasOwnProperty);Vn.exports=Object.hasOwn||function(n,s){return Ka(Ja(n),s)}});var zr=K((gp,Gn)=>{var Qa=xe(),Ya=0,Xa=Math.random(),Za=Qa(1 .toString);Gn.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Za(++Ya+Xa,36)}});var Xn=K((yp,Yn)=>{var eu=pe(),ru=Lr(),Hn=Te(),tu=zr(),Jn=Rr(),Qn=Cr(),je=ru("wks"),Ee=eu.Symbol,Kn=Ee&&Ee.for,nu=Qn?Ee:Ee&&Ee.withoutSetter||tu;Yn.exports=function(r){if(!Hn(je,r)||!(Jn||typeof je[r]=="string")){var n="Symbol."+r;Jn&&Hn(Ee,r)?je[r]=Ee[r]:Qn&&Kn?je[r]=Kn(n):je[r]=nu(n)}return je[r]}});var ti=K((wp,ri)=>{var iu=Ze(),Zn=Ne(),ei=Nr(),su=Rn(),ou=Nn(),au=Xn(),uu=TypeError,cu=au("toPrimitive");ri.exports=function(r,n){if(!Zn(r)||ei(r))return r;var s=su(r,cu),c;if(s){if(n===void 0&&(n="default"),c=iu(s,r,n),!Zn(c)||ei(c))return c;throw uu("Can't convert object to primitive value")}return n===void 0&&(n="number"),ou(r,n)}});var Br=K((_p,ni)=>{var lu=ti(),fu=Nr();ni.exports=function(r){var n=lu(r,"string");return fu(n)?n:n+""}});var oi=K((bp,si)=>{var pu=pe(),ii=Ne(),Fr=pu.document,hu=ii(Fr)&&ii(Fr.createElement);si.exports=function(r){return hu?Fr.createElement(r):{}}});var Ur=K((xp,ai)=>{var du=Oe(),vu=be(),mu=oi();ai.exports=!du&&!vu(function(){return Object.defineProperty(mu("div"),"a",{get:function(){return 7}}).a!=7})});var $r=K(ci=>{var gu=Oe(),yu=Ze(),wu=Vt(),_u=Sr(),bu=er(),xu=Br(),Su=Te(),ku=Ur(),ui=Object.getOwnPropertyDescriptor;ci.f=gu?ui:function(n,s){if(n=bu(n),s=xu(s),ku)try{return ui(n,s)}catch{}if(Su(n,s))return _u(!yu(wu.f,n,s),n[s])}});var fi=K((kp,li)=>{var Ou=Oe(),Tu=be();li.exports=Ou&&Tu(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Wr=K((Op,pi)=>{var Eu=Ne(),qu=String,Au=TypeError;pi.exports=function(r){if(Eu(r))return r;throw Au(qu(r)+" is not an object")}});var or=K(di=>{var Pu=Oe(),Iu=Ur(),Ru=fi(),sr=Wr(),hi=Br(),Cu=TypeError,Vr=Object.defineProperty,Nu=Object.getOwnPropertyDescriptor,Gr="enumerable",Hr="configurable",Jr="writable";di.f=Pu?Ru?function(n,s,c){if(sr(n),s=hi(s),sr(c),typeof n=="function"&&s==="prototype"&&"value"in c&&Jr in c&&!c[Jr]){var o=Nu(n,s);o&&o[Jr]&&(n[s]=c.value,c={configurable:Hr in c?c[Hr]:o[Hr],enumerable:Gr in c?c[Gr]:o[Gr],writable:!1})}return Vr(n,s,c)}:Vr:function(n,s,c){if(sr(n),s=hi(s),sr(c),Iu)try{return Vr(n,s,c)}catch{}if("get"in c||"set"in c)throw Cu("Accessors not supported");return"value"in c&&(n[s]=c.value),n}});var Kr=K((Ep,vi)=>{var ju=Oe(),Mu=or(),Du=Sr();vi.exports=ju?function(r,n,s){return Mu.f(r,n,Du(1,s))}:function(r,n,s){return r[n]=s,r}});var yi=K((qp,gi)=>{var Qr=Oe(),Lu=Te(),mi=Function.prototype,zu=Qr&&Object.getOwnPropertyDescriptor,Yr=Lu(mi,"name"),Bu=Yr&&function(){}.name==="something",Fu=Yr&&(!Qr||Qr&&zu(mi,"name").configurable);gi.exports={EXISTS:Yr,PROPER:Bu,CONFIGURABLE:Fu}});var _i=K((Ap,wi)=>{var Uu=xe(),$u=he(),Xr=ir(),Wu=Uu(Function.toString);$u(Xr.inspectSource)||(Xr.inspectSource=function(r){return Wu(r)});wi.exports=Xr.inspectSource});var Si=K((Pp,xi)=>{var Vu=pe(),Gu=he(),bi=Vu.WeakMap;xi.exports=Gu(bi)&&/native code/.test(String(bi))});var Ti=K((Ip,Oi)=>{var Hu=Lr(),Ju=zr(),ki=Hu("keys");Oi.exports=function(r){return ki[r]||(ki[r]=Ju(r))}});var Zr=K((Rp,Ei)=>{Ei.exports={}});var Ii=K((Cp,Pi)=>{var Ku=Si(),Ai=pe(),Qu=Ne(),Yu=Kr(),et=Te(),rt=ir(),Xu=Ti(),Zu=Zr(),qi="Object already initialized",tt=Ai.TypeError,ec=Ai.WeakMap,ar,ze,ur,rc=function(r){return ur(r)?ze(r):ar(r,{})},tc=function(r){return function(n){var s;if(!Qu(n)||(s=ze(n)).type!==r)throw tt("Incompatible receiver, "+r+" required");return s}};Ku||rt.state?(ve=rt.state||(rt.state=new ec),ve.get=ve.get,ve.has=ve.has,ve.set=ve.set,ar=function(r,n){if(ve.has(r))throw tt(qi);return n.facade=r,ve.set(r,n),n},ze=function(r){return ve.get(r)||{}},ur=function(r){return ve.has(r)}):(qe=Xu("state"),Zu[qe]=!0,ar=function(r,n){if(et(r,qe))throw tt(qi);return n.facade=r,Yu(r,qe,n),n},ze=function(r){return et(r,qe)?r[qe]:{}},ur=function(r){return et(r,qe)});var ve,qe;Pi.exports={set:ar,get:ze,has:ur,enforce:rc,getterFor:tc}});var Ni=K((Np,Ci)=>{var nc=be(),ic=he(),cr=Te(),nt=Oe(),sc=yi().CONFIGURABLE,oc=_i(),Ri=Ii(),ac=Ri.enforce,uc=Ri.get,lr=Object.defineProperty,cc=nt&&!nc(function(){return lr(function(){},"length",{value:8}).length!==8}),lc=String(String).split("String"),fc=Ci.exports=function(r,n,s){String(n).slice(0,7)==="Symbol("&&(n="["+String(n).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),s&&s.getter&&(n="get "+n),s&&s.setter&&(n="set "+n),(!cr(r,"name")||sc&&r.name!==n)&&(nt?lr(r,"name",{value:n,configurable:!0}):r.name=n),cc&&s&&cr(s,"arity")&&r.length!==s.arity&&lr(r,"length",{value:s.arity});try{s&&cr(s,"constructor")&&s.constructor?nt&&lr(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var c=ac(r);return cr(c,"source")||(c.source=lc.join(typeof n=="string"?n:"")),r};Function.prototype.toString=fc(function(){return ic(this)&&uc(this).source||oc(this)},"toString")});var Mi=K((jp,ji)=>{var pc=he(),hc=or(),dc=Ni(),vc=nr();ji.exports=function(r,n,s,c){c||(c={});var o=c.enumerable,p=c.name!==void 0?c.name:n;if(pc(s)&&dc(s,p,c),c.global)o?r[n]=s:vc(n,s);else{try{c.unsafe?r[n]&&(o=!0):delete r[n]}catch{}o?r[n]=s:hc.f(r,n,{value:s,enumerable:!1,configurable:!c.nonConfigurable,writable:!c.nonWritable})}return r}});var Li=K((Mp,Di)=>{var mc=Math.ceil,gc=Math.floor;Di.exports=Math.trunc||function(n){var s=+n;return(s>0?gc:mc)(s)}});var it=K((Dp,zi)=>{var yc=Li();zi.exports=function(r){var n=+r;return n!==n||n===0?0:yc(n)}});var Fi=K((Lp,Bi)=>{var wc=it(),_c=Math.max,bc=Math.min;Bi.exports=function(r,n){var s=wc(r);return s<0?_c(s+n,0):bc(s,n)}});var $i=K((zp,Ui)=>{var xc=it(),Sc=Math.min;Ui.exports=function(r){return r>0?Sc(xc(r),9007199254740991):0}});var Vi=K((Bp,Wi)=>{var kc=$i();Wi.exports=function(r){return kc(r.length)}});var Ji=K((Fp,Hi)=>{var Oc=er(),Tc=Fi(),Ec=Vi(),Gi=function(r){return function(n,s,c){var o=Oc(n),p=Ec(o),f=Tc(c,p),h;if(r&&s!=s){for(;p>f;)if(h=o[f++],h!=h)return!0}else for(;p>f;f++)if((r||f in o)&&o[f]===s)return r||f||0;return!r&&-1}};Hi.exports={includes:Gi(!0),indexOf:Gi(!1)}});var Yi=K((Up,Qi)=>{var qc=xe(),st=Te(),Ac=er(),Pc=Ji().indexOf,Ic=Zr(),Ki=qc([].push);Qi.exports=function(r,n){var s=Ac(r),c=0,o=[],p;for(p in s)!st(Ic,p)&&st(s,p)&&Ki(o,p);for(;n.length>c;)st(s,p=n[c++])&&(~Pc(o,p)||Ki(o,p));return o}});var Zi=K(($p,Xi)=>{Xi.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var rs=K(es=>{var Rc=Yi(),Cc=Zi(),Nc=Cc.concat("length","prototype");es.f=Object.getOwnPropertyNames||function(n){return Rc(n,Nc)}});var ns=K(ts=>{ts.f=Object.getOwnPropertySymbols});var ss=K((Gp,is)=>{var jc=rr(),Mc=xe(),Dc=rs(),Lc=ns(),zc=Wr(),Bc=Mc([].concat);is.exports=jc("Reflect","ownKeys")||function(n){var s=Dc.f(zc(n)),c=Lc.f;return c?Bc(s,c(n)):s}});var us=K((Hp,as)=>{var os=Te(),Fc=ss(),Uc=$r(),$c=or();as.exports=function(r,n,s){for(var c=Fc(n),o=$c.f,p=Uc.f,f=0;f{var Wc=be(),Vc=he(),Gc=/#|\.prototype\./,Be=function(r,n){var s=Jc[Hc(r)];return s==Qc?!0:s==Kc?!1:Vc(n)?Wc(n):!!n},Hc=Be.normalize=function(r){return String(r).replace(Gc,".").toLowerCase()},Jc=Be.data={},Kc=Be.NATIVE="N",Qc=Be.POLYFILL="P";cs.exports=Be});var ps=K((Kp,fs)=>{var ot=pe(),Yc=$r().f,Xc=Kr(),Zc=Mi(),el=nr(),rl=us(),tl=ls();fs.exports=function(r,n){var s=r.target,c=r.global,o=r.stat,p,f,h,g,l,t;if(c?f=ot:o?f=ot[s]||el(s,{}):f=(ot[s]||{}).prototype,f)for(h in n){if(l=n[h],r.dontCallGetSet?(t=Yc(f,h),g=t&&t.value):g=f[h],p=tl(c?h:s+(o?".":"#")+h,r.forced),!p&&g!==void 0){if(typeof l==typeof g)continue;rl(l,g)}(r.sham||g&&g.sham)&&Xc(l,"sham",!0),Zc(f,h,l,r)}}});var hs=K(()=>{var nl=ps(),at=pe();nl({global:!0,forced:at.globalThis!==at},{globalThis:at})});hs();var yt=Object.defineProperty,il=Object.getOwnPropertyDescriptor,wt=Object.getOwnPropertyNames,sl=Object.prototype.hasOwnProperty,Me=(r,n)=>function(){return r&&(n=(0,r[wt(r)[0]])(r=0)),n},R=(r,n)=>function(){return n||(0,r[wt(r)[0]])((n={exports:{}}).exports,n),n.exports},_t=(r,n)=>{for(var s in n)yt(r,s,{get:n[s],enumerable:!0})},ol=(r,n,s,c)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of wt(n))!sl.call(r,o)&&o!==s&&yt(r,o,{get:()=>n[o],enumerable:!(c=il(n,o))||c.enumerable});return r},bt=r=>ol(yt({},"__esModule",{value:!0}),r),I=Me({""(){}}),al=R({"src/common/parser-create-error.js"(r,n){"use strict";I();function s(c,o){let p=new SyntaxError(c+" ("+o.start.line+":"+o.start.column+")");return p.loc=o,p}n.exports=s}}),Cs=R({"src/utils/get-last.js"(r,n){"use strict";I();var s=c=>c[c.length-1];n.exports=s}}),Ns=R({"src/utils/front-matter/parse.js"(r,n){"use strict";I();var s=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function c(o){let p=o.match(s);if(!p)return{content:o};let{startDelimiter:f,language:h,value:g="",endDelimiter:l}=p.groups,t=h.trim()||"yaml";if(f==="+++"&&(t="toml"),t!=="yaml"&&f!==l)return{content:o};let[e]=p;return{frontMatter:{type:"front-matter",lang:t,value:g,startDelimiter:f,endDelimiter:l,raw:e.replace(/\n$/,"")},content:e.replace(/[^\n]/g," ")+o.slice(e.length)}}n.exports=c}}),js={};_t(js,{EOL:()=>dt,arch:()=>ul,cpus:()=>Us,default:()=>Hs,endianness:()=>Ms,freemem:()=>Bs,getNetworkInterfaces:()=>Gs,hostname:()=>Ds,loadavg:()=>Ls,networkInterfaces:()=>Vs,platform:()=>cl,release:()=>Ws,tmpDir:()=>pt,tmpdir:()=>ht,totalmem:()=>Fs,type:()=>$s,uptime:()=>zs});function Ms(){if(typeof fr>"u"){var r=new ArrayBuffer(2),n=new Uint8Array(r),s=new Uint16Array(r);if(n[0]=1,n[1]=2,s[0]===258)fr="BE";else if(s[0]===513)fr="LE";else throw new Error("unable to figure out endianess")}return fr}function Ds(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Ls(){return[]}function zs(){return 0}function Bs(){return Number.MAX_VALUE}function Fs(){return Number.MAX_VALUE}function Us(){return[]}function $s(){return"Browser"}function Ws(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function Vs(){}function Gs(){}function ul(){return"javascript"}function cl(){return"browser"}function pt(){return"/tmp"}var fr,ht,dt,Hs,ll=Me({"node-modules-polyfills:os"(){I(),ht=pt,dt=` -`,Hs={EOL:dt,tmpdir:ht,tmpDir:pt,networkInterfaces:Vs,getNetworkInterfaces:Gs,release:Ws,type:$s,cpus:Us,totalmem:Fs,freemem:Bs,uptime:zs,loadavg:Ls,hostname:Ds,endianness:Ms}}}),fl=R({"node-modules-polyfills-commonjs:os"(r,n){I();var s=(ll(),bt(js));if(s&&s.default){n.exports=s.default;for(let c in s)n.exports[c]=s[c]}else s&&(n.exports=s)}}),pl=R({"node_modules/detect-newline/index.js"(r,n){"use strict";I();var s=c=>{if(typeof c!="string")throw new TypeError("Expected a string");let o=c.match(/(?:\r?\n)/g)||[];if(o.length===0)return;let p=o.filter(h=>h===`\r -`).length,f=o.length-p;return p>f?`\r -`:` -`};n.exports=s,n.exports.graceful=c=>typeof c=="string"&&s(c)||` -`}}),hl=R({"node_modules/jest-docblock/build/index.js"(r){"use strict";I(),Object.defineProperty(r,"__esModule",{value:!0}),r.extract=i,r.parse=m,r.parseWithComments=v,r.print=y,r.strip=u;function n(){let d=fl();return n=function(){return d},d}function s(){let d=c(pl());return s=function(){return d},d}function c(d){return d&&d.__esModule?d:{default:d}}var o=/\*\/$/,p=/^\/\*\*?/,f=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,h=/(^|\s+)\/\/([^\r\n]*)/g,g=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,t=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,e=/(\r?\n|^) *\* ?/g,a=[];function i(d){let _=d.match(f);return _?_[0].trimLeft():""}function u(d){let _=d.match(f);return _&&_[0]?d.substring(_[0].length):d}function m(d){return v(d).pragmas}function v(d){let _=(0,s().default)(d)||n().EOL;d=d.replace(p,"").replace(o,"").replace(e,"$1");let O="";for(;O!==d;)O=d,d=d.replace(l,`${_}$1 $2${_}`);d=d.replace(g,"").trimRight();let k=Object.create(null),D=d.replace(t,"").replace(g,"").trimRight(),P;for(;P=t.exec(d);){let $=P[2].replace(h,"");typeof k[P[1]]=="string"||Array.isArray(k[P[1]])?k[P[1]]=a.concat(k[P[1]],$):k[P[1]]=$}return{comments:D,pragmas:k}}function y(d){let{comments:_="",pragmas:O={}}=d,k=(0,s().default)(_)||n().EOL,D="/**",P=" *",$=" */",G=Object.keys(O),Z=G.map(H=>w(H,O[H])).reduce((H,U)=>H.concat(U),[]).map(H=>`${P} ${H}${k}`).join("");if(!_){if(G.length===0)return"";if(G.length===1&&!Array.isArray(O[G[0]])){let H=O[G[0]];return`${D} ${w(G[0],H)[0]}${$}`}}let B=_.split(k).map(H=>`${P} ${H}`).join(k)+k;return D+k+(_?B:"")+(_&&G.length?P+k:"")+Z+$}function w(d,_){return a.concat(_).map(O=>`@${d} ${O}`.trim())}}}),dl=R({"src/common/end-of-line.js"(r,n){"use strict";I();function s(f){let h=f.indexOf("\r");return h>=0?f.charAt(h+1)===` -`?"crlf":"cr":"lf"}function c(f){switch(f){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function o(f,h){let g;switch(h){case` -`:g=/\n/g;break;case"\r":g=/\r/g;break;case`\r -`:g=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(h)}.`)}let l=f.match(g);return l?l.length:0}function p(f){return f.replace(/\r\n?/g,` -`)}n.exports={guessEndOfLine:s,convertEndOfLineToChars:c,countEndOfLineChars:o,normalizeEndOfLine:p}}}),vl=R({"src/language-js/utils/get-shebang.js"(r,n){"use strict";I();function s(c){if(!c.startsWith("#!"))return"";let o=c.indexOf(` -`);return o===-1?c:c.slice(0,o)}n.exports=s}}),ml=R({"src/language-js/pragma.js"(r,n){"use strict";I();var{parseWithComments:s,strip:c,extract:o,print:p}=hl(),{normalizeEndOfLine:f}=dl(),h=vl();function g(e){let a=h(e);a&&(e=e.slice(a.length+1));let i=o(e),{pragmas:u,comments:m}=s(i);return{shebang:a,text:e,pragmas:u,comments:m}}function l(e){let a=Object.keys(g(e).pragmas);return a.includes("prettier")||a.includes("format")}function t(e){let{shebang:a,text:i,pragmas:u,comments:m}=g(e),v=c(i),y=p({pragmas:Object.assign({format:""},u),comments:m.trimStart()});return(a?`${a} -`:"")+f(y)+(v.startsWith(` -`)?` -`:` - -`)+v}n.exports={hasPragma:l,insertPragma:t}}}),gl=R({"src/language-css/pragma.js"(r,n){"use strict";I();var s=ml(),c=Ns();function o(f){return s.hasPragma(c(f).content)}function p(f){let{frontMatter:h,content:g}=c(f);return(h?h.raw+` - -`:"")+s.insertPragma(g)}n.exports={hasPragma:o,insertPragma:p}}}),yl=R({"src/utils/text/skip.js"(r,n){"use strict";I();function s(h){return(g,l,t)=>{let e=t&&t.backwards;if(l===!1)return!1;let{length:a}=g,i=l;for(;i>=0&&i0}n.exports=s}}),bl=R({"src/language-css/utils/has-scss-interpolation.js"(r,n){"use strict";I();var s=_l();function c(o){if(s(o)){for(let p=o.length-1;p>0;p--)if(o[p].type==="word"&&o[p].value==="{"&&o[p-1].type==="word"&&o[p-1].value.endsWith("#"))return!0}return!1}n.exports=c}}),xl=R({"src/language-css/utils/has-string-or-function.js"(r,n){"use strict";I();function s(c){return c.some(o=>o.type==="string"||o.type==="func")}n.exports=s}}),Sl=R({"src/language-css/utils/is-less-parser.js"(r,n){"use strict";I();function s(c){return c.parser==="css"||c.parser==="less"}n.exports=s}}),kl=R({"src/language-css/utils/is-scss.js"(r,n){"use strict";I();function s(c,o){return c==="less"||c==="scss"?c==="scss":/(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/.test(o)}n.exports=s}}),Ol=R({"src/language-css/utils/is-scss-nested-property-node.js"(r,n){"use strict";I();function s(c){return c.selector?c.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*\n/,"").trim().endsWith(":"):!1}n.exports=s}}),Tl=R({"src/language-css/utils/is-scss-variable.js"(r,n){"use strict";I();function s(c){return Boolean((c==null?void 0:c.type)==="word"&&c.value.startsWith("$"))}n.exports=s}}),El=R({"src/language-css/utils/stringify-node.js"(r,n){"use strict";I();function s(c){var o,p,f;if(c.groups){var h,g,l;let y=((h=c.open)===null||h===void 0?void 0:h.value)||"",w=c.groups.map(_=>s(_)).join(((g=c.groups[0])===null||g===void 0?void 0:g.type)==="comma_group"?",":""),d=((l=c.close)===null||l===void 0?void 0:l.value)||"";return y+w+d}let t=((o=c.raws)===null||o===void 0?void 0:o.before)||"",e=((p=c.raws)===null||p===void 0?void 0:p.quote)||"",a=c.type==="atword"?"@":"",i=c.value||"",u=c.unit||"",m=c.group?s(c.group):"",v=((f=c.raws)===null||f===void 0?void 0:f.after)||"";return t+e+a+i+e+u+m+v}n.exports=s}}),ql=R({"src/language-css/utils/is-module-rule-name.js"(r,n){"use strict";I();var s=new Set(["import","use","forward"]);function c(o){return s.has(o)}n.exports=c}}),we=R({"node_modules/postcss-values-parser/lib/node.js"(r,n){"use strict";I();var s=function(c,o){let p=new c.constructor;for(let f in c){if(!c.hasOwnProperty(f))continue;let h=c[f],g=typeof h;f==="parent"&&g==="object"?o&&(p[f]=o):f==="source"?p[f]=h:h instanceof Array?p[f]=h.map(l=>s(l,p)):f!=="before"&&f!=="after"&&f!=="between"&&f!=="semicolon"&&(g==="object"&&h!==null&&(h=s(h)),p[f]=h)}return p};n.exports=class{constructor(o){o=o||{},this.raws={before:"",after:""};for(let p in o)this[p]=o[p]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(o){o=o||{};let p=s(this);for(let f in o)p[f]=o[f];return p}cloneBefore(o){o=o||{};let p=this.clone(o);return this.parent.insertBefore(this,p),p}cloneAfter(o){o=o||{};let p=this.clone(o);return this.parent.insertAfter(this,p),p}replaceWith(){let o=Array.prototype.slice.call(arguments);if(this.parent){for(let p of o)this.parent.insertBefore(this,p);this.remove()}return this}moveTo(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.append(this),this}moveBefore(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.parent.insertBefore(o,this),this}moveAfter(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.parent.insertAfter(o,this),this}next(){let o=this.parent.index(this);return this.parent.nodes[o+1]}prev(){let o=this.parent.index(this);return this.parent.nodes[o-1]}toJSON(){let o={};for(let p in this){if(!this.hasOwnProperty(p)||p==="parent")continue;let f=this[p];f instanceof Array?o[p]=f.map(h=>typeof h=="object"&&h.toJSON?h.toJSON():h):typeof f=="object"&&f.toJSON?o[p]=f.toJSON():o[p]=f}return o}root(){let o=this;for(;o.parent;)o=o.parent;return o}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}positionInside(o){let p=this.toString(),f=this.source.start.column,h=this.source.start.line;for(let g=0;g{let h=o(p,f);return h!==!1&&p.walk&&(h=p.walk(o)),h})}walkType(o,p){if(!o||!p)throw new Error("Parameters {type} and {callback} are required.");let f=typeof o=="function";return this.walk((h,g)=>{if(f&&h instanceof o||!f&&h.type===o)return p.call(this,h,g)})}append(o){return o.parent=this,this.nodes.push(o),this}prepend(o){return o.parent=this,this.nodes.unshift(o),this}cleanRaws(o){if(super.cleanRaws(o),this.nodes)for(let p of this.nodes)p.cleanRaws(o)}insertAfter(o,p){let f=this.index(o),h;this.nodes.splice(f+1,0,p);for(let g in this.indexes)h=this.indexes[g],f<=h&&(this.indexes[g]=h+this.nodes.length);return this}insertBefore(o,p){let f=this.index(o),h;this.nodes.splice(f,0,p);for(let g in this.indexes)h=this.indexes[g],f<=h&&(this.indexes[g]=h+this.nodes.length);return this}removeChild(o){o=this.index(o),this.nodes[o].parent=void 0,this.nodes.splice(o,1);let p;for(let f in this.indexes)p=this.indexes[f],p>=o&&(this.indexes[f]=p-1);return this}removeAll(){for(let o of this.nodes)o.parent=void 0;return this.nodes=[],this}every(o){return this.nodes.every(o)}some(o){return this.nodes.some(o)}index(o){return typeof o=="number"?o:this.nodes.indexOf(o)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let o=this.nodes.map(String).join("");return this.value&&(o=this.value+o),this.raws.before&&(o=this.raws.before+o),this.raws.after&&(o+=this.raws.after),o}};c.registerWalker=o=>{let p="walk"+o.name;p.lastIndexOf("s")!==p.length-1&&(p+="s"),!c.prototype[p]&&(c.prototype[p]=function(f){return this.walkType(o,f)})},n.exports=c}}),Al=R({"node_modules/postcss-values-parser/lib/root.js"(r,n){"use strict";I();var s=ae();n.exports=class extends s{constructor(o){super(o),this.type="root"}}}}),Js=R({"node_modules/postcss-values-parser/lib/value.js"(r,n){"use strict";I();var s=ae();n.exports=class extends s{constructor(o){super(o),this.type="value",this.unbalanced=0}}}}),Ks=R({"node_modules/postcss-values-parser/lib/atword.js"(r,n){"use strict";I();var s=ae(),c=class extends s{constructor(o){super(o),this.type="atword"}toString(){let o=this.quoted?this.raws.quote:"";return[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};s.registerWalker(c),n.exports=c}}),Qs=R({"node_modules/postcss-values-parser/lib/colon.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="colon"}};s.registerWalker(o),n.exports=o}}),Ys=R({"node_modules/postcss-values-parser/lib/comma.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="comma"}};s.registerWalker(o),n.exports=o}}),Xs=R({"node_modules/postcss-values-parser/lib/comment.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="comment",this.inline=Object(p).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};s.registerWalker(o),n.exports=o}}),Zs=R({"node_modules/postcss-values-parser/lib/function.js"(r,n){"use strict";I();var s=ae(),c=class extends s{constructor(o){super(o),this.type="func",this.unbalanced=-1}};s.registerWalker(c),n.exports=c}}),eo=R({"node_modules/postcss-values-parser/lib/number.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="number",this.unit=Object(p).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};s.registerWalker(o),n.exports=o}}),ro=R({"node_modules/postcss-values-parser/lib/operator.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="operator"}};s.registerWalker(o),n.exports=o}}),to=R({"node_modules/postcss-values-parser/lib/paren.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="paren",this.parenType=""}};s.registerWalker(o),n.exports=o}}),no=R({"node_modules/postcss-values-parser/lib/string.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="string"}toString(){let p=this.quoted?this.raws.quote:"";return[this.raws.before,p,this.value+"",p,this.raws.after].join("")}};s.registerWalker(o),n.exports=o}}),io=R({"node_modules/postcss-values-parser/lib/word.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="word"}};s.registerWalker(o),n.exports=o}}),so=R({"node_modules/postcss-values-parser/lib/unicode-range.js"(r,n){"use strict";I();var s=ae(),c=we(),o=class extends c{constructor(p){super(p),this.type="unicode-range"}};s.registerWalker(o),n.exports=o}});function oo(){throw new Error("setTimeout has not been defined")}function ao(){throw new Error("clearTimeout has not been defined")}function uo(r){if(Se===setTimeout)return setTimeout(r,0);if((Se===oo||!Se)&&setTimeout)return Se=setTimeout,setTimeout(r,0);try{return Se(r,0)}catch{try{return Se.call(null,r,0)}catch{return Se.call(this,r,0)}}}function Pl(r){if(ke===clearTimeout)return clearTimeout(r);if((ke===ao||!ke)&&clearTimeout)return ke=clearTimeout,clearTimeout(r);try{return ke(r)}catch{try{return ke.call(null,r)}catch{return ke.call(this,r)}}}function Il(){!Re||!Ie||(Re=!1,Ie.length?me=Ie.concat(me):Ue=-1,me.length&&co())}function co(){if(!Re){var r=uo(Il);Re=!0;for(var n=me.length;n;){for(Ie=me,me=[];++Ue1)for(var s=1;sEt,debuglog:()=>vo,default:()=>ko,deprecate:()=>St,format:()=>vr,inherits:()=>xt,inspect:()=>ye,isArray:()=>kt,isBoolean:()=>mr,isBuffer:()=>wo,isDate:()=>hr,isError:()=>Ve,isFunction:()=>Ge,isNull:()=>He,isNullOrUndefined:()=>mo,isNumber:()=>Ot,isObject:()=>Ce,isPrimitive:()=>yo,isRegExp:()=>We,isString:()=>Je,isSymbol:()=>go,isUndefined:()=>ge,log:()=>_o});function vr(r){if(!Je(r)){for(var n=[],s=0;s=o)return h;switch(h){case"%s":return String(c[s++]);case"%d":return Number(c[s++]);case"%j":try{return JSON.stringify(c[s++])}catch{return"[Circular]"}default:return h}}),f=c[s];s=3&&(s.depth=arguments[2]),arguments.length>=4&&(s.colors=arguments[3]),mr(n)?s.showHidden=n:n&&Et(s,n),ge(s.showHidden)&&(s.showHidden=!1),ge(s.depth)&&(s.depth=2),ge(s.colors)&&(s.colors=!1),ge(s.customInspect)&&(s.customInspect=!0),s.colors&&(s.stylize=Fl),pr(s,r,s.depth)}function Fl(r,n){var s=ye.styles[n];return s?"\x1B["+ye.colors[s][0]+"m"+r+"\x1B["+ye.colors[s][1]+"m":r}function Ul(r,n){return r}function $l(r){var n={};return r.forEach(function(s,c){n[s]=!0}),n}function pr(r,n,s){if(r.customInspect&&n&&Ge(n.inspect)&&n.inspect!==ye&&!(n.constructor&&n.constructor.prototype===n)){var c=n.inspect(s,r);return Je(c)||(c=pr(r,c,s)),c}var o=Wl(r,n);if(o)return o;var p=Object.keys(n),f=$l(p);if(r.showHidden&&(p=Object.getOwnPropertyNames(n)),Ve(n)&&(p.indexOf("message")>=0||p.indexOf("description")>=0))return ct(n);if(p.length===0){if(Ge(n)){var h=n.name?": "+n.name:"";return r.stylize("[Function"+h+"]","special")}if(We(n))return r.stylize(RegExp.prototype.toString.call(n),"regexp");if(hr(n))return r.stylize(Date.prototype.toString.call(n),"date");if(Ve(n))return ct(n)}var g="",l=!1,t=["{","}"];if(kt(n)&&(l=!0,t=["[","]"]),Ge(n)){var e=n.name?": "+n.name:"";g=" [Function"+e+"]"}if(We(n)&&(g=" "+RegExp.prototype.toString.call(n)),hr(n)&&(g=" "+Date.prototype.toUTCString.call(n)),Ve(n)&&(g=" "+ct(n)),p.length===0&&(!l||n.length==0))return t[0]+g+t[1];if(s<0)return We(n)?r.stylize(RegExp.prototype.toString.call(n),"regexp"):r.stylize("[Object]","special");r.seen.push(n);var a;return l?a=Vl(r,n,s,f,p):a=p.map(function(i){return vt(r,n,s,f,i,l)}),r.seen.pop(),Gl(a,g,t)}function Wl(r,n){if(ge(n))return r.stylize("undefined","undefined");if(Je(n)){var s="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return r.stylize(s,"string")}if(Ot(n))return r.stylize(""+n,"number");if(mr(n))return r.stylize(""+n,"boolean");if(He(n))return r.stylize("null","null")}function ct(r){return"["+Error.prototype.toString.call(r)+"]"}function Vl(r,n,s,c,o){for(var p=[],f=0,h=n.length;f-1&&(p?h=h.split(` -`).map(function(l){return" "+l}).join(` -`).substr(2):h=` -`+h.split(` -`).map(function(l){return" "+l}).join(` -`))):h=r.stylize("[Circular]","special")),ge(f)){if(p&&o.match(/^\d+$/))return h;f=JSON.stringify(""+o),f.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(f=f.substr(1,f.length-2),f=r.stylize(f,"name")):(f=f.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),f=r.stylize(f,"string"))}return f+": "+h}function Gl(r,n,s){var c=0,o=r.reduce(function(p,f){return c++,f.indexOf(` -`)>=0&&c++,p+f.replace(/\u001b\[\d\d?m/g,"").length+1},0);return o>60?s[0]+(n===""?"":n+` - `)+" "+r.join(`, - `)+" "+s[1]:s[0]+n+" "+r.join(", ")+" "+s[1]}function kt(r){return Array.isArray(r)}function mr(r){return typeof r=="boolean"}function He(r){return r===null}function mo(r){return r==null}function Ot(r){return typeof r=="number"}function Je(r){return typeof r=="string"}function go(r){return typeof r=="symbol"}function ge(r){return r===void 0}function We(r){return Ce(r)&&Tt(r)==="[object RegExp]"}function Ce(r){return typeof r=="object"&&r!==null}function hr(r){return Ce(r)&&Tt(r)==="[object Date]"}function Ve(r){return Ce(r)&&(Tt(r)==="[object Error]"||r instanceof Error)}function Ge(r){return typeof r=="function"}function yo(r){return r===null||typeof r=="boolean"||typeof r=="number"||typeof r=="string"||typeof r=="symbol"||typeof r>"u"}function wo(r){return Buffer.isBuffer(r)}function Tt(r){return Object.prototype.toString.call(r)}function lt(r){return r<10?"0"+r.toString(10):r.toString(10)}function Hl(){var r=new Date,n=[lt(r.getHours()),lt(r.getMinutes()),lt(r.getSeconds())].join(":");return[r.getDate(),So[r.getMonth()],n].join(" ")}function _o(){console.log("%s - %s",Hl(),vr.apply(null,arguments))}function Et(r,n){if(!n||!Ce(n))return r;for(var s=Object.keys(n),c=s.length;c--;)r[s[c]]=n[s[c]];return r}function bo(r,n){return Object.prototype.hasOwnProperty.call(r,n)}var xo,Fe,ft,So,ko,Jl=Me({"node-modules-polyfills:util"(){I(),zl(),Bl(),xo=/%[sdj%]/g,Fe={},ye.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},ye.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},So=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ko={inherits:xt,_extend:Et,log:_o,isBuffer:wo,isPrimitive:yo,isFunction:Ge,isError:Ve,isDate:hr,isObject:Ce,isRegExp:We,isUndefined:ge,isSymbol:go,isString:Je,isNumber:Ot,isNullOrUndefined:mo,isNull:He,isBoolean:mr,isArray:kt,inspect:ye,deprecate:St,format:vr,debuglog:vo}}}),Kl=R({"node-modules-polyfills-commonjs:util"(r,n){I();var s=(Jl(),bt(ho));if(s&&s.default){n.exports=s.default;for(let c in s)n.exports[c]=s[c]}else s&&(n.exports=s)}}),Ql=R({"node_modules/postcss-values-parser/lib/errors/TokenizeError.js"(r,n){"use strict";I();var s=class extends Error{constructor(c){super(c),this.name=this.constructor.name,this.message=c||"An error ocurred while tokzenizing.",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(c).stack}};n.exports=s}}),Yl=R({"node_modules/postcss-values-parser/lib/tokenize.js"(r,n){"use strict";I();var s="{".charCodeAt(0),c="}".charCodeAt(0),o="(".charCodeAt(0),p=")".charCodeAt(0),f="'".charCodeAt(0),h='"'.charCodeAt(0),g="\\".charCodeAt(0),l="/".charCodeAt(0),t=".".charCodeAt(0),e=",".charCodeAt(0),a=":".charCodeAt(0),i="*".charCodeAt(0),u="-".charCodeAt(0),m="+".charCodeAt(0),v="#".charCodeAt(0),y=` -`.charCodeAt(0),w=" ".charCodeAt(0),d="\f".charCodeAt(0),_=" ".charCodeAt(0),O="\r".charCodeAt(0),k="@".charCodeAt(0),D="e".charCodeAt(0),P="E".charCodeAt(0),$="0".charCodeAt(0),G="9".charCodeAt(0),Z="u".charCodeAt(0),B="U".charCodeAt(0),H=/[ \n\t\r\{\(\)'"\\;,/]/g,U=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,T=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,L=/^[a-z0-9]/i,j=/^[a-f0-9?\-]/i,N=Kl(),b=Ql();n.exports=function(J,W){W=W||{};let X=[],C=J.valueOf(),Q=C.length,M=-1,E=1,x=0,S=0,z=null,A,q,V,F,ee,te,ue,le,re,ne,oe,ie;function ce(Qe){let _e=N.format("Unclosed %s at line: %d, column: %d, token: %d",Qe,E,x-M,x);throw new b(_e)}function fe(){let Qe=N.format("Syntax error at line: %d, column: %d, token: %d",E,x-M,x);throw new b(Qe)}for(;x0&&X[X.length-1][0]==="word"&&X[X.length-1][1]==="url",X.push(["(","(",E,x-M,E,q-M,x]);break;case p:S--,z=z&&S>0,X.push([")",")",E,x-M,E,q-M,x]);break;case f:case h:V=A===f?"'":'"',q=x;do for(ne=!1,q=C.indexOf(V,q+1),q===-1&&ce("quote",V),oe=q;C.charCodeAt(oe-1)===g;)oe-=1,ne=!ne;while(ne);X.push(["string",C.slice(x,q+1),E,x-M,E,q-M,x]),x=q;break;case k:H.lastIndex=x+1,H.test(C),H.lastIndex===0?q=C.length-1:q=H.lastIndex-2,X.push(["atword",C.slice(x,q+1),E,x-M,E,q-M,x]),x=q;break;case g:q=x,A=C.charCodeAt(q+1),ue&&A!==l&&A!==w&&A!==y&&A!==_&&A!==O&&A!==d&&(q+=1),X.push(["word",C.slice(x,q+1),E,x-M,E,q-M,x]),x=q;break;case m:case u:case i:q=x+1,ie=C.slice(x+1,q+1);let Qe=C.slice(x-1,x);if(A===u&&ie.charCodeAt(0)===u){q++,X.push(["word",C.slice(x,q),E,x-M,E,q-M,x]),x=q-1;break}X.push(["operator",C.slice(x,q),E,x-M,E,q-M,x]),x=q-1;break;default:if(A===l&&(C.charCodeAt(x+1)===i||W.loose&&!z&&C.charCodeAt(x+1)===l)){if(C.charCodeAt(x+1)===i)q=C.indexOf("*/",x+2)+1,q===0&&ce("comment","*/");else{let Le=C.indexOf(` -`,x+2);q=Le!==-1?Le-1:Q}te=C.slice(x,q+1),F=te.split(` -`),ee=F.length-1,ee>0?(le=E+ee,re=q-F[ee].length):(le=E,re=M),X.push(["comment",te,E,x-M,le,q-re,x]),M=re,E=le,x=q}else if(A===v&&!L.test(C.slice(x+1,x+2)))q=x+1,X.push(["#",C.slice(x,q),E,x-M,E,q-M,x]),x=q-1;else if((A===Z||A===B)&&C.charCodeAt(x+1)===m){q=x+2;do q+=1,A=C.charCodeAt(q);while(q=$&&A<=G&&(_e=T),_e.lastIndex=x+1,_e.test(C),_e.lastIndex===0?q=C.length-1:q=_e.lastIndex-2,_e===T||A===t){let Le=C.charCodeAt(q),jt=C.charCodeAt(q+1),Mt=C.charCodeAt(q+2);(Le===D||Le===P)&&(jt===u||jt===m)&&Mt>=$&&Mt<=G&&(T.lastIndex=q+2,T.test(C),T.lastIndex===0?q=C.length-1:q=T.lastIndex-2)}X.push(["word",C.slice(x,q+1),E,x-M,E,q-M,x]),x=q}break}x++}return X}}}),Oo=R({"node_modules/flatten/index.js"(r,n){I(),n.exports=function(c,o){if(o=typeof o=="number"?o:1/0,!o)return Array.isArray(c)?c.map(function(f){return f}):c;return p(c,1);function p(f,h){return f.reduce(function(g,l){return Array.isArray(l)&&hk-D)}n.exports=class{constructor(k,D){let P={loose:!1};this.cache=[],this.input=k,this.options=Object.assign({},P,D),this.position=0,this.unbalanced=0,this.root=new s;let $=new c;this.root.append($),this.current=$,this.tokens=m(k,this.options)}parse(){return this.loop()}colon(){let k=this.currToken;this.newNode(new p({value:k[1],source:{start:{line:k[2],column:k[3]},end:{line:k[4],column:k[5]}},sourceIndex:k[6]})),this.position++}comma(){let k=this.currToken;this.newNode(new f({value:k[1],source:{start:{line:k[2],column:k[3]},end:{line:k[4],column:k[5]}},sourceIndex:k[6]})),this.position++}comment(){let k=!1,D=this.currToken[1].replace(/\/\*|\*\//g,""),P;this.options.loose&&D.startsWith("//")&&(D=D.substring(2),k=!0),P=new h({value:D,inline:k,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(P),this.position++}error(k,D){throw new d(k+` at line: ${D[2]}, column ${D[3]}`)}loop(){for(;this.position0&&(this.current.type==="func"&&this.current.value==="calc"?this.prevToken[0]!=="space"&&this.prevToken[0]!=="("?this.error("Syntax Error",this.currToken):this.nextToken[0]!=="space"&&this.nextToken[0]!=="word"?this.error("Syntax Error",this.currToken):this.nextToken[0]==="word"&&this.current.last.type!=="operator"&&this.current.last.value!=="("&&this.error("Syntax Error",this.currToken):(this.nextToken[0]==="space"||this.nextToken[0]==="operator"||this.prevToken[0]==="operator")&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&this.current.last.type==="operator")&&this.nextToken[0]==="word")return this.word()}else if(this.nextToken[0]==="word")return this.word()}return D=new t({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(D)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word();break}}parenOpen(){let k=1,D=this.position+1,P=this.currToken,$;for(;D=this.tokens.length-1&&!this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",k),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let k=this.currToken;this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.raws.after+=k[1],this.position++):(this.spaces=k[1],this.position++)}unicodeRange(){let k=this.currToken;this.newNode(new u({value:k[1],source:{start:{line:k[2],column:k[3]},end:{line:k[4],column:k[5]}},sourceIndex:k[6]})),this.position++}splitWord(){let k=this.nextToken,D=this.currToken[1],P=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/,$=/^(?!\#([a-z0-9]+))[\#\{\}]/gi,G,Z;if(!$.test(D))for(;k&&k[0]==="word";){this.position++;let B=this.currToken[1];D+=B,k=this.nextToken}G=y(D,"@"),Z=_(w(v([[0],G]))),Z.forEach((B,H)=>{let U=Z[H+1]||D.length,T=D.slice(B,U),L;if(~G.indexOf(B))L=new o({value:T.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+B},end:{line:this.currToken[4],column:this.currToken[3]+(U-1)}},sourceIndex:this.currToken[6]+Z[H]});else if(P.test(this.currToken[1])){let j=T.replace(P,"");L=new l({value:T.replace(j,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+B},end:{line:this.currToken[4],column:this.currToken[3]+(U-1)}},sourceIndex:this.currToken[6]+Z[H],unit:j})}else L=new(k&&k[0]==="("?g:i)({value:T,source:{start:{line:this.currToken[2],column:this.currToken[3]+B},end:{line:this.currToken[4],column:this.currToken[3]+(U-1)}},sourceIndex:this.currToken[6]+Z[H]}),L.type==="word"?(L.isHex=/^#(.+)/.test(T),L.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(T)):this.cache.push(this.current);this.newNode(L)}),this.position++}string(){let k=this.currToken,D=this.currToken[1],P=/^(\"|\')/,$=P.test(D),G="",Z;$&&(G=D.match(P)[0],D=D.slice(1,D.length-1)),Z=new a({value:D,source:{start:{line:k[2],column:k[3]},end:{line:k[4],column:k[5]}},sourceIndex:k[6],quoted:$}),Z.raws.quote=G,this.newNode(Z),this.position++}word(){return this.splitWord()}newNode(k){return this.spaces&&(k.raws.before+=this.spaces,this.spaces=""),this.current.append(k)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}}),ef=R({"node_modules/postcss-values-parser/lib/index.js"(r,n){"use strict";I();var s=Zl(),c=Ks(),o=Qs(),p=Ys(),f=Xs(),h=Zs(),g=eo(),l=ro(),t=to(),e=no(),a=so(),i=Js(),u=io(),m=function(v,y){return new s(v,y)};m.atword=function(v){return new c(v)},m.colon=function(v){return new o(Object.assign({value:":"},v))},m.comma=function(v){return new p(Object.assign({value:","},v))},m.comment=function(v){return new f(v)},m.func=function(v){return new h(v)},m.number=function(v){return new g(v)},m.operator=function(v){return new l(v)},m.paren=function(v){return new t(Object.assign({value:"("},v))},m.string=function(v){return new e(Object.assign({quote:"'"},v))},m.value=function(v){return new i(v)},m.word=function(v){return new u(v)},m.unicodeRange=function(v){return new a(v)},n.exports=m}}),De=R({"node_modules/postcss-selector-parser/dist/selectors/node.js"(r,n){"use strict";I(),r.__esModule=!0;var s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(f){return typeof f}:function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f};function c(f,h){if(!(f instanceof h))throw new TypeError("Cannot call a class as a function")}var o=function f(h,g){if((typeof h>"u"?"undefined":s(h))!=="object")return h;var l=new h.constructor;for(var t in h)if(h.hasOwnProperty(t)){var e=h[t],a=typeof e>"u"?"undefined":s(e);t==="parent"&&a==="object"?g&&(l[t]=g):e instanceof Array?l[t]=e.map(function(i){return f(i,l)}):l[t]=f(e,l)}return l},p=function(){function f(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};c(this,f);for(var g in h)this[g]=h[g];var l=h.spaces;l=l===void 0?{}:l;var t=l.before,e=t===void 0?"":t,a=l.after,i=a===void 0?"":a;this.spaces={before:e,after:i}}return f.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},f.prototype.replaceWith=function(){if(this.parent){for(var g in arguments)this.parent.insertBefore(this,arguments[g]);this.remove()}return this},f.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},f.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},f.prototype.clone=function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=o(this);for(var t in g)l[t]=g[t];return l},f.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},f}();r.default=p,n.exports=r.default}}),se=R({"node_modules/postcss-selector-parser/dist/selectors/types.js"(r){"use strict";I(),r.__esModule=!0;var n=r.TAG="tag",s=r.STRING="string",c=r.SELECTOR="selector",o=r.ROOT="root",p=r.PSEUDO="pseudo",f=r.NESTING="nesting",h=r.ID="id",g=r.COMMENT="comment",l=r.COMBINATOR="combinator",t=r.CLASS="class",e=r.ATTRIBUTE="attribute",a=r.UNIVERSAL="universal"}}),qt=R({"node_modules/postcss-selector-parser/dist/selectors/container.js"(r,n){"use strict";I(),r.__esModule=!0;var s=function(){function i(u,m){for(var v=0;v=v&&(this.indexes[w]=y-1);return this},u.prototype.removeAll=function(){for(var w=this.nodes,v=Array.isArray(w),y=0,w=v?w:w[Symbol.iterator]();;){var d;if(v){if(y>=w.length)break;d=w[y++]}else{if(y=w.next(),y.done)break;d=y.value}var _=d;_.parent=void 0}return this.nodes=[],this},u.prototype.empty=function(){return this.removeAll()},u.prototype.insertAfter=function(v,y){var w=this.index(v);this.nodes.splice(w+1,0,y);var d=void 0;for(var _ in this.indexes)d=this.indexes[_],w<=d&&(this.indexes[_]=d+this.nodes.length);return this},u.prototype.insertBefore=function(v,y){var w=this.index(v);this.nodes.splice(w,0,y);var d=void 0;for(var _ in this.indexes)d=this.indexes[_],w<=d&&(this.indexes[_]=d+this.nodes.length);return this},u.prototype.each=function(v){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var y=this.lastEach;if(this.indexes[y]=0,!!this.length){for(var w=void 0,d=void 0;this.indexes[y],\[\]\\]|\/(?=\*)/g;function Z(B){for(var H=[],U=B.css.valueOf(),T=void 0,L=void 0,j=void 0,N=void 0,b=void 0,Y=void 0,J=void 0,W=void 0,X=void 0,C=void 0,Q=void 0,M=U.length,E=-1,x=1,S=0,z=function(q,V){if(B.safe)U+=V,L=U.length-1;else throw B.error("Unclosed "+q,x,S-E,S)};S0?(W=x+b,X=L-N[b].length):(W=x,X=E),H.push(["comment",Y,x,S-E,W,L-X,S]),E=X,x=W,S=L):(G.lastIndex=S+1,G.test(U),G.lastIndex===0?L=U.length-1:L=G.lastIndex-2,H.push(["word",U.slice(S,L+1),x,S-E,x,L-E,S]),S=L);break}S++}return H}n.exports=r.default}}),nf=R({"node_modules/postcss-selector-parser/dist/parser.js"(r,n){"use strict";I(),r.__esModule=!0;var s=function(){function E(x,S){for(var z=0;z1?(V[0]===""&&(V[0]=!0),F.attribute=this.parseValue(V[2]),F.namespace=this.parseNamespace(V[0])):F.attribute=this.parseValue(q[0]),z=new G.default(F),q[2]){var ee=q[2].split(/(\s+i\s*?)$/),te=ee[0].trim();z.value=this.lossy?te:ee[0],ee[1]&&(z.insensitive=!0,this.lossy||(z.raws.insensitive=ee[1])),z.quoted=te[0]==="'"||te[0]==='"',z.raws.unquoted=z.quoted?te.slice(1,-1):te}this.newNode(z),this.position++},E.prototype.combinator=function(){if(this.currToken[1]==="|")return this.namespace();for(var S=new U.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&S.nextToken&&S.nextToken[0]==="("&&S.error("Misplaced parenthesis.")})}else this.error('Unexpected "'+this.currToken[0]+'" found.')},E.prototype.space=function(){var S=this.currToken;this.position===0||this.prevToken[0]===","||this.prevToken[0]==="("?(this.spaces=this.parseSpace(S[1]),this.position++):this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.spaces.after=this.parseSpace(S[1]),this.position++):this.combinator()},E.prototype.string=function(){var S=this.currToken;this.newNode(new k.default({value:this.currToken[1],source:{start:{line:S[2],column:S[3]},end:{line:S[4],column:S[5]}},sourceIndex:S[6]})),this.position++},E.prototype.universal=function(S){var z=this.nextToken;if(z&&z[1]==="|")return this.position++,this.namespace();this.newNode(new B.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),S),this.position++},E.prototype.splitWord=function(S,z){for(var A=this,q=this.nextToken,V=this.currToken[1];q&&q[0]==="word";){this.position++;var F=this.currToken[1];if(V+=F,F.lastIndexOf("\\")===F.length-1){var ee=this.nextToken;ee&&ee[0]==="space"&&(V+=this.parseSpace(ee[1]," "),this.position++)}q=this.nextToken}var te=(0,f.default)(V,"."),ue=(0,f.default)(V,"#"),le=(0,f.default)(V,"#{");le.length&&(ue=ue.filter(function(ne){return!~le.indexOf(ne)}));var re=(0,N.default)((0,g.default)((0,o.default)([[0],te,ue])));re.forEach(function(ne,oe){var ie=re[oe+1]||V.length,ce=V.slice(ne,ie);if(oe===0&&z)return z.call(A,ce,re.length);var fe=void 0;~te.indexOf(ne)?fe=new u.default({value:ce.slice(1),source:{start:{line:A.currToken[2],column:A.currToken[3]+ne},end:{line:A.currToken[4],column:A.currToken[3]+(ie-1)}},sourceIndex:A.currToken[6]+re[oe]}):~ue.indexOf(ne)?fe=new w.default({value:ce.slice(1),source:{start:{line:A.currToken[2],column:A.currToken[3]+ne},end:{line:A.currToken[4],column:A.currToken[3]+(ie-1)}},sourceIndex:A.currToken[6]+re[oe]}):fe=new _.default({value:ce,source:{start:{line:A.currToken[2],column:A.currToken[3]+ne},end:{line:A.currToken[4],column:A.currToken[3]+(ie-1)}},sourceIndex:A.currToken[6]+re[oe]}),A.newNode(fe,S)}),this.position++},E.prototype.word=function(S){var z=this.nextToken;return z&&z[1]==="|"?(this.position++,this.namespace()):this.splitWord(S)},E.prototype.loop=function(){for(;this.position1&&arguments[1]!==void 0?arguments[1]:{},a=new o.default({css:t,error:function(u){throw new Error(u)},options:e});return this.res=a,this.func(a),this},s(g,[{key:"result",get:function(){return String(this.res)}}]),g}();r.default=h,n.exports=r.default}}),of=R({"node_modules/postcss-selector-parser/dist/index.js"(r,n){"use strict";I(),r.__esModule=!0;var s=sf(),c=T(s),o=Mo(),p=T(o),f=Po(),h=T(f),g=Lo(),l=T(g),t=Io(),e=T(t),a=Ro(),i=T(a),u=zo(),m=T(u),v=jo(),y=T(v),w=qo(),d=T(w),_=Ao(),O=T(_),k=No(),D=T(k),P=Co(),$=T(P),G=Do(),Z=T(G),B=se(),H=U(B);function U(j){if(j&&j.__esModule)return j;var N={};if(j!=null)for(var b in j)Object.prototype.hasOwnProperty.call(j,b)&&(N[b]=j[b]);return N.default=j,N}function T(j){return j&&j.__esModule?j:{default:j}}var L=function(N){return new c.default(N)};L.attribute=function(j){return new p.default(j)},L.className=function(j){return new h.default(j)},L.combinator=function(j){return new l.default(j)},L.comment=function(j){return new e.default(j)},L.id=function(j){return new i.default(j)},L.nesting=function(j){return new m.default(j)},L.pseudo=function(j){return new y.default(j)},L.root=function(j){return new d.default(j)},L.selector=function(j){return new O.default(j)},L.string=function(j){return new D.default(j)},L.tag=function(j){return new $.default(j)},L.universal=function(j){return new Z.default(j)},Object.keys(H).forEach(function(j){j!=="__esModule"&&(L[j]=H[j])}),r.default=L,n.exports=r.default}}),Bo=R({"node_modules/postcss-media-query-parser/dist/nodes/Node.js"(r){"use strict";I(),Object.defineProperty(r,"__esModule",{value:!0});function n(s){this.after=s.after,this.before=s.before,this.type=s.type,this.value=s.value,this.sourceIndex=s.sourceIndex}r.default=n}}),Fo=R({"node_modules/postcss-media-query-parser/dist/nodes/Container.js"(r){"use strict";I(),Object.defineProperty(r,"__esModule",{value:!0});var n=Bo(),s=c(n);function c(p){return p&&p.__esModule?p:{default:p}}function o(p){var f=this;this.constructor(p),this.nodes=p.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:""),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach(function(h){h.parent=f})}o.prototype=Object.create(s.default.prototype),o.constructor=s.default,o.prototype.walk=function(f,h){for(var g=typeof f=="string"||f instanceof RegExp,l=g?h:f,t=typeof f=="string"?new RegExp(f):f,e=0;e0&&(e[w-1].after=u.before),u.type===void 0){if(w>0){if(e[w-1].type==="media-feature-expression"){u.type="keyword";continue}if(e[w-1].value==="not"||e[w-1].value==="only"){u.type="media-type";continue}if(e[w-1].value==="and"){u.type="media-feature-expression";continue}e[w-1].type==="media-type"&&(e[w+1]?u.type=e[w+1].type==="media-feature-expression"?"keyword":"media-feature-expression":u.type="media-feature-expression")}if(w===0){if(!e[w+1]){u.type="media-type";continue}if(e[w+1]&&(e[w+1].type==="media-feature-expression"||e[w+1].type==="keyword")){u.type="media-type";continue}if(e[w+2]){if(e[w+2].type==="media-feature-expression"){u.type="media-type",e[w+1].type="keyword";continue}if(e[w+2].type==="keyword"){u.type="keyword",e[w+1].type="media-type";continue}}if(e[w+3]&&e[w+3].type==="media-feature-expression"){u.type="keyword",e[w+1].type="media-type",e[w+2].type="keyword";continue}}}return e}function g(l){var t=[],e=0,a=0,i=/^(\s*)url\s*\(/.exec(l);if(i!==null){for(var u=i[0].length,m=1;m>0;){var v=l[u];v==="("&&m++,v===")"&&m--,u++}t.unshift(new s.default({type:"url",value:l.substring(0,u).trim(),sourceIndex:i[1].length,before:i[1],after:/^(\s*)/.exec(l.substring(u))[1]})),e=u}for(var y=e;yHo,default:()=>Ko,delimiter:()=>gt,dirname:()=>Go,extname:()=>Jo,isAbsolute:()=>Pt,join:()=>Wo,normalize:()=>At,relative:()=>Vo,resolve:()=>dr,sep:()=>mt});function $o(r,n){for(var s=0,c=r.length-1;c>=0;c--){var o=r[c];o==="."?r.splice(c,1):o===".."?(r.splice(c,1),s++):s&&(r.splice(c,1),s--)}if(n)for(;s--;s)r.unshift("..");return r}function dr(){for(var r="",n=!1,s=arguments.length-1;s>=-1&&!n;s--){var c=s>=0?arguments[s]:"/";if(typeof c!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!c)continue;r=c+"/"+r,n=c.charAt(0)==="/"}return r=$o(It(r.split("/"),function(o){return!!o}),!n).join("/"),(n?"/":"")+r||"."}function At(r){var n=Pt(r),s=Qo(r,-1)==="/";return r=$o(It(r.split("/"),function(c){return!!c}),!n).join("/"),!r&&!n&&(r="."),r&&s&&(r+="/"),(n?"/":"")+r}function Pt(r){return r.charAt(0)==="/"}function Wo(){var r=Array.prototype.slice.call(arguments,0);return At(It(r,function(n,s){if(typeof n!="string")throw new TypeError("Arguments to path.join must be strings");return n}).join("/"))}function Vo(r,n){r=dr(r).substr(1),n=dr(n).substr(1);function s(l){for(var t=0;t=0&&l[e]==="";e--);return t>e?[]:l.slice(t,e-t+1)}for(var c=s(r.split("/")),o=s(n.split("/")),p=Math.min(c.length,o.length),f=p,h=0;h"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function t(m){return Function.toString.call(m).indexOf("[native code]")!==-1}function e(m,v){return e=Object.setPrototypeOf||function(w,d){return w.__proto__=d,w},e(m,v)}function a(m){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(y){return y.__proto__||Object.getPrototypeOf(y)},a(m)}var i=function(m){f(v,m);function v(w,d,_,O,k,D){var P;return P=m.call(this,w)||this,P.name="CssSyntaxError",P.reason=w,k&&(P.file=k),O&&(P.source=O),D&&(P.plugin=D),typeof d<"u"&&typeof _<"u"&&(P.line=d,P.column=_),P.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(p(P),v),P}var y=v.prototype;return y.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},y.showSourceCode=function(d){var _=this;if(!this.source)return"";var O=this.source;c.default&&(typeof d>"u"&&(d=s.default.isColorSupported),d&&(O=(0,c.default)(O)));var k=O.split(/\r?\n/),D=Math.max(this.line-3,0),P=Math.min(this.line+2,k.length),$=String(P).length;function G(B){return d&&s.default.red?s.default.red(s.default.bold(B)):B}function Z(B){return d&&s.default.gray?s.default.gray(B):B}return k.slice(D,P).map(function(B,H){var U=D+1+H,T=" "+(" "+U).slice(-$)+" | ";if(U===_.line){var L=Z(T.replace(/\d/g," "))+B.slice(0,_.column-1).replace(/[^\t]/g," ");return G(">")+Z(T)+B+` - `+L+G("^")}return" "+Z(T)+B}).join(` -`)},y.toString=function(){var d=this.showSourceCode();return d&&(d=` - -`+d+` -`),this.name+": "+this.message+d},v}(h(Error)),u=i;r.default=u,n.exports=r.default}}),hf=R({"node_modules/postcss/lib/previous-map.js"(r,n){I(),n.exports=class{}}}),yr=R({"node_modules/postcss/lib/input.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s=p(lf()),c=p(Yo()),o=p(hf());function p(e){return e&&e.__esModule?e:{default:e}}function f(e,a){for(var i=0;i"u"||typeof i=="object"&&!i.toString)throw new Error("PostCSS received "+i+" instead of CSS string");this.css=i.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,u.from&&(/^\w+:\/\//.test(u.from)||s.default.isAbsolute(u.from)?this.file=u.from:this.file=s.default.resolve(u.from));var m=new o.default(this.css,u);if(m.text){this.map=m;var v=m.consumer().file;!this.file&&v&&(this.file=this.mapResolve(v))}this.file||(g+=1,this.id=""),this.map&&(this.map.file=this.from)}var a=e.prototype;return a.error=function(u,m,v,y){y===void 0&&(y={});var w,d=this.origin(m,v);return d?w=new c.default(u,d.line,d.column,d.source,d.file,y.plugin):w=new c.default(u,m,v,this.css,this.file,y.plugin),w.input={line:m,column:v,source:this.css},this.file&&(w.input.file=this.file),w},a.origin=function(u,m){if(!this.map)return!1;var v=this.map.consumer(),y=v.originalPositionFor({line:u,column:m});if(!y.source)return!1;var w={file:this.mapResolve(y.source),line:y.line,column:y.column},d=v.sourceContentFor(y.source);return d&&(w.source=d),w},a.mapResolve=function(u){return/^\w+:\/\//.test(u)?u:s.default.resolve(this.map.consumer().sourceRoot||".",u)},h(e,[{key:"from",get:function(){return this.file||this.id}}]),e}(),t=l;r.default=t,n.exports=r.default}}),wr=R({"node_modules/postcss/lib/stringifier.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s={colon:": ",indent:" ",beforeDecl:` -`,beforeRule:` -`,beforeOpen:" ",beforeClose:` -`,beforeComment:` -`,after:` -`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function c(f){return f[0].toUpperCase()+f.slice(1)}var o=function(){function f(g){this.builder=g}var h=f.prototype;return h.stringify=function(l,t){this[l.type](l,t)},h.root=function(l){this.body(l),l.raws.after&&this.builder(l.raws.after)},h.comment=function(l){var t=this.raw(l,"left","commentLeft"),e=this.raw(l,"right","commentRight");this.builder("/*"+t+l.text+e+"*/",l)},h.decl=function(l,t){var e=this.raw(l,"between","colon"),a=l.prop+e+this.rawValue(l,"value");l.important&&(a+=l.raws.important||" !important"),t&&(a+=";"),this.builder(a,l)},h.rule=function(l){this.block(l,this.rawValue(l,"selector")),l.raws.ownSemicolon&&this.builder(l.raws.ownSemicolon,l,"end")},h.atrule=function(l,t){var e="@"+l.name,a=l.params?this.rawValue(l,"params"):"";if(typeof l.raws.afterName<"u"?e+=l.raws.afterName:a&&(e+=" "),l.nodes)this.block(l,e+a);else{var i=(l.raws.between||"")+(t?";":"");this.builder(e+a+i,l)}},h.body=function(l){for(var t=l.nodes.length-1;t>0&&l.nodes[t].type==="comment";)t-=1;for(var e=this.raw(l,"semicolon"),a=0;a"u"&&(a=s[e]),u.rawCache[e]=a,a},h.rawSemicolon=function(l){var t;return l.walk(function(e){if(e.nodes&&e.nodes.length&&e.last.type==="decl"&&(t=e.raws.semicolon,typeof t<"u"))return!1}),t},h.rawEmptyBody=function(l){var t;return l.walk(function(e){if(e.nodes&&e.nodes.length===0&&(t=e.raws.after,typeof t<"u"))return!1}),t},h.rawIndent=function(l){if(l.raws.indent)return l.raws.indent;var t;return l.walk(function(e){var a=e.parent;if(a&&a!==l&&a.parent&&a.parent===l&&typeof e.raws.before<"u"){var i=e.raws.before.split(` -`);return t=i[i.length-1],t=t.replace(/[^\s]/g,""),!1}}),t},h.rawBeforeComment=function(l,t){var e;return l.walkComments(function(a){if(typeof a.raws.before<"u")return e=a.raws.before,e.indexOf(` -`)!==-1&&(e=e.replace(/[^\n]+$/,"")),!1}),typeof e>"u"?e=this.raw(t,null,"beforeDecl"):e&&(e=e.replace(/[^\s]/g,"")),e},h.rawBeforeDecl=function(l,t){var e;return l.walkDecls(function(a){if(typeof a.raws.before<"u")return e=a.raws.before,e.indexOf(` -`)!==-1&&(e=e.replace(/[^\n]+$/,"")),!1}),typeof e>"u"?e=this.raw(t,null,"beforeRule"):e&&(e=e.replace(/[^\s]/g,"")),e},h.rawBeforeRule=function(l){var t;return l.walk(function(e){if(e.nodes&&(e.parent!==l||l.first!==e)&&typeof e.raws.before<"u")return t=e.raws.before,t.indexOf(` -`)!==-1&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/[^\s]/g,"")),t},h.rawBeforeClose=function(l){var t;return l.walk(function(e){if(e.nodes&&e.nodes.length>0&&typeof e.raws.after<"u")return t=e.raws.after,t.indexOf(` -`)!==-1&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/[^\s]/g,"")),t},h.rawBeforeOpen=function(l){var t;return l.walk(function(e){if(e.type!=="decl"&&(t=e.raws.between,typeof t<"u"))return!1}),t},h.rawColon=function(l){var t;return l.walkDecls(function(e){if(typeof e.raws.between<"u")return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t},h.beforeAfter=function(l,t){var e;l.type==="decl"?e=this.raw(l,null,"beforeDecl"):l.type==="comment"?e=this.raw(l,null,"beforeComment"):t==="before"?e=this.raw(l,null,"beforeRule"):e=this.raw(l,null,"beforeClose");for(var a=l.parent,i=0;a&&a.type!=="root";)i+=1,a=a.parent;if(e.indexOf(` -`)!==-1){var u=this.raw(l,null,"indent");if(u.length)for(var m=0;m=x}function ue(re){if(V.length)return V.pop();if(!(A>=x)){var ne=re?re.ignoreUnclosed:!1;switch(U=B.charCodeAt(A),(U===f||U===g||U===t&&B.charCodeAt(A+1)!==f)&&(S=A,z+=1),U){case f:case h:case l:case t:case g:T=A;do T+=1,U=B.charCodeAt(T),U===f&&(S=T,z+=1);while(U===h||U===f||U===l||U===t||U===g);E=["space",B.slice(A,T)],A=T-1;break;case e:case a:case m:case v:case d:case y:case u:var oe=String.fromCharCode(U);E=[oe,oe,z,A-S];break;case i:if(Q=q.length?q.pop()[1]:"",M=B.charCodeAt(A+1),Q==="url"&&M!==s&&M!==c&&M!==h&&M!==f&&M!==l&&M!==g&&M!==t){T=A;do{if(X=!1,T=B.indexOf(")",T+1),T===-1)if(H||ne){T=A;break}else ee("bracket");for(C=T;B.charCodeAt(C-1)===o;)C-=1,X=!X}while(X);E=["brackets",B.slice(A,T+1),z,A-S,z,T-S],A=T}else T=B.indexOf(")",A+1),b=B.slice(A,T+1),T===-1||D.test(b)?E=["(","(",z,A-S]:(E=["brackets",b,z,A-S,z,T-S],A=T);break;case s:case c:L=U===s?"'":'"',T=A;do{if(X=!1,T=B.indexOf(L,T+1),T===-1)if(H||ne){T=A+1;break}else ee("string");for(C=T;B.charCodeAt(C-1)===o;)C-=1,X=!X}while(X);b=B.slice(A,T+1),j=b.split(` -`),N=j.length-1,N>0?(J=z+N,W=T-j[N].length):(J=z,W=S),E=["string",B.slice(A,T+1),z,A-S,J,T-W],S=W,z=J,A=T;break;case _:O.lastIndex=A+1,O.test(B),O.lastIndex===0?T=B.length-1:T=O.lastIndex-2,E=["at-word",B.slice(A,T+1),z,A-S,z,T-S],A=T;break;case o:for(T=A,Y=!0;B.charCodeAt(T+1)===o;)T+=1,Y=!Y;if(U=B.charCodeAt(T+1),Y&&U!==p&&U!==h&&U!==f&&U!==l&&U!==t&&U!==g&&(T+=1,P.test(B.charAt(T)))){for(;P.test(B.charAt(T+1));)T+=1;B.charCodeAt(T+1)===h&&(T+=1)}E=["word",B.slice(A,T+1),z,A-S,z,T-S],A=T;break;default:U===p&&B.charCodeAt(A+1)===w?(T=B.indexOf("*/",A+2)+1,T===0&&(H||ne?T=B.length:ee("comment")),b=B.slice(A,T+1),j=b.split(` -`),N=j.length-1,N>0?(J=z+N,W=T-j[N].length):(J=z,W=S),E=["comment",b,z,A-S,J,T-W],S=W,z=J,A=T):(k.lastIndex=A+1,k.test(B),k.lastIndex===0?T=B.length-1:T=k.lastIndex-2,E=["word",B.slice(A,T+1),z,A-S,z,T-S],q.push(E),A=T);break}return A++,E}}function le(re){V.push(re)}return{back:le,nextToken:ue,endOfFile:te,position:F}}n.exports=r.default}}),ea=R({"node_modules/postcss/lib/parse.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s=o(Nt()),c=o(yr());function o(h){return h&&h.__esModule?h:{default:h}}function p(h,g){var l=new c.default(h,g),t=new s.default(l);try{t.parse()}catch(e){throw e}return t.root}var f=p;r.default=f,n.exports=r.default}}),df=R({"node_modules/postcss/lib/list.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s={split:function(p,f,h){for(var g=[],l="",t=!1,e=0,a=!1,i=!1,u=0;u0&&(e-=1):e===0&&f.indexOf(m)!==-1&&(t=!0),t?(l!==""&&g.push(l.trim()),l="",t=!1):l+=m}return(h||l!=="")&&g.push(l.trim()),g},space:function(p){var f=[" ",` -`," "];return s.split(p,f)},comma:function(p){return s.split(p,[","],!0)}},c=s;r.default=c,n.exports=r.default}}),ra=R({"node_modules/postcss/lib/rule.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s=o(br()),c=o(df());function o(t){return t&&t.__esModule?t:{default:t}}function p(t,e){for(var a=0;a"u"||m[Symbol.iterator]==null){if(Array.isArray(m)||(y=h(m))||v&&m&&typeof m.length=="number"){y&&(m=y);var w=0;return function(){return w>=m.length?{done:!0}:{done:!1,value:m[w++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return y=m[Symbol.iterator](),y.next.bind(y)}function h(m,v){if(m){if(typeof m=="string")return g(m,v);var y=Object.prototype.toString.call(m).slice(8,-1);if(y==="Object"&&m.constructor&&(y=m.constructor.name),y==="Map"||y==="Set")return Array.from(m);if(y==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(y))return g(m,v)}}function g(m,v){(v==null||v>m.length)&&(v=m.length);for(var y=0,w=new Array(v);y=d&&(this.indexes[O]=_-1);return this},y.removeAll=function(){for(var d=f(this.nodes),_;!(_=d()).done;){var O=_.value;O.parent=void 0}return this.nodes=[],this},y.replaceValues=function(d,_,O){return O||(O=_,_={}),this.walkDecls(function(k){_.props&&_.props.indexOf(k.prop)===-1||_.fast&&k.value.indexOf(_.fast)===-1||(k.value=k.value.replace(d,O))}),this},y.every=function(d){return this.nodes.every(d)},y.some=function(d){return this.nodes.some(d)},y.index=function(d){return typeof d=="number"?d:this.nodes.indexOf(d)},y.normalize=function(d,_){var O=this;if(typeof d=="string"){var k=ea();d=a(k(d).nodes)}else if(Array.isArray(d)){d=d.slice(0);for(var D=f(d),P;!(P=D()).done;){var $=P.value;$.parent&&$.parent.removeChild($,"ignore")}}else if(d.type==="root"){d=d.nodes.slice(0);for(var G=f(d),Z;!(Z=G()).done;){var B=Z.value;B.parent&&B.parent.removeChild(B,"ignore")}}else if(d.type)d=[d];else if(d.prop){if(typeof d.value>"u")throw new Error("Value field is missed in node creation");typeof d.value!="string"&&(d.value=String(d.value)),d=[new s.default(d)]}else if(d.selector){var H=ra();d=[new H(d)]}else if(d.name){var U=ta();d=[new U(d)]}else if(d.text)d=[new c.default(d)];else throw new Error("Unknown node type in node creation");var T=d.map(function(L){return L.parent&&L.parent.removeChild(L),typeof L.raws.before>"u"&&_&&typeof _.raws.before<"u"&&(L.raws.before=_.raws.before.replace(/[^\s]/g,"")),L.parent=O,L});return T},t(v,[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}]),v}(o.default),u=i;r.default=u,n.exports=r.default}}),ta=R({"node_modules/postcss/lib/at-rule.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s=c(br());function c(h){return h&&h.__esModule?h:{default:h}}function o(h,g){h.prototype=Object.create(g.prototype),h.prototype.constructor=h,h.__proto__=g}var p=function(h){o(g,h);function g(t){var e;return e=h.call(this,t)||this,e.type="atrule",e}var l=g.prototype;return l.append=function(){var e;this.nodes||(this.nodes=[]);for(var a=arguments.length,i=new Array(a),u=0;u"u"||v[Symbol.iterator]==null){if(Array.isArray(v)||(w=l(v))||y&&v&&typeof v.length=="number"){w&&(v=w);var d=0;return function(){return d>=v.length?{done:!0}:{done:!1,value:v[d++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return w=v[Symbol.iterator](),w.next.bind(w)}function l(v,y){if(v){if(typeof v=="string")return t(v,y);var w=Object.prototype.toString.call(v).slice(8,-1);if(w==="Object"&&v.constructor&&(w=v.constructor.name),w==="Map"||w==="Set")return Array.from(v);if(w==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w))return t(v,y)}}function t(v,y){(y==null||y>v.length)&&(y=v.length);for(var w=0,d=new Array(y);w"u"&&(_.map={}),_.map.inline||(_.map.inline=!1),_.map.prev=d.map);else{var k=f.default;_.syntax&&(k=_.syntax.parse),_.parser&&(k=_.parser),k.parse&&(k=k.parse);try{O=k(d,_)}catch(D){this.error=D}}this.result=new p.default(w,O,_)}var y=v.prototype;return y.warnings=function(){return this.sync().warnings()},y.toString=function(){return this.css},y.then=function(d,_){return this.async().then(d,_)},y.catch=function(d){return this.async().catch(d)},y.finally=function(d){return this.async().then(d,d)},y.handleError=function(d,_){try{if(this.error=d,d.name==="CssSyntaxError"&&!d.plugin)d.plugin=_.postcssPlugin,d.setMessage();else if(_.postcssVersion&&!1)var O,k,D,P,$}catch(G){console&&console.error&&console.error(G)}},y.asyncTick=function(d,_){var O=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,d();try{var k=this.processor.plugins[this.plugin],D=this.run(k);this.plugin+=1,i(D)?D.then(function(){O.asyncTick(d,_)}).catch(function(P){O.handleError(P,k),O.processed=!0,_(P)}):this.asyncTick(d,_)}catch(P){this.processed=!0,_(P)}},y.async=function(){var d=this;return this.processed?new Promise(function(_,O){d.error?O(d.error):_(d.stringify())}):this.processing?this.processing:(this.processing=new Promise(function(_,O){if(d.error)return O(d.error);d.plugin=0,d.asyncTick(_,O)}).then(function(){return d.processed=!0,d.stringify()}),this.processing)},y.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var d=g(this.result.processor.plugins),_;!(_=d()).done;){var O=_.value,k=this.run(O);if(i(k))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},y.run=function(d){this.result.lastPlugin=d;try{return d(this.result.root,this.result)}catch(_){throw this.handleError(_,d),_}},y.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var d=this.result.opts,_=c.default;d.syntax&&(_=d.syntax.stringify),d.stringifier&&(_=d.stringifier),_.stringify&&(_=_.stringify);var O=new s.default(_,this.result.root,this.result.opts),k=O.generate();return this.result.css=k[0],this.result.map=k[1],this.result},a(v,[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}]),v}(),m=u;r.default=m,n.exports=r.default}}),wf=R({"node_modules/postcss/lib/processor.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s=c(na());function c(l){return l&&l.__esModule?l:{default:l}}function o(l,t){var e;if(typeof Symbol>"u"||l[Symbol.iterator]==null){if(Array.isArray(l)||(e=p(l))||t&&l&&typeof l.length=="number"){e&&(l=e);var a=0;return function(){return a>=l.length?{done:!0}:{done:!1,value:l[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return e=l[Symbol.iterator](),e.next.bind(e)}function p(l,t){if(l){if(typeof l=="string")return f(l,t);var e=Object.prototype.toString.call(l).slice(8,-1);if(e==="Object"&&l.constructor&&(e=l.constructor.name),e==="Map"||e==="Set")return Array.from(l);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return f(l,t)}}function f(l,t){(t==null||t>l.length)&&(t=l.length);for(var e=0,a=new Array(t);e"u"||t[Symbol.iterator]==null){if(Array.isArray(t)||(a=p(t))||e&&t&&typeof t.length=="number"){a&&(t=a);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return a=t[Symbol.iterator](),a.next.bind(a)}function p(t,e){if(t){if(typeof t=="string")return f(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);if(a==="Object"&&t.constructor&&(a=t.constructor.name),a==="Map"||a==="Set")return Array.from(t);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return f(t,e)}}function f(t,e){(e==null||e>t.length)&&(e=t.length);for(var a=0,i=new Array(e);a1&&(this.nodes[1].raws.before=this.nodes[v].raws.before),t.prototype.removeChild.call(this,u)},a.normalize=function(u,m,v){var y=t.prototype.normalize.call(this,u);if(m){if(v==="prepend")this.nodes.length>1?m.raws.before=this.nodes[1].raws.before:delete m.raws.before;else if(this.first!==m)for(var w=o(y),d;!(d=w()).done;){var _=d.value;_.raws.before=m.raws.before}}return y},a.toResult=function(u){u===void 0&&(u={});var m=na(),v=wf(),y=new m(new v,this,u);return y.stringify()},e}(s.default),l=g;r.default=l,n.exports=r.default}}),Nt=R({"node_modules/postcss/lib/parser.js"(r,n){"use strict";I(),r.__esModule=!0,r.default=void 0;var s=g(Zo()),c=g(Ct()),o=g(_r()),p=g(ta()),f=g(_f()),h=g(ra());function g(t){return t&&t.__esModule?t:{default:t}}var l=function(){function t(a){this.input=a,this.root=new f.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:a,start:{line:1,column:1}}}var e=t.prototype;return e.createTokenizer=function(){this.tokenizer=(0,c.default)(this.input)},e.parse=function(){for(var i;!this.tokenizer.endOfFile();)switch(i=this.tokenizer.nextToken(),i[0]){case"space":this.spaces+=i[1];break;case";":this.freeSemicolon(i);break;case"}":this.end(i);break;case"comment":this.comment(i);break;case"at-word":this.atrule(i);break;case"{":this.emptyRule(i);break;default:this.other(i);break}this.endFile()},e.comment=function(i){var u=new o.default;this.init(u,i[2],i[3]),u.source.end={line:i[4],column:i[5]};var m=i[1].slice(2,-2);if(/^\s*$/.test(m))u.text="",u.raws.left=m,u.raws.right="";else{var v=m.match(/^(\s*)([^]*[^\s])(\s*)$/);u.text=v[2],u.raws.left=v[1],u.raws.right=v[3]}},e.emptyRule=function(i){var u=new h.default;this.init(u,i[2],i[3]),u.selector="",u.raws.between="",this.current=u},e.other=function(i){for(var u=!1,m=null,v=!1,y=null,w=[],d=[],_=i;_;){if(m=_[0],d.push(_),m==="("||m==="[")y||(y=_),w.push(m==="("?")":"]");else if(w.length===0)if(m===";")if(v){this.decl(d);return}else break;else if(m==="{"){this.rule(d);return}else if(m==="}"){this.tokenizer.back(d.pop()),u=!0;break}else m===":"&&(v=!0);else m===w[w.length-1]&&(w.pop(),w.length===0&&(y=null));_=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(u=!0),w.length>0&&this.unclosedBracket(y),u&&v){for(;d.length&&(_=d[d.length-1][0],!(_!=="space"&&_!=="comment"));)this.tokenizer.back(d.pop());this.decl(d)}else this.unknownWord(d)},e.rule=function(i){i.pop();var u=new h.default;this.init(u,i[0][2],i[0][3]),u.raws.between=this.spacesAndCommentsFromEnd(i),this.raw(u,"selector",i),this.current=u},e.decl=function(i){var u=new s.default;this.init(u);var m=i[i.length-1];for(m[0]===";"&&(this.semicolon=!0,i.pop()),m[4]?u.source.end={line:m[4],column:m[5]}:u.source.end={line:m[2],column:m[3]};i[0][0]!=="word";)i.length===1&&this.unknownWord(i),u.raws.before+=i.shift()[1];for(u.source.start={line:i[0][2],column:i[0][3]},u.prop="";i.length;){var v=i[0][0];if(v===":"||v==="space"||v==="comment")break;u.prop+=i.shift()[1]}u.raws.between="";for(var y;i.length;)if(y=i.shift(),y[0]===":"){u.raws.between+=y[1];break}else y[0]==="word"&&/\w/.test(y[1])&&this.unknownWord([y]),u.raws.between+=y[1];(u.prop[0]==="_"||u.prop[0]==="*")&&(u.raws.before+=u.prop[0],u.prop=u.prop.slice(1)),u.raws.between+=this.spacesAndCommentsFromStart(i),this.precheckMissedSemicolon(i);for(var w=i.length-1;w>0;w--){if(y=i[w],y[1].toLowerCase()==="!important"){u.important=!0;var d=this.stringFrom(i,w);d=this.spacesFromEnd(i)+d,d!==" !important"&&(u.raws.important=d);break}else if(y[1].toLowerCase()==="important"){for(var _=i.slice(0),O="",k=w;k>0;k--){var D=_[k][0];if(O.trim().indexOf("!")===0&&D!=="space")break;O=_.pop()[1]+O}O.trim().indexOf("!")===0&&(u.important=!0,u.raws.important=O,i=_)}if(y[0]!=="space"&&y[0]!=="comment")break}this.raw(u,"value",i),u.value.indexOf(":")!==-1&&this.checkMissedSemicolon(i)},e.atrule=function(i){var u=new p.default;u.name=i[1].slice(1),u.name===""&&this.unnamedAtrule(u,i),this.init(u,i[2],i[3]);for(var m,v,y=!1,w=!1,d=[];!this.tokenizer.endOfFile();){if(i=this.tokenizer.nextToken(),i[0]===";"){u.source.end={line:i[2],column:i[3]},this.semicolon=!0;break}else if(i[0]==="{"){w=!0;break}else if(i[0]==="}"){if(d.length>0){for(v=d.length-1,m=d[v];m&&m[0]==="space";)m=d[--v];m&&(u.source.end={line:m[4],column:m[5]})}this.end(i);break}else d.push(i);if(this.tokenizer.endOfFile()){y=!0;break}}u.raws.between=this.spacesAndCommentsFromEnd(d),d.length?(u.raws.afterName=this.spacesAndCommentsFromStart(d),this.raw(u,"params",d),y&&(i=d[d.length-1],u.source.end={line:i[4],column:i[5]},this.spaces=u.raws.between,u.raws.between="")):(u.raws.afterName="",u.params=""),w&&(u.nodes=[],this.current=u)},e.end=function(i){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:i[2],column:i[3]},this.current=this.current.parent):this.unexpectedClose(i)},e.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},e.freeSemicolon=function(i){if(this.spaces+=i[1],this.current.nodes){var u=this.current.nodes[this.current.nodes.length-1];u&&u.type==="rule"&&!u.raws.ownSemicolon&&(u.raws.ownSemicolon=this.spaces,this.spaces="")}},e.init=function(i,u,m){this.current.push(i),i.source={start:{line:u,column:m},input:this.input},i.raws.before=this.spaces,this.spaces="",i.type!=="comment"&&(this.semicolon=!1)},e.raw=function(i,u,m){for(var v,y,w=m.length,d="",_=!0,O,k,D=/^([.|#])?([\w])+/i,P=0;P=0&&(v=i[y],!(v[0]!=="space"&&(m+=1,m===2)));y--);throw this.input.error("Missed semicolon",v[2],v[3])}},t}();r.default=l,n.exports=r.default}}),bf=R({"node_modules/postcss-less/lib/nodes/inline-comment.js"(r,n){I();var s=Ct(),c=yr();n.exports={isInlineComment(o){if(o[0]==="word"&&o[1].slice(0,2)==="//"){let p=o,f=[],h;for(;o;){if(/\r?\n/.test(o[1])){if(/['"].*\r?\n/.test(o[1])){f.push(o[1].substring(0,o[1].indexOf(` -`)));let l=o[1].substring(o[1].indexOf(` -`));l+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new c(l),this.tokenizer=s(this.input)}else this.tokenizer.back(o);break}f.push(o[1]),h=o,o=this.tokenizer.nextToken({ignoreUnclosed:!0})}let g=["comment",f.join(""),p[2],p[3],h[2],h[3]];return this.inlineComment(g),!0}else if(o[1]==="/"){let p=this.tokenizer.nextToken({ignoreUnclosed:!0});if(p[0]==="comment"&&/^\/\*/.test(p[1]))return p[0]="word",p[1]=p[1].slice(1),o[1]="//",this.tokenizer.back(p),n.exports.isInlineComment.bind(this)(o)}return!1}}}}),xf=R({"node_modules/postcss-less/lib/nodes/interpolation.js"(r,n){I(),n.exports={interpolation(s){let c=s,o=[s],p=["word","{","}"];if(s=this.tokenizer.nextToken(),c[1].length>1||s[0]!=="{")return this.tokenizer.back(s),!1;for(;s&&p.includes(s[0]);)o.push(s),s=this.tokenizer.nextToken();let f=o.map(e=>e[1]);[c]=o;let h=o.pop(),g=[c[2],c[3]],l=[h[4]||h[2],h[5]||h[3]],t=["word",f.join("")].concat(g,l);return this.tokenizer.back(s),this.tokenizer.back(t),!0}}}}),Sf=R({"node_modules/postcss-less/lib/nodes/mixin.js"(r,n){I();var s=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,c=/\.[0-9]/,o=p=>{let[,f]=p,[h]=f;return(h==="."||h==="#")&&s.test(f)===!1&&c.test(f)===!1};n.exports={isMixinToken:o}}}),kf=R({"node_modules/postcss-less/lib/nodes/import.js"(r,n){I();var s=Ct(),c=/^url\((.+)\)/;n.exports=o=>{let{name:p,params:f=""}=o;if(p==="import"&&f.length){o.import=!0;let h=s({css:f});for(o.filename=f.replace(c,"$1");!h.endOfFile();){let[g,l]=h.nextToken();if(g==="word"&&l==="url")return;if(g==="brackets"){o.options=l,o.filename=f.replace(l,"").trim();break}}}}}}),Of=R({"node_modules/postcss-less/lib/nodes/variable.js"(r,n){I();var s=/:$/,c=/^:(\s+)?/;n.exports=o=>{let{name:p,params:f=""}=o;if(o.name.slice(-1)===":"){if(s.test(p)){let[h]=p.match(s);o.name=p.replace(h,""),o.raws.afterName=h+(o.raws.afterName||""),o.variable=!0,o.value=o.params}if(c.test(f)){let[h]=f.match(c);o.value=f.replace(h,""),o.raws.afterName=(o.raws.afterName||"")+h,o.variable=!0}}}}}),Tf=R({"node_modules/postcss-less/lib/LessParser.js"(r,n){I();var s=_r(),c=Nt(),{isInlineComment:o}=bf(),{interpolation:p}=xf(),{isMixinToken:f}=Sf(),h=kf(),g=Of(),l=/(!\s*important)$/i;n.exports=class extends c{constructor(){super(...arguments),this.lastNode=null}atrule(e){p.bind(this)(e)||(super.atrule(e),h(this.lastNode),g(this.lastNode))}decl(){super.decl(...arguments),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=` ${e[0][1]}`;let a=e.findIndex(y=>y[0]==="("),i=e.reverse().find(y=>y[0]===")"),u=e.reverse().indexOf(i),v=e.splice(a,u).map(y=>y[1]).join("");for(let y of e.reverse())this.tokenizer.back(y);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=v}init(e,a,i){super.init(e,a,i),this.lastNode=e}inlineComment(e){let a=new s,i=e[1].slice(2);if(this.init(a,e[2],e[3]),a.source.end={line:e[4],column:e[5]},a.inline=!0,a.raws.begin="//",/^\s*$/.test(i))a.text="",a.raws.left=i,a.raws.right="";else{let u=i.match(/^(\s*)([^]*[^\s])(\s*)$/);[,a.raws.left,a.text,a.raws.right]=u}}mixin(e){let[a]=e,i=a[1].slice(0,1),u=e.findIndex(d=>d[0]==="brackets"),m=e.findIndex(d=>d[0]==="("),v="";if((u<0||u>3)&&m>0){let d=e.reduce((H,U,T)=>U[0]===")"?T:H),O=e.slice(m,d+m).map(H=>H[1]).join(""),[k]=e.slice(m),D=[k[2],k[3]],[P]=e.slice(d,d+1),$=[P[2],P[3]],G=["brackets",O].concat(D,$),Z=e.slice(0,m),B=e.slice(d+1);e=Z,e.push(G),e=e.concat(B)}let y=[];for(let d of e)if((d[1]==="!"||y.length)&&y.push(d),d[1]==="important")break;if(y.length){let[d]=y,_=e.indexOf(d),O=y[y.length-1],k=[d[2],d[3]],D=[O[4],O[5]],$=["word",y.map(G=>G[1]).join("")].concat(k,D);e.splice(_,y.length,$)}let w=e.findIndex(d=>l.test(d[1]));w>0&&([,v]=e[w],e.splice(w,1));for(let d of e.reverse())this.tokenizer.back(d);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=i,v&&(this.lastNode.important=!0,this.lastNode.raws.important=v)}other(e){o.bind(this)(e)||super.other(e)}rule(e){let a=e[e.length-1],i=e[e.length-2];if(i[0]==="at-word"&&a[0]==="{"&&(this.tokenizer.back(a),p.bind(this)(i))){let m=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([m]);for(let v of e.reverse())this.tokenizer.back(v);return}super.rule(e),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){let[a]=e;if(e[0][1]==="each"&&e[1][0]==="("){this.each(e);return}if(f(a)){this.mixin(e);return}super.unknownWord(e)}}}}),Ef=R({"node_modules/postcss-less/lib/LessStringifier.js"(r,n){I();var s=wr();n.exports=class extends s{atrule(o,p){if(!o.mixin&&!o.variable&&!o.function){super.atrule(o,p);return}let h=`${o.function?"":o.raws.identifier||"@"}${o.name}`,g=o.params?this.rawValue(o,"params"):"",l=o.raws.important||"";if(o.variable&&(g=o.value),typeof o.raws.afterName<"u"?h+=o.raws.afterName:g&&(h+=" "),o.nodes)this.block(o,h+g+l);else{let t=(o.raws.between||"")+l+(p?";":"");this.builder(h+g+t,o)}}comment(o){if(o.inline){let p=this.raw(o,"left","commentLeft"),f=this.raw(o,"right","commentRight");this.builder(`//${p}${o.text}${f}`,o)}else super.comment(o)}}}}),qf=R({"node_modules/postcss-less/lib/index.js"(r,n){I();var s=yr(),c=Tf(),o=Ef();n.exports={parse(p,f){let h=new s(p,f),g=new c(h);return g.parse(),g.root},stringify(p,f){new o(f).stringify(p)},nodeToString(p){let f="";return n.exports.stringify(p,h=>{f+=h}),f}}}}),Af=R({"node_modules/postcss-scss/lib/scss-stringifier.js"(r,n){"use strict";I();function s(p,f){p.prototype=Object.create(f.prototype),p.prototype.constructor=p,p.__proto__=f}var c=wr(),o=function(p){s(f,p);function f(){return p.apply(this,arguments)||this}var h=f.prototype;return h.comment=function(l){var t=this.raw(l,"left","commentLeft"),e=this.raw(l,"right","commentRight");if(l.raws.inline){var a=l.raws.text||l.text;this.builder("//"+t+a+e,l)}else this.builder("/*"+t+l.text+e+"*/",l)},h.decl=function(l,t){if(!l.isNested)p.prototype.decl.call(this,l,t);else{var e=this.raw(l,"between","colon"),a=l.prop+e+this.rawValue(l,"value");l.important&&(a+=l.raws.important||" !important"),this.builder(a+"{",l,"start");var i;l.nodes&&l.nodes.length?(this.body(l),i=this.raw(l,"after")):i=this.raw(l,"after","emptyBody"),i&&this.builder(i),this.builder("}",l,"end")}},h.rawValue=function(l,t){var e=l[t],a=l.raws[t];return a&&a.value===e?a.scss?a.scss:a.raw:e},f}(c);n.exports=o}}),Pf=R({"node_modules/postcss-scss/lib/scss-stringify.js"(r,n){"use strict";I();var s=Af();n.exports=function(o,p){var f=new s(p);f.stringify(o)}}}),If=R({"node_modules/postcss-scss/lib/nested-declaration.js"(r,n){"use strict";I();function s(p,f){p.prototype=Object.create(f.prototype),p.prototype.constructor=p,p.__proto__=f}var c=br(),o=function(p){s(f,p);function f(h){var g;return g=p.call(this,h)||this,g.type="decl",g.isNested=!0,g.nodes||(g.nodes=[]),g}return f}(c);n.exports=o}}),Rf=R({"node_modules/postcss-scss/lib/scss-tokenize.js"(r,n){"use strict";I();var s="'".charCodeAt(0),c='"'.charCodeAt(0),o="\\".charCodeAt(0),p="/".charCodeAt(0),f=` -`.charCodeAt(0),h=" ".charCodeAt(0),g="\f".charCodeAt(0),l=" ".charCodeAt(0),t="\r".charCodeAt(0),e="[".charCodeAt(0),a="]".charCodeAt(0),i="(".charCodeAt(0),u=")".charCodeAt(0),m="{".charCodeAt(0),v="}".charCodeAt(0),y=";".charCodeAt(0),w="*".charCodeAt(0),d=":".charCodeAt(0),_="@".charCodeAt(0),O=",".charCodeAt(0),k="#".charCodeAt(0),D=/[ \n\t\r\f{}()'"\\;/[\]#]/g,P=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,$=/.[\\/("'\n]/,G=/[a-f0-9]/i,Z=/[\r\f\n]/g;n.exports=function(H,U){U===void 0&&(U={});var T=H.css.valueOf(),L=U.ignoreErrors,j,N,b,Y,J,W,X,C,Q,M,E,x,S,z,A=T.length,q=-1,V=1,F=0,ee=[],te=[];function ue(ie){throw H.error("Unclosed "+ie,V,F-q)}function le(){return te.length===0&&F>=A}function re(){for(var ie=1,ce=!1,fe=!1;ie>0;)N+=1,T.length<=N&&ue("interpolation"),j=T.charCodeAt(N),x=T.charCodeAt(N+1),ce?!fe&&j===ce?(ce=!1,fe=!1):j===o?fe=!M:fe&&(fe=!1):j===s||j===c?ce=j:j===v?ie-=1:j===k&&x===m&&(ie+=1)}function ne(){if(te.length)return te.pop();if(!(F>=A)){switch(j=T.charCodeAt(F),(j===f||j===g||j===t&&T.charCodeAt(F+1)!==f)&&(q=F,V+=1),j){case f:case h:case l:case t:case g:N=F;do N+=1,j=T.charCodeAt(N),j===f&&(q=N,V+=1);while(j===h||j===f||j===l||j===t||j===g);S=["space",T.slice(F,N)],F=N-1;break;case e:S=["[","[",V,F-q];break;case a:S=["]","]",V,F-q];break;case m:S=["{","{",V,F-q];break;case v:S=["}","}",V,F-q];break;case O:S=["word",",",V,F-q,V,F-q+1];break;case d:S=[":",":",V,F-q];break;case y:S=[";",";",V,F-q];break;case i:if(E=ee.length?ee.pop()[1]:"",x=T.charCodeAt(F+1),E==="url"&&x!==s&&x!==c){for(z=1,M=!1,N=F+1;N<=T.length-1;){if(x=T.charCodeAt(N),x===o)M=!M;else if(x===i)z+=1;else if(x===u&&(z-=1,z===0))break;N+=1}W=T.slice(F,N+1),Y=W.split(` -`),J=Y.length-1,J>0?(C=V+J,Q=N-Y[J].length):(C=V,Q=q),S=["brackets",W,V,F-q,C,N-Q],q=Q,V=C,F=N}else N=T.indexOf(")",F+1),W=T.slice(F,N+1),N===-1||$.test(W)?S=["(","(",V,F-q]:(S=["brackets",W,V,F-q,V,N-q],F=N);break;case u:S=[")",")",V,F-q];break;case s:case c:for(b=j,N=F,M=!1;N0?(C=V+J,Q=N-Y[J].length):(C=V,Q=q),S=["string",T.slice(F,N+1),V,F-q,C,N-Q],q=Q,V=C,F=N;break;case _:D.lastIndex=F+1,D.test(T),D.lastIndex===0?N=T.length-1:N=D.lastIndex-2,S=["at-word",T.slice(F,N+1),V,F-q,V,N-q],F=N;break;case o:for(N=F,X=!0;T.charCodeAt(N+1)===o;)N+=1,X=!X;if(j=T.charCodeAt(N+1),X&&j!==p&&j!==h&&j!==f&&j!==l&&j!==t&&j!==g&&(N+=1,G.test(T.charAt(N)))){for(;G.test(T.charAt(N+1));)N+=1;T.charCodeAt(N+1)===h&&(N+=1)}S=["word",T.slice(F,N+1),V,F-q,V,N-q],F=N;break;default:x=T.charCodeAt(F+1),j===k&&x===m?(N=F,re(),W=T.slice(F,N+1),Y=W.split(` -`),J=Y.length-1,J>0?(C=V+J,Q=N-Y[J].length):(C=V,Q=q),S=["word",W,V,F-q,C,N-Q],q=Q,V=C,F=N):j===p&&x===w?(N=T.indexOf("*/",F+2)+1,N===0&&(L?N=T.length:ue("comment")),W=T.slice(F,N+1),Y=W.split(` -`),J=Y.length-1,J>0?(C=V+J,Q=N-Y[J].length):(C=V,Q=q),S=["comment",W,V,F-q,C,N-Q],q=Q,V=C,F=N):j===p&&x===p?(Z.lastIndex=F+1,Z.test(T),Z.lastIndex===0?N=T.length-1:N=Z.lastIndex-2,W=T.slice(F,N+1),S=["comment",W,V,F-q,V,N-q,"inline"],F=N):(P.lastIndex=F+1,P.test(T),P.lastIndex===0?N=T.length-1:N=P.lastIndex-2,S=["word",T.slice(F,N+1),V,F-q,V,N-q],ee.push(S),F=N);break}return F++,S}}function oe(ie){te.push(ie)}return{back:oe,nextToken:ne,endOfFile:le}}}}),Cf=R({"node_modules/postcss-scss/lib/scss-parser.js"(r,n){"use strict";I();function s(g,l){g.prototype=Object.create(l.prototype),g.prototype.constructor=g,g.__proto__=l}var c=_r(),o=Nt(),p=If(),f=Rf(),h=function(g){s(l,g);function l(){return g.apply(this,arguments)||this}var t=l.prototype;return t.createTokenizer=function(){this.tokenizer=f(this.input)},t.rule=function(a){for(var i=!1,u=0,m="",w=a,v=Array.isArray(w),y=0,w=v?w:w[Symbol.iterator]();;){var d;if(v){if(y>=w.length)break;d=w[y++]}else{if(y=w.next(),y.done)break;d=y.value}var _=d;if(i)_[0]!=="comment"&&_[0]!=="{"&&(m+=_[1]);else{if(_[0]==="space"&&_[1].indexOf(` -`)!==-1)break;_[0]==="("?u+=1:_[0]===")"?u-=1:u===0&&_[0]===":"&&(i=!0)}}if(!i||m.trim()===""||/^[a-zA-Z-:#]/.test(m))g.prototype.rule.call(this,a);else{a.pop();var O=new p;this.init(O);var k=a[a.length-1];for(k[4]?O.source.end={line:k[4],column:k[5]}:O.source.end={line:k[2],column:k[3]};a[0][0]!=="word";)O.raws.before+=a.shift()[1];for(O.source.start={line:a[0][2],column:a[0][3]},O.prop="";a.length;){var D=a[0][0];if(D===":"||D==="space"||D==="comment")break;O.prop+=a.shift()[1]}O.raws.between="";for(var P;a.length;)if(P=a.shift(),P[0]===":"){O.raws.between+=P[1];break}else O.raws.between+=P[1];(O.prop[0]==="_"||O.prop[0]==="*")&&(O.raws.before+=O.prop[0],O.prop=O.prop.slice(1)),O.raws.between+=this.spacesAndCommentsFromStart(a),this.precheckMissedSemicolon(a);for(var $=a.length-1;$>0;$--){if(P=a[$],P[1]==="!important"){O.important=!0;var G=this.stringFrom(a,$);G=this.spacesFromEnd(a)+G,G!==" !important"&&(O.raws.important=G);break}else if(P[1]==="important"){for(var Z=a.slice(0),B="",H=$;H>0;H--){var U=Z[H][0];if(B.trim().indexOf("!")===0&&U!=="space")break;B=Z.pop()[1]+B}B.trim().indexOf("!")===0&&(O.important=!0,O.raws.important=B,a=Z)}if(P[0]!=="space"&&P[0]!=="comment")break}this.raw(O,"value",a),O.value.indexOf(":")!==-1&&this.checkMissedSemicolon(a),this.current=O}},t.comment=function(a){if(a[6]==="inline"){var i=new c;this.init(i,a[2],a[3]),i.raws.inline=!0,i.source.end={line:a[4],column:a[5]};var u=a[1].slice(2);if(/^\s*$/.test(u))i.text="",i.raws.left=u,i.raws.right="";else{var m=u.match(/^(\s*)([^]*[^\s])(\s*)$/),v=m[2].replace(/(\*\/|\/\*)/g,"*//*");i.text=v,i.raws.left=m[1],i.raws.right=m[3],i.raws.text=m[2]}}else g.prototype.comment.call(this,a)},t.raw=function(a,i,u){if(g.prototype.raw.call(this,a,i,u),a.raws[i]){var m=a.raws[i].raw;a.raws[i].raw=u.reduce(function(v,y){if(y[0]==="comment"&&y[6]==="inline"){var w=y[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*");return v+"/*"+w+"*/"}else return v+y[1]},""),m!==a.raws[i].raw&&(a.raws[i].scss=m)}},l}(o);n.exports=h}}),Nf=R({"node_modules/postcss-scss/lib/scss-parse.js"(r,n){"use strict";I();var s=yr(),c=Cf();n.exports=function(p,f){var h=new s(p,f),g=new c(h);return g.parse(),g.root}}}),jf=R({"node_modules/postcss-scss/lib/scss-syntax.js"(r,n){"use strict";I();var s=Pf(),c=Nf();n.exports={parse:c,stringify:s}}}),Mf=R({"src/language-css/parser-postcss.js"(r,n){I();var s=al(),c=Cs(),o=Ns(),{hasPragma:p}=gl(),{locStart:f,locEnd:h}=ds(),{calculateLoc:g,replaceQuotesInInlineComments:l}=ds(),t=bl(),e=xl(),a=Sl(),i=kl(),u=Ol(),m=Tl(),v=El(),y=ql(),w=b=>{for(;b.parent;)b=b.parent;return b};function d(b,Y){let{nodes:J}=b,W={open:null,close:null,groups:[],type:"paren_group"},X=[W],C=W,Q={groups:[],type:"comma_group"},M=[Q];for(let E=0;E0&&W.groups.push(Q),W.close=x,M.length===1)throw new Error("Unbalanced parenthesis");M.pop(),Q=c(M),Q.groups.push(W),X.pop(),W=c(X)}else x.type==="comma"?(W.groups.push(Q),Q={groups:[],type:"comma_group"},M[M.length-1]=Q):Q.groups.push(x)}return Q.groups.length>0&&W.groups.push(Q),C}function _(b){return b.type==="paren_group"&&!b.open&&!b.close&&b.groups.length===1||b.type==="comma_group"&&b.groups.length===1?_(b.groups[0]):b.type==="paren_group"||b.type==="comma_group"?Object.assign(Object.assign({},b),{},{groups:b.groups.map(_)}):b}function O(b,Y,J){if(b&&typeof b=="object"){delete b.parent;for(let W in b)O(b[W],Y,J),W==="type"&&typeof b[W]=="string"&&!b[W].startsWith(Y)&&(!J||!J.test(b[W]))&&(b[W]=Y+b[W])}return b}function k(b){if(b&&typeof b=="object"){delete b.parent;for(let Y in b)k(b[Y]);!Array.isArray(b)&&b.value&&!b.type&&(b.type="unknown")}return b}function D(b,Y){if(b&&typeof b=="object"){for(let J in b)J!=="parent"&&(D(b[J],Y),J==="nodes"&&(b.group=_(d(b,Y)),delete b[J]));delete b.parent}return b}function P(b,Y){let J=ef(),W=null;try{W=J(b,{loose:!0}).parse()}catch{return{type:"value-unknown",value:b}}W.text=b;let X=D(W,Y);return O(X,"value-",/^selector-/)}function $(b){if(/\/\/|\/\*/.test(b))return{type:"selector-unknown",value:b.trim()};let Y=of(),J=null;try{Y(W=>{J=W}).process(b)}catch{return{type:"selector-unknown",value:b}}return O(J,"selector-")}function G(b){let Y=uf().default,J=null;try{J=Y(b)}catch{return{type:"selector-unknown",value:b}}return O(k(J),"media-")}var Z=/(\s*)(!default).*$/,B=/(\s*)(!global).*$/;function H(b,Y){if(b&&typeof b=="object"){delete b.parent;for(let E in b)H(b[E],Y);if(!b.type)return b;b.raws||(b.raws={});let C="";if(typeof b.selector=="string"){var J;C=b.raws.selector?(J=b.raws.selector.scss)!==null&&J!==void 0?J:b.raws.selector.raw:b.selector,b.raws.between&&b.raws.between.trim().length>0&&(C+=b.raws.between),b.raws.selector=C}let Q="";if(typeof b.value=="string"){var W;Q=b.raws.value?(W=b.raws.value.scss)!==null&&W!==void 0?W:b.raws.value.raw:b.value,Q=Q.trim(),b.raws.value=Q}let M="";if(typeof b.params=="string"){var X;M=b.raws.params?(X=b.raws.params.scss)!==null&&X!==void 0?X:b.raws.params.raw:b.params,b.raws.afterName&&b.raws.afterName.trim().length>0&&(M=b.raws.afterName+M),b.raws.between&&b.raws.between.trim().length>0&&(M=M+b.raws.between),M=M.trim(),b.raws.params=M}if(C.trim().length>0)return C.startsWith("@")&&C.endsWith(":")?b:b.mixin?(b.selector=P(C,Y),b):(u(b)&&(b.isSCSSNesterProperty=!0),b.selector=$(C),b);if(Q.length>0){let E=Q.match(Z);E&&(Q=Q.slice(0,E.index),b.scssDefault=!0,E[0].trim()!=="!default"&&(b.raws.scssDefault=E[0]));let x=Q.match(B);if(x&&(Q=Q.slice(0,x.index),b.scssGlobal=!0,x[0].trim()!=="!global"&&(b.raws.scssGlobal=x[0])),Q.startsWith("progid:"))return{type:"value-unknown",value:Q};b.value=P(Q,Y)}if(a(Y)&&b.type==="css-decl"&&Q.startsWith("extend(")&&(b.extend||(b.extend=b.raws.between===":"),b.extend&&!b.selector&&(delete b.value,b.selector=$(Q.slice(7,-1)))),b.type==="css-atrule"){if(a(Y)){if(b.mixin){let E=b.raws.identifier+b.name+b.raws.afterName+b.raws.params;return b.selector=$(E),delete b.params,b}if(b.function)return b}if(Y.parser==="css"&&b.name==="custom-selector"){let E=b.params.match(/:--\S+\s+/)[0].trim();return b.customSelector=E,b.selector=$(b.params.slice(E.length).trim()),delete b.params,b}if(a(Y)){if(b.name.includes(":")&&!b.params){b.variable=!0;let E=b.name.split(":");b.name=E[0],b.value=P(E.slice(1).join(":"),Y)}if(!["page","nest","keyframes"].includes(b.name)&&b.params&&b.params[0]===":"){b.variable=!0;let E=b.params.slice(1);E&&(b.value=P(E,Y)),b.raws.afterName+=":"}if(b.variable)return delete b.params,b.value||delete b.value,b}}if(b.type==="css-atrule"&&M.length>0){let{name:E}=b,x=b.name.toLowerCase();return E==="warn"||E==="error"?(b.params={type:"media-unknown",value:M},b):E==="extend"||E==="nest"?(b.selector=$(M),delete b.params,b):E==="at-root"?(/^\(\s*(?:without|with)\s*:.+\)$/s.test(M)?b.params=P(M,Y):(b.selector=$(M),delete b.params),b):y(x)?(b.import=!0,delete b.filename,b.params=P(M,Y),b):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(E)?(M=M.replace(/(\$\S+?)(\s+)?\.{3}/,"$1...$2"),M=M.replace(/^(?!if)(\S+)(\s+)\(/,"$1($2"),b.value=P(M,Y),delete b.params,b):["media","custom-media"].includes(x)?M.includes("#{")?{type:"media-unknown",value:M}:(b.params=G(M),b):(b.params=M,b)}}return b}function U(b,Y,J){let W=o(Y),{frontMatter:X}=W;Y=W.content;let C;try{C=b(Y)}catch(Q){let{name:M,reason:E,line:x,column:S}=Q;throw typeof x!="number"?Q:s(`${M}: ${E}`,{start:{line:x,column:S}})}return C=H(O(C,"css-"),J),g(C,Y),X&&(X.source={startOffset:0,endOffset:X.raw.length},C.nodes.unshift(X)),C}function T(b,Y){let J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},X=i(J.parser,b)?[j,L]:[L,j],C;for(let Q of X)try{return Q(b,Y,J)}catch(M){C=C||M}if(C)throw C}function L(b,Y){let J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},W=qf();return U(X=>W.parse(l(X)),b,J)}function j(b,Y){let J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:W}=jf();return U(W,b,J)}var N={astFormat:"postcss",hasPragma:p,locStart:f,locEnd:h};n.exports={parsers:{css:Object.assign(Object.assign({},N),{},{parse:T}),less:Object.assign(Object.assign({},N),{},{parse:L}),scss:Object.assign(Object.assign({},N),{},{parse:j})}}}}),sh=Mf();export{sh as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-typescript.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-typescript.mjs deleted file mode 100644 index df99b30469..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-typescript.mjs +++ /dev/null @@ -1,49 +0,0 @@ -var ht=(a,_)=>()=>(_||a((_={exports:{}}).exports,_),_.exports);var Mi=ht((tH,J7)=>{var Yh=function(a){return a&&a.Math==Math&&a};J7.exports=Yh(typeof globalThis=="object"&&globalThis)||Yh(typeof window=="object"&&window)||Yh(typeof self=="object"&&self)||Yh(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Ha=ht((rH,F7)=>{F7.exports=function(a){try{return!!a()}catch{return!0}}});var As=ht((nH,B7)=>{var YB=Ha();B7.exports=!YB(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var p6=ht((iH,q7)=>{var QB=Ha();q7.exports=!QB(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var Zh=ht((aH,U7)=>{var ZB=p6(),Qh=Function.prototype.call;U7.exports=ZB?Qh.bind(Qh):function(){return Qh.apply(Qh,arguments)}});var H7=ht(V7=>{"use strict";var z7={}.propertyIsEnumerable,W7=Object.getOwnPropertyDescriptor,eq=W7&&!z7.call({1:2},1);V7.f=eq?function(_){var v=W7(this,_);return!!v&&v.enumerable}:z7});var f6=ht((oH,G7)=>{G7.exports=function(a,_){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:_}}});var Ps=ht((_H,X7)=>{var $7=p6(),K7=Function.prototype,d6=K7.call,tq=$7&&K7.bind.bind(d6,d6);X7.exports=$7?tq:function(a){return function(){return d6.apply(a,arguments)}}});var Z7=ht((cH,Q7)=>{var Y7=Ps(),rq=Y7({}.toString),nq=Y7("".slice);Q7.exports=function(a){return nq(rq(a),8,-1)}});var tw=ht((lH,ew)=>{var iq=Ps(),aq=Ha(),sq=Z7(),m6=Object,oq=iq("".split);ew.exports=aq(function(){return!m6("z").propertyIsEnumerable(0)})?function(a){return sq(a)=="String"?oq(a,""):m6(a)}:m6});var h6=ht((uH,rw)=>{rw.exports=function(a){return a==null}});var g6=ht((pH,nw)=>{var _q=h6(),cq=TypeError;nw.exports=function(a){if(_q(a))throw cq("Can't call method on "+a);return a}});var e1=ht((fH,iw)=>{var lq=tw(),uq=g6();iw.exports=function(a){return lq(uq(a))}});var v6=ht((dH,aw)=>{var y6=typeof document=="object"&&document.all,pq=typeof y6>"u"&&y6!==void 0;aw.exports={all:y6,IS_HTMLDDA:pq}});var aa=ht((mH,ow)=>{var sw=v6(),fq=sw.all;ow.exports=sw.IS_HTMLDDA?function(a){return typeof a=="function"||a===fq}:function(a){return typeof a=="function"}});var Jc=ht((hH,lw)=>{var _w=aa(),cw=v6(),dq=cw.all;lw.exports=cw.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:_w(a)||a===dq}:function(a){return typeof a=="object"?a!==null:_w(a)}});var t1=ht((gH,uw)=>{var b6=Mi(),mq=aa(),hq=function(a){return mq(a)?a:void 0};uw.exports=function(a,_){return arguments.length<2?hq(b6[a]):b6[a]&&b6[a][_]}});var fw=ht((yH,pw)=>{var gq=Ps();pw.exports=gq({}.isPrototypeOf)});var mw=ht((vH,dw)=>{var yq=t1();dw.exports=yq("navigator","userAgent")||""});var Sw=ht((bH,Tw)=>{var bw=Mi(),T6=mw(),hw=bw.process,gw=bw.Deno,yw=hw&&hw.versions||gw&&gw.version,vw=yw&&yw.v8,sa,r1;vw&&(sa=vw.split("."),r1=sa[0]>0&&sa[0]<4?1:+(sa[0]+sa[1]));!r1&&T6&&(sa=T6.match(/Edge\/(\d+)/),(!sa||sa[1]>=74)&&(sa=T6.match(/Chrome\/(\d+)/),sa&&(r1=+sa[1])));Tw.exports=r1});var S6=ht((TH,Ew)=>{var xw=Sw(),vq=Ha();Ew.exports=!!Object.getOwnPropertySymbols&&!vq(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&xw&&xw<41})});var x6=ht((SH,ww)=>{var bq=S6();ww.exports=bq&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var E6=ht((xH,Cw)=>{var Tq=t1(),Sq=aa(),xq=fw(),Eq=x6(),wq=Object;Cw.exports=Eq?function(a){return typeof a=="symbol"}:function(a){var _=Tq("Symbol");return Sq(_)&&xq(_.prototype,wq(a))}});var Pw=ht((EH,Aw)=>{var Cq=String;Aw.exports=function(a){try{return Cq(a)}catch{return"Object"}}});var kw=ht((wH,Dw)=>{var Aq=aa(),Pq=Pw(),Dq=TypeError;Dw.exports=function(a){if(Aq(a))return a;throw Dq(Pq(a)+" is not a function")}});var Nw=ht((CH,Iw)=>{var kq=kw(),Iq=h6();Iw.exports=function(a,_){var v=a[_];return Iq(v)?void 0:kq(v)}});var Mw=ht((AH,Ow)=>{var w6=Zh(),C6=aa(),A6=Jc(),Nq=TypeError;Ow.exports=function(a,_){var v,h;if(_==="string"&&C6(v=a.toString)&&!A6(h=w6(v,a))||C6(v=a.valueOf)&&!A6(h=w6(v,a))||_!=="string"&&C6(v=a.toString)&&!A6(h=w6(v,a)))return h;throw Nq("Can't convert object to primitive value")}});var Rw=ht((PH,Lw)=>{Lw.exports=!1});var n1=ht((DH,Jw)=>{var jw=Mi(),Oq=Object.defineProperty;Jw.exports=function(a,_){try{Oq(jw,a,{value:_,configurable:!0,writable:!0})}catch{jw[a]=_}return _}});var i1=ht((kH,Bw)=>{var Mq=Mi(),Lq=n1(),Fw="__core-js_shared__",Rq=Mq[Fw]||Lq(Fw,{});Bw.exports=Rq});var P6=ht((IH,Uw)=>{var jq=Rw(),qw=i1();(Uw.exports=function(a,_){return qw[a]||(qw[a]=_!==void 0?_:{})})("versions",[]).push({version:"3.26.1",mode:jq?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ww=ht((NH,zw)=>{var Jq=g6(),Fq=Object;zw.exports=function(a){return Fq(Jq(a))}});var oo=ht((OH,Vw)=>{var Bq=Ps(),qq=Ww(),Uq=Bq({}.hasOwnProperty);Vw.exports=Object.hasOwn||function(_,v){return Uq(qq(_),v)}});var D6=ht((MH,Hw)=>{var zq=Ps(),Wq=0,Vq=Math.random(),Hq=zq(1 .toString);Hw.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Hq(++Wq+Vq,36)}});var Qw=ht((LH,Yw)=>{var Gq=Mi(),$q=P6(),Gw=oo(),Kq=D6(),$w=S6(),Xw=x6(),Fc=$q("wks"),p_=Gq.Symbol,Kw=p_&&p_.for,Xq=Xw?p_:p_&&p_.withoutSetter||Kq;Yw.exports=function(a){if(!Gw(Fc,a)||!($w||typeof Fc[a]=="string")){var _="Symbol."+a;$w&&Gw(p_,a)?Fc[a]=p_[a]:Xw&&Kw?Fc[a]=Kw(_):Fc[a]=Xq(_)}return Fc[a]}});var rC=ht((RH,tC)=>{var Yq=Zh(),Zw=Jc(),eC=E6(),Qq=Nw(),Zq=Mw(),eU=Qw(),tU=TypeError,rU=eU("toPrimitive");tC.exports=function(a,_){if(!Zw(a)||eC(a))return a;var v=Qq(a,rU),h;if(v){if(_===void 0&&(_="default"),h=Yq(v,a,_),!Zw(h)||eC(h))return h;throw tU("Can't convert object to primitive value")}return _===void 0&&(_="number"),Zq(a,_)}});var k6=ht((jH,nC)=>{var nU=rC(),iU=E6();nC.exports=function(a){var _=nU(a,"string");return iU(_)?_:_+""}});var sC=ht((JH,aC)=>{var aU=Mi(),iC=Jc(),I6=aU.document,sU=iC(I6)&&iC(I6.createElement);aC.exports=function(a){return sU?I6.createElement(a):{}}});var N6=ht((FH,oC)=>{var oU=As(),_U=Ha(),cU=sC();oC.exports=!oU&&!_U(function(){return Object.defineProperty(cU("div"),"a",{get:function(){return 7}}).a!=7})});var O6=ht(cC=>{var lU=As(),uU=Zh(),pU=H7(),fU=f6(),dU=e1(),mU=k6(),hU=oo(),gU=N6(),_C=Object.getOwnPropertyDescriptor;cC.f=lU?_C:function(_,v){if(_=dU(_),v=mU(v),gU)try{return _C(_,v)}catch{}if(hU(_,v))return fU(!uU(pU.f,_,v),_[v])}});var uC=ht((qH,lC)=>{var yU=As(),vU=Ha();lC.exports=yU&&vU(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var a1=ht((UH,pC)=>{var bU=Jc(),TU=String,SU=TypeError;pC.exports=function(a){if(bU(a))return a;throw SU(TU(a)+" is not an object")}});var dp=ht(dC=>{var xU=As(),EU=N6(),wU=uC(),s1=a1(),fC=k6(),CU=TypeError,M6=Object.defineProperty,AU=Object.getOwnPropertyDescriptor,L6="enumerable",R6="configurable",j6="writable";dC.f=xU?wU?function(_,v,h){if(s1(_),v=fC(v),s1(h),typeof _=="function"&&v==="prototype"&&"value"in h&&j6 in h&&!h[j6]){var D=AU(_,v);D&&D[j6]&&(_[v]=h.value,h={configurable:R6 in h?h[R6]:D[R6],enumerable:L6 in h?h[L6]:D[L6],writable:!1})}return M6(_,v,h)}:M6:function(_,v,h){if(s1(_),v=fC(v),s1(h),EU)try{return M6(_,v,h)}catch{}if("get"in h||"set"in h)throw CU("Accessors not supported");return"value"in h&&(_[v]=h.value),_}});var J6=ht((WH,mC)=>{var PU=As(),DU=dp(),kU=f6();mC.exports=PU?function(a,_,v){return DU.f(a,_,kU(1,v))}:function(a,_,v){return a[_]=v,a}});var yC=ht((VH,gC)=>{var F6=As(),IU=oo(),hC=Function.prototype,NU=F6&&Object.getOwnPropertyDescriptor,B6=IU(hC,"name"),OU=B6&&function(){}.name==="something",MU=B6&&(!F6||F6&&NU(hC,"name").configurable);gC.exports={EXISTS:B6,PROPER:OU,CONFIGURABLE:MU}});var bC=ht((HH,vC)=>{var LU=Ps(),RU=aa(),q6=i1(),jU=LU(Function.toString);RU(q6.inspectSource)||(q6.inspectSource=function(a){return jU(a)});vC.exports=q6.inspectSource});var xC=ht((GH,SC)=>{var JU=Mi(),FU=aa(),TC=JU.WeakMap;SC.exports=FU(TC)&&/native code/.test(String(TC))});var CC=ht(($H,wC)=>{var BU=P6(),qU=D6(),EC=BU("keys");wC.exports=function(a){return EC[a]||(EC[a]=qU(a))}});var U6=ht((KH,AC)=>{AC.exports={}});var IC=ht((XH,kC)=>{var UU=xC(),DC=Mi(),zU=Jc(),WU=J6(),z6=oo(),W6=i1(),VU=CC(),HU=U6(),PC="Object already initialized",V6=DC.TypeError,GU=DC.WeakMap,o1,mp,_1,$U=function(a){return _1(a)?mp(a):o1(a,{})},KU=function(a){return function(_){var v;if(!zU(_)||(v=mp(_)).type!==a)throw V6("Incompatible receiver, "+a+" required");return v}};UU||W6.state?(oa=W6.state||(W6.state=new GU),oa.get=oa.get,oa.has=oa.has,oa.set=oa.set,o1=function(a,_){if(oa.has(a))throw V6(PC);return _.facade=a,oa.set(a,_),_},mp=function(a){return oa.get(a)||{}},_1=function(a){return oa.has(a)}):(f_=VU("state"),HU[f_]=!0,o1=function(a,_){if(z6(a,f_))throw V6(PC);return _.facade=a,WU(a,f_,_),_},mp=function(a){return z6(a,f_)?a[f_]:{}},_1=function(a){return z6(a,f_)});var oa,f_;kC.exports={set:o1,get:mp,has:_1,enforce:$U,getterFor:KU}});var G6=ht((YH,OC)=>{var XU=Ha(),YU=aa(),c1=oo(),H6=As(),QU=yC().CONFIGURABLE,ZU=bC(),NC=IC(),ez=NC.enforce,tz=NC.get,l1=Object.defineProperty,rz=H6&&!XU(function(){return l1(function(){},"length",{value:8}).length!==8}),nz=String(String).split("String"),iz=OC.exports=function(a,_,v){String(_).slice(0,7)==="Symbol("&&(_="["+String(_).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),v&&v.getter&&(_="get "+_),v&&v.setter&&(_="set "+_),(!c1(a,"name")||QU&&a.name!==_)&&(H6?l1(a,"name",{value:_,configurable:!0}):a.name=_),rz&&v&&c1(v,"arity")&&a.length!==v.arity&&l1(a,"length",{value:v.arity});try{v&&c1(v,"constructor")&&v.constructor?H6&&l1(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var h=ez(a);return c1(h,"source")||(h.source=nz.join(typeof _=="string"?_:"")),a};Function.prototype.toString=iz(function(){return YU(this)&&tz(this).source||ZU(this)},"toString")});var LC=ht((QH,MC)=>{var az=aa(),sz=dp(),oz=G6(),_z=n1();MC.exports=function(a,_,v,h){h||(h={});var D=h.enumerable,P=h.name!==void 0?h.name:_;if(az(v)&&oz(v,P,h),h.global)D?a[_]=v:_z(_,v);else{try{h.unsafe?a[_]&&(D=!0):delete a[_]}catch{}D?a[_]=v:sz.f(a,_,{value:v,enumerable:!1,configurable:!h.nonConfigurable,writable:!h.nonWritable})}return a}});var jC=ht((ZH,RC)=>{var cz=Math.ceil,lz=Math.floor;RC.exports=Math.trunc||function(_){var v=+_;return(v>0?lz:cz)(v)}});var $6=ht((eG,JC)=>{var uz=jC();JC.exports=function(a){var _=+a;return _!==_||_===0?0:uz(_)}});var BC=ht((tG,FC)=>{var pz=$6(),fz=Math.max,dz=Math.min;FC.exports=function(a,_){var v=pz(a);return v<0?fz(v+_,0):dz(v,_)}});var UC=ht((rG,qC)=>{var mz=$6(),hz=Math.min;qC.exports=function(a){return a>0?hz(mz(a),9007199254740991):0}});var WC=ht((nG,zC)=>{var gz=UC();zC.exports=function(a){return gz(a.length)}});var GC=ht((iG,HC)=>{var yz=e1(),vz=BC(),bz=WC(),VC=function(a){return function(_,v,h){var D=yz(_),P=bz(D),y=vz(h,P),m;if(a&&v!=v){for(;P>y;)if(m=D[y++],m!=m)return!0}else for(;P>y;y++)if((a||y in D)&&D[y]===v)return a||y||0;return!a&&-1}};HC.exports={includes:VC(!0),indexOf:VC(!1)}});var XC=ht((aG,KC)=>{var Tz=Ps(),K6=oo(),Sz=e1(),xz=GC().indexOf,Ez=U6(),$C=Tz([].push);KC.exports=function(a,_){var v=Sz(a),h=0,D=[],P;for(P in v)!K6(Ez,P)&&K6(v,P)&&$C(D,P);for(;_.length>h;)K6(v,P=_[h++])&&(~xz(D,P)||$C(D,P));return D}});var QC=ht((sG,YC)=>{YC.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var e9=ht(ZC=>{var wz=XC(),Cz=QC(),Az=Cz.concat("length","prototype");ZC.f=Object.getOwnPropertyNames||function(_){return wz(_,Az)}});var r9=ht(t9=>{t9.f=Object.getOwnPropertySymbols});var i9=ht((cG,n9)=>{var Pz=t1(),Dz=Ps(),kz=e9(),Iz=r9(),Nz=a1(),Oz=Dz([].concat);n9.exports=Pz("Reflect","ownKeys")||function(_){var v=kz.f(Nz(_)),h=Iz.f;return h?Oz(v,h(_)):v}});var o9=ht((lG,s9)=>{var a9=oo(),Mz=i9(),Lz=O6(),Rz=dp();s9.exports=function(a,_,v){for(var h=Mz(_),D=Rz.f,P=Lz.f,y=0;y{var jz=Ha(),Jz=aa(),Fz=/#|\.prototype\./,hp=function(a,_){var v=qz[Bz(a)];return v==zz?!0:v==Uz?!1:Jz(_)?jz(_):!!_},Bz=hp.normalize=function(a){return String(a).replace(Fz,".").toLowerCase()},qz=hp.data={},Uz=hp.NATIVE="N",zz=hp.POLYFILL="P";_9.exports=hp});var u9=ht((pG,l9)=>{var X6=Mi(),Wz=O6().f,Vz=J6(),Hz=LC(),Gz=n1(),$z=o9(),Kz=c9();l9.exports=function(a,_){var v=a.target,h=a.global,D=a.stat,P,y,m,C,d,E;if(h?y=X6:D?y=X6[v]||Gz(v,{}):y=(X6[v]||{}).prototype,y)for(m in _){if(d=_[m],a.dontCallGetSet?(E=Wz(y,m),C=E&&E.value):C=y[m],P=Kz(h?m:v+(D?".":"#")+m,a.forced),!P&&C!==void 0){if(typeof d==typeof C)continue;$z(d,C)}(a.sham||C&&C.sham)&&Vz(d,"sham",!0),Hz(y,m,d,a)}}});var p9=ht(()=>{var Xz=u9(),Y6=Mi();Xz({global:!0,forced:Y6.globalThis!==Y6},{globalThis:Y6})});var m9=ht((mG,d9)=>{var f9=G6(),Yz=dp();d9.exports=function(a,_,v){return v.get&&f9(v.get,_,{getter:!0}),v.set&&f9(v.set,_,{setter:!0}),Yz.f(a,_,v)}});var g9=ht((hG,h9)=>{"use strict";var Qz=a1();h9.exports=function(){var a=Qz(this),_="";return a.hasIndices&&(_+="d"),a.global&&(_+="g"),a.ignoreCase&&(_+="i"),a.multiline&&(_+="m"),a.dotAll&&(_+="s"),a.unicode&&(_+="u"),a.unicodeSets&&(_+="v"),a.sticky&&(_+="y"),_}});p9();var Zz=Mi(),eW=As(),tW=m9(),rW=g9(),nW=Ha(),y9=Zz.RegExp,v9=y9.prototype,iW=eW&&nW(function(){var a=!0;try{y9(".","d")}catch{a=!1}var _={},v="",h=a?"dgimsy":"gimsy",D=function(C,d){Object.defineProperty(_,C,{get:function(){return v+=d,!0}})},P={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(P.hasIndices="d");for(var y in P)D(y,P[y]);var m=Object.getOwnPropertyDescriptor(v9,"flags").get.call(_);return m!==h||v!==h});iW&&tW(v9,"flags",{configurable:!0,get:rW});var iT=Object.defineProperty,aW=Object.getOwnPropertyDescriptor,aT=Object.getOwnPropertyNames,sW=Object.prototype.hasOwnProperty,yp=(a,_)=>function(){return a&&(_=(0,a[aT(a)[0]])(a=0)),_},Ne=(a,_)=>function(){return _||(0,a[aT(a)[0]])((_={exports:{}}).exports,_),_.exports},m1=(a,_)=>{for(var v in _)iT(a,v,{get:_[v],enumerable:!0})},oW=(a,_,v,h)=>{if(_&&typeof _=="object"||typeof _=="function")for(let D of aT(_))!sW.call(a,D)&&D!==v&&iT(a,D,{get:()=>_[D],enumerable:!(h=aW(_,D))||h.enumerable});return a},Li=a=>oW(iT({},"__esModule",{value:!0}),a),cn,ke=yp({""(){cn={env:{},argv:[]}}}),S9=Ne({"src/common/parser-create-error.js"(a,_){"use strict";ke();function v(h,D){let P=new SyntaxError(h+" ("+D.start.line+":"+D.start.column+")");return P.loc=D,P}_.exports=v}}),_W=Ne({"src/utils/try-combinations.js"(a,_){"use strict";ke();function v(){let h;for(var D=arguments.length,P=new Array(D),y=0;yeT,arch:()=>cW,cpus:()=>k9,default:()=>L9,endianness:()=>E9,freemem:()=>P9,getNetworkInterfaces:()=>M9,hostname:()=>w9,loadavg:()=>C9,networkInterfaces:()=>O9,platform:()=>lW,release:()=>N9,tmpDir:()=>Q6,tmpdir:()=>Z6,totalmem:()=>D9,type:()=>I9,uptime:()=>A9});function E9(){if(typeof u1>"u"){var a=new ArrayBuffer(2),_=new Uint8Array(a),v=new Uint16Array(a);if(_[0]=1,_[1]=2,v[0]===258)u1="BE";else if(v[0]===513)u1="LE";else throw new Error("unable to figure out endianess")}return u1}function w9(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function C9(){return[]}function A9(){return 0}function P9(){return Number.MAX_VALUE}function D9(){return Number.MAX_VALUE}function k9(){return[]}function I9(){return"Browser"}function N9(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function O9(){}function M9(){}function cW(){return"javascript"}function lW(){return"browser"}function Q6(){return"/tmp"}var u1,Z6,eT,L9,uW=yp({"node-modules-polyfills:os"(){ke(),Z6=Q6,eT=` -`,L9={EOL:eT,tmpdir:Z6,tmpDir:Q6,networkInterfaces:O9,getNetworkInterfaces:M9,release:N9,type:I9,cpus:k9,totalmem:D9,freemem:P9,uptime:A9,loadavg:C9,hostname:w9,endianness:E9}}}),pW=Ne({"node-modules-polyfills-commonjs:os"(a,_){ke();var v=(uW(),Li(x9));if(v&&v.default){_.exports=v.default;for(let h in v)_.exports[h]=v[h]}else v&&(_.exports=v)}}),fW=Ne({"node_modules/detect-newline/index.js"(a,_){"use strict";ke();var v=h=>{if(typeof h!="string")throw new TypeError("Expected a string");let D=h.match(/(?:\r?\n)/g)||[];if(D.length===0)return;let P=D.filter(m=>m===`\r -`).length,y=D.length-P;return P>y?`\r -`:` -`};_.exports=v,_.exports.graceful=h=>typeof h=="string"&&v(h)||` -`}}),dW=Ne({"node_modules/jest-docblock/build/index.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=M,a.parse=W,a.parseWithComments=K,a.print=ce,a.strip=q;function _(){let me=pW();return _=function(){return me},me}function v(){let me=h(fW());return v=function(){return me},me}function h(me){return me&&me.__esModule?me:{default:me}}var D=/\*\/$/,P=/^\/\*\*?/,y=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,m=/(^|\s+)\/\/([^\r\n]*)/g,C=/^(\r?\n)+/,d=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,E=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,I=/(\r?\n|^) *\* ?/g,c=[];function M(me){let Pe=me.match(y);return Pe?Pe[0].trimLeft():""}function q(me){let Pe=me.match(y);return Pe&&Pe[0]?me.substring(Pe[0].length):me}function W(me){return K(me).pragmas}function K(me){let Pe=(0,v().default)(me)||_().EOL;me=me.replace(P,"").replace(D,"").replace(I,"$1");let te="";for(;te!==me;)te=me,me=me.replace(d,`${Pe}$1 $2${Pe}`);me=me.replace(C,"").trimRight();let he=Object.create(null),De=me.replace(E,"").replace(C,"").trimRight(),R;for(;R=E.exec(me);){let pe=R[2].replace(m,"");typeof he[R[1]]=="string"||Array.isArray(he[R[1]])?he[R[1]]=c.concat(he[R[1]],pe):he[R[1]]=pe}return{comments:De,pragmas:he}}function ce(me){let{comments:Pe="",pragmas:te={}}=me,he=(0,v().default)(Pe)||_().EOL,De="/**",R=" *",pe=" */",Ie=Object.keys(te),Je=Ie.map(ee=>Ce(ee,te[ee])).reduce((ee,je)=>ee.concat(je),[]).map(ee=>`${R} ${ee}${he}`).join("");if(!Pe){if(Ie.length===0)return"";if(Ie.length===1&&!Array.isArray(te[Ie[0]])){let ee=te[Ie[0]];return`${De} ${Ce(Ie[0],ee)[0]}${pe}`}}let Xe=Pe.split(he).map(ee=>`${R} ${ee}`).join(he)+he;return De+he+(Pe?Xe:"")+(Pe&&Ie.length?R+he:"")+Je+pe}function Ce(me,Pe){return c.concat(Pe).map(te=>`@${me} ${te}`.trim())}}}),mW=Ne({"src/common/end-of-line.js"(a,_){"use strict";ke();function v(y){let m=y.indexOf("\r");return m>=0?y.charAt(m+1)===` -`?"crlf":"cr":"lf"}function h(y){switch(y){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function D(y,m){let C;switch(m){case` -`:C=/\n/g;break;case"\r":C=/\r/g;break;case`\r -`:C=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(m)}.`)}let d=y.match(C);return d?d.length:0}function P(y){return y.replace(/\r\n?/g,` -`)}_.exports={guessEndOfLine:v,convertEndOfLineToChars:h,countEndOfLineChars:D,normalizeEndOfLine:P}}}),hW=Ne({"src/language-js/utils/get-shebang.js"(a,_){"use strict";ke();function v(h){if(!h.startsWith("#!"))return"";let D=h.indexOf(` -`);return D===-1?h:h.slice(0,D)}_.exports=v}}),gW=Ne({"src/language-js/pragma.js"(a,_){"use strict";ke();var{parseWithComments:v,strip:h,extract:D,print:P}=dW(),{normalizeEndOfLine:y}=mW(),m=hW();function C(I){let c=m(I);c&&(I=I.slice(c.length+1));let M=D(I),{pragmas:q,comments:W}=v(M);return{shebang:c,text:I,pragmas:q,comments:W}}function d(I){let c=Object.keys(C(I).pragmas);return c.includes("prettier")||c.includes("format")}function E(I){let{shebang:c,text:M,pragmas:q,comments:W}=C(I),K=h(M),ce=P({pragmas:Object.assign({format:""},q),comments:W.trimStart()});return(c?`${c} -`:"")+y(ce)+(K.startsWith(` -`)?` -`:` - -`)+K}_.exports={hasPragma:d,insertPragma:E}}}),R9=Ne({"src/utils/is-non-empty-array.js"(a,_){"use strict";ke();function v(h){return Array.isArray(h)&&h.length>0}_.exports=v}}),j9=Ne({"src/language-js/loc.js"(a,_){"use strict";ke();var v=R9();function h(C){var d,E;let I=C.range?C.range[0]:C.start,c=(d=(E=C.declaration)===null||E===void 0?void 0:E.decorators)!==null&&d!==void 0?d:C.decorators;return v(c)?Math.min(h(c[0]),I):I}function D(C){return C.range?C.range[1]:C.end}function P(C,d){let E=h(C);return Number.isInteger(E)&&E===h(d)}function y(C,d){let E=D(C);return Number.isInteger(E)&&E===D(d)}function m(C,d){return P(C,d)&&y(C,d)}_.exports={locStart:h,locEnd:D,hasSameLocStart:P,hasSameLoc:m}}}),yW=Ne({"src/language-js/parse/utils/create-parser.js"(a,_){"use strict";ke();var{hasPragma:v}=gW(),{locStart:h,locEnd:D}=j9();function P(y){return y=typeof y=="function"?{parse:y}:y,Object.assign({astFormat:"estree",hasPragma:v,locStart:h,locEnd:D},y)}_.exports=P}}),vW=Ne({"src/language-js/parse/utils/replace-hashbang.js"(a,_){"use strict";ke();function v(h){return h.charAt(0)==="#"&&h.charAt(1)==="!"?"//"+h.slice(2):h}_.exports=v}}),bW=Ne({"src/language-js/utils/is-ts-keyword-type.js"(a,_){"use strict";ke();function v(h){let{type:D}=h;return D.startsWith("TS")&&D.endsWith("Keyword")}_.exports=v}}),TW=Ne({"src/language-js/utils/is-block-comment.js"(a,_){"use strict";ke();var v=new Set(["Block","CommentBlock","MultiLine"]),h=D=>v.has(D==null?void 0:D.type);_.exports=h}}),SW=Ne({"src/language-js/utils/is-type-cast-comment.js"(a,_){"use strict";ke();var v=TW();function h(D){return v(D)&&D.value[0]==="*"&&/@(?:type|satisfies)\b/.test(D.value)}_.exports=h}}),xW=Ne({"src/utils/get-last.js"(a,_){"use strict";ke();var v=h=>h[h.length-1];_.exports=v}}),J9=Ne({"src/language-js/parse/postprocess/visit-node.js"(a,_){"use strict";ke();function v(h,D){if(Array.isArray(h)){for(let P=0;P{ce.leadingComments&&ce.leadingComments.some(P)&&K.add(v(ce))}),M=m(M,ce=>{if(ce.type==="ParenthesizedExpression"){let{expression:Ce}=ce;if(Ce.type==="TypeCastExpression")return Ce.range=ce.range,Ce;let me=v(ce);if(!K.has(me))return Ce.extra=Object.assign(Object.assign({},Ce.extra),{},{parenthesized:!0}),Ce}})}return M=m(M,K=>{switch(K.type){case"ChainExpression":return E(K.expression);case"LogicalExpression":{if(I(K))return c(K);break}case"VariableDeclaration":{let ce=y(K.declarations);ce&&ce.init&&W(K,ce);break}case"TSParenthesizedType":return D(K.typeAnnotation)||K.typeAnnotation.type==="TSThisType"||(K.typeAnnotation.range=[v(K),h(K)]),K.typeAnnotation;case"TSTypeParameter":if(typeof K.name=="string"){let ce=v(K);K.name={type:"Identifier",name:K.name,range:[ce,ce+K.name.length]}}break;case"ObjectExpression":if(q.parser==="typescript"){let ce=K.properties.find(Ce=>Ce.type==="Property"&&Ce.value.type==="TSEmptyBodyFunctionExpression");ce&&C(ce.value,"Unexpected token.")}break;case"SequenceExpression":{let ce=y(K.expressions);K.range=[v(K),Math.min(h(ce),h(K))];break}case"TopicReference":q.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:ce}=K;if(q.parser==="meriyah"&&ce&&ce.type==="Identifier"){let Ce=q.originalText.slice(v(ce),h(ce));(Ce.startsWith('"')||Ce.startsWith("'"))&&(K.exported=Object.assign(Object.assign({},K.exported),{},{type:"Literal",value:K.exported.name,raw:Ce}))}break}case"PropertyDefinition":if(q.parser==="meriyah"&&K.static&&!K.computed&&!K.key){let ce="static",Ce=v(K);Object.assign(K,{static:!1,key:{type:"Identifier",name:ce,range:[Ce,Ce+ce.length]}})}break}}),M;function W(K,ce){q.originalText[h(ce)]!==";"&&(K.range=[v(K),h(ce)])}}function E(M){switch(M.type){case"CallExpression":M.type="OptionalCallExpression",M.callee=E(M.callee);break;case"MemberExpression":M.type="OptionalMemberExpression",M.object=E(M.object);break;case"TSNonNullExpression":M.expression=E(M.expression);break}return M}function I(M){return M.type==="LogicalExpression"&&M.right.type==="LogicalExpression"&&M.operator===M.right.operator}function c(M){return I(M)?c({type:"LogicalExpression",operator:M.operator,left:c({type:"LogicalExpression",operator:M.operator,left:M.left,right:M.right.left,range:[v(M.left),h(M.right.left)]}),right:M.right.right,range:[v(M),h(M)]}):M}_.exports=d}}),vr=Ne({"node_modules/typescript/lib/typescript.js"(a,_){ke();var v=Object.defineProperty,h=Object.getOwnPropertyNames,D=(e,t)=>function(){return e&&(t=(0,e[h(e)[0]])(e=0)),t},P=(e,t)=>function(){return t||(0,e[h(e)[0]])((t={exports:{}}).exports,t),t.exports},y=(e,t)=>{for(var r in t)v(e,r,{get:t[r],enumerable:!0})},m,C,d,E=D({"src/compiler/corePublic.ts"(){"use strict";m="5.0",C="5.0.2",d=(e=>(e[e.LessThan=-1]="LessThan",e[e.EqualTo=0]="EqualTo",e[e.GreaterThan=1]="GreaterThan",e))(d||{})}});function I(e){return e?e.length:0}function c(e,t){if(e)for(let r=0;r=0;r--){let s=t(e[r],r);if(s)return s}}function q(e,t){if(e!==void 0)for(let r=0;r=0;s--){let f=e[s];if(t(f,s))return f}}function he(e,t,r){if(e===void 0)return-1;for(let s=r!=null?r:0;s=0;s--)if(t(e[s],s))return s;return-1}function R(e,t){for(let r=0;r2&&arguments[2]!==void 0?arguments[2]:fa;if(e){for(let s of e)if(r(s,t))return!0}return!1}function Ie(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;return e.length===t.length&&e.every((s,f)=>r(s,t[f]))}function Je(e,t,r){for(let s=r||0;s{let x=t(f,s);if(x!==void 0){let[w,A]=x;w!==void 0&&A!==void 0&&r.set(w,A)}}),r}function la(e,t,r){if(e.has(t))return e.get(t);let s=r();return e.set(t,s),s}function ua(e,t){return e.has(t)?!1:(e.add(t),!0)}function*Ka(e){yield e}function co(e,t,r){let s;if(e){s=[];let f=e.length,x,w,A=0,g=0;for(;A{let[x,w]=t(f,s);r.set(x,w)}),r}function Ke(e,t){if(e)if(t){for(let r of e)if(t(r))return!0}else return e.length>0;return!1}function Et(e,t,r){let s;for(let f=0;fe[w])}function Uc(e,t){let r=[];for(let s of e)qn(r,s,t);return r}function ji(e,t,r){return e.length===0?[]:e.length===1?e.slice():r?m_(e,t,r):Uc(e,t)}function lo(e,t){if(e.length===0)return Bt;let r=e[0],s=[r];for(let f=1;f0&&(f&=-2),f&2&&s(x,g)>0&&(f&=-3),x=g}return f}function Hc(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;if(!e||!t)return e===t;if(e.length!==t.length)return!1;for(let s=0;s0&&Y.assertGreaterThanOrEqual(r(t[x],t[x-1]),0);t:for(let w=f;fw&&Y.assertGreaterThanOrEqual(r(e[f],e[f-1]),0),r(t[x],e[f])){case-1:s.push(t[x]);continue e;case 0:continue e;case 1:continue t}}return s}function tr(e,t){return t===void 0?e:e===void 0?[t]:(e.push(t),e)}function $c(e,t){return e===void 0?t:t===void 0?e:ir(e)?ir(t)?Ft(e,t):tr(e,t):ir(t)?tr(t,e):[e,t]}function po(e,t){return t<0?e.length+t:t}function jr(e,t,r,s){if(t===void 0||t.length===0)return e;if(e===void 0)return t.slice(r,s);r=r===void 0?0:po(t,r),s=s===void 0?t.length:po(t,s);for(let f=r;fr(e[s],e[f])||Vr(s,f))}function Is(e,t){return e.length===0?e:e.slice().sort(t)}function*y_(e){for(let t=e.length-1;t>=0;t--)yield e[t]}function Ns(e,t){let r=Wr(e);return ks(e,r,t),r.map(s=>e[s])}function Kc(e,t,r,s){for(;r>1),g=r(e[A],A);switch(s(g,t)){case-1:x=A+1;break;case 0:return A;case 1:w=A-1;break}}return~x}function Qa(e,t,r,s,f){if(e&&e.length>0){let x=e.length;if(x>0){let w=s===void 0||s<0?0:s,A=f===void 0||w+f>x-1?x-1:w+f,g;for(arguments.length<=2?(g=e[w],w++):g=r;w<=A;)g=t(g,e[w],w),w++;return g}}return r}function Jr(e,t){return ni.call(e,t)}function Qc(e,t){return ni.call(e,t)?e[t]:void 0}function ho(e){let t=[];for(let r in e)ni.call(e,r)&&t.push(r);return t}function T_(e){let t=[];do{let r=Object.getOwnPropertyNames(e);for(let s of r)qn(t,s)}while(e=Object.getPrototypeOf(e));return t}function go(e){let t=[];for(let r in e)ni.call(e,r)&&t.push(e[r]);return t}function yo(e,t){let r=new Array(e);for(let s=0;s1?t-1:0),s=1;s2&&arguments[2]!==void 0?arguments[2]:fa;if(e===t)return!0;if(!e||!t)return!1;for(let s in e)if(ni.call(e,s)&&(!ni.call(t,s)||!r(e[s],t[s])))return!1;for(let s in t)if(ni.call(t,s)&&!ni.call(e,s))return!1;return!0}function Zc(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=new Map;for(let f of e){let x=t(f);x!==void 0&&s.set(x,r(f))}return s}function Os(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=[];for(let f of e)s[t(f)]=r(f);return s}function bo(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=Be();for(let f of e)s.add(t(f),r(f));return s}function el(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Za(bo(e,t).values(),r)}function x_(e,t){var r;let s={};if(e)for(let f of e){let x=`${t(f)}`;((r=s[x])!=null?r:s[x]=[]).push(f)}return s}function E_(e){let t={};for(let r in e)ni.call(e,r)&&(t[r]=e[r]);return t}function S(e,t){let r={};for(let s in t)ni.call(t,s)&&(r[s]=t[s]);for(let s in e)ni.call(e,s)&&(r[s]=e[s]);return r}function H(e,t){for(let r in t)ni.call(t,r)&&(e[r]=t[r])}function le(e,t){return t?t.bind(e):void 0}function Be(){let e=new Map;return e.add=rt,e.remove=ut,e}function rt(e,t){let r=this.get(e);return r?r.push(t):this.set(e,r=[t]),r}function ut(e,t){let r=this.get(e);r&&(bT(r,t),r.length||this.delete(e))}function Ht(){return Be()}function Fr(e){let t=(e==null?void 0:e.slice())||[],r=0;function s(){return r===t.length}function f(){t.push(...arguments)}function x(){if(s())throw new Error("Queue is empty");let w=t[r];if(t[r]=void 0,r++,r>100&&r>t.length>>1){let A=t.length-r;t.copyWithin(0,r),t.length=A,r=0}return w}return{enqueue:f,dequeue:x,isEmpty:s}}function Cr(e,t){let r=new Map,s=0;function*f(){for(let w of r.values())ir(w)?yield*w:yield w}let x={has(w){let A=e(w);if(!r.has(A))return!1;let g=r.get(A);if(!ir(g))return t(g,w);for(let B of g)if(t(B,w))return!0;return!1},add(w){let A=e(w);if(r.has(A)){let g=r.get(A);if(ir(g))pe(g,w,t)||(g.push(w),s++);else{let B=g;t(B,w)||(r.set(A,[B,w]),s++)}}else r.set(A,w),s++;return this},delete(w){let A=e(w);if(!r.has(A))return!1;let g=r.get(A);if(ir(g)){for(let B=0;Bf(),[Symbol.toStringTag]:r[Symbol.toStringTag]};return x}function ir(e){return Array.isArray(e)}function en(e){return ir(e)?e:[e]}function Ji(e){return typeof e=="string"}function gi(e){return typeof e=="number"}function ln(e,t){return e!==void 0&&t(e)?e:void 0}function ti(e,t){return e!==void 0&&t(e)?e:Y.fail(`Invalid cast. The supplied value ${e} did not pass the test '${Y.getFunctionName(t)}'.`)}function yn(e){}function w_(){return!1}function vp(){return!0}function C1(){}function rr(e){return e}function bp(e){return e.toLowerCase()}function Tp(e){return G1.test(e)?e.replace(G1,bp):e}function A1(){throw new Error("Not implemented")}function tl(e){let t;return()=>(e&&(t=e(),e=void 0),t)}function An(e){let t=new Map;return r=>{let s=`${typeof r}:${r}`,f=t.get(s);return f===void 0&&!t.has(s)&&(f=e(r),t.set(s,f)),f}}function P1(e){let t=new WeakMap;return r=>{let s=t.get(r);return s===void 0&&!t.has(r)&&(s=e(r),t.set(r,s)),s}}function D1(e,t){return function(){for(var r=arguments.length,s=new Array(r),f=0;fQa(x,(A,g)=>g(A),w)}else return s?x=>s(r(t(e(x)))):r?x=>r(t(e(x))):t?x=>t(e(x)):e?x=>e(x):x=>x}function fa(e,t){return e===t}function Ms(e,t){return e===t||e!==void 0&&t!==void 0&&e.toUpperCase()===t.toUpperCase()}function To(e,t){return fa(e,t)}function Sp(e,t){return e===t?0:e===void 0?-1:t===void 0?1:et(r,s)===-1?r:s)}function C_(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toUpperCase(),t=t.toUpperCase(),et?1:0)}function O1(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toLowerCase(),t=t.toLowerCase(),et?1:0)}function ri(e,t){return Sp(e,t)}function rl(e){return e?C_:ri}function M1(){return Ap}function xp(e){Ap!==e&&(Ap=e,K1=void 0)}function L1(e,t){return(K1||(K1=AT(Ap)))(e,t)}function R1(e,t,r,s){return e===t?0:e===void 0?-1:t===void 0?1:s(e[r],t[r])}function j1(e,t){return Vr(e?1:0,t?1:0)}function Ep(e,t,r){let s=Math.max(2,Math.floor(e.length*.34)),f=Math.floor(e.length*.4)+1,x;for(let w of t){let A=r(w);if(A!==void 0&&Math.abs(A.length-e.length)<=s){if(A===e||A.length<3&&A.toLowerCase()!==e.toLowerCase())continue;let g=J1(e,A,f-.1);if(g===void 0)continue;Y.assert(gr?A-r:1),N=Math.floor(t.length>r+A?r+A:t.length);f[0]=A;let X=A;for(let $=1;$r)return;let F=s;s=f,f=F}let w=s[t.length];return w>r?void 0:w}function es(e,t){let r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function F1(e,t){return es(e,t)?e.slice(0,e.length-t.length):e}function B1(e,t){return es(e,t)?e.slice(0,e.length-t.length):void 0}function Fi(e,t){return e.indexOf(t)!==-1}function q1(e){let t=e.length;for(let r=t-1;r>0;r--){let s=e.charCodeAt(r);if(s>=48&&s<=57)do--r,s=e.charCodeAt(r);while(r>0&&s>=48&&s<=57);else if(r>4&&(s===110||s===78)){if(--r,s=e.charCodeAt(r),s!==105&&s!==73||(--r,s=e.charCodeAt(r),s!==109&&s!==77))break;--r,s=e.charCodeAt(r)}else break;if(s!==45&&s!==46)break;t=r}return t===e.length?e:e.slice(0,t)}function J(e,t){for(let r=0;rr===t)}function h5(e,t){for(let r=0;rf&&(f=w.prefix.length,s=x)}return s}function Pn(e,t){return e.lastIndexOf(t,0)===0}function v5(e,t){return Pn(e,t)?e.substr(t.length):e}function ST(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Pn(r(e),r(t))?e.substring(t.length):void 0}function z1(e,t){let{prefix:r,suffix:s}=e;return t.length>=r.length+s.length&&Pn(t,r)&&es(t,s)}function b5(e,t){return r=>e(r)&&t(r)}function W1(){for(var e=arguments.length,t=new Array(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:" ";return t<=e.length?e:r.repeat(t-e.length)+e}function C5(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:" ";return t<=e.length?e:e+r.repeat(t-e.length)}function A5(e,t){if(e){let r=e.length,s=0;for(;s=0&&os(e.charCodeAt(t));)t--;return e.slice(0,t+1)}function k5(){return typeof cn<"u"&&cn.nextTick&&!cn.browser&&typeof _=="object"}var Bt,V1,ET,H1,wT,ni,CT,G1,$1,AT,K1,Ap,Pp,X1,nl,I5=D({"src/compiler/core.ts"(){"use strict";nn(),Bt=[],V1=new Map,ET=new Set,H1=(e=>(e[e.None=0]="None",e[e.CaseSensitive=1]="CaseSensitive",e[e.CaseInsensitive=2]="CaseInsensitive",e[e.Both=3]="Both",e))(H1||{}),wT=Array.prototype.at?(e,t)=>e==null?void 0:e.at(t):(e,t)=>{if(e&&(t=po(e,t),t(e[e.None=0]="None",e[e.Normal=1]="Normal",e[e.Aggressive=2]="Aggressive",e[e.VeryAggressive=3]="VeryAggressive",e))($1||{}),AT=(()=>{let e,t,r=A();return g;function s(B,N,X){if(B===N)return 0;if(B===void 0)return-1;if(N===void 0)return 1;let F=X(B,N);return F<0?-1:F>0?1:0}function f(B){let N=new Intl.Collator(B,{usage:"sort",sensitivity:"variant"}).compare;return(X,F)=>s(X,F,N)}function x(B){if(B!==void 0)return w();return(X,F)=>s(X,F,N);function N(X,F){return X.localeCompare(F)}}function w(){return(X,F)=>s(X,F,B);function B(X,F){return N(X.toUpperCase(),F.toUpperCase())||N(X,F)}function N(X,F){return XF?1:0}}function A(){return typeof Intl=="object"&&typeof Intl.Collator=="function"?f:typeof String.prototype.localeCompare=="function"&&typeof String.prototype.toLocaleUpperCase=="function"&&"a".localeCompare("B")<0?x:w}function g(B){return B===void 0?e||(e=r(B)):B==="en-US"?t||(t=r(B)):r(B)}})(),Pp=String.prototype.trim?e=>e.trim():e=>X1(nl(e)),X1=String.prototype.trimEnd?e=>e.trimEnd():D5,nl=String.prototype.trimStart?e=>e.trimStart():e=>e.replace(/^\s+/g,"")}}),Y1,Y,PT=D({"src/compiler/debug.ts"(){"use strict";nn(),nn(),Y1=(e=>(e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Info=3]="Info",e[e.Verbose=4]="Verbose",e))(Y1||{}),(e=>{let t=0;e.currentLogLevel=2,e.isDebugging=!1;function r(ue){return e.currentLogLevel<=ue}e.shouldLog=r;function s(ue,He){e.loggingHost&&r(ue)&&e.loggingHost.log(ue,He)}function f(ue){s(3,ue)}e.log=f,(ue=>{function He(zt){s(1,zt)}ue.error=He;function _t(zt){s(2,zt)}ue.warn=_t;function ft(zt){s(3,zt)}ue.log=ft;function Kt(zt){s(4,zt)}ue.trace=Kt})(f=e.log||(e.log={}));let x={};function w(){return t}e.getAssertionLevel=w;function A(ue){let He=t;if(t=ue,ue>He)for(let _t of ho(x)){let ft=x[_t];ft!==void 0&&e[_t]!==ft.assertion&&ue>=ft.level&&(e[_t]=ft,x[_t]=void 0)}}e.setAssertionLevel=A;function g(ue){return t>=ue}e.shouldAssert=g;function B(ue,He){return g(ue)?!0:(x[He]={level:ue,assertion:e[He]},e[He]=yn,!1)}function N(ue,He){debugger;let _t=new Error(ue?`Debug Failure. ${ue}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(_t,He||N),_t}e.fail=N;function X(ue,He,_t){return N(`${He||"Unexpected node."}\r -Node ${mr(ue.kind)} was unexpected.`,_t||X)}e.failBadSyntaxKind=X;function F(ue,He,_t,ft){ue||(He=He?`False expression: ${He}`:"False expression.",_t&&(He+=`\r -Verbose Debug Information: `+(typeof _t=="string"?_t:_t())),N(He,ft||F))}e.assert=F;function $(ue,He,_t,ft,Kt){if(ue!==He){let zt=_t?ft?`${_t} ${ft}`:_t:"";N(`Expected ${ue} === ${He}. ${zt}`,Kt||$)}}e.assertEqual=$;function ae(ue,He,_t,ft){ue>=He&&N(`Expected ${ue} < ${He}. ${_t||""}`,ft||ae)}e.assertLessThan=ae;function Te(ue,He,_t){ue>He&&N(`Expected ${ue} <= ${He}`,_t||Te)}e.assertLessThanOrEqual=Te;function Se(ue,He,_t){ue= ${He}`,_t||Se)}e.assertGreaterThanOrEqual=Se;function Ye(ue,He,_t){ue==null&&N(He,_t||Ye)}e.assertIsDefined=Ye;function Oe(ue,He,_t){return Ye(ue,He,_t||Oe),ue}e.checkDefined=Oe;function oe(ue,He,_t){for(let ft of ue)Ye(ft,He,_t||oe)}e.assertEachIsDefined=oe;function Ve(ue,He,_t){return oe(ue,He,_t||Ve),ue}e.checkEachDefined=Ve;function pt(ue){let He=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Illegal value:",_t=arguments.length>2?arguments[2]:void 0,ft=typeof ue=="object"&&Jr(ue,"kind")&&Jr(ue,"pos")?"SyntaxKind: "+mr(ue.kind):JSON.stringify(ue);return N(`${He} ${ft}`,_t||pt)}e.assertNever=pt;function Gt(ue,He,_t,ft){B(1,"assertEachNode")&&F(He===void 0||me(ue,He),_t||"Unexpected node.",()=>`Node array did not pass test '${pn(He)}'.`,ft||Gt)}e.assertEachNode=Gt;function Nt(ue,He,_t,ft){B(1,"assertNode")&&F(ue!==void 0&&(He===void 0||He(ue)),_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} did not pass test '${pn(He)}'.`,ft||Nt)}e.assertNode=Nt;function Xt(ue,He,_t,ft){B(1,"assertNotNode")&&F(ue===void 0||He===void 0||!He(ue),_t||"Unexpected node.",()=>`Node ${mr(ue.kind)} should not have passed test '${pn(He)}'.`,ft||Xt)}e.assertNotNode=Xt;function er(ue,He,_t,ft){B(1,"assertOptionalNode")&&F(He===void 0||ue===void 0||He(ue),_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} did not pass test '${pn(He)}'.`,ft||er)}e.assertOptionalNode=er;function Tn(ue,He,_t,ft){B(1,"assertOptionalToken")&&F(He===void 0||ue===void 0||ue.kind===He,_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} was not a '${mr(He)}' token.`,ft||Tn)}e.assertOptionalToken=Tn;function Hr(ue,He,_t){B(1,"assertMissingNode")&&F(ue===void 0,He||"Unexpected node.",()=>`Node ${mr(ue.kind)} was unexpected'.`,_t||Hr)}e.assertMissingNode=Hr;function Gi(ue){}e.type=Gi;function pn(ue){if(typeof ue!="function")return"";if(Jr(ue,"name"))return ue.name;{let He=Function.prototype.toString.call(ue),_t=/^function\s+([\w\$]+)\s*\(/.exec(He);return _t?_t[1]:""}}e.getFunctionName=pn;function fn(ue){return`{ name: ${dl(ue.escapedName)}; flags: ${Sn(ue.flags)}; declarations: ${Ze(ue.declarations,He=>mr(He.kind))} }`}e.formatSymbol=fn;function Ut(){let ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,He=arguments.length>1?arguments[1]:void 0,_t=arguments.length>2?arguments[2]:void 0,ft=an(He);if(ue===0)return ft.length>0&&ft[0][0]===0?ft[0][1]:"0";if(_t){let Kt=[],zt=ue;for(let[xe,Le]of ft){if(xe>ue)break;xe!==0&&xe&ue&&(Kt.push(Le),zt&=~xe)}if(zt===0)return Kt.join("|")}else for(let[Kt,zt]of ft)if(Kt===ue)return zt;return ue.toString()}e.formatEnum=Ut;let kn=new Map;function an(ue){let He=kn.get(ue);if(He)return He;let _t=[];for(let Kt in ue){let zt=ue[Kt];typeof zt=="number"&&_t.push([zt,Kt])}let ft=Ns(_t,(Kt,zt)=>Vr(Kt[0],zt[0]));return kn.set(ue,ft),ft}function mr(ue){return Ut(ue,Np,!1)}e.formatSyntaxKind=mr;function $i(ue){return Ut(ue,zp,!1)}e.formatSnippetKind=$i;function dn(ue){return Ut(ue,Op,!0)}e.formatNodeFlags=dn;function Ur(ue){return Ut(ue,Mp,!0)}e.formatModifierFlags=Ur;function Gr(ue){return Ut(ue,Up,!0)}e.formatTransformFlags=Gr;function _r(ue){return Ut(ue,Wp,!0)}e.formatEmitFlags=_r;function Sn(ue){return Ut(ue,jp,!0)}e.formatSymbolFlags=Sn;function In(ue){return Ut(ue,Jp,!0)}e.formatTypeFlags=In;function pr(ue){return Ut(ue,Bp,!0)}e.formatSignatureFlags=pr;function Zt(ue){return Ut(ue,Fp,!0)}e.formatObjectFlags=Zt;function Or(ue){return Ut(ue,il,!0)}e.formatFlowFlags=Or;function Nn(ue){return Ut(ue,Lp,!0)}e.formatRelationComparisonResult=Nn;function ar(ue){return Ut(ue,CheckMode,!0)}e.formatCheckMode=ar;function oi(ue){return Ut(ue,SignatureCheckMode,!0)}e.formatSignatureCheckMode=oi;function cr(ue){return Ut(ue,TypeFacts,!0)}e.formatTypeFacts=cr;let $r=!1,hr;function On(ue){"__debugFlowFlags"in ue||Object.defineProperties(ue,{__tsDebuggerDisplay:{value(){let He=this.flags&2?"FlowStart":this.flags&4?"FlowBranchLabel":this.flags&8?"FlowLoopLabel":this.flags&16?"FlowAssignment":this.flags&32?"FlowTrueCondition":this.flags&64?"FlowFalseCondition":this.flags&128?"FlowSwitchClause":this.flags&256?"FlowArrayMutation":this.flags&512?"FlowCall":this.flags&1024?"FlowReduceLabel":this.flags&1?"FlowUnreachable":"UnknownFlow",_t=this.flags&~(2048-1);return`${He}${_t?` (${Or(_t)})`:""}`}},__debugFlowFlags:{get(){return Ut(this.flags,il,!0)}},__debugToString:{value(){return St(this)}}})}function nr(ue){$r&&(typeof Object.setPrototypeOf=="function"?(hr||(hr=Object.create(Object.prototype),On(hr)),Object.setPrototypeOf(ue,hr)):On(ue))}e.attachFlowNodeDebugInfo=nr;let br;function Kr(ue){"__tsDebuggerDisplay"in ue||Object.defineProperties(ue,{__tsDebuggerDisplay:{value(He){return He=String(He).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"),`NodeArray ${He}`}}})}function wa(ue){$r&&(typeof Object.setPrototypeOf=="function"?(br||(br=Object.create(Array.prototype),Kr(br)),Object.setPrototypeOf(ue,br)):Kr(ue))}e.attachNodeArrayDebugInfo=wa;function $n(){if($r)return;let ue=new WeakMap,He=new WeakMap;Object.defineProperties(lr.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let ft=this.flags&33554432?"TransientSymbol":"Symbol",Kt=this.flags&-33554433;return`${ft} '${rf(this)}'${Kt?` (${Sn(Kt)})`:""}`}},__debugFlags:{get(){return Sn(this.flags)}}}),Object.defineProperties(lr.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let ft=this.flags&98304?"NullableType":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:this.flags&8192?"UniqueESSymbolType":this.flags&32?"EnumType":this.flags&67359327?`IntrinsicType ${this.intrinsicName}`:this.flags&1048576?"UnionType":this.flags&2097152?"IntersectionType":this.flags&4194304?"IndexType":this.flags&8388608?"IndexedAccessType":this.flags&16777216?"ConditionalType":this.flags&33554432?"SubstitutionType":this.flags&262144?"TypeParameter":this.flags&524288?this.objectFlags&3?"InterfaceType":this.objectFlags&4?"TypeReference":this.objectFlags&8?"TupleType":this.objectFlags&16?"AnonymousType":this.objectFlags&32?"MappedType":this.objectFlags&1024?"ReverseMappedType":this.objectFlags&256?"EvolvingArrayType":"ObjectType":"Type",Kt=this.flags&524288?this.objectFlags&-1344:0;return`${ft}${this.symbol?` '${rf(this.symbol)}'`:""}${Kt?` (${Zt(Kt)})`:""}`}},__debugFlags:{get(){return In(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?Zt(this.objectFlags):""}},__debugTypeToString:{value(){let ft=ue.get(this);return ft===void 0&&(ft=this.checker.typeToString(this),ue.set(this,ft)),ft}}}),Object.defineProperties(lr.getSignatureConstructor().prototype,{__debugFlags:{get(){return pr(this.flags)}},__debugSignatureToString:{value(){var ft;return(ft=this.checker)==null?void 0:ft.signatureToString(this)}}});let _t=[lr.getNodeConstructor(),lr.getIdentifierConstructor(),lr.getTokenConstructor(),lr.getSourceFileConstructor()];for(let ft of _t)Jr(ft.prototype,"__debugKind")||Object.defineProperties(ft.prototype,{__tsDebuggerDisplay:{value(){return`${cs(this)?"GeneratedIdentifier":yt(this)?`Identifier '${qr(this)}'`:vn(this)?`PrivateIdentifier '${qr(this)}'`:Gn(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:zs(this)?`NumericLiteral ${this.text}`:U2(this)?`BigIntLiteral ${this.text}n`:Fo(this)?"TypeParameterDeclaration":Vs(this)?"ParameterDeclaration":nc(this)?"ConstructorDeclaration":Gl(this)?"GetAccessorDeclaration":ic(this)?"SetAccessorDeclaration":V2(this)?"CallSignatureDeclaration":R8(this)?"ConstructSignatureDeclaration":H2(this)?"IndexSignatureDeclaration":j8(this)?"TypePredicateNode":ac(this)?"TypeReferenceNode":$l(this)?"FunctionTypeNode":G2(this)?"ConstructorTypeNode":J8(this)?"TypeQueryNode":id(this)?"TypeLiteralNode":F8(this)?"ArrayTypeNode":B8(this)?"TupleTypeNode":q8(this)?"OptionalTypeNode":U8(this)?"RestTypeNode":z8(this)?"UnionTypeNode":W8(this)?"IntersectionTypeNode":V8(this)?"ConditionalTypeNode":H8(this)?"InferTypeNode":K2(this)?"ParenthesizedTypeNode":X2(this)?"ThisTypeNode":G8(this)?"TypeOperatorNode":$8(this)?"IndexedAccessTypeNode":K8(this)?"MappedTypeNode":Y2(this)?"LiteralTypeNode":$2(this)?"NamedTupleMember":Kl(this)?"ImportTypeNode":mr(this.kind)}${this.flags?` (${dn(this.flags)})`:""}`}},__debugKind:{get(){return mr(this.kind)}},__debugNodeFlags:{get(){return dn(this.flags)}},__debugModifierFlags:{get(){return Ur(Y4(this))}},__debugTransformFlags:{get(){return Gr(this.transformFlags)}},__debugIsParseTreeNode:{get(){return pl(this)}},__debugEmitFlags:{get(){return _r(xi(this))}},__debugGetText:{value(Kt){if(fs(this))return"";let zt=He.get(this);if(zt===void 0){let xe=fl(this),Le=xe&&Si(xe);zt=Le?No(Le,xe,Kt):"",He.set(this,zt)}return zt}}});$r=!0}e.enableDebugInfo=$n;function Ki(ue){let He=ue&7,_t=He===0?"in out":He===3?"[bivariant]":He===2?"in":He===1?"out":He===4?"[independent]":"";return ue&8?_t+=" (unmeasurable)":ue&16&&(_t+=" (unreliable)"),_t}e.formatVariance=Ki;class Mn{__debugToString(){var He;switch(this.kind){case 3:return((He=this.debugInfo)==null?void 0:He.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return ce(this.sources,this.targets||Ze(this.sources,()=>"any"),(_t,ft)=>`${_t.__debugTypeToString()} -> ${typeof ft=="string"?ft:ft.__debugTypeToString()}`).join(", ");case 2:return ce(this.sources,this.targets,(_t,ft)=>`${_t.__debugTypeToString()} -> ${ft().__debugTypeToString()}`).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(` -`).join(` - `)} -m2: ${this.mapper2.__debugToString().split(` -`).join(` - `)}`;default:return pt(this)}}}e.DebugTypeMapper=Mn;function _i(ue){return e.isDebugging?Object.setPrototypeOf(ue,Mn.prototype):ue}e.attachDebugPrototypeIfDebug=_i;function Ca(ue){return console.log(St(ue))}e.printControlFlowGraph=Ca;function St(ue){let He=-1;function _t(U){return U.id||(U.id=He,He--),U.id}let ft;(U=>{U.lr="\u2500",U.ud="\u2502",U.dr="\u256D",U.dl="\u256E",U.ul="\u256F",U.ur="\u2570",U.udr="\u251C",U.udl="\u2524",U.dlr="\u252C",U.ulr="\u2534",U.udlr="\u256B"})(ft||(ft={}));let Kt;(U=>{U[U.None=0]="None",U[U.Up=1]="Up",U[U.Down=2]="Down",U[U.Left=4]="Left",U[U.Right=8]="Right",U[U.UpDown=3]="UpDown",U[U.LeftRight=12]="LeftRight",U[U.UpLeft=5]="UpLeft",U[U.UpRight=9]="UpRight",U[U.DownLeft=6]="DownLeft",U[U.DownRight=10]="DownRight",U[U.UpDownLeft=7]="UpDownLeft",U[U.UpDownRight=11]="UpDownRight",U[U.UpLeftRight=13]="UpLeftRight",U[U.DownLeftRight=14]="DownLeftRight",U[U.UpDownLeftRight=15]="UpDownLeftRight",U[U.NoChildren=16]="NoChildren"})(Kt||(Kt={}));let zt=2032,xe=882,Le=Object.create(null),Re=[],ot=[],Ct=Aa(ue,new Set);for(let U of Re)U.text=xn(U.flowNode,U.circular),$s(U);let Mt=li(Ct),It=Yi(Mt);return Qi(Ct,0),Dt();function Mr(U){return!!(U.flags&128)}function gr(U){return!!(U.flags&12)&&!!U.antecedents}function Ln(U){return!!(U.flags&zt)}function ys(U){return!!(U.flags&xe)}function ci(U){let L=[];for(let fe of U.edges)fe.source===U&&L.push(fe.target);return L}function Xi(U){let L=[];for(let fe of U.edges)fe.target===U&&L.push(fe.source);return L}function Aa(U,L){let fe=_t(U),T=Le[fe];if(T&&L.has(U))return T.circular=!0,T={id:-1,flowNode:U,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},Re.push(T),T;if(L.add(U),!T)if(Le[fe]=T={id:fe,flowNode:U,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},Re.push(T),gr(U))for(let it of U.antecedents)vs(T,it,L);else Ln(U)&&vs(T,U.antecedent,L);return L.delete(U),T}function vs(U,L,fe){let T=Aa(L,fe),it={source:U,target:T};ot.push(it),U.edges.push(it),T.edges.push(it)}function $s(U){if(U.level!==-1)return U.level;let L=0;for(let fe of Xi(U))L=Math.max(L,$s(fe)+1);return U.level=L}function li(U){let L=0;for(let fe of ci(U))L=Math.max(L,li(fe));return L+1}function Yi(U){let L=Z(Array(U),0);for(let fe of Re)L[fe.level]=Math.max(L[fe.level],fe.text.length);return L}function Qi(U,L){if(U.lane===-1){U.lane=L,U.endLane=L;let fe=ci(U);for(let T=0;T0&&L++;let it=fe[T];Qi(it,L),it.endLane>U.endLane&&(L=it.endLane)}U.endLane=L}}function bs(U){if(U&2)return"Start";if(U&4)return"Branch";if(U&8)return"Loop";if(U&16)return"Assignment";if(U&32)return"True";if(U&64)return"False";if(U&128)return"SwitchClause";if(U&256)return"ArrayMutation";if(U&512)return"Call";if(U&1024)return"ReduceLabel";if(U&1)return"Unreachable";throw new Error}function Ai(U){let L=Si(U);return No(L,U,!1)}function xn(U,L){let fe=bs(U.flags);if(L&&(fe=`${fe}#${_t(U)}`),ys(U))U.node&&(fe+=` (${Ai(U.node)})`);else if(Mr(U)){let T=[];for(let it=U.clauseStart;itMath.max(_e,Ge.lane),0)+1,fe=Z(Array(L),""),T=It.map(()=>Array(L)),it=It.map(()=>Z(Array(L),0));for(let _e of Re){T[_e.level][_e.lane]=_e;let Ge=ci(_e);for(let jt=0;jt0&&($t|=1),jt0&&($t|=1),jt0?it[_e-1][Ge]:0,jt=Ge>0?it[_e][Ge-1]:0,Yt=it[_e][Ge];Yt||(bt&8&&(Yt|=12),jt&2&&(Yt|=3),it[_e][Ge]=Yt)}for(let _e=0;_e0?U.repeat(L):"";let fe="";for(;fe.length{},O5=()=>{},M5=()=>{},ts=Date.now,L5=()=>{},Dp=new Proxy(()=>{},{get:()=>Dp});function DT(e){var t;if(Q1){let r=(t=Z1.get(e))!=null?t:0;Z1.set(e,r+1),Ip.set(e,ts()),kp==null||kp.mark(e),typeof onProfilerEvent=="function"&&onProfilerEvent(e)}}function R5(e,t,r){var s,f;if(Q1){let x=(s=r!==void 0?Ip.get(r):void 0)!=null?s:ts(),w=(f=t!==void 0?Ip.get(t):void 0)!=null?f:kT,A=eg.get(e)||0;eg.set(e,A+(x-w)),kp==null||kp.measure(e,t,r)}}var kp,j5,Q1,kT,Ip,Z1,eg,ZV=D({"src/compiler/performance.ts"(){"use strict";nn(),j5={enter:yn,exit:yn},Q1=!1,kT=ts(),Ip=new Map,Z1=new Map,eg=new Map}}),IT=()=>{},J5=()=>{},rs;function F5(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=qp[e.category];return t?r.toLowerCase():r}var Np,Op,Mp,tg,Lp,rg,ng,il,ig,Rp,ag,sg,og,_g,cg,lg,ug,pg,fg,dg,mg,hg,gg,yg,vg,jp,bg,Tg,Sg,xg,Jp,Fp,Eg,wg,Cg,Ag,Pg,Bp,Dg,kg,Ig,Ng,Og,Mg,qp,Lg,Rg,jg,Jg,Fg,Bg,qg,Ug,zg,Wg,Vg,Hg,Gg,$g,Kg,Up,zp,Wp,Xg,Yg,Qg,Zg,ey,ty,ry,ny,Vp,NT=D({"src/compiler/types.ts"(){"use strict";Np=(e=>(e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NumericLiteral=8]="NumericLiteral",e[e.BigIntLiteral=9]="BigIntLiteral",e[e.StringLiteral=10]="StringLiteral",e[e.JsxText=11]="JsxText",e[e.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=13]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=15]="TemplateHead",e[e.TemplateMiddle=16]="TemplateMiddle",e[e.TemplateTail=17]="TemplateTail",e[e.OpenBraceToken=18]="OpenBraceToken",e[e.CloseBraceToken=19]="CloseBraceToken",e[e.OpenParenToken=20]="OpenParenToken",e[e.CloseParenToken=21]="CloseParenToken",e[e.OpenBracketToken=22]="OpenBracketToken",e[e.CloseBracketToken=23]="CloseBracketToken",e[e.DotToken=24]="DotToken",e[e.DotDotDotToken=25]="DotDotDotToken",e[e.SemicolonToken=26]="SemicolonToken",e[e.CommaToken=27]="CommaToken",e[e.QuestionDotToken=28]="QuestionDotToken",e[e.LessThanToken=29]="LessThanToken",e[e.LessThanSlashToken=30]="LessThanSlashToken",e[e.GreaterThanToken=31]="GreaterThanToken",e[e.LessThanEqualsToken=32]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=34]="EqualsEqualsToken",e[e.ExclamationEqualsToken=35]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",e[e.PlusToken=39]="PlusToken",e[e.MinusToken=40]="MinusToken",e[e.AsteriskToken=41]="AsteriskToken",e[e.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",e[e.SlashToken=43]="SlashToken",e[e.PercentToken=44]="PercentToken",e[e.PlusPlusToken=45]="PlusPlusToken",e[e.MinusMinusToken=46]="MinusMinusToken",e[e.LessThanLessThanToken=47]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=50]="AmpersandToken",e[e.BarToken=51]="BarToken",e[e.CaretToken=52]="CaretToken",e[e.ExclamationToken=53]="ExclamationToken",e[e.TildeToken=54]="TildeToken",e[e.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",e[e.BarBarToken=56]="BarBarToken",e[e.QuestionToken=57]="QuestionToken",e[e.ColonToken=58]="ColonToken",e[e.AtToken=59]="AtToken",e[e.QuestionQuestionToken=60]="QuestionQuestionToken",e[e.BacktickToken=61]="BacktickToken",e[e.HashToken=62]="HashToken",e[e.EqualsToken=63]="EqualsToken",e[e.PlusEqualsToken=64]="PlusEqualsToken",e[e.MinusEqualsToken=65]="MinusEqualsToken",e[e.AsteriskEqualsToken=66]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=67]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=68]="SlashEqualsToken",e[e.PercentEqualsToken=69]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=70]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=73]="AmpersandEqualsToken",e[e.BarEqualsToken=74]="BarEqualsToken",e[e.BarBarEqualsToken=75]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=76]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=77]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=78]="CaretEqualsToken",e[e.Identifier=79]="Identifier",e[e.PrivateIdentifier=80]="PrivateIdentifier",e[e.BreakKeyword=81]="BreakKeyword",e[e.CaseKeyword=82]="CaseKeyword",e[e.CatchKeyword=83]="CatchKeyword",e[e.ClassKeyword=84]="ClassKeyword",e[e.ConstKeyword=85]="ConstKeyword",e[e.ContinueKeyword=86]="ContinueKeyword",e[e.DebuggerKeyword=87]="DebuggerKeyword",e[e.DefaultKeyword=88]="DefaultKeyword",e[e.DeleteKeyword=89]="DeleteKeyword",e[e.DoKeyword=90]="DoKeyword",e[e.ElseKeyword=91]="ElseKeyword",e[e.EnumKeyword=92]="EnumKeyword",e[e.ExportKeyword=93]="ExportKeyword",e[e.ExtendsKeyword=94]="ExtendsKeyword",e[e.FalseKeyword=95]="FalseKeyword",e[e.FinallyKeyword=96]="FinallyKeyword",e[e.ForKeyword=97]="ForKeyword",e[e.FunctionKeyword=98]="FunctionKeyword",e[e.IfKeyword=99]="IfKeyword",e[e.ImportKeyword=100]="ImportKeyword",e[e.InKeyword=101]="InKeyword",e[e.InstanceOfKeyword=102]="InstanceOfKeyword",e[e.NewKeyword=103]="NewKeyword",e[e.NullKeyword=104]="NullKeyword",e[e.ReturnKeyword=105]="ReturnKeyword",e[e.SuperKeyword=106]="SuperKeyword",e[e.SwitchKeyword=107]="SwitchKeyword",e[e.ThisKeyword=108]="ThisKeyword",e[e.ThrowKeyword=109]="ThrowKeyword",e[e.TrueKeyword=110]="TrueKeyword",e[e.TryKeyword=111]="TryKeyword",e[e.TypeOfKeyword=112]="TypeOfKeyword",e[e.VarKeyword=113]="VarKeyword",e[e.VoidKeyword=114]="VoidKeyword",e[e.WhileKeyword=115]="WhileKeyword",e[e.WithKeyword=116]="WithKeyword",e[e.ImplementsKeyword=117]="ImplementsKeyword",e[e.InterfaceKeyword=118]="InterfaceKeyword",e[e.LetKeyword=119]="LetKeyword",e[e.PackageKeyword=120]="PackageKeyword",e[e.PrivateKeyword=121]="PrivateKeyword",e[e.ProtectedKeyword=122]="ProtectedKeyword",e[e.PublicKeyword=123]="PublicKeyword",e[e.StaticKeyword=124]="StaticKeyword",e[e.YieldKeyword=125]="YieldKeyword",e[e.AbstractKeyword=126]="AbstractKeyword",e[e.AccessorKeyword=127]="AccessorKeyword",e[e.AsKeyword=128]="AsKeyword",e[e.AssertsKeyword=129]="AssertsKeyword",e[e.AssertKeyword=130]="AssertKeyword",e[e.AnyKeyword=131]="AnyKeyword",e[e.AsyncKeyword=132]="AsyncKeyword",e[e.AwaitKeyword=133]="AwaitKeyword",e[e.BooleanKeyword=134]="BooleanKeyword",e[e.ConstructorKeyword=135]="ConstructorKeyword",e[e.DeclareKeyword=136]="DeclareKeyword",e[e.GetKeyword=137]="GetKeyword",e[e.InferKeyword=138]="InferKeyword",e[e.IntrinsicKeyword=139]="IntrinsicKeyword",e[e.IsKeyword=140]="IsKeyword",e[e.KeyOfKeyword=141]="KeyOfKeyword",e[e.ModuleKeyword=142]="ModuleKeyword",e[e.NamespaceKeyword=143]="NamespaceKeyword",e[e.NeverKeyword=144]="NeverKeyword",e[e.OutKeyword=145]="OutKeyword",e[e.ReadonlyKeyword=146]="ReadonlyKeyword",e[e.RequireKeyword=147]="RequireKeyword",e[e.NumberKeyword=148]="NumberKeyword",e[e.ObjectKeyword=149]="ObjectKeyword",e[e.SatisfiesKeyword=150]="SatisfiesKeyword",e[e.SetKeyword=151]="SetKeyword",e[e.StringKeyword=152]="StringKeyword",e[e.SymbolKeyword=153]="SymbolKeyword",e[e.TypeKeyword=154]="TypeKeyword",e[e.UndefinedKeyword=155]="UndefinedKeyword",e[e.UniqueKeyword=156]="UniqueKeyword",e[e.UnknownKeyword=157]="UnknownKeyword",e[e.FromKeyword=158]="FromKeyword",e[e.GlobalKeyword=159]="GlobalKeyword",e[e.BigIntKeyword=160]="BigIntKeyword",e[e.OverrideKeyword=161]="OverrideKeyword",e[e.OfKeyword=162]="OfKeyword",e[e.QualifiedName=163]="QualifiedName",e[e.ComputedPropertyName=164]="ComputedPropertyName",e[e.TypeParameter=165]="TypeParameter",e[e.Parameter=166]="Parameter",e[e.Decorator=167]="Decorator",e[e.PropertySignature=168]="PropertySignature",e[e.PropertyDeclaration=169]="PropertyDeclaration",e[e.MethodSignature=170]="MethodSignature",e[e.MethodDeclaration=171]="MethodDeclaration",e[e.ClassStaticBlockDeclaration=172]="ClassStaticBlockDeclaration",e[e.Constructor=173]="Constructor",e[e.GetAccessor=174]="GetAccessor",e[e.SetAccessor=175]="SetAccessor",e[e.CallSignature=176]="CallSignature",e[e.ConstructSignature=177]="ConstructSignature",e[e.IndexSignature=178]="IndexSignature",e[e.TypePredicate=179]="TypePredicate",e[e.TypeReference=180]="TypeReference",e[e.FunctionType=181]="FunctionType",e[e.ConstructorType=182]="ConstructorType",e[e.TypeQuery=183]="TypeQuery",e[e.TypeLiteral=184]="TypeLiteral",e[e.ArrayType=185]="ArrayType",e[e.TupleType=186]="TupleType",e[e.OptionalType=187]="OptionalType",e[e.RestType=188]="RestType",e[e.UnionType=189]="UnionType",e[e.IntersectionType=190]="IntersectionType",e[e.ConditionalType=191]="ConditionalType",e[e.InferType=192]="InferType",e[e.ParenthesizedType=193]="ParenthesizedType",e[e.ThisType=194]="ThisType",e[e.TypeOperator=195]="TypeOperator",e[e.IndexedAccessType=196]="IndexedAccessType",e[e.MappedType=197]="MappedType",e[e.LiteralType=198]="LiteralType",e[e.NamedTupleMember=199]="NamedTupleMember",e[e.TemplateLiteralType=200]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=201]="TemplateLiteralTypeSpan",e[e.ImportType=202]="ImportType",e[e.ObjectBindingPattern=203]="ObjectBindingPattern",e[e.ArrayBindingPattern=204]="ArrayBindingPattern",e[e.BindingElement=205]="BindingElement",e[e.ArrayLiteralExpression=206]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=207]="ObjectLiteralExpression",e[e.PropertyAccessExpression=208]="PropertyAccessExpression",e[e.ElementAccessExpression=209]="ElementAccessExpression",e[e.CallExpression=210]="CallExpression",e[e.NewExpression=211]="NewExpression",e[e.TaggedTemplateExpression=212]="TaggedTemplateExpression",e[e.TypeAssertionExpression=213]="TypeAssertionExpression",e[e.ParenthesizedExpression=214]="ParenthesizedExpression",e[e.FunctionExpression=215]="FunctionExpression",e[e.ArrowFunction=216]="ArrowFunction",e[e.DeleteExpression=217]="DeleteExpression",e[e.TypeOfExpression=218]="TypeOfExpression",e[e.VoidExpression=219]="VoidExpression",e[e.AwaitExpression=220]="AwaitExpression",e[e.PrefixUnaryExpression=221]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=222]="PostfixUnaryExpression",e[e.BinaryExpression=223]="BinaryExpression",e[e.ConditionalExpression=224]="ConditionalExpression",e[e.TemplateExpression=225]="TemplateExpression",e[e.YieldExpression=226]="YieldExpression",e[e.SpreadElement=227]="SpreadElement",e[e.ClassExpression=228]="ClassExpression",e[e.OmittedExpression=229]="OmittedExpression",e[e.ExpressionWithTypeArguments=230]="ExpressionWithTypeArguments",e[e.AsExpression=231]="AsExpression",e[e.NonNullExpression=232]="NonNullExpression",e[e.MetaProperty=233]="MetaProperty",e[e.SyntheticExpression=234]="SyntheticExpression",e[e.SatisfiesExpression=235]="SatisfiesExpression",e[e.TemplateSpan=236]="TemplateSpan",e[e.SemicolonClassElement=237]="SemicolonClassElement",e[e.Block=238]="Block",e[e.EmptyStatement=239]="EmptyStatement",e[e.VariableStatement=240]="VariableStatement",e[e.ExpressionStatement=241]="ExpressionStatement",e[e.IfStatement=242]="IfStatement",e[e.DoStatement=243]="DoStatement",e[e.WhileStatement=244]="WhileStatement",e[e.ForStatement=245]="ForStatement",e[e.ForInStatement=246]="ForInStatement",e[e.ForOfStatement=247]="ForOfStatement",e[e.ContinueStatement=248]="ContinueStatement",e[e.BreakStatement=249]="BreakStatement",e[e.ReturnStatement=250]="ReturnStatement",e[e.WithStatement=251]="WithStatement",e[e.SwitchStatement=252]="SwitchStatement",e[e.LabeledStatement=253]="LabeledStatement",e[e.ThrowStatement=254]="ThrowStatement",e[e.TryStatement=255]="TryStatement",e[e.DebuggerStatement=256]="DebuggerStatement",e[e.VariableDeclaration=257]="VariableDeclaration",e[e.VariableDeclarationList=258]="VariableDeclarationList",e[e.FunctionDeclaration=259]="FunctionDeclaration",e[e.ClassDeclaration=260]="ClassDeclaration",e[e.InterfaceDeclaration=261]="InterfaceDeclaration",e[e.TypeAliasDeclaration=262]="TypeAliasDeclaration",e[e.EnumDeclaration=263]="EnumDeclaration",e[e.ModuleDeclaration=264]="ModuleDeclaration",e[e.ModuleBlock=265]="ModuleBlock",e[e.CaseBlock=266]="CaseBlock",e[e.NamespaceExportDeclaration=267]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=268]="ImportEqualsDeclaration",e[e.ImportDeclaration=269]="ImportDeclaration",e[e.ImportClause=270]="ImportClause",e[e.NamespaceImport=271]="NamespaceImport",e[e.NamedImports=272]="NamedImports",e[e.ImportSpecifier=273]="ImportSpecifier",e[e.ExportAssignment=274]="ExportAssignment",e[e.ExportDeclaration=275]="ExportDeclaration",e[e.NamedExports=276]="NamedExports",e[e.NamespaceExport=277]="NamespaceExport",e[e.ExportSpecifier=278]="ExportSpecifier",e[e.MissingDeclaration=279]="MissingDeclaration",e[e.ExternalModuleReference=280]="ExternalModuleReference",e[e.JsxElement=281]="JsxElement",e[e.JsxSelfClosingElement=282]="JsxSelfClosingElement",e[e.JsxOpeningElement=283]="JsxOpeningElement",e[e.JsxClosingElement=284]="JsxClosingElement",e[e.JsxFragment=285]="JsxFragment",e[e.JsxOpeningFragment=286]="JsxOpeningFragment",e[e.JsxClosingFragment=287]="JsxClosingFragment",e[e.JsxAttribute=288]="JsxAttribute",e[e.JsxAttributes=289]="JsxAttributes",e[e.JsxSpreadAttribute=290]="JsxSpreadAttribute",e[e.JsxExpression=291]="JsxExpression",e[e.CaseClause=292]="CaseClause",e[e.DefaultClause=293]="DefaultClause",e[e.HeritageClause=294]="HeritageClause",e[e.CatchClause=295]="CatchClause",e[e.AssertClause=296]="AssertClause",e[e.AssertEntry=297]="AssertEntry",e[e.ImportTypeAssertionContainer=298]="ImportTypeAssertionContainer",e[e.PropertyAssignment=299]="PropertyAssignment",e[e.ShorthandPropertyAssignment=300]="ShorthandPropertyAssignment",e[e.SpreadAssignment=301]="SpreadAssignment",e[e.EnumMember=302]="EnumMember",e[e.UnparsedPrologue=303]="UnparsedPrologue",e[e.UnparsedPrepend=304]="UnparsedPrepend",e[e.UnparsedText=305]="UnparsedText",e[e.UnparsedInternalText=306]="UnparsedInternalText",e[e.UnparsedSyntheticReference=307]="UnparsedSyntheticReference",e[e.SourceFile=308]="SourceFile",e[e.Bundle=309]="Bundle",e[e.UnparsedSource=310]="UnparsedSource",e[e.InputFiles=311]="InputFiles",e[e.JSDocTypeExpression=312]="JSDocTypeExpression",e[e.JSDocNameReference=313]="JSDocNameReference",e[e.JSDocMemberName=314]="JSDocMemberName",e[e.JSDocAllType=315]="JSDocAllType",e[e.JSDocUnknownType=316]="JSDocUnknownType",e[e.JSDocNullableType=317]="JSDocNullableType",e[e.JSDocNonNullableType=318]="JSDocNonNullableType",e[e.JSDocOptionalType=319]="JSDocOptionalType",e[e.JSDocFunctionType=320]="JSDocFunctionType",e[e.JSDocVariadicType=321]="JSDocVariadicType",e[e.JSDocNamepathType=322]="JSDocNamepathType",e[e.JSDoc=323]="JSDoc",e[e.JSDocComment=323]="JSDocComment",e[e.JSDocText=324]="JSDocText",e[e.JSDocTypeLiteral=325]="JSDocTypeLiteral",e[e.JSDocSignature=326]="JSDocSignature",e[e.JSDocLink=327]="JSDocLink",e[e.JSDocLinkCode=328]="JSDocLinkCode",e[e.JSDocLinkPlain=329]="JSDocLinkPlain",e[e.JSDocTag=330]="JSDocTag",e[e.JSDocAugmentsTag=331]="JSDocAugmentsTag",e[e.JSDocImplementsTag=332]="JSDocImplementsTag",e[e.JSDocAuthorTag=333]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=334]="JSDocDeprecatedTag",e[e.JSDocClassTag=335]="JSDocClassTag",e[e.JSDocPublicTag=336]="JSDocPublicTag",e[e.JSDocPrivateTag=337]="JSDocPrivateTag",e[e.JSDocProtectedTag=338]="JSDocProtectedTag",e[e.JSDocReadonlyTag=339]="JSDocReadonlyTag",e[e.JSDocOverrideTag=340]="JSDocOverrideTag",e[e.JSDocCallbackTag=341]="JSDocCallbackTag",e[e.JSDocOverloadTag=342]="JSDocOverloadTag",e[e.JSDocEnumTag=343]="JSDocEnumTag",e[e.JSDocParameterTag=344]="JSDocParameterTag",e[e.JSDocReturnTag=345]="JSDocReturnTag",e[e.JSDocThisTag=346]="JSDocThisTag",e[e.JSDocTypeTag=347]="JSDocTypeTag",e[e.JSDocTemplateTag=348]="JSDocTemplateTag",e[e.JSDocTypedefTag=349]="JSDocTypedefTag",e[e.JSDocSeeTag=350]="JSDocSeeTag",e[e.JSDocPropertyTag=351]="JSDocPropertyTag",e[e.JSDocThrowsTag=352]="JSDocThrowsTag",e[e.JSDocSatisfiesTag=353]="JSDocSatisfiesTag",e[e.SyntaxList=354]="SyntaxList",e[e.NotEmittedStatement=355]="NotEmittedStatement",e[e.PartiallyEmittedExpression=356]="PartiallyEmittedExpression",e[e.CommaListExpression=357]="CommaListExpression",e[e.MergeDeclarationMarker=358]="MergeDeclarationMarker",e[e.EndOfDeclarationMarker=359]="EndOfDeclarationMarker",e[e.SyntheticReferenceExpression=360]="SyntheticReferenceExpression",e[e.Count=361]="Count",e[e.FirstAssignment=63]="FirstAssignment",e[e.LastAssignment=78]="LastAssignment",e[e.FirstCompoundAssignment=64]="FirstCompoundAssignment",e[e.LastCompoundAssignment=78]="LastCompoundAssignment",e[e.FirstReservedWord=81]="FirstReservedWord",e[e.LastReservedWord=116]="LastReservedWord",e[e.FirstKeyword=81]="FirstKeyword",e[e.LastKeyword=162]="LastKeyword",e[e.FirstFutureReservedWord=117]="FirstFutureReservedWord",e[e.LastFutureReservedWord=125]="LastFutureReservedWord",e[e.FirstTypeNode=179]="FirstTypeNode",e[e.LastTypeNode=202]="LastTypeNode",e[e.FirstPunctuation=18]="FirstPunctuation",e[e.LastPunctuation=78]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=162]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=8]="FirstLiteralToken",e[e.LastLiteralToken=14]="LastLiteralToken",e[e.FirstTemplateToken=14]="FirstTemplateToken",e[e.LastTemplateToken=17]="LastTemplateToken",e[e.FirstBinaryOperator=29]="FirstBinaryOperator",e[e.LastBinaryOperator=78]="LastBinaryOperator",e[e.FirstStatement=240]="FirstStatement",e[e.LastStatement=256]="LastStatement",e[e.FirstNode=163]="FirstNode",e[e.FirstJSDocNode=312]="FirstJSDocNode",e[e.LastJSDocNode=353]="LastJSDocNode",e[e.FirstJSDocTagNode=330]="FirstJSDocTagNode",e[e.LastJSDocTagNode=353]="LastJSDocTagNode",e[e.FirstContextualKeyword=126]="FirstContextualKeyword",e[e.LastContextualKeyword=162]="LastContextualKeyword",e))(Np||{}),Op=(e=>(e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.NestedNamespace=4]="NestedNamespace",e[e.Synthesized=8]="Synthesized",e[e.Namespace=16]="Namespace",e[e.OptionalChain=32]="OptionalChain",e[e.ExportContext=64]="ExportContext",e[e.ContainsThis=128]="ContainsThis",e[e.HasImplicitReturn=256]="HasImplicitReturn",e[e.HasExplicitReturn=512]="HasExplicitReturn",e[e.GlobalAugmentation=1024]="GlobalAugmentation",e[e.HasAsyncFunctions=2048]="HasAsyncFunctions",e[e.DisallowInContext=4096]="DisallowInContext",e[e.YieldContext=8192]="YieldContext",e[e.DecoratorContext=16384]="DecoratorContext",e[e.AwaitContext=32768]="AwaitContext",e[e.DisallowConditionalTypesContext=65536]="DisallowConditionalTypesContext",e[e.ThisNodeHasError=131072]="ThisNodeHasError",e[e.JavaScriptFile=262144]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=524288]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=1048576]="HasAggregatedChildData",e[e.PossiblyContainsDynamicImport=2097152]="PossiblyContainsDynamicImport",e[e.PossiblyContainsImportMeta=4194304]="PossiblyContainsImportMeta",e[e.JSDoc=8388608]="JSDoc",e[e.Ambient=16777216]="Ambient",e[e.InWithStatement=33554432]="InWithStatement",e[e.JsonFile=67108864]="JsonFile",e[e.TypeCached=134217728]="TypeCached",e[e.Deprecated=268435456]="Deprecated",e[e.BlockScoped=3]="BlockScoped",e[e.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",e[e.ContextFlags=50720768]="ContextFlags",e[e.TypeExcludesFlags=40960]="TypeExcludesFlags",e[e.PermanentlySetIncrementalFlags=6291456]="PermanentlySetIncrementalFlags",e[e.IdentifierHasExtendedUnicodeEscape=128]="IdentifierHasExtendedUnicodeEscape",e[e.IdentifierIsInJSDocNamespace=2048]="IdentifierIsInJSDocNamespace",e))(Op||{}),Mp=(e=>(e[e.None=0]="None",e[e.Export=1]="Export",e[e.Ambient=2]="Ambient",e[e.Public=4]="Public",e[e.Private=8]="Private",e[e.Protected=16]="Protected",e[e.Static=32]="Static",e[e.Readonly=64]="Readonly",e[e.Accessor=128]="Accessor",e[e.Abstract=256]="Abstract",e[e.Async=512]="Async",e[e.Default=1024]="Default",e[e.Const=2048]="Const",e[e.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",e[e.Deprecated=8192]="Deprecated",e[e.Override=16384]="Override",e[e.In=32768]="In",e[e.Out=65536]="Out",e[e.Decorator=131072]="Decorator",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=28]="AccessibilityModifier",e[e.ParameterPropertyModifier=16476]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=117086]="TypeScriptModifier",e[e.ExportDefault=1025]="ExportDefault",e[e.All=258047]="All",e[e.Modifier=126975]="Modifier",e))(Mp||{}),tg=(e=>(e[e.None=0]="None",e[e.IntrinsicNamedElement=1]="IntrinsicNamedElement",e[e.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",e[e.IntrinsicElement=3]="IntrinsicElement",e))(tg||{}),Lp=(e=>(e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.Reported=4]="Reported",e[e.ReportsUnmeasurable=8]="ReportsUnmeasurable",e[e.ReportsUnreliable=16]="ReportsUnreliable",e[e.ReportsMask=24]="ReportsMask",e))(Lp||{}),rg=(e=>(e[e.None=0]="None",e[e.Auto=1]="Auto",e[e.Loop=2]="Loop",e[e.Unique=3]="Unique",e[e.Node=4]="Node",e[e.KindMask=7]="KindMask",e[e.ReservedInNestedScopes=8]="ReservedInNestedScopes",e[e.Optimistic=16]="Optimistic",e[e.FileLevel=32]="FileLevel",e[e.AllowNameSubstitution=64]="AllowNameSubstitution",e))(rg||{}),ng=(e=>(e[e.None=0]="None",e[e.PrecedingLineBreak=1]="PrecedingLineBreak",e[e.PrecedingJSDocComment=2]="PrecedingJSDocComment",e[e.Unterminated=4]="Unterminated",e[e.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",e[e.Scientific=16]="Scientific",e[e.Octal=32]="Octal",e[e.HexSpecifier=64]="HexSpecifier",e[e.BinarySpecifier=128]="BinarySpecifier",e[e.OctalSpecifier=256]="OctalSpecifier",e[e.ContainsSeparator=512]="ContainsSeparator",e[e.UnicodeEscape=1024]="UnicodeEscape",e[e.ContainsInvalidEscape=2048]="ContainsInvalidEscape",e[e.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",e[e.NumericLiteralFlags=1008]="NumericLiteralFlags",e[e.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",e))(ng||{}),il=(e=>(e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Call=512]="Call",e[e.ReduceLabel=1024]="ReduceLabel",e[e.Referenced=2048]="Referenced",e[e.Shared=4096]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition",e))(il||{}),ig=(e=>(e[e.ExpectError=0]="ExpectError",e[e.Ignore=1]="Ignore",e))(ig||{}),Rp=class{},ag=(e=>(e[e.RootFile=0]="RootFile",e[e.SourceFromProjectReference=1]="SourceFromProjectReference",e[e.OutputFromProjectReference=2]="OutputFromProjectReference",e[e.Import=3]="Import",e[e.ReferenceFile=4]="ReferenceFile",e[e.TypeReferenceDirective=5]="TypeReferenceDirective",e[e.LibFile=6]="LibFile",e[e.LibReferenceDirective=7]="LibReferenceDirective",e[e.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",e))(ag||{}),sg=(e=>(e[e.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",e[e.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",e[e.ResolutionDiagnostics=2]="ResolutionDiagnostics",e))(sg||{}),og=(e=>(e[e.Js=0]="Js",e[e.Dts=1]="Dts",e))(og||{}),_g=(e=>(e[e.Not=0]="Not",e[e.SafeModules=1]="SafeModules",e[e.Completely=2]="Completely",e))(_g||{}),cg=(e=>(e[e.Success=0]="Success",e[e.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",e[e.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",e[e.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",e[e.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",e))(cg||{}),lg=(e=>(e[e.Ok=0]="Ok",e[e.NeedsOverride=1]="NeedsOverride",e[e.HasInvalidOverride=2]="HasInvalidOverride",e))(lg||{}),ug=(e=>(e[e.None=0]="None",e[e.Literal=1]="Literal",e[e.Subtype=2]="Subtype",e))(ug||{}),pg=(e=>(e[e.None=0]="None",e[e.Signature=1]="Signature",e[e.NoConstraints=2]="NoConstraints",e[e.Completions=4]="Completions",e[e.SkipBindingPatterns=8]="SkipBindingPatterns",e))(pg||{}),fg=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",e[e.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",e[e.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",e[e.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",e[e.AllowEmptyTuple=524288]="AllowEmptyTuple",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",e[e.WriteComputedProps=1073741824]="WriteComputedProps",e[e.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",e[e.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",e[e.IgnoreErrors=70221824]="IgnoreErrors",e[e.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.InInitialEntityName=16777216]="InInitialEntityName",e))(fg||{}),dg=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AddUndefined=131072]="AddUndefined",e[e.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",e[e.InArrayType=524288]="InArrayType",e[e.InElementType=2097152]="InElementType",e[e.InFirstTypeArgument=4194304]="InFirstTypeArgument",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.NodeBuilderFlagsMask=848330091]="NodeBuilderFlagsMask",e))(dg||{}),mg=(e=>(e[e.None=0]="None",e[e.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",e[e.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",e[e.AllowAnyNodeKind=4]="AllowAnyNodeKind",e[e.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",e[e.WriteComputedProps=16]="WriteComputedProps",e[e.DoNotIncludeSymbolChain=32]="DoNotIncludeSymbolChain",e))(mg||{}),hg=(e=>(e[e.Accessible=0]="Accessible",e[e.NotAccessible=1]="NotAccessible",e[e.CannotBeNamed=2]="CannotBeNamed",e))(hg||{}),gg=(e=>(e[e.UnionOrIntersection=0]="UnionOrIntersection",e[e.Spread=1]="Spread",e))(gg||{}),yg=(e=>(e[e.This=0]="This",e[e.Identifier=1]="Identifier",e[e.AssertsThis=2]="AssertsThis",e[e.AssertsIdentifier=3]="AssertsIdentifier",e))(yg||{}),vg=(e=>(e[e.Unknown=0]="Unknown",e[e.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",e[e.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",e[e.NumberLikeType=3]="NumberLikeType",e[e.BigIntLikeType=4]="BigIntLikeType",e[e.StringLikeType=5]="StringLikeType",e[e.BooleanType=6]="BooleanType",e[e.ArrayLikeType=7]="ArrayLikeType",e[e.ESSymbolType=8]="ESSymbolType",e[e.Promise=9]="Promise",e[e.TypeWithCallSignature=10]="TypeWithCallSignature",e[e.ObjectType=11]="ObjectType",e))(vg||{}),jp=(e=>(e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.Alias=2097152]="Alias",e[e.Prototype=4194304]="Prototype",e[e.ExportStar=8388608]="ExportStar",e[e.Optional=16777216]="Optional",e[e.Transient=33554432]="Transient",e[e.Assignment=67108864]="Assignment",e[e.ModuleExports=134217728]="ModuleExports",e[e.All=67108863]="All",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=111551]="Value",e[e.Type=788968]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",e[e.ParameterExcludes=111551]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=110991]="FunctionExcludes",e[e.ClassExcludes=899503]="ClassExcludes",e[e.InterfaceExcludes=788872]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=110735]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=103359]="MethodExcludes",e[e.GetAccessorExcludes=46015]="GetAccessorExcludes",e[e.SetAccessorExcludes=78783]="SetAccessorExcludes",e[e.AccessorExcludes=13247]="AccessorExcludes",e[e.TypeParameterExcludes=526824]="TypeParameterExcludes",e[e.TypeAliasExcludes=788968]="TypeAliasExcludes",e[e.AliasExcludes=2097152]="AliasExcludes",e[e.ModuleMember=2623475]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.ClassMember=106500]="ClassMember",e[e.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",e[e.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",e[e.Classifiable=2885600]="Classifiable",e[e.LateBindingContainer=6256]="LateBindingContainer",e))(jp||{}),bg=(e=>(e[e.Numeric=0]="Numeric",e[e.Literal=1]="Literal",e))(bg||{}),Tg=(e=>(e[e.None=0]="None",e[e.Instantiated=1]="Instantiated",e[e.SyntheticProperty=2]="SyntheticProperty",e[e.SyntheticMethod=4]="SyntheticMethod",e[e.Readonly=8]="Readonly",e[e.ReadPartial=16]="ReadPartial",e[e.WritePartial=32]="WritePartial",e[e.HasNonUniformType=64]="HasNonUniformType",e[e.HasLiteralType=128]="HasLiteralType",e[e.ContainsPublic=256]="ContainsPublic",e[e.ContainsProtected=512]="ContainsProtected",e[e.ContainsPrivate=1024]="ContainsPrivate",e[e.ContainsStatic=2048]="ContainsStatic",e[e.Late=4096]="Late",e[e.ReverseMapped=8192]="ReverseMapped",e[e.OptionalParameter=16384]="OptionalParameter",e[e.RestParameter=32768]="RestParameter",e[e.DeferredType=65536]="DeferredType",e[e.HasNeverType=131072]="HasNeverType",e[e.Mapped=262144]="Mapped",e[e.StripOptional=524288]="StripOptional",e[e.Unresolved=1048576]="Unresolved",e[e.Synthetic=6]="Synthetic",e[e.Discriminant=192]="Discriminant",e[e.Partial=48]="Partial",e))(Tg||{}),Sg=(e=>(e.Call="__call",e.Constructor="__constructor",e.New="__new",e.Index="__index",e.ExportStar="__export",e.Global="__global",e.Missing="__missing",e.Type="__type",e.Object="__object",e.JSXAttributes="__jsxAttributes",e.Class="__class",e.Function="__function",e.Computed="__computed",e.Resolving="__resolving__",e.ExportEquals="export=",e.Default="default",e.This="this",e))(Sg||{}),xg=(e=>(e[e.None=0]="None",e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.CaptureNewTarget=8]="CaptureNewTarget",e[e.SuperInstance=16]="SuperInstance",e[e.SuperStatic=32]="SuperStatic",e[e.ContextChecked=64]="ContextChecked",e[e.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",e[e.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",e[e.CaptureArguments=512]="CaptureArguments",e[e.EnumValuesComputed=1024]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",e[e.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",e[e.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",e[e.ClassWithBodyScopedClassBinding=65536]="ClassWithBodyScopedClassBinding",e[e.BodyScopedClassBinding=131072]="BodyScopedClassBinding",e[e.NeedsLoopOutParameter=262144]="NeedsLoopOutParameter",e[e.AssignmentsMarked=524288]="AssignmentsMarked",e[e.ClassWithConstructorReference=1048576]="ClassWithConstructorReference",e[e.ConstructorReferenceInClass=2097152]="ConstructorReferenceInClass",e[e.ContainsClassWithPrivateIdentifiers=4194304]="ContainsClassWithPrivateIdentifiers",e[e.ContainsSuperPropertyInStaticInitializer=8388608]="ContainsSuperPropertyInStaticInitializer",e[e.InCheckIdentifier=16777216]="InCheckIdentifier",e))(xg||{}),Jp=(e=>(e[e.Any=1]="Any",e[e.Unknown=2]="Unknown",e[e.String=4]="String",e[e.Number=8]="Number",e[e.Boolean=16]="Boolean",e[e.Enum=32]="Enum",e[e.BigInt=64]="BigInt",e[e.StringLiteral=128]="StringLiteral",e[e.NumberLiteral=256]="NumberLiteral",e[e.BooleanLiteral=512]="BooleanLiteral",e[e.EnumLiteral=1024]="EnumLiteral",e[e.BigIntLiteral=2048]="BigIntLiteral",e[e.ESSymbol=4096]="ESSymbol",e[e.UniqueESSymbol=8192]="UniqueESSymbol",e[e.Void=16384]="Void",e[e.Undefined=32768]="Undefined",e[e.Null=65536]="Null",e[e.Never=131072]="Never",e[e.TypeParameter=262144]="TypeParameter",e[e.Object=524288]="Object",e[e.Union=1048576]="Union",e[e.Intersection=2097152]="Intersection",e[e.Index=4194304]="Index",e[e.IndexedAccess=8388608]="IndexedAccess",e[e.Conditional=16777216]="Conditional",e[e.Substitution=33554432]="Substitution",e[e.NonPrimitive=67108864]="NonPrimitive",e[e.TemplateLiteral=134217728]="TemplateLiteral",e[e.StringMapping=268435456]="StringMapping",e[e.AnyOrUnknown=3]="AnyOrUnknown",e[e.Nullable=98304]="Nullable",e[e.Literal=2944]="Literal",e[e.Unit=109472]="Unit",e[e.Freshable=2976]="Freshable",e[e.StringOrNumberLiteral=384]="StringOrNumberLiteral",e[e.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",e[e.DefinitelyFalsy=117632]="DefinitelyFalsy",e[e.PossiblyFalsy=117724]="PossiblyFalsy",e[e.Intrinsic=67359327]="Intrinsic",e[e.Primitive=134348796]="Primitive",e[e.StringLike=402653316]="StringLike",e[e.NumberLike=296]="NumberLike",e[e.BigIntLike=2112]="BigIntLike",e[e.BooleanLike=528]="BooleanLike",e[e.EnumLike=1056]="EnumLike",e[e.ESSymbolLike=12288]="ESSymbolLike",e[e.VoidLike=49152]="VoidLike",e[e.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",e[e.DisjointDomains=469892092]="DisjointDomains",e[e.UnionOrIntersection=3145728]="UnionOrIntersection",e[e.StructuredType=3670016]="StructuredType",e[e.TypeVariable=8650752]="TypeVariable",e[e.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",e[e.InstantiablePrimitive=406847488]="InstantiablePrimitive",e[e.Instantiable=465829888]="Instantiable",e[e.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",e[e.ObjectFlagsType=3899393]="ObjectFlagsType",e[e.Simplifiable=25165824]="Simplifiable",e[e.Singleton=67358815]="Singleton",e[e.Narrowable=536624127]="Narrowable",e[e.IncludesMask=205258751]="IncludesMask",e[e.IncludesMissingType=262144]="IncludesMissingType",e[e.IncludesNonWideningType=4194304]="IncludesNonWideningType",e[e.IncludesWildcard=8388608]="IncludesWildcard",e[e.IncludesEmptyObject=16777216]="IncludesEmptyObject",e[e.IncludesInstantiable=33554432]="IncludesInstantiable",e[e.NotPrimitiveUnion=36323363]="NotPrimitiveUnion",e))(Jp||{}),Fp=(e=>(e[e.None=0]="None",e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ReverseMapped=1024]="ReverseMapped",e[e.JsxAttributes=2048]="JsxAttributes",e[e.JSLiteral=4096]="JSLiteral",e[e.FreshLiteral=8192]="FreshLiteral",e[e.ArrayLiteral=16384]="ArrayLiteral",e[e.PrimitiveUnion=32768]="PrimitiveUnion",e[e.ContainsWideningType=65536]="ContainsWideningType",e[e.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",e[e.NonInferrableType=262144]="NonInferrableType",e[e.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",e[e.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",e[e.ClassOrInterface=3]="ClassOrInterface",e[e.RequiresWidening=196608]="RequiresWidening",e[e.PropagatingFlags=458752]="PropagatingFlags",e[e.ObjectTypeKindMask=1343]="ObjectTypeKindMask",e[e.ContainsSpread=2097152]="ContainsSpread",e[e.ObjectRestType=4194304]="ObjectRestType",e[e.InstantiationExpressionType=8388608]="InstantiationExpressionType",e[e.IsClassInstanceClone=16777216]="IsClassInstanceClone",e[e.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",e[e.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",e[e.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",e[e.IsGenericObjectType=4194304]="IsGenericObjectType",e[e.IsGenericIndexType=8388608]="IsGenericIndexType",e[e.IsGenericType=12582912]="IsGenericType",e[e.ContainsIntersections=16777216]="ContainsIntersections",e[e.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",e[e.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",e[e.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",e[e.IsNeverIntersection=33554432]="IsNeverIntersection",e))(Fp||{}),Eg=(e=>(e[e.Invariant=0]="Invariant",e[e.Covariant=1]="Covariant",e[e.Contravariant=2]="Contravariant",e[e.Bivariant=3]="Bivariant",e[e.Independent=4]="Independent",e[e.VarianceMask=7]="VarianceMask",e[e.Unmeasurable=8]="Unmeasurable",e[e.Unreliable=16]="Unreliable",e[e.AllowsStructuralFallback=24]="AllowsStructuralFallback",e))(Eg||{}),wg=(e=>(e[e.Required=1]="Required",e[e.Optional=2]="Optional",e[e.Rest=4]="Rest",e[e.Variadic=8]="Variadic",e[e.Fixed=3]="Fixed",e[e.Variable=12]="Variable",e[e.NonRequired=14]="NonRequired",e[e.NonRest=11]="NonRest",e))(wg||{}),Cg=(e=>(e[e.None=0]="None",e[e.IncludeUndefined=1]="IncludeUndefined",e[e.NoIndexSignatures=2]="NoIndexSignatures",e[e.Writing=4]="Writing",e[e.CacheSymbol=8]="CacheSymbol",e[e.NoTupleBoundsCheck=16]="NoTupleBoundsCheck",e[e.ExpressionPosition=32]="ExpressionPosition",e[e.ReportDeprecated=64]="ReportDeprecated",e[e.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",e[e.Contextual=256]="Contextual",e[e.Persistent=1]="Persistent",e))(Cg||{}),Ag=(e=>(e[e.Component=0]="Component",e[e.Function=1]="Function",e[e.Mixed=2]="Mixed",e))(Ag||{}),Pg=(e=>(e[e.Call=0]="Call",e[e.Construct=1]="Construct",e))(Pg||{}),Bp=(e=>(e[e.None=0]="None",e[e.HasRestParameter=1]="HasRestParameter",e[e.HasLiteralTypes=2]="HasLiteralTypes",e[e.Abstract=4]="Abstract",e[e.IsInnerCallChain=8]="IsInnerCallChain",e[e.IsOuterCallChain=16]="IsOuterCallChain",e[e.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",e[e.PropagatingFlags=39]="PropagatingFlags",e[e.CallChainFlags=24]="CallChainFlags",e))(Bp||{}),Dg=(e=>(e[e.String=0]="String",e[e.Number=1]="Number",e))(Dg||{}),kg=(e=>(e[e.Simple=0]="Simple",e[e.Array=1]="Array",e[e.Deferred=2]="Deferred",e[e.Function=3]="Function",e[e.Composite=4]="Composite",e[e.Merged=5]="Merged",e))(kg||{}),Ig=(e=>(e[e.None=0]="None",e[e.NakedTypeVariable=1]="NakedTypeVariable",e[e.SpeculativeTuple=2]="SpeculativeTuple",e[e.SubstituteSource=4]="SubstituteSource",e[e.HomomorphicMappedType=8]="HomomorphicMappedType",e[e.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",e[e.MappedTypeConstraint=32]="MappedTypeConstraint",e[e.ContravariantConditional=64]="ContravariantConditional",e[e.ReturnType=128]="ReturnType",e[e.LiteralKeyof=256]="LiteralKeyof",e[e.NoConstraints=512]="NoConstraints",e[e.AlwaysStrict=1024]="AlwaysStrict",e[e.MaxValue=2048]="MaxValue",e[e.PriorityImpliesCombination=416]="PriorityImpliesCombination",e[e.Circularity=-1]="Circularity",e))(Ig||{}),Ng=(e=>(e[e.None=0]="None",e[e.NoDefault=1]="NoDefault",e[e.AnyDefault=2]="AnyDefault",e[e.SkippedGenericFunction=4]="SkippedGenericFunction",e))(Ng||{}),Og=(e=>(e[e.False=0]="False",e[e.Unknown=1]="Unknown",e[e.Maybe=3]="Maybe",e[e.True=-1]="True",e))(Og||{}),Mg=(e=>(e[e.None=0]="None",e[e.ExportsProperty=1]="ExportsProperty",e[e.ModuleExports=2]="ModuleExports",e[e.PrototypeProperty=3]="PrototypeProperty",e[e.ThisProperty=4]="ThisProperty",e[e.Property=5]="Property",e[e.Prototype=6]="Prototype",e[e.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",e[e.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",e[e.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",e))(Mg||{}),qp=(e=>(e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message",e))(qp||{}),Lg=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e[e.Node10=2]="Node10",e[e.Node16=3]="Node16",e[e.NodeNext=99]="NodeNext",e[e.Bundler=100]="Bundler",e))(Lg||{}),Rg=(e=>(e[e.Legacy=1]="Legacy",e[e.Auto=2]="Auto",e[e.Force=3]="Force",e))(Rg||{}),jg=(e=>(e[e.FixedPollingInterval=0]="FixedPollingInterval",e[e.PriorityPollingInterval=1]="PriorityPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e[e.UseFsEvents=4]="UseFsEvents",e[e.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",e))(jg||{}),Jg=(e=>(e[e.UseFsEvents=0]="UseFsEvents",e[e.FixedPollingInterval=1]="FixedPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e))(Jg||{}),Fg=(e=>(e[e.FixedInterval=0]="FixedInterval",e[e.PriorityInterval=1]="PriorityInterval",e[e.DynamicPriority=2]="DynamicPriority",e[e.FixedChunkSize=3]="FixedChunkSize",e))(Fg||{}),Bg=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ES2020=6]="ES2020",e[e.ES2022=7]="ES2022",e[e.ESNext=99]="ESNext",e[e.Node16=100]="Node16",e[e.NodeNext=199]="NodeNext",e))(Bg||{}),qg=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(qg||{}),Ug=(e=>(e[e.Remove=0]="Remove",e[e.Preserve=1]="Preserve",e[e.Error=2]="Error",e))(Ug||{}),zg=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(zg||{}),Wg=(e=>(e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX",e[e.External=5]="External",e[e.JSON=6]="JSON",e[e.Deferred=7]="Deferred",e))(Wg||{}),Vg=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ES2021=8]="ES2021",e[e.ES2022=9]="ES2022",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(Vg||{}),Hg=(e=>(e[e.Standard=0]="Standard",e[e.JSX=1]="JSX",e))(Hg||{}),Gg=(e=>(e[e.None=0]="None",e[e.Recursive=1]="Recursive",e))(Gg||{}),$g=(e=>(e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab",e))($g||{}),Kg=(e=>(e.Ts=".ts",e.Tsx=".tsx",e.Dts=".d.ts",e.Js=".js",e.Jsx=".jsx",e.Json=".json",e.TsBuildInfo=".tsbuildinfo",e.Mjs=".mjs",e.Mts=".mts",e.Dmts=".d.mts",e.Cjs=".cjs",e.Cts=".cts",e.Dcts=".d.cts",e))(Kg||{}),Up=(e=>(e[e.None=0]="None",e[e.ContainsTypeScript=1]="ContainsTypeScript",e[e.ContainsJsx=2]="ContainsJsx",e[e.ContainsESNext=4]="ContainsESNext",e[e.ContainsES2022=8]="ContainsES2022",e[e.ContainsES2021=16]="ContainsES2021",e[e.ContainsES2020=32]="ContainsES2020",e[e.ContainsES2019=64]="ContainsES2019",e[e.ContainsES2018=128]="ContainsES2018",e[e.ContainsES2017=256]="ContainsES2017",e[e.ContainsES2016=512]="ContainsES2016",e[e.ContainsES2015=1024]="ContainsES2015",e[e.ContainsGenerator=2048]="ContainsGenerator",e[e.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",e[e.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",e[e.ContainsLexicalThis=16384]="ContainsLexicalThis",e[e.ContainsRestOrSpread=32768]="ContainsRestOrSpread",e[e.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",e[e.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=524288]="ContainsBindingPattern",e[e.ContainsYield=1048576]="ContainsYield",e[e.ContainsAwait=2097152]="ContainsAwait",e[e.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",e[e.ContainsDynamicImport=8388608]="ContainsDynamicImport",e[e.ContainsClassFields=16777216]="ContainsClassFields",e[e.ContainsDecorators=33554432]="ContainsDecorators",e[e.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",e[e.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",e[e.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",e[e.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",e[e.HasComputedFlags=-2147483648]="HasComputedFlags",e[e.AssertTypeScript=1]="AssertTypeScript",e[e.AssertJsx=2]="AssertJsx",e[e.AssertESNext=4]="AssertESNext",e[e.AssertES2022=8]="AssertES2022",e[e.AssertES2021=16]="AssertES2021",e[e.AssertES2020=32]="AssertES2020",e[e.AssertES2019=64]="AssertES2019",e[e.AssertES2018=128]="AssertES2018",e[e.AssertES2017=256]="AssertES2017",e[e.AssertES2016=512]="AssertES2016",e[e.AssertES2015=1024]="AssertES2015",e[e.AssertGenerator=2048]="AssertGenerator",e[e.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",e[e.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",e[e.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",e[e.NodeExcludes=-2147483648]="NodeExcludes",e[e.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",e[e.FunctionExcludes=-1937940480]="FunctionExcludes",e[e.ConstructorExcludes=-1937948672]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",e[e.PropertyExcludes=-2013249536]="PropertyExcludes",e[e.ClassExcludes=-2147344384]="ClassExcludes",e[e.ModuleExcludes=-1941676032]="ModuleExcludes",e[e.TypeExcludes=-2]="TypeExcludes",e[e.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",e[e.ParameterExcludes=-2147483648]="ParameterExcludes",e[e.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",e[e.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",e[e.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",e[e.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",e))(Up||{}),zp=(e=>(e[e.TabStop=0]="TabStop",e[e.Placeholder=1]="Placeholder",e[e.Choice=2]="Choice",e[e.Variable=3]="Variable",e))(zp||{}),Wp=(e=>(e[e.None=0]="None",e[e.SingleLine=1]="SingleLine",e[e.MultiLine=2]="MultiLine",e[e.AdviseOnEmitNode=4]="AdviseOnEmitNode",e[e.NoSubstitution=8]="NoSubstitution",e[e.CapturesThis=16]="CapturesThis",e[e.NoLeadingSourceMap=32]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=64]="NoTrailingSourceMap",e[e.NoSourceMap=96]="NoSourceMap",e[e.NoNestedSourceMaps=128]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=768]="NoTokenSourceMaps",e[e.NoLeadingComments=1024]="NoLeadingComments",e[e.NoTrailingComments=2048]="NoTrailingComments",e[e.NoComments=3072]="NoComments",e[e.NoNestedComments=4096]="NoNestedComments",e[e.HelperName=8192]="HelperName",e[e.ExportName=16384]="ExportName",e[e.LocalName=32768]="LocalName",e[e.InternalName=65536]="InternalName",e[e.Indented=131072]="Indented",e[e.NoIndentation=262144]="NoIndentation",e[e.AsyncFunctionBody=524288]="AsyncFunctionBody",e[e.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",e[e.CustomPrologue=2097152]="CustomPrologue",e[e.NoHoisting=4194304]="NoHoisting",e[e.HasEndOfDeclarationMarker=8388608]="HasEndOfDeclarationMarker",e[e.Iterator=16777216]="Iterator",e[e.NoAsciiEscaping=33554432]="NoAsciiEscaping",e))(Wp||{}),Xg=(e=>(e[e.None=0]="None",e[e.TypeScriptClassWrapper=1]="TypeScriptClassWrapper",e[e.NeverApplyImportHelper=2]="NeverApplyImportHelper",e[e.IgnoreSourceNewlines=4]="IgnoreSourceNewlines",e[e.Immutable=8]="Immutable",e[e.IndirectCall=16]="IndirectCall",e[e.TransformPrivateStaticElements=32]="TransformPrivateStaticElements",e))(Xg||{}),Yg=(e=>(e[e.Extends=1]="Extends",e[e.Assign=2]="Assign",e[e.Rest=4]="Rest",e[e.Decorate=8]="Decorate",e[e.ESDecorateAndRunInitializers=8]="ESDecorateAndRunInitializers",e[e.Metadata=16]="Metadata",e[e.Param=32]="Param",e[e.Awaiter=64]="Awaiter",e[e.Generator=128]="Generator",e[e.Values=256]="Values",e[e.Read=512]="Read",e[e.SpreadArray=1024]="SpreadArray",e[e.Await=2048]="Await",e[e.AsyncGenerator=4096]="AsyncGenerator",e[e.AsyncDelegator=8192]="AsyncDelegator",e[e.AsyncValues=16384]="AsyncValues",e[e.ExportStar=32768]="ExportStar",e[e.ImportStar=65536]="ImportStar",e[e.ImportDefault=131072]="ImportDefault",e[e.MakeTemplateObject=262144]="MakeTemplateObject",e[e.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",e[e.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",e[e.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",e[e.CreateBinding=4194304]="CreateBinding",e[e.SetFunctionName=8388608]="SetFunctionName",e[e.PropKey=16777216]="PropKey",e[e.FirstEmitHelper=1]="FirstEmitHelper",e[e.LastEmitHelper=16777216]="LastEmitHelper",e[e.ForOfIncludes=256]="ForOfIncludes",e[e.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",e[e.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",e[e.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",e[e.SpreadIncludes=1536]="SpreadIncludes",e))(Yg||{}),Qg=(e=>(e[e.SourceFile=0]="SourceFile",e[e.Expression=1]="Expression",e[e.IdentifierName=2]="IdentifierName",e[e.MappedTypeParameter=3]="MappedTypeParameter",e[e.Unspecified=4]="Unspecified",e[e.EmbeddedStatement=5]="EmbeddedStatement",e[e.JsxAttributeValue=6]="JsxAttributeValue",e))(Qg||{}),Zg=(e=>(e[e.Parentheses=1]="Parentheses",e[e.TypeAssertions=2]="TypeAssertions",e[e.NonNullAssertions=4]="NonNullAssertions",e[e.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",e[e.Assertions=6]="Assertions",e[e.All=15]="All",e[e.ExcludeJSDocTypeAssertion=16]="ExcludeJSDocTypeAssertion",e))(Zg||{}),ey=(e=>(e[e.None=0]="None",e[e.InParameters=1]="InParameters",e[e.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",e))(ey||{}),ty=(e=>(e.Prologue="prologue",e.EmitHelpers="emitHelpers",e.NoDefaultLib="no-default-lib",e.Reference="reference",e.Type="type",e.TypeResolutionModeRequire="type-require",e.TypeResolutionModeImport="type-import",e.Lib="lib",e.Prepend="prepend",e.Text="text",e.Internal="internal",e))(ty||{}),ry=(e=>(e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.AsteriskDelimited=32]="AsteriskDelimited",e[e.DelimitersMask=60]="DelimitersMask",e[e.AllowTrailingComma=64]="AllowTrailingComma",e[e.Indented=128]="Indented",e[e.SpaceBetweenBraces=256]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",e[e.Braces=1024]="Braces",e[e.Parenthesis=2048]="Parenthesis",e[e.AngleBrackets=4096]="AngleBrackets",e[e.SquareBrackets=8192]="SquareBrackets",e[e.BracketsMask=15360]="BracketsMask",e[e.OptionalIfUndefined=16384]="OptionalIfUndefined",e[e.OptionalIfEmpty=32768]="OptionalIfEmpty",e[e.Optional=49152]="Optional",e[e.PreferNewLine=65536]="PreferNewLine",e[e.NoTrailingNewLine=131072]="NoTrailingNewLine",e[e.NoInterveningComments=262144]="NoInterveningComments",e[e.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",e[e.SingleElement=1048576]="SingleElement",e[e.SpaceAfterList=2097152]="SpaceAfterList",e[e.Modifiers=2359808]="Modifiers",e[e.HeritageClauses=512]="HeritageClauses",e[e.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",e[e.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",e[e.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",e[e.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",e[e.UnionTypeConstituents=516]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",e[e.ImportClauseEntries=526226]="ImportClauseEntries",e[e.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",e[e.CommaListElements=528]="CommaListElements",e[e.CallExpressionArguments=2576]="CallExpressionArguments",e[e.NewExpressionArguments=18960]="NewExpressionArguments",e[e.TemplateExpressionSpans=262144]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=768]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=129]="MultiLineBlockStatements",e[e.VariableDeclarationList=528]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=0]="ClassHeritageClauses",e[e.ClassMembers=129]="ClassMembers",e[e.InterfaceMembers=129]="InterfaceMembers",e[e.EnumMembers=145]="EnumMembers",e[e.CaseBlockClauses=129]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",e[e.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",e[e.JsxElementAttributes=262656]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=528]="HeritageClauseTypes",e[e.SourceFileStatements=131073]="SourceFileStatements",e[e.Decorators=2146305]="Decorators",e[e.TypeArguments=53776]="TypeArguments",e[e.TypeParameters=53776]="TypeParameters",e[e.Parameters=2576]="Parameters",e[e.IndexSignatureParameters=8848]="IndexSignatureParameters",e[e.JSDocComment=33]="JSDocComment",e))(ry||{}),ny=(e=>(e[e.None=0]="None",e[e.TripleSlashXML=1]="TripleSlashXML",e[e.SingleLine=2]="SingleLine",e[e.MultiLine=4]="MultiLine",e[e.All=7]="All",e[e.Default=7]="Default",e))(ny||{}),Vp={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}}),B5=()=>{},iy;function ay(e){return e===47||e===92}function q5(e){return al(e)<0}function A_(e){return al(e)>0}function U5(e){let t=al(e);return t>0&&t===e.length}function sy(e){return al(e)!==0}function So(e){return/^\.\.?($|[\\/])/.test(e)}function z5(e){return!sy(e)&&!So(e)}function OT(e){return Fi(sl(e),".")}function ns(e,t){return e.length>t.length&&es(e,t)}function da(e,t){for(let r of t)if(ns(e,r))return!0;return!1}function Hp(e){return e.length>0&&ay(e.charCodeAt(e.length-1))}function MT(e){return e>=97&&e<=122||e>=65&&e<=90}function W5(e,t){let r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){let s=e.charCodeAt(t+2);if(s===97||s===65)return t+3}return-1}function al(e){if(!e)return 0;let t=e.charCodeAt(0);if(t===47||t===92){if(e.charCodeAt(1)!==t)return 1;let s=e.indexOf(t===47?zn:py,2);return s<0?e.length:s+1}if(MT(t)&&e.charCodeAt(1)===58){let s=e.charCodeAt(2);if(s===47||s===92)return 3;if(e.length===2)return 2}let r=e.indexOf(fy);if(r!==-1){let s=r+fy.length,f=e.indexOf(zn,s);if(f!==-1){let x=e.slice(0,r),w=e.slice(s,f);if(x==="file"&&(w===""||w==="localhost")&&MT(e.charCodeAt(f+1))){let A=W5(e,f+2);if(A!==-1){if(e.charCodeAt(A)===47)return~(A+1);if(A===e.length)return~A}}return~(f+1)}return~e.length}return 0}function Bi(e){let t=al(e);return t<0?~t:t}function ma(e){e=Eo(e);let t=Bi(e);return t===e.length?e:(e=P_(e),e.slice(0,Math.max(t,e.lastIndexOf(zn))))}function sl(e,t,r){if(e=Eo(e),Bi(e)===e.length)return"";e=P_(e);let f=e.slice(Math.max(Bi(e),e.lastIndexOf(zn)+1)),x=t!==void 0&&r!==void 0?Gp(f,t,r):void 0;return x?f.slice(0,f.length-x.length):f}function LT(e,t,r){if(Pn(t,".")||(t="."+t),e.length>=t.length&&e.charCodeAt(e.length-t.length)===46){let s=e.slice(e.length-t.length);if(r(s,t))return s}}function V5(e,t,r){if(typeof t=="string")return LT(e,t,r)||"";for(let s of t){let f=LT(e,s,r);if(f)return f}return""}function Gp(e,t,r){if(t)return V5(P_(e),t,r?Ms:To);let s=sl(e),f=s.lastIndexOf(".");return f>=0?s.substring(f):""}function H5(e,t){let r=e.substring(0,t),s=e.substring(t).split(zn);return s.length&&!Cn(s)&&s.pop(),[r,...s]}function qi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e=tn(t,e),H5(e,Bi(e))}function xo(e){return e.length===0?"":(e[0]&&wo(e[0]))+e.slice(1).join(zn)}function Eo(e){return e.indexOf("\\")!==-1?e.replace(BT,zn):e}function is(e){if(!Ke(e))return[];let t=[e[0]];for(let r=1;r1){if(t[t.length-1]!==".."){t.pop();continue}}else if(t[0])continue}t.push(s)}}return t}function tn(e){e&&(e=Eo(e));for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s0==Bi(t)>0,"Paths must either both be absolute or both be relative");let x=ly(e,t,(typeof r=="boolean"?r:!1)?Ms:To,typeof r=="function"?r:rr);return xo(x)}function Z5(e,t,r){return A_(e)?uy(t,e,t,r,!1):e}function eA(e,t,r){return _y(JT(ma(e),t,r))}function uy(e,t,r,s,f){let x=ly(oy(r,e),oy(r,t),To,s),w=x[0];if(f&&A_(w)){let A=w.charAt(0)===zn?"file://":"file:///";x[0]=A+w}return xo(x)}function FT(e,t){for(;;){let r=t(e);if(r!==void 0)return r;let s=ma(e);if(s===e)return;e=s}}function tA(e){return es(e,"/node_modules")}var zn,py,fy,BT,ol,rA=D({"src/compiler/path.ts"(){"use strict";nn(),zn="/",py="\\",fy="://",BT=/\\/g,ol=/(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/}});function i(e,t,r,s,f,x,w){return{code:e,category:t,key:r,message:s,reportsUnnecessary:f,elidedInCompatabilityPyramid:x,reportsDeprecated:w}}var ve,nA=D({"src/compiler/diagnosticInformationMap.generated.ts"(){"use strict";NT(),ve={Unterminated_string_literal:i(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:i(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:i(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:i(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:i(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:i(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:i(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:i(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:i(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:i(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:i(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:i(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:i(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:i(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:i(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:i(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:i(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:i(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:i(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:i(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:i(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:i(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:i(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:i(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:i(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:i(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:i(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:i(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:i(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:i(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:i(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:i(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:i(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:i(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:i(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:i(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:i(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:i(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:i(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:i(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:i(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:i(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055","Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:i(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:i(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:i(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:i(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:i(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:i(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:i(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:i(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:i(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:i(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:i(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:i(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:i(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:i(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:i(1085,1,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:i(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:i(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:i(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:i(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:i(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:i(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:i(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:i(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:i(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:i(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:i(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:i(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:i(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:i(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:i(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:i(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:i(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:i(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:i(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:i(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:i(1110,1,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:i(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:i(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:i(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:i(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:i(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:i(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:i(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:i(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:i(1121,1,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:i(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:i(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:i(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:i(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:i(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:i(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:i(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:i(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:i(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:i(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:i(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:i(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:i(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:i(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:i(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:i(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:i(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:i(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:i(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:i(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:i(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:i(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:i(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:i(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:i(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:i(1155,1,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:i(1156,1,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:i(1157,1,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:i(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:i(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:i(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:i(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:i(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:i(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:i(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:i(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:i(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:i(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:i(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:i(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:i(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:i(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:i(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:i(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:i(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:i(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:i(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:i(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:i(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:i(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:i(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:i(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:i(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:i(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:i(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:i(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:i(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:i(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:i(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:i(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:i(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:i(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:i(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:i(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:i(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:i(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:i(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:i(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:i(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:i(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:i(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:i(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:i(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:i(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:i(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:i(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:i(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:i(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:i(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:i(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:i(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:i(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:i(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:i(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:i(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:i(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:i(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:i(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:i(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:i(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:i(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:i(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:i(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:i(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:i(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:i(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:i(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:i(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:i(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:i(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:i(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:i(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:i(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:i(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:i(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:i(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:i(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:i(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:i(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:i(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:i(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:i(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:i(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:i(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:i(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:i(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:i(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:i(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:i(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:i(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:i(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:i(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:i(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:i(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:i(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:i(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:i(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:i(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:i(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:i(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:i(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:i(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:i(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1286,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286","ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:i(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),with_statements_are_not_allowed_in_an_async_function_block:i(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:i(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:i(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:i(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:i(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:i(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:i(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:i(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:i(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:i(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:i(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:i(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."),Argument_of_dynamic_import_cannot_be_spread_element:i(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:i(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:i(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:i(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:i(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:i(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:i(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:i(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:i(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:i(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:i(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:i(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:i(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:i(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:i(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:i(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:i(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:i(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:i(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:i(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:i(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:i(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:i(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:i(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:i(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:i(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:i(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:i(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:i(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:i(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:i(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:i(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:i(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:i(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:i(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:i(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:i(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:i(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:i(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:i(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:i(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:i(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:i(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:i(1371,1,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:i(1373,3,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:i(1374,3,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:i(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:i(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:i(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:i(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:i(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:i(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:i(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:i(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:i(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:i(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:i(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:i(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:i(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:i(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:i(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:i(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:i(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:i(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:i(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:i(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:i(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:i(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:i(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:i(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:i(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:i(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:i(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:i(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:i(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:i(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:i(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:i(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:i(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:i(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:i(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:i(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:i(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:i(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:i(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:i(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:i(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:i(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:i(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:i(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:i(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:i(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:i(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:i(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:i(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:i(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:i(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:i(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:i(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:i(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:i(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:i(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:i(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:i(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1444,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1446,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:i(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:i(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:i(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:i(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext:i(1452,1,"resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452","'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),resolution_mode_should_be_either_require_or_import:i(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:i(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:i(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:i(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:i(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:i(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:i(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:i(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:i(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:i(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:i(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:i(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:i(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:i(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:i(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:i(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:i(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:i(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:i(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:i(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:i(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:i(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),The_types_of_0_are_incompatible_between_these_types:i(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:i(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:i(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:i(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:i(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:i(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:i(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:i(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:i(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:i(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:i(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:i(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:i(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:i(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:i(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:i(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:i(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:i(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:i(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:i(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:i(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:i(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:i(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:i(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:i(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:i(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:i(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:i(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:i(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:i(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:i(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:i(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:i(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:i(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:i(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:i(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:i(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:i(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:i(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:i(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:i(2333,1,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:i(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:i(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:i(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:i(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:i(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:i(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:i(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:i(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:i(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:i(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:i(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:i(2346,1,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:i(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:i(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:i(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:i(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:i(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:i(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:i(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:i(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:i(2355,1,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:i(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:i(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:i(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:i(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:i(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:i(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:i(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:i(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:i(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:i(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:i(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:i(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:i(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:i(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:i(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:i(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:i(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:i(2380,1,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:i(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:i(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:i(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:i(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:i(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:i(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:i(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:i(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:i(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:i(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:i(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:i(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:i(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:i(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:i(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:i(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:i(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:i(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:i(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:i(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:i(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:i(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:i(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:i(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:i(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:i(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:i(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:i(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:i(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:i(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:i(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:i(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:i(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:i(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:i(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:i(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:i(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:i(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:i(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:i(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:i(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:i(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:i(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:i(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:i(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:i(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:i(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:i(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:i(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:i(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:i(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:i(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:i(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:i(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:i(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:i(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:i(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:i(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:i(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:i(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:i(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:i(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:i(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:i(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:i(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:i(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:i(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:i(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:i(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:i(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:i(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:i(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:i(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:i(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:i(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:i(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:i(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:i(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:i(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:i(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:i(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:i(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:i(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:i(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:i(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:i(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:i(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:i(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:i(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:i(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:i(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:i(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:i(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:i(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:i(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:i(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:i(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:i(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:i(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:i(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:i(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:i(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:i(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:i(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:i(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:i(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:i(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:i(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:i(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:i(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:i(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:i(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:i(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:i(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:i(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:i(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:i(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:i(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:i(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:i(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:i(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:i(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:i(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:i(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:i(2525,1,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:i(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:i(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:i(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:i(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:i(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:i(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:i(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:i(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:i(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:i(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:i(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:i(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:i(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:i(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:i(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:i(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:i(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:i(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:i(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:i(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:i(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:i(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:i(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:i(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:i(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:i(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:i(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:i(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:i(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:i(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:i(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:i(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:i(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:i(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:i(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:i(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:i(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:i(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:i(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:i(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:i(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:i(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:i(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:i(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:i(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:i(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:i(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:i(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:i(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:i(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:i(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:i(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:i(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:i(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:i(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:i(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:i(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:i(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:i(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:i(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:i(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:i(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:i(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:i(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:i(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:i(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:i(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:i(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:i(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:i(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:i(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:i(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:i(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:i(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:i(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:i(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:i(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:i(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:i(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:i(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:i(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:i(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:i(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:i(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:i(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:i(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:i(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:i(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:i(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:i(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:i(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:i(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:i(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:i(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:i(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:i(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:i(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:i(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:i(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:i(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:i(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:i(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:i(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:i(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:i(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:i(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:i(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:i(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:i(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:i(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:i(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:i(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:i(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:i(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:i(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:i(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:i(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:i(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:i(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:i(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:i(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:i(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:i(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:i(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:i(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:i(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:i(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:i(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:i(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:i(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:i(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:i(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:i(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:i(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:i(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:i(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:i(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:i(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:i(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:i(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:i(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:i(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2705,1,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:i(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:i(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:i(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:i(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:i(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2712,1,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:i(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:i(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:i(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:i(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:i(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:i(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:i(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:i(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:i(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:i(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:i(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:i(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:i(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:i(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:i(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:i(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:i(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:i(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:i(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:i(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:i(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:i(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:i(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:i(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:i(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:i(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:i(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:i(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:i(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:i(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:i(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:i(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:i(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:i(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:i(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:i(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:i(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:i(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:i(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:i(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:i(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:i(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:i(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:i(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:i(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:i(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:i(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:i(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:i(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:i(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:i(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:i(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:i(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:i(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:i(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:i(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:i(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:i(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:i(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:i(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:i(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:i(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:i(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:i(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:i(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:i(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:i(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:i(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:i(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:i(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:i(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:i(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:i(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:i(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:i(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:i(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:i(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:i(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:i(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:i(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:i(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:i(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:i(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:i(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:i(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:i(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:i(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:i(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:i(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:i(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:i(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:i(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:i(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:i(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:i(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:i(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:i(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:i(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:i(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:i(2815,1,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:i(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:i(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:i(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:i(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:i(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext:i(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821","Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:i(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:i(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:i(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:i(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:i(2836,1,"Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836","Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:i(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:i(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:i(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes:i(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840","An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(2841,1,"The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841","The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:i(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:i(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:i(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:i(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),Import_declaration_0_is_using_private_name_1:i(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:i(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:i(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:i(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:i(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:i(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:i(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:i(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:i(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:i(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:i(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:i(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:i(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:i(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:i(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:i(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:i(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:i(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:i(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:i(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:i(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:i(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:i(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:i(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:i(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:i(4090,1,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:i(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:i(4094,1,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:i(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:i(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:i(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:i(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:i(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:i(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:i(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:i(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:i(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:i(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:i(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:i(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:i(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:i(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:i(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:i(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:i(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:i(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:i(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4125,1,"resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125","'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:i(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:i(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:i(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:i(5014,1,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:i(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:i(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:i(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:i(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:i(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:i(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:i(5048,1,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:i(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:i(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:i(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:i(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:i(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:i(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:i(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:i(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:i(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:i(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:i(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:i(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:i(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:i(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:i(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:i(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:i(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:i(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:i(5071,1,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:i(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:i(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:i(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:i(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:i(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:i(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:i(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:i(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:i(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:i(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:i(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:i(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:i(5084,1,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:i(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:i(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:i(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:i(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:i(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:i(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:i(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:i(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:i(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:i(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later:i(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:i(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:i(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:i(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:i(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:i(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:i(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:i(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:i(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:i(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:i(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:i(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:i(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:i(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:i(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:i(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:i(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:i(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:i(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:i(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:i(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:i(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:i(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:i(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:i(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:i(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:i(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:i(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:i(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:i(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:i(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:i(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:i(6024,3,"options_6024","options"),file:i(6025,3,"file_6025","file"),Examples_Colon_0:i(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:i(6027,3,"Options_Colon_6027","Options:"),Version_0:i(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:i(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:i(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:i(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:i(6034,3,"KIND_6034","KIND"),FILE:i(6035,3,"FILE_6035","FILE"),VERSION:i(6036,3,"VERSION_6036","VERSION"),LOCATION:i(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:i(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:i(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:i(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:i(6041,3,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:i(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:i(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:i(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:i(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:i(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:i(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:i(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:i(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:i(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:i(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:i(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:i(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:i(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:i(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:i(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:i(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:i(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:i(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:i(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:i(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:i(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:i(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:i(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:i(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:i(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:i(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:i(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:i(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:i(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:i(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:i(6081,3,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:i(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:i(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:i(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:i(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:i(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:i(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:i(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:i(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:i(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:i(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:i(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:i(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:i(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:i(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:i(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:i(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:i(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:i(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:i(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:i(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:i(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:i(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:i(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:i(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:i(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:i(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:i(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:i(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:i(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:i(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:i(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:i(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:i(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:i(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:i(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:i(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:i(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:i(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:i(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:i(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:i(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:i(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:i(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:i(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:i(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:i(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:i(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:i(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:i(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:i(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:i(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:i(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:i(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:i(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:i(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:i(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:i(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:i(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:i(6145,3,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:i(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:i(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:i(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:i(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:i(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:i(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:i(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:i(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:i(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:i(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:i(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:i(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:i(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:i(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:i(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:i(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:i(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:i(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:i(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:i(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:i(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:i(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:i(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:i(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:i(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:i(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:i(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:i(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:i(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:i(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:i(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:i(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:i(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:i(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:i(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:i(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:i(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:i(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:i(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:i(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:i(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:i(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:i(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:i(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:i(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:i(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:i(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:i(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:i(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:i(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:i(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:i(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:i(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:i(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:i(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:i(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:i(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:i(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:i(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:i(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:i(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:i(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:i(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:i(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:i(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:i(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:i(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:i(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:i(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:i(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:i(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:i(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:i(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:i(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:i(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:i(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:i(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:i(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:i(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:i(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:i(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:i(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:i(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:i(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:i(6244,3,"Modules_6244","Modules"),File_Management:i(6245,3,"File_Management_6245","File Management"),Emit:i(6246,3,"Emit_6246","Emit"),JavaScript_Support:i(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:i(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:i(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:i(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:i(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:i(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:i(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:i(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:i(6255,3,"Projects_6255","Projects"),Output_Formatting:i(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:i(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:i(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_1:i(6259,3,"Found_1_error_in_1_6259","Found 1 error in {1}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:i(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:i(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:i(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:i(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:i(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:i(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:i(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:i(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:i(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:i(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:i(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:i(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278",`There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),Enable_project_compilation:i(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:i(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:i(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:i(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:i(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:i(6308,1,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:i(6309,1,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:i(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:i(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:i(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:i(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:i(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:i(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:i(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:i(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:i(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:i(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:i(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:i(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:i(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:i(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:i(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:i(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:i(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:i(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:i(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:i(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:i(6372,3,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:i(6373,3,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:i(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:i(6375,3,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:i(6376,3,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:i(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:i(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:i(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:i(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:i(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:i(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:i(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:i(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:i(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:i(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:i(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:i(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:i(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:i(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:i(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:i(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:i(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:i(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:i(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:i(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:i(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:i(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:i(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:i(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:i(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:i(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:i(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:i(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:i(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:i(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:i(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:i(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:i(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:i(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:i(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:i(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:i(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:i(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:i(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:i(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:i(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:i(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:i(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:i(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:i(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:i(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:i(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:i(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:i(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:i(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:i(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:i(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:i(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:i(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:i(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:i(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:i(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:i(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:i(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:i(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:i(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:i(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:i(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:i(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:i(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:i(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:i(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:i(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:i(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:i(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:i(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:i(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:i(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:i(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:i(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:i(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:i(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:i(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:i(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:i(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:i(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:i(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:i(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:i(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:i(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:i(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:i(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:i(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:i(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:i(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:i(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:i(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:i(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:i(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:i(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:i(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:i(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:i(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:i(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:i(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:i(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:i(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:i(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:i(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:i(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:i(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:i(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:i(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:i(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:i(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:i(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:i(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:i(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:i(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:i(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:i(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:i(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:i(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:i(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:i(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:i(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:i(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:i(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:i(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:i(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:i(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:i(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:i(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:i(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:i(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:i(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:i(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:i(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:i(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:i(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:i(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:i(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:i(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:i(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:i(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:i(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:i(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:i(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:i(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:i(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:i(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:i(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:i(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:i(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:i(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Default_catch_clause_variables_as_unknown_instead_of_any:i(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:i(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),one_of_Colon:i(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:i(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:i(6902,3,"type_Colon_6902","type:"),default_Colon:i(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:i(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:i(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:i(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:i(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:i(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:i(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:i(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:i(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:i(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:i(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:i(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:i(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:i(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:i(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:i(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:i(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:i(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:i(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:i(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:i(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:i(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:i(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:i(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:i(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:i(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:i(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:i(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:i(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:i(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:i(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:i(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:i(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:i(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:i(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:i(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:i(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:i(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:i(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:i(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:i(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:i(7025,1,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:i(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:i(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:i(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:i(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:i(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:i(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:i(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:i(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:i(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:i(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:i(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:i(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:i(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:i(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:i(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:i(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:i(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:i(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:i(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:i(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:i(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:i(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:i(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:i(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:i(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:i(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:i(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:i(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:i(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:i(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:i(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:i(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:i(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:i(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:i(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:i(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:i(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:i(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:i(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:i(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:i(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:i(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:i(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:i(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:i(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:i(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:i(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:i(8017,1,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:i(8018,1,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:i(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:i(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:i(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:i(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:i(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:i(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:i(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:i(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:i(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:i(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:i(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:i(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:i(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:i(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:i(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:i(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:i(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:i(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:i(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:i(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:i(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:i(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:i(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:i(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:i(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:i(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:i(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:i(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:i(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:i(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:i(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:i(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:i(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:i(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:i(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:i(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:i(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:i(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:i(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:i(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:i(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:i(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:i(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:i(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:i(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:i(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:i(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:i(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:i(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:i(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:i(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:i(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:i(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:i(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:i(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:i(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:i(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:i(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:i(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:i(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:i(90013,3,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:i(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:i(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:i(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:i(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:i(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:i(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:i(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:i(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:i(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:i(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:i(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:i(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:i(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:i(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:i(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:i(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:i(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:i(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:i(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:i(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:i(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:i(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:i(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:i(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:i(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:i(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:i(90055,3,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:i(90056,3,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:i(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:i(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:i(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:i(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Convert_function_to_an_ES2015_class:i(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:i(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:i(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:i(95005,3,"Extract_function_95005","Extract function"),Extract_constant:i(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:i(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:i(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:i(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:i(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:i(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:i(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:i(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:i(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:i(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:i(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:i(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:i(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:i(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:i(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:i(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:i(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:i(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:i(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:i(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:i(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:i(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:i(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:i(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:i(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:i(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:i(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:i(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:i(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:i(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:i(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:i(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:i(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:i(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:i(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:i(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:i(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:i(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:i(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:i(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:i(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:i(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:i(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:i(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:i(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:i(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:i(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:i(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:i(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:i(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:i(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:i(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:i(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:i(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:i(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:i(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:i(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:i(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:i(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:i(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:i(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:i(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:i(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:i(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:i(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:i(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:i(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:i(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:i(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:i(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:i(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:i(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:i(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:i(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:i(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:i(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:i(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:i(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:i(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:i(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:i(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:i(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:i(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:i(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:i(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:i(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:i(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:i(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:i(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:i(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:i(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:i(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:i(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:i(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:i(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:i(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:i(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:i(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:i(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:i(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:i(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:i(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:i(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:i(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:i(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:i(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:i(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:i(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:i(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:i(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:i(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:i(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:i(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:i(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:i(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:i(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:i(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:i(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:i(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:i(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:i(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:i(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:i(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:i(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:i(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:i(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:i(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:i(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:i(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:i(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:i(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:i(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:i(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:i(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:i(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:i(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:i(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:i(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:i(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:i(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:i(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:i(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:i(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:i(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:i(95154,3,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:i(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:i(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:i(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:i(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:i(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:i(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:i(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:i(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:i(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:i(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:i(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:i(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:i(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:i(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:i(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:i(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:i(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:i(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:i(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:i(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:i(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:i(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:i(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:i(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:i(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:i(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:i(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:i(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:i(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:i(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:i(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:i(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:i(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:i(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:i(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:i(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:i(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:i(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:i(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:i(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:i(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:i(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:i(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:i(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:i(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:i(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:i(18037,1,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:i(18038,1,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:i(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:i(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:i(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:i(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:i(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:i(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:i(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:i(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:i(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:i(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:i(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string.")}}});function fr(e){return e>=79}function qT(e){return e===31||fr(e)}function D_(e,t){if(e=2?D_(e,ZT):t===1?D_(e,YT):D_(e,KT)}function iA(e,t){return t>=2?D_(e,e3):t===1?D_(e,QT):D_(e,XT)}function aA(e){let t=[];return e.forEach((r,s)=>{t[r]=s}),t}function Br(e){return n3[e]}function _l(e){return Ty.get(e)}function Kp(e){let t=[],r=0,s=0;for(;r127&&un(f)&&(t.push(s),s=r);break}}return t.push(s),t}function sA(e,t,r,s){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,s):dy(ss(e),t,r,e.text,s)}function dy(e,t,r,s,f){(t<0||t>=e.length)&&(f?t=t<0?0:t>=e.length?e.length-1:t:Y.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${s!==void 0?Ie(e,Kp(s)):"unknown"}`));let x=e[t]+r;return f?x>e[t+1]?e[t+1]:typeof s=="string"&&x>s.length?s.length:x:(t=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}function un(e){return e===10||e===13||e===8232||e===8233}function O_(e){return e>=48&&e<=57}function Xp(e){return O_(e)||e>=65&&e<=70||e>=97&&e<=102}function oA(e){return e<=1114111}function hy(e){return e>=48&&e<=55}function _A(e,t){let r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return t===0;default:return r>127}}function Ar(e,t,r,s,f){if(hs(t))return t;let x=!1;for(;;){let w=e.charCodeAt(t);switch(w){case 13:e.charCodeAt(t+1)===10&&t++;case 10:if(t++,r)return t;x=!!f;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(s)break;if(e.charCodeAt(t+1)===47){for(t+=2;t127&&os(w)){t++;continue}break}return t}}function Co(e,t){if(Y.assert(t>=0),t===0||un(e.charCodeAt(t-1))){let r=e.charCodeAt(t);if(t+ll=0&&r127&&os(ae)){X&&un(ae)&&(N=!0),r++;continue}break e}}return X&&($=f(A,g,B,N,x,$)),$}function cA(e,t,r,s){return Yp(!1,e,t,!1,r,s)}function lA(e,t,r,s){return Yp(!1,e,t,!0,r,s)}function zT(e,t,r,s,f){return Yp(!0,e,t,!1,r,s,f)}function WT(e,t,r,s,f){return Yp(!0,e,t,!0,r,s,f)}function VT(e,t,r,s,f){let x=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[];return x.push({kind:r,pos:e,end:t,hasTrailingNewLine:s}),x}function Ao(e,t){return zT(e,t,VT,void 0,void 0)}function HT(e,t){return WT(e,t,VT,void 0,void 0)}function GT(e){let t=Qp.exec(e);if(t)return t[0]}function Wn(e,t){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&UT(e,t)}function Rs(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||(r===1?e===45||e===58:!1)||e>127&&iA(e,t)}function vy(e,t,r){let s=ii(e,0);if(!Wn(s,t))return!1;for(let f=yi(s);f2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,f=arguments.length>4?arguments[4]:void 0,x=arguments.length>5?arguments[5]:void 0,w=arguments.length>6?arguments[6]:void 0;var A=s,g,B,N,X,F,$,ae,Te,Se=0;ue(A,x,w);var Ye={getStartPos:()=>N,getTextPos:()=>g,getToken:()=>F,getTokenPos:()=>X,getTokenText:()=>A.substring(X,g),getTokenValue:()=>$,hasUnicodeEscape:()=>(ae&1024)!==0,hasExtendedUnicodeEscape:()=>(ae&8)!==0,hasPrecedingLineBreak:()=>(ae&1)!==0,hasPrecedingJSDocComment:()=>(ae&2)!==0,isIdentifier:()=>F===79||F>116,isReservedWord:()=>F>=81&&F<=116,isUnterminated:()=>(ae&4)!==0,getCommentDirectives:()=>Te,getNumericLiteralFlags:()=>ae&1008,getTokenFlags:()=>ae,reScanGreaterToken:Sn,reScanAsteriskEqualsToken:In,reScanSlashToken:pr,reScanTemplateToken:Nn,reScanTemplateHeadOrNoSubstitutionTemplate:ar,scanJsxIdentifier:nr,scanJsxAttributeValue:br,reScanJsxAttributeValue:Kr,reScanJsxToken:oi,reScanLessThanToken:cr,reScanHashToken:$r,reScanQuestionToken:hr,reScanInvalidIdentifier:Gr,scanJsxToken:On,scanJsDocToken:wa,scan:Ur,getText:Ca,clearCommentDirectives:St,setText:ue,setScriptTarget:_t,setLanguageVariant:ft,setOnError:He,setTextPos:Kt,setInJSDocType:zt,tryScan:_i,lookAhead:Mn,scanRange:Ki};return Y.isDebugging&&Object.defineProperty(Ye,"__debugShowCurrentPositionInText",{get:()=>{let xe=Ye.getText();return xe.slice(0,Ye.getStartPos())+"\u2551"+xe.slice(Ye.getStartPos())}}),Ye;function Oe(xe){let Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g,Re=arguments.length>2?arguments[2]:void 0;if(f){let ot=g;g=Le,f(xe,Re||0),g=ot}}function oe(){let xe=g,Le=!1,Re=!1,ot="";for(;;){let Ct=A.charCodeAt(g);if(Ct===95){ae|=512,Le?(Le=!1,Re=!0,ot+=A.substring(xe,g)):Oe(Re?ve.Multiple_consecutive_numeric_separators_are_not_permitted:ve.Numeric_separators_are_not_allowed_here,g,1),g++,xe=g;continue}if(O_(Ct)){Le=!0,Re=!1,g++;continue}break}return A.charCodeAt(g-1)===95&&Oe(ve.Numeric_separators_are_not_allowed_here,g-1,1),ot+A.substring(xe,g)}function Ve(){let xe=g,Le=oe(),Re,ot;A.charCodeAt(g)===46&&(g++,Re=oe());let Ct=g;if(A.charCodeAt(g)===69||A.charCodeAt(g)===101){g++,ae|=16,(A.charCodeAt(g)===43||A.charCodeAt(g)===45)&&g++;let It=g,Mr=oe();Mr?(ot=A.substring(Ct,It)+Mr,Ct=g):Oe(ve.Digit_expected)}let Mt;if(ae&512?(Mt=Le,Re&&(Mt+="."+Re),ot&&(Mt+=ot)):Mt=A.substring(xe,Ct),Re!==void 0||ae&16)return pt(xe,Re===void 0&&!!(ae&16)),{type:8,value:""+ +Mt};{$=Mt;let It=dn();return pt(xe),{type:It,value:$}}}function pt(xe,Le){if(!Wn(ii(A,g),e))return;let Re=g,{length:ot}=an();ot===1&&A[Re]==="n"?Oe(Le?ve.A_bigint_literal_cannot_use_exponential_notation:ve.A_bigint_literal_must_be_an_integer,xe,Re-xe+1):(Oe(ve.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,Re,ot),g=Re)}function Gt(){let xe=g;for(;hy(A.charCodeAt(g));)g++;return+A.substring(xe,g)}function Nt(xe,Le){let Re=er(xe,!1,Le);return Re?parseInt(Re,16):-1}function Xt(xe,Le){return er(xe,!0,Le)}function er(xe,Le,Re){let ot=[],Ct=!1,Mt=!1;for(;ot.length=65&&It<=70)It+=97-65;else if(!(It>=48&&It<=57||It>=97&&It<=102))break;ot.push(It),g++,Mt=!1}return ot.length0&&arguments[0]!==void 0?arguments[0]:!1,Le=A.charCodeAt(g);g++;let Re="",ot=g;for(;;){if(g>=B){Re+=A.substring(ot,g),ae|=4,Oe(ve.Unterminated_string_literal);break}let Ct=A.charCodeAt(g);if(Ct===Le){Re+=A.substring(ot,g),g++;break}if(Ct===92&&!xe){Re+=A.substring(ot,g),Re+=Gi(),ot=g;continue}if(un(Ct)&&!xe){Re+=A.substring(ot,g),ae|=4,Oe(ve.Unterminated_string_literal);break}g++}return Re}function Hr(xe){let Le=A.charCodeAt(g)===96;g++;let Re=g,ot="",Ct;for(;;){if(g>=B){ot+=A.substring(Re,g),ae|=4,Oe(ve.Unterminated_template_literal),Ct=Le?14:17;break}let Mt=A.charCodeAt(g);if(Mt===96){ot+=A.substring(Re,g),g++,Ct=Le?14:17;break}if(Mt===36&&g+1=B)return Oe(ve.Unexpected_end_of_text),"";let Re=A.charCodeAt(g);switch(g++,Re){case 48:return xe&&g=0?String.fromCharCode(Le):(Oe(ve.Hexadecimal_digit_expected),"")}function fn(){let xe=Xt(1,!1),Le=xe?parseInt(xe,16):-1,Re=!1;return Le<0?(Oe(ve.Hexadecimal_digit_expected),Re=!0):Le>1114111&&(Oe(ve.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),Re=!0),g>=B?(Oe(ve.Unexpected_end_of_text),Re=!0):A.charCodeAt(g)===125?g++:(Oe(ve.Unterminated_Unicode_escape_sequence),Re=!0),Re?"":by(Le)}function Ut(){if(g+5=0&&Rs(Re,e)){g+=3,ae|=8,xe+=fn(),Le=g;continue}if(Re=Ut(),!(Re>=0&&Rs(Re,e)))break;ae|=1024,xe+=A.substring(Le,g),xe+=by(Re),g+=6,Le=g}else break}return xe+=A.substring(Le,g),xe}function mr(){let xe=$.length;if(xe>=2&&xe<=12){let Le=$.charCodeAt(0);if(Le>=97&&Le<=122){let Re=$T.get($);if(Re!==void 0)return F=Re}}return F=79}function $i(xe){let Le="",Re=!1,ot=!1;for(;;){let Ct=A.charCodeAt(g);if(Ct===95){ae|=512,Re?(Re=!1,ot=!0):Oe(ot?ve.Multiple_consecutive_numeric_separators_are_not_permitted:ve.Numeric_separators_are_not_allowed_here,g,1),g++;continue}if(Re=!0,!O_(Ct)||Ct-48>=xe)break;Le+=A[g],g++,ot=!1}return A.charCodeAt(g-1)===95&&Oe(ve.Numeric_separators_are_not_allowed_here,g-1,1),Le}function dn(){return A.charCodeAt(g)===110?($+="n",ae&384&&($=Hf($)+"n"),g++,9):($=""+(ae&128?parseInt($.slice(2),2):ae&256?parseInt($.slice(2),8):+$),8)}function Ur(){N=g,ae=0;let xe=!1;for(;;){if(X=g,g>=B)return F=1;let Le=ii(A,g);if(Le===35&&g===0&&gy(A,g)){if(g=yy(A,g),t)continue;return F=6}switch(Le){case 10:case 13:if(ae|=1,t){g++;continue}else return Le===13&&g+1=0&&Wn(Re,e))return g+=3,ae|=8,$=fn()+an(),F=mr();let ot=Ut();return ot>=0&&Wn(ot,e)?(g+=6,ae|=1024,$=String.fromCharCode(ot)+an(),F=mr()):(Oe(ve.Invalid_character),g++,F=0);case 35:if(g!==0&&A[g+1]==="!")return Oe(ve.can_only_be_used_at_the_start_of_a_file),g++,F=0;let Ct=ii(A,g+1);if(Ct===92){g++;let Mr=kn();if(Mr>=0&&Wn(Mr,e))return g+=3,ae|=8,$="#"+fn()+an(),F=80;let gr=Ut();if(gr>=0&&Wn(gr,e))return g+=6,ae|=1024,$="#"+String.fromCharCode(gr)+an(),F=80;g--}return Wn(Ct,e)?(g++,_r(Ct,e)):($="#",Oe(ve.Invalid_character,g++,yi(Le))),F=80;default:let Mt=_r(Le,e);if(Mt)return F=Mt;if(N_(Le)){g+=yi(Le);continue}else if(un(Le)){ae|=1,g+=yi(Le);continue}let It=yi(Le);return Oe(ve.Invalid_character,g,It),g+=It,F=0}}}function Gr(){Y.assert(F===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),g=X=N,ae=0;let xe=ii(A,g),Le=_r(xe,99);return Le?F=Le:(g+=yi(xe),F)}function _r(xe,Le){let Re=xe;if(Wn(Re,Le)){for(g+=yi(Re);g0&&arguments[0]!==void 0?arguments[0]:!0;return g=X=N,F=On(xe)}function cr(){return F===47?(g=X+1,F=29):F}function $r(){return F===80?(g=X+1,F=62):F}function hr(){return Y.assert(F===60,"'reScanQuestionToken' should only be called on a '??'"),g=X+1,F=57}function On(){let xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(N=X=g,g>=B)return F=1;let Le=A.charCodeAt(g);if(Le===60)return A.charCodeAt(g+1)===47?(g+=2,F=30):(g++,F=29);if(Le===123)return g++,F=18;let Re=0;for(;g0)break;os(Le)||(Re=g)}g++}return $=A.substring(N,g),Re===-1?12:11}function nr(){if(fr(F)){let xe=!1;for(;g=B)return F=1;let xe=ii(A,g);switch(g+=yi(xe),xe){case 9:case 11:case 12:case 32:for(;g=0&&Wn(Le,e))return g+=3,ae|=8,$=fn()+an(),F=mr();let Re=Ut();return Re>=0&&Wn(Re,e)?(g+=6,ae|=1024,$=String.fromCharCode(Re)+an(),F=mr()):(g++,F=0)}if(Wn(xe,e)){let Le=xe;for(;g=0),g=xe,N=xe,X=xe,F=0,$=void 0,ae=0}function zt(xe){Se+=xe?1:-1}}function yi(e){return e>=65536?2:1}function uA(e){if(Y.assert(0<=e&&e<=1114111),e<=65535)return String.fromCharCode(e);let t=Math.floor((e-65536)/1024)+55296,r=(e-65536)%1024+56320;return String.fromCharCode(t,r)}function by(e){return i3(e)}var cl,$T,Ty,KT,XT,YT,QT,ZT,e3,t3,r3,n3,ll,Qp,ii,i3,pA=D({"src/compiler/scanner.ts"(){"use strict";nn(),cl={abstract:126,accessor:127,any:131,as:128,asserts:129,assert:130,bigint:160,boolean:134,break:81,case:82,catch:83,class:84,continue:86,const:85,constructor:135,debugger:87,declare:136,default:88,delete:89,do:90,else:91,enum:92,export:93,extends:94,false:95,finally:96,for:97,from:158,function:98,get:137,if:99,implements:117,import:100,in:101,infer:138,instanceof:102,interface:118,intrinsic:139,is:140,keyof:141,let:119,module:142,namespace:143,never:144,new:103,null:104,number:148,object:149,package:120,private:121,protected:122,public:123,override:161,out:145,readonly:146,require:147,global:159,return:105,satisfies:150,set:151,static:124,string:152,super:106,switch:107,symbol:153,this:108,throw:109,true:110,try:111,type:154,typeof:112,undefined:155,unique:156,unknown:157,var:113,void:114,while:115,with:116,yield:125,async:132,await:133,of:162},$T=new Map(Object.entries(cl)),Ty=new Map(Object.entries(Object.assign(Object.assign({},cl),{},{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61}))),KT=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],XT=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],YT=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],QT=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],ZT=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],e3=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],t3=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,r3=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,n3=aA(Ty),ll=7,Qp=/^#!.*/,ii=String.prototype.codePointAt?(e,t)=>e.codePointAt(t):function(t,r){let s=t.length;if(r<0||r>=s)return;let f=t.charCodeAt(r);if(f>=55296&&f<=56319&&s>r+1){let x=t.charCodeAt(r+1);if(x>=56320&&x<=57343)return(f-55296)*1024+x-56320+65536}return f},i3=String.fromCodePoint?e=>String.fromCodePoint(e):uA}});function fA(e){return So(e)||A_(e)}function dA(e){return uo(e,a2)}function a3(e){switch(Uf(e)){case 99:return"lib.esnext.full.d.ts";case 9:return"lib.es2022.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function Ir(e){return e.start+e.length}function s3(e){return e.length===0}function mA(e,t){return t>=e.start&&t=e.pos&&t<=e.end}function gA(e,t){return t.start>=e.start&&Ir(t)<=Ir(e)}function yA(e,t){return o3(e,t)!==void 0}function o3(e,t){let r=_3(e,t);return r&&r.length===0?void 0:r}function vA(e,t){return Sy(e.start,e.length,t.start,t.length)}function bA(e,t,r){return Sy(e.start,e.length,t,r)}function Sy(e,t,r,s){let f=e+t,x=r+s;return r<=f&&x>=e}function TA(e,t){return t<=Ir(e)&&t>=e.start}function _3(e,t){let r=Math.max(e.start,t.start),s=Math.min(Ir(e),Ir(t));return r<=s?ha(r,s):void 0}function L_(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function ha(e,t){return L_(e,t-e)}function R_(e){return L_(e.span.start,e.newLength)}function c3(e){return s3(e.span)&&e.newLength===0}function Zp(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function SA(e){if(e.length===0)return Vy;if(e.length===1)return e[0];let t=e[0],r=t.span.start,s=Ir(t.span),f=r+t.newLength;for(let x=1;xt.flags)}function wA(e,t,r){let s=e.toLowerCase(),f=/^([a-z]+)([_\-]([a-z]+))?$/.exec(s);if(!f){r&&r.push(Ol(ve.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,"en","ja-jp"));return}let x=f[1],w=f[3];pe(Hy,s)&&!A(x,w,r)&&A(x,void 0,r),xp(e);function A(g,B,N){let X=Un(t.getExecutingFilePath()),F=ma(X),$=tn(F,g);if(B&&($=$+"-"+B),$=t.resolvePath(tn($,"diagnosticMessages.generated.json")),!t.fileExists($))return!1;let ae="";try{ae=t.readFile($)}catch{return N&&N.push(Ol(ve.Unable_to_open_file_0,$)),!1}try{yx(JSON.parse(ae))}catch{return N&&N.push(Ol(ve.Corrupted_locale_file_0,$)),!1}return!0}}function ul(e,t){if(e)for(;e.original!==void 0;)e=e.original;return!e||!t||t(e)?e:void 0}function zi(e,t){for(;e;){let r=t(e);if(r==="quit")return;if(r)return e;e=e.parent}}function pl(e){return(e.flags&8)===0}function fl(e,t){if(e===void 0||pl(e))return e;for(e=e.original;e;){if(pl(e))return!t||t(e)?e:void 0;e=e.original}}function vi(e){return e.length>=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?"_"+e:e}function dl(e){let t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}function qr(e){return dl(e.escapedText)}function d3(e){let t=_l(e.escapedText);return t?ln(t,ba):void 0}function rf(e){return e.valueDeclaration&&z3(e.valueDeclaration)?qr(e.valueDeclaration.name):dl(e.escapedName)}function m3(e){let t=e.parent.parent;if(t){if(ko(t))return nf(t);switch(t.kind){case 240:if(t.declarationList&&t.declarationList.declarations[0])return nf(t.declarationList.declarations[0]);break;case 241:let r=t.expression;switch(r.kind===223&&r.operatorToken.kind===63&&(r=r.left),r.kind){case 208:return r.name;case 209:let s=r.argumentExpression;if(yt(s))return s}break;case 214:return nf(t.expression);case 253:{if(ko(t.statement)||mf(t.statement))return nf(t.statement);break}}}}function nf(e){let t=ml(e);return t&&yt(t)?t:void 0}function h3(e,t){return!!(af(e)&&yt(e.name)&&qr(e.name)===qr(t)||zo(e)&&Ke(e.declarationList.declarations,r=>h3(r,t)))}function g3(e){return e.name||m3(e)}function af(e){return!!e.name}function Ey(e){switch(e.kind){case 79:return e;case 351:case 344:{let{name:r}=e;if(r.kind===163)return r.right;break}case 210:case 223:{let r=e;switch(ps(r)){case 1:case 4:case 5:case 3:return Cf(r.left);case 7:case 8:case 9:return r.arguments[1];default:return}}case 349:return g3(e);case 343:return m3(e);case 274:{let{expression:r}=e;return yt(r)?r:void 0}case 209:let t=e;if(x0(t))return t.argumentExpression}return e.name}function ml(e){if(e!==void 0)return Ey(e)||(ad(e)||sd(e)||_d(e)?y3(e):void 0)}function y3(e){if(e.parent){if(lc(e.parent)||Xl(e.parent))return e.parent.name;if(ur(e.parent)&&e===e.parent.right){if(yt(e.parent.left))return e.parent.left;if(Lo(e.parent.left))return Cf(e.parent.left)}else if(Vi(e.parent)&&yt(e.parent.name))return e.parent.name}else return}function CA(e){if(Il(e))return ee(e.modifiers,zl)}function sf(e){if(rn(e,126975))return ee(e.modifiers,Oy)}function v3(e,t){if(e.name)if(yt(e.name)){let r=e.name.escapedText;return j_(e.parent,t).filter(s=>pc(s)&&yt(s.name)&&s.name.escapedText===r)}else{let r=e.parent.parameters.indexOf(e);Y.assert(r>-1,"Parameters should always be in their parents' parameter list");let s=j_(e.parent,t).filter(pc);if(rGo(s)&&s.typeParameters.some(f=>f.name.escapedText===r))}function S3(e){return T3(e,!1)}function x3(e){return T3(e,!0)}function AA(e){return!!Nr(e,pc)}function E3(e){return Nr(e,md)}function w3(e){return M3(e,hE)}function PA(e){return Nr(e,pE)}function DA(e){return Nr(e,dv)}function C3(e){return Nr(e,dv,!0)}function kA(e){return Nr(e,mv)}function A3(e){return Nr(e,mv,!0)}function IA(e){return Nr(e,hv)}function P3(e){return Nr(e,hv,!0)}function NA(e){return Nr(e,gv)}function D3(e){return Nr(e,gv,!0)}function k3(e){return Nr(e,fE,!0)}function OA(e){return Nr(e,vv)}function I3(e){return Nr(e,vv,!0)}function MA(e){return Nr(e,dE)}function LA(e){return Nr(e,mE)}function N3(e){return Nr(e,bv)}function RA(e){return Nr(e,Go)}function wy(e){return Nr(e,Tv)}function _f(e){let t=Nr(e,au);if(t&&t.typeExpression&&t.typeExpression.type)return t}function cf(e){let t=Nr(e,au);return!t&&Vs(e)&&(t=Pe(of(e),r=>!!r.typeExpression)),t&&t.typeExpression&&t.typeExpression.type}function O3(e){let t=N3(e);if(t&&t.typeExpression)return t.typeExpression.type;let r=_f(e);if(r&&r.typeExpression){let s=r.typeExpression.type;if(id(s)){let f=Pe(s.members,V2);return f&&f.type}if($l(s)||dd(s))return s.type}}function j_(e,t){var r,s;if(!Af(e))return Bt;let f=(r=e.jsDoc)==null?void 0:r.jsDocCache;if(f===void 0||t){let x=r4(e,t);Y.assert(x.length<2||x[0]!==x[1]),f=ne(x,w=>Ho(w)?w.tags:w),t||((s=e.jsDoc)!=null||(e.jsDoc=[]),e.jsDoc.jsDocCache=f)}return f}function hl(e){return j_(e,!1)}function jA(e){return j_(e,!0)}function Nr(e,t,r){return Pe(j_(e,r),t)}function M3(e,t){return hl(e).filter(t)}function JA(e,t){return hl(e).filter(r=>r.kind===t)}function FA(e){return typeof e=="string"?e:e==null?void 0:e.map(t=>t.kind===324?t.text:BA(t)).join("")}function BA(e){let t=e.kind===327?"link":e.kind===328?"linkcode":"linkplain",r=e.name?ls(e.name):"",s=e.name&&e.text.startsWith("://")?"":" ";return`{@${t} ${r}${s}${e.text}}`}function qA(e){if(iu(e)){if(yv(e.parent)){let t=P0(e.parent);if(t&&I(t.tags))return ne(t.tags,r=>Go(r)?r.typeParameters:void 0)}return Bt}if(Cl(e))return Y.assert(e.parent.kind===323),ne(e.parent.tags,t=>Go(t)?t.typeParameters:void 0);if(e.typeParameters||IE(e)&&e.typeParameters)return e.typeParameters;if(Pr(e)){let t=F4(e);if(t.length)return t;let r=cf(e);if(r&&$l(r)&&r.typeParameters)return r.typeParameters}return Bt}function UA(e){return e.constraint?e.constraint:Go(e.parent)&&e===e.parent.typeParameters[0]?e.parent.constraint:void 0}function js(e){return e.kind===79||e.kind===80}function zA(e){return e.kind===175||e.kind===174}function L3(e){return bn(e)&&!!(e.flags&32)}function R3(e){return gs(e)&&!!(e.flags&32)}function Cy(e){return sc(e)&&!!(e.flags&32)}function Ay(e){let t=e.kind;return!!(e.flags&32)&&(t===208||t===209||t===210||t===232)}function Py(e){return Ay(e)&&!Uo(e)&&!!e.questionDotToken}function WA(e){return Py(e.parent)&&e.parent.expression===e}function VA(e){return!Ay(e.parent)||Py(e.parent)||e!==e.parent.expression}function HA(e){return e.kind===223&&e.operatorToken.kind===60}function j3(e){return ac(e)&&yt(e.typeName)&&e.typeName.escapedText==="const"&&!e.typeArguments}function lf(e){return $o(e,8)}function J3(e){return Uo(e)&&!!(e.flags&32)}function GA(e){return e.kind===249||e.kind===248}function $A(e){return e.kind===277||e.kind===276}function F3(e){switch(e.kind){case 305:case 306:return!0;default:return!1}}function KA(e){return F3(e)||e.kind===303||e.kind===307}function Dy(e){return e.kind===351||e.kind===344}function XA(e){return gl(e.kind)}function gl(e){return e>=163}function B3(e){return e>=0&&e<=162}function YA(e){return B3(e.kind)}function _s(e){return Jr(e,"pos")&&Jr(e,"end")}function ky(e){return 8<=e&&e<=14}function Iy(e){return ky(e.kind)}function QA(e){switch(e.kind){case 207:case 206:case 13:case 215:case 228:return!0}return!1}function yl(e){return 14<=e&&e<=17}function ZA(e){return yl(e.kind)}function eP(e){let t=e.kind;return t===16||t===17}function tP(e){return nE(e)||aE(e)}function q3(e){switch(e.kind){case 273:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 271:return e.parent.isTypeOnly;case 270:case 268:return e.isTypeOnly}return!1}function U3(e){switch(e.kind){case 278:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 275:return e.isTypeOnly&&!!e.moduleSpecifier&&!e.exportClause;case 277:return e.parent.isTypeOnly}return!1}function rP(e){return q3(e)||U3(e)}function nP(e){return Gn(e)||yt(e)}function iP(e){return e.kind===10||yl(e.kind)}function cs(e){var t;return yt(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function Ny(e){var t;return vn(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function z3(e){return(Bo(e)||Ly(e))&&vn(e.name)}function aP(e){return bn(e)&&vn(e.name)}function Wi(e){switch(e){case 126:case 127:case 132:case 85:case 136:case 88:case 93:case 101:case 123:case 121:case 122:case 146:case 124:case 145:case 161:return!0}return!1}function W3(e){return!!(Q0(e)&16476)}function V3(e){return W3(e)||e===124||e===161||e===127}function Oy(e){return Wi(e.kind)}function sP(e){let t=e.kind;return t===163||t===79}function vl(e){let t=e.kind;return t===79||t===80||t===10||t===8||t===164}function oP(e){let t=e.kind;return t===79||t===203||t===204}function ga(e){return!!e&&My(e.kind)}function uf(e){return!!e&&(My(e.kind)||Hl(e))}function H3(e){return e&&G3(e.kind)}function _P(e){return e.kind===110||e.kind===95}function G3(e){switch(e){case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function My(e){switch(e){case 170:case 176:case 326:case 177:case 178:case 181:case 320:case 182:return!0;default:return G3(e)}}function cP(e){return wi(e)||rE(e)||Ql(e)&&ga(e.parent)}function Js(e){let t=e.kind;return t===173||t===169||t===171||t===174||t===175||t===178||t===172||t===237}function bi(e){return e&&(e.kind===260||e.kind===228)}function pf(e){return e&&(e.kind===174||e.kind===175)}function $3(e){return Bo(e)&&H4(e)}function Ly(e){switch(e.kind){case 171:case 174:case 175:return!0;default:return!1}}function lP(e){switch(e.kind){case 171:case 174:case 175:case 169:return!0;default:return!1}}function ff(e){return Oy(e)||zl(e)}function Ry(e){let t=e.kind;return t===177||t===176||t===168||t===170||t===178||t===174||t===175}function uP(e){return Ry(e)||Js(e)}function jy(e){let t=e.kind;return t===299||t===300||t===301||t===171||t===174||t===175}function Jy(e){return hx(e.kind)}function pP(e){switch(e.kind){case 181:case 182:return!0}return!1}function df(e){if(e){let t=e.kind;return t===204||t===203}return!1}function K3(e){let t=e.kind;return t===206||t===207}function fP(e){let t=e.kind;return t===205||t===229}function Fy(e){switch(e.kind){case 257:case 166:case 205:return!0}return!1}function dP(e){return Vi(e)||Vs(e)||Y3(e)||Z3(e)}function mP(e){return X3(e)||Q3(e)}function X3(e){switch(e.kind){case 203:case 207:return!0}return!1}function Y3(e){switch(e.kind){case 205:case 299:case 300:case 301:return!0}return!1}function Q3(e){switch(e.kind){case 204:case 206:return!0}return!1}function Z3(e){switch(e.kind){case 205:case 229:case 227:case 206:case 207:case 79:case 208:case 209:return!0}return ms(e,!0)}function hP(e){let t=e.kind;return t===208||t===163||t===202}function gP(e){let t=e.kind;return t===208||t===163}function yP(e){switch(e.kind){case 283:case 282:case 210:case 211:case 212:case 167:return!0;default:return!1}}function vP(e){return e.kind===210||e.kind===211}function bP(e){let t=e.kind;return t===225||t===14}function Do(e){return eS(lf(e).kind)}function eS(e){switch(e){case 208:case 209:case 211:case 210:case 281:case 282:case 285:case 212:case 206:case 214:case 207:case 228:case 215:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 225:case 95:case 104:case 108:case 110:case 106:case 232:case 230:case 233:case 100:case 279:return!0;default:return!1}}function tS(e){return rS(lf(e).kind)}function rS(e){switch(e){case 221:case 222:case 217:case 218:case 219:case 220:case 213:return!0;default:return eS(e)}}function TP(e){switch(e.kind){case 222:return!0;case 221:return e.operator===45||e.operator===46;default:return!1}}function SP(e){switch(e.kind){case 104:case 110:case 95:case 221:return!0;default:return Iy(e)}}function mf(e){return xP(lf(e).kind)}function xP(e){switch(e){case 224:case 226:case 216:case 223:case 227:case 231:case 229:case 357:case 356:case 235:return!0;default:return rS(e)}}function EP(e){let t=e.kind;return t===213||t===231}function wP(e){return cv(e)||Z8(e)}function nS(e,t){switch(e.kind){case 245:case 246:case 247:case 243:case 244:return!0;case 253:return t&&nS(e.statement,t)}return!1}function iS(e){return Vo(e)||cc(e)}function CP(e){return Ke(e,iS)}function AP(e){return!bf(e)&&!Vo(e)&&!rn(e,1)&&!yf(e)}function PP(e){return bf(e)||Vo(e)||rn(e,1)}function DP(e){return e.kind===246||e.kind===247}function kP(e){return Ql(e)||mf(e)}function IP(e){return Ql(e)}function NP(e){return rv(e)||mf(e)}function OP(e){let t=e.kind;return t===265||t===264||t===79}function MP(e){let t=e.kind;return t===265||t===264}function LP(e){let t=e.kind;return t===79||t===264}function RP(e){let t=e.kind;return t===272||t===271}function jP(e){return e.kind===264||e.kind===263}function JP(e){switch(e.kind){case 216:case 223:case 205:case 210:case 176:case 260:case 228:case 172:case 173:case 182:case 177:case 209:case 263:case 302:case 274:case 275:case 278:case 259:case 215:case 181:case 174:case 79:case 270:case 268:case 273:case 178:case 261:case 341:case 343:case 320:case 344:case 351:case 326:case 349:case 325:case 288:case 289:case 290:case 197:case 171:case 170:case 264:case 199:case 277:case 267:case 271:case 211:case 14:case 8:case 207:case 166:case 208:case 299:case 169:case 168:case 175:case 300:case 308:case 301:case 10:case 262:case 184:case 165:case 257:return!0;default:return!1}}function FP(e){switch(e.kind){case 216:case 238:case 176:case 266:case 295:case 172:case 191:case 173:case 182:case 177:case 245:case 246:case 247:case 259:case 215:case 181:case 174:case 178:case 341:case 343:case 320:case 326:case 349:case 197:case 171:case 170:case 264:case 175:case 308:case 262:return!0;default:return!1}}function BP(e){return e===216||e===205||e===260||e===228||e===172||e===173||e===263||e===302||e===278||e===259||e===215||e===174||e===270||e===268||e===273||e===261||e===288||e===171||e===170||e===264||e===267||e===271||e===277||e===166||e===299||e===169||e===168||e===175||e===300||e===262||e===165||e===257||e===349||e===341||e===351}function By(e){return e===259||e===279||e===260||e===261||e===262||e===263||e===264||e===269||e===268||e===275||e===274||e===267}function qy(e){return e===249||e===248||e===256||e===243||e===241||e===239||e===246||e===247||e===245||e===242||e===253||e===250||e===252||e===254||e===255||e===240||e===244||e===251||e===355||e===359||e===358}function ko(e){return e.kind===165?e.parent&&e.parent.kind!==348||Pr(e):BP(e.kind)}function qP(e){return By(e.kind)}function UP(e){return qy(e.kind)}function aS(e){let t=e.kind;return qy(t)||By(t)||zP(e)}function zP(e){return e.kind!==238||e.parent!==void 0&&(e.parent.kind===255||e.parent.kind===295)?!1:!OS(e)}function sS(e){let t=e.kind;return qy(t)||By(t)||t===238}function WP(e){let t=e.kind;return t===280||t===163||t===79}function VP(e){let t=e.kind;return t===108||t===79||t===208}function oS(e){let t=e.kind;return t===281||t===291||t===282||t===11||t===285}function HP(e){let t=e.kind;return t===288||t===290}function GP(e){let t=e.kind;return t===10||t===291}function _S(e){let t=e.kind;return t===283||t===282}function $P(e){let t=e.kind;return t===292||t===293}function Uy(e){return e.kind>=312&&e.kind<=353}function cS(e){return e.kind===323||e.kind===322||e.kind===324||Sl(e)||zy(e)||fv(e)||iu(e)}function zy(e){return e.kind>=330&&e.kind<=353}function bl(e){return e.kind===175}function Tl(e){return e.kind===174}function ya(e){if(!Af(e))return!1;let{jsDoc:t}=e;return!!t&&t.length>0}function KP(e){return!!e.type}function lS(e){return!!e.initializer}function XP(e){switch(e.kind){case 257:case 166:case 205:case 169:case 299:case 302:return!0;default:return!1}}function Wy(e){return e.kind===288||e.kind===290||jy(e)}function YP(e){return e.kind===180||e.kind===230}function QP(e){let t=Gy;for(let r of e){if(!r.length)continue;let s=0;for(;sr.kind===t)}function nD(e){let t=new Map;if(e)for(let r of e)t.set(r.escapedName,r);return t}function $y(e){return(e.flags&33554432)!==0}function iD(){var e="";let t=r=>e+=r;return{getText:()=>e,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(r,s)=>t(r),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>e.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!e.length&&os(e.charCodeAt(e.length-1)),writeLine:()=>e+=" ",increaseIndent:yn,decreaseIndent:yn,clear:()=>e=""}}function aD(e,t){return e.configFilePath!==t.configFilePath||pS(e,t)}function pS(e,t){return J_(e,t,moduleResolutionOptionDeclarations)}function sD(e,t){return J_(e,t,optionsAffectingProgramStructure)}function J_(e,t,r){return e!==t&&r.some(s=>!g2(u2(e,s),u2(t,s)))}function oD(e,t){for(;;){let r=t(e);if(r==="quit")return;if(r!==void 0)return r;if(wi(e))return;e=e.parent}}function _D(e,t){let r=e.entries();for(let[s,f]of r){let x=t(f,s);if(x)return x}}function cD(e,t){let r=e.keys();for(let s of r){let f=t(s);if(f)return f}}function lD(e,t){e.forEach((r,s)=>{t.set(s,r)})}function uD(e){let t=Z_.getText();try{return e(Z_),Z_.getText()}finally{Z_.clear(),Z_.writeKeyword(t)}}function hf(e){return e.end-e.pos}function pD(e,t,r){var s,f;return(f=(s=e==null?void 0:e.resolvedModules)==null?void 0:s.get(t,r))==null?void 0:f.resolvedModule}function fD(e,t,r,s){e.resolvedModules||(e.resolvedModules=createModeAwareCache()),e.resolvedModules.set(t,s,r)}function dD(e,t,r,s){e.resolvedTypeReferenceDirectiveNames||(e.resolvedTypeReferenceDirectiveNames=createModeAwareCache()),e.resolvedTypeReferenceDirectiveNames.set(t,s,r)}function mD(e,t,r){var s,f;return(f=(s=e==null?void 0:e.resolvedTypeReferenceDirectiveNames)==null?void 0:s.get(t,r))==null?void 0:f.resolvedTypeReferenceDirective}function hD(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular}function gD(e,t){return e===t||e.resolvedModule===t.resolvedModule||!!e.resolvedModule&&!!t.resolvedModule&&e.resolvedModule.isExternalLibraryImport===t.resolvedModule.isExternalLibraryImport&&e.resolvedModule.extension===t.resolvedModule.extension&&e.resolvedModule.resolvedFileName===t.resolvedModule.resolvedFileName&&e.resolvedModule.originalPath===t.resolvedModule.originalPath&&yD(e.resolvedModule.packageId,t.resolvedModule.packageId)}function yD(e,t){return e===t||!!e&&!!t&&e.name===t.name&&e.subModuleName===t.subModuleName&&e.version===t.version}function fS(e){let{name:t,subModuleName:r}=e;return r?`${t}/${r}`:t}function vD(e){return`${fS(e)}@${e.version}`}function bD(e,t){return e===t||e.resolvedTypeReferenceDirective===t.resolvedTypeReferenceDirective||!!e.resolvedTypeReferenceDirective&&!!t.resolvedTypeReferenceDirective&&e.resolvedTypeReferenceDirective.resolvedFileName===t.resolvedTypeReferenceDirective.resolvedFileName&&!!e.resolvedTypeReferenceDirective.primary==!!t.resolvedTypeReferenceDirective.primary&&e.resolvedTypeReferenceDirective.originalPath===t.resolvedTypeReferenceDirective.originalPath}function TD(e,t,r,s,f,x){Y.assert(e.length===r.length);for(let w=0;w=0),ss(t)[e]}function AD(e){let t=Si(e),r=Ls(t,e.pos);return`${t.fileName}(${r.line+1},${r.character+1})`}function dS(e,t){Y.assert(e>=0);let r=ss(t),s=e,f=t.text;if(s+1===r.length)return f.length-1;{let x=r[s],w=r[s+1]-1;for(Y.assert(un(f.charCodeAt(w)));x<=w&&un(f.charCodeAt(w));)w--;return w}}function mS(e,t,r){return!(r&&r(t))&&!e.identifiers.has(t)}function va(e){return e===void 0?!0:e.pos===e.end&&e.pos>=0&&e.kind!==1}function xl(e){return!va(e)}function PD(e,t){return Fo(e)?t===e.expression:Hl(e)?t===e.modifiers:Wl(e)?t===e.initializer:Bo(e)?t===e.questionToken&&$3(e):lc(e)?t===e.modifiers||t===e.questionToken||t===e.exclamationToken||F_(e.modifiers,t,ff):nu(e)?t===e.equalsToken||t===e.modifiers||t===e.questionToken||t===e.exclamationToken||F_(e.modifiers,t,ff):Vl(e)?t===e.exclamationToken:nc(e)?t===e.typeParameters||t===e.type||F_(e.typeParameters,t,Fo):Gl(e)?t===e.typeParameters||F_(e.typeParameters,t,Fo):ic(e)?t===e.typeParameters||t===e.type||F_(e.typeParameters,t,Fo):av(e)?t===e.modifiers||F_(e.modifiers,t,ff):!1}function F_(e,t,r){return!e||ir(t)||!r(t)?!1:pe(e,t)}function hS(e,t,r){if(t===void 0||t.length===0)return e;let s=0;for(;s[`${Ls(e,w.range.end).line}`,w])),s=new Map;return{getUnusedExpectations:f,markUsed:x};function f(){return Za(r.entries()).filter(w=>{let[A,g]=w;return g.type===0&&!s.get(A)}).map(w=>{let[A,g]=w;return g})}function x(w){return r.has(`${w}`)?(s.set(`${w}`,!0),!0):!1}}function Io(e,t,r){return va(e)?e.pos:Uy(e)||e.kind===11?Ar((t||Si(e)).text,e.pos,!1,!0):r&&ya(e)?Io(e.jsDoc[0],t):e.kind===354&&e._children.length>0?Io(e._children[0],t,r):Ar((t||Si(e)).text,e.pos,!1,!1,qS(e))}function LD(e,t){let r=!va(e)&&fc(e)?te(e.modifiers,zl):void 0;return r?Ar((t||Si(e)).text,r.end):Io(e,t)}function No(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return B_(e.text,t,r)}function RD(e){return!!zi(e,lE)}function bS(e){return!!(cc(e)&&e.exportClause&&ld(e.exportClause)&&e.exportClause.name.escapedText==="default")}function B_(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(va(t))return"";let s=e.substring(r?t.pos:Ar(e,t.pos),t.end);return RD(t)&&(s=s.split(/\r\n|\n|\r/).map(f=>nl(f.replace(/^\s*\*/,""))).join(` -`)),s}function gf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return No(Si(e),e,t)}function jD(e){return e.pos}function JD(e,t){return Ya(e,t,jD,Vr)}function xi(e){let t=e.emitNode;return t&&t.flags||0}function FD(e){let t=e.emitNode;return t&&t.internalFlags||0}function BD(e,t,r){var s;if(t&&qD(e,r))return No(t,e);switch(e.kind){case 10:{let f=r&2?A4:r&1||xi(e)&33554432?Nf:Of;return e.singleQuote?"'"+f(e.text,39)+"'":'"'+f(e.text,34)+'"'}case 14:case 15:case 16:case 17:{let f=r&1||xi(e)&33554432?Nf:Of,x=(s=e.rawText)!=null?s:yN(f(e.text,96));switch(e.kind){case 14:return"`"+x+"`";case 15:return"`"+x+"${";case 16:return"}"+x+"${";case 17:return"}"+x+"`"}break}case 8:case 9:return e.text;case 13:return r&4&&e.isUnterminated?e.text+(e.text.charCodeAt(e.text.length-1)===92?" /":"/"):e.text}return Y.fail(`Literal kind '${e.kind}' not accounted for.`)}function qD(e,t){return fs(e)||!e.parent||t&4&&e.isUnterminated?!1:zs(e)&&e.numericLiteralFlags&512?!!(t&8):!U2(e)}function UD(e){return Ji(e)?'"'+Of(e)+'"':""+e}function zD(e){return sl(e).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function WD(e){return(tf(e)&3)!==0||TS(e)}function TS(e){let t=If(e);return t.kind===257&&t.parent.kind===295}function yf(e){return Ea(e)&&(e.name.kind===10||vf(e))}function VD(e){return Ea(e)&&e.name.kind===10}function HD(e){return Ea(e)&&Gn(e.name)}function SS(e){return Ea(e)||yt(e)}function GD(e){return $D(e.valueDeclaration)}function $D(e){return!!e&&e.kind===264&&!e.body}function KD(e){return e.kind===308||e.kind===264||uf(e)}function vf(e){return!!(e.flags&1024)}function Xy(e){return yf(e)&&xS(e)}function xS(e){switch(e.parent.kind){case 308:return Qo(e.parent);case 265:return yf(e.parent.parent)&&wi(e.parent.parent.parent)&&!Qo(e.parent.parent.parent)}return!1}function ES(e){var t;return(t=e.declarations)==null?void 0:t.find(r=>!Xy(r)&&!(Ea(r)&&vf(r)))}function XD(e){return e===1||e===100||e===199}function Yy(e,t){return Qo(e)||zf(t)||XD(Ei(t))&&!!e.commonJsModuleIndicator}function YD(e,t){switch(e.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return e.isDeclarationFile?!1:l2(t,"alwaysStrict")||SE(e.statements)?!0:Qo(e)||zf(t)?Ei(t)>=5?!0:!t.noImplicitUseStrict:!1}function QD(e){return!!(e.flags&16777216)||rn(e,2)}function wS(e,t){switch(e.kind){case 308:case 266:case 295:case 264:case 245:case 246:case 247:case 173:case 171:case 174:case 175:case 259:case 215:case 216:case 169:case 172:return!0;case 238:return!uf(t)}return!1}function ZD(e){switch(Y.type(e),e.kind){case 341:case 349:case 326:return!0;default:return CS(e)}}function CS(e){switch(Y.type(e),e.kind){case 176:case 177:case 170:case 178:case 181:case 182:case 320:case 260:case 228:case 261:case 262:case 348:case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function Qy(e){switch(e.kind){case 269:case 268:return!0;default:return!1}}function ek(e){return Qy(e)||Ef(e)}function tk(e){switch(e.kind){case 269:case 268:case 240:case 260:case 259:case 264:case 262:case 261:case 263:return!0;default:return!1}}function rk(e){return bf(e)||Ea(e)||Kl(e)||s0(e)}function bf(e){return Qy(e)||cc(e)}function Zy(e){return zi(e.parent,t=>wS(t,t.parent))}function nk(e,t){let r=Zy(e);for(;r;)t(r),r=Zy(r)}function AS(e){return!e||hf(e)===0?"(Missing)":gf(e)}function ik(e){return e.declaration?AS(e.declaration.parameters[0].name):void 0}function ak(e){return e.kind===164&&!Ta(e.expression)}function e0(e){var t;switch(e.kind){case 79:case 80:return(t=e.emitNode)!=null&&t.autoGenerate?void 0:e.escapedText;case 10:case 8:case 14:return vi(e.text);case 164:return Ta(e.expression)?vi(e.expression.text):void 0;default:return Y.assertNever(e)}}function sk(e){return Y.checkDefined(e0(e))}function ls(e){switch(e.kind){case 108:return"this";case 80:case 79:return hf(e)===0?qr(e):gf(e);case 163:return ls(e.left)+"."+ls(e.right);case 208:return yt(e.name)||vn(e.name)?ls(e.expression)+"."+ls(e.name):Y.assertNever(e.name);case 314:return ls(e.left)+ls(e.right);default:return Y.assertNever(e)}}function ok(e,t,r,s,f,x){let w=Si(e);return PS(w,e,t,r,s,f,x)}function _k(e,t,r,s,f,x,w){let A=Ar(e.text,t.pos);return i2(e,A,t.end-A,r,s,f,x,w)}function PS(e,t,r,s,f,x,w){let A=i0(e,t);return i2(e,A.start,A.length,r,s,f,x,w)}function ck(e,t,r,s){let f=i0(e,t);return r0(e,f.start,f.length,r,s)}function lk(e,t,r,s){let f=Ar(e.text,t.pos);return r0(e,f,t.end-f,r,s)}function t0(e,t,r){Y.assertGreaterThanOrEqual(t,0),Y.assertGreaterThanOrEqual(r,0),e&&(Y.assertLessThanOrEqual(t,e.text.length),Y.assertLessThanOrEqual(t+r,e.text.length))}function r0(e,t,r,s,f){return t0(e,t,r),{file:e,start:t,length:r,code:s.code,category:s.category,messageText:s.next?s:s.messageText,relatedInformation:f}}function uk(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}}function pk(e){return typeof e.messageText=="string"?{code:e.code,category:e.category,messageText:e.messageText,next:e.next}:e.messageText}function fk(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}}function n0(e,t){let r=Po(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);r.scan();let s=r.getTokenPos();return ha(s,r.getTextPos())}function dk(e,t){let r=Po(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);return r.scan(),r.getToken()}function mk(e,t){let r=Ar(e.text,t.pos);if(t.body&&t.body.kind===238){let{line:s}=Ls(e,t.body.pos),{line:f}=Ls(e,t.body.end);if(s0?t.statements[0].pos:t.end;return ha(w,A)}if(r===void 0)return n0(e,t.pos);Y.assert(!Ho(r));let s=va(r),f=s||td(t)?r.pos:Ar(e.text,r.pos);return s?(Y.assert(f===r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),Y.assert(f===r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(Y.assert(f>=r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),Y.assert(f<=r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),ha(f,r.end)}function hk(e){return(e.externalModuleIndicator||e.commonJsModuleIndicator)!==void 0}function a0(e){return e.scriptKind===6}function gk(e){return!!(ef(e)&2048)}function yk(e){return!!(ef(e)&64&&!l3(e,e.parent))}function DS(e){return!!(tf(e)&2)}function vk(e){return!!(tf(e)&1)}function bk(e){return e.kind===210&&e.expression.kind===106}function s0(e){return e.kind===210&&e.expression.kind===100}function o0(e){return tv(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function kS(e){return Kl(e)&&Y2(e.argument)&&Gn(e.argument.literal)}function us(e){return e.kind===241&&e.expression.kind===10}function Tf(e){return!!(xi(e)&2097152)}function _0(e){return Tf(e)&&Wo(e)}function Tk(e){return yt(e.name)&&!e.initializer}function c0(e){return Tf(e)&&zo(e)&&me(e.declarationList.declarations,Tk)}function Sk(e,t){return e.kind!==11?Ao(t.text,e.pos):void 0}function IS(e,t){let r=e.kind===166||e.kind===165||e.kind===215||e.kind===216||e.kind===214||e.kind===257||e.kind===278?Ft(HT(t,e.pos),Ao(t,e.pos)):Ao(t,e.pos);return ee(r,s=>t.charCodeAt(s.pos+1)===42&&t.charCodeAt(s.pos+2)===42&&t.charCodeAt(s.pos+3)!==47)}function l0(e){if(179<=e.kind&&e.kind<=202)return!0;switch(e.kind){case 131:case 157:case 148:case 160:case 152:case 134:case 153:case 149:case 155:case 144:return!0;case 114:return e.parent.kind!==219;case 230:return ru(e.parent)&&!Z0(e);case 165:return e.parent.kind===197||e.parent.kind===192;case 79:(e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e)&&(e=e.parent),Y.assert(e.kind===79||e.kind===163||e.kind===208,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 163:case 208:case 108:{let{parent:t}=e;if(t.kind===183)return!1;if(t.kind===202)return!t.isTypeOf;if(179<=t.kind&&t.kind<=202)return!0;switch(t.kind){case 230:return ru(t.parent)&&!Z0(t);case 165:return e===t.constraint;case 348:return e===t.constraint;case 169:case 168:case 166:case 257:return e===t.type;case 259:case 215:case 216:case 173:case 171:case 170:case 174:case 175:return e===t.type;case 176:case 177:case 178:return e===t.type;case 213:return e===t.type;case 210:case 211:return pe(t.typeArguments,e);case 212:return!1}}}return!1}function xk(e,t){for(;e;){if(e.kind===t)return!0;e=e.parent}return!1}function Ek(e,t){return r(e);function r(s){switch(s.kind){case 250:return t(s);case 266:case 238:case 242:case 243:case 244:case 245:case 246:case 247:case 251:case 252:case 292:case 293:case 253:case 255:case 295:return xr(s,r)}}}function wk(e,t){return r(e);function r(s){switch(s.kind){case 226:t(s);let f=s.expression;f&&r(f);return;case 263:case 261:case 264:case 262:return;default:if(ga(s)){if(s.name&&s.name.kind===164){r(s.name.expression);return}}else l0(s)||xr(s,r)}}}function Ck(e){return e&&e.kind===185?e.elementType:e&&e.kind===180?Xa(e.typeArguments):void 0}function Ak(e){switch(e.kind){case 261:case 260:case 228:case 184:return e.members;case 207:return e.properties}}function u0(e){if(e)switch(e.kind){case 205:case 302:case 166:case 299:case 169:case 168:case 300:case 257:return!0}return!1}function Pk(e){return u0(e)||pf(e)}function NS(e){return e.parent.kind===258&&e.parent.parent.kind===240}function Dk(e){return Pr(e)?Hs(e.parent)&&ur(e.parent.parent)&&ps(e.parent.parent)===2||p0(e.parent):!1}function p0(e){return Pr(e)?ur(e)&&ps(e)===1:!1}function kk(e){return(Vi(e)?DS(e)&&yt(e.name)&&NS(e):Bo(e)?$0(e)&&Lf(e):Wl(e)&&$0(e))||p0(e)}function Ik(e){switch(e.kind){case 171:case 170:case 173:case 174:case 175:case 259:case 215:return!0}return!1}function Nk(e,t){for(;;){if(t&&t(e),e.statement.kind!==253)return e.statement;e=e.statement}}function OS(e){return e&&e.kind===238&&ga(e.parent)}function Ok(e){return e&&e.kind===171&&e.parent.kind===207}function Mk(e){return(e.kind===171||e.kind===174||e.kind===175)&&(e.parent.kind===207||e.parent.kind===228)}function Lk(e){return e&&e.kind===1}function Rk(e){return e&&e.kind===0}function f0(e,t,r){return e.properties.filter(s=>{if(s.kind===299){let f=e0(s.name);return t===f||!!r&&r===f}return!1})}function jk(e,t,r){return q(f0(e,t),s=>Yl(s.initializer)?Pe(s.initializer.elements,f=>Gn(f)&&f.text===r):void 0)}function MS(e){if(e&&e.statements.length){let t=e.statements[0].expression;return ln(t,Hs)}}function Jk(e,t,r){return q(LS(e,t),s=>Yl(s.initializer)?Pe(s.initializer.elements,f=>Gn(f)&&f.text===r):void 0)}function LS(e,t){let r=MS(e);return r?f0(r,t):Bt}function Fk(e){return zi(e.parent,ga)}function Bk(e){return zi(e.parent,H3)}function qk(e){return zi(e.parent,bi)}function Uk(e){return zi(e.parent,t=>bi(t)||ga(t)?"quit":Hl(t))}function zk(e){return zi(e.parent,uf)}function d0(e,t,r){for(Y.assert(e.kind!==308);;){if(e=e.parent,!e)return Y.fail();switch(e.kind){case 164:if(r&&bi(e.parent.parent))return e;e=e.parent.parent;break;case 167:e.parent.kind===166&&Js(e.parent.parent)?e=e.parent.parent:Js(e.parent)&&(e=e.parent);break;case 216:if(!t)continue;case 259:case 215:case 264:case 172:case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 176:case 177:case 178:case 263:case 308:return e}}}function Wk(e){switch(e.kind){case 216:case 259:case 215:case 169:return!0;case 238:switch(e.parent.kind){case 173:case 171:case 174:case 175:return!0;default:return!1}default:return!1}}function Vk(e){yt(e)&&(_c(e.parent)||Wo(e.parent))&&e.parent.name===e&&(e=e.parent);let t=d0(e,!0,!1);return wi(t)}function Hk(e){let t=d0(e,!1,!1);if(t)switch(t.kind){case 173:case 259:case 215:return t}}function Gk(e,t){for(;;){if(e=e.parent,!e)return;switch(e.kind){case 164:e=e.parent;break;case 259:case 215:case 216:if(!t)continue;case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 172:return e;case 167:e.parent.kind===166&&Js(e.parent.parent)?e=e.parent.parent:Js(e.parent)&&(e=e.parent);break}}}function $k(e){if(e.kind===215||e.kind===216){let t=e,r=e.parent;for(;r.kind===214;)t=r,r=r.parent;if(r.kind===210&&r.expression===t)return r}}function Kk(e){return e.kind===106||Sf(e)}function Sf(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===106}function Xk(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===108}function Yk(e){var t;return!!e&&Vi(e)&&((t=e.initializer)==null?void 0:t.kind)===108}function Qk(e){return!!e&&(nu(e)||lc(e))&&ur(e.parent.parent)&&e.parent.parent.operatorToken.kind===63&&e.parent.parent.right.kind===108}function Zk(e){switch(e.kind){case 180:return e.typeName;case 230:return Bs(e.expression)?e.expression:void 0;case 79:case 163:return e}}function eI(e){switch(e.kind){case 212:return e.tag;case 283:case 282:return e.tagName;default:return e.expression}}function RS(e,t,r,s){if(e&&af(t)&&vn(t.name))return!1;switch(t.kind){case 260:return!0;case 228:return!e;case 169:return r!==void 0&&(e?_c(r):bi(r)&&!W4(t)&&!V4(t));case 174:case 175:case 171:return t.body!==void 0&&r!==void 0&&(e?_c(r):bi(r));case 166:return e?r!==void 0&&r.body!==void 0&&(r.kind===173||r.kind===171||r.kind===175)&&j4(r)!==t&&s!==void 0&&s.kind===260:!1}return!1}function q_(e,t,r,s){return Il(t)&&RS(e,t,r,s)}function m0(e,t,r,s){return q_(e,t,r,s)||h0(e,t,r)}function h0(e,t,r){switch(t.kind){case 260:return Ke(t.members,s=>m0(e,s,t,r));case 228:return!e&&Ke(t.members,s=>m0(e,s,t,r));case 171:case 175:case 173:return Ke(t.parameters,s=>q_(e,s,t,r));default:return!1}}function tI(e,t){if(q_(e,t))return!0;let r=R4(t);return!!r&&h0(e,r,t)}function rI(e,t,r){let s;if(pf(t)){let{firstAccessor:f,secondAccessor:x,setAccessor:w}=W0(r.members,t),A=Il(f)?f:x&&Il(x)?x:void 0;if(!A||t!==A)return!1;s=w==null?void 0:w.parameters}else Vl(t)&&(s=t.parameters);if(q_(e,t,r))return!0;if(s){for(let f of s)if(!kl(f)&&q_(e,f,t,r))return!0}return!1}function jS(e){if(e.textSourceNode){switch(e.textSourceNode.kind){case 10:return jS(e.textSourceNode);case 14:return e.text===""}return!1}return e.text===""}function xf(e){let{parent:t}=e;return t.kind===283||t.kind===282||t.kind===284?t.tagName===e:!1}function g0(e){switch(e.kind){case 106:case 104:case 110:case 95:case 13:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 231:case 213:case 235:case 232:case 214:case 215:case 228:case 216:case 219:case 217:case 218:case 221:case 222:case 223:case 224:case 227:case 225:case 229:case 281:case 282:case 285:case 226:case 220:case 233:return!0;case 230:return!ru(e.parent)&&!md(e.parent);case 163:for(;e.parent.kind===163;)e=e.parent;return e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e);case 314:for(;uc(e.parent);)e=e.parent;return e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e);case 80:return ur(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===101;case 79:if(e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e))return!0;case 8:case 9:case 10:case 14:case 108:return JS(e);default:return!1}}function JS(e){let{parent:t}=e;switch(t.kind){case 257:case 166:case 169:case 168:case 302:case 299:case 205:return t.initializer===e;case 241:case 242:case 243:case 244:case 250:case 251:case 252:case 292:case 254:return t.expression===e;case 245:let r=t;return r.initializer===e&&r.initializer.kind!==258||r.condition===e||r.incrementor===e;case 246:case 247:let s=t;return s.initializer===e&&s.initializer.kind!==258||s.expression===e;case 213:case 231:return e===t.expression;case 236:return e===t.expression;case 164:return e===t.expression;case 167:case 291:case 290:case 301:return!0;case 230:return t.expression===e&&!l0(t);case 300:return t.objectAssignmentInitializer===e;case 235:return e===t.expression;default:return g0(t)}}function FS(e){for(;e.kind===163||e.kind===79;)e=e.parent;return e.kind===183}function nI(e){return ld(e)&&!!e.parent.moduleSpecifier}function BS(e){return e.kind===268&&e.moduleReference.kind===280}function iI(e){return Y.assert(BS(e)),e.moduleReference.expression}function aI(e){return Ef(e)&&r2(e.initializer).arguments[0]}function sI(e){return e.kind===268&&e.moduleReference.kind!==280}function y0(e){return Pr(e)}function oI(e){return!Pr(e)}function Pr(e){return!!e&&!!(e.flags&262144)}function _I(e){return!!e&&!!(e.flags&67108864)}function cI(e){return!a0(e)}function qS(e){return!!e&&!!(e.flags&8388608)}function lI(e){return ac(e)&&yt(e.typeName)&&e.typeName.escapedText==="Object"&&e.typeArguments&&e.typeArguments.length===2&&(e.typeArguments[0].kind===152||e.typeArguments[0].kind===148)}function El(e,t){if(e.kind!==210)return!1;let{expression:r,arguments:s}=e;if(r.kind!==79||r.escapedText!=="require"||s.length!==1)return!1;let f=s[0];return!t||Ti(f)}function US(e){return zS(e,!1)}function Ef(e){return zS(e,!0)}function uI(e){return Xl(e)&&Ef(e.parent.parent)}function zS(e,t){return Vi(e)&&!!e.initializer&&El(t?r2(e.initializer):e.initializer,!0)}function WS(e){return zo(e)&&e.declarationList.declarations.length>0&&me(e.declarationList.declarations,t=>US(t))}function pI(e){return e===39||e===34}function fI(e,t){return No(t,e).charCodeAt(0)===34}function v0(e){return ur(e)||Lo(e)||yt(e)||sc(e)}function VS(e){return Pr(e)&&e.initializer&&ur(e.initializer)&&(e.initializer.operatorToken.kind===56||e.initializer.operatorToken.kind===60)&&e.name&&Bs(e.name)&&z_(e.name,e.initializer.left)?e.initializer.right:e.initializer}function dI(e){let t=VS(e);return t&&U_(t,Nl(e.name))}function mI(e,t){return c(e.properties,r=>lc(r)&&yt(r.name)&&r.name.escapedText==="value"&&r.initializer&&U_(r.initializer,t))}function hI(e){if(e&&e.parent&&ur(e.parent)&&e.parent.operatorToken.kind===63){let t=Nl(e.parent.left);return U_(e.parent.right,t)||gI(e.parent.left,e.parent.right,t)}if(e&&sc(e)&&S0(e)){let t=mI(e.arguments[2],e.arguments[1].text==="prototype");if(t)return t}}function U_(e,t){if(sc(e)){let r=Pl(e.expression);return r.kind===215||r.kind===216?e:void 0}if(e.kind===215||e.kind===228||e.kind===216||Hs(e)&&(e.properties.length===0||t))return e}function gI(e,t,r){let s=ur(t)&&(t.operatorToken.kind===56||t.operatorToken.kind===60)&&U_(t.right,r);if(s&&z_(e,t.left))return s}function yI(e){let t=Vi(e.parent)?e.parent.name:ur(e.parent)&&e.parent.operatorToken.kind===63?e.parent.left:void 0;return t&&U_(e.right,Nl(t))&&Bs(t)&&z_(t,e.left)}function vI(e){if(ur(e.parent)){let t=(e.parent.operatorToken.kind===56||e.parent.operatorToken.kind===60)&&ur(e.parent.parent)?e.parent.parent:e.parent;if(t.operatorToken.kind===63&&yt(t.left))return t.left}else if(Vi(e.parent))return e.parent.name}function z_(e,t){return L0(e)&&L0(t)?kf(e)===kf(t):js(e)&&wf(t)&&(t.expression.kind===108||yt(t.expression)&&(t.expression.escapedText==="window"||t.expression.escapedText==="self"||t.expression.escapedText==="global"))?z_(e,$S(t)):wf(e)&&wf(t)?Fs(e)===Fs(t)&&z_(e.expression,t.expression):!1}function b0(e){for(;ms(e,!0);)e=e.right;return e}function HS(e){return yt(e)&&e.escapedText==="exports"}function GS(e){return yt(e)&&e.escapedText==="module"}function T0(e){return(bn(e)||wl(e))&&GS(e.expression)&&Fs(e)==="exports"}function ps(e){let t=bI(e);return t===5||Pr(e)?t:0}function S0(e){return I(e.arguments)===3&&bn(e.expression)&&yt(e.expression.expression)&&qr(e.expression.expression)==="Object"&&qr(e.expression.name)==="defineProperty"&&Ta(e.arguments[1])&&V_(e.arguments[0],!0)}function wf(e){return bn(e)||wl(e)}function wl(e){return gs(e)&&Ta(e.argumentExpression)}function W_(e,t){return bn(e)&&(!t&&e.expression.kind===108||yt(e.name)&&V_(e.expression,!0))||x0(e,t)}function x0(e,t){return wl(e)&&(!t&&e.expression.kind===108||Bs(e.expression)||W_(e.expression,!0))}function V_(e,t){return Bs(e)||W_(e,t)}function $S(e){return bn(e)?e.name:e.argumentExpression}function bI(e){if(sc(e)){if(!S0(e))return 0;let t=e.arguments[0];return HS(t)||T0(t)?8:W_(t)&&Fs(t)==="prototype"?9:7}return e.operatorToken.kind!==63||!Lo(e.left)||TI(b0(e))?0:V_(e.left.expression,!0)&&Fs(e.left)==="prototype"&&Hs(XS(e))?6:KS(e.left)}function TI(e){return Q2(e)&&zs(e.expression)&&e.expression.text==="0"}function Cf(e){if(bn(e))return e.name;let t=Pl(e.argumentExpression);return zs(t)||Ti(t)?t:e}function Fs(e){let t=Cf(e);if(t){if(yt(t))return t.escapedText;if(Ti(t)||zs(t))return vi(t.text)}}function KS(e){if(e.expression.kind===108)return 4;if(T0(e))return 2;if(V_(e.expression,!0)){if(Nl(e.expression))return 3;let t=e;for(;!yt(t.expression);)t=t.expression;let r=t.expression;if((r.escapedText==="exports"||r.escapedText==="module"&&Fs(t)==="exports")&&W_(e))return 1;if(V_(e,!0)||gs(e)&&M0(e))return 5}return 0}function XS(e){for(;ur(e.right);)e=e.right;return e.right}function SI(e){return ur(e)&&ps(e)===3}function xI(e){return Pr(e)&&e.parent&&e.parent.kind===241&&(!gs(e)||wl(e))&&!!_f(e.parent)}function EI(e,t){let{valueDeclaration:r}=e;(!r||!(t.flags&16777216&&!Pr(t)&&!(r.flags&16777216))&&v0(r)&&!v0(t)||r.kind!==t.kind&&SS(r))&&(e.valueDeclaration=t)}function wI(e){if(!e||!e.valueDeclaration)return!1;let t=e.valueDeclaration;return t.kind===259||Vi(t)&&t.initializer&&ga(t.initializer)}function CI(e){var t,r;switch(e.kind){case 257:case 205:return(t=zi(e.initializer,s=>El(s,!0)))==null?void 0:t.arguments[0];case 269:return ln(e.moduleSpecifier,Ti);case 268:return ln((r=ln(e.moduleReference,ud))==null?void 0:r.expression,Ti);case 270:case 277:return ln(e.parent.moduleSpecifier,Ti);case 271:case 278:return ln(e.parent.parent.moduleSpecifier,Ti);case 273:return ln(e.parent.parent.parent.moduleSpecifier,Ti);default:Y.assertNever(e)}}function AI(e){return YS(e)||Y.failBadSyntaxKind(e.parent)}function YS(e){switch(e.parent.kind){case 269:case 275:return e.parent;case 280:return e.parent.parent;case 210:return s0(e.parent)||El(e.parent,!1)?e.parent:void 0;case 198:return Y.assert(Gn(e)),ln(e.parent.parent,Kl);default:return}}function E0(e){switch(e.kind){case 269:case 275:return e.moduleSpecifier;case 268:return e.moduleReference.kind===280?e.moduleReference.expression:void 0;case 202:return kS(e)?e.argument.literal:void 0;case 210:return e.arguments[0];case 264:return e.name.kind===10?e.name:void 0;default:return Y.assertNever(e)}}function QS(e){switch(e.kind){case 269:return e.importClause&&ln(e.importClause.namedBindings,_v);case 268:return e;case 275:return e.exportClause&&ln(e.exportClause,ld);default:return Y.assertNever(e)}}function ZS(e){return e.kind===269&&!!e.importClause&&!!e.importClause.name}function PI(e,t){if(e.name){let r=t(e);if(r)return r}if(e.namedBindings){let r=_v(e.namedBindings)?t(e.namedBindings):c(e.namedBindings.elements,t);if(r)return r}}function DI(e){if(e)switch(e.kind){case 166:case 171:case 170:case 300:case 299:case 169:case 168:return e.questionToken!==void 0}return!1}function kI(e){let t=dd(e)?pa(e.parameters):void 0,r=ln(t&&t.name,yt);return!!r&&r.escapedText==="new"}function Cl(e){return e.kind===349||e.kind===341||e.kind===343}function II(e){return Cl(e)||nv(e)}function NI(e){return Zl(e)&&ur(e.expression)&&e.expression.operatorToken.kind===63?b0(e.expression):void 0}function e4(e){return Zl(e)&&ur(e.expression)&&ps(e.expression)!==0&&ur(e.expression.right)&&(e.expression.right.operatorToken.kind===56||e.expression.right.operatorToken.kind===60)?e.expression.right.right:void 0}function w0(e){switch(e.kind){case 240:let t=Al(e);return t&&t.initializer;case 169:return e.initializer;case 299:return e.initializer}}function Al(e){return zo(e)?pa(e.declarationList.declarations):void 0}function t4(e){return Ea(e)&&e.body&&e.body.kind===264?e.body:void 0}function OI(e){if(e.kind>=240&&e.kind<=256)return!0;switch(e.kind){case 79:case 108:case 106:case 163:case 233:case 209:case 208:case 205:case 215:case 216:case 171:case 174:case 175:return!0;default:return!1}}function Af(e){switch(e.kind){case 216:case 223:case 238:case 249:case 176:case 292:case 260:case 228:case 172:case 173:case 182:case 177:case 248:case 256:case 243:case 209:case 239:case 1:case 263:case 302:case 274:case 275:case 278:case 241:case 246:case 247:case 245:case 259:case 215:case 181:case 174:case 79:case 242:case 269:case 268:case 178:case 261:case 320:case 326:case 253:case 171:case 170:case 264:case 199:case 267:case 207:case 166:case 214:case 208:case 299:case 169:case 168:case 250:case 175:case 300:case 301:case 252:case 254:case 255:case 262:case 165:case 257:case 240:case 244:case 251:return!0;default:return!1}}function r4(e,t){let r;u0(e)&&lS(e)&&ya(e.initializer)&&(r=jr(r,n4(e,Zn(e.initializer.jsDoc))));let s=e;for(;s&&s.parent;){if(ya(s)&&(r=jr(r,n4(e,Zn(s.jsDoc)))),s.kind===166){r=jr(r,(t?b3:of)(s));break}if(s.kind===165){r=jr(r,(t?x3:S3)(s));break}s=a4(s)}return r||Bt}function n4(e,t){if(Ho(t)){let r=ee(t.tags,s=>i4(e,s));return t.tags===r?[t]:r}return i4(e,t)?[t]:void 0}function i4(e,t){return!(au(t)||Tv(t))||!t.parent||!Ho(t.parent)||!qo(t.parent.parent)||t.parent.parent===e}function a4(e){let t=e.parent;if(t.kind===299||t.kind===274||t.kind===169||t.kind===241&&e.kind===208||t.kind===250||t4(t)||ur(e)&&e.operatorToken.kind===63)return t;if(t.parent&&(Al(t.parent)===e||ur(t)&&t.operatorToken.kind===63))return t.parent;if(t.parent&&t.parent.parent&&(Al(t.parent.parent)||w0(t.parent.parent)===e||e4(t.parent.parent)))return t.parent.parent}function MI(e){if(e.symbol)return e.symbol;if(!yt(e.name))return;let t=e.name.escapedText,r=C0(e);if(!r)return;let s=Pe(r.parameters,f=>f.name.kind===79&&f.name.escapedText===t);return s&&s.symbol}function LI(e){if(Ho(e.parent)&&e.parent.tags){let t=Pe(e.parent.tags,Cl);if(t)return t}return C0(e)}function C0(e){let t=A0(e);if(t)return Wl(t)&&t.type&&ga(t.type)?t.type:ga(t)?t:void 0}function A0(e){let t=s4(e);if(t)return e4(t)||NI(t)||w0(t)||Al(t)||t4(t)||t}function s4(e){let t=P0(e);if(!t)return;let r=t.parent;if(r&&r.jsDoc&&t===Cn(r.jsDoc))return r}function P0(e){return zi(e.parent,Ho)}function RI(e){let t=e.name.escapedText,{typeParameters:r}=e.parent.parent.parent;return r&&Pe(r,s=>s.name.escapedText===t)}function jI(e){return!!e.typeArguments}function o4(e){let t=e.parent;for(;;){switch(t.kind){case 223:let r=t.operatorToken.kind;return G_(r)&&t.left===e?r===63||jf(r)?1:2:0;case 221:case 222:let s=t.operator;return s===45||s===46?2:0;case 246:case 247:return t.initializer===e?1:0;case 214:case 206:case 227:case 232:e=t;break;case 301:e=t.parent;break;case 300:if(t.name!==e)return 0;e=t.parent;break;case 299:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function JI(e){return o4(e)!==0}function FI(e){switch(e.kind){case 238:case 240:case 251:case 242:case 252:case 266:case 292:case 293:case 253:case 245:case 246:case 247:case 243:case 244:case 255:case 295:return!0}return!1}function BI(e){return ad(e)||sd(e)||Ly(e)||Wo(e)||nc(e)}function _4(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function qI(e){return _4(e,193)}function D0(e){return _4(e,214)}function UI(e){let t;for(;e&&e.kind===193;)t=e,e=e.parent;return[t,e]}function zI(e){for(;K2(e);)e=e.type;return e}function Pl(e,t){return $o(e,t?17:1)}function WI(e){return e.kind!==208&&e.kind!==209?!1:(e=D0(e.parent),e&&e.kind===217)}function VI(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1}function c4(e){return!wi(e)&&!df(e)&&ko(e.parent)&&e.parent.name===e}function HI(e){let t=e.parent;switch(e.kind){case 10:case 14:case 8:if(Ws(t))return t.parent;case 79:if(ko(t))return t.name===e?t:void 0;if(rc(t)){let r=t.parent;return pc(r)&&r.name===t?r:void 0}else{let r=t.parent;return ur(r)&&ps(r)!==0&&(r.left.symbol||r.symbol)&&ml(r)===e?r:void 0}case 80:return ko(t)&&t.name===e?t:void 0;default:return}}function l4(e){return Ta(e)&&e.parent.kind===164&&ko(e.parent.parent)}function GI(e){let t=e.parent;switch(t.kind){case 169:case 168:case 171:case 170:case 174:case 175:case 302:case 299:case 208:return t.name===e;case 163:return t.right===e;case 205:case 273:return t.propertyName===e;case 278:case 288:case 282:case 283:case 284:return!0}return!1}function $I(e){return e.kind===268||e.kind===267||e.kind===270&&e.name||e.kind===271||e.kind===277||e.kind===273||e.kind===278||e.kind===274&&I0(e)?!0:Pr(e)&&(ur(e)&&ps(e)===2&&I0(e)||bn(e)&&ur(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===63&&k0(e.parent.right))}function u4(e){switch(e.parent.kind){case 270:case 273:case 271:case 278:case 274:case 268:case 277:return e.parent;case 163:do e=e.parent;while(e.parent.kind===163);return u4(e)}}function k0(e){return Bs(e)||_d(e)}function I0(e){let t=p4(e);return k0(t)}function p4(e){return Vo(e)?e.expression:e.right}function KI(e){return e.kind===300?e.name:e.kind===299?e.initializer:e.parent.right}function f4(e){let t=d4(e);if(t&&Pr(e)){let r=E3(e);if(r)return r.class}return t}function d4(e){let t=Pf(e.heritageClauses,94);return t&&t.types.length>0?t.types[0]:void 0}function m4(e){if(Pr(e))return w3(e).map(t=>t.class);{let t=Pf(e.heritageClauses,117);return t==null?void 0:t.types}}function h4(e){return eu(e)?g4(e)||Bt:bi(e)&&Ft(Cp(f4(e)),m4(e))||Bt}function g4(e){let t=Pf(e.heritageClauses,94);return t?t.types:void 0}function Pf(e,t){if(e){for(let r of e)if(r.token===t)return r}}function XI(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}}function ba(e){return 81<=e&&e<=162}function N0(e){return 126<=e&&e<=162}function y4(e){return ba(e)&&!N0(e)}function YI(e){return 117<=e&&e<=125}function QI(e){let t=_l(e);return t!==void 0&&y4(t)}function ZI(e){let t=_l(e);return t!==void 0&&ba(t)}function eN(e){let t=d3(e);return!!t&&!N0(t)}function tN(e){return 2<=e&&e<=7}function rN(e){if(!e)return 4;let t=0;switch(e.kind){case 259:case 215:case 171:e.asteriskToken&&(t|=1);case 216:rn(e,512)&&(t|=2);break}return e.body||(t|=4),t}function nN(e){switch(e.kind){case 259:case 215:case 216:case 171:return e.body!==void 0&&e.asteriskToken===void 0&&rn(e,512)}return!1}function Ta(e){return Ti(e)||zs(e)}function O0(e){return od(e)&&(e.operator===39||e.operator===40)&&zs(e.operand)}function v4(e){let t=ml(e);return!!t&&M0(t)}function M0(e){if(!(e.kind===164||e.kind===209))return!1;let t=gs(e)?Pl(e.argumentExpression):e.expression;return!Ta(t)&&!O0(t)}function Df(e){switch(e.kind){case 79:case 80:return e.escapedText;case 10:case 8:return vi(e.text);case 164:let t=e.expression;return Ta(t)?vi(t.text):O0(t)?t.operator===40?Br(t.operator)+t.operand.text:t.operand.text:void 0;default:return Y.assertNever(e)}}function L0(e){switch(e.kind){case 79:case 10:case 14:case 8:return!0;default:return!1}}function kf(e){return js(e)?qr(e):e.text}function b4(e){return js(e)?e.escapedText:vi(e.text)}function iN(e){return`__@${getSymbolId(e)}@${e.escapedName}`}function aN(e,t){return`__#${getSymbolId(e)}@${t}`}function sN(e){return Pn(e.escapedName,"__@")}function oN(e){return Pn(e.escapedName,"__#")}function _N(e){return e.kind===79&&e.escapedText==="Symbol"}function T4(e){return yt(e)?qr(e)==="__proto__":Gn(e)&&e.text==="__proto__"}function H_(e,t){switch(e=$o(e),e.kind){case 228:case 215:if(e.name)return!1;break;case 216:break;default:return!1}return typeof t=="function"?t(e):!0}function S4(e){switch(e.kind){case 299:return!T4(e.name);case 300:return!!e.objectAssignmentInitializer;case 257:return yt(e.name)&&!!e.initializer;case 166:return yt(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 205:return yt(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 169:return!!e.initializer;case 223:switch(e.operatorToken.kind){case 63:case 76:case 75:case 77:return yt(e.left)}break;case 274:return!0}return!1}function cN(e,t){if(!S4(e))return!1;switch(e.kind){case 299:return H_(e.initializer,t);case 300:return H_(e.objectAssignmentInitializer,t);case 257:case 166:case 205:case 169:return H_(e.initializer,t);case 223:return H_(e.right,t);case 274:return H_(e.expression,t)}}function lN(e){return e.escapedText==="push"||e.escapedText==="unshift"}function uN(e){return If(e).kind===166}function If(e){for(;e.kind===205;)e=e.parent.parent;return e}function pN(e){let t=e.kind;return t===173||t===215||t===259||t===216||t===171||t===174||t===175||t===264||t===308}function fs(e){return hs(e.pos)||hs(e.end)}function fN(e){return fl(e,wi)||e}function dN(e){let t=R0(e),r=e.kind===211&&e.arguments!==void 0;return x4(e.kind,t,r)}function x4(e,t,r){switch(e){case 211:return r?0:1;case 221:case 218:case 219:case 217:case 220:case 224:case 226:return 1;case 223:switch(t){case 42:case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 1}}return 0}function mN(e){let t=R0(e),r=e.kind===211&&e.arguments!==void 0;return E4(e.kind,t,r)}function R0(e){return e.kind===223?e.operatorToken.kind:e.kind===221||e.kind===222?e.operator:e.kind}function E4(e,t,r){switch(e){case 357:return 0;case 227:return 1;case 226:return 2;case 224:return 4;case 223:switch(t){case 27:return 0;case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 3;default:return Dl(t)}case 213:case 232:case 221:case 218:case 219:case 217:case 220:return 16;case 222:return 17;case 210:return 18;case 211:return r?19:18;case 212:case 208:case 209:case 233:return 19;case 231:case 235:return 11;case 108:case 106:case 79:case 80:case 104:case 110:case 95:case 8:case 9:case 10:case 206:case 207:case 215:case 216:case 228:case 13:case 14:case 225:case 214:case 229:case 281:case 282:case 285:return 20;default:return-1}}function Dl(e){switch(e){case 60:return 4;case 56:return 5;case 55:return 6;case 51:return 7;case 52:return 8;case 50:return 9;case 34:case 35:case 36:case 37:return 10;case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:return 11;case 47:case 48:case 49:return 12;case 39:case 40:return 13;case 41:case 43:case 44:return 14;case 42:return 15}return-1}function hN(e){return ee(e,t=>{switch(t.kind){case 291:return!!t.expression;case 11:return!t.containsOnlyTriviaWhiteSpaces;default:return!0}})}function gN(){let e=[],t=[],r=new Map,s=!1;return{add:x,lookup:f,getGlobalDiagnostics:w,getDiagnostics:A};function f(g){let B;if(g.file?B=r.get(g.file.fileName):B=e,!B)return;let N=Ya(B,g,rr,qf);if(N>=0)return B[N]}function x(g){let B;g.file?(B=r.get(g.file.fileName),B||(B=[],r.set(g.file.fileName,B),Qn(t,g.file.fileName,ri))):(s&&(s=!1,e=e.slice()),B=e),Qn(B,g,qf)}function w(){return s=!0,e}function A(g){if(g)return r.get(g)||[];let B=ge(t,N=>r.get(N));return e.length&&B.unshift(...e),B}}function yN(e){return e.replace(s8,"\\${")}function w4(e){return e&&!!(k8(e)?e.templateFlags:e.head.templateFlags||Ke(e.templateSpans,t=>!!t.literal.templateFlags))}function C4(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function vN(e,t,r){if(e.charCodeAt(0)===0){let s=r.charCodeAt(t+e.length);return s>=48&&s<=57?"\\x00":"\\0"}return l8.get(e)||C4(e.charCodeAt(0))}function Nf(e,t){let r=t===96?c8:t===39?_8:o8;return e.replace(r,vN)}function Of(e,t){return e=Nf(e,t),C2.test(e)?e.replace(C2,r=>C4(r.charCodeAt(0))):e}function bN(e){return"&#x"+e.toString(16).toUpperCase()+";"}function TN(e){return e.charCodeAt(0)===0?"�":f8.get(e)||bN(e.charCodeAt(0))}function A4(e,t){let r=t===39?p8:u8;return e.replace(r,TN)}function SN(e){let t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&xN(e.charCodeAt(0))?e.substring(1,t-1):e}function xN(e){return e===39||e===34||e===96}function P4(e){let t=e.charCodeAt(0);return t>=97&&t<=122||Fi(e,"-")||Fi(e,":")}function j0(e){let t=jo[1];for(let r=jo.length;r<=e;r++)jo.push(jo[r-1]+t);return jo[e]}function Oo(){return jo[1].length}function EN(){return Fi(C,"-dev")||Fi(C,"-insiders")}function wN(e){var t,r,s,f,x,w=!1;function A(Se){let Ye=Kp(Se);Ye.length>1?(f=f+Ye.length-1,x=t.length-Se.length+Zn(Ye),s=x-t.length===0):s=!1}function g(Se){Se&&Se.length&&(s&&(Se=j0(r)+Se,s=!1),t+=Se,A(Se))}function B(Se){Se&&(w=!1),g(Se)}function N(Se){Se&&(w=!0),g(Se)}function X(){t="",r=0,s=!0,f=0,x=0,w=!1}function F(Se){Se!==void 0&&(t+=Se,A(Se),w=!1)}function $(Se){Se&&Se.length&&B(Se)}function ae(Se){(!s||Se)&&(t+=e,f++,x=t.length,s=!0,w=!1)}function Te(){return s?t.length:t.length+e.length}return X(),{write:B,rawWrite:F,writeLiteral:$,writeLine:ae,increaseIndent:()=>{r++},decreaseIndent:()=>{r--},getIndent:()=>r,getTextPos:()=>t.length,getLine:()=>f,getColumn:()=>s?r*Oo():t.length-x,getText:()=>t,isAtStartOfLine:()=>s,hasTrailingComment:()=>w,hasTrailingWhitespace:()=>!!t.length&&os(t.charCodeAt(t.length-1)),clear:X,writeKeyword:B,writeOperator:B,writeParameter:B,writeProperty:B,writePunctuation:B,writeSpace:B,writeStringLiteral:B,writeSymbol:(Se,Ye)=>B(Se),writeTrailingSemicolon:B,writeComment:N,getTextPosWithWriteLine:Te}}function CN(e){let t=!1;function r(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return Object.assign(Object.assign({},e),{},{writeTrailingSemicolon(){t=!0},writeLiteral(s){r(),e.writeLiteral(s)},writeStringLiteral(s){r(),e.writeStringLiteral(s)},writeSymbol(s,f){r(),e.writeSymbol(s,f)},writePunctuation(s){r(),e.writePunctuation(s)},writeKeyword(s){r(),e.writeKeyword(s)},writeOperator(s){r(),e.writeOperator(s)},writeParameter(s){r(),e.writeParameter(s)},writeSpace(s){r(),e.writeSpace(s)},writeProperty(s){r(),e.writeProperty(s)},writeComment(s){r(),e.writeComment(s)},writeLine(){r(),e.writeLine()},increaseIndent(){r(),e.increaseIndent()},decreaseIndent(){r(),e.decreaseIndent()}})}function J0(e){return e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames():!1}function D4(e){return wp(J0(e))}function k4(e,t,r){return t.moduleName||F0(e,t.fileName,r&&r.fileName)}function I4(e,t){return e.getCanonicalFileName(as(t,e.getCurrentDirectory()))}function AN(e,t,r){let s=t.getExternalModuleFileFromDeclaration(r);if(!s||s.isDeclarationFile)return;let f=E0(r);if(!(f&&Ti(f)&&!So(f.text)&&I4(e,s.path).indexOf(I4(e,wo(e.getCommonSourceDirectory())))===-1))return k4(e,s)}function F0(e,t,r){let s=g=>e.getCanonicalFileName(g),f=Ui(r?ma(r):e.getCommonSourceDirectory(),e.getCurrentDirectory(),s),x=as(t,e.getCurrentDirectory()),w=uy(f,x,f,s,!1),A=Ll(w);return r?_y(A):A}function PN(e,t,r){let s=t.getCompilerOptions(),f;return s.outDir?f=Ll(M4(e,t,s.outDir)):f=Ll(e),f+r}function DN(e,t){return N4(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),r=>t.getCanonicalFileName(r))}function N4(e,t,r,s,f){let x=t.declarationDir||t.outDir,w=x?U0(e,x,r,s,f):e,A=O4(w);return Ll(w)+A}function O4(e){return da(e,[".mjs",".mts"])?".d.mts":da(e,[".cjs",".cts"])?".d.cts":da(e,[".json"])?".d.json.ts":".d.ts"}function kN(e){return da(e,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:da(e,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:da(e,[".d.json.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}function B0(e){return e.outFile||e.out}function IN(e,t){var r,s;if(e.paths)return(s=e.baseUrl)!=null?s:Y.checkDefined(e.pathsBasePath||((r=t.getCurrentDirectory)==null?void 0:r.call(t)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}function NN(e,t,r){let s=e.getCompilerOptions();if(B0(s)){let f=Ei(s),x=s.emitDeclarationOnly||f===2||f===4;return ee(e.getSourceFiles(),w=>(x||!Qo(w))&&q0(w,e,r))}else{let f=t===void 0?e.getSourceFiles():[t];return ee(f,x=>q0(x,e,r))}}function q0(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&y0(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&(r||!(a0(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&!t.isSourceOfProjectReferenceRedirect(e.fileName))}function M4(e,t,r){return U0(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),s=>t.getCanonicalFileName(s))}function U0(e,t,r,s,f){let x=as(e,r);return x=f(x).indexOf(f(s))===0?x.substring(s.length):x,tn(t,x)}function ON(e,t,r,s,f,x,w){e.writeFile(r,s,f,A=>{t.add(Ol(ve.Could_not_write_file_0_Colon_1,r,A))},x,w)}function L4(e,t,r){if(e.length>Bi(e)&&!r(e)){let s=ma(e);L4(s,t,r),t(e)}}function MN(e,t,r,s,f,x){try{s(e,t,r)}catch{L4(ma(Un(e)),f,x),s(e,t,r)}}function LN(e,t){let r=ss(e);return k_(r,t)}function ds(e,t){return k_(e,t)}function R4(e){return Pe(e.members,t=>nc(t)&&xl(t.body))}function z0(e){if(e&&e.parameters.length>0){let t=e.parameters.length===2&&kl(e.parameters[0]);return e.parameters[t?1:0]}}function RN(e){let t=z0(e);return t&&t.type}function j4(e){if(e.parameters.length&&!iu(e)){let t=e.parameters[0];if(kl(t))return t}}function kl(e){return Mf(e.name)}function Mf(e){return!!e&&e.kind===79&&J4(e)}function jN(e){if(!Mf(e))return!1;for(;rc(e.parent)&&e.parent.left===e;)e=e.parent;return e.parent.kind===183}function J4(e){return e.escapedText==="this"}function W0(e,t){let r,s,f,x;return v4(t)?(r=t,t.kind===174?f=t:t.kind===175?x=t:Y.fail("Accessor has wrong kind")):c(e,w=>{if(pf(w)&&G0(w)===G0(t)){let A=Df(w.name),g=Df(t.name);A===g&&(r?s||(s=w):r=w,w.kind===174&&!f&&(f=w),w.kind===175&&!x&&(x=w))}}),{firstAccessor:r,secondAccessor:s,getAccessor:f,setAccessor:x}}function V0(e){if(!Pr(e)&&Wo(e))return;let t=e.type;return t||!Pr(e)?t:Dy(e)?e.typeExpression&&e.typeExpression.type:cf(e)}function JN(e){return e.type}function FN(e){return iu(e)?e.type&&e.type.typeExpression&&e.type.typeExpression.type:e.type||(Pr(e)?O3(e):void 0)}function F4(e){return ne(hl(e),t=>BN(t)?t.typeParameters:void 0)}function BN(e){return Go(e)&&!(e.parent.kind===323&&(e.parent.tags.some(Cl)||e.parent.tags.some(yv)))}function qN(e){let t=z0(e);return t&&V0(t)}function B4(e,t,r,s){q4(e,t,r.pos,s)}function q4(e,t,r,s){s&&s.length&&r!==s[0].pos&&ds(e,r)!==ds(e,s[0].pos)&&t.writeLine()}function UN(e,t,r,s){r!==s&&ds(e,r)!==ds(e,s)&&t.writeLine()}function U4(e,t,r,s,f,x,w,A){if(s&&s.length>0){f&&r.writeSpace(" ");let g=!1;for(let B of s)g&&(r.writeSpace(" "),g=!1),A(e,t,r,B.pos,B.end,w),B.hasTrailingNewLine?r.writeLine():g=!0;g&&x&&r.writeSpace(" ")}}function zN(e,t,r,s,f,x,w){let A,g;if(w?f.pos===0&&(A=ee(Ao(e,f.pos),B)):A=Ao(e,f.pos),A){let N=[],X;for(let F of A){if(X){let $=ds(t,X.end);if(ds(t,F.pos)>=$+2)break}N.push(F),X=F}if(N.length){let F=ds(t,Zn(N).end);ds(t,Ar(e,f.pos))>=F+2&&(B4(t,r,f,A),U4(e,t,r,N,!1,!0,x,s),g={nodePos:f.pos,detachedCommentEndPos:Zn(N).end})}}return g;function B(N){return vS(e,N.pos)}}function WN(e,t,r,s,f,x){if(e.charCodeAt(s+1)===42){let w=my(t,s),A=t.length,g;for(let B=s,N=w.line;B0){let ae=$%Oo(),Te=j0(($-ae)/Oo());for(r.rawWrite(Te);ae;)r.rawWrite(" "),ae--}else r.rawWrite("")}VN(e,f,r,x,B,X),B=X}}else r.writeComment(e.substring(s,f))}function VN(e,t,r,s,f,x){let w=Math.min(t,x-1),A=Pp(e.substring(f,w));A?(r.writeComment(A),w!==t&&r.writeLine()):r.rawWrite(s)}function z4(e,t,r){let s=0;for(;t=0&&e.kind<=162?0:(e.modifierFlagsCache&536870912||(e.modifierFlagsCache=Y0(e)|536870912),t&&!(e.modifierFlagsCache&4096)&&(r||Pr(e))&&e.parent&&(e.modifierFlagsCache|=X4(e)|4096),e.modifierFlagsCache&-536875009)}function Rf(e){return K0(e,!0)}function K4(e){return K0(e,!0,!0)}function X0(e){return K0(e,!1)}function X4(e){let t=0;return e.parent&&!Vs(e)&&(Pr(e)&&(C3(e)&&(t|=4),A3(e)&&(t|=8),P3(e)&&(t|=16),D3(e)&&(t|=64),k3(e)&&(t|=16384)),I3(e)&&(t|=8192)),t}function Y4(e){return Y0(e)|X4(e)}function Y0(e){let t=fc(e)?Vn(e.modifiers):0;return(e.flags&4||e.kind===79&&e.flags&2048)&&(t|=1),t}function Vn(e){let t=0;if(e)for(let r of e)t|=Q0(r.kind);return t}function Q0(e){switch(e){case 124:return 32;case 123:return 4;case 122:return 16;case 121:return 8;case 126:return 256;case 127:return 128;case 93:return 1;case 136:return 2;case 85:return 2048;case 88:return 1024;case 132:return 512;case 146:return 64;case 161:return 16384;case 101:return 32768;case 145:return 65536;case 167:return 131072}return 0}function Q4(e){return e===56||e===55}function KN(e){return Q4(e)||e===53}function jf(e){return e===75||e===76||e===77}function XN(e){return ur(e)&&jf(e.operatorToken.kind)}function Z4(e){return Q4(e)||e===60}function YN(e){return ur(e)&&Z4(e.operatorToken.kind)}function G_(e){return e>=63&&e<=78}function ex(e){let t=tx(e);return t&&!t.isImplements?t.class:void 0}function tx(e){if(ev(e)){if(ru(e.parent)&&bi(e.parent.parent))return{class:e.parent.parent,isImplements:e.parent.token===117};if(md(e.parent)){let t=A0(e.parent);if(t&&bi(t))return{class:t,isImplements:!1}}}}function ms(e,t){return ur(e)&&(t?e.operatorToken.kind===63:G_(e.operatorToken.kind))&&Do(e.left)}function QN(e){return ms(e.parent)&&e.parent.left===e}function ZN(e){if(ms(e,!0)){let t=e.left.kind;return t===207||t===206}return!1}function Z0(e){return ex(e)!==void 0}function Bs(e){return e.kind===79||rx(e)}function eO(e){switch(e.kind){case 79:return e;case 163:do e=e.left;while(e.kind!==79);return e;case 208:do e=e.expression;while(e.kind!==79);return e}}function e2(e){return e.kind===79||e.kind===108||e.kind===106||e.kind===233||e.kind===208&&e2(e.expression)||e.kind===214&&e2(e.expression)}function rx(e){return bn(e)&&yt(e.name)&&Bs(e.expression)}function t2(e){if(bn(e)){let t=t2(e.expression);if(t!==void 0)return t+"."+ls(e.name)}else if(gs(e)){let t=t2(e.expression);if(t!==void 0&&vl(e.argumentExpression))return t+"."+Df(e.argumentExpression)}else if(yt(e))return dl(e.escapedText)}function Nl(e){return W_(e)&&Fs(e)==="prototype"}function tO(e){return e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e}function nx(e){return bn(e.parent)&&e.parent.name===e||gs(e.parent)&&e.parent.argumentExpression===e}function rO(e){return rc(e.parent)&&e.parent.right===e||bn(e.parent)&&e.parent.name===e||uc(e.parent)&&e.parent.right===e}function nO(e){return e.kind===207&&e.properties.length===0}function iO(e){return e.kind===206&&e.elements.length===0}function aO(e){if(!(!sO(e)||!e.declarations)){for(let t of e.declarations)if(t.localSymbol)return t.localSymbol}}function sO(e){return e&&I(e.declarations)>0&&rn(e.declarations[0],1024)}function oO(e){return Pe(y8,t=>ns(e,t))}function _O(e){let t=[],r=e.length;for(let s=0;s>6|192),t.push(f&63|128)):f<65536?(t.push(f>>12|224),t.push(f>>6&63|128),t.push(f&63|128)):f<131072?(t.push(f>>18|240),t.push(f>>12&63|128),t.push(f>>6&63|128),t.push(f&63|128)):Y.assert(!1,"Unexpected code point")}return t}function ix(e){let t="",r=_O(e),s=0,f=r.length,x,w,A,g;for(;s>2,w=(r[s]&3)<<4|r[s+1]>>4,A=(r[s+1]&15)<<2|r[s+2]>>6,g=r[s+2]&63,s+1>=f?A=g=64:s+2>=f&&(g=64),t+=xa.charAt(x)+xa.charAt(w)+xa.charAt(A)+xa.charAt(g),s+=3;return t}function cO(e){let t="",r=0,s=e.length;for(;r>4&3,N=(w&15)<<4|A>>2&15,X=(A&3)<<6|g&63;N===0&&A!==0?s.push(B):X===0&&g!==0?s.push(B,N):s.push(B,N,X),f+=4}return cO(s)}function ax(e,t){let r=Ji(t)?t:t.readFile(e);if(!r)return;let s=parseConfigFileTextToJson(e,r);return s.error?void 0:s.config}function pO(e,t){return ax(e,t)||{}}function sx(e,t){return!t.directoryExists||t.directoryExists(e)}function ox(e){switch(e.newLine){case 0:return d8;case 1:case void 0:return m8}}function Jf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Y.assert(t>=e||t===-1),{pos:e,end:t}}function fO(e,t){return Jf(e.pos,t)}function Ff(e,t){return Jf(t,e.end)}function _x(e){let t=fc(e)?te(e.modifiers,zl):void 0;return t&&!hs(t.end)?Ff(e,t.end):e}function dO(e){if(Bo(e)||Vl(e))return Ff(e,e.name.pos);let t=fc(e)?Cn(e.modifiers):void 0;return t&&!hs(t.end)?Ff(e,t.end):_x(e)}function mO(e){return e.pos===e.end}function hO(e,t){return Jf(e,e+Br(t).length)}function gO(e,t){return cx(e,e,t)}function yO(e,t,r){return $_(K_(e,r,!1),K_(t,r,!1),r)}function vO(e,t,r){return $_(e.end,t.end,r)}function cx(e,t,r){return $_(K_(e,r,!1),t.end,r)}function bO(e,t,r){return $_(e.end,K_(t,r,!1),r)}function TO(e,t,r,s){let f=K_(t,r,s);return I_(r,e.end,f)}function SO(e,t,r){return I_(r,e.end,t.end)}function xO(e,t){return!$_(e.pos,e.end,t)}function $_(e,t,r){return I_(r,e,t)===0}function K_(e,t,r){return hs(e.pos)?-1:Ar(t.text,e.pos,!1,r)}function EO(e,t,r,s){let f=Ar(r.text,e,!1,s),x=CO(f,t,r);return I_(r,x!=null?x:t,f)}function wO(e,t,r,s){let f=Ar(r.text,e,!1,s);return I_(r,e,Math.min(t,f))}function CO(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;for(;e-- >t;)if(!os(r.text.charCodeAt(e)))return e}function AO(e){let t=fl(e);if(t)switch(t.parent.kind){case 263:case 264:return t===t.parent.name}return!1}function PO(e){return ee(e.declarations,lx)}function lx(e){return Vi(e)&&e.initializer!==void 0}function DO(e){return e.watch&&Jr(e,"watch")}function kO(e){e.close()}function ux(e){return e.flags&33554432?e.links.checkFlags:0}function IO(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.valueDeclaration){let r=t&&e.declarations&&Pe(e.declarations,ic)||e.flags&32768&&Pe(e.declarations,Gl)||e.valueDeclaration,s=ef(r);return e.parent&&e.parent.flags&32?s:s&-29}if(ux(e)&6){let r=e.links.checkFlags,s=r&1024?8:r&256?4:16,f=r&2048?32:0;return s|f}return e.flags&4194304?36:0}function NO(e,t){return e.flags&2097152?t.getAliasedSymbol(e):e}function OO(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}function MO(e){return Mo(e)===1}function LO(e){return Mo(e)!==0}function Mo(e){let{parent:t}=e;if(!t)return 0;switch(t.kind){case 214:return Mo(t);case 222:case 221:let{operator:s}=t;return s===45||s===46?r():0;case 223:let{left:f,operatorToken:x}=t;return f===e&&G_(x.kind)?x.kind===63?1:r():0;case 208:return t.name!==e?0:Mo(t);case 299:{let w=Mo(t.parent);return e===t.name?RO(w):w}case 300:return e===t.objectAssignmentInitializer?0:Mo(t.parent);case 206:return Mo(t);default:return 0}function r(){return t.parent&&D0(t.parent).kind===241?1:2}}function RO(e){switch(e){case 0:return 1;case 1:return 0;case 2:return 2;default:return Y.assertNever(e)}}function px(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(typeof e[r]=="object"){if(!px(e[r],t[r]))return!1}else if(typeof e[r]!="function"&&e[r]!==t[r])return!1;return!0}function jO(e,t){e.forEach(t),e.clear()}function fx(e,t,r){let{onDeleteValue:s,onExistingValue:f}=r;e.forEach((x,w)=>{let A=t.get(w);A===void 0?(e.delete(w),s(x,w)):f&&f(x,A,w)})}function JO(e,t,r){fx(e,t,r);let{createNewValue:s}=r;t.forEach((f,x)=>{e.has(x)||e.set(x,s(x,f))})}function FO(e){if(e.flags&32){let t=dx(e);return!!t&&rn(t,256)}return!1}function dx(e){var t;return(t=e.declarations)==null?void 0:t.find(bi)}function Bf(e){return e.flags&3899393?e.objectFlags:0}function BO(e,t){return!!FT(e,r=>t(r)?!0:void 0)}function qO(e){return!!e&&!!e.declarations&&!!e.declarations[0]&&av(e.declarations[0])}function UO(e){let{moduleSpecifier:t}=e;return Gn(t)?t.text:gf(t)}function mx(e){let t;return xr(e,r=>{xl(r)&&(t=r)},r=>{for(let s=r.length-1;s>=0;s--)if(xl(r[s])){t=r[s];break}}),t}function zO(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.has(t)?!1:(e.set(t,r),!0)}function WO(e){return bi(e)||eu(e)||id(e)}function hx(e){return e>=179&&e<=202||e===131||e===157||e===148||e===160||e===149||e===134||e===152||e===153||e===114||e===155||e===144||e===139||e===230||e===315||e===316||e===317||e===318||e===319||e===320||e===321}function Lo(e){return e.kind===208||e.kind===209}function VO(e){return e.kind===208?e.name:(Y.assert(e.kind===209),e.argumentExpression)}function HO(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}}function GO(e){return e.kind===272||e.kind===276}function r2(e){for(;Lo(e);)e=e.expression;return e}function $O(e,t){if(Lo(e.parent)&&nx(e))return r(e.parent);function r(s){if(s.kind===208){let f=t(s.name);if(f!==void 0)return f}else if(s.kind===209)if(yt(s.argumentExpression)||Ti(s.argumentExpression)){let f=t(s.argumentExpression);if(f!==void 0)return f}else return;if(Lo(s.expression))return r(s.expression);if(yt(s.expression))return t(s.expression)}}function KO(e,t){for(;;){switch(e.kind){case 222:e=e.operand;continue;case 223:e=e.left;continue;case 224:e=e.condition;continue;case 212:e=e.tag;continue;case 210:if(t)return e;case 231:case 209:case 208:case 232:case 356:case 235:e=e.expression;continue}return e}}function XO(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.isAssigned=void 0,this.links=void 0}function YO(e,t){this.flags=t,(Y.isDebugging||rs)&&(this.checker=e)}function QO(e,t){this.flags=t,Y.isDebugging&&(this.checker=e)}function n2(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function ZO(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function eM(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function tM(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||(s=>s)}function rM(e){A2.push(e),e(lr)}function gx(e){Object.assign(lr,e),c(A2,t=>t(lr))}function X_(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return e.replace(/{(\d+)}/g,(s,f)=>""+Y.checkDefined(t[+f+r]))}function yx(e){jl=e}function vx(e){!jl&&e&&(jl=e())}function Y_(e){return jl&&jl[e.key]||e.message}function Ro(e,t,r,s){t0(void 0,t,r);let f=Y_(s);return arguments.length>4&&(f=X_(f,arguments,4)),{file:void 0,start:t,length:r,messageText:f,category:s.category,code:s.code,reportsUnnecessary:s.reportsUnnecessary,fileName:e}}function nM(e){return e.file===void 0&&e.start!==void 0&&e.length!==void 0&&typeof e.fileName=="string"}function bx(e,t){let r=t.fileName||"",s=t.text.length;Y.assertEqual(e.fileName,r),Y.assertLessThanOrEqual(e.start,s),Y.assertLessThanOrEqual(e.start+e.length,s);let f={file:t,start:e.start,length:e.length,messageText:e.messageText,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary};if(e.relatedInformation){f.relatedInformation=[];for(let x of e.relatedInformation)nM(x)&&x.fileName===r?(Y.assertLessThanOrEqual(x.start,s),Y.assertLessThanOrEqual(x.start+x.length,s),f.relatedInformation.push(bx(x,t))):f.relatedInformation.push(x)}return f}function qs(e,t){let r=[];for(let s of e)r.push(bx(s,t));return r}function i2(e,t,r,s){t0(e,t,r);let f=Y_(s);return arguments.length>4&&(f=X_(f,arguments,4)),{file:e,start:t,length:r,messageText:f,category:s.category,code:s.code,reportsUnnecessary:s.reportsUnnecessary,reportsDeprecated:s.reportsDeprecated}}function iM(e,t){let r=Y_(t);return arguments.length>2&&(r=X_(r,arguments,2)),r}function Ol(e){let t=Y_(e);return arguments.length>1&&(t=X_(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function aM(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}}function sM(e,t){let r=Y_(t);return arguments.length>2&&(r=X_(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:e===void 0||Array.isArray(e)?e:[e]}}function oM(e,t){let r=e;for(;r.next;)r=r.next[0];r.next=[t]}function Tx(e){return e.file?e.file.path:void 0}function a2(e,t){return qf(e,t)||_M(e,t)||0}function qf(e,t){return ri(Tx(e),Tx(t))||Vr(e.start,t.start)||Vr(e.length,t.length)||Vr(e.code,t.code)||Sx(e.messageText,t.messageText)||0}function _M(e,t){return!e.relatedInformation&&!t.relatedInformation?0:e.relatedInformation&&t.relatedInformation?Vr(e.relatedInformation.length,t.relatedInformation.length)||c(e.relatedInformation,(r,s)=>{let f=t.relatedInformation[s];return a2(r,f)})||0:e.relatedInformation?-1:1}function Sx(e,t){if(typeof e=="string"&&typeof t=="string")return ri(e,t);if(typeof e=="string")return-1;if(typeof t=="string")return 1;let r=ri(e.messageText,t.messageText);if(r)return r;if(!e.next&&!t.next)return 0;if(!e.next)return-1;if(!t.next)return 1;let s=Math.min(e.next.length,t.next.length);for(let f=0;ft.next.length?1:0}function s2(e){return e===4||e===2||e===1||e===6?1:0}function xx(e){if(e.transformFlags&2)return _S(e)||pd(e)?e:xr(e,xx)}function cM(e){return e.isDeclarationFile?void 0:xx(e)}function lM(e){return(e.impliedNodeFormat===99||da(e.fileName,[".cjs",".cts",".mjs",".mts"]))&&!e.isDeclarationFile?!0:void 0}function Ex(e){switch(wx(e)){case 3:return f=>{f.externalModuleIndicator=ou(f)||!f.isDeclarationFile||void 0};case 1:return f=>{f.externalModuleIndicator=ou(f)};case 2:let t=[ou];(e.jsx===4||e.jsx===5)&&t.push(cM),t.push(lM);let r=W1(...t);return f=>void(f.externalModuleIndicator=r(f))}}function Uf(e){var t;return(t=e.target)!=null?t:e.module===100&&9||e.module===199&&99||1}function Ei(e){return typeof e.module=="number"?e.module:Uf(e)>=2?5:1}function uM(e){return e>=5&&e<=99}function Ml(e){let t=e.moduleResolution;if(t===void 0)switch(Ei(e)){case 1:t=2;break;case 100:t=3;break;case 199:t=99;break;default:t=1;break}return t}function wx(e){return e.moduleDetection||(Ei(e)===100||Ei(e)===199?3:2)}function pM(e){switch(Ei(e)){case 1:case 2:case 5:case 6:case 7:case 99:case 100:case 199:return!0;default:return!1}}function zf(e){return!!(e.isolatedModules||e.verbatimModuleSyntax)}function fM(e){return e.verbatimModuleSyntax||e.isolatedModules&&e.preserveValueImports}function dM(e){return e.allowUnreachableCode===!1}function mM(e){return e.allowUnusedLabels===!1}function hM(e){return!!(c2(e)&&e.declarationMap)}function o2(e){if(e.esModuleInterop!==void 0)return e.esModuleInterop;switch(Ei(e)){case 100:case 199:return!0}}function gM(e){return e.allowSyntheticDefaultImports!==void 0?e.allowSyntheticDefaultImports:o2(e)||Ei(e)===4||Ml(e)===100}function _2(e){return e>=3&&e<=99||e===100}function yM(e){let t=Ml(e);if(!_2(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function vM(e){let t=Ml(e);if(!_2(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function Cx(e){return e.resolveJsonModule!==void 0?e.resolveJsonModule:Ml(e)===100}function c2(e){return!!(e.declaration||e.composite)}function bM(e){return!!(e.preserveConstEnums||zf(e))}function TM(e){return!!(e.incremental||e.composite)}function l2(e,t){return e[t]===void 0?!!e.strict:!!e[t]}function Ax(e){return e.allowJs===void 0?!!e.checkJs:e.allowJs}function SM(e){return e.useDefineForClassFields===void 0?Uf(e)>=9:e.useDefineForClassFields}function xM(e,t){return J_(t,e,semanticDiagnosticsOptionDeclarations)}function EM(e,t){return J_(t,e,affectsEmitOptionDeclarations)}function wM(e,t){return J_(t,e,affectsDeclarationPathOptionDeclarations)}function u2(e,t){return t.strictFlag?l2(e,t.name):e[t.name]}function CM(e){let t=e.jsx;return t===2||t===4||t===5}function AM(e,t){let r=t==null?void 0:t.pragmas.get("jsximportsource"),s=ir(r)?r[r.length-1]:r;return e.jsx===4||e.jsx===5||e.jsxImportSource||s?(s==null?void 0:s.arguments.factory)||e.jsxImportSource||"react":void 0}function PM(e,t){return e?`${e}/${t.jsx===5?"jsx-dev-runtime":"jsx-runtime"}`:void 0}function DM(e){let t=!1;for(let r=0;rf,getSymlinkedDirectories:()=>r,getSymlinkedDirectoriesByRealpath:()=>s,setSymlinkedFile:(A,g)=>(f||(f=new Map)).set(A,g),setSymlinkedDirectory:(A,g)=>{let B=Ui(A,e,t);Hx(B)||(B=wo(B),g!==!1&&!(r!=null&&r.has(B))&&(s||(s=Be())).add(wo(g.realPath),A),(r||(r=new Map)).set(B,g))},setSymlinksFromResolutions(A,g){var B,N;Y.assert(!x),x=!0;for(let X of A)(B=X.resolvedModules)==null||B.forEach(F=>w(this,F.resolvedModule)),(N=X.resolvedTypeReferenceDirectiveNames)==null||N.forEach(F=>w(this,F.resolvedTypeReferenceDirective));g.forEach(X=>w(this,X.resolvedTypeReferenceDirective))},hasProcessedResolutions:()=>x};function w(A,g){if(!g||!g.originalPath||!g.resolvedFileName)return;let{resolvedFileName:B,originalPath:N}=g;A.setSymlinkedFile(Ui(N,e,t),B);let[X,F]=IM(B,N,e,t)||Bt;X&&F&&A.setSymlinkedDirectory(F,{real:X,realPath:Ui(X,e,t)})}}function IM(e,t,r,s){let f=qi(as(e,r)),x=qi(as(t,r)),w=!1;for(;f.length>=2&&x.length>=2&&!Px(f[f.length-2],s)&&!Px(x[x.length-2],s)&&s(f[f.length-1])===s(x[x.length-1]);)f.pop(),x.pop(),w=!0;return w?[xo(f),xo(x)]:void 0}function Px(e,t){return e!==void 0&&(t(e)==="node_modules"||Pn(e,"@"))}function NM(e){return ay(e.charCodeAt(0))?e.slice(1):void 0}function OM(e,t,r){let s=ST(e,t,r);return s===void 0?void 0:NM(s)}function MM(e){return e.replace(Xf,LM)}function LM(e){return"\\"+e}function Wf(e,t,r){let s=p2(e,t,r);return!s||!s.length?void 0:`^(${s.map(w=>`(${w})`).join("|")})${r==="exclude"?"($|/)":"$"}`}function p2(e,t,r){if(!(e===void 0||e.length===0))return ne(e,s=>s&&kx(s,t,r,N2[r]))}function Dx(e){return!/[.*?]/.test(e)}function RM(e,t,r){let s=e&&kx(e,t,r,N2[r]);return s&&`^(${s})${r==="exclude"?"($|/)":"$"}`}function kx(e,t,r,s){let{singleAsteriskRegexFragment:f,doubleAsteriskRegexFragment:x,replaceWildcardCharacter:w}=s,A="",g=!1,B=$p(e,t),N=Zn(B);if(r!=="exclude"&&N==="**")return;B[0]=P_(B[0]),Dx(N)&&B.push("**","*");let X=0;for(let F of B){if(F==="**")A+=x;else if(r==="directories"&&(A+="(",X++),g&&(A+=zn),r!=="exclude"){let $="";F.charCodeAt(0)===42?($+="([^./]"+f+")?",F=F.substr(1)):F.charCodeAt(0)===63&&($+="[^./]",F=F.substr(1)),$+=F.replace(Xf,w),$!==F&&(A+=Yf),A+=$}else A+=F.replace(Xf,w);g=!0}for(;X>0;)A+=")?",X--;return A}function f2(e,t){return e==="*"?t:e==="?"?"[^/]":"\\"+e}function Ix(e,t,r,s,f){e=Un(e),f=Un(f);let x=tn(f,e);return{includeFilePatterns:Ze(p2(r,x,"files"),w=>`^${w}$`),includeFilePattern:Wf(r,x,"files"),includeDirectoryPattern:Wf(r,x,"directories"),excludePattern:Wf(t,x,"exclude"),basePaths:JM(e,r,s)}}function Vf(e,t){return new RegExp(e,t?"":"i")}function jM(e,t,r,s,f,x,w,A,g){e=Un(e),x=Un(x);let B=Ix(e,r,s,f,x),N=B.includeFilePatterns&&B.includeFilePatterns.map(Ye=>Vf(Ye,f)),X=B.includeDirectoryPattern&&Vf(B.includeDirectoryPattern,f),F=B.excludePattern&&Vf(B.excludePattern,f),$=N?N.map(()=>[]):[[]],ae=new Map,Te=wp(f);for(let Ye of B.basePaths)Se(Ye,tn(x,Ye),w);return ct($);function Se(Ye,Oe,oe){let Ve=Te(g(Oe));if(ae.has(Ve))return;ae.set(Ve,!0);let{files:pt,directories:Gt}=A(Ye);for(let Nt of Is(pt,ri)){let Xt=tn(Ye,Nt),er=tn(Oe,Nt);if(!(t&&!da(Xt,t))&&!(F&&F.test(er)))if(!N)$[0].push(Xt);else{let Tn=he(N,Hr=>Hr.test(er));Tn!==-1&&$[Tn].push(Xt)}}if(!(oe!==void 0&&(oe--,oe===0)))for(let Nt of Is(Gt,ri)){let Xt=tn(Ye,Nt),er=tn(Oe,Nt);(!X||X.test(er))&&(!F||!F.test(er))&&Se(Xt,er,oe)}}}function JM(e,t,r){let s=[e];if(t){let f=[];for(let x of t){let w=A_(x)?x:Un(tn(e,x));f.push(FM(w))}f.sort(rl(!r));for(let x of f)me(s,w=>!jT(w,x,e,!r))&&s.push(x)}return s}function FM(e){let t=Je(e,h8);return t<0?OT(e)?P_(ma(e)):e:e.substring(0,e.lastIndexOf(zn,t))}function Nx(e,t){return t||Ox(e)||3}function Ox(e){switch(e.substr(e.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}function Mx(e,t){let r=e&&Ax(e);if(!t||t.length===0)return r?Jl:Jo;let s=r?Jl:Jo,f=ct(s);return[...s,...qt(t,w=>w.scriptKind===7||r&&BM(w.scriptKind)&&f.indexOf(w.extension)===-1?[w.extension]:void 0)]}function Lx(e,t){return!e||!Cx(e)?t:t===Jl?v8:t===Jo?g8:[...t,[".json"]]}function BM(e){return e===1||e===2}function d2(e){return Ke(L2,t=>ns(e,t))}function m2(e){return Ke(O2,t=>ns(e,t))}function Rx(e){let{imports:t}=e,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W1(d2,m2);return q(t,s=>{let{text:f}=s;return So(f)?r(f):void 0})||!1}function qM(e,t,r,s){if(e==="js"||t===99)return shouldAllowImportingTsExtension(r)&&f()!==2?3:2;if(e==="minimal")return 0;if(e==="index")return 1;if(!shouldAllowImportingTsExtension(r))return Rx(s)?2:0;return f();function f(){let x=!1,w=s.imports.length?s.imports.map(A=>A.text):y0(s)?UM(s).map(A=>A.arguments[0].text):Bt;for(let A of w)if(So(A)){if(m2(A))return 3;d2(A)&&(x=!0)}return x?2:0}}function UM(e){let t=0,r;for(let s of e.statements){if(t>3)break;WS(s)?r=Ft(r,s.declarationList.declarations.map(f=>f.initializer)):Zl(s)&&El(s.expression,!0)?r=tr(r,s.expression):t++}return r||Bt}function zM(e,t,r){if(!e)return!1;let s=Mx(t,r);for(let f of ct(Lx(t,s)))if(ns(e,f))return!0;return!1}function jx(e){let t=e.match(/\//g);return t?t.length:0}function WM(e,t){return Vr(jx(e),jx(t))}function Ll(e){for(let t of Qf){let r=Jx(e,t);if(r!==void 0)return r}return e}function Jx(e,t){return ns(e,t)?Fx(e,t):void 0}function Fx(e,t){return e.substring(0,e.length-t.length)}function VM(e,t){return RT(e,t,Qf,!1)}function Bx(e){let t=e.indexOf("*");return t===-1?e:e.indexOf("*",t+1)!==-1?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function HM(e){return qt(ho(e),t=>Bx(t))}function hs(e){return!(e>=0)}function qx(e){return e===".ts"||e===".tsx"||e===".d.ts"||e===".cts"||e===".mts"||e===".d.mts"||e===".d.cts"||Pn(e,".d.")&&es(e,".ts")}function GM(e){return qx(e)||e===".json"}function $M(e){let t=h2(e);return t!==void 0?t:Y.fail(`File ${e} has unknown extension.`)}function KM(e){return h2(e)!==void 0}function h2(e){return Pe(Qf,t=>ns(e,t))}function XM(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}function YM(e,t){let r=[];for(let s of e){if(s===t)return t;Ji(s)||r.push(s)}return TT(r,s=>s,t)}function QM(e,t){let r=e.indexOf(t);return Y.assert(r!==-1),e.slice(r)}function Rl(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;ss&&(s=x)}return{min:r,max:s}}function eL(e){return{pos:Io(e),end:e.end}}function tL(e,t){let r=t.pos-1,s=Math.min(e.text.length,Ar(e.text,t.end)+1);return{pos:r,end:s}}function rL(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)}function g2(e,t){return e===t||typeof e=="object"&&e!==null&&typeof t=="object"&&t!==null&&S_(e,t,g2)}function Hf(e){let t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:let B=e.length-1,N=0;for(;e.charCodeAt(N)===48;)N++;return e.slice(N,B)||"0"}let r=2,s=e.length-1,f=(s-r)*t,x=new Uint16Array((f>>>4)+(f&15?1:0));for(let B=s-1,N=0;B>=r;B--,N+=t){let X=N>>>4,F=e.charCodeAt(B),ae=(F<=57?F-48:10+F-(F<=70?65:97))<<(N&15);x[X]|=ae;let Te=ae>>>16;Te&&(x[X+1]|=Te)}let w="",A=x.length-1,g=!0;for(;g;){let B=0;g=!1;for(let N=A;N>=0;N--){let X=B<<16|x[N],F=X/10|0;x[N]=F,B=X-F*10,F&&!g&&(A=N,g=!0)}w=B+w}return w}function y2(e){let{negative:t,base10Value:r}=e;return(t&&r!=="0"?"-":"")+r}function nL(e){if(zx(e,!1))return Ux(e)}function Ux(e){let t=e.startsWith("-"),r=Hf(`${t?e.slice(1):e}n`);return{negative:t,base10Value:r}}function zx(e,t){if(e==="")return!1;let r=Po(99,!1),s=!0;r.setOnError(()=>s=!1),r.setText(e+"n");let f=r.scan(),x=f===40;x&&(f=r.scan());let w=r.getTokenFlags();return s&&f===9&&r.getTextPos()===e.length+1&&!(w&512)&&(!t||e===y2({negative:x,base10Value:Hf(r.getTokenValue())}))}function iL(e){return!!(e.flags&16777216)||FS(e)||oL(e)||sL(e)||!(g0(e)||aL(e))}function aL(e){return yt(e)&&nu(e.parent)&&e.parent.name===e}function sL(e){for(;e.kind===79||e.kind===208;)e=e.parent;if(e.kind!==164)return!1;if(rn(e.parent,256))return!0;let t=e.parent.parent.kind;return t===261||t===184}function oL(e){if(e.kind!==79)return!1;let t=zi(e.parent,r=>{switch(r.kind){case 294:return!0;case 208:case 230:return!1;default:return"quit"}});return(t==null?void 0:t.token)===117||(t==null?void 0:t.parent.kind)===261}function _L(e){return ac(e)&&yt(e.typeName)}function cL(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fa;if(e.length<2)return!0;let r=e[0];for(let s=1,f=e.length;sFi(e,t))}function dL(e){if(!e.parent)return;switch(e.kind){case 165:let{parent:r}=e;return r.kind===192?void 0:r.typeParameters;case 166:return e.parent.parameters;case 201:return e.parent.templateSpans;case 236:return e.parent.templateSpans;case 167:{let{parent:s}=e;return ME(s)?s.modifiers:void 0}case 294:return e.parent.heritageClauses}let{parent:t}=e;if(zy(e))return fv(e.parent)?void 0:e.parent.tags;switch(t.kind){case 184:case 261:return Ry(e)?t.members:void 0;case 189:case 190:return t.types;case 186:case 206:case 357:case 272:case 276:return t.elements;case 207:case 289:return t.properties;case 210:case 211:return Jy(e)?t.typeArguments:t.expression===e?void 0:t.arguments;case 281:case 285:return oS(e)?t.children:void 0;case 283:case 282:return Jy(e)?t.typeArguments:void 0;case 238:case 292:case 293:case 265:return t.statements;case 266:return t.clauses;case 260:case 228:return Js(e)?t.members:void 0;case 263:return cE(e)?t.members:void 0;case 308:return t.statements}}function mL(e){if(!e.typeParameters){if(Ke(e.parameters,t=>!V0(t)))return!0;if(e.kind!==216){let t=pa(e.parameters);if(!(t&&kl(t)))return!0}}return!1}function hL(e){return e==="Infinity"||e==="-Infinity"||e==="NaN"}function Gx(e){return e.kind===257&&e.parent.kind===295}function gL(e){let t=e.valueDeclaration&&If(e.valueDeclaration);return!!t&&(Vs(t)||Gx(t))}function yL(e){return e.kind===215||e.kind===216}function vL(e){return e.replace(/\$/gm,()=>"\\$")}function $x(e){return(+e).toString()===e}function bL(e,t,r,s){return vy(e,t)?si.createIdentifier(e):!s&&$x(e)&&+e>=0?si.createNumericLiteral(+e):si.createStringLiteral(e,!!r)}function Kx(e){return!!(e.flags&262144&&e.isThisType)}function TL(e){let t=0,r=0,s=0,f=0,x;(B=>{B[B.BeforeNodeModules=0]="BeforeNodeModules",B[B.NodeModules=1]="NodeModules",B[B.Scope=2]="Scope",B[B.PackageContent=3]="PackageContent"})(x||(x={}));let w=0,A=0,g=0;for(;A>=0;)switch(w=A,A=e.indexOf("/",w+1),g){case 0:e.indexOf(nodeModulesPathPart,w)===w&&(t=w,r=A,g=1);break;case 1:case 2:g===1&&e.charAt(w+1)==="@"?g=2:(s=A,g=3);break;case 3:e.indexOf(nodeModulesPathPart,w)===w?g=1:g=3;break}return f=w,g>1?{topLevelNodeModulesIndex:t,topLevelPackageNameIndex:r,packageRootIndex:s,fileNameIndex:f}:void 0}function SL(e){var t;return e.kind===344?(t=e.typeExpression)==null?void 0:t.type:e.type}function Xx(e){switch(e.kind){case 165:case 260:case 261:case 262:case 263:case 349:case 341:case 343:return!0;case 270:return e.isTypeOnly;case 273:case 278:return e.parent.parent.isTypeOnly;default:return!1}}function xL(e){return iv(e)||zo(e)||Wo(e)||_c(e)||eu(e)||Xx(e)||Ea(e)&&!Xy(e)&&!vf(e)}function Yx(e){if(!Dy(e))return!1;let{isBracketed:t,typeExpression:r}=e;return t||!!r&&r.type.kind===319}function EL(e,t){if(e.length===0)return!1;let r=e.charCodeAt(0);return r===35?e.length>1&&Wn(e.charCodeAt(1),t):Wn(r,t)}function Qx(e){var t;return((t=getSnippetElement(e))==null?void 0:t.kind)===0}function Zx(e){return Pr(e)&&(e.type&&e.type.kind===319||of(e).some(t=>{let{isBracketed:r,typeExpression:s}=t;return r||!!s&&s.type.kind===319}))}function wL(e){switch(e.kind){case 169:case 168:return!!e.questionToken;case 166:return!!e.questionToken||Zx(e);case 351:case 344:return Yx(e);default:return!1}}function CL(e){let t=e.kind;return(t===208||t===209)&&Uo(e.expression)}function AL(e){return Pr(e)&&qo(e)&&ya(e)&&!!wy(e)}function PL(e){return Y.checkDefined(e8(e))}function e8(e){let t=wy(e);return t&&t.typeExpression&&t.typeExpression.type}var t8,Kf,r8,n8,Z_,v2,b2,i8,T2,a8,S2,x2,E2,w2,s8,o8,_8,c8,l8,C2,u8,p8,f8,jo,xa,d8,m8,lr,A2,jl,Xf,h8,P2,Yf,D2,k2,I2,N2,Jo,O2,g8,y8,M2,L2,Jl,v8,R2,b8,j2,Qf,T8,DL=D({"src/compiler/utilities.ts"(){"use strict";nn(),t8=[],Kf="tslib",r8=160,n8=1e6,Z_=iD(),v2=(e=>(e[e.None=0]="None",e[e.NeverAsciiEscape=1]="NeverAsciiEscape",e[e.JsxAttributeEscape=2]="JsxAttributeEscape",e[e.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",e[e.AllowNumericSeparator=8]="AllowNumericSeparator",e))(v2||{}),b2=/^(\/\/\/\s*/,i8=/^(\/\/\/\s*/,T2=/^(\/\/\/\s*/,a8=/^(\/\/\/\s*/,S2=(e=>(e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound",e))(S2||{}),x2=(e=>(e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator",e))(x2||{}),E2=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(E2||{}),w2=(e=>(e[e.Comma=0]="Comma",e[e.Spread=1]="Spread",e[e.Yield=2]="Yield",e[e.Assignment=3]="Assignment",e[e.Conditional=4]="Conditional",e[e.Coalesce=4]="Coalesce",e[e.LogicalOR=5]="LogicalOR",e[e.LogicalAND=6]="LogicalAND",e[e.BitwiseOR=7]="BitwiseOR",e[e.BitwiseXOR=8]="BitwiseXOR",e[e.BitwiseAND=9]="BitwiseAND",e[e.Equality=10]="Equality",e[e.Relational=11]="Relational",e[e.Shift=12]="Shift",e[e.Additive=13]="Additive",e[e.Multiplicative=14]="Multiplicative",e[e.Exponentiation=15]="Exponentiation",e[e.Unary=16]="Unary",e[e.Update=17]="Update",e[e.LeftHandSide=18]="LeftHandSide",e[e.Member=19]="Member",e[e.Primary=20]="Primary",e[e.Highest=20]="Highest",e[e.Lowest=0]="Lowest",e[e.Invalid=-1]="Invalid",e))(w2||{}),s8=/\$\{/g,o8=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,_8=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,c8=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,l8=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"})),C2=/[^\u0000-\u007F]/g,u8=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,p8=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,f8=new Map(Object.entries({'"':""","'":"'"})),jo=[""," "],xa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d8=`\r -`,m8=` -`,lr={getNodeConstructor:()=>n2,getTokenConstructor:()=>ZO,getIdentifierConstructor:()=>eM,getPrivateIdentifierConstructor:()=>n2,getSourceFileConstructor:()=>n2,getSymbolConstructor:()=>XO,getTypeConstructor:()=>YO,getSignatureConstructor:()=>QO,getSourceMapSourceConstructor:()=>tM},A2=[],Xf=/[^\w\s\/]/g,h8=[42,63],P2=["node_modules","bower_components","jspm_packages"],Yf=`(?!(${P2.join("|")})(/|$))`,D2={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${Yf}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>f2(e,D2.singleAsteriskRegexFragment)},k2={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${Yf}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>f2(e,k2.singleAsteriskRegexFragment)},I2={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:e=>f2(e,I2.singleAsteriskRegexFragment)},N2={files:D2,directories:k2,exclude:I2},Jo=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],O2=ct(Jo),g8=[...Jo,[".json"]],y8=[".d.ts",".d.cts",".d.mts",".cts",".mts",".ts",".tsx",".cts",".mts"],M2=[[".js",".jsx"],[".mjs"],[".cjs"]],L2=ct(M2),Jl=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],v8=[...Jl,[".json"]],R2=[".d.ts",".d.cts",".d.mts"],b8=[".ts",".cts",".mts",".tsx"],j2=(e=>(e[e.Minimal=0]="Minimal",e[e.Index=1]="Index",e[e.JsExtension=2]="JsExtension",e[e.TsExtension=3]="TsExtension",e))(j2||{}),Qf=[".d.ts",".d.mts",".d.cts",".mjs",".mts",".cjs",".cts",".ts",".js",".tsx",".jsx",".json"],T8={files:Bt,directories:Bt}}});function S8(){let e,t,r,s,f;return{createBaseSourceFileNode:x,createBaseIdentifierNode:w,createBasePrivateIdentifierNode:A,createBaseTokenNode:g,createBaseNode:B};function x(N){return new(f||(f=lr.getSourceFileConstructor()))(N,-1,-1)}function w(N){return new(r||(r=lr.getIdentifierConstructor()))(N,-1,-1)}function A(N){return new(s||(s=lr.getPrivateIdentifierConstructor()))(N,-1,-1)}function g(N){return new(t||(t=lr.getTokenConstructor()))(N,-1,-1)}function B(N){return new(e||(e=lr.getNodeConstructor()))(N,-1,-1)}}var kL=D({"src/compiler/factory/baseNodeFactory.ts"(){"use strict";nn()}}),J2,IL=D({"src/compiler/factory/parenthesizerRules.ts"(){"use strict";nn(),J2={getParenthesizeLeftSideOfBinaryForOperator:e=>rr,getParenthesizeRightSideOfBinaryForOperator:e=>rr,parenthesizeLeftSideOfBinary:(e,t)=>t,parenthesizeRightSideOfBinary:(e,t,r)=>r,parenthesizeExpressionOfComputedPropertyName:rr,parenthesizeConditionOfConditionalExpression:rr,parenthesizeBranchOfConditionalExpression:rr,parenthesizeExpressionOfExportDefault:rr,parenthesizeExpressionOfNew:e=>ti(e,Do),parenthesizeLeftSideOfAccess:e=>ti(e,Do),parenthesizeOperandOfPostfixUnary:e=>ti(e,Do),parenthesizeOperandOfPrefixUnary:e=>ti(e,tS),parenthesizeExpressionsOfCommaDelimitedList:e=>ti(e,_s),parenthesizeExpressionForDisallowedComma:rr,parenthesizeExpressionOfExpressionStatement:rr,parenthesizeConciseBodyOfArrowFunction:rr,parenthesizeCheckTypeOfConditionalType:rr,parenthesizeExtendsTypeOfConditionalType:rr,parenthesizeConstituentTypesOfUnionType:e=>ti(e,_s),parenthesizeConstituentTypeOfUnionType:rr,parenthesizeConstituentTypesOfIntersectionType:e=>ti(e,_s),parenthesizeConstituentTypeOfIntersectionType:rr,parenthesizeOperandOfTypeOperator:rr,parenthesizeOperandOfReadonlyTypeOperator:rr,parenthesizeNonArrayTypeOfPostfixType:rr,parenthesizeElementTypesOfTupleType:e=>ti(e,_s),parenthesizeElementTypeOfTupleType:rr,parenthesizeTypeOfOptionalType:rr,parenthesizeTypeArguments:e=>e&&ti(e,_s),parenthesizeLeadingTypeArgument:rr}}}),NL=()=>{},x8=()=>new Proxy({},{get:()=>()=>{}});function OL(e){B2.push(e)}function Zf(e,t){let r=e&8?ML:LL,s=tl(()=>e&1?J2:createParenthesizerRules(Ye)),f=tl(()=>e&2?nullNodeConverters:x8(Ye)),x=An(n=>(o,l)=>xu(o,n,l)),w=An(n=>o=>Tu(n,o)),A=An(n=>o=>Su(o,n)),g=An(n=>()=>db(n)),B=An(n=>o=>Ac(n,o)),N=An(n=>(o,l)=>mb(n,o,l)),X=An(n=>(o,l)=>Km(n,o,l)),F=An(n=>(o,l)=>Xm(n,o,l)),$=An(n=>(o,l)=>ph(n,o,l)),ae=An(n=>(o,l,p)=>Cb(n,o,l,p)),Te=An(n=>(o,l,p)=>fh(n,o,l,p)),Se=An(n=>(o,l,p,k)=>Ab(n,o,l,p,k)),Ye={get parenthesizer(){return s()},get converters(){return f()},baseFactory:t,flags:e,createNodeArray:Oe,createNumericLiteral:Gt,createBigIntLiteral:Nt,createStringLiteral:er,createStringLiteralFromNode:Tn,createRegularExpressionLiteral:Hr,createLiteralLikeNode:Gi,createIdentifier:Ut,createTempVariable:kn,createLoopVariable:an,createUniqueName:mr,getGeneratedNameForNode:$i,createPrivateIdentifier:Ur,createUniquePrivateName:_r,getGeneratedPrivateNameForNode:Sn,createToken:pr,createSuper:Zt,createThis:Or,createNull:Nn,createTrue:ar,createFalse:oi,createModifier:cr,createModifiersFromModifierFlags:$r,createQualifiedName:hr,updateQualifiedName:On,createComputedPropertyName:nr,updateComputedPropertyName:br,createTypeParameterDeclaration:Kr,updateTypeParameterDeclaration:wa,createParameterDeclaration:$n,updateParameterDeclaration:Ki,createDecorator:Mn,updateDecorator:_i,createPropertySignature:Ca,updatePropertySignature:St,createPropertyDeclaration:He,updatePropertyDeclaration:_t,createMethodSignature:ft,updateMethodSignature:Kt,createMethodDeclaration:zt,updateMethodDeclaration:xe,createConstructorDeclaration:Mt,updateConstructorDeclaration:It,createGetAccessorDeclaration:gr,updateGetAccessorDeclaration:Ln,createSetAccessorDeclaration:ci,updateSetAccessorDeclaration:Xi,createCallSignature:vs,updateCallSignature:$s,createConstructSignature:li,updateConstructSignature:Yi,createIndexSignature:Qi,updateIndexSignature:bs,createClassStaticBlockDeclaration:Re,updateClassStaticBlockDeclaration:ot,createTemplateLiteralTypeSpan:Ai,updateTemplateLiteralTypeSpan:xn,createKeywordTypeNode:Dt,createTypePredicateNode:Pi,updateTypePredicateNode:Z,createTypeReferenceNode:ie,updateTypeReferenceNode:U,createFunctionTypeNode:L,updateFunctionTypeNode:fe,createConstructorTypeNode:it,updateConstructorTypeNode:Ge,createTypeQueryNode:Yt,updateTypeQueryNode:$t,createTypeLiteralNode:Wt,updateTypeLiteralNode:Xr,createArrayTypeNode:Dr,updateArrayTypeNode:Lr,createTupleTypeNode:yr,updateTupleTypeNode:Rn,createNamedTupleMember:wt,updateNamedTupleMember:Tr,createOptionalTypeNode:Tt,updateOptionalTypeNode:kt,createRestTypeNode:de,updateRestTypeNode:jn,createUnionTypeNode:e_,updateUnionTypeNode:mc,createIntersectionTypeNode:Da,updateIntersectionTypeNode:Ts,createConditionalTypeNode:Ot,updateConditionalTypeNode:dr,createInferTypeNode:Dd,updateInferTypeNode:ea,createImportTypeNode:Id,updateImportTypeNode:ka,createParenthesizedType:t_,updateParenthesizedType:En,createThisTypeNode:Er,createTypeOperatorNode:Q,updateTypeOperatorNode:Jn,createIndexedAccessTypeNode:Ia,updateIndexedAccessTypeNode:Ss,createMappedTypeNode:hc,updateMappedTypeNode:wr,createLiteralTypeNode:zr,updateLiteralTypeNode:xs,createTemplateLiteralType:kd,updateTemplateLiteralType:sn,createObjectBindingPattern:Nd,updateObjectBindingPattern:Rv,createArrayBindingPattern:Es,updateArrayBindingPattern:jv,createBindingElement:gc,updateBindingElement:Ks,createArrayLiteralExpression:uu,updateArrayLiteralExpression:Od,createObjectLiteralExpression:r_,updateObjectLiteralExpression:Jv,createPropertyAccessExpression:e&4?(n,o)=>setEmitFlags(ta(n,o),262144):ta,updatePropertyAccessExpression:Ld,createPropertyAccessChain:e&4?(n,o,l)=>setEmitFlags(Xs(n,o,l),262144):Xs,updatePropertyAccessChain:Rd,createElementAccessExpression:pu,updateElementAccessExpression:Fv,createElementAccessChain:fu,updateElementAccessChain:jd,createCallExpression:Na,updateCallExpression:Bv,createCallChain:du,updateCallChain:Kn,createNewExpression:vc,updateNewExpression:mu,createTaggedTemplateExpression:hu,updateTaggedTemplateExpression:qv,createTypeAssertion:Fd,updateTypeAssertion:Bd,createParenthesizedExpression:gu,updateParenthesizedExpression:qd,createFunctionExpression:yu,updateFunctionExpression:Ud,createArrowFunction:vu,updateArrowFunction:zd,createDeleteExpression:bu,updateDeleteExpression:Uv,createTypeOfExpression:mn,updateTypeOfExpression:zv,createVoidExpression:ui,updateVoidExpression:Wv,createAwaitExpression:Oa,updateAwaitExpression:Ys,createPrefixUnaryExpression:Tu,updatePrefixUnaryExpression:bc,createPostfixUnaryExpression:Su,updatePostfixUnaryExpression:Wd,createBinaryExpression:xu,updateBinaryExpression:Vv,createConditionalExpression:Eu,updateConditionalExpression:Hv,createTemplateExpression:Di,updateTemplateExpression:Hd,createTemplateHead:Sc,createTemplateMiddle:Cu,createTemplateTail:Gv,createNoSubstitutionTemplateLiteral:$d,createTemplateLiteralLikeNode:Qs,createYieldExpression:Kd,updateYieldExpression:$v,createSpreadElement:Xd,updateSpreadElement:Kv,createClassExpression:Yd,updateClassExpression:xc,createOmittedExpression:Xv,createExpressionWithTypeArguments:Qd,updateExpressionWithTypeArguments:Xn,createAsExpression:Ec,updateAsExpression:Zd,createNonNullExpression:em,updateNonNullExpression:Au,createSatisfiesExpression:tm,updateSatisfiesExpression:Pu,createNonNullChain:pi,updateNonNullChain:rm,createMetaProperty:wc,updateMetaProperty:ra,createTemplateSpan:i_,updateTemplateSpan:nm,createSemicolonClassElement:im,createBlock:Zs,updateBlock:am,createVariableStatement:sm,updateVariableStatement:om,createEmptyStatement:Du,createExpressionStatement:a_,updateExpressionStatement:Yv,createIfStatement:ku,updateIfStatement:Qv,createDoStatement:Iu,updateDoStatement:Zv,createWhileStatement:_m,updateWhileStatement:eb,createForStatement:Nu,updateForStatement:cm,createForInStatement:lm,updateForInStatement:tb,createForOfStatement:um,updateForOfStatement:rb,createContinueStatement:pm,updateContinueStatement:fm,createBreakStatement:Ou,updateBreakStatement:dm,createReturnStatement:mm,updateReturnStatement:nb,createWithStatement:Mu,updateWithStatement:hm,createSwitchStatement:Lu,updateSwitchStatement:eo,createLabeledStatement:gm,updateLabeledStatement:ym,createThrowStatement:vm,updateThrowStatement:ib,createTryStatement:bm,updateTryStatement:ab,createDebuggerStatement:Tm,createVariableDeclaration:Cc,updateVariableDeclaration:Sm,createVariableDeclarationList:Ru,updateVariableDeclarationList:sb,createFunctionDeclaration:xm,updateFunctionDeclaration:ju,createClassDeclaration:Em,updateClassDeclaration:Ju,createInterfaceDeclaration:wm,updateInterfaceDeclaration:Cm,createTypeAliasDeclaration:sr,updateTypeAliasDeclaration:Ma,createEnumDeclaration:Fu,updateEnumDeclaration:La,createModuleDeclaration:Am,updateModuleDeclaration:Sr,createModuleBlock:Ra,updateModuleBlock:Yr,createCaseBlock:Pm,updateCaseBlock:_b,createNamespaceExportDeclaration:Dm,updateNamespaceExportDeclaration:km,createImportEqualsDeclaration:Im,updateImportEqualsDeclaration:Nm,createImportDeclaration:Om,updateImportDeclaration:Mm,createImportClause:Lm,updateImportClause:Rm,createAssertClause:Bu,updateAssertClause:lb,createAssertEntry:s_,updateAssertEntry:jm,createImportTypeAssertionContainer:qu,updateImportTypeAssertionContainer:Jm,createNamespaceImport:Fm,updateNamespaceImport:Uu,createNamespaceExport:Bm,updateNamespaceExport:qm,createNamedImports:Um,updateNamedImports:ub,createImportSpecifier:zm,updateImportSpecifier:pb,createExportAssignment:zu,updateExportAssignment:Wu,createExportDeclaration:na,updateExportDeclaration:Wm,createNamedExports:to,updateNamedExports:Hm,createExportSpecifier:Vu,updateExportSpecifier:o_,createMissingDeclaration:fb,createExternalModuleReference:Gm,updateExternalModuleReference:$m,get createJSDocAllType(){return g(315)},get createJSDocUnknownType(){return g(316)},get createJSDocNonNullableType(){return X(318)},get updateJSDocNonNullableType(){return F(318)},get createJSDocNullableType(){return X(317)},get updateJSDocNullableType(){return F(317)},get createJSDocOptionalType(){return B(319)},get updateJSDocOptionalType(){return N(319)},get createJSDocVariadicType(){return B(321)},get updateJSDocVariadicType(){return N(321)},get createJSDocNamepathType(){return B(322)},get updateJSDocNamepathType(){return N(322)},createJSDocFunctionType:Ym,updateJSDocFunctionType:hb,createJSDocTypeLiteral:Qm,updateJSDocTypeLiteral:gb,createJSDocTypeExpression:Zm,updateJSDocTypeExpression:yb,createJSDocSignature:eh,updateJSDocSignature:Hu,createJSDocTemplateTag:__,updateJSDocTemplateTag:Gu,createJSDocTypedefTag:$u,updateJSDocTypedefTag:th,createJSDocParameterTag:Pc,updateJSDocParameterTag:vb,createJSDocPropertyTag:Ku,updateJSDocPropertyTag:bb,createJSDocCallbackTag:rh,updateJSDocCallbackTag:nh,createJSDocOverloadTag:ih,updateJSDocOverloadTag:ah,createJSDocAugmentsTag:sh,updateJSDocAugmentsTag:Xu,createJSDocImplementsTag:Yu,updateJSDocImplementsTag:wb,createJSDocSeeTag:ro,updateJSDocSeeTag:Tb,createJSDocNameReference:ws,updateJSDocNameReference:Dc,createJSDocMemberName:oh,updateJSDocMemberName:Sb,createJSDocLink:_h,updateJSDocLink:xb,createJSDocLinkCode:ch,updateJSDocLinkCode:lh,createJSDocLinkPlain:uh,updateJSDocLinkPlain:Eb,get createJSDocTypeTag(){return Te(347)},get updateJSDocTypeTag(){return Se(347)},get createJSDocReturnTag(){return Te(345)},get updateJSDocReturnTag(){return Se(345)},get createJSDocThisTag(){return Te(346)},get updateJSDocThisTag(){return Se(346)},get createJSDocAuthorTag(){return $(333)},get updateJSDocAuthorTag(){return ae(333)},get createJSDocClassTag(){return $(335)},get updateJSDocClassTag(){return ae(335)},get createJSDocPublicTag(){return $(336)},get updateJSDocPublicTag(){return ae(336)},get createJSDocPrivateTag(){return $(337)},get updateJSDocPrivateTag(){return ae(337)},get createJSDocProtectedTag(){return $(338)},get updateJSDocProtectedTag(){return ae(338)},get createJSDocReadonlyTag(){return $(339)},get updateJSDocReadonlyTag(){return ae(339)},get createJSDocOverrideTag(){return $(340)},get updateJSDocOverrideTag(){return ae(340)},get createJSDocDeprecatedTag(){return $(334)},get updateJSDocDeprecatedTag(){return ae(334)},get createJSDocThrowsTag(){return Te(352)},get updateJSDocThrowsTag(){return Se(352)},get createJSDocSatisfiesTag(){return Te(353)},get updateJSDocSatisfiesTag(){return Se(353)},createJSDocEnumTag:mh,updateJSDocEnumTag:Db,createJSDocUnknownTag:dh,updateJSDocUnknownTag:Pb,createJSDocText:hh,updateJSDocText:Qu,createJSDocComment:gh,updateJSDocComment:yh,createJsxElement:Zu,updateJsxElement:kb,createJsxSelfClosingElement:c_,updateJsxSelfClosingElement:vh,createJsxOpeningElement:bh,updateJsxOpeningElement:Ib,createJsxClosingElement:on,updateJsxClosingElement:Th,createJsxFragment:ep,createJsxText:l_,updateJsxText:Ob,createJsxOpeningFragment:kc,createJsxJsxClosingFragment:Mb,updateJsxFragment:Nb,createJsxAttribute:Sh,updateJsxAttribute:Lb,createJsxAttributes:xh,updateJsxAttributes:tp,createJsxSpreadAttribute:no,updateJsxSpreadAttribute:Rb,createJsxExpression:Ic,updateJsxExpression:Eh,createCaseClause:wh,updateCaseClause:rp,createDefaultClause:np,updateDefaultClause:jb,createHeritageClause:Ch,updateHeritageClause:Ah,createCatchClause:ip,updateCatchClause:Ph,createPropertyAssignment:Fa,updatePropertyAssignment:Jb,createShorthandPropertyAssignment:Dh,updateShorthandPropertyAssignment:Bb,createSpreadAssignment:ap,updateSpreadAssignment:ki,createEnumMember:sp,updateEnumMember:qb,createSourceFile:Ub,updateSourceFile:Mh,createRedirectedSourceFile:Ih,createBundle:Lh,updateBundle:Wb,createUnparsedSource:Nc,createUnparsedPrologue:Vb,createUnparsedPrepend:Hb,createUnparsedTextLike:Gb,createUnparsedSyntheticReference:$b,createInputFiles:Kb,createSyntheticExpression:Rh,createSyntaxList:jh,createNotEmittedStatement:Jh,createPartiallyEmittedExpression:Fh,updatePartiallyEmittedExpression:Bh,createCommaListExpression:Mc,updateCommaListExpression:Xb,createEndOfDeclarationMarker:Yb,createMergeDeclarationMarker:Qb,createSyntheticReferenceExpression:Uh,updateSyntheticReferenceExpression:_p,cloneNode:cp,get createComma(){return x(27)},get createAssignment(){return x(63)},get createLogicalOr(){return x(56)},get createLogicalAnd(){return x(55)},get createBitwiseOr(){return x(51)},get createBitwiseXor(){return x(52)},get createBitwiseAnd(){return x(50)},get createStrictEquality(){return x(36)},get createStrictInequality(){return x(37)},get createEquality(){return x(34)},get createInequality(){return x(35)},get createLessThan(){return x(29)},get createLessThanEquals(){return x(32)},get createGreaterThan(){return x(31)},get createGreaterThanEquals(){return x(33)},get createLeftShift(){return x(47)},get createRightShift(){return x(48)},get createUnsignedRightShift(){return x(49)},get createAdd(){return x(39)},get createSubtract(){return x(40)},get createMultiply(){return x(41)},get createDivide(){return x(43)},get createModulo(){return x(44)},get createExponent(){return x(42)},get createPrefixPlus(){return w(39)},get createPrefixMinus(){return w(40)},get createPrefixIncrement(){return w(45)},get createPrefixDecrement(){return w(46)},get createBitwiseNot(){return w(54)},get createLogicalNot(){return w(53)},get createPostfixIncrement(){return A(45)},get createPostfixDecrement(){return A(46)},createImmediatelyInvokedFunctionExpression:n6,createImmediatelyInvokedArrowFunction:Lc,createVoidZero:Rc,createExportDefault:zh,createExternalModuleExport:i6,createTypeCheck:a6,createMethodCall:Ba,createGlobalMethodCall:io,createFunctionBindCall:s6,createFunctionCallCall:o6,createFunctionApplyCall:_6,createArraySliceCall:Wh,createArrayConcatCall:Vh,createObjectDefinePropertyCall:u,createObjectGetOwnPropertyDescriptorCall:b,createReflectGetCall:O,createReflectSetCall:j,createPropertyDescriptor:re,createCallBinding:Jt,createAssignmentTargetWrapper:Lt,inlineExpressions:At,getInternalName:Fn,getLocalName:di,getExportName:Ii,getDeclarationName:_n,getNamespaceMemberName:qa,getExternalModuleOrNamespaceExportName:Hh,restoreOuterExpressions:We,restoreEnclosingLabel:$e,createUseStrictPrologue:wn,copyPrologue:lp,copyStandardPrologue:Ua,copyCustomPrologue:up,ensureUseStrict:Qr,liftToBlock:jc,mergeLexicalEnvironment:$h,updateModifiers:Kh};return c(B2,n=>n(Ye)),Ye;function Oe(n,o){if(n===void 0||n===Bt)n=[];else if(_s(n)){if(o===void 0||n.hasTrailingComma===o)return n.transformFlags===void 0&&E8(n),Y.attachNodeArrayDebugInfo(n),n;let k=n.slice();return k.pos=n.pos,k.end=n.end,k.hasTrailingComma=o,k.transformFlags=n.transformFlags,Y.attachNodeArrayDebugInfo(k),k}let l=n.length,p=l>=1&&l<=4?n.slice():n;return p.pos=-1,p.end=-1,p.hasTrailingComma=!!o,p.transformFlags=0,E8(p),Y.attachNodeArrayDebugInfo(p),p}function oe(n){return t.createBaseNode(n)}function Ve(n){let o=oe(n);return o.symbol=void 0,o.localSymbol=void 0,o}function pt(n,o){return n!==o&&(n.typeArguments=o.typeArguments),r(n,o)}function Gt(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=Ve(8);return l.text=typeof n=="number"?n+"":n,l.numericLiteralFlags=o,o&384&&(l.transformFlags|=1024),l}function Nt(n){let o=In(9);return o.text=typeof n=="string"?n:y2(n)+"n",o.transformFlags|=4,o}function Xt(n,o){let l=Ve(10);return l.text=n,l.singleQuote=o,l}function er(n,o,l){let p=Xt(n,o);return p.hasExtendedUnicodeEscape=l,l&&(p.transformFlags|=1024),p}function Tn(n){let o=Xt(kf(n),void 0);return o.textSourceNode=n,o}function Hr(n){let o=In(13);return o.text=n,o}function Gi(n,o){switch(n){case 8:return Gt(o,0);case 9:return Nt(o);case 10:return er(o,void 0);case 11:return l_(o,!1);case 12:return l_(o,!0);case 13:return Hr(o);case 14:return Qs(n,o,void 0,0)}}function pn(n){let o=t.createBaseIdentifierNode(79);return o.escapedText=n,o.jsDoc=void 0,o.flowNode=void 0,o.symbol=void 0,o}function fn(n,o,l,p){let k=pn(vi(n));return setIdentifierAutoGenerate(k,{flags:o,id:Bl,prefix:l,suffix:p}),Bl++,k}function Ut(n,o,l){o===void 0&&n&&(o=_l(n)),o===79&&(o=void 0);let p=pn(vi(n));return l&&(p.flags|=128),p.escapedText==="await"&&(p.transformFlags|=67108864),p.flags&128&&(p.transformFlags|=1024),p}function kn(n,o,l,p){let k=1;o&&(k|=8);let V=fn("",k,l,p);return n&&n(V),V}function an(n){let o=2;return n&&(o|=8),fn("",o,void 0,void 0)}function mr(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return Y.assert(!(o&7),"Argument out of range: flags"),Y.assert((o&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),fn(n,3|o,l,p)}function $i(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;Y.assert(!(o&7),"Argument out of range: flags");let k=n?js(n)?bd(!1,l,n,p,qr):`generated@${getNodeId(n)}`:"";(l||p)&&(o|=16);let V=fn(k,4|o,l,p);return V.original=n,V}function dn(n){let o=t.createBasePrivateIdentifierNode(80);return o.escapedText=n,o.transformFlags|=16777216,o}function Ur(n){return Pn(n,"#")||Y.fail("First character of private identifier must be #: "+n),dn(vi(n))}function Gr(n,o,l,p){let k=dn(vi(n));return setIdentifierAutoGenerate(k,{flags:o,id:Bl,prefix:l,suffix:p}),Bl++,k}function _r(n,o,l){n&&!Pn(n,"#")&&Y.fail("First character of private identifier must be #: "+n);let p=8|(n?3:1);return Gr(n!=null?n:"",p,o,l)}function Sn(n,o,l){let p=js(n)?bd(!0,o,n,l,qr):`#generated@${getNodeId(n)}`,V=Gr(p,4|(o||l?16:0),o,l);return V.original=n,V}function In(n){return t.createBaseTokenNode(n)}function pr(n){Y.assert(n>=0&&n<=162,"Invalid token"),Y.assert(n<=14||n>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),Y.assert(n<=8||n>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),Y.assert(n!==79,"Invalid token. Use 'createIdentifier' to create identifiers");let o=In(n),l=0;switch(n){case 132:l=384;break;case 123:case 121:case 122:case 146:case 126:case 136:case 85:case 131:case 148:case 160:case 144:case 149:case 101:case 145:case 161:case 152:case 134:case 153:case 114:case 157:case 155:l=1;break;case 106:l=134218752,o.flowNode=void 0;break;case 124:l=1024;break;case 127:l=16777216;break;case 108:l=16384,o.flowNode=void 0;break}return l&&(o.transformFlags|=l),o}function Zt(){return pr(106)}function Or(){return pr(108)}function Nn(){return pr(104)}function ar(){return pr(110)}function oi(){return pr(95)}function cr(n){return pr(n)}function $r(n){let o=[];return n&1&&o.push(cr(93)),n&2&&o.push(cr(136)),n&1024&&o.push(cr(88)),n&2048&&o.push(cr(85)),n&4&&o.push(cr(123)),n&8&&o.push(cr(121)),n&16&&o.push(cr(122)),n&256&&o.push(cr(126)),n&32&&o.push(cr(124)),n&16384&&o.push(cr(161)),n&64&&o.push(cr(146)),n&128&&o.push(cr(127)),n&512&&o.push(cr(132)),n&32768&&o.push(cr(101)),n&65536&&o.push(cr(145)),o.length?o:void 0}function hr(n,o){let l=oe(163);return l.left=n,l.right=Qt(o),l.transformFlags|=ye(l.left)|ec(l.right),l.flowNode=void 0,l}function On(n,o,l){return n.left!==o||n.right!==l?r(hr(o,l),n):n}function nr(n){let o=oe(164);return o.expression=s().parenthesizeExpressionOfComputedPropertyName(n),o.transformFlags|=ye(o.expression)|1024|131072,o}function br(n,o){return n.expression!==o?r(nr(o),n):n}function Kr(n,o,l,p){let k=Ve(165);return k.modifiers=xt(n),k.name=Qt(o),k.constraint=l,k.default=p,k.transformFlags=1,k.expression=void 0,k.jsDoc=void 0,k}function wa(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.constraint!==p||n.default!==k?r(Kr(o,l,p,k),n):n}function $n(n,o,l,p,k,V){var we,et;let mt=Ve(166);return mt.modifiers=xt(n),mt.dotDotDotToken=o,mt.name=Qt(l),mt.questionToken=p,mt.type=k,mt.initializer=Wa(V),Mf(mt.name)?mt.transformFlags=1:mt.transformFlags=gt(mt.modifiers)|ye(mt.dotDotDotToken)|ai(mt.name)|ye(mt.questionToken)|ye(mt.initializer)|(((we=mt.questionToken)!=null?we:mt.type)?1:0)|(((et=mt.dotDotDotToken)!=null?et:mt.initializer)?1024:0)|(Vn(mt.modifiers)&16476?8192:0),mt.jsDoc=void 0,mt}function Ki(n,o,l,p,k,V,we){return n.modifiers!==o||n.dotDotDotToken!==l||n.name!==p||n.questionToken!==k||n.type!==V||n.initializer!==we?r($n(o,l,p,k,V,we),n):n}function Mn(n){let o=oe(167);return o.expression=s().parenthesizeLeftSideOfAccess(n,!1),o.transformFlags|=ye(o.expression)|1|8192|33554432,o}function _i(n,o){return n.expression!==o?r(Mn(o),n):n}function Ca(n,o,l,p){let k=Ve(168);return k.modifiers=xt(n),k.name=Qt(o),k.type=p,k.questionToken=l,k.transformFlags=1,k.initializer=void 0,k.jsDoc=void 0,k}function St(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.questionToken!==p||n.type!==k?ue(Ca(o,l,p,k),n):n}function ue(n,o){return n!==o&&(n.initializer=o.initializer),r(n,o)}function He(n,o,l,p,k){let V=Ve(169);V.modifiers=xt(n),V.name=Qt(o),V.questionToken=l&&ql(l)?l:void 0,V.exclamationToken=l&&rd(l)?l:void 0,V.type=p,V.initializer=Wa(k);let we=V.flags&16777216||Vn(V.modifiers)&2;return V.transformFlags=gt(V.modifiers)|ai(V.name)|ye(V.initializer)|(we||V.questionToken||V.exclamationToken||V.type?1:0)|(Ws(V.name)||Vn(V.modifiers)&32&&V.initializer?8192:0)|16777216,V.jsDoc=void 0,V}function _t(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.questionToken!==(p!==void 0&&ql(p)?p:void 0)||n.exclamationToken!==(p!==void 0&&rd(p)?p:void 0)||n.type!==k||n.initializer!==V?r(He(o,l,p,k,V),n):n}function ft(n,o,l,p,k,V){let we=Ve(170);return we.modifiers=xt(n),we.name=Qt(o),we.questionToken=l,we.typeParameters=xt(p),we.parameters=xt(k),we.type=V,we.transformFlags=1,we.jsDoc=void 0,we.locals=void 0,we.nextContainer=void 0,we.typeArguments=void 0,we}function Kt(n,o,l,p,k,V,we){return n.modifiers!==o||n.name!==l||n.questionToken!==p||n.typeParameters!==k||n.parameters!==V||n.type!==we?pt(ft(o,l,p,k,V,we),n):n}function zt(n,o,l,p,k,V,we,et){let mt=Ve(171);if(mt.modifiers=xt(n),mt.asteriskToken=o,mt.name=Qt(l),mt.questionToken=p,mt.exclamationToken=void 0,mt.typeParameters=xt(k),mt.parameters=Oe(V),mt.type=we,mt.body=et,!mt.body)mt.transformFlags=1;else{let hn=Vn(mt.modifiers)&512,Ni=!!mt.asteriskToken,ia=hn&&Ni;mt.transformFlags=gt(mt.modifiers)|ye(mt.asteriskToken)|ai(mt.name)|ye(mt.questionToken)|gt(mt.typeParameters)|gt(mt.parameters)|ye(mt.type)|ye(mt.body)&-67108865|(ia?128:hn?256:Ni?2048:0)|(mt.questionToken||mt.typeParameters||mt.type?1:0)|1024}return mt.typeArguments=void 0,mt.jsDoc=void 0,mt.locals=void 0,mt.nextContainer=void 0,mt.flowNode=void 0,mt.endFlowNode=void 0,mt.returnFlowNode=void 0,mt}function xe(n,o,l,p,k,V,we,et,mt){return n.modifiers!==o||n.asteriskToken!==l||n.name!==p||n.questionToken!==k||n.typeParameters!==V||n.parameters!==we||n.type!==et||n.body!==mt?Le(zt(o,l,p,k,V,we,et,mt),n):n}function Le(n,o){return n!==o&&(n.exclamationToken=o.exclamationToken),r(n,o)}function Re(n){let o=Ve(172);return o.body=n,o.transformFlags=ye(n)|16777216,o.modifiers=void 0,o.jsDoc=void 0,o.locals=void 0,o.nextContainer=void 0,o.endFlowNode=void 0,o.returnFlowNode=void 0,o}function ot(n,o){return n.body!==o?Ct(Re(o),n):n}function Ct(n,o){return n!==o&&(n.modifiers=o.modifiers),r(n,o)}function Mt(n,o,l){let p=Ve(173);return p.modifiers=xt(n),p.parameters=Oe(o),p.body=l,p.transformFlags=gt(p.modifiers)|gt(p.parameters)|ye(p.body)&-67108865|1024,p.typeParameters=void 0,p.type=void 0,p.typeArguments=void 0,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.endFlowNode=void 0,p.returnFlowNode=void 0,p}function It(n,o,l,p){return n.modifiers!==o||n.parameters!==l||n.body!==p?Mr(Mt(o,l,p),n):n}function Mr(n,o){return n!==o&&(n.typeParameters=o.typeParameters,n.type=o.type),pt(n,o)}function gr(n,o,l,p,k){let V=Ve(174);return V.modifiers=xt(n),V.name=Qt(o),V.parameters=Oe(l),V.type=p,V.body=k,V.body?V.transformFlags=gt(V.modifiers)|ai(V.name)|gt(V.parameters)|ye(V.type)|ye(V.body)&-67108865|(V.type?1:0):V.transformFlags=1,V.typeArguments=void 0,V.typeParameters=void 0,V.jsDoc=void 0,V.locals=void 0,V.nextContainer=void 0,V.flowNode=void 0,V.endFlowNode=void 0,V.returnFlowNode=void 0,V}function Ln(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.parameters!==p||n.type!==k||n.body!==V?ys(gr(o,l,p,k,V),n):n}function ys(n,o){return n!==o&&(n.typeParameters=o.typeParameters),pt(n,o)}function ci(n,o,l,p){let k=Ve(175);return k.modifiers=xt(n),k.name=Qt(o),k.parameters=Oe(l),k.body=p,k.body?k.transformFlags=gt(k.modifiers)|ai(k.name)|gt(k.parameters)|ye(k.body)&-67108865|(k.type?1:0):k.transformFlags=1,k.typeArguments=void 0,k.typeParameters=void 0,k.type=void 0,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k.endFlowNode=void 0,k.returnFlowNode=void 0,k}function Xi(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.parameters!==p||n.body!==k?Aa(ci(o,l,p,k),n):n}function Aa(n,o){return n!==o&&(n.typeParameters=o.typeParameters,n.type=o.type),pt(n,o)}function vs(n,o,l){let p=Ve(176);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function $s(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?pt(vs(o,l,p),n):n}function li(n,o,l){let p=Ve(177);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function Yi(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?pt(li(o,l,p),n):n}function Qi(n,o,l){let p=Ve(178);return p.modifiers=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function bs(n,o,l,p){return n.parameters!==l||n.type!==p||n.modifiers!==o?pt(Qi(o,l,p),n):n}function Ai(n,o){let l=oe(201);return l.type=n,l.literal=o,l.transformFlags=1,l}function xn(n,o,l){return n.type!==o||n.literal!==l?r(Ai(o,l),n):n}function Dt(n){return pr(n)}function Pi(n,o,l){let p=oe(179);return p.assertsModifier=n,p.parameterName=Qt(o),p.type=l,p.transformFlags=1,p}function Z(n,o,l,p){return n.assertsModifier!==o||n.parameterName!==l||n.type!==p?r(Pi(o,l,p),n):n}function ie(n,o){let l=oe(180);return l.typeName=Qt(n),l.typeArguments=o&&s().parenthesizeTypeArguments(Oe(o)),l.transformFlags=1,l}function U(n,o,l){return n.typeName!==o||n.typeArguments!==l?r(ie(o,l),n):n}function L(n,o,l){let p=Ve(181);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.modifiers=void 0,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function fe(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?T(L(o,l,p),n):n}function T(n,o){return n!==o&&(n.modifiers=o.modifiers),pt(n,o)}function it(){return arguments.length===4?dt(...arguments):arguments.length===3?_e(...arguments):Y.fail("Incorrect number of arguments specified.")}function dt(n,o,l,p){let k=Ve(182);return k.modifiers=xt(n),k.typeParameters=xt(o),k.parameters=xt(l),k.type=p,k.transformFlags=1,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.typeArguments=void 0,k}function _e(n,o,l){return dt(void 0,n,o,l)}function Ge(){return arguments.length===5?bt(...arguments):arguments.length===4?jt(...arguments):Y.fail("Incorrect number of arguments specified.")}function bt(n,o,l,p,k){return n.modifiers!==o||n.typeParameters!==l||n.parameters!==p||n.type!==k?pt(it(o,l,p,k),n):n}function jt(n,o,l,p){return bt(n,n.modifiers,o,l,p)}function Yt(n,o){let l=oe(183);return l.exprName=n,l.typeArguments=o&&s().parenthesizeTypeArguments(o),l.transformFlags=1,l}function $t(n,o,l){return n.exprName!==o||n.typeArguments!==l?r(Yt(o,l),n):n}function Wt(n){let o=Ve(184);return o.members=Oe(n),o.transformFlags=1,o}function Xr(n,o){return n.members!==o?r(Wt(o),n):n}function Dr(n){let o=oe(185);return o.elementType=s().parenthesizeNonArrayTypeOfPostfixType(n),o.transformFlags=1,o}function Lr(n,o){return n.elementType!==o?r(Dr(o),n):n}function yr(n){let o=oe(186);return o.elements=Oe(s().parenthesizeElementTypesOfTupleType(n)),o.transformFlags=1,o}function Rn(n,o){return n.elements!==o?r(yr(o),n):n}function wt(n,o,l,p){let k=Ve(199);return k.dotDotDotToken=n,k.name=o,k.questionToken=l,k.type=p,k.transformFlags=1,k.jsDoc=void 0,k}function Tr(n,o,l,p,k){return n.dotDotDotToken!==o||n.name!==l||n.questionToken!==p||n.type!==k?r(wt(o,l,p,k),n):n}function Tt(n){let o=oe(187);return o.type=s().parenthesizeTypeOfOptionalType(n),o.transformFlags=1,o}function kt(n,o){return n.type!==o?r(Tt(o),n):n}function de(n){let o=oe(188);return o.type=n,o.transformFlags=1,o}function jn(n,o){return n.type!==o?r(de(o),n):n}function Zi(n,o,l){let p=oe(n);return p.types=Ye.createNodeArray(l(o)),p.transformFlags=1,p}function Pa(n,o,l){return n.types!==o?r(Zi(n.kind,o,l),n):n}function e_(n){return Zi(189,n,s().parenthesizeConstituentTypesOfUnionType)}function mc(n,o){return Pa(n,o,s().parenthesizeConstituentTypesOfUnionType)}function Da(n){return Zi(190,n,s().parenthesizeConstituentTypesOfIntersectionType)}function Ts(n,o){return Pa(n,o,s().parenthesizeConstituentTypesOfIntersectionType)}function Ot(n,o,l,p){let k=oe(191);return k.checkType=s().parenthesizeCheckTypeOfConditionalType(n),k.extendsType=s().parenthesizeExtendsTypeOfConditionalType(o),k.trueType=l,k.falseType=p,k.transformFlags=1,k.locals=void 0,k.nextContainer=void 0,k}function dr(n,o,l,p,k){return n.checkType!==o||n.extendsType!==l||n.trueType!==p||n.falseType!==k?r(Ot(o,l,p,k),n):n}function Dd(n){let o=oe(192);return o.typeParameter=n,o.transformFlags=1,o}function ea(n,o){return n.typeParameter!==o?r(Dd(o),n):n}function kd(n,o){let l=oe(200);return l.head=n,l.templateSpans=Oe(o),l.transformFlags=1,l}function sn(n,o,l){return n.head!==o||n.templateSpans!==l?r(kd(o,l),n):n}function Id(n,o,l,p){let k=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,V=oe(202);return V.argument=n,V.assertions=o,V.qualifier=l,V.typeArguments=p&&s().parenthesizeTypeArguments(p),V.isTypeOf=k,V.transformFlags=1,V}function ka(n,o,l,p,k){let V=arguments.length>5&&arguments[5]!==void 0?arguments[5]:n.isTypeOf;return n.argument!==o||n.assertions!==l||n.qualifier!==p||n.typeArguments!==k||n.isTypeOf!==V?r(Id(o,l,p,k,V),n):n}function t_(n){let o=oe(193);return o.type=n,o.transformFlags=1,o}function En(n,o){return n.type!==o?r(t_(o),n):n}function Er(){let n=oe(194);return n.transformFlags=1,n}function Q(n,o){let l=oe(195);return l.operator=n,l.type=n===146?s().parenthesizeOperandOfReadonlyTypeOperator(o):s().parenthesizeOperandOfTypeOperator(o),l.transformFlags=1,l}function Jn(n,o){return n.type!==o?r(Q(n.operator,o),n):n}function Ia(n,o){let l=oe(196);return l.objectType=s().parenthesizeNonArrayTypeOfPostfixType(n),l.indexType=o,l.transformFlags=1,l}function Ss(n,o,l){return n.objectType!==o||n.indexType!==l?r(Ia(o,l),n):n}function hc(n,o,l,p,k,V){let we=Ve(197);return we.readonlyToken=n,we.typeParameter=o,we.nameType=l,we.questionToken=p,we.type=k,we.members=V&&Oe(V),we.transformFlags=1,we.locals=void 0,we.nextContainer=void 0,we}function wr(n,o,l,p,k,V,we){return n.readonlyToken!==o||n.typeParameter!==l||n.nameType!==p||n.questionToken!==k||n.type!==V||n.members!==we?r(hc(o,l,p,k,V,we),n):n}function zr(n){let o=oe(198);return o.literal=n,o.transformFlags=1,o}function xs(n,o){return n.literal!==o?r(zr(o),n):n}function Nd(n){let o=oe(203);return o.elements=Oe(n),o.transformFlags|=gt(o.elements)|1024|524288,o.transformFlags&32768&&(o.transformFlags|=65664),o}function Rv(n,o){return n.elements!==o?r(Nd(o),n):n}function Es(n){let o=oe(204);return o.elements=Oe(n),o.transformFlags|=gt(o.elements)|1024|524288,o}function jv(n,o){return n.elements!==o?r(Es(o),n):n}function gc(n,o,l,p){let k=Ve(205);return k.dotDotDotToken=n,k.propertyName=Qt(o),k.name=Qt(l),k.initializer=Wa(p),k.transformFlags|=ye(k.dotDotDotToken)|ai(k.propertyName)|ai(k.name)|ye(k.initializer)|(k.dotDotDotToken?32768:0)|1024,k.flowNode=void 0,k}function Ks(n,o,l,p,k){return n.propertyName!==l||n.dotDotDotToken!==o||n.name!==p||n.initializer!==k?r(gc(o,l,p,k),n):n}function uu(n,o){let l=oe(206),p=n&&Cn(n),k=Oe(n,p&&cd(p)?!0:void 0);return l.elements=s().parenthesizeExpressionsOfCommaDelimitedList(k),l.multiLine=o,l.transformFlags|=gt(l.elements),l}function Od(n,o){return n.elements!==o?r(uu(o,n.multiLine),n):n}function r_(n,o){let l=Ve(207);return l.properties=Oe(n),l.multiLine=o,l.transformFlags|=gt(l.properties),l.jsDoc=void 0,l}function Jv(n,o){return n.properties!==o?r(r_(o,n.multiLine),n):n}function Md(n,o,l){let p=Ve(208);return p.expression=n,p.questionDotToken=o,p.name=l,p.transformFlags=ye(p.expression)|ye(p.questionDotToken)|(yt(p.name)?ec(p.name):ye(p.name)|536870912),p.jsDoc=void 0,p.flowNode=void 0,p}function ta(n,o){let l=Md(s().parenthesizeLeftSideOfAccess(n,!1),void 0,Qt(o));return nd(n)&&(l.transformFlags|=384),l}function Ld(n,o,l){return L3(n)?Rd(n,o,n.questionDotToken,ti(l,yt)):n.expression!==o||n.name!==l?r(ta(o,l),n):n}function Xs(n,o,l){let p=Md(s().parenthesizeLeftSideOfAccess(n,!0),o,Qt(l));return p.flags|=32,p.transformFlags|=32,p}function Rd(n,o,l,p){return Y.assert(!!(n.flags&32),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),n.expression!==o||n.questionDotToken!==l||n.name!==p?r(Xs(o,l,p),n):n}function yc(n,o,l){let p=Ve(209);return p.expression=n,p.questionDotToken=o,p.argumentExpression=l,p.transformFlags|=ye(p.expression)|ye(p.questionDotToken)|ye(p.argumentExpression),p.jsDoc=void 0,p.flowNode=void 0,p}function pu(n,o){let l=yc(s().parenthesizeLeftSideOfAccess(n,!1),void 0,za(o));return nd(n)&&(l.transformFlags|=384),l}function Fv(n,o,l){return R3(n)?jd(n,o,n.questionDotToken,l):n.expression!==o||n.argumentExpression!==l?r(pu(o,l),n):n}function fu(n,o,l){let p=yc(s().parenthesizeLeftSideOfAccess(n,!0),o,za(l));return p.flags|=32,p.transformFlags|=32,p}function jd(n,o,l,p){return Y.assert(!!(n.flags&32),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),n.expression!==o||n.questionDotToken!==l||n.argumentExpression!==p?r(fu(o,l,p),n):n}function Jd(n,o,l,p){let k=Ve(210);return k.expression=n,k.questionDotToken=o,k.typeArguments=l,k.arguments=p,k.transformFlags|=ye(k.expression)|ye(k.questionDotToken)|gt(k.typeArguments)|gt(k.arguments),k.typeArguments&&(k.transformFlags|=1),Sf(k.expression)&&(k.transformFlags|=16384),k}function Na(n,o,l){let p=Jd(s().parenthesizeLeftSideOfAccess(n,!1),void 0,xt(o),s().parenthesizeExpressionsOfCommaDelimitedList(Oe(l)));return M8(p.expression)&&(p.transformFlags|=8388608),p}function Bv(n,o,l,p){return Cy(n)?Kn(n,o,n.questionDotToken,l,p):n.expression!==o||n.typeArguments!==l||n.arguments!==p?r(Na(o,l,p),n):n}function du(n,o,l,p){let k=Jd(s().parenthesizeLeftSideOfAccess(n,!0),o,xt(l),s().parenthesizeExpressionsOfCommaDelimitedList(Oe(p)));return k.flags|=32,k.transformFlags|=32,k}function Kn(n,o,l,p,k){return Y.assert(!!(n.flags&32),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),n.expression!==o||n.questionDotToken!==l||n.typeArguments!==p||n.arguments!==k?r(du(o,l,p,k),n):n}function vc(n,o,l){let p=Ve(211);return p.expression=s().parenthesizeExpressionOfNew(n),p.typeArguments=xt(o),p.arguments=l?s().parenthesizeExpressionsOfCommaDelimitedList(l):void 0,p.transformFlags|=ye(p.expression)|gt(p.typeArguments)|gt(p.arguments)|32,p.typeArguments&&(p.transformFlags|=1),p}function mu(n,o,l,p){return n.expression!==o||n.typeArguments!==l||n.arguments!==p?r(vc(o,l,p),n):n}function hu(n,o,l){let p=oe(212);return p.tag=s().parenthesizeLeftSideOfAccess(n,!1),p.typeArguments=xt(o),p.template=l,p.transformFlags|=ye(p.tag)|gt(p.typeArguments)|ye(p.template)|1024,p.typeArguments&&(p.transformFlags|=1),w4(p.template)&&(p.transformFlags|=128),p}function qv(n,o,l,p){return n.tag!==o||n.typeArguments!==l||n.template!==p?r(hu(o,l,p),n):n}function Fd(n,o){let l=oe(213);return l.expression=s().parenthesizeOperandOfPrefixUnary(o),l.type=n,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Bd(n,o,l){return n.type!==o||n.expression!==l?r(Fd(o,l),n):n}function gu(n){let o=oe(214);return o.expression=n,o.transformFlags=ye(o.expression),o.jsDoc=void 0,o}function qd(n,o){return n.expression!==o?r(gu(o),n):n}function yu(n,o,l,p,k,V,we){let et=Ve(215);et.modifiers=xt(n),et.asteriskToken=o,et.name=Qt(l),et.typeParameters=xt(p),et.parameters=Oe(k),et.type=V,et.body=we;let mt=Vn(et.modifiers)&512,hn=!!et.asteriskToken,Ni=mt&&hn;return et.transformFlags=gt(et.modifiers)|ye(et.asteriskToken)|ai(et.name)|gt(et.typeParameters)|gt(et.parameters)|ye(et.type)|ye(et.body)&-67108865|(Ni?128:mt?256:hn?2048:0)|(et.typeParameters||et.type?1:0)|4194304,et.typeArguments=void 0,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.flowNode=void 0,et.endFlowNode=void 0,et.returnFlowNode=void 0,et}function Ud(n,o,l,p,k,V,we,et){return n.name!==p||n.modifiers!==o||n.asteriskToken!==l||n.typeParameters!==k||n.parameters!==V||n.type!==we||n.body!==et?pt(yu(o,l,p,k,V,we,et),n):n}function vu(n,o,l,p,k,V){let we=Ve(216);we.modifiers=xt(n),we.typeParameters=xt(o),we.parameters=Oe(l),we.type=p,we.equalsGreaterThanToken=k!=null?k:pr(38),we.body=s().parenthesizeConciseBodyOfArrowFunction(V);let et=Vn(we.modifiers)&512;return we.transformFlags=gt(we.modifiers)|gt(we.typeParameters)|gt(we.parameters)|ye(we.type)|ye(we.equalsGreaterThanToken)|ye(we.body)&-67108865|(we.typeParameters||we.type?1:0)|(et?16640:0)|1024,we.typeArguments=void 0,we.jsDoc=void 0,we.locals=void 0,we.nextContainer=void 0,we.flowNode=void 0,we.endFlowNode=void 0,we.returnFlowNode=void 0,we}function zd(n,o,l,p,k,V,we){return n.modifiers!==o||n.typeParameters!==l||n.parameters!==p||n.type!==k||n.equalsGreaterThanToken!==V||n.body!==we?pt(vu(o,l,p,k,V,we),n):n}function bu(n){let o=oe(217);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function Uv(n,o){return n.expression!==o?r(bu(o),n):n}function mn(n){let o=oe(218);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function zv(n,o){return n.expression!==o?r(mn(o),n):n}function ui(n){let o=oe(219);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function Wv(n,o){return n.expression!==o?r(ui(o),n):n}function Oa(n){let o=oe(220);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression)|256|128|2097152,o}function Ys(n,o){return n.expression!==o?r(Oa(o),n):n}function Tu(n,o){let l=oe(221);return l.operator=n,l.operand=s().parenthesizeOperandOfPrefixUnary(o),l.transformFlags|=ye(l.operand),(n===45||n===46)&&yt(l.operand)&&!cs(l.operand)&&!Ev(l.operand)&&(l.transformFlags|=268435456),l}function bc(n,o){return n.operand!==o?r(Tu(n.operator,o),n):n}function Su(n,o){let l=oe(222);return l.operator=o,l.operand=s().parenthesizeOperandOfPostfixUnary(n),l.transformFlags|=ye(l.operand),yt(l.operand)&&!cs(l.operand)&&!Ev(l.operand)&&(l.transformFlags|=268435456),l}function Wd(n,o){return n.operand!==o?r(Su(o,n.operator),n):n}function xu(n,o,l){let p=Ve(223),k=c6(o),V=k.kind;return p.left=s().parenthesizeLeftSideOfBinary(V,n),p.operatorToken=k,p.right=s().parenthesizeRightSideOfBinary(V,p.left,l),p.transformFlags|=ye(p.left)|ye(p.operatorToken)|ye(p.right),V===60?p.transformFlags|=32:V===63?Hs(p.left)?p.transformFlags|=5248|Vd(p.left):Yl(p.left)&&(p.transformFlags|=5120|Vd(p.left)):V===42||V===67?p.transformFlags|=512:jf(V)&&(p.transformFlags|=16),V===101&&vn(p.left)&&(p.transformFlags|=536870912),p.jsDoc=void 0,p}function Vd(n){return Av(n)?65536:0}function Vv(n,o,l,p){return n.left!==o||n.operatorToken!==l||n.right!==p?r(xu(o,l,p),n):n}function Eu(n,o,l,p,k){let V=oe(224);return V.condition=s().parenthesizeConditionOfConditionalExpression(n),V.questionToken=o!=null?o:pr(57),V.whenTrue=s().parenthesizeBranchOfConditionalExpression(l),V.colonToken=p!=null?p:pr(58),V.whenFalse=s().parenthesizeBranchOfConditionalExpression(k),V.transformFlags|=ye(V.condition)|ye(V.questionToken)|ye(V.whenTrue)|ye(V.colonToken)|ye(V.whenFalse),V}function Hv(n,o,l,p,k,V){return n.condition!==o||n.questionToken!==l||n.whenTrue!==p||n.colonToken!==k||n.whenFalse!==V?r(Eu(o,l,p,k,V),n):n}function Di(n,o){let l=oe(225);return l.head=n,l.templateSpans=Oe(o),l.transformFlags|=ye(l.head)|gt(l.templateSpans)|1024,l}function Hd(n,o,l){return n.head!==o||n.templateSpans!==l?r(Di(o,l),n):n}function Tc(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;Y.assert(!(p&-2049),"Unsupported template flags.");let k;if(l!==void 0&&l!==o&&(k=RL(n,l),typeof k=="object"))return Y.fail("Invalid raw text");if(o===void 0){if(k===void 0)return Y.fail("Arguments 'text' and 'rawText' may not both be undefined.");o=k}else k!==void 0&&Y.assert(o===k,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return o}function Gd(n){let o=1024;return n&&(o|=128),o}function n_(n,o,l,p){let k=In(n);return k.text=o,k.rawText=l,k.templateFlags=p&2048,k.transformFlags=Gd(k.templateFlags),k}function wu(n,o,l,p){let k=Ve(n);return k.text=o,k.rawText=l,k.templateFlags=p&2048,k.transformFlags=Gd(k.templateFlags),k}function Qs(n,o,l,p){return n===14?wu(n,o,l,p):n_(n,o,l,p)}function Sc(n,o,l){return n=Tc(15,n,o,l),Qs(15,n,o,l)}function Cu(n,o,l){return n=Tc(15,n,o,l),Qs(16,n,o,l)}function Gv(n,o,l){return n=Tc(15,n,o,l),Qs(17,n,o,l)}function $d(n,o,l){return n=Tc(15,n,o,l),wu(14,n,o,l)}function Kd(n,o){Y.assert(!n||!!o,"A `YieldExpression` with an asteriskToken must have an expression.");let l=oe(226);return l.expression=o&&s().parenthesizeExpressionForDisallowedComma(o),l.asteriskToken=n,l.transformFlags|=ye(l.expression)|ye(l.asteriskToken)|1024|128|1048576,l}function $v(n,o,l){return n.expression!==l||n.asteriskToken!==o?r(Kd(o,l),n):n}function Xd(n){let o=oe(227);return o.expression=s().parenthesizeExpressionForDisallowedComma(n),o.transformFlags|=ye(o.expression)|1024|32768,o}function Kv(n,o){return n.expression!==o?r(Xd(o),n):n}function Yd(n,o,l,p,k){let V=Ve(228);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Oe(k),V.transformFlags|=gt(V.modifiers)|ai(V.name)|gt(V.typeParameters)|gt(V.heritageClauses)|gt(V.members)|(V.typeParameters?1:0)|1024,V.jsDoc=void 0,V}function xc(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(Yd(o,l,p,k,V),n):n}function Xv(){return oe(229)}function Qd(n,o){let l=oe(230);return l.expression=s().parenthesizeLeftSideOfAccess(n,!1),l.typeArguments=o&&s().parenthesizeTypeArguments(o),l.transformFlags|=ye(l.expression)|gt(l.typeArguments)|1024,l}function Xn(n,o,l){return n.expression!==o||n.typeArguments!==l?r(Qd(o,l),n):n}function Ec(n,o){let l=oe(231);return l.expression=n,l.type=o,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Zd(n,o,l){return n.expression!==o||n.type!==l?r(Ec(o,l),n):n}function em(n){let o=oe(232);return o.expression=s().parenthesizeLeftSideOfAccess(n,!1),o.transformFlags|=ye(o.expression)|1,o}function Au(n,o){return J3(n)?rm(n,o):n.expression!==o?r(em(o),n):n}function tm(n,o){let l=oe(235);return l.expression=n,l.type=o,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Pu(n,o,l){return n.expression!==o||n.type!==l?r(tm(o,l),n):n}function pi(n){let o=oe(232);return o.flags|=32,o.expression=s().parenthesizeLeftSideOfAccess(n,!0),o.transformFlags|=ye(o.expression)|1,o}function rm(n,o){return Y.assert(!!(n.flags&32),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),n.expression!==o?r(pi(o),n):n}function wc(n,o){let l=oe(233);switch(l.keywordToken=n,l.name=o,l.transformFlags|=ye(l.name),n){case 103:l.transformFlags|=1024;break;case 100:l.transformFlags|=4;break;default:return Y.assertNever(n)}return l.flowNode=void 0,l}function ra(n,o){return n.name!==o?r(wc(n.keywordToken,o),n):n}function i_(n,o){let l=oe(236);return l.expression=n,l.literal=o,l.transformFlags|=ye(l.expression)|ye(l.literal)|1024,l}function nm(n,o,l){return n.expression!==o||n.literal!==l?r(i_(o,l),n):n}function im(){let n=oe(237);return n.transformFlags|=1024,n}function Zs(n,o){let l=oe(238);return l.statements=Oe(n),l.multiLine=o,l.transformFlags|=gt(l.statements),l.jsDoc=void 0,l.locals=void 0,l.nextContainer=void 0,l}function am(n,o){return n.statements!==o?r(Zs(o,n.multiLine),n):n}function sm(n,o){let l=oe(240);return l.modifiers=xt(n),l.declarationList=ir(o)?Ru(o):o,l.transformFlags|=gt(l.modifiers)|ye(l.declarationList),Vn(l.modifiers)&2&&(l.transformFlags=1),l.jsDoc=void 0,l.flowNode=void 0,l}function om(n,o,l){return n.modifiers!==o||n.declarationList!==l?r(sm(o,l),n):n}function Du(){let n=oe(239);return n.jsDoc=void 0,n}function a_(n){let o=oe(241);return o.expression=s().parenthesizeExpressionOfExpressionStatement(n),o.transformFlags|=ye(o.expression),o.jsDoc=void 0,o.flowNode=void 0,o}function Yv(n,o){return n.expression!==o?r(a_(o),n):n}function ku(n,o,l){let p=oe(242);return p.expression=n,p.thenStatement=Yn(o),p.elseStatement=Yn(l),p.transformFlags|=ye(p.expression)|ye(p.thenStatement)|ye(p.elseStatement),p.jsDoc=void 0,p.flowNode=void 0,p}function Qv(n,o,l,p){return n.expression!==o||n.thenStatement!==l||n.elseStatement!==p?r(ku(o,l,p),n):n}function Iu(n,o){let l=oe(243);return l.statement=Yn(n),l.expression=o,l.transformFlags|=ye(l.statement)|ye(l.expression),l.jsDoc=void 0,l.flowNode=void 0,l}function Zv(n,o,l){return n.statement!==o||n.expression!==l?r(Iu(o,l),n):n}function _m(n,o){let l=oe(244);return l.expression=n,l.statement=Yn(o),l.transformFlags|=ye(l.expression)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function eb(n,o,l){return n.expression!==o||n.statement!==l?r(_m(o,l),n):n}function Nu(n,o,l,p){let k=oe(245);return k.initializer=n,k.condition=o,k.incrementor=l,k.statement=Yn(p),k.transformFlags|=ye(k.initializer)|ye(k.condition)|ye(k.incrementor)|ye(k.statement),k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k}function cm(n,o,l,p,k){return n.initializer!==o||n.condition!==l||n.incrementor!==p||n.statement!==k?r(Nu(o,l,p,k),n):n}function lm(n,o,l){let p=oe(246);return p.initializer=n,p.expression=o,p.statement=Yn(l),p.transformFlags|=ye(p.initializer)|ye(p.expression)|ye(p.statement),p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.flowNode=void 0,p}function tb(n,o,l,p){return n.initializer!==o||n.expression!==l||n.statement!==p?r(lm(o,l,p),n):n}function um(n,o,l,p){let k=oe(247);return k.awaitModifier=n,k.initializer=o,k.expression=s().parenthesizeExpressionForDisallowedComma(l),k.statement=Yn(p),k.transformFlags|=ye(k.awaitModifier)|ye(k.initializer)|ye(k.expression)|ye(k.statement)|1024,n&&(k.transformFlags|=128),k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k}function rb(n,o,l,p,k){return n.awaitModifier!==o||n.initializer!==l||n.expression!==p||n.statement!==k?r(um(o,l,p,k),n):n}function pm(n){let o=oe(248);return o.label=Qt(n),o.transformFlags|=ye(o.label)|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function fm(n,o){return n.label!==o?r(pm(o),n):n}function Ou(n){let o=oe(249);return o.label=Qt(n),o.transformFlags|=ye(o.label)|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function dm(n,o){return n.label!==o?r(Ou(o),n):n}function mm(n){let o=oe(250);return o.expression=n,o.transformFlags|=ye(o.expression)|128|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function nb(n,o){return n.expression!==o?r(mm(o),n):n}function Mu(n,o){let l=oe(251);return l.expression=n,l.statement=Yn(o),l.transformFlags|=ye(l.expression)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function hm(n,o,l){return n.expression!==o||n.statement!==l?r(Mu(o,l),n):n}function Lu(n,o){let l=oe(252);return l.expression=s().parenthesizeExpressionForDisallowedComma(n),l.caseBlock=o,l.transformFlags|=ye(l.expression)|ye(l.caseBlock),l.jsDoc=void 0,l.flowNode=void 0,l.possiblyExhaustive=!1,l}function eo(n,o,l){return n.expression!==o||n.caseBlock!==l?r(Lu(o,l),n):n}function gm(n,o){let l=oe(253);return l.label=Qt(n),l.statement=Yn(o),l.transformFlags|=ye(l.label)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function ym(n,o,l){return n.label!==o||n.statement!==l?r(gm(o,l),n):n}function vm(n){let o=oe(254);return o.expression=n,o.transformFlags|=ye(o.expression),o.jsDoc=void 0,o.flowNode=void 0,o}function ib(n,o){return n.expression!==o?r(vm(o),n):n}function bm(n,o,l){let p=oe(255);return p.tryBlock=n,p.catchClause=o,p.finallyBlock=l,p.transformFlags|=ye(p.tryBlock)|ye(p.catchClause)|ye(p.finallyBlock),p.jsDoc=void 0,p.flowNode=void 0,p}function ab(n,o,l,p){return n.tryBlock!==o||n.catchClause!==l||n.finallyBlock!==p?r(bm(o,l,p),n):n}function Tm(){let n=oe(256);return n.jsDoc=void 0,n.flowNode=void 0,n}function Cc(n,o,l,p){var k;let V=Ve(257);return V.name=Qt(n),V.exclamationToken=o,V.type=l,V.initializer=Wa(p),V.transformFlags|=ai(V.name)|ye(V.initializer)|(((k=V.exclamationToken)!=null?k:V.type)?1:0),V.jsDoc=void 0,V}function Sm(n,o,l,p,k){return n.name!==o||n.type!==p||n.exclamationToken!==l||n.initializer!==k?r(Cc(o,l,p,k),n):n}function Ru(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=oe(258);return l.flags|=o&3,l.declarations=Oe(n),l.transformFlags|=gt(l.declarations)|4194304,o&3&&(l.transformFlags|=263168),l}function sb(n,o){return n.declarations!==o?r(Ru(o,n.flags),n):n}function xm(n,o,l,p,k,V,we){let et=Ve(259);if(et.modifiers=xt(n),et.asteriskToken=o,et.name=Qt(l),et.typeParameters=xt(p),et.parameters=Oe(k),et.type=V,et.body=we,!et.body||Vn(et.modifiers)&2)et.transformFlags=1;else{let mt=Vn(et.modifiers)&512,hn=!!et.asteriskToken,Ni=mt&&hn;et.transformFlags=gt(et.modifiers)|ye(et.asteriskToken)|ai(et.name)|gt(et.typeParameters)|gt(et.parameters)|ye(et.type)|ye(et.body)&-67108865|(Ni?128:mt?256:hn?2048:0)|(et.typeParameters||et.type?1:0)|4194304}return et.typeArguments=void 0,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.endFlowNode=void 0,et.returnFlowNode=void 0,et}function ju(n,o,l,p,k,V,we,et){return n.modifiers!==o||n.asteriskToken!==l||n.name!==p||n.typeParameters!==k||n.parameters!==V||n.type!==we||n.body!==et?ob(xm(o,l,p,k,V,we,et),n):n}function ob(n,o){return n!==o&&n.modifiers===o.modifiers&&(n.modifiers=o.modifiers),pt(n,o)}function Em(n,o,l,p,k){let V=Ve(260);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Oe(k),Vn(V.modifiers)&2?V.transformFlags=1:(V.transformFlags|=gt(V.modifiers)|ai(V.name)|gt(V.typeParameters)|gt(V.heritageClauses)|gt(V.members)|(V.typeParameters?1:0)|1024,V.transformFlags&8192&&(V.transformFlags|=1)),V.jsDoc=void 0,V}function Ju(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(Em(o,l,p,k,V),n):n}function wm(n,o,l,p,k){let V=Ve(261);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Oe(k),V.transformFlags=1,V.jsDoc=void 0,V}function Cm(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(wm(o,l,p,k,V),n):n}function sr(n,o,l,p){let k=Ve(262);return k.modifiers=xt(n),k.name=Qt(o),k.typeParameters=xt(l),k.type=p,k.transformFlags=1,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k}function Ma(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.type!==k?r(sr(o,l,p,k),n):n}function Fu(n,o,l){let p=Ve(263);return p.modifiers=xt(n),p.name=Qt(o),p.members=Oe(l),p.transformFlags|=gt(p.modifiers)|ye(p.name)|gt(p.members)|1,p.transformFlags&=-67108865,p.jsDoc=void 0,p}function La(n,o,l,p){return n.modifiers!==o||n.name!==l||n.members!==p?r(Fu(o,l,p),n):n}function Am(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,k=Ve(264);return k.modifiers=xt(n),k.flags|=p&1044,k.name=o,k.body=l,Vn(k.modifiers)&2?k.transformFlags=1:k.transformFlags|=gt(k.modifiers)|ye(k.name)|ye(k.body)|1,k.transformFlags&=-67108865,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k}function Sr(n,o,l,p){return n.modifiers!==o||n.name!==l||n.body!==p?r(Am(o,l,p,n.flags),n):n}function Ra(n){let o=oe(265);return o.statements=Oe(n),o.transformFlags|=gt(o.statements),o.jsDoc=void 0,o}function Yr(n,o){return n.statements!==o?r(Ra(o),n):n}function Pm(n){let o=oe(266);return o.clauses=Oe(n),o.transformFlags|=gt(o.clauses),o.locals=void 0,o.nextContainer=void 0,o}function _b(n,o){return n.clauses!==o?r(Pm(o),n):n}function Dm(n){let o=Ve(267);return o.name=Qt(n),o.transformFlags|=ec(o.name)|1,o.modifiers=void 0,o.jsDoc=void 0,o}function km(n,o){return n.name!==o?cb(Dm(o),n):n}function cb(n,o){return n!==o&&(n.modifiers=o.modifiers),r(n,o)}function Im(n,o,l,p){let k=Ve(268);return k.modifiers=xt(n),k.name=Qt(l),k.isTypeOnly=o,k.moduleReference=p,k.transformFlags|=gt(k.modifiers)|ec(k.name)|ye(k.moduleReference),ud(k.moduleReference)||(k.transformFlags|=1),k.transformFlags&=-67108865,k.jsDoc=void 0,k}function Nm(n,o,l,p,k){return n.modifiers!==o||n.isTypeOnly!==l||n.name!==p||n.moduleReference!==k?r(Im(o,l,p,k),n):n}function Om(n,o,l,p){let k=oe(269);return k.modifiers=xt(n),k.importClause=o,k.moduleSpecifier=l,k.assertClause=p,k.transformFlags|=ye(k.importClause)|ye(k.moduleSpecifier),k.transformFlags&=-67108865,k.jsDoc=void 0,k}function Mm(n,o,l,p,k){return n.modifiers!==o||n.importClause!==l||n.moduleSpecifier!==p||n.assertClause!==k?r(Om(o,l,p,k),n):n}function Lm(n,o,l){let p=Ve(270);return p.isTypeOnly=n,p.name=o,p.namedBindings=l,p.transformFlags|=ye(p.name)|ye(p.namedBindings),n&&(p.transformFlags|=1),p.transformFlags&=-67108865,p}function Rm(n,o,l,p){return n.isTypeOnly!==o||n.name!==l||n.namedBindings!==p?r(Lm(o,l,p),n):n}function Bu(n,o){let l=oe(296);return l.elements=Oe(n),l.multiLine=o,l.transformFlags|=4,l}function lb(n,o,l){return n.elements!==o||n.multiLine!==l?r(Bu(o,l),n):n}function s_(n,o){let l=oe(297);return l.name=n,l.value=o,l.transformFlags|=4,l}function jm(n,o,l){return n.name!==o||n.value!==l?r(s_(o,l),n):n}function qu(n,o){let l=oe(298);return l.assertClause=n,l.multiLine=o,l}function Jm(n,o,l){return n.assertClause!==o||n.multiLine!==l?r(qu(o,l),n):n}function Fm(n){let o=Ve(271);return o.name=n,o.transformFlags|=ye(o.name),o.transformFlags&=-67108865,o}function Uu(n,o){return n.name!==o?r(Fm(o),n):n}function Bm(n){let o=Ve(277);return o.name=n,o.transformFlags|=ye(o.name)|4,o.transformFlags&=-67108865,o}function qm(n,o){return n.name!==o?r(Bm(o),n):n}function Um(n){let o=oe(272);return o.elements=Oe(n),o.transformFlags|=gt(o.elements),o.transformFlags&=-67108865,o}function ub(n,o){return n.elements!==o?r(Um(o),n):n}function zm(n,o,l){let p=Ve(273);return p.isTypeOnly=n,p.propertyName=o,p.name=l,p.transformFlags|=ye(p.propertyName)|ye(p.name),p.transformFlags&=-67108865,p}function pb(n,o,l,p){return n.isTypeOnly!==o||n.propertyName!==l||n.name!==p?r(zm(o,l,p),n):n}function zu(n,o,l){let p=Ve(274);return p.modifiers=xt(n),p.isExportEquals=o,p.expression=o?s().parenthesizeRightSideOfBinary(63,void 0,l):s().parenthesizeExpressionOfExportDefault(l),p.transformFlags|=gt(p.modifiers)|ye(p.expression),p.transformFlags&=-67108865,p.jsDoc=void 0,p}function Wu(n,o,l){return n.modifiers!==o||n.expression!==l?r(zu(o,n.isExportEquals,l),n):n}function na(n,o,l,p,k){let V=Ve(275);return V.modifiers=xt(n),V.isTypeOnly=o,V.exportClause=l,V.moduleSpecifier=p,V.assertClause=k,V.transformFlags|=gt(V.modifiers)|ye(V.exportClause)|ye(V.moduleSpecifier),V.transformFlags&=-67108865,V.jsDoc=void 0,V}function Wm(n,o,l,p,k,V){return n.modifiers!==o||n.isTypeOnly!==l||n.exportClause!==p||n.moduleSpecifier!==k||n.assertClause!==V?Vm(na(o,l,p,k,V),n):n}function Vm(n,o){return n!==o&&n.modifiers===o.modifiers&&(n.modifiers=o.modifiers),r(n,o)}function to(n){let o=oe(276);return o.elements=Oe(n),o.transformFlags|=gt(o.elements),o.transformFlags&=-67108865,o}function Hm(n,o){return n.elements!==o?r(to(o),n):n}function Vu(n,o,l){let p=oe(278);return p.isTypeOnly=n,p.propertyName=Qt(o),p.name=Qt(l),p.transformFlags|=ye(p.propertyName)|ye(p.name),p.transformFlags&=-67108865,p.jsDoc=void 0,p}function o_(n,o,l,p){return n.isTypeOnly!==o||n.propertyName!==l||n.name!==p?r(Vu(o,l,p),n):n}function fb(){let n=Ve(279);return n.jsDoc=void 0,n}function Gm(n){let o=oe(280);return o.expression=n,o.transformFlags|=ye(o.expression),o.transformFlags&=-67108865,o}function $m(n,o){return n.expression!==o?r(Gm(o),n):n}function db(n){return oe(n)}function Km(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=Ac(n,l?o&&s().parenthesizeNonArrayTypeOfPostfixType(o):o);return p.postfix=l,p}function Ac(n,o){let l=oe(n);return l.type=o,l}function Xm(n,o,l){return o.type!==l?r(Km(n,l,o.postfix),o):o}function mb(n,o,l){return o.type!==l?r(Ac(n,l),o):o}function Ym(n,o){let l=Ve(320);return l.parameters=xt(n),l.type=o,l.transformFlags=gt(l.parameters)|(l.type?1:0),l.jsDoc=void 0,l.locals=void 0,l.nextContainer=void 0,l.typeArguments=void 0,l}function hb(n,o,l){return n.parameters!==o||n.type!==l?r(Ym(o,l),n):n}function Qm(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=Ve(325);return l.jsDocPropertyTags=xt(n),l.isArrayType=o,l}function gb(n,o,l){return n.jsDocPropertyTags!==o||n.isArrayType!==l?r(Qm(o,l),n):n}function Zm(n){let o=oe(312);return o.type=n,o}function yb(n,o){return n.type!==o?r(Zm(o),n):n}function eh(n,o,l){let p=Ve(326);return p.typeParameters=xt(n),p.parameters=Oe(o),p.type=l,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p}function Hu(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?r(eh(o,l,p),n):n}function fi(n){let o=ed(n.kind);return n.tagName.escapedText===vi(o)?n.tagName:Ut(o)}function ja(n,o,l){let p=oe(n);return p.tagName=o,p.comment=l,p}function Ja(n,o,l){let p=Ve(n);return p.tagName=o,p.comment=l,p}function __(n,o,l,p){let k=ja(348,n!=null?n:Ut("template"),p);return k.constraint=o,k.typeParameters=Oe(l),k}function Gu(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.constraint!==l||n.typeParameters!==p||n.comment!==k?r(__(o,l,p,k),n):n}function $u(n,o,l,p){let k=Ja(349,n!=null?n:Ut("typedef"),p);return k.typeExpression=o,k.fullName=l,k.name=wv(l),k.locals=void 0,k.nextContainer=void 0,k}function th(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.typeExpression!==l||n.fullName!==p||n.comment!==k?r($u(o,l,p,k),n):n}function Pc(n,o,l,p,k,V){let we=Ja(344,n!=null?n:Ut("param"),V);return we.typeExpression=p,we.name=o,we.isNameFirst=!!k,we.isBracketed=l,we}function vb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0,V=arguments.length>5?arguments[5]:void 0,we=arguments.length>6?arguments[6]:void 0;return n.tagName!==o||n.name!==l||n.isBracketed!==p||n.typeExpression!==k||n.isNameFirst!==V||n.comment!==we?r(Pc(o,l,p,k,V,we),n):n}function Ku(n,o,l,p,k,V){let we=Ja(351,n!=null?n:Ut("prop"),V);return we.typeExpression=p,we.name=o,we.isNameFirst=!!k,we.isBracketed=l,we}function bb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0,V=arguments.length>5?arguments[5]:void 0,we=arguments.length>6?arguments[6]:void 0;return n.tagName!==o||n.name!==l||n.isBracketed!==p||n.typeExpression!==k||n.isNameFirst!==V||n.comment!==we?r(Ku(o,l,p,k,V,we),n):n}function rh(n,o,l,p){let k=Ja(341,n!=null?n:Ut("callback"),p);return k.typeExpression=o,k.fullName=l,k.name=wv(l),k.locals=void 0,k.nextContainer=void 0,k}function nh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.typeExpression!==l||n.fullName!==p||n.comment!==k?r(rh(o,l,p,k),n):n}function ih(n,o,l){let p=ja(342,n!=null?n:Ut("overload"),l);return p.typeExpression=o,p}function ah(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.typeExpression!==l||n.comment!==p?r(ih(o,l,p),n):n}function sh(n,o,l){let p=ja(331,n!=null?n:Ut("augments"),l);return p.class=o,p}function Xu(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.class!==l||n.comment!==p?r(sh(o,l,p),n):n}function Yu(n,o,l){let p=ja(332,n!=null?n:Ut("implements"),l);return p.class=o,p}function ro(n,o,l){let p=ja(350,n!=null?n:Ut("see"),l);return p.name=o,p}function Tb(n,o,l,p){return n.tagName!==o||n.name!==l||n.comment!==p?r(ro(o,l,p),n):n}function ws(n){let o=oe(313);return o.name=n,o}function Dc(n,o){return n.name!==o?r(ws(o),n):n}function oh(n,o){let l=oe(314);return l.left=n,l.right=o,l.transformFlags|=ye(l.left)|ye(l.right),l}function Sb(n,o,l){return n.left!==o||n.right!==l?r(oh(o,l),n):n}function _h(n,o){let l=oe(327);return l.name=n,l.text=o,l}function xb(n,o,l){return n.name!==o?r(_h(o,l),n):n}function ch(n,o){let l=oe(328);return l.name=n,l.text=o,l}function lh(n,o,l){return n.name!==o?r(ch(o,l),n):n}function uh(n,o){let l=oe(329);return l.name=n,l.text=o,l}function Eb(n,o,l){return n.name!==o?r(uh(o,l),n):n}function wb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.class!==l||n.comment!==p?r(Yu(o,l,p),n):n}function ph(n,o,l){return ja(n,o!=null?o:Ut(ed(n)),l)}function Cb(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(o),p=arguments.length>3?arguments[3]:void 0;return o.tagName!==l||o.comment!==p?r(ph(n,l,p),o):o}function fh(n,o,l,p){let k=ja(n,o!=null?o:Ut(ed(n)),p);return k.typeExpression=l,k}function Ab(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(o),p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return o.tagName!==l||o.typeExpression!==p||o.comment!==k?r(fh(n,l,p,k),o):o}function dh(n,o){return ja(330,n,o)}function Pb(n,o,l){return n.tagName!==o||n.comment!==l?r(dh(o,l),n):n}function mh(n,o,l){let p=Ja(343,n!=null?n:Ut(ed(343)),l);return p.typeExpression=o,p.locals=void 0,p.nextContainer=void 0,p}function Db(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.typeExpression!==l||n.comment!==p?r(mh(o,l,p),n):n}function hh(n){let o=oe(324);return o.text=n,o}function Qu(n,o){return n.text!==o?r(hh(o),n):n}function gh(n,o){let l=oe(323);return l.comment=n,l.tags=xt(o),l}function yh(n,o,l){return n.comment!==o||n.tags!==l?r(gh(o,l),n):n}function Zu(n,o,l){let p=oe(281);return p.openingElement=n,p.children=Oe(o),p.closingElement=l,p.transformFlags|=ye(p.openingElement)|gt(p.children)|ye(p.closingElement)|2,p}function kb(n,o,l,p){return n.openingElement!==o||n.children!==l||n.closingElement!==p?r(Zu(o,l,p),n):n}function c_(n,o,l){let p=oe(282);return p.tagName=n,p.typeArguments=xt(o),p.attributes=l,p.transformFlags|=ye(p.tagName)|gt(p.typeArguments)|ye(p.attributes)|2,p.typeArguments&&(p.transformFlags|=1),p}function vh(n,o,l,p){return n.tagName!==o||n.typeArguments!==l||n.attributes!==p?r(c_(o,l,p),n):n}function bh(n,o,l){let p=oe(283);return p.tagName=n,p.typeArguments=xt(o),p.attributes=l,p.transformFlags|=ye(p.tagName)|gt(p.typeArguments)|ye(p.attributes)|2,o&&(p.transformFlags|=1),p}function Ib(n,o,l,p){return n.tagName!==o||n.typeArguments!==l||n.attributes!==p?r(bh(o,l,p),n):n}function on(n){let o=oe(284);return o.tagName=n,o.transformFlags|=ye(o.tagName)|2,o}function Th(n,o){return n.tagName!==o?r(on(o),n):n}function ep(n,o,l){let p=oe(285);return p.openingFragment=n,p.children=Oe(o),p.closingFragment=l,p.transformFlags|=ye(p.openingFragment)|gt(p.children)|ye(p.closingFragment)|2,p}function Nb(n,o,l,p){return n.openingFragment!==o||n.children!==l||n.closingFragment!==p?r(ep(o,l,p),n):n}function l_(n,o){let l=oe(11);return l.text=n,l.containsOnlyTriviaWhiteSpaces=!!o,l.transformFlags|=2,l}function Ob(n,o,l){return n.text!==o||n.containsOnlyTriviaWhiteSpaces!==l?r(l_(o,l),n):n}function kc(){let n=oe(286);return n.transformFlags|=2,n}function Mb(){let n=oe(287);return n.transformFlags|=2,n}function Sh(n,o){let l=Ve(288);return l.name=n,l.initializer=o,l.transformFlags|=ye(l.name)|ye(l.initializer)|2,l}function Lb(n,o,l){return n.name!==o||n.initializer!==l?r(Sh(o,l),n):n}function xh(n){let o=Ve(289);return o.properties=Oe(n),o.transformFlags|=gt(o.properties)|2,o}function tp(n,o){return n.properties!==o?r(xh(o),n):n}function no(n){let o=oe(290);return o.expression=n,o.transformFlags|=ye(o.expression)|2,o}function Rb(n,o){return n.expression!==o?r(no(o),n):n}function Ic(n,o){let l=oe(291);return l.dotDotDotToken=n,l.expression=o,l.transformFlags|=ye(l.dotDotDotToken)|ye(l.expression)|2,l}function Eh(n,o){return n.expression!==o?r(Ic(n.dotDotDotToken,o),n):n}function wh(n,o){let l=oe(292);return l.expression=s().parenthesizeExpressionForDisallowedComma(n),l.statements=Oe(o),l.transformFlags|=ye(l.expression)|gt(l.statements),l.jsDoc=void 0,l}function rp(n,o,l){return n.expression!==o||n.statements!==l?r(wh(o,l),n):n}function np(n){let o=oe(293);return o.statements=Oe(n),o.transformFlags=gt(o.statements),o}function jb(n,o){return n.statements!==o?r(np(o),n):n}function Ch(n,o){let l=oe(294);switch(l.token=n,l.types=Oe(o),l.transformFlags|=gt(l.types),n){case 94:l.transformFlags|=1024;break;case 117:l.transformFlags|=1;break;default:return Y.assertNever(n)}return l}function Ah(n,o){return n.types!==o?r(Ch(n.token,o),n):n}function ip(n,o){let l=oe(295);return l.variableDeclaration=Xh(n),l.block=o,l.transformFlags|=ye(l.variableDeclaration)|ye(l.block)|(n?0:64),l.locals=void 0,l.nextContainer=void 0,l}function Ph(n,o,l){return n.variableDeclaration!==o||n.block!==l?r(ip(o,l),n):n}function Fa(n,o){let l=Ve(299);return l.name=Qt(n),l.initializer=s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ai(l.name)|ye(l.initializer),l.modifiers=void 0,l.questionToken=void 0,l.exclamationToken=void 0,l.jsDoc=void 0,l}function Jb(n,o,l){return n.name!==o||n.initializer!==l?Fb(Fa(o,l),n):n}function Fb(n,o){return n!==o&&(n.modifiers=o.modifiers,n.questionToken=o.questionToken,n.exclamationToken=o.exclamationToken),r(n,o)}function Dh(n,o){let l=Ve(300);return l.name=Qt(n),l.objectAssignmentInitializer=o&&s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ec(l.name)|ye(l.objectAssignmentInitializer)|1024,l.equalsToken=void 0,l.modifiers=void 0,l.questionToken=void 0,l.exclamationToken=void 0,l.jsDoc=void 0,l}function Bb(n,o,l){return n.name!==o||n.objectAssignmentInitializer!==l?kh(Dh(o,l),n):n}function kh(n,o){return n!==o&&(n.modifiers=o.modifiers,n.questionToken=o.questionToken,n.exclamationToken=o.exclamationToken,n.equalsToken=o.equalsToken),r(n,o)}function ap(n){let o=Ve(301);return o.expression=s().parenthesizeExpressionForDisallowedComma(n),o.transformFlags|=ye(o.expression)|128|65536,o.jsDoc=void 0,o}function ki(n,o){return n.expression!==o?r(ap(o),n):n}function sp(n,o){let l=Ve(302);return l.name=Qt(n),l.initializer=o&&s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ye(l.name)|ye(l.initializer)|1,l.jsDoc=void 0,l}function qb(n,o,l){return n.name!==o||n.initializer!==l?r(sp(o,l),n):n}function Ub(n,o,l){let p=t.createBaseSourceFileNode(308);return p.statements=Oe(n),p.endOfFileToken=o,p.flags|=l,p.text="",p.fileName="",p.path="",p.resolvedPath="",p.originalFileName="",p.languageVersion=0,p.languageVariant=0,p.scriptKind=0,p.isDeclarationFile=!1,p.hasNoDefaultLib=!1,p.transformFlags|=gt(p.statements)|ye(p.endOfFileToken),p.locals=void 0,p.nextContainer=void 0,p.endFlowNode=void 0,p.nodeCount=0,p.identifierCount=0,p.symbolCount=0,p.parseDiagnostics=void 0,p.bindDiagnostics=void 0,p.bindSuggestionDiagnostics=void 0,p.lineMap=void 0,p.externalModuleIndicator=void 0,p.setExternalModuleIndicator=void 0,p.pragmas=void 0,p.checkJsDirective=void 0,p.referencedFiles=void 0,p.typeReferenceDirectives=void 0,p.libReferenceDirectives=void 0,p.amdDependencies=void 0,p.commentDirectives=void 0,p.identifiers=void 0,p.packageJsonLocations=void 0,p.packageJsonScope=void 0,p.imports=void 0,p.moduleAugmentations=void 0,p.ambientModuleNames=void 0,p.resolvedModules=void 0,p.classifiableNames=void 0,p.impliedNodeFormat=void 0,p}function Ih(n){let o=Object.create(n.redirectTarget);return Object.defineProperties(o,{id:{get(){return this.redirectInfo.redirectTarget.id},set(l){this.redirectInfo.redirectTarget.id=l}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(l){this.redirectInfo.redirectTarget.symbol=l}}}),o.redirectInfo=n,o}function Nh(n){let o=Ih(n.redirectInfo);return o.flags|=n.flags&-9,o.fileName=n.fileName,o.path=n.path,o.resolvedPath=n.resolvedPath,o.originalFileName=n.originalFileName,o.packageJsonLocations=n.packageJsonLocations,o.packageJsonScope=n.packageJsonScope,o.emitNode=void 0,o}function op(n){let o=t.createBaseSourceFileNode(308);o.flags|=n.flags&-9;for(let l in n)if(!(Jr(o,l)||!Jr(n,l))){if(l==="emitNode"){o.emitNode=void 0;continue}o[l]=n[l]}return o}function Oh(n){let o=n.redirectInfo?Nh(n):op(n);return Dn(o,n),o}function zb(n,o,l,p,k,V,we){let et=Oh(n);return et.statements=Oe(o),et.isDeclarationFile=l,et.referencedFiles=p,et.typeReferenceDirectives=k,et.hasNoDefaultLib=V,et.libReferenceDirectives=we,et.transformFlags=gt(et.statements)|ye(et.endOfFileToken),et}function Mh(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n.isDeclarationFile,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:n.referencedFiles,k=arguments.length>4&&arguments[4]!==void 0?arguments[4]:n.typeReferenceDirectives,V=arguments.length>5&&arguments[5]!==void 0?arguments[5]:n.hasNoDefaultLib,we=arguments.length>6&&arguments[6]!==void 0?arguments[6]:n.libReferenceDirectives;return n.statements!==o||n.isDeclarationFile!==l||n.referencedFiles!==p||n.typeReferenceDirectives!==k||n.hasNoDefaultLib!==V||n.libReferenceDirectives!==we?r(zb(n,o,l,p,k,V,we),n):n}function Lh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bt,l=oe(309);return l.prepends=o,l.sourceFiles=n,l.syntheticFileReferences=void 0,l.syntheticTypeReferences=void 0,l.syntheticLibReferences=void 0,l.hasNoDefaultLib=void 0,l}function Wb(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bt;return n.sourceFiles!==o||n.prepends!==l?r(Lh(o,l),n):n}function Nc(n,o,l){let p=oe(310);return p.prologues=n,p.syntheticReferences=o,p.texts=l,p.fileName="",p.text="",p.referencedFiles=Bt,p.libReferenceDirectives=Bt,p.getLineAndCharacterOfPosition=k=>Ls(p,k),p}function Oc(n,o){let l=oe(n);return l.data=o,l}function Vb(n){return Oc(303,n)}function Hb(n,o){let l=Oc(304,n);return l.texts=o,l}function Gb(n,o){return Oc(o?306:305,n)}function $b(n){let o=oe(307);return o.data=n.data,o.section=n,o}function Kb(){let n=oe(311);return n.javascriptText="",n.declarationText="",n}function Rh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=arguments.length>2?arguments[2]:void 0,p=oe(234);return p.type=n,p.isSpread=o,p.tupleNameSource=l,p}function jh(n){let o=oe(354);return o._children=n,o}function Jh(n){let o=oe(355);return o.original=n,Rt(o,n),o}function Fh(n,o){let l=oe(356);return l.expression=n,l.original=o,l.transformFlags|=ye(l.expression)|1,Rt(l,o),l}function Bh(n,o){return n.expression!==o?r(Fh(o,n.original),n):n}function qh(n){if(fs(n)&&!pl(n)&&!n.original&&!n.emitNode&&!n.id){if(oc(n))return n.elements;if(ur(n)&&I8(n.operatorToken))return[n.left,n.right]}return n}function Mc(n){let o=oe(357);return o.elements=Oe(at(n,qh)),o.transformFlags|=gt(o.elements),o}function Xb(n,o){return n.elements!==o?r(Mc(o),n):n}function Yb(n){let o=oe(359);return o.emitNode={},o.original=n,o}function Qb(n){let o=oe(358);return o.emitNode={},o.original=n,o}function Uh(n,o){let l=oe(360);return l.expression=n,l.thisArg=o,l.transformFlags|=ye(l.expression)|ye(l.thisArg),l}function _p(n,o,l){return n.expression!==o||n.thisArg!==l?r(Uh(o,l),n):n}function Zb(n){let o=pn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),setIdentifierAutoGenerate(o,Object.assign({},n.emitNode.autoGenerate)),o}function e6(n){let o=pn(n.escapedText);o.flags|=n.flags&-9,o.jsDoc=n.jsDoc,o.flowNode=n.flowNode,o.symbol=n.symbol,o.transformFlags=n.transformFlags,Dn(o,n);let l=getIdentifierTypeArguments(n);return l&&setIdentifierTypeArguments(o,l),o}function t6(n){let o=dn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),setIdentifierAutoGenerate(o,Object.assign({},n.emitNode.autoGenerate)),o}function r6(n){let o=dn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),o}function cp(n){if(n===void 0)return n;if(wi(n))return Oh(n);if(cs(n))return Zb(n);if(yt(n))return e6(n);if(Ny(n))return t6(n);if(vn(n))return r6(n);let o=gl(n.kind)?t.createBaseNode(n.kind):t.createBaseTokenNode(n.kind);o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n);for(let l in n)Jr(o,l)||!Jr(n,l)||(o[l]=n[l]);return o}function n6(n,o,l){return Na(yu(void 0,void 0,void 0,void 0,o?[o]:[],void 0,Zs(n,!0)),void 0,l?[l]:[])}function Lc(n,o,l){return Na(vu(void 0,void 0,o?[o]:[],void 0,void 0,Zs(n,!0)),void 0,l?[l]:[])}function Rc(){return ui(Gt("0"))}function zh(n){return zu(void 0,!1,n)}function i6(n){return na(void 0,!1,to([Vu(!1,void 0,n)]))}function a6(n,o){return o==="undefined"?Ye.createStrictEquality(n,Rc()):Ye.createStrictEquality(mn(n),er(o))}function Ba(n,o,l){return Cy(n)?du(Xs(n,void 0,o),void 0,void 0,l):Na(ta(n,o),void 0,l)}function s6(n,o,l){return Ba(n,"bind",[o,...l])}function o6(n,o,l){return Ba(n,"call",[o,...l])}function _6(n,o,l){return Ba(n,"apply",[o,l])}function io(n,o,l){return Ba(Ut(n),o,l)}function Wh(n,o){return Ba(n,"slice",o===void 0?[]:[za(o)])}function Vh(n,o){return Ba(n,"concat",o)}function u(n,o,l){return io("Object","defineProperty",[n,za(o),l])}function b(n,o){return io("Object","getOwnPropertyDescriptor",[n,za(o)])}function O(n,o,l){return io("Reflect","get",l?[n,o,l]:[n,o])}function j(n,o,l,p){return io("Reflect","set",p?[n,o,l,p]:[n,o,l])}function z(n,o,l){return l?(n.push(Fa(o,l)),!0):!1}function re(n,o){let l=[];z(l,"enumerable",za(n.enumerable)),z(l,"configurable",za(n.configurable));let p=z(l,"writable",za(n.writable));p=z(l,"value",n.value)||p;let k=z(l,"get",n.get);return k=z(l,"set",n.set)||k,Y.assert(!(p&&k),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),r_(l,!o)}function Ee(n,o){switch(n.kind){case 214:return qd(n,o);case 213:return Bd(n,n.type,o);case 231:return Zd(n,o,n.type);case 235:return Pu(n,o,n.type);case 232:return Au(n,o);case 356:return Bh(n,o)}}function qe(n){return qo(n)&&fs(n)&&fs(getSourceMapRange(n))&&fs(getCommentRange(n))&&!Ke(getSyntheticLeadingComments(n))&&!Ke(getSyntheticTrailingComments(n))}function We(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:15;return n&&yd(n,l)&&!qe(n)?Ee(n,We(n.expression,o)):o}function $e(n,o,l){if(!o)return n;let p=ym(o,o.label,tE(o.statement)?$e(n,o.statement):n);return l&&l(o),p}function lt(n,o){let l=Pl(n);switch(l.kind){case 79:return o;case 108:case 8:case 9:case 10:return!1;case 206:return l.elements.length!==0;case 207:return l.properties.length>0;default:return!0}}function Jt(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,k=$o(n,15),V,we;return Sf(k)?(V=Or(),we=k):nd(k)?(V=Or(),we=l!==void 0&&l<2?Rt(Ut("_super"),k):k):xi(k)&8192?(V=Rc(),we=s().parenthesizeLeftSideOfAccess(k,!1)):bn(k)?lt(k.expression,p)?(V=kn(o),we=ta(Rt(Ye.createAssignment(V,k.expression),k.expression),k.name),Rt(we,k)):(V=k.expression,we=k):gs(k)?lt(k.expression,p)?(V=kn(o),we=pu(Rt(Ye.createAssignment(V,k.expression),k.expression),k.argumentExpression),Rt(we,k)):(V=k.expression,we=k):(V=Rc(),we=s().parenthesizeLeftSideOfAccess(n,!1)),{target:we,thisArg:V}}function Lt(n,o){return ta(gu(r_([ci(void 0,"value",[$n(void 0,void 0,n,void 0,void 0,void 0)],Zs([a_(o)]))])),"value")}function At(n){return n.length>10?Mc(n):Qa(n,Ye.createComma)}function kr(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,k=ml(n);if(k&&yt(k)&&!cs(k)){let V=Sa(Rt(cp(k),k),k.parent);return p|=xi(k),l||(p|=96),o||(p|=3072),p&&setEmitFlags(V,p),V}return $i(n)}function Fn(n,o,l){return kr(n,o,l,98304)}function di(n,o,l){return kr(n,o,l,32768)}function Ii(n,o,l){return kr(n,o,l,16384)}function _n(n,o,l){return kr(n,o,l)}function qa(n,o,l,p){let k=ta(n,fs(o)?o:cp(o));Rt(k,o);let V=0;return p||(V|=96),l||(V|=3072),V&&setEmitFlags(k,V),k}function Hh(n,o,l,p){return n&&rn(o,1)?qa(n,kr(o),l,p):Ii(o,l,p)}function lp(n,o,l,p){let k=Ua(n,o,0,l);return up(n,o,k,p)}function Gh(n){return Gn(n.expression)&&n.expression.text==="use strict"}function wn(){return vd(a_(er("use strict")))}function Ua(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,p=arguments.length>3?arguments[3]:void 0;Y.assert(o.length===0,"Prologue directives should be at the first statement in the target statements array");let k=!1,V=n.length;for(;l4&&arguments[4]!==void 0?arguments[4]:vp,V=n.length;for(;l!==void 0&&let&&hn.splice(k,0,...o.slice(et,mt)),et>we&&hn.splice(p,0,...o.slice(we,et)),we>V&&hn.splice(l,0,...o.slice(V,we)),V>0)if(l===0)hn.splice(0,0,...o.slice(0,V));else{let Ni=new Map;for(let ia=0;ia=0;ia--){let Oi=o[ia];Ni.has(Oi.expression.text)||hn.unshift(Oi)}}return _s(n)?Rt(Oe(hn,n.hasTrailingComma),n):n}function Kh(n,o){var l;let p;return typeof o=="number"?p=$r(o):p=o,Fo(n)?wa(n,p,n.name,n.constraint,n.default):Vs(n)?Ki(n,p,n.dotDotDotToken,n.name,n.questionToken,n.type,n.initializer):G2(n)?bt(n,p,n.typeParameters,n.parameters,n.type):Wl(n)?St(n,p,n.name,n.questionToken,n.type):Bo(n)?_t(n,p,n.name,(l=n.questionToken)!=null?l:n.exclamationToken,n.type,n.initializer):L8(n)?Kt(n,p,n.name,n.questionToken,n.typeParameters,n.parameters,n.type):Vl(n)?xe(n,p,n.asteriskToken,n.name,n.questionToken,n.typeParameters,n.parameters,n.type,n.body):nc(n)?It(n,p,n.parameters,n.body):Gl(n)?Ln(n,p,n.name,n.parameters,n.type,n.body):ic(n)?Xi(n,p,n.name,n.parameters,n.body):H2(n)?bs(n,p,n.parameters,n.type):ad(n)?Ud(n,p,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body):sd(n)?zd(n,p,n.typeParameters,n.parameters,n.type,n.equalsGreaterThanToken,n.body):_d(n)?xc(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):zo(n)?om(n,p,n.declarationList):Wo(n)?ju(n,p,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body):_c(n)?Ju(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):eu(n)?Cm(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):nv(n)?Ma(n,p,n.name,n.typeParameters,n.type):iv(n)?La(n,p,n.name,n.members):Ea(n)?Sr(n,p,n.name,n.body):sv(n)?Nm(n,p,n.isTypeOnly,n.name,n.moduleReference):ov(n)?Mm(n,p,n.importClause,n.moduleSpecifier,n.assertClause):Vo(n)?Wu(n,p,n.expression):cc(n)?Wm(n,p,n.isTypeOnly,n.exportClause,n.moduleSpecifier,n.assertClause):Y.assertNever(n)}function xt(n){return n?Oe(n):void 0}function Qt(n){return typeof n=="string"?Ut(n):n}function za(n){return typeof n=="string"?er(n):typeof n=="number"?Gt(n):typeof n=="boolean"?n?ar():oi():n}function Wa(n){return n&&s().parenthesizeExpressionForDisallowedComma(n)}function c6(n){return typeof n=="number"?pr(n):n}function Yn(n){return n&&cv(n)?Rt(Dn(Du(),n),n):n}function Xh(n){return typeof n=="string"||n&&!Vi(n)?Cc(n,void 0,void 0,void 0):n}}function ML(e,t){return e!==t&&Rt(e,t),e}function LL(e,t){return e!==t&&(Dn(e,t),Rt(e,t)),e}function ed(e){switch(e){case 347:return"type";case 345:return"returns";case 346:return"this";case 343:return"enum";case 333:return"author";case 335:return"class";case 336:return"public";case 337:return"private";case 338:return"protected";case 339:return"readonly";case 340:return"override";case 348:return"template";case 349:return"typedef";case 344:return"param";case 351:return"prop";case 341:return"callback";case 342:return"overload";case 331:return"augments";case 332:return"implements";default:return Y.fail(`Unsupported kind: ${Y.formatSyntaxKind(e)}`)}}function RL(e,t){switch(Hn||(Hn=Po(99,!1,0)),e){case 14:Hn.setText("`"+t+"`");break;case 15:Hn.setText("`"+t+"${");break;case 16:Hn.setText("}"+t+"${");break;case 17:Hn.setText("}"+t+"`");break}let r=Hn.scan();if(r===19&&(r=Hn.reScanTemplateToken(!1)),Hn.isUnterminated())return Hn.setText(void 0),q2;let s;switch(r){case 14:case 15:case 16:case 17:s=Hn.getTokenValue();break}return s===void 0||Hn.scan()!==1?(Hn.setText(void 0),q2):(Hn.setText(void 0),s)}function ai(e){return e&&yt(e)?ec(e):ye(e)}function ec(e){return ye(e)&-67108865}function jL(e,t){return t|e.transformFlags&134234112}function ye(e){if(!e)return 0;let t=e.transformFlags&~w8(e.kind);return af(e)&&vl(e.name)?jL(e.name,t):t}function gt(e){return e?e.transformFlags:0}function E8(e){let t=0;for(let r of e)t|=ye(r);e.transformFlags=t}function w8(e){if(e>=179&&e<=202)return-2;switch(e){case 210:case 211:case 206:return-2147450880;case 264:return-1941676032;case 166:return-2147483648;case 216:return-2072174592;case 215:case 259:return-1937940480;case 258:return-2146893824;case 260:case 228:return-2147344384;case 173:return-1937948672;case 169:return-2013249536;case 171:case 174:case 175:return-2005057536;case 131:case 148:case 160:case 144:case 152:case 149:case 134:case 153:case 114:case 165:case 168:case 170:case 176:case 177:case 178:case 261:case 262:return-2;case 207:return-2147278848;case 295:return-2147418112;case 203:case 204:return-2147450880;case 213:case 235:case 231:case 356:case 214:case 106:return-2147483648;case 208:case 209:return-2147483648;default:return-2147483648}}function Fl(e){return e.flags|=8,e}function JL(e,t,r){let s,f,x,w,A,g,B,N,X,F;Ji(e)?(x="",w=e,A=e.length,g=t,B=r):(Y.assert(t==="js"||t==="dts"),x=(t==="js"?e.javascriptPath:e.declarationPath)||"",g=t==="js"?e.javascriptMapPath:e.declarationMapPath,N=()=>t==="js"?e.javascriptText:e.declarationText,X=()=>t==="js"?e.javascriptMapText:e.declarationMapText,A=()=>N().length,e.buildInfo&&e.buildInfo.bundle&&(Y.assert(r===void 0||typeof r=="boolean"),s=r,f=t==="js"?e.buildInfo.bundle.js:e.buildInfo.bundle.dts,F=e.oldFileOfCurrentEmit));let $=F?BL(Y.checkDefined(f)):FL(f,s,A);return $.fileName=x,$.sourceMapPath=g,$.oldFileOfCurrentEmit=F,N&&X?(Object.defineProperty($,"text",{get:N}),Object.defineProperty($,"sourceMapText",{get:X})):(Y.assert(!F),$.text=w!=null?w:"",$.sourceMapText=B),$}function FL(e,t,r){let s,f,x,w,A,g,B,N;for(let F of e?e.sections:Bt)switch(F.kind){case"prologue":s=tr(s,Rt(si.createUnparsedPrologue(F.data),F));break;case"emitHelpers":f=tr(f,getAllUnscopedEmitHelpers().get(F.data));break;case"no-default-lib":N=!0;break;case"reference":x=tr(x,{pos:-1,end:-1,fileName:F.data});break;case"type":w=tr(w,{pos:-1,end:-1,fileName:F.data});break;case"type-import":w=tr(w,{pos:-1,end:-1,fileName:F.data,resolutionMode:99});break;case"type-require":w=tr(w,{pos:-1,end:-1,fileName:F.data,resolutionMode:1});break;case"lib":A=tr(A,{pos:-1,end:-1,fileName:F.data});break;case"prepend":let $;for(let ae of F.texts)(!t||ae.kind!=="internal")&&($=tr($,Rt(si.createUnparsedTextLike(ae.data,ae.kind==="internal"),ae)));g=jr(g,$),B=tr(B,si.createUnparsedPrepend(F.data,$!=null?$:Bt));break;case"internal":if(t){B||(B=[]);break}case"text":B=tr(B,Rt(si.createUnparsedTextLike(F.data,F.kind==="internal"),F));break;default:Y.assertNever(F)}if(!B){let F=si.createUnparsedTextLike(void 0,!1);$f(F,0,typeof r=="function"?r():r),B=[F]}let X=dc.createUnparsedSource(s!=null?s:Bt,void 0,B);return Q_(s,X),Q_(B,X),Q_(g,X),X.hasNoDefaultLib=N,X.helpers=f,X.referencedFiles=x||Bt,X.typeReferenceDirectives=w,X.libReferenceDirectives=A||Bt,X}function BL(e){let t,r;for(let f of e.sections)switch(f.kind){case"internal":case"text":t=tr(t,Rt(si.createUnparsedTextLike(f.data,f.kind==="internal"),f));break;case"no-default-lib":case"reference":case"type":case"type-import":case"type-require":case"lib":r=tr(r,Rt(si.createUnparsedSyntheticReference(f),f));break;case"prologue":case"emitHelpers":case"prepend":break;default:Y.assertNever(f)}let s=si.createUnparsedSource(Bt,r,t!=null?t:Bt);return Q_(r,s),Q_(t,s),s.helpers=Ze(e.sources&&e.sources.helpers,f=>getAllUnscopedEmitHelpers().get(f)),s}function qL(e,t,r,s,f,x){return Ji(e)?A8(void 0,e,r,s,void 0,t,f,x):C8(e,t,r,s,f,x)}function C8(e,t,r,s,f,x,w,A){let g=dc.createInputFiles();g.javascriptPath=t,g.javascriptMapPath=r,g.declarationPath=s,g.declarationMapPath=f,g.buildInfoPath=x;let B=new Map,N=ae=>{if(ae===void 0)return;let Te=B.get(ae);return Te===void 0&&(Te=e(ae),B.set(ae,Te!==void 0?Te:!1)),Te!==!1?Te:void 0},X=ae=>{let Te=N(ae);return Te!==void 0?Te:`/* Input file ${ae} was missing */\r -`},F;return Object.defineProperties(g,{javascriptText:{get:()=>X(t)},javascriptMapText:{get:()=>N(r)},declarationText:{get:()=>X(Y.checkDefined(s))},declarationMapText:{get:()=>N(f)},buildInfo:{get:()=>{var ae,Te;if(F===void 0&&x)if(w!=null&&w.getBuildInfo)F=(ae=w.getBuildInfo(x,A.configFilePath))!=null?ae:!1;else{let Se=N(x);F=Se!==void 0&&(Te=getBuildInfo(x,Se))!=null?Te:!1}return F||void 0}}}),g}function A8(e,t,r,s,f,x,w,A,g,B,N){let X=dc.createInputFiles();return X.javascriptPath=e,X.javascriptText=t,X.javascriptMapPath=r,X.javascriptMapText=s,X.declarationPath=f,X.declarationText=x,X.declarationMapPath=w,X.declarationMapText=A,X.buildInfoPath=g,X.buildInfo=B,X.oldFileOfCurrentEmit=N,X}function UL(e,t,r){return new(D8||(D8=lr.getSourceMapSourceConstructor()))(e,t,r)}function Dn(e,t){if(e.original=t,t){let r=t.emitNode;r&&(e.emitNode=zL(r,e.emitNode))}return e}function zL(e,t){let{flags:r,internalFlags:s,leadingComments:f,trailingComments:x,commentRange:w,sourceMapRange:A,tokenSourceMapRanges:g,constantValue:B,helpers:N,startsOnNewLine:X,snippetElement:F}=e;if(t||(t={}),f&&(t.leadingComments=jr(f.slice(),t.leadingComments)),x&&(t.trailingComments=jr(x.slice(),t.trailingComments)),r&&(t.flags=r),s&&(t.internalFlags=s&-9),w&&(t.commentRange=w),A&&(t.sourceMapRange=A),g&&(t.tokenSourceMapRanges=WL(g,t.tokenSourceMapRanges)),B!==void 0&&(t.constantValue=B),N)for(let $ of N)t.helpers=g_(t.helpers,$);return X!==void 0&&(t.startsOnNewLine=X),F!==void 0&&(t.snippetElement=F),t}function WL(e,t){t||(t=[]);for(let r in e)t[r]=e[r];return t}var Bl,F2,B2,Hn,q2,tc,P8,si,D8,VL=D({"src/compiler/factory/nodeFactory.ts"(){"use strict";nn(),Bl=0,F2=(e=>(e[e.None=0]="None",e[e.NoParenthesizerRules=1]="NoParenthesizerRules",e[e.NoNodeConverters=2]="NoNodeConverters",e[e.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",e[e.NoOriginalNode=8]="NoOriginalNode",e))(F2||{}),B2=[],q2={},tc=S8(),P8={createBaseSourceFileNode:e=>Fl(tc.createBaseSourceFileNode(e)),createBaseIdentifierNode:e=>Fl(tc.createBaseIdentifierNode(e)),createBasePrivateIdentifierNode:e=>Fl(tc.createBasePrivateIdentifierNode(e)),createBaseTokenNode:e=>Fl(tc.createBaseTokenNode(e)),createBaseNode:e=>Fl(tc.createBaseNode(e))},si=Zf(4,P8)}}),HL=()=>{},GL=()=>{};function zs(e){return e.kind===8}function U2(e){return e.kind===9}function Gn(e){return e.kind===10}function td(e){return e.kind===11}function $L(e){return e.kind===13}function k8(e){return e.kind===14}function KL(e){return e.kind===15}function XL(e){return e.kind===16}function YL(e){return e.kind===17}function QL(e){return e.kind===25}function I8(e){return e.kind===27}function z2(e){return e.kind===39}function W2(e){return e.kind===40}function ZL(e){return e.kind===41}function rd(e){return e.kind===53}function ql(e){return e.kind===57}function eR(e){return e.kind===58}function tR(e){return e.kind===28}function rR(e){return e.kind===38}function yt(e){return e.kind===79}function vn(e){return e.kind===80}function N8(e){return e.kind===93}function nR(e){return e.kind===88}function Ul(e){return e.kind===132}function iR(e){return e.kind===129}function aR(e){return e.kind===133}function O8(e){return e.kind===146}function sR(e){return e.kind===124}function oR(e){return e.kind===126}function _R(e){return e.kind===161}function cR(e){return e.kind===127}function nd(e){return e.kind===106}function M8(e){return e.kind===100}function lR(e){return e.kind===82}function rc(e){return e.kind===163}function Ws(e){return e.kind===164}function Fo(e){return e.kind===165}function Vs(e){return e.kind===166}function zl(e){return e.kind===167}function Wl(e){return e.kind===168}function Bo(e){return e.kind===169}function L8(e){return e.kind===170}function Vl(e){return e.kind===171}function Hl(e){return e.kind===172}function nc(e){return e.kind===173}function Gl(e){return e.kind===174}function ic(e){return e.kind===175}function V2(e){return e.kind===176}function R8(e){return e.kind===177}function H2(e){return e.kind===178}function j8(e){return e.kind===179}function ac(e){return e.kind===180}function $l(e){return e.kind===181}function G2(e){return e.kind===182}function J8(e){return e.kind===183}function id(e){return e.kind===184}function F8(e){return e.kind===185}function B8(e){return e.kind===186}function $2(e){return e.kind===199}function q8(e){return e.kind===187}function U8(e){return e.kind===188}function z8(e){return e.kind===189}function W8(e){return e.kind===190}function V8(e){return e.kind===191}function H8(e){return e.kind===192}function K2(e){return e.kind===193}function X2(e){return e.kind===194}function G8(e){return e.kind===195}function $8(e){return e.kind===196}function K8(e){return e.kind===197}function Y2(e){return e.kind===198}function Kl(e){return e.kind===202}function uR(e){return e.kind===201}function pR(e){return e.kind===200}function fR(e){return e.kind===203}function dR(e){return e.kind===204}function Xl(e){return e.kind===205}function Yl(e){return e.kind===206}function Hs(e){return e.kind===207}function bn(e){return e.kind===208}function gs(e){return e.kind===209}function sc(e){return e.kind===210}function X8(e){return e.kind===211}function Y8(e){return e.kind===212}function mR(e){return e.kind===213}function qo(e){return e.kind===214}function ad(e){return e.kind===215}function sd(e){return e.kind===216}function hR(e){return e.kind===217}function gR(e){return e.kind===218}function Q2(e){return e.kind===219}function yR(e){return e.kind===220}function od(e){return e.kind===221}function Q8(e){return e.kind===222}function ur(e){return e.kind===223}function vR(e){return e.kind===224}function bR(e){return e.kind===225}function TR(e){return e.kind===226}function Z2(e){return e.kind===227}function _d(e){return e.kind===228}function cd(e){return e.kind===229}function ev(e){return e.kind===230}function SR(e){return e.kind===231}function xR(e){return e.kind===235}function Uo(e){return e.kind===232}function tv(e){return e.kind===233}function ER(e){return e.kind===234}function Z8(e){return e.kind===356}function oc(e){return e.kind===357}function wR(e){return e.kind===236}function CR(e){return e.kind===237}function Ql(e){return e.kind===238}function zo(e){return e.kind===240}function AR(e){return e.kind===239}function Zl(e){return e.kind===241}function PR(e){return e.kind===242}function DR(e){return e.kind===243}function kR(e){return e.kind===244}function eE(e){return e.kind===245}function IR(e){return e.kind===246}function NR(e){return e.kind===247}function OR(e){return e.kind===248}function MR(e){return e.kind===249}function LR(e){return e.kind===250}function RR(e){return e.kind===251}function jR(e){return e.kind===252}function tE(e){return e.kind===253}function JR(e){return e.kind===254}function FR(e){return e.kind===255}function BR(e){return e.kind===256}function Vi(e){return e.kind===257}function rv(e){return e.kind===258}function Wo(e){return e.kind===259}function _c(e){return e.kind===260}function eu(e){return e.kind===261}function nv(e){return e.kind===262}function iv(e){return e.kind===263}function Ea(e){return e.kind===264}function rE(e){return e.kind===265}function qR(e){return e.kind===266}function av(e){return e.kind===267}function sv(e){return e.kind===268}function ov(e){return e.kind===269}function UR(e){return e.kind===270}function zR(e){return e.kind===298}function WR(e){return e.kind===296}function VR(e){return e.kind===297}function _v(e){return e.kind===271}function ld(e){return e.kind===277}function HR(e){return e.kind===272}function nE(e){return e.kind===273}function Vo(e){return e.kind===274}function cc(e){return e.kind===275}function iE(e){return e.kind===276}function aE(e){return e.kind===278}function GR(e){return e.kind===279}function cv(e){return e.kind===355}function $R(e){return e.kind===360}function KR(e){return e.kind===358}function XR(e){return e.kind===359}function ud(e){return e.kind===280}function lv(e){return e.kind===281}function YR(e){return e.kind===282}function tu(e){return e.kind===283}function sE(e){return e.kind===284}function pd(e){return e.kind===285}function uv(e){return e.kind===286}function QR(e){return e.kind===287}function ZR(e){return e.kind===288}function pv(e){return e.kind===289}function ej(e){return e.kind===290}function tj(e){return e.kind===291}function rj(e){return e.kind===292}function oE(e){return e.kind===293}function ru(e){return e.kind===294}function nj(e){return e.kind===295}function lc(e){return e.kind===299}function nu(e){return e.kind===300}function _E(e){return e.kind===301}function cE(e){return e.kind===302}function ij(e){return e.kind===304}function wi(e){return e.kind===308}function aj(e){return e.kind===309}function sj(e){return e.kind===310}function lE(e){return e.kind===312}function fd(e){return e.kind===313}function uc(e){return e.kind===314}function oj(e){return e.kind===327}function _j(e){return e.kind===328}function cj(e){return e.kind===329}function lj(e){return e.kind===315}function uj(e){return e.kind===316}function uE(e){return e.kind===317}function pj(e){return e.kind===318}function fj(e){return e.kind===319}function dd(e){return e.kind===320}function dj(e){return e.kind===321}function mj(e){return e.kind===322}function Ho(e){return e.kind===323}function fv(e){return e.kind===325}function iu(e){return e.kind===326}function md(e){return e.kind===331}function hj(e){return e.kind===333}function pE(e){return e.kind===335}function gj(e){return e.kind===341}function dv(e){return e.kind===336}function mv(e){return e.kind===337}function hv(e){return e.kind===338}function gv(e){return e.kind===339}function fE(e){return e.kind===340}function yv(e){return e.kind===342}function vv(e){return e.kind===334}function yj(e){return e.kind===350}function dE(e){return e.kind===343}function pc(e){return e.kind===344}function bv(e){return e.kind===345}function mE(e){return e.kind===346}function au(e){return e.kind===347}function Go(e){return e.kind===348}function vj(e){return e.kind===349}function bj(e){return e.kind===330}function Tj(e){return e.kind===351}function hE(e){return e.kind===332}function Tv(e){return e.kind===353}function Sj(e){return e.kind===352}function xj(e){return e.kind===354}var Ej=D({"src/compiler/factory/nodeTests.ts"(){"use strict";nn()}});function wj(e){return e.createExportDeclaration(void 0,!1,e.createNamedExports([]),void 0)}function hd(e,t,r,s){if(Ws(r))return Rt(e.createElementAccessExpression(t,r.expression),s);{let f=Rt(js(r)?e.createPropertyAccessExpression(t,r):e.createElementAccessExpression(t,r),r);return addEmitFlags(f,128),f}}function Sv(e,t){let r=dc.createIdentifier(e||"React");return Sa(r,fl(t)),r}function xv(e,t,r){if(rc(t)){let s=xv(e,t.left,r),f=e.createIdentifier(qr(t.right));return f.escapedText=t.right.escapedText,e.createPropertyAccessExpression(s,f)}else return Sv(qr(t),r)}function gE(e,t,r,s){return t?xv(e,t,s):e.createPropertyAccessExpression(Sv(r,s),"createElement")}function Cj(e,t,r,s){return t?xv(e,t,s):e.createPropertyAccessExpression(Sv(r,s),"Fragment")}function Aj(e,t,r,s,f,x){let w=[r];if(s&&w.push(s),f&&f.length>0)if(s||w.push(e.createNull()),f.length>1)for(let A of f)vd(A),w.push(A);else w.push(f[0]);return Rt(e.createCallExpression(t,void 0,w),x)}function Pj(e,t,r,s,f,x,w){let g=[Cj(e,r,s,x),e.createNull()];if(f&&f.length>0)if(f.length>1)for(let B of f)vd(B),g.push(B);else g.push(f[0]);return Rt(e.createCallExpression(gE(e,t,s,x),void 0,g),w)}function Dj(e,t,r){if(rv(t)){let s=fo(t.declarations),f=e.updateVariableDeclaration(s,s.name,void 0,void 0,r);return Rt(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[f])),t)}else{let s=Rt(e.createAssignment(t,r),t);return Rt(e.createExpressionStatement(s),t)}}function kj(e,t,r){return Ql(t)?e.updateBlock(t,Rt(e.createNodeArray([r,...t.statements]),t.statements)):e.createBlock(e.createNodeArray([t,r]),!0)}function yE(e,t){if(rc(t)){let r=yE(e,t.left),s=Sa(Rt(e.cloneNode(t.right),t.right),t.right.parent);return Rt(e.createPropertyAccessExpression(r,s),t)}else return Sa(Rt(e.cloneNode(t),t),t.parent)}function vE(e,t){return yt(t)?e.createStringLiteralFromNode(t):Ws(t)?Sa(Rt(e.cloneNode(t.expression),t.expression),t.expression.parent):Sa(Rt(e.cloneNode(t),t),t.parent)}function Ij(e,t,r,s,f){let{firstAccessor:x,getAccessor:w,setAccessor:A}=W0(t,r);if(r===x)return Rt(e.createObjectDefinePropertyCall(s,vE(e,r.name),e.createPropertyDescriptor({enumerable:e.createFalse(),configurable:!0,get:w&&Rt(Dn(e.createFunctionExpression(sf(w),void 0,void 0,void 0,w.parameters,void 0,w.body),w),w),set:A&&Rt(Dn(e.createFunctionExpression(sf(A),void 0,void 0,void 0,A.parameters,void 0,A.body),A),A)},!f)),x)}function Nj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),t.initializer),t),t)}function Oj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),e.cloneNode(t.name)),t),t)}function Mj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),Dn(Rt(e.createFunctionExpression(sf(t),t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t)}function Lj(e,t,r,s){switch(r.name&&vn(r.name)&&Y.failBadSyntaxKind(r.name,"Private identifiers are not allowed in object literals."),r.kind){case 174:case 175:return Ij(e,t.properties,r,s,!!t.multiLine);case 299:return Nj(e,r,s);case 300:return Oj(e,r,s);case 171:return Mj(e,r,s)}}function Rj(e,t,r,s,f){let x=t.operator;Y.assert(x===45||x===46,"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");let w=e.createTempVariable(s);r=e.createAssignment(w,r),Rt(r,t.operand);let A=od(t)?e.createPrefixUnaryExpression(x,w):e.createPostfixUnaryExpression(w,x);return Rt(A,t),f&&(A=e.createAssignment(f,A),Rt(A,t)),r=e.createComma(r,A),Rt(r,t),Q8(t)&&(r=e.createComma(r,w),Rt(r,t)),r}function jj(e){return(xi(e)&65536)!==0}function Ev(e){return(xi(e)&32768)!==0}function Jj(e){return(xi(e)&16384)!==0}function bE(e){return Gn(e.expression)&&e.expression.text==="use strict"}function TE(e){for(let t of e)if(us(t)){if(bE(t))return t}else break}function SE(e){let t=pa(e);return t!==void 0&&us(t)&&bE(t)}function gd(e){return e.kind===223&&e.operatorToken.kind===27}function Fj(e){return gd(e)||oc(e)}function xE(e){return qo(e)&&Pr(e)&&!!_f(e)}function Bj(e){let t=cf(e);return Y.assertIsDefined(t),t}function yd(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;switch(e.kind){case 214:return t&16&&xE(e)?!1:(t&1)!==0;case 213:case 231:case 230:case 235:return(t&2)!==0;case 232:return(t&4)!==0;case 356:return(t&8)!==0}return!1}function $o(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;for(;yd(e,t);)e=e.expression;return e}function qj(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15,r=e.parent;for(;yd(r,t);)r=r.parent,Y.assert(r);return r}function Uj(e){return $o(e,6)}function vd(e){return setStartsOnNewLine(e,!0)}function EE(e){let t=ul(e,wi),r=t&&t.emitNode;return r&&r.externalHelpersModuleName}function zj(e){let t=ul(e,wi),r=t&&t.emitNode;return!!r&&(!!r.externalHelpersModuleName||!!r.externalHelpers)}function Wj(e,t,r,s,f,x,w){if(s.importHelpers&&Yy(r,s)){let A,g=Ei(s);if(g>=5&&g<=99||r.impliedNodeFormat===99){let B=getEmitHelpers(r);if(B){let N=[];for(let X of B)if(!X.scoped){let F=X.importName;F&&qn(N,F)}if(Ke(N)){N.sort(ri),A=e.createNamedImports(Ze(N,$=>mS(r,$)?e.createImportSpecifier(!1,void 0,e.createIdentifier($)):e.createImportSpecifier(!1,e.createIdentifier($),t.getUnscopedHelperName($))));let X=ul(r,wi),F=getOrCreateEmitNode(X);F.externalHelpers=!0}}}else{let B=wE(e,r,s,f,x||w);B&&(A=e.createNamespaceImport(B))}if(A){let B=e.createImportDeclaration(void 0,e.createImportClause(!1,void 0,A),e.createStringLiteral(Kf),void 0);return addInternalEmitFlags(B,2),B}}}function wE(e,t,r,s,f){if(r.importHelpers&&Yy(t,r)){let x=EE(t);if(x)return x;let w=Ei(r),A=(s||o2(r)&&f)&&w!==4&&(w<5||t.impliedNodeFormat===1);if(!A){let g=getEmitHelpers(t);if(g){for(let B of g)if(!B.scoped){A=!0;break}}}if(A){let g=ul(t,wi),B=getOrCreateEmitNode(g);return B.externalHelpersModuleName||(B.externalHelpersModuleName=e.createUniqueName(Kf))}}}function Vj(e,t,r){let s=QS(t);if(s&&!ZS(t)&&!bS(t)){let f=s.name;return cs(f)?f:e.createIdentifier(No(r,f)||qr(f))}if(t.kind===269&&t.importClause||t.kind===275&&t.moduleSpecifier)return e.getGeneratedNameForNode(t)}function Hj(e,t,r,s,f,x){let w=E0(t);if(w&&Gn(w))return $j(t,s,e,f,x)||Gj(e,w,r)||e.cloneNode(w)}function Gj(e,t,r){let s=r.renamedDependencies&&r.renamedDependencies.get(t.text);return s?e.createStringLiteral(s):void 0}function CE(e,t,r,s){if(t){if(t.moduleName)return e.createStringLiteral(t.moduleName);if(!t.isDeclarationFile&&B0(s))return e.createStringLiteral(F0(r,t.fileName))}}function $j(e,t,r,s,f){return CE(r,s.getExternalModuleFileFromDeclaration(e),t,f)}function AE(e){if(Fy(e))return e.initializer;if(lc(e)){let t=e.initializer;return ms(t,!0)?t.right:void 0}if(nu(e))return e.objectAssignmentInitializer;if(ms(e,!0))return e.right;if(Z2(e))return AE(e.expression)}function Ko(e){if(Fy(e))return e.name;if(jy(e)){switch(e.kind){case 299:return Ko(e.initializer);case 300:return e.name;case 301:return Ko(e.expression)}return}return ms(e,!0)?Ko(e.left):Z2(e)?Ko(e.expression):e}function Kj(e){switch(e.kind){case 166:case 205:return e.dotDotDotToken;case 227:case 301:return e}}function Xj(e){let t=PE(e);return Y.assert(!!t||_E(e),"Invalid property name for binding element."),t}function PE(e){switch(e.kind){case 205:if(e.propertyName){let r=e.propertyName;return vn(r)?Y.failBadSyntaxKind(r):Ws(r)&&DE(r.expression)?r.expression:r}break;case 299:if(e.name){let r=e.name;return vn(r)?Y.failBadSyntaxKind(r):Ws(r)&&DE(r.expression)?r.expression:r}break;case 301:return e.name&&vn(e.name)?Y.failBadSyntaxKind(e.name):e.name}let t=Ko(e);if(t&&vl(t))return t}function DE(e){let t=e.kind;return t===10||t===8}function kE(e){switch(e.kind){case 203:case 204:case 206:return e.elements;case 207:return e.properties}}function wv(e){if(e){let t=e;for(;;){if(yt(t)||!t.body)return yt(t)?t:t.name;t=t.body}}}function Yj(e){let t=e.kind;return t===173||t===175}function IE(e){let t=e.kind;return t===173||t===174||t===175}function Qj(e){let t=e.kind;return t===299||t===300||t===259||t===173||t===178||t===172||t===279||t===240||t===261||t===262||t===263||t===264||t===268||t===269||t===267||t===275||t===274}function Zj(e){let t=e.kind;return t===172||t===299||t===300||t===279||t===267}function eJ(e){return ql(e)||rd(e)}function tJ(e){return yt(e)||X2(e)}function rJ(e){return O8(e)||z2(e)||W2(e)}function nJ(e){return ql(e)||z2(e)||W2(e)}function iJ(e){return yt(e)||Gn(e)}function aJ(e){let t=e.kind;return t===104||t===110||t===95||Iy(e)||od(e)}function sJ(e){return e===42}function oJ(e){return e===41||e===43||e===44}function _J(e){return sJ(e)||oJ(e)}function cJ(e){return e===39||e===40}function lJ(e){return cJ(e)||_J(e)}function uJ(e){return e===47||e===48||e===49}function pJ(e){return uJ(e)||lJ(e)}function fJ(e){return e===29||e===32||e===31||e===33||e===102||e===101}function dJ(e){return fJ(e)||pJ(e)}function mJ(e){return e===34||e===36||e===35||e===37}function hJ(e){return mJ(e)||dJ(e)}function gJ(e){return e===50||e===51||e===52}function yJ(e){return gJ(e)||hJ(e)}function vJ(e){return e===55||e===56}function bJ(e){return vJ(e)||yJ(e)}function TJ(e){return e===60||bJ(e)||G_(e)}function SJ(e){return TJ(e)||e===27}function xJ(e){return SJ(e.kind)}function EJ(e,t,r,s,f,x){let w=new OE(e,t,r,s,f,x);return A;function A(g,B){let N={value:void 0},X=[Td.enter],F=[g],$=[void 0],ae=0;for(;X[ae]!==Td.done;)ae=X[ae](w,ae,X,F,$,N,B);return Y.assertEqual(ae,0),N.value}}function NE(e){return e===93||e===88}function wJ(e){let t=e.kind;return NE(t)}function CJ(e){let t=e.kind;return Wi(t)&&!NE(t)}function AJ(e,t){if(t!==void 0)return t.length===0?t:Rt(e.createNodeArray([],t.hasTrailingComma),t)}function PJ(e){var t;let r=e.emitNode.autoGenerate;if(r.flags&4){let s=r.id,f=e,x=f.original;for(;x;){f=x;let w=(t=f.emitNode)==null?void 0:t.autoGenerate;if(js(f)&&(w===void 0||w.flags&4&&w.id!==s))break;x=f.original}return f}return e}function Cv(e,t){return typeof e=="object"?bd(!1,e.prefix,e.node,e.suffix,t):typeof e=="string"?e.length>0&&e.charCodeAt(0)===35?e.slice(1):e:""}function DJ(e,t){return typeof e=="string"?e:kJ(e,Y.checkDefined(t))}function kJ(e,t){return Ny(e)?t(e).slice(1):cs(e)?t(e):vn(e)?e.escapedText.slice(1):qr(e)}function bd(e,t,r,s,f){return t=Cv(t,f),s=Cv(s,f),r=DJ(r,f),`${e?"#":""}${t}${r}${s}`}function IJ(e,t,r,s){return e.updatePropertyDeclaration(t,r,e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage"),void 0,void 0,s)}function NJ(e,t,r,s){return e.createGetAccessorDeclaration(r,s,[],void 0,e.createBlock([e.createReturnStatement(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")))]))}function OJ(e,t,r,s){return e.createSetAccessorDeclaration(r,s,[e.createParameterDeclaration(void 0,void 0,"value")],e.createBlock([e.createExpressionStatement(e.createAssignment(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")),e.createIdentifier("value")))]))}function MJ(e){let t=e.expression;for(;;){if(t=$o(t),oc(t)){t=Zn(t.elements);continue}if(gd(t)){t=t.right;continue}if(ms(t,!0)&&cs(t.left))return t;break}}function LJ(e){return qo(e)&&fs(e)&&!e.emitNode}function su(e,t){if(LJ(e))su(e.expression,t);else if(gd(e))su(e.left,t),su(e.right,t);else if(oc(e))for(let r of e.elements)su(r,t);else t.push(e)}function RJ(e){let t=[];return su(e,t),t}function Av(e){if(e.transformFlags&65536)return!0;if(e.transformFlags&128)for(let t of kE(e)){let r=Ko(t);if(r&&K3(r)&&(r.transformFlags&65536||r.transformFlags&128&&Av(r)))return!0}return!1}var Td,OE,jJ=D({"src/compiler/factory/utilities.ts"(){"use strict";nn(),(e=>{function t(N,X,F,$,ae,Te,Se){let Ye=X>0?ae[X-1]:void 0;return Y.assertEqual(F[X],t),ae[X]=N.onEnter($[X],Ye,Se),F[X]=A(N,t),X}e.enter=t;function r(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],r),Y.assertIsDefined(N.onLeft),F[X]=A(N,r);let Ye=N.onLeft($[X].left,ae[X],$[X]);return Ye?(B(X,$,Ye),g(X,F,$,ae,Ye)):X}e.left=r;function s(N,X,F,$,ae,Te,Se){return Y.assertEqual(F[X],s),Y.assertIsDefined(N.onOperator),F[X]=A(N,s),N.onOperator($[X].operatorToken,ae[X],$[X]),X}e.operator=s;function f(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],f),Y.assertIsDefined(N.onRight),F[X]=A(N,f);let Ye=N.onRight($[X].right,ae[X],$[X]);return Ye?(B(X,$,Ye),g(X,F,$,ae,Ye)):X}e.right=f;function x(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],x),F[X]=A(N,x);let Ye=N.onExit($[X],ae[X]);if(X>0){if(X--,N.foldState){let Oe=F[X]===x?"right":"left";ae[X]=N.foldState(ae[X],Ye,Oe)}}else Te.value=Ye;return X}e.exit=x;function w(N,X,F,$,ae,Te,Se){return Y.assertEqual(F[X],w),X}e.done=w;function A(N,X){switch(X){case t:if(N.onLeft)return r;case r:if(N.onOperator)return s;case s:if(N.onRight)return f;case f:return x;case x:return w;case w:return w;default:Y.fail("Invalid state")}}e.nextState=A;function g(N,X,F,$,ae){return N++,X[N]=t,F[N]=ae,$[N]=void 0,N}function B(N,X,F){if(Y.shouldAssert(2))for(;N>=0;)Y.assert(X[N]!==F,"Circular traversal detected."),N--}})(Td||(Td={})),OE=class{constructor(e,t,r,s,f,x){this.onEnter=e,this.onLeft=t,this.onOperator=r,this.onRight=s,this.onExit=f,this.foldState=x}}}});function Rt(e,t){return t?Us(e,t.pos,t.end):e}function fc(e){let t=e.kind;return t===165||t===166||t===168||t===169||t===170||t===171||t===173||t===174||t===175||t===178||t===182||t===215||t===216||t===228||t===240||t===259||t===260||t===261||t===262||t===263||t===264||t===268||t===269||t===274||t===275}function ME(e){let t=e.kind;return t===166||t===169||t===171||t===174||t===175||t===228||t===260}var JJ=D({"src/compiler/factory/utilitiesPublic.ts"(){"use strict";nn()}});function G(e,t){return t&&e(t)}function ze(e,t,r){if(r){if(t)return t(r);for(let s of r){let f=e(s);if(f)return f}}}function LE(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===42&&e.charCodeAt(t+3)!==47}function ou(e){return c(e.statements,FJ)||BJ(e)}function FJ(e){return fc(e)&&qJ(e,93)||sv(e)&&ud(e.moduleReference)||ov(e)||Vo(e)||cc(e)?e:void 0}function BJ(e){return e.flags&4194304?RE(e):void 0}function RE(e){return UJ(e)?e:xr(e,RE)}function qJ(e,t){return Ke(e.modifiers,r=>r.kind===t)}function UJ(e){return tv(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function jE(e,t,r){return ze(t,r,e.typeParameters)||ze(t,r,e.parameters)||G(t,e.type)}function JE(e,t,r){return ze(t,r,e.types)}function FE(e,t,r){return G(t,e.type)}function BE(e,t,r){return ze(t,r,e.elements)}function qE(e,t,r){return G(t,e.expression)||G(t,e.questionDotToken)||ze(t,r,e.typeArguments)||ze(t,r,e.arguments)}function UE(e,t,r){return ze(t,r,e.statements)}function zE(e,t,r){return G(t,e.label)}function WE(e,t,r){return ze(t,r,e.modifiers)||G(t,e.name)||ze(t,r,e.typeParameters)||ze(t,r,e.heritageClauses)||ze(t,r,e.members)}function VE(e,t,r){return ze(t,r,e.elements)}function HE(e,t,r){return G(t,e.propertyName)||G(t,e.name)}function GE(e,t,r){return G(t,e.tagName)||ze(t,r,e.typeArguments)||G(t,e.attributes)}function Xo(e,t,r){return G(t,e.type)}function $E(e,t,r){return G(t,e.tagName)||(e.isNameFirst?G(t,e.name)||G(t,e.typeExpression):G(t,e.typeExpression)||G(t,e.name))||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function Yo(e,t,r){return G(t,e.tagName)||G(t,e.typeExpression)||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function Pv(e,t,r){return G(t,e.name)}function Gs(e,t,r){return G(t,e.tagName)||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function zJ(e,t,r){return G(t,e.expression)}function xr(e,t,r){if(e===void 0||e.kind<=162)return;let s=o7[e.kind];return s===void 0?void 0:s(e,t,r)}function Dv(e,t,r){let s=KE(e),f=[];for(;f.length=0;--A)s.push(x[A]),f.push(w)}else{let A=t(x,w);if(A){if(A==="skip")continue;return A}if(x.kind>=163)for(let g of KE(x))s.push(g),f.push(x)}}}function KE(e){let t=[];return xr(e,r,r),t;function r(s){t.unshift(s)}}function XE(e){e.externalModuleIndicator=ou(e)}function YE(e,t,r){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,f=arguments.length>4?arguments[4]:void 0;var x,w;(x=rs)==null||x.push(rs.Phase.Parse,"createSourceFile",{path:e},!0),DT("beforeParse");let A;Dp.logStartParseSourceFile(e);let{languageVersion:g,setExternalModuleIndicator:B,impliedNodeFormat:N}=typeof r=="object"?r:{languageVersion:r};if(g===100)A=Ci.parseSourceFile(e,t,g,void 0,s,6,yn);else{let X=N===void 0?B:F=>(F.impliedNodeFormat=N,(B||XE)(F));A=Ci.parseSourceFile(e,t,g,void 0,s,f,X)}return Dp.logStopParseSourceFile(),DT("afterParse"),R5("Parse","beforeParse","afterParse"),(w=rs)==null||w.pop(),A}function WJ(e,t){return Ci.parseIsolatedEntityName(e,t)}function VJ(e,t){return Ci.parseJsonText(e,t)}function Qo(e){return e.externalModuleIndicator!==void 0}function kv(e,t,r){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,f=Sd.updateSourceFile(e,t,r,s);return f.flags|=e.flags&6291456,f}function HJ(e,t,r){let s=Ci.JSDocParser.parseIsolatedJSDocComment(e,t,r);return s&&s.jsDoc&&Ci.fixupParentReferences(s.jsDoc),s}function GJ(e,t,r){return Ci.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)}function QE(e){return da(e,R2)||ns(e,".ts")&&Fi(sl(e),".d.")}function $J(e,t,r,s){if(e){if(e==="import")return 99;if(e==="require")return 1;s(t,r-t,ve.resolution_mode_should_be_either_require_or_import)}}function ZE(e,t){let r=[];for(let s of Ao(t,0)||Bt){let f=t.substring(s.pos,s.end);XJ(r,s,f)}e.pragmas=new Map;for(let s of r){if(e.pragmas.has(s.name)){let f=e.pragmas.get(s.name);f instanceof Array?f.push(s.args):e.pragmas.set(s.name,[f,s.args]);continue}e.pragmas.set(s.name,s.args)}}function e7(e,t){e.checkJsDirective=void 0,e.referencedFiles=[],e.typeReferenceDirectives=[],e.libReferenceDirectives=[],e.amdDependencies=[],e.hasNoDefaultLib=!1,e.pragmas.forEach((r,s)=>{switch(s){case"reference":{let f=e.referencedFiles,x=e.typeReferenceDirectives,w=e.libReferenceDirectives;c(en(r),A=>{let{types:g,lib:B,path:N,["resolution-mode"]:X}=A.arguments;if(A.arguments["no-default-lib"])e.hasNoDefaultLib=!0;else if(g){let F=$J(X,g.pos,g.end,t);x.push(Object.assign({pos:g.pos,end:g.end,fileName:g.value},F?{resolutionMode:F}:{}))}else B?w.push({pos:B.pos,end:B.end,fileName:B.value}):N?f.push({pos:N.pos,end:N.end,fileName:N.value}):t(A.range.pos,A.range.end-A.range.pos,ve.Invalid_reference_directive_syntax)});break}case"amd-dependency":{e.amdDependencies=Ze(en(r),f=>({name:f.arguments.name,path:f.arguments.path}));break}case"amd-module":{if(r instanceof Array)for(let f of r)e.moduleName&&t(f.range.pos,f.range.end-f.range.pos,ve.An_AMD_module_cannot_have_multiple_name_assignments),e.moduleName=f.arguments.name;else e.moduleName=r.arguments.name;break}case"ts-nocheck":case"ts-check":{c(en(r),f=>{(!e.checkJsDirective||f.range.pos>e.checkJsDirective.pos)&&(e.checkJsDirective={enabled:s==="ts-check",end:f.range.end,pos:f.range.pos})});break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:Y.fail("Unhandled pragma kind")}})}function KJ(e){if(xd.has(e))return xd.get(e);let t=new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return xd.set(e,t),t}function XJ(e,t,r){let s=t.kind===2&&_7.exec(r);if(s){let x=s[1].toLowerCase(),w=Vp[x];if(!w||!(w.kind&1))return;if(w.args){let A={};for(let g of w.args){let N=KJ(g.name).exec(r);if(!N&&!g.optional)return;if(N){let X=N[2]||N[3];if(g.captureSpan){let F=t.pos+N.index+N[1].length+1;A[g.name]={value:X,pos:F,end:F+X.length}}else A[g.name]=X}}e.push({name:x,args:{arguments:A,range:t}})}else e.push({name:x,args:{arguments:{},range:t}});return}let f=t.kind===2&&c7.exec(r);if(f)return t7(e,t,2,f);if(t.kind===3){let x=/@(\S+)(\s+.*)?$/gim,w;for(;w=x.exec(r);)t7(e,t,4,w)}}function t7(e,t,r,s){if(!s)return;let f=s[1].toLowerCase(),x=Vp[f];if(!x||!(x.kind&r))return;let w=s[2],A=YJ(x,w);A!=="fail"&&e.push({name:f,args:{arguments:A,range:t}})}function YJ(e,t){if(!t)return{};if(!e.args)return{};let r=Pp(t).split(/\s+/),s={};for(let f=0;fnew(s7||(s7=lr.getSourceFileConstructor()))(e,-1,-1),createBaseIdentifierNode:e=>new(i7||(i7=lr.getIdentifierConstructor()))(e,-1,-1),createBasePrivateIdentifierNode:e=>new(a7||(a7=lr.getPrivateIdentifierConstructor()))(e,-1,-1),createBaseTokenNode:e=>new(n7||(n7=lr.getTokenConstructor()))(e,-1,-1),createBaseNode:e=>new(r7||(r7=lr.getNodeConstructor()))(e,-1,-1)},dc=Zf(1,Iv),o7={[163]:function(t,r,s){return G(r,t.left)||G(r,t.right)},[165]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.constraint)||G(r,t.default)||G(r,t.expression)},[300]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.equalsToken)||G(r,t.objectAssignmentInitializer)},[301]:function(t,r,s){return G(r,t.expression)},[166]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.dotDotDotToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)||G(r,t.initializer)},[169]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.type)||G(r,t.initializer)},[168]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)||G(r,t.initializer)},[299]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.initializer)},[257]:function(t,r,s){return G(r,t.name)||G(r,t.exclamationToken)||G(r,t.type)||G(r,t.initializer)},[205]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.propertyName)||G(r,t.name)||G(r,t.initializer)},[178]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[182]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[181]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[176]:jE,[177]:jE,[171]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[170]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[173]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[174]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[175]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[259]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[215]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[216]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.equalsGreaterThanToken)||G(r,t.body)},[172]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.body)},[180]:function(t,r,s){return G(r,t.typeName)||ze(r,s,t.typeArguments)},[179]:function(t,r,s){return G(r,t.assertsModifier)||G(r,t.parameterName)||G(r,t.type)},[183]:function(t,r,s){return G(r,t.exprName)||ze(r,s,t.typeArguments)},[184]:function(t,r,s){return ze(r,s,t.members)},[185]:function(t,r,s){return G(r,t.elementType)},[186]:function(t,r,s){return ze(r,s,t.elements)},[189]:JE,[190]:JE,[191]:function(t,r,s){return G(r,t.checkType)||G(r,t.extendsType)||G(r,t.trueType)||G(r,t.falseType)},[192]:function(t,r,s){return G(r,t.typeParameter)},[202]:function(t,r,s){return G(r,t.argument)||G(r,t.assertions)||G(r,t.qualifier)||ze(r,s,t.typeArguments)},[298]:function(t,r,s){return G(r,t.assertClause)},[193]:FE,[195]:FE,[196]:function(t,r,s){return G(r,t.objectType)||G(r,t.indexType)},[197]:function(t,r,s){return G(r,t.readonlyToken)||G(r,t.typeParameter)||G(r,t.nameType)||G(r,t.questionToken)||G(r,t.type)||ze(r,s,t.members)},[198]:function(t,r,s){return G(r,t.literal)},[199]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)},[203]:BE,[204]:BE,[206]:function(t,r,s){return ze(r,s,t.elements)},[207]:function(t,r,s){return ze(r,s,t.properties)},[208]:function(t,r,s){return G(r,t.expression)||G(r,t.questionDotToken)||G(r,t.name)},[209]:function(t,r,s){return G(r,t.expression)||G(r,t.questionDotToken)||G(r,t.argumentExpression)},[210]:qE,[211]:qE,[212]:function(t,r,s){return G(r,t.tag)||G(r,t.questionDotToken)||ze(r,s,t.typeArguments)||G(r,t.template)},[213]:function(t,r,s){return G(r,t.type)||G(r,t.expression)},[214]:function(t,r,s){return G(r,t.expression)},[217]:function(t,r,s){return G(r,t.expression)},[218]:function(t,r,s){return G(r,t.expression)},[219]:function(t,r,s){return G(r,t.expression)},[221]:function(t,r,s){return G(r,t.operand)},[226]:function(t,r,s){return G(r,t.asteriskToken)||G(r,t.expression)},[220]:function(t,r,s){return G(r,t.expression)},[222]:function(t,r,s){return G(r,t.operand)},[223]:function(t,r,s){return G(r,t.left)||G(r,t.operatorToken)||G(r,t.right)},[231]:function(t,r,s){return G(r,t.expression)||G(r,t.type)},[232]:function(t,r,s){return G(r,t.expression)},[235]:function(t,r,s){return G(r,t.expression)||G(r,t.type)},[233]:function(t,r,s){return G(r,t.name)},[224]:function(t,r,s){return G(r,t.condition)||G(r,t.questionToken)||G(r,t.whenTrue)||G(r,t.colonToken)||G(r,t.whenFalse)},[227]:function(t,r,s){return G(r,t.expression)},[238]:UE,[265]:UE,[308]:function(t,r,s){return ze(r,s,t.statements)||G(r,t.endOfFileToken)},[240]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.declarationList)},[258]:function(t,r,s){return ze(r,s,t.declarations)},[241]:function(t,r,s){return G(r,t.expression)},[242]:function(t,r,s){return G(r,t.expression)||G(r,t.thenStatement)||G(r,t.elseStatement)},[243]:function(t,r,s){return G(r,t.statement)||G(r,t.expression)},[244]:function(t,r,s){return G(r,t.expression)||G(r,t.statement)},[245]:function(t,r,s){return G(r,t.initializer)||G(r,t.condition)||G(r,t.incrementor)||G(r,t.statement)},[246]:function(t,r,s){return G(r,t.initializer)||G(r,t.expression)||G(r,t.statement)},[247]:function(t,r,s){return G(r,t.awaitModifier)||G(r,t.initializer)||G(r,t.expression)||G(r,t.statement)},[248]:zE,[249]:zE,[250]:function(t,r,s){return G(r,t.expression)},[251]:function(t,r,s){return G(r,t.expression)||G(r,t.statement)},[252]:function(t,r,s){return G(r,t.expression)||G(r,t.caseBlock)},[266]:function(t,r,s){return ze(r,s,t.clauses)},[292]:function(t,r,s){return G(r,t.expression)||ze(r,s,t.statements)},[293]:function(t,r,s){return ze(r,s,t.statements)},[253]:function(t,r,s){return G(r,t.label)||G(r,t.statement)},[254]:function(t,r,s){return G(r,t.expression)},[255]:function(t,r,s){return G(r,t.tryBlock)||G(r,t.catchClause)||G(r,t.finallyBlock)},[295]:function(t,r,s){return G(r,t.variableDeclaration)||G(r,t.block)},[167]:function(t,r,s){return G(r,t.expression)},[260]:WE,[228]:WE,[261]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.heritageClauses)||ze(r,s,t.members)},[262]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||G(r,t.type)},[263]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.members)},[302]:function(t,r,s){return G(r,t.name)||G(r,t.initializer)},[264]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.body)},[268]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.moduleReference)},[269]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.importClause)||G(r,t.moduleSpecifier)||G(r,t.assertClause)},[270]:function(t,r,s){return G(r,t.name)||G(r,t.namedBindings)},[296]:function(t,r,s){return ze(r,s,t.elements)},[297]:function(t,r,s){return G(r,t.name)||G(r,t.value)},[267]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)},[271]:function(t,r,s){return G(r,t.name)},[277]:function(t,r,s){return G(r,t.name)},[272]:VE,[276]:VE,[275]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.exportClause)||G(r,t.moduleSpecifier)||G(r,t.assertClause)},[273]:HE,[278]:HE,[274]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.expression)},[225]:function(t,r,s){return G(r,t.head)||ze(r,s,t.templateSpans)},[236]:function(t,r,s){return G(r,t.expression)||G(r,t.literal)},[200]:function(t,r,s){return G(r,t.head)||ze(r,s,t.templateSpans)},[201]:function(t,r,s){return G(r,t.type)||G(r,t.literal)},[164]:function(t,r,s){return G(r,t.expression)},[294]:function(t,r,s){return ze(r,s,t.types)},[230]:function(t,r,s){return G(r,t.expression)||ze(r,s,t.typeArguments)},[280]:function(t,r,s){return G(r,t.expression)},[279]:function(t,r,s){return ze(r,s,t.modifiers)},[357]:function(t,r,s){return ze(r,s,t.elements)},[281]:function(t,r,s){return G(r,t.openingElement)||ze(r,s,t.children)||G(r,t.closingElement)},[285]:function(t,r,s){return G(r,t.openingFragment)||ze(r,s,t.children)||G(r,t.closingFragment)},[282]:GE,[283]:GE,[289]:function(t,r,s){return ze(r,s,t.properties)},[288]:function(t,r,s){return G(r,t.name)||G(r,t.initializer)},[290]:function(t,r,s){return G(r,t.expression)},[291]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.expression)},[284]:function(t,r,s){return G(r,t.tagName)},[187]:Xo,[188]:Xo,[312]:Xo,[318]:Xo,[317]:Xo,[319]:Xo,[321]:Xo,[320]:function(t,r,s){return ze(r,s,t.parameters)||G(r,t.type)},[323]:function(t,r,s){return(typeof t.comment=="string"?void 0:ze(r,s,t.comment))||ze(r,s,t.tags)},[350]:function(t,r,s){return G(r,t.tagName)||G(r,t.name)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[313]:function(t,r,s){return G(r,t.name)},[314]:function(t,r,s){return G(r,t.left)||G(r,t.right)},[344]:$E,[351]:$E,[333]:function(t,r,s){return G(r,t.tagName)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[332]:function(t,r,s){return G(r,t.tagName)||G(r,t.class)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[331]:function(t,r,s){return G(r,t.tagName)||G(r,t.class)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[348]:function(t,r,s){return G(r,t.tagName)||G(r,t.constraint)||ze(r,s,t.typeParameters)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[349]:function(t,r,s){return G(r,t.tagName)||(t.typeExpression&&t.typeExpression.kind===312?G(r,t.typeExpression)||G(r,t.fullName)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment)):G(r,t.fullName)||G(r,t.typeExpression)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment)))},[341]:function(t,r,s){return G(r,t.tagName)||G(r,t.fullName)||G(r,t.typeExpression)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[345]:Yo,[347]:Yo,[346]:Yo,[343]:Yo,[353]:Yo,[352]:Yo,[342]:Yo,[326]:function(t,r,s){return c(t.typeParameters,r)||c(t.parameters,r)||G(r,t.type)},[327]:Pv,[328]:Pv,[329]:Pv,[325]:function(t,r,s){return c(t.jsDocPropertyTags,r)},[330]:Gs,[335]:Gs,[336]:Gs,[337]:Gs,[338]:Gs,[339]:Gs,[334]:Gs,[340]:Gs,[356]:zJ},(e=>{var t=Po(99,!0),r=20480,s,f,x,w,A;function g(u){return oi++,u}var B={createBaseSourceFileNode:u=>g(new A(u,0,0)),createBaseIdentifierNode:u=>g(new x(u,0,0)),createBasePrivateIdentifierNode:u=>g(new w(u,0,0)),createBaseTokenNode:u=>g(new f(u,0,0)),createBaseNode:u=>g(new s(u,0,0))},N=Zf(11,B),{createNodeArray:X,createNumericLiteral:F,createStringLiteral:$,createLiteralLikeNode:ae,createIdentifier:Te,createPrivateIdentifier:Se,createToken:Ye,createArrayLiteralExpression:Oe,createObjectLiteralExpression:oe,createPropertyAccessExpression:Ve,createPropertyAccessChain:pt,createElementAccessExpression:Gt,createElementAccessChain:Nt,createCallExpression:Xt,createCallChain:er,createNewExpression:Tn,createParenthesizedExpression:Hr,createBlock:Gi,createVariableStatement:pn,createExpressionStatement:fn,createIfStatement:Ut,createWhileStatement:kn,createForStatement:an,createForOfStatement:mr,createVariableDeclaration:$i,createVariableDeclarationList:dn}=N,Ur,Gr,_r,Sn,In,pr,Zt,Or,Nn,ar,oi,cr,$r,hr,On,nr,br=!0,Kr=!1;function wa(u,b,O,j){let z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,re=arguments.length>5?arguments[5]:void 0,Ee=arguments.length>6?arguments[6]:void 0;var qe;if(re=Nx(u,re),re===6){let $e=Ki(u,b,O,j,z);return convertToObjectWorker($e,(qe=$e.statements[0])==null?void 0:qe.expression,$e.parseDiagnostics,!1,void 0,void 0),$e.referencedFiles=Bt,$e.typeReferenceDirectives=Bt,$e.libReferenceDirectives=Bt,$e.amdDependencies=Bt,$e.hasNoDefaultLib=!1,$e.pragmas=V1,$e}Mn(u,b,O,j,re);let We=Ca(O,z,re,Ee||XE);return _i(),We}e.parseSourceFile=wa;function $n(u,b){Mn("",u,b,void 0,1),_e();let O=Ys(!0),j=T()===1&&!Zt.length;return _i(),j?O:void 0}e.parseIsolatedEntityName=$n;function Ki(u,b){let O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2,j=arguments.length>3?arguments[3]:void 0,z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;Mn(u,b,O,j,6),Gr=nr,_e();let re=L(),Ee,qe;if(T()===1)Ee=Er([],re,re),qe=sn();else{let lt;for(;T()!==1;){let At;switch(T()){case 22:At=ah();break;case 110:case 95:case 104:At=sn();break;case 40:wt(()=>_e()===8&&_e()!==58)?At=qm():At=Xu();break;case 8:case 10:if(wt(()=>_e()!==58)){At=Di();break}default:At=Xu();break}lt&&ir(lt)?lt.push(At):lt?lt=[lt,At]:(lt=At,T()!==1&&Dt(ve.Unexpected_token))}let Jt=ir(lt)?Q(Oe(lt),re):Y.checkDefined(lt),Lt=fn(Jt);Q(Lt,re),Ee=Er([Lt],re),qe=ea(1,ve.Unexpected_token)}let We=Kt(u,2,6,!1,Ee,qe,Gr,yn);z&&ft(We),We.nodeCount=oi,We.identifierCount=$r,We.identifiers=cr,We.parseDiagnostics=qs(Zt,We),Or&&(We.jsDocDiagnostics=qs(Or,We));let $e=We;return _i(),$e}e.parseJsonText=Ki;function Mn(u,b,O,j,z){switch(s=lr.getNodeConstructor(),f=lr.getTokenConstructor(),x=lr.getIdentifierConstructor(),w=lr.getPrivateIdentifierConstructor(),A=lr.getSourceFileConstructor(),Ur=Un(u),_r=b,Sn=O,Nn=j,In=z,pr=s2(z),Zt=[],hr=0,cr=new Map,$r=0,oi=0,Gr=0,br=!0,In){case 1:case 2:nr=262144;break;case 6:nr=67371008;break;default:nr=0;break}Kr=!1,t.setText(_r),t.setOnError(U),t.setScriptTarget(Sn),t.setLanguageVariant(pr)}function _i(){t.clearCommentDirectives(),t.setText(""),t.setOnError(void 0),_r=void 0,Sn=void 0,Nn=void 0,In=void 0,pr=void 0,Gr=0,Zt=void 0,Or=void 0,hr=0,cr=void 0,On=void 0,br=!0}function Ca(u,b,O,j){let z=QE(Ur);z&&(nr|=16777216),Gr=nr,_e();let re=Kn(0,on);Y.assert(T()===1);let Ee=He(sn()),qe=Kt(Ur,u,O,z,re,Ee,Gr,j);return ZE(qe,_r),e7(qe,We),qe.commentDirectives=t.getCommentDirectives(),qe.nodeCount=oi,qe.identifierCount=$r,qe.identifiers=cr,qe.parseDiagnostics=qs(Zt,qe),Or&&(qe.jsDocDiagnostics=qs(Or,qe)),b&&ft(qe),qe;function We($e,lt,Jt){Zt.push(Ro(Ur,$e,lt,Jt))}}function St(u,b){return b?He(u):u}let ue=!1;function He(u){Y.assert(!u.jsDoc);let b=qt(IS(u,_r),O=>Vh.parseJSDocComment(u,O.pos,O.end-O.pos));return b.length&&(u.jsDoc=b),ue&&(ue=!1,u.flags|=268435456),u}function _t(u){let b=Nn,O=Sd.createSyntaxCursor(u);Nn={currentNode:lt};let j=[],z=Zt;Zt=[];let re=0,Ee=We(u.statements,0);for(;Ee!==-1;){let Jt=u.statements[re],Lt=u.statements[Ee];jr(j,u.statements,re,Ee),re=$e(u.statements,Ee);let At=he(z,Fn=>Fn.start>=Jt.pos),kr=At>=0?he(z,Fn=>Fn.start>=Lt.pos,At):-1;At>=0&&jr(Zt,z,At,kr>=0?kr:void 0),Rn(()=>{let Fn=nr;for(nr|=32768,t.setTextPos(Lt.pos),_e();T()!==1;){let di=t.getStartPos(),Ii=vc(0,on);if(j.push(Ii),di===t.getStartPos()&&_e(),re>=0){let _n=u.statements[re];if(Ii.end===_n.pos)break;Ii.end>_n.pos&&(re=$e(u.statements,re+1))}}nr=Fn},2),Ee=re>=0?We(u.statements,re):-1}if(re>=0){let Jt=u.statements[re];jr(j,u.statements,re);let Lt=he(z,At=>At.start>=Jt.pos);Lt>=0&&jr(Zt,z,Lt)}return Nn=b,N.updateSourceFile(u,Rt(X(j),u.statements));function qe(Jt){return!(Jt.flags&32768)&&!!(Jt.transformFlags&67108864)}function We(Jt,Lt){for(let At=Lt;At116}function kt(){return T()===79?!0:T()===125&&Yi()||T()===133&&xn()?!1:T()>116}function de(u,b){let O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return T()===u?(O&&_e(),!0):(b?Dt(b):Dt(ve._0_expected,Br(u)),!1)}let jn=Object.keys(cl).filter(u=>u.length>2);function Zi(u){var b;if(Y8(u)){Z(Ar(_r,u.template.pos),u.template.end,ve.Module_declaration_names_may_only_use_or_quoted_strings);return}let O=yt(u)?qr(u):void 0;if(!O||!vy(O,Sn)){Dt(ve._0_expected,Br(26));return}let j=Ar(_r,u.pos);switch(O){case"const":case"let":case"var":Z(j,u.end,ve.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":Pa(ve.Interface_name_cannot_be_0,ve.Interface_must_be_given_a_name,18);return;case"is":Z(j,t.getTextPos(),ve.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":Pa(ve.Namespace_name_cannot_be_0,ve.Namespace_must_be_given_a_name,18);return;case"type":Pa(ve.Type_alias_name_cannot_be_0,ve.Type_alias_must_be_given_a_name,63);return}let z=(b=Ep(O,jn,re=>re))!=null?b:e_(O);if(z){Z(j,u.end,ve.Unknown_keyword_or_identifier_Did_you_mean_0,z);return}T()!==0&&Z(j,u.end,ve.Unexpected_keyword_or_identifier)}function Pa(u,b,O){T()===O?Dt(b):Dt(u,t.getTokenValue())}function e_(u){for(let b of jn)if(u.length>b.length+2&&Pn(u,b))return`${b} ${u.slice(b.length)}`}function mc(u,b,O){if(T()===59&&!t.hasPrecedingLineBreak()){Dt(ve.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(T()===20){Dt(ve.Cannot_start_a_function_call_in_a_type_annotation),_e();return}if(b&&!ka()){O?Dt(ve._0_expected,Br(26)):Dt(ve.Expected_for_property_initializer);return}if(!t_()){if(O){Dt(ve._0_expected,Br(26));return}Zi(u)}}function Da(u){return T()===u?(Ge(),!0):(Dt(ve._0_expected,Br(u)),!1)}function Ts(u,b,O,j){if(T()===b){_e();return}let z=Dt(ve._0_expected,Br(b));O&&z&&Rl(z,Ro(Ur,j,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,Br(u),Br(b)))}function Ot(u){return T()===u?(_e(),!0):!1}function dr(u){if(T()===u)return sn()}function Dd(u){if(T()===u)return Id()}function ea(u,b,O){return dr(u)||Jn(u,!1,b||ve._0_expected,O||Br(u))}function kd(u){return Dd(u)||Jn(u,!1,ve._0_expected,Br(u))}function sn(){let u=L(),b=T();return _e(),Q(Ye(b),u)}function Id(){let u=L(),b=T();return Ge(),Q(Ye(b),u)}function ka(){return T()===26?!0:T()===19||T()===1||t.hasPrecedingLineBreak()}function t_(){return ka()?(T()===26&&_e(),!0):!1}function En(){return t_()||de(26)}function Er(u,b,O,j){let z=X(u,j);return Us(z,b,O!=null?O:t.getStartPos()),z}function Q(u,b,O){return Us(u,b,O!=null?O:t.getStartPos()),nr&&(u.flags|=nr),Kr&&(Kr=!1,u.flags|=131072),u}function Jn(u,b,O,j){b?Pi(t.getStartPos(),0,O,j):O&&Dt(O,j);let z=L(),re=u===79?Te("",void 0):yl(u)?N.createTemplateLiteralLikeNode(u,"","",void 0):u===8?F("",void 0):u===10?$("",void 0):u===279?N.createMissingDeclaration():Ye(u);return Q(re,z)}function Ia(u){let b=cr.get(u);return b===void 0&&cr.set(u,b=u),b}function Ss(u,b,O){if(u){$r++;let qe=L(),We=T(),$e=Ia(t.getTokenValue()),lt=t.hasExtendedUnicodeEscape();return it(),Q(Te($e,We,lt),qe)}if(T()===80)return Dt(O||ve.Private_identifiers_are_not_allowed_outside_class_bodies),Ss(!0);if(T()===0&&t.tryScan(()=>t.reScanInvalidIdentifier()===79))return Ss(!0);$r++;let j=T()===1,z=t.isReservedWord(),re=t.getTokenText(),Ee=z?ve.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:ve.Identifier_expected;return Jn(79,j,b||Ee,re)}function hc(u){return Ss(Tt(),void 0,u)}function wr(u,b){return Ss(kt(),u,b)}function zr(u){return Ss(fr(T()),u)}function xs(){return fr(T())||T()===10||T()===8}function Nd(){return fr(T())||T()===10}function Rv(u){if(T()===10||T()===8){let b=Di();return b.text=Ia(b.text),b}return u&&T()===22?jv():T()===80?gc():zr()}function Es(){return Rv(!0)}function jv(){let u=L();de(22);let b=It(Sr);return de(23),Q(N.createComputedPropertyName(b),u)}function gc(){let u=L(),b=Se(Ia(t.getTokenValue()));return _e(),Q(b,u)}function Ks(u){return T()===u&&Tr(Od)}function uu(){return _e(),t.hasPrecedingLineBreak()?!1:ta()}function Od(){switch(T()){case 85:return _e()===92;case 93:return _e(),T()===88?wt(Ld):T()===154?wt(Jv):r_();case 88:return Ld();case 124:case 137:case 151:return _e(),ta();default:return uu()}}function r_(){return T()===59||T()!==41&&T()!==128&&T()!==18&&ta()}function Jv(){return _e(),r_()}function Md(){return Wi(T())&&Tr(Od)}function ta(){return T()===22||T()===18||T()===41||T()===25||xs()}function Ld(){return _e(),T()===84||T()===98||T()===118||T()===59||T()===126&&wt(gh)||T()===132&&wt(yh)}function Xs(u,b){if(mu(u))return!0;switch(u){case 0:case 1:case 3:return!(T()===26&&b)&&vh();case 2:return T()===82||T()===88;case 4:return wt(om);case 5:return wt(Jb)||T()===26&&!b;case 6:return T()===22||xs();case 12:switch(T()){case 22:case 41:case 25:case 24:return!0;default:return xs()}case 18:return xs();case 9:return T()===22||T()===25||xs();case 24:return Nd();case 7:return T()===18?wt(Rd):b?kt()&&!fu():Fu()&&!fu();case 8:return tp();case 10:return T()===27||T()===25||tp();case 19:return T()===101||T()===85||kt();case 15:switch(T()){case 27:case 24:return!0}case 11:return T()===25||La();case 16:return Ec(!1);case 17:return Ec(!0);case 20:case 21:return T()===27||eo();case 22:return Oc();case 23:return fr(T());case 13:return fr(T())||T()===18;case 14:return!0}return Y.fail("Non-exhaustive case in 'isListElement'.")}function Rd(){if(Y.assert(T()===18),_e()===19){let u=_e();return u===27||u===18||u===94||u===117}return!0}function yc(){return _e(),kt()}function pu(){return _e(),fr(T())}function Fv(){return _e(),qT(T())}function fu(){return T()===117||T()===94?wt(jd):!1}function jd(){return _e(),La()}function Jd(){return _e(),eo()}function Na(u){if(T()===1)return!0;switch(u){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return T()===19;case 3:return T()===19||T()===82||T()===88;case 7:return T()===18||T()===94||T()===117;case 8:return Bv();case 19:return T()===31||T()===20||T()===18||T()===94||T()===117;case 11:return T()===21||T()===26;case 15:case 21:case 10:return T()===23;case 17:case 16:case 18:return T()===21||T()===23;case 20:return T()!==27;case 22:return T()===18||T()===19;case 13:return T()===31||T()===43;case 14:return T()===29&&wt(Xb);default:return!1}}function Bv(){return!!(ka()||jm(T())||T()===38)}function du(){for(let u=0;u<25;u++)if(hr&1<=0)}function zv(u){return u===6?ve.An_enum_member_name_must_be_followed_by_a_or:void 0}function ui(){let u=Er([],L());return u.isMissingList=!0,u}function Wv(u){return!!u.isMissingList}function Oa(u,b,O,j){if(de(O)){let z=mn(u,b);return de(j),z}return ui()}function Ys(u,b){let O=L(),j=u?zr(b):wr(b);for(;Ot(24)&&T()!==29;)j=Q(N.createQualifiedName(j,bc(u,!1)),O);return j}function Tu(u,b){return Q(N.createQualifiedName(u,b),u.pos)}function bc(u,b){if(t.hasPrecedingLineBreak()&&fr(T())&&wt(Qu))return Jn(79,!0,ve.Identifier_expected);if(T()===80){let O=gc();return b?O:Jn(79,!0,ve.Identifier_expected)}return u?zr():wr()}function Su(u){let b=L(),O=[],j;do j=Hv(u),O.push(j);while(j.literal.kind===16);return Er(O,b)}function Wd(u){let b=L();return Q(N.createTemplateExpression(Hd(u),Su(u)),b)}function xu(){let u=L();return Q(N.createTemplateLiteralType(Hd(!1),Vd()),u)}function Vd(){let u=L(),b=[],O;do O=Vv(),b.push(O);while(O.literal.kind===16);return Er(b,u)}function Vv(){let u=L();return Q(N.createTemplateLiteralTypeSpan(sr(),Eu(!1)),u)}function Eu(u){return T()===19?(Yt(u),Tc()):ea(17,ve._0_expected,Br(19))}function Hv(u){let b=L();return Q(N.createTemplateSpan(It(Sr),Eu(u)),b)}function Di(){return n_(T())}function Hd(u){u&&$t();let b=n_(T());return Y.assert(b.kind===15,"Template head has wrong token kind"),b}function Tc(){let u=n_(T());return Y.assert(u.kind===16||u.kind===17,"Template fragment has wrong token kind"),u}function Gd(u){let b=u===14||u===17,O=t.getTokenText();return O.substring(1,O.length-(t.isUnterminated()?0:b?1:2))}function n_(u){let b=L(),O=yl(u)?N.createTemplateLiteralLikeNode(u,t.getTokenValue(),Gd(u),t.getTokenFlags()&2048):u===8?F(t.getTokenValue(),t.getNumericLiteralFlags()):u===10?$(t.getTokenValue(),void 0,t.hasExtendedUnicodeEscape()):ky(u)?ae(u,t.getTokenValue()):Y.fail();return t.hasExtendedUnicodeEscape()&&(O.hasExtendedUnicodeEscape=!0),t.isUnterminated()&&(O.isUnterminated=!0),_e(),Q(O,b)}function wu(){return Ys(!0,ve.Type_expected)}function Qs(){if(!t.hasPrecedingLineBreak()&&Wt()===29)return Oa(20,sr,29,31)}function Sc(){let u=L();return Q(N.createTypeReferenceNode(wu(),Qs()),u)}function Cu(u){switch(u.kind){case 180:return va(u.typeName);case 181:case 182:{let{parameters:b,type:O}=u;return Wv(b)||Cu(O)}case 193:return Cu(u.type);default:return!1}}function Gv(u){return _e(),Q(N.createTypePredicateNode(void 0,u,sr()),u.pos)}function $d(){let u=L();return _e(),Q(N.createThisTypeNode(),u)}function Kd(){let u=L();return _e(),Q(N.createJSDocAllType(),u)}function $v(){let u=L();return _e(),Q(N.createJSDocNonNullableType(Lu(),!1),u)}function Xd(){let u=L();return _e(),T()===27||T()===19||T()===21||T()===31||T()===63||T()===51?Q(N.createJSDocUnknownType(),u):Q(N.createJSDocNullableType(sr(),!1),u)}function Kv(){let u=L(),b=fe();if(wt(qh)){_e();let O=ra(36),j=pi(58,!1);return St(Q(N.createJSDocFunctionType(O,j),u),b)}return Q(N.createTypeReferenceNode(zr(),void 0),u)}function Yd(){let u=L(),b;return(T()===108||T()===103)&&(b=zr(),de(58)),Q(N.createParameterDeclaration(void 0,void 0,b,void 0,xc(),void 0),u)}function xc(){t.setInJSDocType(!0);let u=L();if(Ot(142)){let j=N.createJSDocNamepathType(void 0);e:for(;;)switch(T()){case 19:case 1:case 27:case 5:break e;default:Ge()}return t.setInJSDocType(!1),Q(j,u)}let b=Ot(25),O=Ju();return t.setInJSDocType(!1),b&&(O=Q(N.createJSDocVariadicType(O),u)),T()===63?(_e(),Q(N.createJSDocOptionalType(O),u)):O}function Xv(){let u=L();de(112);let b=Ys(!0),O=t.hasPrecedingLineBreak()?void 0:Nc();return Q(N.createTypeQueryNode(b,O),u)}function Qd(){let u=L(),b=ki(!1,!0),O=wr(),j,z;Ot(94)&&(eo()||!La()?j=sr():z=Wu());let re=Ot(63)?sr():void 0,Ee=N.createTypeParameterDeclaration(b,O,j,re);return Ee.expression=z,Q(Ee,u)}function Xn(){if(T()===29)return Oa(19,Qd,29,31)}function Ec(u){return T()===25||tp()||Wi(T())||T()===59||eo(!u)}function Zd(u){let b=no(ve.Private_identifiers_cannot_be_used_as_parameters);return hf(b)===0&&!Ke(u)&&Wi(T())&&_e(),b}function em(){return Tt()||T()===22||T()===18}function Au(u){return Pu(u)}function tm(u){return Pu(u,!1)}function Pu(u){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,O=L(),j=fe(),z=u?Xi(()=>ki(!0)):Aa(()=>ki(!0));if(T()===108){let We=N.createParameterDeclaration(z,void 0,Ss(!0),void 0,Ma(),void 0),$e=pa(z);return $e&&ie($e,ve.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),St(Q(We,O),j)}let re=br;br=!1;let Ee=dr(25);if(!b&&!em())return;let qe=St(Q(N.createParameterDeclaration(z,Ee,Zd(z),dr(57),Ma(),Ra()),O),j);return br=re,qe}function pi(u,b){if(rm(u,b))return gr(Ju)}function rm(u,b){return u===38?(de(u),!0):Ot(58)?!0:b&&T()===38?(Dt(ve._0_expected,Br(58)),_e(),!0):!1}function wc(u,b){let O=Yi(),j=xn();Le(!!(u&1)),ot(!!(u&2));let z=u&32?mn(17,Yd):mn(16,()=>b?Au(j):tm(j));return Le(O),ot(j),z}function ra(u){if(!de(20))return ui();let b=wc(u,!0);return de(21),b}function i_(){Ot(27)||En()}function nm(u){let b=L(),O=fe();u===177&&de(103);let j=Xn(),z=ra(4),re=pi(58,!0);i_();let Ee=u===176?N.createCallSignature(j,z,re):N.createConstructSignature(j,z,re);return St(Q(Ee,b),O)}function im(){return T()===22&&wt(Zs)}function Zs(){if(_e(),T()===25||T()===23)return!0;if(Wi(T())){if(_e(),kt())return!0}else if(kt())_e();else return!1;return T()===58||T()===27?!0:T()!==57?!1:(_e(),T()===58||T()===27||T()===23)}function am(u,b,O){let j=Oa(16,()=>Au(!1),22,23),z=Ma();i_();let re=N.createIndexSignature(O,j,z);return St(Q(re,u),b)}function sm(u,b,O){let j=Es(),z=dr(57),re;if(T()===20||T()===29){let Ee=Xn(),qe=ra(4),We=pi(58,!0);re=N.createMethodSignature(O,j,z,Ee,qe,We)}else{let Ee=Ma();re=N.createPropertySignature(O,j,z,Ee),T()===63&&(re.initializer=Ra())}return i_(),St(Q(re,u),b)}function om(){if(T()===20||T()===29||T()===137||T()===151)return!0;let u=!1;for(;Wi(T());)u=!0,_e();return T()===22?!0:(xs()&&(u=!0,_e()),u?T()===20||T()===29||T()===57||T()===58||T()===27||ka():!1)}function Du(){if(T()===20||T()===29)return nm(176);if(T()===103&&wt(a_))return nm(177);let u=L(),b=fe(),O=ki(!1);return Ks(137)?Fa(u,b,O,174,4):Ks(151)?Fa(u,b,O,175,4):im()?am(u,b,O):sm(u,b,O)}function a_(){return _e(),T()===20||T()===29}function Yv(){return _e()===24}function ku(){switch(_e()){case 20:case 29:case 24:return!0}return!1}function Qv(){let u=L();return Q(N.createTypeLiteralNode(Iu()),u)}function Iu(){let u;return de(18)?(u=Kn(4,Du),de(19)):u=ui(),u}function Zv(){return _e(),T()===39||T()===40?_e()===146:(T()===146&&_e(),T()===22&&yc()&&_e()===101)}function _m(){let u=L(),b=zr();de(101);let O=sr();return Q(N.createTypeParameterDeclaration(void 0,b,O,void 0),u)}function eb(){let u=L();de(18);let b;(T()===146||T()===39||T()===40)&&(b=sn(),b.kind!==146&&de(146)),de(22);let O=_m(),j=Ot(128)?sr():void 0;de(23);let z;(T()===57||T()===39||T()===40)&&(z=sn(),z.kind!==57&&de(57));let re=Ma();En();let Ee=Kn(4,Du);return de(19),Q(N.createMappedTypeNode(b,O,j,z,re,Ee),u)}function Nu(){let u=L();if(Ot(25))return Q(N.createRestTypeNode(sr()),u);let b=sr();if(uE(b)&&b.pos===b.type.pos){let O=N.createOptionalTypeNode(b.type);return Rt(O,b),O.flags=b.flags,O}return b}function cm(){return _e()===58||T()===57&&_e()===58}function lm(){return T()===25?fr(_e())&&cm():fr(T())&&cm()}function tb(){if(wt(lm)){let u=L(),b=fe(),O=dr(25),j=zr(),z=dr(57);de(58);let re=Nu(),Ee=N.createNamedTupleMember(O,j,z,re);return St(Q(Ee,u),b)}return Nu()}function um(){let u=L();return Q(N.createTupleTypeNode(Oa(21,tb,22,23)),u)}function rb(){let u=L();de(20);let b=sr();return de(21),Q(N.createParenthesizedType(b),u)}function pm(){let u;if(T()===126){let b=L();_e();let O=Q(Ye(126),b);u=Er([O],b)}return u}function fm(){let u=L(),b=fe(),O=pm(),j=Ot(103);Y.assert(!O||j,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");let z=Xn(),re=ra(4),Ee=pi(38,!1),qe=j?N.createConstructorTypeNode(O,z,re,Ee):N.createFunctionTypeNode(z,re,Ee);return St(Q(qe,u),b)}function Ou(){let u=sn();return T()===24?void 0:u}function dm(u){let b=L();u&&_e();let O=T()===110||T()===95||T()===104?sn():n_(T());return u&&(O=Q(N.createPrefixUnaryExpression(40,O),b)),Q(N.createLiteralTypeNode(O),b)}function mm(){return _e(),T()===100}function nb(){let u=L(),b=t.getTokenPos();de(18);let O=t.hasPrecedingLineBreak();de(130),de(58);let j=_p(!0);if(!de(19)){let z=Cn(Zt);z&&z.code===ve._0_expected.code&&Rl(z,Ro(Ur,b,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(N.createImportTypeAssertionContainer(j,O),u)}function Mu(){Gr|=2097152;let u=L(),b=Ot(112);de(100),de(20);let O=sr(),j;Ot(27)&&(j=nb()),de(21);let z=Ot(24)?wu():void 0,re=Qs();return Q(N.createImportTypeNode(O,j,z,re,b),u)}function hm(){return _e(),T()===8||T()===9}function Lu(){switch(T()){case 131:case 157:case 152:case 148:case 160:case 153:case 134:case 155:case 144:case 149:return Tr(Ou)||Sc();case 66:t.reScanAsteriskEqualsToken();case 41:return Kd();case 60:t.reScanQuestionToken();case 57:return Xd();case 98:return Kv();case 53:return $v();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return dm();case 40:return wt(hm)?dm(!0):Sc();case 114:return sn();case 108:{let u=$d();return T()===140&&!t.hasPrecedingLineBreak()?Gv(u):u}case 112:return wt(mm)?Mu():Xv();case 18:return wt(Zv)?eb():Qv();case 22:return um();case 20:return rb();case 100:return Mu();case 129:return wt(Qu)?Cm():Sc();case 15:return xu();default:return Sc()}}function eo(u){switch(T()){case 131:case 157:case 152:case 148:case 160:case 134:case 146:case 153:case 156:case 114:case 155:case 104:case 108:case 112:case 144:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 149:case 41:case 57:case 53:case 25:case 138:case 100:case 129:case 14:case 15:return!0;case 98:return!u;case 40:return!u&&wt(hm);case 20:return!u&&wt(gm);default:return kt()}}function gm(){return _e(),T()===21||Ec(!1)||eo()}function ym(){let u=L(),b=Lu();for(;!t.hasPrecedingLineBreak();)switch(T()){case 53:_e(),b=Q(N.createJSDocNonNullableType(b,!0),u);break;case 57:if(wt(Jd))return b;_e(),b=Q(N.createJSDocNullableType(b,!0),u);break;case 22:if(de(22),eo()){let O=sr();de(23),b=Q(N.createIndexedAccessTypeNode(b,O),u)}else de(23),b=Q(N.createArrayTypeNode(b),u);break;default:return b}return b}function vm(u){let b=L();return de(u),Q(N.createTypeOperatorNode(u,Tm()),b)}function ib(){if(Ot(94)){let u=Ln(sr);if(bs()||T()!==57)return u}}function bm(){let u=L(),b=wr(),O=Tr(ib),j=N.createTypeParameterDeclaration(void 0,b,O);return Q(j,u)}function ab(){let u=L();return de(138),Q(N.createInferTypeNode(bm()),u)}function Tm(){let u=T();switch(u){case 141:case 156:case 146:return vm(u);case 138:return ab()}return gr(ym)}function Cc(u){if(ju()){let b=fm(),O;return $l(b)?O=u?ve.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:ve.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:O=u?ve.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:ve.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,ie(b,O),b}}function Sm(u,b,O){let j=L(),z=u===51,re=Ot(u),Ee=re&&Cc(z)||b();if(T()===u||re){let qe=[Ee];for(;Ot(u);)qe.push(Cc(z)||b());Ee=Q(O(Er(qe,j)),j)}return Ee}function Ru(){return Sm(50,Tm,N.createIntersectionTypeNode)}function sb(){return Sm(51,Ru,N.createUnionTypeNode)}function xm(){return _e(),T()===103}function ju(){return T()===29||T()===20&&wt(Em)?!0:T()===103||T()===126&&wt(xm)}function ob(){if(Wi(T())&&ki(!1),kt()||T()===108)return _e(),!0;if(T()===22||T()===18){let u=Zt.length;return no(),u===Zt.length}return!1}function Em(){return _e(),!!(T()===21||T()===25||ob()&&(T()===58||T()===27||T()===57||T()===63||T()===21&&(_e(),T()===38)))}function Ju(){let u=L(),b=kt()&&Tr(wm),O=sr();return b?Q(N.createTypePredicateNode(void 0,b,O),u):O}function wm(){let u=wr();if(T()===140&&!t.hasPrecedingLineBreak())return _e(),u}function Cm(){let u=L(),b=ea(129),O=T()===108?$d():wr(),j=Ot(140)?sr():void 0;return Q(N.createTypePredicateNode(b,O,j),u)}function sr(){if(nr&40960)return Ct(40960,sr);if(ju())return fm();let u=L(),b=sb();if(!bs()&&!t.hasPrecedingLineBreak()&&Ot(94)){let O=Ln(sr);de(57);let j=gr(sr);de(58);let z=gr(sr);return Q(N.createConditionalTypeNode(b,O,j,z),u)}return b}function Ma(){return Ot(58)?sr():void 0}function Fu(){switch(T()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return wt(ku);default:return kt()}}function La(){if(Fu())return!0;switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 133:case 125:case 80:case 59:return!0;default:return Jm()?!0:kt()}}function Am(){return T()!==18&&T()!==98&&T()!==84&&T()!==59&&La()}function Sr(){let u=Ai();u&&Re(!1);let b=L(),O=Yr(!0),j;for(;j=dr(27);)O=Uu(O,j,Yr(!0),b);return u&&Re(!0),O}function Ra(){return Ot(63)?Yr(!0):void 0}function Yr(u){if(Pm())return Dm();let b=cb(u)||Mm(u);if(b)return b;let O=L(),j=s_(0);return j.kind===79&&T()===38?km(O,j,u,void 0):Do(j)&&G_(bt())?Uu(j,sn(),Yr(u),O):lb(j,O,u)}function Pm(){return T()===125?Yi()?!0:wt(Zu):!1}function _b(){return _e(),!t.hasPrecedingLineBreak()&&kt()}function Dm(){let u=L();return _e(),!t.hasPrecedingLineBreak()&&(T()===41||La())?Q(N.createYieldExpression(dr(41),Yr(!0)),u):Q(N.createYieldExpression(void 0,void 0),u)}function km(u,b,O,j){Y.assert(T()===38,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");let z=N.createParameterDeclaration(void 0,void 0,b,void 0,void 0,void 0);Q(z,b.pos);let re=Er([z],z.pos,z.end),Ee=ea(38),qe=Bu(!!j,O),We=N.createArrowFunction(j,void 0,re,void 0,Ee,qe);return He(Q(We,u))}function cb(u){let b=Im();if(b!==0)return b===1?Rm(!0,!0):Tr(()=>Om(u))}function Im(){return T()===20||T()===29||T()===132?wt(Nm):T()===38?1:0}function Nm(){if(T()===132&&(_e(),t.hasPrecedingLineBreak()||T()!==20&&T()!==29))return 0;let u=T(),b=_e();if(u===20){if(b===21)switch(_e()){case 38:case 58:case 18:return 1;default:return 0}if(b===22||b===18)return 2;if(b===25)return 1;if(Wi(b)&&b!==132&&wt(yc))return _e()===128?0:1;if(!kt()&&b!==108)return 0;switch(_e()){case 58:return 1;case 57:return _e(),T()===58||T()===27||T()===63||T()===21?1:0;case 27:case 63:case 21:return 2}return 0}else return Y.assert(u===29),!kt()&&T()!==85?0:pr===1?wt(()=>{Ot(85);let j=_e();if(j===94)switch(_e()){case 63:case 31:case 43:return!1;default:return!0}else if(j===27||j===63)return!0;return!1})?1:0:2}function Om(u){let b=t.getTokenPos();if(On!=null&&On.has(b))return;let O=Rm(!1,u);return O||(On||(On=new Set)).add(b),O}function Mm(u){if(T()===132&&wt(Lm)===1){let b=L(),O=sp(),j=s_(0);return km(b,j,u,O)}}function Lm(){if(T()===132){if(_e(),t.hasPrecedingLineBreak()||T()===38)return 0;let u=s_(0);if(!t.hasPrecedingLineBreak()&&u.kind===79&&T()===38)return 1}return 0}function Rm(u,b){let O=L(),j=fe(),z=sp(),re=Ke(z,Ul)?2:0,Ee=Xn(),qe;if(de(20)){if(u)qe=wc(re,u);else{let di=wc(re,u);if(!di)return;qe=di}if(!de(21)&&!u)return}else{if(!u)return;qe=ui()}let We=T()===58,$e=pi(58,!1);if($e&&!u&&Cu($e))return;let lt=$e;for(;(lt==null?void 0:lt.kind)===193;)lt=lt.type;let Jt=lt&&dd(lt);if(!u&&T()!==38&&(Jt||T()!==18))return;let Lt=T(),At=ea(38),kr=Lt===38||Lt===18?Bu(Ke(z,Ul),b):wr();if(!b&&We&&T()!==58)return;let Fn=N.createArrowFunction(z,Ee,qe,$e,At,kr);return St(Q(Fn,O),j)}function Bu(u,b){if(T()===18)return Dc(u?2:0);if(T()!==26&&T()!==98&&T()!==84&&vh()&&!Am())return Dc(16|(u?2:0));let O=br;br=!1;let j=u?Xi(()=>Yr(b)):Aa(()=>Yr(b));return br=O,j}function lb(u,b,O){let j=dr(57);if(!j)return u;let z;return Q(N.createConditionalExpression(u,j,Ct(r,()=>Yr(!1)),z=ea(58),xl(z)?Yr(O):Jn(79,!1,ve._0_expected,Br(58))),b)}function s_(u){let b=L(),O=Wu();return qu(u,O,b)}function jm(u){return u===101||u===162}function qu(u,b,O){for(;;){bt();let j=Dl(T());if(!(T()===42?j>=u:j>u)||T()===101&&Qi())break;if(T()===128||T()===150){if(t.hasPrecedingLineBreak())break;{let re=T();_e(),b=re===150?Fm(b,sr()):Bm(b,sr())}}else b=Uu(b,sn(),s_(j),O)}return b}function Jm(){return Qi()&&T()===101?!1:Dl(T())>0}function Fm(u,b){return Q(N.createSatisfiesExpression(u,b),u.pos)}function Uu(u,b,O,j){return Q(N.createBinaryExpression(u,b,O),j)}function Bm(u,b){return Q(N.createAsExpression(u,b),u.pos)}function qm(){let u=L();return Q(N.createPrefixUnaryExpression(T(),dt(na)),u)}function Um(){let u=L();return Q(N.createDeleteExpression(dt(na)),u)}function ub(){let u=L();return Q(N.createTypeOfExpression(dt(na)),u)}function zm(){let u=L();return Q(N.createVoidExpression(dt(na)),u)}function pb(){return T()===133?xn()?!0:wt(Zu):!1}function zu(){let u=L();return Q(N.createAwaitExpression(dt(na)),u)}function Wu(){if(Wm()){let O=L(),j=Vm();return T()===42?qu(Dl(T()),j,O):j}let u=T(),b=na();if(T()===42){let O=Ar(_r,b.pos),{end:j}=b;b.kind===213?Z(O,j,ve.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):Z(O,j,ve.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,Br(u))}return b}function na(){switch(T()){case 39:case 40:case 54:case 53:return qm();case 89:return Um();case 112:return ub();case 114:return zm();case 29:return pr===1?o_(!0):Zm();case 133:if(pb())return zu();default:return Vm()}}function Wm(){switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 133:return!1;case 29:if(pr!==1)return!1;default:return!0}}function Vm(){if(T()===45||T()===46){let b=L();return Q(N.createPrefixUnaryExpression(T(),dt(to)),b)}else if(pr===1&&T()===29&&wt(Fv))return o_(!0);let u=to();if(Y.assert(Do(u)),(T()===45||T()===46)&&!t.hasPrecedingLineBreak()){let b=T();return _e(),Q(N.createPostfixUnaryExpression(u,b),u.pos)}return u}function to(){let u=L(),b;return T()===100?wt(a_)?(Gr|=2097152,b=sn()):wt(Yv)?(_e(),_e(),b=Q(N.createMetaProperty(100,zr()),u),Gr|=4194304):b=Hm():b=T()===106?Vu():Hm(),$u(u,b)}function Hm(){let u=L(),b=Ku();return Ja(u,b,!0)}function Vu(){let u=L(),b=sn();if(T()===29){let O=L(),j=Tr(Pc);j!==void 0&&(Z(O,L(),ve.super_may_not_use_type_arguments),__()||(b=N.createExpressionWithTypeArguments(b,j)))}return T()===20||T()===24||T()===22?b:(ea(24,ve.super_must_be_followed_by_an_argument_list_or_member_access),Q(Ve(b,bc(!0,!0)),u))}function o_(u,b,O){let j=L(),z=Km(u),re;if(z.kind===283){let Ee=$m(z),qe,We=Ee[Ee.length-1];if((We==null?void 0:We.kind)===281&&!Hi(We.openingElement.tagName,We.closingElement.tagName)&&Hi(z.tagName,We.closingElement.tagName)){let $e=We.children.end,lt=Q(N.createJsxElement(We.openingElement,We.children,Q(N.createJsxClosingElement(Q(Te(""),$e,$e)),$e,$e)),We.openingElement.pos,$e);Ee=Er([...Ee.slice(0,Ee.length-1),lt],Ee.pos,$e),qe=We.closingElement}else qe=Qm(z,u),Hi(z.tagName,qe.tagName)||(O&&tu(O)&&Hi(qe.tagName,O.tagName)?ie(z.tagName,ve.JSX_element_0_has_no_corresponding_closing_tag,B_(_r,z.tagName)):ie(qe.tagName,ve.Expected_corresponding_JSX_closing_tag_for_0,B_(_r,z.tagName)));re=Q(N.createJsxElement(z,Ee,qe),j)}else z.kind===286?re=Q(N.createJsxFragment(z,$m(z),gb(u)),j):(Y.assert(z.kind===282),re=z);if(u&&T()===29){let Ee=typeof b>"u"?re.pos:b,qe=Tr(()=>o_(!0,Ee));if(qe){let We=Jn(27,!1);return $f(We,qe.pos,0),Z(Ar(_r,Ee),qe.end,ve.JSX_expressions_must_have_one_parent_element),Q(N.createBinaryExpression(re,We,qe),j)}}return re}function fb(){let u=L(),b=N.createJsxText(t.getTokenValue(),ar===12);return ar=t.scanJsxToken(),Q(b,u)}function Gm(u,b){switch(b){case 1:if(uv(u))ie(u,ve.JSX_fragment_has_no_corresponding_closing_tag);else{let O=u.tagName,j=Ar(_r,O.pos);Z(j,O.end,ve.JSX_element_0_has_no_corresponding_closing_tag,B_(_r,u.tagName))}return;case 30:case 7:return;case 11:case 12:return fb();case 18:return Xm(!1);case 29:return o_(!1,void 0,u);default:return Y.assertNever(b)}}function $m(u){let b=[],O=L(),j=hr;for(hr|=1<<14;;){let z=Gm(u,ar=t.reScanJsxToken());if(!z||(b.push(z),tu(u)&&(z==null?void 0:z.kind)===281&&!Hi(z.openingElement.tagName,z.closingElement.tagName)&&Hi(u.tagName,z.closingElement.tagName)))break}return hr=j,Er(b,O)}function db(){let u=L();return Q(N.createJsxAttributes(Kn(13,mb)),u)}function Km(u){let b=L();if(de(29),T()===31)return Lr(),Q(N.createJsxOpeningFragment(),b);let O=Ac(),j=nr&262144?void 0:Nc(),z=db(),re;return T()===31?(Lr(),re=N.createJsxOpeningElement(O,j,z)):(de(43),de(31,void 0,!1)&&(u?_e():Lr()),re=N.createJsxSelfClosingElement(O,j,z)),Q(re,b)}function Ac(){let u=L();Dr();let b=T()===108?sn():zr();for(;Ot(24);)b=Q(Ve(b,bc(!0,!1)),u);return b}function Xm(u){let b=L();if(!de(18))return;let O,j;return T()!==19&&(O=dr(25),j=Sr()),u?de(19):de(19,void 0,!1)&&Lr(),Q(N.createJsxExpression(O,j),b)}function mb(){if(T()===18)return hb();Dr();let u=L();return Q(N.createJsxAttribute(zr(),Ym()),u)}function Ym(){if(T()===63){if(yr()===10)return Di();if(T()===18)return Xm(!0);if(T()===29)return o_(!0);Dt(ve.or_JSX_element_expected)}}function hb(){let u=L();de(18),de(25);let b=Sr();return de(19),Q(N.createJsxSpreadAttribute(b),u)}function Qm(u,b){let O=L();de(30);let j=Ac();return de(31,void 0,!1)&&(b||!Hi(u.tagName,j)?_e():Lr()),Q(N.createJsxClosingElement(j),O)}function gb(u){let b=L();return de(30),de(31,ve.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(u?_e():Lr()),Q(N.createJsxJsxClosingFragment(),b)}function Zm(){Y.assert(pr!==1,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");let u=L();de(29);let b=sr();de(31);let O=na();return Q(N.createTypeAssertion(b,O),u)}function yb(){return _e(),fr(T())||T()===22||__()}function eh(){return T()===28&&wt(yb)}function Hu(u){if(u.flags&32)return!0;if(Uo(u)){let b=u.expression;for(;Uo(b)&&!(b.flags&32);)b=b.expression;if(b.flags&32){for(;Uo(u);)u.flags|=32,u=u.expression;return!0}}return!1}function fi(u,b,O){let j=bc(!0,!0),z=O||Hu(b),re=z?pt(b,O,j):Ve(b,j);if(z&&vn(re.name)&&ie(re.name,ve.An_optional_chain_cannot_contain_private_identifiers),ev(b)&&b.typeArguments){let Ee=b.typeArguments.pos-1,qe=Ar(_r,b.typeArguments.end)+1;Z(Ee,qe,ve.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Q(re,u)}function ja(u,b,O){let j;if(T()===23)j=Jn(79,!0,ve.An_element_access_expression_should_take_an_argument);else{let re=It(Sr);Ta(re)&&(re.text=Ia(re.text)),j=re}de(23);let z=O||Hu(b)?Nt(b,O,j):Gt(b,j);return Q(z,u)}function Ja(u,b,O){for(;;){let j,z=!1;if(O&&eh()?(j=ea(28),z=fr(T())):z=Ot(24),z){b=fi(u,b,j);continue}if((j||!Ai())&&Ot(22)){b=ja(u,b,j);continue}if(__()){b=!j&&b.kind===230?Gu(u,b.expression,j,b.typeArguments):Gu(u,b,j,void 0);continue}if(!j){if(T()===53&&!t.hasPrecedingLineBreak()){_e(),b=Q(N.createNonNullExpression(b),u);continue}let re=Tr(Pc);if(re){b=Q(N.createExpressionWithTypeArguments(b,re),u);continue}}return b}}function __(){return T()===14||T()===15}function Gu(u,b,O,j){let z=N.createTaggedTemplateExpression(b,j,T()===14?($t(),Di()):Wd(!0));return(O||b.flags&32)&&(z.flags|=32),z.questionDotToken=O,Q(z,u)}function $u(u,b){for(;;){b=Ja(u,b,!0);let O,j=dr(28);if(j&&(O=Tr(Pc),__())){b=Gu(u,b,j,O);continue}if(O||T()===20){!j&&b.kind===230&&(O=b.typeArguments,b=b.expression);let z=th(),re=j||Hu(b)?er(b,j,O,z):Xt(b,O,z);b=Q(re,u);continue}if(j){let z=Jn(79,!1,ve.Identifier_expected);b=Q(pt(b,j,z),u)}break}return b}function th(){de(20);let u=mn(11,ih);return de(21),u}function Pc(){if(nr&262144||Wt()!==29)return;_e();let u=mn(20,sr);if(bt()===31)return _e(),u&&vb()?u:void 0}function vb(){switch(T()){case 20:case 14:case 15:return!0;case 29:case 31:case 39:case 40:return!1}return t.hasPrecedingLineBreak()||Jm()||!La()}function Ku(){switch(T()){case 8:case 9:case 10:case 14:return Di();case 108:case 106:case 104:case 110:case 95:return sn();case 20:return bb();case 22:return ah();case 18:return Xu();case 132:if(!wt(yh))break;return Yu();case 59:return Ub();case 84:return Ih();case 98:return Yu();case 103:return Tb();case 43:case 68:if(jt()===13)return Di();break;case 15:return Wd(!1);case 80:return gc()}return wr(ve.Expression_expected)}function bb(){let u=L(),b=fe();de(20);let O=It(Sr);return de(21),St(Q(Hr(O),u),b)}function rh(){let u=L();de(25);let b=Yr(!0);return Q(N.createSpreadElement(b),u)}function nh(){return T()===25?rh():T()===27?Q(N.createOmittedExpression(),L()):Yr(!0)}function ih(){return Ct(r,nh)}function ah(){let u=L(),b=t.getTokenPos(),O=de(22),j=t.hasPrecedingLineBreak(),z=mn(15,nh);return Ts(22,23,O,b),Q(Oe(z,j),u)}function sh(){let u=L(),b=fe();if(dr(25)){let lt=Yr(!0);return St(Q(N.createSpreadAssignment(lt),u),b)}let O=ki(!0);if(Ks(137))return Fa(u,b,O,174,0);if(Ks(151))return Fa(u,b,O,175,0);let j=dr(41),z=kt(),re=Es(),Ee=dr(57),qe=dr(53);if(j||T()===20||T()===29)return Ah(u,b,O,j,re,Ee,qe);let We;if(z&&T()!==58){let lt=dr(63),Jt=lt?It(()=>Yr(!0)):void 0;We=N.createShorthandPropertyAssignment(re,Jt),We.equalsToken=lt}else{de(58);let lt=It(()=>Yr(!0));We=N.createPropertyAssignment(re,lt)}return We.modifiers=O,We.questionToken=Ee,We.exclamationToken=qe,St(Q(We,u),b)}function Xu(){let u=L(),b=t.getTokenPos(),O=de(18),j=t.hasPrecedingLineBreak(),z=mn(12,sh,!0);return Ts(18,19,O,b),Q(oe(z,j),u)}function Yu(){let u=Ai();Re(!1);let b=L(),O=fe(),j=ki(!1);de(98);let z=dr(41),re=z?1:0,Ee=Ke(j,Ul)?2:0,qe=re&&Ee?vs(ro):re?ys(ro):Ee?Xi(ro):ro(),We=Xn(),$e=ra(re|Ee),lt=pi(58,!1),Jt=Dc(re|Ee);Re(u);let Lt=N.createFunctionExpression(j,z,qe,We,$e,lt,Jt);return St(Q(Lt,b),O)}function ro(){return Tt()?hc():void 0}function Tb(){let u=L();if(de(103),Ot(24)){let re=zr();return Q(N.createMetaProperty(103,re),u)}let b=L(),O=Ja(b,Ku(),!1),j;O.kind===230&&(j=O.typeArguments,O=O.expression),T()===28&&Dt(ve.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,B_(_r,O));let z=T()===20?th():void 0;return Q(Tn(O,j,z),u)}function ws(u,b){let O=L(),j=fe(),z=t.getTokenPos(),re=de(18,b);if(re||u){let Ee=t.hasPrecedingLineBreak(),qe=Kn(1,on);Ts(18,19,re,z);let We=St(Q(Gi(qe,Ee),O),j);return T()===63&&(Dt(ve.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),_e()),We}else{let Ee=ui();return St(Q(Gi(Ee,void 0),O),j)}}function Dc(u,b){let O=Yi();Le(!!(u&1));let j=xn();ot(!!(u&2));let z=br;br=!1;let re=Ai();re&&Re(!1);let Ee=ws(!!(u&16),b);return re&&Re(!0),br=z,Le(O),ot(j),Ee}function oh(){let u=L(),b=fe();return de(26),St(Q(N.createEmptyStatement(),u),b)}function Sb(){let u=L(),b=fe();de(99);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=on(),Ee=Ot(91)?on():void 0;return St(Q(Ut(z,re,Ee),u),b)}function _h(){let u=L(),b=fe();de(90);let O=on();de(115);let j=t.getTokenPos(),z=de(20),re=It(Sr);return Ts(20,21,z,j),Ot(26),St(Q(N.createDoStatement(O,re),u),b)}function xb(){let u=L(),b=fe();de(115);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=on();return St(Q(kn(z,re),u),b)}function ch(){let u=L(),b=fe();de(97);let O=dr(133);de(20);let j;T()!==26&&(T()===113||T()===119||T()===85?j=Eh(!0):j=Mr(Sr));let z;if(O?de(162):Ot(162)){let re=It(()=>Yr(!0));de(21),z=mr(O,j,re,on())}else if(Ot(101)){let re=It(Sr);de(21),z=N.createForInStatement(j,re,on())}else{de(26);let re=T()!==26&&T()!==21?It(Sr):void 0;de(26);let Ee=T()!==21?It(Sr):void 0;de(21),z=an(j,re,Ee,on())}return St(Q(z,u),b)}function lh(u){let b=L(),O=fe();de(u===249?81:86);let j=ka()?void 0:wr();En();let z=u===249?N.createBreakStatement(j):N.createContinueStatement(j);return St(Q(z,b),O)}function uh(){let u=L(),b=fe();de(105);let O=ka()?void 0:It(Sr);return En(),St(Q(N.createReturnStatement(O),u),b)}function Eb(){let u=L(),b=fe();de(116);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=Mt(33554432,on);return St(Q(N.createWithStatement(z,re),u),b)}function wb(){let u=L(),b=fe();de(82);let O=It(Sr);de(58);let j=Kn(3,on);return St(Q(N.createCaseClause(O,j),u),b)}function ph(){let u=L();de(88),de(58);let b=Kn(3,on);return Q(N.createDefaultClause(b),u)}function Cb(){return T()===82?wb():ph()}function fh(){let u=L();de(18);let b=Kn(2,Cb);return de(19),Q(N.createCaseBlock(b),u)}function Ab(){let u=L(),b=fe();de(107),de(20);let O=It(Sr);de(21);let j=fh();return St(Q(N.createSwitchStatement(O,j),u),b)}function dh(){let u=L(),b=fe();de(109);let O=t.hasPrecedingLineBreak()?void 0:It(Sr);return O===void 0&&($r++,O=Q(Te(""),L())),t_()||Zi(O),St(Q(N.createThrowStatement(O),u),b)}function Pb(){let u=L(),b=fe();de(111);let O=ws(!1),j=T()===83?mh():void 0,z;return(!j||T()===96)&&(de(96,ve.catch_or_finally_expected),z=ws(!1)),St(Q(N.createTryStatement(O,j,z),u),b)}function mh(){let u=L();de(83);let b;Ot(20)?(b=Ic(),de(21)):b=void 0;let O=ws(!1);return Q(N.createCatchClause(b,O),u)}function Db(){let u=L(),b=fe();return de(87),En(),St(Q(N.createDebuggerStatement(),u),b)}function hh(){let u=L(),b=fe(),O,j=T()===20,z=It(Sr);return yt(z)&&Ot(58)?O=N.createLabeledStatement(z,on()):(t_()||Zi(z),O=fn(z),j&&(b=!1)),St(Q(O,u),b)}function Qu(){return _e(),fr(T())&&!t.hasPrecedingLineBreak()}function gh(){return _e(),T()===84&&!t.hasPrecedingLineBreak()}function yh(){return _e(),T()===98&&!t.hasPrecedingLineBreak()}function Zu(){return _e(),(fr(T())||T()===8||T()===9||T()===10)&&!t.hasPrecedingLineBreak()}function kb(){for(;;)switch(T()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 154:return _b();case 142:case 143:return Ob();case 126:case 127:case 132:case 136:case 121:case 122:case 123:case 146:if(_e(),t.hasPrecedingLineBreak())return!1;continue;case 159:return _e(),T()===18||T()===79||T()===93;case 100:return _e(),T()===10||T()===41||T()===18||fr(T());case 93:let u=_e();if(u===154&&(u=wt(_e)),u===63||u===41||u===18||u===88||u===128||u===59)return!0;continue;case 124:_e();continue;default:return!1}}function c_(){return wt(kb)}function vh(){switch(T()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:return!0;case 100:return c_()||wt(ku);case 85:case 93:return c_();case 132:case 136:case 118:case 142:case 143:case 154:case 159:return!0;case 127:case 123:case 121:case 122:case 124:case 146:return c_()||!wt(Qu);default:return La()}}function bh(){return _e(),Tt()||T()===18||T()===22}function Ib(){return wt(bh)}function on(){switch(T()){case 26:return oh();case 18:return ws(!1);case 113:return rp(L(),fe(),void 0);case 119:if(Ib())return rp(L(),fe(),void 0);break;case 98:return np(L(),fe(),void 0);case 84:return Nh(L(),fe(),void 0);case 99:return Sb();case 90:return _h();case 115:return xb();case 97:return ch();case 86:return lh(248);case 81:return lh(249);case 105:return uh();case 116:return Eb();case 107:return Ab();case 109:return dh();case 111:case 83:case 96:return Pb();case 87:return Db();case 59:return ep();case 132:case 118:case 154:case 142:case 143:case 136:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 127:case 124:case 146:case 159:if(c_())return ep();break}return hh()}function Th(u){return u.kind===136}function ep(){let u=L(),b=fe(),O=ki(!0);if(Ke(O,Th)){let z=Nb(u);if(z)return z;for(let re of O)re.flags|=16777216;return Mt(16777216,()=>l_(u,b,O))}else return l_(u,b,O)}function Nb(u){return Mt(16777216,()=>{let b=mu(hr,u);if(b)return hu(b)})}function l_(u,b,O){switch(T()){case 113:case 119:case 85:return rp(u,b,O);case 98:return np(u,b,O);case 84:return Nh(u,b,O);case 118:return Hb(u,b,O);case 154:return Gb(u,b,O);case 92:return Kb(u,b,O);case 159:case 142:case 143:return Fh(u,b,O);case 100:return Qb(u,b,O);case 93:switch(_e(),T()){case 88:case 63:return _6(u,b,O);case 128:return Yb(u,b,O);default:return o6(u,b,O)}default:if(O){let j=Jn(279,!0,ve.Declaration_expected);return Gf(j,u),j.modifiers=O,j}return}}function Ob(){return _e(),!t.hasPrecedingLineBreak()&&(kt()||T()===10)}function kc(u,b){if(T()!==18){if(u&4){i_();return}if(ka()){En();return}}return Dc(u,b)}function Mb(){let u=L();if(T()===27)return Q(N.createOmittedExpression(),u);let b=dr(25),O=no(),j=Ra();return Q(N.createBindingElement(b,void 0,O,j),u)}function Sh(){let u=L(),b=dr(25),O=Tt(),j=Es(),z;O&&T()!==58?(z=j,j=void 0):(de(58),z=no());let re=Ra();return Q(N.createBindingElement(b,j,z,re),u)}function Lb(){let u=L();de(18);let b=mn(9,Sh);return de(19),Q(N.createObjectBindingPattern(b),u)}function xh(){let u=L();de(22);let b=mn(10,Mb);return de(23),Q(N.createArrayBindingPattern(b),u)}function tp(){return T()===18||T()===22||T()===80||Tt()}function no(u){return T()===22?xh():T()===18?Lb():hc(u)}function Rb(){return Ic(!0)}function Ic(u){let b=L(),O=fe(),j=no(ve.Private_identifiers_are_not_allowed_in_variable_declarations),z;u&&j.kind===79&&T()===53&&!t.hasPrecedingLineBreak()&&(z=sn());let re=Ma(),Ee=jm(T())?void 0:Ra(),qe=$i(j,z,re,Ee);return St(Q(qe,b),O)}function Eh(u){let b=L(),O=0;switch(T()){case 113:break;case 119:O|=1;break;case 85:O|=2;break;default:Y.fail()}_e();let j;if(T()===162&&wt(wh))j=ui();else{let z=Qi();xe(u),j=mn(8,u?Ic:Rb),xe(z)}return Q(dn(j,O),b)}function wh(){return yc()&&_e()===21}function rp(u,b,O){let j=Eh(!1);En();let z=pn(O,j);return St(Q(z,u),b)}function np(u,b,O){let j=xn(),z=Vn(O);de(98);let re=dr(41),Ee=z&1024?ro():hc(),qe=re?1:0,We=z&512?2:0,$e=Xn();z&1&&ot(!0);let lt=ra(qe|We),Jt=pi(58,!1),Lt=kc(qe|We,ve.or_expected);ot(j);let At=N.createFunctionDeclaration(O,re,Ee,$e,lt,Jt,Lt);return St(Q(At,u),b)}function jb(){if(T()===135)return de(135);if(T()===10&&wt(_e)===20)return Tr(()=>{let u=Di();return u.text==="constructor"?u:void 0})}function Ch(u,b,O){return Tr(()=>{if(jb()){let j=Xn(),z=ra(0),re=pi(58,!1),Ee=kc(0,ve.or_expected),qe=N.createConstructorDeclaration(O,z,Ee);return qe.typeParameters=j,qe.type=re,St(Q(qe,u),b)}})}function Ah(u,b,O,j,z,re,Ee,qe){let We=j?1:0,$e=Ke(O,Ul)?2:0,lt=Xn(),Jt=ra(We|$e),Lt=pi(58,!1),At=kc(We|$e,qe),kr=N.createMethodDeclaration(O,j,z,re,lt,Jt,Lt,At);return kr.exclamationToken=Ee,St(Q(kr,u),b)}function ip(u,b,O,j,z){let re=!z&&!t.hasPrecedingLineBreak()?dr(53):void 0,Ee=Ma(),qe=Ct(45056,Ra);mc(j,Ee,qe);let We=N.createPropertyDeclaration(O,j,z||re,Ee,qe);return St(Q(We,u),b)}function Ph(u,b,O){let j=dr(41),z=Es(),re=dr(57);return j||T()===20||T()===29?Ah(u,b,O,j,z,re,void 0,ve.or_expected):ip(u,b,O,z,re)}function Fa(u,b,O,j,z){let re=Es(),Ee=Xn(),qe=ra(0),We=pi(58,!1),$e=kc(z),lt=j===174?N.createGetAccessorDeclaration(O,re,qe,We,$e):N.createSetAccessorDeclaration(O,re,qe,$e);return lt.typeParameters=Ee,ic(lt)&&(lt.type=We),St(Q(lt,u),b)}function Jb(){let u;if(T()===59)return!0;for(;Wi(T());){if(u=T(),V3(u))return!0;_e()}if(T()===41||(xs()&&(u=T(),_e()),T()===22))return!0;if(u!==void 0){if(!ba(u)||u===151||u===137)return!0;switch(T()){case 20:case 29:case 53:case 58:case 63:case 57:return!0;default:return ka()}}return!1}function Fb(u,b,O){ea(124);let j=Dh(),z=St(Q(N.createClassStaticBlockDeclaration(j),u),b);return z.modifiers=O,z}function Dh(){let u=Yi(),b=xn();Le(!1),ot(!0);let O=ws(!1);return Le(u),ot(b),O}function Bb(){if(xn()&&T()===133){let u=L(),b=wr(ve.Expression_expected);_e();let O=Ja(u,b,!0);return $u(u,O)}return to()}function kh(){let u=L();if(!Ot(59))return;let b=ci(Bb);return Q(N.createDecorator(b),u)}function ap(u,b,O){let j=L(),z=T();if(T()===85&&b){if(!Tr(uu))return}else{if(O&&T()===124&&wt(Mc))return;if(u&&T()===124)return;if(!Md())return}return Q(Ye(z),j)}function ki(u,b,O){let j=L(),z,re,Ee,qe=!1,We=!1,$e=!1;if(u&&T()===59)for(;re=kh();)z=tr(z,re);for(;Ee=ap(qe,b,O);)Ee.kind===124&&(qe=!0),z=tr(z,Ee),We=!0;if(We&&u&&T()===59)for(;re=kh();)z=tr(z,re),$e=!0;if($e)for(;Ee=ap(qe,b,O);)Ee.kind===124&&(qe=!0),z=tr(z,Ee);return z&&Er(z,j)}function sp(){let u;if(T()===132){let b=L();_e();let O=Q(Ye(132),b);u=Er([O],b)}return u}function qb(){let u=L();if(T()===26)return _e(),Q(N.createSemicolonClassElement(),u);let b=fe(),O=ki(!0,!0,!0);if(T()===124&&wt(Mc))return Fb(u,b,O);if(Ks(137))return Fa(u,b,O,174,0);if(Ks(151))return Fa(u,b,O,175,0);if(T()===135||T()===10){let j=Ch(u,b,O);if(j)return j}if(im())return am(u,b,O);if(fr(T())||T()===10||T()===8||T()===41||T()===22)if(Ke(O,Th)){for(let z of O)z.flags|=16777216;return Mt(16777216,()=>Ph(u,b,O))}else return Ph(u,b,O);if(O){let j=Jn(79,!0,ve.Declaration_expected);return ip(u,b,O,j,void 0)}return Y.fail("Should not have attempted to parse class member declaration.")}function Ub(){let u=L(),b=fe(),O=ki(!0);if(T()===84)return op(u,b,O,228);let j=Jn(279,!0,ve.Expression_expected);return Gf(j,u),j.modifiers=O,j}function Ih(){return op(L(),fe(),void 0,228)}function Nh(u,b,O){return op(u,b,O,260)}function op(u,b,O,j){let z=xn();de(84);let re=Oh(),Ee=Xn();Ke(O,N8)&&ot(!0);let qe=Mh(),We;de(18)?(We=Vb(),de(19)):We=ui(),ot(z);let $e=j===260?N.createClassDeclaration(O,re,Ee,qe,We):N.createClassExpression(O,re,Ee,qe,We);return St(Q($e,u),b)}function Oh(){return Tt()&&!zb()?Ss(Tt()):void 0}function zb(){return T()===117&&wt(pu)}function Mh(){if(Oc())return Kn(22,Lh)}function Lh(){let u=L(),b=T();Y.assert(b===94||b===117),_e();let O=mn(7,Wb);return Q(N.createHeritageClause(b,O),u)}function Wb(){let u=L(),b=to();if(b.kind===230)return b;let O=Nc();return Q(N.createExpressionWithTypeArguments(b,O),u)}function Nc(){return T()===29?Oa(20,sr,29,31):void 0}function Oc(){return T()===94||T()===117}function Vb(){return Kn(5,qb)}function Hb(u,b,O){de(118);let j=wr(),z=Xn(),re=Mh(),Ee=Iu(),qe=N.createInterfaceDeclaration(O,j,z,re,Ee);return St(Q(qe,u),b)}function Gb(u,b,O){de(154);let j=wr(),z=Xn();de(63);let re=T()===139&&Tr(Ou)||sr();En();let Ee=N.createTypeAliasDeclaration(O,j,z,re);return St(Q(Ee,u),b)}function $b(){let u=L(),b=fe(),O=Es(),j=It(Ra);return St(Q(N.createEnumMember(O,j),u),b)}function Kb(u,b,O){de(92);let j=wr(),z;de(18)?(z=$s(()=>mn(6,$b)),de(19)):z=ui();let re=N.createEnumDeclaration(O,j,z);return St(Q(re,u),b)}function Rh(){let u=L(),b;return de(18)?(b=Kn(1,on),de(19)):b=ui(),Q(N.createModuleBlock(b),u)}function jh(u,b,O,j){let z=j&16,re=wr(),Ee=Ot(24)?jh(L(),!1,void 0,4|z):Rh(),qe=N.createModuleDeclaration(O,re,Ee,j);return St(Q(qe,u),b)}function Jh(u,b,O){let j=0,z;T()===159?(z=wr(),j|=1024):(z=Di(),z.text=Ia(z.text));let re;T()===18?re=Rh():En();let Ee=N.createModuleDeclaration(O,z,re,j);return St(Q(Ee,u),b)}function Fh(u,b,O){let j=0;if(T()===159)return Jh(u,b,O);if(Ot(143))j|=16;else if(de(142),T()===10)return Jh(u,b,O);return jh(u,b,O,j)}function Bh(){return T()===147&&wt(qh)}function qh(){return _e()===20}function Mc(){return _e()===18}function Xb(){return _e()===43}function Yb(u,b,O){de(128),de(143);let j=wr();En();let z=N.createNamespaceExportDeclaration(j);return z.modifiers=O,St(Q(z,u),b)}function Qb(u,b,O){de(100);let j=t.getStartPos(),z;kt()&&(z=wr());let re=!1;if(T()!==158&&(z==null?void 0:z.escapedText)==="type"&&(kt()||Zb())&&(re=!0,z=kt()?wr():void 0),z&&!e6())return t6(u,b,O,z,re);let Ee;(z||T()===41||T()===18)&&(Ee=r6(z,j,re),de(158));let qe=Lc(),We;T()===130&&!t.hasPrecedingLineBreak()&&(We=_p()),En();let $e=N.createImportDeclaration(O,Ee,qe,We);return St(Q($e,u),b)}function Uh(){let u=L(),b=fr(T())?zr():n_(10);de(58);let O=Yr(!0);return Q(N.createAssertEntry(b,O),u)}function _p(u){let b=L();u||de(130);let O=t.getTokenPos();if(de(18)){let j=t.hasPrecedingLineBreak(),z=mn(24,Uh,!0);if(!de(19)){let re=Cn(Zt);re&&re.code===ve._0_expected.code&&Rl(re,Ro(Ur,O,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(N.createAssertClause(z,j),b)}else{let j=Er([],L(),void 0,!1);return Q(N.createAssertClause(j,!1),b)}}function Zb(){return T()===41||T()===18}function e6(){return T()===27||T()===158}function t6(u,b,O,j,z){de(63);let re=cp();En();let Ee=N.createImportEqualsDeclaration(O,z,j,re);return St(Q(Ee,u),b)}function r6(u,b,O){let j;return(!u||Ot(27))&&(j=T()===41?Rc():zh(272)),Q(N.createImportClause(O,u,j),b)}function cp(){return Bh()?n6():Ys(!1)}function n6(){let u=L();de(147),de(20);let b=Lc();return de(21),Q(N.createExternalModuleReference(b),u)}function Lc(){if(T()===10){let u=Di();return u.text=Ia(u.text),u}else return Sr()}function Rc(){let u=L();de(41),de(128);let b=wr();return Q(N.createNamespaceImport(b),u)}function zh(u){let b=L(),O=u===272?N.createNamedImports(Oa(23,a6,18,19)):N.createNamedExports(Oa(23,i6,18,19));return Q(O,b)}function i6(){let u=fe();return St(Ba(278),u)}function a6(){return Ba(273)}function Ba(u){let b=L(),O=ba(T())&&!kt(),j=t.getTokenPos(),z=t.getTextPos(),re=!1,Ee,qe=!0,We=zr();if(We.escapedText==="type")if(T()===128){let Jt=zr();if(T()===128){let Lt=zr();fr(T())?(re=!0,Ee=Jt,We=lt(),qe=!1):(Ee=We,We=Lt,qe=!1)}else fr(T())?(Ee=We,qe=!1,We=lt()):(re=!0,We=Jt)}else fr(T())&&(re=!0,We=lt());qe&&T()===128&&(Ee=We,de(128),We=lt()),u===273&&O&&Z(j,z,ve.Identifier_expected);let $e=u===273?N.createImportSpecifier(re,Ee,We):N.createExportSpecifier(re,Ee,We);return Q($e,b);function lt(){return O=ba(T())&&!kt(),j=t.getTokenPos(),z=t.getTextPos(),zr()}}function s6(u){return Q(N.createNamespaceExport(zr()),u)}function o6(u,b,O){let j=xn();ot(!0);let z,re,Ee,qe=Ot(154),We=L();Ot(41)?(Ot(128)&&(z=s6(We)),de(158),re=Lc()):(z=zh(276),(T()===158||T()===10&&!t.hasPrecedingLineBreak())&&(de(158),re=Lc())),re&&T()===130&&!t.hasPrecedingLineBreak()&&(Ee=_p()),En(),ot(j);let $e=N.createExportDeclaration(O,qe,z,re,Ee);return St(Q($e,u),b)}function _6(u,b,O){let j=xn();ot(!0);let z;Ot(63)?z=!0:de(88);let re=Yr(!0);En(),ot(j);let Ee=N.createExportAssignment(O,z,re);return St(Q(Ee,u),b)}let io;(u=>{u[u.SourceElements=0]="SourceElements",u[u.BlockStatements=1]="BlockStatements",u[u.SwitchClauses=2]="SwitchClauses",u[u.SwitchClauseStatements=3]="SwitchClauseStatements",u[u.TypeMembers=4]="TypeMembers",u[u.ClassMembers=5]="ClassMembers",u[u.EnumMembers=6]="EnumMembers",u[u.HeritageClauseElement=7]="HeritageClauseElement",u[u.VariableDeclarations=8]="VariableDeclarations",u[u.ObjectBindingElements=9]="ObjectBindingElements",u[u.ArrayBindingElements=10]="ArrayBindingElements",u[u.ArgumentExpressions=11]="ArgumentExpressions",u[u.ObjectLiteralMembers=12]="ObjectLiteralMembers",u[u.JsxAttributes=13]="JsxAttributes",u[u.JsxChildren=14]="JsxChildren",u[u.ArrayLiteralMembers=15]="ArrayLiteralMembers",u[u.Parameters=16]="Parameters",u[u.JSDocParameters=17]="JSDocParameters",u[u.RestProperties=18]="RestProperties",u[u.TypeParameters=19]="TypeParameters",u[u.TypeArguments=20]="TypeArguments",u[u.TupleElementTypes=21]="TupleElementTypes",u[u.HeritageClauses=22]="HeritageClauses",u[u.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",u[u.AssertEntries=24]="AssertEntries",u[u.Count=25]="Count"})(io||(io={}));let Wh;(u=>{u[u.False=0]="False",u[u.True=1]="True",u[u.Unknown=2]="Unknown"})(Wh||(Wh={}));let Vh;(u=>{function b($e,lt,Jt){Mn("file.js",$e,99,void 0,1),t.setText($e,lt,Jt),ar=t.scan();let Lt=O(),At=Kt("file.js",99,1,!1,[],Ye(1),0,yn),kr=qs(Zt,At);return Or&&(At.jsDocDiagnostics=qs(Or,At)),_i(),Lt?{jsDocTypeExpression:Lt,diagnostics:kr}:void 0}u.parseJSDocTypeExpressionForTests=b;function O($e){let lt=L(),Jt=($e?Ot:de)(18),Lt=Mt(8388608,xc);(!$e||Jt)&&Da(19);let At=N.createJSDocTypeExpression(Lt);return ft(At),Q(At,lt)}u.parseJSDocTypeExpression=O;function j(){let $e=L(),lt=Ot(18),Jt=L(),Lt=Ys(!1);for(;T()===80;)Xr(),Ge(),Lt=Q(N.createJSDocMemberName(Lt,wr()),Jt);lt&&Da(19);let At=N.createJSDocNameReference(Lt);return ft(At),Q(At,$e)}u.parseJSDocNameReference=j;function z($e,lt,Jt){Mn("",$e,99,void 0,1);let Lt=Mt(8388608,()=>We(lt,Jt)),kr=qs(Zt,{languageVariant:0,text:$e});return _i(),Lt?{jsDoc:Lt,diagnostics:kr}:void 0}u.parseIsolatedJSDocComment=z;function re($e,lt,Jt){let Lt=ar,At=Zt.length,kr=Kr,Fn=Mt(8388608,()=>We(lt,Jt));return Sa(Fn,$e),nr&262144&&(Or||(Or=[]),Or.push(...Zt)),ar=Lt,Zt.length=At,Kr=kr,Fn}u.parseJSDocComment=re;let Ee;($e=>{$e[$e.BeginningOfLine=0]="BeginningOfLine",$e[$e.SawAsterisk=1]="SawAsterisk",$e[$e.SavingComments=2]="SavingComments",$e[$e.SavingBackticks=3]="SavingBackticks"})(Ee||(Ee={}));let qe;($e=>{$e[$e.Property=1]="Property",$e[$e.Parameter=2]="Parameter",$e[$e.CallbackParameter=4]="CallbackParameter"})(qe||(qe={}));function We(){let $e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,lt=arguments.length>1?arguments[1]:void 0,Jt=_r,Lt=lt===void 0?Jt.length:$e+lt;if(lt=Lt-$e,Y.assert($e>=0),Y.assert($e<=Lt),Y.assert(Lt<=Jt.length),!LE(Jt,$e))return;let At,kr,Fn,di,Ii,_n=[],qa=[];return t.scanRange($e+3,lt-5,()=>{let se=1,Me,Ae=$e-(Jt.lastIndexOf(` -`,$e)+1)+4;function Ue(vt){Me||(Me=Ae),_n.push(vt),Ae+=vt.length}for(Ge();u_(5););u_(4)&&(se=0,Ae=0);e:for(;;){switch(T()){case 59:se===0||se===1?(lp(_n),Ii||(Ii=L()),za(up(Ae)),se=0,Me=void 0):Ue(t.getTokenText());break;case 4:_n.push(t.getTokenText()),se=0,Ae=0;break;case 41:let vt=t.getTokenText();se===1||se===2?(se=2,Ue(vt)):(se=1,Ae+=vt.length);break;case 5:let Vt=t.getTokenText();se===2?_n.push(Vt):Me!==void 0&&Ae+Vt.length>Me&&_n.push(Vt.slice(Me-Ae)),Ae+=Vt.length;break;case 1:break e;case 18:se=2;let Rr=t.getStartPos(),gn=t.getTextPos()-1,mi=$h(gn);if(mi){di||Hh(_n),qa.push(Q(N.createJSDocText(_n.join("")),di!=null?di:$e,Rr)),qa.push(mi),_n=[],di=t.getTextPos();break}default:se=2,Ue(t.getTokenText());break}Ge()}lp(_n),qa.length&&_n.length&&qa.push(Q(N.createJSDocText(_n.join("")),di!=null?di:$e,Ii)),qa.length&&At&&Y.assertIsDefined(Ii,"having parsed tags implies that the end of the comment span should be set");let Qe=At&&Er(At,kr,Fn);return Q(N.createJSDocComment(qa.length?Er(qa,$e,Ii):_n.length?_n.join(""):void 0,Qe),$e,Lt)});function Hh(se){for(;se.length&&(se[0]===` -`||se[0]==="\r");)se.shift()}function lp(se){for(;se.length&&se[se.length-1].trim()==="";)se.pop()}function Gh(){for(;;){if(Ge(),T()===1)return!0;if(!(T()===5||T()===4))return!1}}function wn(){if(!((T()===5||T()===4)&&wt(Gh)))for(;T()===5||T()===4;)Ge()}function Ua(){if((T()===5||T()===4)&&wt(Gh))return"";let se=t.hasPrecedingLineBreak(),Me=!1,Ae="";for(;se&&T()===41||T()===5||T()===4;)Ae+=t.getTokenText(),T()===4?(se=!0,Me=!0,Ae=""):T()===41&&(se=!1),Ge();return Me?Ae:""}function up(se){Y.assert(T()===59);let Me=t.getTokenPos();Ge();let Ae=ao(void 0),Ue=Ua(),Qe;switch(Ae.escapedText){case"author":Qe=V(Me,Ae,se,Ue);break;case"implements":Qe=et(Me,Ae,se,Ue);break;case"augments":case"extends":Qe=mt(Me,Ae,se,Ue);break;case"class":case"constructor":Qe=Oi(Me,N.createJSDocClassTag,Ae,se,Ue);break;case"public":Qe=Oi(Me,N.createJSDocPublicTag,Ae,se,Ue);break;case"private":Qe=Oi(Me,N.createJSDocPrivateTag,Ae,se,Ue);break;case"protected":Qe=Oi(Me,N.createJSDocProtectedTag,Ae,se,Ue);break;case"readonly":Qe=Oi(Me,N.createJSDocReadonlyTag,Ae,se,Ue);break;case"override":Qe=Oi(Me,N.createJSDocOverrideTag,Ae,se,Ue);break;case"deprecated":ue=!0,Qe=Oi(Me,N.createJSDocDeprecatedTag,Ae,se,Ue);break;case"this":Qe=jB(Me,Ae,se,Ue);break;case"enum":Qe=JB(Me,Ae,se,Ue);break;case"arg":case"argument":case"param":return Xh(Me,Ae,2,se);case"return":case"returns":Qe=o(Me,Ae,se,Ue);break;case"template":Qe=$B(Me,Ae,se,Ue);break;case"type":Qe=l(Me,Ae,se,Ue);break;case"typedef":Qe=FB(Me,Ae,se,Ue);break;case"callback":Qe=qB(Me,Ae,se,Ue);break;case"overload":Qe=UB(Me,Ae,se,Ue);break;case"satisfies":Qe=hn(Me,Ae,se,Ue);break;case"see":Qe=p(Me,Ae,se,Ue);break;case"exception":case"throws":Qe=k(Me,Ae,se,Ue);break;default:Qe=Qt(Me,Ae,se,Ue);break}return Qe}function Qr(se,Me,Ae,Ue){return Ue||(Ae+=Me-se),jc(Ae,Ue.slice(Ae))}function jc(se,Me){let Ae=L(),Ue=[],Qe=[],vt,Vt=0,Rr=!0,gn;function mi(hi){gn||(gn=se),Ue.push(hi),se+=hi.length}Me!==void 0&&(Me!==""&&mi(Me),Vt=1);let Va=T();e:for(;;){switch(Va){case 4:Vt=0,Ue.push(t.getTokenText()),se=0;break;case 59:if(Vt===3||Vt===2&&(!Rr||wt(Cs))){Ue.push(t.getTokenText());break}t.setTextPos(t.getTextPos()-1);case 1:break e;case 5:if(Vt===2||Vt===3)mi(t.getTokenText());else{let so=t.getTokenText();gn!==void 0&&se+so.length>gn&&Ue.push(so.slice(gn-se)),se+=so.length}break;case 18:Vt=2;let hi=t.getStartPos(),pp=t.getTextPos()-1,fp=$h(pp);fp?(Qe.push(Q(N.createJSDocText(Ue.join("")),vt!=null?vt:Ae,hi)),Qe.push(fp),Ue=[],vt=t.getTextPos()):mi(t.getTokenText());break;case 61:Vt===3?Vt=2:Vt=3,mi(t.getTokenText());break;case 41:if(Vt===0){Vt=1,se+=1;break}default:Vt!==3&&(Vt=2),mi(t.getTokenText());break}Rr=T()===5,Va=Ge()}if(Hh(Ue),lp(Ue),Qe.length)return Ue.length&&Qe.push(Q(N.createJSDocText(Ue.join("")),vt!=null?vt:Ae)),Er(Qe,Ae,t.getTextPos());if(Ue.length)return Ue.join("")}function Cs(){let se=Ge();return se===5||se===4}function $h(se){let Me=Tr(Kh);if(!Me)return;Ge(),wn();let Ae=L(),Ue=fr(T())?Ys(!0):void 0;if(Ue)for(;T()===80;)Xr(),Ge(),Ue=Q(N.createJSDocMemberName(Ue,wr()),Ae);let Qe=[];for(;T()!==19&&T()!==4&&T()!==1;)Qe.push(t.getTokenText()),Ge();let vt=Me==="link"?N.createJSDocLink:Me==="linkcode"?N.createJSDocLinkCode:N.createJSDocLinkPlain;return Q(vt(Ue,Qe.join("")),se,t.getTextPos())}function Kh(){if(Ua(),T()===18&&Ge()===59&&fr(Ge())){let se=t.getTokenValue();if(xt(se))return se}}function xt(se){return se==="link"||se==="linkcode"||se==="linkplain"}function Qt(se,Me,Ae,Ue){return Q(N.createJSDocUnknownTag(Me,Qr(se,L(),Ae,Ue)),se)}function za(se){se&&(At?At.push(se):(At=[se],kr=se.pos),Fn=se.end)}function Wa(){return Ua(),T()===18?O():void 0}function c6(){let se=u_(22);se&&wn();let Me=u_(61),Ae=KB();return Me&&kd(61),se&&(wn(),dr(63)&&Sr(),de(23)),{name:Ae,isBracketed:se}}function Yn(se){switch(se.kind){case 149:return!0;case 185:return Yn(se.elementType);default:return ac(se)&&yt(se.typeName)&&se.typeName.escapedText==="Object"&&!se.typeArguments}}function Xh(se,Me,Ae,Ue){let Qe=Wa(),vt=!Qe;Ua();let{name:Vt,isBracketed:Rr}=c6(),gn=Ua();vt&&!wt(Kh)&&(Qe=Wa());let mi=Qr(se,L(),Ue,gn),Va=Ae!==4&&n(Qe,Vt,Ae,Ue);Va&&(Qe=Va,vt=!0);let hi=Ae===1?N.createJSDocPropertyTag(Me,Vt,Rr,Qe,vt,mi):N.createJSDocParameterTag(Me,Vt,Rr,Qe,vt,mi);return Q(hi,se)}function n(se,Me,Ae,Ue){if(se&&Yn(se.type)){let Qe=L(),vt,Vt;for(;vt=Tr(()=>u6(Ae,Ue,Me));)(vt.kind===344||vt.kind===351)&&(Vt=tr(Vt,vt));if(Vt){let Rr=Q(N.createJSDocTypeLiteral(Vt,se.type.kind===185),Qe);return Q(N.createJSDocTypeExpression(Rr),Qe)}}}function o(se,Me,Ae,Ue){Ke(At,bv)&&Z(Me.pos,t.getTokenPos(),ve._0_tag_already_specified,Me.escapedText);let Qe=Wa();return Q(N.createJSDocReturnTag(Me,Qe,Qr(se,L(),Ae,Ue)),se)}function l(se,Me,Ae,Ue){Ke(At,au)&&Z(Me.pos,t.getTokenPos(),ve._0_tag_already_specified,Me.escapedText);let Qe=O(!0),vt=Ae!==void 0&&Ue!==void 0?Qr(se,L(),Ae,Ue):void 0;return Q(N.createJSDocTypeTag(Me,Qe,vt),se)}function p(se,Me,Ae,Ue){let vt=T()===22||wt(()=>Ge()===59&&fr(Ge())&&xt(t.getTokenValue()))?void 0:j(),Vt=Ae!==void 0&&Ue!==void 0?Qr(se,L(),Ae,Ue):void 0;return Q(N.createJSDocSeeTag(Me,vt,Vt),se)}function k(se,Me,Ae,Ue){let Qe=Wa(),vt=Qr(se,L(),Ae,Ue);return Q(N.createJSDocThrowsTag(Me,Qe,vt),se)}function V(se,Me,Ae,Ue){let Qe=L(),vt=we(),Vt=t.getStartPos(),Rr=Qr(se,Vt,Ae,Ue);Rr||(Vt=t.getStartPos());let gn=typeof Rr!="string"?Er(Ft([Q(vt,Qe,Vt)],Rr),Qe):vt.text+Rr;return Q(N.createJSDocAuthorTag(Me,gn),se)}function we(){let se=[],Me=!1,Ae=t.getToken();for(;Ae!==1&&Ae!==4;){if(Ae===29)Me=!0;else{if(Ae===59&&!Me)break;if(Ae===31&&Me){se.push(t.getTokenText()),t.setTextPos(t.getTokenPos()+1);break}}se.push(t.getTokenText()),Ae=Ge()}return N.createJSDocText(se.join(""))}function et(se,Me,Ae,Ue){let Qe=Ni();return Q(N.createJSDocImplementsTag(Me,Qe,Qr(se,L(),Ae,Ue)),se)}function mt(se,Me,Ae,Ue){let Qe=Ni();return Q(N.createJSDocAugmentsTag(Me,Qe,Qr(se,L(),Ae,Ue)),se)}function hn(se,Me,Ae,Ue){let Qe=O(!1),vt=Ae!==void 0&&Ue!==void 0?Qr(se,L(),Ae,Ue):void 0;return Q(N.createJSDocSatisfiesTag(Me,Qe,vt),se)}function Ni(){let se=Ot(18),Me=L(),Ae=ia(),Ue=Nc(),Qe=N.createExpressionWithTypeArguments(Ae,Ue),vt=Q(Qe,Me);return se&&de(19),vt}function ia(){let se=L(),Me=ao();for(;Ot(24);){let Ae=ao();Me=Q(Ve(Me,Ae),se)}return Me}function Oi(se,Me,Ae,Ue,Qe){return Q(Me(Ae,Qr(se,L(),Ue,Qe)),se)}function jB(se,Me,Ae,Ue){let Qe=O(!0);return wn(),Q(N.createJSDocThisTag(Me,Qe,Qr(se,L(),Ae,Ue)),se)}function JB(se,Me,Ae,Ue){let Qe=O(!0);return wn(),Q(N.createJSDocEnumTag(Me,Qe,Qr(se,L(),Ae,Ue)),se)}function FB(se,Me,Ae,Ue){var Qe;let vt=Wa();Ua();let Vt=l6();wn();let Rr=jc(Ae),gn;if(!vt||Yn(vt.type)){let Va,hi,pp,fp=!1;for(;Va=Tr(()=>WB(Ae));)if(fp=!0,Va.kind===347)if(hi){let so=Dt(ve.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);so&&Rl(so,Ro(Ur,0,0,ve.The_tag_was_first_specified_here));break}else hi=Va;else pp=tr(pp,Va);if(fp){let so=vt&&vt.type.kind===185,XB=N.createJSDocTypeLiteral(pp,so);vt=hi&&hi.typeExpression&&!Yn(hi.typeExpression.type)?hi.typeExpression:Q(XB,se),gn=vt.end}}gn=gn||Rr!==void 0?L():((Qe=Vt!=null?Vt:vt)!=null?Qe:Me).end,Rr||(Rr=Qr(se,gn,Ae,Ue));let mi=N.createJSDocTypedefTag(Me,vt,Vt,Rr);return Q(mi,se,gn)}function l6(se){let Me=t.getTokenPos();if(!fr(T()))return;let Ae=ao();if(Ot(24)){let Ue=l6(!0),Qe=N.createModuleDeclaration(void 0,Ae,Ue,se?4:void 0);return Q(Qe,Me)}return se&&(Ae.flags|=2048),Ae}function BB(se){let Me=L(),Ae,Ue;for(;Ae=Tr(()=>u6(4,se));)Ue=tr(Ue,Ae);return Er(Ue||[],Me)}function j7(se,Me){let Ae=BB(Me),Ue=Tr(()=>{if(u_(59)){let Qe=up(Me);if(Qe&&Qe.kind===345)return Qe}});return Q(N.createJSDocSignature(void 0,Ae,Ue),se)}function qB(se,Me,Ae,Ue){let Qe=l6();wn();let vt=jc(Ae),Vt=j7(se,Ae);vt||(vt=Qr(se,L(),Ae,Ue));let Rr=vt!==void 0?L():Vt.end;return Q(N.createJSDocCallbackTag(Me,Vt,Qe,vt),se,Rr)}function UB(se,Me,Ae,Ue){wn();let Qe=jc(Ae),vt=j7(se,Ae);Qe||(Qe=Qr(se,L(),Ae,Ue));let Vt=Qe!==void 0?L():vt.end;return Q(N.createJSDocOverloadTag(Me,vt,Qe),se,Vt)}function zB(se,Me){for(;!yt(se)||!yt(Me);)if(!yt(se)&&!yt(Me)&&se.right.escapedText===Me.right.escapedText)se=se.left,Me=Me.left;else return!1;return se.escapedText===Me.escapedText}function WB(se){return u6(1,se)}function u6(se,Me,Ae){let Ue=!0,Qe=!1;for(;;)switch(Ge()){case 59:if(Ue){let vt=VB(se,Me);return vt&&(vt.kind===344||vt.kind===351)&&se!==4&&Ae&&(yt(vt.name)||!zB(Ae,vt.name.left))?!1:vt}Qe=!1;break;case 4:Ue=!0,Qe=!1;break;case 41:Qe&&(Ue=!1),Qe=!0;break;case 79:Ue=!1;break;case 1:return!1}}function VB(se,Me){Y.assert(T()===59);let Ae=t.getStartPos();Ge();let Ue=ao();wn();let Qe;switch(Ue.escapedText){case"type":return se===1&&l(Ae,Ue);case"prop":case"property":Qe=1;break;case"arg":case"argument":case"param":Qe=6;break;default:return!1}return se&Qe?Xh(Ae,Ue,se,Me):!1}function HB(){let se=L(),Me=u_(22);Me&&wn();let Ae=ao(ve.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),Ue;if(Me&&(wn(),de(63),Ue=Mt(8388608,xc),de(23)),!va(Ae))return Q(N.createTypeParameterDeclaration(void 0,Ae,void 0,Ue),se)}function GB(){let se=L(),Me=[];do{wn();let Ae=HB();Ae!==void 0&&Me.push(Ae),Ua()}while(u_(27));return Er(Me,se)}function $B(se,Me,Ae,Ue){let Qe=T()===18?O():void 0,vt=GB();return Q(N.createJSDocTemplateTag(Me,Qe,vt,Qr(se,L(),Ae,Ue)),se)}function u_(se){return T()===se?(Ge(),!0):!1}function KB(){let se=ao();for(Ot(22)&&de(23);Ot(24);){let Me=ao();Ot(22)&&de(23),se=Tu(se,Me)}return se}function ao(se){if(!fr(T()))return Jn(79,!se,se||ve.Identifier_expected);$r++;let Me=t.getTokenPos(),Ae=t.getTextPos(),Ue=T(),Qe=Ia(t.getTokenValue()),vt=Q(Te(Qe,Ue),Me,Ae);return Ge(),vt}}})(Vh=e.JSDocParser||(e.JSDocParser={}))})(Ci||(Ci={})),(e=>{function t($,ae,Te,Se){if(Se=Se||Y.shouldAssert(2),N($,ae,Te,Se),c3(Te))return $;if($.statements.length===0)return Ci.parseSourceFile($.fileName,ae,$.languageVersion,void 0,!0,$.scriptKind,$.setExternalModuleIndicator);let Ye=$;Y.assert(!Ye.hasBeenIncrementallyParsed),Ye.hasBeenIncrementallyParsed=!0,Ci.fixupParentReferences(Ye);let Oe=$.text,oe=X($),Ve=g($,Te);N($,ae,Ve,Se),Y.assert(Ve.span.start<=Te.span.start),Y.assert(Ir(Ve.span)===Ir(Te.span)),Y.assert(Ir(R_(Ve))===Ir(R_(Te)));let pt=R_(Ve).length-Ve.span.length;A(Ye,Ve.span.start,Ir(Ve.span),Ir(R_(Ve)),pt,Oe,ae,Se);let Gt=Ci.parseSourceFile($.fileName,ae,$.languageVersion,oe,!0,$.scriptKind,$.setExternalModuleIndicator);return Gt.commentDirectives=r($.commentDirectives,Gt.commentDirectives,Ve.span.start,Ir(Ve.span),pt,Oe,ae,Se),Gt.impliedNodeFormat=$.impliedNodeFormat,Gt}e.updateSourceFile=t;function r($,ae,Te,Se,Ye,Oe,oe,Ve){if(!$)return ae;let pt,Gt=!1;for(let Xt of $){let{range:er,type:Tn}=Xt;if(er.endSe){Nt();let Hr={range:{pos:er.pos+Ye,end:er.end+Ye},type:Tn};pt=tr(pt,Hr),Ve&&Y.assert(Oe.substring(er.pos,er.end)===oe.substring(Hr.range.pos,Hr.range.end))}}return Nt(),pt;function Nt(){Gt||(Gt=!0,pt?ae&&pt.push(...ae):pt=ae)}}function s($,ae,Te,Se,Ye,Oe){ae?Ve($):oe($);return;function oe(pt){let Gt="";if(Oe&&f(pt)&&(Gt=Se.substring(pt.pos,pt.end)),pt._children&&(pt._children=void 0),Us(pt,pt.pos+Te,pt.end+Te),Oe&&f(pt)&&Y.assert(Gt===Ye.substring(pt.pos,pt.end)),xr(pt,oe,Ve),ya(pt))for(let Nt of pt.jsDoc)oe(Nt);w(pt,Oe)}function Ve(pt){pt._children=void 0,Us(pt,pt.pos+Te,pt.end+Te);for(let Gt of pt)oe(Gt)}}function f($){switch($.kind){case 10:case 8:case 79:return!0}return!1}function x($,ae,Te,Se,Ye){Y.assert($.end>=ae,"Adjusting an element that was entirely before the change range"),Y.assert($.pos<=Te,"Adjusting an element that was entirely after the change range"),Y.assert($.pos<=$.end);let Oe=Math.min($.pos,Se),oe=$.end>=Te?$.end+Ye:Math.min($.end,Se);Y.assert(Oe<=oe),$.parent&&(Y.assertGreaterThanOrEqual(Oe,$.parent.pos),Y.assertLessThanOrEqual(oe,$.parent.end)),Us($,Oe,oe)}function w($,ae){if(ae){let Te=$.pos,Se=Ye=>{Y.assert(Ye.pos>=Te),Te=Ye.end};if(ya($))for(let Ye of $.jsDoc)Se(Ye);xr($,Se),Y.assert(Te<=$.end)}}function A($,ae,Te,Se,Ye,Oe,oe,Ve){pt($);return;function pt(Nt){if(Y.assert(Nt.pos<=Nt.end),Nt.pos>Te){s(Nt,!1,Ye,Oe,oe,Ve);return}let Xt=Nt.end;if(Xt>=ae){if(Nt.intersectsChange=!0,Nt._children=void 0,x(Nt,ae,Te,Se,Ye),xr(Nt,pt,Gt),ya(Nt))for(let er of Nt.jsDoc)pt(er);w(Nt,Ve);return}Y.assert(XtTe){s(Nt,!0,Ye,Oe,oe,Ve);return}let Xt=Nt.end;if(Xt>=ae){Nt.intersectsChange=!0,Nt._children=void 0,x(Nt,ae,Te,Se,Ye);for(let er of Nt)pt(er);return}Y.assert(Xt0&&oe<=1;oe++){let Ve=B($,Se);Y.assert(Ve.pos<=Se);let pt=Ve.pos;Se=Math.max(0,pt-1)}let Ye=ha(Se,Ir(ae.span)),Oe=ae.newLength+(ae.span.start-Se);return Zp(Ye,Oe)}function B($,ae){let Te=$,Se;if(xr($,Oe),Se){let oe=Ye(Se);oe.pos>Te.pos&&(Te=oe)}return Te;function Ye(oe){for(;;){let Ve=mx(oe);if(Ve)oe=Ve;else return oe}}function Oe(oe){if(!va(oe))if(oe.pos<=ae){if(oe.pos>=Te.pos&&(Te=oe),aeae),!0}}function N($,ae,Te,Se){let Ye=$.text;if(Te&&(Y.assert(Ye.length-Te.span.length+Te.newLength===ae.length),Se||Y.shouldAssert(3))){let Oe=Ye.substr(0,Te.span.start),oe=ae.substr(0,Te.span.start);Y.assert(Oe===oe);let Ve=Ye.substring(Ir(Te.span),Ye.length),pt=ae.substring(Ir(R_(Te)),ae.length);Y.assert(Ve===pt)}}function X($){let ae=$.statements,Te=0;Y.assert(Te=Gt.pos&&oe=Gt.pos&&oe{$[$.Value=-1]="Value"})(F||(F={}))})(Sd||(Sd={})),xd=new Map,_7=/^\/\/\/\s*<(\S+)\s.*?\/>/im,c7=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im}}),ZJ=()=>{},eF=()=>{},tF=()=>{},rF=()=>{},nF=()=>{},iF=()=>{},aF=()=>{},sF=()=>{},oF=()=>{},_F=()=>{},cF=()=>{},lF=()=>{},uF=()=>{},pF=()=>{},fF=()=>{},dF=()=>{},mF=()=>{},hF=()=>{},gF=()=>{},yF=()=>{},vF=()=>{},bF=()=>{},TF=()=>{},SF=()=>{},xF=()=>{},EF=()=>{},wF=()=>{},CF=()=>{},AF=()=>{},PF=()=>{},DF=()=>{},kF=()=>{},IF=()=>{},NF=()=>{},OF=()=>{},MF=()=>{},LF=()=>{},RF=()=>{},jF=()=>{},JF=()=>{},FF=()=>{},BF=()=>{},qF=()=>{},UF=()=>{},zF=()=>{},WF=()=>{},nn=D({"src/compiler/_namespaces/ts.ts"(){"use strict";E(),I5(),PT(),N5(),O5(),L5(),J5(),NT(),B5(),rA(),nA(),pA(),eD(),DL(),kL(),IL(),NL(),VL(),HL(),GL(),Ej(),jJ(),JJ(),QJ(),ZJ(),eF(),tF(),rF(),iF(),aF(),sF(),oF(),_F(),cF(),lF(),uF(),pF(),fF(),dF(),mF(),hF(),gF(),yF(),vF(),bF(),TF(),SF(),xF(),EF(),wF(),CF(),AF(),PF(),DF(),kF(),IF(),NF(),OF(),MF(),LF(),RF(),jF(),JF(),FF(),BF(),qF(),UF(),zF(),WF(),nF(),IT()}}),l7=()=>{},VF=()=>{},u7=()=>{},Zo,u7=()=>{PT(),Zo=Po(99,!0)},HF=()=>{},GF=()=>{},$F=()=>{},KF=()=>{},XF=()=>{},YF=()=>{},QF=()=>{},ZF=()=>{},eB=()=>{},tB=()=>{},p7=()=>{},f7=()=>{};function d7(e,t,r,s){let f=gl(e)?new wd(e,t,r):e===79?new Ad(79,t,r):e===80?new Pd(80,t,r):new Ov(e,t,r);return f.parent=s,f.flags=s.flags&50720768,f}function rB(e,t){if(!gl(e.kind))return Bt;let r=[];if(cS(e))return e.forEachChild(w=>{r.push(w)}),r;Zo.setText((t||e.getSourceFile()).text);let s=e.pos,f=w=>{_u(r,s,w.pos,e),r.push(w),s=w.end},x=w=>{_u(r,s,w.pos,e),r.push(nB(w,e)),s=w.end};return c(e.jsDoc,f),s=e.pos,e.forEachChild(f,x),_u(r,s,e.end,e),Zo.setText(void 0),r}function _u(e,t,r,s){for(Zo.setTextPos(t);tt.tagName.text==="inheritDoc"||t.tagName.text==="inheritdoc")}function Ed(e,t){if(!e)return Bt;let r=ts_JsDoc_exports.getJsDocTagsFromDeclarations(e,t);if(t&&(r.length===0||e.some(m7))){let s=new Set;for(let f of e){let x=h7(t,f,w=>{var A;if(!s.has(w))return s.add(w),f.kind===174||f.kind===175?w.getContextualJsDocTags(f,t):((A=w.declarations)==null?void 0:A.length)===1?w.getJsDocTags():void 0});x&&(r=[...x,...r])}}return r}function cu(e,t){if(!e)return Bt;let r=ts_JsDoc_exports.getJsDocCommentsFromDeclarations(e,t);if(t&&(r.length===0||e.some(m7))){let s=new Set;for(let f of e){let x=h7(t,f,w=>{if(!s.has(w))return s.add(w),f.kind===174||f.kind===175?w.getContextualDocumentationComment(f,t):w.getDocumentationComment(t)});x&&(r=r.length===0?x.slice():x.concat(lineBreakPart(),r))}}return r}function h7(e,t,r){var s;let f=((s=t.parent)==null?void 0:s.kind)===173?t.parent.parent:t.parent;if(!f)return;let x=Lf(t);return q(h4(f),w=>{let A=e.getTypeAtLocation(w),g=x&&A.symbol?e.getTypeOfSymbol(A.symbol):A,B=e.getPropertyOfType(g,t.symbol.name);return B?r(B):void 0})}function iB(){return{getNodeConstructor:()=>wd,getTokenConstructor:()=>Ov,getIdentifierConstructor:()=>Ad,getPrivateIdentifierConstructor:()=>Pd,getSourceFileConstructor:()=>P7,getSymbolConstructor:()=>w7,getTypeConstructor:()=>C7,getSignatureConstructor:()=>A7,getSourceMapSourceConstructor:()=>D7}}function lu(e){let t=!0;for(let s in e)if(Jr(e,s)&&!g7(s)){t=!1;break}if(t)return e;let r={};for(let s in e)if(Jr(e,s)){let f=g7(s)?s:s.charAt(0).toLowerCase()+s.substr(1);r[f]=e[s]}return r}function g7(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function aB(e){return e?Ze(e,t=>t.text).join(""):""}function y7(){return{target:1,jsx:1}}function v7(){return ts_codefix_exports.getSupportedErrorCodes()}function b7(e,t,r){e.version=r,e.scriptSnapshot=t}function Nv(e,t,r,s,f,x){let w=YE(e,getSnapshotText(t),r,f,x);return b7(w,t,s),w}function T7(e,t,r,s,f){if(s&&r!==e.version){let w,A=s.span.start!==0?e.text.substr(0,s.span.start):"",g=Ir(s.span)!==e.text.length?e.text.substr(Ir(s.span)):"";if(s.newLength===0)w=A&&g?A+g:A||g;else{let N=t.getText(s.span.start,s.span.start+s.newLength);w=A&&g?A+N+g:A?A+N:N+g}let B=kv(e,w,s,f);return b7(B,t,r),B.nameTable=void 0,e!==B&&e.scriptSnapshot&&(e.scriptSnapshot.dispose&&e.scriptSnapshot.dispose(),e.scriptSnapshot=void 0),B}let x={languageVersion:e.languageVersion,impliedNodeFormat:e.impliedNodeFormat,setExternalModuleIndicator:e.setExternalModuleIndicator};return Nv(e.fileName,t,x,r,!0,e.scriptKind)}function sB(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:createDocumentRegistry(e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames(),e.getCurrentDirectory()),r=arguments.length>2?arguments[2]:void 0;var s;let f;r===void 0?f=0:typeof r=="boolean"?f=r?2:0:f=r;let x=new k7(e),w,A,g=0,B=e.getCancellationToken?new N7(e.getCancellationToken()):I7,N=e.getCurrentDirectory();vx((s=e.getLocalizedDiagnosticMessages)==null?void 0:s.bind(e));function X(Z){e.log&&e.log(Z)}let F=J0(e),$=wp(F),ae=getSourceMapper({useCaseSensitiveFileNames:()=>F,getCurrentDirectory:()=>N,getProgram:Ye,fileExists:le(e,e.fileExists),readFile:le(e,e.readFile),getDocumentPositionMapper:le(e,e.getDocumentPositionMapper),getSourceFileLike:le(e,e.getSourceFileLike),log:X});function Te(Z){let ie=w.getSourceFile(Z);if(!ie){let U=new Error(`Could not find source file: '${Z}'.`);throw U.ProgramFiles=w.getSourceFiles().map(L=>L.fileName),U}return ie}function Se(){var Z,ie,U;if(Y.assert(f!==2),e.getProjectVersion){let Tt=e.getProjectVersion();if(Tt){if(A===Tt&&!((Z=e.hasChangedAutomaticTypeDirectiveNames)!=null&&Z.call(e)))return;A=Tt}}let L=e.getTypeRootsVersion?e.getTypeRootsVersion():0;g!==L&&(X("TypeRoots version has changed; provide new program"),w=void 0,g=L);let fe=e.getScriptFileNames().slice(),T=e.getCompilationSettings()||y7(),it=e.hasInvalidatedResolutions||w_,dt=le(e,e.hasChangedAutomaticTypeDirectiveNames),_e=(ie=e.getProjectReferences)==null?void 0:ie.call(e),Ge,bt={getSourceFile:wt,getSourceFileByPath:Tr,getCancellationToken:()=>B,getCanonicalFileName:$,useCaseSensitiveFileNames:()=>F,getNewLine:()=>ox(T),getDefaultLibFileName:Tt=>e.getDefaultLibFileName(Tt),writeFile:yn,getCurrentDirectory:()=>N,fileExists:Tt=>e.fileExists(Tt),readFile:Tt=>e.readFile&&e.readFile(Tt),getSymlinkCache:le(e,e.getSymlinkCache),realpath:le(e,e.realpath),directoryExists:Tt=>sx(Tt,e),getDirectories:Tt=>e.getDirectories?e.getDirectories(Tt):[],readDirectory:(Tt,kt,de,jn,Zi)=>(Y.checkDefined(e.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),e.readDirectory(Tt,kt,de,jn,Zi)),onReleaseOldSourceFile:Rn,onReleaseParsedCommandLine:yr,hasInvalidatedResolutions:it,hasChangedAutomaticTypeDirectiveNames:dt,trace:le(e,e.trace),resolveModuleNames:le(e,e.resolveModuleNames),getModuleResolutionCache:le(e,e.getModuleResolutionCache),createHash:le(e,e.createHash),resolveTypeReferenceDirectives:le(e,e.resolveTypeReferenceDirectives),resolveModuleNameLiterals:le(e,e.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:le(e,e.resolveTypeReferenceDirectiveReferences),useSourceOfProjectReferenceRedirect:le(e,e.useSourceOfProjectReferenceRedirect),getParsedCommandLine:Dr},jt=bt.getSourceFile,{getSourceFileWithCache:Yt}=changeCompilerHostLikeToUseCache(bt,Tt=>Ui(Tt,N,$),function(){for(var Tt=arguments.length,kt=new Array(Tt),de=0;debt.fileExists(Tt),readFile:Tt=>bt.readFile(Tt),readDirectory:function(){return bt.readDirectory(...arguments)},trace:bt.trace,getCurrentDirectory:bt.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:yn},Wt=t.getKeyForCompilationSettings(T);if(isProgramUptoDate(w,fe,T,(Tt,kt)=>e.getScriptVersion(kt),Tt=>bt.fileExists(Tt),it,dt,Dr,_e))return;let Xr={rootNames:fe,options:T,host:bt,oldProgram:w,projectReferences:_e};w=createProgram(Xr),bt=void 0,Ge=void 0,ae.clearCache(),w.getTypeChecker();return;function Dr(Tt){let kt=Ui(Tt,N,$),de=Ge==null?void 0:Ge.get(kt);if(de!==void 0)return de||void 0;let jn=e.getParsedCommandLine?e.getParsedCommandLine(Tt):Lr(Tt);return(Ge||(Ge=new Map)).set(kt,jn||!1),jn}function Lr(Tt){let kt=wt(Tt,100);if(kt)return kt.path=Ui(Tt,N,$),kt.resolvedPath=kt.path,kt.originalFileName=kt.fileName,parseJsonSourceFileConfigFileContent(kt,$t,as(ma(Tt),N),void 0,as(Tt,N))}function yr(Tt,kt,de){var jn;e.getParsedCommandLine?(jn=e.onReleaseParsedCommandLine)==null||jn.call(e,Tt,kt,de):kt&&Rn(kt.sourceFile,de)}function Rn(Tt,kt){let de=t.getKeyForCompilationSettings(kt);t.releaseDocumentWithKey(Tt.resolvedPath,de,Tt.scriptKind,Tt.impliedNodeFormat)}function wt(Tt,kt,de,jn){return Tr(Tt,Ui(Tt,N,$),kt,de,jn)}function Tr(Tt,kt,de,jn,Zi){Y.assert(bt,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");let Pa=e.getScriptSnapshot(Tt);if(!Pa)return;let e_=getScriptKind(Tt,e),mc=e.getScriptVersion(Tt);if(!Zi){let Da=w&&w.getSourceFileByPath(kt);if(Da){if(e_===Da.scriptKind)return t.updateDocumentWithKey(Tt,kt,e,Wt,Pa,mc,e_,de);t.releaseDocumentWithKey(Da.resolvedPath,t.getKeyForCompilationSettings(w.getCompilerOptions()),Da.scriptKind,Da.impliedNodeFormat)}}return t.acquireDocumentWithKey(Tt,kt,e,Wt,Pa,mc,e_,de)}}function Ye(){if(f===2){Y.assert(w===void 0);return}return Se(),w}function Oe(){var Z;return(Z=e.getPackageJsonAutoImportProvider)==null?void 0:Z.call(e)}function oe(Z,ie){let U=w.getTypeChecker(),L=fe();if(!L)return!1;for(let it of Z)for(let dt of it.references){let _e=T(dt);if(Y.assertIsDefined(_e),ie.has(dt)||ts_FindAllReferences_exports.isDeclarationOfSymbol(_e,L)){ie.add(dt),dt.isDefinition=!0;let Ge=getMappedDocumentSpan(dt,ae,le(e,e.fileExists));Ge&&ie.add(Ge)}else dt.isDefinition=!1}return!0;function fe(){for(let it of Z)for(let dt of it.references){if(ie.has(dt)){let Ge=T(dt);return Y.assertIsDefined(Ge),U.getSymbolAtLocation(Ge)}let _e=getMappedDocumentSpan(dt,ae,le(e,e.fileExists));if(_e&&ie.has(_e)){let Ge=T(_e);if(Ge)return U.getSymbolAtLocation(Ge)}}}function T(it){let dt=w.getSourceFile(it.fileName);if(!dt)return;let _e=getTouchingPropertyName(dt,it.textSpan.start);return ts_FindAllReferences_exports.Core.getAdjustedNode(_e,{use:ts_FindAllReferences_exports.FindReferencesUse.References})}}function Ve(){w=void 0}function pt(){if(w){let Z=t.getKeyForCompilationSettings(w.getCompilerOptions());c(w.getSourceFiles(),ie=>t.releaseDocumentWithKey(ie.resolvedPath,Z,ie.scriptKind,ie.impliedNodeFormat)),w=void 0}e=void 0}function Gt(Z){return Se(),w.getSyntacticDiagnostics(Te(Z),B).slice()}function Nt(Z){Se();let ie=Te(Z),U=w.getSemanticDiagnostics(ie,B);if(!c2(w.getCompilerOptions()))return U.slice();let L=w.getDeclarationDiagnostics(ie,B);return[...U,...L]}function Xt(Z){return Se(),computeSuggestionDiagnostics(Te(Z),w,B)}function er(){return Se(),[...w.getOptionsDiagnostics(B),...w.getGlobalDiagnostics(B)]}function Tn(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,L=arguments.length>3?arguments[3]:void 0,fe=Object.assign(Object.assign({},U),{},{includeCompletionsForModuleExports:U.includeCompletionsForModuleExports||U.includeExternalModuleExports,includeCompletionsWithInsertText:U.includeCompletionsWithInsertText||U.includeInsertTextCompletions});return Se(),ts_Completions_exports.getCompletionsAtPosition(e,w,X,Te(Z),ie,fe,U.triggerCharacter,U.triggerKind,B,L&&ts_formatting_exports.getFormatContext(L,e),U.includeSymbol)}function Hr(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions,it=arguments.length>6?arguments[6]:void 0;return Se(),ts_Completions_exports.getCompletionEntryDetails(w,X,Te(Z),ie,{name:U,source:fe,data:it},e,L&&ts_formatting_exports.getFormatContext(L,e),T,B)}function Gi(Z,ie,U,L){let fe=arguments.length>4&&arguments[4]!==void 0?arguments[4]:emptyOptions;return Se(),ts_Completions_exports.getCompletionEntrySymbol(w,X,Te(Z),ie,{name:U,source:L},e,fe)}function pn(Z,ie){Se();let U=Te(Z),L=getTouchingPropertyName(U,ie);if(L===U)return;let fe=w.getTypeChecker(),T=fn(L),it=uB(T,fe);if(!it||fe.isUnknownSymbol(it)){let jt=Ut(U,T,ie)?fe.getTypeAtLocation(T):void 0;return jt&&{kind:"",kindModifiers:"",textSpan:createTextSpanFromNode(T,U),displayParts:fe.runWithCancellationToken(B,Yt=>typeToDisplayParts(Yt,jt,getContainerNode(T))),documentation:jt.symbol?jt.symbol.getDocumentationComment(fe):void 0,tags:jt.symbol?jt.symbol.getJsDocTags(fe):void 0}}let{symbolKind:dt,displayParts:_e,documentation:Ge,tags:bt}=fe.runWithCancellationToken(B,jt=>ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(jt,it,U,getContainerNode(T),T));return{kind:dt,kindModifiers:ts_SymbolDisplay_exports.getSymbolModifiers(fe,it),textSpan:createTextSpanFromNode(T,U),displayParts:_e,documentation:Ge,tags:bt}}function fn(Z){return X8(Z.parent)&&Z.pos===Z.parent.pos?Z.parent.expression:$2(Z.parent)&&Z.pos===Z.parent.pos||o0(Z.parent)&&Z.parent.name===Z?Z.parent:Z}function Ut(Z,ie,U){switch(ie.kind){case 79:return!isLabelName(ie)&&!isTagName(ie)&&!j3(ie.parent);case 208:case 163:return!isInComment(Z,U);case 108:case 194:case 106:case 199:return!0;case 233:return o0(ie);default:return!1}}function kn(Z,ie,U,L){return Se(),ts_GoToDefinition_exports.getDefinitionAtPosition(w,Te(Z),ie,U,L)}function an(Z,ie){return Se(),ts_GoToDefinition_exports.getDefinitionAndBoundSpan(w,Te(Z),ie)}function mr(Z,ie){return Se(),ts_GoToDefinition_exports.getTypeDefinitionAtPosition(w.getTypeChecker(),Te(Z),ie)}function $i(Z,ie){return Se(),ts_FindAllReferences_exports.getImplementationsAtPosition(w,B,w.getSourceFiles(),Te(Z),ie)}function dn(Z,ie){return ne(Ur(Z,ie,[Z]),U=>U.highlightSpans.map(L=>Object.assign(Object.assign({fileName:U.fileName,textSpan:L.textSpan,isWriteAccess:L.kind==="writtenReference"},L.isInString&&{isInString:!0}),L.contextSpan&&{contextSpan:L.contextSpan})))}function Ur(Z,ie,U){let L=Un(Z);Y.assert(U.some(it=>Un(it)===L)),Se();let fe=qt(U,it=>w.getSourceFile(it)),T=Te(Z);return DocumentHighlights.getDocumentHighlights(w,B,T,ie,fe)}function Gr(Z,ie,U,L,fe){Se();let T=Te(Z),it=getAdjustedRenameLocation(getTouchingPropertyName(T,ie));if(ts_Rename_exports.nodeIsEligibleForRename(it))if(yt(it)&&(tu(it.parent)||sE(it.parent))&&P4(it.escapedText)){let{openingElement:dt,closingElement:_e}=it.parent.parent;return[dt,_e].map(Ge=>{let bt=createTextSpanFromNode(Ge.tagName,T);return Object.assign({fileName:T.fileName,textSpan:bt},ts_FindAllReferences_exports.toContextSpan(bt,T,Ge.parent))})}else return Sn(it,ie,{findInStrings:U,findInComments:L,providePrefixAndSuffixTextForRename:fe,use:ts_FindAllReferences_exports.FindReferencesUse.Rename},(dt,_e,Ge)=>ts_FindAllReferences_exports.toRenameLocation(dt,_e,Ge,fe||!1))}function _r(Z,ie){return Se(),Sn(getTouchingPropertyName(Te(Z),ie),ie,{use:ts_FindAllReferences_exports.FindReferencesUse.References},ts_FindAllReferences_exports.toReferenceEntry)}function Sn(Z,ie,U,L){Se();let fe=U&&U.use===ts_FindAllReferences_exports.FindReferencesUse.Rename?w.getSourceFiles().filter(T=>!w.isSourceFileDefaultLibrary(T)):w.getSourceFiles();return ts_FindAllReferences_exports.findReferenceOrRenameEntries(w,B,fe,Z,ie,U,L)}function In(Z,ie){return Se(),ts_FindAllReferences_exports.findReferencedSymbols(w,B,w.getSourceFiles(),Te(Z),ie)}function pr(Z){return Se(),ts_FindAllReferences_exports.Core.getReferencesForFileName(Z,w,w.getSourceFiles()).map(ts_FindAllReferences_exports.toReferenceEntry)}function Zt(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;Se();let fe=U?[Te(U)]:w.getSourceFiles();return getNavigateToItems(fe,w.getTypeChecker(),B,Z,ie,L)}function Or(Z,ie,U){Se();let L=Te(Z),fe=e.getCustomTransformers&&e.getCustomTransformers();return getFileEmitOutput(w,L,!!ie,B,fe,U)}function Nn(Z,ie){let{triggerReason:U}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let L=Te(Z);return ts_SignatureHelp_exports.getSignatureHelpItems(w,L,ie,U,B)}function ar(Z){return x.getCurrentSourceFile(Z)}function oi(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=getTouchingPropertyName(L,ie);if(fe===L)return;switch(fe.kind){case 208:case 163:case 10:case 95:case 110:case 104:case 106:case 108:case 194:case 79:break;default:return}let T=fe;for(;;)if(isRightSideOfPropertyAccess(T)||isRightSideOfQualifiedName(T))T=T.parent;else if(isNameOfModuleDeclaration(T))if(T.parent.parent.kind===264&&T.parent.parent.body===T.parent)T=T.parent.parent.name;else break;else break;return ha(T.getStart(),fe.getEnd())}function cr(Z,ie){let U=x.getCurrentSourceFile(Z);return ts_BreakpointResolver_exports.spanInSourceFileAtLocation(U,ie)}function $r(Z){return getNavigationBarItems(x.getCurrentSourceFile(Z),B)}function hr(Z){return getNavigationTree(x.getCurrentSourceFile(Z),B)}function On(Z,ie,U){return Se(),(U||"original")==="2020"?ts_classifier_exports.v2020.getSemanticClassifications(w,B,Te(Z),ie):getSemanticClassifications(w.getTypeChecker(),B,Te(Z),w.getClassifiableNames(),ie)}function nr(Z,ie,U){return Se(),(U||"original")==="original"?getEncodedSemanticClassifications(w.getTypeChecker(),B,Te(Z),w.getClassifiableNames(),ie):ts_classifier_exports.v2020.getEncodedSemanticClassifications(w,B,Te(Z),ie)}function br(Z,ie){return getSyntacticClassifications(B,x.getCurrentSourceFile(Z),ie)}function Kr(Z,ie){return getEncodedSyntacticClassifications(B,x.getCurrentSourceFile(Z),ie)}function wa(Z){let ie=x.getCurrentSourceFile(Z);return ts_OutliningElementsCollector_exports.collectElements(ie,B)}let $n=new Map(Object.entries({[18]:19,[20]:21,[22]:23,[31]:29}));$n.forEach((Z,ie)=>$n.set(Z.toString(),Number(ie)));function Ki(Z,ie){let U=x.getCurrentSourceFile(Z),L=getTouchingToken(U,ie),fe=L.getStart(U)===ie?$n.get(L.kind.toString()):void 0,T=fe&&findChildOfKind(L.parent,fe,U);return T?[createTextSpanFromNode(L,U),createTextSpanFromNode(T,U)].sort((it,dt)=>it.start-dt.start):Bt}function Mn(Z,ie,U){let L=ts(),fe=lu(U),T=x.getCurrentSourceFile(Z);X("getIndentationAtPosition: getCurrentSourceFile: "+(ts()-L)),L=ts();let it=ts_formatting_exports.SmartIndenter.getIndentation(ie,T,fe);return X("getIndentationAtPosition: computeIndentation : "+(ts()-L)),it}function _i(Z,ie,U,L){let fe=x.getCurrentSourceFile(Z);return ts_formatting_exports.formatSelection(ie,U,fe,ts_formatting_exports.getFormatContext(lu(L),e))}function Ca(Z,ie){return ts_formatting_exports.formatDocument(x.getCurrentSourceFile(Z),ts_formatting_exports.getFormatContext(lu(ie),e))}function St(Z,ie,U,L){let fe=x.getCurrentSourceFile(Z),T=ts_formatting_exports.getFormatContext(lu(L),e);if(!isInComment(fe,ie))switch(U){case"{":return ts_formatting_exports.formatOnOpeningCurly(ie,fe,T);case"}":return ts_formatting_exports.formatOnClosingCurly(ie,fe,T);case";":return ts_formatting_exports.formatOnSemicolon(ie,fe,T);case` -`:return ts_formatting_exports.formatOnEnter(ie,fe,T)}return[]}function ue(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let it=Te(Z),dt=ha(ie,U),_e=ts_formatting_exports.getFormatContext(fe,e);return ne(ji(L,fa,Vr),Ge=>(B.throwIfCancellationRequested(),ts_codefix_exports.getFixes({errorCode:Ge,sourceFile:it,span:dt,program:w,host:e,cancellationToken:B,formatContext:_e,preferences:T})))}function He(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;Se(),Y.assert(Z.type==="file");let fe=Te(Z.fileName),T=ts_formatting_exports.getFormatContext(U,e);return ts_codefix_exports.getAllFixes({fixId:ie,sourceFile:fe,program:w,host:e,cancellationToken:B,formatContext:T,preferences:L})}function _t(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;var L;Se(),Y.assert(Z.type==="file");let fe=Te(Z.fileName),T=ts_formatting_exports.getFormatContext(ie,e),it=(L=Z.mode)!=null?L:Z.skipDestructiveCodeActions?"SortAndCombine":"All";return ts_OrganizeImports_exports.organizeImports(fe,T,e,w,U,it)}function ft(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;return getEditsForFileRename(Ye(),Z,ie,e,ts_formatting_exports.getFormatContext(U,e),L,ae)}function Kt(Z,ie){let U=typeof Z=="string"?ie:Z;return ir(U)?Promise.all(U.map(L=>zt(L))):zt(U)}function zt(Z){let ie=U=>Ui(U,N,$);return Y.assertEqual(Z.type,"install package"),e.installPackage?e.installPackage({fileName:ie(Z.file),packageName:Z.packageName}):Promise.reject("Host does not implement `installPackage`")}function xe(Z,ie,U,L){let fe=L?ts_formatting_exports.getFormatContext(L,e).options:void 0;return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(e,fe),x.getCurrentSourceFile(Z),ie,U)}function Le(Z,ie,U){if(U===60)return!1;let L=x.getCurrentSourceFile(Z);if(isInString(L,ie))return!1;if(isInsideJsxElementOrAttribute(L,ie))return U===123;if(isInTemplateString(L,ie))return!1;switch(U){case 39:case 34:case 96:return!isInComment(L,ie)}return!0}function Re(Z,ie){let U=x.getCurrentSourceFile(Z),L=findPrecedingToken(ie,U);if(!L)return;let fe=L.kind===31&&tu(L.parent)?L.parent.parent:td(L)&&lv(L.parent)?L.parent:void 0;if(fe&&gr(fe))return{newText:``};let T=L.kind===31&&uv(L.parent)?L.parent.parent:td(L)&&pd(L.parent)?L.parent:void 0;if(T&&Ln(T))return{newText:""}}function ot(Z,ie){return{lineStarts:Z.getLineStarts(),firstLine:Z.getLineAndCharacterOfPosition(ie.pos).line,lastLine:Z.getLineAndCharacterOfPosition(ie.end).line}}function Ct(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=[],{lineStarts:T,firstLine:it,lastLine:dt}=ot(L,ie),_e=U||!1,Ge=Number.MAX_VALUE,bt=new Map,jt=new RegExp(/\S/),Yt=isInsideJsxElement(L,T[it]),$t=Yt?"{/*":"//";for(let Wt=it;Wt<=dt;Wt++){let Xr=L.text.substring(T[Wt],L.getLineEndOfPosition(T[Wt])),Dr=jt.exec(Xr);Dr&&(Ge=Math.min(Ge,Dr.index),bt.set(Wt.toString(),Dr.index),Xr.substr(Dr.index,$t.length)!==$t&&(_e=U===void 0||U))}for(let Wt=it;Wt<=dt;Wt++){if(it!==dt&&T[Wt]===ie.end)continue;let Xr=bt.get(Wt.toString());Xr!==void 0&&(Yt?fe.push.apply(fe,Mt(Z,{pos:T[Wt]+Ge,end:L.getLineEndOfPosition(T[Wt])},_e,Yt)):_e?fe.push({newText:$t,span:{length:0,start:T[Wt]+Ge}}):L.text.substr(T[Wt]+Xr,$t.length)===$t&&fe.push({newText:"",span:{length:$t.length,start:T[Wt]+Xr}}))}return fe}function Mt(Z,ie,U,L){var fe;let T=x.getCurrentSourceFile(Z),it=[],{text:dt}=T,_e=!1,Ge=U||!1,bt=[],{pos:jt}=ie,Yt=L!==void 0?L:isInsideJsxElement(T,jt),$t=Yt?"{/*":"/*",Wt=Yt?"*/}":"*/",Xr=Yt?"\\{\\/\\*":"\\/\\*",Dr=Yt?"\\*\\/\\}":"\\*\\/";for(;jt<=ie.end;){let Lr=dt.substr(jt,$t.length)===$t?$t.length:0,yr=isInComment(T,jt+Lr);if(yr)Yt&&(yr.pos--,yr.end++),bt.push(yr.pos),yr.kind===3&&bt.push(yr.end),_e=!0,jt=yr.end+1;else{let Rn=dt.substring(jt,ie.end).search(`(${Xr})|(${Dr})`);Ge=U!==void 0?U:Ge||!isTextWhiteSpaceLike(dt,jt,Rn===-1?ie.end:jt+Rn),jt=Rn===-1?ie.end+1:jt+Rn+Wt.length}}if(Ge||!_e){((fe=isInComment(T,ie.pos))==null?void 0:fe.kind)!==2&&Qn(bt,ie.pos,Vr),Qn(bt,ie.end,Vr);let Lr=bt[0];dt.substr(Lr,$t.length)!==$t&&it.push({newText:$t,span:{length:0,start:Lr}});for(let yr=1;yr0?Lr-Wt.length:0,Rn=dt.substr(yr,Wt.length)===Wt?Wt.length:0;it.push({newText:"",span:{length:$t.length,start:Lr-Rn}})}return it}function It(Z,ie){let U=x.getCurrentSourceFile(Z),{firstLine:L,lastLine:fe}=ot(U,ie);return L===fe&&ie.pos!==ie.end?Mt(Z,ie,!0):Ct(Z,ie,!0)}function Mr(Z,ie){let U=x.getCurrentSourceFile(Z),L=[],{pos:fe}=ie,{end:T}=ie;fe===T&&(T+=isInsideJsxElement(U,fe)?2:1);for(let it=fe;it<=T;it++){let dt=isInComment(U,it);if(dt){switch(dt.kind){case 2:L.push.apply(L,Ct(Z,{end:dt.end,pos:dt.pos+1},!1));break;case 3:L.push.apply(L,Mt(Z,{end:dt.end,pos:dt.pos+1},!1))}it=dt.end+1}}return L}function gr(Z){let{openingElement:ie,closingElement:U,parent:L}=Z;return!Hi(ie.tagName,U.tagName)||lv(L)&&Hi(ie.tagName,L.openingElement.tagName)&&gr(L)}function Ln(Z){let{closingFragment:ie,parent:U}=Z;return!!(ie.flags&131072)||pd(U)&&Ln(U)}function ys(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=ts_formatting_exports.getRangeOfEnclosingComment(L,ie);return fe&&(!U||fe.kind===3)?createTextSpanFromRange(fe):void 0}function ci(Z,ie){Se();let U=Te(Z);B.throwIfCancellationRequested();let L=U.text,fe=[];if(ie.length>0&&!_e(U.fileName)){let Ge=it(),bt;for(;bt=Ge.exec(L);){B.throwIfCancellationRequested();let jt=3;Y.assert(bt.length===ie.length+jt);let Yt=bt[1],$t=bt.index+Yt.length;if(!isInComment(U,$t))continue;let Wt;for(let Dr=0;Dr"("+T(yr.text)+")").join("|")+")",Wt=/(?:$|\*\/)/.source,Xr=/(?:.*?)/.source,Dr="("+$t+Xr+")",Lr=Yt+Dr+Wt;return new RegExp(Lr,"gim")}function dt(Ge){return Ge>=97&&Ge<=122||Ge>=65&&Ge<=90||Ge>=48&&Ge<=57}function _e(Ge){return Fi(Ge,"/node_modules/")}}function Xi(Z,ie,U){return Se(),ts_Rename_exports.getRenameInfo(w,Te(Z),ie,U||{})}function Aa(Z,ie,U,L,fe,T){let[it,dt]=typeof ie=="number"?[ie,void 0]:[ie.pos,ie.end];return{file:Z,startPosition:it,endPosition:dt,program:Ye(),host:e,formatContext:ts_formatting_exports.getFormatContext(L,e),cancellationToken:B,preferences:U,triggerReason:fe,kind:T}}function vs(Z,ie,U){return{file:Z,program:Ye(),host:e,span:ie,preferences:U,cancellationToken:B}}function $s(Z,ie){return ts_SmartSelectionRange_exports.getSmartSelectionRange(ie,x.getCurrentSourceFile(Z))}function li(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,L=arguments.length>3?arguments[3]:void 0,fe=arguments.length>4?arguments[4]:void 0;Se();let T=Te(Z);return ts_refactor_exports.getApplicableRefactors(Aa(T,ie,U,emptyOptions,L,fe))}function Yi(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let it=Te(Z);return ts_refactor_exports.getEditsForRefactor(Aa(it,U,T,ie),L,fe)}function Qi(Z,ie){return ie===0?{line:0,character:0}:ae.toLineColumnOffset(Z,ie)}function bs(Z,ie){Se();let U=ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,getTouchingPropertyName(Te(Z),ie));return U&&mapOneOrMany(U,L=>ts_CallHierarchy_exports.createCallHierarchyItem(w,L))}function Ai(Z,ie){Se();let U=Te(Z),L=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,ie===0?U:getTouchingPropertyName(U,ie)));return L?ts_CallHierarchy_exports.getIncomingCalls(w,L,B):[]}function xn(Z,ie){Se();let U=Te(Z),L=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,ie===0?U:getTouchingPropertyName(U,ie)));return L?ts_CallHierarchy_exports.getOutgoingCalls(w,L):[]}function Dt(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let L=Te(Z);return ts_InlayHints_exports.provideInlayHints(vs(L,ie,U))}let Pi={dispose:pt,cleanupSemanticCache:Ve,getSyntacticDiagnostics:Gt,getSemanticDiagnostics:Nt,getSuggestionDiagnostics:Xt,getCompilerOptionsDiagnostics:er,getSyntacticClassifications:br,getSemanticClassifications:On,getEncodedSyntacticClassifications:Kr,getEncodedSemanticClassifications:nr,getCompletionsAtPosition:Tn,getCompletionEntryDetails:Hr,getCompletionEntrySymbol:Gi,getSignatureHelpItems:Nn,getQuickInfoAtPosition:pn,getDefinitionAtPosition:kn,getDefinitionAndBoundSpan:an,getImplementationAtPosition:$i,getTypeDefinitionAtPosition:mr,getReferencesAtPosition:_r,findReferences:In,getFileReferences:pr,getOccurrencesAtPosition:dn,getDocumentHighlights:Ur,getNameOrDottedNameSpan:oi,getBreakpointStatementAtPosition:cr,getNavigateToItems:Zt,getRenameInfo:Xi,getSmartSelectionRange:$s,findRenameLocations:Gr,getNavigationBarItems:$r,getNavigationTree:hr,getOutliningSpans:wa,getTodoComments:ci,getBraceMatchingAtPosition:Ki,getIndentationAtPosition:Mn,getFormattingEditsForRange:_i,getFormattingEditsForDocument:Ca,getFormattingEditsAfterKeystroke:St,getDocCommentTemplateAtPosition:xe,isValidBraceCompletionAtPosition:Le,getJsxClosingTagAtPosition:Re,getSpanOfEnclosingComment:ys,getCodeFixesAtPosition:ue,getCombinedCodeFix:He,applyCodeActionCommand:Kt,organizeImports:_t,getEditsForFileRename:ft,getEmitOutput:Or,getNonBoundSourceFile:ar,getProgram:Ye,getCurrentProgram:()=>w,getAutoImportProvider:Oe,updateIsDefinitionOfReferencedSymbols:oe,getApplicableRefactors:li,getEditsForRefactor:Yi,toLineColumnOffset:Qi,getSourceMapper:()=>ae,clearSourceMapperCache:()=>ae.clearCache(),prepareCallHierarchy:bs,provideCallHierarchyIncomingCalls:Ai,provideCallHierarchyOutgoingCalls:xn,toggleLineComment:Ct,toggleMultilineComment:Mt,commentSelection:It,uncommentSelection:Mr,provideInlayHints:Dt,getSupportedCodeFixes:v7};switch(f){case 0:break;case 1:Mv.forEach(Z=>Pi[Z]=()=>{throw new Error(`LanguageService Operation: ${Z} not allowed in LanguageServiceMode.PartialSemantic`)});break;case 2:M7.forEach(Z=>Pi[Z]=()=>{throw new Error(`LanguageService Operation: ${Z} not allowed in LanguageServiceMode.Syntactic`)});break;default:Y.assertNever(f)}return Pi}function oB(e){return e.nameTable||_B(e),e.nameTable}function _B(e){let t=e.nameTable=new Map;e.forEachChild(function r(s){if(yt(s)&&!isTagName(s)&&s.escapedText||Ta(s)&&cB(s)){let f=b4(s);t.set(f,t.get(f)===void 0?s.pos:-1)}else if(vn(s)){let f=s.escapedText;t.set(f,t.get(f)===void 0?s.pos:-1)}if(xr(s,r),ya(s))for(let f of s.jsDoc)xr(f,r)})}function cB(e){return c4(e)||e.parent.kind===280||pB(e)||l4(e)}function S7(e){let t=lB(e);return t&&(Hs(t.parent)||pv(t.parent))?t:void 0}function lB(e){switch(e.kind){case 10:case 14:case 8:if(e.parent.kind===164)return Wy(e.parent.parent)?e.parent.parent:void 0;case 79:return Wy(e.parent)&&(e.parent.parent.kind===207||e.parent.parent.kind===289)&&e.parent.name===e?e.parent:void 0}}function uB(e,t){let r=S7(e);if(r){let s=t.getContextualType(r.parent),f=s&&x7(r,t,s,!1);if(f&&f.length===1)return fo(f)}return t.getSymbolAtLocation(e)}function x7(e,t,r,s){let f=getNameFromPropertyName(e.name);if(!f)return Bt;if(!r.isUnion()){let w=r.getProperty(f);return w?[w]:Bt}let x=qt(r.types,w=>(Hs(e.parent)||pv(e.parent))&&t.isTypeInvalidDueToUnionDiscriminant(w,e.parent)?void 0:w.getProperty(f));if(s&&(x.length===0||x.length===r.types.length)){let w=r.getProperty(f);if(w)return[w]}return x.length===0?qt(r.types,w=>w.getProperty(f)):x}function pB(e){return e&&e.parent&&e.parent.kind===209&&e.parent.argumentExpression===e}function fB(e){if(iy)return tn(ma(Un(iy.getExecutingFilePath())),a3(e));throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}var E7,wd,Cd,w7,Ov,Ad,Pd,C7,A7,P7,D7,k7,I7,N7,O7,Mv,M7,dB=D({"src/services/services.ts"(){"use strict";Lv(),Lv(),p7(),f7(),E7="0.8",wd=class{constructor(e,t,r){this.pos=t,this.end=r,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=e}assertHasRealPosition(e){Y.assert(!hs(this.pos)&&!hs(this.end),e||"Node must have a real position for this operation")}getSourceFile(){return Si(this)}getStart(e,t){return this.assertHasRealPosition(),Io(this,e,t)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos}getFullText(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(e){return this.getChildren(e).length}getChildAt(e,t){return this.getChildren(t)[e]}getChildren(e){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=rB(this,e))}getFirstToken(e){this.assertHasRealPosition();let t=this.getChildren(e);if(!t.length)return;let r=Pe(t,s=>s.kind<312||s.kind>353);return r.kind<163?r:r.getFirstToken(e)}getLastToken(e){this.assertHasRealPosition();let t=this.getChildren(e),r=Cn(t);if(r)return r.kind<163?r:r.getLastToken(e)}forEachChild(e,t){return xr(this,e,t)}},Cd=class{constructor(e,t){this.pos=e,this.end=t,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}getSourceFile(){return Si(this)}getStart(e,t){return Io(this,e,t)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(e){return this.getEnd()-this.getStart(e)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(e){return this.getStart(e)-this.pos}getFullText(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(e){return this.getChildren()[e]}getChildren(){return this.kind===1&&this.jsDoc||Bt}getFirstToken(){}getLastToken(){}forEachChild(){}},w7=class{constructor(e,t){this.id=0,this.mergeId=0,this.flags=e,this.escapedName=t}getFlags(){return this.flags}get name(){return rf(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(e){if(!this.documentationComment)if(this.documentationComment=Bt,!this.declarations&&$y(this)&&this.links.target&&$y(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let t=this.links.target.links.tupleLabelDeclaration;this.documentationComment=cu([t],e)}else this.documentationComment=cu(this.declarations,e);return this.documentationComment}getContextualDocumentationComment(e,t){if(e){if(Tl(e)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=cu(ee(this.declarations,Tl),t)),I(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(bl(e)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=cu(ee(this.declarations,bl),t)),I(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(t)}getJsDocTags(e){return this.tags===void 0&&(this.tags=Ed(this.declarations,e)),this.tags}getContextualJsDocTags(e,t){if(e){if(Tl(e)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=Ed(ee(this.declarations,Tl),t)),I(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(bl(e)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=Ed(ee(this.declarations,bl),t)),I(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(t)}},Ov=class extends Cd{constructor(e,t,r){super(t,r),this.kind=e}},Ad=class extends Cd{constructor(e,t,r){super(t,r),this.kind=79}get text(){return qr(this)}},Ad.prototype.kind=79,Pd=class extends Cd{constructor(e,t,r){super(t,r),this.kind=80}get text(){return qr(this)}},Pd.prototype.kind=80,C7=class{constructor(e,t){this.checker=e,this.flags=t}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(e){return this.checker.getPropertyOfType(this,e)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(Bf(this)&3)}isClass(){return!!(Bf(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(Bf(this)&4)return this.checker.getTypeArguments(this)}},A7=class{constructor(e,t){this.checker=e,this.flags=t}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(e){let t=this.checker.getParameterType(this,e);if(t.isIndexType()&&Kx(t.type)){let r=t.type.getConstraint();if(r)return this.checker.getIndexType(r)}return t}getDocumentationComment(){return this.documentationComment||(this.documentationComment=cu(Cp(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=Ed(Cp(this.declaration),this.checker))}},P7=class extends wd{constructor(e,t,r){super(e,t,r),this.kind=308}update(e,t){return kv(this,e,t)}getLineAndCharacterOfPosition(e){return Ls(this,e)}getLineStarts(){return ss(this)}getPositionOfLineAndCharacter(e,t,r){return dy(ss(this),e,t,this.text,r)}getLineEndOfPosition(e){let{line:t}=this.getLineAndCharacterOfPosition(e),r=this.getLineStarts(),s;t+1>=r.length&&(s=this.getEnd()),s||(s=r[t+1]-1);let f=this.getFullText();return f[s]===` -`&&f[s-1]==="\r"?s-1:s}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let e=Be();return this.forEachChild(f),e;function t(x){let w=s(x);w&&e.add(w,x)}function r(x){let w=e.get(x);return w||e.set(x,w=[]),w}function s(x){let w=Ey(x);return w&&(Ws(w)&&bn(w.expression)?w.expression.name.text:vl(w)?getNameFromPropertyName(w):void 0)}function f(x){switch(x.kind){case 259:case 215:case 171:case 170:let w=x,A=s(w);if(A){let N=r(A),X=Cn(N);X&&w.parent===X.parent&&w.symbol===X.symbol?w.body&&!X.body&&(N[N.length-1]=w):N.push(w)}xr(x,f);break;case 260:case 228:case 261:case 262:case 263:case 264:case 268:case 278:case 273:case 270:case 271:case 174:case 175:case 184:t(x),xr(x,f);break;case 166:if(!rn(x,16476))break;case 257:case 205:{let N=x;if(df(N.name)){xr(N.name,f);break}N.initializer&&f(N.initializer)}case 302:case 169:case 168:t(x);break;case 275:let g=x;g.exportClause&&(iE(g.exportClause)?c(g.exportClause.elements,f):f(g.exportClause.name));break;case 269:let B=x.importClause;B&&(B.name&&t(B.name),B.namedBindings&&(B.namedBindings.kind===271?t(B.namedBindings):c(B.namedBindings.elements,f)));break;case 223:ps(x)!==0&&t(x);default:xr(x,f)}}}},D7=class{constructor(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}getLineAndCharacterOfPosition(e){return Ls(this,e)}},k7=class{constructor(e){this.host=e}getCurrentSourceFile(e){var t,r,s,f,x,w,A,g;let B=this.host.getScriptSnapshot(e);if(!B)throw new Error("Could not find file: '"+e+"'.");let N=getScriptKind(e,this.host),X=this.host.getScriptVersion(e),F;if(this.currentFileName!==e){let $={languageVersion:99,impliedNodeFormat:getImpliedNodeFormatForFile(Ui(e,this.host.getCurrentDirectory(),((s=(r=(t=this.host).getCompilerHost)==null?void 0:r.call(t))==null?void 0:s.getCanonicalFileName)||D4(this.host)),(g=(A=(w=(x=(f=this.host).getCompilerHost)==null?void 0:x.call(f))==null?void 0:w.getModuleResolutionCache)==null?void 0:A.call(w))==null?void 0:g.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:Ex(this.host.getCompilationSettings())};F=Nv(e,B,$,X,!0,N)}else if(this.currentFileVersion!==X){let $=B.getChangeRange(this.currentFileScriptSnapshot);F=T7(this.currentSourceFile,B,X,$)}return F&&(this.currentFileVersion=X,this.currentFileName=e,this.currentFileScriptSnapshot=B,this.currentSourceFile=F),this.currentSourceFile}},I7={isCancellationRequested:w_,throwIfCancellationRequested:yn},N7=class{constructor(e){this.cancellationToken=e}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=rs)==null||e.instant(rs.Phase.Session,"cancellationThrown",{kind:"CancellationTokenObject"}),new Rp}},O7=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20;this.hostCancellationToken=e,this.throttleWaitMilliseconds=t,this.lastCancellationCheckTime=0}isCancellationRequested(){let e=ts();return Math.abs(e-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=e,this.hostCancellationToken.isCancellationRequested()):!1}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=rs)==null||e.instant(rs.Phase.Session,"cancellationThrown",{kind:"ThrottledCancellationToken"}),new Rp}},Mv=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes"],M7=[...Mv,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],gx(iB())}}),mB=()=>{},hB=()=>{},gB=()=>{},yB=()=>{},vB=()=>{},bB=()=>{},TB=()=>{},SB=()=>{},xB=()=>{},EB=()=>{},wB=()=>{},CB=()=>{},AB=()=>{},PB=()=>{},DB=()=>{},kB=()=>{},IB=()=>{},NB=()=>{},OB=()=>{},MB=()=>{},Lv=D({"src/services/_namespaces/ts.ts"(){"use strict";nn(),l7(),VF(),u7(),HF(),GF(),$F(),KF(),XF(),YF(),QF(),ZF(),eB(),tB(),dB(),mB(),hB(),gB(),yB(),vB(),bB(),TB(),SB(),xB(),EB(),wB(),p7(),f7(),CB(),AB(),PB(),DB(),kB(),IB(),NB(),OB(),MB()}}),LB=()=>{},L7={};y(L7,{ANONYMOUS:()=>ANONYMOUS,AccessFlags:()=>Cg,AssertionLevel:()=>$1,AssignmentDeclarationKind:()=>Mg,AssignmentKind:()=>S2,Associativity:()=>E2,BreakpointResolver:()=>ts_BreakpointResolver_exports,BuilderFileEmit:()=>BuilderFileEmit,BuilderProgramKind:()=>BuilderProgramKind,BuilderState:()=>BuilderState,BundleFileSectionKind:()=>ty,CallHierarchy:()=>ts_CallHierarchy_exports,CharacterCodes:()=>$g,CheckFlags:()=>Tg,CheckMode:()=>CheckMode,ClassificationType:()=>ClassificationType,ClassificationTypeNames:()=>ClassificationTypeNames,CommentDirectiveType:()=>ig,Comparison:()=>d,CompletionInfoFlags:()=>CompletionInfoFlags,CompletionTriggerKind:()=>CompletionTriggerKind,Completions:()=>ts_Completions_exports,ConfigFileProgramReloadLevel:()=>ConfigFileProgramReloadLevel,ContextFlags:()=>pg,CoreServicesShimHostAdapter:()=>CoreServicesShimHostAdapter,Debug:()=>Y,DiagnosticCategory:()=>qp,Diagnostics:()=>ve,DocumentHighlights:()=>DocumentHighlights,ElementFlags:()=>wg,EmitFlags:()=>Wp,EmitHint:()=>Qg,EmitOnly:()=>og,EndOfLineState:()=>EndOfLineState,EnumKind:()=>bg,ExitStatus:()=>cg,ExportKind:()=>ExportKind,Extension:()=>Kg,ExternalEmitHelpers:()=>Yg,FileIncludeKind:()=>ag,FilePreprocessingDiagnosticsKind:()=>sg,FileSystemEntryKind:()=>FileSystemEntryKind,FileWatcherEventKind:()=>FileWatcherEventKind,FindAllReferences:()=>ts_FindAllReferences_exports,FlattenLevel:()=>FlattenLevel,FlowFlags:()=>il,ForegroundColorEscapeSequences:()=>ForegroundColorEscapeSequences,FunctionFlags:()=>x2,GeneratedIdentifierFlags:()=>rg,GetLiteralTextFlags:()=>v2,GoToDefinition:()=>ts_GoToDefinition_exports,HighlightSpanKind:()=>HighlightSpanKind,ImportKind:()=>ImportKind,ImportsNotUsedAsValues:()=>Ug,IndentStyle:()=>IndentStyle,IndexKind:()=>Dg,InferenceFlags:()=>Ng,InferencePriority:()=>Ig,InlayHintKind:()=>InlayHintKind,InlayHints:()=>ts_InlayHints_exports,InternalEmitFlags:()=>Xg,InternalSymbolName:()=>Sg,InvalidatedProjectKind:()=>InvalidatedProjectKind,JsDoc:()=>ts_JsDoc_exports,JsTyping:()=>ts_JsTyping_exports,JsxEmit:()=>qg,JsxFlags:()=>tg,JsxReferenceKind:()=>Ag,LanguageServiceMode:()=>LanguageServiceMode,LanguageServiceShimHostAdapter:()=>LanguageServiceShimHostAdapter,LanguageVariant:()=>Hg,LexicalEnvironmentFlags:()=>ey,ListFormat:()=>ry,LogLevel:()=>Y1,MemberOverrideStatus:()=>lg,ModifierFlags:()=>Mp,ModuleDetectionKind:()=>Rg,ModuleInstanceState:()=>ModuleInstanceState,ModuleKind:()=>Bg,ModuleResolutionKind:()=>Lg,ModuleSpecifierEnding:()=>j2,NavigateTo:()=>ts_NavigateTo_exports,NavigationBar:()=>ts_NavigationBar_exports,NewLineKind:()=>zg,NodeBuilderFlags:()=>fg,NodeCheckFlags:()=>xg,NodeFactoryFlags:()=>F2,NodeFlags:()=>Op,NodeResolutionFeatures:()=>NodeResolutionFeatures,ObjectFlags:()=>Fp,OperationCanceledException:()=>Rp,OperatorPrecedence:()=>w2,OrganizeImports:()=>ts_OrganizeImports_exports,OrganizeImportsMode:()=>OrganizeImportsMode,OuterExpressionKinds:()=>Zg,OutliningElementsCollector:()=>ts_OutliningElementsCollector_exports,OutliningSpanKind:()=>OutliningSpanKind,OutputFileType:()=>OutputFileType,PackageJsonAutoImportPreference:()=>PackageJsonAutoImportPreference,PackageJsonDependencyGroup:()=>PackageJsonDependencyGroup,PatternMatchKind:()=>PatternMatchKind,PollingInterval:()=>PollingInterval,PollingWatchKind:()=>Fg,PragmaKindFlags:()=>ny,PrivateIdentifierKind:()=>PrivateIdentifierKind,ProcessLevel:()=>ProcessLevel,QuotePreference:()=>QuotePreference,RelationComparisonResult:()=>Lp,Rename:()=>ts_Rename_exports,ScriptElementKind:()=>ScriptElementKind,ScriptElementKindModifier:()=>ScriptElementKindModifier,ScriptKind:()=>Wg,ScriptSnapshot:()=>ScriptSnapshot,ScriptTarget:()=>Vg,SemanticClassificationFormat:()=>SemanticClassificationFormat,SemanticMeaning:()=>SemanticMeaning,SemicolonPreference:()=>SemicolonPreference,SignatureCheckMode:()=>SignatureCheckMode,SignatureFlags:()=>Bp,SignatureHelp:()=>ts_SignatureHelp_exports,SignatureKind:()=>Pg,SmartSelectionRange:()=>ts_SmartSelectionRange_exports,SnippetKind:()=>zp,SortKind:()=>H1,StructureIsReused:()=>_g,SymbolAccessibility:()=>hg,SymbolDisplay:()=>ts_SymbolDisplay_exports,SymbolDisplayPartKind:()=>SymbolDisplayPartKind,SymbolFlags:()=>jp,SymbolFormatFlags:()=>mg,SyntaxKind:()=>Np,SyntheticSymbolKind:()=>gg,Ternary:()=>Og,ThrottledCancellationToken:()=>O7,TokenClass:()=>TokenClass,TokenFlags:()=>ng,TransformFlags:()=>Up,TypeFacts:()=>TypeFacts,TypeFlags:()=>Jp,TypeFormatFlags:()=>dg,TypeMapKind:()=>kg,TypePredicateKind:()=>yg,TypeReferenceSerializationKind:()=>vg,TypeScriptServicesFactory:()=>TypeScriptServicesFactory,UnionReduction:()=>ug,UpToDateStatusType:()=>UpToDateStatusType,VarianceFlags:()=>Eg,Version:()=>Version,VersionRange:()=>VersionRange,WatchDirectoryFlags:()=>Gg,WatchDirectoryKind:()=>Jg,WatchFileKind:()=>jg,WatchLogLevel:()=>WatchLogLevel,WatchType:()=>WatchType,accessPrivateIdentifier:()=>accessPrivateIdentifier,addEmitFlags:()=>addEmitFlags,addEmitHelper:()=>addEmitHelper,addEmitHelpers:()=>addEmitHelpers,addInternalEmitFlags:()=>addInternalEmitFlags,addNodeFactoryPatcher:()=>OL,addObjectAllocatorPatcher:()=>rM,addRange:()=>jr,addRelatedInfo:()=>Rl,addSyntheticLeadingComment:()=>addSyntheticLeadingComment,addSyntheticTrailingComment:()=>addSyntheticTrailingComment,addToSeen:()=>zO,advancedAsyncSuperHelper:()=>advancedAsyncSuperHelper,affectsDeclarationPathOptionDeclarations:()=>affectsDeclarationPathOptionDeclarations,affectsEmitOptionDeclarations:()=>affectsEmitOptionDeclarations,allKeysStartWithDot:()=>allKeysStartWithDot,altDirectorySeparator:()=>py,and:()=>b5,append:()=>tr,appendIfUnique:()=>g_,arrayFrom:()=>Za,arrayIsEqualTo:()=>Hc,arrayIsHomogeneous:()=>cL,arrayIsSorted:()=>Wc,arrayOf:()=>yo,arrayReverseIterator:()=>y_,arrayToMap:()=>Zc,arrayToMultiMap:()=>bo,arrayToNumericMap:()=>Os,arraysEqual:()=>Ie,assertType:()=>S5,assign:()=>vo,assignHelper:()=>assignHelper,asyncDelegator:()=>asyncDelegator,asyncGeneratorHelper:()=>asyncGeneratorHelper,asyncSuperHelper:()=>asyncSuperHelper,asyncValues:()=>asyncValues,attachFileToDiagnostics:()=>qs,awaitHelper:()=>awaitHelper,awaiterHelper:()=>awaiterHelper,base64decode:()=>uO,base64encode:()=>lO,binarySearch:()=>Ya,binarySearchKey:()=>b_,bindSourceFile:()=>bindSourceFile,breakIntoCharacterSpans:()=>breakIntoCharacterSpans,breakIntoWordSpans:()=>breakIntoWordSpans,buildLinkParts:()=>buildLinkParts,buildOpts:()=>buildOpts,buildOverload:()=>buildOverload,bundlerModuleNameResolver:()=>bundlerModuleNameResolver,canBeConvertedToAsync:()=>canBeConvertedToAsync,canHaveDecorators:()=>ME,canHaveExportModifier:()=>xL,canHaveFlowNode:()=>OI,canHaveIllegalDecorators:()=>Qj,canHaveIllegalModifiers:()=>Zj,canHaveIllegalType:()=>Yj,canHaveIllegalTypeParameters:()=>IE,canHaveJSDoc:()=>Af,canHaveLocals:()=>FP,canHaveModifiers:()=>fc,canHaveSymbol:()=>JP,canJsonReportNoInputFiles:()=>canJsonReportNoInputFiles,canProduceDiagnostics:()=>canProduceDiagnostics,canUsePropertyAccess:()=>EL,canWatchDirectoryOrFile:()=>canWatchDirectoryOrFile,cartesianProduct:()=>E5,cast:()=>ti,chainBundle:()=>chainBundle,chainDiagnosticMessages:()=>sM,changeAnyExtension:()=>RT,changeCompilerHostLikeToUseCache:()=>changeCompilerHostLikeToUseCache,changeExtension:()=>VM,changesAffectModuleResolution:()=>aD,changesAffectingProgramStructure:()=>sD,childIsDecorated:()=>h0,classElementOrClassElementParameterIsDecorated:()=>rI,classOrConstructorParameterIsDecorated:()=>tI,classPrivateFieldGetHelper:()=>classPrivateFieldGetHelper,classPrivateFieldInHelper:()=>classPrivateFieldInHelper,classPrivateFieldSetHelper:()=>classPrivateFieldSetHelper,classicNameResolver:()=>classicNameResolver,classifier:()=>ts_classifier_exports,cleanExtendedConfigCache:()=>cleanExtendedConfigCache,clear:()=>nt,clearMap:()=>jO,clearSharedExtendedConfigFileWatcher:()=>clearSharedExtendedConfigFileWatcher,climbPastPropertyAccess:()=>climbPastPropertyAccess,climbPastPropertyOrElementAccess:()=>climbPastPropertyOrElementAccess,clone:()=>E_,cloneCompilerOptions:()=>cloneCompilerOptions,closeFileWatcher:()=>kO,closeFileWatcherOf:()=>closeFileWatcherOf,codefix:()=>ts_codefix_exports,collapseTextChangeRangesAcrossMultipleVersions:()=>SA,collectExternalModuleInfo:()=>collectExternalModuleInfo,combine:()=>$c,combinePaths:()=>tn,commentPragmas:()=>Vp,commonOptionsWithBuild:()=>commonOptionsWithBuild,commonPackageFolders:()=>P2,compact:()=>Gc,compareBooleans:()=>j1,compareDataObjects:()=>px,compareDiagnostics:()=>a2,compareDiagnosticsSkipRelatedInformation:()=>qf,compareEmitHelpers:()=>compareEmitHelpers,compareNumberOfDirectorySeparators:()=>WM,comparePaths:()=>Y5,comparePathsCaseInsensitive:()=>X5,comparePathsCaseSensitive:()=>K5,comparePatternKeys:()=>comparePatternKeys,compareProperties:()=>R1,compareStringsCaseInsensitive:()=>C_,compareStringsCaseInsensitiveEslintCompatible:()=>O1,compareStringsCaseSensitive:()=>ri,compareStringsCaseSensitiveUI:()=>L1,compareTextSpans:()=>I1,compareValues:()=>Vr,compileOnSaveCommandLineOption:()=>compileOnSaveCommandLineOption,compilerOptionsAffectDeclarationPath:()=>wM,compilerOptionsAffectEmit:()=>EM,compilerOptionsAffectSemanticDiagnostics:()=>xM,compilerOptionsDidYouMeanDiagnostics:()=>compilerOptionsDidYouMeanDiagnostics,compilerOptionsIndicateEsModules:()=>compilerOptionsIndicateEsModules,compose:()=>k1,computeCommonSourceDirectoryOfFilenames:()=>computeCommonSourceDirectoryOfFilenames,computeLineAndCharacterOfPosition:()=>my,computeLineOfPosition:()=>k_,computeLineStarts:()=>Kp,computePositionOfLineAndCharacter:()=>dy,computeSignature:()=>computeSignature,computeSignatureWithDiagnostics:()=>computeSignatureWithDiagnostics,computeSuggestionDiagnostics:()=>computeSuggestionDiagnostics,concatenate:()=>Ft,concatenateDiagnosticMessageChains:()=>oM,consumesNodeCoreModules:()=>consumesNodeCoreModules,contains:()=>pe,containsIgnoredPath:()=>Hx,containsObjectRestOrSpread:()=>Av,containsParseError:()=>Ky,containsPath:()=>jT,convertCompilerOptionsForTelemetry:()=>convertCompilerOptionsForTelemetry,convertCompilerOptionsFromJson:()=>convertCompilerOptionsFromJson,convertJsonOption:()=>convertJsonOption,convertToBase64:()=>ix,convertToObject:()=>convertToObject,convertToObjectWorker:()=>convertToObjectWorker,convertToOptionsWithAbsolutePaths:()=>convertToOptionsWithAbsolutePaths,convertToRelativePath:()=>Z5,convertToTSConfig:()=>convertToTSConfig,convertTypeAcquisitionFromJson:()=>convertTypeAcquisitionFromJson,copyComments:()=>copyComments,copyEntries:()=>lD,copyLeadingComments:()=>copyLeadingComments,copyProperties:()=>H,copyTrailingAsLeadingComments:()=>copyTrailingAsLeadingComments,copyTrailingComments:()=>copyTrailingComments,couldStartTrivia:()=>_A,countWhere:()=>Xe,createAbstractBuilder:()=>createAbstractBuilder,createAccessorPropertyBackingField:()=>IJ,createAccessorPropertyGetRedirector:()=>NJ,createAccessorPropertySetRedirector:()=>OJ,createBaseNodeFactory:()=>S8,createBinaryExpressionTrampoline:()=>EJ,createBindingHelper:()=>createBindingHelper,createBuildInfo:()=>createBuildInfo,createBuilderProgram:()=>createBuilderProgram,createBuilderProgramUsingProgramBuildInfo:()=>createBuilderProgramUsingProgramBuildInfo,createBuilderStatusReporter:()=>createBuilderStatusReporter,createCacheWithRedirects:()=>createCacheWithRedirects,createCacheableExportInfoMap:()=>createCacheableExportInfoMap,createCachedDirectoryStructureHost:()=>createCachedDirectoryStructureHost,createClassifier:()=>createClassifier,createCommentDirectivesMap:()=>MD,createCompilerDiagnostic:()=>Ol,createCompilerDiagnosticForInvalidCustomType:()=>createCompilerDiagnosticForInvalidCustomType,createCompilerDiagnosticFromMessageChain:()=>aM,createCompilerHost:()=>createCompilerHost,createCompilerHostFromProgramHost:()=>createCompilerHostFromProgramHost,createCompilerHostWorker:()=>createCompilerHostWorker,createDetachedDiagnostic:()=>Ro,createDiagnosticCollection:()=>gN,createDiagnosticForFileFromMessageChain:()=>uk,createDiagnosticForNode:()=>ok,createDiagnosticForNodeArray:()=>_k,createDiagnosticForNodeArrayFromMessageChain:()=>lk,createDiagnosticForNodeFromMessageChain:()=>ck,createDiagnosticForNodeInSourceFile:()=>PS,createDiagnosticForRange:()=>fk,createDiagnosticMessageChainFromDiagnostic:()=>pk,createDiagnosticReporter:()=>createDiagnosticReporter,createDocumentPositionMapper:()=>createDocumentPositionMapper,createDocumentRegistry:()=>createDocumentRegistry,createDocumentRegistryInternal:()=>createDocumentRegistryInternal,createEmitAndSemanticDiagnosticsBuilderProgram:()=>createEmitAndSemanticDiagnosticsBuilderProgram,createEmitHelperFactory:()=>createEmitHelperFactory,createEmptyExports:()=>wj,createExpressionForJsxElement:()=>Aj,createExpressionForJsxFragment:()=>Pj,createExpressionForObjectLiteralElementLike:()=>Lj,createExpressionForPropertyName:()=>vE,createExpressionFromEntityName:()=>yE,createExternalHelpersImportDeclarationIfNeeded:()=>Wj,createFileDiagnostic:()=>i2,createFileDiagnosticFromMessageChain:()=>r0,createForOfBindingStatement:()=>Dj,createGetCanonicalFileName:()=>wp,createGetSourceFile:()=>createGetSourceFile,createGetSymbolAccessibilityDiagnosticForNode:()=>createGetSymbolAccessibilityDiagnosticForNode,createGetSymbolAccessibilityDiagnosticForNodeName:()=>createGetSymbolAccessibilityDiagnosticForNodeName,createGetSymbolWalker:()=>createGetSymbolWalker,createIncrementalCompilerHost:()=>createIncrementalCompilerHost,createIncrementalProgram:()=>createIncrementalProgram,createInputFiles:()=>qL,createInputFilesWithFilePaths:()=>C8,createInputFilesWithFileTexts:()=>A8,createJsxFactoryExpression:()=>gE,createLanguageService:()=>sB,createLanguageServiceSourceFile:()=>Nv,createMemberAccessForPropertyName:()=>hd,createModeAwareCache:()=>createModeAwareCache,createModeAwareCacheKey:()=>createModeAwareCacheKey,createModuleResolutionCache:()=>createModuleResolutionCache,createModuleResolutionLoader:()=>createModuleResolutionLoader,createModuleSpecifierResolutionHost:()=>createModuleSpecifierResolutionHost,createMultiMap:()=>Be,createNodeConverters:()=>x8,createNodeFactory:()=>Zf,createOptionNameMap:()=>createOptionNameMap,createOverload:()=>createOverload,createPackageJsonImportFilter:()=>createPackageJsonImportFilter,createPackageJsonInfo:()=>createPackageJsonInfo,createParenthesizerRules:()=>createParenthesizerRules,createPatternMatcher:()=>createPatternMatcher,createPrependNodes:()=>createPrependNodes,createPrinter:()=>createPrinter,createPrinterWithDefaults:()=>createPrinterWithDefaults,createPrinterWithRemoveComments:()=>createPrinterWithRemoveComments,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>createPrinterWithRemoveCommentsNeverAsciiEscape,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>createPrinterWithRemoveCommentsOmitTrailingSemicolon,createProgram:()=>createProgram,createProgramHost:()=>createProgramHost,createPropertyNameNodeForIdentifierOrLiteral:()=>bL,createQueue:()=>Fr,createRange:()=>Jf,createRedirectedBuilderProgram:()=>createRedirectedBuilderProgram,createResolutionCache:()=>createResolutionCache,createRuntimeTypeSerializer:()=>createRuntimeTypeSerializer,createScanner:()=>Po,createSemanticDiagnosticsBuilderProgram:()=>createSemanticDiagnosticsBuilderProgram,createSet:()=>Cr,createSolutionBuilder:()=>createSolutionBuilder,createSolutionBuilderHost:()=>createSolutionBuilderHost,createSolutionBuilderWithWatch:()=>createSolutionBuilderWithWatch,createSolutionBuilderWithWatchHost:()=>createSolutionBuilderWithWatchHost,createSortedArray:()=>zc,createSourceFile:()=>YE,createSourceMapGenerator:()=>createSourceMapGenerator,createSourceMapSource:()=>UL,createSuperAccessVariableStatement:()=>createSuperAccessVariableStatement,createSymbolTable:()=>nD,createSymlinkCache:()=>kM,createSystemWatchFunctions:()=>createSystemWatchFunctions,createTextChange:()=>createTextChange,createTextChangeFromStartLength:()=>createTextChangeFromStartLength,createTextChangeRange:()=>Zp,createTextRangeFromNode:()=>createTextRangeFromNode,createTextRangeFromSpan:()=>createTextRangeFromSpan,createTextSpan:()=>L_,createTextSpanFromBounds:()=>ha,createTextSpanFromNode:()=>createTextSpanFromNode,createTextSpanFromRange:()=>createTextSpanFromRange,createTextSpanFromStringLiteralLikeContent:()=>createTextSpanFromStringLiteralLikeContent,createTextWriter:()=>wN,createTokenRange:()=>hO,createTypeChecker:()=>createTypeChecker,createTypeReferenceDirectiveResolutionCache:()=>createTypeReferenceDirectiveResolutionCache,createTypeReferenceResolutionLoader:()=>createTypeReferenceResolutionLoader,createUnderscoreEscapedMultiMap:()=>Ht,createUnparsedSourceFile:()=>JL,createWatchCompilerHost:()=>createWatchCompilerHost2,createWatchCompilerHostOfConfigFile:()=>createWatchCompilerHostOfConfigFile,createWatchCompilerHostOfFilesAndCompilerOptions:()=>createWatchCompilerHostOfFilesAndCompilerOptions,createWatchFactory:()=>createWatchFactory,createWatchHost:()=>createWatchHost,createWatchProgram:()=>createWatchProgram,createWatchStatusReporter:()=>createWatchStatusReporter,createWriteFileMeasuringIO:()=>createWriteFileMeasuringIO,declarationNameToString:()=>AS,decodeMappings:()=>decodeMappings,decodedTextSpanIntersectsWith:()=>Sy,decorateHelper:()=>decorateHelper,deduplicate:()=>ji,defaultIncludeSpec:()=>defaultIncludeSpec,defaultInitCompilerOptions:()=>defaultInitCompilerOptions,defaultMaximumTruncationLength:()=>r8,detectSortCaseSensitivity:()=>Vc,diagnosticCategoryName:()=>F5,diagnosticToString:()=>diagnosticToString,directoryProbablyExists:()=>sx,directorySeparator:()=>zn,displayPart:()=>displayPart,displayPartsToString:()=>aB,disposeEmitNodes:()=>disposeEmitNodes,documentSpansEqual:()=>documentSpansEqual,dumpTracingLegend:()=>dumpTracingLegend,elementAt:()=>wT,elideNodes:()=>AJ,emitComments:()=>U4,emitDetachedComments:()=>zN,emitFiles:()=>emitFiles,emitFilesAndReportErrors:()=>emitFilesAndReportErrors,emitFilesAndReportErrorsAndGetExitStatus:()=>emitFilesAndReportErrorsAndGetExitStatus,emitModuleKindIsNonNodeESM:()=>uM,emitNewLineBeforeLeadingCommentOfPosition:()=>UN,emitNewLineBeforeLeadingComments:()=>B4,emitNewLineBeforeLeadingCommentsOfPosition:()=>q4,emitSkippedWithNoDiagnostics:()=>emitSkippedWithNoDiagnostics,emitUsingBuildInfo:()=>emitUsingBuildInfo,emptyArray:()=>Bt,emptyFileSystemEntries:()=>T8,emptyMap:()=>V1,emptyOptions:()=>emptyOptions,emptySet:()=>ET,endsWith:()=>es,ensurePathIsNonModuleName:()=>_y,ensureScriptKind:()=>Nx,ensureTrailingDirectorySeparator:()=>wo,entityNameToString:()=>ls,enumerateInsertsAndDeletes:()=>x5,equalOwnProperties:()=>S_,equateStringsCaseInsensitive:()=>Ms,equateStringsCaseSensitive:()=>To,equateValues:()=>fa,esDecorateHelper:()=>esDecorateHelper,escapeJsxAttributeString:()=>A4,escapeLeadingUnderscores:()=>vi,escapeNonAsciiString:()=>Of,escapeSnippetText:()=>vL,escapeString:()=>Nf,every:()=>me,expandPreOrPostfixIncrementOrDecrementExpression:()=>Rj,explainFiles:()=>explainFiles,explainIfFileIsRedirectAndImpliedFormat:()=>explainIfFileIsRedirectAndImpliedFormat,exportAssignmentIsAlias:()=>I0,exportStarHelper:()=>exportStarHelper,expressionResultIsUnused:()=>fL,extend:()=>S,extendsHelper:()=>extendsHelper,extensionFromPath:()=>$M,extensionIsTS:()=>qx,externalHelpersModuleNameText:()=>Kf,factory:()=>si,fileExtensionIs:()=>ns,fileExtensionIsOneOf:()=>da,fileIncludeReasonToDiagnostics:()=>fileIncludeReasonToDiagnostics,filter:()=>ee,filterMutate:()=>je,filterSemanticDiagnostics:()=>filterSemanticDiagnostics,find:()=>Pe,findAncestor:()=>zi,findBestPatternMatch:()=>TT,findChildOfKind:()=>findChildOfKind,findComputedPropertyNameCacheAssignment:()=>MJ,findConfigFile:()=>findConfigFile,findContainingList:()=>findContainingList,findDiagnosticForNode:()=>findDiagnosticForNode,findFirstNonJsxWhitespaceToken:()=>findFirstNonJsxWhitespaceToken,findIndex:()=>he,findLast:()=>te,findLastIndex:()=>De,findListItemInfo:()=>findListItemInfo,findMap:()=>R,findModifier:()=>findModifier,findNextToken:()=>findNextToken,findPackageJson:()=>findPackageJson,findPackageJsons:()=>findPackageJsons,findPrecedingMatchingToken:()=>findPrecedingMatchingToken,findPrecedingToken:()=>findPrecedingToken,findSuperStatementIndex:()=>findSuperStatementIndex,findTokenOnLeftOfPosition:()=>findTokenOnLeftOfPosition,findUseStrictPrologue:()=>TE,first:()=>fo,firstDefined:()=>q,firstDefinedIterator:()=>W,firstIterator:()=>v_,firstOrOnly:()=>firstOrOnly,firstOrUndefined:()=>pa,firstOrUndefinedIterator:()=>Xc,fixupCompilerOptions:()=>fixupCompilerOptions,flatMap:()=>ne,flatMapIterator:()=>Fe,flatMapToMutable:()=>ge,flatten:()=>ct,flattenCommaList:()=>RJ,flattenDestructuringAssignment:()=>flattenDestructuringAssignment,flattenDestructuringBinding:()=>flattenDestructuringBinding,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,forEach:()=>c,forEachAncestor:()=>oD,forEachAncestorDirectory:()=>FT,forEachChild:()=>xr,forEachChildRecursively:()=>Dv,forEachEmittedFile:()=>forEachEmittedFile,forEachEnclosingBlockScopeContainer:()=>nk,forEachEntry:()=>_D,forEachExternalModuleToImportFrom:()=>forEachExternalModuleToImportFrom,forEachImportClauseDeclaration:()=>PI,forEachKey:()=>cD,forEachLeadingCommentRange:()=>cA,forEachNameInAccessChainWalkingLeft:()=>$O,forEachResolvedProjectReference:()=>forEachResolvedProjectReference,forEachReturnStatement:()=>Ek,forEachRight:()=>M,forEachTrailingCommentRange:()=>lA,forEachUnique:()=>forEachUnique,forEachYieldExpression:()=>wk,forSomeAncestorDirectory:()=>BO,formatColorAndReset:()=>formatColorAndReset,formatDiagnostic:()=>formatDiagnostic,formatDiagnostics:()=>formatDiagnostics,formatDiagnosticsWithColorAndContext:()=>formatDiagnosticsWithColorAndContext,formatGeneratedName:()=>bd,formatGeneratedNamePart:()=>Cv,formatLocation:()=>formatLocation,formatMessage:()=>iM,formatStringFromArgs:()=>X_,formatting:()=>ts_formatting_exports,fullTripleSlashAMDReferencePathRegEx:()=>T2,fullTripleSlashReferencePathRegEx:()=>b2,generateDjb2Hash:()=>generateDjb2Hash,generateTSConfig:()=>generateTSConfig,generatorHelper:()=>generatorHelper,getAdjustedReferenceLocation:()=>getAdjustedReferenceLocation,getAdjustedRenameLocation:()=>getAdjustedRenameLocation,getAliasDeclarationFromName:()=>u4,getAllAccessorDeclarations:()=>W0,getAllDecoratorsOfClass:()=>getAllDecoratorsOfClass,getAllDecoratorsOfClassElement:()=>getAllDecoratorsOfClassElement,getAllJSDocTags:()=>M3,getAllJSDocTagsOfKind:()=>JA,getAllKeys:()=>T_,getAllProjectOutputs:()=>getAllProjectOutputs,getAllSuperTypeNodes:()=>h4,getAllUnscopedEmitHelpers:()=>getAllUnscopedEmitHelpers,getAllowJSCompilerOption:()=>Ax,getAllowSyntheticDefaultImports:()=>gM,getAncestor:()=>XI,getAnyExtensionFromPath:()=>Gp,getAreDeclarationMapsEnabled:()=>hM,getAssignedExpandoInitializer:()=>hI,getAssignedName:()=>y3,getAssignmentDeclarationKind:()=>ps,getAssignmentDeclarationPropertyAccessKind:()=>KS,getAssignmentTargetKind:()=>o4,getAutomaticTypeDirectiveNames:()=>getAutomaticTypeDirectiveNames,getBaseFileName:()=>sl,getBinaryOperatorPrecedence:()=>Dl,getBuildInfo:()=>getBuildInfo,getBuildInfoFileVersionMap:()=>getBuildInfoFileVersionMap,getBuildInfoText:()=>getBuildInfoText,getBuildOrderFromAnyBuildOrder:()=>getBuildOrderFromAnyBuildOrder,getBuilderCreationParameters:()=>getBuilderCreationParameters,getBuilderFileEmit:()=>getBuilderFileEmit,getCheckFlags:()=>ux,getClassExtendsHeritageElement:()=>d4,getClassLikeDeclarationOfSymbol:()=>dx,getCombinedLocalAndExportSymbolFlags:()=>OO,getCombinedModifierFlags:()=>ef,getCombinedNodeFlags:()=>tf,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>EA,getCommentRange:()=>getCommentRange,getCommonSourceDirectory:()=>getCommonSourceDirectory,getCommonSourceDirectoryOfConfig:()=>getCommonSourceDirectoryOfConfig,getCompilerOptionValue:()=>u2,getCompilerOptionsDiffValue:()=>getCompilerOptionsDiffValue,getConditions:()=>getConditions,getConfigFileParsingDiagnostics:()=>getConfigFileParsingDiagnostics,getConstantValue:()=>getConstantValue,getContainerNode:()=>getContainerNode,getContainingClass:()=>qk,getContainingClassStaticBlock:()=>Uk,getContainingFunction:()=>Fk,getContainingFunctionDeclaration:()=>Bk,getContainingFunctionOrClassStaticBlock:()=>zk,getContainingNodeArray:()=>dL,getContainingObjectLiteralElement:()=>S7,getContextualTypeFromParent:()=>getContextualTypeFromParent,getContextualTypeFromParentOrAncestorTypeNode:()=>getContextualTypeFromParentOrAncestorTypeNode,getCurrentTime:()=>getCurrentTime,getDeclarationDiagnostics:()=>getDeclarationDiagnostics,getDeclarationEmitExtensionForPath:()=>O4,getDeclarationEmitOutputFilePath:()=>DN,getDeclarationEmitOutputFilePathWorker:()=>N4,getDeclarationFromName:()=>HI,getDeclarationModifierFlagsFromSymbol:()=>IO,getDeclarationOfKind:()=>tD,getDeclarationsOfKind:()=>rD,getDeclaredExpandoInitializer:()=>dI,getDecorators:()=>CA,getDefaultCompilerOptions:()=>y7,getDefaultExportInfoWorker:()=>getDefaultExportInfoWorker,getDefaultFormatCodeSettings:()=>getDefaultFormatCodeSettings,getDefaultLibFileName:()=>a3,getDefaultLibFilePath:()=>fB,getDefaultLikeExportInfo:()=>getDefaultLikeExportInfo,getDiagnosticText:()=>getDiagnosticText,getDiagnosticsWithinSpan:()=>getDiagnosticsWithinSpan,getDirectoryPath:()=>ma,getDocumentPositionMapper:()=>getDocumentPositionMapper,getESModuleInterop:()=>o2,getEditsForFileRename:()=>getEditsForFileRename,getEffectiveBaseTypeNode:()=>f4,getEffectiveConstraintOfTypeParameter:()=>UA,getEffectiveContainerForJSDocTemplateTag:()=>LI,getEffectiveImplementsTypeNodes:()=>m4,getEffectiveInitializer:()=>VS,getEffectiveJSDocHost:()=>A0,getEffectiveModifierFlags:()=>Rf,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>K4,getEffectiveModifierFlagsNoCache:()=>Y4,getEffectiveReturnTypeNode:()=>FN,getEffectiveSetAccessorTypeAnnotationNode:()=>qN,getEffectiveTypeAnnotationNode:()=>V0,getEffectiveTypeParameterDeclarations:()=>qA,getEffectiveTypeRoots:()=>getEffectiveTypeRoots,getElementOrPropertyAccessArgumentExpressionOrName:()=>Cf,getElementOrPropertyAccessName:()=>Fs,getElementsOfBindingOrAssignmentPattern:()=>kE,getEmitDeclarations:()=>c2,getEmitFlags:()=>xi,getEmitHelpers:()=>getEmitHelpers,getEmitModuleDetectionKind:()=>wx,getEmitModuleKind:()=>Ei,getEmitModuleResolutionKind:()=>Ml,getEmitScriptTarget:()=>Uf,getEnclosingBlockScopeContainer:()=>Zy,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications,getEncodedSyntacticClassifications:()=>getEncodedSyntacticClassifications,getEndLinePosition:()=>dS,getEntityNameFromTypeNode:()=>Zk,getEntrypointsFromPackageJsonInfo:()=>getEntrypointsFromPackageJsonInfo,getErrorCountForSummary:()=>getErrorCountForSummary,getErrorSpanForNode:()=>i0,getErrorSummaryText:()=>getErrorSummaryText,getEscapedTextOfIdentifierOrLiteral:()=>b4,getExpandoInitializer:()=>U_,getExportAssignmentExpression:()=>p4,getExportInfoMap:()=>getExportInfoMap,getExportNeedsImportStarHelper:()=>getExportNeedsImportStarHelper,getExpressionAssociativity:()=>dN,getExpressionPrecedence:()=>mN,getExternalHelpersModuleName:()=>EE,getExternalModuleImportEqualsDeclarationExpression:()=>iI,getExternalModuleName:()=>E0,getExternalModuleNameFromDeclaration:()=>AN,getExternalModuleNameFromPath:()=>F0,getExternalModuleNameLiteral:()=>Hj,getExternalModuleRequireArgument:()=>aI,getFallbackOptions:()=>getFallbackOptions,getFileEmitOutput:()=>getFileEmitOutput,getFileMatcherPatterns:()=>Ix,getFileNamesFromConfigSpecs:()=>getFileNamesFromConfigSpecs,getFileWatcherEventKind:()=>getFileWatcherEventKind,getFilesInErrorForSummary:()=>getFilesInErrorForSummary,getFirstConstructorWithBody:()=>R4,getFirstIdentifier:()=>eO,getFirstNonSpaceCharacterPosition:()=>getFirstNonSpaceCharacterPosition,getFirstProjectOutput:()=>getFirstProjectOutput,getFixableErrorSpanExpression:()=>getFixableErrorSpanExpression,getFormatCodeSettingsForWriting:()=>getFormatCodeSettingsForWriting,getFullWidth:()=>hf,getFunctionFlags:()=>rN,getHeritageClause:()=>Pf,getHostSignatureFromJSDoc:()=>C0,getIdentifierAutoGenerate:()=>getIdentifierAutoGenerate,getIdentifierGeneratedImportReference:()=>getIdentifierGeneratedImportReference,getIdentifierTypeArguments:()=>getIdentifierTypeArguments,getImmediatelyInvokedFunctionExpression:()=>$k,getImpliedNodeFormatForFile:()=>getImpliedNodeFormatForFile,getImpliedNodeFormatForFileWorker:()=>getImpliedNodeFormatForFileWorker,getImportNeedsImportDefaultHelper:()=>getImportNeedsImportDefaultHelper,getImportNeedsImportStarHelper:()=>getImportNeedsImportStarHelper,getIndentSize:()=>Oo,getIndentString:()=>j0,getInitializedVariables:()=>PO,getInitializerOfBinaryExpression:()=>XS,getInitializerOfBindingOrAssignmentElement:()=>AE,getInterfaceBaseTypeNodes:()=>g4,getInternalEmitFlags:()=>FD,getInvokedExpression:()=>eI,getIsolatedModules:()=>zf,getJSDocAugmentsTag:()=>E3,getJSDocClassTag:()=>PA,getJSDocCommentRanges:()=>IS,getJSDocCommentsAndTags:()=>r4,getJSDocDeprecatedTag:()=>OA,getJSDocDeprecatedTagNoCache:()=>I3,getJSDocEnumTag:()=>MA,getJSDocHost:()=>s4,getJSDocImplementsTags:()=>w3,getJSDocOverrideTagNoCache:()=>k3,getJSDocParameterTags:()=>of,getJSDocParameterTagsNoCache:()=>b3,getJSDocPrivateTag:()=>kA,getJSDocPrivateTagNoCache:()=>A3,getJSDocProtectedTag:()=>IA,getJSDocProtectedTagNoCache:()=>P3,getJSDocPublicTag:()=>DA,getJSDocPublicTagNoCache:()=>C3,getJSDocReadonlyTag:()=>NA,getJSDocReadonlyTagNoCache:()=>D3,getJSDocReturnTag:()=>N3,getJSDocReturnType:()=>O3,getJSDocRoot:()=>P0,getJSDocSatisfiesExpressionType:()=>PL,getJSDocSatisfiesTag:()=>wy,getJSDocTags:()=>hl,getJSDocTagsNoCache:()=>jA,getJSDocTemplateTag:()=>RA,getJSDocThisTag:()=>LA,getJSDocType:()=>cf,getJSDocTypeAliasName:()=>wv,getJSDocTypeAssertionType:()=>Bj,getJSDocTypeParameterDeclarations:()=>F4,getJSDocTypeParameterTags:()=>S3,getJSDocTypeParameterTagsNoCache:()=>x3,getJSDocTypeTag:()=>_f,getJSXImplicitImportBase:()=>AM,getJSXRuntimeImport:()=>PM,getJSXTransformEnabled:()=>CM,getKeyForCompilerOptions:()=>getKeyForCompilerOptions,getLanguageVariant:()=>s2,getLastChild:()=>mx,getLeadingCommentRanges:()=>Ao,getLeadingCommentRangesOfNode:()=>Sk,getLeftmostAccessExpression:()=>r2,getLeftmostExpression:()=>KO,getLineAndCharacterOfPosition:()=>Ls,getLineInfo:()=>getLineInfo,getLineOfLocalPosition:()=>LN,getLineOfLocalPositionFromLineMap:()=>ds,getLineStartPositionForPosition:()=>getLineStartPositionForPosition,getLineStarts:()=>ss,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>wO,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>EO,getLinesBetweenPositions:()=>I_,getLinesBetweenRangeEndAndRangeStart:()=>TO,getLinesBetweenRangeEndPositions:()=>SO,getLiteralText:()=>BD,getLocalNameForExternalImport:()=>Vj,getLocalSymbolForExportDefault:()=>aO,getLocaleSpecificMessage:()=>Y_,getLocaleTimeString:()=>getLocaleTimeString,getMappedContextSpan:()=>getMappedContextSpan,getMappedDocumentSpan:()=>getMappedDocumentSpan,getMappedLocation:()=>getMappedLocation,getMatchedFileSpec:()=>getMatchedFileSpec,getMatchedIncludeSpec:()=>getMatchedIncludeSpec,getMeaningFromDeclaration:()=>getMeaningFromDeclaration,getMeaningFromLocation:()=>getMeaningFromLocation,getMembersOfDeclaration:()=>Ak,getModeForFileReference:()=>getModeForFileReference,getModeForResolutionAtIndex:()=>getModeForResolutionAtIndex,getModeForUsageLocation:()=>getModeForUsageLocation,getModifiedTime:()=>getModifiedTime,getModifiers:()=>sf,getModuleInstanceState:()=>getModuleInstanceState,getModuleNameStringLiteralAt:()=>getModuleNameStringLiteralAt,getModuleSpecifierEndingPreference:()=>qM,getModuleSpecifierResolverHost:()=>getModuleSpecifierResolverHost,getNameForExportedSymbol:()=>getNameForExportedSymbol,getNameFromIndexInfo:()=>ik,getNameFromPropertyName:()=>getNameFromPropertyName,getNameOfAccessExpression:()=>VO,getNameOfCompilerOptionValue:()=>getNameOfCompilerOptionValue,getNameOfDeclaration:()=>ml,getNameOfExpando:()=>vI,getNameOfJSDocTypedef:()=>g3,getNameOrArgument:()=>$S,getNameTable:()=>oB,getNamesForExportedSymbol:()=>getNamesForExportedSymbol,getNamespaceDeclarationNode:()=>QS,getNewLineCharacter:()=>ox,getNewLineKind:()=>getNewLineKind,getNewLineOrDefaultFromHost:()=>getNewLineOrDefaultFromHost,getNewTargetContainer:()=>Hk,getNextJSDocCommentLocation:()=>a4,getNodeForGeneratedName:()=>PJ,getNodeId:()=>getNodeId,getNodeKind:()=>getNodeKind,getNodeModifiers:()=>getNodeModifiers,getNodeModulePathParts:()=>TL,getNonAssignedNameOfDeclaration:()=>Ey,getNonAssignmentOperatorForCompoundAssignment:()=>getNonAssignmentOperatorForCompoundAssignment,getNonAugmentationDeclaration:()=>ES,getNonDecoratorTokenPosOfNode:()=>LD,getNormalizedAbsolutePath:()=>as,getNormalizedAbsolutePathWithoutRoot:()=>$5,getNormalizedPathComponents:()=>$p,getObjectFlags:()=>Bf,getOperator:()=>R0,getOperatorAssociativity:()=>x4,getOperatorPrecedence:()=>E4,getOptionFromName:()=>getOptionFromName,getOptionsNameMap:()=>getOptionsNameMap,getOrCreateEmitNode:()=>getOrCreateEmitNode,getOrCreateExternalHelpersModuleNameIfNeeded:()=>wE,getOrUpdate:()=>la,getOriginalNode:()=>ul,getOriginalNodeId:()=>getOriginalNodeId,getOriginalSourceFile:()=>fN,getOutputDeclarationFileName:()=>getOutputDeclarationFileName,getOutputExtension:()=>getOutputExtension,getOutputFileNames:()=>getOutputFileNames,getOutputPathsFor:()=>getOutputPathsFor,getOutputPathsForBundle:()=>getOutputPathsForBundle,getOwnEmitOutputFilePath:()=>PN,getOwnKeys:()=>ho,getOwnValues:()=>go,getPackageJsonInfo:()=>getPackageJsonInfo,getPackageJsonTypesVersionsPaths:()=>getPackageJsonTypesVersionsPaths,getPackageJsonsVisibleToFile:()=>getPackageJsonsVisibleToFile,getPackageNameFromTypesPackageName:()=>getPackageNameFromTypesPackageName,getPackageScopeForPath:()=>getPackageScopeForPath,getParameterSymbolFromJSDoc:()=>MI,getParameterTypeNode:()=>SL,getParentNodeInSpan:()=>getParentNodeInSpan,getParseTreeNode:()=>fl,getParsedCommandLineOfConfigFile:()=>getParsedCommandLineOfConfigFile,getPathComponents:()=>qi,getPathComponentsRelativeTo:()=>ly,getPathFromPathComponents:()=>xo,getPathUpdater:()=>getPathUpdater,getPathsBasePath:()=>IN,getPatternFromSpec:()=>RM,getPendingEmitKind:()=>getPendingEmitKind,getPositionOfLineAndCharacter:()=>sA,getPossibleGenericSignatures:()=>getPossibleGenericSignatures,getPossibleOriginalInputExtensionForExtension:()=>kN,getPossibleTypeArgumentsInfo:()=>getPossibleTypeArgumentsInfo,getPreEmitDiagnostics:()=>getPreEmitDiagnostics,getPrecedingNonSpaceCharacterPosition:()=>getPrecedingNonSpaceCharacterPosition,getPrivateIdentifier:()=>getPrivateIdentifier,getProperties:()=>getProperties,getProperty:()=>Qc,getPropertyArrayElementValue:()=>jk,getPropertyAssignment:()=>f0,getPropertyAssignmentAliasLikeExpression:()=>KI,getPropertyNameForPropertyNameNode:()=>Df,getPropertyNameForUniqueESSymbol:()=>iN,getPropertyNameOfBindingOrAssignmentElement:()=>Xj,getPropertySymbolFromBindingElement:()=>getPropertySymbolFromBindingElement,getPropertySymbolsFromContextualType:()=>x7,getQuoteFromPreference:()=>getQuoteFromPreference,getQuotePreference:()=>getQuotePreference,getRangesWhere:()=>Et,getRefactorContextSpan:()=>getRefactorContextSpan,getReferencedFileLocation:()=>getReferencedFileLocation,getRegexFromPattern:()=>Vf,getRegularExpressionForWildcard:()=>Wf,getRegularExpressionsForWildcards:()=>p2,getRelativePathFromDirectory:()=>JT,getRelativePathFromFile:()=>eA,getRelativePathToDirectoryOrUrl:()=>uy,getRenameLocation:()=>getRenameLocation,getReplacementSpanForContextToken:()=>getReplacementSpanForContextToken,getResolutionDiagnostic:()=>getResolutionDiagnostic,getResolutionModeOverrideForClause:()=>getResolutionModeOverrideForClause,getResolveJsonModule:()=>Cx,getResolvePackageJsonExports:()=>yM,getResolvePackageJsonImports:()=>vM,getResolvedExternalModuleName:()=>k4,getResolvedModule:()=>pD,getResolvedTypeReferenceDirective:()=>mD,getRestIndicatorOfBindingOrAssignmentElement:()=>Kj,getRestParameterElementType:()=>Ck,getRightMostAssignedExpression:()=>b0,getRootDeclaration:()=>If,getRootLength:()=>Bi,getScriptKind:()=>getScriptKind,getScriptKindFromFileName:()=>Ox,getScriptTargetFeatures:()=>getScriptTargetFeatures,getSelectedEffectiveModifierFlags:()=>G4,getSelectedSyntacticModifierFlags:()=>$4,getSemanticClassifications:()=>getSemanticClassifications,getSemanticJsxChildren:()=>hN,getSetAccessorTypeAnnotationNode:()=>RN,getSetAccessorValueParameter:()=>z0,getSetExternalModuleIndicator:()=>Ex,getShebang:()=>GT,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>w0,getSingleVariableOfVariableStatement:()=>Al,getSnapshotText:()=>getSnapshotText,getSnippetElement:()=>getSnippetElement,getSourceFileOfModule:()=>xD,getSourceFileOfNode:()=>Si,getSourceFilePathInNewDir:()=>M4,getSourceFilePathInNewDirWorker:()=>U0,getSourceFileVersionAsHashFromText:()=>getSourceFileVersionAsHashFromText,getSourceFilesToEmit:()=>NN,getSourceMapRange:()=>getSourceMapRange,getSourceMapper:()=>getSourceMapper,getSourceTextOfNodeFromSourceFile:()=>No,getSpanOfTokenAtPosition:()=>n0,getSpellingSuggestion:()=>Ep,getStartPositionOfLine:()=>CD,getStartPositionOfRange:()=>K_,getStartsOnNewLine:()=>getStartsOnNewLine,getStaticPropertiesAndClassStaticBlock:()=>getStaticPropertiesAndClassStaticBlock,getStrictOptionValue:()=>l2,getStringComparer:()=>rl,getSuperCallFromStatement:()=>getSuperCallFromStatement,getSuperContainer:()=>Gk,getSupportedCodeFixes:()=>v7,getSupportedExtensions:()=>Mx,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>Lx,getSwitchedType:()=>getSwitchedType,getSymbolId:()=>getSymbolId,getSymbolNameForPrivateIdentifier:()=>aN,getSymbolTarget:()=>getSymbolTarget,getSyntacticClassifications:()=>getSyntacticClassifications,getSyntacticModifierFlags:()=>X0,getSyntacticModifierFlagsNoCache:()=>Y0,getSynthesizedDeepClone:()=>getSynthesizedDeepClone,getSynthesizedDeepCloneWithReplacements:()=>getSynthesizedDeepCloneWithReplacements,getSynthesizedDeepClones:()=>getSynthesizedDeepClones,getSynthesizedDeepClonesWithReplacements:()=>getSynthesizedDeepClonesWithReplacements,getSyntheticLeadingComments:()=>getSyntheticLeadingComments,getSyntheticTrailingComments:()=>getSyntheticTrailingComments,getTargetLabel:()=>getTargetLabel,getTargetOfBindingOrAssignmentElement:()=>Ko,getTemporaryModuleResolutionState:()=>getTemporaryModuleResolutionState,getTextOfConstantValue:()=>UD,getTextOfIdentifierOrLiteral:()=>kf,getTextOfJSDocComment:()=>FA,getTextOfNode:()=>gf,getTextOfNodeFromSourceText:()=>B_,getTextOfPropertyName:()=>sk,getThisContainer:()=>d0,getThisParameter:()=>j4,getTokenAtPosition:()=>getTokenAtPosition,getTokenPosOfNode:()=>Io,getTokenSourceMapRange:()=>getTokenSourceMapRange,getTouchingPropertyName:()=>getTouchingPropertyName,getTouchingToken:()=>getTouchingToken,getTrailingCommentRanges:()=>HT,getTrailingSemicolonDeferringWriter:()=>CN,getTransformFlagsSubtreeExclusions:()=>w8,getTransformers:()=>getTransformers,getTsBuildInfoEmitOutputFilePath:()=>getTsBuildInfoEmitOutputFilePath,getTsConfigObjectLiteralExpression:()=>MS,getTsConfigPropArray:()=>LS,getTsConfigPropArrayElementValue:()=>Jk,getTypeAnnotationNode:()=>JN,getTypeArgumentOrTypeParameterList:()=>getTypeArgumentOrTypeParameterList,getTypeKeywordOfTypeOnlyImport:()=>getTypeKeywordOfTypeOnlyImport,getTypeNode:()=>getTypeNode,getTypeNodeIfAccessible:()=>getTypeNodeIfAccessible,getTypeParameterFromJsDoc:()=>RI,getTypeParameterOwner:()=>xA,getTypesPackageName:()=>getTypesPackageName,getUILocale:()=>M1,getUniqueName:()=>getUniqueName,getUniqueSymbolId:()=>getUniqueSymbolId,getUseDefineForClassFields:()=>SM,getWatchErrorSummaryDiagnosticMessage:()=>getWatchErrorSummaryDiagnosticMessage,getWatchFactory:()=>getWatchFactory,group:()=>el,groupBy:()=>x_,guessIndentation:()=>QP,handleNoEmitOptions:()=>handleNoEmitOptions,hasAbstractModifier:()=>W4,hasAccessorModifier:()=>H4,hasAmbientModifier:()=>V4,hasChangesInResolutions:()=>TD,hasChildOfKind:()=>hasChildOfKind,hasContextSensitiveParameters:()=>mL,hasDecorators:()=>Il,hasDocComment:()=>hasDocComment,hasDynamicName:()=>v4,hasEffectiveModifier:()=>H0,hasEffectiveModifiers:()=>HN,hasEffectiveReadonlyModifier:()=>$0,hasExtension:()=>OT,hasIndexSignature:()=>hasIndexSignature,hasInitializer:()=>lS,hasInvalidEscape:()=>w4,hasJSDocNodes:()=>ya,hasJSDocParameterTags:()=>AA,hasJSFileExtension:()=>d2,hasJsonModuleEmitEnabled:()=>pM,hasOnlyExpressionInitializer:()=>XP,hasOverrideModifier:()=>$N,hasPossibleExternalModuleReference:()=>rk,hasProperty:()=>Jr,hasPropertyAccessExpressionWithName:()=>hasPropertyAccessExpressionWithName,hasQuestionToken:()=>DI,hasRecordedExternalHelpers:()=>zj,hasRestParameter:()=>ZP,hasScopeMarker:()=>CP,hasStaticModifier:()=>Lf,hasSyntacticModifier:()=>rn,hasSyntacticModifiers:()=>GN,hasTSFileExtension:()=>m2,hasTabstop:()=>Qx,hasTrailingDirectorySeparator:()=>Hp,hasType:()=>KP,hasTypeArguments:()=>jI,hasZeroOrOneAsteriskCharacter:()=>DM,helperString:()=>helperString,hostGetCanonicalFileName:()=>D4,hostUsesCaseSensitiveFileNames:()=>J0,idText:()=>qr,identifierIsThisKeyword:()=>J4,identifierToKeywordKind:()=>d3,identity:()=>rr,identitySourceMapConsumer:()=>identitySourceMapConsumer,ignoreSourceNewlines:()=>ignoreSourceNewlines,ignoredPaths:()=>ignoredPaths,importDefaultHelper:()=>importDefaultHelper,importFromModuleSpecifier:()=>AI,importNameElisionDisabled:()=>fM,importStarHelper:()=>importStarHelper,indexOfAnyCharCode:()=>Je,indexOfNode:()=>JD,indicesOf:()=>Wr,inferredTypesContainingFile:()=>inferredTypesContainingFile,insertImports:()=>insertImports,insertLeadingStatement:()=>kj,insertSorted:()=>Qn,insertStatementAfterCustomPrologue:()=>ND,insertStatementAfterStandardPrologue:()=>ID,insertStatementsAfterCustomPrologue:()=>kD,insertStatementsAfterStandardPrologue:()=>DD,intersperse:()=>Ce,introducesArgumentsExoticObject:()=>Ik,inverseJsxOptionMap:()=>inverseJsxOptionMap,isAbstractConstructorSymbol:()=>FO,isAbstractModifier:()=>oR,isAccessExpression:()=>Lo,isAccessibilityModifier:()=>isAccessibilityModifier,isAccessor:()=>pf,isAccessorModifier:()=>cR,isAliasSymbolDeclaration:()=>$I,isAliasableExpression:()=>k0,isAmbientModule:()=>yf,isAmbientPropertyDeclaration:()=>QD,isAnonymousFunctionDefinition:()=>H_,isAnyDirectorySeparator:()=>ay,isAnyImportOrBareOrAccessedRequire:()=>ek,isAnyImportOrReExport:()=>bf,isAnyImportSyntax:()=>Qy,isAnySupportedFileExtension:()=>KM,isApplicableVersionedTypesKey:()=>isApplicableVersionedTypesKey,isArgumentExpressionOfElementAccess:()=>isArgumentExpressionOfElementAccess,isArray:()=>ir,isArrayBindingElement:()=>fP,isArrayBindingOrAssignmentElement:()=>Z3,isArrayBindingOrAssignmentPattern:()=>Q3,isArrayBindingPattern:()=>dR,isArrayLiteralExpression:()=>Yl,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>isArrayLiteralOrObjectLiteralDestructuringPattern,isArrayTypeNode:()=>F8,isArrowFunction:()=>sd,isAsExpression:()=>SR,isAssertClause:()=>WR,isAssertEntry:()=>VR,isAssertionExpression:()=>EP,isAssertionKey:()=>nP,isAssertsKeyword:()=>iR,isAssignmentDeclaration:()=>v0,isAssignmentExpression:()=>ms,isAssignmentOperator:()=>G_,isAssignmentPattern:()=>K3,isAssignmentTarget:()=>JI,isAsteriskToken:()=>ZL,isAsyncFunction:()=>nN,isAsyncModifier:()=>Ul,isAutoAccessorPropertyDeclaration:()=>$3,isAwaitExpression:()=>yR,isAwaitKeyword:()=>aR,isBigIntLiteral:()=>U2,isBinaryExpression:()=>ur,isBinaryOperatorToken:()=>xJ,isBindableObjectDefinePropertyCall:()=>S0,isBindableStaticAccessExpression:()=>W_,isBindableStaticElementAccessExpression:()=>x0,isBindableStaticNameExpression:()=>V_,isBindingElement:()=>Xl,isBindingElementOfBareOrAccessedRequire:()=>uI,isBindingName:()=>oP,isBindingOrAssignmentElement:()=>dP,isBindingOrAssignmentPattern:()=>mP,isBindingPattern:()=>df,isBlock:()=>Ql,isBlockOrCatchScoped:()=>WD,isBlockScope:()=>wS,isBlockScopedContainerTopLevel:()=>KD,isBooleanLiteral:()=>_P,isBreakOrContinueStatement:()=>GA,isBreakStatement:()=>MR,isBuildInfoFile:()=>isBuildInfoFile,isBuilderProgram:()=>isBuilderProgram2,isBundle:()=>aj,isBundleFileTextLike:()=>HO,isCallChain:()=>Cy,isCallExpression:()=>sc,isCallExpressionTarget:()=>isCallExpressionTarget,isCallLikeExpression:()=>yP,isCallOrNewExpression:()=>vP,isCallOrNewExpressionTarget:()=>isCallOrNewExpressionTarget,isCallSignatureDeclaration:()=>V2,isCallToHelper:()=>isCallToHelper,isCaseBlock:()=>qR,isCaseClause:()=>rj,isCaseKeyword:()=>lR,isCaseOrDefaultClause:()=>$P,isCatchClause:()=>nj,isCatchClauseVariableDeclaration:()=>Gx,isCatchClauseVariableDeclarationOrBindingElement:()=>TS,isCheckJsEnabledForFile:()=>XM,isChildOfNodeWithKind:()=>xk,isCircularBuildOrder:()=>isCircularBuildOrder,isClassDeclaration:()=>_c,isClassElement:()=>Js,isClassExpression:()=>_d,isClassLike:()=>bi,isClassMemberModifier:()=>V3,isClassOrTypeElement:()=>uP,isClassStaticBlockDeclaration:()=>Hl,isCollapsedRange:()=>mO,isColonToken:()=>eR,isCommaExpression:()=>gd,isCommaListExpression:()=>oc,isCommaSequence:()=>Fj,isCommaToken:()=>I8,isComment:()=>isComment,isCommonJsExportPropertyAssignment:()=>p0,isCommonJsExportedExpression:()=>Dk,isCompoundAssignment:()=>isCompoundAssignment,isComputedNonLiteralName:()=>ak,isComputedPropertyName:()=>Ws,isConciseBody:()=>kP,isConditionalExpression:()=>vR,isConditionalTypeNode:()=>V8,isConstTypeReference:()=>j3,isConstructSignatureDeclaration:()=>R8,isConstructorDeclaration:()=>nc,isConstructorTypeNode:()=>G2,isContextualKeyword:()=>N0,isContinueStatement:()=>OR,isCustomPrologue:()=>Tf,isDebuggerStatement:()=>BR,isDeclaration:()=>ko,isDeclarationBindingElement:()=>Fy,isDeclarationFileName:()=>QE,isDeclarationName:()=>c4,isDeclarationNameOfEnumOrNamespace:()=>AO,isDeclarationReadonly:()=>yk,isDeclarationStatement:()=>qP,isDeclarationWithTypeParameterChildren:()=>CS,isDeclarationWithTypeParameters:()=>ZD,isDecorator:()=>zl,isDecoratorTarget:()=>isDecoratorTarget,isDefaultClause:()=>oE,isDefaultImport:()=>ZS,isDefaultModifier:()=>nR,isDefaultedExpandoInitializer:()=>yI,isDeleteExpression:()=>hR,isDeleteTarget:()=>WI,isDeprecatedDeclaration:()=>isDeprecatedDeclaration,isDestructuringAssignment:()=>ZN,isDiagnosticWithLocation:()=>isDiagnosticWithLocation,isDiskPathRoot:()=>U5,isDoStatement:()=>DR,isDotDotDotToken:()=>QL,isDottedName:()=>e2,isDynamicName:()=>M0,isESSymbolIdentifier:()=>_N,isEffectiveExternalModule:()=>Yy,isEffectiveModuleDeclaration:()=>SS,isEffectiveStrictModeSourceFile:()=>YD,isElementAccessChain:()=>R3,isElementAccessExpression:()=>gs,isEmittedFileOfProgram:()=>isEmittedFileOfProgram,isEmptyArrayLiteral:()=>iO,isEmptyBindingElement:()=>p3,isEmptyBindingPattern:()=>u3,isEmptyObjectLiteral:()=>nO,isEmptyStatement:()=>AR,isEmptyStringLiteral:()=>jS,isEndOfDeclarationMarker:()=>XR,isEntityName:()=>sP,isEntityNameExpression:()=>Bs,isEnumConst:()=>gk,isEnumDeclaration:()=>iv,isEnumMember:()=>cE,isEqualityOperatorKind:()=>isEqualityOperatorKind,isEqualsGreaterThanToken:()=>rR,isExclamationToken:()=>rd,isExcludedFile:()=>isExcludedFile,isExclusivelyTypeOnlyImportOrExport:()=>isExclusivelyTypeOnlyImportOrExport,isExportAssignment:()=>Vo,isExportDeclaration:()=>cc,isExportModifier:()=>N8,isExportName:()=>Jj,isExportNamespaceAsDefaultDeclaration:()=>bS,isExportOrDefaultModifier:()=>wJ,isExportSpecifier:()=>aE,isExportsIdentifier:()=>HS,isExportsOrModuleExportsOrAlias:()=>isExportsOrModuleExportsOrAlias,isExpression:()=>mf,isExpressionNode:()=>g0,isExpressionOfExternalModuleImportEqualsDeclaration:()=>isExpressionOfExternalModuleImportEqualsDeclaration,isExpressionOfOptionalChainRoot:()=>WA,isExpressionStatement:()=>Zl,isExpressionWithTypeArguments:()=>ev,isExpressionWithTypeArgumentsInClassExtendsClause:()=>Z0,isExternalModule:()=>Qo,isExternalModuleAugmentation:()=>Xy,isExternalModuleImportEqualsDeclaration:()=>BS,isExternalModuleIndicator:()=>PP,isExternalModuleNameRelative:()=>fA,isExternalModuleReference:()=>ud,isExternalModuleSymbol:()=>isExternalModuleSymbol,isExternalOrCommonJsModule:()=>hk,isFileLevelUniqueName:()=>mS,isFileProbablyExternalModule:()=>ou,isFirstDeclarationOfSymbolParameter:()=>isFirstDeclarationOfSymbolParameter,isFixablePromiseHandler:()=>isFixablePromiseHandler,isForInOrOfStatement:()=>DP,isForInStatement:()=>IR,isForInitializer:()=>NP,isForOfStatement:()=>NR,isForStatement:()=>eE,isFunctionBlock:()=>OS,isFunctionBody:()=>IP,isFunctionDeclaration:()=>Wo,isFunctionExpression:()=>ad,isFunctionExpressionOrArrowFunction:()=>yL,isFunctionLike:()=>ga,isFunctionLikeDeclaration:()=>H3,isFunctionLikeKind:()=>My,isFunctionLikeOrClassStaticBlockDeclaration:()=>uf,isFunctionOrConstructorTypeNode:()=>pP,isFunctionOrModuleBlock:()=>cP,isFunctionSymbol:()=>wI,isFunctionTypeNode:()=>$l,isFutureReservedKeyword:()=>YI,isGeneratedIdentifier:()=>cs,isGeneratedPrivateIdentifier:()=>Ny,isGetAccessor:()=>Tl,isGetAccessorDeclaration:()=>Gl,isGetOrSetAccessorDeclaration:()=>zA,isGlobalDeclaration:()=>isGlobalDeclaration,isGlobalScopeAugmentation:()=>vf,isGrammarError:()=>PD,isHeritageClause:()=>ru,isHoistedFunction:()=>_0,isHoistedVariableStatement:()=>c0,isIdentifier:()=>yt,isIdentifierANonContextualKeyword:()=>eN,isIdentifierName:()=>GI,isIdentifierOrThisTypeNode:()=>tJ,isIdentifierPart:()=>Rs,isIdentifierStart:()=>Wn,isIdentifierText:()=>vy,isIdentifierTypePredicate:()=>Lk,isIdentifierTypeReference:()=>_L,isIfStatement:()=>PR,isIgnoredFileFromWildCardWatching:()=>isIgnoredFileFromWildCardWatching,isImplicitGlob:()=>Dx,isImportCall:()=>s0,isImportClause:()=>UR,isImportDeclaration:()=>ov,isImportEqualsDeclaration:()=>sv,isImportKeyword:()=>M8,isImportMeta:()=>o0,isImportOrExportSpecifier:()=>tP,isImportOrExportSpecifierName:()=>isImportOrExportSpecifierName,isImportSpecifier:()=>nE,isImportTypeAssertionContainer:()=>zR,isImportTypeNode:()=>Kl,isImportableFile:()=>isImportableFile,isInComment:()=>isInComment,isInExpressionContext:()=>JS,isInJSDoc:()=>qS,isInJSFile:()=>Pr,isInJSXText:()=>isInJSXText,isInJsonFile:()=>_I,isInNonReferenceComment:()=>isInNonReferenceComment,isInReferenceComment:()=>isInReferenceComment,isInRightSideOfInternalImportEqualsDeclaration:()=>isInRightSideOfInternalImportEqualsDeclaration,isInString:()=>isInString,isInTemplateString:()=>isInTemplateString,isInTopLevelContext:()=>Vk,isIncrementalCompilation:()=>TM,isIndexSignatureDeclaration:()=>H2,isIndexedAccessTypeNode:()=>$8,isInferTypeNode:()=>H8,isInfinityOrNaNString:()=>hL,isInitializedProperty:()=>isInitializedProperty,isInitializedVariable:()=>lx,isInsideJsxElement:()=>isInsideJsxElement,isInsideJsxElementOrAttribute:()=>isInsideJsxElementOrAttribute,isInsideNodeModules:()=>isInsideNodeModules,isInsideTemplateLiteral:()=>isInsideTemplateLiteral,isInstantiatedModule:()=>isInstantiatedModule,isInterfaceDeclaration:()=>eu,isInternalDeclaration:()=>isInternalDeclaration,isInternalModuleImportEqualsDeclaration:()=>sI,isInternalName:()=>jj,isIntersectionTypeNode:()=>W8,isIntrinsicJsxName:()=>P4,isIterationStatement:()=>nS,isJSDoc:()=>Ho,isJSDocAllType:()=>lj,isJSDocAugmentsTag:()=>md,isJSDocAuthorTag:()=>hj,isJSDocCallbackTag:()=>gj,isJSDocClassTag:()=>pE,isJSDocCommentContainingNode:()=>cS,isJSDocConstructSignature:()=>kI,isJSDocDeprecatedTag:()=>vv,isJSDocEnumTag:()=>dE,isJSDocFunctionType:()=>dd,isJSDocImplementsTag:()=>hE,isJSDocIndexSignature:()=>lI,isJSDocLikeText:()=>LE,isJSDocLink:()=>oj,isJSDocLinkCode:()=>_j,isJSDocLinkLike:()=>Sl,isJSDocLinkPlain:()=>cj,isJSDocMemberName:()=>uc,isJSDocNameReference:()=>fd,isJSDocNamepathType:()=>mj,isJSDocNamespaceBody:()=>LP,isJSDocNode:()=>Uy,isJSDocNonNullableType:()=>pj,isJSDocNullableType:()=>uE,isJSDocOptionalParameter:()=>Zx,isJSDocOptionalType:()=>fj,isJSDocOverloadTag:()=>yv,isJSDocOverrideTag:()=>fE,isJSDocParameterTag:()=>pc,isJSDocPrivateTag:()=>mv,isJSDocPropertyLikeTag:()=>Dy,isJSDocPropertyTag:()=>Tj,isJSDocProtectedTag:()=>hv,isJSDocPublicTag:()=>dv,isJSDocReadonlyTag:()=>gv,isJSDocReturnTag:()=>bv,isJSDocSatisfiesExpression:()=>AL,isJSDocSatisfiesTag:()=>Tv,isJSDocSeeTag:()=>yj,isJSDocSignature:()=>iu,isJSDocTag:()=>zy,isJSDocTemplateTag:()=>Go,isJSDocThisTag:()=>mE,isJSDocThrowsTag:()=>Sj,isJSDocTypeAlias:()=>Cl,isJSDocTypeAssertion:()=>xE,isJSDocTypeExpression:()=>lE,isJSDocTypeLiteral:()=>fv,isJSDocTypeTag:()=>au,isJSDocTypedefTag:()=>vj,isJSDocUnknownTag:()=>bj,isJSDocUnknownType:()=>uj,isJSDocVariadicType:()=>dj,isJSXTagName:()=>xf,isJsonEqual:()=>g2,isJsonSourceFile:()=>a0,isJsxAttribute:()=>ZR,isJsxAttributeLike:()=>HP,isJsxAttributes:()=>pv,isJsxChild:()=>oS,isJsxClosingElement:()=>sE,isJsxClosingFragment:()=>QR,isJsxElement:()=>lv,isJsxExpression:()=>tj,isJsxFragment:()=>pd,isJsxOpeningElement:()=>tu,isJsxOpeningFragment:()=>uv,isJsxOpeningLikeElement:()=>_S,isJsxOpeningLikeElementTagName:()=>isJsxOpeningLikeElementTagName,isJsxSelfClosingElement:()=>YR,isJsxSpreadAttribute:()=>ej,isJsxTagNameExpression:()=>VP,isJsxText:()=>td,isJumpStatementTarget:()=>isJumpStatementTarget,isKeyword:()=>ba,isKnownSymbol:()=>sN,isLabelName:()=>isLabelName,isLabelOfLabeledStatement:()=>isLabelOfLabeledStatement,isLabeledStatement:()=>tE,isLateVisibilityPaintedStatement:()=>tk,isLeftHandSideExpression:()=>Do,isLeftHandSideOfAssignment:()=>QN,isLet:()=>vk,isLineBreak:()=>un,isLiteralComputedPropertyDeclarationName:()=>l4,isLiteralExpression:()=>Iy,isLiteralExpressionOfObject:()=>QA,isLiteralImportTypeNode:()=>kS,isLiteralKind:()=>ky,isLiteralLikeAccess:()=>wf,isLiteralLikeElementAccess:()=>wl,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>isLiteralNameOfPropertyDeclarationOrIndexAccess,isLiteralTypeLikeExpression:()=>aJ,isLiteralTypeLiteral:()=>SP,isLiteralTypeNode:()=>Y2,isLocalName:()=>Ev,isLogicalOperator:()=>KN,isLogicalOrCoalescingAssignmentExpression:()=>XN,isLogicalOrCoalescingAssignmentOperator:()=>jf,isLogicalOrCoalescingBinaryExpression:()=>YN,isLogicalOrCoalescingBinaryOperator:()=>Z4,isMappedTypeNode:()=>K8,isMemberName:()=>js,isMergeDeclarationMarker:()=>KR,isMetaProperty:()=>tv,isMethodDeclaration:()=>Vl,isMethodOrAccessor:()=>Ly,isMethodSignature:()=>L8,isMinusToken:()=>W2,isMissingDeclaration:()=>GR,isModifier:()=>Oy,isModifierKind:()=>Wi,isModifierLike:()=>ff,isModuleAugmentationExternal:()=>xS,isModuleBlock:()=>rE,isModuleBody:()=>OP,isModuleDeclaration:()=>Ea,isModuleExportsAccessExpression:()=>T0,isModuleIdentifier:()=>GS,isModuleName:()=>iJ,isModuleOrEnumDeclaration:()=>jP,isModuleReference:()=>WP,isModuleSpecifierLike:()=>isModuleSpecifierLike,isModuleWithStringLiteralName:()=>VD,isNameOfFunctionDeclaration:()=>isNameOfFunctionDeclaration,isNameOfModuleDeclaration:()=>isNameOfModuleDeclaration,isNamedClassElement:()=>lP,isNamedDeclaration:()=>af,isNamedEvaluation:()=>cN,isNamedEvaluationSource:()=>S4,isNamedExportBindings:()=>$A,isNamedExports:()=>iE,isNamedImportBindings:()=>RP,isNamedImports:()=>HR,isNamedImportsOrExports:()=>GO,isNamedTupleMember:()=>$2,isNamespaceBody:()=>MP,isNamespaceExport:()=>ld,isNamespaceExportDeclaration:()=>av,isNamespaceImport:()=>_v,isNamespaceReexportDeclaration:()=>nI,isNewExpression:()=>X8,isNewExpressionTarget:()=>isNewExpressionTarget,isNightly:()=>EN,isNoSubstitutionTemplateLiteral:()=>k8,isNode:()=>XA,isNodeArray:()=>_s,isNodeArrayMultiLine:()=>xO,isNodeDescendantOf:()=>VI,isNodeKind:()=>gl,isNodeLikeSystem:()=>k5,isNodeModulesDirectory:()=>tA,isNodeWithPossibleHoistedDeclaration:()=>FI,isNonContextualKeyword:()=>y4,isNonExportDefaultModifier:()=>CJ,isNonGlobalAmbientModule:()=>HD,isNonGlobalDeclaration:()=>isNonGlobalDeclaration,isNonNullAccess:()=>CL,isNonNullChain:()=>J3,isNonNullExpression:()=>Uo,isNonStaticMethodOrAccessorWithPrivateName:()=>isNonStaticMethodOrAccessorWithPrivateName,isNotEmittedOrPartiallyEmittedNode:()=>wP,isNotEmittedStatement:()=>cv,isNullishCoalesce:()=>HA,isNumber:()=>gi,isNumericLiteral:()=>zs,isNumericLiteralName:()=>$x,isObjectBindingElementWithoutPropertyName:()=>isObjectBindingElementWithoutPropertyName,isObjectBindingOrAssignmentElement:()=>Y3,isObjectBindingOrAssignmentPattern:()=>X3,isObjectBindingPattern:()=>fR,isObjectLiteralElement:()=>Wy,isObjectLiteralElementLike:()=>jy,isObjectLiteralExpression:()=>Hs,isObjectLiteralMethod:()=>Ok,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>Mk,isObjectTypeDeclaration:()=>WO,isOctalDigit:()=>hy,isOmittedExpression:()=>cd,isOptionalChain:()=>Ay,isOptionalChainRoot:()=>Py,isOptionalDeclaration:()=>wL,isOptionalJSDocPropertyLikeTag:()=>Yx,isOptionalTypeNode:()=>q8,isOuterExpression:()=>yd,isOutermostOptionalChain:()=>VA,isOverrideModifier:()=>_R,isPackedArrayLiteral:()=>pL,isParameter:()=>Vs,isParameterDeclaration:()=>uN,isParameterOrCatchClauseVariable:()=>gL,isParameterPropertyDeclaration:()=>l3,isParameterPropertyModifier:()=>W3,isParenthesizedExpression:()=>qo,isParenthesizedTypeNode:()=>K2,isParseTreeNode:()=>pl,isPartOfTypeNode:()=>l0,isPartOfTypeQuery:()=>FS,isPartiallyEmittedExpression:()=>Z8,isPatternMatch:()=>z1,isPinnedComment:()=>vS,isPlainJsFile:()=>ED,isPlusToken:()=>z2,isPossiblyTypeArgumentPosition:()=>isPossiblyTypeArgumentPosition,isPostfixUnaryExpression:()=>Q8,isPrefixUnaryExpression:()=>od,isPrivateIdentifier:()=>vn,isPrivateIdentifierClassElementDeclaration:()=>z3,isPrivateIdentifierPropertyAccessExpression:()=>aP,isPrivateIdentifierSymbol:()=>oN,isProgramBundleEmitBuildInfo:()=>isProgramBundleEmitBuildInfo,isProgramUptoDate:()=>isProgramUptoDate,isPrologueDirective:()=>us,isPropertyAccessChain:()=>L3,isPropertyAccessEntityNameExpression:()=>rx,isPropertyAccessExpression:()=>bn,isPropertyAccessOrQualifiedName:()=>gP,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>hP,isPropertyAssignment:()=>lc,isPropertyDeclaration:()=>Bo,isPropertyName:()=>vl,isPropertyNameLiteral:()=>L0,isPropertySignature:()=>Wl,isProtoSetter:()=>T4,isPrototypeAccess:()=>Nl,isPrototypePropertyAssignment:()=>SI,isPunctuation:()=>isPunctuation,isPushOrUnshiftIdentifier:()=>lN,isQualifiedName:()=>rc,isQuestionDotToken:()=>tR,isQuestionOrExclamationToken:()=>eJ,isQuestionOrPlusOrMinusToken:()=>nJ,isQuestionToken:()=>ql,isRawSourceMap:()=>isRawSourceMap,isReadonlyKeyword:()=>O8,isReadonlyKeywordOrPlusOrMinusToken:()=>rJ,isRecognizedTripleSlashComment:()=>OD,isReferenceFileLocation:()=>isReferenceFileLocation,isReferencedFile:()=>isReferencedFile,isRegularExpressionLiteral:()=>$L,isRequireCall:()=>El,isRequireVariableStatement:()=>WS,isRestParameter:()=>uS,isRestTypeNode:()=>U8,isReturnStatement:()=>LR,isReturnStatementWithFixablePromiseHandler:()=>isReturnStatementWithFixablePromiseHandler,isRightSideOfAccessExpression:()=>nx,isRightSideOfPropertyAccess:()=>isRightSideOfPropertyAccess,isRightSideOfQualifiedName:()=>isRightSideOfQualifiedName,isRightSideOfQualifiedNameOrPropertyAccess:()=>tO,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>rO,isRootedDiskPath:()=>A_,isSameEntityName:()=>z_,isSatisfiesExpression:()=>xR,isScopeMarker:()=>iS,isSemicolonClassElement:()=>CR,isSetAccessor:()=>bl,isSetAccessorDeclaration:()=>ic,isShebangTrivia:()=>gy,isShorthandAmbientModuleSymbol:()=>GD,isShorthandPropertyAssignment:()=>nu,isSignedNumericLiteral:()=>O0,isSimpleCopiableExpression:()=>isSimpleCopiableExpression,isSimpleInlineableExpression:()=>isSimpleInlineableExpression,isSingleOrDoubleQuote:()=>pI,isSourceFile:()=>wi,isSourceFileFromLibrary:()=>isSourceFileFromLibrary,isSourceFileJS:()=>y0,isSourceFileNotJS:()=>oI,isSourceFileNotJson:()=>cI,isSourceMapping:()=>isSourceMapping,isSpecialPropertyDeclaration:()=>xI,isSpreadAssignment:()=>_E,isSpreadElement:()=>Z2,isStatement:()=>aS,isStatementButNotDeclaration:()=>UP,isStatementOrBlock:()=>sS,isStatementWithLocals:()=>wD,isStatic:()=>G0,isStaticModifier:()=>sR,isString:()=>Ji,isStringAKeyword:()=>ZI,isStringANonContextualKeyword:()=>QI,isStringAndEmptyAnonymousObjectIntersection:()=>isStringAndEmptyAnonymousObjectIntersection,isStringDoubleQuoted:()=>fI,isStringLiteral:()=>Gn,isStringLiteralLike:()=>Ti,isStringLiteralOrJsxExpression:()=>GP,isStringLiteralOrTemplate:()=>isStringLiteralOrTemplate,isStringOrNumericLiteralLike:()=>Ta,isStringOrRegularExpressionOrTemplateLiteral:()=>isStringOrRegularExpressionOrTemplateLiteral,isStringTextContainingNode:()=>iP,isSuperCall:()=>bk,isSuperKeyword:()=>nd,isSuperOrSuperProperty:()=>Kk,isSuperProperty:()=>Sf,isSupportedSourceFileName:()=>zM,isSwitchStatement:()=>jR,isSyntaxList:()=>xj,isSyntheticExpression:()=>ER,isSyntheticReference:()=>$R,isTagName:()=>isTagName,isTaggedTemplateExpression:()=>Y8,isTaggedTemplateTag:()=>isTaggedTemplateTag,isTemplateExpression:()=>bR,isTemplateHead:()=>KL,isTemplateLiteral:()=>bP,isTemplateLiteralKind:()=>yl,isTemplateLiteralToken:()=>ZA,isTemplateLiteralTypeNode:()=>pR,isTemplateLiteralTypeSpan:()=>uR,isTemplateMiddle:()=>XL,isTemplateMiddleOrTemplateTail:()=>eP,isTemplateSpan:()=>wR,isTemplateTail:()=>YL,isTextWhiteSpaceLike:()=>isTextWhiteSpaceLike,isThis:()=>isThis,isThisContainerOrFunctionBlock:()=>Wk,isThisIdentifier:()=>Mf,isThisInTypeQuery:()=>jN,isThisInitializedDeclaration:()=>Yk,isThisInitializedObjectBindingExpression:()=>Qk,isThisProperty:()=>Xk,isThisTypeNode:()=>X2,isThisTypeParameter:()=>Kx,isThisTypePredicate:()=>Rk,isThrowStatement:()=>JR,isToken:()=>YA,isTokenKind:()=>B3,isTraceEnabled:()=>isTraceEnabled,isTransientSymbol:()=>$y,isTrivia:()=>tN,isTryStatement:()=>FR,isTupleTypeNode:()=>B8,isTypeAlias:()=>II,isTypeAliasDeclaration:()=>nv,isTypeAssertionExpression:()=>mR,isTypeDeclaration:()=>Xx,isTypeElement:()=>Ry,isTypeKeyword:()=>isTypeKeyword,isTypeKeywordToken:()=>isTypeKeywordToken,isTypeKeywordTokenOrIdentifier:()=>isTypeKeywordTokenOrIdentifier,isTypeLiteralNode:()=>id,isTypeNode:()=>Jy,isTypeNodeKind:()=>hx,isTypeOfExpression:()=>gR,isTypeOnlyExportDeclaration:()=>U3,isTypeOnlyImportDeclaration:()=>q3,isTypeOnlyImportOrExportDeclaration:()=>rP,isTypeOperatorNode:()=>G8,isTypeParameterDeclaration:()=>Fo,isTypePredicateNode:()=>j8,isTypeQueryNode:()=>J8,isTypeReferenceNode:()=>ac,isTypeReferenceType:()=>YP,isUMDExportSymbol:()=>qO,isUnaryExpression:()=>tS,isUnaryExpressionWithWrite:()=>TP,isUnicodeIdentifierStart:()=>UT,isUnionTypeNode:()=>z8,isUnparsedNode:()=>KA,isUnparsedPrepend:()=>ij,isUnparsedSource:()=>sj,isUnparsedTextLike:()=>F3,isUrl:()=>q5,isValidBigIntString:()=>zx,isValidESSymbolDeclaration:()=>kk,isValidTypeOnlyAliasUseSite:()=>iL,isValueSignatureDeclaration:()=>BI,isVarConst:()=>DS,isVariableDeclaration:()=>Vi,isVariableDeclarationInVariableStatement:()=>NS,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>Ef,isVariableDeclarationInitializedToRequire:()=>US,isVariableDeclarationList:()=>rv,isVariableLike:()=>u0,isVariableLikeOrAccessor:()=>Pk,isVariableStatement:()=>zo,isVoidExpression:()=>Q2,isWatchSet:()=>DO,isWhileStatement:()=>kR,isWhiteSpaceLike:()=>os,isWhiteSpaceSingleLine:()=>N_,isWithStatement:()=>RR,isWriteAccess:()=>LO,isWriteOnlyAccess:()=>MO,isYieldExpression:()=>TR,jsxModeNeedsExplicitImport:()=>jsxModeNeedsExplicitImport,keywordPart:()=>keywordPart,last:()=>Zn,lastOrUndefined:()=>Cn,length:()=>I,libMap:()=>libMap,libs:()=>libs,lineBreakPart:()=>lineBreakPart,linkNamePart:()=>linkNamePart,linkPart:()=>linkPart,linkTextPart:()=>linkTextPart,listFiles:()=>listFiles,loadModuleFromGlobalCache:()=>loadModuleFromGlobalCache,loadWithModeAwareCache:()=>loadWithModeAwareCache,makeIdentifierFromModuleName:()=>zD,makeImport:()=>makeImport,makeImportIfNecessary:()=>makeImportIfNecessary,makeStringLiteral:()=>makeStringLiteral,mangleScopedPackageName:()=>mangleScopedPackageName,map:()=>Ze,mapAllOrFail:()=>Pt,mapDefined:()=>qt,mapDefinedEntries:()=>Ri,mapDefinedIterator:()=>Zr,mapEntries:()=>be,mapIterator:()=>st,mapOneOrMany:()=>mapOneOrMany,mapToDisplayParts:()=>mapToDisplayParts,matchFiles:()=>jM,matchPatternOrExact:()=>YM,matchedText:()=>y5,matchesExclude:()=>matchesExclude,maybeBind:()=>le,maybeSetLocalizedDiagnosticMessages:()=>vx,memoize:()=>tl,memoizeCached:()=>D1,memoizeOne:()=>An,memoizeWeak:()=>P1,metadataHelper:()=>metadataHelper,min:()=>N1,minAndMax:()=>ZM,missingFileModifiedTime:()=>missingFileModifiedTime,modifierToFlag:()=>Q0,modifiersToFlags:()=>Vn,moduleOptionDeclaration:()=>moduleOptionDeclaration,moduleResolutionIsEqualTo:()=>gD,moduleResolutionNameAndModeGetter:()=>moduleResolutionNameAndModeGetter,moduleResolutionOptionDeclarations:()=>moduleResolutionOptionDeclarations,moduleResolutionSupportsPackageJsonExportsAndImports:()=>_2,moduleResolutionUsesNodeModules:()=>moduleResolutionUsesNodeModules,moduleSpecifiers:()=>ts_moduleSpecifiers_exports,moveEmitHelpers:()=>moveEmitHelpers,moveRangeEnd:()=>fO,moveRangePastDecorators:()=>_x,moveRangePastModifiers:()=>dO,moveRangePos:()=>Ff,moveSyntheticComments:()=>moveSyntheticComments,mutateMap:()=>JO,mutateMapSkippingNewValues:()=>fx,needsParentheses:()=>needsParentheses,needsScopeMarker:()=>AP,newCaseClauseTracker:()=>newCaseClauseTracker,newPrivateEnvironment:()=>newPrivateEnvironment,noEmitNotification:()=>noEmitNotification,noEmitSubstitution:()=>noEmitSubstitution,noTransformers:()=>noTransformers,noTruncationMaximumTruncationLength:()=>n8,nodeCanBeDecorated:()=>RS,nodeHasName:()=>h3,nodeIsDecorated:()=>q_,nodeIsMissing:()=>va,nodeIsPresent:()=>xl,nodeIsSynthesized:()=>fs,nodeModuleNameResolver:()=>nodeModuleNameResolver,nodeModulesPathPart:()=>nodeModulesPathPart,nodeNextJsonConfigResolver:()=>nodeNextJsonConfigResolver,nodeOrChildIsDecorated:()=>m0,nodeOverlapsWithStartEnd:()=>nodeOverlapsWithStartEnd,nodePosToString:()=>AD,nodeSeenTracker:()=>nodeSeenTracker,nodeStartsNewLexicalEnvironment:()=>pN,nodeToDisplayParts:()=>nodeToDisplayParts,noop:()=>yn,noopFileWatcher:()=>noopFileWatcher,noopPush:()=>CT,normalizePath:()=>Un,normalizeSlashes:()=>Eo,not:()=>T5,notImplemented:()=>A1,notImplementedResolver:()=>notImplementedResolver,nullNodeConverters:()=>nullNodeConverters,nullParenthesizerRules:()=>J2,nullTransformationContext:()=>nullTransformationContext,objectAllocator:()=>lr,operatorPart:()=>operatorPart,optionDeclarations:()=>optionDeclarations,optionMapToObject:()=>optionMapToObject,optionsAffectingProgramStructure:()=>optionsAffectingProgramStructure,optionsForBuild:()=>optionsForBuild,optionsForWatch:()=>optionsForWatch,optionsHaveChanges:()=>J_,optionsHaveModuleResolutionChanges:()=>pS,or:()=>W1,orderedRemoveItem:()=>J,orderedRemoveItemAt:()=>vT,outFile:()=>B0,packageIdToPackageName:()=>fS,packageIdToString:()=>vD,padLeft:()=>w5,padRight:()=>C5,paramHelper:()=>paramHelper,parameterIsThisKeyword:()=>kl,parameterNamePart:()=>parameterNamePart,parseBaseNodeFactory:()=>Iv,parseBigInt:()=>nL,parseBuildCommand:()=>parseBuildCommand,parseCommandLine:()=>parseCommandLine,parseCommandLineWorker:()=>parseCommandLineWorker,parseConfigFileTextToJson:()=>parseConfigFileTextToJson,parseConfigFileWithSystem:()=>parseConfigFileWithSystem,parseConfigHostFromCompilerHostLike:()=>parseConfigHostFromCompilerHostLike,parseCustomTypeOption:()=>parseCustomTypeOption,parseIsolatedEntityName:()=>WJ,parseIsolatedJSDocComment:()=>HJ,parseJSDocTypeExpressionForTests:()=>GJ,parseJsonConfigFileContent:()=>parseJsonConfigFileContent,parseJsonSourceFileConfigFileContent:()=>parseJsonSourceFileConfigFileContent,parseJsonText:()=>VJ,parseListTypeOption:()=>parseListTypeOption,parseNodeFactory:()=>dc,parseNodeModuleFromPath:()=>parseNodeModuleFromPath,parsePackageName:()=>parsePackageName,parsePseudoBigInt:()=>Hf,parseValidBigInt:()=>Ux,patchWriteFileEnsuringDirectory:()=>patchWriteFileEnsuringDirectory,pathContainsNodeModules:()=>pathContainsNodeModules,pathIsAbsolute:()=>sy,pathIsBareSpecifier:()=>z5,pathIsRelative:()=>So,patternText:()=>g5,perfLogger:()=>Dp,performIncrementalCompilation:()=>performIncrementalCompilation,performance:()=>ts_performance_exports,plainJSErrors:()=>plainJSErrors,positionBelongsToNode:()=>positionBelongsToNode,positionIsASICandidate:()=>positionIsASICandidate,positionIsSynthesized:()=>hs,positionsAreOnSameLine:()=>$_,preProcessFile:()=>preProcessFile,probablyUsesSemicolons:()=>probablyUsesSemicolons,processCommentPragmas:()=>ZE,processPragmasIntoFields:()=>e7,processTaggedTemplateExpression:()=>processTaggedTemplateExpression,programContainsEsModules:()=>programContainsEsModules,programContainsModules:()=>programContainsModules,projectReferenceIsEqualTo:()=>hD,propKeyHelper:()=>propKeyHelper,propertyNamePart:()=>propertyNamePart,pseudoBigIntToString:()=>y2,punctuationPart:()=>punctuationPart,pushIfUnique:()=>qn,quote:()=>quote,quotePreferenceFromString:()=>quotePreferenceFromString,rangeContainsPosition:()=>rangeContainsPosition,rangeContainsPositionExclusive:()=>rangeContainsPositionExclusive,rangeContainsRange:()=>rangeContainsRange,rangeContainsRangeExclusive:()=>rangeContainsRangeExclusive,rangeContainsStartEnd:()=>rangeContainsStartEnd,rangeEndIsOnSameLineAsRangeStart:()=>bO,rangeEndPositionsAreOnSameLine:()=>vO,rangeEquals:()=>Kc,rangeIsOnSingleLine:()=>gO,rangeOfNode:()=>eL,rangeOfTypeParameters:()=>tL,rangeOverlapsWithStartEnd:()=>rangeOverlapsWithStartEnd,rangeStartIsOnSameLineAsRangeEnd:()=>cx,rangeStartPositionsAreOnSameLine:()=>yO,readBuilderProgram:()=>readBuilderProgram,readConfigFile:()=>readConfigFile,readHelper:()=>readHelper,readJson:()=>pO,readJsonConfigFile:()=>readJsonConfigFile,readJsonOrUndefined:()=>ax,realizeDiagnostics:()=>realizeDiagnostics,reduceEachLeadingCommentRange:()=>zT,reduceEachTrailingCommentRange:()=>WT,reduceLeft:()=>Qa,reduceLeftIterator:()=>K,reducePathComponents:()=>is,refactor:()=>ts_refactor_exports,regExpEscape:()=>MM,relativeComplement:()=>h_,removeAllComments:()=>removeAllComments,removeEmitHelper:()=>removeEmitHelper,removeExtension:()=>Fx,removeFileExtension:()=>Ll,removeIgnoredPath:()=>removeIgnoredPath,removeMinAndVersionNumbers:()=>q1,removeOptionality:()=>removeOptionality,removePrefix:()=>v5,removeSuffix:()=>F1,removeTrailingDirectorySeparator:()=>P_,repeatString:()=>repeatString,replaceElement:()=>ei,resolutionExtensionIsTSOrJson:()=>GM,resolveConfigFileProjectName:()=>resolveConfigFileProjectName,resolveJSModule:()=>resolveJSModule,resolveModuleName:()=>resolveModuleName,resolveModuleNameFromCache:()=>resolveModuleNameFromCache,resolvePackageNameToPackageJson:()=>resolvePackageNameToPackageJson,resolvePath:()=>oy,resolveProjectReferencePath:()=>resolveProjectReferencePath,resolveTripleslashReference:()=>resolveTripleslashReference,resolveTypeReferenceDirective:()=>resolveTypeReferenceDirective,resolvingEmptyArray:()=>t8,restHelper:()=>restHelper,returnFalse:()=>w_,returnNoopFileWatcher:()=>returnNoopFileWatcher,returnTrue:()=>vp,returnUndefined:()=>C1,returnsPromise:()=>returnsPromise,runInitializersHelper:()=>runInitializersHelper,sameFlatMap:()=>at,sameMap:()=>tt,sameMapping:()=>sameMapping,scanShebangTrivia:()=>yy,scanTokenAtPosition:()=>dk,scanner:()=>Zo,screenStartingMessageCodes:()=>screenStartingMessageCodes,semanticDiagnosticsOptionDeclarations:()=>semanticDiagnosticsOptionDeclarations,serializeCompilerOptions:()=>serializeCompilerOptions,server:()=>ts_server_exports,servicesVersion:()=>E7,setCommentRange:()=>setCommentRange,setConfigFileInOptions:()=>setConfigFileInOptions,setConstantValue:()=>setConstantValue,setEachParent:()=>Q_,setEmitFlags:()=>setEmitFlags,setFunctionNameHelper:()=>setFunctionNameHelper,setGetSourceFileAsHashVersioned:()=>setGetSourceFileAsHashVersioned,setIdentifierAutoGenerate:()=>setIdentifierAutoGenerate,setIdentifierGeneratedImportReference:()=>setIdentifierGeneratedImportReference,setIdentifierTypeArguments:()=>setIdentifierTypeArguments,setInternalEmitFlags:()=>setInternalEmitFlags,setLocalizedDiagnosticMessages:()=>yx,setModuleDefaultHelper:()=>setModuleDefaultHelper,setNodeFlags:()=>lL,setObjectAllocator:()=>gx,setOriginalNode:()=>Dn,setParent:()=>Sa,setParentRecursive:()=>Vx,setPrivateIdentifier:()=>setPrivateIdentifier,setResolvedModule:()=>fD,setResolvedTypeReferenceDirective:()=>dD,setSnippetElement:()=>setSnippetElement,setSourceMapRange:()=>setSourceMapRange,setStackTraceLimit:()=>setStackTraceLimit,setStartsOnNewLine:()=>setStartsOnNewLine,setSyntheticLeadingComments:()=>setSyntheticLeadingComments,setSyntheticTrailingComments:()=>setSyntheticTrailingComments,setSys:()=>setSys,setSysLog:()=>setSysLog,setTextRange:()=>Rt,setTextRangeEnd:()=>Wx,setTextRangePos:()=>Gf,setTextRangePosEnd:()=>Us,setTextRangePosWidth:()=>$f,setTokenSourceMapRange:()=>setTokenSourceMapRange,setTypeNode:()=>setTypeNode,setUILocale:()=>xp,setValueDeclaration:()=>EI,shouldAllowImportingTsExtension:()=>shouldAllowImportingTsExtension,shouldPreserveConstEnums:()=>bM,shouldUseUriStyleNodeCoreModules:()=>shouldUseUriStyleNodeCoreModules,showModuleSpecifier:()=>UO,signatureHasLiteralTypes:()=>signatureHasLiteralTypes,signatureHasRestParameter:()=>signatureHasRestParameter,signatureToDisplayParts:()=>signatureToDisplayParts,single:()=>Yc,singleElementArray:()=>Cp,singleIterator:()=>Ka,singleOrMany:()=>mo,singleOrUndefined:()=>Xa,skipAlias:()=>NO,skipAssertions:()=>Uj,skipConstraint:()=>skipConstraint,skipOuterExpressions:()=>$o,skipParentheses:()=>Pl,skipPartiallyEmittedExpressions:()=>lf,skipTrivia:()=>Ar,skipTypeChecking:()=>rL,skipTypeParentheses:()=>zI,skipWhile:()=>P5,sliceAfter:()=>QM,some:()=>Ke,sort:()=>Is,sortAndDeduplicate:()=>uo,sortAndDeduplicateDiagnostics:()=>dA,sourceFileAffectingCompilerOptions:()=>sourceFileAffectingCompilerOptions,sourceFileMayBeEmitted:()=>q0,sourceMapCommentRegExp:()=>sourceMapCommentRegExp,sourceMapCommentRegExpDontCareLineStart:()=>sourceMapCommentRegExpDontCareLineStart,spacePart:()=>spacePart,spanMap:()=>co,spreadArrayHelper:()=>spreadArrayHelper,stableSort:()=>Ns,startEndContainsRange:()=>startEndContainsRange,startEndOverlapsWithStartEnd:()=>startEndOverlapsWithStartEnd,startOnNewLine:()=>vd,startTracing:()=>startTracing,startsWith:()=>Pn,startsWithDirectory:()=>Q5,startsWithUnderscore:()=>startsWithUnderscore,startsWithUseStrict:()=>SE,stringContains:()=>Fi,stringContainsAt:()=>stringContainsAt,stringToToken:()=>_l,stripQuotes:()=>SN,supportedDeclarationExtensions:()=>R2,supportedJSExtensions:()=>M2,supportedJSExtensionsFlat:()=>L2,supportedLocaleDirectories:()=>Hy,supportedTSExtensions:()=>Jo,supportedTSExtensionsFlat:()=>O2,supportedTSImplementationExtensions:()=>b8,suppressLeadingAndTrailingTrivia:()=>suppressLeadingAndTrailingTrivia,suppressLeadingTrivia:()=>suppressLeadingTrivia,suppressTrailingTrivia:()=>suppressTrailingTrivia,symbolEscapedNameNoDefault:()=>symbolEscapedNameNoDefault,symbolName:()=>rf,symbolNameNoDefault:()=>symbolNameNoDefault,symbolPart:()=>symbolPart,symbolToDisplayParts:()=>symbolToDisplayParts,syntaxMayBeASICandidate:()=>syntaxMayBeASICandidate,syntaxRequiresTrailingSemicolonOrASI:()=>syntaxRequiresTrailingSemicolonOrASI,sys:()=>iy,sysLog:()=>sysLog,tagNamesAreEquivalent:()=>Hi,takeWhile:()=>A5,targetOptionDeclaration:()=>targetOptionDeclaration,templateObjectHelper:()=>templateObjectHelper,testFormatSettings:()=>testFormatSettings,textChangeRangeIsUnchanged:()=>c3,textChangeRangeNewSpan:()=>R_,textChanges:()=>ts_textChanges_exports,textOrKeywordPart:()=>textOrKeywordPart,textPart:()=>textPart,textRangeContainsPositionInclusive:()=>hA,textSpanContainsPosition:()=>mA,textSpanContainsTextSpan:()=>gA,textSpanEnd:()=>Ir,textSpanIntersection:()=>_3,textSpanIntersectsWith:()=>bA,textSpanIntersectsWithPosition:()=>TA,textSpanIntersectsWithTextSpan:()=>vA,textSpanIsEmpty:()=>s3,textSpanOverlap:()=>o3,textSpanOverlapsWith:()=>yA,textSpansEqual:()=>textSpansEqual,textToKeywordObj:()=>cl,timestamp:()=>ts,toArray:()=>en,toBuilderFileEmit:()=>toBuilderFileEmit,toBuilderStateFileInfoForMultiEmit:()=>toBuilderStateFileInfoForMultiEmit,toEditorSettings:()=>lu,toFileNameLowerCase:()=>Tp,toLowerCase:()=>bp,toPath:()=>Ui,toProgramEmitPending:()=>toProgramEmitPending,tokenIsIdentifierOrKeyword:()=>fr,tokenIsIdentifierOrKeywordOrGreaterThan:()=>qT,tokenToString:()=>Br,trace:()=>trace,tracing:()=>rs,tracingEnabled:()=>tracingEnabled,transform:()=>transform,transformClassFields:()=>transformClassFields,transformDeclarations:()=>transformDeclarations,transformECMAScriptModule:()=>transformECMAScriptModule,transformES2015:()=>transformES2015,transformES2016:()=>transformES2016,transformES2017:()=>transformES2017,transformES2018:()=>transformES2018,transformES2019:()=>transformES2019,transformES2020:()=>transformES2020,transformES2021:()=>transformES2021,transformES5:()=>transformES5,transformESDecorators:()=>transformESDecorators,transformESNext:()=>transformESNext,transformGenerators:()=>transformGenerators,transformJsx:()=>transformJsx,transformLegacyDecorators:()=>transformLegacyDecorators,transformModule:()=>transformModule,transformNodeModule:()=>transformNodeModule,transformNodes:()=>transformNodes,transformSystemModule:()=>transformSystemModule,transformTypeScript:()=>transformTypeScript,transpile:()=>transpile,transpileModule:()=>transpileModule,transpileOptionValueCompilerOptions:()=>transpileOptionValueCompilerOptions,trimString:()=>Pp,trimStringEnd:()=>X1,trimStringStart:()=>nl,tryAddToSet:()=>ua,tryAndIgnoreErrors:()=>tryAndIgnoreErrors,tryCast:()=>ln,tryDirectoryExists:()=>tryDirectoryExists,tryExtractTSExtension:()=>oO,tryFileExists:()=>tryFileExists,tryGetClassExtendingExpressionWithTypeArguments:()=>ex,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>tx,tryGetDirectories:()=>tryGetDirectories,tryGetExtensionFromPath:()=>h2,tryGetImportFromModuleSpecifier:()=>YS,tryGetJSDocSatisfiesTypeNode:()=>e8,tryGetModuleNameFromFile:()=>CE,tryGetModuleSpecifierFromDeclaration:()=>CI,tryGetNativePerformanceHooks:()=>M5,tryGetPropertyAccessOrIdentifierToString:()=>t2,tryGetPropertyNameOfBindingOrAssignmentElement:()=>PE,tryGetSourceMappingURL:()=>tryGetSourceMappingURL,tryGetTextOfPropertyName:()=>e0,tryIOAndConsumeErrors:()=>tryIOAndConsumeErrors,tryParsePattern:()=>Bx,tryParsePatterns:()=>HM,tryParseRawSourceMap:()=>tryParseRawSourceMap,tryReadDirectory:()=>tryReadDirectory,tryReadFile:()=>tryReadFile,tryRemoveDirectoryPrefix:()=>OM,tryRemoveExtension:()=>Jx,tryRemovePrefix:()=>ST,tryRemoveSuffix:()=>B1,typeAcquisitionDeclarations:()=>typeAcquisitionDeclarations,typeAliasNamePart:()=>typeAliasNamePart,typeDirectiveIsEqualTo:()=>bD,typeKeywords:()=>typeKeywords,typeParameterNamePart:()=>typeParameterNamePart,typeReferenceResolutionNameAndModeGetter:()=>typeReferenceResolutionNameAndModeGetter,typeToDisplayParts:()=>typeToDisplayParts,unchangedPollThresholds:()=>unchangedPollThresholds,unchangedTextChangeRange:()=>Vy,unescapeLeadingUnderscores:()=>dl,unmangleScopedPackageName:()=>unmangleScopedPackageName,unorderedRemoveItem:()=>bT,unorderedRemoveItemAt:()=>U1,unreachableCodeIsError:()=>dM,unusedLabelIsError:()=>mM,unwrapInnermostStatementOfLabel:()=>Nk,updateErrorForNoInputFiles:()=>updateErrorForNoInputFiles,updateLanguageServiceSourceFile:()=>T7,updateMissingFilePathsWatch:()=>updateMissingFilePathsWatch,updatePackageJsonWatch:()=>updatePackageJsonWatch,updateResolutionField:()=>updateResolutionField,updateSharedExtendedConfigFileWatcher:()=>updateSharedExtendedConfigFileWatcher,updateSourceFile:()=>kv,updateWatchingWildcardDirectories:()=>updateWatchingWildcardDirectories,usesExtensionsOnImports:()=>Rx,usingSingleLineStringWriter:()=>uD,utf16EncodeAsString:()=>by,validateLocaleAndSetLanguage:()=>wA,valuesHelper:()=>valuesHelper,version:()=>C,versionMajorMinor:()=>m,visitArray:()=>visitArray,visitCommaListElements:()=>visitCommaListElements,visitEachChild:()=>visitEachChild,visitFunctionBody:()=>visitFunctionBody,visitIterationBody:()=>visitIterationBody,visitLexicalEnvironment:()=>visitLexicalEnvironment,visitNode:()=>visitNode,visitNodes:()=>visitNodes2,visitParameterList:()=>visitParameterList,walkUpBindingElementsAndPatterns:()=>f3,walkUpLexicalEnvironments:()=>walkUpLexicalEnvironments,walkUpOuterExpressions:()=>qj,walkUpParenthesizedExpressions:()=>D0,walkUpParenthesizedTypes:()=>qI,walkUpParenthesizedTypesAndGetParentAndChild:()=>UI,whitespaceOrMapCommentRegExp:()=>whitespaceOrMapCommentRegExp,writeCommentRange:()=>WN,writeFile:()=>ON,writeFileEnsuringDirectories:()=>MN,zipToModeAwareCache:()=>zipToModeAwareCache,zipWith:()=>ce});var R7=D({"src/typescript/_namespaces/ts.ts"(){"use strict";nn(),l7(),Lv(),LB()}}),RB=P({"src/typescript/typescript.ts"(e,t){R7(),R7(),typeof console<"u"&&(Y.loggingHost={log(r,s){switch(r){case 1:return console.error(s);case 2:return console.warn(s);case 3:return console.log(s);case 4:return console.log(s)}}}),t.exports=L7}});_.exports=RB()}}),wW=Ne({"src/language-js/parse/postprocess/typescript.js"(a,_){"use strict";ke();var v=R9(),h=J9(),D=F9(),P={AbstractKeyword:126,SourceFile:308,PropertyDeclaration:169};function y(c){for(;c&&c.kind!==P.SourceFile;)c=c.parent;return c}function m(c,M){let q=y(c),[W,K]=[c.getStart(),c.end].map(ce=>{let{line:Ce,character:me}=q.getLineAndCharacterOfPosition(ce);return{line:Ce+1,column:me}});D({loc:{start:W,end:K}},M)}function C(c){let M=vr();return[!0,!1].some(q=>M.nodeCanBeDecorated(q,c,c.parent,c.parent.parent))}function d(c){let{modifiers:M}=c;if(!v(M))return;let q=vr(),{SyntaxKind:W}=q;for(let K of M)q.isDecorator(K)&&!C(c)&&(c.kind===W.MethodDeclaration&&!q.nodeIsPresent(c.body)&&m(K,"A decorator can only decorate a method implementation, not an overload."),m(K,"Decorators are not valid here."))}function E(c,M){c.kind!==P.PropertyDeclaration||c.modifiers&&!c.modifiers.some(q=>q.kind===P.AbstractKeyword)||c.initializer&&M.value===null&&D(M,"Abstract property cannot have an initializer")}function I(c,M){if(!/@|abstract/.test(M.originalText))return;let{esTreeNodeToTSNodeMap:q,tsNodeToESTreeNodeMap:W}=c;h(c.ast,K=>{let ce=q.get(K);if(!ce)return;let Ce=W.get(ce);Ce===K&&(d(ce),E(ce,Ce))})}_.exports={throwErrorForInvalidNodes:I}}}),Ga=Ne({"scripts/build/shims/debug.cjs"(a,_){"use strict";ke(),_.exports=()=>()=>{}}}),h1=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/constants.js"(a,_){ke();var v="2.0.0",h=256,D=Number.MAX_SAFE_INTEGER||9007199254740991,P=16;_.exports={SEMVER_SPEC_VERSION:v,MAX_LENGTH:h,MAX_SAFE_INTEGER:D,MAX_SAFE_COMPONENT_LENGTH:P}}}),g1=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/debug.js"(a,_){ke();var v=typeof cn=="object"&&cn.env&&cn.env.NODE_DEBUG&&/\bsemver\b/i.test(cn.env.NODE_DEBUG)?function(){for(var h=arguments.length,D=new Array(h),P=0;P{};_.exports=v}}),Bc=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/re.js"(a,_){ke();var{MAX_SAFE_COMPONENT_LENGTH:v}=h1(),h=g1();a=_.exports={};var D=a.re=[],P=a.src=[],y=a.t={},m=0,C=(d,E,I)=>{let c=m++;h(d,c,E),y[d]=c,P[c]=E,D[c]=new RegExp(E,I?"g":void 0)};C("NUMERICIDENTIFIER","0|[1-9]\\d*"),C("NUMERICIDENTIFIERLOOSE","[0-9]+"),C("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),C("MAINVERSION",`(${P[y.NUMERICIDENTIFIER]})\\.(${P[y.NUMERICIDENTIFIER]})\\.(${P[y.NUMERICIDENTIFIER]})`),C("MAINVERSIONLOOSE",`(${P[y.NUMERICIDENTIFIERLOOSE]})\\.(${P[y.NUMERICIDENTIFIERLOOSE]})\\.(${P[y.NUMERICIDENTIFIERLOOSE]})`),C("PRERELEASEIDENTIFIER",`(?:${P[y.NUMERICIDENTIFIER]}|${P[y.NONNUMERICIDENTIFIER]})`),C("PRERELEASEIDENTIFIERLOOSE",`(?:${P[y.NUMERICIDENTIFIERLOOSE]}|${P[y.NONNUMERICIDENTIFIER]})`),C("PRERELEASE",`(?:-(${P[y.PRERELEASEIDENTIFIER]}(?:\\.${P[y.PRERELEASEIDENTIFIER]})*))`),C("PRERELEASELOOSE",`(?:-?(${P[y.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${P[y.PRERELEASEIDENTIFIERLOOSE]})*))`),C("BUILDIDENTIFIER","[0-9A-Za-z-]+"),C("BUILD",`(?:\\+(${P[y.BUILDIDENTIFIER]}(?:\\.${P[y.BUILDIDENTIFIER]})*))`),C("FULLPLAIN",`v?${P[y.MAINVERSION]}${P[y.PRERELEASE]}?${P[y.BUILD]}?`),C("FULL",`^${P[y.FULLPLAIN]}$`),C("LOOSEPLAIN",`[v=\\s]*${P[y.MAINVERSIONLOOSE]}${P[y.PRERELEASELOOSE]}?${P[y.BUILD]}?`),C("LOOSE",`^${P[y.LOOSEPLAIN]}$`),C("GTLT","((?:<|>)?=?)"),C("XRANGEIDENTIFIERLOOSE",`${P[y.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),C("XRANGEIDENTIFIER",`${P[y.NUMERICIDENTIFIER]}|x|X|\\*`),C("XRANGEPLAIN",`[v=\\s]*(${P[y.XRANGEIDENTIFIER]})(?:\\.(${P[y.XRANGEIDENTIFIER]})(?:\\.(${P[y.XRANGEIDENTIFIER]})(?:${P[y.PRERELEASE]})?${P[y.BUILD]}?)?)?`),C("XRANGEPLAINLOOSE",`[v=\\s]*(${P[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[y.XRANGEIDENTIFIERLOOSE]})(?:${P[y.PRERELEASELOOSE]})?${P[y.BUILD]}?)?)?`),C("XRANGE",`^${P[y.GTLT]}\\s*${P[y.XRANGEPLAIN]}$`),C("XRANGELOOSE",`^${P[y.GTLT]}\\s*${P[y.XRANGEPLAINLOOSE]}$`),C("COERCE",`(^|[^\\d])(\\d{1,${v}})(?:\\.(\\d{1,${v}}))?(?:\\.(\\d{1,${v}}))?(?:$|[^\\d])`),C("COERCERTL",P[y.COERCE],!0),C("LONETILDE","(?:~>?)"),C("TILDETRIM",`(\\s*)${P[y.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",C("TILDE",`^${P[y.LONETILDE]}${P[y.XRANGEPLAIN]}$`),C("TILDELOOSE",`^${P[y.LONETILDE]}${P[y.XRANGEPLAINLOOSE]}$`),C("LONECARET","(?:\\^)"),C("CARETTRIM",`(\\s*)${P[y.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",C("CARET",`^${P[y.LONECARET]}${P[y.XRANGEPLAIN]}$`),C("CARETLOOSE",`^${P[y.LONECARET]}${P[y.XRANGEPLAINLOOSE]}$`),C("COMPARATORLOOSE",`^${P[y.GTLT]}\\s*(${P[y.LOOSEPLAIN]})$|^$`),C("COMPARATOR",`^${P[y.GTLT]}\\s*(${P[y.FULLPLAIN]})$|^$`),C("COMPARATORTRIM",`(\\s*)${P[y.GTLT]}\\s*(${P[y.LOOSEPLAIN]}|${P[y.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",C("HYPHENRANGE",`^\\s*(${P[y.XRANGEPLAIN]})\\s+-\\s+(${P[y.XRANGEPLAIN]})\\s*$`),C("HYPHENRANGELOOSE",`^\\s*(${P[y.XRANGEPLAINLOOSE]})\\s+-\\s+(${P[y.XRANGEPLAINLOOSE]})\\s*$`),C("STAR","(<|>)?=?\\s*\\*"),C("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),C("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),y1=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/parse-options.js"(a,_){ke();var v=["includePrerelease","loose","rtl"],h=D=>D?typeof D!="object"?{loose:!0}:v.filter(P=>D[P]).reduce((P,y)=>(P[y]=!0,P),{}):{};_.exports=h}}),B9=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/identifiers.js"(a,_){ke();var v=/^[0-9]+$/,h=(P,y)=>{let m=v.test(P),C=v.test(y);return m&&C&&(P=+P,y=+y),P===y?0:m&&!C?-1:C&&!m?1:Ph(y,P);_.exports={compareIdentifiers:h,rcompareIdentifiers:D}}}),Bn=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/semver.js"(a,_){ke();var v=g1(),{MAX_LENGTH:h,MAX_SAFE_INTEGER:D}=h1(),{re:P,t:y}=Bc(),m=y1(),{compareIdentifiers:C}=B9(),d=class{constructor(E,I){if(I=m(I),E instanceof d){if(E.loose===!!I.loose&&E.includePrerelease===!!I.includePrerelease)return E;E=E.version}else if(typeof E!="string")throw new TypeError(`Invalid Version: ${E}`);if(E.length>h)throw new TypeError(`version is longer than ${h} characters`);v("SemVer",E,I),this.options=I,this.loose=!!I.loose,this.includePrerelease=!!I.includePrerelease;let c=E.trim().match(I.loose?P[y.LOOSE]:P[y.FULL]);if(!c)throw new TypeError(`Invalid Version: ${E}`);if(this.raw=E,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>D||this.major<0)throw new TypeError("Invalid major version");if(this.minor>D||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>D||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(M=>{if(/^[0-9]+$/.test(M)){let q=+M;if(q>=0&&q=0;)typeof this.prerelease[c]=="number"&&(this.prerelease[c]++,c=-2);c===-1&&this.prerelease.push(0)}I&&(C(this.prerelease[0],I)===0?isNaN(this.prerelease[1])&&(this.prerelease=[I,0]):this.prerelease=[I,0]);break;default:throw new Error(`invalid increment argument: ${E}`)}return this.format(),this.raw=this.version,this}};_.exports=d}}),qc=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/parse.js"(a,_){ke();var{MAX_LENGTH:v}=h1(),{re:h,t:D}=Bc(),P=Bn(),y=y1(),m=(C,d)=>{if(d=y(d),C instanceof P)return C;if(typeof C!="string"||C.length>v||!(d.loose?h[D.LOOSE]:h[D.FULL]).test(C))return null;try{return new P(C,d)}catch{return null}};_.exports=m}}),CW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/valid.js"(a,_){ke();var v=qc(),h=(D,P)=>{let y=v(D,P);return y?y.version:null};_.exports=h}}),AW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/clean.js"(a,_){ke();var v=qc(),h=(D,P)=>{let y=v(D.trim().replace(/^[=v]+/,""),P);return y?y.version:null};_.exports=h}}),PW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/inc.js"(a,_){ke();var v=Bn(),h=(D,P,y,m)=>{typeof y=="string"&&(m=y,y=void 0);try{return new v(D instanceof v?D.version:D,y).inc(P,m).version}catch{return null}};_.exports=h}}),_a=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare.js"(a,_){ke();var v=Bn(),h=(D,P,y)=>new v(D,y).compare(new v(P,y));_.exports=h}}),sT=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/eq.js"(a,_){ke();var v=_a(),h=(D,P,y)=>v(D,P,y)===0;_.exports=h}}),DW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/diff.js"(a,_){ke();var v=qc(),h=sT(),D=(P,y)=>{if(h(P,y))return null;{let m=v(P),C=v(y),d=m.prerelease.length||C.prerelease.length,E=d?"pre":"",I=d?"prerelease":"";for(let c in m)if((c==="major"||c==="minor"||c==="patch")&&m[c]!==C[c])return E+c;return I}};_.exports=D}}),kW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/major.js"(a,_){ke();var v=Bn(),h=(D,P)=>new v(D,P).major;_.exports=h}}),IW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/minor.js"(a,_){ke();var v=Bn(),h=(D,P)=>new v(D,P).minor;_.exports=h}}),NW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/patch.js"(a,_){ke();var v=Bn(),h=(D,P)=>new v(D,P).patch;_.exports=h}}),OW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/prerelease.js"(a,_){ke();var v=qc(),h=(D,P)=>{let y=v(D,P);return y&&y.prerelease.length?y.prerelease:null};_.exports=h}}),MW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rcompare.js"(a,_){ke();var v=_a(),h=(D,P,y)=>v(P,D,y);_.exports=h}}),LW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-loose.js"(a,_){ke();var v=_a(),h=(D,P)=>v(D,P,!0);_.exports=h}}),oT=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-build.js"(a,_){ke();var v=Bn(),h=(D,P,y)=>{let m=new v(D,y),C=new v(P,y);return m.compare(C)||m.compareBuild(C)};_.exports=h}}),RW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/sort.js"(a,_){ke();var v=oT(),h=(D,P)=>D.sort((y,m)=>v(y,m,P));_.exports=h}}),jW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rsort.js"(a,_){ke();var v=oT(),h=(D,P)=>D.sort((y,m)=>v(m,y,P));_.exports=h}}),v1=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gt.js"(a,_){ke();var v=_a(),h=(D,P,y)=>v(D,P,y)>0;_.exports=h}}),_T=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lt.js"(a,_){ke();var v=_a(),h=(D,P,y)=>v(D,P,y)<0;_.exports=h}}),q9=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/neq.js"(a,_){ke();var v=_a(),h=(D,P,y)=>v(D,P,y)!==0;_.exports=h}}),cT=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gte.js"(a,_){ke();var v=_a(),h=(D,P,y)=>v(D,P,y)>=0;_.exports=h}}),lT=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lte.js"(a,_){ke();var v=_a(),h=(D,P,y)=>v(D,P,y)<=0;_.exports=h}}),U9=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js"(a,_){ke();var v=sT(),h=q9(),D=v1(),P=cT(),y=_T(),m=lT(),C=(d,E,I,c)=>{switch(E){case"===":return typeof d=="object"&&(d=d.version),typeof I=="object"&&(I=I.version),d===I;case"!==":return typeof d=="object"&&(d=d.version),typeof I=="object"&&(I=I.version),d!==I;case"":case"=":case"==":return v(d,I,c);case"!=":return h(d,I,c);case">":return D(d,I,c);case">=":return P(d,I,c);case"<":return y(d,I,c);case"<=":return m(d,I,c);default:throw new TypeError(`Invalid operator: ${E}`)}};_.exports=C}}),JW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/coerce.js"(a,_){ke();var v=Bn(),h=qc(),{re:D,t:P}=Bc(),y=(m,C)=>{if(m instanceof v)return m;if(typeof m=="number"&&(m=String(m)),typeof m!="string")return null;C=C||{};let d=null;if(!C.rtl)d=m.match(D[P.COERCE]);else{let E;for(;(E=D[P.COERCERTL].exec(m))&&(!d||d.index+d[0].length!==m.length);)(!d||E.index+E[0].length!==d.index+d[0].length)&&(d=E),D[P.COERCERTL].lastIndex=E.index+E[1].length+E[2].length;D[P.COERCERTL].lastIndex=-1}return d===null?null:h(`${d[2]}.${d[3]||"0"}.${d[4]||"0"}`,C)};_.exports=y}}),FW=Ne({"node_modules/yallist/iterator.js"(a,_){"use strict";ke(),_.exports=function(v){v.prototype[Symbol.iterator]=function*(){for(let h=this.head;h;h=h.next)yield h.value}}}}),BW=Ne({"node_modules/yallist/yallist.js"(a,_){"use strict";ke(),_.exports=v,v.Node=y,v.create=v;function v(m){var C=this;if(C instanceof v||(C=new v),C.tail=null,C.head=null,C.length=0,m&&typeof m.forEach=="function")m.forEach(function(I){C.push(I)});else if(arguments.length>0)for(var d=0,E=arguments.length;d1)d=C;else if(this.head)E=this.head.next,d=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var I=0;E!==null;I++)d=m(d,E.value,I),E=E.next;return d},v.prototype.reduceReverse=function(m,C){var d,E=this.tail;if(arguments.length>1)d=C;else if(this.tail)E=this.tail.prev,d=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var I=this.length-1;E!==null;I--)d=m(d,E.value,I),E=E.prev;return d},v.prototype.toArray=function(){for(var m=new Array(this.length),C=0,d=this.head;d!==null;C++)m[C]=d.value,d=d.next;return m},v.prototype.toArrayReverse=function(){for(var m=new Array(this.length),C=0,d=this.tail;d!==null;C++)m[C]=d.value,d=d.prev;return m},v.prototype.slice=function(m,C){C=C||this.length,C<0&&(C+=this.length),m=m||0,m<0&&(m+=this.length);var d=new v;if(Cthis.length&&(C=this.length);for(var E=0,I=this.head;I!==null&&Ethis.length&&(C=this.length);for(var E=this.length,I=this.tail;I!==null&&E>C;E--)I=I.prev;for(;I!==null&&E>m;E--,I=I.prev)d.push(I.value);return d},v.prototype.splice=function(m,C){m>this.length&&(m=this.length-1),m<0&&(m=this.length+m);for(var d=0,E=this.head;E!==null&&d1,q=class{constructor(te){if(typeof te=="number"&&(te={max:te}),te||(te={}),te.max&&(typeof te.max!="number"||te.max<0))throw new TypeError("max must be a non-negative number");let he=this[h]=te.max||1/0,De=te.length||M;if(this[P]=typeof De!="function"?M:De,this[y]=te.stale||!1,te.maxAge&&typeof te.maxAge!="number")throw new TypeError("maxAge must be a number");this[m]=te.maxAge||0,this[C]=te.dispose,this[d]=te.noDisposeOnSet||!1,this[c]=te.updateAgeOnGet||!1,this.reset()}set max(te){if(typeof te!="number"||te<0)throw new TypeError("max must be a non-negative number");this[h]=te||1/0,ce(this)}get max(){return this[h]}set allowStale(te){this[y]=!!te}get allowStale(){return this[y]}set maxAge(te){if(typeof te!="number")throw new TypeError("maxAge must be a non-negative number");this[m]=te,ce(this)}get maxAge(){return this[m]}set lengthCalculator(te){typeof te!="function"&&(te=M),te!==this[P]&&(this[P]=te,this[D]=0,this[E].forEach(he=>{he.length=this[P](he.value,he.key),this[D]+=he.length})),ce(this)}get lengthCalculator(){return this[P]}get length(){return this[D]}get itemCount(){return this[E].length}rforEach(te,he){he=he||this;for(let De=this[E].tail;De!==null;){let R=De.prev;Pe(this,te,De,he),De=R}}forEach(te,he){he=he||this;for(let De=this[E].head;De!==null;){let R=De.next;Pe(this,te,De,he),De=R}}keys(){return this[E].toArray().map(te=>te.key)}values(){return this[E].toArray().map(te=>te.value)}reset(){this[C]&&this[E]&&this[E].length&&this[E].forEach(te=>this[C](te.key,te.value)),this[I]=new Map,this[E]=new v,this[D]=0}dump(){return this[E].map(te=>K(this,te)?!1:{k:te.key,v:te.value,e:te.now+(te.maxAge||0)}).toArray().filter(te=>te)}dumpLru(){return this[E]}set(te,he,De){if(De=De||this[m],De&&typeof De!="number")throw new TypeError("maxAge must be a number");let R=De?Date.now():0,pe=this[P](he,te);if(this[I].has(te)){if(pe>this[h])return Ce(this,this[I].get(te)),!1;let Xe=this[I].get(te).value;return this[C]&&(this[d]||this[C](te,Xe.value)),Xe.now=R,Xe.maxAge=De,Xe.value=he,this[D]+=pe-Xe.length,Xe.length=pe,this.get(te),ce(this),!0}let Ie=new me(te,he,pe,R,De);return Ie.length>this[h]?(this[C]&&this[C](te,he),!1):(this[D]+=Ie.length,this[E].unshift(Ie),this[I].set(te,this[E].head),ce(this),!0)}has(te){if(!this[I].has(te))return!1;let he=this[I].get(te).value;return!K(this,he)}get(te){return W(this,te,!0)}peek(te){return W(this,te,!1)}pop(){let te=this[E].tail;return te?(Ce(this,te),te.value):null}del(te){Ce(this,this[I].get(te))}load(te){this.reset();let he=Date.now();for(let De=te.length-1;De>=0;De--){let R=te[De],pe=R.e||0;if(pe===0)this.set(R.k,R.v);else{let Ie=pe-he;Ie>0&&this.set(R.k,R.v,Ie)}}}prune(){this[I].forEach((te,he)=>W(this,he,!1))}},W=(te,he,De)=>{let R=te[I].get(he);if(R){let pe=R.value;if(K(te,pe)){if(Ce(te,R),!te[y])return}else De&&(te[c]&&(R.value.now=Date.now()),te[E].unshiftNode(R));return pe.value}},K=(te,he)=>{if(!he||!he.maxAge&&!te[m])return!1;let De=Date.now()-he.now;return he.maxAge?De>he.maxAge:te[m]&&De>te[m]},ce=te=>{if(te[D]>te[h])for(let he=te[E].tail;te[D]>te[h]&&he!==null;){let De=he.prev;Ce(te,he),he=De}},Ce=(te,he)=>{if(he){let De=he.value;te[C]&&te[C](De.key,De.value),te[D]-=De.length,te[I].delete(De.key),te[E].removeNode(he)}},me=class{constructor(te,he,De,R,pe){this.key=te,this.value=he,this.length=De,this.now=R,this.maxAge=pe||0}},Pe=(te,he,De,R)=>{let pe=De.value;K(te,pe)&&(Ce(te,De),te[y]||(pe=void 0)),pe&&he.call(R,pe.value,pe.key,te)};_.exports=q}}),ca=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/range.js"(a,_){ke();var v=class{constructor(ee,je){if(je=P(je),ee instanceof v)return ee.loose===!!je.loose&&ee.includePrerelease===!!je.includePrerelease?ee:new v(ee.raw,je);if(ee instanceof y)return this.raw=ee.value,this.set=[[ee]],this.format(),this;if(this.options=je,this.loose=!!je.loose,this.includePrerelease=!!je.includePrerelease,this.raw=ee,this.set=ee.split("||").map(nt=>this.parseRange(nt.trim())).filter(nt=>nt.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${ee}`);if(this.set.length>1){let nt=this.set[0];if(this.set=this.set.filter(Ze=>!q(Ze[0])),this.set.length===0)this.set=[nt];else if(this.set.length>1){for(let Ze of this.set)if(Ze.length===1&&W(Ze[0])){this.set=[Ze];break}}}this.format()}format(){return this.range=this.set.map(ee=>ee.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(ee){ee=ee.trim();let nt=`parseRange:${Object.keys(this.options).join(",")}:${ee}`,Ze=D.get(nt);if(Ze)return Ze;let st=this.options.loose,tt=st?d[E.HYPHENRANGELOOSE]:d[E.HYPHENRANGE];ee=ee.replace(tt,Je(this.options.includePrerelease)),m("hyphen replace",ee),ee=ee.replace(d[E.COMPARATORTRIM],I),m("comparator trim",ee),ee=ee.replace(d[E.TILDETRIM],c),ee=ee.replace(d[E.CARETTRIM],M),ee=ee.split(/\s+/).join(" ");let ct=ee.split(" ").map(at=>ce(at,this.options)).join(" ").split(/\s+/).map(at=>Ie(at,this.options));st&&(ct=ct.filter(at=>(m("loose invalid filter",at,this.options),!!at.match(d[E.COMPARATORLOOSE])))),m("range list",ct);let ne=new Map,ge=ct.map(at=>new y(at,this.options));for(let at of ge){if(q(at))return[at];ne.set(at.value,at)}ne.size>1&&ne.has("")&&ne.delete("");let Fe=[...ne.values()];return D.set(nt,Fe),Fe}intersects(ee,je){if(!(ee instanceof v))throw new TypeError("a Range is required");return this.set.some(nt=>K(nt,je)&&ee.set.some(Ze=>K(Ze,je)&&nt.every(st=>Ze.every(tt=>st.intersects(tt,je)))))}test(ee){if(!ee)return!1;if(typeof ee=="string")try{ee=new C(ee,this.options)}catch{return!1}for(let je=0;jeee.value==="<0.0.0-0",W=ee=>ee.value==="",K=(ee,je)=>{let nt=!0,Ze=ee.slice(),st=Ze.pop();for(;nt&&Ze.length;)nt=Ze.every(tt=>st.intersects(tt,je)),st=Ze.pop();return nt},ce=(ee,je)=>(m("comp",ee,je),ee=te(ee,je),m("caret",ee),ee=me(ee,je),m("tildes",ee),ee=De(ee,je),m("xrange",ee),ee=pe(ee,je),m("stars",ee),ee),Ce=ee=>!ee||ee.toLowerCase()==="x"||ee==="*",me=(ee,je)=>ee.trim().split(/\s+/).map(nt=>Pe(nt,je)).join(" "),Pe=(ee,je)=>{let nt=je.loose?d[E.TILDELOOSE]:d[E.TILDE];return ee.replace(nt,(Ze,st,tt,ct,ne)=>{m("tilde",ee,Ze,st,tt,ct,ne);let ge;return Ce(st)?ge="":Ce(tt)?ge=`>=${st}.0.0 <${+st+1}.0.0-0`:Ce(ct)?ge=`>=${st}.${tt}.0 <${st}.${+tt+1}.0-0`:ne?(m("replaceTilde pr",ne),ge=`>=${st}.${tt}.${ct}-${ne} <${st}.${+tt+1}.0-0`):ge=`>=${st}.${tt}.${ct} <${st}.${+tt+1}.0-0`,m("tilde return",ge),ge})},te=(ee,je)=>ee.trim().split(/\s+/).map(nt=>he(nt,je)).join(" "),he=(ee,je)=>{m("caret",ee,je);let nt=je.loose?d[E.CARETLOOSE]:d[E.CARET],Ze=je.includePrerelease?"-0":"";return ee.replace(nt,(st,tt,ct,ne,ge)=>{m("caret",ee,st,tt,ct,ne,ge);let Fe;return Ce(tt)?Fe="":Ce(ct)?Fe=`>=${tt}.0.0${Ze} <${+tt+1}.0.0-0`:Ce(ne)?tt==="0"?Fe=`>=${tt}.${ct}.0${Ze} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.0${Ze} <${+tt+1}.0.0-0`:ge?(m("replaceCaret pr",ge),tt==="0"?ct==="0"?Fe=`>=${tt}.${ct}.${ne}-${ge} <${tt}.${ct}.${+ne+1}-0`:Fe=`>=${tt}.${ct}.${ne}-${ge} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.${ne}-${ge} <${+tt+1}.0.0-0`):(m("no pr"),tt==="0"?ct==="0"?Fe=`>=${tt}.${ct}.${ne}${Ze} <${tt}.${ct}.${+ne+1}-0`:Fe=`>=${tt}.${ct}.${ne}${Ze} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.${ne} <${+tt+1}.0.0-0`),m("caret return",Fe),Fe})},De=(ee,je)=>(m("replaceXRanges",ee,je),ee.split(/\s+/).map(nt=>R(nt,je)).join(" ")),R=(ee,je)=>{ee=ee.trim();let nt=je.loose?d[E.XRANGELOOSE]:d[E.XRANGE];return ee.replace(nt,(Ze,st,tt,ct,ne,ge)=>{m("xRange",ee,Ze,st,tt,ct,ne,ge);let Fe=Ce(tt),at=Fe||Ce(ct),Pt=at||Ce(ne),qt=Pt;return st==="="&&qt&&(st=""),ge=je.includePrerelease?"-0":"",Fe?st===">"||st==="<"?Ze="<0.0.0-0":Ze="*":st&&qt?(at&&(ct=0),ne=0,st===">"?(st=">=",at?(tt=+tt+1,ct=0,ne=0):(ct=+ct+1,ne=0)):st==="<="&&(st="<",at?tt=+tt+1:ct=+ct+1),st==="<"&&(ge="-0"),Ze=`${st+tt}.${ct}.${ne}${ge}`):at?Ze=`>=${tt}.0.0${ge} <${+tt+1}.0.0-0`:Pt&&(Ze=`>=${tt}.${ct}.0${ge} <${tt}.${+ct+1}.0-0`),m("xRange return",Ze),Ze})},pe=(ee,je)=>(m("replaceStars",ee,je),ee.trim().replace(d[E.STAR],"")),Ie=(ee,je)=>(m("replaceGTE0",ee,je),ee.trim().replace(d[je.includePrerelease?E.GTE0PRE:E.GTE0],"")),Je=ee=>(je,nt,Ze,st,tt,ct,ne,ge,Fe,at,Pt,qt,Zr)=>(Ce(Ze)?nt="":Ce(st)?nt=`>=${Ze}.0.0${ee?"-0":""}`:Ce(tt)?nt=`>=${Ze}.${st}.0${ee?"-0":""}`:ct?nt=`>=${nt}`:nt=`>=${nt}${ee?"-0":""}`,Ce(Fe)?ge="":Ce(at)?ge=`<${+Fe+1}.0.0-0`:Ce(Pt)?ge=`<${Fe}.${+at+1}.0-0`:qt?ge=`<=${Fe}.${at}.${Pt}-${qt}`:ee?ge=`<${Fe}.${at}.${+Pt+1}-0`:ge=`<=${ge}`,`${nt} ${ge}`.trim()),Xe=(ee,je,nt)=>{for(let Ze=0;Ze0){let st=ee[Ze].semver;if(st.major===je.major&&st.minor===je.minor&&st.patch===je.patch)return!0}return!1}return!0}}}),b1=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/comparator.js"(a,_){ke();var v=Symbol("SemVer ANY"),h=class{static get ANY(){return v}constructor(I,c){if(c=D(c),I instanceof h){if(I.loose===!!c.loose)return I;I=I.value}C("comparator",I,c),this.options=c,this.loose=!!c.loose,this.parse(I),this.semver===v?this.value="":this.value=this.operator+this.semver.version,C("comp",this)}parse(I){let c=this.options.loose?P[y.COMPARATORLOOSE]:P[y.COMPARATOR],M=I.match(c);if(!M)throw new TypeError(`Invalid comparator: ${I}`);this.operator=M[1]!==void 0?M[1]:"",this.operator==="="&&(this.operator=""),M[2]?this.semver=new d(M[2],this.options.loose):this.semver=v}toString(){return this.value}test(I){if(C("Comparator.test",I,this.options.loose),this.semver===v||I===v)return!0;if(typeof I=="string")try{I=new d(I,this.options)}catch{return!1}return m(I,this.operator,this.semver,this.options)}intersects(I,c){if(!(I instanceof h))throw new TypeError("a Comparator is required");if((!c||typeof c!="object")&&(c={loose:!!c,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new E(I.value,c).test(this.value);if(I.operator==="")return I.value===""?!0:new E(this.value,c).test(I.semver);let M=(this.operator===">="||this.operator===">")&&(I.operator===">="||I.operator===">"),q=(this.operator==="<="||this.operator==="<")&&(I.operator==="<="||I.operator==="<"),W=this.semver.version===I.semver.version,K=(this.operator===">="||this.operator==="<=")&&(I.operator===">="||I.operator==="<="),ce=m(this.semver,"<",I.semver,c)&&(this.operator===">="||this.operator===">")&&(I.operator==="<="||I.operator==="<"),Ce=m(this.semver,">",I.semver,c)&&(this.operator==="<="||this.operator==="<")&&(I.operator===">="||I.operator===">");return M||q||W&&K||ce||Ce}};_.exports=h;var D=y1(),{re:P,t:y}=Bc(),m=U9(),C=g1(),d=Bn(),E=ca()}}),T1=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/satisfies.js"(a,_){ke();var v=ca(),h=(D,P,y)=>{try{P=new v(P,y)}catch{return!1}return P.test(D)};_.exports=h}}),UW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/to-comparators.js"(a,_){ke();var v=ca(),h=(D,P)=>new v(D,P).set.map(y=>y.map(m=>m.value).join(" ").trim().split(" "));_.exports=h}}),zW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/max-satisfying.js"(a,_){ke();var v=Bn(),h=ca(),D=(P,y,m)=>{let C=null,d=null,E=null;try{E=new h(y,m)}catch{return null}return P.forEach(I=>{E.test(I)&&(!C||d.compare(I)===-1)&&(C=I,d=new v(C,m))}),C};_.exports=D}}),WW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-satisfying.js"(a,_){ke();var v=Bn(),h=ca(),D=(P,y,m)=>{let C=null,d=null,E=null;try{E=new h(y,m)}catch{return null}return P.forEach(I=>{E.test(I)&&(!C||d.compare(I)===1)&&(C=I,d=new v(C,m))}),C};_.exports=D}}),VW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-version.js"(a,_){ke();var v=Bn(),h=ca(),D=v1(),P=(y,m)=>{y=new h(y,m);let C=new v("0.0.0");if(y.test(C)||(C=new v("0.0.0-0"),y.test(C)))return C;C=null;for(let d=0;d{let M=new v(c.semver.version);switch(c.operator){case">":M.prerelease.length===0?M.patch++:M.prerelease.push(0),M.raw=M.format();case"":case">=":(!I||D(M,I))&&(I=M);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),I&&(!C||D(C,I))&&(C=I)}return C&&y.test(C)?C:null};_.exports=P}}),HW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/valid.js"(a,_){ke();var v=ca(),h=(D,P)=>{try{return new v(D,P).range||"*"}catch{return null}};_.exports=h}}),uT=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/outside.js"(a,_){ke();var v=Bn(),h=b1(),{ANY:D}=h,P=ca(),y=T1(),m=v1(),C=_T(),d=lT(),E=cT(),I=(c,M,q,W)=>{c=new v(c,W),M=new P(M,W);let K,ce,Ce,me,Pe;switch(q){case">":K=m,ce=d,Ce=C,me=">",Pe=">=";break;case"<":K=C,ce=E,Ce=m,me="<",Pe="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(y(c,M,W))return!1;for(let te=0;te{pe.semver===D&&(pe=new h(">=0.0.0")),De=De||pe,R=R||pe,K(pe.semver,De.semver,W)?De=pe:Ce(pe.semver,R.semver,W)&&(R=pe)}),De.operator===me||De.operator===Pe||(!R.operator||R.operator===me)&&ce(c,R.semver))return!1;if(R.operator===Pe&&Ce(c,R.semver))return!1}return!0};_.exports=I}}),GW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/gtr.js"(a,_){ke();var v=uT(),h=(D,P,y)=>v(D,P,">",y);_.exports=h}}),$W=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/ltr.js"(a,_){ke();var v=uT(),h=(D,P,y)=>v(D,P,"<",y);_.exports=h}}),KW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/intersects.js"(a,_){ke();var v=ca(),h=(D,P,y)=>(D=new v(D,y),P=new v(P,y),D.intersects(P));_.exports=h}}),XW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/simplify.js"(a,_){ke();var v=T1(),h=_a();_.exports=(D,P,y)=>{let m=[],C=null,d=null,E=D.sort((q,W)=>h(q,W,y));for(let q of E)v(q,P,y)?(d=q,C||(C=q)):(d&&m.push([C,d]),d=null,C=null);C&&m.push([C,null]);let I=[];for(let[q,W]of m)q===W?I.push(q):!W&&q===E[0]?I.push("*"):W?q===E[0]?I.push(`<=${W}`):I.push(`${q} - ${W}`):I.push(`>=${q}`);let c=I.join(" || "),M=typeof P.raw=="string"?P.raw:String(P);return c.length2&&arguments[2]!==void 0?arguments[2]:{};if(I===c)return!0;I=new v(I,M),c=new v(c,M);let q=!1;e:for(let W of I.set){for(let K of c.set){let ce=C(W,K,M);if(q=q||ce!==null,ce)continue e}if(q)return!1}return!0},C=(I,c,M)=>{if(I===c)return!0;if(I.length===1&&I[0].semver===D){if(c.length===1&&c[0].semver===D)return!0;M.includePrerelease?I=[new h(">=0.0.0-0")]:I=[new h(">=0.0.0")]}if(c.length===1&&c[0].semver===D){if(M.includePrerelease)return!0;c=[new h(">=0.0.0")]}let q=new Set,W,K;for(let R of I)R.operator===">"||R.operator===">="?W=d(W,R,M):R.operator==="<"||R.operator==="<="?K=E(K,R,M):q.add(R.semver);if(q.size>1)return null;let ce;if(W&&K){if(ce=y(W.semver,K.semver,M),ce>0)return null;if(ce===0&&(W.operator!==">="||K.operator!=="<="))return null}for(let R of q){if(W&&!P(R,String(W),M)||K&&!P(R,String(K),M))return null;for(let pe of c)if(!P(R,String(pe),M))return!1;return!0}let Ce,me,Pe,te,he=K&&!M.includePrerelease&&K.semver.prerelease.length?K.semver:!1,De=W&&!M.includePrerelease&&W.semver.prerelease.length?W.semver:!1;he&&he.prerelease.length===1&&K.operator==="<"&&he.prerelease[0]===0&&(he=!1);for(let R of c){if(te=te||R.operator===">"||R.operator===">=",Pe=Pe||R.operator==="<"||R.operator==="<=",W){if(De&&R.semver.prerelease&&R.semver.prerelease.length&&R.semver.major===De.major&&R.semver.minor===De.minor&&R.semver.patch===De.patch&&(De=!1),R.operator===">"||R.operator===">="){if(Ce=d(W,R,M),Ce===R&&Ce!==W)return!1}else if(W.operator===">="&&!P(W.semver,String(R),M))return!1}if(K){if(he&&R.semver.prerelease&&R.semver.prerelease.length&&R.semver.major===he.major&&R.semver.minor===he.minor&&R.semver.patch===he.patch&&(he=!1),R.operator==="<"||R.operator==="<="){if(me=E(K,R,M),me===R&&me!==K)return!1}else if(K.operator==="<="&&!P(K.semver,String(R),M))return!1}if(!R.operator&&(K||W)&&ce!==0)return!1}return!(W&&Pe&&!K&&ce!==0||K&&te&&!W&&ce!==0||De||he)},d=(I,c,M)=>{if(!I)return c;let q=y(I.semver,c.semver,M);return q>0?I:q<0||c.operator===">"&&I.operator===">="?c:I},E=(I,c,M)=>{if(!I)return c;let q=y(I.semver,c.semver,M);return q<0?I:q>0||c.operator==="<"&&I.operator==="<="?c:I};_.exports=m}}),pT=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/index.js"(a,_){ke();var v=Bc(),h=h1(),D=Bn(),P=B9(),y=qc(),m=CW(),C=AW(),d=PW(),E=DW(),I=kW(),c=IW(),M=NW(),q=OW(),W=_a(),K=MW(),ce=LW(),Ce=oT(),me=RW(),Pe=jW(),te=v1(),he=_T(),De=sT(),R=q9(),pe=cT(),Ie=lT(),Je=U9(),Xe=JW(),ee=b1(),je=ca(),nt=T1(),Ze=UW(),st=zW(),tt=WW(),ct=VW(),ne=HW(),ge=uT(),Fe=GW(),at=$W(),Pt=KW(),qt=XW(),Zr=YW();_.exports={parse:y,valid:m,clean:C,inc:d,diff:E,major:I,minor:c,patch:M,prerelease:q,compare:W,rcompare:K,compareLoose:ce,compareBuild:Ce,sort:me,rsort:Pe,gt:te,lt:he,eq:De,neq:R,gte:pe,lte:Ie,cmp:Je,coerce:Xe,Comparator:ee,Range:je,satisfies:nt,toComparators:Ze,maxSatisfying:st,minSatisfying:tt,minVersion:ct,validRange:ne,outside:ge,gtr:Fe,ltr:at,intersects:Pt,simplifyRange:qt,subset:Zr,SemVer:D,re:v.re,src:v.src,tokens:v.t,SEMVER_SPEC_VERSION:h.SEMVER_SPEC_VERSION,compareIdentifiers:P.compareIdentifiers,rcompareIdentifiers:P.rcompareIdentifiers}}}),S1=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/version-check.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__setModuleDefault||(Object.create?function(C,d){Object.defineProperty(C,"default",{enumerable:!0,value:d})}:function(C,d){C.default=d}),h=a&&a.__importStar||function(C){if(C&&C.__esModule)return C;var d={};if(C!=null)for(var E in C)E!=="default"&&Object.prototype.hasOwnProperty.call(C,E)&&_(d,C,E);return v(d,C),d};Object.defineProperty(a,"__esModule",{value:!0}),a.typescriptVersionIsAtLeast=void 0;var D=h(pT()),P=h(vr()),y=["3.7","3.8","3.9","4.0","4.1","4.2","4.3","4.4","4.5","4.6","4.7","4.8","4.9","5.0"],m={};a.typescriptVersionIsAtLeast=m;for(let C of y)m[C]=!0}}),fT=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E};Object.defineProperty(a,"__esModule",{value:!0}),a.getDecorators=a.getModifiers=void 0;var D=h(vr()),P=S1(),y=P.typescriptVersionIsAtLeast["4.8"];function m(d){var E;if(d!=null){if(y){if(D.canHaveModifiers(d)){let I=D.getModifiers(d);return I?Array.from(I):void 0}return}return(E=d.modifiers)===null||E===void 0?void 0:E.filter(I=>!D.isDecorator(I))}}a.getModifiers=m;function C(d){var E;if(d!=null){if(y){if(D.canHaveDecorators(d)){let I=D.getDecorators(d);return I?Array.from(I):void 0}return}return(E=d.decorators)===null||E===void 0?void 0:E.filter(D.isDecorator)}}a.getDecorators=C}}),QW=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.xhtmlEntities=void 0,a.xhtmlEntities={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}}}),z9=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var _;(function(h){h.AccessorProperty="AccessorProperty",h.ArrayExpression="ArrayExpression",h.ArrayPattern="ArrayPattern",h.ArrowFunctionExpression="ArrowFunctionExpression",h.AssignmentExpression="AssignmentExpression",h.AssignmentPattern="AssignmentPattern",h.AwaitExpression="AwaitExpression",h.BinaryExpression="BinaryExpression",h.BlockStatement="BlockStatement",h.BreakStatement="BreakStatement",h.CallExpression="CallExpression",h.CatchClause="CatchClause",h.ChainExpression="ChainExpression",h.ClassBody="ClassBody",h.ClassDeclaration="ClassDeclaration",h.ClassExpression="ClassExpression",h.ConditionalExpression="ConditionalExpression",h.ContinueStatement="ContinueStatement",h.DebuggerStatement="DebuggerStatement",h.Decorator="Decorator",h.DoWhileStatement="DoWhileStatement",h.EmptyStatement="EmptyStatement",h.ExportAllDeclaration="ExportAllDeclaration",h.ExportDefaultDeclaration="ExportDefaultDeclaration",h.ExportNamedDeclaration="ExportNamedDeclaration",h.ExportSpecifier="ExportSpecifier",h.ExpressionStatement="ExpressionStatement",h.ForInStatement="ForInStatement",h.ForOfStatement="ForOfStatement",h.ForStatement="ForStatement",h.FunctionDeclaration="FunctionDeclaration",h.FunctionExpression="FunctionExpression",h.Identifier="Identifier",h.IfStatement="IfStatement",h.ImportAttribute="ImportAttribute",h.ImportDeclaration="ImportDeclaration",h.ImportDefaultSpecifier="ImportDefaultSpecifier",h.ImportExpression="ImportExpression",h.ImportNamespaceSpecifier="ImportNamespaceSpecifier",h.ImportSpecifier="ImportSpecifier",h.JSXAttribute="JSXAttribute",h.JSXClosingElement="JSXClosingElement",h.JSXClosingFragment="JSXClosingFragment",h.JSXElement="JSXElement",h.JSXEmptyExpression="JSXEmptyExpression",h.JSXExpressionContainer="JSXExpressionContainer",h.JSXFragment="JSXFragment",h.JSXIdentifier="JSXIdentifier",h.JSXMemberExpression="JSXMemberExpression",h.JSXNamespacedName="JSXNamespacedName",h.JSXOpeningElement="JSXOpeningElement",h.JSXOpeningFragment="JSXOpeningFragment",h.JSXSpreadAttribute="JSXSpreadAttribute",h.JSXSpreadChild="JSXSpreadChild",h.JSXText="JSXText",h.LabeledStatement="LabeledStatement",h.Literal="Literal",h.LogicalExpression="LogicalExpression",h.MemberExpression="MemberExpression",h.MetaProperty="MetaProperty",h.MethodDefinition="MethodDefinition",h.NewExpression="NewExpression",h.ObjectExpression="ObjectExpression",h.ObjectPattern="ObjectPattern",h.PrivateIdentifier="PrivateIdentifier",h.Program="Program",h.Property="Property",h.PropertyDefinition="PropertyDefinition",h.RestElement="RestElement",h.ReturnStatement="ReturnStatement",h.SequenceExpression="SequenceExpression",h.SpreadElement="SpreadElement",h.StaticBlock="StaticBlock",h.Super="Super",h.SwitchCase="SwitchCase",h.SwitchStatement="SwitchStatement",h.TaggedTemplateExpression="TaggedTemplateExpression",h.TemplateElement="TemplateElement",h.TemplateLiteral="TemplateLiteral",h.ThisExpression="ThisExpression",h.ThrowStatement="ThrowStatement",h.TryStatement="TryStatement",h.UnaryExpression="UnaryExpression",h.UpdateExpression="UpdateExpression",h.VariableDeclaration="VariableDeclaration",h.VariableDeclarator="VariableDeclarator",h.WhileStatement="WhileStatement",h.WithStatement="WithStatement",h.YieldExpression="YieldExpression",h.TSAbstractAccessorProperty="TSAbstractAccessorProperty",h.TSAbstractKeyword="TSAbstractKeyword",h.TSAbstractMethodDefinition="TSAbstractMethodDefinition",h.TSAbstractPropertyDefinition="TSAbstractPropertyDefinition",h.TSAnyKeyword="TSAnyKeyword",h.TSArrayType="TSArrayType",h.TSAsExpression="TSAsExpression",h.TSAsyncKeyword="TSAsyncKeyword",h.TSBigIntKeyword="TSBigIntKeyword",h.TSBooleanKeyword="TSBooleanKeyword",h.TSCallSignatureDeclaration="TSCallSignatureDeclaration",h.TSClassImplements="TSClassImplements",h.TSConditionalType="TSConditionalType",h.TSConstructorType="TSConstructorType",h.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",h.TSDeclareFunction="TSDeclareFunction",h.TSDeclareKeyword="TSDeclareKeyword",h.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",h.TSEnumDeclaration="TSEnumDeclaration",h.TSEnumMember="TSEnumMember",h.TSExportAssignment="TSExportAssignment",h.TSExportKeyword="TSExportKeyword",h.TSExternalModuleReference="TSExternalModuleReference",h.TSFunctionType="TSFunctionType",h.TSInstantiationExpression="TSInstantiationExpression",h.TSImportEqualsDeclaration="TSImportEqualsDeclaration",h.TSImportType="TSImportType",h.TSIndexedAccessType="TSIndexedAccessType",h.TSIndexSignature="TSIndexSignature",h.TSInferType="TSInferType",h.TSInterfaceBody="TSInterfaceBody",h.TSInterfaceDeclaration="TSInterfaceDeclaration",h.TSInterfaceHeritage="TSInterfaceHeritage",h.TSIntersectionType="TSIntersectionType",h.TSIntrinsicKeyword="TSIntrinsicKeyword",h.TSLiteralType="TSLiteralType",h.TSMappedType="TSMappedType",h.TSMethodSignature="TSMethodSignature",h.TSModuleBlock="TSModuleBlock",h.TSModuleDeclaration="TSModuleDeclaration",h.TSNamedTupleMember="TSNamedTupleMember",h.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",h.TSNeverKeyword="TSNeverKeyword",h.TSNonNullExpression="TSNonNullExpression",h.TSNullKeyword="TSNullKeyword",h.TSNumberKeyword="TSNumberKeyword",h.TSObjectKeyword="TSObjectKeyword",h.TSOptionalType="TSOptionalType",h.TSParameterProperty="TSParameterProperty",h.TSPrivateKeyword="TSPrivateKeyword",h.TSPropertySignature="TSPropertySignature",h.TSProtectedKeyword="TSProtectedKeyword",h.TSPublicKeyword="TSPublicKeyword",h.TSQualifiedName="TSQualifiedName",h.TSReadonlyKeyword="TSReadonlyKeyword",h.TSRestType="TSRestType",h.TSSatisfiesExpression="TSSatisfiesExpression",h.TSStaticKeyword="TSStaticKeyword",h.TSStringKeyword="TSStringKeyword",h.TSSymbolKeyword="TSSymbolKeyword",h.TSTemplateLiteralType="TSTemplateLiteralType",h.TSThisType="TSThisType",h.TSTupleType="TSTupleType",h.TSTypeAliasDeclaration="TSTypeAliasDeclaration",h.TSTypeAnnotation="TSTypeAnnotation",h.TSTypeAssertion="TSTypeAssertion",h.TSTypeLiteral="TSTypeLiteral",h.TSTypeOperator="TSTypeOperator",h.TSTypeParameter="TSTypeParameter",h.TSTypeParameterDeclaration="TSTypeParameterDeclaration",h.TSTypeParameterInstantiation="TSTypeParameterInstantiation",h.TSTypePredicate="TSTypePredicate",h.TSTypeQuery="TSTypeQuery",h.TSTypeReference="TSTypeReference",h.TSUndefinedKeyword="TSUndefinedKeyword",h.TSUnionType="TSUnionType",h.TSUnknownKeyword="TSUnknownKeyword",h.TSVoidKeyword="TSVoidKeyword"})(_=a.AST_NODE_TYPES||(a.AST_NODE_TYPES={}));var v;(function(h){h.Boolean="Boolean",h.Identifier="Identifier",h.JSXIdentifier="JSXIdentifier",h.JSXText="JSXText",h.Keyword="Keyword",h.Null="Null",h.Numeric="Numeric",h.Punctuator="Punctuator",h.RegularExpression="RegularExpression",h.String="String",h.Template="Template",h.Block="Block",h.Line="Line"})(v=a.AST_TOKEN_TYPES||(a.AST_TOKEN_TYPES={}))}}),ZW=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/lib.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0})}}),eV=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/parser-options.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0})}}),tV=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/ts-estree.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__setModuleDefault||(Object.create?function(D,P){Object.defineProperty(D,"default",{enumerable:!0,value:P})}:function(D,P){D.default=P}),h=a&&a.__importStar||function(D){if(D&&D.__esModule)return D;var P={};if(D!=null)for(var y in D)y!=="default"&&Object.prototype.hasOwnProperty.call(D,y)&&_(P,D,y);return v(P,D),P};Object.defineProperty(a,"__esModule",{value:!0}),a.TSESTree=void 0,a.TSESTree=h(z9())}}),rV=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/index.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__exportStar||function(D,P){for(var y in D)y!=="default"&&!Object.prototype.hasOwnProperty.call(P,y)&&_(P,D,y)};Object.defineProperty(a,"__esModule",{value:!0}),a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var h=z9();Object.defineProperty(a,"AST_NODE_TYPES",{enumerable:!0,get:function(){return h.AST_NODE_TYPES}}),Object.defineProperty(a,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return h.AST_TOKEN_TYPES}}),v(ZW(),a),v(eV(),a),v(tV(),a)}}),nV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0})}}),iV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0})}}),x1=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__exportStar||function(D,P){for(var y in D)y!=="default"&&!Object.prototype.hasOwnProperty.call(P,y)&&_(P,D,y)};Object.defineProperty(a,"__esModule",{value:!0}),a.TSESTree=a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var h=rV();Object.defineProperty(a,"AST_NODE_TYPES",{enumerable:!0,get:function(){return h.AST_NODE_TYPES}}),Object.defineProperty(a,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return h.AST_TOKEN_TYPES}}),Object.defineProperty(a,"TSESTree",{enumerable:!0,get:function(){return h.TSESTree}}),v(nV(),a),v(iV(),a)}}),E1=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(be,Ke,Et,Ft){Ft===void 0&&(Ft=Et);var or=Object.getOwnPropertyDescriptor(Ke,Et);(!or||("get"in or?!Ke.__esModule:or.writable||or.configurable))&&(or={enumerable:!0,get:function(){return Ke[Et]}}),Object.defineProperty(be,Ft,or)}:function(be,Ke,Et,Ft){Ft===void 0&&(Ft=Et),be[Ft]=Ke[Et]}),v=a&&a.__setModuleDefault||(Object.create?function(be,Ke){Object.defineProperty(be,"default",{enumerable:!0,value:Ke})}:function(be,Ke){be.default=Ke}),h=a&&a.__importStar||function(be){if(be&&be.__esModule)return be;var Ke={};if(be!=null)for(var Et in be)Et!=="default"&&Object.prototype.hasOwnProperty.call(be,Et)&&_(Ke,be,Et);return v(Ke,be),Ke};Object.defineProperty(a,"__esModule",{value:!0}),a.isThisInTypeQuery=a.isThisIdentifier=a.identifierIsThisKeyword=a.firstDefined=a.nodeHasTokens=a.createError=a.TSError=a.convertTokens=a.convertToken=a.getTokenType=a.isChildUnwrappableOptionalChain=a.isChainExpression=a.isOptional=a.isComputedProperty=a.unescapeStringLiteralText=a.hasJSXAncestor=a.findFirstMatchingAncestor=a.findNextToken=a.getTSNodeAccessibility=a.getDeclarationKind=a.isJSXToken=a.isToken=a.getRange=a.canContainDirective=a.getLocFor=a.getLineAndCharacterFor=a.getBinaryExpressionType=a.isJSDocComment=a.isComment=a.isComma=a.getLastModifier=a.hasModifier=a.isESTreeClassMember=a.getTextForTokenKind=a.isLogicalOperator=a.isAssignmentOperator=void 0;var D=h(vr()),P=fT(),y=QW(),m=x1(),C=S1(),d=C.typescriptVersionIsAtLeast["5.0"],E=D.SyntaxKind,I=[E.BarBarToken,E.AmpersandAmpersandToken,E.QuestionQuestionToken];function c(be){return be.kind>=E.FirstAssignment&&be.kind<=E.LastAssignment}a.isAssignmentOperator=c;function M(be){return I.includes(be.kind)}a.isLogicalOperator=M;function q(be){return D.tokenToString(be)}a.getTextForTokenKind=q;function W(be){return be.kind!==E.SemicolonClassElement}a.isESTreeClassMember=W;function K(be,Ke){let Et=(0,P.getModifiers)(Ke);return(Et==null?void 0:Et.some(Ft=>Ft.kind===be))===!0}a.hasModifier=K;function ce(be){var Ke;let Et=(0,P.getModifiers)(be);return Et==null?null:(Ke=Et[Et.length-1])!==null&&Ke!==void 0?Ke:null}a.getLastModifier=ce;function Ce(be){return be.kind===E.CommaToken}a.isComma=Ce;function me(be){return be.kind===E.SingleLineCommentTrivia||be.kind===E.MultiLineCommentTrivia}a.isComment=me;function Pe(be){return be.kind===E.JSDocComment}a.isJSDocComment=Pe;function te(be){return c(be)?m.AST_NODE_TYPES.AssignmentExpression:M(be)?m.AST_NODE_TYPES.LogicalExpression:m.AST_NODE_TYPES.BinaryExpression}a.getBinaryExpressionType=te;function he(be,Ke){let Et=Ke.getLineAndCharacterOfPosition(be);return{line:Et.line+1,column:Et.character}}a.getLineAndCharacterFor=he;function De(be,Ke,Et){return{start:he(be,Et),end:he(Ke,Et)}}a.getLocFor=De;function R(be){if(be.kind===D.SyntaxKind.Block)switch(be.parent.kind){case D.SyntaxKind.Constructor:case D.SyntaxKind.GetAccessor:case D.SyntaxKind.SetAccessor:case D.SyntaxKind.ArrowFunction:case D.SyntaxKind.FunctionExpression:case D.SyntaxKind.FunctionDeclaration:case D.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0}a.canContainDirective=R;function pe(be,Ke){return[be.getStart(Ke),be.getEnd()]}a.getRange=pe;function Ie(be){return be.kind>=E.FirstToken&&be.kind<=E.LastToken}a.isToken=Ie;function Je(be){return be.kind>=E.JsxElement&&be.kind<=E.JsxAttribute}a.isJSXToken=Je;function Xe(be){return be.flags&D.NodeFlags.Let?"let":be.flags&D.NodeFlags.Const?"const":"var"}a.getDeclarationKind=Xe;function ee(be){let Ke=(0,P.getModifiers)(be);if(Ke==null)return null;for(let Et of Ke)switch(Et.kind){case E.PublicKeyword:return"public";case E.ProtectedKeyword:return"protected";case E.PrivateKeyword:return"private";default:break}return null}a.getTSNodeAccessibility=ee;function je(be,Ke,Et){return Ft(Ke);function Ft(or){return D.isToken(or)&&or.pos===be.end?or:la(or.getChildren(Et),Wr=>(Wr.pos<=be.pos&&Wr.end>be.end||Wr.pos===be.end)&&Ri(Wr,Et)?Ft(Wr):void 0)}}a.findNextToken=je;function nt(be,Ke){for(;be;){if(Ke(be))return be;be=be.parent}}a.findFirstMatchingAncestor=nt;function Ze(be){return!!nt(be,Je)}a.hasJSXAncestor=Ze;function st(be){return be.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,Ke=>{let Et=Ke.slice(1,-1);if(Et[0]==="#"){let Ft=Et[1]==="x"?parseInt(Et.slice(2),16):parseInt(Et.slice(1),10);return Ft>1114111?Ke:String.fromCodePoint(Ft)}return y.xhtmlEntities[Et]||Ke})}a.unescapeStringLiteralText=st;function tt(be){return be.kind===E.ComputedPropertyName}a.isComputedProperty=tt;function ct(be){return be.questionToken?be.questionToken.kind===E.QuestionToken:!1}a.isOptional=ct;function ne(be){return be.type===m.AST_NODE_TYPES.ChainExpression}a.isChainExpression=ne;function ge(be,Ke){return ne(Ke)&&be.expression.kind!==D.SyntaxKind.ParenthesizedExpression}a.isChildUnwrappableOptionalChain=ge;function Fe(be){let Ke;if(d&&be.kind===E.Identifier?Ke=D.identifierToKeywordKind(be):"originalKeywordKind"in be&&(Ke=be.originalKeywordKind),Ke)return Ke===E.NullKeyword?m.AST_TOKEN_TYPES.Null:Ke>=E.FirstFutureReservedWord&&Ke<=E.LastKeyword?m.AST_TOKEN_TYPES.Identifier:m.AST_TOKEN_TYPES.Keyword;if(be.kind>=E.FirstKeyword&&be.kind<=E.LastFutureReservedWord)return be.kind===E.FalseKeyword||be.kind===E.TrueKeyword?m.AST_TOKEN_TYPES.Boolean:m.AST_TOKEN_TYPES.Keyword;if(be.kind>=E.FirstPunctuation&&be.kind<=E.LastPunctuation)return m.AST_TOKEN_TYPES.Punctuator;if(be.kind>=E.NoSubstitutionTemplateLiteral&&be.kind<=E.TemplateTail)return m.AST_TOKEN_TYPES.Template;switch(be.kind){case E.NumericLiteral:return m.AST_TOKEN_TYPES.Numeric;case E.JsxText:return m.AST_TOKEN_TYPES.JSXText;case E.StringLiteral:return be.parent&&(be.parent.kind===E.JsxAttribute||be.parent.kind===E.JsxElement)?m.AST_TOKEN_TYPES.JSXText:m.AST_TOKEN_TYPES.String;case E.RegularExpressionLiteral:return m.AST_TOKEN_TYPES.RegularExpression;case E.Identifier:case E.ConstructorKeyword:case E.GetKeyword:case E.SetKeyword:default:}return be.parent&&be.kind===E.Identifier&&(Je(be.parent)||be.parent.kind===E.PropertyAccessExpression&&Ze(be))?m.AST_TOKEN_TYPES.JSXIdentifier:m.AST_TOKEN_TYPES.Identifier}a.getTokenType=Fe;function at(be,Ke){let Et=be.kind===E.JsxText?be.getFullStart():be.getStart(Ke),Ft=be.getEnd(),or=Ke.text.slice(Et,Ft),Wr=Fe(be);return Wr===m.AST_TOKEN_TYPES.RegularExpression?{type:Wr,value:or,range:[Et,Ft],loc:De(Et,Ft,Ke),regex:{pattern:or.slice(1,or.lastIndexOf("/")),flags:or.slice(or.lastIndexOf("/")+1)}}:{type:Wr,value:or,range:[Et,Ft],loc:De(Et,Ft,Ke)}}a.convertToken=at;function Pt(be){let Ke=[];function Et(Ft){if(!(me(Ft)||Pe(Ft)))if(Ie(Ft)&&Ft.kind!==E.EndOfFileToken){let or=at(Ft,be);or&&Ke.push(or)}else Ft.getChildren(be).forEach(Et)}return Et(be),Ke}a.convertTokens=Pt;var qt=class extends Error{constructor(be,Ke,Et,Ft,or){super(be),this.fileName=Ke,this.index=Et,this.lineNumber=Ft,this.column=or,Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0})}};a.TSError=qt;function Zr(be,Ke,Et){let Ft=be.getLineAndCharacterOfPosition(Ke);return new qt(Et,be.fileName,Ke,Ft.line+1,Ft.character)}a.createError=Zr;function Ri(be,Ke){return be.kind===E.EndOfFileToken?!!be.jsDoc:be.getWidth(Ke)!==0}a.nodeHasTokens=Ri;function la(be,Ke){if(be!==void 0)for(let Et=0;Et{let K=this.convertChild(W);if(q)if(K!=null&&K.expression&&D.isExpressionStatement(W)&&D.isStringLiteral(W.expression)){let ce=K.expression.raw;return K.directive=ce.slice(1,-1),K}else q=!1;return K}).filter(W=>W)}convertTypeArgumentsToTypeParameters(c,M){let q=(0,y.findNextToken)(c,this.ast,this.ast);return this.createNode(M,{type:m.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[c.pos-1,q.end],params:c.map(W=>this.convertType(W))})}convertTSTypeParametersToTypeParametersDeclaration(c){let M=(0,y.findNextToken)(c,this.ast,this.ast);return{type:m.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[c.pos-1,M.end],loc:(0,y.getLocFor)(c.pos-1,M.end,this.ast),params:c.map(q=>this.convertType(q))}}convertParameters(c){return c!=null&&c.length?c.map(M=>{let q=this.convertChild(M),W=(0,P.getDecorators)(M);return W!=null&&W.length&&(q.decorators=W.map(K=>this.convertChild(K))),q}):[]}convertChainExpression(c,M){let{child:q,isOptional:W}=(()=>c.type===m.AST_NODE_TYPES.MemberExpression?{child:c.object,isOptional:c.optional}:c.type===m.AST_NODE_TYPES.CallExpression?{child:c.callee,isOptional:c.optional}:{child:c.expression,isOptional:!1})(),K=(0,y.isChildUnwrappableOptionalChain)(M,q);if(!K&&!W)return c;if(K&&(0,y.isChainExpression)(q)){let ce=q.expression;c.type===m.AST_NODE_TYPES.MemberExpression?c.object=ce:c.type===m.AST_NODE_TYPES.CallExpression?c.callee=ce:c.expression=ce}return this.createNode(M,{type:m.AST_NODE_TYPES.ChainExpression,expression:c})}deeplyCopy(c){if(c.kind===D.SyntaxKind.JSDocFunctionType)throw(0,y.createError)(this.ast,c.pos,"JSDoc types can only be used inside documentation comments.");let M=`TS${d[c.kind]}`;if(this.options.errorOnUnknownASTType&&!m.AST_NODE_TYPES[M])throw new Error(`Unknown AST_NODE_TYPE: "${M}"`);let q=this.createNode(c,{type:M});"type"in c&&(q.typeAnnotation=c.type&&"kind"in c.type&&D.isTypeNode(c.type)?this.convertTypeAnnotation(c.type,c):null),"typeArguments"in c&&(q.typeParameters=c.typeArguments&&"pos"in c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):null),"typeParameters"in c&&(q.typeParameters=c.typeParameters&&"pos"in c.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters):null);let W=(0,P.getDecorators)(c);W!=null&&W.length&&(q.decorators=W.map(ce=>this.convertChild(ce)));let K=new Set(["_children","decorators","end","flags","illegalDecorators","heritageClauses","locals","localSymbol","jsDoc","kind","modifierFlagsCache","modifiers","nextContainer","parent","pos","symbol","transformFlags","type","typeArguments","typeParameters"]);return Object.entries(c).filter(ce=>{let[Ce]=ce;return!K.has(Ce)}).forEach(ce=>{let[Ce,me]=ce;Array.isArray(me)?q[Ce]=me.map(Pe=>this.convertChild(Pe)):me&&typeof me=="object"&&me.kind?q[Ce]=this.convertChild(me):q[Ce]=me}),q}convertJSXIdentifier(c){let M=this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:c.getText()});return this.registerTSNodeInNodeMap(c,M),M}convertJSXNamespaceOrIdentifier(c){let M=c.getText(),q=M.indexOf(":");if(q>0){let W=(0,y.getRange)(c,this.ast),K=this.createNode(c,{type:m.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:M.slice(0,q),range:[W[0],W[0]+q]}),name:this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:M.slice(q+1),range:[W[0]+q+1,W[1]]}),range:W});return this.registerTSNodeInNodeMap(c,K),K}return this.convertJSXIdentifier(c)}convertJSXTagName(c,M){let q;switch(c.kind){case d.PropertyAccessExpression:if(c.name.kind===d.PrivateIdentifier)throw new Error("Non-private identifier expected.");q=this.createNode(c,{type:m.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(c.expression,M),property:this.convertJSXIdentifier(c.name)});break;case d.ThisKeyword:case d.Identifier:default:return this.convertJSXNamespaceOrIdentifier(c)}return this.registerTSNodeInNodeMap(c,q),q}convertMethodSignature(c){let M=this.createNode(c,{type:m.AST_NODE_TYPES.TSMethodSignature,computed:(0,y.isComputedProperty)(c.name),key:this.convertChild(c.name),params:this.convertParameters(c.parameters),kind:(()=>{switch(c.kind){case d.GetAccessor:return"get";case d.SetAccessor:return"set";case d.MethodSignature:return"method"}})()});(0,y.isOptional)(c)&&(M.optional=!0),c.type&&(M.returnType=this.convertTypeAnnotation(c.type,c)),(0,y.hasModifier)(d.ReadonlyKeyword,c)&&(M.readonly=!0),c.typeParameters&&(M.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters));let q=(0,y.getTSNodeAccessibility)(c);return q&&(M.accessibility=q),(0,y.hasModifier)(d.ExportKeyword,c)&&(M.export=!0),(0,y.hasModifier)(d.StaticKeyword,c)&&(M.static=!0),M}convertAssertClasue(c){return c===void 0?[]:c.elements.map(M=>this.convertChild(M))}applyModifiersToResult(c,M){if(!M)return;let q=[];for(let W of M)switch(W.kind){case d.ExportKeyword:case d.DefaultKeyword:break;case d.ConstKeyword:c.const=!0;break;case d.DeclareKeyword:c.declare=!0;break;default:q.push(this.convertChild(W));break}q.length>0&&(c.modifiers=q)}fixParentLocation(c,M){M[0]c.range[1]&&(c.range[1]=M[1],c.loc.end=(0,y.getLineAndCharacterFor)(c.range[1],this.ast))}assertModuleSpecifier(c,M){var q;if(!M&&c.moduleSpecifier==null)throw(0,y.createError)(this.ast,c.pos,"Module specifier must be a string literal.");if(c.moduleSpecifier&&((q=c.moduleSpecifier)===null||q===void 0?void 0:q.kind)!==d.StringLiteral)throw(0,y.createError)(this.ast,c.moduleSpecifier.pos,"Module specifier must be a string literal.")}convertNode(c,M){var q,W,K,ce,Ce,me,Pe,te,he,De;switch(c.kind){case d.SourceFile:return this.createNode(c,{type:m.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(c.statements,c),sourceType:c.externalModuleIndicator?"module":"script",range:[c.getStart(this.ast),c.endOfFileToken.end]});case d.Block:return this.createNode(c,{type:m.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(c.statements,c)});case d.Identifier:return(0,y.isThisInTypeQuery)(c)?this.createNode(c,{type:m.AST_NODE_TYPES.ThisExpression}):this.createNode(c,{type:m.AST_NODE_TYPES.Identifier,name:c.text});case d.PrivateIdentifier:return this.createNode(c,{type:m.AST_NODE_TYPES.PrivateIdentifier,name:c.text.slice(1)});case d.WithStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.WithStatement,object:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ReturnStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(c.expression)});case d.LabeledStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(c.label),body:this.convertChild(c.statement)});case d.ContinueStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(c.label)});case d.BreakStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.BreakStatement,label:this.convertChild(c.label)});case d.IfStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.IfStatement,test:this.convertChild(c.expression),consequent:this.convertChild(c.thenStatement),alternate:this.convertChild(c.elseStatement)});case d.SwitchStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(c.expression),cases:c.caseBlock.clauses.map(R=>this.convertChild(R))});case d.CaseClause:case d.DefaultClause:return this.createNode(c,{type:m.AST_NODE_TYPES.SwitchCase,test:c.kind===d.CaseClause?this.convertChild(c.expression):null,consequent:c.statements.map(R=>this.convertChild(R))});case d.ThrowStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(c.expression)});case d.TryStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.TryStatement,block:this.convertChild(c.tryBlock),handler:this.convertChild(c.catchClause),finalizer:this.convertChild(c.finallyBlock)});case d.CatchClause:return this.createNode(c,{type:m.AST_NODE_TYPES.CatchClause,param:c.variableDeclaration?this.convertBindingNameWithTypeAnnotation(c.variableDeclaration.name,c.variableDeclaration.type):null,body:this.convertChild(c.block)});case d.WhileStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.WhileStatement,test:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.DoStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ForStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForStatement,init:this.convertChild(c.initializer),test:this.convertChild(c.condition),update:this.convertChild(c.incrementor),body:this.convertChild(c.statement)});case d.ForInStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(c.initializer),right:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ForOfStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(c.initializer),right:this.convertChild(c.expression),body:this.convertChild(c.statement),await:Boolean(c.awaitModifier&&c.awaitModifier.kind===d.AwaitKeyword)});case d.FunctionDeclaration:{let R=(0,y.hasModifier)(d.DeclareKeyword,c),pe=this.createNode(c,{type:R||!c.body?m.AST_NODE_TYPES.TSDeclareFunction:m.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(c.name),generator:!!c.asteriskToken,expression:!1,async:(0,y.hasModifier)(d.AsyncKeyword,c),params:this.convertParameters(c.parameters),body:this.convertChild(c.body)||void 0});return c.type&&(pe.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R&&(pe.declare=!0),this.fixExports(c,pe)}case d.VariableDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(c.name,c.type,c),init:this.convertChild(c.initializer)});return c.exclamationToken&&(R.definite=!0),R}case d.VariableStatement:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclaration,declarations:c.declarationList.declarations.map(pe=>this.convertChild(pe)),kind:(0,y.getDeclarationKind)(c.declarationList)});return(0,y.hasModifier)(d.DeclareKeyword,c)&&(R.declare=!0),this.fixExports(c,R)}case d.VariableDeclarationList:return this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclaration,declarations:c.declarations.map(R=>this.convertChild(R)),kind:(0,y.getDeclarationKind)(c)});case d.ExpressionStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(c.expression)});case d.ThisKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.ThisExpression});case d.ArrayLiteralExpression:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.ArrayPattern,elements:c.elements.map(R=>this.convertPattern(R))}):this.createNode(c,{type:m.AST_NODE_TYPES.ArrayExpression,elements:c.elements.map(R=>this.convertChild(R))});case d.ObjectLiteralExpression:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.ObjectPattern,properties:c.properties.map(R=>this.convertPattern(R))}):this.createNode(c,{type:m.AST_NODE_TYPES.ObjectExpression,properties:c.properties.map(R=>this.convertChild(R))});case d.PropertyAssignment:return this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.converter(c.initializer,c,this.inTypeMode,this.allowPattern),computed:(0,y.isComputedProperty)(c.name),method:!1,shorthand:!1,kind:"init"});case d.ShorthandPropertyAssignment:return c.objectAssignmentInitializer?this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(c.name),right:this.convertChild(c.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.convertChild(c.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case d.ComputedPropertyName:return this.convertChild(c.expression);case d.PropertyDeclaration:{let R=(0,y.hasModifier)(d.AbstractKeyword,c),pe=(0,y.hasModifier)(d.AccessorKeyword,c),Ie=(()=>pe?R?m.AST_NODE_TYPES.TSAbstractAccessorProperty:m.AST_NODE_TYPES.AccessorProperty:R?m.AST_NODE_TYPES.TSAbstractPropertyDefinition:m.AST_NODE_TYPES.PropertyDefinition)(),Je=this.createNode(c,{type:Ie,key:this.convertChild(c.name),value:R?null:this.convertChild(c.initializer),computed:(0,y.isComputedProperty)(c.name),static:(0,y.hasModifier)(d.StaticKeyword,c),readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,declare:(0,y.hasModifier)(d.DeclareKeyword,c),override:(0,y.hasModifier)(d.OverrideKeyword,c)});c.type&&(Je.typeAnnotation=this.convertTypeAnnotation(c.type,c));let Xe=(0,P.getDecorators)(c);Xe&&(Je.decorators=Xe.map(je=>this.convertChild(je)));let ee=(0,y.getTSNodeAccessibility)(c);return ee&&(Je.accessibility=ee),(c.name.kind===d.Identifier||c.name.kind===d.ComputedPropertyName||c.name.kind===d.PrivateIdentifier)&&c.questionToken&&(Je.optional=!0),c.exclamationToken&&(Je.definite=!0),Je.key.type===m.AST_NODE_TYPES.Literal&&c.questionToken&&(Je.optional=!0),Je}case d.GetAccessor:case d.SetAccessor:if(c.parent.kind===d.InterfaceDeclaration||c.parent.kind===d.TypeLiteral)return this.convertMethodSignature(c);case d.MethodDeclaration:{let R=this.createNode(c,{type:c.body?m.AST_NODE_TYPES.FunctionExpression:m.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!c.asteriskToken,expression:!1,async:(0,y.hasModifier)(d.AsyncKeyword,c),body:this.convertChild(c.body),range:[c.parameters.pos-1,c.end],params:[]});c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters),this.fixParentLocation(R,R.typeParameters.range));let pe;if(M.kind===d.ObjectLiteralExpression)R.params=c.parameters.map(Ie=>this.convertChild(Ie)),pe=this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:R,computed:(0,y.isComputedProperty)(c.name),method:c.kind===d.MethodDeclaration,shorthand:!1,kind:"init"});else{R.params=this.convertParameters(c.parameters);let Ie=(0,y.hasModifier)(d.AbstractKeyword,c)?m.AST_NODE_TYPES.TSAbstractMethodDefinition:m.AST_NODE_TYPES.MethodDefinition;pe=this.createNode(c,{type:Ie,key:this.convertChild(c.name),value:R,computed:(0,y.isComputedProperty)(c.name),static:(0,y.hasModifier)(d.StaticKeyword,c),kind:"method",override:(0,y.hasModifier)(d.OverrideKeyword,c)});let Je=(0,P.getDecorators)(c);Je&&(pe.decorators=Je.map(ee=>this.convertChild(ee)));let Xe=(0,y.getTSNodeAccessibility)(c);Xe&&(pe.accessibility=Xe)}return c.questionToken&&(pe.optional=!0),c.kind===d.GetAccessor?pe.kind="get":c.kind===d.SetAccessor?pe.kind="set":!pe.static&&c.name.kind===d.StringLiteral&&c.name.text==="constructor"&&pe.type!==m.AST_NODE_TYPES.Property&&(pe.kind="constructor"),pe}case d.Constructor:{let R=(0,y.getLastModifier)(c),pe=R&&(0,y.findNextToken)(R,c,this.ast)||c.getFirstToken(),Ie=this.createNode(c,{type:c.body?m.AST_NODE_TYPES.FunctionExpression:m.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(c.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(c.body),range:[c.parameters.pos-1,c.end]});c.typeParameters&&(Ie.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters),this.fixParentLocation(Ie,Ie.typeParameters.range)),c.type&&(Ie.returnType=this.convertTypeAnnotation(c.type,c));let Je=this.createNode(c,{type:m.AST_NODE_TYPES.Identifier,name:"constructor",range:[pe.getStart(this.ast),pe.end]}),Xe=(0,y.hasModifier)(d.StaticKeyword,c),ee=this.createNode(c,{type:(0,y.hasModifier)(d.AbstractKeyword,c)?m.AST_NODE_TYPES.TSAbstractMethodDefinition:m.AST_NODE_TYPES.MethodDefinition,key:Je,value:Ie,computed:!1,static:Xe,kind:Xe?"method":"constructor",override:!1}),je=(0,y.getTSNodeAccessibility)(c);return je&&(ee.accessibility=je),ee}case d.FunctionExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(c.name),generator:!!c.asteriskToken,params:this.convertParameters(c.parameters),body:this.convertChild(c.body),async:(0,y.hasModifier)(d.AsyncKeyword,c),expression:!1});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.SuperKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Super});case d.ArrayBindingPattern:return this.createNode(c,{type:m.AST_NODE_TYPES.ArrayPattern,elements:c.elements.map(R=>this.convertPattern(R))});case d.OmittedExpression:return null;case d.ObjectBindingPattern:return this.createNode(c,{type:m.AST_NODE_TYPES.ObjectPattern,properties:c.elements.map(R=>this.convertPattern(R))});case d.BindingElement:if(M.kind===d.ArrayBindingPattern){let R=this.convertChild(c.name,M);return c.initializer?this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:R,right:this.convertChild(c.initializer)}):c.dotDotDotToken?this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:R}):R}else{let R;return c.dotDotDotToken?R=this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertChild((q=c.propertyName)!==null&&q!==void 0?q:c.name)}):R=this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild((W=c.propertyName)!==null&&W!==void 0?W:c.name),value:this.convertChild(c.name),computed:Boolean(c.propertyName&&c.propertyName.kind===d.ComputedPropertyName),method:!1,shorthand:!c.propertyName,kind:"init"}),c.initializer&&(R.value=this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(c.name),right:this.convertChild(c.initializer),range:[c.name.getStart(this.ast),c.initializer.end]})),R}case d.ArrowFunction:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(c.parameters),body:this.convertChild(c.body),async:(0,y.hasModifier)(d.AsyncKeyword,c),expression:c.body.kind!==d.Block});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.YieldExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.YieldExpression,delegate:!!c.asteriskToken,argument:this.convertChild(c.expression)});case d.AwaitExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(c.expression)});case d.NoSubstitutionTemplateLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(c,{type:m.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(c.getStart(this.ast)+1,c.end-1),cooked:c.text},tail:!0})],expressions:[]});case d.TemplateExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(c.head)],expressions:[]});return c.templateSpans.forEach(pe=>{R.expressions.push(this.convertChild(pe.expression)),R.quasis.push(this.convertChild(pe.literal))}),R}case d.TaggedTemplateExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,tag:this.convertChild(c.tag),quasi:this.convertChild(c.template)});case d.TemplateHead:case d.TemplateMiddle:case d.TemplateTail:{let R=c.kind===d.TemplateTail;return this.createNode(c,{type:m.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(c.getStart(this.ast)+1,c.end-(R?1:2)),cooked:c.text},tail:R})}case d.SpreadAssignment:case d.SpreadElement:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertPattern(c.expression)}):this.createNode(c,{type:m.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(c.expression)});case d.Parameter:{let R,pe;return c.dotDotDotToken?R=pe=this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertChild(c.name)}):c.initializer?(R=this.convertChild(c.name),pe=this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:R,right:this.convertChild(c.initializer)}),(0,P.getModifiers)(c)&&(pe.range[0]=R.range[0],pe.loc=(0,y.getLocFor)(pe.range[0],pe.range[1],this.ast))):R=pe=this.convertChild(c.name,M),c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c),this.fixParentLocation(R,R.typeAnnotation.range)),c.questionToken&&(c.questionToken.end>R.range[1]&&(R.range[1]=c.questionToken.end,R.loc.end=(0,y.getLineAndCharacterFor)(R.range[1],this.ast)),R.optional=!0),(0,P.getModifiers)(c)?this.createNode(c,{type:m.AST_NODE_TYPES.TSParameterProperty,accessibility:(K=(0,y.getTSNodeAccessibility)(c))!==null&&K!==void 0?K:void 0,readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,static:(0,y.hasModifier)(d.StaticKeyword,c)||void 0,export:(0,y.hasModifier)(d.ExportKeyword,c)||void 0,override:(0,y.hasModifier)(d.OverrideKeyword,c)||void 0,parameter:pe}):pe}case d.ClassDeclaration:case d.ClassExpression:{let R=(ce=c.heritageClauses)!==null&&ce!==void 0?ce:[],pe=c.kind===d.ClassDeclaration?m.AST_NODE_TYPES.ClassDeclaration:m.AST_NODE_TYPES.ClassExpression,Ie=R.find(nt=>nt.token===d.ExtendsKeyword),Je=R.find(nt=>nt.token===d.ImplementsKeyword),Xe=this.createNode(c,{type:pe,id:this.convertChild(c.name),body:this.createNode(c,{type:m.AST_NODE_TYPES.ClassBody,body:[],range:[c.members.pos-1,c.end]}),superClass:Ie!=null&&Ie.types[0]?this.convertChild(Ie.types[0].expression):null});if(Ie){if(Ie.types.length>1)throw(0,y.createError)(this.ast,Ie.types[1].pos,"Classes can only extend a single class.");!((Ce=Ie.types[0])===null||Ce===void 0)&&Ce.typeArguments&&(Xe.superTypeParameters=this.convertTypeArgumentsToTypeParameters(Ie.types[0].typeArguments,Ie.types[0]))}c.typeParameters&&(Xe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),Je&&(Xe.implements=Je.types.map(nt=>this.convertChild(nt))),(0,y.hasModifier)(d.AbstractKeyword,c)&&(Xe.abstract=!0),(0,y.hasModifier)(d.DeclareKeyword,c)&&(Xe.declare=!0);let ee=(0,P.getDecorators)(c);ee&&(Xe.decorators=ee.map(nt=>this.convertChild(nt)));let je=c.members.filter(y.isESTreeClassMember);return je.length&&(Xe.body.body=je.map(nt=>this.convertChild(nt))),this.fixExports(c,Xe)}case d.ModuleBlock:return this.createNode(c,{type:m.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(c.statements,c)});case d.ImportDeclaration:{this.assertModuleSpecifier(c,!1);let R=this.createNode(c,{type:m.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(c.moduleSpecifier),specifiers:[],importKind:"value",assertions:this.convertAssertClasue(c.assertClause)});if(c.importClause&&(c.importClause.isTypeOnly&&(R.importKind="type"),c.importClause.name&&R.specifiers.push(this.convertChild(c.importClause)),c.importClause.namedBindings))switch(c.importClause.namedBindings.kind){case d.NamespaceImport:R.specifiers.push(this.convertChild(c.importClause.namedBindings));break;case d.NamedImports:R.specifiers=R.specifiers.concat(c.importClause.namedBindings.elements.map(pe=>this.convertChild(pe)));break}return R}case d.NamespaceImport:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(c.name)});case d.ImportSpecifier:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(c.name),imported:this.convertChild((me=c.propertyName)!==null&&me!==void 0?me:c.name),importKind:c.isTypeOnly?"type":"value"});case d.ImportClause:{let R=this.convertChild(c.name);return this.createNode(c,{type:m.AST_NODE_TYPES.ImportDefaultSpecifier,local:R,range:R.range})}case d.ExportDeclaration:return((Pe=c.exportClause)===null||Pe===void 0?void 0:Pe.kind)===d.NamedExports?(this.assertModuleSpecifier(c,!0),this.createNode(c,{type:m.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(c.moduleSpecifier),specifiers:c.exportClause.elements.map(R=>this.convertChild(R)),exportKind:c.isTypeOnly?"type":"value",declaration:null,assertions:this.convertAssertClasue(c.assertClause)})):(this.assertModuleSpecifier(c,!1),this.createNode(c,{type:m.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(c.moduleSpecifier),exportKind:c.isTypeOnly?"type":"value",exported:c.exportClause&&c.exportClause.kind===d.NamespaceExport?this.convertChild(c.exportClause.name):null,assertions:this.convertAssertClasue(c.assertClause)}));case d.ExportSpecifier:return this.createNode(c,{type:m.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild((te=c.propertyName)!==null&&te!==void 0?te:c.name),exported:this.convertChild(c.name),exportKind:c.isTypeOnly?"type":"value"});case d.ExportAssignment:return c.isExportEquals?this.createNode(c,{type:m.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(c.expression)}):this.createNode(c,{type:m.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(c.expression),exportKind:"value"});case d.PrefixUnaryExpression:case d.PostfixUnaryExpression:{let R=(0,y.getTextForTokenKind)(c.operator);return R==="++"||R==="--"?this.createNode(c,{type:m.AST_NODE_TYPES.UpdateExpression,operator:R,prefix:c.kind===d.PrefixUnaryExpression,argument:this.convertChild(c.operand)}):this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:R,prefix:c.kind===d.PrefixUnaryExpression,argument:this.convertChild(c.operand)})}case d.DeleteExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(c.expression)});case d.VoidExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(c.expression)});case d.TypeOfExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(c.expression)});case d.TypeOperator:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeOperator,operator:(0,y.getTextForTokenKind)(c.operator),typeAnnotation:this.convertChild(c.type)});case d.BinaryExpression:if((0,y.isComma)(c.operatorToken)){let R=this.createNode(c,{type:m.AST_NODE_TYPES.SequenceExpression,expressions:[]}),pe=this.convertChild(c.left);return pe.type===m.AST_NODE_TYPES.SequenceExpression&&c.left.kind!==d.ParenthesizedExpression?R.expressions=R.expressions.concat(pe.expressions):R.expressions.push(pe),R.expressions.push(this.convertChild(c.right)),R}else{let R=(0,y.getBinaryExpressionType)(c.operatorToken);return this.allowPattern&&R===m.AST_NODE_TYPES.AssignmentExpression?this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(c.left,c),right:this.convertChild(c.right)}):this.createNode(c,{type:R,operator:(0,y.getTextForTokenKind)(c.operatorToken.kind),left:this.converter(c.left,c,this.inTypeMode,R===m.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(c.right)})}case d.PropertyAccessExpression:{let R=this.convertChild(c.expression),pe=this.convertChild(c.name),Ie=!1,Je=this.createNode(c,{type:m.AST_NODE_TYPES.MemberExpression,object:R,property:pe,computed:Ie,optional:c.questionDotToken!==void 0});return this.convertChainExpression(Je,c)}case d.ElementAccessExpression:{let R=this.convertChild(c.expression),pe=this.convertChild(c.argumentExpression),Ie=!0,Je=this.createNode(c,{type:m.AST_NODE_TYPES.MemberExpression,object:R,property:pe,computed:Ie,optional:c.questionDotToken!==void 0});return this.convertChainExpression(Je,c)}case d.CallExpression:{if(c.expression.kind===d.ImportKeyword){if(c.arguments.length!==1&&c.arguments.length!==2)throw(0,y.createError)(this.ast,c.arguments.pos,"Dynamic import requires exactly one or two arguments.");return this.createNode(c,{type:m.AST_NODE_TYPES.ImportExpression,source:this.convertChild(c.arguments[0]),attributes:c.arguments[1]?this.convertChild(c.arguments[1]):null})}let R=this.convertChild(c.expression),pe=c.arguments.map(Je=>this.convertChild(Je)),Ie=this.createNode(c,{type:m.AST_NODE_TYPES.CallExpression,callee:R,arguments:pe,optional:c.questionDotToken!==void 0});return c.typeArguments&&(Ie.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),this.convertChainExpression(Ie,c)}case d.NewExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.NewExpression,callee:this.convertChild(c.expression),arguments:c.arguments?c.arguments.map(pe=>this.convertChild(pe)):[]});return c.typeArguments&&(R.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),R}case d.ConditionalExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(c.condition),consequent:this.convertChild(c.whenTrue),alternate:this.convertChild(c.whenFalse)});case d.MetaProperty:return this.createNode(c,{type:m.AST_NODE_TYPES.MetaProperty,meta:this.createNode(c.getFirstToken(),{type:m.AST_NODE_TYPES.Identifier,name:(0,y.getTextForTokenKind)(c.keywordToken)}),property:this.convertChild(c.name)});case d.Decorator:return this.createNode(c,{type:m.AST_NODE_TYPES.Decorator,expression:this.convertChild(c.expression)});case d.StringLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:M.kind===d.JsxAttribute?(0,y.unescapeStringLiteralText)(c.text):c.text,raw:c.getText()});case d.NumericLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:Number(c.text),raw:c.getText()});case d.BigIntLiteral:{let R=(0,y.getRange)(c,this.ast),pe=this.ast.text.slice(R[0],R[1]),Ie=pe.slice(0,-1).replace(/_/g,""),Je=typeof BigInt<"u"?BigInt(Ie):null;return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,raw:pe,value:Je,bigint:Je==null?Ie:String(Je),range:R})}case d.RegularExpressionLiteral:{let R=c.text.slice(1,c.text.lastIndexOf("/")),pe=c.text.slice(c.text.lastIndexOf("/")+1),Ie=null;try{Ie=new RegExp(R,pe)}catch{Ie=null}return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:Ie,raw:c.text,regex:{pattern:R,flags:pe}})}case d.TrueKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case d.FalseKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case d.NullKeyword:return!C.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(c,{type:m.AST_NODE_TYPES.TSNullKeyword}):this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:null,raw:"null"});case d.EmptyStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.EmptyStatement});case d.DebuggerStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.DebuggerStatement});case d.JsxElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(c.openingElement),closingElement:this.convertChild(c.closingElement),children:c.children.map(R=>this.convertChild(R))});case d.JsxFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(c.openingFragment),closingFragment:this.convertChild(c.closingFragment),children:c.children.map(R=>this.convertChild(R))});case d.JsxSelfClosingElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningElement,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,selfClosing:!0,name:this.convertJSXTagName(c.tagName,c),attributes:c.attributes.properties.map(R=>this.convertChild(R)),range:(0,y.getRange)(c,this.ast)}),closingElement:null,children:[]});case d.JsxOpeningElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningElement,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,selfClosing:!1,name:this.convertJSXTagName(c.tagName,c),attributes:c.attributes.properties.map(R=>this.convertChild(R))});case d.JsxClosingElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(c.tagName,c)});case d.JsxOpeningFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningFragment});case d.JsxClosingFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXClosingFragment});case d.JsxExpression:{let R=c.expression?this.convertChild(c.expression):this.createNode(c,{type:m.AST_NODE_TYPES.JSXEmptyExpression,range:[c.getStart(this.ast)+1,c.getEnd()-1]});return c.dotDotDotToken?this.createNode(c,{type:m.AST_NODE_TYPES.JSXSpreadChild,expression:R}):this.createNode(c,{type:m.AST_NODE_TYPES.JSXExpressionContainer,expression:R})}case d.JsxAttribute:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(c.name),value:this.convertChild(c.initializer)});case d.JsxText:{let R=c.getFullStart(),pe=c.getEnd(),Ie=this.ast.text.slice(R,pe);return this.createNode(c,{type:m.AST_NODE_TYPES.JSXText,value:(0,y.unescapeStringLiteralText)(Ie),raw:Ie,range:[R,pe]})}case d.JsxSpreadAttribute:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(c.expression)});case d.QualifiedName:return this.createNode(c,{type:m.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(c.left),right:this.convertChild(c.right)});case d.TypeReference:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(c.typeName),typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0});case d.TypeParameter:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(c.name),constraint:c.constraint?this.convertType(c.constraint):void 0,default:c.default?this.convertType(c.default):void 0,in:(0,y.hasModifier)(d.InKeyword,c),out:(0,y.hasModifier)(d.OutKeyword,c),const:(0,y.hasModifier)(d.ConstKeyword,c)});case d.ThisType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSThisType});case d.AnyKeyword:case d.BigIntKeyword:case d.BooleanKeyword:case d.NeverKeyword:case d.NumberKeyword:case d.ObjectKeyword:case d.StringKeyword:case d.SymbolKeyword:case d.UnknownKeyword:case d.VoidKeyword:case d.UndefinedKeyword:case d.IntrinsicKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES[`TS${d[c.kind]}`]});case d.NonNullExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(c.expression)});return this.convertChainExpression(R,c)}case d.TypeLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeLiteral,members:c.members.map(R=>this.convertChild(R))});case d.ArrayType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(c.elementType)});case d.IndexedAccessType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(c.objectType),indexType:this.convertType(c.indexType)});case d.ConditionalType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(c.checkType),extendsType:this.convertType(c.extendsType),trueType:this.convertType(c.trueType),falseType:this.convertType(c.falseType)});case d.TypeQuery:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(c.exprName),typeParameters:c.typeArguments&&this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)});case d.MappedType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(c.typeParameter),nameType:(he=this.convertType(c.nameType))!==null&&he!==void 0?he:null});return c.readonlyToken&&(c.readonlyToken.kind===d.ReadonlyKeyword?R.readonly=!0:R.readonly=(0,y.getTextForTokenKind)(c.readonlyToken.kind)),c.questionToken&&(c.questionToken.kind===d.QuestionToken?R.optional=!0:R.optional=(0,y.getTextForTokenKind)(c.questionToken.kind)),c.type&&(R.typeAnnotation=this.convertType(c.type)),R}case d.ParenthesizedExpression:return this.convertChild(c.expression,M);case d.TypeAliasDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(c.name),typeAnnotation:this.convertType(c.type)});return(0,y.hasModifier)(d.DeclareKeyword,c)&&(R.declare=!0),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),this.fixExports(c,R)}case d.MethodSignature:return this.convertMethodSignature(c);case d.PropertySignature:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSPropertySignature,optional:(0,y.isOptional)(c)||void 0,computed:(0,y.isComputedProperty)(c.name),key:this.convertChild(c.name),typeAnnotation:c.type?this.convertTypeAnnotation(c.type,c):void 0,initializer:this.convertChild(c.initializer)||void 0,readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,static:(0,y.hasModifier)(d.StaticKeyword,c)||void 0,export:(0,y.hasModifier)(d.ExportKeyword,c)||void 0}),pe=(0,y.getTSNodeAccessibility)(c);return pe&&(R.accessibility=pe),R}case d.IndexSignature:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSIndexSignature,parameters:c.parameters.map(Ie=>this.convertChild(Ie))});c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c)),(0,y.hasModifier)(d.ReadonlyKeyword,c)&&(R.readonly=!0);let pe=(0,y.getTSNodeAccessibility)(c);return pe&&(R.accessibility=pe),(0,y.hasModifier)(d.ExportKeyword,c)&&(R.export=!0),(0,y.hasModifier)(d.StaticKeyword,c)&&(R.static=!0),R}case d.ConstructorType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(c.parameters),abstract:(0,y.hasModifier)(d.AbstractKeyword,c)});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.FunctionType:case d.ConstructSignature:case d.CallSignature:{let R=c.kind===d.ConstructSignature?m.AST_NODE_TYPES.TSConstructSignatureDeclaration:c.kind===d.CallSignature?m.AST_NODE_TYPES.TSCallSignatureDeclaration:m.AST_NODE_TYPES.TSFunctionType,pe=this.createNode(c,{type:R,params:this.convertParameters(c.parameters)});return c.type&&(pe.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),pe}case d.ExpressionWithTypeArguments:{let R=M.kind,pe=R===d.InterfaceDeclaration?m.AST_NODE_TYPES.TSInterfaceHeritage:R===d.HeritageClause?m.AST_NODE_TYPES.TSClassImplements:m.AST_NODE_TYPES.TSInstantiationExpression,Ie=this.createNode(c,{type:pe,expression:this.convertChild(c.expression)});return c.typeArguments&&(Ie.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),Ie}case d.InterfaceDeclaration:{let R=(De=c.heritageClauses)!==null&&De!==void 0?De:[],pe=this.createNode(c,{type:m.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(c,{type:m.AST_NODE_TYPES.TSInterfaceBody,body:c.members.map(Ie=>this.convertChild(Ie)),range:[c.members.pos-1,c.end]}),id:this.convertChild(c.name)});if(c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R.length>0){let Ie=[],Je=[];for(let Xe of R)if(Xe.token===d.ExtendsKeyword)for(let ee of Xe.types)Ie.push(this.convertChild(ee,c));else for(let ee of Xe.types)Je.push(this.convertChild(ee,c));Ie.length&&(pe.extends=Ie),Je.length&&(pe.implements=Je)}return(0,y.hasModifier)(d.AbstractKeyword,c)&&(pe.abstract=!0),(0,y.hasModifier)(d.DeclareKeyword,c)&&(pe.declare=!0),this.fixExports(c,pe)}case d.TypePredicate:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTypePredicate,asserts:c.assertsModifier!==void 0,parameterName:this.convertChild(c.parameterName),typeAnnotation:null});return c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c),R.typeAnnotation.loc=R.typeAnnotation.typeAnnotation.loc,R.typeAnnotation.range=R.typeAnnotation.typeAnnotation.range),R}case d.ImportType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSImportType,isTypeOf:!!c.isTypeOf,parameter:this.convertChild(c.argument),qualifier:this.convertChild(c.qualifier),typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):null});case d.EnumDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(c.name),members:c.members.map(pe=>this.convertChild(pe))});return this.applyModifiersToResult(R,(0,P.getModifiers)(c)),this.fixExports(c,R)}case d.EnumMember:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(c.name)});return c.initializer&&(R.initializer=this.convertChild(c.initializer)),c.name.kind===D.SyntaxKind.ComputedPropertyName&&(R.computed=!0),R}case d.ModuleDeclaration:{let R=this.createNode(c,Object.assign({type:m.AST_NODE_TYPES.TSModuleDeclaration},(()=>{let pe=this.convertChild(c.name),Ie=this.convertChild(c.body);if(c.flags&D.NodeFlags.GlobalAugmentation){if(Ie==null||Ie.type===m.AST_NODE_TYPES.TSModuleDeclaration)throw new Error("Expected a valid module body");if(pe.type!==m.AST_NODE_TYPES.Identifier)throw new Error("global module augmentation must have an Identifier id");return{kind:"global",id:pe,body:Ie,global:!0}}else if(c.flags&D.NodeFlags.Namespace){if(Ie==null)throw new Error("Expected a module body");if(pe.type!==m.AST_NODE_TYPES.Identifier)throw new Error("`namespace`s must have an Identifier id");return{kind:"namespace",id:pe,body:Ie}}else return Object.assign({kind:"module",id:pe},Ie!=null?{body:Ie}:{})})()));return this.applyModifiersToResult(R,(0,P.getModifiers)(c)),this.fixExports(c,R)}case d.ParenthesizedType:return this.convertType(c.type);case d.UnionType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSUnionType,types:c.types.map(R=>this.convertType(R))});case d.IntersectionType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSIntersectionType,types:c.types.map(R=>this.convertType(R))});case d.AsExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(c.expression),typeAnnotation:this.convertType(c.type)});case d.InferType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(c.typeParameter)});case d.LiteralType:return C.typescriptVersionIsAtLeast["4.0"]&&c.literal.kind===d.NullKeyword?this.createNode(c.literal,{type:m.AST_NODE_TYPES.TSNullKeyword}):this.createNode(c,{type:m.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(c.literal)});case d.TypeAssertionExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(c.type),expression:this.convertChild(c.expression)});case d.ImportEqualsDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(c.name),moduleReference:this.convertChild(c.moduleReference),importKind:c.isTypeOnly?"type":"value",isExport:(0,y.hasModifier)(d.ExportKeyword,c)});case d.ExternalModuleReference:return this.createNode(c,{type:m.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(c.expression)});case d.NamespaceExportDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(c.name)});case d.AbstractKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.TSAbstractKeyword});case d.TupleType:{let R="elementTypes"in c?c.elementTypes.map(pe=>this.convertType(pe)):c.elements.map(pe=>this.convertType(pe));return this.createNode(c,{type:m.AST_NODE_TYPES.TSTupleType,elementTypes:R})}case d.NamedTupleMember:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(c.type,c),label:this.convertChild(c.name,c),optional:c.questionToken!=null});return c.dotDotDotToken?(R.range[0]=R.label.range[0],R.loc.start=R.label.loc.start,this.createNode(c,{type:m.AST_NODE_TYPES.TSRestType,typeAnnotation:R})):R}case d.OptionalType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(c.type)});case d.RestType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(c.type)});case d.TemplateLiteralType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(c.head)],types:[]});return c.templateSpans.forEach(pe=>{R.types.push(this.convertChild(pe.type)),R.quasis.push(this.convertChild(pe.literal))}),R}case d.ClassStaticBlockDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.StaticBlock,body:this.convertBodyExpressions(c.body.statements,c)});case d.AssertEntry:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportAttribute,key:this.convertChild(c.name),value:this.convertChild(c.value)});case d.SatisfiesExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSSatisfiesExpression,expression:this.convertChild(c.expression),typeAnnotation:this.convertChild(c.type)});default:return this.deeplyCopy(c)}}};a.Converter=I}}),$a={};m1($a,{__assign:()=>f1,__asyncDelegator:()=>gV,__asyncGenerator:()=>hV,__asyncValues:()=>yV,__await:()=>gp,__awaiter:()=>lV,__classPrivateFieldGet:()=>SV,__classPrivateFieldSet:()=>xV,__createBinding:()=>pV,__decorate:()=>oV,__exportStar:()=>fV,__extends:()=>aV,__generator:()=>uV,__importDefault:()=>TV,__importStar:()=>bV,__makeTemplateObject:()=>vV,__metadata:()=>cV,__param:()=>_V,__read:()=>V9,__rest:()=>sV,__spread:()=>dV,__spreadArrays:()=>mV,__values:()=>tT});function aV(a,_){p1(a,_);function v(){this.constructor=a}a.prototype=_===null?Object.create(_):(v.prototype=_.prototype,new v)}function sV(a,_){var v={};for(var h in a)Object.prototype.hasOwnProperty.call(a,h)&&_.indexOf(h)<0&&(v[h]=a[h]);if(a!=null&&typeof Object.getOwnPropertySymbols=="function")for(var D=0,h=Object.getOwnPropertySymbols(a);D=0;m--)(y=a[m])&&(P=(D<3?y(P):D>3?y(_,v,P):y(_,v))||P);return D>3&&P&&Object.defineProperty(_,v,P),P}function _V(a,_){return function(v,h){_(v,h,a)}}function cV(a,_){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(a,_)}function lV(a,_,v,h){function D(P){return P instanceof v?P:new v(function(y){y(P)})}return new(v||(v=Promise))(function(P,y){function m(E){try{d(h.next(E))}catch(I){y(I)}}function C(E){try{d(h.throw(E))}catch(I){y(I)}}function d(E){E.done?P(E.value):D(E.value).then(m,C)}d((h=h.apply(a,_||[])).next())})}function uV(a,_){var v={label:0,sent:function(){if(P[0]&1)throw P[1];return P[1]},trys:[],ops:[]},h,D,P,y;return y={next:m(0),throw:m(1),return:m(2)},typeof Symbol=="function"&&(y[Symbol.iterator]=function(){return this}),y;function m(d){return function(E){return C([d,E])}}function C(d){if(h)throw new TypeError("Generator is already executing.");for(;v;)try{if(h=1,D&&(P=d[0]&2?D.return:d[0]?D.throw||((P=D.return)&&P.call(D),0):D.next)&&!(P=P.call(D,d[1])).done)return P;switch(D=0,P&&(d=[d[0]&2,P.value]),d[0]){case 0:case 1:P=d;break;case 4:return v.label++,{value:d[1],done:!1};case 5:v.label++,D=d[1],d=[0];continue;case 7:d=v.ops.pop(),v.trys.pop();continue;default:if(P=v.trys,!(P=P.length>0&&P[P.length-1])&&(d[0]===6||d[0]===2)){v=0;continue}if(d[0]===3&&(!P||d[1]>P[0]&&d[1]=a.length&&(a=void 0),{value:a&&a[h++],done:!a}}};throw new TypeError(_?"Object is not iterable.":"Symbol.iterator is not defined.")}function V9(a,_){var v=typeof Symbol=="function"&&a[Symbol.iterator];if(!v)return a;var h=v.call(a),D,P=[],y;try{for(;(_===void 0||_-- >0)&&!(D=h.next()).done;)P.push(D.value)}catch(m){y={error:m}}finally{try{D&&!D.done&&(v=h.return)&&v.call(h)}finally{if(y)throw y.error}}return P}function dV(){for(var a=[],_=0;_1||m(c,M)})})}function m(c,M){try{C(h[c](M))}catch(q){I(P[0][3],q)}}function C(c){c.value instanceof gp?Promise.resolve(c.value.v).then(d,E):I(P[0][2],c)}function d(c){m("next",c)}function E(c){m("throw",c)}function I(c,M){c(M),P.shift(),P.length&&m(P[0][0],P[0][1])}}function gV(a){var _,v;return _={},h("next"),h("throw",function(D){throw D}),h("return"),_[Symbol.iterator]=function(){return this},_;function h(D,P){_[D]=a[D]?function(y){return(v=!v)?{value:gp(a[D](y)),done:D==="return"}:P?P(y):y}:P}}function yV(a){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var _=a[Symbol.asyncIterator],v;return _?_.call(a):(a=typeof tT=="function"?tT(a):a[Symbol.iterator](),v={},h("next"),h("throw"),h("return"),v[Symbol.asyncIterator]=function(){return this},v);function h(P){v[P]=a[P]&&function(y){return new Promise(function(m,C){y=a[P](y),D(m,C,y.done,y.value)})}}function D(P,y,m,C){Promise.resolve(C).then(function(d){P({value:d,done:m})},y)}}function vV(a,_){return Object.defineProperty?Object.defineProperty(a,"raw",{value:_}):a.raw=_,a}function bV(a){if(a&&a.__esModule)return a;var _={};if(a!=null)for(var v in a)Object.hasOwnProperty.call(a,v)&&(_[v]=a[v]);return _.default=a,_}function TV(a){return a&&a.__esModule?a:{default:a}}function SV(a,_){if(!_.has(a))throw new TypeError("attempted to get private field on non-instance");return _.get(a)}function xV(a,_,v){if(!_.has(a))throw new TypeError("attempted to set private field on non-instance");return _.set(a,v),v}var p1,f1,Ds=yp({"node_modules/tslib/tslib.es6.js"(){ke(),p1=function(a,_){return p1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,h){v.__proto__=h}||function(v,h){for(var D in h)h.hasOwnProperty(D)&&(v[D]=h[D])},p1(a,_)},f1=function(){return f1=Object.assign||function(_){for(var v,h=1,D=arguments.length;h=_.SyntaxKind.FirstLiteralToken&&J.kind<=_.SyntaxKind.LastLiteralToken}a.isLiteralExpression=Jr;function Qc(J){return J.kind===_.SyntaxKind.LiteralType}a.isLiteralTypeNode=Qc;function ho(J){return J.kind===_.SyntaxKind.MappedType}a.isMappedTypeNode=ho;function T_(J){return J.kind===_.SyntaxKind.MetaProperty}a.isMetaProperty=T_;function go(J){return J.kind===_.SyntaxKind.MethodDeclaration}a.isMethodDeclaration=go;function yo(J){return J.kind===_.SyntaxKind.MethodSignature}a.isMethodSignature=yo;function Za(J){return J.kind===_.SyntaxKind.ModuleBlock}a.isModuleBlock=Za;function vo(J){return J.kind===_.SyntaxKind.ModuleDeclaration}a.isModuleDeclaration=vo;function S_(J){return J.kind===_.SyntaxKind.NamedExports}a.isNamedExports=S_;function Zc(J){return J.kind===_.SyntaxKind.NamedImports}a.isNamedImports=Zc;function Os(J){return vo(J)&&J.name.kind===_.SyntaxKind.Identifier&&J.body!==void 0&&(J.body.kind===_.SyntaxKind.ModuleBlock||Os(J.body))}a.isNamespaceDeclaration=Os;function bo(J){return J.kind===_.SyntaxKind.NamespaceImport}a.isNamespaceImport=bo;function el(J){return J.kind===_.SyntaxKind.NamespaceExportDeclaration}a.isNamespaceExportDeclaration=el;function x_(J){return J.kind===_.SyntaxKind.NewExpression}a.isNewExpression=x_;function E_(J){return J.kind===_.SyntaxKind.NonNullExpression}a.isNonNullExpression=E_;function S(J){return J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isNoSubstitutionTemplateLiteral=S;function H(J){return J.kind===_.SyntaxKind.NullKeyword}a.isNullLiteral=H;function le(J){return J.kind===_.SyntaxKind.NumericLiteral}a.isNumericLiteral=le;function Be(J){switch(J.kind){case _.SyntaxKind.StringLiteral:case _.SyntaxKind.NumericLiteral:case _.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}}a.isNumericOrStringLikeLiteral=Be;function rt(J){return J.kind===_.SyntaxKind.ObjectBindingPattern}a.isObjectBindingPattern=rt;function ut(J){return J.kind===_.SyntaxKind.ObjectLiteralExpression}a.isObjectLiteralExpression=ut;function Ht(J){return J.kind===_.SyntaxKind.OmittedExpression}a.isOmittedExpression=Ht;function Fr(J){return J.kind===_.SyntaxKind.Parameter}a.isParameterDeclaration=Fr;function Cr(J){return J.kind===_.SyntaxKind.ParenthesizedExpression}a.isParenthesizedExpression=Cr;function ir(J){return J.kind===_.SyntaxKind.ParenthesizedType}a.isParenthesizedTypeNode=ir;function en(J){return J.kind===_.SyntaxKind.PostfixUnaryExpression}a.isPostfixUnaryExpression=en;function Ji(J){return J.kind===_.SyntaxKind.PrefixUnaryExpression}a.isPrefixUnaryExpression=Ji;function gi(J){return J.kind===_.SyntaxKind.PropertyAccessExpression}a.isPropertyAccessExpression=gi;function ln(J){return J.kind===_.SyntaxKind.PropertyAssignment}a.isPropertyAssignment=ln;function ti(J){return J.kind===_.SyntaxKind.PropertyDeclaration}a.isPropertyDeclaration=ti;function yn(J){return J.kind===_.SyntaxKind.PropertySignature}a.isPropertySignature=yn;function w_(J){return J.kind===_.SyntaxKind.QualifiedName}a.isQualifiedName=w_;function vp(J){return J.kind===_.SyntaxKind.RegularExpressionLiteral}a.isRegularExpressionLiteral=vp;function C1(J){return J.kind===_.SyntaxKind.ReturnStatement}a.isReturnStatement=C1;function rr(J){return J.kind===_.SyntaxKind.SetAccessor}a.isSetAccessorDeclaration=rr;function bp(J){return J.kind===_.SyntaxKind.ShorthandPropertyAssignment}a.isShorthandPropertyAssignment=bp;function Tp(J){return J.parameters!==void 0}a.isSignatureDeclaration=Tp;function A1(J){return J.kind===_.SyntaxKind.SourceFile}a.isSourceFile=A1;function tl(J){return J.kind===_.SyntaxKind.SpreadAssignment}a.isSpreadAssignment=tl;function An(J){return J.kind===_.SyntaxKind.SpreadElement}a.isSpreadElement=An;function P1(J){return J.kind===_.SyntaxKind.StringLiteral}a.isStringLiteral=P1;function D1(J){return J.kind===_.SyntaxKind.SwitchStatement}a.isSwitchStatement=D1;function k1(J){return J.kind===_.SyntaxKind.SyntaxList}a.isSyntaxList=k1;function fa(J){return J.kind===_.SyntaxKind.TaggedTemplateExpression}a.isTaggedTemplateExpression=fa;function Ms(J){return J.kind===_.SyntaxKind.TemplateExpression}a.isTemplateExpression=Ms;function To(J){return J.kind===_.SyntaxKind.TemplateExpression||J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isTemplateLiteral=To;function Sp(J){return J.kind===_.SyntaxKind.StringLiteral||J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isTextualLiteral=Sp;function Vr(J){return J.kind===_.SyntaxKind.ThrowStatement}a.isThrowStatement=Vr;function I1(J){return J.kind===_.SyntaxKind.TryStatement}a.isTryStatement=I1;function N1(J){return J.kind===_.SyntaxKind.TupleType}a.isTupleTypeNode=N1;function C_(J){return J.kind===_.SyntaxKind.TypeAliasDeclaration}a.isTypeAliasDeclaration=C_;function O1(J){return J.kind===_.SyntaxKind.TypeAssertionExpression}a.isTypeAssertion=O1;function ri(J){return J.kind===_.SyntaxKind.TypeLiteral}a.isTypeLiteralNode=ri;function rl(J){return J.kind===_.SyntaxKind.TypeOfExpression}a.isTypeOfExpression=rl;function M1(J){return J.kind===_.SyntaxKind.TypeOperator}a.isTypeOperatorNode=M1;function xp(J){return J.kind===_.SyntaxKind.TypeParameter}a.isTypeParameterDeclaration=xp;function L1(J){return J.kind===_.SyntaxKind.TypePredicate}a.isTypePredicateNode=L1;function R1(J){return J.kind===_.SyntaxKind.TypeReference}a.isTypeReferenceNode=R1;function j1(J){return J.kind===_.SyntaxKind.TypeQuery}a.isTypeQueryNode=j1;function Ep(J){return J.kind===_.SyntaxKind.UnionType}a.isUnionTypeNode=Ep;function J1(J){return J.kind===_.SyntaxKind.VariableDeclaration}a.isVariableDeclaration=J1;function es(J){return J.kind===_.SyntaxKind.VariableStatement}a.isVariableStatement=es;function F1(J){return J.kind===_.SyntaxKind.VariableDeclarationList}a.isVariableDeclarationList=F1;function B1(J){return J.kind===_.SyntaxKind.VoidExpression}a.isVoidExpression=B1;function Fi(J){return J.kind===_.SyntaxKind.WhileStatement}a.isWhileStatement=Fi;function q1(J){return J.kind===_.SyntaxKind.WithStatement}a.isWithStatement=q1}}),wV=Ne({"node_modules/tsutils/typeguard/2.9/node.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.isImportTypeNode=void 0;var _=(Ds(),Li($a));_.__exportStar(EV(),a);var v=vr();function h(D){return D.kind===v.SyntaxKind.ImportType}a.isImportTypeNode=h}}),CV=Ne({"node_modules/tsutils/typeguard/3.0/node.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.isSyntheticExpression=a.isRestTypeNode=a.isOptionalTypeNode=void 0;var _=(Ds(),Li($a));_.__exportStar(wV(),a);var v=vr();function h(y){return y.kind===v.SyntaxKind.OptionalType}a.isOptionalTypeNode=h;function D(y){return y.kind===v.SyntaxKind.RestType}a.isRestTypeNode=D;function P(y){return y.kind===v.SyntaxKind.SyntheticExpression}a.isSyntheticExpression=P}}),H9=Ne({"node_modules/tsutils/typeguard/3.2/node.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.isBigIntLiteral=void 0;var _=(Ds(),Li($a));_.__exportStar(CV(),a);var v=vr();function h(D){return D.kind===v.SyntaxKind.BigIntLiteral}a.isBigIntLiteral=h}}),G9=Ne({"node_modules/tsutils/typeguard/node.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(H9(),a)}}),AV=Ne({"node_modules/tsutils/typeguard/2.8/type.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.isUniqueESSymbolType=a.isUnionType=a.isUnionOrIntersectionType=a.isTypeVariable=a.isTypeReference=a.isTypeParameter=a.isSubstitutionType=a.isObjectType=a.isLiteralType=a.isIntersectionType=a.isInterfaceType=a.isInstantiableType=a.isIndexedAccessype=a.isIndexedAccessType=a.isGenericType=a.isEnumType=a.isConditionalType=void 0;var _=vr();function v(me){return(me.flags&_.TypeFlags.Conditional)!==0}a.isConditionalType=v;function h(me){return(me.flags&_.TypeFlags.Enum)!==0}a.isEnumType=h;function D(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.ClassOrInterface)!==0&&(me.objectFlags&_.ObjectFlags.Reference)!==0}a.isGenericType=D;function P(me){return(me.flags&_.TypeFlags.IndexedAccess)!==0}a.isIndexedAccessType=P;function y(me){return(me.flags&_.TypeFlags.Index)!==0}a.isIndexedAccessype=y;function m(me){return(me.flags&_.TypeFlags.Instantiable)!==0}a.isInstantiableType=m;function C(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.ClassOrInterface)!==0}a.isInterfaceType=C;function d(me){return(me.flags&_.TypeFlags.Intersection)!==0}a.isIntersectionType=d;function E(me){return(me.flags&(_.TypeFlags.StringOrNumberLiteral|_.TypeFlags.BigIntLiteral))!==0}a.isLiteralType=E;function I(me){return(me.flags&_.TypeFlags.Object)!==0}a.isObjectType=I;function c(me){return(me.flags&_.TypeFlags.Substitution)!==0}a.isSubstitutionType=c;function M(me){return(me.flags&_.TypeFlags.TypeParameter)!==0}a.isTypeParameter=M;function q(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.Reference)!==0}a.isTypeReference=q;function W(me){return(me.flags&_.TypeFlags.TypeVariable)!==0}a.isTypeVariable=W;function K(me){return(me.flags&_.TypeFlags.UnionOrIntersection)!==0}a.isUnionOrIntersectionType=K;function ce(me){return(me.flags&_.TypeFlags.Union)!==0}a.isUnionType=ce;function Ce(me){return(me.flags&_.TypeFlags.UniqueESSymbol)!==0}a.isUniqueESSymbolType=Ce}}),b9=Ne({"node_modules/tsutils/typeguard/2.9/type.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(AV(),a)}}),PV=Ne({"node_modules/tsutils/typeguard/3.0/type.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.isTupleTypeReference=a.isTupleType=void 0;var _=(Ds(),Li($a));_.__exportStar(b9(),a);var v=vr(),h=b9();function D(y){return(y.flags&v.TypeFlags.Object&&y.objectFlags&v.ObjectFlags.Tuple)!==0}a.isTupleType=D;function P(y){return h.isTypeReference(y)&&D(y.target)}a.isTupleTypeReference=P}}),$9=Ne({"node_modules/tsutils/typeguard/3.2/type.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(PV(),a)}}),DV=Ne({"node_modules/tsutils/typeguard/3.2/index.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(H9(),a),_.__exportStar($9(),a)}}),kV=Ne({"node_modules/tsutils/typeguard/type.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar($9(),a)}}),IV=Ne({"node_modules/tsutils/util/type.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.getBaseClassMemberOfClassElement=a.getIteratorYieldResultFromIteratorResult=a.getInstanceTypeOfClassLikeDeclaration=a.getConstructorTypeOfClassLikeDeclaration=a.getSymbolOfClassLikeDeclaration=a.getPropertyNameFromType=a.symbolHasReadonlyDeclaration=a.isPropertyReadonlyInType=a.getWellKnownSymbolPropertyOfType=a.getPropertyOfType=a.isBooleanLiteralType=a.isFalsyType=a.isThenableType=a.someTypePart=a.intersectionTypeParts=a.unionTypeParts=a.getCallSignaturesOfType=a.isTypeAssignableToString=a.isTypeAssignableToNumber=a.isOptionalChainingUndefinedMarkerType=a.removeOptionalChainingUndefinedMarkerType=a.removeOptionalityFromType=a.isEmptyObjectType=void 0;var _=vr(),v=kV(),h=K9(),D=G9();function P(ne){if(v.isObjectType(ne)&&ne.objectFlags&_.ObjectFlags.Anonymous&&ne.getProperties().length===0&&ne.getCallSignatures().length===0&&ne.getConstructSignatures().length===0&&ne.getStringIndexType()===void 0&&ne.getNumberIndexType()===void 0){let ge=ne.getBaseTypes();return ge===void 0||ge.every(P)}return!1}a.isEmptyObjectType=P;function y(ne,ge){if(!m(ge,_.TypeFlags.Undefined))return ge;let Fe=m(ge,_.TypeFlags.Null);return ge=ne.getNonNullableType(ge),Fe?ne.getNullableType(ge,_.TypeFlags.Null):ge}a.removeOptionalityFromType=y;function m(ne,ge){for(let Fe of q(ne))if(h.isTypeFlagSet(Fe,ge))return!0;return!1}function C(ne,ge){if(!v.isUnionType(ge))return d(ne,ge)?ge.getNonNullableType():ge;let Fe=0,at=!1;for(let Pt of ge.types)d(ne,Pt)?at=!0:Fe|=Pt.flags;return at?ne.getNullableType(ge.getNonNullableType(),Fe):ge}a.removeOptionalChainingUndefinedMarkerType=C;function d(ne,ge){return h.isTypeFlagSet(ge,_.TypeFlags.Undefined)&&ne.getNullableType(ge.getNonNullableType(),_.TypeFlags.Undefined)!==ge}a.isOptionalChainingUndefinedMarkerType=d;function E(ne,ge){return c(ne,ge,_.TypeFlags.NumberLike)}a.isTypeAssignableToNumber=E;function I(ne,ge){return c(ne,ge,_.TypeFlags.StringLike)}a.isTypeAssignableToString=I;function c(ne,ge,Fe){Fe|=_.TypeFlags.Any;let at;return function Pt(qt){if(v.isTypeParameter(qt)&&qt.symbol!==void 0&&qt.symbol.declarations!==void 0){if(at===void 0)at=new Set([qt]);else if(!at.has(qt))at.add(qt);else return!1;let Zr=qt.symbol.declarations[0];return Zr.constraint===void 0?!0:Pt(ne.getTypeFromTypeNode(Zr.constraint))}return v.isUnionType(qt)?qt.types.every(Pt):v.isIntersectionType(qt)?qt.types.some(Pt):h.isTypeFlagSet(qt,Fe)}(ge)}function M(ne){if(v.isUnionType(ne)){let ge=[];for(let Fe of ne.types)ge.push(...M(Fe));return ge}if(v.isIntersectionType(ne)){let ge;for(let Fe of ne.types){let at=M(Fe);if(at.length!==0){if(ge!==void 0)return[];ge=at}}return ge===void 0?[]:ge}return ne.getCallSignatures()}a.getCallSignaturesOfType=M;function q(ne){return v.isUnionType(ne)?ne.types:[ne]}a.unionTypeParts=q;function W(ne){return v.isIntersectionType(ne)?ne.types:[ne]}a.intersectionTypeParts=W;function K(ne,ge,Fe){return ge(ne)?ne.types.some(Fe):Fe(ne)}a.someTypePart=K;function ce(ne,ge){let Fe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ne.getTypeAtLocation(ge);for(let at of q(ne.getApparentType(Fe))){let Pt=at.getProperty("then");if(Pt===void 0)continue;let qt=ne.getTypeOfSymbolAtLocation(Pt,ge);for(let Zr of q(qt))for(let Ri of Zr.getCallSignatures())if(Ri.parameters.length!==0&&Ce(ne,Ri.parameters[0],ge))return!0}return!1}a.isThenableType=ce;function Ce(ne,ge,Fe){let at=ne.getApparentType(ne.getTypeOfSymbolAtLocation(ge,Fe));if(ge.valueDeclaration.dotDotDotToken&&(at=at.getNumberIndexType(),at===void 0))return!1;for(let Pt of q(at))if(Pt.getCallSignatures().length!==0)return!0;return!1}function me(ne){return ne.flags&(_.TypeFlags.Undefined|_.TypeFlags.Null|_.TypeFlags.Void)?!0:v.isLiteralType(ne)?!ne.value:Pe(ne,!1)}a.isFalsyType=me;function Pe(ne,ge){return h.isTypeFlagSet(ne,_.TypeFlags.BooleanLiteral)&&ne.intrinsicName===(ge?"true":"false")}a.isBooleanLiteralType=Pe;function te(ne,ge){return ge.startsWith("__")?ne.getProperties().find(Fe=>Fe.escapedName===ge):ne.getProperty(ge)}a.getPropertyOfType=te;function he(ne,ge,Fe){let at="__@"+ge;for(let Pt of ne.getProperties()){if(!Pt.name.startsWith(at))continue;let qt=Fe.getApparentType(Fe.getTypeAtLocation(Pt.valueDeclaration.name.expression)).symbol;if(Pt.escapedName===De(Fe,qt,ge))return Pt}}a.getWellKnownSymbolPropertyOfType=he;function De(ne,ge,Fe){let at=ge&&ne.getTypeOfSymbolAtLocation(ge,ge.valueDeclaration).getProperty(Fe),Pt=at&&ne.getTypeOfSymbolAtLocation(at,at.valueDeclaration);return Pt&&v.isUniqueESSymbolType(Pt)?Pt.escapedName:"__@"+Fe}function R(ne,ge,Fe){let at=!1,Pt=!1;for(let qt of q(ne))if(te(qt,ge)===void 0){let Zr=(h.isNumericPropertyName(ge)?Fe.getIndexInfoOfType(qt,_.IndexKind.Number):void 0)||Fe.getIndexInfoOfType(qt,_.IndexKind.String);if(Zr!==void 0&&Zr.isReadonly){if(at)return!0;Pt=!0}}else{if(Pt||pe(qt,ge,Fe))return!0;at=!0}return!1}a.isPropertyReadonlyInType=R;function pe(ne,ge,Fe){return K(ne,v.isIntersectionType,at=>{let Pt=te(at,ge);if(Pt===void 0)return!1;if(Pt.flags&_.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(ge)&&v.isTupleTypeReference(at))return at.target.readonly;switch(Ie(at,ge,Fe)){case!0:return!0;case!1:return!1;default:}}return h.isSymbolFlagSet(Pt,_.SymbolFlags.ValueModule)||Je(Pt,Fe)})}function Ie(ne,ge,Fe){if(!v.isObjectType(ne)||!h.isObjectFlagSet(ne,_.ObjectFlags.Mapped))return;let at=ne.symbol.declarations[0];return at.readonlyToken!==void 0&&!/^__@[^@]+$/.test(ge)?at.readonlyToken.kind!==_.SyntaxKind.MinusToken:R(ne.modifiersType,ge,Fe)}function Je(ne,ge){return(ne.flags&_.SymbolFlags.Accessor)===_.SymbolFlags.GetAccessor||ne.declarations!==void 0&&ne.declarations.some(Fe=>h.isModifierFlagSet(Fe,_.ModifierFlags.Readonly)||D.isVariableDeclaration(Fe)&&h.isNodeFlagSet(Fe.parent,_.NodeFlags.Const)||D.isCallExpression(Fe)&&h.isReadonlyAssignmentDeclaration(Fe,ge)||D.isEnumMember(Fe)||(D.isPropertyAssignment(Fe)||D.isShorthandPropertyAssignment(Fe))&&h.isInConstContext(Fe.parent))}a.symbolHasReadonlyDeclaration=Je;function Xe(ne){if(ne.flags&(_.TypeFlags.StringLiteral|_.TypeFlags.NumberLiteral)){let ge=String(ne.value);return{displayName:ge,symbolName:_.escapeLeadingUnderscores(ge)}}if(v.isUniqueESSymbolType(ne))return{displayName:`[${ne.symbol?`${ee(ne.symbol)?"Symbol.":""}${ne.symbol.name}`:ne.escapedName.replace(/^__@|@\d+$/g,"")}]`,symbolName:ne.escapedName}}a.getPropertyNameFromType=Xe;function ee(ne){return h.isSymbolFlagSet(ne,_.SymbolFlags.Property)&&ne.valueDeclaration!==void 0&&D.isInterfaceDeclaration(ne.valueDeclaration.parent)&&ne.valueDeclaration.parent.name.text==="SymbolConstructor"&&je(ne.valueDeclaration.parent)}function je(ne){return h.isNodeFlagSet(ne.parent,_.NodeFlags.GlobalAugmentation)||D.isSourceFile(ne.parent)&&!_.isExternalModule(ne.parent)}function nt(ne,ge){var Fe;return ge.getSymbolAtLocation((Fe=ne.name)!==null&&Fe!==void 0?Fe:h.getChildOfKind(ne,_.SyntaxKind.ClassKeyword))}a.getSymbolOfClassLikeDeclaration=nt;function Ze(ne,ge){return ne.kind===_.SyntaxKind.ClassExpression?ge.getTypeAtLocation(ne):ge.getTypeOfSymbolAtLocation(nt(ne,ge),ne)}a.getConstructorTypeOfClassLikeDeclaration=Ze;function st(ne,ge){return ne.kind===_.SyntaxKind.ClassDeclaration?ge.getTypeAtLocation(ne):ge.getDeclaredTypeOfSymbol(nt(ne,ge))}a.getInstanceTypeOfClassLikeDeclaration=st;function tt(ne,ge,Fe){return v.isUnionType(ne)&&ne.types.find(at=>{let Pt=at.getProperty("done");return Pt!==void 0&&Pe(y(Fe,Fe.getTypeOfSymbolAtLocation(Pt,ge)),!1)})||ne}a.getIteratorYieldResultFromIteratorResult=tt;function ct(ne,ge){if(!D.isClassLikeDeclaration(ne.parent))return;let Fe=h.getBaseOfClassLikeExpression(ne.parent);if(Fe===void 0)return;let at=h.getSingleLateBoundPropertyNameOfPropertyName(ne.name,ge);if(at===void 0)return;let Pt=ge.getTypeAtLocation(h.hasModifier(ne.modifiers,_.SyntaxKind.StaticKeyword)?Fe.expression:Fe);return te(Pt,at.symbolName)}a.getBaseClassMemberOfClassElement=ct}}),K9=Ne({"node_modules/tsutils/util/util.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.isValidIdentifier=a.getLineBreakStyle=a.getLineRanges=a.forEachComment=a.forEachTokenWithTrivia=a.forEachToken=a.isFunctionWithBody=a.hasOwnThisReference=a.isBlockScopeBoundary=a.isFunctionScopeBoundary=a.isTypeScopeBoundary=a.isScopeBoundary=a.ScopeBoundarySelector=a.ScopeBoundary=a.isInSingleStatementContext=a.isBlockScopedDeclarationStatement=a.isBlockScopedVariableDeclaration=a.isBlockScopedVariableDeclarationList=a.getVariableDeclarationKind=a.VariableDeclarationKind=a.forEachDeclaredVariable=a.forEachDestructuringIdentifier=a.getPropertyName=a.getWrappedNodeAtPosition=a.getAstNodeAtPosition=a.commentText=a.isPositionInComment=a.getCommentAtPosition=a.getTokenAtPosition=a.getNextToken=a.getPreviousToken=a.getNextStatement=a.getPreviousStatement=a.isModifierFlagSet=a.isObjectFlagSet=a.isSymbolFlagSet=a.isTypeFlagSet=a.isNodeFlagSet=a.hasAccessModifier=a.isParameterProperty=a.hasModifier=a.getModifier=a.isThisParameter=a.isKeywordKind=a.isJsDocKind=a.isTypeNodeKind=a.isAssignmentKind=a.isNodeKind=a.isTokenKind=a.getChildOfKind=void 0,a.getBaseOfClassLikeExpression=a.hasExhaustiveCaseClauses=a.formatPseudoBigInt=a.unwrapParentheses=a.getSingleLateBoundPropertyNameOfPropertyName=a.getLateBoundPropertyNamesOfPropertyName=a.getLateBoundPropertyNames=a.getPropertyNameOfWellKnownSymbol=a.isWellKnownSymbolLiterally=a.isBindableObjectDefinePropertyCall=a.isReadonlyAssignmentDeclaration=a.isInConstContext=a.isConstAssertion=a.getTsCheckDirective=a.getCheckJsDirective=a.isAmbientModule=a.isCompilerOptionEnabled=a.isStrictCompilerOptionEnabled=a.getIIFE=a.isAmbientModuleBlock=a.isStatementInAmbientContext=a.findImportLikeNodes=a.findImports=a.ImportKind=a.parseJsDocOfNode=a.getJsDoc=a.canHaveJsDoc=a.isReassignmentTarget=a.getAccessKind=a.AccessKind=a.isExpressionValueUsed=a.getDeclarationOfBindingElement=a.hasSideEffects=a.SideEffectOptions=a.isSameLine=a.isNumericPropertyName=a.isValidJsxIdentifier=a.isValidNumericLiteral=a.isValidPropertyName=a.isValidPropertyAccess=void 0;var _=vr(),v=G9(),h=DV(),D=IV();function P(S,H,le){for(let Be of S.getChildren(le))if(Be.kind===H)return Be}a.getChildOfKind=P;function y(S){return S>=_.SyntaxKind.FirstToken&&S<=_.SyntaxKind.LastToken}a.isTokenKind=y;function m(S){return S>=_.SyntaxKind.FirstNode}a.isNodeKind=m;function C(S){return S>=_.SyntaxKind.FirstAssignment&&S<=_.SyntaxKind.LastAssignment}a.isAssignmentKind=C;function d(S){return S>=_.SyntaxKind.FirstTypeNode&&S<=_.SyntaxKind.LastTypeNode}a.isTypeNodeKind=d;function E(S){return S>=_.SyntaxKind.FirstJSDocNode&&S<=_.SyntaxKind.LastJSDocNode}a.isJsDocKind=E;function I(S){return S>=_.SyntaxKind.FirstKeyword&&S<=_.SyntaxKind.LastKeyword}a.isKeywordKind=I;function c(S){return S.name.kind===_.SyntaxKind.Identifier&&S.name.originalKeywordKind===_.SyntaxKind.ThisKeyword}a.isThisParameter=c;function M(S,H){if(S.modifiers!==void 0){for(let le of S.modifiers)if(le.kind===H)return le}}a.getModifier=M;function q(S){if(S===void 0)return!1;for(var H=arguments.length,le=new Array(H>1?H-1:0),Be=1;Be0)return H.statements[le-1]}}a.getPreviousStatement=Pe;function te(S){let H=S.parent;if(v.isBlockLike(H)){let le=H.statements.indexOf(S);if(le=S.end))return y(S.kind)?S:pe(S,H,le!=null?le:S.getSourceFile(),Be===!0)}a.getTokenAtPosition=R;function pe(S,H,le,Be){if(!Be&&(S=je(S,H),y(S.kind)))return S;e:for(;;){for(let rt of S.getChildren(le))if(rt.end>H&&(Be||rt.kind!==_.SyntaxKind.JSDocComment)){if(y(rt.kind))return rt;S=rt;continue e}return}}function Ie(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S,Be=R(le,H,S);if(Be===void 0||Be.kind===_.SyntaxKind.JsxText||H>=Be.end-(_.tokenToString(Be.kind)||"").length)return;let rt=Be.pos===0?(_.getShebang(S.text)||"").length:Be.pos;return rt!==0&&_.forEachTrailingCommentRange(S.text,rt,Je,H)||_.forEachLeadingCommentRange(S.text,rt,Je,H)}a.getCommentAtPosition=Ie;function Je(S,H,le,Be,rt){return rt>=S&&rtH||S.end<=H)){for(;m(S.kind);){let le=_.forEachChild(S,Be=>Be.pos<=H&&Be.end>H?Be:void 0);if(le===void 0)break;S=le}return S}}a.getAstNodeAtPosition=je;function nt(S,H){if(S.node.pos>H||S.node.end<=H)return;e:for(;;){for(let le of S.children){if(le.node.pos>H)return S;if(le.node.end>H){S=le;continue e}}return S}}a.getWrappedNodeAtPosition=nt;function Ze(S){if(S.kind===_.SyntaxKind.ComputedPropertyName){let H=Os(S.expression);if(v.isPrefixUnaryExpression(H)){let le=!1;switch(H.operator){case _.SyntaxKind.MinusToken:le=!0;case _.SyntaxKind.PlusToken:return v.isNumericLiteral(H.operand)?`${le?"-":""}${H.operand.text}`:h.isBigIntLiteral(H.operand)?`${le?"-":""}${H.operand.text.slice(0,-1)}`:void 0;default:return}}return h.isBigIntLiteral(H)?H.text.slice(0,-1):v.isNumericOrStringLikeLiteral(H)?H.text:void 0}return S.kind===_.SyntaxKind.PrivateIdentifier?void 0:S.text}a.getPropertyName=Ze;function st(S,H){for(let le of S.elements){if(le.kind!==_.SyntaxKind.BindingElement)continue;let Be;if(le.name.kind===_.SyntaxKind.Identifier?Be=H(le):Be=st(le.name,H),Be)return Be}}a.forEachDestructuringIdentifier=st;function tt(S,H){for(let le of S.declarations){let Be;if(le.name.kind===_.SyntaxKind.Identifier?Be=H(le):Be=st(le.name,H),Be)return Be}}a.forEachDeclaredVariable=tt;var ct;(function(S){S[S.Var=0]="Var",S[S.Let=1]="Let",S[S.Const=2]="Const"})(ct=a.VariableDeclarationKind||(a.VariableDeclarationKind={}));function ne(S){return S.flags&_.NodeFlags.Let?1:S.flags&_.NodeFlags.Const?2:0}a.getVariableDeclarationKind=ne;function ge(S){return(S.flags&_.NodeFlags.BlockScoped)!==0}a.isBlockScopedVariableDeclarationList=ge;function Fe(S){let H=S.parent;return H.kind===_.SyntaxKind.CatchClause||ge(H)}a.isBlockScopedVariableDeclaration=Fe;function at(S){switch(S.kind){case _.SyntaxKind.VariableStatement:return ge(S.declarationList);case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.EnumDeclaration:case _.SyntaxKind.InterfaceDeclaration:case _.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}}a.isBlockScopedDeclarationStatement=at;function Pt(S){switch(S.parent.kind){case _.SyntaxKind.ForStatement:case _.SyntaxKind.ForInStatement:case _.SyntaxKind.ForOfStatement:case _.SyntaxKind.WhileStatement:case _.SyntaxKind.DoStatement:case _.SyntaxKind.IfStatement:case _.SyntaxKind.WithStatement:case _.SyntaxKind.LabeledStatement:return!0;default:return!1}}a.isInSingleStatementContext=Pt;var qt;(function(S){S[S.None=0]="None",S[S.Function=1]="Function",S[S.Block=2]="Block",S[S.Type=4]="Type",S[S.ConditionalType=8]="ConditionalType"})(qt=a.ScopeBoundary||(a.ScopeBoundary={}));var Zr;(function(S){S[S.Function=1]="Function",S[S.Block=3]="Block",S[S.Type=7]="Type",S[S.InferType=8]="InferType"})(Zr=a.ScopeBoundarySelector||(a.ScopeBoundarySelector={}));function Ri(S){return ua(S)||Ka(S)||la(S)}a.isScopeBoundary=Ri;function la(S){switch(S.kind){case _.SyntaxKind.InterfaceDeclaration:case _.SyntaxKind.TypeAliasDeclaration:case _.SyntaxKind.MappedType:return 4;case _.SyntaxKind.ConditionalType:return 8;default:return 0}}a.isTypeScopeBoundary=la;function ua(S){switch(S.kind){case _.SyntaxKind.FunctionExpression:case _.SyntaxKind.ArrowFunction:case _.SyntaxKind.Constructor:case _.SyntaxKind.ModuleDeclaration:case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.ClassExpression:case _.SyntaxKind.EnumDeclaration:case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.FunctionDeclaration:case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:case _.SyntaxKind.MethodSignature:case _.SyntaxKind.CallSignature:case _.SyntaxKind.ConstructSignature:case _.SyntaxKind.ConstructorType:case _.SyntaxKind.FunctionType:return 1;case _.SyntaxKind.SourceFile:return _.isExternalModule(S)?1:0;default:return 0}}a.isFunctionScopeBoundary=ua;function Ka(S){switch(S.kind){case _.SyntaxKind.Block:let H=S.parent;return H.kind!==_.SyntaxKind.CatchClause&&(H.kind===_.SyntaxKind.SourceFile||!ua(H))?2:0;case _.SyntaxKind.ForStatement:case _.SyntaxKind.ForInStatement:case _.SyntaxKind.ForOfStatement:case _.SyntaxKind.CaseBlock:case _.SyntaxKind.CatchClause:case _.SyntaxKind.WithStatement:return 2;default:return 0}}a.isBlockScopeBoundary=Ka;function co(S){switch(S.kind){case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.ClassExpression:case _.SyntaxKind.FunctionExpression:return!0;case _.SyntaxKind.FunctionDeclaration:return S.body!==void 0;case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:return S.parent.kind===_.SyntaxKind.ObjectLiteralExpression;default:return!1}}a.hasOwnThisReference=co;function be(S){switch(S.kind){case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:case _.SyntaxKind.FunctionDeclaration:case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.Constructor:return S.body!==void 0;case _.SyntaxKind.FunctionExpression:case _.SyntaxKind.ArrowFunction:return!0;default:return!1}}a.isFunctionWithBody=be;function Ke(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=[];for(;;){if(y(S.kind))H(S);else if(S.kind!==_.SyntaxKind.JSDocComment){let rt=S.getChildren(le);if(rt.length===1){S=rt[0];continue}for(let ut=rt.length-1;ut>=0;--ut)Be.push(rt[ut])}if(Be.length===0)break;S=Be.pop()}}a.forEachToken=Ke;function Et(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=le.text,rt=_.createScanner(le.languageVersion,!1,le.languageVariant,Be);return Ke(S,ut=>{let Ht=ut.kind===_.SyntaxKind.JsxText||ut.pos===ut.end?ut.pos:ut.getStart(le);if(Ht!==ut.pos){rt.setTextPos(ut.pos);let Fr=rt.scan(),Cr=rt.getTokenPos();for(;Cr2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=le.text,rt=le.languageVariant!==_.LanguageVariant.JSX;return Ke(S,Ht=>{if(Ht.pos!==Ht.end&&(Ht.kind!==_.SyntaxKind.JsxText&&_.forEachLeadingCommentRange(Be,Ht.pos===0?(_.getShebang(Be)||"").length:Ht.pos,ut),rt||or(Ht)))return _.forEachTrailingCommentRange(Be,Ht.end,ut)},le);function ut(Ht,Fr,Cr){H(Be,{pos:Ht,end:Fr,kind:Cr})}}a.forEachComment=Ft;function or(S){switch(S.kind){case _.SyntaxKind.CloseBraceToken:return S.parent.kind!==_.SyntaxKind.JsxExpression||!Wr(S.parent.parent);case _.SyntaxKind.GreaterThanToken:switch(S.parent.kind){case _.SyntaxKind.JsxOpeningElement:return S.end!==S.parent.end;case _.SyntaxKind.JsxOpeningFragment:return!1;case _.SyntaxKind.JsxSelfClosingElement:return S.end!==S.parent.end||!Wr(S.parent.parent);case _.SyntaxKind.JsxClosingElement:case _.SyntaxKind.JsxClosingFragment:return!Wr(S.parent.parent.parent)}}return!0}function Wr(S){return S.kind===_.SyntaxKind.JsxElement||S.kind===_.SyntaxKind.JsxFragment}function m_(S){let H=S.getLineStarts(),le=[],Be=H.length,rt=S.text,ut=0;for(let Ht=1;Htut&&_.isLineBreak(rt.charCodeAt(Cr-1));--Cr);le.push({pos:ut,end:Fr,contentLength:Cr-ut}),ut=Fr}return le.push({pos:ut,end:S.end,contentLength:S.end-ut}),le}a.getLineRanges=m_;function Uc(S){let H=S.getLineStarts();return H.length===1||H[1]<2||S.text[H[1]-2]!=="\r"?` -`:`\r -`}a.getLineBreakStyle=Uc;var ji;function lo(S,H){return ji===void 0?ji=_.createScanner(H,!1,void 0,S):(ji.setScriptTarget(H),ji.setText(S)),ji.scan(),ji}function zc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest,le=lo(S,H);return le.isIdentifier()&&le.getTextPos()===S.length&&le.getTokenPos()===0}a.isValidIdentifier=zc;function Qn(S){return S>=65536?2:1}function uo(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(S.length===0)return!1;let le=S.codePointAt(0);if(!_.isIdentifierStart(le,H))return!1;for(let Be=Qn(le);Be1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(uo(S,H))return!0;let le=lo(S,H);return le.getTextPos()===S.length&&le.getToken()===_.SyntaxKind.NumericLiteral&&le.getTokenValue()===S}a.isValidPropertyName=Wc;function Vc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest,le=lo(S,H);return le.getToken()===_.SyntaxKind.NumericLiteral&&le.getTextPos()===S.length&&le.getTokenPos()===0}a.isValidNumericLiteral=Vc;function Hc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(S.length===0)return!1;let le=!1,Be=S.codePointAt(0);if(!_.isIdentifierStart(Be,H))return!1;for(let rt=Qn(Be);rt2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile();if(y_(S)&&S.kind!==_.SyntaxKind.EndOfFileToken){let Be=Ns(S,le);if(Be.length!==0||!H)return Be}return pa(S,S.getStart(le),le,H)}a.parseJsDocOfNode=Kc;function pa(S,H,le,Be){let rt=_[Be&&h_(le,S.pos,H)?"forEachTrailingCommentRange":"forEachLeadingCommentRange"](le.text,S.pos,(en,Ji,gi)=>gi===_.SyntaxKind.MultiLineCommentTrivia&&le.text[en+2]==="*"?{pos:en}:void 0);if(rt===void 0)return[];let ut=rt.pos,Ht=le.text.slice(ut,H),Fr=_.createSourceFile("jsdoc.ts",`${Ht}var a;`,le.languageVersion),Cr=Ns(Fr.statements[0],Fr);for(let en of Cr)ir(en,S);return Cr;function ir(en,Ji){return en.pos+=ut,en.end+=ut,en.parent=Ji,_.forEachChild(en,gi=>ir(gi,en),gi=>{gi.pos+=ut,gi.end+=ut;for(let ln of gi)ir(ln,en)})}}var Xc;(function(S){S[S.ImportDeclaration=1]="ImportDeclaration",S[S.ImportEquals=2]="ImportEquals",S[S.ExportFrom=4]="ExportFrom",S[S.DynamicImport=8]="DynamicImport",S[S.Require=16]="Require",S[S.ImportType=32]="ImportType",S[S.All=63]="All",S[S.AllImports=59]="AllImports",S[S.AllStaticImports=3]="AllStaticImports",S[S.AllImportExpressions=24]="AllImportExpressions",S[S.AllRequireLike=18]="AllRequireLike",S[S.AllNestedImports=56]="AllNestedImports",S[S.AllTopLevelImports=7]="AllTopLevelImports"})(Xc=a.ImportKind||(a.ImportKind={}));function fo(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Be=[];for(let ut of v_(S,H,le))switch(ut.kind){case _.SyntaxKind.ImportDeclaration:rt(ut.moduleSpecifier);break;case _.SyntaxKind.ImportEqualsDeclaration:rt(ut.moduleReference.expression);break;case _.SyntaxKind.ExportDeclaration:rt(ut.moduleSpecifier);break;case _.SyntaxKind.CallExpression:rt(ut.arguments[0]);break;case _.SyntaxKind.ImportType:v.isLiteralTypeNode(ut.argument)&&rt(ut.argument.literal);break;default:throw new Error("unexpected node")}return Be;function rt(ut){v.isTextualLiteral(ut)&&Be.push(ut)}}a.findImports=fo;function v_(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return new Cn(S,H,le).find()}a.findImportLikeNodes=v_;var Cn=class{constructor(S,H,le){this._sourceFile=S,this._options=H,this._ignoreFileName=le,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),this._options&7&&this._findImports(this._sourceFile.statements),this._options&56&&this._findNestedImports(),this._result}_findImports(S){for(let H of S)v.isImportDeclaration(H)?this._options&1&&this._result.push(H):v.isImportEqualsDeclaration(H)?this._options&2&&H.moduleReference.kind===_.SyntaxKind.ExternalModuleReference&&this._result.push(H):v.isExportDeclaration(H)?H.moduleSpecifier!==void 0&&this._options&4&&this._result.push(H):v.isModuleDeclaration(H)&&this._findImportsInModule(H)}_findImportsInModule(S){if(S.body!==void 0){if(S.body.kind===_.SyntaxKind.ModuleDeclaration)return this._findImportsInModule(S.body);this._findImports(S.body.statements)}}_findNestedImports(){let S=this._ignoreFileName||(this._sourceFile.flags&_.NodeFlags.JavaScriptFile)!==0,H,le;if((this._options&56)===16){if(!S)return;H=/\brequire\s*[1&&this._result.push(rt.parent)}}else rt.kind===_.SyntaxKind.Identifier&&rt.end-7===Be.index&&rt.parent.kind===_.SyntaxKind.CallExpression&&rt.parent.expression===rt&&rt.parent.arguments.length===1&&this._result.push(rt.parent)}}};function Zn(S){for(;S.flags&_.NodeFlags.NestedNamespace;)S=S.parent;return q(S.modifiers,_.SyntaxKind.DeclareKeyword)||Xa(S.parent)}a.isStatementInAmbientContext=Zn;function Xa(S){for(;S.kind===_.SyntaxKind.ModuleBlock;){do S=S.parent;while(S.flags&_.NodeFlags.NestedNamespace);if(q(S.modifiers,_.SyntaxKind.DeclareKeyword))return!0;S=S.parent}return!1}a.isAmbientModuleBlock=Xa;function Yc(S){let H=S.parent;for(;H.kind===_.SyntaxKind.ParenthesizedExpression;)H=H.parent;return v.isCallExpression(H)&&S.end<=H.expression.end?H:void 0}a.getIIFE=Yc;function mo(S,H){return(S.strict?S[H]!==!1:S[H]===!0)&&(H!=="strictPropertyInitialization"||mo(S,"strictNullChecks"))}a.isStrictCompilerOptionEnabled=mo;function ei(S,H){switch(H){case"stripInternal":case"declarationMap":case"emitDeclarationOnly":return S[H]===!0&&ei(S,"declaration");case"declaration":return S.declaration||ei(S,"composite");case"incremental":return S.incremental===void 0?ei(S,"composite"):S.incremental;case"skipDefaultLibCheck":return S.skipDefaultLibCheck||ei(S,"skipLibCheck");case"suppressImplicitAnyIndexErrors":return S.suppressImplicitAnyIndexErrors===!0&&ei(S,"noImplicitAny");case"allowSyntheticDefaultImports":return S.allowSyntheticDefaultImports!==void 0?S.allowSyntheticDefaultImports:ei(S,"esModuleInterop")||S.module===_.ModuleKind.System;case"noUncheckedIndexedAccess":return S.noUncheckedIndexedAccess===!0&&ei(S,"strictNullChecks");case"allowJs":return S.allowJs===void 0?ei(S,"checkJs"):S.allowJs;case"noImplicitAny":case"noImplicitThis":case"strictNullChecks":case"strictFunctionTypes":case"strictPropertyInitialization":case"alwaysStrict":case"strictBindCallApply":return mo(S,H)}return S[H]===!0}a.isCompilerOptionEnabled=ei;function Ya(S){return S.name.kind===_.SyntaxKind.StringLiteral||(S.flags&_.NodeFlags.GlobalAugmentation)!==0}a.isAmbientModule=Ya;function b_(S){return Qa(S)}a.getCheckJsDirective=b_;function Qa(S){let H;return _.forEachLeadingCommentRange(S,(_.getShebang(S)||"").length,(le,Be,rt)=>{if(rt===_.SyntaxKind.SingleLineCommentTrivia){let ut=S.slice(le,Be),Ht=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(ut);Ht!==null&&(H={pos:le,end:Be,enabled:Ht[1]===void 0})}}),H}a.getTsCheckDirective=Qa;function Jr(S){return v.isTypeReferenceNode(S.type)&&S.type.typeName.kind===_.SyntaxKind.Identifier&&S.type.typeName.escapedText==="const"}a.isConstAssertion=Jr;function Qc(S){let H=S;for(;;){let le=H.parent;e:switch(le.kind){case _.SyntaxKind.TypeAssertionExpression:case _.SyntaxKind.AsExpression:return Jr(le);case _.SyntaxKind.PrefixUnaryExpression:if(H.kind!==_.SyntaxKind.NumericLiteral)return!1;switch(le.operator){case _.SyntaxKind.PlusToken:case _.SyntaxKind.MinusToken:H=le;break e;default:return!1}case _.SyntaxKind.PropertyAssignment:if(le.initializer!==H)return!1;H=le.parent;break;case _.SyntaxKind.ShorthandPropertyAssignment:H=le.parent;break;case _.SyntaxKind.ParenthesizedExpression:case _.SyntaxKind.ArrayLiteralExpression:case _.SyntaxKind.ObjectLiteralExpression:case _.SyntaxKind.TemplateExpression:H=le;break;default:return!1}}}a.isInConstContext=Qc;function ho(S,H){if(!T_(S))return!1;let le=H.getTypeAtLocation(S.arguments[2]);if(le.getProperty("value")===void 0)return le.getProperty("set")===void 0;let Be=le.getProperty("writable");if(Be===void 0)return!1;let rt=Be.valueDeclaration!==void 0&&v.isPropertyAssignment(Be.valueDeclaration)?H.getTypeAtLocation(Be.valueDeclaration.initializer):H.getTypeOfSymbolAtLocation(Be,S.arguments[2]);return D.isBooleanLiteralType(rt,!1)}a.isReadonlyAssignmentDeclaration=ho;function T_(S){return S.arguments.length===3&&v.isEntityNameExpression(S.arguments[0])&&v.isNumericOrStringLikeLiteral(S.arguments[1])&&v.isPropertyAccessExpression(S.expression)&&S.expression.name.escapedText==="defineProperty"&&v.isIdentifier(S.expression.expression)&&S.expression.expression.escapedText==="Object"}a.isBindableObjectDefinePropertyCall=T_;function go(S){return _.isPropertyAccessExpression(S)&&_.isIdentifier(S.expression)&&S.expression.escapedText==="Symbol"}a.isWellKnownSymbolLiterally=go;function yo(S){return{displayName:`[Symbol.${S.name.text}]`,symbolName:"__@"+S.name.text}}a.getPropertyNameOfWellKnownSymbol=yo;var Za=(S=>{let[H,le]=S;return H<"4"||H==="4"&&le<"3"})(_.versionMajorMinor.split("."));function vo(S,H){let le={known:!0,names:[]};if(S=Os(S),Za&&go(S))le.names.push(yo(S));else{let Be=H.getTypeAtLocation(S);for(let rt of D.unionTypeParts(H.getBaseConstraintOfType(Be)||Be)){let ut=D.getPropertyNameFromType(rt);ut?le.names.push(ut):le.known=!1}}return le}a.getLateBoundPropertyNames=vo;function S_(S,H){let le=Ze(S);return le!==void 0?{known:!0,names:[{displayName:le,symbolName:_.escapeLeadingUnderscores(le)}]}:S.kind===_.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:S.text,symbolName:H.getSymbolAtLocation(S).escapedName}]}:vo(S.expression,H)}a.getLateBoundPropertyNamesOfPropertyName=S_;function Zc(S,H){let le=Ze(S);if(le!==void 0)return{displayName:le,symbolName:_.escapeLeadingUnderscores(le)};if(S.kind===_.SyntaxKind.PrivateIdentifier)return{displayName:S.text,symbolName:H.getSymbolAtLocation(S).escapedName};let{expression:Be}=S;return Za&&go(Be)?yo(Be):D.getPropertyNameFromType(H.getTypeAtLocation(Be))}a.getSingleLateBoundPropertyNameOfPropertyName=Zc;function Os(S){for(;S.kind===_.SyntaxKind.ParenthesizedExpression;)S=S.expression;return S}a.unwrapParentheses=Os;function bo(S){return`${S.negative?"-":""}${S.base10Value}n`}a.formatPseudoBigInt=bo;function el(S,H){let le=S.caseBlock.clauses.filter(v.isCaseClause);if(le.length===0)return!1;let Be=D.unionTypeParts(H.getTypeAtLocation(S.expression));if(Be.length>le.length)return!1;let rt=new Set(Be.map(x_));if(rt.has(void 0))return!1;let ut=new Set;for(let Ht of le){let Fr=H.getTypeAtLocation(Ht.expression);if(a.isTypeFlagSet(Fr,_.TypeFlags.Never))continue;let Cr=x_(Fr);if(rt.has(Cr))ut.add(Cr);else if(Cr!=="null"&&Cr!=="undefined")return!1}return rt.size===ut.size}a.hasExhaustiveCaseClauses=el;function x_(S){if(a.isTypeFlagSet(S,_.TypeFlags.Null))return"null";if(a.isTypeFlagSet(S,_.TypeFlags.Undefined))return"undefined";if(a.isTypeFlagSet(S,_.TypeFlags.NumberLiteral))return`${a.isTypeFlagSet(S,_.TypeFlags.EnumLiteral)?"enum:":""}${S.value}`;if(a.isTypeFlagSet(S,_.TypeFlags.StringLiteral))return`${a.isTypeFlagSet(S,_.TypeFlags.EnumLiteral)?"enum:":""}string:${S.value}`;if(a.isTypeFlagSet(S,_.TypeFlags.BigIntLiteral))return bo(S.value);if(h.isUniqueESSymbolType(S))return S.escapedName;if(D.isBooleanLiteralType(S,!0))return"true";if(D.isBooleanLiteralType(S,!1))return"false"}function E_(S){var H;if(((H=S.heritageClauses)===null||H===void 0?void 0:H[0].token)===_.SyntaxKind.ExtendsKeyword)return S.heritageClauses[0].types[0]}a.getBaseOfClassLikeExpression=E_}}),NV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E};Object.defineProperty(a,"__esModule",{value:!0}),a.convertComments=void 0;var D=K9(),P=h(vr()),y=E1(),m=x1();function C(d,E){let I=[];return(0,D.forEachComment)(d,(c,M)=>{let q=M.kind===P.SyntaxKind.SingleLineCommentTrivia?m.AST_TOKEN_TYPES.Line:m.AST_TOKEN_TYPES.Block,W=[M.pos,M.end],K=(0,y.getLocFor)(W[0],W[1],d),ce=W[0]+2,Ce=M.kind===P.SyntaxKind.SingleLineCommentTrivia?W[1]-ce:W[1]-ce-2;I.push({type:q,value:E.slice(ce,ce+Ce),range:W,loc:K})},d),I}a.convertComments=C}}),X9=Ne({"node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0});var _={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXClosingFragment:[],JSXOpeningFragment:[],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},v=Object.keys(_);for(let m of v)Object.freeze(_[m]);Object.freeze(_);var h=new Set(["parent","leadingComments","trailingComments"]);function D(m){return!h.has(m)&&m[0]!=="_"}function P(m){return Object.keys(m).filter(D)}function y(m){let C=Object.assign({},_);for(let d of Object.keys(m))if(Object.prototype.hasOwnProperty.call(C,d)){let E=new Set(m[d]);for(let I of C[d])E.add(I);C[d]=Object.freeze(Array.from(E))}else C[d]=Object.freeze(Array.from(m[d]));return Object.freeze(C)}a.KEYS=_,a.getKeys=P,a.unionWith=y}}),OV=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.getKeys=void 0;var _=X9(),v=_.getKeys;a.getKeys=v}}),MV=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__setModuleDefault||(Object.create?function(C,d){Object.defineProperty(C,"default",{enumerable:!0,value:d})}:function(C,d){C.default=d}),h=a&&a.__importStar||function(C){if(C&&C.__esModule)return C;var d={};if(C!=null)for(var E in C)E!=="default"&&Object.prototype.hasOwnProperty.call(C,E)&&_(d,C,E);return v(d,C),d};Object.defineProperty(a,"__esModule",{value:!0}),a.visitorKeys=void 0;var D=h(X9()),P=(()=>{let C=["typeParameters","params","returnType"],d=[...C,"body"],E=["decorators","key","typeAnnotation"];return{AnonymousFunction:d,Function:["id",...d],FunctionType:C,ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],AbstractPropertyDefinition:["decorators","key","typeAnnotation"],PropertyDefinition:[...E,"value"],TypeAssertion:["expression","typeAnnotation"]}})(),y={AccessorProperty:P.PropertyDefinition,ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:P.AnonymousFunction,AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:P.ClassDeclaration,ClassExpression:P.ClassDeclaration,Decorator:["expression"],ExportAllDeclaration:["exported","source","assertions"],ExportNamedDeclaration:["declaration","specifiers","source","assertions"],FunctionDeclaration:P.Function,FunctionExpression:P.Function,Identifier:["decorators","typeAnnotation"],ImportAttribute:["key","value"],ImportDeclaration:["specifiers","source","assertions"],ImportExpression:["source","attributes"],JSXClosingFragment:[],JSXOpeningElement:["name","typeParameters","attributes"],JSXOpeningFragment:[],JSXSpreadChild:["expression"],MethodDefinition:["decorators","key","value","typeParameters"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],PropertyDefinition:P.PropertyDefinition,RestElement:["decorators","argument","typeAnnotation"],StaticBlock:["body"],TaggedTemplateExpression:["tag","typeParameters","quasi"],TSAbstractAccessorProperty:P.AbstractPropertyDefinition,TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:P.AbstractPropertyDefinition,TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:P.TypeAssertion,TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:P.FunctionType,TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:P.FunctionType,TSConstructSignatureDeclaration:P.FunctionType,TSDeclareFunction:P.Function,TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id",...P.FunctionType],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:P.FunctionType,TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInstantiationExpression:["expression","typeParameters"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSIntrinsicKeyword:[],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["label","elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSSatisfiesExpression:["typeAnnotation","expression"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:P.TypeAssertion,TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName","typeParameters"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]},m=D.unionWith(y);a.visitorKeys=m}}),Y9=Ne({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/index.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.visitorKeys=a.getKeys=void 0;var _=OV();Object.defineProperty(a,"getKeys",{enumerable:!0,get:function(){return _.getKeys}});var v=MV();Object.defineProperty(a,"visitorKeys",{enumerable:!0,get:function(){return v.visitorKeys}})}}),Q9=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.simpleTraverse=void 0;var _=Y9();function v(y){return y!=null&&typeof y=="object"&&typeof y.type=="string"}function h(y,m){let C=y[m.type];return C!=null?C:[]}var D=class{constructor(y){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.allVisitorKeys=_.visitorKeys,this.selectors=y,this.setParentPointers=m}traverse(y,m){if(!v(y))return;this.setParentPointers&&(y.parent=m),"enter"in this.selectors?this.selectors.enter(y,m):y.type in this.selectors&&this.selectors[y.type](y,m);let C=h(this.allVisitorKeys,y);if(!(C.length<1))for(let d of C){let E=y[d];if(Array.isArray(E))for(let I of E)this.traverse(I,y);else this.traverse(E,y)}}};function P(y,m){let C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;new D(m,C).traverse(y,void 0)}a.simpleTraverse=P}}),LV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.astConverter=void 0;var _=W9(),v=NV(),h=E1(),D=Q9();function P(y,m,C){let{parseDiagnostics:d}=y;if(d.length)throw(0,_.convertError)(d[0]);let E=new _.Converter(y,{errorOnUnknownASTType:m.errorOnUnknownASTType||!1,shouldPreserveNodeMaps:C}),I=E.convertProgram();(!m.range||!m.loc)&&(0,D.simpleTraverse)(I,{enter:M=>{m.range||delete M.range,m.loc||delete M.loc}}),m.tokens&&(I.tokens=(0,h.convertTokens)(y)),m.comment&&(I.comments=(0,v.convertComments)(y,m.code));let c=E.getASTMaps();return{estree:I,astMaps:c}}a.astConverter=P}}),Z9={};m1(Z9,{basename:()=>i5,default:()=>s5,delimiter:()=>nT,dirname:()=>n5,extname:()=>a5,isAbsolute:()=>mT,join:()=>t5,normalize:()=>dT,relative:()=>r5,resolve:()=>d1,sep:()=>rT});function e5(a,_){for(var v=0,h=a.length-1;h>=0;h--){var D=a[h];D==="."?a.splice(h,1):D===".."?(a.splice(h,1),v++):v&&(a.splice(h,1),v--)}if(_)for(;v--;v)a.unshift("..");return a}function d1(){for(var a="",_=!1,v=arguments.length-1;v>=-1&&!_;v--){var h=v>=0?arguments[v]:"/";if(typeof h!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!h)continue;a=h+"/"+a,_=h.charAt(0)==="/"}return a=e5(hT(a.split("/"),function(D){return!!D}),!_).join("/"),(_?"/":"")+a||"."}function dT(a){var _=mT(a),v=o5(a,-1)==="/";return a=e5(hT(a.split("/"),function(h){return!!h}),!_).join("/"),!a&&!_&&(a="."),a&&v&&(a+="/"),(_?"/":"")+a}function mT(a){return a.charAt(0)==="/"}function t5(){var a=Array.prototype.slice.call(arguments,0);return dT(hT(a,function(_,v){if(typeof _!="string")throw new TypeError("Arguments to path.join must be strings");return _}).join("/"))}function r5(a,_){a=d1(a).substr(1),_=d1(_).substr(1);function v(d){for(var E=0;E=0&&d[I]==="";I--);return E>I?[]:d.slice(E,I-E+1)}for(var h=v(a.split("/")),D=v(_.split("/")),P=Math.min(h.length,D.length),y=P,m=0;mPe:Pe=>Pe.toLowerCase();function c(Pe){let te=P.default.normalize(Pe);return te.endsWith(P.default.sep)&&(te=te.slice(0,-1)),I(te)}a.getCanonicalFileName=c;function M(Pe,te){return P.default.isAbsolute(Pe)?Pe:P.default.join(te||"/prettier-security-dirname-placeholder",Pe)}a.ensureAbsolutePath=M;function q(Pe){return P.default.dirname(Pe)}a.canonicalDirname=q;var W=[y.Extension.Dts,y.Extension.Dcts,y.Extension.Dmts];function K(Pe){var te;return Pe?(te=W.find(he=>Pe.endsWith(he)))!==null&&te!==void 0?te:P.default.extname(Pe):null}function ce(Pe,te){let he=Pe.getSourceFile(te.filePath),De=K(te.filePath),R=K(he==null?void 0:he.fileName);if(De===R)return he&&{ast:he,program:Pe}}a.getAstFromProgram=ce;function Ce(Pe){let te;try{throw new Error("Dynamic require is not supported")}catch{let De=["Could not find the provided parserOptions.moduleResolver.","Hint: use an absolute path if you are not in control over where the ESLint instance runs."];throw new Error(De.join(` -`))}return te}a.getModuleResolver=Ce;function me(Pe){var te;return!((te=y.sys)===null||te===void 0)&&te.createHash?y.sys.createHash(Pe):Pe}a.createHash=me}}),jV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(I,c,M,q){q===void 0&&(q=M);var W=Object.getOwnPropertyDescriptor(c,M);(!W||("get"in W?!c.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return c[M]}}),Object.defineProperty(I,q,W)}:function(I,c,M,q){q===void 0&&(q=M),I[q]=c[M]}),v=a&&a.__setModuleDefault||(Object.create?function(I,c){Object.defineProperty(I,"default",{enumerable:!0,value:c})}:function(I,c){I.default=c}),h=a&&a.__importStar||function(I){if(I&&I.__esModule)return I;var c={};if(I!=null)for(var M in I)M!=="default"&&Object.prototype.hasOwnProperty.call(I,M)&&_(c,I,M);return v(c,I),c},D=a&&a.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(a,"__esModule",{value:!0}),a.createDefaultProgram=void 0;var P=D(Ga()),y=D(_o()),m=h(vr()),C=d_(),d=(0,P.default)("typescript-eslint:typescript-estree:createDefaultProgram");function E(I){var c;if(d("Getting default program for: %s",I.filePath||"unnamed file"),((c=I.projects)===null||c===void 0?void 0:c.length)!==1)return;let M=I.projects[0],q=m.getParsedCommandLineOfConfigFile(M,(0,C.createDefaultCompilerOptionsFromExtra)(I),Object.assign(Object.assign({},m.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!q)return;let W=m.createCompilerHost(q.options,!0);I.moduleResolver&&(W.resolveModuleNames=(0,C.getModuleResolver)(I.moduleResolver).resolveModuleNames);let K=W.readFile;W.readFile=me=>y.default.normalize(me)===y.default.normalize(I.filePath)?I.code:K(me);let ce=m.createProgram([I.filePath],q.options,W),Ce=ce.getSourceFile(I.filePath);return Ce&&{ast:Ce,program:ce}}a.createDefaultProgram=E}}),gT=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E},D=a&&a.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(a,"__esModule",{value:!0}),a.getLanguageVariant=a.getScriptKind=void 0;var P=D(_o()),y=h(vr());function m(d,E){switch(P.default.extname(d).toLowerCase()){case y.Extension.Js:case y.Extension.Cjs:case y.Extension.Mjs:return y.ScriptKind.JS;case y.Extension.Jsx:return y.ScriptKind.JSX;case y.Extension.Ts:case y.Extension.Cts:case y.Extension.Mts:return y.ScriptKind.TS;case y.Extension.Tsx:return y.ScriptKind.TSX;case y.Extension.Json:return y.ScriptKind.JSON;default:return E?y.ScriptKind.TSX:y.ScriptKind.TS}}a.getScriptKind=m;function C(d){switch(d){case y.ScriptKind.TSX:case y.ScriptKind.JSX:case y.ScriptKind.JS:case y.ScriptKind.JSON:return y.LanguageVariant.JSX;default:return y.LanguageVariant.Standard}}a.getLanguageVariant=C}}),JV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(I,c,M,q){q===void 0&&(q=M);var W=Object.getOwnPropertyDescriptor(c,M);(!W||("get"in W?!c.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return c[M]}}),Object.defineProperty(I,q,W)}:function(I,c,M,q){q===void 0&&(q=M),I[q]=c[M]}),v=a&&a.__setModuleDefault||(Object.create?function(I,c){Object.defineProperty(I,"default",{enumerable:!0,value:c})}:function(I,c){I.default=c}),h=a&&a.__importStar||function(I){if(I&&I.__esModule)return I;var c={};if(I!=null)for(var M in I)M!=="default"&&Object.prototype.hasOwnProperty.call(I,M)&&_(c,I,M);return v(c,I),c},D=a&&a.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(a,"__esModule",{value:!0}),a.createIsolatedProgram=void 0;var P=D(Ga()),y=h(vr()),m=gT(),C=d_(),d=(0,P.default)("typescript-eslint:typescript-estree:createIsolatedProgram");function E(I){d("Getting isolated program in %s mode for: %s",I.jsx?"TSX":"TS",I.filePath);let c={fileExists(){return!0},getCanonicalFileName(){return I.filePath},getCurrentDirectory(){return""},getDirectories(){return[]},getDefaultLibFileName(){return"lib.d.ts"},getNewLine(){return` -`},getSourceFile(W){return y.createSourceFile(W,I.code,y.ScriptTarget.Latest,!0,(0,m.getScriptKind)(I.filePath,I.jsx))},readFile(){},useCaseSensitiveFileNames(){return!0},writeFile(){return null}},M=y.createProgram([I.filePath],Object.assign({noResolve:!0,target:y.ScriptTarget.Latest,jsx:I.jsx?y.JsxEmit.Preserve:void 0},(0,C.createDefaultCompilerOptionsFromExtra)(I)),c),q=M.getSourceFile(I.filePath);if(!q)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:q,program:M}}a.createIsolatedProgram=E}}),FV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js"(a){"use strict";ke();var _=a&&a.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(a,"__esModule",{value:!0}),a.describeFilePath=void 0;var v=_(_o());function h(D,P){let y=v.default.relative(P,D);return y&&!y.startsWith("..")&&!v.default.isAbsolute(y)?`/${y}`:/^[(\w+:)\\/~]/.test(D)||/\.\.[/\\]\.\./.test(y)?D:`/${y}`}a.describeFilePath=h}}),_5={};m1(_5,{default:()=>c5});var c5,BV=yp({"node-modules-polyfills:fs"(){ke(),c5={}}}),yT=Ne({"node-modules-polyfills-commonjs:fs"(a,_){ke();var v=(BV(),Li(_5));if(v&&v.default){_.exports=v.default;for(let h in v)_.exports[h]=v[h]}else v&&(_.exports=v)}}),l5=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(Je,Xe,ee,je){je===void 0&&(je=ee);var nt=Object.getOwnPropertyDescriptor(Xe,ee);(!nt||("get"in nt?!Xe.__esModule:nt.writable||nt.configurable))&&(nt={enumerable:!0,get:function(){return Xe[ee]}}),Object.defineProperty(Je,je,nt)}:function(Je,Xe,ee,je){je===void 0&&(je=ee),Je[je]=Xe[ee]}),v=a&&a.__setModuleDefault||(Object.create?function(Je,Xe){Object.defineProperty(Je,"default",{enumerable:!0,value:Xe})}:function(Je,Xe){Je.default=Xe}),h=a&&a.__importStar||function(Je){if(Je&&Je.__esModule)return Je;var Xe={};if(Je!=null)for(var ee in Je)ee!=="default"&&Object.prototype.hasOwnProperty.call(Je,ee)&&_(Xe,Je,ee);return v(Xe,Je),Xe},D=a&&a.__importDefault||function(Je){return Je&&Je.__esModule?Je:{default:Je}};Object.defineProperty(a,"__esModule",{value:!0}),a.getWatchProgramsForProjects=a.clearWatchCaches=void 0;var P=D(Ga()),y=D(yT()),m=D(pT()),C=h(vr()),d=d_(),E=(0,P.default)("typescript-eslint:typescript-estree:createWatchProgram"),I=new Map,c=new Map,M=new Map,q=new Map,W=new Map,K=new Map;function ce(){I.clear(),c.clear(),M.clear(),K.clear(),q.clear(),W.clear()}a.clearWatchCaches=ce;function Ce(Je){return(Xe,ee)=>{let je=(0,d.getCanonicalFileName)(Xe),nt=(()=>{let Ze=Je.get(je);return Ze||(Ze=new Set,Je.set(je,Ze)),Ze})();return nt.add(ee),{close:()=>{nt.delete(ee)}}}}var me={code:"",filePath:""};function Pe(Je){throw new Error(C.flattenDiagnosticMessageText(Je.messageText,C.sys.newLine))}function te(Je,Xe,ee){let je=ee.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(Xe.getSourceFiles().map(nt=>(0,d.getCanonicalFileName)(nt.fileName))):new Set(Xe.getRootFileNames().map(nt=>(0,d.getCanonicalFileName)(nt)));return q.set(Je,je),je}function he(Je){let Xe=(0,d.getCanonicalFileName)(Je.filePath),ee=[];me.code=Je.code,me.filePath=Xe;let je=c.get(Xe),nt=(0,d.createHash)(Je.code);K.get(Xe)!==nt&&je&&je.size>0&&je.forEach(st=>st(Xe,C.FileWatcherEventKind.Changed));let Ze=new Set(Je.projects);for(let[st,tt]of I.entries()){if(!Ze.has(st))continue;let ct=q.get(st),ne=null;if(ct||(ne=tt.getProgram().getProgram(),ct=te(st,ne,Je)),ct.has(Xe))return E("Found existing program for file. %s",Xe),ne=ne!=null?ne:tt.getProgram().getProgram(),ne.getTypeChecker(),[ne]}E("File did not belong to any existing programs, moving to create/update. %s",Xe);for(let st of Je.projects){let tt=I.get(st);if(tt){let Fe=Ie(tt,Xe,st);if(!Fe)continue;if(Fe.getTypeChecker(),te(st,Fe,Je).has(Xe))return E("Found updated program for file. %s",Xe),[Fe];ee.push(Fe);continue}let ct=R(st,Je);I.set(st,ct);let ne=ct.getProgram().getProgram();if(ne.getTypeChecker(),te(st,ne,Je).has(Xe))return E("Found program for file. %s",Xe),[ne];ee.push(ne)}return ee}a.getWatchProgramsForProjects=he;var De=m.default.satisfies(C.version,">=3.9.0-beta",{includePrerelease:!0});function R(Je,Xe){E("Creating watch program for %s.",Je);let ee=C.createWatchCompilerHost(Je,(0,d.createDefaultCompilerOptionsFromExtra)(Xe),C.sys,C.createAbstractBuilder,Pe,()=>{});Xe.moduleResolver&&(ee.resolveModuleNames=(0,d.getModuleResolver)(Xe.moduleResolver).resolveModuleNames);let je=ee.readFile;ee.readFile=(tt,ct)=>{let ne=(0,d.getCanonicalFileName)(tt),ge=ne===me.filePath?me.code:je(ne,ct);return ge!==void 0&&K.set(ne,(0,d.createHash)(ge)),ge},ee.onUnRecoverableConfigFileDiagnostic=Pe,ee.afterProgramCreate=tt=>{let ct=tt.getConfigFileParsingDiagnostics().filter(ne=>ne.category===C.DiagnosticCategory.Error&&ne.code!==18003);ct.length>0&&Pe(ct[0])},ee.watchFile=Ce(c),ee.watchDirectory=Ce(M);let nt=ee.onCachedDirectoryStructureHostCreate;ee.onCachedDirectoryStructureHostCreate=tt=>{let ct=tt.readDirectory;tt.readDirectory=(ne,ge,Fe,at,Pt)=>ct(ne,ge?ge.concat(Xe.extraFileExtensions):void 0,Fe,at,Pt),nt(tt)},ee.extraFileExtensions=Xe.extraFileExtensions.map(tt=>({extension:tt,isMixedContent:!0,scriptKind:C.ScriptKind.Deferred})),ee.trace=E,ee.useSourceOfProjectReferenceRedirect=()=>Xe.EXPERIMENTAL_useSourceOfProjectReferenceRedirect;let Ze;De?(ee.setTimeout=void 0,ee.clearTimeout=void 0):(E("Running without timeout fix"),ee.setTimeout=function(tt,ct){for(var ne=arguments.length,ge=new Array(ne>2?ne-2:0),Fe=2;Fe{Ze=void 0});let st=C.createWatchProgram(ee);if(!De){let tt=st.getProgram;st.getProgram=()=>(Ze&&Ze(),Ze=void 0,tt.call(st))}return st}function pe(Je){let ee=y.default.statSync(Je).mtimeMs,je=W.get(Je);return W.set(Je,ee),je===void 0?!1:Math.abs(je-ee)>Number.EPSILON}function Ie(Je,Xe,ee){let je=Je.getProgram().getProgram();if(cn.env.TSESTREE_NO_INVALIDATION==="true")return je;pe(ee)&&(E("tsconfig has changed - triggering program update. %s",ee),c.get(ee).forEach(at=>at(ee,C.FileWatcherEventKind.Changed)),q.delete(ee));let nt=je.getSourceFile(Xe);if(nt)return je;E("File was not found in program - triggering folder update. %s",Xe);let Ze=(0,d.canonicalDirname)(Xe),st=null,tt=Ze,ct=!1;for(;st!==tt;){st=tt;let at=M.get(st);at&&(at.forEach(Pt=>{Ze!==st&&Pt(Ze,C.FileWatcherEventKind.Changed),Pt(st,C.FileWatcherEventKind.Changed)}),ct=!0),tt=(0,d.canonicalDirname)(st)}if(!ct)return E("No callback found for file, not part of this program. %s",Xe),null;if(q.delete(ee),je=Je.getProgram().getProgram(),nt=je.getSourceFile(Xe),nt)return je;E("File was still not found in program after directory update - checking file deletions. %s",Xe);let ge=je.getRootFileNames().find(at=>!y.default.existsSync(at));if(!ge)return null;let Fe=c.get((0,d.getCanonicalFileName)(ge));return Fe?(E("Marking file as deleted. %s",ge),Fe.forEach(at=>at(ge,C.FileWatcherEventKind.Deleted)),q.delete(ee),je=Je.getProgram().getProgram(),nt=je.getSourceFile(Xe),nt?je:(E("File was still not found in program after deletion check, assuming it is not part of this program. %s",Xe),null)):(E("Could not find watch callbacks for root file. %s",ge),je)}}}),qV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(W,K,ce,Ce){Ce===void 0&&(Ce=ce);var me=Object.getOwnPropertyDescriptor(K,ce);(!me||("get"in me?!K.__esModule:me.writable||me.configurable))&&(me={enumerable:!0,get:function(){return K[ce]}}),Object.defineProperty(W,Ce,me)}:function(W,K,ce,Ce){Ce===void 0&&(Ce=ce),W[Ce]=K[ce]}),v=a&&a.__setModuleDefault||(Object.create?function(W,K){Object.defineProperty(W,"default",{enumerable:!0,value:K})}:function(W,K){W.default=K}),h=a&&a.__importStar||function(W){if(W&&W.__esModule)return W;var K={};if(W!=null)for(var ce in W)ce!=="default"&&Object.prototype.hasOwnProperty.call(W,ce)&&_(K,W,ce);return v(K,W),K},D=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};Object.defineProperty(a,"__esModule",{value:!0}),a.createProjectProgram=void 0;var P=D(Ga()),y=D(_o()),m=h(vr()),C=E1(),d=FV(),E=l5(),I=d_(),c=(0,P.default)("typescript-eslint:typescript-estree:createProjectProgram"),M=[m.Extension.Ts,m.Extension.Tsx,m.Extension.Js,m.Extension.Jsx,m.Extension.Mjs,m.Extension.Mts,m.Extension.Cjs,m.Extension.Cts];function q(W){c("Creating project program for: %s",W.filePath);let K=(0,E.getWatchProgramsForProjects)(W),ce=(0,C.firstDefined)(K,Ie=>(0,I.getAstFromProgram)(Ie,W));if(ce||W.createDefaultProgram)return ce;let Ce=Ie=>(0,d.describeFilePath)(Ie,W.tsconfigRootDir),me=(0,d.describeFilePath)(W.filePath,W.tsconfigRootDir),Pe=W.projects.map(Ce),te=Pe.length===1?Pe[0]:` -${Pe.map(Ie=>`- ${Ie}`).join(` -`)}`,he=[`ESLint was configured to run on \`${me}\` using \`parserOptions.project\`: ${te}`],De=!1,R=W.extraFileExtensions||[];R.forEach(Ie=>{Ie.startsWith(".")||he.push(`Found unexpected extension \`${Ie}\` specified with the \`parserOptions.extraFileExtensions\` option. Did you mean \`.${Ie}\`?`),M.includes(Ie)&&he.push(`You unnecessarily included the extension \`${Ie}\` with the \`parserOptions.extraFileExtensions\` option. This extension is already handled by the parser by default.`)});let pe=y.default.extname(W.filePath);if(!M.includes(pe)){let Ie=`The extension for the file (\`${pe}\`) is non-standard`;R.length>0?R.includes(pe)||(he.push(`${Ie}. It should be added to your existing \`parserOptions.extraFileExtensions\`.`),De=!0):(he.push(`${Ie}. You should add \`parserOptions.extraFileExtensions\` to your config.`),De=!0)}if(!De){let[Ie,Je]=W.projects.length===1?["that TSConfig does not","that TSConfig"]:["none of those TSConfigs","one of those TSConfigs"];he.push(`However, ${Ie} include this file. Either:`,"- Change ESLint's list of included files to not include this file",`- Change ${Je} to include this file`,"- Create a new TSConfig that includes this file and include it in your parserOptions.project","See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file")}throw new Error(he.join(` -`))}a.createProjectProgram=q}}),UV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(E,I,c,M){M===void 0&&(M=c);var q=Object.getOwnPropertyDescriptor(I,c);(!q||("get"in q?!I.__esModule:q.writable||q.configurable))&&(q={enumerable:!0,get:function(){return I[c]}}),Object.defineProperty(E,M,q)}:function(E,I,c,M){M===void 0&&(M=c),E[M]=I[c]}),v=a&&a.__setModuleDefault||(Object.create?function(E,I){Object.defineProperty(E,"default",{enumerable:!0,value:I})}:function(E,I){E.default=I}),h=a&&a.__importStar||function(E){if(E&&E.__esModule)return E;var I={};if(E!=null)for(var c in E)c!=="default"&&Object.prototype.hasOwnProperty.call(E,c)&&_(I,E,c);return v(I,E),I},D=a&&a.__importDefault||function(E){return E&&E.__esModule?E:{default:E}};Object.defineProperty(a,"__esModule",{value:!0}),a.createSourceFile=void 0;var P=D(Ga()),y=h(vr()),m=gT(),C=(0,P.default)("typescript-eslint:typescript-estree:createSourceFile");function d(E){return C("Getting AST without type information in %s mode for: %s",E.jsx?"TSX":"TS",E.filePath),y.createSourceFile(E.filePath,E.code,y.ScriptTarget.Latest,!0,(0,m.getScriptKind)(E.filePath,E.jsx))}a.createSourceFile=d}}),u5=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(q,W,K,ce){ce===void 0&&(ce=K);var Ce=Object.getOwnPropertyDescriptor(W,K);(!Ce||("get"in Ce?!W.__esModule:Ce.writable||Ce.configurable))&&(Ce={enumerable:!0,get:function(){return W[K]}}),Object.defineProperty(q,ce,Ce)}:function(q,W,K,ce){ce===void 0&&(ce=K),q[ce]=W[K]}),v=a&&a.__setModuleDefault||(Object.create?function(q,W){Object.defineProperty(q,"default",{enumerable:!0,value:W})}:function(q,W){q.default=W}),h=a&&a.__importStar||function(q){if(q&&q.__esModule)return q;var W={};if(q!=null)for(var K in q)K!=="default"&&Object.prototype.hasOwnProperty.call(q,K)&&_(W,q,K);return v(W,q),W},D=a&&a.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(a,"__esModule",{value:!0}),a.createProgramFromConfigFile=a.useProvidedPrograms=void 0;var P=D(Ga()),y=h(yT()),m=h(_o()),C=h(vr()),d=d_(),E=(0,P.default)("typescript-eslint:typescript-estree:useProvidedProgram");function I(q,W){E("Retrieving ast for %s from provided program instance(s)",W.filePath);let K;for(let ce of q)if(K=(0,d.getAstFromProgram)(ce,W),K)break;if(!K){let Ce=['"parserOptions.programs" has been provided for @typescript-eslint/parser.',`The file was not found in any of the provided program instance(s): ${m.relative(W.tsconfigRootDir||"/prettier-security-dirname-placeholder",W.filePath)}`];throw new Error(Ce.join(` -`))}return K.program.getTypeChecker(),K}a.useProvidedPrograms=I;function c(q,W){if(C.sys===void 0)throw new Error("`createProgramFromConfigFile` is only supported in a Node-like environment.");let ce=C.getParsedCommandLineOfConfigFile(q,d.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:me=>{throw new Error(M([me]))},fileExists:y.existsSync,getCurrentDirectory:()=>W&&m.resolve(W)||"/prettier-security-dirname-placeholder",readDirectory:C.sys.readDirectory,readFile:me=>y.readFileSync(me,"utf-8"),useCaseSensitiveFileNames:C.sys.useCaseSensitiveFileNames});if(ce.errors.length)throw new Error(M(ce.errors));let Ce=C.createCompilerHost(ce.options,!0);return C.createProgram(ce.fileNames,ce.options,Ce)}a.createProgramFromConfigFile=c;function M(q){return C.formatDiagnostics(q,{getCanonicalFileName:W=>W,getCurrentDirectory:cn.cwd,getNewLine:()=>` -`})}}}),p5=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js"(a){"use strict";ke();var _=a&&a.__classPrivateFieldSet||function(m,C,d,E,I){if(E==="m")throw new TypeError("Private method is not writable");if(E==="a"&&!I)throw new TypeError("Private accessor was defined without a setter");if(typeof C=="function"?m!==C||!I:!C.has(m))throw new TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?I.call(m,d):I?I.value=d:C.set(m,d),d},v=a&&a.__classPrivateFieldGet||function(m,C,d,E){if(d==="a"&&!E)throw new TypeError("Private accessor was defined without a getter");if(typeof C=="function"?m!==C||!E:!C.has(m))throw new TypeError("Cannot read private member from an object whose class did not declare it");return d==="m"?E:d==="a"?E.call(m):E?E.value:C.get(m)},h,D;Object.defineProperty(a,"__esModule",{value:!0}),a.ExpiringCache=a.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=void 0,a.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=30;var P=[0,0],y=class{constructor(m){h.set(this,void 0),D.set(this,new Map),_(this,h,m,"f")}set(m,C){return v(this,D,"f").set(m,{value:C,lastSeen:v(this,h,"f")==="Infinity"?P:cn.hrtime()}),this}get(m){let C=v(this,D,"f").get(m);if((C==null?void 0:C.value)!=null){if(v(this,h,"f")==="Infinity"||cn.hrtime(C.lastSeen)[0]1&&M.length>=E.tsconfigRootDir.length);throw new Error(`project was set to \`true\` but couldn't find any tsconfig.json relative to '${E.filePath}' within '${E.tsconfigRootDir}'.`)}a.getProjectConfigFiles=d}}),WV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.inferSingleRun=void 0;var _=_o();function v(h){return(h==null?void 0:h.project)==null||(h==null?void 0:h.programs)!=null||cn.env.TSESTREE_SINGLE_RUN==="false"?!1:!!(cn.env.TSESTREE_SINGLE_RUN==="true"||h!=null&&h.allowAutomaticSingleRunInference&&(cn.env.CI==="true"||cn.argv[1].endsWith((0,_.normalize)("node_modules/.bin/eslint"))))}a.inferSingleRun=v}}),VV=Ne({"node_modules/is-extglob/index.js"(a,_){ke(),_.exports=function(h){if(typeof h!="string"||h==="")return!1;for(var D;D=/(\\).|([@?!+*]\(.*\))/g.exec(h);){if(D[2])return!0;h=h.slice(D.index+D[0].length)}return!1}}}),HV=Ne({"node_modules/is-glob/index.js"(a,_){ke();var v=VV(),h={"{":"}","(":")","[":"]"},D=function(y){if(y[0]==="!")return!0;for(var m=0,C=-2,d=-2,E=-2,I=-2,c=-2;mm&&(c===-1||c>d||(c=y.indexOf("\\",m),c===-1||c>d)))||E!==-1&&y[m]==="{"&&y[m+1]!=="}"&&(E=y.indexOf("}",m),E>m&&(c=y.indexOf("\\",m),c===-1||c>E))||I!==-1&&y[m]==="("&&y[m+1]==="?"&&/[:!=]/.test(y[m+2])&&y[m+3]!==")"&&(I=y.indexOf(")",m),I>m&&(c=y.indexOf("\\",m),c===-1||c>I))||C!==-1&&y[m]==="("&&y[m+1]!=="|"&&(CC&&(c=y.indexOf("\\",C),c===-1||c>I))))return!0;if(y[m]==="\\"){var M=y[m+1];m+=2;var q=h[M];if(q){var W=y.indexOf(q,m);W!==-1&&(m=W+1)}if(y[m]==="!")return!0}else m++}return!1},P=function(y){if(y[0]==="!")return!0;for(var m=0;m(typeof pe=="string"&&R.push(pe),R),[]).map(R=>R.startsWith("!")?R:`!${R}`),me=I({project:ce,projectFolderIgnoreList:Ce,tsconfigRootDir:M.tsconfigRootDir});if(C==null)C=new y.ExpiringCache(M.singleRun?"Infinity":(K=(W=M.cacheLifetime)===null||W===void 0?void 0:W.glob)!==null&&K!==void 0?K:y.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS);else{let R=C.get(me);if(R)return R}let Pe=ce.filter(R=>!(0,D.default)(R)),te=ce.filter(R=>(0,D.default)(R)),he=new Set(Pe.concat(te.length===0?[]:(0,h.sync)([...te,...Ce],{cwd:M.tsconfigRootDir})).map(R=>(0,P.getCanonicalFileName)((0,P.ensureAbsolutePath)(R,M.tsconfigRootDir))));m("parserOptions.project (excluding ignored) matched projects: %s",he);let De=Array.from(he);return C.set(me,De),De}a.resolveProjectList=E;function I(M){let{project:q,projectFolderIgnoreList:W,tsconfigRootDir:K}=M,ce={tsconfigRootDir:K,project:q,projectFolderIgnoreList:[...W].sort()};return(0,P.createHash)(JSON.stringify(ce))}function c(){C==null||C.clear(),C=null}a.clearGlobResolutionCache=c}}),GV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(M,q,W,K){K===void 0&&(K=W);var ce=Object.getOwnPropertyDescriptor(q,W);(!ce||("get"in ce?!q.__esModule:ce.writable||ce.configurable))&&(ce={enumerable:!0,get:function(){return q[W]}}),Object.defineProperty(M,K,ce)}:function(M,q,W,K){K===void 0&&(K=W),M[K]=q[W]}),v=a&&a.__setModuleDefault||(Object.create?function(M,q){Object.defineProperty(M,"default",{enumerable:!0,value:q})}:function(M,q){M.default=q}),h=a&&a.__importStar||function(M){if(M&&M.__esModule)return M;var q={};if(M!=null)for(var W in M)W!=="default"&&Object.prototype.hasOwnProperty.call(M,W)&&_(q,M,W);return v(q,M),q},D=a&&a.__importDefault||function(M){return M&&M.__esModule?M:{default:M}};Object.defineProperty(a,"__esModule",{value:!0}),a.warnAboutTSVersion=void 0;var P=D(pT()),y=h(vr()),m=">=3.3.1 <5.1.0",C=["5.0.1-rc"],d=y.version,E=P.default.satisfies(d,[m].concat(C).join(" || ")),I=!1;function c(M){var q;if(!E&&!I){if(typeof cn>"u"?!1:(q=cn.stdout)===null||q===void 0?void 0:q.isTTY){let K="=============",ce=[K,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${m}`,`YOUR TYPESCRIPT VERSION: ${d}`,"Please only submit bug reports when using the officially supported version.",K];M.log(ce.join(` - -`))}I=!0}}a.warnAboutTSVersion=c}}),d5=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js"(a){"use strict";ke();var _=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};Object.defineProperty(a,"__esModule",{value:!0}),a.clearTSConfigMatchCache=a.createParseSettings=void 0;var v=_(Ga()),h=d_(),D=p5(),P=zV(),y=WV(),m=f5(),C=GV(),d=(0,v.default)("typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings"),E;function I(W){let K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var ce,Ce,me;let Pe=(0,y.inferSingleRun)(K),te=typeof K.tsconfigRootDir=="string"?K.tsconfigRootDir:"/prettier-security-dirname-placeholder",he={code:M(W),comment:K.comment===!0,comments:[],createDefaultProgram:K.createDefaultProgram===!0,debugLevel:K.debugLevel===!0?new Set(["typescript-eslint"]):Array.isArray(K.debugLevel)?new Set(K.debugLevel):new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:K.errorOnUnknownASTType===!0,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:K.EXPERIMENTAL_useSourceOfProjectReferenceRedirect===!0,extraFileExtensions:Array.isArray(K.extraFileExtensions)&&K.extraFileExtensions.every(De=>typeof De=="string")?K.extraFileExtensions:[],filePath:(0,h.ensureAbsolutePath)(typeof K.filePath=="string"&&K.filePath!==""?K.filePath:q(K.jsx),te),jsx:K.jsx===!0,loc:K.loc===!0,log:typeof K.loggerFn=="function"?K.loggerFn:K.loggerFn===!1?()=>{}:console.log,moduleResolver:(ce=K.moduleResolver)!==null&&ce!==void 0?ce:"",preserveNodeMaps:K.preserveNodeMaps!==!1,programs:Array.isArray(K.programs)?K.programs:null,projects:[],range:K.range===!0,singleRun:Pe,tokens:K.tokens===!0?[]:null,tsconfigMatchCache:E!=null?E:E=new D.ExpiringCache(Pe?"Infinity":(me=(Ce=K.cacheLifetime)===null||Ce===void 0?void 0:Ce.glob)!==null&&me!==void 0?me:D.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS),tsconfigRootDir:te};if(he.debugLevel.size>0){let De=[];he.debugLevel.has("typescript-eslint")&&De.push("typescript-eslint:*"),(he.debugLevel.has("eslint")||v.default.enabled("eslint:*,-eslint:code-path"))&&De.push("eslint:*,-eslint:code-path"),v.default.enable(De.join(","))}if(Array.isArray(K.programs)){if(!K.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");d("parserOptions.programs was provided, so parserOptions.project will be ignored.")}return he.programs||(he.projects=(0,m.resolveProjectList)({cacheLifetime:K.cacheLifetime,project:(0,P.getProjectConfigFiles)(he,K.project),projectFolderIgnoreList:K.projectFolderIgnoreList,singleRun:he.singleRun,tsconfigRootDir:te})),(0,C.warnAboutTSVersion)(he),he}a.createParseSettings=I;function c(){E==null||E.clear()}a.clearTSConfigMatchCache=c;function M(W){return typeof W!="string"?String(W):W}function q(W){return W?"estree.tsx":"estree.ts"}}}),$V=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/semantic-or-syntactic-errors.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.getFirstSemanticOrSyntacticError=void 0;var _=vr();function v(P,y){try{let m=h(P.getSyntacticDiagnostics(y));if(m.length)return D(m[0]);let C=h(P.getSemanticDiagnostics(y));return C.length?D(C[0]):void 0}catch(m){console.warn(`Warning From TSC: "${m.message}`);return}}a.getFirstSemanticOrSyntacticError=v;function h(P){return P.filter(y=>{switch(y.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1})}function D(P){return Object.assign(Object.assign({},P),{message:(0,_.flattenDiagnosticMessageText)(P.messageText,_.sys.newLine)})}}}),m5=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/parser.js"(a){"use strict";ke();var _=a&&a.__importDefault||function(he){return he&&he.__esModule?he:{default:he}};Object.defineProperty(a,"__esModule",{value:!0}),a.clearParseAndGenerateServicesCalls=a.clearProgramCache=a.parseWithNodeMaps=a.parseAndGenerateServices=a.parse=void 0;var v=_(Ga()),h=LV(),D=W9(),P=jV(),y=JV(),m=qV(),C=UV(),d=u5(),E=d5(),I=$V(),c=(0,v.default)("typescript-eslint:typescript-estree:parser"),M=new Map;function q(){M.clear()}a.clearProgramCache=q;function W(he,De){return he.programs&&(0,d.useProvidedPrograms)(he.programs,he)||De&&(0,m.createProjectProgram)(he)||De&&he.createDefaultProgram&&(0,P.createDefaultProgram)(he)||(0,y.createIsolatedProgram)(he)}function K(he,De){let{ast:R}=ce(he,De,!1);return R}a.parse=K;function ce(he,De,R){let pe=(0,E.createParseSettings)(he,De);if(De!=null&&De.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');let Ie=(0,C.createSourceFile)(pe),{estree:Je,astMaps:Xe}=(0,h.astConverter)(Ie,pe,R);return{ast:Je,esTreeNodeToTSNodeMap:Xe.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Xe.tsNodeToESTreeNodeMap}}function Ce(he,De){return ce(he,De,!0)}a.parseWithNodeMaps=Ce;var me={};function Pe(){me={}}a.clearParseAndGenerateServicesCalls=Pe;function te(he,De){var R,pe;let Ie=(0,E.createParseSettings)(he,De);De!==void 0&&typeof De.errorOnTypeScriptSyntacticAndSemanticIssues=="boolean"&&De.errorOnTypeScriptSyntacticAndSemanticIssues&&(Ie.errorOnTypeScriptSyntacticAndSemanticIssues=!0),Ie.singleRun&&!Ie.programs&&((R=Ie.projects)===null||R===void 0?void 0:R.length)>0&&(Ie.programs={*[Symbol.iterator](){for(let st of Ie.projects){let tt=M.get(st);if(tt)yield tt;else{c("Detected single-run/CLI usage, creating Program once ahead of time for project: %s",st);let ct=(0,d.createProgramFromConfigFile)(st);M.set(st,ct),yield ct}}}});let Je=Ie.programs!=null||((pe=Ie.projects)===null||pe===void 0?void 0:pe.length)>0;Ie.singleRun&&De.filePath&&(me[De.filePath]=(me[De.filePath]||0)+1);let{ast:Xe,program:ee}=Ie.singleRun&&De.filePath&&me[De.filePath]>1?(0,y.createIsolatedProgram)(Ie):W(Ie,Je),je=typeof Ie.preserveNodeMaps=="boolean"?Ie.preserveNodeMaps:!0,{estree:nt,astMaps:Ze}=(0,h.astConverter)(Xe,Ie,je);if(ee&&Ie.errorOnTypeScriptSyntacticAndSemanticIssues){let st=(0,I.getFirstSemanticOrSyntacticError)(ee,Xe);if(st)throw(0,D.convertError)(st)}return{ast:nt,services:{hasFullTypeInformation:Je,program:ee,esTreeNodeToTSNodeMap:Ze.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Ze.tsNodeToESTreeNodeMap}}}a.parseAndGenerateServices=te}}),KV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js"(a){"use strict";ke(),Object.defineProperty(a,"__esModule",{value:!0}),a.clearProgramCache=a.clearCaches=void 0;var _=l5(),v=m5(),h=d5(),D=f5();function P(){(0,v.clearProgramCache)(),(0,_.clearWatchCaches)(),(0,h.clearTSConfigMatchCache)(),(0,D.clearGlobCache)()}a.clearCaches=P,a.clearProgramCache=P}}),XV=Ne({"node_modules/@typescript-eslint/typescript-estree/package.json"(a,_){_.exports={name:"@typescript-eslint/typescript-estree",version:"5.55.0",description:"A parser that converts TypeScript source code into an ESTree compatible form",main:"dist/index.js",types:"dist/index.d.ts",files:["dist","_ts3.4","README.md","LICENSE"],engines:{node:"^12.22.0 || ^14.17.0 || >=16.0.0"},repository:{type:"git",url:"https://github.com/typescript-eslint/typescript-eslint.git",directory:"packages/typescript-estree"},bugs:{url:"https://github.com/typescript-eslint/typescript-eslint/issues"},license:"BSD-2-Clause",keywords:["ast","estree","ecmascript","javascript","typescript","parser","syntax"],scripts:{build:"tsc -b tsconfig.build.json",postbuild:"downlevel-dts dist _ts3.4/dist",clean:"tsc -b tsconfig.build.json --clean",postclean:"rimraf dist && rimraf _ts3.4 && rimraf coverage",format:'prettier --write "./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}" --ignore-path ../../.prettierignore',lint:"nx lint",test:"jest --coverage",typecheck:"tsc -p tsconfig.json --noEmit"},dependencies:{"@typescript-eslint/types":"5.55.0","@typescript-eslint/visitor-keys":"5.55.0",debug:"^4.3.4",globby:"^11.1.0","is-glob":"^4.0.3",semver:"^7.3.7",tsutils:"^3.21.0"},devDependencies:{"@babel/code-frame":"*","@babel/parser":"*","@types/babel__code-frame":"*","@types/debug":"*","@types/glob":"*","@types/is-glob":"*","@types/semver":"*","@types/tmp":"*",glob:"*","jest-specific-snapshot":"*","make-dir":"*",tmp:"*",typescript:"*"},peerDependenciesMeta:{typescript:{optional:!0}},funding:{type:"opencollective",url:"https://opencollective.com/typescript-eslint"},typesVersions:{"<3.8":{"*":["_ts3.4/*"]}},gitHead:"877d73327fca3bdbe7e170e8b3a906d090a6de37"}}}),YV=Ne({"node_modules/@typescript-eslint/typescript-estree/dist/index.js"(a){"use strict";ke();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__exportStar||function(C,d){for(var E in C)E!=="default"&&!Object.prototype.hasOwnProperty.call(d,E)&&_(d,C,E)};Object.defineProperty(a,"__esModule",{value:!0}),a.version=a.visitorKeys=a.typescriptVersionIsAtLeast=a.createProgram=a.simpleTraverse=a.parseWithNodeMaps=a.parseAndGenerateServices=a.parse=void 0;var h=m5();Object.defineProperty(a,"parse",{enumerable:!0,get:function(){return h.parse}}),Object.defineProperty(a,"parseAndGenerateServices",{enumerable:!0,get:function(){return h.parseAndGenerateServices}}),Object.defineProperty(a,"parseWithNodeMaps",{enumerable:!0,get:function(){return h.parseWithNodeMaps}});var D=Q9();Object.defineProperty(a,"simpleTraverse",{enumerable:!0,get:function(){return D.simpleTraverse}}),v(x1(),a);var P=u5();Object.defineProperty(a,"createProgram",{enumerable:!0,get:function(){return P.createProgramFromConfigFile}}),v(gT(),a);var y=S1();Object.defineProperty(a,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return y.typescriptVersionIsAtLeast}}),v(fT(),a),v(KV(),a);var m=Y9();Object.defineProperty(a,"visitorKeys",{enumerable:!0,get:function(){return m.visitorKeys}}),a.version=XV().version}}),QV=Ne({"src/language-js/parse/typescript.js"(a,_){ke();var v=S9(),h=_W(),D=yW(),P=vW(),y=EW(),{throwErrorForInvalidNodes:m}=wW(),C={loc:!0,range:!0,comment:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};function d(c){let{message:M,lineNumber:q,column:W}=c;return typeof q!="number"?c:v(M,{start:{line:q,column:W+1}})}function E(c,M){let q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},W=P(c),K=I(c),{parseWithNodeMaps:ce}=YV(),{result:Ce,error:me}=h(()=>ce(W,Object.assign(Object.assign({},C),{},{jsx:K})),()=>ce(W,Object.assign(Object.assign({},C),{},{jsx:!K})));if(!Ce)throw d(me);return q.originalText=c,m(Ce,q),y(Ce.ast,q)}function I(c){return new RegExp(["(?:^[^\"'`]*)"].join(""),"m").test(c)}_.exports={parsers:{typescript:D(E)}}}}),vG=QV();export{vG as default}; diff --git a/node_modules/ts-poet/node_modules/prettier/esm/parser-yaml.mjs b/node_modules/ts-poet/node_modules/prettier/esm/parser-yaml.mjs deleted file mode 100644 index 87f118aeff..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/esm/parser-yaml.mjs +++ /dev/null @@ -1,150 +0,0 @@ -var Ye=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,De=Object.getOwnPropertyNames,yt=Object.prototype.hasOwnProperty,Ke=(s,e)=>function(){return s&&(e=(0,s[De(s)[0]])(s=0)),e},D=(s,e)=>function(){return e||(0,s[De(s)[0]])((e={exports:{}}).exports,e),e.exports},bt=(s,e)=>{for(var r in e)Ye(s,r,{get:e[r],enumerable:!0})},wt=(s,e,r,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let h of De(e))!yt.call(s,h)&&h!==r&&Ye(s,h,{get:()=>e[h],enumerable:!(c=vt(e,h))||c.enumerable});return s},se=s=>wt(Ye({},"__esModule",{value:!0}),s),Te,Y=Ke({""(){Te={env:{},argv:[]}}}),St=D({"src/common/parser-create-error.js"(s,e){"use strict";Y();function r(c,h){let d=new SyntaxError(c+" ("+h.start.line+":"+h.start.column+")");return d.loc=h,d}e.exports=r}}),Et=D({"src/language-yaml/pragma.js"(s,e){"use strict";Y();function r(d){return/^\s*@(?:prettier|format)\s*$/.test(d)}function c(d){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(d)}function h(d){return`# @format - -${d}`}e.exports={isPragma:r,hasPragma:c,insertPragma:h}}}),Mt=D({"src/language-yaml/loc.js"(s,e){"use strict";Y();function r(h){return h.position.start.offset}function c(h){return h.position.end.offset}e.exports={locStart:r,locEnd:c}}}),te={};bt(te,{__assign:()=>qe,__asyncDelegator:()=>Bt,__asyncGenerator:()=>$t,__asyncValues:()=>jt,__await:()=>Ce,__awaiter:()=>Ct,__classPrivateFieldGet:()=>Wt,__classPrivateFieldSet:()=>Vt,__createBinding:()=>Pt,__decorate:()=>At,__exportStar:()=>It,__extends:()=>Ot,__generator:()=>kt,__importDefault:()=>Ft,__importStar:()=>Dt,__makeTemplateObject:()=>Yt,__metadata:()=>Tt,__param:()=>Nt,__read:()=>Je,__rest:()=>Lt,__spread:()=>Rt,__spreadArrays:()=>qt,__values:()=>je});function Ot(s,e){Re(s,e);function r(){this.constructor=s}s.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}function Lt(s,e){var r={};for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&e.indexOf(c)<0&&(r[c]=s[c]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var h=0,c=Object.getOwnPropertySymbols(s);h=0;M--)(y=s[M])&&(d=(h<3?y(d):h>3?y(e,r,d):y(e,r))||d);return h>3&&d&&Object.defineProperty(e,r,d),d}function Nt(s,e){return function(r,c){e(r,c,s)}}function Tt(s,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(s,e)}function Ct(s,e,r,c){function h(d){return d instanceof r?d:new r(function(y){y(d)})}return new(r||(r=Promise))(function(d,y){function M(E){try{w(c.next(E))}catch(T){y(T)}}function k(E){try{w(c.throw(E))}catch(T){y(T)}}function w(E){E.done?d(E.value):h(E.value).then(M,k)}w((c=c.apply(s,e||[])).next())})}function kt(s,e){var r={label:0,sent:function(){if(d[0]&1)throw d[1];return d[1]},trys:[],ops:[]},c,h,d,y;return y={next:M(0),throw:M(1),return:M(2)},typeof Symbol=="function"&&(y[Symbol.iterator]=function(){return this}),y;function M(w){return function(E){return k([w,E])}}function k(w){if(c)throw new TypeError("Generator is already executing.");for(;r;)try{if(c=1,h&&(d=w[0]&2?h.return:w[0]?h.throw||((d=h.return)&&d.call(h),0):h.next)&&!(d=d.call(h,w[1])).done)return d;switch(h=0,d&&(w=[w[0]&2,d.value]),w[0]){case 0:case 1:d=w;break;case 4:return r.label++,{value:w[1],done:!1};case 5:r.label++,h=w[1],w=[0];continue;case 7:w=r.ops.pop(),r.trys.pop();continue;default:if(d=r.trys,!(d=d.length>0&&d[d.length-1])&&(w[0]===6||w[0]===2)){r=0;continue}if(w[0]===3&&(!d||w[1]>d[0]&&w[1]=s.length&&(s=void 0),{value:s&&s[c++],done:!s}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Je(s,e){var r=typeof Symbol=="function"&&s[Symbol.iterator];if(!r)return s;var c=r.call(s),h,d=[],y;try{for(;(e===void 0||e-- >0)&&!(h=c.next()).done;)d.push(h.value)}catch(M){y={error:M}}finally{try{h&&!h.done&&(r=c.return)&&r.call(c)}finally{if(y)throw y.error}}return d}function Rt(){for(var s=[],e=0;e1||M(I,C)})})}function M(I,C){try{k(c[I](C))}catch(q){T(d[0][3],q)}}function k(I){I.value instanceof Ce?Promise.resolve(I.value.v).then(w,E):T(d[0][2],I)}function w(I){M("next",I)}function E(I){M("throw",I)}function T(I,C){I(C),d.shift(),d.length&&M(d[0][0],d[0][1])}}function Bt(s){var e,r;return e={},c("next"),c("throw",function(h){throw h}),c("return"),e[Symbol.iterator]=function(){return this},e;function c(h,d){e[h]=s[h]?function(y){return(r=!r)?{value:Ce(s[h](y)),done:h==="return"}:d?d(y):y}:d}}function jt(s){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=s[Symbol.asyncIterator],r;return e?e.call(s):(s=typeof je=="function"?je(s):s[Symbol.iterator](),r={},c("next"),c("throw"),c("return"),r[Symbol.asyncIterator]=function(){return this},r);function c(d){r[d]=s[d]&&function(y){return new Promise(function(M,k){y=s[d](y),h(M,k,y.done,y.value)})}}function h(d,y,M,k){Promise.resolve(k).then(function(w){d({value:w,done:M})},y)}}function Yt(s,e){return Object.defineProperty?Object.defineProperty(s,"raw",{value:e}):s.raw=e,s}function Dt(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var r in s)Object.hasOwnProperty.call(s,r)&&(e[r]=s[r]);return e.default=s,e}function Ft(s){return s&&s.__esModule?s:{default:s}}function Wt(s,e){if(!e.has(s))throw new TypeError("attempted to get private field on non-instance");return e.get(s)}function Vt(s,e,r){if(!e.has(s))throw new TypeError("attempted to set private field on non-instance");return e.set(s,r),r}var Re,qe,ie=Ke({"node_modules/tslib/tslib.es6.js"(){Y(),Re=function(s,e){return Re=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,c){r.__proto__=c}||function(r,c){for(var h in c)c.hasOwnProperty(h)&&(r[h]=c[h])},Re(s,e)},qe=function(){return qe=Object.assign||function(e){for(var r,c=1,h=arguments.length;cthis.string.length)return null;for(var y=0,M=this.offsets;M[y+1]<=d;)y++;var k=d-M[y];return{line:y,column:k}},h.prototype.indexForLocation=function(d){var y=d.line,M=d.column;return y<0||y>=this.offsets.length||M<0||M>this.lengthOfLine(y)?null:this.offsets[y]+M},h.prototype.lengthOfLine=function(d){var y=this.offsets[d],M=d===this.offsets.length-1?this.string.length:this.offsets[d+1];return M-y},h}();s.LinesAndColumns=c,s.default=c}}),Ut=D({"node_modules/yaml-unist-parser/lib/utils/define-parents.js"(s){"use strict";Y(),s.__esModule=!0;function e(r,c){c===void 0&&(c=null),"children"in r&&r.children.forEach(function(h){return e(h,r)}),"anchor"in r&&r.anchor&&e(r.anchor,r),"tag"in r&&r.tag&&e(r.tag,r),"leadingComments"in r&&r.leadingComments.forEach(function(h){return e(h,r)}),"middleComments"in r&&r.middleComments.forEach(function(h){return e(h,r)}),"indicatorComment"in r&&r.indicatorComment&&e(r.indicatorComment,r),"trailingComment"in r&&r.trailingComment&&e(r.trailingComment,r),"endComments"in r&&r.endComments.forEach(function(h){return e(h,r)}),Object.defineProperty(r,"_parent",{value:c,enumerable:!1})}s.defineParents=e}}),Fe=D({"node_modules/yaml-unist-parser/lib/utils/get-point-text.js"(s){"use strict";Y(),s.__esModule=!0;function e(r){return r.line+":"+r.column}s.getPointText=e}}),Kt=D({"node_modules/yaml-unist-parser/lib/attach.js"(s){"use strict";Y(),s.__esModule=!0;var e=Ut(),r=Fe();function c(w){e.defineParents(w);var E=h(w),T=w.children.slice();w.comments.sort(function(I,C){return I.position.start.offset-C.position.end.offset}).filter(function(I){return!I._parent}).forEach(function(I){for(;T.length>1&&I.position.start.line>T[0].position.end.line;)T.shift();y(I,E,T[0])})}s.attachComments=c;function h(w){for(var E=Array.from(new Array(w.position.end.line),function(){return{}}),T=0,I=w.comments;T1&&E.type!=="document"&&E.type!=="documentHead"){var C=E.position.end,q=w[C.line-1].trailingAttachableNode;(!q||C.column>=q.position.end.column)&&(w[C.line-1].trailingAttachableNode=E)}if(E.type!=="root"&&E.type!=="document"&&E.type!=="documentHead"&&E.type!=="documentBody")for(var R=E.position,T=R.start,C=R.end,B=[C.line].concat(T.line===C.line?[]:T.line),U=0,f=B;U=t.position.end.column)&&(w[i-1].trailingNode=E)}"children"in E&&E.children.forEach(function(n){d(w,n)})}}function y(w,E,T){var I=w.position.start.line,C=E[I-1].trailingAttachableNode;if(C){if(C.trailingComment)throw new Error("Unexpected multiple trailing comment at "+r.getPointText(w.position.start));e.defineParents(w,C),C.trailingComment=w;return}for(var q=I;q>=T.position.start.line;q--){var R=E[q-1].trailingNode,B=void 0;if(R)B=R;else if(q!==I&&E[q-1].comment)B=E[q-1].comment._parent;else continue;if((B.type==="sequence"||B.type==="mapping")&&(B=B.children[0]),B.type==="mappingItem"){var U=B.children,f=U[0],i=U[1];B=k(f)?f:i}for(;;){if(M(B,w)){e.defineParents(w,B),B.endComments.push(w);return}if(!B._parent)break;B=B._parent}break}for(var q=I+1;q<=T.position.end.line;q++){var t=E[q-1].leadingAttachableNode;if(t){e.defineParents(w,t),t.leadingComments.push(w);return}}var n=T.children[1];e.defineParents(w,n),n.endComments.push(w)}function M(w,E){if(w.position.start.offsetE.position.end.offset)switch(w.type){case"flowMapping":case"flowSequence":return w.children.length===0||E.position.start.line>w.children[w.children.length-1].position.end.line}if(E.position.end.offsetw.position.start.column;case"mappingKey":case"mappingValue":return E.position.start.column>w._parent.position.start.column&&(w.children.length===0||w.children.length===1&&w.children[0].type!=="blockFolded"&&w.children[0].type!=="blockLiteral")&&(w.type==="mappingValue"||k(w));default:return!1}}function k(w){return w.position.start!==w.position.end&&(w.children.length===0||w.position.start.offset!==w.children[0].position.start.offset)}}}),me=D({"node_modules/yaml-unist-parser/lib/factories/node.js"(s){"use strict";Y(),s.__esModule=!0;function e(r,c){return{type:r,position:c}}s.createNode=e}}),Jt=D({"node_modules/yaml-unist-parser/lib/factories/root.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d,y){return e.__assign(e.__assign({},r.createNode("root",h)),{children:d,comments:y})}s.createRoot=c}}),xt=D({"node_modules/yaml-unist-parser/lib/preprocess.js"(s){"use strict";Y(),s.__esModule=!0;function e(r){switch(r.type){case"DOCUMENT":for(var c=r.contents.length-1;c>=0;c--)r.contents[c].type==="BLANK_LINE"?r.contents.splice(c,1):e(r.contents[c]);for(var c=r.directives.length-1;c>=0;c--)r.directives[c].type==="BLANK_LINE"&&r.directives.splice(c,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(var c=r.items.length-1;c>=0;c--){var h=r.items[c];"char"in h||(h.type==="BLANK_LINE"?r.items.splice(c,1):e(h))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":r.node&&e(r.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(r.type))}}s.removeCstBlankLine=e}}),Oe=D({"node_modules/yaml-unist-parser/lib/factories/leading-comment-attachable.js"(s){"use strict";Y(),s.__esModule=!0;function e(){return{leadingComments:[]}}s.createLeadingCommentAttachable=e}}),$e=D({"node_modules/yaml-unist-parser/lib/factories/trailing-comment-attachable.js"(s){"use strict";Y(),s.__esModule=!0;function e(r){return r===void 0&&(r=null),{trailingComment:r}}s.createTrailingCommentAttachable=e}}),Se=D({"node_modules/yaml-unist-parser/lib/factories/comment-attachable.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=$e();function h(){return e.__assign(e.__assign({},r.createLeadingCommentAttachable()),c.createTrailingCommentAttachable())}s.createCommentAttachable=h}}),Ht=D({"node_modules/yaml-unist-parser/lib/factories/alias.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=me();function h(d,y,M){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("alias",d)),r.createCommentAttachable()),y),{value:M})}s.createAlias=h}}),Gt=D({"node_modules/yaml-unist-parser/lib/transforms/alias.js"(s){"use strict";Y(),s.__esModule=!0;var e=Ht();function r(c,h){var d=c.cstNode;return e.createAlias(h.transformRange({origStart:d.valueRange.origStart-1,origEnd:d.valueRange.origEnd}),h.transformContent(c),d.rawValue)}s.transformAlias=r}}),zt=D({"node_modules/yaml-unist-parser/lib/factories/block-folded.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"blockFolded"})}s.createBlockFolded=r}}),Zt=D({"node_modules/yaml-unist-parser/lib/factories/block-value.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=me();function h(d,y,M,k,w,E){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("blockValue",d)),r.createLeadingCommentAttachable()),y),{chomping:M,indent:k,value:w,indicatorComment:E})}s.createBlockValue=h}}),xe=D({"node_modules/yaml-unist-parser/lib/constants.js"(s){"use strict";Y(),s.__esModule=!0;var e;(function(r){r.Tag="!",r.Anchor="&",r.Comment="#"})(e=s.PropLeadingCharacter||(s.PropLeadingCharacter={}))}}),Xt=D({"node_modules/yaml-unist-parser/lib/factories/anchor.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("anchor",h)),{value:d})}s.createAnchor=c}}),We=D({"node_modules/yaml-unist-parser/lib/factories/comment.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("comment",h)),{value:d})}s.createComment=c}}),er=D({"node_modules/yaml-unist-parser/lib/factories/content.js"(s){"use strict";Y(),s.__esModule=!0;function e(r,c,h){return{anchor:c,tag:r,middleComments:h}}s.createContent=e}}),tr=D({"node_modules/yaml-unist-parser/lib/factories/tag.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("tag",h)),{value:d})}s.createTag=c}}),He=D({"node_modules/yaml-unist-parser/lib/transforms/content.js"(s){"use strict";Y(),s.__esModule=!0;var e=xe(),r=Xt(),c=We(),h=er(),d=tr();function y(M,k,w){w===void 0&&(w=function(){return!1});for(var E=M.cstNode,T=[],I=null,C=null,q=null,R=0,B=E.props;R=0;U--){var f=w.contents[U];if(f.type==="COMMENT"){var i=E.transformNode(f);T&&T.line===i.position.start.line?R.unshift(i):B?I.unshift(i):i.position.start.offset>=w.valueRange.origEnd?q.unshift(i):I.unshift(i)}else B=!0}if(q.length>1)throw new Error("Unexpected multiple document trailing comments at "+d.getPointText(q[1].position.start));if(R.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+d.getPointText(R[1].position.start));return{comments:I,endComments:C,documentTrailingComment:c.getLast(q)||null,documentHeadTrailingComment:c.getLast(R)||null}}function k(w,E,T){var I=h.getMatchIndex(T.text.slice(w.valueRange.origEnd),/^\.\.\./),C=I===-1?w.valueRange.origEnd:Math.max(0,w.valueRange.origEnd-1);T.text[C-1]==="\r"&&C--;var q=T.transformRange({origStart:E!==null?E.position.start.offset:C,origEnd:C}),R=I===-1?q.end:T.transformOffset(w.valueRange.origEnd+3);return{position:q,documentEndPoint:R}}}}),fr=D({"node_modules/yaml-unist-parser/lib/factories/document-head.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Ee(),c=me(),h=$e();function d(y,M,k,w){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("documentHead",y)),r.createEndCommentAttachable(k)),h.createTrailingCommentAttachable(w)),{children:M})}s.createDocumentHead=d}}),mr=D({"node_modules/yaml-unist-parser/lib/transforms/document-head.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=fr(),c=ze();function h(M,k){var w,E=M.cstNode,T=d(E,k),I=T.directives,C=T.comments,q=T.endComments,R=y(E,I,k),B=R.position,U=R.endMarkerPoint;(w=k.comments).push.apply(w,e.__spreadArrays(C,q));var f=function(i){return i&&k.comments.push(i),r.createDocumentHead(B,I,q,i)};return{createDocumentHeadWithTrailingComment:f,documentHeadEndMarkerPoint:U}}s.transformDocumentHead=h;function d(M,k){for(var w=[],E=[],T=[],I=!1,C=M.directives.length-1;C>=0;C--){var q=k.transformNode(M.directives[C]);q.type==="comment"?I?E.unshift(q):T.unshift(q):(I=!0,w.unshift(q))}return{directives:w,comments:E,endComments:T}}function y(M,k,w){var E=c.getMatchIndex(w.text.slice(0,M.valueRange.origStart),/---\s*$/);E>0&&!/[\r\n]/.test(w.text[E-1])&&(E=-1);var T=E===-1?{origStart:M.valueRange.origStart,origEnd:M.valueRange.origStart}:{origStart:E,origEnd:E+3};return k.length!==0&&(T.origStart=k[0].position.start.offset),{position:w.transformRange(T),endMarkerPoint:E===-1?null:w.transformOffset(E)}}}}),dr=D({"node_modules/yaml-unist-parser/lib/transforms/document.js"(s){"use strict";Y(),s.__esModule=!0;var e=lr(),r=Le(),c=ur(),h=mr();function d(y,M){var k=h.transformDocumentHead(y,M),w=k.createDocumentHeadWithTrailingComment,E=k.documentHeadEndMarkerPoint,T=c.transformDocumentBody(y,M,E),I=T.documentBody,C=T.documentEndPoint,q=T.documentTrailingComment,R=T.documentHeadTrailingComment,B=w(R);return q&&M.comments.push(q),e.createDocument(r.createPosition(B.position.start,C),B,I,q)}s.transformDocument=d}}),Ze=D({"node_modules/yaml-unist-parser/lib/factories/flow-collection.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=Ee(),h=me();function d(y,M,k){return e.__assign(e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("flowCollection",y)),r.createCommentAttachable()),c.createEndCommentAttachable()),M),{children:k})}s.createFlowCollection=d}}),hr=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Ze();function c(h,d,y){return e.__assign(e.__assign({},r.createFlowCollection(h,d,y)),{type:"flowMapping"})}s.createFlowMapping=c}}),Xe=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping-item.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=me();function h(d,y,M){return e.__assign(e.__assign(e.__assign({},c.createNode("flowMappingItem",d)),r.createLeadingCommentAttachable()),{children:[y,M]})}s.createFlowMappingItem=h}}),Be=D({"node_modules/yaml-unist-parser/lib/utils/extract-comments.js"(s){"use strict";Y(),s.__esModule=!0;function e(r,c){for(var h=[],d=0,y=r;d=0;d--)if(h.test(r[d]))return d;return-1}s.findLastCharIndex=e}}),Lr=D({"node_modules/yaml-unist-parser/lib/transforms/plain.js"(s){"use strict";Y(),s.__esModule=!0;var e=Mr(),r=Or();function c(h,d){var y=h.cstNode;return e.createPlain(d.transformRange({origStart:y.valueRange.origStart,origEnd:r.findLastCharIndex(d.text,y.valueRange.origEnd-1,/\S/)+1}),d.transformContent(h),y.strValue)}s.transformPlain=c}}),Ar=D({"node_modules/yaml-unist-parser/lib/factories/quote-double.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"quoteDouble"})}s.createQuoteDouble=r}}),Nr=D({"node_modules/yaml-unist-parser/lib/factories/quote-value.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=me();function h(d,y,M){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("quoteValue",d)),y),r.createCommentAttachable()),{value:M})}s.createQuoteValue=h}}),nt=D({"node_modules/yaml-unist-parser/lib/transforms/quote-value.js"(s){"use strict";Y(),s.__esModule=!0;var e=Nr();function r(c,h){var d=c.cstNode;return e.createQuoteValue(h.transformRange(d.valueRange),h.transformContent(c),d.strValue)}s.transformAstQuoteValue=r}}),Tr=D({"node_modules/yaml-unist-parser/lib/transforms/quote-double.js"(s){"use strict";Y(),s.__esModule=!0;var e=Ar(),r=nt();function c(h,d){return e.createQuoteDouble(r.transformAstQuoteValue(h,d))}s.transformQuoteDouble=c}}),Cr=D({"node_modules/yaml-unist-parser/lib/factories/quote-single.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"quoteSingle"})}s.createQuoteSingle=r}}),kr=D({"node_modules/yaml-unist-parser/lib/transforms/quote-single.js"(s){"use strict";Y(),s.__esModule=!0;var e=Cr(),r=nt();function c(h,d){return e.createQuoteSingle(r.transformAstQuoteValue(h,d))}s.transformQuoteSingle=c}}),Pr=D({"node_modules/yaml-unist-parser/lib/factories/sequence.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Ee(),c=Oe(),h=me();function d(y,M,k){return e.__assign(e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("sequence",y)),c.createLeadingCommentAttachable()),r.createEndCommentAttachable()),M),{children:k})}s.createSequence=d}}),Ir=D({"node_modules/yaml-unist-parser/lib/factories/sequence-item.js"(s){"use strict";Y(),s.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=Ee(),h=me();function d(y,M){return e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("sequenceItem",y)),r.createCommentAttachable()),c.createEndCommentAttachable()),{children:M?[M]:[]})}s.createSequenceItem=d}}),Rr=D({"node_modules/yaml-unist-parser/lib/transforms/seq.js"(s){"use strict";Y(),s.__esModule=!0;var e=Le(),r=Pr(),c=Ir(),h=Be(),d=Ve(),y=Ae();function M(k,w){var E=h.extractComments(k.cstNode.items,w),T=E.map(function(I,C){d.extractPropComments(I,w);var q=w.transformNode(k.items[C]);return c.createSequenceItem(e.createPosition(w.transformOffset(I.valueRange.origStart),q===null?w.transformOffset(I.valueRange.origStart+1):q.position.end),q)});return r.createSequence(e.createPosition(T[0].position.start,y.getLast(T).position.end),w.transformContent(k),T)}s.transformSeq=M}}),qr=D({"node_modules/yaml-unist-parser/lib/transform.js"(s){"use strict";Y(),s.__esModule=!0;var e=Gt(),r=rr(),c=sr(),h=ir(),d=or(),y=dr(),M=_r(),k=br(),w=Er(),E=Lr(),T=Tr(),I=kr(),C=Rr();function q(R,B){if(R===null||R.type===void 0&&R.value===null)return null;switch(R.type){case"ALIAS":return e.transformAlias(R,B);case"BLOCK_FOLDED":return r.transformBlockFolded(R,B);case"BLOCK_LITERAL":return c.transformBlockLiteral(R,B);case"COMMENT":return h.transformComment(R,B);case"DIRECTIVE":return d.transformDirective(R,B);case"DOCUMENT":return y.transformDocument(R,B);case"FLOW_MAP":return M.transformFlowMap(R,B);case"FLOW_SEQ":return k.transformFlowSeq(R,B);case"MAP":return w.transformMap(R,B);case"PLAIN":return E.transformPlain(R,B);case"QUOTE_DOUBLE":return T.transformQuoteDouble(R,B);case"QUOTE_SINGLE":return I.transformQuoteSingle(R,B);case"SEQ":return C.transformSeq(R,B);default:throw new Error("Unexpected node type "+R.type)}}s.transformNode=q}}),$r=D({"node_modules/yaml-unist-parser/lib/factories/error.js"(s){"use strict";Y(),s.__esModule=!0;function e(r,c,h){var d=new SyntaxError(r);return d.name="YAMLSyntaxError",d.source=c,d.position=h,d}s.createError=e}}),Br=D({"node_modules/yaml-unist-parser/lib/transforms/error.js"(s){"use strict";Y(),s.__esModule=!0;var e=$r();function r(c,h){var d=c.source.range||c.source.valueRange;return e.createError(c.message,h.text,h.transformRange(d))}s.transformError=r}}),jr=D({"node_modules/yaml-unist-parser/lib/factories/point.js"(s){"use strict";Y(),s.__esModule=!0;function e(r,c,h){return{offset:r,line:c,column:h}}s.createPoint=e}}),Yr=D({"node_modules/yaml-unist-parser/lib/transforms/offset.js"(s){"use strict";Y(),s.__esModule=!0;var e=jr();function r(c,h){c<0?c=0:c>h.text.length&&(c=h.text.length);var d=h.locator.locationForIndex(c);return e.createPoint(c,d.line+1,d.column+1)}s.transformOffset=r}}),Dr=D({"node_modules/yaml-unist-parser/lib/transforms/range.js"(s){"use strict";Y(),s.__esModule=!0;var e=Le();function r(c,h){return e.createPosition(h.transformOffset(c.origStart),h.transformOffset(c.origEnd))}s.transformRange=r}}),Fr=D({"node_modules/yaml-unist-parser/lib/utils/add-orig-range.js"(s){"use strict";Y(),s.__esModule=!0;var e=!0;function r(y){if(!y.setOrigRanges()){var M=function(k){if(h(k))return k.origStart=k.start,k.origEnd=k.end,e;if(d(k))return k.origOffset=k.offset,e};y.forEach(function(k){return c(k,M)})}}s.addOrigRange=r;function c(y,M){if(!(!y||typeof y!="object")&&M(y)!==e)for(var k=0,w=Object.keys(y);kE.offset}}}),Me=D({"node_modules/yaml/dist/PlainValue-ec8e588e.js"(s){"use strict";Y();var e={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},r={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},c="tag:yaml.org,2002:",h={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function d(i){let t=[0],n=i.indexOf(` -`);for(;n!==-1;)n+=1,t.push(n),n=i.indexOf(` -`,n);return t}function y(i){let t,n;return typeof i=="string"?(t=d(i),n=i):(Array.isArray(i)&&(i=i[0]),i&&i.context&&(i.lineStarts||(i.lineStarts=d(i.context.src)),t=i.lineStarts,n=i.context.src)),{lineStarts:t,src:n}}function M(i,t){if(typeof i!="number"||i<0)return null;let{lineStarts:n,src:a}=y(t);if(!n||!a||i>a.length)return null;for(let p=0;p=1)||i>n.length)return null;let m=n[i-1],p=n[i];for(;p&&p>m&&a[p-1]===` -`;)--p;return a.slice(m,p)}function w(i,t){let{start:n,end:a}=i,m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:80,p=k(n.line,t);if(!p)return null;let{col:u}=n;if(p.length>m)if(u<=m-10)p=p.substr(0,m-1)+"\u2026";else{let K=Math.round(m/2);p.length>u+K&&(p=p.substr(0,u+K-1)+"\u2026"),u-=p.length-m,p="\u2026"+p.substr(1-m)}let g=1,L="";a&&(a.line===n.line&&u+(a.col-n.col)<=m+1?g=a.col-n.col:(g=Math.min(p.length+1,m)-u,L="\u2026"));let P=u>1?" ".repeat(u-1):"",$="^".repeat(g);return`${p} -${P}${$}${L}`}var E=class{static copy(i){return new E(i.start,i.end)}constructor(i,t){this.start=i,this.end=t||i}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(i,t){let{start:n,end:a}=this;if(i.length===0||a<=i[0])return this.origStart=n,this.origEnd=a,t;let m=t;for(;mn);)++m;this.origStart=n+m;let p=m;for(;m=a);)++m;return this.origEnd=a+m,p}},T=class{static addStringTerminator(i,t,n){if(n[n.length-1]===` -`)return n;let a=T.endOfWhiteSpace(i,t);return a>=i.length||i[a]===` -`?n+` -`:n}static atDocumentBoundary(i,t,n){let a=i[t];if(!a)return!0;let m=i[t-1];if(m&&m!==` -`)return!1;if(n){if(a!==n)return!1}else if(a!==e.DIRECTIVES_END&&a!==e.DOCUMENT_END)return!1;let p=i[t+1],u=i[t+2];if(p!==a||u!==a)return!1;let g=i[t+3];return!g||g===` -`||g===" "||g===" "}static endOfIdentifier(i,t){let n=i[t],a=n==="<",m=a?[` -`," "," ",">"]:[` -`," "," ","[","]","{","}",","];for(;n&&m.indexOf(n)===-1;)n=i[t+=1];return a&&n===">"&&(t+=1),t}static endOfIndent(i,t){let n=i[t];for(;n===" ";)n=i[t+=1];return t}static endOfLine(i,t){let n=i[t];for(;n&&n!==` -`;)n=i[t+=1];return t}static endOfWhiteSpace(i,t){let n=i[t];for(;n===" "||n===" ";)n=i[t+=1];return t}static startOfLine(i,t){let n=i[t-1];if(n===` -`)return t;for(;n&&n!==` -`;)n=i[t-=1];return t+1}static endOfBlockIndent(i,t,n){let a=T.endOfIndent(i,n);if(a>n+t)return a;{let m=T.endOfWhiteSpace(i,a),p=i[m];if(!p||p===` -`)return m}return null}static atBlank(i,t,n){let a=i[t];return a===` -`||a===" "||a===" "||n&&!a}static nextNodeIsIndented(i,t,n){return!i||t<0?!1:t>0?!0:n&&i==="-"}static normalizeOffset(i,t){let n=i[t];return n?n!==` -`&&i[t-1]===` -`?t-1:T.endOfWhiteSpace(i,t):t}static foldNewline(i,t,n){let a=0,m=!1,p="",u=i[t+1];for(;u===" "||u===" "||u===` -`;){switch(u){case` -`:a=0,t+=1,p+=` -`;break;case" ":a<=n&&(m=!0),t=T.endOfWhiteSpace(i,t+2)-1;break;case" ":a+=1,t+=1;break}u=i[t+1]}return p||(p=" "),u&&a<=n&&(m=!0),{fold:p,offset:t,error:m}}constructor(i,t,n){Object.defineProperty(this,"context",{value:n||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=i,this.value=null}getPropValue(i,t,n){if(!this.context)return null;let{src:a}=this.context,m=this.props[i];return m&&a[m.start]===t?a.slice(m.start+(n?1:0),m.end):null}get anchor(){for(let i=0;i0?i.join(` -`):null}commentHasRequiredWhitespace(i){let{src:t}=this.context;if(this.header&&i===this.header.end||!this.valueRange)return!1;let{end:n}=this.valueRange;return i!==n||T.atBlank(t,n-1)}get hasComment(){if(this.context){let{src:i}=this.context;for(let t=0;tn.setOrigRange(i,t)),t}toString(){let{context:{src:i},range:t,value:n}=this;if(n!=null)return n;let a=i.slice(t.start,t.end);return T.addStringTerminator(i,t.end,a)}},I=class extends Error{constructor(i,t,n){if(!n||!(t instanceof T))throw new Error(`Invalid arguments for new ${i}`);super(),this.name=i,this.message=n,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;let i=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new E(this.offset,this.offset+1);let t=i&&M(this.offset,i);if(t){let n={line:t.line,col:t.col+1};this.linePos={start:t,end:n}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){let{line:t,col:n}=this.linePos.start;this.message+=` at line ${t}, column ${n}`;let a=i&&w(this.linePos,i);a&&(this.message+=`: - -${a} -`)}delete this.source}},C=class extends I{constructor(i,t){super("YAMLReferenceError",i,t)}},q=class extends I{constructor(i,t){super("YAMLSemanticError",i,t)}},R=class extends I{constructor(i,t){super("YAMLSyntaxError",i,t)}},B=class extends I{constructor(i,t){super("YAMLWarning",i,t)}};function U(i,t,n){return t in i?Object.defineProperty(i,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):i[t]=n,i}var f=class extends T{static endOfLine(i,t,n){let a=i[t],m=t;for(;a&&a!==` -`&&!(n&&(a==="["||a==="]"||a==="{"||a==="}"||a===","));){let p=i[m+1];if(a===":"&&(!p||p===` -`||p===" "||p===" "||n&&p===",")||(a===" "||a===" ")&&p==="#")break;m+=1,a=p}return m}get strValue(){if(!this.valueRange||!this.context)return null;let{start:i,end:t}=this.valueRange,{src:n}=this.context,a=n[t-1];for(;iL?n.slice(L,u+1):g)}else m+=g}let p=n[i];switch(p){case" ":{let u="Plain value cannot start with a tab character";return{errors:[new q(this,u)],str:m}}case"@":case"`":{let u=`Plain value cannot start with reserved character ${p}`;return{errors:[new q(this,u)],str:m}}default:return m}}parseBlockValue(i){let{indent:t,inFlow:n,src:a}=this.context,m=i,p=i;for(let u=a[m];u===` -`&&!T.atDocumentBoundary(a,m+1);u=a[m]){let g=T.endOfBlockIndent(a,t,m+1);if(g===null||a[g]==="#")break;a[g]===` -`?m=g:(p=f.endOfLine(a,g,n),m=p)}return this.valueRange.isEmpty()&&(this.valueRange.start=i),this.valueRange.end=p,p}parse(i,t){this.context=i;let{inFlow:n,src:a}=i,m=t,p=a[m];return p&&p!=="#"&&p!==` -`&&(m=f.endOfLine(a,t,n)),this.valueRange=new E(t,m),m=T.endOfWhiteSpace(a,m),m=this.parseComment(m),(!this.hasComment||this.valueRange.isEmpty())&&(m=this.parseBlockValue(m)),m}};s.Char=e,s.Node=T,s.PlainValue=f,s.Range=E,s.Type=r,s.YAMLError=I,s.YAMLReferenceError=C,s.YAMLSemanticError=q,s.YAMLSyntaxError=R,s.YAMLWarning=B,s._defineProperty=U,s.defaultTagPrefix=c,s.defaultTags=h}}),Ur=D({"node_modules/yaml/dist/parse-cst.js"(s){"use strict";Y();var e=Me(),r=class extends e.Node{constructor(){super(e.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(f,i){return this.context=f,this.range=new e.Range(i,i+1),i+1}},c=class extends e.Node{constructor(f,i){super(f,i),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(f,i){this.context=f;let{parseNode:t,src:n}=f,{atLineStart:a,lineStart:m}=f;!a&&this.type===e.Type.SEQ_ITEM&&(this.error=new e.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));let p=a?i-m:f.indent,u=e.Node.endOfWhiteSpace(n,i+1),g=n[u],L=g==="#",P=[],$=null;for(;g===` -`||g==="#";){if(g==="#"){let V=e.Node.endOfLine(n,u+1);P.push(new e.Range(u,V)),u=V}else{a=!0,m=u+1;let V=e.Node.endOfWhiteSpace(n,m);n[V]===` -`&&P.length===0&&($=new r,m=$.parse({src:n},m)),u=e.Node.endOfIndent(n,m)}g=n[u]}if(e.Node.nextNodeIsIndented(g,u-(m+p),this.type!==e.Type.SEQ_ITEM)?this.node=t({atLineStart:a,inCollection:!1,indent:p,lineStart:m,parent:this},u):g&&m>i+1&&(u=m-1),this.node){if($){let V=f.parent.items||f.parent.contents;V&&V.push($)}P.length&&Array.prototype.push.apply(this.props,P),u=this.node.range.end}else if(L){let V=P[0];this.props.push(V),u=V.end}else u=e.Node.endOfLine(n,i+1);let K=this.node?this.node.valueRange.end:u;return this.valueRange=new e.Range(i,K),u}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.node?this.node.setOrigRanges(f,i):i}toString(){let{context:{src:f},node:i,range:t,value:n}=this;if(n!=null)return n;let a=i?f.slice(t.start,i.range.start)+String(i):f.slice(t.start,t.end);return e.Node.addStringTerminator(f,t.end,a)}},h=class extends e.Node{constructor(){super(e.Type.COMMENT)}parse(f,i){this.context=f;let t=this.parseComment(i);return this.range=new e.Range(i,t),t}};function d(f){let i=f;for(;i instanceof c;)i=i.node;if(!(i instanceof y))return null;let t=i.items.length,n=-1;for(let p=t-1;p>=0;--p){let u=i.items[p];if(u.type===e.Type.COMMENT){let{indent:g,lineStart:L}=u.context;if(g>0&&u.range.start>=L+g)break;n=p}else if(u.type===e.Type.BLANK_LINE)n=p;else break}if(n===-1)return null;let a=i.items.splice(n,t-n),m=a[0].range.start;for(;i.range.end=m,i.valueRange&&i.valueRange.end>m&&(i.valueRange.end=m),i!==f;)i=i.context.parent;return a}var y=class extends e.Node{static nextContentHasIndent(f,i,t){let n=e.Node.endOfLine(f,i)+1;i=e.Node.endOfWhiteSpace(f,n);let a=f[i];return a?i>=n+t?!0:a!=="#"&&a!==` -`?!1:y.nextContentHasIndent(f,i,t):!1}constructor(f){super(f.type===e.Type.SEQ_ITEM?e.Type.SEQ:e.Type.MAP);for(let t=f.props.length-1;t>=0;--t)if(f.props[t].start0}parse(f,i){this.context=f;let{parseNode:t,src:n}=f,a=e.Node.startOfLine(n,i),m=this.items[0];m.context.parent=this,this.valueRange=e.Range.copy(m.valueRange);let p=m.range.start-m.context.lineStart,u=i;u=e.Node.normalizeOffset(n,u);let g=n[u],L=e.Node.endOfWhiteSpace(n,a)===u,P=!1;for(;g;){for(;g===` -`||g==="#";){if(L&&g===` -`&&!P){let V=new r;if(u=V.parse({src:n},u),this.valueRange.end=u,u>=n.length){g=null;break}this.items.push(V),u-=1}else if(g==="#"){if(u=n.length){g=null;break}}if(a=u+1,u=e.Node.endOfIndent(n,a),e.Node.atBlank(n,u)){let V=e.Node.endOfWhiteSpace(n,u),z=n[V];(!z||z===` -`||z==="#")&&(u=V)}g=n[u],L=!0}if(!g)break;if(u!==a+p&&(L||g!==":")){if(ui&&(u=a);break}else if(!this.error){let V="All collection items must start at the same column";this.error=new e.YAMLSyntaxError(this,V)}}if(m.type===e.Type.SEQ_ITEM){if(g!=="-"){a>i&&(u=a);break}}else if(g==="-"&&!this.error){let V=n[u+1];if(!V||V===` -`||V===" "||V===" "){let z="A collection cannot be both a mapping and a sequence";this.error=new e.YAMLSyntaxError(this,z)}}let $=t({atLineStart:L,inCollection:!0,indent:p,lineStart:a,parent:this},u);if(!$)return u;if(this.items.push($),this.valueRange.end=$.valueRange.end,u=e.Node.normalizeOffset(n,$.range.end),g=n[u],L=!1,P=$.includesTrailingLines,g){let V=u-1,z=n[V];for(;z===" "||z===" ";)z=n[--V];z===` -`&&(a=V+1,L=!0)}let K=d($);K&&Array.prototype.push.apply(this.items,K)}return u}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.items.forEach(t=>{i=t.setOrigRanges(f,i)}),i}toString(){let{context:{src:f},items:i,range:t,value:n}=this;if(n!=null)return n;let a=f.slice(t.start,i[0].range.start)+String(i[0]);for(let m=1;m0&&(this.contents=this.directives,this.directives=[]),a}return i[a]?(this.directivesEndMarker=new e.Range(a,a+3),a+3):(n?this.error=new e.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),a)}parseContents(f){let{parseNode:i,src:t}=this.context;this.contents||(this.contents=[]);let n=f;for(;t[n-1]==="-";)n-=1;let a=e.Node.endOfWhiteSpace(t,f),m=n===f;for(this.valueRange=new e.Range(a);!e.Node.atDocumentBoundary(t,a,e.Char.DOCUMENT_END);){switch(t[a]){case` -`:if(m){let p=new r;a=p.parse({src:t},a),a{i=t.setOrigRanges(f,i)}),this.directivesEndMarker&&(i=this.directivesEndMarker.setOrigRange(f,i)),this.contents.forEach(t=>{i=t.setOrigRanges(f,i)}),this.documentEndMarker&&(i=this.documentEndMarker.setOrigRange(f,i)),i}toString(){let{contents:f,directives:i,value:t}=this;if(t!=null)return t;let n=i.join("");return f.length>0&&((i.length>0||f[0].type===e.Type.COMMENT)&&(n+=`--- -`),n+=f.join("")),n[n.length-1]!==` -`&&(n+=` -`),n}},w=class extends e.Node{parse(f,i){this.context=f;let{src:t}=f,n=e.Node.endOfIdentifier(t,i+1);return this.valueRange=new e.Range(i+1,n),n=e.Node.endOfWhiteSpace(t,n),n=this.parseComment(n),n}},E={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"},T=class extends e.Node{constructor(f,i){super(f,i),this.blockIndent=null,this.chomping=E.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===E.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:f,end:i}=this.valueRange,{indent:t,src:n}=this.context;if(this.valueRange.isEmpty())return"";let a=null,m=n[i-1];for(;m===` -`||m===" "||m===" ";){if(i-=1,i<=f){if(this.chomping===E.KEEP)break;return""}m===` -`&&(a=i),m=n[i-1]}let p=i+1;a&&(this.chomping===E.KEEP?(p=a,i=this.valueRange.end):i=a);let u=t+this.blockIndent,g=this.type===e.Type.BLOCK_FOLDED,L=!0,P="",$="",K=!1;for(let V=f;Vp&&(p=P);t[g]===` -`?a=g:a=m=e.Node.endOfLine(t,g)}return this.chomping!==E.KEEP&&(a=t[m]?m+1:m),this.valueRange=new e.Range(f+1,a),a}parse(f,i){this.context=f;let{src:t}=f,n=this.parseBlockHeader(i);return n=e.Node.endOfWhiteSpace(t,n),n=this.parseComment(n),n=this.parseBlockValue(n),n}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.header?this.header.setOrigRange(f,i):i}},I=class extends e.Node{constructor(f,i){super(f,i),this.items=null}prevNodeIsJsonLike(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.items.length,i=this.items[f-1];return!!i&&(i.jsonLike||i.type===e.Type.COMMENT&&this.prevNodeIsJsonLike(f-1))}parse(f,i){this.context=f;let{parseNode:t,src:n}=f,{indent:a,lineStart:m}=f,p=n[i];this.items=[{char:p,offset:i}];let u=e.Node.endOfWhiteSpace(n,i+1);for(p=n[u];p&&p!=="]"&&p!=="}";){switch(p){case` -`:{m=u+1;let g=e.Node.endOfWhiteSpace(n,m);if(n[g]===` -`){let L=new r;m=L.parse({src:n},m),this.items.push(L)}if(u=e.Node.endOfIndent(n,m),u<=m+a&&(p=n[u],u{if(t instanceof e.Node)i=t.setOrigRanges(f,i);else if(f.length===0)t.origOffset=t.offset;else{let n=i;for(;nt.offset);)++n;t.origOffset=t.offset+n,i=n}}),i}toString(){let{context:{src:f},items:i,range:t,value:n}=this;if(n!=null)return n;let a=i.filter(u=>u instanceof e.Node),m="",p=t.start;return a.forEach(u=>{let g=f.slice(p,u.range.start);p=u.range.end,m+=g+String(u),m[m.length-1]===` -`&&f[p-1]!==` -`&&f[p]===` -`&&(p+=1)}),m+=f.slice(p,t.end),e.Node.addStringTerminator(f,t.end,m)}},C=class extends e.Node{static endOfQuote(f,i){let t=f[i];for(;t&&t!=='"';)i+=t==="\\"?2:1,t=f[i];return i+1}get strValue(){if(!this.valueRange||!this.context)return null;let f=[],{start:i,end:t}=this.valueRange,{indent:n,src:a}=this.context;a[t-1]!=='"'&&f.push(new e.YAMLSyntaxError(this,'Missing closing "quote'));let m="";for(let p=i+1;pg?a.slice(g,p+1):u)}else m+=u}return f.length>0?{errors:f,str:m}:m}parseCharCode(f,i,t){let{src:n}=this.context,a=n.substr(f,i),p=a.length===i&&/^[0-9a-fA-F]+$/.test(a)?parseInt(a,16):NaN;return isNaN(p)?(t.push(new e.YAMLSyntaxError(this,`Invalid escape sequence ${n.substr(f-2,i+2)}`)),n.substr(f-2,i+2)):String.fromCodePoint(p)}parse(f,i){this.context=f;let{src:t}=f,n=C.endOfQuote(t,i+1);return this.valueRange=new e.Range(i,n),n=e.Node.endOfWhiteSpace(t,n),n=this.parseComment(n),n}},q=class extends e.Node{static endOfQuote(f,i){let t=f[i];for(;t;)if(t==="'"){if(f[i+1]!=="'")break;t=f[i+=2]}else t=f[i+=1];return i+1}get strValue(){if(!this.valueRange||!this.context)return null;let f=[],{start:i,end:t}=this.valueRange,{indent:n,src:a}=this.context;a[t-1]!=="'"&&f.push(new e.YAMLSyntaxError(this,"Missing closing 'quote"));let m="";for(let p=i+1;pg?a.slice(g,p+1):u)}else m+=u}return f.length>0?{errors:f,str:m}:m}parse(f,i){this.context=f;let{src:t}=f,n=q.endOfQuote(t,i+1);return this.valueRange=new e.Range(i,n),n=e.Node.endOfWhiteSpace(t,n),n=this.parseComment(n),n}};function R(f,i){switch(f){case e.Type.ALIAS:return new w(f,i);case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:return new T(f,i);case e.Type.FLOW_MAP:case e.Type.FLOW_SEQ:return new I(f,i);case e.Type.MAP_KEY:case e.Type.MAP_VALUE:case e.Type.SEQ_ITEM:return new c(f,i);case e.Type.COMMENT:case e.Type.PLAIN:return new e.PlainValue(f,i);case e.Type.QUOTE_DOUBLE:return new C(f,i);case e.Type.QUOTE_SINGLE:return new q(f,i);default:return null}}var B=class{static parseType(f,i,t){switch(f[i]){case"*":return e.Type.ALIAS;case">":return e.Type.BLOCK_FOLDED;case"|":return e.Type.BLOCK_LITERAL;case"{":return e.Type.FLOW_MAP;case"[":return e.Type.FLOW_SEQ;case"?":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.MAP_KEY:e.Type.PLAIN;case":":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.MAP_VALUE:e.Type.PLAIN;case"-":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.SEQ_ITEM:e.Type.PLAIN;case'"':return e.Type.QUOTE_DOUBLE;case"'":return e.Type.QUOTE_SINGLE;default:return e.Type.PLAIN}}constructor(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{atLineStart:i,inCollection:t,inFlow:n,indent:a,lineStart:m,parent:p}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};e._defineProperty(this,"parseNode",(u,g)=>{if(e.Node.atDocumentBoundary(this.src,g))return null;let L=new B(this,u),{props:P,type:$,valueStart:K}=L.parseProps(g),V=R($,P),z=V.parse(L,K);if(V.range=new e.Range(g,z),z<=g&&(V.error=new Error("Node#parse consumed no characters"),V.error.parseEnd=z,V.error.source=V,V.range.end=g+1),L.nodeStartsCollection(V)){!V.error&&!L.atLineStart&&L.parent.type===e.Type.DOCUMENT&&(V.error=new e.YAMLSyntaxError(V,"Block collection must not have preceding content here (e.g. directives-end indicator)"));let ae=new y(V);return z=ae.parse(new B(L),z),ae.range=new e.Range(g,z),ae}return V}),this.atLineStart=i!=null?i:f.atLineStart||!1,this.inCollection=t!=null?t:f.inCollection||!1,this.inFlow=n!=null?n:f.inFlow||!1,this.indent=a!=null?a:f.indent,this.lineStart=m!=null?m:f.lineStart,this.parent=p!=null?p:f.parent||{},this.root=f.root,this.src=f.src}nodeStartsCollection(f){let{inCollection:i,inFlow:t,src:n}=this;if(i||t)return!1;if(f instanceof c)return!0;let a=f.range.end;return n[a]===` -`||n[a-1]===` -`?!1:(a=e.Node.endOfWhiteSpace(n,a),n[a]===":")}parseProps(f){let{inFlow:i,parent:t,src:n}=this,a=[],m=!1;f=this.atLineStart?e.Node.endOfIndent(n,f):e.Node.endOfWhiteSpace(n,f);let p=n[f];for(;p===e.Char.ANCHOR||p===e.Char.COMMENT||p===e.Char.TAG||p===` -`;){if(p===` -`){let g=f,L;do L=g+1,g=e.Node.endOfIndent(n,L);while(n[g]===` -`);let P=g-(L+this.indent),$=t.type===e.Type.SEQ_ITEM&&t.context.atLineStart;if(n[g]!=="#"&&!e.Node.nextNodeIsIndented(n[g],P,!$))break;this.atLineStart=!0,this.lineStart=L,m=!1,f=g}else if(p===e.Char.COMMENT){let g=e.Node.endOfLine(n,f+1);a.push(new e.Range(f,g)),f=g}else{let g=e.Node.endOfIdentifier(n,f+1);p===e.Char.TAG&&n[g]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(n.slice(f+1,g+13))&&(g=e.Node.endOfIdentifier(n,g+5)),a.push(new e.Range(f,g)),m=!0,f=e.Node.endOfWhiteSpace(n,g)}p=n[f]}m&&p===":"&&e.Node.atBlank(n,f+1,!0)&&(f-=1);let u=B.parseType(n,f,i);return{props:a,type:u,valueStart:f}}};function U(f){let i=[];f.indexOf("\r")!==-1&&(f=f.replace(/\r\n?/g,(a,m)=>(a.length>1&&i.push(m),` -`)));let t=[],n=0;do{let a=new k,m=new B({src:f});n=a.parse(m,n),t.push(a)}while(n{if(i.length===0)return!1;for(let m=1;mt.join(`... -`),t}s.parse=U}}),ke=D({"node_modules/yaml/dist/resolveSeq-d03cb037.js"(s){"use strict";Y();var e=Me();function r(o,l,_){return _?`#${_.replace(/[\s\S]^/gm,`$&${l}#`)} -${l}${o}`:o}function c(o,l,_){return _?_.indexOf(` -`)===-1?`${o} #${_}`:`${o} -`+_.replace(/^/gm,`${l||""}#`):o}var h=class{};function d(o,l,_){if(Array.isArray(o))return o.map((v,b)=>d(v,String(b),_));if(o&&typeof o.toJSON=="function"){let v=_&&_.anchors&&_.anchors.get(o);v&&(_.onCreate=S=>{v.res=S,delete _.onCreate});let b=o.toJSON(l,_);return v&&_.onCreate&&_.onCreate(b),b}return(!_||!_.keep)&&typeof o=="bigint"?Number(o):o}var y=class extends h{constructor(o){super(),this.value=o}toJSON(o,l){return l&&l.keep?this.value:d(this.value,o,l)}toString(){return String(this.value)}};function M(o,l,_){let v=_;for(let b=l.length-1;b>=0;--b){let S=l[b];if(Number.isInteger(S)&&S>=0){let A=[];A[S]=v,v=A}else{let A={};Object.defineProperty(A,S,{value:v,writable:!0,enumerable:!0,configurable:!0}),v=A}}return o.createNode(v,!1)}var k=o=>o==null||typeof o=="object"&&o[Symbol.iterator]().next().done,w=class extends h{constructor(o){super(),e._defineProperty(this,"items",[]),this.schema=o}addIn(o,l){if(k(o))this.add(l);else{let[_,...v]=o,b=this.get(_,!0);if(b instanceof w)b.addIn(v,l);else if(b===void 0&&this.schema)this.set(_,M(this.schema,v,l));else throw new Error(`Expected YAML collection at ${_}. Remaining path: ${v}`)}}deleteIn(o){let[l,..._]=o;if(_.length===0)return this.delete(l);let v=this.get(l,!0);if(v instanceof w)return v.deleteIn(_);throw new Error(`Expected YAML collection at ${l}. Remaining path: ${_}`)}getIn(o,l){let[_,...v]=o,b=this.get(_,!0);return v.length===0?!l&&b instanceof y?b.value:b:b instanceof w?b.getIn(v,l):void 0}hasAllNullValues(){return this.items.every(o=>{if(!o||o.type!=="PAIR")return!1;let l=o.value;return l==null||l instanceof y&&l.value==null&&!l.commentBefore&&!l.comment&&!l.tag})}hasIn(o){let[l,..._]=o;if(_.length===0)return this.has(l);let v=this.get(l,!0);return v instanceof w?v.hasIn(_):!1}setIn(o,l){let[_,...v]=o;if(v.length===0)this.set(_,l);else{let b=this.get(_,!0);if(b instanceof w)b.setIn(v,l);else if(b===void 0&&this.schema)this.set(_,M(this.schema,v,l));else throw new Error(`Expected YAML collection at ${_}. Remaining path: ${v}`)}}toJSON(){return null}toString(o,l,_,v){let{blockItem:b,flowChars:S,isMap:A,itemIndent:N}=l,{indent:j,indentStep:F,stringify:Q}=o,H=this.type===e.Type.FLOW_MAP||this.type===e.Type.FLOW_SEQ||o.inFlow;H&&(N+=F);let oe=A&&this.hasAllNullValues();o=Object.assign({},o,{allNullValues:oe,indent:N,inFlow:H,type:null});let le=!1,Z=!1,ee=this.items.reduce((de,ne,he)=>{let ce;ne&&(!le&&ne.spaceBefore&&de.push({type:"comment",str:""}),ne.commentBefore&&ne.commentBefore.match(/^.*$/gm).forEach(Ie=>{de.push({type:"comment",str:`#${Ie}`})}),ne.comment&&(ce=ne.comment),H&&(!le&&ne.spaceBefore||ne.commentBefore||ne.comment||ne.key&&(ne.key.commentBefore||ne.key.comment)||ne.value&&(ne.value.commentBefore||ne.value.comment))&&(Z=!0)),le=!1;let fe=Q(ne,o,()=>ce=null,()=>le=!0);return H&&!Z&&fe.includes(` -`)&&(Z=!0),H&&hece.str);if(Z||he.reduce((ce,fe)=>ce+fe.length+2,2)>w.maxFlowStringSingleLineLength){X=de;for(let ce of he)X+=ce?` -${F}${j}${ce}`:` -`;X+=` -${j}${ne}`}else X=`${de} ${he.join(" ")} ${ne}`}else{let de=ee.map(b);X=de.shift();for(let ne of de)X+=ne?` -${j}${ne}`:` -`}return this.comment?(X+=` -`+this.comment.replace(/^/gm,`${j}#`),_&&_()):le&&v&&v(),X}};e._defineProperty(w,"maxFlowStringSingleLineLength",60);function E(o){let l=o instanceof y?o.value:o;return l&&typeof l=="string"&&(l=Number(l)),Number.isInteger(l)&&l>=0?l:null}var T=class extends w{add(o){this.items.push(o)}delete(o){let l=E(o);return typeof l!="number"?!1:this.items.splice(l,1).length>0}get(o,l){let _=E(o);if(typeof _!="number")return;let v=this.items[_];return!l&&v instanceof y?v.value:v}has(o){let l=E(o);return typeof l=="number"&&lv.type==="comment"?v.str:`- ${v.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(o.indent||"")+" "},l,_):JSON.stringify(this)}},I=(o,l,_)=>l===null?"":typeof l!="object"?String(l):o instanceof h&&_&&_.doc?o.toString({anchors:Object.create(null),doc:_.doc,indent:"",indentStep:_.indentStep,inFlow:!0,inStringifyKey:!0,stringify:_.stringify}):JSON.stringify(l),C=class extends h{constructor(o){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;super(),this.key=o,this.value=l,this.type=C.Type.PAIR}get commentBefore(){return this.key instanceof h?this.key.commentBefore:void 0}set commentBefore(o){if(this.key==null&&(this.key=new y(null)),this.key instanceof h)this.key.commentBefore=o;else{let l="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(l)}}addToJSMap(o,l){let _=d(this.key,"",o);if(l instanceof Map){let v=d(this.value,_,o);l.set(_,v)}else if(l instanceof Set)l.add(_);else{let v=I(this.key,_,o),b=d(this.value,v,o);v in l?Object.defineProperty(l,v,{value:b,writable:!0,enumerable:!0,configurable:!0}):l[v]=b}return l}toJSON(o,l){let _=l&&l.mapAsMap?new Map:{};return this.addToJSMap(l,_)}toString(o,l,_){if(!o||!o.doc)return JSON.stringify(this);let{indent:v,indentSeq:b,simpleKeys:S}=o.doc.options,{key:A,value:N}=this,j=A instanceof h&&A.comment;if(S){if(j)throw new Error("With simple keys, key nodes cannot have comments");if(A instanceof w){let ce="With simple keys, collection cannot be used as a key value";throw new Error(ce)}}let F=!S&&(!A||j||(A instanceof h?A instanceof w||A.type===e.Type.BLOCK_FOLDED||A.type===e.Type.BLOCK_LITERAL:typeof A=="object")),{doc:Q,indent:H,indentStep:oe,stringify:le}=o;o=Object.assign({},o,{implicitKey:!F,indent:H+oe});let Z=!1,ee=le(A,o,()=>j=null,()=>Z=!0);if(ee=c(ee,o.indent,j),!F&&ee.length>1024){if(S)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");F=!0}if(o.allNullValues&&!S)return this.comment?(ee=c(ee,o.indent,this.comment),l&&l()):Z&&!j&&_&&_(),o.inFlow&&!F?ee:`? ${ee}`;ee=F?`? ${ee} -${H}:`:`${ee}:`,this.comment&&(ee=c(ee,o.indent,this.comment),l&&l());let X="",de=null;if(N instanceof h){if(N.spaceBefore&&(X=` -`),N.commentBefore){let ce=N.commentBefore.replace(/^/gm,`${o.indent}#`);X+=` -${ce}`}de=N.comment}else N&&typeof N=="object"&&(N=Q.schema.createNode(N,!0));o.implicitKey=!1,!F&&!this.comment&&N instanceof y&&(o.indentAtStart=ee.length+1),Z=!1,!b&&v>=2&&!o.inFlow&&!F&&N instanceof T&&N.type!==e.Type.FLOW_SEQ&&!N.tag&&!Q.anchors.getName(N)&&(o.indent=o.indent.substr(2));let ne=le(N,o,()=>de=null,()=>Z=!0),he=" ";return X||this.comment?he=`${X} -${o.indent}`:!F&&N instanceof w?(!(ne[0]==="["||ne[0]==="{")||ne.includes(` -`))&&(he=` -${o.indent}`):ne[0]===` -`&&(he=""),Z&&!de&&_&&_(),c(ee+he+ne,o.indent,de)}};e._defineProperty(C,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var q=(o,l)=>{if(o instanceof R){let _=l.get(o.source);return _.count*_.aliasCount}else if(o instanceof w){let _=0;for(let v of o.items){let b=q(v,l);b>_&&(_=b)}return _}else if(o instanceof C){let _=q(o.key,l),v=q(o.value,l);return Math.max(_,v)}return 1},R=class extends h{static stringify(o,l){let{range:_,source:v}=o,{anchors:b,doc:S,implicitKey:A,inStringifyKey:N}=l,j=Object.keys(b).find(Q=>b[Q]===v);if(!j&&N&&(j=S.anchors.getName(v)||S.anchors.newName()),j)return`*${j}${A?" ":""}`;let F=S.anchors.getName(v)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${F} [${_}]`)}constructor(o){super(),this.source=o,this.type=e.Type.ALIAS}set tag(o){throw new Error("Alias nodes cannot have tags")}toJSON(o,l){if(!l)return d(this.source,o,l);let{anchors:_,maxAliasCount:v}=l,b=_.get(this.source);if(!b||b.res===void 0){let S="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new e.YAMLReferenceError(this.cstNode,S):new ReferenceError(S)}if(v>=0&&(b.count+=1,b.aliasCount===0&&(b.aliasCount=q(this.source,_)),b.count*b.aliasCount>v)){let S="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new e.YAMLReferenceError(this.cstNode,S):new ReferenceError(S)}return b.res}toString(o){return R.stringify(this,o)}};e._defineProperty(R,"default",!0);function B(o,l){let _=l instanceof y?l.value:l;for(let v of o)if(v instanceof C&&(v.key===l||v.key===_||v.key&&v.key.value===_))return v}var U=class extends w{add(o,l){o?o instanceof C||(o=new C(o.key||o,o.value)):o=new C(o);let _=B(this.items,o.key),v=this.schema&&this.schema.sortMapEntries;if(_)if(l)_.value=o.value;else throw new Error(`Key ${o.key} already set`);else if(v){let b=this.items.findIndex(S=>v(o,S)<0);b===-1?this.items.push(o):this.items.splice(b,0,o)}else this.items.push(o)}delete(o){let l=B(this.items,o);return l?this.items.splice(this.items.indexOf(l),1).length>0:!1}get(o,l){let _=B(this.items,o),v=_&&_.value;return!l&&v instanceof y?v.value:v}has(o){return!!B(this.items,o)}set(o,l){this.add(new C(o,l),!0)}toJSON(o,l,_){let v=_?new _:l&&l.mapAsMap?new Map:{};l&&l.onCreate&&l.onCreate(v);for(let b of this.items)b.addToJSMap(l,v);return v}toString(o,l,_){if(!o)return JSON.stringify(this);for(let v of this.items)if(!(v instanceof C))throw new Error(`Map items must all be pairs; found ${JSON.stringify(v)} instead`);return super.toString(o,{blockItem:v=>v.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:o.indent||""},l,_)}},f="<<",i=class extends C{constructor(o){if(o instanceof C){let l=o.value;l instanceof T||(l=new T,l.items.push(o.value),l.range=o.value.range),super(o.key,l),this.range=o.range}else super(new y(f),new T);this.type=C.Type.MERGE_PAIR}addToJSMap(o,l){for(let{source:_}of this.value.items){if(!(_ instanceof U))throw new Error("Merge sources must be maps");let v=_.toJSON(null,o,Map);for(let[b,S]of v)l instanceof Map?l.has(b)||l.set(b,S):l instanceof Set?l.add(b):Object.prototype.hasOwnProperty.call(l,b)||Object.defineProperty(l,b,{value:S,writable:!0,enumerable:!0,configurable:!0})}return l}toString(o,l){let _=this.value;if(_.items.length>1)return super.toString(o,l);this.value=_.items[0];let v=super.toString(o,l);return this.value=_,v}},t={defaultType:e.Type.BLOCK_LITERAL,lineWidth:76},n={trueStr:"true",falseStr:"false"},a={asBigInt:!1},m={nullStr:"null"},p={defaultType:e.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function u(o,l,_){for(let{format:v,test:b,resolve:S}of l)if(b){let A=o.match(b);if(A){let N=S.apply(null,A);return N instanceof y||(N=new y(N)),v&&(N.format=v),N}}return _&&(o=_(o)),new y(o)}var g="flow",L="block",P="quoted",$=(o,l)=>{let _=o[l+1];for(;_===" "||_===" ";){do _=o[l+=1];while(_&&_!==` -`);_=o[l+1]}return l};function K(o,l,_,v){let{indentAtStart:b,lineWidth:S=80,minContentWidth:A=20,onFold:N,onOverflow:j}=v;if(!S||S<0)return o;let F=Math.max(1+A,1+S-l.length);if(o.length<=F)return o;let Q=[],H={},oe=S-l.length;typeof b=="number"&&(b>S-Math.max(2,A)?Q.push(0):oe=S-b);let le,Z,ee=!1,X=-1,de=-1,ne=-1;_===L&&(X=$(o,X),X!==-1&&(oe=X+F));for(let ce;ce=o[X+=1];){if(_===P&&ce==="\\"){switch(de=X,o[X+1]){case"x":X+=3;break;case"u":X+=5;break;case"U":X+=9;break;default:X+=1}ne=X}if(ce===` -`)_===L&&(X=$(o,X)),oe=X+F,le=void 0;else{if(ce===" "&&Z&&Z!==" "&&Z!==` -`&&Z!==" "){let fe=o[X+1];fe&&fe!==" "&&fe!==` -`&&fe!==" "&&(le=X)}if(X>=oe)if(le)Q.push(le),oe=le+F,le=void 0;else if(_===P){for(;Z===" "||Z===" ";)Z=ce,ce=o[X+=1],ee=!0;let fe=X>ne+1?X-2:de-1;if(H[fe])return o;Q.push(fe),H[fe]=!0,oe=fe+F,le=void 0}else ee=!0}Z=ce}if(ee&&j&&j(),Q.length===0)return o;N&&N();let he=o.slice(0,Q[0]);for(let ce=0;ce{let{indentAtStart:l}=o;return l?Object.assign({indentAtStart:l},p.fold):p.fold},z=o=>/^(%|---|\.\.\.)/m.test(o);function ae(o,l,_){if(!l||l<0)return!1;let v=l-_,b=o.length;if(b<=v)return!1;for(let S=0,A=0;Sv)return!0;if(A=S+1,b-A<=v)return!1}return!0}function ue(o,l){let{implicitKey:_}=l,{jsonEncoding:v,minMultiLineLength:b}=p.doubleQuoted,S=JSON.stringify(o);if(v)return S;let A=l.indent||(z(o)?" ":""),N="",j=0;for(let F=0,Q=S[F];Q;Q=S[++F])if(Q===" "&&S[F+1]==="\\"&&S[F+2]==="n"&&(N+=S.slice(j,F)+"\\ ",F+=1,j=F,Q="\\"),Q==="\\")switch(S[F+1]){case"u":{N+=S.slice(j,F);let H=S.substr(F+2,4);switch(H){case"0000":N+="\\0";break;case"0007":N+="\\a";break;case"000b":N+="\\v";break;case"001b":N+="\\e";break;case"0085":N+="\\N";break;case"00a0":N+="\\_";break;case"2028":N+="\\L";break;case"2029":N+="\\P";break;default:H.substr(0,2)==="00"?N+="\\x"+H.substr(2):N+=S.substr(F,6)}F+=5,j=F+1}break;case"n":if(_||S[F+2]==='"'||S.length";if(!A)return Q+` -`;let H="",oe="";if(A=A.replace(/[\n\t ]*$/,Z=>{let ee=Z.indexOf(` -`);return ee===-1?Q+="-":(A===Z||ee!==Z.length-1)&&(Q+="+",v&&v()),oe=Z.replace(/\n$/,""),""}).replace(/^[\n ]*/,Z=>{Z.indexOf(" ")!==-1&&(Q+=j);let ee=Z.match(/ +$/);return ee?(H=Z.slice(0,-ee[0].length),ee[0]):(H=Z,"")}),oe&&(oe=oe.replace(/\n+(?!\n|$)/g,`$&${N}`)),H&&(H=H.replace(/\n+/g,`$&${N}`)),b&&(Q+=" #"+b.replace(/ ?[\r\n]+/g," "),_&&_()),!A)return`${Q}${j} -${N}${oe}`;if(F)return A=A.replace(/\n+/g,`$&${N}`),`${Q} -${N}${H}${A}${oe}`;A=A.replace(/\n+/g,` -$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${N}`);let le=K(`${H}${A}${oe}`,N,L,p.fold);return`${Q} -${N}${le}`}function O(o,l,_,v){let{comment:b,type:S,value:A}=o,{actualString:N,implicitKey:j,indent:F,inFlow:Q}=l;if(j&&/[\n[\]{},]/.test(A)||Q&&/[[\]{},]/.test(A))return ue(A,l);if(!A||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(A))return j||Q||A.indexOf(` -`)===-1?A.indexOf('"')!==-1&&A.indexOf("'")===-1?ge(A,l):ue(A,l):pe(o,l,_,v);if(!j&&!Q&&S!==e.Type.PLAIN&&A.indexOf(` -`)!==-1)return pe(o,l,_,v);if(F===""&&z(A))return l.forceBlockIndent=!0,pe(o,l,_,v);let H=A.replace(/\n+/g,`$& -${F}`);if(N){let{tags:le}=l.doc.schema;if(typeof u(H,le,le.scalarFallback).value!="string")return ue(A,l)}let oe=j?H:K(H,F,g,V(l));return b&&!Q&&(oe.indexOf(` -`)!==-1||b.indexOf(` -`)!==-1)?(_&&_(),r(oe,F,b)):oe}function W(o,l,_,v){let{defaultType:b}=p,{implicitKey:S,inFlow:A}=l,{type:N,value:j}=o;typeof j!="string"&&(j=String(j),o=Object.assign({},o,{value:j}));let F=H=>{switch(H){case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:return pe(o,l,_,v);case e.Type.QUOTE_DOUBLE:return ue(j,l);case e.Type.QUOTE_SINGLE:return ge(j,l);case e.Type.PLAIN:return O(o,l,_,v);default:return null}};(N!==e.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(j)||(S||A)&&(N===e.Type.BLOCK_FOLDED||N===e.Type.BLOCK_LITERAL))&&(N=e.Type.QUOTE_DOUBLE);let Q=F(N);if(Q===null&&(Q=F(b),Q===null))throw new Error(`Unsupported default string type ${b}`);return Q}function J(o){let{format:l,minFractionDigits:_,tag:v,value:b}=o;if(typeof b=="bigint")return String(b);if(!isFinite(b))return isNaN(b)?".nan":b<0?"-.inf":".inf";let S=JSON.stringify(b);if(!l&&_&&(!v||v==="tag:yaml.org,2002:float")&&/^\d/.test(S)){let A=S.indexOf(".");A<0&&(A=S.length,S+=".");let N=_-(S.length-A-1);for(;N-- >0;)S+="0"}return S}function x(o,l){let _,v;switch(l.type){case e.Type.FLOW_MAP:_="}",v="flow map";break;case e.Type.FLOW_SEQ:_="]",v="flow sequence";break;default:o.push(new e.YAMLSemanticError(l,"Not a flow collection!?"));return}let b;for(let S=l.items.length-1;S>=0;--S){let A=l.items[S];if(!A||A.type!==e.Type.COMMENT){b=A;break}}if(b&&b.char!==_){let S=`Expected ${v} to end with ${_}`,A;typeof b.offset=="number"?(A=new e.YAMLSemanticError(l,S),A.offset=b.offset+1):(A=new e.YAMLSemanticError(b,S),b.range&&b.range.end&&(A.offset=b.range.end-b.range.start)),o.push(A)}}function G(o,l){let _=l.context.src[l.range.start-1];if(_!==` -`&&_!==" "&&_!==" "){let v="Comments must be separated from other tokens by white space characters";o.push(new e.YAMLSemanticError(l,v))}}function re(o,l){let _=String(l),v=_.substr(0,8)+"..."+_.substr(-8);return new e.YAMLSemanticError(o,`The "${v}" key is too long`)}function _e(o,l){for(let{afterKey:_,before:v,comment:b}of l){let S=o.items[v];S?(_&&S.value&&(S=S.value),b===void 0?(_||!S.commentBefore)&&(S.spaceBefore=!0):S.commentBefore?S.commentBefore+=` -`+b:S.commentBefore=b):b!==void 0&&(o.comment?o.comment+=` -`+b:o.comment=b)}}function ye(o,l){let _=l.strValue;return _?typeof _=="string"?_:(_.errors.forEach(v=>{v.source||(v.source=l),o.errors.push(v)}),_.str):""}function be(o,l){let{handle:_,suffix:v}=l.tag,b=o.tagPrefixes.find(S=>S.handle===_);if(!b){let S=o.getDefaults().tagPrefixes;if(S&&(b=S.find(A=>A.handle===_)),!b)throw new e.YAMLSemanticError(l,`The ${_} tag handle is non-default and was not declared.`)}if(!v)throw new e.YAMLSemanticError(l,`The ${_} tag has no suffix.`);if(_==="!"&&(o.version||o.options.version)==="1.0"){if(v[0]==="^")return o.warnings.push(new e.YAMLWarning(l,"YAML 1.0 ^ tag expansion is not supported")),v;if(/[:/]/.test(v)){let S=v.match(/^([a-z0-9-]+)\/(.*)/i);return S?`tag:${S[1]}.yaml.org,2002:${S[2]}`:`tag:${v}`}}return b.prefix+decodeURIComponent(v)}function ve(o,l){let{tag:_,type:v}=l,b=!1;if(_){let{handle:S,suffix:A,verbatim:N}=_;if(N){if(N!=="!"&&N!=="!!")return N;let j=`Verbatim tags aren't resolved, so ${N} is invalid.`;o.errors.push(new e.YAMLSemanticError(l,j))}else if(S==="!"&&!A)b=!0;else try{return be(o,l)}catch(j){o.errors.push(j)}}switch(v){case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:case e.Type.QUOTE_DOUBLE:case e.Type.QUOTE_SINGLE:return e.defaultTags.STR;case e.Type.FLOW_MAP:case e.Type.MAP:return e.defaultTags.MAP;case e.Type.FLOW_SEQ:case e.Type.SEQ:return e.defaultTags.SEQ;case e.Type.PLAIN:return b?e.defaultTags.STR:null;default:return null}}function Ne(o,l,_){let{tags:v}=o.schema,b=[];for(let A of v)if(A.tag===_)if(A.test)b.push(A);else{let N=A.resolve(o,l);return N instanceof w?N:new y(N)}let S=ye(o,l);return typeof S=="string"&&b.length>0?u(S,b,v.scalarFallback):null}function Pe(o){let{type:l}=o;switch(l){case e.Type.FLOW_MAP:case e.Type.MAP:return e.defaultTags.MAP;case e.Type.FLOW_SEQ:case e.Type.SEQ:return e.defaultTags.SEQ;default:return e.defaultTags.STR}}function at(o,l,_){try{let v=Ne(o,l,_);if(v)return _&&l.tag&&(v.tag=_),v}catch(v){return v.source||(v.source=l),o.errors.push(v),null}try{let v=Pe(l);if(!v)throw new Error(`The tag ${_} is unavailable`);let b=`The tag ${_} is unavailable, falling back to ${v}`;o.warnings.push(new e.YAMLWarning(l,b));let S=Ne(o,l,v);return S.tag=_,S}catch(v){let b=new e.YAMLReferenceError(l,v.message);return b.stack=v.stack,o.errors.push(b),null}}var ot=o=>{if(!o)return!1;let{type:l}=o;return l===e.Type.MAP_KEY||l===e.Type.MAP_VALUE||l===e.Type.SEQ_ITEM};function lt(o,l){let _={before:[],after:[]},v=!1,b=!1,S=ot(l.context.parent)?l.context.parent.props.concat(l.props):l.props;for(let{start:A,end:N}of S)switch(l.context.src[A]){case e.Char.COMMENT:{if(!l.commentHasRequiredWhitespace(A)){let H="Comments must be separated from other tokens by white space characters";o.push(new e.YAMLSemanticError(l,H))}let{header:j,valueRange:F}=l;(F&&(A>F.start||j&&A>j.start)?_.after:_.before).push(l.context.src.slice(A+1,N));break}case e.Char.ANCHOR:if(v){let j="A node can have at most one anchor";o.push(new e.YAMLSemanticError(l,j))}v=!0;break;case e.Char.TAG:if(b){let j="A node can have at most one tag";o.push(new e.YAMLSemanticError(l,j))}b=!0;break}return{comments:_,hasAnchor:v,hasTag:b}}function ct(o,l){let{anchors:_,errors:v,schema:b}=o;if(l.type===e.Type.ALIAS){let A=l.rawValue,N=_.getNode(A);if(!N){let F=`Aliased anchor not found: ${A}`;return v.push(new e.YAMLReferenceError(l,F)),null}let j=new R(N);return _._cstAliases.push(j),j}let S=ve(o,l);if(S)return at(o,l,S);if(l.type!==e.Type.PLAIN){let A=`Failed to resolve ${l.type} node here`;return v.push(new e.YAMLSyntaxError(l,A)),null}try{let A=ye(o,l);return u(A,b.tags,b.tags.scalarFallback)}catch(A){return A.source||(A.source=l),v.push(A),null}}function we(o,l){if(!l)return null;l.error&&o.errors.push(l.error);let{comments:_,hasAnchor:v,hasTag:b}=lt(o.errors,l);if(v){let{anchors:A}=o,N=l.anchor,j=A.getNode(N);j&&(A.map[A.newName(N)]=j),A.map[N]=l}if(l.type===e.Type.ALIAS&&(v||b)){let A="An alias node must not specify any properties";o.errors.push(new e.YAMLSemanticError(l,A))}let S=ct(o,l);if(S){S.range=[l.range.start,l.range.end],o.options.keepCstNodes&&(S.cstNode=l),o.options.keepNodeTypes&&(S.type=l.type);let A=_.before.join(` -`);A&&(S.commentBefore=S.commentBefore?`${S.commentBefore} -${A}`:A);let N=_.after.join(` -`);N&&(S.comment=S.comment?`${S.comment} -${N}`:N)}return l.resolved=S}function ut(o,l){if(l.type!==e.Type.MAP&&l.type!==e.Type.FLOW_MAP){let A=`A ${l.type} node cannot be resolved as a mapping`;return o.errors.push(new e.YAMLSyntaxError(l,A)),null}let{comments:_,items:v}=l.type===e.Type.FLOW_MAP?ht(o,l):dt(o,l),b=new U;b.items=v,_e(b,_);let S=!1;for(let A=0;A{if(Q instanceof R){let{type:H}=Q.source;return H===e.Type.MAP||H===e.Type.FLOW_MAP?!1:F="Merge nodes aliases can only point to maps"}return F="Merge nodes can only have Alias nodes as values"}),F&&o.errors.push(new e.YAMLSemanticError(l,F))}else for(let j=A+1;j{let{context:{lineStart:l,node:_,src:v},props:b}=o;if(b.length===0)return!1;let{start:S}=b[0];if(_&&S>_.valueRange.start||v[S]!==e.Char.COMMENT)return!1;for(let A=l;A0){j=new e.PlainValue(e.Type.PLAIN,[]),j.context={parent:N,src:N.context.src};let Q=N.range.start+1;if(j.range={start:Q,end:Q},j.valueRange={start:Q,end:Q},typeof N.range.origStart=="number"){let H=N.range.origStart+1;j.range.origStart=j.range.origEnd=H,j.valueRange.origStart=j.valueRange.origEnd=H}}let F=new C(b,we(o,j));mt(N,F),v.push(F),b&&typeof S=="number"&&N.range.start>S+1024&&o.errors.push(re(l,b)),b=void 0,S=null}break;default:b!==void 0&&v.push(new C(b)),b=we(o,N),S=N.range.start,N.error&&o.errors.push(N.error);e:for(let j=A+1;;++j){let F=l.items[j];switch(F&&F.type){case e.Type.BLANK_LINE:case e.Type.COMMENT:continue e;case e.Type.MAP_VALUE:break e;default:{let Q="Implicit map keys need to be followed by map values";o.errors.push(new e.YAMLSemanticError(N,Q));break e}}}if(N.valueRangeContainsNewline){let j="Implicit map keys need to be on a single line";o.errors.push(new e.YAMLSemanticError(N,j))}}}return b!==void 0&&v.push(new C(b)),{comments:_,items:v}}function ht(o,l){let _=[],v=[],b,S=!1,A="{";for(let N=0;NS instanceof C&&S.key instanceof w)){let S="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";o.warnings.push(new e.YAMLWarning(l,S))}return l.resolved=b,b}function gt(o,l){let _=[],v=[];for(let b=0;bA+1024&&o.errors.push(re(l,S));let{src:Z}=j.context;for(let ee=A;eeu instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(u,g)=>{let L=r.resolveString(u,g);if(typeof Buffer=="function")return Buffer.from(L,"base64");if(typeof atob=="function"){let P=atob(L.replace(/[\n\r]/g,"")),$=new Uint8Array(P.length);for(let K=0;K{let{comment:$,type:K,value:V}=u,z;if(typeof Buffer=="function")z=V instanceof Buffer?V.toString("base64"):Buffer.from(V.buffer).toString("base64");else if(typeof btoa=="function"){let ae="";for(let ue=0;ue1){let V="Each pair must have its own sequence indicator";throw new e.YAMLSemanticError(g,V)}let K=$.items[0]||new r.Pair;$.commentBefore&&(K.commentBefore=K.commentBefore?`${$.commentBefore} -${K.commentBefore}`:$.commentBefore),$.comment&&(K.comment=K.comment?`${$.comment} -${K.comment}`:$.comment),$=K}L.items[P]=$ instanceof r.Pair?$:new r.Pair($)}}return L}function d(u,g,L){let P=new r.YAMLSeq(u);P.tag="tag:yaml.org,2002:pairs";for(let $ of g){let K,V;if(Array.isArray($))if($.length===2)K=$[0],V=$[1];else throw new TypeError(`Expected [key, value] tuple: ${$}`);else if($&&$ instanceof Object){let ae=Object.keys($);if(ae.length===1)K=ae[0],V=$[K];else throw new TypeError(`Expected { key: value } tuple: ${$}`)}else K=$;let z=u.createPair(K,V,L);P.items.push(z)}return P}var y={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:h,createNode:d},M=class extends r.YAMLSeq{constructor(){super(),e._defineProperty(this,"add",r.YAMLMap.prototype.add.bind(this)),e._defineProperty(this,"delete",r.YAMLMap.prototype.delete.bind(this)),e._defineProperty(this,"get",r.YAMLMap.prototype.get.bind(this)),e._defineProperty(this,"has",r.YAMLMap.prototype.has.bind(this)),e._defineProperty(this,"set",r.YAMLMap.prototype.set.bind(this)),this.tag=M.tag}toJSON(u,g){let L=new Map;g&&g.onCreate&&g.onCreate(L);for(let P of this.items){let $,K;if(P instanceof r.Pair?($=r.toJSON(P.key,"",g),K=r.toJSON(P.value,$,g)):$=r.toJSON(P,"",g),L.has($))throw new Error("Ordered maps must not include duplicate keys");L.set($,K)}return L}};e._defineProperty(M,"tag","tag:yaml.org,2002:omap");function k(u,g){let L=h(u,g),P=[];for(let{key:$}of L.items)if($ instanceof r.Scalar)if(P.includes($.value)){let K="Ordered maps must not include duplicate keys";throw new e.YAMLSemanticError(g,K)}else P.push($.value);return Object.assign(new M,L)}function w(u,g,L){let P=d(u,g,L),$=new M;return $.items=P.items,$}var E={identify:u=>u instanceof Map,nodeClass:M,default:!1,tag:"tag:yaml.org,2002:omap",resolve:k,createNode:w},T=class extends r.YAMLMap{constructor(){super(),this.tag=T.tag}add(u){let g=u instanceof r.Pair?u:new r.Pair(u);r.findPair(this.items,g.key)||this.items.push(g)}get(u,g){let L=r.findPair(this.items,u);return!g&&L instanceof r.Pair?L.key instanceof r.Scalar?L.key.value:L.key:L}set(u,g){if(typeof g!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof g}`);let L=r.findPair(this.items,u);L&&!g?this.items.splice(this.items.indexOf(L),1):!L&&g&&this.items.push(new r.Pair(u))}toJSON(u,g){return super.toJSON(u,g,Set)}toString(u,g,L){if(!u)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(u,g,L);throw new Error("Set items must all have null values")}};e._defineProperty(T,"tag","tag:yaml.org,2002:set");function I(u,g){let L=r.resolveMap(u,g);if(!L.hasAllNullValues())throw new e.YAMLSemanticError(g,"Set items must all have null values");return Object.assign(new T,L)}function C(u,g,L){let P=new T;for(let $ of g)P.items.push(u.createPair($,null,L));return P}var q={identify:u=>u instanceof Set,nodeClass:T,default:!1,tag:"tag:yaml.org,2002:set",resolve:I,createNode:C},R=(u,g)=>{let L=g.split(":").reduce((P,$)=>P*60+Number($),0);return u==="-"?-L:L},B=u=>{let{value:g}=u;if(isNaN(g)||!isFinite(g))return r.stringifyNumber(g);let L="";g<0&&(L="-",g=Math.abs(g));let P=[g%60];return g<60?P.unshift(0):(g=Math.round((g-P[0])/60),P.unshift(g%60),g>=60&&(g=Math.round((g-P[0])/60),P.unshift(g))),L+P.map($=>$<10?"0"+String($):String($)).join(":").replace(/000000\d*$/,"")},U={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(u,g,L)=>R(g,L.replace(/_/g,"")),stringify:B},f={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(u,g,L)=>R(g,L.replace(/_/g,"")),stringify:B},i={identify:u=>u instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(u,g,L,P,$,K,V,z,ae)=>{z&&(z=(z+"00").substr(1,3));let ue=Date.UTC(g,L-1,P,$||0,K||0,V||0,z||0);if(ae&&ae!=="Z"){let ge=R(ae[0],ae.slice(1));Math.abs(ge)<30&&(ge*=60),ue-=6e4*ge}return new Date(ue)},stringify:u=>{let{value:g}=u;return g.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function t(u){let g=typeof Te<"u"&&Te.env||{};return u?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!g.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!g.YAML_SILENCE_WARNINGS}function n(u,g){if(t(!1)){let L=typeof Te<"u"&&Te.emitWarning;L?L(u,g):console.warn(g?`${g}: ${u}`:u)}}function a(u){if(t(!0)){let g=u.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");n(`The endpoint 'yaml/${g}' will be removed in a future release.`,"DeprecationWarning")}}var m={};function p(u,g){if(!m[u]&&t(!0)){m[u]=!0;let L=`The option '${u}' will be removed in a future release`;L+=g?`, use '${g}' instead.`:".",n(L,"DeprecationWarning")}}s.binary=c,s.floatTime=f,s.intTime=U,s.omap=E,s.pairs=y,s.set=q,s.timestamp=i,s.warn=n,s.warnFileDeprecation=a,s.warnOptionDeprecation=p}}),it=D({"node_modules/yaml/dist/Schema-88e323a7.js"(s){"use strict";Y();var e=Me(),r=ke(),c=st();function h(O,W,J){let x=new r.YAMLMap(O);if(W instanceof Map)for(let[G,re]of W)x.items.push(O.createPair(G,re,J));else if(W&&typeof W=="object")for(let G of Object.keys(W))x.items.push(O.createPair(G,W[G],J));return typeof O.sortMapEntries=="function"&&x.items.sort(O.sortMapEntries),x}var d={createNode:h,default:!0,nodeClass:r.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:r.resolveMap};function y(O,W,J){let x=new r.YAMLSeq(O);if(W&&W[Symbol.iterator])for(let G of W){let re=O.createNode(G,J.wrapScalars,null,J);x.items.push(re)}return x}var M={createNode:y,default:!0,nodeClass:r.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:r.resolveSeq},k={identify:O=>typeof O=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify(O,W,J,x){return W=Object.assign({actualString:!0},W),r.stringifyString(O,W,J,x)},options:r.strOptions},w=[d,M,k],E=O=>typeof O=="bigint"||Number.isInteger(O),T=(O,W,J)=>r.intOptions.asBigInt?BigInt(O):parseInt(W,J);function I(O,W,J){let{value:x}=O;return E(x)&&x>=0?J+x.toString(W):r.stringifyNumber(O)}var C={identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},q={identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:O=>O[0]==="t"||O[0]==="T",options:r.boolOptions,stringify:O=>{let{value:W}=O;return W?r.boolOptions.trueStr:r.boolOptions.falseStr}},R={identify:O=>E(O)&&O>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(O,W)=>T(O,W,8),options:r.intOptions,stringify:O=>I(O,8,"0o")},B={identify:E,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:O=>T(O,O,10),options:r.intOptions,stringify:r.stringifyNumber},U={identify:O=>E(O)&&O>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(O,W)=>T(O,W,16),options:r.intOptions,stringify:O=>I(O,16,"0x")},f={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(O,W)=>W?NaN:O[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},i={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:O=>parseFloat(O),stringify:O=>{let{value:W}=O;return Number(W).toExponential()}},t={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(O,W,J){let x=W||J,G=new r.Scalar(parseFloat(O));return x&&x[x.length-1]==="0"&&(G.minFractionDigits=x.length),G},stringify:r.stringifyNumber},n=w.concat([C,q,R,B,U,f,i,t]),a=O=>typeof O=="bigint"||Number.isInteger(O),m=O=>{let{value:W}=O;return JSON.stringify(W)},p=[d,M,{identify:O=>typeof O=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify:m},{identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:m},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:O=>O==="true",stringify:m},{identify:a,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:O=>r.intOptions.asBigInt?BigInt(O):parseInt(O,10),stringify:O=>{let{value:W}=O;return a(W)?W.toString():JSON.stringify(W)}},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:O=>parseFloat(O),stringify:m}];p.scalarFallback=O=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(O)}`)};var u=O=>{let{value:W}=O;return W?r.boolOptions.trueStr:r.boolOptions.falseStr},g=O=>typeof O=="bigint"||Number.isInteger(O);function L(O,W,J){let x=W.replace(/_/g,"");if(r.intOptions.asBigInt){switch(J){case 2:x=`0b${x}`;break;case 8:x=`0o${x}`;break;case 16:x=`0x${x}`;break}let re=BigInt(x);return O==="-"?BigInt(-1)*re:re}let G=parseInt(x,J);return O==="-"?-1*G:G}function P(O,W,J){let{value:x}=O;if(g(x)){let G=x.toString(W);return x<0?"-"+J+G.substr(1):J+G}return r.stringifyNumber(O)}var $=w.concat([{identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:r.boolOptions,stringify:u},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:r.boolOptions,stringify:u},{identify:g,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(O,W,J)=>L(W,J,2),stringify:O=>P(O,2,"0b")},{identify:g,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(O,W,J)=>L(W,J,8),stringify:O=>P(O,8,"0")},{identify:g,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(O,W,J)=>L(W,J,10),stringify:r.stringifyNumber},{identify:g,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(O,W,J)=>L(W,J,16),stringify:O=>P(O,16,"0x")},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(O,W)=>W?NaN:O[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:O=>parseFloat(O.replace(/_/g,"")),stringify:O=>{let{value:W}=O;return Number(W).toExponential()}},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(O,W){let J=new r.Scalar(parseFloat(O.replace(/_/g,"")));if(W){let x=W.replace(/_/g,"");x[x.length-1]==="0"&&(J.minFractionDigits=x.length)}return J},stringify:r.stringifyNumber}],c.binary,c.omap,c.pairs,c.set,c.intTime,c.floatTime,c.timestamp),K={core:n,failsafe:w,json:p,yaml11:$},V={binary:c.binary,bool:q,float:t,floatExp:i,floatNaN:f,floatTime:c.floatTime,int:B,intHex:U,intOct:R,intTime:c.intTime,map:d,null:C,omap:c.omap,pairs:c.pairs,seq:M,set:c.set,timestamp:c.timestamp};function z(O,W,J){if(W){let x=J.filter(re=>re.tag===W),G=x.find(re=>!re.format)||x[0];if(!G)throw new Error(`Tag ${W} not found`);return G}return J.find(x=>(x.identify&&x.identify(O)||x.class&&O instanceof x.class)&&!x.format)}function ae(O,W,J){if(O instanceof r.Node)return O;let{defaultPrefix:x,onTagObj:G,prevObjects:re,schema:_e,wrapScalars:ye}=J;W&&W.startsWith("!!")&&(W=x+W.slice(2));let be=z(O,W,_e.tags);if(!be){if(typeof O.toJSON=="function"&&(O=O.toJSON()),!O||typeof O!="object")return ye?new r.Scalar(O):O;be=O instanceof Map?d:O[Symbol.iterator]?M:d}G&&(G(be),delete J.onTagObj);let ve={value:void 0,node:void 0};if(O&&typeof O=="object"&&re){let Ne=re.get(O);if(Ne){let Pe=new r.Alias(Ne);return J.aliasNodes.push(Pe),Pe}ve.value=O,re.set(O,ve)}return ve.node=be.createNode?be.createNode(J.schema,O,J):ye?new r.Scalar(O):O,W&&ve.node instanceof r.Node&&(ve.node.tag=W),ve.node}function ue(O,W,J,x){let G=O[x.replace(/\W/g,"")];if(!G){let re=Object.keys(O).map(_e=>JSON.stringify(_e)).join(", ");throw new Error(`Unknown schema "${x}"; use one of ${re}`)}if(Array.isArray(J))for(let re of J)G=G.concat(re);else typeof J=="function"&&(G=J(G.slice()));for(let re=0;reJSON.stringify(ve)).join(", ");throw new Error(`Unknown custom tag "${_e}"; use one of ${be}`)}G[re]=ye}}return G}var ge=(O,W)=>O.keyW.key?1:0,pe=class{constructor(O){let{customTags:W,merge:J,schema:x,sortMapEntries:G,tags:re}=O;this.merge=!!J,this.name=x,this.sortMapEntries=G===!0?ge:G||null,!W&&re&&c.warnOptionDeprecation("tags","customTags"),this.tags=ue(K,V,W||re,x)}createNode(O,W,J,x){let G={defaultPrefix:pe.defaultPrefix,schema:this,wrapScalars:W},re=x?Object.assign(x,G):G;return ae(O,J,re)}createPair(O,W,J){J||(J={wrapScalars:!0});let x=this.createNode(O,J.wrapScalars,null,J),G=this.createNode(W,J.wrapScalars,null,J);return new r.Pair(x,G)}};e._defineProperty(pe,"defaultPrefix",e.defaultTagPrefix),e._defineProperty(pe,"defaultTags",e.defaultTags),s.Schema=pe}}),Kr=D({"node_modules/yaml/dist/Document-9b4560a1.js"(s){"use strict";Y();var e=Me(),r=ke(),c=it(),h={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},d={get binary(){return r.binaryOptions},set binary(t){Object.assign(r.binaryOptions,t)},get bool(){return r.boolOptions},set bool(t){Object.assign(r.boolOptions,t)},get int(){return r.intOptions},set int(t){Object.assign(r.intOptions,t)},get null(){return r.nullOptions},set null(t){Object.assign(r.nullOptions,t)},get str(){return r.strOptions},set str(t){Object.assign(r.strOptions,t)}},y={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:e.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:e.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:e.defaultTagPrefix}]}};function M(t,n){if((t.version||t.options.version)==="1.0"){let p=n.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(p)return"!"+p[1];let u=n.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return u?`!${u[1]}/${u[2]}`:`!${n.replace(/^tag:/,"")}`}let a=t.tagPrefixes.find(p=>n.indexOf(p.prefix)===0);if(!a){let p=t.getDefaults().tagPrefixes;a=p&&p.find(u=>n.indexOf(u.prefix)===0)}if(!a)return n[0]==="!"?n:`!<${n}>`;let m=n.substr(a.prefix.length).replace(/[!,[\]{}]/g,p=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"})[p]);return a.handle+m}function k(t,n){if(n instanceof r.Alias)return r.Alias;if(n.tag){let p=t.filter(u=>u.tag===n.tag);if(p.length>0)return p.find(u=>u.format===n.format)||p[0]}let a,m;if(n instanceof r.Scalar){m=n.value;let p=t.filter(u=>u.identify&&u.identify(m)||u.class&&m instanceof u.class);a=p.find(u=>u.format===n.format)||p.find(u=>!u.format)}else m=n,a=t.find(p=>p.nodeClass&&m instanceof p.nodeClass);if(!a){let p=m&&m.constructor?m.constructor.name:typeof m;throw new Error(`Tag not resolved for ${p} value`)}return a}function w(t,n,a){let{anchors:m,doc:p}=a,u=[],g=p.anchors.getName(t);return g&&(m[g]=t,u.push(`&${g}`)),t.tag?u.push(M(p,t.tag)):n.default||u.push(M(p,n.tag)),u.join(" ")}function E(t,n,a,m){let{anchors:p,schema:u}=n.doc,g;if(!(t instanceof r.Node)){let $={aliasNodes:[],onTagObj:K=>g=K,prevObjects:new Map};t=u.createNode(t,!0,null,$);for(let K of $.aliasNodes){K.source=K.source.node;let V=p.getName(K.source);V||(V=p.newName(),p.map[V]=K.source)}}if(t instanceof r.Pair)return t.toString(n,a,m);g||(g=k(u.tags,t));let L=w(t,g,n);L.length>0&&(n.indentAtStart=(n.indentAtStart||0)+L.length+1);let P=typeof g.stringify=="function"?g.stringify(t,n,a,m):t instanceof r.Scalar?r.stringifyString(t,n,a,m):t.toString(n,a,m);return L?t instanceof r.Scalar||P[0]==="{"||P[0]==="["?`${L} ${P}`:`${L} -${n.indent}${P}`:P}var T=class{static validAnchorNode(t){return t instanceof r.Scalar||t instanceof r.YAMLSeq||t instanceof r.YAMLMap}constructor(t){e._defineProperty(this,"map",Object.create(null)),this.prefix=t}createAlias(t,n){return this.setAnchor(t,n),new r.Alias(t)}createMergePair(){let t=new r.Merge;for(var n=arguments.length,a=new Array(n),m=0;m{if(p instanceof r.Alias){if(p.source instanceof r.YAMLMap)return p}else if(p instanceof r.YAMLMap)return this.createAlias(p);throw new Error("Merge sources must be Map nodes or their Aliases")}),t}getName(t){let{map:n}=this;return Object.keys(n).find(a=>n[a]===t)}getNames(){return Object.keys(this.map)}getNode(t){return this.map[t]}newName(t){t||(t=this.prefix);let n=Object.keys(this.map);for(let a=1;;++a){let m=`${t}${a}`;if(!n.includes(m))return m}}resolveNodes(){let{map:t,_cstAliases:n}=this;Object.keys(t).forEach(a=>{t[a]=t[a].resolved}),n.forEach(a=>{a.source=a.source.resolved}),delete this._cstAliases}setAnchor(t,n){if(t!=null&&!T.validAnchorNode(t))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(n&&/[\x00-\x19\s,[\]{}]/.test(n))throw new Error("Anchor names must not contain whitespace or control characters");let{map:a}=this,m=t&&Object.keys(a).find(p=>a[p]===t);if(m)if(n)m!==n&&(delete a[m],a[n]=t);else return m;else{if(!n){if(!t)return null;n=this.newName()}a[n]=t}return n}},I=(t,n)=>{if(t&&typeof t=="object"){let{tag:a}=t;t instanceof r.Collection?(a&&(n[a]=!0),t.items.forEach(m=>I(m,n))):t instanceof r.Pair?(I(t.key,n),I(t.value,n)):t instanceof r.Scalar&&a&&(n[a]=!0)}return n},C=t=>Object.keys(I(t,{}));function q(t,n){let a={before:[],after:[]},m,p=!1;for(let u of n)if(u.valueRange){if(m!==void 0){let L="Document contains trailing content not separated by a ... or --- line";t.errors.push(new e.YAMLSyntaxError(u,L));break}let g=r.resolveNode(t,u);p&&(g.spaceBefore=!0,p=!1),m=g}else u.comment!==null?(m===void 0?a.before:a.after).push(u.comment):u.type===e.Type.BLANK_LINE&&(p=!0,m===void 0&&a.before.length>0&&!t.commentBefore&&(t.commentBefore=a.before.join(` -`),a.before=[]));if(t.contents=m||null,!m)t.comment=a.before.concat(a.after).join(` -`)||null;else{let u=a.before.join(` -`);if(u){let g=m instanceof r.Collection&&m.items[0]?m.items[0]:m;g.commentBefore=g.commentBefore?`${u} -${g.commentBefore}`:u}t.comment=a.after.join(` -`)||null}}function R(t,n){let{tagPrefixes:a}=t,[m,p]=n.parameters;if(!m||!p){let u="Insufficient parameters given for %TAG directive";throw new e.YAMLSemanticError(n,u)}if(a.some(u=>u.handle===m)){let u="The %TAG directive must only be given at most once per handle in the same document.";throw new e.YAMLSemanticError(n,u)}return{handle:m,prefix:p}}function B(t,n){let[a]=n.parameters;if(n.name==="YAML:1.0"&&(a="1.0"),!a){let m="Insufficient parameters given for %YAML directive";throw new e.YAMLSemanticError(n,m)}if(!y[a]){let p=`Document will be parsed as YAML ${t.version||t.options.version} rather than YAML ${a}`;t.warnings.push(new e.YAMLWarning(n,p))}return a}function U(t,n,a){let m=[],p=!1;for(let u of n){let{comment:g,name:L}=u;switch(L){case"TAG":try{t.tagPrefixes.push(R(t,u))}catch(P){t.errors.push(P)}p=!0;break;case"YAML":case"YAML:1.0":if(t.version){let P="The %YAML directive must only be given at most once per document.";t.errors.push(new e.YAMLSemanticError(u,P))}try{t.version=B(t,u)}catch(P){t.errors.push(P)}p=!0;break;default:if(L){let P=`YAML only supports %TAG and %YAML directives, and not %${L}`;t.warnings.push(new e.YAMLWarning(u,P))}}g&&m.push(g)}if(a&&!p&&(t.version||a.version||t.options.version)==="1.1"){let u=g=>{let{handle:L,prefix:P}=g;return{handle:L,prefix:P}};t.tagPrefixes=a.tagPrefixes.map(u),t.version=a.version}t.commentBefore=m.join(` -`)||null}function f(t){if(t instanceof r.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}var i=class{constructor(t){this.anchors=new T(t.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=t,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(t){return f(this.contents),this.contents.add(t)}addIn(t,n){f(this.contents),this.contents.addIn(t,n)}delete(t){return f(this.contents),this.contents.delete(t)}deleteIn(t){return r.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):(f(this.contents),this.contents.deleteIn(t))}getDefaults(){return i.defaults[this.version]||i.defaults[this.options.version]||{}}get(t,n){return this.contents instanceof r.Collection?this.contents.get(t,n):void 0}getIn(t,n){return r.isEmptyPath(t)?!n&&this.contents instanceof r.Scalar?this.contents.value:this.contents:this.contents instanceof r.Collection?this.contents.getIn(t,n):void 0}has(t){return this.contents instanceof r.Collection?this.contents.has(t):!1}hasIn(t){return r.isEmptyPath(t)?this.contents!==void 0:this.contents instanceof r.Collection?this.contents.hasIn(t):!1}set(t,n){f(this.contents),this.contents.set(t,n)}setIn(t,n){r.isEmptyPath(t)?this.contents=n:(f(this.contents),this.contents.setIn(t,n))}setSchema(t,n){if(!t&&!n&&this.schema)return;typeof t=="number"&&(t=t.toFixed(1)),t==="1.0"||t==="1.1"||t==="1.2"?(this.version?this.version=t:this.options.version=t,delete this.options.schema):t&&typeof t=="string"&&(this.options.schema=t),Array.isArray(n)&&(this.options.customTags=n);let a=Object.assign({},this.getDefaults(),this.options);this.schema=new c.Schema(a)}parse(t,n){this.options.keepCstNodes&&(this.cstNode=t),this.options.keepNodeTypes&&(this.type="DOCUMENT");let{directives:a=[],contents:m=[],directivesEndMarker:p,error:u,valueRange:g}=t;if(u&&(u.source||(u.source=this),this.errors.push(u)),U(this,a,n),p&&(this.directivesEndMarker=!0),this.range=g?[g.start,g.end]:null,this.setSchema(),this.anchors._cstAliases=[],q(this,m),this.anchors.resolveNodes(),this.options.prettyErrors){for(let L of this.errors)L instanceof e.YAMLError&&L.makePretty();for(let L of this.warnings)L instanceof e.YAMLError&&L.makePretty()}return this}listNonDefaultTags(){return C(this.contents).filter(t=>t.indexOf(c.Schema.defaultPrefix)!==0)}setTagPrefix(t,n){if(t[0]!=="!"||t[t.length-1]!=="!")throw new Error("Handle must start and end with !");if(n){let a=this.tagPrefixes.find(m=>m.handle===t);a?a.prefix=n:this.tagPrefixes.push({handle:t,prefix:n})}else this.tagPrefixes=this.tagPrefixes.filter(a=>a.handle!==t)}toJSON(t,n){let{keepBlobsInJSON:a,mapAsMap:m,maxAliasCount:p}=this.options,u=a&&(typeof t!="string"||!(this.contents instanceof r.Scalar)),g={doc:this,indentStep:" ",keep:u,mapAsMap:u&&!!m,maxAliasCount:p,stringify:E},L=Object.keys(this.anchors.map);L.length>0&&(g.anchors=new Map(L.map($=>[this.anchors.map[$],{alias:[],aliasCount:0,count:1}])));let P=r.toJSON(this.contents,t,g);if(typeof n=="function"&&g.anchors)for(let{count:$,res:K}of g.anchors.values())n(K,$);return P}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");let t=this.options.indent;if(!Number.isInteger(t)||t<=0){let L=JSON.stringify(t);throw new Error(`"indent" option must be a positive integer, not ${L}`)}this.setSchema();let n=[],a=!1;if(this.version){let L="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?L="%YAML:1.0":this.version==="1.1"&&(L="%YAML 1.1")),n.push(L),a=!0}let m=this.listNonDefaultTags();this.tagPrefixes.forEach(L=>{let{handle:P,prefix:$}=L;m.some(K=>K.indexOf($)===0)&&(n.push(`%TAG ${P} ${$}`),a=!0)}),(a||this.directivesEndMarker)&&n.push("---"),this.commentBefore&&((a||!this.directivesEndMarker)&&n.unshift(""),n.unshift(this.commentBefore.replace(/^/gm,"#")));let p={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(t),stringify:E},u=!1,g=null;if(this.contents){this.contents instanceof r.Node&&(this.contents.spaceBefore&&(a||this.directivesEndMarker)&&n.push(""),this.contents.commentBefore&&n.push(this.contents.commentBefore.replace(/^/gm,"#")),p.forceBlockIndent=!!this.comment,g=this.contents.comment);let L=g?null:()=>u=!0,P=E(this.contents,p,()=>g=null,L);n.push(r.addComment(P,"",g))}else this.contents!==void 0&&n.push(E(this.contents,p));return this.comment&&((!u||g)&&n[n.length-1]!==""&&n.push(""),n.push(this.comment.replace(/^/gm,"#"))),n.join(` -`)+` -`}};e._defineProperty(i,"defaults",y),s.Document=i,s.defaultOptions=h,s.scalarOptions=d}}),Jr=D({"node_modules/yaml/dist/index.js"(s){"use strict";Y();var e=Ur(),r=Kr(),c=it(),h=Me(),d=st();ke();function y(C){let q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,R=arguments.length>2?arguments[2]:void 0;R===void 0&&typeof q=="string"&&(R=q,q=!0);let B=Object.assign({},r.Document.defaults[r.defaultOptions.version],r.defaultOptions);return new c.Schema(B).createNode(C,q,R)}var M=class extends r.Document{constructor(C){super(Object.assign({},r.defaultOptions,C))}};function k(C,q){let R=[],B;for(let U of e.parse(C)){let f=new M(q);f.parse(U,B),R.push(f),B=f}return R}function w(C,q){let R=e.parse(C),B=new M(q).parse(R[0]);if(R.length>1){let U="Source contains multiple documents; please use YAML.parseAllDocuments()";B.errors.unshift(new h.YAMLSemanticError(R[1],U))}return B}function E(C,q){let R=w(C,q);if(R.warnings.forEach(B=>d.warn(B)),R.errors.length>0)throw R.errors[0];return R.toJSON()}function T(C,q){let R=new M(q);return R.contents=C,String(R)}var I={createNode:y,defaultOptions:r.defaultOptions,Document:M,parse:E,parseAllDocuments:k,parseCST:e.parse,parseDocument:w,scalarOptions:r.scalarOptions,stringify:T};s.YAML=I}}),Ue=D({"node_modules/yaml/index.js"(s,e){Y(),e.exports=Jr().YAML}}),xr=D({"node_modules/yaml/dist/util.js"(s){"use strict";Y();var e=ke(),r=Me();s.findPair=e.findPair,s.parseMap=e.resolveMap,s.parseSeq=e.resolveSeq,s.stringifyNumber=e.stringifyNumber,s.stringifyString=e.stringifyString,s.toJSON=e.toJSON,s.Type=r.Type,s.YAMLError=r.YAMLError,s.YAMLReferenceError=r.YAMLReferenceError,s.YAMLSemanticError=r.YAMLSemanticError,s.YAMLSyntaxError=r.YAMLSyntaxError,s.YAMLWarning=r.YAMLWarning}}),Hr=D({"node_modules/yaml/util.js"(s){Y();var e=xr();s.findPair=e.findPair,s.toJSON=e.toJSON,s.parseMap=e.parseMap,s.parseSeq=e.parseSeq,s.stringifyNumber=e.stringifyNumber,s.stringifyString=e.stringifyString,s.Type=e.Type,s.YAMLError=e.YAMLError,s.YAMLReferenceError=e.YAMLReferenceError,s.YAMLSemanticError=e.YAMLSemanticError,s.YAMLSyntaxError=e.YAMLSyntaxError,s.YAMLWarning=e.YAMLWarning}}),Gr=D({"node_modules/yaml-unist-parser/lib/yaml.js"(s){"use strict";Y(),s.__esModule=!0;var e=Ue();s.Document=e.Document;var r=Ue();s.parseCST=r.parseCST;var c=Hr();s.YAMLError=c.YAMLError,s.YAMLSyntaxError=c.YAMLSyntaxError,s.YAMLSemanticError=c.YAMLSemanticError}}),zr=D({"node_modules/yaml-unist-parser/lib/parse.js"(s){"use strict";Y(),s.__esModule=!0;var e=Qt(),r=Kt(),c=Jt(),h=xt(),d=qr(),y=He(),M=Br(),k=Yr(),w=Dr(),E=Fr(),T=Wr(),I=Qr(),C=Gr();function q(R){var B=C.parseCST(R);E.addOrigRange(B);for(var U=B.map(function(P){return new C.Document({merge:!1,keepCstNodes:!0}).parse(P)}),f=new e.default(R),i=[],t={text:R,locator:f,comments:i,transformOffset:function(P){return k.transformOffset(P,t)},transformRange:function(P){return w.transformRange(P,t)},transformNode:function(P){return d.transformNode(P,t)},transformContent:function(P){return y.transformContent(P,t)}},n=0,a=U;n()=>(r||e((r={exports:{}}).exports,r),r.exports);var pt=Te((Vg,ou)=>{var ur=function(e){return e&&e.Math==Math&&e};ou.exports=ur(typeof globalThis=="object"&&globalThis)||ur(typeof window=="object"&&window)||ur(typeof self=="object"&&self)||ur(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Dt=Te((Wg,lu)=>{lu.exports=function(e){try{return!!e()}catch{return!0}}});var yt=Te((Hg,cu)=>{var wo=Dt();cu.exports=!wo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var sr=Te((Gg,pu)=>{var _o=Dt();pu.exports=!_o(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var At=Te((Ug,fu)=>{var Po=sr(),ir=Function.prototype.call;fu.exports=Po?ir.bind(ir):function(){return ir.apply(ir,arguments)}});var gu=Te(du=>{"use strict";var Du={}.propertyIsEnumerable,mu=Object.getOwnPropertyDescriptor,Io=mu&&!Du.call({1:2},1);du.f=Io?function(r){var t=mu(this,r);return!!t&&t.enumerable}:Du});var ar=Te((zg,yu)=>{yu.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var mt=Te((Xg,Cu)=>{var hu=sr(),vu=Function.prototype,$r=vu.call,ko=hu&&vu.bind.bind($r,$r);Cu.exports=hu?ko:function(e){return function(){return $r.apply(e,arguments)}}});var Rt=Te((Kg,Fu)=>{var Eu=mt(),Lo=Eu({}.toString),Oo=Eu("".slice);Fu.exports=function(e){return Oo(Lo(e),8,-1)}});var Su=Te((Yg,Au)=>{var jo=mt(),qo=Dt(),Mo=Rt(),Vr=Object,Ro=jo("".split);Au.exports=qo(function(){return!Vr("z").propertyIsEnumerable(0)})?function(e){return Mo(e)=="String"?Ro(e,""):Vr(e)}:Vr});var or=Te((Qg,xu)=>{xu.exports=function(e){return e==null}});var Wr=Te((Zg,bu)=>{var $o=or(),Vo=TypeError;bu.exports=function(e){if($o(e))throw Vo("Can't call method on "+e);return e}});var lr=Te((e0,Tu)=>{var Wo=Su(),Ho=Wr();Tu.exports=function(e){return Wo(Ho(e))}});var Gr=Te((t0,Bu)=>{var Hr=typeof document=="object"&&document.all,Go=typeof Hr>"u"&&Hr!==void 0;Bu.exports={all:Hr,IS_HTMLDDA:Go}});var ot=Te((r0,wu)=>{var Nu=Gr(),Uo=Nu.all;wu.exports=Nu.IS_HTMLDDA?function(e){return typeof e=="function"||e===Uo}:function(e){return typeof e=="function"}});var St=Te((n0,Iu)=>{var _u=ot(),Pu=Gr(),Jo=Pu.all;Iu.exports=Pu.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:_u(e)||e===Jo}:function(e){return typeof e=="object"?e!==null:_u(e)}});var $t=Te((u0,ku)=>{var Ur=pt(),zo=ot(),Xo=function(e){return zo(e)?e:void 0};ku.exports=function(e,r){return arguments.length<2?Xo(Ur[e]):Ur[e]&&Ur[e][r]}});var Jr=Te((s0,Lu)=>{var Ko=mt();Lu.exports=Ko({}.isPrototypeOf)});var ju=Te((i0,Ou)=>{var Yo=$t();Ou.exports=Yo("navigator","userAgent")||""});var Hu=Te((a0,Wu)=>{var Vu=pt(),zr=ju(),qu=Vu.process,Mu=Vu.Deno,Ru=qu&&qu.versions||Mu&&Mu.version,$u=Ru&&Ru.v8,dt,cr;$u&&(dt=$u.split("."),cr=dt[0]>0&&dt[0]<4?1:+(dt[0]+dt[1]));!cr&&zr&&(dt=zr.match(/Edge\/(\d+)/),(!dt||dt[1]>=74)&&(dt=zr.match(/Chrome\/(\d+)/),dt&&(cr=+dt[1])));Wu.exports=cr});var Xr=Te((o0,Uu)=>{var Gu=Hu(),Qo=Dt();Uu.exports=!!Object.getOwnPropertySymbols&&!Qo(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Gu&&Gu<41})});var Kr=Te((l0,Ju)=>{var Zo=Xr();Ju.exports=Zo&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Yr=Te((c0,zu)=>{var el=$t(),tl=ot(),rl=Jr(),nl=Kr(),ul=Object;zu.exports=nl?function(e){return typeof e=="symbol"}:function(e){var r=el("Symbol");return tl(r)&&rl(r.prototype,ul(e))}});var pr=Te((p0,Xu)=>{var sl=String;Xu.exports=function(e){try{return sl(e)}catch{return"Object"}}});var Vt=Te((f0,Ku)=>{var il=ot(),al=pr(),ol=TypeError;Ku.exports=function(e){if(il(e))return e;throw ol(al(e)+" is not a function")}});var fr=Te((D0,Yu)=>{var ll=Vt(),cl=or();Yu.exports=function(e,r){var t=e[r];return cl(t)?void 0:ll(t)}});var Zu=Te((m0,Qu)=>{var Qr=At(),Zr=ot(),en=St(),pl=TypeError;Qu.exports=function(e,r){var t,s;if(r==="string"&&Zr(t=e.toString)&&!en(s=Qr(t,e))||Zr(t=e.valueOf)&&!en(s=Qr(t,e))||r!=="string"&&Zr(t=e.toString)&&!en(s=Qr(t,e)))return s;throw pl("Can't convert object to primitive value")}});var ts=Te((d0,es)=>{es.exports=!1});var Dr=Te((g0,ns)=>{var rs=pt(),fl=Object.defineProperty;ns.exports=function(e,r){try{fl(rs,e,{value:r,configurable:!0,writable:!0})}catch{rs[e]=r}return r}});var mr=Te((y0,ss)=>{var Dl=pt(),ml=Dr(),us="__core-js_shared__",dl=Dl[us]||ml(us,{});ss.exports=dl});var tn=Te((h0,as)=>{var gl=ts(),is=mr();(as.exports=function(e,r){return is[e]||(is[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.26.1",mode:gl?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var dr=Te((v0,os)=>{var yl=Wr(),hl=Object;os.exports=function(e){return hl(yl(e))}});var Ct=Te((C0,ls)=>{var vl=mt(),Cl=dr(),El=vl({}.hasOwnProperty);ls.exports=Object.hasOwn||function(r,t){return El(Cl(r),t)}});var rn=Te((E0,cs)=>{var Fl=mt(),Al=0,Sl=Math.random(),xl=Fl(1 .toString);cs.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+xl(++Al+Sl,36)}});var bt=Te((F0,ds)=>{var bl=pt(),Tl=tn(),ps=Ct(),Bl=rn(),fs=Xr(),ms=Kr(),Pt=Tl("wks"),xt=bl.Symbol,Ds=xt&&xt.for,Nl=ms?xt:xt&&xt.withoutSetter||Bl;ds.exports=function(e){if(!ps(Pt,e)||!(fs||typeof Pt[e]=="string")){var r="Symbol."+e;fs&&ps(xt,e)?Pt[e]=xt[e]:ms&&Ds?Pt[e]=Ds(r):Pt[e]=Nl(r)}return Pt[e]}});var vs=Te((A0,hs)=>{var wl=At(),gs=St(),ys=Yr(),_l=fr(),Pl=Zu(),Il=bt(),kl=TypeError,Ll=Il("toPrimitive");hs.exports=function(e,r){if(!gs(e)||ys(e))return e;var t=_l(e,Ll),s;if(t){if(r===void 0&&(r="default"),s=wl(t,e,r),!gs(s)||ys(s))return s;throw kl("Can't convert object to primitive value")}return r===void 0&&(r="number"),Pl(e,r)}});var gr=Te((S0,Cs)=>{var Ol=vs(),jl=Yr();Cs.exports=function(e){var r=Ol(e,"string");return jl(r)?r:r+""}});var As=Te((x0,Fs)=>{var ql=pt(),Es=St(),nn=ql.document,Ml=Es(nn)&&Es(nn.createElement);Fs.exports=function(e){return Ml?nn.createElement(e):{}}});var un=Te((b0,Ss)=>{var Rl=yt(),$l=Dt(),Vl=As();Ss.exports=!Rl&&!$l(function(){return Object.defineProperty(Vl("div"),"a",{get:function(){return 7}}).a!=7})});var sn=Te(bs=>{var Wl=yt(),Hl=At(),Gl=gu(),Ul=ar(),Jl=lr(),zl=gr(),Xl=Ct(),Kl=un(),xs=Object.getOwnPropertyDescriptor;bs.f=Wl?xs:function(r,t){if(r=Jl(r),t=zl(t),Kl)try{return xs(r,t)}catch{}if(Xl(r,t))return Ul(!Hl(Gl.f,r,t),r[t])}});var Bs=Te((B0,Ts)=>{var Yl=yt(),Ql=Dt();Ts.exports=Yl&&Ql(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Tt=Te((N0,Ns)=>{var Zl=St(),ec=String,tc=TypeError;Ns.exports=function(e){if(Zl(e))return e;throw tc(ec(e)+" is not an object")}});var It=Te(_s=>{var rc=yt(),nc=un(),uc=Bs(),yr=Tt(),ws=gr(),sc=TypeError,an=Object.defineProperty,ic=Object.getOwnPropertyDescriptor,on="enumerable",ln="configurable",cn="writable";_s.f=rc?uc?function(r,t,s){if(yr(r),t=ws(t),yr(s),typeof r=="function"&&t==="prototype"&&"value"in s&&cn in s&&!s[cn]){var a=ic(r,t);a&&a[cn]&&(r[t]=s.value,s={configurable:ln in s?s[ln]:a[ln],enumerable:on in s?s[on]:a[on],writable:!1})}return an(r,t,s)}:an:function(r,t,s){if(yr(r),t=ws(t),yr(s),nc)try{return an(r,t,s)}catch{}if("get"in s||"set"in s)throw sc("Accessors not supported");return"value"in s&&(r[t]=s.value),r}});var pn=Te((_0,Ps)=>{var ac=yt(),oc=It(),lc=ar();Ps.exports=ac?function(e,r,t){return oc.f(e,r,lc(1,t))}:function(e,r,t){return e[r]=t,e}});var Ls=Te((P0,ks)=>{var fn=yt(),cc=Ct(),Is=Function.prototype,pc=fn&&Object.getOwnPropertyDescriptor,Dn=cc(Is,"name"),fc=Dn&&function(){}.name==="something",Dc=Dn&&(!fn||fn&&pc(Is,"name").configurable);ks.exports={EXISTS:Dn,PROPER:fc,CONFIGURABLE:Dc}});var dn=Te((I0,Os)=>{var mc=mt(),dc=ot(),mn=mr(),gc=mc(Function.toString);dc(mn.inspectSource)||(mn.inspectSource=function(e){return gc(e)});Os.exports=mn.inspectSource});var Ms=Te((k0,qs)=>{var yc=pt(),hc=ot(),js=yc.WeakMap;qs.exports=hc(js)&&/native code/.test(String(js))});var Vs=Te((L0,$s)=>{var vc=tn(),Cc=rn(),Rs=vc("keys");$s.exports=function(e){return Rs[e]||(Rs[e]=Cc(e))}});var gn=Te((O0,Ws)=>{Ws.exports={}});var Js=Te((j0,Us)=>{var Ec=Ms(),Gs=pt(),Fc=St(),Ac=pn(),yn=Ct(),hn=mr(),Sc=Vs(),xc=gn(),Hs="Object already initialized",vn=Gs.TypeError,bc=Gs.WeakMap,hr,Wt,vr,Tc=function(e){return vr(e)?Wt(e):hr(e,{})},Bc=function(e){return function(r){var t;if(!Fc(r)||(t=Wt(r)).type!==e)throw vn("Incompatible receiver, "+e+" required");return t}};Ec||hn.state?(gt=hn.state||(hn.state=new bc),gt.get=gt.get,gt.has=gt.has,gt.set=gt.set,hr=function(e,r){if(gt.has(e))throw vn(Hs);return r.facade=e,gt.set(e,r),r},Wt=function(e){return gt.get(e)||{}},vr=function(e){return gt.has(e)}):(Bt=Sc("state"),xc[Bt]=!0,hr=function(e,r){if(yn(e,Bt))throw vn(Hs);return r.facade=e,Ac(e,Bt,r),r},Wt=function(e){return yn(e,Bt)?e[Bt]:{}},vr=function(e){return yn(e,Bt)});var gt,Bt;Us.exports={set:hr,get:Wt,has:vr,enforce:Tc,getterFor:Bc}});var En=Te((q0,Xs)=>{var Nc=Dt(),wc=ot(),Cr=Ct(),Cn=yt(),_c=Ls().CONFIGURABLE,Pc=dn(),zs=Js(),Ic=zs.enforce,kc=zs.get,Er=Object.defineProperty,Lc=Cn&&!Nc(function(){return Er(function(){},"length",{value:8}).length!==8}),Oc=String(String).split("String"),jc=Xs.exports=function(e,r,t){String(r).slice(0,7)==="Symbol("&&(r="["+String(r).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(r="get "+r),t&&t.setter&&(r="set "+r),(!Cr(e,"name")||_c&&e.name!==r)&&(Cn?Er(e,"name",{value:r,configurable:!0}):e.name=r),Lc&&t&&Cr(t,"arity")&&e.length!==t.arity&&Er(e,"length",{value:t.arity});try{t&&Cr(t,"constructor")&&t.constructor?Cn&&Er(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var s=Ic(e);return Cr(s,"source")||(s.source=Oc.join(typeof r=="string"?r:"")),e};Function.prototype.toString=jc(function(){return wc(this)&&kc(this).source||Pc(this)},"toString")});var Ys=Te((M0,Ks)=>{var qc=ot(),Mc=It(),Rc=En(),$c=Dr();Ks.exports=function(e,r,t,s){s||(s={});var a=s.enumerable,n=s.name!==void 0?s.name:r;if(qc(t)&&Rc(t,n,s),s.global)a?e[r]=t:$c(r,t);else{try{s.unsafe?e[r]&&(a=!0):delete e[r]}catch{}a?e[r]=t:Mc.f(e,r,{value:t,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}});var Zs=Te((R0,Qs)=>{var Vc=Math.ceil,Wc=Math.floor;Qs.exports=Math.trunc||function(r){var t=+r;return(t>0?Wc:Vc)(t)}});var Fr=Te(($0,ei)=>{var Hc=Zs();ei.exports=function(e){var r=+e;return r!==r||r===0?0:Hc(r)}});var ri=Te((V0,ti)=>{var Gc=Fr(),Uc=Math.max,Jc=Math.min;ti.exports=function(e,r){var t=Gc(e);return t<0?Uc(t+r,0):Jc(t,r)}});var ui=Te((W0,ni)=>{var zc=Fr(),Xc=Math.min;ni.exports=function(e){return e>0?Xc(zc(e),9007199254740991):0}});var kt=Te((H0,si)=>{var Kc=ui();si.exports=function(e){return Kc(e.length)}});var oi=Te((G0,ai)=>{var Yc=lr(),Qc=ri(),Zc=kt(),ii=function(e){return function(r,t,s){var a=Yc(r),n=Zc(a),u=Qc(s,n),i;if(e&&t!=t){for(;n>u;)if(i=a[u++],i!=i)return!0}else for(;n>u;u++)if((e||u in a)&&a[u]===t)return e||u||0;return!e&&-1}};ai.exports={includes:ii(!0),indexOf:ii(!1)}});var pi=Te((U0,ci)=>{var ep=mt(),Fn=Ct(),tp=lr(),rp=oi().indexOf,np=gn(),li=ep([].push);ci.exports=function(e,r){var t=tp(e),s=0,a=[],n;for(n in t)!Fn(np,n)&&Fn(t,n)&&li(a,n);for(;r.length>s;)Fn(t,n=r[s++])&&(~rp(a,n)||li(a,n));return a}});var Di=Te((J0,fi)=>{fi.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var di=Te(mi=>{var up=pi(),sp=Di(),ip=sp.concat("length","prototype");mi.f=Object.getOwnPropertyNames||function(r){return up(r,ip)}});var yi=Te(gi=>{gi.f=Object.getOwnPropertySymbols});var vi=Te((K0,hi)=>{var ap=$t(),op=mt(),lp=di(),cp=yi(),pp=Tt(),fp=op([].concat);hi.exports=ap("Reflect","ownKeys")||function(r){var t=lp.f(pp(r)),s=cp.f;return s?fp(t,s(r)):t}});var Fi=Te((Y0,Ei)=>{var Ci=Ct(),Dp=vi(),mp=sn(),dp=It();Ei.exports=function(e,r,t){for(var s=Dp(r),a=dp.f,n=mp.f,u=0;u{var gp=Dt(),yp=ot(),hp=/#|\.prototype\./,Ht=function(e,r){var t=Cp[vp(e)];return t==Fp?!0:t==Ep?!1:yp(r)?gp(r):!!r},vp=Ht.normalize=function(e){return String(e).replace(hp,".").toLowerCase()},Cp=Ht.data={},Ep=Ht.NATIVE="N",Fp=Ht.POLYFILL="P";Ai.exports=Ht});var Gt=Te((Z0,xi)=>{var An=pt(),Ap=sn().f,Sp=pn(),xp=Ys(),bp=Dr(),Tp=Fi(),Bp=Si();xi.exports=function(e,r){var t=e.target,s=e.global,a=e.stat,n,u,i,l,p,d;if(s?u=An:a?u=An[t]||bp(t,{}):u=(An[t]||{}).prototype,u)for(i in r){if(p=r[i],e.dontCallGetSet?(d=Ap(u,i),l=d&&d.value):l=u[i],n=Bp(s?i:t+(a?".":"#")+i,e.forced),!n&&l!==void 0){if(typeof p==typeof l)continue;Tp(p,l)}(e.sham||l&&l.sham)&&Sp(p,"sham",!0),xp(u,i,p,e)}}});var Sn=Te((ey,bi)=>{var Np=Rt();bi.exports=Array.isArray||function(r){return Np(r)=="Array"}});var Bi=Te((ty,Ti)=>{var wp=TypeError,_p=9007199254740991;Ti.exports=function(e){if(e>_p)throw wp("Maximum allowed index exceeded");return e}});var wi=Te((ry,Ni)=>{var Pp=Rt(),Ip=mt();Ni.exports=function(e){if(Pp(e)==="Function")return Ip(e)}});var xn=Te((ny,Pi)=>{var _i=wi(),kp=Vt(),Lp=sr(),Op=_i(_i.bind);Pi.exports=function(e,r){return kp(e),r===void 0?e:Lp?Op(e,r):function(){return e.apply(r,arguments)}}});var bn=Te((uy,ki)=>{"use strict";var jp=Sn(),qp=kt(),Mp=Bi(),Rp=xn(),Ii=function(e,r,t,s,a,n,u,i){for(var l=a,p=0,d=u?Rp(u,i):!1,y,g;p0&&jp(y)?(g=qp(y),l=Ii(e,r,y,g,l,n-1)-1):(Mp(l+1),e[l]=y),l++),p++;return l};ki.exports=Ii});var ji=Te((sy,Oi)=>{var $p=bt(),Vp=$p("toStringTag"),Li={};Li[Vp]="z";Oi.exports=String(Li)==="[object z]"});var Tn=Te((iy,qi)=>{var Wp=ji(),Hp=ot(),Ar=Rt(),Gp=bt(),Up=Gp("toStringTag"),Jp=Object,zp=Ar(function(){return arguments}())=="Arguments",Xp=function(e,r){try{return e[r]}catch{}};qi.exports=Wp?Ar:function(e){var r,t,s;return e===void 0?"Undefined":e===null?"Null":typeof(t=Xp(r=Jp(e),Up))=="string"?t:zp?Ar(r):(s=Ar(r))=="Object"&&Hp(r.callee)?"Arguments":s}});var Hi=Te((ay,Wi)=>{var Kp=mt(),Yp=Dt(),Mi=ot(),Qp=Tn(),Zp=$t(),ef=dn(),Ri=function(){},tf=[],$i=Zp("Reflect","construct"),Bn=/^\s*(?:class|function)\b/,rf=Kp(Bn.exec),nf=!Bn.exec(Ri),Ut=function(r){if(!Mi(r))return!1;try{return $i(Ri,tf,r),!0}catch{return!1}},Vi=function(r){if(!Mi(r))return!1;switch(Qp(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return nf||!!rf(Bn,ef(r))}catch{return!0}};Vi.sham=!0;Wi.exports=!$i||Yp(function(){var e;return Ut(Ut.call)||!Ut(Object)||!Ut(function(){e=!0})||e})?Vi:Ut});var zi=Te((oy,Ji)=>{var Gi=Sn(),uf=Hi(),sf=St(),af=bt(),of=af("species"),Ui=Array;Ji.exports=function(e){var r;return Gi(e)&&(r=e.constructor,uf(r)&&(r===Ui||Gi(r.prototype))?r=void 0:sf(r)&&(r=r[of],r===null&&(r=void 0))),r===void 0?Ui:r}});var Nn=Te((ly,Xi)=>{var lf=zi();Xi.exports=function(e,r){return new(lf(e))(r===0?0:r)}});var wn=Te((cy,Ki)=>{Ki.exports={}});var Qi=Te((py,Yi)=>{var gf=bt(),yf=wn(),hf=gf("iterator"),vf=Array.prototype;Yi.exports=function(e){return e!==void 0&&(yf.Array===e||vf[hf]===e)}});var _n=Te((fy,ea)=>{var Cf=Tn(),Zi=fr(),Ef=or(),Ff=wn(),Af=bt(),Sf=Af("iterator");ea.exports=function(e){if(!Ef(e))return Zi(e,Sf)||Zi(e,"@@iterator")||Ff[Cf(e)]}});var ra=Te((Dy,ta)=>{var xf=At(),bf=Vt(),Tf=Tt(),Bf=pr(),Nf=_n(),wf=TypeError;ta.exports=function(e,r){var t=arguments.length<2?Nf(e):r;if(bf(t))return Tf(xf(t,e));throw wf(Bf(e)+" is not iterable")}});var sa=Te((my,ua)=>{var _f=At(),na=Tt(),Pf=fr();ua.exports=function(e,r,t){var s,a;na(e);try{if(s=Pf(e,"return"),!s){if(r==="throw")throw t;return t}s=_f(s,e)}catch(n){a=!0,s=n}if(r==="throw")throw t;if(a)throw s;return na(s),t}});var ca=Te((dy,la)=>{var If=xn(),kf=At(),Lf=Tt(),Of=pr(),jf=Qi(),qf=kt(),ia=Jr(),Mf=ra(),Rf=_n(),aa=sa(),$f=TypeError,Sr=function(e,r){this.stopped=e,this.result=r},oa=Sr.prototype;la.exports=function(e,r,t){var s=t&&t.that,a=!!(t&&t.AS_ENTRIES),n=!!(t&&t.IS_RECORD),u=!!(t&&t.IS_ITERATOR),i=!!(t&&t.INTERRUPTED),l=If(r,s),p,d,y,g,c,f,E,_=function(F){return p&&aa(p,"normal",F),new Sr(!0,F)},w=function(F){return a?(Lf(F),i?l(F[0],F[1],_):l(F[0],F[1])):i?l(F,_):l(F)};if(n)p=e.iterator;else if(u)p=e;else{if(d=Rf(e),!d)throw $f(Of(e)+" is not iterable");if(jf(d)){for(y=0,g=qf(e);g>y;y++)if(c=w(e[y]),c&&ia(oa,c))return c;return new Sr(!1)}p=Mf(e,d)}for(f=n?e.next:p.next;!(E=kf(f,p)).done;){try{c=w(E.value)}catch(F){aa(p,"throw",F)}if(typeof c=="object"&&c&&ia(oa,c))return c}return new Sr(!1)}});var fa=Te((gy,pa)=>{"use strict";var Vf=gr(),Wf=It(),Hf=ar();pa.exports=function(e,r,t){var s=Vf(r);s in e?Wf.f(e,s,Hf(0,t)):e[s]=t}});var da=Te((yy,ma)=>{var Da=En(),zf=It();ma.exports=function(e,r,t){return t.get&&Da(t.get,r,{getter:!0}),t.set&&Da(t.set,r,{setter:!0}),zf.f(e,r,t)}});var ya=Te((hy,ga)=>{"use strict";var Xf=Tt();ga.exports=function(){var e=Xf(this),r="";return e.hasIndices&&(r+="d"),e.global&&(r+="g"),e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),e.dotAll&&(r+="s"),e.unicode&&(r+="u"),e.unicodeSets&&(r+="v"),e.sticky&&(r+="y"),r}});var Ca=Te(()=>{var rD=Gt(),Pn=pt();rD({global:!0,forced:Pn.globalThis!==Pn},{globalThis:Pn})});var cf=Gt(),pf=bn(),ff=Vt(),Df=dr(),mf=kt(),df=Nn();cf({target:"Array",proto:!0},{flatMap:function(r){var t=Df(this),s=mf(t),a;return ff(r),a=df(t,0),a.length=pf(a,t,t,s,0,1,r,arguments.length>1?arguments[1]:void 0),a}});var Gf=Gt(),Uf=ca(),Jf=fa();Gf({target:"Object",stat:!0},{fromEntries:function(r){var t={};return Uf(r,function(s,a){Jf(t,s,a)},{AS_ENTRIES:!0}),t}});var Kf=pt(),Yf=yt(),Qf=da(),Zf=ya(),eD=Dt(),ha=Kf.RegExp,va=ha.prototype,tD=Yf&&eD(function(){var e=!0;try{ha(".","d")}catch{e=!1}var r={},t="",s=e?"dgimsy":"gimsy",a=function(l,p){Object.defineProperty(r,l,{get:function(){return t+=p,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};e&&(n.hasIndices="d");for(var u in n)a(u,n[u]);var i=Object.getOwnPropertyDescriptor(va,"flags").get.call(r);return i!==s||t!==s});tD&&Qf(va,"flags",{configurable:!0,get:Zf});Ca();var nD=Gt(),uD=bn(),sD=dr(),iD=kt(),aD=Fr(),oD=Nn();nD({target:"Array",proto:!0},{flat:function(){var r=arguments.length?arguments[0]:void 0,t=sD(this),s=iD(t),a=oD(t,0);return a.length=uD(a,t,t,s,0,r===void 0?1:aD(r)),a}});var lD=["cliName","cliCategory","cliDescription"],cD=["_"],pD=["languageId"];function $n(e,r){if(e==null)return{};var t=fD(e,r),s,a;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,s)&&(t[s]=e[s])}return t}function fD(e,r){if(e==null)return{};var t={},s=Object.keys(e),a,n;for(n=0;n=0)&&(t[a]=e[a]);return t}var DD=Object.create,Nr=Object.defineProperty,mD=Object.getOwnPropertyDescriptor,Vn=Object.getOwnPropertyNames,dD=Object.getPrototypeOf,gD=Object.prototype.hasOwnProperty,ht=(e,r)=>function(){return e&&(r=(0,e[Vn(e)[0]])(e=0)),r},te=(e,r)=>function(){return r||(0,e[Vn(e)[0]])((r={exports:{}}).exports,r),r.exports},zt=(e,r)=>{for(var t in r)Nr(e,t,{get:r[t],enumerable:!0})},Sa=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of Vn(r))!gD.call(e,a)&&a!==t&&Nr(e,a,{get:()=>r[a],enumerable:!(s=mD(r,a))||s.enumerable});return e},yD=(e,r,t)=>(t=e!=null?DD(dD(e)):{},Sa(r||!e||!e.__esModule?Nr(t,"default",{value:e,enumerable:!0}):t,e)),ft=e=>Sa(Nr({},"__esModule",{value:!0}),e),Nt,ne=ht({""(){Nt={env:{},argv:[]}}}),xa=te({"package.json"(e,r){r.exports={version:"2.8.8"}}}),hD=te({"node_modules/diff/lib/diff/base.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;function r(){}r.prototype={diff:function(n,u){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=i.callback;typeof i=="function"&&(l=i,i={}),this.options=i;var p=this;function d(N){return l?(setTimeout(function(){l(void 0,N)},0),!0):N}n=this.castInput(n),u=this.castInput(u),n=this.removeEmpty(this.tokenize(n)),u=this.removeEmpty(this.tokenize(u));var y=u.length,g=n.length,c=1,f=y+g,E=[{newPos:-1,components:[]}],_=this.extractCommon(E[0],u,n,0);if(E[0].newPos+1>=y&&_+1>=g)return d([{value:this.join(u),count:u.length}]);function w(){for(var N=-1*c;N<=c;N+=2){var x=void 0,I=E[N-1],P=E[N+1],$=(P?P.newPos:0)-N;I&&(E[N-1]=void 0);var D=I&&I.newPos+1=y&&$+1>=g)return d(t(p,x.components,u,n,p.useLongestToken));E[N]=x}c++}if(l)(function N(){setTimeout(function(){if(c>f)return l();w()||N()},0)})();else for(;c<=f;){var F=w();if(F)return F}},pushComponent:function(n,u,i){var l=n[n.length-1];l&&l.added===u&&l.removed===i?n[n.length-1]={count:l.count+1,added:u,removed:i}:n.push({count:1,added:u,removed:i})},extractCommon:function(n,u,i,l){for(var p=u.length,d=i.length,y=n.newPos,g=y-l,c=0;y+1w.length?N:w}),c.value=a.join(f)}else c.value=a.join(u.slice(y,y+c.count));y+=c.count,c.added||(g+=c.count)}}var _=n[d-1];return d>1&&typeof _.value=="string"&&(_.added||_.removed)&&a.equals("",_.value)&&(n[d-2].value+=_.value,n.pop()),n}function s(a){return{newPos:a.newPos,components:a.components.slice(0)}}}}),vD=te({"node_modules/diff/lib/diff/array.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.diffArrays=a,e.arrayDiff=void 0;var r=t(hD());function t(n){return n&&n.__esModule?n:{default:n}}var s=new r.default;e.arrayDiff=s,s.tokenize=function(n){return n.slice()},s.join=s.removeEmpty=function(n){return n};function a(n,u,i){return s.diff(n,u,i)}}}),Wn=te({"src/document/doc-builders.js"(e,r){"use strict";ne();function t(C){return{type:"concat",parts:C}}function s(C){return{type:"indent",contents:C}}function a(C,o){return{type:"align",contents:o,n:C}}function n(C){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return{type:"group",id:o.id,contents:C,break:Boolean(o.shouldBreak),expandedStates:o.expandedStates}}function u(C){return a(Number.NEGATIVE_INFINITY,C)}function i(C){return a({type:"root"},C)}function l(C){return a(-1,C)}function p(C,o){return n(C[0],Object.assign(Object.assign({},o),{},{expandedStates:C}))}function d(C){return{type:"fill",parts:C}}function y(C,o){let h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return{type:"if-break",breakContents:C,flatContents:o,groupId:h.groupId}}function g(C,o){return{type:"indent-if-break",contents:C,groupId:o.groupId,negate:o.negate}}function c(C){return{type:"line-suffix",contents:C}}var f={type:"line-suffix-boundary"},E={type:"break-parent"},_={type:"trim"},w={type:"line",hard:!0},F={type:"line",hard:!0,literal:!0},N={type:"line"},x={type:"line",soft:!0},I=t([w,E]),P=t([F,E]),$={type:"cursor",placeholder:Symbol("cursor")};function D(C,o){let h=[];for(let v=0;v0){for(let S=0;S=0?u.charAt(i+1)===` -`?"crlf":"cr":"lf"}function s(u){switch(u){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function a(u,i){let l;switch(i){case` -`:l=/\n/g;break;case"\r":l=/\r/g;break;case`\r -`:l=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(i)}.`)}let p=u.match(l);return p?p.length:0}function n(u){return u.replace(/\r\n?/g,` -`)}r.exports={guessEndOfLine:t,convertEndOfLineToChars:s,countEndOfLineChars:a,normalizeEndOfLine:n}}}),lt=te({"src/utils/get-last.js"(e,r){"use strict";ne();var t=s=>s[s.length-1];r.exports=t}});function CD(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var ED=ht({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){ne()}});function FD(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(CD(),"")}var AD=ht({"node_modules/strip-ansi/index.js"(){ne(),ED()}});function SD(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var xD=ht({"node_modules/is-fullwidth-code-point/index.js"(){ne()}}),bD=te({"node_modules/emoji-regex/index.js"(e,r){"use strict";ne(),r.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),ba={};zt(ba,{default:()=>TD});function TD(e){if(typeof e!="string"||e.length===0||(e=FD(e),e.length===0))return 0;e=e.replace((0,Ta.default)()," ");let r=0;for(let t=0;t=127&&s<=159||s>=768&&s<=879||(s>65535&&t++,r+=SD(s)?2:1)}return r}var Ta,BD=ht({"node_modules/string-width/index.js"(){ne(),AD(),xD(),Ta=yD(bD())}}),Ba=te({"src/utils/get-string-width.js"(e,r){"use strict";ne();var t=(BD(),ft(ba)).default,s=/[^\x20-\x7F]/;function a(n){return n?s.test(n)?t(n):n.length:0}r.exports=a}}),Xt=te({"src/document/doc-utils.js"(e,r){"use strict";ne();var t=lt(),{literalline:s,join:a}=Wn(),n=o=>Array.isArray(o)||o&&o.type==="concat",u=o=>{if(Array.isArray(o))return o;if(o.type!=="concat"&&o.type!=="fill")throw new Error("Expect doc type to be `concat` or `fill`.");return o.parts},i={};function l(o,h,v,S){let b=[o];for(;b.length>0;){let B=b.pop();if(B===i){v(b.pop());continue}if(v&&b.push(B,i),!h||h(B)!==!1)if(n(B)||B.type==="fill"){let k=u(B);for(let M=k.length,R=M-1;R>=0;--R)b.push(k[R])}else if(B.type==="if-break")B.flatContents&&b.push(B.flatContents),B.breakContents&&b.push(B.breakContents);else if(B.type==="group"&&B.expandedStates)if(S)for(let k=B.expandedStates.length,M=k-1;M>=0;--M)b.push(B.expandedStates[M]);else b.push(B.contents);else B.contents&&b.push(B.contents)}}function p(o,h){let v=new Map;return S(o);function S(B){if(v.has(B))return v.get(B);let k=b(B);return v.set(B,k),k}function b(B){if(Array.isArray(B))return h(B.map(S));if(B.type==="concat"||B.type==="fill"){let k=B.parts.map(S);return h(Object.assign(Object.assign({},B),{},{parts:k}))}if(B.type==="if-break"){let k=B.breakContents&&S(B.breakContents),M=B.flatContents&&S(B.flatContents);return h(Object.assign(Object.assign({},B),{},{breakContents:k,flatContents:M}))}if(B.type==="group"&&B.expandedStates){let k=B.expandedStates.map(S),M=k[0];return h(Object.assign(Object.assign({},B),{},{contents:M,expandedStates:k}))}if(B.contents){let k=S(B.contents);return h(Object.assign(Object.assign({},B),{},{contents:k}))}return h(B)}}function d(o,h,v){let S=v,b=!1;function B(k){let M=h(k);if(M!==void 0&&(b=!0,S=M),b)return!1}return l(o,B),S}function y(o){if(o.type==="group"&&o.break||o.type==="line"&&o.hard||o.type==="break-parent")return!0}function g(o){return d(o,y,!1)}function c(o){if(o.length>0){let h=t(o);!h.expandedStates&&!h.break&&(h.break="propagated")}return null}function f(o){let h=new Set,v=[];function S(B){if(B.type==="break-parent"&&c(v),B.type==="group"){if(v.push(B),h.has(B))return!1;h.add(B)}}function b(B){B.type==="group"&&v.pop().break&&c(v)}l(o,S,b,!0)}function E(o){return o.type==="line"&&!o.hard?o.soft?"":" ":o.type==="if-break"?o.flatContents||"":o}function _(o){return p(o,E)}var w=(o,h)=>o&&o.type==="line"&&o.hard&&h&&h.type==="break-parent";function F(o){if(!o)return o;if(n(o)||o.type==="fill"){let h=u(o);for(;h.length>1&&w(...h.slice(-2));)h.length-=2;if(h.length>0){let v=F(t(h));h[h.length-1]=v}return Array.isArray(o)?h:Object.assign(Object.assign({},o),{},{parts:h})}switch(o.type){case"align":case"indent":case"indent-if-break":case"group":case"line-suffix":case"label":{let h=F(o.contents);return Object.assign(Object.assign({},o),{},{contents:h})}case"if-break":{let h=F(o.breakContents),v=F(o.flatContents);return Object.assign(Object.assign({},o),{},{breakContents:h,flatContents:v})}}return o}function N(o){return F(I(o))}function x(o){switch(o.type){case"fill":if(o.parts.every(v=>v===""))return"";break;case"group":if(!o.contents&&!o.id&&!o.break&&!o.expandedStates)return"";if(o.contents.type==="group"&&o.contents.id===o.id&&o.contents.break===o.break&&o.contents.expandedStates===o.expandedStates)return o.contents;break;case"align":case"indent":case"indent-if-break":case"line-suffix":if(!o.contents)return"";break;case"if-break":if(!o.flatContents&&!o.breakContents)return"";break}if(!n(o))return o;let h=[];for(let v of u(o)){if(!v)continue;let[S,...b]=n(v)?u(v):[v];typeof S=="string"&&typeof t(h)=="string"?h[h.length-1]+=S:h.push(S),h.push(...b)}return h.length===0?"":h.length===1?h[0]:Array.isArray(o)?h:Object.assign(Object.assign({},o),{},{parts:h})}function I(o){return p(o,h=>x(h))}function P(o){let h=[],v=o.filter(Boolean);for(;v.length>0;){let S=v.shift();if(S){if(n(S)){v.unshift(...u(S));continue}if(h.length>0&&typeof t(h)=="string"&&typeof S=="string"){h[h.length-1]+=S;continue}h.push(S)}}return h}function $(o){return p(o,h=>Array.isArray(h)?P(h):h.parts?Object.assign(Object.assign({},h),{},{parts:P(h.parts)}):h)}function D(o){return p(o,h=>typeof h=="string"&&h.includes(` -`)?T(h):h)}function T(o){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s;return a(h,o.split(` -`)).parts}function m(o){if(o.type==="line")return!0}function C(o){return d(o,m,!1)}r.exports={isConcat:n,getDocParts:u,willBreak:g,traverseDoc:l,findInDoc:d,mapDoc:p,propagateBreaks:f,removeLines:_,stripTrailingHardline:N,normalizeParts:P,normalizeDoc:$,cleanDoc:I,replaceTextEndOfLine:T,replaceEndOfLine:D,canBreak:C}}}),ND=te({"src/document/doc-printer.js"(e,r){"use strict";ne();var{convertEndOfLineToChars:t}=Hn(),s=lt(),a=Ba(),{fill:n,cursor:u,indent:i}=Wn(),{isConcat:l,getDocParts:p}=Xt(),d,y=1,g=2;function c(){return{value:"",length:0,queue:[]}}function f(x,I){return _(x,{type:"indent"},I)}function E(x,I,P){return I===Number.NEGATIVE_INFINITY?x.root||c():I<0?_(x,{type:"dedent"},P):I?I.type==="root"?Object.assign(Object.assign({},x),{},{root:x}):_(x,{type:typeof I=="string"?"stringAlign":"numberAlign",n:I},P):x}function _(x,I,P){let $=I.type==="dedent"?x.queue.slice(0,-1):[...x.queue,I],D="",T=0,m=0,C=0;for(let k of $)switch(k.type){case"indent":v(),P.useTabs?o(1):h(P.tabWidth);break;case"stringAlign":v(),D+=k.n,T+=k.n.length;break;case"numberAlign":m+=1,C+=k.n;break;default:throw new Error(`Unexpected type '${k.type}'`)}return b(),Object.assign(Object.assign({},x),{},{value:D,length:T,queue:$});function o(k){D+=" ".repeat(k),T+=P.tabWidth*k}function h(k){D+=" ".repeat(k),T+=k}function v(){P.useTabs?S():b()}function S(){m>0&&o(m),B()}function b(){C>0&&h(C),B()}function B(){m=0,C=0}}function w(x){if(x.length===0)return 0;let I=0;for(;x.length>0&&typeof s(x)=="string"&&/^[\t ]*$/.test(s(x));)I+=x.pop().length;if(x.length>0&&typeof s(x)=="string"){let P=s(x).replace(/[\t ]*$/,"");I+=s(x).length-P.length,x[x.length-1]=P}return I}function F(x,I,P,$,D){let T=I.length,m=[x],C=[];for(;P>=0;){if(m.length===0){if(T===0)return!0;m.push(I[--T]);continue}let{mode:o,doc:h}=m.pop();if(typeof h=="string")C.push(h),P-=a(h);else if(l(h)||h.type==="fill"){let v=p(h);for(let S=v.length-1;S>=0;S--)m.push({mode:o,doc:v[S]})}else switch(h.type){case"indent":case"align":case"indent-if-break":case"label":m.push({mode:o,doc:h.contents});break;case"trim":P+=w(C);break;case"group":{if(D&&h.break)return!1;let v=h.break?y:o,S=h.expandedStates&&v===y?s(h.expandedStates):h.contents;m.push({mode:v,doc:S});break}case"if-break":{let S=(h.groupId?d[h.groupId]||g:o)===y?h.breakContents:h.flatContents;S&&m.push({mode:o,doc:S});break}case"line":if(o===y||h.hard)return!0;h.soft||(C.push(" "),P--);break;case"line-suffix":$=!0;break;case"line-suffix-boundary":if($)return!1;break}}return!1}function N(x,I){d={};let P=I.printWidth,$=t(I.endOfLine),D=0,T=[{ind:c(),mode:y,doc:x}],m=[],C=!1,o=[];for(;T.length>0;){let{ind:v,mode:S,doc:b}=T.pop();if(typeof b=="string"){let B=$!==` -`?b.replace(/\n/g,$):b;m.push(B),D+=a(B)}else if(l(b)){let B=p(b);for(let k=B.length-1;k>=0;k--)T.push({ind:v,mode:S,doc:B[k]})}else switch(b.type){case"cursor":m.push(u.placeholder);break;case"indent":T.push({ind:f(v,I),mode:S,doc:b.contents});break;case"align":T.push({ind:E(v,b.n,I),mode:S,doc:b.contents});break;case"trim":D-=w(m);break;case"group":switch(S){case g:if(!C){T.push({ind:v,mode:b.break?y:g,doc:b.contents});break}case y:{C=!1;let B={ind:v,mode:g,doc:b.contents},k=P-D,M=o.length>0;if(!b.break&&F(B,T,k,M))T.push(B);else if(b.expandedStates){let R=s(b.expandedStates);if(b.break){T.push({ind:v,mode:y,doc:R});break}else for(let q=1;q=b.expandedStates.length){T.push({ind:v,mode:y,doc:R});break}else{let J=b.expandedStates[q],L={ind:v,mode:g,doc:J};if(F(L,T,k,M)){T.push(L);break}}}else T.push({ind:v,mode:y,doc:b.contents});break}}b.id&&(d[b.id]=s(T).mode);break;case"fill":{let B=P-D,{parts:k}=b;if(k.length===0)break;let[M,R]=k,q={ind:v,mode:g,doc:M},J={ind:v,mode:y,doc:M},L=F(q,[],B,o.length>0,!0);if(k.length===1){L?T.push(q):T.push(J);break}let Q={ind:v,mode:g,doc:R},V={ind:v,mode:y,doc:R};if(k.length===2){L?T.push(Q,q):T.push(V,J);break}k.splice(0,2);let j={ind:v,mode:S,doc:n(k)},Y=k[0];F({ind:v,mode:g,doc:[M,R,Y]},[],B,o.length>0,!0)?T.push(j,Q,q):L?T.push(j,V,q):T.push(j,V,J);break}case"if-break":case"indent-if-break":{let B=b.groupId?d[b.groupId]:S;if(B===y){let k=b.type==="if-break"?b.breakContents:b.negate?b.contents:i(b.contents);k&&T.push({ind:v,mode:S,doc:k})}if(B===g){let k=b.type==="if-break"?b.flatContents:b.negate?i(b.contents):b.contents;k&&T.push({ind:v,mode:S,doc:k})}break}case"line-suffix":o.push({ind:v,mode:S,doc:b.contents});break;case"line-suffix-boundary":o.length>0&&T.push({ind:v,mode:S,doc:{type:"line",hard:!0}});break;case"line":switch(S){case g:if(b.hard)C=!0;else{b.soft||(m.push(" "),D+=1);break}case y:if(o.length>0){T.push({ind:v,mode:S,doc:b},...o.reverse()),o.length=0;break}b.literal?v.root?(m.push($,v.root.value),D=v.root.length):(m.push($),D=0):(D-=w(m),m.push($+v.value),D=v.length);break}break;case"label":T.push({ind:v,mode:S,doc:b.contents});break;default:}T.length===0&&o.length>0&&(T.push(...o.reverse()),o.length=0)}let h=m.indexOf(u.placeholder);if(h!==-1){let v=m.indexOf(u.placeholder,h+1),S=m.slice(0,h).join(""),b=m.slice(h+1,v).join(""),B=m.slice(v+1).join("");return{formatted:S+b+B,cursorNodeStart:S.length,cursorNodeText:b}}return{formatted:m.join("")}}r.exports={printDocToString:N}}}),wD=te({"src/document/doc-debug.js"(e,r){"use strict";ne();var{isConcat:t,getDocParts:s}=Xt();function a(u){if(!u)return"";if(t(u)){let i=[];for(let l of s(u))if(t(l))i.push(...a(l).parts);else{let p=a(l);p!==""&&i.push(p)}return{type:"concat",parts:i}}return u.type==="if-break"?Object.assign(Object.assign({},u),{},{breakContents:a(u.breakContents),flatContents:a(u.flatContents)}):u.type==="group"?Object.assign(Object.assign({},u),{},{contents:a(u.contents),expandedStates:u.expandedStates&&u.expandedStates.map(a)}):u.type==="fill"?{type:"fill",parts:u.parts.map(a)}:u.contents?Object.assign(Object.assign({},u),{},{contents:a(u.contents)}):u}function n(u){let i=Object.create(null),l=new Set;return p(a(u));function p(y,g,c){if(typeof y=="string")return JSON.stringify(y);if(t(y)){let f=s(y).map(p).filter(Boolean);return f.length===1?f[0]:`[${f.join(", ")}]`}if(y.type==="line"){let f=Array.isArray(c)&&c[g+1]&&c[g+1].type==="break-parent";return y.literal?f?"literalline":"literallineWithoutBreakParent":y.hard?f?"hardline":"hardlineWithoutBreakParent":y.soft?"softline":"line"}if(y.type==="break-parent")return Array.isArray(c)&&c[g-1]&&c[g-1].type==="line"&&c[g-1].hard?void 0:"breakParent";if(y.type==="trim")return"trim";if(y.type==="indent")return"indent("+p(y.contents)+")";if(y.type==="align")return y.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+p(y.contents)+")":y.n<0?"dedent("+p(y.contents)+")":y.n.type==="root"?"markAsRoot("+p(y.contents)+")":"align("+JSON.stringify(y.n)+", "+p(y.contents)+")";if(y.type==="if-break")return"ifBreak("+p(y.breakContents)+(y.flatContents?", "+p(y.flatContents):"")+(y.groupId?(y.flatContents?"":', ""')+`, { groupId: ${d(y.groupId)} }`:"")+")";if(y.type==="indent-if-break"){let f=[];y.negate&&f.push("negate: true"),y.groupId&&f.push(`groupId: ${d(y.groupId)}`);let E=f.length>0?`, { ${f.join(", ")} }`:"";return`indentIfBreak(${p(y.contents)}${E})`}if(y.type==="group"){let f=[];y.break&&y.break!=="propagated"&&f.push("shouldBreak: true"),y.id&&f.push(`id: ${d(y.id)}`);let E=f.length>0?`, { ${f.join(", ")} }`:"";return y.expandedStates?`conditionalGroup([${y.expandedStates.map(_=>p(_)).join(",")}]${E})`:`group(${p(y.contents)}${E})`}if(y.type==="fill")return`fill([${y.parts.map(f=>p(f)).join(", ")}])`;if(y.type==="line-suffix")return"lineSuffix("+p(y.contents)+")";if(y.type==="line-suffix-boundary")return"lineSuffixBoundary";if(y.type==="label")return`label(${JSON.stringify(y.label)}, ${p(y.contents)})`;throw new Error("Unknown doc type "+y.type)}function d(y){if(typeof y!="symbol")return JSON.stringify(String(y));if(y in i)return i[y];let g=String(y).slice(7,-1)||"symbol";for(let c=0;;c++){let f=g+(c>0?` #${c}`:"");if(!l.has(f))return l.add(f),i[y]=`Symbol.for(${JSON.stringify(f)})`}}}r.exports={printDocToDebug:n}}}),qe=te({"src/document/index.js"(e,r){"use strict";ne(),r.exports={builders:Wn(),printer:ND(),utils:Xt(),debug:wD()}}}),Na={};zt(Na,{default:()=>_D});function _D(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var PD=ht({"node_modules/escape-string-regexp/index.js"(){ne()}}),wa=te({"node_modules/semver/internal/debug.js"(e,r){ne();var t=typeof Nt=="object"&&Nt.env&&Nt.env.NODE_DEBUG&&/\bsemver\b/i.test(Nt.env.NODE_DEBUG)?function(){for(var s=arguments.length,a=new Array(s),n=0;n{};r.exports=t}}),_a=te({"node_modules/semver/internal/constants.js"(e,r){ne();var t="2.0.0",s=256,a=Number.MAX_SAFE_INTEGER||9007199254740991,n=16;r.exports={SEMVER_SPEC_VERSION:t,MAX_LENGTH:s,MAX_SAFE_INTEGER:a,MAX_SAFE_COMPONENT_LENGTH:n}}}),ID=te({"node_modules/semver/internal/re.js"(e,r){ne();var{MAX_SAFE_COMPONENT_LENGTH:t}=_a(),s=wa();e=r.exports={};var a=e.re=[],n=e.src=[],u=e.t={},i=0,l=(p,d,y)=>{let g=i++;s(p,g,d),u[p]=g,n[g]=d,a[g]=new RegExp(d,y?"g":void 0)};l("NUMERICIDENTIFIER","0|[1-9]\\d*"),l("NUMERICIDENTIFIERLOOSE","[0-9]+"),l("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),l("MAINVERSION",`(${n[u.NUMERICIDENTIFIER]})\\.(${n[u.NUMERICIDENTIFIER]})\\.(${n[u.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${n[u.NUMERICIDENTIFIERLOOSE]})\\.(${n[u.NUMERICIDENTIFIERLOOSE]})\\.(${n[u.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${n[u.NUMERICIDENTIFIER]}|${n[u.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${n[u.NUMERICIDENTIFIERLOOSE]}|${n[u.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${n[u.PRERELEASEIDENTIFIER]}(?:\\.${n[u.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${n[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[u.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${n[u.BUILDIDENTIFIER]}(?:\\.${n[u.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${n[u.MAINVERSION]}${n[u.PRERELEASE]}?${n[u.BUILD]}?`),l("FULL",`^${n[u.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${n[u.MAINVERSIONLOOSE]}${n[u.PRERELEASELOOSE]}?${n[u.BUILD]}?`),l("LOOSE",`^${n[u.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${n[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${n[u.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${n[u.XRANGEIDENTIFIER]})(?:\\.(${n[u.XRANGEIDENTIFIER]})(?:\\.(${n[u.XRANGEIDENTIFIER]})(?:${n[u.PRERELEASE]})?${n[u.BUILD]}?)?)?`),l("XRANGEPLAINLOOSE",`[v=\\s]*(${n[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[u.XRANGEIDENTIFIERLOOSE]})(?:${n[u.PRERELEASELOOSE]})?${n[u.BUILD]}?)?)?`),l("XRANGE",`^${n[u.GTLT]}\\s*${n[u.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${n[u.GTLT]}\\s*${n[u.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`),l("COERCERTL",n[u.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${n[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",l("TILDE",`^${n[u.LONETILDE]}${n[u.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${n[u.LONETILDE]}${n[u.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${n[u.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",l("CARET",`^${n[u.LONECARET]}${n[u.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${n[u.LONECARET]}${n[u.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${n[u.GTLT]}\\s*(${n[u.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${n[u.GTLT]}\\s*(${n[u.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${n[u.GTLT]}\\s*(${n[u.LOOSEPLAIN]}|${n[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${n[u.XRANGEPLAIN]})\\s+-\\s+(${n[u.XRANGEPLAIN]})\\s*$`),l("HYPHENRANGELOOSE",`^\\s*(${n[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[u.XRANGEPLAINLOOSE]})\\s*$`),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),kD=te({"node_modules/semver/internal/parse-options.js"(e,r){ne();var t=["includePrerelease","loose","rtl"],s=a=>a?typeof a!="object"?{loose:!0}:t.filter(n=>a[n]).reduce((n,u)=>(n[u]=!0,n),{}):{};r.exports=s}}),LD=te({"node_modules/semver/internal/identifiers.js"(e,r){ne();var t=/^[0-9]+$/,s=(n,u)=>{let i=t.test(n),l=t.test(u);return i&&l&&(n=+n,u=+u),n===u?0:i&&!l?-1:l&&!i?1:ns(u,n);r.exports={compareIdentifiers:s,rcompareIdentifiers:a}}}),OD=te({"node_modules/semver/classes/semver.js"(e,r){ne();var t=wa(),{MAX_LENGTH:s,MAX_SAFE_INTEGER:a}=_a(),{re:n,t:u}=ID(),i=kD(),{compareIdentifiers:l}=LD(),p=class{constructor(d,y){if(y=i(y),d instanceof p){if(d.loose===!!y.loose&&d.includePrerelease===!!y.includePrerelease)return d;d=d.version}else if(typeof d!="string")throw new TypeError(`Invalid Version: ${d}`);if(d.length>s)throw new TypeError(`version is longer than ${s} characters`);t("SemVer",d,y),this.options=y,this.loose=!!y.loose,this.includePrerelease=!!y.includePrerelease;let g=d.trim().match(y.loose?n[u.LOOSE]:n[u.FULL]);if(!g)throw new TypeError(`Invalid Version: ${d}`);if(this.raw=d,this.major=+g[1],this.minor=+g[2],this.patch=+g[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");g[4]?this.prerelease=g[4].split(".").map(c=>{if(/^[0-9]+$/.test(c)){let f=+c;if(f>=0&&f=0;)typeof this.prerelease[g]=="number"&&(this.prerelease[g]++,g=-2);g===-1&&this.prerelease.push(0)}y&&(l(this.prerelease[0],y)===0?isNaN(this.prerelease[1])&&(this.prerelease=[y,0]):this.prerelease=[y,0]);break;default:throw new Error(`invalid increment argument: ${d}`)}return this.format(),this.raw=this.version,this}};r.exports=p}}),Gn=te({"node_modules/semver/functions/compare.js"(e,r){ne();var t=OD(),s=(a,n,u)=>new t(a,u).compare(new t(n,u));r.exports=s}}),jD=te({"node_modules/semver/functions/lt.js"(e,r){ne();var t=Gn(),s=(a,n,u)=>t(a,n,u)<0;r.exports=s}}),qD=te({"node_modules/semver/functions/gte.js"(e,r){ne();var t=Gn(),s=(a,n,u)=>t(a,n,u)>=0;r.exports=s}}),MD=te({"src/utils/arrayify.js"(e,r){"use strict";ne(),r.exports=(t,s)=>Object.entries(t).map(a=>{let[n,u]=a;return Object.assign({[s]:n},u)})}}),RD=te({"node_modules/outdent/lib/index.js"(e,r){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function t(){for(var F=[],N=0;Ntypeof y=="string"||typeof y=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:l,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:y=>typeof y=="string"||typeof y=="object",cliName:"plugin",cliCategory:s},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:l,description:t` - Custom directory that contains prettier plugins in node_modules subdirectory. - Overrides default behavior when plugins are searched relatively to the location of Prettier. - Multiple values are accepted. - `,exception:y=>typeof y=="string"||typeof y=="object",cliName:"plugin-search-dir",cliCategory:s},printWidth:{since:"0.0.0",category:l,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:p,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t` - Format code ending at a given character offset (exclusive). - The range will extend forwards to the end of the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},rangeStart:{since:"1.4.0",category:p,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t` - Format code starting at a given character offset. - The range will extend backwards to the start of the first line containing the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},requirePragma:{since:"1.7.0",category:p,type:"boolean",default:!1,description:t` - Require either '@prettier' or '@format' to be present in the file's first docblock comment - in order for it to be formatted. - `,cliCategory:u},tabWidth:{type:"int",category:l,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:l,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:l,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};r.exports={CATEGORY_CONFIG:s,CATEGORY_EDITOR:a,CATEGORY_FORMAT:n,CATEGORY_OTHER:u,CATEGORY_OUTPUT:i,CATEGORY_GLOBAL:l,CATEGORY_SPECIAL:p,options:d}}}),Un=te({"src/main/support.js"(e,r){"use strict";ne();var t={compare:Gn(),lt:jD(),gte:qD()},s=MD(),a=xa().version,n=$D().options;function u(){let{plugins:l=[],showUnreleased:p=!1,showDeprecated:d=!1,showInternal:y=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=a.split("-",1)[0],c=l.flatMap(F=>F.languages||[]).filter(E),f=s(Object.assign({},...l.map(F=>{let{options:N}=F;return N}),n),"name").filter(F=>E(F)&&_(F)).sort((F,N)=>F.name===N.name?0:F.name{F=Object.assign({},F),Array.isArray(F.default)&&(F.default=F.default.length===1?F.default[0].value:F.default.filter(E).sort((x,I)=>t.compare(I.since,x.since))[0].value),Array.isArray(F.choices)&&(F.choices=F.choices.filter(x=>E(x)&&_(x)),F.name==="parser"&&i(F,c,l));let N=Object.fromEntries(l.filter(x=>x.defaultOptions&&x.defaultOptions[F.name]!==void 0).map(x=>[x.name,x.defaultOptions[F.name]]));return Object.assign(Object.assign({},F),{},{pluginDefaults:N})});return{languages:c,options:f};function E(F){return p||!("since"in F)||F.since&&t.gte(g,F.since)}function _(F){return d||!("deprecated"in F)||F.deprecated&&t.lt(g,F.deprecated)}function w(F){if(y)return F;let{cliName:N,cliCategory:x,cliDescription:I}=F;return $n(F,lD)}}function i(l,p,d){let y=new Set(l.choices.map(g=>g.value));for(let g of p)if(g.parsers){for(let c of g.parsers)if(!y.has(c)){y.add(c);let f=d.find(_=>_.parsers&&_.parsers[c]),E=g.name;f&&f.name&&(E+=` (plugin: ${f.name})`),l.choices.push({value:c,description:E})}}}r.exports={getSupportInfo:u}}}),Jn=te({"src/utils/is-non-empty-array.js"(e,r){"use strict";ne();function t(s){return Array.isArray(s)&&s.length>0}r.exports=t}}),wr=te({"src/utils/text/skip.js"(e,r){"use strict";ne();function t(i){return(l,p,d)=>{let y=d&&d.backwards;if(p===!1)return!1;let{length:g}=l,c=p;for(;c>=0&&cV[V.length-2];function _(V){return(j,Y,ie)=>{let ee=ie&&ie.backwards;if(Y===!1)return!1;let{length:ce}=j,W=Y;for(;W>=0&&W2&&arguments[2]!==void 0?arguments[2]:{},ie=l(V,Y.backwards?j-1:j,Y),ee=c(V,ie,Y);return ie!==ee}function F(V,j,Y){for(let ie=j;ie2&&arguments[2]!==void 0?arguments[2]:{};return l(V,Y.backwards?j-1:j,Y)!==j}function T(V,j){let Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,ie=0;for(let ee=Y;eede?ce:ee}return W}function o(V,j){let Y=V.slice(1,-1),ie=j.parser==="json"||j.parser==="json5"&&j.quoteProps==="preserve"&&!j.singleQuote?'"':j.__isInHtmlAttribute?"'":C(Y,j.singleQuote?"'":'"').quote;return h(Y,ie,!(j.parser==="css"||j.parser==="less"||j.parser==="scss"||j.__embeddedInHtml))}function h(V,j,Y){let ie=j==='"'?"'":'"',ee=/\\(.)|(["'])/gs,ce=V.replace(ee,(W,K,de)=>K===ie?K:de===j?"\\"+de:de||(Y&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(K)?K:"\\"+K));return j+ce+j}function v(V){return V.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function S(V,j){let Y=V.match(new RegExp(`(${t(j)})+`,"g"));return Y===null?0:Y.reduce((ie,ee)=>Math.max(ie,ee.length/j.length),0)}function b(V,j){let Y=V.match(new RegExp(`(${t(j)})+`,"g"));if(Y===null)return 0;let ie=new Map,ee=0;for(let ce of Y){let W=ce.length/j.length;ie.set(W,!0),W>ee&&(ee=W)}for(let ce=1;ce{let{name:ce}=ee;return ce.toLowerCase()===V})||Y.find(ee=>{let{aliases:ce}=ee;return Array.isArray(ce)&&ce.includes(V)})||Y.find(ee=>{let{extensions:ce}=ee;return Array.isArray(ce)&&ce.includes(`.${V}`)});return ie&&ie.parsers[0]}function J(V){return V&&V.type==="front-matter"}function L(V){let j=new WeakMap;return function(Y){return j.has(Y)||j.set(Y,Symbol(V)),j.get(Y)}}function Q(V){let j=V.type||V.kind||"(unknown type)",Y=String(V.name||V.id&&(typeof V.id=="object"?V.id.name:V.id)||V.key&&(typeof V.key=="object"?V.key.name:V.key)||V.value&&(typeof V.value=="object"?"":String(V.value))||V.operator||"");return Y.length>20&&(Y=Y.slice(0,19)+"\u2026"),j+(Y?" "+Y:"")}r.exports={inferParserByLanguage:q,getStringWidth:u,getMaxContinuousCount:S,getMinNotPresentContinuousCount:b,getPenultimate:E,getLast:s,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:f,getNextNonSpaceNonCommentCharacterIndex:P,getNextNonSpaceNonCommentCharacter:$,skip:_,skipWhitespace:i,skipSpaces:l,skipToLineEnd:p,skipEverythingButNewLine:d,skipInlineComment:y,skipTrailingComment:g,skipNewline:c,isNextLineEmptyAfterIndex:x,isNextLineEmpty:I,isPreviousLineEmpty:N,hasNewline:w,hasNewlineInRange:F,hasSpaces:D,getAlignmentSize:T,getIndentSize:m,getPreferredQuote:C,printString:o,printNumber:v,makeString:h,addLeadingComment:k,addDanglingComment:M,addTrailingComment:R,isFrontMatterNode:J,isNonEmptyArray:n,createGroupIdMapper:L}}}),La={};zt(La,{basename:()=>Ra,default:()=>Va,delimiter:()=>On,dirname:()=>Ma,extname:()=>$a,isAbsolute:()=>Xn,join:()=>ja,normalize:()=>zn,relative:()=>qa,resolve:()=>Br,sep:()=>Ln});function Oa(e,r){for(var t=0,s=e.length-1;s>=0;s--){var a=e[s];a==="."?e.splice(s,1):a===".."?(e.splice(s,1),t++):t&&(e.splice(s,1),t--)}if(r)for(;t--;t)e.unshift("..");return e}function Br(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var s=t>=0?arguments[t]:"/";if(typeof s!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!s)continue;e=s+"/"+e,r=s.charAt(0)==="/"}return e=Oa(Kn(e.split("/"),function(a){return!!a}),!r).join("/"),(r?"/":"")+e||"."}function zn(e){var r=Xn(e),t=Wa(e,-1)==="/";return e=Oa(Kn(e.split("/"),function(s){return!!s}),!r).join("/"),!e&&!r&&(e="."),e&&t&&(e+="/"),(r?"/":"")+e}function Xn(e){return e.charAt(0)==="/"}function ja(){var e=Array.prototype.slice.call(arguments,0);return zn(Kn(e,function(r,t){if(typeof r!="string")throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))}function qa(e,r){e=Br(e).substr(1),r=Br(r).substr(1);function t(p){for(var d=0;d=0&&p[y]==="";y--);return d>y?[]:p.slice(d,y-d+1)}for(var s=t(e.split("/")),a=t(r.split("/")),n=Math.min(s.length,a.length),u=n,i=0;iTr,__asyncDelegator:()=>nm,__asyncGenerator:()=>rm,__asyncValues:()=>um,__await:()=>Jt,__awaiter:()=>KD,__classPrivateFieldGet:()=>om,__classPrivateFieldSet:()=>lm,__createBinding:()=>QD,__decorate:()=>JD,__exportStar:()=>ZD,__extends:()=>GD,__generator:()=>YD,__importDefault:()=>am,__importStar:()=>im,__makeTemplateObject:()=>sm,__metadata:()=>XD,__param:()=>zD,__read:()=>Ha,__rest:()=>UD,__spread:()=>em,__spreadArrays:()=>tm,__values:()=>jn});function GD(e,r){br(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}function UD(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&r.indexOf(s)<0&&(t[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(e);a=0;i--)(u=e[i])&&(n=(a<3?u(n):a>3?u(r,t,n):u(r,t))||n);return a>3&&n&&Object.defineProperty(r,t,n),n}function zD(e,r){return function(t,s){r(t,s,e)}}function XD(e,r){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,r)}function KD(e,r,t,s){function a(n){return n instanceof t?n:new t(function(u){u(n)})}return new(t||(t=Promise))(function(n,u){function i(d){try{p(s.next(d))}catch(y){u(y)}}function l(d){try{p(s.throw(d))}catch(y){u(y)}}function p(d){d.done?n(d.value):a(d.value).then(i,l)}p((s=s.apply(e,r||[])).next())})}function YD(e,r){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},s,a,n,u;return u={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function i(p){return function(d){return l([p,d])}}function l(p){if(s)throw new TypeError("Generator is already executing.");for(;t;)try{if(s=1,a&&(n=p[0]&2?a.return:p[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,p[1])).done)return n;switch(a=0,n&&(p=[p[0]&2,n.value]),p[0]){case 0:case 1:n=p;break;case 4:return t.label++,{value:p[1],done:!1};case 5:t.label++,a=p[1],p=[0];continue;case 7:p=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(p[0]===6||p[0]===2)){t=0;continue}if(p[0]===3&&(!n||p[1]>n[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[s++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ha(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var s=t.call(e),a,n=[],u;try{for(;(r===void 0||r-- >0)&&!(a=s.next()).done;)n.push(a.value)}catch(i){u={error:i}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(u)throw u.error}}return n}function em(){for(var e=[],r=0;r1||i(g,c)})})}function i(g,c){try{l(s[g](c))}catch(f){y(n[0][3],f)}}function l(g){g.value instanceof Jt?Promise.resolve(g.value.v).then(p,d):y(n[0][2],g)}function p(g){i("next",g)}function d(g){i("throw",g)}function y(g,c){g(c),n.shift(),n.length&&i(n[0][0],n[0][1])}}function nm(e){var r,t;return r={},s("next"),s("throw",function(a){throw a}),s("return"),r[Symbol.iterator]=function(){return this},r;function s(a,n){r[a]=e[a]?function(u){return(t=!t)?{value:Jt(e[a](u)),done:a==="return"}:n?n(u):u}:n}}function um(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=e[Symbol.asyncIterator],t;return r?r.call(e):(e=typeof jn=="function"?jn(e):e[Symbol.iterator](),t={},s("next"),s("throw"),s("return"),t[Symbol.asyncIterator]=function(){return this},t);function s(n){t[n]=e[n]&&function(u){return new Promise(function(i,l){u=e[n](u),a(i,l,u.done,u.value)})}}function a(n,u,i,l){Promise.resolve(l).then(function(p){n({value:p,done:i})},u)}}function sm(e,r){return Object.defineProperty?Object.defineProperty(e,"raw",{value:r}):e.raw=r,e}function im(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function am(e){return e&&e.__esModule?e:{default:e}}function om(e,r){if(!r.has(e))throw new TypeError("attempted to get private field on non-instance");return r.get(e)}function lm(e,r,t){if(!r.has(e))throw new TypeError("attempted to set private field on non-instance");return r.set(e,t),t}var br,Tr,Et=ht({"node_modules/tslib/tslib.es6.js"(){ne(),br=function(e,r){return br=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s}||function(t,s){for(var a in s)s.hasOwnProperty(a)&&(t[a]=s[a])},br(e,r)},Tr=function(){return Tr=Object.assign||function(r){for(var t,s=1,a=arguments.length;s/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(r)?r:JSON.stringify(r),value(r){if(r===null||typeof r!="object")return JSON.stringify(r);if(Array.isArray(r))return`[${r.map(s=>e.apiDescriptor.value(s)).join(", ")}]`;let t=Object.keys(r);return t.length===0?"{}":`{ ${t.map(s=>`${e.apiDescriptor.key(s)}: ${e.apiDescriptor.value(r[s])}`).join(", ")} }`},pair:r=>{let{key:t,value:s}=r;return e.apiDescriptor.value({[t]:s})}}}}),cm=te({"node_modules/vnopts/lib/descriptors/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Ga(),e)}}),Pr=te({"scripts/build/shims/chalk.cjs"(e,r){"use strict";ne();var t=s=>s;t.grey=t,t.red=t,t.bold=t,t.yellow=t,t.blue=t,t.default=t,r.exports=t}}),Ua=te({"node_modules/vnopts/lib/handlers/deprecated/common.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Pr();e.commonDeprecatedHandler=(t,s,a)=>{let{descriptor:n}=a,u=[`${r.default.yellow(typeof t=="string"?n.key(t):n.pair(t))} is deprecated`];return s&&u.push(`we now treat it as ${r.default.blue(typeof s=="string"?n.key(s):n.pair(s))}`),u.join("; ")+"."}}}),pm=te({"node_modules/vnopts/lib/handlers/deprecated/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Ua(),e)}}),fm=te({"node_modules/vnopts/lib/handlers/invalid/common.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Pr();e.commonInvalidHandler=(t,s,a)=>[`Invalid ${r.default.red(a.descriptor.key(t))} value.`,`Expected ${r.default.blue(a.schemas[t].expected(a))},`,`but received ${r.default.red(a.descriptor.value(s))}.`].join(" ")}}),Ja=te({"node_modules/vnopts/lib/handlers/invalid/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(fm(),e)}}),Dm=te({"node_modules/vnopts/node_modules/leven/index.js"(e,r){"use strict";ne();var t=[],s=[];r.exports=function(a,n){if(a===n)return 0;var u=a;a.length>n.length&&(a=n,n=u);var i=a.length,l=n.length;if(i===0)return l;if(l===0)return i;for(;i>0&&a.charCodeAt(~-i)===n.charCodeAt(~-l);)i--,l--;if(i===0)return l;for(var p=0;py?c>y?y+1:c:c>g?g+1:c;return y}}}),za=te({"node_modules/vnopts/lib/handlers/unknown/leven.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Pr(),t=Dm();e.levenUnknownHandler=(s,a,n)=>{let{descriptor:u,logger:i,schemas:l}=n,p=[`Ignored unknown option ${r.default.yellow(u.pair({key:s,value:a}))}.`],d=Object.keys(l).sort().find(y=>t(s,y)<3);d&&p.push(`Did you mean ${r.default.blue(u.key(d))}?`),i.warn(p.join(" "))}}}),mm=te({"node_modules/vnopts/lib/handlers/unknown/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(za(),e)}}),dm=te({"node_modules/vnopts/lib/handlers/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(pm(),e),r.__exportStar(Ja(),e),r.__exportStar(mm(),e)}}),Ft=te({"node_modules/vnopts/lib/schema.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function t(n,u){let i=new n(u),l=Object.create(i);for(let p of r)p in u&&(l[p]=a(u[p],i,s.prototype[p].length));return l}e.createSchema=t;var s=class{constructor(n){this.name=n.name}static create(n){return t(this,n)}default(n){}expected(n){return"nothing"}validate(n,u){return!1}deprecated(n,u){return!1}forward(n,u){}redirect(n,u){}overlap(n,u,i){return n}preprocess(n,u){return n}postprocess(n,u){return n}};e.Schema=s;function a(n,u,i){return typeof n=="function"?function(){for(var l=arguments.length,p=new Array(l),d=0;dn}}}),gm=te({"node_modules/vnopts/lib/schemas/alias.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{constructor(s){super(s),this._sourceName=s.sourceName}expected(s){return s.schemas[this._sourceName].expected(s)}validate(s,a){return a.schemas[this._sourceName].validate(s,a)}redirect(s,a){return this._sourceName}};e.AliasSchema=t}}),ym=te({"node_modules/vnopts/lib/schemas/any.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"anything"}validate(){return!0}};e.AnySchema=t}}),hm=te({"node_modules/vnopts/lib/schemas/array.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt)),t=Ft(),s=class extends t.Schema{constructor(n){var{valueSchema:u,name:i=u.name}=n,l=r.__rest(n,["valueSchema","name"]);super(Object.assign({},l,{name:i})),this._valueSchema=u}expected(n){return`an array of ${this._valueSchema.expected(n)}`}validate(n,u){if(!Array.isArray(n))return!1;let i=[];for(let l of n){let p=u.normalizeValidateResult(this._valueSchema.validate(l,u),l);p!==!0&&i.push(p.value)}return i.length===0?!0:{value:i}}deprecated(n,u){let i=[];for(let l of n){let p=u.normalizeDeprecatedResult(this._valueSchema.deprecated(l,u),l);p!==!1&&i.push(...p.map(d=>{let{value:y}=d;return{value:[y]}}))}return i}forward(n,u){let i=[];for(let l of n){let p=u.normalizeForwardResult(this._valueSchema.forward(l,u),l);i.push(...p.map(a))}return i}redirect(n,u){let i=[],l=[];for(let p of n){let d=u.normalizeRedirectResult(this._valueSchema.redirect(p,u),p);"remain"in d&&i.push(d.remain),l.push(...d.redirect.map(a))}return i.length===0?{redirect:l}:{redirect:l,remain:i}}overlap(n,u){return n.concat(u)}};e.ArraySchema=s;function a(n){let{from:u,to:i}=n;return{from:[u],to:i}}}}),vm=te({"node_modules/vnopts/lib/schemas/boolean.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"true or false"}validate(s){return typeof s=="boolean"}};e.BooleanSchema=t}}),Yn=te({"node_modules/vnopts/lib/utils.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});function r(c,f){let E=Object.create(null);for(let _ of c){let w=_[f];if(E[w])throw new Error(`Duplicate ${f} ${JSON.stringify(w)}`);E[w]=_}return E}e.recordFromArray=r;function t(c,f){let E=new Map;for(let _ of c){let w=_[f];if(E.has(w))throw new Error(`Duplicate ${f} ${JSON.stringify(w)}`);E.set(w,_)}return E}e.mapFromArray=t;function s(){let c=Object.create(null);return f=>{let E=JSON.stringify(f);return c[E]?!0:(c[E]=!0,!1)}}e.createAutoChecklist=s;function a(c,f){let E=[],_=[];for(let w of c)f(w)?E.push(w):_.push(w);return[E,_]}e.partition=a;function n(c){return c===Math.floor(c)}e.isInt=n;function u(c,f){if(c===f)return 0;let E=typeof c,_=typeof f,w=["undefined","object","boolean","number","string"];return E!==_?w.indexOf(E)-w.indexOf(_):E!=="string"?Number(c)-Number(f):c.localeCompare(f)}e.comparePrimitive=u;function i(c){return c===void 0?{}:c}e.normalizeDefaultResult=i;function l(c,f){return c===!0?!0:c===!1?{value:f}:c}e.normalizeValidateResult=l;function p(c,f){let E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return c===!1?!1:c===!0?E?!0:[{value:f}]:"value"in c?[c]:c.length===0?!1:c}e.normalizeDeprecatedResult=p;function d(c,f){return typeof c=="string"||"key"in c?{from:f,to:c}:"from"in c?{from:c.from,to:c.to}:{from:f,to:c.to}}e.normalizeTransferResult=d;function y(c,f){return c===void 0?[]:Array.isArray(c)?c.map(E=>d(E,f)):[d(c,f)]}e.normalizeForwardResult=y;function g(c,f){let E=y(typeof c=="object"&&"redirect"in c?c.redirect:c,f);return E.length===0?{remain:f,redirect:E}:typeof c=="object"&&"remain"in c?{remain:c.remain,redirect:E}:{redirect:E}}e.normalizeRedirectResult=g}}),Cm=te({"node_modules/vnopts/lib/schemas/choice.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=Yn(),s=class extends r.Schema{constructor(a){super(a),this._choices=t.mapFromArray(a.choices.map(n=>n&&typeof n=="object"?n:{value:n}),"value")}expected(a){let{descriptor:n}=a,u=Array.from(this._choices.keys()).map(p=>this._choices.get(p)).filter(p=>!p.deprecated).map(p=>p.value).sort(t.comparePrimitive).map(n.value),i=u.slice(0,-2),l=u.slice(-2);return i.concat(l.join(" or ")).join(", ")}validate(a){return this._choices.has(a)}deprecated(a){let n=this._choices.get(a);return n&&n.deprecated?{value:a}:!1}forward(a){let n=this._choices.get(a);return n?n.forward:void 0}redirect(a){let n=this._choices.get(a);return n?n.redirect:void 0}};e.ChoiceSchema=s}}),Xa=te({"node_modules/vnopts/lib/schemas/number.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"a number"}validate(s,a){return typeof s=="number"}};e.NumberSchema=t}}),Em=te({"node_modules/vnopts/lib/schemas/integer.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Yn(),t=Xa(),s=class extends t.NumberSchema{expected(){return"an integer"}validate(a,n){return n.normalizeValidateResult(super.validate(a,n),a)===!0&&r.isInt(a)}};e.IntegerSchema=s}}),Fm=te({"node_modules/vnopts/lib/schemas/string.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"a string"}validate(s){return typeof s=="string"}};e.StringSchema=t}}),Am=te({"node_modules/vnopts/lib/schemas/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(gm(),e),r.__exportStar(ym(),e),r.__exportStar(hm(),e),r.__exportStar(vm(),e),r.__exportStar(Cm(),e),r.__exportStar(Em(),e),r.__exportStar(Xa(),e),r.__exportStar(Fm(),e)}}),Sm=te({"node_modules/vnopts/lib/defaults.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ga(),t=Ua(),s=Ja(),a=za();e.defaultDescriptor=r.apiDescriptor,e.defaultUnknownHandler=a.levenUnknownHandler,e.defaultInvalidHandler=s.commonInvalidHandler,e.defaultDeprecatedHandler=t.commonDeprecatedHandler}}),xm=te({"node_modules/vnopts/lib/normalize.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Sm(),t=Yn();e.normalize=(a,n,u)=>new s(n,u).normalize(a);var s=class{constructor(a,n){let{logger:u=console,descriptor:i=r.defaultDescriptor,unknown:l=r.defaultUnknownHandler,invalid:p=r.defaultInvalidHandler,deprecated:d=r.defaultDeprecatedHandler}=n||{};this._utils={descriptor:i,logger:u||{warn:()=>{}},schemas:t.recordFromArray(a,"name"),normalizeDefaultResult:t.normalizeDefaultResult,normalizeDeprecatedResult:t.normalizeDeprecatedResult,normalizeForwardResult:t.normalizeForwardResult,normalizeRedirectResult:t.normalizeRedirectResult,normalizeValidateResult:t.normalizeValidateResult},this._unknownHandler=l,this._invalidHandler=p,this._deprecatedHandler=d,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=t.createAutoChecklist()}normalize(a){let n={},u=[a],i=()=>{for(;u.length!==0;){let l=u.shift(),p=this._applyNormalization(l,n);u.push(...p)}};i();for(let l of Object.keys(this._utils.schemas)){let p=this._utils.schemas[l];if(!(l in n)){let d=t.normalizeDefaultResult(p.default(this._utils));"value"in d&&u.push({[l]:d.value})}}i();for(let l of Object.keys(this._utils.schemas)){let p=this._utils.schemas[l];l in n&&(n[l]=p.postprocess(n[l],this._utils))}return n}_applyNormalization(a,n){let u=[],[i,l]=t.partition(Object.keys(a),p=>p in this._utils.schemas);for(let p of i){let d=this._utils.schemas[p],y=d.preprocess(a[p],this._utils),g=t.normalizeValidateResult(d.validate(y,this._utils),y);if(g!==!0){let{value:w}=g,F=this._invalidHandler(p,w,this._utils);throw typeof F=="string"?new Error(F):F}let c=w=>{let{from:F,to:N}=w;u.push(typeof N=="string"?{[N]:F}:{[N.key]:N.value})},f=w=>{let{value:F,redirectTo:N}=w,x=t.normalizeDeprecatedResult(d.deprecated(F,this._utils),y,!0);if(x!==!1)if(x===!0)this._hasDeprecationWarned(p)||this._utils.logger.warn(this._deprecatedHandler(p,N,this._utils));else for(let{value:I}of x){let P={key:p,value:I};if(!this._hasDeprecationWarned(P)){let $=typeof N=="string"?{key:N,value:I}:N;this._utils.logger.warn(this._deprecatedHandler(P,$,this._utils))}}};t.normalizeForwardResult(d.forward(y,this._utils),y).forEach(c);let _=t.normalizeRedirectResult(d.redirect(y,this._utils),y);if(_.redirect.forEach(c),"remain"in _){let w=_.remain;n[p]=p in n?d.overlap(n[p],w,this._utils):w,f({value:w})}for(let{from:w,to:F}of _.redirect)f({value:w,redirectTo:F})}for(let p of l){let d=a[p],y=this._unknownHandler(p,d,this._utils);if(y)for(let g of Object.keys(y)){let c={[g]:y[g]};g in this._utils.schemas?u.push(c):Object.assign(n,c)}}return u}};e.Normalizer=s}}),bm=te({"node_modules/vnopts/lib/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(cm(),e),r.__exportStar(dm(),e),r.__exportStar(Am(),e),r.__exportStar(xm(),e),r.__exportStar(Ft(),e)}}),Tm=te({"src/main/options-normalizer.js"(e,r){"use strict";ne();var t=bm(),s=lt(),a={key:g=>g.length===1?`-${g}`:`--${g}`,value:g=>t.apiDescriptor.value(g),pair:g=>{let{key:c,value:f}=g;return f===!1?`--no-${c}`:f===!0?a.key(c):f===""?`${a.key(c)} without an argument`:`${a.key(c)}=${f}`}},n=g=>{let{colorsModule:c,levenshteinDistance:f}=g;return class extends t.ChoiceSchema{constructor(_){let{name:w,flags:F}=_;super({name:w,choices:F}),this._flags=[...F].sort()}preprocess(_,w){if(typeof _=="string"&&_.length>0&&!this._flags.includes(_)){let F=this._flags.find(N=>f(N,_)<3);if(F)return w.logger.warn([`Unknown flag ${c.yellow(w.descriptor.value(_))},`,`did you mean ${c.blue(w.descriptor.value(F))}?`].join(" ")),F}return _}expected(){return"a flag"}}},u;function i(g,c){let{logger:f=!1,isCLI:E=!1,passThrough:_=!1,colorsModule:w=null,levenshteinDistance:F=null}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},N=_?Array.isArray(_)?(T,m)=>_.includes(T)?{[T]:m}:void 0:(T,m)=>({[T]:m}):(T,m,C)=>{let o=C.schemas,{_:h}=o,v=$n(o,cD);return t.levenUnknownHandler(T,m,Object.assign(Object.assign({},C),{},{schemas:v}))},x=E?a:t.apiDescriptor,I=l(c,{isCLI:E,colorsModule:w,levenshteinDistance:F}),P=new t.Normalizer(I,{logger:f,unknown:N,descriptor:x}),$=f!==!1;$&&u&&(P._hasDeprecationWarned=u);let D=P.normalize(g);return $&&(u=P._hasDeprecationWarned),E&&D["plugin-search"]===!1&&(D["plugin-search-dir"]=!1),D}function l(g,c){let{isCLI:f,colorsModule:E,levenshteinDistance:_}=c,w=[];f&&w.push(t.AnySchema.create({name:"_"}));for(let F of g)w.push(p(F,{isCLI:f,optionInfos:g,colorsModule:E,levenshteinDistance:_})),F.alias&&f&&w.push(t.AliasSchema.create({name:F.alias,sourceName:F.name}));return w}function p(g,c){let{isCLI:f,optionInfos:E,colorsModule:_,levenshteinDistance:w}=c,{name:F}=g;if(F==="plugin-search-dir"||F==="pluginSearchDirs")return t.AnySchema.create({name:F,preprocess(P){return P===!1||(P=Array.isArray(P)?P:[P]),P},validate(P){return P===!1?!0:P.every($=>typeof $=="string")},expected(){return"false or paths to plugin search dir"}});let N={name:F},x,I={};switch(g.type){case"int":x=t.IntegerSchema,f&&(N.preprocess=Number);break;case"string":x=t.StringSchema;break;case"choice":x=t.ChoiceSchema,N.choices=g.choices.map(P=>typeof P=="object"&&P.redirect?Object.assign(Object.assign({},P),{},{redirect:{to:{key:g.name,value:P.redirect}}}):P);break;case"boolean":x=t.BooleanSchema;break;case"flag":x=n({colorsModule:_,levenshteinDistance:w}),N.flags=E.flatMap(P=>[P.alias,P.description&&P.name,P.oppositeDescription&&`no-${P.name}`].filter(Boolean));break;case"path":x=t.StringSchema;break;default:throw new Error(`Unexpected type ${g.type}`)}if(g.exception?N.validate=(P,$,D)=>g.exception(P)||$.validate(P,D):N.validate=(P,$,D)=>P===void 0||$.validate(P,D),g.redirect&&(I.redirect=P=>P?{to:{key:g.redirect.option,value:g.redirect.value}}:void 0),g.deprecated&&(I.deprecated=!0),f&&!g.array){let P=N.preprocess||($=>$);N.preprocess=($,D,T)=>D.preprocess(P(Array.isArray($)?s($):$),T)}return g.array?t.ArraySchema.create(Object.assign(Object.assign(Object.assign({},f?{preprocess:P=>Array.isArray(P)?P:[P]}:{}),I),{},{valueSchema:x.create(N)})):x.create(Object.assign(Object.assign({},N),I))}function d(g,c,f){return i(g,c,f)}function y(g,c,f){return i(g,c,Object.assign({isCLI:!0},f))}r.exports={normalizeApiOptions:d,normalizeCliOptions:y}}}),ut=te({"src/language-js/loc.js"(e,r){"use strict";ne();var t=Jn();function s(l){var p,d;let y=l.range?l.range[0]:l.start,g=(p=(d=l.declaration)===null||d===void 0?void 0:d.decorators)!==null&&p!==void 0?p:l.decorators;return t(g)?Math.min(s(g[0]),y):y}function a(l){return l.range?l.range[1]:l.end}function n(l,p){let d=s(l);return Number.isInteger(d)&&d===s(p)}function u(l,p){let d=a(l);return Number.isInteger(d)&&d===a(p)}function i(l,p){return n(l,p)&&u(l,p)}r.exports={locStart:s,locEnd:a,hasSameLocStart:n,hasSameLoc:i}}}),Bm=te({"src/main/load-parser.js"(e,r){ne(),r.exports=()=>{}}}),Nm=te({"scripts/build/shims/babel-highlight.cjs"(e,r){"use strict";ne();var t=Pr(),s={shouldHighlight:()=>!1,getChalk:()=>t};r.exports=s}}),wm=te({"node_modules/@babel/code-frame/lib/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.codeFrameColumns=u,e.default=i;var r=Nm(),t=!1;function s(l){return{gutter:l.grey,marker:l.red.bold,message:l.red.bold}}var a=/\r\n|[\n\r\u2028\u2029]/;function n(l,p,d){let y=Object.assign({column:0,line:-1},l.start),g=Object.assign({},y,l.end),{linesAbove:c=2,linesBelow:f=3}=d||{},E=y.line,_=y.column,w=g.line,F=g.column,N=Math.max(E-(c+1),0),x=Math.min(p.length,w+f);E===-1&&(N=0),w===-1&&(x=p.length);let I=w-E,P={};if(I)for(let $=0;$<=I;$++){let D=$+E;if(!_)P[D]=!0;else if($===0){let T=p[D-1].length;P[D]=[_,T-_+1]}else if($===I)P[D]=[0,F];else{let T=p[D-$].length;P[D]=[0,T]}}else _===F?_?P[E]=[_,0]:P[E]=!0:P[E]=[_,F-_];return{start:N,end:x,markerLines:P}}function u(l,p){let d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},y=(d.highlightCode||d.forceColor)&&(0,r.shouldHighlight)(d),g=(0,r.getChalk)(d),c=s(g),f=($,D)=>y?$(D):D,E=l.split(a),{start:_,end:w,markerLines:F}=n(p,E,d),N=p.start&&typeof p.start.column=="number",x=String(w).length,P=(y?(0,r.default)(l,d):l).split(a,w).slice(_,w).map(($,D)=>{let T=_+1+D,C=` ${` ${T}`.slice(-x)} |`,o=F[T],h=!F[T+1];if(o){let v="";if(Array.isArray(o)){let S=$.slice(0,Math.max(o[0]-1,0)).replace(/[^\t]/g," "),b=o[1]||1;v=[` - `,f(c.gutter,C.replace(/\d/g," "))," ",S,f(c.marker,"^").repeat(b)].join(""),h&&d.message&&(v+=" "+f(c.message,d.message))}return[f(c.marker,">"),f(c.gutter,C),$.length>0?` ${$}`:"",v].join("")}else return` ${f(c.gutter,C)}${$.length>0?` ${$}`:""}`}).join(` -`);return d.message&&!N&&(P=`${" ".repeat(x+1)}${d.message} -${P}`),y?g.reset(P):P}function i(l,p,d){let y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(!t){t=!0;let c="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(Nt.emitWarning)Nt.emitWarning(c,"DeprecationWarning");else{let f=new Error(c);f.name="DeprecationWarning",console.warn(new Error(c))}}return d=Math.max(d,0),u(l,{start:{column:d,line:p}},y)}}}),Qn=te({"src/main/parser.js"(e,r){"use strict";ne();var{ConfigError:t}=Kt(),s=ut(),a=Bm(),{locStart:n,locEnd:u}=s,i=Object.getOwnPropertyNames,l=Object.getOwnPropertyDescriptor;function p(g){let c={};for(let f of g.plugins)if(f.parsers)for(let E of i(f.parsers))Object.defineProperty(c,E,l(f.parsers,E));return c}function d(g){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p(g);if(typeof g.parser=="function")return{parse:g.parser,astFormat:"estree",locStart:n,locEnd:u};if(typeof g.parser=="string"){if(Object.prototype.hasOwnProperty.call(c,g.parser))return c[g.parser];throw new t(`Couldn't resolve parser "${g.parser}". Parsers must be explicitly added to the standalone bundle.`)}}function y(g,c){let f=p(c),E=Object.defineProperties({},Object.fromEntries(Object.keys(f).map(w=>[w,{enumerable:!0,get(){return f[w].parse}}]))),_=d(c,f);try{return _.preprocess&&(g=_.preprocess(g,c)),{text:g,ast:_.parse(g,E,c)}}catch(w){let{loc:F}=w;if(F){let{codeFrameColumns:N}=wm();throw w.codeFrame=N(g,F,{highlightCode:!0}),w.message+=` -`+w.codeFrame,w}throw w}}r.exports={parse:y,resolveParser:d}}}),Ka=te({"src/main/options.js"(e,r){"use strict";ne();var t=HD(),{UndefinedParserError:s}=Kt(),{getSupportInfo:a}=Un(),n=Tm(),{resolveParser:u}=Qn(),i={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};function l(y){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=Object.assign({},y),f=a({plugins:y.plugins,showUnreleased:!0,showDeprecated:!0}).options,E=Object.assign(Object.assign({},i),Object.fromEntries(f.filter(x=>x.default!==void 0).map(x=>[x.name,x.default])));if(!c.parser){if(!c.filepath)(g.logger||console).warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."),c.parser="babel";else if(c.parser=d(c.filepath,c.plugins),!c.parser)throw new s(`No parser could be inferred for file: ${c.filepath}`)}let _=u(n.normalizeApiOptions(c,[f.find(x=>x.name==="parser")],{passThrough:!0,logger:!1}));c.astFormat=_.astFormat,c.locEnd=_.locEnd,c.locStart=_.locStart;let w=p(c);c.printer=w.printers[c.astFormat];let F=Object.fromEntries(f.filter(x=>x.pluginDefaults&&x.pluginDefaults[w.name]!==void 0).map(x=>[x.name,x.pluginDefaults[w.name]])),N=Object.assign(Object.assign({},E),F);for(let[x,I]of Object.entries(N))(c[x]===null||c[x]===void 0)&&(c[x]=I);return c.parser==="json"&&(c.trailingComma="none"),n.normalizeApiOptions(c,f,Object.assign({passThrough:Object.keys(i)},g))}function p(y){let{astFormat:g}=y;if(!g)throw new Error("getPlugin() requires astFormat to be set");let c=y.plugins.find(f=>f.printers&&f.printers[g]);if(!c)throw new Error(`Couldn't find plugin for AST format "${g}"`);return c}function d(y,g){let c=t.basename(y).toLowerCase(),E=a({plugins:g}).languages.filter(_=>_.since!==null).find(_=>_.extensions&&_.extensions.some(w=>c.endsWith(w))||_.filenames&&_.filenames.some(w=>w.toLowerCase()===c));return E&&E.parsers[0]}r.exports={normalize:l,hiddenDefaults:i,inferParser:d}}}),_m=te({"src/main/massage-ast.js"(e,r){"use strict";ne();function t(s,a,n){if(Array.isArray(s))return s.map(p=>t(p,a,n)).filter(Boolean);if(!s||typeof s!="object")return s;let u=a.printer.massageAstNode,i;u&&u.ignoredProperties?i=u.ignoredProperties:i=new Set;let l={};for(let[p,d]of Object.entries(s))!i.has(p)&&typeof d!="function"&&(l[p]=t(d,a,s));if(u){let p=u(s,l,n);if(p===null)return;if(p)return p}return l}r.exports=t}}),Yt=te({"scripts/build/shims/assert.cjs"(e,r){"use strict";ne();var t=()=>{};t.ok=t,t.strictEqual=t,r.exports=t}}),et=te({"src/main/comments.js"(e,r){"use strict";ne();var t=Yt(),{builders:{line:s,hardline:a,breakParent:n,indent:u,lineSuffix:i,join:l,cursor:p}}=qe(),{hasNewline:d,skipNewline:y,skipSpaces:g,isPreviousLineEmpty:c,addLeadingComment:f,addDanglingComment:E,addTrailingComment:_}=Ue(),w=new WeakMap;function F(k,M,R){if(!k)return;let{printer:q,locStart:J,locEnd:L}=M;if(R){if(q.canAttachComment&&q.canAttachComment(k)){let V;for(V=R.length-1;V>=0&&!(J(R[V])<=J(k)&&L(R[V])<=L(k));--V);R.splice(V+1,0,k);return}}else if(w.has(k))return w.get(k);let Q=q.getCommentChildNodes&&q.getCommentChildNodes(k,M)||typeof k=="object"&&Object.entries(k).filter(V=>{let[j]=V;return j!=="enclosingNode"&&j!=="precedingNode"&&j!=="followingNode"&&j!=="tokens"&&j!=="comments"&&j!=="parent"}).map(V=>{let[,j]=V;return j});if(Q){R||(R=[],w.set(k,R));for(let V of Q)F(V,M,R);return R}}function N(k,M,R,q){let{locStart:J,locEnd:L}=R,Q=J(M),V=L(M),j=F(k,R),Y,ie,ee=0,ce=j.length;for(;ee>1,K=j[W],de=J(K),ue=L(K);if(de<=Q&&V<=ue)return N(K,M,R,K);if(ue<=Q){Y=K,ee=W+1;continue}if(V<=de){ie=K,ce=W;continue}throw new Error("Comment location overlaps with node location")}if(q&&q.type==="TemplateLiteral"){let{quasis:W}=q,K=C(W,M,R);Y&&C(W,Y,R)!==K&&(Y=null),ie&&C(W,ie,R)!==K&&(ie=null)}return{enclosingNode:q,precedingNode:Y,followingNode:ie}}var x=()=>!1;function I(k,M,R,q){if(!Array.isArray(k))return;let J=[],{locStart:L,locEnd:Q,printer:{handleComments:V={}}}=q,{avoidAstMutation:j,ownLine:Y=x,endOfLine:ie=x,remaining:ee=x}=V,ce=k.map((W,K)=>Object.assign(Object.assign({},N(M,W,q)),{},{comment:W,text:R,options:q,ast:M,isLastComment:k.length-1===K}));for(let[W,K]of ce.entries()){let{comment:de,precedingNode:ue,enclosingNode:Fe,followingNode:z,text:U,options:Z,ast:se,isLastComment:fe}=K;if(Z.parser==="json"||Z.parser==="json5"||Z.parser==="__js_expression"||Z.parser==="__vue_expression"||Z.parser==="__vue_ts_expression"){if(L(de)-L(se)<=0){f(se,de);continue}if(Q(de)-Q(se)>=0){_(se,de);continue}}let ge;if(j?ge=[K]:(de.enclosingNode=Fe,de.precedingNode=ue,de.followingNode=z,ge=[de,U,Z,se,fe]),$(U,Z,ce,W))de.placement="ownLine",Y(...ge)||(z?f(z,de):ue?_(ue,de):E(Fe||se,de));else if(D(U,Z,ce,W))de.placement="endOfLine",ie(...ge)||(ue?_(ue,de):z?f(z,de):E(Fe||se,de));else if(de.placement="remaining",!ee(...ge))if(ue&&z){let he=J.length;he>0&&J[he-1].followingNode!==z&&T(J,U,Z),J.push(K)}else ue?_(ue,de):z?f(z,de):E(Fe||se,de)}if(T(J,R,q),!j)for(let W of k)delete W.precedingNode,delete W.enclosingNode,delete W.followingNode}var P=k=>!/[\S\n\u2028\u2029]/.test(k);function $(k,M,R,q){let{comment:J,precedingNode:L}=R[q],{locStart:Q,locEnd:V}=M,j=Q(J);if(L)for(let Y=q-1;Y>=0;Y--){let{comment:ie,precedingNode:ee}=R[Y];if(ee!==L||!P(k.slice(V(ie),j)))break;j=Q(ie)}return d(k,j,{backwards:!0})}function D(k,M,R,q){let{comment:J,followingNode:L}=R[q],{locStart:Q,locEnd:V}=M,j=V(J);if(L)for(let Y=q+1;Y0;--Y){let{comment:ie,precedingNode:ee,followingNode:ce}=k[Y-1];t.strictEqual(ee,J),t.strictEqual(ce,L);let W=M.slice(R.locEnd(ie),j);if(V.test(W))j=R.locStart(ie);else break}for(let[ie,{comment:ee}]of k.entries())ie1&&ie.comments.sort((ee,ce)=>R.locStart(ee)-R.locStart(ce));k.length=0}function m(k,M){let R=k.getValue();return R.printed=!0,M.printer.printComment(k,M)}function C(k,M,R){let q=R.locStart(M)-1;for(let J=1;J{let Q=k.getValue();!Q.leading&&!Q.trailing&&(!q||q(Q))&&J.push(m(k,M))},"comments"),J.length===0)?"":R?l(a,J):u([a,l(a,J)])}function S(k,M,R){let q=k.getValue();if(!q)return{};let J=q.comments||[];R&&(J=J.filter(j=>!R.has(j)));let L=q===M.cursorNode;if(J.length===0){let j=L?p:"";return{leading:j,trailing:j}}let Q=[],V=[];return k.each(()=>{let j=k.getValue();if(R&&R.has(j))return;let{leading:Y,trailing:ie}=j;Y?Q.push(o(k,M)):ie&&V.push(h(k,M))},"comments"),L&&(Q.unshift(p),V.push(p)),{leading:Q,trailing:V}}function b(k,M,R,q){let{leading:J,trailing:L}=S(k,R,q);return!J&&!L?M:[J,M,L]}function B(k){if(k)for(let M of k){if(!M.printed)throw new Error('Comment "'+M.value.trim()+'" was not printed. Please report this error!');delete M.printed}}r.exports={attach:I,printComments:b,printCommentsSeparately:S,printDanglingComments:v,getSortedChildNodes:F,ensureAllCommentsPrinted:B}}}),Pm=te({"src/common/ast-path.js"(e,r){"use strict";ne();var t=lt();function s(u,i){let l=a(u.stack,i);return l===-1?null:u.stack[l]}function a(u,i){for(let l=u.length-1;l>=0;l-=2){let p=u[l];if(p&&!Array.isArray(p)&&--i<0)return l}return-1}var n=class{constructor(u){this.stack=[u]}getName(){let{stack:u}=this,{length:i}=u;return i>1?u[i-2]:null}getValue(){return t(this.stack)}getNode(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return s(this,u)}getParentNode(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return s(this,u+1)}call(u){let{stack:i}=this,{length:l}=i,p=t(i);for(var d=arguments.length,y=new Array(d>1?d-1:0),g=1;g1&&arguments[1]!==void 0?arguments[1]:0,l=a(this.stack,i+1),p=this.stack.splice(l+1),d=u(this);return this.stack.push(...p),d}each(u){let{stack:i}=this,{length:l}=i,p=t(i);for(var d=arguments.length,y=new Array(d>1?d-1:0),g=1;g1?l-1:0),d=1;d{i[g]=u(y,g,c)},...p),i}try(u){let{stack:i}=this,l=[...i];try{return u()}finally{i.length=0,i.push(...l)}}match(){let u=this.stack.length-1,i=null,l=this.stack[u--];for(var p=arguments.length,d=new Array(p),y=0;yu(y,g,p,d,c),p)}function u(i,l,p,d){let{stripTrailingHardline:y=!1}=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{},g=s(Object.assign(Object.assign(Object.assign({},p),l),{},{parentParser:p.parser,originalText:i}),{passThrough:!0}),c=Qn().parse(i,g),{ast:f}=c;i=c.text;let E=f.comments;delete f.comments,a.attach(E,f,i,g),g[Symbol.for("comments")]=E||[],g[Symbol.for("tokens")]=f.tokens||[];let _=d(f,g);return a.ensureAllCommentsPrinted(E),y?typeof _=="string"?_.replace(/(?:\r?\n)*$/,""):t(_):_}r.exports={printSubtree:n}}}),km=te({"src/main/ast-to-doc.js"(e,r){"use strict";ne();var t=Pm(),{builders:{hardline:s,addAlignmentToDoc:a},utils:{propagateBreaks:n}}=qe(),{printComments:u}=et(),i=Im();function l(y,g){let c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,{printer:f}=g;f.preprocess&&(y=f.preprocess(y,g));let E=new Map,_=new t(y),w=F();return c>0&&(w=a([s,w],c,g.tabWidth)),n(w),w;function F(x,I){return x===void 0||x===_?N(I):Array.isArray(x)?_.call(()=>N(I),...x):_.call(()=>N(I),x)}function N(x){let I=_.getValue(),P=I&&typeof I=="object"&&x===void 0;if(P&&E.has(I))return E.get(I);let $=d(_,g,F,x);return P&&E.set(I,$),$}}function p(y,g){let{originalText:c,[Symbol.for("comments")]:f,locStart:E,locEnd:_}=g,w=E(y),F=_(y),N=new Set;for(let x of f)E(x)>=w&&_(x)<=F&&(x.printed=!0,N.add(x));return{doc:c.slice(w,F),printedComments:N}}function d(y,g,c,f){let E=y.getValue(),{printer:_}=g,w,F;if(_.hasPrettierIgnore&&_.hasPrettierIgnore(y))({doc:w,printedComments:F}=p(E,g));else{if(E)try{w=i.printSubtree(y,c,g,l)}catch(N){if(globalThis.PRETTIER_DEBUG)throw N}w||(w=_.print(y,g,c,f))}return(!_.willPrintOwnComments||!_.willPrintOwnComments(y,g))&&(w=u(y,w,g,F)),w}r.exports=l}}),Lm=te({"src/main/range-util.js"(e,r){"use strict";ne();var t=Yt(),s=et(),a=f=>{let{parser:E}=f;return E==="json"||E==="json5"||E==="json-stringify"};function n(f,E){let _=[f.node,...f.parentNodes],w=new Set([E.node,...E.parentNodes]);return _.find(F=>d.has(F.type)&&w.has(F))}function u(f){let E=f.length-1;for(;;){let _=f[E];if(_&&(_.type==="Program"||_.type==="File"))E--;else break}return f.slice(0,E+1)}function i(f,E,_){let{locStart:w,locEnd:F}=_,N=f.node,x=E.node;if(N===x)return{startNode:N,endNode:x};let I=w(f.node);for(let $ of u(E.parentNodes))if(w($)>=I)x=$;else break;let P=F(E.node);for(let $ of u(f.parentNodes)){if(F($)<=P)N=$;else break;if(N===x)break}return{startNode:N,endNode:x}}function l(f,E,_,w){let F=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],N=arguments.length>5?arguments[5]:void 0,{locStart:x,locEnd:I}=_,P=x(f),$=I(f);if(!(E>$||Ew);let I=f.slice(w,F).search(/\S/),P=I===-1;if(!P)for(w+=I;F>w&&!/\S/.test(f[F-1]);--F);let $=l(_,w,E,(C,o)=>g(E,C,o),[],"rangeStart"),D=P?$:l(_,F,E,C=>g(E,C),[],"rangeEnd");if(!$||!D)return{rangeStart:0,rangeEnd:0};let T,m;if(a(E)){let C=n($,D);T=C,m=C}else({startNode:T,endNode:m}=i($,D,E));return{rangeStart:Math.min(N(T),N(m)),rangeEnd:Math.max(x(T),x(m))}}r.exports={calculateRange:c,findNodeAtOffset:l}}}),Om=te({"src/main/core.js"(e,r){"use strict";ne();var{diffArrays:t}=vD(),{printer:{printDocToString:s},debug:{printDocToDebug:a}}=qe(),{getAlignmentSize:n}=Ue(),{guessEndOfLine:u,convertEndOfLineToChars:i,countEndOfLineChars:l,normalizeEndOfLine:p}=Hn(),d=Ka().normalize,y=_m(),g=et(),c=Qn(),f=km(),E=Lm(),_="\uFEFF",w=Symbol("cursor");function F(m,C,o){let h=C.comments;return h&&(delete C.comments,g.attach(h,C,m,o)),o[Symbol.for("comments")]=h||[],o[Symbol.for("tokens")]=C.tokens||[],o.originalText=m,h}function N(m,C){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(!m||m.trim().length===0)return{formatted:"",cursorOffset:-1,comments:[]};let{ast:h,text:v}=c.parse(m,C);if(C.cursorOffset>=0){let k=E.findNodeAtOffset(h,C.cursorOffset,C);k&&k.node&&(C.cursorNode=k.node)}let S=F(v,h,C),b=f(h,C,o),B=s(b,C);if(g.ensureAllCommentsPrinted(S),o>0){let k=B.formatted.trim();B.cursorNodeStart!==void 0&&(B.cursorNodeStart-=B.formatted.indexOf(k)),B.formatted=k+i(C.endOfLine)}if(C.cursorOffset>=0){let k,M,R,q,J;if(C.cursorNode&&B.cursorNodeText?(k=C.locStart(C.cursorNode),M=v.slice(k,C.locEnd(C.cursorNode)),R=C.cursorOffset-k,q=B.cursorNodeStart,J=B.cursorNodeText):(k=0,M=v,R=C.cursorOffset,q=0,J=B.formatted),M===J)return{formatted:B.formatted,cursorOffset:q+R,comments:S};let L=[...M];L.splice(R,0,w);let Q=[...J],V=t(L,Q),j=q;for(let Y of V)if(Y.removed){if(Y.value.includes(w))break}else j+=Y.count;return{formatted:B.formatted,cursorOffset:j,comments:S}}return{formatted:B.formatted,cursorOffset:-1,comments:S}}function x(m,C){let{ast:o,text:h}=c.parse(m,C),{rangeStart:v,rangeEnd:S}=E.calculateRange(h,C,o),b=h.slice(v,S),B=Math.min(v,h.lastIndexOf(` -`,v)+1),k=h.slice(B,v).match(/^\s*/)[0],M=n(k,C.tabWidth),R=N(b,Object.assign(Object.assign({},C),{},{rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:C.cursorOffset>v&&C.cursorOffset<=S?C.cursorOffset-v:-1,endOfLine:"lf"}),M),q=R.formatted.trimEnd(),{cursorOffset:J}=C;J>S?J+=q.length-b.length:R.cursorOffset>=0&&(J=R.cursorOffset+v);let L=h.slice(0,v)+q+h.slice(S);if(C.endOfLine!=="lf"){let Q=i(C.endOfLine);J>=0&&Q===`\r -`&&(J+=l(L.slice(0,J),` -`)),L=L.replace(/\n/g,Q)}return{formatted:L,cursorOffset:J,comments:R.comments}}function I(m,C,o){return typeof C!="number"||Number.isNaN(C)||C<0||C>m.length?o:C}function P(m,C){let{cursorOffset:o,rangeStart:h,rangeEnd:v}=C;return o=I(m,o,-1),h=I(m,h,0),v=I(m,v,m.length),Object.assign(Object.assign({},C),{},{cursorOffset:o,rangeStart:h,rangeEnd:v})}function $(m,C){let{cursorOffset:o,rangeStart:h,rangeEnd:v,endOfLine:S}=P(m,C),b=m.charAt(0)===_;if(b&&(m=m.slice(1),o--,h--,v--),S==="auto"&&(S=u(m)),m.includes("\r")){let B=k=>l(m.slice(0,Math.max(k,0)),`\r -`);o-=B(o),h-=B(h),v-=B(v),m=p(m)}return{hasBOM:b,text:m,options:P(m,Object.assign(Object.assign({},C),{},{cursorOffset:o,rangeStart:h,rangeEnd:v,endOfLine:S}))}}function D(m,C){let o=c.resolveParser(C);return!o.hasPragma||o.hasPragma(m)}function T(m,C){let{hasBOM:o,text:h,options:v}=$(m,d(C));if(v.rangeStart>=v.rangeEnd&&h!==""||v.requirePragma&&!D(h,v))return{formatted:m,cursorOffset:C.cursorOffset,comments:[]};let S;return v.rangeStart>0||v.rangeEnd=0&&S.cursorOffset++),S}r.exports={formatWithCursor:T,parse(m,C,o){let{text:h,options:v}=$(m,d(C)),S=c.parse(h,v);return o&&(S.ast=y(S.ast,v)),S},formatAST(m,C){C=d(C);let o=f(m,C);return s(o,C)},formatDoc(m,C){return T(a(m),Object.assign(Object.assign({},C),{},{parser:"__js_expression"})).formatted},printToDoc(m,C){C=d(C);let{ast:o,text:h}=c.parse(m,C);return F(h,o,C),f(o,C)},printDocToString(m,C){return s(m,d(C))}}}}),jm=te({"src/common/util-shared.js"(e,r){"use strict";ne();var{getMaxContinuousCount:t,getStringWidth:s,getAlignmentSize:a,getIndentSize:n,skip:u,skipWhitespace:i,skipSpaces:l,skipNewline:p,skipToLineEnd:d,skipEverythingButNewLine:y,skipInlineComment:g,skipTrailingComment:c,hasNewline:f,hasNewlineInRange:E,hasSpaces:_,isNextLineEmpty:w,isNextLineEmptyAfterIndex:F,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:I,addLeadingComment:P,addDanglingComment:$,addTrailingComment:D}=Ue();r.exports={getMaxContinuousCount:t,getStringWidth:s,getAlignmentSize:a,getIndentSize:n,skip:u,skipWhitespace:i,skipSpaces:l,skipNewline:p,skipToLineEnd:d,skipEverythingButNewLine:y,skipInlineComment:g,skipTrailingComment:c,hasNewline:f,hasNewlineInRange:E,hasSpaces:_,isNextLineEmpty:w,isNextLineEmptyAfterIndex:F,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:I,addLeadingComment:P,addDanglingComment:$,addTrailingComment:D}}}),wt=te({"src/utils/create-language.js"(e,r){"use strict";ne(),r.exports=function(t,s){let{languageId:a}=t,n=$n(t,pD);return Object.assign(Object.assign({linguistLanguageId:a},n),s(t))}}}),qm=te({"node_modules/esutils/lib/ast.js"(e,r){ne(),function(){"use strict";function t(l){if(l==null)return!1;switch(l.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1}function s(l){if(l==null)return!1;switch(l.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function a(l){if(l==null)return!1;switch(l.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function n(l){return a(l)||l!=null&&l.type==="FunctionDeclaration"}function u(l){switch(l.type){case"IfStatement":return l.alternate!=null?l.alternate:l.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return l.body}return null}function i(l){var p;if(l.type!=="IfStatement"||l.alternate==null)return!1;p=l.consequent;do{if(p.type==="IfStatement"&&p.alternate==null)return!0;p=u(p)}while(p);return!1}r.exports={isExpression:t,isStatement:a,isIterationStatement:s,isSourceElement:n,isProblematicIfStatement:i,trailingStatement:u}}()}}),Ya=te({"node_modules/esutils/lib/code.js"(e,r){ne(),function(){"use strict";var t,s,a,n,u,i;s={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};function l(F){return 48<=F&&F<=57}function p(F){return 48<=F&&F<=57||97<=F&&F<=102||65<=F&&F<=70}function d(F){return F>=48&&F<=55}a=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function y(F){return F===32||F===9||F===11||F===12||F===160||F>=5760&&a.indexOf(F)>=0}function g(F){return F===10||F===13||F===8232||F===8233}function c(F){if(F<=65535)return String.fromCharCode(F);var N=String.fromCharCode(Math.floor((F-65536)/1024)+55296),x=String.fromCharCode((F-65536)%1024+56320);return N+x}for(n=new Array(128),i=0;i<128;++i)n[i]=i>=97&&i<=122||i>=65&&i<=90||i===36||i===95;for(u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||i===36||i===95;function f(F){return F<128?n[F]:s.NonAsciiIdentifierStart.test(c(F))}function E(F){return F<128?u[F]:s.NonAsciiIdentifierPart.test(c(F))}function _(F){return F<128?n[F]:t.NonAsciiIdentifierStart.test(c(F))}function w(F){return F<128?u[F]:t.NonAsciiIdentifierPart.test(c(F))}r.exports={isDecimalDigit:l,isHexDigit:p,isOctalDigit:d,isWhiteSpace:y,isLineTerminator:g,isIdentifierStartES5:f,isIdentifierPartES5:E,isIdentifierStartES6:_,isIdentifierPartES6:w}}()}}),Mm=te({"node_modules/esutils/lib/keyword.js"(e,r){ne(),function(){"use strict";var t=Ya();function s(f){switch(f){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function a(f,E){return!E&&f==="yield"?!1:n(f,E)}function n(f,E){if(E&&s(f))return!0;switch(f.length){case 2:return f==="if"||f==="in"||f==="do";case 3:return f==="var"||f==="for"||f==="new"||f==="try";case 4:return f==="this"||f==="else"||f==="case"||f==="void"||f==="with"||f==="enum";case 5:return f==="while"||f==="break"||f==="catch"||f==="throw"||f==="const"||f==="yield"||f==="class"||f==="super";case 6:return f==="return"||f==="typeof"||f==="delete"||f==="switch"||f==="export"||f==="import";case 7:return f==="default"||f==="finally"||f==="extends";case 8:return f==="function"||f==="continue"||f==="debugger";case 10:return f==="instanceof";default:return!1}}function u(f,E){return f==="null"||f==="true"||f==="false"||a(f,E)}function i(f,E){return f==="null"||f==="true"||f==="false"||n(f,E)}function l(f){return f==="eval"||f==="arguments"}function p(f){var E,_,w;if(f.length===0||(w=f.charCodeAt(0),!t.isIdentifierStartES5(w)))return!1;for(E=1,_=f.length;E<_;++E)if(w=f.charCodeAt(E),!t.isIdentifierPartES5(w))return!1;return!0}function d(f,E){return(f-55296)*1024+(E-56320)+65536}function y(f){var E,_,w,F,N;if(f.length===0)return!1;for(N=t.isIdentifierStartES6,E=0,_=f.length;E<_;++E){if(w=f.charCodeAt(E),55296<=w&&w<=56319){if(++E,E>=_||(F=f.charCodeAt(E),!(56320<=F&&F<=57343)))return!1;w=d(w,F)}if(!N(w))return!1;N=t.isIdentifierPartES6}return!0}function g(f,E){return p(f)&&!u(f,E)}function c(f,E){return y(f)&&!i(f,E)}r.exports={isKeywordES5:a,isKeywordES6:n,isReservedWordES5:u,isReservedWordES6:i,isRestrictedWord:l,isIdentifierNameES5:p,isIdentifierNameES6:y,isIdentifierES5:g,isIdentifierES6:c}}()}}),Rm=te({"node_modules/esutils/lib/utils.js"(e){ne(),function(){"use strict";e.ast=qm(),e.code=Ya(),e.keyword=Mm()}()}}),_t=te({"src/language-js/utils/is-block-comment.js"(e,r){"use strict";ne();var t=new Set(["Block","CommentBlock","MultiLine"]),s=a=>t.has(a==null?void 0:a.type);r.exports=s}}),$m=te({"src/language-js/utils/is-node-matches.js"(e,r){"use strict";ne();function t(a,n){let u=n.split(".");for(let i=u.length-1;i>=0;i--){let l=u[i];if(i===0)return a.type==="Identifier"&&a.name===l;if(a.type!=="MemberExpression"||a.optional||a.computed||a.property.type!=="Identifier"||a.property.name!==l)return!1;a=a.object}}function s(a,n){return n.some(u=>t(a,u))}r.exports=s}}),Ke=te({"src/language-js/utils/index.js"(e,r){"use strict";ne();var t=Rm().keyword.isIdentifierNameES5,{getLast:s,hasNewline:a,skipWhitespace:n,isNonEmptyArray:u,isNextLineEmptyAfterIndex:i,getStringWidth:l}=Ue(),{locStart:p,locEnd:d,hasSameLocStart:y}=ut(),g=_t(),c=$m(),f="(?:(?=.)\\s)",E=new RegExp(`^${f}*:`),_=new RegExp(`^${f}*::`);function w(O){var me,_e;return((me=O.extra)===null||me===void 0?void 0:me.parenthesized)&&g((_e=O.trailingComments)===null||_e===void 0?void 0:_e[0])&&E.test(O.trailingComments[0].value)}function F(O){let me=O==null?void 0:O[0];return g(me)&&_.test(me.value)}function N(O,me){if(!O||typeof O!="object")return!1;if(Array.isArray(O))return O.some(He=>N(He,me));let _e=me(O);return typeof _e=="boolean"?_e:Object.values(O).some(He=>N(He,me))}function x(O){return O.type==="AssignmentExpression"||O.type==="BinaryExpression"||O.type==="LogicalExpression"||O.type==="NGPipeExpression"||O.type==="ConditionalExpression"||de(O)||ue(O)||O.type==="SequenceExpression"||O.type==="TaggedTemplateExpression"||O.type==="BindExpression"||O.type==="UpdateExpression"&&!O.prefix||st(O)||O.type==="TSNonNullExpression"}function I(O){var me,_e,He,Ge,it,Qe;return O.expressions?O.expressions[0]:(me=(_e=(He=(Ge=(it=(Qe=O.left)!==null&&Qe!==void 0?Qe:O.test)!==null&&it!==void 0?it:O.callee)!==null&&Ge!==void 0?Ge:O.object)!==null&&He!==void 0?He:O.tag)!==null&&_e!==void 0?_e:O.argument)!==null&&me!==void 0?me:O.expression}function P(O,me){if(me.expressions)return["expressions",0];if(me.left)return["left"];if(me.test)return["test"];if(me.object)return["object"];if(me.callee)return["callee"];if(me.tag)return["tag"];if(me.argument)return["argument"];if(me.expression)return["expression"];throw new Error("Unexpected node has no left side.")}function $(O){return O=new Set(O),me=>O.has(me==null?void 0:me.type)}var D=$(["Line","CommentLine","SingleLine","HashbangComment","HTMLOpen","HTMLClose"]),T=$(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function m(O){let me=O.getParentNode();return O.getName()==="declaration"&&T(me)?me:null}var C=$(["BooleanLiteral","DirectiveLiteral","Literal","NullLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","RegExpLiteral","StringLiteral","TemplateLiteral","TSTypeLiteral","JSXText"]);function o(O){return O.type==="NumericLiteral"||O.type==="Literal"&&typeof O.value=="number"}function h(O){return O.type==="UnaryExpression"&&(O.operator==="+"||O.operator==="-")&&o(O.argument)}function v(O){return O.type==="StringLiteral"||O.type==="Literal"&&typeof O.value=="string"}var S=$(["ObjectTypeAnnotation","TSTypeLiteral","TSMappedType"]),b=$(["FunctionExpression","ArrowFunctionExpression"]);function B(O){return O.type==="FunctionExpression"||O.type==="ArrowFunctionExpression"&&O.body.type==="BlockStatement"}function k(O){return de(O)&&O.callee.type==="Identifier"&&["async","inject","fakeAsync","waitForAsync"].includes(O.callee.name)}var M=$(["JSXElement","JSXFragment"]);function R(O,me){if(O.parentParser!=="markdown"&&O.parentParser!=="mdx")return!1;let _e=me.getNode();if(!_e.expression||!M(_e.expression))return!1;let He=me.getParentNode();return He.type==="Program"&&He.body.length===1}function q(O){return O.kind==="get"||O.kind==="set"}function J(O){return q(O)||y(O,O.value)}function L(O){return(O.type==="ObjectTypeProperty"||O.type==="ObjectTypeInternalSlot")&&O.value.type==="FunctionTypeAnnotation"&&!O.static&&!J(O)}function Q(O){return(O.type==="TypeAnnotation"||O.type==="TSTypeAnnotation")&&O.typeAnnotation.type==="FunctionTypeAnnotation"&&!O.static&&!y(O,O.typeAnnotation)}var V=$(["BinaryExpression","LogicalExpression","NGPipeExpression"]);function j(O){return ue(O)||O.type==="BindExpression"&&Boolean(O.object)}var Y=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);function ie(O){return O?!!((O.type==="GenericTypeAnnotation"||O.type==="TSTypeReference")&&!O.typeParameters||Y.has(O.type)):!1}function ee(O){let me=/^(?:before|after)(?:Each|All)$/;return O.callee.type==="Identifier"&&me.test(O.callee.name)&&O.arguments.length===1}var ce=["it","it.only","it.skip","describe","describe.only","describe.skip","test","test.only","test.skip","test.step","test.describe","test.describe.only","test.describe.parallel","test.describe.parallel.only","test.describe.serial","test.describe.serial.only","skip","xit","xdescribe","xtest","fit","fdescribe","ftest"];function W(O){return c(O,ce)}function K(O,me){if(O.type!=="CallExpression")return!1;if(O.arguments.length===1){if(k(O)&&me&&K(me))return b(O.arguments[0]);if(ee(O))return k(O.arguments[0])}else if((O.arguments.length===2||O.arguments.length===3)&&(O.arguments[0].type==="TemplateLiteral"||v(O.arguments[0]))&&W(O.callee))return O.arguments[2]&&!o(O.arguments[2])?!1:(O.arguments.length===2?b(O.arguments[1]):B(O.arguments[1])&&ve(O.arguments[1]).length<=1)||k(O.arguments[1]);return!1}var de=$(["CallExpression","OptionalCallExpression"]),ue=$(["MemberExpression","OptionalMemberExpression"]);function Fe(O){let me="expressions";O.type==="TSTemplateLiteralType"&&(me="types");let _e=O[me];return _e.length===0?!1:_e.every(He=>{if(Me(He))return!1;if(He.type==="Identifier"||He.type==="ThisExpression")return!0;if(ue(He)){let Ge=He;for(;ue(Ge);)if(Ge.property.type!=="Identifier"&&Ge.property.type!=="Literal"&&Ge.property.type!=="StringLiteral"&&Ge.property.type!=="NumericLiteral"||(Ge=Ge.object,Me(Ge)))return!1;return Ge.type==="Identifier"||Ge.type==="ThisExpression"}return!1})}function z(O,me){return O==="+"||O==="-"?O+me:me}function U(O,me){let _e=p(me),He=n(O,d(me));return He!==!1&&O.slice(_e,_e+2)==="/*"&&O.slice(He,He+2)==="*/"}function Z(O,me){return M(me)?Oe(me):Me(me,be.Leading,_e=>a(O,d(_e)))}function se(O,me){return me.parser!=="json"&&v(O.key)&&oe(O.key).slice(1,-1)===O.key.value&&(t(O.key.value)&&!(me.parser==="babel-ts"&&O.type==="ClassProperty"||me.parser==="typescript"&&O.type==="PropertyDefinition")||fe(O.key.value)&&String(Number(O.key.value))===O.key.value&&(me.parser==="babel"||me.parser==="acorn"||me.parser==="espree"||me.parser==="meriyah"||me.parser==="__babel_estree"))}function fe(O){return/^(?:\d+|\d+\.\d+)$/.test(O)}function ge(O,me){let _e=/^[fx]?(?:describe|it|test)$/;return me.type==="TaggedTemplateExpression"&&me.quasi===O&&me.tag.type==="MemberExpression"&&me.tag.property.type==="Identifier"&&me.tag.property.name==="each"&&(me.tag.object.type==="Identifier"&&_e.test(me.tag.object.name)||me.tag.object.type==="MemberExpression"&&me.tag.object.property.type==="Identifier"&&(me.tag.object.property.name==="only"||me.tag.object.property.name==="skip")&&me.tag.object.object.type==="Identifier"&&_e.test(me.tag.object.object.name))}function he(O){return O.quasis.some(me=>me.value.raw.includes(` -`))}function we(O,me){return(O.type==="TemplateLiteral"&&he(O)||O.type==="TaggedTemplateExpression"&&he(O.quasi))&&!a(me,p(O),{backwards:!0})}function ke(O){if(!Me(O))return!1;let me=s(ae(O,be.Dangling));return me&&!g(me)}function Re(O){if(O.length<=1)return!1;let me=0;for(let _e of O)if(b(_e)){if(me+=1,me>1)return!0}else if(de(_e)){for(let He of _e.arguments)if(b(He))return!0}return!1}function Ne(O){let me=O.getValue(),_e=O.getParentNode();return de(me)&&de(_e)&&_e.callee===me&&me.arguments.length>_e.arguments.length&&_e.arguments.length>0}function Pe(O,me){if(me>=2)return!1;let _e=Qe=>Pe(Qe,me+1),He=O.type==="Literal"&&"regex"in O&&O.regex.pattern||O.type==="RegExpLiteral"&&O.pattern;if(He&&l(He)>5)return!1;if(O.type==="Literal"||O.type==="BigIntLiteral"||O.type==="DecimalLiteral"||O.type==="BooleanLiteral"||O.type==="NullLiteral"||O.type==="NumericLiteral"||O.type==="RegExpLiteral"||O.type==="StringLiteral"||O.type==="Identifier"||O.type==="ThisExpression"||O.type==="Super"||O.type==="PrivateName"||O.type==="PrivateIdentifier"||O.type==="ArgumentPlaceholder"||O.type==="Import")return!0;if(O.type==="TemplateLiteral")return O.quasis.every(Qe=>!Qe.value.raw.includes(` -`))&&O.expressions.every(_e);if(O.type==="ObjectExpression")return O.properties.every(Qe=>!Qe.computed&&(Qe.shorthand||Qe.value&&_e(Qe.value)));if(O.type==="ArrayExpression")return O.elements.every(Qe=>Qe===null||_e(Qe));if(tt(O))return(O.type==="ImportExpression"||Pe(O.callee,me))&&Ye(O).every(_e);if(ue(O))return Pe(O.object,me)&&Pe(O.property,me);let Ge={"!":!0,"-":!0,"+":!0,"~":!0};if(O.type==="UnaryExpression"&&Ge[O.operator])return Pe(O.argument,me);let it={"++":!0,"--":!0};return O.type==="UpdateExpression"&&it[O.operator]?Pe(O.argument,me):O.type==="TSNonNullExpression"?Pe(O.expression,me):!1}function oe(O){var me,_e;return(me=(_e=O.extra)===null||_e===void 0?void 0:_e.raw)!==null&&me!==void 0?me:O.raw}function H(O){return O}function pe(O){return O.filepath&&/\.tsx$/i.test(O.filepath)}function X(O){let me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"es5";return O.trailingComma==="es5"&&me==="es5"||O.trailingComma==="all"&&(me==="all"||me==="es5")}function le(O,me){switch(O.type){case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":case"NGPipeExpression":return le(O.left,me);case"MemberExpression":case"OptionalMemberExpression":return le(O.object,me);case"TaggedTemplateExpression":return O.tag.type==="FunctionExpression"?!1:le(O.tag,me);case"CallExpression":case"OptionalCallExpression":return O.callee.type==="FunctionExpression"?!1:le(O.callee,me);case"ConditionalExpression":return le(O.test,me);case"UpdateExpression":return!O.prefix&&le(O.argument,me);case"BindExpression":return O.object&&le(O.object,me);case"SequenceExpression":return le(O.expressions[0],me);case"TSSatisfiesExpression":case"TSAsExpression":case"TSNonNullExpression":return le(O.expression,me);default:return me(O)}}var Ae={"==":!0,"!=":!0,"===":!0,"!==":!0},Ee={"*":!0,"/":!0,"%":!0},De={">>":!0,">>>":!0,"<<":!0};function A(O,me){return!(re(me)!==re(O)||O==="**"||Ae[O]&&Ae[me]||me==="%"&&Ee[O]||O==="%"&&Ee[me]||me!==O&&Ee[me]&&Ee[O]||De[O]&&De[me])}var G=new Map([["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].flatMap((O,me)=>O.map(_e=>[_e,me])));function re(O){return G.get(O)}function ye(O){return Boolean(De[O])||O==="|"||O==="^"||O==="&"}function Ce(O){var me;if(O.rest)return!0;let _e=ve(O);return((me=s(_e))===null||me===void 0?void 0:me.type)==="RestElement"}var Be=new WeakMap;function ve(O){if(Be.has(O))return Be.get(O);let me=[];return O.this&&me.push(O.this),Array.isArray(O.parameters)?me.push(...O.parameters):Array.isArray(O.params)&&me.push(...O.params),O.rest&&me.push(O.rest),Be.set(O,me),me}function ze(O,me){let _e=O.getValue(),He=0,Ge=it=>me(it,He++);_e.this&&O.call(Ge,"this"),Array.isArray(_e.parameters)?O.each(Ge,"parameters"):Array.isArray(_e.params)&&O.each(Ge,"params"),_e.rest&&O.call(Ge,"rest")}var xe=new WeakMap;function Ye(O){if(xe.has(O))return xe.get(O);let me=O.arguments;return O.type==="ImportExpression"&&(me=[O.source],O.attributes&&me.push(O.attributes)),xe.set(O,me),me}function Se(O,me){let _e=O.getValue();_e.type==="ImportExpression"?(O.call(He=>me(He,0),"source"),_e.attributes&&O.call(He=>me(He,1),"attributes")):O.each(me,"arguments")}function Ie(O){return O.value.trim()==="prettier-ignore"&&!O.unignore}function Oe(O){return O&&(O.prettierIgnore||Me(O,be.PrettierIgnore))}function Je(O){let me=O.getValue();return Oe(me)}var be={Leading:1<<1,Trailing:1<<2,Dangling:1<<3,Block:1<<4,Line:1<<5,PrettierIgnore:1<<6,First:1<<7,Last:1<<8},je=(O,me)=>{if(typeof O=="function"&&(me=O,O=0),O||me)return(_e,He,Ge)=>!(O&be.Leading&&!_e.leading||O&be.Trailing&&!_e.trailing||O&be.Dangling&&(_e.leading||_e.trailing)||O&be.Block&&!g(_e)||O&be.Line&&!D(_e)||O&be.First&&He!==0||O&be.Last&&He!==Ge.length-1||O&be.PrettierIgnore&&!Ie(_e)||me&&!me(_e))};function Me(O,me,_e){if(!u(O==null?void 0:O.comments))return!1;let He=je(me,_e);return He?O.comments.some(He):!0}function ae(O,me,_e){if(!Array.isArray(O==null?void 0:O.comments))return[];let He=je(me,_e);return He?O.comments.filter(He):O.comments}var nt=(O,me)=>{let{originalText:_e}=me;return i(_e,d(O))};function tt(O){return de(O)||O.type==="NewExpression"||O.type==="ImportExpression"}function Ve(O){return O&&(O.type==="ObjectProperty"||O.type==="Property"&&!O.method&&O.kind==="init")}function We(O){return Boolean(O.__isUsingHackPipeline)}var Xe=Symbol("ifWithoutBlockAndSameLineComment");function st(O){return O.type==="TSAsExpression"||O.type==="TSSatisfiesExpression"}r.exports={getFunctionParameters:ve,iterateFunctionParametersPath:ze,getCallArguments:Ye,iterateCallArgumentsPath:Se,hasRestParameter:Ce,getLeftSide:I,getLeftSidePathName:P,getParentExportDeclaration:m,getTypeScriptMappedTypeModifier:z,hasFlowAnnotationComment:F,hasFlowShorthandAnnotationComment:w,hasLeadingOwnLineComment:Z,hasNakedLeftSide:x,hasNode:N,hasIgnoreComment:Je,hasNodeIgnoreComment:Oe,identity:H,isBinaryish:V,isCallLikeExpression:tt,isEnabledHackPipeline:We,isLineComment:D,isPrettierIgnoreComment:Ie,isCallExpression:de,isMemberExpression:ue,isExportDeclaration:T,isFlowAnnotationComment:U,isFunctionCompositionArgs:Re,isFunctionNotation:J,isFunctionOrArrowExpression:b,isGetterOrSetter:q,isJestEachTemplateLiteral:ge,isJsxNode:M,isLiteral:C,isLongCurriedCallExpression:Ne,isSimpleCallArgument:Pe,isMemberish:j,isNumericLiteral:o,isSignedNumericLiteral:h,isObjectProperty:Ve,isObjectType:S,isObjectTypePropertyAFunction:L,isSimpleType:ie,isSimpleNumber:fe,isSimpleTemplateLiteral:Fe,isStringLiteral:v,isStringPropSafeToUnquote:se,isTemplateOnItsOwnLine:we,isTestCall:K,isTheOnlyJsxElementInMarkdown:R,isTSXFile:pe,isTypeAnnotationAFunction:Q,isNextLineEmpty:nt,needsHardlineAfterDanglingComment:ke,rawText:oe,shouldPrintComma:X,isBitwiseOperator:ye,shouldFlatten:A,startsWithNoLookaheadToken:le,getPrecedence:re,hasComment:Me,getComments:ae,CommentCheckFlags:be,markerForIfWithoutBlockAndSameLineComment:Xe,isTSTypeExpression:st}}}),Lt=te({"src/language-js/print/template-literal.js"(e,r){"use strict";ne();var t=lt(),{getStringWidth:s,getIndentSize:a}=Ue(),{builders:{join:n,hardline:u,softline:i,group:l,indent:p,align:d,lineSuffixBoundary:y,addAlignmentToDoc:g},printer:{printDocToString:c},utils:{mapDoc:f}}=qe(),{isBinaryish:E,isJestEachTemplateLiteral:_,isSimpleTemplateLiteral:w,hasComment:F,isMemberExpression:N,isTSTypeExpression:x}=Ke();function I(C,o,h){let v=C.getValue();if(v.type==="TemplateLiteral"&&_(v,C.getParentNode())){let R=P(C,h,o);if(R)return R}let b="expressions";v.type==="TSTemplateLiteralType"&&(b="types");let B=[],k=C.map(o,b),M=w(v);return M&&(k=k.map(R=>c(R,Object.assign(Object.assign({},h),{},{printWidth:Number.POSITIVE_INFINITY})).formatted)),B.push(y,"`"),C.each(R=>{let q=R.getName();if(B.push(o()),q1||S.some(b=>b.length>0)){o.__inJestEach=!0;let b=C.map(h,"expressions");o.__inJestEach=!1;let B=[],k=b.map(L=>"${"+c(L,Object.assign(Object.assign({},o),{},{printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"})).formatted+"}"),M=[{hasLineBreak:!1,cells:[]}];for(let L=1;LL.cells.length)),q=Array.from({length:R}).fill(0),J=[{cells:S},...M.filter(L=>L.cells.length>0)];for(let{cells:L}of J.filter(Q=>!Q.hasLineBreak))for(let[Q,V]of L.entries())q[Q]=Math.max(q[Q],s(V));return B.push(y,"`",p([u,n(u,J.map(L=>n(" | ",L.cells.map((Q,V)=>L.hasLineBreak?Q:Q+" ".repeat(q[V]-s(Q))))))]),u,"`"),B}}function $(C,o){let h=C.getValue(),v=o();return F(h)&&(v=l([p([i,v]),i])),["${",v,y,"}"]}function D(C,o){return C.map(h=>$(h,o),"expressions")}function T(C,o){return f(C,h=>typeof h=="string"?o?h.replace(/(\\*)`/g,"$1$1\\`"):m(h):h)}function m(C){return C.replace(/([\\`]|\${)/g,"\\$1")}r.exports={printTemplateLiteral:I,printTemplateExpressions:D,escapeTemplateCharacters:T,uncookTemplateElementValue:m}}}),Vm=te({"src/language-js/embed/markdown.js"(e,r){"use strict";ne();var{builders:{indent:t,softline:s,literalline:a,dedentToRoot:n}}=qe(),{escapeTemplateCharacters:u}=Lt();function i(p,d,y){let c=p.getValue().quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g,(w,F)=>"\\".repeat(F.length/2)+"`"),f=l(c),E=f!=="";E&&(c=c.replace(new RegExp(`^${f}`,"gm"),""));let _=u(y(c,{parser:"markdown",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return["`",E?t([s,_]):[a,n(_)],s,"`"]}function l(p){let d=p.match(/^([^\S\n]*)\S/m);return d===null?"":d[1]}r.exports=i}}),Wm=te({"src/language-js/embed/css.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{indent:s,hardline:a,softline:n},utils:{mapDoc:u,replaceEndOfLine:i,cleanDoc:l}}=qe(),{printTemplateExpressions:p}=Lt();function d(c,f,E){let _=c.getValue(),w=_.quasis.map(P=>P.value.raw),F=0,N=w.reduce((P,$,D)=>D===0?$:P+"@prettier-placeholder-"+F+++"-id"+$,""),x=E(N,{parser:"scss"},{stripTrailingHardline:!0}),I=p(c,f);return y(x,_,I)}function y(c,f,E){if(f.quasis.length===1&&!f.quasis[0].value.raw.trim())return"``";let w=g(c,E);if(!w)throw new Error("Couldn't insert all the expressions");return["`",s([a,w]),n,"`"]}function g(c,f){if(!t(f))return c;let E=0,_=u(l(c),w=>typeof w!="string"||!w.includes("@prettier-placeholder")?w:w.split(/@prettier-placeholder-(\d+)-id/).map((F,N)=>N%2===0?i(F):(E++,f[F])));return f.length===E?_:null}r.exports=d}}),Hm=te({"src/language-js/embed/graphql.js"(e,r){"use strict";ne();var{builders:{indent:t,join:s,hardline:a}}=qe(),{escapeTemplateCharacters:n,printTemplateExpressions:u}=Lt();function i(p,d,y){let g=p.getValue(),c=g.quasis.length;if(c===1&&g.quasis[0].value.raw.trim()==="")return"``";let f=u(p,d),E=[];for(let _=0;_2&&I[0].trim()===""&&I[1].trim()==="",T=P>2&&I[P-1].trim()===""&&I[P-2].trim()==="",m=I.every(o=>/^\s*(?:#[^\n\r]*)?$/.test(o));if(!N&&/#[^\n\r]*$/.test(I[P-1]))return null;let C=null;m?C=l(I):C=y(x,{parser:"graphql"},{stripTrailingHardline:!0}),C?(C=n(C,!1),!F&&D&&E.push(""),E.push(C),!N&&T&&E.push("")):!F&&!N&&D&&E.push(""),$&&E.push($)}return["`",t([a,s(a,E)]),a,"`"]}function l(p){let d=[],y=!1,g=p.map(c=>c.trim());for(let[c,f]of g.entries())f!==""&&(g[c-1]===""&&y?d.push([a,f]):d.push(f),y=!0);return d.length===0?null:s(a,d)}r.exports=i}}),Gm=te({"src/language-js/embed/html.js"(e,r){"use strict";ne();var{builders:{indent:t,line:s,hardline:a,group:n},utils:{mapDoc:u}}=qe(),{printTemplateExpressions:i,uncookTemplateElementValue:l}=Lt(),p=0;function d(y,g,c,f,E){let{parser:_}=E,w=y.getValue(),F=p;p=p+1>>>0;let N=h=>`PRETTIER_HTML_PLACEHOLDER_${h}_${F}_IN_JS`,x=w.quasis.map((h,v,S)=>v===S.length-1?h.value.cooked:h.value.cooked+N(v)).join(""),I=i(y,g);if(I.length===0&&x.trim().length===0)return"``";let P=new RegExp(N("(\\d+)"),"g"),$=0,D=c(x,{parser:_,__onHtmlRoot(h){$=h.children.length}},{stripTrailingHardline:!0}),T=u(D,h=>{if(typeof h!="string")return h;let v=[],S=h.split(P);for(let b=0;b1?t(n(T)):n(T),C,"`"])}r.exports=d}}),Um=te({"src/language-js/embed.js"(e,r){"use strict";ne();var{hasComment:t,CommentCheckFlags:s,isObjectProperty:a}=Ke(),n=Vm(),u=Wm(),i=Hm(),l=Gm();function p(D){if(g(D)||_(D)||w(D)||c(D))return"css";if(x(D))return"graphql";if(P(D))return"html";if(f(D))return"angular";if(y(D))return"markdown"}function d(D,T,m,C){let o=D.getValue();if(o.type!=="TemplateLiteral"||$(o))return;let h=p(D);if(h){if(h==="markdown")return n(D,T,m);if(h==="css")return u(D,T,m);if(h==="graphql")return i(D,T,m);if(h==="html"||h==="angular")return l(D,T,m,C,{parser:h})}}function y(D){let T=D.getValue(),m=D.getParentNode();return m&&m.type==="TaggedTemplateExpression"&&T.quasis.length===1&&m.tag.type==="Identifier"&&(m.tag.name==="md"||m.tag.name==="markdown")}function g(D){let T=D.getValue(),m=D.getParentNode(),C=D.getParentNode(1);return C&&T.quasis&&m.type==="JSXExpressionContainer"&&C.type==="JSXElement"&&C.openingElement.name.name==="style"&&C.openingElement.attributes.some(o=>o.name.name==="jsx")||m&&m.type==="TaggedTemplateExpression"&&m.tag.type==="Identifier"&&m.tag.name==="css"||m&&m.type==="TaggedTemplateExpression"&&m.tag.type==="MemberExpression"&&m.tag.object.name==="css"&&(m.tag.property.name==="global"||m.tag.property.name==="resolve")}function c(D){return D.match(T=>T.type==="TemplateLiteral",(T,m)=>T.type==="ArrayExpression"&&m==="elements",(T,m)=>a(T)&&T.key.type==="Identifier"&&T.key.name==="styles"&&m==="value",...E)}function f(D){return D.match(T=>T.type==="TemplateLiteral",(T,m)=>a(T)&&T.key.type==="Identifier"&&T.key.name==="template"&&m==="value",...E)}var E=[(D,T)=>D.type==="ObjectExpression"&&T==="properties",(D,T)=>D.type==="CallExpression"&&D.callee.type==="Identifier"&&D.callee.name==="Component"&&T==="arguments",(D,T)=>D.type==="Decorator"&&T==="expression"];function _(D){let T=D.getParentNode();if(!T||T.type!=="TaggedTemplateExpression")return!1;let m=T.tag.type==="ParenthesizedExpression"?T.tag.expression:T.tag;switch(m.type){case"MemberExpression":return F(m.object)||N(m);case"CallExpression":return F(m.callee)||m.callee.type==="MemberExpression"&&(m.callee.object.type==="MemberExpression"&&(F(m.callee.object.object)||N(m.callee.object))||m.callee.object.type==="CallExpression"&&F(m.callee.object.callee));case"Identifier":return m.name==="css";default:return!1}}function w(D){let T=D.getParentNode(),m=D.getParentNode(1);return m&&T.type==="JSXExpressionContainer"&&m.type==="JSXAttribute"&&m.name.type==="JSXIdentifier"&&m.name.name==="css"}function F(D){return D.type==="Identifier"&&D.name==="styled"}function N(D){return/^[A-Z]/.test(D.object.name)&&D.property.name==="extend"}function x(D){let T=D.getValue(),m=D.getParentNode();return I(T,"GraphQL")||m&&(m.type==="TaggedTemplateExpression"&&(m.tag.type==="MemberExpression"&&m.tag.object.name==="graphql"&&m.tag.property.name==="experimental"||m.tag.type==="Identifier"&&(m.tag.name==="gql"||m.tag.name==="graphql"))||m.type==="CallExpression"&&m.callee.type==="Identifier"&&m.callee.name==="graphql")}function I(D,T){return t(D,s.Block|s.Leading,m=>{let{value:C}=m;return C===` ${T} `})}function P(D){return I(D.getValue(),"HTML")||D.match(T=>T.type==="TemplateLiteral",(T,m)=>T.type==="TaggedTemplateExpression"&&T.tag.type==="Identifier"&&T.tag.name==="html"&&m==="quasi")}function $(D){let{quasis:T}=D;return T.some(m=>{let{value:{cooked:C}}=m;return C===null})}r.exports=d}}),Jm=te({"src/language-js/clean.js"(e,r){"use strict";ne();var t=_t(),s=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),a=u=>{for(let i of u.quasis)delete i.value};function n(u,i,l){if(u.type==="Program"&&delete i.sourceType,(u.type==="BigIntLiteral"||u.type==="BigIntLiteralTypeAnnotation")&&i.value&&(i.value=i.value.toLowerCase()),(u.type==="BigIntLiteral"||u.type==="Literal")&&i.bigint&&(i.bigint=i.bigint.toLowerCase()),u.type==="DecimalLiteral"&&(i.value=Number(i.value)),u.type==="Literal"&&i.decimal&&(i.decimal=Number(i.decimal)),u.type==="EmptyStatement"||u.type==="JSXText"||u.type==="JSXExpressionContainer"&&(u.expression.type==="Literal"||u.expression.type==="StringLiteral")&&u.expression.value===" ")return null;if((u.type==="Property"||u.type==="ObjectProperty"||u.type==="MethodDefinition"||u.type==="ClassProperty"||u.type==="ClassMethod"||u.type==="PropertyDefinition"||u.type==="TSDeclareMethod"||u.type==="TSPropertySignature"||u.type==="ObjectTypeProperty")&&typeof u.key=="object"&&u.key&&(u.key.type==="Literal"||u.key.type==="NumericLiteral"||u.key.type==="StringLiteral"||u.key.type==="Identifier")&&delete i.key,u.type==="JSXElement"&&u.openingElement.name.name==="style"&&u.openingElement.attributes.some(y=>y.name.name==="jsx"))for(let{type:y,expression:g}of i.children)y==="JSXExpressionContainer"&&g.type==="TemplateLiteral"&&a(g);u.type==="JSXAttribute"&&u.name.name==="css"&&u.value.type==="JSXExpressionContainer"&&u.value.expression.type==="TemplateLiteral"&&a(i.value.expression),u.type==="JSXAttribute"&&u.value&&u.value.type==="Literal"&&/["']|"|'/.test(u.value.value)&&(i.value.value=i.value.value.replace(/["']|"|'/g,'"'));let p=u.expression||u.callee;if(u.type==="Decorator"&&p.type==="CallExpression"&&p.callee.name==="Component"&&p.arguments.length===1){let y=u.expression.arguments[0].properties;for(let[g,c]of i.expression.arguments[0].properties.entries())switch(y[g].key.name){case"styles":c.value.type==="ArrayExpression"&&a(c.value.elements[0]);break;case"template":c.value.type==="TemplateLiteral"&&a(c.value);break}}if(u.type==="TaggedTemplateExpression"&&(u.tag.type==="MemberExpression"||u.tag.type==="Identifier"&&(u.tag.name==="gql"||u.tag.name==="graphql"||u.tag.name==="css"||u.tag.name==="md"||u.tag.name==="markdown"||u.tag.name==="html")||u.tag.type==="CallExpression")&&a(i.quasi),u.type==="TemplateLiteral"){var d;(((d=u.leadingComments)===null||d===void 0?void 0:d.some(g=>t(g)&&["GraphQL","HTML"].some(c=>g.value===` ${c} `)))||l.type==="CallExpression"&&l.callee.name==="graphql"||!u.leadingComments)&&a(i)}if(u.type==="InterpreterDirective"&&(i.value=i.value.trimEnd()),(u.type==="TSIntersectionType"||u.type==="TSUnionType")&&u.types.length===1)return i.types[0]}n.ignoredProperties=s,r.exports=n}}),Qa={};zt(Qa,{EOL:()=>Rn,arch:()=>zm,cpus:()=>so,default:()=>co,endianness:()=>Za,freemem:()=>no,getNetworkInterfaces:()=>lo,hostname:()=>eo,loadavg:()=>to,networkInterfaces:()=>oo,platform:()=>Xm,release:()=>ao,tmpDir:()=>qn,tmpdir:()=>Mn,totalmem:()=>uo,type:()=>io,uptime:()=>ro});function Za(){if(typeof xr>"u"){var e=new ArrayBuffer(2),r=new Uint8Array(e),t=new Uint16Array(e);if(r[0]=1,r[1]=2,t[0]===258)xr="BE";else if(t[0]===513)xr="LE";else throw new Error("unable to figure out endianess")}return xr}function eo(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function to(){return[]}function ro(){return 0}function no(){return Number.MAX_VALUE}function uo(){return Number.MAX_VALUE}function so(){return[]}function io(){return"Browser"}function ao(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function oo(){}function lo(){}function zm(){return"javascript"}function Xm(){return"browser"}function qn(){return"/tmp"}var xr,Mn,Rn,co,Km=ht({"node-modules-polyfills:os"(){ne(),Mn=qn,Rn=` -`,co={EOL:Rn,tmpdir:Mn,tmpDir:qn,networkInterfaces:oo,getNetworkInterfaces:lo,release:ao,type:io,cpus:so,totalmem:uo,freemem:no,uptime:ro,loadavg:to,hostname:eo,endianness:Za}}}),Ym=te({"node-modules-polyfills-commonjs:os"(e,r){ne();var t=(Km(),ft(Qa));if(t&&t.default){r.exports=t.default;for(let s in t)r.exports[s]=t[s]}else t&&(r.exports=t)}}),Qm=te({"node_modules/detect-newline/index.js"(e,r){"use strict";ne();var t=s=>{if(typeof s!="string")throw new TypeError("Expected a string");let a=s.match(/(?:\r?\n)/g)||[];if(a.length===0)return;let n=a.filter(i=>i===`\r -`).length,u=a.length-n;return n>u?`\r -`:` -`};r.exports=t,r.exports.graceful=s=>typeof s=="string"&&t(s)||` -`}}),Zm=te({"node_modules/jest-docblock/build/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.extract=c,e.parse=E,e.parseWithComments=_,e.print=w,e.strip=f;function r(){let N=Ym();return r=function(){return N},N}function t(){let N=s(Qm());return t=function(){return N},N}function s(N){return N&&N.__esModule?N:{default:N}}var a=/\*\/$/,n=/^\/\*\*?/,u=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,i=/(^|\s+)\/\/([^\r\n]*)/g,l=/^(\r?\n)+/,p=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,d=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,y=/(\r?\n|^) *\* ?/g,g=[];function c(N){let x=N.match(u);return x?x[0].trimLeft():""}function f(N){let x=N.match(u);return x&&x[0]?N.substring(x[0].length):N}function E(N){return _(N).pragmas}function _(N){let x=(0,t().default)(N)||r().EOL;N=N.replace(n,"").replace(a,"").replace(y,"$1");let I="";for(;I!==N;)I=N,N=N.replace(p,`${x}$1 $2${x}`);N=N.replace(l,"").trimRight();let P=Object.create(null),$=N.replace(d,"").replace(l,"").trimRight(),D;for(;D=d.exec(N);){let T=D[2].replace(i,"");typeof P[D[1]]=="string"||Array.isArray(P[D[1]])?P[D[1]]=g.concat(P[D[1]],T):P[D[1]]=T}return{comments:$,pragmas:P}}function w(N){let{comments:x="",pragmas:I={}}=N,P=(0,t().default)(x)||r().EOL,$="/**",D=" *",T=" */",m=Object.keys(I),C=m.map(h=>F(h,I[h])).reduce((h,v)=>h.concat(v),[]).map(h=>`${D} ${h}${P}`).join("");if(!x){if(m.length===0)return"";if(m.length===1&&!Array.isArray(I[m[0]])){let h=I[m[0]];return`${$} ${F(m[0],h)[0]}${T}`}}let o=x.split(P).map(h=>`${D} ${h}`).join(P)+P;return $+P+(x?o:"")+(x&&m.length?D+P:"")+C+T}function F(N,x){return g.concat(x).map(I=>`@${N} ${I}`.trim())}}}),ed=te({"src/language-js/utils/get-shebang.js"(e,r){"use strict";ne();function t(s){if(!s.startsWith("#!"))return"";let a=s.indexOf(` -`);return a===-1?s:s.slice(0,a)}r.exports=t}}),po=te({"src/language-js/pragma.js"(e,r){"use strict";ne();var{parseWithComments:t,strip:s,extract:a,print:n}=Zm(),{normalizeEndOfLine:u}=Hn(),i=ed();function l(y){let g=i(y);g&&(y=y.slice(g.length+1));let c=a(y),{pragmas:f,comments:E}=t(c);return{shebang:g,text:y,pragmas:f,comments:E}}function p(y){let g=Object.keys(l(y).pragmas);return g.includes("prettier")||g.includes("format")}function d(y){let{shebang:g,text:c,pragmas:f,comments:E}=l(y),_=s(c),w=n({pragmas:Object.assign({format:""},f),comments:E.trimStart()});return(g?`${g} -`:"")+u(w)+(_.startsWith(` -`)?` -`:` - -`)+_}r.exports={hasPragma:p,insertPragma:d}}}),td=te({"src/language-js/utils/is-type-cast-comment.js"(e,r){"use strict";ne();var t=_t();function s(a){return t(a)&&a.value[0]==="*"&&/@(?:type|satisfies)\b/.test(a.value)}r.exports=s}}),fo=te({"src/language-js/comments.js"(e,r){"use strict";ne();var{getLast:t,hasNewline:s,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:a,getNextNonSpaceNonCommentCharacter:n,hasNewlineInRange:u,addLeadingComment:i,addTrailingComment:l,addDanglingComment:p,getNextNonSpaceNonCommentCharacterIndex:d,isNonEmptyArray:y}=Ue(),{getFunctionParameters:g,isPrettierIgnoreComment:c,isJsxNode:f,hasFlowShorthandAnnotationComment:E,hasFlowAnnotationComment:_,hasIgnoreComment:w,isCallLikeExpression:F,getCallArguments:N,isCallExpression:x,isMemberExpression:I,isObjectProperty:P,isLineComment:$,getComments:D,CommentCheckFlags:T,markerForIfWithoutBlockAndSameLineComment:m}=Ke(),{locStart:C,locEnd:o}=ut(),h=_t(),v=td();function S(De){return[H,Fe,Q,q,J,L,ie,he,se,ge,we,ke,ce,z,U].some(A=>A(De))}function b(De){return[R,Fe,V,we,q,J,L,ie,z,Z,fe,ge,Pe,U,X].some(A=>A(De))}function B(De){return[H,q,J,j,ue,ce,ge,de,K,pe,U,oe].some(A=>A(De))}function k(De,A){let G=(De.body||De.properties).find(re=>{let{type:ye}=re;return ye!=="EmptyStatement"});G?i(G,A):p(De,A)}function M(De,A){De.type==="BlockStatement"?k(De,A):i(De,A)}function R(De){let{comment:A,followingNode:G}=De;return G&&v(A)?(i(G,A),!0):!1}function q(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;if((re==null?void 0:re.type)!=="IfStatement"||!ye)return!1;if(n(Ce,A,o)===")")return l(G,A),!0;if(G===re.consequent&&ye===re.alternate){if(G.type==="BlockStatement")l(G,A);else{let ve=A.type==="SingleLine"||A.loc.start.line===A.loc.end.line,ze=A.loc.start.line===G.loc.start.line;ve&&ze?p(G,A,m):p(re,A)}return!0}return ye.type==="BlockStatement"?(k(ye,A),!0):ye.type==="IfStatement"?(M(ye.consequent,A),!0):re.consequent===ye?(i(ye,A),!0):!1}function J(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;return(re==null?void 0:re.type)!=="WhileStatement"||!ye?!1:n(Ce,A,o)===")"?(l(G,A),!0):ye.type==="BlockStatement"?(k(ye,A),!0):re.body===ye?(i(ye,A),!0):!1}function L(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return(re==null?void 0:re.type)!=="TryStatement"&&(re==null?void 0:re.type)!=="CatchClause"||!ye?!1:re.type==="CatchClause"&&G?(l(G,A),!0):ye.type==="BlockStatement"?(k(ye,A),!0):ye.type==="TryStatement"?(M(ye.finalizer,A),!0):ye.type==="CatchClause"?(M(ye.body,A),!0):!1}function Q(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return I(G)&&(re==null?void 0:re.type)==="Identifier"?(i(G,A),!0):!1}function V(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De,Be=G&&!u(Ce,o(G),C(A));return(!G||!Be)&&((re==null?void 0:re.type)==="ConditionalExpression"||(re==null?void 0:re.type)==="TSConditionalType")&&ye?(i(ye,A),!0):!1}function j(De){let{comment:A,precedingNode:G,enclosingNode:re}=De;return P(re)&&re.shorthand&&re.key===G&&re.value.type==="AssignmentPattern"?(l(re.value.left,A),!0):!1}var Y=new Set(["ClassDeclaration","ClassExpression","DeclareClass","DeclareInterface","InterfaceDeclaration","TSInterfaceDeclaration"]);function ie(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;if(Y.has(re==null?void 0:re.type)){if(y(re.decorators)&&!(ye&&ye.type==="Decorator"))return l(t(re.decorators),A),!0;if(re.body&&ye===re.body)return k(re.body,A),!0;if(ye){if(re.superClass&&ye===re.superClass&&G&&(G===re.id||G===re.typeParameters))return l(G,A),!0;for(let Ce of["implements","extends","mixins"])if(re[Ce]&&ye===re[Ce][0])return G&&(G===re.id||G===re.typeParameters||G===re.superClass)?l(G,A):p(re,A,Ce),!0}}return!1}var ee=new Set(["ClassMethod","ClassProperty","PropertyDefinition","TSAbstractPropertyDefinition","TSAbstractMethodDefinition","TSDeclareMethod","MethodDefinition","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty"]);function ce(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;return re&&G&&n(ye,A,o)==="("&&(re.type==="Property"||re.type==="TSDeclareMethod"||re.type==="TSAbstractMethodDefinition")&&G.type==="Identifier"&&re.key===G&&n(ye,G,o)!==":"||(G==null?void 0:G.type)==="Decorator"&&ee.has(re==null?void 0:re.type)?(l(G,A),!0):!1}var W=new Set(["FunctionDeclaration","FunctionExpression","ClassMethod","MethodDefinition","ObjectMethod"]);function K(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;return n(ye,A,o)!=="("?!1:G&&W.has(re==null?void 0:re.type)?(l(G,A),!0):!1}function de(De){let{comment:A,enclosingNode:G,text:re}=De;if((G==null?void 0:G.type)!=="ArrowFunctionExpression")return!1;let ye=d(re,A,o);return ye!==!1&&re.slice(ye,ye+2)==="=>"?(p(G,A),!0):!1}function ue(De){let{comment:A,enclosingNode:G,text:re}=De;return n(re,A,o)!==")"?!1:G&&(le(G)&&g(G).length===0||F(G)&&N(G).length===0)?(p(G,A),!0):((G==null?void 0:G.type)==="MethodDefinition"||(G==null?void 0:G.type)==="TSAbstractMethodDefinition")&&g(G.value).length===0?(p(G.value,A),!0):!1}function Fe(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;if((G==null?void 0:G.type)==="FunctionTypeParam"&&(re==null?void 0:re.type)==="FunctionTypeAnnotation"&&(ye==null?void 0:ye.type)!=="FunctionTypeParam"||((G==null?void 0:G.type)==="Identifier"||(G==null?void 0:G.type)==="AssignmentPattern")&&re&&le(re)&&n(Ce,A,o)===")")return l(G,A),!0;if((re==null?void 0:re.type)==="FunctionDeclaration"&&(ye==null?void 0:ye.type)==="BlockStatement"){let Be=(()=>{let ve=g(re);if(ve.length>0)return a(Ce,o(t(ve)));let ze=a(Ce,o(re.id));return ze!==!1&&a(Ce,ze+1)})();if(C(A)>Be)return k(ye,A),!0}return!1}function z(De){let{comment:A,enclosingNode:G}=De;return(G==null?void 0:G.type)==="LabeledStatement"?(i(G,A),!0):!1}function U(De){let{comment:A,enclosingNode:G}=De;return((G==null?void 0:G.type)==="ContinueStatement"||(G==null?void 0:G.type)==="BreakStatement")&&!G.label?(l(G,A),!0):!1}function Z(De){let{comment:A,precedingNode:G,enclosingNode:re}=De;return x(re)&&G&&re.callee===G&&re.arguments.length>0?(i(re.arguments[0],A),!0):!1}function se(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return(re==null?void 0:re.type)==="UnionTypeAnnotation"||(re==null?void 0:re.type)==="TSUnionType"?(c(A)&&(ye.prettierIgnore=!0,A.unignore=!0),G?(l(G,A),!0):!1):(((ye==null?void 0:ye.type)==="UnionTypeAnnotation"||(ye==null?void 0:ye.type)==="TSUnionType")&&c(A)&&(ye.types[0].prettierIgnore=!0,A.unignore=!0),!1)}function fe(De){let{comment:A,enclosingNode:G}=De;return P(G)?(i(G,A),!0):!1}function ge(De){let{comment:A,enclosingNode:G,followingNode:re,ast:ye,isLastComment:Ce}=De;return ye&&ye.body&&ye.body.length===0?(Ce?p(ye,A):i(ye,A),!0):(G==null?void 0:G.type)==="Program"&&(G==null?void 0:G.body.length)===0&&!y(G.directives)?(Ce?p(G,A):i(G,A),!0):(re==null?void 0:re.type)==="Program"&&(re==null?void 0:re.body.length)===0&&(G==null?void 0:G.type)==="ModuleExpression"?(p(re,A),!0):!1}function he(De){let{comment:A,enclosingNode:G}=De;return(G==null?void 0:G.type)==="ForInStatement"||(G==null?void 0:G.type)==="ForOfStatement"?(i(G,A),!0):!1}function we(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;if((re==null?void 0:re.type)==="ImportSpecifier"||(re==null?void 0:re.type)==="ExportSpecifier")return i(re,A),!0;let Ce=(G==null?void 0:G.type)==="ImportSpecifier"&&(re==null?void 0:re.type)==="ImportDeclaration",Be=(G==null?void 0:G.type)==="ExportSpecifier"&&(re==null?void 0:re.type)==="ExportNamedDeclaration";return(Ce||Be)&&s(ye,o(A))?(l(G,A),!0):!1}function ke(De){let{comment:A,enclosingNode:G}=De;return(G==null?void 0:G.type)==="AssignmentPattern"?(i(G,A),!0):!1}var Re=new Set(["VariableDeclarator","AssignmentExpression","TypeAlias","TSTypeAliasDeclaration"]),Ne=new Set(["ObjectExpression","ArrayExpression","TemplateLiteral","TaggedTemplateExpression","ObjectTypeAnnotation","TSTypeLiteral"]);function Pe(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return Re.has(G==null?void 0:G.type)&&re&&(Ne.has(re.type)||h(A))?(i(re,A),!0):!1}function oe(De){let{comment:A,enclosingNode:G,followingNode:re,text:ye}=De;return!re&&((G==null?void 0:G.type)==="TSMethodSignature"||(G==null?void 0:G.type)==="TSDeclareFunction"||(G==null?void 0:G.type)==="TSAbstractMethodDefinition")&&n(ye,A,o)===";"?(l(G,A),!0):!1}function H(De){let{comment:A,enclosingNode:G,followingNode:re}=De;if(c(A)&&(G==null?void 0:G.type)==="TSMappedType"&&(re==null?void 0:re.type)==="TSTypeParameter"&&re.constraint)return G.prettierIgnore=!0,A.unignore=!0,!0}function pe(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return(re==null?void 0:re.type)!=="TSMappedType"?!1:(ye==null?void 0:ye.type)==="TSTypeParameter"&&ye.name?(i(ye.name,A),!0):(G==null?void 0:G.type)==="TSTypeParameter"&&G.constraint?(l(G.constraint,A),!0):!1}function X(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return!G||G.type!=="SwitchCase"||G.test||!re||re!==G.consequent[0]?!1:(re.type==="BlockStatement"&&$(A)?k(re,A):p(G,A),!0)}function le(De){return De.type==="ArrowFunctionExpression"||De.type==="FunctionExpression"||De.type==="FunctionDeclaration"||De.type==="ObjectMethod"||De.type==="ClassMethod"||De.type==="TSDeclareFunction"||De.type==="TSCallSignatureDeclaration"||De.type==="TSConstructSignatureDeclaration"||De.type==="TSMethodSignature"||De.type==="TSConstructorType"||De.type==="TSFunctionType"||De.type==="TSDeclareMethod"}function Ae(De,A){if((A.parser==="typescript"||A.parser==="flow"||A.parser==="acorn"||A.parser==="espree"||A.parser==="meriyah"||A.parser==="__babel_estree")&&De.type==="MethodDefinition"&&De.value&&De.value.type==="FunctionExpression"&&g(De.value).length===0&&!De.value.returnType&&!y(De.value.typeParameters)&&De.value.body)return[...De.decorators||[],De.key,De.value.body]}function Ee(De){let A=De.getValue(),G=De.getParentNode(),re=ye=>_(D(ye,T.Leading))||_(D(ye,T.Trailing));return(A&&(f(A)||E(A)||x(G)&&re(A))||G&&(G.type==="JSXSpreadAttribute"||G.type==="JSXSpreadChild"||G.type==="UnionTypeAnnotation"||G.type==="TSUnionType"||(G.type==="ClassDeclaration"||G.type==="ClassExpression")&&G.superClass===A))&&(!w(De)||G.type==="UnionTypeAnnotation"||G.type==="TSUnionType")}r.exports={handleOwnLineComment:S,handleEndOfLineComment:b,handleRemainingComment:B,getCommentChildNodes:Ae,willPrintOwnComments:Ee}}}),Ot=te({"src/language-js/needs-parens.js"(e,r){"use strict";ne();var t=lt(),s=Jn(),{getFunctionParameters:a,getLeftSidePathName:n,hasFlowShorthandAnnotationComment:u,hasNakedLeftSide:i,hasNode:l,isBitwiseOperator:p,startsWithNoLookaheadToken:d,shouldFlatten:y,getPrecedence:g,isCallExpression:c,isMemberExpression:f,isObjectProperty:E,isTSTypeExpression:_}=Ke();function w(D,T){let m=D.getParentNode();if(!m)return!1;let C=D.getName(),o=D.getNode();if(T.__isInHtmlInterpolation&&!T.bracketSpacing&&I(o)&&P(D))return!0;if(F(o))return!1;if(T.parser!=="flow"&&u(D.getValue()))return!0;if(o.type==="Identifier"){if(o.extra&&o.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(o.name)||C==="left"&&(o.name==="async"&&!m.await||o.name==="let")&&m.type==="ForOfStatement")return!0;if(o.name==="let"){var h;let S=(h=D.findAncestor(b=>b.type==="ForOfStatement"))===null||h===void 0?void 0:h.left;if(S&&d(S,b=>b===o))return!0}if(C==="object"&&o.name==="let"&&m.type==="MemberExpression"&&m.computed&&!m.optional){let S=D.findAncestor(B=>B.type==="ExpressionStatement"||B.type==="ForStatement"||B.type==="ForInStatement"),b=S?S.type==="ExpressionStatement"?S.expression:S.type==="ForStatement"?S.init:S.left:void 0;if(b&&d(b,B=>B===o))return!0}return!1}if(o.type==="ObjectExpression"||o.type==="FunctionExpression"||o.type==="ClassExpression"||o.type==="DoExpression"){var v;let S=(v=D.findAncestor(b=>b.type==="ExpressionStatement"))===null||v===void 0?void 0:v.expression;if(S&&d(S,b=>b===o))return!0}switch(m.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":{if(C==="superClass"&&(o.type==="ArrowFunctionExpression"||o.type==="AssignmentExpression"||o.type==="AwaitExpression"||o.type==="BinaryExpression"||o.type==="ConditionalExpression"||o.type==="LogicalExpression"||o.type==="NewExpression"||o.type==="ObjectExpression"||o.type==="SequenceExpression"||o.type==="TaggedTemplateExpression"||o.type==="UnaryExpression"||o.type==="UpdateExpression"||o.type==="YieldExpression"||o.type==="TSNonNullExpression"))return!0;break}case"ExportDefaultDeclaration":return $(D,T)||o.type==="SequenceExpression";case"Decorator":{if(C==="expression"){if(f(o)&&o.computed)return!0;let S=!1,b=!1,B=o;for(;B;)switch(B.type){case"MemberExpression":b=!0,B=B.object;break;case"CallExpression":if(b||S)return T.parser!=="typescript";S=!0,B=B.callee;break;case"Identifier":return!1;case"TaggedTemplateExpression":return T.parser!=="typescript";default:return!0}return!0}break}case"ArrowFunctionExpression":{if(C==="body"&&o.type!=="SequenceExpression"&&d(o,S=>S.type==="ObjectExpression"))return!0;break}}switch(o.type){case"UpdateExpression":if(m.type==="UnaryExpression")return o.prefix&&(o.operator==="++"&&m.operator==="+"||o.operator==="--"&&m.operator==="-");case"UnaryExpression":switch(m.type){case"UnaryExpression":return o.operator===m.operator&&(o.operator==="+"||o.operator==="-");case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"BinaryExpression":return C==="left"&&m.operator==="**";case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":{if(m.type==="UpdateExpression"||o.operator==="in"&&N(D))return!0;if(o.operator==="|>"&&o.extra&&o.extra.parenthesized){let S=D.getParentNode(1);if(S.type==="BinaryExpression"&&S.operator==="|>")return!0}}case"TSTypeAssertion":case"TSAsExpression":case"TSSatisfiesExpression":case"LogicalExpression":switch(m.type){case"TSSatisfiesExpression":case"TSAsExpression":return!_(o);case"ConditionalExpression":return _(o);case"CallExpression":case"NewExpression":case"OptionalCallExpression":return C==="callee";case"ClassExpression":case"ClassDeclaration":return C==="superClass";case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"SpreadProperty":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"AssignmentExpression":case"AssignmentPattern":return C==="left"&&(o.type==="TSTypeAssertion"||_(o));case"LogicalExpression":if(o.type==="LogicalExpression")return m.operator!==o.operator;case"BinaryExpression":{let{operator:S,type:b}=o;if(!S&&b!=="TSTypeAssertion")return!0;let B=g(S),k=m.operator,M=g(k);return M>B||C==="right"&&M===B||M===B&&!y(k,S)?!0:M");default:return!1}case"TSConditionalType":case"TSFunctionType":case"TSConstructorType":if(C==="extendsType"&&m.type==="TSConditionalType"){if(o.type==="TSConditionalType")return!0;let{typeAnnotation:S}=o.returnType||o.typeAnnotation;if(S.type==="TSTypePredicate"&&S.typeAnnotation&&(S=S.typeAnnotation.typeAnnotation),S.type==="TSInferType"&&S.typeParameter.constraint)return!0}if(C==="checkType"&&m.type==="TSConditionalType")return!0;case"TSUnionType":case"TSIntersectionType":if((m.type==="TSUnionType"||m.type==="TSIntersectionType")&&m.types.length>1&&(!o.types||o.types.length>1))return!0;case"TSInferType":if(o.type==="TSInferType"&&m.type==="TSRestType")return!1;case"TSTypeOperator":return m.type==="TSArrayType"||m.type==="TSOptionalType"||m.type==="TSRestType"||C==="objectType"&&m.type==="TSIndexedAccessType"||m.type==="TSTypeOperator"||m.type==="TSTypeAnnotation"&&D.getParentNode(1).type.startsWith("TSJSDoc");case"TSTypeQuery":return C==="objectType"&&m.type==="TSIndexedAccessType"||C==="elementType"&&m.type==="TSArrayType";case"TypeofTypeAnnotation":return C==="objectType"&&(m.type==="IndexedAccessType"||m.type==="OptionalIndexedAccessType")||C==="elementType"&&m.type==="ArrayTypeAnnotation";case"ArrayTypeAnnotation":return m.type==="NullableTypeAnnotation";case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return m.type==="ArrayTypeAnnotation"||m.type==="NullableTypeAnnotation"||m.type==="IntersectionTypeAnnotation"||m.type==="UnionTypeAnnotation"||C==="objectType"&&(m.type==="IndexedAccessType"||m.type==="OptionalIndexedAccessType");case"NullableTypeAnnotation":return m.type==="ArrayTypeAnnotation"||C==="objectType"&&(m.type==="IndexedAccessType"||m.type==="OptionalIndexedAccessType");case"FunctionTypeAnnotation":{let S=m.type==="NullableTypeAnnotation"?D.getParentNode(1):m;return S.type==="UnionTypeAnnotation"||S.type==="IntersectionTypeAnnotation"||S.type==="ArrayTypeAnnotation"||C==="objectType"&&(S.type==="IndexedAccessType"||S.type==="OptionalIndexedAccessType")||S.type==="NullableTypeAnnotation"||m.type==="FunctionTypeParam"&&m.name===null&&a(o).some(b=>b.typeAnnotation&&b.typeAnnotation.type==="NullableTypeAnnotation")}case"OptionalIndexedAccessType":return C==="objectType"&&m.type==="IndexedAccessType";case"StringLiteral":case"NumericLiteral":case"Literal":if(typeof o.value=="string"&&m.type==="ExpressionStatement"&&!m.directive){let S=D.getParentNode(1);return S.type==="Program"||S.type==="BlockStatement"}return C==="object"&&m.type==="MemberExpression"&&typeof o.value=="number";case"AssignmentExpression":{let S=D.getParentNode(1);return C==="body"&&m.type==="ArrowFunctionExpression"?!0:C==="key"&&(m.type==="ClassProperty"||m.type==="PropertyDefinition")&&m.computed||(C==="init"||C==="update")&&m.type==="ForStatement"?!1:m.type==="ExpressionStatement"?o.left.type==="ObjectPattern":!(C==="key"&&m.type==="TSPropertySignature"||m.type==="AssignmentExpression"||m.type==="SequenceExpression"&&S&&S.type==="ForStatement"&&(S.init===m||S.update===m)||C==="value"&&m.type==="Property"&&S&&S.type==="ObjectPattern"&&S.properties.includes(m)||m.type==="NGChainedExpression")}case"ConditionalExpression":switch(m.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"ConditionalExpression":return C==="test";case"MemberExpression":case"OptionalMemberExpression":return C==="object";default:return!1}case"FunctionExpression":switch(m.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(m.type){case"BinaryExpression":return m.operator!=="|>"||o.extra&&o.extra.parenthesized;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return C==="test";default:return!1}case"ClassExpression":if(s(o.decorators))return!0;switch(m.type){case"NewExpression":return C==="callee";default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":{let S=D.getParentNode(1);if(C==="object"&&m.type==="MemberExpression"||C==="callee"&&(m.type==="CallExpression"||m.type==="NewExpression")||m.type==="TSNonNullExpression"&&S.type==="MemberExpression"&&S.object===m)return!0}case"CallExpression":case"MemberExpression":case"TaggedTemplateExpression":case"TSNonNullExpression":if(C==="callee"&&(m.type==="BindExpression"||m.type==="NewExpression")){let S=o;for(;S;)switch(S.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":S=S.object;break;case"TaggedTemplateExpression":S=S.tag;break;case"TSNonNullExpression":S=S.expression;break;default:return!1}}return!1;case"BindExpression":return C==="callee"&&(m.type==="BindExpression"||m.type==="NewExpression")||C==="object"&&f(m);case"NGPipeExpression":return!(m.type==="NGRoot"||m.type==="NGMicrosyntaxExpression"||m.type==="ObjectProperty"&&!(o.extra&&o.extra.parenthesized)||m.type==="ArrayExpression"||c(m)&&m.arguments[C]===o||C==="right"&&m.type==="NGPipeExpression"||C==="property"&&m.type==="MemberExpression"||m.type==="AssignmentExpression");case"JSXFragment":case"JSXElement":return C==="callee"||C==="left"&&m.type==="BinaryExpression"&&m.operator==="<"||m.type!=="ArrayExpression"&&m.type!=="ArrowFunctionExpression"&&m.type!=="AssignmentExpression"&&m.type!=="AssignmentPattern"&&m.type!=="BinaryExpression"&&m.type!=="NewExpression"&&m.type!=="ConditionalExpression"&&m.type!=="ExpressionStatement"&&m.type!=="JsExpressionRoot"&&m.type!=="JSXAttribute"&&m.type!=="JSXElement"&&m.type!=="JSXExpressionContainer"&&m.type!=="JSXFragment"&&m.type!=="LogicalExpression"&&!c(m)&&!E(m)&&m.type!=="ReturnStatement"&&m.type!=="ThrowStatement"&&m.type!=="TypeCastExpression"&&m.type!=="VariableDeclarator"&&m.type!=="YieldExpression";case"TypeAnnotation":return C==="returnType"&&m.type==="ArrowFunctionExpression"&&x(o)}return!1}function F(D){return D.type==="BlockStatement"||D.type==="BreakStatement"||D.type==="ClassBody"||D.type==="ClassDeclaration"||D.type==="ClassMethod"||D.type==="ClassProperty"||D.type==="PropertyDefinition"||D.type==="ClassPrivateProperty"||D.type==="ContinueStatement"||D.type==="DebuggerStatement"||D.type==="DeclareClass"||D.type==="DeclareExportAllDeclaration"||D.type==="DeclareExportDeclaration"||D.type==="DeclareFunction"||D.type==="DeclareInterface"||D.type==="DeclareModule"||D.type==="DeclareModuleExports"||D.type==="DeclareVariable"||D.type==="DoWhileStatement"||D.type==="EnumDeclaration"||D.type==="ExportAllDeclaration"||D.type==="ExportDefaultDeclaration"||D.type==="ExportNamedDeclaration"||D.type==="ExpressionStatement"||D.type==="ForInStatement"||D.type==="ForOfStatement"||D.type==="ForStatement"||D.type==="FunctionDeclaration"||D.type==="IfStatement"||D.type==="ImportDeclaration"||D.type==="InterfaceDeclaration"||D.type==="LabeledStatement"||D.type==="MethodDefinition"||D.type==="ReturnStatement"||D.type==="SwitchStatement"||D.type==="ThrowStatement"||D.type==="TryStatement"||D.type==="TSDeclareFunction"||D.type==="TSEnumDeclaration"||D.type==="TSImportEqualsDeclaration"||D.type==="TSInterfaceDeclaration"||D.type==="TSModuleDeclaration"||D.type==="TSNamespaceExportDeclaration"||D.type==="TypeAlias"||D.type==="VariableDeclaration"||D.type==="WhileStatement"||D.type==="WithStatement"}function N(D){let T=0,m=D.getValue();for(;m;){let C=D.getParentNode(T++);if(C&&C.type==="ForStatement"&&C.init===m)return!0;m=C}return!1}function x(D){return l(D,T=>T.type==="ObjectTypeAnnotation"&&l(T,m=>m.type==="FunctionTypeAnnotation"||void 0)||void 0)}function I(D){switch(D.type){case"ObjectExpression":return!0;default:return!1}}function P(D){let T=D.getValue(),m=D.getParentNode(),C=D.getName();switch(m.type){case"NGPipeExpression":if(typeof C=="number"&&m.arguments[C]===T&&m.arguments.length-1===C)return D.callParent(P);break;case"ObjectProperty":if(C==="value"){let o=D.getParentNode(1);return t(o.properties)===m}break;case"BinaryExpression":case"LogicalExpression":if(C==="right")return D.callParent(P);break;case"ConditionalExpression":if(C==="alternate")return D.callParent(P);break;case"UnaryExpression":if(m.prefix)return D.callParent(P);break}return!1}function $(D,T){let m=D.getValue(),C=D.getParentNode();return m.type==="FunctionExpression"||m.type==="ClassExpression"?C.type==="ExportDefaultDeclaration"||!w(D,T):!i(m)||C.type!=="ExportDefaultDeclaration"&&w(D,T)?!1:D.call(o=>$(o,T),...n(D,m))}r.exports=w}}),Do=te({"src/language-js/print-preprocess.js"(e,r){"use strict";ne();function t(s,a){switch(a.parser){case"json":case"json5":case"json-stringify":case"__js_expression":case"__vue_expression":case"__vue_ts_expression":return Object.assign(Object.assign({},s),{},{type:a.parser.startsWith("__")?"JsExpressionRoot":"JsonRoot",node:s,comments:[],rootMarker:a.rootMarker});default:return s}}r.exports=t}}),rd=te({"src/language-js/print/html-binding.js"(e,r){"use strict";ne();var{builders:{join:t,line:s,group:a,softline:n,indent:u}}=qe();function i(p,d,y){let g=p.getValue();if(d.__onHtmlBindingRoot&&p.getName()===null&&d.__onHtmlBindingRoot(g,d),g.type==="File"){if(d.__isVueForBindingLeft)return p.call(c=>{let f=t([",",s],c.map(y,"params")),{params:E}=c.getValue();return E.length===1?f:["(",u([n,a(f)]),n,")"]},"program","body",0);if(d.__isVueBindings)return p.call(c=>t([",",s],c.map(y,"params")),"program","body",0)}}function l(p){switch(p.type){case"MemberExpression":switch(p.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return l(p.object)}return!1;case"Identifier":return!0;default:return!1}}r.exports={isVueEventBindingExpression:l,printHtmlBinding:i}}}),Zn=te({"src/language-js/print/binaryish.js"(e,r){"use strict";ne();var{printComments:t}=et(),{getLast:s}=Ue(),{builders:{join:a,line:n,softline:u,group:i,indent:l,align:p,indentIfBreak:d},utils:{cleanDoc:y,getDocParts:g,isConcat:c}}=qe(),{hasLeadingOwnLineComment:f,isBinaryish:E,isJsxNode:_,shouldFlatten:w,hasComment:F,CommentCheckFlags:N,isCallExpression:x,isMemberExpression:I,isObjectProperty:P,isEnabledHackPipeline:$}=Ke(),D=0;function T(o,h,v){let S=o.getValue(),b=o.getParentNode(),B=o.getParentNode(1),k=S!==b.body&&(b.type==="IfStatement"||b.type==="WhileStatement"||b.type==="SwitchStatement"||b.type==="DoWhileStatement"),M=$(h)&&S.operator==="|>",R=m(o,v,h,!1,k);if(k)return R;if(M)return i(R);if(x(b)&&b.callee===S||b.type==="UnaryExpression"||I(b)&&!b.computed)return i([l([u,...R]),u]);let q=b.type==="ReturnStatement"||b.type==="ThrowStatement"||b.type==="JSXExpressionContainer"&&B.type==="JSXAttribute"||S.operator!=="|"&&b.type==="JsExpressionRoot"||S.type!=="NGPipeExpression"&&(b.type==="NGRoot"&&h.parser==="__ng_binding"||b.type==="NGMicrosyntaxExpression"&&B.type==="NGMicrosyntax"&&B.body.length===1)||S===b.body&&b.type==="ArrowFunctionExpression"||S!==b.body&&b.type==="ForStatement"||b.type==="ConditionalExpression"&&B.type!=="ReturnStatement"&&B.type!=="ThrowStatement"&&!x(B)||b.type==="TemplateLiteral",J=b.type==="AssignmentExpression"||b.type==="VariableDeclarator"||b.type==="ClassProperty"||b.type==="PropertyDefinition"||b.type==="TSAbstractPropertyDefinition"||b.type==="ClassPrivateProperty"||P(b),L=E(S.left)&&w(S.operator,S.left.operator);if(q||C(S)&&!L||!C(S)&&J)return i(R);if(R.length===0)return"";let Q=_(S.right),V=R.findIndex(W=>typeof W!="string"&&!Array.isArray(W)&&W.type==="group"),j=R.slice(0,V===-1?1:V+1),Y=R.slice(j.length,Q?-1:void 0),ie=Symbol("logicalChain-"+ ++D),ee=i([...j,l(Y)],{id:ie});if(!Q)return ee;let ce=s(R);return i([ee,d(ce,{groupId:ie})])}function m(o,h,v,S,b){let B=o.getValue();if(!E(B))return[i(h())];let k=[];w(B.operator,B.left.operator)?k=o.call(Y=>m(Y,h,v,!0,b),"left"):k.push(i(h("left")));let M=C(B),R=(B.operator==="|>"||B.type==="NGPipeExpression"||B.operator==="|"&&v.parser==="__vue_expression")&&!f(v.originalText,B.right),q=B.type==="NGPipeExpression"?"|":B.operator,J=B.type==="NGPipeExpression"&&B.arguments.length>0?i(l([n,": ",a([n,": "],o.map(h,"arguments").map(Y=>p(2,i(Y))))])):"",L;if(M)L=[q," ",h("right"),J];else{let ie=$(v)&&q==="|>"?o.call(ee=>m(ee,h,v,!0,b),"right"):h("right");L=[R?n:"",q,R?" ":n,ie,J]}let Q=o.getParentNode(),V=F(B.left,N.Trailing|N.Line),j=V||!(b&&B.type==="LogicalExpression")&&Q.type!==B.type&&B.left.type!==B.type&&B.right.type!==B.type;if(k.push(R?"":" ",j?i(L,{shouldBreak:V}):L),S&&F(B)){let Y=y(t(o,k,v));return c(Y)||Y.type==="fill"?g(Y):[Y]}return k}function C(o){return o.type!=="LogicalExpression"?!1:!!(o.right.type==="ObjectExpression"&&o.right.properties.length>0||o.right.type==="ArrayExpression"&&o.right.elements.length>0||_(o.right))}r.exports={printBinaryishExpression:T,shouldInlineLogicalExpression:C}}}),nd=te({"src/language-js/print/angular.js"(e,r){"use strict";ne();var{builders:{join:t,line:s,group:a}}=qe(),{hasNode:n,hasComment:u,getComments:i}=Ke(),{printBinaryishExpression:l}=Zn();function p(g,c,f){let E=g.getValue();if(E.type.startsWith("NG"))switch(E.type){case"NGRoot":return[f("node"),u(E.node)?" //"+i(E.node)[0].value.trimEnd():""];case"NGPipeExpression":return l(g,c,f);case"NGChainedExpression":return a(t([";",s],g.map(_=>y(_)?f():["(",f(),")"],"expressions")));case"NGEmptyExpression":return"";case"NGQuotedExpression":return[E.prefix,": ",E.value.trim()];case"NGMicrosyntax":return g.map((_,w)=>[w===0?"":d(_.getValue(),w,E)?" ":[";",s],f()],"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/i.test(E.name)?E.name:JSON.stringify(E.name);case"NGMicrosyntaxExpression":return[f("expression"),E.alias===null?"":[" as ",f("alias")]];case"NGMicrosyntaxKeyedExpression":{let _=g.getName(),w=g.getParentNode(),F=d(E,_,w)||(_===1&&(E.key.name==="then"||E.key.name==="else")||_===2&&E.key.name==="else"&&w.body[_-1].type==="NGMicrosyntaxKeyedExpression"&&w.body[_-1].key.name==="then")&&w.body[0].type==="NGMicrosyntaxExpression";return[f("key"),F?" ":": ",f("expression")]}case"NGMicrosyntaxLet":return["let ",f("key"),E.value===null?"":[" = ",f("value")]];case"NGMicrosyntaxAs":return[f("key")," as ",f("alias")];default:throw new Error(`Unknown Angular node type: ${JSON.stringify(E.type)}.`)}}function d(g,c,f){return g.type==="NGMicrosyntaxKeyedExpression"&&g.key.name==="of"&&c===1&&f.body[0].type==="NGMicrosyntaxLet"&&f.body[0].value===null}function y(g){return n(g.getValue(),c=>{switch(c.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}})}r.exports={printAngular:p}}}),ud=te({"src/language-js/print/jsx.js"(e,r){"use strict";ne();var{printComments:t,printDanglingComments:s,printCommentsSeparately:a}=et(),{builders:{line:n,hardline:u,softline:i,group:l,indent:p,conditionalGroup:d,fill:y,ifBreak:g,lineSuffixBoundary:c,join:f},utils:{willBreak:E}}=qe(),{getLast:_,getPreferredQuote:w}=Ue(),{isJsxNode:F,rawText:N,isCallExpression:x,isStringLiteral:I,isBinaryish:P,hasComment:$,CommentCheckFlags:D,hasNodeIgnoreComment:T}=Ke(),m=Ot(),{willPrintOwnComments:C}=fo(),o=U=>U===""||U===n||U===u||U===i;function h(U,Z,se){let fe=U.getValue();if(fe.type==="JSXElement"&&de(fe))return[se("openingElement"),se("closingElement")];let ge=fe.type==="JSXElement"?se("openingElement"):se("openingFragment"),he=fe.type==="JSXElement"?se("closingElement"):se("closingFragment");if(fe.children.length===1&&fe.children[0].type==="JSXExpressionContainer"&&(fe.children[0].expression.type==="TemplateLiteral"||fe.children[0].expression.type==="TaggedTemplateExpression"))return[ge,...U.map(se,"children"),he];fe.children=fe.children.map(A=>Fe(A)?{type:"JSXText",value:" ",raw:" "}:A);let we=fe.children.some(F),ke=fe.children.filter(A=>A.type==="JSXExpressionContainer").length>1,Re=fe.type==="JSXElement"&&fe.openingElement.attributes.length>1,Ne=E(ge)||we||Re||ke,Pe=U.getParentNode().rootMarker==="mdx",oe=Z.singleQuote?"{' '}":'{" "}',H=Pe?" ":g([oe,i]," "),pe=fe.openingElement&&fe.openingElement.name&&fe.openingElement.name.name==="fbt",X=v(U,Z,se,H,pe),le=fe.children.some(A=>ue(A));for(let A=X.length-2;A>=0;A--){let G=X[A]===""&&X[A+1]==="",re=X[A]===u&&X[A+1]===""&&X[A+2]===u,ye=(X[A]===i||X[A]===u)&&X[A+1]===""&&X[A+2]===H,Ce=X[A]===H&&X[A+1]===""&&(X[A+2]===i||X[A+2]===u),Be=X[A]===H&&X[A+1]===""&&X[A+2]===H,ve=X[A]===i&&X[A+1]===""&&X[A+2]===u||X[A]===u&&X[A+1]===""&&X[A+2]===i;re&&le||G||ye||Be||ve?X.splice(A,2):Ce&&X.splice(A+1,2)}for(;X.length>0&&o(_(X));)X.pop();for(;X.length>1&&o(X[0])&&o(X[1]);)X.shift(),X.shift();let Ae=[];for(let[A,G]of X.entries()){if(G===H){if(A===1&&X[A-1]===""){if(X.length===2){Ae.push(oe);continue}Ae.push([oe,u]);continue}else if(A===X.length-1){Ae.push(oe);continue}else if(X[A-1]===""&&X[A-2]===u){Ae.push(oe);continue}}Ae.push(G),E(G)&&(Ne=!0)}let Ee=le?y(Ae):l(Ae,{shouldBreak:!0});if(Pe)return Ee;let De=l([ge,p([u,Ee]),u,he]);return Ne?De:d([l([ge,...X,he]),De])}function v(U,Z,se,fe,ge){let he=[];return U.each((we,ke,Re)=>{let Ne=we.getValue();if(Ne.type==="JSXText"){let Pe=N(Ne);if(ue(Ne)){let oe=Pe.split(ce);if(oe[0]===""){if(he.push(""),oe.shift(),/\n/.test(oe[0])){let pe=Re[ke+1];he.push(b(ge,oe[1],Ne,pe))}else he.push(fe);oe.shift()}let H;if(_(oe)===""&&(oe.pop(),H=oe.pop()),oe.length===0)return;for(let[pe,X]of oe.entries())pe%2===1?he.push(n):he.push(X);if(H!==void 0)if(/\n/.test(H)){let pe=Re[ke+1];he.push(b(ge,_(he),Ne,pe))}else he.push(fe);else{let pe=Re[ke+1];he.push(S(ge,_(he),Ne,pe))}}else/\n/.test(Pe)?Pe.match(/\n/g).length>1&&he.push("",u):he.push("",fe)}else{let Pe=se();he.push(Pe);let oe=Re[ke+1];if(oe&&ue(oe)){let pe=K(N(oe)).split(ce)[0];he.push(S(ge,pe,Ne,oe))}else he.push(u)}},"children"),he}function S(U,Z,se,fe){return U?"":se.type==="JSXElement"&&!se.closingElement||fe&&fe.type==="JSXElement"&&!fe.closingElement?Z.length===1?i:u:i}function b(U,Z,se,fe){return U?u:Z.length===1?se.type==="JSXElement"&&!se.closingElement||fe&&fe.type==="JSXElement"&&!fe.closingElement?u:i:u}function B(U,Z,se){let fe=U.getParentNode();if(!fe||{ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[fe.type])return Z;let he=U.match(void 0,ke=>ke.type==="ArrowFunctionExpression",x,ke=>ke.type==="JSXExpressionContainer"),we=m(U,se);return l([we?"":g("("),p([i,Z]),i,we?"":g(")")],{shouldBreak:he})}function k(U,Z,se){let fe=U.getValue(),ge=[];if(ge.push(se("name")),fe.value){let he;if(I(fe.value)){let ke=N(fe.value).slice(1,-1).replace(/'/g,"'").replace(/"/g,'"'),{escaped:Re,quote:Ne,regex:Pe}=w(ke,Z.jsxSingleQuote?"'":'"');ke=ke.replace(Pe,Re);let{leading:oe,trailing:H}=U.call(()=>a(U,Z),"value");he=[oe,Ne,ke,Ne,H]}else he=se("value");ge.push("=",he)}return ge}function M(U,Z,se){let fe=U.getValue(),ge=(he,we)=>he.type==="JSXEmptyExpression"||!$(he)&&(he.type==="ArrayExpression"||he.type==="ObjectExpression"||he.type==="ArrowFunctionExpression"||he.type==="AwaitExpression"&&(ge(he.argument,he)||he.argument.type==="JSXElement")||x(he)||he.type==="FunctionExpression"||he.type==="TemplateLiteral"||he.type==="TaggedTemplateExpression"||he.type==="DoExpression"||F(we)&&(he.type==="ConditionalExpression"||P(he)));return ge(fe.expression,U.getParentNode(0))?l(["{",se("expression"),c,"}"]):l(["{",p([i,se("expression")]),i,c,"}"])}function R(U,Z,se){let fe=U.getValue(),ge=fe.name&&$(fe.name)||fe.typeParameters&&$(fe.typeParameters);if(fe.selfClosing&&fe.attributes.length===0&&!ge)return["<",se("name"),se("typeParameters")," />"];if(fe.attributes&&fe.attributes.length===1&&fe.attributes[0].value&&I(fe.attributes[0].value)&&!fe.attributes[0].value.value.includes(` -`)&&!ge&&!$(fe.attributes[0]))return l(["<",se("name"),se("typeParameters")," ",...U.map(se,"attributes"),fe.selfClosing?" />":">"]);let he=fe.attributes&&fe.attributes.some(ke=>ke.value&&I(ke.value)&&ke.value.value.includes(` -`)),we=Z.singleAttributePerLine&&fe.attributes.length>1?u:n;return l(["<",se("name"),se("typeParameters"),p(U.map(()=>[we,se()],"attributes")),...q(fe,Z,ge)],{shouldBreak:he})}function q(U,Z,se){return U.selfClosing?[n,"/>"]:J(U,Z,se)?[">"]:[i,">"]}function J(U,Z,se){let fe=U.attributes.length>0&&$(_(U.attributes),D.Trailing);return U.attributes.length===0&&!se||(Z.bracketSameLine||Z.jsxBracketSameLine)&&(!se||U.attributes.length>0)&&!fe}function L(U,Z,se){let fe=U.getValue(),ge=[];ge.push(""),ge}function Q(U,Z){let se=U.getValue(),fe=$(se),ge=$(se,D.Line),he=se.type==="JSXOpeningFragment";return[he?"<":""]}function V(U,Z,se){let fe=t(U,h(U,Z,se),Z);return B(U,fe,Z)}function j(U,Z){let se=U.getValue(),fe=$(se,D.Line);return[s(U,Z,!fe),fe?u:""]}function Y(U,Z,se){let fe=U.getValue();return["{",U.call(ge=>{let he=["...",se()],we=ge.getValue();return!$(we)||!C(ge)?he:[p([i,t(ge,he,Z)]),i]},fe.type==="JSXSpreadAttribute"?"argument":"expression"),"}"]}function ie(U,Z,se){let fe=U.getValue();if(fe.type.startsWith("JSX"))switch(fe.type){case"JSXAttribute":return k(U,Z,se);case"JSXIdentifier":return String(fe.name);case"JSXNamespacedName":return f(":",[se("namespace"),se("name")]);case"JSXMemberExpression":return f(".",[se("object"),se("property")]);case"JSXSpreadAttribute":return Y(U,Z,se);case"JSXSpreadChild":return Y(U,Z,se);case"JSXExpressionContainer":return M(U,Z,se);case"JSXFragment":case"JSXElement":return V(U,Z,se);case"JSXOpeningElement":return R(U,Z,se);case"JSXClosingElement":return L(U,Z,se);case"JSXOpeningFragment":case"JSXClosingFragment":return Q(U,Z);case"JSXEmptyExpression":return j(U,Z);case"JSXText":throw new Error("JSXText should be handled by JSXElement");default:throw new Error(`Unknown JSX node type: ${JSON.stringify(fe.type)}.`)}}var ee=` -\r `,ce=new RegExp("(["+ee+"]+)"),W=new RegExp("[^"+ee+"]"),K=U=>U.replace(new RegExp("(?:^"+ce.source+"|"+ce.source+"$)"),"");function de(U){if(U.children.length===0)return!0;if(U.children.length>1)return!1;let Z=U.children[0];return Z.type==="JSXText"&&!ue(Z)}function ue(U){return U.type==="JSXText"&&(W.test(N(U))||!/\n/.test(N(U)))}function Fe(U){return U.type==="JSXExpressionContainer"&&I(U.expression)&&U.expression.value===" "&&!$(U.expression)}function z(U){let Z=U.getValue(),se=U.getParentNode();if(!se||!Z||!F(Z)||!F(se))return!1;let fe=se.children.indexOf(Z),ge=null;for(let he=fe;he>0;he--){let we=se.children[he-1];if(!(we.type==="JSXText"&&!ue(we))){ge=we;break}}return ge&&ge.type==="JSXExpressionContainer"&&ge.expression.type==="JSXEmptyExpression"&&T(ge.expression)}r.exports={hasJsxIgnoreComment:z,printJsx:ie}}}),ct=te({"src/language-js/print/misc.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{indent:s,join:a,line:n}}=qe(),{isFlowAnnotationComment:u}=Ke();function i(_){let w=_.getValue();return!w.optional||w.type==="Identifier"&&w===_.getParentNode().key?"":w.type==="OptionalCallExpression"||w.type==="OptionalMemberExpression"&&w.computed?"?.":"?"}function l(_){return _.getValue().definite||_.match(void 0,(w,F)=>F==="id"&&w.type==="VariableDeclarator"&&w.definite)?"!":""}function p(_,w,F){let N=_.getValue();return N.typeArguments?F("typeArguments"):N.typeParameters?F("typeParameters"):""}function d(_,w,F){let N=_.getValue();if(!N.typeAnnotation)return"";let x=_.getParentNode(),I=x.type==="DeclareFunction"&&x.id===N;return u(w.originalText,N.typeAnnotation)?[" /*: ",F("typeAnnotation")," */"]:[I?"":": ",F("typeAnnotation")]}function y(_,w,F){return["::",F("callee")]}function g(_,w,F){let N=_.getValue();return t(N.modifiers)?[a(" ",_.map(F,"modifiers"))," "]:""}function c(_,w,F){return _.type==="EmptyStatement"?";":_.type==="BlockStatement"||F?[" ",w]:s([n,w])}function f(_,w,F){return["...",F("argument"),d(_,w,F)]}function E(_,w){let F=_.slice(1,-1);if(F.includes('"')||F.includes("'"))return _;let N=w.singleQuote?"'":'"';return N+F+N}r.exports={printOptionalToken:i,printDefiniteToken:l,printFunctionTypeParameters:p,printBindExpressionCallee:y,printTypeScriptModifiers:g,printTypeAnnotation:d,printRestSpread:f,adjustClause:c,printDirective:E}}}),Qt=te({"src/language-js/print/array.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{builders:{line:s,softline:a,hardline:n,group:u,indent:i,ifBreak:l,fill:p}}=qe(),{getLast:d,hasNewline:y}=Ue(),{shouldPrintComma:g,hasComment:c,CommentCheckFlags:f,isNextLineEmpty:E,isNumericLiteral:_,isSignedNumericLiteral:w}=Ke(),{locStart:F}=ut(),{printOptionalToken:N,printTypeAnnotation:x}=ct();function I(T,m,C){let o=T.getValue(),h=[],v=o.type==="TupleExpression"?"#[":"[",S="]";if(o.elements.length===0)c(o,f.Dangling)?h.push(u([v,t(T,m),a,S])):h.push(v,S);else{let b=d(o.elements),B=!(b&&b.type==="RestElement"),k=b===null,M=Symbol("array"),R=!m.__inJestEach&&o.elements.length>1&&o.elements.every((L,Q,V)=>{let j=L&&L.type;if(j!=="ArrayExpression"&&j!=="ObjectExpression")return!1;let Y=V[Q+1];if(Y&&j!==Y.type)return!1;let ie=j==="ArrayExpression"?"elements":"properties";return L[ie]&&L[ie].length>1}),q=P(o,m),J=B?k?",":g(m)?q?l(",","",{groupId:M}):l(","):"":"";h.push(u([v,i([a,q?D(T,m,C,J):[$(T,m,"elements",C),J],t(T,m,!0)]),a,S],{shouldBreak:R,id:M}))}return h.push(N(T),x(T,m,C)),h}function P(T,m){return T.elements.length>1&&T.elements.every(C=>C&&(_(C)||w(C)&&!c(C.argument))&&!c(C,f.Trailing|f.Line,o=>!y(m.originalText,F(o),{backwards:!0})))}function $(T,m,C,o){let h=[],v=[];return T.each(S=>{h.push(v,u(o())),v=[",",s],S.getValue()&&E(S.getValue(),m)&&v.push(a)},C),h}function D(T,m,C,o){let h=[];return T.each((v,S,b)=>{let B=S===b.length-1;h.push([C(),B?o:","]),B||h.push(E(v.getValue(),m)?[n,n]:c(b[S+1],f.Leading|f.Line)?n:s)},"elements"),p(h)}r.exports={printArray:I,printArrayItems:$,isConciselyPrintedArray:P}}}),mo=te({"src/language-js/print/call-arguments.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{getLast:s,getPenultimate:a}=Ue(),{getFunctionParameters:n,hasComment:u,CommentCheckFlags:i,isFunctionCompositionArgs:l,isJsxNode:p,isLongCurriedCallExpression:d,shouldPrintComma:y,getCallArguments:g,iterateCallArgumentsPath:c,isNextLineEmpty:f,isCallExpression:E,isStringLiteral:_,isObjectProperty:w,isTSTypeExpression:F}=Ke(),{builders:{line:N,hardline:x,softline:I,group:P,indent:$,conditionalGroup:D,ifBreak:T,breakParent:m},utils:{willBreak:C}}=qe(),{ArgExpansionBailout:o}=Kt(),{isConciselyPrintedArray:h}=Qt();function v(q,J,L){let Q=q.getValue(),V=Q.type==="ImportExpression",j=g(Q);if(j.length===0)return["(",t(q,J,!0),")"];if(k(j))return["(",L(["arguments",0]),", ",L(["arguments",1]),")"];let Y=!1,ie=!1,ee=j.length-1,ce=[];c(q,(z,U)=>{let Z=z.getNode(),se=[L()];U===ee||(f(Z,J)?(U===0&&(ie=!0),Y=!0,se.push(",",x,x)):se.push(",",N)),ce.push(se)});let W=!(V||Q.callee&&Q.callee.type==="Import")&&y(J,"all")?",":"";function K(){return P(["(",$([N,...ce]),W,N,")"],{shouldBreak:!0})}if(Y||q.getParentNode().type!=="Decorator"&&l(j))return K();let de=B(j),ue=b(j,J);if(de||ue){if(de?ce.slice(1).some(C):ce.slice(0,-1).some(C))return K();let z=[];try{q.try(()=>{c(q,(U,Z)=>{de&&Z===0&&(z=[[L([],{expandFirstArg:!0}),ce.length>1?",":"",ie?x:N,ie?x:""],...ce.slice(1)]),ue&&Z===ee&&(z=[...ce.slice(0,-1),L([],{expandLastArg:!0})])})})}catch(U){if(U instanceof o)return K();throw U}return[ce.some(C)?m:"",D([["(",...z,")"],de?["(",P(z[0],{shouldBreak:!0}),...z.slice(1),")"]:["(",...ce.slice(0,-1),P(s(z),{shouldBreak:!0}),")"],K()])]}let Fe=["(",$([I,...ce]),T(W),I,")"];return d(q)?Fe:P(Fe,{shouldBreak:ce.some(C)||Y})}function S(q){let J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return q.type==="ObjectExpression"&&(q.properties.length>0||u(q))||q.type==="ArrayExpression"&&(q.elements.length>0||u(q))||q.type==="TSTypeAssertion"&&S(q.expression)||F(q)&&S(q.expression)||q.type==="FunctionExpression"||q.type==="ArrowFunctionExpression"&&(!q.returnType||!q.returnType.typeAnnotation||q.returnType.typeAnnotation.type!=="TSTypeReference"||M(q.body))&&(q.body.type==="BlockStatement"||q.body.type==="ArrowFunctionExpression"&&S(q.body,!0)||q.body.type==="ObjectExpression"||q.body.type==="ArrayExpression"||!J&&(E(q.body)||q.body.type==="ConditionalExpression")||p(q.body))||q.type==="DoExpression"||q.type==="ModuleExpression"}function b(q,J){let L=s(q),Q=a(q);return!u(L,i.Leading)&&!u(L,i.Trailing)&&S(L)&&(!Q||Q.type!==L.type)&&(q.length!==2||Q.type!=="ArrowFunctionExpression"||L.type!=="ArrayExpression")&&!(q.length>1&&L.type==="ArrayExpression"&&h(L,J))}function B(q){if(q.length!==2)return!1;let[J,L]=q;return J.type==="ModuleExpression"&&R(L)?!0:!u(J)&&(J.type==="FunctionExpression"||J.type==="ArrowFunctionExpression"&&J.body.type==="BlockStatement")&&L.type!=="FunctionExpression"&&L.type!=="ArrowFunctionExpression"&&L.type!=="ConditionalExpression"&&!S(L)}function k(q){return q.length===2&&q[0].type==="ArrowFunctionExpression"&&n(q[0]).length===0&&q[0].body.type==="BlockStatement"&&q[1].type==="ArrayExpression"&&!q.some(J=>u(J))}function M(q){return q.type==="BlockStatement"&&(q.body.some(J=>J.type!=="EmptyStatement")||u(q,i.Dangling))}function R(q){return q.type==="ObjectExpression"&&q.properties.length===1&&w(q.properties[0])&&q.properties[0].key.type==="Identifier"&&q.properties[0].key.name==="type"&&_(q.properties[0].value)&&q.properties[0].value.value==="module"}r.exports=v}}),go=te({"src/language-js/print/member.js"(e,r){"use strict";ne();var{builders:{softline:t,group:s,indent:a,label:n}}=qe(),{isNumericLiteral:u,isMemberExpression:i,isCallExpression:l}=Ke(),{printOptionalToken:p}=ct();function d(g,c,f){let E=g.getValue(),_=g.getParentNode(),w,F=0;do w=g.getParentNode(F),F++;while(w&&(i(w)||w.type==="TSNonNullExpression"));let N=f("object"),x=y(g,c,f),I=w&&(w.type==="NewExpression"||w.type==="BindExpression"||w.type==="AssignmentExpression"&&w.left.type!=="Identifier")||E.computed||E.object.type==="Identifier"&&E.property.type==="Identifier"&&!i(_)||(_.type==="AssignmentExpression"||_.type==="VariableDeclarator")&&(l(E.object)&&E.object.arguments.length>0||E.object.type==="TSNonNullExpression"&&l(E.object.expression)&&E.object.expression.arguments.length>0||N.label==="member-chain");return n(N.label==="member-chain"?"member-chain":"member",[N,I?x:s(a([t,x]))])}function y(g,c,f){let E=f("property"),_=g.getValue(),w=p(g);return _.computed?!_.property||u(_.property)?[w,"[",E,"]"]:s([w,"[",a([t,E]),t,"]"]):[w,".",E]}r.exports={printMemberExpression:d,printMemberLookup:y}}}),sd=te({"src/language-js/print/member-chain.js"(e,r){"use strict";ne();var{printComments:t}=et(),{getLast:s,isNextLineEmptyAfterIndex:a,getNextNonSpaceNonCommentCharacterIndex:n}=Ue(),u=Ot(),{isCallExpression:i,isMemberExpression:l,isFunctionOrArrowExpression:p,isLongCurriedCallExpression:d,isMemberish:y,isNumericLiteral:g,isSimpleCallArgument:c,hasComment:f,CommentCheckFlags:E,isNextLineEmpty:_}=Ke(),{locEnd:w}=ut(),{builders:{join:F,hardline:N,group:x,indent:I,conditionalGroup:P,breakParent:$,label:D},utils:{willBreak:T}}=qe(),m=mo(),{printMemberLookup:C}=go(),{printOptionalToken:o,printFunctionTypeParameters:h,printBindExpressionCallee:v}=ct();function S(b,B,k){let M=b.getParentNode(),R=!M||M.type==="ExpressionStatement",q=[];function J(Ne){let{originalText:Pe}=B,oe=n(Pe,Ne,w);return Pe.charAt(oe)===")"?oe!==!1&&a(Pe,oe+1):_(Ne,B)}function L(Ne){let Pe=Ne.getValue();i(Pe)&&(y(Pe.callee)||i(Pe.callee))?(q.unshift({node:Pe,printed:[t(Ne,[o(Ne),h(Ne,B,k),m(Ne,B,k)],B),J(Pe)?N:""]}),Ne.call(oe=>L(oe),"callee")):y(Pe)?(q.unshift({node:Pe,needsParens:u(Ne,B),printed:t(Ne,l(Pe)?C(Ne,B,k):v(Ne,B,k),B)}),Ne.call(oe=>L(oe),"object")):Pe.type==="TSNonNullExpression"?(q.unshift({node:Pe,printed:t(Ne,"!",B)}),Ne.call(oe=>L(oe),"expression")):q.unshift({node:Pe,printed:k()})}let Q=b.getValue();q.unshift({node:Q,printed:[o(b),h(b,B,k),m(b,B,k)]}),Q.callee&&b.call(Ne=>L(Ne),"callee");let V=[],j=[q[0]],Y=1;for(;Y0&&V.push(j);function ee(Ne){return/^[A-Z]|^[$_]+$/.test(Ne)}function ce(Ne){return Ne.length<=B.tabWidth}function W(Ne){let Pe=Ne[1].length>0&&Ne[1][0].node.computed;if(Ne[0].length===1){let H=Ne[0][0].node;return H.type==="ThisExpression"||H.type==="Identifier"&&(ee(H.name)||R&&ce(H.name)||Pe)}let oe=s(Ne[0]).node;return l(oe)&&oe.property.type==="Identifier"&&(ee(oe.property.name)||Pe)}let K=V.length>=2&&!f(V[1][0].node)&&W(V);function de(Ne){let Pe=Ne.map(oe=>oe.printed);return Ne.length>0&&s(Ne).needsParens?["(",...Pe,")"]:Pe}function ue(Ne){return Ne.length===0?"":I(x([N,F(N,Ne.map(de))]))}let Fe=V.map(de),z=Fe,U=K?3:2,Z=V.flat(),se=Z.slice(1,-1).some(Ne=>f(Ne.node,E.Leading))||Z.slice(0,-1).some(Ne=>f(Ne.node,E.Trailing))||V[U]&&f(V[U][0].node,E.Leading);if(V.length<=U&&!se)return d(b)?z:x(z);let fe=s(V[K?1:0]).node,ge=!i(fe)&&J(fe),he=[de(V[0]),K?V.slice(1,2).map(de):"",ge?N:"",ue(V.slice(K?2:1))],we=q.map(Ne=>{let{node:Pe}=Ne;return Pe}).filter(i);function ke(){let Ne=s(s(V)).node,Pe=s(Fe);return i(Ne)&&T(Pe)&&we.slice(0,-1).some(oe=>oe.arguments.some(p))}let Re;return se||we.length>2&&we.some(Ne=>!Ne.arguments.every(Pe=>c(Pe,0)))||Fe.slice(0,-1).some(T)||ke()?Re=x(he):Re=[T(z)||ge?$:"",P([z,he])],D("member-chain",Re)}r.exports=S}}),yo=te({"src/language-js/print/call-expression.js"(e,r){"use strict";ne();var{builders:{join:t,group:s}}=qe(),a=Ot(),{getCallArguments:n,hasFlowAnnotationComment:u,isCallExpression:i,isMemberish:l,isStringLiteral:p,isTemplateOnItsOwnLine:d,isTestCall:y,iterateCallArgumentsPath:g}=Ke(),c=sd(),f=mo(),{printOptionalToken:E,printFunctionTypeParameters:_}=ct();function w(N,x,I){let P=N.getValue(),$=N.getParentNode(),D=P.type==="NewExpression",T=P.type==="ImportExpression",m=E(N),C=n(P);if(C.length>0&&(!T&&!D&&F(P,$)||C.length===1&&d(C[0],x.originalText)||!D&&y(P,$))){let v=[];return g(N,()=>{v.push(I())}),[D?"new ":"",I("callee"),m,_(N,x,I),"(",t(", ",v),")"]}let o=(x.parser==="babel"||x.parser==="babel-flow")&&P.callee&&P.callee.type==="Identifier"&&u(P.callee.trailingComments);if(o&&(P.callee.trailingComments[0].printed=!0),!T&&!D&&l(P.callee)&&!N.call(v=>a(v,x),"callee"))return c(N,x,I);let h=[D?"new ":"",T?"import":I("callee"),m,o?`/*:: ${P.callee.trailingComments[0].value.slice(2).trim()} */`:"",_(N,x,I),f(N,x,I)];return T||i(P.callee)?s(h):h}function F(N,x){if(N.callee.type!=="Identifier")return!1;if(N.callee.name==="require")return!0;if(N.callee.name==="define"){let I=n(N);return x.type==="ExpressionStatement"&&(I.length===1||I.length===2&&I[0].type==="ArrayExpression"||I.length===3&&p(I[0])&&I[1].type==="ArrayExpression")}return!1}r.exports={printCallExpression:w}}}),Zt=te({"src/language-js/print/assignment.js"(e,r){"use strict";ne();var{isNonEmptyArray:t,getStringWidth:s}=Ue(),{builders:{line:a,group:n,indent:u,indentIfBreak:i,lineSuffixBoundary:l},utils:{cleanDoc:p,willBreak:d,canBreak:y}}=qe(),{hasLeadingOwnLineComment:g,isBinaryish:c,isStringLiteral:f,isLiteral:E,isNumericLiteral:_,isCallExpression:w,isMemberExpression:F,getCallArguments:N,rawText:x,hasComment:I,isSignedNumericLiteral:P,isObjectProperty:$}=Ke(),{shouldInlineLogicalExpression:D}=Zn(),{printCallExpression:T}=yo();function m(W,K,de,ue,Fe,z){let U=h(W,K,de,ue,z),Z=de(z,{assignmentLayout:U});switch(U){case"break-after-operator":return n([n(ue),Fe,n(u([a,Z]))]);case"never-break-after-operator":return n([n(ue),Fe," ",Z]);case"fluid":{let se=Symbol("assignment");return n([n(ue),Fe,n(u(a),{id:se}),l,i(Z,{groupId:se})])}case"break-lhs":return n([ue,Fe," ",n(Z)]);case"chain":return[n(ue),Fe,a,Z];case"chain-tail":return[n(ue),Fe,u([a,Z])];case"chain-tail-arrow-chain":return[n(ue),Fe,Z];case"only-left":return ue}}function C(W,K,de){let ue=W.getValue();return m(W,K,de,de("left"),[" ",ue.operator],"right")}function o(W,K,de){return m(W,K,de,de("id")," =","init")}function h(W,K,de,ue,Fe){let z=W.getValue(),U=z[Fe];if(!U)return"only-left";let Z=!b(U);if(W.match(b,B,he=>!Z||he.type!=="ExpressionStatement"&&he.type!=="VariableDeclaration"))return Z?U.type==="ArrowFunctionExpression"&&U.body.type==="ArrowFunctionExpression"?"chain-tail-arrow-chain":"chain-tail":"chain";if(!Z&&b(U.right)||g(K.originalText,U))return"break-after-operator";if(U.type==="CallExpression"&&U.callee.name==="require"||K.parser==="json5"||K.parser==="json")return"never-break-after-operator";if(S(z)||k(z)||q(z)||J(z)&&y(ue))return"break-lhs";let ge=ie(z,ue,K);return W.call(()=>v(W,K,de,ge),Fe)?"break-after-operator":ge||U.type==="TemplateLiteral"||U.type==="TaggedTemplateExpression"||U.type==="BooleanLiteral"||_(U)||U.type==="ClassExpression"?"never-break-after-operator":"fluid"}function v(W,K,de,ue){let Fe=W.getValue();if(c(Fe)&&!D(Fe))return!0;switch(Fe.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"ConditionalExpression":{let{test:Z}=Fe;return c(Z)&&!D(Z)}case"ClassExpression":return t(Fe.decorators)}if(ue)return!1;let z=Fe,U=[];for(;;)if(z.type==="UnaryExpression")z=z.argument,U.push("argument");else if(z.type==="TSNonNullExpression")z=z.expression,U.push("expression");else break;return!!(f(z)||W.call(()=>V(W,K,de),...U))}function S(W){if(B(W)){let K=W.left||W.id;return K.type==="ObjectPattern"&&K.properties.length>2&&K.properties.some(de=>$(de)&&(!de.shorthand||de.value&&de.value.type==="AssignmentPattern"))}return!1}function b(W){return W.type==="AssignmentExpression"}function B(W){return b(W)||W.type==="VariableDeclarator"}function k(W){let K=M(W);if(t(K)){let de=W.type==="TSTypeAliasDeclaration"?"constraint":"bound";if(K.length>1&&K.some(ue=>ue[de]||ue.default))return!0}return!1}function M(W){return R(W)&&W.typeParameters&&W.typeParameters.params?W.typeParameters.params:null}function R(W){return W.type==="TSTypeAliasDeclaration"||W.type==="TypeAlias"}function q(W){if(W.type!=="VariableDeclarator")return!1;let{typeAnnotation:K}=W.id;if(!K||!K.typeAnnotation)return!1;let de=L(K.typeAnnotation);return t(de)&&de.length>1&&de.some(ue=>t(L(ue))||ue.type==="TSConditionalType")}function J(W){return W.type==="VariableDeclarator"&&W.init&&W.init.type==="ArrowFunctionExpression"}function L(W){return Q(W)&&W.typeParameters&&W.typeParameters.params?W.typeParameters.params:null}function Q(W){return W.type==="TSTypeReference"||W.type==="GenericTypeAnnotation"}function V(W,K,de){let ue=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Fe=W.getValue(),z=()=>V(W,K,de,!0);if(Fe.type==="TSNonNullExpression")return W.call(z,"expression");if(w(Fe)){if(T(W,K,de).label==="member-chain")return!1;let Z=N(Fe);return!(Z.length===0||Z.length===1&&Y(Z[0],K))||ee(Fe,de)?!1:W.call(z,"callee")}return F(Fe)?W.call(z,"object"):ue&&(Fe.type==="Identifier"||Fe.type==="ThisExpression")}var j=.25;function Y(W,K){let{printWidth:de}=K;if(I(W))return!1;let ue=de*j;if(W.type==="ThisExpression"||W.type==="Identifier"&&W.name.length<=ue||P(W)&&!I(W.argument))return!0;let Fe=W.type==="Literal"&&"regex"in W&&W.regex.pattern||W.type==="RegExpLiteral"&&W.pattern;return Fe?Fe.length<=ue:f(W)?x(W).length<=ue:W.type==="TemplateLiteral"?W.expressions.length===0&&W.quasis[0].value.raw.length<=ue&&!W.quasis[0].value.raw.includes(` -`):E(W)}function ie(W,K,de){if(!$(W))return!1;K=p(K);let ue=3;return typeof K=="string"&&s(K)1)return!0;if(de.length===1){let Fe=de[0];if(Fe.type==="TSUnionType"||Fe.type==="UnionTypeAnnotation"||Fe.type==="TSIntersectionType"||Fe.type==="IntersectionTypeAnnotation"||Fe.type==="TSTypeLiteral"||Fe.type==="ObjectTypeAnnotation")return!0}let ue=W.typeParameters?"typeParameters":"typeArguments";if(d(K(ue)))return!0}return!1}function ce(W){return W.typeParameters&&W.typeParameters.params||W.typeArguments&&W.typeArguments.params}r.exports={printVariableDeclarator:o,printAssignmentExpression:C,printAssignment:m,isArrowFunctionVariableDeclarator:J}}}),Ir=te({"src/language-js/print/function-parameters.js"(e,r){"use strict";ne();var{getNextNonSpaceNonCommentCharacter:t}=Ue(),{printDanglingComments:s}=et(),{builders:{line:a,hardline:n,softline:u,group:i,indent:l,ifBreak:p},utils:{removeLines:d,willBreak:y}}=qe(),{getFunctionParameters:g,iterateFunctionParametersPath:c,isSimpleType:f,isTestCall:E,isTypeAnnotationAFunction:_,isObjectType:w,isObjectTypePropertyAFunction:F,hasRestParameter:N,shouldPrintComma:x,hasComment:I,isNextLineEmpty:P}=Ke(),{locEnd:$}=ut(),{ArgExpansionBailout:D}=Kt(),{printFunctionTypeParameters:T}=ct();function m(v,S,b,B,k){let M=v.getValue(),R=g(M),q=k?T(v,b,S):"";if(R.length===0)return[q,"(",s(v,b,!0,ie=>t(b.originalText,ie,$)===")"),")"];let J=v.getParentNode(),L=E(J),Q=C(M),V=[];if(c(v,(ie,ee)=>{let ce=ee===R.length-1;ce&&M.rest&&V.push("..."),V.push(S()),!ce&&(V.push(","),L||Q?V.push(" "):P(R[ee],b)?V.push(n,n):V.push(a))}),B){if(y(q)||y(V))throw new D;return i([d(q),"(",d(V),")"])}let j=R.every(ie=>!ie.decorators);return Q&&j?[q,"(",...V,")"]:L?[q,"(",...V,")"]:(F(J)||_(J)||J.type==="TypeAlias"||J.type==="UnionTypeAnnotation"||J.type==="TSUnionType"||J.type==="IntersectionTypeAnnotation"||J.type==="FunctionTypeAnnotation"&&J.returnType===M)&&R.length===1&&R[0].name===null&&M.this!==R[0]&&R[0].typeAnnotation&&M.typeParameters===null&&f(R[0].typeAnnotation)&&!M.rest?b.arrowParens==="always"?["(",...V,")"]:V:[q,"(",l([u,...V]),p(!N(M)&&x(b,"all")?",":""),u,")"]}function C(v){if(!v)return!1;let S=g(v);if(S.length!==1)return!1;let[b]=S;return!I(b)&&(b.type==="ObjectPattern"||b.type==="ArrayPattern"||b.type==="Identifier"&&b.typeAnnotation&&(b.typeAnnotation.type==="TypeAnnotation"||b.typeAnnotation.type==="TSTypeAnnotation")&&w(b.typeAnnotation.typeAnnotation)||b.type==="FunctionTypeParam"&&w(b.typeAnnotation)||b.type==="AssignmentPattern"&&(b.left.type==="ObjectPattern"||b.left.type==="ArrayPattern")&&(b.right.type==="Identifier"||b.right.type==="ObjectExpression"&&b.right.properties.length===0||b.right.type==="ArrayExpression"&&b.right.elements.length===0))}function o(v){let S;return v.returnType?(S=v.returnType,S.typeAnnotation&&(S=S.typeAnnotation)):v.typeAnnotation&&(S=v.typeAnnotation),S}function h(v,S){let b=o(v);if(!b)return!1;let B=v.typeParameters&&v.typeParameters.params;if(B){if(B.length>1)return!1;if(B.length===1){let k=B[0];if(k.constraint||k.default)return!1}}return g(v).length===1&&(w(b)||y(S))}r.exports={printFunctionParameters:m,shouldHugFunctionParameters:C,shouldGroupFunctionParameters:h}}}),kr=te({"src/language-js/print/type-annotation.js"(e,r){"use strict";ne();var{printComments:t,printDanglingComments:s}=et(),{isNonEmptyArray:a}=Ue(),{builders:{group:n,join:u,line:i,softline:l,indent:p,align:d,ifBreak:y}}=qe(),g=Ot(),{locStart:c}=ut(),{isSimpleType:f,isObjectType:E,hasLeadingOwnLineComment:_,isObjectTypePropertyAFunction:w,shouldPrintComma:F}=Ke(),{printAssignment:N}=Zt(),{printFunctionParameters:x,shouldGroupFunctionParameters:I}=Ir(),{printArrayItems:P}=Qt();function $(b){if(f(b)||E(b))return!0;if(b.type==="UnionTypeAnnotation"||b.type==="TSUnionType"){let B=b.types.filter(M=>M.type==="VoidTypeAnnotation"||M.type==="TSVoidKeyword"||M.type==="NullLiteralTypeAnnotation"||M.type==="TSNullKeyword").length,k=b.types.some(M=>M.type==="ObjectTypeAnnotation"||M.type==="TSTypeLiteral"||M.type==="GenericTypeAnnotation"||M.type==="TSTypeReference");if(b.types.length-1===B&&k)return!0}return!1}function D(b,B,k){let M=B.semi?";":"",R=b.getValue(),q=[];return q.push("opaque type ",k("id"),k("typeParameters")),R.supertype&&q.push(": ",k("supertype")),R.impltype&&q.push(" = ",k("impltype")),q.push(M),q}function T(b,B,k){let M=B.semi?";":"",R=b.getValue(),q=[];R.declare&&q.push("declare "),q.push("type ",k("id"),k("typeParameters"));let J=R.type==="TSTypeAliasDeclaration"?"typeAnnotation":"right";return[N(b,B,k,q," =",J),M]}function m(b,B,k){let M=b.getValue(),R=b.map(k,"types"),q=[],J=!1;for(let L=0;L1&&(J=!0),q.push(" & ",L>1?p(R[L]):R[L]));return n(q)}function C(b,B,k){let M=b.getValue(),R=b.getParentNode(),q=R.type!=="TypeParameterInstantiation"&&R.type!=="TSTypeParameterInstantiation"&&R.type!=="GenericTypeAnnotation"&&R.type!=="TSTypeReference"&&R.type!=="TSTypeAssertion"&&R.type!=="TupleTypeAnnotation"&&R.type!=="TSTupleType"&&!(R.type==="FunctionTypeParam"&&!R.name&&b.getParentNode(1).this!==R)&&!((R.type==="TypeAlias"||R.type==="VariableDeclarator"||R.type==="TSTypeAliasDeclaration")&&_(B.originalText,M)),J=$(M),L=b.map(j=>{let Y=k();return J||(Y=d(2,Y)),t(j,Y,B)},"types");if(J)return u(" | ",L);let Q=q&&!_(B.originalText,M),V=[y([Q?i:"","| "]),u([i,"| "],L)];return g(b,B)?n([p(V),l]):R.type==="TupleTypeAnnotation"&&R.types.length>1||R.type==="TSTupleType"&&R.elementTypes.length>1?n([p([y(["(",l]),V]),l,y(")")]):n(q?p(V):V)}function o(b,B,k){let M=b.getValue(),R=[],q=b.getParentNode(0),J=b.getParentNode(1),L=b.getParentNode(2),Q=M.type==="TSFunctionType"||!((q.type==="ObjectTypeProperty"||q.type==="ObjectTypeInternalSlot")&&!q.variance&&!q.optional&&c(q)===c(M)||q.type==="ObjectTypeCallProperty"||L&&L.type==="DeclareFunction"),V=Q&&(q.type==="TypeAnnotation"||q.type==="TSTypeAnnotation"),j=V&&Q&&(q.type==="TypeAnnotation"||q.type==="TSTypeAnnotation")&&J.type==="ArrowFunctionExpression";w(q)&&(Q=!0,V=!0),j&&R.push("(");let Y=x(b,k,B,!1,!0),ie=M.returnType||M.predicate||M.typeAnnotation?[Q?" => ":": ",k("returnType"),k("predicate"),k("typeAnnotation")]:"",ee=I(M,ie);return R.push(ee?n(Y):Y),ie&&R.push(ie),j&&R.push(")"),n(R)}function h(b,B,k){let M=b.getValue(),R=M.type==="TSTupleType"?"elementTypes":"types",q=M[R],J=a(q),L=J?l:"";return n(["[",p([L,P(b,B,R,k)]),y(J&&F(B,"all")?",":""),s(b,B,!0),L,"]"])}function v(b,B,k){let M=b.getValue(),R=M.type==="OptionalIndexedAccessType"&&M.optional?"?.[":"[";return[k("objectType"),R,k("indexType"),"]"]}function S(b,B,k){let M=b.getValue();return[M.postfix?"":k,B("typeAnnotation"),M.postfix?k:""]}r.exports={printOpaqueType:D,printTypeAlias:T,printIntersectionType:m,printUnionType:C,printFunctionType:o,printTupleType:h,printIndexedAccessType:v,shouldHugType:$,printJSDocType:S}}}),Lr=te({"src/language-js/print/type-parameters.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{builders:{join:s,line:a,hardline:n,softline:u,group:i,indent:l,ifBreak:p}}=qe(),{isTestCall:d,hasComment:y,CommentCheckFlags:g,isTSXFile:c,shouldPrintComma:f,getFunctionParameters:E,isObjectType:_,getTypeScriptMappedTypeModifier:w}=Ke(),{createGroupIdMapper:F}=Ue(),{shouldHugType:N}=kr(),{isArrowFunctionVariableDeclarator:x}=Zt(),I=F("typeParameters");function P(T,m,C,o){let h=T.getValue();if(!h[o])return"";if(!Array.isArray(h[o]))return C(o);let v=T.getNode(2),S=v&&d(v),b=T.match(M=>!(M[o].length===1&&_(M[o][0])),void 0,(M,R)=>R==="typeAnnotation",M=>M.type==="Identifier",x);if(h[o].length===0||!b&&(S||h[o].length===1&&(h[o][0].type==="NullableTypeAnnotation"||N(h[o][0]))))return["<",s(", ",T.map(C,o)),$(T,m),">"];let k=h.type==="TSTypeParameterInstantiation"?"":E(h).length===1&&c(m)&&!h[o][0].constraint&&T.getParentNode().type==="ArrowFunctionExpression"?",":f(m,"all")?p(","):"";return i(["<",l([u,s([",",a],T.map(C,o))]),k,u,">"],{id:I(h)})}function $(T,m){let C=T.getValue();if(!y(C,g.Dangling))return"";let o=!y(C,g.Line),h=t(T,m,o);return o?h:[h,n]}function D(T,m,C){let o=T.getValue(),h=[o.type==="TSTypeParameter"&&o.const?"const ":""],v=T.getParentNode();return v.type==="TSMappedType"?(v.readonly&&h.push(w(v.readonly,"readonly")," "),h.push("[",C("name")),o.constraint&&h.push(" in ",C("constraint")),v.nameType&&h.push(" as ",T.callParent(()=>C("nameType"))),h.push("]"),h):(o.variance&&h.push(C("variance")),o.in&&h.push("in "),o.out&&h.push("out "),h.push(C("name")),o.bound&&h.push(": ",C("bound")),o.constraint&&h.push(" extends ",C("constraint")),o.default&&h.push(" = ",C("default")),h)}r.exports={printTypeParameter:D,printTypeParameters:P,getTypeParametersGroupId:I}}}),er=te({"src/language-js/print/property.js"(e,r){"use strict";ne();var{printComments:t}=et(),{printString:s,printNumber:a}=Ue(),{isNumericLiteral:n,isSimpleNumber:u,isStringLiteral:i,isStringPropSafeToUnquote:l,rawText:p}=Ke(),{printAssignment:d}=Zt(),y=new WeakMap;function g(f,E,_){let w=f.getNode();if(w.computed)return["[",_("key"),"]"];let F=f.getParentNode(),{key:N}=w;if(E.quoteProps==="consistent"&&!y.has(F)){let x=(F.properties||F.body||F.members).some(I=>!I.computed&&I.key&&i(I.key)&&!l(I,E));y.set(F,x)}if((N.type==="Identifier"||n(N)&&u(a(p(N)))&&String(N.value)===a(p(N))&&!(E.parser==="typescript"||E.parser==="babel-ts"))&&(E.parser==="json"||E.quoteProps==="consistent"&&y.get(F))){let x=s(JSON.stringify(N.type==="Identifier"?N.name:N.value.toString()),E);return f.call(I=>t(I,x,E),"key")}return l(w,E)&&(E.quoteProps==="as-needed"||E.quoteProps==="consistent"&&!y.get(F))?f.call(x=>t(x,/^\d/.test(N.value)?a(N.value):N.value,E),"key"):_("key")}function c(f,E,_){return f.getValue().shorthand?_("value"):d(f,E,_,g(f,E,_),":","value")}r.exports={printProperty:c,printPropertyKey:g}}}),Or=te({"src/language-js/print/function.js"(e,r){"use strict";ne();var t=Yt(),{printDanglingComments:s,printCommentsSeparately:a}=et(),n=lt(),{getNextNonSpaceNonCommentCharacterIndex:u}=Ue(),{builders:{line:i,softline:l,group:p,indent:d,ifBreak:y,hardline:g,join:c,indentIfBreak:f},utils:{removeLines:E,willBreak:_}}=qe(),{ArgExpansionBailout:w}=Kt(),{getFunctionParameters:F,hasLeadingOwnLineComment:N,isFlowAnnotationComment:x,isJsxNode:I,isTemplateOnItsOwnLine:P,shouldPrintComma:$,startsWithNoLookaheadToken:D,isBinaryish:T,isLineComment:m,hasComment:C,getComments:o,CommentCheckFlags:h,isCallLikeExpression:v,isCallExpression:S,getCallArguments:b,hasNakedLeftSide:B,getLeftSide:k}=Ke(),{locEnd:M}=ut(),{printFunctionParameters:R,shouldGroupFunctionParameters:q}=Ir(),{printPropertyKey:J}=er(),{printFunctionTypeParameters:L}=ct();function Q(U,Z,se,fe){let ge=U.getValue(),he=!1;if((ge.type==="FunctionDeclaration"||ge.type==="FunctionExpression")&&fe&&fe.expandLastArg){let Pe=U.getParentNode();S(Pe)&&b(Pe).length>1&&(he=!0)}let we=[];ge.type==="TSDeclareFunction"&&ge.declare&&we.push("declare "),ge.async&&we.push("async "),ge.generator?we.push("function* "):we.push("function "),ge.id&&we.push(Z("id"));let ke=R(U,Z,se,he),Re=K(U,Z,se),Ne=q(ge,Re);return we.push(L(U,se,Z),p([Ne?p(ke):ke,Re]),ge.body?" ":"",Z("body")),se.semi&&(ge.declare||!ge.body)&&we.push(";"),we}function V(U,Z,se){let fe=U.getNode(),{kind:ge}=fe,he=fe.value||fe,we=[];return!ge||ge==="init"||ge==="method"||ge==="constructor"?he.async&&we.push("async "):(t.ok(ge==="get"||ge==="set"),we.push(ge," ")),he.generator&&we.push("*"),we.push(J(U,Z,se),fe.optional||fe.key.optional?"?":""),fe===he?we.push(j(U,Z,se)):he.type==="FunctionExpression"?we.push(U.call(ke=>j(ke,Z,se),"value")):we.push(se("value")),we}function j(U,Z,se){let fe=U.getNode(),ge=R(U,se,Z),he=K(U,se,Z),we=q(fe,he),ke=[L(U,Z,se),p([we?p(ge):ge,he])];return fe.body?ke.push(" ",se("body")):ke.push(Z.semi?";":""),ke}function Y(U,Z,se,fe){let ge=U.getValue(),he=[];if(ge.async&&he.push("async "),W(U,Z))he.push(se(["params",0]));else{let ke=fe&&(fe.expandLastArg||fe.expandFirstArg),Re=K(U,se,Z);if(ke){if(_(Re))throw new w;Re=p(E(Re))}he.push(p([R(U,se,Z,ke,!0),Re]))}let we=s(U,Z,!0,ke=>{let Re=u(Z.originalText,ke,M);return Re!==!1&&Z.originalText.slice(Re,Re+2)==="=>"});return we&&he.push(" ",we),he}function ie(U,Z,se,fe,ge,he){let we=U.getName(),ke=U.getParentNode(),Re=v(ke)&&we==="callee",Ne=Boolean(Z&&Z.assignmentLayout),Pe=he.body.type!=="BlockStatement"&&he.body.type!=="ObjectExpression"&&he.body.type!=="SequenceExpression",oe=Re&&Pe||Z&&Z.assignmentLayout==="chain-tail-arrow-chain",H=Symbol("arrow-chain");return he.body.type==="SequenceExpression"&&(ge=p(["(",d([l,ge]),l,")"])),p([p(d([Re||Ne?l:"",p(c([" =>",i],se),{shouldBreak:fe})]),{id:H,shouldBreak:oe})," =>",f(Pe?d([i,ge]):[" ",ge],{groupId:H}),Re?y(l,"",{groupId:H}):""])}function ee(U,Z,se,fe){let ge=U.getValue(),he=[],we=[],ke=!1;if(function H(){let pe=Y(U,Z,se,fe);if(he.length===0)he.push(pe);else{let{leading:X,trailing:le}=a(U,Z);he.push([X,pe]),we.unshift(le)}ke=ke||ge.returnType&&F(ge).length>0||ge.typeParameters||F(ge).some(X=>X.type!=="Identifier"),ge.body.type!=="ArrowFunctionExpression"||fe&&fe.expandLastArg?we.unshift(se("body",fe)):(ge=ge.body,U.call(H,"body"))}(),he.length>1)return ie(U,fe,he,ke,we,ge);let Re=he;if(Re.push(" =>"),!N(Z.originalText,ge.body)&&(ge.body.type==="ArrayExpression"||ge.body.type==="ObjectExpression"||ge.body.type==="BlockStatement"||I(ge.body)||P(ge.body,Z.originalText)||ge.body.type==="ArrowFunctionExpression"||ge.body.type==="DoExpression"))return p([...Re," ",we]);if(ge.body.type==="SequenceExpression")return p([...Re,p([" (",d([l,we]),l,")"])]);let Ne=(fe&&fe.expandLastArg||U.getParentNode().type==="JSXExpressionContainer")&&!C(ge),Pe=fe&&fe.expandLastArg&&$(Z,"all"),oe=ge.body.type==="ConditionalExpression"&&!D(ge.body,H=>H.type==="ObjectExpression");return p([...Re,p([d([i,oe?y("","("):"",we,oe?y("",")"):""]),Ne?[y(Pe?",":""),l]:""])])}function ce(U){let Z=F(U);return Z.length===1&&!U.typeParameters&&!C(U,h.Dangling)&&Z[0].type==="Identifier"&&!Z[0].typeAnnotation&&!C(Z[0])&&!Z[0].optional&&!U.predicate&&!U.returnType}function W(U,Z){if(Z.arrowParens==="always")return!1;if(Z.arrowParens==="avoid"){let se=U.getValue();return ce(se)}return!1}function K(U,Z,se){let fe=U.getValue(),ge=Z("returnType");if(fe.returnType&&x(se.originalText,fe.returnType))return[" /*: ",ge," */"];let he=[ge];return fe.returnType&&fe.returnType.typeAnnotation&&he.unshift(": "),fe.predicate&&he.push(fe.returnType?" ":": ",Z("predicate")),he}function de(U,Z,se){let fe=U.getValue(),ge=Z.semi?";":"",he=[];fe.argument&&(z(Z,fe.argument)?he.push([" (",d([g,se("argument")]),g,")"]):T(fe.argument)||fe.argument.type==="SequenceExpression"?he.push(p([y(" ("," "),d([l,se("argument")]),l,y(")")])):he.push(" ",se("argument")));let we=o(fe),ke=n(we),Re=ke&&m(ke);return Re&&he.push(ge),C(fe,h.Dangling)&&he.push(" ",s(U,Z,!0)),Re||he.push(ge),he}function ue(U,Z,se){return["return",de(U,Z,se)]}function Fe(U,Z,se){return["throw",de(U,Z,se)]}function z(U,Z){if(N(U.originalText,Z))return!0;if(B(Z)){let se=Z,fe;for(;fe=k(se);)if(se=fe,N(U.originalText,se))return!0}return!1}r.exports={printFunction:Q,printArrowFunction:ee,printMethod:V,printReturnStatement:ue,printThrowStatement:Fe,printMethodInternal:j,shouldPrintParamsWithoutParens:W}}}),eu=te({"src/language-js/print/decorators.js"(e,r){"use strict";ne();var{isNonEmptyArray:t,hasNewline:s}=Ue(),{builders:{line:a,hardline:n,join:u,breakParent:i,group:l}}=qe(),{locStart:p,locEnd:d}=ut(),{getParentExportDeclaration:y}=Ke();function g(w,F,N){let x=w.getValue();return l([u(a,w.map(N,"decorators")),E(x,F)?n:a])}function c(w,F,N){return[u(n,w.map(N,"declaration","decorators")),n]}function f(w,F,N){let x=w.getValue(),{decorators:I}=x;if(!t(I)||_(w.getParentNode()))return;let P=x.type==="ClassExpression"||x.type==="ClassDeclaration"||E(x,F);return[y(w)?n:P?i:"",u(a,w.map(N,"decorators")),a]}function E(w,F){return w.decorators.some(N=>s(F.originalText,d(N)))}function _(w){if(w.type!=="ExportDefaultDeclaration"&&w.type!=="ExportNamedDeclaration"&&w.type!=="DeclareExportDeclaration")return!1;let F=w.declaration&&w.declaration.decorators;return t(F)&&p(w)===p(F[0])}r.exports={printDecorators:f,printClassMemberDecorators:g,printDecoratorsBeforeExport:c,hasDecoratorsBeforeExport:_}}}),tr=te({"src/language-js/print/class.js"(e,r){"use strict";ne();var{isNonEmptyArray:t,createGroupIdMapper:s}=Ue(),{printComments:a,printDanglingComments:n}=et(),{builders:{join:u,line:i,hardline:l,softline:p,group:d,indent:y,ifBreak:g}}=qe(),{hasComment:c,CommentCheckFlags:f}=Ke(),{getTypeParametersGroupId:E}=Lr(),{printMethod:_}=Or(),{printOptionalToken:w,printTypeAnnotation:F,printDefiniteToken:N}=ct(),{printPropertyKey:x}=er(),{printAssignment:I}=Zt(),{printClassMemberDecorators:P}=eu();function $(b,B,k){let M=b.getValue(),R=[];M.declare&&R.push("declare "),M.abstract&&R.push("abstract "),R.push("class");let q=M.id&&c(M.id,f.Trailing)||M.typeParameters&&c(M.typeParameters,f.Trailing)||M.superClass&&c(M.superClass)||t(M.extends)||t(M.mixins)||t(M.implements),J=[],L=[];if(M.id&&J.push(" ",k("id")),J.push(k("typeParameters")),M.superClass){let Q=[h(b,B,k),k("superTypeParameters")],V=b.call(j=>["extends ",a(j,Q,B)],"superClass");q?L.push(i,d(V)):L.push(" ",V)}else L.push(o(b,B,k,"extends"));if(L.push(o(b,B,k,"mixins"),o(b,B,k,"implements")),q){let Q;C(M)?Q=[...J,y(L)]:Q=y([...J,L]),R.push(d(Q,{id:D(M)}))}else R.push(...J,...L);return R.push(" ",k("body")),R}var D=s("heritageGroup");function T(b){return g(l,"",{groupId:D(b)})}function m(b){return["superClass","extends","mixins","implements"].filter(B=>Boolean(b[B])).length>1}function C(b){return b.typeParameters&&!c(b.typeParameters,f.Trailing|f.Line)&&!m(b)}function o(b,B,k,M){let R=b.getValue();if(!t(R[M]))return"";let q=n(b,B,!0,J=>{let{marker:L}=J;return L===M});return[C(R)?g(" ",i,{groupId:E(R.typeParameters)}):i,q,q&&l,M,d(y([i,u([",",i],b.map(k,M))]))]}function h(b,B,k){let M=k("superClass");return b.getParentNode().type==="AssignmentExpression"?d(g(["(",y([p,M]),p,")"],M)):M}function v(b,B,k){let M=b.getValue(),R=[];return t(M.decorators)&&R.push(P(b,B,k)),M.accessibility&&R.push(M.accessibility+" "),M.readonly&&R.push("readonly "),M.declare&&R.push("declare "),M.static&&R.push("static "),(M.type==="TSAbstractMethodDefinition"||M.abstract)&&R.push("abstract "),M.override&&R.push("override "),R.push(_(b,B,k)),R}function S(b,B,k){let M=b.getValue(),R=[],q=B.semi?";":"";return t(M.decorators)&&R.push(P(b,B,k)),M.accessibility&&R.push(M.accessibility+" "),M.declare&&R.push("declare "),M.static&&R.push("static "),(M.type==="TSAbstractPropertyDefinition"||M.type==="TSAbstractAccessorProperty"||M.abstract)&&R.push("abstract "),M.override&&R.push("override "),M.readonly&&R.push("readonly "),M.variance&&R.push(k("variance")),(M.type==="ClassAccessorProperty"||M.type==="AccessorProperty"||M.type==="TSAbstractAccessorProperty")&&R.push("accessor "),R.push(x(b,B,k),w(b),N(b),F(b,B,k)),[I(b,B,k,R," =","value"),q]}r.exports={printClass:$,printClassMethod:v,printClassProperty:S,printHardlineAfterHeritage:T}}}),ho=te({"src/language-js/print/interface.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{join:s,line:a,group:n,indent:u,ifBreak:i}}=qe(),{hasComment:l,identity:p,CommentCheckFlags:d}=Ke(),{getTypeParametersGroupId:y}=Lr(),{printTypeScriptModifiers:g}=ct();function c(f,E,_){let w=f.getValue(),F=[];w.declare&&F.push("declare "),w.type==="TSInterfaceDeclaration"&&F.push(w.abstract?"abstract ":"",g(f,E,_)),F.push("interface");let N=[],x=[];w.type!=="InterfaceTypeAnnotation"&&N.push(" ",_("id"),_("typeParameters"));let I=w.typeParameters&&!l(w.typeParameters,d.Trailing|d.Line);return t(w.extends)&&x.push(I?i(" ",a,{groupId:y(w.typeParameters)}):a,"extends ",(w.extends.length===1?p:u)(s([",",a],f.map(_,"extends")))),w.id&&l(w.id,d.Trailing)||t(w.extends)?I?F.push(n([...N,u(x)])):F.push(n(u([...N,...x]))):F.push(...N,...x),F.push(" ",_("body")),n(F)}r.exports={printInterface:c}}}),vo=te({"src/language-js/print/module.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{softline:s,group:a,indent:n,join:u,line:i,ifBreak:l,hardline:p}}=qe(),{printDanglingComments:d}=et(),{hasComment:y,CommentCheckFlags:g,shouldPrintComma:c,needsHardlineAfterDanglingComment:f,isStringLiteral:E,rawText:_}=Ke(),{locStart:w,hasSameLoc:F}=ut(),{hasDecoratorsBeforeExport:N,printDecoratorsBeforeExport:x}=eu();function I(S,b,B){let k=S.getValue(),M=b.semi?";":"",R=[],{importKind:q}=k;return R.push("import"),q&&q!=="value"&&R.push(" ",q),R.push(m(S,b,B),T(S,b,B),o(S,b,B),M),R}function P(S,b,B){let k=S.getValue(),M=[];N(k)&&M.push(x(S,b,B));let{type:R,exportKind:q,declaration:J}=k;return M.push("export"),(k.default||R==="ExportDefaultDeclaration")&&M.push(" default"),y(k,g.Dangling)&&(M.push(" ",d(S,b,!0)),f(k)&&M.push(p)),J?M.push(" ",B("declaration")):M.push(q==="type"?" type":"",m(S,b,B),T(S,b,B),o(S,b,B)),D(k,b)&&M.push(";"),M}function $(S,b,B){let k=S.getValue(),M=b.semi?";":"",R=[],{exportKind:q,exported:J}=k;return R.push("export"),q==="type"&&R.push(" type"),R.push(" *"),J&&R.push(" as ",B("exported")),R.push(T(S,b,B),o(S,b,B),M),R}function D(S,b){if(!b.semi)return!1;let{type:B,declaration:k}=S,M=S.default||B==="ExportDefaultDeclaration";if(!k)return!0;let{type:R}=k;return!!(M&&R!=="ClassDeclaration"&&R!=="FunctionDeclaration"&&R!=="TSInterfaceDeclaration"&&R!=="DeclareClass"&&R!=="DeclareFunction"&&R!=="TSDeclareFunction"&&R!=="EnumDeclaration")}function T(S,b,B){let k=S.getValue();if(!k.source)return"";let M=[];return C(k,b)||M.push(" from"),M.push(" ",B("source")),M}function m(S,b,B){let k=S.getValue();if(C(k,b))return"";let M=[" "];if(t(k.specifiers)){let R=[],q=[];S.each(()=>{let J=S.getValue().type;if(J==="ExportNamespaceSpecifier"||J==="ExportDefaultSpecifier"||J==="ImportNamespaceSpecifier"||J==="ImportDefaultSpecifier")R.push(B());else if(J==="ExportSpecifier"||J==="ImportSpecifier")q.push(B());else throw new Error(`Unknown specifier type ${JSON.stringify(J)}`)},"specifiers"),M.push(u(", ",R)),q.length>0&&(R.length>0&&M.push(", "),q.length>1||R.length>0||k.specifiers.some(L=>y(L))?M.push(a(["{",n([b.bracketSpacing?i:s,u([",",i],q)]),l(c(b)?",":""),b.bracketSpacing?i:s,"}"])):M.push(["{",b.bracketSpacing?" ":"",...q,b.bracketSpacing?" ":"","}"]))}else M.push("{}");return M}function C(S,b){let{type:B,importKind:k,source:M,specifiers:R}=S;return B!=="ImportDeclaration"||t(R)||k==="type"?!1:!/{\s*}/.test(b.originalText.slice(w(S),w(M)))}function o(S,b,B){let k=S.getNode();return t(k.assertions)?[" assert {",b.bracketSpacing?" ":"",u(", ",S.map(B,"assertions")),b.bracketSpacing?" ":"","}"]:""}function h(S,b,B){let k=S.getNode(),{type:M}=k,R=[],q=M==="ImportSpecifier"?k.importKind:k.exportKind;q&&q!=="value"&&R.push(q," ");let J=M.startsWith("Import"),L=J?"imported":"local",Q=J?"local":"exported",V=k[L],j=k[Q],Y="",ie="";return M==="ExportNamespaceSpecifier"||M==="ImportNamespaceSpecifier"?Y="*":V&&(Y=B(L)),j&&!v(k)&&(ie=B(Q)),R.push(Y,Y&&ie?" as ":"",ie),R}function v(S){if(S.type!=="ImportSpecifier"&&S.type!=="ExportSpecifier")return!1;let{local:b,[S.type==="ImportSpecifier"?"imported":"exported"]:B}=S;if(b.type!==B.type||!F(b,B))return!1;if(E(b))return b.value===B.value&&_(b)===_(B);switch(b.type){case"Identifier":return b.name===B.name;default:return!1}}r.exports={printImportDeclaration:I,printExportDeclaration:P,printExportAllDeclaration:$,printModuleSpecifier:h}}}),tu=te({"src/language-js/print/object.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{builders:{line:s,softline:a,group:n,indent:u,ifBreak:i,hardline:l}}=qe(),{getLast:p,hasNewlineInRange:d,hasNewline:y,isNonEmptyArray:g}=Ue(),{shouldPrintComma:c,hasComment:f,getComments:E,CommentCheckFlags:_,isNextLineEmpty:w}=Ke(),{locStart:F,locEnd:N}=ut(),{printOptionalToken:x,printTypeAnnotation:I}=ct(),{shouldHugFunctionParameters:P}=Ir(),{shouldHugType:$}=kr(),{printHardlineAfterHeritage:D}=tr();function T(m,C,o){let h=C.semi?";":"",v=m.getValue(),S;v.type==="TSTypeLiteral"?S="members":v.type==="TSInterfaceBody"?S="body":S="properties";let b=v.type==="ObjectTypeAnnotation",B=[S];b&&B.push("indexers","callProperties","internalSlots");let k=B.map(W=>v[W][0]).sort((W,K)=>F(W)-F(K))[0],M=m.getParentNode(0),R=b&&M&&(M.type==="InterfaceDeclaration"||M.type==="DeclareInterface"||M.type==="DeclareClass")&&m.getName()==="body",q=v.type==="TSInterfaceBody"||R||v.type==="ObjectPattern"&&M.type!=="FunctionDeclaration"&&M.type!=="FunctionExpression"&&M.type!=="ArrowFunctionExpression"&&M.type!=="ObjectMethod"&&M.type!=="ClassMethod"&&M.type!=="ClassPrivateMethod"&&M.type!=="AssignmentPattern"&&M.type!=="CatchClause"&&v.properties.some(W=>W.value&&(W.value.type==="ObjectPattern"||W.value.type==="ArrayPattern"))||v.type!=="ObjectPattern"&&k&&d(C.originalText,F(v),F(k)),J=R?";":v.type==="TSInterfaceBody"||v.type==="TSTypeLiteral"?i(h,";"):",",L=v.type==="RecordExpression"?"#{":v.exact?"{|":"{",Q=v.exact?"|}":"}",V=[];for(let W of B)m.each(K=>{let de=K.getValue();V.push({node:de,printed:o(),loc:F(de)})},W);B.length>1&&V.sort((W,K)=>W.loc-K.loc);let j=[],Y=V.map(W=>{let K=[...j,n(W.printed)];return j=[J,s],(W.node.type==="TSPropertySignature"||W.node.type==="TSMethodSignature"||W.node.type==="TSConstructSignatureDeclaration")&&f(W.node,_.PrettierIgnore)&&j.shift(),w(W.node,C)&&j.push(l),K});if(v.inexact){let W;if(f(v,_.Dangling)){let K=f(v,_.Line);W=[t(m,C,!0),K||y(C.originalText,N(p(E(v))))?l:s,"..."]}else W=["..."];Y.push([...j,...W])}let ie=p(v[S]),ee=!(v.inexact||ie&&ie.type==="RestElement"||ie&&(ie.type==="TSPropertySignature"||ie.type==="TSCallSignatureDeclaration"||ie.type==="TSMethodSignature"||ie.type==="TSConstructSignatureDeclaration")&&f(ie,_.PrettierIgnore)),ce;if(Y.length===0){if(!f(v,_.Dangling))return[L,Q,I(m,C,o)];ce=n([L,t(m,C),a,Q,x(m),I(m,C,o)])}else ce=[R&&g(v.properties)?D(M):"",L,u([C.bracketSpacing?s:a,...Y]),i(ee&&(J!==","||c(C))?J:""),C.bracketSpacing?s:a,Q,x(m),I(m,C,o)];return m.match(W=>W.type==="ObjectPattern"&&!W.decorators,(W,K,de)=>P(W)&&(K==="params"||K==="parameters"||K==="this"||K==="rest")&&de===0)||m.match($,(W,K)=>K==="typeAnnotation",(W,K)=>K==="typeAnnotation",(W,K,de)=>P(W)&&(K==="params"||K==="parameters"||K==="this"||K==="rest")&&de===0)||!q&&m.match(W=>W.type==="ObjectPattern",W=>W.type==="AssignmentExpression"||W.type==="VariableDeclarator")?ce:n(ce,{shouldBreak:q})}r.exports={printObject:T}}}),id=te({"src/language-js/print/flow.js"(e,r){"use strict";ne();var t=Yt(),{printDanglingComments:s}=et(),{printString:a,printNumber:n}=Ue(),{builders:{hardline:u,softline:i,group:l,indent:p}}=qe(),{getParentExportDeclaration:d,isFunctionNotation:y,isGetterOrSetter:g,rawText:c,shouldPrintComma:f}=Ke(),{locStart:E,locEnd:_}=ut(),{replaceTextEndOfLine:w}=Xt(),{printClass:F}=tr(),{printOpaqueType:N,printTypeAlias:x,printIntersectionType:I,printUnionType:P,printFunctionType:$,printTupleType:D,printIndexedAccessType:T}=kr(),{printInterface:m}=ho(),{printTypeParameter:C,printTypeParameters:o}=Lr(),{printExportDeclaration:h,printExportAllDeclaration:v}=vo(),{printArrayItems:S}=Qt(),{printObject:b}=tu(),{printPropertyKey:B}=er(),{printOptionalToken:k,printTypeAnnotation:M,printRestSpread:R}=ct();function q(L,Q,V){let j=L.getValue(),Y=Q.semi?";":"",ie=[];switch(j.type){case"DeclareClass":return J(L,F(L,Q,V));case"DeclareFunction":return J(L,["function ",V("id"),j.predicate?" ":"",V("predicate"),Y]);case"DeclareModule":return J(L,["module ",V("id")," ",V("body")]);case"DeclareModuleExports":return J(L,["module.exports",": ",V("typeAnnotation"),Y]);case"DeclareVariable":return J(L,["var ",V("id"),Y]);case"DeclareOpaqueType":return J(L,N(L,Q,V));case"DeclareInterface":return J(L,m(L,Q,V));case"DeclareTypeAlias":return J(L,x(L,Q,V));case"DeclareExportDeclaration":return J(L,h(L,Q,V));case"DeclareExportAllDeclaration":return J(L,v(L,Q,V));case"OpaqueType":return N(L,Q,V);case"TypeAlias":return x(L,Q,V);case"IntersectionTypeAnnotation":return I(L,Q,V);case"UnionTypeAnnotation":return P(L,Q,V);case"FunctionTypeAnnotation":return $(L,Q,V);case"TupleTypeAnnotation":return D(L,Q,V);case"GenericTypeAnnotation":return[V("id"),o(L,Q,V,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return T(L,Q,V);case"TypeAnnotation":return V("typeAnnotation");case"TypeParameter":return C(L,Q,V);case"TypeofTypeAnnotation":return["typeof ",V("argument")];case"ExistsTypeAnnotation":return"*";case"EmptyTypeAnnotation":return"empty";case"MixedTypeAnnotation":return"mixed";case"ArrayTypeAnnotation":return[V("elementType"),"[]"];case"BooleanLiteralTypeAnnotation":return String(j.value);case"EnumDeclaration":return["enum ",V("id")," ",V("body")];case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":{if(j.type==="EnumSymbolBody"||j.explicitType){let ee=null;switch(j.type){case"EnumBooleanBody":ee="boolean";break;case"EnumNumberBody":ee="number";break;case"EnumStringBody":ee="string";break;case"EnumSymbolBody":ee="symbol";break}ie.push("of ",ee," ")}if(j.members.length===0&&!j.hasUnknownMembers)ie.push(l(["{",s(L,Q),i,"}"]));else{let ee=j.members.length>0?[u,S(L,Q,"members",V),j.hasUnknownMembers||f(Q)?",":""]:[];ie.push(l(["{",p([...ee,...j.hasUnknownMembers?[u,"..."]:[]]),s(L,Q,!0),u,"}"]))}return ie}case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return[V("id")," = ",typeof j.init=="object"?V("init"):String(j.init)];case"EnumDefaultedMember":return V("id");case"FunctionTypeParam":{let ee=j.name?V("name"):L.getParentNode().this===j?"this":"";return[ee,k(L),ee?": ":"",V("typeAnnotation")]}case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return m(L,Q,V);case"ClassImplements":case"InterfaceExtends":return[V("id"),V("typeParameters")];case"NullableTypeAnnotation":return["?",V("typeAnnotation")];case"Variance":{let{kind:ee}=j;return t.ok(ee==="plus"||ee==="minus"),ee==="plus"?"+":"-"}case"ObjectTypeCallProperty":return j.static&&ie.push("static "),ie.push(V("value")),ie;case"ObjectTypeIndexer":return[j.static?"static ":"",j.variance?V("variance"):"","[",V("id"),j.id?": ":"",V("key"),"]: ",V("value")];case"ObjectTypeProperty":{let ee="";return j.proto?ee="proto ":j.static&&(ee="static "),[ee,g(j)?j.kind+" ":"",j.variance?V("variance"):"",B(L,Q,V),k(L),y(j)?"":": ",V("value")]}case"ObjectTypeAnnotation":return b(L,Q,V);case"ObjectTypeInternalSlot":return[j.static?"static ":"","[[",V("id"),"]]",k(L),j.method?"":": ",V("value")];case"ObjectTypeSpreadProperty":return R(L,Q,V);case"QualifiedTypeofIdentifier":case"QualifiedTypeIdentifier":return[V("qualification"),".",V("id")];case"StringLiteralTypeAnnotation":return w(a(c(j),Q));case"NumberLiteralTypeAnnotation":t.strictEqual(typeof j.value,"number");case"BigIntLiteralTypeAnnotation":return j.extra?n(j.extra.raw):n(j.raw);case"TypeCastExpression":return["(",V("expression"),M(L,Q,V),")"];case"TypeParameterDeclaration":case"TypeParameterInstantiation":{let ee=o(L,Q,V,"params");if(Q.parser==="flow"){let ce=E(j),W=_(j),K=Q.originalText.lastIndexOf("/*",ce),de=Q.originalText.indexOf("*/",W);if(K!==-1&&de!==-1){let ue=Q.originalText.slice(K+2,de).trim();if(ue.startsWith("::")&&!ue.includes("/*")&&!ue.includes("*/"))return["/*:: ",ee," */"]}}return ee}case"InferredPredicate":return"%checks";case"DeclaredPredicate":return["%checks(",V("value"),")"];case"AnyTypeAnnotation":return"any";case"BooleanTypeAnnotation":return"boolean";case"BigIntTypeAnnotation":return"bigint";case"NullLiteralTypeAnnotation":return"null";case"NumberTypeAnnotation":return"number";case"SymbolTypeAnnotation":return"symbol";case"StringTypeAnnotation":return"string";case"VoidTypeAnnotation":return"void";case"ThisTypeAnnotation":return"this";case"Node":case"Printable":case"SourceLocation":case"Position":case"Statement":case"Function":case"Pattern":case"Expression":case"Declaration":case"Specifier":case"NamedSpecifier":case"Comment":case"MemberTypeAnnotation":case"Type":throw new Error("unprintable type: "+JSON.stringify(j.type))}}function J(L,Q){let V=d(L);return V?(t.strictEqual(V.type,"DeclareExportDeclaration"),Q):["declare ",Q]}r.exports={printFlow:q}}}),ad=te({"src/language-js/utils/is-ts-keyword-type.js"(e,r){"use strict";ne();function t(s){let{type:a}=s;return a.startsWith("TS")&&a.endsWith("Keyword")}r.exports=t}}),Co=te({"src/language-js/print/ternary.js"(e,r){"use strict";ne();var{hasNewlineInRange:t}=Ue(),{isJsxNode:s,getComments:a,isCallExpression:n,isMemberExpression:u,isTSTypeExpression:i}=Ke(),{locStart:l,locEnd:p}=ut(),d=_t(),{builders:{line:y,softline:g,group:c,indent:f,align:E,ifBreak:_,dedent:w,breakParent:F}}=qe();function N(D){let T=[D];for(let m=0;mR[ue]===C),J=R.type===C.type&&!q,L,Q,V=0;do Q=L||C,L=D.getParentNode(V),V++;while(L&&L.type===C.type&&S.every(ue=>L[ue]!==Q));let j=L||R,Y=Q;if(o&&(s(C[S[0]])||s(b)||s(B)||N(Y))){M=!0,J=!0;let ue=z=>[_("("),f([g,z]),g,_(")")],Fe=z=>z.type==="NullLiteral"||z.type==="Literal"&&z.value===null||z.type==="Identifier"&&z.name==="undefined";k.push(" ? ",Fe(b)?m(h):ue(m(h))," : ",B.type===C.type||Fe(B)?m(v):ue(m(v)))}else{let ue=[y,"? ",b.type===C.type?_("","("):"",E(2,m(h)),b.type===C.type?_("",")"):"",y,": ",B.type===C.type?m(v):E(2,m(v))];k.push(R.type!==C.type||R[v]===C||q?ue:T.useTabs?w(f(ue)):E(Math.max(0,T.tabWidth-2),ue))}let ee=[...S.map(ue=>a(C[ue])),a(b),a(B)].flat().some(ue=>d(ue)&&t(T.originalText,l(ue),p(ue))),ce=ue=>R===j?c(ue,{shouldBreak:ee}):ee?[ue,F]:ue,W=!M&&(u(R)||R.type==="NGPipeExpression"&&R.left===C)&&!R.computed,K=P(D),de=ce([x(D,T,m),J?k:f(k),o&&W&&!K?g:""]);return q||K?c([f([g,de]),g]):de}r.exports={printTernary:$}}}),Eo=te({"src/language-js/print/statement.js"(e,r){"use strict";ne();var{builders:{hardline:t}}=qe(),s=Ot(),{getLeftSidePathName:a,hasNakedLeftSide:n,isJsxNode:u,isTheOnlyJsxElementInMarkdown:i,hasComment:l,CommentCheckFlags:p,isNextLineEmpty:d}=Ke(),{shouldPrintParamsWithoutParens:y}=Or();function g(x,I,P,$){let D=x.getValue(),T=[],m=D.type==="ClassBody",C=c(D[$]);return x.each((o,h,v)=>{let S=o.getValue();if(S.type==="EmptyStatement")return;let b=P();!I.semi&&!m&&!i(I,o)&&f(o,I)?l(S,p.Leading)?T.push(P([],{needsSemi:!0})):T.push(";",b):T.push(b),!I.semi&&m&&F(S)&&N(S,v[h+1])&&T.push(";"),S!==C&&(T.push(t),d(S,I)&&T.push(t))},$),T}function c(x){for(let I=x.length-1;I>=0;I--){let P=x[I];if(P.type!=="EmptyStatement")return P}}function f(x,I){return x.getNode().type!=="ExpressionStatement"?!1:x.call($=>E($,I),"expression")}function E(x,I){let P=x.getValue();switch(P.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":{if(!y(x,I))return!0;break}case"UnaryExpression":{let{prefix:$,operator:D}=P;if($&&(D==="+"||D==="-"))return!0;break}case"BindExpression":{if(!P.object)return!0;break}case"Literal":{if(P.regex)return!0;break}default:if(u(P))return!0}return s(x,I)?!0:n(P)?x.call($=>E($,I),...a(x,P)):!1}function _(x,I,P){return g(x,I,P,"body")}function w(x,I,P){return g(x,I,P,"consequent")}var F=x=>{let{type:I}=x;return I==="ClassProperty"||I==="PropertyDefinition"||I==="ClassPrivateProperty"||I==="ClassAccessorProperty"||I==="AccessorProperty"||I==="TSAbstractPropertyDefinition"||I==="TSAbstractAccessorProperty"};function N(x,I){let{type:P,name:$}=x.key;if(!x.computed&&P==="Identifier"&&($==="static"||$==="get"||$==="set"||$==="accessor")&&!x.value&&!x.typeAnnotation)return!0;if(!I||I.static||I.accessibility)return!1;if(!I.computed){let D=I.key&&I.key.name;if(D==="in"||D==="instanceof")return!0}if(F(I)&&I.variance&&!I.static&&!I.declare)return!0;switch(I.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractPropertyDefinition":return I.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((I.value?I.value.async:I.async)||I.kind==="get"||I.kind==="set")return!1;let T=I.value?I.value.generator:I.generator;return!!(I.computed||T)}case"TSIndexSignature":return!0}return!1}r.exports={printBody:_,printSwitchCaseConsequent:w}}}),Fo=te({"src/language-js/print/block.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{isNonEmptyArray:s}=Ue(),{builders:{hardline:a,indent:n}}=qe(),{hasComment:u,CommentCheckFlags:i,isNextLineEmpty:l}=Ke(),{printHardlineAfterHeritage:p}=tr(),{printBody:d}=Eo();function y(c,f,E){let _=c.getValue(),w=[];if(_.type==="StaticBlock"&&w.push("static "),_.type==="ClassBody"&&s(_.body)){let N=c.getParentNode();w.push(p(N))}w.push("{");let F=g(c,f,E);if(F)w.push(n([a,F]),a);else{let N=c.getParentNode(),x=c.getParentNode(1);N.type==="ArrowFunctionExpression"||N.type==="FunctionExpression"||N.type==="FunctionDeclaration"||N.type==="ObjectMethod"||N.type==="ClassMethod"||N.type==="ClassPrivateMethod"||N.type==="ForStatement"||N.type==="WhileStatement"||N.type==="DoWhileStatement"||N.type==="DoExpression"||N.type==="CatchClause"&&!x.finalizer||N.type==="TSModuleDeclaration"||N.type==="TSDeclareFunction"||_.type==="StaticBlock"||_.type==="ClassBody"||w.push(a)}return w.push("}"),w}function g(c,f,E){let _=c.getValue(),w=s(_.directives),F=_.body.some(I=>I.type!=="EmptyStatement"),N=u(_,i.Dangling);if(!w&&!F&&!N)return"";let x=[];if(w&&c.each((I,P,$)=>{x.push(E()),(P<$.length-1||F||N)&&(x.push(a),l(I.getValue(),f)&&x.push(a))},"directives"),F&&x.push(d(c,f,E)),N&&x.push(t(c,f,!0)),_.type==="Program"){let I=c.getParentNode();(!I||I.type!=="ModuleExpression")&&x.push(a)}return x}r.exports={printBlock:y,printBlockBody:g}}}),od=te({"src/language-js/print/typescript.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{hasNewlineInRange:s}=Ue(),{builders:{join:a,line:n,hardline:u,softline:i,group:l,indent:p,conditionalGroup:d,ifBreak:y}}=qe(),{isStringLiteral:g,getTypeScriptMappedTypeModifier:c,shouldPrintComma:f,isCallExpression:E,isMemberExpression:_}=Ke(),w=ad(),{locStart:F,locEnd:N}=ut(),{printOptionalToken:x,printTypeScriptModifiers:I}=ct(),{printTernary:P}=Co(),{printFunctionParameters:$,shouldGroupFunctionParameters:D}=Ir(),{printTemplateLiteral:T}=Lt(),{printArrayItems:m}=Qt(),{printObject:C}=tu(),{printClassProperty:o,printClassMethod:h}=tr(),{printTypeParameter:v,printTypeParameters:S}=Lr(),{printPropertyKey:b}=er(),{printFunction:B,printMethodInternal:k}=Or(),{printInterface:M}=ho(),{printBlock:R}=Fo(),{printTypeAlias:q,printIntersectionType:J,printUnionType:L,printFunctionType:Q,printTupleType:V,printIndexedAccessType:j,printJSDocType:Y}=kr();function ie(ee,ce,W){let K=ee.getValue();if(!K.type.startsWith("TS"))return;if(w(K))return K.type.slice(2,-7).toLowerCase();let de=ce.semi?";":"",ue=[];switch(K.type){case"TSThisType":return"this";case"TSTypeAssertion":{let Fe=!(K.expression.type==="ArrayExpression"||K.expression.type==="ObjectExpression"),z=l(["<",p([i,W("typeAnnotation")]),i,">"]),U=[y("("),p([i,W("expression")]),i,y(")")];return Fe?d([[z,W("expression")],[z,l(U,{shouldBreak:!0})],[z,W("expression")]]):l([z,W("expression")])}case"TSDeclareFunction":return B(ee,W,ce);case"TSExportAssignment":return["export = ",W("expression"),de];case"TSModuleBlock":return R(ee,ce,W);case"TSInterfaceBody":case"TSTypeLiteral":return C(ee,ce,W);case"TSTypeAliasDeclaration":return q(ee,ce,W);case"TSQualifiedName":return a(".",[W("left"),W("right")]);case"TSAbstractMethodDefinition":case"TSDeclareMethod":return h(ee,ce,W);case"TSAbstractAccessorProperty":case"TSAbstractPropertyDefinition":return o(ee,ce,W);case"TSInterfaceHeritage":case"TSExpressionWithTypeArguments":return ue.push(W("expression")),K.typeParameters&&ue.push(W("typeParameters")),ue;case"TSTemplateLiteralType":return T(ee,W,ce);case"TSNamedTupleMember":return[W("label"),K.optional?"?":"",": ",W("elementType")];case"TSRestType":return["...",W("typeAnnotation")];case"TSOptionalType":return[W("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return M(ee,ce,W);case"TSClassImplements":return[W("expression"),W("typeParameters")];case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return S(ee,ce,W,"params");case"TSTypeParameter":return v(ee,ce,W);case"TSSatisfiesExpression":case"TSAsExpression":{let Fe=K.type==="TSAsExpression"?"as":"satisfies";ue.push(W("expression"),` ${Fe} `,W("typeAnnotation"));let z=ee.getParentNode();return E(z)&&z.callee===K||_(z)&&z.object===K?l([p([i,...ue]),i]):ue}case"TSArrayType":return[W("elementType"),"[]"];case"TSPropertySignature":return K.readonly&&ue.push("readonly "),ue.push(b(ee,ce,W),x(ee)),K.typeAnnotation&&ue.push(": ",W("typeAnnotation")),K.initializer&&ue.push(" = ",W("initializer")),ue;case"TSParameterProperty":return K.accessibility&&ue.push(K.accessibility+" "),K.export&&ue.push("export "),K.static&&ue.push("static "),K.override&&ue.push("override "),K.readonly&&ue.push("readonly "),ue.push(W("parameter")),ue;case"TSTypeQuery":return["typeof ",W("exprName"),W("typeParameters")];case"TSIndexSignature":{let Fe=ee.getParentNode(),z=K.parameters.length>1?y(f(ce)?",":""):"",U=l([p([i,a([", ",i],ee.map(W,"parameters"))]),z,i]);return[K.export?"export ":"",K.accessibility?[K.accessibility," "]:"",K.static?"static ":"",K.readonly?"readonly ":"",K.declare?"declare ":"","[",K.parameters?U:"",K.typeAnnotation?"]: ":"]",K.typeAnnotation?W("typeAnnotation"):"",Fe.type==="ClassBody"?de:""]}case"TSTypePredicate":return[K.asserts?"asserts ":"",W("parameterName"),K.typeAnnotation?[" is ",W("typeAnnotation")]:""];case"TSNonNullExpression":return[W("expression"),"!"];case"TSImportType":return[K.isTypeOf?"typeof ":"","import(",W(K.parameter?"parameter":"argument"),")",K.qualifier?[".",W("qualifier")]:"",S(ee,ce,W,"typeParameters")];case"TSLiteralType":return W("literal");case"TSIndexedAccessType":return j(ee,ce,W);case"TSConstructSignatureDeclaration":case"TSCallSignatureDeclaration":case"TSConstructorType":{if(K.type==="TSConstructorType"&&K.abstract&&ue.push("abstract "),K.type!=="TSCallSignatureDeclaration"&&ue.push("new "),ue.push(l($(ee,W,ce,!1,!0))),K.returnType||K.typeAnnotation){let Fe=K.type==="TSConstructorType";ue.push(Fe?" => ":": ",W("returnType"),W("typeAnnotation"))}return ue}case"TSTypeOperator":return[K.operator," ",W("typeAnnotation")];case"TSMappedType":{let Fe=s(ce.originalText,F(K),N(K));return l(["{",p([ce.bracketSpacing?n:i,W("typeParameter"),K.optional?c(K.optional,"?"):"",K.typeAnnotation?": ":"",W("typeAnnotation"),y(de)]),t(ee,ce,!0),ce.bracketSpacing?n:i,"}"],{shouldBreak:Fe})}case"TSMethodSignature":{let Fe=K.kind&&K.kind!=="method"?`${K.kind} `:"";ue.push(K.accessibility?[K.accessibility," "]:"",Fe,K.export?"export ":"",K.static?"static ":"",K.readonly?"readonly ":"",K.abstract?"abstract ":"",K.declare?"declare ":"",K.computed?"[":"",W("key"),K.computed?"]":"",x(ee));let z=$(ee,W,ce,!1,!0),U=K.returnType?"returnType":"typeAnnotation",Z=K[U],se=Z?W(U):"",fe=D(K,se);return ue.push(fe?l(z):z),Z&&ue.push(": ",l(se)),l(ue)}case"TSNamespaceExportDeclaration":return ue.push("export as namespace ",W("id")),ce.semi&&ue.push(";"),l(ue);case"TSEnumDeclaration":return K.declare&&ue.push("declare "),K.modifiers&&ue.push(I(ee,ce,W)),K.const&&ue.push("const "),ue.push("enum ",W("id")," "),K.members.length===0?ue.push(l(["{",t(ee,ce),i,"}"])):ue.push(l(["{",p([u,m(ee,ce,"members",W),f(ce,"es5")?",":""]),t(ee,ce,!0),u,"}"])),ue;case"TSEnumMember":return K.computed?ue.push("[",W("id"),"]"):ue.push(W("id")),K.initializer&&ue.push(" = ",W("initializer")),ue;case"TSImportEqualsDeclaration":return K.isExport&&ue.push("export "),ue.push("import "),K.importKind&&K.importKind!=="value"&&ue.push(K.importKind," "),ue.push(W("id")," = ",W("moduleReference")),ce.semi&&ue.push(";"),l(ue);case"TSExternalModuleReference":return["require(",W("expression"),")"];case"TSModuleDeclaration":{let Fe=ee.getParentNode(),z=g(K.id),U=Fe.type==="TSModuleDeclaration",Z=K.body&&K.body.type==="TSModuleDeclaration";if(U)ue.push(".");else{K.declare&&ue.push("declare "),ue.push(I(ee,ce,W));let se=ce.originalText.slice(F(K),F(K.id));K.id.type==="Identifier"&&K.id.name==="global"&&!/namespace|module/.test(se)||ue.push(z||/(?:^|\s)module(?:\s|$)/.test(se)?"module ":"namespace ")}return ue.push(W("id")),Z?ue.push(W("body")):K.body?ue.push(" ",l(W("body"))):ue.push(de),ue}case"TSConditionalType":return P(ee,ce,W);case"TSInferType":return["infer"," ",W("typeParameter")];case"TSIntersectionType":return J(ee,ce,W);case"TSUnionType":return L(ee,ce,W);case"TSFunctionType":return Q(ee,ce,W);case"TSTupleType":return V(ee,ce,W);case"TSTypeReference":return[W("typeName"),S(ee,ce,W,"typeParameters")];case"TSTypeAnnotation":return W("typeAnnotation");case"TSEmptyBodyFunctionExpression":return k(ee,ce,W);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return Y(ee,W,"?");case"TSJSDocNonNullableType":return Y(ee,W,"!");case"TSInstantiationExpression":return[W("expression"),W("typeParameters")];default:throw new Error(`Unknown TypeScript node type: ${JSON.stringify(K.type)}.`)}}r.exports={printTypescript:ie}}}),ld=te({"src/language-js/print/comment.js"(e,r){"use strict";ne();var{hasNewline:t}=Ue(),{builders:{join:s,hardline:a},utils:{replaceTextEndOfLine:n}}=qe(),{isLineComment:u}=Ke(),{locStart:i,locEnd:l}=ut(),p=_t();function d(c,f){let E=c.getValue();if(u(E))return f.originalText.slice(i(E),l(E)).trimEnd();if(p(E)){if(y(E)){let F=g(E);return E.trailing&&!t(f.originalText,i(E),{backwards:!0})?[a,F]:F}let _=l(E),w=f.originalText.slice(_-3,_)==="*-/";return["/*",n(E.value),w?"*-/":"*/"]}throw new Error("Not a comment: "+JSON.stringify(E))}function y(c){let f=`*${c.value}*`.split(` -`);return f.length>1&&f.every(E=>E.trim()[0]==="*")}function g(c){let f=c.value.split(` -`);return["/*",s(a,f.map((E,_)=>_===0?E.trimEnd():" "+(_{let{marker:Je}=Oe;return Je===C});return[ve("expression"),x(Be,Ce)?"":Ye,Ie?[" ",Ie]:""]}case"ParenthesizedExpression":return!F(xe.expression)&&(xe.expression.type==="ObjectExpression"||xe.expression.type==="ArrayExpression")?["(",ve("expression"),")"]:l(["(",p([i,ve("expression")]),i,")"]);case"AssignmentExpression":return oe(Ce,Be,ve);case"VariableDeclarator":return Pe(Ce,Be,ve);case"BinaryExpression":case"LogicalExpression":return H(Ce,Be,ve);case"AssignmentPattern":return[ve("left")," = ",ve("right")];case"OptionalMemberExpression":case"MemberExpression":return X(Ce,Be,ve);case"MetaProperty":return[ve("meta"),".",ve("property")];case"BindExpression":return xe.object&&Se.push(ve("object")),Se.push(l(p([i,L(Ce,Be,ve)]))),Se;case"Identifier":return[xe.name,J(Ce),Y(Ce),Q(Ce,Be,ve)];case"V8IntrinsicIdentifier":return["%",xe.name];case"SpreadElement":case"SpreadElementPattern":case"SpreadProperty":case"SpreadPropertyPattern":case"RestElement":return j(Ce,Be,ve);case"FunctionDeclaration":case"FunctionExpression":return ge(Ce,ve,Be,ze);case"ArrowFunctionExpression":return he(Ce,Be,ve,ze);case"YieldExpression":return Se.push("yield"),xe.delegate&&Se.push("*"),xe.argument&&Se.push(" ",ve("argument")),Se;case"AwaitExpression":{if(Se.push("await"),xe.argument){Se.push(" ",ve("argument"));let Ie=Ce.getParentNode();if(T(Ie)&&Ie.callee===xe||m(Ie)&&Ie.object===xe){Se=[p([i,...Se]),i];let Oe=Ce.findAncestor(Je=>Je.type==="AwaitExpression"||Je.type==="BlockStatement");if(!Oe||Oe.type!=="AwaitExpression")return l(Se)}}return Se}case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return ce(Ce,Be,ve);case"ExportAllDeclaration":return W(Ce,Be,ve);case"ImportDeclaration":return ee(Ce,Be,ve);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return K(Ce,Be,ve);case"ImportAttribute":return[ve("key"),": ",ve("value")];case"Import":return"import";case"BlockStatement":case"StaticBlock":case"ClassBody":return le(Ce,Be,ve);case"ThrowStatement":return Re(Ce,Be,ve);case"ReturnStatement":return ke(Ce,Be,ve);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return Ne(Ce,Be,ve);case"ObjectExpression":case"ObjectPattern":case"RecordExpression":return z(Ce,Be,ve);case"ObjectProperty":case"Property":return xe.method||xe.kind==="get"||xe.kind==="set"?we(Ce,Be,ve):fe(Ce,Be,ve);case"ObjectMethod":return we(Ce,Be,ve);case"Decorator":return["@",ve("expression")];case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return Fe(Ce,Be,ve);case"SequenceExpression":{let Ie=Ce.getParentNode(0);if(Ie.type==="ExpressionStatement"||Ie.type==="ForStatement"){let Oe=[];return Ce.each((Je,be)=>{be===0?Oe.push(ve()):Oe.push(",",p([n,ve()]))},"expressions"),l(Oe)}return l(a([",",n],Ce.map(ve,"expressions")))}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[ve("value"),Ye];case"DirectiveLiteral":return ie(xe.extra.raw,Be);case"UnaryExpression":return Se.push(xe.operator),/[a-z]$/.test(xe.operator)&&Se.push(" "),F(xe.argument)?Se.push(l(["(",p([i,ve("argument")]),i,")"])):Se.push(ve("argument")),Se;case"UpdateExpression":return Se.push(ve("argument"),xe.operator),xe.prefix&&Se.reverse(),Se;case"ConditionalExpression":return de(Ce,Be,ve);case"VariableDeclaration":{let Ie=Ce.map(ve,"declarations"),Oe=Ce.getParentNode(),Je=Oe.type==="ForStatement"||Oe.type==="ForInStatement"||Oe.type==="ForOfStatement",be=xe.declarations.some(Me=>Me.init),je;return Ie.length===1&&!F(xe.declarations[0])?je=Ie[0]:Ie.length>0&&(je=p(Ie[0])),Se=[xe.declare?"declare ":"",xe.kind,je?[" ",je]:"",p(Ie.slice(1).map(Me=>[",",be&&!Je?u:n,Me]))],Je&&Oe.body!==xe||Se.push(Ye),l(Se)}case"WithStatement":return l(["with (",ve("object"),")",V(xe.body,ve("body"))]);case"IfStatement":{let Ie=V(xe.consequent,ve("consequent")),Oe=l(["if (",l([p([i,ve("test")]),i]),")",Ie]);if(Se.push(Oe),xe.alternate){let Je=F(xe.consequent,N.Trailing|N.Line)||$(xe),be=xe.consequent.type==="BlockStatement"&&!Je;Se.push(be?" ":u),F(xe,N.Dangling)&&Se.push(t(Ce,Be,!0),Je?u:" "),Se.push("else",l(V(xe.alternate,ve("alternate"),xe.alternate.type==="IfStatement")))}return Se}case"ForStatement":{let Ie=V(xe.body,ve("body")),Oe=t(Ce,Be,!0),Je=Oe?[Oe,i]:"";return!xe.init&&!xe.test&&!xe.update?[Je,l(["for (;;)",Ie])]:[Je,l(["for (",l([p([i,ve("init"),";",n,ve("test"),";",n,ve("update")]),i]),")",Ie])]}case"WhileStatement":return l(["while (",l([p([i,ve("test")]),i]),")",V(xe.body,ve("body"))]);case"ForInStatement":return l(["for (",ve("left")," in ",ve("right"),")",V(xe.body,ve("body"))]);case"ForOfStatement":return l(["for",xe.await?" await":""," (",ve("left")," of ",ve("right"),")",V(xe.body,ve("body"))]);case"DoWhileStatement":{let Ie=V(xe.body,ve("body"));return Se=[l(["do",Ie])],xe.body.type==="BlockStatement"?Se.push(" "):Se.push(u),Se.push("while (",l([p([i,ve("test")]),i]),")",Ye),Se}case"DoExpression":return[xe.async?"async ":"","do ",ve("body")];case"BreakStatement":return Se.push("break"),xe.label&&Se.push(" ",ve("label")),Se.push(Ye),Se;case"ContinueStatement":return Se.push("continue"),xe.label&&Se.push(" ",ve("label")),Se.push(Ye),Se;case"LabeledStatement":return xe.body.type==="EmptyStatement"?[ve("label"),":;"]:[ve("label"),": ",ve("body")];case"TryStatement":return["try ",ve("block"),xe.handler?[" ",ve("handler")]:"",xe.finalizer?[" finally ",ve("finalizer")]:""];case"CatchClause":if(xe.param){let Ie=F(xe.param,Je=>!v(Je)||Je.leading&&s(Be.originalText,h(Je))||Je.trailing&&s(Be.originalText,o(Je),{backwards:!0})),Oe=ve("param");return["catch ",Ie?["(",p([i,Oe]),i,") "]:["(",Oe,") "],ve("body")]}return["catch ",ve("body")];case"SwitchStatement":return[l(["switch (",p([i,ve("discriminant")]),i,")"])," {",xe.cases.length>0?p([u,a(u,Ce.map((Ie,Oe,Je)=>{let be=Ie.getValue();return[ve(),Oe!==Je.length-1&&P(be,Be)?u:""]},"cases"))]):"",u,"}"];case"SwitchCase":{xe.test?Se.push("case ",ve("test"),":"):Se.push("default:"),F(xe,N.Dangling)&&Se.push(" ",t(Ce,Be,!0));let Ie=xe.consequent.filter(Oe=>Oe.type!=="EmptyStatement");if(Ie.length>0){let Oe=pe(Ce,Be,ve);Se.push(Ie.length===1&&Ie[0].type==="BlockStatement"?[" ",Oe]:p([u,Oe]))}return Se}case"DebuggerStatement":return["debugger",Ye];case"ClassDeclaration":case"ClassExpression":return U(Ce,Be,ve);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return Z(Ce,Be,ve);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":case"ClassAccessorProperty":case"AccessorProperty":return se(Ce,Be,ve);case"TemplateElement":return d(xe.value.raw);case"TemplateLiteral":return ue(Ce,ve,Be);case"TaggedTemplateExpression":return[ve("tag"),ve("typeParameters"),ve("quasi")];case"PrivateIdentifier":return["#",ve("name")];case"PrivateName":return["#",ve("id")];case"InterpreterDirective":return Se.push("#!",xe.value,u),P(xe,Be)&&Se.push(u),Se;case"TopicReference":return"%";case"ArgumentPlaceholder":return"?";case"ModuleExpression":{Se.push("module {");let Ie=ve("body");return Ie&&Se.push(p([u,Ie]),u),Se.push("}"),Se}default:throw new Error("unknown type: "+JSON.stringify(xe.type))}}function ye(Ce){return Ce.type&&!v(Ce)&&!I(Ce)&&Ce.type!=="EmptyStatement"&&Ce.type!=="TemplateElement"&&Ce.type!=="Import"&&Ce.type!=="TSEmptyBodyFunctionExpression"}r.exports={preprocess:_,print:G,embed:y,insertPragma:c,massageAstNode:g,hasPrettierIgnore(Ce){return D(Ce)||M(Ce)},willPrintOwnComments:f.willPrintOwnComments,canAttachComment:ye,printComment:Ee,isBlockComment:v,handleComments:{avoidAstMutation:!0,ownLine:f.handleOwnLineComment,endOfLine:f.handleEndOfLineComment,remaining:f.handleRemainingComment},getCommentChildNodes:f.getCommentChildNodes}}}),fd=te({"src/language-js/printer-estree-json.js"(e,r){"use strict";ne();var{builders:{hardline:t,indent:s,join:a}}=qe(),n=Do();function u(d,y,g){let c=d.getValue();switch(c.type){case"JsonRoot":return[g("node"),t];case"ArrayExpression":{if(c.elements.length===0)return"[]";let f=d.map(()=>d.getValue()===null?"null":g(),"elements");return["[",s([t,a([",",t],f)]),t,"]"]}case"ObjectExpression":return c.properties.length===0?"{}":["{",s([t,a([",",t],d.map(g,"properties"))]),t,"}"];case"ObjectProperty":return[g("key"),": ",g("value")];case"UnaryExpression":return[c.operator==="+"?"":c.operator,g("argument")];case"NullLiteral":return"null";case"BooleanLiteral":return c.value?"true":"false";case"StringLiteral":return JSON.stringify(c.value);case"NumericLiteral":return i(d)?JSON.stringify(String(c.value)):JSON.stringify(c.value);case"Identifier":return i(d)?JSON.stringify(c.name):c.name;case"TemplateLiteral":return g(["quasis",0]);case"TemplateElement":return JSON.stringify(c.value.cooked);default:throw new Error("unknown type: "+JSON.stringify(c.type))}}function i(d){return d.getName()==="key"&&d.getParentNode().type==="ObjectProperty"}var l=new Set(["start","end","extra","loc","comments","leadingComments","trailingComments","innerComments","errors","range","tokens"]);function p(d,y){let{type:g}=d;if(g==="ObjectProperty"){let{key:c}=d;c.type==="Identifier"?y.key={type:"StringLiteral",value:c.name}:c.type==="NumericLiteral"&&(y.key={type:"StringLiteral",value:String(c.value)});return}if(g==="UnaryExpression"&&d.operator==="+")return y.argument;if(g==="ArrayExpression"){for(let[c,f]of d.elements.entries())f===null&&y.elements.splice(c,0,{type:"NullLiteral"});return}if(g==="TemplateLiteral")return{type:"StringLiteral",value:d.quasis[0].value.cooked}}p.ignoredProperties=l,r.exports={preprocess:n,print:u,massageAstNode:p}}}),jt=te({"src/common/common-options.js"(e,r){"use strict";ne();var t="Common";r.exports={bracketSpacing:{since:"0.0.0",category:t,type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{since:"0.0.0",category:t,type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{since:"1.8.2",category:t,type:"choice",default:[{since:"1.8.2",value:!0},{since:"1.9.0",value:"preserve"}],description:"How to wrap prose.",choices:[{since:"1.9.0",value:"always",description:"Wrap prose if it exceeds the print width."},{since:"1.9.0",value:"never",description:"Do not wrap prose."},{since:"1.9.0",value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{since:"2.4.0",category:t,type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{since:"2.6.0",category:t,type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}}}}),Dd=te({"src/language-js/options.js"(e,r){"use strict";ne();var t=jt(),s="JavaScript";r.exports={arrowParens:{since:"1.9.0",category:s,type:"choice",default:[{since:"1.9.0",value:"avoid"},{since:"2.0.0",value:"always"}],description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:t.bracketSameLine,bracketSpacing:t.bracketSpacing,jsxBracketSameLine:{since:"0.17.0",category:s,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{since:"1.0.0",category:s,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},singleQuote:t.singleQuote,jsxSingleQuote:{since:"1.15.0",category:s,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{since:"1.17.0",category:s,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{since:"0.0.0",category:s,type:"choice",default:[{since:"0.0.0",value:!1},{since:"0.19.0",value:"none"},{since:"2.0.0",value:"es5"}],description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."},{value:"all",description:"Trailing commas wherever possible (including function arguments)."}]},singleAttributePerLine:t.singleAttributePerLine}}}),md=te({"src/language-js/parse/parsers.js"(){ne()}}),In=te({"node_modules/linguist-languages/data/JavaScript.json"(e,r){r.exports={name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".javascript",".jsb",".jscad",".jsfl",".jslib",".jsm",".jspre",".jss",".jsx",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],languageId:183}}}),dd=te({"node_modules/linguist-languages/data/TypeScript.json"(e,r){r.exports={name:"TypeScript",type:"programming",color:"#3178c6",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts",".cts",".mts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",languageId:378}}}),gd=te({"node_modules/linguist-languages/data/TSX.json"(e,r){r.exports={name:"TSX",type:"programming",color:"#3178c6",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",languageId:94901924}}}),Fa=te({"node_modules/linguist-languages/data/JSON.json"(e,r){r.exports={name:"JSON",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".json",".4DForm",".4DProject",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".jsonl",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".arcconfig",".auto-changelog",".c8rc",".htmlhintrc",".imgbotconfig",".nycrc",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","mcmod.info"],languageId:174}}}),yd=te({"node_modules/linguist-languages/data/JSON with Comments.json"(e,r){r.exports={name:"JSON with Comments",type:"data",color:"#292929",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".code-snippets",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[".babelrc",".devcontainer.json",".eslintrc.json",".jscsrc",".jshintrc",".jslintrc","api-extractor.json","devcontainer.json","jsconfig.json","language-configuration.json","tsconfig.json","tslint.json"],languageId:423}}}),hd=te({"node_modules/linguist-languages/data/JSON5.json"(e,r){r.exports={name:"JSON5",type:"data",color:"#267CB9",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",languageId:175}}}),vd=te({"src/language-js/index.js"(e,r){"use strict";ne();var t=wt(),s=pd(),a=fd(),n=Dd(),u=md(),i=[t(In(),p=>({since:"0.0.0",parsers:["babel","acorn","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"],interpreters:[...p.interpreters,"zx"],extensions:[...p.extensions.filter(d=>d!==".jsx"),".wxs"]})),t(In(),()=>({name:"Flow",since:"0.0.0",parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"],aliases:[],filenames:[],extensions:[".js.flow"]})),t(In(),()=>({name:"JSX",since:"0.0.0",parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"],aliases:void 0,filenames:void 0,extensions:[".jsx"],group:"JavaScript",interpreters:void 0,tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",color:void 0})),t(dd(),()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]})),t(gd(),()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]})),t(Fa(),()=>({name:"JSON.stringify",since:"1.13.0",parsers:["json-stringify"],vscodeLanguageIds:["json"],extensions:[".importmap"],filenames:["package.json","package-lock.json","composer.json"]})),t(Fa(),p=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["json"],extensions:p.extensions.filter(d=>d!==".jsonl")})),t(yd(),p=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["jsonc"],filenames:[...p.filenames,".eslintrc",".swcrc"]})),t(hd(),()=>({since:"1.13.0",parsers:["json5"],vscodeLanguageIds:["json5"]}))],l={estree:s,"estree-json":a};r.exports={languages:i,options:n,printers:l,parsers:u}}}),Cd=te({"src/language-css/clean.js"(e,r){"use strict";ne();var{isFrontMatterNode:t}=Ue(),s=lt(),a=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma"]);function n(i,l,p){if(t(i)&&i.lang==="yaml"&&delete l.value,i.type==="css-comment"&&p.type==="css-root"&&p.nodes.length>0&&((p.nodes[0]===i||t(p.nodes[0])&&p.nodes[1]===i)&&(delete l.text,/^\*\s*@(?:format|prettier)\s*$/.test(i.text))||p.type==="css-root"&&s(p.nodes)===i))return null;if(i.type==="value-root"&&delete l.text,(i.type==="media-query"||i.type==="media-query-list"||i.type==="media-feature-expression")&&delete l.value,i.type==="css-rule"&&delete l.params,i.type==="selector-combinator"&&(l.value=l.value.replace(/\s+/g," ")),i.type==="media-feature"&&(l.value=l.value.replace(/ /g,"")),(i.type==="value-word"&&(i.isColor&&i.isHex||["initial","inherit","unset","revert"].includes(l.value.replace().toLowerCase()))||i.type==="media-feature"||i.type==="selector-root-invalid"||i.type==="selector-pseudo")&&(l.value=l.value.toLowerCase()),i.type==="css-decl"&&(l.prop=l.prop.toLowerCase()),(i.type==="css-atrule"||i.type==="css-import")&&(l.name=l.name.toLowerCase()),i.type==="value-number"&&(l.unit=l.unit.toLowerCase()),(i.type==="media-feature"||i.type==="media-keyword"||i.type==="media-type"||i.type==="media-unknown"||i.type==="media-url"||i.type==="media-value"||i.type==="selector-attribute"||i.type==="selector-string"||i.type==="selector-class"||i.type==="selector-combinator"||i.type==="value-string")&&l.value&&(l.value=u(l.value)),i.type==="selector-attribute"&&(l.attribute=l.attribute.trim(),l.namespace&&typeof l.namespace=="string"&&(l.namespace=l.namespace.trim(),l.namespace.length===0&&(l.namespace=!0)),l.value&&(l.value=l.value.trim().replace(/^["']|["']$/g,""),delete l.quoted)),(i.type==="media-value"||i.type==="media-type"||i.type==="value-number"||i.type==="selector-root-invalid"||i.type==="selector-class"||i.type==="selector-combinator"||i.type==="selector-tag")&&l.value&&(l.value=l.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g,(d,y,g)=>{let c=Number(y);return Number.isNaN(c)?d:c+g.toLowerCase()})),i.type==="selector-tag"){let d=i.value.toLowerCase();["from","to"].includes(d)&&(l.value=d)}if(i.type==="css-atrule"&&i.name.toLowerCase()==="supports"&&delete l.value,i.type==="selector-unknown"&&delete l.value,i.type==="value-comma_group"){let d=i.groups.findIndex(y=>y.type==="value-number"&&y.unit==="...");d!==-1&&(l.groups[d].unit="",l.groups.splice(d+1,0,{type:"value-word",value:"...",isColor:!1,isHex:!1}))}if(i.type==="value-comma_group"&&i.groups.some(d=>d.type==="value-atword"&&d.value.endsWith("[")||d.type==="value-word"&&d.value.startsWith("]")))return{type:"value-atword",value:i.groups.map(d=>d.value).join(""),group:{open:null,close:null,groups:[],type:"value-paren_group"}}}n.ignoredProperties=a;function u(i){return i.replace(/'/g,'"').replace(/\\([^\dA-Fa-f])/g,"$1")}r.exports=n}}),ru=te({"src/utils/front-matter/print.js"(e,r){"use strict";ne();var{builders:{hardline:t,markAsRoot:s}}=qe();function a(n,u){if(n.lang==="yaml"){let i=n.value.trim(),l=i?u(i,{parser:"yaml"},{stripTrailingHardline:!0}):"";return s([n.startDelimiter,t,l,l?t:"",n.endDelimiter])}}r.exports=a}}),Ed=te({"src/language-css/embed.js"(e,r){"use strict";ne();var{builders:{hardline:t}}=qe(),s=ru();function a(n,u,i){let l=n.getValue();if(l.type==="front-matter"){let p=s(l,i);return p?[p,t]:""}}r.exports=a}}),Ao=te({"src/utils/front-matter/parse.js"(e,r){"use strict";ne();var t=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function s(a){let n=a.match(t);if(!n)return{content:a};let{startDelimiter:u,language:i,value:l="",endDelimiter:p}=n.groups,d=i.trim()||"yaml";if(u==="+++"&&(d="toml"),d!=="yaml"&&u!==p)return{content:a};let[y]=n;return{frontMatter:{type:"front-matter",lang:d,value:l,startDelimiter:u,endDelimiter:p,raw:y.replace(/\n$/,"")},content:y.replace(/[^\n]/g," ")+a.slice(y.length)}}r.exports=s}}),Fd=te({"src/language-css/pragma.js"(e,r){"use strict";ne();var t=po(),s=Ao();function a(u){return t.hasPragma(s(u).content)}function n(u){let{frontMatter:i,content:l}=s(u);return(i?i.raw+` - -`:"")+t.insertPragma(l)}r.exports={hasPragma:a,insertPragma:n}}}),Ad=te({"src/language-css/utils/index.js"(e,r){"use strict";ne();var t=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function s(z,U){let Z=Array.isArray(U)?U:[U],se=-1,fe;for(;fe=z.getParentNode(++se);)if(Z.includes(fe.type))return se;return-1}function a(z,U){let Z=s(z,U);return Z===-1?null:z.getParentNode(Z)}function n(z){var U;let Z=a(z,"css-decl");return Z==null||(U=Z.prop)===null||U===void 0?void 0:U.toLowerCase()}var u=new Set(["initial","inherit","unset","revert"]);function i(z){return u.has(z.toLowerCase())}function l(z,U){let Z=a(z,"css-atrule");return(Z==null?void 0:Z.name)&&Z.name.toLowerCase().endsWith("keyframes")&&["from","to"].includes(U.toLowerCase())}function p(z){return z.includes("$")||z.includes("@")||z.includes("#")||z.startsWith("%")||z.startsWith("--")||z.startsWith(":--")||z.includes("(")&&z.includes(")")?z:z.toLowerCase()}function d(z,U){var Z;let se=a(z,"value-func");return(se==null||(Z=se.value)===null||Z===void 0?void 0:Z.toLowerCase())===U}function y(z){var U;let Z=a(z,"css-rule"),se=Z==null||(U=Z.raws)===null||U===void 0?void 0:U.selector;return se&&(se.startsWith(":import")||se.startsWith(":export"))}function g(z,U){let Z=Array.isArray(U)?U:[U],se=a(z,"css-atrule");return se&&Z.includes(se.name.toLowerCase())}function c(z){let U=z.getValue(),Z=a(z,"css-atrule");return(Z==null?void 0:Z.name)==="import"&&U.groups[0].value==="url"&&U.groups.length===2}function f(z){return z.type==="value-func"&&z.value.toLowerCase()==="url"}function E(z,U){var Z;let se=(Z=z.getParentNode())===null||Z===void 0?void 0:Z.nodes;return se&&se.indexOf(U)===se.length-1}function _(z){let{selector:U}=z;return U?typeof U=="string"&&/^@.+:.*$/.test(U)||U.value&&/^@.+:.*$/.test(U.value):!1}function w(z){return z.type==="value-word"&&["from","through","end"].includes(z.value)}function F(z){return z.type==="value-word"&&["and","or","not"].includes(z.value)}function N(z){return z.type==="value-word"&&z.value==="in"}function x(z){return z.type==="value-operator"&&z.value==="*"}function I(z){return z.type==="value-operator"&&z.value==="/"}function P(z){return z.type==="value-operator"&&z.value==="+"}function $(z){return z.type==="value-operator"&&z.value==="-"}function D(z){return z.type==="value-operator"&&z.value==="%"}function T(z){return x(z)||I(z)||P(z)||$(z)||D(z)}function m(z){return z.type==="value-word"&&["==","!="].includes(z.value)}function C(z){return z.type==="value-word"&&["<",">","<=",">="].includes(z.value)}function o(z){return z.type==="css-atrule"&&["if","else","for","each","while"].includes(z.name)}function h(z){var U;return((U=z.raws)===null||U===void 0?void 0:U.params)&&/^\(\s*\)$/.test(z.raws.params)}function v(z){return z.name.startsWith("prettier-placeholder")}function S(z){return z.prop.startsWith("@prettier-placeholder")}function b(z,U){return z.value==="$$"&&z.type==="value-func"&&(U==null?void 0:U.type)==="value-word"&&!U.raws.before}function B(z){var U,Z;return((U=z.value)===null||U===void 0?void 0:U.type)==="value-root"&&((Z=z.value.group)===null||Z===void 0?void 0:Z.type)==="value-value"&&z.prop.toLowerCase()==="composes"}function k(z){var U,Z,se;return((U=z.value)===null||U===void 0||(Z=U.group)===null||Z===void 0||(se=Z.group)===null||se===void 0?void 0:se.type)==="value-paren_group"&&z.value.group.group.open!==null&&z.value.group.group.close!==null}function M(z){var U;return((U=z.raws)===null||U===void 0?void 0:U.before)===""}function R(z){var U,Z;return z.type==="value-comma_group"&&((U=z.groups)===null||U===void 0||(Z=U[1])===null||Z===void 0?void 0:Z.type)==="value-colon"}function q(z){var U;return z.type==="value-paren_group"&&((U=z.groups)===null||U===void 0?void 0:U[0])&&R(z.groups[0])}function J(z){var U;let Z=z.getValue();if(Z.groups.length===0)return!1;let se=z.getParentNode(1);if(!q(Z)&&!(se&&q(se)))return!1;let fe=a(z,"css-decl");return!!(fe!=null&&(U=fe.prop)!==null&&U!==void 0&&U.startsWith("$")||q(se)||se.type==="value-func")}function L(z){return z.type==="value-comment"&&z.inline}function Q(z){return z.type==="value-word"&&z.value==="#"}function V(z){return z.type==="value-word"&&z.value==="{"}function j(z){return z.type==="value-word"&&z.value==="}"}function Y(z){return["value-word","value-atword"].includes(z.type)}function ie(z){return(z==null?void 0:z.type)==="value-colon"}function ee(z,U){if(!R(U))return!1;let{groups:Z}=U,se=Z.indexOf(z);return se===-1?!1:ie(Z[se+1])}function ce(z){return z.value&&["not","and","or"].includes(z.value.toLowerCase())}function W(z){return z.type!=="value-func"?!1:t.has(z.value.toLowerCase())}function K(z){return/\/\//.test(z.split(/[\n\r]/).pop())}function de(z){return(z==null?void 0:z.type)==="value-atword"&&z.value.startsWith("prettier-placeholder-")}function ue(z,U){var Z,se;if(((Z=z.open)===null||Z===void 0?void 0:Z.value)!=="("||((se=z.close)===null||se===void 0?void 0:se.value)!==")"||z.groups.some(fe=>fe.type!=="value-comma_group"))return!1;if(U.type==="value-comma_group"){let fe=U.groups.indexOf(z)-1,ge=U.groups[fe];if((ge==null?void 0:ge.type)==="value-word"&&ge.value==="with")return!0}return!1}function Fe(z){var U,Z;return z.type==="value-paren_group"&&((U=z.open)===null||U===void 0?void 0:U.value)==="("&&((Z=z.close)===null||Z===void 0?void 0:Z.value)===")"}r.exports={getAncestorCounter:s,getAncestorNode:a,getPropOfDeclNode:n,maybeToLowerCase:p,insideValueFunctionNode:d,insideICSSRuleNode:y,insideAtRuleNode:g,insideURLFunctionInImportAtRuleNode:c,isKeyframeAtRuleKeywords:l,isWideKeywords:i,isLastNode:E,isSCSSControlDirectiveNode:o,isDetachedRulesetDeclarationNode:_,isRelationalOperatorNode:C,isEqualityOperatorNode:m,isMultiplicationNode:x,isDivisionNode:I,isAdditionNode:P,isSubtractionNode:$,isModuloNode:D,isMathOperatorNode:T,isEachKeywordNode:N,isForKeywordNode:w,isURLFunctionNode:f,isIfElseKeywordNode:F,hasComposesNode:B,hasParensAroundNode:k,hasEmptyRawBefore:M,isDetachedRulesetCallNode:h,isTemplatePlaceholderNode:v,isTemplatePropNode:S,isPostcssSimpleVarNode:b,isKeyValuePairNode:R,isKeyValuePairInParenGroupNode:q,isKeyInValuePairNode:ee,isSCSSMapItemNode:J,isInlineValueCommentNode:L,isHashNode:Q,isLeftCurlyBraceNode:V,isRightCurlyBraceNode:j,isWordNode:Y,isColonNode:ie,isMediaAndSupportsKeywords:ce,isColorAdjusterFuncNode:W,lastLineHasInlineComment:K,isAtWordPlaceholderNode:de,isConfigurationNode:ue,isParenGroupNode:Fe}}}),Sd=te({"src/utils/line-column-to-index.js"(e,r){"use strict";ne(),r.exports=function(t,s){let a=0;for(let n=0;n0?y:""]}case"css-comment":{let Ve=ae.inline||ae.raws.inline,We=je.originalText.slice(Ae(ae),Ee(ae));return Ve?We.trimEnd():We}case"css-rule":return[Me("selector"),ae.important?" !important":"",ae.nodes?[ae.selector&&ae.selector.type==="selector-unknown"&&H(ae.selector.value)?d:" ","{",ae.nodes.length>0?E([y,Ce(be,je,Me)]):"",y,"}",M(ae)?";":""]:";"];case"css-decl":{let Ve=be.getParentNode(),{between:We}=ae.raws,Xe=We.trim(),st=Xe===":",O=W(ae)?N(Me("value")):Me("value");return!st&&H(Xe)&&(O=E([y,_(O)])),[ae.raws.before.replace(/[\s;]/g,""),Ve.type==="css-atrule"&&Ve.variable||o(be)?ae.prop:m(ae.prop),Xe.startsWith("//")?" ":"",Xe,ae.extend?"":" ",De(je)&&ae.extend&&ae.selector?["extend(",Me("selector"),")"]:"",O,ae.raws.important?ae.raws.important.replace(/\s*!\s*important/i," !important"):ae.important?" !important":"",ae.raws.scssDefault?ae.raws.scssDefault.replace(/\s*!default/i," !default"):ae.scssDefault?" !default":"",ae.raws.scssGlobal?ae.raws.scssGlobal.replace(/\s*!global/i," !global"):ae.scssGlobal?" !global":"",ae.nodes?[" {",E([g,Ce(be,je,Me)]),g,"}"]:Z(ae)&&!Ve.raws.semicolon&&je.originalText[Ee(ae)-1]!==";"?"":je.__isHTMLStyleAttribute&&B(be,ae)?w(";"):";"]}case"css-atrule":{let Ve=be.getParentNode(),We=U(ae)&&!Ve.raws.semicolon&&je.originalText[Ee(ae)-1]!==";";if(De(je)){if(ae.mixin)return[Me("selector"),ae.important?" !important":"",We?"":";"];if(ae.function)return[ae.name,Me("params"),We?"":";"];if(ae.variable)return["@",ae.name,": ",ae.value?Me("value"):"",ae.raws.between.trim()?ae.raws.between.trim()+" ":"",ae.nodes?["{",E([ae.nodes.length>0?g:"",Ce(be,je,Me)]),g,"}"]:"",We?"":";"]}return["@",z(ae)||ae.name.endsWith(":")?ae.name:m(ae.name),ae.params?[z(ae)?"":U(ae)?ae.raws.afterName===""?"":ae.name.endsWith(":")?" ":/^\s*\n\s*\n/.test(ae.raws.afterName)?[y,y]:/^\s*\n/.test(ae.raws.afterName)?y:" ":" ",Me("params")]:"",ae.selector?E([" ",Me("selector")]):"",ae.value?c([" ",Me("value"),k(ae)?K(ae)?" ":d:""]):ae.name==="else"?" ":"",ae.nodes?[k(ae)?"":ae.selector&&!ae.selector.nodes&&typeof ae.selector.value=="string"&&H(ae.selector.value)||!ae.selector&&typeof ae.params=="string"&&H(ae.params)?d:" ","{",E([ae.nodes.length>0?g:"",Ce(be,je,Me)]),g,"}"]:We?"":";"]}case"media-query-list":{let Ve=[];return be.each(We=>{let Xe=We.getValue();Xe.type==="media-query"&&Xe.value===""||Ve.push(Me())},"nodes"),c(E(p(d,Ve)))}case"media-query":return[p(" ",be.map(Me,"nodes")),B(be,ae)?"":","];case"media-type":return Oe(Se(ae.value,je));case"media-feature-expression":return ae.nodes?["(",...be.map(Me,"nodes"),")"]:ae.value;case"media-feature":return m(Se(ae.value.replace(/ +/g," "),je));case"media-colon":return[ae.value," "];case"media-value":return Oe(Se(ae.value,je));case"media-keyword":return Se(ae.value,je);case"media-url":return Se(ae.value.replace(/^url\(\s+/gi,"url(").replace(/\s+\)$/g,")"),je);case"media-unknown":return ae.value;case"selector-root":return c([h(be,"custom-selector")?[D(be,"css-atrule").customSelector,d]:"",p([",",h(be,["extend","custom-selector","nest"])?d:y],be.map(Me,"nodes"))]);case"selector-selector":return c(E(be.map(Me,"nodes")));case"selector-comment":return ae.value;case"selector-string":return Se(ae.value,je);case"selector-tag":{let Ve=be.getParentNode(),We=Ve&&Ve.nodes.indexOf(ae),Xe=We&&Ve.nodes[We-1];return[ae.namespace?[ae.namespace===!0?"":ae.namespace.trim(),"|"]:"",Xe.type==="selector-nesting"?ae.value:Oe(S(be,ae.value)?ae.value.toLowerCase():ae.value)]}case"selector-id":return["#",ae.value];case"selector-class":return[".",Oe(Se(ae.value,je))];case"selector-attribute":{var nt;return["[",ae.namespace?[ae.namespace===!0?"":ae.namespace.trim(),"|"]:"",ae.attribute.trim(),(nt=ae.operator)!==null&&nt!==void 0?nt:"",ae.value?Ie(Se(ae.value.trim(),je),je):"",ae.insensitive?" i":"","]"]}case"selector-combinator":{if(ae.value==="+"||ae.value===">"||ae.value==="~"||ae.value===">>>"){let Xe=be.getParentNode();return[Xe.type==="selector-selector"&&Xe.nodes[0]===ae?"":d,ae.value,B(be,ae)?"":" "]}let Ve=ae.value.trim().startsWith("(")?d:"",We=Oe(Se(ae.value.trim(),je))||d;return[Ve,We]}case"selector-universal":return[ae.namespace?[ae.namespace===!0?"":ae.namespace.trim(),"|"]:"",ae.value];case"selector-pseudo":return[m(ae.value),l(ae.nodes)?c(["(",E([g,p([",",d],be.map(Me,"nodes"))]),g,")"]):""];case"selector-nesting":return ae.value;case"selector-unknown":{let Ve=D(be,"css-rule");if(Ve&&Ve.isSCSSNesterProperty)return Oe(Se(m(ae.value),je));let We=be.getParentNode();if(We.raws&&We.raws.selector){let st=Ae(We),O=st+We.raws.selector.length;return je.originalText.slice(st,O).trim()}let Xe=be.getParentNode(1);if(We.type==="value-paren_group"&&Xe&&Xe.type==="value-func"&&Xe.value==="selector"){let st=Ee(We.open)+1,O=Ae(We.close),me=je.originalText.slice(st,O).trim();return H(me)?[F,me]:me}return ae.value}case"value-value":case"value-root":return Me("group");case"value-comment":return je.originalText.slice(Ae(ae),Ee(ae));case"value-comma_group":{let Ve=be.getParentNode(),We=be.getParentNode(1),Xe=T(be),st=Xe&&Ve.type==="value-value"&&(Xe==="grid"||Xe.startsWith("grid-template")),O=D(be,"css-atrule"),me=O&&k(O),_e=ae.groups.some(at=>ge(at)),He=be.map(Me,"groups"),Ge=[],it=C(be,"url"),Qe=!1,rt=!1;for(let at=0;atRr:Mr!==-1?Qe=!0:Rr!==-1&&(Qe=!1)}if(Qe||Ne(Le)||Ne($e)||Le.type==="value-atword"&&(Le.value===""||Le.value.endsWith("["))||$e.type==="value-word"&&$e.value.startsWith("]")||Le.value==="~"||Le.value&&Le.value.includes("\\")&&$e&&$e.type!=="value-comment"||Ze&&Ze.value&&Ze.value.indexOf("\\")===Ze.value.length-1&&Le.type==="value-operator"&&Le.value==="/"||Le.value==="\\"||se(Le,$e)||he(Le)||we(Le)||ke($e)||we($e)&&de($e)||ke(Le)&&de($e)||Le.value==="--"&&he($e))continue;let qr=j(Le),su=j($e);if((qr&&he($e)||su&&ke(Le))&&de($e)||!Ze&&L(Le)||C(be,"calc")&&(Q(Le)||Q($e)||V(Le)||V($e))&&de($e))continue;let No=(Q(Le)||V(Le))&&at===0&&($e.type==="value-number"||$e.isHex)&&We&&oe(We)&&!de($e),iu=nr&&nr.type==="value-func"||nr&&Re(nr)||Le.type==="value-func"||Re(Le),au=$e.type==="value-func"||Re($e)||Ze&&Ze.type==="value-func"||Ze&&Re(Ze);if(!(!(J($e)||J(Le))&&!C(be,"calc")&&!No&&(L($e)&&!iu||L(Le)&&!au||Q($e)&&!iu||Q(Le)&&!au||V($e)||V(Le))&&(de($e)||qr&&(!Ze||Ze&&j(Ze))))&&!((je.parser==="scss"||je.parser==="less")&&qr&&Le.value==="-"&&le($e)&&Ee(Le)===Ae($e.open)&&$e.open.value==="(")){if(ge(Le)){if(Ve.type==="value-paren_group"){Ge.push(_(y));continue}Ge.push(y);continue}if(me&&(q($e)||R($e)||ce($e)||Y(Le)||ie(Le))){Ge.push(" ");continue}if(O&&O.name.toLowerCase()==="namespace"){Ge.push(" ");continue}if(st){Le.source&&$e.source&&Le.source.start.line!==$e.source.start.line?(Ge.push(y),rt=!0):Ge.push(" ");continue}if(su){Ge.push(" ");continue}if(!($e&&$e.value==="...")&&!(pe(Le)&&pe($e)&&Ee(Le)===Ae($e))){if(pe(Le)&&le($e)&&Ee(Le)===Ae($e.open)){Ge.push(g);continue}if(Le.value==="with"&&le($e)){Ge.push(" ");continue}(tt=Le.value)!==null&&tt!==void 0&&tt.endsWith("#")&&$e.value==="{"&&le($e.group)||Ge.push(d)}}}return _e&&Ge.push(F),rt&&Ge.unshift(y),me?c(E(Ge)):v(be)?c(f(Ge)):c(E(f(Ge)))}case"value-paren_group":{let Ve=be.getParentNode();if(Ve&&ee(Ve)&&(ae.groups.length===1||ae.groups.length>0&&ae.groups[0].type==="value-comma_group"&&ae.groups[0].groups.length>0&&ae.groups[0].groups[0].type==="value-word"&&ae.groups[0].groups[0].value.startsWith("data:")))return[ae.open?Me("open"):"",p(",",be.map(Me,"groups")),ae.close?Me("close"):""];if(!ae.open){let it=be.map(Me,"groups"),Qe=[];for(let rt=0;rt{let rt=it.getValue(),at=Qe===ae.groups.length-1,Ze=[Me(),at?"":","];if(ue(rt)&&rt.type==="value-comma_group"&&rt.groups&&rt.groups[0].type!=="value-paren_group"&&rt.groups[2]&&rt.groups[2].type==="value-paren_group"){let Le=x(Ze[0].contents.contents);Le[1]=c(Le[1]),Ze=[c(_(Ze))]}if(!at&&rt.type==="value-comma_group"&&l(rt.groups)){let Le=t(rt.groups);!Le.source&&Le.close&&(Le=Le.close),Le.source&&i(je.originalText,Le,Ee)&&Ze.push(y)}return Ze},"groups"))]),w(!st&&A(je.parser,je.originalText)&&We&&re(je)?",":""),g,ae.close?Me("close"):""],{shouldBreak:_e});return He?_(Ge):Ge}case"value-func":return[ae.value,h(be,"supports")&&Pe(ae)?" ":"",Me("group")];case"value-paren":return ae.value;case"value-number":return[Je(ae.value),G(ae.unit)];case"value-operator":return ae.value;case"value-word":return ae.isColor&&ae.isHex||b(ae.value)?ae.value.toLowerCase():ae.value;case"value-colon":{let Ve=be.getParentNode(),We=Ve&&Ve.groups.indexOf(ae),Xe=We&&Ve.groups[We-1];return[ae.value,Xe&&typeof Xe.value=="string"&&t(Xe.value)==="\\"||C(be,"url")?"":d]}case"value-comma":return[ae.value," "];case"value-string":return a(ae.raws.quote+ae.value+ae.raws.quote,je);case"value-atword":return["@",ae.value];case"value-unicode-range":return ae.value;case"value-unknown":return ae.value;default:throw new Error(`Unknown postcss type ${JSON.stringify(ae.type)}`)}}function Ce(be,je,Me){let ae=[];return be.each((nt,tt,Ve)=>{let We=Ve[tt-1];if(We&&We.type==="css-comment"&&We.text.trim()==="prettier-ignore"){let Xe=nt.getValue();ae.push(je.originalText.slice(Ae(Xe),Ee(Xe)))}else ae.push(Me());tt!==Ve.length-1&&(Ve[tt+1].type==="css-comment"&&!n(je.originalText,Ae(Ve[tt+1]),{backwards:!0})&&!u(Ve[tt])||Ve[tt+1].type==="css-atrule"&&Ve[tt+1].name==="else"&&Ve[tt].type!=="css-comment"?ae.push(" "):(ae.push(je.__isHTMLStyleAttribute?d:y),i(je.originalText,nt.getValue(),Ee)&&!u(Ve[tt])&&ae.push(y)))},"nodes"),ae}var Be=/(["'])(?:(?!\1)[^\\]|\\.)*\1/gs,ve=/(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g,ze=/[A-Za-z]+/g,xe=/[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g,Ye=new RegExp(Be.source+`|(${xe.source})?(${ve.source})(${ze.source})?`,"g");function Se(be,je){return be.replace(Be,Me=>a(Me,je))}function Ie(be,je){let Me=je.singleQuote?"'":'"';return be.includes('"')||be.includes("'")?be:Me+be+Me}function Oe(be){return be.replace(Ye,(je,Me,ae,nt,tt)=>!ae&&nt?Je(nt)+m(tt||""):je)}function Je(be){return s(be).replace(/\.0(?=$|e)/,"")}r.exports={print:ye,embed:P,insertPragma:$,massageAstNode:I}}}),_d=te({"src/language-css/options.js"(e,r){"use strict";ne();var t=jt();r.exports={singleQuote:t.singleQuote}}}),Pd=te({"src/language-css/parsers.js"(){ne()}}),Id=te({"node_modules/linguist-languages/data/CSS.json"(e,r){r.exports={name:"CSS",type:"markup",tmScope:"source.css",aceMode:"css",codemirrorMode:"css",codemirrorMimeType:"text/css",color:"#563d7c",extensions:[".css"],languageId:50}}}),kd=te({"node_modules/linguist-languages/data/PostCSS.json"(e,r){r.exports={name:"PostCSS",type:"markup",color:"#dc3a0c",tmScope:"source.postcss",group:"CSS",extensions:[".pcss",".postcss"],aceMode:"text",languageId:262764437}}}),Ld=te({"node_modules/linguist-languages/data/Less.json"(e,r){r.exports={name:"Less",type:"markup",color:"#1d365d",aliases:["less-css"],extensions:[".less"],tmScope:"source.css.less",aceMode:"less",codemirrorMode:"css",codemirrorMimeType:"text/css",languageId:198}}}),Od=te({"node_modules/linguist-languages/data/SCSS.json"(e,r){r.exports={name:"SCSS",type:"markup",color:"#c6538c",tmScope:"source.css.scss",aceMode:"scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",extensions:[".scss"],languageId:329}}}),jd=te({"src/language-css/index.js"(e,r){"use strict";ne();var t=wt(),s=wd(),a=_d(),n=Pd(),u=[t(Id(),l=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["css"],extensions:[...l.extensions,".wxss"]})),t(kd(),()=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["postcss"]})),t(Ld(),()=>({since:"1.4.0",parsers:["less"],vscodeLanguageIds:["less"]})),t(Od(),()=>({since:"1.4.0",parsers:["scss"],vscodeLanguageIds:["scss"]}))],i={postcss:s};r.exports={languages:u,options:a,printers:i,parsers:n}}}),qd=te({"src/language-handlebars/loc.js"(e,r){"use strict";ne();function t(a){return a.loc.start.offset}function s(a){return a.loc.end.offset}r.exports={locStart:t,locEnd:s}}}),Md=te({"src/language-handlebars/clean.js"(e,r){"use strict";ne();function t(s,a){if(s.type==="TextNode"){let n=s.chars.trim();if(!n)return null;a.chars=n.replace(/[\t\n\f\r ]+/g," ")}s.type==="AttrNode"&&s.name.toLowerCase()==="class"&&delete a.value}t.ignoredProperties=new Set(["loc","selfClosing"]),r.exports=t}}),Rd=te({"src/language-handlebars/html-void-elements.evaluate.js"(e,r){r.exports=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]}}),$d=te({"src/language-handlebars/utils.js"(e,r){"use strict";ne();var t=lt(),s=Rd();function a(x){let I=x.getValue(),P=x.getParentNode(0);return!!(g(x,["ElementNode"])&&t(P.children)===I||g(x,["Block"])&&t(P.body)===I)}function n(x){return x.toUpperCase()===x}function u(x){return y(x,["ElementNode"])&&typeof x.tag=="string"&&!x.tag.startsWith(":")&&(n(x.tag[0])||x.tag.includes("."))}var i=new Set(s);function l(x){return i.has(x.toLowerCase())&&!n(x[0])}function p(x){return x.selfClosing===!0||l(x.tag)||u(x)&&x.children.every(I=>d(I))}function d(x){return y(x,["TextNode"])&&!/\S/.test(x.chars)}function y(x,I){return x&&I.includes(x.type)}function g(x,I){let P=x.getParentNode(0);return y(P,I)}function c(x,I){let P=_(x);return y(P,I)}function f(x,I){let P=w(x);return y(P,I)}function E(x,I){var P,$,D,T;let m=x.getValue(),C=(P=x.getParentNode(0))!==null&&P!==void 0?P:{},o=($=(D=(T=C.children)!==null&&T!==void 0?T:C.body)!==null&&D!==void 0?D:C.parts)!==null&&$!==void 0?$:[],h=o.indexOf(m);return h!==-1&&o[h+I]}function _(x){let I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return E(x,-I)}function w(x){return E(x,1)}function F(x){return y(x,["MustacheCommentStatement"])&&typeof x.value=="string"&&x.value.trim()==="prettier-ignore"}function N(x){let I=x.getValue(),P=_(x,2);return F(I)||F(P)}r.exports={getNextNode:w,getPreviousNode:_,hasPrettierIgnore:N,isLastNodeOfSiblings:a,isNextNodeOfSomeType:f,isNodeOfSomeType:y,isParentOfSomeType:g,isPreviousNodeOfSomeType:c,isVoid:p,isWhitespaceNode:d}}}),Vd=te({"src/language-handlebars/printer-glimmer.js"(e,r){"use strict";ne();var{builders:{dedent:t,fill:s,group:a,hardline:n,ifBreak:u,indent:i,join:l,line:p,softline:d},utils:{getDocParts:y,replaceTextEndOfLine:g}}=qe(),{getPreferredQuote:c,isNonEmptyArray:f}=Ue(),{locStart:E,locEnd:_}=qd(),w=Md(),{getNextNode:F,getPreviousNode:N,hasPrettierIgnore:x,isLastNodeOfSiblings:I,isNextNodeOfSomeType:P,isNodeOfSomeType:$,isParentOfSomeType:D,isPreviousNodeOfSomeType:T,isVoid:m,isWhitespaceNode:C}=$d(),o=2;function h(H,pe,X){let le=H.getValue();if(!le)return"";if(x(H))return pe.originalText.slice(E(le),_(le));let Ae=pe.singleQuote?"'":'"';switch(le.type){case"Block":case"Program":case"Template":return a(H.map(X,"body"));case"ElementNode":{let Ee=a(S(H,X)),De=pe.htmlWhitespaceSensitivity==="ignore"&&P(H,["ElementNode"])?d:"";if(m(le))return[Ee,De];let A=[""];return le.children.length===0?[Ee,i(A),De]:pe.htmlWhitespaceSensitivity==="ignore"?[Ee,i(b(H,pe,X)),n,i(A),De]:[Ee,i(a(b(H,pe,X))),i(A),De]}case"BlockStatement":{let Ee=H.getParentNode(1);return Ee&&Ee.inverse&&Ee.inverse.body.length===1&&Ee.inverse.body[0]===le&&Ee.inverse.body[0].path.parts[0]===Ee.path.parts[0]?[ie(H,X,Ee.inverse.body[0].path.parts[0]),de(H,X,pe),ue(H,X,pe)]:[j(H,X),a([de(H,X,pe),ue(H,X,pe),ee(H,X,pe)])]}case"ElementModifierStatement":return a(["{{",Re(H,X),"}}"]);case"MustacheStatement":return a([k(le),Re(H,X),M(le)]);case"SubExpression":return a(["(",ke(H,X),d,")"]);case"AttrNode":{let Ee=le.value.type==="TextNode";if(Ee&&le.value.chars===""&&E(le.value)===_(le.value))return le.name;let A=Ee?c(le.value.chars,Ae).quote:le.value.type==="ConcatStatement"?c(le.value.parts.filter(re=>re.type==="TextNode").map(re=>re.chars).join(""),Ae).quote:"",G=X("value");return[le.name,"=",A,le.name==="class"&&A?a(i(G)):G,A]}case"ConcatStatement":return H.map(X,"parts");case"Hash":return l(p,H.map(X,"pairs"));case"HashPair":return[le.key,"=",X("value")];case"TextNode":{let Ee=le.chars.replace(/{{/g,"\\{{"),De=U(H);if(De){if(De==="class"){let Ye=Ee.trim().split(/\s+/).join(" "),Se=!1,Ie=!1;return D(H,["ConcatStatement"])&&(T(H,["MustacheStatement"])&&/^\s/.test(Ee)&&(Se=!0),P(H,["MustacheStatement"])&&/\s$/.test(Ee)&&Ye!==""&&(Ie=!0)),[Se?p:"",Ye,Ie?p:""]}return g(Ee)}let G=/^[\t\n\f\r ]*$/.test(Ee),re=!N(H),ye=!F(H);if(pe.htmlWhitespaceSensitivity!=="ignore"){let Ye=/^[\t\n\f\r ]*/,Se=/[\t\n\f\r ]*$/,Ie=ye&&D(H,["Template"]),Oe=re&&D(H,["Template"]);if(G){if(Oe||Ie)return"";let ae=[p],nt=Z(Ee);return nt&&(ae=ge(nt)),I(H)&&(ae=ae.map(tt=>t(tt))),ae}let[Je]=Ee.match(Ye),[be]=Ee.match(Se),je=[];if(Je){je=[p];let ae=Z(Je);ae&&(je=ge(ae)),Ee=Ee.replace(Ye,"")}let Me=[];if(be){if(!Ie){Me=[p];let ae=Z(be);ae&&(Me=ge(ae)),I(H)&&(Me=Me.map(nt=>t(nt)))}Ee=Ee.replace(Se,"")}return[...je,s(Fe(Ee)),...Me]}let Ce=Z(Ee),Be=se(Ee),ve=fe(Ee);if((re||ye)&&G&&D(H,["Block","ElementNode","Template"]))return"";G&&Ce?(Be=Math.min(Ce,o),ve=0):(P(H,["BlockStatement","ElementNode"])&&(ve=Math.max(ve,1)),T(H,["BlockStatement","ElementNode"])&&(Be=Math.max(Be,1)));let ze="",xe="";return ve===0&&P(H,["MustacheStatement"])&&(xe=" "),Be===0&&T(H,["MustacheStatement"])&&(ze=" "),re&&(Be=0,ze=""),ye&&(ve=0,xe=""),Ee=Ee.replace(/^[\t\n\f\r ]+/g,ze).replace(/[\t\n\f\r ]+$/,xe),[...ge(Be),s(Fe(Ee)),...ge(ve)]}case"MustacheCommentStatement":{let Ee=E(le),De=_(le),A=pe.originalText.charAt(Ee+2)==="~",G=pe.originalText.charAt(De-3)==="~",re=le.value.includes("}}")?"--":"";return["{{",A?"~":"","!",re,le.value,re,G?"~":"","}}"]}case"PathExpression":return le.original;case"BooleanLiteral":return String(le.value);case"CommentStatement":return[""];case"StringLiteral":{if(we(H)){let Ee=pe.singleQuote?'"':"'";return he(le.value,Ee)}return he(le.value,Ae)}case"NumberLiteral":return String(le.value);case"UndefinedLiteral":return"undefined";case"NullLiteral":return"null";default:throw new Error("unknown glimmer type: "+JSON.stringify(le.type))}}function v(H,pe){return E(H)-E(pe)}function S(H,pe){let X=H.getValue(),le=["attributes","modifiers","comments"].filter(Ee=>f(X[Ee])),Ae=le.flatMap(Ee=>X[Ee]).sort(v);for(let Ee of le)H.each(De=>{let A=Ae.indexOf(De.getValue());Ae.splice(A,1,[p,pe()])},Ee);return f(X.blockParams)&&Ae.push(p,oe(X)),["<",X.tag,i(Ae),B(X)]}function b(H,pe,X){let Ae=H.getValue().children.every(Ee=>C(Ee));return pe.htmlWhitespaceSensitivity==="ignore"&&Ae?"":H.map((Ee,De)=>{let A=X();return De===0&&pe.htmlWhitespaceSensitivity==="ignore"?[d,A]:A},"children")}function B(H){return m(H)?u([d,"/>"],[" />",d]):u([d,">"],">")}function k(H){let pe=H.escaped===!1?"{{{":"{{",X=H.strip&&H.strip.open?"~":"";return[pe,X]}function M(H){let pe=H.escaped===!1?"}}}":"}}";return[H.strip&&H.strip.close?"~":"",pe]}function R(H){let pe=k(H),X=H.openStrip.open?"~":"";return[pe,X,"#"]}function q(H){let pe=M(H);return[H.openStrip.close?"~":"",pe]}function J(H){let pe=k(H),X=H.closeStrip.open?"~":"";return[pe,X,"/"]}function L(H){let pe=M(H);return[H.closeStrip.close?"~":"",pe]}function Q(H){let pe=k(H),X=H.inverseStrip.open?"~":"";return[pe,X]}function V(H){let pe=M(H);return[H.inverseStrip.close?"~":"",pe]}function j(H,pe){let X=H.getValue(),le=[],Ae=Pe(H,pe);return Ae&&le.push(a(Ae)),f(X.program.blockParams)&&le.push(oe(X.program)),a([R(X),Ne(H,pe),le.length>0?i([p,l(p,le)]):"",d,q(X)])}function Y(H,pe){return[pe.htmlWhitespaceSensitivity==="ignore"?n:"",Q(H),"else",V(H)]}function ie(H,pe,X){let le=H.getValue(),Ae=H.getParentNode(1);return a([Q(Ae),["else"," ",X],i([p,a(Pe(H,pe)),...f(le.program.blockParams)?[p,oe(le.program)]:[]]),d,V(Ae)])}function ee(H,pe,X){let le=H.getValue();return X.htmlWhitespaceSensitivity==="ignore"?[ce(le)?d:n,J(le),pe("path"),L(le)]:[J(le),pe("path"),L(le)]}function ce(H){return $(H,["BlockStatement"])&&H.program.body.every(pe=>C(pe))}function W(H){return K(H)&&H.inverse.body.length===1&&$(H.inverse.body[0],["BlockStatement"])&&H.inverse.body[0].path.parts[0]===H.path.parts[0]}function K(H){return $(H,["BlockStatement"])&&H.inverse}function de(H,pe,X){let le=H.getValue();if(ce(le))return"";let Ae=pe("program");return X.htmlWhitespaceSensitivity==="ignore"?i([n,Ae]):i(Ae)}function ue(H,pe,X){let le=H.getValue(),Ae=pe("inverse"),Ee=X.htmlWhitespaceSensitivity==="ignore"?[n,Ae]:Ae;return W(le)?Ee:K(le)?[Y(le,X),i(Ee)]:""}function Fe(H){return y(l(p,z(H)))}function z(H){return H.split(/[\t\n\f\r ]+/)}function U(H){for(let pe=0;pe<2;pe++){let X=H.getParentNode(pe);if(X&&X.type==="AttrNode")return X.name.toLowerCase()}}function Z(H){return H=typeof H=="string"?H:"",H.split(` -`).length-1}function se(H){H=typeof H=="string"?H:"";let pe=(H.match(/^([^\S\n\r]*[\n\r])+/g)||[])[0]||"";return Z(pe)}function fe(H){H=typeof H=="string"?H:"";let pe=(H.match(/([\n\r][^\S\n\r]*)+$/g)||[])[0]||"";return Z(pe)}function ge(){let H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return Array.from({length:Math.min(H,o)}).fill(n)}function he(H,pe){let{quote:X,regex:le}=c(H,pe);return[X,H.replace(le,`\\${X}`),X]}function we(H){let pe=0,X=H.getParentNode(pe);for(;X&&$(X,["SubExpression"]);)pe++,X=H.getParentNode(pe);return!!(X&&$(H.getParentNode(pe+1),["ConcatStatement"])&&$(H.getParentNode(pe+2),["AttrNode"]))}function ke(H,pe){let X=Ne(H,pe),le=Pe(H,pe);return le?i([X,p,a(le)]):X}function Re(H,pe){let X=Ne(H,pe),le=Pe(H,pe);return le?[i([X,p,le]),d]:X}function Ne(H,pe){return pe("path")}function Pe(H,pe){let X=H.getValue(),le=[];if(X.params.length>0){let Ae=H.map(pe,"params");le.push(...Ae)}if(X.hash&&X.hash.pairs.length>0){let Ae=pe("hash");le.push(Ae)}return le.length===0?"":l(p,le)}function oe(H){return["as |",H.blockParams.join(" "),"|"]}r.exports={print:h,massageAstNode:w}}}),Wd=te({"src/language-handlebars/parsers.js"(){ne()}}),Hd=te({"node_modules/linguist-languages/data/Handlebars.json"(e,r){r.exports={name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",languageId:155}}}),Gd=te({"src/language-handlebars/index.js"(e,r){"use strict";ne();var t=wt(),s=Vd(),a=Wd(),n=[t(Hd(),()=>({since:"2.3.0",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}))],u={glimmer:s};r.exports={languages:n,printers:u,parsers:a}}}),Ud=te({"src/language-graphql/pragma.js"(e,r){"use strict";ne();function t(a){return/^\s*#[^\S\n]*@(?:format|prettier)\s*(?:\n|$)/.test(a)}function s(a){return`# @format - -`+a}r.exports={hasPragma:t,insertPragma:s}}}),Jd=te({"src/language-graphql/loc.js"(e,r){"use strict";ne();function t(a){return typeof a.start=="number"?a.start:a.loc&&a.loc.start}function s(a){return typeof a.end=="number"?a.end:a.loc&&a.loc.end}r.exports={locStart:t,locEnd:s}}}),zd=te({"src/language-graphql/printer-graphql.js"(e,r){"use strict";ne();var{builders:{join:t,hardline:s,line:a,softline:n,group:u,indent:i,ifBreak:l}}=qe(),{isNextLineEmpty:p,isNonEmptyArray:d}=Ue(),{insertPragma:y}=Ud(),{locStart:g,locEnd:c}=Jd();function f(P,$,D){let T=P.getValue();if(!T)return"";if(typeof T=="string")return T;switch(T.kind){case"Document":{let m=[];return P.each((C,o,h)=>{m.push(D()),o!==h.length-1&&(m.push(s),p($.originalText,C.getValue(),c)&&m.push(s))},"definitions"),[...m,s]}case"OperationDefinition":{let m=$.originalText[g(T)]!=="{",C=Boolean(T.name);return[m?T.operation:"",m&&C?[" ",D("name")]:"",m&&!C&&d(T.variableDefinitions)?" ":"",d(T.variableDefinitions)?u(["(",i([n,t([l("",", "),n],P.map(D,"variableDefinitions"))]),n,")"]):"",E(P,D,T),T.selectionSet?!m&&!C?"":" ":"",D("selectionSet")]}case"FragmentDefinition":return["fragment ",D("name"),d(T.variableDefinitions)?u(["(",i([n,t([l("",", "),n],P.map(D,"variableDefinitions"))]),n,")"]):""," on ",D("typeCondition"),E(P,D,T)," ",D("selectionSet")];case"SelectionSet":return["{",i([s,t(s,_(P,$,D,"selections"))]),s,"}"];case"Field":return u([T.alias?[D("alias"),": "]:"",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):"",E(P,D,T),T.selectionSet?" ":"",D("selectionSet")]);case"Name":return T.value;case"StringValue":{if(T.block){let m=T.value.replace(/"""/g,"\\$&").split(` -`);return m.length===1&&(m[0]=m[0].trim()),m.every(C=>C==="")&&(m.length=0),t(s,['"""',...m,'"""'])}return['"',T.value.replace(/["\\]/g,"\\$&").replace(/\n/g,"\\n"),'"']}case"IntValue":case"FloatValue":case"EnumValue":return T.value;case"BooleanValue":return T.value?"true":"false";case"NullValue":return"null";case"Variable":return["$",D("name")];case"ListValue":return u(["[",i([n,t([l("",", "),n],P.map(D,"values"))]),n,"]"]);case"ObjectValue":return u(["{",$.bracketSpacing&&T.fields.length>0?" ":"",i([n,t([l("",", "),n],P.map(D,"fields"))]),n,l("",$.bracketSpacing&&T.fields.length>0?" ":""),"}"]);case"ObjectField":case"Argument":return[D("name"),": ",D("value")];case"Directive":return["@",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):""];case"NamedType":return D("name");case"VariableDefinition":return[D("variable"),": ",D("type"),T.defaultValue?[" = ",D("defaultValue")]:"",E(P,D,T)];case"ObjectTypeExtension":case"ObjectTypeDefinition":return[D("description"),T.description?s:"",T.kind==="ObjectTypeExtension"?"extend ":"","type ",D("name"),T.interfaces.length>0?[" implements ",...N(P,$,D)]:"",E(P,D,T),T.fields.length>0?[" {",i([s,t(s,_(P,$,D,"fields"))]),s,"}"]:""];case"FieldDefinition":return[D("description"),T.description?s:"",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):"",": ",D("type"),E(P,D,T)];case"DirectiveDefinition":return[D("description"),T.description?s:"","directive ","@",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):"",T.repeatable?" repeatable":""," on ",t(" | ",P.map(D,"locations"))];case"EnumTypeExtension":case"EnumTypeDefinition":return[D("description"),T.description?s:"",T.kind==="EnumTypeExtension"?"extend ":"","enum ",D("name"),E(P,D,T),T.values.length>0?[" {",i([s,t(s,_(P,$,D,"values"))]),s,"}"]:""];case"EnumValueDefinition":return[D("description"),T.description?s:"",D("name"),E(P,D,T)];case"InputValueDefinition":return[D("description"),T.description?T.description.block?s:a:"",D("name"),": ",D("type"),T.defaultValue?[" = ",D("defaultValue")]:"",E(P,D,T)];case"InputObjectTypeExtension":case"InputObjectTypeDefinition":return[D("description"),T.description?s:"",T.kind==="InputObjectTypeExtension"?"extend ":"","input ",D("name"),E(P,D,T),T.fields.length>0?[" {",i([s,t(s,_(P,$,D,"fields"))]),s,"}"]:""];case"SchemaExtension":return["extend schema",E(P,D,T),...T.operationTypes.length>0?[" {",i([s,t(s,_(P,$,D,"operationTypes"))]),s,"}"]:[]];case"SchemaDefinition":return[D("description"),T.description?s:"","schema",E(P,D,T)," {",T.operationTypes.length>0?i([s,t(s,_(P,$,D,"operationTypes"))]):"",s,"}"];case"OperationTypeDefinition":return[D("operation"),": ",D("type")];case"InterfaceTypeExtension":case"InterfaceTypeDefinition":return[D("description"),T.description?s:"",T.kind==="InterfaceTypeExtension"?"extend ":"","interface ",D("name"),T.interfaces.length>0?[" implements ",...N(P,$,D)]:"",E(P,D,T),T.fields.length>0?[" {",i([s,t(s,_(P,$,D,"fields"))]),s,"}"]:""];case"FragmentSpread":return["...",D("name"),E(P,D,T)];case"InlineFragment":return["...",T.typeCondition?[" on ",D("typeCondition")]:"",E(P,D,T)," ",D("selectionSet")];case"UnionTypeExtension":case"UnionTypeDefinition":return u([D("description"),T.description?s:"",u([T.kind==="UnionTypeExtension"?"extend ":"","union ",D("name"),E(P,D,T),T.types.length>0?[" =",l(""," "),i([l([a," "]),t([a,"| "],P.map(D,"types"))])]:""])]);case"ScalarTypeExtension":case"ScalarTypeDefinition":return[D("description"),T.description?s:"",T.kind==="ScalarTypeExtension"?"extend ":"","scalar ",D("name"),E(P,D,T)];case"NonNullType":return[D("type"),"!"];case"ListType":return["[",D("type"),"]"];default:throw new Error("unknown graphql type: "+JSON.stringify(T.kind))}}function E(P,$,D){if(D.directives.length===0)return"";let T=t(a,P.map($,"directives"));return D.kind==="FragmentDefinition"||D.kind==="OperationDefinition"?u([a,T]):[" ",u(i([n,T]))]}function _(P,$,D,T){return P.map((m,C,o)=>{let h=D();return CD(h),"interfaces");for(let h=0;hT.value.trim()==="prettier-ignore")}r.exports={print:f,massageAstNode:x,hasPrettierIgnore:I,insertPragma:y,printComment:F,canAttachComment:w}}}),Xd=te({"src/language-graphql/options.js"(e,r){"use strict";ne();var t=jt();r.exports={bracketSpacing:t.bracketSpacing}}}),Kd=te({"src/language-graphql/parsers.js"(){ne()}}),Yd=te({"node_modules/linguist-languages/data/GraphQL.json"(e,r){r.exports={name:"GraphQL",type:"data",color:"#e10098",extensions:[".graphql",".gql",".graphqls"],tmScope:"source.graphql",aceMode:"text",languageId:139}}}),Qd=te({"src/language-graphql/index.js"(e,r){"use strict";ne();var t=wt(),s=zd(),a=Xd(),n=Kd(),u=[t(Yd(),()=>({since:"1.5.0",parsers:["graphql"],vscodeLanguageIds:["graphql"]}))],i={graphql:s};r.exports={languages:u,options:a,printers:i,parsers:n}}}),So=te({"node_modules/collapse-white-space/index.js"(e,r){"use strict";ne(),r.exports=t;function t(s){return String(s).replace(/\s+/g," ")}}}),xo=te({"src/language-markdown/loc.js"(e,r){"use strict";ne();function t(a){return a.position.start.offset}function s(a){return a.position.end.offset}r.exports={locStart:t,locEnd:s}}}),Zd=te({"src/language-markdown/constants.evaluate.js"(e,r){r.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),nu=te({"src/language-markdown/utils.js"(e,r){"use strict";ne();var{getLast:t}=Ue(),{locStart:s,locEnd:a}=xo(),{cjkPattern:n,kPattern:u,punctuationPattern:i}=Zd(),l=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],p=[...l,"tableCell","paragraph","heading"],d=new RegExp(u),y=new RegExp(i);function g(F,N){let x="non-cjk",I="cj-letter",P="k-letter",$="cjk-punctuation",D=[],T=(N.proseWrap==="preserve"?F:F.replace(new RegExp(`(${n}) -(${n})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[C,o]of T.entries()){if(C%2===1){D.push({type:"whitespace",value:/\n/.test(o)?` -`:" "});continue}if((C===0||C===T.length-1)&&o==="")continue;let h=o.split(new RegExp(`(${n})`));for(let[v,S]of h.entries())if(!((v===0||v===h.length-1)&&S==="")){if(v%2===0){S!==""&&m({type:"word",value:S,kind:x,hasLeadingPunctuation:y.test(S[0]),hasTrailingPunctuation:y.test(t(S))});continue}m(y.test(S)?{type:"word",value:S,kind:$,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:S,kind:d.test(S)?P:I,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return D;function m(C){let o=t(D);o&&o.type==="word"&&(o.kind===x&&C.kind===I&&!o.hasTrailingPunctuation||o.kind===I&&C.kind===x&&!C.hasLeadingPunctuation?D.push({type:"whitespace",value:" "}):!h(x,$)&&![o.value,C.value].some(v=>/\u3000/.test(v))&&D.push({type:"whitespace",value:""})),D.push(C);function h(v,S){return o.kind===v&&C.kind===S||o.kind===S&&C.kind===v}}}function c(F,N){let[,x,I,P]=N.slice(F.position.start.offset,F.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:x,marker:I,leadingSpaces:P}}function f(F,N){if(!F.ordered||F.children.length<2)return!1;let x=Number(c(F.children[0],N.originalText).numberText),I=Number(c(F.children[1],N.originalText).numberText);if(x===0&&F.children.length>2){let P=Number(c(F.children[2],N.originalText).numberText);return I===1&&P===1}return I===1}function E(F,N){let{value:x}=F;return F.position.end.offset===N.length&&x.endsWith(` -`)&&N.endsWith(` -`)?x.slice(0,-1):x}function _(F,N){return function x(I,P,$){let D=Object.assign({},N(I,P,$));return D.children&&(D.children=D.children.map((T,m)=>x(T,m,[D,...$]))),D}(F,null,[])}function w(F){if((F==null?void 0:F.type)!=="link"||F.children.length!==1)return!1;let[N]=F.children;return s(F)===s(N)&&a(F)===a(N)}r.exports={mapAst:_,splitText:g,punctuationPattern:i,getFencedCodeBlockValue:E,getOrderedListItemInfo:c,hasGitDiffFriendlyOrderedList:f,INLINE_NODE_TYPES:l,INLINE_NODE_WRAPPER_TYPES:p,isAutolink:w}}}),eg=te({"src/language-markdown/embed.js"(e,r){"use strict";ne();var{inferParserByLanguage:t,getMaxContinuousCount:s}=Ue(),{builders:{hardline:a,markAsRoot:n},utils:{replaceEndOfLine:u}}=qe(),i=ru(),{getFencedCodeBlockValue:l}=nu();function p(d,y,g,c){let f=d.getValue();if(f.type==="code"&&f.lang!==null){let E=t(f.lang,c);if(E){let _=c.__inJsTemplate?"~":"`",w=_.repeat(Math.max(3,s(f.value,_)+1)),F={parser:E};f.lang==="tsx"&&(F.filepath="dummy.tsx");let N=g(l(f,c.originalText),F,{stripTrailingHardline:!0});return n([w,f.lang,f.meta?" "+f.meta:"",a,u(N),a,w])}}switch(f.type){case"front-matter":return i(f,g);case"importExport":return[g(f.value,{parser:"babel"},{stripTrailingHardline:!0}),a];case"jsx":return g(`<$>${f.value}`,{parser:"__js_expression",rootMarker:"mdx"},{stripTrailingHardline:!0})}return null}r.exports=p}}),bo=te({"src/language-markdown/pragma.js"(e,r){"use strict";ne();var t=Ao(),s=["format","prettier"];function a(n){let u=`@(${s.join("|")})`,i=new RegExp([``,`{\\s*\\/\\*\\s*${u}\\s*\\*\\/\\s*}`,``].join("|"),"m"),l=n.match(i);return(l==null?void 0:l.index)===0}r.exports={startWithPragma:a,hasPragma:n=>a(t(n).content.trimStart()),insertPragma:n=>{let u=t(n),i=``;return u.frontMatter?`${u.frontMatter.raw} - -${i} - -${u.content}`:`${i} - -${u.content}`}}}}),tg=te({"src/language-markdown/print-preprocess.js"(e,r){"use strict";ne();var t=lt(),{getOrderedListItemInfo:s,mapAst:a,splitText:n}=nu(),u=/^.$/su;function i(w,F){return w=d(w,F),w=c(w),w=p(w,F),w=E(w,F),w=_(w,F),w=f(w,F),w=l(w),w=y(w),w}function l(w){return a(w,F=>F.type!=="import"&&F.type!=="export"?F:Object.assign(Object.assign({},F),{},{type:"importExport"}))}function p(w,F){return a(w,N=>N.type!=="inlineCode"||F.proseWrap==="preserve"?N:Object.assign(Object.assign({},N),{},{value:N.value.replace(/\s+/g," ")}))}function d(w,F){return a(w,N=>N.type!=="text"||N.value==="*"||N.value==="_"||!u.test(N.value)||N.position.end.offset-N.position.start.offset===N.value.length?N:Object.assign(Object.assign({},N),{},{value:F.originalText.slice(N.position.start.offset,N.position.end.offset)}))}function y(w){return g(w,(F,N)=>F.type==="importExport"&&N.type==="importExport",(F,N)=>({type:"importExport",value:F.value+` - -`+N.value,position:{start:F.position.start,end:N.position.end}}))}function g(w,F,N){return a(w,x=>{if(!x.children)return x;let I=x.children.reduce((P,$)=>{let D=t(P);return D&&F(D,$)?P.splice(-1,1,N(D,$)):P.push($),P},[]);return Object.assign(Object.assign({},x),{},{children:I})})}function c(w){return g(w,(F,N)=>F.type==="text"&&N.type==="text",(F,N)=>({type:"text",value:F.value+N.value,position:{start:F.position.start,end:N.position.end}}))}function f(w,F){return a(w,(N,x,I)=>{let[P]=I;if(N.type!=="text")return N;let{value:$}=N;return P.type==="paragraph"&&(x===0&&($=$.trimStart()),x===P.children.length-1&&($=$.trimEnd())),{type:"sentence",position:N.position,children:n($,F)}})}function E(w,F){return a(w,(N,x,I)=>{if(N.type==="code"){let P=/^\n?(?: {4,}|\t)/.test(F.originalText.slice(N.position.start.offset,N.position.end.offset));if(N.isIndented=P,P)for(let $=0;${if(I.type==="list"&&I.children.length>0){for(let D=0;D<$.length;D++){let T=$[D];if(T.type==="list"&&!T.isAligned)return I.isAligned=!1,I}I.isAligned=x(I)}return I});function N(I){return I.children.length===0?-1:I.children[0].position.start.column-1}function x(I){if(!I.ordered)return!0;let[P,$]=I.children;if(s(P,F.originalText).leadingSpaces.length>1)return!0;let T=N(P);if(T===-1)return!1;if(I.children.length===1)return T%F.tabWidth===0;let m=N($);return T!==m?!1:T%F.tabWidth===0?!0:s($,F.originalText).leadingSpaces.length>1}}r.exports=i}}),rg=te({"src/language-markdown/clean.js"(e,r){"use strict";ne();var t=So(),{isFrontMatterNode:s}=Ue(),{startWithPragma:a}=bo(),n=new Set(["position","raw"]);function u(i,l,p){if((i.type==="front-matter"||i.type==="code"||i.type==="yaml"||i.type==="import"||i.type==="export"||i.type==="jsx")&&delete l.value,i.type==="list"&&delete l.isAligned,(i.type==="list"||i.type==="listItem")&&(delete l.spread,delete l.loose),i.type==="text"||(i.type==="inlineCode"&&(l.value=i.value.replace(/[\t\n ]+/g," ")),i.type==="wikiLink"&&(l.value=i.value.trim().replace(/[\t\n]+/g," ")),(i.type==="definition"||i.type==="linkReference"||i.type==="imageReference")&&(l.label=t(i.label)),(i.type==="definition"||i.type==="link"||i.type==="image")&&i.title&&(l.title=i.title.replace(/\\(["')])/g,"$1")),p&&p.type==="root"&&p.children.length>0&&(p.children[0]===i||s(p.children[0])&&p.children[1]===i)&&i.type==="html"&&a(i.value)))return null}u.ignoredProperties=n,r.exports=u}}),ng=te({"src/language-markdown/printer-markdown.js"(e,r){"use strict";ne();var t=So(),{getLast:s,getMinNotPresentContinuousCount:a,getMaxContinuousCount:n,getStringWidth:u,isNonEmptyArray:i}=Ue(),{builders:{breakParent:l,join:p,line:d,literalline:y,markAsRoot:g,hardline:c,softline:f,ifBreak:E,fill:_,align:w,indent:F,group:N,hardlineWithoutBreakParent:x},utils:{normalizeDoc:I,replaceTextEndOfLine:P},printer:{printDocToString:$}}=qe(),D=eg(),{insertPragma:T}=bo(),{locStart:m,locEnd:C}=xo(),o=tg(),h=rg(),{getFencedCodeBlockValue:v,hasGitDiffFriendlyOrderedList:S,splitText:b,punctuationPattern:B,INLINE_NODE_TYPES:k,INLINE_NODE_WRAPPER_TYPES:M,isAutolink:R}=nu(),q=new Set(["importExport"]),J=["heading","tableCell","link","wikiLink"],L=new Set(["listItem","definition","footnoteDefinition"]);function Q(oe,H,pe){let X=oe.getValue();if(ge(oe))return b(H.originalText.slice(X.position.start.offset,X.position.end.offset),H).map(le=>le.type==="word"?le.value:le.value===""?"":W(oe,le.value,H));switch(X.type){case"front-matter":return H.originalText.slice(X.position.start.offset,X.position.end.offset);case"root":return X.children.length===0?"":[I(de(oe,H,pe)),q.has(z(X).type)?"":c];case"paragraph":return ue(oe,H,pe,{postprocessor:_});case"sentence":return ue(oe,H,pe);case"word":{let le=X.value.replace(/\*/g,"\\$&").replace(new RegExp([`(^|${B})(_+)`,`(_+)(${B}|$)`].join("|"),"g"),(De,A,G,re,ye)=>(G?`${A}${G}`:`${re}${ye}`).replace(/_/g,"\\_")),Ae=(De,A,G)=>De.type==="sentence"&&G===0,Ee=(De,A,G)=>R(De.children[G-1]);return le!==X.value&&(oe.match(void 0,Ae,Ee)||oe.match(void 0,Ae,(De,A,G)=>De.type==="emphasis"&&G===0,Ee))&&(le=le.replace(/^(\\?[*_])+/,De=>De.replace(/\\/g,""))),le}case"whitespace":{let le=oe.getParentNode(),Ae=le.children.indexOf(X),Ee=le.children[Ae+1],De=Ee&&/^>|^(?:[*+-]|#{1,6}|\d+[).])$/.test(Ee.value)?"never":H.proseWrap;return W(oe,X.value,{proseWrap:De})}case"emphasis":{let le;if(R(X.children[0]))le=H.originalText[X.position.start.offset];else{let Ae=oe.getParentNode(),Ee=Ae.children.indexOf(X),De=Ae.children[Ee-1],A=Ae.children[Ee+1];le=De&&De.type==="sentence"&&De.children.length>0&&s(De.children).type==="word"&&!s(De.children).hasTrailingPunctuation||A&&A.type==="sentence"&&A.children.length>0&&A.children[0].type==="word"&&!A.children[0].hasLeadingPunctuation||ce(oe,"emphasis")?"*":"_"}return[le,ue(oe,H,pe),le]}case"strong":return["**",ue(oe,H,pe),"**"];case"delete":return["~~",ue(oe,H,pe),"~~"];case"inlineCode":{let le=a(X.value,"`"),Ae="`".repeat(le||1),Ee=le&&!/^\s/.test(X.value)?" ":"";return[Ae,Ee,X.value,Ee,Ae]}case"wikiLink":{let le="";return H.proseWrap==="preserve"?le=X.value:le=X.value.replace(/[\t\n]+/g," "),["[[",le,"]]"]}case"link":switch(H.originalText[X.position.start.offset]){case"<":{let le="mailto:";return["<",X.url.startsWith(le)&&H.originalText.slice(X.position.start.offset+1,X.position.start.offset+1+le.length)!==le?X.url.slice(le.length):X.url,">"]}case"[":return["[",ue(oe,H,pe),"](",he(X.url,")"),we(X.title,H),")"];default:return H.originalText.slice(X.position.start.offset,X.position.end.offset)}case"image":return["![",X.alt||"","](",he(X.url,")"),we(X.title,H),")"];case"blockquote":return["> ",w("> ",ue(oe,H,pe))];case"heading":return["#".repeat(X.depth)+" ",ue(oe,H,pe)];case"code":{if(X.isIndented){let Ee=" ".repeat(4);return w(Ee,[Ee,...P(X.value,c)])}let le=H.__inJsTemplate?"~":"`",Ae=le.repeat(Math.max(3,n(X.value,le)+1));return[Ae,X.lang||"",X.meta?" "+X.meta:"",c,...P(v(X,H.originalText),c),c,Ae]}case"html":{let le=oe.getParentNode(),Ae=le.type==="root"&&s(le.children)===X?X.value.trimEnd():X.value,Ee=/^$/s.test(Ae);return P(Ae,Ee?c:g(y))}case"list":{let le=Y(X,oe.getParentNode()),Ae=S(X,H);return ue(oe,H,pe,{processor:(Ee,De)=>{let A=re(),G=Ee.getValue();if(G.children.length===2&&G.children[1].type==="html"&&G.children[0].position.start.column!==G.children[1].position.start.column)return[A,V(Ee,H,pe,A)];return[A,w(" ".repeat(A.length),V(Ee,H,pe,A))];function re(){let ye=X.ordered?(De===0?X.start:Ae?1:X.start+De)+(le%2===0?". ":") "):le%2===0?"- ":"* ";return X.isAligned||X.hasIndentedCodeblock?j(ye,H):ye}}})}case"thematicBreak":{let le=ee(oe,"list");return le===-1?"---":Y(oe.getParentNode(le),oe.getParentNode(le+1))%2===0?"***":"---"}case"linkReference":return["[",ue(oe,H,pe),"]",X.referenceType==="full"?Ne(X):X.referenceType==="collapsed"?"[]":""];case"imageReference":switch(X.referenceType){case"full":return["![",X.alt||"","]",Ne(X)];default:return["![",X.alt,"]",X.referenceType==="collapsed"?"[]":""]}case"definition":{let le=H.proseWrap==="always"?d:" ";return N([Ne(X),":",F([le,he(X.url),X.title===null?"":[le,we(X.title,H,!1)]])])}case"footnote":return["[^",ue(oe,H,pe),"]"];case"footnoteReference":return Pe(X);case"footnoteDefinition":{let le=oe.getParentNode().children[oe.getName()+1],Ae=X.children.length===1&&X.children[0].type==="paragraph"&&(H.proseWrap==="never"||H.proseWrap==="preserve"&&X.children[0].position.start.line===X.children[0].position.end.line);return[Pe(X),": ",Ae?ue(oe,H,pe):N([w(" ".repeat(4),ue(oe,H,pe,{processor:(Ee,De)=>De===0?N([f,pe()]):pe()})),le&&le.type==="footnoteDefinition"?f:""])]}case"table":return K(oe,H,pe);case"tableCell":return ue(oe,H,pe);case"break":return/\s/.test(H.originalText[X.position.start.offset])?[" ",g(y)]:["\\",c];case"liquidNode":return P(X.value,c);case"importExport":return[X.value,c];case"esComment":return["{/* ",X.value," */}"];case"jsx":return X.value;case"math":return["$$",c,X.value?[...P(X.value,c),c]:"","$$"];case"inlineMath":return H.originalText.slice(m(X),C(X));case"tableRow":case"listItem":default:throw new Error(`Unknown markdown type ${JSON.stringify(X.type)}`)}}function V(oe,H,pe,X){let le=oe.getValue(),Ae=le.checked===null?"":le.checked?"[x] ":"[ ] ";return[Ae,ue(oe,H,pe,{processor:(Ee,De)=>{if(De===0&&Ee.getValue().type!=="list")return w(" ".repeat(Ae.length),pe());let A=" ".repeat(ke(H.tabWidth-X.length,0,3));return[A,w(A,pe())]}})]}function j(oe,H){let pe=X();return oe+" ".repeat(pe>=4?0:pe);function X(){let le=oe.length%H.tabWidth;return le===0?0:H.tabWidth-le}}function Y(oe,H){return ie(oe,H,pe=>pe.ordered===oe.ordered)}function ie(oe,H,pe){let X=-1;for(let le of H.children)if(le.type===oe.type&&pe(le)?X++:X=-1,le===oe)return X}function ee(oe,H){let pe=Array.isArray(H)?H:[H],X=-1,le;for(;le=oe.getParentNode(++X);)if(pe.includes(le.type))return X;return-1}function ce(oe,H){let pe=ee(oe,H);return pe===-1?null:oe.getParentNode(pe)}function W(oe,H,pe){if(pe.proseWrap==="preserve"&&H===` -`)return c;let X=pe.proseWrap==="always"&&!ce(oe,J);return H!==""?X?d:" ":X?f:""}function K(oe,H,pe){let X=oe.getValue(),le=[],Ae=oe.map(ye=>ye.map((Ce,Be)=>{let ve=$(pe(),H).formatted,ze=u(ve);return le[Be]=Math.max(le[Be]||3,ze),{text:ve,width:ze}},"children"),"children"),Ee=A(!1);if(H.proseWrap!=="never")return[l,Ee];let De=A(!0);return[l,N(E(De,Ee))];function A(ye){let Ce=[re(Ae[0],ye),G(ye)];return Ae.length>1&&Ce.push(p(x,Ae.slice(1).map(Be=>re(Be,ye)))),p(x,Ce)}function G(ye){return`| ${le.map((Be,ve)=>{let ze=X.align[ve],xe=ze==="center"||ze==="left"?":":"-",Ye=ze==="center"||ze==="right"?":":"-",Se=ye?"-":"-".repeat(Be-2);return`${xe}${Se}${Ye}`}).join(" | ")} |`}function re(ye,Ce){return`| ${ye.map((ve,ze)=>{let{text:xe,width:Ye}=ve;if(Ce)return xe;let Se=le[ze]-Ye,Ie=X.align[ze],Oe=0;Ie==="right"?Oe=Se:Ie==="center"&&(Oe=Math.floor(Se/2));let Je=Se-Oe;return`${" ".repeat(Oe)}${xe}${" ".repeat(Je)}`}).join(" | ")} |`}}function de(oe,H,pe){let X=[],le=null,{children:Ae}=oe.getValue();for(let[Ee,De]of Ae.entries())switch(U(De)){case"start":le===null&&(le={index:Ee,offset:De.position.end.offset});break;case"end":le!==null&&(X.push({start:le,end:{index:Ee,offset:De.position.start.offset}}),le=null);break;default:break}return ue(oe,H,pe,{processor:(Ee,De)=>{if(X.length>0){let A=X[0];if(De===A.start.index)return[Fe(Ae[A.start.index]),H.originalText.slice(A.start.offset,A.end.offset),Fe(Ae[A.end.index])];if(A.start.index3&&arguments[3]!==void 0?arguments[3]:{},{postprocessor:le}=X,Ae=X.processor||(()=>pe()),Ee=oe.getValue(),De=[],A;return oe.each((G,re)=>{let ye=G.getValue(),Ce=Ae(G,re);if(Ce!==!1){let Be={parts:De,prevNode:A,parentNode:Ee,options:H};Z(ye,Be)&&(De.push(c),A&&q.has(A.type)||(se(ye,Be)||fe(ye,Be))&&De.push(c),fe(ye,Be)&&De.push(c)),De.push(Ce),A=ye}},"children"),le?le(De):De}function Fe(oe){if(oe.type==="html")return oe.value;if(oe.type==="paragraph"&&Array.isArray(oe.children)&&oe.children.length===1&&oe.children[0].type==="esComment")return["{/* ",oe.children[0].value," */}"]}function z(oe){let H=oe;for(;i(H.children);)H=s(H.children);return H}function U(oe){let H;if(oe.type==="html")H=oe.value.match(/^$/);else{let pe;oe.type==="esComment"?pe=oe:oe.type==="paragraph"&&oe.children.length===1&&oe.children[0].type==="esComment"&&(pe=oe.children[0]),pe&&(H=pe.value.match(/^prettier-ignore(?:-(start|end))?$/))}return H?H[1]||"next":!1}function Z(oe,H){let pe=H.parts.length===0,X=k.includes(oe.type),le=oe.type==="html"&&M.includes(H.parentNode.type);return!pe&&!X&&!le}function se(oe,H){var pe,X,le;let Ee=(H.prevNode&&H.prevNode.type)===oe.type&&L.has(oe.type),De=H.parentNode.type==="listItem"&&!H.parentNode.loose,A=((pe=H.prevNode)===null||pe===void 0?void 0:pe.type)==="listItem"&&H.prevNode.loose,G=U(H.prevNode)==="next",re=oe.type==="html"&&((X=H.prevNode)===null||X===void 0?void 0:X.type)==="html"&&H.prevNode.position.end.line+1===oe.position.start.line,ye=oe.type==="html"&&H.parentNode.type==="listItem"&&((le=H.prevNode)===null||le===void 0?void 0:le.type)==="paragraph"&&H.prevNode.position.end.line+1===oe.position.start.line;return A||!(Ee||De||G||re||ye)}function fe(oe,H){let pe=H.prevNode&&H.prevNode.type==="list",X=oe.type==="code"&&oe.isIndented;return pe&&X}function ge(oe){let H=ce(oe,["linkReference","imageReference"]);return H&&(H.type!=="linkReference"||H.referenceType!=="full")}function he(oe){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],pe=[" ",...Array.isArray(H)?H:[H]];return new RegExp(pe.map(X=>`\\${X}`).join("|")).test(oe)?`<${oe}>`:oe}function we(oe,H){let pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!oe)return"";if(pe)return" "+we(oe,H,!1);if(oe=oe.replace(/\\(["')])/g,"$1"),oe.includes('"')&&oe.includes("'")&&!oe.includes(")"))return`(${oe})`;let X=oe.split("'").length-1,le=oe.split('"').length-1,Ae=X>le?'"':le>X||H.singleQuote?"'":'"';return oe=oe.replace(/\\/,"\\\\"),oe=oe.replace(new RegExp(`(${Ae})`,"g"),"\\$1"),`${Ae}${oe}${Ae}`}function ke(oe,H,pe){return oepe?pe:oe}function Re(oe){let H=Number(oe.getName());if(H===0)return!1;let pe=oe.getParentNode().children[H-1];return U(pe)==="next"}function Ne(oe){return`[${t(oe.label)}]`}function Pe(oe){return`[^${oe.label}]`}r.exports={preprocess:o,print:Q,embed:D,massageAstNode:h,hasPrettierIgnore:Re,insertPragma:T}}}),ug=te({"src/language-markdown/options.js"(e,r){"use strict";ne();var t=jt();r.exports={proseWrap:t.proseWrap,singleQuote:t.singleQuote}}}),sg=te({"src/language-markdown/parsers.js"(){ne()}}),Aa=te({"node_modules/linguist-languages/data/Markdown.json"(e,r){r.exports={name:"Markdown",type:"prose",color:"#083fa1",aliases:["pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".md",".livemd",".markdown",".mdown",".mdwn",".mdx",".mkd",".mkdn",".mkdown",".ronn",".scd",".workbook"],filenames:["contents.lr"],tmScope:"source.gfm",languageId:222}}}),ig=te({"src/language-markdown/index.js"(e,r){"use strict";ne();var t=wt(),s=ng(),a=ug(),n=sg(),u=[t(Aa(),l=>({since:"1.8.0",parsers:["markdown"],vscodeLanguageIds:["markdown"],filenames:[...l.filenames,"README"],extensions:l.extensions.filter(p=>p!==".mdx")})),t(Aa(),()=>({name:"MDX",since:"1.15.0",parsers:["mdx"],vscodeLanguageIds:["mdx"],filenames:[],extensions:[".mdx"]}))],i={mdast:s};r.exports={languages:u,options:a,printers:i,parsers:n}}}),ag=te({"src/language-html/clean.js"(e,r){"use strict";ne();var{isFrontMatterNode:t}=Ue(),s=new Set(["sourceSpan","startSourceSpan","endSourceSpan","nameSpan","valueSpan"]);function a(n,u){if(n.type==="text"||n.type==="comment"||t(n)||n.type==="yaml"||n.type==="toml")return null;n.type==="attribute"&&delete u.value,n.type==="docType"&&delete u.value}a.ignoredProperties=s,r.exports=a}}),og=te({"src/language-html/constants.evaluate.js"(e,r){r.exports={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"}}}),lg=te({"src/language-html/utils/is-unknown-namespace.js"(e,r){"use strict";ne();function t(s){return s.type==="element"&&!s.hasExplicitNamespace&&!["html","svg"].includes(s.namespace)}r.exports=t}}),qt=te({"src/language-html/utils/index.js"(e,r){"use strict";ne();var{inferParserByLanguage:t,isFrontMatterNode:s}=Ue(),{builders:{line:a,hardline:n,join:u},utils:{getDocParts:i,replaceTextEndOfLine:l}}=qe(),{CSS_DISPLAY_TAGS:p,CSS_DISPLAY_DEFAULT:d,CSS_WHITE_SPACE_TAGS:y,CSS_WHITE_SPACE_DEFAULT:g}=og(),c=lg(),f=new Set([" ",` -`,"\f","\r"," "]),E=A=>A.replace(/^[\t\n\f\r ]+/,""),_=A=>A.replace(/[\t\n\f\r ]+$/,""),w=A=>E(_(A)),F=A=>A.replace(/^[\t\f\r ]*\n/g,""),N=A=>F(_(A)),x=A=>A.split(/[\t\n\f\r ]+/),I=A=>A.match(/^[\t\n\f\r ]*/)[0],P=A=>{let[,G,re,ye]=A.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s);return{leadingWhitespace:G,trailingWhitespace:ye,text:re}},$=A=>/[\t\n\f\r ]/.test(A);function D(A,G){return!!(A.type==="ieConditionalComment"&&A.lastChild&&!A.lastChild.isSelfClosing&&!A.lastChild.endSourceSpan||A.type==="ieConditionalComment"&&!A.complete||se(A)&&A.children.some(re=>re.type!=="text"&&re.type!=="interpolation")||X(A,G)&&!o(A)&&A.type!=="interpolation")}function T(A){return A.type==="attribute"||!A.parent||!A.prev?!1:m(A.prev)}function m(A){return A.type==="comment"&&A.value.trim()==="prettier-ignore"}function C(A){return A.type==="text"||A.type==="comment"}function o(A){return A.type==="element"&&(A.fullName==="script"||A.fullName==="style"||A.fullName==="svg:style"||c(A)&&(A.name==="script"||A.name==="style"))}function h(A){return A.children&&!o(A)}function v(A){return o(A)||A.type==="interpolation"||S(A)}function S(A){return we(A).startsWith("pre")}function b(A,G){let re=ye();if(re&&!A.prev&&A.parent&&A.parent.tagDefinition&&A.parent.tagDefinition.ignoreFirstLf)return A.type==="interpolation";return re;function ye(){return s(A)?!1:(A.type==="text"||A.type==="interpolation")&&A.prev&&(A.prev.type==="text"||A.prev.type==="interpolation")?!0:!A.parent||A.parent.cssDisplay==="none"?!1:se(A.parent)?!0:!(!A.prev&&(A.parent.type==="root"||se(A)&&A.parent||o(A.parent)||H(A.parent,G)||!ue(A.parent.cssDisplay))||A.prev&&!U(A.prev.cssDisplay))}}function B(A,G){return s(A)?!1:(A.type==="text"||A.type==="interpolation")&&A.next&&(A.next.type==="text"||A.next.type==="interpolation")?!0:!A.parent||A.parent.cssDisplay==="none"?!1:se(A.parent)?!0:!(!A.next&&(A.parent.type==="root"||se(A)&&A.parent||o(A.parent)||H(A.parent,G)||!Fe(A.parent.cssDisplay))||A.next&&!z(A.next.cssDisplay))}function k(A){return Z(A.cssDisplay)&&!o(A)}function M(A){return s(A)||A.next&&A.sourceSpan.end&&A.sourceSpan.end.line+10&&(["body","script","style"].includes(A.name)||A.children.some(G=>ee(G)))||A.firstChild&&A.firstChild===A.lastChild&&A.firstChild.type!=="text"&&V(A.firstChild)&&(!A.lastChild.isTrailingSpaceSensitive||j(A.lastChild))}function q(A){return A.type==="element"&&A.children.length>0&&(["html","head","ul","ol","select"].includes(A.name)||A.cssDisplay.startsWith("table")&&A.cssDisplay!=="table-cell")}function J(A){return Y(A)||A.prev&&L(A.prev)||Q(A)}function L(A){return Y(A)||A.type==="element"&&A.fullName==="br"||Q(A)}function Q(A){return V(A)&&j(A)}function V(A){return A.hasLeadingSpaces&&(A.prev?A.prev.sourceSpan.end.lineA.sourceSpan.end.line:A.parent.type==="root"||A.parent.endSourceSpan&&A.parent.endSourceSpan.start.line>A.sourceSpan.end.line)}function Y(A){switch(A.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(A.name)}return!1}function ie(A){return A.lastChild?ie(A.lastChild):A}function ee(A){return A.children&&A.children.some(G=>G.type!=="text")}function ce(A){let{type:G,lang:re}=A.attrMap;if(G==="module"||G==="text/javascript"||G==="text/babel"||G==="application/javascript"||re==="jsx")return"babel";if(G==="application/x-typescript"||re==="ts"||re==="tsx")return"typescript";if(G==="text/markdown")return"markdown";if(G==="text/html")return"html";if(G&&(G.endsWith("json")||G.endsWith("importmap"))||G==="speculationrules")return"json";if(G==="text/x-handlebars-template")return"glimmer"}function W(A,G){let{lang:re}=A.attrMap;if(!re||re==="postcss"||re==="css")return"css";if(re==="scss")return"scss";if(re==="less")return"less";if(re==="stylus")return t("stylus",G)}function K(A,G){if(A.name==="script"&&!A.attrMap.src)return!A.attrMap.lang&&!A.attrMap.type?"babel":ce(A);if(A.name==="style")return W(A,G);if(G&&X(A,G))return ce(A)||!("src"in A.attrMap)&&t(A.attrMap.lang,G)}function de(A){return A==="block"||A==="list-item"||A.startsWith("table")}function ue(A){return!de(A)&&A!=="inline-block"}function Fe(A){return!de(A)&&A!=="inline-block"}function z(A){return!de(A)}function U(A){return!de(A)}function Z(A){return!de(A)&&A!=="inline-block"}function se(A){return we(A).startsWith("pre")}function fe(A,G){let re=0;for(let ye=A.stack.length-1;ye>=0;ye--){let Ce=A.stack[ye];Ce&&typeof Ce=="object"&&!Array.isArray(Ce)&&G(Ce)&&re++}return re}function ge(A,G){let re=A;for(;re;){if(G(re))return!0;re=re.parent}return!1}function he(A,G){if(A.prev&&A.prev.type==="comment"){let ye=A.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);if(ye)return ye[1]}let re=!1;if(A.type==="element"&&A.namespace==="svg")if(ge(A,ye=>ye.fullName==="svg:foreignObject"))re=!0;else return A.name==="svg"?"inline-block":"block";switch(G.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return G.parser==="vue"&&A.parent&&A.parent.type==="root"?"block":A.type==="element"&&(!A.namespace||re||c(A))&&p[A.name]||d}}function we(A){return A.type==="element"&&(!A.namespace||c(A))&&y[A.name]||g}function ke(A){let G=Number.POSITIVE_INFINITY;for(let re of A.split(` -`)){if(re.length===0)continue;if(!f.has(re[0]))return 0;let ye=I(re).length;re.length!==ye&&ye1&&arguments[1]!==void 0?arguments[1]:ke(A);return G===0?A:A.split(` -`).map(re=>re.slice(G)).join(` -`)}function Ne(A,G){let re=0;for(let ye=0;ye1&&arguments[1]!==void 0?arguments[1]:A.value;return A.parent.isWhitespaceSensitive?A.parent.isIndentationSensitive?l(G):l(Re(N(G)),n):i(u(a,x(G)))}function De(A,G){return pe(A,G)&&A.name==="script"}r.exports={htmlTrim:w,htmlTrimPreserveIndentation:N,hasHtmlWhitespace:$,getLeadingAndTrailingHtmlWhitespace:P,canHaveInterpolation:h,countChars:Ne,countParents:fe,dedentString:Re,forceBreakChildren:q,forceBreakContent:R,forceNextEmptyLine:M,getLastDescendant:ie,getNodeCssStyleDisplay:he,getNodeCssStyleWhiteSpace:we,hasPrettierIgnore:T,inferScriptParser:K,isVueCustomBlock:H,isVueNonHtmlBlock:X,isVueScriptTag:De,isVueSlotAttribute:le,isVueSfcBindingsAttribute:Ae,isVueSfcBlock:pe,isDanglingSpaceSensitiveNode:k,isIndentationSensitiveNode:S,isLeadingSpaceSensitiveNode:b,isPreLikeNode:se,isScriptLikeTag:o,isTextLikeNode:C,isTrailingSpaceSensitiveNode:B,isWhitespaceSensitiveNode:v,isUnknownNamespace:c,preferHardlineAsLeadingSpaces:J,preferHardlineAsTrailingSpaces:L,shouldPreserveContent:D,unescapeQuoteEntities:Pe,getTextValueParts:Ee}}}),cg=te({"node_modules/angular-html-parser/lib/compiler/src/chars.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96;function r(i){return i>=e.$TAB&&i<=e.$SPACE||i==e.$NBSP}e.isWhitespace=r;function t(i){return e.$0<=i&&i<=e.$9}e.isDigit=t;function s(i){return i>=e.$a&&i<=e.$z||i>=e.$A&&i<=e.$Z}e.isAsciiLetter=s;function a(i){return i>=e.$a&&i<=e.$f||i>=e.$A&&i<=e.$F||t(i)}e.isAsciiHexDigit=a;function n(i){return i===e.$LF||i===e.$CR}e.isNewLine=n;function u(i){return e.$0<=i&&i<=e.$7}e.isOctalDigit=u}}),pg=te({"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(s,a,n){this.filePath=s,this.name=a,this.members=n}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};e.StaticSymbol=r;var t=class{constructor(){this.cache=new Map}get(s,a,n){n=n||[];let u=n.length?`.${n.join(".")}`:"",i=`"${s}".${a}${u}`,l=this.cache.get(i);return l||(l=new r(s,a,n),this.cache.set(i,l)),l}};e.StaticSymbolCache=t}}),fg=te({"node_modules/angular-html-parser/lib/compiler/src/util.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=/-+([a-z0-9])/g;function t(o){return o.replace(r,function(){for(var h=arguments.length,v=new Array(h),S=0;Su(v,this,h))}visitStringMap(o,h){let v={};return Object.keys(o).forEach(S=>{v[S]=u(o[S],this,h)}),v}visitPrimitive(o,h){return o}visitOther(o,h){return o}};e.ValueTransformer=p,e.SyncAsync={assertSync:o=>{if(P(o))throw new Error("Illegal state: value cannot be a promise");return o},then:(o,h)=>P(o)?o.then(h):h(o),all:o=>o.some(P)?Promise.all(o):o};function d(o){throw new Error(`Internal Error: ${o}`)}e.error=d;function y(o,h){let v=Error(o);return v[g]=!0,h&&(v[c]=h),v}e.syntaxError=y;var g="ngSyntaxError",c="ngParseErrors";function f(o){return o[g]}e.isSyntaxError=f;function E(o){return o[c]||[]}e.getParseErrors=E;function _(o){return o.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}e.escapeRegExp=_;var w=Object.getPrototypeOf({});function F(o){return typeof o=="object"&&o!==null&&Object.getPrototypeOf(o)===w}function N(o){let h="";for(let v=0;v=55296&&S<=56319&&o.length>v+1){let b=o.charCodeAt(v+1);b>=56320&&b<=57343&&(v++,S=(S-55296<<10)+b-56320+65536)}S<=127?h+=String.fromCharCode(S):S<=2047?h+=String.fromCharCode(S>>6&31|192,S&63|128):S<=65535?h+=String.fromCharCode(S>>12|224,S>>6&63|128,S&63|128):S<=2097151&&(h+=String.fromCharCode(S>>18&7|240,S>>12&63|128,S>>6&63|128,S&63|128))}return h}e.utf8Encode=N;function x(o){if(typeof o=="string")return o;if(o instanceof Array)return"["+o.map(x).join(", ")+"]";if(o==null)return""+o;if(o.overriddenName)return`${o.overriddenName}`;if(o.name)return`${o.name}`;if(!o.toString)return"object";let h=o.toString();if(h==null)return""+h;let v=h.indexOf(` -`);return v===-1?h:h.substring(0,v)}e.stringify=x;function I(o){return typeof o=="function"&&o.hasOwnProperty("__forward_ref__")?o():o}e.resolveForwardRef=I;function P(o){return!!o&&typeof o.then=="function"}e.isPromise=P;var $=class{constructor(o){this.full=o;let h=o.split(".");this.major=h[0],this.minor=h[1],this.patch=h.slice(2).join(".")}};e.Version=$;var D=typeof window<"u"&&window,T=typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self,m=typeof globalThis<"u"&&globalThis,C=m||D||T;e.global=C}}),Dg=te({"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=pg(),t=fg(),s=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function a(v){return v.replace(/\W/g,"_")}e.sanitizeIdentifier=a;var n=0;function u(v){if(!v||!v.reference)return null;let S=v.reference;if(S instanceof r.StaticSymbol)return S.name;if(S.__anonymousType)return S.__anonymousType;let b=t.stringify(S);return b.indexOf("(")>=0?(b=`anonymous_${n++}`,S.__anonymousType=b):b=a(b),b}e.identifierName=u;function i(v){let S=v.reference;return S instanceof r.StaticSymbol?S.filePath:`./${t.stringify(S)}`}e.identifierModuleUrl=i;function l(v,S){return`View_${u({reference:v})}_${S}`}e.viewClassName=l;function p(v){return`RenderType_${u({reference:v})}`}e.rendererTypeName=p;function d(v){return`HostView_${u({reference:v})}`}e.hostViewClassName=d;function y(v){return`${u({reference:v})}NgFactory`}e.componentFactoryName=y;var g;(function(v){v[v.Pipe=0]="Pipe",v[v.Directive=1]="Directive",v[v.NgModule=2]="NgModule",v[v.Injectable=3]="Injectable"})(g=e.CompileSummaryKind||(e.CompileSummaryKind={}));function c(v){return v.value!=null?a(v.value):u(v.identifier)}e.tokenName=c;function f(v){return v.identifier!=null?v.identifier.reference:v.value}e.tokenReference=f;var E=class{constructor(){let{moduleUrl:v,styles:S,styleUrls:b}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=v||null,this.styles=P(S),this.styleUrls=P(b)}};e.CompileStylesheetMetadata=E;var _=class{constructor(v){let{encapsulation:S,template:b,templateUrl:B,htmlAst:k,styles:M,styleUrls:R,externalStylesheets:q,animations:J,ngContentSelectors:L,interpolation:Q,isInline:V,preserveWhitespaces:j}=v;if(this.encapsulation=S,this.template=b,this.templateUrl=B,this.htmlAst=k,this.styles=P(M),this.styleUrls=P(R),this.externalStylesheets=P(q),this.animations=J?D(J):[],this.ngContentSelectors=L||[],Q&&Q.length!=2)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=Q,this.isInline=V,this.preserveWhitespaces=j}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};e.CompileTemplateMetadata=_;var w=class{static create(v){let{isHost:S,type:b,isComponent:B,selector:k,exportAs:M,changeDetection:R,inputs:q,outputs:J,host:L,providers:Q,viewProviders:V,queries:j,guards:Y,viewQueries:ie,entryComponents:ee,template:ce,componentViewType:W,rendererType:K,componentFactory:de}=v,ue={},Fe={},z={};L!=null&&Object.keys(L).forEach(se=>{let fe=L[se],ge=se.match(s);ge===null?z[se]=fe:ge[1]!=null?Fe[ge[1]]=fe:ge[2]!=null&&(ue[ge[2]]=fe)});let U={};q!=null&&q.forEach(se=>{let fe=t.splitAtColon(se,[se,se]);U[fe[0]]=fe[1]});let Z={};return J!=null&&J.forEach(se=>{let fe=t.splitAtColon(se,[se,se]);Z[fe[0]]=fe[1]}),new w({isHost:S,type:b,isComponent:!!B,selector:k,exportAs:M,changeDetection:R,inputs:U,outputs:Z,hostListeners:ue,hostProperties:Fe,hostAttributes:z,providers:Q,viewProviders:V,queries:j,guards:Y,viewQueries:ie,entryComponents:ee,template:ce,componentViewType:W,rendererType:K,componentFactory:de})}constructor(v){let{isHost:S,type:b,isComponent:B,selector:k,exportAs:M,changeDetection:R,inputs:q,outputs:J,hostListeners:L,hostProperties:Q,hostAttributes:V,providers:j,viewProviders:Y,queries:ie,guards:ee,viewQueries:ce,entryComponents:W,template:K,componentViewType:de,rendererType:ue,componentFactory:Fe}=v;this.isHost=!!S,this.type=b,this.isComponent=B,this.selector=k,this.exportAs=M,this.changeDetection=R,this.inputs=q,this.outputs=J,this.hostListeners=L,this.hostProperties=Q,this.hostAttributes=V,this.providers=P(j),this.viewProviders=P(Y),this.queries=P(ie),this.guards=ee,this.viewQueries=P(ce),this.entryComponents=P(W),this.template=K,this.componentViewType=de,this.rendererType=ue,this.componentFactory=Fe}toSummary(){return{summaryKind:g.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};e.CompileDirectiveMetadata=w;var F=class{constructor(v){let{type:S,name:b,pure:B}=v;this.type=S,this.name=b,this.pure=!!B}toSummary(){return{summaryKind:g.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompilePipeMetadata=F;var N=class{};e.CompileShallowModuleMetadata=N;var x=class{constructor(v){let{type:S,providers:b,declaredDirectives:B,exportedDirectives:k,declaredPipes:M,exportedPipes:R,entryComponents:q,bootstrapComponents:J,importedModules:L,exportedModules:Q,schemas:V,transitiveModule:j,id:Y}=v;this.type=S||null,this.declaredDirectives=P(B),this.exportedDirectives=P(k),this.declaredPipes=P(M),this.exportedPipes=P(R),this.providers=P(b),this.entryComponents=P(q),this.bootstrapComponents=P(J),this.importedModules=P(L),this.exportedModules=P(Q),this.schemas=P(V),this.id=Y||null,this.transitiveModule=j||null}toSummary(){let v=this.transitiveModule;return{summaryKind:g.NgModule,type:this.type,entryComponents:v.entryComponents,providers:v.providers,modules:v.modules,exportedDirectives:v.exportedDirectives,exportedPipes:v.exportedPipes}}};e.CompileNgModuleMetadata=x;var I=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(v,S){this.providers.push({provider:v,module:S})}addDirective(v){this.directivesSet.has(v.reference)||(this.directivesSet.add(v.reference),this.directives.push(v))}addExportedDirective(v){this.exportedDirectivesSet.has(v.reference)||(this.exportedDirectivesSet.add(v.reference),this.exportedDirectives.push(v))}addPipe(v){this.pipesSet.has(v.reference)||(this.pipesSet.add(v.reference),this.pipes.push(v))}addExportedPipe(v){this.exportedPipesSet.has(v.reference)||(this.exportedPipesSet.add(v.reference),this.exportedPipes.push(v))}addModule(v){this.modulesSet.has(v.reference)||(this.modulesSet.add(v.reference),this.modules.push(v))}addEntryComponent(v){this.entryComponentsSet.has(v.componentType)||(this.entryComponentsSet.add(v.componentType),this.entryComponents.push(v))}};e.TransitiveCompileNgModuleMetadata=I;function P(v){return v||[]}var $=class{constructor(v,S){let{useClass:b,useValue:B,useExisting:k,useFactory:M,deps:R,multi:q}=S;this.token=v,this.useClass=b||null,this.useValue=B,this.useExisting=k,this.useFactory=M||null,this.dependencies=R||null,this.multi=!!q}};e.ProviderMeta=$;function D(v){return v.reduce((S,b)=>{let B=Array.isArray(b)?D(b):b;return S.concat(B)},[])}e.flatten=D;function T(v){return v.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function m(v,S,b){let B;return b.isInline?S.type.reference instanceof r.StaticSymbol?B=`${S.type.reference.filePath}.${S.type.reference.name}.html`:B=`${u(v)}/${u(S.type)}.html`:B=b.templateUrl,S.type.reference instanceof r.StaticSymbol?B:T(B)}e.templateSourceUrl=m;function C(v,S){let b=v.moduleUrl.split(/\/\\/g),B=b[b.length-1];return T(`css/${S}${B}.ngstyle.js`)}e.sharedStylesheetJitUrl=C;function o(v){return T(`${u(v.type)}/module.ngfactory.js`)}e.ngModuleJitUrl=o;function h(v,S){return T(`${u(v)}/${u(S.type)}.ngfactory.js`)}e.templateJitUrl=h}}),mg=te({"node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=cg(),t=Dg(),s=class{constructor(d,y,g,c){this.file=d,this.offset=y,this.line=g,this.col=c}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(d){let y=this.file.content,g=y.length,c=this.offset,f=this.line,E=this.col;for(;c>0&&d<0;)if(c--,d++,y.charCodeAt(c)==r.$LF){f--;let w=y.substr(0,c-1).lastIndexOf(String.fromCharCode(r.$LF));E=w>0?c-w:c}else E--;for(;c0;){let _=y.charCodeAt(c);c++,d--,_==r.$LF?(f++,E=0):E++}return new s(this.file,c,f,E)}getContext(d,y){let g=this.file.content,c=this.offset;if(c!=null){c>g.length-1&&(c=g.length-1);let f=c,E=0,_=0;for(;E0&&(c--,E++,!(g[c]==` -`&&++_==y)););for(E=0,_=0;E2&&arguments[2]!==void 0?arguments[2]:null;this.start=d,this.end=y,this.details=g}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};e.ParseSourceSpan=n,e.EMPTY_PARSE_LOCATION=new s(new a("",""),0,0,0),e.EMPTY_SOURCE_SPAN=new n(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION);var u;(function(d){d[d.WARNING=0]="WARNING",d[d.ERROR=1]="ERROR"})(u=e.ParseErrorLevel||(e.ParseErrorLevel={}));var i=class{constructor(d,y){let g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:u.ERROR;this.span=d,this.msg=y,this.level=g}contextualMessage(){let d=this.span.start.getContext(100,3);return d?`${this.msg} ("${d.before}[${u[this.level]} ->]${d.after}")`:this.msg}toString(){let d=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${d}`}};e.ParseError=i;function l(d,y){let g=t.identifierModuleUrl(y),c=g!=null?`in ${d} ${t.identifierName(y)} in ${g}`:`in ${d} ${t.identifierName(y)}`,f=new a("",c);return new n(new s(f,-1,-1,-1),new s(f,-1,-1,-1))}e.typeSourceSpan=l;function p(d,y,g){let c=`in ${d} ${y} in ${g}`,f=new a("",c);return new n(new s(f,-1,-1,-1),new s(f,-1,-1,-1))}e.r3JitTypeSourceSpan=p}}),dg=te({"src/language-html/print-preprocess.js"(e,r){"use strict";ne();var{ParseSourceSpan:t}=mg(),{htmlTrim:s,getLeadingAndTrailingHtmlWhitespace:a,hasHtmlWhitespace:n,canHaveInterpolation:u,getNodeCssStyleDisplay:i,isDanglingSpaceSensitiveNode:l,isIndentationSensitiveNode:p,isLeadingSpaceSensitiveNode:d,isTrailingSpaceSensitiveNode:y,isWhitespaceSensitiveNode:g,isVueScriptTag:c}=qt(),f=[_,w,N,I,P,T,$,D,m,x,C];function E(o,h){for(let v of f)v(o,h);return o}function _(o){o.walk(h=>{if(h.type==="element"&&h.tagDefinition.ignoreFirstLf&&h.children.length>0&&h.children[0].type==="text"&&h.children[0].value[0]===` -`){let v=h.children[0];v.value.length===1?h.removeChild(v):v.value=v.value.slice(1)}})}function w(o){let h=v=>v.type==="element"&&v.prev&&v.prev.type==="ieConditionalStartComment"&&v.prev.sourceSpan.end.offset===v.startSourceSpan.start.offset&&v.firstChild&&v.firstChild.type==="ieConditionalEndComment"&&v.firstChild.sourceSpan.start.offset===v.startSourceSpan.end.offset;o.walk(v=>{if(v.children)for(let S=0;S{if(S.children)for(let b=0;bh.type==="cdata",h=>``)}function x(o){let h=v=>v.type==="element"&&v.attrs.length===0&&v.children.length===1&&v.firstChild.type==="text"&&!n(v.children[0].value)&&!v.firstChild.hasLeadingSpaces&&!v.firstChild.hasTrailingSpaces&&v.isLeadingSpaceSensitive&&!v.hasLeadingSpaces&&v.isTrailingSpaceSensitive&&!v.hasTrailingSpaces&&v.prev&&v.prev.type==="text"&&v.next&&v.next.type==="text";o.walk(v=>{if(v.children)for(let S=0;S`+b.firstChild.value+``+k.value,B.sourceSpan=new t(B.sourceSpan.start,k.sourceSpan.end),B.isTrailingSpaceSensitive=k.isTrailingSpaceSensitive,B.hasTrailingSpaces=k.hasTrailingSpaces,v.removeChild(b),S--,v.removeChild(k)}})}function I(o,h){if(h.parser==="html")return;let v=/{{(.+?)}}/s;o.walk(S=>{if(u(S))for(let b of S.children){if(b.type!=="text")continue;let B=b.sourceSpan.start,k=null,M=b.value.split(v);for(let R=0;R0&&S.insertChildBefore(b,{type:"text",value:q,sourceSpan:new t(B,k)});continue}k=B.moveBy(q.length+4),S.insertChildBefore(b,{type:"interpolation",sourceSpan:new t(B,k),children:q.length===0?[]:[{type:"text",value:q,sourceSpan:new t(B.moveBy(2),k.moveBy(-2))}]})}S.removeChild(b)}})}function P(o){o.walk(h=>{if(!h.children)return;if(h.children.length===0||h.children.length===1&&h.children[0].type==="text"&&s(h.children[0].value).length===0){h.hasDanglingSpaces=h.children.length>0,h.children=[];return}let v=g(h),S=p(h);if(!v)for(let b=0;b{h.isSelfClosing=!h.children||h.type==="element"&&(h.tagDefinition.isVoid||h.startSourceSpan===h.endSourceSpan)})}function D(o,h){o.walk(v=>{v.type==="element"&&(v.hasHtmComponentClosingTag=v.endSourceSpan&&/^<\s*\/\s*\/\s*>$/.test(h.originalText.slice(v.endSourceSpan.start.offset,v.endSourceSpan.end.offset)))})}function T(o,h){o.walk(v=>{v.cssDisplay=i(v,h)})}function m(o,h){o.walk(v=>{let{children:S}=v;if(S){if(S.length===0){v.isDanglingSpaceSensitive=l(v);return}for(let b of S)b.isLeadingSpaceSensitive=d(b,h),b.isTrailingSpaceSensitive=y(b,h);for(let b=0;bc(b,h));if(!v)return;let{lang:S}=v.attrMap;(S==="ts"||S==="typescript")&&(h.__should_parse_vue_template_with_ts=!0)}}r.exports=E}}),gg=te({"src/language-html/pragma.js"(e,r){"use strict";ne();function t(a){return/^\s*/.test(a)}function s(a){return` - -`+a.replace(/^\s*\n/,"")}r.exports={hasPragma:t,insertPragma:s}}}),uu=te({"src/language-html/loc.js"(e,r){"use strict";ne();function t(a){return a.sourceSpan.start.offset}function s(a){return a.sourceSpan.end.offset}r.exports={locStart:t,locEnd:s}}}),rr=te({"src/language-html/print/tag.js"(e,r){"use strict";ne();var t=Yt(),{isNonEmptyArray:s}=Ue(),{builders:{indent:a,join:n,line:u,softline:i,hardline:l},utils:{replaceTextEndOfLine:p}}=qe(),{locStart:d,locEnd:y}=uu(),{isTextLikeNode:g,getLastDescendant:c,isPreLikeNode:f,hasPrettierIgnore:E,shouldPreserveContent:_,isVueSfcBlock:w}=qt();function F(L,Q){return[L.isSelfClosing?"":N(L,Q),x(L,Q)]}function N(L,Q){return L.lastChild&&o(L.lastChild)?"":[I(L,Q),$(L,Q)]}function x(L,Q){return(L.next?m(L.next):C(L.parent))?"":[D(L,Q),P(L,Q)]}function I(L,Q){return C(L)?D(L.lastChild,Q):""}function P(L,Q){return o(L)?$(L.parent,Q):h(L)?q(L.next):""}function $(L,Q){if(t(!L.isSelfClosing),T(L,Q))return"";switch(L.type){case"ieConditionalComment":return"";case"ieConditionalStartComment":return"]>";case"interpolation":return"}}";case"element":if(L.isSelfClosing)return"/>";default:return">"}}function T(L,Q){return!L.isSelfClosing&&!L.endSourceSpan&&(E(L)||_(L.parent,Q))}function m(L){return L.prev&&L.prev.type!=="docType"&&!g(L.prev)&&L.isLeadingSpaceSensitive&&!L.hasLeadingSpaces}function C(L){return L.lastChild&&L.lastChild.isTrailingSpaceSensitive&&!L.lastChild.hasTrailingSpaces&&!g(c(L.lastChild))&&!f(L)}function o(L){return!L.next&&!L.hasTrailingSpaces&&L.isTrailingSpaceSensitive&&g(c(L))}function h(L){return L.next&&!g(L.next)&&g(L)&&L.isTrailingSpaceSensitive&&!L.hasTrailingSpaces}function v(L){let Q=L.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);return Q?Q[1]?Q[1].split(/\s+/):!0:!1}function S(L){return!L.prev&&L.isLeadingSpaceSensitive&&!L.hasLeadingSpaces}function b(L,Q,V){let j=L.getValue();if(!s(j.attrs))return j.isSelfClosing?" ":"";let Y=j.prev&&j.prev.type==="comment"&&v(j.prev.value),ie=typeof Y=="boolean"?()=>Y:Array.isArray(Y)?ue=>Y.includes(ue.rawName):()=>!1,ee=L.map(ue=>{let Fe=ue.getValue();return ie(Fe)?p(Q.originalText.slice(d(Fe),y(Fe))):V()},"attrs"),ce=j.type==="element"&&j.fullName==="script"&&j.attrs.length===1&&j.attrs[0].fullName==="src"&&j.children.length===0,K=Q.singleAttributePerLine&&j.attrs.length>1&&!w(j,Q)?l:u,de=[a([ce?" ":u,n(K,ee)])];return j.firstChild&&S(j.firstChild)||j.isSelfClosing&&C(j.parent)||ce?de.push(j.isSelfClosing?" ":""):de.push(Q.bracketSameLine?j.isSelfClosing?" ":"":j.isSelfClosing?u:i),de}function B(L){return L.firstChild&&S(L.firstChild)?"":J(L)}function k(L,Q,V){let j=L.getValue();return[M(j,Q),b(L,Q,V),j.isSelfClosing?"":B(j)]}function M(L,Q){return L.prev&&h(L.prev)?"":[R(L,Q),q(L)]}function R(L,Q){return S(L)?J(L.parent):m(L)?D(L.prev,Q):""}function q(L){switch(L.type){case"ieConditionalComment":case"ieConditionalStartComment":return`<${L.rawName}`;default:return`<${L.rawName}`}}function J(L){switch(t(!L.isSelfClosing),L.type){case"ieConditionalComment":return"]>";case"element":if(L.condition)return">";default:return">"}}r.exports={printClosingTag:F,printClosingTagStart:N,printClosingTagStartMarker:$,printClosingTagEndMarker:D,printClosingTagSuffix:P,printClosingTagEnd:x,needsToBorrowLastChildClosingTagEndMarker:C,needsToBorrowParentClosingTagStartMarker:o,needsToBorrowPrevClosingTagEndMarker:m,printOpeningTag:k,printOpeningTagStart:M,printOpeningTagPrefix:R,printOpeningTagStartMarker:q,printOpeningTagEndMarker:J,needsToBorrowNextOpeningTagStartMarker:h,needsToBorrowParentOpeningTagEndMarker:S}}}),yg=te({"node_modules/parse-srcset/src/parse-srcset.js"(e,r){ne(),function(t,s){typeof define=="function"&&define.amd?define([],s):typeof r=="object"&&r.exports?r.exports=s():t.parseSrcset=s()}(e,function(){return function(t,s){var a=s&&s.logger||console;function n($){return $===" "||$===" "||$===` -`||$==="\f"||$==="\r"}function u($){var D,T=$.exec(t.substring(N));if(T)return D=T[0],N+=D.length,D}for(var i=t.length,l=/^[ \t\n\r\u000c]+/,p=/^[, \t\n\r\u000c]+/,d=/^[^ \t\n\r\u000c]+/,y=/[,]+$/,g=/^\d+$/,c=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,f,E,_,w,F,N=0,x=[];;){if(u(p),N>=i)return x;f=u(d),E=[],f.slice(-1)===","?(f=f.replace(y,""),P()):I()}function I(){for(u(l),_="",w="in descriptor";;){if(F=t.charAt(N),w==="in descriptor")if(n(F))_&&(E.push(_),_="",w="after descriptor");else if(F===","){N+=1,_&&E.push(_),P();return}else if(F==="(")_=_+F,w="in parens";else if(F===""){_&&E.push(_),P();return}else _=_+F;else if(w==="in parens")if(F===")")_=_+F,w="in descriptor";else if(F===""){E.push(_),P();return}else _=_+F;else if(w==="after descriptor"&&!n(F))if(F===""){P();return}else w="in descriptor",N-=1;N+=1}}function P(){var $=!1,D,T,m,C,o={},h,v,S,b,B;for(C=0;C{let{w:P}=I;return P}),y=p.some(I=>{let{h:P}=I;return P}),g=p.some(I=>{let{d:P}=I;return P});if(d+y+g>1)throw new Error("Mixed descriptor in srcset is not supported");let c=d?"w":y?"h":"d",f=d?"w":y?"h":"x",E=I=>Math.max(...I),_=p.map(I=>I.url),w=E(_.map(I=>I.length)),F=p.map(I=>I[c]).map(I=>I?I.toString():""),N=F.map(I=>{let P=I.indexOf(".");return P===-1?I.length:P}),x=E(N);return a([",",n],_.map((I,P)=>{let $=[I],D=F[P];if(D){let T=w-I.length+1,m=x-N[P],C=" ".repeat(T+m);$.push(s(C," "),D+f)}return $}))}function i(l){return l.trim().split(/\s+/).join(" ")}r.exports={printImgSrcset:u,printClassNames:i}}}),vg=te({"src/language-html/syntax-vue.js"(e,r){"use strict";ne();var{builders:{group:t}}=qe();function s(i,l){let{left:p,operator:d,right:y}=a(i);return[t(l(`function _(${p}) {}`,{parser:"babel",__isVueForBindingLeft:!0}))," ",d," ",l(y,{parser:"__js_expression"},{stripTrailingHardline:!0})]}function a(i){let l=/(.*?)\s+(in|of)\s+(.*)/s,p=/,([^,\]}]*)(?:,([^,\]}]*))?$/,d=/^\(|\)$/g,y=i.match(l);if(!y)return;let g={};if(g.for=y[3].trim(),!g.for)return;let c=y[1].trim().replace(d,""),f=c.match(p);f?(g.alias=c.replace(p,""),g.iterator1=f[1].trim(),f[2]&&(g.iterator2=f[2].trim())):g.alias=c;let E=[g.alias,g.iterator1,g.iterator2];if(!E.some((_,w)=>!_&&(w===0||E.slice(w+1).some(Boolean))))return{left:E.filter(Boolean).join(","),operator:y[2],right:g.for}}function n(i,l){return l(`function _(${i}) {}`,{parser:"babel",__isVueBindings:!0})}function u(i){let l=/^(?:[\w$]+|\([^)]*\))\s*=>|^function\s*\(/,p=/^[$A-Z_a-z][\w$]*(?:\.[$A-Z_a-z][\w$]*|\['[^']*']|\["[^"]*"]|\[\d+]|\[[$A-Z_a-z][\w$]*])*$/,d=i.trim();return l.test(d)||p.test(d)}r.exports={isVueEventBindingExpression:u,printVueFor:s,printVueBindings:n}}}),To=te({"src/language-html/get-node-content.js"(e,r){"use strict";ne();var{needsToBorrowParentClosingTagStartMarker:t,printClosingTagStartMarker:s,needsToBorrowLastChildClosingTagEndMarker:a,printClosingTagEndMarker:n,needsToBorrowParentOpeningTagEndMarker:u,printOpeningTagEndMarker:i}=rr();function l(p,d){let y=p.startSourceSpan.end.offset;p.firstChild&&u(p.firstChild)&&(y-=i(p).length);let g=p.endSourceSpan.start.offset;return p.lastChild&&t(p.lastChild)?g+=s(p,d).length:a(p)&&(g-=n(p.lastChild,d).length),d.originalText.slice(y,g)}r.exports=l}}),Cg=te({"src/language-html/embed.js"(e,r){"use strict";ne();var{builders:{breakParent:t,group:s,hardline:a,indent:n,line:u,fill:i,softline:l},utils:{mapDoc:p,replaceTextEndOfLine:d}}=qe(),y=ru(),{printClosingTag:g,printClosingTagSuffix:c,needsToBorrowPrevClosingTagEndMarker:f,printOpeningTagPrefix:E,printOpeningTag:_}=rr(),{printImgSrcset:w,printClassNames:F}=hg(),{printVueFor:N,printVueBindings:x,isVueEventBindingExpression:I}=vg(),{isScriptLikeTag:P,isVueNonHtmlBlock:$,inferScriptParser:D,htmlTrimPreserveIndentation:T,dedentString:m,unescapeQuoteEntities:C,isVueSlotAttribute:o,isVueSfcBindingsAttribute:h,getTextValueParts:v}=qt(),S=To();function b(k,M,R){let q=ee=>new RegExp(ee.join("|")).test(k.fullName),J=()=>C(k.value),L=!1,Q=(ee,ce)=>{let W=ee.type==="NGRoot"?ee.node.type==="NGMicrosyntax"&&ee.node.body.length===1&&ee.node.body[0].type==="NGMicrosyntaxExpression"?ee.node.body[0].expression:ee.node:ee.type==="JsExpressionRoot"?ee.node:ee;W&&(W.type==="ObjectExpression"||W.type==="ArrayExpression"||ce.parser==="__vue_expression"&&(W.type==="TemplateLiteral"||W.type==="StringLiteral"))&&(L=!0)},V=ee=>s(ee),j=function(ee){let ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return s([n([l,ee]),ce?l:""])},Y=ee=>L?V(ee):j(ee),ie=(ee,ce)=>M(ee,Object.assign({__onHtmlBindingRoot:Q,__embeddedInHtml:!0},ce));if(k.fullName==="srcset"&&(k.parent.fullName==="img"||k.parent.fullName==="source"))return j(w(J()));if(k.fullName==="class"&&!R.parentParser){let ee=J();if(!ee.includes("{{"))return F(ee)}if(k.fullName==="style"&&!R.parentParser){let ee=J();if(!ee.includes("{{"))return j(ie(ee,{parser:"css",__isHTMLStyleAttribute:!0}))}if(R.parser==="vue"){if(k.fullName==="v-for")return N(J(),ie);if(o(k)||h(k,R))return x(J(),ie);let ee=["^@","^v-on:"],ce=["^:","^v-bind:"],W=["^v-"];if(q(ee)){let K=J(),de=I(K)?"__js_expression":R.__should_parse_vue_template_with_ts?"__vue_ts_event_binding":"__vue_event_binding";return Y(ie(K,{parser:de}))}if(q(ce))return Y(ie(J(),{parser:"__vue_expression"}));if(q(W))return Y(ie(J(),{parser:"__js_expression"}))}if(R.parser==="angular"){let ee=(z,U)=>ie(z,Object.assign(Object.assign({},U),{},{trailingComma:"none"})),ce=["^\\*"],W=["^\\(.+\\)$","^on-"],K=["^\\[.+\\]$","^bind(on)?-","^ng-(if|show|hide|class|style)$"],de=["^i18n(-.+)?$"];if(q(W))return Y(ee(J(),{parser:"__ng_action"}));if(q(K))return Y(ee(J(),{parser:"__ng_binding"}));if(q(de)){let z=J().trim();return j(i(v(k,z)),!z.includes("@@"))}if(q(ce))return Y(ee(J(),{parser:"__ng_directive"}));let ue=/{{(.+?)}}/s,Fe=J();if(ue.test(Fe)){let z=[];for(let[U,Z]of Fe.split(ue).entries())if(U%2===0)z.push(d(Z));else try{z.push(s(["{{",n([u,ee(Z,{parser:"__ng_interpolation",__isInHtmlInterpolation:!0})]),u,"}}"]))}catch{z.push("{{",d(Z),"}}")}return s(z)}}return null}function B(k,M,R,q){let J=k.getValue();switch(J.type){case"element":{if(P(J)||J.type==="interpolation")return;if(!J.isSelfClosing&&$(J,q)){let L=D(J,q);if(!L)return;let Q=S(J,q),V=/^\s*$/.test(Q),j="";return V||(j=R(T(Q),{parser:L,__embeddedInHtml:!0},{stripTrailingHardline:!0}),V=j===""),[E(J,q),s(_(k,q,M)),V?"":a,j,V?"":a,g(J,q),c(J,q)]}break}case"text":{if(P(J.parent)){let L=D(J.parent,q);if(L){let Q=L==="markdown"?m(J.value.replace(/^[^\S\n]*\n/,"")):J.value,V={parser:L,__embeddedInHtml:!0};if(q.parser==="html"&&L==="babel"){let j="script",{attrMap:Y}=J.parent;Y&&(Y.type==="module"||Y.type==="text/babel"&&Y["data-type"]==="module")&&(j="module"),V.__babelSourceType=j}return[t,E(J,q),R(Q,V,{stripTrailingHardline:!0}),c(J,q)]}}else if(J.parent.type==="interpolation"){let L={__isInHtmlInterpolation:!0,__embeddedInHtml:!0};return q.parser==="angular"?(L.parser="__ng_interpolation",L.trailingComma="none"):q.parser==="vue"?L.parser=q.__should_parse_vue_template_with_ts?"__vue_ts_expression":"__vue_expression":L.parser="__js_expression",[n([u,R(J.value,L,{stripTrailingHardline:!0})]),J.parent.next&&f(J.parent.next)?" ":u]}break}case"attribute":{if(!J.value)break;if(/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(q.originalText.slice(J.valueSpan.start.offset,J.valueSpan.end.offset)))return[J.rawName,"=",J.value];if(q.parser==="lwc"&&/^{.*}$/s.test(q.originalText.slice(J.valueSpan.start.offset,J.valueSpan.end.offset)))return[J.rawName,"=",J.value];let L=b(J,(Q,V)=>R(Q,Object.assign({__isInHtmlAttribute:!0,__embeddedInHtml:!0},V),{stripTrailingHardline:!0}),q);if(L)return[J.rawName,'="',s(p(L,Q=>typeof Q=="string"?Q.replace(/"/g,"""):Q)),'"'];break}case"front-matter":return y(J,R)}}r.exports=B}}),Bo=te({"src/language-html/print/children.js"(e,r){"use strict";ne();var{builders:{breakParent:t,group:s,ifBreak:a,line:n,softline:u,hardline:i},utils:{replaceTextEndOfLine:l}}=qe(),{locStart:p,locEnd:d}=uu(),{forceBreakChildren:y,forceNextEmptyLine:g,isTextLikeNode:c,hasPrettierIgnore:f,preferHardlineAsLeadingSpaces:E}=qt(),{printOpeningTagPrefix:_,needsToBorrowNextOpeningTagStartMarker:w,printOpeningTagStartMarker:F,needsToBorrowPrevClosingTagEndMarker:N,printClosingTagEndMarker:x,printClosingTagSuffix:I,needsToBorrowParentClosingTagStartMarker:P}=rr();function $(m,C,o){let h=m.getValue();return f(h)?[_(h,C),...l(C.originalText.slice(p(h)+(h.prev&&w(h.prev)?F(h).length:0),d(h)-(h.next&&N(h.next)?x(h,C).length:0))),I(h,C)]:o()}function D(m,C){return c(m)&&c(C)?m.isTrailingSpaceSensitive?m.hasTrailingSpaces?E(C)?i:n:"":E(C)?i:u:w(m)&&(f(C)||C.firstChild||C.isSelfClosing||C.type==="element"&&C.attrs.length>0)||m.type==="element"&&m.isSelfClosing&&N(C)?"":!C.isLeadingSpaceSensitive||E(C)||N(C)&&m.lastChild&&P(m.lastChild)&&m.lastChild.lastChild&&P(m.lastChild.lastChild)?i:C.hasLeadingSpaces?n:u}function T(m,C,o){let h=m.getValue();if(y(h))return[t,...m.map(S=>{let b=S.getValue(),B=b.prev?D(b.prev,b):"";return[B?[B,g(b.prev)?i:""]:"",$(S,C,o)]},"children")];let v=h.children.map(()=>Symbol(""));return m.map((S,b)=>{let B=S.getValue();if(c(B)){if(B.prev&&c(B.prev)){let Q=D(B.prev,B);if(Q)return g(B.prev)?[i,i,$(S,C,o)]:[Q,$(S,C,o)]}return $(S,C,o)}let k=[],M=[],R=[],q=[],J=B.prev?D(B.prev,B):"",L=B.next?D(B,B.next):"";return J&&(g(B.prev)?k.push(i,i):J===i?k.push(i):c(B.prev)?M.push(J):M.push(a("",u,{groupId:v[b-1]}))),L&&(g(B)?c(B.next)&&q.push(i,i):L===i?c(B.next)&&q.push(i):R.push(L)),[...k,s([...M,s([$(S,C,o),...R],{id:v[b]})]),...q]},"children")}r.exports={printChildren:T}}}),Eg=te({"src/language-html/print/element.js"(e,r){"use strict";ne();var{builders:{breakParent:t,dedentToRoot:s,group:a,ifBreak:n,indentIfBreak:u,indent:i,line:l,softline:p},utils:{replaceTextEndOfLine:d}}=qe(),y=To(),{shouldPreserveContent:g,isScriptLikeTag:c,isVueCustomBlock:f,countParents:E,forceBreakContent:_}=qt(),{printOpeningTagPrefix:w,printOpeningTag:F,printClosingTagSuffix:N,printClosingTag:x,needsToBorrowPrevClosingTagEndMarker:I,needsToBorrowLastChildClosingTagEndMarker:P}=rr(),{printChildren:$}=Bo();function D(T,m,C){let o=T.getValue();if(g(o,m))return[w(o,m),a(F(T,m,C)),...d(y(o,m)),...x(o,m),N(o,m)];let h=o.children.length===1&&o.firstChild.type==="interpolation"&&o.firstChild.isLeadingSpaceSensitive&&!o.firstChild.hasLeadingSpaces&&o.lastChild.isTrailingSpaceSensitive&&!o.lastChild.hasTrailingSpaces,v=Symbol("element-attr-group-id"),S=M=>a([a(F(T,m,C),{id:v}),M,x(o,m)]),b=M=>h?u(M,{groupId:v}):(c(o)||f(o,m))&&o.parent.type==="root"&&m.parser==="vue"&&!m.vueIndentScriptAndStyle?M:i(M),B=()=>h?n(p,"",{groupId:v}):o.firstChild.hasLeadingSpaces&&o.firstChild.isLeadingSpaceSensitive?l:o.firstChild.type==="text"&&o.isWhitespaceSensitive&&o.isIndentationSensitive?s(p):p,k=()=>(o.next?I(o.next):P(o.parent))?o.lastChild.hasTrailingSpaces&&o.lastChild.isTrailingSpaceSensitive?" ":"":h?n(p,"",{groupId:v}):o.lastChild.hasTrailingSpaces&&o.lastChild.isTrailingSpaceSensitive?l:(o.lastChild.type==="comment"||o.lastChild.type==="text"&&o.isWhitespaceSensitive&&o.isIndentationSensitive)&&new RegExp(`\\n[\\t ]{${m.tabWidth*E(T,R=>R.parent&&R.parent.type!=="root")}}$`).test(o.lastChild.value)?"":p;return o.children.length===0?S(o.hasDanglingSpaces&&o.isDanglingSpaceSensitive?l:""):S([_(o)?t:"",b([B(),$(T,m,C)]),k()])}r.exports={printElement:D}}}),Fg=te({"src/language-html/printer-html.js"(e,r){"use strict";ne();var{builders:{fill:t,group:s,hardline:a,literalline:n},utils:{cleanDoc:u,getDocParts:i,isConcat:l,replaceTextEndOfLine:p}}=qe(),d=ag(),{countChars:y,unescapeQuoteEntities:g,getTextValueParts:c}=qt(),f=dg(),{insertPragma:E}=gg(),{locStart:_,locEnd:w}=uu(),F=Cg(),{printClosingTagSuffix:N,printClosingTagEnd:x,printOpeningTagPrefix:I,printOpeningTagStart:P}=rr(),{printElement:$}=Eg(),{printChildren:D}=Bo();function T(m,C,o){let h=m.getValue();switch(h.type){case"front-matter":return p(h.raw);case"root":return C.__onHtmlRoot&&C.__onHtmlRoot(h),[s(D(m,C,o)),a];case"element":case"ieConditionalComment":return $(m,C,o);case"ieConditionalStartComment":case"ieConditionalEndComment":return[P(h),x(h)];case"interpolation":return[P(h,C),...m.map(o,"children"),x(h,C)];case"text":{if(h.parent.type==="interpolation"){let S=/\n[^\S\n]*$/,b=S.test(h.value),B=b?h.value.replace(S,""):h.value;return[...p(B),b?a:""]}let v=u([I(h,C),...c(h),N(h,C)]);return l(v)||v.type==="fill"?t(i(v)):v}case"docType":return[s([P(h,C)," ",h.value.replace(/^html\b/i,"html").replace(/\s+/g," ")]),x(h,C)];case"comment":return[I(h,C),...p(C.originalText.slice(_(h),w(h)),n),N(h,C)];case"attribute":{if(h.value===null)return h.rawName;let v=g(h.value),S=y(v,"'"),b=y(v,'"'),B=S({name:"Angular",since:"1.15.0",parsers:["angular"],vscodeLanguageIds:["html"],extensions:[".component.html"],filenames:[]})),t(kn(),l=>({since:"1.15.0",parsers:["html"],vscodeLanguageIds:["html"],extensions:[...l.extensions,".mjml"]})),t(kn(),()=>({name:"Lightning Web Components",since:"1.17.0",parsers:["lwc"],vscodeLanguageIds:["html"],extensions:[],filenames:[]})),t(xg(),()=>({since:"1.10.0",parsers:["vue"],vscodeLanguageIds:["vue"]}))],i={html:s};r.exports={languages:u,printers:i,options:a,parsers:n}}}),Tg=te({"src/language-yaml/pragma.js"(e,r){"use strict";ne();function t(n){return/^\s*@(?:prettier|format)\s*$/.test(n)}function s(n){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(n)}function a(n){return`# @format - -${n}`}r.exports={isPragma:t,hasPragma:s,insertPragma:a}}}),Bg=te({"src/language-yaml/loc.js"(e,r){"use strict";ne();function t(a){return a.position.start.offset}function s(a){return a.position.end.offset}r.exports={locStart:t,locEnd:s}}}),Ng=te({"src/language-yaml/embed.js"(e,r){"use strict";ne();function t(s,a,n,u){if(s.getValue().type==="root"&&u.filepath&&/(?:[/\\]|^)\.(?:prettier|stylelint|lintstaged)rc$/.test(u.filepath))return n(u.originalText,Object.assign(Object.assign({},u),{},{parser:"json"}))}r.exports=t}}),Mt=te({"src/language-yaml/utils.js"(e,r){"use strict";ne();var{getLast:t,isNonEmptyArray:s}=Ue();function a(D,T){let m=0,C=D.stack.length-1;for(let o=0;ou(C,T,D))}):D,m)}function i(D,T,m){Object.defineProperty(D,T,{get:m,enumerable:!1})}function l(D,T){let m=0,C=T.length;for(let o=D.position.end.offset-1;oh===0&&h===v.length-1?o:h!==0&&h!==v.length-1?o.trim():h===0?o.trimEnd():o.trimStart());return m.proseWrap==="preserve"?C.map(o=>o.length===0?[]:[o]):C.map(o=>o.length===0?[]:x(o)).reduce((o,h,v)=>v!==0&&C[v-1].length>0&&h.length>0&&!(D==="quoteDouble"&&t(t(o)).endsWith("\\"))?[...o.slice(0,-1),[...t(o),...h]]:[...o,h],[]).map(o=>m.proseWrap==="never"?[o.join(" ")]:o)}function P(D,T){let{parentIndent:m,isLastDescendant:C,options:o}=T,h=D.position.start.line===D.position.end.line?"":o.originalText.slice(D.position.start.offset,D.position.end.offset).match(/^[^\n]*\n(.*)$/s)[1],v;if(D.indent===null){let B=h.match(/^(? *)[^\n\r ]/m);v=B?B.groups.leadingSpace.length:Number.POSITIVE_INFINITY}else v=D.indent-1+m;let S=h.split(` -`).map(B=>B.slice(v));if(o.proseWrap==="preserve"||D.type==="blockLiteral")return b(S.map(B=>B.length===0?[]:[B]));return b(S.map(B=>B.length===0?[]:x(B)).reduce((B,k,M)=>M!==0&&S[M-1].length>0&&k.length>0&&!/^\s/.test(k[0])&&!/^\s|\s$/.test(t(B))?[...B.slice(0,-1),[...t(B),...k]]:[...B,k],[]).map(B=>B.reduce((k,M)=>k.length>0&&/\s$/.test(t(k))?[...k.slice(0,-1),t(k)+" "+M]:[...k,M],[])).map(B=>o.proseWrap==="never"?[B.join(" ")]:B));function b(B){if(D.chomping==="keep")return t(B).length===0?B.slice(0,-1):B;let k=0;for(let M=B.length-1;M>=0&&B[M].length===0;M--)k++;return k===0?B:k>=2&&!C?B.slice(0,-(k-1)):B.slice(0,-k)}}function $(D){if(!D)return!0;switch(D.type){case"plain":case"quoteDouble":case"quoteSingle":case"alias":case"flowMapping":case"flowSequence":return!0;default:return!1}}r.exports={getLast:t,getAncestorCount:a,isNode:n,isEmptyNode:c,isInlineNode:$,mapNode:u,defineShortcut:i,isNextLineEmpty:l,isLastDescendantNode:p,getBlockValueLineContents:P,getFlowScalarLineContents:I,getLastDescendantNode:d,hasPrettierIgnore:g,hasLeadingComments:E,hasMiddleComments:_,hasIndicatorComment:w,hasTrailingComment:F,hasEndComments:N}}}),wg=te({"src/language-yaml/print-preprocess.js"(e,r){"use strict";ne();var{defineShortcut:t,mapNode:s}=Mt();function a(u){return s(u,n)}function n(u){switch(u.type){case"document":t(u,"head",()=>u.children[0]),t(u,"body",()=>u.children[1]);break;case"documentBody":case"sequenceItem":case"flowSequenceItem":case"mappingKey":case"mappingValue":t(u,"content",()=>u.children[0]);break;case"mappingItem":case"flowMappingItem":t(u,"key",()=>u.children[0]),t(u,"value",()=>u.children[1]);break}return u}r.exports=a}}),jr=te({"src/language-yaml/print/misc.js"(e,r){"use strict";ne();var{builders:{softline:t,align:s}}=qe(),{hasEndComments:a,isNextLineEmpty:n,isNode:u}=Mt(),i=new WeakMap;function l(y,g){let c=y.getValue(),f=y.stack[0],E;return i.has(f)?E=i.get(f):(E=new Set,i.set(f,E)),!E.has(c.position.end.line)&&(E.add(c.position.end.line),n(c,g)&&!p(y.getParentNode()))?t:""}function p(y){return a(y)&&!u(y,["documentHead","documentBody","flowMapping","flowSequence"])}function d(y,g){return s(" ".repeat(y),g)}r.exports={alignWithSpaces:d,shouldPrintEndComments:p,printNextEmptyLine:l}}}),_g=te({"src/language-yaml/print/flow-mapping-sequence.js"(e,r){"use strict";ne();var{builders:{ifBreak:t,line:s,softline:a,hardline:n,join:u}}=qe(),{isEmptyNode:i,getLast:l,hasEndComments:p}=Mt(),{printNextEmptyLine:d,alignWithSpaces:y}=jr();function g(f,E,_){let w=f.getValue(),F=w.type==="flowMapping",N=F?"{":"[",x=F?"}":"]",I=a;F&&w.children.length>0&&_.bracketSpacing&&(I=s);let P=l(w.children),$=P&&P.type==="flowMappingItem"&&i(P.key)&&i(P.value);return[N,y(_.tabWidth,[I,c(f,E,_),_.trailingComma==="none"?"":t(","),p(w)?[n,u(n,f.map(E,"endComments"))]:""]),$?"":I,x]}function c(f,E,_){let w=f.getValue();return f.map((N,x)=>[E(),x===w.children.length-1?"":[",",s,w.children[x].position.start.line!==w.children[x+1].position.start.line?d(N,_.originalText):""]],"children")}r.exports={printFlowMapping:g,printFlowSequence:g}}}),Pg=te({"src/language-yaml/print/mapping-item.js"(e,r){"use strict";ne();var{builders:{conditionalGroup:t,group:s,hardline:a,ifBreak:n,join:u,line:i}}=qe(),{hasLeadingComments:l,hasMiddleComments:p,hasTrailingComment:d,hasEndComments:y,isNode:g,isEmptyNode:c,isInlineNode:f}=Mt(),{alignWithSpaces:E}=jr();function _(x,I,P,$,D){let{key:T,value:m}=x,C=c(T),o=c(m);if(C&&o)return": ";let h=$("key"),v=F(x)?" ":"";if(o)return x.type==="flowMappingItem"&&I.type==="flowMapping"?h:x.type==="mappingItem"&&w(T.content,D)&&!d(T.content)&&(!I.tag||I.tag.value!=="tag:yaml.org,2002:set")?[h,v,":"]:["? ",E(2,h)];let S=$("value");if(C)return[": ",E(2,S)];if(l(m)||!f(T.content))return["? ",E(2,h),a,u("",P.map($,"value","leadingComments").map(q=>[q,a])),": ",E(2,S)];if(N(T.content)&&!l(T.content)&&!p(T.content)&&!d(T.content)&&!y(T)&&!l(m.content)&&!p(m.content)&&!y(m)&&w(m.content,D))return[h,v,": ",S];let b=Symbol("mappingKey"),B=s([n("? "),s(E(2,h),{id:b})]),k=[a,": ",E(2,S)],M=[v,":"];l(m.content)||y(m)&&m.content&&!g(m.content,["mapping","sequence"])||I.type==="mapping"&&d(T.content)&&f(m.content)||g(m.content,["mapping","sequence"])&&m.content.tag===null&&m.content.anchor===null?M.push(a):m.content&&M.push(i),M.push(S);let R=E(D.tabWidth,M);return w(T.content,D)&&!l(T.content)&&!p(T.content)&&!y(T)?t([[h,R]]):t([[B,n(k,R,{groupId:b})]])}function w(x,I){if(!x)return!0;switch(x.type){case"plain":case"quoteSingle":case"quoteDouble":break;case"alias":return!0;default:return!1}if(I.proseWrap==="preserve")return x.position.start.line===x.position.end.line;if(/\\$/m.test(I.originalText.slice(x.position.start.offset,x.position.end.offset)))return!1;switch(I.proseWrap){case"never":return!x.value.includes(` -`);case"always":return!/[\n ]/.test(x.value);default:return!1}}function F(x){return x.key.content&&x.key.content.type==="alias"}function N(x){if(!x)return!0;switch(x.type){case"plain":case"quoteDouble":case"quoteSingle":return x.position.start.line===x.position.end.line;case"alias":return!0;default:return!1}}r.exports=_}}),Ig=te({"src/language-yaml/print/block.js"(e,r){"use strict";ne();var{builders:{dedent:t,dedentToRoot:s,fill:a,hardline:n,join:u,line:i,literalline:l,markAsRoot:p},utils:{getDocParts:d}}=qe(),{getAncestorCount:y,getBlockValueLineContents:g,hasIndicatorComment:c,isLastDescendantNode:f,isNode:E}=Mt(),{alignWithSpaces:_}=jr();function w(F,N,x){let I=F.getValue(),P=y(F,C=>E(C,["sequence","mapping"])),$=f(F),D=[I.type==="blockFolded"?">":"|"];I.indent!==null&&D.push(I.indent.toString()),I.chomping!=="clip"&&D.push(I.chomping==="keep"?"+":"-"),c(I)&&D.push(" ",N("indicatorComment"));let T=g(I,{parentIndent:P,isLastDescendant:$,options:x}),m=[];for(let[C,o]of T.entries())C===0&&m.push(n),m.push(a(d(u(i,o)))),C!==T.length-1?m.push(o.length===0?n:p(l)):I.chomping==="keep"&&$&&m.push(s(o.length===0?n:l));return I.indent===null?D.push(t(_(x.tabWidth,m))):D.push(s(_(I.indent-1+P,m))),D}r.exports=w}}),kg=te({"src/language-yaml/printer-yaml.js"(e,r){"use strict";ne();var{builders:{breakParent:t,fill:s,group:a,hardline:n,join:u,line:i,lineSuffix:l,literalline:p},utils:{getDocParts:d,replaceTextEndOfLine:y}}=qe(),{isPreviousLineEmpty:g}=Ue(),{insertPragma:c,isPragma:f}=Tg(),{locStart:E}=Bg(),_=Ng(),{getFlowScalarLineContents:w,getLastDescendantNode:F,hasLeadingComments:N,hasMiddleComments:x,hasTrailingComment:I,hasEndComments:P,hasPrettierIgnore:$,isLastDescendantNode:D,isNode:T,isInlineNode:m}=Mt(),C=wg(),{alignWithSpaces:o,printNextEmptyLine:h,shouldPrintEndComments:v}=jr(),{printFlowMapping:S,printFlowSequence:b}=_g(),B=Pg(),k=Ig();function M(j,Y,ie){let ee=j.getValue(),ce=[];ee.type!=="mappingValue"&&N(ee)&&ce.push([u(n,j.map(ie,"leadingComments")),n]);let{tag:W,anchor:K}=ee;W&&ce.push(ie("tag")),W&&K&&ce.push(" "),K&&ce.push(ie("anchor"));let de="";T(ee,["mapping","sequence","comment","directive","mappingItem","sequenceItem"])&&!D(j)&&(de=h(j,Y.originalText)),(W||K)&&(T(ee,["sequence","mapping"])&&!x(ee)?ce.push(n):ce.push(" ")),x(ee)&&ce.push([ee.middleComments.length===1?"":n,u(n,j.map(ie,"middleComments")),n]);let ue=j.getParentNode();return $(j)?ce.push(y(Y.originalText.slice(ee.position.start.offset,ee.position.end.offset).trimEnd(),p)):ce.push(a(R(ee,ue,j,Y,ie))),I(ee)&&!T(ee,["document","documentHead"])&&ce.push(l([ee.type==="mappingValue"&&!ee.content?"":" ",ue.type==="mappingKey"&&j.getParentNode(2).type==="mapping"&&m(ee)?"":t,ie("trailingComment")])),v(ee)&&ce.push(o(ee.type==="sequenceItem"?2:0,[n,u(n,j.map(Fe=>[g(Y.originalText,Fe.getValue(),E)?n:"",ie()],"endComments"))])),ce.push(de),ce}function R(j,Y,ie,ee,ce){switch(j.type){case"root":{let{children:W}=j,K=[];ie.each((ue,Fe)=>{let z=W[Fe],U=W[Fe+1];Fe!==0&&K.push(n),K.push(ce()),J(z,U)?(K.push(n,"..."),I(z)&&K.push(" ",ce("trailingComment"))):U&&!I(U.head)&&K.push(n,"---")},"children");let de=F(j);return(!T(de,["blockLiteral","blockFolded"])||de.chomping!=="keep")&&K.push(n),K}case"document":{let W=Y.children[ie.getName()+1],K=[];return L(j,W,Y,ee)==="head"&&((j.head.children.length>0||j.head.endComments.length>0)&&K.push(ce("head")),I(j.head)?K.push(["---"," ",ce(["head","trailingComment"])]):K.push("---")),q(j)&&K.push(ce("body")),u(n,K)}case"documentHead":return u(n,[...ie.map(ce,"children"),...ie.map(ce,"endComments")]);case"documentBody":{let{children:W,endComments:K}=j,de="";if(W.length>0&&K.length>0){let ue=F(j);T(ue,["blockFolded","blockLiteral"])?ue.chomping!=="keep"&&(de=[n,n]):de=n}return[u(n,ie.map(ce,"children")),de,u(n,ie.map(ce,"endComments"))]}case"directive":return["%",u(" ",[j.name,...j.parameters])];case"comment":return["#",j.value];case"alias":return["*",j.value];case"tag":return ee.originalText.slice(j.position.start.offset,j.position.end.offset);case"anchor":return["&",j.value];case"plain":return Q(j.type,ee.originalText.slice(j.position.start.offset,j.position.end.offset),ee);case"quoteDouble":case"quoteSingle":{let W="'",K='"',de=ee.originalText.slice(j.position.start.offset+1,j.position.end.offset-1);if(j.type==="quoteSingle"&&de.includes("\\")||j.type==="quoteDouble"&&/\\[^"]/.test(de)){let Fe=j.type==="quoteDouble"?K:W;return[Fe,Q(j.type,de,ee),Fe]}if(de.includes(K))return[W,Q(j.type,j.type==="quoteDouble"?de.replace(/\\"/g,K).replace(/'/g,W.repeat(2)):de,ee),W];if(de.includes(W))return[K,Q(j.type,j.type==="quoteSingle"?de.replace(/''/g,W):de,ee),K];let ue=ee.singleQuote?W:K;return[ue,Q(j.type,de,ee),ue]}case"blockFolded":case"blockLiteral":return k(ie,ce,ee);case"mapping":case"sequence":return u(n,ie.map(ce,"children"));case"sequenceItem":return["- ",o(2,j.content?ce("content"):"")];case"mappingKey":case"mappingValue":return j.content?ce("content"):"";case"mappingItem":case"flowMappingItem":return B(j,Y,ie,ce,ee);case"flowMapping":return S(ie,ce,ee);case"flowSequence":return b(ie,ce,ee);case"flowSequenceItem":return ce("content");default:throw new Error(`Unexpected node type ${j.type}`)}}function q(j){return j.body.children.length>0||P(j.body)}function J(j,Y){return I(j)||Y&&(Y.head.children.length>0||P(Y.head))}function L(j,Y,ie,ee){return ie.children[0]===j&&/---(?:\s|$)/.test(ee.originalText.slice(E(j),E(j)+4))||j.head.children.length>0||P(j.head)||I(j.head)?"head":J(j,Y)?!1:Y?"root":!1}function Q(j,Y,ie){let ee=w(j,Y,ie);return u(n,ee.map(ce=>s(d(u(i,ce)))))}function V(j,Y){if(T(Y))switch(delete Y.position,Y.type){case"comment":if(f(Y.value))return null;break;case"quoteDouble":case"quoteSingle":Y.type="quote";break}}r.exports={preprocess:C,embed:_,print:M,massageAstNode:V,insertPragma:c}}}),Lg=te({"src/language-yaml/options.js"(e,r){"use strict";ne();var t=jt();r.exports={bracketSpacing:t.bracketSpacing,singleQuote:t.singleQuote,proseWrap:t.proseWrap}}}),Og=te({"src/language-yaml/parsers.js"(){ne()}}),jg=te({"node_modules/linguist-languages/data/YAML.json"(e,r){r.exports={name:"YAML",type:"data",color:"#cb171e",tmScope:"source.yaml",aliases:["yml"],extensions:[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],filenames:[".clang-format",".clang-tidy",".gemrc","CITATION.cff","glide.lock","yarn.lock"],aceMode:"yaml",codemirrorMode:"yaml",codemirrorMimeType:"text/x-yaml",languageId:407}}}),qg=te({"src/language-yaml/index.js"(e,r){"use strict";ne();var t=wt(),s=kg(),a=Lg(),n=Og(),u=[t(jg(),i=>({since:"1.14.0",parsers:["yaml"],vscodeLanguageIds:["yaml","ansible","home-assistant"],filenames:[...i.filenames.filter(l=>l!=="yarn.lock"),".prettierrc",".stylelintrc",".lintstagedrc"]}))];r.exports={languages:u,printers:{yaml:s},options:a,parsers:n}}}),Mg=te({"src/languages.js"(e,r){"use strict";ne(),r.exports=[vd(),jd(),Gd(),Qd(),ig(),bg(),qg()]}}),Rg=te({"src/standalone.js"(e,r){ne();var{version:t}=xa(),s=Om(),{getSupportInfo:a}=Un(),n=jm(),u=Mg(),i=qe();function l(d){let y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return function(){for(var g=arguments.length,c=new Array(g),f=0;f function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; - -// node_modules/core-js/internals/global.js -var require_global = __commonJS({ - "node_modules/core-js/internals/global.js"(exports2, module2) { - var check = function(it) { - return it && it.Math == Math && it; - }; - module2.exports = check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || check(typeof self == "object" && self) || check(typeof global == "object" && global) || function() { - return this; - }() || Function("return this")(); - } -}); - -// node_modules/core-js/internals/fails.js -var require_fails = __commonJS({ - "node_modules/core-js/internals/fails.js"(exports2, module2) { - module2.exports = function(exec) { - try { - return !!exec(); - } catch (error) { - return true; - } - }; - } -}); - -// node_modules/core-js/internals/descriptors.js -var require_descriptors = __commonJS({ - "node_modules/core-js/internals/descriptors.js"(exports2, module2) { - var fails = require_fails(); - module2.exports = !fails(function() { - return Object.defineProperty({}, 1, { get: function() { - return 7; - } })[1] != 7; - }); - } -}); - -// node_modules/core-js/internals/function-bind-native.js -var require_function_bind_native = __commonJS({ - "node_modules/core-js/internals/function-bind-native.js"(exports2, module2) { - var fails = require_fails(); - module2.exports = !fails(function() { - var test = function() { - }.bind(); - return typeof test != "function" || test.hasOwnProperty("prototype"); - }); - } -}); - -// node_modules/core-js/internals/function-call.js -var require_function_call = __commonJS({ - "node_modules/core-js/internals/function-call.js"(exports2, module2) { - var NATIVE_BIND = require_function_bind_native(); - var call = Function.prototype.call; - module2.exports = NATIVE_BIND ? call.bind(call) : function() { - return call.apply(call, arguments); - }; - } -}); - -// node_modules/core-js/internals/object-property-is-enumerable.js -var require_object_property_is_enumerable = __commonJS({ - "node_modules/core-js/internals/object-property-is-enumerable.js"(exports2) { - "use strict"; - var $propertyIsEnumerable = {}.propertyIsEnumerable; - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); - exports2.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; - } : $propertyIsEnumerable; - } -}); - -// node_modules/core-js/internals/create-property-descriptor.js -var require_create_property_descriptor = __commonJS({ - "node_modules/core-js/internals/create-property-descriptor.js"(exports2, module2) { - module2.exports = function(bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value - }; - }; - } -}); - -// node_modules/core-js/internals/function-uncurry-this.js -var require_function_uncurry_this = __commonJS({ - "node_modules/core-js/internals/function-uncurry-this.js"(exports2, module2) { - var NATIVE_BIND = require_function_bind_native(); - var FunctionPrototype = Function.prototype; - var call = FunctionPrototype.call; - var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); - module2.exports = NATIVE_BIND ? uncurryThisWithBind : function(fn) { - return function() { - return call.apply(fn, arguments); - }; - }; - } -}); - -// node_modules/core-js/internals/classof-raw.js -var require_classof_raw = __commonJS({ - "node_modules/core-js/internals/classof-raw.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var toString = uncurryThis({}.toString); - var stringSlice = uncurryThis("".slice); - module2.exports = function(it) { - return stringSlice(toString(it), 8, -1); - }; - } -}); - -// node_modules/core-js/internals/indexed-object.js -var require_indexed_object = __commonJS({ - "node_modules/core-js/internals/indexed-object.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var fails = require_fails(); - var classof = require_classof_raw(); - var $Object = Object; - var split = uncurryThis("".split); - module2.exports = fails(function() { - return !$Object("z").propertyIsEnumerable(0); - }) ? function(it) { - return classof(it) == "String" ? split(it, "") : $Object(it); - } : $Object; - } -}); - -// node_modules/core-js/internals/is-null-or-undefined.js -var require_is_null_or_undefined = __commonJS({ - "node_modules/core-js/internals/is-null-or-undefined.js"(exports2, module2) { - module2.exports = function(it) { - return it === null || it === void 0; - }; - } -}); - -// node_modules/core-js/internals/require-object-coercible.js -var require_require_object_coercible = __commonJS({ - "node_modules/core-js/internals/require-object-coercible.js"(exports2, module2) { - var isNullOrUndefined = require_is_null_or_undefined(); - var $TypeError = TypeError; - module2.exports = function(it) { - if (isNullOrUndefined(it)) - throw $TypeError("Can't call method on " + it); - return it; - }; - } -}); - -// node_modules/core-js/internals/to-indexed-object.js -var require_to_indexed_object = __commonJS({ - "node_modules/core-js/internals/to-indexed-object.js"(exports2, module2) { - var IndexedObject = require_indexed_object(); - var requireObjectCoercible = require_require_object_coercible(); - module2.exports = function(it) { - return IndexedObject(requireObjectCoercible(it)); - }; - } -}); - -// node_modules/core-js/internals/document-all.js -var require_document_all = __commonJS({ - "node_modules/core-js/internals/document-all.js"(exports2, module2) { - var documentAll = typeof document == "object" && document.all; - var IS_HTMLDDA = typeof documentAll == "undefined" && documentAll !== void 0; - module2.exports = { - all: documentAll, - IS_HTMLDDA - }; - } -}); - -// node_modules/core-js/internals/is-callable.js -var require_is_callable = __commonJS({ - "node_modules/core-js/internals/is-callable.js"(exports2, module2) { - var $documentAll = require_document_all(); - var documentAll = $documentAll.all; - module2.exports = $documentAll.IS_HTMLDDA ? function(argument) { - return typeof argument == "function" || argument === documentAll; - } : function(argument) { - return typeof argument == "function"; - }; - } -}); - -// node_modules/core-js/internals/is-object.js -var require_is_object = __commonJS({ - "node_modules/core-js/internals/is-object.js"(exports2, module2) { - var isCallable = require_is_callable(); - var $documentAll = require_document_all(); - var documentAll = $documentAll.all; - module2.exports = $documentAll.IS_HTMLDDA ? function(it) { - return typeof it == "object" ? it !== null : isCallable(it) || it === documentAll; - } : function(it) { - return typeof it == "object" ? it !== null : isCallable(it); - }; - } -}); - -// node_modules/core-js/internals/get-built-in.js -var require_get_built_in = __commonJS({ - "node_modules/core-js/internals/get-built-in.js"(exports2, module2) { - var global2 = require_global(); - var isCallable = require_is_callable(); - var aFunction = function(argument) { - return isCallable(argument) ? argument : void 0; - }; - module2.exports = function(namespace, method) { - return arguments.length < 2 ? aFunction(global2[namespace]) : global2[namespace] && global2[namespace][method]; - }; - } -}); - -// node_modules/core-js/internals/object-is-prototype-of.js -var require_object_is_prototype_of = __commonJS({ - "node_modules/core-js/internals/object-is-prototype-of.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - module2.exports = uncurryThis({}.isPrototypeOf); - } -}); - -// node_modules/core-js/internals/engine-user-agent.js -var require_engine_user_agent = __commonJS({ - "node_modules/core-js/internals/engine-user-agent.js"(exports2, module2) { - var getBuiltIn = require_get_built_in(); - module2.exports = getBuiltIn("navigator", "userAgent") || ""; - } -}); - -// node_modules/core-js/internals/engine-v8-version.js -var require_engine_v8_version = __commonJS({ - "node_modules/core-js/internals/engine-v8-version.js"(exports2, module2) { - var global2 = require_global(); - var userAgent = require_engine_user_agent(); - var process2 = global2.process; - var Deno = global2.Deno; - var versions = process2 && process2.versions || Deno && Deno.version; - var v8 = versions && versions.v8; - var match; - var version2; - if (v8) { - match = v8.split("."); - version2 = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); - } - if (!version2 && userAgent) { - match = userAgent.match(/Edge\/(\d+)/); - if (!match || match[1] >= 74) { - match = userAgent.match(/Chrome\/(\d+)/); - if (match) - version2 = +match[1]; - } - } - module2.exports = version2; - } -}); - -// node_modules/core-js/internals/symbol-constructor-detection.js -var require_symbol_constructor_detection = __commonJS({ - "node_modules/core-js/internals/symbol-constructor-detection.js"(exports2, module2) { - var V8_VERSION = require_engine_v8_version(); - var fails = require_fails(); - module2.exports = !!Object.getOwnPropertySymbols && !fails(function() { - var symbol = Symbol(); - return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; - }); - } -}); - -// node_modules/core-js/internals/use-symbol-as-uid.js -var require_use_symbol_as_uid = __commonJS({ - "node_modules/core-js/internals/use-symbol-as-uid.js"(exports2, module2) { - var NATIVE_SYMBOL = require_symbol_constructor_detection(); - module2.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == "symbol"; - } -}); - -// node_modules/core-js/internals/is-symbol.js -var require_is_symbol = __commonJS({ - "node_modules/core-js/internals/is-symbol.js"(exports2, module2) { - var getBuiltIn = require_get_built_in(); - var isCallable = require_is_callable(); - var isPrototypeOf = require_object_is_prototype_of(); - var USE_SYMBOL_AS_UID = require_use_symbol_as_uid(); - var $Object = Object; - module2.exports = USE_SYMBOL_AS_UID ? function(it) { - return typeof it == "symbol"; - } : function(it) { - var $Symbol = getBuiltIn("Symbol"); - return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); - }; - } -}); - -// node_modules/core-js/internals/try-to-string.js -var require_try_to_string = __commonJS({ - "node_modules/core-js/internals/try-to-string.js"(exports2, module2) { - var $String = String; - module2.exports = function(argument) { - try { - return $String(argument); - } catch (error) { - return "Object"; - } - }; - } -}); - -// node_modules/core-js/internals/a-callable.js -var require_a_callable = __commonJS({ - "node_modules/core-js/internals/a-callable.js"(exports2, module2) { - var isCallable = require_is_callable(); - var tryToString = require_try_to_string(); - var $TypeError = TypeError; - module2.exports = function(argument) { - if (isCallable(argument)) - return argument; - throw $TypeError(tryToString(argument) + " is not a function"); - }; - } -}); - -// node_modules/core-js/internals/get-method.js -var require_get_method = __commonJS({ - "node_modules/core-js/internals/get-method.js"(exports2, module2) { - var aCallable = require_a_callable(); - var isNullOrUndefined = require_is_null_or_undefined(); - module2.exports = function(V, P) { - var func = V[P]; - return isNullOrUndefined(func) ? void 0 : aCallable(func); - }; - } -}); - -// node_modules/core-js/internals/ordinary-to-primitive.js -var require_ordinary_to_primitive = __commonJS({ - "node_modules/core-js/internals/ordinary-to-primitive.js"(exports2, module2) { - var call = require_function_call(); - var isCallable = require_is_callable(); - var isObject = require_is_object(); - var $TypeError = TypeError; - module2.exports = function(input, pref) { - var fn, val; - if (pref === "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) - return val; - if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) - return val; - if (pref !== "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) - return val; - throw $TypeError("Can't convert object to primitive value"); - }; - } -}); - -// node_modules/core-js/internals/is-pure.js -var require_is_pure = __commonJS({ - "node_modules/core-js/internals/is-pure.js"(exports2, module2) { - module2.exports = false; - } -}); - -// node_modules/core-js/internals/define-global-property.js -var require_define_global_property = __commonJS({ - "node_modules/core-js/internals/define-global-property.js"(exports2, module2) { - var global2 = require_global(); - var defineProperty = Object.defineProperty; - module2.exports = function(key, value) { - try { - defineProperty(global2, key, { value, configurable: true, writable: true }); - } catch (error) { - global2[key] = value; - } - return value; - }; - } -}); - -// node_modules/core-js/internals/shared-store.js -var require_shared_store = __commonJS({ - "node_modules/core-js/internals/shared-store.js"(exports2, module2) { - var global2 = require_global(); - var defineGlobalProperty = require_define_global_property(); - var SHARED = "__core-js_shared__"; - var store = global2[SHARED] || defineGlobalProperty(SHARED, {}); - module2.exports = store; - } -}); - -// node_modules/core-js/internals/shared.js -var require_shared = __commonJS({ - "node_modules/core-js/internals/shared.js"(exports2, module2) { - var IS_PURE = require_is_pure(); - var store = require_shared_store(); - (module2.exports = function(key, value) { - return store[key] || (store[key] = value !== void 0 ? value : {}); - })("versions", []).push({ - version: "3.26.1", - mode: IS_PURE ? "pure" : "global", - copyright: "\xA9 2014-2022 Denis Pushkarev (zloirock.ru)", - license: "https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE", - source: "https://github.com/zloirock/core-js" - }); - } -}); - -// node_modules/core-js/internals/to-object.js -var require_to_object = __commonJS({ - "node_modules/core-js/internals/to-object.js"(exports2, module2) { - var requireObjectCoercible = require_require_object_coercible(); - var $Object = Object; - module2.exports = function(argument) { - return $Object(requireObjectCoercible(argument)); - }; - } -}); - -// node_modules/core-js/internals/has-own-property.js -var require_has_own_property = __commonJS({ - "node_modules/core-js/internals/has-own-property.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var toObject = require_to_object(); - var hasOwnProperty = uncurryThis({}.hasOwnProperty); - module2.exports = Object.hasOwn || function hasOwn(it, key) { - return hasOwnProperty(toObject(it), key); - }; - } -}); - -// node_modules/core-js/internals/uid.js -var require_uid = __commonJS({ - "node_modules/core-js/internals/uid.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var id = 0; - var postfix = Math.random(); - var toString = uncurryThis(1 .toString); - module2.exports = function(key) { - return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36); - }; - } -}); - -// node_modules/core-js/internals/well-known-symbol.js -var require_well_known_symbol = __commonJS({ - "node_modules/core-js/internals/well-known-symbol.js"(exports2, module2) { - var global2 = require_global(); - var shared = require_shared(); - var hasOwn = require_has_own_property(); - var uid = require_uid(); - var NATIVE_SYMBOL = require_symbol_constructor_detection(); - var USE_SYMBOL_AS_UID = require_use_symbol_as_uid(); - var WellKnownSymbolsStore = shared("wks"); - var Symbol2 = global2.Symbol; - var symbolFor = Symbol2 && Symbol2["for"]; - var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2 : Symbol2 && Symbol2.withoutSetter || uid; - module2.exports = function(name) { - if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == "string")) { - var description = "Symbol." + name; - if (NATIVE_SYMBOL && hasOwn(Symbol2, name)) { - WellKnownSymbolsStore[name] = Symbol2[name]; - } else if (USE_SYMBOL_AS_UID && symbolFor) { - WellKnownSymbolsStore[name] = symbolFor(description); - } else { - WellKnownSymbolsStore[name] = createWellKnownSymbol(description); - } - } - return WellKnownSymbolsStore[name]; - }; - } -}); - -// node_modules/core-js/internals/to-primitive.js -var require_to_primitive = __commonJS({ - "node_modules/core-js/internals/to-primitive.js"(exports2, module2) { - var call = require_function_call(); - var isObject = require_is_object(); - var isSymbol = require_is_symbol(); - var getMethod = require_get_method(); - var ordinaryToPrimitive = require_ordinary_to_primitive(); - var wellKnownSymbol = require_well_known_symbol(); - var $TypeError = TypeError; - var TO_PRIMITIVE = wellKnownSymbol("toPrimitive"); - module2.exports = function(input, pref) { - if (!isObject(input) || isSymbol(input)) - return input; - var exoticToPrim = getMethod(input, TO_PRIMITIVE); - var result; - if (exoticToPrim) { - if (pref === void 0) - pref = "default"; - result = call(exoticToPrim, input, pref); - if (!isObject(result) || isSymbol(result)) - return result; - throw $TypeError("Can't convert object to primitive value"); - } - if (pref === void 0) - pref = "number"; - return ordinaryToPrimitive(input, pref); - }; - } -}); - -// node_modules/core-js/internals/to-property-key.js -var require_to_property_key = __commonJS({ - "node_modules/core-js/internals/to-property-key.js"(exports2, module2) { - var toPrimitive = require_to_primitive(); - var isSymbol = require_is_symbol(); - module2.exports = function(argument) { - var key = toPrimitive(argument, "string"); - return isSymbol(key) ? key : key + ""; - }; - } -}); - -// node_modules/core-js/internals/document-create-element.js -var require_document_create_element = __commonJS({ - "node_modules/core-js/internals/document-create-element.js"(exports2, module2) { - var global2 = require_global(); - var isObject = require_is_object(); - var document2 = global2.document; - var EXISTS = isObject(document2) && isObject(document2.createElement); - module2.exports = function(it) { - return EXISTS ? document2.createElement(it) : {}; - }; - } -}); - -// node_modules/core-js/internals/ie8-dom-define.js -var require_ie8_dom_define = __commonJS({ - "node_modules/core-js/internals/ie8-dom-define.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var fails = require_fails(); - var createElement = require_document_create_element(); - module2.exports = !DESCRIPTORS && !fails(function() { - return Object.defineProperty(createElement("div"), "a", { - get: function() { - return 7; - } - }).a != 7; - }); - } -}); - -// node_modules/core-js/internals/object-get-own-property-descriptor.js -var require_object_get_own_property_descriptor = __commonJS({ - "node_modules/core-js/internals/object-get-own-property-descriptor.js"(exports2) { - var DESCRIPTORS = require_descriptors(); - var call = require_function_call(); - var propertyIsEnumerableModule = require_object_property_is_enumerable(); - var createPropertyDescriptor = require_create_property_descriptor(); - var toIndexedObject = require_to_indexed_object(); - var toPropertyKey = require_to_property_key(); - var hasOwn = require_has_own_property(); - var IE8_DOM_DEFINE = require_ie8_dom_define(); - var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - exports2.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPropertyKey(P); - if (IE8_DOM_DEFINE) - try { - return $getOwnPropertyDescriptor(O, P); - } catch (error) { - } - if (hasOwn(O, P)) - return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); - }; - } -}); - -// node_modules/core-js/internals/v8-prototype-define-bug.js -var require_v8_prototype_define_bug = __commonJS({ - "node_modules/core-js/internals/v8-prototype-define-bug.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var fails = require_fails(); - module2.exports = DESCRIPTORS && fails(function() { - return Object.defineProperty(function() { - }, "prototype", { - value: 42, - writable: false - }).prototype != 42; - }); - } -}); - -// node_modules/core-js/internals/an-object.js -var require_an_object = __commonJS({ - "node_modules/core-js/internals/an-object.js"(exports2, module2) { - var isObject = require_is_object(); - var $String = String; - var $TypeError = TypeError; - module2.exports = function(argument) { - if (isObject(argument)) - return argument; - throw $TypeError($String(argument) + " is not an object"); - }; - } -}); - -// node_modules/core-js/internals/object-define-property.js -var require_object_define_property = __commonJS({ - "node_modules/core-js/internals/object-define-property.js"(exports2) { - var DESCRIPTORS = require_descriptors(); - var IE8_DOM_DEFINE = require_ie8_dom_define(); - var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug(); - var anObject = require_an_object(); - var toPropertyKey = require_to_property_key(); - var $TypeError = TypeError; - var $defineProperty = Object.defineProperty; - var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var ENUMERABLE = "enumerable"; - var CONFIGURABLE = "configurable"; - var WRITABLE = "writable"; - exports2.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { - anObject(O); - P = toPropertyKey(P); - anObject(Attributes); - if (typeof O === "function" && P === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { - var current = $getOwnPropertyDescriptor(O, P); - if (current && current[WRITABLE]) { - O[P] = Attributes.value; - Attributes = { - configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], - enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], - writable: false - }; - } - } - return $defineProperty(O, P, Attributes); - } : $defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPropertyKey(P); - anObject(Attributes); - if (IE8_DOM_DEFINE) - try { - return $defineProperty(O, P, Attributes); - } catch (error) { - } - if ("get" in Attributes || "set" in Attributes) - throw $TypeError("Accessors not supported"); - if ("value" in Attributes) - O[P] = Attributes.value; - return O; - }; - } -}); - -// node_modules/core-js/internals/create-non-enumerable-property.js -var require_create_non_enumerable_property = __commonJS({ - "node_modules/core-js/internals/create-non-enumerable-property.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var definePropertyModule = require_object_define_property(); - var createPropertyDescriptor = require_create_property_descriptor(); - module2.exports = DESCRIPTORS ? function(object, key, value) { - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); - } : function(object, key, value) { - object[key] = value; - return object; - }; - } -}); - -// node_modules/core-js/internals/function-name.js -var require_function_name = __commonJS({ - "node_modules/core-js/internals/function-name.js"(exports2, module2) { - var DESCRIPTORS = require_descriptors(); - var hasOwn = require_has_own_property(); - var FunctionPrototype = Function.prototype; - var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; - var EXISTS = hasOwn(FunctionPrototype, "name"); - var PROPER = EXISTS && function something() { - }.name === "something"; - var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, "name").configurable); - module2.exports = { - EXISTS, - PROPER, - CONFIGURABLE - }; - } -}); - -// node_modules/core-js/internals/inspect-source.js -var require_inspect_source = __commonJS({ - "node_modules/core-js/internals/inspect-source.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var isCallable = require_is_callable(); - var store = require_shared_store(); - var functionToString = uncurryThis(Function.toString); - if (!isCallable(store.inspectSource)) { - store.inspectSource = function(it) { - return functionToString(it); - }; - } - module2.exports = store.inspectSource; - } -}); - -// node_modules/core-js/internals/weak-map-basic-detection.js -var require_weak_map_basic_detection = __commonJS({ - "node_modules/core-js/internals/weak-map-basic-detection.js"(exports2, module2) { - var global2 = require_global(); - var isCallable = require_is_callable(); - var WeakMap2 = global2.WeakMap; - module2.exports = isCallable(WeakMap2) && /native code/.test(String(WeakMap2)); - } -}); - -// node_modules/core-js/internals/shared-key.js -var require_shared_key = __commonJS({ - "node_modules/core-js/internals/shared-key.js"(exports2, module2) { - var shared = require_shared(); - var uid = require_uid(); - var keys = shared("keys"); - module2.exports = function(key) { - return keys[key] || (keys[key] = uid(key)); - }; - } -}); - -// node_modules/core-js/internals/hidden-keys.js -var require_hidden_keys = __commonJS({ - "node_modules/core-js/internals/hidden-keys.js"(exports2, module2) { - module2.exports = {}; - } -}); - -// node_modules/core-js/internals/internal-state.js -var require_internal_state = __commonJS({ - "node_modules/core-js/internals/internal-state.js"(exports2, module2) { - var NATIVE_WEAK_MAP = require_weak_map_basic_detection(); - var global2 = require_global(); - var isObject = require_is_object(); - var createNonEnumerableProperty = require_create_non_enumerable_property(); - var hasOwn = require_has_own_property(); - var shared = require_shared_store(); - var sharedKey = require_shared_key(); - var hiddenKeys = require_hidden_keys(); - var OBJECT_ALREADY_INITIALIZED = "Object already initialized"; - var TypeError2 = global2.TypeError; - var WeakMap2 = global2.WeakMap; - var set; - var get; - var has; - var enforce = function(it) { - return has(it) ? get(it) : set(it, {}); - }; - var getterFor = function(TYPE) { - return function(it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError2("Incompatible receiver, " + TYPE + " required"); - } - return state; - }; - }; - if (NATIVE_WEAK_MAP || shared.state) { - store = shared.state || (shared.state = new WeakMap2()); - store.get = store.get; - store.has = store.has; - store.set = store.set; - set = function(it, metadata) { - if (store.has(it)) - throw TypeError2(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it; - store.set(it, metadata); - return metadata; - }; - get = function(it) { - return store.get(it) || {}; - }; - has = function(it) { - return store.has(it); - }; - } else { - STATE = sharedKey("state"); - hiddenKeys[STATE] = true; - set = function(it, metadata) { - if (hasOwn(it, STATE)) - throw TypeError2(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it; - createNonEnumerableProperty(it, STATE, metadata); - return metadata; - }; - get = function(it) { - return hasOwn(it, STATE) ? it[STATE] : {}; - }; - has = function(it) { - return hasOwn(it, STATE); - }; - } - var store; - var STATE; - module2.exports = { - set, - get, - has, - enforce, - getterFor - }; - } -}); - -// node_modules/core-js/internals/make-built-in.js -var require_make_built_in = __commonJS({ - "node_modules/core-js/internals/make-built-in.js"(exports2, module2) { - var fails = require_fails(); - var isCallable = require_is_callable(); - var hasOwn = require_has_own_property(); - var DESCRIPTORS = require_descriptors(); - var CONFIGURABLE_FUNCTION_NAME = require_function_name().CONFIGURABLE; - var inspectSource = require_inspect_source(); - var InternalStateModule = require_internal_state(); - var enforceInternalState = InternalStateModule.enforce; - var getInternalState = InternalStateModule.get; - var defineProperty = Object.defineProperty; - var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function() { - return defineProperty(function() { - }, "length", { value: 8 }).length !== 8; - }); - var TEMPLATE = String(String).split("String"); - var makeBuiltIn = module2.exports = function(value, name, options) { - if (String(name).slice(0, 7) === "Symbol(") { - name = "[" + String(name).replace(/^Symbol\(([^)]*)\)/, "$1") + "]"; - } - if (options && options.getter) - name = "get " + name; - if (options && options.setter) - name = "set " + name; - if (!hasOwn(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { - if (DESCRIPTORS) - defineProperty(value, "name", { value: name, configurable: true }); - else - value.name = name; - } - if (CONFIGURABLE_LENGTH && options && hasOwn(options, "arity") && value.length !== options.arity) { - defineProperty(value, "length", { value: options.arity }); - } - try { - if (options && hasOwn(options, "constructor") && options.constructor) { - if (DESCRIPTORS) - defineProperty(value, "prototype", { writable: false }); - } else if (value.prototype) - value.prototype = void 0; - } catch (error) { - } - var state = enforceInternalState(value); - if (!hasOwn(state, "source")) { - state.source = TEMPLATE.join(typeof name == "string" ? name : ""); - } - return value; - }; - Function.prototype.toString = makeBuiltIn(function toString() { - return isCallable(this) && getInternalState(this).source || inspectSource(this); - }, "toString"); - } -}); - -// node_modules/core-js/internals/define-built-in.js -var require_define_built_in = __commonJS({ - "node_modules/core-js/internals/define-built-in.js"(exports2, module2) { - var isCallable = require_is_callable(); - var definePropertyModule = require_object_define_property(); - var makeBuiltIn = require_make_built_in(); - var defineGlobalProperty = require_define_global_property(); - module2.exports = function(O, key, value, options) { - if (!options) - options = {}; - var simple = options.enumerable; - var name = options.name !== void 0 ? options.name : key; - if (isCallable(value)) - makeBuiltIn(value, name, options); - if (options.global) { - if (simple) - O[key] = value; - else - defineGlobalProperty(key, value); - } else { - try { - if (!options.unsafe) - delete O[key]; - else if (O[key]) - simple = true; - } catch (error) { - } - if (simple) - O[key] = value; - else - definePropertyModule.f(O, key, { - value, - enumerable: false, - configurable: !options.nonConfigurable, - writable: !options.nonWritable - }); - } - return O; - }; - } -}); - -// node_modules/core-js/internals/math-trunc.js -var require_math_trunc = __commonJS({ - "node_modules/core-js/internals/math-trunc.js"(exports2, module2) { - var ceil = Math.ceil; - var floor = Math.floor; - module2.exports = Math.trunc || function trunc(x) { - var n = +x; - return (n > 0 ? floor : ceil)(n); - }; - } -}); - -// node_modules/core-js/internals/to-integer-or-infinity.js -var require_to_integer_or_infinity = __commonJS({ - "node_modules/core-js/internals/to-integer-or-infinity.js"(exports2, module2) { - var trunc = require_math_trunc(); - module2.exports = function(argument) { - var number = +argument; - return number !== number || number === 0 ? 0 : trunc(number); - }; - } -}); - -// node_modules/core-js/internals/to-absolute-index.js -var require_to_absolute_index = __commonJS({ - "node_modules/core-js/internals/to-absolute-index.js"(exports2, module2) { - var toIntegerOrInfinity = require_to_integer_or_infinity(); - var max = Math.max; - var min = Math.min; - module2.exports = function(index, length) { - var integer = toIntegerOrInfinity(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); - }; - } -}); - -// node_modules/core-js/internals/to-length.js -var require_to_length = __commonJS({ - "node_modules/core-js/internals/to-length.js"(exports2, module2) { - var toIntegerOrInfinity = require_to_integer_or_infinity(); - var min = Math.min; - module2.exports = function(argument) { - return argument > 0 ? min(toIntegerOrInfinity(argument), 9007199254740991) : 0; - }; - } -}); - -// node_modules/core-js/internals/length-of-array-like.js -var require_length_of_array_like = __commonJS({ - "node_modules/core-js/internals/length-of-array-like.js"(exports2, module2) { - var toLength = require_to_length(); - module2.exports = function(obj) { - return toLength(obj.length); - }; - } -}); - -// node_modules/core-js/internals/array-includes.js -var require_array_includes = __commonJS({ - "node_modules/core-js/internals/array-includes.js"(exports2, module2) { - var toIndexedObject = require_to_indexed_object(); - var toAbsoluteIndex = require_to_absolute_index(); - var lengthOfArrayLike = require_length_of_array_like(); - var createMethod = function(IS_INCLUDES) { - return function($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = lengthOfArrayLike(O); - var index = toAbsoluteIndex(fromIndex, length); - var value; - if (IS_INCLUDES && el != el) - while (length > index) { - value = O[index++]; - if (value != value) - return true; - } - else - for (; length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) - return IS_INCLUDES || index || 0; - } - return !IS_INCLUDES && -1; - }; - }; - module2.exports = { - includes: createMethod(true), - indexOf: createMethod(false) - }; - } -}); - -// node_modules/core-js/internals/object-keys-internal.js -var require_object_keys_internal = __commonJS({ - "node_modules/core-js/internals/object-keys-internal.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var hasOwn = require_has_own_property(); - var toIndexedObject = require_to_indexed_object(); - var indexOf = require_array_includes().indexOf; - var hiddenKeys = require_hidden_keys(); - var push = uncurryThis([].push); - module2.exports = function(object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - for (key in O) - !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); - while (names.length > i) - if (hasOwn(O, key = names[i++])) { - ~indexOf(result, key) || push(result, key); - } - return result; - }; - } -}); - -// node_modules/core-js/internals/enum-bug-keys.js -var require_enum_bug_keys = __commonJS({ - "node_modules/core-js/internals/enum-bug-keys.js"(exports2, module2) { - module2.exports = [ - "constructor", - "hasOwnProperty", - "isPrototypeOf", - "propertyIsEnumerable", - "toLocaleString", - "toString", - "valueOf" - ]; - } -}); - -// node_modules/core-js/internals/object-get-own-property-names.js -var require_object_get_own_property_names = __commonJS({ - "node_modules/core-js/internals/object-get-own-property-names.js"(exports2) { - var internalObjectKeys = require_object_keys_internal(); - var enumBugKeys = require_enum_bug_keys(); - var hiddenKeys = enumBugKeys.concat("length", "prototype"); - exports2.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); - }; - } -}); - -// node_modules/core-js/internals/object-get-own-property-symbols.js -var require_object_get_own_property_symbols = __commonJS({ - "node_modules/core-js/internals/object-get-own-property-symbols.js"(exports2) { - exports2.f = Object.getOwnPropertySymbols; - } -}); - -// node_modules/core-js/internals/own-keys.js -var require_own_keys = __commonJS({ - "node_modules/core-js/internals/own-keys.js"(exports2, module2) { - var getBuiltIn = require_get_built_in(); - var uncurryThis = require_function_uncurry_this(); - var getOwnPropertyNamesModule = require_object_get_own_property_names(); - var getOwnPropertySymbolsModule = require_object_get_own_property_symbols(); - var anObject = require_an_object(); - var concat = uncurryThis([].concat); - module2.exports = getBuiltIn("Reflect", "ownKeys") || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; - }; - } -}); - -// node_modules/core-js/internals/copy-constructor-properties.js -var require_copy_constructor_properties = __commonJS({ - "node_modules/core-js/internals/copy-constructor-properties.js"(exports2, module2) { - var hasOwn = require_has_own_property(); - var ownKeys = require_own_keys(); - var getOwnPropertyDescriptorModule = require_object_get_own_property_descriptor(); - var definePropertyModule = require_object_define_property(); - module2.exports = function(target, source, exceptions) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { - defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } - } - }; - } -}); - -// node_modules/core-js/internals/is-forced.js -var require_is_forced = __commonJS({ - "node_modules/core-js/internals/is-forced.js"(exports2, module2) { - var fails = require_fails(); - var isCallable = require_is_callable(); - var replacement = /#|\.prototype\./; - var isForced = function(feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; - }; - var normalize = isForced.normalize = function(string) { - return String(string).replace(replacement, ".").toLowerCase(); - }; - var data = isForced.data = {}; - var NATIVE = isForced.NATIVE = "N"; - var POLYFILL = isForced.POLYFILL = "P"; - module2.exports = isForced; - } -}); - -// node_modules/core-js/internals/export.js -var require_export = __commonJS({ - "node_modules/core-js/internals/export.js"(exports2, module2) { - var global2 = require_global(); - var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f; - var createNonEnumerableProperty = require_create_non_enumerable_property(); - var defineBuiltIn = require_define_built_in(); - var defineGlobalProperty = require_define_global_property(); - var copyConstructorProperties = require_copy_constructor_properties(); - var isForced = require_is_forced(); - module2.exports = function(options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global2; - } else if (STATIC) { - target = global2[TARGET] || defineGlobalProperty(TARGET, {}); - } else { - target = (global2[TARGET] || {}).prototype; - } - if (target) - for (key in source) { - sourceProperty = source[key]; - if (options.dontCallGetSet) { - descriptor = getOwnPropertyDescriptor(target, key); - targetProperty = descriptor && descriptor.value; - } else - targetProperty = target[key]; - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced); - if (!FORCED && targetProperty !== void 0) { - if (typeof sourceProperty == typeof targetProperty) - continue; - copyConstructorProperties(sourceProperty, targetProperty); - } - if (options.sham || targetProperty && targetProperty.sham) { - createNonEnumerableProperty(sourceProperty, "sham", true); - } - defineBuiltIn(target, key, sourceProperty, options); - } - }; - } -}); - -// node_modules/core-js/internals/is-array.js -var require_is_array = __commonJS({ - "node_modules/core-js/internals/is-array.js"(exports2, module2) { - var classof = require_classof_raw(); - module2.exports = Array.isArray || function isArray(argument) { - return classof(argument) == "Array"; - }; - } -}); - -// node_modules/core-js/internals/does-not-exceed-safe-integer.js -var require_does_not_exceed_safe_integer = __commonJS({ - "node_modules/core-js/internals/does-not-exceed-safe-integer.js"(exports2, module2) { - var $TypeError = TypeError; - var MAX_SAFE_INTEGER = 9007199254740991; - module2.exports = function(it) { - if (it > MAX_SAFE_INTEGER) - throw $TypeError("Maximum allowed index exceeded"); - return it; - }; - } -}); - -// node_modules/core-js/internals/function-uncurry-this-clause.js -var require_function_uncurry_this_clause = __commonJS({ - "node_modules/core-js/internals/function-uncurry-this-clause.js"(exports2, module2) { - var classofRaw = require_classof_raw(); - var uncurryThis = require_function_uncurry_this(); - module2.exports = function(fn) { - if (classofRaw(fn) === "Function") - return uncurryThis(fn); - }; - } -}); - -// node_modules/core-js/internals/function-bind-context.js -var require_function_bind_context = __commonJS({ - "node_modules/core-js/internals/function-bind-context.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this_clause(); - var aCallable = require_a_callable(); - var NATIVE_BIND = require_function_bind_native(); - var bind = uncurryThis(uncurryThis.bind); - module2.exports = function(fn, that) { - aCallable(fn); - return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() { - return fn.apply(that, arguments); - }; - }; - } -}); - -// node_modules/core-js/internals/flatten-into-array.js -var require_flatten_into_array = __commonJS({ - "node_modules/core-js/internals/flatten-into-array.js"(exports2, module2) { - "use strict"; - var isArray = require_is_array(); - var lengthOfArrayLike = require_length_of_array_like(); - var doesNotExceedSafeInteger = require_does_not_exceed_safe_integer(); - var bind = require_function_bind_context(); - var flattenIntoArray = function(target, original, source, sourceLen, start, depth, mapper, thisArg) { - var targetIndex = start; - var sourceIndex = 0; - var mapFn = mapper ? bind(mapper, thisArg) : false; - var element, elementLen; - while (sourceIndex < sourceLen) { - if (sourceIndex in source) { - element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; - if (depth > 0 && isArray(element)) { - elementLen = lengthOfArrayLike(element); - targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; - } else { - doesNotExceedSafeInteger(targetIndex + 1); - target[targetIndex] = element; - } - targetIndex++; - } - sourceIndex++; - } - return targetIndex; - }; - module2.exports = flattenIntoArray; - } -}); - -// node_modules/core-js/internals/to-string-tag-support.js -var require_to_string_tag_support = __commonJS({ - "node_modules/core-js/internals/to-string-tag-support.js"(exports2, module2) { - var wellKnownSymbol = require_well_known_symbol(); - var TO_STRING_TAG = wellKnownSymbol("toStringTag"); - var test = {}; - test[TO_STRING_TAG] = "z"; - module2.exports = String(test) === "[object z]"; - } -}); - -// node_modules/core-js/internals/classof.js -var require_classof = __commonJS({ - "node_modules/core-js/internals/classof.js"(exports2, module2) { - var TO_STRING_TAG_SUPPORT = require_to_string_tag_support(); - var isCallable = require_is_callable(); - var classofRaw = require_classof_raw(); - var wellKnownSymbol = require_well_known_symbol(); - var TO_STRING_TAG = wellKnownSymbol("toStringTag"); - var $Object = Object; - var CORRECT_ARGUMENTS = classofRaw(function() { - return arguments; - }()) == "Arguments"; - var tryGet = function(it, key) { - try { - return it[key]; - } catch (error) { - } - }; - module2.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) { - var O, tag, result; - return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == "Object" && isCallable(O.callee) ? "Arguments" : result; - }; - } -}); - -// node_modules/core-js/internals/is-constructor.js -var require_is_constructor = __commonJS({ - "node_modules/core-js/internals/is-constructor.js"(exports2, module2) { - var uncurryThis = require_function_uncurry_this(); - var fails = require_fails(); - var isCallable = require_is_callable(); - var classof = require_classof(); - var getBuiltIn = require_get_built_in(); - var inspectSource = require_inspect_source(); - var noop = function() { - }; - var empty = []; - var construct = getBuiltIn("Reflect", "construct"); - var constructorRegExp = /^\s*(?:class|function)\b/; - var exec = uncurryThis(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); - var isConstructorModern = function isConstructor(argument) { - if (!isCallable(argument)) - return false; - try { - construct(noop, empty, argument); - return true; - } catch (error) { - return false; - } - }; - var isConstructorLegacy = function isConstructor(argument) { - if (!isCallable(argument)) - return false; - switch (classof(argument)) { - case "AsyncFunction": - case "GeneratorFunction": - case "AsyncGeneratorFunction": - return false; - } - try { - return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); - } catch (error) { - return true; - } - }; - isConstructorLegacy.sham = true; - module2.exports = !construct || fails(function() { - var called; - return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() { - called = true; - }) || called; - }) ? isConstructorLegacy : isConstructorModern; - } -}); - -// node_modules/core-js/internals/array-species-constructor.js -var require_array_species_constructor = __commonJS({ - "node_modules/core-js/internals/array-species-constructor.js"(exports2, module2) { - var isArray = require_is_array(); - var isConstructor = require_is_constructor(); - var isObject = require_is_object(); - var wellKnownSymbol = require_well_known_symbol(); - var SPECIES = wellKnownSymbol("species"); - var $Array = Array; - module2.exports = function(originalArray) { - var C; - if (isArray(originalArray)) { - C = originalArray.constructor; - if (isConstructor(C) && (C === $Array || isArray(C.prototype))) - C = void 0; - else if (isObject(C)) { - C = C[SPECIES]; - if (C === null) - C = void 0; - } - } - return C === void 0 ? $Array : C; - }; - } -}); - -// node_modules/core-js/internals/array-species-create.js -var require_array_species_create = __commonJS({ - "node_modules/core-js/internals/array-species-create.js"(exports2, module2) { - var arraySpeciesConstructor = require_array_species_constructor(); - module2.exports = function(originalArray, length) { - return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); - }; - } -}); - -// node_modules/core-js/modules/es.array.flat-map.js -var require_es_array_flat_map = __commonJS({ - "node_modules/core-js/modules/es.array.flat-map.js"() { - "use strict"; - var $ = require_export(); - var flattenIntoArray = require_flatten_into_array(); - var aCallable = require_a_callable(); - var toObject = require_to_object(); - var lengthOfArrayLike = require_length_of_array_like(); - var arraySpeciesCreate = require_array_species_create(); - $({ target: "Array", proto: true }, { - flatMap: function flatMap(callbackfn) { - var O = toObject(this); - var sourceLen = lengthOfArrayLike(O); - var A; - aCallable(callbackfn); - A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : void 0); - return A; - } - }); - } -}); - -// node_modules/core-js/internals/iterators.js -var require_iterators = __commonJS({ - "node_modules/core-js/internals/iterators.js"(exports2, module2) { - module2.exports = {}; - } -}); - -// node_modules/core-js/internals/is-array-iterator-method.js -var require_is_array_iterator_method = __commonJS({ - "node_modules/core-js/internals/is-array-iterator-method.js"(exports2, module2) { - var wellKnownSymbol = require_well_known_symbol(); - var Iterators = require_iterators(); - var ITERATOR = wellKnownSymbol("iterator"); - var ArrayPrototype = Array.prototype; - module2.exports = function(it) { - return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); - }; - } -}); - -// node_modules/core-js/internals/get-iterator-method.js -var require_get_iterator_method = __commonJS({ - "node_modules/core-js/internals/get-iterator-method.js"(exports2, module2) { - var classof = require_classof(); - var getMethod = require_get_method(); - var isNullOrUndefined = require_is_null_or_undefined(); - var Iterators = require_iterators(); - var wellKnownSymbol = require_well_known_symbol(); - var ITERATOR = wellKnownSymbol("iterator"); - module2.exports = function(it) { - if (!isNullOrUndefined(it)) - return getMethod(it, ITERATOR) || getMethod(it, "@@iterator") || Iterators[classof(it)]; - }; - } -}); - -// node_modules/core-js/internals/get-iterator.js -var require_get_iterator = __commonJS({ - "node_modules/core-js/internals/get-iterator.js"(exports2, module2) { - var call = require_function_call(); - var aCallable = require_a_callable(); - var anObject = require_an_object(); - var tryToString = require_try_to_string(); - var getIteratorMethod = require_get_iterator_method(); - var $TypeError = TypeError; - module2.exports = function(argument, usingIterator) { - var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; - if (aCallable(iteratorMethod)) - return anObject(call(iteratorMethod, argument)); - throw $TypeError(tryToString(argument) + " is not iterable"); - }; - } -}); - -// node_modules/core-js/internals/iterator-close.js -var require_iterator_close = __commonJS({ - "node_modules/core-js/internals/iterator-close.js"(exports2, module2) { - var call = require_function_call(); - var anObject = require_an_object(); - var getMethod = require_get_method(); - module2.exports = function(iterator, kind, value) { - var innerResult, innerError; - anObject(iterator); - try { - innerResult = getMethod(iterator, "return"); - if (!innerResult) { - if (kind === "throw") - throw value; - return value; - } - innerResult = call(innerResult, iterator); - } catch (error) { - innerError = true; - innerResult = error; - } - if (kind === "throw") - throw value; - if (innerError) - throw innerResult; - anObject(innerResult); - return value; - }; - } -}); - -// node_modules/core-js/internals/iterate.js -var require_iterate = __commonJS({ - "node_modules/core-js/internals/iterate.js"(exports2, module2) { - var bind = require_function_bind_context(); - var call = require_function_call(); - var anObject = require_an_object(); - var tryToString = require_try_to_string(); - var isArrayIteratorMethod = require_is_array_iterator_method(); - var lengthOfArrayLike = require_length_of_array_like(); - var isPrototypeOf = require_object_is_prototype_of(); - var getIterator = require_get_iterator(); - var getIteratorMethod = require_get_iterator_method(); - var iteratorClose = require_iterator_close(); - var $TypeError = TypeError; - var Result = function(stopped, result) { - this.stopped = stopped; - this.result = result; - }; - var ResultPrototype = Result.prototype; - module2.exports = function(iterable, unboundFunction, options) { - var that = options && options.that; - var AS_ENTRIES = !!(options && options.AS_ENTRIES); - var IS_RECORD = !!(options && options.IS_RECORD); - var IS_ITERATOR = !!(options && options.IS_ITERATOR); - var INTERRUPTED = !!(options && options.INTERRUPTED); - var fn = bind(unboundFunction, that); - var iterator, iterFn, index, length, result, next, step; - var stop = function(condition) { - if (iterator) - iteratorClose(iterator, "normal", condition); - return new Result(true, condition); - }; - var callFn = function(value) { - if (AS_ENTRIES) { - anObject(value); - return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); - } - return INTERRUPTED ? fn(value, stop) : fn(value); - }; - if (IS_RECORD) { - iterator = iterable.iterator; - } else if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (!iterFn) - throw $TypeError(tryToString(iterable) + " is not iterable"); - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { - result = callFn(iterable[index]); - if (result && isPrototypeOf(ResultPrototype, result)) - return result; - } - return new Result(false); - } - iterator = getIterator(iterable, iterFn); - } - next = IS_RECORD ? iterable.next : iterator.next; - while (!(step = call(next, iterator)).done) { - try { - result = callFn(step.value); - } catch (error) { - iteratorClose(iterator, "throw", error); - } - if (typeof result == "object" && result && isPrototypeOf(ResultPrototype, result)) - return result; - } - return new Result(false); - }; - } -}); - -// node_modules/core-js/internals/create-property.js -var require_create_property = __commonJS({ - "node_modules/core-js/internals/create-property.js"(exports2, module2) { - "use strict"; - var toPropertyKey = require_to_property_key(); - var definePropertyModule = require_object_define_property(); - var createPropertyDescriptor = require_create_property_descriptor(); - module2.exports = function(object, key, value) { - var propertyKey = toPropertyKey(key); - if (propertyKey in object) - definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); - else - object[propertyKey] = value; - }; - } -}); - -// node_modules/core-js/modules/es.object.from-entries.js -var require_es_object_from_entries = __commonJS({ - "node_modules/core-js/modules/es.object.from-entries.js"() { - var $ = require_export(); - var iterate = require_iterate(); - var createProperty = require_create_property(); - $({ target: "Object", stat: true }, { - fromEntries: function fromEntries(iterable) { - var obj = {}; - iterate(iterable, function(k, v) { - createProperty(obj, k, v); - }, { AS_ENTRIES: true }); - return obj; - } - }); - } -}); - -// node_modules/core-js/internals/define-built-in-accessor.js -var require_define_built_in_accessor = __commonJS({ - "node_modules/core-js/internals/define-built-in-accessor.js"(exports2, module2) { - var makeBuiltIn = require_make_built_in(); - var defineProperty = require_object_define_property(); - module2.exports = function(target, name, descriptor) { - if (descriptor.get) - makeBuiltIn(descriptor.get, name, { getter: true }); - if (descriptor.set) - makeBuiltIn(descriptor.set, name, { setter: true }); - return defineProperty.f(target, name, descriptor); - }; - } -}); - -// node_modules/core-js/internals/regexp-flags.js -var require_regexp_flags = __commonJS({ - "node_modules/core-js/internals/regexp-flags.js"(exports2, module2) { - "use strict"; - var anObject = require_an_object(); - module2.exports = function() { - var that = anObject(this); - var result = ""; - if (that.hasIndices) - result += "d"; - if (that.global) - result += "g"; - if (that.ignoreCase) - result += "i"; - if (that.multiline) - result += "m"; - if (that.dotAll) - result += "s"; - if (that.unicode) - result += "u"; - if (that.unicodeSets) - result += "v"; - if (that.sticky) - result += "y"; - return result; - }; - } -}); - -// node_modules/core-js/modules/es.regexp.flags.js -var require_es_regexp_flags = __commonJS({ - "node_modules/core-js/modules/es.regexp.flags.js"() { - var global2 = require_global(); - var DESCRIPTORS = require_descriptors(); - var defineBuiltInAccessor = require_define_built_in_accessor(); - var regExpFlags = require_regexp_flags(); - var fails = require_fails(); - var RegExp2 = global2.RegExp; - var RegExpPrototype = RegExp2.prototype; - var FORCED = DESCRIPTORS && fails(function() { - var INDICES_SUPPORT = true; - try { - RegExp2(".", "d"); - } catch (error) { - INDICES_SUPPORT = false; - } - var O = {}; - var calls = ""; - var expected = INDICES_SUPPORT ? "dgimsy" : "gimsy"; - var addGetter = function(key2, chr) { - Object.defineProperty(O, key2, { get: function() { - calls += chr; - return true; - } }); - }; - var pairs = { - dotAll: "s", - global: "g", - ignoreCase: "i", - multiline: "m", - sticky: "y" - }; - if (INDICES_SUPPORT) - pairs.hasIndices = "d"; - for (var key in pairs) - addGetter(key, pairs[key]); - var result = Object.getOwnPropertyDescriptor(RegExpPrototype, "flags").get.call(O); - return result !== expected || calls !== expected; - }); - if (FORCED) - defineBuiltInAccessor(RegExpPrototype, "flags", { - configurable: true, - get: regExpFlags - }); - } -}); - -// node_modules/core-js/modules/es.array.flat.js -var require_es_array_flat = __commonJS({ - "node_modules/core-js/modules/es.array.flat.js"() { - "use strict"; - var $ = require_export(); - var flattenIntoArray = require_flatten_into_array(); - var toObject = require_to_object(); - var lengthOfArrayLike = require_length_of_array_like(); - var toIntegerOrInfinity = require_to_integer_or_infinity(); - var arraySpeciesCreate = require_array_species_create(); - $({ target: "Array", proto: true }, { - flat: function flat() { - var depthArg = arguments.length ? arguments[0] : void 0; - var O = toObject(this); - var sourceLen = lengthOfArrayLike(O); - var A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === void 0 ? 1 : toIntegerOrInfinity(depthArg)); - return A; - } - }); - } -}); - -// dist/_index.js.cjs.js -var _excluded = ["cliName", "cliCategory", "cliDescription"]; -var _excluded2 = ["_"]; -var _excluded3 = ["overrides"]; -var _excluded4 = ["languageId"]; -function _objectWithoutProperties(source, excluded) { - if (source == null) - return {}; - var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i; - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) - continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) - continue; - target[key] = source[key]; - } - } - return target; -} -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) - return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) - continue; - target[key] = source[key]; - } - return target; -} -require_es_array_flat_map(); -require_es_object_from_entries(); -require_es_regexp_flags(); -require_es_array_flat(); -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames2 = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res; -}; -var __commonJS2 = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { - exports: {} - }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { - get: all[name], - enumerable: true - }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { - get: () => from[key], - enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable - }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { - value: mod, - enumerable: true -}) : target, mod)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { - value: true -}), mod); -var require_base = __commonJS2({ - "node_modules/diff/lib/diff/base.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2["default"] = Diff; - function Diff() { - } - Diff.prototype = { - diff: function diff(oldString, newString) { - var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - var callback = options.callback; - if (typeof options === "function") { - callback = options; - options = {}; - } - this.options = options; - var self2 = this; - function done(value) { - if (callback) { - setTimeout(function() { - callback(void 0, value); - }, 0); - return true; - } else { - return value; - } - } - oldString = this.castInput(oldString); - newString = this.castInput(newString); - oldString = this.removeEmpty(this.tokenize(oldString)); - newString = this.removeEmpty(this.tokenize(newString)); - var newLen = newString.length, oldLen = oldString.length; - var editLength = 1; - var maxEditLength = newLen + oldLen; - var bestPath = [{ - newPos: -1, - components: [] - }]; - var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); - if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { - return done([{ - value: this.join(newString), - count: newString.length - }]); - } - function execEditLength() { - for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { - var basePath = void 0; - var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; - if (addPath) { - bestPath[diagonalPath - 1] = void 0; - } - var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; - if (!canAdd && !canRemove) { - bestPath[diagonalPath] = void 0; - continue; - } - if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { - basePath = clonePath(removePath); - self2.pushComponent(basePath.components, void 0, true); - } else { - basePath = addPath; - basePath.newPos++; - self2.pushComponent(basePath.components, true, void 0); - } - _oldPos = self2.extractCommon(basePath, newString, oldString, diagonalPath); - if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { - return done(buildValues(self2, basePath.components, newString, oldString, self2.useLongestToken)); - } else { - bestPath[diagonalPath] = basePath; - } - } - editLength++; - } - if (callback) { - (function exec() { - setTimeout(function() { - if (editLength > maxEditLength) { - return callback(); - } - if (!execEditLength()) { - exec(); - } - }, 0); - })(); - } else { - while (editLength <= maxEditLength) { - var ret = execEditLength(); - if (ret) { - return ret; - } - } - } - }, - pushComponent: function pushComponent(components, added, removed) { - var last = components[components.length - 1]; - if (last && last.added === added && last.removed === removed) { - components[components.length - 1] = { - count: last.count + 1, - added, - removed - }; - } else { - components.push({ - count: 1, - added, - removed - }); - } - }, - extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { - var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0; - while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { - newPos++; - oldPos++; - commonCount++; - } - if (commonCount) { - basePath.components.push({ - count: commonCount - }); - } - basePath.newPos = newPos; - return oldPos; - }, - equals: function equals(left, right) { - if (this.options.comparator) { - return this.options.comparator(left, right); - } else { - return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); - } - }, - removeEmpty: function removeEmpty(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - if (array[i]) { - ret.push(array[i]); - } - } - return ret; - }, - castInput: function castInput(value) { - return value; - }, - tokenize: function tokenize(value) { - return value.split(""); - }, - join: function join(chars) { - return chars.join(""); - } - }; - function buildValues(diff, components, newString, oldString, useLongestToken) { - var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0; - for (; componentPos < componentLen; componentPos++) { - var component = components[componentPos]; - if (!component.removed) { - if (!component.added && useLongestToken) { - var value = newString.slice(newPos, newPos + component.count); - value = value.map(function(value2, i) { - var oldValue = oldString[oldPos + i]; - return oldValue.length > value2.length ? oldValue : value2; - }); - component.value = diff.join(value); - } else { - component.value = diff.join(newString.slice(newPos, newPos + component.count)); - } - newPos += component.count; - if (!component.added) { - oldPos += component.count; - } - } else { - component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); - oldPos += component.count; - if (componentPos && components[componentPos - 1].added) { - var tmp = components[componentPos - 1]; - components[componentPos - 1] = components[componentPos]; - components[componentPos] = tmp; - } - } - } - var lastComponent = components[componentLen - 1]; - if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) { - components[componentLen - 2].value += lastComponent.value; - components.pop(); - } - return components; - } - function clonePath(path) { - return { - newPos: path.newPos, - components: path.components.slice(0) - }; - } - } -}); -var require_array = __commonJS2({ - "node_modules/diff/lib/diff/array.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.diffArrays = diffArrays; - exports2.arrayDiff = void 0; - var _base = _interopRequireDefault(require_base()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - "default": obj - }; - } - var arrayDiff = new _base["default"](); - exports2.arrayDiff = arrayDiff; - arrayDiff.tokenize = function(value) { - return value.slice(); - }; - arrayDiff.join = arrayDiff.removeEmpty = function(value) { - return value; - }; - function diffArrays(oldArr, newArr, callback) { - return arrayDiff.diff(oldArr, newArr, callback); - } - } -}); -var escape_string_regexp_exports = {}; -__export(escape_string_regexp_exports, { - default: () => escapeStringRegexp -}); -function escapeStringRegexp(string) { - if (typeof string !== "string") { - throw new TypeError("Expected a string"); - } - return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d"); -} -var init_escape_string_regexp = __esm({ - "node_modules/escape-string-regexp/index.js"() { - } -}); -var require_get_last = __commonJS2({ - "src/utils/get-last.js"(exports2, module2) { - "use strict"; - var getLast = (arr) => arr[arr.length - 1]; - module2.exports = getLast; - } -}); -var require_debug = __commonJS2({ - "node_modules/semver/internal/debug.js"(exports2, module2) { - var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { - }; - module2.exports = debug; - } -}); -var require_constants = __commonJS2({ - "node_modules/semver/internal/constants.js"(exports2, module2) { - var SEMVER_SPEC_VERSION = "2.0.0"; - var MAX_LENGTH = 256; - var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - var MAX_SAFE_COMPONENT_LENGTH = 16; - module2.exports = { - SEMVER_SPEC_VERSION, - MAX_LENGTH, - MAX_SAFE_INTEGER, - MAX_SAFE_COMPONENT_LENGTH - }; - } -}); -var require_re = __commonJS2({ - "node_modules/semver/internal/re.js"(exports2, module2) { - var { - MAX_SAFE_COMPONENT_LENGTH - } = require_constants(); - var debug = require_debug(); - exports2 = module2.exports = {}; - var re = exports2.re = []; - var src = exports2.src = []; - var t = exports2.t = {}; - var R = 0; - var createToken = (name, value, isGlobal) => { - const index = R++; - debug(name, index, value); - t[name] = index; - src[index] = value; - re[index] = new RegExp(value, isGlobal ? "g" : void 0); - }; - createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); - createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+"); - createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*"); - createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`); - createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`); - createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); - createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); - createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+"); - createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); - createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); - createToken("FULL", `^${src[t.FULLPLAIN]}$`); - createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); - createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`); - createToken("GTLT", "((?:<|>)?=?)"); - createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); - createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); - createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); - createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COERCE", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:$|[^\\d])`); - createToken("COERCERTL", src[t.COERCE], true); - createToken("LONETILDE", "(?:~>?)"); - createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true); - exports2.tildeTrimReplace = "$1~"; - createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); - createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("LONECARET", "(?:\\^)"); - createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true); - exports2.caretTrimReplace = "$1^"; - createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); - createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); - createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); - createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); - exports2.comparatorTrimReplace = "$1$2$3"; - createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`); - createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`); - createToken("STAR", "(<|>)?=?\\s*\\*"); - createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); - createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); - } -}); -var require_parse_options = __commonJS2({ - "node_modules/semver/internal/parse-options.js"(exports2, module2) { - var opts = ["includePrerelease", "loose", "rtl"]; - var parseOptions = (options) => !options ? {} : typeof options !== "object" ? { - loose: true - } : opts.filter((k) => options[k]).reduce((o, k) => { - o[k] = true; - return o; - }, {}); - module2.exports = parseOptions; - } -}); -var require_identifiers = __commonJS2({ - "node_modules/semver/internal/identifiers.js"(exports2, module2) { - var numeric = /^[0-9]+$/; - var compareIdentifiers = (a, b) => { - const anum = numeric.test(a); - const bnum = numeric.test(b); - if (anum && bnum) { - a = +a; - b = +b; - } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; - }; - var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); - module2.exports = { - compareIdentifiers, - rcompareIdentifiers - }; - } -}); -var require_semver = __commonJS2({ - "node_modules/semver/classes/semver.js"(exports2, module2) { - var debug = require_debug(); - var { - MAX_LENGTH, - MAX_SAFE_INTEGER - } = require_constants(); - var { - re, - t - } = require_re(); - var parseOptions = require_parse_options(); - var { - compareIdentifiers - } = require_identifiers(); - var SemVer = class { - constructor(version2, options) { - options = parseOptions(options); - if (version2 instanceof SemVer) { - if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) { - return version2; - } else { - version2 = version2.version; - } - } else if (typeof version2 !== "string") { - throw new TypeError(`Invalid Version: ${version2}`); - } - if (version2.length > MAX_LENGTH) { - throw new TypeError(`version is longer than ${MAX_LENGTH} characters`); - } - debug("SemVer", version2, options); - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); - if (!m) { - throw new TypeError(`Invalid Version: ${version2}`); - } - this.raw = version2; - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError("Invalid major version"); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError("Invalid minor version"); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError("Invalid patch version"); - } - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split(".").map((id) => { - if (/^[0-9]+$/.test(id)) { - const num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id; - }); - } - this.build = m[5] ? m[5].split(".") : []; - this.format(); - } - format() { - this.version = `${this.major}.${this.minor}.${this.patch}`; - if (this.prerelease.length) { - this.version += `-${this.prerelease.join(".")}`; - } - return this.version; - } - toString() { - return this.version; - } - compare(other) { - debug("SemVer.compare", this.version, this.options, other); - if (!(other instanceof SemVer)) { - if (typeof other === "string" && other === this.version) { - return 0; - } - other = new SemVer(other, this.options); - } - if (other.version === this.version) { - return 0; - } - return this.compareMain(other) || this.comparePre(other); - } - compareMain(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); - } - comparePre(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - let i = 0; - do { - const a = this.prerelease[i]; - const b = other.prerelease[i]; - debug("prerelease compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - compareBuild(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - let i = 0; - do { - const a = this.build[i]; - const b = other.build[i]; - debug("prerelease compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - inc(release, identifier) { - switch (release) { - case "premajor": - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc("pre", identifier); - break; - case "preminor": - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc("pre", identifier); - break; - case "prepatch": - this.prerelease.length = 0; - this.inc("patch", identifier); - this.inc("pre", identifier); - break; - case "prerelease": - if (this.prerelease.length === 0) { - this.inc("patch", identifier); - } - this.inc("pre", identifier); - break; - case "major": - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case "minor": - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case "patch": - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - case "pre": - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - let i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === "number") { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) { - this.prerelease.push(0); - } - } - if (identifier) { - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - break; - default: - throw new Error(`invalid increment argument: ${release}`); - } - this.format(); - this.raw = this.version; - return this; - } - }; - module2.exports = SemVer; - } -}); -var require_compare = __commonJS2({ - "node_modules/semver/functions/compare.js"(exports2, module2) { - var SemVer = require_semver(); - var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); - module2.exports = compare; - } -}); -var require_lt = __commonJS2({ - "node_modules/semver/functions/lt.js"(exports2, module2) { - var compare = require_compare(); - var lt = (a, b, loose) => compare(a, b, loose) < 0; - module2.exports = lt; - } -}); -var require_gte = __commonJS2({ - "node_modules/semver/functions/gte.js"(exports2, module2) { - var compare = require_compare(); - var gte = (a, b, loose) => compare(a, b, loose) >= 0; - module2.exports = gte; - } -}); -var require_arrayify = __commonJS2({ - "src/utils/arrayify.js"(exports2, module2) { - "use strict"; - module2.exports = (object, keyName) => Object.entries(object).map(([key, value]) => Object.assign({ - [keyName]: key - }, value)); - } -}); -var require_lib = __commonJS2({ - "node_modules/outdent/lib/index.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.outdent = void 0; - function noop() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - } - function createWeakMap() { - if (typeof WeakMap !== "undefined") { - return /* @__PURE__ */ new WeakMap(); - } else { - return fakeSetOrMap(); - } - } - function fakeSetOrMap() { - return { - add: noop, - delete: noop, - get: noop, - set: noop, - has: function(k) { - return false; - } - }; - } - var hop = Object.prototype.hasOwnProperty; - var has = function(obj, prop) { - return hop.call(obj, prop); - }; - function extend(target, source) { - for (var prop in source) { - if (has(source, prop)) { - target[prop] = source[prop]; - } - } - return target; - } - var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; - var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; - var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; - var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; - var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; - function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { - var indentationLevel = 0; - var match = strings[0].match(reDetectIndentation); - if (match) { - indentationLevel = match[1].length; - } - var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; - var reMatchIndent = new RegExp(reSource, "g"); - if (firstInterpolatedValueSetsIndentationLevel) { - strings = strings.slice(1); - } - var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline; - var normalizeNewlines = typeof newline === "string"; - var l = strings.length; - var outdentedStrings = strings.map(function(v, i) { - v = v.replace(reMatchIndent, "$1"); - if (i === 0 && trimLeadingNewline) { - v = v.replace(reLeadingNewline, ""); - } - if (i === l - 1 && trimTrailingNewline) { - v = v.replace(reTrailingNewline, ""); - } - if (normalizeNewlines) { - v = v.replace(/\r\n|\n|\r/g, function(_) { - return newline; - }); - } - return v; - }); - return outdentedStrings; - } - function concatStringsAndValues(strings, values) { - var ret = ""; - for (var i = 0, l = strings.length; i < l; i++) { - ret += strings[i]; - if (i < l - 1) { - ret += values[i]; - } - } - return ret; - } - function isTemplateStringsArray(v) { - return has(v, "raw") && has(v, "length"); - } - function createInstance(options) { - var arrayAutoIndentCache = createWeakMap(); - var arrayFirstInterpSetsIndentCache = createWeakMap(); - function outdent(stringsOrOptions) { - var values = []; - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - if (isTemplateStringsArray(stringsOrOptions)) { - var strings = stringsOrOptions; - var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); - var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; - var renderedArray = cache.get(strings); - if (!renderedArray) { - renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); - cache.set(strings, renderedArray); - } - if (values.length === 0) { - return renderedArray[0]; - } - var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); - return rendered; - } else { - return createInstance(extend(extend({}, options), stringsOrOptions || {})); - } - } - var fullOutdent = extend(outdent, { - string: function(str) { - return _outdentArray([str], false, options)[0]; - } - }); - return fullOutdent; - } - var defaultOutdent = createInstance({ - trimLeadingNewline: true, - trimTrailingNewline: true - }); - exports2.outdent = defaultOutdent; - exports2.default = defaultOutdent; - if (typeof module2 !== "undefined") { - try { - module2.exports = defaultOutdent; - Object.defineProperty(defaultOutdent, "__esModule", { - value: true - }); - defaultOutdent.default = defaultOutdent; - defaultOutdent.outdent = defaultOutdent; - } catch (e) { - } - } - } -}); -var require_core_options = __commonJS2({ - "src/main/core-options.js"(exports2, module2) { - "use strict"; - var { - outdent - } = require_lib(); - var CATEGORY_CONFIG = "Config"; - var CATEGORY_EDITOR = "Editor"; - var CATEGORY_FORMAT = "Format"; - var CATEGORY_OTHER = "Other"; - var CATEGORY_OUTPUT = "Output"; - var CATEGORY_GLOBAL = "Global"; - var CATEGORY_SPECIAL = "Special"; - var options = { - cursorOffset: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "int", - default: -1, - range: { - start: -1, - end: Number.POSITIVE_INFINITY, - step: 1 - }, - description: outdent` - Print (to stderr) where a cursor at the given position would move to after formatting. - This option cannot be used with --range-start and --range-end. - `, - cliCategory: CATEGORY_EDITOR - }, - endOfLine: { - since: "1.15.0", - category: CATEGORY_GLOBAL, - type: "choice", - default: [{ - since: "1.15.0", - value: "auto" - }, { - since: "2.0.0", - value: "lf" - }], - description: "Which end of line characters to apply.", - choices: [{ - value: "lf", - description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos" - }, { - value: "crlf", - description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows" - }, { - value: "cr", - description: "Carriage Return character only (\\r), used very rarely" - }, { - value: "auto", - description: outdent` - Maintain existing - (mixed values within one file are normalised by looking at what's used after the first line) - ` - }] - }, - filepath: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "path", - description: "Specify the input filepath. This will be used to do parser inference.", - cliName: "stdin-filepath", - cliCategory: CATEGORY_OTHER, - cliDescription: "Path to the file to pretend that stdin comes from." - }, - insertPragma: { - since: "1.8.0", - category: CATEGORY_SPECIAL, - type: "boolean", - default: false, - description: "Insert @format pragma into file's first docblock comment.", - cliCategory: CATEGORY_OTHER - }, - parser: { - since: "0.0.10", - category: CATEGORY_GLOBAL, - type: "choice", - default: [{ - since: "0.0.10", - value: "babylon" - }, { - since: "1.13.0", - value: void 0 - }], - description: "Which parser to use.", - exception: (value) => typeof value === "string" || typeof value === "function", - choices: [{ - value: "flow", - description: "Flow" - }, { - value: "babel", - since: "1.16.0", - description: "JavaScript" - }, { - value: "babel-flow", - since: "1.16.0", - description: "Flow" - }, { - value: "babel-ts", - since: "2.0.0", - description: "TypeScript" - }, { - value: "typescript", - since: "1.4.0", - description: "TypeScript" - }, { - value: "acorn", - since: "2.6.0", - description: "JavaScript" - }, { - value: "espree", - since: "2.2.0", - description: "JavaScript" - }, { - value: "meriyah", - since: "2.2.0", - description: "JavaScript" - }, { - value: "css", - since: "1.7.1", - description: "CSS" - }, { - value: "less", - since: "1.7.1", - description: "Less" - }, { - value: "scss", - since: "1.7.1", - description: "SCSS" - }, { - value: "json", - since: "1.5.0", - description: "JSON" - }, { - value: "json5", - since: "1.13.0", - description: "JSON5" - }, { - value: "json-stringify", - since: "1.13.0", - description: "JSON.stringify" - }, { - value: "graphql", - since: "1.5.0", - description: "GraphQL" - }, { - value: "markdown", - since: "1.8.0", - description: "Markdown" - }, { - value: "mdx", - since: "1.15.0", - description: "MDX" - }, { - value: "vue", - since: "1.10.0", - description: "Vue" - }, { - value: "yaml", - since: "1.14.0", - description: "YAML" - }, { - value: "glimmer", - since: "2.3.0", - description: "Ember / Handlebars" - }, { - value: "html", - since: "1.15.0", - description: "HTML" - }, { - value: "angular", - since: "1.15.0", - description: "Angular" - }, { - value: "lwc", - since: "1.17.0", - description: "Lightning Web Components" - }] - }, - plugins: { - since: "1.10.0", - type: "path", - array: true, - default: [{ - value: [] - }], - category: CATEGORY_GLOBAL, - description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.", - exception: (value) => typeof value === "string" || typeof value === "object", - cliName: "plugin", - cliCategory: CATEGORY_CONFIG - }, - pluginSearchDirs: { - since: "1.13.0", - type: "path", - array: true, - default: [{ - value: [] - }], - category: CATEGORY_GLOBAL, - description: outdent` - Custom directory that contains prettier plugins in node_modules subdirectory. - Overrides default behavior when plugins are searched relatively to the location of Prettier. - Multiple values are accepted. - `, - exception: (value) => typeof value === "string" || typeof value === "object", - cliName: "plugin-search-dir", - cliCategory: CATEGORY_CONFIG - }, - printWidth: { - since: "0.0.0", - category: CATEGORY_GLOBAL, - type: "int", - default: 80, - description: "The line length where Prettier will try wrap.", - range: { - start: 0, - end: Number.POSITIVE_INFINITY, - step: 1 - } - }, - rangeEnd: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "int", - default: Number.POSITIVE_INFINITY, - range: { - start: 0, - end: Number.POSITIVE_INFINITY, - step: 1 - }, - description: outdent` - Format code ending at a given character offset (exclusive). - The range will extend forwards to the end of the selected statement. - This option cannot be used with --cursor-offset. - `, - cliCategory: CATEGORY_EDITOR - }, - rangeStart: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "int", - default: 0, - range: { - start: 0, - end: Number.POSITIVE_INFINITY, - step: 1 - }, - description: outdent` - Format code starting at a given character offset. - The range will extend backwards to the start of the first line containing the selected statement. - This option cannot be used with --cursor-offset. - `, - cliCategory: CATEGORY_EDITOR - }, - requirePragma: { - since: "1.7.0", - category: CATEGORY_SPECIAL, - type: "boolean", - default: false, - description: outdent` - Require either '@prettier' or '@format' to be present in the file's first docblock comment - in order for it to be formatted. - `, - cliCategory: CATEGORY_OTHER - }, - tabWidth: { - type: "int", - category: CATEGORY_GLOBAL, - default: 2, - description: "Number of spaces per indentation level.", - range: { - start: 0, - end: Number.POSITIVE_INFINITY, - step: 1 - } - }, - useTabs: { - since: "1.0.0", - category: CATEGORY_GLOBAL, - type: "boolean", - default: false, - description: "Indent with tabs instead of spaces." - }, - embeddedLanguageFormatting: { - since: "2.1.0", - category: CATEGORY_GLOBAL, - type: "choice", - default: [{ - since: "2.1.0", - value: "auto" - }], - description: "Control how Prettier formats quoted code embedded in the file.", - choices: [{ - value: "auto", - description: "Format embedded code if Prettier can automatically identify it." - }, { - value: "off", - description: "Never automatically format embedded code." - }] - } - }; - module2.exports = { - CATEGORY_CONFIG, - CATEGORY_EDITOR, - CATEGORY_FORMAT, - CATEGORY_OTHER, - CATEGORY_OUTPUT, - CATEGORY_GLOBAL, - CATEGORY_SPECIAL, - options - }; - } -}); -var require_support = __commonJS2({ - "src/main/support.js"(exports2, module2) { - "use strict"; - var semver = { - compare: require_compare(), - lt: require_lt(), - gte: require_gte() - }; - var arrayify = require_arrayify(); - var currentVersion = require("./package.json").version; - var coreOptions = require_core_options().options; - function getSupportInfo2({ - plugins: plugins2 = [], - showUnreleased = false, - showDeprecated = false, - showInternal = false - } = {}) { - const version2 = currentVersion.split("-", 1)[0]; - const languages = plugins2.flatMap((plugin) => plugin.languages || []).filter(filterSince); - const options = arrayify(Object.assign({}, ...plugins2.map(({ - options: options2 - }) => options2), coreOptions), "name").filter((option) => filterSince(option) && filterDeprecated(option)).sort((a, b) => a.name === b.name ? 0 : a.name < b.name ? -1 : 1).map(mapInternal).map((option) => { - option = Object.assign({}, option); - if (Array.isArray(option.default)) { - option.default = option.default.length === 1 ? option.default[0].value : option.default.filter(filterSince).sort((info1, info2) => semver.compare(info2.since, info1.since))[0].value; - } - if (Array.isArray(option.choices)) { - option.choices = option.choices.filter((option2) => filterSince(option2) && filterDeprecated(option2)); - if (option.name === "parser") { - collectParsersFromLanguages(option, languages, plugins2); - } - } - const pluginDefaults = Object.fromEntries(plugins2.filter((plugin) => plugin.defaultOptions && plugin.defaultOptions[option.name] !== void 0).map((plugin) => [plugin.name, plugin.defaultOptions[option.name]])); - return Object.assign(Object.assign({}, option), {}, { - pluginDefaults - }); - }); - return { - languages, - options - }; - function filterSince(object) { - return showUnreleased || !("since" in object) || object.since && semver.gte(version2, object.since); - } - function filterDeprecated(object) { - return showDeprecated || !("deprecated" in object) || object.deprecated && semver.lt(version2, object.deprecated); - } - function mapInternal(object) { - if (showInternal) { - return object; - } - const { - cliName, - cliCategory, - cliDescription - } = object, newObject = _objectWithoutProperties(object, _excluded); - return newObject; - } - } - function collectParsersFromLanguages(option, languages, plugins2) { - const existingValues = new Set(option.choices.map((choice) => choice.value)); - for (const language of languages) { - if (language.parsers) { - for (const value of language.parsers) { - if (!existingValues.has(value)) { - existingValues.add(value); - const plugin = plugins2.find((plugin2) => plugin2.parsers && plugin2.parsers[value]); - let description = language.name; - if (plugin && plugin.name) { - description += ` (plugin: ${plugin.name})`; - } - option.choices.push({ - value, - description - }); - } - } - } - } - } - module2.exports = { - getSupportInfo: getSupportInfo2 - }; - } -}); -var require_is_non_empty_array = __commonJS2({ - "src/utils/is-non-empty-array.js"(exports2, module2) { - "use strict"; - function isNonEmptyArray(object) { - return Array.isArray(object) && object.length > 0; - } - module2.exports = isNonEmptyArray; - } -}); -function ansiRegex({ - onlyFirst = false -} = {}) { - const pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(pattern, onlyFirst ? void 0 : "g"); -} -var init_ansi_regex = __esm({ - "node_modules/strip-ansi/node_modules/ansi-regex/index.js"() { - } -}); -function stripAnsi(string) { - if (typeof string !== "string") { - throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``); - } - return string.replace(ansiRegex(), ""); -} -var init_strip_ansi = __esm({ - "node_modules/strip-ansi/index.js"() { - init_ansi_regex(); - } -}); -function isFullwidthCodePoint(codePoint) { - if (!Number.isInteger(codePoint)) { - return false; - } - return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141); -} -var init_is_fullwidth_code_point = __esm({ - "node_modules/is-fullwidth-code-point/index.js"() { - } -}); -var require_emoji_regex = __commonJS2({ - "node_modules/emoji-regex/index.js"(exports2, module2) { - "use strict"; - module2.exports = function() { - return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; - }; - } -}); -var string_width_exports = {}; -__export(string_width_exports, { - default: () => stringWidth -}); -function stringWidth(string) { - if (typeof string !== "string" || string.length === 0) { - return 0; - } - string = stripAnsi(string); - if (string.length === 0) { - return 0; - } - string = string.replace((0, import_emoji_regex.default)(), " "); - let width = 0; - for (let index = 0; index < string.length; index++) { - const codePoint = string.codePointAt(index); - if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { - continue; - } - if (codePoint >= 768 && codePoint <= 879) { - continue; - } - if (codePoint > 65535) { - index++; - } - width += isFullwidthCodePoint(codePoint) ? 2 : 1; - } - return width; -} -var import_emoji_regex; -var init_string_width = __esm({ - "node_modules/string-width/index.js"() { - init_strip_ansi(); - init_is_fullwidth_code_point(); - import_emoji_regex = __toESM(require_emoji_regex()); - } -}); -var require_get_string_width = __commonJS2({ - "src/utils/get-string-width.js"(exports2, module2) { - "use strict"; - var stringWidth2 = (init_string_width(), __toCommonJS(string_width_exports)).default; - var notAsciiRegex = /[^\x20-\x7F]/; - function getStringWidth(text) { - if (!text) { - return 0; - } - if (!notAsciiRegex.test(text)) { - return text.length; - } - return stringWidth2(text); - } - module2.exports = getStringWidth; - } -}); -var require_skip = __commonJS2({ - "src/utils/text/skip.js"(exports2, module2) { - "use strict"; - function skip(chars) { - return (text, index, opts) => { - const backwards = opts && opts.backwards; - if (index === false) { - return false; - } - const { - length - } = text; - let cursor = index; - while (cursor >= 0 && cursor < length) { - const c = text.charAt(cursor); - if (chars instanceof RegExp) { - if (!chars.test(c)) { - return cursor; - } - } else if (!chars.includes(c)) { - return cursor; - } - backwards ? cursor-- : cursor++; - } - if (cursor === -1 || cursor === length) { - return cursor; - } - return false; - }; - } - var skipWhitespace = skip(/\s/); - var skipSpaces = skip(" "); - var skipToLineEnd = skip(",; "); - var skipEverythingButNewLine = skip(/[^\n\r]/); - module2.exports = { - skipWhitespace, - skipSpaces, - skipToLineEnd, - skipEverythingButNewLine - }; - } -}); -var require_skip_inline_comment = __commonJS2({ - "src/utils/text/skip-inline-comment.js"(exports2, module2) { - "use strict"; - function skipInlineComment(text, index) { - if (index === false) { - return false; - } - if (text.charAt(index) === "/" && text.charAt(index + 1) === "*") { - for (let i = index + 2; i < text.length; ++i) { - if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { - return i + 2; - } - } - } - return index; - } - module2.exports = skipInlineComment; - } -}); -var require_skip_trailing_comment = __commonJS2({ - "src/utils/text/skip-trailing-comment.js"(exports2, module2) { - "use strict"; - var { - skipEverythingButNewLine - } = require_skip(); - function skipTrailingComment(text, index) { - if (index === false) { - return false; - } - if (text.charAt(index) === "/" && text.charAt(index + 1) === "/") { - return skipEverythingButNewLine(text, index); - } - return index; - } - module2.exports = skipTrailingComment; - } -}); -var require_skip_newline = __commonJS2({ - "src/utils/text/skip-newline.js"(exports2, module2) { - "use strict"; - function skipNewline(text, index, opts) { - const backwards = opts && opts.backwards; - if (index === false) { - return false; - } - const atIndex = text.charAt(index); - if (backwards) { - if (text.charAt(index - 1) === "\r" && atIndex === "\n") { - return index - 2; - } - if (atIndex === "\n" || atIndex === "\r" || atIndex === "\u2028" || atIndex === "\u2029") { - return index - 1; - } - } else { - if (atIndex === "\r" && text.charAt(index + 1) === "\n") { - return index + 2; - } - if (atIndex === "\n" || atIndex === "\r" || atIndex === "\u2028" || atIndex === "\u2029") { - return index + 1; - } - } - return index; - } - module2.exports = skipNewline; - } -}); -var require_get_next_non_space_non_comment_character_index_with_start_index = __commonJS2({ - "src/utils/text/get-next-non-space-non-comment-character-index-with-start-index.js"(exports2, module2) { - "use strict"; - var skipInlineComment = require_skip_inline_comment(); - var skipNewline = require_skip_newline(); - var skipTrailingComment = require_skip_trailing_comment(); - var { - skipSpaces - } = require_skip(); - function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { - let oldIdx = null; - let nextIdx = idx; - while (nextIdx !== oldIdx) { - oldIdx = nextIdx; - nextIdx = skipSpaces(text, nextIdx); - nextIdx = skipInlineComment(text, nextIdx); - nextIdx = skipTrailingComment(text, nextIdx); - nextIdx = skipNewline(text, nextIdx); - } - return nextIdx; - } - module2.exports = getNextNonSpaceNonCommentCharacterIndexWithStartIndex; - } -}); -var require_util = __commonJS2({ - "src/common/util.js"(exports2, module2) { - "use strict"; - var { - default: escapeStringRegexp2 - } = (init_escape_string_regexp(), __toCommonJS(escape_string_regexp_exports)); - var getLast = require_get_last(); - var { - getSupportInfo: getSupportInfo2 - } = require_support(); - var isNonEmptyArray = require_is_non_empty_array(); - var getStringWidth = require_get_string_width(); - var { - skipWhitespace, - skipSpaces, - skipToLineEnd, - skipEverythingButNewLine - } = require_skip(); - var skipInlineComment = require_skip_inline_comment(); - var skipTrailingComment = require_skip_trailing_comment(); - var skipNewline = require_skip_newline(); - var getNextNonSpaceNonCommentCharacterIndexWithStartIndex = require_get_next_non_space_non_comment_character_index_with_start_index(); - var getPenultimate = (arr) => arr[arr.length - 2]; - function skip(chars) { - return (text, index, opts) => { - const backwards = opts && opts.backwards; - if (index === false) { - return false; - } - const { - length - } = text; - let cursor = index; - while (cursor >= 0 && cursor < length) { - const c = text.charAt(cursor); - if (chars instanceof RegExp) { - if (!chars.test(c)) { - return cursor; - } - } else if (!chars.includes(c)) { - return cursor; - } - backwards ? cursor-- : cursor++; - } - if (cursor === -1 || cursor === length) { - return cursor; - } - return false; - }; - } - function hasNewline(text, index, opts = {}) { - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); - const idx2 = skipNewline(text, idx, opts); - return idx !== idx2; - } - function hasNewlineInRange(text, start, end) { - for (let i = start; i < end; ++i) { - if (text.charAt(i) === "\n") { - return true; - } - } - return false; - } - function isPreviousLineEmpty(text, node, locStart) { - let idx = locStart(node) - 1; - idx = skipSpaces(text, idx, { - backwards: true - }); - idx = skipNewline(text, idx, { - backwards: true - }); - idx = skipSpaces(text, idx, { - backwards: true - }); - const idx2 = skipNewline(text, idx, { - backwards: true - }); - return idx !== idx2; - } - function isNextLineEmptyAfterIndex(text, index) { - let oldIdx = null; - let idx = index; - while (idx !== oldIdx) { - oldIdx = idx; - idx = skipToLineEnd(text, idx); - idx = skipInlineComment(text, idx); - idx = skipSpaces(text, idx); - } - idx = skipTrailingComment(text, idx); - idx = skipNewline(text, idx); - return idx !== false && hasNewline(text, idx); - } - function isNextLineEmpty(text, node, locEnd) { - return isNextLineEmptyAfterIndex(text, locEnd(node)); - } - function getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd) { - return getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd(node)); - } - function getNextNonSpaceNonCommentCharacter(text, node, locEnd) { - return text.charAt(getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd)); - } - function hasSpaces(text, index, opts = {}) { - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); - return idx !== index; - } - function getAlignmentSize(value, tabWidth, startIndex = 0) { - let size = 0; - for (let i = startIndex; i < value.length; ++i) { - if (value[i] === " ") { - size = size + tabWidth - size % tabWidth; - } else { - size++; - } - } - return size; - } - function getIndentSize(value, tabWidth) { - const lastNewlineIndex = value.lastIndexOf("\n"); - if (lastNewlineIndex === -1) { - return 0; - } - return getAlignmentSize(value.slice(lastNewlineIndex + 1).match(/^[\t ]*/)[0], tabWidth); - } - function getPreferredQuote(rawContent, preferredQuote) { - const double = { - quote: '"', - regex: /"/g, - escaped: """ - }; - const single = { - quote: "'", - regex: /'/g, - escaped: "'" - }; - const preferred = preferredQuote === "'" ? single : double; - const alternate = preferred === single ? double : single; - let result = preferred; - if (rawContent.includes(preferred.quote) || rawContent.includes(alternate.quote)) { - const numPreferredQuotes = (rawContent.match(preferred.regex) || []).length; - const numAlternateQuotes = (rawContent.match(alternate.regex) || []).length; - result = numPreferredQuotes > numAlternateQuotes ? alternate : preferred; - } - return result; - } - function printString(raw, options) { - const rawContent = raw.slice(1, -1); - const enclosingQuote = options.parser === "json" || options.parser === "json5" && options.quoteProps === "preserve" && !options.singleQuote ? '"' : options.__isInHtmlAttribute ? "'" : getPreferredQuote(rawContent, options.singleQuote ? "'" : '"').quote; - return makeString(rawContent, enclosingQuote, !(options.parser === "css" || options.parser === "less" || options.parser === "scss" || options.__embeddedInHtml)); - } - function makeString(rawContent, enclosingQuote, unescapeUnnecessaryEscapes) { - const otherQuote = enclosingQuote === '"' ? "'" : '"'; - const regex = /\\(.)|(["'])/gs; - const newContent = rawContent.replace(regex, (match, escaped, quote) => { - if (escaped === otherQuote) { - return escaped; - } - if (quote === enclosingQuote) { - return "\\" + quote; - } - if (quote) { - return quote; - } - return unescapeUnnecessaryEscapes && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(escaped) ? escaped : "\\" + escaped; - }); - return enclosingQuote + newContent + enclosingQuote; - } - function printNumber(rawNumber) { - return rawNumber.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/, "$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/, "$1").replace(/^([+-])?\./, "$10.").replace(/(\.\d+?)0+(?=e|$)/, "$1").replace(/\.(?=e|$)/, ""); - } - function getMaxContinuousCount(str, target) { - const results = str.match(new RegExp(`(${escapeStringRegexp2(target)})+`, "g")); - if (results === null) { - return 0; - } - return results.reduce((maxCount, result) => Math.max(maxCount, result.length / target.length), 0); - } - function getMinNotPresentContinuousCount(str, target) { - const matches = str.match(new RegExp(`(${escapeStringRegexp2(target)})+`, "g")); - if (matches === null) { - return 0; - } - const countPresent = /* @__PURE__ */ new Map(); - let max = 0; - for (const match of matches) { - const count = match.length / target.length; - countPresent.set(count, true); - if (count > max) { - max = count; - } - } - for (let i = 1; i < max; i++) { - if (!countPresent.get(i)) { - return i; - } - } - return max + 1; - } - function addCommentHelper(node, comment) { - const comments = node.comments || (node.comments = []); - comments.push(comment); - comment.printed = false; - comment.nodeDescription = describeNodeForDebugging(node); - } - function addLeadingComment(node, comment) { - comment.leading = true; - comment.trailing = false; - addCommentHelper(node, comment); - } - function addDanglingComment(node, comment, marker) { - comment.leading = false; - comment.trailing = false; - if (marker) { - comment.marker = marker; - } - addCommentHelper(node, comment); - } - function addTrailingComment(node, comment) { - comment.leading = false; - comment.trailing = true; - addCommentHelper(node, comment); - } - function inferParserByLanguage(language, options) { - const { - languages - } = getSupportInfo2({ - plugins: options.plugins - }); - const matched = languages.find(({ - name - }) => name.toLowerCase() === language) || languages.find(({ - aliases - }) => Array.isArray(aliases) && aliases.includes(language)) || languages.find(({ - extensions - }) => Array.isArray(extensions) && extensions.includes(`.${language}`)); - return matched && matched.parsers[0]; - } - function isFrontMatterNode(node) { - return node && node.type === "front-matter"; - } - function createGroupIdMapper(description) { - const groupIds = /* @__PURE__ */ new WeakMap(); - return function(node) { - if (!groupIds.has(node)) { - groupIds.set(node, Symbol(description)); - } - return groupIds.get(node); - }; - } - function describeNodeForDebugging(node) { - const nodeType = node.type || node.kind || "(unknown type)"; - let nodeName = String(node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || ""); - if (nodeName.length > 20) { - nodeName = nodeName.slice(0, 19) + "\u2026"; - } - return nodeType + (nodeName ? " " + nodeName : ""); - } - module2.exports = { - inferParserByLanguage, - getStringWidth, - getMaxContinuousCount, - getMinNotPresentContinuousCount, - getPenultimate, - getLast, - getNextNonSpaceNonCommentCharacterIndexWithStartIndex, - getNextNonSpaceNonCommentCharacterIndex, - getNextNonSpaceNonCommentCharacter, - skip, - skipWhitespace, - skipSpaces, - skipToLineEnd, - skipEverythingButNewLine, - skipInlineComment, - skipTrailingComment, - skipNewline, - isNextLineEmptyAfterIndex, - isNextLineEmpty, - isPreviousLineEmpty, - hasNewline, - hasNewlineInRange, - hasSpaces, - getAlignmentSize, - getIndentSize, - getPreferredQuote, - printString, - printNumber, - makeString, - addLeadingComment, - addDanglingComment, - addTrailingComment, - isFrontMatterNode, - isNonEmptyArray, - createGroupIdMapper - }; - } -}); -var require_end_of_line = __commonJS2({ - "src/common/end-of-line.js"(exports2, module2) { - "use strict"; - function guessEndOfLine(text) { - const index = text.indexOf("\r"); - if (index >= 0) { - return text.charAt(index + 1) === "\n" ? "crlf" : "cr"; - } - return "lf"; - } - function convertEndOfLineToChars(value) { - switch (value) { - case "cr": - return "\r"; - case "crlf": - return "\r\n"; - default: - return "\n"; - } - } - function countEndOfLineChars(text, eol) { - let regex; - switch (eol) { - case "\n": - regex = /\n/g; - break; - case "\r": - regex = /\r/g; - break; - case "\r\n": - regex = /\r\n/g; - break; - default: - throw new Error(`Unexpected "eol" ${JSON.stringify(eol)}.`); - } - const endOfLines = text.match(regex); - return endOfLines ? endOfLines.length : 0; - } - function normalizeEndOfLine(text) { - return text.replace(/\r\n?/g, "\n"); - } - module2.exports = { - guessEndOfLine, - convertEndOfLineToChars, - countEndOfLineChars, - normalizeEndOfLine - }; - } -}); -var require_errors = __commonJS2({ - "src/common/errors.js"(exports2, module2) { - "use strict"; - var ConfigError = class extends Error { - }; - var DebugError = class extends Error { - }; - var UndefinedParserError = class extends Error { - }; - var ArgExpansionBailout = class extends Error { - }; - module2.exports = { - ConfigError, - DebugError, - UndefinedParserError, - ArgExpansionBailout - }; - } -}); -var tslib_es6_exports = {}; -__export(tslib_es6_exports, { - __assign: () => __assign, - __asyncDelegator: () => __asyncDelegator, - __asyncGenerator: () => __asyncGenerator, - __asyncValues: () => __asyncValues, - __await: () => __await, - __awaiter: () => __awaiter, - __classPrivateFieldGet: () => __classPrivateFieldGet, - __classPrivateFieldSet: () => __classPrivateFieldSet, - __createBinding: () => __createBinding, - __decorate: () => __decorate, - __exportStar: () => __exportStar, - __extends: () => __extends, - __generator: () => __generator, - __importDefault: () => __importDefault, - __importStar: () => __importStar, - __makeTemplateObject: () => __makeTemplateObject, - __metadata: () => __metadata, - __param: () => __param, - __read: () => __read, - __rest: () => __rest, - __spread: () => __spread, - __spreadArrays: () => __spreadArrays, - __values: () => __values -}); -function __extends(d, b) { - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -function __rest(s, e) { - var t = {}; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") - r = Reflect.decorate(decorators, target, key, desc); - else - for (var i = decorators.length - 1; i >= 0; i--) - if (d = decorators[i]) - r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} -function __param(paramIndex, decorator) { - return function(target, key) { - decorator(target, key, paramIndex); - }; -} -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") - return Reflect.metadata(metadataKey, metadataValue); -} -function __awaiter(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()); - }); -} -function __generator(thisArg, body) { - var _ = { - label: 0, - sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, - trys: [], - ops: [] - }, f, y, t, g; - return g = { - next: verb(0), - "throw": verb(1), - "return": verb(2) - }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { - value: op[1], - done: false - }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) - throw op[1]; - return { - value: op[0] ? op[1] : void 0, - done: true - }; - } -} -function __createBinding(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; -} -function __exportStar(m, exports2) { - for (var p in m) - if (p !== "default" && !exports2.hasOwnProperty(p)) - exports2[p] = m[p]; -} -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) - return m.call(o); - if (o && typeof o.length === "number") - return { - next: function() { - if (o && i >= o.length) - o = void 0; - return { - value: o && o[i++], - done: !o - }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) - return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) - ar.push(r.value); - } catch (error) { - e = { - error - }; - } finally { - try { - if (r && !r.done && (m = i["return"])) - m.call(i); - } finally { - if (e) - throw e.error; - } - } - return ar; -} -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) - s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i; - function verb(n) { - if (g[n]) - i[n] = function(v) { - return new Promise(function(a, b) { - q.push([n, v, a, b]) > 1 || resume(n, v); - }); - }; - } - function resume(n, v) { - try { - step(g[n](v)); - } catch (e) { - settle(q[0][3], e); - } - } - function step(r) { - r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); - } - function fulfill(value) { - resume("next", value); - } - function reject(value) { - resume("throw", value); - } - function settle(f, v) { - if (f(v), q.shift(), q.length) - resume(q[0][0], q[0][1]); - } -} -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function(e) { - throw e; - }), verb("return"), i[Symbol.iterator] = function() { - return this; - }, i; - function verb(n, f) { - i[n] = o[n] ? function(v) { - return (p = !p) ? { - value: __await(o[n](v)), - done: n === "return" - } : f ? f(v) : v; - } : f; - } -} -function __asyncValues(o) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i); - function verb(n) { - i[n] = o[n] && function(v) { - return new Promise(function(resolve, reject) { - v = o[n](v), settle(resolve, reject, v.done, v.value); - }); - }; - } - function settle(resolve, reject, d, v) { - Promise.resolve(v).then(function(v2) { - resolve({ - value: v2, - done: d - }); - }, reject); - } -} -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { - Object.defineProperty(cooked, "raw", { - value: raw - }); - } else { - cooked.raw = raw; - } - return cooked; -} -function __importStar(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (Object.hasOwnProperty.call(mod, k)) - result[k] = mod[k]; - } - result.default = mod; - return result; -} -function __importDefault(mod) { - return mod && mod.__esModule ? mod : { - default: mod - }; -} -function __classPrivateFieldGet(receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); -} -function __classPrivateFieldSet(receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; -} -var extendStatics; -var __assign; -var init_tslib_es6 = __esm({ - "node_modules/tslib/tslib.es6.js"() { - extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || { - __proto__: [] - } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) - if (b2.hasOwnProperty(p)) - d2[p] = b2[p]; - }; - return extendStatics(d, b); - }; - __assign = function() { - __assign = Object.assign || function __assign2(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - } -}); -var require_api = __commonJS2({ - "node_modules/vnopts/lib/descriptors/api.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.apiDescriptor = { - key: (key) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(key) ? key : JSON.stringify(key), - value(value) { - if (value === null || typeof value !== "object") { - return JSON.stringify(value); - } - if (Array.isArray(value)) { - return `[${value.map((subValue) => exports2.apiDescriptor.value(subValue)).join(", ")}]`; - } - const keys = Object.keys(value); - return keys.length === 0 ? "{}" : `{ ${keys.map((key) => `${exports2.apiDescriptor.key(key)}: ${exports2.apiDescriptor.value(value[key])}`).join(", ")} }`; - }, - pair: ({ - key, - value - }) => exports2.apiDescriptor.value({ - [key]: value - }) - }; - } -}); -var require_descriptors2 = __commonJS2({ - "node_modules/vnopts/lib/descriptors/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_api(), exports2); - } -}); -var require_escape_string_regexp = __commonJS2({ - "node_modules/vnopts/node_modules/escape-string-regexp/index.js"(exports2, module2) { - "use strict"; - var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - module2.exports = function(str) { - if (typeof str !== "string") { - throw new TypeError("Expected a string"); - } - return str.replace(matchOperatorsRe, "\\$&"); - }; - } -}); -var require_color_name = __commonJS2({ - "node_modules/color-name/index.js"(exports2, module2) { - "use strict"; - module2.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] - }; - } -}); -var require_conversions = __commonJS2({ - "node_modules/color-convert/conversions.js"(exports2, module2) { - var cssKeywords = require_color_name(); - var reverseKeywords = {}; - for (key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } - } - var key; - var convert = module2.exports = { - rgb: { - channels: 3, - labels: "rgb" - }, - hsl: { - channels: 3, - labels: "hsl" - }, - hsv: { - channels: 3, - labels: "hsv" - }, - hwb: { - channels: 3, - labels: "hwb" - }, - cmyk: { - channels: 4, - labels: "cmyk" - }, - xyz: { - channels: 3, - labels: "xyz" - }, - lab: { - channels: 3, - labels: "lab" - }, - lch: { - channels: 3, - labels: "lch" - }, - hex: { - channels: 1, - labels: ["hex"] - }, - keyword: { - channels: 1, - labels: ["keyword"] - }, - ansi16: { - channels: 1, - labels: ["ansi16"] - }, - ansi256: { - channels: 1, - labels: ["ansi256"] - }, - hcg: { - channels: 3, - labels: ["h", "c", "g"] - }, - apple: { - channels: 3, - labels: ["r16", "g16", "b16"] - }, - gray: { - channels: 1, - labels: ["gray"] - } - }; - for (model in convert) { - if (convert.hasOwnProperty(model)) { - if (!("channels" in convert[model])) { - throw new Error("missing channels property: " + model); - } - if (!("labels" in convert[model])) { - throw new Error("missing channel labels property: " + model); - } - if (convert[model].labels.length !== convert[model].channels) { - throw new Error("channel and label counts mismatch: " + model); - } - channels = convert[model].channels; - labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], "channels", { - value: channels - }); - Object.defineProperty(convert[model], "labels", { - value: labels - }); - } - } - var channels; - var labels; - var model; - convert.rgb.hsl = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - h = Math.min(h * 60, 360); - if (h < 0) { - h += 360; - } - l = (min + max) / 2; - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - return [h, s * 100, l * 100]; - }; - convert.rgb.hsv = function(rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - var diffc = function(c) { - return (v - c) / 6 / diff + 1 / 2; - }; - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - return [h * 360, s * 100, v * 100]; - }; - convert.rgb.hwb = function(rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; - }; - convert.rgb.cmyk = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; - }; - function comparativeDistance(x, y) { - return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); - } - convert.rgb.keyword = function(rgb) { - var reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - var currentClosestDistance = Infinity; - var currentClosestKeyword; - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; - var distance = comparativeDistance(rgb, value); - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - return currentClosestKeyword; - }; - convert.keyword.rgb = function(keyword) { - return cssKeywords[keyword]; - }; - convert.rgb.xyz = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; - g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; - b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; - var x = r * 0.4124 + g * 0.3576 + b * 0.1805; - var y = r * 0.2126 + g * 0.7152 + b * 0.0722; - var z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; - }; - convert.rgb.lab = function(rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.hsl.rgb = function(hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - t1 = 2 * l - t2; - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - rgb[i] = val * 255; - } - return rgb; - }; - convert.hsl.hsv = function(hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; - }; - convert.hsv.rgb = function(hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - s * f); - var t = 255 * v * (1 - s * (1 - f)); - v *= 255; - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } - }; - convert.hsv.hsl = function(hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; - }; - convert.hwb.rgb = function(hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - if ((i & 1) !== 0) { - f = 1 - f; - } - n = wh + f * (v - wh); - var r; - var g; - var b; - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - case 1: - r = n; - g = v; - b = wh; - break; - case 2: - r = wh; - g = v; - b = n; - break; - case 3: - r = wh; - g = n; - b = v; - break; - case 4: - r = n; - g = wh; - b = v; - break; - case 5: - r = v; - g = wh; - b = n; - break; - } - return [r * 255, g * 255, b * 255]; - }; - convert.cmyk.rgb = function(cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.rgb = function(xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.204 + z * 1.057; - r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92; - g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92; - b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.lab = function(xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.lab.xyz = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; - }; - convert.lab.lch = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - if (h < 0) { - h += 360; - } - c = Math.sqrt(a * a + b * b); - return [l, c, h]; - }; - convert.lch.lab = function(lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - return [l, a, b]; - }; - convert.rgb.ansi16 = function(args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; - value = Math.round(value / 50); - if (value === 0) { - return 30; - } - var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - if (value === 2) { - ansi += 60; - } - return ansi; - }; - convert.hsv.ansi16 = function(args) { - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); - }; - convert.rgb.ansi256 = function(args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - if (r === g && g === b) { - if (r < 8) { - return 16; - } - if (r > 248) { - return 231; - } - return Math.round((r - 8) / 247 * 24) + 232; - } - var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; - }; - convert.ansi16.rgb = function(args) { - var color = args % 10; - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - color = color / 10.5 * 255; - return [color, color, color]; - } - var mult = (~~(args > 50) + 1) * 0.5; - var r = (color & 1) * mult * 255; - var g = (color >> 1 & 1) * mult * 255; - var b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; - }; - convert.ansi256.rgb = function(args) { - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - args -= 16; - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = rem % 6 / 5 * 255; - return [r, g, b]; - }; - convert.rgb.hex = function(args) { - var integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255); - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.hex.rgb = function(args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - var colorString = match[0]; - if (match[0].length === 3) { - colorString = colorString.split("").map(function(char) { - return char + char; - }).join(""); - } - var integer = parseInt(colorString, 16); - var r = integer >> 16 & 255; - var g = integer >> 8 & 255; - var b = integer & 255; - return [r, g, b]; - }; - convert.rgb.hcg = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = max - min; - var grayscale; - var hue; - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; - }; - convert.hsl.hcg = function(hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - if (l < 0.5) { - c = 2 * s * l; - } else { - c = 2 * s * (1 - l); - } - if (c < 1) { - f = (l - 0.5 * c) / (1 - c); - } - return [hsl[0], c * 100, f * 100]; - }; - convert.hsv.hcg = function(hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var c = s * v; - var f = 0; - if (c < 1) { - f = (v - c) / (1 - c); - } - return [hsv[0], c * 100, f * 100]; - }; - convert.hcg.rgb = function(hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - if (c === 0) { - return [g * 255, g * 255, g * 255]; - } - var pure = [0, 0, 0]; - var hi = h % 1 * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - mg = (1 - c) * g; - return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; - }; - convert.hcg.hsv = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - var f = 0; - if (v > 0) { - f = c / v; - } - return [hcg[0], f * 100, v * 100]; - }; - convert.hcg.hsl = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var l = g * (1 - c) + 0.5 * c; - var s = 0; - if (l > 0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1) { - s = c / (2 * (1 - l)); - } - return [hcg[0], s * 100, l * 100]; - }; - convert.hcg.hwb = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; - }; - convert.hwb.hcg = function(hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - if (c < 1) { - g = (v - c) / (1 - c); - } - return [hwb[0], c * 100, g * 100]; - }; - convert.apple.rgb = function(apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; - }; - convert.rgb.apple = function(rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; - }; - convert.gray.rgb = function(args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; - }; - convert.gray.hsl = convert.gray.hsv = function(args) { - return [0, 0, args[0]]; - }; - convert.gray.hwb = function(gray) { - return [0, 100, gray[0]]; - }; - convert.gray.cmyk = function(gray) { - return [0, 0, 0, gray[0]]; - }; - convert.gray.lab = function(gray) { - return [gray[0], 0, 0]; - }; - convert.gray.hex = function(gray) { - var val = Math.round(gray[0] / 100 * 255) & 255; - var integer = (val << 16) + (val << 8) + val; - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.rgb.gray = function(rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; - }; - } -}); -var require_route = __commonJS2({ - "node_modules/color-convert/route.js"(exports2, module2) { - var conversions = require_conversions(); - function buildGraph() { - var graph = {}; - var models = Object.keys(conversions); - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - distance: -1, - parent: null - }; - } - return graph; - } - function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; - graph[fromModel].distance = 0; - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - return graph; - } - function link(from, to) { - return function(args) { - return to(from(args)); - }; - } - function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - fn.conversion = path; - return fn; - } - module2.exports = function(fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - if (node.parent === null) { - continue; - } - conversion[toModel] = wrapConversion(toModel, graph); - } - return conversion; - }; - } -}); -var require_color_convert = __commonJS2({ - "node_modules/color-convert/index.js"(exports2, module2) { - var conversions = require_conversions(); - var route = require_route(); - var convert = {}; - var models = Object.keys(conversions); - function wrapRaw(fn) { - var wrappedFn = function(args) { - if (args === void 0 || args === null) { - return args; - } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - return fn(args); - }; - if ("conversion" in fn) { - wrappedFn.conversion = fn.conversion; - } - return wrappedFn; - } - function wrapRounded(fn) { - var wrappedFn = function(args) { - if (args === void 0 || args === null) { - return args; - } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - var result = fn(args); - if (typeof result === "object") { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - return result; - }; - if ("conversion" in fn) { - wrappedFn.conversion = fn.conversion; - } - return wrappedFn; - } - models.forEach(function(fromModel) { - convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], "channels", { - value: conversions[fromModel].channels - }); - Object.defineProperty(convert[fromModel], "labels", { - value: conversions[fromModel].labels - }); - var routes = route(fromModel); - var routeModels = Object.keys(routes); - routeModels.forEach(function(toModel) { - var fn = routes[toModel]; - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); - }); - module2.exports = convert; - } -}); -var require_ansi_styles = __commonJS2({ - "node_modules/ansi-styles/index.js"(exports2, module2) { - "use strict"; - var colorConvert = require_color_convert(); - var wrapAnsi16 = (fn, offset) => function() { - const code = fn.apply(colorConvert, arguments); - return `\x1B[${code + offset}m`; - }; - var wrapAnsi256 = (fn, offset) => function() { - const code = fn.apply(colorConvert, arguments); - return `\x1B[${38 + offset};5;${code}m`; - }; - var wrapAnsi16m = (fn, offset) => function() { - const rgb = fn.apply(colorConvert, arguments); - return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; - }; - function assembleStyles() { - const codes = /* @__PURE__ */ new Map(); - const styles = { - modifier: { - reset: [0, 0], - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; - styles.color.grey = styles.color.gray; - for (const groupName of Object.keys(styles)) { - const group = styles[groupName]; - for (const styleName of Object.keys(group)) { - const style = group[styleName]; - styles[styleName] = { - open: `\x1B[${style[0]}m`, - close: `\x1B[${style[1]}m` - }; - group[styleName] = styles[styleName]; - codes.set(style[0], style[1]); - } - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - Object.defineProperty(styles, "codes", { - value: codes, - enumerable: false - }); - } - const ansi2ansi = (n) => n; - const rgb2rgb = (r, g, b) => [r, g, b]; - styles.color.close = "\x1B[39m"; - styles.bgColor.close = "\x1B[49m"; - styles.color.ansi = { - ansi: wrapAnsi16(ansi2ansi, 0) - }; - styles.color.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 0) - }; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; - styles.bgColor.ansi = { - ansi: wrapAnsi16(ansi2ansi, 10) - }; - styles.bgColor.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 10) - }; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; - for (let key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== "object") { - continue; - } - const suite = colorConvert[key]; - if (key === "ansi16") { - key = "ansi"; - } - if ("ansi16" in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } - if ("ansi256" in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } - if ("rgb" in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } - } - return styles; - } - Object.defineProperty(module2, "exports", { - enumerable: true, - get: assembleStyles - }); - } -}); -var require_has_flag = __commonJS2({ - "node_modules/vnopts/node_modules/has-flag/index.js"(exports2, module2) { - "use strict"; - module2.exports = (flag, argv) => { - argv = argv || process.argv; - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; - const pos = argv.indexOf(prefix + flag); - const terminatorPos = argv.indexOf("--"); - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); - }; - } -}); -var require_supports_color = __commonJS2({ - "node_modules/vnopts/node_modules/supports-color/index.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var hasFlag = require_has_flag(); - var env = process.env; - var forceColor; - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) { - forceColor = false; - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { - forceColor = true; - } - if ("FORCE_COLOR" in env) { - forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; - } - function translateLevel(level) { - if (level === 0) { - return false; - } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; - } - function supportsColor(stream) { - if (forceColor === false) { - return 0; - } - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { - return 3; - } - if (hasFlag("color=256")) { - return 2; - } - if (stream && !stream.isTTY && forceColor !== true) { - return 0; - } - const min = forceColor ? 1 : 0; - if (process.platform === "win32") { - const osRelease = os.release().split("."); - if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - return 1; - } - if ("CI" in env) { - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env) || env.CI_NAME === "codeship") { - return 1; - } - return min; - } - if ("TEAMCITY_VERSION" in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - if (env.COLORTERM === "truecolor") { - return 3; - } - if ("TERM_PROGRAM" in env) { - const version2 = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); - switch (env.TERM_PROGRAM) { - case "iTerm.app": - return version2 >= 3 ? 3 : 2; - case "Apple_Terminal": - return 2; - } - } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - if ("COLORTERM" in env) { - return 1; - } - if (env.TERM === "dumb") { - return min; - } - return min; - } - function getSupportLevel(stream) { - const level = supportsColor(stream); - return translateLevel(level); - } - module2.exports = { - supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr) - }; - } -}); -var require_templates = __commonJS2({ - "node_modules/vnopts/node_modules/chalk/templates.js"(exports2, module2) { - "use strict"; - var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; - var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; - var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; - var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; - var ESCAPES = /* @__PURE__ */ new Map([["n", "\n"], ["r", "\r"], ["t", " "], ["b", "\b"], ["f", "\f"], ["v", "\v"], ["0", "\0"], ["\\", "\\"], ["e", "\x1B"], ["a", "\x07"]]); - function unescape(c) { - if (c[0] === "u" && c.length === 5 || c[0] === "x" && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - return ESCAPES.get(c) || c; - } - function parseArguments(name, args) { - const results = []; - const chunks = args.trim().split(/\s*,\s*/g); - let matches; - for (const chunk of chunks) { - if (!isNaN(chunk)) { - results.push(Number(chunk)); - } else if (matches = chunk.match(STRING_REGEX)) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - return results; - } - function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - const results = []; - let matches; - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - return results; - } - function buildStyle(chalk, styles) { - const enabled = {}; - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - let current = chalk; - for (const styleName of Object.keys(enabled)) { - if (Array.isArray(enabled[styleName])) { - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - if (enabled[styleName].length > 0) { - current = current[styleName].apply(current, enabled[styleName]); - } else { - current = current[styleName]; - } - } - } - return current; - } - module2.exports = (chalk, tmp) => { - const styles = []; - const chunks = []; - let chunk = []; - tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { - if (escapeChar) { - chunk.push(unescape(escapeChar)); - } else if (style) { - const str = chunk.join(""); - chunk = []; - chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); - styles.push({ - inverse, - styles: parseStyle(style) - }); - } else if (close) { - if (styles.length === 0) { - throw new Error("Found extraneous } in Chalk template literal"); - } - chunks.push(buildStyle(chalk, styles)(chunk.join(""))); - chunk = []; - styles.pop(); - } else { - chunk.push(chr); - } - }); - chunks.push(chunk.join("")); - if (styles.length > 0) { - const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`; - throw new Error(errMsg); - } - return chunks.join(""); - }; - } -}); -var require_chalk = __commonJS2({ - "node_modules/vnopts/node_modules/chalk/index.js"(exports2, module2) { - "use strict"; - var escapeStringRegexp2 = require_escape_string_regexp(); - var ansiStyles = require_ansi_styles(); - var stdoutColor = require_supports_color().stdout; - var template = require_templates(); - var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm"); - var levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"]; - var skipModels = /* @__PURE__ */ new Set(["gray"]); - var styles = /* @__PURE__ */ Object.create(null); - function applyOptions(obj, options) { - options = options || {}; - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === void 0 ? scLevel : options.level; - obj.enabled = "enabled" in options ? options.enabled : obj.level > 0; - } - function Chalk(options) { - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); - chalk.template = function() { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - chalk.template.constructor = Chalk; - return chalk.template; - } - applyOptions(this, options); - } - if (isSimpleWindowsTerm) { - ansiStyles.blue.open = "\x1B[94m"; - } - for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp2(ansiStyles[key].close), "g"); - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; - } - styles.visible = { - get() { - return build.call(this, this._styles || [], true, "visible"); - } - }; - ansiStyles.color.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.color.close), "g"); - for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - styles[model] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; - } - ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.bgColor.close), "g"); - for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; - } - var proto = Object.defineProperties(() => { - }, styles); - function build(_styles, _empty, key) { - const builder = function() { - return applyStyle.apply(builder, arguments); - }; - builder._styles = _styles; - builder._empty = _empty; - const self2 = this; - Object.defineProperty(builder, "level", { - enumerable: true, - get() { - return self2.level; - }, - set(level) { - self2.level = level; - } - }); - Object.defineProperty(builder, "enabled", { - enumerable: true, - get() { - return self2.enabled; - }, - set(enabled) { - self2.enabled = enabled; - } - }); - builder.hasGrey = this.hasGrey || key === "gray" || key === "grey"; - builder.__proto__ = proto; - return builder; - } - function applyStyle() { - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - if (argsLen === 0) { - return ""; - } - if (argsLen > 1) { - for (let a = 1; a < argsLen; a++) { - str += " " + args[a]; - } - } - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? "" : str; - } - const originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ""; - } - for (const code of this._styles.slice().reverse()) { - str = code.open + str.replace(code.closeRe, code.open) + code.close; - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } - ansiStyles.dim.open = originalDim; - return str; - } - function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - return [].slice.call(arguments, 1).join(" "); - } - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&")); - parts.push(String(strings.raw[i])); - } - return template(chalk, parts.join("")); - } - Object.defineProperties(Chalk.prototype, styles); - module2.exports = Chalk(); - module2.exports.supportsColor = stdoutColor; - module2.exports.default = module2.exports; - } -}); -var require_common = __commonJS2({ - "node_modules/vnopts/lib/handlers/deprecated/common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var chalk_1 = require_chalk(); - exports2.commonDeprecatedHandler = (keyOrPair, redirectTo, { - descriptor - }) => { - const messages = [`${chalk_1.default.yellow(typeof keyOrPair === "string" ? descriptor.key(keyOrPair) : descriptor.pair(keyOrPair))} is deprecated`]; - if (redirectTo) { - messages.push(`we now treat it as ${chalk_1.default.blue(typeof redirectTo === "string" ? descriptor.key(redirectTo) : descriptor.pair(redirectTo))}`); - } - return messages.join("; ") + "."; - }; - } -}); -var require_deprecated = __commonJS2({ - "node_modules/vnopts/lib/handlers/deprecated/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_common(), exports2); - } -}); -var require_common2 = __commonJS2({ - "node_modules/vnopts/lib/handlers/invalid/common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var chalk_1 = require_chalk(); - exports2.commonInvalidHandler = (key, value, utils) => [`Invalid ${chalk_1.default.red(utils.descriptor.key(key))} value.`, `Expected ${chalk_1.default.blue(utils.schemas[key].expected(utils))},`, `but received ${chalk_1.default.red(utils.descriptor.value(value))}.`].join(" "); - } -}); -var require_invalid = __commonJS2({ - "node_modules/vnopts/lib/handlers/invalid/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_common2(), exports2); - } -}); -var require_leven = __commonJS2({ - "node_modules/vnopts/node_modules/leven/index.js"(exports2, module2) { - "use strict"; - var arr = []; - var charCodeCache = []; - module2.exports = function(a, b) { - if (a === b) { - return 0; - } - var swap = a; - if (a.length > b.length) { - a = b; - b = swap; - } - var aLen = a.length; - var bLen = b.length; - if (aLen === 0) { - return bLen; - } - if (bLen === 0) { - return aLen; - } - while (aLen > 0 && a.charCodeAt(~-aLen) === b.charCodeAt(~-bLen)) { - aLen--; - bLen--; - } - if (aLen === 0) { - return bLen; - } - var start = 0; - while (start < aLen && a.charCodeAt(start) === b.charCodeAt(start)) { - start++; - } - aLen -= start; - bLen -= start; - if (aLen === 0) { - return bLen; - } - var bCharCode; - var ret; - var tmp; - var tmp2; - var i = 0; - var j = 0; - while (i < aLen) { - charCodeCache[start + i] = a.charCodeAt(start + i); - arr[i] = ++i; - } - while (j < bLen) { - bCharCode = b.charCodeAt(start + j); - tmp = j++; - ret = j; - for (i = 0; i < aLen; i++) { - tmp2 = bCharCode === charCodeCache[start + i] ? tmp : tmp + 1; - tmp = arr[i]; - ret = arr[i] = tmp > ret ? tmp2 > ret ? ret + 1 : tmp2 : tmp2 > tmp ? tmp + 1 : tmp2; - } - } - return ret; - }; - } -}); -var require_leven2 = __commonJS2({ - "node_modules/vnopts/lib/handlers/unknown/leven.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var chalk_1 = require_chalk(); - var leven = require_leven(); - exports2.levenUnknownHandler = (key, value, { - descriptor, - logger, - schemas - }) => { - const messages = [`Ignored unknown option ${chalk_1.default.yellow(descriptor.pair({ - key, - value - }))}.`]; - const suggestion = Object.keys(schemas).sort().find((knownKey) => leven(key, knownKey) < 3); - if (suggestion) { - messages.push(`Did you mean ${chalk_1.default.blue(descriptor.key(suggestion))}?`); - } - logger.warn(messages.join(" ")); - }; - } -}); -var require_unknown = __commonJS2({ - "node_modules/vnopts/lib/handlers/unknown/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_leven2(), exports2); - } -}); -var require_handlers = __commonJS2({ - "node_modules/vnopts/lib/handlers/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_deprecated(), exports2); - tslib_1.__exportStar(require_invalid(), exports2); - tslib_1.__exportStar(require_unknown(), exports2); - } -}); -var require_schema = __commonJS2({ - "node_modules/vnopts/lib/schema.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var HANDLER_KEYS = ["default", "expected", "validate", "deprecated", "forward", "redirect", "overlap", "preprocess", "postprocess"]; - function createSchema(SchemaConstructor, parameters) { - const schema = new SchemaConstructor(parameters); - const subSchema = Object.create(schema); - for (const handlerKey of HANDLER_KEYS) { - if (handlerKey in parameters) { - subSchema[handlerKey] = normalizeHandler(parameters[handlerKey], schema, Schema.prototype[handlerKey].length); - } - } - return subSchema; - } - exports2.createSchema = createSchema; - var Schema = class { - constructor(parameters) { - this.name = parameters.name; - } - static create(parameters) { - return createSchema(this, parameters); - } - default(_utils) { - return void 0; - } - expected(_utils) { - return "nothing"; - } - validate(_value, _utils) { - return false; - } - deprecated(_value, _utils) { - return false; - } - forward(_value, _utils) { - return void 0; - } - redirect(_value, _utils) { - return void 0; - } - overlap(currentValue, _newValue, _utils) { - return currentValue; - } - preprocess(value, _utils) { - return value; - } - postprocess(value, _utils) { - return value; - } - }; - exports2.Schema = Schema; - function normalizeHandler(handler, superSchema, handlerArgumentsLength) { - return typeof handler === "function" ? (...args) => handler(...args.slice(0, handlerArgumentsLength - 1), superSchema, ...args.slice(handlerArgumentsLength - 1)) : () => handler; - } - } -}); -var require_alias = __commonJS2({ - "node_modules/vnopts/lib/schemas/alias.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var schema_1 = require_schema(); - var AliasSchema = class extends schema_1.Schema { - constructor(parameters) { - super(parameters); - this._sourceName = parameters.sourceName; - } - expected(utils) { - return utils.schemas[this._sourceName].expected(utils); - } - validate(value, utils) { - return utils.schemas[this._sourceName].validate(value, utils); - } - redirect(_value, _utils) { - return this._sourceName; - } - }; - exports2.AliasSchema = AliasSchema; - } -}); -var require_any = __commonJS2({ - "node_modules/vnopts/lib/schemas/any.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var schema_1 = require_schema(); - var AnySchema = class extends schema_1.Schema { - expected() { - return "anything"; - } - validate() { - return true; - } - }; - exports2.AnySchema = AnySchema; - } -}); -var require_array2 = __commonJS2({ - "node_modules/vnopts/lib/schemas/array.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var schema_1 = require_schema(); - var ArraySchema = class extends schema_1.Schema { - constructor(_a) { - var { - valueSchema, - name = valueSchema.name - } = _a, handlers = tslib_1.__rest(_a, ["valueSchema", "name"]); - super(Object.assign({}, handlers, { - name - })); - this._valueSchema = valueSchema; - } - expected(utils) { - return `an array of ${this._valueSchema.expected(utils)}`; - } - validate(value, utils) { - if (!Array.isArray(value)) { - return false; - } - const invalidValues = []; - for (const subValue of value) { - const subValidateResult = utils.normalizeValidateResult(this._valueSchema.validate(subValue, utils), subValue); - if (subValidateResult !== true) { - invalidValues.push(subValidateResult.value); - } - } - return invalidValues.length === 0 ? true : { - value: invalidValues - }; - } - deprecated(value, utils) { - const deprecatedResult = []; - for (const subValue of value) { - const subDeprecatedResult = utils.normalizeDeprecatedResult(this._valueSchema.deprecated(subValue, utils), subValue); - if (subDeprecatedResult !== false) { - deprecatedResult.push(...subDeprecatedResult.map(({ - value: deprecatedValue - }) => ({ - value: [deprecatedValue] - }))); - } - } - return deprecatedResult; - } - forward(value, utils) { - const forwardResult = []; - for (const subValue of value) { - const subForwardResult = utils.normalizeForwardResult(this._valueSchema.forward(subValue, utils), subValue); - forwardResult.push(...subForwardResult.map(wrapTransferResult)); - } - return forwardResult; - } - redirect(value, utils) { - const remain = []; - const redirect = []; - for (const subValue of value) { - const subRedirectResult = utils.normalizeRedirectResult(this._valueSchema.redirect(subValue, utils), subValue); - if ("remain" in subRedirectResult) { - remain.push(subRedirectResult.remain); - } - redirect.push(...subRedirectResult.redirect.map(wrapTransferResult)); - } - return remain.length === 0 ? { - redirect - } : { - redirect, - remain - }; - } - overlap(currentValue, newValue) { - return currentValue.concat(newValue); - } - }; - exports2.ArraySchema = ArraySchema; - function wrapTransferResult({ - from, - to - }) { - return { - from: [from], - to - }; - } - } -}); -var require_boolean = __commonJS2({ - "node_modules/vnopts/lib/schemas/boolean.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var schema_1 = require_schema(); - var BooleanSchema = class extends schema_1.Schema { - expected() { - return "true or false"; - } - validate(value) { - return typeof value === "boolean"; - } - }; - exports2.BooleanSchema = BooleanSchema; - } -}); -var require_utils = __commonJS2({ - "node_modules/vnopts/lib/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - function recordFromArray(array, mainKey) { - const record = /* @__PURE__ */ Object.create(null); - for (const value of array) { - const key = value[mainKey]; - if (record[key]) { - throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); - } - record[key] = value; - } - return record; - } - exports2.recordFromArray = recordFromArray; - function mapFromArray(array, mainKey) { - const map = /* @__PURE__ */ new Map(); - for (const value of array) { - const key = value[mainKey]; - if (map.has(key)) { - throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); - } - map.set(key, value); - } - return map; - } - exports2.mapFromArray = mapFromArray; - function createAutoChecklist() { - const map = /* @__PURE__ */ Object.create(null); - return (id) => { - const idString = JSON.stringify(id); - if (map[idString]) { - return true; - } - map[idString] = true; - return false; - }; - } - exports2.createAutoChecklist = createAutoChecklist; - function partition(array, predicate) { - const trueArray = []; - const falseArray = []; - for (const value of array) { - if (predicate(value)) { - trueArray.push(value); - } else { - falseArray.push(value); - } - } - return [trueArray, falseArray]; - } - exports2.partition = partition; - function isInt(value) { - return value === Math.floor(value); - } - exports2.isInt = isInt; - function comparePrimitive(a, b) { - if (a === b) { - return 0; - } - const typeofA = typeof a; - const typeofB = typeof b; - const orders = ["undefined", "object", "boolean", "number", "string"]; - if (typeofA !== typeofB) { - return orders.indexOf(typeofA) - orders.indexOf(typeofB); - } - if (typeofA !== "string") { - return Number(a) - Number(b); - } - return a.localeCompare(b); - } - exports2.comparePrimitive = comparePrimitive; - function normalizeDefaultResult(result) { - return result === void 0 ? {} : result; - } - exports2.normalizeDefaultResult = normalizeDefaultResult; - function normalizeValidateResult(result, value) { - return result === true ? true : result === false ? { - value - } : result; - } - exports2.normalizeValidateResult = normalizeValidateResult; - function normalizeDeprecatedResult(result, value, doNotNormalizeTrue = false) { - return result === false ? false : result === true ? doNotNormalizeTrue ? true : [{ - value - }] : "value" in result ? [result] : result.length === 0 ? false : result; - } - exports2.normalizeDeprecatedResult = normalizeDeprecatedResult; - function normalizeTransferResult(result, value) { - return typeof result === "string" || "key" in result ? { - from: value, - to: result - } : "from" in result ? { - from: result.from, - to: result.to - } : { - from: value, - to: result.to - }; - } - exports2.normalizeTransferResult = normalizeTransferResult; - function normalizeForwardResult(result, value) { - return result === void 0 ? [] : Array.isArray(result) ? result.map((transferResult) => normalizeTransferResult(transferResult, value)) : [normalizeTransferResult(result, value)]; - } - exports2.normalizeForwardResult = normalizeForwardResult; - function normalizeRedirectResult(result, value) { - const redirect = normalizeForwardResult(typeof result === "object" && "redirect" in result ? result.redirect : result, value); - return redirect.length === 0 ? { - remain: value, - redirect - } : typeof result === "object" && "remain" in result ? { - remain: result.remain, - redirect - } : { - redirect - }; - } - exports2.normalizeRedirectResult = normalizeRedirectResult; - } -}); -var require_choice = __commonJS2({ - "node_modules/vnopts/lib/schemas/choice.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var schema_1 = require_schema(); - var utils_1 = require_utils(); - var ChoiceSchema = class extends schema_1.Schema { - constructor(parameters) { - super(parameters); - this._choices = utils_1.mapFromArray(parameters.choices.map((choice) => choice && typeof choice === "object" ? choice : { - value: choice - }), "value"); - } - expected({ - descriptor - }) { - const choiceValues = Array.from(this._choices.keys()).map((value) => this._choices.get(value)).filter((choiceInfo) => !choiceInfo.deprecated).map((choiceInfo) => choiceInfo.value).sort(utils_1.comparePrimitive).map(descriptor.value); - const head = choiceValues.slice(0, -2); - const tail = choiceValues.slice(-2); - return head.concat(tail.join(" or ")).join(", "); - } - validate(value) { - return this._choices.has(value); - } - deprecated(value) { - const choiceInfo = this._choices.get(value); - return choiceInfo && choiceInfo.deprecated ? { - value - } : false; - } - forward(value) { - const choiceInfo = this._choices.get(value); - return choiceInfo ? choiceInfo.forward : void 0; - } - redirect(value) { - const choiceInfo = this._choices.get(value); - return choiceInfo ? choiceInfo.redirect : void 0; - } - }; - exports2.ChoiceSchema = ChoiceSchema; - } -}); -var require_number = __commonJS2({ - "node_modules/vnopts/lib/schemas/number.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var schema_1 = require_schema(); - var NumberSchema = class extends schema_1.Schema { - expected() { - return "a number"; - } - validate(value, _utils) { - return typeof value === "number"; - } - }; - exports2.NumberSchema = NumberSchema; - } -}); -var require_integer = __commonJS2({ - "node_modules/vnopts/lib/schemas/integer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils_1 = require_utils(); - var number_1 = require_number(); - var IntegerSchema = class extends number_1.NumberSchema { - expected() { - return "an integer"; - } - validate(value, utils) { - return utils.normalizeValidateResult(super.validate(value, utils), value) === true && utils_1.isInt(value); - } - }; - exports2.IntegerSchema = IntegerSchema; - } -}); -var require_string = __commonJS2({ - "node_modules/vnopts/lib/schemas/string.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var schema_1 = require_schema(); - var StringSchema = class extends schema_1.Schema { - expected() { - return "a string"; - } - validate(value) { - return typeof value === "string"; - } - }; - exports2.StringSchema = StringSchema; - } -}); -var require_schemas = __commonJS2({ - "node_modules/vnopts/lib/schemas/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_alias(), exports2); - tslib_1.__exportStar(require_any(), exports2); - tslib_1.__exportStar(require_array2(), exports2); - tslib_1.__exportStar(require_boolean(), exports2); - tslib_1.__exportStar(require_choice(), exports2); - tslib_1.__exportStar(require_integer(), exports2); - tslib_1.__exportStar(require_number(), exports2); - tslib_1.__exportStar(require_string(), exports2); - } -}); -var require_defaults = __commonJS2({ - "node_modules/vnopts/lib/defaults.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var api_1 = require_api(); - var common_1 = require_common(); - var invalid_1 = require_invalid(); - var leven_1 = require_leven2(); - exports2.defaultDescriptor = api_1.apiDescriptor; - exports2.defaultUnknownHandler = leven_1.levenUnknownHandler; - exports2.defaultInvalidHandler = invalid_1.commonInvalidHandler; - exports2.defaultDeprecatedHandler = common_1.commonDeprecatedHandler; - } -}); -var require_normalize = __commonJS2({ - "node_modules/vnopts/lib/normalize.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var defaults_1 = require_defaults(); - var utils_1 = require_utils(); - exports2.normalize = (options, schemas, opts) => new Normalizer(schemas, opts).normalize(options); - var Normalizer = class { - constructor(schemas, opts) { - const { - logger = console, - descriptor = defaults_1.defaultDescriptor, - unknown = defaults_1.defaultUnknownHandler, - invalid = defaults_1.defaultInvalidHandler, - deprecated = defaults_1.defaultDeprecatedHandler - } = opts || {}; - this._utils = { - descriptor, - logger: logger || { - warn: () => { - } - }, - schemas: utils_1.recordFromArray(schemas, "name"), - normalizeDefaultResult: utils_1.normalizeDefaultResult, - normalizeDeprecatedResult: utils_1.normalizeDeprecatedResult, - normalizeForwardResult: utils_1.normalizeForwardResult, - normalizeRedirectResult: utils_1.normalizeRedirectResult, - normalizeValidateResult: utils_1.normalizeValidateResult - }; - this._unknownHandler = unknown; - this._invalidHandler = invalid; - this._deprecatedHandler = deprecated; - this.cleanHistory(); - } - cleanHistory() { - this._hasDeprecationWarned = utils_1.createAutoChecklist(); - } - normalize(options) { - const normalized = {}; - const restOptionsArray = [options]; - const applyNormalization = () => { - while (restOptionsArray.length !== 0) { - const currentOptions = restOptionsArray.shift(); - const transferredOptionsArray = this._applyNormalization(currentOptions, normalized); - restOptionsArray.push(...transferredOptionsArray); - } - }; - applyNormalization(); - for (const key of Object.keys(this._utils.schemas)) { - const schema = this._utils.schemas[key]; - if (!(key in normalized)) { - const defaultResult = utils_1.normalizeDefaultResult(schema.default(this._utils)); - if ("value" in defaultResult) { - restOptionsArray.push({ - [key]: defaultResult.value - }); - } - } - } - applyNormalization(); - for (const key of Object.keys(this._utils.schemas)) { - const schema = this._utils.schemas[key]; - if (key in normalized) { - normalized[key] = schema.postprocess(normalized[key], this._utils); - } - } - return normalized; - } - _applyNormalization(options, normalized) { - const transferredOptionsArray = []; - const [knownOptionNames, unknownOptionNames] = utils_1.partition(Object.keys(options), (key) => key in this._utils.schemas); - for (const key of knownOptionNames) { - const schema = this._utils.schemas[key]; - const value = schema.preprocess(options[key], this._utils); - const validateResult = utils_1.normalizeValidateResult(schema.validate(value, this._utils), value); - if (validateResult !== true) { - const { - value: invalidValue - } = validateResult; - const errorMessageOrError = this._invalidHandler(key, invalidValue, this._utils); - throw typeof errorMessageOrError === "string" ? new Error(errorMessageOrError) : errorMessageOrError; - } - const appendTransferredOptions = ({ - from, - to - }) => { - transferredOptionsArray.push(typeof to === "string" ? { - [to]: from - } : { - [to.key]: to.value - }); - }; - const warnDeprecated = ({ - value: currentValue, - redirectTo - }) => { - const deprecatedResult = utils_1.normalizeDeprecatedResult(schema.deprecated(currentValue, this._utils), value, true); - if (deprecatedResult === false) { - return; - } - if (deprecatedResult === true) { - if (!this._hasDeprecationWarned(key)) { - this._utils.logger.warn(this._deprecatedHandler(key, redirectTo, this._utils)); - } - } else { - for (const { - value: deprecatedValue - } of deprecatedResult) { - const pair = { - key, - value: deprecatedValue - }; - if (!this._hasDeprecationWarned(pair)) { - const redirectToPair = typeof redirectTo === "string" ? { - key: redirectTo, - value: deprecatedValue - } : redirectTo; - this._utils.logger.warn(this._deprecatedHandler(pair, redirectToPair, this._utils)); - } - } - } - }; - const forwardResult = utils_1.normalizeForwardResult(schema.forward(value, this._utils), value); - forwardResult.forEach(appendTransferredOptions); - const redirectResult = utils_1.normalizeRedirectResult(schema.redirect(value, this._utils), value); - redirectResult.redirect.forEach(appendTransferredOptions); - if ("remain" in redirectResult) { - const remainingValue = redirectResult.remain; - normalized[key] = key in normalized ? schema.overlap(normalized[key], remainingValue, this._utils) : remainingValue; - warnDeprecated({ - value: remainingValue - }); - } - for (const { - from, - to - } of redirectResult.redirect) { - warnDeprecated({ - value: from, - redirectTo: to - }); - } - } - for (const key of unknownOptionNames) { - const value = options[key]; - const unknownResult = this._unknownHandler(key, value, this._utils); - if (unknownResult) { - for (const unknownKey of Object.keys(unknownResult)) { - const unknownOption = { - [unknownKey]: unknownResult[unknownKey] - }; - if (unknownKey in this._utils.schemas) { - transferredOptionsArray.push(unknownOption); - } else { - Object.assign(normalized, unknownOption); - } - } - } - } - return transferredOptionsArray; - } - }; - exports2.Normalizer = Normalizer; - } -}); -var require_lib2 = __commonJS2({ - "node_modules/vnopts/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_descriptors2(), exports2); - tslib_1.__exportStar(require_handlers(), exports2); - tslib_1.__exportStar(require_schemas(), exports2); - tslib_1.__exportStar(require_normalize(), exports2); - tslib_1.__exportStar(require_schema(), exports2); - } -}); -var require_options_normalizer = __commonJS2({ - "src/main/options-normalizer.js"(exports2, module2) { - "use strict"; - var vnopts = require_lib2(); - var getLast = require_get_last(); - var cliDescriptor = { - key: (key) => key.length === 1 ? `-${key}` : `--${key}`, - value: (value) => vnopts.apiDescriptor.value(value), - pair: ({ - key, - value - }) => value === false ? `--no-${key}` : value === true ? cliDescriptor.key(key) : value === "" ? `${cliDescriptor.key(key)} without an argument` : `${cliDescriptor.key(key)}=${value}` - }; - var getFlagSchema = ({ - colorsModule, - levenshteinDistance - }) => class FlagSchema extends vnopts.ChoiceSchema { - constructor({ - name, - flags - }) { - super({ - name, - choices: flags - }); - this._flags = [...flags].sort(); - } - preprocess(value, utils) { - if (typeof value === "string" && value.length > 0 && !this._flags.includes(value)) { - const suggestion = this._flags.find((flag) => levenshteinDistance(flag, value) < 3); - if (suggestion) { - utils.logger.warn([`Unknown flag ${colorsModule.yellow(utils.descriptor.value(value))},`, `did you mean ${colorsModule.blue(utils.descriptor.value(suggestion))}?`].join(" ")); - return suggestion; - } - } - return value; - } - expected() { - return "a flag"; - } - }; - var hasDeprecationWarned; - function normalizeOptions(options, optionInfos, { - logger = false, - isCLI = false, - passThrough = false, - colorsModule = null, - levenshteinDistance = null - } = {}) { - const unknown = !passThrough ? (key, value, options2) => { - const _options2$schemas = options2.schemas, { - _ - } = _options2$schemas, schemas2 = _objectWithoutProperties(_options2$schemas, _excluded2); - return vnopts.levenUnknownHandler(key, value, Object.assign(Object.assign({}, options2), {}, { - schemas: schemas2 - })); - } : Array.isArray(passThrough) ? (key, value) => !passThrough.includes(key) ? void 0 : { - [key]: value - } : (key, value) => ({ - [key]: value - }); - const descriptor = isCLI ? cliDescriptor : vnopts.apiDescriptor; - const schemas = optionInfosToSchemas(optionInfos, { - isCLI, - colorsModule, - levenshteinDistance - }); - const normalizer = new vnopts.Normalizer(schemas, { - logger, - unknown, - descriptor - }); - const shouldSuppressDuplicateDeprecationWarnings = logger !== false; - if (shouldSuppressDuplicateDeprecationWarnings && hasDeprecationWarned) { - normalizer._hasDeprecationWarned = hasDeprecationWarned; - } - const normalized = normalizer.normalize(options); - if (shouldSuppressDuplicateDeprecationWarnings) { - hasDeprecationWarned = normalizer._hasDeprecationWarned; - } - if (isCLI && normalized["plugin-search"] === false) { - normalized["plugin-search-dir"] = false; - } - return normalized; - } - function optionInfosToSchemas(optionInfos, { - isCLI, - colorsModule, - levenshteinDistance - }) { - const schemas = []; - if (isCLI) { - schemas.push(vnopts.AnySchema.create({ - name: "_" - })); - } - for (const optionInfo of optionInfos) { - schemas.push(optionInfoToSchema(optionInfo, { - isCLI, - optionInfos, - colorsModule, - levenshteinDistance - })); - if (optionInfo.alias && isCLI) { - schemas.push(vnopts.AliasSchema.create({ - name: optionInfo.alias, - sourceName: optionInfo.name - })); - } - } - return schemas; - } - function optionInfoToSchema(optionInfo, { - isCLI, - optionInfos, - colorsModule, - levenshteinDistance - }) { - const { - name - } = optionInfo; - if (name === "plugin-search-dir" || name === "pluginSearchDirs") { - return vnopts.AnySchema.create({ - name, - preprocess(value) { - if (value === false) { - return value; - } - value = Array.isArray(value) ? value : [value]; - return value; - }, - validate(value) { - if (value === false) { - return true; - } - return value.every((dir) => typeof dir === "string"); - }, - expected() { - return "false or paths to plugin search dir"; - } - }); - } - const parameters = { - name - }; - let SchemaConstructor; - const handlers = {}; - switch (optionInfo.type) { - case "int": - SchemaConstructor = vnopts.IntegerSchema; - if (isCLI) { - parameters.preprocess = Number; - } - break; - case "string": - SchemaConstructor = vnopts.StringSchema; - break; - case "choice": - SchemaConstructor = vnopts.ChoiceSchema; - parameters.choices = optionInfo.choices.map((choiceInfo) => typeof choiceInfo === "object" && choiceInfo.redirect ? Object.assign(Object.assign({}, choiceInfo), {}, { - redirect: { - to: { - key: optionInfo.name, - value: choiceInfo.redirect - } - } - }) : choiceInfo); - break; - case "boolean": - SchemaConstructor = vnopts.BooleanSchema; - break; - case "flag": - SchemaConstructor = getFlagSchema({ - colorsModule, - levenshteinDistance - }); - parameters.flags = optionInfos.flatMap((optionInfo2) => [optionInfo2.alias, optionInfo2.description && optionInfo2.name, optionInfo2.oppositeDescription && `no-${optionInfo2.name}`].filter(Boolean)); - break; - case "path": - SchemaConstructor = vnopts.StringSchema; - break; - default: - throw new Error(`Unexpected type ${optionInfo.type}`); - } - if (optionInfo.exception) { - parameters.validate = (value, schema, utils) => optionInfo.exception(value) || schema.validate(value, utils); - } else { - parameters.validate = (value, schema, utils) => value === void 0 || schema.validate(value, utils); - } - if (optionInfo.redirect) { - handlers.redirect = (value) => !value ? void 0 : { - to: { - key: optionInfo.redirect.option, - value: optionInfo.redirect.value - } - }; - } - if (optionInfo.deprecated) { - handlers.deprecated = true; - } - if (isCLI && !optionInfo.array) { - const originalPreprocess = parameters.preprocess || ((x) => x); - parameters.preprocess = (value, schema, utils) => schema.preprocess(originalPreprocess(Array.isArray(value) ? getLast(value) : value), utils); - } - return optionInfo.array ? vnopts.ArraySchema.create(Object.assign(Object.assign(Object.assign({}, isCLI ? { - preprocess: (v) => Array.isArray(v) ? v : [v] - } : {}), handlers), {}, { - valueSchema: SchemaConstructor.create(parameters) - })) : SchemaConstructor.create(Object.assign(Object.assign({}, parameters), handlers)); - } - function normalizeApiOptions(options, optionInfos, opts) { - return normalizeOptions(options, optionInfos, opts); - } - function normalizeCliOptions(options, optionInfos, opts) { - if (false) { - if (!opts.colorsModule) { - throw new Error("'colorsModule' option is required."); - } - if (!opts.levenshteinDistance) { - throw new Error("'levenshteinDistance' option is required."); - } - } - return normalizeOptions(options, optionInfos, Object.assign({ - isCLI: true - }, opts)); - } - module2.exports = { - normalizeApiOptions, - normalizeCliOptions - }; - } -}); -var require_loc = __commonJS2({ - "src/language-js/loc.js"(exports2, module2) { - "use strict"; - var isNonEmptyArray = require_is_non_empty_array(); - function locStart(node) { - var _node$declaration$dec, _node$declaration; - const start = node.range ? node.range[0] : node.start; - const decorators = (_node$declaration$dec = (_node$declaration = node.declaration) === null || _node$declaration === void 0 ? void 0 : _node$declaration.decorators) !== null && _node$declaration$dec !== void 0 ? _node$declaration$dec : node.decorators; - if (isNonEmptyArray(decorators)) { - return Math.min(locStart(decorators[0]), start); - } - return start; - } - function locEnd(node) { - return node.range ? node.range[1] : node.end; - } - function hasSameLocStart(nodeA, nodeB) { - const nodeAStart = locStart(nodeA); - return Number.isInteger(nodeAStart) && nodeAStart === locStart(nodeB); - } - function hasSameLocEnd(nodeA, nodeB) { - const nodeAEnd = locEnd(nodeA); - return Number.isInteger(nodeAEnd) && nodeAEnd === locEnd(nodeB); - } - function hasSameLoc(nodeA, nodeB) { - return hasSameLocStart(nodeA, nodeB) && hasSameLocEnd(nodeA, nodeB); - } - module2.exports = { - locStart, - locEnd, - hasSameLocStart, - hasSameLoc - }; - } -}); -var require_load_parser = __commonJS2({ - "src/main/load-parser.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var { - ConfigError - } = require_errors(); - var { - locStart, - locEnd - } = require_loc(); - function requireParser(parser) { - try { - return { - parse: require(path.resolve(process.cwd(), parser)), - astFormat: "estree", - locStart, - locEnd - }; - } catch { - throw new ConfigError(`Couldn't resolve parser "${parser}"`); - } - } - module2.exports = requireParser; - } -}); -var require_js_tokens = __commonJS2({ - "node_modules/js-tokens/index.js"(exports2) { - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; - exports2.matchToToken = function(match) { - var token = { - type: "invalid", - value: match[0], - closed: void 0 - }; - if (match[1]) - token.type = "string", token.closed = !!(match[3] || match[4]); - else if (match[5]) - token.type = "comment"; - else if (match[6]) - token.type = "comment", token.closed = !!match[7]; - else if (match[8]) - token.type = "regex"; - else if (match[9]) - token.type = "number"; - else if (match[10]) - token.type = "name"; - else if (match[11]) - token.type = "punctuator"; - else if (match[12]) - token.type = "whitespace"; - return token; - }; - } -}); -var require_identifier = __commonJS2({ - "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isIdentifierChar = isIdentifierChar; - exports2.isIdentifierName = isIdentifierName; - exports2.isIdentifierStart = isIdentifierStart; - var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; - var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; - var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); - var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); - nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; - var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191]; - var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; - function isInAstralSet(code, set) { - let pos = 65536; - for (let i = 0, length = set.length; i < length; i += 2) { - pos += set[i]; - if (pos > code) - return false; - pos += set[i + 1]; - if (pos >= code) - return true; - } - return false; - } - function isIdentifierStart(code) { - if (code < 65) - return code === 36; - if (code <= 90) - return true; - if (code < 97) - return code === 95; - if (code <= 122) - return true; - if (code <= 65535) { - return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code)); - } - return isInAstralSet(code, astralIdentifierStartCodes); - } - function isIdentifierChar(code) { - if (code < 48) - return code === 36; - if (code < 58) - return true; - if (code < 65) - return false; - if (code <= 90) - return true; - if (code < 97) - return code === 95; - if (code <= 122) - return true; - if (code <= 65535) { - return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code)); - } - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); - } - function isIdentifierName(name) { - let isFirst = true; - for (let i = 0; i < name.length; i++) { - let cp = name.charCodeAt(i); - if ((cp & 64512) === 55296 && i + 1 < name.length) { - const trail = name.charCodeAt(++i); - if ((trail & 64512) === 56320) { - cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); - } - } - if (isFirst) { - isFirst = false; - if (!isIdentifierStart(cp)) { - return false; - } - } else if (!isIdentifierChar(cp)) { - return false; - } - } - return !isFirst; - } - } -}); -var require_keyword = __commonJS2({ - "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isKeyword = isKeyword; - exports2.isReservedWord = isReservedWord; - exports2.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; - exports2.isStrictBindReservedWord = isStrictBindReservedWord; - exports2.isStrictReservedWord = isStrictReservedWord; - var reservedWords = { - keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], - strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], - strictBind: ["eval", "arguments"] - }; - var keywords = new Set(reservedWords.keyword); - var reservedWordsStrictSet = new Set(reservedWords.strict); - var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); - function isReservedWord(word, inModule) { - return inModule && word === "await" || word === "enum"; - } - function isStrictReservedWord(word, inModule) { - return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); - } - function isStrictBindOnlyReservedWord(word) { - return reservedWordsStrictBindSet.has(word); - } - function isStrictBindReservedWord(word, inModule) { - return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); - } - function isKeyword(word) { - return keywords.has(word); - } - } -}); -var require_lib3 = __commonJS2({ - "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - Object.defineProperty(exports2, "isIdentifierChar", { - enumerable: true, - get: function() { - return _identifier.isIdentifierChar; - } - }); - Object.defineProperty(exports2, "isIdentifierName", { - enumerable: true, - get: function() { - return _identifier.isIdentifierName; - } - }); - Object.defineProperty(exports2, "isIdentifierStart", { - enumerable: true, - get: function() { - return _identifier.isIdentifierStart; - } - }); - Object.defineProperty(exports2, "isKeyword", { - enumerable: true, - get: function() { - return _keyword.isKeyword; - } - }); - Object.defineProperty(exports2, "isReservedWord", { - enumerable: true, - get: function() { - return _keyword.isReservedWord; - } - }); - Object.defineProperty(exports2, "isStrictBindOnlyReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictBindOnlyReservedWord; - } - }); - Object.defineProperty(exports2, "isStrictBindReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictBindReservedWord; - } - }); - Object.defineProperty(exports2, "isStrictReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictReservedWord; - } - }); - var _identifier = require_identifier(); - var _keyword = require_keyword(); - } -}); -var require_escape_string_regexp2 = __commonJS2({ - "node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js"(exports2, module2) { - "use strict"; - var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - module2.exports = function(str) { - if (typeof str !== "string") { - throw new TypeError("Expected a string"); - } - return str.replace(matchOperatorsRe, "\\$&"); - }; - } -}); -var require_has_flag2 = __commonJS2({ - "node_modules/@babel/highlight/node_modules/has-flag/index.js"(exports2, module2) { - "use strict"; - module2.exports = (flag, argv) => { - argv = argv || process.argv; - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; - const pos = argv.indexOf(prefix + flag); - const terminatorPos = argv.indexOf("--"); - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); - }; - } -}); -var require_supports_color2 = __commonJS2({ - "node_modules/@babel/highlight/node_modules/supports-color/index.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var hasFlag = require_has_flag2(); - var env = process.env; - var forceColor; - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) { - forceColor = false; - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { - forceColor = true; - } - if ("FORCE_COLOR" in env) { - forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; - } - function translateLevel(level) { - if (level === 0) { - return false; - } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; - } - function supportsColor(stream) { - if (forceColor === false) { - return 0; - } - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { - return 3; - } - if (hasFlag("color=256")) { - return 2; - } - if (stream && !stream.isTTY && forceColor !== true) { - return 0; - } - const min = forceColor ? 1 : 0; - if (process.platform === "win32") { - const osRelease = os.release().split("."); - if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - return 1; - } - if ("CI" in env) { - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env) || env.CI_NAME === "codeship") { - return 1; - } - return min; - } - if ("TEAMCITY_VERSION" in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - if (env.COLORTERM === "truecolor") { - return 3; - } - if ("TERM_PROGRAM" in env) { - const version2 = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); - switch (env.TERM_PROGRAM) { - case "iTerm.app": - return version2 >= 3 ? 3 : 2; - case "Apple_Terminal": - return 2; - } - } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - if ("COLORTERM" in env) { - return 1; - } - if (env.TERM === "dumb") { - return min; - } - return min; - } - function getSupportLevel(stream) { - const level = supportsColor(stream); - return translateLevel(level); - } - module2.exports = { - supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr) - }; - } -}); -var require_templates2 = __commonJS2({ - "node_modules/@babel/highlight/node_modules/chalk/templates.js"(exports2, module2) { - "use strict"; - var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; - var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; - var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; - var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; - var ESCAPES = /* @__PURE__ */ new Map([["n", "\n"], ["r", "\r"], ["t", " "], ["b", "\b"], ["f", "\f"], ["v", "\v"], ["0", "\0"], ["\\", "\\"], ["e", "\x1B"], ["a", "\x07"]]); - function unescape(c) { - if (c[0] === "u" && c.length === 5 || c[0] === "x" && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - return ESCAPES.get(c) || c; - } - function parseArguments(name, args) { - const results = []; - const chunks = args.trim().split(/\s*,\s*/g); - let matches; - for (const chunk of chunks) { - if (!isNaN(chunk)) { - results.push(Number(chunk)); - } else if (matches = chunk.match(STRING_REGEX)) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - return results; - } - function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - const results = []; - let matches; - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - return results; - } - function buildStyle(chalk, styles) { - const enabled = {}; - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - let current = chalk; - for (const styleName of Object.keys(enabled)) { - if (Array.isArray(enabled[styleName])) { - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - if (enabled[styleName].length > 0) { - current = current[styleName].apply(current, enabled[styleName]); - } else { - current = current[styleName]; - } - } - } - return current; - } - module2.exports = (chalk, tmp) => { - const styles = []; - const chunks = []; - let chunk = []; - tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { - if (escapeChar) { - chunk.push(unescape(escapeChar)); - } else if (style) { - const str = chunk.join(""); - chunk = []; - chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); - styles.push({ - inverse, - styles: parseStyle(style) - }); - } else if (close) { - if (styles.length === 0) { - throw new Error("Found extraneous } in Chalk template literal"); - } - chunks.push(buildStyle(chalk, styles)(chunk.join(""))); - chunk = []; - styles.pop(); - } else { - chunk.push(chr); - } - }); - chunks.push(chunk.join("")); - if (styles.length > 0) { - const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`; - throw new Error(errMsg); - } - return chunks.join(""); - }; - } -}); -var require_chalk2 = __commonJS2({ - "node_modules/@babel/highlight/node_modules/chalk/index.js"(exports2, module2) { - "use strict"; - var escapeStringRegexp2 = require_escape_string_regexp2(); - var ansiStyles = require_ansi_styles(); - var stdoutColor = require_supports_color2().stdout; - var template = require_templates2(); - var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm"); - var levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"]; - var skipModels = /* @__PURE__ */ new Set(["gray"]); - var styles = /* @__PURE__ */ Object.create(null); - function applyOptions(obj, options) { - options = options || {}; - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === void 0 ? scLevel : options.level; - obj.enabled = "enabled" in options ? options.enabled : obj.level > 0; - } - function Chalk(options) { - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); - chalk.template = function() { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - chalk.template.constructor = Chalk; - return chalk.template; - } - applyOptions(this, options); - } - if (isSimpleWindowsTerm) { - ansiStyles.blue.open = "\x1B[94m"; - } - for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp2(ansiStyles[key].close), "g"); - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; - } - styles.visible = { - get() { - return build.call(this, this._styles || [], true, "visible"); - } - }; - ansiStyles.color.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.color.close), "g"); - for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - styles[model] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; - } - ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.bgColor.close), "g"); - for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; - } - var proto = Object.defineProperties(() => { - }, styles); - function build(_styles, _empty, key) { - const builder = function() { - return applyStyle.apply(builder, arguments); - }; - builder._styles = _styles; - builder._empty = _empty; - const self2 = this; - Object.defineProperty(builder, "level", { - enumerable: true, - get() { - return self2.level; - }, - set(level) { - self2.level = level; - } - }); - Object.defineProperty(builder, "enabled", { - enumerable: true, - get() { - return self2.enabled; - }, - set(enabled) { - self2.enabled = enabled; - } - }); - builder.hasGrey = this.hasGrey || key === "gray" || key === "grey"; - builder.__proto__ = proto; - return builder; - } - function applyStyle() { - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - if (argsLen === 0) { - return ""; - } - if (argsLen > 1) { - for (let a = 1; a < argsLen; a++) { - str += " " + args[a]; - } - } - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? "" : str; - } - const originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ""; - } - for (const code of this._styles.slice().reverse()) { - str = code.open + str.replace(code.closeRe, code.open) + code.close; - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } - ansiStyles.dim.open = originalDim; - return str; - } - function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - return [].slice.call(arguments, 1).join(" "); - } - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&")); - parts.push(String(strings.raw[i])); - } - return template(chalk, parts.join("")); - } - Object.defineProperties(Chalk.prototype, styles); - module2.exports = Chalk(); - module2.exports.supportsColor = stdoutColor; - module2.exports.default = module2.exports; - } -}); -var require_lib4 = __commonJS2({ - "node_modules/@babel/highlight/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = highlight; - exports2.getChalk = getChalk; - exports2.shouldHighlight = shouldHighlight; - var _jsTokens = require_js_tokens(); - var _helperValidatorIdentifier = require_lib3(); - var _chalk = require_chalk2(); - var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]); - function getDefs(chalk) { - return { - keyword: chalk.cyan, - capitalized: chalk.yellow, - jsxIdentifier: chalk.yellow, - punctuator: chalk.yellow, - number: chalk.magenta, - string: chalk.green, - regex: chalk.magenta, - comment: chalk.grey, - invalid: chalk.white.bgRed.bold - }; - } - var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - var BRACKET = /^[()[\]{}]$/; - var tokenize; - { - const JSX_TAG = /^[a-z][\w-]*$/i; - const getTokenType = function(token, offset, text) { - if (token.type === "name") { - if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { - return "keyword"; - } - if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) == " colorize(str)).join("\n"); - } else { - highlighted += value; - } - } - return highlighted; - } - function shouldHighlight(options) { - return !!_chalk.supportsColor || options.forceColor; - } - function getChalk(options) { - return options.forceColor ? new _chalk.constructor({ - enabled: true, - level: 1 - }) : _chalk; - } - function highlight(code, options = {}) { - if (code !== "" && shouldHighlight(options)) { - const chalk = getChalk(options); - const defs = getDefs(chalk); - return highlightTokens(defs, code); - } else { - return code; - } - } - } -}); -var require_lib5 = __commonJS2({ - "node_modules/@babel/code-frame/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.codeFrameColumns = codeFrameColumns; - exports2.default = _default; - var _highlight = require_lib4(); - var deprecationWarningShown = false; - function getDefs(chalk) { - return { - gutter: chalk.grey, - marker: chalk.red.bold, - message: chalk.red.bold - }; - } - var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - function getMarkerLines(loc, source, opts) { - const startLoc = Object.assign({ - column: 0, - line: -1 - }, loc.start); - const endLoc = Object.assign({}, startLoc, loc.end); - const { - linesAbove = 2, - linesBelow = 3 - } = opts || {}; - const startLine = startLoc.line; - const startColumn = startLoc.column; - const endLine = endLoc.line; - const endColumn = endLoc.column; - let start = Math.max(startLine - (linesAbove + 1), 0); - let end = Math.min(source.length, endLine + linesBelow); - if (startLine === -1) { - start = 0; - } - if (endLine === -1) { - end = source.length; - } - const lineDiff = endLine - startLine; - const markerLines = {}; - if (lineDiff) { - for (let i = 0; i <= lineDiff; i++) { - const lineNumber = i + startLine; - if (!startColumn) { - markerLines[lineNumber] = true; - } else if (i === 0) { - const sourceLength = source[lineNumber - 1].length; - markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; - } else if (i === lineDiff) { - markerLines[lineNumber] = [0, endColumn]; - } else { - const sourceLength = source[lineNumber - i].length; - markerLines[lineNumber] = [0, sourceLength]; - } - } - } else { - if (startColumn === endColumn) { - if (startColumn) { - markerLines[startLine] = [startColumn, 0]; - } else { - markerLines[startLine] = true; - } - } else { - markerLines[startLine] = [startColumn, endColumn - startColumn]; - } - } - return { - start, - end, - markerLines - }; - } - function codeFrameColumns(rawLines, loc, opts = {}) { - const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); - const chalk = (0, _highlight.getChalk)(opts); - const defs = getDefs(chalk); - const maybeHighlight = (chalkFn, string) => { - return highlighted ? chalkFn(string) : string; - }; - const lines = rawLines.split(NEWLINE); - const { - start, - end, - markerLines - } = getMarkerLines(loc, lines, opts); - const hasColumns = loc.start && typeof loc.start.column === "number"; - const numberMaxWidth = String(end).length; - const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; - let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => { - const number = start + 1 + index; - const paddedNumber = ` ${number}`.slice(-numberMaxWidth); - const gutter = ` ${paddedNumber} |`; - const hasMarker = markerLines[number]; - const lastMarkerLine = !markerLines[number + 1]; - if (hasMarker) { - let markerLine = ""; - if (Array.isArray(hasMarker)) { - const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); - const numberOfMarkers = hasMarker[1] || 1; - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); - if (lastMarkerLine && opts.message) { - markerLine += " " + maybeHighlight(defs.message, opts.message); - } - } - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); - } else { - return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`; - } - }).join("\n"); - if (opts.message && !hasColumns) { - frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message} -${frame}`; - } - if (highlighted) { - return chalk.reset(frame); - } else { - return frame; - } - } - function _default(rawLines, lineNumber, colNumber, opts = {}) { - if (!deprecationWarningShown) { - deprecationWarningShown = true; - const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; - if (process.emitWarning) { - process.emitWarning(message, "DeprecationWarning"); - } else { - const deprecationError = new Error(message); - deprecationError.name = "DeprecationWarning"; - console.warn(new Error(message)); - } - } - colNumber = Math.max(colNumber, 0); - const location = { - start: { - column: colNumber, - line: lineNumber - } - }; - return codeFrameColumns(rawLines, location, opts); - } - } -}); -var require_parser = __commonJS2({ - "src/main/parser.js"(exports2, module2) { - "use strict"; - var { - ConfigError - } = require_errors(); - var jsLoc = require_loc(); - var loadParser = require_load_parser(); - var { - locStart, - locEnd - } = jsLoc; - var ownNames = Object.getOwnPropertyNames; - var ownDescriptor = Object.getOwnPropertyDescriptor; - function getParsers(options) { - const parsers = {}; - for (const plugin of options.plugins) { - if (!plugin.parsers) { - continue; - } - for (const name of ownNames(plugin.parsers)) { - Object.defineProperty(parsers, name, ownDescriptor(plugin.parsers, name)); - } - } - return parsers; - } - function resolveParser(opts, parsers = getParsers(opts)) { - if (typeof opts.parser === "function") { - return { - parse: opts.parser, - astFormat: "estree", - locStart, - locEnd - }; - } - if (typeof opts.parser === "string") { - if (Object.prototype.hasOwnProperty.call(parsers, opts.parser)) { - return parsers[opts.parser]; - } - if (false) { - throw new ConfigError(`Couldn't resolve parser "${opts.parser}". Parsers must be explicitly added to the standalone bundle.`); - } - return loadParser(opts.parser); - } - } - function parse(text, opts) { - const parsers = getParsers(opts); - const parsersForCustomParserApi = Object.defineProperties({}, Object.fromEntries(Object.keys(parsers).map((parserName) => [parserName, { - enumerable: true, - get() { - return parsers[parserName].parse; - } - }]))); - const parser = resolveParser(opts, parsers); - try { - if (parser.preprocess) { - text = parser.preprocess(text, opts); - } - return { - text, - ast: parser.parse(text, parsersForCustomParserApi, opts) - }; - } catch (error) { - const { - loc - } = error; - if (loc) { - const { - codeFrameColumns - } = require_lib5(); - error.codeFrame = codeFrameColumns(text, loc, { - highlightCode: true - }); - error.message += "\n" + error.codeFrame; - throw error; - } - throw error; - } - } - module2.exports = { - parse, - resolveParser - }; - } -}); -var require_readlines = __commonJS2({ - "node_modules/n-readlines/readlines.js"(exports2, module2) { - "use strict"; - var fs = require("fs"); - var LineByLine = class { - constructor(file, options) { - options = options || {}; - if (!options.readChunk) - options.readChunk = 1024; - if (!options.newLineCharacter) { - options.newLineCharacter = 10; - } else { - options.newLineCharacter = options.newLineCharacter.charCodeAt(0); - } - if (typeof file === "number") { - this.fd = file; - } else { - this.fd = fs.openSync(file, "r"); - } - this.options = options; - this.newLineCharacter = options.newLineCharacter; - this.reset(); - } - _searchInBuffer(buffer, hexNeedle) { - let found = -1; - for (let i = 0; i <= buffer.length; i++) { - let b_byte = buffer[i]; - if (b_byte === hexNeedle) { - found = i; - break; - } - } - return found; - } - reset() { - this.eofReached = false; - this.linesCache = []; - this.fdPosition = 0; - } - close() { - fs.closeSync(this.fd); - this.fd = null; - } - _extractLines(buffer) { - let line; - const lines = []; - let bufferPosition = 0; - let lastNewLineBufferPosition = 0; - while (true) { - let bufferPositionValue = buffer[bufferPosition++]; - if (bufferPositionValue === this.newLineCharacter) { - line = buffer.slice(lastNewLineBufferPosition, bufferPosition); - lines.push(line); - lastNewLineBufferPosition = bufferPosition; - } else if (bufferPositionValue === void 0) { - break; - } - } - let leftovers = buffer.slice(lastNewLineBufferPosition, bufferPosition); - if (leftovers.length) { - lines.push(leftovers); - } - return lines; - } - _readChunk(lineLeftovers) { - let totalBytesRead = 0; - let bytesRead; - const buffers = []; - do { - const readBuffer = new Buffer(this.options.readChunk); - bytesRead = fs.readSync(this.fd, readBuffer, 0, this.options.readChunk, this.fdPosition); - totalBytesRead = totalBytesRead + bytesRead; - this.fdPosition = this.fdPosition + bytesRead; - buffers.push(readBuffer); - } while (bytesRead && this._searchInBuffer(buffers[buffers.length - 1], this.options.newLineCharacter) === -1); - let bufferData = Buffer.concat(buffers); - if (bytesRead < this.options.readChunk) { - this.eofReached = true; - bufferData = bufferData.slice(0, totalBytesRead); - } - if (totalBytesRead) { - this.linesCache = this._extractLines(bufferData); - if (lineLeftovers) { - this.linesCache[0] = Buffer.concat([lineLeftovers, this.linesCache[0]]); - } - } - return totalBytesRead; - } - next() { - if (!this.fd) - return false; - let line = false; - if (this.eofReached && this.linesCache.length === 0) { - return line; - } - let bytesRead; - if (!this.linesCache.length) { - bytesRead = this._readChunk(); - } - if (this.linesCache.length) { - line = this.linesCache.shift(); - const lastLineCharacter = line[line.length - 1]; - if (lastLineCharacter !== this.newLineCharacter) { - bytesRead = this._readChunk(line); - if (bytesRead) { - line = this.linesCache.shift(); - } - } - } - if (this.eofReached && this.linesCache.length === 0) { - this.close(); - } - if (line && line[line.length - 1] === this.newLineCharacter) { - line = line.slice(0, line.length - 1); - } - return line; - } - }; - module2.exports = LineByLine; - } -}); -var require_get_interpreter = __commonJS2({ - "src/utils/get-interpreter.js"(exports2, module2) { - "use strict"; - var fs = require("fs"); - var readlines = require_readlines(); - function getInterpreter(filepath) { - if (typeof filepath !== "string") { - return ""; - } - let fd; - try { - fd = fs.openSync(filepath, "r"); - } catch { - return ""; - } - try { - const liner = new readlines(fd); - const firstLine = liner.next().toString("utf8"); - const m1 = firstLine.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/); - if (m1) { - return m1[1]; - } - const m2 = firstLine.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/); - if (m2) { - return m2[1]; - } - return ""; - } catch { - return ""; - } finally { - try { - fs.closeSync(fd); - } catch { - } - } - } - module2.exports = getInterpreter; - } -}); -var require_options = __commonJS2({ - "src/main/options.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var { - UndefinedParserError - } = require_errors(); - var { - getSupportInfo: getSupportInfo2 - } = require_support(); - var normalizer = require_options_normalizer(); - var { - resolveParser - } = require_parser(); - var hiddenDefaults = { - astFormat: "estree", - printer: {}, - originalText: void 0, - locStart: null, - locEnd: null - }; - function normalize(options, opts = {}) { - const rawOptions = Object.assign({}, options); - const supportOptions = getSupportInfo2({ - plugins: options.plugins, - showUnreleased: true, - showDeprecated: true - }).options; - const defaults = Object.assign(Object.assign({}, hiddenDefaults), Object.fromEntries(supportOptions.filter((optionInfo) => optionInfo.default !== void 0).map((option) => [option.name, option.default]))); - if (!rawOptions.parser) { - if (!rawOptions.filepath) { - const logger = opts.logger || console; - logger.warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."); - rawOptions.parser = "babel"; - } else { - rawOptions.parser = inferParser(rawOptions.filepath, rawOptions.plugins); - if (!rawOptions.parser) { - throw new UndefinedParserError(`No parser could be inferred for file: ${rawOptions.filepath}`); - } - } - } - const parser = resolveParser(normalizer.normalizeApiOptions(rawOptions, [supportOptions.find((x) => x.name === "parser")], { - passThrough: true, - logger: false - })); - rawOptions.astFormat = parser.astFormat; - rawOptions.locEnd = parser.locEnd; - rawOptions.locStart = parser.locStart; - const plugin = getPlugin(rawOptions); - rawOptions.printer = plugin.printers[rawOptions.astFormat]; - const pluginDefaults = Object.fromEntries(supportOptions.filter((optionInfo) => optionInfo.pluginDefaults && optionInfo.pluginDefaults[plugin.name] !== void 0).map((optionInfo) => [optionInfo.name, optionInfo.pluginDefaults[plugin.name]])); - const mixedDefaults = Object.assign(Object.assign({}, defaults), pluginDefaults); - for (const [k, value] of Object.entries(mixedDefaults)) { - if (rawOptions[k] === null || rawOptions[k] === void 0) { - rawOptions[k] = value; - } - } - if (rawOptions.parser === "json") { - rawOptions.trailingComma = "none"; - } - return normalizer.normalizeApiOptions(rawOptions, supportOptions, Object.assign({ - passThrough: Object.keys(hiddenDefaults) - }, opts)); - } - function getPlugin(options) { - const { - astFormat - } = options; - if (!astFormat) { - throw new Error("getPlugin() requires astFormat to be set"); - } - const printerPlugin = options.plugins.find((plugin) => plugin.printers && plugin.printers[astFormat]); - if (!printerPlugin) { - throw new Error(`Couldn't find plugin for AST format "${astFormat}"`); - } - return printerPlugin; - } - function inferParser(filepath, plugins2) { - const filename = path.basename(filepath).toLowerCase(); - const languages = getSupportInfo2({ - plugins: plugins2 - }).languages.filter((language2) => language2.since !== null); - let language = languages.find((language2) => language2.extensions && language2.extensions.some((extension) => filename.endsWith(extension)) || language2.filenames && language2.filenames.some((name) => name.toLowerCase() === filename)); - if (!language && !filename.includes(".")) { - const getInterpreter = require_get_interpreter(); - const interpreter = getInterpreter(filepath); - language = languages.find((language2) => language2.interpreters && language2.interpreters.includes(interpreter)); - } - return language && language.parsers[0]; - } - module2.exports = { - normalize, - hiddenDefaults, - inferParser - }; - } -}); -var require_massage_ast = __commonJS2({ - "src/main/massage-ast.js"(exports2, module2) { - "use strict"; - function massageAST(ast, options, parent) { - if (Array.isArray(ast)) { - return ast.map((e) => massageAST(e, options, parent)).filter(Boolean); - } - if (!ast || typeof ast !== "object") { - return ast; - } - const cleanFunction = options.printer.massageAstNode; - let ignoredProperties; - if (cleanFunction && cleanFunction.ignoredProperties) { - ignoredProperties = cleanFunction.ignoredProperties; - } else { - ignoredProperties = /* @__PURE__ */ new Set(); - } - const newObj = {}; - for (const [key, value] of Object.entries(ast)) { - if (!ignoredProperties.has(key) && typeof value !== "function") { - newObj[key] = massageAST(value, options, ast); - } - } - if (cleanFunction) { - const result = cleanFunction(ast, newObj, parent); - if (result === null) { - return; - } - if (result) { - return result; - } - } - return newObj; - } - module2.exports = massageAST; - } -}); -var require_comments = __commonJS2({ - "src/main/comments.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { - builders: { - line, - hardline, - breakParent, - indent, - lineSuffix, - join, - cursor - } - } = require("./doc.js"); - var { - hasNewline, - skipNewline, - skipSpaces, - isPreviousLineEmpty, - addLeadingComment, - addDanglingComment, - addTrailingComment - } = require_util(); - var childNodesCache = /* @__PURE__ */ new WeakMap(); - function getSortedChildNodes(node, options, resultArray) { - if (!node) { - return; - } - const { - printer, - locStart, - locEnd - } = options; - if (resultArray) { - if (printer.canAttachComment && printer.canAttachComment(node)) { - let i; - for (i = resultArray.length - 1; i >= 0; --i) { - if (locStart(resultArray[i]) <= locStart(node) && locEnd(resultArray[i]) <= locEnd(node)) { - break; - } - } - resultArray.splice(i + 1, 0, node); - return; - } - } else if (childNodesCache.has(node)) { - return childNodesCache.get(node); - } - const childNodes = printer.getCommentChildNodes && printer.getCommentChildNodes(node, options) || typeof node === "object" && Object.entries(node).filter(([key]) => key !== "enclosingNode" && key !== "precedingNode" && key !== "followingNode" && key !== "tokens" && key !== "comments" && key !== "parent").map(([, value]) => value); - if (!childNodes) { - return; - } - if (!resultArray) { - resultArray = []; - childNodesCache.set(node, resultArray); - } - for (const childNode of childNodes) { - getSortedChildNodes(childNode, options, resultArray); - } - return resultArray; - } - function decorateComment(node, comment, options, enclosingNode) { - const { - locStart, - locEnd - } = options; - const commentStart = locStart(comment); - const commentEnd = locEnd(comment); - const childNodes = getSortedChildNodes(node, options); - let precedingNode; - let followingNode; - let left = 0; - let right = childNodes.length; - while (left < right) { - const middle = left + right >> 1; - const child = childNodes[middle]; - const start = locStart(child); - const end = locEnd(child); - if (start <= commentStart && commentEnd <= end) { - return decorateComment(child, comment, options, child); - } - if (end <= commentStart) { - precedingNode = child; - left = middle + 1; - continue; - } - if (commentEnd <= start) { - followingNode = child; - right = middle; - continue; - } - throw new Error("Comment location overlaps with node location"); - } - if (enclosingNode && enclosingNode.type === "TemplateLiteral") { - const { - quasis - } = enclosingNode; - const commentIndex = findExpressionIndexForComment(quasis, comment, options); - if (precedingNode && findExpressionIndexForComment(quasis, precedingNode, options) !== commentIndex) { - precedingNode = null; - } - if (followingNode && findExpressionIndexForComment(quasis, followingNode, options) !== commentIndex) { - followingNode = null; - } - } - return { - enclosingNode, - precedingNode, - followingNode - }; - } - var returnFalse = () => false; - function attach(comments, ast, text, options) { - if (!Array.isArray(comments)) { - return; - } - const tiesToBreak = []; - const { - locStart, - locEnd, - printer: { - handleComments = {} - } - } = options; - const { - avoidAstMutation, - ownLine: handleOwnLineComment = returnFalse, - endOfLine: handleEndOfLineComment = returnFalse, - remaining: handleRemainingComment = returnFalse - } = handleComments; - const decoratedComments = comments.map((comment, index) => Object.assign(Object.assign({}, decorateComment(ast, comment, options)), {}, { - comment, - text, - options, - ast, - isLastComment: comments.length - 1 === index - })); - for (const [index, context] of decoratedComments.entries()) { - const { - comment, - precedingNode, - enclosingNode, - followingNode, - text: text2, - options: options2, - ast: ast2, - isLastComment - } = context; - if (options2.parser === "json" || options2.parser === "json5" || options2.parser === "__js_expression" || options2.parser === "__vue_expression" || options2.parser === "__vue_ts_expression") { - if (locStart(comment) - locStart(ast2) <= 0) { - addLeadingComment(ast2, comment); - continue; - } - if (locEnd(comment) - locEnd(ast2) >= 0) { - addTrailingComment(ast2, comment); - continue; - } - } - let args; - if (avoidAstMutation) { - args = [context]; - } else { - comment.enclosingNode = enclosingNode; - comment.precedingNode = precedingNode; - comment.followingNode = followingNode; - args = [comment, text2, options2, ast2, isLastComment]; - } - if (isOwnLineComment(text2, options2, decoratedComments, index)) { - comment.placement = "ownLine"; - if (handleOwnLineComment(...args)) { - } else if (followingNode) { - addLeadingComment(followingNode, comment); - } else if (precedingNode) { - addTrailingComment(precedingNode, comment); - } else if (enclosingNode) { - addDanglingComment(enclosingNode, comment); - } else { - addDanglingComment(ast2, comment); - } - } else if (isEndOfLineComment(text2, options2, decoratedComments, index)) { - comment.placement = "endOfLine"; - if (handleEndOfLineComment(...args)) { - } else if (precedingNode) { - addTrailingComment(precedingNode, comment); - } else if (followingNode) { - addLeadingComment(followingNode, comment); - } else if (enclosingNode) { - addDanglingComment(enclosingNode, comment); - } else { - addDanglingComment(ast2, comment); - } - } else { - comment.placement = "remaining"; - if (handleRemainingComment(...args)) { - } else if (precedingNode && followingNode) { - const tieCount = tiesToBreak.length; - if (tieCount > 0) { - const lastTie = tiesToBreak[tieCount - 1]; - if (lastTie.followingNode !== followingNode) { - breakTies(tiesToBreak, text2, options2); - } - } - tiesToBreak.push(context); - } else if (precedingNode) { - addTrailingComment(precedingNode, comment); - } else if (followingNode) { - addLeadingComment(followingNode, comment); - } else if (enclosingNode) { - addDanglingComment(enclosingNode, comment); - } else { - addDanglingComment(ast2, comment); - } - } - } - breakTies(tiesToBreak, text, options); - if (!avoidAstMutation) { - for (const comment of comments) { - delete comment.precedingNode; - delete comment.enclosingNode; - delete comment.followingNode; - } - } - } - var isAllEmptyAndNoLineBreak = (text) => !/[\S\n\u2028\u2029]/.test(text); - function isOwnLineComment(text, options, decoratedComments, commentIndex) { - const { - comment, - precedingNode - } = decoratedComments[commentIndex]; - const { - locStart, - locEnd - } = options; - let start = locStart(comment); - if (precedingNode) { - for (let index = commentIndex - 1; index >= 0; index--) { - const { - comment: comment2, - precedingNode: currentCommentPrecedingNode - } = decoratedComments[index]; - if (currentCommentPrecedingNode !== precedingNode || !isAllEmptyAndNoLineBreak(text.slice(locEnd(comment2), start))) { - break; - } - start = locStart(comment2); - } - } - return hasNewline(text, start, { - backwards: true - }); - } - function isEndOfLineComment(text, options, decoratedComments, commentIndex) { - const { - comment, - followingNode - } = decoratedComments[commentIndex]; - const { - locStart, - locEnd - } = options; - let end = locEnd(comment); - if (followingNode) { - for (let index = commentIndex + 1; index < decoratedComments.length; index++) { - const { - comment: comment2, - followingNode: currentCommentFollowingNode - } = decoratedComments[index]; - if (currentCommentFollowingNode !== followingNode || !isAllEmptyAndNoLineBreak(text.slice(end, locStart(comment2)))) { - break; - } - end = locEnd(comment2); - } - } - return hasNewline(text, end); - } - function breakTies(tiesToBreak, text, options) { - const tieCount = tiesToBreak.length; - if (tieCount === 0) { - return; - } - const { - precedingNode, - followingNode, - enclosingNode - } = tiesToBreak[0]; - const gapRegExp = options.printer.getGapRegex && options.printer.getGapRegex(enclosingNode) || /^[\s(]*$/; - let gapEndPos = options.locStart(followingNode); - let indexOfFirstLeadingComment; - for (indexOfFirstLeadingComment = tieCount; indexOfFirstLeadingComment > 0; --indexOfFirstLeadingComment) { - const { - comment, - precedingNode: currentCommentPrecedingNode, - followingNode: currentCommentFollowingNode - } = tiesToBreak[indexOfFirstLeadingComment - 1]; - assert.strictEqual(currentCommentPrecedingNode, precedingNode); - assert.strictEqual(currentCommentFollowingNode, followingNode); - const gap = text.slice(options.locEnd(comment), gapEndPos); - if (gapRegExp.test(gap)) { - gapEndPos = options.locStart(comment); - } else { - break; - } - } - for (const [i, { - comment - }] of tiesToBreak.entries()) { - if (i < indexOfFirstLeadingComment) { - addTrailingComment(precedingNode, comment); - } else { - addLeadingComment(followingNode, comment); - } - } - for (const node of [precedingNode, followingNode]) { - if (node.comments && node.comments.length > 1) { - node.comments.sort((a, b) => options.locStart(a) - options.locStart(b)); - } - } - tiesToBreak.length = 0; - } - function printComment(path, options) { - const comment = path.getValue(); - comment.printed = true; - return options.printer.printComment(path, options); - } - function findExpressionIndexForComment(quasis, comment, options) { - const startPos = options.locStart(comment) - 1; - for (let i = 1; i < quasis.length; ++i) { - if (startPos < options.locStart(quasis[i])) { - return i - 1; - } - } - return 0; - } - function printLeadingComment(path, options) { - const comment = path.getValue(); - const parts = [printComment(path, options)]; - const { - printer, - originalText, - locStart, - locEnd - } = options; - const isBlock = printer.isBlockComment && printer.isBlockComment(comment); - if (isBlock) { - const lineBreak = hasNewline(originalText, locEnd(comment)) ? hasNewline(originalText, locStart(comment), { - backwards: true - }) ? hardline : line : " "; - parts.push(lineBreak); - } else { - parts.push(hardline); - } - const index = skipNewline(originalText, skipSpaces(originalText, locEnd(comment))); - if (index !== false && hasNewline(originalText, index)) { - parts.push(hardline); - } - return parts; - } - function printTrailingComment(path, options) { - const comment = path.getValue(); - const printed = printComment(path, options); - const { - printer, - originalText, - locStart - } = options; - const isBlock = printer.isBlockComment && printer.isBlockComment(comment); - if (hasNewline(originalText, locStart(comment), { - backwards: true - })) { - const isLineBeforeEmpty = isPreviousLineEmpty(originalText, comment, locStart); - return lineSuffix([hardline, isLineBeforeEmpty ? hardline : "", printed]); - } - let parts = [" ", printed]; - if (!isBlock) { - parts = [lineSuffix(parts), breakParent]; - } - return parts; - } - function printDanglingComments(path, options, sameIndent, filter) { - const parts = []; - const node = path.getValue(); - if (!node || !node.comments) { - return ""; - } - path.each(() => { - const comment = path.getValue(); - if (!comment.leading && !comment.trailing && (!filter || filter(comment))) { - parts.push(printComment(path, options)); - } - }, "comments"); - if (parts.length === 0) { - return ""; - } - if (sameIndent) { - return join(hardline, parts); - } - return indent([hardline, join(hardline, parts)]); - } - function printCommentsSeparately(path, options, ignored) { - const value = path.getValue(); - if (!value) { - return {}; - } - let comments = value.comments || []; - if (ignored) { - comments = comments.filter((comment) => !ignored.has(comment)); - } - const isCursorNode = value === options.cursorNode; - if (comments.length === 0) { - const maybeCursor = isCursorNode ? cursor : ""; - return { - leading: maybeCursor, - trailing: maybeCursor - }; - } - const leadingParts = []; - const trailingParts = []; - path.each(() => { - const comment = path.getValue(); - if (ignored && ignored.has(comment)) { - return; - } - const { - leading, - trailing - } = comment; - if (leading) { - leadingParts.push(printLeadingComment(path, options)); - } else if (trailing) { - trailingParts.push(printTrailingComment(path, options)); - } - }, "comments"); - if (isCursorNode) { - leadingParts.unshift(cursor); - trailingParts.push(cursor); - } - return { - leading: leadingParts, - trailing: trailingParts - }; - } - function printComments(path, doc2, options, ignored) { - const { - leading, - trailing - } = printCommentsSeparately(path, options, ignored); - if (!leading && !trailing) { - return doc2; - } - return [leading, doc2, trailing]; - } - function ensureAllCommentsPrinted(astComments) { - if (!astComments) { - return; - } - for (const comment of astComments) { - if (!comment.printed) { - throw new Error('Comment "' + comment.value.trim() + '" was not printed. Please report this error!'); - } - delete comment.printed; - } - } - module2.exports = { - attach, - printComments, - printCommentsSeparately, - printDanglingComments, - getSortedChildNodes, - ensureAllCommentsPrinted - }; - } -}); -var require_ast_path = __commonJS2({ - "src/common/ast-path.js"(exports2, module2) { - "use strict"; - var getLast = require_get_last(); - function getNodeHelper(path, count) { - const stackIndex = getNodeStackIndexHelper(path.stack, count); - return stackIndex === -1 ? null : path.stack[stackIndex]; - } - function getNodeStackIndexHelper(stack, count) { - for (let i = stack.length - 1; i >= 0; i -= 2) { - const value = stack[i]; - if (value && !Array.isArray(value) && --count < 0) { - return i; - } - } - return -1; - } - var AstPath = class { - constructor(value) { - this.stack = [value]; - } - getName() { - const { - stack - } = this; - const { - length - } = stack; - if (length > 1) { - return stack[length - 2]; - } - return null; - } - getValue() { - return getLast(this.stack); - } - getNode(count = 0) { - return getNodeHelper(this, count); - } - getParentNode(count = 0) { - return getNodeHelper(this, count + 1); - } - call(callback, ...names) { - const { - stack - } = this; - const { - length - } = stack; - let value = getLast(stack); - for (const name of names) { - value = value[name]; - stack.push(name, value); - } - const result = callback(this); - stack.length = length; - return result; - } - callParent(callback, count = 0) { - const stackIndex = getNodeStackIndexHelper(this.stack, count + 1); - const parentValues = this.stack.splice(stackIndex + 1); - const result = callback(this); - this.stack.push(...parentValues); - return result; - } - each(callback, ...names) { - const { - stack - } = this; - const { - length - } = stack; - let value = getLast(stack); - for (const name of names) { - value = value[name]; - stack.push(name, value); - } - for (let i = 0; i < value.length; ++i) { - stack.push(i, value[i]); - callback(this, i, value); - stack.length -= 2; - } - stack.length = length; - } - map(callback, ...names) { - const result = []; - this.each((path, index, value) => { - result[index] = callback(path, index, value); - }, ...names); - return result; - } - try(callback) { - const { - stack - } = this; - const stackBackup = [...stack]; - try { - return callback(); - } finally { - stack.length = 0; - stack.push(...stackBackup); - } - } - match(...predicates) { - let stackPointer = this.stack.length - 1; - let name = null; - let node = this.stack[stackPointer--]; - for (const predicate of predicates) { - if (node === void 0) { - return false; - } - let number = null; - if (typeof name === "number") { - number = name; - name = this.stack[stackPointer--]; - node = this.stack[stackPointer--]; - } - if (predicate && !predicate(node, name, number)) { - return false; - } - name = this.stack[stackPointer--]; - node = this.stack[stackPointer--]; - } - return true; - } - findAncestor(predicate) { - let stackPointer = this.stack.length - 1; - let name = null; - let node = this.stack[stackPointer--]; - while (node) { - let number = null; - if (typeof name === "number") { - number = name; - name = this.stack[stackPointer--]; - node = this.stack[stackPointer--]; - } - if (name !== null && predicate(node, name, number)) { - return node; - } - name = this.stack[stackPointer--]; - node = this.stack[stackPointer--]; - } - } - }; - module2.exports = AstPath; - } -}); -var require_multiparser = __commonJS2({ - "src/main/multiparser.js"(exports2, module2) { - "use strict"; - var { - utils: { - stripTrailingHardline - } - } = require("./doc.js"); - var { - normalize - } = require_options(); - var comments = require_comments(); - function printSubtree(path, print, options, printAstToDoc) { - if (options.printer.embed && options.embeddedLanguageFormatting === "auto") { - return options.printer.embed(path, print, (text, partialNextOptions, textToDocOptions) => textToDoc(text, partialNextOptions, options, printAstToDoc, textToDocOptions), options); - } - } - function textToDoc(text, partialNextOptions, parentOptions, printAstToDoc, { - stripTrailingHardline: shouldStripTrailingHardline = false - } = {}) { - const nextOptions = normalize(Object.assign(Object.assign(Object.assign({}, parentOptions), partialNextOptions), {}, { - parentParser: parentOptions.parser, - originalText: text - }), { - passThrough: true - }); - const result = require_parser().parse(text, nextOptions); - const { - ast - } = result; - text = result.text; - const astComments = ast.comments; - delete ast.comments; - comments.attach(astComments, ast, text, nextOptions); - nextOptions[Symbol.for("comments")] = astComments || []; - nextOptions[Symbol.for("tokens")] = ast.tokens || []; - const doc2 = printAstToDoc(ast, nextOptions); - comments.ensureAllCommentsPrinted(astComments); - if (shouldStripTrailingHardline) { - if (typeof doc2 === "string") { - return doc2.replace(/(?:\r?\n)*$/, ""); - } - return stripTrailingHardline(doc2); - } - return doc2; - } - module2.exports = { - printSubtree - }; - } -}); -var require_ast_to_doc = __commonJS2({ - "src/main/ast-to-doc.js"(exports2, module2) { - "use strict"; - var AstPath = require_ast_path(); - var { - builders: { - hardline, - addAlignmentToDoc - }, - utils: { - propagateBreaks - } - } = require("./doc.js"); - var { - printComments - } = require_comments(); - var multiparser = require_multiparser(); - function printAstToDoc(ast, options, alignmentSize = 0) { - const { - printer - } = options; - if (printer.preprocess) { - ast = printer.preprocess(ast, options); - } - const cache = /* @__PURE__ */ new Map(); - const path = new AstPath(ast); - let doc2 = mainPrint(); - if (alignmentSize > 0) { - doc2 = addAlignmentToDoc([hardline, doc2], alignmentSize, options.tabWidth); - } - propagateBreaks(doc2); - return doc2; - function mainPrint(selector, args) { - if (selector === void 0 || selector === path) { - return mainPrintInternal(args); - } - if (Array.isArray(selector)) { - return path.call(() => mainPrintInternal(args), ...selector); - } - return path.call(() => mainPrintInternal(args), selector); - } - function mainPrintInternal(args) { - const value = path.getValue(); - const shouldCache = value && typeof value === "object" && args === void 0; - if (shouldCache && cache.has(value)) { - return cache.get(value); - } - const doc3 = callPluginPrintFunction(path, options, mainPrint, args); - if (shouldCache) { - cache.set(value, doc3); - } - return doc3; - } - } - function printPrettierIgnoredNode(node, options) { - const { - originalText, - [Symbol.for("comments")]: comments, - locStart, - locEnd - } = options; - const start = locStart(node); - const end = locEnd(node); - const printedComments = /* @__PURE__ */ new Set(); - for (const comment of comments) { - if (locStart(comment) >= start && locEnd(comment) <= end) { - comment.printed = true; - printedComments.add(comment); - } - } - return { - doc: originalText.slice(start, end), - printedComments - }; - } - function callPluginPrintFunction(path, options, printPath, args) { - const node = path.getValue(); - const { - printer - } = options; - let doc2; - let printedComments; - if (printer.hasPrettierIgnore && printer.hasPrettierIgnore(path)) { - ({ - doc: doc2, - printedComments - } = printPrettierIgnoredNode(node, options)); - } else { - if (node) { - try { - doc2 = multiparser.printSubtree(path, printPath, options, printAstToDoc); - } catch (error) { - if (process.env.PRETTIER_DEBUG) { - throw error; - } - } - } - if (!doc2) { - doc2 = printer.print(path, options, printPath, args); - } - } - if (!printer.willPrintOwnComments || !printer.willPrintOwnComments(path, options)) { - doc2 = printComments(path, doc2, options, printedComments); - } - return doc2; - } - module2.exports = printAstToDoc; - } -}); -var require_range_util = __commonJS2({ - "src/main/range-util.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var comments = require_comments(); - var isJsonParser = ({ - parser - }) => parser === "json" || parser === "json5" || parser === "json-stringify"; - function findCommonAncestor(startNodeAndParents, endNodeAndParents) { - const startNodeAndAncestors = [startNodeAndParents.node, ...startNodeAndParents.parentNodes]; - const endNodeAndAncestors = /* @__PURE__ */ new Set([endNodeAndParents.node, ...endNodeAndParents.parentNodes]); - return startNodeAndAncestors.find((node) => jsonSourceElements.has(node.type) && endNodeAndAncestors.has(node)); - } - function dropRootParents(parents) { - let lastParentIndex = parents.length - 1; - for (; ; ) { - const parent = parents[lastParentIndex]; - if (parent && (parent.type === "Program" || parent.type === "File")) { - lastParentIndex--; - } else { - break; - } - } - return parents.slice(0, lastParentIndex + 1); - } - function findSiblingAncestors(startNodeAndParents, endNodeAndParents, { - locStart, - locEnd - }) { - let resultStartNode = startNodeAndParents.node; - let resultEndNode = endNodeAndParents.node; - if (resultStartNode === resultEndNode) { - return { - startNode: resultStartNode, - endNode: resultEndNode - }; - } - const startNodeStart = locStart(startNodeAndParents.node); - for (const endParent of dropRootParents(endNodeAndParents.parentNodes)) { - if (locStart(endParent) >= startNodeStart) { - resultEndNode = endParent; - } else { - break; - } - } - const endNodeEnd = locEnd(endNodeAndParents.node); - for (const startParent of dropRootParents(startNodeAndParents.parentNodes)) { - if (locEnd(startParent) <= endNodeEnd) { - resultStartNode = startParent; - } else { - break; - } - if (resultStartNode === resultEndNode) { - break; - } - } - return { - startNode: resultStartNode, - endNode: resultEndNode - }; - } - function findNodeAtOffset(node, offset, options, predicate, parentNodes = [], type) { - const { - locStart, - locEnd - } = options; - const start = locStart(node); - const end = locEnd(node); - if (offset > end || offset < start || type === "rangeEnd" && offset === start || type === "rangeStart" && offset === end) { - return; - } - for (const childNode of comments.getSortedChildNodes(node, options)) { - const childResult = findNodeAtOffset(childNode, offset, options, predicate, [node, ...parentNodes], type); - if (childResult) { - return childResult; - } - } - if (!predicate || predicate(node, parentNodes[0])) { - return { - node, - parentNodes - }; - } - } - function isJsSourceElement(type, parentType) { - return parentType !== "DeclareExportDeclaration" && type !== "TypeParameterDeclaration" && (type === "Directive" || type === "TypeAlias" || type === "TSExportAssignment" || type.startsWith("Declare") || type.startsWith("TSDeclare") || type.endsWith("Statement") || type.endsWith("Declaration")); - } - var jsonSourceElements = /* @__PURE__ */ new Set(["ObjectExpression", "ArrayExpression", "StringLiteral", "NumericLiteral", "BooleanLiteral", "NullLiteral", "UnaryExpression", "TemplateLiteral"]); - var graphqlSourceElements = /* @__PURE__ */ new Set(["OperationDefinition", "FragmentDefinition", "VariableDefinition", "TypeExtensionDefinition", "ObjectTypeDefinition", "FieldDefinition", "DirectiveDefinition", "EnumTypeDefinition", "EnumValueDefinition", "InputValueDefinition", "InputObjectTypeDefinition", "SchemaDefinition", "OperationTypeDefinition", "InterfaceTypeDefinition", "UnionTypeDefinition", "ScalarTypeDefinition"]); - function isSourceElement(opts, node, parentNode) { - if (!node) { - return false; - } - switch (opts.parser) { - case "flow": - case "babel": - case "babel-flow": - case "babel-ts": - case "typescript": - case "acorn": - case "espree": - case "meriyah": - case "__babel_estree": - return isJsSourceElement(node.type, parentNode && parentNode.type); - case "json": - case "json5": - case "json-stringify": - return jsonSourceElements.has(node.type); - case "graphql": - return graphqlSourceElements.has(node.kind); - case "vue": - return node.tag !== "root"; - } - return false; - } - function calculateRange(text, opts, ast) { - let { - rangeStart: start, - rangeEnd: end, - locStart, - locEnd - } = opts; - assert.ok(end > start); - const firstNonWhitespaceCharacterIndex = text.slice(start, end).search(/\S/); - const isAllWhitespace = firstNonWhitespaceCharacterIndex === -1; - if (!isAllWhitespace) { - start += firstNonWhitespaceCharacterIndex; - for (; end > start; --end) { - if (/\S/.test(text[end - 1])) { - break; - } - } - } - const startNodeAndParents = findNodeAtOffset(ast, start, opts, (node, parentNode) => isSourceElement(opts, node, parentNode), [], "rangeStart"); - const endNodeAndParents = isAllWhitespace ? startNodeAndParents : findNodeAtOffset(ast, end, opts, (node) => isSourceElement(opts, node), [], "rangeEnd"); - if (!startNodeAndParents || !endNodeAndParents) { - return { - rangeStart: 0, - rangeEnd: 0 - }; - } - let startNode; - let endNode; - if (isJsonParser(opts)) { - const commonAncestor = findCommonAncestor(startNodeAndParents, endNodeAndParents); - startNode = commonAncestor; - endNode = commonAncestor; - } else { - ({ - startNode, - endNode - } = findSiblingAncestors(startNodeAndParents, endNodeAndParents, opts)); - } - return { - rangeStart: Math.min(locStart(startNode), locStart(endNode)), - rangeEnd: Math.max(locEnd(startNode), locEnd(endNode)) - }; - } - module2.exports = { - calculateRange, - findNodeAtOffset - }; - } -}); -var require_core = __commonJS2({ - "src/main/core.js"(exports2, module2) { - "use strict"; - var { - diffArrays - } = require_array(); - var { - printer: { - printDocToString - }, - debug: { - printDocToDebug - } - } = require("./doc.js"); - var { - getAlignmentSize - } = require_util(); - var { - guessEndOfLine, - convertEndOfLineToChars, - countEndOfLineChars, - normalizeEndOfLine - } = require_end_of_line(); - var normalizeOptions = require_options().normalize; - var massageAST = require_massage_ast(); - var comments = require_comments(); - var parser = require_parser(); - var printAstToDoc = require_ast_to_doc(); - var rangeUtil = require_range_util(); - var BOM = "\uFEFF"; - var CURSOR = Symbol("cursor"); - function attachComments(text, ast, opts) { - const astComments = ast.comments; - if (astComments) { - delete ast.comments; - comments.attach(astComments, ast, text, opts); - } - opts[Symbol.for("comments")] = astComments || []; - opts[Symbol.for("tokens")] = ast.tokens || []; - opts.originalText = text; - return astComments; - } - function coreFormat(originalText, opts, addAlignmentSize = 0) { - if (!originalText || originalText.trim().length === 0) { - return { - formatted: "", - cursorOffset: -1, - comments: [] - }; - } - const { - ast, - text - } = parser.parse(originalText, opts); - if (opts.cursorOffset >= 0) { - const nodeResult = rangeUtil.findNodeAtOffset(ast, opts.cursorOffset, opts); - if (nodeResult && nodeResult.node) { - opts.cursorNode = nodeResult.node; - } - } - const astComments = attachComments(text, ast, opts); - const doc2 = printAstToDoc(ast, opts, addAlignmentSize); - const result = printDocToString(doc2, opts); - comments.ensureAllCommentsPrinted(astComments); - if (addAlignmentSize > 0) { - const trimmed = result.formatted.trim(); - if (result.cursorNodeStart !== void 0) { - result.cursorNodeStart -= result.formatted.indexOf(trimmed); - } - result.formatted = trimmed + convertEndOfLineToChars(opts.endOfLine); - } - if (opts.cursorOffset >= 0) { - let oldCursorNodeStart; - let oldCursorNodeText; - let cursorOffsetRelativeToOldCursorNode; - let newCursorNodeStart; - let newCursorNodeText; - if (opts.cursorNode && result.cursorNodeText) { - oldCursorNodeStart = opts.locStart(opts.cursorNode); - oldCursorNodeText = text.slice(oldCursorNodeStart, opts.locEnd(opts.cursorNode)); - cursorOffsetRelativeToOldCursorNode = opts.cursorOffset - oldCursorNodeStart; - newCursorNodeStart = result.cursorNodeStart; - newCursorNodeText = result.cursorNodeText; - } else { - oldCursorNodeStart = 0; - oldCursorNodeText = text; - cursorOffsetRelativeToOldCursorNode = opts.cursorOffset; - newCursorNodeStart = 0; - newCursorNodeText = result.formatted; - } - if (oldCursorNodeText === newCursorNodeText) { - return { - formatted: result.formatted, - cursorOffset: newCursorNodeStart + cursorOffsetRelativeToOldCursorNode, - comments: astComments - }; - } - const oldCursorNodeCharArray = [...oldCursorNodeText]; - oldCursorNodeCharArray.splice(cursorOffsetRelativeToOldCursorNode, 0, CURSOR); - const newCursorNodeCharArray = [...newCursorNodeText]; - const cursorNodeDiff = diffArrays(oldCursorNodeCharArray, newCursorNodeCharArray); - let cursorOffset = newCursorNodeStart; - for (const entry of cursorNodeDiff) { - if (entry.removed) { - if (entry.value.includes(CURSOR)) { - break; - } - } else { - cursorOffset += entry.count; - } - } - return { - formatted: result.formatted, - cursorOffset, - comments: astComments - }; - } - return { - formatted: result.formatted, - cursorOffset: -1, - comments: astComments - }; - } - function formatRange(originalText, opts) { - const { - ast, - text - } = parser.parse(originalText, opts); - const { - rangeStart, - rangeEnd - } = rangeUtil.calculateRange(text, opts, ast); - const rangeString = text.slice(rangeStart, rangeEnd); - const rangeStart2 = Math.min(rangeStart, text.lastIndexOf("\n", rangeStart) + 1); - const indentString = text.slice(rangeStart2, rangeStart).match(/^\s*/)[0]; - const alignmentSize = getAlignmentSize(indentString, opts.tabWidth); - const rangeResult = coreFormat(rangeString, Object.assign(Object.assign({}, opts), {}, { - rangeStart: 0, - rangeEnd: Number.POSITIVE_INFINITY, - cursorOffset: opts.cursorOffset > rangeStart && opts.cursorOffset <= rangeEnd ? opts.cursorOffset - rangeStart : -1, - endOfLine: "lf" - }), alignmentSize); - const rangeTrimmed = rangeResult.formatted.trimEnd(); - let { - cursorOffset - } = opts; - if (cursorOffset > rangeEnd) { - cursorOffset += rangeTrimmed.length - rangeString.length; - } else if (rangeResult.cursorOffset >= 0) { - cursorOffset = rangeResult.cursorOffset + rangeStart; - } - let formatted = text.slice(0, rangeStart) + rangeTrimmed + text.slice(rangeEnd); - if (opts.endOfLine !== "lf") { - const eol = convertEndOfLineToChars(opts.endOfLine); - if (cursorOffset >= 0 && eol === "\r\n") { - cursorOffset += countEndOfLineChars(formatted.slice(0, cursorOffset), "\n"); - } - formatted = formatted.replace(/\n/g, eol); - } - return { - formatted, - cursorOffset, - comments: rangeResult.comments - }; - } - function ensureIndexInText(text, index, defaultValue) { - if (typeof index !== "number" || Number.isNaN(index) || index < 0 || index > text.length) { - return defaultValue; - } - return index; - } - function normalizeIndexes(text, options) { - let { - cursorOffset, - rangeStart, - rangeEnd - } = options; - cursorOffset = ensureIndexInText(text, cursorOffset, -1); - rangeStart = ensureIndexInText(text, rangeStart, 0); - rangeEnd = ensureIndexInText(text, rangeEnd, text.length); - return Object.assign(Object.assign({}, options), {}, { - cursorOffset, - rangeStart, - rangeEnd - }); - } - function normalizeInputAndOptions(text, options) { - let { - cursorOffset, - rangeStart, - rangeEnd, - endOfLine - } = normalizeIndexes(text, options); - const hasBOM = text.charAt(0) === BOM; - if (hasBOM) { - text = text.slice(1); - cursorOffset--; - rangeStart--; - rangeEnd--; - } - if (endOfLine === "auto") { - endOfLine = guessEndOfLine(text); - } - if (text.includes("\r")) { - const countCrlfBefore = (index) => countEndOfLineChars(text.slice(0, Math.max(index, 0)), "\r\n"); - cursorOffset -= countCrlfBefore(cursorOffset); - rangeStart -= countCrlfBefore(rangeStart); - rangeEnd -= countCrlfBefore(rangeEnd); - text = normalizeEndOfLine(text); - } - return { - hasBOM, - text, - options: normalizeIndexes(text, Object.assign(Object.assign({}, options), {}, { - cursorOffset, - rangeStart, - rangeEnd, - endOfLine - })) - }; - } - function hasPragma(text, options) { - const selectedParser = parser.resolveParser(options); - return !selectedParser.hasPragma || selectedParser.hasPragma(text); - } - function formatWithCursor2(originalText, originalOptions) { - let { - hasBOM, - text, - options - } = normalizeInputAndOptions(originalText, normalizeOptions(originalOptions)); - if (options.rangeStart >= options.rangeEnd && text !== "" || options.requirePragma && !hasPragma(text, options)) { - return { - formatted: originalText, - cursorOffset: originalOptions.cursorOffset, - comments: [] - }; - } - let result; - if (options.rangeStart > 0 || options.rangeEnd < text.length) { - result = formatRange(text, options); - } else { - if (!options.requirePragma && options.insertPragma && options.printer.insertPragma && !hasPragma(text, options)) { - text = options.printer.insertPragma(text); - } - result = coreFormat(text, options); - } - if (hasBOM) { - result.formatted = BOM + result.formatted; - if (result.cursorOffset >= 0) { - result.cursorOffset++; - } - } - return result; - } - module2.exports = { - formatWithCursor: formatWithCursor2, - parse(originalText, originalOptions, massage) { - const { - text, - options - } = normalizeInputAndOptions(originalText, normalizeOptions(originalOptions)); - const parsed = parser.parse(text, options); - if (massage) { - parsed.ast = massageAST(parsed.ast, options); - } - return parsed; - }, - formatAST(ast, options) { - options = normalizeOptions(options); - const doc2 = printAstToDoc(ast, options); - return printDocToString(doc2, options); - }, - formatDoc(doc2, options) { - return formatWithCursor2(printDocToDebug(doc2), Object.assign(Object.assign({}, options), {}, { - parser: "__js_expression" - })).formatted; - }, - printToDoc(originalText, options) { - options = normalizeOptions(options); - const { - ast, - text - } = parser.parse(originalText, options); - attachComments(text, ast, options); - return printAstToDoc(ast, options); - }, - printDocToString(doc2, options) { - return printDocToString(doc2, normalizeOptions(options)); - } - }; - } -}); -var require_utils2 = __commonJS2({ - "node_modules/braces/lib/utils.js"(exports2) { - "use strict"; - exports2.isInteger = (num) => { - if (typeof num === "number") { - return Number.isInteger(num); - } - if (typeof num === "string" && num.trim() !== "") { - return Number.isInteger(Number(num)); - } - return false; - }; - exports2.find = (node, type) => node.nodes.find((node2) => node2.type === type); - exports2.exceedsLimit = (min, max, step = 1, limit) => { - if (limit === false) - return false; - if (!exports2.isInteger(min) || !exports2.isInteger(max)) - return false; - return (Number(max) - Number(min)) / Number(step) >= limit; - }; - exports2.escapeNode = (block, n = 0, type) => { - let node = block.nodes[n]; - if (!node) - return; - if (type && node.type === type || node.type === "open" || node.type === "close") { - if (node.escaped !== true) { - node.value = "\\" + node.value; - node.escaped = true; - } - } - }; - exports2.encloseBrace = (node) => { - if (node.type !== "brace") - return false; - if (node.commas >> 0 + node.ranges >> 0 === 0) { - node.invalid = true; - return true; - } - return false; - }; - exports2.isInvalidBrace = (block) => { - if (block.type !== "brace") - return false; - if (block.invalid === true || block.dollar) - return true; - if (block.commas >> 0 + block.ranges >> 0 === 0) { - block.invalid = true; - return true; - } - if (block.open !== true || block.close !== true) { - block.invalid = true; - return true; - } - return false; - }; - exports2.isOpenOrClose = (node) => { - if (node.type === "open" || node.type === "close") { - return true; - } - return node.open === true || node.close === true; - }; - exports2.reduce = (nodes) => nodes.reduce((acc, node) => { - if (node.type === "text") - acc.push(node.value); - if (node.type === "range") - node.type = "text"; - return acc; - }, []); - exports2.flatten = (...args) => { - const result = []; - const flat = (arr) => { - for (let i = 0; i < arr.length; i++) { - let ele = arr[i]; - Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele); - } - return result; - }; - flat(args); - return result; - }; - } -}); -var require_stringify = __commonJS2({ - "node_modules/braces/lib/stringify.js"(exports2, module2) { - "use strict"; - var utils = require_utils2(); - module2.exports = (ast, options = {}) => { - let stringify = (node, parent = {}) => { - let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let output = ""; - if (node.value) { - if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { - return "\\" + node.value; - } - return node.value; - } - if (node.value) { - return node.value; - } - if (node.nodes) { - for (let child of node.nodes) { - output += stringify(child); - } - } - return output; - }; - return stringify(ast); - }; - } -}); -var require_is_number = __commonJS2({ - "node_modules/is-number/index.js"(exports2, module2) { - "use strict"; - module2.exports = function(num) { - if (typeof num === "number") { - return num - num === 0; - } - if (typeof num === "string" && num.trim() !== "") { - return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); - } - return false; - }; - } -}); -var require_to_regex_range = __commonJS2({ - "node_modules/to-regex-range/index.js"(exports2, module2) { - "use strict"; - var isNumber = require_is_number(); - var toRegexRange = (min, max, options) => { - if (isNumber(min) === false) { - throw new TypeError("toRegexRange: expected the first argument to be a number"); - } - if (max === void 0 || min === max) { - return String(min); - } - if (isNumber(max) === false) { - throw new TypeError("toRegexRange: expected the second argument to be a number."); - } - let opts = Object.assign({ - relaxZeros: true - }, options); - if (typeof opts.strictZeros === "boolean") { - opts.relaxZeros = opts.strictZeros === false; - } - let relax = String(opts.relaxZeros); - let shorthand = String(opts.shorthand); - let capture = String(opts.capture); - let wrap = String(opts.wrap); - let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap; - if (toRegexRange.cache.hasOwnProperty(cacheKey)) { - return toRegexRange.cache[cacheKey].result; - } - let a = Math.min(min, max); - let b = Math.max(min, max); - if (Math.abs(a - b) === 1) { - let result = min + "|" + max; - if (opts.capture) { - return `(${result})`; - } - if (opts.wrap === false) { - return result; - } - return `(?:${result})`; - } - let isPadded = hasPadding(min) || hasPadding(max); - let state = { - min, - max, - a, - b - }; - let positives = []; - let negatives = []; - if (isPadded) { - state.isPadded = isPadded; - state.maxLen = String(state.max).length; - } - if (a < 0) { - let newMin = b < 0 ? Math.abs(b) : 1; - negatives = splitToPatterns(newMin, Math.abs(a), state, opts); - a = state.a = 0; - } - if (b >= 0) { - positives = splitToPatterns(a, b, state, opts); - } - state.negatives = negatives; - state.positives = positives; - state.result = collatePatterns(negatives, positives, opts); - if (opts.capture === true) { - state.result = `(${state.result})`; - } else if (opts.wrap !== false && positives.length + negatives.length > 1) { - state.result = `(?:${state.result})`; - } - toRegexRange.cache[cacheKey] = state; - return state.result; - }; - function collatePatterns(neg, pos, options) { - let onlyNegative = filterPatterns(neg, pos, "-", false, options) || []; - let onlyPositive = filterPatterns(pos, neg, "", false, options) || []; - let intersected = filterPatterns(neg, pos, "-?", true, options) || []; - let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); - return subpatterns.join("|"); - } - function splitToRanges(min, max) { - let nines = 1; - let zeros = 1; - let stop = countNines(min, nines); - let stops = /* @__PURE__ */ new Set([max]); - while (min <= stop && stop <= max) { - stops.add(stop); - nines += 1; - stop = countNines(min, nines); - } - stop = countZeros(max + 1, zeros) - 1; - while (min < stop && stop <= max) { - stops.add(stop); - zeros += 1; - stop = countZeros(max + 1, zeros) - 1; - } - stops = [...stops]; - stops.sort(compare); - return stops; - } - function rangeToPattern(start, stop, options) { - if (start === stop) { - return { - pattern: start, - count: [], - digits: 0 - }; - } - let zipped = zip(start, stop); - let digits = zipped.length; - let pattern = ""; - let count = 0; - for (let i = 0; i < digits; i++) { - let [startDigit, stopDigit] = zipped[i]; - if (startDigit === stopDigit) { - pattern += startDigit; - } else if (startDigit !== "0" || stopDigit !== "9") { - pattern += toCharacterClass(startDigit, stopDigit, options); - } else { - count++; - } - } - if (count) { - pattern += options.shorthand === true ? "\\d" : "[0-9]"; - } - return { - pattern, - count: [count], - digits - }; - } - function splitToPatterns(min, max, tok, options) { - let ranges = splitToRanges(min, max); - let tokens = []; - let start = min; - let prev; - for (let i = 0; i < ranges.length; i++) { - let max2 = ranges[i]; - let obj = rangeToPattern(String(start), String(max2), options); - let zeros = ""; - if (!tok.isPadded && prev && prev.pattern === obj.pattern) { - if (prev.count.length > 1) { - prev.count.pop(); - } - prev.count.push(obj.count[0]); - prev.string = prev.pattern + toQuantifier(prev.count); - start = max2 + 1; - continue; - } - if (tok.isPadded) { - zeros = padZeros(max2, tok, options); - } - obj.string = zeros + obj.pattern + toQuantifier(obj.count); - tokens.push(obj); - start = max2 + 1; - prev = obj; - } - return tokens; - } - function filterPatterns(arr, comparison, prefix, intersection, options) { - let result = []; - for (let ele of arr) { - let { - string - } = ele; - if (!intersection && !contains(comparison, "string", string)) { - result.push(prefix + string); - } - if (intersection && contains(comparison, "string", string)) { - result.push(prefix + string); - } - } - return result; - } - function zip(a, b) { - let arr = []; - for (let i = 0; i < a.length; i++) - arr.push([a[i], b[i]]); - return arr; - } - function compare(a, b) { - return a > b ? 1 : b > a ? -1 : 0; - } - function contains(arr, key, val) { - return arr.some((ele) => ele[key] === val); - } - function countNines(min, len) { - return Number(String(min).slice(0, -len) + "9".repeat(len)); - } - function countZeros(integer, zeros) { - return integer - integer % Math.pow(10, zeros); - } - function toQuantifier(digits) { - let [start = 0, stop = ""] = digits; - if (stop || start > 1) { - return `{${start + (stop ? "," + stop : "")}}`; - } - return ""; - } - function toCharacterClass(a, b, options) { - return `[${a}${b - a === 1 ? "" : "-"}${b}]`; - } - function hasPadding(str) { - return /^-?(0+)\d/.test(str); - } - function padZeros(value, tok, options) { - if (!tok.isPadded) { - return value; - } - let diff = Math.abs(tok.maxLen - String(value).length); - let relax = options.relaxZeros !== false; - switch (diff) { - case 0: - return ""; - case 1: - return relax ? "0?" : "0"; - case 2: - return relax ? "0{0,2}" : "00"; - default: { - return relax ? `0{0,${diff}}` : `0{${diff}}`; - } - } - } - toRegexRange.cache = {}; - toRegexRange.clearCache = () => toRegexRange.cache = {}; - module2.exports = toRegexRange; - } -}); -var require_fill_range = __commonJS2({ - "node_modules/fill-range/index.js"(exports2, module2) { - "use strict"; - var util = require("util"); - var toRegexRange = require_to_regex_range(); - var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - var transform = (toNumber) => { - return (value) => toNumber === true ? Number(value) : String(value); - }; - var isValidValue = (value) => { - return typeof value === "number" || typeof value === "string" && value !== ""; - }; - var isNumber = (num) => Number.isInteger(+num); - var zeros = (input) => { - let value = `${input}`; - let index = -1; - if (value[0] === "-") - value = value.slice(1); - if (value === "0") - return false; - while (value[++index] === "0") - ; - return index > 0; - }; - var stringify = (start, end, options) => { - if (typeof start === "string" || typeof end === "string") { - return true; - } - return options.stringify === true; - }; - var pad = (input, maxLength, toNumber) => { - if (maxLength > 0) { - let dash = input[0] === "-" ? "-" : ""; - if (dash) - input = input.slice(1); - input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0"); - } - if (toNumber === false) { - return String(input); - } - return input; - }; - var toMaxLen = (input, maxLength) => { - let negative = input[0] === "-" ? "-" : ""; - if (negative) { - input = input.slice(1); - maxLength--; - } - while (input.length < maxLength) - input = "0" + input; - return negative ? "-" + input : input; - }; - var toSequence = (parts, options) => { - parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - let prefix = options.capture ? "" : "?:"; - let positives = ""; - let negatives = ""; - let result; - if (parts.positives.length) { - positives = parts.positives.join("|"); - } - if (parts.negatives.length) { - negatives = `-(${prefix}${parts.negatives.join("|")})`; - } - if (positives && negatives) { - result = `${positives}|${negatives}`; - } else { - result = positives || negatives; - } - if (options.wrap) { - return `(${prefix}${result})`; - } - return result; - }; - var toRange = (a, b, isNumbers, options) => { - if (isNumbers) { - return toRegexRange(a, b, Object.assign({ - wrap: false - }, options)); - } - let start = String.fromCharCode(a); - if (a === b) - return start; - let stop = String.fromCharCode(b); - return `[${start}-${stop}]`; - }; - var toRegex = (start, end, options) => { - if (Array.isArray(start)) { - let wrap = options.wrap === true; - let prefix = options.capture ? "" : "?:"; - return wrap ? `(${prefix}${start.join("|")})` : start.join("|"); - } - return toRegexRange(start, end, options); - }; - var rangeError = (...args) => { - return new RangeError("Invalid range arguments: " + util.inspect(...args)); - }; - var invalidRange = (start, end, options) => { - if (options.strictRanges === true) - throw rangeError([start, end]); - return []; - }; - var invalidStep = (step, options) => { - if (options.strictRanges === true) { - throw new TypeError(`Expected step "${step}" to be a number`); - } - return []; - }; - var fillNumbers = (start, end, step = 1, options = {}) => { - let a = Number(start); - let b = Number(end); - if (!Number.isInteger(a) || !Number.isInteger(b)) { - if (options.strictRanges === true) - throw rangeError([start, end]); - return []; - } - if (a === 0) - a = 0; - if (b === 0) - b = 0; - let descending = a > b; - let startString = String(start); - let endString = String(end); - let stepString = String(step); - step = Math.max(Math.abs(step), 1); - let padded = zeros(startString) || zeros(endString) || zeros(stepString); - let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; - let toNumber = padded === false && stringify(start, end, options) === false; - let format = options.transform || transform(toNumber); - if (options.toRegex && step === 1) { - return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); - } - let parts = { - negatives: [], - positives: [] - }; - let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num)); - let range = []; - let index = 0; - while (descending ? a >= b : a <= b) { - if (options.toRegex === true && step > 1) { - push(a); - } else { - range.push(pad(format(a, index), maxLen, toNumber)); - } - a = descending ? a - step : a + step; - index++; - } - if (options.toRegex === true) { - return step > 1 ? toSequence(parts, options) : toRegex(range, null, Object.assign({ - wrap: false - }, options)); - } - return range; - }; - var fillLetters = (start, end, step = 1, options = {}) => { - if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) { - return invalidRange(start, end, options); - } - let format = options.transform || ((val) => String.fromCharCode(val)); - let a = `${start}`.charCodeAt(0); - let b = `${end}`.charCodeAt(0); - let descending = a > b; - let min = Math.min(a, b); - let max = Math.max(a, b); - if (options.toRegex && step === 1) { - return toRange(min, max, false, options); - } - let range = []; - let index = 0; - while (descending ? a >= b : a <= b) { - range.push(format(a, index)); - a = descending ? a - step : a + step; - index++; - } - if (options.toRegex === true) { - return toRegex(range, null, { - wrap: false, - options - }); - } - return range; - }; - var fill = (start, end, step, options = {}) => { - if (end == null && isValidValue(start)) { - return [start]; - } - if (!isValidValue(start) || !isValidValue(end)) { - return invalidRange(start, end, options); - } - if (typeof step === "function") { - return fill(start, end, 1, { - transform: step - }); - } - if (isObject(step)) { - return fill(start, end, 0, step); - } - let opts = Object.assign({}, options); - if (opts.capture === true) - opts.wrap = true; - step = step || opts.step || 1; - if (!isNumber(step)) { - if (step != null && !isObject(step)) - return invalidStep(step, opts); - return fill(start, end, 1, step); - } - if (isNumber(start) && isNumber(end)) { - return fillNumbers(start, end, step, opts); - } - return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); - }; - module2.exports = fill; - } -}); -var require_compile = __commonJS2({ - "node_modules/braces/lib/compile.js"(exports2, module2) { - "use strict"; - var fill = require_fill_range(); - var utils = require_utils2(); - var compile = (ast, options = {}) => { - let walk = (node, parent = {}) => { - let invalidBlock = utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let invalid = invalidBlock === true || invalidNode === true; - let prefix = options.escapeInvalid === true ? "\\" : ""; - let output = ""; - if (node.isOpen === true) { - return prefix + node.value; - } - if (node.isClose === true) { - return prefix + node.value; - } - if (node.type === "open") { - return invalid ? prefix + node.value : "("; - } - if (node.type === "close") { - return invalid ? prefix + node.value : ")"; - } - if (node.type === "comma") { - return node.prev.type === "comma" ? "" : invalid ? node.value : "|"; - } - if (node.value) { - return node.value; - } - if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - let range = fill(...args, Object.assign(Object.assign({}, options), {}, { - wrap: false, - toRegex: true - })); - if (range.length !== 0) { - return args.length > 1 && range.length > 1 ? `(${range})` : range; - } - } - if (node.nodes) { - for (let child of node.nodes) { - output += walk(child, node); - } - } - return output; - }; - return walk(ast); - }; - module2.exports = compile; - } -}); -var require_expand = __commonJS2({ - "node_modules/braces/lib/expand.js"(exports2, module2) { - "use strict"; - var fill = require_fill_range(); - var stringify = require_stringify(); - var utils = require_utils2(); - var append = (queue = "", stash = "", enclose = false) => { - let result = []; - queue = [].concat(queue); - stash = [].concat(stash); - if (!stash.length) - return queue; - if (!queue.length) { - return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash; - } - for (let item of queue) { - if (Array.isArray(item)) { - for (let value of item) { - result.push(append(value, stash, enclose)); - } - } else { - for (let ele of stash) { - if (enclose === true && typeof ele === "string") - ele = `{${ele}}`; - result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele); - } - } - } - return utils.flatten(result); - }; - var expand = (ast, options = {}) => { - let rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit; - let walk = (node, parent = {}) => { - node.queue = []; - let p = parent; - let q = parent.queue; - while (p.type !== "brace" && p.type !== "root" && p.parent) { - p = p.parent; - q = p.queue; - } - if (node.invalid || node.dollar) { - q.push(append(q.pop(), stringify(node, options))); - return; - } - if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) { - q.push(append(q.pop(), ["{}"])); - return; - } - if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - if (utils.exceedsLimit(...args, options.step, rangeLimit)) { - throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit."); - } - let range = fill(...args, options); - if (range.length === 0) { - range = stringify(node, options); - } - q.push(append(q.pop(), range)); - node.nodes = []; - return; - } - let enclose = utils.encloseBrace(node); - let queue = node.queue; - let block = node; - while (block.type !== "brace" && block.type !== "root" && block.parent) { - block = block.parent; - queue = block.queue; - } - for (let i = 0; i < node.nodes.length; i++) { - let child = node.nodes[i]; - if (child.type === "comma" && node.type === "brace") { - if (i === 1) - queue.push(""); - queue.push(""); - continue; - } - if (child.type === "close") { - q.push(append(q.pop(), queue, enclose)); - continue; - } - if (child.value && child.type !== "open") { - queue.push(append(queue.pop(), child.value)); - continue; - } - if (child.nodes) { - walk(child, node); - } - } - return queue; - }; - return utils.flatten(walk(ast)); - }; - module2.exports = expand; - } -}); -var require_constants2 = __commonJS2({ - "node_modules/braces/lib/constants.js"(exports2, module2) { - "use strict"; - module2.exports = { - MAX_LENGTH: 1024 * 64, - CHAR_0: "0", - CHAR_9: "9", - CHAR_UPPERCASE_A: "A", - CHAR_LOWERCASE_A: "a", - CHAR_UPPERCASE_Z: "Z", - CHAR_LOWERCASE_Z: "z", - CHAR_LEFT_PARENTHESES: "(", - CHAR_RIGHT_PARENTHESES: ")", - CHAR_ASTERISK: "*", - CHAR_AMPERSAND: "&", - CHAR_AT: "@", - CHAR_BACKSLASH: "\\", - CHAR_BACKTICK: "`", - CHAR_CARRIAGE_RETURN: "\r", - CHAR_CIRCUMFLEX_ACCENT: "^", - CHAR_COLON: ":", - CHAR_COMMA: ",", - CHAR_DOLLAR: "$", - CHAR_DOT: ".", - CHAR_DOUBLE_QUOTE: '"', - CHAR_EQUAL: "=", - CHAR_EXCLAMATION_MARK: "!", - CHAR_FORM_FEED: "\f", - CHAR_FORWARD_SLASH: "/", - CHAR_HASH: "#", - CHAR_HYPHEN_MINUS: "-", - CHAR_LEFT_ANGLE_BRACKET: "<", - CHAR_LEFT_CURLY_BRACE: "{", - CHAR_LEFT_SQUARE_BRACKET: "[", - CHAR_LINE_FEED: "\n", - CHAR_NO_BREAK_SPACE: "\xA0", - CHAR_PERCENT: "%", - CHAR_PLUS: "+", - CHAR_QUESTION_MARK: "?", - CHAR_RIGHT_ANGLE_BRACKET: ">", - CHAR_RIGHT_CURLY_BRACE: "}", - CHAR_RIGHT_SQUARE_BRACKET: "]", - CHAR_SEMICOLON: ";", - CHAR_SINGLE_QUOTE: "'", - CHAR_SPACE: " ", - CHAR_TAB: " ", - CHAR_UNDERSCORE: "_", - CHAR_VERTICAL_LINE: "|", - CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF" - }; - } -}); -var require_parse = __commonJS2({ - "node_modules/braces/lib/parse.js"(exports2, module2) { - "use strict"; - var stringify = require_stringify(); - var { - MAX_LENGTH, - CHAR_BACKSLASH, - CHAR_BACKTICK, - CHAR_COMMA, - CHAR_DOT, - CHAR_LEFT_PARENTHESES, - CHAR_RIGHT_PARENTHESES, - CHAR_LEFT_CURLY_BRACE, - CHAR_RIGHT_CURLY_BRACE, - CHAR_LEFT_SQUARE_BRACKET, - CHAR_RIGHT_SQUARE_BRACKET, - CHAR_DOUBLE_QUOTE, - CHAR_SINGLE_QUOTE, - CHAR_NO_BREAK_SPACE, - CHAR_ZERO_WIDTH_NOBREAK_SPACE - } = require_constants2(); - var parse = (input, options = {}) => { - if (typeof input !== "string") { - throw new TypeError("Expected a string"); - } - let opts = options || {}; - let max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - if (input.length > max) { - throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); - } - let ast = { - type: "root", - input, - nodes: [] - }; - let stack = [ast]; - let block = ast; - let prev = ast; - let brackets = 0; - let length = input.length; - let index = 0; - let depth = 0; - let value; - let memo = {}; - const advance = () => input[index++]; - const push = (node) => { - if (node.type === "text" && prev.type === "dot") { - prev.type = "text"; - } - if (prev && prev.type === "text" && node.type === "text") { - prev.value += node.value; - return; - } - block.nodes.push(node); - node.parent = block; - node.prev = prev; - prev = node; - return node; - }; - push({ - type: "bos" - }); - while (index < length) { - block = stack[stack.length - 1]; - value = advance(); - if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { - continue; - } - if (value === CHAR_BACKSLASH) { - push({ - type: "text", - value: (options.keepEscaping ? value : "") + advance() - }); - continue; - } - if (value === CHAR_RIGHT_SQUARE_BRACKET) { - push({ - type: "text", - value: "\\" + value - }); - continue; - } - if (value === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - let closed = true; - let next; - while (index < length && (next = advance())) { - value += next; - if (next === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - continue; - } - if (next === CHAR_BACKSLASH) { - value += advance(); - continue; - } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - brackets--; - if (brackets === 0) { - break; - } - } - } - push({ - type: "text", - value - }); - continue; - } - if (value === CHAR_LEFT_PARENTHESES) { - block = push({ - type: "paren", - nodes: [] - }); - stack.push(block); - push({ - type: "text", - value - }); - continue; - } - if (value === CHAR_RIGHT_PARENTHESES) { - if (block.type !== "paren") { - push({ - type: "text", - value - }); - continue; - } - block = stack.pop(); - push({ - type: "text", - value - }); - block = stack[stack.length - 1]; - continue; - } - if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { - let open = value; - let next; - if (options.keepQuotes !== true) { - value = ""; - } - while (index < length && (next = advance())) { - if (next === CHAR_BACKSLASH) { - value += next + advance(); - continue; - } - if (next === open) { - if (options.keepQuotes === true) - value += next; - break; - } - value += next; - } - push({ - type: "text", - value - }); - continue; - } - if (value === CHAR_LEFT_CURLY_BRACE) { - depth++; - let dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true; - let brace = { - type: "brace", - open: true, - close: false, - dollar, - depth, - commas: 0, - ranges: 0, - nodes: [] - }; - block = push(brace); - stack.push(block); - push({ - type: "open", - value - }); - continue; - } - if (value === CHAR_RIGHT_CURLY_BRACE) { - if (block.type !== "brace") { - push({ - type: "text", - value - }); - continue; - } - let type = "close"; - block = stack.pop(); - block.close = true; - push({ - type, - value - }); - depth--; - block = stack[stack.length - 1]; - continue; - } - if (value === CHAR_COMMA && depth > 0) { - if (block.ranges > 0) { - block.ranges = 0; - let open = block.nodes.shift(); - block.nodes = [open, { - type: "text", - value: stringify(block) - }]; - } - push({ - type: "comma", - value - }); - block.commas++; - continue; - } - if (value === CHAR_DOT && depth > 0 && block.commas === 0) { - let siblings = block.nodes; - if (depth === 0 || siblings.length === 0) { - push({ - type: "text", - value - }); - continue; - } - if (prev.type === "dot") { - block.range = []; - prev.value += value; - prev.type = "range"; - if (block.nodes.length !== 3 && block.nodes.length !== 5) { - block.invalid = true; - block.ranges = 0; - prev.type = "text"; - continue; - } - block.ranges++; - block.args = []; - continue; - } - if (prev.type === "range") { - siblings.pop(); - let before = siblings[siblings.length - 1]; - before.value += prev.value + value; - prev = before; - block.ranges--; - continue; - } - push({ - type: "dot", - value - }); - continue; - } - push({ - type: "text", - value - }); - } - do { - block = stack.pop(); - if (block.type !== "root") { - block.nodes.forEach((node) => { - if (!node.nodes) { - if (node.type === "open") - node.isOpen = true; - if (node.type === "close") - node.isClose = true; - if (!node.nodes) - node.type = "text"; - node.invalid = true; - } - }); - let parent = stack[stack.length - 1]; - let index2 = parent.nodes.indexOf(block); - parent.nodes.splice(index2, 1, ...block.nodes); - } - } while (stack.length > 0); - push({ - type: "eos" - }); - return ast; - }; - module2.exports = parse; - } -}); -var require_braces = __commonJS2({ - "node_modules/braces/index.js"(exports2, module2) { - "use strict"; - var stringify = require_stringify(); - var compile = require_compile(); - var expand = require_expand(); - var parse = require_parse(); - var braces = (input, options = {}) => { - let output = []; - if (Array.isArray(input)) { - for (let pattern of input) { - let result = braces.create(pattern, options); - if (Array.isArray(result)) { - output.push(...result); - } else { - output.push(result); - } - } - } else { - output = [].concat(braces.create(input, options)); - } - if (options && options.expand === true && options.nodupes === true) { - output = [...new Set(output)]; - } - return output; - }; - braces.parse = (input, options = {}) => parse(input, options); - braces.stringify = (input, options = {}) => { - if (typeof input === "string") { - return stringify(braces.parse(input, options), options); - } - return stringify(input, options); - }; - braces.compile = (input, options = {}) => { - if (typeof input === "string") { - input = braces.parse(input, options); - } - return compile(input, options); - }; - braces.expand = (input, options = {}) => { - if (typeof input === "string") { - input = braces.parse(input, options); - } - let result = expand(input, options); - if (options.noempty === true) { - result = result.filter(Boolean); - } - if (options.nodupes === true) { - result = [...new Set(result)]; - } - return result; - }; - braces.create = (input, options = {}) => { - if (input === "" || input.length < 3) { - return [input]; - } - return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options); - }; - module2.exports = braces; - } -}); -var require_constants3 = __commonJS2({ - "node_modules/picomatch/lib/constants.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var WIN_SLASH = "\\\\/"; - var WIN_NO_SLASH = `[^${WIN_SLASH}]`; - var DOT_LITERAL = "\\."; - var PLUS_LITERAL = "\\+"; - var QMARK_LITERAL = "\\?"; - var SLASH_LITERAL = "\\/"; - var ONE_CHAR = "(?=.)"; - var QMARK = "[^/]"; - var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; - var START_ANCHOR = `(?:^|${SLASH_LITERAL})`; - var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; - var NO_DOT = `(?!${DOT_LITERAL})`; - var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; - var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; - var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; - var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; - var STAR = `${QMARK}*?`; - var POSIX_CHARS = { - DOT_LITERAL, - PLUS_LITERAL, - QMARK_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - QMARK, - END_ANCHOR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK_NO_DOT, - STAR, - START_ANCHOR - }; - var WINDOWS_CHARS = Object.assign(Object.assign({}, POSIX_CHARS), {}, { - SLASH_LITERAL: `[${WIN_SLASH}]`, - QMARK: WIN_NO_SLASH, - STAR: `${WIN_NO_SLASH}*?`, - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, - NO_DOT: `(?!${DOT_LITERAL})`, - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - QMARK_NO_DOT: `[^.${WIN_SLASH}]`, - START_ANCHOR: `(?:^|[${WIN_SLASH}])`, - END_ANCHOR: `(?:[${WIN_SLASH}]|$)` - }); - var POSIX_REGEX_SOURCE = { - alnum: "a-zA-Z0-9", - alpha: "a-zA-Z", - ascii: "\\x00-\\x7F", - blank: " \\t", - cntrl: "\\x00-\\x1F\\x7F", - digit: "0-9", - graph: "\\x21-\\x7E", - lower: "a-z", - print: "\\x20-\\x7E ", - punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~", - space: " \\t\\r\\n\\v\\f", - upper: "A-Z", - word: "A-Za-z0-9_", - xdigit: "A-Fa-f0-9" - }; - module2.exports = { - MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, - REPLACEMENTS: { - "***": "*", - "**/**": "**", - "**/**/**": "**" - }, - CHAR_0: 48, - CHAR_9: 57, - CHAR_UPPERCASE_A: 65, - CHAR_LOWERCASE_A: 97, - CHAR_UPPERCASE_Z: 90, - CHAR_LOWERCASE_Z: 122, - CHAR_LEFT_PARENTHESES: 40, - CHAR_RIGHT_PARENTHESES: 41, - CHAR_ASTERISK: 42, - CHAR_AMPERSAND: 38, - CHAR_AT: 64, - CHAR_BACKWARD_SLASH: 92, - CHAR_CARRIAGE_RETURN: 13, - CHAR_CIRCUMFLEX_ACCENT: 94, - CHAR_COLON: 58, - CHAR_COMMA: 44, - CHAR_DOT: 46, - CHAR_DOUBLE_QUOTE: 34, - CHAR_EQUAL: 61, - CHAR_EXCLAMATION_MARK: 33, - CHAR_FORM_FEED: 12, - CHAR_FORWARD_SLASH: 47, - CHAR_GRAVE_ACCENT: 96, - CHAR_HASH: 35, - CHAR_HYPHEN_MINUS: 45, - CHAR_LEFT_ANGLE_BRACKET: 60, - CHAR_LEFT_CURLY_BRACE: 123, - CHAR_LEFT_SQUARE_BRACKET: 91, - CHAR_LINE_FEED: 10, - CHAR_NO_BREAK_SPACE: 160, - CHAR_PERCENT: 37, - CHAR_PLUS: 43, - CHAR_QUESTION_MARK: 63, - CHAR_RIGHT_ANGLE_BRACKET: 62, - CHAR_RIGHT_CURLY_BRACE: 125, - CHAR_RIGHT_SQUARE_BRACKET: 93, - CHAR_SEMICOLON: 59, - CHAR_SINGLE_QUOTE: 39, - CHAR_SPACE: 32, - CHAR_TAB: 9, - CHAR_UNDERSCORE: 95, - CHAR_VERTICAL_LINE: 124, - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, - SEP: path.sep, - extglobChars(chars) { - return { - "!": { - type: "negate", - open: "(?:(?!(?:", - close: `))${chars.STAR})` - }, - "?": { - type: "qmark", - open: "(?:", - close: ")?" - }, - "+": { - type: "plus", - open: "(?:", - close: ")+" - }, - "*": { - type: "star", - open: "(?:", - close: ")*" - }, - "@": { - type: "at", - open: "(?:", - close: ")" - } - }; - }, - globChars(win32) { - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; - } - }; - } -}); -var require_utils3 = __commonJS2({ - "node_modules/picomatch/lib/utils.js"(exports2) { - "use strict"; - var path = require("path"); - var win32 = process.platform === "win32"; - var { - REGEX_BACKSLASH, - REGEX_REMOVE_BACKSLASH, - REGEX_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_GLOBAL - } = require_constants3(); - exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str); - exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str); - exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); - exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/"); - exports2.removeBackslashes = (str) => { - return str.replace(REGEX_REMOVE_BACKSLASH, (match) => { - return match === "\\" ? "" : match; - }); - }; - exports2.supportsLookbehinds = () => { - const segs = process.version.slice(1).split(".").map(Number); - if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) { - return true; - } - return false; - }; - exports2.isWindows = (options) => { - if (options && typeof options.windows === "boolean") { - return options.windows; - } - return win32 === true || path.sep === "\\"; - }; - exports2.escapeLast = (input, char, lastIdx) => { - const idx = input.lastIndexOf(char, lastIdx); - if (idx === -1) - return input; - if (input[idx - 1] === "\\") - return exports2.escapeLast(input, char, idx - 1); - return `${input.slice(0, idx)}\\${input.slice(idx)}`; - }; - exports2.removePrefix = (input, state = {}) => { - let output = input; - if (output.startsWith("./")) { - output = output.slice(2); - state.prefix = "./"; - } - return output; - }; - exports2.wrapOutput = (input, state = {}, options = {}) => { - const prepend = options.contains ? "" : "^"; - const append = options.contains ? "" : "$"; - let output = `${prepend}(?:${input})${append}`; - if (state.negated === true) { - output = `(?:^(?!${output}).*$)`; - } - return output; - }; - } -}); -var require_scan = __commonJS2({ - "node_modules/picomatch/lib/scan.js"(exports2, module2) { - "use strict"; - var utils = require_utils3(); - var { - CHAR_ASTERISK, - CHAR_AT, - CHAR_BACKWARD_SLASH, - CHAR_COMMA, - CHAR_DOT, - CHAR_EXCLAMATION_MARK, - CHAR_FORWARD_SLASH, - CHAR_LEFT_CURLY_BRACE, - CHAR_LEFT_PARENTHESES, - CHAR_LEFT_SQUARE_BRACKET, - CHAR_PLUS, - CHAR_QUESTION_MARK, - CHAR_RIGHT_CURLY_BRACE, - CHAR_RIGHT_PARENTHESES, - CHAR_RIGHT_SQUARE_BRACKET - } = require_constants3(); - var isPathSeparator = (code) => { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; - }; - var depth = (token) => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; - } - }; - var scan = (input, options) => { - const opts = options || {}; - const length = input.length - 1; - const scanToEnd = opts.parts === true || opts.scanToEnd === true; - const slashes = []; - const tokens = []; - const parts = []; - let str = input; - let index = -1; - let start = 0; - let lastIndex = 0; - let isBrace = false; - let isBracket = false; - let isGlob = false; - let isExtglob = false; - let isGlobstar = false; - let braceEscaped = false; - let backslashes = false; - let negated = false; - let negatedExtglob = false; - let finished = false; - let braces = 0; - let prev; - let code; - let token = { - value: "", - depth: 0, - isGlob: false - }; - const eos = () => index >= length; - const peek = () => str.charCodeAt(index + 1); - const advance = () => { - prev = code; - return str.charCodeAt(++index); - }; - while (index < length) { - code = advance(); - let next; - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - if (code === CHAR_LEFT_CURLY_BRACE) { - braceEscaped = true; - } - continue; - } - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { - braces++; - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (code === CHAR_LEFT_CURLY_BRACE) { - braces++; - continue; - } - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (braceEscaped !== true && code === CHAR_COMMA) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_RIGHT_CURLY_BRACE) { - braces--; - if (braces === 0) { - braceEscaped = false; - isBrace = token.isBrace = true; - finished = true; - break; - } - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_FORWARD_SLASH) { - slashes.push(index); - tokens.push(token); - token = { - value: "", - depth: 0, - isGlob: false - }; - if (finished === true) - continue; - if (prev === CHAR_DOT && index === start + 1) { - start += 2; - continue; - } - lastIndex = index + 1; - continue; - } - if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; - finished = true; - if (code === CHAR_EXCLAMATION_MARK && index === start) { - negatedExtglob = true; - } - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - isGlob = token.isGlob = true; - finished = true; - break; - } - } - continue; - } - break; - } - } - if (code === CHAR_ASTERISK) { - if (prev === CHAR_ASTERISK) - isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_LEFT_SQUARE_BRACKET) { - while (eos() !== true && (next = advance())) { - if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; - finished = true; - break; - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; - start++; - continue; - } - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - finished = true; - break; - } - } - continue; - } - break; - } - if (isGlob === true) { - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - } - if (opts.noext === true) { - isExtglob = false; - isGlob = false; - } - let base = str; - let prefix = ""; - let glob = ""; - if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); - lastIndex -= start; - } - if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); - } else if (isGlob === true) { - base = ""; - glob = str; - } else { - base = str; - } - if (base && base !== "" && base !== "/" && base !== str) { - if (isPathSeparator(base.charCodeAt(base.length - 1))) { - base = base.slice(0, -1); - } - } - if (opts.unescape === true) { - if (glob) - glob = utils.removeBackslashes(glob); - if (base && backslashes === true) { - base = utils.removeBackslashes(base); - } - } - const state = { - prefix, - input, - start, - base, - glob, - isBrace, - isBracket, - isGlob, - isExtglob, - isGlobstar, - negated, - negatedExtglob - }; - if (opts.tokens === true) { - state.maxDepth = 0; - if (!isPathSeparator(code)) { - tokens.push(token); - } - state.tokens = tokens; - } - if (opts.parts === true || opts.tokens === true) { - let prevIndex; - for (let idx = 0; idx < slashes.length; idx++) { - const n = prevIndex ? prevIndex + 1 : start; - const i = slashes[idx]; - const value = input.slice(n, i); - if (opts.tokens) { - if (idx === 0 && start !== 0) { - tokens[idx].isPrefix = true; - tokens[idx].value = prefix; - } else { - tokens[idx].value = value; - } - depth(tokens[idx]); - state.maxDepth += tokens[idx].depth; - } - if (idx !== 0 || value !== "") { - parts.push(value); - } - prevIndex = i; - } - if (prevIndex && prevIndex + 1 < input.length) { - const value = input.slice(prevIndex + 1); - parts.push(value); - if (opts.tokens) { - tokens[tokens.length - 1].value = value; - depth(tokens[tokens.length - 1]); - state.maxDepth += tokens[tokens.length - 1].depth; - } - } - state.slashes = slashes; - state.parts = parts; - } - return state; - }; - module2.exports = scan; - } -}); -var require_parse2 = __commonJS2({ - "node_modules/picomatch/lib/parse.js"(exports2, module2) { - "use strict"; - var constants = require_constants3(); - var utils = require_utils3(); - var { - MAX_LENGTH, - POSIX_REGEX_SOURCE, - REGEX_NON_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_BACKREF, - REPLACEMENTS - } = constants; - var expandRange = (args, options) => { - if (typeof options.expandRange === "function") { - return options.expandRange(...args, options); - } - args.sort(); - const value = `[${args.join("-")}]`; - try { - new RegExp(value); - } catch (ex) { - return args.map((v) => utils.escapeRegex(v)).join(".."); - } - return value; - }; - var syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; - }; - var parse = (input, options) => { - if (typeof input !== "string") { - throw new TypeError("Expected a string"); - } - input = REPLACEMENTS[input] || input; - const opts = Object.assign({}, options); - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - let len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - const bos = { - type: "bos", - value: "", - output: opts.prepend || "" - }; - const tokens = [bos]; - const capture = opts.capture ? "" : "?:"; - const win32 = utils.isWindows(options); - const PLATFORM_CHARS = constants.globChars(win32); - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); - const { - DOT_LITERAL, - PLUS_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK, - QMARK_NO_DOT, - STAR, - START_ANCHOR - } = PLATFORM_CHARS; - const globstar = (opts2) => { - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const nodot = opts.dot ? "" : NO_DOT; - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; - let star = opts.bash === true ? globstar(opts) : STAR; - if (opts.capture) { - star = `(${star})`; - } - if (typeof opts.noext === "boolean") { - opts.noextglob = opts.noext; - } - const state = { - input, - index: -1, - start: 0, - dot: opts.dot === true, - consumed: "", - output: "", - prefix: "", - backtrack: false, - negated: false, - brackets: 0, - braces: 0, - parens: 0, - quotes: 0, - globstar: false, - tokens - }; - input = utils.removePrefix(input, state); - len = input.length; - const extglobs = []; - const braces = []; - const stack = []; - let prev = bos; - let value; - const eos = () => state.index === len - 1; - const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index] || ""; - const remaining = () => input.slice(state.index + 1); - const consume = (value2 = "", num = 0) => { - state.consumed += value2; - state.index += num; - }; - const append = (token) => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); - }; - const negate = () => { - let count = 1; - while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) { - advance(); - state.start++; - count++; - } - if (count % 2 === 0) { - return false; - } - state.negated = true; - state.start++; - return true; - }; - const increment = (type) => { - state[type]++; - stack.push(type); - }; - const decrement = (type) => { - state[type]--; - stack.pop(); - }; - const push = (tok) => { - if (prev.type === "globstar") { - const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"); - const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren"); - if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) { - state.output = state.output.slice(0, -prev.output.length); - prev.type = "star"; - prev.value = "*"; - prev.output = star; - state.output += prev.output; - } - } - if (extglobs.length && tok.type !== "paren") { - extglobs[extglobs.length - 1].inner += tok.value; - } - if (tok.value || tok.output) - append(tok); - if (prev && prev.type === "text" && tok.type === "text") { - prev.value += tok.value; - prev.output = (prev.output || "") + tok.value; - return; - } - tok.prev = prev; - tokens.push(tok); - prev = tok; - }; - const extglobOpen = (type, value2) => { - const token = Object.assign(Object.assign({}, EXTGLOB_CHARS[value2]), {}, { - conditions: 1, - inner: "" - }); - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? "(" : "") + token.open; - increment("parens"); - push({ - type, - value: value2, - output: state.output ? "" : ONE_CHAR - }); - push({ - type: "paren", - extglob: true, - value: advance(), - output - }); - extglobs.push(token); - }; - const extglobClose = (token) => { - let output = token.close + (opts.capture ? ")" : ""); - let rest; - if (token.type === "negate") { - let extglobStar = star; - if (token.inner && token.inner.length > 1 && token.inner.includes("/")) { - extglobStar = globstar(opts); - } - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; - } - if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { - const expression = parse(rest, Object.assign(Object.assign({}, options), {}, { - fastpaths: false - })).output; - output = token.close = `)${expression})${extglobStar})`; - } - if (token.prev.type === "bos") { - state.negatedExtglob = true; - } - } - push({ - type: "paren", - extglob: true, - value, - output - }); - decrement("parens"); - }; - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { - let backslashes = false; - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { - if (first === "\\") { - backslashes = true; - return m; - } - if (first === "?") { - if (esc) { - return esc + first + (rest ? QMARK.repeat(rest.length) : ""); - } - if (index === 0) { - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ""); - } - return QMARK.repeat(chars.length); - } - if (first === ".") { - return DOT_LITERAL.repeat(chars.length); - } - if (first === "*") { - if (esc) { - return esc + first + (rest ? star : ""); - } - return star; - } - return esc ? m : `\\${m}`; - }); - if (backslashes === true) { - if (opts.unescape === true) { - output = output.replace(/\\/g, ""); - } else { - output = output.replace(/\\+/g, (m) => { - return m.length % 2 === 0 ? "\\\\" : m ? "\\" : ""; - }); - } - } - if (output === input && opts.contains === true) { - state.output = input; - return state; - } - state.output = utils.wrapOutput(output, state, options); - return state; - } - while (!eos()) { - value = advance(); - if (value === "\0") { - continue; - } - if (value === "\\") { - const next = peek(); - if (next === "/" && opts.bash !== true) { - continue; - } - if (next === "." || next === ";") { - continue; - } - if (!next) { - value += "\\"; - push({ - type: "text", - value - }); - continue; - } - const match = /^\\+/.exec(remaining()); - let slashes = 0; - if (match && match[0].length > 2) { - slashes = match[0].length; - state.index += slashes; - if (slashes % 2 !== 0) { - value += "\\"; - } - } - if (opts.unescape === true) { - value = advance(); - } else { - value += advance(); - } - if (state.brackets === 0) { - push({ - type: "text", - value - }); - continue; - } - } - if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) { - if (opts.posix !== false && value === ":") { - const inner = prev.value.slice(1); - if (inner.includes("[")) { - prev.posix = true; - if (inner.includes(":")) { - const idx = prev.value.lastIndexOf("["); - const pre = prev.value.slice(0, idx); - const rest2 = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE[rest2]; - if (posix) { - prev.value = pre + posix; - state.backtrack = true; - advance(); - if (!bos.output && tokens.indexOf(prev) === 1) { - bos.output = ONE_CHAR; - } - continue; - } - } - } - } - if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") { - value = `\\${value}`; - } - if (value === "]" && (prev.value === "[" || prev.value === "[^")) { - value = `\\${value}`; - } - if (opts.posix === true && value === "!" && prev.value === "[") { - value = "^"; - } - prev.value += value; - append({ - value - }); - continue; - } - if (state.quotes === 1 && value !== '"') { - value = utils.escapeRegex(value); - prev.value += value; - append({ - value - }); - continue; - } - if (value === '"') { - state.quotes = state.quotes === 1 ? 0 : 1; - if (opts.keepQuotes === true) { - push({ - type: "text", - value - }); - } - continue; - } - if (value === "(") { - increment("parens"); - push({ - type: "paren", - value - }); - continue; - } - if (value === ")") { - if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "(")); - } - const extglob = extglobs[extglobs.length - 1]; - if (extglob && state.parens === extglob.parens + 1) { - extglobClose(extglobs.pop()); - continue; - } - push({ - type: "paren", - value, - output: state.parens ? ")" : "\\)" - }); - decrement("parens"); - continue; - } - if (value === "[") { - if (opts.nobracket === true || !remaining().includes("]")) { - if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("closing", "]")); - } - value = `\\${value}`; - } else { - increment("brackets"); - } - push({ - type: "bracket", - value - }); - continue; - } - if (value === "]") { - if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) { - push({ - type: "text", - value, - output: `\\${value}` - }); - continue; - } - if (state.brackets === 0) { - if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "[")); - } - push({ - type: "text", - value, - output: `\\${value}` - }); - continue; - } - decrement("brackets"); - const prevValue = prev.value.slice(1); - if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) { - value = `/${value}`; - } - prev.value += value; - append({ - value - }); - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { - continue; - } - const escaped = utils.escapeRegex(prev.value); - state.output = state.output.slice(0, -prev.value.length); - if (opts.literalBrackets === true) { - state.output += escaped; - prev.value = escaped; - continue; - } - prev.value = `(${capture}${escaped}|${prev.value})`; - state.output += prev.value; - continue; - } - if (value === "{" && opts.nobrace !== true) { - increment("braces"); - const open = { - type: "brace", - value, - output: "(", - outputIndex: state.output.length, - tokensIndex: state.tokens.length - }; - braces.push(open); - push(open); - continue; - } - if (value === "}") { - const brace = braces[braces.length - 1]; - if (opts.nobrace === true || !brace) { - push({ - type: "text", - value, - output: value - }); - continue; - } - let output = ")"; - if (brace.dots === true) { - const arr = tokens.slice(); - const range = []; - for (let i = arr.length - 1; i >= 0; i--) { - tokens.pop(); - if (arr[i].type === "brace") { - break; - } - if (arr[i].type !== "dots") { - range.unshift(arr[i].value); - } - } - output = expandRange(range, opts); - state.backtrack = true; - } - if (brace.comma !== true && brace.dots !== true) { - const out = state.output.slice(0, brace.outputIndex); - const toks = state.tokens.slice(brace.tokensIndex); - brace.value = brace.output = "\\{"; - value = output = "\\}"; - state.output = out; - for (const t of toks) { - state.output += t.output || t.value; - } - } - push({ - type: "brace", - value, - output - }); - decrement("braces"); - braces.pop(); - continue; - } - if (value === "|") { - if (extglobs.length > 0) { - extglobs[extglobs.length - 1].conditions++; - } - push({ - type: "text", - value - }); - continue; - } - if (value === ",") { - let output = value; - const brace = braces[braces.length - 1]; - if (brace && stack[stack.length - 1] === "braces") { - brace.comma = true; - output = "|"; - } - push({ - type: "comma", - value, - output - }); - continue; - } - if (value === "/") { - if (prev.type === "dot" && state.index === state.start + 1) { - state.start = state.index + 1; - state.consumed = ""; - state.output = ""; - tokens.pop(); - prev = bos; - continue; - } - push({ - type: "slash", - value, - output: SLASH_LITERAL - }); - continue; - } - if (value === ".") { - if (state.braces > 0 && prev.type === "dot") { - if (prev.value === ".") - prev.output = DOT_LITERAL; - const brace = braces[braces.length - 1]; - prev.type = "dots"; - prev.output += value; - prev.value += value; - brace.dots = true; - continue; - } - if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") { - push({ - type: "text", - value, - output: DOT_LITERAL - }); - continue; - } - push({ - type: "dot", - value, - output: DOT_LITERAL - }); - continue; - } - if (value === "?") { - const isGroup = prev && prev.value === "("; - if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("qmark", value); - continue; - } - if (prev && prev.type === "paren") { - const next = peek(); - let output = value; - if (next === "<" && !utils.supportsLookbehinds()) { - throw new Error("Node.js v10 or higher is required for regex lookbehinds"); - } - if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) { - output = `\\${value}`; - } - push({ - type: "text", - value, - output - }); - continue; - } - if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) { - push({ - type: "qmark", - value, - output: QMARK_NO_DOT - }); - continue; - } - push({ - type: "qmark", - value, - output: QMARK - }); - continue; - } - if (value === "!") { - if (opts.noextglob !== true && peek() === "(") { - if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) { - extglobOpen("negate", value); - continue; - } - } - if (opts.nonegate !== true && state.index === 0) { - negate(); - continue; - } - } - if (value === "+") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("plus", value); - continue; - } - if (prev && prev.value === "(" || opts.regex === false) { - push({ - type: "plus", - value, - output: PLUS_LITERAL - }); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) { - push({ - type: "plus", - value - }); - continue; - } - push({ - type: "plus", - value: PLUS_LITERAL - }); - continue; - } - if (value === "@") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - push({ - type: "at", - extglob: true, - value, - output: "" - }); - continue; - } - push({ - type: "text", - value - }); - continue; - } - if (value !== "*") { - if (value === "$" || value === "^") { - value = `\\${value}`; - } - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); - if (match) { - value += match[0]; - state.index += match[0].length; - } - push({ - type: "text", - value - }); - continue; - } - if (prev && (prev.type === "globstar" || prev.star === true)) { - prev.type = "star"; - prev.star = true; - prev.value += value; - prev.output = star; - state.backtrack = true; - state.globstar = true; - consume(value); - continue; - } - let rest = remaining(); - if (opts.noextglob !== true && /^\([^?]/.test(rest)) { - extglobOpen("star", value); - continue; - } - if (prev.type === "star") { - if (opts.noglobstar === true) { - consume(value); - continue; - } - const prior = prev.prev; - const before = prior.prev; - const isStart = prior.type === "slash" || prior.type === "bos"; - const afterStar = before && (before.type === "star" || before.type === "globstar"); - if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) { - push({ - type: "star", - value, - output: "" - }); - continue; - } - const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"); - const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren"); - if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) { - push({ - type: "star", - value, - output: "" - }); - continue; - } - while (rest.slice(0, 3) === "/**") { - const after = input[state.index + 4]; - if (after && after !== "/") { - break; - } - rest = rest.slice(3); - consume("/**", 3); - } - if (prior.type === "bos" && eos()) { - prev.type = "globstar"; - prev.value += value; - prev.output = globstar(opts); - state.output = prev.output; - state.globstar = true; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) { - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"); - prev.value += value; - state.globstar = true; - state.output += prior.output + prev.output; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") { - const end = rest[1] !== void 0 ? "|$" : ""; - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; - prev.value += value; - state.output += prior.output + prev.output; - state.globstar = true; - consume(value + advance()); - push({ - type: "slash", - value: "/", - output: "" - }); - continue; - } - if (prior.type === "bos" && rest[0] === "/") { - prev.type = "globstar"; - prev.value += value; - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; - state.output = prev.output; - state.globstar = true; - consume(value + advance()); - push({ - type: "slash", - value: "/", - output: "" - }); - continue; - } - state.output = state.output.slice(0, -prev.output.length); - prev.type = "globstar"; - prev.output = globstar(opts); - prev.value += value; - state.output += prev.output; - state.globstar = true; - consume(value); - continue; - } - const token = { - type: "star", - value, - output: star - }; - if (opts.bash === true) { - token.output = ".*?"; - if (prev.type === "bos" || prev.type === "slash") { - token.output = nodot + token.output; - } - push(token); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) { - token.output = value; - push(token); - continue; - } - if (state.index === state.start || prev.type === "slash" || prev.type === "dot") { - if (prev.type === "dot") { - state.output += NO_DOT_SLASH; - prev.output += NO_DOT_SLASH; - } else if (opts.dot === true) { - state.output += NO_DOTS_SLASH; - prev.output += NO_DOTS_SLASH; - } else { - state.output += nodot; - prev.output += nodot; - } - if (peek() !== "*") { - state.output += ONE_CHAR; - prev.output += ONE_CHAR; - } - } - push(token); - } - while (state.brackets > 0) { - if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", "]")); - state.output = utils.escapeLast(state.output, "["); - decrement("brackets"); - } - while (state.parens > 0) { - if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", ")")); - state.output = utils.escapeLast(state.output, "("); - decrement("parens"); - } - while (state.braces > 0) { - if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", "}")); - state.output = utils.escapeLast(state.output, "{"); - decrement("braces"); - } - if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) { - push({ - type: "maybe_slash", - value: "", - output: `${SLASH_LITERAL}?` - }); - } - if (state.backtrack === true) { - state.output = ""; - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; - if (token.suffix) { - state.output += token.suffix; - } - } - } - return state; - }; - parse.fastpaths = (input, options) => { - const opts = Object.assign({}, options); - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - const len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - input = REPLACEMENTS[input] || input; - const win32 = utils.isWindows(options); - const { - DOT_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOTS_SLASH, - STAR, - START_ANCHOR - } = constants.globChars(win32); - const nodot = opts.dot ? NO_DOTS : NO_DOT; - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; - const capture = opts.capture ? "" : "?:"; - const state = { - negated: false, - prefix: "" - }; - let star = opts.bash === true ? ".*?" : STAR; - if (opts.capture) { - star = `(${star})`; - } - const globstar = (opts2) => { - if (opts2.noglobstar === true) - return star; - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const create = (str) => { - switch (str) { - case "*": - return `${nodot}${ONE_CHAR}${star}`; - case ".*": - return `${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*.*": - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*/*": - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; - case "**": - return nodot + globstar(opts); - case "**/*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - case "**/*.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "**/.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; - default: { - const match = /^(.*?)\.(\w+)$/.exec(str); - if (!match) - return; - const source2 = create(match[1]); - if (!source2) - return; - return source2 + DOT_LITERAL + match[2]; - } - } - }; - const output = utils.removePrefix(input, state); - let source = create(output); - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; - } - return source; - }; - module2.exports = parse; - } -}); -var require_picomatch = __commonJS2({ - "node_modules/picomatch/lib/picomatch.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var scan = require_scan(); - var parse = require_parse2(); - var utils = require_utils3(); - var constants = require_constants3(); - var isObject = (val) => val && typeof val === "object" && !Array.isArray(val); - var picomatch = (glob, options, returnState = false) => { - if (Array.isArray(glob)) { - const fns = glob.map((input) => picomatch(input, options, returnState)); - const arrayMatcher = (str) => { - for (const isMatch of fns) { - const state2 = isMatch(str); - if (state2) - return state2; - } - return false; - }; - return arrayMatcher; - } - const isState = isObject(glob) && glob.tokens && glob.input; - if (glob === "" || typeof glob !== "string" && !isState) { - throw new TypeError("Expected pattern to be a non-empty string"); - } - const opts = options || {}; - const posix = utils.isWindows(options); - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); - const state = regex.state; - delete regex.state; - let isIgnored = () => false; - if (opts.ignore) { - const ignoreOpts = Object.assign(Object.assign({}, options), {}, { - ignore: null, - onMatch: null, - onResult: null - }); - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); - } - const matcher = (input, returnObject = false) => { - const { - isMatch, - match, - output - } = picomatch.test(input, regex, options, { - glob, - posix - }); - const result = { - glob, - state, - regex, - posix, - input, - output, - match, - isMatch - }; - if (typeof opts.onResult === "function") { - opts.onResult(result); - } - if (isMatch === false) { - result.isMatch = false; - return returnObject ? result : false; - } - if (isIgnored(input)) { - if (typeof opts.onIgnore === "function") { - opts.onIgnore(result); - } - result.isMatch = false; - return returnObject ? result : false; - } - if (typeof opts.onMatch === "function") { - opts.onMatch(result); - } - return returnObject ? result : true; - }; - if (returnState) { - matcher.state = state; - } - return matcher; - }; - picomatch.test = (input, regex, options, { - glob, - posix - } = {}) => { - if (typeof input !== "string") { - throw new TypeError("Expected input to be a string"); - } - if (input === "") { - return { - isMatch: false, - output: "" - }; - } - const opts = options || {}; - const format = opts.format || (posix ? utils.toPosixSlashes : null); - let match = input === glob; - let output = match && format ? format(input) : input; - if (match === false) { - output = format ? format(input) : input; - match = output === glob; - } - if (match === false || opts.capture === true) { - if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); - } else { - match = regex.exec(output); - } - } - return { - isMatch: Boolean(match), - match, - output - }; - }; - picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); - return regex.test(path.basename(input)); - }; - picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) - return pattern.map((p) => picomatch.parse(p, options)); - return parse(pattern, Object.assign(Object.assign({}, options), {}, { - fastpaths: false - })); - }; - picomatch.scan = (input, options) => scan(input, options); - picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return state.output; - } - const opts = options || {}; - const prepend = opts.contains ? "" : "^"; - const append = opts.contains ? "" : "$"; - let source = `${prepend}(?:${state.output})${append}`; - if (state && state.negated === true) { - source = `^(?!${source}).*$`; - } - const regex = picomatch.toRegex(source, options); - if (returnState === true) { - regex.state = state; - } - return regex; - }; - picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { - if (!input || typeof input !== "string") { - throw new TypeError("Expected a non-empty string"); - } - let parsed = { - negated: false, - fastpaths: true - }; - if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) { - parsed.output = parse.fastpaths(input, options); - } - if (!parsed.output) { - parsed = parse(input, options); - } - return picomatch.compileRe(parsed, options, returnOutput, returnState); - }; - picomatch.toRegex = (source, options) => { - try { - const opts = options || {}; - return new RegExp(source, opts.flags || (opts.nocase ? "i" : "")); - } catch (err) { - if (options && options.debug === true) - throw err; - return /$^/; - } - }; - picomatch.constants = constants; - module2.exports = picomatch; - } -}); -var require_picomatch2 = __commonJS2({ - "node_modules/picomatch/index.js"(exports2, module2) { - "use strict"; - module2.exports = require_picomatch(); - } -}); -var require_micromatch = __commonJS2({ - "node_modules/micromatch/index.js"(exports2, module2) { - "use strict"; - var util = require("util"); - var braces = require_braces(); - var picomatch = require_picomatch2(); - var utils = require_utils3(); - var isEmptyString = (val) => val === "" || val === "./"; - var micromatch = (list, patterns, options) => { - patterns = [].concat(patterns); - list = [].concat(list); - let omit = /* @__PURE__ */ new Set(); - let keep = /* @__PURE__ */ new Set(); - let items = /* @__PURE__ */ new Set(); - let negatives = 0; - let onResult = (state) => { - items.add(state.output); - if (options && options.onResult) { - options.onResult(state); - } - }; - for (let i = 0; i < patterns.length; i++) { - let isMatch = picomatch(String(patterns[i]), Object.assign(Object.assign({}, options), {}, { - onResult - }), true); - let negated = isMatch.state.negated || isMatch.state.negatedExtglob; - if (negated) - negatives++; - for (let item of list) { - let matched = isMatch(item, true); - let match = negated ? !matched.isMatch : matched.isMatch; - if (!match) - continue; - if (negated) { - omit.add(matched.output); - } else { - omit.delete(matched.output); - keep.add(matched.output); - } - } - } - let result = negatives === patterns.length ? [...items] : [...keep]; - let matches = result.filter((item) => !omit.has(item)); - if (options && matches.length === 0) { - if (options.failglob === true) { - throw new Error(`No matches found for "${patterns.join(", ")}"`); - } - if (options.nonull === true || options.nullglob === true) { - return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns; - } - } - return matches; - }; - micromatch.match = micromatch; - micromatch.matcher = (pattern, options) => picomatch(pattern, options); - micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - micromatch.any = micromatch.isMatch; - micromatch.not = (list, patterns, options = {}) => { - patterns = [].concat(patterns).map(String); - let result = /* @__PURE__ */ new Set(); - let items = []; - let onResult = (state) => { - if (options.onResult) - options.onResult(state); - items.push(state.output); - }; - let matches = new Set(micromatch(list, patterns, Object.assign(Object.assign({}, options), {}, { - onResult - }))); - for (let item of items) { - if (!matches.has(item)) { - result.add(item); - } - } - return [...result]; - }; - micromatch.contains = (str, pattern, options) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); - } - if (Array.isArray(pattern)) { - return pattern.some((p) => micromatch.contains(str, p, options)); - } - if (typeof pattern === "string") { - if (isEmptyString(str) || isEmptyString(pattern)) { - return false; - } - if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) { - return true; - } - } - return micromatch.isMatch(str, pattern, Object.assign(Object.assign({}, options), {}, { - contains: true - })); - }; - micromatch.matchKeys = (obj, patterns, options) => { - if (!utils.isObject(obj)) { - throw new TypeError("Expected the first argument to be an object"); - } - let keys = micromatch(Object.keys(obj), patterns, options); - let res = {}; - for (let key of keys) - res[key] = obj[key]; - return res; - }; - micromatch.some = (list, patterns, options) => { - let items = [].concat(list); - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (items.some((item) => isMatch(item))) { - return true; - } - } - return false; - }; - micromatch.every = (list, patterns, options) => { - let items = [].concat(list); - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (!items.every((item) => isMatch(item))) { - return false; - } - } - return true; - }; - micromatch.all = (str, patterns, options) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); - } - return [].concat(patterns).every((p) => picomatch(p, options)(str)); - }; - micromatch.capture = (glob, input, options) => { - let posix = utils.isWindows(options); - let regex = picomatch.makeRe(String(glob), Object.assign(Object.assign({}, options), {}, { - capture: true - })); - let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); - if (match) { - return match.slice(1).map((v) => v === void 0 ? "" : v); - } - }; - micromatch.makeRe = (...args) => picomatch.makeRe(...args); - micromatch.scan = (...args) => picomatch.scan(...args); - micromatch.parse = (patterns, options) => { - let res = []; - for (let pattern of [].concat(patterns || [])) { - for (let str of braces(String(pattern), options)) { - res.push(picomatch.parse(str, options)); - } - } - return res; - }; - micromatch.braces = (pattern, options) => { - if (typeof pattern !== "string") - throw new TypeError("Expected a string"); - if (options && options.nobrace === true || !/\{.*\}/.test(pattern)) { - return [pattern]; - } - return braces(pattern, options); - }; - micromatch.braceExpand = (pattern, options) => { - if (typeof pattern !== "string") - throw new TypeError("Expected a string"); - return micromatch.braces(pattern, Object.assign(Object.assign({}, options), {}, { - expand: true - })); - }; - module2.exports = micromatch; - } -}); -var require_parser2 = __commonJS2({ - "node_modules/@iarna/toml/lib/parser.js"(exports2, module2) { - "use strict"; - var ParserEND = 1114112; - var ParserError = class extends Error { - constructor(msg, filename, linenumber) { - super("[ParserError] " + msg, filename, linenumber); - this.name = "ParserError"; - this.code = "ParserError"; - if (Error.captureStackTrace) - Error.captureStackTrace(this, ParserError); - } - }; - var State = class { - constructor(parser) { - this.parser = parser; - this.buf = ""; - this.returned = null; - this.result = null; - this.resultTable = null; - this.resultArr = null; - } - }; - var Parser = class { - constructor() { - this.pos = 0; - this.col = 0; - this.line = 0; - this.obj = {}; - this.ctx = this.obj; - this.stack = []; - this._buf = ""; - this.char = null; - this.ii = 0; - this.state = new State(this.parseStart); - } - parse(str) { - if (str.length === 0 || str.length == null) - return; - this._buf = String(str); - this.ii = -1; - this.char = -1; - let getNext; - while (getNext === false || this.nextChar()) { - getNext = this.runOne(); - } - this._buf = null; - } - nextChar() { - if (this.char === 10) { - ++this.line; - this.col = -1; - } - ++this.ii; - this.char = this._buf.codePointAt(this.ii); - ++this.pos; - ++this.col; - return this.haveBuffer(); - } - haveBuffer() { - return this.ii < this._buf.length; - } - runOne() { - return this.state.parser.call(this, this.state.returned); - } - finish() { - this.char = ParserEND; - let last; - do { - last = this.state.parser; - this.runOne(); - } while (this.state.parser !== last); - this.ctx = null; - this.state = null; - this._buf = null; - return this.obj; - } - next(fn) { - if (typeof fn !== "function") - throw new ParserError("Tried to set state to non-existent state: " + JSON.stringify(fn)); - this.state.parser = fn; - } - goto(fn) { - this.next(fn); - return this.runOne(); - } - call(fn, returnWith) { - if (returnWith) - this.next(returnWith); - this.stack.push(this.state); - this.state = new State(fn); - } - callNow(fn, returnWith) { - this.call(fn, returnWith); - return this.runOne(); - } - return(value) { - if (this.stack.length === 0) - throw this.error(new ParserError("Stack underflow")); - if (value === void 0) - value = this.state.buf; - this.state = this.stack.pop(); - this.state.returned = value; - } - returnNow(value) { - this.return(value); - return this.runOne(); - } - consume() { - if (this.char === ParserEND) - throw this.error(new ParserError("Unexpected end-of-buffer")); - this.state.buf += this._buf[this.ii]; - } - error(err) { - err.line = this.line; - err.col = this.col; - err.pos = this.pos; - return err; - } - parseStart() { - throw new ParserError("Must declare a parseStart method"); - } - }; - Parser.END = ParserEND; - Parser.Error = ParserError; - module2.exports = Parser; - } -}); -var require_create_datetime = __commonJS2({ - "node_modules/@iarna/toml/lib/create-datetime.js"(exports2, module2) { - "use strict"; - module2.exports = (value) => { - const date = new Date(value); - if (isNaN(date)) { - throw new TypeError("Invalid Datetime"); - } else { - return date; - } - }; - } -}); -var require_format_num = __commonJS2({ - "node_modules/@iarna/toml/lib/format-num.js"(exports2, module2) { - "use strict"; - module2.exports = (d, num) => { - num = String(num); - while (num.length < d) - num = "0" + num; - return num; - }; - } -}); -var require_create_datetime_float = __commonJS2({ - "node_modules/@iarna/toml/lib/create-datetime-float.js"(exports2, module2) { - "use strict"; - var f = require_format_num(); - var FloatingDateTime = class extends Date { - constructor(value) { - super(value + "Z"); - this.isFloating = true; - } - toISOString() { - const date = `${this.getUTCFullYear()}-${f(2, this.getUTCMonth() + 1)}-${f(2, this.getUTCDate())}`; - const time = `${f(2, this.getUTCHours())}:${f(2, this.getUTCMinutes())}:${f(2, this.getUTCSeconds())}.${f(3, this.getUTCMilliseconds())}`; - return `${date}T${time}`; - } - }; - module2.exports = (value) => { - const date = new FloatingDateTime(value); - if (isNaN(date)) { - throw new TypeError("Invalid Datetime"); - } else { - return date; - } - }; - } -}); -var require_create_date = __commonJS2({ - "node_modules/@iarna/toml/lib/create-date.js"(exports2, module2) { - "use strict"; - var f = require_format_num(); - var DateTime = global.Date; - var Date2 = class extends DateTime { - constructor(value) { - super(value); - this.isDate = true; - } - toISOString() { - return `${this.getUTCFullYear()}-${f(2, this.getUTCMonth() + 1)}-${f(2, this.getUTCDate())}`; - } - }; - module2.exports = (value) => { - const date = new Date2(value); - if (isNaN(date)) { - throw new TypeError("Invalid Datetime"); - } else { - return date; - } - }; - } -}); -var require_create_time = __commonJS2({ - "node_modules/@iarna/toml/lib/create-time.js"(exports2, module2) { - "use strict"; - var f = require_format_num(); - var Time = class extends Date { - constructor(value) { - super(`0000-01-01T${value}Z`); - this.isTime = true; - } - toISOString() { - return `${f(2, this.getUTCHours())}:${f(2, this.getUTCMinutes())}:${f(2, this.getUTCSeconds())}.${f(3, this.getUTCMilliseconds())}`; - } - }; - module2.exports = (value) => { - const date = new Time(value); - if (isNaN(date)) { - throw new TypeError("Invalid Datetime"); - } else { - return date; - } - }; - } -}); -var require_toml_parser = __commonJS2({ - "node_modules/@iarna/toml/lib/toml-parser.js"(exports2, module2) { - "use strict"; - module2.exports = makeParserClass(require_parser2()); - module2.exports.makeParserClass = makeParserClass; - var TomlError = class extends Error { - constructor(msg) { - super(msg); - this.name = "TomlError"; - if (Error.captureStackTrace) - Error.captureStackTrace(this, TomlError); - this.fromTOML = true; - this.wrapped = null; - } - }; - TomlError.wrap = (err) => { - const terr = new TomlError(err.message); - terr.code = err.code; - terr.wrapped = err; - return terr; - }; - module2.exports.TomlError = TomlError; - var createDateTime = require_create_datetime(); - var createDateTimeFloat = require_create_datetime_float(); - var createDate = require_create_date(); - var createTime = require_create_time(); - var CTRL_I = 9; - var CTRL_J = 10; - var CTRL_M = 13; - var CTRL_CHAR_BOUNDARY = 31; - var CHAR_SP = 32; - var CHAR_QUOT = 34; - var CHAR_NUM = 35; - var CHAR_APOS = 39; - var CHAR_PLUS = 43; - var CHAR_COMMA = 44; - var CHAR_HYPHEN = 45; - var CHAR_PERIOD = 46; - var CHAR_0 = 48; - var CHAR_1 = 49; - var CHAR_7 = 55; - var CHAR_9 = 57; - var CHAR_COLON = 58; - var CHAR_EQUALS = 61; - var CHAR_A = 65; - var CHAR_E = 69; - var CHAR_F = 70; - var CHAR_T = 84; - var CHAR_U = 85; - var CHAR_Z = 90; - var CHAR_LOWBAR = 95; - var CHAR_a = 97; - var CHAR_b = 98; - var CHAR_e = 101; - var CHAR_f = 102; - var CHAR_i = 105; - var CHAR_l = 108; - var CHAR_n = 110; - var CHAR_o = 111; - var CHAR_r = 114; - var CHAR_s = 115; - var CHAR_t = 116; - var CHAR_u = 117; - var CHAR_x = 120; - var CHAR_z = 122; - var CHAR_LCUB = 123; - var CHAR_RCUB = 125; - var CHAR_LSQB = 91; - var CHAR_BSOL = 92; - var CHAR_RSQB = 93; - var CHAR_DEL = 127; - var SURROGATE_FIRST = 55296; - var SURROGATE_LAST = 57343; - var escapes = { - [CHAR_b]: "\b", - [CHAR_t]: " ", - [CHAR_n]: "\n", - [CHAR_f]: "\f", - [CHAR_r]: "\r", - [CHAR_QUOT]: '"', - [CHAR_BSOL]: "\\" - }; - function isDigit(cp) { - return cp >= CHAR_0 && cp <= CHAR_9; - } - function isHexit(cp) { - return cp >= CHAR_A && cp <= CHAR_F || cp >= CHAR_a && cp <= CHAR_f || cp >= CHAR_0 && cp <= CHAR_9; - } - function isBit(cp) { - return cp === CHAR_1 || cp === CHAR_0; - } - function isOctit(cp) { - return cp >= CHAR_0 && cp <= CHAR_7; - } - function isAlphaNumQuoteHyphen(cp) { - return cp >= CHAR_A && cp <= CHAR_Z || cp >= CHAR_a && cp <= CHAR_z || cp >= CHAR_0 && cp <= CHAR_9 || cp === CHAR_APOS || cp === CHAR_QUOT || cp === CHAR_LOWBAR || cp === CHAR_HYPHEN; - } - function isAlphaNumHyphen(cp) { - return cp >= CHAR_A && cp <= CHAR_Z || cp >= CHAR_a && cp <= CHAR_z || cp >= CHAR_0 && cp <= CHAR_9 || cp === CHAR_LOWBAR || cp === CHAR_HYPHEN; - } - var _type = Symbol("type"); - var _declared = Symbol("declared"); - var hasOwnProperty = Object.prototype.hasOwnProperty; - var defineProperty = Object.defineProperty; - var descriptor = { - configurable: true, - enumerable: true, - writable: true, - value: void 0 - }; - function hasKey(obj, key) { - if (hasOwnProperty.call(obj, key)) - return true; - if (key === "__proto__") - defineProperty(obj, "__proto__", descriptor); - return false; - } - var INLINE_TABLE = Symbol("inline-table"); - function InlineTable() { - return Object.defineProperties({}, { - [_type]: { - value: INLINE_TABLE - } - }); - } - function isInlineTable(obj) { - if (obj === null || typeof obj !== "object") - return false; - return obj[_type] === INLINE_TABLE; - } - var TABLE = Symbol("table"); - function Table() { - return Object.defineProperties({}, { - [_type]: { - value: TABLE - }, - [_declared]: { - value: false, - writable: true - } - }); - } - function isTable(obj) { - if (obj === null || typeof obj !== "object") - return false; - return obj[_type] === TABLE; - } - var _contentType = Symbol("content-type"); - var INLINE_LIST = Symbol("inline-list"); - function InlineList(type) { - return Object.defineProperties([], { - [_type]: { - value: INLINE_LIST - }, - [_contentType]: { - value: type - } - }); - } - function isInlineList(obj) { - if (obj === null || typeof obj !== "object") - return false; - return obj[_type] === INLINE_LIST; - } - var LIST = Symbol("list"); - function List() { - return Object.defineProperties([], { - [_type]: { - value: LIST - } - }); - } - function isList(obj) { - if (obj === null || typeof obj !== "object") - return false; - return obj[_type] === LIST; - } - var _custom; - try { - const utilInspect = require("util").inspect; - _custom = utilInspect.custom; - } catch (_) { - } - var _inspect = _custom || "inspect"; - var BoxedBigInt = class { - constructor(value) { - try { - this.value = global.BigInt.asIntN(64, value); - } catch (_) { - this.value = null; - } - Object.defineProperty(this, _type, { - value: INTEGER - }); - } - isNaN() { - return this.value === null; - } - toString() { - return String(this.value); - } - [_inspect]() { - return `[BigInt: ${this.toString()}]}`; - } - valueOf() { - return this.value; - } - }; - var INTEGER = Symbol("integer"); - function Integer(value) { - let num = Number(value); - if (Object.is(num, -0)) - num = 0; - if (global.BigInt && !Number.isSafeInteger(num)) { - return new BoxedBigInt(value); - } else { - return Object.defineProperties(new Number(num), { - isNaN: { - value: function() { - return isNaN(this); - } - }, - [_type]: { - value: INTEGER - }, - [_inspect]: { - value: () => `[Integer: ${value}]` - } - }); - } - } - function isInteger(obj) { - if (obj === null || typeof obj !== "object") - return false; - return obj[_type] === INTEGER; - } - var FLOAT = Symbol("float"); - function Float(value) { - return Object.defineProperties(new Number(value), { - [_type]: { - value: FLOAT - }, - [_inspect]: { - value: () => `[Float: ${value}]` - } - }); - } - function isFloat(obj) { - if (obj === null || typeof obj !== "object") - return false; - return obj[_type] === FLOAT; - } - function tomlType(value) { - const type = typeof value; - if (type === "object") { - if (value === null) - return "null"; - if (value instanceof Date) - return "datetime"; - if (_type in value) { - switch (value[_type]) { - case INLINE_TABLE: - return "inline-table"; - case INLINE_LIST: - return "inline-list"; - case TABLE: - return "table"; - case LIST: - return "list"; - case FLOAT: - return "float"; - case INTEGER: - return "integer"; - } - } - } - return type; - } - function makeParserClass(Parser) { - class TOMLParser extends Parser { - constructor() { - super(); - this.ctx = this.obj = Table(); - } - atEndOfWord() { - return this.char === CHAR_NUM || this.char === CTRL_I || this.char === CHAR_SP || this.atEndOfLine(); - } - atEndOfLine() { - return this.char === Parser.END || this.char === CTRL_J || this.char === CTRL_M; - } - parseStart() { - if (this.char === Parser.END) { - return null; - } else if (this.char === CHAR_LSQB) { - return this.call(this.parseTableOrList); - } else if (this.char === CHAR_NUM) { - return this.call(this.parseComment); - } else if (this.char === CTRL_J || this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M) { - return null; - } else if (isAlphaNumQuoteHyphen(this.char)) { - return this.callNow(this.parseAssignStatement); - } else { - throw this.error(new TomlError(`Unknown character "${this.char}"`)); - } - } - parseWhitespaceToEOL() { - if (this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M) { - return null; - } else if (this.char === CHAR_NUM) { - return this.goto(this.parseComment); - } else if (this.char === Parser.END || this.char === CTRL_J) { - return this.return(); - } else { - throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line")); - } - } - parseAssignStatement() { - return this.callNow(this.parseAssign, this.recordAssignStatement); - } - recordAssignStatement(kv) { - let target = this.ctx; - let finalKey = kv.key.pop(); - for (let kw of kv.key) { - if (hasKey(target, kw) && (!isTable(target[kw]) || target[kw][_declared])) { - throw this.error(new TomlError("Can't redefine existing key")); - } - target = target[kw] = target[kw] || Table(); - } - if (hasKey(target, finalKey)) { - throw this.error(new TomlError("Can't redefine existing key")); - } - if (isInteger(kv.value) || isFloat(kv.value)) { - target[finalKey] = kv.value.valueOf(); - } else { - target[finalKey] = kv.value; - } - return this.goto(this.parseWhitespaceToEOL); - } - parseAssign() { - return this.callNow(this.parseKeyword, this.recordAssignKeyword); - } - recordAssignKeyword(key) { - if (this.state.resultTable) { - this.state.resultTable.push(key); - } else { - this.state.resultTable = [key]; - } - return this.goto(this.parseAssignKeywordPreDot); - } - parseAssignKeywordPreDot() { - if (this.char === CHAR_PERIOD) { - return this.next(this.parseAssignKeywordPostDot); - } else if (this.char !== CHAR_SP && this.char !== CTRL_I) { - return this.goto(this.parseAssignEqual); - } - } - parseAssignKeywordPostDot() { - if (this.char !== CHAR_SP && this.char !== CTRL_I) { - return this.callNow(this.parseKeyword, this.recordAssignKeyword); - } - } - parseAssignEqual() { - if (this.char === CHAR_EQUALS) { - return this.next(this.parseAssignPreValue); - } else { - throw this.error(new TomlError('Invalid character, expected "="')); - } - } - parseAssignPreValue() { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else { - return this.callNow(this.parseValue, this.recordAssignValue); - } - } - recordAssignValue(value) { - return this.returnNow({ - key: this.state.resultTable, - value - }); - } - parseComment() { - do { - if (this.char === Parser.END || this.char === CTRL_J) { - return this.return(); - } - } while (this.nextChar()); - } - parseTableOrList() { - if (this.char === CHAR_LSQB) { - this.next(this.parseList); - } else { - return this.goto(this.parseTable); - } - } - parseTable() { - this.ctx = this.obj; - return this.goto(this.parseTableNext); - } - parseTableNext() { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else { - return this.callNow(this.parseKeyword, this.parseTableMore); - } - } - parseTableMore(keyword) { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else if (this.char === CHAR_RSQB) { - if (hasKey(this.ctx, keyword) && (!isTable(this.ctx[keyword]) || this.ctx[keyword][_declared])) { - throw this.error(new TomlError("Can't redefine existing key")); - } else { - this.ctx = this.ctx[keyword] = this.ctx[keyword] || Table(); - this.ctx[_declared] = true; - } - return this.next(this.parseWhitespaceToEOL); - } else if (this.char === CHAR_PERIOD) { - if (!hasKey(this.ctx, keyword)) { - this.ctx = this.ctx[keyword] = Table(); - } else if (isTable(this.ctx[keyword])) { - this.ctx = this.ctx[keyword]; - } else if (isList(this.ctx[keyword])) { - this.ctx = this.ctx[keyword][this.ctx[keyword].length - 1]; - } else { - throw this.error(new TomlError("Can't redefine existing key")); - } - return this.next(this.parseTableNext); - } else { - throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]")); - } - } - parseList() { - this.ctx = this.obj; - return this.goto(this.parseListNext); - } - parseListNext() { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else { - return this.callNow(this.parseKeyword, this.parseListMore); - } - } - parseListMore(keyword) { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else if (this.char === CHAR_RSQB) { - if (!hasKey(this.ctx, keyword)) { - this.ctx[keyword] = List(); - } - if (isInlineList(this.ctx[keyword])) { - throw this.error(new TomlError("Can't extend an inline array")); - } else if (isList(this.ctx[keyword])) { - const next = Table(); - this.ctx[keyword].push(next); - this.ctx = next; - } else { - throw this.error(new TomlError("Can't redefine an existing key")); - } - return this.next(this.parseListEnd); - } else if (this.char === CHAR_PERIOD) { - if (!hasKey(this.ctx, keyword)) { - this.ctx = this.ctx[keyword] = Table(); - } else if (isInlineList(this.ctx[keyword])) { - throw this.error(new TomlError("Can't extend an inline array")); - } else if (isInlineTable(this.ctx[keyword])) { - throw this.error(new TomlError("Can't extend an inline table")); - } else if (isList(this.ctx[keyword])) { - this.ctx = this.ctx[keyword][this.ctx[keyword].length - 1]; - } else if (isTable(this.ctx[keyword])) { - this.ctx = this.ctx[keyword]; - } else { - throw this.error(new TomlError("Can't redefine an existing key")); - } - return this.next(this.parseListNext); - } else { - throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]")); - } - } - parseListEnd(keyword) { - if (this.char === CHAR_RSQB) { - return this.next(this.parseWhitespaceToEOL); - } else { - throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]")); - } - } - parseValue() { - if (this.char === Parser.END) { - throw this.error(new TomlError("Key without value")); - } else if (this.char === CHAR_QUOT) { - return this.next(this.parseDoubleString); - } - if (this.char === CHAR_APOS) { - return this.next(this.parseSingleString); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { - return this.goto(this.parseNumberSign); - } else if (this.char === CHAR_i) { - return this.next(this.parseInf); - } else if (this.char === CHAR_n) { - return this.next(this.parseNan); - } else if (isDigit(this.char)) { - return this.goto(this.parseNumberOrDateTime); - } else if (this.char === CHAR_t || this.char === CHAR_f) { - return this.goto(this.parseBoolean); - } else if (this.char === CHAR_LSQB) { - return this.call(this.parseInlineList, this.recordValue); - } else if (this.char === CHAR_LCUB) { - return this.call(this.parseInlineTable, this.recordValue); - } else { - throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table")); - } - } - recordValue(value) { - return this.returnNow(value); - } - parseInf() { - if (this.char === CHAR_n) { - return this.next(this.parseInf2); - } else { - throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"')); - } - } - parseInf2() { - if (this.char === CHAR_f) { - if (this.state.buf === "-") { - return this.return(-Infinity); - } else { - return this.return(Infinity); - } - } else { - throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"')); - } - } - parseNan() { - if (this.char === CHAR_a) { - return this.next(this.parseNan2); - } else { - throw this.error(new TomlError('Unexpected character, expected "nan"')); - } - } - parseNan2() { - if (this.char === CHAR_n) { - return this.return(NaN); - } else { - throw this.error(new TomlError('Unexpected character, expected "nan"')); - } - } - parseKeyword() { - if (this.char === CHAR_QUOT) { - return this.next(this.parseBasicString); - } else if (this.char === CHAR_APOS) { - return this.next(this.parseLiteralString); - } else { - return this.goto(this.parseBareKey); - } - } - parseBareKey() { - do { - if (this.char === Parser.END) { - throw this.error(new TomlError("Key ended without value")); - } else if (isAlphaNumHyphen(this.char)) { - this.consume(); - } else if (this.state.buf.length === 0) { - throw this.error(new TomlError("Empty bare keys are not allowed")); - } else { - return this.returnNow(); - } - } while (this.nextChar()); - } - parseSingleString() { - if (this.char === CHAR_APOS) { - return this.next(this.parseLiteralMultiStringMaybe); - } else { - return this.goto(this.parseLiteralString); - } - } - parseLiteralString() { - do { - if (this.char === CHAR_APOS) { - return this.return(); - } else if (this.atEndOfLine()) { - throw this.error(new TomlError("Unterminated string")); - } else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I) { - throw this.errorControlCharInString(); - } else { - this.consume(); - } - } while (this.nextChar()); - } - parseLiteralMultiStringMaybe() { - if (this.char === CHAR_APOS) { - return this.next(this.parseLiteralMultiString); - } else { - return this.returnNow(); - } - } - parseLiteralMultiString() { - if (this.char === CTRL_M) { - return null; - } else if (this.char === CTRL_J) { - return this.next(this.parseLiteralMultiStringContent); - } else { - return this.goto(this.parseLiteralMultiStringContent); - } - } - parseLiteralMultiStringContent() { - do { - if (this.char === CHAR_APOS) { - return this.next(this.parseLiteralMultiEnd); - } else if (this.char === Parser.END) { - throw this.error(new TomlError("Unterminated multi-line string")); - } else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M) { - throw this.errorControlCharInString(); - } else { - this.consume(); - } - } while (this.nextChar()); - } - parseLiteralMultiEnd() { - if (this.char === CHAR_APOS) { - return this.next(this.parseLiteralMultiEnd2); - } else { - this.state.buf += "'"; - return this.goto(this.parseLiteralMultiStringContent); - } - } - parseLiteralMultiEnd2() { - if (this.char === CHAR_APOS) { - return this.return(); - } else { - this.state.buf += "''"; - return this.goto(this.parseLiteralMultiStringContent); - } - } - parseDoubleString() { - if (this.char === CHAR_QUOT) { - return this.next(this.parseMultiStringMaybe); - } else { - return this.goto(this.parseBasicString); - } - } - parseBasicString() { - do { - if (this.char === CHAR_BSOL) { - return this.call(this.parseEscape, this.recordEscapeReplacement); - } else if (this.char === CHAR_QUOT) { - return this.return(); - } else if (this.atEndOfLine()) { - throw this.error(new TomlError("Unterminated string")); - } else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I) { - throw this.errorControlCharInString(); - } else { - this.consume(); - } - } while (this.nextChar()); - } - recordEscapeReplacement(replacement) { - this.state.buf += replacement; - return this.goto(this.parseBasicString); - } - parseMultiStringMaybe() { - if (this.char === CHAR_QUOT) { - return this.next(this.parseMultiString); - } else { - return this.returnNow(); - } - } - parseMultiString() { - if (this.char === CTRL_M) { - return null; - } else if (this.char === CTRL_J) { - return this.next(this.parseMultiStringContent); - } else { - return this.goto(this.parseMultiStringContent); - } - } - parseMultiStringContent() { - do { - if (this.char === CHAR_BSOL) { - return this.call(this.parseMultiEscape, this.recordMultiEscapeReplacement); - } else if (this.char === CHAR_QUOT) { - return this.next(this.parseMultiEnd); - } else if (this.char === Parser.END) { - throw this.error(new TomlError("Unterminated multi-line string")); - } else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M) { - throw this.errorControlCharInString(); - } else { - this.consume(); - } - } while (this.nextChar()); - } - errorControlCharInString() { - let displayCode = "\\u00"; - if (this.char < 16) { - displayCode += "0"; - } - displayCode += this.char.toString(16); - return this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${displayCode} instead`)); - } - recordMultiEscapeReplacement(replacement) { - this.state.buf += replacement; - return this.goto(this.parseMultiStringContent); - } - parseMultiEnd() { - if (this.char === CHAR_QUOT) { - return this.next(this.parseMultiEnd2); - } else { - this.state.buf += '"'; - return this.goto(this.parseMultiStringContent); - } - } - parseMultiEnd2() { - if (this.char === CHAR_QUOT) { - return this.return(); - } else { - this.state.buf += '""'; - return this.goto(this.parseMultiStringContent); - } - } - parseMultiEscape() { - if (this.char === CTRL_M || this.char === CTRL_J) { - return this.next(this.parseMultiTrim); - } else if (this.char === CHAR_SP || this.char === CTRL_I) { - return this.next(this.parsePreMultiTrim); - } else { - return this.goto(this.parseEscape); - } - } - parsePreMultiTrim() { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else if (this.char === CTRL_M || this.char === CTRL_J) { - return this.next(this.parseMultiTrim); - } else { - throw this.error(new TomlError("Can't escape whitespace")); - } - } - parseMultiTrim() { - if (this.char === CTRL_J || this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M) { - return null; - } else { - return this.returnNow(); - } - } - parseEscape() { - if (this.char in escapes) { - return this.return(escapes[this.char]); - } else if (this.char === CHAR_u) { - return this.call(this.parseSmallUnicode, this.parseUnicodeReturn); - } else if (this.char === CHAR_U) { - return this.call(this.parseLargeUnicode, this.parseUnicodeReturn); - } else { - throw this.error(new TomlError("Unknown escape character: " + this.char)); - } - } - parseUnicodeReturn(char) { - try { - const codePoint = parseInt(char, 16); - if (codePoint >= SURROGATE_FIRST && codePoint <= SURROGATE_LAST) { - throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved")); - } - return this.returnNow(String.fromCodePoint(codePoint)); - } catch (err) { - throw this.error(TomlError.wrap(err)); - } - } - parseSmallUnicode() { - if (!isHexit(this.char)) { - throw this.error(new TomlError("Invalid character in unicode sequence, expected hex")); - } else { - this.consume(); - if (this.state.buf.length >= 4) - return this.return(); - } - } - parseLargeUnicode() { - if (!isHexit(this.char)) { - throw this.error(new TomlError("Invalid character in unicode sequence, expected hex")); - } else { - this.consume(); - if (this.state.buf.length >= 8) - return this.return(); - } - } - parseNumberSign() { - this.consume(); - return this.next(this.parseMaybeSignedInfOrNan); - } - parseMaybeSignedInfOrNan() { - if (this.char === CHAR_i) { - return this.next(this.parseInf); - } else if (this.char === CHAR_n) { - return this.next(this.parseNan); - } else { - return this.callNow(this.parseNoUnder, this.parseNumberIntegerStart); - } - } - parseNumberIntegerStart() { - if (this.char === CHAR_0) { - this.consume(); - return this.next(this.parseNumberIntegerExponentOrDecimal); - } else { - return this.goto(this.parseNumberInteger); - } - } - parseNumberIntegerExponentOrDecimal() { - if (this.char === CHAR_PERIOD) { - this.consume(); - return this.call(this.parseNoUnder, this.parseNumberFloat); - } else if (this.char === CHAR_E || this.char === CHAR_e) { - this.consume(); - return this.next(this.parseNumberExponentSign); - } else { - return this.returnNow(Integer(this.state.buf)); - } - } - parseNumberInteger() { - if (isDigit(this.char)) { - this.consume(); - } else if (this.char === CHAR_LOWBAR) { - return this.call(this.parseNoUnder); - } else if (this.char === CHAR_E || this.char === CHAR_e) { - this.consume(); - return this.next(this.parseNumberExponentSign); - } else if (this.char === CHAR_PERIOD) { - this.consume(); - return this.call(this.parseNoUnder, this.parseNumberFloat); - } else { - const result = Integer(this.state.buf); - if (result.isNaN()) { - throw this.error(new TomlError("Invalid number")); - } else { - return this.returnNow(result); - } - } - } - parseNoUnder() { - if (this.char === CHAR_LOWBAR || this.char === CHAR_PERIOD || this.char === CHAR_E || this.char === CHAR_e) { - throw this.error(new TomlError("Unexpected character, expected digit")); - } else if (this.atEndOfWord()) { - throw this.error(new TomlError("Incomplete number")); - } - return this.returnNow(); - } - parseNoUnderHexOctBinLiteral() { - if (this.char === CHAR_LOWBAR || this.char === CHAR_PERIOD) { - throw this.error(new TomlError("Unexpected character, expected digit")); - } else if (this.atEndOfWord()) { - throw this.error(new TomlError("Incomplete number")); - } - return this.returnNow(); - } - parseNumberFloat() { - if (this.char === CHAR_LOWBAR) { - return this.call(this.parseNoUnder, this.parseNumberFloat); - } else if (isDigit(this.char)) { - this.consume(); - } else if (this.char === CHAR_E || this.char === CHAR_e) { - this.consume(); - return this.next(this.parseNumberExponentSign); - } else { - return this.returnNow(Float(this.state.buf)); - } - } - parseNumberExponentSign() { - if (isDigit(this.char)) { - return this.goto(this.parseNumberExponent); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { - this.consume(); - this.call(this.parseNoUnder, this.parseNumberExponent); - } else { - throw this.error(new TomlError("Unexpected character, expected -, + or digit")); - } - } - parseNumberExponent() { - if (isDigit(this.char)) { - this.consume(); - } else if (this.char === CHAR_LOWBAR) { - return this.call(this.parseNoUnder); - } else { - return this.returnNow(Float(this.state.buf)); - } - } - parseNumberOrDateTime() { - if (this.char === CHAR_0) { - this.consume(); - return this.next(this.parseNumberBaseOrDateTime); - } else { - return this.goto(this.parseNumberOrDateTimeOnly); - } - } - parseNumberOrDateTimeOnly() { - if (this.char === CHAR_LOWBAR) { - return this.call(this.parseNoUnder, this.parseNumberInteger); - } else if (isDigit(this.char)) { - this.consume(); - if (this.state.buf.length > 4) - this.next(this.parseNumberInteger); - } else if (this.char === CHAR_E || this.char === CHAR_e) { - this.consume(); - return this.next(this.parseNumberExponentSign); - } else if (this.char === CHAR_PERIOD) { - this.consume(); - return this.call(this.parseNoUnder, this.parseNumberFloat); - } else if (this.char === CHAR_HYPHEN) { - return this.goto(this.parseDateTime); - } else if (this.char === CHAR_COLON) { - return this.goto(this.parseOnlyTimeHour); - } else { - return this.returnNow(Integer(this.state.buf)); - } - } - parseDateTimeOnly() { - if (this.state.buf.length < 4) { - if (isDigit(this.char)) { - return this.consume(); - } else if (this.char === CHAR_COLON) { - return this.goto(this.parseOnlyTimeHour); - } else { - throw this.error(new TomlError("Expected digit while parsing year part of a date")); - } - } else { - if (this.char === CHAR_HYPHEN) { - return this.goto(this.parseDateTime); - } else { - throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date")); - } - } - } - parseNumberBaseOrDateTime() { - if (this.char === CHAR_b) { - this.consume(); - return this.call(this.parseNoUnderHexOctBinLiteral, this.parseIntegerBin); - } else if (this.char === CHAR_o) { - this.consume(); - return this.call(this.parseNoUnderHexOctBinLiteral, this.parseIntegerOct); - } else if (this.char === CHAR_x) { - this.consume(); - return this.call(this.parseNoUnderHexOctBinLiteral, this.parseIntegerHex); - } else if (this.char === CHAR_PERIOD) { - return this.goto(this.parseNumberInteger); - } else if (isDigit(this.char)) { - return this.goto(this.parseDateTimeOnly); - } else { - return this.returnNow(Integer(this.state.buf)); - } - } - parseIntegerHex() { - if (isHexit(this.char)) { - this.consume(); - } else if (this.char === CHAR_LOWBAR) { - return this.call(this.parseNoUnderHexOctBinLiteral); - } else { - const result = Integer(this.state.buf); - if (result.isNaN()) { - throw this.error(new TomlError("Invalid number")); - } else { - return this.returnNow(result); - } - } - } - parseIntegerOct() { - if (isOctit(this.char)) { - this.consume(); - } else if (this.char === CHAR_LOWBAR) { - return this.call(this.parseNoUnderHexOctBinLiteral); - } else { - const result = Integer(this.state.buf); - if (result.isNaN()) { - throw this.error(new TomlError("Invalid number")); - } else { - return this.returnNow(result); - } - } - } - parseIntegerBin() { - if (isBit(this.char)) { - this.consume(); - } else if (this.char === CHAR_LOWBAR) { - return this.call(this.parseNoUnderHexOctBinLiteral); - } else { - const result = Integer(this.state.buf); - if (result.isNaN()) { - throw this.error(new TomlError("Invalid number")); - } else { - return this.returnNow(result); - } - } - } - parseDateTime() { - if (this.state.buf.length < 4) { - throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters")); - } - this.state.result = this.state.buf; - this.state.buf = ""; - return this.next(this.parseDateMonth); - } - parseDateMonth() { - if (this.char === CHAR_HYPHEN) { - if (this.state.buf.length < 2) { - throw this.error(new TomlError("Months less than 10 must be zero padded to two characters")); - } - this.state.result += "-" + this.state.buf; - this.state.buf = ""; - return this.next(this.parseDateDay); - } else if (isDigit(this.char)) { - this.consume(); - } else { - throw this.error(new TomlError("Incomplete datetime")); - } - } - parseDateDay() { - if (this.char === CHAR_T || this.char === CHAR_SP) { - if (this.state.buf.length < 2) { - throw this.error(new TomlError("Days less than 10 must be zero padded to two characters")); - } - this.state.result += "-" + this.state.buf; - this.state.buf = ""; - return this.next(this.parseStartTimeHour); - } else if (this.atEndOfWord()) { - return this.returnNow(createDate(this.state.result + "-" + this.state.buf)); - } else if (isDigit(this.char)) { - this.consume(); - } else { - throw this.error(new TomlError("Incomplete datetime")); - } - } - parseStartTimeHour() { - if (this.atEndOfWord()) { - return this.returnNow(createDate(this.state.result)); - } else { - return this.goto(this.parseTimeHour); - } - } - parseTimeHour() { - if (this.char === CHAR_COLON) { - if (this.state.buf.length < 2) { - throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters")); - } - this.state.result += "T" + this.state.buf; - this.state.buf = ""; - return this.next(this.parseTimeMin); - } else if (isDigit(this.char)) { - this.consume(); - } else { - throw this.error(new TomlError("Incomplete datetime")); - } - } - parseTimeMin() { - if (this.state.buf.length < 2 && isDigit(this.char)) { - this.consume(); - } else if (this.state.buf.length === 2 && this.char === CHAR_COLON) { - this.state.result += ":" + this.state.buf; - this.state.buf = ""; - return this.next(this.parseTimeSec); - } else { - throw this.error(new TomlError("Incomplete datetime")); - } - } - parseTimeSec() { - if (isDigit(this.char)) { - this.consume(); - if (this.state.buf.length === 2) { - this.state.result += ":" + this.state.buf; - this.state.buf = ""; - return this.next(this.parseTimeZoneOrFraction); - } - } else { - throw this.error(new TomlError("Incomplete datetime")); - } - } - parseOnlyTimeHour() { - if (this.char === CHAR_COLON) { - if (this.state.buf.length < 2) { - throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters")); - } - this.state.result = this.state.buf; - this.state.buf = ""; - return this.next(this.parseOnlyTimeMin); - } else { - throw this.error(new TomlError("Incomplete time")); - } - } - parseOnlyTimeMin() { - if (this.state.buf.length < 2 && isDigit(this.char)) { - this.consume(); - } else if (this.state.buf.length === 2 && this.char === CHAR_COLON) { - this.state.result += ":" + this.state.buf; - this.state.buf = ""; - return this.next(this.parseOnlyTimeSec); - } else { - throw this.error(new TomlError("Incomplete time")); - } - } - parseOnlyTimeSec() { - if (isDigit(this.char)) { - this.consume(); - if (this.state.buf.length === 2) { - return this.next(this.parseOnlyTimeFractionMaybe); - } - } else { - throw this.error(new TomlError("Incomplete time")); - } - } - parseOnlyTimeFractionMaybe() { - this.state.result += ":" + this.state.buf; - if (this.char === CHAR_PERIOD) { - this.state.buf = ""; - this.next(this.parseOnlyTimeFraction); - } else { - return this.return(createTime(this.state.result)); - } - } - parseOnlyTimeFraction() { - if (isDigit(this.char)) { - this.consume(); - } else if (this.atEndOfWord()) { - if (this.state.buf.length === 0) - throw this.error(new TomlError("Expected digit in milliseconds")); - return this.returnNow(createTime(this.state.result + "." + this.state.buf)); - } else { - throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z")); - } - } - parseTimeZoneOrFraction() { - if (this.char === CHAR_PERIOD) { - this.consume(); - this.next(this.parseDateTimeFraction); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { - this.consume(); - this.next(this.parseTimeZoneHour); - } else if (this.char === CHAR_Z) { - this.consume(); - return this.return(createDateTime(this.state.result + this.state.buf)); - } else if (this.atEndOfWord()) { - return this.returnNow(createDateTimeFloat(this.state.result + this.state.buf)); - } else { - throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z")); - } - } - parseDateTimeFraction() { - if (isDigit(this.char)) { - this.consume(); - } else if (this.state.buf.length === 1) { - throw this.error(new TomlError("Expected digit in milliseconds")); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { - this.consume(); - this.next(this.parseTimeZoneHour); - } else if (this.char === CHAR_Z) { - this.consume(); - return this.return(createDateTime(this.state.result + this.state.buf)); - } else if (this.atEndOfWord()) { - return this.returnNow(createDateTimeFloat(this.state.result + this.state.buf)); - } else { - throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z")); - } - } - parseTimeZoneHour() { - if (isDigit(this.char)) { - this.consume(); - if (/\d\d$/.test(this.state.buf)) - return this.next(this.parseTimeZoneSep); - } else { - throw this.error(new TomlError("Unexpected character in datetime, expected digit")); - } - } - parseTimeZoneSep() { - if (this.char === CHAR_COLON) { - this.consume(); - this.next(this.parseTimeZoneMin); - } else { - throw this.error(new TomlError("Unexpected character in datetime, expected colon")); - } - } - parseTimeZoneMin() { - if (isDigit(this.char)) { - this.consume(); - if (/\d\d$/.test(this.state.buf)) - return this.return(createDateTime(this.state.result + this.state.buf)); - } else { - throw this.error(new TomlError("Unexpected character in datetime, expected digit")); - } - } - parseBoolean() { - if (this.char === CHAR_t) { - this.consume(); - return this.next(this.parseTrue_r); - } else if (this.char === CHAR_f) { - this.consume(); - return this.next(this.parseFalse_a); - } - } - parseTrue_r() { - if (this.char === CHAR_r) { - this.consume(); - return this.next(this.parseTrue_u); - } else { - throw this.error(new TomlError("Invalid boolean, expected true or false")); - } - } - parseTrue_u() { - if (this.char === CHAR_u) { - this.consume(); - return this.next(this.parseTrue_e); - } else { - throw this.error(new TomlError("Invalid boolean, expected true or false")); - } - } - parseTrue_e() { - if (this.char === CHAR_e) { - return this.return(true); - } else { - throw this.error(new TomlError("Invalid boolean, expected true or false")); - } - } - parseFalse_a() { - if (this.char === CHAR_a) { - this.consume(); - return this.next(this.parseFalse_l); - } else { - throw this.error(new TomlError("Invalid boolean, expected true or false")); - } - } - parseFalse_l() { - if (this.char === CHAR_l) { - this.consume(); - return this.next(this.parseFalse_s); - } else { - throw this.error(new TomlError("Invalid boolean, expected true or false")); - } - } - parseFalse_s() { - if (this.char === CHAR_s) { - this.consume(); - return this.next(this.parseFalse_e); - } else { - throw this.error(new TomlError("Invalid boolean, expected true or false")); - } - } - parseFalse_e() { - if (this.char === CHAR_e) { - return this.return(false); - } else { - throw this.error(new TomlError("Invalid boolean, expected true or false")); - } - } - parseInlineList() { - if (this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M || this.char === CTRL_J) { - return null; - } else if (this.char === Parser.END) { - throw this.error(new TomlError("Unterminated inline array")); - } else if (this.char === CHAR_NUM) { - return this.call(this.parseComment); - } else if (this.char === CHAR_RSQB) { - return this.return(this.state.resultArr || InlineList()); - } else { - return this.callNow(this.parseValue, this.recordInlineListValue); - } - } - recordInlineListValue(value) { - if (this.state.resultArr) { - const listType = this.state.resultArr[_contentType]; - const valueType = tomlType(value); - if (listType !== valueType) { - throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${listType} and ${valueType}`)); - } - } else { - this.state.resultArr = InlineList(tomlType(value)); - } - if (isFloat(value) || isInteger(value)) { - this.state.resultArr.push(value.valueOf()); - } else { - this.state.resultArr.push(value); - } - return this.goto(this.parseInlineListNext); - } - parseInlineListNext() { - if (this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M || this.char === CTRL_J) { - return null; - } else if (this.char === CHAR_NUM) { - return this.call(this.parseComment); - } else if (this.char === CHAR_COMMA) { - return this.next(this.parseInlineList); - } else if (this.char === CHAR_RSQB) { - return this.goto(this.parseInlineList); - } else { - throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])")); - } - } - parseInlineTable() { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else if (this.char === Parser.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) { - throw this.error(new TomlError("Unterminated inline array")); - } else if (this.char === CHAR_RCUB) { - return this.return(this.state.resultTable || InlineTable()); - } else { - if (!this.state.resultTable) - this.state.resultTable = InlineTable(); - return this.callNow(this.parseAssign, this.recordInlineTableValue); - } - } - recordInlineTableValue(kv) { - let target = this.state.resultTable; - let finalKey = kv.key.pop(); - for (let kw of kv.key) { - if (hasKey(target, kw) && (!isTable(target[kw]) || target[kw][_declared])) { - throw this.error(new TomlError("Can't redefine existing key")); - } - target = target[kw] = target[kw] || Table(); - } - if (hasKey(target, finalKey)) { - throw this.error(new TomlError("Can't redefine existing key")); - } - if (isInteger(kv.value) || isFloat(kv.value)) { - target[finalKey] = kv.value.valueOf(); - } else { - target[finalKey] = kv.value; - } - return this.goto(this.parseInlineTableNext); - } - parseInlineTableNext() { - if (this.char === CHAR_SP || this.char === CTRL_I) { - return null; - } else if (this.char === Parser.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) { - throw this.error(new TomlError("Unterminated inline array")); - } else if (this.char === CHAR_COMMA) { - return this.next(this.parseInlineTable); - } else if (this.char === CHAR_RCUB) { - return this.goto(this.parseInlineTable); - } else { - throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])")); - } - } - } - return TOMLParser; - } - } -}); -var require_parse_pretty_error = __commonJS2({ - "node_modules/@iarna/toml/parse-pretty-error.js"(exports2, module2) { - "use strict"; - module2.exports = prettyError; - function prettyError(err, buf) { - if (err.pos == null || err.line == null) - return err; - let msg = err.message; - msg += ` at row ${err.line + 1}, col ${err.col + 1}, pos ${err.pos}: -`; - if (buf && buf.split) { - const lines = buf.split(/\n/); - const lineNumWidth = String(Math.min(lines.length, err.line + 3)).length; - let linePadding = " "; - while (linePadding.length < lineNumWidth) - linePadding += " "; - for (let ii = Math.max(0, err.line - 1); ii < Math.min(lines.length, err.line + 2); ++ii) { - let lineNum = String(ii + 1); - if (lineNum.length < lineNumWidth) - lineNum = " " + lineNum; - if (err.line === ii) { - msg += lineNum + "> " + lines[ii] + "\n"; - msg += linePadding + " "; - for (let hh = 0; hh < err.col; ++hh) { - msg += " "; - } - msg += "^\n"; - } else { - msg += lineNum + ": " + lines[ii] + "\n"; - } - } - } - err.message = msg + "\n"; - return err; - } - } -}); -var require_parse_string = __commonJS2({ - "node_modules/@iarna/toml/parse-string.js"(exports2, module2) { - "use strict"; - module2.exports = parseString; - var TOMLParser = require_toml_parser(); - var prettyError = require_parse_pretty_error(); - function parseString(str) { - if (global.Buffer && global.Buffer.isBuffer(str)) { - str = str.toString("utf8"); - } - const parser = new TOMLParser(); - try { - parser.parse(str); - return parser.finish(); - } catch (err) { - throw prettyError(err, str); - } - } - } -}); -var require_load_toml = __commonJS2({ - "src/utils/load-toml.js"(exports2, module2) { - "use strict"; - var parse = require_parse_string(); - module2.exports = function(filePath, content) { - try { - return parse(content); - } catch (error) { - error.message = `TOML Error in ${filePath}: -${error.message}`; - throw error; - } - }; - } -}); -var require_unicode = __commonJS2({ - "node_modules/json5/lib/unicode.js"(exports2, module2) { - module2.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; - module2.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; - module2.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; - } -}); -var require_util2 = __commonJS2({ - "node_modules/json5/lib/util.js"(exports2, module2) { - var unicode = require_unicode(); - module2.exports = { - isSpaceSeparator(c) { - return typeof c === "string" && unicode.Space_Separator.test(c); - }, - isIdStartChar(c) { - return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || unicode.ID_Start.test(c)); - }, - isIdContinueChar(c) { - return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "\u200C" || c === "\u200D" || unicode.ID_Continue.test(c)); - }, - isDigit(c) { - return typeof c === "string" && /[0-9]/.test(c); - }, - isHexDigit(c) { - return typeof c === "string" && /[0-9A-Fa-f]/.test(c); - } - }; - } -}); -var require_parse3 = __commonJS2({ - "node_modules/json5/lib/parse.js"(exports2, module2) { - var util = require_util2(); - var source; - var parseState; - var stack; - var pos; - var line; - var column; - var token; - var key; - var root; - module2.exports = function parse(text, reviver) { - source = String(text); - parseState = "start"; - stack = []; - pos = 0; - line = 1; - column = 0; - token = void 0; - key = void 0; - root = void 0; - do { - token = lex(); - parseStates[parseState](); - } while (token.type !== "eof"); - if (typeof reviver === "function") { - return internalize({ - "": root - }, "", reviver); - } - return root; - }; - function internalize(holder, name, reviver) { - const value = holder[name]; - if (value != null && typeof value === "object") { - if (Array.isArray(value)) { - for (let i = 0; i < value.length; i++) { - const key2 = String(i); - const replacement = internalize(value, key2, reviver); - if (replacement === void 0) { - delete value[key2]; - } else { - Object.defineProperty(value, key2, { - value: replacement, - writable: true, - enumerable: true, - configurable: true - }); - } - } - } else { - for (const key2 in value) { - const replacement = internalize(value, key2, reviver); - if (replacement === void 0) { - delete value[key2]; - } else { - Object.defineProperty(value, key2, { - value: replacement, - writable: true, - enumerable: true, - configurable: true - }); - } - } - } - } - return reviver.call(holder, name, value); - } - var lexState; - var buffer; - var doubleQuote; - var sign; - var c; - function lex() { - lexState = "default"; - buffer = ""; - doubleQuote = false; - sign = 1; - for (; ; ) { - c = peek(); - const token2 = lexStates[lexState](); - if (token2) { - return token2; - } - } - } - function peek() { - if (source[pos]) { - return String.fromCodePoint(source.codePointAt(pos)); - } - } - function read() { - const c2 = peek(); - if (c2 === "\n") { - line++; - column = 0; - } else if (c2) { - column += c2.length; - } else { - column++; - } - if (c2) { - pos += c2.length; - } - return c2; - } - var lexStates = { - default() { - switch (c) { - case " ": - case "\v": - case "\f": - case " ": - case "\xA0": - case "\uFEFF": - case "\n": - case "\r": - case "\u2028": - case "\u2029": - read(); - return; - case "/": - read(); - lexState = "comment"; - return; - case void 0: - read(); - return newToken("eof"); - } - if (util.isSpaceSeparator(c)) { - read(); - return; - } - return lexStates[parseState](); - }, - comment() { - switch (c) { - case "*": - read(); - lexState = "multiLineComment"; - return; - case "/": - read(); - lexState = "singleLineComment"; - return; - } - throw invalidChar(read()); - }, - multiLineComment() { - switch (c) { - case "*": - read(); - lexState = "multiLineCommentAsterisk"; - return; - case void 0: - throw invalidChar(read()); - } - read(); - }, - multiLineCommentAsterisk() { - switch (c) { - case "*": - read(); - return; - case "/": - read(); - lexState = "default"; - return; - case void 0: - throw invalidChar(read()); - } - read(); - lexState = "multiLineComment"; - }, - singleLineComment() { - switch (c) { - case "\n": - case "\r": - case "\u2028": - case "\u2029": - read(); - lexState = "default"; - return; - case void 0: - read(); - return newToken("eof"); - } - read(); - }, - value() { - switch (c) { - case "{": - case "[": - return newToken("punctuator", read()); - case "n": - read(); - literal("ull"); - return newToken("null", null); - case "t": - read(); - literal("rue"); - return newToken("boolean", true); - case "f": - read(); - literal("alse"); - return newToken("boolean", false); - case "-": - case "+": - if (read() === "-") { - sign = -1; - } - lexState = "sign"; - return; - case ".": - buffer = read(); - lexState = "decimalPointLeading"; - return; - case "0": - buffer = read(); - lexState = "zero"; - return; - case "1": - case "2": - case "3": - case "4": - case "5": - case "6": - case "7": - case "8": - case "9": - buffer = read(); - lexState = "decimalInteger"; - return; - case "I": - read(); - literal("nfinity"); - return newToken("numeric", Infinity); - case "N": - read(); - literal("aN"); - return newToken("numeric", NaN); - case '"': - case "'": - doubleQuote = read() === '"'; - buffer = ""; - lexState = "string"; - return; - } - throw invalidChar(read()); - }, - identifierNameStartEscape() { - if (c !== "u") { - throw invalidChar(read()); - } - read(); - const u = unicodeEscape(); - switch (u) { - case "$": - case "_": - break; - default: - if (!util.isIdStartChar(u)) { - throw invalidIdentifier(); - } - break; - } - buffer += u; - lexState = "identifierName"; - }, - identifierName() { - switch (c) { - case "$": - case "_": - case "\u200C": - case "\u200D": - buffer += read(); - return; - case "\\": - read(); - lexState = "identifierNameEscape"; - return; - } - if (util.isIdContinueChar(c)) { - buffer += read(); - return; - } - return newToken("identifier", buffer); - }, - identifierNameEscape() { - if (c !== "u") { - throw invalidChar(read()); - } - read(); - const u = unicodeEscape(); - switch (u) { - case "$": - case "_": - case "\u200C": - case "\u200D": - break; - default: - if (!util.isIdContinueChar(u)) { - throw invalidIdentifier(); - } - break; - } - buffer += u; - lexState = "identifierName"; - }, - sign() { - switch (c) { - case ".": - buffer = read(); - lexState = "decimalPointLeading"; - return; - case "0": - buffer = read(); - lexState = "zero"; - return; - case "1": - case "2": - case "3": - case "4": - case "5": - case "6": - case "7": - case "8": - case "9": - buffer = read(); - lexState = "decimalInteger"; - return; - case "I": - read(); - literal("nfinity"); - return newToken("numeric", sign * Infinity); - case "N": - read(); - literal("aN"); - return newToken("numeric", NaN); - } - throw invalidChar(read()); - }, - zero() { - switch (c) { - case ".": - buffer += read(); - lexState = "decimalPoint"; - return; - case "e": - case "E": - buffer += read(); - lexState = "decimalExponent"; - return; - case "x": - case "X": - buffer += read(); - lexState = "hexadecimal"; - return; - } - return newToken("numeric", sign * 0); - }, - decimalInteger() { - switch (c) { - case ".": - buffer += read(); - lexState = "decimalPoint"; - return; - case "e": - case "E": - buffer += read(); - lexState = "decimalExponent"; - return; - } - if (util.isDigit(c)) { - buffer += read(); - return; - } - return newToken("numeric", sign * Number(buffer)); - }, - decimalPointLeading() { - if (util.isDigit(c)) { - buffer += read(); - lexState = "decimalFraction"; - return; - } - throw invalidChar(read()); - }, - decimalPoint() { - switch (c) { - case "e": - case "E": - buffer += read(); - lexState = "decimalExponent"; - return; - } - if (util.isDigit(c)) { - buffer += read(); - lexState = "decimalFraction"; - return; - } - return newToken("numeric", sign * Number(buffer)); - }, - decimalFraction() { - switch (c) { - case "e": - case "E": - buffer += read(); - lexState = "decimalExponent"; - return; - } - if (util.isDigit(c)) { - buffer += read(); - return; - } - return newToken("numeric", sign * Number(buffer)); - }, - decimalExponent() { - switch (c) { - case "+": - case "-": - buffer += read(); - lexState = "decimalExponentSign"; - return; - } - if (util.isDigit(c)) { - buffer += read(); - lexState = "decimalExponentInteger"; - return; - } - throw invalidChar(read()); - }, - decimalExponentSign() { - if (util.isDigit(c)) { - buffer += read(); - lexState = "decimalExponentInteger"; - return; - } - throw invalidChar(read()); - }, - decimalExponentInteger() { - if (util.isDigit(c)) { - buffer += read(); - return; - } - return newToken("numeric", sign * Number(buffer)); - }, - hexadecimal() { - if (util.isHexDigit(c)) { - buffer += read(); - lexState = "hexadecimalInteger"; - return; - } - throw invalidChar(read()); - }, - hexadecimalInteger() { - if (util.isHexDigit(c)) { - buffer += read(); - return; - } - return newToken("numeric", sign * Number(buffer)); - }, - string() { - switch (c) { - case "\\": - read(); - buffer += escape(); - return; - case '"': - if (doubleQuote) { - read(); - return newToken("string", buffer); - } - buffer += read(); - return; - case "'": - if (!doubleQuote) { - read(); - return newToken("string", buffer); - } - buffer += read(); - return; - case "\n": - case "\r": - throw invalidChar(read()); - case "\u2028": - case "\u2029": - separatorChar(c); - break; - case void 0: - throw invalidChar(read()); - } - buffer += read(); - }, - start() { - switch (c) { - case "{": - case "[": - return newToken("punctuator", read()); - } - lexState = "value"; - }, - beforePropertyName() { - switch (c) { - case "$": - case "_": - buffer = read(); - lexState = "identifierName"; - return; - case "\\": - read(); - lexState = "identifierNameStartEscape"; - return; - case "}": - return newToken("punctuator", read()); - case '"': - case "'": - doubleQuote = read() === '"'; - lexState = "string"; - return; - } - if (util.isIdStartChar(c)) { - buffer += read(); - lexState = "identifierName"; - return; - } - throw invalidChar(read()); - }, - afterPropertyName() { - if (c === ":") { - return newToken("punctuator", read()); - } - throw invalidChar(read()); - }, - beforePropertyValue() { - lexState = "value"; - }, - afterPropertyValue() { - switch (c) { - case ",": - case "}": - return newToken("punctuator", read()); - } - throw invalidChar(read()); - }, - beforeArrayValue() { - if (c === "]") { - return newToken("punctuator", read()); - } - lexState = "value"; - }, - afterArrayValue() { - switch (c) { - case ",": - case "]": - return newToken("punctuator", read()); - } - throw invalidChar(read()); - }, - end() { - throw invalidChar(read()); - } - }; - function newToken(type, value) { - return { - type, - value, - line, - column - }; - } - function literal(s) { - for (const c2 of s) { - const p = peek(); - if (p !== c2) { - throw invalidChar(read()); - } - read(); - } - } - function escape() { - const c2 = peek(); - switch (c2) { - case "b": - read(); - return "\b"; - case "f": - read(); - return "\f"; - case "n": - read(); - return "\n"; - case "r": - read(); - return "\r"; - case "t": - read(); - return " "; - case "v": - read(); - return "\v"; - case "0": - read(); - if (util.isDigit(peek())) { - throw invalidChar(read()); - } - return "\0"; - case "x": - read(); - return hexEscape(); - case "u": - read(); - return unicodeEscape(); - case "\n": - case "\u2028": - case "\u2029": - read(); - return ""; - case "\r": - read(); - if (peek() === "\n") { - read(); - } - return ""; - case "1": - case "2": - case "3": - case "4": - case "5": - case "6": - case "7": - case "8": - case "9": - throw invalidChar(read()); - case void 0: - throw invalidChar(read()); - } - return read(); - } - function hexEscape() { - let buffer2 = ""; - let c2 = peek(); - if (!util.isHexDigit(c2)) { - throw invalidChar(read()); - } - buffer2 += read(); - c2 = peek(); - if (!util.isHexDigit(c2)) { - throw invalidChar(read()); - } - buffer2 += read(); - return String.fromCodePoint(parseInt(buffer2, 16)); - } - function unicodeEscape() { - let buffer2 = ""; - let count = 4; - while (count-- > 0) { - const c2 = peek(); - if (!util.isHexDigit(c2)) { - throw invalidChar(read()); - } - buffer2 += read(); - } - return String.fromCodePoint(parseInt(buffer2, 16)); - } - var parseStates = { - start() { - if (token.type === "eof") { - throw invalidEOF(); - } - push(); - }, - beforePropertyName() { - switch (token.type) { - case "identifier": - case "string": - key = token.value; - parseState = "afterPropertyName"; - return; - case "punctuator": - pop(); - return; - case "eof": - throw invalidEOF(); - } - }, - afterPropertyName() { - if (token.type === "eof") { - throw invalidEOF(); - } - parseState = "beforePropertyValue"; - }, - beforePropertyValue() { - if (token.type === "eof") { - throw invalidEOF(); - } - push(); - }, - beforeArrayValue() { - if (token.type === "eof") { - throw invalidEOF(); - } - if (token.type === "punctuator" && token.value === "]") { - pop(); - return; - } - push(); - }, - afterPropertyValue() { - if (token.type === "eof") { - throw invalidEOF(); - } - switch (token.value) { - case ",": - parseState = "beforePropertyName"; - return; - case "}": - pop(); - } - }, - afterArrayValue() { - if (token.type === "eof") { - throw invalidEOF(); - } - switch (token.value) { - case ",": - parseState = "beforeArrayValue"; - return; - case "]": - pop(); - } - }, - end() { - } - }; - function push() { - let value; - switch (token.type) { - case "punctuator": - switch (token.value) { - case "{": - value = {}; - break; - case "[": - value = []; - break; - } - break; - case "null": - case "boolean": - case "numeric": - case "string": - value = token.value; - break; - } - if (root === void 0) { - root = value; - } else { - const parent = stack[stack.length - 1]; - if (Array.isArray(parent)) { - parent.push(value); - } else { - Object.defineProperty(parent, key, { - value, - writable: true, - enumerable: true, - configurable: true - }); - } - } - if (value !== null && typeof value === "object") { - stack.push(value); - if (Array.isArray(value)) { - parseState = "beforeArrayValue"; - } else { - parseState = "beforePropertyName"; - } - } else { - const current = stack[stack.length - 1]; - if (current == null) { - parseState = "end"; - } else if (Array.isArray(current)) { - parseState = "afterArrayValue"; - } else { - parseState = "afterPropertyValue"; - } - } - } - function pop() { - stack.pop(); - const current = stack[stack.length - 1]; - if (current == null) { - parseState = "end"; - } else if (Array.isArray(current)) { - parseState = "afterArrayValue"; - } else { - parseState = "afterPropertyValue"; - } - } - function invalidChar(c2) { - if (c2 === void 0) { - return syntaxError(`JSON5: invalid end of input at ${line}:${column}`); - } - return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line}:${column}`); - } - function invalidEOF() { - return syntaxError(`JSON5: invalid end of input at ${line}:${column}`); - } - function invalidIdentifier() { - column -= 5; - return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`); - } - function separatorChar(c2) { - console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`); - } - function formatChar(c2) { - const replacements = { - "'": "\\'", - '"': '\\"', - "\\": "\\\\", - "\b": "\\b", - "\f": "\\f", - "\n": "\\n", - "\r": "\\r", - " ": "\\t", - "\v": "\\v", - "\0": "\\0", - "\u2028": "\\u2028", - "\u2029": "\\u2029" - }; - if (replacements[c2]) { - return replacements[c2]; - } - if (c2 < " ") { - const hexString = c2.charCodeAt(0).toString(16); - return "\\x" + ("00" + hexString).substring(hexString.length); - } - return c2; - } - function syntaxError(message) { - const err = new SyntaxError(message); - err.lineNumber = line; - err.columnNumber = column; - return err; - } - } -}); -var require_stringify2 = __commonJS2({ - "node_modules/json5/lib/stringify.js"(exports2, module2) { - var util = require_util2(); - module2.exports = function stringify(value, replacer, space) { - const stack = []; - let indent = ""; - let propertyList; - let replacerFunc; - let gap = ""; - let quote; - if (replacer != null && typeof replacer === "object" && !Array.isArray(replacer)) { - space = replacer.space; - quote = replacer.quote; - replacer = replacer.replacer; - } - if (typeof replacer === "function") { - replacerFunc = replacer; - } else if (Array.isArray(replacer)) { - propertyList = []; - for (const v of replacer) { - let item; - if (typeof v === "string") { - item = v; - } else if (typeof v === "number" || v instanceof String || v instanceof Number) { - item = String(v); - } - if (item !== void 0 && propertyList.indexOf(item) < 0) { - propertyList.push(item); - } - } - } - if (space instanceof Number) { - space = Number(space); - } else if (space instanceof String) { - space = String(space); - } - if (typeof space === "number") { - if (space > 0) { - space = Math.min(10, Math.floor(space)); - gap = " ".substr(0, space); - } - } else if (typeof space === "string") { - gap = space.substr(0, 10); - } - return serializeProperty("", { - "": value - }); - function serializeProperty(key, holder) { - let value2 = holder[key]; - if (value2 != null) { - if (typeof value2.toJSON5 === "function") { - value2 = value2.toJSON5(key); - } else if (typeof value2.toJSON === "function") { - value2 = value2.toJSON(key); - } - } - if (replacerFunc) { - value2 = replacerFunc.call(holder, key, value2); - } - if (value2 instanceof Number) { - value2 = Number(value2); - } else if (value2 instanceof String) { - value2 = String(value2); - } else if (value2 instanceof Boolean) { - value2 = value2.valueOf(); - } - switch (value2) { - case null: - return "null"; - case true: - return "true"; - case false: - return "false"; - } - if (typeof value2 === "string") { - return quoteString(value2, false); - } - if (typeof value2 === "number") { - return String(value2); - } - if (typeof value2 === "object") { - return Array.isArray(value2) ? serializeArray(value2) : serializeObject(value2); - } - return void 0; - } - function quoteString(value2) { - const quotes = { - "'": 0.1, - '"': 0.2 - }; - const replacements = { - "'": "\\'", - '"': '\\"', - "\\": "\\\\", - "\b": "\\b", - "\f": "\\f", - "\n": "\\n", - "\r": "\\r", - " ": "\\t", - "\v": "\\v", - "\0": "\\0", - "\u2028": "\\u2028", - "\u2029": "\\u2029" - }; - let product = ""; - for (let i = 0; i < value2.length; i++) { - const c = value2[i]; - switch (c) { - case "'": - case '"': - quotes[c]++; - product += c; - continue; - case "\0": - if (util.isDigit(value2[i + 1])) { - product += "\\x00"; - continue; - } - } - if (replacements[c]) { - product += replacements[c]; - continue; - } - if (c < " ") { - let hexString = c.charCodeAt(0).toString(16); - product += "\\x" + ("00" + hexString).substring(hexString.length); - continue; - } - product += c; - } - const quoteChar = quote || Object.keys(quotes).reduce((a, b) => quotes[a] < quotes[b] ? a : b); - product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]); - return quoteChar + product + quoteChar; - } - function serializeObject(value2) { - if (stack.indexOf(value2) >= 0) { - throw TypeError("Converting circular structure to JSON5"); - } - stack.push(value2); - let stepback = indent; - indent = indent + gap; - let keys = propertyList || Object.keys(value2); - let partial = []; - for (const key of keys) { - const propertyString = serializeProperty(key, value2); - if (propertyString !== void 0) { - let member = serializeKey(key) + ":"; - if (gap !== "") { - member += " "; - } - member += propertyString; - partial.push(member); - } - } - let final; - if (partial.length === 0) { - final = "{}"; - } else { - let properties; - if (gap === "") { - properties = partial.join(","); - final = "{" + properties + "}"; - } else { - let separator = ",\n" + indent; - properties = partial.join(separator); - final = "{\n" + indent + properties + ",\n" + stepback + "}"; - } - } - stack.pop(); - indent = stepback; - return final; - } - function serializeKey(key) { - if (key.length === 0) { - return quoteString(key, true); - } - const firstChar = String.fromCodePoint(key.codePointAt(0)); - if (!util.isIdStartChar(firstChar)) { - return quoteString(key, true); - } - for (let i = firstChar.length; i < key.length; i++) { - if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { - return quoteString(key, true); - } - } - return key; - } - function serializeArray(value2) { - if (stack.indexOf(value2) >= 0) { - throw TypeError("Converting circular structure to JSON5"); - } - stack.push(value2); - let stepback = indent; - indent = indent + gap; - let partial = []; - for (let i = 0; i < value2.length; i++) { - const propertyString = serializeProperty(String(i), value2); - partial.push(propertyString !== void 0 ? propertyString : "null"); - } - let final; - if (partial.length === 0) { - final = "[]"; - } else { - if (gap === "") { - let properties = partial.join(","); - final = "[" + properties + "]"; - } else { - let separator = ",\n" + indent; - let properties = partial.join(separator); - final = "[\n" + indent + properties + ",\n" + stepback + "]"; - } - } - stack.pop(); - indent = stepback; - return final; - } - }; - } -}); -var require_lib6 = __commonJS2({ - "node_modules/json5/lib/index.js"(exports2, module2) { - var parse = require_parse3(); - var stringify = require_stringify2(); - var JSON5 = { - parse, - stringify - }; - module2.exports = JSON5; - } -}); -var require_load_json5 = __commonJS2({ - "src/utils/load-json5.js"(exports2, module2) { - "use strict"; - var { - parse - } = require_lib6(); - module2.exports = function(filePath, content) { - try { - return parse(content); - } catch (error) { - error.message = `JSON5 Error in ${filePath}: -${error.message}`; - throw error; - } - }; - } -}); -var require_partition = __commonJS2({ - "src/utils/partition.js"(exports2, module2) { - "use strict"; - function partition(array, predicate) { - const result = [[], []]; - for (const value of array) { - result[predicate(value) ? 0 : 1].push(value); - } - return result; - } - module2.exports = partition; - } -}); -var require_homedir = __commonJS2({ - "node_modules/resolve/lib/homedir.js"(exports2, module2) { - "use strict"; - var os = require("os"); - module2.exports = os.homedir || function homedir() { - var home = process.env.HOME; - var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME; - if (process.platform === "win32") { - return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null; - } - if (process.platform === "darwin") { - return home || (user ? "/Users/" + user : null); - } - if (process.platform === "linux") { - return home || (process.getuid() === 0 ? "/root" : user ? "/home/" + user : null); - } - return home || null; - }; - } -}); -var require_caller = __commonJS2({ - "node_modules/resolve/lib/caller.js"(exports2, module2) { - module2.exports = function() { - var origPrepareStackTrace = Error.prepareStackTrace; - Error.prepareStackTrace = function(_, stack2) { - return stack2; - }; - var stack = new Error().stack; - Error.prepareStackTrace = origPrepareStackTrace; - return stack[2].getFileName(); - }; - } -}); -var require_path_parse = __commonJS2({ - "node_modules/path-parse/index.js"(exports2, module2) { - "use strict"; - var isWindows = process.platform === "win32"; - var splitWindowsRe = /^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/; - var win32 = {}; - function win32SplitPath(filename) { - return splitWindowsRe.exec(filename).slice(1); - } - win32.parse = function(pathString) { - if (typeof pathString !== "string") { - throw new TypeError("Parameter 'pathString' must be a string, not " + typeof pathString); - } - var allParts = win32SplitPath(pathString); - if (!allParts || allParts.length !== 5) { - throw new TypeError("Invalid path '" + pathString + "'"); - } - return { - root: allParts[1], - dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1), - base: allParts[2], - ext: allParts[4], - name: allParts[3] - }; - }; - var splitPathRe = /^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/; - var posix = {}; - function posixSplitPath(filename) { - return splitPathRe.exec(filename).slice(1); - } - posix.parse = function(pathString) { - if (typeof pathString !== "string") { - throw new TypeError("Parameter 'pathString' must be a string, not " + typeof pathString); - } - var allParts = posixSplitPath(pathString); - if (!allParts || allParts.length !== 5) { - throw new TypeError("Invalid path '" + pathString + "'"); - } - return { - root: allParts[1], - dir: allParts[0].slice(0, -1), - base: allParts[2], - ext: allParts[4], - name: allParts[3] - }; - }; - if (isWindows) - module2.exports = win32.parse; - else - module2.exports = posix.parse; - module2.exports.posix = posix.parse; - module2.exports.win32 = win32.parse; - } -}); -var require_node_modules_paths = __commonJS2({ - "node_modules/resolve/lib/node-modules-paths.js"(exports2, module2) { - var path = require("path"); - var parse = path.parse || require_path_parse(); - var getNodeModulesDirs = function getNodeModulesDirs2(absoluteStart, modules) { - var prefix = "/"; - if (/^([A-Za-z]:)/.test(absoluteStart)) { - prefix = ""; - } else if (/^\\\\/.test(absoluteStart)) { - prefix = "\\\\"; - } - var paths = [absoluteStart]; - var parsed = parse(absoluteStart); - while (parsed.dir !== paths[paths.length - 1]) { - paths.push(parsed.dir); - parsed = parse(parsed.dir); - } - return paths.reduce(function(dirs, aPath) { - return dirs.concat(modules.map(function(moduleDir) { - return path.resolve(prefix, aPath, moduleDir); - })); - }, []); - }; - module2.exports = function nodeModulesPaths(start, opts, request) { - var modules = opts && opts.moduleDirectory ? [].concat(opts.moduleDirectory) : ["node_modules"]; - if (opts && typeof opts.paths === "function") { - return opts.paths(request, start, function() { - return getNodeModulesDirs(start, modules); - }, opts); - } - var dirs = getNodeModulesDirs(start, modules); - return opts && opts.paths ? dirs.concat(opts.paths) : dirs; - }; - } -}); -var require_normalize_options = __commonJS2({ - "node_modules/resolve/lib/normalize-options.js"(exports2, module2) { - module2.exports = function(x, opts) { - return opts || {}; - }; - } -}); -var require_implementation = __commonJS2({ - "node_modules/function-bind/implementation.js"(exports2, module2) { - "use strict"; - var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; - var slice = Array.prototype.slice; - var toStr = Object.prototype.toString; - var funcType = "[object Function]"; - module2.exports = function bind(that) { - var target = this; - if (typeof target !== "function" || toStr.call(target) !== funcType) { - throw new TypeError(ERROR_MESSAGE + target); - } - var args = slice.call(arguments, 1); - var bound; - var binder = function() { - if (this instanceof bound) { - var result = target.apply(this, args.concat(slice.call(arguments))); - if (Object(result) === result) { - return result; - } - return this; - } else { - return target.apply(that, args.concat(slice.call(arguments))); - } - }; - var boundLength = Math.max(0, target.length - args.length); - var boundArgs = []; - for (var i = 0; i < boundLength; i++) { - boundArgs.push("$" + i); - } - bound = Function("binder", "return function (" + boundArgs.join(",") + "){ return binder.apply(this,arguments); }")(binder); - if (target.prototype) { - var Empty = function Empty2() { - }; - Empty.prototype = target.prototype; - bound.prototype = new Empty(); - Empty.prototype = null; - } - return bound; - }; - } -}); -var require_function_bind = __commonJS2({ - "node_modules/function-bind/index.js"(exports2, module2) { - "use strict"; - var implementation = require_implementation(); - module2.exports = Function.prototype.bind || implementation; - } -}); -var require_src = __commonJS2({ - "node_modules/has/src/index.js"(exports2, module2) { - "use strict"; - var bind = require_function_bind(); - module2.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); - } -}); -var require_core2 = __commonJS2({ - "node_modules/is-core-module/core.json"(exports2, module2) { - module2.exports = { - assert: true, - "node:assert": [">= 14.18 && < 15", ">= 16"], - "assert/strict": ">= 15", - "node:assert/strict": ">= 16", - async_hooks: ">= 8", - "node:async_hooks": [">= 14.18 && < 15", ">= 16"], - buffer_ieee754: ">= 0.5 && < 0.9.7", - buffer: true, - "node:buffer": [">= 14.18 && < 15", ">= 16"], - child_process: true, - "node:child_process": [">= 14.18 && < 15", ">= 16"], - cluster: ">= 0.5", - "node:cluster": [">= 14.18 && < 15", ">= 16"], - console: true, - "node:console": [">= 14.18 && < 15", ">= 16"], - constants: true, - "node:constants": [">= 14.18 && < 15", ">= 16"], - crypto: true, - "node:crypto": [">= 14.18 && < 15", ">= 16"], - _debug_agent: ">= 1 && < 8", - _debugger: "< 8", - dgram: true, - "node:dgram": [">= 14.18 && < 15", ">= 16"], - diagnostics_channel: [">= 14.17 && < 15", ">= 15.1"], - "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"], - dns: true, - "node:dns": [">= 14.18 && < 15", ">= 16"], - "dns/promises": ">= 15", - "node:dns/promises": ">= 16", - domain: ">= 0.7.12", - "node:domain": [">= 14.18 && < 15", ">= 16"], - events: true, - "node:events": [">= 14.18 && < 15", ">= 16"], - freelist: "< 6", - fs: true, - "node:fs": [">= 14.18 && < 15", ">= 16"], - "fs/promises": [">= 10 && < 10.1", ">= 14"], - "node:fs/promises": [">= 14.18 && < 15", ">= 16"], - _http_agent: ">= 0.11.1", - "node:_http_agent": [">= 14.18 && < 15", ">= 16"], - _http_client: ">= 0.11.1", - "node:_http_client": [">= 14.18 && < 15", ">= 16"], - _http_common: ">= 0.11.1", - "node:_http_common": [">= 14.18 && < 15", ">= 16"], - _http_incoming: ">= 0.11.1", - "node:_http_incoming": [">= 14.18 && < 15", ">= 16"], - _http_outgoing: ">= 0.11.1", - "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"], - _http_server: ">= 0.11.1", - "node:_http_server": [">= 14.18 && < 15", ">= 16"], - http: true, - "node:http": [">= 14.18 && < 15", ">= 16"], - http2: ">= 8.8", - "node:http2": [">= 14.18 && < 15", ">= 16"], - https: true, - "node:https": [">= 14.18 && < 15", ">= 16"], - inspector: ">= 8", - "node:inspector": [">= 14.18 && < 15", ">= 16"], - "inspector/promises": [">= 19"], - "node:inspector/promises": [">= 19"], - _linklist: "< 8", - module: true, - "node:module": [">= 14.18 && < 15", ">= 16"], - net: true, - "node:net": [">= 14.18 && < 15", ">= 16"], - "node-inspect/lib/_inspect": ">= 7.6 && < 12", - "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12", - "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12", - os: true, - "node:os": [">= 14.18 && < 15", ">= 16"], - path: true, - "node:path": [">= 14.18 && < 15", ">= 16"], - "path/posix": ">= 15.3", - "node:path/posix": ">= 16", - "path/win32": ">= 15.3", - "node:path/win32": ">= 16", - perf_hooks: ">= 8.5", - "node:perf_hooks": [">= 14.18 && < 15", ">= 16"], - process: ">= 1", - "node:process": [">= 14.18 && < 15", ">= 16"], - punycode: ">= 0.5", - "node:punycode": [">= 14.18 && < 15", ">= 16"], - querystring: true, - "node:querystring": [">= 14.18 && < 15", ">= 16"], - readline: true, - "node:readline": [">= 14.18 && < 15", ">= 16"], - "readline/promises": ">= 17", - "node:readline/promises": ">= 17", - repl: true, - "node:repl": [">= 14.18 && < 15", ">= 16"], - smalloc: ">= 0.11.5 && < 3", - _stream_duplex: ">= 0.9.4", - "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"], - _stream_transform: ">= 0.9.4", - "node:_stream_transform": [">= 14.18 && < 15", ">= 16"], - _stream_wrap: ">= 1.4.1", - "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"], - _stream_passthrough: ">= 0.9.4", - "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"], - _stream_readable: ">= 0.9.4", - "node:_stream_readable": [">= 14.18 && < 15", ">= 16"], - _stream_writable: ">= 0.9.4", - "node:_stream_writable": [">= 14.18 && < 15", ">= 16"], - stream: true, - "node:stream": [">= 14.18 && < 15", ">= 16"], - "stream/consumers": ">= 16.7", - "node:stream/consumers": ">= 16.7", - "stream/promises": ">= 15", - "node:stream/promises": ">= 16", - "stream/web": ">= 16.5", - "node:stream/web": ">= 16.5", - string_decoder: true, - "node:string_decoder": [">= 14.18 && < 15", ">= 16"], - sys: [">= 0.4 && < 0.7", ">= 0.8"], - "node:sys": [">= 14.18 && < 15", ">= 16"], - "node:test": [">= 16.17 && < 17", ">= 18"], - timers: true, - "node:timers": [">= 14.18 && < 15", ">= 16"], - "timers/promises": ">= 15", - "node:timers/promises": ">= 16", - _tls_common: ">= 0.11.13", - "node:_tls_common": [">= 14.18 && < 15", ">= 16"], - _tls_legacy: ">= 0.11.3 && < 10", - _tls_wrap: ">= 0.11.3", - "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"], - tls: true, - "node:tls": [">= 14.18 && < 15", ">= 16"], - trace_events: ">= 10", - "node:trace_events": [">= 14.18 && < 15", ">= 16"], - tty: true, - "node:tty": [">= 14.18 && < 15", ">= 16"], - url: true, - "node:url": [">= 14.18 && < 15", ">= 16"], - util: true, - "node:util": [">= 14.18 && < 15", ">= 16"], - "util/types": ">= 15.3", - "node:util/types": ">= 16", - "v8/tools/arguments": ">= 10 && < 12", - "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"], - v8: ">= 1", - "node:v8": [">= 14.18 && < 15", ">= 16"], - vm: true, - "node:vm": [">= 14.18 && < 15", ">= 16"], - wasi: ">= 13.4 && < 13.5", - worker_threads: ">= 11.7", - "node:worker_threads": [">= 14.18 && < 15", ">= 16"], - zlib: ">= 0.5", - "node:zlib": [">= 14.18 && < 15", ">= 16"] - }; - } -}); -var require_is_core_module = __commonJS2({ - "node_modules/is-core-module/index.js"(exports2, module2) { - "use strict"; - var has = require_src(); - function specifierIncluded(current, specifier) { - var nodeParts = current.split("."); - var parts = specifier.split(" "); - var op = parts.length > 1 ? parts[0] : "="; - var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split("."); - for (var i = 0; i < 3; ++i) { - var cur = parseInt(nodeParts[i] || 0, 10); - var ver = parseInt(versionParts[i] || 0, 10); - if (cur === ver) { - continue; - } - if (op === "<") { - return cur < ver; - } - if (op === ">=") { - return cur >= ver; - } - return false; - } - return op === ">="; - } - function matchesRange(current, range) { - var specifiers = range.split(/ ?&& ?/); - if (specifiers.length === 0) { - return false; - } - for (var i = 0; i < specifiers.length; ++i) { - if (!specifierIncluded(current, specifiers[i])) { - return false; - } - } - return true; - } - function versionIncluded(nodeVersion, specifierValue) { - if (typeof specifierValue === "boolean") { - return specifierValue; - } - var current = typeof nodeVersion === "undefined" ? process.versions && process.versions.node : nodeVersion; - if (typeof current !== "string") { - throw new TypeError(typeof nodeVersion === "undefined" ? "Unable to determine current node version" : "If provided, a valid node version is required"); - } - if (specifierValue && typeof specifierValue === "object") { - for (var i = 0; i < specifierValue.length; ++i) { - if (matchesRange(current, specifierValue[i])) { - return true; - } - } - return false; - } - return matchesRange(current, specifierValue); - } - var data = require_core2(); - module2.exports = function isCore(x, nodeVersion) { - return has(data, x) && versionIncluded(nodeVersion, data[x]); - }; - } -}); -var require_async = __commonJS2({ - "node_modules/resolve/lib/async.js"(exports2, module2) { - var fs = require("fs"); - var getHomedir = require_homedir(); - var path = require("path"); - var caller = require_caller(); - var nodeModulesPaths = require_node_modules_paths(); - var normalizeOptions = require_normalize_options(); - var isCore = require_is_core_module(); - var realpathFS = process.platform !== "win32" && fs.realpath && typeof fs.realpath.native === "function" ? fs.realpath.native : fs.realpath; - var homedir = getHomedir(); - var defaultPaths = function() { - return [path.join(homedir, ".node_modules"), path.join(homedir, ".node_libraries")]; - }; - var defaultIsFile = function isFile(file, cb) { - fs.stat(file, function(err, stat) { - if (!err) { - return cb(null, stat.isFile() || stat.isFIFO()); - } - if (err.code === "ENOENT" || err.code === "ENOTDIR") - return cb(null, false); - return cb(err); - }); - }; - var defaultIsDir = function isDirectory(dir, cb) { - fs.stat(dir, function(err, stat) { - if (!err) { - return cb(null, stat.isDirectory()); - } - if (err.code === "ENOENT" || err.code === "ENOTDIR") - return cb(null, false); - return cb(err); - }); - }; - var defaultRealpath = function realpath(x, cb) { - realpathFS(x, function(realpathErr, realPath) { - if (realpathErr && realpathErr.code !== "ENOENT") - cb(realpathErr); - else - cb(null, realpathErr ? x : realPath); - }); - }; - var maybeRealpath = function maybeRealpath2(realpath, x, opts, cb) { - if (opts && opts.preserveSymlinks === false) { - realpath(x, cb); - } else { - cb(null, x); - } - }; - var defaultReadPackage = function defaultReadPackage2(readFile, pkgfile, cb) { - readFile(pkgfile, function(readFileErr, body) { - if (readFileErr) - cb(readFileErr); - else { - try { - var pkg = JSON.parse(body); - cb(null, pkg); - } catch (jsonErr) { - cb(null); - } - } - }); - }; - var getPackageCandidates = function getPackageCandidates2(x, start, opts) { - var dirs = nodeModulesPaths(start, opts, x); - for (var i = 0; i < dirs.length; i++) { - dirs[i] = path.join(dirs[i], x); - } - return dirs; - }; - module2.exports = function resolve(x, options, callback) { - var cb = callback; - var opts = options; - if (typeof options === "function") { - cb = opts; - opts = {}; - } - if (typeof x !== "string") { - var err = new TypeError("Path must be a string."); - return process.nextTick(function() { - cb(err); - }); - } - opts = normalizeOptions(x, opts); - var isFile = opts.isFile || defaultIsFile; - var isDirectory = opts.isDirectory || defaultIsDir; - var readFile = opts.readFile || fs.readFile; - var realpath = opts.realpath || defaultRealpath; - var readPackage = opts.readPackage || defaultReadPackage; - if (opts.readFile && opts.readPackage) { - var conflictErr = new TypeError("`readFile` and `readPackage` are mutually exclusive."); - return process.nextTick(function() { - cb(conflictErr); - }); - } - var packageIterator = opts.packageIterator; - var extensions = opts.extensions || [".js"]; - var includeCoreModules = opts.includeCoreModules !== false; - var basedir = opts.basedir || path.dirname(caller()); - var parent = opts.filename || basedir; - opts.paths = opts.paths || defaultPaths(); - var absoluteStart = path.resolve(basedir); - maybeRealpath(realpath, absoluteStart, opts, function(err2, realStart) { - if (err2) - cb(err2); - else - init(realStart); - }); - var res; - function init(basedir2) { - if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(x)) { - res = path.resolve(basedir2, x); - if (x === "." || x === ".." || x.slice(-1) === "/") - res += "/"; - if (/\/$/.test(x) && res === basedir2) { - loadAsDirectory(res, opts.package, onfile); - } else - loadAsFile(res, opts.package, onfile); - } else if (includeCoreModules && isCore(x)) { - return cb(null, x); - } else - loadNodeModules(x, basedir2, function(err2, n, pkg) { - if (err2) - cb(err2); - else if (n) { - return maybeRealpath(realpath, n, opts, function(err3, realN) { - if (err3) { - cb(err3); - } else { - cb(null, realN, pkg); - } - }); - } else { - var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'"); - moduleError.code = "MODULE_NOT_FOUND"; - cb(moduleError); - } - }); - } - function onfile(err2, m, pkg) { - if (err2) - cb(err2); - else if (m) - cb(null, m, pkg); - else - loadAsDirectory(res, function(err3, d, pkg2) { - if (err3) - cb(err3); - else if (d) { - maybeRealpath(realpath, d, opts, function(err4, realD) { - if (err4) { - cb(err4); - } else { - cb(null, realD, pkg2); - } - }); - } else { - var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'"); - moduleError.code = "MODULE_NOT_FOUND"; - cb(moduleError); - } - }); - } - function loadAsFile(x2, thePackage, callback2) { - var loadAsFilePackage = thePackage; - var cb2 = callback2; - if (typeof loadAsFilePackage === "function") { - cb2 = loadAsFilePackage; - loadAsFilePackage = void 0; - } - var exts = [""].concat(extensions); - load(exts, x2, loadAsFilePackage); - function load(exts2, x3, loadPackage) { - if (exts2.length === 0) - return cb2(null, void 0, loadPackage); - var file = x3 + exts2[0]; - var pkg = loadPackage; - if (pkg) - onpkg(null, pkg); - else - loadpkg(path.dirname(file), onpkg); - function onpkg(err2, pkg_, dir) { - pkg = pkg_; - if (err2) - return cb2(err2); - if (dir && pkg && opts.pathFilter) { - var rfile = path.relative(dir, file); - var rel = rfile.slice(0, rfile.length - exts2[0].length); - var r = opts.pathFilter(pkg, x3, rel); - if (r) - return load([""].concat(extensions.slice()), path.resolve(dir, r), pkg); - } - isFile(file, onex); - } - function onex(err2, ex) { - if (err2) - return cb2(err2); - if (ex) - return cb2(null, file, pkg); - load(exts2.slice(1), x3, pkg); - } - } - } - function loadpkg(dir, cb2) { - if (dir === "" || dir === "/") - return cb2(null); - if (process.platform === "win32" && /^\w:[/\\]*$/.test(dir)) { - return cb2(null); - } - if (/[/\\]node_modules[/\\]*$/.test(dir)) - return cb2(null); - maybeRealpath(realpath, dir, opts, function(unwrapErr, pkgdir) { - if (unwrapErr) - return loadpkg(path.dirname(dir), cb2); - var pkgfile = path.join(pkgdir, "package.json"); - isFile(pkgfile, function(err2, ex) { - if (!ex) - return loadpkg(path.dirname(dir), cb2); - readPackage(readFile, pkgfile, function(err3, pkgParam) { - if (err3) - cb2(err3); - var pkg = pkgParam; - if (pkg && opts.packageFilter) { - pkg = opts.packageFilter(pkg, pkgfile); - } - cb2(null, pkg, dir); - }); - }); - }); - } - function loadAsDirectory(x2, loadAsDirectoryPackage, callback2) { - var cb2 = callback2; - var fpkg = loadAsDirectoryPackage; - if (typeof fpkg === "function") { - cb2 = fpkg; - fpkg = opts.package; - } - maybeRealpath(realpath, x2, opts, function(unwrapErr, pkgdir) { - if (unwrapErr) - return cb2(unwrapErr); - var pkgfile = path.join(pkgdir, "package.json"); - isFile(pkgfile, function(err2, ex) { - if (err2) - return cb2(err2); - if (!ex) - return loadAsFile(path.join(x2, "index"), fpkg, cb2); - readPackage(readFile, pkgfile, function(err3, pkgParam) { - if (err3) - return cb2(err3); - var pkg = pkgParam; - if (pkg && opts.packageFilter) { - pkg = opts.packageFilter(pkg, pkgfile); - } - if (pkg && pkg.main) { - if (typeof pkg.main !== "string") { - var mainError = new TypeError("package \u201C" + pkg.name + "\u201D `main` must be a string"); - mainError.code = "INVALID_PACKAGE_MAIN"; - return cb2(mainError); - } - if (pkg.main === "." || pkg.main === "./") { - pkg.main = "index"; - } - loadAsFile(path.resolve(x2, pkg.main), pkg, function(err4, m, pkg2) { - if (err4) - return cb2(err4); - if (m) - return cb2(null, m, pkg2); - if (!pkg2) - return loadAsFile(path.join(x2, "index"), pkg2, cb2); - var dir = path.resolve(x2, pkg2.main); - loadAsDirectory(dir, pkg2, function(err5, n, pkg3) { - if (err5) - return cb2(err5); - if (n) - return cb2(null, n, pkg3); - loadAsFile(path.join(x2, "index"), pkg3, cb2); - }); - }); - return; - } - loadAsFile(path.join(x2, "/index"), pkg, cb2); - }); - }); - }); - } - function processDirs(cb2, dirs) { - if (dirs.length === 0) - return cb2(null, void 0); - var dir = dirs[0]; - isDirectory(path.dirname(dir), isdir); - function isdir(err2, isdir2) { - if (err2) - return cb2(err2); - if (!isdir2) - return processDirs(cb2, dirs.slice(1)); - loadAsFile(dir, opts.package, onfile2); - } - function onfile2(err2, m, pkg) { - if (err2) - return cb2(err2); - if (m) - return cb2(null, m, pkg); - loadAsDirectory(dir, opts.package, ondir); - } - function ondir(err2, n, pkg) { - if (err2) - return cb2(err2); - if (n) - return cb2(null, n, pkg); - processDirs(cb2, dirs.slice(1)); - } - } - function loadNodeModules(x2, start, cb2) { - var thunk = function() { - return getPackageCandidates(x2, start, opts); - }; - processDirs(cb2, packageIterator ? packageIterator(x2, start, thunk, opts) : thunk()); - } - }; - } -}); -var require_core3 = __commonJS2({ - "node_modules/resolve/lib/core.json"(exports2, module2) { - module2.exports = { - assert: true, - "node:assert": [">= 14.18 && < 15", ">= 16"], - "assert/strict": ">= 15", - "node:assert/strict": ">= 16", - async_hooks: ">= 8", - "node:async_hooks": [">= 14.18 && < 15", ">= 16"], - buffer_ieee754: ">= 0.5 && < 0.9.7", - buffer: true, - "node:buffer": [">= 14.18 && < 15", ">= 16"], - child_process: true, - "node:child_process": [">= 14.18 && < 15", ">= 16"], - cluster: ">= 0.5", - "node:cluster": [">= 14.18 && < 15", ">= 16"], - console: true, - "node:console": [">= 14.18 && < 15", ">= 16"], - constants: true, - "node:constants": [">= 14.18 && < 15", ">= 16"], - crypto: true, - "node:crypto": [">= 14.18 && < 15", ">= 16"], - _debug_agent: ">= 1 && < 8", - _debugger: "< 8", - dgram: true, - "node:dgram": [">= 14.18 && < 15", ">= 16"], - diagnostics_channel: [">= 14.17 && < 15", ">= 15.1"], - "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"], - dns: true, - "node:dns": [">= 14.18 && < 15", ">= 16"], - "dns/promises": ">= 15", - "node:dns/promises": ">= 16", - domain: ">= 0.7.12", - "node:domain": [">= 14.18 && < 15", ">= 16"], - events: true, - "node:events": [">= 14.18 && < 15", ">= 16"], - freelist: "< 6", - fs: true, - "node:fs": [">= 14.18 && < 15", ">= 16"], - "fs/promises": [">= 10 && < 10.1", ">= 14"], - "node:fs/promises": [">= 14.18 && < 15", ">= 16"], - _http_agent: ">= 0.11.1", - "node:_http_agent": [">= 14.18 && < 15", ">= 16"], - _http_client: ">= 0.11.1", - "node:_http_client": [">= 14.18 && < 15", ">= 16"], - _http_common: ">= 0.11.1", - "node:_http_common": [">= 14.18 && < 15", ">= 16"], - _http_incoming: ">= 0.11.1", - "node:_http_incoming": [">= 14.18 && < 15", ">= 16"], - _http_outgoing: ">= 0.11.1", - "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"], - _http_server: ">= 0.11.1", - "node:_http_server": [">= 14.18 && < 15", ">= 16"], - http: true, - "node:http": [">= 14.18 && < 15", ">= 16"], - http2: ">= 8.8", - "node:http2": [">= 14.18 && < 15", ">= 16"], - https: true, - "node:https": [">= 14.18 && < 15", ">= 16"], - inspector: ">= 8", - "node:inspector": [">= 14.18 && < 15", ">= 16"], - _linklist: "< 8", - module: true, - "node:module": [">= 14.18 && < 15", ">= 16"], - net: true, - "node:net": [">= 14.18 && < 15", ">= 16"], - "node-inspect/lib/_inspect": ">= 7.6 && < 12", - "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12", - "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12", - os: true, - "node:os": [">= 14.18 && < 15", ">= 16"], - path: true, - "node:path": [">= 14.18 && < 15", ">= 16"], - "path/posix": ">= 15.3", - "node:path/posix": ">= 16", - "path/win32": ">= 15.3", - "node:path/win32": ">= 16", - perf_hooks: ">= 8.5", - "node:perf_hooks": [">= 14.18 && < 15", ">= 16"], - process: ">= 1", - "node:process": [">= 14.18 && < 15", ">= 16"], - punycode: ">= 0.5", - "node:punycode": [">= 14.18 && < 15", ">= 16"], - querystring: true, - "node:querystring": [">= 14.18 && < 15", ">= 16"], - readline: true, - "node:readline": [">= 14.18 && < 15", ">= 16"], - "readline/promises": ">= 17", - "node:readline/promises": ">= 17", - repl: true, - "node:repl": [">= 14.18 && < 15", ">= 16"], - smalloc: ">= 0.11.5 && < 3", - _stream_duplex: ">= 0.9.4", - "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"], - _stream_transform: ">= 0.9.4", - "node:_stream_transform": [">= 14.18 && < 15", ">= 16"], - _stream_wrap: ">= 1.4.1", - "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"], - _stream_passthrough: ">= 0.9.4", - "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"], - _stream_readable: ">= 0.9.4", - "node:_stream_readable": [">= 14.18 && < 15", ">= 16"], - _stream_writable: ">= 0.9.4", - "node:_stream_writable": [">= 14.18 && < 15", ">= 16"], - stream: true, - "node:stream": [">= 14.18 && < 15", ">= 16"], - "stream/consumers": ">= 16.7", - "node:stream/consumers": ">= 16.7", - "stream/promises": ">= 15", - "node:stream/promises": ">= 16", - "stream/web": ">= 16.5", - "node:stream/web": ">= 16.5", - string_decoder: true, - "node:string_decoder": [">= 14.18 && < 15", ">= 16"], - sys: [">= 0.4 && < 0.7", ">= 0.8"], - "node:sys": [">= 14.18 && < 15", ">= 16"], - "node:test": ">= 18", - timers: true, - "node:timers": [">= 14.18 && < 15", ">= 16"], - "timers/promises": ">= 15", - "node:timers/promises": ">= 16", - _tls_common: ">= 0.11.13", - "node:_tls_common": [">= 14.18 && < 15", ">= 16"], - _tls_legacy: ">= 0.11.3 && < 10", - _tls_wrap: ">= 0.11.3", - "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"], - tls: true, - "node:tls": [">= 14.18 && < 15", ">= 16"], - trace_events: ">= 10", - "node:trace_events": [">= 14.18 && < 15", ">= 16"], - tty: true, - "node:tty": [">= 14.18 && < 15", ">= 16"], - url: true, - "node:url": [">= 14.18 && < 15", ">= 16"], - util: true, - "node:util": [">= 14.18 && < 15", ">= 16"], - "util/types": ">= 15.3", - "node:util/types": ">= 16", - "v8/tools/arguments": ">= 10 && < 12", - "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"], - v8: ">= 1", - "node:v8": [">= 14.18 && < 15", ">= 16"], - vm: true, - "node:vm": [">= 14.18 && < 15", ">= 16"], - wasi: ">= 13.4 && < 13.5", - worker_threads: ">= 11.7", - "node:worker_threads": [">= 14.18 && < 15", ">= 16"], - zlib: ">= 0.5", - "node:zlib": [">= 14.18 && < 15", ">= 16"] - }; - } -}); -var require_core4 = __commonJS2({ - "node_modules/resolve/lib/core.js"(exports2, module2) { - var current = process.versions && process.versions.node && process.versions.node.split(".") || []; - function specifierIncluded(specifier) { - var parts = specifier.split(" "); - var op = parts.length > 1 ? parts[0] : "="; - var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split("."); - for (var i = 0; i < 3; ++i) { - var cur = parseInt(current[i] || 0, 10); - var ver = parseInt(versionParts[i] || 0, 10); - if (cur === ver) { - continue; - } - if (op === "<") { - return cur < ver; - } else if (op === ">=") { - return cur >= ver; - } - return false; - } - return op === ">="; - } - function matchesRange(range) { - var specifiers = range.split(/ ?&& ?/); - if (specifiers.length === 0) { - return false; - } - for (var i = 0; i < specifiers.length; ++i) { - if (!specifierIncluded(specifiers[i])) { - return false; - } - } - return true; - } - function versionIncluded(specifierValue) { - if (typeof specifierValue === "boolean") { - return specifierValue; - } - if (specifierValue && typeof specifierValue === "object") { - for (var i = 0; i < specifierValue.length; ++i) { - if (matchesRange(specifierValue[i])) { - return true; - } - } - return false; - } - return matchesRange(specifierValue); - } - var data = require_core3(); - var core2 = {}; - for (mod in data) { - if (Object.prototype.hasOwnProperty.call(data, mod)) { - core2[mod] = versionIncluded(data[mod]); - } - } - var mod; - module2.exports = core2; - } -}); -var require_is_core = __commonJS2({ - "node_modules/resolve/lib/is-core.js"(exports2, module2) { - var isCoreModule = require_is_core_module(); - module2.exports = function isCore(x) { - return isCoreModule(x); - }; - } -}); -var require_sync = __commonJS2({ - "node_modules/resolve/lib/sync.js"(exports2, module2) { - var isCore = require_is_core_module(); - var fs = require("fs"); - var path = require("path"); - var getHomedir = require_homedir(); - var caller = require_caller(); - var nodeModulesPaths = require_node_modules_paths(); - var normalizeOptions = require_normalize_options(); - var realpathFS = process.platform !== "win32" && fs.realpathSync && typeof fs.realpathSync.native === "function" ? fs.realpathSync.native : fs.realpathSync; - var homedir = getHomedir(); - var defaultPaths = function() { - return [path.join(homedir, ".node_modules"), path.join(homedir, ".node_libraries")]; - }; - var defaultIsFile = function isFile(file) { - try { - var stat = fs.statSync(file, { - throwIfNoEntry: false - }); - } catch (e) { - if (e && (e.code === "ENOENT" || e.code === "ENOTDIR")) - return false; - throw e; - } - return !!stat && (stat.isFile() || stat.isFIFO()); - }; - var defaultIsDir = function isDirectory(dir) { - try { - var stat = fs.statSync(dir, { - throwIfNoEntry: false - }); - } catch (e) { - if (e && (e.code === "ENOENT" || e.code === "ENOTDIR")) - return false; - throw e; - } - return !!stat && stat.isDirectory(); - }; - var defaultRealpathSync = function realpathSync(x) { - try { - return realpathFS(x); - } catch (realpathErr) { - if (realpathErr.code !== "ENOENT") { - throw realpathErr; - } - } - return x; - }; - var maybeRealpathSync = function maybeRealpathSync2(realpathSync, x, opts) { - if (opts && opts.preserveSymlinks === false) { - return realpathSync(x); - } - return x; - }; - var defaultReadPackageSync = function defaultReadPackageSync2(readFileSync, pkgfile) { - var body = readFileSync(pkgfile); - try { - var pkg = JSON.parse(body); - return pkg; - } catch (jsonErr) { - } - }; - var getPackageCandidates = function getPackageCandidates2(x, start, opts) { - var dirs = nodeModulesPaths(start, opts, x); - for (var i = 0; i < dirs.length; i++) { - dirs[i] = path.join(dirs[i], x); - } - return dirs; - }; - module2.exports = function resolveSync(x, options) { - if (typeof x !== "string") { - throw new TypeError("Path must be a string."); - } - var opts = normalizeOptions(x, options); - var isFile = opts.isFile || defaultIsFile; - var readFileSync = opts.readFileSync || fs.readFileSync; - var isDirectory = opts.isDirectory || defaultIsDir; - var realpathSync = opts.realpathSync || defaultRealpathSync; - var readPackageSync = opts.readPackageSync || defaultReadPackageSync; - if (opts.readFileSync && opts.readPackageSync) { - throw new TypeError("`readFileSync` and `readPackageSync` are mutually exclusive."); - } - var packageIterator = opts.packageIterator; - var extensions = opts.extensions || [".js"]; - var includeCoreModules = opts.includeCoreModules !== false; - var basedir = opts.basedir || path.dirname(caller()); - var parent = opts.filename || basedir; - opts.paths = opts.paths || defaultPaths(); - var absoluteStart = maybeRealpathSync(realpathSync, path.resolve(basedir), opts); - if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(x)) { - var res = path.resolve(absoluteStart, x); - if (x === "." || x === ".." || x.slice(-1) === "/") - res += "/"; - var m = loadAsFileSync(res) || loadAsDirectorySync(res); - if (m) - return maybeRealpathSync(realpathSync, m, opts); - } else if (includeCoreModules && isCore(x)) { - return x; - } else { - var n = loadNodeModulesSync(x, absoluteStart); - if (n) - return maybeRealpathSync(realpathSync, n, opts); - } - var err = new Error("Cannot find module '" + x + "' from '" + parent + "'"); - err.code = "MODULE_NOT_FOUND"; - throw err; - function loadAsFileSync(x2) { - var pkg = loadpkg(path.dirname(x2)); - if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) { - var rfile = path.relative(pkg.dir, x2); - var r = opts.pathFilter(pkg.pkg, x2, rfile); - if (r) { - x2 = path.resolve(pkg.dir, r); - } - } - if (isFile(x2)) { - return x2; - } - for (var i = 0; i < extensions.length; i++) { - var file = x2 + extensions[i]; - if (isFile(file)) { - return file; - } - } - } - function loadpkg(dir) { - if (dir === "" || dir === "/") - return; - if (process.platform === "win32" && /^\w:[/\\]*$/.test(dir)) { - return; - } - if (/[/\\]node_modules[/\\]*$/.test(dir)) - return; - var pkgfile = path.join(maybeRealpathSync(realpathSync, dir, opts), "package.json"); - if (!isFile(pkgfile)) { - return loadpkg(path.dirname(dir)); - } - var pkg = readPackageSync(readFileSync, pkgfile); - if (pkg && opts.packageFilter) { - pkg = opts.packageFilter(pkg, dir); - } - return { - pkg, - dir - }; - } - function loadAsDirectorySync(x2) { - var pkgfile = path.join(maybeRealpathSync(realpathSync, x2, opts), "/package.json"); - if (isFile(pkgfile)) { - try { - var pkg = readPackageSync(readFileSync, pkgfile); - } catch (e) { - } - if (pkg && opts.packageFilter) { - pkg = opts.packageFilter(pkg, x2); - } - if (pkg && pkg.main) { - if (typeof pkg.main !== "string") { - var mainError = new TypeError("package \u201C" + pkg.name + "\u201D `main` must be a string"); - mainError.code = "INVALID_PACKAGE_MAIN"; - throw mainError; - } - if (pkg.main === "." || pkg.main === "./") { - pkg.main = "index"; - } - try { - var m2 = loadAsFileSync(path.resolve(x2, pkg.main)); - if (m2) - return m2; - var n2 = loadAsDirectorySync(path.resolve(x2, pkg.main)); - if (n2) - return n2; - } catch (e) { - } - } - } - return loadAsFileSync(path.join(x2, "/index")); - } - function loadNodeModulesSync(x2, start) { - var thunk = function() { - return getPackageCandidates(x2, start, opts); - }; - var dirs = packageIterator ? packageIterator(x2, start, thunk, opts) : thunk(); - for (var i = 0; i < dirs.length; i++) { - var dir = dirs[i]; - if (isDirectory(path.dirname(dir))) { - var m2 = loadAsFileSync(dir); - if (m2) - return m2; - var n2 = loadAsDirectorySync(dir); - if (n2) - return n2; - } - } - } - }; - } -}); -var require_resolve = __commonJS2({ - "node_modules/resolve/index.js"(exports2, module2) { - var async = require_async(); - async.core = require_core4(); - async.isCore = require_is_core(); - async.sync = require_sync(); - module2.exports = async; - } -}); -var require_resolve2 = __commonJS2({ - "src/common/resolve.js"(exports2, module2) { - "use strict"; - var { - resolve - } = require; - if (resolve.length === 1 || process.env.PRETTIER_FALLBACK_RESOLVE) { - resolve = (id, options) => { - let basedir; - if (options && options.paths && options.paths.length === 1) { - basedir = options.paths[0]; - } - return require_resolve().sync(id, { - basedir - }); - }; - } - module2.exports = resolve; - } -}); -function mimicFunction(to, from, { - ignoreNonConfigurable = false -} = {}) { - const { - name - } = to; - for (const property of Reflect.ownKeys(from)) { - copyProperty(to, from, property, ignoreNonConfigurable); - } - changePrototype(to, from); - changeToString(to, from, name); - return to; -} -var copyProperty; -var canCopyProperty; -var changePrototype; -var wrappedToString; -var toStringDescriptor; -var toStringName; -var changeToString; -var init_mimic_fn = __esm({ - "node_modules/mimic-fn/index.js"() { - copyProperty = (to, from, property, ignoreNonConfigurable) => { - if (property === "length" || property === "prototype") { - return; - } - if (property === "arguments" || property === "caller") { - return; - } - const toDescriptor = Object.getOwnPropertyDescriptor(to, property); - const fromDescriptor = Object.getOwnPropertyDescriptor(from, property); - if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) { - return; - } - Object.defineProperty(to, property, fromDescriptor); - }; - canCopyProperty = function(toDescriptor, fromDescriptor) { - return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value); - }; - changePrototype = (to, from) => { - const fromPrototype = Object.getPrototypeOf(from); - if (fromPrototype === Object.getPrototypeOf(to)) { - return; - } - Object.setPrototypeOf(to, fromPrototype); - }; - wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/ -${fromBody}`; - toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString"); - toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name"); - changeToString = (to, from, name) => { - const withName = name === "" ? "" : `with ${name.trim()}() `; - const newToString = wrappedToString.bind(null, withName, from.toString()); - Object.defineProperty(newToString, "name", toStringName); - Object.defineProperty(to, "toString", Object.assign(Object.assign({}, toStringDescriptor), {}, { - value: newToString - })); - }; - } -}); -var require_p_defer = __commonJS2({ - "node_modules/p-defer/index.js"(exports2, module2) { - "use strict"; - module2.exports = () => { - const ret = {}; - ret.promise = new Promise((resolve, reject) => { - ret.resolve = resolve; - ret.reject = reject; - }); - return ret; - }; - } -}); -var require_dist = __commonJS2({ - "node_modules/map-age-cleaner/dist/index.js"(exports2, module2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : new P(function(resolve2) { - resolve2(result.value); - }).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; - }; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var p_defer_1 = __importDefault2(require_p_defer()); - function mapAgeCleaner2(map, property = "maxAge") { - let processingKey; - let processingTimer; - let processingDeferred; - const cleanup = () => __awaiter2(this, void 0, void 0, function* () { - if (processingKey !== void 0) { - return; - } - const setupTimer = (item) => __awaiter2(this, void 0, void 0, function* () { - processingDeferred = p_defer_1.default(); - const delay = item[1][property] - Date.now(); - if (delay <= 0) { - map.delete(item[0]); - processingDeferred.resolve(); - return; - } - processingKey = item[0]; - processingTimer = setTimeout(() => { - map.delete(item[0]); - if (processingDeferred) { - processingDeferred.resolve(); - } - }, delay); - if (typeof processingTimer.unref === "function") { - processingTimer.unref(); - } - return processingDeferred.promise; - }); - try { - for (const entry of map) { - yield setupTimer(entry); - } - } catch (_a) { - } - processingKey = void 0; - }); - const reset = () => { - processingKey = void 0; - if (processingTimer !== void 0) { - clearTimeout(processingTimer); - processingTimer = void 0; - } - if (processingDeferred !== void 0) { - processingDeferred.reject(void 0); - processingDeferred = void 0; - } - }; - const originalSet = map.set.bind(map); - map.set = (key, value) => { - if (map.has(key)) { - map.delete(key); - } - const result = originalSet(key, value); - if (processingKey && processingKey === key) { - reset(); - } - cleanup(); - return result; - }; - cleanup(); - return map; - } - exports2.default = mapAgeCleaner2; - module2.exports = mapAgeCleaner2; - module2.exports.default = mapAgeCleaner2; - } -}); -var dist_exports = {}; -__export(dist_exports, { - default: () => mem, - memClear: () => memClear, - memDecorator: () => memDecorator -}); -function mem(fn, { - cacheKey, - cache = /* @__PURE__ */ new Map(), - maxAge -} = {}) { - if (typeof maxAge === "number") { - (0, import_map_age_cleaner.default)(cache); - } - const memoized = function(...arguments_) { - const key = cacheKey ? cacheKey(arguments_) : arguments_[0]; - const cacheItem = cache.get(key); - if (cacheItem) { - return cacheItem.data; - } - const result = fn.apply(this, arguments_); - cache.set(key, { - data: result, - maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY - }); - return result; - }; - mimicFunction(memoized, fn, { - ignoreNonConfigurable: true - }); - cacheStore.set(memoized, cache); - return memoized; -} -function memDecorator(options = {}) { - const instanceMap = /* @__PURE__ */ new WeakMap(); - return (target, propertyKey, descriptor) => { - const input = target[propertyKey]; - if (typeof input !== "function") { - throw new TypeError("The decorated value must be a function"); - } - delete descriptor.value; - delete descriptor.writable; - descriptor.get = function() { - if (!instanceMap.has(this)) { - const value = mem(input, options); - instanceMap.set(this, value); - return value; - } - return instanceMap.get(this); - }; - }; -} -function memClear(fn) { - const cache = cacheStore.get(fn); - if (!cache) { - throw new TypeError("Can't clear a function that was not memoized!"); - } - if (typeof cache.clear !== "function") { - throw new TypeError("The cache Map can't be cleared!"); - } - cache.clear(); -} -var import_map_age_cleaner; -var cacheStore; -var init_dist = __esm({ - "node_modules/mem/dist/index.js"() { - init_mimic_fn(); - import_map_age_cleaner = __toESM(require_dist()); - cacheStore = /* @__PURE__ */ new WeakMap(); - } -}); -var require_pseudomap = __commonJS2({ - "node_modules/pseudomap/pseudomap.js"(exports2, module2) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - module2.exports = PseudoMap; - function PseudoMap(set2) { - if (!(this instanceof PseudoMap)) - throw new TypeError("Constructor PseudoMap requires 'new'"); - this.clear(); - if (set2) { - if (set2 instanceof PseudoMap || typeof Map === "function" && set2 instanceof Map) - set2.forEach(function(value, key) { - this.set(key, value); - }, this); - else if (Array.isArray(set2)) - set2.forEach(function(kv) { - this.set(kv[0], kv[1]); - }, this); - else - throw new TypeError("invalid argument"); - } - } - PseudoMap.prototype.forEach = function(fn, thisp) { - thisp = thisp || this; - Object.keys(this._data).forEach(function(k) { - if (k !== "size") - fn.call(thisp, this._data[k].value, this._data[k].key); - }, this); - }; - PseudoMap.prototype.has = function(k) { - return !!find(this._data, k); - }; - PseudoMap.prototype.get = function(k) { - var res = find(this._data, k); - return res && res.value; - }; - PseudoMap.prototype.set = function(k, v) { - set(this._data, k, v); - }; - PseudoMap.prototype.delete = function(k) { - var res = find(this._data, k); - if (res) { - delete this._data[res._index]; - this._data.size--; - } - }; - PseudoMap.prototype.clear = function() { - var data = /* @__PURE__ */ Object.create(null); - data.size = 0; - Object.defineProperty(this, "_data", { - value: data, - enumerable: false, - configurable: true, - writable: false - }); - }; - Object.defineProperty(PseudoMap.prototype, "size", { - get: function() { - return this._data.size; - }, - set: function(n) { - }, - enumerable: true, - configurable: true - }); - PseudoMap.prototype.values = PseudoMap.prototype.keys = PseudoMap.prototype.entries = function() { - throw new Error("iterators are not implemented in this version"); - }; - function same(a, b) { - return a === b || a !== a && b !== b; - } - function Entry(k, v, i) { - this.key = k; - this.value = v; - this._index = i; - } - function find(data, k) { - for (var i = 0, s = "_" + k, key = s; hasOwnProperty.call(data, key); key = s + i++) { - if (same(data[key].key, k)) - return data[key]; - } - } - function set(data, k, v) { - for (var i = 0, s = "_" + k, key = s; hasOwnProperty.call(data, key); key = s + i++) { - if (same(data[key].key, k)) { - data[key].value = v; - return; - } - } - data.size++; - data[key] = new Entry(k, v, key); - } - } -}); -var require_map = __commonJS2({ - "node_modules/pseudomap/map.js"(exports2, module2) { - if (process.env.npm_package_name === "pseudomap" && process.env.npm_lifecycle_script === "test") - process.env.TEST_PSEUDOMAP = "true"; - if (typeof Map === "function" && !process.env.TEST_PSEUDOMAP) { - module2.exports = Map; - } else { - module2.exports = require_pseudomap(); - } - } -}); -var require_yallist = __commonJS2({ - "node_modules/editorconfig/node_modules/yallist/yallist.js"(exports2, module2) { - module2.exports = Yallist; - Yallist.Node = Node; - Yallist.create = Yallist; - function Yallist(list) { - var self2 = this; - if (!(self2 instanceof Yallist)) { - self2 = new Yallist(); - } - self2.tail = null; - self2.head = null; - self2.length = 0; - if (list && typeof list.forEach === "function") { - list.forEach(function(item) { - self2.push(item); - }); - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self2.push(arguments[i]); - } - } - return self2; - } - Yallist.prototype.removeNode = function(node) { - if (node.list !== this) { - throw new Error("removing node which does not belong to this list"); - } - var next = node.next; - var prev = node.prev; - if (next) { - next.prev = prev; - } - if (prev) { - prev.next = next; - } - if (node === this.head) { - this.head = next; - } - if (node === this.tail) { - this.tail = prev; - } - node.list.length--; - node.next = null; - node.prev = null; - node.list = null; - }; - Yallist.prototype.unshiftNode = function(node) { - if (node === this.head) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var head = this.head; - node.list = this; - node.next = head; - if (head) { - head.prev = node; - } - this.head = node; - if (!this.tail) { - this.tail = node; - } - this.length++; - }; - Yallist.prototype.pushNode = function(node) { - if (node === this.tail) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var tail = this.tail; - node.list = this; - node.prev = tail; - if (tail) { - tail.next = node; - } - this.tail = node; - if (!this.head) { - this.head = node; - } - this.length++; - }; - Yallist.prototype.push = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.unshift = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.pop = function() { - if (!this.tail) { - return void 0; - } - var res = this.tail.value; - this.tail = this.tail.prev; - if (this.tail) { - this.tail.next = null; - } else { - this.head = null; - } - this.length--; - return res; - }; - Yallist.prototype.shift = function() { - if (!this.head) { - return void 0; - } - var res = this.head.value; - this.head = this.head.next; - if (this.head) { - this.head.prev = null; - } else { - this.tail = null; - } - this.length--; - return res; - }; - Yallist.prototype.forEach = function(fn, thisp) { - thisp = thisp || this; - for (var walker = this.head, i = 0; walker !== null; i++) { - fn.call(thisp, walker.value, i, this); - walker = walker.next; - } - }; - Yallist.prototype.forEachReverse = function(fn, thisp) { - thisp = thisp || this; - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn.call(thisp, walker.value, i, this); - walker = walker.prev; - } - }; - Yallist.prototype.get = function(n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - walker = walker.next; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.getReverse = function(n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - walker = walker.prev; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.map = function(fn, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.head; walker !== null; ) { - res.push(fn.call(thisp, walker.value, this)); - walker = walker.next; - } - return res; - }; - Yallist.prototype.mapReverse = function(fn, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.tail; walker !== null; ) { - res.push(fn.call(thisp, walker.value, this)); - walker = walker.prev; - } - return res; - }; - Yallist.prototype.reduce = function(fn, initial) { - var acc; - var walker = this.head; - if (arguments.length > 1) { - acc = initial; - } else if (this.head) { - walker = this.head.next; - acc = this.head.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = 0; walker !== null; i++) { - acc = fn(acc, walker.value, i); - walker = walker.next; - } - return acc; - }; - Yallist.prototype.reduceReverse = function(fn, initial) { - var acc; - var walker = this.tail; - if (arguments.length > 1) { - acc = initial; - } else if (this.tail) { - walker = this.tail.prev; - acc = this.tail.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = this.length - 1; walker !== null; i--) { - acc = fn(acc, walker.value, i); - walker = walker.prev; - } - return acc; - }; - Yallist.prototype.toArray = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.next; - } - return arr; - }; - Yallist.prototype.toArrayReverse = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.prev; - } - return arr; - }; - Yallist.prototype.slice = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next; - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.sliceReverse = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev; - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.reverse = function() { - var head = this.head; - var tail = this.tail; - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev; - walker.prev = walker.next; - walker.next = p; - } - this.head = tail; - this.tail = head; - return this; - }; - function push(self2, item) { - self2.tail = new Node(item, self2.tail, null, self2); - if (!self2.head) { - self2.head = self2.tail; - } - self2.length++; - } - function unshift(self2, item) { - self2.head = new Node(item, null, self2.head, self2); - if (!self2.tail) { - self2.tail = self2.head; - } - self2.length++; - } - function Node(value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list); - } - this.list = list; - this.value = value; - if (prev) { - prev.next = this; - this.prev = prev; - } else { - this.prev = null; - } - if (next) { - next.prev = this; - this.next = next; - } else { - this.next = null; - } - } - } -}); -var require_lru_cache = __commonJS2({ - "node_modules/editorconfig/node_modules/lru-cache/index.js"(exports2, module2) { - "use strict"; - module2.exports = LRUCache; - var Map2 = require_map(); - var util = require("util"); - var Yallist = require_yallist(); - var hasSymbol = typeof Symbol === "function" && process.env._nodeLRUCacheForceNoSymbol !== "1"; - var makeSymbol; - if (hasSymbol) { - makeSymbol = function(key) { - return Symbol(key); - }; - } else { - makeSymbol = function(key) { - return "_" + key; - }; - } - var MAX = makeSymbol("max"); - var LENGTH = makeSymbol("length"); - var LENGTH_CALCULATOR = makeSymbol("lengthCalculator"); - var ALLOW_STALE = makeSymbol("allowStale"); - var MAX_AGE = makeSymbol("maxAge"); - var DISPOSE = makeSymbol("dispose"); - var NO_DISPOSE_ON_SET = makeSymbol("noDisposeOnSet"); - var LRU_LIST = makeSymbol("lruList"); - var CACHE = makeSymbol("cache"); - function naiveLength() { - return 1; - } - function LRUCache(options) { - if (!(this instanceof LRUCache)) { - return new LRUCache(options); - } - if (typeof options === "number") { - options = { - max: options - }; - } - if (!options) { - options = {}; - } - var max = this[MAX] = options.max; - if (!max || !(typeof max === "number") || max <= 0) { - this[MAX] = Infinity; - } - var lc = options.length || naiveLength; - if (typeof lc !== "function") { - lc = naiveLength; - } - this[LENGTH_CALCULATOR] = lc; - this[ALLOW_STALE] = options.stale || false; - this[MAX_AGE] = options.maxAge || 0; - this[DISPOSE] = options.dispose; - this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; - this.reset(); - } - Object.defineProperty(LRUCache.prototype, "max", { - set: function(mL) { - if (!mL || !(typeof mL === "number") || mL <= 0) { - mL = Infinity; - } - this[MAX] = mL; - trim(this); - }, - get: function() { - return this[MAX]; - }, - enumerable: true - }); - Object.defineProperty(LRUCache.prototype, "allowStale", { - set: function(allowStale) { - this[ALLOW_STALE] = !!allowStale; - }, - get: function() { - return this[ALLOW_STALE]; - }, - enumerable: true - }); - Object.defineProperty(LRUCache.prototype, "maxAge", { - set: function(mA) { - if (!mA || !(typeof mA === "number") || mA < 0) { - mA = 0; - } - this[MAX_AGE] = mA; - trim(this); - }, - get: function() { - return this[MAX_AGE]; - }, - enumerable: true - }); - Object.defineProperty(LRUCache.prototype, "lengthCalculator", { - set: function(lC) { - if (typeof lC !== "function") { - lC = naiveLength; - } - if (lC !== this[LENGTH_CALCULATOR]) { - this[LENGTH_CALCULATOR] = lC; - this[LENGTH] = 0; - this[LRU_LIST].forEach(function(hit) { - hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); - this[LENGTH] += hit.length; - }, this); - } - trim(this); - }, - get: function() { - return this[LENGTH_CALCULATOR]; - }, - enumerable: true - }); - Object.defineProperty(LRUCache.prototype, "length", { - get: function() { - return this[LENGTH]; - }, - enumerable: true - }); - Object.defineProperty(LRUCache.prototype, "itemCount", { - get: function() { - return this[LRU_LIST].length; - }, - enumerable: true - }); - LRUCache.prototype.rforEach = function(fn, thisp) { - thisp = thisp || this; - for (var walker = this[LRU_LIST].tail; walker !== null; ) { - var prev = walker.prev; - forEachStep(this, fn, walker, thisp); - walker = prev; - } - }; - function forEachStep(self2, fn, node, thisp) { - var hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) { - hit = void 0; - } - } - if (hit) { - fn.call(thisp, hit.value, hit.key, self2); - } - } - LRUCache.prototype.forEach = function(fn, thisp) { - thisp = thisp || this; - for (var walker = this[LRU_LIST].head; walker !== null; ) { - var next = walker.next; - forEachStep(this, fn, walker, thisp); - walker = next; - } - }; - LRUCache.prototype.keys = function() { - return this[LRU_LIST].toArray().map(function(k) { - return k.key; - }, this); - }; - LRUCache.prototype.values = function() { - return this[LRU_LIST].toArray().map(function(k) { - return k.value; - }, this); - }; - LRUCache.prototype.reset = function() { - if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { - this[LRU_LIST].forEach(function(hit) { - this[DISPOSE](hit.key, hit.value); - }, this); - } - this[CACHE] = new Map2(); - this[LRU_LIST] = new Yallist(); - this[LENGTH] = 0; - }; - LRUCache.prototype.dump = function() { - return this[LRU_LIST].map(function(hit) { - if (!isStale(this, hit)) { - return { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - }; - } - }, this).toArray().filter(function(h) { - return h; - }); - }; - LRUCache.prototype.dumpLru = function() { - return this[LRU_LIST]; - }; - LRUCache.prototype.inspect = function(n, opts) { - var str = "LRUCache {"; - var extras = false; - var as = this[ALLOW_STALE]; - if (as) { - str += "\n allowStale: true"; - extras = true; - } - var max = this[MAX]; - if (max && max !== Infinity) { - if (extras) { - str += ","; - } - str += "\n max: " + util.inspect(max, opts); - extras = true; - } - var maxAge = this[MAX_AGE]; - if (maxAge) { - if (extras) { - str += ","; - } - str += "\n maxAge: " + util.inspect(maxAge, opts); - extras = true; - } - var lc = this[LENGTH_CALCULATOR]; - if (lc && lc !== naiveLength) { - if (extras) { - str += ","; - } - str += "\n length: " + util.inspect(this[LENGTH], opts); - extras = true; - } - var didFirst = false; - this[LRU_LIST].forEach(function(item) { - if (didFirst) { - str += ",\n "; - } else { - if (extras) { - str += ",\n"; - } - didFirst = true; - str += "\n "; - } - var key = util.inspect(item.key).split("\n").join("\n "); - var val = { - value: item.value - }; - if (item.maxAge !== maxAge) { - val.maxAge = item.maxAge; - } - if (lc !== naiveLength) { - val.length = item.length; - } - if (isStale(this, item)) { - val.stale = true; - } - val = util.inspect(val, opts).split("\n").join("\n "); - str += key + " => " + val; - }); - if (didFirst || extras) { - str += "\n"; - } - str += "}"; - return str; - }; - LRUCache.prototype.set = function(key, value, maxAge) { - maxAge = maxAge || this[MAX_AGE]; - var now = maxAge ? Date.now() : 0; - var len = this[LENGTH_CALCULATOR](value, key); - if (this[CACHE].has(key)) { - if (len > this[MAX]) { - del(this, this[CACHE].get(key)); - return false; - } - var node = this[CACHE].get(key); - var item = node.value; - if (this[DISPOSE]) { - if (!this[NO_DISPOSE_ON_SET]) { - this[DISPOSE](key, item.value); - } - } - item.now = now; - item.maxAge = maxAge; - item.value = value; - this[LENGTH] += len - item.length; - item.length = len; - this.get(key); - trim(this); - return true; - } - var hit = new Entry(key, value, len, now, maxAge); - if (hit.length > this[MAX]) { - if (this[DISPOSE]) { - this[DISPOSE](key, value); - } - return false; - } - this[LENGTH] += hit.length; - this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); - trim(this); - return true; - }; - LRUCache.prototype.has = function(key) { - if (!this[CACHE].has(key)) - return false; - var hit = this[CACHE].get(key).value; - if (isStale(this, hit)) { - return false; - } - return true; - }; - LRUCache.prototype.get = function(key) { - return get(this, key, true); - }; - LRUCache.prototype.peek = function(key) { - return get(this, key, false); - }; - LRUCache.prototype.pop = function() { - var node = this[LRU_LIST].tail; - if (!node) - return null; - del(this, node); - return node.value; - }; - LRUCache.prototype.del = function(key) { - del(this, this[CACHE].get(key)); - }; - LRUCache.prototype.load = function(arr) { - this.reset(); - var now = Date.now(); - for (var l = arr.length - 1; l >= 0; l--) { - var hit = arr[l]; - var expiresAt = hit.e || 0; - if (expiresAt === 0) { - this.set(hit.k, hit.v); - } else { - var maxAge = expiresAt - now; - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge); - } - } - } - }; - LRUCache.prototype.prune = function() { - var self2 = this; - this[CACHE].forEach(function(value, key) { - get(self2, key, false); - }); - }; - function get(self2, key, doUse) { - var node = self2[CACHE].get(key); - if (node) { - var hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - hit = void 0; - } else { - if (doUse) { - self2[LRU_LIST].unshiftNode(node); - } - } - if (hit) - hit = hit.value; - } - return hit; - } - function isStale(self2, hit) { - if (!hit || !hit.maxAge && !self2[MAX_AGE]) { - return false; - } - var stale = false; - var diff = Date.now() - hit.now; - if (hit.maxAge) { - stale = diff > hit.maxAge; - } else { - stale = self2[MAX_AGE] && diff > self2[MAX_AGE]; - } - return stale; - } - function trim(self2) { - if (self2[LENGTH] > self2[MAX]) { - for (var walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) { - var prev = walker.prev; - del(self2, walker); - walker = prev; - } - } - } - function del(self2, node) { - if (node) { - var hit = node.value; - if (self2[DISPOSE]) { - self2[DISPOSE](hit.key, hit.value); - } - self2[LENGTH] -= hit.length; - self2[CACHE].delete(hit.key); - self2[LRU_LIST].removeNode(node); - } - } - function Entry(key, value, length, now, maxAge) { - this.key = key; - this.value = value; - this.length = length; - this.now = now; - this.maxAge = maxAge || 0; - } - } -}); -var require_sigmund = __commonJS2({ - "node_modules/sigmund/sigmund.js"(exports2, module2) { - module2.exports = sigmund; - function sigmund(subject, maxSessions) { - maxSessions = maxSessions || 10; - var notes = []; - var analysis = ""; - var RE = RegExp; - function psychoAnalyze(subject2, session) { - if (session > maxSessions) - return; - if (typeof subject2 === "function" || typeof subject2 === "undefined") { - return; - } - if (typeof subject2 !== "object" || !subject2 || subject2 instanceof RE) { - analysis += subject2; - return; - } - if (notes.indexOf(subject2) !== -1 || session === maxSessions) - return; - notes.push(subject2); - analysis += "{"; - Object.keys(subject2).forEach(function(issue, _, __) { - if (issue.charAt(0) === "_") - return; - var to = typeof subject2[issue]; - if (to === "function" || to === "undefined") - return; - analysis += issue; - psychoAnalyze(subject2[issue], session + 1); - }); - } - psychoAnalyze(subject, 0); - return analysis; - } - } -}); -var require_fnmatch = __commonJS2({ - "node_modules/editorconfig/src/lib/fnmatch.js"(exports2, module2) { - var platform = typeof process === "object" ? process.platform : "win32"; - if (module2) - module2.exports = minimatch; - else - exports2.minimatch = minimatch; - minimatch.Minimatch = Minimatch; - var LRU = require_lru_cache(); - var cache = minimatch.cache = new LRU({ - max: 100 - }); - var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; - var sigmund = require_sigmund(); - var path = require("path"); - var qmark = "[^/]"; - var star = qmark + "*?"; - var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; - var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; - var reSpecials = charSet("().*{}+?[]^$\\!"); - function charSet(s) { - return s.split("").reduce(function(set, c) { - set[c] = true; - return set; - }, {}); - } - var slashSplit = /\/+/; - minimatch.monkeyPatch = monkeyPatch; - function monkeyPatch() { - var desc = Object.getOwnPropertyDescriptor(String.prototype, "match"); - var orig = desc.value; - desc.value = function(p) { - if (p instanceof Minimatch) - return p.match(this); - return orig.call(this, p); - }; - Object.defineProperty(String.prototype, desc); - } - minimatch.filter = filter; - function filter(pattern, options) { - options = options || {}; - return function(p, i, list) { - return minimatch(p, pattern, options); - }; - } - function ext(a, b) { - a = a || {}; - b = b || {}; - var t = {}; - Object.keys(b).forEach(function(k) { - t[k] = b[k]; - }); - Object.keys(a).forEach(function(k) { - t[k] = a[k]; - }); - return t; - } - minimatch.defaults = function(def) { - if (!def || !Object.keys(def).length) - return minimatch; - var orig = minimatch; - var m = function minimatch2(p, pattern, options) { - return orig.minimatch(p, pattern, ext(def, options)); - }; - m.Minimatch = function Minimatch2(pattern, options) { - return new orig.Minimatch(pattern, ext(def, options)); - }; - return m; - }; - Minimatch.defaults = function(def) { - if (!def || !Object.keys(def).length) - return Minimatch; - return minimatch.defaults(def).Minimatch; - }; - function minimatch(p, pattern, options) { - if (typeof pattern !== "string") { - throw new TypeError("glob pattern string required"); - } - if (!options) - options = {}; - if (!options.nocomment && pattern.charAt(0) === "#") { - return false; - } - if (pattern.trim() === "") - return p === ""; - return new Minimatch(pattern, options).match(p); - } - function Minimatch(pattern, options) { - if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options, cache); - } - if (typeof pattern !== "string") { - throw new TypeError("glob pattern string required"); - } - if (!options) - options = {}; - if (platform === "win32") { - pattern = pattern.split("\\").join("/"); - } - var cacheKey = pattern + "\n" + sigmund(options); - var cached = minimatch.cache.get(cacheKey); - if (cached) - return cached; - minimatch.cache.set(cacheKey, this); - this.options = options; - this.set = []; - this.pattern = pattern; - this.regexp = null; - this.negate = false; - this.comment = false; - this.empty = false; - this.make(); - } - Minimatch.prototype.make = make; - function make() { - if (this._made) - return; - var pattern = this.pattern; - var options = this.options; - if (!options.nocomment && pattern.charAt(0) === "#") { - this.comment = true; - return; - } - if (!pattern) { - this.empty = true; - return; - } - this.parseNegate(); - var set = this.globSet = this.braceExpand(); - if (options.debug) - console.error(this.pattern, set); - set = this.globParts = set.map(function(s) { - return s.split(slashSplit); - }); - if (options.debug) - console.error(this.pattern, set); - set = set.map(function(s, si, set2) { - return s.map(this.parse, this); - }, this); - if (options.debug) - console.error(this.pattern, set); - set = set.filter(function(s) { - return -1 === s.indexOf(false); - }); - if (options.debug) - console.error(this.pattern, set); - this.set = set; - } - Minimatch.prototype.parseNegate = parseNegate; - function parseNegate() { - var pattern = this.pattern, negate = false, options = this.options, negateOffset = 0; - if (options.nonegate) - return; - for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) { - negate = !negate; - negateOffset++; - } - if (negateOffset) - this.pattern = pattern.substr(negateOffset); - this.negate = negate; - } - minimatch.braceExpand = function(pattern, options) { - return new Minimatch(pattern, options).braceExpand(); - }; - Minimatch.prototype.braceExpand = braceExpand; - function braceExpand(pattern, options) { - options = options || this.options; - pattern = typeof pattern === "undefined" ? this.pattern : pattern; - if (typeof pattern === "undefined") { - throw new Error("undefined pattern"); - } - if (options.nobrace || !pattern.match(/\{.*\}/)) { - return [pattern]; - } - var escaping = false; - if (pattern.charAt(0) !== "{") { - var prefix = null; - for (var i = 0, l = pattern.length; i < l; i++) { - var c = pattern.charAt(i); - if (c === "\\") { - escaping = !escaping; - } else if (c === "{" && !escaping) { - prefix = pattern.substr(0, i); - break; - } - } - if (prefix === null) { - return [pattern]; - } - var tail = braceExpand(pattern.substr(i), options); - return tail.map(function(t) { - return prefix + t; - }); - } - var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/); - if (numset) { - var suf = braceExpand(pattern.substr(numset[0].length), options), start = +numset[1], end = +numset[2], inc = start > end ? -1 : 1, set = []; - for (var i = start; i != end + inc; i += inc) { - for (var ii = 0, ll = suf.length; ii < ll; ii++) { - set.push(i + suf[ii]); - } - } - return set; - } - var i = 1, depth = 1, set = [], member = "", sawEnd = false, escaping = false; - function addMember() { - set.push(member); - member = ""; - } - FOR: - for (i = 1, l = pattern.length; i < l; i++) { - var c = pattern.charAt(i); - if (escaping) { - escaping = false; - member += "\\" + c; - } else { - switch (c) { - case "\\": - escaping = true; - continue; - case "{": - depth++; - member += "{"; - continue; - case "}": - depth--; - if (depth === 0) { - addMember(); - i++; - break FOR; - } else { - member += c; - continue; - } - case ",": - if (depth === 1) { - addMember(); - } else { - member += c; - } - continue; - default: - member += c; - continue; - } - } - } - if (depth !== 0) { - return braceExpand("\\" + pattern, options); - } - var suf = braceExpand(pattern.substr(i), options); - var addBraces = set.length === 1; - set = set.map(function(p) { - return braceExpand(p, options); - }); - set = set.reduce(function(l2, r) { - return l2.concat(r); - }); - if (addBraces) { - set = set.map(function(s) { - return "{" + s + "}"; - }); - } - var ret = []; - for (var i = 0, l = set.length; i < l; i++) { - for (var ii = 0, ll = suf.length; ii < ll; ii++) { - ret.push(set[i] + suf[ii]); - } - } - return ret; - } - Minimatch.prototype.parse = parse; - var SUBPARSE = {}; - function parse(pattern, isSub) { - var options = this.options; - if (!options.noglobstar && pattern === "**") - return GLOBSTAR; - if (pattern === "") - return ""; - var re = "", hasMagic = !!options.nocase, escaping = false, patternListStack = [], plType, stateChar, inClass = false, reClassStart = -1, classStart = -1, patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; - function clearStateChar() { - if (stateChar) { - switch (stateChar) { - case "*": - re += star; - hasMagic = true; - break; - case "?": - re += qmark; - hasMagic = true; - break; - default: - re += "\\" + stateChar; - break; - } - stateChar = false; - } - } - for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) { - if (options.debug) { - console.error("%s %s %s %j", pattern, i, re, c); - } - if (escaping && reSpecials[c]) { - re += "\\" + c; - escaping = false; - continue; - } - SWITCH: - switch (c) { - case "/": - return false; - case "\\": - clearStateChar(); - escaping = true; - continue; - case "?": - case "*": - case "+": - case "@": - case "!": - if (options.debug) { - console.error("%s %s %s %j <-- stateChar", pattern, i, re, c); - } - if (inClass) { - if (c === "!" && i === classStart + 1) - c = "^"; - re += c; - continue; - } - clearStateChar(); - stateChar = c; - if (options.noext) - clearStateChar(); - continue; - case "(": - if (inClass) { - re += "("; - continue; - } - if (!stateChar) { - re += "\\("; - continue; - } - plType = stateChar; - patternListStack.push({ - type: plType, - start: i - 1, - reStart: re.length - }); - re += stateChar === "!" ? "(?:(?!" : "(?:"; - stateChar = false; - continue; - case ")": - if (inClass || !patternListStack.length) { - re += "\\)"; - continue; - } - hasMagic = true; - re += ")"; - plType = patternListStack.pop().type; - switch (plType) { - case "!": - re += "[^/]*?)"; - break; - case "?": - case "+": - case "*": - re += plType; - case "@": - break; - } - continue; - case "|": - if (inClass || !patternListStack.length || escaping) { - re += "\\|"; - escaping = false; - continue; - } - re += "|"; - continue; - case "[": - clearStateChar(); - if (inClass) { - re += "\\" + c; - continue; - } - inClass = true; - classStart = i; - reClassStart = re.length; - re += c; - continue; - case "]": - if (i === classStart + 1 || !inClass) { - re += "\\" + c; - escaping = false; - continue; - } - hasMagic = true; - inClass = false; - re += c; - continue; - default: - clearStateChar(); - if (escaping) { - escaping = false; - } else if (reSpecials[c] && !(c === "^" && inClass)) { - re += "\\"; - } - re += c; - } - } - if (inClass) { - var cs = pattern.substr(classStart + 1), sp = this.parse(cs, SUBPARSE); - re = re.substr(0, reClassStart) + "\\[" + sp[0]; - hasMagic = hasMagic || sp[1]; - } - var pl; - while (pl = patternListStack.pop()) { - var tail = re.slice(pl.reStart + 3); - tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function(_, $1, $2) { - if (!$2) { - $2 = "\\"; - } - return $1 + $1 + $2 + "|"; - }); - var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; - hasMagic = true; - re = re.slice(0, pl.reStart) + t + "\\(" + tail; - } - clearStateChar(); - if (escaping) { - re += "\\\\"; - } - var addPatternStart = false; - switch (re.charAt(0)) { - case ".": - case "[": - case "(": - addPatternStart = true; - } - if (re !== "" && hasMagic) - re = "(?=.)" + re; - if (addPatternStart) - re = patternStart + re; - if (isSub === SUBPARSE) { - return [re, hasMagic]; - } - if (!hasMagic) { - return globUnescape(pattern); - } - var flags = options.nocase ? "i" : "", regExp = new RegExp("^" + re + "$", flags); - regExp._glob = pattern; - regExp._src = re; - return regExp; - } - minimatch.makeRe = function(pattern, options) { - return new Minimatch(pattern, options || {}).makeRe(); - }; - Minimatch.prototype.makeRe = makeRe; - function makeRe() { - if (this.regexp || this.regexp === false) - return this.regexp; - var set = this.set; - if (!set.length) - return this.regexp = false; - var options = this.options; - var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot, flags = options.nocase ? "i" : ""; - var re = set.map(function(pattern) { - return pattern.map(function(p) { - return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src; - }).join("\\/"); - }).join("|"); - re = "^(?:" + re + ")$"; - if (this.negate) - re = "^(?!" + re + ").*$"; - try { - return this.regexp = new RegExp(re, flags); - } catch (ex) { - return this.regexp = false; - } - } - minimatch.match = function(list, pattern, options) { - var mm = new Minimatch(pattern, options); - list = list.filter(function(f) { - return mm.match(f); - }); - if (options.nonull && !list.length) { - list.push(pattern); - } - return list; - }; - Minimatch.prototype.match = match; - function match(f, partial) { - if (this.comment) - return false; - if (this.empty) - return f === ""; - if (f === "/" && partial) - return true; - var options = this.options; - if (platform === "win32") { - f = f.split("\\").join("/"); - } - f = f.split(slashSplit); - if (options.debug) { - console.error(this.pattern, "split", f); - } - var set = this.set; - for (var i = 0, l = set.length; i < l; i++) { - var pattern = set[i]; - var hit = this.matchOne(f, pattern, partial); - if (hit) { - if (options.flipNegate) - return true; - return !this.negate; - } - } - if (options.flipNegate) - return false; - return this.negate; - } - Minimatch.prototype.matchOne = function(file, pattern, partial) { - var options = this.options; - if (options.debug) { - console.error("matchOne", { - "this": this, - file, - pattern - }); - } - if (options.matchBase && pattern.length === 1) { - file = path.basename(file.join("/")).split("/"); - } - if (options.debug) { - console.error("matchOne", file.length, pattern.length); - } - for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { - if (options.debug) { - console.error("matchOne loop"); - } - var p = pattern[pi], f = file[fi]; - if (options.debug) { - console.error(pattern, p, f); - } - if (p === false) - return false; - if (p === GLOBSTAR) { - if (options.debug) - console.error("GLOBSTAR", [pattern, p, f]); - var fr = fi, pr = pi + 1; - if (pr === pl) { - if (options.debug) - console.error("** at the end"); - for (; fi < fl; fi++) { - if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") - return false; - } - return true; - } - WHILE: - while (fr < fl) { - var swallowee = file[fr]; - if (options.debug) { - console.error("\nglobstar while", file, fr, pattern, pr, swallowee); - } - if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { - if (options.debug) - console.error("globstar found match!", fr, fl, swallowee); - return true; - } else { - if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") { - if (options.debug) - console.error("dot detected!", file, fr, pattern, pr); - break WHILE; - } - if (options.debug) - console.error("globstar swallow a segment, and continue"); - fr++; - } - } - if (partial) { - if (fr === fl) - return true; - } - return false; - } - var hit; - if (typeof p === "string") { - if (options.nocase) { - hit = f.toLowerCase() === p.toLowerCase(); - } else { - hit = f === p; - } - if (options.debug) { - console.error("string match", p, f, hit); - } - } else { - hit = f.match(p); - if (options.debug) { - console.error("pattern match", p, f, hit); - } - } - if (!hit) - return false; - } - if (fi === fl && pi === pl) { - return true; - } else if (fi === fl) { - return partial; - } else if (pi === pl) { - var emptyFileEnd = fi === fl - 1 && file[fi] === ""; - return emptyFileEnd; - } - throw new Error("wtf?"); - }; - function globUnescape(s) { - return s.replace(/\\(.)/g, "$1"); - } - function regExpEscape(s) { - return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - } - } -}); -var require_ini = __commonJS2({ - "node_modules/editorconfig/src/lib/ini.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : new P(function(resolve2) { - resolve2(result.value); - }).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator2 = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { - label: 0, - sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, - trys: [], - ops: [] - }, f, y, t, g; - return g = { - next: verb(0), - "throw": verb(1), - "return": verb(2) - }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { - value: op[1], - done: false - }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) - throw op[1]; - return { - value: op[0] ? op[1] : void 0, - done: true - }; - } - }; - var __importStar2 = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (Object.hasOwnProperty.call(mod, k)) - result[k] = mod[k]; - } - result["default"] = mod; - return result; - }; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fs = __importStar2(require("fs")); - var regex = { - section: /^\s*\[(([^#;]|\\#|\\;)+)\]\s*([#;].*)?$/, - param: /^\s*([\w\.\-\_]+)\s*[=:]\s*(.*?)\s*([#;].*)?$/, - comment: /^\s*[#;].*$/ - }; - function parse(file) { - return __awaiter2(this, void 0, void 0, function() { - return __generator2(this, function(_a) { - return [2, new Promise(function(resolve, reject) { - fs.readFile(file, "utf8", function(err, data) { - if (err) { - reject(err); - return; - } - resolve(parseString(data)); - }); - })]; - }); - }); - } - exports2.parse = parse; - function parseSync(file) { - return parseString(fs.readFileSync(file, "utf8")); - } - exports2.parseSync = parseSync; - function parseString(data) { - var sectionBody = {}; - var sectionName = null; - var value = [[sectionName, sectionBody]]; - var lines = data.split(/\r\n|\r|\n/); - lines.forEach(function(line) { - var match; - if (regex.comment.test(line)) { - return; - } - if (regex.param.test(line)) { - match = line.match(regex.param); - sectionBody[match[1]] = match[2]; - } else if (regex.section.test(line)) { - match = line.match(regex.section); - sectionName = match[1]; - sectionBody = {}; - value.push([sectionName, sectionBody]); - } - }); - return value; - } - exports2.parseString = parseString; - } -}); -var require_package = __commonJS2({ - "node_modules/editorconfig/package.json"(exports2, module2) { - module2.exports = { - name: "editorconfig", - version: "0.15.3", - description: "EditorConfig File Locator and Interpreter for Node.js", - keywords: ["editorconfig", "core"], - main: "src/index.js", - contributors: ["Hong Xu (topbug.net)", "Jed Mao (https://github.com/jedmao/)", "Trey Hunner (http://treyhunner.com)"], - directories: { - bin: "./bin", - lib: "./lib" - }, - scripts: { - clean: "rimraf dist", - prebuild: "npm run clean", - build: "tsc", - pretest: "npm run lint && npm run build && npm run copy && cmake .", - test: "ctest .", - "pretest:ci": "npm run pretest", - "test:ci": "ctest -VV --output-on-failure .", - lint: "npm run eclint && npm run tslint", - eclint: 'eclint check --indent_size ignore "src/**"', - tslint: "tslint --project tsconfig.json --exclude package.json", - copy: "cpy .npmignore LICENSE README.md CHANGELOG.md dist && cpy bin/* dist/bin && cpy src/lib/fnmatch*.* dist/src/lib", - prepub: "npm run lint && npm run build && npm run copy", - pub: "npm publish ./dist" - }, - repository: { - type: "git", - url: "git://github.com/editorconfig/editorconfig-core-js.git" - }, - bugs: "https://github.com/editorconfig/editorconfig-core-js/issues", - author: "EditorConfig Team", - license: "MIT", - dependencies: { - commander: "^2.19.0", - "lru-cache": "^4.1.5", - semver: "^5.6.0", - sigmund: "^1.0.1" - }, - devDependencies: { - "@types/mocha": "^5.2.6", - "@types/node": "^10.12.29", - "@types/semver": "^5.5.0", - "cpy-cli": "^2.0.0", - eclint: "^2.8.1", - mocha: "^5.2.0", - rimraf: "^2.6.3", - should: "^13.2.3", - tslint: "^5.13.1", - typescript: "^3.3.3333" - } - }; - } -}); -var require_src2 = __commonJS2({ - "node_modules/editorconfig/src/index.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : new P(function(resolve2) { - resolve2(result.value); - }).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator2 = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { - label: 0, - sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, - trys: [], - ops: [] - }, f, y, t, g; - return g = { - next: verb(0), - "throw": verb(1), - "return": verb(2) - }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { - value: op[1], - done: false - }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) - throw op[1]; - return { - value: op[0] ? op[1] : void 0, - done: true - }; - } - }; - var __importStar2 = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (Object.hasOwnProperty.call(mod, k)) - result[k] = mod[k]; - } - result["default"] = mod; - return result; - }; - var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; - }; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fs = __importStar2(require("fs")); - var path = __importStar2(require("path")); - var semver = { - gte: require_gte() - }; - var fnmatch_1 = __importDefault2(require_fnmatch()); - var ini_1 = require_ini(); - exports2.parseString = ini_1.parseString; - var package_json_1 = __importDefault2(require_package()); - var knownProps = { - end_of_line: true, - indent_style: true, - indent_size: true, - insert_final_newline: true, - trim_trailing_whitespace: true, - charset: true - }; - function fnmatch(filepath, glob) { - var matchOptions = { - matchBase: true, - dot: true, - noext: true - }; - glob = glob.replace(/\*\*/g, "{*,**/**/**}"); - return fnmatch_1.default(filepath, glob, matchOptions); - } - function getConfigFileNames(filepath, options) { - var paths = []; - do { - filepath = path.dirname(filepath); - paths.push(path.join(filepath, options.config)); - } while (filepath !== options.root); - return paths; - } - function processMatches(matches, version2) { - if ("indent_style" in matches && matches.indent_style === "tab" && !("indent_size" in matches) && semver.gte(version2, "0.10.0")) { - matches.indent_size = "tab"; - } - if ("indent_size" in matches && !("tab_width" in matches) && matches.indent_size !== "tab") { - matches.tab_width = matches.indent_size; - } - if ("indent_size" in matches && "tab_width" in matches && matches.indent_size === "tab") { - matches.indent_size = matches.tab_width; - } - return matches; - } - function processOptions(options, filepath) { - if (options === void 0) { - options = {}; - } - return { - config: options.config || ".editorconfig", - version: options.version || package_json_1.default.version, - root: path.resolve(options.root || path.parse(filepath).root) - }; - } - function buildFullGlob(pathPrefix, glob) { - switch (glob.indexOf("/")) { - case -1: - glob = "**/" + glob; - break; - case 0: - glob = glob.substring(1); - break; - default: - break; - } - return path.join(pathPrefix, glob); - } - function extendProps(props, options) { - if (props === void 0) { - props = {}; - } - if (options === void 0) { - options = {}; - } - for (var key in options) { - if (options.hasOwnProperty(key)) { - var value = options[key]; - var key2 = key.toLowerCase(); - var value2 = value; - if (knownProps[key2]) { - value2 = value.toLowerCase(); - } - try { - value2 = JSON.parse(value); - } catch (e) { - } - if (typeof value === "undefined" || value === null) { - value2 = String(value); - } - props[key2] = value2; - } - } - return props; - } - function parseFromConfigs(configs, filepath, options) { - return processMatches(configs.reverse().reduce(function(matches, file) { - var pathPrefix = path.dirname(file.name); - file.contents.forEach(function(section) { - var glob = section[0]; - var options2 = section[1]; - if (!glob) { - return; - } - var fullGlob = buildFullGlob(pathPrefix, glob); - if (!fnmatch(filepath, fullGlob)) { - return; - } - matches = extendProps(matches, options2); - }); - return matches; - }, {}), options.version); - } - function getConfigsForFiles(files) { - var configs = []; - for (var i in files) { - if (files.hasOwnProperty(i)) { - var file = files[i]; - var contents = ini_1.parseString(file.contents); - configs.push({ - name: file.name, - contents - }); - if ((contents[0][1].root || "").toLowerCase() === "true") { - break; - } - } - } - return configs; - } - function readConfigFiles(filepaths) { - return __awaiter2(this, void 0, void 0, function() { - return __generator2(this, function(_a) { - return [2, Promise.all(filepaths.map(function(name) { - return new Promise(function(resolve) { - fs.readFile(name, "utf8", function(err, data) { - resolve({ - name, - contents: err ? "" : data - }); - }); - }); - }))]; - }); - }); - } - function readConfigFilesSync(filepaths) { - var files = []; - var file; - filepaths.forEach(function(filepath) { - try { - file = fs.readFileSync(filepath, "utf8"); - } catch (e) { - file = ""; - } - files.push({ - name: filepath, - contents: file - }); - }); - return files; - } - function opts(filepath, options) { - if (options === void 0) { - options = {}; - } - var resolvedFilePath = path.resolve(filepath); - return [resolvedFilePath, processOptions(options, resolvedFilePath)]; - } - function parseFromFiles(filepath, files, options) { - if (options === void 0) { - options = {}; - } - return __awaiter2(this, void 0, void 0, function() { - var _a, resolvedFilePath, processedOptions; - return __generator2(this, function(_b) { - _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1]; - return [2, files.then(getConfigsForFiles).then(function(configs) { - return parseFromConfigs(configs, resolvedFilePath, processedOptions); - })]; - }); - }); - } - exports2.parseFromFiles = parseFromFiles; - function parseFromFilesSync(filepath, files, options) { - if (options === void 0) { - options = {}; - } - var _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1]; - return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); - } - exports2.parseFromFilesSync = parseFromFilesSync; - function parse(_filepath, _options) { - if (_options === void 0) { - _options = {}; - } - return __awaiter2(this, void 0, void 0, function() { - var _a, resolvedFilePath, processedOptions, filepaths; - return __generator2(this, function(_b) { - _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1]; - filepaths = getConfigFileNames(resolvedFilePath, processedOptions); - return [2, readConfigFiles(filepaths).then(getConfigsForFiles).then(function(configs) { - return parseFromConfigs(configs, resolvedFilePath, processedOptions); - })]; - }); - }); - } - exports2.parse = parse; - function parseSync(_filepath, _options) { - if (_options === void 0) { - _options = {}; - } - var _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1]; - var filepaths = getConfigFileNames(resolvedFilePath, processedOptions); - var files = readConfigFilesSync(filepaths); - return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); - } - exports2.parseSync = parseSync; - } -}); -var require_editorconfig_to_prettier = __commonJS2({ - "node_modules/editorconfig-to-prettier/index.js"(exports2, module2) { - module2.exports = editorConfigToPrettier; - function removeUnset(editorConfig) { - const result = {}; - const keys = Object.keys(editorConfig); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (editorConfig[key] === "unset") { - continue; - } - result[key] = editorConfig[key]; - } - return result; - } - function editorConfigToPrettier(editorConfig) { - if (!editorConfig) { - return null; - } - editorConfig = removeUnset(editorConfig); - if (Object.keys(editorConfig).length === 0) { - return null; - } - const result = {}; - if (editorConfig.indent_style) { - result.useTabs = editorConfig.indent_style === "tab"; - } - if (editorConfig.indent_size === "tab") { - result.useTabs = true; - } - if (result.useTabs && editorConfig.tab_width) { - result.tabWidth = editorConfig.tab_width; - } else if (editorConfig.indent_style === "space" && editorConfig.indent_size && editorConfig.indent_size !== "tab") { - result.tabWidth = editorConfig.indent_size; - } else if (editorConfig.tab_width !== void 0) { - result.tabWidth = editorConfig.tab_width; - } - if (editorConfig.max_line_length) { - if (editorConfig.max_line_length === "off") { - result.printWidth = Number.POSITIVE_INFINITY; - } else { - result.printWidth = editorConfig.max_line_length; - } - } - if (editorConfig.quote_type === "single") { - result.singleQuote = true; - } else if (editorConfig.quote_type === "double") { - result.singleQuote = false; - } - if (["cr", "crlf", "lf"].indexOf(editorConfig.end_of_line) !== -1) { - result.endOfLine = editorConfig.end_of_line; - } - if (editorConfig.insert_final_newline === false || editorConfig.insert_final_newline === true) { - result.insertFinalNewline = editorConfig.insert_final_newline; - } - return result; - } - } -}); -var require_find_project_root = __commonJS2({ - "src/config/find-project-root.js"(exports2, module2) { - "use strict"; - var fs = require("fs"); - var path = require("path"); - var MARKERS = [".git", ".hg"]; - var markerExists = (directory) => MARKERS.some((mark) => fs.existsSync(path.join(directory, mark))); - function findProjectRoot(directory) { - while (!markerExists(directory)) { - const parentDirectory = path.resolve(directory, ".."); - if (parentDirectory === directory) { - break; - } - directory = parentDirectory; - } - return directory; - } - module2.exports = findProjectRoot; - } -}); -var require_resolve_config_editorconfig = __commonJS2({ - "src/config/resolve-config-editorconfig.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var editorconfig = require_src2(); - var editorConfigToPrettier = require_editorconfig_to_prettier(); - var { - default: mem2, - memClear: memClear2 - } = (init_dist(), __toCommonJS(dist_exports)); - var findProjectRoot = require_find_project_root(); - var jsonStringifyMem = (fn) => mem2(fn, { - cacheKey: JSON.stringify - }); - var maybeParse = (filePath, parse) => filePath && parse(filePath, { - root: findProjectRoot(path.dirname(path.resolve(filePath))) - }); - var editorconfigAsyncNoCache = async (filePath) => editorConfigToPrettier(await maybeParse(filePath, editorconfig.parse)); - var editorconfigAsyncWithCache = jsonStringifyMem(editorconfigAsyncNoCache); - var editorconfigSyncNoCache = (filePath) => editorConfigToPrettier(maybeParse(filePath, editorconfig.parseSync)); - var editorconfigSyncWithCache = jsonStringifyMem(editorconfigSyncNoCache); - function getLoadFunction(opts) { - if (!opts.editorconfig) { - return () => null; - } - if (opts.sync) { - return opts.cache ? editorconfigSyncWithCache : editorconfigSyncNoCache; - } - return opts.cache ? editorconfigAsyncWithCache : editorconfigAsyncNoCache; - } - function clearCache() { - memClear2(editorconfigSyncWithCache); - memClear2(editorconfigAsyncWithCache); - } - module2.exports = { - getLoadFunction, - clearCache - }; - } -}); -var require_resolve_config = __commonJS2({ - "src/config/resolve-config.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var micromatch = require_micromatch(); - var thirdParty = require("./third-party.js"); - var loadToml = require_load_toml(); - var loadJson5 = require_load_json5(); - var partition = require_partition(); - var resolve = require_resolve2(); - var { - default: mem2, - memClear: memClear2 - } = (init_dist(), __toCommonJS(dist_exports)); - var resolveEditorConfig = require_resolve_config_editorconfig(); - var getExplorerMemoized = mem2((opts) => { - const cosmiconfig = thirdParty["cosmiconfig" + (opts.sync ? "Sync" : "")]; - const explorer = cosmiconfig("prettier", { - cache: opts.cache, - transform: (result) => { - if (result && result.config) { - if (typeof result.config === "string") { - const dir = path.dirname(result.filepath); - const modulePath = resolve(result.config, { - paths: [dir] - }); - result.config = require(modulePath); - } - if (typeof result.config !== "object") { - throw new TypeError(`Config is only allowed to be an object, but received ${typeof result.config} in "${result.filepath}"`); - } - delete result.config.$schema; - } - return result; - }, - searchPlaces: ["package.json", ".prettierrc", ".prettierrc.json", ".prettierrc.yaml", ".prettierrc.yml", ".prettierrc.json5", ".prettierrc.js", ".prettierrc.cjs", "prettier.config.js", "prettier.config.cjs", ".prettierrc.toml"], - loaders: { - ".toml": loadToml, - ".json5": loadJson5 - } - }); - return explorer; - }, { - cacheKey: JSON.stringify - }); - function getExplorer(opts) { - opts = Object.assign({ - sync: false, - cache: false - }, opts); - return getExplorerMemoized(opts); - } - function _resolveConfig(filePath, opts, sync) { - opts = Object.assign({ - useCache: true - }, opts); - const loadOpts = { - cache: Boolean(opts.useCache), - sync: Boolean(sync), - editorconfig: Boolean(opts.editorconfig) - }; - const { - load, - search - } = getExplorer(loadOpts); - const loadEditorConfig = resolveEditorConfig.getLoadFunction(loadOpts); - const arr = [opts.config ? load(opts.config) : search(filePath), loadEditorConfig(filePath)]; - const unwrapAndMerge = ([result, editorConfigured]) => { - const merged = Object.assign(Object.assign({}, editorConfigured), mergeOverrides(result, filePath)); - for (const optionName of ["plugins", "pluginSearchDirs"]) { - if (Array.isArray(merged[optionName])) { - merged[optionName] = merged[optionName].map((value) => typeof value === "string" && value.startsWith(".") ? path.resolve(path.dirname(result.filepath), value) : value); - } - } - if (!result && !editorConfigured) { - return null; - } - delete merged.insertFinalNewline; - return merged; - }; - if (loadOpts.sync) { - return unwrapAndMerge(arr); - } - return Promise.all(arr).then(unwrapAndMerge); - } - var resolveConfig = (filePath, opts) => _resolveConfig(filePath, opts, false); - resolveConfig.sync = (filePath, opts) => _resolveConfig(filePath, opts, true); - function clearCache() { - memClear2(getExplorerMemoized); - resolveEditorConfig.clearCache(); - } - async function resolveConfigFile(filePath) { - const { - search - } = getExplorer({ - sync: false - }); - const result = await search(filePath); - return result ? result.filepath : null; - } - resolveConfigFile.sync = (filePath) => { - const { - search - } = getExplorer({ - sync: true - }); - const result = search(filePath); - return result ? result.filepath : null; - }; - function mergeOverrides(configResult, filePath) { - const { - config: config2, - filepath: configPath - } = configResult || {}; - const _ref = config2 || {}, { - overrides - } = _ref, options = _objectWithoutProperties(_ref, _excluded3); - if (filePath && overrides) { - const relativeFilePath = path.relative(path.dirname(configPath), filePath); - for (const override of overrides) { - if (pathMatchesGlobs(relativeFilePath, override.files, override.excludeFiles)) { - Object.assign(options, override.options); - } - } - } - return options; - } - function pathMatchesGlobs(filePath, patterns, excludedPatterns) { - const patternList = Array.isArray(patterns) ? patterns : [patterns]; - const [withSlashes, withoutSlashes] = partition(patternList, (pattern) => pattern.includes("/")); - return micromatch.isMatch(filePath, withoutSlashes, { - ignore: excludedPatterns, - basename: true, - dot: true - }) || micromatch.isMatch(filePath, withSlashes, { - ignore: excludedPatterns, - basename: false, - dot: true - }); - } - module2.exports = { - resolveConfig, - resolveConfigFile, - clearCache - }; - } -}); -var require_ignore = __commonJS2({ - "node_modules/ignore/index.js"(exports2, module2) { - function makeArray(subject) { - return Array.isArray(subject) ? subject : [subject]; - } - var EMPTY = ""; - var SPACE = " "; - var ESCAPE = "\\"; - var REGEX_TEST_BLANK_LINE = /^\s+$/; - var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/; - var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/; - var REGEX_SPLITALL_CRLF = /\r?\n/g; - var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/; - var SLASH = "/"; - var KEY_IGNORE = typeof Symbol !== "undefined" ? Symbol.for("node-ignore") : "node-ignore"; - var define2 = (object, key, value) => Object.defineProperty(object, key, { - value - }); - var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; - var RETURN_FALSE = () => false; - var sanitizeRange = (range) => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY); - var cleanRangeBackSlash = (slashes) => { - const { - length - } = slashes; - return slashes.slice(0, length - length % 2); - }; - var REPLACERS = [[/\\?\s+$/, (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY], [/\\\s/g, () => SPACE], [/[\\$.|*+(){^]/g, (match) => `\\${match}`], [/(?!\\)\?/g, () => "[^/]"], [/^\//, () => "^"], [/\//g, () => "\\/"], [/^\^*\\\*\\\*\\\//, () => "^(?:.*\\/)?"], [/^(?=[^^])/, function startingReplacer() { - return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^"; - }], [/\\\/\\\*\\\*(?=\\\/|$)/g, (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+"], [/(^|[^\\]+)\\\*(?=.+)/g, (_, p1) => `${p1}[^\\/]*`], [/\\\\\\(?=[$.|*+(){^])/g, () => ESCAPE], [/\\\\/g, () => ESCAPE], [/(\\)?\[([^\]/]*?)(\\*)($|\])/g, (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]"], [/(?:[^*])$/, (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)`], [/(\^|\\\/)?\\\*$/, (_, p1) => { - const prefix = p1 ? `${p1}[^/]+` : "[^/]*"; - return `${prefix}(?=$|\\/$)`; - }]]; - var regexCache = /* @__PURE__ */ Object.create(null); - var makeRegex = (pattern, ignoreCase) => { - let source = regexCache[pattern]; - if (!source) { - source = REPLACERS.reduce((prev, current) => prev.replace(current[0], current[1].bind(pattern)), pattern); - regexCache[pattern] = source; - } - return ignoreCase ? new RegExp(source, "i") : new RegExp(source); - }; - var isString = (subject) => typeof subject === "string"; - var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && pattern.indexOf("#") !== 0; - var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF); - var IgnoreRule = class { - constructor(origin, pattern, negative, regex) { - this.origin = origin; - this.pattern = pattern; - this.negative = negative; - this.regex = regex; - } - }; - var createRule = (pattern, ignoreCase) => { - const origin = pattern; - let negative = false; - if (pattern.indexOf("!") === 0) { - negative = true; - pattern = pattern.substr(1); - } - pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#"); - const regex = makeRegex(pattern, ignoreCase); - return new IgnoreRule(origin, pattern, negative, regex); - }; - var throwError = (message, Ctor) => { - throw new Ctor(message); - }; - var checkPath = (path, originalPath, doThrow) => { - if (!isString(path)) { - return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError); - } - if (!path) { - return doThrow(`path must not be empty`, TypeError); - } - if (checkPath.isNotRelative(path)) { - const r = "`path.relative()`d"; - return doThrow(`path should be a ${r} string, but got "${originalPath}"`, RangeError); - } - return true; - }; - var isNotRelative = (path) => REGEX_TEST_INVALID_PATH.test(path); - checkPath.isNotRelative = isNotRelative; - checkPath.convert = (p) => p; - var Ignore = class { - constructor({ - ignorecase = true, - ignoreCase = ignorecase, - allowRelativePaths = false - } = {}) { - define2(this, KEY_IGNORE, true); - this._rules = []; - this._ignoreCase = ignoreCase; - this._allowRelativePaths = allowRelativePaths; - this._initCache(); - } - _initCache() { - this._ignoreCache = /* @__PURE__ */ Object.create(null); - this._testCache = /* @__PURE__ */ Object.create(null); - } - _addPattern(pattern) { - if (pattern && pattern[KEY_IGNORE]) { - this._rules = this._rules.concat(pattern._rules); - this._added = true; - return; - } - if (checkPattern(pattern)) { - const rule = createRule(pattern, this._ignoreCase); - this._added = true; - this._rules.push(rule); - } - } - add(pattern) { - this._added = false; - makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._addPattern, this); - if (this._added) { - this._initCache(); - } - return this; - } - addPattern(pattern) { - return this.add(pattern); - } - _testOne(path, checkUnignored) { - let ignored = false; - let unignored = false; - this._rules.forEach((rule) => { - const { - negative - } = rule; - if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) { - return; - } - const matched = rule.regex.test(path); - if (matched) { - ignored = !negative; - unignored = negative; - } - }); - return { - ignored, - unignored - }; - } - _test(originalPath, cache, checkUnignored, slices) { - const path = originalPath && checkPath.convert(originalPath); - checkPath(path, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError); - return this._t(path, cache, checkUnignored, slices); - } - _t(path, cache, checkUnignored, slices) { - if (path in cache) { - return cache[path]; - } - if (!slices) { - slices = path.split(SLASH); - } - slices.pop(); - if (!slices.length) { - return cache[path] = this._testOne(path, checkUnignored); - } - const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices); - return cache[path] = parent.ignored ? parent : this._testOne(path, checkUnignored); - } - ignores(path) { - return this._test(path, this._ignoreCache, false).ignored; - } - createFilter() { - return (path) => !this.ignores(path); - } - filter(paths) { - return makeArray(paths).filter(this.createFilter()); - } - test(path) { - return this._test(path, this._testCache, true); - } - }; - var factory = (options) => new Ignore(options); - var isPathValid = (path) => checkPath(path && checkPath.convert(path), path, RETURN_FALSE); - factory.isPathValid = isPathValid; - factory.default = factory; - module2.exports = factory; - if (typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")) { - const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/"); - checkPath.convert = makePosix; - const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i; - checkPath.isNotRelative = (path) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path); - } - } -}); -var require_get_file_content_or_null = __commonJS2({ - "src/utils/get-file-content-or-null.js"(exports2, module2) { - "use strict"; - var fs = require("fs"); - var fsAsync = fs.promises; - async function getFileContentOrNull(filename) { - try { - return await fsAsync.readFile(filename, "utf8"); - } catch (error) { - return handleError(filename, error); - } - } - getFileContentOrNull.sync = function(filename) { - try { - return fs.readFileSync(filename, "utf8"); - } catch (error) { - return handleError(filename, error); - } - }; - function handleError(filename, error) { - if (error && error.code === "ENOENT") { - return null; - } - throw new Error(`Unable to read ${filename}: ${error.message}`); - } - module2.exports = getFileContentOrNull; - } -}); -var require_create_ignorer = __commonJS2({ - "src/common/create-ignorer.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var ignore = require_ignore().default; - var getFileContentOrNull = require_get_file_content_or_null(); - async function createIgnorer(ignorePath, withNodeModules) { - const ignoreContent = ignorePath ? await getFileContentOrNull(path.resolve(ignorePath)) : null; - return _createIgnorer(ignoreContent, withNodeModules); - } - createIgnorer.sync = function(ignorePath, withNodeModules) { - const ignoreContent = !ignorePath ? null : getFileContentOrNull.sync(path.resolve(ignorePath)); - return _createIgnorer(ignoreContent, withNodeModules); - }; - function _createIgnorer(ignoreContent, withNodeModules) { - const ignorer = ignore({ - allowRelativePaths: true - }).add(ignoreContent || ""); - if (!withNodeModules) { - ignorer.add("node_modules"); - } - return ignorer; - } - module2.exports = createIgnorer; - } -}); -var require_get_file_info = __commonJS2({ - "src/common/get-file-info.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var options = require_options(); - var config2 = require_resolve_config(); - var createIgnorer = require_create_ignorer(); - async function getFileInfo2(filePath, opts) { - if (typeof filePath !== "string") { - throw new TypeError(`expect \`filePath\` to be a string, got \`${typeof filePath}\``); - } - const ignorer = await createIgnorer(opts.ignorePath, opts.withNodeModules); - return _getFileInfo({ - ignorer, - filePath, - plugins: opts.plugins, - resolveConfig: opts.resolveConfig, - ignorePath: opts.ignorePath, - sync: false - }); - } - getFileInfo2.sync = function(filePath, opts) { - if (typeof filePath !== "string") { - throw new TypeError(`expect \`filePath\` to be a string, got \`${typeof filePath}\``); - } - const ignorer = createIgnorer.sync(opts.ignorePath, opts.withNodeModules); - return _getFileInfo({ - ignorer, - filePath, - plugins: opts.plugins, - resolveConfig: opts.resolveConfig, - ignorePath: opts.ignorePath, - sync: true - }); - }; - function getFileParser(resolvedConfig, filePath, plugins2) { - if (resolvedConfig && resolvedConfig.parser) { - return resolvedConfig.parser; - } - const inferredParser = options.inferParser(filePath, plugins2); - if (inferredParser) { - return inferredParser; - } - return null; - } - function _getFileInfo({ - ignorer, - filePath, - plugins: plugins2, - resolveConfig = false, - ignorePath, - sync = false - }) { - const normalizedFilePath = normalizeFilePath(filePath, ignorePath); - const fileInfo = { - ignored: ignorer.ignores(normalizedFilePath), - inferredParser: null - }; - if (fileInfo.ignored) { - return fileInfo; - } - let resolvedConfig; - if (resolveConfig) { - if (sync) { - resolvedConfig = config2.resolveConfig.sync(filePath); - } else { - return config2.resolveConfig(filePath).then((resolvedConfig2) => { - fileInfo.inferredParser = getFileParser(resolvedConfig2, filePath, plugins2); - return fileInfo; - }); - } - } - fileInfo.inferredParser = getFileParser(resolvedConfig, filePath, plugins2); - return fileInfo; - } - function normalizeFilePath(filePath, ignorePath) { - return ignorePath ? path.relative(path.dirname(ignorePath), filePath) : filePath; - } - module2.exports = getFileInfo2; - } -}); -var require_util_shared = __commonJS2({ - "src/common/util-shared.js"(exports2, module2) { - "use strict"; - var { - getMaxContinuousCount, - getStringWidth, - getAlignmentSize, - getIndentSize, - skip, - skipWhitespace, - skipSpaces, - skipNewline, - skipToLineEnd, - skipEverythingButNewLine, - skipInlineComment, - skipTrailingComment, - hasNewline, - hasNewlineInRange, - hasSpaces, - isNextLineEmpty, - isNextLineEmptyAfterIndex, - isPreviousLineEmpty, - getNextNonSpaceNonCommentCharacterIndex, - makeString, - addLeadingComment, - addDanglingComment, - addTrailingComment - } = require_util(); - module2.exports = { - getMaxContinuousCount, - getStringWidth, - getAlignmentSize, - getIndentSize, - skip, - skipWhitespace, - skipSpaces, - skipNewline, - skipToLineEnd, - skipEverythingButNewLine, - skipInlineComment, - skipTrailingComment, - hasNewline, - hasNewlineInRange, - hasSpaces, - isNextLineEmpty, - isNextLineEmptyAfterIndex, - isPreviousLineEmpty, - getNextNonSpaceNonCommentCharacterIndex, - makeString, - addLeadingComment, - addDanglingComment, - addTrailingComment - }; - } -}); -var require_array3 = __commonJS2({ - "node_modules/fast-glob/out/utils/array.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.splitWhen = exports2.flatten = void 0; - function flatten(items) { - return items.reduce((collection, item) => [].concat(collection, item), []); - } - exports2.flatten = flatten; - function splitWhen(items, predicate) { - const result = [[]]; - let groupIndex = 0; - for (const item of items) { - if (predicate(item)) { - groupIndex++; - result[groupIndex] = []; - } else { - result[groupIndex].push(item); - } - } - return result; - } - exports2.splitWhen = splitWhen; - } -}); -var require_errno = __commonJS2({ - "node_modules/fast-glob/out/utils/errno.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isEnoentCodeError = void 0; - function isEnoentCodeError(error) { - return error.code === "ENOENT"; - } - exports2.isEnoentCodeError = isEnoentCodeError; - } -}); -var require_fs = __commonJS2({ - "node_modules/fast-glob/out/utils/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createDirentFromStats = void 0; - var DirentFromStats = class { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - }; - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - exports2.createDirentFromStats = createDirentFromStats; - } -}); -var require_path = __commonJS2({ - "node_modules/fast-glob/out/utils/path.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.removeLeadingDotSegment = exports2.escape = exports2.makeAbsolute = exports2.unixify = void 0; - var path = require("path"); - var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; - var UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g; - function unixify(filepath) { - return filepath.replace(/\\/g, "/"); - } - exports2.unixify = unixify; - function makeAbsolute(cwd, filepath) { - return path.resolve(cwd, filepath); - } - exports2.makeAbsolute = makeAbsolute; - function escape(pattern) { - return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, "\\$2"); - } - exports2.escape = escape; - function removeLeadingDotSegment(entry) { - if (entry.charAt(0) === ".") { - const secondCharactery = entry.charAt(1); - if (secondCharactery === "/" || secondCharactery === "\\") { - return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); - } - } - return entry; - } - exports2.removeLeadingDotSegment = removeLeadingDotSegment; - } -}); -var require_is_extglob = __commonJS2({ - "node_modules/is-extglob/index.js"(exports2, module2) { - module2.exports = function isExtglob(str) { - if (typeof str !== "string" || str === "") { - return false; - } - var match; - while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) { - if (match[2]) - return true; - str = str.slice(match.index + match[0].length); - } - return false; - }; - } -}); -var require_is_glob = __commonJS2({ - "node_modules/is-glob/index.js"(exports2, module2) { - var isExtglob = require_is_extglob(); - var chars = { - "{": "}", - "(": ")", - "[": "]" - }; - var strictCheck = function(str) { - if (str[0] === "!") { - return true; - } - var index = 0; - var pipeIndex = -2; - var closeSquareIndex = -2; - var closeCurlyIndex = -2; - var closeParenIndex = -2; - var backSlashIndex = -2; - while (index < str.length) { - if (str[index] === "*") { - return true; - } - if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) { - return true; - } - if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") { - if (closeSquareIndex < index) { - closeSquareIndex = str.indexOf("]", index); - } - if (closeSquareIndex > index) { - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { - return true; - } - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { - return true; - } - } - } - if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") { - closeCurlyIndex = str.indexOf("}", index); - if (closeCurlyIndex > index) { - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) { - return true; - } - } - } - if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") { - closeParenIndex = str.indexOf(")", index); - if (closeParenIndex > index) { - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { - return true; - } - } - } - if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") { - if (pipeIndex < index) { - pipeIndex = str.indexOf("|", index); - } - if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") { - closeParenIndex = str.indexOf(")", pipeIndex); - if (closeParenIndex > pipeIndex) { - backSlashIndex = str.indexOf("\\", pipeIndex); - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { - return true; - } - } - } - } - if (str[index] === "\\") { - var open = str[index + 1]; - index += 2; - var close = chars[open]; - if (close) { - var n = str.indexOf(close, index); - if (n !== -1) { - index = n + 1; - } - } - if (str[index] === "!") { - return true; - } - } else { - index++; - } - } - return false; - }; - var relaxedCheck = function(str) { - if (str[0] === "!") { - return true; - } - var index = 0; - while (index < str.length) { - if (/[*?{}()[\]]/.test(str[index])) { - return true; - } - if (str[index] === "\\") { - var open = str[index + 1]; - index += 2; - var close = chars[open]; - if (close) { - var n = str.indexOf(close, index); - if (n !== -1) { - index = n + 1; - } - } - if (str[index] === "!") { - return true; - } - } else { - index++; - } - } - return false; - }; - module2.exports = function isGlob(str, options) { - if (typeof str !== "string" || str === "") { - return false; - } - if (isExtglob(str)) { - return true; - } - var check = strictCheck; - if (options && options.strict === false) { - check = relaxedCheck; - } - return check(str); - }; - } -}); -var require_glob_parent = __commonJS2({ - "node_modules/glob-parent/index.js"(exports2, module2) { - "use strict"; - var isGlob = require_is_glob(); - var pathPosixDirname = require("path").posix.dirname; - var isWin32 = require("os").platform() === "win32"; - var slash = "/"; - var backslash = /\\/g; - var enclosure = /[\{\[].*[\}\]]$/; - var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; - var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; - module2.exports = function globParent(str, opts) { - var options = Object.assign({ - flipBackslashes: true - }, opts); - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { - str = str.replace(backslash, slash); - } - if (enclosure.test(str)) { - str += slash; - } - str += "a"; - do { - str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); - return str.replace(escaped, "$1"); - }; - } -}); -var require_pattern = __commonJS2({ - "node_modules/fast-glob/out/utils/pattern.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.matchAny = exports2.convertPatternsToRe = exports2.makeRe = exports2.getPatternParts = exports2.expandBraceExpansion = exports2.expandPatternsWithBraceExpansion = exports2.isAffectDepthOfReadingPattern = exports2.endsWithSlashGlobStar = exports2.hasGlobStar = exports2.getBaseDirectory = exports2.isPatternRelatedToParentDirectory = exports2.getPatternsOutsideCurrentDirectory = exports2.getPatternsInsideCurrentDirectory = exports2.getPositivePatterns = exports2.getNegativePatterns = exports2.isPositivePattern = exports2.isNegativePattern = exports2.convertToNegativePattern = exports2.convertToPositivePattern = exports2.isDynamicPattern = exports2.isStaticPattern = void 0; - var path = require("path"); - var globParent = require_glob_parent(); - var micromatch = require_micromatch(); - var GLOBSTAR = "**"; - var ESCAPE_SYMBOL = "\\"; - var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; - var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/; - var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/; - var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/; - var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./; - function isStaticPattern(pattern, options = {}) { - return !isDynamicPattern(pattern, options); - } - exports2.isStaticPattern = isStaticPattern; - function isDynamicPattern(pattern, options = {}) { - if (pattern === "") { - return false; - } - if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { - return true; - } - if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.braceExpansion !== false && hasBraceExpansion(pattern)) { - return true; - } - return false; - } - exports2.isDynamicPattern = isDynamicPattern; - function hasBraceExpansion(pattern) { - const openingBraceIndex = pattern.indexOf("{"); - if (openingBraceIndex === -1) { - return false; - } - const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1); - if (closingBraceIndex === -1) { - return false; - } - const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex); - return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent); - } - function convertToPositivePattern(pattern) { - return isNegativePattern(pattern) ? pattern.slice(1) : pattern; - } - exports2.convertToPositivePattern = convertToPositivePattern; - function convertToNegativePattern(pattern) { - return "!" + pattern; - } - exports2.convertToNegativePattern = convertToNegativePattern; - function isNegativePattern(pattern) { - return pattern.startsWith("!") && pattern[1] !== "("; - } - exports2.isNegativePattern = isNegativePattern; - function isPositivePattern(pattern) { - return !isNegativePattern(pattern); - } - exports2.isPositivePattern = isPositivePattern; - function getNegativePatterns(patterns) { - return patterns.filter(isNegativePattern); - } - exports2.getNegativePatterns = getNegativePatterns; - function getPositivePatterns(patterns) { - return patterns.filter(isPositivePattern); - } - exports2.getPositivePatterns = getPositivePatterns; - function getPatternsInsideCurrentDirectory(patterns) { - return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern)); - } - exports2.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory; - function getPatternsOutsideCurrentDirectory(patterns) { - return patterns.filter(isPatternRelatedToParentDirectory); - } - exports2.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory; - function isPatternRelatedToParentDirectory(pattern) { - return pattern.startsWith("..") || pattern.startsWith("./.."); - } - exports2.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory; - function getBaseDirectory(pattern) { - return globParent(pattern, { - flipBackslashes: false - }); - } - exports2.getBaseDirectory = getBaseDirectory; - function hasGlobStar(pattern) { - return pattern.includes(GLOBSTAR); - } - exports2.hasGlobStar = hasGlobStar; - function endsWithSlashGlobStar(pattern) { - return pattern.endsWith("/" + GLOBSTAR); - } - exports2.endsWithSlashGlobStar = endsWithSlashGlobStar; - function isAffectDepthOfReadingPattern(pattern) { - const basename = path.basename(pattern); - return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); - } - exports2.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; - function expandPatternsWithBraceExpansion(patterns) { - return patterns.reduce((collection, pattern) => { - return collection.concat(expandBraceExpansion(pattern)); - }, []); - } - exports2.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; - function expandBraceExpansion(pattern) { - return micromatch.braces(pattern, { - expand: true, - nodupes: true - }); - } - exports2.expandBraceExpansion = expandBraceExpansion; - function getPatternParts(pattern, options) { - let { - parts - } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { - parts: true - })); - if (parts.length === 0) { - parts = [pattern]; - } - if (parts[0].startsWith("/")) { - parts[0] = parts[0].slice(1); - parts.unshift(""); - } - return parts; - } - exports2.getPatternParts = getPatternParts; - function makeRe(pattern, options) { - return micromatch.makeRe(pattern, options); - } - exports2.makeRe = makeRe; - function convertPatternsToRe(patterns, options) { - return patterns.map((pattern) => makeRe(pattern, options)); - } - exports2.convertPatternsToRe = convertPatternsToRe; - function matchAny(entry, patternsRe) { - return patternsRe.some((patternRe) => patternRe.test(entry)); - } - exports2.matchAny = matchAny; - } -}); -var require_merge2 = __commonJS2({ - "node_modules/merge2/index.js"(exports2, module2) { - "use strict"; - var Stream = require("stream"); - var PassThrough = Stream.PassThrough; - var slice = Array.prototype.slice; - module2.exports = merge2; - function merge2() { - const streamsQueue = []; - const args = slice.call(arguments); - let merging = false; - let options = args[args.length - 1]; - if (options && !Array.isArray(options) && options.pipe == null) { - args.pop(); - } else { - options = {}; - } - const doEnd = options.end !== false; - const doPipeError = options.pipeError === true; - if (options.objectMode == null) { - options.objectMode = true; - } - if (options.highWaterMark == null) { - options.highWaterMark = 64 * 1024; - } - const mergedStream = PassThrough(options); - function addStream() { - for (let i = 0, len = arguments.length; i < len; i++) { - streamsQueue.push(pauseStreams(arguments[i], options)); - } - mergeStream(); - return this; - } - function mergeStream() { - if (merging) { - return; - } - merging = true; - let streams = streamsQueue.shift(); - if (!streams) { - process.nextTick(endStream); - return; - } - if (!Array.isArray(streams)) { - streams = [streams]; - } - let pipesCount = streams.length + 1; - function next() { - if (--pipesCount > 0) { - return; - } - merging = false; - mergeStream(); - } - function pipe(stream) { - function onend() { - stream.removeListener("merge2UnpipeEnd", onend); - stream.removeListener("end", onend); - if (doPipeError) { - stream.removeListener("error", onerror); - } - next(); - } - function onerror(err) { - mergedStream.emit("error", err); - } - if (stream._readableState.endEmitted) { - return next(); - } - stream.on("merge2UnpipeEnd", onend); - stream.on("end", onend); - if (doPipeError) { - stream.on("error", onerror); - } - stream.pipe(mergedStream, { - end: false - }); - stream.resume(); - } - for (let i = 0; i < streams.length; i++) { - pipe(streams[i]); - } - next(); - } - function endStream() { - merging = false; - mergedStream.emit("queueDrain"); - if (doEnd) { - mergedStream.end(); - } - } - mergedStream.setMaxListeners(0); - mergedStream.add = addStream; - mergedStream.on("unpipe", function(stream) { - stream.emit("merge2UnpipeEnd"); - }); - if (args.length) { - addStream.apply(null, args); - } - return mergedStream; - } - function pauseStreams(streams, options) { - if (!Array.isArray(streams)) { - if (!streams._readableState && streams.pipe) { - streams = streams.pipe(PassThrough(options)); - } - if (!streams._readableState || !streams.pause || !streams.pipe) { - throw new Error("Only readable stream can be merged."); - } - streams.pause(); - } else { - for (let i = 0, len = streams.length; i < len; i++) { - streams[i] = pauseStreams(streams[i], options); - } - } - return streams; - } - } -}); -var require_stream = __commonJS2({ - "node_modules/fast-glob/out/utils/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.merge = void 0; - var merge2 = require_merge2(); - function merge(streams) { - const mergedStream = merge2(streams); - streams.forEach((stream) => { - stream.once("error", (error) => mergedStream.emit("error", error)); - }); - mergedStream.once("close", () => propagateCloseEventToSources(streams)); - mergedStream.once("end", () => propagateCloseEventToSources(streams)); - return mergedStream; - } - exports2.merge = merge; - function propagateCloseEventToSources(streams) { - streams.forEach((stream) => stream.emit("close")); - } - } -}); -var require_string2 = __commonJS2({ - "node_modules/fast-glob/out/utils/string.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isEmpty = exports2.isString = void 0; - function isString(input) { - return typeof input === "string"; - } - exports2.isString = isString; - function isEmpty(input) { - return input === ""; - } - exports2.isEmpty = isEmpty; - } -}); -var require_utils4 = __commonJS2({ - "node_modules/fast-glob/out/utils/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.string = exports2.stream = exports2.pattern = exports2.path = exports2.fs = exports2.errno = exports2.array = void 0; - var array = require_array3(); - exports2.array = array; - var errno = require_errno(); - exports2.errno = errno; - var fs = require_fs(); - exports2.fs = fs; - var path = require_path(); - exports2.path = path; - var pattern = require_pattern(); - exports2.pattern = pattern; - var stream = require_stream(); - exports2.stream = stream; - var string = require_string2(); - exports2.string = string; - } -}); -var require_tasks = __commonJS2({ - "node_modules/fast-glob/out/managers/tasks.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.convertPatternGroupToTask = exports2.convertPatternGroupsToTasks = exports2.groupPatternsByBaseDirectory = exports2.getNegativePatternsAsPositive = exports2.getPositivePatterns = exports2.convertPatternsToTasks = exports2.generate = void 0; - var utils = require_utils4(); - function generate(patterns, settings) { - const positivePatterns = getPositivePatterns(patterns); - const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); - const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings)); - const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings)); - const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, false); - const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, true); - return staticTasks.concat(dynamicTasks); - } - exports2.generate = generate; - function convertPatternsToTasks(positive, negative, dynamic) { - const tasks = []; - const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive); - const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive); - const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory); - const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory); - tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic)); - if ("." in insideCurrentDirectoryGroup) { - tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic)); - } else { - tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic)); - } - return tasks; - } - exports2.convertPatternsToTasks = convertPatternsToTasks; - function getPositivePatterns(patterns) { - return utils.pattern.getPositivePatterns(patterns); - } - exports2.getPositivePatterns = getPositivePatterns; - function getNegativePatternsAsPositive(patterns, ignore) { - const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore); - const positive = negative.map(utils.pattern.convertToPositivePattern); - return positive; - } - exports2.getNegativePatternsAsPositive = getNegativePatternsAsPositive; - function groupPatternsByBaseDirectory(patterns) { - const group = {}; - return patterns.reduce((collection, pattern) => { - const base = utils.pattern.getBaseDirectory(pattern); - if (base in collection) { - collection[base].push(pattern); - } else { - collection[base] = [pattern]; - } - return collection; - }, group); - } - exports2.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; - function convertPatternGroupsToTasks(positive, negative, dynamic) { - return Object.keys(positive).map((base) => { - return convertPatternGroupToTask(base, positive[base], negative, dynamic); - }); - } - exports2.convertPatternGroupsToTasks = convertPatternGroupsToTasks; - function convertPatternGroupToTask(base, positive, negative, dynamic) { - return { - dynamic, - positive, - negative, - base, - patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern)) - }; - } - exports2.convertPatternGroupToTask = convertPatternGroupToTask; - } -}); -var require_patterns = __commonJS2({ - "node_modules/fast-glob/out/managers/patterns.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.removeDuplicateSlashes = exports2.transform = void 0; - var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g; - function transform(patterns) { - return patterns.map((pattern) => removeDuplicateSlashes(pattern)); - } - exports2.transform = transform; - function removeDuplicateSlashes(pattern) { - return pattern.replace(DOUBLE_SLASH_RE, "/"); - } - exports2.removeDuplicateSlashes = removeDuplicateSlashes; - } -}); -var require_async2 = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.read = void 0; - function read(path, settings, callback) { - settings.fs.lstat(path, (lstatError, lstat) => { - if (lstatError !== null) { - callFailureCallback(callback, lstatError); - return; - } - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - callSuccessCallback(callback, lstat); - return; - } - settings.fs.stat(path, (statError, stat) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - callFailureCallback(callback, statError); - return; - } - callSuccessCallback(callback, lstat); - return; - } - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - callSuccessCallback(callback, stat); - }); - }); - } - exports2.read = read; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, result) { - callback(null, result); - } - } -}); -var require_sync2 = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.read = void 0; - function read(path, settings) { - const lstat = settings.fs.lstatSync(path); - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return lstat; - } - try { - const stat = settings.fs.statSync(path); - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - return stat; - } catch (error) { - if (!settings.throwErrorOnBrokenSymbolicLink) { - return lstat; - } - throw error; - } - } - exports2.read = read; - } -}); -var require_fs2 = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0; - var fs = require("fs"); - exports2.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync - }; - function createFileSystemAdapter(fsMethods) { - if (fsMethods === void 0) { - return exports2.FILE_SYSTEM_ADAPTER; - } - return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods); - } - exports2.createFileSystemAdapter = createFileSystemAdapter; - } -}); -var require_settings = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fs = require_fs2(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports2.default = Settings; - } -}); -var require_out = __commonJS2({ - "node_modules/@nodelib/fs.stat/out/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.statSync = exports2.stat = exports2.Settings = void 0; - var async = require_async2(); - var sync = require_sync2(); - var settings_1 = require_settings(); - exports2.Settings = settings_1.default; - function stat(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path, getSettings(), optionsOrSettingsOrCallback); - return; - } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - exports2.stat = stat; - function statSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); - } - exports2.statSync = statSync; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); -var require_queue_microtask = __commonJS2({ - "node_modules/queue-microtask/index.js"(exports2, module2) { - var promise; - module2.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => { - throw err; - }, 0)); - } -}); -var require_run_parallel = __commonJS2({ - "node_modules/run-parallel/index.js"(exports2, module2) { - module2.exports = runParallel; - var queueMicrotask2 = require_queue_microtask(); - function runParallel(tasks, cb) { - let results, pending, keys; - let isSync = true; - if (Array.isArray(tasks)) { - results = []; - pending = tasks.length; - } else { - keys = Object.keys(tasks); - results = {}; - pending = keys.length; - } - function done(err) { - function end() { - if (cb) - cb(err, results); - cb = null; - } - if (isSync) - queueMicrotask2(end); - else - end(); - } - function each(i, err, result) { - results[i] = result; - if (--pending === 0 || err) { - done(err); - } - } - if (!pending) { - done(null); - } else if (keys) { - keys.forEach(function(key) { - tasks[key](function(err, result) { - each(key, err, result); - }); - }); - } else { - tasks.forEach(function(task, i) { - task(function(err, result) { - each(i, err, result); - }); - }); - } - isSync = false; - } - } -}); -var require_constants4 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/constants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0; - var NODE_PROCESS_VERSION_PARTS = process.versions.node.split("."); - if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) { - throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`); - } - var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); - var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); - var SUPPORTED_MAJOR_VERSION = 10; - var SUPPORTED_MINOR_VERSION = 10; - var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; - var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; - exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; - } -}); -var require_fs3 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createDirentFromStats = void 0; - var DirentFromStats = class { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - }; - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - exports2.createDirentFromStats = createDirentFromStats; - } -}); -var require_utils5 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.fs = void 0; - var fs = require_fs3(); - exports2.fs = fs; - } -}); -var require_common3 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.joinPathSegments = void 0; - function joinPathSegments(a, b, separator) { - if (a.endsWith(separator)) { - return a + b; - } - return a + separator + b; - } - exports2.joinPathSegments = joinPathSegments; - } -}); -var require_async3 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0; - var fsStat = require_out(); - var rpl = require_run_parallel(); - var constants_1 = require_constants4(); - var utils = require_utils5(); - var common = require_common3(); - function read(directory, settings, callback) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - readdirWithFileTypes(directory, settings, callback); - return; - } - readdir(directory, settings, callback); - } - exports2.read = read; - function readdirWithFileTypes(directory, settings, callback) { - settings.fs.readdir(directory, { - withFileTypes: true - }, (readdirError, dirents) => { - if (readdirError !== null) { - callFailureCallback(callback, readdirError); - return; - } - const entries = dirents.map((dirent) => ({ - dirent, - name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) - })); - if (!settings.followSymbolicLinks) { - callSuccessCallback(callback, entries); - return; - } - const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings)); - rpl(tasks, (rplError, rplEntries) => { - if (rplError !== null) { - callFailureCallback(callback, rplError); - return; - } - callSuccessCallback(callback, rplEntries); - }); - }); - } - exports2.readdirWithFileTypes = readdirWithFileTypes; - function makeRplTaskEntry(entry, settings) { - return (done) => { - if (!entry.dirent.isSymbolicLink()) { - done(null, entry); - return; - } - settings.fs.stat(entry.path, (statError, stats) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - done(statError); - return; - } - done(null, entry); - return; - } - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - done(null, entry); - }); - }; - } - function readdir(directory, settings, callback) { - settings.fs.readdir(directory, (readdirError, names) => { - if (readdirError !== null) { - callFailureCallback(callback, readdirError); - return; - } - const tasks = names.map((name) => { - const path = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); - return (done) => { - fsStat.stat(path, settings.fsStatSettings, (error, stats) => { - if (error !== null) { - done(error); - return; - } - const entry = { - name, - path, - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - done(null, entry); - }); - }; - }); - rpl(tasks, (rplError, entries) => { - if (rplError !== null) { - callFailureCallback(callback, rplError); - return; - } - callSuccessCallback(callback, entries); - }); - }); - } - exports2.readdir = readdir; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, result) { - callback(null, result); - } - } -}); -var require_sync3 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0; - var fsStat = require_out(); - var constants_1 = require_constants4(); - var utils = require_utils5(); - var common = require_common3(); - function read(directory, settings) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings); - } - return readdir(directory, settings); - } - exports2.read = read; - function readdirWithFileTypes(directory, settings) { - const dirents = settings.fs.readdirSync(directory, { - withFileTypes: true - }); - return dirents.map((dirent) => { - const entry = { - dirent, - name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) - }; - if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { - try { - const stats = settings.fs.statSync(entry.path); - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - } catch (error) { - if (settings.throwErrorOnBrokenSymbolicLink) { - throw error; - } - } - } - return entry; - }); - } - exports2.readdirWithFileTypes = readdirWithFileTypes; - function readdir(directory, settings) { - const names = settings.fs.readdirSync(directory); - return names.map((name) => { - const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); - const stats = fsStat.statSync(entryPath, settings.fsStatSettings); - const entry = { - name, - path: entryPath, - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - return entry; - }); - } - exports2.readdir = readdir; - } -}); -var require_fs4 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0; - var fs = require("fs"); - exports2.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync - }; - function createFileSystemAdapter(fsMethods) { - if (fsMethods === void 0) { - return exports2.FILE_SYSTEM_ADAPTER; - } - return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods); - } - exports2.createFileSystemAdapter = createFileSystemAdapter; - } -}); -var require_settings2 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var fsStat = require_out(); - var fs = require_fs4(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.stats = this._getValue(this._options.stats, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - this.fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this.followSymbolicLinks, - fs: this.fs, - throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports2.default = Settings; - } -}); -var require_out2 = __commonJS2({ - "node_modules/@nodelib/fs.scandir/out/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.Settings = exports2.scandirSync = exports2.scandir = void 0; - var async = require_async3(); - var sync = require_sync3(); - var settings_1 = require_settings2(); - exports2.Settings = settings_1.default; - function scandir(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path, getSettings(), optionsOrSettingsOrCallback); - return; - } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - exports2.scandir = scandir; - function scandirSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); - } - exports2.scandirSync = scandirSync; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); -var require_reusify = __commonJS2({ - "node_modules/reusify/reusify.js"(exports2, module2) { - "use strict"; - function reusify(Constructor) { - var head = new Constructor(); - var tail = head; - function get() { - var current = head; - if (current.next) { - head = current.next; - } else { - head = new Constructor(); - tail = head; - } - current.next = null; - return current; - } - function release(obj) { - tail.next = obj; - tail = obj; - } - return { - get, - release - }; - } - module2.exports = reusify; - } -}); -var require_queue = __commonJS2({ - "node_modules/fastq/queue.js"(exports2, module2) { - "use strict"; - var reusify = require_reusify(); - function fastqueue(context, worker, concurrency) { - if (typeof context === "function") { - concurrency = worker; - worker = context; - context = null; - } - if (concurrency < 1) { - throw new Error("fastqueue concurrency must be greater than 1"); - } - var cache = reusify(Task); - var queueHead = null; - var queueTail = null; - var _running = 0; - var errorHandler = null; - var self2 = { - push, - drain: noop, - saturated: noop, - pause, - paused: false, - concurrency, - running, - resume, - idle, - length, - getQueue, - unshift, - empty: noop, - kill, - killAndDrain, - error - }; - return self2; - function running() { - return _running; - } - function pause() { - self2.paused = true; - } - function length() { - var current = queueHead; - var counter = 0; - while (current) { - current = current.next; - counter++; - } - return counter; - } - function getQueue() { - var current = queueHead; - var tasks = []; - while (current) { - tasks.push(current.value); - current = current.next; - } - return tasks; - } - function resume() { - if (!self2.paused) - return; - self2.paused = false; - for (var i = 0; i < self2.concurrency; i++) { - _running++; - release(); - } - } - function idle() { - return _running === 0 && self2.length() === 0; - } - function push(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - current.errorHandler = errorHandler; - if (_running === self2.concurrency || self2.paused) { - if (queueTail) { - queueTail.next = current; - queueTail = current; - } else { - queueHead = current; - queueTail = current; - self2.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - function unshift(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - if (_running === self2.concurrency || self2.paused) { - if (queueHead) { - current.next = queueHead; - queueHead = current; - } else { - queueHead = current; - queueTail = current; - self2.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - function release(holder) { - if (holder) { - cache.release(holder); - } - var next = queueHead; - if (next) { - if (!self2.paused) { - if (queueTail === queueHead) { - queueTail = null; - } - queueHead = next.next; - next.next = null; - worker.call(context, next.value, next.worked); - if (queueTail === null) { - self2.empty(); - } - } else { - _running--; - } - } else if (--_running === 0) { - self2.drain(); - } - } - function kill() { - queueHead = null; - queueTail = null; - self2.drain = noop; - } - function killAndDrain() { - queueHead = null; - queueTail = null; - self2.drain(); - self2.drain = noop; - } - function error(handler) { - errorHandler = handler; - } - } - function noop() { - } - function Task() { - this.value = null; - this.callback = noop; - this.next = null; - this.release = noop; - this.context = null; - this.errorHandler = null; - var self2 = this; - this.worked = function worked(err, result) { - var callback = self2.callback; - var errorHandler = self2.errorHandler; - var val = self2.value; - self2.value = null; - self2.callback = noop; - if (self2.errorHandler) { - errorHandler(err, val); - } - callback.call(self2.context, err, result); - self2.release(self2); - }; - } - function queueAsPromised(context, worker, concurrency) { - if (typeof context === "function") { - concurrency = worker; - worker = context; - context = null; - } - function asyncWrapper(arg, cb) { - worker.call(this, arg).then(function(res) { - cb(null, res); - }, cb); - } - var queue = fastqueue(context, asyncWrapper, concurrency); - var pushCb = queue.push; - var unshiftCb = queue.unshift; - queue.push = push; - queue.unshift = unshift; - queue.drained = drained; - return queue; - function push(value) { - var p = new Promise(function(resolve, reject) { - pushCb(value, function(err, result) { - if (err) { - reject(err); - return; - } - resolve(result); - }); - }); - p.catch(noop); - return p; - } - function unshift(value) { - var p = new Promise(function(resolve, reject) { - unshiftCb(value, function(err, result) { - if (err) { - reject(err); - return; - } - resolve(result); - }); - }); - p.catch(noop); - return p; - } - function drained() { - var previousDrain = queue.drain; - var p = new Promise(function(resolve) { - queue.drain = function() { - previousDrain(); - resolve(); - }; - }); - return p; - } - } - module2.exports = fastqueue; - module2.exports.promise = queueAsPromised; - } -}); -var require_common4 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.joinPathSegments = exports2.replacePathSegmentSeparator = exports2.isAppliedFilter = exports2.isFatalError = void 0; - function isFatalError(settings, error) { - if (settings.errorFilter === null) { - return true; - } - return !settings.errorFilter(error); - } - exports2.isFatalError = isFatalError; - function isAppliedFilter(filter, value) { - return filter === null || filter(value); - } - exports2.isAppliedFilter = isAppliedFilter; - function replacePathSegmentSeparator(filepath, separator) { - return filepath.split(/[/\\]/).join(separator); - } - exports2.replacePathSegmentSeparator = replacePathSegmentSeparator; - function joinPathSegments(a, b, separator) { - if (a === "") { - return b; - } - if (a.endsWith(separator)) { - return a + b; - } - return a + separator + b; - } - exports2.joinPathSegments = joinPathSegments; - } -}); -var require_reader = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var common = require_common4(); - var Reader = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); - } - }; - exports2.default = Reader; - } -}); -var require_async4 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var events_1 = require("events"); - var fsScandir = require_out2(); - var fastq = require_queue(); - var common = require_common4(); - var reader_1 = require_reader(); - var AsyncReader = class extends reader_1.default { - constructor(_root, _settings) { - super(_root, _settings); - this._settings = _settings; - this._scandir = fsScandir.scandir; - this._emitter = new events_1.EventEmitter(); - this._queue = fastq(this._worker.bind(this), this._settings.concurrency); - this._isFatalError = false; - this._isDestroyed = false; - this._queue.drain = () => { - if (!this._isFatalError) { - this._emitter.emit("end"); - } - }; - } - read() { - this._isFatalError = false; - this._isDestroyed = false; - setImmediate(() => { - this._pushToQueue(this._root, this._settings.basePath); - }); - return this._emitter; - } - get isDestroyed() { - return this._isDestroyed; - } - destroy() { - if (this._isDestroyed) { - throw new Error("The reader is already destroyed"); - } - this._isDestroyed = true; - this._queue.killAndDrain(); - } - onEntry(callback) { - this._emitter.on("entry", callback); - } - onError(callback) { - this._emitter.once("error", callback); - } - onEnd(callback) { - this._emitter.once("end", callback); - } - _pushToQueue(directory, base) { - const queueItem = { - directory, - base - }; - this._queue.push(queueItem, (error) => { - if (error !== null) { - this._handleError(error); - } - }); - } - _worker(item, done) { - this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { - if (error !== null) { - done(error, void 0); - return; - } - for (const entry of entries) { - this._handleEntry(entry, item.base); - } - done(null, void 0); - }); - } - _handleError(error) { - if (this._isDestroyed || !common.isFatalError(this._settings, error)) { - return; - } - this._isFatalError = true; - this._isDestroyed = true; - this._emitter.emit("error", error); - } - _handleEntry(entry, base) { - if (this._isDestroyed || this._isFatalError) { - return; - } - const fullpath = entry.path; - if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._emitEntry(entry); - } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); - } - } - _emitEntry(entry) { - this._emitter.emit("entry", entry); - } - }; - exports2.default = AsyncReader; - } -}); -var require_async5 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var async_1 = require_async4(); - var AsyncProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._storage = []; - } - read(callback) { - this._reader.onError((error) => { - callFailureCallback(callback, error); - }); - this._reader.onEntry((entry) => { - this._storage.push(entry); - }); - this._reader.onEnd(() => { - callSuccessCallback(callback, this._storage); - }); - this._reader.read(); - } - }; - exports2.default = AsyncProvider; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, entries) { - callback(null, entries); - } - } -}); -var require_stream2 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var stream_1 = require("stream"); - var async_1 = require_async4(); - var StreamProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._stream = new stream_1.Readable({ - objectMode: true, - read: () => { - }, - destroy: () => { - if (!this._reader.isDestroyed) { - this._reader.destroy(); - } - } - }); - } - read() { - this._reader.onError((error) => { - this._stream.emit("error", error); - }); - this._reader.onEntry((entry) => { - this._stream.push(entry); - }); - this._reader.onEnd(() => { - this._stream.push(null); - }); - this._reader.read(); - return this._stream; - } - }; - exports2.default = StreamProvider; - } -}); -var require_sync4 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fsScandir = require_out2(); - var common = require_common4(); - var reader_1 = require_reader(); - var SyncReader = class extends reader_1.default { - constructor() { - super(...arguments); - this._scandir = fsScandir.scandirSync; - this._storage = []; - this._queue = /* @__PURE__ */ new Set(); - } - read() { - this._pushToQueue(this._root, this._settings.basePath); - this._handleQueue(); - return this._storage; - } - _pushToQueue(directory, base) { - this._queue.add({ - directory, - base - }); - } - _handleQueue() { - for (const item of this._queue.values()) { - this._handleDirectory(item.directory, item.base); - } - } - _handleDirectory(directory, base) { - try { - const entries = this._scandir(directory, this._settings.fsScandirSettings); - for (const entry of entries) { - this._handleEntry(entry, base); - } - } catch (error) { - this._handleError(error); - } - } - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; - } - throw error; - } - _handleEntry(entry, base) { - const fullpath = entry.path; - if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._pushToStorage(entry); - } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); - } - } - _pushToStorage(entry) { - this._storage.push(entry); - } - }; - exports2.default = SyncReader; - } -}); -var require_sync5 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var sync_1 = require_sync4(); - var SyncProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new sync_1.default(this._root, this._settings); - } - read() { - return this._reader.read(); - } - }; - exports2.default = SyncProvider; - } -}); -var require_settings3 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var fsScandir = require_out2(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.basePath = this._getValue(this._options.basePath, void 0); - this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); - this.deepFilter = this._getValue(this._options.deepFilter, null); - this.entryFilter = this._getValue(this._options.entryFilter, null); - this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.fsScandirSettings = new fsScandir.Settings({ - followSymbolicLinks: this._options.followSymbolicLinks, - fs: this._options.fs, - pathSegmentSeparator: this._options.pathSegmentSeparator, - stats: this._options.stats, - throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports2.default = Settings; - } -}); -var require_out3 = __commonJS2({ - "node_modules/@nodelib/fs.walk/out/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.Settings = exports2.walkStream = exports2.walkSync = exports2.walk = void 0; - var async_1 = require_async5(); - var stream_1 = require_stream2(); - var sync_1 = require_sync5(); - var settings_1 = require_settings3(); - exports2.Settings = settings_1.default; - function walk(directory, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); - return; - } - new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); - } - exports2.walk = walk; - function walkSync(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new sync_1.default(directory, settings); - return provider.read(); - } - exports2.walkSync = walkSync; - function walkStream(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new stream_1.default(directory, settings); - return provider.read(); - } - exports2.walkStream = walkStream; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); -var require_reader2 = __commonJS2({ - "node_modules/fast-glob/out/readers/reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var fsStat = require_out(); - var utils = require_utils4(); - var Reader = class { - constructor(_settings) { - this._settings = _settings; - this._fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this._settings.followSymbolicLinks, - fs: this._settings.fs, - throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks - }); - } - _getFullEntryPath(filepath) { - return path.resolve(this._settings.cwd, filepath); - } - _makeEntry(stats, pattern) { - const entry = { - name: pattern, - path: pattern, - dirent: utils.fs.createDirentFromStats(pattern, stats) - }; - if (this._settings.stats) { - entry.stats = stats; - } - return entry; - } - _isFatalError(error) { - return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; - } - }; - exports2.default = Reader; - } -}); -var require_stream3 = __commonJS2({ - "node_modules/fast-glob/out/readers/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var stream_1 = require("stream"); - var fsStat = require_out(); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var ReaderStream = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkStream = fsWalk.walkStream; - this._stat = fsStat.stat; - } - dynamic(root, options) { - return this._walkStream(root, options); - } - static(patterns, options) { - const filepaths = patterns.map(this._getFullEntryPath, this); - const stream = new stream_1.PassThrough({ - objectMode: true - }); - stream._write = (index, _enc, done) => { - return this._getEntry(filepaths[index], patterns[index], options).then((entry) => { - if (entry !== null && options.entryFilter(entry)) { - stream.push(entry); - } - if (index === filepaths.length - 1) { - stream.end(); - } - done(); - }).catch(done); - }; - for (let i = 0; i < filepaths.length; i++) { - stream.write(i); - } - return stream; - } - _getEntry(filepath, pattern, options) { - return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => { - if (options.errorFilter(error)) { - return null; - } - throw error; - }); - } - _getStat(filepath) { - return new Promise((resolve, reject) => { - this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve(stats) : reject(error); - }); - }); - } - }; - exports2.default = ReaderStream; - } -}); -var require_async6 = __commonJS2({ - "node_modules/fast-glob/out/readers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var stream_1 = require_stream3(); - var ReaderAsync = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkAsync = fsWalk.walk; - this._readerStream = new stream_1.default(this._settings); - } - dynamic(root, options) { - return new Promise((resolve, reject) => { - this._walkAsync(root, options, (error, entries) => { - if (error === null) { - resolve(entries); - } else { - reject(error); - } - }); - }); - } - async static(patterns, options) { - const entries = []; - const stream = this._readerStream.static(patterns, options); - return new Promise((resolve, reject) => { - stream.once("error", reject); - stream.on("data", (entry) => entries.push(entry)); - stream.once("end", () => resolve(entries)); - }); - } - }; - exports2.default = ReaderAsync; - } -}); -var require_matcher = __commonJS2({ - "node_modules/fast-glob/out/providers/matchers/matcher.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var Matcher = class { - constructor(_patterns, _settings, _micromatchOptions) { - this._patterns = _patterns; - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this._storage = []; - this._fillStorage(); - } - _fillStorage() { - const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns); - for (const pattern of patterns) { - const segments = this._getPatternSegments(pattern); - const sections = this._splitSegmentsIntoSections(segments); - this._storage.push({ - complete: sections.length <= 1, - pattern, - segments, - sections - }); - } - } - _getPatternSegments(pattern) { - const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions); - return parts.map((part) => { - const dynamic = utils.pattern.isDynamicPattern(part, this._settings); - if (!dynamic) { - return { - dynamic: false, - pattern: part - }; - } - return { - dynamic: true, - pattern: part, - patternRe: utils.pattern.makeRe(part, this._micromatchOptions) - }; - }); - } - _splitSegmentsIntoSections(segments) { - return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern)); - } - }; - exports2.default = Matcher; - } -}); -var require_partial = __commonJS2({ - "node_modules/fast-glob/out/providers/matchers/partial.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var matcher_1 = require_matcher(); - var PartialMatcher = class extends matcher_1.default { - match(filepath) { - const parts = filepath.split("/"); - const levels = parts.length; - const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels); - for (const pattern of patterns) { - const section = pattern.sections[0]; - if (!pattern.complete && levels > section.length) { - return true; - } - const match = parts.every((part, index) => { - const segment = pattern.segments[index]; - if (segment.dynamic && segment.patternRe.test(part)) { - return true; - } - if (!segment.dynamic && segment.pattern === part) { - return true; - } - return false; - }); - if (match) { - return true; - } - } - return false; - } - }; - exports2.default = PartialMatcher; - } -}); -var require_deep = __commonJS2({ - "node_modules/fast-glob/out/providers/filters/deep.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var partial_1 = require_partial(); - var DeepFilter = class { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - } - getFilter(basePath, positive, negative) { - const matcher = this._getMatcher(positive); - const negativeRe = this._getNegativePatternsRe(negative); - return (entry) => this._filter(basePath, entry, matcher, negativeRe); - } - _getMatcher(patterns) { - return new partial_1.default(patterns, this._settings, this._micromatchOptions); - } - _getNegativePatternsRe(patterns) { - const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern); - return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); - } - _filter(basePath, entry, matcher, negativeRe) { - if (this._isSkippedByDeep(basePath, entry.path)) { - return false; - } - if (this._isSkippedSymbolicLink(entry)) { - return false; - } - const filepath = utils.path.removeLeadingDotSegment(entry.path); - if (this._isSkippedByPositivePatterns(filepath, matcher)) { - return false; - } - return this._isSkippedByNegativePatterns(filepath, negativeRe); - } - _isSkippedByDeep(basePath, entryPath) { - if (this._settings.deep === Infinity) { - return false; - } - return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; - } - _getEntryLevel(basePath, entryPath) { - const entryPathDepth = entryPath.split("/").length; - if (basePath === "") { - return entryPathDepth; - } - const basePathDepth = basePath.split("/").length; - return entryPathDepth - basePathDepth; - } - _isSkippedSymbolicLink(entry) { - return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); - } - _isSkippedByPositivePatterns(entryPath, matcher) { - return !this._settings.baseNameMatch && !matcher.match(entryPath); - } - _isSkippedByNegativePatterns(entryPath, patternsRe) { - return !utils.pattern.matchAny(entryPath, patternsRe); - } - }; - exports2.default = DeepFilter; - } -}); -var require_entry = __commonJS2({ - "node_modules/fast-glob/out/providers/filters/entry.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var EntryFilter = class { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this.index = /* @__PURE__ */ new Map(); - } - getFilter(positive, negative) { - const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions); - const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions); - return (entry) => this._filter(entry, positiveRe, negativeRe); - } - _filter(entry, positiveRe, negativeRe) { - if (this._settings.unique && this._isDuplicateEntry(entry)) { - return false; - } - if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { - return false; - } - if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { - return false; - } - const filepath = this._settings.baseNameMatch ? entry.name : entry.path; - const isDirectory = entry.dirent.isDirectory(); - const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(entry.path, negativeRe, isDirectory); - if (this._settings.unique && isMatched) { - this._createIndexRecord(entry); - } - return isMatched; - } - _isDuplicateEntry(entry) { - return this.index.has(entry.path); - } - _createIndexRecord(entry) { - this.index.set(entry.path, void 0); - } - _onlyFileFilter(entry) { - return this._settings.onlyFiles && !entry.dirent.isFile(); - } - _onlyDirectoryFilter(entry) { - return this._settings.onlyDirectories && !entry.dirent.isDirectory(); - } - _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { - if (!this._settings.absolute) { - return false; - } - const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath); - return utils.pattern.matchAny(fullpath, patternsRe); - } - _isMatchToPatterns(entryPath, patternsRe, isDirectory) { - const filepath = utils.path.removeLeadingDotSegment(entryPath); - const isMatched = utils.pattern.matchAny(filepath, patternsRe); - if (!isMatched && isDirectory) { - return utils.pattern.matchAny(filepath + "/", patternsRe); - } - return isMatched; - } - }; - exports2.default = EntryFilter; - } -}); -var require_error = __commonJS2({ - "node_modules/fast-glob/out/providers/filters/error.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var ErrorFilter = class { - constructor(_settings) { - this._settings = _settings; - } - getFilter() { - return (error) => this._isNonFatalError(error); - } - _isNonFatalError(error) { - return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors; - } - }; - exports2.default = ErrorFilter; - } -}); -var require_entry2 = __commonJS2({ - "node_modules/fast-glob/out/providers/transformers/entry.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var utils = require_utils4(); - var EntryTransformer = class { - constructor(_settings) { - this._settings = _settings; - } - getTransformer() { - return (entry) => this._transform(entry); - } - _transform(entry) { - let filepath = entry.path; - if (this._settings.absolute) { - filepath = utils.path.makeAbsolute(this._settings.cwd, filepath); - filepath = utils.path.unixify(filepath); - } - if (this._settings.markDirectories && entry.dirent.isDirectory()) { - filepath += "/"; - } - if (!this._settings.objectMode) { - return filepath; - } - return Object.assign(Object.assign({}, entry), { - path: filepath - }); - } - }; - exports2.default = EntryTransformer; - } -}); -var require_provider = __commonJS2({ - "node_modules/fast-glob/out/providers/provider.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var path = require("path"); - var deep_1 = require_deep(); - var entry_1 = require_entry(); - var error_1 = require_error(); - var entry_2 = require_entry2(); - var Provider = class { - constructor(_settings) { - this._settings = _settings; - this.errorFilter = new error_1.default(this._settings); - this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); - this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); - this.entryTransformer = new entry_2.default(this._settings); - } - _getRootDirectory(task) { - return path.resolve(this._settings.cwd, task.base); - } - _getReaderOptions(task) { - const basePath = task.base === "." ? "" : task.base; - return { - basePath, - pathSegmentSeparator: "/", - concurrency: this._settings.concurrency, - deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), - entryFilter: this.entryFilter.getFilter(task.positive, task.negative), - errorFilter: this.errorFilter.getFilter(), - followSymbolicLinks: this._settings.followSymbolicLinks, - fs: this._settings.fs, - stats: this._settings.stats, - throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, - transform: this.entryTransformer.getTransformer() - }; - } - _getMicromatchOptions() { - return { - dot: this._settings.dot, - matchBase: this._settings.baseNameMatch, - nobrace: !this._settings.braceExpansion, - nocase: !this._settings.caseSensitiveMatch, - noext: !this._settings.extglob, - noglobstar: !this._settings.globstar, - posix: true, - strictSlashes: false - }; - } - }; - exports2.default = Provider; - } -}); -var require_async7 = __commonJS2({ - "node_modules/fast-glob/out/providers/async.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var async_1 = require_async6(); - var provider_1 = require_provider(); - var ProviderAsync = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new async_1.default(this._settings); - } - async read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = await this.api(root, task, options); - return entries.map((entry) => options.transform(entry)); - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports2.default = ProviderAsync; - } -}); -var require_stream4 = __commonJS2({ - "node_modules/fast-glob/out/providers/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var stream_1 = require("stream"); - var stream_2 = require_stream3(); - var provider_1 = require_provider(); - var ProviderStream = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new stream_2.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const source = this.api(root, task, options); - const destination = new stream_1.Readable({ - objectMode: true, - read: () => { - } - }); - source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options.transform(entry))).once("end", () => destination.emit("end")); - destination.once("close", () => source.destroy()); - return destination; - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports2.default = ProviderStream; - } -}); -var require_sync6 = __commonJS2({ - "node_modules/fast-glob/out/readers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var fsStat = require_out(); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var ReaderSync = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkSync = fsWalk.walkSync; - this._statSync = fsStat.statSync; - } - dynamic(root, options) { - return this._walkSync(root, options); - } - static(patterns, options) { - const entries = []; - for (const pattern of patterns) { - const filepath = this._getFullEntryPath(pattern); - const entry = this._getEntry(filepath, pattern, options); - if (entry === null || !options.entryFilter(entry)) { - continue; - } - entries.push(entry); - } - return entries; - } - _getEntry(filepath, pattern, options) { - try { - const stats = this._getStat(filepath); - return this._makeEntry(stats, pattern); - } catch (error) { - if (options.errorFilter(error)) { - return null; - } - throw error; - } - } - _getStat(filepath) { - return this._statSync(filepath, this._fsStatSettings); - } - }; - exports2.default = ReaderSync; - } -}); -var require_sync7 = __commonJS2({ - "node_modules/fast-glob/out/providers/sync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var sync_1 = require_sync6(); - var provider_1 = require_provider(); - var ProviderSync = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new sync_1.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = this.api(root, task, options); - return entries.map(options.transform); - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports2.default = ProviderSync; - } -}); -var require_settings4 = __commonJS2({ - "node_modules/fast-glob/out/settings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; - var fs = require("fs"); - var os = require("os"); - var CPU_COUNT = Math.max(os.cpus().length, 1); - exports2.DEFAULT_FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - lstatSync: fs.lstatSync, - stat: fs.stat, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync - }; - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.absolute = this._getValue(this._options.absolute, false); - this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); - this.braceExpansion = this._getValue(this._options.braceExpansion, true); - this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); - this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); - this.cwd = this._getValue(this._options.cwd, process.cwd()); - this.deep = this._getValue(this._options.deep, Infinity); - this.dot = this._getValue(this._options.dot, false); - this.extglob = this._getValue(this._options.extglob, true); - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); - this.fs = this._getFileSystemMethods(this._options.fs); - this.globstar = this._getValue(this._options.globstar, true); - this.ignore = this._getValue(this._options.ignore, []); - this.markDirectories = this._getValue(this._options.markDirectories, false); - this.objectMode = this._getValue(this._options.objectMode, false); - this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); - this.onlyFiles = this._getValue(this._options.onlyFiles, true); - this.stats = this._getValue(this._options.stats, false); - this.suppressErrors = this._getValue(this._options.suppressErrors, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); - this.unique = this._getValue(this._options.unique, true); - if (this.onlyDirectories) { - this.onlyFiles = false; - } - if (this.stats) { - this.objectMode = true; - } - } - _getValue(option, value) { - return option === void 0 ? value : option; - } - _getFileSystemMethods(methods = {}) { - return Object.assign(Object.assign({}, exports2.DEFAULT_FILE_SYSTEM_ADAPTER), methods); - } - }; - exports2.default = Settings; - } -}); -var require_out4 = __commonJS2({ - "node_modules/fast-glob/out/index.js"(exports2, module2) { - "use strict"; - var taskManager = require_tasks(); - var patternManager = require_patterns(); - var async_1 = require_async7(); - var stream_1 = require_stream4(); - var sync_1 = require_sync7(); - var settings_1 = require_settings4(); - var utils = require_utils4(); - async function FastGlob(source, options) { - assertPatternsInput(source); - const works = getWorks(source, async_1.default, options); - const result = await Promise.all(works); - return utils.array.flatten(result); - } - (function(FastGlob2) { - function sync(source, options) { - assertPatternsInput(source); - const works = getWorks(source, sync_1.default, options); - return utils.array.flatten(works); - } - FastGlob2.sync = sync; - function stream(source, options) { - assertPatternsInput(source); - const works = getWorks(source, stream_1.default, options); - return utils.stream.merge(works); - } - FastGlob2.stream = stream; - function generateTasks(source, options) { - assertPatternsInput(source); - const patterns = patternManager.transform([].concat(source)); - const settings = new settings_1.default(options); - return taskManager.generate(patterns, settings); - } - FastGlob2.generateTasks = generateTasks; - function isDynamicPattern(source, options) { - assertPatternsInput(source); - const settings = new settings_1.default(options); - return utils.pattern.isDynamicPattern(source, settings); - } - FastGlob2.isDynamicPattern = isDynamicPattern; - function escapePath(source) { - assertPatternsInput(source); - return utils.path.escape(source); - } - FastGlob2.escapePath = escapePath; - })(FastGlob || (FastGlob = {})); - function getWorks(source, _Provider, options) { - const patterns = patternManager.transform([].concat(source)); - const settings = new settings_1.default(options); - const tasks = taskManager.generate(patterns, settings); - const provider = new _Provider(settings); - return tasks.map(provider.read, provider); - } - function assertPatternsInput(input) { - const source = [].concat(input); - const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); - if (!isValidSource) { - throw new TypeError("Patterns must be a string (non empty) or an array of strings"); - } - } - module2.exports = FastGlob; - } -}); -var require_uniq_by_key = __commonJS2({ - "src/utils/uniq-by-key.js"(exports2, module2) { - "use strict"; - function uniqByKey(array, key) { - const result = []; - const seen = /* @__PURE__ */ new Set(); - for (const element of array) { - const value = element[key]; - if (!seen.has(value)) { - seen.add(value); - result.push(element); - } - } - return result; - } - module2.exports = uniqByKey; - } -}); -var require_create_language = __commonJS2({ - "src/utils/create-language.js"(exports2, module2) { - "use strict"; - module2.exports = function(linguistData, override) { - const { - languageId - } = linguistData, rest = _objectWithoutProperties(linguistData, _excluded4); - return Object.assign(Object.assign({ - linguistLanguageId: languageId - }, rest), override(linguistData)); - }; - } -}); -var require_ast = __commonJS2({ - "node_modules/esutils/lib/ast.js"(exports2, module2) { - (function() { - "use strict"; - function isExpression(node) { - if (node == null) { - return false; - } - switch (node.type) { - case "ArrayExpression": - case "AssignmentExpression": - case "BinaryExpression": - case "CallExpression": - case "ConditionalExpression": - case "FunctionExpression": - case "Identifier": - case "Literal": - case "LogicalExpression": - case "MemberExpression": - case "NewExpression": - case "ObjectExpression": - case "SequenceExpression": - case "ThisExpression": - case "UnaryExpression": - case "UpdateExpression": - return true; - } - return false; - } - function isIterationStatement(node) { - if (node == null) { - return false; - } - switch (node.type) { - case "DoWhileStatement": - case "ForInStatement": - case "ForStatement": - case "WhileStatement": - return true; - } - return false; - } - function isStatement(node) { - if (node == null) { - return false; - } - switch (node.type) { - case "BlockStatement": - case "BreakStatement": - case "ContinueStatement": - case "DebuggerStatement": - case "DoWhileStatement": - case "EmptyStatement": - case "ExpressionStatement": - case "ForInStatement": - case "ForStatement": - case "IfStatement": - case "LabeledStatement": - case "ReturnStatement": - case "SwitchStatement": - case "ThrowStatement": - case "TryStatement": - case "VariableDeclaration": - case "WhileStatement": - case "WithStatement": - return true; - } - return false; - } - function isSourceElement(node) { - return isStatement(node) || node != null && node.type === "FunctionDeclaration"; - } - function trailingStatement(node) { - switch (node.type) { - case "IfStatement": - if (node.alternate != null) { - return node.alternate; - } - return node.consequent; - case "LabeledStatement": - case "ForStatement": - case "ForInStatement": - case "WhileStatement": - case "WithStatement": - return node.body; - } - return null; - } - function isProblematicIfStatement(node) { - var current; - if (node.type !== "IfStatement") { - return false; - } - if (node.alternate == null) { - return false; - } - current = node.consequent; - do { - if (current.type === "IfStatement") { - if (current.alternate == null) { - return true; - } - } - current = trailingStatement(current); - } while (current); - return false; - } - module2.exports = { - isExpression, - isStatement, - isIterationStatement, - isSourceElement, - isProblematicIfStatement, - trailingStatement - }; - })(); - } -}); -var require_code = __commonJS2({ - "node_modules/esutils/lib/code.js"(exports2, module2) { - (function() { - "use strict"; - var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; - ES5Regex = { - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, - NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ - }; - ES6Regex = { - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, - NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ - }; - function isDecimalDigit(ch2) { - return 48 <= ch2 && ch2 <= 57; - } - function isHexDigit(ch2) { - return 48 <= ch2 && ch2 <= 57 || 97 <= ch2 && ch2 <= 102 || 65 <= ch2 && ch2 <= 70; - } - function isOctalDigit(ch2) { - return ch2 >= 48 && ch2 <= 55; - } - NON_ASCII_WHITESPACES = [5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279]; - function isWhiteSpace(ch2) { - return ch2 === 32 || ch2 === 9 || ch2 === 11 || ch2 === 12 || ch2 === 160 || ch2 >= 5760 && NON_ASCII_WHITESPACES.indexOf(ch2) >= 0; - } - function isLineTerminator(ch2) { - return ch2 === 10 || ch2 === 13 || ch2 === 8232 || ch2 === 8233; - } - function fromCodePoint(cp) { - if (cp <= 65535) { - return String.fromCharCode(cp); - } - var cu1 = String.fromCharCode(Math.floor((cp - 65536) / 1024) + 55296); - var cu2 = String.fromCharCode((cp - 65536) % 1024 + 56320); - return cu1 + cu2; - } - IDENTIFIER_START = new Array(128); - for (ch = 0; ch < 128; ++ch) { - IDENTIFIER_START[ch] = ch >= 97 && ch <= 122 || ch >= 65 && ch <= 90 || ch === 36 || ch === 95; - } - IDENTIFIER_PART = new Array(128); - for (ch = 0; ch < 128; ++ch) { - IDENTIFIER_PART[ch] = ch >= 97 && ch <= 122 || ch >= 65 && ch <= 90 || ch >= 48 && ch <= 57 || ch === 36 || ch === 95; - } - function isIdentifierStartES5(ch2) { - return ch2 < 128 ? IDENTIFIER_START[ch2] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2)); - } - function isIdentifierPartES5(ch2) { - return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2)); - } - function isIdentifierStartES6(ch2) { - return ch2 < 128 ? IDENTIFIER_START[ch2] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2)); - } - function isIdentifierPartES6(ch2) { - return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2)); - } - module2.exports = { - isDecimalDigit, - isHexDigit, - isOctalDigit, - isWhiteSpace, - isLineTerminator, - isIdentifierStartES5, - isIdentifierPartES5, - isIdentifierStartES6, - isIdentifierPartES6 - }; - })(); - } -}); -var require_keyword2 = __commonJS2({ - "node_modules/esutils/lib/keyword.js"(exports2, module2) { - (function() { - "use strict"; - var code = require_code(); - function isStrictModeReservedWordES6(id) { - switch (id) { - case "implements": - case "interface": - case "package": - case "private": - case "protected": - case "public": - case "static": - case "let": - return true; - default: - return false; - } - } - function isKeywordES5(id, strict) { - if (!strict && id === "yield") { - return false; - } - return isKeywordES6(id, strict); - } - function isKeywordES6(id, strict) { - if (strict && isStrictModeReservedWordES6(id)) { - return true; - } - switch (id.length) { - case 2: - return id === "if" || id === "in" || id === "do"; - case 3: - return id === "var" || id === "for" || id === "new" || id === "try"; - case 4: - return id === "this" || id === "else" || id === "case" || id === "void" || id === "with" || id === "enum"; - case 5: - return id === "while" || id === "break" || id === "catch" || id === "throw" || id === "const" || id === "yield" || id === "class" || id === "super"; - case 6: - return id === "return" || id === "typeof" || id === "delete" || id === "switch" || id === "export" || id === "import"; - case 7: - return id === "default" || id === "finally" || id === "extends"; - case 8: - return id === "function" || id === "continue" || id === "debugger"; - case 10: - return id === "instanceof"; - default: - return false; - } - } - function isReservedWordES5(id, strict) { - return id === "null" || id === "true" || id === "false" || isKeywordES5(id, strict); - } - function isReservedWordES6(id, strict) { - return id === "null" || id === "true" || id === "false" || isKeywordES6(id, strict); - } - function isRestrictedWord(id) { - return id === "eval" || id === "arguments"; - } - function isIdentifierNameES5(id) { - var i, iz, ch; - if (id.length === 0) { - return false; - } - ch = id.charCodeAt(0); - if (!code.isIdentifierStartES5(ch)) { - return false; - } - for (i = 1, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (!code.isIdentifierPartES5(ch)) { - return false; - } - } - return true; - } - function decodeUtf16(lead, trail) { - return (lead - 55296) * 1024 + (trail - 56320) + 65536; - } - function isIdentifierNameES6(id) { - var i, iz, ch, lowCh, check; - if (id.length === 0) { - return false; - } - check = code.isIdentifierStartES6; - for (i = 0, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (55296 <= ch && ch <= 56319) { - ++i; - if (i >= iz) { - return false; - } - lowCh = id.charCodeAt(i); - if (!(56320 <= lowCh && lowCh <= 57343)) { - return false; - } - ch = decodeUtf16(ch, lowCh); - } - if (!check(ch)) { - return false; - } - check = code.isIdentifierPartES6; - } - return true; - } - function isIdentifierES5(id, strict) { - return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); - } - function isIdentifierES6(id, strict) { - return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); - } - module2.exports = { - isKeywordES5, - isKeywordES6, - isReservedWordES5, - isReservedWordES6, - isRestrictedWord, - isIdentifierNameES5, - isIdentifierNameES6, - isIdentifierES5, - isIdentifierES6 - }; - })(); - } -}); -var require_utils6 = __commonJS2({ - "node_modules/esutils/lib/utils.js"(exports2) { - (function() { - "use strict"; - exports2.ast = require_ast(); - exports2.code = require_code(); - exports2.keyword = require_keyword2(); - })(); - } -}); -var require_is_block_comment = __commonJS2({ - "src/language-js/utils/is-block-comment.js"(exports2, module2) { - "use strict"; - var BLOCK_COMMENT_TYPES = /* @__PURE__ */ new Set(["Block", "CommentBlock", "MultiLine"]); - var isBlockComment = (comment) => BLOCK_COMMENT_TYPES.has(comment === null || comment === void 0 ? void 0 : comment.type); - module2.exports = isBlockComment; - } -}); -var require_is_node_matches = __commonJS2({ - "src/language-js/utils/is-node-matches.js"(exports2, module2) { - "use strict"; - function isNodeMatchesNameOrPath(node, nameOrPath) { - const names = nameOrPath.split("."); - for (let index = names.length - 1; index >= 0; index--) { - const name = names[index]; - if (index === 0) { - return node.type === "Identifier" && node.name === name; - } - if (node.type !== "MemberExpression" || node.optional || node.computed || node.property.type !== "Identifier" || node.property.name !== name) { - return false; - } - node = node.object; - } - } - function isNodeMatches(node, nameOrPaths) { - return nameOrPaths.some((nameOrPath) => isNodeMatchesNameOrPath(node, nameOrPath)); - } - module2.exports = isNodeMatches; - } -}); -var require_utils7 = __commonJS2({ - "src/language-js/utils/index.js"(exports2, module2) { - "use strict"; - var isIdentifierName = require_utils6().keyword.isIdentifierNameES5; - var { - getLast, - hasNewline, - skipWhitespace, - isNonEmptyArray, - isNextLineEmptyAfterIndex, - getStringWidth - } = require_util(); - var { - locStart, - locEnd, - hasSameLocStart - } = require_loc(); - var isBlockComment = require_is_block_comment(); - var isNodeMatches = require_is_node_matches(); - var NON_LINE_TERMINATING_WHITE_SPACE = "(?:(?=.)\\s)"; - var FLOW_SHORTHAND_ANNOTATION = new RegExp(`^${NON_LINE_TERMINATING_WHITE_SPACE}*:`); - var FLOW_ANNOTATION = new RegExp(`^${NON_LINE_TERMINATING_WHITE_SPACE}*::`); - function hasFlowShorthandAnnotationComment(node) { - var _node$extra, _node$trailingComment; - return ((_node$extra = node.extra) === null || _node$extra === void 0 ? void 0 : _node$extra.parenthesized) && isBlockComment((_node$trailingComment = node.trailingComments) === null || _node$trailingComment === void 0 ? void 0 : _node$trailingComment[0]) && FLOW_SHORTHAND_ANNOTATION.test(node.trailingComments[0].value); - } - function hasFlowAnnotationComment(comments) { - const firstComment = comments === null || comments === void 0 ? void 0 : comments[0]; - return isBlockComment(firstComment) && FLOW_ANNOTATION.test(firstComment.value); - } - function hasNode(node, fn) { - if (!node || typeof node !== "object") { - return false; - } - if (Array.isArray(node)) { - return node.some((value) => hasNode(value, fn)); - } - const result = fn(node); - return typeof result === "boolean" ? result : Object.values(node).some((value) => hasNode(value, fn)); - } - function hasNakedLeftSide(node) { - return node.type === "AssignmentExpression" || node.type === "BinaryExpression" || node.type === "LogicalExpression" || node.type === "NGPipeExpression" || node.type === "ConditionalExpression" || isCallExpression(node) || isMemberExpression(node) || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "BindExpression" || node.type === "UpdateExpression" && !node.prefix || isTSTypeExpression(node) || node.type === "TSNonNullExpression"; - } - function getLeftSide(node) { - var _ref2, _ref3, _ref4, _ref5, _ref6, _node$left; - if (node.expressions) { - return node.expressions[0]; - } - return (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_ref6 = (_node$left = node.left) !== null && _node$left !== void 0 ? _node$left : node.test) !== null && _ref6 !== void 0 ? _ref6 : node.callee) !== null && _ref5 !== void 0 ? _ref5 : node.object) !== null && _ref4 !== void 0 ? _ref4 : node.tag) !== null && _ref3 !== void 0 ? _ref3 : node.argument) !== null && _ref2 !== void 0 ? _ref2 : node.expression; - } - function getLeftSidePathName(path, node) { - if (node.expressions) { - return ["expressions", 0]; - } - if (node.left) { - return ["left"]; - } - if (node.test) { - return ["test"]; - } - if (node.object) { - return ["object"]; - } - if (node.callee) { - return ["callee"]; - } - if (node.tag) { - return ["tag"]; - } - if (node.argument) { - return ["argument"]; - } - if (node.expression) { - return ["expression"]; - } - throw new Error("Unexpected node has no left side."); - } - function createTypeCheckFunction(types) { - types = new Set(types); - return (node) => types.has(node === null || node === void 0 ? void 0 : node.type); - } - var isLineComment = createTypeCheckFunction(["Line", "CommentLine", "SingleLine", "HashbangComment", "HTMLOpen", "HTMLClose"]); - var isExportDeclaration = createTypeCheckFunction(["ExportDefaultDeclaration", "ExportDefaultSpecifier", "DeclareExportDeclaration", "ExportNamedDeclaration", "ExportAllDeclaration"]); - function getParentExportDeclaration(path) { - const parentNode = path.getParentNode(); - if (path.getName() === "declaration" && isExportDeclaration(parentNode)) { - return parentNode; - } - return null; - } - var isLiteral = createTypeCheckFunction(["BooleanLiteral", "DirectiveLiteral", "Literal", "NullLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "RegExpLiteral", "StringLiteral", "TemplateLiteral", "TSTypeLiteral", "JSXText"]); - function isNumericLiteral(node) { - return node.type === "NumericLiteral" || node.type === "Literal" && typeof node.value === "number"; - } - function isSignedNumericLiteral(node) { - return node.type === "UnaryExpression" && (node.operator === "+" || node.operator === "-") && isNumericLiteral(node.argument); - } - function isStringLiteral(node) { - return node.type === "StringLiteral" || node.type === "Literal" && typeof node.value === "string"; - } - var isObjectType = createTypeCheckFunction(["ObjectTypeAnnotation", "TSTypeLiteral", "TSMappedType"]); - var isFunctionOrArrowExpression = createTypeCheckFunction(["FunctionExpression", "ArrowFunctionExpression"]); - function isFunctionOrArrowExpressionWithBody(node) { - return node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression" && node.body.type === "BlockStatement"; - } - function isAngularTestWrapper(node) { - return isCallExpression(node) && node.callee.type === "Identifier" && ["async", "inject", "fakeAsync", "waitForAsync"].includes(node.callee.name); - } - var isJsxNode = createTypeCheckFunction(["JSXElement", "JSXFragment"]); - function isTheOnlyJsxElementInMarkdown(options, path) { - if (options.parentParser !== "markdown" && options.parentParser !== "mdx") { - return false; - } - const node = path.getNode(); - if (!node.expression || !isJsxNode(node.expression)) { - return false; - } - const parent = path.getParentNode(); - return parent.type === "Program" && parent.body.length === 1; - } - function isGetterOrSetter(node) { - return node.kind === "get" || node.kind === "set"; - } - function isFunctionNotation(node) { - return isGetterOrSetter(node) || hasSameLocStart(node, node.value); - } - function isObjectTypePropertyAFunction(node) { - return (node.type === "ObjectTypeProperty" || node.type === "ObjectTypeInternalSlot") && node.value.type === "FunctionTypeAnnotation" && !node.static && !isFunctionNotation(node); - } - function isTypeAnnotationAFunction(node) { - return (node.type === "TypeAnnotation" || node.type === "TSTypeAnnotation") && node.typeAnnotation.type === "FunctionTypeAnnotation" && !node.static && !hasSameLocStart(node, node.typeAnnotation); - } - var isBinaryish = createTypeCheckFunction(["BinaryExpression", "LogicalExpression", "NGPipeExpression"]); - function isMemberish(node) { - return isMemberExpression(node) || node.type === "BindExpression" && Boolean(node.object); - } - var simpleTypeAnnotations = /* @__PURE__ */ new Set(["AnyTypeAnnotation", "TSAnyKeyword", "NullLiteralTypeAnnotation", "TSNullKeyword", "ThisTypeAnnotation", "TSThisType", "NumberTypeAnnotation", "TSNumberKeyword", "VoidTypeAnnotation", "TSVoidKeyword", "BooleanTypeAnnotation", "TSBooleanKeyword", "BigIntTypeAnnotation", "TSBigIntKeyword", "SymbolTypeAnnotation", "TSSymbolKeyword", "StringTypeAnnotation", "TSStringKeyword", "BooleanLiteralTypeAnnotation", "StringLiteralTypeAnnotation", "BigIntLiteralTypeAnnotation", "NumberLiteralTypeAnnotation", "TSLiteralType", "TSTemplateLiteralType", "EmptyTypeAnnotation", "MixedTypeAnnotation", "TSNeverKeyword", "TSObjectKeyword", "TSUndefinedKeyword", "TSUnknownKeyword"]); - function isSimpleType(node) { - if (!node) { - return false; - } - if ((node.type === "GenericTypeAnnotation" || node.type === "TSTypeReference") && !node.typeParameters) { - return true; - } - if (simpleTypeAnnotations.has(node.type)) { - return true; - } - return false; - } - function isUnitTestSetUp(node) { - const unitTestSetUpRe = /^(?:before|after)(?:Each|All)$/; - return node.callee.type === "Identifier" && unitTestSetUpRe.test(node.callee.name) && node.arguments.length === 1; - } - var testCallCalleePatterns = ["it", "it.only", "it.skip", "describe", "describe.only", "describe.skip", "test", "test.only", "test.skip", "test.step", "test.describe", "test.describe.only", "test.describe.parallel", "test.describe.parallel.only", "test.describe.serial", "test.describe.serial.only", "skip", "xit", "xdescribe", "xtest", "fit", "fdescribe", "ftest"]; - function isTestCallCallee(node) { - return isNodeMatches(node, testCallCalleePatterns); - } - function isTestCall(node, parent) { - if (node.type !== "CallExpression") { - return false; - } - if (node.arguments.length === 1) { - if (isAngularTestWrapper(node) && parent && isTestCall(parent)) { - return isFunctionOrArrowExpression(node.arguments[0]); - } - if (isUnitTestSetUp(node)) { - return isAngularTestWrapper(node.arguments[0]); - } - } else if (node.arguments.length === 2 || node.arguments.length === 3) { - if ((node.arguments[0].type === "TemplateLiteral" || isStringLiteral(node.arguments[0])) && isTestCallCallee(node.callee)) { - if (node.arguments[2] && !isNumericLiteral(node.arguments[2])) { - return false; - } - return (node.arguments.length === 2 ? isFunctionOrArrowExpression(node.arguments[1]) : isFunctionOrArrowExpressionWithBody(node.arguments[1]) && getFunctionParameters(node.arguments[1]).length <= 1) || isAngularTestWrapper(node.arguments[1]); - } - } - return false; - } - var isCallExpression = createTypeCheckFunction(["CallExpression", "OptionalCallExpression"]); - var isMemberExpression = createTypeCheckFunction(["MemberExpression", "OptionalMemberExpression"]); - function isSimpleTemplateLiteral(node) { - let expressionsKey = "expressions"; - if (node.type === "TSTemplateLiteralType") { - expressionsKey = "types"; - } - const expressions = node[expressionsKey]; - if (expressions.length === 0) { - return false; - } - return expressions.every((expr) => { - if (hasComment(expr)) { - return false; - } - if (expr.type === "Identifier" || expr.type === "ThisExpression") { - return true; - } - if (isMemberExpression(expr)) { - let head = expr; - while (isMemberExpression(head)) { - if (head.property.type !== "Identifier" && head.property.type !== "Literal" && head.property.type !== "StringLiteral" && head.property.type !== "NumericLiteral") { - return false; - } - head = head.object; - if (hasComment(head)) { - return false; - } - } - if (head.type === "Identifier" || head.type === "ThisExpression") { - return true; - } - return false; - } - return false; - }); - } - function getTypeScriptMappedTypeModifier(tokenNode, keyword) { - if (tokenNode === "+" || tokenNode === "-") { - return tokenNode + keyword; - } - return keyword; - } - function isFlowAnnotationComment(text, typeAnnotation) { - const start = locStart(typeAnnotation); - const end = skipWhitespace(text, locEnd(typeAnnotation)); - return end !== false && text.slice(start, start + 2) === "/*" && text.slice(end, end + 2) === "*/"; - } - function hasLeadingOwnLineComment(text, node) { - if (isJsxNode(node)) { - return hasNodeIgnoreComment(node); - } - return hasComment(node, CommentCheckFlags.Leading, (comment) => hasNewline(text, locEnd(comment))); - } - function isStringPropSafeToUnquote(node, options) { - return options.parser !== "json" && isStringLiteral(node.key) && rawText(node.key).slice(1, -1) === node.key.value && (isIdentifierName(node.key.value) && !(options.parser === "babel-ts" && node.type === "ClassProperty" || options.parser === "typescript" && node.type === "PropertyDefinition") || isSimpleNumber(node.key.value) && String(Number(node.key.value)) === node.key.value && (options.parser === "babel" || options.parser === "acorn" || options.parser === "espree" || options.parser === "meriyah" || options.parser === "__babel_estree")); - } - function isSimpleNumber(numberString) { - return /^(?:\d+|\d+\.\d+)$/.test(numberString); - } - function isJestEachTemplateLiteral(node, parentNode) { - const jestEachTriggerRegex = /^[fx]?(?:describe|it|test)$/; - return parentNode.type === "TaggedTemplateExpression" && parentNode.quasi === node && parentNode.tag.type === "MemberExpression" && parentNode.tag.property.type === "Identifier" && parentNode.tag.property.name === "each" && (parentNode.tag.object.type === "Identifier" && jestEachTriggerRegex.test(parentNode.tag.object.name) || parentNode.tag.object.type === "MemberExpression" && parentNode.tag.object.property.type === "Identifier" && (parentNode.tag.object.property.name === "only" || parentNode.tag.object.property.name === "skip") && parentNode.tag.object.object.type === "Identifier" && jestEachTriggerRegex.test(parentNode.tag.object.object.name)); - } - function templateLiteralHasNewLines(template) { - return template.quasis.some((quasi) => quasi.value.raw.includes("\n")); - } - function isTemplateOnItsOwnLine(node, text) { - return (node.type === "TemplateLiteral" && templateLiteralHasNewLines(node) || node.type === "TaggedTemplateExpression" && templateLiteralHasNewLines(node.quasi)) && !hasNewline(text, locStart(node), { - backwards: true - }); - } - function needsHardlineAfterDanglingComment(node) { - if (!hasComment(node)) { - return false; - } - const lastDanglingComment = getLast(getComments(node, CommentCheckFlags.Dangling)); - return lastDanglingComment && !isBlockComment(lastDanglingComment); - } - function isFunctionCompositionArgs(args) { - if (args.length <= 1) { - return false; - } - let count = 0; - for (const arg of args) { - if (isFunctionOrArrowExpression(arg)) { - count += 1; - if (count > 1) { - return true; - } - } else if (isCallExpression(arg)) { - for (const childArg of arg.arguments) { - if (isFunctionOrArrowExpression(childArg)) { - return true; - } - } - } - } - return false; - } - function isLongCurriedCallExpression(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - return isCallExpression(node) && isCallExpression(parent) && parent.callee === node && node.arguments.length > parent.arguments.length && parent.arguments.length > 0; - } - function isSimpleCallArgument(node, depth) { - if (depth >= 2) { - return false; - } - const isChildSimple = (child) => isSimpleCallArgument(child, depth + 1); - const regexpPattern = node.type === "Literal" && "regex" in node && node.regex.pattern || node.type === "RegExpLiteral" && node.pattern; - if (regexpPattern && getStringWidth(regexpPattern) > 5) { - return false; - } - if (node.type === "Literal" || node.type === "BigIntLiteral" || node.type === "DecimalLiteral" || node.type === "BooleanLiteral" || node.type === "NullLiteral" || node.type === "NumericLiteral" || node.type === "RegExpLiteral" || node.type === "StringLiteral" || node.type === "Identifier" || node.type === "ThisExpression" || node.type === "Super" || node.type === "PrivateName" || node.type === "PrivateIdentifier" || node.type === "ArgumentPlaceholder" || node.type === "Import") { - return true; - } - if (node.type === "TemplateLiteral") { - return node.quasis.every((element) => !element.value.raw.includes("\n")) && node.expressions.every(isChildSimple); - } - if (node.type === "ObjectExpression") { - return node.properties.every((p) => !p.computed && (p.shorthand || p.value && isChildSimple(p.value))); - } - if (node.type === "ArrayExpression") { - return node.elements.every((x) => x === null || isChildSimple(x)); - } - if (isCallLikeExpression(node)) { - return (node.type === "ImportExpression" || isSimpleCallArgument(node.callee, depth)) && getCallArguments(node).every(isChildSimple); - } - if (isMemberExpression(node)) { - return isSimpleCallArgument(node.object, depth) && isSimpleCallArgument(node.property, depth); - } - const targetUnaryExpressionOperators = { - "!": true, - "-": true, - "+": true, - "~": true - }; - if (node.type === "UnaryExpression" && targetUnaryExpressionOperators[node.operator]) { - return isSimpleCallArgument(node.argument, depth); - } - const targetUpdateExpressionOperators = { - "++": true, - "--": true - }; - if (node.type === "UpdateExpression" && targetUpdateExpressionOperators[node.operator]) { - return isSimpleCallArgument(node.argument, depth); - } - if (node.type === "TSNonNullExpression") { - return isSimpleCallArgument(node.expression, depth); - } - return false; - } - function rawText(node) { - var _node$extra$raw, _node$extra2; - return (_node$extra$raw = (_node$extra2 = node.extra) === null || _node$extra2 === void 0 ? void 0 : _node$extra2.raw) !== null && _node$extra$raw !== void 0 ? _node$extra$raw : node.raw; - } - function identity(x) { - return x; - } - function isTSXFile(options) { - return options.filepath && /\.tsx$/i.test(options.filepath); - } - function shouldPrintComma(options, level = "es5") { - return options.trailingComma === "es5" && level === "es5" || options.trailingComma === "all" && (level === "all" || level === "es5"); - } - function startsWithNoLookaheadToken(node, predicate) { - switch (node.type) { - case "BinaryExpression": - case "LogicalExpression": - case "AssignmentExpression": - case "NGPipeExpression": - return startsWithNoLookaheadToken(node.left, predicate); - case "MemberExpression": - case "OptionalMemberExpression": - return startsWithNoLookaheadToken(node.object, predicate); - case "TaggedTemplateExpression": - if (node.tag.type === "FunctionExpression") { - return false; - } - return startsWithNoLookaheadToken(node.tag, predicate); - case "CallExpression": - case "OptionalCallExpression": - if (node.callee.type === "FunctionExpression") { - return false; - } - return startsWithNoLookaheadToken(node.callee, predicate); - case "ConditionalExpression": - return startsWithNoLookaheadToken(node.test, predicate); - case "UpdateExpression": - return !node.prefix && startsWithNoLookaheadToken(node.argument, predicate); - case "BindExpression": - return node.object && startsWithNoLookaheadToken(node.object, predicate); - case "SequenceExpression": - return startsWithNoLookaheadToken(node.expressions[0], predicate); - case "TSSatisfiesExpression": - case "TSAsExpression": - case "TSNonNullExpression": - return startsWithNoLookaheadToken(node.expression, predicate); - default: - return predicate(node); - } - } - var equalityOperators = { - "==": true, - "!=": true, - "===": true, - "!==": true - }; - var multiplicativeOperators = { - "*": true, - "/": true, - "%": true - }; - var bitshiftOperators = { - ">>": true, - ">>>": true, - "<<": true - }; - function shouldFlatten(parentOp, nodeOp) { - if (getPrecedence(nodeOp) !== getPrecedence(parentOp)) { - return false; - } - if (parentOp === "**") { - return false; - } - if (equalityOperators[parentOp] && equalityOperators[nodeOp]) { - return false; - } - if (nodeOp === "%" && multiplicativeOperators[parentOp] || parentOp === "%" && multiplicativeOperators[nodeOp]) { - return false; - } - if (nodeOp !== parentOp && multiplicativeOperators[nodeOp] && multiplicativeOperators[parentOp]) { - return false; - } - if (bitshiftOperators[parentOp] && bitshiftOperators[nodeOp]) { - return false; - } - return true; - } - var PRECEDENCE = new Map([["|>"], ["??"], ["||"], ["&&"], ["|"], ["^"], ["&"], ["==", "===", "!=", "!=="], ["<", ">", "<=", ">=", "in", "instanceof"], [">>", "<<", ">>>"], ["+", "-"], ["*", "/", "%"], ["**"]].flatMap((operators, index) => operators.map((operator) => [operator, index]))); - function getPrecedence(operator) { - return PRECEDENCE.get(operator); - } - function isBitwiseOperator(operator) { - return Boolean(bitshiftOperators[operator]) || operator === "|" || operator === "^" || operator === "&"; - } - function hasRestParameter(node) { - var _getLast; - if (node.rest) { - return true; - } - const parameters = getFunctionParameters(node); - return ((_getLast = getLast(parameters)) === null || _getLast === void 0 ? void 0 : _getLast.type) === "RestElement"; - } - var functionParametersCache = /* @__PURE__ */ new WeakMap(); - function getFunctionParameters(node) { - if (functionParametersCache.has(node)) { - return functionParametersCache.get(node); - } - const parameters = []; - if (node.this) { - parameters.push(node.this); - } - if (Array.isArray(node.parameters)) { - parameters.push(...node.parameters); - } else if (Array.isArray(node.params)) { - parameters.push(...node.params); - } - if (node.rest) { - parameters.push(node.rest); - } - functionParametersCache.set(node, parameters); - return parameters; - } - function iterateFunctionParametersPath(path, iteratee) { - const node = path.getValue(); - let index = 0; - const callback = (childPath) => iteratee(childPath, index++); - if (node.this) { - path.call(callback, "this"); - } - if (Array.isArray(node.parameters)) { - path.each(callback, "parameters"); - } else if (Array.isArray(node.params)) { - path.each(callback, "params"); - } - if (node.rest) { - path.call(callback, "rest"); - } - } - var callArgumentsCache = /* @__PURE__ */ new WeakMap(); - function getCallArguments(node) { - if (callArgumentsCache.has(node)) { - return callArgumentsCache.get(node); - } - let args = node.arguments; - if (node.type === "ImportExpression") { - args = [node.source]; - if (node.attributes) { - args.push(node.attributes); - } - } - callArgumentsCache.set(node, args); - return args; - } - function iterateCallArgumentsPath(path, iteratee) { - const node = path.getValue(); - if (node.type === "ImportExpression") { - path.call((sourcePath) => iteratee(sourcePath, 0), "source"); - if (node.attributes) { - path.call((sourcePath) => iteratee(sourcePath, 1), "attributes"); - } - } else { - path.each(iteratee, "arguments"); - } - } - function isPrettierIgnoreComment(comment) { - return comment.value.trim() === "prettier-ignore" && !comment.unignore; - } - function hasNodeIgnoreComment(node) { - return node && (node.prettierIgnore || hasComment(node, CommentCheckFlags.PrettierIgnore)); - } - function hasIgnoreComment(path) { - const node = path.getValue(); - return hasNodeIgnoreComment(node); - } - var CommentCheckFlags = { - Leading: 1 << 1, - Trailing: 1 << 2, - Dangling: 1 << 3, - Block: 1 << 4, - Line: 1 << 5, - PrettierIgnore: 1 << 6, - First: 1 << 7, - Last: 1 << 8 - }; - var getCommentTestFunction = (flags, fn) => { - if (typeof flags === "function") { - fn = flags; - flags = 0; - } - if (flags || fn) { - return (comment, index, comments) => !(flags & CommentCheckFlags.Leading && !comment.leading || flags & CommentCheckFlags.Trailing && !comment.trailing || flags & CommentCheckFlags.Dangling && (comment.leading || comment.trailing) || flags & CommentCheckFlags.Block && !isBlockComment(comment) || flags & CommentCheckFlags.Line && !isLineComment(comment) || flags & CommentCheckFlags.First && index !== 0 || flags & CommentCheckFlags.Last && index !== comments.length - 1 || flags & CommentCheckFlags.PrettierIgnore && !isPrettierIgnoreComment(comment) || fn && !fn(comment)); - } - }; - function hasComment(node, flags, fn) { - if (!isNonEmptyArray(node === null || node === void 0 ? void 0 : node.comments)) { - return false; - } - const test = getCommentTestFunction(flags, fn); - return test ? node.comments.some(test) : true; - } - function getComments(node, flags, fn) { - if (!Array.isArray(node === null || node === void 0 ? void 0 : node.comments)) { - return []; - } - const test = getCommentTestFunction(flags, fn); - return test ? node.comments.filter(test) : node.comments; - } - var isNextLineEmpty = (node, { - originalText - }) => isNextLineEmptyAfterIndex(originalText, locEnd(node)); - function isCallLikeExpression(node) { - return isCallExpression(node) || node.type === "NewExpression" || node.type === "ImportExpression"; - } - function isObjectProperty(node) { - return node && (node.type === "ObjectProperty" || node.type === "Property" && !node.method && node.kind === "init"); - } - function isEnabledHackPipeline(options) { - return Boolean(options.__isUsingHackPipeline); - } - var markerForIfWithoutBlockAndSameLineComment = Symbol("ifWithoutBlockAndSameLineComment"); - function isTSTypeExpression(node) { - return node.type === "TSAsExpression" || node.type === "TSSatisfiesExpression"; - } - module2.exports = { - getFunctionParameters, - iterateFunctionParametersPath, - getCallArguments, - iterateCallArgumentsPath, - hasRestParameter, - getLeftSide, - getLeftSidePathName, - getParentExportDeclaration, - getTypeScriptMappedTypeModifier, - hasFlowAnnotationComment, - hasFlowShorthandAnnotationComment, - hasLeadingOwnLineComment, - hasNakedLeftSide, - hasNode, - hasIgnoreComment, - hasNodeIgnoreComment, - identity, - isBinaryish, - isCallLikeExpression, - isEnabledHackPipeline, - isLineComment, - isPrettierIgnoreComment, - isCallExpression, - isMemberExpression, - isExportDeclaration, - isFlowAnnotationComment, - isFunctionCompositionArgs, - isFunctionNotation, - isFunctionOrArrowExpression, - isGetterOrSetter, - isJestEachTemplateLiteral, - isJsxNode, - isLiteral, - isLongCurriedCallExpression, - isSimpleCallArgument, - isMemberish, - isNumericLiteral, - isSignedNumericLiteral, - isObjectProperty, - isObjectType, - isObjectTypePropertyAFunction, - isSimpleType, - isSimpleNumber, - isSimpleTemplateLiteral, - isStringLiteral, - isStringPropSafeToUnquote, - isTemplateOnItsOwnLine, - isTestCall, - isTheOnlyJsxElementInMarkdown, - isTSXFile, - isTypeAnnotationAFunction, - isNextLineEmpty, - needsHardlineAfterDanglingComment, - rawText, - shouldPrintComma, - isBitwiseOperator, - shouldFlatten, - startsWithNoLookaheadToken, - getPrecedence, - hasComment, - getComments, - CommentCheckFlags, - markerForIfWithoutBlockAndSameLineComment, - isTSTypeExpression - }; - } -}); -var require_template_literal = __commonJS2({ - "src/language-js/print/template-literal.js"(exports2, module2) { - "use strict"; - var getLast = require_get_last(); - var { - getStringWidth, - getIndentSize - } = require_util(); - var { - builders: { - join, - hardline, - softline, - group, - indent, - align, - lineSuffixBoundary, - addAlignmentToDoc - }, - printer: { - printDocToString - }, - utils: { - mapDoc - } - } = require("./doc.js"); - var { - isBinaryish, - isJestEachTemplateLiteral, - isSimpleTemplateLiteral, - hasComment, - isMemberExpression, - isTSTypeExpression - } = require_utils7(); - function printTemplateLiteral(path, print, options) { - const node = path.getValue(); - const isTemplateLiteral = node.type === "TemplateLiteral"; - if (isTemplateLiteral && isJestEachTemplateLiteral(node, path.getParentNode())) { - const printed = printJestEachTemplateLiteral(path, options, print); - if (printed) { - return printed; - } - } - let expressionsKey = "expressions"; - if (node.type === "TSTemplateLiteralType") { - expressionsKey = "types"; - } - const parts = []; - let expressions = path.map(print, expressionsKey); - const isSimple = isSimpleTemplateLiteral(node); - if (isSimple) { - expressions = expressions.map((doc2) => printDocToString(doc2, Object.assign(Object.assign({}, options), {}, { - printWidth: Number.POSITIVE_INFINITY - })).formatted); - } - parts.push(lineSuffixBoundary, "`"); - path.each((childPath) => { - const i = childPath.getName(); - parts.push(print()); - if (i < expressions.length) { - const { - tabWidth - } = options; - const quasi = childPath.getValue(); - const indentSize = getIndentSize(quasi.value.raw, tabWidth); - let printed = expressions[i]; - if (!isSimple) { - const expression = node[expressionsKey][i]; - if (hasComment(expression) || isMemberExpression(expression) || expression.type === "ConditionalExpression" || expression.type === "SequenceExpression" || isTSTypeExpression(expression) || isBinaryish(expression)) { - printed = [indent([softline, printed]), softline]; - } - } - const aligned = indentSize === 0 && quasi.value.raw.endsWith("\n") ? align(Number.NEGATIVE_INFINITY, printed) : addAlignmentToDoc(printed, indentSize, tabWidth); - parts.push(group(["${", aligned, lineSuffixBoundary, "}"])); - } - }, "quasis"); - parts.push("`"); - return parts; - } - function printJestEachTemplateLiteral(path, options, print) { - const node = path.getNode(); - const headerNames = node.quasis[0].value.raw.trim().split(/\s*\|\s*/); - if (headerNames.length > 1 || headerNames.some((headerName) => headerName.length > 0)) { - options.__inJestEach = true; - const expressions = path.map(print, "expressions"); - options.__inJestEach = false; - const parts = []; - const stringifiedExpressions = expressions.map((doc2) => "${" + printDocToString(doc2, Object.assign(Object.assign({}, options), {}, { - printWidth: Number.POSITIVE_INFINITY, - endOfLine: "lf" - })).formatted + "}"); - const tableBody = [{ - hasLineBreak: false, - cells: [] - }]; - for (let i = 1; i < node.quasis.length; i++) { - const row = getLast(tableBody); - const correspondingExpression = stringifiedExpressions[i - 1]; - row.cells.push(correspondingExpression); - if (correspondingExpression.includes("\n")) { - row.hasLineBreak = true; - } - if (node.quasis[i].value.raw.includes("\n")) { - tableBody.push({ - hasLineBreak: false, - cells: [] - }); - } - } - const maxColumnCount = Math.max(headerNames.length, ...tableBody.map((row) => row.cells.length)); - const maxColumnWidths = Array.from({ - length: maxColumnCount - }).fill(0); - const table = [{ - cells: headerNames - }, ...tableBody.filter((row) => row.cells.length > 0)]; - for (const { - cells - } of table.filter((row) => !row.hasLineBreak)) { - for (const [index, cell] of cells.entries()) { - maxColumnWidths[index] = Math.max(maxColumnWidths[index], getStringWidth(cell)); - } - } - parts.push(lineSuffixBoundary, "`", indent([hardline, join(hardline, table.map((row) => join(" | ", row.cells.map((cell, index) => row.hasLineBreak ? cell : cell + " ".repeat(maxColumnWidths[index] - getStringWidth(cell))))))]), hardline, "`"); - return parts; - } - } - function printTemplateExpression(path, print) { - const node = path.getValue(); - let printed = print(); - if (hasComment(node)) { - printed = group([indent([softline, printed]), softline]); - } - return ["${", printed, lineSuffixBoundary, "}"]; - } - function printTemplateExpressions(path, print) { - return path.map((path2) => printTemplateExpression(path2, print), "expressions"); - } - function escapeTemplateCharacters(doc2, raw) { - return mapDoc(doc2, (currentDoc) => { - if (typeof currentDoc === "string") { - return raw ? currentDoc.replace(/(\\*)`/g, "$1$1\\`") : uncookTemplateElementValue(currentDoc); - } - return currentDoc; - }); - } - function uncookTemplateElementValue(cookedValue) { - return cookedValue.replace(/([\\`]|\${)/g, "\\$1"); - } - module2.exports = { - printTemplateLiteral, - printTemplateExpressions, - escapeTemplateCharacters, - uncookTemplateElementValue - }; - } -}); -var require_markdown = __commonJS2({ - "src/language-js/embed/markdown.js"(exports2, module2) { - "use strict"; - var { - builders: { - indent, - softline, - literalline, - dedentToRoot - } - } = require("./doc.js"); - var { - escapeTemplateCharacters - } = require_template_literal(); - function format(path, print, textToDoc) { - const node = path.getValue(); - let text = node.quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g, (_, backslashes) => "\\".repeat(backslashes.length / 2) + "`"); - const indentation = getIndentation(text); - const hasIndent = indentation !== ""; - if (hasIndent) { - text = text.replace(new RegExp(`^${indentation}`, "gm"), ""); - } - const doc2 = escapeTemplateCharacters(textToDoc(text, { - parser: "markdown", - __inJsTemplate: true - }, { - stripTrailingHardline: true - }), true); - return ["`", hasIndent ? indent([softline, doc2]) : [literalline, dedentToRoot(doc2)], softline, "`"]; - } - function getIndentation(str) { - const firstMatchedIndent = str.match(/^([^\S\n]*)\S/m); - return firstMatchedIndent === null ? "" : firstMatchedIndent[1]; - } - module2.exports = format; - } -}); -var require_css = __commonJS2({ - "src/language-js/embed/css.js"(exports2, module2) { - "use strict"; - var { - isNonEmptyArray - } = require_util(); - var { - builders: { - indent, - hardline, - softline - }, - utils: { - mapDoc, - replaceEndOfLine, - cleanDoc - } - } = require("./doc.js"); - var { - printTemplateExpressions - } = require_template_literal(); - function format(path, print, textToDoc) { - const node = path.getValue(); - const rawQuasis = node.quasis.map((q) => q.value.raw); - let placeholderID = 0; - const text = rawQuasis.reduce((prevVal, currVal, idx) => idx === 0 ? currVal : prevVal + "@prettier-placeholder-" + placeholderID++ + "-id" + currVal, ""); - const doc2 = textToDoc(text, { - parser: "scss" - }, { - stripTrailingHardline: true - }); - const expressionDocs = printTemplateExpressions(path, print); - return transformCssDoc(doc2, node, expressionDocs); - } - function transformCssDoc(quasisDoc, parentNode, expressionDocs) { - const isEmpty = parentNode.quasis.length === 1 && !parentNode.quasis[0].value.raw.trim(); - if (isEmpty) { - return "``"; - } - const newDoc = replacePlaceholders(quasisDoc, expressionDocs); - if (!newDoc) { - throw new Error("Couldn't insert all the expressions"); - } - return ["`", indent([hardline, newDoc]), softline, "`"]; - } - function replacePlaceholders(quasisDoc, expressionDocs) { - if (!isNonEmptyArray(expressionDocs)) { - return quasisDoc; - } - let replaceCounter = 0; - const newDoc = mapDoc(cleanDoc(quasisDoc), (doc2) => { - if (typeof doc2 !== "string" || !doc2.includes("@prettier-placeholder")) { - return doc2; - } - return doc2.split(/@prettier-placeholder-(\d+)-id/).map((component, idx) => { - if (idx % 2 === 0) { - return replaceEndOfLine(component); - } - replaceCounter++; - return expressionDocs[component]; - }); - }); - return expressionDocs.length === replaceCounter ? newDoc : null; - } - module2.exports = format; - } -}); -var require_graphql = __commonJS2({ - "src/language-js/embed/graphql.js"(exports2, module2) { - "use strict"; - var { - builders: { - indent, - join, - hardline - } - } = require("./doc.js"); - var { - escapeTemplateCharacters, - printTemplateExpressions - } = require_template_literal(); - function format(path, print, textToDoc) { - const node = path.getValue(); - const numQuasis = node.quasis.length; - if (numQuasis === 1 && node.quasis[0].value.raw.trim() === "") { - return "``"; - } - const expressionDocs = printTemplateExpressions(path, print); - const parts = []; - for (let i = 0; i < numQuasis; i++) { - const templateElement = node.quasis[i]; - const isFirst = i === 0; - const isLast = i === numQuasis - 1; - const text = templateElement.value.cooked; - const lines = text.split("\n"); - const numLines = lines.length; - const expressionDoc = expressionDocs[i]; - const startsWithBlankLine = numLines > 2 && lines[0].trim() === "" && lines[1].trim() === ""; - const endsWithBlankLine = numLines > 2 && lines[numLines - 1].trim() === "" && lines[numLines - 2].trim() === ""; - const commentsAndWhitespaceOnly = lines.every((line) => /^\s*(?:#[^\n\r]*)?$/.test(line)); - if (!isLast && /#[^\n\r]*$/.test(lines[numLines - 1])) { - return null; - } - let doc2 = null; - if (commentsAndWhitespaceOnly) { - doc2 = printGraphqlComments(lines); - } else { - doc2 = textToDoc(text, { - parser: "graphql" - }, { - stripTrailingHardline: true - }); - } - if (doc2) { - doc2 = escapeTemplateCharacters(doc2, false); - if (!isFirst && startsWithBlankLine) { - parts.push(""); - } - parts.push(doc2); - if (!isLast && endsWithBlankLine) { - parts.push(""); - } - } else if (!isFirst && !isLast && startsWithBlankLine) { - parts.push(""); - } - if (expressionDoc) { - parts.push(expressionDoc); - } - } - return ["`", indent([hardline, join(hardline, parts)]), hardline, "`"]; - } - function printGraphqlComments(lines) { - const parts = []; - let seenComment = false; - const array = lines.map((textLine) => textLine.trim()); - for (const [i, textLine] of array.entries()) { - if (textLine === "") { - continue; - } - if (array[i - 1] === "" && seenComment) { - parts.push([hardline, textLine]); - } else { - parts.push(textLine); - } - seenComment = true; - } - return parts.length === 0 ? null : join(hardline, parts); - } - module2.exports = format; - } -}); -var require_html = __commonJS2({ - "src/language-js/embed/html.js"(exports2, module2) { - "use strict"; - var { - builders: { - indent, - line, - hardline, - group - }, - utils: { - mapDoc - } - } = require("./doc.js"); - var { - printTemplateExpressions, - uncookTemplateElementValue - } = require_template_literal(); - var htmlTemplateLiteralCounter = 0; - function format(path, print, textToDoc, options, { - parser - }) { - const node = path.getValue(); - const counter = htmlTemplateLiteralCounter; - htmlTemplateLiteralCounter = htmlTemplateLiteralCounter + 1 >>> 0; - const composePlaceholder = (index) => `PRETTIER_HTML_PLACEHOLDER_${index}_${counter}_IN_JS`; - const text = node.quasis.map((quasi, index, quasis) => index === quasis.length - 1 ? quasi.value.cooked : quasi.value.cooked + composePlaceholder(index)).join(""); - const expressionDocs = printTemplateExpressions(path, print); - if (expressionDocs.length === 0 && text.trim().length === 0) { - return "``"; - } - const placeholderRegex = new RegExp(composePlaceholder("(\\d+)"), "g"); - let topLevelCount = 0; - const doc2 = textToDoc(text, { - parser, - __onHtmlRoot(root) { - topLevelCount = root.children.length; - } - }, { - stripTrailingHardline: true - }); - const contentDoc = mapDoc(doc2, (doc3) => { - if (typeof doc3 !== "string") { - return doc3; - } - const parts = []; - const components = doc3.split(placeholderRegex); - for (let i = 0; i < components.length; i++) { - let component = components[i]; - if (i % 2 === 0) { - if (component) { - component = uncookTemplateElementValue(component); - if (options.__embeddedInHtml) { - component = component.replace(/<\/(script)\b/gi, "<\\/$1"); - } - parts.push(component); - } - continue; - } - const placeholderIndex = Number(component); - parts.push(expressionDocs[placeholderIndex]); - } - return parts; - }); - const leadingWhitespace = /^\s/.test(text) ? " " : ""; - const trailingWhitespace = /\s$/.test(text) ? " " : ""; - const linebreak = options.htmlWhitespaceSensitivity === "ignore" ? hardline : leadingWhitespace && trailingWhitespace ? line : null; - if (linebreak) { - return group(["`", indent([linebreak, group(contentDoc)]), linebreak, "`"]); - } - return group(["`", leadingWhitespace, topLevelCount > 1 ? indent(group(contentDoc)) : group(contentDoc), trailingWhitespace, "`"]); - } - module2.exports = format; - } -}); -var require_embed = __commonJS2({ - "src/language-js/embed.js"(exports2, module2) { - "use strict"; - var { - hasComment, - CommentCheckFlags, - isObjectProperty - } = require_utils7(); - var formatMarkdown = require_markdown(); - var formatCss = require_css(); - var formatGraphql = require_graphql(); - var formatHtml = require_html(); - function getLanguage(path) { - if (isStyledJsx(path) || isStyledComponents(path) || isCssProp(path) || isAngularComponentStyles(path)) { - return "css"; - } - if (isGraphQL(path)) { - return "graphql"; - } - if (isHtml(path)) { - return "html"; - } - if (isAngularComponentTemplate(path)) { - return "angular"; - } - if (isMarkdown(path)) { - return "markdown"; - } - } - function embed(path, print, textToDoc, options) { - const node = path.getValue(); - if (node.type !== "TemplateLiteral" || hasInvalidCookedValue(node)) { - return; - } - const language = getLanguage(path); - if (!language) { - return; - } - if (language === "markdown") { - return formatMarkdown(path, print, textToDoc); - } - if (language === "css") { - return formatCss(path, print, textToDoc); - } - if (language === "graphql") { - return formatGraphql(path, print, textToDoc); - } - if (language === "html" || language === "angular") { - return formatHtml(path, print, textToDoc, options, { - parser: language - }); - } - } - function isMarkdown(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - return parent && parent.type === "TaggedTemplateExpression" && node.quasis.length === 1 && parent.tag.type === "Identifier" && (parent.tag.name === "md" || parent.tag.name === "markdown"); - } - function isStyledJsx(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - return parentParent && node.quasis && parent.type === "JSXExpressionContainer" && parentParent.type === "JSXElement" && parentParent.openingElement.name.name === "style" && parentParent.openingElement.attributes.some((attribute) => attribute.name.name === "jsx") || parent && parent.type === "TaggedTemplateExpression" && parent.tag.type === "Identifier" && parent.tag.name === "css" || parent && parent.type === "TaggedTemplateExpression" && parent.tag.type === "MemberExpression" && parent.tag.object.name === "css" && (parent.tag.property.name === "global" || parent.tag.property.name === "resolve"); - } - function isAngularComponentStyles(path) { - return path.match((node) => node.type === "TemplateLiteral", (node, name) => node.type === "ArrayExpression" && name === "elements", (node, name) => isObjectProperty(node) && node.key.type === "Identifier" && node.key.name === "styles" && name === "value", ...angularComponentObjectExpressionPredicates); - } - function isAngularComponentTemplate(path) { - return path.match((node) => node.type === "TemplateLiteral", (node, name) => isObjectProperty(node) && node.key.type === "Identifier" && node.key.name === "template" && name === "value", ...angularComponentObjectExpressionPredicates); - } - var angularComponentObjectExpressionPredicates = [(node, name) => node.type === "ObjectExpression" && name === "properties", (node, name) => node.type === "CallExpression" && node.callee.type === "Identifier" && node.callee.name === "Component" && name === "arguments", (node, name) => node.type === "Decorator" && name === "expression"]; - function isStyledComponents(path) { - const parent = path.getParentNode(); - if (!parent || parent.type !== "TaggedTemplateExpression") { - return false; - } - const tag = parent.tag.type === "ParenthesizedExpression" ? parent.tag.expression : parent.tag; - switch (tag.type) { - case "MemberExpression": - return isStyledIdentifier(tag.object) || isStyledExtend(tag); - case "CallExpression": - return isStyledIdentifier(tag.callee) || tag.callee.type === "MemberExpression" && (tag.callee.object.type === "MemberExpression" && (isStyledIdentifier(tag.callee.object.object) || isStyledExtend(tag.callee.object)) || tag.callee.object.type === "CallExpression" && isStyledIdentifier(tag.callee.object.callee)); - case "Identifier": - return tag.name === "css"; - default: - return false; - } - } - function isCssProp(path) { - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - return parentParent && parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" && parentParent.name.type === "JSXIdentifier" && parentParent.name.name === "css"; - } - function isStyledIdentifier(node) { - return node.type === "Identifier" && node.name === "styled"; - } - function isStyledExtend(node) { - return /^[A-Z]/.test(node.object.name) && node.property.name === "extend"; - } - function isGraphQL(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - return hasLanguageComment(node, "GraphQL") || parent && (parent.type === "TaggedTemplateExpression" && (parent.tag.type === "MemberExpression" && parent.tag.object.name === "graphql" && parent.tag.property.name === "experimental" || parent.tag.type === "Identifier" && (parent.tag.name === "gql" || parent.tag.name === "graphql")) || parent.type === "CallExpression" && parent.callee.type === "Identifier" && parent.callee.name === "graphql"); - } - function hasLanguageComment(node, languageName) { - return hasComment(node, CommentCheckFlags.Block | CommentCheckFlags.Leading, ({ - value - }) => value === ` ${languageName} `); - } - function isHtml(path) { - return hasLanguageComment(path.getValue(), "HTML") || path.match((node) => node.type === "TemplateLiteral", (node, name) => node.type === "TaggedTemplateExpression" && node.tag.type === "Identifier" && node.tag.name === "html" && name === "quasi"); - } - function hasInvalidCookedValue({ - quasis - }) { - return quasis.some(({ - value: { - cooked - } - }) => cooked === null); - } - module2.exports = embed; - } -}); -var require_clean = __commonJS2({ - "src/language-js/clean.js"(exports2, module2) { - "use strict"; - var isBlockComment = require_is_block_comment(); - var ignoredProperties = /* @__PURE__ */ new Set(["range", "raw", "comments", "leadingComments", "trailingComments", "innerComments", "extra", "start", "end", "loc", "flags", "errors", "tokens"]); - var removeTemplateElementsValue = (node) => { - for (const templateElement of node.quasis) { - delete templateElement.value; - } - }; - function clean(ast, newObj, parent) { - if (ast.type === "Program") { - delete newObj.sourceType; - } - if (ast.type === "BigIntLiteral" || ast.type === "BigIntLiteralTypeAnnotation") { - if (newObj.value) { - newObj.value = newObj.value.toLowerCase(); - } - } - if (ast.type === "BigIntLiteral" || ast.type === "Literal") { - if (newObj.bigint) { - newObj.bigint = newObj.bigint.toLowerCase(); - } - } - if (ast.type === "DecimalLiteral") { - newObj.value = Number(newObj.value); - } - if (ast.type === "Literal" && newObj.decimal) { - newObj.decimal = Number(newObj.decimal); - } - if (ast.type === "EmptyStatement") { - return null; - } - if (ast.type === "JSXText") { - return null; - } - if (ast.type === "JSXExpressionContainer" && (ast.expression.type === "Literal" || ast.expression.type === "StringLiteral") && ast.expression.value === " ") { - return null; - } - if ((ast.type === "Property" || ast.type === "ObjectProperty" || ast.type === "MethodDefinition" || ast.type === "ClassProperty" || ast.type === "ClassMethod" || ast.type === "PropertyDefinition" || ast.type === "TSDeclareMethod" || ast.type === "TSPropertySignature" || ast.type === "ObjectTypeProperty") && typeof ast.key === "object" && ast.key && (ast.key.type === "Literal" || ast.key.type === "NumericLiteral" || ast.key.type === "StringLiteral" || ast.key.type === "Identifier")) { - delete newObj.key; - } - if (ast.type === "JSXElement" && ast.openingElement.name.name === "style" && ast.openingElement.attributes.some((attr) => attr.name.name === "jsx")) { - for (const { - type, - expression: expression2 - } of newObj.children) { - if (type === "JSXExpressionContainer" && expression2.type === "TemplateLiteral") { - removeTemplateElementsValue(expression2); - } - } - } - if (ast.type === "JSXAttribute" && ast.name.name === "css" && ast.value.type === "JSXExpressionContainer" && ast.value.expression.type === "TemplateLiteral") { - removeTemplateElementsValue(newObj.value.expression); - } - if (ast.type === "JSXAttribute" && ast.value && ast.value.type === "Literal" && /["']|"|'/.test(ast.value.value)) { - newObj.value.value = newObj.value.value.replace(/["']|"|'/g, '"'); - } - const expression = ast.expression || ast.callee; - if (ast.type === "Decorator" && expression.type === "CallExpression" && expression.callee.name === "Component" && expression.arguments.length === 1) { - const astProps = ast.expression.arguments[0].properties; - for (const [index, prop] of newObj.expression.arguments[0].properties.entries()) { - switch (astProps[index].key.name) { - case "styles": - if (prop.value.type === "ArrayExpression") { - removeTemplateElementsValue(prop.value.elements[0]); - } - break; - case "template": - if (prop.value.type === "TemplateLiteral") { - removeTemplateElementsValue(prop.value); - } - break; - } - } - } - if (ast.type === "TaggedTemplateExpression" && (ast.tag.type === "MemberExpression" || ast.tag.type === "Identifier" && (ast.tag.name === "gql" || ast.tag.name === "graphql" || ast.tag.name === "css" || ast.tag.name === "md" || ast.tag.name === "markdown" || ast.tag.name === "html") || ast.tag.type === "CallExpression")) { - removeTemplateElementsValue(newObj.quasi); - } - if (ast.type === "TemplateLiteral") { - var _ast$leadingComments; - const hasLanguageComment = (_ast$leadingComments = ast.leadingComments) === null || _ast$leadingComments === void 0 ? void 0 : _ast$leadingComments.some((comment) => isBlockComment(comment) && ["GraphQL", "HTML"].some((languageName) => comment.value === ` ${languageName} `)); - if (hasLanguageComment || parent.type === "CallExpression" && parent.callee.name === "graphql" || !ast.leadingComments) { - removeTemplateElementsValue(newObj); - } - } - if (ast.type === "InterpreterDirective") { - newObj.value = newObj.value.trimEnd(); - } - if ((ast.type === "TSIntersectionType" || ast.type === "TSUnionType") && ast.types.length === 1) { - return newObj.types[0]; - } - } - clean.ignoredProperties = ignoredProperties; - module2.exports = clean; - } -}); -var require_detect_newline = __commonJS2({ - "node_modules/detect-newline/index.js"(exports2, module2) { - "use strict"; - var detectNewline = (string) => { - if (typeof string !== "string") { - throw new TypeError("Expected a string"); - } - const newlines = string.match(/(?:\r?\n)/g) || []; - if (newlines.length === 0) { - return; - } - const crlf = newlines.filter((newline) => newline === "\r\n").length; - const lf = newlines.length - crlf; - return crlf > lf ? "\r\n" : "\n"; - }; - module2.exports = detectNewline; - module2.exports.graceful = (string) => typeof string === "string" && detectNewline(string) || "\n"; - } -}); -var require_build = __commonJS2({ - "node_modules/jest-docblock/build/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.extract = extract; - exports2.parse = parse; - exports2.parseWithComments = parseWithComments; - exports2.print = print; - exports2.strip = strip; - function _os() { - const data = require("os"); - _os = function() { - return data; - }; - return data; - } - function _detectNewline() { - const data = _interopRequireDefault(require_detect_newline()); - _detectNewline = function() { - return data; - }; - return data; - } - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - var commentEndRe = /\*\/$/; - var commentStartRe = /^\/\*\*?/; - var docblockRe = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/; - var lineCommentRe = /(^|\s+)\/\/([^\r\n]*)/g; - var ltrimNewlineRe = /^(\r?\n)+/; - var multilineRe = /(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g; - var propertyRe = /(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g; - var stringStartRe = /(\r?\n|^) *\* ?/g; - var STRING_ARRAY = []; - function extract(contents) { - const match = contents.match(docblockRe); - return match ? match[0].trimLeft() : ""; - } - function strip(contents) { - const match = contents.match(docblockRe); - return match && match[0] ? contents.substring(match[0].length) : contents; - } - function parse(docblock) { - return parseWithComments(docblock).pragmas; - } - function parseWithComments(docblock) { - const line = (0, _detectNewline().default)(docblock) || _os().EOL; - docblock = docblock.replace(commentStartRe, "").replace(commentEndRe, "").replace(stringStartRe, "$1"); - let prev = ""; - while (prev !== docblock) { - prev = docblock; - docblock = docblock.replace(multilineRe, `${line}$1 $2${line}`); - } - docblock = docblock.replace(ltrimNewlineRe, "").trimRight(); - const result = /* @__PURE__ */ Object.create(null); - const comments = docblock.replace(propertyRe, "").replace(ltrimNewlineRe, "").trimRight(); - let match; - while (match = propertyRe.exec(docblock)) { - const nextPragma = match[2].replace(lineCommentRe, ""); - if (typeof result[match[1]] === "string" || Array.isArray(result[match[1]])) { - result[match[1]] = STRING_ARRAY.concat(result[match[1]], nextPragma); - } else { - result[match[1]] = nextPragma; - } - } - return { - comments, - pragmas: result - }; - } - function print({ - comments = "", - pragmas = {} - }) { - const line = (0, _detectNewline().default)(comments) || _os().EOL; - const head = "/**"; - const start = " *"; - const tail = " */"; - const keys = Object.keys(pragmas); - const printedObject = keys.map((key) => printKeyValues(key, pragmas[key])).reduce((arr, next) => arr.concat(next), []).map((keyValue) => `${start} ${keyValue}${line}`).join(""); - if (!comments) { - if (keys.length === 0) { - return ""; - } - if (keys.length === 1 && !Array.isArray(pragmas[keys[0]])) { - const value = pragmas[keys[0]]; - return `${head} ${printKeyValues(keys[0], value)[0]}${tail}`; - } - } - const printedComments = comments.split(line).map((textLine) => `${start} ${textLine}`).join(line) + line; - return head + line + (comments ? printedComments : "") + (comments && keys.length ? start + line : "") + printedObject + tail; - } - function printKeyValues(key, valueOrArray) { - return STRING_ARRAY.concat(valueOrArray).map((value) => `@${key} ${value}`.trim()); - } - } -}); -var require_get_shebang = __commonJS2({ - "src/language-js/utils/get-shebang.js"(exports2, module2) { - "use strict"; - function getShebang(text) { - if (!text.startsWith("#!")) { - return ""; - } - const index = text.indexOf("\n"); - if (index === -1) { - return text; - } - return text.slice(0, index); - } - module2.exports = getShebang; - } -}); -var require_pragma = __commonJS2({ - "src/language-js/pragma.js"(exports2, module2) { - "use strict"; - var { - parseWithComments, - strip, - extract, - print - } = require_build(); - var { - normalizeEndOfLine - } = require_end_of_line(); - var getShebang = require_get_shebang(); - function parseDocBlock(text) { - const shebang = getShebang(text); - if (shebang) { - text = text.slice(shebang.length + 1); - } - const docBlock = extract(text); - const { - pragmas, - comments - } = parseWithComments(docBlock); - return { - shebang, - text, - pragmas, - comments - }; - } - function hasPragma(text) { - const pragmas = Object.keys(parseDocBlock(text).pragmas); - return pragmas.includes("prettier") || pragmas.includes("format"); - } - function insertPragma(originalText) { - const { - shebang, - text, - pragmas, - comments - } = parseDocBlock(originalText); - const strippedText = strip(text); - const docBlock = print({ - pragmas: Object.assign({ - format: "" - }, pragmas), - comments: comments.trimStart() - }); - return (shebang ? `${shebang} -` : "") + normalizeEndOfLine(docBlock) + (strippedText.startsWith("\n") ? "\n" : "\n\n") + strippedText; - } - module2.exports = { - hasPragma, - insertPragma - }; - } -}); -var require_is_type_cast_comment = __commonJS2({ - "src/language-js/utils/is-type-cast-comment.js"(exports2, module2) { - "use strict"; - var isBlockComment = require_is_block_comment(); - function isTypeCastComment(comment) { - return isBlockComment(comment) && comment.value[0] === "*" && /@(?:type|satisfies)\b/.test(comment.value); - } - module2.exports = isTypeCastComment; - } -}); -var require_comments2 = __commonJS2({ - "src/language-js/comments.js"(exports2, module2) { - "use strict"; - var { - getLast, - hasNewline, - getNextNonSpaceNonCommentCharacterIndexWithStartIndex, - getNextNonSpaceNonCommentCharacter, - hasNewlineInRange, - addLeadingComment, - addTrailingComment, - addDanglingComment, - getNextNonSpaceNonCommentCharacterIndex, - isNonEmptyArray - } = require_util(); - var { - getFunctionParameters, - isPrettierIgnoreComment, - isJsxNode, - hasFlowShorthandAnnotationComment, - hasFlowAnnotationComment, - hasIgnoreComment, - isCallLikeExpression, - getCallArguments, - isCallExpression, - isMemberExpression, - isObjectProperty, - isLineComment, - getComments, - CommentCheckFlags, - markerForIfWithoutBlockAndSameLineComment - } = require_utils7(); - var { - locStart, - locEnd - } = require_loc(); - var isBlockComment = require_is_block_comment(); - var isTypeCastComment = require_is_type_cast_comment(); - function handleOwnLineComment(context) { - return [handleIgnoreComments, handleLastFunctionArgComments, handleMemberExpressionComments, handleIfStatementComments, handleWhileComments, handleTryStatementComments, handleClassComments, handleForComments, handleUnionTypeComments, handleOnlyComments, handleModuleSpecifiersComments, handleAssignmentPatternComments, handleMethodNameComments, handleLabeledStatementComments, handleBreakAndContinueStatementComments].some((fn) => fn(context)); - } - function handleEndOfLineComment(context) { - return [handleClosureTypeCastComments, handleLastFunctionArgComments, handleConditionalExpressionComments, handleModuleSpecifiersComments, handleIfStatementComments, handleWhileComments, handleTryStatementComments, handleClassComments, handleLabeledStatementComments, handleCallExpressionComments, handlePropertyComments, handleOnlyComments, handleVariableDeclaratorComments, handleBreakAndContinueStatementComments, handleSwitchDefaultCaseComments].some((fn) => fn(context)); - } - function handleRemainingComment(context) { - return [handleIgnoreComments, handleIfStatementComments, handleWhileComments, handleObjectPropertyAssignment, handleCommentInEmptyParens, handleMethodNameComments, handleOnlyComments, handleCommentAfterArrowParams, handleFunctionNameComments, handleTSMappedTypeComments, handleBreakAndContinueStatementComments, handleTSFunctionTrailingComments].some((fn) => fn(context)); - } - function addBlockStatementFirstComment(node, comment) { - const firstNonEmptyNode = (node.body || node.properties).find(({ - type - }) => type !== "EmptyStatement"); - if (firstNonEmptyNode) { - addLeadingComment(firstNonEmptyNode, comment); - } else { - addDanglingComment(node, comment); - } - } - function addBlockOrNotComment(node, comment) { - if (node.type === "BlockStatement") { - addBlockStatementFirstComment(node, comment); - } else { - addLeadingComment(node, comment); - } - } - function handleClosureTypeCastComments({ - comment, - followingNode - }) { - if (followingNode && isTypeCastComment(comment)) { - addLeadingComment(followingNode, comment); - return true; - } - return false; - } - function handleIfStatementComments({ - comment, - precedingNode, - enclosingNode, - followingNode, - text - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) !== "IfStatement" || !followingNode) { - return false; - } - const nextCharacter = getNextNonSpaceNonCommentCharacter(text, comment, locEnd); - if (nextCharacter === ")") { - addTrailingComment(precedingNode, comment); - return true; - } - if (precedingNode === enclosingNode.consequent && followingNode === enclosingNode.alternate) { - if (precedingNode.type === "BlockStatement") { - addTrailingComment(precedingNode, comment); - } else { - const isSingleLineComment = comment.type === "SingleLine" || comment.loc.start.line === comment.loc.end.line; - const isSameLineComment = comment.loc.start.line === precedingNode.loc.start.line; - if (isSingleLineComment && isSameLineComment) { - addDanglingComment(precedingNode, comment, markerForIfWithoutBlockAndSameLineComment); - } else { - addDanglingComment(enclosingNode, comment); - } - } - return true; - } - if (followingNode.type === "BlockStatement") { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - if (followingNode.type === "IfStatement") { - addBlockOrNotComment(followingNode.consequent, comment); - return true; - } - if (enclosingNode.consequent === followingNode) { - addLeadingComment(followingNode, comment); - return true; - } - return false; - } - function handleWhileComments({ - comment, - precedingNode, - enclosingNode, - followingNode, - text - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) !== "WhileStatement" || !followingNode) { - return false; - } - const nextCharacter = getNextNonSpaceNonCommentCharacter(text, comment, locEnd); - if (nextCharacter === ")") { - addTrailingComment(precedingNode, comment); - return true; - } - if (followingNode.type === "BlockStatement") { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - if (enclosingNode.body === followingNode) { - addLeadingComment(followingNode, comment); - return true; - } - return false; - } - function handleTryStatementComments({ - comment, - precedingNode, - enclosingNode, - followingNode - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) !== "TryStatement" && (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) !== "CatchClause" || !followingNode) { - return false; - } - if (enclosingNode.type === "CatchClause" && precedingNode) { - addTrailingComment(precedingNode, comment); - return true; - } - if (followingNode.type === "BlockStatement") { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - if (followingNode.type === "TryStatement") { - addBlockOrNotComment(followingNode.finalizer, comment); - return true; - } - if (followingNode.type === "CatchClause") { - addBlockOrNotComment(followingNode.body, comment); - return true; - } - return false; - } - function handleMemberExpressionComments({ - comment, - enclosingNode, - followingNode - }) { - if (isMemberExpression(enclosingNode) && (followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) === "Identifier") { - addLeadingComment(enclosingNode, comment); - return true; - } - return false; - } - function handleConditionalExpressionComments({ - comment, - precedingNode, - enclosingNode, - followingNode, - text - }) { - const isSameLineAsPrecedingNode = precedingNode && !hasNewlineInRange(text, locEnd(precedingNode), locStart(comment)); - if ((!precedingNode || !isSameLineAsPrecedingNode) && ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ConditionalExpression" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "TSConditionalType") && followingNode) { - addLeadingComment(followingNode, comment); - return true; - } - return false; - } - function handleObjectPropertyAssignment({ - comment, - precedingNode, - enclosingNode - }) { - if (isObjectProperty(enclosingNode) && enclosingNode.shorthand && enclosingNode.key === precedingNode && enclosingNode.value.type === "AssignmentPattern") { - addTrailingComment(enclosingNode.value.left, comment); - return true; - } - return false; - } - var classLikeNodeTypes = /* @__PURE__ */ new Set(["ClassDeclaration", "ClassExpression", "DeclareClass", "DeclareInterface", "InterfaceDeclaration", "TSInterfaceDeclaration"]); - function handleClassComments({ - comment, - precedingNode, - enclosingNode, - followingNode - }) { - if (classLikeNodeTypes.has(enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type)) { - if (isNonEmptyArray(enclosingNode.decorators) && !(followingNode && followingNode.type === "Decorator")) { - addTrailingComment(getLast(enclosingNode.decorators), comment); - return true; - } - if (enclosingNode.body && followingNode === enclosingNode.body) { - addBlockStatementFirstComment(enclosingNode.body, comment); - return true; - } - if (followingNode) { - if (enclosingNode.superClass && followingNode === enclosingNode.superClass && precedingNode && (precedingNode === enclosingNode.id || precedingNode === enclosingNode.typeParameters)) { - addTrailingComment(precedingNode, comment); - return true; - } - for (const prop of ["implements", "extends", "mixins"]) { - if (enclosingNode[prop] && followingNode === enclosingNode[prop][0]) { - if (precedingNode && (precedingNode === enclosingNode.id || precedingNode === enclosingNode.typeParameters || precedingNode === enclosingNode.superClass)) { - addTrailingComment(precedingNode, comment); - } else { - addDanglingComment(enclosingNode, comment, prop); - } - return true; - } - } - } - } - return false; - } - var propertyLikeNodeTypes = /* @__PURE__ */ new Set(["ClassMethod", "ClassProperty", "PropertyDefinition", "TSAbstractPropertyDefinition", "TSAbstractMethodDefinition", "TSDeclareMethod", "MethodDefinition", "ClassAccessorProperty", "AccessorProperty", "TSAbstractAccessorProperty"]); - function handleMethodNameComments({ - comment, - precedingNode, - enclosingNode, - text - }) { - if (enclosingNode && precedingNode && getNextNonSpaceNonCommentCharacter(text, comment, locEnd) === "(" && (enclosingNode.type === "Property" || enclosingNode.type === "TSDeclareMethod" || enclosingNode.type === "TSAbstractMethodDefinition") && precedingNode.type === "Identifier" && enclosingNode.key === precedingNode && getNextNonSpaceNonCommentCharacter(text, precedingNode, locEnd) !== ":") { - addTrailingComment(precedingNode, comment); - return true; - } - if ((precedingNode === null || precedingNode === void 0 ? void 0 : precedingNode.type) === "Decorator" && propertyLikeNodeTypes.has(enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type)) { - addTrailingComment(precedingNode, comment); - return true; - } - return false; - } - var functionLikeNodeTypes = /* @__PURE__ */ new Set(["FunctionDeclaration", "FunctionExpression", "ClassMethod", "MethodDefinition", "ObjectMethod"]); - function handleFunctionNameComments({ - comment, - precedingNode, - enclosingNode, - text - }) { - if (getNextNonSpaceNonCommentCharacter(text, comment, locEnd) !== "(") { - return false; - } - if (precedingNode && functionLikeNodeTypes.has(enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type)) { - addTrailingComment(precedingNode, comment); - return true; - } - return false; - } - function handleCommentAfterArrowParams({ - comment, - enclosingNode, - text - }) { - if (!((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ArrowFunctionExpression")) { - return false; - } - const index = getNextNonSpaceNonCommentCharacterIndex(text, comment, locEnd); - if (index !== false && text.slice(index, index + 2) === "=>") { - addDanglingComment(enclosingNode, comment); - return true; - } - return false; - } - function handleCommentInEmptyParens({ - comment, - enclosingNode, - text - }) { - if (getNextNonSpaceNonCommentCharacter(text, comment, locEnd) !== ")") { - return false; - } - if (enclosingNode && (isRealFunctionLikeNode(enclosingNode) && getFunctionParameters(enclosingNode).length === 0 || isCallLikeExpression(enclosingNode) && getCallArguments(enclosingNode).length === 0)) { - addDanglingComment(enclosingNode, comment); - return true; - } - if (((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "MethodDefinition" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "TSAbstractMethodDefinition") && getFunctionParameters(enclosingNode.value).length === 0) { - addDanglingComment(enclosingNode.value, comment); - return true; - } - return false; - } - function handleLastFunctionArgComments({ - comment, - precedingNode, - enclosingNode, - followingNode, - text - }) { - if ((precedingNode === null || precedingNode === void 0 ? void 0 : precedingNode.type) === "FunctionTypeParam" && (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "FunctionTypeAnnotation" && (followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) !== "FunctionTypeParam") { - addTrailingComment(precedingNode, comment); - return true; - } - if (((precedingNode === null || precedingNode === void 0 ? void 0 : precedingNode.type) === "Identifier" || (precedingNode === null || precedingNode === void 0 ? void 0 : precedingNode.type) === "AssignmentPattern") && enclosingNode && isRealFunctionLikeNode(enclosingNode) && getNextNonSpaceNonCommentCharacter(text, comment, locEnd) === ")") { - addTrailingComment(precedingNode, comment); - return true; - } - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "FunctionDeclaration" && (followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) === "BlockStatement") { - const functionParamRightParenIndex = (() => { - const parameters = getFunctionParameters(enclosingNode); - if (parameters.length > 0) { - return getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd(getLast(parameters))); - } - const functionParamLeftParenIndex = getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd(enclosingNode.id)); - return functionParamLeftParenIndex !== false && getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, functionParamLeftParenIndex + 1); - })(); - if (locStart(comment) > functionParamRightParenIndex) { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - } - return false; - } - function handleLabeledStatementComments({ - comment, - enclosingNode - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "LabeledStatement") { - addLeadingComment(enclosingNode, comment); - return true; - } - return false; - } - function handleBreakAndContinueStatementComments({ - comment, - enclosingNode - }) { - if (((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ContinueStatement" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "BreakStatement") && !enclosingNode.label) { - addTrailingComment(enclosingNode, comment); - return true; - } - return false; - } - function handleCallExpressionComments({ - comment, - precedingNode, - enclosingNode - }) { - if (isCallExpression(enclosingNode) && precedingNode && enclosingNode.callee === precedingNode && enclosingNode.arguments.length > 0) { - addLeadingComment(enclosingNode.arguments[0], comment); - return true; - } - return false; - } - function handleUnionTypeComments({ - comment, - precedingNode, - enclosingNode, - followingNode - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "UnionTypeAnnotation" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "TSUnionType") { - if (isPrettierIgnoreComment(comment)) { - followingNode.prettierIgnore = true; - comment.unignore = true; - } - if (precedingNode) { - addTrailingComment(precedingNode, comment); - return true; - } - return false; - } - if (((followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) === "UnionTypeAnnotation" || (followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) === "TSUnionType") && isPrettierIgnoreComment(comment)) { - followingNode.types[0].prettierIgnore = true; - comment.unignore = true; - } - return false; - } - function handlePropertyComments({ - comment, - enclosingNode - }) { - if (isObjectProperty(enclosingNode)) { - addLeadingComment(enclosingNode, comment); - return true; - } - return false; - } - function handleOnlyComments({ - comment, - enclosingNode, - followingNode, - ast, - isLastComment - }) { - if (ast && ast.body && ast.body.length === 0) { - if (isLastComment) { - addDanglingComment(ast, comment); - } else { - addLeadingComment(ast, comment); - } - return true; - } - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "Program" && (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.body.length) === 0 && !isNonEmptyArray(enclosingNode.directives)) { - if (isLastComment) { - addDanglingComment(enclosingNode, comment); - } else { - addLeadingComment(enclosingNode, comment); - } - return true; - } - if ((followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) === "Program" && (followingNode === null || followingNode === void 0 ? void 0 : followingNode.body.length) === 0 && (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ModuleExpression") { - addDanglingComment(followingNode, comment); - return true; - } - return false; - } - function handleForComments({ - comment, - enclosingNode - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ForInStatement" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ForOfStatement") { - addLeadingComment(enclosingNode, comment); - return true; - } - return false; - } - function handleModuleSpecifiersComments({ - comment, - precedingNode, - enclosingNode, - text - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ImportSpecifier" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ExportSpecifier") { - addLeadingComment(enclosingNode, comment); - return true; - } - const isImportDeclaration = (precedingNode === null || precedingNode === void 0 ? void 0 : precedingNode.type) === "ImportSpecifier" && (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ImportDeclaration"; - const isExportDeclaration = (precedingNode === null || precedingNode === void 0 ? void 0 : precedingNode.type) === "ExportSpecifier" && (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "ExportNamedDeclaration"; - if ((isImportDeclaration || isExportDeclaration) && hasNewline(text, locEnd(comment))) { - addTrailingComment(precedingNode, comment); - return true; - } - return false; - } - function handleAssignmentPatternComments({ - comment, - enclosingNode - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "AssignmentPattern") { - addLeadingComment(enclosingNode, comment); - return true; - } - return false; - } - var assignmentLikeNodeTypes = /* @__PURE__ */ new Set(["VariableDeclarator", "AssignmentExpression", "TypeAlias", "TSTypeAliasDeclaration"]); - var complexExprNodeTypes = /* @__PURE__ */ new Set(["ObjectExpression", "ArrayExpression", "TemplateLiteral", "TaggedTemplateExpression", "ObjectTypeAnnotation", "TSTypeLiteral"]); - function handleVariableDeclaratorComments({ - comment, - enclosingNode, - followingNode - }) { - if (assignmentLikeNodeTypes.has(enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) && followingNode && (complexExprNodeTypes.has(followingNode.type) || isBlockComment(comment))) { - addLeadingComment(followingNode, comment); - return true; - } - return false; - } - function handleTSFunctionTrailingComments({ - comment, - enclosingNode, - followingNode, - text - }) { - if (!followingNode && ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "TSMethodSignature" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "TSDeclareFunction" || (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "TSAbstractMethodDefinition") && getNextNonSpaceNonCommentCharacter(text, comment, locEnd) === ";") { - addTrailingComment(enclosingNode, comment); - return true; - } - return false; - } - function handleIgnoreComments({ - comment, - enclosingNode, - followingNode - }) { - if (isPrettierIgnoreComment(comment) && (enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) === "TSMappedType" && (followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) === "TSTypeParameter" && followingNode.constraint) { - enclosingNode.prettierIgnore = true; - comment.unignore = true; - return true; - } - } - function handleTSMappedTypeComments({ - comment, - precedingNode, - enclosingNode, - followingNode - }) { - if ((enclosingNode === null || enclosingNode === void 0 ? void 0 : enclosingNode.type) !== "TSMappedType") { - return false; - } - if ((followingNode === null || followingNode === void 0 ? void 0 : followingNode.type) === "TSTypeParameter" && followingNode.name) { - addLeadingComment(followingNode.name, comment); - return true; - } - if ((precedingNode === null || precedingNode === void 0 ? void 0 : precedingNode.type) === "TSTypeParameter" && precedingNode.constraint) { - addTrailingComment(precedingNode.constraint, comment); - return true; - } - return false; - } - function handleSwitchDefaultCaseComments({ - comment, - enclosingNode, - followingNode - }) { - if (!enclosingNode || enclosingNode.type !== "SwitchCase" || enclosingNode.test || !followingNode || followingNode !== enclosingNode.consequent[0]) { - return false; - } - if (followingNode.type === "BlockStatement" && isLineComment(comment)) { - addBlockStatementFirstComment(followingNode, comment); - } else { - addDanglingComment(enclosingNode, comment); - } - return true; - } - function isRealFunctionLikeNode(node) { - return node.type === "ArrowFunctionExpression" || node.type === "FunctionExpression" || node.type === "FunctionDeclaration" || node.type === "ObjectMethod" || node.type === "ClassMethod" || node.type === "TSDeclareFunction" || node.type === "TSCallSignatureDeclaration" || node.type === "TSConstructSignatureDeclaration" || node.type === "TSMethodSignature" || node.type === "TSConstructorType" || node.type === "TSFunctionType" || node.type === "TSDeclareMethod"; - } - function getCommentChildNodes(node, options) { - if ((options.parser === "typescript" || options.parser === "flow" || options.parser === "acorn" || options.parser === "espree" || options.parser === "meriyah" || options.parser === "__babel_estree") && node.type === "MethodDefinition" && node.value && node.value.type === "FunctionExpression" && getFunctionParameters(node.value).length === 0 && !node.value.returnType && !isNonEmptyArray(node.value.typeParameters) && node.value.body) { - return [...node.decorators || [], node.key, node.value.body]; - } - } - function willPrintOwnComments(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - const hasFlowAnnotations = (node2) => hasFlowAnnotationComment(getComments(node2, CommentCheckFlags.Leading)) || hasFlowAnnotationComment(getComments(node2, CommentCheckFlags.Trailing)); - return (node && (isJsxNode(node) || hasFlowShorthandAnnotationComment(node) || isCallExpression(parent) && hasFlowAnnotations(node)) || parent && (parent.type === "JSXSpreadAttribute" || parent.type === "JSXSpreadChild" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || (parent.type === "ClassDeclaration" || parent.type === "ClassExpression") && parent.superClass === node)) && (!hasIgnoreComment(path) || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType"); - } - module2.exports = { - handleOwnLineComment, - handleEndOfLineComment, - handleRemainingComment, - getCommentChildNodes, - willPrintOwnComments - }; - } -}); -var require_needs_parens = __commonJS2({ - "src/language-js/needs-parens.js"(exports2, module2) { - "use strict"; - var getLast = require_get_last(); - var isNonEmptyArray = require_is_non_empty_array(); - var { - getFunctionParameters, - getLeftSidePathName, - hasFlowShorthandAnnotationComment, - hasNakedLeftSide, - hasNode, - isBitwiseOperator, - startsWithNoLookaheadToken, - shouldFlatten, - getPrecedence, - isCallExpression, - isMemberExpression, - isObjectProperty, - isTSTypeExpression - } = require_utils7(); - function needsParens(path, options) { - const parent = path.getParentNode(); - if (!parent) { - return false; - } - const name = path.getName(); - const node = path.getNode(); - if (options.__isInHtmlInterpolation && !options.bracketSpacing && endsWithRightBracket(node) && isFollowedByRightBracket(path)) { - return true; - } - if (isStatement(node)) { - return false; - } - if (options.parser !== "flow" && hasFlowShorthandAnnotationComment(path.getValue())) { - return true; - } - if (node.type === "Identifier") { - if (node.extra && node.extra.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(node.name)) { - return true; - } - if (name === "left" && (node.name === "async" && !parent.await || node.name === "let") && parent.type === "ForOfStatement") { - return true; - } - if (node.name === "let") { - var _path$findAncestor; - const expression = (_path$findAncestor = path.findAncestor((node2) => node2.type === "ForOfStatement")) === null || _path$findAncestor === void 0 ? void 0 : _path$findAncestor.left; - if (expression && startsWithNoLookaheadToken(expression, (leftmostNode) => leftmostNode === node)) { - return true; - } - } - if (name === "object" && node.name === "let" && parent.type === "MemberExpression" && parent.computed && !parent.optional) { - const statement = path.findAncestor((node2) => node2.type === "ExpressionStatement" || node2.type === "ForStatement" || node2.type === "ForInStatement"); - const expression = !statement ? void 0 : statement.type === "ExpressionStatement" ? statement.expression : statement.type === "ForStatement" ? statement.init : statement.left; - if (expression && startsWithNoLookaheadToken(expression, (leftmostNode) => leftmostNode === node)) { - return true; - } - } - return false; - } - if (node.type === "ObjectExpression" || node.type === "FunctionExpression" || node.type === "ClassExpression" || node.type === "DoExpression") { - var _path$findAncestor2; - const expression = (_path$findAncestor2 = path.findAncestor((node2) => node2.type === "ExpressionStatement")) === null || _path$findAncestor2 === void 0 ? void 0 : _path$findAncestor2.expression; - if (expression && startsWithNoLookaheadToken(expression, (leftmostNode) => leftmostNode === node)) { - return true; - } - } - switch (parent.type) { - case "ParenthesizedExpression": - return false; - case "ClassDeclaration": - case "ClassExpression": { - if (name === "superClass" && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression" || node.type === "TSNonNullExpression")) { - return true; - } - break; - } - case "ExportDefaultDeclaration": { - return shouldWrapFunctionForExportDefault(path, options) || node.type === "SequenceExpression"; - } - case "Decorator": { - if (name === "expression") { - if (isMemberExpression(node) && node.computed) { - return true; - } - let hasCallExpression = false; - let hasMemberExpression = false; - let current = node; - while (current) { - switch (current.type) { - case "MemberExpression": - hasMemberExpression = true; - current = current.object; - break; - case "CallExpression": - if (hasMemberExpression || hasCallExpression) { - return options.parser !== "typescript"; - } - hasCallExpression = true; - current = current.callee; - break; - case "Identifier": - return false; - case "TaggedTemplateExpression": - return options.parser !== "typescript"; - default: - return true; - } - } - return true; - } - break; - } - case "ArrowFunctionExpression": { - if (name === "body" && node.type !== "SequenceExpression" && startsWithNoLookaheadToken(node, (node2) => node2.type === "ObjectExpression")) { - return true; - } - break; - } - } - switch (node.type) { - case "UpdateExpression": - if (parent.type === "UnaryExpression") { - return node.prefix && (node.operator === "++" && parent.operator === "+" || node.operator === "--" && parent.operator === "-"); - } - case "UnaryExpression": - switch (parent.type) { - case "UnaryExpression": - return node.operator === parent.operator && (node.operator === "+" || node.operator === "-"); - case "BindExpression": - return true; - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - case "TaggedTemplateExpression": - return true; - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - case "BinaryExpression": - return name === "left" && parent.operator === "**"; - case "TSNonNullExpression": - return true; - default: - return false; - } - case "BinaryExpression": { - if (parent.type === "UpdateExpression") { - return true; - } - if (node.operator === "in" && isPathInForStatementInitializer(path)) { - return true; - } - if (node.operator === "|>" && node.extra && node.extra.parenthesized) { - const grandParent = path.getParentNode(1); - if (grandParent.type === "BinaryExpression" && grandParent.operator === "|>") { - return true; - } - } - } - case "TSTypeAssertion": - case "TSAsExpression": - case "TSSatisfiesExpression": - case "LogicalExpression": - switch (parent.type) { - case "TSSatisfiesExpression": - case "TSAsExpression": - return !isTSTypeExpression(node); - case "ConditionalExpression": - return isTSTypeExpression(node); - case "CallExpression": - case "NewExpression": - case "OptionalCallExpression": - return name === "callee"; - case "ClassExpression": - case "ClassDeclaration": - return name === "superClass"; - case "TSTypeAssertion": - case "TaggedTemplateExpression": - case "UnaryExpression": - case "JSXSpreadAttribute": - case "SpreadElement": - case "SpreadProperty": - case "BindExpression": - case "AwaitExpression": - case "TSNonNullExpression": - case "UpdateExpression": - return true; - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - case "AssignmentExpression": - case "AssignmentPattern": - return name === "left" && (node.type === "TSTypeAssertion" || isTSTypeExpression(node)); - case "LogicalExpression": - if (node.type === "LogicalExpression") { - return parent.operator !== node.operator; - } - case "BinaryExpression": { - const { - operator, - type - } = node; - if (!operator && type !== "TSTypeAssertion") { - return true; - } - const precedence = getPrecedence(operator); - const parentOperator = parent.operator; - const parentPrecedence = getPrecedence(parentOperator); - if (parentPrecedence > precedence) { - return true; - } - if (name === "right" && parentPrecedence === precedence) { - return true; - } - if (parentPrecedence === precedence && !shouldFlatten(parentOperator, operator)) { - return true; - } - if (parentPrecedence < precedence && operator === "%") { - return parentOperator === "+" || parentOperator === "-"; - } - if (isBitwiseOperator(parentOperator)) { - return true; - } - return false; - } - default: - return false; - } - case "SequenceExpression": - switch (parent.type) { - case "ReturnStatement": - return false; - case "ForStatement": - return false; - case "ExpressionStatement": - return name !== "expression"; - case "ArrowFunctionExpression": - return name !== "body"; - default: - return true; - } - case "YieldExpression": - if (parent.type === "UnaryExpression" || parent.type === "AwaitExpression" || isTSTypeExpression(parent) || parent.type === "TSNonNullExpression") { - return true; - } - case "AwaitExpression": - switch (parent.type) { - case "TaggedTemplateExpression": - case "UnaryExpression": - case "LogicalExpression": - case "SpreadElement": - case "SpreadProperty": - case "TSAsExpression": - case "TSSatisfiesExpression": - case "TSNonNullExpression": - case "BindExpression": - return true; - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - case "ConditionalExpression": - return name === "test"; - case "BinaryExpression": { - if (!node.argument && parent.operator === "|>") { - return false; - } - return true; - } - default: - return false; - } - case "TSConditionalType": - case "TSFunctionType": - case "TSConstructorType": - if (name === "extendsType" && parent.type === "TSConditionalType") { - if (node.type === "TSConditionalType") { - return true; - } - let { - typeAnnotation - } = node.returnType || node.typeAnnotation; - if (typeAnnotation.type === "TSTypePredicate" && typeAnnotation.typeAnnotation) { - typeAnnotation = typeAnnotation.typeAnnotation.typeAnnotation; - } - if (typeAnnotation.type === "TSInferType" && typeAnnotation.typeParameter.constraint) { - return true; - } - } - if (name === "checkType" && parent.type === "TSConditionalType") { - return true; - } - case "TSUnionType": - case "TSIntersectionType": - if ((parent.type === "TSUnionType" || parent.type === "TSIntersectionType") && parent.types.length > 1 && (!node.types || node.types.length > 1)) { - return true; - } - case "TSInferType": - if (node.type === "TSInferType" && parent.type === "TSRestType") { - return false; - } - case "TSTypeOperator": - return parent.type === "TSArrayType" || parent.type === "TSOptionalType" || parent.type === "TSRestType" || name === "objectType" && parent.type === "TSIndexedAccessType" || parent.type === "TSTypeOperator" || parent.type === "TSTypeAnnotation" && path.getParentNode(1).type.startsWith("TSJSDoc"); - case "TSTypeQuery": - return name === "objectType" && parent.type === "TSIndexedAccessType" || name === "elementType" && parent.type === "TSArrayType"; - case "TypeofTypeAnnotation": - return name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType") || name === "elementType" && parent.type === "ArrayTypeAnnotation"; - case "ArrayTypeAnnotation": - return parent.type === "NullableTypeAnnotation"; - case "IntersectionTypeAnnotation": - case "UnionTypeAnnotation": - return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation" || name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); - case "NullableTypeAnnotation": - return parent.type === "ArrayTypeAnnotation" || name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); - case "FunctionTypeAnnotation": { - const ancestor = parent.type === "NullableTypeAnnotation" ? path.getParentNode(1) : parent; - return ancestor.type === "UnionTypeAnnotation" || ancestor.type === "IntersectionTypeAnnotation" || ancestor.type === "ArrayTypeAnnotation" || name === "objectType" && (ancestor.type === "IndexedAccessType" || ancestor.type === "OptionalIndexedAccessType") || ancestor.type === "NullableTypeAnnotation" || parent.type === "FunctionTypeParam" && parent.name === null && getFunctionParameters(node).some((param) => param.typeAnnotation && param.typeAnnotation.type === "NullableTypeAnnotation"); - } - case "OptionalIndexedAccessType": - return name === "objectType" && parent.type === "IndexedAccessType"; - case "StringLiteral": - case "NumericLiteral": - case "Literal": - if (typeof node.value === "string" && parent.type === "ExpressionStatement" && !parent.directive) { - const grandParent = path.getParentNode(1); - return grandParent.type === "Program" || grandParent.type === "BlockStatement"; - } - return name === "object" && parent.type === "MemberExpression" && typeof node.value === "number"; - case "AssignmentExpression": { - const grandParent = path.getParentNode(1); - if (name === "body" && parent.type === "ArrowFunctionExpression") { - return true; - } - if (name === "key" && (parent.type === "ClassProperty" || parent.type === "PropertyDefinition") && parent.computed) { - return false; - } - if ((name === "init" || name === "update") && parent.type === "ForStatement") { - return false; - } - if (parent.type === "ExpressionStatement") { - return node.left.type === "ObjectPattern"; - } - if (name === "key" && parent.type === "TSPropertySignature") { - return false; - } - if (parent.type === "AssignmentExpression") { - return false; - } - if (parent.type === "SequenceExpression" && grandParent && grandParent.type === "ForStatement" && (grandParent.init === parent || grandParent.update === parent)) { - return false; - } - if (name === "value" && parent.type === "Property" && grandParent && grandParent.type === "ObjectPattern" && grandParent.properties.includes(parent)) { - return false; - } - if (parent.type === "NGChainedExpression") { - return false; - } - return true; - } - case "ConditionalExpression": - switch (parent.type) { - case "TaggedTemplateExpression": - case "UnaryExpression": - case "SpreadElement": - case "SpreadProperty": - case "BinaryExpression": - case "LogicalExpression": - case "NGPipeExpression": - case "ExportDefaultDeclaration": - case "AwaitExpression": - case "JSXSpreadAttribute": - case "TSTypeAssertion": - case "TypeCastExpression": - case "TSAsExpression": - case "TSSatisfiesExpression": - case "TSNonNullExpression": - return true; - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - case "ConditionalExpression": - return name === "test"; - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - default: - return false; - } - case "FunctionExpression": - switch (parent.type) { - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - case "TaggedTemplateExpression": - return true; - default: - return false; - } - case "ArrowFunctionExpression": - switch (parent.type) { - case "BinaryExpression": - return parent.operator !== "|>" || node.extra && node.extra.parenthesized; - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - case "TSAsExpression": - case "TSSatisfiesExpression": - case "TSNonNullExpression": - case "BindExpression": - case "TaggedTemplateExpression": - case "UnaryExpression": - case "LogicalExpression": - case "AwaitExpression": - case "TSTypeAssertion": - return true; - case "ConditionalExpression": - return name === "test"; - default: - return false; - } - case "ClassExpression": - if (isNonEmptyArray(node.decorators)) { - return true; - } - switch (parent.type) { - case "NewExpression": - return name === "callee"; - default: - return false; - } - case "OptionalMemberExpression": - case "OptionalCallExpression": { - const parentParent = path.getParentNode(1); - if (name === "object" && parent.type === "MemberExpression" || name === "callee" && (parent.type === "CallExpression" || parent.type === "NewExpression") || parent.type === "TSNonNullExpression" && parentParent.type === "MemberExpression" && parentParent.object === parent) { - return true; - } - } - case "CallExpression": - case "MemberExpression": - case "TaggedTemplateExpression": - case "TSNonNullExpression": - if (name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression")) { - let object = node; - while (object) { - switch (object.type) { - case "CallExpression": - case "OptionalCallExpression": - return true; - case "MemberExpression": - case "OptionalMemberExpression": - case "BindExpression": - object = object.object; - break; - case "TaggedTemplateExpression": - object = object.tag; - break; - case "TSNonNullExpression": - object = object.expression; - break; - default: - return false; - } - } - } - return false; - case "BindExpression": - return name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression") || name === "object" && isMemberExpression(parent); - case "NGPipeExpression": - if (parent.type === "NGRoot" || parent.type === "NGMicrosyntaxExpression" || parent.type === "ObjectProperty" && !(node.extra && node.extra.parenthesized) || parent.type === "ArrayExpression" || isCallExpression(parent) && parent.arguments[name] === node || name === "right" && parent.type === "NGPipeExpression" || name === "property" && parent.type === "MemberExpression" || parent.type === "AssignmentExpression") { - return false; - } - return true; - case "JSXFragment": - case "JSXElement": - return name === "callee" || name === "left" && parent.type === "BinaryExpression" && parent.operator === "<" || parent.type !== "ArrayExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "AssignmentExpression" && parent.type !== "AssignmentPattern" && parent.type !== "BinaryExpression" && parent.type !== "NewExpression" && parent.type !== "ConditionalExpression" && parent.type !== "ExpressionStatement" && parent.type !== "JsExpressionRoot" && parent.type !== "JSXAttribute" && parent.type !== "JSXElement" && parent.type !== "JSXExpressionContainer" && parent.type !== "JSXFragment" && parent.type !== "LogicalExpression" && !isCallExpression(parent) && !isObjectProperty(parent) && parent.type !== "ReturnStatement" && parent.type !== "ThrowStatement" && parent.type !== "TypeCastExpression" && parent.type !== "VariableDeclarator" && parent.type !== "YieldExpression"; - case "TypeAnnotation": - return name === "returnType" && parent.type === "ArrowFunctionExpression" && includesFunctionTypeInObjectType(node); - } - return false; - } - function isStatement(node) { - return node.type === "BlockStatement" || node.type === "BreakStatement" || node.type === "ClassBody" || node.type === "ClassDeclaration" || node.type === "ClassMethod" || node.type === "ClassProperty" || node.type === "PropertyDefinition" || node.type === "ClassPrivateProperty" || node.type === "ContinueStatement" || node.type === "DebuggerStatement" || node.type === "DeclareClass" || node.type === "DeclareExportAllDeclaration" || node.type === "DeclareExportDeclaration" || node.type === "DeclareFunction" || node.type === "DeclareInterface" || node.type === "DeclareModule" || node.type === "DeclareModuleExports" || node.type === "DeclareVariable" || node.type === "DoWhileStatement" || node.type === "EnumDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ExportDefaultDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExpressionStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement" || node.type === "ForStatement" || node.type === "FunctionDeclaration" || node.type === "IfStatement" || node.type === "ImportDeclaration" || node.type === "InterfaceDeclaration" || node.type === "LabeledStatement" || node.type === "MethodDefinition" || node.type === "ReturnStatement" || node.type === "SwitchStatement" || node.type === "ThrowStatement" || node.type === "TryStatement" || node.type === "TSDeclareFunction" || node.type === "TSEnumDeclaration" || node.type === "TSImportEqualsDeclaration" || node.type === "TSInterfaceDeclaration" || node.type === "TSModuleDeclaration" || node.type === "TSNamespaceExportDeclaration" || node.type === "TypeAlias" || node.type === "VariableDeclaration" || node.type === "WhileStatement" || node.type === "WithStatement"; - } - function isPathInForStatementInitializer(path) { - let i = 0; - let node = path.getValue(); - while (node) { - const parent = path.getParentNode(i++); - if (parent && parent.type === "ForStatement" && parent.init === node) { - return true; - } - node = parent; - } - return false; - } - function includesFunctionTypeInObjectType(node) { - return hasNode(node, (n1) => n1.type === "ObjectTypeAnnotation" && hasNode(n1, (n2) => n2.type === "FunctionTypeAnnotation" || void 0) || void 0); - } - function endsWithRightBracket(node) { - switch (node.type) { - case "ObjectExpression": - return true; - default: - return false; - } - } - function isFollowedByRightBracket(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - const name = path.getName(); - switch (parent.type) { - case "NGPipeExpression": - if (typeof name === "number" && parent.arguments[name] === node && parent.arguments.length - 1 === name) { - return path.callParent(isFollowedByRightBracket); - } - break; - case "ObjectProperty": - if (name === "value") { - const parentParent = path.getParentNode(1); - return getLast(parentParent.properties) === parent; - } - break; - case "BinaryExpression": - case "LogicalExpression": - if (name === "right") { - return path.callParent(isFollowedByRightBracket); - } - break; - case "ConditionalExpression": - if (name === "alternate") { - return path.callParent(isFollowedByRightBracket); - } - break; - case "UnaryExpression": - if (parent.prefix) { - return path.callParent(isFollowedByRightBracket); - } - break; - } - return false; - } - function shouldWrapFunctionForExportDefault(path, options) { - const node = path.getValue(); - const parent = path.getParentNode(); - if (node.type === "FunctionExpression" || node.type === "ClassExpression") { - return parent.type === "ExportDefaultDeclaration" || !needsParens(path, options); - } - if (!hasNakedLeftSide(node) || parent.type !== "ExportDefaultDeclaration" && needsParens(path, options)) { - return false; - } - return path.call((childPath) => shouldWrapFunctionForExportDefault(childPath, options), ...getLeftSidePathName(path, node)); - } - module2.exports = needsParens; - } -}); -var require_print_preprocess = __commonJS2({ - "src/language-js/print-preprocess.js"(exports2, module2) { - "use strict"; - function preprocess(ast, options) { - switch (options.parser) { - case "json": - case "json5": - case "json-stringify": - case "__js_expression": - case "__vue_expression": - case "__vue_ts_expression": - return Object.assign(Object.assign({}, ast), {}, { - type: options.parser.startsWith("__") ? "JsExpressionRoot" : "JsonRoot", - node: ast, - comments: [], - rootMarker: options.rootMarker - }); - default: - return ast; - } - } - module2.exports = preprocess; - } -}); -var require_html_binding = __commonJS2({ - "src/language-js/print/html-binding.js"(exports2, module2) { - "use strict"; - var { - builders: { - join, - line, - group, - softline, - indent - } - } = require("./doc.js"); - function printHtmlBinding(path, options, print) { - const node = path.getValue(); - if (options.__onHtmlBindingRoot && path.getName() === null) { - options.__onHtmlBindingRoot(node, options); - } - if (node.type !== "File") { - return; - } - if (options.__isVueForBindingLeft) { - return path.call((functionDeclarationPath) => { - const printed = join([",", line], functionDeclarationPath.map(print, "params")); - const { - params - } = functionDeclarationPath.getValue(); - if (params.length === 1) { - return printed; - } - return ["(", indent([softline, group(printed)]), softline, ")"]; - }, "program", "body", 0); - } - if (options.__isVueBindings) { - return path.call((functionDeclarationPath) => join([",", line], functionDeclarationPath.map(print, "params")), "program", "body", 0); - } - } - function isVueEventBindingExpression(node) { - switch (node.type) { - case "MemberExpression": - switch (node.property.type) { - case "Identifier": - case "NumericLiteral": - case "StringLiteral": - return isVueEventBindingExpression(node.object); - } - return false; - case "Identifier": - return true; - default: - return false; - } - } - module2.exports = { - isVueEventBindingExpression, - printHtmlBinding - }; - } -}); -var require_binaryish = __commonJS2({ - "src/language-js/print/binaryish.js"(exports2, module2) { - "use strict"; - var { - printComments - } = require_comments(); - var { - getLast - } = require_util(); - var { - builders: { - join, - line, - softline, - group, - indent, - align, - indentIfBreak - }, - utils: { - cleanDoc, - getDocParts, - isConcat - } - } = require("./doc.js"); - var { - hasLeadingOwnLineComment, - isBinaryish, - isJsxNode, - shouldFlatten, - hasComment, - CommentCheckFlags, - isCallExpression, - isMemberExpression, - isObjectProperty, - isEnabledHackPipeline - } = require_utils7(); - var uid = 0; - function printBinaryishExpression(path, options, print) { - const node = path.getValue(); - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - const isInsideParenthesis = node !== parent.body && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "SwitchStatement" || parent.type === "DoWhileStatement"); - const isHackPipeline = isEnabledHackPipeline(options) && node.operator === "|>"; - const parts = printBinaryishExpressions(path, print, options, false, isInsideParenthesis); - if (isInsideParenthesis) { - return parts; - } - if (isHackPipeline) { - return group(parts); - } - if (isCallExpression(parent) && parent.callee === node || parent.type === "UnaryExpression" || isMemberExpression(parent) && !parent.computed) { - return group([indent([softline, ...parts]), softline]); - } - const shouldNotIndent = parent.type === "ReturnStatement" || parent.type === "ThrowStatement" || parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" || node.operator !== "|" && parent.type === "JsExpressionRoot" || node.type !== "NGPipeExpression" && (parent.type === "NGRoot" && options.parser === "__ng_binding" || parent.type === "NGMicrosyntaxExpression" && parentParent.type === "NGMicrosyntax" && parentParent.body.length === 1) || node === parent.body && parent.type === "ArrowFunctionExpression" || node !== parent.body && parent.type === "ForStatement" || parent.type === "ConditionalExpression" && parentParent.type !== "ReturnStatement" && parentParent.type !== "ThrowStatement" && !isCallExpression(parentParent) || parent.type === "TemplateLiteral"; - const shouldIndentIfInlining = parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "PropertyDefinition" || parent.type === "TSAbstractPropertyDefinition" || parent.type === "ClassPrivateProperty" || isObjectProperty(parent); - const samePrecedenceSubExpression = isBinaryish(node.left) && shouldFlatten(node.operator, node.left.operator); - if (shouldNotIndent || shouldInlineLogicalExpression(node) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression(node) && shouldIndentIfInlining) { - return group(parts); - } - if (parts.length === 0) { - return ""; - } - const hasJsx = isJsxNode(node.right); - const firstGroupIndex = parts.findIndex((part) => typeof part !== "string" && !Array.isArray(part) && part.type === "group"); - const headParts = parts.slice(0, firstGroupIndex === -1 ? 1 : firstGroupIndex + 1); - const rest = parts.slice(headParts.length, hasJsx ? -1 : void 0); - const groupId = Symbol("logicalChain-" + ++uid); - const chain = group([...headParts, indent(rest)], { - id: groupId - }); - if (!hasJsx) { - return chain; - } - const jsxPart = getLast(parts); - return group([chain, indentIfBreak(jsxPart, { - groupId - })]); - } - function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) { - const node = path.getValue(); - if (!isBinaryish(node)) { - return [group(print())]; - } - let parts = []; - if (shouldFlatten(node.operator, node.left.operator)) { - parts = path.call((left) => printBinaryishExpressions(left, print, options, true, isInsideParenthesis), "left"); - } else { - parts.push(group(print("left"))); - } - const shouldInline = shouldInlineLogicalExpression(node); - const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || node.operator === "|" && options.parser === "__vue_expression") && !hasLeadingOwnLineComment(options.originalText, node.right); - const operator = node.type === "NGPipeExpression" ? "|" : node.operator; - const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length > 0 ? group(indent([line, ": ", join([line, ": "], path.map(print, "arguments").map((arg) => align(2, group(arg))))])) : ""; - let right; - if (shouldInline) { - right = [operator, " ", print("right"), rightSuffix]; - } else { - const isHackPipeline = isEnabledHackPipeline(options) && operator === "|>"; - const rightContent = isHackPipeline ? path.call((left) => printBinaryishExpressions(left, print, options, true, isInsideParenthesis), "right") : print("right"); - right = [lineBeforeOperator ? line : "", operator, lineBeforeOperator ? " " : line, rightContent, rightSuffix]; - } - const parent = path.getParentNode(); - const shouldBreak = hasComment(node.left, CommentCheckFlags.Trailing | CommentCheckFlags.Line); - const shouldGroup = shouldBreak || !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; - parts.push(lineBeforeOperator ? "" : " ", shouldGroup ? group(right, { - shouldBreak - }) : right); - if (isNested && hasComment(node)) { - const printed = cleanDoc(printComments(path, parts, options)); - if (isConcat(printed) || printed.type === "fill") { - return getDocParts(printed); - } - return [printed]; - } - return parts; - } - function shouldInlineLogicalExpression(node) { - if (node.type !== "LogicalExpression") { - return false; - } - if (node.right.type === "ObjectExpression" && node.right.properties.length > 0) { - return true; - } - if (node.right.type === "ArrayExpression" && node.right.elements.length > 0) { - return true; - } - if (isJsxNode(node.right)) { - return true; - } - return false; - } - module2.exports = { - printBinaryishExpression, - shouldInlineLogicalExpression - }; - } -}); -var require_angular = __commonJS2({ - "src/language-js/print/angular.js"(exports2, module2) { - "use strict"; - var { - builders: { - join, - line, - group - } - } = require("./doc.js"); - var { - hasNode, - hasComment, - getComments - } = require_utils7(); - var { - printBinaryishExpression - } = require_binaryish(); - function printAngular(path, options, print) { - const node = path.getValue(); - if (!node.type.startsWith("NG")) { - return; - } - switch (node.type) { - case "NGRoot": - return [print("node"), !hasComment(node.node) ? "" : " //" + getComments(node.node)[0].value.trimEnd()]; - case "NGPipeExpression": - return printBinaryishExpression(path, options, print); - case "NGChainedExpression": - return group(join([";", line], path.map((childPath) => hasNgSideEffect(childPath) ? print() : ["(", print(), ")"], "expressions"))); - case "NGEmptyExpression": - return ""; - case "NGQuotedExpression": - return [node.prefix, ": ", node.value.trim()]; - case "NGMicrosyntax": - return path.map((childPath, index) => [index === 0 ? "" : isNgForOf(childPath.getValue(), index, node) ? " " : [";", line], print()], "body"); - case "NGMicrosyntaxKey": - return /^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/i.test(node.name) ? node.name : JSON.stringify(node.name); - case "NGMicrosyntaxExpression": - return [print("expression"), node.alias === null ? "" : [" as ", print("alias")]]; - case "NGMicrosyntaxKeyedExpression": { - const index = path.getName(); - const parentNode = path.getParentNode(); - const shouldNotPrintColon = isNgForOf(node, index, parentNode) || (index === 1 && (node.key.name === "then" || node.key.name === "else") || index === 2 && node.key.name === "else" && parentNode.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parentNode.body[index - 1].key.name === "then") && parentNode.body[0].type === "NGMicrosyntaxExpression"; - return [print("key"), shouldNotPrintColon ? " " : ": ", print("expression")]; - } - case "NGMicrosyntaxLet": - return ["let ", print("key"), node.value === null ? "" : [" = ", print("value")]]; - case "NGMicrosyntaxAs": - return [print("key"), " as ", print("alias")]; - default: - throw new Error(`Unknown Angular node type: ${JSON.stringify(node.type)}.`); - } - } - function isNgForOf(node, index, parentNode) { - return node.type === "NGMicrosyntaxKeyedExpression" && node.key.name === "of" && index === 1 && parentNode.body[0].type === "NGMicrosyntaxLet" && parentNode.body[0].value === null; - } - function hasNgSideEffect(path) { - return hasNode(path.getValue(), (node) => { - switch (node.type) { - case void 0: - return false; - case "CallExpression": - case "OptionalCallExpression": - case "AssignmentExpression": - return true; - } - }); - } - module2.exports = { - printAngular - }; - } -}); -var require_jsx = __commonJS2({ - "src/language-js/print/jsx.js"(exports2, module2) { - "use strict"; - var { - printComments, - printDanglingComments, - printCommentsSeparately - } = require_comments(); - var { - builders: { - line, - hardline, - softline, - group, - indent, - conditionalGroup, - fill, - ifBreak, - lineSuffixBoundary, - join - }, - utils: { - willBreak - } - } = require("./doc.js"); - var { - getLast, - getPreferredQuote - } = require_util(); - var { - isJsxNode, - rawText, - isCallExpression, - isStringLiteral, - isBinaryish, - hasComment, - CommentCheckFlags, - hasNodeIgnoreComment - } = require_utils7(); - var pathNeedsParens = require_needs_parens(); - var { - willPrintOwnComments - } = require_comments2(); - var isEmptyStringOrAnyLine = (doc2) => doc2 === "" || doc2 === line || doc2 === hardline || doc2 === softline; - function printJsxElementInternal(path, options, print) { - const node = path.getValue(); - if (node.type === "JSXElement" && isEmptyJsxElement(node)) { - return [print("openingElement"), print("closingElement")]; - } - const openingLines = node.type === "JSXElement" ? print("openingElement") : print("openingFragment"); - const closingLines = node.type === "JSXElement" ? print("closingElement") : print("closingFragment"); - if (node.children.length === 1 && node.children[0].type === "JSXExpressionContainer" && (node.children[0].expression.type === "TemplateLiteral" || node.children[0].expression.type === "TaggedTemplateExpression")) { - return [openingLines, ...path.map(print, "children"), closingLines]; - } - node.children = node.children.map((child) => { - if (isJsxWhitespaceExpression(child)) { - return { - type: "JSXText", - value: " ", - raw: " " - }; - } - return child; - }); - const containsTag = node.children.some(isJsxNode); - const containsMultipleExpressions = node.children.filter((child) => child.type === "JSXExpressionContainer").length > 1; - const containsMultipleAttributes = node.type === "JSXElement" && node.openingElement.attributes.length > 1; - let forcedBreak = willBreak(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions; - const isMdxBlock = path.getParentNode().rootMarker === "mdx"; - const rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; - const jsxWhitespace = isMdxBlock ? " " : ifBreak([rawJsxWhitespace, softline], " "); - const isFacebookTranslationTag = node.openingElement && node.openingElement.name && node.openingElement.name.name === "fbt"; - const children = printJsxChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag); - const containsText = node.children.some((child) => isMeaningfulJsxText(child)); - for (let i = children.length - 2; i >= 0; i--) { - const isPairOfEmptyStrings = children[i] === "" && children[i + 1] === ""; - const isPairOfHardlines = children[i] === hardline && children[i + 1] === "" && children[i + 2] === hardline; - const isLineFollowedByJsxWhitespace = (children[i] === softline || children[i] === hardline) && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isJsxWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === "" && (children[i + 2] === softline || children[i + 2] === hardline); - const isDoubleJsxWhitespace = children[i] === jsxWhitespace && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isPairOfHardOrSoftLines = children[i] === softline && children[i + 1] === "" && children[i + 2] === hardline || children[i] === hardline && children[i + 1] === "" && children[i + 2] === softline; - if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJsxWhitespace || isDoubleJsxWhitespace || isPairOfHardOrSoftLines) { - children.splice(i, 2); - } else if (isJsxWhitespaceFollowedByLine) { - children.splice(i + 1, 2); - } - } - while (children.length > 0 && isEmptyStringOrAnyLine(getLast(children))) { - children.pop(); - } - while (children.length > 1 && isEmptyStringOrAnyLine(children[0]) && isEmptyStringOrAnyLine(children[1])) { - children.shift(); - children.shift(); - } - const multilineChildren = []; - for (const [i, child] of children.entries()) { - if (child === jsxWhitespace) { - if (i === 1 && children[i - 1] === "") { - if (children.length === 2) { - multilineChildren.push(rawJsxWhitespace); - continue; - } - multilineChildren.push([rawJsxWhitespace, hardline]); - continue; - } else if (i === children.length - 1) { - multilineChildren.push(rawJsxWhitespace); - continue; - } else if (children[i - 1] === "" && children[i - 2] === hardline) { - multilineChildren.push(rawJsxWhitespace); - continue; - } - } - multilineChildren.push(child); - if (willBreak(child)) { - forcedBreak = true; - } - } - const content = containsText ? fill(multilineChildren) : group(multilineChildren, { - shouldBreak: true - }); - if (isMdxBlock) { - return content; - } - const multiLineElem = group([openingLines, indent([hardline, content]), hardline, closingLines]); - if (forcedBreak) { - return multiLineElem; - } - return conditionalGroup([group([openingLines, ...children, closingLines]), multiLineElem]); - } - function printJsxChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag) { - const parts = []; - path.each((childPath, i, children) => { - const child = childPath.getValue(); - if (child.type === "JSXText") { - const text = rawText(child); - if (isMeaningfulJsxText(child)) { - const words = text.split(matchJsxWhitespaceRegex); - if (words[0] === "") { - parts.push(""); - words.shift(); - if (/\n/.test(words[0])) { - const next = children[i + 1]; - parts.push(separatorWithWhitespace(isFacebookTranslationTag, words[1], child, next)); - } else { - parts.push(jsxWhitespace); - } - words.shift(); - } - let endWhitespace; - if (getLast(words) === "") { - words.pop(); - endWhitespace = words.pop(); - } - if (words.length === 0) { - return; - } - for (const [i2, word] of words.entries()) { - if (i2 % 2 === 1) { - parts.push(line); - } else { - parts.push(word); - } - } - if (endWhitespace !== void 0) { - if (/\n/.test(endWhitespace)) { - const next = children[i + 1]; - parts.push(separatorWithWhitespace(isFacebookTranslationTag, getLast(parts), child, next)); - } else { - parts.push(jsxWhitespace); - } - } else { - const next = children[i + 1]; - parts.push(separatorNoWhitespace(isFacebookTranslationTag, getLast(parts), child, next)); - } - } else if (/\n/.test(text)) { - if (text.match(/\n/g).length > 1) { - parts.push("", hardline); - } - } else { - parts.push("", jsxWhitespace); - } - } else { - const printedChild = print(); - parts.push(printedChild); - const next = children[i + 1]; - const directlyFollowedByMeaningfulText = next && isMeaningfulJsxText(next); - if (directlyFollowedByMeaningfulText) { - const firstWord = trimJsxWhitespace(rawText(next)).split(matchJsxWhitespaceRegex)[0]; - parts.push(separatorNoWhitespace(isFacebookTranslationTag, firstWord, child, next)); - } else { - parts.push(hardline); - } - } - }, "children"); - return parts; - } - function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return ""; - } - if (childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement) { - return child.length === 1 ? softline : hardline; - } - return softline; - } - function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return hardline; - } - if (child.length === 1) { - return childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement ? hardline : softline; - } - return hardline; - } - function maybeWrapJsxElementInParens(path, elem, options) { - const parent = path.getParentNode(); - if (!parent) { - return elem; - } - const NO_WRAP_PARENTS = { - ArrayExpression: true, - JSXAttribute: true, - JSXElement: true, - JSXExpressionContainer: true, - JSXFragment: true, - ExpressionStatement: true, - CallExpression: true, - OptionalCallExpression: true, - ConditionalExpression: true, - JsExpressionRoot: true - }; - if (NO_WRAP_PARENTS[parent.type]) { - return elem; - } - const shouldBreak = path.match(void 0, (node) => node.type === "ArrowFunctionExpression", isCallExpression, (node) => node.type === "JSXExpressionContainer"); - const needsParens = pathNeedsParens(path, options); - return group([needsParens ? "" : ifBreak("("), indent([softline, elem]), softline, needsParens ? "" : ifBreak(")")], { - shouldBreak - }); - } - function printJsxAttribute(path, options, print) { - const node = path.getValue(); - const parts = []; - parts.push(print("name")); - if (node.value) { - let res; - if (isStringLiteral(node.value)) { - const raw = rawText(node.value); - let final = raw.slice(1, -1).replace(/'/g, "'").replace(/"/g, '"'); - const { - escaped, - quote, - regex - } = getPreferredQuote(final, options.jsxSingleQuote ? "'" : '"'); - final = final.replace(regex, escaped); - const { - leading, - trailing - } = path.call(() => printCommentsSeparately(path, options), "value"); - res = [leading, quote, final, quote, trailing]; - } else { - res = print("value"); - } - parts.push("=", res); - } - return parts; - } - function printJsxExpressionContainer(path, options, print) { - const node = path.getValue(); - const shouldInline = (node2, parent) => node2.type === "JSXEmptyExpression" || !hasComment(node2) && (node2.type === "ArrayExpression" || node2.type === "ObjectExpression" || node2.type === "ArrowFunctionExpression" || node2.type === "AwaitExpression" && (shouldInline(node2.argument, node2) || node2.argument.type === "JSXElement") || isCallExpression(node2) || node2.type === "FunctionExpression" || node2.type === "TemplateLiteral" || node2.type === "TaggedTemplateExpression" || node2.type === "DoExpression" || isJsxNode(parent) && (node2.type === "ConditionalExpression" || isBinaryish(node2))); - if (shouldInline(node.expression, path.getParentNode(0))) { - return group(["{", print("expression"), lineSuffixBoundary, "}"]); - } - return group(["{", indent([softline, print("expression")]), softline, lineSuffixBoundary, "}"]); - } - function printJsxOpeningElement(path, options, print) { - const node = path.getValue(); - const nameHasComments = node.name && hasComment(node.name) || node.typeParameters && hasComment(node.typeParameters); - if (node.selfClosing && node.attributes.length === 0 && !nameHasComments) { - return ["<", print("name"), print("typeParameters"), " />"]; - } - if (node.attributes && node.attributes.length === 1 && node.attributes[0].value && isStringLiteral(node.attributes[0].value) && !node.attributes[0].value.value.includes("\n") && !nameHasComments && !hasComment(node.attributes[0])) { - return group(["<", print("name"), print("typeParameters"), " ", ...path.map(print, "attributes"), node.selfClosing ? " />" : ">"]); - } - const shouldBreak = node.attributes && node.attributes.some((attr) => attr.value && isStringLiteral(attr.value) && attr.value.value.includes("\n")); - const attributeLine = options.singleAttributePerLine && node.attributes.length > 1 ? hardline : line; - return group(["<", print("name"), print("typeParameters"), indent(path.map(() => [attributeLine, print()], "attributes")), ...printEndOfOpeningTag(node, options, nameHasComments)], { - shouldBreak - }); - } - function printEndOfOpeningTag(node, options, nameHasComments) { - if (node.selfClosing) { - return [line, "/>"]; - } - const bracketSameLine = shouldPrintBracketSameLine(node, options, nameHasComments); - if (bracketSameLine) { - return [">"]; - } - return [softline, ">"]; - } - function shouldPrintBracketSameLine(node, options, nameHasComments) { - const lastAttrHasTrailingComments = node.attributes.length > 0 && hasComment(getLast(node.attributes), CommentCheckFlags.Trailing); - return node.attributes.length === 0 && !nameHasComments || (options.bracketSameLine || options.jsxBracketSameLine) && (!nameHasComments || node.attributes.length > 0) && !lastAttrHasTrailingComments; - } - function printJsxClosingElement(path, options, print) { - const node = path.getValue(); - const parts = []; - parts.push(""); - return parts; - } - function printJsxOpeningClosingFragment(path, options) { - const node = path.getValue(); - const nodeHasComment = hasComment(node); - const hasOwnLineComment = hasComment(node, CommentCheckFlags.Line); - const isOpeningFragment = node.type === "JSXOpeningFragment"; - return [isOpeningFragment ? "<" : ""]; - } - function printJsxElement(path, options, print) { - const elem = printComments(path, printJsxElementInternal(path, options, print), options); - return maybeWrapJsxElementInParens(path, elem, options); - } - function printJsxEmptyExpression(path, options) { - const node = path.getValue(); - const requiresHardline = hasComment(node, CommentCheckFlags.Line); - return [printDanglingComments(path, options, !requiresHardline), requiresHardline ? hardline : ""]; - } - function printJsxSpreadAttribute(path, options, print) { - const node = path.getValue(); - return ["{", path.call((p) => { - const printed = ["...", print()]; - const node2 = p.getValue(); - if (!hasComment(node2) || !willPrintOwnComments(p)) { - return printed; - } - return [indent([softline, printComments(p, printed, options)]), softline]; - }, node.type === "JSXSpreadAttribute" ? "argument" : "expression"), "}"]; - } - function printJsx(path, options, print) { - const node = path.getValue(); - if (!node.type.startsWith("JSX")) { - return; - } - switch (node.type) { - case "JSXAttribute": - return printJsxAttribute(path, options, print); - case "JSXIdentifier": - return String(node.name); - case "JSXNamespacedName": - return join(":", [print("namespace"), print("name")]); - case "JSXMemberExpression": - return join(".", [print("object"), print("property")]); - case "JSXSpreadAttribute": - return printJsxSpreadAttribute(path, options, print); - case "JSXSpreadChild": { - const printJsxSpreadChild = printJsxSpreadAttribute; - return printJsxSpreadChild(path, options, print); - } - case "JSXExpressionContainer": - return printJsxExpressionContainer(path, options, print); - case "JSXFragment": - case "JSXElement": - return printJsxElement(path, options, print); - case "JSXOpeningElement": - return printJsxOpeningElement(path, options, print); - case "JSXClosingElement": - return printJsxClosingElement(path, options, print); - case "JSXOpeningFragment": - case "JSXClosingFragment": - return printJsxOpeningClosingFragment(path, options); - case "JSXEmptyExpression": - return printJsxEmptyExpression(path, options); - case "JSXText": - throw new Error("JSXText should be handled by JSXElement"); - default: - throw new Error(`Unknown JSX node type: ${JSON.stringify(node.type)}.`); - } - } - var jsxWhitespaceChars = " \n\r "; - var matchJsxWhitespaceRegex = new RegExp("([" + jsxWhitespaceChars + "]+)"); - var containsNonJsxWhitespaceRegex = new RegExp("[^" + jsxWhitespaceChars + "]"); - var trimJsxWhitespace = (text) => text.replace(new RegExp("(?:^" + matchJsxWhitespaceRegex.source + "|" + matchJsxWhitespaceRegex.source + "$)"), ""); - function isEmptyJsxElement(node) { - if (node.children.length === 0) { - return true; - } - if (node.children.length > 1) { - return false; - } - const child = node.children[0]; - return child.type === "JSXText" && !isMeaningfulJsxText(child); - } - function isMeaningfulJsxText(node) { - return node.type === "JSXText" && (containsNonJsxWhitespaceRegex.test(rawText(node)) || !/\n/.test(rawText(node))); - } - function isJsxWhitespaceExpression(node) { - return node.type === "JSXExpressionContainer" && isStringLiteral(node.expression) && node.expression.value === " " && !hasComment(node.expression); - } - function hasJsxIgnoreComment(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - if (!parent || !node || !isJsxNode(node) || !isJsxNode(parent)) { - return false; - } - const index = parent.children.indexOf(node); - let prevSibling = null; - for (let i = index; i > 0; i--) { - const candidate = parent.children[i - 1]; - if (candidate.type === "JSXText" && !isMeaningfulJsxText(candidate)) { - continue; - } - prevSibling = candidate; - break; - } - return prevSibling && prevSibling.type === "JSXExpressionContainer" && prevSibling.expression.type === "JSXEmptyExpression" && hasNodeIgnoreComment(prevSibling.expression); - } - module2.exports = { - hasJsxIgnoreComment, - printJsx - }; - } -}); -var require_doc_builders = __commonJS2({ - "src/document/doc-builders.js"(exports2, module2) { - "use strict"; - function concat(parts) { - if (false) { - for (const part of parts) { - assertDoc(part); - } - } - return { - type: "concat", - parts - }; - } - function indent(contents) { - if (false) { - assertDoc(contents); - } - return { - type: "indent", - contents - }; - } - function align(widthOrString, contents) { - if (false) { - assertDoc(contents); - } - return { - type: "align", - contents, - n: widthOrString - }; - } - function group(contents, opts = {}) { - if (false) { - assertDoc(contents); - } - return { - type: "group", - id: opts.id, - contents, - break: Boolean(opts.shouldBreak), - expandedStates: opts.expandedStates - }; - } - function dedentToRoot(contents) { - return align(Number.NEGATIVE_INFINITY, contents); - } - function markAsRoot(contents) { - return align({ - type: "root" - }, contents); - } - function dedent(contents) { - return align(-1, contents); - } - function conditionalGroup(states, opts) { - return group(states[0], Object.assign(Object.assign({}, opts), {}, { - expandedStates: states - })); - } - function fill(parts) { - if (false) { - for (const part of parts) { - assertDoc(part); - } - } - return { - type: "fill", - parts - }; - } - function ifBreak(breakContents, flatContents, opts = {}) { - if (false) { - if (breakContents) { - assertDoc(breakContents); - } - if (flatContents) { - assertDoc(flatContents); - } - } - return { - type: "if-break", - breakContents, - flatContents, - groupId: opts.groupId - }; - } - function indentIfBreak(contents, opts) { - return { - type: "indent-if-break", - contents, - groupId: opts.groupId, - negate: opts.negate - }; - } - function lineSuffix(contents) { - if (false) { - assertDoc(contents); - } - return { - type: "line-suffix", - contents - }; - } - var lineSuffixBoundary = { - type: "line-suffix-boundary" - }; - var breakParent = { - type: "break-parent" - }; - var trim = { - type: "trim" - }; - var hardlineWithoutBreakParent = { - type: "line", - hard: true - }; - var literallineWithoutBreakParent = { - type: "line", - hard: true, - literal: true - }; - var line = { - type: "line" - }; - var softline = { - type: "line", - soft: true - }; - var hardline = concat([hardlineWithoutBreakParent, breakParent]); - var literalline = concat([literallineWithoutBreakParent, breakParent]); - var cursor = { - type: "cursor", - placeholder: Symbol("cursor") - }; - function join(sep, arr) { - const res = []; - for (let i = 0; i < arr.length; i++) { - if (i !== 0) { - res.push(sep); - } - res.push(arr[i]); - } - return concat(res); - } - function addAlignmentToDoc(doc2, size, tabWidth) { - let aligned = doc2; - if (size > 0) { - for (let i = 0; i < Math.floor(size / tabWidth); ++i) { - aligned = indent(aligned); - } - aligned = align(size % tabWidth, aligned); - aligned = align(Number.NEGATIVE_INFINITY, aligned); - } - return aligned; - } - function label(label2, contents) { - return { - type: "label", - label: label2, - contents - }; - } - module2.exports = { - concat, - join, - line, - softline, - hardline, - literalline, - group, - conditionalGroup, - fill, - lineSuffix, - lineSuffixBoundary, - cursor, - breakParent, - ifBreak, - trim, - indent, - indentIfBreak, - align, - addAlignmentToDoc, - markAsRoot, - dedentToRoot, - dedent, - hardlineWithoutBreakParent, - literallineWithoutBreakParent, - label - }; - } -}); -var require_doc_utils = __commonJS2({ - "src/document/doc-utils.js"(exports2, module2) { - "use strict"; - var getLast = require_get_last(); - var { - literalline, - join - } = require_doc_builders(); - var isConcat = (doc2) => Array.isArray(doc2) || doc2 && doc2.type === "concat"; - var getDocParts = (doc2) => { - if (Array.isArray(doc2)) { - return doc2; - } - if (doc2.type !== "concat" && doc2.type !== "fill") { - throw new Error("Expect doc type to be `concat` or `fill`."); - } - return doc2.parts; - }; - var traverseDocOnExitStackMarker = {}; - function traverseDoc(doc2, onEnter, onExit, shouldTraverseConditionalGroups) { - const docsStack = [doc2]; - while (docsStack.length > 0) { - const doc3 = docsStack.pop(); - if (doc3 === traverseDocOnExitStackMarker) { - onExit(docsStack.pop()); - continue; - } - if (onExit) { - docsStack.push(doc3, traverseDocOnExitStackMarker); - } - if (!onEnter || onEnter(doc3) !== false) { - if (isConcat(doc3) || doc3.type === "fill") { - const parts = getDocParts(doc3); - for (let ic = parts.length, i = ic - 1; i >= 0; --i) { - docsStack.push(parts[i]); - } - } else if (doc3.type === "if-break") { - if (doc3.flatContents) { - docsStack.push(doc3.flatContents); - } - if (doc3.breakContents) { - docsStack.push(doc3.breakContents); - } - } else if (doc3.type === "group" && doc3.expandedStates) { - if (shouldTraverseConditionalGroups) { - for (let ic = doc3.expandedStates.length, i = ic - 1; i >= 0; --i) { - docsStack.push(doc3.expandedStates[i]); - } - } else { - docsStack.push(doc3.contents); - } - } else if (doc3.contents) { - docsStack.push(doc3.contents); - } - } - } - } - function mapDoc(doc2, cb) { - const mapped = /* @__PURE__ */ new Map(); - return rec(doc2); - function rec(doc3) { - if (mapped.has(doc3)) { - return mapped.get(doc3); - } - const result = process2(doc3); - mapped.set(doc3, result); - return result; - } - function process2(doc3) { - if (Array.isArray(doc3)) { - return cb(doc3.map(rec)); - } - if (doc3.type === "concat" || doc3.type === "fill") { - const parts = doc3.parts.map(rec); - return cb(Object.assign(Object.assign({}, doc3), {}, { - parts - })); - } - if (doc3.type === "if-break") { - const breakContents = doc3.breakContents && rec(doc3.breakContents); - const flatContents = doc3.flatContents && rec(doc3.flatContents); - return cb(Object.assign(Object.assign({}, doc3), {}, { - breakContents, - flatContents - })); - } - if (doc3.type === "group" && doc3.expandedStates) { - const expandedStates = doc3.expandedStates.map(rec); - const contents = expandedStates[0]; - return cb(Object.assign(Object.assign({}, doc3), {}, { - contents, - expandedStates - })); - } - if (doc3.contents) { - const contents = rec(doc3.contents); - return cb(Object.assign(Object.assign({}, doc3), {}, { - contents - })); - } - return cb(doc3); - } - } - function findInDoc(doc2, fn, defaultValue) { - let result = defaultValue; - let hasStopped = false; - function findInDocOnEnterFn(doc3) { - const maybeResult = fn(doc3); - if (maybeResult !== void 0) { - hasStopped = true; - result = maybeResult; - } - if (hasStopped) { - return false; - } - } - traverseDoc(doc2, findInDocOnEnterFn); - return result; - } - function willBreakFn(doc2) { - if (doc2.type === "group" && doc2.break) { - return true; - } - if (doc2.type === "line" && doc2.hard) { - return true; - } - if (doc2.type === "break-parent") { - return true; - } - } - function willBreak(doc2) { - return findInDoc(doc2, willBreakFn, false); - } - function breakParentGroup(groupStack) { - if (groupStack.length > 0) { - const parentGroup = getLast(groupStack); - if (!parentGroup.expandedStates && !parentGroup.break) { - parentGroup.break = "propagated"; - } - } - return null; - } - function propagateBreaks(doc2) { - const alreadyVisitedSet = /* @__PURE__ */ new Set(); - const groupStack = []; - function propagateBreaksOnEnterFn(doc3) { - if (doc3.type === "break-parent") { - breakParentGroup(groupStack); - } - if (doc3.type === "group") { - groupStack.push(doc3); - if (alreadyVisitedSet.has(doc3)) { - return false; - } - alreadyVisitedSet.add(doc3); - } - } - function propagateBreaksOnExitFn(doc3) { - if (doc3.type === "group") { - const group = groupStack.pop(); - if (group.break) { - breakParentGroup(groupStack); - } - } - } - traverseDoc(doc2, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, true); - } - function removeLinesFn(doc2) { - if (doc2.type === "line" && !doc2.hard) { - return doc2.soft ? "" : " "; - } - if (doc2.type === "if-break") { - return doc2.flatContents || ""; - } - return doc2; - } - function removeLines(doc2) { - return mapDoc(doc2, removeLinesFn); - } - var isHardline = (doc2, nextDoc) => doc2 && doc2.type === "line" && doc2.hard && nextDoc && nextDoc.type === "break-parent"; - function stripDocTrailingHardlineFromDoc(doc2) { - if (!doc2) { - return doc2; - } - if (isConcat(doc2) || doc2.type === "fill") { - const parts = getDocParts(doc2); - while (parts.length > 1 && isHardline(...parts.slice(-2))) { - parts.length -= 2; - } - if (parts.length > 0) { - const lastPart = stripDocTrailingHardlineFromDoc(getLast(parts)); - parts[parts.length - 1] = lastPart; - } - return Array.isArray(doc2) ? parts : Object.assign(Object.assign({}, doc2), {}, { - parts - }); - } - switch (doc2.type) { - case "align": - case "indent": - case "indent-if-break": - case "group": - case "line-suffix": - case "label": { - const contents = stripDocTrailingHardlineFromDoc(doc2.contents); - return Object.assign(Object.assign({}, doc2), {}, { - contents - }); - } - case "if-break": { - const breakContents = stripDocTrailingHardlineFromDoc(doc2.breakContents); - const flatContents = stripDocTrailingHardlineFromDoc(doc2.flatContents); - return Object.assign(Object.assign({}, doc2), {}, { - breakContents, - flatContents - }); - } - } - return doc2; - } - function stripTrailingHardline(doc2) { - return stripDocTrailingHardlineFromDoc(cleanDoc(doc2)); - } - function cleanDocFn(doc2) { - switch (doc2.type) { - case "fill": - if (doc2.parts.every((part) => part === "")) { - return ""; - } - break; - case "group": - if (!doc2.contents && !doc2.id && !doc2.break && !doc2.expandedStates) { - return ""; - } - if (doc2.contents.type === "group" && doc2.contents.id === doc2.id && doc2.contents.break === doc2.break && doc2.contents.expandedStates === doc2.expandedStates) { - return doc2.contents; - } - break; - case "align": - case "indent": - case "indent-if-break": - case "line-suffix": - if (!doc2.contents) { - return ""; - } - break; - case "if-break": - if (!doc2.flatContents && !doc2.breakContents) { - return ""; - } - break; - } - if (!isConcat(doc2)) { - return doc2; - } - const parts = []; - for (const part of getDocParts(doc2)) { - if (!part) { - continue; - } - const [currentPart, ...restParts] = isConcat(part) ? getDocParts(part) : [part]; - if (typeof currentPart === "string" && typeof getLast(parts) === "string") { - parts[parts.length - 1] += currentPart; - } else { - parts.push(currentPart); - } - parts.push(...restParts); - } - if (parts.length === 0) { - return ""; - } - if (parts.length === 1) { - return parts[0]; - } - return Array.isArray(doc2) ? parts : Object.assign(Object.assign({}, doc2), {}, { - parts - }); - } - function cleanDoc(doc2) { - return mapDoc(doc2, (currentDoc) => cleanDocFn(currentDoc)); - } - function normalizeParts(parts) { - const newParts = []; - const restParts = parts.filter(Boolean); - while (restParts.length > 0) { - const part = restParts.shift(); - if (!part) { - continue; - } - if (isConcat(part)) { - restParts.unshift(...getDocParts(part)); - continue; - } - if (newParts.length > 0 && typeof getLast(newParts) === "string" && typeof part === "string") { - newParts[newParts.length - 1] += part; - continue; - } - newParts.push(part); - } - return newParts; - } - function normalizeDoc(doc2) { - return mapDoc(doc2, (currentDoc) => { - if (Array.isArray(currentDoc)) { - return normalizeParts(currentDoc); - } - if (!currentDoc.parts) { - return currentDoc; - } - return Object.assign(Object.assign({}, currentDoc), {}, { - parts: normalizeParts(currentDoc.parts) - }); - }); - } - function replaceEndOfLine(doc2) { - return mapDoc(doc2, (currentDoc) => typeof currentDoc === "string" && currentDoc.includes("\n") ? replaceTextEndOfLine(currentDoc) : currentDoc); - } - function replaceTextEndOfLine(text, replacement = literalline) { - return join(replacement, text.split("\n")).parts; - } - function canBreakFn(doc2) { - if (doc2.type === "line") { - return true; - } - } - function canBreak(doc2) { - return findInDoc(doc2, canBreakFn, false); - } - module2.exports = { - isConcat, - getDocParts, - willBreak, - traverseDoc, - findInDoc, - mapDoc, - propagateBreaks, - removeLines, - stripTrailingHardline, - normalizeParts, - normalizeDoc, - cleanDoc, - replaceTextEndOfLine, - replaceEndOfLine, - canBreak - }; - } -}); -var require_misc = __commonJS2({ - "src/language-js/print/misc.js"(exports2, module2) { - "use strict"; - var { - isNonEmptyArray - } = require_util(); - var { - builders: { - indent, - join, - line - } - } = require("./doc.js"); - var { - isFlowAnnotationComment - } = require_utils7(); - function printOptionalToken(path) { - const node = path.getValue(); - if (!node.optional || node.type === "Identifier" && node === path.getParentNode().key) { - return ""; - } - if (node.type === "OptionalCallExpression" || node.type === "OptionalMemberExpression" && node.computed) { - return "?."; - } - return "?"; - } - function printDefiniteToken(path) { - return path.getValue().definite || path.match(void 0, (node, name) => name === "id" && node.type === "VariableDeclarator" && node.definite) ? "!" : ""; - } - function printFunctionTypeParameters(path, options, print) { - const fun = path.getValue(); - if (fun.typeArguments) { - return print("typeArguments"); - } - if (fun.typeParameters) { - return print("typeParameters"); - } - return ""; - } - function printTypeAnnotation(path, options, print) { - const node = path.getValue(); - if (!node.typeAnnotation) { - return ""; - } - const parentNode = path.getParentNode(); - const isFunctionDeclarationIdentifier = parentNode.type === "DeclareFunction" && parentNode.id === node; - if (isFlowAnnotationComment(options.originalText, node.typeAnnotation)) { - return [" /*: ", print("typeAnnotation"), " */"]; - } - return [isFunctionDeclarationIdentifier ? "" : ": ", print("typeAnnotation")]; - } - function printBindExpressionCallee(path, options, print) { - return ["::", print("callee")]; - } - function printTypeScriptModifiers(path, options, print) { - const node = path.getValue(); - if (!isNonEmptyArray(node.modifiers)) { - return ""; - } - return [join(" ", path.map(print, "modifiers")), " "]; - } - function adjustClause(node, clause, forceSpace) { - if (node.type === "EmptyStatement") { - return ";"; - } - if (node.type === "BlockStatement" || forceSpace) { - return [" ", clause]; - } - return indent([line, clause]); - } - function printRestSpread(path, options, print) { - return ["...", print("argument"), printTypeAnnotation(path, options, print)]; - } - function printDirective(rawText, options) { - const rawContent = rawText.slice(1, -1); - if (rawContent.includes('"') || rawContent.includes("'")) { - return rawText; - } - const enclosingQuote = options.singleQuote ? "'" : '"'; - return enclosingQuote + rawContent + enclosingQuote; - } - module2.exports = { - printOptionalToken, - printDefiniteToken, - printFunctionTypeParameters, - printBindExpressionCallee, - printTypeScriptModifiers, - printTypeAnnotation, - printRestSpread, - adjustClause, - printDirective - }; - } -}); -var require_array4 = __commonJS2({ - "src/language-js/print/array.js"(exports2, module2) { - "use strict"; - var { - printDanglingComments - } = require_comments(); - var { - builders: { - line, - softline, - hardline, - group, - indent, - ifBreak, - fill - } - } = require("./doc.js"); - var { - getLast, - hasNewline - } = require_util(); - var { - shouldPrintComma, - hasComment, - CommentCheckFlags, - isNextLineEmpty, - isNumericLiteral, - isSignedNumericLiteral - } = require_utils7(); - var { - locStart - } = require_loc(); - var { - printOptionalToken, - printTypeAnnotation - } = require_misc(); - function printArray(path, options, print) { - const node = path.getValue(); - const parts = []; - const openBracket = node.type === "TupleExpression" ? "#[" : "["; - const closeBracket = "]"; - if (node.elements.length === 0) { - if (!hasComment(node, CommentCheckFlags.Dangling)) { - parts.push(openBracket, closeBracket); - } else { - parts.push(group([openBracket, printDanglingComments(path, options), softline, closeBracket])); - } - } else { - const lastElem = getLast(node.elements); - const canHaveTrailingComma = !(lastElem && lastElem.type === "RestElement"); - const needsForcedTrailingComma = lastElem === null; - const groupId = Symbol("array"); - const shouldBreak = !options.__inJestEach && node.elements.length > 1 && node.elements.every((element, i, elements) => { - const elementType = element && element.type; - if (elementType !== "ArrayExpression" && elementType !== "ObjectExpression") { - return false; - } - const nextElement = elements[i + 1]; - if (nextElement && elementType !== nextElement.type) { - return false; - } - const itemsKey = elementType === "ArrayExpression" ? "elements" : "properties"; - return element[itemsKey] && element[itemsKey].length > 1; - }); - const shouldUseConciseFormatting = isConciselyPrintedArray(node, options); - const trailingComma = !canHaveTrailingComma ? "" : needsForcedTrailingComma ? "," : !shouldPrintComma(options) ? "" : shouldUseConciseFormatting ? ifBreak(",", "", { - groupId - }) : ifBreak(","); - parts.push(group([openBracket, indent([softline, shouldUseConciseFormatting ? printArrayItemsConcisely(path, options, print, trailingComma) : [printArrayItems(path, options, "elements", print), trailingComma], printDanglingComments(path, options, true)]), softline, closeBracket], { - shouldBreak, - id: groupId - })); - } - parts.push(printOptionalToken(path), printTypeAnnotation(path, options, print)); - return parts; - } - function isConciselyPrintedArray(node, options) { - return node.elements.length > 1 && node.elements.every((element) => element && (isNumericLiteral(element) || isSignedNumericLiteral(element) && !hasComment(element.argument)) && !hasComment(element, CommentCheckFlags.Trailing | CommentCheckFlags.Line, (comment) => !hasNewline(options.originalText, locStart(comment), { - backwards: true - }))); - } - function printArrayItems(path, options, printPath, print) { - const printedElements = []; - let separatorParts = []; - path.each((childPath) => { - printedElements.push(separatorParts, group(print())); - separatorParts = [",", line]; - if (childPath.getValue() && isNextLineEmpty(childPath.getValue(), options)) { - separatorParts.push(softline); - } - }, printPath); - return printedElements; - } - function printArrayItemsConcisely(path, options, print, trailingComma) { - const parts = []; - path.each((childPath, i, elements) => { - const isLast = i === elements.length - 1; - parts.push([print(), isLast ? trailingComma : ","]); - if (!isLast) { - parts.push(isNextLineEmpty(childPath.getValue(), options) ? [hardline, hardline] : hasComment(elements[i + 1], CommentCheckFlags.Leading | CommentCheckFlags.Line) ? hardline : line); - } - }, "elements"); - return fill(parts); - } - module2.exports = { - printArray, - printArrayItems, - isConciselyPrintedArray - }; - } -}); -var require_call_arguments = __commonJS2({ - "src/language-js/print/call-arguments.js"(exports2, module2) { - "use strict"; - var { - printDanglingComments - } = require_comments(); - var { - getLast, - getPenultimate - } = require_util(); - var { - getFunctionParameters, - hasComment, - CommentCheckFlags, - isFunctionCompositionArgs, - isJsxNode, - isLongCurriedCallExpression, - shouldPrintComma, - getCallArguments, - iterateCallArgumentsPath, - isNextLineEmpty, - isCallExpression, - isStringLiteral, - isObjectProperty, - isTSTypeExpression - } = require_utils7(); - var { - builders: { - line, - hardline, - softline, - group, - indent, - conditionalGroup, - ifBreak, - breakParent - }, - utils: { - willBreak - } - } = require("./doc.js"); - var { - ArgExpansionBailout - } = require_errors(); - var { - isConciselyPrintedArray - } = require_array4(); - function printCallArguments(path, options, print) { - const node = path.getValue(); - const isDynamicImport = node.type === "ImportExpression"; - const args = getCallArguments(node); - if (args.length === 0) { - return ["(", printDanglingComments(path, options, true), ")"]; - } - if (isReactHookCallWithDepsArray(args)) { - return ["(", print(["arguments", 0]), ", ", print(["arguments", 1]), ")"]; - } - let anyArgEmptyLine = false; - let hasEmptyLineFollowingFirstArg = false; - const lastArgIndex = args.length - 1; - const printedArguments = []; - iterateCallArgumentsPath(path, (argPath, index) => { - const arg = argPath.getNode(); - const parts = [print()]; - if (index === lastArgIndex) { - } else if (isNextLineEmpty(arg, options)) { - if (index === 0) { - hasEmptyLineFollowingFirstArg = true; - } - anyArgEmptyLine = true; - parts.push(",", hardline, hardline); - } else { - parts.push(",", line); - } - printedArguments.push(parts); - }); - const maybeTrailingComma = !(isDynamicImport || node.callee && node.callee.type === "Import") && shouldPrintComma(options, "all") ? "," : ""; - function allArgsBrokenOut() { - return group(["(", indent([line, ...printedArguments]), maybeTrailingComma, line, ")"], { - shouldBreak: true - }); - } - if (anyArgEmptyLine || path.getParentNode().type !== "Decorator" && isFunctionCompositionArgs(args)) { - return allArgsBrokenOut(); - } - const shouldGroupFirst = shouldGroupFirstArg(args); - const shouldGroupLast = shouldGroupLastArg(args, options); - if (shouldGroupFirst || shouldGroupLast) { - if (shouldGroupFirst ? printedArguments.slice(1).some(willBreak) : printedArguments.slice(0, -1).some(willBreak)) { - return allArgsBrokenOut(); - } - let printedExpanded = []; - try { - path.try(() => { - iterateCallArgumentsPath(path, (argPath, i) => { - if (shouldGroupFirst && i === 0) { - printedExpanded = [[print([], { - expandFirstArg: true - }), printedArguments.length > 1 ? "," : "", hasEmptyLineFollowingFirstArg ? hardline : line, hasEmptyLineFollowingFirstArg ? hardline : ""], ...printedArguments.slice(1)]; - } - if (shouldGroupLast && i === lastArgIndex) { - printedExpanded = [...printedArguments.slice(0, -1), print([], { - expandLastArg: true - })]; - } - }); - }); - } catch (caught) { - if (caught instanceof ArgExpansionBailout) { - return allArgsBrokenOut(); - } - throw caught; - } - return [printedArguments.some(willBreak) ? breakParent : "", conditionalGroup([["(", ...printedExpanded, ")"], shouldGroupFirst ? ["(", group(printedExpanded[0], { - shouldBreak: true - }), ...printedExpanded.slice(1), ")"] : ["(", ...printedArguments.slice(0, -1), group(getLast(printedExpanded), { - shouldBreak: true - }), ")"], allArgsBrokenOut()])]; - } - const contents = ["(", indent([softline, ...printedArguments]), ifBreak(maybeTrailingComma), softline, ")"]; - if (isLongCurriedCallExpression(path)) { - return contents; - } - return group(contents, { - shouldBreak: printedArguments.some(willBreak) || anyArgEmptyLine - }); - } - function couldGroupArg(arg, arrowChainRecursion = false) { - return arg.type === "ObjectExpression" && (arg.properties.length > 0 || hasComment(arg)) || arg.type === "ArrayExpression" && (arg.elements.length > 0 || hasComment(arg)) || arg.type === "TSTypeAssertion" && couldGroupArg(arg.expression) || isTSTypeExpression(arg) && couldGroupArg(arg.expression) || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && (!arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== "TSTypeReference" || isNonEmptyBlockStatement(arg.body)) && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" && couldGroupArg(arg.body, true) || arg.body.type === "ObjectExpression" || arg.body.type === "ArrayExpression" || !arrowChainRecursion && (isCallExpression(arg.body) || arg.body.type === "ConditionalExpression") || isJsxNode(arg.body)) || arg.type === "DoExpression" || arg.type === "ModuleExpression"; - } - function shouldGroupLastArg(args, options) { - const lastArg = getLast(args); - const penultimateArg = getPenultimate(args); - return !hasComment(lastArg, CommentCheckFlags.Leading) && !hasComment(lastArg, CommentCheckFlags.Trailing) && couldGroupArg(lastArg) && (!penultimateArg || penultimateArg.type !== lastArg.type) && (args.length !== 2 || penultimateArg.type !== "ArrowFunctionExpression" || lastArg.type !== "ArrayExpression") && !(args.length > 1 && lastArg.type === "ArrayExpression" && isConciselyPrintedArray(lastArg, options)); - } - function shouldGroupFirstArg(args) { - if (args.length !== 2) { - return false; - } - const [firstArg, secondArg] = args; - if (firstArg.type === "ModuleExpression" && isTypeModuleObjectExpression(secondArg)) { - return true; - } - return !hasComment(firstArg) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && secondArg.type !== "FunctionExpression" && secondArg.type !== "ArrowFunctionExpression" && secondArg.type !== "ConditionalExpression" && !couldGroupArg(secondArg); - } - function isReactHookCallWithDepsArray(args) { - return args.length === 2 && args[0].type === "ArrowFunctionExpression" && getFunctionParameters(args[0]).length === 0 && args[0].body.type === "BlockStatement" && args[1].type === "ArrayExpression" && !args.some((arg) => hasComment(arg)); - } - function isNonEmptyBlockStatement(node) { - return node.type === "BlockStatement" && (node.body.some((node2) => node2.type !== "EmptyStatement") || hasComment(node, CommentCheckFlags.Dangling)); - } - function isTypeModuleObjectExpression(node) { - return node.type === "ObjectExpression" && node.properties.length === 1 && isObjectProperty(node.properties[0]) && node.properties[0].key.type === "Identifier" && node.properties[0].key.name === "type" && isStringLiteral(node.properties[0].value) && node.properties[0].value.value === "module"; - } - module2.exports = printCallArguments; - } -}); -var require_member = __commonJS2({ - "src/language-js/print/member.js"(exports2, module2) { - "use strict"; - var { - builders: { - softline, - group, - indent, - label - } - } = require("./doc.js"); - var { - isNumericLiteral, - isMemberExpression, - isCallExpression - } = require_utils7(); - var { - printOptionalToken - } = require_misc(); - function printMemberExpression(path, options, print) { - const node = path.getValue(); - const parent = path.getParentNode(); - let firstNonMemberParent; - let i = 0; - do { - firstNonMemberParent = path.getParentNode(i); - i++; - } while (firstNonMemberParent && (isMemberExpression(firstNonMemberParent) || firstNonMemberParent.type === "TSNonNullExpression")); - const objectDoc = print("object"); - const lookupDoc = printMemberLookup(path, options, print); - const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "NewExpression" || firstNonMemberParent.type === "BindExpression" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || node.computed || node.object.type === "Identifier" && node.property.type === "Identifier" && !isMemberExpression(parent) || (parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator") && (isCallExpression(node.object) && node.object.arguments.length > 0 || node.object.type === "TSNonNullExpression" && isCallExpression(node.object.expression) && node.object.expression.arguments.length > 0 || objectDoc.label === "member-chain"); - return label(objectDoc.label === "member-chain" ? "member-chain" : "member", [objectDoc, shouldInline ? lookupDoc : group(indent([softline, lookupDoc]))]); - } - function printMemberLookup(path, options, print) { - const property = print("property"); - const node = path.getValue(); - const optional = printOptionalToken(path); - if (!node.computed) { - return [optional, ".", property]; - } - if (!node.property || isNumericLiteral(node.property)) { - return [optional, "[", property, "]"]; - } - return group([optional, "[", indent([softline, property]), softline, "]"]); - } - module2.exports = { - printMemberExpression, - printMemberLookup - }; - } -}); -var require_member_chain = __commonJS2({ - "src/language-js/print/member-chain.js"(exports2, module2) { - "use strict"; - var { - printComments - } = require_comments(); - var { - getLast, - isNextLineEmptyAfterIndex, - getNextNonSpaceNonCommentCharacterIndex - } = require_util(); - var pathNeedsParens = require_needs_parens(); - var { - isCallExpression, - isMemberExpression, - isFunctionOrArrowExpression, - isLongCurriedCallExpression, - isMemberish, - isNumericLiteral, - isSimpleCallArgument, - hasComment, - CommentCheckFlags, - isNextLineEmpty - } = require_utils7(); - var { - locEnd - } = require_loc(); - var { - builders: { - join, - hardline, - group, - indent, - conditionalGroup, - breakParent, - label - }, - utils: { - willBreak - } - } = require("./doc.js"); - var printCallArguments = require_call_arguments(); - var { - printMemberLookup - } = require_member(); - var { - printOptionalToken, - printFunctionTypeParameters, - printBindExpressionCallee - } = require_misc(); - function printMemberChain(path, options, print) { - const parent = path.getParentNode(); - const isExpressionStatement = !parent || parent.type === "ExpressionStatement"; - const printedNodes = []; - function shouldInsertEmptyLineAfter(node2) { - const { - originalText - } = options; - const nextCharIndex = getNextNonSpaceNonCommentCharacterIndex(originalText, node2, locEnd); - const nextChar = originalText.charAt(nextCharIndex); - if (nextChar === ")") { - return nextCharIndex !== false && isNextLineEmptyAfterIndex(originalText, nextCharIndex + 1); - } - return isNextLineEmpty(node2, options); - } - function rec(path2) { - const node2 = path2.getValue(); - if (isCallExpression(node2) && (isMemberish(node2.callee) || isCallExpression(node2.callee))) { - printedNodes.unshift({ - node: node2, - printed: [printComments(path2, [printOptionalToken(path2), printFunctionTypeParameters(path2, options, print), printCallArguments(path2, options, print)], options), shouldInsertEmptyLineAfter(node2) ? hardline : ""] - }); - path2.call((callee) => rec(callee), "callee"); - } else if (isMemberish(node2)) { - printedNodes.unshift({ - node: node2, - needsParens: pathNeedsParens(path2, options), - printed: printComments(path2, isMemberExpression(node2) ? printMemberLookup(path2, options, print) : printBindExpressionCallee(path2, options, print), options) - }); - path2.call((object) => rec(object), "object"); - } else if (node2.type === "TSNonNullExpression") { - printedNodes.unshift({ - node: node2, - printed: printComments(path2, "!", options) - }); - path2.call((expression) => rec(expression), "expression"); - } else { - printedNodes.unshift({ - node: node2, - printed: print() - }); - } - } - const node = path.getValue(); - printedNodes.unshift({ - node, - printed: [printOptionalToken(path), printFunctionTypeParameters(path, options, print), printCallArguments(path, options, print)] - }); - if (node.callee) { - path.call((callee) => rec(callee), "callee"); - } - const groups = []; - let currentGroup = [printedNodes[0]]; - let i = 1; - for (; i < printedNodes.length; ++i) { - if (printedNodes[i].node.type === "TSNonNullExpression" || isCallExpression(printedNodes[i].node) || isMemberExpression(printedNodes[i].node) && printedNodes[i].node.computed && isNumericLiteral(printedNodes[i].node.property)) { - currentGroup.push(printedNodes[i]); - } else { - break; - } - } - if (!isCallExpression(printedNodes[0].node)) { - for (; i + 1 < printedNodes.length; ++i) { - if (isMemberish(printedNodes[i].node) && isMemberish(printedNodes[i + 1].node)) { - currentGroup.push(printedNodes[i]); - } else { - break; - } - } - } - groups.push(currentGroup); - currentGroup = []; - let hasSeenCallExpression = false; - for (; i < printedNodes.length; ++i) { - if (hasSeenCallExpression && isMemberish(printedNodes[i].node)) { - if (printedNodes[i].node.computed && isNumericLiteral(printedNodes[i].node.property)) { - currentGroup.push(printedNodes[i]); - continue; - } - groups.push(currentGroup); - currentGroup = []; - hasSeenCallExpression = false; - } - if (isCallExpression(printedNodes[i].node) || printedNodes[i].node.type === "ImportExpression") { - hasSeenCallExpression = true; - } - currentGroup.push(printedNodes[i]); - if (hasComment(printedNodes[i].node, CommentCheckFlags.Trailing)) { - groups.push(currentGroup); - currentGroup = []; - hasSeenCallExpression = false; - } - } - if (currentGroup.length > 0) { - groups.push(currentGroup); - } - function isFactory(name) { - return /^[A-Z]|^[$_]+$/.test(name); - } - function isShort(name) { - return name.length <= options.tabWidth; - } - function shouldNotWrap(groups2) { - const hasComputed = groups2[1].length > 0 && groups2[1][0].node.computed; - if (groups2[0].length === 1) { - const firstNode = groups2[0][0].node; - return firstNode.type === "ThisExpression" || firstNode.type === "Identifier" && (isFactory(firstNode.name) || isExpressionStatement && isShort(firstNode.name) || hasComputed); - } - const lastNode = getLast(groups2[0]).node; - return isMemberExpression(lastNode) && lastNode.property.type === "Identifier" && (isFactory(lastNode.property.name) || hasComputed); - } - const shouldMerge = groups.length >= 2 && !hasComment(groups[1][0].node) && shouldNotWrap(groups); - function printGroup(printedGroup) { - const printed = printedGroup.map((tuple) => tuple.printed); - if (printedGroup.length > 0 && getLast(printedGroup).needsParens) { - return ["(", ...printed, ")"]; - } - return printed; - } - function printIndentedGroup(groups2) { - if (groups2.length === 0) { - return ""; - } - return indent(group([hardline, join(hardline, groups2.map(printGroup))])); - } - const printedGroups = groups.map(printGroup); - const oneLine = printedGroups; - const cutoff = shouldMerge ? 3 : 2; - const flatGroups = groups.flat(); - const nodeHasComment = flatGroups.slice(1, -1).some((node2) => hasComment(node2.node, CommentCheckFlags.Leading)) || flatGroups.slice(0, -1).some((node2) => hasComment(node2.node, CommentCheckFlags.Trailing)) || groups[cutoff] && hasComment(groups[cutoff][0].node, CommentCheckFlags.Leading); - if (groups.length <= cutoff && !nodeHasComment) { - if (isLongCurriedCallExpression(path)) { - return oneLine; - } - return group(oneLine); - } - const lastNodeBeforeIndent = getLast(groups[shouldMerge ? 1 : 0]).node; - const shouldHaveEmptyLineBeforeIndent = !isCallExpression(lastNodeBeforeIndent) && shouldInsertEmptyLineAfter(lastNodeBeforeIndent); - const expanded = [printGroup(groups[0]), shouldMerge ? groups.slice(1, 2).map(printGroup) : "", shouldHaveEmptyLineBeforeIndent ? hardline : "", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]; - const callExpressions = printedNodes.map(({ - node: node2 - }) => node2).filter(isCallExpression); - function lastGroupWillBreakAndOtherCallsHaveFunctionArguments() { - const lastGroupNode = getLast(getLast(groups)).node; - const lastGroupDoc = getLast(printedGroups); - return isCallExpression(lastGroupNode) && willBreak(lastGroupDoc) && callExpressions.slice(0, -1).some((node2) => node2.arguments.some(isFunctionOrArrowExpression)); - } - let result; - if (nodeHasComment || callExpressions.length > 2 && callExpressions.some((expr) => !expr.arguments.every((arg) => isSimpleCallArgument(arg, 0))) || printedGroups.slice(0, -1).some(willBreak) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments()) { - result = group(expanded); - } else { - result = [willBreak(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent : "", conditionalGroup([oneLine, expanded])]; - } - return label("member-chain", result); - } - module2.exports = printMemberChain; - } -}); -var require_call_expression = __commonJS2({ - "src/language-js/print/call-expression.js"(exports2, module2) { - "use strict"; - var { - builders: { - join, - group - } - } = require("./doc.js"); - var pathNeedsParens = require_needs_parens(); - var { - getCallArguments, - hasFlowAnnotationComment, - isCallExpression, - isMemberish, - isStringLiteral, - isTemplateOnItsOwnLine, - isTestCall, - iterateCallArgumentsPath - } = require_utils7(); - var printMemberChain = require_member_chain(); - var printCallArguments = require_call_arguments(); - var { - printOptionalToken, - printFunctionTypeParameters - } = require_misc(); - function printCallExpression(path, options, print) { - const node = path.getValue(); - const parentNode = path.getParentNode(); - const isNew = node.type === "NewExpression"; - const isDynamicImport = node.type === "ImportExpression"; - const optional = printOptionalToken(path); - const args = getCallArguments(node); - if (args.length > 0 && (!isDynamicImport && !isNew && isCommonsJsOrAmdCall(node, parentNode) || args.length === 1 && isTemplateOnItsOwnLine(args[0], options.originalText) || !isNew && isTestCall(node, parentNode))) { - const printed = []; - iterateCallArgumentsPath(path, () => { - printed.push(print()); - }); - return [isNew ? "new " : "", print("callee"), optional, printFunctionTypeParameters(path, options, print), "(", join(", ", printed), ")"]; - } - const isIdentifierWithFlowAnnotation = (options.parser === "babel" || options.parser === "babel-flow") && node.callee && node.callee.type === "Identifier" && hasFlowAnnotationComment(node.callee.trailingComments); - if (isIdentifierWithFlowAnnotation) { - node.callee.trailingComments[0].printed = true; - } - if (!isDynamicImport && !isNew && isMemberish(node.callee) && !path.call((path2) => pathNeedsParens(path2, options), "callee")) { - return printMemberChain(path, options, print); - } - const contents = [isNew ? "new " : "", isDynamicImport ? "import" : print("callee"), optional, isIdentifierWithFlowAnnotation ? `/*:: ${node.callee.trailingComments[0].value.slice(2).trim()} */` : "", printFunctionTypeParameters(path, options, print), printCallArguments(path, options, print)]; - if (isDynamicImport || isCallExpression(node.callee)) { - return group(contents); - } - return contents; - } - function isCommonsJsOrAmdCall(node, parentNode) { - if (node.callee.type !== "Identifier") { - return false; - } - if (node.callee.name === "require") { - return true; - } - if (node.callee.name === "define") { - const args = getCallArguments(node); - return parentNode.type === "ExpressionStatement" && (args.length === 1 || args.length === 2 && args[0].type === "ArrayExpression" || args.length === 3 && isStringLiteral(args[0]) && args[1].type === "ArrayExpression"); - } - return false; - } - module2.exports = { - printCallExpression - }; - } -}); -var require_assignment = __commonJS2({ - "src/language-js/print/assignment.js"(exports2, module2) { - "use strict"; - var { - isNonEmptyArray, - getStringWidth - } = require_util(); - var { - builders: { - line, - group, - indent, - indentIfBreak, - lineSuffixBoundary - }, - utils: { - cleanDoc, - willBreak, - canBreak - } - } = require("./doc.js"); - var { - hasLeadingOwnLineComment, - isBinaryish, - isStringLiteral, - isLiteral, - isNumericLiteral, - isCallExpression, - isMemberExpression, - getCallArguments, - rawText, - hasComment, - isSignedNumericLiteral, - isObjectProperty - } = require_utils7(); - var { - shouldInlineLogicalExpression - } = require_binaryish(); - var { - printCallExpression - } = require_call_expression(); - function printAssignment(path, options, print, leftDoc, operator, rightPropertyName) { - const layout = chooseLayout(path, options, print, leftDoc, rightPropertyName); - const rightDoc = print(rightPropertyName, { - assignmentLayout: layout - }); - switch (layout) { - case "break-after-operator": - return group([group(leftDoc), operator, group(indent([line, rightDoc]))]); - case "never-break-after-operator": - return group([group(leftDoc), operator, " ", rightDoc]); - case "fluid": { - const groupId = Symbol("assignment"); - return group([group(leftDoc), operator, group(indent(line), { - id: groupId - }), lineSuffixBoundary, indentIfBreak(rightDoc, { - groupId - })]); - } - case "break-lhs": - return group([leftDoc, operator, " ", group(rightDoc)]); - case "chain": - return [group(leftDoc), operator, line, rightDoc]; - case "chain-tail": - return [group(leftDoc), operator, indent([line, rightDoc])]; - case "chain-tail-arrow-chain": - return [group(leftDoc), operator, rightDoc]; - case "only-left": - return leftDoc; - } - } - function printAssignmentExpression(path, options, print) { - const node = path.getValue(); - return printAssignment(path, options, print, print("left"), [" ", node.operator], "right"); - } - function printVariableDeclarator(path, options, print) { - return printAssignment(path, options, print, print("id"), " =", "init"); - } - function chooseLayout(path, options, print, leftDoc, rightPropertyName) { - const node = path.getValue(); - const rightNode = node[rightPropertyName]; - if (!rightNode) { - return "only-left"; - } - const isTail = !isAssignment(rightNode); - const shouldUseChainFormatting = path.match(isAssignment, isAssignmentOrVariableDeclarator, (node2) => !isTail || node2.type !== "ExpressionStatement" && node2.type !== "VariableDeclaration"); - if (shouldUseChainFormatting) { - return !isTail ? "chain" : rightNode.type === "ArrowFunctionExpression" && rightNode.body.type === "ArrowFunctionExpression" ? "chain-tail-arrow-chain" : "chain-tail"; - } - const isHeadOfLongChain = !isTail && isAssignment(rightNode.right); - if (isHeadOfLongChain || hasLeadingOwnLineComment(options.originalText, rightNode)) { - return "break-after-operator"; - } - if (rightNode.type === "CallExpression" && rightNode.callee.name === "require" || options.parser === "json5" || options.parser === "json") { - return "never-break-after-operator"; - } - if (isComplexDestructuring(node) || isComplexTypeAliasParams(node) || hasComplexTypeAnnotation(node) || isArrowFunctionVariableDeclarator(node) && canBreak(leftDoc)) { - return "break-lhs"; - } - const hasShortKey = isObjectPropertyWithShortKey(node, leftDoc, options); - if (path.call(() => shouldBreakAfterOperator(path, options, print, hasShortKey), rightPropertyName)) { - return "break-after-operator"; - } - if (hasShortKey || rightNode.type === "TemplateLiteral" || rightNode.type === "TaggedTemplateExpression" || rightNode.type === "BooleanLiteral" || isNumericLiteral(rightNode) || rightNode.type === "ClassExpression") { - return "never-break-after-operator"; - } - return "fluid"; - } - function shouldBreakAfterOperator(path, options, print, hasShortKey) { - const rightNode = path.getValue(); - if (isBinaryish(rightNode) && !shouldInlineLogicalExpression(rightNode)) { - return true; - } - switch (rightNode.type) { - case "StringLiteralTypeAnnotation": - case "SequenceExpression": - return true; - case "ConditionalExpression": { - const { - test - } = rightNode; - return isBinaryish(test) && !shouldInlineLogicalExpression(test); - } - case "ClassExpression": - return isNonEmptyArray(rightNode.decorators); - } - if (hasShortKey) { - return false; - } - let node = rightNode; - const propertiesForPath = []; - for (; ; ) { - if (node.type === "UnaryExpression") { - node = node.argument; - propertiesForPath.push("argument"); - } else if (node.type === "TSNonNullExpression") { - node = node.expression; - propertiesForPath.push("expression"); - } else { - break; - } - } - if (isStringLiteral(node) || path.call(() => isPoorlyBreakableMemberOrCallChain(path, options, print), ...propertiesForPath)) { - return true; - } - return false; - } - function isComplexDestructuring(node) { - if (isAssignmentOrVariableDeclarator(node)) { - const leftNode = node.left || node.id; - return leftNode.type === "ObjectPattern" && leftNode.properties.length > 2 && leftNode.properties.some((property) => isObjectProperty(property) && (!property.shorthand || property.value && property.value.type === "AssignmentPattern")); - } - return false; - } - function isAssignment(node) { - return node.type === "AssignmentExpression"; - } - function isAssignmentOrVariableDeclarator(node) { - return isAssignment(node) || node.type === "VariableDeclarator"; - } - function isComplexTypeAliasParams(node) { - const typeParams = getTypeParametersFromTypeAlias(node); - if (isNonEmptyArray(typeParams)) { - const constraintPropertyName = node.type === "TSTypeAliasDeclaration" ? "constraint" : "bound"; - if (typeParams.length > 1 && typeParams.some((param) => param[constraintPropertyName] || param.default)) { - return true; - } - } - return false; - } - function getTypeParametersFromTypeAlias(node) { - if (isTypeAlias(node) && node.typeParameters && node.typeParameters.params) { - return node.typeParameters.params; - } - return null; - } - function isTypeAlias(node) { - return node.type === "TSTypeAliasDeclaration" || node.type === "TypeAlias"; - } - function hasComplexTypeAnnotation(node) { - if (node.type !== "VariableDeclarator") { - return false; - } - const { - typeAnnotation - } = node.id; - if (!typeAnnotation || !typeAnnotation.typeAnnotation) { - return false; - } - const typeParams = getTypeParametersFromTypeReference(typeAnnotation.typeAnnotation); - return isNonEmptyArray(typeParams) && typeParams.length > 1 && typeParams.some((param) => isNonEmptyArray(getTypeParametersFromTypeReference(param)) || param.type === "TSConditionalType"); - } - function isArrowFunctionVariableDeclarator(node) { - return node.type === "VariableDeclarator" && node.init && node.init.type === "ArrowFunctionExpression"; - } - function getTypeParametersFromTypeReference(node) { - if (isTypeReference(node) && node.typeParameters && node.typeParameters.params) { - return node.typeParameters.params; - } - return null; - } - function isTypeReference(node) { - return node.type === "TSTypeReference" || node.type === "GenericTypeAnnotation"; - } - function isPoorlyBreakableMemberOrCallChain(path, options, print, deep = false) { - const node = path.getValue(); - const goDeeper = () => isPoorlyBreakableMemberOrCallChain(path, options, print, true); - if (node.type === "TSNonNullExpression") { - return path.call(goDeeper, "expression"); - } - if (isCallExpression(node)) { - const doc2 = printCallExpression(path, options, print); - if (doc2.label === "member-chain") { - return false; - } - const args = getCallArguments(node); - const isPoorlyBreakableCall = args.length === 0 || args.length === 1 && isLoneShortArgument(args[0], options); - if (!isPoorlyBreakableCall) { - return false; - } - if (isCallExpressionWithComplexTypeArguments(node, print)) { - return false; - } - return path.call(goDeeper, "callee"); - } - if (isMemberExpression(node)) { - return path.call(goDeeper, "object"); - } - return deep && (node.type === "Identifier" || node.type === "ThisExpression"); - } - var LONE_SHORT_ARGUMENT_THRESHOLD_RATE = 0.25; - function isLoneShortArgument(node, { - printWidth - }) { - if (hasComment(node)) { - return false; - } - const threshold = printWidth * LONE_SHORT_ARGUMENT_THRESHOLD_RATE; - if (node.type === "ThisExpression" || node.type === "Identifier" && node.name.length <= threshold || isSignedNumericLiteral(node) && !hasComment(node.argument)) { - return true; - } - const regexpPattern = node.type === "Literal" && "regex" in node && node.regex.pattern || node.type === "RegExpLiteral" && node.pattern; - if (regexpPattern) { - return regexpPattern.length <= threshold; - } - if (isStringLiteral(node)) { - return rawText(node).length <= threshold; - } - if (node.type === "TemplateLiteral") { - return node.expressions.length === 0 && node.quasis[0].value.raw.length <= threshold && !node.quasis[0].value.raw.includes("\n"); - } - return isLiteral(node); - } - function isObjectPropertyWithShortKey(node, keyDoc, options) { - if (!isObjectProperty(node)) { - return false; - } - keyDoc = cleanDoc(keyDoc); - const MIN_OVERLAP_FOR_BREAK = 3; - return typeof keyDoc === "string" && getStringWidth(keyDoc) < options.tabWidth + MIN_OVERLAP_FOR_BREAK; - } - function isCallExpressionWithComplexTypeArguments(node, print) { - const typeArgs = getTypeArgumentsFromCallExpression(node); - if (isNonEmptyArray(typeArgs)) { - if (typeArgs.length > 1) { - return true; - } - if (typeArgs.length === 1) { - const firstArg = typeArgs[0]; - if (firstArg.type === "TSUnionType" || firstArg.type === "UnionTypeAnnotation" || firstArg.type === "TSIntersectionType" || firstArg.type === "IntersectionTypeAnnotation" || firstArg.type === "TSTypeLiteral" || firstArg.type === "ObjectTypeAnnotation") { - return true; - } - } - const typeArgsKeyName = node.typeParameters ? "typeParameters" : "typeArguments"; - if (willBreak(print(typeArgsKeyName))) { - return true; - } - } - return false; - } - function getTypeArgumentsFromCallExpression(node) { - return node.typeParameters && node.typeParameters.params || node.typeArguments && node.typeArguments.params; - } - module2.exports = { - printVariableDeclarator, - printAssignmentExpression, - printAssignment, - isArrowFunctionVariableDeclarator - }; - } -}); -var require_function_parameters = __commonJS2({ - "src/language-js/print/function-parameters.js"(exports2, module2) { - "use strict"; - var { - getNextNonSpaceNonCommentCharacter - } = require_util(); - var { - printDanglingComments - } = require_comments(); - var { - builders: { - line, - hardline, - softline, - group, - indent, - ifBreak - }, - utils: { - removeLines, - willBreak - } - } = require("./doc.js"); - var { - getFunctionParameters, - iterateFunctionParametersPath, - isSimpleType, - isTestCall, - isTypeAnnotationAFunction, - isObjectType, - isObjectTypePropertyAFunction, - hasRestParameter, - shouldPrintComma, - hasComment, - isNextLineEmpty - } = require_utils7(); - var { - locEnd - } = require_loc(); - var { - ArgExpansionBailout - } = require_errors(); - var { - printFunctionTypeParameters - } = require_misc(); - function printFunctionParameters(path, print, options, expandArg, printTypeParams) { - const functionNode = path.getValue(); - const parameters = getFunctionParameters(functionNode); - const typeParams = printTypeParams ? printFunctionTypeParameters(path, options, print) : ""; - if (parameters.length === 0) { - return [typeParams, "(", printDanglingComments(path, options, true, (comment) => getNextNonSpaceNonCommentCharacter(options.originalText, comment, locEnd) === ")"), ")"]; - } - const parent = path.getParentNode(); - const isParametersInTestCall = isTestCall(parent); - const shouldHugParameters = shouldHugFunctionParameters(functionNode); - const printed = []; - iterateFunctionParametersPath(path, (parameterPath, index) => { - const isLastParameter = index === parameters.length - 1; - if (isLastParameter && functionNode.rest) { - printed.push("..."); - } - printed.push(print()); - if (isLastParameter) { - return; - } - printed.push(","); - if (isParametersInTestCall || shouldHugParameters) { - printed.push(" "); - } else if (isNextLineEmpty(parameters[index], options)) { - printed.push(hardline, hardline); - } else { - printed.push(line); - } - }); - if (expandArg) { - if (willBreak(typeParams) || willBreak(printed)) { - throw new ArgExpansionBailout(); - } - return group([removeLines(typeParams), "(", removeLines(printed), ")"]); - } - const hasNotParameterDecorator = parameters.every((node) => !node.decorators); - if (shouldHugParameters && hasNotParameterDecorator) { - return [typeParams, "(", ...printed, ")"]; - } - if (isParametersInTestCall) { - return [typeParams, "(", ...printed, ")"]; - } - const isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction(parent) || isTypeAnnotationAFunction(parent) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === functionNode) && parameters.length === 1 && parameters[0].name === null && functionNode.this !== parameters[0] && parameters[0].typeAnnotation && functionNode.typeParameters === null && isSimpleType(parameters[0].typeAnnotation) && !functionNode.rest; - if (isFlowShorthandWithOneArg) { - if (options.arrowParens === "always") { - return ["(", ...printed, ")"]; - } - return printed; - } - return [typeParams, "(", indent([softline, ...printed]), ifBreak(!hasRestParameter(functionNode) && shouldPrintComma(options, "all") ? "," : ""), softline, ")"]; - } - function shouldHugFunctionParameters(node) { - if (!node) { - return false; - } - const parameters = getFunctionParameters(node); - if (parameters.length !== 1) { - return false; - } - const [parameter] = parameters; - return !hasComment(parameter) && (parameter.type === "ObjectPattern" || parameter.type === "ArrayPattern" || parameter.type === "Identifier" && parameter.typeAnnotation && (parameter.typeAnnotation.type === "TypeAnnotation" || parameter.typeAnnotation.type === "TSTypeAnnotation") && isObjectType(parameter.typeAnnotation.typeAnnotation) || parameter.type === "FunctionTypeParam" && isObjectType(parameter.typeAnnotation) || parameter.type === "AssignmentPattern" && (parameter.left.type === "ObjectPattern" || parameter.left.type === "ArrayPattern") && (parameter.right.type === "Identifier" || parameter.right.type === "ObjectExpression" && parameter.right.properties.length === 0 || parameter.right.type === "ArrayExpression" && parameter.right.elements.length === 0)); - } - function getReturnTypeNode(functionNode) { - let returnTypeNode; - if (functionNode.returnType) { - returnTypeNode = functionNode.returnType; - if (returnTypeNode.typeAnnotation) { - returnTypeNode = returnTypeNode.typeAnnotation; - } - } else if (functionNode.typeAnnotation) { - returnTypeNode = functionNode.typeAnnotation; - } - return returnTypeNode; - } - function shouldGroupFunctionParameters(functionNode, returnTypeDoc) { - const returnTypeNode = getReturnTypeNode(functionNode); - if (!returnTypeNode) { - return false; - } - const typeParameters = functionNode.typeParameters && functionNode.typeParameters.params; - if (typeParameters) { - if (typeParameters.length > 1) { - return false; - } - if (typeParameters.length === 1) { - const typeParameter = typeParameters[0]; - if (typeParameter.constraint || typeParameter.default) { - return false; - } - } - } - return getFunctionParameters(functionNode).length === 1 && (isObjectType(returnTypeNode) || willBreak(returnTypeDoc)); - } - module2.exports = { - printFunctionParameters, - shouldHugFunctionParameters, - shouldGroupFunctionParameters - }; - } -}); -var require_type_annotation = __commonJS2({ - "src/language-js/print/type-annotation.js"(exports2, module2) { - "use strict"; - var { - printComments, - printDanglingComments - } = require_comments(); - var { - isNonEmptyArray - } = require_util(); - var { - builders: { - group, - join, - line, - softline, - indent, - align, - ifBreak - } - } = require("./doc.js"); - var pathNeedsParens = require_needs_parens(); - var { - locStart - } = require_loc(); - var { - isSimpleType, - isObjectType, - hasLeadingOwnLineComment, - isObjectTypePropertyAFunction, - shouldPrintComma - } = require_utils7(); - var { - printAssignment - } = require_assignment(); - var { - printFunctionParameters, - shouldGroupFunctionParameters - } = require_function_parameters(); - var { - printArrayItems - } = require_array4(); - function shouldHugType(node) { - if (isSimpleType(node) || isObjectType(node)) { - return true; - } - if (node.type === "UnionTypeAnnotation" || node.type === "TSUnionType") { - const voidCount = node.types.filter((node2) => node2.type === "VoidTypeAnnotation" || node2.type === "TSVoidKeyword" || node2.type === "NullLiteralTypeAnnotation" || node2.type === "TSNullKeyword").length; - const hasObject = node.types.some((node2) => node2.type === "ObjectTypeAnnotation" || node2.type === "TSTypeLiteral" || node2.type === "GenericTypeAnnotation" || node2.type === "TSTypeReference"); - if (node.types.length - 1 === voidCount && hasObject) { - return true; - } - } - return false; - } - function printOpaqueType(path, options, print) { - const semi = options.semi ? ";" : ""; - const node = path.getValue(); - const parts = []; - parts.push("opaque type ", print("id"), print("typeParameters")); - if (node.supertype) { - parts.push(": ", print("supertype")); - } - if (node.impltype) { - parts.push(" = ", print("impltype")); - } - parts.push(semi); - return parts; - } - function printTypeAlias(path, options, print) { - const semi = options.semi ? ";" : ""; - const node = path.getValue(); - const parts = []; - if (node.declare) { - parts.push("declare "); - } - parts.push("type ", print("id"), print("typeParameters")); - const rightPropertyName = node.type === "TSTypeAliasDeclaration" ? "typeAnnotation" : "right"; - return [printAssignment(path, options, print, parts, " =", rightPropertyName), semi]; - } - function printIntersectionType(path, options, print) { - const node = path.getValue(); - const types = path.map(print, "types"); - const result = []; - let wasIndented = false; - for (let i = 0; i < types.length; ++i) { - if (i === 0) { - result.push(types[i]); - } else if (isObjectType(node.types[i - 1]) && isObjectType(node.types[i])) { - result.push([" & ", wasIndented ? indent(types[i]) : types[i]]); - } else if (!isObjectType(node.types[i - 1]) && !isObjectType(node.types[i])) { - result.push(indent([" &", line, types[i]])); - } else { - if (i > 1) { - wasIndented = true; - } - result.push(" & ", i > 1 ? indent(types[i]) : types[i]); - } - } - return group(result); - } - function printUnionType(path, options, print) { - const node = path.getValue(); - const parent = path.getParentNode(); - const shouldIndent = parent.type !== "TypeParameterInstantiation" && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name && path.getParentNode(1).this !== parent) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment(options.originalText, node)); - const shouldHug = shouldHugType(node); - const printed = path.map((typePath) => { - let printedType = print(); - if (!shouldHug) { - printedType = align(2, printedType); - } - return printComments(typePath, printedType, options); - }, "types"); - if (shouldHug) { - return join(" | ", printed); - } - const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment(options.originalText, node); - const code = [ifBreak([shouldAddStartLine ? line : "", "| "]), join([line, "| "], printed)]; - if (pathNeedsParens(path, options)) { - return group([indent(code), softline]); - } - if (parent.type === "TupleTypeAnnotation" && parent.types.length > 1 || parent.type === "TSTupleType" && parent.elementTypes.length > 1) { - return group([indent([ifBreak(["(", softline]), code]), softline, ifBreak(")")]); - } - return group(shouldIndent ? indent(code) : code); - } - function printFunctionType(path, options, print) { - const node = path.getValue(); - const parts = []; - const parent = path.getParentNode(0); - const parentParent = path.getParentNode(1); - const parentParentParent = path.getParentNode(2); - let isArrowFunctionTypeAnnotation = node.type === "TSFunctionType" || !((parent.type === "ObjectTypeProperty" || parent.type === "ObjectTypeInternalSlot") && !parent.variance && !parent.optional && locStart(parent) === locStart(node) || parent.type === "ObjectTypeCallProperty" || parentParentParent && parentParentParent.type === "DeclareFunction"); - let needsColon = isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation"); - const needsParens = needsColon && isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation") && parentParent.type === "ArrowFunctionExpression"; - if (isObjectTypePropertyAFunction(parent)) { - isArrowFunctionTypeAnnotation = true; - needsColon = true; - } - if (needsParens) { - parts.push("("); - } - const parametersDoc = printFunctionParameters(path, print, options, false, true); - const returnTypeDoc = node.returnType || node.predicate || node.typeAnnotation ? [isArrowFunctionTypeAnnotation ? " => " : ": ", print("returnType"), print("predicate"), print("typeAnnotation")] : ""; - const shouldGroupParameters = shouldGroupFunctionParameters(node, returnTypeDoc); - parts.push(shouldGroupParameters ? group(parametersDoc) : parametersDoc); - if (returnTypeDoc) { - parts.push(returnTypeDoc); - } - if (needsParens) { - parts.push(")"); - } - return group(parts); - } - function printTupleType(path, options, print) { - const node = path.getValue(); - const typesField = node.type === "TSTupleType" ? "elementTypes" : "types"; - const types = node[typesField]; - const isNonEmptyTuple = isNonEmptyArray(types); - const bracketsDelimiterLine = isNonEmptyTuple ? softline : ""; - return group(["[", indent([bracketsDelimiterLine, printArrayItems(path, options, typesField, print)]), ifBreak(isNonEmptyTuple && shouldPrintComma(options, "all") ? "," : ""), printDanglingComments(path, options, true), bracketsDelimiterLine, "]"]); - } - function printIndexedAccessType(path, options, print) { - const node = path.getValue(); - const leftDelimiter = node.type === "OptionalIndexedAccessType" && node.optional ? "?.[" : "["; - return [print("objectType"), leftDelimiter, print("indexType"), "]"]; - } - function printJSDocType(path, print, token) { - const node = path.getValue(); - return [node.postfix ? "" : token, print("typeAnnotation"), node.postfix ? token : ""]; - } - module2.exports = { - printOpaqueType, - printTypeAlias, - printIntersectionType, - printUnionType, - printFunctionType, - printTupleType, - printIndexedAccessType, - shouldHugType, - printJSDocType - }; - } -}); -var require_type_parameters = __commonJS2({ - "src/language-js/print/type-parameters.js"(exports2, module2) { - "use strict"; - var { - printDanglingComments - } = require_comments(); - var { - builders: { - join, - line, - hardline, - softline, - group, - indent, - ifBreak - } - } = require("./doc.js"); - var { - isTestCall, - hasComment, - CommentCheckFlags, - isTSXFile, - shouldPrintComma, - getFunctionParameters, - isObjectType, - getTypeScriptMappedTypeModifier - } = require_utils7(); - var { - createGroupIdMapper - } = require_util(); - var { - shouldHugType - } = require_type_annotation(); - var { - isArrowFunctionVariableDeclarator - } = require_assignment(); - var getTypeParametersGroupId = createGroupIdMapper("typeParameters"); - function printTypeParameters(path, options, print, paramsKey) { - const node = path.getValue(); - if (!node[paramsKey]) { - return ""; - } - if (!Array.isArray(node[paramsKey])) { - return print(paramsKey); - } - const grandparent = path.getNode(2); - const isParameterInTestCall = grandparent && isTestCall(grandparent); - const isArrowFunctionVariable = path.match((node2) => !(node2[paramsKey].length === 1 && isObjectType(node2[paramsKey][0])), void 0, (node2, name) => name === "typeAnnotation", (node2) => node2.type === "Identifier", isArrowFunctionVariableDeclarator); - const shouldInline = node[paramsKey].length === 0 || !isArrowFunctionVariable && (isParameterInTestCall || node[paramsKey].length === 1 && (node[paramsKey][0].type === "NullableTypeAnnotation" || shouldHugType(node[paramsKey][0]))); - if (shouldInline) { - return ["<", join(", ", path.map(print, paramsKey)), printDanglingCommentsForInline(path, options), ">"]; - } - const trailingComma = node.type === "TSTypeParameterInstantiation" ? "" : getFunctionParameters(node).length === 1 && isTSXFile(options) && !node[paramsKey][0].constraint && path.getParentNode().type === "ArrowFunctionExpression" ? "," : shouldPrintComma(options, "all") ? ifBreak(",") : ""; - return group(["<", indent([softline, join([",", line], path.map(print, paramsKey))]), trailingComma, softline, ">"], { - id: getTypeParametersGroupId(node) - }); - } - function printDanglingCommentsForInline(path, options) { - const node = path.getValue(); - if (!hasComment(node, CommentCheckFlags.Dangling)) { - return ""; - } - const hasOnlyBlockComments = !hasComment(node, CommentCheckFlags.Line); - const printed = printDanglingComments(path, options, hasOnlyBlockComments); - if (hasOnlyBlockComments) { - return printed; - } - return [printed, hardline]; - } - function printTypeParameter(path, options, print) { - const node = path.getValue(); - const parts = [node.type === "TSTypeParameter" && node.const ? "const " : ""]; - const parent = path.getParentNode(); - if (parent.type === "TSMappedType") { - if (parent.readonly) { - parts.push(getTypeScriptMappedTypeModifier(parent.readonly, "readonly"), " "); - } - parts.push("[", print("name")); - if (node.constraint) { - parts.push(" in ", print("constraint")); - } - if (parent.nameType) { - parts.push(" as ", path.callParent(() => print("nameType"))); - } - parts.push("]"); - return parts; - } - if (node.variance) { - parts.push(print("variance")); - } - if (node.in) { - parts.push("in "); - } - if (node.out) { - parts.push("out "); - } - parts.push(print("name")); - if (node.bound) { - parts.push(": ", print("bound")); - } - if (node.constraint) { - parts.push(" extends ", print("constraint")); - } - if (node.default) { - parts.push(" = ", print("default")); - } - return parts; - } - module2.exports = { - printTypeParameter, - printTypeParameters, - getTypeParametersGroupId - }; - } -}); -var require_property = __commonJS2({ - "src/language-js/print/property.js"(exports2, module2) { - "use strict"; - var { - printComments - } = require_comments(); - var { - printString, - printNumber - } = require_util(); - var { - isNumericLiteral, - isSimpleNumber, - isStringLiteral, - isStringPropSafeToUnquote, - rawText - } = require_utils7(); - var { - printAssignment - } = require_assignment(); - var needsQuoteProps = /* @__PURE__ */ new WeakMap(); - function printPropertyKey(path, options, print) { - const node = path.getNode(); - if (node.computed) { - return ["[", print("key"), "]"]; - } - const parent = path.getParentNode(); - const { - key - } = node; - if (options.quoteProps === "consistent" && !needsQuoteProps.has(parent)) { - const objectHasStringProp = (parent.properties || parent.body || parent.members).some((prop) => !prop.computed && prop.key && isStringLiteral(prop.key) && !isStringPropSafeToUnquote(prop, options)); - needsQuoteProps.set(parent, objectHasStringProp); - } - if ((key.type === "Identifier" || isNumericLiteral(key) && isSimpleNumber(printNumber(rawText(key))) && String(key.value) === printNumber(rawText(key)) && !(options.parser === "typescript" || options.parser === "babel-ts")) && (options.parser === "json" || options.quoteProps === "consistent" && needsQuoteProps.get(parent))) { - const prop = printString(JSON.stringify(key.type === "Identifier" ? key.name : key.value.toString()), options); - return path.call((keyPath) => printComments(keyPath, prop, options), "key"); - } - if (isStringPropSafeToUnquote(node, options) && (options.quoteProps === "as-needed" || options.quoteProps === "consistent" && !needsQuoteProps.get(parent))) { - return path.call((keyPath) => printComments(keyPath, /^\d/.test(key.value) ? printNumber(key.value) : key.value, options), "key"); - } - return print("key"); - } - function printProperty(path, options, print) { - const node = path.getValue(); - if (node.shorthand) { - return print("value"); - } - return printAssignment(path, options, print, printPropertyKey(path, options, print), ":", "value"); - } - module2.exports = { - printProperty, - printPropertyKey - }; - } -}); -var require_function = __commonJS2({ - "src/language-js/print/function.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { - printDanglingComments, - printCommentsSeparately - } = require_comments(); - var getLast = require_get_last(); - var { - getNextNonSpaceNonCommentCharacterIndex - } = require_util(); - var { - builders: { - line, - softline, - group, - indent, - ifBreak, - hardline, - join, - indentIfBreak - }, - utils: { - removeLines, - willBreak - } - } = require("./doc.js"); - var { - ArgExpansionBailout - } = require_errors(); - var { - getFunctionParameters, - hasLeadingOwnLineComment, - isFlowAnnotationComment, - isJsxNode, - isTemplateOnItsOwnLine, - shouldPrintComma, - startsWithNoLookaheadToken, - isBinaryish, - isLineComment, - hasComment, - getComments, - CommentCheckFlags, - isCallLikeExpression, - isCallExpression, - getCallArguments, - hasNakedLeftSide, - getLeftSide - } = require_utils7(); - var { - locEnd - } = require_loc(); - var { - printFunctionParameters, - shouldGroupFunctionParameters - } = require_function_parameters(); - var { - printPropertyKey - } = require_property(); - var { - printFunctionTypeParameters - } = require_misc(); - function printFunction(path, print, options, args) { - const node = path.getValue(); - let expandArg = false; - if ((node.type === "FunctionDeclaration" || node.type === "FunctionExpression") && args && args.expandLastArg) { - const parent = path.getParentNode(); - if (isCallExpression(parent) && getCallArguments(parent).length > 1) { - expandArg = true; - } - } - const parts = []; - if (node.type === "TSDeclareFunction" && node.declare) { - parts.push("declare "); - } - if (node.async) { - parts.push("async "); - } - if (node.generator) { - parts.push("function* "); - } else { - parts.push("function "); - } - if (node.id) { - parts.push(print("id")); - } - const parametersDoc = printFunctionParameters(path, print, options, expandArg); - const returnTypeDoc = printReturnType(path, print, options); - const shouldGroupParameters = shouldGroupFunctionParameters(node, returnTypeDoc); - parts.push(printFunctionTypeParameters(path, options, print), group([shouldGroupParameters ? group(parametersDoc) : parametersDoc, returnTypeDoc]), node.body ? " " : "", print("body")); - if (options.semi && (node.declare || !node.body)) { - parts.push(";"); - } - return parts; - } - function printMethod(path, options, print) { - const node = path.getNode(); - const { - kind - } = node; - const value = node.value || node; - const parts = []; - if (!kind || kind === "init" || kind === "method" || kind === "constructor") { - if (value.async) { - parts.push("async "); - } - } else { - assert.ok(kind === "get" || kind === "set"); - parts.push(kind, " "); - } - if (value.generator) { - parts.push("*"); - } - parts.push(printPropertyKey(path, options, print), node.optional || node.key.optional ? "?" : ""); - if (node === value) { - parts.push(printMethodInternal(path, options, print)); - } else if (value.type === "FunctionExpression") { - parts.push(path.call((path2) => printMethodInternal(path2, options, print), "value")); - } else { - parts.push(print("value")); - } - return parts; - } - function printMethodInternal(path, options, print) { - const node = path.getNode(); - const parametersDoc = printFunctionParameters(path, print, options); - const returnTypeDoc = printReturnType(path, print, options); - const shouldGroupParameters = shouldGroupFunctionParameters(node, returnTypeDoc); - const parts = [printFunctionTypeParameters(path, options, print), group([shouldGroupParameters ? group(parametersDoc) : parametersDoc, returnTypeDoc])]; - if (node.body) { - parts.push(" ", print("body")); - } else { - parts.push(options.semi ? ";" : ""); - } - return parts; - } - function printArrowFunctionSignature(path, options, print, args) { - const node = path.getValue(); - const parts = []; - if (node.async) { - parts.push("async "); - } - if (shouldPrintParamsWithoutParens(path, options)) { - parts.push(print(["params", 0])); - } else { - const expandArg = args && (args.expandLastArg || args.expandFirstArg); - let returnTypeDoc = printReturnType(path, print, options); - if (expandArg) { - if (willBreak(returnTypeDoc)) { - throw new ArgExpansionBailout(); - } - returnTypeDoc = group(removeLines(returnTypeDoc)); - } - parts.push(group([printFunctionParameters(path, print, options, expandArg, true), returnTypeDoc])); - } - const dangling = printDanglingComments(path, options, true, (comment) => { - const nextCharacter = getNextNonSpaceNonCommentCharacterIndex(options.originalText, comment, locEnd); - return nextCharacter !== false && options.originalText.slice(nextCharacter, nextCharacter + 2) === "=>"; - }); - if (dangling) { - parts.push(" ", dangling); - } - return parts; - } - function printArrowChain(path, args, signatures, shouldBreak, bodyDoc, tailNode) { - const name = path.getName(); - const parent = path.getParentNode(); - const isCallee = isCallLikeExpression(parent) && name === "callee"; - const isAssignmentRhs = Boolean(args && args.assignmentLayout); - const shouldPutBodyOnSeparateLine = tailNode.body.type !== "BlockStatement" && tailNode.body.type !== "ObjectExpression" && tailNode.body.type !== "SequenceExpression"; - const shouldBreakBeforeChain = isCallee && shouldPutBodyOnSeparateLine || args && args.assignmentLayout === "chain-tail-arrow-chain"; - const groupId = Symbol("arrow-chain"); - if (tailNode.body.type === "SequenceExpression") { - bodyDoc = group(["(", indent([softline, bodyDoc]), softline, ")"]); - } - return group([group(indent([isCallee || isAssignmentRhs ? softline : "", group(join([" =>", line], signatures), { - shouldBreak - })]), { - id: groupId, - shouldBreak: shouldBreakBeforeChain - }), " =>", indentIfBreak(shouldPutBodyOnSeparateLine ? indent([line, bodyDoc]) : [" ", bodyDoc], { - groupId - }), isCallee ? ifBreak(softline, "", { - groupId - }) : ""]); - } - function printArrowFunction(path, options, print, args) { - let node = path.getValue(); - const signatures = []; - const body = []; - let chainShouldBreak = false; - (function rec() { - const doc2 = printArrowFunctionSignature(path, options, print, args); - if (signatures.length === 0) { - signatures.push(doc2); - } else { - const { - leading, - trailing - } = printCommentsSeparately(path, options); - signatures.push([leading, doc2]); - body.unshift(trailing); - } - chainShouldBreak = chainShouldBreak || node.returnType && getFunctionParameters(node).length > 0 || node.typeParameters || getFunctionParameters(node).some((param) => param.type !== "Identifier"); - if (node.body.type !== "ArrowFunctionExpression" || args && args.expandLastArg) { - body.unshift(print("body", args)); - } else { - node = node.body; - path.call(rec, "body"); - } - })(); - if (signatures.length > 1) { - return printArrowChain(path, args, signatures, chainShouldBreak, body, node); - } - const parts = signatures; - parts.push(" =>"); - if (!hasLeadingOwnLineComment(options.originalText, node.body) && (node.body.type === "ArrayExpression" || node.body.type === "ObjectExpression" || node.body.type === "BlockStatement" || isJsxNode(node.body) || isTemplateOnItsOwnLine(node.body, options.originalText) || node.body.type === "ArrowFunctionExpression" || node.body.type === "DoExpression")) { - return group([...parts, " ", body]); - } - if (node.body.type === "SequenceExpression") { - return group([...parts, group([" (", indent([softline, body]), softline, ")"])]); - } - const shouldAddSoftLine = (args && args.expandLastArg || path.getParentNode().type === "JSXExpressionContainer") && !hasComment(node); - const printTrailingComma = args && args.expandLastArg && shouldPrintComma(options, "all"); - const shouldAddParens = node.body.type === "ConditionalExpression" && !startsWithNoLookaheadToken(node.body, (node2) => node2.type === "ObjectExpression"); - return group([...parts, group([indent([line, shouldAddParens ? ifBreak("", "(") : "", body, shouldAddParens ? ifBreak("", ")") : ""]), shouldAddSoftLine ? [ifBreak(printTrailingComma ? "," : ""), softline] : ""])]); - } - function canPrintParamsWithoutParens(node) { - const parameters = getFunctionParameters(node); - return parameters.length === 1 && !node.typeParameters && !hasComment(node, CommentCheckFlags.Dangling) && parameters[0].type === "Identifier" && !parameters[0].typeAnnotation && !hasComment(parameters[0]) && !parameters[0].optional && !node.predicate && !node.returnType; - } - function shouldPrintParamsWithoutParens(path, options) { - if (options.arrowParens === "always") { - return false; - } - if (options.arrowParens === "avoid") { - const node = path.getValue(); - return canPrintParamsWithoutParens(node); - } - return false; - } - function printReturnType(path, print, options) { - const node = path.getValue(); - const returnType = print("returnType"); - if (node.returnType && isFlowAnnotationComment(options.originalText, node.returnType)) { - return [" /*: ", returnType, " */"]; - } - const parts = [returnType]; - if (node.returnType && node.returnType.typeAnnotation) { - parts.unshift(": "); - } - if (node.predicate) { - parts.push(node.returnType ? " " : ": ", print("predicate")); - } - return parts; - } - function printReturnOrThrowArgument(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = []; - if (node.argument) { - if (returnArgumentHasLeadingComment(options, node.argument)) { - parts.push([" (", indent([hardline, print("argument")]), hardline, ")"]); - } else if (isBinaryish(node.argument) || node.argument.type === "SequenceExpression") { - parts.push(group([ifBreak(" (", " "), indent([softline, print("argument")]), softline, ifBreak(")")])); - } else { - parts.push(" ", print("argument")); - } - } - const comments = getComments(node); - const lastComment = getLast(comments); - const isLastCommentLine = lastComment && isLineComment(lastComment); - if (isLastCommentLine) { - parts.push(semi); - } - if (hasComment(node, CommentCheckFlags.Dangling)) { - parts.push(" ", printDanglingComments(path, options, true)); - } - if (!isLastCommentLine) { - parts.push(semi); - } - return parts; - } - function printReturnStatement(path, options, print) { - return ["return", printReturnOrThrowArgument(path, options, print)]; - } - function printThrowStatement(path, options, print) { - return ["throw", printReturnOrThrowArgument(path, options, print)]; - } - function returnArgumentHasLeadingComment(options, argument) { - if (hasLeadingOwnLineComment(options.originalText, argument)) { - return true; - } - if (hasNakedLeftSide(argument)) { - let leftMost = argument; - let newLeftMost; - while (newLeftMost = getLeftSide(leftMost)) { - leftMost = newLeftMost; - if (hasLeadingOwnLineComment(options.originalText, leftMost)) { - return true; - } - } - } - return false; - } - module2.exports = { - printFunction, - printArrowFunction, - printMethod, - printReturnStatement, - printThrowStatement, - printMethodInternal, - shouldPrintParamsWithoutParens - }; - } -}); -var require_decorators = __commonJS2({ - "src/language-js/print/decorators.js"(exports2, module2) { - "use strict"; - var { - isNonEmptyArray, - hasNewline - } = require_util(); - var { - builders: { - line, - hardline, - join, - breakParent, - group - } - } = require("./doc.js"); - var { - locStart, - locEnd - } = require_loc(); - var { - getParentExportDeclaration - } = require_utils7(); - function printClassMemberDecorators(path, options, print) { - const node = path.getValue(); - return group([join(line, path.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators(node, options) ? hardline : line]); - } - function printDecoratorsBeforeExport(path, options, print) { - return [join(hardline, path.map(print, "declaration", "decorators")), hardline]; - } - function printDecorators(path, options, print) { - const node = path.getValue(); - const { - decorators - } = node; - if (!isNonEmptyArray(decorators) || hasDecoratorsBeforeExport(path.getParentNode())) { - return; - } - const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators(node, options); - return [getParentExportDeclaration(path) ? hardline : shouldBreak ? breakParent : "", join(line, path.map(print, "decorators")), line]; - } - function hasNewlineBetweenOrAfterDecorators(node, options) { - return node.decorators.some((decorator) => hasNewline(options.originalText, locEnd(decorator))); - } - function hasDecoratorsBeforeExport(node) { - if (node.type !== "ExportDefaultDeclaration" && node.type !== "ExportNamedDeclaration" && node.type !== "DeclareExportDeclaration") { - return false; - } - const decorators = node.declaration && node.declaration.decorators; - return isNonEmptyArray(decorators) && locStart(node) === locStart(decorators[0]); - } - module2.exports = { - printDecorators, - printClassMemberDecorators, - printDecoratorsBeforeExport, - hasDecoratorsBeforeExport - }; - } -}); -var require_class = __commonJS2({ - "src/language-js/print/class.js"(exports2, module2) { - "use strict"; - var { - isNonEmptyArray, - createGroupIdMapper - } = require_util(); - var { - printComments, - printDanglingComments - } = require_comments(); - var { - builders: { - join, - line, - hardline, - softline, - group, - indent, - ifBreak - } - } = require("./doc.js"); - var { - hasComment, - CommentCheckFlags - } = require_utils7(); - var { - getTypeParametersGroupId - } = require_type_parameters(); - var { - printMethod - } = require_function(); - var { - printOptionalToken, - printTypeAnnotation, - printDefiniteToken - } = require_misc(); - var { - printPropertyKey - } = require_property(); - var { - printAssignment - } = require_assignment(); - var { - printClassMemberDecorators - } = require_decorators(); - function printClass(path, options, print) { - const node = path.getValue(); - const parts = []; - if (node.declare) { - parts.push("declare "); - } - if (node.abstract) { - parts.push("abstract "); - } - parts.push("class"); - const groupMode = node.id && hasComment(node.id, CommentCheckFlags.Trailing) || node.typeParameters && hasComment(node.typeParameters, CommentCheckFlags.Trailing) || node.superClass && hasComment(node.superClass) || isNonEmptyArray(node.extends) || isNonEmptyArray(node.mixins) || isNonEmptyArray(node.implements); - const partsGroup = []; - const extendsParts = []; - if (node.id) { - partsGroup.push(" ", print("id")); - } - partsGroup.push(print("typeParameters")); - if (node.superClass) { - const printed = [printSuperClass(path, options, print), print("superTypeParameters")]; - const printedWithComments = path.call((superClass) => ["extends ", printComments(superClass, printed, options)], "superClass"); - if (groupMode) { - extendsParts.push(line, group(printedWithComments)); - } else { - extendsParts.push(" ", printedWithComments); - } - } else { - extendsParts.push(printList(path, options, print, "extends")); - } - extendsParts.push(printList(path, options, print, "mixins"), printList(path, options, print, "implements")); - if (groupMode) { - let printedPartsGroup; - if (shouldIndentOnlyHeritageClauses(node)) { - printedPartsGroup = [...partsGroup, indent(extendsParts)]; - } else { - printedPartsGroup = indent([...partsGroup, extendsParts]); - } - parts.push(group(printedPartsGroup, { - id: getHeritageGroupId(node) - })); - } else { - parts.push(...partsGroup, ...extendsParts); - } - parts.push(" ", print("body")); - return parts; - } - var getHeritageGroupId = createGroupIdMapper("heritageGroup"); - function printHardlineAfterHeritage(node) { - return ifBreak(hardline, "", { - groupId: getHeritageGroupId(node) - }); - } - function hasMultipleHeritage(node) { - return ["superClass", "extends", "mixins", "implements"].filter((key) => Boolean(node[key])).length > 1; - } - function shouldIndentOnlyHeritageClauses(node) { - return node.typeParameters && !hasComment(node.typeParameters, CommentCheckFlags.Trailing | CommentCheckFlags.Line) && !hasMultipleHeritage(node); - } - function printList(path, options, print, listName) { - const node = path.getValue(); - if (!isNonEmptyArray(node[listName])) { - return ""; - } - const printedLeadingComments = printDanglingComments(path, options, true, ({ - marker - }) => marker === listName); - return [shouldIndentOnlyHeritageClauses(node) ? ifBreak(" ", line, { - groupId: getTypeParametersGroupId(node.typeParameters) - }) : line, printedLeadingComments, printedLeadingComments && hardline, listName, group(indent([line, join([",", line], path.map(print, listName))]))]; - } - function printSuperClass(path, options, print) { - const printed = print("superClass"); - const parent = path.getParentNode(); - if (parent.type === "AssignmentExpression") { - return group(ifBreak(["(", indent([softline, printed]), softline, ")"], printed)); - } - return printed; - } - function printClassMethod(path, options, print) { - const node = path.getValue(); - const parts = []; - if (isNonEmptyArray(node.decorators)) { - parts.push(printClassMemberDecorators(path, options, print)); - } - if (node.accessibility) { - parts.push(node.accessibility + " "); - } - if (node.readonly) { - parts.push("readonly "); - } - if (node.declare) { - parts.push("declare "); - } - if (node.static) { - parts.push("static "); - } - if (node.type === "TSAbstractMethodDefinition" || node.abstract) { - parts.push("abstract "); - } - if (node.override) { - parts.push("override "); - } - parts.push(printMethod(path, options, print)); - return parts; - } - function printClassProperty(path, options, print) { - const node = path.getValue(); - const parts = []; - const semi = options.semi ? ";" : ""; - if (isNonEmptyArray(node.decorators)) { - parts.push(printClassMemberDecorators(path, options, print)); - } - if (node.accessibility) { - parts.push(node.accessibility + " "); - } - if (node.declare) { - parts.push("declare "); - } - if (node.static) { - parts.push("static "); - } - if (node.type === "TSAbstractPropertyDefinition" || node.type === "TSAbstractAccessorProperty" || node.abstract) { - parts.push("abstract "); - } - if (node.override) { - parts.push("override "); - } - if (node.readonly) { - parts.push("readonly "); - } - if (node.variance) { - parts.push(print("variance")); - } - if (node.type === "ClassAccessorProperty" || node.type === "AccessorProperty" || node.type === "TSAbstractAccessorProperty") { - parts.push("accessor "); - } - parts.push(printPropertyKey(path, options, print), printOptionalToken(path), printDefiniteToken(path), printTypeAnnotation(path, options, print)); - return [printAssignment(path, options, print, parts, " =", "value"), semi]; - } - module2.exports = { - printClass, - printClassMethod, - printClassProperty, - printHardlineAfterHeritage - }; - } -}); -var require_interface = __commonJS2({ - "src/language-js/print/interface.js"(exports2, module2) { - "use strict"; - var { - isNonEmptyArray - } = require_util(); - var { - builders: { - join, - line, - group, - indent, - ifBreak - } - } = require("./doc.js"); - var { - hasComment, - identity, - CommentCheckFlags - } = require_utils7(); - var { - getTypeParametersGroupId - } = require_type_parameters(); - var { - printTypeScriptModifiers - } = require_misc(); - function printInterface(path, options, print) { - const node = path.getValue(); - const parts = []; - if (node.declare) { - parts.push("declare "); - } - if (node.type === "TSInterfaceDeclaration") { - parts.push(node.abstract ? "abstract " : "", printTypeScriptModifiers(path, options, print)); - } - parts.push("interface"); - const partsGroup = []; - const extendsParts = []; - if (node.type !== "InterfaceTypeAnnotation") { - partsGroup.push(" ", print("id"), print("typeParameters")); - } - const shouldIndentOnlyHeritageClauses = node.typeParameters && !hasComment(node.typeParameters, CommentCheckFlags.Trailing | CommentCheckFlags.Line); - if (isNonEmptyArray(node.extends)) { - extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak(" ", line, { - groupId: getTypeParametersGroupId(node.typeParameters) - }) : line, "extends ", (node.extends.length === 1 ? identity : indent)(join([",", line], path.map(print, "extends")))); - } - if (node.id && hasComment(node.id, CommentCheckFlags.Trailing) || isNonEmptyArray(node.extends)) { - if (shouldIndentOnlyHeritageClauses) { - parts.push(group([...partsGroup, indent(extendsParts)])); - } else { - parts.push(group(indent([...partsGroup, ...extendsParts]))); - } - } else { - parts.push(...partsGroup, ...extendsParts); - } - parts.push(" ", print("body")); - return group(parts); - } - module2.exports = { - printInterface - }; - } -}); -var require_module = __commonJS2({ - "src/language-js/print/module.js"(exports2, module2) { - "use strict"; - var { - isNonEmptyArray - } = require_util(); - var { - builders: { - softline, - group, - indent, - join, - line, - ifBreak, - hardline - } - } = require("./doc.js"); - var { - printDanglingComments - } = require_comments(); - var { - hasComment, - CommentCheckFlags, - shouldPrintComma, - needsHardlineAfterDanglingComment, - isStringLiteral, - rawText - } = require_utils7(); - var { - locStart, - hasSameLoc - } = require_loc(); - var { - hasDecoratorsBeforeExport, - printDecoratorsBeforeExport - } = require_decorators(); - function printImportDeclaration(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = []; - const { - importKind - } = node; - parts.push("import"); - if (importKind && importKind !== "value") { - parts.push(" ", importKind); - } - parts.push(printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); - return parts; - } - function printExportDeclaration(path, options, print) { - const node = path.getValue(); - const parts = []; - if (hasDecoratorsBeforeExport(node)) { - parts.push(printDecoratorsBeforeExport(path, options, print)); - } - const { - type, - exportKind, - declaration - } = node; - parts.push("export"); - const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; - if (isDefaultExport) { - parts.push(" default"); - } - if (hasComment(node, CommentCheckFlags.Dangling)) { - parts.push(" ", printDanglingComments(path, options, true)); - if (needsHardlineAfterDanglingComment(node)) { - parts.push(hardline); - } - } - if (declaration) { - parts.push(" ", print("declaration")); - } else { - parts.push(exportKind === "type" ? " type" : "", printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print)); - } - if (shouldExportDeclarationPrintSemi(node, options)) { - parts.push(";"); - } - return parts; - } - function printExportAllDeclaration(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = []; - const { - exportKind, - exported - } = node; - parts.push("export"); - if (exportKind === "type") { - parts.push(" type"); - } - parts.push(" *"); - if (exported) { - parts.push(" as ", print("exported")); - } - parts.push(printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); - return parts; - } - function shouldExportDeclarationPrintSemi(node, options) { - if (!options.semi) { - return false; - } - const { - type, - declaration - } = node; - const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; - if (!declaration) { - return true; - } - const { - type: declarationType - } = declaration; - if (isDefaultExport && declarationType !== "ClassDeclaration" && declarationType !== "FunctionDeclaration" && declarationType !== "TSInterfaceDeclaration" && declarationType !== "DeclareClass" && declarationType !== "DeclareFunction" && declarationType !== "TSDeclareFunction" && declarationType !== "EnumDeclaration") { - return true; - } - return false; - } - function printModuleSource(path, options, print) { - const node = path.getValue(); - if (!node.source) { - return ""; - } - const parts = []; - if (!shouldNotPrintSpecifiers(node, options)) { - parts.push(" from"); - } - parts.push(" ", print("source")); - return parts; - } - function printModuleSpecifiers(path, options, print) { - const node = path.getValue(); - if (shouldNotPrintSpecifiers(node, options)) { - return ""; - } - const parts = [" "]; - if (isNonEmptyArray(node.specifiers)) { - const standaloneSpecifiers = []; - const groupedSpecifiers = []; - path.each(() => { - const specifierType = path.getValue().type; - if (specifierType === "ExportNamespaceSpecifier" || specifierType === "ExportDefaultSpecifier" || specifierType === "ImportNamespaceSpecifier" || specifierType === "ImportDefaultSpecifier") { - standaloneSpecifiers.push(print()); - } else if (specifierType === "ExportSpecifier" || specifierType === "ImportSpecifier") { - groupedSpecifiers.push(print()); - } else { - throw new Error(`Unknown specifier type ${JSON.stringify(specifierType)}`); - } - }, "specifiers"); - parts.push(join(", ", standaloneSpecifiers)); - if (groupedSpecifiers.length > 0) { - if (standaloneSpecifiers.length > 0) { - parts.push(", "); - } - const canBreak = groupedSpecifiers.length > 1 || standaloneSpecifiers.length > 0 || node.specifiers.some((node2) => hasComment(node2)); - if (canBreak) { - parts.push(group(["{", indent([options.bracketSpacing ? line : softline, join([",", line], groupedSpecifiers)]), ifBreak(shouldPrintComma(options) ? "," : ""), options.bracketSpacing ? line : softline, "}"])); - } else { - parts.push(["{", options.bracketSpacing ? " " : "", ...groupedSpecifiers, options.bracketSpacing ? " " : "", "}"]); - } - } - } else { - parts.push("{}"); - } - return parts; - } - function shouldNotPrintSpecifiers(node, options) { - const { - type, - importKind, - source, - specifiers - } = node; - if (type !== "ImportDeclaration" || isNonEmptyArray(specifiers) || importKind === "type") { - return false; - } - return !/{\s*}/.test(options.originalText.slice(locStart(node), locStart(source))); - } - function printImportAssertions(path, options, print) { - const node = path.getNode(); - if (isNonEmptyArray(node.assertions)) { - return [" assert {", options.bracketSpacing ? " " : "", join(", ", path.map(print, "assertions")), options.bracketSpacing ? " " : "", "}"]; - } - return ""; - } - function printModuleSpecifier(path, options, print) { - const node = path.getNode(); - const { - type - } = node; - const parts = []; - const kind = type === "ImportSpecifier" ? node.importKind : node.exportKind; - if (kind && kind !== "value") { - parts.push(kind, " "); - } - const isImport = type.startsWith("Import"); - const leftSideProperty = isImport ? "imported" : "local"; - const rightSideProperty = isImport ? "local" : "exported"; - const leftSideNode = node[leftSideProperty]; - const rightSideNode = node[rightSideProperty]; - let left = ""; - let right = ""; - if (type === "ExportNamespaceSpecifier" || type === "ImportNamespaceSpecifier") { - left = "*"; - } else if (leftSideNode) { - left = print(leftSideProperty); - } - if (rightSideNode && !isShorthandSpecifier(node)) { - right = print(rightSideProperty); - } - parts.push(left, left && right ? " as " : "", right); - return parts; - } - function isShorthandSpecifier(specifier) { - if (specifier.type !== "ImportSpecifier" && specifier.type !== "ExportSpecifier") { - return false; - } - const { - local, - [specifier.type === "ImportSpecifier" ? "imported" : "exported"]: importedOrExported - } = specifier; - if (local.type !== importedOrExported.type || !hasSameLoc(local, importedOrExported)) { - return false; - } - if (isStringLiteral(local)) { - return local.value === importedOrExported.value && rawText(local) === rawText(importedOrExported); - } - switch (local.type) { - case "Identifier": - return local.name === importedOrExported.name; - default: - return false; - } - } - module2.exports = { - printImportDeclaration, - printExportDeclaration, - printExportAllDeclaration, - printModuleSpecifier - }; - } -}); -var require_object = __commonJS2({ - "src/language-js/print/object.js"(exports2, module2) { - "use strict"; - var { - printDanglingComments - } = require_comments(); - var { - builders: { - line, - softline, - group, - indent, - ifBreak, - hardline - } - } = require("./doc.js"); - var { - getLast, - hasNewlineInRange, - hasNewline, - isNonEmptyArray - } = require_util(); - var { - shouldPrintComma, - hasComment, - getComments, - CommentCheckFlags, - isNextLineEmpty - } = require_utils7(); - var { - locStart, - locEnd - } = require_loc(); - var { - printOptionalToken, - printTypeAnnotation - } = require_misc(); - var { - shouldHugFunctionParameters - } = require_function_parameters(); - var { - shouldHugType - } = require_type_annotation(); - var { - printHardlineAfterHeritage - } = require_class(); - function printObject(path, options, print) { - const semi = options.semi ? ";" : ""; - const node = path.getValue(); - let propertiesField; - if (node.type === "TSTypeLiteral") { - propertiesField = "members"; - } else if (node.type === "TSInterfaceBody") { - propertiesField = "body"; - } else { - propertiesField = "properties"; - } - const isTypeAnnotation = node.type === "ObjectTypeAnnotation"; - const fields = [propertiesField]; - if (isTypeAnnotation) { - fields.push("indexers", "callProperties", "internalSlots"); - } - const firstProperty = fields.map((field) => node[field][0]).sort((a, b) => locStart(a) - locStart(b))[0]; - const parent = path.getParentNode(0); - const isFlowInterfaceLikeBody = isTypeAnnotation && parent && (parent.type === "InterfaceDeclaration" || parent.type === "DeclareInterface" || parent.type === "DeclareClass") && path.getName() === "body"; - const shouldBreak = node.type === "TSInterfaceBody" || isFlowInterfaceLikeBody || node.type === "ObjectPattern" && parent.type !== "FunctionDeclaration" && parent.type !== "FunctionExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "ObjectMethod" && parent.type !== "ClassMethod" && parent.type !== "ClassPrivateMethod" && parent.type !== "AssignmentPattern" && parent.type !== "CatchClause" && node.properties.some((property) => property.value && (property.value.type === "ObjectPattern" || property.value.type === "ArrayPattern")) || node.type !== "ObjectPattern" && firstProperty && hasNewlineInRange(options.originalText, locStart(node), locStart(firstProperty)); - const separator = isFlowInterfaceLikeBody ? ";" : node.type === "TSInterfaceBody" || node.type === "TSTypeLiteral" ? ifBreak(semi, ";") : ","; - const leftBrace = node.type === "RecordExpression" ? "#{" : node.exact ? "{|" : "{"; - const rightBrace = node.exact ? "|}" : "}"; - const propsAndLoc = []; - for (const field of fields) { - path.each((childPath) => { - const node2 = childPath.getValue(); - propsAndLoc.push({ - node: node2, - printed: print(), - loc: locStart(node2) - }); - }, field); - } - if (fields.length > 1) { - propsAndLoc.sort((a, b) => a.loc - b.loc); - } - let separatorParts = []; - const props = propsAndLoc.map((prop) => { - const result = [...separatorParts, group(prop.printed)]; - separatorParts = [separator, line]; - if ((prop.node.type === "TSPropertySignature" || prop.node.type === "TSMethodSignature" || prop.node.type === "TSConstructSignatureDeclaration") && hasComment(prop.node, CommentCheckFlags.PrettierIgnore)) { - separatorParts.shift(); - } - if (isNextLineEmpty(prop.node, options)) { - separatorParts.push(hardline); - } - return result; - }); - if (node.inexact) { - let printed; - if (hasComment(node, CommentCheckFlags.Dangling)) { - const hasLineComments = hasComment(node, CommentCheckFlags.Line); - const printedDanglingComments = printDanglingComments(path, options, true); - printed = [printedDanglingComments, hasLineComments || hasNewline(options.originalText, locEnd(getLast(getComments(node)))) ? hardline : line, "..."]; - } else { - printed = ["..."]; - } - props.push([...separatorParts, ...printed]); - } - const lastElem = getLast(node[propertiesField]); - const canHaveTrailingSeparator = !(node.inexact || lastElem && lastElem.type === "RestElement" || lastElem && (lastElem.type === "TSPropertySignature" || lastElem.type === "TSCallSignatureDeclaration" || lastElem.type === "TSMethodSignature" || lastElem.type === "TSConstructSignatureDeclaration") && hasComment(lastElem, CommentCheckFlags.PrettierIgnore)); - let content; - if (props.length === 0) { - if (!hasComment(node, CommentCheckFlags.Dangling)) { - return [leftBrace, rightBrace, printTypeAnnotation(path, options, print)]; - } - content = group([leftBrace, printDanglingComments(path, options), softline, rightBrace, printOptionalToken(path), printTypeAnnotation(path, options, print)]); - } else { - content = [isFlowInterfaceLikeBody && isNonEmptyArray(node.properties) ? printHardlineAfterHeritage(parent) : "", leftBrace, indent([options.bracketSpacing ? line : softline, ...props]), ifBreak(canHaveTrailingSeparator && (separator !== "," || shouldPrintComma(options)) ? separator : ""), options.bracketSpacing ? line : softline, rightBrace, printOptionalToken(path), printTypeAnnotation(path, options, print)]; - } - if (path.match((node2) => node2.type === "ObjectPattern" && !node2.decorators, (node2, name, number) => shouldHugFunctionParameters(node2) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || path.match(shouldHugType, (node2, name) => name === "typeAnnotation", (node2, name) => name === "typeAnnotation", (node2, name, number) => shouldHugFunctionParameters(node2) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || !shouldBreak && path.match((node2) => node2.type === "ObjectPattern", (node2) => node2.type === "AssignmentExpression" || node2.type === "VariableDeclarator")) { - return content; - } - return group(content, { - shouldBreak - }); - } - module2.exports = { - printObject - }; - } -}); -var require_flow = __commonJS2({ - "src/language-js/print/flow.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { - printDanglingComments - } = require_comments(); - var { - printString, - printNumber - } = require_util(); - var { - builders: { - hardline, - softline, - group, - indent - } - } = require("./doc.js"); - var { - getParentExportDeclaration, - isFunctionNotation, - isGetterOrSetter, - rawText, - shouldPrintComma - } = require_utils7(); - var { - locStart, - locEnd - } = require_loc(); - var { - replaceTextEndOfLine - } = require_doc_utils(); - var { - printClass - } = require_class(); - var { - printOpaqueType, - printTypeAlias, - printIntersectionType, - printUnionType, - printFunctionType, - printTupleType, - printIndexedAccessType - } = require_type_annotation(); - var { - printInterface - } = require_interface(); - var { - printTypeParameter, - printTypeParameters - } = require_type_parameters(); - var { - printExportDeclaration, - printExportAllDeclaration - } = require_module(); - var { - printArrayItems - } = require_array4(); - var { - printObject - } = require_object(); - var { - printPropertyKey - } = require_property(); - var { - printOptionalToken, - printTypeAnnotation, - printRestSpread - } = require_misc(); - function printFlow(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = []; - switch (node.type) { - case "DeclareClass": - return printFlowDeclaration(path, printClass(path, options, print)); - case "DeclareFunction": - return printFlowDeclaration(path, ["function ", print("id"), node.predicate ? " " : "", print("predicate"), semi]); - case "DeclareModule": - return printFlowDeclaration(path, ["module ", print("id"), " ", print("body")]); - case "DeclareModuleExports": - return printFlowDeclaration(path, ["module.exports", ": ", print("typeAnnotation"), semi]); - case "DeclareVariable": - return printFlowDeclaration(path, ["var ", print("id"), semi]); - case "DeclareOpaqueType": - return printFlowDeclaration(path, printOpaqueType(path, options, print)); - case "DeclareInterface": - return printFlowDeclaration(path, printInterface(path, options, print)); - case "DeclareTypeAlias": - return printFlowDeclaration(path, printTypeAlias(path, options, print)); - case "DeclareExportDeclaration": - return printFlowDeclaration(path, printExportDeclaration(path, options, print)); - case "DeclareExportAllDeclaration": - return printFlowDeclaration(path, printExportAllDeclaration(path, options, print)); - case "OpaqueType": - return printOpaqueType(path, options, print); - case "TypeAlias": - return printTypeAlias(path, options, print); - case "IntersectionTypeAnnotation": - return printIntersectionType(path, options, print); - case "UnionTypeAnnotation": - return printUnionType(path, options, print); - case "FunctionTypeAnnotation": - return printFunctionType(path, options, print); - case "TupleTypeAnnotation": - return printTupleType(path, options, print); - case "GenericTypeAnnotation": - return [print("id"), printTypeParameters(path, options, print, "typeParameters")]; - case "IndexedAccessType": - case "OptionalIndexedAccessType": - return printIndexedAccessType(path, options, print); - case "TypeAnnotation": - return print("typeAnnotation"); - case "TypeParameter": - return printTypeParameter(path, options, print); - case "TypeofTypeAnnotation": - return ["typeof ", print("argument")]; - case "ExistsTypeAnnotation": - return "*"; - case "EmptyTypeAnnotation": - return "empty"; - case "MixedTypeAnnotation": - return "mixed"; - case "ArrayTypeAnnotation": - return [print("elementType"), "[]"]; - case "BooleanLiteralTypeAnnotation": - return String(node.value); - case "EnumDeclaration": - return ["enum ", print("id"), " ", print("body")]; - case "EnumBooleanBody": - case "EnumNumberBody": - case "EnumStringBody": - case "EnumSymbolBody": { - if (node.type === "EnumSymbolBody" || node.explicitType) { - let type = null; - switch (node.type) { - case "EnumBooleanBody": - type = "boolean"; - break; - case "EnumNumberBody": - type = "number"; - break; - case "EnumStringBody": - type = "string"; - break; - case "EnumSymbolBody": - type = "symbol"; - break; - } - parts.push("of ", type, " "); - } - if (node.members.length === 0 && !node.hasUnknownMembers) { - parts.push(group(["{", printDanglingComments(path, options), softline, "}"])); - } else { - const members = node.members.length > 0 ? [hardline, printArrayItems(path, options, "members", print), node.hasUnknownMembers || shouldPrintComma(options) ? "," : ""] : []; - parts.push(group(["{", indent([...members, ...node.hasUnknownMembers ? [hardline, "..."] : []]), printDanglingComments(path, options, true), hardline, "}"])); - } - return parts; - } - case "EnumBooleanMember": - case "EnumNumberMember": - case "EnumStringMember": - return [print("id"), " = ", typeof node.init === "object" ? print("init") : String(node.init)]; - case "EnumDefaultedMember": - return print("id"); - case "FunctionTypeParam": { - const name = node.name ? print("name") : path.getParentNode().this === node ? "this" : ""; - return [name, printOptionalToken(path), name ? ": " : "", print("typeAnnotation")]; - } - case "InterfaceDeclaration": - case "InterfaceTypeAnnotation": - return printInterface(path, options, print); - case "ClassImplements": - case "InterfaceExtends": - return [print("id"), print("typeParameters")]; - case "NullableTypeAnnotation": - return ["?", print("typeAnnotation")]; - case "Variance": { - const { - kind - } = node; - assert.ok(kind === "plus" || kind === "minus"); - return kind === "plus" ? "+" : "-"; - } - case "ObjectTypeCallProperty": - if (node.static) { - parts.push("static "); - } - parts.push(print("value")); - return parts; - case "ObjectTypeIndexer": { - return [node.static ? "static " : "", node.variance ? print("variance") : "", "[", print("id"), node.id ? ": " : "", print("key"), "]: ", print("value")]; - } - case "ObjectTypeProperty": { - let modifier = ""; - if (node.proto) { - modifier = "proto "; - } else if (node.static) { - modifier = "static "; - } - return [modifier, isGetterOrSetter(node) ? node.kind + " " : "", node.variance ? print("variance") : "", printPropertyKey(path, options, print), printOptionalToken(path), isFunctionNotation(node) ? "" : ": ", print("value")]; - } - case "ObjectTypeAnnotation": - return printObject(path, options, print); - case "ObjectTypeInternalSlot": - return [node.static ? "static " : "", "[[", print("id"), "]]", printOptionalToken(path), node.method ? "" : ": ", print("value")]; - case "ObjectTypeSpreadProperty": - return printRestSpread(path, options, print); - case "QualifiedTypeofIdentifier": - case "QualifiedTypeIdentifier": - return [print("qualification"), ".", print("id")]; - case "StringLiteralTypeAnnotation": - return replaceTextEndOfLine(printString(rawText(node), options)); - case "NumberLiteralTypeAnnotation": - assert.strictEqual(typeof node.value, "number"); - case "BigIntLiteralTypeAnnotation": - if (node.extra) { - return printNumber(node.extra.raw); - } - return printNumber(node.raw); - case "TypeCastExpression": { - return ["(", print("expression"), printTypeAnnotation(path, options, print), ")"]; - } - case "TypeParameterDeclaration": - case "TypeParameterInstantiation": { - const printed = printTypeParameters(path, options, print, "params"); - if (options.parser === "flow") { - const start = locStart(node); - const end = locEnd(node); - const commentStartIndex = options.originalText.lastIndexOf("/*", start); - const commentEndIndex = options.originalText.indexOf("*/", end); - if (commentStartIndex !== -1 && commentEndIndex !== -1) { - const comment = options.originalText.slice(commentStartIndex + 2, commentEndIndex).trim(); - if (comment.startsWith("::") && !comment.includes("/*") && !comment.includes("*/")) { - return ["/*:: ", printed, " */"]; - } - } - } - return printed; - } - case "InferredPredicate": - return "%checks"; - case "DeclaredPredicate": - return ["%checks(", print("value"), ")"]; - case "AnyTypeAnnotation": - return "any"; - case "BooleanTypeAnnotation": - return "boolean"; - case "BigIntTypeAnnotation": - return "bigint"; - case "NullLiteralTypeAnnotation": - return "null"; - case "NumberTypeAnnotation": - return "number"; - case "SymbolTypeAnnotation": - return "symbol"; - case "StringTypeAnnotation": - return "string"; - case "VoidTypeAnnotation": - return "void"; - case "ThisTypeAnnotation": - return "this"; - case "Node": - case "Printable": - case "SourceLocation": - case "Position": - case "Statement": - case "Function": - case "Pattern": - case "Expression": - case "Declaration": - case "Specifier": - case "NamedSpecifier": - case "Comment": - case "MemberTypeAnnotation": - case "Type": - throw new Error("unprintable type: " + JSON.stringify(node.type)); - } - } - function printFlowDeclaration(path, printed) { - const parentExportDecl = getParentExportDeclaration(path); - if (parentExportDecl) { - assert.strictEqual(parentExportDecl.type, "DeclareExportDeclaration"); - return printed; - } - return ["declare ", printed]; - } - module2.exports = { - printFlow - }; - } -}); -var require_is_ts_keyword_type = __commonJS2({ - "src/language-js/utils/is-ts-keyword-type.js"(exports2, module2) { - "use strict"; - function isTsKeywordType({ - type - }) { - return type.startsWith("TS") && type.endsWith("Keyword"); - } - module2.exports = isTsKeywordType; - } -}); -var require_ternary = __commonJS2({ - "src/language-js/print/ternary.js"(exports2, module2) { - "use strict"; - var { - hasNewlineInRange - } = require_util(); - var { - isJsxNode, - getComments, - isCallExpression, - isMemberExpression, - isTSTypeExpression - } = require_utils7(); - var { - locStart, - locEnd - } = require_loc(); - var isBlockComment = require_is_block_comment(); - var { - builders: { - line, - softline, - group, - indent, - align, - ifBreak, - dedent, - breakParent - } - } = require("./doc.js"); - function conditionalExpressionChainContainsJsx(node) { - const conditionalExpressions = [node]; - for (let index = 0; index < conditionalExpressions.length; index++) { - const conditionalExpression = conditionalExpressions[index]; - for (const property of ["test", "consequent", "alternate"]) { - const node2 = conditionalExpression[property]; - if (isJsxNode(node2)) { - return true; - } - if (node2.type === "ConditionalExpression") { - conditionalExpressions.push(node2); - } - } - } - return false; - } - function printTernaryTest(path, options, print) { - const node = path.getValue(); - const isConditionalExpression = node.type === "ConditionalExpression"; - const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; - const parent = path.getParentNode(); - const printed = isConditionalExpression ? print("test") : [print("checkType"), " ", "extends", " ", print("extendsType")]; - if (parent.type === node.type && parent[alternateNodePropertyName] === node) { - return align(2, printed); - } - return printed; - } - var ancestorNameMap = /* @__PURE__ */ new Map([["AssignmentExpression", "right"], ["VariableDeclarator", "init"], ["ReturnStatement", "argument"], ["ThrowStatement", "argument"], ["UnaryExpression", "argument"], ["YieldExpression", "argument"]]); - function shouldExtraIndentForConditionalExpression(path) { - const node = path.getValue(); - if (node.type !== "ConditionalExpression") { - return false; - } - let parent; - let child = node; - for (let ancestorCount = 0; !parent; ancestorCount++) { - const node2 = path.getParentNode(ancestorCount); - if (isCallExpression(node2) && node2.callee === child || isMemberExpression(node2) && node2.object === child || node2.type === "TSNonNullExpression" && node2.expression === child) { - child = node2; - continue; - } - if (node2.type === "NewExpression" && node2.callee === child || isTSTypeExpression(node2) && node2.expression === child) { - parent = path.getParentNode(ancestorCount + 1); - child = node2; - } else { - parent = node2; - } - } - if (child === node) { - return false; - } - return parent[ancestorNameMap.get(parent.type)] === child; - } - function printTernary(path, options, print) { - const node = path.getValue(); - const isConditionalExpression = node.type === "ConditionalExpression"; - const consequentNodePropertyName = isConditionalExpression ? "consequent" : "trueType"; - const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; - const testNodePropertyNames = isConditionalExpression ? ["test"] : ["checkType", "extendsType"]; - const consequentNode = node[consequentNodePropertyName]; - const alternateNode = node[alternateNodePropertyName]; - const parts = []; - let jsxMode = false; - const parent = path.getParentNode(); - const isParentTest = parent.type === node.type && testNodePropertyNames.some((prop) => parent[prop] === node); - let forceNoIndent = parent.type === node.type && !isParentTest; - let currentParent; - let previousParent; - let i = 0; - do { - previousParent = currentParent || node; - currentParent = path.getParentNode(i); - i++; - } while (currentParent && currentParent.type === node.type && testNodePropertyNames.every((prop) => currentParent[prop] !== previousParent)); - const firstNonConditionalParent = currentParent || parent; - const lastConditionalParent = previousParent; - if (isConditionalExpression && (isJsxNode(node[testNodePropertyNames[0]]) || isJsxNode(consequentNode) || isJsxNode(alternateNode) || conditionalExpressionChainContainsJsx(lastConditionalParent))) { - jsxMode = true; - forceNoIndent = true; - const wrap = (doc2) => [ifBreak("("), indent([softline, doc2]), softline, ifBreak(")")]; - const isNil = (node2) => node2.type === "NullLiteral" || node2.type === "Literal" && node2.value === null || node2.type === "Identifier" && node2.name === "undefined"; - parts.push(" ? ", isNil(consequentNode) ? print(consequentNodePropertyName) : wrap(print(consequentNodePropertyName)), " : ", alternateNode.type === node.type || isNil(alternateNode) ? print(alternateNodePropertyName) : wrap(print(alternateNodePropertyName))); - } else { - const part = [line, "? ", consequentNode.type === node.type ? ifBreak("", "(") : "", align(2, print(consequentNodePropertyName)), consequentNode.type === node.type ? ifBreak("", ")") : "", line, ": ", alternateNode.type === node.type ? print(alternateNodePropertyName) : align(2, print(alternateNodePropertyName))]; - parts.push(parent.type !== node.type || parent[alternateNodePropertyName] === node || isParentTest ? part : options.useTabs ? dedent(indent(part)) : align(Math.max(0, options.tabWidth - 2), part)); - } - const comments = [...testNodePropertyNames.map((propertyName) => getComments(node[propertyName])), getComments(consequentNode), getComments(alternateNode)].flat(); - const shouldBreak = comments.some((comment) => isBlockComment(comment) && hasNewlineInRange(options.originalText, locStart(comment), locEnd(comment))); - const maybeGroup = (doc2) => parent === firstNonConditionalParent ? group(doc2, { - shouldBreak - }) : shouldBreak ? [doc2, breakParent] : doc2; - const breakClosingParen = !jsxMode && (isMemberExpression(parent) || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; - const shouldExtraIndent = shouldExtraIndentForConditionalExpression(path); - const result = maybeGroup([printTernaryTest(path, options, print), forceNoIndent ? parts : indent(parts), isConditionalExpression && breakClosingParen && !shouldExtraIndent ? softline : ""]); - return isParentTest || shouldExtraIndent ? group([indent([softline, result]), softline]) : result; - } - module2.exports = { - printTernary - }; - } -}); -var require_statement = __commonJS2({ - "src/language-js/print/statement.js"(exports2, module2) { - "use strict"; - var { - builders: { - hardline - } - } = require("./doc.js"); - var pathNeedsParens = require_needs_parens(); - var { - getLeftSidePathName, - hasNakedLeftSide, - isJsxNode, - isTheOnlyJsxElementInMarkdown, - hasComment, - CommentCheckFlags, - isNextLineEmpty - } = require_utils7(); - var { - shouldPrintParamsWithoutParens - } = require_function(); - function printStatementSequence(path, options, print, property) { - const node = path.getValue(); - const parts = []; - const isClassBody = node.type === "ClassBody"; - const lastStatement = getLastStatement(node[property]); - path.each((path2, index, statements) => { - const node2 = path2.getValue(); - if (node2.type === "EmptyStatement") { - return; - } - const printed = print(); - if (!options.semi && !isClassBody && !isTheOnlyJsxElementInMarkdown(options, path2) && statementNeedsASIProtection(path2, options)) { - if (hasComment(node2, CommentCheckFlags.Leading)) { - parts.push(print([], { - needsSemi: true - })); - } else { - parts.push(";", printed); - } - } else { - parts.push(printed); - } - if (!options.semi && isClassBody && isClassProperty(node2) && shouldPrintSemicolonAfterClassProperty(node2, statements[index + 1])) { - parts.push(";"); - } - if (node2 !== lastStatement) { - parts.push(hardline); - if (isNextLineEmpty(node2, options)) { - parts.push(hardline); - } - } - }, property); - return parts; - } - function getLastStatement(statements) { - for (let i = statements.length - 1; i >= 0; i--) { - const statement = statements[i]; - if (statement.type !== "EmptyStatement") { - return statement; - } - } - } - function statementNeedsASIProtection(path, options) { - const node = path.getNode(); - if (node.type !== "ExpressionStatement") { - return false; - } - return path.call((childPath) => expressionNeedsASIProtection(childPath, options), "expression"); - } - function expressionNeedsASIProtection(path, options) { - const node = path.getValue(); - switch (node.type) { - case "ParenthesizedExpression": - case "TypeCastExpression": - case "ArrayExpression": - case "ArrayPattern": - case "TemplateLiteral": - case "TemplateElement": - case "RegExpLiteral": - return true; - case "ArrowFunctionExpression": { - if (!shouldPrintParamsWithoutParens(path, options)) { - return true; - } - break; - } - case "UnaryExpression": { - const { - prefix, - operator - } = node; - if (prefix && (operator === "+" || operator === "-")) { - return true; - } - break; - } - case "BindExpression": { - if (!node.object) { - return true; - } - break; - } - case "Literal": { - if (node.regex) { - return true; - } - break; - } - default: { - if (isJsxNode(node)) { - return true; - } - } - } - if (pathNeedsParens(path, options)) { - return true; - } - if (!hasNakedLeftSide(node)) { - return false; - } - return path.call((childPath) => expressionNeedsASIProtection(childPath, options), ...getLeftSidePathName(path, node)); - } - function printBody(path, options, print) { - return printStatementSequence(path, options, print, "body"); - } - function printSwitchCaseConsequent(path, options, print) { - return printStatementSequence(path, options, print, "consequent"); - } - var isClassProperty = ({ - type - }) => type === "ClassProperty" || type === "PropertyDefinition" || type === "ClassPrivateProperty" || type === "ClassAccessorProperty" || type === "AccessorProperty" || type === "TSAbstractPropertyDefinition" || type === "TSAbstractAccessorProperty"; - function shouldPrintSemicolonAfterClassProperty(node, nextNode) { - const { - type, - name - } = node.key; - if (!node.computed && type === "Identifier" && (name === "static" || name === "get" || name === "set" || name === "accessor") && !node.value && !node.typeAnnotation) { - return true; - } - if (!nextNode) { - return false; - } - if (nextNode.static || nextNode.accessibility) { - return false; - } - if (!nextNode.computed) { - const name2 = nextNode.key && nextNode.key.name; - if (name2 === "in" || name2 === "instanceof") { - return true; - } - } - if (isClassProperty(nextNode) && nextNode.variance && !nextNode.static && !nextNode.declare) { - return true; - } - switch (nextNode.type) { - case "ClassProperty": - case "PropertyDefinition": - case "TSAbstractPropertyDefinition": - return nextNode.computed; - case "MethodDefinition": - case "TSAbstractMethodDefinition": - case "ClassMethod": - case "ClassPrivateMethod": { - const isAsync = nextNode.value ? nextNode.value.async : nextNode.async; - if (isAsync || nextNode.kind === "get" || nextNode.kind === "set") { - return false; - } - const isGenerator = nextNode.value ? nextNode.value.generator : nextNode.generator; - if (nextNode.computed || isGenerator) { - return true; - } - return false; - } - case "TSIndexSignature": - return true; - } - return false; - } - module2.exports = { - printBody, - printSwitchCaseConsequent - }; - } -}); -var require_block = __commonJS2({ - "src/language-js/print/block.js"(exports2, module2) { - "use strict"; - var { - printDanglingComments - } = require_comments(); - var { - isNonEmptyArray - } = require_util(); - var { - builders: { - hardline, - indent - } - } = require("./doc.js"); - var { - hasComment, - CommentCheckFlags, - isNextLineEmpty - } = require_utils7(); - var { - printHardlineAfterHeritage - } = require_class(); - var { - printBody - } = require_statement(); - function printBlock(path, options, print) { - const node = path.getValue(); - const parts = []; - if (node.type === "StaticBlock") { - parts.push("static "); - } - if (node.type === "ClassBody" && isNonEmptyArray(node.body)) { - const parent = path.getParentNode(); - parts.push(printHardlineAfterHeritage(parent)); - } - parts.push("{"); - const printed = printBlockBody(path, options, print); - if (printed) { - parts.push(indent([hardline, printed]), hardline); - } else { - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - if (!(parent.type === "ArrowFunctionExpression" || parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration" || parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "ForStatement" || parent.type === "WhileStatement" || parent.type === "DoWhileStatement" || parent.type === "DoExpression" || parent.type === "CatchClause" && !parentParent.finalizer || parent.type === "TSModuleDeclaration" || parent.type === "TSDeclareFunction" || node.type === "StaticBlock" || node.type === "ClassBody")) { - parts.push(hardline); - } - } - parts.push("}"); - return parts; - } - function printBlockBody(path, options, print) { - const node = path.getValue(); - const nodeHasDirectives = isNonEmptyArray(node.directives); - const nodeHasBody = node.body.some((node2) => node2.type !== "EmptyStatement"); - const nodeHasComment = hasComment(node, CommentCheckFlags.Dangling); - if (!nodeHasDirectives && !nodeHasBody && !nodeHasComment) { - return ""; - } - const parts = []; - if (nodeHasDirectives) { - path.each((childPath, index, directives) => { - parts.push(print()); - if (index < directives.length - 1 || nodeHasBody || nodeHasComment) { - parts.push(hardline); - if (isNextLineEmpty(childPath.getValue(), options)) { - parts.push(hardline); - } - } - }, "directives"); - } - if (nodeHasBody) { - parts.push(printBody(path, options, print)); - } - if (nodeHasComment) { - parts.push(printDanglingComments(path, options, true)); - } - if (node.type === "Program") { - const parent = path.getParentNode(); - if (!parent || parent.type !== "ModuleExpression") { - parts.push(hardline); - } - } - return parts; - } - module2.exports = { - printBlock, - printBlockBody - }; - } -}); -var require_typescript = __commonJS2({ - "src/language-js/print/typescript.js"(exports2, module2) { - "use strict"; - var { - printDanglingComments - } = require_comments(); - var { - hasNewlineInRange - } = require_util(); - var { - builders: { - join, - line, - hardline, - softline, - group, - indent, - conditionalGroup, - ifBreak - } - } = require("./doc.js"); - var { - isStringLiteral, - getTypeScriptMappedTypeModifier, - shouldPrintComma, - isCallExpression, - isMemberExpression - } = require_utils7(); - var isTsKeywordType = require_is_ts_keyword_type(); - var { - locStart, - locEnd - } = require_loc(); - var { - printOptionalToken, - printTypeScriptModifiers - } = require_misc(); - var { - printTernary - } = require_ternary(); - var { - printFunctionParameters, - shouldGroupFunctionParameters - } = require_function_parameters(); - var { - printTemplateLiteral - } = require_template_literal(); - var { - printArrayItems - } = require_array4(); - var { - printObject - } = require_object(); - var { - printClassProperty, - printClassMethod - } = require_class(); - var { - printTypeParameter, - printTypeParameters - } = require_type_parameters(); - var { - printPropertyKey - } = require_property(); - var { - printFunction, - printMethodInternal - } = require_function(); - var { - printInterface - } = require_interface(); - var { - printBlock - } = require_block(); - var { - printTypeAlias, - printIntersectionType, - printUnionType, - printFunctionType, - printTupleType, - printIndexedAccessType, - printJSDocType - } = require_type_annotation(); - function printTypescript(path, options, print) { - const node = path.getValue(); - if (!node.type.startsWith("TS")) { - return; - } - if (isTsKeywordType(node)) { - return node.type.slice(2, -7).toLowerCase(); - } - const semi = options.semi ? ";" : ""; - const parts = []; - switch (node.type) { - case "TSThisType": - return "this"; - case "TSTypeAssertion": { - const shouldBreakAfterCast = !(node.expression.type === "ArrayExpression" || node.expression.type === "ObjectExpression"); - const castGroup = group(["<", indent([softline, print("typeAnnotation")]), softline, ">"]); - const exprContents = [ifBreak("("), indent([softline, print("expression")]), softline, ifBreak(")")]; - if (shouldBreakAfterCast) { - return conditionalGroup([[castGroup, print("expression")], [castGroup, group(exprContents, { - shouldBreak: true - })], [castGroup, print("expression")]]); - } - return group([castGroup, print("expression")]); - } - case "TSDeclareFunction": - return printFunction(path, print, options); - case "TSExportAssignment": - return ["export = ", print("expression"), semi]; - case "TSModuleBlock": - return printBlock(path, options, print); - case "TSInterfaceBody": - case "TSTypeLiteral": - return printObject(path, options, print); - case "TSTypeAliasDeclaration": - return printTypeAlias(path, options, print); - case "TSQualifiedName": - return join(".", [print("left"), print("right")]); - case "TSAbstractMethodDefinition": - case "TSDeclareMethod": - return printClassMethod(path, options, print); - case "TSAbstractAccessorProperty": - case "TSAbstractPropertyDefinition": - return printClassProperty(path, options, print); - case "TSInterfaceHeritage": - case "TSExpressionWithTypeArguments": - parts.push(print("expression")); - if (node.typeParameters) { - parts.push(print("typeParameters")); - } - return parts; - case "TSTemplateLiteralType": - return printTemplateLiteral(path, print, options); - case "TSNamedTupleMember": - return [print("label"), node.optional ? "?" : "", ": ", print("elementType")]; - case "TSRestType": - return ["...", print("typeAnnotation")]; - case "TSOptionalType": - return [print("typeAnnotation"), "?"]; - case "TSInterfaceDeclaration": - return printInterface(path, options, print); - case "TSClassImplements": - return [print("expression"), print("typeParameters")]; - case "TSTypeParameterDeclaration": - case "TSTypeParameterInstantiation": - return printTypeParameters(path, options, print, "params"); - case "TSTypeParameter": - return printTypeParameter(path, options, print); - case "TSSatisfiesExpression": - case "TSAsExpression": { - const operator = node.type === "TSAsExpression" ? "as" : "satisfies"; - parts.push(print("expression"), ` ${operator} `, print("typeAnnotation")); - const parent = path.getParentNode(); - if (isCallExpression(parent) && parent.callee === node || isMemberExpression(parent) && parent.object === node) { - return group([indent([softline, ...parts]), softline]); - } - return parts; - } - case "TSArrayType": - return [print("elementType"), "[]"]; - case "TSPropertySignature": { - if (node.readonly) { - parts.push("readonly "); - } - parts.push(printPropertyKey(path, options, print), printOptionalToken(path)); - if (node.typeAnnotation) { - parts.push(": ", print("typeAnnotation")); - } - if (node.initializer) { - parts.push(" = ", print("initializer")); - } - return parts; - } - case "TSParameterProperty": - if (node.accessibility) { - parts.push(node.accessibility + " "); - } - if (node.export) { - parts.push("export "); - } - if (node.static) { - parts.push("static "); - } - if (node.override) { - parts.push("override "); - } - if (node.readonly) { - parts.push("readonly "); - } - parts.push(print("parameter")); - return parts; - case "TSTypeQuery": - return ["typeof ", print("exprName"), print("typeParameters")]; - case "TSIndexSignature": { - const parent = path.getParentNode(); - const trailingComma = node.parameters.length > 1 ? ifBreak(shouldPrintComma(options) ? "," : "") : ""; - const parametersGroup = group([indent([softline, join([", ", softline], path.map(print, "parameters"))]), trailingComma, softline]); - return [node.export ? "export " : "", node.accessibility ? [node.accessibility, " "] : "", node.static ? "static " : "", node.readonly ? "readonly " : "", node.declare ? "declare " : "", "[", node.parameters ? parametersGroup : "", node.typeAnnotation ? "]: " : "]", node.typeAnnotation ? print("typeAnnotation") : "", parent.type === "ClassBody" ? semi : ""]; - } - case "TSTypePredicate": - return [node.asserts ? "asserts " : "", print("parameterName"), node.typeAnnotation ? [" is ", print("typeAnnotation")] : ""]; - case "TSNonNullExpression": - return [print("expression"), "!"]; - case "TSImportType": - return [!node.isTypeOf ? "" : "typeof ", "import(", print(node.parameter ? "parameter" : "argument"), ")", !node.qualifier ? "" : [".", print("qualifier")], printTypeParameters(path, options, print, "typeParameters")]; - case "TSLiteralType": - return print("literal"); - case "TSIndexedAccessType": - return printIndexedAccessType(path, options, print); - case "TSConstructSignatureDeclaration": - case "TSCallSignatureDeclaration": - case "TSConstructorType": { - if (node.type === "TSConstructorType" && node.abstract) { - parts.push("abstract "); - } - if (node.type !== "TSCallSignatureDeclaration") { - parts.push("new "); - } - parts.push(group(printFunctionParameters(path, print, options, false, true))); - if (node.returnType || node.typeAnnotation) { - const isType = node.type === "TSConstructorType"; - parts.push(isType ? " => " : ": ", print("returnType"), print("typeAnnotation")); - } - return parts; - } - case "TSTypeOperator": - return [node.operator, " ", print("typeAnnotation")]; - case "TSMappedType": { - const shouldBreak = hasNewlineInRange(options.originalText, locStart(node), locEnd(node)); - return group(["{", indent([options.bracketSpacing ? line : softline, print("typeParameter"), node.optional ? getTypeScriptMappedTypeModifier(node.optional, "?") : "", node.typeAnnotation ? ": " : "", print("typeAnnotation"), ifBreak(semi)]), printDanglingComments(path, options, true), options.bracketSpacing ? line : softline, "}"], { - shouldBreak - }); - } - case "TSMethodSignature": { - const kind = node.kind && node.kind !== "method" ? `${node.kind} ` : ""; - parts.push(node.accessibility ? [node.accessibility, " "] : "", kind, node.export ? "export " : "", node.static ? "static " : "", node.readonly ? "readonly " : "", node.abstract ? "abstract " : "", node.declare ? "declare " : "", node.computed ? "[" : "", print("key"), node.computed ? "]" : "", printOptionalToken(path)); - const parametersDoc = printFunctionParameters(path, print, options, false, true); - const returnTypePropertyName = node.returnType ? "returnType" : "typeAnnotation"; - const returnTypeNode = node[returnTypePropertyName]; - const returnTypeDoc = returnTypeNode ? print(returnTypePropertyName) : ""; - const shouldGroupParameters = shouldGroupFunctionParameters(node, returnTypeDoc); - parts.push(shouldGroupParameters ? group(parametersDoc) : parametersDoc); - if (returnTypeNode) { - parts.push(": ", group(returnTypeDoc)); - } - return group(parts); - } - case "TSNamespaceExportDeclaration": - parts.push("export as namespace ", print("id")); - if (options.semi) { - parts.push(";"); - } - return group(parts); - case "TSEnumDeclaration": - if (node.declare) { - parts.push("declare "); - } - if (node.modifiers) { - parts.push(printTypeScriptModifiers(path, options, print)); - } - if (node.const) { - parts.push("const "); - } - parts.push("enum ", print("id"), " "); - if (node.members.length === 0) { - parts.push(group(["{", printDanglingComments(path, options), softline, "}"])); - } else { - parts.push(group(["{", indent([hardline, printArrayItems(path, options, "members", print), shouldPrintComma(options, "es5") ? "," : ""]), printDanglingComments(path, options, true), hardline, "}"])); - } - return parts; - case "TSEnumMember": - if (node.computed) { - parts.push("[", print("id"), "]"); - } else { - parts.push(print("id")); - } - if (node.initializer) { - parts.push(" = ", print("initializer")); - } - return parts; - case "TSImportEqualsDeclaration": - if (node.isExport) { - parts.push("export "); - } - parts.push("import "); - if (node.importKind && node.importKind !== "value") { - parts.push(node.importKind, " "); - } - parts.push(print("id"), " = ", print("moduleReference")); - if (options.semi) { - parts.push(";"); - } - return group(parts); - case "TSExternalModuleReference": - return ["require(", print("expression"), ")"]; - case "TSModuleDeclaration": { - const parent = path.getParentNode(); - const isExternalModule = isStringLiteral(node.id); - const parentIsDeclaration = parent.type === "TSModuleDeclaration"; - const bodyIsDeclaration = node.body && node.body.type === "TSModuleDeclaration"; - if (parentIsDeclaration) { - parts.push("."); - } else { - if (node.declare) { - parts.push("declare "); - } - parts.push(printTypeScriptModifiers(path, options, print)); - const textBetweenNodeAndItsId = options.originalText.slice(locStart(node), locStart(node.id)); - const isGlobalDeclaration = node.id.type === "Identifier" && node.id.name === "global" && !/namespace|module/.test(textBetweenNodeAndItsId); - if (!isGlobalDeclaration) { - parts.push(isExternalModule || /(?:^|\s)module(?:\s|$)/.test(textBetweenNodeAndItsId) ? "module " : "namespace "); - } - } - parts.push(print("id")); - if (bodyIsDeclaration) { - parts.push(print("body")); - } else if (node.body) { - parts.push(" ", group(print("body"))); - } else { - parts.push(semi); - } - return parts; - } - case "TSConditionalType": - return printTernary(path, options, print); - case "TSInferType": - return ["infer", " ", print("typeParameter")]; - case "TSIntersectionType": - return printIntersectionType(path, options, print); - case "TSUnionType": - return printUnionType(path, options, print); - case "TSFunctionType": - return printFunctionType(path, options, print); - case "TSTupleType": - return printTupleType(path, options, print); - case "TSTypeReference": - return [print("typeName"), printTypeParameters(path, options, print, "typeParameters")]; - case "TSTypeAnnotation": - return print("typeAnnotation"); - case "TSEmptyBodyFunctionExpression": - return printMethodInternal(path, options, print); - case "TSJSDocAllType": - return "*"; - case "TSJSDocUnknownType": - return "?"; - case "TSJSDocNullableType": - return printJSDocType(path, print, "?"); - case "TSJSDocNonNullableType": - return printJSDocType(path, print, "!"); - case "TSInstantiationExpression": - return [print("expression"), print("typeParameters")]; - default: - throw new Error(`Unknown TypeScript node type: ${JSON.stringify(node.type)}.`); - } - } - module2.exports = { - printTypescript - }; - } -}); -var require_comment = __commonJS2({ - "src/language-js/print/comment.js"(exports2, module2) { - "use strict"; - var { - hasNewline - } = require_util(); - var { - builders: { - join, - hardline - }, - utils: { - replaceTextEndOfLine - } - } = require("./doc.js"); - var { - isLineComment - } = require_utils7(); - var { - locStart, - locEnd - } = require_loc(); - var isBlockComment = require_is_block_comment(); - function printComment(commentPath, options) { - const comment = commentPath.getValue(); - if (isLineComment(comment)) { - return options.originalText.slice(locStart(comment), locEnd(comment)).trimEnd(); - } - if (isBlockComment(comment)) { - if (isIndentableBlockComment(comment)) { - const printed = printIndentableBlockComment(comment); - if (comment.trailing && !hasNewline(options.originalText, locStart(comment), { - backwards: true - })) { - return [hardline, printed]; - } - return printed; - } - const commentEnd = locEnd(comment); - const isInsideFlowComment = options.originalText.slice(commentEnd - 3, commentEnd) === "*-/"; - return ["/*", replaceTextEndOfLine(comment.value), isInsideFlowComment ? "*-/" : "*/"]; - } - throw new Error("Not a comment: " + JSON.stringify(comment)); - } - function isIndentableBlockComment(comment) { - const lines = `*${comment.value}*`.split("\n"); - return lines.length > 1 && lines.every((line) => line.trim()[0] === "*"); - } - function printIndentableBlockComment(comment) { - const lines = comment.value.split("\n"); - return ["/*", join(hardline, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"]; - } - module2.exports = { - printComment - }; - } -}); -var require_literal = __commonJS2({ - "src/language-js/print/literal.js"(exports2, module2) { - "use strict"; - var { - printString, - printNumber - } = require_util(); - var { - replaceTextEndOfLine - } = require_doc_utils(); - var { - printDirective - } = require_misc(); - function printLiteral(path, options) { - const node = path.getNode(); - switch (node.type) { - case "RegExpLiteral": - return printRegex(node); - case "BigIntLiteral": - return printBigInt(node.bigint || node.extra.raw); - case "NumericLiteral": - return printNumber(node.extra.raw); - case "StringLiteral": - return replaceTextEndOfLine(printString(node.extra.raw, options)); - case "NullLiteral": - return "null"; - case "BooleanLiteral": - return String(node.value); - case "DecimalLiteral": - return printNumber(node.value) + "m"; - case "Literal": { - if (node.regex) { - return printRegex(node.regex); - } - if (node.bigint) { - return printBigInt(node.raw); - } - if (node.decimal) { - return printNumber(node.decimal) + "m"; - } - const { - value - } = node; - if (typeof value === "number") { - return printNumber(node.raw); - } - if (typeof value === "string") { - return isDirective(path) ? printDirective(node.raw, options) : replaceTextEndOfLine(printString(node.raw, options)); - } - return String(value); - } - } - } - function isDirective(path) { - if (path.getName() !== "expression") { - return; - } - const parent = path.getParentNode(); - return parent.type === "ExpressionStatement" && parent.directive; - } - function printBigInt(raw) { - return raw.toLowerCase(); - } - function printRegex({ - pattern, - flags - }) { - flags = [...flags].sort().join(""); - return `/${pattern}/${flags}`; - } - module2.exports = { - printLiteral - }; - } -}); -var require_printer_estree = __commonJS2({ - "src/language-js/printer-estree.js"(exports2, module2) { - "use strict"; - var { - printDanglingComments - } = require_comments(); - var { - hasNewline - } = require_util(); - var { - builders: { - join, - line, - hardline, - softline, - group, - indent - }, - utils: { - replaceTextEndOfLine - } - } = require("./doc.js"); - var embed = require_embed(); - var clean = require_clean(); - var { - insertPragma - } = require_pragma(); - var handleComments = require_comments2(); - var pathNeedsParens = require_needs_parens(); - var preprocess = require_print_preprocess(); - var { - hasFlowShorthandAnnotationComment, - hasComment, - CommentCheckFlags, - isTheOnlyJsxElementInMarkdown, - isLineComment, - isNextLineEmpty, - needsHardlineAfterDanglingComment, - hasIgnoreComment, - isCallExpression, - isMemberExpression, - markerForIfWithoutBlockAndSameLineComment - } = require_utils7(); - var { - locStart, - locEnd - } = require_loc(); - var isBlockComment = require_is_block_comment(); - var { - printHtmlBinding, - isVueEventBindingExpression - } = require_html_binding(); - var { - printAngular - } = require_angular(); - var { - printJsx, - hasJsxIgnoreComment - } = require_jsx(); - var { - printFlow - } = require_flow(); - var { - printTypescript - } = require_typescript(); - var { - printOptionalToken, - printBindExpressionCallee, - printTypeAnnotation, - adjustClause, - printRestSpread, - printDefiniteToken, - printDirective - } = require_misc(); - var { - printImportDeclaration, - printExportDeclaration, - printExportAllDeclaration, - printModuleSpecifier - } = require_module(); - var { - printTernary - } = require_ternary(); - var { - printTemplateLiteral - } = require_template_literal(); - var { - printArray - } = require_array4(); - var { - printObject - } = require_object(); - var { - printClass, - printClassMethod, - printClassProperty - } = require_class(); - var { - printProperty - } = require_property(); - var { - printFunction, - printArrowFunction, - printMethod, - printReturnStatement, - printThrowStatement - } = require_function(); - var { - printCallExpression - } = require_call_expression(); - var { - printVariableDeclarator, - printAssignmentExpression - } = require_assignment(); - var { - printBinaryishExpression - } = require_binaryish(); - var { - printSwitchCaseConsequent - } = require_statement(); - var { - printMemberExpression - } = require_member(); - var { - printBlock, - printBlockBody - } = require_block(); - var { - printComment - } = require_comment(); - var { - printLiteral - } = require_literal(); - var { - printDecorators - } = require_decorators(); - function genericPrint(path, options, print, args) { - const printed = printPathNoParens(path, options, print, args); - if (!printed) { - return ""; - } - const node = path.getValue(); - const { - type - } = node; - if (type === "ClassMethod" || type === "ClassPrivateMethod" || type === "ClassProperty" || type === "ClassAccessorProperty" || type === "AccessorProperty" || type === "TSAbstractAccessorProperty" || type === "PropertyDefinition" || type === "TSAbstractPropertyDefinition" || type === "ClassPrivateProperty" || type === "MethodDefinition" || type === "TSAbstractMethodDefinition" || type === "TSDeclareMethod") { - return printed; - } - let parts = [printed]; - const printedDecorators = printDecorators(path, options, print); - const isClassExpressionWithDecorators = node.type === "ClassExpression" && printedDecorators; - if (printedDecorators) { - parts = [...printedDecorators, printed]; - if (!isClassExpressionWithDecorators) { - return group(parts); - } - } - const needsParens = pathNeedsParens(path, options); - if (!needsParens) { - if (args && args.needsSemi) { - parts.unshift(";"); - } - if (parts.length === 1 && parts[0] === printed) { - return printed; - } - return parts; - } - if (isClassExpressionWithDecorators) { - parts = [indent([line, ...parts])]; - } - parts.unshift("("); - if (args && args.needsSemi) { - parts.unshift(";"); - } - if (hasFlowShorthandAnnotationComment(node)) { - const [comment] = node.trailingComments; - parts.push(" /*", comment.value.trimStart(), "*/"); - comment.printed = true; - } - if (isClassExpressionWithDecorators) { - parts.push(line); - } - parts.push(")"); - return parts; - } - function printPathNoParens(path, options, print, args) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - if (!node) { - return ""; - } - if (typeof node === "string") { - return node; - } - for (const printer of [printLiteral, printHtmlBinding, printAngular, printJsx, printFlow, printTypescript]) { - const printed = printer(path, options, print); - if (typeof printed !== "undefined") { - return printed; - } - } - let parts = []; - switch (node.type) { - case "JsExpressionRoot": - return print("node"); - case "JsonRoot": - return [print("node"), hardline]; - case "File": - if (node.program && node.program.interpreter) { - parts.push(print(["program", "interpreter"])); - } - parts.push(print("program")); - return parts; - case "Program": - return printBlockBody(path, options, print); - case "EmptyStatement": - return ""; - case "ExpressionStatement": { - if (options.parser === "__vue_event_binding" || options.parser === "__vue_ts_event_binding") { - const parent = path.getParentNode(); - if (parent.type === "Program" && parent.body.length === 1 && parent.body[0] === node) { - return [print("expression"), isVueEventBindingExpression(node.expression) ? ";" : ""]; - } - } - const danglingComment = printDanglingComments(path, options, true, ({ - marker - }) => marker === markerForIfWithoutBlockAndSameLineComment); - return [print("expression"), isTheOnlyJsxElementInMarkdown(options, path) ? "" : semi, danglingComment ? [" ", danglingComment] : ""]; - } - case "ParenthesizedExpression": { - const shouldHug = !hasComment(node.expression) && (node.expression.type === "ObjectExpression" || node.expression.type === "ArrayExpression"); - if (shouldHug) { - return ["(", print("expression"), ")"]; - } - return group(["(", indent([softline, print("expression")]), softline, ")"]); - } - case "AssignmentExpression": - return printAssignmentExpression(path, options, print); - case "VariableDeclarator": - return printVariableDeclarator(path, options, print); - case "BinaryExpression": - case "LogicalExpression": - return printBinaryishExpression(path, options, print); - case "AssignmentPattern": - return [print("left"), " = ", print("right")]; - case "OptionalMemberExpression": - case "MemberExpression": { - return printMemberExpression(path, options, print); - } - case "MetaProperty": - return [print("meta"), ".", print("property")]; - case "BindExpression": - if (node.object) { - parts.push(print("object")); - } - parts.push(group(indent([softline, printBindExpressionCallee(path, options, print)]))); - return parts; - case "Identifier": { - return [node.name, printOptionalToken(path), printDefiniteToken(path), printTypeAnnotation(path, options, print)]; - } - case "V8IntrinsicIdentifier": - return ["%", node.name]; - case "SpreadElement": - case "SpreadElementPattern": - case "SpreadProperty": - case "SpreadPropertyPattern": - case "RestElement": - return printRestSpread(path, options, print); - case "FunctionDeclaration": - case "FunctionExpression": - return printFunction(path, print, options, args); - case "ArrowFunctionExpression": - return printArrowFunction(path, options, print, args); - case "YieldExpression": - parts.push("yield"); - if (node.delegate) { - parts.push("*"); - } - if (node.argument) { - parts.push(" ", print("argument")); - } - return parts; - case "AwaitExpression": { - parts.push("await"); - if (node.argument) { - parts.push(" ", print("argument")); - const parent = path.getParentNode(); - if (isCallExpression(parent) && parent.callee === node || isMemberExpression(parent) && parent.object === node) { - parts = [indent([softline, ...parts]), softline]; - const parentAwaitOrBlock = path.findAncestor((node2) => node2.type === "AwaitExpression" || node2.type === "BlockStatement"); - if (!parentAwaitOrBlock || parentAwaitOrBlock.type !== "AwaitExpression") { - return group(parts); - } - } - } - return parts; - } - case "ExportDefaultDeclaration": - case "ExportNamedDeclaration": - return printExportDeclaration(path, options, print); - case "ExportAllDeclaration": - return printExportAllDeclaration(path, options, print); - case "ImportDeclaration": - return printImportDeclaration(path, options, print); - case "ImportSpecifier": - case "ExportSpecifier": - case "ImportNamespaceSpecifier": - case "ExportNamespaceSpecifier": - case "ImportDefaultSpecifier": - case "ExportDefaultSpecifier": - return printModuleSpecifier(path, options, print); - case "ImportAttribute": - return [print("key"), ": ", print("value")]; - case "Import": - return "import"; - case "BlockStatement": - case "StaticBlock": - case "ClassBody": - return printBlock(path, options, print); - case "ThrowStatement": - return printThrowStatement(path, options, print); - case "ReturnStatement": - return printReturnStatement(path, options, print); - case "NewExpression": - case "ImportExpression": - case "OptionalCallExpression": - case "CallExpression": - return printCallExpression(path, options, print); - case "ObjectExpression": - case "ObjectPattern": - case "RecordExpression": - return printObject(path, options, print); - case "ObjectProperty": - case "Property": - if (node.method || node.kind === "get" || node.kind === "set") { - return printMethod(path, options, print); - } - return printProperty(path, options, print); - case "ObjectMethod": - return printMethod(path, options, print); - case "Decorator": - return ["@", print("expression")]; - case "ArrayExpression": - case "ArrayPattern": - case "TupleExpression": - return printArray(path, options, print); - case "SequenceExpression": { - const parent = path.getParentNode(0); - if (parent.type === "ExpressionStatement" || parent.type === "ForStatement") { - const parts2 = []; - path.each((expressionPath, index) => { - if (index === 0) { - parts2.push(print()); - } else { - parts2.push(",", indent([line, print()])); - } - }, "expressions"); - return group(parts2); - } - return group(join([",", line], path.map(print, "expressions"))); - } - case "ThisExpression": - return "this"; - case "Super": - return "super"; - case "Directive": - return [print("value"), semi]; - case "DirectiveLiteral": - return printDirective(node.extra.raw, options); - case "UnaryExpression": - parts.push(node.operator); - if (/[a-z]$/.test(node.operator)) { - parts.push(" "); - } - if (hasComment(node.argument)) { - parts.push(group(["(", indent([softline, print("argument")]), softline, ")"])); - } else { - parts.push(print("argument")); - } - return parts; - case "UpdateExpression": - parts.push(print("argument"), node.operator); - if (node.prefix) { - parts.reverse(); - } - return parts; - case "ConditionalExpression": - return printTernary(path, options, print); - case "VariableDeclaration": { - const printed = path.map(print, "declarations"); - const parentNode = path.getParentNode(); - const isParentForLoop = parentNode.type === "ForStatement" || parentNode.type === "ForInStatement" || parentNode.type === "ForOfStatement"; - const hasValue = node.declarations.some((decl) => decl.init); - let firstVariable; - if (printed.length === 1 && !hasComment(node.declarations[0])) { - firstVariable = printed[0]; - } else if (printed.length > 0) { - firstVariable = indent(printed[0]); - } - parts = [node.declare ? "declare " : "", node.kind, firstVariable ? [" ", firstVariable] : "", indent(printed.slice(1).map((p) => [",", hasValue && !isParentForLoop ? hardline : line, p]))]; - if (!(isParentForLoop && parentNode.body !== node)) { - parts.push(semi); - } - return group(parts); - } - case "WithStatement": - return group(["with (", print("object"), ")", adjustClause(node.body, print("body"))]); - case "IfStatement": { - const con = adjustClause(node.consequent, print("consequent")); - const opening = group(["if (", group([indent([softline, print("test")]), softline]), ")", con]); - parts.push(opening); - if (node.alternate) { - const commentOnOwnLine = hasComment(node.consequent, CommentCheckFlags.Trailing | CommentCheckFlags.Line) || needsHardlineAfterDanglingComment(node); - const elseOnSameLine = node.consequent.type === "BlockStatement" && !commentOnOwnLine; - parts.push(elseOnSameLine ? " " : hardline); - if (hasComment(node, CommentCheckFlags.Dangling)) { - parts.push(printDanglingComments(path, options, true), commentOnOwnLine ? hardline : " "); - } - parts.push("else", group(adjustClause(node.alternate, print("alternate"), node.alternate.type === "IfStatement"))); - } - return parts; - } - case "ForStatement": { - const body = adjustClause(node.body, print("body")); - const dangling = printDanglingComments(path, options, true); - const printedComments = dangling ? [dangling, softline] : ""; - if (!node.init && !node.test && !node.update) { - return [printedComments, group(["for (;;)", body])]; - } - return [printedComments, group(["for (", group([indent([softline, print("init"), ";", line, print("test"), ";", line, print("update")]), softline]), ")", body])]; - } - case "WhileStatement": - return group(["while (", group([indent([softline, print("test")]), softline]), ")", adjustClause(node.body, print("body"))]); - case "ForInStatement": - return group(["for (", print("left"), " in ", print("right"), ")", adjustClause(node.body, print("body"))]); - case "ForOfStatement": - return group(["for", node.await ? " await" : "", " (", print("left"), " of ", print("right"), ")", adjustClause(node.body, print("body"))]); - case "DoWhileStatement": { - const clause = adjustClause(node.body, print("body")); - const doBody = group(["do", clause]); - parts = [doBody]; - if (node.body.type === "BlockStatement") { - parts.push(" "); - } else { - parts.push(hardline); - } - parts.push("while (", group([indent([softline, print("test")]), softline]), ")", semi); - return parts; - } - case "DoExpression": - return [node.async ? "async " : "", "do ", print("body")]; - case "BreakStatement": - parts.push("break"); - if (node.label) { - parts.push(" ", print("label")); - } - parts.push(semi); - return parts; - case "ContinueStatement": - parts.push("continue"); - if (node.label) { - parts.push(" ", print("label")); - } - parts.push(semi); - return parts; - case "LabeledStatement": - if (node.body.type === "EmptyStatement") { - return [print("label"), ":;"]; - } - return [print("label"), ": ", print("body")]; - case "TryStatement": - return ["try ", print("block"), node.handler ? [" ", print("handler")] : "", node.finalizer ? [" finally ", print("finalizer")] : ""]; - case "CatchClause": - if (node.param) { - const parameterHasComments = hasComment(node.param, (comment) => !isBlockComment(comment) || comment.leading && hasNewline(options.originalText, locEnd(comment)) || comment.trailing && hasNewline(options.originalText, locStart(comment), { - backwards: true - })); - const param = print("param"); - return ["catch ", parameterHasComments ? ["(", indent([softline, param]), softline, ") "] : ["(", param, ") "], print("body")]; - } - return ["catch ", print("body")]; - case "SwitchStatement": - return [group(["switch (", indent([softline, print("discriminant")]), softline, ")"]), " {", node.cases.length > 0 ? indent([hardline, join(hardline, path.map((casePath, index, cases) => { - const caseNode = casePath.getValue(); - return [print(), index !== cases.length - 1 && isNextLineEmpty(caseNode, options) ? hardline : ""]; - }, "cases"))]) : "", hardline, "}"]; - case "SwitchCase": { - if (node.test) { - parts.push("case ", print("test"), ":"); - } else { - parts.push("default:"); - } - if (hasComment(node, CommentCheckFlags.Dangling)) { - parts.push(" ", printDanglingComments(path, options, true)); - } - const consequent = node.consequent.filter((node2) => node2.type !== "EmptyStatement"); - if (consequent.length > 0) { - const cons = printSwitchCaseConsequent(path, options, print); - parts.push(consequent.length === 1 && consequent[0].type === "BlockStatement" ? [" ", cons] : indent([hardline, cons])); - } - return parts; - } - case "DebuggerStatement": - return ["debugger", semi]; - case "ClassDeclaration": - case "ClassExpression": - return printClass(path, options, print); - case "ClassMethod": - case "ClassPrivateMethod": - case "MethodDefinition": - return printClassMethod(path, options, print); - case "ClassProperty": - case "PropertyDefinition": - case "ClassPrivateProperty": - case "ClassAccessorProperty": - case "AccessorProperty": - return printClassProperty(path, options, print); - case "TemplateElement": - return replaceTextEndOfLine(node.value.raw); - case "TemplateLiteral": - return printTemplateLiteral(path, print, options); - case "TaggedTemplateExpression": - return [print("tag"), print("typeParameters"), print("quasi")]; - case "PrivateIdentifier": - return ["#", print("name")]; - case "PrivateName": - return ["#", print("id")]; - case "InterpreterDirective": - parts.push("#!", node.value, hardline); - if (isNextLineEmpty(node, options)) { - parts.push(hardline); - } - return parts; - case "TopicReference": - return "%"; - case "ArgumentPlaceholder": - return "?"; - case "ModuleExpression": { - parts.push("module {"); - const printed = print("body"); - if (printed) { - parts.push(indent([hardline, printed]), hardline); - } - parts.push("}"); - return parts; - } - default: - throw new Error("unknown type: " + JSON.stringify(node.type)); - } - } - function canAttachComment(node) { - return node.type && !isBlockComment(node) && !isLineComment(node) && node.type !== "EmptyStatement" && node.type !== "TemplateElement" && node.type !== "Import" && node.type !== "TSEmptyBodyFunctionExpression"; - } - module2.exports = { - preprocess, - print: genericPrint, - embed, - insertPragma, - massageAstNode: clean, - hasPrettierIgnore(path) { - return hasIgnoreComment(path) || hasJsxIgnoreComment(path); - }, - willPrintOwnComments: handleComments.willPrintOwnComments, - canAttachComment, - printComment, - isBlockComment, - handleComments: { - avoidAstMutation: true, - ownLine: handleComments.handleOwnLineComment, - endOfLine: handleComments.handleEndOfLineComment, - remaining: handleComments.handleRemainingComment - }, - getCommentChildNodes: handleComments.getCommentChildNodes - }; - } -}); -var require_printer_estree_json = __commonJS2({ - "src/language-js/printer-estree-json.js"(exports2, module2) { - "use strict"; - var { - builders: { - hardline, - indent, - join - } - } = require("./doc.js"); - var preprocess = require_print_preprocess(); - function genericPrint(path, options, print) { - const node = path.getValue(); - switch (node.type) { - case "JsonRoot": - return [print("node"), hardline]; - case "ArrayExpression": { - if (node.elements.length === 0) { - return "[]"; - } - const printed = path.map(() => path.getValue() === null ? "null" : print(), "elements"); - return ["[", indent([hardline, join([",", hardline], printed)]), hardline, "]"]; - } - case "ObjectExpression": - return node.properties.length === 0 ? "{}" : ["{", indent([hardline, join([",", hardline], path.map(print, "properties"))]), hardline, "}"]; - case "ObjectProperty": - return [print("key"), ": ", print("value")]; - case "UnaryExpression": - return [node.operator === "+" ? "" : node.operator, print("argument")]; - case "NullLiteral": - return "null"; - case "BooleanLiteral": - return node.value ? "true" : "false"; - case "StringLiteral": - return JSON.stringify(node.value); - case "NumericLiteral": - return isObjectKey(path) ? JSON.stringify(String(node.value)) : JSON.stringify(node.value); - case "Identifier": - return isObjectKey(path) ? JSON.stringify(node.name) : node.name; - case "TemplateLiteral": - return print(["quasis", 0]); - case "TemplateElement": - return JSON.stringify(node.value.cooked); - default: - throw new Error("unknown type: " + JSON.stringify(node.type)); - } - } - function isObjectKey(path) { - return path.getName() === "key" && path.getParentNode().type === "ObjectProperty"; - } - var ignoredProperties = /* @__PURE__ */ new Set(["start", "end", "extra", "loc", "comments", "leadingComments", "trailingComments", "innerComments", "errors", "range", "tokens"]); - function clean(node, newNode) { - const { - type - } = node; - if (type === "ObjectProperty") { - const { - key - } = node; - if (key.type === "Identifier") { - newNode.key = { - type: "StringLiteral", - value: key.name - }; - } else if (key.type === "NumericLiteral") { - newNode.key = { - type: "StringLiteral", - value: String(key.value) - }; - } - return; - } - if (type === "UnaryExpression" && node.operator === "+") { - return newNode.argument; - } - if (type === "ArrayExpression") { - for (const [index, element] of node.elements.entries()) { - if (element === null) { - newNode.elements.splice(index, 0, { - type: "NullLiteral" - }); - } - } - return; - } - if (type === "TemplateLiteral") { - return { - type: "StringLiteral", - value: node.quasis[0].value.cooked - }; - } - } - clean.ignoredProperties = ignoredProperties; - module2.exports = { - preprocess, - print: genericPrint, - massageAstNode: clean - }; - } -}); -var require_common_options = __commonJS2({ - "src/common/common-options.js"(exports2, module2) { - "use strict"; - var CATEGORY_COMMON = "Common"; - module2.exports = { - bracketSpacing: { - since: "0.0.0", - category: CATEGORY_COMMON, - type: "boolean", - default: true, - description: "Print spaces between brackets.", - oppositeDescription: "Do not print spaces between brackets." - }, - singleQuote: { - since: "0.0.0", - category: CATEGORY_COMMON, - type: "boolean", - default: false, - description: "Use single quotes instead of double quotes." - }, - proseWrap: { - since: "1.8.2", - category: CATEGORY_COMMON, - type: "choice", - default: [{ - since: "1.8.2", - value: true - }, { - since: "1.9.0", - value: "preserve" - }], - description: "How to wrap prose.", - choices: [{ - since: "1.9.0", - value: "always", - description: "Wrap prose if it exceeds the print width." - }, { - since: "1.9.0", - value: "never", - description: "Do not wrap prose." - }, { - since: "1.9.0", - value: "preserve", - description: "Wrap prose as-is." - }] - }, - bracketSameLine: { - since: "2.4.0", - category: CATEGORY_COMMON, - type: "boolean", - default: false, - description: "Put > of opening tags on the last line instead of on a new line." - }, - singleAttributePerLine: { - since: "2.6.0", - category: CATEGORY_COMMON, - type: "boolean", - default: false, - description: "Enforce single attribute per line in HTML, Vue and JSX." - } - }; - } -}); -var require_options2 = __commonJS2({ - "src/language-js/options.js"(exports2, module2) { - "use strict"; - var commonOptions = require_common_options(); - var CATEGORY_JAVASCRIPT = "JavaScript"; - module2.exports = { - arrowParens: { - since: "1.9.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: [{ - since: "1.9.0", - value: "avoid" - }, { - since: "2.0.0", - value: "always" - }], - description: "Include parentheses around a sole arrow function parameter.", - choices: [{ - value: "always", - description: "Always include parens. Example: `(x) => x`" - }, { - value: "avoid", - description: "Omit parens when possible. Example: `x => x`" - }] - }, - bracketSameLine: commonOptions.bracketSameLine, - bracketSpacing: commonOptions.bracketSpacing, - jsxBracketSameLine: { - since: "0.17.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - description: "Put > on the last line instead of at a new line.", - deprecated: "2.4.0" - }, - semi: { - since: "1.0.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: true, - description: "Print semicolons.", - oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." - }, - singleQuote: commonOptions.singleQuote, - jsxSingleQuote: { - since: "1.15.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: false, - description: "Use single quotes in JSX." - }, - quoteProps: { - since: "1.17.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: "as-needed", - description: "Change when properties in objects are quoted.", - choices: [{ - value: "as-needed", - description: "Only add quotes around object properties where required." - }, { - value: "consistent", - description: "If at least one property in an object requires quotes, quote all properties." - }, { - value: "preserve", - description: "Respect the input use of quotes in object properties." - }] - }, - trailingComma: { - since: "0.0.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: [{ - since: "0.0.0", - value: false - }, { - since: "0.19.0", - value: "none" - }, { - since: "2.0.0", - value: "es5" - }], - description: "Print trailing commas wherever possible when multi-line.", - choices: [{ - value: "es5", - description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" - }, { - value: "none", - description: "No trailing commas." - }, { - value: "all", - description: "Trailing commas wherever possible (including function arguments)." - }] - }, - singleAttributePerLine: commonOptions.singleAttributePerLine - }; - } -}); -var require_parsers = __commonJS2({ - "src/language-js/parse/parsers.js"(exports2, module2) { - "use strict"; - module2.exports = { - get babel() { - return require("./parser-babel.js").parsers.babel; - }, - get "babel-flow"() { - return require("./parser-babel.js").parsers["babel-flow"]; - }, - get "babel-ts"() { - return require("./parser-babel.js").parsers["babel-ts"]; - }, - get json() { - return require("./parser-babel.js").parsers.json; - }, - get json5() { - return require("./parser-babel.js").parsers.json5; - }, - get "json-stringify"() { - return require("./parser-babel.js").parsers["json-stringify"]; - }, - get __js_expression() { - return require("./parser-babel.js").parsers.__js_expression; - }, - get __vue_expression() { - return require("./parser-babel.js").parsers.__vue_expression; - }, - get __vue_ts_expression() { - return require("./parser-babel.js").parsers.__vue_ts_expression; - }, - get __vue_event_binding() { - return require("./parser-babel.js").parsers.__vue_event_binding; - }, - get __vue_ts_event_binding() { - return require("./parser-babel.js").parsers.__vue_ts_event_binding; - }, - get flow() { - return require("./parser-flow.js").parsers.flow; - }, - get typescript() { - return require("./parser-typescript.js").parsers.typescript; - }, - get __ng_action() { - return require("./parser-angular.js").parsers.__ng_action; - }, - get __ng_binding() { - return require("./parser-angular.js").parsers.__ng_binding; - }, - get __ng_interpolation() { - return require("./parser-angular.js").parsers.__ng_interpolation; - }, - get __ng_directive() { - return require("./parser-angular.js").parsers.__ng_directive; - }, - get acorn() { - return require("./parser-espree.js").parsers.acorn; - }, - get espree() { - return require("./parser-espree.js").parsers.espree; - }, - get meriyah() { - return require("./parser-meriyah.js").parsers.meriyah; - }, - get __babel_estree() { - return require("./parser-babel.js").parsers.__babel_estree; - } - }; - } -}); -var require_JavaScript = __commonJS2({ - "node_modules/linguist-languages/data/JavaScript.json"(exports2, module2) { - module2.exports = { - name: "JavaScript", - type: "programming", - tmScope: "source.js", - aceMode: "javascript", - codemirrorMode: "javascript", - codemirrorMimeType: "text/javascript", - color: "#f1e05a", - aliases: ["js", "node"], - extensions: [".js", "._js", ".bones", ".cjs", ".es", ".es6", ".frag", ".gs", ".jake", ".javascript", ".jsb", ".jscad", ".jsfl", ".jslib", ".jsm", ".jspre", ".jss", ".jsx", ".mjs", ".njs", ".pac", ".sjs", ".ssjs", ".xsjs", ".xsjslib"], - filenames: ["Jakefile"], - interpreters: ["chakra", "d8", "gjs", "js", "node", "nodejs", "qjs", "rhino", "v8", "v8-shell"], - languageId: 183 - }; - } -}); -var require_TypeScript = __commonJS2({ - "node_modules/linguist-languages/data/TypeScript.json"(exports2, module2) { - module2.exports = { - name: "TypeScript", - type: "programming", - color: "#3178c6", - aliases: ["ts"], - interpreters: ["deno", "ts-node"], - extensions: [".ts", ".cts", ".mts"], - tmScope: "source.ts", - aceMode: "typescript", - codemirrorMode: "javascript", - codemirrorMimeType: "application/typescript", - languageId: 378 - }; - } -}); -var require_TSX = __commonJS2({ - "node_modules/linguist-languages/data/TSX.json"(exports2, module2) { - module2.exports = { - name: "TSX", - type: "programming", - color: "#3178c6", - group: "TypeScript", - extensions: [".tsx"], - tmScope: "source.tsx", - aceMode: "javascript", - codemirrorMode: "jsx", - codemirrorMimeType: "text/jsx", - languageId: 94901924 - }; - } -}); -var require_JSON = __commonJS2({ - "node_modules/linguist-languages/data/JSON.json"(exports2, module2) { - module2.exports = { - name: "JSON", - type: "data", - color: "#292929", - tmScope: "source.json", - aceMode: "json", - codemirrorMode: "javascript", - codemirrorMimeType: "application/json", - aliases: ["geojson", "jsonl", "topojson"], - extensions: [".json", ".4DForm", ".4DProject", ".avsc", ".geojson", ".gltf", ".har", ".ice", ".JSON-tmLanguage", ".jsonl", ".mcmeta", ".tfstate", ".tfstate.backup", ".topojson", ".webapp", ".webmanifest", ".yy", ".yyp"], - filenames: [".arcconfig", ".auto-changelog", ".c8rc", ".htmlhintrc", ".imgbotconfig", ".nycrc", ".tern-config", ".tern-project", ".watchmanconfig", "Pipfile.lock", "composer.lock", "mcmod.info"], - languageId: 174 - }; - } -}); -var require_JSON_with_Comments = __commonJS2({ - "node_modules/linguist-languages/data/JSON with Comments.json"(exports2, module2) { - module2.exports = { - name: "JSON with Comments", - type: "data", - color: "#292929", - group: "JSON", - tmScope: "source.js", - aceMode: "javascript", - codemirrorMode: "javascript", - codemirrorMimeType: "text/javascript", - aliases: ["jsonc"], - extensions: [".jsonc", ".code-snippets", ".sublime-build", ".sublime-commands", ".sublime-completions", ".sublime-keymap", ".sublime-macro", ".sublime-menu", ".sublime-mousemap", ".sublime-project", ".sublime-settings", ".sublime-theme", ".sublime-workspace", ".sublime_metrics", ".sublime_session"], - filenames: [".babelrc", ".devcontainer.json", ".eslintrc.json", ".jscsrc", ".jshintrc", ".jslintrc", "api-extractor.json", "devcontainer.json", "jsconfig.json", "language-configuration.json", "tsconfig.json", "tslint.json"], - languageId: 423 - }; - } -}); -var require_JSON5 = __commonJS2({ - "node_modules/linguist-languages/data/JSON5.json"(exports2, module2) { - module2.exports = { - name: "JSON5", - type: "data", - color: "#267CB9", - extensions: [".json5"], - tmScope: "source.js", - aceMode: "javascript", - codemirrorMode: "javascript", - codemirrorMimeType: "application/json", - languageId: 175 - }; - } -}); -var require_language_js = __commonJS2({ - "src/language-js/index.js"(exports2, module2) { - "use strict"; - var createLanguage = require_create_language(); - var estreePrinter = require_printer_estree(); - var estreeJsonPrinter = require_printer_estree_json(); - var options = require_options2(); - var parsers = require_parsers(); - var languages = [createLanguage(require_JavaScript(), (data) => ({ - since: "0.0.0", - parsers: ["babel", "acorn", "espree", "meriyah", "babel-flow", "babel-ts", "flow", "typescript"], - vscodeLanguageIds: ["javascript", "mongo"], - interpreters: [...data.interpreters, "zx"], - extensions: [...data.extensions.filter((extension) => extension !== ".jsx"), ".wxs"] - })), createLanguage(require_JavaScript(), () => ({ - name: "Flow", - since: "0.0.0", - parsers: ["flow", "babel-flow"], - vscodeLanguageIds: ["javascript"], - aliases: [], - filenames: [], - extensions: [".js.flow"] - })), createLanguage(require_JavaScript(), () => ({ - name: "JSX", - since: "0.0.0", - parsers: ["babel", "babel-flow", "babel-ts", "flow", "typescript", "espree", "meriyah"], - vscodeLanguageIds: ["javascriptreact"], - aliases: void 0, - filenames: void 0, - extensions: [".jsx"], - group: "JavaScript", - interpreters: void 0, - tmScope: "source.js.jsx", - aceMode: "javascript", - codemirrorMode: "jsx", - codemirrorMimeType: "text/jsx", - color: void 0 - })), createLanguage(require_TypeScript(), () => ({ - since: "1.4.0", - parsers: ["typescript", "babel-ts"], - vscodeLanguageIds: ["typescript"] - })), createLanguage(require_TSX(), () => ({ - since: "1.4.0", - parsers: ["typescript", "babel-ts"], - vscodeLanguageIds: ["typescriptreact"] - })), createLanguage(require_JSON(), () => ({ - name: "JSON.stringify", - since: "1.13.0", - parsers: ["json-stringify"], - vscodeLanguageIds: ["json"], - extensions: [".importmap"], - filenames: ["package.json", "package-lock.json", "composer.json"] - })), createLanguage(require_JSON(), (data) => ({ - since: "1.5.0", - parsers: ["json"], - vscodeLanguageIds: ["json"], - extensions: data.extensions.filter((extension) => extension !== ".jsonl") - })), createLanguage(require_JSON_with_Comments(), (data) => ({ - since: "1.5.0", - parsers: ["json"], - vscodeLanguageIds: ["jsonc"], - filenames: [...data.filenames, ".eslintrc", ".swcrc"] - })), createLanguage(require_JSON5(), () => ({ - since: "1.13.0", - parsers: ["json5"], - vscodeLanguageIds: ["json5"] - }))]; - var printers = { - estree: estreePrinter, - "estree-json": estreeJsonPrinter - }; - module2.exports = { - languages, - options, - printers, - parsers - }; - } -}); -var require_clean2 = __commonJS2({ - "src/language-css/clean.js"(exports2, module2) { - "use strict"; - var { - isFrontMatterNode - } = require_util(); - var getLast = require_get_last(); - var ignoredProperties = /* @__PURE__ */ new Set(["raw", "raws", "sourceIndex", "source", "before", "after", "trailingComma"]); - function clean(ast, newObj, parent) { - if (isFrontMatterNode(ast) && ast.lang === "yaml") { - delete newObj.value; - } - if (ast.type === "css-comment" && parent.type === "css-root" && parent.nodes.length > 0) { - if (parent.nodes[0] === ast || isFrontMatterNode(parent.nodes[0]) && parent.nodes[1] === ast) { - delete newObj.text; - if (/^\*\s*@(?:format|prettier)\s*$/.test(ast.text)) { - return null; - } - } - if (parent.type === "css-root" && getLast(parent.nodes) === ast) { - return null; - } - } - if (ast.type === "value-root") { - delete newObj.text; - } - if (ast.type === "media-query" || ast.type === "media-query-list" || ast.type === "media-feature-expression") { - delete newObj.value; - } - if (ast.type === "css-rule") { - delete newObj.params; - } - if (ast.type === "selector-combinator") { - newObj.value = newObj.value.replace(/\s+/g, " "); - } - if (ast.type === "media-feature") { - newObj.value = newObj.value.replace(/ /g, ""); - } - if (ast.type === "value-word" && (ast.isColor && ast.isHex || ["initial", "inherit", "unset", "revert"].includes(newObj.value.replace().toLowerCase())) || ast.type === "media-feature" || ast.type === "selector-root-invalid" || ast.type === "selector-pseudo") { - newObj.value = newObj.value.toLowerCase(); - } - if (ast.type === "css-decl") { - newObj.prop = newObj.prop.toLowerCase(); - } - if (ast.type === "css-atrule" || ast.type === "css-import") { - newObj.name = newObj.name.toLowerCase(); - } - if (ast.type === "value-number") { - newObj.unit = newObj.unit.toLowerCase(); - } - if ((ast.type === "media-feature" || ast.type === "media-keyword" || ast.type === "media-type" || ast.type === "media-unknown" || ast.type === "media-url" || ast.type === "media-value" || ast.type === "selector-attribute" || ast.type === "selector-string" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "value-string") && newObj.value) { - newObj.value = cleanCSSStrings(newObj.value); - } - if (ast.type === "selector-attribute") { - newObj.attribute = newObj.attribute.trim(); - if (newObj.namespace) { - if (typeof newObj.namespace === "string") { - newObj.namespace = newObj.namespace.trim(); - if (newObj.namespace.length === 0) { - newObj.namespace = true; - } - } - } - if (newObj.value) { - newObj.value = newObj.value.trim().replace(/^["']|["']$/g, ""); - delete newObj.quoted; - } - } - if ((ast.type === "media-value" || ast.type === "media-type" || ast.type === "value-number" || ast.type === "selector-root-invalid" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "selector-tag") && newObj.value) { - newObj.value = newObj.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g, (match, numStr, unit) => { - const num = Number(numStr); - return Number.isNaN(num) ? match : num + unit.toLowerCase(); - }); - } - if (ast.type === "selector-tag") { - const lowercasedValue = ast.value.toLowerCase(); - if (["from", "to"].includes(lowercasedValue)) { - newObj.value = lowercasedValue; - } - } - if (ast.type === "css-atrule" && ast.name.toLowerCase() === "supports") { - delete newObj.value; - } - if (ast.type === "selector-unknown") { - delete newObj.value; - } - if (ast.type === "value-comma_group") { - const index = ast.groups.findIndex((node) => node.type === "value-number" && node.unit === "..."); - if (index !== -1) { - newObj.groups[index].unit = ""; - newObj.groups.splice(index + 1, 0, { - type: "value-word", - value: "...", - isColor: false, - isHex: false - }); - } - } - if (ast.type === "value-comma_group" && ast.groups.some((node) => node.type === "value-atword" && node.value.endsWith("[") || node.type === "value-word" && node.value.startsWith("]"))) { - return { - type: "value-atword", - value: ast.groups.map((node) => node.value).join(""), - group: { - open: null, - close: null, - groups: [], - type: "value-paren_group" - } - }; - } - } - clean.ignoredProperties = ignoredProperties; - function cleanCSSStrings(value) { - return value.replace(/'/g, '"').replace(/\\([^\dA-Fa-f])/g, "$1"); - } - module2.exports = clean; - } -}); -var require_print = __commonJS2({ - "src/utils/front-matter/print.js"(exports2, module2) { - "use strict"; - var { - builders: { - hardline, - markAsRoot - } - } = require("./doc.js"); - function print(node, textToDoc) { - if (node.lang === "yaml") { - const value = node.value.trim(); - const doc2 = value ? textToDoc(value, { - parser: "yaml" - }, { - stripTrailingHardline: true - }) : ""; - return markAsRoot([node.startDelimiter, hardline, doc2, doc2 ? hardline : "", node.endDelimiter]); - } - } - module2.exports = print; - } -}); -var require_embed2 = __commonJS2({ - "src/language-css/embed.js"(exports2, module2) { - "use strict"; - var { - builders: { - hardline - } - } = require("./doc.js"); - var printFrontMatter = require_print(); - function embed(path, print, textToDoc) { - const node = path.getValue(); - if (node.type === "front-matter") { - const doc2 = printFrontMatter(node, textToDoc); - return doc2 ? [doc2, hardline] : ""; - } - } - module2.exports = embed; - } -}); -var require_parse4 = __commonJS2({ - "src/utils/front-matter/parse.js"(exports2, module2) { - "use strict"; - var frontMatterRegex = new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)", "s"); - function parse(text) { - const match = text.match(frontMatterRegex); - if (!match) { - return { - content: text - }; - } - const { - startDelimiter, - language, - value = "", - endDelimiter - } = match.groups; - let lang = language.trim() || "yaml"; - if (startDelimiter === "+++") { - lang = "toml"; - } - if (lang !== "yaml" && startDelimiter !== endDelimiter) { - return { - content: text - }; - } - const [raw] = match; - const frontMatter = { - type: "front-matter", - lang, - value, - startDelimiter, - endDelimiter, - raw: raw.replace(/\n$/, "") - }; - return { - frontMatter, - content: raw.replace(/[^\n]/g, " ") + text.slice(raw.length) - }; - } - module2.exports = parse; - } -}); -var require_pragma2 = __commonJS2({ - "src/language-css/pragma.js"(exports2, module2) { - "use strict"; - var jsPragma = require_pragma(); - var parseFrontMatter = require_parse4(); - function hasPragma(text) { - return jsPragma.hasPragma(parseFrontMatter(text).content); - } - function insertPragma(text) { - const { - frontMatter, - content - } = parseFrontMatter(text); - return (frontMatter ? frontMatter.raw + "\n\n" : "") + jsPragma.insertPragma(content); - } - module2.exports = { - hasPragma, - insertPragma - }; - } -}); -var require_utils8 = __commonJS2({ - "src/language-css/utils/index.js"(exports2, module2) { - "use strict"; - var colorAdjusterFunctions = /* @__PURE__ */ new Set(["red", "green", "blue", "alpha", "a", "rgb", "hue", "h", "saturation", "s", "lightness", "l", "whiteness", "w", "blackness", "b", "tint", "shade", "blend", "blenda", "contrast", "hsl", "hsla", "hwb", "hwba"]); - function getAncestorCounter(path, typeOrTypes) { - const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; - let counter = -1; - let ancestorNode; - while (ancestorNode = path.getParentNode(++counter)) { - if (types.includes(ancestorNode.type)) { - return counter; - } - } - return -1; - } - function getAncestorNode(path, typeOrTypes) { - const counter = getAncestorCounter(path, typeOrTypes); - return counter === -1 ? null : path.getParentNode(counter); - } - function getPropOfDeclNode(path) { - var _declAncestorNode$pro; - const declAncestorNode = getAncestorNode(path, "css-decl"); - return declAncestorNode === null || declAncestorNode === void 0 ? void 0 : (_declAncestorNode$pro = declAncestorNode.prop) === null || _declAncestorNode$pro === void 0 ? void 0 : _declAncestorNode$pro.toLowerCase(); - } - var wideKeywords = /* @__PURE__ */ new Set(["initial", "inherit", "unset", "revert"]); - function isWideKeywords(value) { - return wideKeywords.has(value.toLowerCase()); - } - function isKeyframeAtRuleKeywords(path, value) { - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return (atRuleAncestorNode === null || atRuleAncestorNode === void 0 ? void 0 : atRuleAncestorNode.name) && atRuleAncestorNode.name.toLowerCase().endsWith("keyframes") && ["from", "to"].includes(value.toLowerCase()); - } - function maybeToLowerCase(value) { - return value.includes("$") || value.includes("@") || value.includes("#") || value.startsWith("%") || value.startsWith("--") || value.startsWith(":--") || value.includes("(") && value.includes(")") ? value : value.toLowerCase(); - } - function insideValueFunctionNode(path, functionName) { - var _funcAncestorNode$val; - const funcAncestorNode = getAncestorNode(path, "value-func"); - return (funcAncestorNode === null || funcAncestorNode === void 0 ? void 0 : (_funcAncestorNode$val = funcAncestorNode.value) === null || _funcAncestorNode$val === void 0 ? void 0 : _funcAncestorNode$val.toLowerCase()) === functionName; - } - function insideICSSRuleNode(path) { - var _ruleAncestorNode$raw; - const ruleAncestorNode = getAncestorNode(path, "css-rule"); - const selector = ruleAncestorNode === null || ruleAncestorNode === void 0 ? void 0 : (_ruleAncestorNode$raw = ruleAncestorNode.raws) === null || _ruleAncestorNode$raw === void 0 ? void 0 : _ruleAncestorNode$raw.selector; - return selector && (selector.startsWith(":import") || selector.startsWith(":export")); - } - function insideAtRuleNode(path, atRuleNameOrAtRuleNames) { - const atRuleNames = Array.isArray(atRuleNameOrAtRuleNames) ? atRuleNameOrAtRuleNames : [atRuleNameOrAtRuleNames]; - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return atRuleAncestorNode && atRuleNames.includes(atRuleAncestorNode.name.toLowerCase()); - } - function insideURLFunctionInImportAtRuleNode(path) { - const node = path.getValue(); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return (atRuleAncestorNode === null || atRuleAncestorNode === void 0 ? void 0 : atRuleAncestorNode.name) === "import" && node.groups[0].value === "url" && node.groups.length === 2; - } - function isURLFunctionNode(node) { - return node.type === "value-func" && node.value.toLowerCase() === "url"; - } - function isLastNode(path, node) { - var _path$getParentNode; - const nodes = (_path$getParentNode = path.getParentNode()) === null || _path$getParentNode === void 0 ? void 0 : _path$getParentNode.nodes; - return nodes && nodes.indexOf(node) === nodes.length - 1; - } - function isDetachedRulesetDeclarationNode(node) { - const { - selector - } = node; - if (!selector) { - return false; - } - return typeof selector === "string" && /^@.+:.*$/.test(selector) || selector.value && /^@.+:.*$/.test(selector.value); - } - function isForKeywordNode(node) { - return node.type === "value-word" && ["from", "through", "end"].includes(node.value); - } - function isIfElseKeywordNode(node) { - return node.type === "value-word" && ["and", "or", "not"].includes(node.value); - } - function isEachKeywordNode(node) { - return node.type === "value-word" && node.value === "in"; - } - function isMultiplicationNode(node) { - return node.type === "value-operator" && node.value === "*"; - } - function isDivisionNode(node) { - return node.type === "value-operator" && node.value === "/"; - } - function isAdditionNode(node) { - return node.type === "value-operator" && node.value === "+"; - } - function isSubtractionNode(node) { - return node.type === "value-operator" && node.value === "-"; - } - function isModuloNode(node) { - return node.type === "value-operator" && node.value === "%"; - } - function isMathOperatorNode(node) { - return isMultiplicationNode(node) || isDivisionNode(node) || isAdditionNode(node) || isSubtractionNode(node) || isModuloNode(node); - } - function isEqualityOperatorNode(node) { - return node.type === "value-word" && ["==", "!="].includes(node.value); - } - function isRelationalOperatorNode(node) { - return node.type === "value-word" && ["<", ">", "<=", ">="].includes(node.value); - } - function isSCSSControlDirectiveNode(node) { - return node.type === "css-atrule" && ["if", "else", "for", "each", "while"].includes(node.name); - } - function isDetachedRulesetCallNode(node) { - var _node$raws; - return ((_node$raws = node.raws) === null || _node$raws === void 0 ? void 0 : _node$raws.params) && /^\(\s*\)$/.test(node.raws.params); - } - function isTemplatePlaceholderNode(node) { - return node.name.startsWith("prettier-placeholder"); - } - function isTemplatePropNode(node) { - return node.prop.startsWith("@prettier-placeholder"); - } - function isPostcssSimpleVarNode(currentNode, nextNode) { - return currentNode.value === "$$" && currentNode.type === "value-func" && (nextNode === null || nextNode === void 0 ? void 0 : nextNode.type) === "value-word" && !nextNode.raws.before; - } - function hasComposesNode(node) { - var _node$value, _node$value$group; - return ((_node$value = node.value) === null || _node$value === void 0 ? void 0 : _node$value.type) === "value-root" && ((_node$value$group = node.value.group) === null || _node$value$group === void 0 ? void 0 : _node$value$group.type) === "value-value" && node.prop.toLowerCase() === "composes"; - } - function hasParensAroundNode(node) { - var _node$value2, _node$value2$group, _node$value2$group$gr; - return ((_node$value2 = node.value) === null || _node$value2 === void 0 ? void 0 : (_node$value2$group = _node$value2.group) === null || _node$value2$group === void 0 ? void 0 : (_node$value2$group$gr = _node$value2$group.group) === null || _node$value2$group$gr === void 0 ? void 0 : _node$value2$group$gr.type) === "value-paren_group" && node.value.group.group.open !== null && node.value.group.group.close !== null; - } - function hasEmptyRawBefore(node) { - var _node$raws2; - return ((_node$raws2 = node.raws) === null || _node$raws2 === void 0 ? void 0 : _node$raws2.before) === ""; - } - function isKeyValuePairNode(node) { - var _node$groups, _node$groups$; - return node.type === "value-comma_group" && ((_node$groups = node.groups) === null || _node$groups === void 0 ? void 0 : (_node$groups$ = _node$groups[1]) === null || _node$groups$ === void 0 ? void 0 : _node$groups$.type) === "value-colon"; - } - function isKeyValuePairInParenGroupNode(node) { - var _node$groups2; - return node.type === "value-paren_group" && ((_node$groups2 = node.groups) === null || _node$groups2 === void 0 ? void 0 : _node$groups2[0]) && isKeyValuePairNode(node.groups[0]); - } - function isSCSSMapItemNode(path) { - var _declNode$prop; - const node = path.getValue(); - if (node.groups.length === 0) { - return false; - } - const parentParentNode = path.getParentNode(1); - if (!isKeyValuePairInParenGroupNode(node) && !(parentParentNode && isKeyValuePairInParenGroupNode(parentParentNode))) { - return false; - } - const declNode = getAncestorNode(path, "css-decl"); - if (declNode !== null && declNode !== void 0 && (_declNode$prop = declNode.prop) !== null && _declNode$prop !== void 0 && _declNode$prop.startsWith("$")) { - return true; - } - if (isKeyValuePairInParenGroupNode(parentParentNode)) { - return true; - } - if (parentParentNode.type === "value-func") { - return true; - } - return false; - } - function isInlineValueCommentNode(node) { - return node.type === "value-comment" && node.inline; - } - function isHashNode(node) { - return node.type === "value-word" && node.value === "#"; - } - function isLeftCurlyBraceNode(node) { - return node.type === "value-word" && node.value === "{"; - } - function isRightCurlyBraceNode(node) { - return node.type === "value-word" && node.value === "}"; - } - function isWordNode(node) { - return ["value-word", "value-atword"].includes(node.type); - } - function isColonNode(node) { - return (node === null || node === void 0 ? void 0 : node.type) === "value-colon"; - } - function isKeyInValuePairNode(node, parentNode) { - if (!isKeyValuePairNode(parentNode)) { - return false; - } - const { - groups - } = parentNode; - const index = groups.indexOf(node); - if (index === -1) { - return false; - } - return isColonNode(groups[index + 1]); - } - function isMediaAndSupportsKeywords(node) { - return node.value && ["not", "and", "or"].includes(node.value.toLowerCase()); - } - function isColorAdjusterFuncNode(node) { - if (node.type !== "value-func") { - return false; - } - return colorAdjusterFunctions.has(node.value.toLowerCase()); - } - function lastLineHasInlineComment(text) { - return /\/\//.test(text.split(/[\n\r]/).pop()); - } - function isAtWordPlaceholderNode(node) { - return (node === null || node === void 0 ? void 0 : node.type) === "value-atword" && node.value.startsWith("prettier-placeholder-"); - } - function isConfigurationNode(node, parentNode) { - var _node$open, _node$close; - if (((_node$open = node.open) === null || _node$open === void 0 ? void 0 : _node$open.value) !== "(" || ((_node$close = node.close) === null || _node$close === void 0 ? void 0 : _node$close.value) !== ")" || node.groups.some((group) => group.type !== "value-comma_group")) { - return false; - } - if (parentNode.type === "value-comma_group") { - const prevIdx = parentNode.groups.indexOf(node) - 1; - const maybeWithNode = parentNode.groups[prevIdx]; - if ((maybeWithNode === null || maybeWithNode === void 0 ? void 0 : maybeWithNode.type) === "value-word" && maybeWithNode.value === "with") { - return true; - } - } - return false; - } - function isParenGroupNode(node) { - var _node$open2, _node$close2; - return node.type === "value-paren_group" && ((_node$open2 = node.open) === null || _node$open2 === void 0 ? void 0 : _node$open2.value) === "(" && ((_node$close2 = node.close) === null || _node$close2 === void 0 ? void 0 : _node$close2.value) === ")"; - } - module2.exports = { - getAncestorCounter, - getAncestorNode, - getPropOfDeclNode, - maybeToLowerCase, - insideValueFunctionNode, - insideICSSRuleNode, - insideAtRuleNode, - insideURLFunctionInImportAtRuleNode, - isKeyframeAtRuleKeywords, - isWideKeywords, - isLastNode, - isSCSSControlDirectiveNode, - isDetachedRulesetDeclarationNode, - isRelationalOperatorNode, - isEqualityOperatorNode, - isMultiplicationNode, - isDivisionNode, - isAdditionNode, - isSubtractionNode, - isModuloNode, - isMathOperatorNode, - isEachKeywordNode, - isForKeywordNode, - isURLFunctionNode, - isIfElseKeywordNode, - hasComposesNode, - hasParensAroundNode, - hasEmptyRawBefore, - isDetachedRulesetCallNode, - isTemplatePlaceholderNode, - isTemplatePropNode, - isPostcssSimpleVarNode, - isKeyValuePairNode, - isKeyValuePairInParenGroupNode, - isKeyInValuePairNode, - isSCSSMapItemNode, - isInlineValueCommentNode, - isHashNode, - isLeftCurlyBraceNode, - isRightCurlyBraceNode, - isWordNode, - isColonNode, - isMediaAndSupportsKeywords, - isColorAdjusterFuncNode, - lastLineHasInlineComment, - isAtWordPlaceholderNode, - isConfigurationNode, - isParenGroupNode - }; - } -}); -var require_line_column_to_index = __commonJS2({ - "src/utils/line-column-to-index.js"(exports2, module2) { - "use strict"; - module2.exports = function(lineColumn, text) { - let index = 0; - for (let i = 0; i < lineColumn.line - 1; ++i) { - index = text.indexOf("\n", index) + 1; - } - return index + lineColumn.column; - }; - } -}); -var require_loc2 = __commonJS2({ - "src/language-css/loc.js"(exports2, module2) { - "use strict"; - var { - skipEverythingButNewLine - } = require_skip(); - var getLast = require_get_last(); - var lineColumnToIndex = require_line_column_to_index(); - function calculateLocStart(node, text) { - if (typeof node.sourceIndex === "number") { - return node.sourceIndex; - } - return node.source ? lineColumnToIndex(node.source.start, text) - 1 : null; - } - function calculateLocEnd(node, text) { - if (node.type === "css-comment" && node.inline) { - return skipEverythingButNewLine(text, node.source.startOffset); - } - const endNode = node.nodes && getLast(node.nodes); - if (endNode && node.source && !node.source.end) { - node = endNode; - } - if (node.source && node.source.end) { - return lineColumnToIndex(node.source.end, text); - } - return null; - } - function calculateLoc(node, text) { - if (node.source) { - node.source.startOffset = calculateLocStart(node, text); - node.source.endOffset = calculateLocEnd(node, text); - } - for (const key in node) { - const child = node[key]; - if (key === "source" || !child || typeof child !== "object") { - continue; - } - if (child.type === "value-root" || child.type === "value-unknown") { - calculateValueNodeLoc(child, getValueRootOffset(node), child.text || child.value); - } else { - calculateLoc(child, text); - } - } - } - function calculateValueNodeLoc(node, rootOffset, text) { - if (node.source) { - node.source.startOffset = calculateLocStart(node, text) + rootOffset; - node.source.endOffset = calculateLocEnd(node, text) + rootOffset; - } - for (const key in node) { - const child = node[key]; - if (key === "source" || !child || typeof child !== "object") { - continue; - } - calculateValueNodeLoc(child, rootOffset, text); - } - } - function getValueRootOffset(node) { - let result = node.source.startOffset; - if (typeof node.prop === "string") { - result += node.prop.length; - } - if (node.type === "css-atrule" && typeof node.name === "string") { - result += 1 + node.name.length + node.raws.afterName.match(/^\s*:?\s*/)[0].length; - } - if (node.type !== "css-atrule" && node.raws && typeof node.raws.between === "string") { - result += node.raws.between.length; - } - return result; - } - function replaceQuotesInInlineComments(text) { - let state = "initial"; - let stateToReturnFromQuotes = "initial"; - let inlineCommentStartIndex; - let inlineCommentContainsQuotes = false; - const inlineCommentsToReplace = []; - for (let i = 0; i < text.length; i++) { - const c = text[i]; - switch (state) { - case "initial": - if (c === "'") { - state = "single-quotes"; - continue; - } - if (c === '"') { - state = "double-quotes"; - continue; - } - if ((c === "u" || c === "U") && text.slice(i, i + 4).toLowerCase() === "url(") { - state = "url"; - i += 3; - continue; - } - if (c === "*" && text[i - 1] === "/") { - state = "comment-block"; - continue; - } - if (c === "/" && text[i - 1] === "/") { - state = "comment-inline"; - inlineCommentStartIndex = i - 1; - continue; - } - continue; - case "single-quotes": - if (c === "'" && text[i - 1] !== "\\") { - state = stateToReturnFromQuotes; - stateToReturnFromQuotes = "initial"; - } - if (c === "\n" || c === "\r") { - return text; - } - continue; - case "double-quotes": - if (c === '"' && text[i - 1] !== "\\") { - state = stateToReturnFromQuotes; - stateToReturnFromQuotes = "initial"; - } - if (c === "\n" || c === "\r") { - return text; - } - continue; - case "url": - if (c === ")") { - state = "initial"; - } - if (c === "\n" || c === "\r") { - return text; - } - if (c === "'") { - state = "single-quotes"; - stateToReturnFromQuotes = "url"; - continue; - } - if (c === '"') { - state = "double-quotes"; - stateToReturnFromQuotes = "url"; - continue; - } - continue; - case "comment-block": - if (c === "/" && text[i - 1] === "*") { - state = "initial"; - } - continue; - case "comment-inline": - if (c === '"' || c === "'" || c === "*") { - inlineCommentContainsQuotes = true; - } - if (c === "\n" || c === "\r") { - if (inlineCommentContainsQuotes) { - inlineCommentsToReplace.push([inlineCommentStartIndex, i]); - } - state = "initial"; - inlineCommentContainsQuotes = false; - } - continue; - } - } - for (const [start, end] of inlineCommentsToReplace) { - text = text.slice(0, start) + text.slice(start, end).replace(/["'*]/g, " ") + text.slice(end); - } - return text; - } - function locStart(node) { - return node.source.startOffset; - } - function locEnd(node) { - return node.source.endOffset; - } - module2.exports = { - locStart, - locEnd, - calculateLoc, - replaceQuotesInInlineComments - }; - } -}); -var require_is_less_parser = __commonJS2({ - "src/language-css/utils/is-less-parser.js"(exports2, module2) { - "use strict"; - function isLessParser(options) { - return options.parser === "css" || options.parser === "less"; - } - module2.exports = isLessParser; - } -}); -var require_is_scss = __commonJS2({ - "src/language-css/utils/is-scss.js"(exports2, module2) { - "use strict"; - function isSCSS(parser, text) { - const hasExplicitParserChoice = parser === "less" || parser === "scss"; - const IS_POSSIBLY_SCSS = /(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/; - return hasExplicitParserChoice ? parser === "scss" : IS_POSSIBLY_SCSS.test(text); - } - module2.exports = isSCSS; - } -}); -var require_css_units_evaluate = __commonJS2({ - "src/language-css/utils/css-units.evaluate.js"(exports2, module2) { - module2.exports = { - em: "em", - rem: "rem", - ex: "ex", - rex: "rex", - cap: "cap", - rcap: "rcap", - ch: "ch", - rch: "rch", - ic: "ic", - ric: "ric", - lh: "lh", - rlh: "rlh", - vw: "vw", - svw: "svw", - lvw: "lvw", - dvw: "dvw", - vh: "vh", - svh: "svh", - lvh: "lvh", - dvh: "dvh", - vi: "vi", - svi: "svi", - lvi: "lvi", - dvi: "dvi", - vb: "vb", - svb: "svb", - lvb: "lvb", - dvb: "dvb", - vmin: "vmin", - svmin: "svmin", - lvmin: "lvmin", - dvmin: "dvmin", - vmax: "vmax", - svmax: "svmax", - lvmax: "lvmax", - dvmax: "dvmax", - cm: "cm", - mm: "mm", - q: "Q", - in: "in", - pt: "pt", - pc: "pc", - px: "px", - deg: "deg", - grad: "grad", - rad: "rad", - turn: "turn", - s: "s", - ms: "ms", - hz: "Hz", - khz: "kHz", - dpi: "dpi", - dpcm: "dpcm", - dppx: "dppx", - x: "x" - }; - } -}); -var require_print_unit = __commonJS2({ - "src/language-css/utils/print-unit.js"(exports2, module2) { - "use strict"; - var CSS_UNITS = require_css_units_evaluate(); - function printUnit(unit) { - const lowercased = unit.toLowerCase(); - return Object.prototype.hasOwnProperty.call(CSS_UNITS, lowercased) ? CSS_UNITS[lowercased] : unit; - } - module2.exports = printUnit; - } -}); -var require_printer_postcss = __commonJS2({ - "src/language-css/printer-postcss.js"(exports2, module2) { - "use strict"; - var getLast = require_get_last(); - var { - printNumber, - printString, - hasNewline, - isFrontMatterNode, - isNextLineEmpty, - isNonEmptyArray - } = require_util(); - var { - builders: { - join, - line, - hardline, - softline, - group, - fill, - indent, - dedent, - ifBreak, - breakParent - }, - utils: { - removeLines, - getDocParts - } - } = require("./doc.js"); - var clean = require_clean2(); - var embed = require_embed2(); - var { - insertPragma - } = require_pragma2(); - var { - getAncestorNode, - getPropOfDeclNode, - maybeToLowerCase, - insideValueFunctionNode, - insideICSSRuleNode, - insideAtRuleNode, - insideURLFunctionInImportAtRuleNode, - isKeyframeAtRuleKeywords, - isWideKeywords, - isLastNode, - isSCSSControlDirectiveNode, - isDetachedRulesetDeclarationNode, - isRelationalOperatorNode, - isEqualityOperatorNode, - isMultiplicationNode, - isDivisionNode, - isAdditionNode, - isSubtractionNode, - isMathOperatorNode, - isEachKeywordNode, - isForKeywordNode, - isURLFunctionNode, - isIfElseKeywordNode, - hasComposesNode, - hasParensAroundNode, - hasEmptyRawBefore, - isKeyValuePairNode, - isKeyInValuePairNode, - isDetachedRulesetCallNode, - isTemplatePlaceholderNode, - isTemplatePropNode, - isPostcssSimpleVarNode, - isSCSSMapItemNode, - isInlineValueCommentNode, - isHashNode, - isLeftCurlyBraceNode, - isRightCurlyBraceNode, - isWordNode, - isColonNode, - isMediaAndSupportsKeywords, - isColorAdjusterFuncNode, - lastLineHasInlineComment, - isAtWordPlaceholderNode, - isConfigurationNode, - isParenGroupNode - } = require_utils8(); - var { - locStart, - locEnd - } = require_loc2(); - var isLessParser = require_is_less_parser(); - var isSCSS = require_is_scss(); - var printUnit = require_print_unit(); - function shouldPrintComma(options) { - return options.trailingComma === "es5" || options.trailingComma === "all"; - } - function genericPrint(path, options, print) { - const node = path.getValue(); - if (!node) { - return ""; - } - if (typeof node === "string") { - return node; - } - switch (node.type) { - case "front-matter": - return [node.raw, hardline]; - case "css-root": { - const nodes = printNodeSequence(path, options, print); - let after = node.raws.after.trim(); - if (after.startsWith(";")) { - after = after.slice(1).trim(); - } - return [nodes, after ? ` ${after}` : "", getDocParts(nodes).length > 0 ? hardline : ""]; - } - case "css-comment": { - const isInlineComment = node.inline || node.raws.inline; - const text = options.originalText.slice(locStart(node), locEnd(node)); - return isInlineComment ? text.trimEnd() : text; - } - case "css-rule": { - return [print("selector"), node.important ? " !important" : "", node.nodes ? [node.selector && node.selector.type === "selector-unknown" && lastLineHasInlineComment(node.selector.value) ? line : " ", "{", node.nodes.length > 0 ? indent([hardline, printNodeSequence(path, options, print)]) : "", hardline, "}", isDetachedRulesetDeclarationNode(node) ? ";" : ""] : ";"]; - } - case "css-decl": { - const parentNode = path.getParentNode(); - const { - between: rawBetween - } = node.raws; - const trimmedBetween = rawBetween.trim(); - const isColon = trimmedBetween === ":"; - let value = hasComposesNode(node) ? removeLines(print("value")) : print("value"); - if (!isColon && lastLineHasInlineComment(trimmedBetween)) { - value = indent([hardline, dedent(value)]); - } - return [node.raws.before.replace(/[\s;]/g, ""), parentNode.type === "css-atrule" && parentNode.variable || insideICSSRuleNode(path) ? node.prop : maybeToLowerCase(node.prop), trimmedBetween.startsWith("//") ? " " : "", trimmedBetween, node.extend ? "" : " ", isLessParser(options) && node.extend && node.selector ? ["extend(", print("selector"), ")"] : "", value, node.raws.important ? node.raws.important.replace(/\s*!\s*important/i, " !important") : node.important ? " !important" : "", node.raws.scssDefault ? node.raws.scssDefault.replace(/\s*!default/i, " !default") : node.scssDefault ? " !default" : "", node.raws.scssGlobal ? node.raws.scssGlobal.replace(/\s*!global/i, " !global") : node.scssGlobal ? " !global" : "", node.nodes ? [" {", indent([softline, printNodeSequence(path, options, print)]), softline, "}"] : isTemplatePropNode(node) && !parentNode.raws.semicolon && options.originalText[locEnd(node) - 1] !== ";" ? "" : options.__isHTMLStyleAttribute && isLastNode(path, node) ? ifBreak(";") : ";"]; - } - case "css-atrule": { - const parentNode = path.getParentNode(); - const isTemplatePlaceholderNodeWithoutSemiColon = isTemplatePlaceholderNode(node) && !parentNode.raws.semicolon && options.originalText[locEnd(node) - 1] !== ";"; - if (isLessParser(options)) { - if (node.mixin) { - return [print("selector"), node.important ? " !important" : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; - } - if (node.function) { - return [node.name, print("params"), isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; - } - if (node.variable) { - return ["@", node.name, ": ", node.value ? print("value") : "", node.raws.between.trim() ? node.raws.between.trim() + " " : "", node.nodes ? ["{", indent([node.nodes.length > 0 ? softline : "", printNodeSequence(path, options, print)]), softline, "}"] : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; - } - } - return ["@", isDetachedRulesetCallNode(node) || node.name.endsWith(":") ? node.name : maybeToLowerCase(node.name), node.params ? [isDetachedRulesetCallNode(node) ? "" : isTemplatePlaceholderNode(node) ? node.raws.afterName === "" ? "" : node.name.endsWith(":") ? " " : /^\s*\n\s*\n/.test(node.raws.afterName) ? [hardline, hardline] : /^\s*\n/.test(node.raws.afterName) ? hardline : " " : " ", print("params")] : "", node.selector ? indent([" ", print("selector")]) : "", node.value ? group([" ", print("value"), isSCSSControlDirectiveNode(node) ? hasParensAroundNode(node) ? " " : line : ""]) : node.name === "else" ? " " : "", node.nodes ? [isSCSSControlDirectiveNode(node) ? "" : node.selector && !node.selector.nodes && typeof node.selector.value === "string" && lastLineHasInlineComment(node.selector.value) || !node.selector && typeof node.params === "string" && lastLineHasInlineComment(node.params) ? line : " ", "{", indent([node.nodes.length > 0 ? softline : "", printNodeSequence(path, options, print)]), softline, "}"] : isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; - } - case "media-query-list": { - const parts = []; - path.each((childPath) => { - const node2 = childPath.getValue(); - if (node2.type === "media-query" && node2.value === "") { - return; - } - parts.push(print()); - }, "nodes"); - return group(indent(join(line, parts))); - } - case "media-query": { - return [join(" ", path.map(print, "nodes")), isLastNode(path, node) ? "" : ","]; - } - case "media-type": { - return adjustNumbers(adjustStrings(node.value, options)); - } - case "media-feature-expression": { - if (!node.nodes) { - return node.value; - } - return ["(", ...path.map(print, "nodes"), ")"]; - } - case "media-feature": { - return maybeToLowerCase(adjustStrings(node.value.replace(/ +/g, " "), options)); - } - case "media-colon": { - return [node.value, " "]; - } - case "media-value": { - return adjustNumbers(adjustStrings(node.value, options)); - } - case "media-keyword": { - return adjustStrings(node.value, options); - } - case "media-url": { - return adjustStrings(node.value.replace(/^url\(\s+/gi, "url(").replace(/\s+\)$/g, ")"), options); - } - case "media-unknown": { - return node.value; - } - case "selector-root": { - return group([insideAtRuleNode(path, "custom-selector") ? [getAncestorNode(path, "css-atrule").customSelector, line] : "", join([",", insideAtRuleNode(path, ["extend", "custom-selector", "nest"]) ? line : hardline], path.map(print, "nodes"))]); - } - case "selector-selector": { - return group(indent(path.map(print, "nodes"))); - } - case "selector-comment": { - return node.value; - } - case "selector-string": { - return adjustStrings(node.value, options); - } - case "selector-tag": { - const parentNode = path.getParentNode(); - const index = parentNode && parentNode.nodes.indexOf(node); - const prevNode = index && parentNode.nodes[index - 1]; - return [node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", prevNode.type === "selector-nesting" ? node.value : adjustNumbers(isKeyframeAtRuleKeywords(path, node.value) ? node.value.toLowerCase() : node.value)]; - } - case "selector-id": { - return ["#", node.value]; - } - case "selector-class": { - return [".", adjustNumbers(adjustStrings(node.value, options))]; - } - case "selector-attribute": { - var _node$operator; - return ["[", node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", node.attribute.trim(), (_node$operator = node.operator) !== null && _node$operator !== void 0 ? _node$operator : "", node.value ? quoteAttributeValue(adjustStrings(node.value.trim(), options), options) : "", node.insensitive ? " i" : "", "]"]; - } - case "selector-combinator": { - if (node.value === "+" || node.value === ">" || node.value === "~" || node.value === ">>>") { - const parentNode = path.getParentNode(); - const leading2 = parentNode.type === "selector-selector" && parentNode.nodes[0] === node ? "" : line; - return [leading2, node.value, isLastNode(path, node) ? "" : " "]; - } - const leading = node.value.trim().startsWith("(") ? line : ""; - const value = adjustNumbers(adjustStrings(node.value.trim(), options)) || line; - return [leading, value]; - } - case "selector-universal": { - return [node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", node.value]; - } - case "selector-pseudo": { - return [maybeToLowerCase(node.value), isNonEmptyArray(node.nodes) ? group(["(", indent([softline, join([",", line], path.map(print, "nodes"))]), softline, ")"]) : ""]; - } - case "selector-nesting": { - return node.value; - } - case "selector-unknown": { - const ruleAncestorNode = getAncestorNode(path, "css-rule"); - if (ruleAncestorNode && ruleAncestorNode.isSCSSNesterProperty) { - return adjustNumbers(adjustStrings(maybeToLowerCase(node.value), options)); - } - const parentNode = path.getParentNode(); - if (parentNode.raws && parentNode.raws.selector) { - const start = locStart(parentNode); - const end = start + parentNode.raws.selector.length; - return options.originalText.slice(start, end).trim(); - } - const grandParent = path.getParentNode(1); - if (parentNode.type === "value-paren_group" && grandParent && grandParent.type === "value-func" && grandParent.value === "selector") { - const start = locEnd(parentNode.open) + 1; - const end = locStart(parentNode.close); - const selector = options.originalText.slice(start, end).trim(); - return lastLineHasInlineComment(selector) ? [breakParent, selector] : selector; - } - return node.value; - } - case "value-value": - case "value-root": { - return print("group"); - } - case "value-comment": { - return options.originalText.slice(locStart(node), locEnd(node)); - } - case "value-comma_group": { - const parentNode = path.getParentNode(); - const parentParentNode = path.getParentNode(1); - const declAncestorProp = getPropOfDeclNode(path); - const isGridValue = declAncestorProp && parentNode.type === "value-value" && (declAncestorProp === "grid" || declAncestorProp.startsWith("grid-template")); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - const isControlDirective = atRuleAncestorNode && isSCSSControlDirectiveNode(atRuleAncestorNode); - const hasInlineComment = node.groups.some((node2) => isInlineValueCommentNode(node2)); - const printed = path.map(print, "groups"); - const parts = []; - const insideURLFunction = insideValueFunctionNode(path, "url"); - let insideSCSSInterpolationInString = false; - let didBreak = false; - for (let i = 0; i < node.groups.length; ++i) { - var _iNode$value; - parts.push(printed[i]); - const iPrevNode = node.groups[i - 1]; - const iNode = node.groups[i]; - const iNextNode = node.groups[i + 1]; - const iNextNextNode = node.groups[i + 2]; - if (insideURLFunction) { - if (iNextNode && isAdditionNode(iNextNode) || isAdditionNode(iNode)) { - parts.push(" "); - } - continue; - } - if (insideAtRuleNode(path, "forward") && iNode.type === "value-word" && iNode.value && iPrevNode !== void 0 && iPrevNode.type === "value-word" && iPrevNode.value === "as" && iNextNode.type === "value-operator" && iNextNode.value === "*") { - continue; - } - if (!iNextNode) { - continue; - } - if (iNode.type === "value-word" && iNode.value.endsWith("-") && isAtWordPlaceholderNode(iNextNode)) { - continue; - } - if (iNode.type === "value-string" && iNode.quoted) { - const positionOfOpeningInterpolation = iNode.value.lastIndexOf("#{"); - const positionOfClosingInterpolation = iNode.value.lastIndexOf("}"); - if (positionOfOpeningInterpolation !== -1 && positionOfClosingInterpolation !== -1) { - insideSCSSInterpolationInString = positionOfOpeningInterpolation > positionOfClosingInterpolation; - } else if (positionOfOpeningInterpolation !== -1) { - insideSCSSInterpolationInString = true; - } else if (positionOfClosingInterpolation !== -1) { - insideSCSSInterpolationInString = false; - } - } - if (insideSCSSInterpolationInString) { - continue; - } - if (isColonNode(iNode) || isColonNode(iNextNode)) { - continue; - } - if (iNode.type === "value-atword" && (iNode.value === "" || iNode.value.endsWith("["))) { - continue; - } - if (iNextNode.type === "value-word" && iNextNode.value.startsWith("]")) { - continue; - } - if (iNode.value === "~") { - continue; - } - if (iNode.value && iNode.value.includes("\\") && iNextNode && iNextNode.type !== "value-comment") { - continue; - } - if (iPrevNode && iPrevNode.value && iPrevNode.value.indexOf("\\") === iPrevNode.value.length - 1 && iNode.type === "value-operator" && iNode.value === "/") { - continue; - } - if (iNode.value === "\\") { - continue; - } - if (isPostcssSimpleVarNode(iNode, iNextNode)) { - continue; - } - if (isHashNode(iNode) || isLeftCurlyBraceNode(iNode) || isRightCurlyBraceNode(iNextNode) || isLeftCurlyBraceNode(iNextNode) && hasEmptyRawBefore(iNextNode) || isRightCurlyBraceNode(iNode) && hasEmptyRawBefore(iNextNode)) { - continue; - } - if (iNode.value === "--" && isHashNode(iNextNode)) { - continue; - } - const isMathOperator = isMathOperatorNode(iNode); - const isNextMathOperator = isMathOperatorNode(iNextNode); - if ((isMathOperator && isHashNode(iNextNode) || isNextMathOperator && isRightCurlyBraceNode(iNode)) && hasEmptyRawBefore(iNextNode)) { - continue; - } - if (!iPrevNode && isDivisionNode(iNode)) { - continue; - } - if (insideValueFunctionNode(path, "calc") && (isAdditionNode(iNode) || isAdditionNode(iNextNode) || isSubtractionNode(iNode) || isSubtractionNode(iNextNode)) && hasEmptyRawBefore(iNextNode)) { - continue; - } - const isColorAdjusterNode = (isAdditionNode(iNode) || isSubtractionNode(iNode)) && i === 0 && (iNextNode.type === "value-number" || iNextNode.isHex) && parentParentNode && isColorAdjusterFuncNode(parentParentNode) && !hasEmptyRawBefore(iNextNode); - const requireSpaceBeforeOperator = iNextNextNode && iNextNextNode.type === "value-func" || iNextNextNode && isWordNode(iNextNextNode) || iNode.type === "value-func" || isWordNode(iNode); - const requireSpaceAfterOperator = iNextNode.type === "value-func" || isWordNode(iNextNode) || iPrevNode && iPrevNode.type === "value-func" || iPrevNode && isWordNode(iPrevNode); - if (!(isMultiplicationNode(iNextNode) || isMultiplicationNode(iNode)) && !insideValueFunctionNode(path, "calc") && !isColorAdjusterNode && (isDivisionNode(iNextNode) && !requireSpaceBeforeOperator || isDivisionNode(iNode) && !requireSpaceAfterOperator || isAdditionNode(iNextNode) && !requireSpaceBeforeOperator || isAdditionNode(iNode) && !requireSpaceAfterOperator || isSubtractionNode(iNextNode) || isSubtractionNode(iNode)) && (hasEmptyRawBefore(iNextNode) || isMathOperator && (!iPrevNode || iPrevNode && isMathOperatorNode(iPrevNode)))) { - continue; - } - if ((options.parser === "scss" || options.parser === "less") && isMathOperator && iNode.value === "-" && isParenGroupNode(iNextNode) && locEnd(iNode) === locStart(iNextNode.open) && iNextNode.open.value === "(") { - continue; - } - if (isInlineValueCommentNode(iNode)) { - if (parentNode.type === "value-paren_group") { - parts.push(dedent(hardline)); - continue; - } - parts.push(hardline); - continue; - } - if (isControlDirective && (isEqualityOperatorNode(iNextNode) || isRelationalOperatorNode(iNextNode) || isIfElseKeywordNode(iNextNode) || isEachKeywordNode(iNode) || isForKeywordNode(iNode))) { - parts.push(" "); - continue; - } - if (atRuleAncestorNode && atRuleAncestorNode.name.toLowerCase() === "namespace") { - parts.push(" "); - continue; - } - if (isGridValue) { - if (iNode.source && iNextNode.source && iNode.source.start.line !== iNextNode.source.start.line) { - parts.push(hardline); - didBreak = true; - } else { - parts.push(" "); - } - continue; - } - if (isNextMathOperator) { - parts.push(" "); - continue; - } - if (iNextNode && iNextNode.value === "...") { - continue; - } - if (isAtWordPlaceholderNode(iNode) && isAtWordPlaceholderNode(iNextNode) && locEnd(iNode) === locStart(iNextNode)) { - continue; - } - if (isAtWordPlaceholderNode(iNode) && isParenGroupNode(iNextNode) && locEnd(iNode) === locStart(iNextNode.open)) { - parts.push(softline); - continue; - } - if (iNode.value === "with" && isParenGroupNode(iNextNode)) { - parts.push(" "); - continue; - } - if ((_iNode$value = iNode.value) !== null && _iNode$value !== void 0 && _iNode$value.endsWith("#") && iNextNode.value === "{" && isParenGroupNode(iNextNode.group)) { - continue; - } - parts.push(line); - } - if (hasInlineComment) { - parts.push(breakParent); - } - if (didBreak) { - parts.unshift(hardline); - } - if (isControlDirective) { - return group(indent(parts)); - } - if (insideURLFunctionInImportAtRuleNode(path)) { - return group(fill(parts)); - } - return group(indent(fill(parts))); - } - case "value-paren_group": { - const parentNode = path.getParentNode(); - if (parentNode && isURLFunctionNode(parentNode) && (node.groups.length === 1 || node.groups.length > 0 && node.groups[0].type === "value-comma_group" && node.groups[0].groups.length > 0 && node.groups[0].groups[0].type === "value-word" && node.groups[0].groups[0].value.startsWith("data:"))) { - return [node.open ? print("open") : "", join(",", path.map(print, "groups")), node.close ? print("close") : ""]; - } - if (!node.open) { - const printed2 = path.map(print, "groups"); - const res = []; - for (let i = 0; i < printed2.length; i++) { - if (i !== 0) { - res.push([",", line]); - } - res.push(printed2[i]); - } - return group(indent(fill(res))); - } - const isSCSSMapItem = isSCSSMapItemNode(path); - const lastItem = getLast(node.groups); - const isLastItemComment = lastItem && lastItem.type === "value-comment"; - const isKey = isKeyInValuePairNode(node, parentNode); - const isConfiguration = isConfigurationNode(node, parentNode); - const shouldBreak = isConfiguration || isSCSSMapItem && !isKey; - const shouldDedent = isConfiguration || isKey; - const printed = group([node.open ? print("open") : "", indent([softline, join([line], path.map((childPath, index) => { - const child = childPath.getValue(); - const isLast = index === node.groups.length - 1; - let printed2 = [print(), isLast ? "" : ","]; - if (isKeyValuePairNode(child) && child.type === "value-comma_group" && child.groups && child.groups[0].type !== "value-paren_group" && child.groups[2] && child.groups[2].type === "value-paren_group") { - const parts = getDocParts(printed2[0].contents.contents); - parts[1] = group(parts[1]); - printed2 = [group(dedent(printed2))]; - } - if (!isLast && child.type === "value-comma_group" && isNonEmptyArray(child.groups)) { - let last = getLast(child.groups); - if (!last.source && last.close) { - last = last.close; - } - if (last.source && isNextLineEmpty(options.originalText, last, locEnd)) { - printed2.push(hardline); - } - } - return printed2; - }, "groups"))]), ifBreak(!isLastItemComment && isSCSS(options.parser, options.originalText) && isSCSSMapItem && shouldPrintComma(options) ? "," : ""), softline, node.close ? print("close") : ""], { - shouldBreak - }); - return shouldDedent ? dedent(printed) : printed; - } - case "value-func": { - return [node.value, insideAtRuleNode(path, "supports") && isMediaAndSupportsKeywords(node) ? " " : "", print("group")]; - } - case "value-paren": { - return node.value; - } - case "value-number": { - return [printCssNumber(node.value), printUnit(node.unit)]; - } - case "value-operator": { - return node.value; - } - case "value-word": { - if (node.isColor && node.isHex || isWideKeywords(node.value)) { - return node.value.toLowerCase(); - } - return node.value; - } - case "value-colon": { - const parentNode = path.getParentNode(); - const index = parentNode && parentNode.groups.indexOf(node); - const prevNode = index && parentNode.groups[index - 1]; - return [node.value, prevNode && typeof prevNode.value === "string" && getLast(prevNode.value) === "\\" || insideValueFunctionNode(path, "url") ? "" : line]; - } - case "value-comma": { - return [node.value, " "]; - } - case "value-string": { - return printString(node.raws.quote + node.value + node.raws.quote, options); - } - case "value-atword": { - return ["@", node.value]; - } - case "value-unicode-range": { - return node.value; - } - case "value-unknown": { - return node.value; - } - default: - throw new Error(`Unknown postcss type ${JSON.stringify(node.type)}`); - } - } - function printNodeSequence(path, options, print) { - const parts = []; - path.each((pathChild, i, nodes) => { - const prevNode = nodes[i - 1]; - if (prevNode && prevNode.type === "css-comment" && prevNode.text.trim() === "prettier-ignore") { - const childNode = pathChild.getValue(); - parts.push(options.originalText.slice(locStart(childNode), locEnd(childNode))); - } else { - parts.push(print()); - } - if (i !== nodes.length - 1) { - if (nodes[i + 1].type === "css-comment" && !hasNewline(options.originalText, locStart(nodes[i + 1]), { - backwards: true - }) && !isFrontMatterNode(nodes[i]) || nodes[i + 1].type === "css-atrule" && nodes[i + 1].name === "else" && nodes[i].type !== "css-comment") { - parts.push(" "); - } else { - parts.push(options.__isHTMLStyleAttribute ? line : hardline); - if (isNextLineEmpty(options.originalText, pathChild.getValue(), locEnd) && !isFrontMatterNode(nodes[i])) { - parts.push(hardline); - } - } - } - }, "nodes"); - return parts; - } - var STRING_REGEX = /(["'])(?:(?!\1)[^\\]|\\.)*\1/gs; - var NUMBER_REGEX = /(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g; - var STANDARD_UNIT_REGEX = /[A-Za-z]+/g; - var WORD_PART_REGEX = /[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g; - var ADJUST_NUMBERS_REGEX = new RegExp(STRING_REGEX.source + `|(${WORD_PART_REGEX.source})?(${NUMBER_REGEX.source})(${STANDARD_UNIT_REGEX.source})?`, "g"); - function adjustStrings(value, options) { - return value.replace(STRING_REGEX, (match) => printString(match, options)); - } - function quoteAttributeValue(value, options) { - const quote = options.singleQuote ? "'" : '"'; - return value.includes('"') || value.includes("'") ? value : quote + value + quote; - } - function adjustNumbers(value) { - return value.replace(ADJUST_NUMBERS_REGEX, (match, quote, wordPart, number, unit) => !wordPart && number ? printCssNumber(number) + maybeToLowerCase(unit || "") : match); - } - function printCssNumber(rawNumber) { - return printNumber(rawNumber).replace(/\.0(?=$|e)/, ""); - } - module2.exports = { - print: genericPrint, - embed, - insertPragma, - massageAstNode: clean - }; - } -}); -var require_options3 = __commonJS2({ - "src/language-css/options.js"(exports2, module2) { - "use strict"; - var commonOptions = require_common_options(); - module2.exports = { - singleQuote: commonOptions.singleQuote - }; - } -}); -var require_parsers2 = __commonJS2({ - "src/language-css/parsers.js"(exports2, module2) { - "use strict"; - module2.exports = { - get css() { - return require("./parser-postcss.js").parsers.css; - }, - get less() { - return require("./parser-postcss.js").parsers.less; - }, - get scss() { - return require("./parser-postcss.js").parsers.scss; - } - }; - } -}); -var require_CSS = __commonJS2({ - "node_modules/linguist-languages/data/CSS.json"(exports2, module2) { - module2.exports = { - name: "CSS", - type: "markup", - tmScope: "source.css", - aceMode: "css", - codemirrorMode: "css", - codemirrorMimeType: "text/css", - color: "#563d7c", - extensions: [".css"], - languageId: 50 - }; - } -}); -var require_PostCSS = __commonJS2({ - "node_modules/linguist-languages/data/PostCSS.json"(exports2, module2) { - module2.exports = { - name: "PostCSS", - type: "markup", - color: "#dc3a0c", - tmScope: "source.postcss", - group: "CSS", - extensions: [".pcss", ".postcss"], - aceMode: "text", - languageId: 262764437 - }; - } -}); -var require_Less = __commonJS2({ - "node_modules/linguist-languages/data/Less.json"(exports2, module2) { - module2.exports = { - name: "Less", - type: "markup", - color: "#1d365d", - aliases: ["less-css"], - extensions: [".less"], - tmScope: "source.css.less", - aceMode: "less", - codemirrorMode: "css", - codemirrorMimeType: "text/css", - languageId: 198 - }; - } -}); -var require_SCSS = __commonJS2({ - "node_modules/linguist-languages/data/SCSS.json"(exports2, module2) { - module2.exports = { - name: "SCSS", - type: "markup", - color: "#c6538c", - tmScope: "source.css.scss", - aceMode: "scss", - codemirrorMode: "css", - codemirrorMimeType: "text/x-scss", - extensions: [".scss"], - languageId: 329 - }; - } -}); -var require_language_css = __commonJS2({ - "src/language-css/index.js"(exports2, module2) { - "use strict"; - var createLanguage = require_create_language(); - var printer = require_printer_postcss(); - var options = require_options3(); - var parsers = require_parsers2(); - var languages = [createLanguage(require_CSS(), (data) => ({ - since: "1.4.0", - parsers: ["css"], - vscodeLanguageIds: ["css"], - extensions: [...data.extensions, ".wxss"] - })), createLanguage(require_PostCSS(), () => ({ - since: "1.4.0", - parsers: ["css"], - vscodeLanguageIds: ["postcss"] - })), createLanguage(require_Less(), () => ({ - since: "1.4.0", - parsers: ["less"], - vscodeLanguageIds: ["less"] - })), createLanguage(require_SCSS(), () => ({ - since: "1.4.0", - parsers: ["scss"], - vscodeLanguageIds: ["scss"] - }))]; - var printers = { - postcss: printer - }; - module2.exports = { - languages, - options, - printers, - parsers - }; - } -}); -var require_loc3 = __commonJS2({ - "src/language-handlebars/loc.js"(exports2, module2) { - "use strict"; - function locStart(node) { - return node.loc.start.offset; - } - function locEnd(node) { - return node.loc.end.offset; - } - module2.exports = { - locStart, - locEnd - }; - } -}); -var require_clean3 = __commonJS2({ - "src/language-handlebars/clean.js"(exports2, module2) { - "use strict"; - function clean(ast, newNode) { - if (ast.type === "TextNode") { - const trimmed = ast.chars.trim(); - if (!trimmed) { - return null; - } - newNode.chars = trimmed.replace(/[\t\n\f\r ]+/g, " "); - } - if (ast.type === "AttrNode" && ast.name.toLowerCase() === "class") { - delete newNode.value; - } - } - clean.ignoredProperties = /* @__PURE__ */ new Set(["loc", "selfClosing"]); - module2.exports = clean; - } -}); -var require_html_void_elements_evaluate = __commonJS2({ - "src/language-handlebars/html-void-elements.evaluate.js"(exports2, module2) { - module2.exports = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]; - } -}); -var require_utils9 = __commonJS2({ - "src/language-handlebars/utils.js"(exports2, module2) { - "use strict"; - var getLast = require_get_last(); - var htmlVoidElements = require_html_void_elements_evaluate(); - function isLastNodeOfSiblings(path) { - const node = path.getValue(); - const parentNode = path.getParentNode(0); - if (isParentOfSomeType(path, ["ElementNode"]) && getLast(parentNode.children) === node) { - return true; - } - if (isParentOfSomeType(path, ["Block"]) && getLast(parentNode.body) === node) { - return true; - } - return false; - } - function isUppercase(string) { - return string.toUpperCase() === string; - } - function isGlimmerComponent(node) { - return isNodeOfSomeType(node, ["ElementNode"]) && typeof node.tag === "string" && !node.tag.startsWith(":") && (isUppercase(node.tag[0]) || node.tag.includes(".")); - } - var voidTags = new Set(htmlVoidElements); - function isVoidTag(tag) { - return voidTags.has(tag.toLowerCase()) && !isUppercase(tag[0]); - } - function isVoid(node) { - return node.selfClosing === true || isVoidTag(node.tag) || isGlimmerComponent(node) && node.children.every((node2) => isWhitespaceNode(node2)); - } - function isWhitespaceNode(node) { - return isNodeOfSomeType(node, ["TextNode"]) && !/\S/.test(node.chars); - } - function isNodeOfSomeType(node, types) { - return node && types.includes(node.type); - } - function isParentOfSomeType(path, types) { - const parentNode = path.getParentNode(0); - return isNodeOfSomeType(parentNode, types); - } - function isPreviousNodeOfSomeType(path, types) { - const previousNode = getPreviousNode(path); - return isNodeOfSomeType(previousNode, types); - } - function isNextNodeOfSomeType(path, types) { - const nextNode = getNextNode(path); - return isNodeOfSomeType(nextNode, types); - } - function getSiblingNode(path, offset) { - var _path$getParentNode2, _ref7, _ref8, _parentNode$children; - const node = path.getValue(); - const parentNode = (_path$getParentNode2 = path.getParentNode(0)) !== null && _path$getParentNode2 !== void 0 ? _path$getParentNode2 : {}; - const children = (_ref7 = (_ref8 = (_parentNode$children = parentNode.children) !== null && _parentNode$children !== void 0 ? _parentNode$children : parentNode.body) !== null && _ref8 !== void 0 ? _ref8 : parentNode.parts) !== null && _ref7 !== void 0 ? _ref7 : []; - const index = children.indexOf(node); - return index !== -1 && children[index + offset]; - } - function getPreviousNode(path, lookBack = 1) { - return getSiblingNode(path, -lookBack); - } - function getNextNode(path) { - return getSiblingNode(path, 1); - } - function isPrettierIgnoreNode(node) { - return isNodeOfSomeType(node, ["MustacheCommentStatement"]) && typeof node.value === "string" && node.value.trim() === "prettier-ignore"; - } - function hasPrettierIgnore(path) { - const node = path.getValue(); - const previousPreviousNode = getPreviousNode(path, 2); - return isPrettierIgnoreNode(node) || isPrettierIgnoreNode(previousPreviousNode); - } - module2.exports = { - getNextNode, - getPreviousNode, - hasPrettierIgnore, - isLastNodeOfSiblings, - isNextNodeOfSomeType, - isNodeOfSomeType, - isParentOfSomeType, - isPreviousNodeOfSomeType, - isVoid, - isWhitespaceNode - }; - } -}); -var require_printer_glimmer = __commonJS2({ - "src/language-handlebars/printer-glimmer.js"(exports2, module2) { - "use strict"; - var { - builders: { - dedent, - fill, - group, - hardline, - ifBreak, - indent, - join, - line, - softline - }, - utils: { - getDocParts, - replaceTextEndOfLine - } - } = require("./doc.js"); - var { - getPreferredQuote, - isNonEmptyArray - } = require_util(); - var { - locStart, - locEnd - } = require_loc3(); - var clean = require_clean3(); - var { - getNextNode, - getPreviousNode, - hasPrettierIgnore, - isLastNodeOfSiblings, - isNextNodeOfSomeType, - isNodeOfSomeType, - isParentOfSomeType, - isPreviousNodeOfSomeType, - isVoid, - isWhitespaceNode - } = require_utils9(); - var NEWLINES_TO_PRESERVE_MAX = 2; - function print(path, options, print2) { - const node = path.getValue(); - if (!node) { - return ""; - } - if (hasPrettierIgnore(path)) { - return options.originalText.slice(locStart(node), locEnd(node)); - } - const favoriteQuote = options.singleQuote ? "'" : '"'; - switch (node.type) { - case "Block": - case "Program": - case "Template": { - return group(path.map(print2, "body")); - } - case "ElementNode": { - const startingTag = group(printStartingTag(path, print2)); - const escapeNextElementNode = options.htmlWhitespaceSensitivity === "ignore" && isNextNodeOfSomeType(path, ["ElementNode"]) ? softline : ""; - if (isVoid(node)) { - return [startingTag, escapeNextElementNode]; - } - const endingTag = [""]; - if (node.children.length === 0) { - return [startingTag, indent(endingTag), escapeNextElementNode]; - } - if (options.htmlWhitespaceSensitivity === "ignore") { - return [startingTag, indent(printChildren(path, options, print2)), hardline, indent(endingTag), escapeNextElementNode]; - } - return [startingTag, indent(group(printChildren(path, options, print2))), indent(endingTag), escapeNextElementNode]; - } - case "BlockStatement": { - const pp = path.getParentNode(1); - const isElseIfLike = pp && pp.inverse && pp.inverse.body.length === 1 && pp.inverse.body[0] === node && pp.inverse.body[0].path.parts[0] === pp.path.parts[0]; - if (isElseIfLike) { - return [printElseIfLikeBlock(path, print2, pp.inverse.body[0].path.parts[0]), printProgram(path, print2, options), printInverse(path, print2, options)]; - } - return [printOpenBlock(path, print2), group([printProgram(path, print2, options), printInverse(path, print2, options), printCloseBlock(path, print2, options)])]; - } - case "ElementModifierStatement": { - return group(["{{", printPathAndParams(path, print2), "}}"]); - } - case "MustacheStatement": { - return group([printOpeningMustache(node), printPathAndParams(path, print2), printClosingMustache(node)]); - } - case "SubExpression": { - return group(["(", printSubExpressionPathAndParams(path, print2), softline, ")"]); - } - case "AttrNode": { - const isText = node.value.type === "TextNode"; - const isEmptyText = isText && node.value.chars === ""; - if (isEmptyText && locStart(node.value) === locEnd(node.value)) { - return node.name; - } - const quote = isText ? getPreferredQuote(node.value.chars, favoriteQuote).quote : node.value.type === "ConcatStatement" ? getPreferredQuote(node.value.parts.filter((part) => part.type === "TextNode").map((part) => part.chars).join(""), favoriteQuote).quote : ""; - const valueDoc = print2("value"); - return [node.name, "=", quote, node.name === "class" && quote ? group(indent(valueDoc)) : valueDoc, quote]; - } - case "ConcatStatement": { - return path.map(print2, "parts"); - } - case "Hash": { - return join(line, path.map(print2, "pairs")); - } - case "HashPair": { - return [node.key, "=", print2("value")]; - } - case "TextNode": { - let text = node.chars.replace(/{{/g, "\\{{"); - const attrName = getCurrentAttributeName(path); - if (attrName) { - if (attrName === "class") { - const formattedClasses = text.trim().split(/\s+/).join(" "); - let leadingSpace2 = false; - let trailingSpace2 = false; - if (isParentOfSomeType(path, ["ConcatStatement"])) { - if (isPreviousNodeOfSomeType(path, ["MustacheStatement"]) && /^\s/.test(text)) { - leadingSpace2 = true; - } - if (isNextNodeOfSomeType(path, ["MustacheStatement"]) && /\s$/.test(text) && formattedClasses !== "") { - trailingSpace2 = true; - } - } - return [leadingSpace2 ? line : "", formattedClasses, trailingSpace2 ? line : ""]; - } - return replaceTextEndOfLine(text); - } - const whitespacesOnlyRE = /^[\t\n\f\r ]*$/; - const isWhitespaceOnly = whitespacesOnlyRE.test(text); - const isFirstElement = !getPreviousNode(path); - const isLastElement = !getNextNode(path); - if (options.htmlWhitespaceSensitivity !== "ignore") { - const leadingWhitespacesRE = /^[\t\n\f\r ]*/; - const trailingWhitespacesRE = /[\t\n\f\r ]*$/; - const shouldTrimTrailingNewlines = isLastElement && isParentOfSomeType(path, ["Template"]); - const shouldTrimLeadingNewlines = isFirstElement && isParentOfSomeType(path, ["Template"]); - if (isWhitespaceOnly) { - if (shouldTrimLeadingNewlines || shouldTrimTrailingNewlines) { - return ""; - } - let breaks = [line]; - const newlines = countNewLines(text); - if (newlines) { - breaks = generateHardlines(newlines); - } - if (isLastNodeOfSiblings(path)) { - breaks = breaks.map((newline) => dedent(newline)); - } - return breaks; - } - const [lead] = text.match(leadingWhitespacesRE); - const [tail] = text.match(trailingWhitespacesRE); - let leadBreaks = []; - if (lead) { - leadBreaks = [line]; - const leadingNewlines = countNewLines(lead); - if (leadingNewlines) { - leadBreaks = generateHardlines(leadingNewlines); - } - text = text.replace(leadingWhitespacesRE, ""); - } - let trailBreaks = []; - if (tail) { - if (!shouldTrimTrailingNewlines) { - trailBreaks = [line]; - const trailingNewlines = countNewLines(tail); - if (trailingNewlines) { - trailBreaks = generateHardlines(trailingNewlines); - } - if (isLastNodeOfSiblings(path)) { - trailBreaks = trailBreaks.map((hardline2) => dedent(hardline2)); - } - } - text = text.replace(trailingWhitespacesRE, ""); - } - return [...leadBreaks, fill(getTextValueParts(text)), ...trailBreaks]; - } - const lineBreaksCount = countNewLines(text); - let leadingLineBreaksCount = countLeadingNewLines(text); - let trailingLineBreaksCount = countTrailingNewLines(text); - if ((isFirstElement || isLastElement) && isWhitespaceOnly && isParentOfSomeType(path, ["Block", "ElementNode", "Template"])) { - return ""; - } - if (isWhitespaceOnly && lineBreaksCount) { - leadingLineBreaksCount = Math.min(lineBreaksCount, NEWLINES_TO_PRESERVE_MAX); - trailingLineBreaksCount = 0; - } else { - if (isNextNodeOfSomeType(path, ["BlockStatement", "ElementNode"])) { - trailingLineBreaksCount = Math.max(trailingLineBreaksCount, 1); - } - if (isPreviousNodeOfSomeType(path, ["BlockStatement", "ElementNode"])) { - leadingLineBreaksCount = Math.max(leadingLineBreaksCount, 1); - } - } - let leadingSpace = ""; - let trailingSpace = ""; - if (trailingLineBreaksCount === 0 && isNextNodeOfSomeType(path, ["MustacheStatement"])) { - trailingSpace = " "; - } - if (leadingLineBreaksCount === 0 && isPreviousNodeOfSomeType(path, ["MustacheStatement"])) { - leadingSpace = " "; - } - if (isFirstElement) { - leadingLineBreaksCount = 0; - leadingSpace = ""; - } - if (isLastElement) { - trailingLineBreaksCount = 0; - trailingSpace = ""; - } - text = text.replace(/^[\t\n\f\r ]+/g, leadingSpace).replace(/[\t\n\f\r ]+$/, trailingSpace); - return [...generateHardlines(leadingLineBreaksCount), fill(getTextValueParts(text)), ...generateHardlines(trailingLineBreaksCount)]; - } - case "MustacheCommentStatement": { - const start = locStart(node); - const end = locEnd(node); - const isLeftWhiteSpaceSensitive = options.originalText.charAt(start + 2) === "~"; - const isRightWhitespaceSensitive = options.originalText.charAt(end - 3) === "~"; - const dashes = node.value.includes("}}") ? "--" : ""; - return ["{{", isLeftWhiteSpaceSensitive ? "~" : "", "!", dashes, node.value, dashes, isRightWhitespaceSensitive ? "~" : "", "}}"]; - } - case "PathExpression": { - return node.original; - } - case "BooleanLiteral": { - return String(node.value); - } - case "CommentStatement": { - return [""]; - } - case "StringLiteral": { - if (needsOppositeQuote(path)) { - const printFavoriteQuote = !options.singleQuote ? "'" : '"'; - return printStringLiteral(node.value, printFavoriteQuote); - } - return printStringLiteral(node.value, favoriteQuote); - } - case "NumberLiteral": { - return String(node.value); - } - case "UndefinedLiteral": { - return "undefined"; - } - case "NullLiteral": { - return "null"; - } - default: - throw new Error("unknown glimmer type: " + JSON.stringify(node.type)); - } - } - function sortByLoc(a, b) { - return locStart(a) - locStart(b); - } - function printStartingTag(path, print2) { - const node = path.getValue(); - const types = ["attributes", "modifiers", "comments"].filter((property) => isNonEmptyArray(node[property])); - const attributes = types.flatMap((type) => node[type]).sort(sortByLoc); - for (const attributeType of types) { - path.each((attributePath) => { - const index = attributes.indexOf(attributePath.getValue()); - attributes.splice(index, 1, [line, print2()]); - }, attributeType); - } - if (isNonEmptyArray(node.blockParams)) { - attributes.push(line, printBlockParams(node)); - } - return ["<", node.tag, indent(attributes), printStartingTagEndMarker(node)]; - } - function printChildren(path, options, print2) { - const node = path.getValue(); - const isEmpty = node.children.every((node2) => isWhitespaceNode(node2)); - if (options.htmlWhitespaceSensitivity === "ignore" && isEmpty) { - return ""; - } - return path.map((childPath, childIndex) => { - const printedChild = print2(); - if (childIndex === 0 && options.htmlWhitespaceSensitivity === "ignore") { - return [softline, printedChild]; - } - return printedChild; - }, "children"); - } - function printStartingTagEndMarker(node) { - if (isVoid(node)) { - return ifBreak([softline, "/>"], [" />", softline]); - } - return ifBreak([softline, ">"], ">"); - } - function printOpeningMustache(node) { - const mustache = node.escaped === false ? "{{{" : "{{"; - const strip = node.strip && node.strip.open ? "~" : ""; - return [mustache, strip]; - } - function printClosingMustache(node) { - const mustache = node.escaped === false ? "}}}" : "}}"; - const strip = node.strip && node.strip.close ? "~" : ""; - return [strip, mustache]; - } - function printOpeningBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.openStrip.open ? "~" : ""; - return [opening, strip, "#"]; - } - function printOpeningBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.openStrip.close ? "~" : ""; - return [strip, closing]; - } - function printClosingBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.closeStrip.open ? "~" : ""; - return [opening, strip, "/"]; - } - function printClosingBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.closeStrip.close ? "~" : ""; - return [strip, closing]; - } - function printInverseBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.inverseStrip.open ? "~" : ""; - return [opening, strip]; - } - function printInverseBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.inverseStrip.close ? "~" : ""; - return [strip, closing]; - } - function printOpenBlock(path, print2) { - const node = path.getValue(); - const parts = []; - const paramsDoc = printParams(path, print2); - if (paramsDoc) { - parts.push(group(paramsDoc)); - } - if (isNonEmptyArray(node.program.blockParams)) { - parts.push(printBlockParams(node.program)); - } - return group([printOpeningBlockOpeningMustache(node), printPath(path, print2), parts.length > 0 ? indent([line, join(line, parts)]) : "", softline, printOpeningBlockClosingMustache(node)]); - } - function printElseBlock(node, options) { - return [options.htmlWhitespaceSensitivity === "ignore" ? hardline : "", printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)]; - } - function printElseIfLikeBlock(path, print2, ifLikeKeyword) { - const node = path.getValue(); - const parentNode = path.getParentNode(1); - return group([printInverseBlockOpeningMustache(parentNode), ["else", " ", ifLikeKeyword], indent([line, group(printParams(path, print2)), ...isNonEmptyArray(node.program.blockParams) ? [line, printBlockParams(node.program)] : []]), softline, printInverseBlockClosingMustache(parentNode)]); - } - function printCloseBlock(path, print2, options) { - const node = path.getValue(); - if (options.htmlWhitespaceSensitivity === "ignore") { - const escape = blockStatementHasOnlyWhitespaceInProgram(node) ? softline : hardline; - return [escape, printClosingBlockOpeningMustache(node), print2("path"), printClosingBlockClosingMustache(node)]; - } - return [printClosingBlockOpeningMustache(node), print2("path"), printClosingBlockClosingMustache(node)]; - } - function blockStatementHasOnlyWhitespaceInProgram(node) { - return isNodeOfSomeType(node, ["BlockStatement"]) && node.program.body.every((node2) => isWhitespaceNode(node2)); - } - function blockStatementHasElseIfLike(node) { - return blockStatementHasElse(node) && node.inverse.body.length === 1 && isNodeOfSomeType(node.inverse.body[0], ["BlockStatement"]) && node.inverse.body[0].path.parts[0] === node.path.parts[0]; - } - function blockStatementHasElse(node) { - return isNodeOfSomeType(node, ["BlockStatement"]) && node.inverse; - } - function printProgram(path, print2, options) { - const node = path.getValue(); - if (blockStatementHasOnlyWhitespaceInProgram(node)) { - return ""; - } - const program = print2("program"); - if (options.htmlWhitespaceSensitivity === "ignore") { - return indent([hardline, program]); - } - return indent(program); - } - function printInverse(path, print2, options) { - const node = path.getValue(); - const inverse = print2("inverse"); - const printed = options.htmlWhitespaceSensitivity === "ignore" ? [hardline, inverse] : inverse; - if (blockStatementHasElseIfLike(node)) { - return printed; - } - if (blockStatementHasElse(node)) { - return [printElseBlock(node, options), indent(printed)]; - } - return ""; - } - function getTextValueParts(value) { - return getDocParts(join(line, splitByHtmlWhitespace(value))); - } - function splitByHtmlWhitespace(string) { - return string.split(/[\t\n\f\r ]+/); - } - function getCurrentAttributeName(path) { - for (let depth = 0; depth < 2; depth++) { - const parentNode = path.getParentNode(depth); - if (parentNode && parentNode.type === "AttrNode") { - return parentNode.name.toLowerCase(); - } - } - } - function countNewLines(string) { - string = typeof string === "string" ? string : ""; - return string.split("\n").length - 1; - } - function countLeadingNewLines(string) { - string = typeof string === "string" ? string : ""; - const newLines = (string.match(/^([^\S\n\r]*[\n\r])+/g) || [])[0] || ""; - return countNewLines(newLines); - } - function countTrailingNewLines(string) { - string = typeof string === "string" ? string : ""; - const newLines = (string.match(/([\n\r][^\S\n\r]*)+$/g) || [])[0] || ""; - return countNewLines(newLines); - } - function generateHardlines(number = 0) { - return Array.from({ - length: Math.min(number, NEWLINES_TO_PRESERVE_MAX) - }).fill(hardline); - } - function printStringLiteral(stringLiteral, favoriteQuote) { - const { - quote, - regex - } = getPreferredQuote(stringLiteral, favoriteQuote); - return [quote, stringLiteral.replace(regex, `\\${quote}`), quote]; - } - function needsOppositeQuote(path) { - let index = 0; - let parentNode = path.getParentNode(index); - while (parentNode && isNodeOfSomeType(parentNode, ["SubExpression"])) { - index++; - parentNode = path.getParentNode(index); - } - if (parentNode && isNodeOfSomeType(path.getParentNode(index + 1), ["ConcatStatement"]) && isNodeOfSomeType(path.getParentNode(index + 2), ["AttrNode"])) { - return true; - } - return false; - } - function printSubExpressionPathAndParams(path, print2) { - const printed = printPath(path, print2); - const params = printParams(path, print2); - if (!params) { - return printed; - } - return indent([printed, line, group(params)]); - } - function printPathAndParams(path, print2) { - const p = printPath(path, print2); - const params = printParams(path, print2); - if (!params) { - return p; - } - return [indent([p, line, params]), softline]; - } - function printPath(path, print2) { - return print2("path"); - } - function printParams(path, print2) { - const node = path.getValue(); - const parts = []; - if (node.params.length > 0) { - const params = path.map(print2, "params"); - parts.push(...params); - } - if (node.hash && node.hash.pairs.length > 0) { - const hash = print2("hash"); - parts.push(hash); - } - if (parts.length === 0) { - return ""; - } - return join(line, parts); - } - function printBlockParams(node) { - return ["as |", node.blockParams.join(" "), "|"]; - } - module2.exports = { - print, - massageAstNode: clean - }; - } -}); -var require_parsers3 = __commonJS2({ - "src/language-handlebars/parsers.js"(exports2, module2) { - "use strict"; - module2.exports = { - get glimmer() { - return require("./parser-glimmer.js").parsers.glimmer; - } - }; - } -}); -var require_Handlebars = __commonJS2({ - "node_modules/linguist-languages/data/Handlebars.json"(exports2, module2) { - module2.exports = { - name: "Handlebars", - type: "markup", - color: "#f7931e", - aliases: ["hbs", "htmlbars"], - extensions: [".handlebars", ".hbs"], - tmScope: "text.html.handlebars", - aceMode: "handlebars", - languageId: 155 - }; - } -}); -var require_language_handlebars = __commonJS2({ - "src/language-handlebars/index.js"(exports2, module2) { - "use strict"; - var createLanguage = require_create_language(); - var printer = require_printer_glimmer(); - var parsers = require_parsers3(); - var languages = [createLanguage(require_Handlebars(), () => ({ - since: "2.3.0", - parsers: ["glimmer"], - vscodeLanguageIds: ["handlebars"] - }))]; - var printers = { - glimmer: printer - }; - module2.exports = { - languages, - printers, - parsers - }; - } -}); -var require_pragma3 = __commonJS2({ - "src/language-graphql/pragma.js"(exports2, module2) { - "use strict"; - function hasPragma(text) { - return /^\s*#[^\S\n]*@(?:format|prettier)\s*(?:\n|$)/.test(text); - } - function insertPragma(text) { - return "# @format\n\n" + text; - } - module2.exports = { - hasPragma, - insertPragma - }; - } -}); -var require_loc4 = __commonJS2({ - "src/language-graphql/loc.js"(exports2, module2) { - "use strict"; - function locStart(node) { - if (typeof node.start === "number") { - return node.start; - } - return node.loc && node.loc.start; - } - function locEnd(node) { - if (typeof node.end === "number") { - return node.end; - } - return node.loc && node.loc.end; - } - module2.exports = { - locStart, - locEnd - }; - } -}); -var require_printer_graphql = __commonJS2({ - "src/language-graphql/printer-graphql.js"(exports2, module2) { - "use strict"; - var { - builders: { - join, - hardline, - line, - softline, - group, - indent, - ifBreak - } - } = require("./doc.js"); - var { - isNextLineEmpty, - isNonEmptyArray - } = require_util(); - var { - insertPragma - } = require_pragma3(); - var { - locStart, - locEnd - } = require_loc4(); - function genericPrint(path, options, print) { - const node = path.getValue(); - if (!node) { - return ""; - } - if (typeof node === "string") { - return node; - } - switch (node.kind) { - case "Document": { - const parts = []; - path.each((pathChild, index, definitions) => { - parts.push(print()); - if (index !== definitions.length - 1) { - parts.push(hardline); - if (isNextLineEmpty(options.originalText, pathChild.getValue(), locEnd)) { - parts.push(hardline); - } - } - }, "definitions"); - return [...parts, hardline]; - } - case "OperationDefinition": { - const hasOperation = options.originalText[locStart(node)] !== "{"; - const hasName = Boolean(node.name); - return [hasOperation ? node.operation : "", hasOperation && hasName ? [" ", print("name")] : "", hasOperation && !hasName && isNonEmptyArray(node.variableDefinitions) ? " " : "", isNonEmptyArray(node.variableDefinitions) ? group(["(", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "variableDefinitions"))]), softline, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? !hasOperation && !hasName ? "" : " " : "", print("selectionSet")]; - } - case "FragmentDefinition": { - return ["fragment ", print("name"), isNonEmptyArray(node.variableDefinitions) ? group(["(", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "variableDefinitions"))]), softline, ")"]) : "", " on ", print("typeCondition"), printDirectives(path, print, node), " ", print("selectionSet")]; - } - case "SelectionSet": { - return ["{", indent([hardline, join(hardline, printSequence(path, options, print, "selections"))]), hardline, "}"]; - } - case "Field": { - return group([node.alias ? [print("alias"), ": "] : "", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? " " : "", print("selectionSet")]); - } - case "Name": { - return node.value; - } - case "StringValue": { - if (node.block) { - const lines = node.value.replace(/"""/g, "\\$&").split("\n"); - if (lines.length === 1) { - lines[0] = lines[0].trim(); - } - if (lines.every((line2) => line2 === "")) { - lines.length = 0; - } - return join(hardline, ['"""', ...lines, '"""']); - } - return ['"', node.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"']; - } - case "IntValue": - case "FloatValue": - case "EnumValue": { - return node.value; - } - case "BooleanValue": { - return node.value ? "true" : "false"; - } - case "NullValue": { - return "null"; - } - case "Variable": { - return ["$", print("name")]; - } - case "ListValue": { - return group(["[", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "values"))]), softline, "]"]); - } - case "ObjectValue": { - return group(["{", options.bracketSpacing && node.fields.length > 0 ? " " : "", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "fields"))]), softline, ifBreak("", options.bracketSpacing && node.fields.length > 0 ? " " : ""), "}"]); - } - case "ObjectField": - case "Argument": { - return [print("name"), ": ", print("value")]; - } - case "Directive": { - return ["@", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : ""]; - } - case "NamedType": { - return print("name"); - } - case "VariableDefinition": { - return [print("variable"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; - } - case "ObjectTypeExtension": - case "ObjectTypeDefinition": { - return [print("description"), node.description ? hardline : "", node.kind === "ObjectTypeExtension" ? "extend " : "", "type ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "fields"))]), hardline, "}"] : ""]; - } - case "FieldDefinition": { - return [print("description"), node.description ? hardline : "", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : "", ": ", print("type"), printDirectives(path, print, node)]; - } - case "DirectiveDefinition": { - return [print("description"), node.description ? hardline : "", "directive ", "@", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : "", node.repeatable ? " repeatable" : "", " on ", join(" | ", path.map(print, "locations"))]; - } - case "EnumTypeExtension": - case "EnumTypeDefinition": { - return [print("description"), node.description ? hardline : "", node.kind === "EnumTypeExtension" ? "extend " : "", "enum ", print("name"), printDirectives(path, print, node), node.values.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "values"))]), hardline, "}"] : ""]; - } - case "EnumValueDefinition": { - return [print("description"), node.description ? hardline : "", print("name"), printDirectives(path, print, node)]; - } - case "InputValueDefinition": { - return [print("description"), node.description ? node.description.block ? hardline : line : "", print("name"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; - } - case "InputObjectTypeExtension": - case "InputObjectTypeDefinition": { - return [print("description"), node.description ? hardline : "", node.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", print("name"), printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "fields"))]), hardline, "}"] : ""]; - } - case "SchemaExtension": { - return ["extend schema", printDirectives(path, print, node), ...node.operationTypes.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "operationTypes"))]), hardline, "}"] : []]; - } - case "SchemaDefinition": { - return [print("description"), node.description ? hardline : "", "schema", printDirectives(path, print, node), " {", node.operationTypes.length > 0 ? indent([hardline, join(hardline, printSequence(path, options, print, "operationTypes"))]) : "", hardline, "}"]; - } - case "OperationTypeDefinition": { - return [print("operation"), ": ", print("type")]; - } - case "InterfaceTypeExtension": - case "InterfaceTypeDefinition": { - return [print("description"), node.description ? hardline : "", node.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "fields"))]), hardline, "}"] : ""]; - } - case "FragmentSpread": { - return ["...", print("name"), printDirectives(path, print, node)]; - } - case "InlineFragment": { - return ["...", node.typeCondition ? [" on ", print("typeCondition")] : "", printDirectives(path, print, node), " ", print("selectionSet")]; - } - case "UnionTypeExtension": - case "UnionTypeDefinition": { - return group([print("description"), node.description ? hardline : "", group([node.kind === "UnionTypeExtension" ? "extend " : "", "union ", print("name"), printDirectives(path, print, node), node.types.length > 0 ? [" =", ifBreak("", " "), indent([ifBreak([line, " "]), join([line, "| "], path.map(print, "types"))])] : ""])]); - } - case "ScalarTypeExtension": - case "ScalarTypeDefinition": { - return [print("description"), node.description ? hardline : "", node.kind === "ScalarTypeExtension" ? "extend " : "", "scalar ", print("name"), printDirectives(path, print, node)]; - } - case "NonNullType": { - return [print("type"), "!"]; - } - case "ListType": { - return ["[", print("type"), "]"]; - } - default: - throw new Error("unknown graphql type: " + JSON.stringify(node.kind)); - } - } - function printDirectives(path, print, node) { - if (node.directives.length === 0) { - return ""; - } - const printed = join(line, path.map(print, "directives")); - if (node.kind === "FragmentDefinition" || node.kind === "OperationDefinition") { - return group([line, printed]); - } - return [" ", group(indent([softline, printed]))]; - } - function printSequence(path, options, print, property) { - return path.map((path2, index, sequence) => { - const printed = print(); - if (index < sequence.length - 1 && isNextLineEmpty(options.originalText, path2.getValue(), locEnd)) { - return [printed, hardline]; - } - return printed; - }, property); - } - function canAttachComment(node) { - return node.kind && node.kind !== "Comment"; - } - function printComment(commentPath) { - const comment = commentPath.getValue(); - if (comment.kind === "Comment") { - return "#" + comment.value.trimEnd(); - } - throw new Error("Not a comment: " + JSON.stringify(comment)); - } - function printInterfaces(path, options, print) { - const node = path.getNode(); - const parts = []; - const { - interfaces - } = node; - const printed = path.map((node2) => print(node2), "interfaces"); - for (let index = 0; index < interfaces.length; index++) { - const interfaceNode = interfaces[index]; - parts.push(printed[index]); - const nextInterfaceNode = interfaces[index + 1]; - if (nextInterfaceNode) { - const textBetween = options.originalText.slice(interfaceNode.loc.end, nextInterfaceNode.loc.start); - const hasComment = textBetween.includes("#"); - const separator = textBetween.replace(/#.*/g, "").trim(); - parts.push(separator === "," ? "," : " &", hasComment ? line : " "); - } - } - return parts; - } - function clean(node, newNode) { - if (node.kind === "StringValue" && node.block && !node.value.includes("\n")) { - newNode.value = newNode.value.trim(); - } - } - clean.ignoredProperties = /* @__PURE__ */ new Set(["loc", "comments"]); - function hasPrettierIgnore(path) { - var _node$comments; - const node = path.getValue(); - return node === null || node === void 0 ? void 0 : (_node$comments = node.comments) === null || _node$comments === void 0 ? void 0 : _node$comments.some((comment) => comment.value.trim() === "prettier-ignore"); - } - module2.exports = { - print: genericPrint, - massageAstNode: clean, - hasPrettierIgnore, - insertPragma, - printComment, - canAttachComment - }; - } -}); -var require_options4 = __commonJS2({ - "src/language-graphql/options.js"(exports2, module2) { - "use strict"; - var commonOptions = require_common_options(); - module2.exports = { - bracketSpacing: commonOptions.bracketSpacing - }; - } -}); -var require_parsers4 = __commonJS2({ - "src/language-graphql/parsers.js"(exports2, module2) { - "use strict"; - module2.exports = { - get graphql() { - return require("./parser-graphql.js").parsers.graphql; - } - }; - } -}); -var require_GraphQL = __commonJS2({ - "node_modules/linguist-languages/data/GraphQL.json"(exports2, module2) { - module2.exports = { - name: "GraphQL", - type: "data", - color: "#e10098", - extensions: [".graphql", ".gql", ".graphqls"], - tmScope: "source.graphql", - aceMode: "text", - languageId: 139 - }; - } -}); -var require_language_graphql = __commonJS2({ - "src/language-graphql/index.js"(exports2, module2) { - "use strict"; - var createLanguage = require_create_language(); - var printer = require_printer_graphql(); - var options = require_options4(); - var parsers = require_parsers4(); - var languages = [createLanguage(require_GraphQL(), () => ({ - since: "1.5.0", - parsers: ["graphql"], - vscodeLanguageIds: ["graphql"] - }))]; - var printers = { - graphql: printer - }; - module2.exports = { - languages, - options, - printers, - parsers - }; - } -}); -var require_collapse_white_space = __commonJS2({ - "node_modules/collapse-white-space/index.js"(exports2, module2) { - "use strict"; - module2.exports = collapse; - function collapse(value) { - return String(value).replace(/\s+/g, " "); - } - } -}); -var require_loc5 = __commonJS2({ - "src/language-markdown/loc.js"(exports2, module2) { - "use strict"; - function locStart(node) { - return node.position.start.offset; - } - function locEnd(node) { - return node.position.end.offset; - } - module2.exports = { - locStart, - locEnd - }; - } -}); -var require_constants_evaluate = __commonJS2({ - "src/language-markdown/constants.evaluate.js"(exports2, module2) { - module2.exports = { - cjkPattern: "(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?", - kPattern: "[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]", - punctuationPattern: "[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]" - }; - } -}); -var require_utils10 = __commonJS2({ - "src/language-markdown/utils.js"(exports2, module2) { - "use strict"; - var { - getLast - } = require_util(); - var { - locStart, - locEnd - } = require_loc5(); - var { - cjkPattern, - kPattern, - punctuationPattern - } = require_constants_evaluate(); - var INLINE_NODE_TYPES = ["liquidNode", "inlineCode", "emphasis", "esComment", "strong", "delete", "wikiLink", "link", "linkReference", "image", "imageReference", "footnote", "footnoteReference", "sentence", "whitespace", "word", "break", "inlineMath"]; - var INLINE_NODE_WRAPPER_TYPES = [...INLINE_NODE_TYPES, "tableCell", "paragraph", "heading"]; - var kRegex = new RegExp(kPattern); - var punctuationRegex = new RegExp(punctuationPattern); - function splitText(text, options) { - const KIND_NON_CJK = "non-cjk"; - const KIND_CJ_LETTER = "cj-letter"; - const KIND_K_LETTER = "k-letter"; - const KIND_CJK_PUNCTUATION = "cjk-punctuation"; - const nodes = []; - const tokens = (options.proseWrap === "preserve" ? text : text.replace(new RegExp(`(${cjkPattern}) -(${cjkPattern})`, "g"), "$1$2")).split(/([\t\n ]+)/); - for (const [index, token] of tokens.entries()) { - if (index % 2 === 1) { - nodes.push({ - type: "whitespace", - value: /\n/.test(token) ? "\n" : " " - }); - continue; - } - if ((index === 0 || index === tokens.length - 1) && token === "") { - continue; - } - const innerTokens = token.split(new RegExp(`(${cjkPattern})`)); - for (const [innerIndex, innerToken] of innerTokens.entries()) { - if ((innerIndex === 0 || innerIndex === innerTokens.length - 1) && innerToken === "") { - continue; - } - if (innerIndex % 2 === 0) { - if (innerToken !== "") { - appendNode({ - type: "word", - value: innerToken, - kind: KIND_NON_CJK, - hasLeadingPunctuation: punctuationRegex.test(innerToken[0]), - hasTrailingPunctuation: punctuationRegex.test(getLast(innerToken)) - }); - } - continue; - } - appendNode(punctuationRegex.test(innerToken) ? { - type: "word", - value: innerToken, - kind: KIND_CJK_PUNCTUATION, - hasLeadingPunctuation: true, - hasTrailingPunctuation: true - } : { - type: "word", - value: innerToken, - kind: kRegex.test(innerToken) ? KIND_K_LETTER : KIND_CJ_LETTER, - hasLeadingPunctuation: false, - hasTrailingPunctuation: false - }); - } - } - return nodes; - function appendNode(node) { - const lastNode = getLast(nodes); - if (lastNode && lastNode.type === "word") { - if (lastNode.kind === KIND_NON_CJK && node.kind === KIND_CJ_LETTER && !lastNode.hasTrailingPunctuation || lastNode.kind === KIND_CJ_LETTER && node.kind === KIND_NON_CJK && !node.hasLeadingPunctuation) { - nodes.push({ - type: "whitespace", - value: " " - }); - } else if (!isBetween(KIND_NON_CJK, KIND_CJK_PUNCTUATION) && ![lastNode.value, node.value].some((value) => /\u3000/.test(value))) { - nodes.push({ - type: "whitespace", - value: "" - }); - } - } - nodes.push(node); - function isBetween(kind1, kind2) { - return lastNode.kind === kind1 && node.kind === kind2 || lastNode.kind === kind2 && node.kind === kind1; - } - } - } - function getOrderedListItemInfo(orderListItem, originalText) { - const [, numberText, marker, leadingSpaces] = originalText.slice(orderListItem.position.start.offset, orderListItem.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/); - return { - numberText, - marker, - leadingSpaces - }; - } - function hasGitDiffFriendlyOrderedList(node, options) { - if (!node.ordered) { - return false; - } - if (node.children.length < 2) { - return false; - } - const firstNumber = Number(getOrderedListItemInfo(node.children[0], options.originalText).numberText); - const secondNumber = Number(getOrderedListItemInfo(node.children[1], options.originalText).numberText); - if (firstNumber === 0 && node.children.length > 2) { - const thirdNumber = Number(getOrderedListItemInfo(node.children[2], options.originalText).numberText); - return secondNumber === 1 && thirdNumber === 1; - } - return secondNumber === 1; - } - function getFencedCodeBlockValue(node, originalText) { - const { - value - } = node; - if (node.position.end.offset === originalText.length && value.endsWith("\n") && originalText.endsWith("\n")) { - return value.slice(0, -1); - } - return value; - } - function mapAst(ast, handler) { - return function preorder(node, index, parentStack) { - const newNode = Object.assign({}, handler(node, index, parentStack)); - if (newNode.children) { - newNode.children = newNode.children.map((child, index2) => preorder(child, index2, [newNode, ...parentStack])); - } - return newNode; - }(ast, null, []); - } - function isAutolink(node) { - if ((node === null || node === void 0 ? void 0 : node.type) !== "link" || node.children.length !== 1) { - return false; - } - const [child] = node.children; - return locStart(node) === locStart(child) && locEnd(node) === locEnd(child); - } - module2.exports = { - mapAst, - splitText, - punctuationPattern, - getFencedCodeBlockValue, - getOrderedListItemInfo, - hasGitDiffFriendlyOrderedList, - INLINE_NODE_TYPES, - INLINE_NODE_WRAPPER_TYPES, - isAutolink - }; - } -}); -var require_embed3 = __commonJS2({ - "src/language-markdown/embed.js"(exports2, module2) { - "use strict"; - var { - inferParserByLanguage, - getMaxContinuousCount - } = require_util(); - var { - builders: { - hardline, - markAsRoot - }, - utils: { - replaceEndOfLine - } - } = require("./doc.js"); - var printFrontMatter = require_print(); - var { - getFencedCodeBlockValue - } = require_utils10(); - function embed(path, print, textToDoc, options) { - const node = path.getValue(); - if (node.type === "code" && node.lang !== null) { - const parser = inferParserByLanguage(node.lang, options); - if (parser) { - const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount(node.value, styleUnit) + 1)); - const newOptions = { - parser - }; - if (node.lang === "tsx") { - newOptions.filepath = "dummy.tsx"; - } - const doc2 = textToDoc(getFencedCodeBlockValue(node, options.originalText), newOptions, { - stripTrailingHardline: true - }); - return markAsRoot([style, node.lang, node.meta ? " " + node.meta : "", hardline, replaceEndOfLine(doc2), hardline, style]); - } - } - switch (node.type) { - case "front-matter": - return printFrontMatter(node, textToDoc); - case "importExport": - return [textToDoc(node.value, { - parser: "babel" - }, { - stripTrailingHardline: true - }), hardline]; - case "jsx": - return textToDoc(`<$>${node.value}`, { - parser: "__js_expression", - rootMarker: "mdx" - }, { - stripTrailingHardline: true - }); - } - return null; - } - module2.exports = embed; - } -}); -var require_pragma4 = __commonJS2({ - "src/language-markdown/pragma.js"(exports2, module2) { - "use strict"; - var parseFrontMatter = require_parse4(); - var pragmas = ["format", "prettier"]; - function startWithPragma(text) { - const pragma = `@(${pragmas.join("|")})`; - const regex = new RegExp([``, `{\\s*\\/\\*\\s*${pragma}\\s*\\*\\/\\s*}`, ``].join("|"), "m"); - const matched = text.match(regex); - return (matched === null || matched === void 0 ? void 0 : matched.index) === 0; - } - module2.exports = { - startWithPragma, - hasPragma: (text) => startWithPragma(parseFrontMatter(text).content.trimStart()), - insertPragma: (text) => { - const extracted = parseFrontMatter(text); - const pragma = ``; - return extracted.frontMatter ? `${extracted.frontMatter.raw} - -${pragma} - -${extracted.content}` : `${pragma} - -${extracted.content}`; - } - }; - } -}); -var require_print_preprocess2 = __commonJS2({ - "src/language-markdown/print-preprocess.js"(exports2, module2) { - "use strict"; - var getLast = require_get_last(); - var { - getOrderedListItemInfo, - mapAst, - splitText - } = require_utils10(); - var isSingleCharRegex = /^.$/su; - function preprocess(ast, options) { - ast = restoreUnescapedCharacter(ast, options); - ast = mergeContinuousTexts(ast); - ast = transformInlineCode(ast, options); - ast = transformIndentedCodeblockAndMarkItsParentList(ast, options); - ast = markAlignedList(ast, options); - ast = splitTextIntoSentences(ast, options); - ast = transformImportExport(ast); - ast = mergeContinuousImportExport(ast); - return ast; - } - function transformImportExport(ast) { - return mapAst(ast, (node) => { - if (node.type !== "import" && node.type !== "export") { - return node; - } - return Object.assign(Object.assign({}, node), {}, { - type: "importExport" - }); - }); - } - function transformInlineCode(ast, options) { - return mapAst(ast, (node) => { - if (node.type !== "inlineCode" || options.proseWrap === "preserve") { - return node; - } - return Object.assign(Object.assign({}, node), {}, { - value: node.value.replace(/\s+/g, " ") - }); - }); - } - function restoreUnescapedCharacter(ast, options) { - return mapAst(ast, (node) => node.type !== "text" || node.value === "*" || node.value === "_" || !isSingleCharRegex.test(node.value) || node.position.end.offset - node.position.start.offset === node.value.length ? node : Object.assign(Object.assign({}, node), {}, { - value: options.originalText.slice(node.position.start.offset, node.position.end.offset) - })); - } - function mergeContinuousImportExport(ast) { - return mergeChildren(ast, (prevNode, node) => prevNode.type === "importExport" && node.type === "importExport", (prevNode, node) => ({ - type: "importExport", - value: prevNode.value + "\n\n" + node.value, - position: { - start: prevNode.position.start, - end: node.position.end - } - })); - } - function mergeChildren(ast, shouldMerge, mergeNode) { - return mapAst(ast, (node) => { - if (!node.children) { - return node; - } - const children = node.children.reduce((current, child) => { - const lastChild = getLast(current); - if (lastChild && shouldMerge(lastChild, child)) { - current.splice(-1, 1, mergeNode(lastChild, child)); - } else { - current.push(child); - } - return current; - }, []); - return Object.assign(Object.assign({}, node), {}, { - children - }); - }); - } - function mergeContinuousTexts(ast) { - return mergeChildren(ast, (prevNode, node) => prevNode.type === "text" && node.type === "text", (prevNode, node) => ({ - type: "text", - value: prevNode.value + node.value, - position: { - start: prevNode.position.start, - end: node.position.end - } - })); - } - function splitTextIntoSentences(ast, options) { - return mapAst(ast, (node, index, [parentNode]) => { - if (node.type !== "text") { - return node; - } - let { - value - } = node; - if (parentNode.type === "paragraph") { - if (index === 0) { - value = value.trimStart(); - } - if (index === parentNode.children.length - 1) { - value = value.trimEnd(); - } - } - return { - type: "sentence", - position: node.position, - children: splitText(value, options) - }; - }); - } - function transformIndentedCodeblockAndMarkItsParentList(ast, options) { - return mapAst(ast, (node, index, parentStack) => { - if (node.type === "code") { - const isIndented = /^\n?(?: {4,}|\t)/.test(options.originalText.slice(node.position.start.offset, node.position.end.offset)); - node.isIndented = isIndented; - if (isIndented) { - for (let i = 0; i < parentStack.length; i++) { - const parent = parentStack[i]; - if (parent.hasIndentedCodeblock) { - break; - } - if (parent.type === "list") { - parent.hasIndentedCodeblock = true; - } - } - } - } - return node; - }); - } - function markAlignedList(ast, options) { - return mapAst(ast, (node, index, parentStack) => { - if (node.type === "list" && node.children.length > 0) { - for (let i = 0; i < parentStack.length; i++) { - const parent = parentStack[i]; - if (parent.type === "list" && !parent.isAligned) { - node.isAligned = false; - return node; - } - } - node.isAligned = isAligned(node); - } - return node; - }); - function getListItemStart(listItem) { - return listItem.children.length === 0 ? -1 : listItem.children[0].position.start.column - 1; - } - function isAligned(list) { - if (!list.ordered) { - return true; - } - const [firstItem, secondItem] = list.children; - const firstInfo = getOrderedListItemInfo(firstItem, options.originalText); - if (firstInfo.leadingSpaces.length > 1) { - return true; - } - const firstStart = getListItemStart(firstItem); - if (firstStart === -1) { - return false; - } - if (list.children.length === 1) { - return firstStart % options.tabWidth === 0; - } - const secondStart = getListItemStart(secondItem); - if (firstStart !== secondStart) { - return false; - } - if (firstStart % options.tabWidth === 0) { - return true; - } - const secondInfo = getOrderedListItemInfo(secondItem, options.originalText); - return secondInfo.leadingSpaces.length > 1; - } - } - module2.exports = preprocess; - } -}); -var require_clean4 = __commonJS2({ - "src/language-markdown/clean.js"(exports2, module2) { - "use strict"; - var collapseWhiteSpace = require_collapse_white_space(); - var { - isFrontMatterNode - } = require_util(); - var { - startWithPragma - } = require_pragma4(); - var ignoredProperties = /* @__PURE__ */ new Set(["position", "raw"]); - function clean(ast, newObj, parent) { - if (ast.type === "front-matter" || ast.type === "code" || ast.type === "yaml" || ast.type === "import" || ast.type === "export" || ast.type === "jsx") { - delete newObj.value; - } - if (ast.type === "list") { - delete newObj.isAligned; - } - if (ast.type === "list" || ast.type === "listItem") { - delete newObj.spread; - delete newObj.loose; - } - if (ast.type === "text") { - return null; - } - if (ast.type === "inlineCode") { - newObj.value = ast.value.replace(/[\t\n ]+/g, " "); - } - if (ast.type === "wikiLink") { - newObj.value = ast.value.trim().replace(/[\t\n]+/g, " "); - } - if (ast.type === "definition" || ast.type === "linkReference" || ast.type === "imageReference") { - newObj.label = collapseWhiteSpace(ast.label); - } - if ((ast.type === "definition" || ast.type === "link" || ast.type === "image") && ast.title) { - newObj.title = ast.title.replace(/\\(["')])/g, "$1"); - } - if (parent && parent.type === "root" && parent.children.length > 0 && (parent.children[0] === ast || isFrontMatterNode(parent.children[0]) && parent.children[1] === ast) && ast.type === "html" && startWithPragma(ast.value)) { - return null; - } - } - clean.ignoredProperties = ignoredProperties; - module2.exports = clean; - } -}); -var require_printer_markdown = __commonJS2({ - "src/language-markdown/printer-markdown.js"(exports2, module2) { - "use strict"; - var collapseWhiteSpace = require_collapse_white_space(); - var { - getLast, - getMinNotPresentContinuousCount, - getMaxContinuousCount, - getStringWidth, - isNonEmptyArray - } = require_util(); - var { - builders: { - breakParent, - join, - line, - literalline, - markAsRoot, - hardline, - softline, - ifBreak, - fill, - align, - indent, - group, - hardlineWithoutBreakParent - }, - utils: { - normalizeDoc, - replaceTextEndOfLine - }, - printer: { - printDocToString - } - } = require("./doc.js"); - var embed = require_embed3(); - var { - insertPragma - } = require_pragma4(); - var { - locStart, - locEnd - } = require_loc5(); - var preprocess = require_print_preprocess2(); - var clean = require_clean4(); - var { - getFencedCodeBlockValue, - hasGitDiffFriendlyOrderedList, - splitText, - punctuationPattern, - INLINE_NODE_TYPES, - INLINE_NODE_WRAPPER_TYPES, - isAutolink - } = require_utils10(); - var TRAILING_HARDLINE_NODES = /* @__PURE__ */ new Set(["importExport"]); - var SINGLE_LINE_NODE_TYPES = ["heading", "tableCell", "link", "wikiLink"]; - var SIBLING_NODE_TYPES = /* @__PURE__ */ new Set(["listItem", "definition", "footnoteDefinition"]); - function genericPrint(path, options, print) { - const node = path.getValue(); - if (shouldRemainTheSameContent(path)) { - return splitText(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map((node2) => node2.type === "word" ? node2.value : node2.value === "" ? "" : printLine(path, node2.value, options)); - } - switch (node.type) { - case "front-matter": - return options.originalText.slice(node.position.start.offset, node.position.end.offset); - case "root": - if (node.children.length === 0) { - return ""; - } - return [normalizeDoc(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.has(getLastDescendantNode(node).type) ? hardline : ""]; - case "paragraph": - return printChildren(path, options, print, { - postprocessor: fill - }); - case "sentence": - return printChildren(path, options, print); - case "word": { - let escapedValue = node.value.replace(/\*/g, "\\$&").replace(new RegExp([`(^|${punctuationPattern})(_+)`, `(_+)(${punctuationPattern}|$)`].join("|"), "g"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? `${text1}${underscore1}` : `${underscore2}${text2}`).replace(/_/g, "\\_")); - const isFirstSentence = (node2, name, index) => node2.type === "sentence" && index === 0; - const isLastChildAutolink = (node2, name, index) => isAutolink(node2.children[index - 1]); - if (escapedValue !== node.value && (path.match(void 0, isFirstSentence, isLastChildAutolink) || path.match(void 0, isFirstSentence, (node2, name, index) => node2.type === "emphasis" && index === 0, isLastChildAutolink))) { - escapedValue = escapedValue.replace(/^(\\?[*_])+/, (prefix) => prefix.replace(/\\/g, "")); - } - return escapedValue; - } - case "whitespace": { - const parentNode = path.getParentNode(); - const index = parentNode.children.indexOf(node); - const nextNode = parentNode.children[index + 1]; - const proseWrap = nextNode && /^>|^(?:[*+-]|#{1,6}|\d+[).])$/.test(nextNode.value) ? "never" : options.proseWrap; - return printLine(path, node.value, { - proseWrap - }); - } - case "emphasis": { - let style; - if (isAutolink(node.children[0])) { - style = options.originalText[node.position.start.offset]; - } else { - const parentNode = path.getParentNode(); - const index = parentNode.children.indexOf(node); - const prevNode = parentNode.children[index - 1]; - const nextNode = parentNode.children[index + 1]; - const hasPrevOrNextWord = prevNode && prevNode.type === "sentence" && prevNode.children.length > 0 && getLast(prevNode.children).type === "word" && !getLast(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === "sentence" && nextNode.children.length > 0 && nextNode.children[0].type === "word" && !nextNode.children[0].hasLeadingPunctuation; - style = hasPrevOrNextWord || getAncestorNode(path, "emphasis") ? "*" : "_"; - } - return [style, printChildren(path, options, print), style]; - } - case "strong": - return ["**", printChildren(path, options, print), "**"]; - case "delete": - return ["~~", printChildren(path, options, print), "~~"]; - case "inlineCode": { - const backtickCount = getMinNotPresentContinuousCount(node.value, "`"); - const style = "`".repeat(backtickCount || 1); - const gap = backtickCount && !/^\s/.test(node.value) ? " " : ""; - return [style, gap, node.value, gap, style]; - } - case "wikiLink": { - let contents = ""; - if (options.proseWrap === "preserve") { - contents = node.value; - } else { - contents = node.value.replace(/[\t\n]+/g, " "); - } - return ["[[", contents, "]]"]; - } - case "link": - switch (options.originalText[node.position.start.offset]) { - case "<": { - const mailto = "mailto:"; - const url = node.url.startsWith(mailto) && options.originalText.slice(node.position.start.offset + 1, node.position.start.offset + 1 + mailto.length) !== mailto ? node.url.slice(mailto.length) : node.url; - return ["<", url, ">"]; - } - case "[": - return ["[", printChildren(path, options, print), "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; - default: - return options.originalText.slice(node.position.start.offset, node.position.end.offset); - } - case "image": - return ["![", node.alt || "", "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; - case "blockquote": - return ["> ", align("> ", printChildren(path, options, print))]; - case "heading": - return ["#".repeat(node.depth) + " ", printChildren(path, options, print)]; - case "code": { - if (node.isIndented) { - const alignment = " ".repeat(4); - return align(alignment, [alignment, ...replaceTextEndOfLine(node.value, hardline)]); - } - const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount(node.value, styleUnit) + 1)); - return [style, node.lang || "", node.meta ? " " + node.meta : "", hardline, ...replaceTextEndOfLine(getFencedCodeBlockValue(node, options.originalText), hardline), hardline, style]; - } - case "html": { - const parentNode = path.getParentNode(); - const value = parentNode.type === "root" && getLast(parentNode.children) === node ? node.value.trimEnd() : node.value; - const isHtmlComment = /^$/s.test(value); - return replaceTextEndOfLine(value, isHtmlComment ? hardline : markAsRoot(literalline)); - } - case "list": { - const nthSiblingIndex = getNthListSiblingIndex(node, path.getParentNode()); - const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList(node, options); - return printChildren(path, options, print, { - processor: (childPath, index) => { - const prefix = getPrefix(); - const childNode = childPath.getValue(); - if (childNode.children.length === 2 && childNode.children[1].type === "html" && childNode.children[0].position.start.column !== childNode.children[1].position.start.column) { - return [prefix, printListItem(childPath, options, print, prefix)]; - } - return [prefix, align(" ".repeat(prefix.length), printListItem(childPath, options, print, prefix))]; - function getPrefix() { - const rawPrefix = node.ordered ? (index === 0 ? node.start : isGitDiffFriendlyOrderedList ? 1 : node.start + index) + (nthSiblingIndex % 2 === 0 ? ". " : ") ") : nthSiblingIndex % 2 === 0 ? "- " : "* "; - return node.isAligned || node.hasIndentedCodeblock ? alignListPrefix(rawPrefix, options) : rawPrefix; - } - } - }); - } - case "thematicBreak": { - const counter = getAncestorCounter(path, "list"); - if (counter === -1) { - return "---"; - } - const nthSiblingIndex = getNthListSiblingIndex(path.getParentNode(counter), path.getParentNode(counter + 1)); - return nthSiblingIndex % 2 === 0 ? "***" : "---"; - } - case "linkReference": - return ["[", printChildren(path, options, print), "]", node.referenceType === "full" ? printLinkReference(node) : node.referenceType === "collapsed" ? "[]" : ""]; - case "imageReference": - switch (node.referenceType) { - case "full": - return ["![", node.alt || "", "]", printLinkReference(node)]; - default: - return ["![", node.alt, "]", node.referenceType === "collapsed" ? "[]" : ""]; - } - case "definition": { - const lineOrSpace = options.proseWrap === "always" ? line : " "; - return group([printLinkReference(node), ":", indent([lineOrSpace, printUrl(node.url), node.title === null ? "" : [lineOrSpace, printTitle(node.title, options, false)]])]); - } - case "footnote": - return ["[^", printChildren(path, options, print), "]"]; - case "footnoteReference": - return printFootnoteReference(node); - case "footnoteDefinition": { - const nextNode = path.getParentNode().children[path.getName() + 1]; - const shouldInlineFootnote = node.children.length === 1 && node.children[0].type === "paragraph" && (options.proseWrap === "never" || options.proseWrap === "preserve" && node.children[0].position.start.line === node.children[0].position.end.line); - return [printFootnoteReference(node), ": ", shouldInlineFootnote ? printChildren(path, options, print) : group([align(" ".repeat(4), printChildren(path, options, print, { - processor: (childPath, index) => index === 0 ? group([softline, print()]) : print() - })), nextNode && nextNode.type === "footnoteDefinition" ? softline : ""])]; - } - case "table": - return printTable(path, options, print); - case "tableCell": - return printChildren(path, options, print); - case "break": - return /\s/.test(options.originalText[node.position.start.offset]) ? [" ", markAsRoot(literalline)] : ["\\", hardline]; - case "liquidNode": - return replaceTextEndOfLine(node.value, hardline); - case "importExport": - return [node.value, hardline]; - case "esComment": - return ["{/* ", node.value, " */}"]; - case "jsx": - return node.value; - case "math": - return ["$$", hardline, node.value ? [...replaceTextEndOfLine(node.value, hardline), hardline] : "", "$$"]; - case "inlineMath": { - return options.originalText.slice(locStart(node), locEnd(node)); - } - case "tableRow": - case "listItem": - default: - throw new Error(`Unknown markdown type ${JSON.stringify(node.type)}`); - } - } - function printListItem(path, options, print, listPrefix) { - const node = path.getValue(); - const prefix = node.checked === null ? "" : node.checked ? "[x] " : "[ ] "; - return [prefix, printChildren(path, options, print, { - processor: (childPath, index) => { - if (index === 0 && childPath.getValue().type !== "list") { - return align(" ".repeat(prefix.length), print()); - } - const alignment = " ".repeat(clamp(options.tabWidth - listPrefix.length, 0, 3)); - return [alignment, align(alignment, print())]; - } - })]; - } - function alignListPrefix(prefix, options) { - const additionalSpaces = getAdditionalSpaces(); - return prefix + " ".repeat(additionalSpaces >= 4 ? 0 : additionalSpaces); - function getAdditionalSpaces() { - const restSpaces = prefix.length % options.tabWidth; - return restSpaces === 0 ? 0 : options.tabWidth - restSpaces; - } - } - function getNthListSiblingIndex(node, parentNode) { - return getNthSiblingIndex(node, parentNode, (siblingNode) => siblingNode.ordered === node.ordered); - } - function getNthSiblingIndex(node, parentNode, condition) { - let index = -1; - for (const childNode of parentNode.children) { - if (childNode.type === node.type && condition(childNode)) { - index++; - } else { - index = -1; - } - if (childNode === node) { - return index; - } - } - } - function getAncestorCounter(path, typeOrTypes) { - const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; - let counter = -1; - let ancestorNode; - while (ancestorNode = path.getParentNode(++counter)) { - if (types.includes(ancestorNode.type)) { - return counter; - } - } - return -1; - } - function getAncestorNode(path, typeOrTypes) { - const counter = getAncestorCounter(path, typeOrTypes); - return counter === -1 ? null : path.getParentNode(counter); - } - function printLine(path, value, options) { - if (options.proseWrap === "preserve" && value === "\n") { - return hardline; - } - const isBreakable = options.proseWrap === "always" && !getAncestorNode(path, SINGLE_LINE_NODE_TYPES); - return value !== "" ? isBreakable ? line : " " : isBreakable ? softline : ""; - } - function printTable(path, options, print) { - const node = path.getValue(); - const columnMaxWidths = []; - const contents = path.map((rowPath) => rowPath.map((cellPath, columnIndex) => { - const text = printDocToString(print(), options).formatted; - const width = getStringWidth(text); - columnMaxWidths[columnIndex] = Math.max(columnMaxWidths[columnIndex] || 3, width); - return { - text, - width - }; - }, "children"), "children"); - const alignedTable = printTableContents(false); - if (options.proseWrap !== "never") { - return [breakParent, alignedTable]; - } - const compactTable = printTableContents(true); - return [breakParent, group(ifBreak(compactTable, alignedTable))]; - function printTableContents(isCompact) { - const parts = [printRow(contents[0], isCompact), printAlign(isCompact)]; - if (contents.length > 1) { - parts.push(join(hardlineWithoutBreakParent, contents.slice(1).map((rowContents) => printRow(rowContents, isCompact)))); - } - return join(hardlineWithoutBreakParent, parts); - } - function printAlign(isCompact) { - const align2 = columnMaxWidths.map((width, index) => { - const align3 = node.align[index]; - const first = align3 === "center" || align3 === "left" ? ":" : "-"; - const last = align3 === "center" || align3 === "right" ? ":" : "-"; - const middle = isCompact ? "-" : "-".repeat(width - 2); - return `${first}${middle}${last}`; - }); - return `| ${align2.join(" | ")} |`; - } - function printRow(rowContents, isCompact) { - const columns = rowContents.map(({ - text, - width - }, columnIndex) => { - if (isCompact) { - return text; - } - const spaces = columnMaxWidths[columnIndex] - width; - const align2 = node.align[columnIndex]; - let before = 0; - if (align2 === "right") { - before = spaces; - } else if (align2 === "center") { - before = Math.floor(spaces / 2); - } - const after = spaces - before; - return `${" ".repeat(before)}${text}${" ".repeat(after)}`; - }); - return `| ${columns.join(" | ")} |`; - } - } - function printRoot(path, options, print) { - const ignoreRanges = []; - let ignoreStart = null; - const { - children - } = path.getValue(); - for (const [index, childNode] of children.entries()) { - switch (isPrettierIgnore(childNode)) { - case "start": - if (ignoreStart === null) { - ignoreStart = { - index, - offset: childNode.position.end.offset - }; - } - break; - case "end": - if (ignoreStart !== null) { - ignoreRanges.push({ - start: ignoreStart, - end: { - index, - offset: childNode.position.start.offset - } - }); - ignoreStart = null; - } - break; - default: - break; - } - } - return printChildren(path, options, print, { - processor: (childPath, index) => { - if (ignoreRanges.length > 0) { - const ignoreRange = ignoreRanges[0]; - if (index === ignoreRange.start.index) { - return [printIgnoreComment(children[ignoreRange.start.index]), options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), printIgnoreComment(children[ignoreRange.end.index])]; - } - if (ignoreRange.start.index < index && index < ignoreRange.end.index) { - return false; - } - if (index === ignoreRange.end.index) { - ignoreRanges.shift(); - return false; - } - } - return print(); - } - }); - } - function printChildren(path, options, print, events = {}) { - const { - postprocessor - } = events; - const processor = events.processor || (() => print()); - const node = path.getValue(); - const parts = []; - let lastChildNode; - path.each((childPath, index) => { - const childNode = childPath.getValue(); - const result = processor(childPath, index); - if (result !== false) { - const data = { - parts, - prevNode: lastChildNode, - parentNode: node, - options - }; - if (shouldPrePrintHardline(childNode, data)) { - parts.push(hardline); - if (lastChildNode && TRAILING_HARDLINE_NODES.has(lastChildNode.type)) { - if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline); - } - } else { - if (shouldPrePrintDoubleHardline(childNode, data) || shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline); - } - if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline); - } - } - } - parts.push(result); - lastChildNode = childNode; - } - }, "children"); - return postprocessor ? postprocessor(parts) : parts; - } - function printIgnoreComment(node) { - if (node.type === "html") { - return node.value; - } - if (node.type === "paragraph" && Array.isArray(node.children) && node.children.length === 1 && node.children[0].type === "esComment") { - return ["{/* ", node.children[0].value, " */}"]; - } - } - function getLastDescendantNode(node) { - let current = node; - while (isNonEmptyArray(current.children)) { - current = getLast(current.children); - } - return current; - } - function isPrettierIgnore(node) { - let match; - if (node.type === "html") { - match = node.value.match(/^$/); - } else { - let comment; - if (node.type === "esComment") { - comment = node; - } else if (node.type === "paragraph" && node.children.length === 1 && node.children[0].type === "esComment") { - comment = node.children[0]; - } - if (comment) { - match = comment.value.match(/^prettier-ignore(?:-(start|end))?$/); - } - } - return match ? match[1] || "next" : false; - } - function shouldPrePrintHardline(node, data) { - const isFirstNode = data.parts.length === 0; - const isInlineNode = INLINE_NODE_TYPES.includes(node.type); - const isInlineHTML = node.type === "html" && INLINE_NODE_WRAPPER_TYPES.includes(data.parentNode.type); - return !isFirstNode && !isInlineNode && !isInlineHTML; - } - function shouldPrePrintDoubleHardline(node, data) { - var _data$prevNode, _data$prevNode2, _data$prevNode3; - const isSequence = (data.prevNode && data.prevNode.type) === node.type; - const isSiblingNode = isSequence && SIBLING_NODE_TYPES.has(node.type); - const isInTightListItem = data.parentNode.type === "listItem" && !data.parentNode.loose; - const isPrevNodeLooseListItem = ((_data$prevNode = data.prevNode) === null || _data$prevNode === void 0 ? void 0 : _data$prevNode.type) === "listItem" && data.prevNode.loose; - const isPrevNodePrettierIgnore = isPrettierIgnore(data.prevNode) === "next"; - const isBlockHtmlWithoutBlankLineBetweenPrevHtml = node.type === "html" && ((_data$prevNode2 = data.prevNode) === null || _data$prevNode2 === void 0 ? void 0 : _data$prevNode2.type) === "html" && data.prevNode.position.end.line + 1 === node.position.start.line; - const isHtmlDirectAfterListItem = node.type === "html" && data.parentNode.type === "listItem" && ((_data$prevNode3 = data.prevNode) === null || _data$prevNode3 === void 0 ? void 0 : _data$prevNode3.type) === "paragraph" && data.prevNode.position.end.line + 1 === node.position.start.line; - return isPrevNodeLooseListItem || !(isSiblingNode || isInTightListItem || isPrevNodePrettierIgnore || isBlockHtmlWithoutBlankLineBetweenPrevHtml || isHtmlDirectAfterListItem); - } - function shouldPrePrintTripleHardline(node, data) { - const isPrevNodeList = data.prevNode && data.prevNode.type === "list"; - const isIndentedCode = node.type === "code" && node.isIndented; - return isPrevNodeList && isIndentedCode; - } - function shouldRemainTheSameContent(path) { - const ancestorNode = getAncestorNode(path, ["linkReference", "imageReference"]); - return ancestorNode && (ancestorNode.type !== "linkReference" || ancestorNode.referenceType !== "full"); - } - function printUrl(url, dangerousCharOrChars = []) { - const dangerousChars = [" ", ...Array.isArray(dangerousCharOrChars) ? dangerousCharOrChars : [dangerousCharOrChars]]; - return new RegExp(dangerousChars.map((x) => `\\${x}`).join("|")).test(url) ? `<${url}>` : url; - } - function printTitle(title, options, printSpace = true) { - if (!title) { - return ""; - } - if (printSpace) { - return " " + printTitle(title, options, false); - } - title = title.replace(/\\(["')])/g, "$1"); - if (title.includes('"') && title.includes("'") && !title.includes(")")) { - return `(${title})`; - } - const singleCount = title.split("'").length - 1; - const doubleCount = title.split('"').length - 1; - const quote = singleCount > doubleCount ? '"' : doubleCount > singleCount ? "'" : options.singleQuote ? "'" : '"'; - title = title.replace(/\\/, "\\\\"); - title = title.replace(new RegExp(`(${quote})`, "g"), "\\$1"); - return `${quote}${title}${quote}`; - } - function clamp(value, min, max) { - return value < min ? min : value > max ? max : value; - } - function hasPrettierIgnore(path) { - const index = Number(path.getName()); - if (index === 0) { - return false; - } - const prevNode = path.getParentNode().children[index - 1]; - return isPrettierIgnore(prevNode) === "next"; - } - function printLinkReference(node) { - return `[${collapseWhiteSpace(node.label)}]`; - } - function printFootnoteReference(node) { - return `[^${node.label}]`; - } - module2.exports = { - preprocess, - print: genericPrint, - embed, - massageAstNode: clean, - hasPrettierIgnore, - insertPragma - }; - } -}); -var require_options5 = __commonJS2({ - "src/language-markdown/options.js"(exports2, module2) { - "use strict"; - var commonOptions = require_common_options(); - module2.exports = { - proseWrap: commonOptions.proseWrap, - singleQuote: commonOptions.singleQuote - }; - } -}); -var require_parsers5 = __commonJS2({ - "src/language-markdown/parsers.js"(exports2, module2) { - "use strict"; - module2.exports = { - get remark() { - return require("./parser-markdown.js").parsers.remark; - }, - get markdown() { - return require("./parser-markdown.js").parsers.remark; - }, - get mdx() { - return require("./parser-markdown.js").parsers.mdx; - } - }; - } -}); -var require_Markdown = __commonJS2({ - "node_modules/linguist-languages/data/Markdown.json"(exports2, module2) { - module2.exports = { - name: "Markdown", - type: "prose", - color: "#083fa1", - aliases: ["pandoc"], - aceMode: "markdown", - codemirrorMode: "gfm", - codemirrorMimeType: "text/x-gfm", - wrap: true, - extensions: [".md", ".livemd", ".markdown", ".mdown", ".mdwn", ".mdx", ".mkd", ".mkdn", ".mkdown", ".ronn", ".scd", ".workbook"], - filenames: ["contents.lr"], - tmScope: "source.gfm", - languageId: 222 - }; - } -}); -var require_language_markdown = __commonJS2({ - "src/language-markdown/index.js"(exports2, module2) { - "use strict"; - var createLanguage = require_create_language(); - var printer = require_printer_markdown(); - var options = require_options5(); - var parsers = require_parsers5(); - var languages = [createLanguage(require_Markdown(), (data) => ({ - since: "1.8.0", - parsers: ["markdown"], - vscodeLanguageIds: ["markdown"], - filenames: [...data.filenames, "README"], - extensions: data.extensions.filter((extension) => extension !== ".mdx") - })), createLanguage(require_Markdown(), () => ({ - name: "MDX", - since: "1.15.0", - parsers: ["mdx"], - vscodeLanguageIds: ["mdx"], - filenames: [], - extensions: [".mdx"] - }))]; - var printers = { - mdast: printer - }; - module2.exports = { - languages, - options, - printers, - parsers - }; - } -}); -var require_clean5 = __commonJS2({ - "src/language-html/clean.js"(exports2, module2) { - "use strict"; - var { - isFrontMatterNode - } = require_util(); - var ignoredProperties = /* @__PURE__ */ new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan"]); - function clean(ast, newNode) { - if (ast.type === "text" || ast.type === "comment") { - return null; - } - if (isFrontMatterNode(ast) || ast.type === "yaml" || ast.type === "toml") { - return null; - } - if (ast.type === "attribute") { - delete newNode.value; - } - if (ast.type === "docType") { - delete newNode.value; - } - } - clean.ignoredProperties = ignoredProperties; - module2.exports = clean; - } -}); -var require_constants_evaluate2 = __commonJS2({ - "src/language-html/constants.evaluate.js"(exports2, module2) { - module2.exports = { - CSS_DISPLAY_TAGS: { - area: "none", - base: "none", - basefont: "none", - datalist: "none", - head: "none", - link: "none", - meta: "none", - noembed: "none", - noframes: "none", - param: "block", - rp: "none", - script: "block", - source: "block", - style: "none", - template: "inline", - track: "block", - title: "none", - html: "block", - body: "block", - address: "block", - blockquote: "block", - center: "block", - div: "block", - figure: "block", - figcaption: "block", - footer: "block", - form: "block", - header: "block", - hr: "block", - legend: "block", - listing: "block", - main: "block", - p: "block", - plaintext: "block", - pre: "block", - xmp: "block", - slot: "contents", - ruby: "ruby", - rt: "ruby-text", - article: "block", - aside: "block", - h1: "block", - h2: "block", - h3: "block", - h4: "block", - h5: "block", - h6: "block", - hgroup: "block", - nav: "block", - section: "block", - dir: "block", - dd: "block", - dl: "block", - dt: "block", - ol: "block", - ul: "block", - li: "list-item", - table: "table", - caption: "table-caption", - colgroup: "table-column-group", - col: "table-column", - thead: "table-header-group", - tbody: "table-row-group", - tfoot: "table-footer-group", - tr: "table-row", - td: "table-cell", - th: "table-cell", - fieldset: "block", - button: "inline-block", - details: "block", - summary: "block", - dialog: "block", - meter: "inline-block", - progress: "inline-block", - object: "inline-block", - video: "inline-block", - audio: "inline-block", - select: "inline-block", - option: "block", - optgroup: "block" - }, - CSS_DISPLAY_DEFAULT: "inline", - CSS_WHITE_SPACE_TAGS: { - listing: "pre", - plaintext: "pre", - pre: "pre", - xmp: "pre", - nobr: "nowrap", - table: "initial", - textarea: "pre-wrap" - }, - CSS_WHITE_SPACE_DEFAULT: "normal" - }; - } -}); -var require_is_unknown_namespace = __commonJS2({ - "src/language-html/utils/is-unknown-namespace.js"(exports2, module2) { - "use strict"; - function isUnknownNamespace(node) { - return node.type === "element" && !node.hasExplicitNamespace && !["html", "svg"].includes(node.namespace); - } - module2.exports = isUnknownNamespace; - } -}); -var require_utils11 = __commonJS2({ - "src/language-html/utils/index.js"(exports2, module2) { - "use strict"; - var { - inferParserByLanguage, - isFrontMatterNode - } = require_util(); - var { - builders: { - line, - hardline, - join - }, - utils: { - getDocParts, - replaceTextEndOfLine - } - } = require("./doc.js"); - var { - CSS_DISPLAY_TAGS, - CSS_DISPLAY_DEFAULT, - CSS_WHITE_SPACE_TAGS, - CSS_WHITE_SPACE_DEFAULT - } = require_constants_evaluate2(); - var isUnknownNamespace = require_is_unknown_namespace(); - var HTML_WHITESPACE = /* @__PURE__ */ new Set([" ", "\n", "\f", "\r", " "]); - var htmlTrimStart = (string) => string.replace(/^[\t\n\f\r ]+/, ""); - var htmlTrimEnd = (string) => string.replace(/[\t\n\f\r ]+$/, ""); - var htmlTrim = (string) => htmlTrimStart(htmlTrimEnd(string)); - var htmlTrimLeadingBlankLines = (string) => string.replace(/^[\t\f\r ]*\n/g, ""); - var htmlTrimPreserveIndentation = (string) => htmlTrimLeadingBlankLines(htmlTrimEnd(string)); - var splitByHtmlWhitespace = (string) => string.split(/[\t\n\f\r ]+/); - var getLeadingHtmlWhitespace = (string) => string.match(/^[\t\n\f\r ]*/)[0]; - var getLeadingAndTrailingHtmlWhitespace = (string) => { - const [, leadingWhitespace, text, trailingWhitespace] = string.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s); - return { - leadingWhitespace, - trailingWhitespace, - text - }; - }; - var hasHtmlWhitespace = (string) => /[\t\n\f\r ]/.test(string); - function shouldPreserveContent(node, options) { - if (node.type === "ieConditionalComment" && node.lastChild && !node.lastChild.isSelfClosing && !node.lastChild.endSourceSpan) { - return true; - } - if (node.type === "ieConditionalComment" && !node.complete) { - return true; - } - if (isPreLikeNode(node) && node.children.some((child) => child.type !== "text" && child.type !== "interpolation")) { - return true; - } - if (isVueNonHtmlBlock(node, options) && !isScriptLikeTag(node) && node.type !== "interpolation") { - return true; - } - return false; - } - function hasPrettierIgnore(node) { - if (node.type === "attribute") { - return false; - } - if (!node.parent) { - return false; - } - if (!node.prev) { - return false; - } - return isPrettierIgnore(node.prev); - } - function isPrettierIgnore(node) { - return node.type === "comment" && node.value.trim() === "prettier-ignore"; - } - function isTextLikeNode(node) { - return node.type === "text" || node.type === "comment"; - } - function isScriptLikeTag(node) { - return node.type === "element" && (node.fullName === "script" || node.fullName === "style" || node.fullName === "svg:style" || isUnknownNamespace(node) && (node.name === "script" || node.name === "style")); - } - function canHaveInterpolation(node) { - return node.children && !isScriptLikeTag(node); - } - function isWhitespaceSensitiveNode(node) { - return isScriptLikeTag(node) || node.type === "interpolation" || isIndentationSensitiveNode(node); - } - function isIndentationSensitiveNode(node) { - return getNodeCssStyleWhiteSpace(node).startsWith("pre"); - } - function isLeadingSpaceSensitiveNode(node, options) { - const isLeadingSpaceSensitive = _isLeadingSpaceSensitiveNode(); - if (isLeadingSpaceSensitive && !node.prev && node.parent && node.parent.tagDefinition && node.parent.tagDefinition.ignoreFirstLf) { - return node.type === "interpolation"; - } - return isLeadingSpaceSensitive; - function _isLeadingSpaceSensitiveNode() { - if (isFrontMatterNode(node)) { - return false; - } - if ((node.type === "text" || node.type === "interpolation") && node.prev && (node.prev.type === "text" || node.prev.type === "interpolation")) { - return true; - } - if (!node.parent || node.parent.cssDisplay === "none") { - return false; - } - if (isPreLikeNode(node.parent)) { - return true; - } - if (!node.prev && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isFirstChildLeadingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) { - return false; - } - if (node.prev && !isNextLeadingSpaceSensitiveCssDisplay(node.prev.cssDisplay)) { - return false; - } - return true; - } - } - function isTrailingSpaceSensitiveNode(node, options) { - if (isFrontMatterNode(node)) { - return false; - } - if ((node.type === "text" || node.type === "interpolation") && node.next && (node.next.type === "text" || node.next.type === "interpolation")) { - return true; - } - if (!node.parent || node.parent.cssDisplay === "none") { - return false; - } - if (isPreLikeNode(node.parent)) { - return true; - } - if (!node.next && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isLastChildTrailingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) { - return false; - } - if (node.next && !isPrevTrailingSpaceSensitiveCssDisplay(node.next.cssDisplay)) { - return false; - } - return true; - } - function isDanglingSpaceSensitiveNode(node) { - return isDanglingSpaceSensitiveCssDisplay(node.cssDisplay) && !isScriptLikeTag(node); - } - function forceNextEmptyLine(node) { - return isFrontMatterNode(node) || node.next && node.sourceSpan.end && node.sourceSpan.end.line + 1 < node.next.sourceSpan.start.line; - } - function forceBreakContent(node) { - return forceBreakChildren(node) || node.type === "element" && node.children.length > 0 && (["body", "script", "style"].includes(node.name) || node.children.some((child) => hasNonTextChild(child))) || node.firstChild && node.firstChild === node.lastChild && node.firstChild.type !== "text" && hasLeadingLineBreak(node.firstChild) && (!node.lastChild.isTrailingSpaceSensitive || hasTrailingLineBreak(node.lastChild)); - } - function forceBreakChildren(node) { - return node.type === "element" && node.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(node.name) || node.cssDisplay.startsWith("table") && node.cssDisplay !== "table-cell"); - } - function preferHardlineAsLeadingSpaces(node) { - return preferHardlineAsSurroundingSpaces(node) || node.prev && preferHardlineAsTrailingSpaces(node.prev) || hasSurroundingLineBreak(node); - } - function preferHardlineAsTrailingSpaces(node) { - return preferHardlineAsSurroundingSpaces(node) || node.type === "element" && node.fullName === "br" || hasSurroundingLineBreak(node); - } - function hasSurroundingLineBreak(node) { - return hasLeadingLineBreak(node) && hasTrailingLineBreak(node); - } - function hasLeadingLineBreak(node) { - return node.hasLeadingSpaces && (node.prev ? node.prev.sourceSpan.end.line < node.sourceSpan.start.line : node.parent.type === "root" || node.parent.startSourceSpan.end.line < node.sourceSpan.start.line); - } - function hasTrailingLineBreak(node) { - return node.hasTrailingSpaces && (node.next ? node.next.sourceSpan.start.line > node.sourceSpan.end.line : node.parent.type === "root" || node.parent.endSourceSpan && node.parent.endSourceSpan.start.line > node.sourceSpan.end.line); - } - function preferHardlineAsSurroundingSpaces(node) { - switch (node.type) { - case "ieConditionalComment": - case "comment": - case "directive": - return true; - case "element": - return ["script", "select"].includes(node.name); - } - return false; - } - function getLastDescendant(node) { - return node.lastChild ? getLastDescendant(node.lastChild) : node; - } - function hasNonTextChild(node) { - return node.children && node.children.some((child) => child.type !== "text"); - } - function _inferScriptParser(node) { - const { - type, - lang - } = node.attrMap; - if (type === "module" || type === "text/javascript" || type === "text/babel" || type === "application/javascript" || lang === "jsx") { - return "babel"; - } - if (type === "application/x-typescript" || lang === "ts" || lang === "tsx") { - return "typescript"; - } - if (type === "text/markdown") { - return "markdown"; - } - if (type === "text/html") { - return "html"; - } - if (type && (type.endsWith("json") || type.endsWith("importmap")) || type === "speculationrules") { - return "json"; - } - if (type === "text/x-handlebars-template") { - return "glimmer"; - } - } - function inferStyleParser(node, options) { - const { - lang - } = node.attrMap; - if (!lang || lang === "postcss" || lang === "css") { - return "css"; - } - if (lang === "scss") { - return "scss"; - } - if (lang === "less") { - return "less"; - } - if (lang === "stylus") { - return inferParserByLanguage("stylus", options); - } - } - function inferScriptParser(node, options) { - if (node.name === "script" && !node.attrMap.src) { - if (!node.attrMap.lang && !node.attrMap.type) { - return "babel"; - } - return _inferScriptParser(node); - } - if (node.name === "style") { - return inferStyleParser(node, options); - } - if (options && isVueNonHtmlBlock(node, options)) { - return _inferScriptParser(node) || !("src" in node.attrMap) && inferParserByLanguage(node.attrMap.lang, options); - } - } - function isBlockLikeCssDisplay(cssDisplay) { - return cssDisplay === "block" || cssDisplay === "list-item" || cssDisplay.startsWith("table"); - } - function isFirstChildLeadingSpaceSensitiveCssDisplay(cssDisplay) { - return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block"; - } - function isLastChildTrailingSpaceSensitiveCssDisplay(cssDisplay) { - return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block"; - } - function isPrevTrailingSpaceSensitiveCssDisplay(cssDisplay) { - return !isBlockLikeCssDisplay(cssDisplay); - } - function isNextLeadingSpaceSensitiveCssDisplay(cssDisplay) { - return !isBlockLikeCssDisplay(cssDisplay); - } - function isDanglingSpaceSensitiveCssDisplay(cssDisplay) { - return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block"; - } - function isPreLikeNode(node) { - return getNodeCssStyleWhiteSpace(node).startsWith("pre"); - } - function countParents(path, predicate) { - let counter = 0; - for (let i = path.stack.length - 1; i >= 0; i--) { - const value = path.stack[i]; - if (value && typeof value === "object" && !Array.isArray(value) && predicate(value)) { - counter++; - } - } - return counter; - } - function hasParent(node, fn) { - let current = node; - while (current) { - if (fn(current)) { - return true; - } - current = current.parent; - } - return false; - } - function getNodeCssStyleDisplay(node, options) { - if (node.prev && node.prev.type === "comment") { - const match = node.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/); - if (match) { - return match[1]; - } - } - let isInSvgForeignObject = false; - if (node.type === "element" && node.namespace === "svg") { - if (hasParent(node, (parent) => parent.fullName === "svg:foreignObject")) { - isInSvgForeignObject = true; - } else { - return node.name === "svg" ? "inline-block" : "block"; - } - } - switch (options.htmlWhitespaceSensitivity) { - case "strict": - return "inline"; - case "ignore": - return "block"; - default: { - if (options.parser === "vue" && node.parent && node.parent.type === "root") { - return "block"; - } - return node.type === "element" && (!node.namespace || isInSvgForeignObject || isUnknownNamespace(node)) && CSS_DISPLAY_TAGS[node.name] || CSS_DISPLAY_DEFAULT; - } - } - } - function getNodeCssStyleWhiteSpace(node) { - return node.type === "element" && (!node.namespace || isUnknownNamespace(node)) && CSS_WHITE_SPACE_TAGS[node.name] || CSS_WHITE_SPACE_DEFAULT; - } - function getMinIndentation(text) { - let minIndentation = Number.POSITIVE_INFINITY; - for (const lineText of text.split("\n")) { - if (lineText.length === 0) { - continue; - } - if (!HTML_WHITESPACE.has(lineText[0])) { - return 0; - } - const indentation = getLeadingHtmlWhitespace(lineText).length; - if (lineText.length === indentation) { - continue; - } - if (indentation < minIndentation) { - minIndentation = indentation; - } - } - return minIndentation === Number.POSITIVE_INFINITY ? 0 : minIndentation; - } - function dedentString(text, minIndent = getMinIndentation(text)) { - return minIndent === 0 ? text : text.split("\n").map((lineText) => lineText.slice(minIndent)).join("\n"); - } - function countChars(text, char) { - let counter = 0; - for (let i = 0; i < text.length; i++) { - if (text[i] === char) { - counter++; - } - } - return counter; - } - function unescapeQuoteEntities(text) { - return text.replace(/'/g, "'").replace(/"/g, '"'); - } - var vueRootElementsSet = /* @__PURE__ */ new Set(["template", "style", "script"]); - function isVueCustomBlock(node, options) { - return isVueSfcBlock(node, options) && !vueRootElementsSet.has(node.fullName); - } - function isVueSfcBlock(node, options) { - return options.parser === "vue" && node.type === "element" && node.parent.type === "root" && node.fullName.toLowerCase() !== "html"; - } - function isVueNonHtmlBlock(node, options) { - return isVueSfcBlock(node, options) && (isVueCustomBlock(node, options) || node.attrMap.lang && node.attrMap.lang !== "html"); - } - function isVueSlotAttribute(attribute) { - const attributeName = attribute.fullName; - return attributeName.charAt(0) === "#" || attributeName === "slot-scope" || attributeName === "v-slot" || attributeName.startsWith("v-slot:"); - } - function isVueSfcBindingsAttribute(attribute, options) { - const element = attribute.parent; - if (!isVueSfcBlock(element, options)) { - return false; - } - const tagName = element.fullName; - const attributeName = attribute.fullName; - return tagName === "script" && attributeName === "setup" || tagName === "style" && attributeName === "vars"; - } - function getTextValueParts(node, value = node.value) { - return node.parent.isWhitespaceSensitive ? node.parent.isIndentationSensitive ? replaceTextEndOfLine(value) : replaceTextEndOfLine(dedentString(htmlTrimPreserveIndentation(value)), hardline) : getDocParts(join(line, splitByHtmlWhitespace(value))); - } - function isVueScriptTag(node, options) { - return isVueSfcBlock(node, options) && node.name === "script"; - } - module2.exports = { - htmlTrim, - htmlTrimPreserveIndentation, - hasHtmlWhitespace, - getLeadingAndTrailingHtmlWhitespace, - canHaveInterpolation, - countChars, - countParents, - dedentString, - forceBreakChildren, - forceBreakContent, - forceNextEmptyLine, - getLastDescendant, - getNodeCssStyleDisplay, - getNodeCssStyleWhiteSpace, - hasPrettierIgnore, - inferScriptParser, - isVueCustomBlock, - isVueNonHtmlBlock, - isVueScriptTag, - isVueSlotAttribute, - isVueSfcBindingsAttribute, - isVueSfcBlock, - isDanglingSpaceSensitiveNode, - isIndentationSensitiveNode, - isLeadingSpaceSensitiveNode, - isPreLikeNode, - isScriptLikeTag, - isTextLikeNode, - isTrailingSpaceSensitiveNode, - isWhitespaceSensitiveNode, - isUnknownNamespace, - preferHardlineAsLeadingSpaces, - preferHardlineAsTrailingSpaces, - shouldPreserveContent, - unescapeQuoteEntities, - getTextValueParts - }; - } -}); -var require_chars = __commonJS2({ - "node_modules/angular-html-parser/lib/compiler/src/chars.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.$EOF = 0; - exports2.$BSPACE = 8; - exports2.$TAB = 9; - exports2.$LF = 10; - exports2.$VTAB = 11; - exports2.$FF = 12; - exports2.$CR = 13; - exports2.$SPACE = 32; - exports2.$BANG = 33; - exports2.$DQ = 34; - exports2.$HASH = 35; - exports2.$$ = 36; - exports2.$PERCENT = 37; - exports2.$AMPERSAND = 38; - exports2.$SQ = 39; - exports2.$LPAREN = 40; - exports2.$RPAREN = 41; - exports2.$STAR = 42; - exports2.$PLUS = 43; - exports2.$COMMA = 44; - exports2.$MINUS = 45; - exports2.$PERIOD = 46; - exports2.$SLASH = 47; - exports2.$COLON = 58; - exports2.$SEMICOLON = 59; - exports2.$LT = 60; - exports2.$EQ = 61; - exports2.$GT = 62; - exports2.$QUESTION = 63; - exports2.$0 = 48; - exports2.$7 = 55; - exports2.$9 = 57; - exports2.$A = 65; - exports2.$E = 69; - exports2.$F = 70; - exports2.$X = 88; - exports2.$Z = 90; - exports2.$LBRACKET = 91; - exports2.$BACKSLASH = 92; - exports2.$RBRACKET = 93; - exports2.$CARET = 94; - exports2.$_ = 95; - exports2.$a = 97; - exports2.$b = 98; - exports2.$e = 101; - exports2.$f = 102; - exports2.$n = 110; - exports2.$r = 114; - exports2.$t = 116; - exports2.$u = 117; - exports2.$v = 118; - exports2.$x = 120; - exports2.$z = 122; - exports2.$LBRACE = 123; - exports2.$BAR = 124; - exports2.$RBRACE = 125; - exports2.$NBSP = 160; - exports2.$PIPE = 124; - exports2.$TILDA = 126; - exports2.$AT = 64; - exports2.$BT = 96; - function isWhitespace(code) { - return code >= exports2.$TAB && code <= exports2.$SPACE || code == exports2.$NBSP; - } - exports2.isWhitespace = isWhitespace; - function isDigit(code) { - return exports2.$0 <= code && code <= exports2.$9; - } - exports2.isDigit = isDigit; - function isAsciiLetter(code) { - return code >= exports2.$a && code <= exports2.$z || code >= exports2.$A && code <= exports2.$Z; - } - exports2.isAsciiLetter = isAsciiLetter; - function isAsciiHexDigit(code) { - return code >= exports2.$a && code <= exports2.$f || code >= exports2.$A && code <= exports2.$F || isDigit(code); - } - exports2.isAsciiHexDigit = isAsciiHexDigit; - function isNewLine(code) { - return code === exports2.$LF || code === exports2.$CR; - } - exports2.isNewLine = isNewLine; - function isOctalDigit(code) { - return exports2.$0 <= code && code <= exports2.$7; - } - exports2.isOctalDigit = isOctalDigit; - } -}); -var require_static_symbol = __commonJS2({ - "node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var StaticSymbol = class { - constructor(filePath, name, members) { - this.filePath = filePath; - this.name = name; - this.members = members; - } - assertNoMembers() { - if (this.members.length) { - throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`); - } - } - }; - exports2.StaticSymbol = StaticSymbol; - var StaticSymbolCache = class { - constructor() { - this.cache = /* @__PURE__ */ new Map(); - } - get(declarationFile, name, members) { - members = members || []; - const memberSuffix = members.length ? `.${members.join(".")}` : ""; - const key = `"${declarationFile}".${name}${memberSuffix}`; - let result = this.cache.get(key); - if (!result) { - result = new StaticSymbol(declarationFile, name, members); - this.cache.set(key, result); - } - return result; - } - }; - exports2.StaticSymbolCache = StaticSymbolCache; - } -}); -var require_util3 = __commonJS2({ - "node_modules/angular-html-parser/lib/compiler/src/util.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var DASH_CASE_REGEXP = /-+([a-z0-9])/g; - function dashCaseToCamelCase(input) { - return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase()); - } - exports2.dashCaseToCamelCase = dashCaseToCamelCase; - function splitAtColon(input, defaultValues) { - return _splitAt(input, ":", defaultValues); - } - exports2.splitAtColon = splitAtColon; - function splitAtPeriod(input, defaultValues) { - return _splitAt(input, ".", defaultValues); - } - exports2.splitAtPeriod = splitAtPeriod; - function _splitAt(input, character, defaultValues) { - const characterIndex = input.indexOf(character); - if (characterIndex == -1) - return defaultValues; - return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()]; - } - function visitValue(value, visitor, context) { - if (Array.isArray(value)) { - return visitor.visitArray(value, context); - } - if (isStrictStringMap(value)) { - return visitor.visitStringMap(value, context); - } - if (value == null || typeof value == "string" || typeof value == "number" || typeof value == "boolean") { - return visitor.visitPrimitive(value, context); - } - return visitor.visitOther(value, context); - } - exports2.visitValue = visitValue; - function isDefined(val) { - return val !== null && val !== void 0; - } - exports2.isDefined = isDefined; - function noUndefined(val) { - return val === void 0 ? null : val; - } - exports2.noUndefined = noUndefined; - var ValueTransformer = class { - visitArray(arr, context) { - return arr.map((value) => visitValue(value, this, context)); - } - visitStringMap(map, context) { - const result = {}; - Object.keys(map).forEach((key) => { - result[key] = visitValue(map[key], this, context); - }); - return result; - } - visitPrimitive(value, context) { - return value; - } - visitOther(value, context) { - return value; - } - }; - exports2.ValueTransformer = ValueTransformer; - exports2.SyncAsync = { - assertSync: (value) => { - if (isPromise(value)) { - throw new Error(`Illegal state: value cannot be a promise`); - } - return value; - }, - then: (value, cb) => { - return isPromise(value) ? value.then(cb) : cb(value); - }, - all: (syncAsyncValues) => { - return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues; - } - }; - function error(msg) { - throw new Error(`Internal Error: ${msg}`); - } - exports2.error = error; - function syntaxError(msg, parseErrors) { - const error2 = Error(msg); - error2[ERROR_SYNTAX_ERROR] = true; - if (parseErrors) - error2[ERROR_PARSE_ERRORS] = parseErrors; - return error2; - } - exports2.syntaxError = syntaxError; - var ERROR_SYNTAX_ERROR = "ngSyntaxError"; - var ERROR_PARSE_ERRORS = "ngParseErrors"; - function isSyntaxError(error2) { - return error2[ERROR_SYNTAX_ERROR]; - } - exports2.isSyntaxError = isSyntaxError; - function getParseErrors(error2) { - return error2[ERROR_PARSE_ERRORS] || []; - } - exports2.getParseErrors = getParseErrors; - function escapeRegExp(s) { - return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1"); - } - exports2.escapeRegExp = escapeRegExp; - var STRING_MAP_PROTO = Object.getPrototypeOf({}); - function isStrictStringMap(obj) { - return typeof obj === "object" && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO; - } - function utf8Encode(str) { - let encoded = ""; - for (let index = 0; index < str.length; index++) { - let codePoint = str.charCodeAt(index); - if (codePoint >= 55296 && codePoint <= 56319 && str.length > index + 1) { - const low = str.charCodeAt(index + 1); - if (low >= 56320 && low <= 57343) { - index++; - codePoint = (codePoint - 55296 << 10) + low - 56320 + 65536; - } - } - if (codePoint <= 127) { - encoded += String.fromCharCode(codePoint); - } else if (codePoint <= 2047) { - encoded += String.fromCharCode(codePoint >> 6 & 31 | 192, codePoint & 63 | 128); - } else if (codePoint <= 65535) { - encoded += String.fromCharCode(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128); - } else if (codePoint <= 2097151) { - encoded += String.fromCharCode(codePoint >> 18 & 7 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128); - } - } - return encoded; - } - exports2.utf8Encode = utf8Encode; - function stringify(token) { - if (typeof token === "string") { - return token; - } - if (token instanceof Array) { - return "[" + token.map(stringify).join(", ") + "]"; - } - if (token == null) { - return "" + token; - } - if (token.overriddenName) { - return `${token.overriddenName}`; - } - if (token.name) { - return `${token.name}`; - } - if (!token.toString) { - return "object"; - } - const res = token.toString(); - if (res == null) { - return "" + res; - } - const newLineIndex = res.indexOf("\n"); - return newLineIndex === -1 ? res : res.substring(0, newLineIndex); - } - exports2.stringify = stringify; - function resolveForwardRef(type) { - if (typeof type === "function" && type.hasOwnProperty("__forward_ref__")) { - return type(); - } else { - return type; - } - } - exports2.resolveForwardRef = resolveForwardRef; - function isPromise(obj) { - return !!obj && typeof obj.then === "function"; - } - exports2.isPromise = isPromise; - var Version = class { - constructor(full) { - this.full = full; - const splits = full.split("."); - this.major = splits[0]; - this.minor = splits[1]; - this.patch = splits.slice(2).join("."); - } - }; - exports2.Version = Version; - var __window = typeof window !== "undefined" && window; - var __self = typeof self !== "undefined" && typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && self; - var __global = typeof global !== "undefined" && global; - var _global = __global || __window || __self; - exports2.global = _global; - } -}); -var require_compile_metadata = __commonJS2({ - "node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var static_symbol_1 = require_static_symbol(); - var util_1 = require_util3(); - var HOST_REG_EXP = /^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/; - function sanitizeIdentifier(name) { - return name.replace(/\W/g, "_"); - } - exports2.sanitizeIdentifier = sanitizeIdentifier; - var _anonymousTypeIndex = 0; - function identifierName(compileIdentifier) { - if (!compileIdentifier || !compileIdentifier.reference) { - return null; - } - const ref = compileIdentifier.reference; - if (ref instanceof static_symbol_1.StaticSymbol) { - return ref.name; - } - if (ref["__anonymousType"]) { - return ref["__anonymousType"]; - } - let identifier = util_1.stringify(ref); - if (identifier.indexOf("(") >= 0) { - identifier = `anonymous_${_anonymousTypeIndex++}`; - ref["__anonymousType"] = identifier; - } else { - identifier = sanitizeIdentifier(identifier); - } - return identifier; - } - exports2.identifierName = identifierName; - function identifierModuleUrl(compileIdentifier) { - const ref = compileIdentifier.reference; - if (ref instanceof static_symbol_1.StaticSymbol) { - return ref.filePath; - } - return `./${util_1.stringify(ref)}`; - } - exports2.identifierModuleUrl = identifierModuleUrl; - function viewClassName(compType, embeddedTemplateIndex) { - return `View_${identifierName({ - reference: compType - })}_${embeddedTemplateIndex}`; - } - exports2.viewClassName = viewClassName; - function rendererTypeName(compType) { - return `RenderType_${identifierName({ - reference: compType - })}`; - } - exports2.rendererTypeName = rendererTypeName; - function hostViewClassName(compType) { - return `HostView_${identifierName({ - reference: compType - })}`; - } - exports2.hostViewClassName = hostViewClassName; - function componentFactoryName(compType) { - return `${identifierName({ - reference: compType - })}NgFactory`; - } - exports2.componentFactoryName = componentFactoryName; - var CompileSummaryKind; - (function(CompileSummaryKind2) { - CompileSummaryKind2[CompileSummaryKind2["Pipe"] = 0] = "Pipe"; - CompileSummaryKind2[CompileSummaryKind2["Directive"] = 1] = "Directive"; - CompileSummaryKind2[CompileSummaryKind2["NgModule"] = 2] = "NgModule"; - CompileSummaryKind2[CompileSummaryKind2["Injectable"] = 3] = "Injectable"; - })(CompileSummaryKind = exports2.CompileSummaryKind || (exports2.CompileSummaryKind = {})); - function tokenName(token) { - return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier); - } - exports2.tokenName = tokenName; - function tokenReference(token) { - if (token.identifier != null) { - return token.identifier.reference; - } else { - return token.value; - } - } - exports2.tokenReference = tokenReference; - var CompileStylesheetMetadata = class { - constructor({ - moduleUrl, - styles, - styleUrls - } = {}) { - this.moduleUrl = moduleUrl || null; - this.styles = _normalizeArray(styles); - this.styleUrls = _normalizeArray(styleUrls); - } - }; - exports2.CompileStylesheetMetadata = CompileStylesheetMetadata; - var CompileTemplateMetadata = class { - constructor({ - encapsulation, - template, - templateUrl, - htmlAst, - styles, - styleUrls, - externalStylesheets, - animations, - ngContentSelectors, - interpolation, - isInline, - preserveWhitespaces - }) { - this.encapsulation = encapsulation; - this.template = template; - this.templateUrl = templateUrl; - this.htmlAst = htmlAst; - this.styles = _normalizeArray(styles); - this.styleUrls = _normalizeArray(styleUrls); - this.externalStylesheets = _normalizeArray(externalStylesheets); - this.animations = animations ? flatten(animations) : []; - this.ngContentSelectors = ngContentSelectors || []; - if (interpolation && interpolation.length != 2) { - throw new Error(`'interpolation' should have a start and an end symbol.`); - } - this.interpolation = interpolation; - this.isInline = isInline; - this.preserveWhitespaces = preserveWhitespaces; - } - toSummary() { - return { - ngContentSelectors: this.ngContentSelectors, - encapsulation: this.encapsulation, - styles: this.styles, - animations: this.animations - }; - } - }; - exports2.CompileTemplateMetadata = CompileTemplateMetadata; - var CompileDirectiveMetadata = class { - static create({ - isHost, - type, - isComponent, - selector, - exportAs, - changeDetection, - inputs, - outputs, - host, - providers, - viewProviders, - queries, - guards, - viewQueries, - entryComponents, - template, - componentViewType, - rendererType, - componentFactory - }) { - const hostListeners = {}; - const hostProperties = {}; - const hostAttributes = {}; - if (host != null) { - Object.keys(host).forEach((key) => { - const value = host[key]; - const matches = key.match(HOST_REG_EXP); - if (matches === null) { - hostAttributes[key] = value; - } else if (matches[1] != null) { - hostProperties[matches[1]] = value; - } else if (matches[2] != null) { - hostListeners[matches[2]] = value; - } - }); - } - const inputsMap = {}; - if (inputs != null) { - inputs.forEach((bindConfig) => { - const parts = util_1.splitAtColon(bindConfig, [bindConfig, bindConfig]); - inputsMap[parts[0]] = parts[1]; - }); - } - const outputsMap = {}; - if (outputs != null) { - outputs.forEach((bindConfig) => { - const parts = util_1.splitAtColon(bindConfig, [bindConfig, bindConfig]); - outputsMap[parts[0]] = parts[1]; - }); - } - return new CompileDirectiveMetadata({ - isHost, - type, - isComponent: !!isComponent, - selector, - exportAs, - changeDetection, - inputs: inputsMap, - outputs: outputsMap, - hostListeners, - hostProperties, - hostAttributes, - providers, - viewProviders, - queries, - guards, - viewQueries, - entryComponents, - template, - componentViewType, - rendererType, - componentFactory - }); - } - constructor({ - isHost, - type, - isComponent, - selector, - exportAs, - changeDetection, - inputs, - outputs, - hostListeners, - hostProperties, - hostAttributes, - providers, - viewProviders, - queries, - guards, - viewQueries, - entryComponents, - template, - componentViewType, - rendererType, - componentFactory - }) { - this.isHost = !!isHost; - this.type = type; - this.isComponent = isComponent; - this.selector = selector; - this.exportAs = exportAs; - this.changeDetection = changeDetection; - this.inputs = inputs; - this.outputs = outputs; - this.hostListeners = hostListeners; - this.hostProperties = hostProperties; - this.hostAttributes = hostAttributes; - this.providers = _normalizeArray(providers); - this.viewProviders = _normalizeArray(viewProviders); - this.queries = _normalizeArray(queries); - this.guards = guards; - this.viewQueries = _normalizeArray(viewQueries); - this.entryComponents = _normalizeArray(entryComponents); - this.template = template; - this.componentViewType = componentViewType; - this.rendererType = rendererType; - this.componentFactory = componentFactory; - } - toSummary() { - return { - summaryKind: CompileSummaryKind.Directive, - type: this.type, - isComponent: this.isComponent, - selector: this.selector, - exportAs: this.exportAs, - inputs: this.inputs, - outputs: this.outputs, - hostListeners: this.hostListeners, - hostProperties: this.hostProperties, - hostAttributes: this.hostAttributes, - providers: this.providers, - viewProviders: this.viewProviders, - queries: this.queries, - guards: this.guards, - viewQueries: this.viewQueries, - entryComponents: this.entryComponents, - changeDetection: this.changeDetection, - template: this.template && this.template.toSummary(), - componentViewType: this.componentViewType, - rendererType: this.rendererType, - componentFactory: this.componentFactory - }; - } - }; - exports2.CompileDirectiveMetadata = CompileDirectiveMetadata; - var CompilePipeMetadata = class { - constructor({ - type, - name, - pure - }) { - this.type = type; - this.name = name; - this.pure = !!pure; - } - toSummary() { - return { - summaryKind: CompileSummaryKind.Pipe, - type: this.type, - name: this.name, - pure: this.pure - }; - } - }; - exports2.CompilePipeMetadata = CompilePipeMetadata; - var CompileShallowModuleMetadata = class { - }; - exports2.CompileShallowModuleMetadata = CompileShallowModuleMetadata; - var CompileNgModuleMetadata = class { - constructor({ - type, - providers, - declaredDirectives, - exportedDirectives, - declaredPipes, - exportedPipes, - entryComponents, - bootstrapComponents, - importedModules, - exportedModules, - schemas, - transitiveModule, - id - }) { - this.type = type || null; - this.declaredDirectives = _normalizeArray(declaredDirectives); - this.exportedDirectives = _normalizeArray(exportedDirectives); - this.declaredPipes = _normalizeArray(declaredPipes); - this.exportedPipes = _normalizeArray(exportedPipes); - this.providers = _normalizeArray(providers); - this.entryComponents = _normalizeArray(entryComponents); - this.bootstrapComponents = _normalizeArray(bootstrapComponents); - this.importedModules = _normalizeArray(importedModules); - this.exportedModules = _normalizeArray(exportedModules); - this.schemas = _normalizeArray(schemas); - this.id = id || null; - this.transitiveModule = transitiveModule || null; - } - toSummary() { - const module3 = this.transitiveModule; - return { - summaryKind: CompileSummaryKind.NgModule, - type: this.type, - entryComponents: module3.entryComponents, - providers: module3.providers, - modules: module3.modules, - exportedDirectives: module3.exportedDirectives, - exportedPipes: module3.exportedPipes - }; - } - }; - exports2.CompileNgModuleMetadata = CompileNgModuleMetadata; - var TransitiveCompileNgModuleMetadata = class { - constructor() { - this.directivesSet = /* @__PURE__ */ new Set(); - this.directives = []; - this.exportedDirectivesSet = /* @__PURE__ */ new Set(); - this.exportedDirectives = []; - this.pipesSet = /* @__PURE__ */ new Set(); - this.pipes = []; - this.exportedPipesSet = /* @__PURE__ */ new Set(); - this.exportedPipes = []; - this.modulesSet = /* @__PURE__ */ new Set(); - this.modules = []; - this.entryComponentsSet = /* @__PURE__ */ new Set(); - this.entryComponents = []; - this.providers = []; - } - addProvider(provider, module3) { - this.providers.push({ - provider, - module: module3 - }); - } - addDirective(id) { - if (!this.directivesSet.has(id.reference)) { - this.directivesSet.add(id.reference); - this.directives.push(id); - } - } - addExportedDirective(id) { - if (!this.exportedDirectivesSet.has(id.reference)) { - this.exportedDirectivesSet.add(id.reference); - this.exportedDirectives.push(id); - } - } - addPipe(id) { - if (!this.pipesSet.has(id.reference)) { - this.pipesSet.add(id.reference); - this.pipes.push(id); - } - } - addExportedPipe(id) { - if (!this.exportedPipesSet.has(id.reference)) { - this.exportedPipesSet.add(id.reference); - this.exportedPipes.push(id); - } - } - addModule(id) { - if (!this.modulesSet.has(id.reference)) { - this.modulesSet.add(id.reference); - this.modules.push(id); - } - } - addEntryComponent(ec) { - if (!this.entryComponentsSet.has(ec.componentType)) { - this.entryComponentsSet.add(ec.componentType); - this.entryComponents.push(ec); - } - } - }; - exports2.TransitiveCompileNgModuleMetadata = TransitiveCompileNgModuleMetadata; - function _normalizeArray(obj) { - return obj || []; - } - var ProviderMeta = class { - constructor(token, { - useClass, - useValue, - useExisting, - useFactory, - deps, - multi - }) { - this.token = token; - this.useClass = useClass || null; - this.useValue = useValue; - this.useExisting = useExisting; - this.useFactory = useFactory || null; - this.dependencies = deps || null; - this.multi = !!multi; - } - }; - exports2.ProviderMeta = ProviderMeta; - function flatten(list) { - return list.reduce((flat, item) => { - const flatItem = Array.isArray(item) ? flatten(item) : item; - return flat.concat(flatItem); - }, []); - } - exports2.flatten = flatten; - function jitSourceUrl(url) { - return url.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/, "ng:///"); - } - function templateSourceUrl(ngModuleType, compMeta, templateMeta) { - let url; - if (templateMeta.isInline) { - if (compMeta.type.reference instanceof static_symbol_1.StaticSymbol) { - url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`; - } else { - url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`; - } - } else { - url = templateMeta.templateUrl; - } - return compMeta.type.reference instanceof static_symbol_1.StaticSymbol ? url : jitSourceUrl(url); - } - exports2.templateSourceUrl = templateSourceUrl; - function sharedStylesheetJitUrl(meta, id) { - const pathParts = meta.moduleUrl.split(/\/\\/g); - const baseName = pathParts[pathParts.length - 1]; - return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`); - } - exports2.sharedStylesheetJitUrl = sharedStylesheetJitUrl; - function ngModuleJitUrl(moduleMeta) { - return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`); - } - exports2.ngModuleJitUrl = ngModuleJitUrl; - function templateJitUrl(ngModuleType, compMeta) { - return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`); - } - exports2.templateJitUrl = templateJitUrl; - } -}); -var require_parse_util = __commonJS2({ - "node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var chars = require_chars(); - var compile_metadata_1 = require_compile_metadata(); - var ParseLocation = class { - constructor(file, offset, line, col) { - this.file = file; - this.offset = offset; - this.line = line; - this.col = col; - } - toString() { - return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url; - } - moveBy(delta) { - const source = this.file.content; - const len = source.length; - let offset = this.offset; - let line = this.line; - let col = this.col; - while (offset > 0 && delta < 0) { - offset--; - delta++; - const ch = source.charCodeAt(offset); - if (ch == chars.$LF) { - line--; - const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode(chars.$LF)); - col = priorLine > 0 ? offset - priorLine : offset; - } else { - col--; - } - } - while (offset < len && delta > 0) { - const ch = source.charCodeAt(offset); - offset++; - delta--; - if (ch == chars.$LF) { - line++; - col = 0; - } else { - col++; - } - } - return new ParseLocation(this.file, offset, line, col); - } - getContext(maxChars, maxLines) { - const content = this.file.content; - let startOffset = this.offset; - if (startOffset != null) { - if (startOffset > content.length - 1) { - startOffset = content.length - 1; - } - let endOffset = startOffset; - let ctxChars = 0; - let ctxLines = 0; - while (ctxChars < maxChars && startOffset > 0) { - startOffset--; - ctxChars++; - if (content[startOffset] == "\n") { - if (++ctxLines == maxLines) { - break; - } - } - } - ctxChars = 0; - ctxLines = 0; - while (ctxChars < maxChars && endOffset < content.length - 1) { - endOffset++; - ctxChars++; - if (content[endOffset] == "\n") { - if (++ctxLines == maxLines) { - break; - } - } - } - return { - before: content.substring(startOffset, this.offset), - after: content.substring(this.offset, endOffset + 1) - }; - } - return null; - } - }; - exports2.ParseLocation = ParseLocation; - var ParseSourceFile = class { - constructor(content, url) { - this.content = content; - this.url = url; - } - }; - exports2.ParseSourceFile = ParseSourceFile; - var ParseSourceSpan = class { - constructor(start, end, details = null) { - this.start = start; - this.end = end; - this.details = details; - } - toString() { - return this.start.file.content.substring(this.start.offset, this.end.offset); - } - }; - exports2.ParseSourceSpan = ParseSourceSpan; - exports2.EMPTY_PARSE_LOCATION = new ParseLocation(new ParseSourceFile("", ""), 0, 0, 0); - exports2.EMPTY_SOURCE_SPAN = new ParseSourceSpan(exports2.EMPTY_PARSE_LOCATION, exports2.EMPTY_PARSE_LOCATION); - var ParseErrorLevel; - (function(ParseErrorLevel2) { - ParseErrorLevel2[ParseErrorLevel2["WARNING"] = 0] = "WARNING"; - ParseErrorLevel2[ParseErrorLevel2["ERROR"] = 1] = "ERROR"; - })(ParseErrorLevel = exports2.ParseErrorLevel || (exports2.ParseErrorLevel = {})); - var ParseError = class { - constructor(span, msg, level = ParseErrorLevel.ERROR) { - this.span = span; - this.msg = msg; - this.level = level; - } - contextualMessage() { - const ctx = this.span.start.getContext(100, 3); - return ctx ? `${this.msg} ("${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}")` : this.msg; - } - toString() { - const details = this.span.details ? `, ${this.span.details}` : ""; - return `${this.contextualMessage()}: ${this.span.start}${details}`; - } - }; - exports2.ParseError = ParseError; - function typeSourceSpan(kind, type) { - const moduleUrl = compile_metadata_1.identifierModuleUrl(type); - const sourceFileName = moduleUrl != null ? `in ${kind} ${compile_metadata_1.identifierName(type)} in ${moduleUrl}` : `in ${kind} ${compile_metadata_1.identifierName(type)}`; - const sourceFile = new ParseSourceFile("", sourceFileName); - return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1)); - } - exports2.typeSourceSpan = typeSourceSpan; - function r3JitTypeSourceSpan(kind, typeName, sourceUrl) { - const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`; - const sourceFile = new ParseSourceFile("", sourceFileName); - return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1)); - } - exports2.r3JitTypeSourceSpan = r3JitTypeSourceSpan; - } -}); -var require_print_preprocess3 = __commonJS2({ - "src/language-html/print-preprocess.js"(exports2, module2) { - "use strict"; - var { - ParseSourceSpan - } = require_parse_util(); - var { - htmlTrim, - getLeadingAndTrailingHtmlWhitespace, - hasHtmlWhitespace, - canHaveInterpolation, - getNodeCssStyleDisplay, - isDanglingSpaceSensitiveNode, - isIndentationSensitiveNode, - isLeadingSpaceSensitiveNode, - isTrailingSpaceSensitiveNode, - isWhitespaceSensitiveNode, - isVueScriptTag - } = require_utils11(); - var PREPROCESS_PIPELINE = [removeIgnorableFirstLf, mergeIfConditionalStartEndCommentIntoElementOpeningTag, mergeCdataIntoText, extractInterpolation, extractWhitespaces, addCssDisplay, addIsSelfClosing, addHasHtmComponentClosingTag, addIsSpaceSensitive, mergeSimpleElementIntoText, markTsScript]; - function preprocess(ast, options) { - for (const fn of PREPROCESS_PIPELINE) { - fn(ast, options); - } - return ast; - } - function removeIgnorableFirstLf(ast) { - ast.walk((node) => { - if (node.type === "element" && node.tagDefinition.ignoreFirstLf && node.children.length > 0 && node.children[0].type === "text" && node.children[0].value[0] === "\n") { - const text = node.children[0]; - if (text.value.length === 1) { - node.removeChild(text); - } else { - text.value = text.value.slice(1); - } - } - }); - } - function mergeIfConditionalStartEndCommentIntoElementOpeningTag(ast) { - const isTarget = (node) => node.type === "element" && node.prev && node.prev.type === "ieConditionalStartComment" && node.prev.sourceSpan.end.offset === node.startSourceSpan.start.offset && node.firstChild && node.firstChild.type === "ieConditionalEndComment" && node.firstChild.sourceSpan.start.offset === node.startSourceSpan.end.offset; - ast.walk((node) => { - if (node.children) { - for (let i = 0; i < node.children.length; i++) { - const child = node.children[i]; - if (!isTarget(child)) { - continue; - } - const ieConditionalStartComment = child.prev; - const ieConditionalEndComment = child.firstChild; - node.removeChild(ieConditionalStartComment); - i--; - const startSourceSpan = new ParseSourceSpan(ieConditionalStartComment.sourceSpan.start, ieConditionalEndComment.sourceSpan.end); - const sourceSpan = new ParseSourceSpan(startSourceSpan.start, child.sourceSpan.end); - child.condition = ieConditionalStartComment.condition; - child.sourceSpan = sourceSpan; - child.startSourceSpan = startSourceSpan; - child.removeChild(ieConditionalEndComment); - } - } - }); - } - function mergeNodeIntoText(ast, shouldMerge, getValue) { - ast.walk((node) => { - if (node.children) { - for (let i = 0; i < node.children.length; i++) { - const child = node.children[i]; - if (child.type !== "text" && !shouldMerge(child)) { - continue; - } - if (child.type !== "text") { - child.type = "text"; - child.value = getValue(child); - } - const prevChild = child.prev; - if (!prevChild || prevChild.type !== "text") { - continue; - } - prevChild.value += child.value; - prevChild.sourceSpan = new ParseSourceSpan(prevChild.sourceSpan.start, child.sourceSpan.end); - node.removeChild(child); - i--; - } - } - }); - } - function mergeCdataIntoText(ast) { - return mergeNodeIntoText(ast, (node) => node.type === "cdata", (node) => ``); - } - function mergeSimpleElementIntoText(ast) { - const isSimpleElement = (node) => node.type === "element" && node.attrs.length === 0 && node.children.length === 1 && node.firstChild.type === "text" && !hasHtmlWhitespace(node.children[0].value) && !node.firstChild.hasLeadingSpaces && !node.firstChild.hasTrailingSpaces && node.isLeadingSpaceSensitive && !node.hasLeadingSpaces && node.isTrailingSpaceSensitive && !node.hasTrailingSpaces && node.prev && node.prev.type === "text" && node.next && node.next.type === "text"; - ast.walk((node) => { - if (node.children) { - for (let i = 0; i < node.children.length; i++) { - const child = node.children[i]; - if (!isSimpleElement(child)) { - continue; - } - const prevChild = child.prev; - const nextChild = child.next; - prevChild.value += `<${child.rawName}>` + child.firstChild.value + `` + nextChild.value; - prevChild.sourceSpan = new ParseSourceSpan(prevChild.sourceSpan.start, nextChild.sourceSpan.end); - prevChild.isTrailingSpaceSensitive = nextChild.isTrailingSpaceSensitive; - prevChild.hasTrailingSpaces = nextChild.hasTrailingSpaces; - node.removeChild(child); - i--; - node.removeChild(nextChild); - } - } - }); - } - function extractInterpolation(ast, options) { - if (options.parser === "html") { - return; - } - const interpolationRegex = /{{(.+?)}}/s; - ast.walk((node) => { - if (!canHaveInterpolation(node)) { - return; - } - for (const child of node.children) { - if (child.type !== "text") { - continue; - } - let startSourceSpan = child.sourceSpan.start; - let endSourceSpan = null; - const components = child.value.split(interpolationRegex); - for (let i = 0; i < components.length; i++, startSourceSpan = endSourceSpan) { - const value = components[i]; - if (i % 2 === 0) { - endSourceSpan = startSourceSpan.moveBy(value.length); - if (value.length > 0) { - node.insertChildBefore(child, { - type: "text", - value, - sourceSpan: new ParseSourceSpan(startSourceSpan, endSourceSpan) - }); - } - continue; - } - endSourceSpan = startSourceSpan.moveBy(value.length + 4); - node.insertChildBefore(child, { - type: "interpolation", - sourceSpan: new ParseSourceSpan(startSourceSpan, endSourceSpan), - children: value.length === 0 ? [] : [{ - type: "text", - value, - sourceSpan: new ParseSourceSpan(startSourceSpan.moveBy(2), endSourceSpan.moveBy(-2)) - }] - }); - } - node.removeChild(child); - } - }); - } - function extractWhitespaces(ast) { - ast.walk((node) => { - if (!node.children) { - return; - } - if (node.children.length === 0 || node.children.length === 1 && node.children[0].type === "text" && htmlTrim(node.children[0].value).length === 0) { - node.hasDanglingSpaces = node.children.length > 0; - node.children = []; - return; - } - const isWhitespaceSensitive = isWhitespaceSensitiveNode(node); - const isIndentationSensitive = isIndentationSensitiveNode(node); - if (!isWhitespaceSensitive) { - for (let i = 0; i < node.children.length; i++) { - const child = node.children[i]; - if (child.type !== "text") { - continue; - } - const { - leadingWhitespace, - text, - trailingWhitespace - } = getLeadingAndTrailingHtmlWhitespace(child.value); - const prevChild = child.prev; - const nextChild = child.next; - if (!text) { - node.removeChild(child); - i--; - if (leadingWhitespace || trailingWhitespace) { - if (prevChild) { - prevChild.hasTrailingSpaces = true; - } - if (nextChild) { - nextChild.hasLeadingSpaces = true; - } - } - } else { - child.value = text; - child.sourceSpan = new ParseSourceSpan(child.sourceSpan.start.moveBy(leadingWhitespace.length), child.sourceSpan.end.moveBy(-trailingWhitespace.length)); - if (leadingWhitespace) { - if (prevChild) { - prevChild.hasTrailingSpaces = true; - } - child.hasLeadingSpaces = true; - } - if (trailingWhitespace) { - child.hasTrailingSpaces = true; - if (nextChild) { - nextChild.hasLeadingSpaces = true; - } - } - } - } - } - node.isWhitespaceSensitive = isWhitespaceSensitive; - node.isIndentationSensitive = isIndentationSensitive; - }); - } - function addIsSelfClosing(ast) { - ast.walk((node) => { - node.isSelfClosing = !node.children || node.type === "element" && (node.tagDefinition.isVoid || node.startSourceSpan === node.endSourceSpan); - }); - } - function addHasHtmComponentClosingTag(ast, options) { - ast.walk((node) => { - if (node.type !== "element") { - return; - } - node.hasHtmComponentClosingTag = node.endSourceSpan && /^<\s*\/\s*\/\s*>$/.test(options.originalText.slice(node.endSourceSpan.start.offset, node.endSourceSpan.end.offset)); - }); - } - function addCssDisplay(ast, options) { - ast.walk((node) => { - node.cssDisplay = getNodeCssStyleDisplay(node, options); - }); - } - function addIsSpaceSensitive(ast, options) { - ast.walk((node) => { - const { - children - } = node; - if (!children) { - return; - } - if (children.length === 0) { - node.isDanglingSpaceSensitive = isDanglingSpaceSensitiveNode(node); - return; - } - for (const child of children) { - child.isLeadingSpaceSensitive = isLeadingSpaceSensitiveNode(child, options); - child.isTrailingSpaceSensitive = isTrailingSpaceSensitiveNode(child, options); - } - for (let index = 0; index < children.length; index++) { - const child = children[index]; - child.isLeadingSpaceSensitive = index === 0 ? child.isLeadingSpaceSensitive : child.prev.isTrailingSpaceSensitive && child.isLeadingSpaceSensitive; - child.isTrailingSpaceSensitive = index === children.length - 1 ? child.isTrailingSpaceSensitive : child.next.isLeadingSpaceSensitive && child.isTrailingSpaceSensitive; - } - }); - } - function markTsScript(ast, options) { - if (options.parser === "vue") { - const vueScriptTag = ast.children.find((child) => isVueScriptTag(child, options)); - if (!vueScriptTag) { - return; - } - const { - lang - } = vueScriptTag.attrMap; - if (lang === "ts" || lang === "typescript") { - options.__should_parse_vue_template_with_ts = true; - } - } - } - module2.exports = preprocess; - } -}); -var require_pragma5 = __commonJS2({ - "src/language-html/pragma.js"(exports2, module2) { - "use strict"; - function hasPragma(text) { - return /^\s*/.test(text); - } - function insertPragma(text) { - return "\n\n" + text.replace(/^\s*\n/, ""); - } - module2.exports = { - hasPragma, - insertPragma - }; - } -}); -var require_loc6 = __commonJS2({ - "src/language-html/loc.js"(exports2, module2) { - "use strict"; - function locStart(node) { - return node.sourceSpan.start.offset; - } - function locEnd(node) { - return node.sourceSpan.end.offset; - } - module2.exports = { - locStart, - locEnd - }; - } -}); -var require_tag = __commonJS2({ - "src/language-html/print/tag.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { - isNonEmptyArray - } = require_util(); - var { - builders: { - indent, - join, - line, - softline, - hardline - }, - utils: { - replaceTextEndOfLine - } - } = require("./doc.js"); - var { - locStart, - locEnd - } = require_loc6(); - var { - isTextLikeNode, - getLastDescendant, - isPreLikeNode, - hasPrettierIgnore, - shouldPreserveContent, - isVueSfcBlock - } = require_utils11(); - function printClosingTag(node, options) { - return [node.isSelfClosing ? "" : printClosingTagStart(node, options), printClosingTagEnd(node, options)]; - } - function printClosingTagStart(node, options) { - return node.lastChild && needsToBorrowParentClosingTagStartMarker(node.lastChild) ? "" : [printClosingTagPrefix(node, options), printClosingTagStartMarker(node, options)]; - } - function printClosingTagEnd(node, options) { - return (node.next ? needsToBorrowPrevClosingTagEndMarker(node.next) : needsToBorrowLastChildClosingTagEndMarker(node.parent)) ? "" : [printClosingTagEndMarker(node, options), printClosingTagSuffix(node, options)]; - } - function printClosingTagPrefix(node, options) { - return needsToBorrowLastChildClosingTagEndMarker(node) ? printClosingTagEndMarker(node.lastChild, options) : ""; - } - function printClosingTagSuffix(node, options) { - return needsToBorrowParentClosingTagStartMarker(node) ? printClosingTagStartMarker(node.parent, options) : needsToBorrowNextOpeningTagStartMarker(node) ? printOpeningTagStartMarker(node.next) : ""; - } - function printClosingTagStartMarker(node, options) { - assert(!node.isSelfClosing); - if (shouldNotPrintClosingTag(node, options)) { - return ""; - } - switch (node.type) { - case "ieConditionalComment": - return ""; - case "ieConditionalStartComment": - return "]>"; - case "interpolation": - return "}}"; - case "element": - if (node.isSelfClosing) { - return "/>"; - } - default: - return ">"; - } - } - function shouldNotPrintClosingTag(node, options) { - return !node.isSelfClosing && !node.endSourceSpan && (hasPrettierIgnore(node) || shouldPreserveContent(node.parent, options)); - } - function needsToBorrowPrevClosingTagEndMarker(node) { - return node.prev && node.prev.type !== "docType" && !isTextLikeNode(node.prev) && node.isLeadingSpaceSensitive && !node.hasLeadingSpaces; - } - function needsToBorrowLastChildClosingTagEndMarker(node) { - return node.lastChild && node.lastChild.isTrailingSpaceSensitive && !node.lastChild.hasTrailingSpaces && !isTextLikeNode(getLastDescendant(node.lastChild)) && !isPreLikeNode(node); - } - function needsToBorrowParentClosingTagStartMarker(node) { - return !node.next && !node.hasTrailingSpaces && node.isTrailingSpaceSensitive && isTextLikeNode(getLastDescendant(node)); - } - function needsToBorrowNextOpeningTagStartMarker(node) { - return node.next && !isTextLikeNode(node.next) && isTextLikeNode(node) && node.isTrailingSpaceSensitive && !node.hasTrailingSpaces; - } - function getPrettierIgnoreAttributeCommentData(value) { - const match = value.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s); - if (!match) { - return false; - } - if (!match[1]) { - return true; - } - return match[1].split(/\s+/); - } - function needsToBorrowParentOpeningTagEndMarker(node) { - return !node.prev && node.isLeadingSpaceSensitive && !node.hasLeadingSpaces; - } - function printAttributes(path, options, print) { - const node = path.getValue(); - if (!isNonEmptyArray(node.attrs)) { - return node.isSelfClosing ? " " : ""; - } - const ignoreAttributeData = node.prev && node.prev.type === "comment" && getPrettierIgnoreAttributeCommentData(node.prev.value); - const hasPrettierIgnoreAttribute = typeof ignoreAttributeData === "boolean" ? () => ignoreAttributeData : Array.isArray(ignoreAttributeData) ? (attribute) => ignoreAttributeData.includes(attribute.rawName) : () => false; - const printedAttributes = path.map((attributePath) => { - const attribute = attributePath.getValue(); - return hasPrettierIgnoreAttribute(attribute) ? replaceTextEndOfLine(options.originalText.slice(locStart(attribute), locEnd(attribute))) : print(); - }, "attrs"); - const forceNotToBreakAttrContent = node.type === "element" && node.fullName === "script" && node.attrs.length === 1 && node.attrs[0].fullName === "src" && node.children.length === 0; - const shouldPrintAttributePerLine = options.singleAttributePerLine && node.attrs.length > 1 && !isVueSfcBlock(node, options); - const attributeLine = shouldPrintAttributePerLine ? hardline : line; - const parts = [indent([forceNotToBreakAttrContent ? " " : line, join(attributeLine, printedAttributes)])]; - if (node.firstChild && needsToBorrowParentOpeningTagEndMarker(node.firstChild) || node.isSelfClosing && needsToBorrowLastChildClosingTagEndMarker(node.parent) || forceNotToBreakAttrContent) { - parts.push(node.isSelfClosing ? " " : ""); - } else { - parts.push(options.bracketSameLine ? node.isSelfClosing ? " " : "" : node.isSelfClosing ? line : softline); - } - return parts; - } - function printOpeningTagEnd(node) { - return node.firstChild && needsToBorrowParentOpeningTagEndMarker(node.firstChild) ? "" : printOpeningTagEndMarker(node); - } - function printOpeningTag(path, options, print) { - const node = path.getValue(); - return [printOpeningTagStart(node, options), printAttributes(path, options, print), node.isSelfClosing ? "" : printOpeningTagEnd(node)]; - } - function printOpeningTagStart(node, options) { - return node.prev && needsToBorrowNextOpeningTagStartMarker(node.prev) ? "" : [printOpeningTagPrefix(node, options), printOpeningTagStartMarker(node)]; - } - function printOpeningTagPrefix(node, options) { - return needsToBorrowParentOpeningTagEndMarker(node) ? printOpeningTagEndMarker(node.parent) : needsToBorrowPrevClosingTagEndMarker(node) ? printClosingTagEndMarker(node.prev, options) : ""; - } - function printOpeningTagStartMarker(node) { - switch (node.type) { - case "ieConditionalComment": - case "ieConditionalStartComment": - return `<${node.rawName}`; - } - default: - return `<${node.rawName}`; - } - } - function printOpeningTagEndMarker(node) { - assert(!node.isSelfClosing); - switch (node.type) { - case "ieConditionalComment": - return "]>"; - case "element": - if (node.condition) { - return ">"; - } - default: - return ">"; - } - } - module2.exports = { - printClosingTag, - printClosingTagStart, - printClosingTagStartMarker, - printClosingTagEndMarker, - printClosingTagSuffix, - printClosingTagEnd, - needsToBorrowLastChildClosingTagEndMarker, - needsToBorrowParentClosingTagStartMarker, - needsToBorrowPrevClosingTagEndMarker, - printOpeningTag, - printOpeningTagStart, - printOpeningTagPrefix, - printOpeningTagStartMarker, - printOpeningTagEndMarker, - needsToBorrowNextOpeningTagStartMarker, - needsToBorrowParentOpeningTagEndMarker - }; - } -}); -var require_parse_srcset = __commonJS2({ - "node_modules/parse-srcset/src/parse-srcset.js"(exports2, module2) { - (function(root, factory) { - if (typeof define === "function" && define.amd) { - define([], factory); - } else if (typeof module2 === "object" && module2.exports) { - module2.exports = factory(); - } else { - root.parseSrcset = factory(); - } - })(exports2, function() { - return function(input, options) { - var logger = options && options.logger || console; - function isSpace(c2) { - return c2 === " " || c2 === " " || c2 === "\n" || c2 === "\f" || c2 === "\r"; - } - function collectCharacters(regEx) { - var chars, match = regEx.exec(input.substring(pos)); - if (match) { - chars = match[0]; - pos += chars.length; - return chars; - } - } - var inputLength = input.length, regexLeadingSpaces = /^[ \t\n\r\u000c]+/, regexLeadingCommasOrSpaces = /^[, \t\n\r\u000c]+/, regexLeadingNotSpaces = /^[^ \t\n\r\u000c]+/, regexTrailingCommas = /[,]+$/, regexNonNegativeInteger = /^\d+$/, regexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/, url, descriptors, currentDescriptor, state, c, pos = 0, candidates = []; - while (true) { - collectCharacters(regexLeadingCommasOrSpaces); - if (pos >= inputLength) { - return candidates; - } - url = collectCharacters(regexLeadingNotSpaces); - descriptors = []; - if (url.slice(-1) === ",") { - url = url.replace(regexTrailingCommas, ""); - parseDescriptors(); - } else { - tokenize(); - } - } - function tokenize() { - collectCharacters(regexLeadingSpaces); - currentDescriptor = ""; - state = "in descriptor"; - while (true) { - c = input.charAt(pos); - if (state === "in descriptor") { - if (isSpace(c)) { - if (currentDescriptor) { - descriptors.push(currentDescriptor); - currentDescriptor = ""; - state = "after descriptor"; - } - } else if (c === ",") { - pos += 1; - if (currentDescriptor) { - descriptors.push(currentDescriptor); - } - parseDescriptors(); - return; - } else if (c === "(") { - currentDescriptor = currentDescriptor + c; - state = "in parens"; - } else if (c === "") { - if (currentDescriptor) { - descriptors.push(currentDescriptor); - } - parseDescriptors(); - return; - } else { - currentDescriptor = currentDescriptor + c; - } - } else if (state === "in parens") { - if (c === ")") { - currentDescriptor = currentDescriptor + c; - state = "in descriptor"; - } else if (c === "") { - descriptors.push(currentDescriptor); - parseDescriptors(); - return; - } else { - currentDescriptor = currentDescriptor + c; - } - } else if (state === "after descriptor") { - if (isSpace(c)) { - } else if (c === "") { - parseDescriptors(); - return; - } else { - state = "in descriptor"; - pos -= 1; - } - } - pos += 1; - } - } - function parseDescriptors() { - var pError = false, w, d, h, i, candidate = {}, desc, lastChar, value, intVal, floatVal; - for (i = 0; i < descriptors.length; i++) { - desc = descriptors[i]; - lastChar = desc[desc.length - 1]; - value = desc.substring(0, desc.length - 1); - intVal = parseInt(value, 10); - floatVal = parseFloat(value); - if (regexNonNegativeInteger.test(value) && lastChar === "w") { - if (w || d) { - pError = true; - } - if (intVal === 0) { - pError = true; - } else { - w = intVal; - } - } else if (regexFloatingPoint.test(value) && lastChar === "x") { - if (w || d || h) { - pError = true; - } - if (floatVal < 0) { - pError = true; - } else { - d = floatVal; - } - } else if (regexNonNegativeInteger.test(value) && lastChar === "h") { - if (h || d) { - pError = true; - } - if (intVal === 0) { - pError = true; - } else { - h = intVal; - } - } else { - pError = true; - } - } - if (!pError) { - candidate.url = url; - if (w) { - candidate.w = w; - } - if (d) { - candidate.d = d; - } - if (h) { - candidate.h = h; - } - candidates.push(candidate); - } else if (logger && logger.error) { - logger.error("Invalid srcset descriptor found in '" + input + "' at '" + desc + "'."); - } - } - }; - }); - } -}); -var require_syntax_attribute = __commonJS2({ - "src/language-html/syntax-attribute.js"(exports2, module2) { - "use strict"; - var parseSrcset = require_parse_srcset(); - var { - builders: { - ifBreak, - join, - line - } - } = require("./doc.js"); - function printImgSrcset(value) { - const srcset = parseSrcset(value, { - logger: { - error(message) { - throw new Error(message); - } - } - }); - const hasW = srcset.some(({ - w - }) => w); - const hasH = srcset.some(({ - h - }) => h); - const hasX = srcset.some(({ - d - }) => d); - if (hasW + hasH + hasX > 1) { - throw new Error("Mixed descriptor in srcset is not supported"); - } - const key = hasW ? "w" : hasH ? "h" : "d"; - const unit = hasW ? "w" : hasH ? "h" : "x"; - const getMax = (values) => Math.max(...values); - const urls = srcset.map((src) => src.url); - const maxUrlLength = getMax(urls.map((url) => url.length)); - const descriptors = srcset.map((src) => src[key]).map((descriptor) => descriptor ? descriptor.toString() : ""); - const descriptorLeftLengths = descriptors.map((descriptor) => { - const index = descriptor.indexOf("."); - return index === -1 ? descriptor.length : index; - }); - const maxDescriptorLeftLength = getMax(descriptorLeftLengths); - return join([",", line], urls.map((url, index) => { - const parts = [url]; - const descriptor = descriptors[index]; - if (descriptor) { - const urlPadding = maxUrlLength - url.length + 1; - const descriptorPadding = maxDescriptorLeftLength - descriptorLeftLengths[index]; - const alignment = " ".repeat(urlPadding + descriptorPadding); - parts.push(ifBreak(alignment, " "), descriptor + unit); - } - return parts; - })); - } - function printClassNames(value) { - return value.trim().split(/\s+/).join(" "); - } - module2.exports = { - printImgSrcset, - printClassNames - }; - } -}); -var require_syntax_vue = __commonJS2({ - "src/language-html/syntax-vue.js"(exports2, module2) { - "use strict"; - var { - builders: { - group - } - } = require("./doc.js"); - function printVueFor(value, textToDoc) { - const { - left, - operator, - right - } = parseVueFor(value); - return [group(textToDoc(`function _(${left}) {}`, { - parser: "babel", - __isVueForBindingLeft: true - })), " ", operator, " ", textToDoc(right, { - parser: "__js_expression" - }, { - stripTrailingHardline: true - })]; - } - function parseVueFor(value) { - const forAliasRE = /(.*?)\s+(in|of)\s+(.*)/s; - const forIteratorRE = /,([^,\]}]*)(?:,([^,\]}]*))?$/; - const stripParensRE = /^\(|\)$/g; - const inMatch = value.match(forAliasRE); - if (!inMatch) { - return; - } - const res = {}; - res.for = inMatch[3].trim(); - if (!res.for) { - return; - } - const alias = inMatch[1].trim().replace(stripParensRE, ""); - const iteratorMatch = alias.match(forIteratorRE); - if (iteratorMatch) { - res.alias = alias.replace(forIteratorRE, ""); - res.iterator1 = iteratorMatch[1].trim(); - if (iteratorMatch[2]) { - res.iterator2 = iteratorMatch[2].trim(); - } - } else { - res.alias = alias; - } - const left = [res.alias, res.iterator1, res.iterator2]; - if (left.some((part, index) => !part && (index === 0 || left.slice(index + 1).some(Boolean)))) { - return; - } - return { - left: left.filter(Boolean).join(","), - operator: inMatch[2], - right: res.for - }; - } - function printVueBindings(value, textToDoc) { - return textToDoc(`function _(${value}) {}`, { - parser: "babel", - __isVueBindings: true - }); - } - function isVueEventBindingExpression(eventBindingValue) { - const fnExpRE = /^(?:[\w$]+|\([^)]*\))\s*=>|^function\s*\(/; - const simplePathRE = /^[$A-Z_a-z][\w$]*(?:\.[$A-Z_a-z][\w$]*|\['[^']*']|\["[^"]*"]|\[\d+]|\[[$A-Z_a-z][\w$]*])*$/; - const value = eventBindingValue.trim(); - return fnExpRE.test(value) || simplePathRE.test(value); - } - module2.exports = { - isVueEventBindingExpression, - printVueFor, - printVueBindings - }; - } -}); -var require_get_node_content = __commonJS2({ - "src/language-html/get-node-content.js"(exports2, module2) { - "use strict"; - var { - needsToBorrowParentClosingTagStartMarker, - printClosingTagStartMarker, - needsToBorrowLastChildClosingTagEndMarker, - printClosingTagEndMarker, - needsToBorrowParentOpeningTagEndMarker, - printOpeningTagEndMarker - } = require_tag(); - function getNodeContent(node, options) { - let start = node.startSourceSpan.end.offset; - if (node.firstChild && needsToBorrowParentOpeningTagEndMarker(node.firstChild)) { - start -= printOpeningTagEndMarker(node).length; - } - let end = node.endSourceSpan.start.offset; - if (node.lastChild && needsToBorrowParentClosingTagStartMarker(node.lastChild)) { - end += printClosingTagStartMarker(node, options).length; - } else if (needsToBorrowLastChildClosingTagEndMarker(node)) { - end -= printClosingTagEndMarker(node.lastChild, options).length; - } - return options.originalText.slice(start, end); - } - module2.exports = getNodeContent; - } -}); -var require_embed4 = __commonJS2({ - "src/language-html/embed.js"(exports2, module2) { - "use strict"; - var { - builders: { - breakParent, - group, - hardline, - indent, - line, - fill, - softline - }, - utils: { - mapDoc, - replaceTextEndOfLine - } - } = require("./doc.js"); - var printFrontMatter = require_print(); - var { - printClosingTag, - printClosingTagSuffix, - needsToBorrowPrevClosingTagEndMarker, - printOpeningTagPrefix, - printOpeningTag - } = require_tag(); - var { - printImgSrcset, - printClassNames - } = require_syntax_attribute(); - var { - printVueFor, - printVueBindings, - isVueEventBindingExpression - } = require_syntax_vue(); - var { - isScriptLikeTag, - isVueNonHtmlBlock, - inferScriptParser, - htmlTrimPreserveIndentation, - dedentString, - unescapeQuoteEntities, - isVueSlotAttribute, - isVueSfcBindingsAttribute, - getTextValueParts - } = require_utils11(); - var getNodeContent = require_get_node_content(); - function printEmbeddedAttributeValue(node, htmlTextToDoc, options) { - const isKeyMatched = (patterns) => new RegExp(patterns.join("|")).test(node.fullName); - const getValue = () => unescapeQuoteEntities(node.value); - let shouldHug = false; - const __onHtmlBindingRoot = (root, options2) => { - const rootNode = root.type === "NGRoot" ? root.node.type === "NGMicrosyntax" && root.node.body.length === 1 && root.node.body[0].type === "NGMicrosyntaxExpression" ? root.node.body[0].expression : root.node : root.type === "JsExpressionRoot" ? root.node : root; - if (rootNode && (rootNode.type === "ObjectExpression" || rootNode.type === "ArrayExpression" || options2.parser === "__vue_expression" && (rootNode.type === "TemplateLiteral" || rootNode.type === "StringLiteral"))) { - shouldHug = true; - } - }; - const printHug = (doc2) => group(doc2); - const printExpand = (doc2, canHaveTrailingWhitespace = true) => group([indent([softline, doc2]), canHaveTrailingWhitespace ? softline : ""]); - const printMaybeHug = (doc2) => shouldHug ? printHug(doc2) : printExpand(doc2); - const attributeTextToDoc = (code, opts) => htmlTextToDoc(code, Object.assign({ - __onHtmlBindingRoot, - __embeddedInHtml: true - }, opts)); - if (node.fullName === "srcset" && (node.parent.fullName === "img" || node.parent.fullName === "source")) { - return printExpand(printImgSrcset(getValue())); - } - if (node.fullName === "class" && !options.parentParser) { - const value = getValue(); - if (!value.includes("{{")) { - return printClassNames(value); - } - } - if (node.fullName === "style" && !options.parentParser) { - const value = getValue(); - if (!value.includes("{{")) { - return printExpand(attributeTextToDoc(value, { - parser: "css", - __isHTMLStyleAttribute: true - })); - } - } - if (options.parser === "vue") { - if (node.fullName === "v-for") { - return printVueFor(getValue(), attributeTextToDoc); - } - if (isVueSlotAttribute(node) || isVueSfcBindingsAttribute(node, options)) { - return printVueBindings(getValue(), attributeTextToDoc); - } - const vueEventBindingPatterns = ["^@", "^v-on:"]; - const vueExpressionBindingPatterns = ["^:", "^v-bind:"]; - const jsExpressionBindingPatterns = ["^v-"]; - if (isKeyMatched(vueEventBindingPatterns)) { - const value = getValue(); - const parser = isVueEventBindingExpression(value) ? "__js_expression" : options.__should_parse_vue_template_with_ts ? "__vue_ts_event_binding" : "__vue_event_binding"; - return printMaybeHug(attributeTextToDoc(value, { - parser - })); - } - if (isKeyMatched(vueExpressionBindingPatterns)) { - return printMaybeHug(attributeTextToDoc(getValue(), { - parser: "__vue_expression" - })); - } - if (isKeyMatched(jsExpressionBindingPatterns)) { - return printMaybeHug(attributeTextToDoc(getValue(), { - parser: "__js_expression" - })); - } - } - if (options.parser === "angular") { - const ngTextToDoc = (code, opts) => attributeTextToDoc(code, Object.assign(Object.assign({}, opts), {}, { - trailingComma: "none" - })); - const ngDirectiveBindingPatterns = ["^\\*"]; - const ngStatementBindingPatterns = ["^\\(.+\\)$", "^on-"]; - const ngExpressionBindingPatterns = ["^\\[.+\\]$", "^bind(on)?-", "^ng-(if|show|hide|class|style)$"]; - const ngI18nPatterns = ["^i18n(-.+)?$"]; - if (isKeyMatched(ngStatementBindingPatterns)) { - return printMaybeHug(ngTextToDoc(getValue(), { - parser: "__ng_action" - })); - } - if (isKeyMatched(ngExpressionBindingPatterns)) { - return printMaybeHug(ngTextToDoc(getValue(), { - parser: "__ng_binding" - })); - } - if (isKeyMatched(ngI18nPatterns)) { - const value2 = getValue().trim(); - return printExpand(fill(getTextValueParts(node, value2)), !value2.includes("@@")); - } - if (isKeyMatched(ngDirectiveBindingPatterns)) { - return printMaybeHug(ngTextToDoc(getValue(), { - parser: "__ng_directive" - })); - } - const interpolationRegex = /{{(.+?)}}/s; - const value = getValue(); - if (interpolationRegex.test(value)) { - const parts = []; - for (const [index, part] of value.split(interpolationRegex).entries()) { - if (index % 2 === 0) { - parts.push(replaceTextEndOfLine(part)); - } else { - try { - parts.push(group(["{{", indent([line, ngTextToDoc(part, { - parser: "__ng_interpolation", - __isInHtmlInterpolation: true - })]), line, "}}"])); - } catch { - parts.push("{{", replaceTextEndOfLine(part), "}}"); - } - } - } - return group(parts); - } - } - return null; - } - function embed(path, print, textToDoc, options) { - const node = path.getValue(); - switch (node.type) { - case "element": { - if (isScriptLikeTag(node) || node.type === "interpolation") { - return; - } - if (!node.isSelfClosing && isVueNonHtmlBlock(node, options)) { - const parser = inferScriptParser(node, options); - if (!parser) { - return; - } - const content = getNodeContent(node, options); - let isEmpty = /^\s*$/.test(content); - let doc2 = ""; - if (!isEmpty) { - doc2 = textToDoc(htmlTrimPreserveIndentation(content), { - parser, - __embeddedInHtml: true - }, { - stripTrailingHardline: true - }); - isEmpty = doc2 === ""; - } - return [printOpeningTagPrefix(node, options), group(printOpeningTag(path, options, print)), isEmpty ? "" : hardline, doc2, isEmpty ? "" : hardline, printClosingTag(node, options), printClosingTagSuffix(node, options)]; - } - break; - } - case "text": { - if (isScriptLikeTag(node.parent)) { - const parser = inferScriptParser(node.parent, options); - if (parser) { - const value = parser === "markdown" ? dedentString(node.value.replace(/^[^\S\n]*\n/, "")) : node.value; - const textToDocOptions = { - parser, - __embeddedInHtml: true - }; - if (options.parser === "html" && parser === "babel") { - let sourceType = "script"; - const { - attrMap - } = node.parent; - if (attrMap && (attrMap.type === "module" || attrMap.type === "text/babel" && attrMap["data-type"] === "module")) { - sourceType = "module"; - } - textToDocOptions.__babelSourceType = sourceType; - } - return [breakParent, printOpeningTagPrefix(node, options), textToDoc(value, textToDocOptions, { - stripTrailingHardline: true - }), printClosingTagSuffix(node, options)]; - } - } else if (node.parent.type === "interpolation") { - const textToDocOptions = { - __isInHtmlInterpolation: true, - __embeddedInHtml: true - }; - if (options.parser === "angular") { - textToDocOptions.parser = "__ng_interpolation"; - textToDocOptions.trailingComma = "none"; - } else if (options.parser === "vue") { - textToDocOptions.parser = options.__should_parse_vue_template_with_ts ? "__vue_ts_expression" : "__vue_expression"; - } else { - textToDocOptions.parser = "__js_expression"; - } - return [indent([line, textToDoc(node.value, textToDocOptions, { - stripTrailingHardline: true - })]), node.parent.next && needsToBorrowPrevClosingTagEndMarker(node.parent.next) ? " " : line]; - } - break; - } - case "attribute": { - if (!node.value) { - break; - } - if (/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(options.originalText.slice(node.valueSpan.start.offset, node.valueSpan.end.offset))) { - return [node.rawName, "=", node.value]; - } - if (options.parser === "lwc") { - const interpolationRegex = /^{.*}$/s; - if (interpolationRegex.test(options.originalText.slice(node.valueSpan.start.offset, node.valueSpan.end.offset))) { - return [node.rawName, "=", node.value]; - } - } - const embeddedAttributeValueDoc = printEmbeddedAttributeValue(node, (code, opts) => textToDoc(code, Object.assign({ - __isInHtmlAttribute: true, - __embeddedInHtml: true - }, opts), { - stripTrailingHardline: true - }), options); - if (embeddedAttributeValueDoc) { - return [node.rawName, '="', group(mapDoc(embeddedAttributeValueDoc, (doc2) => typeof doc2 === "string" ? doc2.replace(/"/g, """) : doc2)), '"']; - } - break; - } - case "front-matter": - return printFrontMatter(node, textToDoc); - } - } - module2.exports = embed; - } -}); -var require_children = __commonJS2({ - "src/language-html/print/children.js"(exports2, module2) { - "use strict"; - var { - builders: { - breakParent, - group, - ifBreak, - line, - softline, - hardline - }, - utils: { - replaceTextEndOfLine - } - } = require("./doc.js"); - var { - locStart, - locEnd - } = require_loc6(); - var { - forceBreakChildren, - forceNextEmptyLine, - isTextLikeNode, - hasPrettierIgnore, - preferHardlineAsLeadingSpaces - } = require_utils11(); - var { - printOpeningTagPrefix, - needsToBorrowNextOpeningTagStartMarker, - printOpeningTagStartMarker, - needsToBorrowPrevClosingTagEndMarker, - printClosingTagEndMarker, - printClosingTagSuffix, - needsToBorrowParentClosingTagStartMarker - } = require_tag(); - function printChild(childPath, options, print) { - const child = childPath.getValue(); - if (hasPrettierIgnore(child)) { - return [printOpeningTagPrefix(child, options), ...replaceTextEndOfLine(options.originalText.slice(locStart(child) + (child.prev && needsToBorrowNextOpeningTagStartMarker(child.prev) ? printOpeningTagStartMarker(child).length : 0), locEnd(child) - (child.next && needsToBorrowPrevClosingTagEndMarker(child.next) ? printClosingTagEndMarker(child, options).length : 0))), printClosingTagSuffix(child, options)]; - } - return print(); - } - function printBetweenLine(prevNode, nextNode) { - return isTextLikeNode(prevNode) && isTextLikeNode(nextNode) ? prevNode.isTrailingSpaceSensitive ? prevNode.hasTrailingSpaces ? preferHardlineAsLeadingSpaces(nextNode) ? hardline : line : "" : preferHardlineAsLeadingSpaces(nextNode) ? hardline : softline : needsToBorrowNextOpeningTagStartMarker(prevNode) && (hasPrettierIgnore(nextNode) || nextNode.firstChild || nextNode.isSelfClosing || nextNode.type === "element" && nextNode.attrs.length > 0) || prevNode.type === "element" && prevNode.isSelfClosing && needsToBorrowPrevClosingTagEndMarker(nextNode) ? "" : !nextNode.isLeadingSpaceSensitive || preferHardlineAsLeadingSpaces(nextNode) || needsToBorrowPrevClosingTagEndMarker(nextNode) && prevNode.lastChild && needsToBorrowParentClosingTagStartMarker(prevNode.lastChild) && prevNode.lastChild.lastChild && needsToBorrowParentClosingTagStartMarker(prevNode.lastChild.lastChild) ? hardline : nextNode.hasLeadingSpaces ? line : softline; - } - function printChildren(path, options, print) { - const node = path.getValue(); - if (forceBreakChildren(node)) { - return [breakParent, ...path.map((childPath) => { - const childNode = childPath.getValue(); - const prevBetweenLine = !childNode.prev ? "" : printBetweenLine(childNode.prev, childNode); - return [!prevBetweenLine ? "" : [prevBetweenLine, forceNextEmptyLine(childNode.prev) ? hardline : ""], printChild(childPath, options, print)]; - }, "children")]; - } - const groupIds = node.children.map(() => Symbol("")); - return path.map((childPath, childIndex) => { - const childNode = childPath.getValue(); - if (isTextLikeNode(childNode)) { - if (childNode.prev && isTextLikeNode(childNode.prev)) { - const prevBetweenLine2 = printBetweenLine(childNode.prev, childNode); - if (prevBetweenLine2) { - if (forceNextEmptyLine(childNode.prev)) { - return [hardline, hardline, printChild(childPath, options, print)]; - } - return [prevBetweenLine2, printChild(childPath, options, print)]; - } - } - return printChild(childPath, options, print); - } - const prevParts = []; - const leadingParts = []; - const trailingParts = []; - const nextParts = []; - const prevBetweenLine = childNode.prev ? printBetweenLine(childNode.prev, childNode) : ""; - const nextBetweenLine = childNode.next ? printBetweenLine(childNode, childNode.next) : ""; - if (prevBetweenLine) { - if (forceNextEmptyLine(childNode.prev)) { - prevParts.push(hardline, hardline); - } else if (prevBetweenLine === hardline) { - prevParts.push(hardline); - } else { - if (isTextLikeNode(childNode.prev)) { - leadingParts.push(prevBetweenLine); - } else { - leadingParts.push(ifBreak("", softline, { - groupId: groupIds[childIndex - 1] - })); - } - } - } - if (nextBetweenLine) { - if (forceNextEmptyLine(childNode)) { - if (isTextLikeNode(childNode.next)) { - nextParts.push(hardline, hardline); - } - } else if (nextBetweenLine === hardline) { - if (isTextLikeNode(childNode.next)) { - nextParts.push(hardline); - } - } else { - trailingParts.push(nextBetweenLine); - } - } - return [...prevParts, group([...leadingParts, group([printChild(childPath, options, print), ...trailingParts], { - id: groupIds[childIndex] - })]), ...nextParts]; - }, "children"); - } - module2.exports = { - printChildren - }; - } -}); -var require_element = __commonJS2({ - "src/language-html/print/element.js"(exports2, module2) { - "use strict"; - var { - builders: { - breakParent, - dedentToRoot, - group, - ifBreak, - indentIfBreak, - indent, - line, - softline - }, - utils: { - replaceTextEndOfLine - } - } = require("./doc.js"); - var getNodeContent = require_get_node_content(); - var { - shouldPreserveContent, - isScriptLikeTag, - isVueCustomBlock, - countParents, - forceBreakContent - } = require_utils11(); - var { - printOpeningTagPrefix, - printOpeningTag, - printClosingTagSuffix, - printClosingTag, - needsToBorrowPrevClosingTagEndMarker, - needsToBorrowLastChildClosingTagEndMarker - } = require_tag(); - var { - printChildren - } = require_children(); - function printElement(path, options, print) { - const node = path.getValue(); - if (shouldPreserveContent(node, options)) { - return [printOpeningTagPrefix(node, options), group(printOpeningTag(path, options, print)), ...replaceTextEndOfLine(getNodeContent(node, options)), ...printClosingTag(node, options), printClosingTagSuffix(node, options)]; - } - const shouldHugContent = node.children.length === 1 && node.firstChild.type === "interpolation" && node.firstChild.isLeadingSpaceSensitive && !node.firstChild.hasLeadingSpaces && node.lastChild.isTrailingSpaceSensitive && !node.lastChild.hasTrailingSpaces; - const attrGroupId = Symbol("element-attr-group-id"); - const printTag = (doc2) => group([group(printOpeningTag(path, options, print), { - id: attrGroupId - }), doc2, printClosingTag(node, options)]); - const printChildrenDoc = (childrenDoc) => { - if (shouldHugContent) { - return indentIfBreak(childrenDoc, { - groupId: attrGroupId - }); - } - if ((isScriptLikeTag(node) || isVueCustomBlock(node, options)) && node.parent.type === "root" && options.parser === "vue" && !options.vueIndentScriptAndStyle) { - return childrenDoc; - } - return indent(childrenDoc); - }; - const printLineBeforeChildren = () => { - if (shouldHugContent) { - return ifBreak(softline, "", { - groupId: attrGroupId - }); - } - if (node.firstChild.hasLeadingSpaces && node.firstChild.isLeadingSpaceSensitive) { - return line; - } - if (node.firstChild.type === "text" && node.isWhitespaceSensitive && node.isIndentationSensitive) { - return dedentToRoot(softline); - } - return softline; - }; - const printLineAfterChildren = () => { - const needsToBorrow = node.next ? needsToBorrowPrevClosingTagEndMarker(node.next) : needsToBorrowLastChildClosingTagEndMarker(node.parent); - if (needsToBorrow) { - if (node.lastChild.hasTrailingSpaces && node.lastChild.isTrailingSpaceSensitive) { - return " "; - } - return ""; - } - if (shouldHugContent) { - return ifBreak(softline, "", { - groupId: attrGroupId - }); - } - if (node.lastChild.hasTrailingSpaces && node.lastChild.isTrailingSpaceSensitive) { - return line; - } - if ((node.lastChild.type === "comment" || node.lastChild.type === "text" && node.isWhitespaceSensitive && node.isIndentationSensitive) && new RegExp(`\\n[\\t ]{${options.tabWidth * countParents(path, (node2) => node2.parent && node2.parent.type !== "root")}}$`).test(node.lastChild.value)) { - return ""; - } - return softline; - }; - if (node.children.length === 0) { - return printTag(node.hasDanglingSpaces && node.isDanglingSpaceSensitive ? line : ""); - } - return printTag([forceBreakContent(node) ? breakParent : "", printChildrenDoc([printLineBeforeChildren(), printChildren(path, options, print)]), printLineAfterChildren()]); - } - module2.exports = { - printElement - }; - } -}); -var require_printer_html = __commonJS2({ - "src/language-html/printer-html.js"(exports2, module2) { - "use strict"; - var { - builders: { - fill, - group, - hardline, - literalline - }, - utils: { - cleanDoc, - getDocParts, - isConcat, - replaceTextEndOfLine - } - } = require("./doc.js"); - var clean = require_clean5(); - var { - countChars, - unescapeQuoteEntities, - getTextValueParts - } = require_utils11(); - var preprocess = require_print_preprocess3(); - var { - insertPragma - } = require_pragma5(); - var { - locStart, - locEnd - } = require_loc6(); - var embed = require_embed4(); - var { - printClosingTagSuffix, - printClosingTagEnd, - printOpeningTagPrefix, - printOpeningTagStart - } = require_tag(); - var { - printElement - } = require_element(); - var { - printChildren - } = require_children(); - function genericPrint(path, options, print) { - const node = path.getValue(); - switch (node.type) { - case "front-matter": - return replaceTextEndOfLine(node.raw); - case "root": - if (options.__onHtmlRoot) { - options.__onHtmlRoot(node); - } - return [group(printChildren(path, options, print)), hardline]; - case "element": - case "ieConditionalComment": { - return printElement(path, options, print); - } - case "ieConditionalStartComment": - case "ieConditionalEndComment": - return [printOpeningTagStart(node), printClosingTagEnd(node)]; - case "interpolation": - return [printOpeningTagStart(node, options), ...path.map(print, "children"), printClosingTagEnd(node, options)]; - case "text": { - if (node.parent.type === "interpolation") { - const trailingNewlineRegex = /\n[^\S\n]*$/; - const hasTrailingNewline = trailingNewlineRegex.test(node.value); - const value = hasTrailingNewline ? node.value.replace(trailingNewlineRegex, "") : node.value; - return [...replaceTextEndOfLine(value), hasTrailingNewline ? hardline : ""]; - } - const printed = cleanDoc([printOpeningTagPrefix(node, options), ...getTextValueParts(node), printClosingTagSuffix(node, options)]); - if (isConcat(printed) || printed.type === "fill") { - return fill(getDocParts(printed)); - } - return printed; - } - case "docType": - return [group([printOpeningTagStart(node, options), " ", node.value.replace(/^html\b/i, "html").replace(/\s+/g, " ")]), printClosingTagEnd(node, options)]; - case "comment": { - return [printOpeningTagPrefix(node, options), ...replaceTextEndOfLine(options.originalText.slice(locStart(node), locEnd(node)), literalline), printClosingTagSuffix(node, options)]; - } - case "attribute": { - if (node.value === null) { - return node.rawName; - } - const value = unescapeQuoteEntities(node.value); - const singleQuoteCount = countChars(value, "'"); - const doubleQuoteCount = countChars(value, '"'); - const quote = singleQuoteCount < doubleQuoteCount ? "'" : '"'; - return [node.rawName, "=", quote, ...replaceTextEndOfLine(quote === '"' ? value.replace(/"/g, """) : value.replace(/'/g, "'")), quote]; - } - default: - throw new Error(`Unexpected node type ${node.type}`); - } - } - module2.exports = { - preprocess, - print: genericPrint, - insertPragma, - massageAstNode: clean, - embed - }; - } -}); -var require_options6 = __commonJS2({ - "src/language-html/options.js"(exports2, module2) { - "use strict"; - var commonOptions = require_common_options(); - var CATEGORY_HTML = "HTML"; - module2.exports = { - bracketSameLine: commonOptions.bracketSameLine, - htmlWhitespaceSensitivity: { - since: "1.15.0", - category: CATEGORY_HTML, - type: "choice", - default: "css", - description: "How to handle whitespaces in HTML.", - choices: [{ - value: "css", - description: "Respect the default value of CSS display property." - }, { - value: "strict", - description: "Whitespaces are considered sensitive." - }, { - value: "ignore", - description: "Whitespaces are considered insensitive." - }] - }, - singleAttributePerLine: commonOptions.singleAttributePerLine, - vueIndentScriptAndStyle: { - since: "1.19.0", - category: CATEGORY_HTML, - type: "boolean", - default: false, - description: "Indent script and style tags in Vue files." - } - }; - } -}); -var require_parsers6 = __commonJS2({ - "src/language-html/parsers.js"(exports2, module2) { - "use strict"; - module2.exports = { - get html() { - return require("./parser-html.js").parsers.html; - }, - get vue() { - return require("./parser-html.js").parsers.vue; - }, - get angular() { - return require("./parser-html.js").parsers.angular; - }, - get lwc() { - return require("./parser-html.js").parsers.lwc; - } - }; - } -}); -var require_HTML = __commonJS2({ - "node_modules/linguist-languages/data/HTML.json"(exports2, module2) { - module2.exports = { - name: "HTML", - type: "markup", - tmScope: "text.html.basic", - aceMode: "html", - codemirrorMode: "htmlmixed", - codemirrorMimeType: "text/html", - color: "#e34c26", - aliases: ["xhtml"], - extensions: [".html", ".hta", ".htm", ".html.hl", ".inc", ".xht", ".xhtml"], - languageId: 146 - }; - } -}); -var require_Vue = __commonJS2({ - "node_modules/linguist-languages/data/Vue.json"(exports2, module2) { - module2.exports = { - name: "Vue", - type: "markup", - color: "#41b883", - extensions: [".vue"], - tmScope: "text.html.vue", - aceMode: "html", - languageId: 391 - }; - } -}); -var require_language_html = __commonJS2({ - "src/language-html/index.js"(exports2, module2) { - "use strict"; - var createLanguage = require_create_language(); - var printer = require_printer_html(); - var options = require_options6(); - var parsers = require_parsers6(); - var languages = [createLanguage(require_HTML(), () => ({ - name: "Angular", - since: "1.15.0", - parsers: ["angular"], - vscodeLanguageIds: ["html"], - extensions: [".component.html"], - filenames: [] - })), createLanguage(require_HTML(), (data) => ({ - since: "1.15.0", - parsers: ["html"], - vscodeLanguageIds: ["html"], - extensions: [...data.extensions, ".mjml"] - })), createLanguage(require_HTML(), () => ({ - name: "Lightning Web Components", - since: "1.17.0", - parsers: ["lwc"], - vscodeLanguageIds: ["html"], - extensions: [], - filenames: [] - })), createLanguage(require_Vue(), () => ({ - since: "1.10.0", - parsers: ["vue"], - vscodeLanguageIds: ["vue"] - }))]; - var printers = { - html: printer - }; - module2.exports = { - languages, - printers, - options, - parsers - }; - } -}); -var require_pragma6 = __commonJS2({ - "src/language-yaml/pragma.js"(exports2, module2) { - "use strict"; - function isPragma(text) { - return /^\s*@(?:prettier|format)\s*$/.test(text); - } - function hasPragma(text) { - return /^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(text); - } - function insertPragma(text) { - return `# @format - -${text}`; - } - module2.exports = { - isPragma, - hasPragma, - insertPragma - }; - } -}); -var require_loc7 = __commonJS2({ - "src/language-yaml/loc.js"(exports2, module2) { - "use strict"; - function locStart(node) { - return node.position.start.offset; - } - function locEnd(node) { - return node.position.end.offset; - } - module2.exports = { - locStart, - locEnd - }; - } -}); -var require_embed5 = __commonJS2({ - "src/language-yaml/embed.js"(exports2, module2) { - "use strict"; - function embed(path, print, textToDoc, options) { - const node = path.getValue(); - if (node.type === "root" && options.filepath && /(?:[/\\]|^)\.(?:prettier|stylelint|lintstaged)rc$/.test(options.filepath)) { - return textToDoc(options.originalText, Object.assign(Object.assign({}, options), {}, { - parser: "json" - })); - } - } - module2.exports = embed; - } -}); -var require_utils12 = __commonJS2({ - "src/language-yaml/utils.js"(exports2, module2) { - "use strict"; - var { - getLast, - isNonEmptyArray - } = require_util(); - function getAncestorCount(path, filter) { - let counter = 0; - const pathStackLength = path.stack.length - 1; - for (let i = 0; i < pathStackLength; i++) { - const value = path.stack[i]; - if (isNode(value) && filter(value)) { - counter++; - } - } - return counter; - } - function isNode(value, types) { - return value && typeof value.type === "string" && (!types || types.includes(value.type)); - } - function mapNode(node, callback, parent) { - return callback("children" in node ? Object.assign(Object.assign({}, node), {}, { - children: node.children.map((childNode) => mapNode(childNode, callback, node)) - }) : node, parent); - } - function defineShortcut(x, key, getter) { - Object.defineProperty(x, key, { - get: getter, - enumerable: false - }); - } - function isNextLineEmpty(node, text) { - let newlineCount = 0; - const textLength = text.length; - for (let i = node.position.end.offset - 1; i < textLength; i++) { - const char = text[i]; - if (char === "\n") { - newlineCount++; - } - if (newlineCount === 1 && /\S/.test(char)) { - return false; - } - if (newlineCount === 2) { - return true; - } - } - return false; - } - function isLastDescendantNode(path) { - const node = path.getValue(); - switch (node.type) { - case "tag": - case "anchor": - case "comment": - return false; - } - const pathStackLength = path.stack.length; - for (let i = 1; i < pathStackLength; i++) { - const item = path.stack[i]; - const parentItem = path.stack[i - 1]; - if (Array.isArray(parentItem) && typeof item === "number" && item !== parentItem.length - 1) { - return false; - } - } - return true; - } - function getLastDescendantNode(node) { - return isNonEmptyArray(node.children) ? getLastDescendantNode(getLast(node.children)) : node; - } - function isPrettierIgnore(comment) { - return comment.value.trim() === "prettier-ignore"; - } - function hasPrettierIgnore(path) { - const node = path.getValue(); - if (node.type === "documentBody") { - const document2 = path.getParentNode(); - return hasEndComments(document2.head) && isPrettierIgnore(getLast(document2.head.endComments)); - } - return hasLeadingComments(node) && isPrettierIgnore(getLast(node.leadingComments)); - } - function isEmptyNode(node) { - return !isNonEmptyArray(node.children) && !hasComments(node); - } - function hasComments(node) { - return hasLeadingComments(node) || hasMiddleComments(node) || hasIndicatorComment(node) || hasTrailingComment(node) || hasEndComments(node); - } - function hasLeadingComments(node) { - return isNonEmptyArray(node === null || node === void 0 ? void 0 : node.leadingComments); - } - function hasMiddleComments(node) { - return isNonEmptyArray(node === null || node === void 0 ? void 0 : node.middleComments); - } - function hasIndicatorComment(node) { - return node === null || node === void 0 ? void 0 : node.indicatorComment; - } - function hasTrailingComment(node) { - return node === null || node === void 0 ? void 0 : node.trailingComment; - } - function hasEndComments(node) { - return isNonEmptyArray(node === null || node === void 0 ? void 0 : node.endComments); - } - function splitWithSingleSpace(text) { - const parts = []; - let lastPart; - for (const part of text.split(/( +)/)) { - if (part !== " ") { - if (lastPart === " ") { - parts.push(part); - } else { - parts.push((parts.pop() || "") + part); - } - } else if (lastPart === void 0) { - parts.unshift(""); - } - lastPart = part; - } - if (lastPart === " ") { - parts.push((parts.pop() || "") + " "); - } - if (parts[0] === "") { - parts.shift(); - parts.unshift(" " + (parts.shift() || "")); - } - return parts; - } - function getFlowScalarLineContents(nodeType, content, options) { - const rawLineContents = content.split("\n").map((lineContent, index, lineContents) => index === 0 && index === lineContents.length - 1 ? lineContent : index !== 0 && index !== lineContents.length - 1 ? lineContent.trim() : index === 0 ? lineContent.trimEnd() : lineContent.trimStart()); - if (options.proseWrap === "preserve") { - return rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : [lineContent]); - } - return rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : splitWithSingleSpace(lineContent)).reduce((reduced, lineContentWords, index) => index !== 0 && rawLineContents[index - 1].length > 0 && lineContentWords.length > 0 && !(nodeType === "quoteDouble" && getLast(getLast(reduced)).endsWith("\\")) ? [...reduced.slice(0, -1), [...getLast(reduced), ...lineContentWords]] : [...reduced, lineContentWords], []).map((lineContentWords) => options.proseWrap === "never" ? [lineContentWords.join(" ")] : lineContentWords); - } - function getBlockValueLineContents(node, { - parentIndent, - isLastDescendant, - options - }) { - const content = node.position.start.line === node.position.end.line ? "" : options.originalText.slice(node.position.start.offset, node.position.end.offset).match(/^[^\n]*\n(.*)$/s)[1]; - let leadingSpaceCount; - if (node.indent === null) { - const matches = content.match(/^(? *)[^\n\r ]/m); - leadingSpaceCount = matches ? matches.groups.leadingSpace.length : Number.POSITIVE_INFINITY; - } else { - leadingSpaceCount = node.indent - 1 + parentIndent; - } - const rawLineContents = content.split("\n").map((lineContent) => lineContent.slice(leadingSpaceCount)); - if (options.proseWrap === "preserve" || node.type === "blockLiteral") { - return removeUnnecessaryTrailingNewlines(rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : [lineContent])); - } - return removeUnnecessaryTrailingNewlines(rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : splitWithSingleSpace(lineContent)).reduce((reduced, lineContentWords, index) => index !== 0 && rawLineContents[index - 1].length > 0 && lineContentWords.length > 0 && !/^\s/.test(lineContentWords[0]) && !/^\s|\s$/.test(getLast(reduced)) ? [...reduced.slice(0, -1), [...getLast(reduced), ...lineContentWords]] : [...reduced, lineContentWords], []).map((lineContentWords) => lineContentWords.reduce((reduced, word) => reduced.length > 0 && /\s$/.test(getLast(reduced)) ? [...reduced.slice(0, -1), getLast(reduced) + " " + word] : [...reduced, word], [])).map((lineContentWords) => options.proseWrap === "never" ? [lineContentWords.join(" ")] : lineContentWords)); - function removeUnnecessaryTrailingNewlines(lineContents) { - if (node.chomping === "keep") { - return getLast(lineContents).length === 0 ? lineContents.slice(0, -1) : lineContents; - } - let trailingNewlineCount = 0; - for (let i = lineContents.length - 1; i >= 0; i--) { - if (lineContents[i].length === 0) { - trailingNewlineCount++; - } else { - break; - } - } - return trailingNewlineCount === 0 ? lineContents : trailingNewlineCount >= 2 && !isLastDescendant ? lineContents.slice(0, -(trailingNewlineCount - 1)) : lineContents.slice(0, -trailingNewlineCount); - } - } - function isInlineNode(node) { - if (!node) { - return true; - } - switch (node.type) { - case "plain": - case "quoteDouble": - case "quoteSingle": - case "alias": - case "flowMapping": - case "flowSequence": - return true; - default: - return false; - } - } - module2.exports = { - getLast, - getAncestorCount, - isNode, - isEmptyNode, - isInlineNode, - mapNode, - defineShortcut, - isNextLineEmpty, - isLastDescendantNode, - getBlockValueLineContents, - getFlowScalarLineContents, - getLastDescendantNode, - hasPrettierIgnore, - hasLeadingComments, - hasMiddleComments, - hasIndicatorComment, - hasTrailingComment, - hasEndComments - }; - } -}); -var require_print_preprocess4 = __commonJS2({ - "src/language-yaml/print-preprocess.js"(exports2, module2) { - "use strict"; - var { - defineShortcut, - mapNode - } = require_utils12(); - function preprocess(ast) { - return mapNode(ast, defineShortcuts); - } - function defineShortcuts(node) { - switch (node.type) { - case "document": - defineShortcut(node, "head", () => node.children[0]); - defineShortcut(node, "body", () => node.children[1]); - break; - case "documentBody": - case "sequenceItem": - case "flowSequenceItem": - case "mappingKey": - case "mappingValue": - defineShortcut(node, "content", () => node.children[0]); - break; - case "mappingItem": - case "flowMappingItem": - defineShortcut(node, "key", () => node.children[0]); - defineShortcut(node, "value", () => node.children[1]); - break; - } - return node; - } - module2.exports = preprocess; - } -}); -var require_misc2 = __commonJS2({ - "src/language-yaml/print/misc.js"(exports2, module2) { - "use strict"; - var { - builders: { - softline, - align - } - } = require("./doc.js"); - var { - hasEndComments, - isNextLineEmpty, - isNode - } = require_utils12(); - var printedEmptyLineCache = /* @__PURE__ */ new WeakMap(); - function printNextEmptyLine(path, originalText) { - const node = path.getValue(); - const root = path.stack[0]; - let isNextEmptyLinePrintedSet; - if (printedEmptyLineCache.has(root)) { - isNextEmptyLinePrintedSet = printedEmptyLineCache.get(root); - } else { - isNextEmptyLinePrintedSet = /* @__PURE__ */ new Set(); - printedEmptyLineCache.set(root, isNextEmptyLinePrintedSet); - } - if (!isNextEmptyLinePrintedSet.has(node.position.end.line)) { - isNextEmptyLinePrintedSet.add(node.position.end.line); - if (isNextLineEmpty(node, originalText) && !shouldPrintEndComments(path.getParentNode())) { - return softline; - } - } - return ""; - } - function shouldPrintEndComments(node) { - return hasEndComments(node) && !isNode(node, ["documentHead", "documentBody", "flowMapping", "flowSequence"]); - } - function alignWithSpaces(width, doc2) { - return align(" ".repeat(width), doc2); - } - module2.exports = { - alignWithSpaces, - shouldPrintEndComments, - printNextEmptyLine - }; - } -}); -var require_flow_mapping_sequence = __commonJS2({ - "src/language-yaml/print/flow-mapping-sequence.js"(exports2, module2) { - "use strict"; - var { - builders: { - ifBreak, - line, - softline, - hardline, - join - } - } = require("./doc.js"); - var { - isEmptyNode, - getLast, - hasEndComments - } = require_utils12(); - var { - printNextEmptyLine, - alignWithSpaces - } = require_misc2(); - function printFlowMapping(path, print, options) { - const node = path.getValue(); - const isMapping = node.type === "flowMapping"; - const openMarker = isMapping ? "{" : "["; - const closeMarker = isMapping ? "}" : "]"; - let bracketSpacing = softline; - if (isMapping && node.children.length > 0 && options.bracketSpacing) { - bracketSpacing = line; - } - const lastItem = getLast(node.children); - const isLastItemEmptyMappingItem = lastItem && lastItem.type === "flowMappingItem" && isEmptyNode(lastItem.key) && isEmptyNode(lastItem.value); - return [openMarker, alignWithSpaces(options.tabWidth, [bracketSpacing, printChildren(path, print, options), options.trailingComma === "none" ? "" : ifBreak(","), hasEndComments(node) ? [hardline, join(hardline, path.map(print, "endComments"))] : ""]), isLastItemEmptyMappingItem ? "" : bracketSpacing, closeMarker]; - } - function printChildren(path, print, options) { - const node = path.getValue(); - const parts = path.map((childPath, index) => [print(), index === node.children.length - 1 ? "" : [",", line, node.children[index].position.start.line !== node.children[index + 1].position.start.line ? printNextEmptyLine(childPath, options.originalText) : ""]], "children"); - return parts; - } - module2.exports = { - printFlowMapping, - printFlowSequence: printFlowMapping - }; - } -}); -var require_mapping_item = __commonJS2({ - "src/language-yaml/print/mapping-item.js"(exports2, module2) { - "use strict"; - var { - builders: { - conditionalGroup, - group, - hardline, - ifBreak, - join, - line - } - } = require("./doc.js"); - var { - hasLeadingComments, - hasMiddleComments, - hasTrailingComment, - hasEndComments, - isNode, - isEmptyNode, - isInlineNode - } = require_utils12(); - var { - alignWithSpaces - } = require_misc2(); - function printMappingItem(node, parentNode, path, print, options) { - const { - key, - value - } = node; - const isEmptyMappingKey = isEmptyNode(key); - const isEmptyMappingValue = isEmptyNode(value); - if (isEmptyMappingKey && isEmptyMappingValue) { - return ": "; - } - const printedKey = print("key"); - const spaceBeforeColon = needsSpaceInFrontOfMappingValue(node) ? " " : ""; - if (isEmptyMappingValue) { - if (node.type === "flowMappingItem" && parentNode.type === "flowMapping") { - return printedKey; - } - if (node.type === "mappingItem" && isAbsolutelyPrintedAsSingleLineNode(key.content, options) && !hasTrailingComment(key.content) && (!parentNode.tag || parentNode.tag.value !== "tag:yaml.org,2002:set")) { - return [printedKey, spaceBeforeColon, ":"]; - } - return ["? ", alignWithSpaces(2, printedKey)]; - } - const printedValue = print("value"); - if (isEmptyMappingKey) { - return [": ", alignWithSpaces(2, printedValue)]; - } - if (hasLeadingComments(value) || !isInlineNode(key.content)) { - return ["? ", alignWithSpaces(2, printedKey), hardline, join("", path.map(print, "value", "leadingComments").map((comment) => [comment, hardline])), ": ", alignWithSpaces(2, printedValue)]; - } - if (isSingleLineNode(key.content) && !hasLeadingComments(key.content) && !hasMiddleComments(key.content) && !hasTrailingComment(key.content) && !hasEndComments(key) && !hasLeadingComments(value.content) && !hasMiddleComments(value.content) && !hasEndComments(value) && isAbsolutelyPrintedAsSingleLineNode(value.content, options)) { - return [printedKey, spaceBeforeColon, ": ", printedValue]; - } - const groupId = Symbol("mappingKey"); - const groupedKey = group([ifBreak("? "), group(alignWithSpaces(2, printedKey), { - id: groupId - })]); - const explicitMappingValue = [hardline, ": ", alignWithSpaces(2, printedValue)]; - const implicitMappingValueParts = [spaceBeforeColon, ":"]; - if (hasLeadingComments(value.content) || hasEndComments(value) && value.content && !isNode(value.content, ["mapping", "sequence"]) || parentNode.type === "mapping" && hasTrailingComment(key.content) && isInlineNode(value.content) || isNode(value.content, ["mapping", "sequence"]) && value.content.tag === null && value.content.anchor === null) { - implicitMappingValueParts.push(hardline); - } else if (value.content) { - implicitMappingValueParts.push(line); - } - implicitMappingValueParts.push(printedValue); - const implicitMappingValue = alignWithSpaces(options.tabWidth, implicitMappingValueParts); - if (isAbsolutelyPrintedAsSingleLineNode(key.content, options) && !hasLeadingComments(key.content) && !hasMiddleComments(key.content) && !hasEndComments(key)) { - return conditionalGroup([[printedKey, implicitMappingValue]]); - } - return conditionalGroup([[groupedKey, ifBreak(explicitMappingValue, implicitMappingValue, { - groupId - })]]); - } - function isAbsolutelyPrintedAsSingleLineNode(node, options) { - if (!node) { - return true; - } - switch (node.type) { - case "plain": - case "quoteSingle": - case "quoteDouble": - break; - case "alias": - return true; - default: - return false; - } - if (options.proseWrap === "preserve") { - return node.position.start.line === node.position.end.line; - } - if (/\\$/m.test(options.originalText.slice(node.position.start.offset, node.position.end.offset))) { - return false; - } - switch (options.proseWrap) { - case "never": - return !node.value.includes("\n"); - case "always": - return !/[\n ]/.test(node.value); - default: - return false; - } - } - function needsSpaceInFrontOfMappingValue(node) { - return node.key.content && node.key.content.type === "alias"; - } - function isSingleLineNode(node) { - if (!node) { - return true; - } - switch (node.type) { - case "plain": - case "quoteDouble": - case "quoteSingle": - return node.position.start.line === node.position.end.line; - case "alias": - return true; - default: - return false; - } - } - module2.exports = printMappingItem; - } -}); -var require_block2 = __commonJS2({ - "src/language-yaml/print/block.js"(exports2, module2) { - "use strict"; - var { - builders: { - dedent, - dedentToRoot, - fill, - hardline, - join, - line, - literalline, - markAsRoot - }, - utils: { - getDocParts - } - } = require("./doc.js"); - var { - getAncestorCount, - getBlockValueLineContents, - hasIndicatorComment, - isLastDescendantNode, - isNode - } = require_utils12(); - var { - alignWithSpaces - } = require_misc2(); - function printBlock(path, print, options) { - const node = path.getValue(); - const parentIndent = getAncestorCount(path, (ancestorNode) => isNode(ancestorNode, ["sequence", "mapping"])); - const isLastDescendant = isLastDescendantNode(path); - const parts = [node.type === "blockFolded" ? ">" : "|"]; - if (node.indent !== null) { - parts.push(node.indent.toString()); - } - if (node.chomping !== "clip") { - parts.push(node.chomping === "keep" ? "+" : "-"); - } - if (hasIndicatorComment(node)) { - parts.push(" ", print("indicatorComment")); - } - const lineContents = getBlockValueLineContents(node, { - parentIndent, - isLastDescendant, - options - }); - const contentsParts = []; - for (const [index, lineWords] of lineContents.entries()) { - if (index === 0) { - contentsParts.push(hardline); - } - contentsParts.push(fill(getDocParts(join(line, lineWords)))); - if (index !== lineContents.length - 1) { - contentsParts.push(lineWords.length === 0 ? hardline : markAsRoot(literalline)); - } else if (node.chomping === "keep" && isLastDescendant) { - contentsParts.push(dedentToRoot(lineWords.length === 0 ? hardline : literalline)); - } - } - if (node.indent === null) { - parts.push(dedent(alignWithSpaces(options.tabWidth, contentsParts))); - } else { - parts.push(dedentToRoot(alignWithSpaces(node.indent - 1 + parentIndent, contentsParts))); - } - return parts; - } - module2.exports = printBlock; - } -}); -var require_printer_yaml = __commonJS2({ - "src/language-yaml/printer-yaml.js"(exports2, module2) { - "use strict"; - var { - builders: { - breakParent, - fill, - group, - hardline, - join, - line, - lineSuffix, - literalline - }, - utils: { - getDocParts, - replaceTextEndOfLine - } - } = require("./doc.js"); - var { - isPreviousLineEmpty - } = require_util(); - var { - insertPragma, - isPragma - } = require_pragma6(); - var { - locStart - } = require_loc7(); - var embed = require_embed5(); - var { - getFlowScalarLineContents, - getLastDescendantNode, - hasLeadingComments, - hasMiddleComments, - hasTrailingComment, - hasEndComments, - hasPrettierIgnore, - isLastDescendantNode, - isNode, - isInlineNode - } = require_utils12(); - var preprocess = require_print_preprocess4(); - var { - alignWithSpaces, - printNextEmptyLine, - shouldPrintEndComments - } = require_misc2(); - var { - printFlowMapping, - printFlowSequence - } = require_flow_mapping_sequence(); - var printMappingItem = require_mapping_item(); - var printBlock = require_block2(); - function genericPrint(path, options, print) { - const node = path.getValue(); - const parts = []; - if (node.type !== "mappingValue" && hasLeadingComments(node)) { - parts.push([join(hardline, path.map(print, "leadingComments")), hardline]); - } - const { - tag, - anchor - } = node; - if (tag) { - parts.push(print("tag")); - } - if (tag && anchor) { - parts.push(" "); - } - if (anchor) { - parts.push(print("anchor")); - } - let nextEmptyLine = ""; - if (isNode(node, ["mapping", "sequence", "comment", "directive", "mappingItem", "sequenceItem"]) && !isLastDescendantNode(path)) { - nextEmptyLine = printNextEmptyLine(path, options.originalText); - } - if (tag || anchor) { - if (isNode(node, ["sequence", "mapping"]) && !hasMiddleComments(node)) { - parts.push(hardline); - } else { - parts.push(" "); - } - } - if (hasMiddleComments(node)) { - parts.push([node.middleComments.length === 1 ? "" : hardline, join(hardline, path.map(print, "middleComments")), hardline]); - } - const parentNode = path.getParentNode(); - if (hasPrettierIgnore(path)) { - parts.push(replaceTextEndOfLine(options.originalText.slice(node.position.start.offset, node.position.end.offset).trimEnd(), literalline)); - } else { - parts.push(group(printNode(node, parentNode, path, options, print))); - } - if (hasTrailingComment(node) && !isNode(node, ["document", "documentHead"])) { - parts.push(lineSuffix([node.type === "mappingValue" && !node.content ? "" : " ", parentNode.type === "mappingKey" && path.getParentNode(2).type === "mapping" && isInlineNode(node) ? "" : breakParent, print("trailingComment")])); - } - if (shouldPrintEndComments(node)) { - parts.push(alignWithSpaces(node.type === "sequenceItem" ? 2 : 0, [hardline, join(hardline, path.map((path2) => [isPreviousLineEmpty(options.originalText, path2.getValue(), locStart) ? hardline : "", print()], "endComments"))])); - } - parts.push(nextEmptyLine); - return parts; - } - function printNode(node, parentNode, path, options, print) { - switch (node.type) { - case "root": { - const { - children - } = node; - const parts = []; - path.each((childPath, index) => { - const document2 = children[index]; - const nextDocument = children[index + 1]; - if (index !== 0) { - parts.push(hardline); - } - parts.push(print()); - if (shouldPrintDocumentEndMarker(document2, nextDocument)) { - parts.push(hardline, "..."); - if (hasTrailingComment(document2)) { - parts.push(" ", print("trailingComment")); - } - } else if (nextDocument && !hasTrailingComment(nextDocument.head)) { - parts.push(hardline, "---"); - } - }, "children"); - const lastDescendantNode = getLastDescendantNode(node); - if (!isNode(lastDescendantNode, ["blockLiteral", "blockFolded"]) || lastDescendantNode.chomping !== "keep") { - parts.push(hardline); - } - return parts; - } - case "document": { - const nextDocument = parentNode.children[path.getName() + 1]; - const parts = []; - if (shouldPrintDocumentHeadEndMarker(node, nextDocument, parentNode, options) === "head") { - if (node.head.children.length > 0 || node.head.endComments.length > 0) { - parts.push(print("head")); - } - if (hasTrailingComment(node.head)) { - parts.push(["---", " ", print(["head", "trailingComment"])]); - } else { - parts.push("---"); - } - } - if (shouldPrintDocumentBody(node)) { - parts.push(print("body")); - } - return join(hardline, parts); - } - case "documentHead": - return join(hardline, [...path.map(print, "children"), ...path.map(print, "endComments")]); - case "documentBody": { - const { - children, - endComments - } = node; - let separator = ""; - if (children.length > 0 && endComments.length > 0) { - const lastDescendantNode = getLastDescendantNode(node); - if (isNode(lastDescendantNode, ["blockFolded", "blockLiteral"])) { - if (lastDescendantNode.chomping !== "keep") { - separator = [hardline, hardline]; - } - } else { - separator = hardline; - } - } - return [join(hardline, path.map(print, "children")), separator, join(hardline, path.map(print, "endComments"))]; - } - case "directive": - return ["%", join(" ", [node.name, ...node.parameters])]; - case "comment": - return ["#", node.value]; - case "alias": - return ["*", node.value]; - case "tag": - return options.originalText.slice(node.position.start.offset, node.position.end.offset); - case "anchor": - return ["&", node.value]; - case "plain": - return printFlowScalarContent(node.type, options.originalText.slice(node.position.start.offset, node.position.end.offset), options); - case "quoteDouble": - case "quoteSingle": { - const singleQuote = "'"; - const doubleQuote = '"'; - const raw = options.originalText.slice(node.position.start.offset + 1, node.position.end.offset - 1); - if (node.type === "quoteSingle" && raw.includes("\\") || node.type === "quoteDouble" && /\\[^"]/.test(raw)) { - const originalQuote = node.type === "quoteDouble" ? doubleQuote : singleQuote; - return [originalQuote, printFlowScalarContent(node.type, raw, options), originalQuote]; - } - if (raw.includes(doubleQuote)) { - return [singleQuote, printFlowScalarContent(node.type, node.type === "quoteDouble" ? raw.replace(/\\"/g, doubleQuote).replace(/'/g, singleQuote.repeat(2)) : raw, options), singleQuote]; - } - if (raw.includes(singleQuote)) { - return [doubleQuote, printFlowScalarContent(node.type, node.type === "quoteSingle" ? raw.replace(/''/g, singleQuote) : raw, options), doubleQuote]; - } - const quote = options.singleQuote ? singleQuote : doubleQuote; - return [quote, printFlowScalarContent(node.type, raw, options), quote]; - } - case "blockFolded": - case "blockLiteral": { - return printBlock(path, print, options); - } - case "mapping": - case "sequence": - return join(hardline, path.map(print, "children")); - case "sequenceItem": - return ["- ", alignWithSpaces(2, node.content ? print("content") : "")]; - case "mappingKey": - case "mappingValue": - return !node.content ? "" : print("content"); - case "mappingItem": - case "flowMappingItem": { - return printMappingItem(node, parentNode, path, print, options); - } - case "flowMapping": - return printFlowMapping(path, print, options); - case "flowSequence": - return printFlowSequence(path, print, options); - case "flowSequenceItem": - return print("content"); - default: - throw new Error(`Unexpected node type ${node.type}`); - } - } - function shouldPrintDocumentBody(document2) { - return document2.body.children.length > 0 || hasEndComments(document2.body); - } - function shouldPrintDocumentEndMarker(document2, nextDocument) { - return hasTrailingComment(document2) || nextDocument && (nextDocument.head.children.length > 0 || hasEndComments(nextDocument.head)); - } - function shouldPrintDocumentHeadEndMarker(document2, nextDocument, root, options) { - if (root.children[0] === document2 && /---(?:\s|$)/.test(options.originalText.slice(locStart(document2), locStart(document2) + 4)) || document2.head.children.length > 0 || hasEndComments(document2.head) || hasTrailingComment(document2.head)) { - return "head"; - } - if (shouldPrintDocumentEndMarker(document2, nextDocument)) { - return false; - } - return nextDocument ? "root" : false; - } - function printFlowScalarContent(nodeType, content, options) { - const lineContents = getFlowScalarLineContents(nodeType, content, options); - return join(hardline, lineContents.map((lineContentWords) => fill(getDocParts(join(line, lineContentWords))))); - } - function clean(node, newNode) { - if (isNode(newNode)) { - delete newNode.position; - switch (newNode.type) { - case "comment": - if (isPragma(newNode.value)) { - return null; - } - break; - case "quoteDouble": - case "quoteSingle": - newNode.type = "quote"; - break; - } - } - } - module2.exports = { - preprocess, - embed, - print: genericPrint, - massageAstNode: clean, - insertPragma - }; - } -}); -var require_options7 = __commonJS2({ - "src/language-yaml/options.js"(exports2, module2) { - "use strict"; - var commonOptions = require_common_options(); - module2.exports = { - bracketSpacing: commonOptions.bracketSpacing, - singleQuote: commonOptions.singleQuote, - proseWrap: commonOptions.proseWrap - }; - } -}); -var require_parsers7 = __commonJS2({ - "src/language-yaml/parsers.js"(exports2, module2) { - "use strict"; - module2.exports = { - get yaml() { - return require("./parser-yaml.js").parsers.yaml; - } - }; - } -}); -var require_YAML = __commonJS2({ - "node_modules/linguist-languages/data/YAML.json"(exports2, module2) { - module2.exports = { - name: "YAML", - type: "data", - color: "#cb171e", - tmScope: "source.yaml", - aliases: ["yml"], - extensions: [".yml", ".mir", ".reek", ".rviz", ".sublime-syntax", ".syntax", ".yaml", ".yaml-tmlanguage", ".yaml.sed", ".yml.mysql"], - filenames: [".clang-format", ".clang-tidy", ".gemrc", "CITATION.cff", "glide.lock", "yarn.lock"], - aceMode: "yaml", - codemirrorMode: "yaml", - codemirrorMimeType: "text/x-yaml", - languageId: 407 - }; - } -}); -var require_language_yaml = __commonJS2({ - "src/language-yaml/index.js"(exports2, module2) { - "use strict"; - var createLanguage = require_create_language(); - var printer = require_printer_yaml(); - var options = require_options7(); - var parsers = require_parsers7(); - var languages = [createLanguage(require_YAML(), (data) => ({ - since: "1.14.0", - parsers: ["yaml"], - vscodeLanguageIds: ["yaml", "ansible", "home-assistant"], - filenames: [...data.filenames.filter((filename) => filename !== "yarn.lock"), ".prettierrc", ".stylelintrc", ".lintstagedrc"] - }))]; - module2.exports = { - languages, - printers: { - yaml: printer - }, - options, - parsers - }; - } -}); -var require_languages = __commonJS2({ - "src/languages.js"(exports2, module2) { - "use strict"; - module2.exports = [require_language_js(), require_language_css(), require_language_handlebars(), require_language_graphql(), require_language_markdown(), require_language_html(), require_language_yaml()]; - } -}); -var require_load_plugins = __commonJS2({ - "src/common/load-plugins.js"(exports2, module2) { - "use strict"; - var fs = require("fs"); - var path = require("path"); - var fastGlob = require_out4(); - var partition = require_partition(); - var uniqByKey = require_uniq_by_key(); - var internalPlugins = require_languages(); - var { - default: mem2, - memClear: memClear2 - } = (init_dist(), __toCommonJS(dist_exports)); - var thirdParty = require("./third-party.js"); - var resolve = require_resolve2(); - var memoizedLoad = mem2(load, { - cacheKey: JSON.stringify - }); - var memoizedSearch = mem2(findPluginsInNodeModules); - var clearCache = () => { - memClear2(memoizedLoad); - memClear2(memoizedSearch); - }; - function load(plugins2, pluginSearchDirs) { - if (!plugins2) { - plugins2 = []; - } - if (pluginSearchDirs === false) { - pluginSearchDirs = []; - } else { - pluginSearchDirs = pluginSearchDirs || []; - if (pluginSearchDirs.length === 0) { - const autoLoadDir = thirdParty.findParentDir(__dirname, "node_modules"); - if (autoLoadDir) { - pluginSearchDirs = [autoLoadDir]; - } - } - } - const [externalPluginNames, externalPluginInstances] = partition(plugins2, (plugin) => typeof plugin === "string"); - const externalManualLoadPluginInfos = externalPluginNames.map((pluginName) => { - let requirePath; - try { - requirePath = resolve(path.resolve(process.cwd(), pluginName)); - } catch { - requirePath = resolve(pluginName, { - paths: [process.cwd()] - }); - } - return { - name: pluginName, - requirePath - }; - }); - const externalAutoLoadPluginInfos = pluginSearchDirs.flatMap((pluginSearchDir) => { - const resolvedPluginSearchDir = path.resolve(process.cwd(), pluginSearchDir); - const nodeModulesDir = path.resolve(resolvedPluginSearchDir, "node_modules"); - if (!isDirectory(nodeModulesDir) && !isDirectory(resolvedPluginSearchDir)) { - throw new Error(`${pluginSearchDir} does not exist or is not a directory`); - } - return memoizedSearch(nodeModulesDir).map((pluginName) => ({ - name: pluginName, - requirePath: resolve(pluginName, { - paths: [resolvedPluginSearchDir] - }) - })); - }); - const externalPlugins = [...uniqByKey([...externalManualLoadPluginInfos, ...externalAutoLoadPluginInfos], "requirePath").map((externalPluginInfo) => Object.assign({ - name: externalPluginInfo.name - }, require(externalPluginInfo.requirePath))), ...externalPluginInstances]; - return [...internalPlugins, ...externalPlugins]; - } - function findPluginsInNodeModules(nodeModulesDir) { - const pluginPackageJsonPaths = fastGlob.sync(["prettier-plugin-*/package.json", "@*/prettier-plugin-*/package.json", "@prettier/plugin-*/package.json"], { - cwd: nodeModulesDir - }); - return pluginPackageJsonPaths.map(path.dirname); - } - function isDirectory(dir) { - try { - return fs.statSync(dir).isDirectory(); - } catch { - return false; - } - } - module2.exports = { - loadPlugins: memoizedLoad, - clearCache - }; - } -}); -var { - version -} = require("./package.json"); -var core = require_core(); -var { - getSupportInfo -} = require_support(); -var getFileInfo = require_get_file_info(); -var sharedUtil = require_util_shared(); -var plugins = require_load_plugins(); -var config = require_resolve_config(); -var doc = require("./doc.js"); -function _withPlugins(fn, optsArgIdx = 1) { - return (...args) => { - const opts = args[optsArgIdx] || {}; - args[optsArgIdx] = Object.assign(Object.assign({}, opts), {}, { - plugins: plugins.loadPlugins(opts.plugins, opts.pluginSearchDirs) - }); - return fn(...args); - }; -} -function withPlugins(fn, optsArgIdx) { - const resultingFn = _withPlugins(fn, optsArgIdx); - if (fn.sync) { - resultingFn.sync = _withPlugins(fn.sync, optsArgIdx); - } - return resultingFn; -} -var formatWithCursor = withPlugins(core.formatWithCursor); -module.exports = { - formatWithCursor, - format(text, opts) { - return formatWithCursor(text, opts).formatted; - }, - check(text, opts) { - const { - formatted - } = formatWithCursor(text, opts); - return formatted === text; - }, - doc, - resolveConfig: config.resolveConfig, - resolveConfigFile: config.resolveConfigFile, - clearConfigCache() { - config.clearCache(); - plugins.clearCache(); - }, - getFileInfo: withPlugins(getFileInfo), - getSupportInfo: withPlugins(getSupportInfo, 0), - version, - util: sharedUtil, - __internal: { - errors: require_errors(), - coreOptions: require_core_options(), - createIgnorer: require_create_ignorer(), - optionsModule: require_options(), - optionsNormalizer: require_options_normalizer(), - utils: { - arrayify: require_arrayify(), - getLast: require_get_last(), - partition: require_partition(), - isNonEmptyArray: require_util().isNonEmptyArray - } - }, - __debug: { - parse: withPlugins(core.parse), - formatAST: withPlugins(core.formatAST), - formatDoc: withPlugins(core.formatDoc), - printToDoc: withPlugins(core.printToDoc), - printDocToString: withPlugins(core.printDocToString) - } -}; diff --git a/node_modules/ts-poet/node_modules/prettier/package.json b/node_modules/ts-poet/node_modules/prettier/package.json deleted file mode 100644 index 1651dc3064..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "prettier", - "version": "2.8.8", - "description": "Prettier is an opinionated code formatter", - "bin": "./bin-prettier.js", - "repository": "prettier/prettier", - "funding": "https://github.com/prettier/prettier?sponsor=1", - "homepage": "https://prettier.io", - "author": "James Long", - "license": "MIT", - "main": "./index.js", - "browser": "./standalone.js", - "unpkg": "./standalone.js", - "engines": { - "node": ">=10.13.0" - }, - "files": [ - "*.js", - "esm/*.mjs" - ] -} \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-angular.js b/node_modules/ts-poet/node_modules/prettier/parser-angular.js deleted file mode 100644 index f4cbb36757..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-angular.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.angular=e()}})(function(){"use strict";var cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Br=cr((Mr,ar)=>{var ze=Object.defineProperty,ur=Object.getOwnPropertyDescriptor,He=Object.getOwnPropertyNames,lr=Object.prototype.hasOwnProperty,Y=(e,t)=>function(){return e&&(t=(0,e[He(e)[0]])(e=0)),t},q=(e,t)=>function(){return t||(0,e[He(e)[0]])((t={exports:{}}).exports,t),t.exports},Xe=(e,t)=>{for(var r in t)ze(e,r,{get:t[r],enumerable:!0})},hr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of He(t))!lr.call(e,s)&&s!==r&&ze(e,s,{get:()=>t[s],enumerable:!(n=ur(t,s))||n.enumerable});return e},be=e=>hr(ze({},"__esModule",{value:!0}),e),L=Y({""(){}}),pr=q({"src/utils/is-non-empty-array.js"(e,t){"use strict";L();function r(n){return Array.isArray(n)&&n.length>0}t.exports=r}}),dr=q({"src/language-js/loc.js"(e,t){"use strict";L();var r=pr();function n(l){var P,p;let x=l.range?l.range[0]:l.start,C=(P=(p=l.declaration)===null||p===void 0?void 0:p.decorators)!==null&&P!==void 0?P:l.decorators;return r(C)?Math.min(n(C[0]),x):x}function s(l){return l.range?l.range[1]:l.end}function a(l,P){let p=n(l);return Number.isInteger(p)&&p===n(P)}function i(l,P){let p=s(l);return Number.isInteger(p)&&p===s(P)}function h(l,P){return a(l,P)&&i(l,P)}t.exports={locStart:n,locEnd:s,hasSameLocStart:a,hasSameLoc:h}}}),fr=q({"node_modules/angular-estree-parser/node_modules/lines-and-columns/build/index.js"(e){"use strict";L(),e.__esModule=!0,e.LinesAndColumns=void 0;var t=` -`,r="\r",n=function(){function s(a){this.string=a;for(var i=[0],h=0;hthis.string.length)return null;for(var i=0,h=this.offsets;h[i+1]<=a;)i++;var l=a-h[i];return{line:i,column:l}},s.prototype.indexForLocation=function(a){var i=a.line,h=a.column;return i<0||i>=this.offsets.length||h<0||h>this.lengthOfLine(i)?null:this.offsets[i]+h},s.prototype.lengthOfLine=function(a){var i=this.offsets[a],h=a===this.offsets.length-1?this.string.length:this.offsets[a+1];return h-i},s}();e.LinesAndColumns=n,e.default=n}}),gr=q({"node_modules/angular-estree-parser/lib/context.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.Context=void 0;var t=fr(),r=class{constructor(s){this.text=s,this.locator=new n(this.text)}};e.Context=r;var n=class{constructor(s){this._lineAndColumn=new t.default(s)}locationForIndex(s){let{line:a,column:i}=this._lineAndColumn.locationForIndex(s);return{line:a+1,column:i}}}}}),Je={};Xe(Je,{AST:()=>k,ASTWithName:()=>W,ASTWithSource:()=>G,AbsoluteSourceSpan:()=>U,AstMemoryEfficientTransformer:()=>Ct,AstTransformer:()=>Pt,Binary:()=>B,BindingPipe:()=>fe,BoundElementProperty:()=>It,Chain:()=>oe,Conditional:()=>ce,EmptyExpr:()=>K,ExpressionBinding:()=>Ze,FunctionCall:()=>Pe,ImplicitReceiver:()=>Oe,Interpolation:()=>me,KeyedRead:()=>he,KeyedWrite:()=>de,LiteralArray:()=>ge,LiteralMap:()=>ve,LiteralPrimitive:()=>$,MethodCall:()=>ye,NonNullAssert:()=>Se,ParseSpan:()=>V,ParsedEvent:()=>At,ParsedProperty:()=>Et,ParsedPropertyType:()=>se,ParsedVariable:()=>_t,ParserError:()=>ae,PrefixNot:()=>xe,PropertyRead:()=>ne,PropertyWrite:()=>ue,Quote:()=>Le,RecursiveAstVisitor:()=>et,SafeKeyedRead:()=>pe,SafeMethodCall:()=>we,SafePropertyRead:()=>le,ThisReceiver:()=>Ye,Unary:()=>F,VariableBinding:()=>Re});var ae,V,k,W,Le,K,Oe,Ye,oe,ce,ne,ue,le,he,pe,de,fe,$,ge,ve,me,B,F,xe,Se,ye,we,Pe,U,G,Re,Ze,et,Pt,Ct,Et,se,At,_t,It,tt=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/ast.js"(){L(),ae=class{constructor(e,t,r,n){this.input=t,this.errLocation=r,this.ctxLocation=n,this.message=`Parser Error: ${e} ${r} [${t}] in ${n}`}},V=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new U(e+this.start,e+this.end)}},k=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},W=class extends k{constructor(e,t,r){super(e,t),this.nameSpan=r}},Le=class extends k{constructor(e,t,r,n,s){super(e,t),this.prefix=r,this.uninterpretedExpression=n,this.location=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitQuote(this,t)}toString(){return"Quote"}},K=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null}},Oe=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitImplicitReceiver(this,t)}},Ye=class extends Oe{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;var r;return(r=e.visitThisReceiver)===null||r===void 0?void 0:r.call(e,this,t)}},oe=class extends k{constructor(e,t,r){super(e,t),this.expressions=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitChain(this,t)}},ce=class extends k{constructor(e,t,r,n,s){super(e,t),this.condition=r,this.trueExp=n,this.falseExp=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitConditional(this,t)}},ne=class extends W{constructor(e,t,r,n,s){super(e,t,r),this.receiver=n,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyRead(this,t)}},ue=class extends W{constructor(e,t,r,n,s,a){super(e,t,r),this.receiver=n,this.name=s,this.value=a}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyWrite(this,t)}},le=class extends W{constructor(e,t,r,n,s){super(e,t,r),this.receiver=n,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafePropertyRead(this,t)}},he=class extends k{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedRead(this,t)}},pe=class extends k{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeKeyedRead(this,t)}},de=class extends k{constructor(e,t,r,n,s){super(e,t),this.receiver=r,this.key=n,this.value=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedWrite(this,t)}},fe=class extends W{constructor(e,t,r,n,s,a){super(e,t,a),this.exp=r,this.name=n,this.args=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPipe(this,t)}},$=class extends k{constructor(e,t,r){super(e,t),this.value=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralPrimitive(this,t)}},ge=class extends k{constructor(e,t,r){super(e,t),this.expressions=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralArray(this,t)}},ve=class extends k{constructor(e,t,r,n){super(e,t),this.keys=r,this.values=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralMap(this,t)}},me=class extends k{constructor(e,t,r,n){super(e,t),this.strings=r,this.expressions=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitInterpolation(this,t)}},B=class extends k{constructor(e,t,r,n,s){super(e,t),this.operation=r,this.left=n,this.right=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitBinary(this,t)}},F=class extends B{constructor(e,t,r,n,s,a,i){super(e,t,s,a,i),this.operator=r,this.expr=n}static createMinus(e,t,r){return new F(e,t,"-",r,"-",new $(e,t,0),r)}static createPlus(e,t,r){return new F(e,t,"+",r,"-",r,new $(e,t,0))}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},xe=class extends k{constructor(e,t,r){super(e,t),this.expression=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPrefixNot(this,t)}},Se=class extends k{constructor(e,t,r){super(e,t),this.expression=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitNonNullAssert(this,t)}},ye=class extends W{constructor(e,t,r,n,s,a,i){super(e,t,r),this.receiver=n,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitMethodCall(this,t)}},we=class extends W{constructor(e,t,r,n,s,a,i){super(e,t,r),this.receiver=n,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeMethodCall(this,t)}},Pe=class extends k{constructor(e,t,r,n){super(e,t),this.target=r,this.args=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitFunctionCall(this,t)}},U=class{constructor(e,t){this.start=e,this.end=t}},G=class extends k{constructor(e,t,r,n,s){super(new V(0,t===null?0:t.length),new U(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=r,this.errors=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},Re=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},Ze=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},et=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitFunctionCall(e,t){e.target&&this.visit(e.target,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitQuote(e,t){}visitAll(e,t){for(let r of e)this.visit(r,t)}},Pt=class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){return new me(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}visitLiteralPrimitive(e,t){return new $(e.span,e.sourceSpan,e.value)}visitPropertyRead(e,t){return new ne(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitPropertyWrite(e,t){return new ue(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}visitSafePropertyRead(e,t){return new le(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitMethodCall(e,t){return new ye(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitSafeMethodCall(e,t){return new we(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitFunctionCall(e,t){return new Pe(e.span,e.sourceSpan,e.target.visit(this),this.visitAll(e.args))}visitLiteralArray(e,t){return new ge(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitLiteralMap(e,t){return new ve(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}visitUnary(e,t){switch(e.operator){case"+":return F.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return F.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error(`Unknown unary operator ${e.operator}`)}}visitBinary(e,t){return new B(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}visitPrefixNot(e,t){return new xe(e.span,e.sourceSpan,e.expression.visit(this))}visitNonNullAssert(e,t){return new Se(e.span,e.sourceSpan,e.expression.visit(this))}visitConditional(e,t){return new ce(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}visitPipe(e,t){return new fe(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}visitKeyedRead(e,t){return new he(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}visitKeyedWrite(e,t){return new de(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this),e.value.visit(this))}visitAll(e){let t=[];for(let r=0;r=rt&&e<=nt||e==dt}function Q(e){return Mt<=e&&e<=jt}function mr(e){return e>=ht&&e<=pt||e>=ut&&e<=lt}function mt(e){return e===at||e===st||e===Xt}var Ce,rt,Ot,kt,Nt,bt,nt,Lt,st,Rt,it,Tt,je,at,Ee,z,$t,ot,ee,ct,H,Te,X,te,Bt,ie,Kt,Fe,Mt,jt,ut,Ft,lt,Ae,Ut,re,Wt,Be,ht,Gt,Vt,qt,Qt,Dt,zt,Ht,pt,$e,Ue,_e,dt,Xt,Jt=Y({"node_modules/@angular/compiler/esm2015/src/chars.js"(){L(),Ce=0,rt=9,Ot=10,kt=11,Nt=12,bt=13,nt=32,Lt=33,st=34,Rt=35,it=36,Tt=37,je=38,at=39,Ee=40,z=41,$t=42,ot=43,ee=44,ct=45,H=46,Te=47,X=58,te=59,Bt=60,ie=61,Kt=62,Fe=63,Mt=48,jt=57,ut=65,Ft=69,lt=90,Ae=91,Ut=92,re=93,Wt=94,Be=95,ht=97,Gt=101,Vt=102,qt=110,Qt=114,Dt=116,zt=117,Ht=118,pt=122,$e=123,Ue=124,_e=125,dt=160,Xt=96}}),Yt={};Xe(Yt,{EOF:()=>Ie,Lexer:()=>er,Token:()=>M,TokenType:()=>S,isIdentifier:()=>Zt});function xt(e,t,r){return new M(e,t,S.Character,r,String.fromCharCode(r))}function xr(e,t,r){return new M(e,t,S.Identifier,0,r)}function Sr(e,t,r){return new M(e,t,S.PrivateIdentifier,0,r)}function yr(e,t,r){return new M(e,t,S.Keyword,0,r)}function Ke(e,t,r){return new M(e,t,S.Operator,0,r)}function wr(e,t,r){return new M(e,t,S.String,0,r)}function Pr(e,t,r){return new M(e,t,S.Number,r,"")}function Cr(e,t,r){return new M(e,t,S.Error,0,r)}function We(e){return ht<=e&&e<=pt||ut<=e&&e<=lt||e==Be||e==it}function Zt(e){if(e.length==0)return!1;let t=new Ve(e);if(!We(t.peek))return!1;for(t.advance();t.peek!==Ce;){if(!Ge(t.peek))return!1;t.advance()}return!0}function Ge(e){return mr(e)||Q(e)||e==Be||e==it}function Er(e){return e==Gt||e==Ft}function Ar(e){return e==ct||e==ot}function _r(e){switch(e){case qt:return Ot;case Vt:return Nt;case Qt:return bt;case Dt:return rt;case Ht:return kt;default:return e}}function Ir(e){let t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var S,St,er,M,Ie,Ve,tr=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/lexer.js"(){L(),Jt(),function(e){e[e.Character=0]="Character",e[e.Identifier=1]="Identifier",e[e.PrivateIdentifier=2]="PrivateIdentifier",e[e.Keyword=3]="Keyword",e[e.String=4]="String",e[e.Operator=5]="Operator",e[e.Number=6]="Number",e[e.Error=7]="Error"}(S||(S={})),St=["var","let","as","null","undefined","true","false","if","else","this"],er=class{tokenize(e){let t=new Ve(e),r=[],n=t.scanToken();for(;n!=null;)r.push(n),n=t.scanToken();return r}},M=class{constructor(e,t,r,n,s){this.index=e,this.end=t,this.type=r,this.numValue=n,this.strValue=s}isCharacter(e){return this.type==S.Character&&this.numValue==e}isNumber(){return this.type==S.Number}isString(){return this.type==S.String}isOperator(e){return this.type==S.Operator&&this.strValue==e}isIdentifier(){return this.type==S.Identifier}isPrivateIdentifier(){return this.type==S.PrivateIdentifier}isKeyword(){return this.type==S.Keyword}isKeywordLet(){return this.type==S.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==S.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==S.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==S.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==S.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==S.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==S.Keyword&&this.strValue=="this"}isError(){return this.type==S.Error}toNumber(){return this.type==S.Number?this.numValue:-1}toString(){switch(this.type){case S.Character:case S.Identifier:case S.Keyword:case S.Operator:case S.PrivateIdentifier:case S.String:case S.Error:return this.strValue;case S.Number:return this.numValue.toString();default:return null}}},Ie=new M(-1,-1,S.Character,0,""),Ve=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?Ce:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,r=this.peek,n=this.index;for(;r<=nt;)if(++n>=t){r=Ce;break}else r=e.charCodeAt(n);if(this.peek=r,this.index=n,n>=t)return null;if(We(r))return this.scanIdentifier();if(Q(r))return this.scanNumber(n);let s=n;switch(r){case H:return this.advance(),Q(this.peek)?this.scanNumber(s):xt(s,this.index,H);case Ee:case z:case $e:case _e:case Ae:case re:case ee:case X:case te:return this.scanCharacter(s,r);case at:case st:return this.scanString();case Rt:return this.scanPrivateIdentifier();case ot:case ct:case $t:case Te:case Tt:case Wt:return this.scanOperator(s,String.fromCharCode(r));case Fe:return this.scanQuestion(s);case Bt:case Kt:return this.scanComplexOperator(s,String.fromCharCode(r),ie,"=");case Lt:case ie:return this.scanComplexOperator(s,String.fromCharCode(r),ie,"=",ie,"=");case je:return this.scanComplexOperator(s,"&",je,"&");case Ue:return this.scanComplexOperator(s,"|",Ue,"|");case dt:for(;vr(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(r)}]`,0)}scanCharacter(e,t){return this.advance(),xt(e,this.index,t)}scanOperator(e,t){return this.advance(),Ke(e,this.index,t)}scanComplexOperator(e,t,r,n,s,a){this.advance();let i=t;return this.peek==r&&(this.advance(),i+=n),s!=null&&this.peek==s&&(this.advance(),i+=a),Ke(e,this.index,i)}scanIdentifier(){let e=this.index;for(this.advance();Ge(this.peek);)this.advance();let t=this.input.substring(e,this.index);return St.indexOf(t)>-1?yr(e,this.index,t):xr(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!We(this.peek))return this.error("Invalid character [#]",-1);for(;Ge(this.peek);)this.advance();let t=this.input.substring(e,this.index);return Sr(e,this.index,t)}scanNumber(e){let t=this.index===e,r=!1;for(this.advance();;){if(!Q(this.peek))if(this.peek===Be){if(!Q(this.input.charCodeAt(this.index-1))||!Q(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);r=!0}else if(this.peek===H)t=!1;else if(Er(this.peek)){if(this.advance(),Ar(this.peek)&&this.advance(),!Q(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);r&&(n=n.replace(/_/g,""));let s=t?Ir(n):parseFloat(n);return Pr(e,this.index,s)}scanString(){let e=this.index,t=this.peek;this.advance();let r="",n=this.index,s=this.input;for(;this.peek!=t;)if(this.peek==Ut){r+=s.substring(n,this.index),this.advance();let i;if(this.peek=this.peek,this.peek==zt){let h=s.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(h))i=parseInt(h,16);else return this.error(`Invalid unicode escape [\\u${h}]`,0);for(let l=0;l<5;l++)this.advance()}else i=_r(this.peek),this.advance();r+=String.fromCharCode(i),n=this.index}else{if(this.peek==Ce)return this.error("Unterminated quote",0);this.advance()}let a=s.substring(n,this.index);return this.advance(),wr(e,this.index,r+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===Fe||this.peek===H)&&(t+=this.peek===H?".":"?",this.advance()),Ke(e,this.index,t)}error(e,t){let r=this.index+t;return Cr(r,this.index,`Lexer Error: ${e} at column ${r} in expression [${this.input}]`)}}}});function Or(e,t){if(t!=null&&!(Array.isArray(t)&&t.length==2))throw new Error(`Expected '${e}' to be an array, [start, end].`);if(t!=null){let r=t[0],n=t[1];rr.forEach(s=>{if(s.test(r)||s.test(n))throw new Error(`['${r}', '${n}'] contains unusable interpolation symbol.`)})}}var rr,kr=Y({"node_modules/@angular/compiler/esm2015/src/assertions.js"(){L(),rr=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]}}),Me,J,Nr=Y({"node_modules/@angular/compiler/esm2015/src/ml_parser/interpolation_config.js"(){L(),kr(),Me=class{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(Or("interpolation",e),new Me(e[0],e[1])):J}},J=new Me("{{","}}")}}),nr={};Xe(nr,{IvyParser:()=>sr,Parser:()=>De,SplitInterpolation:()=>qe,TemplateBindingParseResult:()=>Qe,_ParseAST:()=>D});var qe,Qe,De,sr,Z,D,yt,wt,br=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/parser.js"(){L(),Jt(),Nr(),tt(),tr(),qe=class{constructor(e,t,r){this.strings=e,this.expressions=t,this.offsets=r}},Qe=class{constructor(e,t,r){this.templateBindings=e,this.warnings=t,this.errors=r}},De=class{constructor(e){this._lexer=e,this.errors=[],this.simpleExpressionChecker=yt}parseAction(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J;this._checkNoInterpolation(e,t,n);let s=this._stripComments(e),a=this._lexer.tokenize(this._stripComments(e)),i=new D(e,t,r,a,s.length,!0,this.errors,e.length-s.length).parseChain();return new G(i,e,t,r,this.errors)}parseBinding(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,r,n);return new G(s,e,t,r,this.errors)}checkSimpleExpression(e){let t=new this.simpleExpressionChecker;return e.visit(t),t.errors}parseSimpleBinding(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,r,n),a=this.checkSimpleExpression(s);return a.length>0&&this._reportError(`Host binding expression cannot contain ${a.join(" ")}`,e,t),new G(s,e,t,r,this.errors)}_reportError(e,t,r,n){this.errors.push(new ae(e,t,r,n))}_parseBindingAst(e,t,r,n){let s=this._parseQuote(e,t,r);if(s!=null)return s;this._checkNoInterpolation(e,t,n);let a=this._stripComments(e),i=this._lexer.tokenize(a);return new D(e,t,r,i,a.length,!1,this.errors,e.length-a.length).parseChain()}_parseQuote(e,t,r){if(e==null)return null;let n=e.indexOf(":");if(n==-1)return null;let s=e.substring(0,n).trim();if(!Zt(s))return null;let a=e.substring(n+1),i=new V(0,e.length);return new Le(i,i.toAbsolute(r),s,a,t)}parseTemplateBindings(e,t,r,n,s){let a=this._lexer.tokenize(t);return new D(t,r,s,a,t.length,!1,this.errors,0).parseTemplateBindings({source:e,span:new U(n,n+e.length)})}parseInterpolation(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,{strings:s,expressions:a,offsets:i}=this.splitInterpolation(e,t,n);if(a.length===0)return null;let h=[];for(let l=0;ll.text),h,e,t,r)}parseInterpolationExpression(e,t,r){let n=this._stripComments(e),s=this._lexer.tokenize(n),a=new D(e,t,r,s,n.length,!1,this.errors,0).parseChain(),i=["",""];return this.createInterpolationAst(i,[a],e,t,r)}createInterpolationAst(e,t,r,n,s){let a=new V(0,r.length),i=new me(a,a.toAbsolute(s),e,t);return new G(i,r,n,s,this.errors)}splitInterpolation(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:J,n=[],s=[],a=[],i=0,h=!1,l=!1,{start:P,end:p}=r;for(;i-1)break;a>-1&&i>-1&&this._reportError(`Got interpolation (${n}${s}) where expression was expected`,e,`at column ${a} in`,t)}_getInterpolationEndIndex(e,t,r){for(let n of this._forEachUnquotedChar(e,r)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let r=null,n=0;for(let s=t;s=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let r=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(r=t),e>r){let n=r;r=e,e=n}return new V(e,r)}sourceSpan(e,t){let r=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(r)||this.sourceSpanCache.set(r,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(r)}advance(){this.index++}withContext(e,t){this.context|=e;let r=t();return this.context^=e,r}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Ie?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==S.Operator;){let r=this.next.strValue;switch(r){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==S.Operator;){let r=this.next.strValue;switch(r){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parsePrefix(){if(this.next.type==S.Operator){let e=this.inputIndex,t=this.next.strValue,r;switch(t){case"+":return this.advance(),r=this.parsePrefix(),F.createPlus(this.span(e),this.sourceSpan(e),r);case"-":return this.advance(),r=this.parsePrefix(),F.createMinus(this.span(e),this.sourceSpan(e),r);case"!":return this.advance(),r=this.parsePrefix(),new xe(this.span(e),this.sourceSpan(e),r)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(H))t=this.parseAccessMemberOrMethodCall(t,e,!1);else if(this.consumeOptionalOperator("?."))t=this.consumeOptionalCharacter(Ae)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMemberOrMethodCall(t,e,!0);else if(this.consumeOptionalCharacter(Ae))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(z),t=new Pe(this.span(e),this.sourceSpan(e),t,r)}else if(this.consumeOptionalOperator("!"))t=new Se(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(z),t}else{if(this.next.isKeywordNull())return this.advance(),new $(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new $(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new $(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new $(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Ye(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(Ae)){this.rbracketsExpected++;let t=this.parseExpressionList(re);return this.rbracketsExpected--,this.expectCharacter(re),new ge(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter($e))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Oe(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new $(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new $(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new K(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new K(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new K(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(ee));return t}parseLiteralMap(){let e=[],t=[],r=this.inputIndex;if(this.expectCharacter($e),!this.consumeOptionalCharacter(_e)){this.rbracesExpected++;do{let n=this.inputIndex,s=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:s}),s)this.expectCharacter(X),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(X))t.push(this.parsePipe());else{let i=this.span(n),h=this.sourceSpan(n);t.push(new ne(i,h,h,new Oe(i,h),a))}}while(this.consumeOptionalCharacter(ee));this.rbracesExpected--,this.expectCharacter(_e)}return new ve(this.span(r),this.sourceSpan(r),e,t)}parseAccessMemberOrMethodCall(e,t,r){let n=this.inputIndex,s=this.withContext(Z.Writable,()=>{var i;let h=(i=this.expectIdentifierOrKeyword())!==null&&i!==void 0?i:"";return h.length===0&&this.error("Expected identifier for property access",e.span.end),h}),a=this.sourceSpan(n);if(this.consumeOptionalCharacter(Ee)){let i=this.inputIndex;this.rparensExpected++;let h=this.parseCallArguments(),l=this.span(i,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(z),this.rparensExpected--;let P=this.span(t),p=this.sourceSpan(t);return r?new we(P,p,a,e,s,h,l):new ye(P,p,a,e,s,h,l)}else{if(r)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new K(this.span(t),this.sourceSpan(t))):new le(this.span(t),this.sourceSpan(t),a,e,s);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new K(this.span(t),this.sourceSpan(t));let i=this.parseConditional();return new ue(this.span(t),this.sourceSpan(t),a,e,s,i)}else return new ne(this.span(t),this.sourceSpan(t),a,e,s)}}parseCallArguments(){if(this.next.isCharacter(z))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(ee));return e}expectTemplateBindingKey(){let e="",t=!1,r=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new U(r,r+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof K&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(re),this.consumeOptionalOperator("="))if(r)this.error("The '?.' operator cannot be used in the assignment");else{let s=this.parseConditional();return new de(this.span(t),this.sourceSpan(t),e,n,s)}else return r?new pe(this.span(t),this.sourceSpan(t),e,n):new he(this.span(t),this.sourceSpan(t),e,n);return new K(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(X);let r=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,s=this.parseAsBinding(e);s||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let a=new U(e.span.start,n);return t.push(new Ze(a,e,r)),s&&t.push(s),t}getDirectiveBoundTarget(){if(this.next===Ie||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:r}=e.span,n=this.input.substring(t,r);return new G(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let r=new U(e.span.start,this.currentAbsoluteOffset);return new Re(r,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),r=null;this.consumeOptionalOperator("=")&&(r=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new U(e,this.currentAbsoluteOffset);return new Re(n,t,r)}consumeStatementTerminator(){this.consumeOptionalCharacter(te)||this.consumeOptionalCharacter(ee)}error(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.errors.push(new ae(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return e==null&&(e=this.index),er.visit(this,t))}visitChain(e,t){}visitQuote(e,t){}visitSafeKeyedRead(e,t){}},wt=class extends et{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}}}),ft=q({"node_modules/angular-estree-parser/lib/utils.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.getLast=e.toLowerCamelCase=e.findBackChar=e.findFrontChar=e.fitSpans=e.getNgType=e.parseNgInterpolation=e.parseNgTemplateBindings=e.parseNgAction=e.parseNgSimpleBinding=e.parseNgBinding=e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;var t=(tt(),be(Je)),r=(tr(),be(Yt)),n=(br(),be(nr)),s="angular-estree-parser";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";var a=0,i=[s,a];function h(){return new n.Parser(new r.Lexer)}function l(o,d){let y=h(),{astInput:E,comments:A}=T(o,y),{ast:I,errors:j}=d(E,y);return R(j),{ast:I,comments:A}}function P(o){return l(o,(d,y)=>y.parseBinding(d,...i))}e.parseNgBinding=P;function p(o){return l(o,(d,y)=>y.parseSimpleBinding(d,...i))}e.parseNgSimpleBinding=p;function x(o){return l(o,(d,y)=>y.parseAction(d,...i))}e.parseNgAction=x;function C(o){let d=h(),{templateBindings:y,errors:E}=d.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,o,s,a,a);return R(E),y}e.parseNgTemplateBindings=C;function b(o){let d=h(),{astInput:y,comments:E}=T(o,d),A="{{",I="}}",{ast:j,errors:or}=d.parseInterpolation(A+y+I,...i);R(or);let gt=j.expressions[0],vt=new Set;return _(gt,ke=>{vt.has(ke)||(ke.start-=A.length,ke.end-=A.length,vt.add(ke))}),{ast:gt,comments:E}}e.parseNgInterpolation=b;function _(o,d){if(!(!o||typeof o!="object")){if(Array.isArray(o))return o.forEach(y=>_(y,d));for(let y of Object.keys(o)){let E=o[y];y==="span"?d(E):_(E,d)}}}function R(o){if(o.length!==0){let[{message:d}]=o;throw new SyntaxError(d.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function T(o,d){let y=d._commentStart(o);return y===null?{astInput:o,comments:[]}:{astInput:o.slice(0,y),comments:[{type:"Comment",value:o.slice(y+2),span:{start:y,end:o.length}}]}}function O(o){return t.Unary&&o instanceof t.Unary?"Unary":o instanceof t.Binary?"Binary":o instanceof t.BindingPipe?"BindingPipe":o instanceof t.Chain?"Chain":o instanceof t.Conditional?"Conditional":o instanceof t.EmptyExpr?"EmptyExpr":o instanceof t.FunctionCall?"FunctionCall":o instanceof t.ImplicitReceiver?"ImplicitReceiver":o instanceof t.KeyedRead?"KeyedRead":o instanceof t.KeyedWrite?"KeyedWrite":o instanceof t.LiteralArray?"LiteralArray":o instanceof t.LiteralMap?"LiteralMap":o instanceof t.LiteralPrimitive?"LiteralPrimitive":o instanceof t.MethodCall?"MethodCall":o instanceof t.NonNullAssert?"NonNullAssert":o instanceof t.PrefixNot?"PrefixNot":o instanceof t.PropertyRead?"PropertyRead":o instanceof t.PropertyWrite?"PropertyWrite":o instanceof t.Quote?"Quote":o instanceof t.SafeMethodCall?"SafeMethodCall":o instanceof t.SafePropertyRead?"SafePropertyRead":o.type}e.getNgType=O;function N(o,d){let{start:y,end:E}=o,A=y,I=E;for(;I!==A&&/\s/.test(d[I-1]);)I--;for(;A!==I&&/\s/.test(d[A]);)A++;return{start:A,end:I}}function c(o,d){let{start:y,end:E}=o,A=y,I=E;for(;I!==d.length&&/\s/.test(d[I]);)I++;for(;A!==0&&/\s/.test(d[A-1]);)A--;return{start:A,end:I}}function g(o,d){return d[o.start-1]==="("&&d[o.end]===")"?{start:o.start-1,end:o.end+1}:o}function u(o,d,y){let E=0,A={start:o.start,end:o.end};for(;;){let I=c(A,d),j=g(I,d);if(I.start===j.start&&I.end===j.end)break;A.start=j.start,A.end=j.end,E++}return{hasParens:(y?E-1:E)!==0,outerSpan:N(y?{start:A.start+1,end:A.end-1}:A,d),innerSpan:N(o,d)}}e.fitSpans=u;function v(o,d,y){let E=d;for(;!o.test(y[E]);)if(--E<0)throw new Error(`Cannot find front char ${o} from index ${d} in ${JSON.stringify(y)}`);return E}e.findFrontChar=v;function m(o,d,y){let E=d;for(;!o.test(y[E]);)if(++E>=y.length)throw new Error(`Cannot find back char ${o} from index ${d} in ${JSON.stringify(y)}`);return E}e.findBackChar=m;function f(o){return o.slice(0,1).toLowerCase()+o.slice(1)}e.toLowerCamelCase=f;function w(o){return o.length===0?void 0:o[o.length-1]}e.getLast=w}}),ir=q({"node_modules/angular-estree-parser/lib/transform.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformSpan=e.transform=void 0;var t=ft(),r=function(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=t.getNgType(s);switch(h){case"Unary":{let{operator:c,expr:g}=s,u=l(g);return p("UnaryExpression",{prefix:!0,argument:u,operator:c},s.span,{hasParentParens:i})}case"Binary":{let{left:c,operation:g,right:u}=s,v=u.span.start===u.span.end,m=c.span.start===c.span.end;if(v||m){let o=c.span.start===c.span.end?l(u):l(c);return p("UnaryExpression",{prefix:!0,argument:o,operator:v?"+":"-"},{start:s.span.start,end:N(o)},{hasParentParens:i})}let f=l(c),w=l(u);return p(g==="&&"||g==="||"?"LogicalExpression":"BinaryExpression",{left:f,right:w,operator:g},{start:O(f),end:N(w)},{hasParentParens:i})}case"BindingPipe":{let{exp:c,name:g,args:u}=s,v=l(c),m=b(/\S/,b(/\|/,N(v))+1),f=p("Identifier",{name:g},{start:m,end:m+g.length}),w=u.map(l);return p("NGPipeExpression",{left:v,right:f,arguments:w},{start:O(v),end:N(w.length===0?f:t.getLast(w))},{hasParentParens:i})}case"Chain":{let{expressions:c}=s;return p("NGChainedExpression",{expressions:c.map(l)},s.span,{hasParentParens:i})}case"Comment":{let{value:c}=s;return p("CommentLine",{value:c},s.span,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:g,falseExp:u}=s,v=l(c),m=l(g),f=l(u);return p("ConditionalExpression",{test:v,consequent:m,alternate:f},{start:O(v),end:N(f)},{hasParentParens:i})}case"EmptyExpr":return p("NGEmptyExpression",{},s.span,{hasParentParens:i});case"FunctionCall":{let{target:c,args:g}=s,u=g.length===1?[P(g[0])]:g.map(l),v=l(c);return p("CallExpression",{callee:v,arguments:u},{start:O(v),end:s.span.end},{hasParentParens:i})}case"ImplicitReceiver":return p("ThisExpression",{},s.span,{hasParentParens:i});case"KeyedRead":{let{key:c}=s,g=Object.prototype.hasOwnProperty.call(s,"receiver")?s.receiver:s.obj,u=l(c);return x(g,u,{computed:!0,optional:!1},{end:s.span.end,hasParentParens:i})}case"LiteralArray":{let{expressions:c}=s;return p("ArrayExpression",{elements:c.map(l)},s.span,{hasParentParens:i})}case"LiteralMap":{let{keys:c,values:g}=s,u=g.map(m=>l(m)),v=c.map((m,f)=>{let{key:w,quoted:o}=m,d=u[f],y=b(/\S/,f===0?s.span.start+1:b(/,/,N(u[f-1]))+1),E=C(/\S/,C(/:/,O(d)-1)-1)+1,A={start:y,end:E},I=o?p("StringLiteral",{value:w},A):p("Identifier",{name:w},A),j=I.end3&&arguments[3]!==void 0?arguments[3]:{},f=Object.assign(Object.assign({type:c},n(u,a,v,m)),g);switch(c){case"Identifier":{let w=f;w.loc.identifierName=w.name;break}case"NumericLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}case"StringLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}}return f}function x(c,g,u){let{end:v=N(g),hasParentParens:m=!1}=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(_(c)||c.span.start===g.start)return g;let f=l(c),w=R(f);return p(u.optional||w?"OptionalMemberExpression":"MemberExpression",Object.assign({object:f,property:g,computed:u.computed},u.optional?{optional:!0}:w?{optional:!1}:null),{start:O(f),end:v},{hasParentParens:m})}function C(c,g){return t.findFrontChar(c,g,a.text)}function b(c,g){return t.findBackChar(c,g,a.text)}function _(c){return c.span.start>=c.span.end||/^\s+$/.test(a.text.slice(c.span.start,c.span.end))}function R(c){return(c.type==="OptionalCallExpression"||c.type==="OptionalMemberExpression")&&!T(c)}function T(c){return c.extra&&c.extra.parenthesized}function O(c){return T(c)?c.extra.parenStart:c.start}function N(c){return T(c)?c.extra.parenEnd:c.end}};e.transform=r;function n(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!i){let{start:x,end:C}=s;return{start:x,end:C,loc:{start:a.locator.locationForIndex(x),end:a.locator.locationForIndex(C)}}}let{outerSpan:l,innerSpan:P,hasParens:p}=t.fitSpans(s,a.text,h);return Object.assign({start:P.start,end:P.end,loc:{start:a.locator.locationForIndex(P.start),end:a.locator.locationForIndex(P.end)}},p&&{extra:{parenthesized:!0,parenStart:l.start,parenEnd:l.end}})}e.transformSpan=n}}),Lr=q({"node_modules/angular-estree-parser/lib/transform-microsyntax.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformTemplateBindings=void 0;var t=(tt(),be(Je)),r=ir(),n=ft();function s(a,i){a.forEach(N);let[h]=a,{key:l}=h,P=i.text.slice(h.sourceSpan.start,h.sourceSpan.end).trim().length===0?a.slice(1):a,p=[],x=null;for(let u=0;uObject.assign(Object.assign({},d),r.transformSpan({start:d.start,end:y},i)),w=d=>Object.assign(Object.assign({},f(d,m.end)),{alias:m}),o=p.pop();if(o.type==="NGMicrosyntaxExpression")p.push(w(o));else if(o.type==="NGMicrosyntaxKeyedExpression"){let d=w(o.expression);p.push(f(Object.assign(Object.assign({},o),{expression:d}),d.end))}else throw new Error(`Unexpected type ${o.type}`)}else p.push(C(v,u));x=v}return _("NGMicrosyntax",{body:p},p.length===0?a[0].sourceSpan:{start:p[0].start,end:p[p.length-1].end});function C(u,v){if(T(u)){let{key:m,value:f}=u;return f?v===0?_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan):_("NGMicrosyntaxKeyedExpression",{key:_("NGMicrosyntaxKey",{name:R(m.source)},m.span),expression:_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan)},{start:m.span.start,end:f.sourceSpan.end}):_("NGMicrosyntaxKey",{name:R(m.source)},m.span)}else{let{key:m,sourceSpan:f}=u;if(/^let\s$/.test(i.text.slice(f.start,f.start+4))){let{value:o}=u;return _("NGMicrosyntaxLet",{key:_("NGMicrosyntaxKey",{name:m.source},m.span),value:o?_("NGMicrosyntaxKey",{name:o.source},o.span):null},{start:f.start,end:o?o.span.end:m.span.end})}else{let o=g(u);return _("NGMicrosyntaxAs",{key:_("NGMicrosyntaxKey",{name:o.source},o.span),alias:_("NGMicrosyntaxKey",{name:m.source},m.span)},{start:o.span.start,end:m.span.end})}}}function b(u){return r.transform(u,i)}function _(u,v,m){let f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Object.assign(Object.assign({type:u},r.transformSpan(m,i,f)),v)}function R(u){return n.toLowerCamelCase(u.slice(l.source.length))}function T(u){return u instanceof t.ExpressionBinding}function O(u){return u instanceof t.VariableBinding}function N(u){c(u.key.span),O(u)&&u.value&&c(u.value.span)}function c(u){if(i.text[u.start]!=='"'&&i.text[u.start]!=="'")return;let v=i.text[u.start],m=!1;for(let f=u.start+1;fr.transform(N,R),O=T(b);return O.comments=_.map(T),O}function i(x){return a(x,s.parseNgBinding)}e.parseBinding=i;function h(x){return a(x,s.parseNgSimpleBinding)}e.parseSimpleBinding=h;function l(x){return a(x,s.parseNgInterpolation)}e.parseInterpolation=l;function P(x){return a(x,s.parseNgAction)}e.parseAction=P;function p(x){return n.transformTemplateBindings(s.parseNgTemplateBindings(x),new t.Context(x))}e.parseTemplateBindings=p}});L();var{locStart:Tr,locEnd:$r}=dr();function Ne(e){return{astFormat:"estree",parse:(r,n,s)=>{let a=Rr(),i=e(r,a);return{type:"NGRoot",node:s.parser==="__ng_action"&&i.type!=="NGChainedExpression"?Object.assign(Object.assign({},i),{},{type:"NGChainedExpression",expressions:[i]}):i}},locStart:Tr,locEnd:$r}}ar.exports={parsers:{__ng_action:Ne((e,t)=>t.parseAction(e)),__ng_binding:Ne((e,t)=>t.parseBinding(e)),__ng_interpolation:Ne((e,t)=>t.parseInterpolation(e)),__ng_directive:Ne((e,t)=>t.parseTemplateBindings(e))}}});return Br();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-babel.js b/node_modules/ts-poet/node_modules/prettier/parser-babel.js deleted file mode 100644 index e397f7a0a2..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-babel.js +++ /dev/null @@ -1,29 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.babel=e()}})(function(){"use strict";var E=(l,h)=>()=>(h||l((h={exports:{}}).exports,h),h.exports);var re=E((xd,Zr)=>{var Ct=function(l){return l&&l.Math==Math&&l};Zr.exports=Ct(typeof globalThis=="object"&&globalThis)||Ct(typeof window=="object"&&window)||Ct(typeof self=="object"&&self)||Ct(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var ie=E((gd,ei)=>{ei.exports=function(l){try{return!!l()}catch{return!0}}});var ye=E((Pd,ti)=>{var kh=ie();ti.exports=!kh(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var bt=E((Ad,si)=>{var Dh=ie();si.exports=!Dh(function(){var l=function(){}.bind();return typeof l!="function"||l.hasOwnProperty("prototype")})});var wt=E((Td,ri)=>{var Fh=bt(),St=Function.prototype.call;ri.exports=Fh?St.bind(St):function(){return St.apply(St,arguments)}});var oi=E(ni=>{"use strict";var ii={}.propertyIsEnumerable,ai=Object.getOwnPropertyDescriptor,Lh=ai&&!ii.call({1:2},1);ni.f=Lh?function(h){var p=ai(this,h);return!!p&&p.enumerable}:ii});var fs=E((Ed,li)=>{li.exports=function(l,h){return{enumerable:!(l&1),configurable:!(l&2),writable:!(l&4),value:h}}});var ae=E((Cd,ci)=>{var hi=bt(),ui=Function.prototype,ds=ui.call,Oh=hi&&ui.bind.bind(ds,ds);ci.exports=hi?Oh:function(l){return function(){return ds.apply(l,arguments)}}});var Ye=E((bd,fi)=>{var pi=ae(),Bh=pi({}.toString),Mh=pi("".slice);fi.exports=function(l){return Mh(Bh(l),8,-1)}});var mi=E((Sd,di)=>{var _h=ae(),Rh=ie(),jh=Ye(),ms=Object,qh=_h("".split);di.exports=Rh(function(){return!ms("z").propertyIsEnumerable(0)})?function(l){return jh(l)=="String"?qh(l,""):ms(l)}:ms});var ys=E((wd,yi)=>{yi.exports=function(l){return l==null}});var xs=E((Id,xi)=>{var Uh=ys(),$h=TypeError;xi.exports=function(l){if(Uh(l))throw $h("Can't call method on "+l);return l}});var It=E((Nd,gi)=>{var Hh=mi(),zh=xs();gi.exports=function(l){return Hh(zh(l))}});var Ps=E((kd,Pi)=>{var gs=typeof document=="object"&&document.all,Vh=typeof gs>"u"&&gs!==void 0;Pi.exports={all:gs,IS_HTMLDDA:Vh}});var ee=E((Dd,Ti)=>{var Ai=Ps(),Kh=Ai.all;Ti.exports=Ai.IS_HTMLDDA?function(l){return typeof l=="function"||l===Kh}:function(l){return typeof l=="function"}});var Ie=E((Fd,Ci)=>{var vi=ee(),Ei=Ps(),Wh=Ei.all;Ci.exports=Ei.IS_HTMLDDA?function(l){return typeof l=="object"?l!==null:vi(l)||l===Wh}:function(l){return typeof l=="object"?l!==null:vi(l)}});var Qe=E((Ld,bi)=>{var As=re(),Gh=ee(),Jh=function(l){return Gh(l)?l:void 0};bi.exports=function(l,h){return arguments.length<2?Jh(As[l]):As[l]&&As[l][h]}});var wi=E((Od,Si)=>{var Xh=ae();Si.exports=Xh({}.isPrototypeOf)});var Ni=E((Bd,Ii)=>{var Yh=Qe();Ii.exports=Yh("navigator","userAgent")||""});var Mi=E((Md,Bi)=>{var Oi=re(),Ts=Ni(),ki=Oi.process,Di=Oi.Deno,Fi=ki&&ki.versions||Di&&Di.version,Li=Fi&&Fi.v8,ne,Nt;Li&&(ne=Li.split("."),Nt=ne[0]>0&&ne[0]<4?1:+(ne[0]+ne[1]));!Nt&&Ts&&(ne=Ts.match(/Edge\/(\d+)/),(!ne||ne[1]>=74)&&(ne=Ts.match(/Chrome\/(\d+)/),ne&&(Nt=+ne[1])));Bi.exports=Nt});var vs=E((_d,Ri)=>{var _i=Mi(),Qh=ie();Ri.exports=!!Object.getOwnPropertySymbols&&!Qh(function(){var l=Symbol();return!String(l)||!(Object(l)instanceof Symbol)||!Symbol.sham&&_i&&_i<41})});var Es=E((Rd,ji)=>{var Zh=vs();ji.exports=Zh&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Cs=E((jd,qi)=>{var eu=Qe(),tu=ee(),su=wi(),ru=Es(),iu=Object;qi.exports=ru?function(l){return typeof l=="symbol"}:function(l){var h=eu("Symbol");return tu(h)&&su(h.prototype,iu(l))}});var $i=E((qd,Ui)=>{var au=String;Ui.exports=function(l){try{return au(l)}catch{return"Object"}}});var kt=E((Ud,Hi)=>{var nu=ee(),ou=$i(),lu=TypeError;Hi.exports=function(l){if(nu(l))return l;throw lu(ou(l)+" is not a function")}});var Vi=E(($d,zi)=>{var hu=kt(),uu=ys();zi.exports=function(l,h){var p=l[h];return uu(p)?void 0:hu(p)}});var Wi=E((Hd,Ki)=>{var bs=wt(),Ss=ee(),ws=Ie(),cu=TypeError;Ki.exports=function(l,h){var p,d;if(h==="string"&&Ss(p=l.toString)&&!ws(d=bs(p,l))||Ss(p=l.valueOf)&&!ws(d=bs(p,l))||h!=="string"&&Ss(p=l.toString)&&!ws(d=bs(p,l)))return d;throw cu("Can't convert object to primitive value")}});var Ji=E((zd,Gi)=>{Gi.exports=!1});var Dt=E((Vd,Yi)=>{var Xi=re(),pu=Object.defineProperty;Yi.exports=function(l,h){try{pu(Xi,l,{value:h,configurable:!0,writable:!0})}catch{Xi[l]=h}return h}});var Ft=E((Kd,Zi)=>{var fu=re(),du=Dt(),Qi="__core-js_shared__",mu=fu[Qi]||du(Qi,{});Zi.exports=mu});var Is=E((Wd,ta)=>{var yu=Ji(),ea=Ft();(ta.exports=function(l,h){return ea[l]||(ea[l]=h!==void 0?h:{})})("versions",[]).push({version:"3.26.1",mode:yu?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ns=E((Gd,sa)=>{var xu=xs(),gu=Object;sa.exports=function(l){return gu(xu(l))}});var ve=E((Jd,ra)=>{var Pu=ae(),Au=Ns(),Tu=Pu({}.hasOwnProperty);ra.exports=Object.hasOwn||function(h,p){return Tu(Au(h),p)}});var ks=E((Xd,ia)=>{var vu=ae(),Eu=0,Cu=Math.random(),bu=vu(1 .toString);ia.exports=function(l){return"Symbol("+(l===void 0?"":l)+")_"+bu(++Eu+Cu,36)}});var Ze=E((Yd,ha)=>{var Su=re(),wu=Is(),aa=ve(),Iu=ks(),na=vs(),la=Es(),qe=wu("wks"),Ne=Su.Symbol,oa=Ne&&Ne.for,Nu=la?Ne:Ne&&Ne.withoutSetter||Iu;ha.exports=function(l){if(!aa(qe,l)||!(na||typeof qe[l]=="string")){var h="Symbol."+l;na&&aa(Ne,l)?qe[l]=Ne[l]:la&&oa?qe[l]=oa(h):qe[l]=Nu(h)}return qe[l]}});var fa=E((Qd,pa)=>{var ku=wt(),ua=Ie(),ca=Cs(),Du=Vi(),Fu=Wi(),Lu=Ze(),Ou=TypeError,Bu=Lu("toPrimitive");pa.exports=function(l,h){if(!ua(l)||ca(l))return l;var p=Du(l,Bu),d;if(p){if(h===void 0&&(h="default"),d=ku(p,l,h),!ua(d)||ca(d))return d;throw Ou("Can't convert object to primitive value")}return h===void 0&&(h="number"),Fu(l,h)}});var Ds=E((Zd,da)=>{var Mu=fa(),_u=Cs();da.exports=function(l){var h=Mu(l,"string");return _u(h)?h:h+""}});var xa=E((em,ya)=>{var Ru=re(),ma=Ie(),Fs=Ru.document,ju=ma(Fs)&&ma(Fs.createElement);ya.exports=function(l){return ju?Fs.createElement(l):{}}});var Ls=E((tm,ga)=>{var qu=ye(),Uu=ie(),$u=xa();ga.exports=!qu&&!Uu(function(){return Object.defineProperty($u("div"),"a",{get:function(){return 7}}).a!=7})});var Os=E(Aa=>{var Hu=ye(),zu=wt(),Vu=oi(),Ku=fs(),Wu=It(),Gu=Ds(),Ju=ve(),Xu=Ls(),Pa=Object.getOwnPropertyDescriptor;Aa.f=Hu?Pa:function(h,p){if(h=Wu(h),p=Gu(p),Xu)try{return Pa(h,p)}catch{}if(Ju(h,p))return Ku(!zu(Vu.f,h,p),h[p])}});var va=E((rm,Ta)=>{var Yu=ye(),Qu=ie();Ta.exports=Yu&&Qu(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Lt=E((im,Ea)=>{var Zu=Ie(),ec=String,tc=TypeError;Ea.exports=function(l){if(Zu(l))return l;throw tc(ec(l)+" is not an object")}});var et=E(ba=>{var sc=ye(),rc=Ls(),ic=va(),Ot=Lt(),Ca=Ds(),ac=TypeError,Bs=Object.defineProperty,nc=Object.getOwnPropertyDescriptor,Ms="enumerable",_s="configurable",Rs="writable";ba.f=sc?ic?function(h,p,d){if(Ot(h),p=Ca(p),Ot(d),typeof h=="function"&&p==="prototype"&&"value"in d&&Rs in d&&!d[Rs]){var x=nc(h,p);x&&x[Rs]&&(h[p]=d.value,d={configurable:_s in d?d[_s]:x[_s],enumerable:Ms in d?d[Ms]:x[Ms],writable:!1})}return Bs(h,p,d)}:Bs:function(h,p,d){if(Ot(h),p=Ca(p),Ot(d),rc)try{return Bs(h,p,d)}catch{}if("get"in d||"set"in d)throw ac("Accessors not supported");return"value"in d&&(h[p]=d.value),h}});var js=E((nm,Sa)=>{var oc=ye(),lc=et(),hc=fs();Sa.exports=oc?function(l,h,p){return lc.f(l,h,hc(1,p))}:function(l,h,p){return l[h]=p,l}});var Na=E((om,Ia)=>{var qs=ye(),uc=ve(),wa=Function.prototype,cc=qs&&Object.getOwnPropertyDescriptor,Us=uc(wa,"name"),pc=Us&&function(){}.name==="something",fc=Us&&(!qs||qs&&cc(wa,"name").configurable);Ia.exports={EXISTS:Us,PROPER:pc,CONFIGURABLE:fc}});var Hs=E((lm,ka)=>{var dc=ae(),mc=ee(),$s=Ft(),yc=dc(Function.toString);mc($s.inspectSource)||($s.inspectSource=function(l){return yc(l)});ka.exports=$s.inspectSource});var La=E((hm,Fa)=>{var xc=re(),gc=ee(),Da=xc.WeakMap;Fa.exports=gc(Da)&&/native code/.test(String(Da))});var Ma=E((um,Ba)=>{var Pc=Is(),Ac=ks(),Oa=Pc("keys");Ba.exports=function(l){return Oa[l]||(Oa[l]=Ac(l))}});var zs=E((cm,_a)=>{_a.exports={}});var Ua=E((pm,qa)=>{var Tc=La(),ja=re(),vc=Ie(),Ec=js(),Vs=ve(),Ks=Ft(),Cc=Ma(),bc=zs(),Ra="Object already initialized",Ws=ja.TypeError,Sc=ja.WeakMap,Bt,tt,Mt,wc=function(l){return Mt(l)?tt(l):Bt(l,{})},Ic=function(l){return function(h){var p;if(!vc(h)||(p=tt(h)).type!==l)throw Ws("Incompatible receiver, "+l+" required");return p}};Tc||Ks.state?(oe=Ks.state||(Ks.state=new Sc),oe.get=oe.get,oe.has=oe.has,oe.set=oe.set,Bt=function(l,h){if(oe.has(l))throw Ws(Ra);return h.facade=l,oe.set(l,h),h},tt=function(l){return oe.get(l)||{}},Mt=function(l){return oe.has(l)}):(ke=Cc("state"),bc[ke]=!0,Bt=function(l,h){if(Vs(l,ke))throw Ws(Ra);return h.facade=l,Ec(l,ke,h),h},tt=function(l){return Vs(l,ke)?l[ke]:{}},Mt=function(l){return Vs(l,ke)});var oe,ke;qa.exports={set:Bt,get:tt,has:Mt,enforce:wc,getterFor:Ic}});var Js=E((fm,Ha)=>{var Nc=ie(),kc=ee(),_t=ve(),Gs=ye(),Dc=Na().CONFIGURABLE,Fc=Hs(),$a=Ua(),Lc=$a.enforce,Oc=$a.get,Rt=Object.defineProperty,Bc=Gs&&!Nc(function(){return Rt(function(){},"length",{value:8}).length!==8}),Mc=String(String).split("String"),_c=Ha.exports=function(l,h,p){String(h).slice(0,7)==="Symbol("&&(h="["+String(h).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),p&&p.getter&&(h="get "+h),p&&p.setter&&(h="set "+h),(!_t(l,"name")||Dc&&l.name!==h)&&(Gs?Rt(l,"name",{value:h,configurable:!0}):l.name=h),Bc&&p&&_t(p,"arity")&&l.length!==p.arity&&Rt(l,"length",{value:p.arity});try{p&&_t(p,"constructor")&&p.constructor?Gs&&Rt(l,"prototype",{writable:!1}):l.prototype&&(l.prototype=void 0)}catch{}var d=Lc(l);return _t(d,"source")||(d.source=Mc.join(typeof h=="string"?h:"")),l};Function.prototype.toString=_c(function(){return kc(this)&&Oc(this).source||Fc(this)},"toString")});var Va=E((dm,za)=>{var Rc=ee(),jc=et(),qc=Js(),Uc=Dt();za.exports=function(l,h,p,d){d||(d={});var x=d.enumerable,P=d.name!==void 0?d.name:h;if(Rc(p)&&qc(p,P,d),d.global)x?l[h]=p:Uc(h,p);else{try{d.unsafe?l[h]&&(x=!0):delete l[h]}catch{}x?l[h]=p:jc.f(l,h,{value:p,enumerable:!1,configurable:!d.nonConfigurable,writable:!d.nonWritable})}return l}});var Wa=E((mm,Ka)=>{var $c=Math.ceil,Hc=Math.floor;Ka.exports=Math.trunc||function(h){var p=+h;return(p>0?Hc:$c)(p)}});var Xs=E((ym,Ga)=>{var zc=Wa();Ga.exports=function(l){var h=+l;return h!==h||h===0?0:zc(h)}});var Xa=E((xm,Ja)=>{var Vc=Xs(),Kc=Math.max,Wc=Math.min;Ja.exports=function(l,h){var p=Vc(l);return p<0?Kc(p+h,0):Wc(p,h)}});var Qa=E((gm,Ya)=>{var Gc=Xs(),Jc=Math.min;Ya.exports=function(l){return l>0?Jc(Gc(l),9007199254740991):0}});var jt=E((Pm,Za)=>{var Xc=Qa();Za.exports=function(l){return Xc(l.length)}});var sn=E((Am,tn)=>{var Yc=It(),Qc=Xa(),Zc=jt(),en=function(l){return function(h,p,d){var x=Yc(h),P=Zc(x),m=Qc(d,P),v;if(l&&p!=p){for(;P>m;)if(v=x[m++],v!=v)return!0}else for(;P>m;m++)if((l||m in x)&&x[m]===p)return l||m||0;return!l&&-1}};tn.exports={includes:en(!0),indexOf:en(!1)}});var nn=E((Tm,an)=>{var ep=ae(),Ys=ve(),tp=It(),sp=sn().indexOf,rp=zs(),rn=ep([].push);an.exports=function(l,h){var p=tp(l),d=0,x=[],P;for(P in p)!Ys(rp,P)&&Ys(p,P)&&rn(x,P);for(;h.length>d;)Ys(p,P=h[d++])&&(~sp(x,P)||rn(x,P));return x}});var ln=E((vm,on)=>{on.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var un=E(hn=>{var ip=nn(),ap=ln(),np=ap.concat("length","prototype");hn.f=Object.getOwnPropertyNames||function(h){return ip(h,np)}});var pn=E(cn=>{cn.f=Object.getOwnPropertySymbols});var dn=E((bm,fn)=>{var op=Qe(),lp=ae(),hp=un(),up=pn(),cp=Lt(),pp=lp([].concat);fn.exports=op("Reflect","ownKeys")||function(h){var p=hp.f(cp(h)),d=up.f;return d?pp(p,d(h)):p}});var xn=E((Sm,yn)=>{var mn=ve(),fp=dn(),dp=Os(),mp=et();yn.exports=function(l,h,p){for(var d=fp(h),x=mp.f,P=dp.f,m=0;m{var yp=ie(),xp=ee(),gp=/#|\.prototype\./,st=function(l,h){var p=Ap[Pp(l)];return p==vp?!0:p==Tp?!1:xp(h)?yp(h):!!h},Pp=st.normalize=function(l){return String(l).replace(gp,".").toLowerCase()},Ap=st.data={},Tp=st.NATIVE="N",vp=st.POLYFILL="P";gn.exports=st});var Zs=E((Im,An)=>{var Qs=re(),Ep=Os().f,Cp=js(),bp=Va(),Sp=Dt(),wp=xn(),Ip=Pn();An.exports=function(l,h){var p=l.target,d=l.global,x=l.stat,P,m,v,S,k,F;if(d?m=Qs:x?m=Qs[p]||Sp(p,{}):m=(Qs[p]||{}).prototype,m)for(v in h){if(k=h[v],l.dontCallGetSet?(F=Ep(m,v),S=F&&F.value):S=m[v],P=Ip(d?v:p+(x?".":"#")+v,l.forced),!P&&S!==void 0){if(typeof k==typeof S)continue;wp(k,S)}(l.sham||S&&S.sham)&&Cp(k,"sham",!0),bp(m,v,k,l)}}});var Tn=E(()=>{var Np=Zs(),er=re();Np({global:!0,forced:er.globalThis!==er},{globalThis:er})});var vn=E(()=>{Tn()});var bn=E((Lm,Cn)=>{var En=Js(),kp=et();Cn.exports=function(l,h,p){return p.get&&En(p.get,h,{getter:!0}),p.set&&En(p.set,h,{setter:!0}),kp.f(l,h,p)}});var wn=E((Om,Sn)=>{"use strict";var Dp=Lt();Sn.exports=function(){var l=Dp(this),h="";return l.hasIndices&&(h+="d"),l.global&&(h+="g"),l.ignoreCase&&(h+="i"),l.multiline&&(h+="m"),l.dotAll&&(h+="s"),l.unicode&&(h+="u"),l.unicodeSets&&(h+="v"),l.sticky&&(h+="y"),h}});var kn=E(()=>{var Fp=re(),Lp=ye(),Op=bn(),Bp=wn(),Mp=ie(),In=Fp.RegExp,Nn=In.prototype,_p=Lp&&Mp(function(){var l=!0;try{In(".","d")}catch{l=!1}var h={},p="",d=l?"dgimsy":"gimsy",x=function(S,k){Object.defineProperty(h,S,{get:function(){return p+=k,!0}})},P={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};l&&(P.hasIndices="d");for(var m in P)x(m,P[m]);var v=Object.getOwnPropertyDescriptor(Nn,"flags").get.call(h);return v!==d||p!==d});_p&&Op(Nn,"flags",{configurable:!0,get:Bp})});var tr=E((_m,Dn)=>{var Rp=Ye();Dn.exports=Array.isArray||function(h){return Rp(h)=="Array"}});var Ln=E((Rm,Fn)=>{var jp=TypeError,qp=9007199254740991;Fn.exports=function(l){if(l>qp)throw jp("Maximum allowed index exceeded");return l}});var Bn=E((jm,On)=>{var Up=Ye(),$p=ae();On.exports=function(l){if(Up(l)==="Function")return $p(l)}});var Rn=E((qm,_n)=>{var Mn=Bn(),Hp=kt(),zp=bt(),Vp=Mn(Mn.bind);_n.exports=function(l,h){return Hp(l),h===void 0?l:zp?Vp(l,h):function(){return l.apply(h,arguments)}}});var Un=E((Um,qn)=>{"use strict";var Kp=tr(),Wp=jt(),Gp=Ln(),Jp=Rn(),jn=function(l,h,p,d,x,P,m,v){for(var S=x,k=0,F=m?Jp(m,v):!1,w,L;k0&&Kp(w)?(L=Wp(w),S=jn(l,h,w,L,S,P-1)-1):(Gp(S+1),l[S]=w),S++),k++;return S};qn.exports=jn});var zn=E(($m,Hn)=>{var Xp=Ze(),Yp=Xp("toStringTag"),$n={};$n[Yp]="z";Hn.exports=String($n)==="[object z]"});var Kn=E((Hm,Vn)=>{var Qp=zn(),Zp=ee(),qt=Ye(),ef=Ze(),tf=ef("toStringTag"),sf=Object,rf=qt(function(){return arguments}())=="Arguments",af=function(l,h){try{return l[h]}catch{}};Vn.exports=Qp?qt:function(l){var h,p,d;return l===void 0?"Undefined":l===null?"Null":typeof(p=af(h=sf(l),tf))=="string"?p:rf?qt(h):(d=qt(h))=="Object"&&Zp(h.callee)?"Arguments":d}});var Qn=E((zm,Yn)=>{var nf=ae(),of=ie(),Wn=ee(),lf=Kn(),hf=Qe(),uf=Hs(),Gn=function(){},cf=[],Jn=hf("Reflect","construct"),sr=/^\s*(?:class|function)\b/,pf=nf(sr.exec),ff=!sr.exec(Gn),rt=function(h){if(!Wn(h))return!1;try{return Jn(Gn,cf,h),!0}catch{return!1}},Xn=function(h){if(!Wn(h))return!1;switch(lf(h)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return ff||!!pf(sr,uf(h))}catch{return!0}};Xn.sham=!0;Yn.exports=!Jn||of(function(){var l;return rt(rt.call)||!rt(Object)||!rt(function(){l=!0})||l})?Xn:rt});var so=E((Vm,to)=>{var Zn=tr(),df=Qn(),mf=Ie(),yf=Ze(),xf=yf("species"),eo=Array;to.exports=function(l){var h;return Zn(l)&&(h=l.constructor,df(h)&&(h===eo||Zn(h.prototype))?h=void 0:mf(h)&&(h=h[xf],h===null&&(h=void 0))),h===void 0?eo:h}});var io=E((Km,ro)=>{var gf=so();ro.exports=function(l,h){return new(gf(l))(h===0?0:h)}});var ao=E(()=>{"use strict";var Pf=Zs(),Af=Un(),Tf=kt(),vf=Ns(),Ef=jt(),Cf=io();Pf({target:"Array",proto:!0},{flatMap:function(h){var p=vf(this),d=Ef(p),x;return Tf(h),x=Cf(p,0),x.length=Af(x,p,p,d,0,1,h,arguments.length>1?arguments[1]:void 0),x}})});var md=E((ty,Oo)=>{vn();kn();ao();var nr=Object.defineProperty,bf=Object.getOwnPropertyDescriptor,or=Object.getOwnPropertyNames,Sf=Object.prototype.hasOwnProperty,co=(l,h)=>function(){return l&&(h=(0,l[or(l)[0]])(l=0)),h},$=(l,h)=>function(){return h||(0,l[or(l)[0]])((h={exports:{}}).exports,h),h.exports},wf=(l,h)=>{for(var p in h)nr(l,p,{get:h[p],enumerable:!0})},If=(l,h,p,d)=>{if(h&&typeof h=="object"||typeof h=="function")for(let x of or(h))!Sf.call(l,x)&&x!==p&&nr(l,x,{get:()=>h[x],enumerable:!(d=bf(h,x))||d.enumerable});return l},Nf=l=>If(nr({},"__esModule",{value:!0}),l),U=co({""(){}}),kf=$({"src/utils/try-combinations.js"(l,h){"use strict";U();function p(){let d;for(var x=arguments.length,P=new Array(x),m=0;m{let w=F&&F.backwards;if(k===!1)return!1;let{length:L}=S,A=k;for(;A>=0&&Aar,arch:()=>Bf,cpus:()=>vo,default:()=>wo,endianness:()=>yo,freemem:()=>Ao,getNetworkInterfaces:()=>So,hostname:()=>xo,loadavg:()=>go,networkInterfaces:()=>bo,platform:()=>Mf,release:()=>Co,tmpDir:()=>rr,tmpdir:()=>ir,totalmem:()=>To,type:()=>Eo,uptime:()=>Po});function yo(){if(typeof Ut>"u"){var l=new ArrayBuffer(2),h=new Uint8Array(l),p=new Uint16Array(l);if(h[0]=1,h[1]=2,p[0]===258)Ut="BE";else if(p[0]===513)Ut="LE";else throw new Error("unable to figure out endianess")}return Ut}function xo(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function go(){return[]}function Po(){return 0}function Ao(){return Number.MAX_VALUE}function To(){return Number.MAX_VALUE}function vo(){return[]}function Eo(){return"Browser"}function Co(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function bo(){}function So(){}function Bf(){return"javascript"}function Mf(){return"browser"}function rr(){return"/tmp"}var Ut,ir,ar,wo,_f=co({"node-modules-polyfills:os"(){U(),ir=rr,ar=` -`,wo={EOL:ar,tmpdir:ir,tmpDir:rr,networkInterfaces:bo,getNetworkInterfaces:So,release:Co,type:Eo,cpus:vo,totalmem:To,freemem:Ao,uptime:Po,loadavg:go,hostname:xo,endianness:yo}}}),Rf=$({"node-modules-polyfills-commonjs:os"(l,h){U();var p=(_f(),Nf(mo));if(p&&p.default){h.exports=p.default;for(let d in p)h.exports[d]=p[d]}else p&&(h.exports=p)}}),jf=$({"node_modules/detect-newline/index.js"(l,h){"use strict";U();var p=d=>{if(typeof d!="string")throw new TypeError("Expected a string");let x=d.match(/(?:\r?\n)/g)||[];if(x.length===0)return;let P=x.filter(v=>v===`\r -`).length,m=x.length-P;return P>m?`\r -`:` -`};h.exports=p,h.exports.graceful=d=>typeof d=="string"&&p(d)||` -`}}),qf=$({"node_modules/jest-docblock/build/index.js"(l){"use strict";U(),Object.defineProperty(l,"__esModule",{value:!0}),l.extract=A,l.parse=G,l.parseWithComments=N,l.print=O,l.strip=_;function h(){let R=Rf();return h=function(){return R},R}function p(){let R=d(jf());return p=function(){return R},R}function d(R){return R&&R.__esModule?R:{default:R}}var x=/\*\/$/,P=/^\/\*\*?/,m=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,v=/(^|\s+)\/\/([^\r\n]*)/g,S=/^(\r?\n)+/,k=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,F=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,w=/(\r?\n|^) *\* ?/g,L=[];function A(R){let z=R.match(m);return z?z[0].trimLeft():""}function _(R){let z=R.match(m);return z&&z[0]?R.substring(z[0].length):R}function G(R){return N(R).pragmas}function N(R){let z=(0,p().default)(R)||h().EOL;R=R.replace(P,"").replace(x,"").replace(w,"$1");let Q="";for(;Q!==R;)Q=R,R=R.replace(k,`${z}$1 $2${z}`);R=R.replace(S,"").trimRight();let b=Object.create(null),B=R.replace(F,"").replace(S,"").trimRight(),Z;for(;Z=F.exec(R);){let q=Z[2].replace(v,"");typeof b[Z[1]]=="string"||Array.isArray(b[Z[1]])?b[Z[1]]=L.concat(b[Z[1]],q):b[Z[1]]=q}return{comments:B,pragmas:b}}function O(R){let{comments:z="",pragmas:Q={}}=R,b=(0,p().default)(z)||h().EOL,B="/**",Z=" *",q=" */",ue=Object.keys(Q),te=ue.map(se=>H(se,Q[se])).reduce((se,He)=>se.concat(He),[]).map(se=>`${Z} ${se}${b}`).join("");if(!z){if(ue.length===0)return"";if(ue.length===1&&!Array.isArray(Q[ue[0]])){let se=Q[ue[0]];return`${B} ${H(ue[0],se)[0]}${q}`}}let it=z.split(b).map(se=>`${Z} ${se}`).join(b)+b;return B+b+(z?it:"")+(z&&ue.length?Z+b:"")+te+q}function H(R,z){return L.concat(z).map(Q=>`@${R} ${Q}`.trim())}}}),Uf=$({"src/common/end-of-line.js"(l,h){"use strict";U();function p(m){let v=m.indexOf("\r");return v>=0?m.charAt(v+1)===` -`?"crlf":"cr":"lf"}function d(m){switch(m){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function x(m,v){let S;switch(v){case` -`:S=/\n/g;break;case"\r":S=/\r/g;break;case`\r -`:S=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(v)}.`)}let k=m.match(S);return k?k.length:0}function P(m){return m.replace(/\r\n?/g,` -`)}h.exports={guessEndOfLine:p,convertEndOfLineToChars:d,countEndOfLineChars:x,normalizeEndOfLine:P}}}),$f=$({"src/language-js/pragma.js"(l,h){"use strict";U();var{parseWithComments:p,strip:d,extract:x,print:P}=qf(),{normalizeEndOfLine:m}=Uf(),v=po();function S(w){let L=v(w);L&&(w=w.slice(L.length+1));let A=x(w),{pragmas:_,comments:G}=p(A);return{shebang:L,text:w,pragmas:_,comments:G}}function k(w){let L=Object.keys(S(w).pragmas);return L.includes("prettier")||L.includes("format")}function F(w){let{shebang:L,text:A,pragmas:_,comments:G}=S(w),N=d(A),O=P({pragmas:Object.assign({format:""},_),comments:G.trimStart()});return(L?`${L} -`:"")+m(O)+(N.startsWith(` -`)?` -`:` - -`)+N}h.exports={hasPragma:k,insertPragma:F}}}),Io=$({"src/utils/is-non-empty-array.js"(l,h){"use strict";U();function p(d){return Array.isArray(d)&&d.length>0}h.exports=p}}),No=$({"src/language-js/loc.js"(l,h){"use strict";U();var p=Io();function d(S){var k,F;let w=S.range?S.range[0]:S.start,L=(k=(F=S.declaration)===null||F===void 0?void 0:F.decorators)!==null&&k!==void 0?k:S.decorators;return p(L)?Math.min(d(L[0]),w):w}function x(S){return S.range?S.range[1]:S.end}function P(S,k){let F=d(S);return Number.isInteger(F)&&F===d(k)}function m(S,k){let F=x(S);return Number.isInteger(F)&&F===x(k)}function v(S,k){return P(S,k)&&m(S,k)}h.exports={locStart:d,locEnd:x,hasSameLocStart:P,hasSameLoc:v}}}),ko=$({"src/language-js/parse/utils/create-parser.js"(l,h){"use strict";U();var{hasPragma:p}=$f(),{locStart:d,locEnd:x}=No();function P(m){return m=typeof m=="function"?{parse:m}:m,Object.assign({astFormat:"estree",hasPragma:p,locStart:d,locEnd:x},m)}h.exports=P}}),lr=$({"src/common/parser-create-error.js"(l,h){"use strict";U();function p(d,x){let P=new SyntaxError(d+" ("+x.start.line+":"+x.start.column+")");return P.loc=x,P}h.exports=p}}),Do=$({"src/language-js/parse/utils/create-babel-parse-error.js"(l,h){"use strict";U();var p=lr();function d(x){let{message:P,loc:m}=x;return p(P.replace(/ \(.*\)/,""),{start:{line:m?m.line:0,column:m?m.column+1:0}})}h.exports=d}}),Hf=$({"src/language-js/utils/is-ts-keyword-type.js"(l,h){"use strict";U();function p(d){let{type:x}=d;return x.startsWith("TS")&&x.endsWith("Keyword")}h.exports=p}}),zf=$({"src/language-js/utils/is-block-comment.js"(l,h){"use strict";U();var p=new Set(["Block","CommentBlock","MultiLine"]),d=x=>p.has(x==null?void 0:x.type);h.exports=d}}),Vf=$({"src/language-js/utils/is-type-cast-comment.js"(l,h){"use strict";U();var p=zf();function d(x){return p(x)&&x.value[0]==="*"&&/@(?:type|satisfies)\b/.test(x.value)}h.exports=d}}),Kf=$({"src/utils/get-last.js"(l,h){"use strict";U();var p=d=>d[d.length-1];h.exports=p}}),Wf=$({"src/language-js/parse/postprocess/visit-node.js"(l,h){"use strict";U();function p(d,x){if(Array.isArray(d)){for(let P=0;P{O.leadingComments&&O.leadingComments.some(P)&&N.add(p(O))}),A=v(A,O=>{if(O.type==="ParenthesizedExpression"){let{expression:H}=O;if(H.type==="TypeCastExpression")return H.range=O.range,H;let R=p(O);if(!N.has(R))return H.extra=Object.assign(Object.assign({},H.extra),{},{parenthesized:!0}),H}})}return A=v(A,N=>{switch(N.type){case"ChainExpression":return F(N.expression);case"LogicalExpression":{if(w(N))return L(N);break}case"VariableDeclaration":{let O=m(N.declarations);O&&O.init&&G(N,O);break}case"TSParenthesizedType":return x(N.typeAnnotation)||N.typeAnnotation.type==="TSThisType"||(N.typeAnnotation.range=[p(N),d(N)]),N.typeAnnotation;case"TSTypeParameter":if(typeof N.name=="string"){let O=p(N);N.name={type:"Identifier",name:N.name,range:[O,O+N.name.length]}}break;case"ObjectExpression":if(_.parser==="typescript"){let O=N.properties.find(H=>H.type==="Property"&&H.value.type==="TSEmptyBodyFunctionExpression");O&&S(O.value,"Unexpected token.")}break;case"SequenceExpression":{let O=m(N.expressions);N.range=[p(N),Math.min(d(O),d(N))];break}case"TopicReference":_.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:O}=N;if(_.parser==="meriyah"&&O&&O.type==="Identifier"){let H=_.originalText.slice(p(O),d(O));(H.startsWith('"')||H.startsWith("'"))&&(N.exported=Object.assign(Object.assign({},N.exported),{},{type:"Literal",value:N.exported.name,raw:H}))}break}case"PropertyDefinition":if(_.parser==="meriyah"&&N.static&&!N.computed&&!N.key){let O="static",H=p(N);Object.assign(N,{static:!1,key:{type:"Identifier",name:O,range:[H,H+O.length]}})}break}}),A;function G(N,O){_.originalText[d(O)]!==";"&&(N.range=[p(N),d(O)])}}function F(A){switch(A.type){case"CallExpression":A.type="OptionalCallExpression",A.callee=F(A.callee);break;case"MemberExpression":A.type="OptionalMemberExpression",A.object=F(A.object);break;case"TSNonNullExpression":A.expression=F(A.expression);break}return A}function w(A){return A.type==="LogicalExpression"&&A.right.type==="LogicalExpression"&&A.operator===A.right.operator}function L(A){return w(A)?L({type:"LogicalExpression",operator:A.operator,left:L({type:"LogicalExpression",operator:A.operator,left:A.left,right:A.right.left,range:[p(A.left),d(A.right.left)]}),right:A.right.right,range:[p(A),d(A)]}):A}h.exports=k}}),Fo=$({"node_modules/@babel/parser/lib/index.js"(l){"use strict";U(),Object.defineProperty(l,"__esModule",{value:!0});var h={sourceType:"script",sourceFilename:void 0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};function p(t){if(t&&t.annexB!=null&&t.annexB!==!1)throw new Error("The `annexB` option can only be set to `false`.");let r={};for(let e of Object.keys(h))r[e]=t&&t[e]!=null?t[e]:h[e];return r}var d=class{constructor(t,r){this.token=void 0,this.preserveSpace=void 0,this.token=t,this.preserveSpace=!!r}},x={brace:new d("{"),j_oTag:new d("...",!0)};x.template=new d("`",!0);var P=!0,m=!0,v=!0,S=!0,k=!0,F=!0,w=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop!=null?r.binop:null,this.updateContext=null}},L=new Map;function A(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};r.keyword=t;let e=b(t,r);return L.set(t,e),e}function _(t,r){return b(t,{beforeExpr:P,binop:r})}var G=-1,N=[],O=[],H=[],R=[],z=[],Q=[];function b(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var e,s,i,a;return++G,O.push(t),H.push((e=r.binop)!=null?e:-1),R.push((s=r.beforeExpr)!=null?s:!1),z.push((i=r.startsExpr)!=null?i:!1),Q.push((a=r.prefix)!=null?a:!1),N.push(new w(t,r)),G}function B(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var e,s,i,a;return++G,L.set(t,G),O.push(t),H.push((e=r.binop)!=null?e:-1),R.push((s=r.beforeExpr)!=null?s:!1),z.push((i=r.startsExpr)!=null?i:!1),Q.push((a=r.prefix)!=null?a:!1),N.push(new w("name",r)),G}var Z={bracketL:b("[",{beforeExpr:P,startsExpr:m}),bracketHashL:b("#[",{beforeExpr:P,startsExpr:m}),bracketBarL:b("[|",{beforeExpr:P,startsExpr:m}),bracketR:b("]"),bracketBarR:b("|]"),braceL:b("{",{beforeExpr:P,startsExpr:m}),braceBarL:b("{|",{beforeExpr:P,startsExpr:m}),braceHashL:b("#{",{beforeExpr:P,startsExpr:m}),braceR:b("}"),braceBarR:b("|}"),parenL:b("(",{beforeExpr:P,startsExpr:m}),parenR:b(")"),comma:b(",",{beforeExpr:P}),semi:b(";",{beforeExpr:P}),colon:b(":",{beforeExpr:P}),doubleColon:b("::",{beforeExpr:P}),dot:b("."),question:b("?",{beforeExpr:P}),questionDot:b("?."),arrow:b("=>",{beforeExpr:P}),template:b("template"),ellipsis:b("...",{beforeExpr:P}),backQuote:b("`",{startsExpr:m}),dollarBraceL:b("${",{beforeExpr:P,startsExpr:m}),templateTail:b("...`",{startsExpr:m}),templateNonTail:b("...${",{beforeExpr:P,startsExpr:m}),at:b("@"),hash:b("#",{startsExpr:m}),interpreterDirective:b("#!..."),eq:b("=",{beforeExpr:P,isAssign:S}),assign:b("_=",{beforeExpr:P,isAssign:S}),slashAssign:b("_=",{beforeExpr:P,isAssign:S}),xorAssign:b("_=",{beforeExpr:P,isAssign:S}),moduloAssign:b("_=",{beforeExpr:P,isAssign:S}),incDec:b("++/--",{prefix:k,postfix:F,startsExpr:m}),bang:b("!",{beforeExpr:P,prefix:k,startsExpr:m}),tilde:b("~",{beforeExpr:P,prefix:k,startsExpr:m}),doubleCaret:b("^^",{startsExpr:m}),doubleAt:b("@@",{startsExpr:m}),pipeline:_("|>",0),nullishCoalescing:_("??",1),logicalOR:_("||",1),logicalAND:_("&&",2),bitwiseOR:_("|",3),bitwiseXOR:_("^",4),bitwiseAND:_("&",5),equality:_("==/!=/===/!==",6),lt:_("/<=/>=",7),gt:_("/<=/>=",7),relational:_("/<=/>=",7),bitShift:_("<>/>>>",8),bitShiftL:_("<>/>>>",8),bitShiftR:_("<>/>>>",8),plusMin:b("+/-",{beforeExpr:P,binop:9,prefix:k,startsExpr:m}),modulo:b("%",{binop:10,startsExpr:m}),star:b("*",{binop:10}),slash:_("/",10),exponent:b("**",{beforeExpr:P,binop:11,rightAssociative:!0}),_in:A("in",{beforeExpr:P,binop:7}),_instanceof:A("instanceof",{beforeExpr:P,binop:7}),_break:A("break"),_case:A("case",{beforeExpr:P}),_catch:A("catch"),_continue:A("continue"),_debugger:A("debugger"),_default:A("default",{beforeExpr:P}),_else:A("else",{beforeExpr:P}),_finally:A("finally"),_function:A("function",{startsExpr:m}),_if:A("if"),_return:A("return",{beforeExpr:P}),_switch:A("switch"),_throw:A("throw",{beforeExpr:P,prefix:k,startsExpr:m}),_try:A("try"),_var:A("var"),_const:A("const"),_with:A("with"),_new:A("new",{beforeExpr:P,startsExpr:m}),_this:A("this",{startsExpr:m}),_super:A("super",{startsExpr:m}),_class:A("class",{startsExpr:m}),_extends:A("extends",{beforeExpr:P}),_export:A("export"),_import:A("import",{startsExpr:m}),_null:A("null",{startsExpr:m}),_true:A("true",{startsExpr:m}),_false:A("false",{startsExpr:m}),_typeof:A("typeof",{beforeExpr:P,prefix:k,startsExpr:m}),_void:A("void",{beforeExpr:P,prefix:k,startsExpr:m}),_delete:A("delete",{beforeExpr:P,prefix:k,startsExpr:m}),_do:A("do",{isLoop:v,beforeExpr:P}),_for:A("for",{isLoop:v}),_while:A("while",{isLoop:v}),_as:B("as",{startsExpr:m}),_assert:B("assert",{startsExpr:m}),_async:B("async",{startsExpr:m}),_await:B("await",{startsExpr:m}),_from:B("from",{startsExpr:m}),_get:B("get",{startsExpr:m}),_let:B("let",{startsExpr:m}),_meta:B("meta",{startsExpr:m}),_of:B("of",{startsExpr:m}),_sent:B("sent",{startsExpr:m}),_set:B("set",{startsExpr:m}),_static:B("static",{startsExpr:m}),_using:B("using",{startsExpr:m}),_yield:B("yield",{startsExpr:m}),_asserts:B("asserts",{startsExpr:m}),_checks:B("checks",{startsExpr:m}),_exports:B("exports",{startsExpr:m}),_global:B("global",{startsExpr:m}),_implements:B("implements",{startsExpr:m}),_intrinsic:B("intrinsic",{startsExpr:m}),_infer:B("infer",{startsExpr:m}),_is:B("is",{startsExpr:m}),_mixins:B("mixins",{startsExpr:m}),_proto:B("proto",{startsExpr:m}),_require:B("require",{startsExpr:m}),_satisfies:B("satisfies",{startsExpr:m}),_keyof:B("keyof",{startsExpr:m}),_readonly:B("readonly",{startsExpr:m}),_unique:B("unique",{startsExpr:m}),_abstract:B("abstract",{startsExpr:m}),_declare:B("declare",{startsExpr:m}),_enum:B("enum",{startsExpr:m}),_module:B("module",{startsExpr:m}),_namespace:B("namespace",{startsExpr:m}),_interface:B("interface",{startsExpr:m}),_type:B("type",{startsExpr:m}),_opaque:B("opaque",{startsExpr:m}),name:b("name",{startsExpr:m}),string:b("string",{startsExpr:m}),num:b("num",{startsExpr:m}),bigint:b("bigint",{startsExpr:m}),decimal:b("decimal",{startsExpr:m}),regexp:b("regexp",{startsExpr:m}),privateName:b("#name",{startsExpr:m}),eof:b("eof"),jsxName:b("jsxName"),jsxText:b("jsxText",{beforeExpr:!0}),jsxTagStart:b("jsxTagStart",{startsExpr:!0}),jsxTagEnd:b("jsxTagEnd"),placeholder:b("%%",{startsExpr:!0})};function q(t){return t>=93&&t<=130}function ue(t){return t<=92}function te(t){return t>=58&&t<=130}function it(t){return t>=58&&t<=134}function se(t){return R[t]}function He(t){return z[t]}function Bo(t){return t>=29&&t<=33}function hr(t){return t>=127&&t<=129}function Mo(t){return t>=90&&t<=92}function $t(t){return t>=58&&t<=92}function _o(t){return t>=39&&t<=59}function Ro(t){return t===34}function jo(t){return Q[t]}function qo(t){return t>=119&&t<=121}function Uo(t){return t>=122&&t<=128}function xe(t){return O[t]}function at(t){return H[t]}function $o(t){return t===57}function nt(t){return t>=24&&t<=25}function ce(t){return N[t]}N[8].updateContext=t=>{t.pop()},N[5].updateContext=N[7].updateContext=N[23].updateContext=t=>{t.push(x.brace)},N[22].updateContext=t=>{t[t.length-1]===x.template?t.pop():t.push(x.template)},N[140].updateContext=t=>{t.push(x.j_expr,x.j_oTag)};function ot(t,r){if(t==null)return{};var e={},s=Object.keys(t),i,a;for(a=0;a=0)&&(e[i]=t[i]);return e}var ge=class{constructor(t,r,e){this.line=void 0,this.column=void 0,this.index=void 0,this.line=t,this.column=r,this.index=e}},lt=class{constructor(t,r){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=r}};function Y(t,r){let{line:e,column:s,index:i}=t;return new ge(e,s+r,i+r)}var Ht={SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},Ho=function(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.length-1;return{get(){return t.reduce((e,s)=>e[s],this)},set(e){t.reduce((s,i,a)=>a===r?s[i]=e:s[i],this)}}},zo=(t,r,e)=>Object.keys(e).map(s=>[s,e[s]]).filter(s=>{let[,i]=s;return!!i}).map(s=>{let[i,a]=s;return[i,typeof a=="function"?{value:a,enumerable:!1}:typeof a.reflect=="string"?Object.assign({},a,Ho(a.reflect.split("."))):a]}).reduce((s,i)=>{let[a,n]=i;return Object.defineProperty(s,a,Object.assign({configurable:!0},n))},Object.assign(new t,r)),Vo={ImportMetaOutsideModule:{message:`import.meta may appear only with 'sourceType: "module"'`,code:Ht.SourceTypeModuleError},ImportOutsideModule:{message:`'import' and 'export' may appear only with 'sourceType: "module"'`,code:Ht.SourceTypeModuleError}},ur={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},zt=t=>{let{type:r,prefix:e}=t;return r==="UpdateExpression"?ur.UpdateExpression[String(e)]:ur[r]},Ko={AccessorIsGenerator:t=>{let{kind:r}=t;return`A ${r}ter cannot be a generator.`},ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitInUsingBinding:"'await' is not allowed to be used as a name in 'using' declarations.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:t=>{let{kind:r}=t;return`Missing initializer in ${r} declaration.`},DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:t=>{let{exportName:r}=t;return`\`${r}\` has already been exported. Exported identifiers must be unique.`},DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:t=>{let{localName:r,exportName:e}=t;return`A string literal cannot be used as an exported binding without \`from\`. -- Did you mean \`export { '${r}' as '${e}' } from 'some-module'\`?`},ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:t=>{let{type:r}=t;return`'${r==="ForInStatement"?"for-in":"for-of"}' loop variable declaration may not have an initializer.`},ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:t=>{let{type:r}=t;return`Unsyntactic ${r==="BreakStatement"?"break":"continue"}.`},IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportBindingIsString:t=>{let{importName:r}=t;return`A string literal cannot be used as an imported binding. -- Did you mean \`import { "${r}" as foo }\`?`},ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:t=>{let{maxArgumentCount:r}=t;return`\`import()\` requires exactly ${r===1?"one argument":"one or two arguments"}.`},ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:t=>{let{radix:r}=t;return`Expected number in radix ${r}.`},InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:t=>{let{reservedWord:r}=t;return`Escape sequence in keyword ${r}.`},InvalidIdentifier:t=>{let{identifierName:r}=t;return`Invalid identifier ${r}.`},InvalidLhs:t=>{let{ancestor:r}=t;return`Invalid left-hand side in ${zt(r)}.`},InvalidLhsBinding:t=>{let{ancestor:r}=t;return`Binding invalid left-hand side in ${zt(r)}.`},InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:t=>{let{unexpected:r}=t;return`Unexpected character '${r}'.`},InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:t=>{let{identifierName:r}=t;return`Private name #${r} is not defined.`},InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:t=>{let{labelName:r}=t;return`Label '${r}' is already declared.`},LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:t=>{let{missingPlugin:r}=t;return`This experimental syntax requires enabling the parser plugin: ${r.map(e=>JSON.stringify(e)).join(", ")}.`},MissingOneOfPlugins:t=>{let{missingPlugin:r}=t;return`This experimental syntax requires enabling one of the following parser plugin(s): ${r.map(e=>JSON.stringify(e)).join(", ")}.`},MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:t=>{let{key:r}=t;return`Duplicate key "${r}" is not allowed in module attributes.`},ModuleExportNameHasLoneSurrogate:t=>{let{surrogateCharCode:r}=t;return`An export name cannot include a lone surrogate, found '\\u${r.toString(16)}'.`},ModuleExportUndefined:t=>{let{localName:r}=t;return`Export '${r}' is not defined.`},MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:t=>{let{identifierName:r}=t;return`Private names are only allowed in property accesses (\`obj.#${r}\`) or in \`in\` expressions (\`#${r} in obj\`).`},PrivateNameRedeclaration:t=>{let{identifierName:r}=t;return`Duplicate private name #${r}.`},RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:t=>{let{keyword:r}=t;return`Unexpected keyword '${r}'.`},UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:t=>{let{reservedWord:r}=t;return`Unexpected reserved word '${r}'.`},UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:t=>{let{expected:r,unexpected:e}=t;return`Unexpected token${e?` '${e}'.`:""}${r?`, expected "${r}"`:""}`},UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script`.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:t=>{let{target:r,onlyValidPropertyName:e}=t;return`The only valid meta property for ${r} is ${r}.${e}.`},UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:t=>{let{identifierName:r}=t;return`Identifier '${r}' has already been declared.`},YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},Wo={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:t=>{let{referenceName:r}=t;return`Assigning to '${r}' in strict mode.`},StrictEvalArgumentsBinding:t=>{let{bindingName:r}=t;return`Binding '${r}' in strict mode.`},StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},Go=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),Jo={PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:t=>{let{token:r}=t;return`Invalid topic token ${r}. In order to use ${r} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${r}" }.`},PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:t=>{let{type:r}=t;return`Hack-style pipe body cannot be an unparenthesized ${zt({type:r})}; please wrap it in parentheses.`},PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'},Xo=["toMessage"],Yo=["message"];function Qo(t){let{toMessage:r}=t,e=ot(t,Xo);return function s(i){let{loc:a,details:n}=i;return zo(SyntaxError,Object.assign({},e,{loc:a}),{clone(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=o.loc||{};return s({loc:new ge("line"in u?u.line:this.loc.line,"column"in u?u.column:this.loc.column,"index"in u?u.index:this.loc.index),details:Object.assign({},this.details,o.details)})},details:{value:n,enumerable:!1},message:{get(){return`${r(this.details)} (${this.loc.line}:${this.loc.column})`},set(o){Object.defineProperty(this,"message",{value:o})}},pos:{reflect:"loc.index",enumerable:!0},missingPlugin:"missingPlugin"in n&&{reflect:"details.missingPlugin",enumerable:!0}})}}function pe(t,r){if(Array.isArray(t))return s=>pe(s,t[0]);let e={};for(let s of Object.keys(t)){let i=t[s],a=typeof i=="string"?{message:()=>i}:typeof i=="function"?{message:i}:i,{message:n}=a,o=ot(a,Yo),u=typeof n=="string"?()=>n:n;e[s]=Qo(Object.assign({code:Ht.SyntaxError,reasonCode:s,toMessage:u},r?{syntaxPlugin:r}:{},o))}return e}var f=Object.assign({},pe(Vo),pe(Ko),pe(Wo),pe`pipelineOperator`(Jo)),{defineProperty:Zo}=Object,cr=(t,r)=>Zo(t,r,{enumerable:!1,value:t[r]});function ze(t){return t.loc.start&&cr(t.loc.start,"index"),t.loc.end&&cr(t.loc.end,"index"),t}var el=t=>class extends t{parse(){let e=ze(super.parse());return this.options.tokens&&(e.tokens=e.tokens.map(ze)),e}parseRegExpLiteral(e){let{pattern:s,flags:i}=e,a=null;try{a=new RegExp(s,i)}catch{}let n=this.estreeParseLiteral(a);return n.regex={pattern:s,flags:i},n}parseBigIntLiteral(e){let s;try{s=BigInt(e)}catch{s=null}let i=this.estreeParseLiteral(s);return i.bigint=String(i.value||e),i}parseDecimalLiteral(e){let i=this.estreeParseLiteral(null);return i.decimal=String(i.value||e),i}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}directiveToStmt(e){let s=e.value;delete e.value,s.type="Literal",s.raw=s.extra.raw,s.value=s.extra.expressionValue;let i=e;return i.type="ExpressionStatement",i.expression=s,i.directive=s.extra.rawValue,delete s.extra,i}initFunction(e,s){super.initFunction(e,s),e.expression=!1}checkDeclaration(e){e!=null&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){var s;return e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&!((s=e.expression.extra)!=null&&s.parenthesized)}parseBlockBody(e,s,i,a,n){super.parseBlockBody(e,s,i,a,n);let o=e.directives.map(u=>this.directiveToStmt(u));e.body=o.concat(e.body),delete e.directives}pushClassMethod(e,s,i,a,n,o){this.parseMethod(s,i,a,n,o,"ClassMethod",!0),s.typeParameters&&(s.value.typeParameters=s.typeParameters,delete s.typeParameters),e.body.push(s)}parsePrivateName(){let e=super.parsePrivateName();return this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(e):e}convertPrivateNameToPrivateIdentifier(e){let s=super.getPrivateNameSV(e);return e=e,delete e.id,e.name=s,e.type="PrivateIdentifier",e}isPrivateName(e){return this.getPluginOption("estree","classFeatures")?e.type==="PrivateIdentifier":super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption("estree","classFeatures")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,s){let i=super.parseLiteral(e,s);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;super.parseFunctionBody(e,s,i),e.expression=e.body.type!=="BlockStatement"}parseMethod(e,s,i,a,n,o){let u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,c=this.startNode();return c.kind=e.kind,c=super.parseMethod(c,s,i,a,n,o,u),c.type="FunctionExpression",delete c.kind,e.value=c,o==="ClassPrivateMethod"&&(e.computed=!1),this.finishNode(e,"MethodDefinition")}parseClassProperty(){let e=super.parseClassProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition"),e}parseClassPrivateProperty(){let e=super.parseClassPrivateProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition",e.computed=!1),e}parseObjectMethod(e,s,i,a,n){let o=super.parseObjectMethod(e,s,i,a,n);return o&&(o.type="Property",o.kind==="method"&&(o.kind="init"),o.shorthand=!1),o}parseObjectProperty(e,s,i,a){let n=super.parseObjectProperty(e,s,i,a);return n&&(n.kind="init",n.type="Property"),n}isValidLVal(e,s,i){return e==="Property"?"value":super.isValidLVal(e,s,i)}isAssignable(e,s){return e!=null&&this.isObjectProperty(e)?this.isAssignable(e.value,s):super.isAssignable(e,s)}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e!=null&&this.isObjectProperty(e)){let{key:i,value:a}=e;this.isPrivateName(i)&&this.classScope.usePrivateName(this.getPrivateNameSV(i),i.loc.start),this.toAssignable(a,s)}else super.toAssignable(e,s)}toAssignableObjectExpressionProp(e,s,i){e.kind==="get"||e.kind==="set"?this.raise(f.PatternHasAccessor,{at:e.key}):e.method?this.raise(f.PatternHasMethod,{at:e.key}):super.toAssignableObjectExpressionProp(e,s,i)}finishCallExpression(e,s){let i=super.finishCallExpression(e,s);if(i.callee.type==="Import"){if(i.type="ImportExpression",i.source=i.arguments[0],this.hasPlugin("importAssertions")){var a;i.attributes=(a=i.arguments[1])!=null?a:null}delete i.arguments,delete i.callee}return i}toReferencedArguments(e){e.type!=="ImportExpression"&&super.toReferencedArguments(e)}parseExport(e,s){let i=this.state.lastTokStartLoc,a=super.parseExport(e,s);switch(a.type){case"ExportAllDeclaration":a.exported=null;break;case"ExportNamedDeclaration":a.specifiers.length===1&&a.specifiers[0].type==="ExportNamespaceSpecifier"&&(a.type="ExportAllDeclaration",a.exported=a.specifiers[0].exported,delete a.specifiers);case"ExportDefaultDeclaration":{var n;let{declaration:o}=a;(o==null?void 0:o.type)==="ClassDeclaration"&&((n=o.decorators)==null?void 0:n.length)>0&&o.start===a.start&&this.resetStartLocation(a,i)}break}return a}parseSubscript(e,s,i,a){let n=super.parseSubscript(e,s,i,a);if(a.optionalChainMember){if((n.type==="OptionalMemberExpression"||n.type==="OptionalCallExpression")&&(n.type=n.type.substring(8)),a.stop){let o=this.startNodeAtNode(n);return o.expression=n,this.finishNode(o,"ChainExpression")}}else(n.type==="MemberExpression"||n.type==="CallExpression")&&(n.optional=!1);return n}hasPropertyAsPrivateName(e){return e.type==="ChainExpression"&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return e.type==="Property"&&e.kind==="init"&&!e.method}isObjectMethod(e){return e.method||e.kind==="get"||e.kind==="set"}finishNodeAt(e,s,i){return ze(super.finishNodeAt(e,s,i))}resetStartLocation(e,s){super.resetStartLocation(e,s),ze(e)}resetEndLocation(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;super.resetEndLocation(e,s),ze(e)}},Vt="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",pr="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",tl=new RegExp("["+Vt+"]"),sl=new RegExp("["+Vt+pr+"]");Vt=pr=null;var fr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191],rl=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function Kt(t,r){let e=65536;for(let s=0,i=r.length;st)return!1;if(e+=r[s+1],e>=t)return!0}return!1}function fe(t){return t<65?t===36:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&tl.test(String.fromCharCode(t)):Kt(t,fr)}function De(t){return t<48?t===36:t<58?!0:t<65?!1:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&sl.test(String.fromCharCode(t)):Kt(t,fr)||Kt(t,rl)}var Wt={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},il=new Set(Wt.keyword),al=new Set(Wt.strict),nl=new Set(Wt.strictBind);function dr(t,r){return r&&t==="await"||t==="enum"}function mr(t,r){return dr(t,r)||al.has(t)}function yr(t){return nl.has(t)}function xr(t,r){return mr(t,r)||yr(t)}function ol(t){return il.has(t)}function ll(t,r,e){return t===64&&r===64&&fe(e)}var hl=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function ul(t){return hl.has(t)}var Fe=0,Le=1,de=2,Gt=4,gr=8,ht=16,Pr=32,Ee=64,ut=128,Oe=256,ct=Le|de|ut|Oe,le=1,Ce=2,Ar=4,be=8,pt=16,Tr=64,ft=128,Jt=256,Xt=512,Yt=1024,Qt=2048,Ve=4096,dt=8192,vr=le|Ce|be|ft|dt,Be=le|0|be|dt,cl=le|0|be|0,mt=le|0|Ar|0,Er=le|0|pt|0,pl=0|Ce|0|ft,fl=0|Ce|0|0,Cr=le|Ce|be|Jt|dt,br=0|Yt,Pe=0|Tr,dl=le|0|0|Tr,ml=Cr|Xt,yl=0|Yt,Sr=0|Ce|0|Ve,xl=Qt,yt=4,Zt=2,es=1,ts=Zt|es,gl=Zt|yt,Pl=es|yt,Al=Zt,Tl=es,ss=0,rs=class{constructor(t){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=t}},is=class{constructor(t,r){this.parser=void 0,this.scopeStack=[],this.inModule=void 0,this.undefinedExports=new Map,this.parser=t,this.inModule=r}get inTopLevel(){return(this.currentScope().flags&Le)>0}get inFunction(){return(this.currentVarScopeFlags()&de)>0}get allowSuper(){return(this.currentThisScopeFlags()&ht)>0}get allowDirectSuper(){return(this.currentThisScopeFlags()&Pr)>0}get inClass(){return(this.currentThisScopeFlags()&Ee)>0}get inClassAndNotInNonArrowFunction(){let t=this.currentThisScopeFlags();return(t&Ee)>0&&(t&de)===0}get inStaticBlock(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&ut)return!0;if(r&(ct|Ee))return!1}}get inNonArrowFunction(){return(this.currentThisScopeFlags()&de)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new rs(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(t){return!!(t.flags&(de|ut)||!this.parser.inModule&&t.flags&Le)}declareName(t,r,e){let s=this.currentScope();if(r&be||r&pt)this.checkRedeclarationInScope(s,t,r,e),r&pt?s.functions.add(t):s.lexical.add(t),r&be&&this.maybeExportDefined(s,t);else if(r&Ar)for(let i=this.scopeStack.length-1;i>=0&&(s=this.scopeStack[i],this.checkRedeclarationInScope(s,t,r,e),s.var.add(t),this.maybeExportDefined(s,t),!(s.flags&ct));--i);this.parser.inModule&&s.flags&Le&&this.undefinedExports.delete(t)}maybeExportDefined(t,r){this.parser.inModule&&t.flags&Le&&this.undefinedExports.delete(r)}checkRedeclarationInScope(t,r,e,s){this.isRedeclaredInScope(t,r,e)&&this.parser.raise(f.VarRedeclaration,{at:s,identifierName:r})}isRedeclaredInScope(t,r,e){return e&le?e&be?t.lexical.has(r)||t.functions.has(r)||t.var.has(r):e&pt?t.lexical.has(r)||!this.treatFunctionsAsVarInScope(t)&&t.var.has(r):t.lexical.has(r)&&!(t.flags&gr&&t.lexical.values().next().value===r)||!this.treatFunctionsAsVarInScope(t)&&t.functions.has(r):!1}checkLocalExport(t){let{name:r}=t,e=this.scopeStack[0];!e.lexical.has(r)&&!e.var.has(r)&&!e.functions.has(r)&&this.undefinedExports.set(r,t.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&ct)return r}}currentThisScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&(ct|Ee)&&!(r&Gt))return r}}},vl=class extends rs{constructor(){super(...arguments),this.declareFunctions=new Set}},El=class extends is{createScope(t){return new vl(t)}declareName(t,r,e){let s=this.currentScope();if(r&Qt){this.checkRedeclarationInScope(s,t,r,e),this.maybeExportDefined(s,t),s.declareFunctions.add(t);return}super.declareName(t,r,e)}isRedeclaredInScope(t,r,e){return super.isRedeclaredInScope(t,r,e)?!0:e&Qt?!t.declareFunctions.has(r)&&(t.lexical.has(r)||t.functions.has(r)):!1}checkLocalExport(t){this.scopeStack[0].declareFunctions.has(t.name)||super.checkLocalExport(t)}},Cl=class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(t){if(typeof t=="string")return this.plugins.has(t);{let[r,e]=t;if(!this.hasPlugin(r))return!1;let s=this.plugins.get(r);for(let i of Object.keys(e))if((s==null?void 0:s[i])!==e[i])return!1;return!0}}getPluginOption(t,r){var e;return(e=this.plugins.get(t))==null?void 0:e[r]}};function wr(t,r){t.trailingComments===void 0?t.trailingComments=r:t.trailingComments.unshift(...r)}function bl(t,r){t.leadingComments===void 0?t.leadingComments=r:t.leadingComments.unshift(...r)}function Ke(t,r){t.innerComments===void 0?t.innerComments=r:t.innerComments.unshift(...r)}function We(t,r,e){let s=null,i=r.length;for(;s===null&&i>0;)s=r[--i];s===null||s.start>e.start?Ke(t,e.comments):wr(s,e.comments)}var Sl=class extends Cl{addComment(t){this.filename&&(t.loc.filename=this.filename),this.state.comments.push(t)}processComment(t){let{commentStack:r}=this.state,e=r.length;if(e===0)return;let s=e-1,i=r[s];i.start===t.end&&(i.leadingNode=t,s--);let{start:a}=t;for(;s>=0;s--){let n=r[s],o=n.end;if(o>a)n.containingNode=t,this.finalizeComment(n),r.splice(s,1);else{o===a&&(n.trailingNode=t);break}}}finalizeComment(t){let{comments:r}=t;if(t.leadingNode!==null||t.trailingNode!==null)t.leadingNode!==null&&wr(t.leadingNode,r),t.trailingNode!==null&&bl(t.trailingNode,r);else{let{containingNode:e,start:s}=t;if(this.input.charCodeAt(s-1)===44)switch(e.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":We(e,e.properties,t);break;case"CallExpression":case"OptionalCallExpression":We(e,e.arguments,t);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":We(e,e.params,t);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":We(e,e.elements,t);break;case"ExportNamedDeclaration":case"ImportDeclaration":We(e,e.specifiers,t);break;default:Ke(e,r)}else Ke(e,r)}}finalizeRemainingComments(){let{commentStack:t}=this.state;for(let r=t.length-1;r>=0;r--)this.finalizeComment(t[r]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(t){let{commentStack:r}=this.state,{length:e}=r;if(e===0)return;let s=r[e-1];s.leadingNode===t&&(s.leadingNode=null)}takeSurroundingComments(t,r,e){let{commentStack:s}=this.state,i=s.length;if(i===0)return;let a=i-1;for(;a>=0;a--){let n=s[a],o=n.end;if(n.start===e)n.leadingNode=t;else if(o===r)n.trailingNode=t;else if(o=48&&r<=57},kr={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},gt={bin:t=>t===48||t===49,oct:t=>t>=48&&t<=55,dec:t=>t>=48&&t<=57,hex:t=>t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102};function Dr(t,r,e,s,i,a){let n=e,o=s,u=i,c="",y=null,g=e,{length:T}=r;for(;;){if(e>=T){a.unterminated(n,o,u),c+=r.slice(g,e);break}let C=r.charCodeAt(e);if(kl(t,C,r,e)){c+=r.slice(g,e);break}if(C===92){c+=r.slice(g,e);let M=Dl(r,e,s,i,t==="template",a);M.ch===null&&!y?y={pos:e,lineStart:s,curLine:i}:c+=M.ch,{pos:e,lineStart:s,curLine:i}=M,g=e}else C===8232||C===8233?(++e,++i,s=e):C===10||C===13?t==="template"?(c+=r.slice(g,e)+` -`,++e,C===13&&r.charCodeAt(e)===10&&++e,++i,g=s=e):a.unterminated(n,o,u):++e}return{pos:e,str:c,firstInvalidLoc:y,lineStart:s,curLine:i,containsInvalid:!!y}}function kl(t,r,e,s){return t==="template"?r===96||r===36&&e.charCodeAt(s+1)===123:r===(t==="double"?34:39)}function Dl(t,r,e,s,i,a){let n=!i;r++;let o=c=>({pos:r,ch:c,lineStart:e,curLine:s}),u=t.charCodeAt(r++);switch(u){case 110:return o(` -`);case 114:return o("\r");case 120:{let c;return{code:c,pos:r}=os(t,r,e,s,2,!1,n,a),o(c===null?null:String.fromCharCode(c))}case 117:{let c;return{code:c,pos:r}=Lr(t,r,e,s,n,a),o(c===null?null:String.fromCodePoint(c))}case 116:return o(" ");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:t.charCodeAt(r)===10&&++r;case 10:e=r,++s;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);a.strictNumericEscape(r-1,e,s);default:if(u>=48&&u<=55){let c=r-1,g=t.slice(c,r+2).match(/^[0-7]+/)[0],T=parseInt(g,8);T>255&&(g=g.slice(0,-1),T=parseInt(g,8)),r+=g.length-1;let C=t.charCodeAt(r);if(g!=="0"||C===56||C===57){if(i)return o(null);a.strictNumericEscape(c,e,s)}return o(String.fromCharCode(T))}return o(String.fromCharCode(u))}}function os(t,r,e,s,i,a,n,o){let u=r,c;return{n:c,pos:r}=Fr(t,r,e,s,16,i,a,!1,o,!n),c===null&&(n?o.invalidEscapeSequence(u,e,s):r=u-1),{code:c,pos:r}}function Fr(t,r,e,s,i,a,n,o,u,c){let y=r,g=i===16?kr.hex:kr.decBinOct,T=i===16?gt.hex:i===10?gt.dec:i===8?gt.oct:gt.bin,C=!1,M=0;for(let j=0,K=a==null?1/0:a;j=97?V=W-97+10:W>=65?V=W-65+10:Nl(W)?V=W-48:V=1/0,V>=i){if(V<=9&&c)return{n:null,pos:r};if(V<=9&&u.invalidDigit(r,e,s,i))V=0;else if(n)V=0,C=!0;else break}++r,M=M*i+V}return r===y||a!=null&&r-y!==a||C?{n:null,pos:r}:{n:M,pos:r}}function Lr(t,r,e,s,i,a){let n=t.charCodeAt(r),o;if(n===123){if(++r,{code:o,pos:r}=os(t,r,e,s,t.indexOf("}",r)-r,!0,i,a),++r,o!==null&&o>1114111)if(i)a.invalidCodePoint(r,e,s);else return{code:null,pos:r}}else({code:o,pos:r}=os(t,r,e,s,4,!1,i,a));return{code:o,pos:r}}var Fl=["at"],Ll=["at"];function Je(t,r,e){return new ge(e,t-r,t)}var Ol=new Set([103,109,115,105,121,117,100,118]),Ae=class{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new lt(t.startLoc,t.endLoc)}},Bl=class extends Sl{constructor(t,r){super(),this.isLookahead=void 0,this.tokens=[],this.errorHandlers_readInt={invalidDigit:(e,s,i,a)=>this.options.errorRecovery?(this.raise(f.InvalidDigit,{at:Je(e,s,i),radix:a}),!0):!1,numericSeparatorInEscapeSequence:this.errorBuilder(f.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(f.UnexpectedNumericSeparator)},this.errorHandlers_readCodePoint=Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(f.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(f.InvalidCodePoint)}),this.errorHandlers_readStringContents_string=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,s,i)=>{this.recordStrictModeErrors(f.StrictNumericEscape,{at:Je(e,s,i)})},unterminated:(e,s,i)=>{throw this.raise(f.UnterminatedString,{at:Je(e-1,s,i)})}}),this.errorHandlers_readStringContents_template=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(f.StrictNumericEscape),unterminated:(e,s,i)=>{throw this.raise(f.UnterminatedTemplate,{at:Je(e,s,i)})}}),this.state=new Nr,this.state.init(t),this.input=r,this.length=r.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Ae(this.state)),this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return this.match(t)?(this.next(),!0):!1}match(t){return this.state.type===t}createLookaheadState(t){return{pos:t.pos,value:null,type:t.type,start:t.start,end:t.end,context:[this.curContext()],inType:t.inType,startLoc:t.startLoc,lastTokEndLoc:t.lastTokEndLoc,curLine:t.curLine,lineStart:t.lineStart,curPosition:t.curPosition}}lookahead(){let t=this.state;this.state=this.createLookaheadState(t),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let r=this.state;return this.state=t,r}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){return ns.lastIndex=t,ns.test(this.input)?ns.lastIndex:t}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(t){let r=this.input.charCodeAt(t);if((r&64512)===55296&&++t{let[e,s]=r;return this.raise(e,{at:s})}),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(137);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(t){let r;this.isLookahead||(r=this.state.curPosition());let e=this.state.pos,s=this.input.indexOf(t,e+2);if(s===-1)throw this.raise(f.UnterminatedComment,{at:this.state.curPosition()});for(this.state.pos=s+t.length,xt.lastIndex=e+2;xt.test(this.input)&&xt.lastIndex<=s;)++this.state.curLine,this.state.lineStart=xt.lastIndex;if(this.isLookahead)return;let i={type:"CommentBlock",value:this.input.slice(e+2,s),start:e,end:s+t.length,loc:new lt(r,this.state.curPosition())};return this.options.tokens&&this.pushToken(i),i}skipLineComment(t){let r=this.state.pos,e;this.isLookahead||(e=this.state.curPosition());let s=this.input.charCodeAt(this.state.pos+=t);if(this.state.post)){let i=this.skipLineComment(3);i!==void 0&&(this.addComment(i),this.options.attachComment&&r.push(i))}else break e}else if(e===60&&!this.inModule&&this.options.annexB){let s=this.state.pos;if(this.input.charCodeAt(s+1)===33&&this.input.charCodeAt(s+2)===45&&this.input.charCodeAt(s+3)===45){let i=this.skipLineComment(4);i!==void 0&&(this.addComment(i),this.options.attachComment&&r.push(i))}else break e}else break e}}if(r.length>0){let e=this.state.pos,s={start:t,end:e,comments:r,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(s)}}finishToken(t,r){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let e=this.state.type;this.state.type=t,this.state.value=r,this.isLookahead||this.updateContext(e)}replaceToken(t){this.state.type=t,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let t=this.state.pos+1,r=this.codePointAtPos(t);if(r>=48&&r<=57)throw this.raise(f.UnexpectedDigitAfterHash,{at:this.state.curPosition()});if(r===123||r===91&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),this.getPluginOption("recordAndTuple","syntaxType")==="bar")throw this.raise(r===123?f.RecordExpressionHashIncorrectStartSyntaxType:f.TupleExpressionHashIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,r===123?this.finishToken(7):this.finishToken(1)}else fe(r)?(++this.state.pos,this.finishToken(136,this.readWord1(r))):r===92?(++this.state.pos,this.finishToken(136,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let t=this.input.charCodeAt(this.state.pos+1);if(t>=48&&t<=57){this.readNumber(!0);return}t===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(t!==33)return!1;let r=this.state.pos;for(this.state.pos+=1;!Ge(t)&&++this.state.pos=48&&r<=57)?(this.state.pos+=2,this.finishToken(18)):(++this.state.pos,this.finishToken(17))}getTokenFromCode(t){switch(t){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(10);return;case 41:++this.state.pos,this.finishToken(11);return;case 59:++this.state.pos,this.finishToken(13);return;case 44:++this.state.pos,this.finishToken(12);return;case 91:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(f.TupleExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(3);return;case 123:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(f.RecordExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:++this.state.pos,this.finishToken(8);return;case 58:this.hasPlugin("functionBind")&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(15,2):(++this.state.pos,this.finishToken(14));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let r=this.input.charCodeAt(this.state.pos+1);if(r===120||r===88){this.readRadixNumber(16);return}if(r===111||r===79){this.readRadixNumber(8);return}if(r===98||r===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(t);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(t);return;case 124:case 38:this.readToken_pipe_amp(t);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(t);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(t);return;case 126:this.finishOp(36,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(fe(t)){this.readWord(t);return}}throw this.raise(f.InvalidOrUnexpectedToken,{at:this.state.curPosition(),unexpected:String.fromCodePoint(t)})}finishOp(t,r){let e=this.input.slice(this.state.pos,this.state.pos+r);this.state.pos+=r,this.finishToken(t,e)}readRegexp(){let t=this.state.startLoc,r=this.state.start+1,e,s,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(f.UnterminatedRegExp,{at:Y(t,1)});let u=this.input.charCodeAt(i);if(Ge(u))throw this.raise(f.UnterminatedRegExp,{at:Y(t,1)});if(e)e=!1;else{if(u===91)s=!0;else if(u===93&&s)s=!1;else if(u===47&&!s)break;e=u===92}}let a=this.input.slice(r,i);++i;let n="",o=()=>Y(t,i+2-r);for(;i2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{n:i,pos:a}=Fr(this.input,this.state.pos,this.state.lineStart,this.state.curLine,t,r,e,s,this.errorHandlers_readInt,!1);return this.state.pos=a,i}readRadixNumber(t){let r=this.state.curPosition(),e=!1;this.state.pos+=2;let s=this.readInt(t);s==null&&this.raise(f.InvalidDigit,{at:Y(r,2),radix:t});let i=this.input.charCodeAt(this.state.pos);if(i===110)++this.state.pos,e=!0;else if(i===109)throw this.raise(f.InvalidDecimal,{at:r});if(fe(this.codePointAtPos(this.state.pos)))throw this.raise(f.NumberIdentifier,{at:this.state.curPosition()});if(e){let a=this.input.slice(r.index,this.state.pos).replace(/[_n]/g,"");this.finishToken(133,a);return}this.finishToken(132,s)}readNumber(t){let r=this.state.pos,e=this.state.curPosition(),s=!1,i=!1,a=!1,n=!1,o=!1;!t&&this.readInt(10)===null&&this.raise(f.InvalidNumber,{at:this.state.curPosition()});let u=this.state.pos-r>=2&&this.input.charCodeAt(r)===48;if(u){let T=this.input.slice(r,this.state.pos);if(this.recordStrictModeErrors(f.StrictOctalLiteral,{at:e}),!this.state.strict){let C=T.indexOf("_");C>0&&this.raise(f.ZeroDigitNumericSeparator,{at:Y(e,C)})}o=u&&!/[89]/.test(T)}let c=this.input.charCodeAt(this.state.pos);if(c===46&&!o&&(++this.state.pos,this.readInt(10),s=!0,c=this.input.charCodeAt(this.state.pos)),(c===69||c===101)&&!o&&(c=this.input.charCodeAt(++this.state.pos),(c===43||c===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(f.InvalidOrMissingExponent,{at:e}),s=!0,n=!0,c=this.input.charCodeAt(this.state.pos)),c===110&&((s||u)&&this.raise(f.InvalidBigIntLiteral,{at:e}),++this.state.pos,i=!0),c===109&&(this.expectPlugin("decimal",this.state.curPosition()),(n||u)&&this.raise(f.InvalidDecimal,{at:e}),++this.state.pos,a=!0),fe(this.codePointAtPos(this.state.pos)))throw this.raise(f.NumberIdentifier,{at:this.state.curPosition()});let y=this.input.slice(r,this.state.pos).replace(/[_mn]/g,"");if(i){this.finishToken(133,y);return}if(a){this.finishToken(134,y);return}let g=o?parseInt(y,8):parseFloat(y);this.finishToken(132,g)}readCodePoint(t){let{code:r,pos:e}=Lr(this.input,this.state.pos,this.state.lineStart,this.state.curLine,t,this.errorHandlers_readCodePoint);return this.state.pos=e,r}readString(t){let{str:r,pos:e,curLine:s,lineStart:i}=Dr(t===34?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=e+1,this.state.lineStart=i,this.state.curLine=s,this.finishToken(131,r)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let t=this.input[this.state.pos],{str:r,firstInvalidLoc:e,pos:s,curLine:i,lineStart:a}=Dr("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=s+1,this.state.lineStart=a,this.state.curLine=i,e&&(this.state.firstInvalidTemplateEscapePos=new ge(e.curLine,e.pos-e.lineStart,e.pos)),this.input.codePointAt(s)===96?this.finishToken(24,e?null:t+r+"`"):(this.state.pos++,this.finishToken(25,e?null:t+r+"${"))}recordStrictModeErrors(t,r){let{at:e}=r,s=e.index;this.state.strict&&!this.state.strictErrors.has(s)?this.raise(t,{at:e}):this.state.strictErrors.set(s,[t,e])}readWord1(t){this.state.containsEsc=!1;let r="",e=this.state.pos,s=this.state.pos;for(t!==void 0&&(this.state.pos+=t<=65535?1:2);this.state.pos=0;o--){let u=n[o];if(u.loc.index===a)return n[o]=t({loc:i,details:s});if(u.loc.indexthis.hasPlugin(r)))throw this.raise(f.MissingOneOfPlugins,{at:this.state.startLoc,missingPlugin:t})}errorBuilder(t){return(r,e,s)=>{this.raise(t,{at:Je(r,e,s)})}}},Ml=class{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}},_l=class{constructor(t){this.parser=void 0,this.stack=[],this.undefinedPrivateNames=new Map,this.parser=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ml)}exit(){let t=this.stack.pop(),r=this.current();for(let[e,s]of Array.from(t.undefinedPrivateNames))r?r.undefinedPrivateNames.has(e)||r.undefinedPrivateNames.set(e,s):this.parser.raise(f.InvalidPrivateFieldResolution,{at:s,identifierName:e})}declarePrivateName(t,r,e){let{privateNames:s,loneAccessors:i,undefinedPrivateNames:a}=this.current(),n=s.has(t);if(r&ts){let o=n&&i.get(t);if(o){let u=o&yt,c=r&yt,y=o&ts,g=r&ts;n=y===g||u!==c,n||i.delete(t)}else n||i.set(t,r)}n&&this.parser.raise(f.PrivateNameRedeclaration,{at:e,identifierName:t}),s.add(t),a.delete(t)}usePrivateName(t,r){let e;for(e of this.stack)if(e.privateNames.has(t))return;e?e.undefinedPrivateNames.set(t,r):this.parser.raise(f.InvalidPrivateFieldResolution,{at:r,identifierName:t})}},Rl=0,Or=1,ls=2,Br=3,Pt=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Rl;this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return this.type===ls||this.type===Or}isCertainlyParameterDeclaration(){return this.type===Br}},Mr=class extends Pt{constructor(t){super(t),this.declarationErrors=new Map}recordDeclarationError(t,r){let{at:e}=r,s=e.index;this.declarationErrors.set(s,[t,e])}clearDeclarationError(t){this.declarationErrors.delete(t)}iterateErrors(t){this.declarationErrors.forEach(t)}},jl=class{constructor(t){this.parser=void 0,this.stack=[new Pt],this.parser=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,r){let{at:e}=r,s={at:e.loc.start},{stack:i}=this,a=i.length-1,n=i[a];for(;!n.isCertainlyParameterDeclaration();){if(n.canBeArrowParameterDeclaration())n.recordDeclarationError(t,s);else return;n=i[--a]}this.parser.raise(t,s)}recordArrowParameterBindingError(t,r){let{at:e}=r,{stack:s}=this,i=s[s.length-1],a={at:e.loc.start};if(i.isCertainlyParameterDeclaration())this.parser.raise(t,a);else if(i.canBeArrowParameterDeclaration())i.recordDeclarationError(t,a);else return}recordAsyncArrowParametersError(t){let{at:r}=t,{stack:e}=this,s=e.length-1,i=e[s];for(;i.canBeArrowParameterDeclaration();)i.type===ls&&i.recordDeclarationError(f.AwaitBindingIdentifier,{at:r}),i=e[--s]}validateAsPattern(){let{stack:t}=this,r=t[t.length-1];r.canBeArrowParameterDeclaration()&&r.iterateErrors(e=>{let[s,i]=e;this.parser.raise(s,{at:i});let a=t.length-2,n=t[a];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(i.index),n=t[--a]})}};function ql(){return new Pt(Br)}function Ul(){return new Mr(Or)}function $l(){return new Mr(ls)}function _r(){return new Pt}var Me=0,Rr=1,At=2,jr=4,_e=8,Hl=class{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&At)>0}get hasYield(){return(this.currentFlags()&Rr)>0}get hasReturn(){return(this.currentFlags()&jr)>0}get hasIn(){return(this.currentFlags()&_e)>0}};function Tt(t,r){return(t?At:0)|(r?Rr:0)}var zl=class extends Bl{addExtra(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;if(!t)return;let i=t.extra=t.extra||{};s?i[r]=e:Object.defineProperty(i,r,{enumerable:s,value:e})}isContextual(t){return this.state.type===t&&!this.state.containsEsc}isUnparsedContextual(t,r){let e=t+r.length;if(this.input.slice(t,e)===r){let s=this.input.charCodeAt(e);return!(De(s)||(s&64512)===55296)}return!1}isLookaheadContextual(t){let r=this.nextTokenStart();return this.isUnparsedContextual(r,t)}eatContextual(t){return this.isContextual(t)?(this.next(),!0):!1}expectContextual(t,r){if(!this.eatContextual(t)){if(r!=null)throw this.raise(r,{at:this.state.startLoc});this.unexpected(null,t)}}canInsertSemicolon(){return this.match(137)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return as.test(this.input.slice(this.state.lastTokEndLoc.index,this.state.start))}hasFollowingLineBreak(){return Ir.lastIndex=this.state.end,Ir.test(this.input)}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(){((arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0)?this.isLineTerminator():this.eat(13))||this.raise(f.MissingSemicolon,{at:this.state.lastTokEndLoc})}expect(t,r){this.eat(t)||this.unexpected(r,t)}tryParse(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.clone(),e={node:null};try{let s=t(function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;throw e.node=i,e});if(this.state.errors.length>r.errors.length){let i=this.state;return this.state=r,this.state.tokensLength=i.tokensLength,{node:s,error:i.errors[r.errors.length],thrown:!1,aborted:!1,failState:i}}return{node:s,error:null,thrown:!1,aborted:!1,failState:null}}catch(s){let i=this.state;if(this.state=r,s instanceof SyntaxError)return{node:null,error:s,thrown:!0,aborted:!1,failState:i};if(s===e)return{node:e.node,error:null,thrown:!1,aborted:!0,failState:i};throw s}}checkExpressionErrors(t,r){if(!t)return!1;let{shorthandAssignLoc:e,doubleProtoLoc:s,privateKeyLoc:i,optionalParametersLoc:a}=t,n=!!e||!!s||!!a||!!i;if(!r)return n;e!=null&&this.raise(f.InvalidCoverInitializedName,{at:e}),s!=null&&this.raise(f.DuplicateProto,{at:s}),i!=null&&this.raise(f.UnexpectedPrivateField,{at:i}),a!=null&&this.unexpected(a)}isLiteralPropertyName(){return it(this.state.type)}isPrivateName(t){return t.type==="PrivateName"}getPrivateNameSV(t){return t.id.name}hasPropertyAsPrivateName(t){return(t.type==="MemberExpression"||t.type==="OptionalMemberExpression")&&this.isPrivateName(t.property)}isObjectProperty(t){return t.type==="ObjectProperty"}isObjectMethod(t){return t.type==="ObjectMethod"}initializeScopes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.sourceType==="module",r=this.state.labels;this.state.labels=[];let e=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let s=this.inModule;this.inModule=t;let i=this.scope,a=this.getScopeHandler();this.scope=new a(this,t);let n=this.prodParam;this.prodParam=new Hl;let o=this.classScope;this.classScope=new _l(this);let u=this.expressionScope;return this.expressionScope=new jl(this),()=>{this.state.labels=r,this.exportedIdentifiers=e,this.inModule=s,this.scope=i,this.prodParam=n,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let t=Me;this.inModule&&(t|=At),this.scope.enter(Le),this.prodParam.enter(t)}checkDestructuringPrivate(t){let{privateKeyLoc:r}=t;r!==null&&this.expectPlugin("destructuringPrivate",r)}},vt=class{constructor(){this.shorthandAssignLoc=null,this.doubleProtoLoc=null,this.privateKeyLoc=null,this.optionalParametersLoc=null}},Et=class{constructor(t,r,e){this.type="",this.start=r,this.end=0,this.loc=new lt(e),t!=null&&t.options.ranges&&(this.range=[r,0]),t!=null&&t.filename&&(this.loc.filename=t.filename)}},hs=Et.prototype;hs.__clone=function(){let t=new Et(void 0,this.start,this.loc.start),r=Object.keys(this);for(let e=0,s=r.length;e1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;t.end=r.index,t.loc.end=r,this.options.ranges&&(t.range[1]=r.index)}resetStartLocationFromNode(t,r){this.resetStartLocation(t,r.loc.start)}},Gl=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),D=pe`flow`({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:t=>{let{reservedType:r}=t;return`Cannot overwrite reserved type ${r}.`},DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:t=>{let{memberName:r,enumName:e}=t;return`Boolean enum members need to be initialized. Use either \`${r} = true,\` or \`${r} = false,\` in enum \`${e}\`.`},EnumDuplicateMemberName:t=>{let{memberName:r,enumName:e}=t;return`Enum member names need to be unique, but the name \`${r}\` has already been used before in enum \`${e}\`.`},EnumInconsistentMemberValues:t=>{let{enumName:r}=t;return`Enum \`${r}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`},EnumInvalidExplicitType:t=>{let{invalidEnumType:r,enumName:e}=t;return`Enum type \`${r}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`},EnumInvalidExplicitTypeUnknownSupplied:t=>{let{enumName:r}=t;return`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${r}\`.`},EnumInvalidMemberInitializerPrimaryType:t=>{let{enumName:r,memberName:e,explicitType:s}=t;return`Enum \`${r}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`},EnumInvalidMemberInitializerSymbolType:t=>{let{enumName:r,memberName:e}=t;return`Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${r}\`.`},EnumInvalidMemberInitializerUnknownType:t=>{let{enumName:r,memberName:e}=t;return`The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${r}\`.`},EnumInvalidMemberName:t=>{let{enumName:r,memberName:e,suggestion:s}=t;return`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${r}\`.`},EnumNumberMemberNotInitialized:t=>{let{enumName:r,memberName:e}=t;return`Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${r}\`.`},EnumStringMemberInconsistentlyInitailized:t=>{let{enumName:r}=t;return`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${r}\`.`},GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{reasonCode:"OptionalBindingPattern"}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:t=>{let{reservedType:r}=t;return`Unexpected reserved type ${r}.`},UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:t=>{let{unsupportedExportKind:r,suggestion:e}=t;return`\`declare export ${r}\` is not supported. Use \`${e}\` instead.`},UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function Jl(t){return t.type==="DeclareExportAllDeclaration"||t.type==="DeclareExportDeclaration"&&(!t.declaration||t.declaration.type!=="TypeAlias"&&t.declaration.type!=="InterfaceDeclaration")}function us(t){return t.importKind==="type"||t.importKind==="typeof"}function qr(t){return te(t)&&t!==97}var Xl={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Yl(t,r){let e=[],s=[];for(let i=0;iclass extends t{constructor(){super(...arguments),this.flowPragma=void 0}getScopeHandler(){return El}shouldParseTypes(){return this.getPluginOption("flow","all")||this.flowPragma==="flow"}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,s){e!==131&&e!==13&&e!==28&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(e,s)}addComment(e){if(this.flowPragma===void 0){let s=Ql.exec(e.value);if(s)if(s[1]==="flow")this.flowPragma="flow";else if(s[1]==="noflow")this.flowPragma="noflow";else throw new Error("Unexpected flow pragma")}super.addComment(e)}flowParseTypeInitialiser(e){let s=this.state.inType;this.state.inType=!0,this.expect(e||14);let i=this.flowParseType();return this.state.inType=s,i}flowParsePredicate(){let e=this.startNode(),s=this.state.startLoc;return this.next(),this.expectContextual(108),this.state.lastTokStart>s.index+1&&this.raise(D.UnexpectedSpaceBetweenModuloChecks,{at:s}),this.eat(10)?(e.value=super.parseExpression(),this.expect(11),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let e=this.state.inType;this.state.inType=!0,this.expect(14);let s=null,i=null;return this.match(54)?(this.state.inType=e,i=this.flowParsePredicate()):(s=this.flowParseType(),this.state.inType=e,this.match(54)&&(i=this.flowParsePredicate())),[s,i]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();let s=e.id=this.parseIdentifier(),i=this.startNode(),a=this.startNode();this.match(47)?i.typeParameters=this.flowParseTypeParameterDeclaration():i.typeParameters=null,this.expect(10);let n=this.flowParseFunctionTypeParams();return i.params=n.params,i.rest=n.rest,i.this=n._this,this.expect(11),[i.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),a.typeAnnotation=this.finishNode(i,"FunctionTypeAnnotation"),s.typeAnnotation=this.finishNode(a,"TypeAnnotation"),this.resetEndLocation(s),this.semicolon(),this.scope.declareName(e.id.name,xl,e.id.loc.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,s){if(this.match(80))return this.flowParseDeclareClass(e);if(this.match(68))return this.flowParseDeclareFunction(e);if(this.match(74))return this.flowParseDeclareVariable(e);if(this.eatContextual(125))return this.match(16)?this.flowParseDeclareModuleExports(e):(s&&this.raise(D.NestedDeclareModule,{at:this.state.lastTokStartLoc}),this.flowParseDeclareModule(e));if(this.isContextual(128))return this.flowParseDeclareTypeAlias(e);if(this.isContextual(129))return this.flowParseDeclareOpaqueType(e);if(this.isContextual(127))return this.flowParseDeclareInterface(e);if(this.match(82))return this.flowParseDeclareExportDeclaration(e,s);this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,mt,e.id.loc.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(Fe),this.match(131)?e.id=super.parseExprAtom():e.id=this.parseIdentifier();let s=e.body=this.startNode(),i=s.body=[];for(this.expect(5);!this.match(8);){let o=this.startNode();this.match(83)?(this.next(),!this.isContextual(128)&&!this.match(87)&&this.raise(D.InvalidNonTypeImportInDeclareModule,{at:this.state.lastTokStartLoc}),super.parseImport(o)):(this.expectContextual(123,D.UnsupportedStatementInDeclareModule),o=this.flowParseDeclare(o,!0)),i.push(o)}this.scope.exit(),this.expect(8),this.finishNode(s,"BlockStatement");let a=null,n=!1;return i.forEach(o=>{Jl(o)?(a==="CommonJS"&&this.raise(D.AmbiguousDeclareModuleKind,{at:o}),a="ES"):o.type==="DeclareModuleExports"&&(n&&this.raise(D.DuplicateDeclareModuleExports,{at:o}),a==="ES"&&this.raise(D.AmbiguousDeclareModuleKind,{at:o}),a="CommonJS",n=!0)}),e.kind=a||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,s){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(128)||this.isContextual(127))&&!s){let i=this.state.value;throw this.raise(D.UnsupportedDeclareExportKind,{at:this.state.startLoc,unsupportedExportKind:i,suggestion:Xl[i]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(129))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(127)||this.isContextual(128)||this.isContextual(129))return e=this.parseExport(e,null),e.type==="ExportNamedDeclaration"&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(109),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){this.next();let s=this.flowParseTypeAlias(e);return s.type="DeclareTypeAlias",s}flowParseDeclareOpaqueType(e){this.next();let s=this.flowParseOpaqueType(e,!0);return s.type="DeclareOpaqueType",s}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,s){if(e.id=this.flowParseRestrictedIdentifier(!s,!0),this.scope.declareName(e.id.name,s?Er:Be,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(!s&&this.eat(12));if(s){if(this.eatContextual(115))do e.mixins.push(this.flowParseInterfaceExtends());while(this.eat(12));if(this.eatContextual(111))do e.implements.push(this.flowParseInterfaceExtends());while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:s,allowExact:!1,allowSpread:!1,allowProto:s,allowInexact:!1})}flowParseInterfaceExtends(){let e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){e==="_"&&this.raise(D.UnexpectedReservedUnderscore,{at:this.state.startLoc})}checkReservedType(e,s,i){Gl.has(e)&&this.raise(i?D.AssignReservedType:D.UnexpectedReservedType,{at:s,reservedType:e})}flowParseRestrictedIdentifier(e,s){return this.checkReservedType(this.state.value,this.state.startLoc,s),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,Be,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,s){return this.expectContextual(128),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,Be,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,s||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,s=this.state.startLoc,i=this.startNode(),a=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return i.name=n.name,i.variance=a,i.bound=n.typeAnnotation,this.match(29)?(this.eat(29),i.default=this.flowParseType()):e&&this.raise(D.MissingTypeParamDefault,{at:s}),this.finishNode(i,"TypeParameter")}flowParseTypeParameterDeclaration(){let e=this.state.inType,s=this.startNode();s.params=[],this.state.inType=!0,this.match(47)||this.match(140)?this.next():this.unexpected();let i=!1;do{let a=this.flowParseTypeParameter(i);s.params.push(a),a.default&&(i=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(s,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){let e=this.startNode(),s=this.state.inType;e.params=[],this.state.inType=!0,this.expect(47);let i=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=i,this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){let e=this.startNode(),s=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){let e=this.startNode();if(this.expectContextual(127),e.extends=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(132)||this.match(131)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,s,i){return e.static=s,this.lookahead().type===14?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=i,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,s){return e.static=s,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,s){let i=this.startNode();return e.static=s,e.value=this.flowParseObjectTypeMethodish(i),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType(e){let{allowStatic:s,allowExact:i,allowSpread:a,allowProto:n,allowInexact:o}=e,u=this.state.inType;this.state.inType=!0;let c=this.startNode();c.callProperties=[],c.properties=[],c.indexers=[],c.internalSlots=[];let y,g,T=!1;for(i&&this.match(6)?(this.expect(6),y=9,g=!0):(this.expect(5),y=8,g=!1),c.exact=g;!this.match(y);){let M=!1,j=null,K=null,W=this.startNode();if(n&&this.isContextual(116)){let X=this.lookahead();X.type!==14&&X.type!==17&&(this.next(),j=this.state.startLoc,s=!1)}if(s&&this.isContextual(104)){let X=this.lookahead();X.type!==14&&X.type!==17&&(this.next(),M=!0)}let V=this.flowParseVariance();if(this.eat(0))j!=null&&this.unexpected(j),this.eat(0)?(V&&this.unexpected(V.loc.start),c.internalSlots.push(this.flowParseObjectTypeInternalSlot(W,M))):c.indexers.push(this.flowParseObjectTypeIndexer(W,M,V));else if(this.match(10)||this.match(47))j!=null&&this.unexpected(j),V&&this.unexpected(V.loc.start),c.callProperties.push(this.flowParseObjectTypeCallProperty(W,M));else{let X="init";if(this.isContextual(98)||this.isContextual(103)){let Nh=this.lookahead();it(Nh.type)&&(X=this.state.value,this.next())}let je=this.flowParseObjectTypeProperty(W,M,j,V,X,a,o!=null?o:!g);je===null?(T=!0,K=this.state.lastTokStartLoc):c.properties.push(je)}this.flowObjectTypeSemicolon(),K&&!this.match(8)&&!this.match(9)&&this.raise(D.UnexpectedExplicitInexactInObject,{at:K})}this.expect(y),a&&(c.inexact=T);let C=this.finishNode(c,"ObjectTypeAnnotation");return this.state.inType=u,C}flowParseObjectTypeProperty(e,s,i,a,n,o,u){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(o?u||this.raise(D.InexactInsideExact,{at:this.state.lastTokStartLoc}):this.raise(D.InexactInsideNonObject,{at:this.state.lastTokStartLoc}),a&&this.raise(D.InexactVariance,{at:a}),null):(o||this.raise(D.UnexpectedSpreadType,{at:this.state.lastTokStartLoc}),i!=null&&this.unexpected(i),a&&this.raise(D.SpreadVariance,{at:a}),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=s,e.proto=i!=null,e.kind=n;let c=!1;return this.match(47)||this.match(10)?(e.method=!0,i!=null&&this.unexpected(i),a&&this.unexpected(a.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start)),(n==="get"||n==="set")&&this.flowCheckGetterSetterParams(e),!o&&e.key.name==="constructor"&&e.value.this&&this.raise(D.ThisParamBannedInConstructor,{at:e.value.this})):(n!=="init"&&this.unexpected(),e.method=!1,this.eat(17)&&(c=!0),e.value=this.flowParseTypeInitialiser(),e.variance=a),e.optional=c,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){let s=e.kind==="get"?0:1,i=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.kind==="get"?D.GetterMayNotHaveThisParam:D.SetterMayNotHaveThisParam,{at:e.value.this}),i!==s&&this.raise(e.kind==="get"?f.BadGetterArity:f.BadSetterArity,{at:e}),e.kind==="set"&&e.value.rest&&this.raise(f.BadSetterRestParameter,{at:e})}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(e,s){var i;(i=e)!=null||(e=this.state.startLoc);let a=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let n=this.startNodeAt(e);n.qualification=a,n.id=this.flowParseRestrictedIdentifier(!0),a=this.finishNode(n,"QualifiedTypeIdentifier")}return a}flowParseGenericType(e,s){let i=this.startNodeAt(e);return i.typeParameters=null,i.id=this.flowParseQualifiedTypeIdentifier(e,s),this.match(47)&&(i.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(i,"GenericTypeAnnotation")}flowParseTypeofType(){let e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){let e=this.startNode();for(e.types=[],this.expect(0);this.state.pos0&&arguments[0]!==void 0?arguments[0]:[],s=null,i=null;for(this.match(78)&&(i=this.flowParseFunctionTypeParam(!0),i.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(s=this.flowParseFunctionTypeParam(!1)),{params:e,rest:s,_this:i}}flowIdentToTypeAnnotation(e,s,i){switch(i.name){case"any":return this.finishNode(s,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(s,"BooleanTypeAnnotation");case"mixed":return this.finishNode(s,"MixedTypeAnnotation");case"empty":return this.finishNode(s,"EmptyTypeAnnotation");case"number":return this.finishNode(s,"NumberTypeAnnotation");case"string":return this.finishNode(s,"StringTypeAnnotation");case"symbol":return this.finishNode(s,"SymbolTypeAnnotation");default:return this.checkNotUnderscore(i.name),this.flowParseGenericType(e,i)}}flowParsePrimaryType(){let e=this.state.startLoc,s=this.startNode(),i,a,n=!1,o=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 6:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,a=this.flowParseTupleType(),this.state.noAnonFunctionType=o,a;case 47:return s.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(10),i=this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),this.finishNode(s,"FunctionTypeAnnotation");case 10:if(this.next(),!this.match(11)&&!this.match(21))if(q(this.state.type)||this.match(78)){let u=this.lookahead().type;n=u!==17&&u!==14}else n=!0;if(n){if(this.state.noAnonFunctionType=!1,a=this.flowParseType(),this.state.noAnonFunctionType=o,this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&this.lookahead().type===19))return this.expect(11),a;this.eat(12)}return a?i=this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]):i=this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation");case 131:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case 85:case 86:return s.value=this.match(85),this.next(),this.finishNode(s,"BooleanLiteralTypeAnnotation");case 53:if(this.state.value==="-"){if(this.next(),this.match(132))return this.parseLiteralAtNode(-this.state.value,"NumberLiteralTypeAnnotation",s);if(this.match(133))return this.parseLiteralAtNode(-this.state.value,"BigIntLiteralTypeAnnotation",s);throw this.raise(D.UnexpectedSubtractionOperand,{at:this.state.startLoc})}this.unexpected();return;case 132:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case 133:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case 88:return this.next(),this.finishNode(s,"VoidTypeAnnotation");case 84:return this.next(),this.finishNode(s,"NullLiteralTypeAnnotation");case 78:return this.next(),this.finishNode(s,"ThisTypeAnnotation");case 55:return this.next(),this.finishNode(s,"ExistsTypeAnnotation");case 87:return this.flowParseTypeofType();default:if($t(this.state.type)){let u=xe(this.state.type);return this.next(),super.createIdentifier(s,u)}else if(q(this.state.type))return this.isContextual(127)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(e,s,this.parseIdentifier())}this.unexpected()}flowParsePostfixType(){let e=this.state.startLoc,s=this.flowParsePrimaryType(),i=!1;for(;(this.match(0)||this.match(18))&&!this.canInsertSemicolon();){let a=this.startNodeAt(e),n=this.eat(18);i=i||n,this.expect(0),!n&&this.match(3)?(a.elementType=s,this.next(),s=this.finishNode(a,"ArrayTypeAnnotation")):(a.objectType=s,a.indexType=this.flowParseType(),this.expect(3),i?(a.optional=n,s=this.finishNode(a,"OptionalIndexedAccessType")):s=this.finishNode(a,"IndexedAccessType"))}return s}flowParsePrefixType(){let e=this.startNode();return this.eat(17)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){let e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){let s=this.startNodeAt(e.loc.start);return s.params=[this.reinterpretTypeAsFunctionTypeParam(e)],s.rest=null,s.this=null,s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation")}return e}flowParseIntersectionType(){let e=this.startNode();this.eat(45);let s=this.flowParseAnonFunctionWithoutParens();for(e.types=[s];this.eat(45);)e.types.push(this.flowParseAnonFunctionWithoutParens());return e.types.length===1?s:this.finishNode(e,"IntersectionTypeAnnotation")}flowParseUnionType(){let e=this.startNode();this.eat(43);let s=this.flowParseIntersectionType();for(e.types=[s];this.eat(43);)e.types.push(this.flowParseIntersectionType());return e.types.length===1?s:this.finishNode(e,"UnionTypeAnnotation")}flowParseType(){let e=this.state.inType;this.state.inType=!0;let s=this.flowParseUnionType();return this.state.inType=e,s}flowParseTypeOrImplicitInstantiation(){if(this.state.type===130&&this.state.value==="_"){let e=this.state.startLoc,s=this.parseIdentifier();return this.flowParseGenericType(e,s)}else return this.flowParseType()}flowParseTypeAnnotation(){let e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")}flowParseTypeAnnotatableIdentifier(e){let s=e?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(14)&&(s.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(s)),s}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}flowParseVariance(){let e=null;return this.match(53)?(e=this.startNode(),this.state.value==="+"?e.kind="plus":e.kind="minus",this.next(),this.finishNode(e,"Variance")):e}parseFunctionBody(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(s){this.forwardNoArrowParamsConversionAt(e,()=>super.parseFunctionBody(e,!0,i));return}super.parseFunctionBody(e,!1,i)}parseFunctionBodyAndFinish(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this.match(14)){let a=this.startNode();[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=a.typeAnnotation?this.finishNode(a,"TypeAnnotation"):null}return super.parseFunctionBodyAndFinish(e,s,i)}parseStatementLike(e){if(this.state.strict&&this.isContextual(127)){let i=this.lookahead();if(te(i.type)){let a=this.startNode();return this.next(),this.flowParseInterface(a)}}else if(this.shouldParseEnums()&&this.isContextual(124)){let i=this.startNode();return this.next(),this.flowParseEnumDeclaration(i)}let s=super.parseStatementLike(e);return this.flowPragma===void 0&&!this.isValidDirective(s)&&(this.flowPragma=null),s}parseExpressionStatement(e,s,i){if(s.type==="Identifier"){if(s.name==="declare"){if(this.match(80)||q(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(q(this.state.type)){if(s.name==="interface")return this.flowParseInterface(e);if(s.name==="type")return this.flowParseTypeAlias(e);if(s.name==="opaque")return this.flowParseOpaqueType(e,!1)}}return super.parseExpressionStatement(e,s,i)}shouldParseExportDeclaration(){let{type:e}=this.state;return hr(e)||this.shouldParseEnums()&&e===124?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:e}=this.state;return hr(e)||this.shouldParseEnums()&&e===124?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(124)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,s,i){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let T=this.lookaheadCharCode();if(T===44||T===61||T===58||T===41)return this.setOptionalParametersError(i),e}this.expect(17);let a=this.state.clone(),n=this.state.noArrowAt,o=this.startNodeAt(s),{consequent:u,failed:c}=this.tryParseConditionalConsequent(),[y,g]=this.getArrowLikeExpressions(u);if(c||g.length>0){let T=[...n];if(g.length>0){this.state=a,this.state.noArrowAt=T;for(let C=0;C1&&this.raise(D.AmbiguousConditionalArrow,{at:a.startLoc}),c&&y.length===1&&(this.state=a,T.push(y[0].start),this.state.noArrowAt=T,{consequent:u,failed:c}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions(u,!0),this.state.noArrowAt=n,this.expect(14),o.test=e,o.consequent=u,o.alternate=this.forwardNoArrowParamsConversionAt(o,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(o,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let e=this.parseMaybeAssignAllowIn(),s=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:s}}getArrowLikeExpressions(e,s){let i=[e],a=[];for(;i.length!==0;){let n=i.pop();n.type==="ArrowFunctionExpression"?(n.typeParameters||!n.returnType?this.finishArrowValidation(n):a.push(n),i.push(n.body)):n.type==="ConditionalExpression"&&(i.push(n.consequent),i.push(n.alternate))}return s?(a.forEach(n=>this.finishArrowValidation(n)),[a,[]]):Yl(a,n=>n.params.every(o=>this.isAssignable(o,!0)))}finishArrowValidation(e){var s;this.toAssignableList(e.params,(s=e.extra)==null?void 0:s.trailingCommaLoc,!1),this.scope.enter(de|Gt),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,s){let i;return this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?(this.state.noArrowParamsConversionAt.push(this.state.start),i=s(),this.state.noArrowParamsConversionAt.pop()):i=s(),i}parseParenItem(e,s){if(e=super.parseParenItem(e,s),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){let i=this.startNodeAt(s);return i.expression=e,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){e.type==="ImportDeclaration"&&(e.importKind==="type"||e.importKind==="typeof")||e.type==="ExportNamedDeclaration"&&e.exportKind==="type"||e.type==="ExportAllDeclaration"&&e.exportKind==="type"||super.assertModuleNodeAllowed(e)}parseExport(e,s){let i=super.parseExport(e,s);return(i.type==="ExportNamedDeclaration"||i.type==="ExportAllDeclaration")&&(i.exportKind=i.exportKind||"value"),i}parseExportDeclaration(e){if(this.isContextual(128)){e.exportKind="type";let s=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(e),null):this.flowParseTypeAlias(s)}else if(this.isContextual(129)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseOpaqueType(s,!1)}else if(this.isContextual(127)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseInterface(s)}else if(this.shouldParseEnums()&&this.isContextual(124)){e.exportKind="value";let s=this.startNode();return this.next(),this.flowParseEnumDeclaration(s)}else return super.parseExportDeclaration(e)}eatExportStar(e){return super.eatExportStar(e)?!0:this.isContextual(128)&&this.lookahead().type===55?(e.exportKind="type",this.next(),this.next(),!0):!1}maybeParseExportNamespaceSpecifier(e){let{startLoc:s}=this.state,i=super.maybeParseExportNamespaceSpecifier(e);return i&&e.exportKind==="type"&&this.unexpected(s),i}parseClassId(e,s,i){super.parseClassId(e,s,i),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,s,i){let{startLoc:a}=this.state;if(this.isContextual(123)){if(super.parseClassMemberFromModifier(e,s))return;s.declare=!0}super.parseClassMember(e,s,i),s.declare&&(s.type!=="ClassProperty"&&s.type!=="ClassPrivateProperty"&&s.type!=="PropertyDefinition"?this.raise(D.DeclareClassElement,{at:a}):s.value&&this.raise(D.DeclareClassFieldInitializer,{at:s.value}))}isIterator(e){return e==="iterator"||e==="asyncIterator"}readIterator(){let e=super.readWord1(),s="@@"+e;(!this.isIterator(e)||!this.state.inType)&&this.raise(f.InvalidIdentifier,{at:this.state.curPosition(),identifierName:s}),this.finishToken(130,s)}getTokenFromCode(e){let s=this.input.charCodeAt(this.state.pos+1);e===123&&s===124?this.finishOp(6,2):this.state.inType&&(e===62||e===60)?this.finishOp(e===62?48:47,1):this.state.inType&&e===63?s===46?this.finishOp(18,2):this.finishOp(17,1):ll(e,s,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e)}isAssignable(e,s){return e.type==="TypeCastExpression"?this.isAssignable(e.expression,s):super.isAssignable(e,s)}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;!s&&e.type==="AssignmentExpression"&&e.left.type==="TypeCastExpression"&&(e.left=this.typeCastToParameter(e.left)),super.toAssignable(e,s)}toAssignableList(e,s,i){for(let a=0;a1||!s)&&this.raise(D.TypeCastInPattern,{at:n.typeAnnotation})}return e}parseArrayLike(e,s,i,a){let n=super.parseArrayLike(e,s,i,a);return s&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}isValidLVal(e,s,i){return e==="TypeCastExpression"||super.isValidLVal(e,s,i)}parseClassProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(14)&&super.isNonstaticConstructor(e)}pushClassMethod(e,s,i,a,n,o){if(s.variance&&this.unexpected(s.variance.loc.start),delete s.variance,this.match(47)&&(s.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,s,i,a,n,o),s.params&&n){let u=s.params;u.length>0&&this.isThisParam(u[0])&&this.raise(D.ThisParamBannedInConstructor,{at:s})}else if(s.type==="MethodDefinition"&&n&&s.value.params){let u=s.value.params;u.length>0&&this.isThisParam(u[0])&&this.raise(D.ThisParamBannedInConstructor,{at:s})}}pushClassPrivateMethod(e,s,i,a){s.variance&&this.unexpected(s.variance.loc.start),delete s.variance,this.match(47)&&(s.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,s,i,a)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.match(47)&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(111)){this.next();let s=e.implements=[];do{let i=this.startNode();i.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?i.typeParameters=this.flowParseTypeParameterInstantiation():i.typeParameters=null,s.push(this.finishNode(i,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);let s=this.getObjectOrClassMethodParams(e);if(s.length>0){let i=s[0];this.isThisParam(i)&&e.kind==="get"?this.raise(D.GetterMayNotHaveThisParam,{at:i}):this.isThisParam(i)&&this.raise(D.SetterMayNotHaveThisParam,{at:i})}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,s,i,a,n,o,u){e.variance&&this.unexpected(e.variance.loc.start),delete e.variance;let c;this.match(47)&&!o&&(c=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());let y=super.parseObjPropValue(e,s,i,a,n,o,u);return c&&((y.value||y).typeParameters=c),y}parseAssignableListItemTypes(e){return this.eat(17)&&(e.type!=="Identifier"&&this.raise(D.PatternIsOptional,{at:e}),this.isThisParam(e)&&this.raise(D.ThisParamMayNotBeOptional,{at:e}),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(D.ThisParamAnnotationRequired,{at:e}),this.match(29)&&this.isThisParam(e)&&this.raise(D.ThisParamNoDefault,{at:e}),this.resetEndLocation(e),e}parseMaybeDefault(e,s){let i=super.parseMaybeDefault(e,s);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startsuper.parseMaybeAssign(e,s),a),!n.error)return n.node;let{context:c}=this.state,y=c[c.length-1];(y===x.j_oTag||y===x.j_expr)&&c.pop()}if((i=n)!=null&&i.error||this.match(47)){var o,u;a=a||this.state.clone();let c,y=this.tryParse(T=>{var C;c=this.flowParseTypeParameterDeclaration();let M=this.forwardNoArrowParamsConversionAt(c,()=>{let K=super.parseMaybeAssign(e,s);return this.resetStartLocationFromNode(K,c),K});(C=M.extra)!=null&&C.parenthesized&&T();let j=this.maybeUnwrapTypeCastExpression(M);return j.type!=="ArrowFunctionExpression"&&T(),j.typeParameters=c,this.resetStartLocationFromNode(j,c),M},a),g=null;if(y.node&&this.maybeUnwrapTypeCastExpression(y.node).type==="ArrowFunctionExpression"){if(!y.error&&!y.aborted)return y.node.async&&this.raise(D.UnexpectedTypeParameterBeforeAsyncArrowFunction,{at:c}),y.node;g=y.node}if((o=n)!=null&&o.node)return this.state=n.failState,n.node;if(g)return this.state=y.failState,g;throw(u=n)!=null&&u.thrown?n.error:y.thrown?y.error:this.raise(D.UnexpectedTokenAfterTypeParameter,{at:c})}return super.parseMaybeAssign(e,s)}parseArrow(e){if(this.match(14)){let s=this.tryParse(()=>{let i=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let a=this.startNode();return[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=i,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),a});if(s.thrown)return null;s.error&&(this.state=s.failState),e.returnType=s.node.typeAnnotation?this.finishNode(s.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(14)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,s){this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?e.params=s:super.setArrowFunctionParameters(e,s)}checkParams(e,s,i){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;if(!(i&&this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1)){for(let n=0;n0&&this.raise(D.ThisParamMustBeFirst,{at:e.params[n]});super.checkParams(e,s,i,a)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&this.state.noArrowAt.indexOf(this.state.start)===-1)}parseSubscripts(e,s,i){if(e.type==="Identifier"&&e.name==="async"&&this.state.noArrowAt.indexOf(s.index)!==-1){this.next();let a=this.startNodeAt(s);a.callee=e,a.arguments=super.parseCallExpressionArguments(11,!1),e=this.finishNode(a,"CallExpression")}else if(e.type==="Identifier"&&e.name==="async"&&this.match(47)){let a=this.state.clone(),n=this.tryParse(u=>this.parseAsyncArrowWithTypeParameters(s)||u(),a);if(!n.error&&!n.aborted)return n.node;let o=this.tryParse(()=>super.parseSubscripts(e,s,i),a);if(o.node&&!o.error)return o.node;if(n.node)return this.state=n.failState,n.node;if(o.node)return this.state=o.failState,o.node;throw n.error||o.error}return super.parseSubscripts(e,s,i)}parseSubscript(e,s,i,a){if(this.match(18)&&this.isLookaheadToken_lt()){if(a.optionalChainMember=!0,i)return a.stop=!0,e;this.next();let n=this.startNodeAt(s);return n.callee=e,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),n.arguments=this.parseCallExpressionArguments(11,!1),n.optional=!0,this.finishCallExpression(n,!0)}else if(!i&&this.shouldParseTypes()&&this.match(47)){let n=this.startNodeAt(s);n.callee=e;let o=this.tryParse(()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),n.arguments=super.parseCallExpressionArguments(11,!1),a.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,a.optionalChainMember)));if(o.node)return o.error&&(this.state=o.failState),o.node}return super.parseSubscript(e,s,i,a)}parseNewCallee(e){super.parseNewCallee(e);let s=null;this.shouldParseTypes()&&this.match(47)&&(s=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=s}parseAsyncArrowWithTypeParameters(e){let s=this.startNodeAt(e);if(this.parseFunctionParams(s,!1),!!this.parseArrow(s))return super.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(e){let s=this.input.charCodeAt(this.state.pos+1);if(e===42&&s===47&&this.state.hasFlowComment){this.state.hasFlowComment=!1,this.state.pos+=2,this.nextToken();return}super.readToken_mult_modulo(e)}readToken_pipe_amp(e){let s=this.input.charCodeAt(this.state.pos+1);if(e===124&&s===125){this.finishOp(9,2);return}super.readToken_pipe_amp(e)}parseTopLevel(e,s){let i=super.parseTopLevel(e,s);return this.state.hasFlowComment&&this.raise(D.UnterminatedFlowComment,{at:this.state.curPosition()}),i}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(D.NestedFlowComment,{at:this.state.startLoc});this.hasFlowCommentCompletion();let e=this.skipFlowComment();e&&(this.state.pos+=e,this.state.hasFlowComment=!0);return}return super.skipBlockComment(this.state.hasFlowComment?"*-/":"*/")}skipFlowComment(){let{pos:e}=this.state,s=2;for(;[32,9].includes(this.input.charCodeAt(e+s));)s++;let i=this.input.charCodeAt(s+e),a=this.input.charCodeAt(s+e+1);return i===58&&a===58?s+2:this.input.slice(s+e,s+e+12)==="flow-include"?s+12:i===58&&a!==58?s:!1}hasFlowCommentCompletion(){if(this.input.indexOf("*/",this.state.pos)===-1)throw this.raise(f.UnterminatedComment,{at:this.state.curPosition()})}flowEnumErrorBooleanMemberNotInitialized(e,s){let{enumName:i,memberName:a}=s;this.raise(D.EnumBooleanMemberNotInitialized,{at:e,memberName:a,enumName:i})}flowEnumErrorInvalidMemberInitializer(e,s){return this.raise(s.explicitType?s.explicitType==="symbol"?D.EnumInvalidMemberInitializerSymbolType:D.EnumInvalidMemberInitializerPrimaryType:D.EnumInvalidMemberInitializerUnknownType,Object.assign({at:e},s))}flowEnumErrorNumberMemberNotInitialized(e,s){let{enumName:i,memberName:a}=s;this.raise(D.EnumNumberMemberNotInitialized,{at:e,enumName:i,memberName:a})}flowEnumErrorStringMemberInconsistentlyInitailized(e,s){let{enumName:i}=s;this.raise(D.EnumStringMemberInconsistentlyInitailized,{at:e,enumName:i})}flowEnumMemberInit(){let e=this.state.startLoc,s=()=>this.match(12)||this.match(8);switch(this.state.type){case 132:{let i=this.parseNumericLiteral(this.state.value);return s()?{type:"number",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}case 131:{let i=this.parseStringLiteral(this.state.value);return s()?{type:"string",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}case 85:case 86:{let i=this.parseBooleanLiteral(this.match(85));return s()?{type:"boolean",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}default:return{type:"invalid",loc:e}}}flowEnumMemberRaw(){let e=this.state.startLoc,s=this.parseIdentifier(!0),i=this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:e};return{id:s,init:i}}flowEnumCheckExplicitTypeMismatch(e,s,i){let{explicitType:a}=s;a!==null&&a!==i&&this.flowEnumErrorInvalidMemberInitializer(e,s)}flowEnumMembers(e){let{enumName:s,explicitType:i}=e,a=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},o=!1;for(;!this.match(8);){if(this.eat(21)){o=!0;break}let u=this.startNode(),{id:c,init:y}=this.flowEnumMemberRaw(),g=c.name;if(g==="")continue;/^[a-z]/.test(g)&&this.raise(D.EnumInvalidMemberName,{at:c,memberName:g,suggestion:g[0].toUpperCase()+g.slice(1),enumName:s}),a.has(g)&&this.raise(D.EnumDuplicateMemberName,{at:c,memberName:g,enumName:s}),a.add(g);let T={enumName:s,explicitType:i,memberName:g};switch(u.id=c,y.type){case"boolean":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"boolean"),u.init=y.value,n.booleanMembers.push(this.finishNode(u,"EnumBooleanMember"));break}case"number":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"number"),u.init=y.value,n.numberMembers.push(this.finishNode(u,"EnumNumberMember"));break}case"string":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"string"),u.init=y.value,n.stringMembers.push(this.finishNode(u,"EnumStringMember"));break}case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(y.loc,T);case"none":switch(i){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(y.loc,T);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(y.loc,T);break;default:n.defaultedMembers.push(this.finishNode(u,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:n,hasUnknownMembers:o}}flowEnumStringMembers(e,s,i){let{enumName:a}=i;if(e.length===0)return s;if(s.length===0)return e;if(s.length>e.length){for(let n of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(n,{enumName:a});return s}else{for(let n of s)this.flowEnumErrorStringMemberInconsistentlyInitailized(n,{enumName:a});return e}}flowEnumParseExplicitType(e){let{enumName:s}=e;if(!this.eatContextual(101))return null;if(!q(this.state.type))throw this.raise(D.EnumInvalidExplicitTypeUnknownSupplied,{at:this.state.startLoc,enumName:s});let{value:i}=this.state;return this.next(),i!=="boolean"&&i!=="number"&&i!=="string"&&i!=="symbol"&&this.raise(D.EnumInvalidExplicitType,{at:this.state.startLoc,enumName:s,invalidEnumType:i}),i}flowEnumBody(e,s){let i=s.name,a=s.loc.start,n=this.flowEnumParseExplicitType({enumName:i});this.expect(5);let{members:o,hasUnknownMembers:u}=this.flowEnumMembers({enumName:i,explicitType:n});switch(e.hasUnknownMembers=u,n){case"boolean":return e.explicitType=!0,e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=o.defaultedMembers,this.expect(8),this.finishNode(e,"EnumSymbolBody");default:{let c=()=>(e.members=[],this.expect(8),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;let y=o.booleanMembers.length,g=o.numberMembers.length,T=o.stringMembers.length,C=o.defaultedMembers.length;if(!y&&!g&&!T&&!C)return c();if(!y&&!g)return e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(e,"EnumStringBody");if(!g&&!T&&y>=C){for(let M of o.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(M.loc.start,{enumName:i,memberName:M.id.name});return e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody")}else if(!y&&!T&&g>=C){for(let M of o.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(M.loc.start,{enumName:i,memberName:M.id.name});return e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody")}else return this.raise(D.EnumInconsistentMemberValues,{at:a,enumName:i}),c()}}}flowParseEnumDeclaration(e){let s=this.parseIdentifier();return e.id=s,e.body=this.flowEnumBody(this.startNode(),s),this.finishNode(e,"EnumDeclaration")}isLookaheadToken_lt(){let e=this.nextTokenStart();if(this.input.charCodeAt(e)===60){let s=this.input.charCodeAt(e+1);return s!==60&&s!==61}return!1}maybeUnwrapTypeCastExpression(e){return e.type==="TypeCastExpression"?e.expression:e}},eh={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},Se=pe`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:t=>{let{openingTagName:r}=t;return`Expected corresponding JSX closing tag for <${r}>.`},MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:t=>{let{unexpected:r,HTMLEntity:e}=t;return`Unexpected token \`${r}\`. Did you mean \`${e}\` or \`{'${r}'}\`?`},UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function Te(t){return t?t.type==="JSXOpeningFragment"||t.type==="JSXClosingFragment":!1}function Re(t){if(t.type==="JSXIdentifier")return t.name;if(t.type==="JSXNamespacedName")return t.namespace.name+":"+t.name.name;if(t.type==="JSXMemberExpression")return Re(t.object)+"."+Re(t.property);throw new Error("Node had unexpected type: "+t.type)}var th=t=>class extends t{jsxReadToken(){let e="",s=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(Se.UnterminatedJsxContent,{at:this.state.startLoc});let i=this.input.charCodeAt(this.state.pos);switch(i){case 60:case 123:if(this.state.pos===this.state.start){i===60&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(140)):super.getTokenFromCode(i);return}e+=this.input.slice(s,this.state.pos),this.finishToken(139,e);return;case 38:e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos;break;case 62:case 125:default:Ge(i)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!0),s=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){let s=this.input.charCodeAt(this.state.pos),i;return++this.state.pos,s===13&&this.input.charCodeAt(this.state.pos)===10?(++this.state.pos,i=e?` -`:`\r -`):i=String.fromCharCode(s),++this.state.curLine,this.state.lineStart=this.state.pos,i}jsxReadString(e){let s="",i=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(f.UnterminatedString,{at:this.state.startLoc});let a=this.input.charCodeAt(this.state.pos);if(a===e)break;a===38?(s+=this.input.slice(i,this.state.pos),s+=this.jsxReadEntity(),i=this.state.pos):Ge(a)?(s+=this.input.slice(i,this.state.pos),s+=this.jsxReadNewLine(!1),i=this.state.pos):++this.state.pos}s+=this.input.slice(i,this.state.pos++),this.finishToken(131,s)}jsxReadEntity(){let e=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;let s=10;this.codePointAtPos(this.state.pos)===120&&(s=16,++this.state.pos);let i=this.readInt(s,void 0,!1,"bail");if(i!==null&&this.codePointAtPos(this.state.pos)===59)return++this.state.pos,String.fromCodePoint(i)}else{let s=0,i=!1;for(;s++<10&&this.state.pos1){for(let s=0;s=0;s--){let i=this.scopeStack[s];if(i.types.has(r)||i.exportOnlyBindings.has(r))return}super.checkLocalExport(t)}},ih=(t,r)=>Object.hasOwnProperty.call(t,r)&&t[r],Ur=t=>t.type==="ParenthesizedExpression"?Ur(t.expression):t,ah=class extends Wl{toAssignable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var e,s;let i;switch((t.type==="ParenthesizedExpression"||(e=t.extra)!=null&&e.parenthesized)&&(i=Ur(t),r?i.type==="Identifier"?this.expressionScope.recordArrowParameterBindingError(f.InvalidParenthesizedAssignment,{at:t}):i.type!=="MemberExpression"&&this.raise(f.InvalidParenthesizedAssignment,{at:t}):this.raise(f.InvalidParenthesizedAssignment,{at:t})),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern";for(let n=0,o=t.properties.length,u=o-1;ns.type!=="ObjectMethod"&&(i===e||s.type!=="SpreadElement")&&this.isAssignable(s))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every(e=>e===null||this.isAssignable(e));case"AssignmentExpression":return t.operator==="=";case"ParenthesizedExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!r;default:return!1}}toReferencedList(t,r){return t}toReferencedListDeep(t,r){this.toReferencedList(t,r);for(let e of t)(e==null?void 0:e.type)==="ArrayExpression"&&this.toReferencedListDeep(e.elements)}parseSpread(t){let r=this.startNode();return this.next(),r.argument=this.parseMaybeAssignAllowIn(t,void 0),this.finishNode(r,"SpreadElement")}parseRestBinding(){let t=this.startNode();return this.next(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{let t=this.startNode();return this.next(),t.elements=this.parseBindingList(3,93,1),this.finishNode(t,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}parseBindingList(t,r,e){let s=e&1,i=[],a=!0;for(;!this.eat(t);)if(a?a=!1:this.expect(12),s&&this.match(12))i.push(null);else{if(this.eat(t))break;if(this.match(21)){if(i.push(this.parseAssignableListItemTypes(this.parseRestBinding(),e)),!this.checkCommaAfterRest(r)){this.expect(t);break}}else{let n=[];for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(f.UnsupportedParameterDecorator,{at:this.state.startLoc});this.match(26);)n.push(this.parseDecorator());i.push(this.parseAssignableListItem(e,n))}}return i}parseBindingRestProperty(t){return this.next(),t.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(t,"RestElement")}parseBindingProperty(){let t=this.startNode(),{type:r,startLoc:e}=this.state;return r===21?this.parseBindingRestProperty(t):(r===136?(this.expectPlugin("destructuringPrivate",e),this.classScope.usePrivateName(this.state.value,e),t.key=this.parsePrivateName()):this.parsePropertyName(t),t.method=!1,this.parseObjPropValue(t,e,!1,!1,!0,!1))}parseAssignableListItem(t,r){let e=this.parseMaybeDefault();this.parseAssignableListItemTypes(e,t);let s=this.parseMaybeDefault(e.loc.start,e);return r.length&&(e.decorators=r),s}parseAssignableListItemTypes(t,r){return t}parseMaybeDefault(t,r){var e,s;if((e=t)!=null||(t=this.state.startLoc),r=(s=r)!=null?s:this.parseBindingAtom(),!this.eat(29))return r;let i=this.startNodeAt(t);return i.left=r,i.right=this.parseMaybeAssignAllowIn(),this.finishNode(i,"AssignmentPattern")}isValidLVal(t,r,e){return ih({AssignmentPattern:"left",RestElement:"argument",ObjectProperty:"value",ParenthesizedExpression:"expression",ArrayPattern:"elements",ObjectPattern:"properties"},t)}checkLVal(t,r){let{in:e,binding:s=Pe,checkClashes:i=!1,strictModeChanged:a=!1,hasParenthesizedAncestor:n=!1}=r;var o;let u=t.type;if(this.isObjectMethod(t))return;if(u==="MemberExpression"){s!==Pe&&this.raise(f.InvalidPropertyBindingPattern,{at:t});return}if(u==="Identifier"){this.checkIdentifier(t,s,a);let{name:C}=t;i&&(i.has(C)?this.raise(f.ParamDupe,{at:t}):i.add(C));return}let c=this.isValidLVal(u,!(n||(o=t.extra)!=null&&o.parenthesized)&&e.type==="AssignmentExpression",s);if(c===!0)return;if(c===!1){let C=s===Pe?f.InvalidLhs:f.InvalidLhsBinding;this.raise(C,{at:t,ancestor:e});return}let[y,g]=Array.isArray(c)?c:[c,u==="ParenthesizedExpression"],T=u==="ArrayPattern"||u==="ObjectPattern"||u==="ParenthesizedExpression"?{type:u}:e;for(let C of[].concat(t[y]))C&&this.checkLVal(C,{in:T,binding:s,checkClashes:i,strictModeChanged:a,hasParenthesizedAncestor:g})}checkIdentifier(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.state.strict&&(e?xr(t.name,this.inModule):yr(t.name))&&(r===Pe?this.raise(f.StrictEvalArguments,{at:t,referenceName:t.name}):this.raise(f.StrictEvalArgumentsBinding,{at:t,bindingName:t.name})),r&dt&&t.name==="let"&&this.raise(f.LetInLexicalBinding,{at:t}),r&Pe||this.declareNameFromIdentifier(t,r)}declareNameFromIdentifier(t,r){this.scope.declareName(t.name,r,t.loc.start)}checkToRestConversion(t,r){switch(t.type){case"ParenthesizedExpression":this.checkToRestConversion(t.expression,r);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(r)break;default:this.raise(f.InvalidRestAssignmentPattern,{at:t})}}checkCommaAfterRest(t){return this.match(12)?(this.raise(this.lookaheadCharCode()===t?f.RestTrailingComma:f.ElementAfterRest,{at:this.state.startLoc}),!0):!1}},nh=(t,r)=>Object.hasOwnProperty.call(t,r)&&t[r];function oh(t){if(t==null)throw new Error(`Unexpected ${t} value.`);return t}function $r(t){if(!t)throw new Error("Assert fail")}var I=pe`typescript`({AbstractMethodHasImplementation:t=>{let{methodName:r}=t;return`Method '${r}' cannot have an implementation because it is marked abstract.`},AbstractPropertyHasInitializer:t=>{let{propertyName:r}=t;return`Property '${r}' cannot have an initializer because it is marked abstract.`},AccesorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:t=>{let{kind:r}=t;return`'declare' is not allowed in ${r}ters.`},DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:t=>{let{modifier:r}=t;return"Accessibility modifier already seen."},DuplicateModifier:t=>{let{modifier:r}=t;return`Duplicate modifier: '${r}'.`},EmptyHeritageClauseType:t=>{let{token:r}=t;return`'${r}' list cannot be empty.`},EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:t=>{let{modifiers:r}=t;return`'${r[0]}' modifier cannot be used with '${r[1]}' modifier.`},IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:t=>{let{modifier:r}=t;return`Index signatures cannot have an accessibility modifier ('${r}').`},IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidModifierOnTypeMember:t=>{let{modifier:r}=t;return`'${r}' modifier cannot appear on a type member.`},InvalidModifierOnTypeParameter:t=>{let{modifier:r}=t;return`'${r}' modifier cannot appear on a type parameter.`},InvalidModifierOnTypeParameterPositions:t=>{let{modifier:r}=t;return`'${r}' modifier can only appear on a type parameter of a class, interface or type alias.`},InvalidModifiersOrder:t=>{let{orderedModifiers:r}=t;return`'${r[0]}' modifier must precede '${r[1]}' modifier.`},InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:t=>{let{modifier:r}=t;return`Private elements cannot have an accessibility modifier ('${r}').`},ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccesorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:t=>{let{typeParameterName:r}=t;return`Single type parameter ${r} should have a trailing comma. Example usage: <${r},>.`},StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:t=>{let{type:r}=t;return`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${r}.`}});function lh(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function Hr(t){return t==="private"||t==="public"||t==="protected"}function hh(t){return t==="in"||t==="out"}var uh=t=>class extends t{constructor(){super(...arguments),this.tsParseInOutModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:I.InvalidModifierOnTypeParameter}),this.tsParseConstModifier=this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:I.InvalidModifierOnTypeParameterPositions}),this.tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:I.InvalidModifierOnTypeParameter})}getScopeHandler(){return rh}tsIsIdentifier(){return q(this.state.type)}tsTokenCanFollowModifier(){return(this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(136)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e,s){if(!q(this.state.type)&&this.state.type!==58&&this.state.type!==75)return;let i=this.state.value;if(e.indexOf(i)!==-1){if(s&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return i}}tsParseModifiers(e,s){let{allowedModifiers:i,disallowedModifiers:a,stopOnStartOfClassStaticBlock:n,errorTemplate:o=I.InvalidModifierOnTypeMember}=e,u=(y,g,T,C)=>{g===T&&s[C]&&this.raise(I.InvalidModifiersOrder,{at:y,orderedModifiers:[T,C]})},c=(y,g,T,C)=>{(s[T]&&g===C||s[C]&&g===T)&&this.raise(I.IncompatibleModifiers,{at:y,modifiers:[T,C]})};for(;;){let{startLoc:y}=this.state,g=this.tsParseModifier(i.concat(a!=null?a:[]),n);if(!g)break;Hr(g)?s.accessibility?this.raise(I.DuplicateAccessibilityModifier,{at:y,modifier:g}):(u(y,g,g,"override"),u(y,g,g,"static"),u(y,g,g,"readonly"),s.accessibility=g):hh(g)?(s[g]&&this.raise(I.DuplicateModifier,{at:y,modifier:g}),s[g]=!0,u(y,g,"in","out")):(Object.hasOwnProperty.call(s,g)?this.raise(I.DuplicateModifier,{at:y,modifier:g}):(u(y,g,"static","readonly"),u(y,g,"static","override"),u(y,g,"override","readonly"),u(y,g,"abstract","override"),c(y,g,"declare","override"),c(y,g,"static","abstract")),s[g]=!0),a!=null&&a.includes(g)&&this.raise(o,{at:y,modifier:g})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,s){let i=[];for(;!this.tsIsListTerminator(e);)i.push(s());return i}tsParseDelimitedList(e,s,i){return oh(this.tsParseDelimitedListWorker(e,s,!0,i))}tsParseDelimitedListWorker(e,s,i,a){let n=[],o=-1;for(;!this.tsIsListTerminator(e);){o=-1;let u=s();if(u==null)return;if(n.push(u),this.eat(12)){o=this.state.lastTokStart;continue}if(this.tsIsListTerminator(e))break;i&&this.expect(12);return}return a&&(a.value=o),n}tsParseBracketedList(e,s,i,a,n){a||(i?this.expect(0):this.expect(47));let o=this.tsParseDelimitedList(e,s,n);return i?this.expect(3):this.expect(48),o}tsParseImportType(){let e=this.startNode();return this.expect(83),this.expect(10),this.match(131)||this.raise(I.UnsupportedImportTypeArgument,{at:this.state.startLoc}),e.argument=super.parseExprAtom(),this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName()),this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,s=this.parseIdentifier(e);for(;this.eat(16);){let i=this.startNodeAtNode(s);i.left=s,i.right=this.parseIdentifier(e),s=this.finishNode(i,"TSQualifiedName")}return s}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();let s=this.startNodeAtNode(e);return s.parameterName=e,s.typeAnnotation=this.tsParseTypeAnnotation(!1),s.asserts=!1,this.finishNode(s,"TSTypePredicate")}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){let e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){let s=this.startNode();return e(s),s.name=this.tsParseTypeParameterName(),s.constraint=this.tsEatThenParseType(81),s.default=this.tsEatThenParseType(29),this.finishNode(s,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let s=this.startNode();this.match(47)||this.match(140)?this.next():this.unexpected();let i={value:-1};return s.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,i),s.params.length===0&&this.raise(I.EmptyTypeParameters,{at:s}),i.value!==-1&&this.addExtra(s,"trailingComma",i.value),this.finishNode(s,"TSTypeParameterDeclaration")}tsFillSignature(e,s){let i=e===19,a="parameters",n="typeAnnotation";s.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),s[a]=this.tsParseBindingListForSignature(),i?s[n]=this.tsParseTypeOrTypePredicateAnnotation(e):this.match(e)&&(s[n]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return super.parseBindingList(11,41,2).map(e=>(e.type!=="Identifier"&&e.type!=="RestElement"&&e.type!=="ObjectPattern"&&e.type!=="ArrayPattern"&&this.raise(I.UnsupportedSignatureParameterKind,{at:e,type:e.type}),e))}tsParseTypeMemberSemicolon(){!this.eat(12)&&!this.isLineTerminator()&&this.expect(13)}tsParseSignatureMember(e,s){return this.tsFillSignature(14,s),this.tsParseTypeMemberSemicolon(),this.finishNode(s,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),q(this.state.type)?(this.next(),this.match(14)):!1}tsTryParseIndexSignature(e){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let s=this.parseIdentifier();s.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(s),this.expect(3),e.parameters=[s];let i=this.tsTryParseTypeAnnotation();return i&&(e.typeAnnotation=i),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,s){this.eat(17)&&(e.optional=!0);let i=e;if(this.match(10)||this.match(47)){s&&this.raise(I.ReadonlyForMethodSignature,{at:e});let a=i;a.kind&&this.match(47)&&this.raise(I.AccesorCannotHaveTypeParameters,{at:this.state.curPosition()}),this.tsFillSignature(14,a),this.tsParseTypeMemberSemicolon();let n="parameters",o="typeAnnotation";if(a.kind==="get")a[n].length>0&&(this.raise(f.BadGetterArity,{at:this.state.curPosition()}),this.isThisParam(a[n][0])&&this.raise(I.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}));else if(a.kind==="set"){if(a[n].length!==1)this.raise(f.BadSetterArity,{at:this.state.curPosition()});else{let u=a[n][0];this.isThisParam(u)&&this.raise(I.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}),u.type==="Identifier"&&u.optional&&this.raise(I.SetAccesorCannotHaveOptionalParameter,{at:this.state.curPosition()}),u.type==="RestElement"&&this.raise(I.SetAccesorCannotHaveRestParameter,{at:this.state.curPosition()})}a[o]&&this.raise(I.SetAccesorCannotHaveReturnType,{at:a[o]})}else a.kind="method";return this.finishNode(a,"TSMethodSignature")}else{let a=i;s&&(a.readonly=!0);let n=this.tsTryParseTypeAnnotation();return n&&(a.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(a,"TSPropertySignature")}}tsParseTypeMember(){let e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){let i=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(i,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e);let s=this.tsTryParseIndexSignature(e);return s||(super.parsePropertyName(e),!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);let e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(120):(this.isContextual(120)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(58)))}tsParseMappedTypeParameter(){let e=this.startNode();return e.name=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){let e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(120)):this.eatContextual(120)&&(e.readonly=!0),this.expect(0),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let s=!1,i=null;return e.elementTypes.forEach(a=>{var n;let{type:o}=a;s&&o!=="TSRestType"&&o!=="TSOptionalType"&&!(o==="TSNamedTupleMember"&&a.optional)&&this.raise(I.OptionalTypeBeforeRequired,{at:a}),s||(s=o==="TSNamedTupleMember"&&a.optional||o==="TSOptionalType");let u=o;o==="TSRestType"&&(a=a.typeAnnotation,u=a.type);let c=u==="TSNamedTupleMember";(n=i)!=null||(i=c),i!==c&&this.raise(I.MixedLabeledAndUnlabeledElements,{at:a})}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){let{startLoc:e}=this.state,s=this.eat(21),i,a,n,o,c=te(this.state.type)?this.lookaheadCharCode():null;if(c===58)i=!0,n=!1,a=this.parseIdentifier(!0),this.expect(14),o=this.tsParseType();else if(c===63){n=!0;let y=this.state.startLoc,g=this.state.value,T=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(i=!0,a=this.createIdentifier(this.startNodeAt(y),g),this.expect(17),this.expect(14),o=this.tsParseType()):(i=!1,o=T,this.expect(17))}else o=this.tsParseType(),n=this.eat(17),i=this.eat(14);if(i){let y;a?(y=this.startNodeAtNode(a),y.optional=n,y.label=a,y.elementType=o,this.eat(17)&&(y.optional=!0,this.raise(I.TupleOptionalAfterType,{at:this.state.lastTokStartLoc}))):(y=this.startNodeAtNode(o),y.optional=n,this.raise(I.InvalidTupleMemberLabel,{at:o}),y.label=o,y.elementType=this.tsParseType()),o=this.finishNode(y,"TSNamedTupleMember")}else if(n){let y=this.startNodeAtNode(o);y.typeAnnotation=o,o=this.finishNode(y,"TSOptionalType")}if(s){let y=this.startNodeAt(e);y.typeAnnotation=o,o=this.finishNode(y,"TSRestType")}return o}tsParseParenthesizedType(){let e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,s){let i=this.startNode();return e==="TSConstructorType"&&(i.abstract=!!s,s&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,i)),this.finishNode(i,e)}tsParseLiteralTypeNode(){let e=this.startNode();return e.literal=(()=>{switch(this.state.type){case 132:case 133:case 131:case 85:case 86:return super.parseExprAtom();default:this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){let e=this.startNode();return e.literal=super.parseTemplate(!1),this.finishNode(e,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(114)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 131:case 132:case 133:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if(this.state.value==="-"){let e=this.startNode(),s=this.lookahead();return s.type!==132&&s.type!==133&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(q(e)||e===88||e===84){let s=e===88?"TSVoidKeyword":e===84?"TSNullKeyword":lh(this.state.value);if(s!==void 0&&this.lookaheadCharCode()!==46){let i=this.startNode();return this.next(),this.finishNode(i,s)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){let s=this.startNodeAtNode(e);s.elementType=e,this.expect(3),e=this.finishNode(s,"TSArrayType")}else{let s=this.startNodeAtNode(e);s.objectType=e,s.indexType=this.tsParseType(),this.expect(3),e=this.finishNode(s,"TSIndexedAccessType")}return e}tsParseTypeOperator(){let e=this.startNode(),s=this.state.value;return this.next(),e.operator=s,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),s==="readonly"&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(I.UnexpectedReadonly,{at:e})}}tsParseInferType(){let e=this.startNode();this.expectContextual(113);let s=this.startNode();return s.name=this.tsParseTypeParameterName(),s.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(s,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){return qo(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(113)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,s,i){let a=this.startNode(),n=this.eat(i),o=[];do o.push(s());while(this.eat(i));return o.length===1&&!n?o[0]:(a.types=o,this.finishNode(a,e))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return this.match(47)?!0:this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(q(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){let{errors:e}=this.state,s=e.length;try{return this.parseObjectLike(8,!0),e.length===s}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,s=e.length;try{return super.parseBindingList(3,93,1),e.length===s}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(11)||this.match(21)||this.tsSkipParameterStart()&&(this.match(14)||this.match(12)||this.match(17)||this.match(29)||this.match(11)&&(this.next(),this.match(19))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let s=this.startNode();this.expect(e);let i=this.startNode(),a=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(a&&this.match(78)){let u=this.tsParseThisTypeOrThisTypePredicate();return u.type==="TSThisType"?(i.parameterName=u,i.asserts=!0,i.typeAnnotation=null,u=this.finishNode(i,"TSTypePredicate")):(this.resetStartLocationFromNode(u,i),u.asserts=!0),s.typeAnnotation=u,this.finishNode(s,"TSTypeAnnotation")}let n=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!n)return a?(i.parameterName=this.parseIdentifier(),i.asserts=a,i.typeAnnotation=null,s.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(s,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,s);let o=this.tsParseTypeAnnotation(!1);return i.parameterName=n,i.typeAnnotation=o,i.asserts=a,s.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(s,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(14)?this.tsParseTypeOrTypePredicateAnnotation(14):void 0}tsTryParseTypeAnnotation(){return this.match(14)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(114)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(this.state.type!==107)return!1;let e=this.state.containsEsc;return this.next(),!q(this.state.type)&&!this.match(78)?!1:(e&&this.raise(f.InvalidEscapedReservedWord,{at:this.state.lastTokStartLoc,reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.startNode();return this.tsInType(()=>{e&&this.expect(14),s.typeAnnotation=this.tsParseType()}),this.finishNode(s,"TSTypeAnnotation")}tsParseType(){$r(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;let s=this.startNodeAtNode(e);return s.checkType=e,s.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),s.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),s.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(s,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(122)&&this.lookahead().type===77}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(I.ReservedTypeAssertion,{at:this.state.startLoc});let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){let s=this.state.startLoc,i=this.tsParseDelimitedList("HeritageClauseElement",()=>{let a=this.startNode();return a.expression=this.tsParseEntityName(),this.match(47)&&(a.typeParameters=this.tsParseTypeArguments()),this.finishNode(a,"TSExpressionWithTypeArguments")});return i.length||this.raise(I.EmptyHeritageClauseType,{at:s,token:e}),i}tsParseInterfaceDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.hasFollowingLineBreak())return null;this.expectContextual(127),s.declare&&(e.declare=!0),q(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,pl)):(e.id=null,this.raise(I.MissingInterfaceName,{at:this.state.startLoc})),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));let i=this.startNode();return i.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(i,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,fl),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(112)&&this.lookahead().type!==16){let s=this.startNode();return this.next(),this.finishNode(s,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(e){let s=this.state.context;this.state.context=[s[0]];try{return e()}finally{this.state.context=s}}tsInType(e){let s=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=s}}tsInDisallowConditionalTypesContext(e){let s=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=s}}tsInAllowConditionalTypesContext(e){let s=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=s}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType(()=>this.expect(e))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(e){return this.tsInType(()=>(e(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(131)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return s.const&&(e.const=!0),s.declare&&(e.declare=!0),this.expectContextual(124),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?ml:Cr),this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){let e=this.startNode();return this.scope.enter(Fe),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.id=this.parseIdentifier(),s||this.checkIdentifier(e.id,yl),this.eat(16)){let i=this.startNode();this.tsParseModuleOrNamespaceDeclaration(i,!0),e.body=i}else this.scope.enter(Oe),this.prodParam.enter(Me),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(110)?(e.global=!0,e.id=this.parseIdentifier()):this.match(131)?e.id=super.parseStringLiteral(this.state.value):this.unexpected(),this.match(5)?(this.scope.enter(Oe),this.prodParam.enter(Me),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,s){e.isExport=s||!1,e.id=this.parseIdentifier(),this.checkIdentifier(e.id,Ve),this.expect(29);let i=this.tsParseModuleReference();return e.importKind==="type"&&i.type!=="TSExternalModuleReference"&&this.raise(I.ImportAliasHasImportType,{at:i}),e.moduleReference=i,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(117)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(117),this.expect(10),this.match(131)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){let s=this.state.clone(),i=e();return this.state=s,i}tsTryParseAndCatch(e){let s=this.tryParse(i=>e()||i());if(!(s.aborted||!s.node))return s.error&&(this.state=s.failState),s.node}tsTryParse(e){let s=this.state.clone(),i=e();if(i!==void 0&&i!==!1)return i;this.state=s}tsTryParseDeclare(e){if(this.isLineTerminator())return;let s=this.state.type,i;return this.isContextual(99)&&(s=74,i="let"),this.tsInAmbientContext(()=>{if(s===68)return e.declare=!0,super.parseFunctionStatement(e,!1,!1);if(s===80)return e.declare=!0,this.parseClass(e,!0,!1);if(s===124)return this.tsParseEnumDeclaration(e,{declare:!0});if(s===110)return this.tsParseAmbientExternalModuleDeclaration(e);if(s===75||s===74)return!this.match(75)||!this.isLookaheadContextual("enum")?(e.declare=!0,this.parseVarStatement(e,i||this.state.value,!0)):(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0}));if(s===127){let a=this.tsParseInterfaceDeclaration(e,{declare:!0});if(a)return a}if(q(s))return this.tsParseDeclaration(e,this.state.value,!0,null)})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(e,s,i){switch(s.name){case"declare":{let a=this.tsTryParseDeclare(e);if(a)return a.declare=!0,a;break}case"global":if(this.match(5)){this.scope.enter(Oe),this.prodParam.enter(Me);let a=e;return a.global=!0,a.id=s,a.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(a,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,s.name,!1,i)}}tsParseDeclaration(e,s,i,a){switch(s){case"abstract":if(this.tsCheckLineTerminator(i)&&(this.match(80)||q(this.state.type)))return this.tsParseAbstractDeclaration(e,a);break;case"module":if(this.tsCheckLineTerminator(i)){if(this.match(131))return this.tsParseAmbientExternalModuleDeclaration(e);if(q(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(i)&&q(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(i)&&q(this.state.type))return this.tsParseTypeAliasDeclaration(e);break}}tsCheckLineTerminator(e){return e?this.hasFollowingLineBreak()?!1:(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;let s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;let i=this.tsTryParseAndCatch(()=>{let a=this.startNodeAt(e);return a.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(a),a.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),a});if(this.state.maybeInArrowParameters=s,!!i)return super.parseArrowExpression(i,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===47)return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),e.params.length===0&&this.raise(I.EmptyTypeArguments,{at:e}),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return Uo(this.state.type)}isExportDefaultSpecifier(){return this.tsIsDeclarationStart()?!1:super.isExportDefaultSpecifier()}parseAssignableListItem(e,s){let i=this.state.startLoc,a={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},a);let n=a.accessibility,o=a.override,u=a.readonly;!(e&4)&&(n||u||o)&&this.raise(I.UnexpectedParameterModifier,{at:i});let c=this.parseMaybeDefault();this.parseAssignableListItemTypes(c,e);let y=this.parseMaybeDefault(c.loc.start,c);if(n||u||o){let g=this.startNodeAt(i);return s.length&&(g.decorators=s),n&&(g.accessibility=n),u&&(g.readonly=u),o&&(g.override=o),y.type!=="Identifier"&&y.type!=="AssignmentPattern"&&this.raise(I.UnsupportedParameterPropertyKind,{at:g}),g.parameter=y,this.finishNode(g,"TSParameterProperty")}return s.length&&(c.decorators=s),y}isSimpleParameter(e){return e.type==="TSParameterProperty"&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let s of e.params)s.type!=="Identifier"&&s.optional&&!this.state.isAmbientContext&&this.raise(I.PatternIsOptional,{at:s})}setArrowFunctionParameters(e,s,i){super.setArrowFunctionParameters(e,s,i),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));let a=s==="FunctionDeclaration"?"TSDeclareFunction":s==="ClassMethod"||s==="ClassPrivateMethod"?"TSDeclareMethod":void 0;return a&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,a):a==="TSDeclareFunction"&&this.state.isAmbientContext&&(this.raise(I.DeclareFunctionHasImplementation,{at:e}),e.declare)?super.parseFunctionBodyAndFinish(e,a,i):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,s,i))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,br):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(s=>{(s==null?void 0:s.type)==="TSTypeCastExpression"&&this.raise(I.UnexpectedTypeAnnotation,{at:s.typeAnnotation})})}toReferencedList(e,s){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,s,i,a){let n=super.parseArrayLike(e,s,i,a);return n.type==="ArrayExpression"&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,s,i,a){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();let o=this.startNodeAt(s);return o.expression=e,this.finishNode(o,"TSNonNullExpression")}let n=!1;if(this.match(18)&&this.lookaheadCharCode()===60){if(i)return a.stop=!0,e;a.optionalChainMember=n=!0,this.next()}if(this.match(47)||this.match(51)){let o,u=this.tsTryParseAndCatch(()=>{if(!i&&this.atPossibleAsyncArrow(e)){let T=this.tsTryParseGenericAsyncArrowFunction(s);if(T)return T}let c=this.tsParseTypeArgumentsInExpression();if(!c)return;if(n&&!this.match(10)){o=this.state.curPosition();return}if(nt(this.state.type)){let T=super.parseTaggedTemplateExpression(e,s,a);return T.typeParameters=c,T}if(!i&&this.eat(10)){let T=this.startNodeAt(s);return T.callee=e,T.arguments=this.parseCallExpressionArguments(11,!1),this.tsCheckForInvalidTypeCasts(T.arguments),T.typeParameters=c,a.optionalChainMember&&(T.optional=n),this.finishCallExpression(T,a.optionalChainMember)}let y=this.state.type;if(y===48||y===52||y!==10&&He(y)&&!this.hasPrecedingLineBreak())return;let g=this.startNodeAt(s);return g.expression=e,g.typeParameters=c,this.finishNode(g,"TSInstantiationExpression")});if(o&&this.unexpected(o,10),u)return u.type==="TSInstantiationExpression"&&(this.match(16)||this.match(18)&&this.lookaheadCharCode()!==40)&&this.raise(I.InvalidPropertyAccessAfterInstantiationExpression,{at:this.state.startLoc}),u}return super.parseSubscript(e,s,i,a)}parseNewCallee(e){var s;super.parseNewCallee(e);let{callee:i}=e;i.type==="TSInstantiationExpression"&&!((s=i.extra)!=null&&s.parenthesized)&&(e.typeParameters=i.typeParameters,e.callee=i.expression)}parseExprOp(e,s,i){let a;if(at(58)>i&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(a=this.isContextual(118)))){let n=this.startNodeAt(s);return n.expression=e,n.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(a&&this.raise(f.UnexpectedKeyword,{at:this.state.startLoc,keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(n,a?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(n,s,i)}return super.parseExprOp(e,s,i)}checkReservedWord(e,s,i,a){this.state.isAmbientContext||super.checkReservedWord(e,s,i,a)}checkImportReflection(e){super.checkImportReflection(e),e.module&&e.importKind!=="value"&&this.raise(I.ImportReflectionHasImportType,{at:e.specifiers[0].loc.start})}checkDuplicateExports(){}parseImport(e){if(e.importKind="value",q(this.state.type)||this.match(55)||this.match(5)){let i=this.lookahead();if(this.isContextual(128)&&i.type!==12&&i.type!==97&&i.type!==29&&(e.importKind="type",this.next(),i=this.lookahead()),q(this.state.type)&&i.type===29)return this.tsParseImportEqualsDeclaration(e)}let s=super.parseImport(e);return s.importKind==="type"&&s.specifiers.length>1&&s.specifiers[0].type==="ImportDefaultSpecifier"&&this.raise(I.TypeImportCannotSpecifyDefaultAndNamed,{at:s}),s}parseExport(e,s){if(this.match(83))return this.next(),this.isContextual(128)&&this.lookaheadCharCode()!==61?(e.importKind="type",this.next()):e.importKind="value",this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(29)){let i=e;return i.expression=super.parseExpression(),this.semicolon(),this.finishNode(i,"TSExportAssignment")}else if(this.eatContextual(93)){let i=e;return this.expectContextual(126),i.id=this.parseIdentifier(),this.semicolon(),this.finishNode(i,"TSNamespaceExportDeclaration")}else{if(e.exportKind="value",this.isContextual(128)){let i=this.lookaheadCharCode();(i===123||i===42)&&(this.next(),e.exportKind="type")}return super.parseExport(e,s)}}isAbstractClass(){return this.isContextual(122)&&this.lookahead().type===80}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(127)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{isAmbientContext:a}=this.state,n=super.parseVarStatement(e,s,i||a);if(!a)return n;for(let{id:o,init:u}of n.declarations)u&&(s!=="const"||o.typeAnnotation?this.raise(I.InitializerNotAllowedInAmbientContext,{at:u}):ph(u,this.hasPlugin("estree"))||this.raise(I.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference,{at:u}));return n}parseStatementContent(e,s){if(this.match(75)&&this.isLookaheadContextual("enum")){let i=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(i,{const:!0})}if(this.isContextual(124))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(127)){let i=this.tsParseInterfaceDeclaration(this.startNode());if(i)return i}return super.parseStatementContent(e,s)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,s){return s.some(i=>Hr(i)?e.accessibility===i:!!e[i])}tsIsStartOfStaticBlocks(){return this.isContextual(104)&&this.lookaheadCharCode()===123}parseClassMember(e,s,i){let a=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:a,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:I.InvalidModifierOnTypeParameterPositions},s);let n=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(s,a)&&this.raise(I.StaticBlockCannotHaveModifier,{at:this.state.curPosition()}),super.parseClassStaticBlock(e,s)):this.parseClassMemberWithIsStatic(e,s,i,!!s.static)};s.declare?this.tsInAmbientContext(n):n()}parseClassMemberWithIsStatic(e,s,i,a){let n=this.tsTryParseIndexSignature(s);if(n){e.body.push(n),s.abstract&&this.raise(I.IndexSignatureHasAbstract,{at:s}),s.accessibility&&this.raise(I.IndexSignatureHasAccessibility,{at:s,modifier:s.accessibility}),s.declare&&this.raise(I.IndexSignatureHasDeclare,{at:s}),s.override&&this.raise(I.IndexSignatureHasOverride,{at:s});return}!this.state.inAbstractClass&&s.abstract&&this.raise(I.NonAbstractClassHasAbstractMethod,{at:s}),s.override&&(i.hadSuperClass||this.raise(I.OverrideNotInSubClass,{at:s})),super.parseClassMemberWithIsStatic(e,s,i,a)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(I.ClassMethodHasReadonly,{at:e}),e.declare&&this.match(10)&&this.raise(I.ClassMethodHasDeclare,{at:e})}parseExpressionStatement(e,s,i){return(s.type==="Identifier"?this.tsParseExpressionStatement(e,s,i):void 0)||super.parseExpressionStatement(e,s,i)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(e,s,i){if(!this.state.maybeInArrowParameters||!this.match(17))return super.parseConditional(e,s,i);let a=this.tryParse(()=>super.parseConditional(e,s));return a.node?(a.error&&(this.state=a.failState),a.node):(a.error&&super.setOptionalParametersError(i,a.error),e)}parseParenItem(e,s){if(e=super.parseParenItem(e,s),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){let i=this.startNodeAt(s);return i.expression=e,i.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(i,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(123))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let s=this.state.startLoc,i=this.eatContextual(123);if(i&&(this.isContextual(123)||!this.shouldParseExportDeclaration()))throw this.raise(I.ExpectedAmbientAfterExportDeclare,{at:this.state.startLoc});let n=q(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return n?((n.type==="TSInterfaceDeclaration"||n.type==="TSTypeAliasDeclaration"||i)&&(e.exportKind="type"),i&&(this.resetStartLocation(n,s),n.declare=!0),n):null}parseClassId(e,s,i,a){if((!s||i)&&this.isContextual(111))return;super.parseClassId(e,s,i,e.declare?br:vr);let n=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);n&&(e.typeParameters=n)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));let s=this.tsTryParseTypeAnnotation();s&&(e.typeAnnotation=s)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&!(e.readonly&&!e.typeAnnotation)&&this.match(29)&&this.raise(I.DeclareClassFieldHasInitializer,{at:this.state.startLoc}),e.abstract&&this.match(29)){let{key:s}=e;this.raise(I.AbstractPropertyHasInitializer,{at:this.state.startLoc,propertyName:s.type==="Identifier"&&!e.computed?s.name:`[${this.input.slice(s.start,s.end)}]`})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(I.PrivateElementHasAbstract,{at:e}),e.accessibility&&this.raise(I.PrivateElementHasAccessibility,{at:e,modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(I.AccessorCannotBeOptional,{at:e}),super.parseClassAccessorProperty(e)}pushClassMethod(e,s,i,a,n,o){let u=this.tsTryParseTypeParameters(this.tsParseConstModifier);u&&n&&this.raise(I.ConstructorHasTypeParameters,{at:u});let{declare:c=!1,kind:y}=s;c&&(y==="get"||y==="set")&&this.raise(I.DeclareAccessor,{at:s,kind:y}),u&&(s.typeParameters=u),super.pushClassMethod(e,s,i,a,n,o)}pushClassPrivateMethod(e,s,i,a){let n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(s.typeParameters=n),super.pushClassPrivateMethod(e,s,i,a)}declareClassPrivateMethodInScope(e,s){e.type!=="TSDeclareMethod"&&(e.type==="MethodDefinition"&&!e.value.body||super.declareClassPrivateMethodInScope(e,s))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(111)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,s,i,a,n,o,u){let c=this.tsTryParseTypeParameters(this.tsParseConstModifier);return c&&(e.typeParameters=c),super.parseObjPropValue(e,s,i,a,n,o,u)}parseFunctionParams(e,s){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(e.typeParameters=i),super.parseFunctionParams(e,s)}parseVarId(e,s){super.parseVarId(e,s),e.id.type==="Identifier"&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);let i=this.tsTryParseTypeAnnotation();i&&(e.id.typeAnnotation=i,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,s){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,s)}parseMaybeAssign(e,s){var i,a,n,o,u,c,y;let g,T,C;if(this.hasPlugin("jsx")&&(this.match(140)||this.match(47))){if(g=this.state.clone(),T=this.tryParse(()=>super.parseMaybeAssign(e,s),g),!T.error)return T.node;let{context:K}=this.state,W=K[K.length-1];(W===x.j_oTag||W===x.j_expr)&&K.pop()}if(!((i=T)!=null&&i.error)&&!this.match(47))return super.parseMaybeAssign(e,s);(!g||g===this.state)&&(g=this.state.clone());let M,j=this.tryParse(K=>{var W,V;M=this.tsParseTypeParameters(this.tsParseConstModifier);let X=super.parseMaybeAssign(e,s);return(X.type!=="ArrowFunctionExpression"||(W=X.extra)!=null&&W.parenthesized)&&K(),((V=M)==null?void 0:V.params.length)!==0&&this.resetStartLocationFromNode(X,M),X.typeParameters=M,X},g);if(!j.error&&!j.aborted)return M&&this.reportReservedArrowTypeParam(M),j.node;if(!T&&($r(!this.hasPlugin("jsx")),C=this.tryParse(()=>super.parseMaybeAssign(e,s),g),!C.error))return C.node;if((a=T)!=null&&a.node)return this.state=T.failState,T.node;if(j.node)return this.state=j.failState,M&&this.reportReservedArrowTypeParam(M),j.node;if((n=C)!=null&&n.node)return this.state=C.failState,C.node;throw(o=T)!=null&&o.thrown?T.error:j.thrown?j.error:(u=C)!=null&&u.thrown?C.error:((c=T)==null?void 0:c.error)||j.error||((y=C)==null?void 0:y.error)}reportReservedArrowTypeParam(e){var s;e.params.length===1&&!e.params[0].constraint&&!((s=e.extra)!=null&&s.trailingComma)&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(I.ReservedArrowTypeParam,{at:e})}parseMaybeUnary(e,s){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,s)}parseArrow(e){if(this.match(14)){let s=this.tryParse(i=>{let a=this.tsParseTypeOrTypePredicateAnnotation(14);return(this.canInsertSemicolon()||!this.match(19))&&i(),a});if(s.aborted)return;s.thrown||(s.error&&(this.state=s.failState),e.returnType=s.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e,s){if(!(s&2))return e;this.eat(17)&&(e.optional=!0);let i=this.tsTryParseTypeAnnotation();return i&&(e.typeAnnotation=i),this.resetEndLocation(e),e}isAssignable(e,s){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,s);case"TSParameterProperty":return!0;default:return super.isAssignable(e,s)}}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,s);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":s?this.expressionScope.recordArrowParameterBindingError(I.UnexpectedTypeCastInParameter,{at:e}):this.raise(I.UnexpectedTypeCastInParameter,{at:e}),this.toAssignable(e.expression,s);break;case"AssignmentExpression":!s&&e.left.type==="TSTypeCastExpression"&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,s)}}toAssignableParenthesizedExpression(e,s){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,s);break;default:super.toAssignable(e,s)}}checkToRestConversion(e,s){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,s)}}isValidLVal(e,s,i){return nh({TSTypeCastExpression:!0,TSParameterProperty:"parameter",TSNonNullExpression:"expression",TSAsExpression:(i!==Pe||!s)&&["expression",!0],TSSatisfiesExpression:(i!==Pe||!s)&&["expression",!0],TSTypeAssertion:(i!==Pe||!s)&&["expression",!0]},e)||super.isValidLVal(e,s,i)}parseBindingAtom(){switch(this.state.type){case 78:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.match(47)||this.match(51)){let s=this.tsParseTypeArgumentsInExpression();if(this.match(10)){let i=super.parseMaybeDecoratorArguments(e);return i.typeParameters=s,i}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,s){let i=super.parseMaybeDefault(e,s);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startthis.isAssignable(s,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){let s=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());s&&(e.typeParameters=s)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let s=super.getGetterSetterExpectedParamCount(e),a=this.getObjectOrClassMethodParams(e)[0];return a&&this.isThisParam(a)?s+1:s}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s,this.resetEndLocation(e)),e}tsInAmbientContext(e){let s=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=s}}parseClass(e,s,i){let a=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,s,i)}finally{this.state.inAbstractClass=a}}tsParseAbstractDeclaration(e,s){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(s,this.parseClass(e,!0,!1));if(this.isContextual(127)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(I.NonClassMethodPropertyHasAbstractModifer,{at:e}),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}parseMethod(e,s,i,a,n,o,u){let c=super.parseMethod(e,s,i,a,n,o,u);if(c.abstract&&(this.hasPlugin("estree")?!!c.value.body:!!c.body)){let{key:g}=c;this.raise(I.AbstractMethodHasImplementation,{at:c,methodName:g.type==="Identifier"&&!c.computed?g.name:`[${this.input.slice(g.start,g.end)}]`})}return c}tsParseTypeParameterName(){return this.parseIdentifier().name}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,s,i,a){return!s&&a?(this.parseTypeOnlyImportExportSpecifier(e,!1,i),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,s,i,a))}parseImportSpecifier(e,s,i,a,n){return!s&&a?(this.parseTypeOnlyImportExportSpecifier(e,!0,i),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,s,i,a,i?Sr:Ve))}parseTypeOnlyImportExportSpecifier(e,s,i){let a=s?"imported":"local",n=s?"local":"exported",o=e[a],u,c=!1,y=!0,g=o.loc.start;if(this.isContextual(93)){let C=this.parseIdentifier();if(this.isContextual(93)){let M=this.parseIdentifier();te(this.state.type)?(c=!0,o=C,u=s?this.parseIdentifier():this.parseModuleExportName(),y=!1):(u=M,y=!1)}else te(this.state.type)?(y=!1,u=s?this.parseIdentifier():this.parseModuleExportName()):(c=!0,o=C)}else te(this.state.type)&&(c=!0,s?(o=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(o.name,o.loc.start,!0,!0)):o=this.parseModuleExportName());c&&i&&this.raise(s?I.TypeModifierIsUsedInTypeImports:I.TypeModifierIsUsedInTypeExports,{at:g}),e[a]=o,e[n]=u;let T=s?"importKind":"exportKind";e[T]=c?"type":"value",y&&this.eatContextual(93)&&(e[n]=s?this.parseIdentifier():this.parseModuleExportName()),e[n]||(e[n]=me(e[a])),s&&this.checkIdentifier(e[n],c?Sr:Ve)}};function ch(t){if(t.type!=="MemberExpression")return!1;let{computed:r,property:e}=t;return r&&e.type!=="StringLiteral"&&(e.type!=="TemplateLiteral"||e.expressions.length>0)?!1:Vr(t.object)}function ph(t,r){var e;let{type:s}=t;if((e=t.extra)!=null&&e.parenthesized)return!1;if(r){if(s==="Literal"){let{value:i}=t;if(typeof i=="string"||typeof i=="boolean")return!0}}else if(s==="StringLiteral"||s==="BooleanLiteral")return!0;return!!(zr(t,r)||fh(t,r)||s==="TemplateLiteral"&&t.expressions.length===0||ch(t))}function zr(t,r){return r?t.type==="Literal"&&(typeof t.value=="number"||"bigint"in t):t.type==="NumericLiteral"||t.type==="BigIntLiteral"}function fh(t,r){if(t.type==="UnaryExpression"){let{operator:e,argument:s}=t;if(e==="-"&&zr(s,r))return!0}return!1}function Vr(t){return t.type==="Identifier"?!0:t.type!=="MemberExpression"||t.computed?!1:Vr(t.object)}var Kr=pe`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),dh=t=>class extends t{parsePlaceholder(e){if(this.match(142)){let s=this.startNode();return this.next(),this.assertNoSpace(),s.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(142),this.finishPlaceholder(s,e)}}finishPlaceholder(e,s){let i=!!(e.expectedNode&&e.type==="Placeholder");return e.expectedNode=s,i?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){e===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(142,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,s,i,a){e!==void 0&&super.checkReservedWord(e,s,i,a)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,s,i){return e==="Placeholder"||super.isValidLVal(e,s,i)}toAssignable(e,s){e&&e.type==="Placeholder"&&e.expectedNode==="Expression"?e.expectedNode="Pattern":super.toAssignable(e,s)}chStartsBindingIdentifier(e,s){return!!(super.chStartsBindingIdentifier(e,s)||this.lookahead().type===142)}verifyBreakContinue(e,s){e.label&&e.label.type==="Placeholder"||super.verifyBreakContinue(e,s)}parseExpressionStatement(e,s){if(s.type!=="Placeholder"||s.extra&&s.extra.parenthesized)return super.parseExpressionStatement(e,s);if(this.match(14)){let i=e;return i.label=this.finishPlaceholder(s,"Identifier"),this.next(),i.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(i,"LabeledStatement")}return this.semicolon(),e.name=s.name,this.finishPlaceholder(e,"Statement")}parseBlock(e,s,i){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,s,i)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,s,i){let a=s?"ClassDeclaration":"ClassExpression";this.next();let n=this.state.strict,o=this.parsePlaceholder("Identifier");if(o)if(this.match(81)||this.match(142)||this.match(5))e.id=o;else{if(i||!s)return e.id=null,e.body=this.finishPlaceholder(o,"ClassBody"),this.finishNode(e,a);throw this.raise(Kr.ClassNameIsRequired,{at:this.state.startLoc})}else this.parseClassId(e,s,i);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,n),this.finishNode(e,a)}parseExport(e,s){let i=this.parsePlaceholder("Identifier");if(!i)return super.parseExport(e,s);if(!this.isContextual(97)&&!this.match(12))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(i,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");let a=this.startNode();return a.exported=i,e.specifiers=[this.finishNode(a,"ExportDefaultSpecifier")],super.parseExport(e,s)}isExportDefaultSpecifier(){if(this.match(65)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(xe(142),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e){return e.specifiers&&e.specifiers.length>0?!0:super.maybeParseExportDefaultSpecifier(e)}checkExport(e){let{specifiers:s}=e;s!=null&&s.length&&(e.specifiers=s.filter(i=>i.exported.type==="Placeholder")),super.checkExport(e),e.specifiers=s}parseImport(e){let s=this.parsePlaceholder("Identifier");if(!s)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(97)&&!this.match(12))return e.source=this.finishPlaceholder(s,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");let i=this.startNodeAtNode(s);return i.local=s,e.specifiers.push(this.finishNode(i,"ImportDefaultSpecifier")),this.eat(12)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(97),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.state.lastTokEndLoc.index&&this.raise(Kr.UnexpectedSpace,{at:this.state.lastTokEndLoc})}},mh=t=>class extends t{parseV8Intrinsic(){if(this.match(54)){let e=this.state.startLoc,s=this.startNode();if(this.next(),q(this.state.type)){let i=this.parseIdentifierName(),a=this.createIdentifier(s,i);if(a.type="V8IntrinsicIdentifier",this.match(10))return a}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}};function J(t,r){let[e,s]=typeof r=="string"?[r,{}]:r,i=Object.keys(s),a=i.length===0;return t.some(n=>{if(typeof n=="string")return a&&n===e;{let[o,u]=n;if(o!==e)return!1;for(let c of i)if(u[c]!==s[c])return!1;return!0}})}function we(t,r,e){let s=t.find(i=>Array.isArray(i)?i[0]===r:i===r);return s&&Array.isArray(s)&&s.length>1?s[1][e]:null}var Wr=["minimal","fsharp","hack","smart"],Gr=["^^","@@","^","%","#"],Jr=["hash","bar"];function yh(t){if(J(t,"decorators")){if(J(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");let r=we(t,"decorators","decoratorsBeforeExport");if(r!=null&&typeof r!="boolean")throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");let e=we(t,"decorators","allowCallParenthesized");if(e!=null&&typeof e!="boolean")throw new Error("'allowCallParenthesized' must be a boolean.")}if(J(t,"flow")&&J(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(J(t,"placeholders")&&J(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(J(t,"pipelineOperator")){let r=we(t,"pipelineOperator","proposal");if(!Wr.includes(r)){let s=Wr.map(i=>`"${i}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${s}.`)}let e=J(t,["recordAndTuple",{syntaxType:"hash"}]);if(r==="hack"){if(J(t,"placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(J(t,"v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");let s=we(t,"pipelineOperator","topicToken");if(!Gr.includes(s)){let i=Gr.map(a=>`"${a}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${i}.`)}if(s==="#"&&e)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}else if(r==="smart"&&e)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}if(J(t,"moduleAttributes")){if(J(t,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if(we(t,"moduleAttributes","version")!=="may-2020")throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(J(t,"recordAndTuple")&&we(t,"recordAndTuple","syntaxType")!=null&&!Jr.includes(we(t,"recordAndTuple","syntaxType")))throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: "+Jr.map(r=>`'${r}'`).join(", "));if(J(t,"asyncDoExpressions")&&!J(t,"doExpressions")){let r=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw r.missingPlugins="doExpressions",r}}var Xr={estree:el,jsx:th,flow:Zl,typescript:uh,v8intrinsic:mh,placeholders:dh},xh=Object.keys(Xr),gh=class extends ah{checkProto(t,r,e,s){if(t.type==="SpreadElement"||this.isObjectMethod(t)||t.computed||t.shorthand)return;let i=t.key;if((i.type==="Identifier"?i.name:i.value)==="__proto__"){if(r){this.raise(f.RecordNoProto,{at:i});return}e.used&&(s?s.doubleProtoLoc===null&&(s.doubleProtoLoc=i.loc.start):this.raise(f.DuplicateProto,{at:i})),e.used=!0}}shouldExitDescending(t,r){return t.type==="ArrowFunctionExpression"&&t.start===r}getExpression(){this.enterInitialScopes(),this.nextToken();let t=this.parseExpression();return this.match(137)||this.unexpected(),this.finalizeRemainingComments(),t.comments=this.state.comments,t.errors=this.state.errors,this.options.tokens&&(t.tokens=this.tokens),t}parseExpression(t,r){return t?this.disallowInAnd(()=>this.parseExpressionBase(r)):this.allowInAnd(()=>this.parseExpressionBase(r))}parseExpressionBase(t){let r=this.state.startLoc,e=this.parseMaybeAssign(t);if(this.match(12)){let s=this.startNodeAt(r);for(s.expressions=[e];this.eat(12);)s.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(s.expressions),this.finishNode(s,"SequenceExpression")}return e}parseMaybeAssignDisallowIn(t,r){return this.disallowInAnd(()=>this.parseMaybeAssign(t,r))}parseMaybeAssignAllowIn(t,r){return this.allowInAnd(()=>this.parseMaybeAssign(t,r))}setOptionalParametersError(t,r){var e;t.optionalParametersLoc=(e=r==null?void 0:r.loc)!=null?e:this.state.startLoc}parseMaybeAssign(t,r){let e=this.state.startLoc;if(this.isContextual(106)&&this.prodParam.hasYield){let n=this.parseYield();return r&&(n=r.call(this,n,e)),n}let s;t?s=!1:(t=new vt,s=!0);let{type:i}=this.state;(i===10||q(i))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t);if(r&&(a=r.call(this,a,e)),Bo(this.state.type)){let n=this.startNodeAt(e),o=this.state.value;if(n.operator=o,this.match(29)){this.toAssignable(a,!0),n.left=a;let u=e.index;t.doubleProtoLoc!=null&&t.doubleProtoLoc.index>=u&&(t.doubleProtoLoc=null),t.shorthandAssignLoc!=null&&t.shorthandAssignLoc.index>=u&&(t.shorthandAssignLoc=null),t.privateKeyLoc!=null&&t.privateKeyLoc.index>=u&&(this.checkDestructuringPrivate(t),t.privateKeyLoc=null)}else n.left=a;return this.next(),n.right=this.parseMaybeAssign(),this.checkLVal(a,{in:this.finishNode(n,"AssignmentExpression")}),n}else s&&this.checkExpressionErrors(t,!0);return a}parseMaybeConditional(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseExprOps(t);return this.shouldExitDescending(s,e)?s:this.parseConditional(s,r,t)}parseConditional(t,r,e){if(this.eat(17)){let s=this.startNodeAt(r);return s.test=t,s.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),s.alternate=this.parseMaybeAssign(),this.finishNode(s,"ConditionalExpression")}return t}parseMaybeUnaryOrPrivate(t){return this.match(136)?this.parsePrivateName():this.parseMaybeUnary(t)}parseExprOps(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseMaybeUnaryOrPrivate(t);return this.shouldExitDescending(s,e)?s:this.parseExprOp(s,r,-1)}parseExprOp(t,r,e){if(this.isPrivateName(t)){let i=this.getPrivateNameSV(t);(e>=at(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(f.PrivateInExpectedIn,{at:t,identifierName:i}),this.classScope.usePrivateName(i,t.loc.start)}let s=this.state.type;if(_o(s)&&(this.prodParam.hasIn||!this.match(58))){let i=at(s);if(i>e){if(s===39){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return t;this.checkPipelineAtInfixOperator(t,r)}let a=this.startNodeAt(r);a.left=t,a.operator=this.state.value;let n=s===41||s===42,o=s===40;if(o&&(i=at(42)),this.next(),s===39&&this.hasPlugin(["pipelineOperator",{proposal:"minimal"}])&&this.state.type===96&&this.prodParam.hasAwait)throw this.raise(f.UnexpectedAwaitAfterPipelineBody,{at:this.state.startLoc});a.right=this.parseExprOpRightExpr(s,i);let u=this.finishNode(a,n||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(c===41||c===42)||n&&c===40)throw this.raise(f.MixingCoalesceWithLogical,{at:this.state.startLoc});return this.parseExprOp(u,r,e)}}return t}parseExprOpRightExpr(t,r){let e=this.state.startLoc;switch(t){case 39:switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"smart":return this.withTopicBindingContext(()=>{if(this.prodParam.hasYield&&this.isContextual(106))throw this.raise(f.PipeBodyIsTighter,{at:this.state.startLoc});return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(t,r),e)});case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(r))}default:return this.parseExprOpBaseRightExpr(t,r)}}parseExprOpBaseRightExpr(t,r){let e=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),e,$o(t)?r-1:r)}parseHackPipeBody(){var t;let{startLoc:r}=this.state,e=this.parseMaybeAssign();return Go.has(e.type)&&!((t=e.extra)!=null&&t.parenthesized)&&this.raise(f.PipeUnparenthesizedBody,{at:r,type:e.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(f.PipeTopicUnused,{at:r}),e}checkExponentialAfterUnary(t){this.match(57)&&this.raise(f.UnexpectedTokenUnaryExponentiation,{at:t.argument})}parseMaybeUnary(t,r){let e=this.state.startLoc,s=this.isContextual(96);if(s&&this.isAwaitAllowed()){this.next();let o=this.parseAwait(e);return r||this.checkExponentialAfterUnary(o),o}let i=this.match(34),a=this.startNode();if(jo(this.state.type)){a.operator=this.state.value,a.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");let o=this.match(89);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),this.state.strict&&o){let u=a.argument;u.type==="Identifier"?this.raise(f.StrictDelete,{at:a}):this.hasPropertyAsPrivateName(u)&&this.raise(f.DeletePrivateField,{at:a})}if(!i)return r||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}let n=this.parseUpdate(a,i,t);if(s){let{type:o}=this.state;if((this.hasPlugin("v8intrinsic")?He(o):He(o)&&!this.match(54))&&!this.isAmbiguousAwait())return this.raiseOverwrite(f.AwaitNotInAsyncContext,{at:e}),this.parseAwait(e)}return n}parseUpdate(t,r,e){if(r){let a=t;return this.checkLVal(a.argument,{in:this.finishNode(a,"UpdateExpression")}),t}let s=this.state.startLoc,i=this.parseExprSubscripts(e);if(this.checkExpressionErrors(e,!1))return i;for(;Ro(this.state.type)&&!this.canInsertSemicolon();){let a=this.startNodeAt(s);a.operator=this.state.value,a.prefix=!1,a.argument=i,this.next(),this.checkLVal(i,{in:i=this.finishNode(a,"UpdateExpression")})}return i}parseExprSubscripts(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseExprAtom(t);return this.shouldExitDescending(s,e)?s:this.parseSubscripts(s,r)}parseSubscripts(t,r,e){let s={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do t=this.parseSubscript(t,r,e,s),s.maybeAsyncArrow=!1;while(!s.stop);return t}parseSubscript(t,r,e,s){let{type:i}=this.state;if(!e&&i===15)return this.parseBind(t,r,e,s);if(nt(i))return this.parseTaggedTemplateExpression(t,r,s);let a=!1;if(i===18){if(e&&(this.raise(f.OptionalChainingNoNew,{at:this.state.startLoc}),this.lookaheadCharCode()===40))return s.stop=!0,t;s.optionalChainMember=a=!0,this.next()}if(!e&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(t,r,s,a);{let n=this.eat(0);return n||a||this.eat(16)?this.parseMember(t,r,s,n,a):(s.stop=!0,t)}}parseMember(t,r,e,s,i){let a=this.startNodeAt(r);return a.object=t,a.computed=s,s?(a.property=this.parseExpression(),this.expect(3)):this.match(136)?(t.type==="Super"&&this.raise(f.SuperPrivateField,{at:r}),this.classScope.usePrivateName(this.state.value,this.state.startLoc),a.property=this.parsePrivateName()):a.property=this.parseIdentifier(!0),e.optionalChainMember?(a.optional=i,this.finishNode(a,"OptionalMemberExpression")):this.finishNode(a,"MemberExpression")}parseBind(t,r,e,s){let i=this.startNodeAt(r);return i.object=t,this.next(),i.callee=this.parseNoCallExpr(),s.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),r,e)}parseCoverCallAndAsyncArrowHead(t,r,e,s){let i=this.state.maybeInArrowParameters,a=null;this.state.maybeInArrowParameters=!0,this.next();let n=this.startNodeAt(r);n.callee=t;let{maybeAsyncArrow:o,optionalChainMember:u}=e;o&&(this.expressionScope.enter($l()),a=new vt),u&&(n.optional=s),s?n.arguments=this.parseCallExpressionArguments(11):n.arguments=this.parseCallExpressionArguments(11,t.type==="Import",t.type!=="Super",n,a);let c=this.finishCallExpression(n,u);return o&&this.shouldParseAsyncArrow()&&!s?(e.stop=!0,this.checkDestructuringPrivate(a),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(r),c)):(o&&(this.checkExpressionErrors(a,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=i,c}toReferencedArguments(t,r){this.toReferencedListDeep(t.arguments,r)}parseTaggedTemplateExpression(t,r,e){let s=this.startNodeAt(r);return s.tag=t,s.quasi=this.parseTemplate(!0),e.optionalChainMember&&this.raise(f.OptionalChainingNoTemplate,{at:r}),this.finishNode(s,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return t.type==="Identifier"&&t.name==="async"&&this.state.lastTokEndLoc.index===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,r){if(t.callee.type==="Import")if(t.arguments.length===2&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),t.arguments.length===0||t.arguments.length>2)this.raise(f.ImportCallArity,{at:t,maxArgumentCount:this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?2:1});else for(let e of t.arguments)e.type==="SpreadElement"&&this.raise(f.ImportCallSpreadArgument,{at:e});return this.finishNode(t,r?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,r,e,s,i){let a=[],n=!0,o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(t);){if(n)n=!1;else if(this.expect(12),this.match(t)){r&&!this.hasPlugin("importAssertions")&&!this.hasPlugin("moduleAttributes")&&this.raise(f.ImportCallArgumentTrailingComma,{at:this.state.lastTokStartLoc}),s&&this.addTrailingCommaExtraToNode(s),this.next();break}a.push(this.parseExprListItem(!1,i,e))}return this.state.inFSharpPipelineDirectBody=o,a}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,r){var e;return this.resetPreviousNodeTrailingComments(r),this.expect(19),this.parseArrowExpression(t,r.arguments,!0,(e=r.extra)==null?void 0:e.trailingCommaLoc),r.innerComments&&Ke(t,r.innerComments),r.callee.trailingComments&&Ke(t,r.callee.trailingComments),t}parseNoCallExpr(){let t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,!0)}parseExprAtom(t){let r,e=null,{type:s}=this.state;switch(s){case 79:return this.parseSuper();case 83:return r=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(r):(this.match(10)||this.raise(f.UnsupportedImport,{at:this.state.lastTokStartLoc}),this.finishNode(r,"Import"));case 78:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 132:return this.parseNumericLiteral(this.state.value);case 133:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseDecimalLiteral(this.state.value);case 131:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{let i=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(i)}case 2:case 1:return this.parseArrayLike(this.state.type===2?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,t);case 6:case 7:return this.parseObjectLike(this.state.type===6?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,t);case 68:return this.parseFunctionOrFunctionSent();case 26:e=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(e,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{r=this.startNode(),this.next(),r.object=null;let i=r.callee=this.parseNoCallExpr();if(i.type==="MemberExpression")return this.finishNode(r,"BindExpression");throw this.raise(f.UnsupportedBind,{at:i})}case 136:return this.raise(f.PrivateInExpectedIn,{at:this.state.startLoc,identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{let i=this.getPluginOption("pipelineOperator","proposal");if(i)return this.parseTopicReference(i);this.unexpected();break}case 47:{let i=this.input.codePointAt(this.nextTokenStart());fe(i)||i===62?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(q(s)){if(this.isContextual(125)&&this.lookaheadCharCode()===123&&!this.hasFollowingLineBreak())return this.parseModuleExpression();let i=this.state.potentialArrowAt===this.state.start,a=this.state.containsEsc,n=this.parseIdentifier();if(!a&&n.name==="async"&&!this.canInsertSemicolon()){let{type:o}=this.state;if(o===68)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(q(o))return this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(o===90)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return i&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}else this.unexpected()}}parseTopicReferenceThenEqualsSign(t,r){let e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.state.type=t,this.state.value=r,this.state.pos--,this.state.end--,this.state.endLoc=Y(this.state.endLoc,-1),this.parseTopicReference(e);this.unexpected()}parseTopicReference(t){let r=this.startNode(),e=this.state.startLoc,s=this.state.type;return this.next(),this.finishTopicReference(r,e,t,s)}finishTopicReference(t,r,e,s){if(this.testTopicReferenceConfiguration(e,r,s)){let i=e==="smart"?"PipelinePrimaryTopicReference":"TopicReference";return this.topicReferenceIsAllowedInCurrentContext()||this.raise(e==="smart"?f.PrimaryTopicNotAllowed:f.PipeTopicUnbound,{at:r}),this.registerTopicReference(),this.finishNode(t,i)}else throw this.raise(f.PipeTopicUnconfiguredToken,{at:r,token:xe(s)})}testTopicReferenceConfiguration(t,r,e){switch(t){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:xe(e)}]);case"smart":return e===27;default:throw this.raise(f.PipeTopicRequiresHackPipes,{at:r})}}parseAsyncArrowUnaryFunction(t){this.prodParam.enter(Tt(!0,this.prodParam.hasYield));let r=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(f.LineTerminatorBeforeArrow,{at:this.state.curPosition()}),this.expect(19),this.parseArrowExpression(t,r,!0)}parseDo(t,r){this.expectPlugin("doExpressions"),r&&this.expectPlugin("asyncDoExpressions"),t.async=r,this.next();let e=this.state.labels;return this.state.labels=[],r?(this.prodParam.enter(At),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=e,this.finishNode(t,"DoExpression")}parseSuper(){let t=this.startNode();return this.next(),this.match(10)&&!this.scope.allowDirectSuper&&!this.options.allowSuperOutsideMethod?this.raise(f.SuperNotAllowed,{at:t}):!this.scope.allowSuper&&!this.options.allowSuperOutsideMethod&&this.raise(f.UnexpectedSuper,{at:t}),!this.match(10)&&!this.match(0)&&!this.match(16)&&this.raise(f.UnsupportedSuper,{at:t}),this.finishNode(t,"Super")}parsePrivateName(){let t=this.startNode(),r=this.startNodeAt(Y(this.state.startLoc,1)),e=this.state.value;return this.next(),t.id=this.createIdentifier(r,e),this.finishNode(t,"PrivateName")}parseFunctionOrFunctionSent(){let t=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"function");return this.next(),this.match(102)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(t,r,"sent")}return this.parseFunction(t)}parseMetaProperty(t,r,e){t.meta=r;let s=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==e||s)&&this.raise(f.UnsupportedMetaProperty,{at:t.property,target:r.name,onlyValidPropertyName:e}),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){let r=this.createIdentifier(this.startNodeAtNode(t),"import");return this.next(),this.isContextual(100)&&(this.inModule||this.raise(f.ImportMetaOutsideModule,{at:r}),this.sawUnambiguousESM=!0),this.parseMetaProperty(t,r,"meta")}parseLiteralAtNode(t,r,e){return this.addExtra(e,"rawValue",t),this.addExtra(e,"raw",this.input.slice(e.start,this.state.end)),e.value=t,this.next(),this.finishNode(e,r)}parseLiteral(t,r){let e=this.startNode();return this.parseLiteralAtNode(t,r,e)}parseStringLiteral(t){return this.parseLiteral(t,"StringLiteral")}parseNumericLiteral(t){return this.parseLiteral(t,"NumericLiteral")}parseBigIntLiteral(t){return this.parseLiteral(t,"BigIntLiteral")}parseDecimalLiteral(t){return this.parseLiteral(t,"DecimalLiteral")}parseRegExpLiteral(t){let r=this.parseLiteral(t.value,"RegExpLiteral");return r.pattern=t.pattern,r.flags=t.flags,r}parseBooleanLiteral(t){let r=this.startNode();return r.value=t,this.next(),this.finishNode(r,"BooleanLiteral")}parseNullLiteral(){let t=this.startNode();return this.next(),this.finishNode(t,"NullLiteral")}parseParenAndDistinguishExpression(t){let r=this.state.startLoc,e;this.next(),this.expressionScope.enter(Ul());let s=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;let a=this.state.startLoc,n=[],o=new vt,u=!0,c,y;for(;!this.match(11);){if(u)u=!1;else if(this.expect(12,o.optionalParametersLoc===null?null:o.optionalParametersLoc),this.match(11)){y=this.state.startLoc;break}if(this.match(21)){let C=this.state.startLoc;if(c=this.state.startLoc,n.push(this.parseParenItem(this.parseRestBinding(),C)),!this.checkCommaAfterRest(41))break}else n.push(this.parseMaybeAssignAllowIn(o,this.parseParenItem))}let g=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=s,this.state.inFSharpPipelineDirectBody=i;let T=this.startNodeAt(r);return t&&this.shouldParseArrow(n)&&(T=this.parseArrow(T))?(this.checkDestructuringPrivate(o),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(T,n,!1),T):(this.expressionScope.exit(),n.length||this.unexpected(this.state.lastTokStartLoc),y&&this.unexpected(y),c&&this.unexpected(c),this.checkExpressionErrors(o,!0),this.toReferencedListDeep(n,!0),n.length>1?(e=this.startNodeAt(a),e.expressions=n,this.finishNode(e,"SequenceExpression"),this.resetEndLocation(e,g)):e=n[0],this.wrapParenthesis(r,e))}wrapParenthesis(t,r){if(!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t.index),this.takeSurroundingComments(r,t.index,this.state.lastTokEndLoc.index),r;let e=this.startNodeAt(t);return e.expression=r,this.finishNode(e,"ParenthesizedExpression")}shouldParseArrow(t){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(19))return t}parseParenItem(t,r){return t}parseNewOrNewTarget(){let t=this.startNode();if(this.next(),this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"new");this.next();let e=this.parseMetaProperty(t,r,"target");return!this.scope.inNonArrowFunction&&!this.scope.inClass&&!this.options.allowNewTargetOutsideFunction&&this.raise(f.UnexpectedNewTarget,{at:e}),e}return this.parseNew(t)}parseNew(t){if(this.parseNewCallee(t),this.eat(10)){let r=this.parseExprList(11);this.toReferencedList(r),t.arguments=r}else t.arguments=[];return this.finishNode(t,"NewExpression")}parseNewCallee(t){t.callee=this.parseNoCallExpr(),t.callee.type==="Import"&&this.raise(f.ImportCallNotNewExpression,{at:t.callee})}parseTemplateElement(t){let{start:r,startLoc:e,end:s,value:i}=this.state,a=r+1,n=this.startNodeAt(Y(e,1));i===null&&(t||this.raise(f.InvalidEscapeSequenceTemplate,{at:Y(this.state.firstInvalidTemplateEscapePos,1)}));let o=this.match(24),u=o?-1:-2,c=s+u;n.value={raw:this.input.slice(a,c).replace(/\r\n?/g,` -`),cooked:i===null?null:i.slice(1,u)},n.tail=o,this.next();let y=this.finishNode(n,"TemplateElement");return this.resetEndLocation(y,Y(this.state.lastTokEndLoc,u)),y}parseTemplate(t){let r=this.startNode();r.expressions=[];let e=this.parseTemplateElement(t);for(r.quasis=[e];!e.tail;)r.expressions.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.quasis.push(e=this.parseTemplateElement(t));return this.finishNode(r,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,r,e,s){e&&this.expectPlugin("recordAndTuple");let i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let a=Object.create(null),n=!0,o=this.startNode();for(o.properties=[],this.next();!this.match(t);){if(n)n=!1;else if(this.expect(12),this.match(t)){this.addTrailingCommaExtraToNode(o);break}let c;r?c=this.parseBindingProperty():(c=this.parsePropertyDefinition(s),this.checkProto(c,e,a,s)),e&&!this.isObjectProperty(c)&&c.type!=="SpreadElement"&&this.raise(f.InvalidRecordProperty,{at:c}),c.shorthand&&this.addExtra(c,"shorthand",!0),o.properties.push(c)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return r?u="ObjectPattern":e&&(u="RecordExpression"),this.finishNode(o,u)}addTrailingCommaExtraToNode(t){this.addExtra(t,"trailingComma",this.state.lastTokStart),this.addExtra(t,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(t){return!t.computed&&t.key.type==="Identifier"&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(t){let r=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(f.UnsupportedPropertyDecorator,{at:this.state.startLoc});this.match(26);)r.push(this.parseDecorator());let e=this.startNode(),s=!1,i=!1,a;if(this.match(21))return r.length&&this.unexpected(),this.parseSpread();r.length&&(e.decorators=r,r=[]),e.method=!1,t&&(a=this.state.startLoc);let n=this.eat(55);this.parsePropertyNamePrefixOperator(e);let o=this.state.containsEsc,u=this.parsePropertyName(e,t);if(!n&&!o&&this.maybeAsyncOrAccessorProp(e)){let c=u.name;c==="async"&&!this.hasPrecedingLineBreak()&&(s=!0,this.resetPreviousNodeTrailingComments(u),n=this.eat(55),this.parsePropertyName(e)),(c==="get"||c==="set")&&(i=!0,this.resetPreviousNodeTrailingComments(u),e.kind=c,this.match(55)&&(n=!0,this.raise(f.AccessorIsGenerator,{at:this.state.curPosition(),kind:c}),this.next()),this.parsePropertyName(e))}return this.parseObjPropValue(e,a,n,s,!1,i,t)}getGetterSetterExpectedParamCount(t){return t.kind==="get"?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var r;let e=this.getGetterSetterExpectedParamCount(t),s=this.getObjectOrClassMethodParams(t);s.length!==e&&this.raise(t.kind==="get"?f.BadGetterArity:f.BadSetterArity,{at:t}),t.kind==="set"&&((r=s[s.length-1])==null?void 0:r.type)==="RestElement"&&this.raise(f.BadSetterRestParameter,{at:t})}parseObjectMethod(t,r,e,s,i){if(i){let a=this.parseMethod(t,r,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(a),a}if(e||r||this.match(10))return s&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,r,e,!1,!1,"ObjectMethod")}parseObjectProperty(t,r,e,s){if(t.shorthand=!1,this.eat(14))return t.value=e?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(s),this.finishNode(t,"ObjectProperty");if(!t.computed&&t.key.type==="Identifier"){if(this.checkReservedWord(t.key.name,t.key.loc.start,!0,!1),e)t.value=this.parseMaybeDefault(r,me(t.key));else if(this.match(29)){let i=this.state.startLoc;s!=null?s.shorthandAssignLoc===null&&(s.shorthandAssignLoc=i):this.raise(f.InvalidCoverInitializedName,{at:i}),t.value=this.parseMaybeDefault(r,me(t.key))}else t.value=me(t.key);return t.shorthand=!0,this.finishNode(t,"ObjectProperty")}}parseObjPropValue(t,r,e,s,i,a,n){let o=this.parseObjectMethod(t,e,s,i,a)||this.parseObjectProperty(t,r,i,n);return o||this.unexpected(),o}parsePropertyName(t,r){if(this.eat(0))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{let{type:e,value:s}=this.state,i;if(te(e))i=this.parseIdentifier(!0);else switch(e){case 132:i=this.parseNumericLiteral(s);break;case 131:i=this.parseStringLiteral(s);break;case 133:i=this.parseBigIntLiteral(s);break;case 134:i=this.parseDecimalLiteral(s);break;case 136:{let a=this.state.startLoc;r!=null?r.privateKeyLoc===null&&(r.privateKeyLoc=a):this.raise(f.UnexpectedPrivateField,{at:a}),i=this.parsePrivateName();break}default:this.unexpected()}t.key=i,e!==136&&(t.computed=!1)}return t.key}initFunction(t,r){t.id=null,t.generator=!1,t.async=r}parseMethod(t,r,e,s,i,a){let n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1;this.initFunction(t,e),t.generator=r,this.scope.enter(de|ht|(n?Ee:0)|(i?Pr:0)),this.prodParam.enter(Tt(e,t.generator)),this.parseFunctionParams(t,s);let o=this.parseFunctionBodyAndFinish(t,a,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(t,r,e,s){e&&this.expectPlugin("recordAndTuple");let i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let a=this.startNode();return this.next(),a.elements=this.parseExprList(t,!e,s,a),this.state.inFSharpPipelineDirectBody=i,this.finishNode(a,e?"TupleExpression":"ArrayExpression")}parseArrowExpression(t,r,e,s){this.scope.enter(de|Gt);let i=Tt(e,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=_e),this.prodParam.enter(i),this.initFunction(t,e);let a=this.state.maybeInArrowParameters;return r&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,r,s)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=a,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,r,e){this.toAssignableList(r,e,!1),t.params=r}parseFunctionBodyAndFinish(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.parseFunctionBody(t,!1,e),this.finishNode(t,r)}parseFunctionBody(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=r&&!this.match(5);if(this.expressionScope.enter(_r()),s)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,r,!1);else{let i=this.state.strict,a=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|jr),t.body=this.parseBlock(!0,!1,n=>{let o=!this.isSimpleParamList(t.params);n&&o&&this.raise(f.IllegalLanguageModeDirective,{at:(t.kind==="method"||t.kind==="constructor")&&t.key?t.key.loc.end:t});let u=!i&&this.state.strict;this.checkParams(t,!this.state.strict&&!r&&!e&&!o,r,u),this.state.strict&&t.id&&this.checkIdentifier(t.id,dl,u)}),this.prodParam.exit(),this.state.labels=a}this.expressionScope.exit()}isSimpleParameter(t){return t.type==="Identifier"}isSimpleParamList(t){for(let r=0,e=t.length;r3&&arguments[3]!==void 0?arguments[3]:!0,i=!r&&new Set,a={type:"FormalParameters"};for(let n of t.params)this.checkLVal(n,{in:a,binding:mt,checkClashes:i,strictModeChanged:s})}parseExprList(t,r,e,s){let i=[],a=!0;for(;!this.eat(t);){if(a)a=!1;else if(this.expect(12),this.match(t)){s&&this.addTrailingCommaExtraToNode(s),this.next();break}i.push(this.parseExprListItem(r,e))}return i}parseExprListItem(t,r,e){let s;if(this.match(12))t||this.raise(f.UnexpectedToken,{at:this.state.curPosition(),unexpected:","}),s=null;else if(this.match(21)){let i=this.state.startLoc;s=this.parseParenItem(this.parseSpread(r),i)}else if(this.match(17)){this.expectPlugin("partialApplication"),e||this.raise(f.UnexpectedArgumentPlaceholder,{at:this.state.startLoc});let i=this.startNode();this.next(),s=this.finishNode(i,"ArgumentPlaceholder")}else s=this.parseMaybeAssignAllowIn(r,this.parseParenItem);return s}parseIdentifier(t){let r=this.startNode(),e=this.parseIdentifierName(t);return this.createIdentifier(r,e)}createIdentifier(t,r){return t.name=r,t.loc.identifierName=r,this.finishNode(t,"Identifier")}parseIdentifierName(t){let r,{startLoc:e,type:s}=this.state;te(s)?r=this.state.value:this.unexpected();let i=ue(s);return t?i&&this.replaceToken(130):this.checkReservedWord(r,e,i,!1),this.next(),r}checkReservedWord(t,r,e,s){if(t.length>10||!ul(t))return;if(e&&ol(t)){this.raise(f.UnexpectedKeyword,{at:r,keyword:t});return}if((this.state.strict?s?xr:mr:dr)(t,this.inModule)){this.raise(f.UnexpectedReservedWord,{at:r,reservedWord:t});return}else if(t==="yield"){if(this.prodParam.hasYield){this.raise(f.YieldBindingIdentifier,{at:r});return}}else if(t==="await"){if(this.prodParam.hasAwait){this.raise(f.AwaitBindingIdentifier,{at:r});return}if(this.scope.inStaticBlock){this.raise(f.AwaitBindingIdentifierInStaticBlock,{at:r});return}this.expressionScope.recordAsyncArrowParametersError({at:r})}else if(t==="arguments"&&this.scope.inClassAndNotInNonArrowFunction){this.raise(f.ArgumentsInClass,{at:r});return}}isAwaitAllowed(){return!!(this.prodParam.hasAwait||this.options.allowAwaitOutsideFunction&&!this.scope.inFunction)}parseAwait(t){let r=this.startNodeAt(t);return this.expressionScope.recordParameterInitializerError(f.AwaitExpressionFormalParameter,{at:r}),this.eat(55)&&this.raise(f.ObsoleteAwaitStar,{at:r}),!this.scope.inFunction&&!this.options.allowAwaitOutsideFunction&&(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(r.argument=this.parseMaybeUnary(null,!0)),this.finishNode(r,"AwaitExpression")}isAmbiguousAwait(){if(this.hasPrecedingLineBreak())return!0;let{type:t}=this.state;return t===53||t===10||t===0||nt(t)||t===101&&!this.state.containsEsc||t===135||t===56||this.hasPlugin("v8intrinsic")&&t===54}parseYield(){let t=this.startNode();this.expressionScope.recordParameterInitializerError(f.YieldInParameter,{at:t}),this.next();let r=!1,e=null;if(!this.hasPrecedingLineBreak())switch(r=this.eat(55),this.state.type){case 13:case 137:case 8:case 11:case 3:case 9:case 14:case 12:if(!r)break;default:e=this.parseMaybeAssign()}return t.delegate=r,t.argument=e,this.finishNode(t,"YieldExpression")}checkPipelineAtInfixOperator(t,r){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&t.type==="SequenceExpression"&&this.raise(f.PipelineHeadSequenceExpression,{at:r})}parseSmartPipelineBodyInStyle(t,r){if(this.isSimpleReference(t)){let e=this.startNodeAt(r);return e.callee=t,this.finishNode(e,"PipelineBareFunction")}else{let e=this.startNodeAt(r);return this.checkSmartPipeTopicBodyEarlyErrors(r),e.expression=t,this.finishNode(e,"PipelineTopicExpression")}}isSimpleReference(t){switch(t.type){case"MemberExpression":return!t.computed&&this.isSimpleReference(t.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(t){if(this.match(19))throw this.raise(f.PipelineBodyNoArrow,{at:this.state.startLoc});this.topicReferenceWasUsedInCurrentContext()||this.raise(f.PipelineTopicUnused,{at:t})}withTopicBindingContext(t){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}withSmartMixTopicForbiddingContext(t){if(this.hasPlugin(["pipelineOperator",{proposal:"smart"}])){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}else return t()}withSoloAwaitPermittingContext(t){let r=this.state.soloAwait;this.state.soloAwait=!0;try{return t()}finally{this.state.soloAwait=r}}allowInAnd(t){let r=this.prodParam.currentFlags();if(_e&~r){this.prodParam.enter(r|_e);try{return t()}finally{this.prodParam.exit()}}return t()}disallowInAnd(t){let r=this.prodParam.currentFlags();if(_e&r){this.prodParam.enter(r&~_e);try{return t()}finally{this.prodParam.exit()}}return t()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return this.state.topicContext.maxTopicIndex!=null&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){let r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;let e=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;let s=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),r,t);return this.state.inFSharpPipelineDirectBody=e,s}parseModuleExpression(){this.expectPlugin("moduleBlocks");let t=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);let r=this.startNodeAt(this.state.endLoc);this.next();let e=this.initializeScopes(!0);this.enterInitialScopes();try{t.body=this.parseProgram(r,8,"module")}finally{e()}return this.finishNode(t,"ModuleExpression")}parsePropertyNamePrefixOperator(t){}},cs={kind:"loop"},Ph={kind:"switch"},Ah=/[\uD800-\uDFFF]/u,ps=/in(?:stanceof)?/y;function Th(t,r){for(let e=0;e1&&arguments[1]!==void 0?arguments[1]:137,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.options.sourceType;if(t.sourceType=e,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,r),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let[i,a]of Array.from(this.scope.undefinedExports))this.raise(f.ModuleExportUndefined,{at:a,localName:i});let s;return r===137?s=this.finishNode(t,"Program"):s=this.finishNodeAt(t,"Program",Y(this.state.startLoc,-1)),s}stmtToDirective(t){let r=t;r.type="Directive",r.value=r.expression,delete r.expression;let e=r.value,s=e.value,i=this.input.slice(e.start,e.end),a=e.value=i.slice(1,-1);return this.addExtra(e,"raw",i),this.addExtra(e,"rawValue",a),this.addExtra(e,"expressionValue",s),e.type="DirectiveLiteral",r}parseInterpreterDirective(){if(!this.match(28))return null;let t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(){return this.isContextual(99)?this.hasFollowingBindingAtom():!1}chStartsBindingIdentifier(t,r){if(fe(t)){if(ps.lastIndex=r,ps.test(this.input)){let e=this.codePointAtPos(ps.lastIndex);if(!De(e)&&e!==92)return!1}return!0}else return t===92}chStartsBindingPattern(t){return t===91||t===123}hasFollowingBindingAtom(){let t=this.nextTokenStart(),r=this.codePointAtPos(t);return this.chStartsBindingPattern(r)||this.chStartsBindingIdentifier(r,t)}hasFollowingBindingIdentifier(){let t=this.nextTokenStart(),r=this.codePointAtPos(t);return this.chStartsBindingIdentifier(r,t)}startsUsingForOf(){let t=this.lookahead();return t.type===101&&!t.containsEsc?!1:(this.expectPlugin("explicitResourceManagement"),!0)}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=0;return this.options.annexB&&!this.state.strict&&(r|=4,t&&(r|=8)),this.parseStatementLike(r)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(t){let r=null;return this.match(26)&&(r=this.parseDecorators(!0)),this.parseStatementContent(t,r)}parseStatementContent(t,r){let e=this.state.type,s=this.startNode(),i=!!(t&2),a=!!(t&4),n=t&1;switch(e){case 60:return this.parseBreakContinueStatement(s,!0);case 63:return this.parseBreakContinueStatement(s,!1);case 64:return this.parseDebuggerStatement(s);case 90:return this.parseDoWhileStatement(s);case 91:return this.parseForStatement(s);case 68:if(this.lookaheadCharCode()===46)break;return a||this.raise(this.state.strict?f.StrictFunction:this.options.annexB?f.SloppyFunctionAnnexB:f.SloppyFunction,{at:this.state.startLoc}),this.parseFunctionStatement(s,!1,!i&&a);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(r,s),!0);case 69:return this.parseIfStatement(s);case 70:return this.parseReturnStatement(s);case 71:return this.parseSwitchStatement(s);case 72:return this.parseThrowStatement(s);case 73:return this.parseTryStatement(s);case 105:if(this.hasFollowingLineBreak()||this.state.containsEsc||!this.hasFollowingBindingIdentifier())break;return this.expectPlugin("explicitResourceManagement"),!this.scope.inModule&&this.scope.inTopLevel?this.raise(f.UnexpectedUsingDeclaration,{at:this.state.startLoc}):i||this.raise(f.UnexpectedLexicalDeclaration,{at:this.state.startLoc}),this.parseVarStatement(s,"using");case 99:{if(this.state.containsEsc)break;let c=this.nextTokenStart(),y=this.codePointAtPos(c);if(y!==91&&(!i&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(y,c)&&y!==123))break}case 75:i||this.raise(f.UnexpectedLexicalDeclaration,{at:this.state.startLoc});case 74:{let c=this.state.value;return this.parseVarStatement(s,c)}case 92:return this.parseWhileStatement(s);case 76:return this.parseWithStatement(s);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(s);case 83:{let c=this.lookaheadCharCode();if(c===40||c===46)break}case 82:{!this.options.allowImportExportEverywhere&&!n&&this.raise(f.UnexpectedImportExport,{at:this.state.startLoc}),this.next();let c;return e===83?(c=this.parseImport(s),c.type==="ImportDeclaration"&&(!c.importKind||c.importKind==="value")&&(this.sawUnambiguousESM=!0)):(c=this.parseExport(s,r),(c.type==="ExportNamedDeclaration"&&(!c.exportKind||c.exportKind==="value")||c.type==="ExportAllDeclaration"&&(!c.exportKind||c.exportKind==="value")||c.type==="ExportDefaultDeclaration")&&(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(c),c}default:if(this.isAsyncFunction())return i||this.raise(f.AsyncFunctionInSingleStatementContext,{at:this.state.startLoc}),this.next(),this.parseFunctionStatement(s,!0,!i&&a)}let o=this.state.value,u=this.parseExpression();return q(e)&&u.type==="Identifier"&&this.eat(14)?this.parseLabeledStatement(s,o,u,t):this.parseExpressionStatement(s,u,r)}assertModuleNodeAllowed(t){!this.options.allowImportExportEverywhere&&!this.inModule&&this.raise(f.ImportOutsideModule,{at:t})}decoratorsEnabledBeforeExport(){return this.hasPlugin("decorators-legacy")?!0:this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")!==!1}maybeTakeDecorators(t,r,e){return t&&(r.decorators&&r.decorators.length>0?(typeof this.getPluginOption("decorators","decoratorsBeforeExport")!="boolean"&&this.raise(f.DecoratorsBeforeAfterExport,{at:r.decorators[0]}),r.decorators.unshift(...t)):r.decorators=t,this.resetStartLocationFromNode(r,t[0]),e&&this.resetStartLocationFromNode(e,r)),r}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(t){let r=[];do r.push(this.parseDecorator());while(this.match(26));if(this.match(82))t||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(f.DecoratorExportClass,{at:this.state.startLoc});else if(!this.canHaveLeadingDecorator())throw this.raise(f.UnexpectedLeadingDecorator,{at:this.state.startLoc});return r}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);let t=this.startNode();if(this.next(),this.hasPlugin("decorators")){let r=this.state.startLoc,e;if(this.match(10)){let s=this.state.startLoc;this.next(),e=this.parseExpression(),this.expect(11),e=this.wrapParenthesis(s,e);let i=this.state.startLoc;t.expression=this.parseMaybeDecoratorArguments(e),this.getPluginOption("decorators","allowCallParenthesized")===!1&&t.expression!==e&&this.raise(f.DecoratorArgumentsOutsideParentheses,{at:i})}else{for(e=this.parseIdentifier(!1);this.eat(16);){let s=this.startNodeAt(r);s.object=e,this.match(136)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),s.computed=!1,e=this.finishNode(s,"MemberExpression")}t.expression=this.parseMaybeDecoratorArguments(e)}}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(10)){let r=this.startNodeAtNode(t);return r.callee=t,r.arguments=this.parseCallExpressionArguments(11,!1),this.toReferencedList(r.arguments),this.finishNode(r,"CallExpression")}return t}parseBreakContinueStatement(t,r){return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,r),this.finishNode(t,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,r){let e;for(e=0;ethis.parseStatement()),this.state.labels.pop(),this.expect(92),t.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(cs);let r=null;if(this.isAwaitAllowed()&&this.eatContextual(96)&&(r=this.state.lastTokStartLoc),this.scope.enter(Fe),this.expect(10),this.match(13))return r!==null&&this.unexpected(r),this.parseFor(t,null);let e=this.isContextual(99),s=this.isContextual(105)&&!this.hasFollowingLineBreak(),i=e&&this.hasFollowingBindingAtom()||s&&this.hasFollowingBindingIdentifier()&&this.startsUsingForOf();if(this.match(74)||this.match(75)||i){let c=this.startNode(),y=this.state.value;this.next(),this.parseVar(c,!0,y);let g=this.finishNode(c,"VariableDeclaration"),T=this.match(58);return T&&s&&this.raise(f.ForInUsing,{at:g}),(T||this.isContextual(101))&&g.declarations.length===1?this.parseForIn(t,g,r):(r!==null&&this.unexpected(r),this.parseFor(t,g))}let a=this.isContextual(95),n=new vt,o=this.parseExpression(!0,n),u=this.isContextual(101);if(u&&(e&&this.raise(f.ForOfLet,{at:o}),r===null&&a&&o.type==="Identifier"&&this.raise(f.ForOfAsync,{at:o})),u||this.match(58)){this.checkDestructuringPrivate(n),this.toAssignable(o,!0);let c=u?"ForOfStatement":"ForInStatement";return this.checkLVal(o,{in:{type:c}}),this.parseForIn(t,o,r)}else this.checkExpressionErrors(n,!0);return r!==null&&this.unexpected(r),this.parseFor(t,o)}parseFunctionStatement(t,r,e){return this.next(),this.parseFunction(t,1|(e?2:0)|(r?8:0))}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),t.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return!this.prodParam.hasReturn&&!this.options.allowReturnOutsideFunction&&this.raise(f.IllegalReturn,{at:this.state.startLoc}),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();let r=t.cases=[];this.expect(5),this.state.labels.push(Ph),this.scope.enter(Fe);let e;for(let s;!this.match(8);)if(this.match(61)||this.match(65)){let i=this.match(61);e&&this.finishNode(e,"SwitchCase"),r.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(s&&this.raise(f.MultipleDefaultsInSwitch,{at:this.state.lastTokStartLoc}),s=!0,e.test=null),this.expect(14)}else e?e.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(f.NewlineAfterThrow,{at:this.state.lastTokEndLoc}),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseCatchClauseParam(){let t=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&t.type==="Identifier"?gr:0),this.checkLVal(t,{in:{type:"CatchClause"},binding:cl}),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(62)){let r=this.startNode();this.next(),this.match(10)?(this.expect(10),r.param=this.parseCatchClauseParam(),this.expect(11)):(r.param=null,this.scope.enter(Fe)),r.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(r,"CatchClause")}return t.finalizer=this.eat(67)?this.parseBlock():null,!t.handler&&!t.finalizer&&this.raise(f.NoCatchOrFinally,{at:t}),this.finishNode(t,"TryStatement")}parseVarStatement(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.next(),this.parseVar(t,!1,r,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(cs),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(f.StrictWith,{at:this.state.startLoc}),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,r,e,s){for(let a of this.state.labels)a.name===r&&this.raise(f.LabelRedeclaration,{at:e,labelName:r});let i=Mo(this.state.type)?"loop":this.match(71)?"switch":null;for(let a=this.state.labels.length-1;a>=0;a--){let n=this.state.labels[a];if(n.statementStart===t.start)n.statementStart=this.state.start,n.kind=i;else break}return this.state.labels.push({name:r,kind:i,statementStart:this.state.start}),t.body=s&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),t.label=e,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,r,e){return t.expression=r,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,e=arguments.length>2?arguments[2]:void 0,s=this.startNode();return t&&this.state.strictErrors.clear(),this.expect(5),r&&this.scope.enter(Fe),this.parseBlockBody(s,t,!1,8,e),r&&this.scope.exit(),this.finishNode(s,"BlockStatement")}isValidDirective(t){return t.type==="ExpressionStatement"&&t.expression.type==="StringLiteral"&&!t.expression.extra.parenthesized}parseBlockBody(t,r,e,s,i){let a=t.body=[],n=t.directives=[];this.parseBlockOrModuleBlockBody(a,r?n:void 0,e,s,i)}parseBlockOrModuleBlockBody(t,r,e,s,i){let a=this.state.strict,n=!1,o=!1;for(;!this.match(s);){let u=e?this.parseModuleItem():this.parseStatementListItem();if(r&&!o){if(this.isValidDirective(u)){let c=this.stmtToDirective(u);r.push(c),!n&&c.value.value==="use strict"&&(n=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}t.push(u)}i&&i.call(this,n),a||this.setStrict(!1),this.next()}parseFor(t,r){return t.init=r,this.semicolon(!1),t.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),t.update=this.match(11)?null:this.parseExpression(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,r,e){let s=this.match(58);return this.next(),s?e!==null&&this.unexpected(e):t.await=e!==null,r.type==="VariableDeclaration"&&r.declarations[0].init!=null&&(!s||!this.options.annexB||this.state.strict||r.kind!=="var"||r.declarations[0].id.type!=="Identifier")&&this.raise(f.ForInOfLoopInitializer,{at:r,type:s?"ForInStatement":"ForOfStatement"}),r.type==="AssignmentPattern"&&this.raise(f.InvalidLhs,{at:r,ancestor:{type:"ForStatement"}}),t.left=r,t.right=s?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")}parseVar(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=t.declarations=[];for(t.kind=e;;){let a=this.startNode();if(this.parseVarId(a,e),a.init=this.eat(29)?r?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,a.init===null&&!s&&(a.id.type!=="Identifier"&&!(r&&(this.match(58)||this.isContextual(101)))?this.raise(f.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:"destructuring"}):e==="const"&&!(this.match(58)||this.isContextual(101))&&this.raise(f.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:"const"})),i.push(this.finishNode(a,"VariableDeclarator")),!this.eat(12))break}return t}parseVarId(t,r){r==="using"&&!this.inModule&&this.match(96)&&this.raise(f.AwaitInUsingBinding,{at:this.state.startLoc});let e=this.parseBindingAtom();this.checkLVal(e,{in:{type:"VariableDeclarator"},binding:r==="var"?mt:Be}),t.id=e}parseAsyncFunctionExpression(t){return this.parseFunction(t,8)}parseFunction(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=r&2,s=!!(r&1),i=s&&!(r&4),a=!!(r&8);this.initFunction(t,a),this.match(55)&&(e&&this.raise(f.GeneratorInSingleStatementContext,{at:this.state.startLoc}),this.next(),t.generator=!0),s&&(t.id=this.parseFunctionId(i));let n=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(de),this.prodParam.enter(Tt(a,t.generator)),s||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,s?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),s&&!e&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=n,t}parseFunctionId(t){return t||q(this.state.type)?this.parseIdentifier():null}parseFunctionParams(t,r){this.expect(10),this.expressionScope.enter(ql()),t.params=this.parseBindingList(11,41,2|(r?4:0)),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,!this.options.annexB||this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?mt:Be:Er,t.id.loc.start)}parseClass(t,r,e){this.next();let s=this.state.strict;return this.state.strict=!0,this.parseClassId(t,r,e),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,s),this.finishNode(t,r?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}isNonstaticConstructor(t){return!t.computed&&!t.static&&(t.key.name==="constructor"||t.key.value==="constructor")}parseClassBody(t,r){this.classScope.enter();let e={hadConstructor:!1,hadSuperClass:t},s=[],i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(s.length>0)throw this.raise(f.DecoratorSemicolon,{at:this.state.lastTokEndLoc});continue}if(this.match(26)){s.push(this.parseDecorator());continue}let a=this.startNode();s.length&&(a.decorators=s,this.resetStartLocationFromNode(a,s[0]),s=[]),this.parseClassMember(i,a,e),a.kind==="constructor"&&a.decorators&&a.decorators.length>0&&this.raise(f.DecoratorConstructor,{at:a})}}),this.state.strict=r,this.next(),s.length)throw this.raise(f.TrailingDecorator,{at:this.state.startLoc});return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(t,r){let e=this.parseIdentifier(!0);if(this.isClassMethod()){let s=r;return s.kind="method",s.computed=!1,s.key=e,s.static=!1,this.pushClassMethod(t,s,!1,!1,!1,!1),!0}else if(this.isClassProperty()){let s=r;return s.computed=!1,s.key=e,s.static=!1,t.body.push(this.parseClassProperty(s)),!0}return this.resetPreviousNodeTrailingComments(e),!1}parseClassMember(t,r,e){let s=this.isContextual(104);if(s){if(this.parseClassMemberFromModifier(t,r))return;if(this.eat(5)){this.parseClassStaticBlock(t,r);return}}this.parseClassMemberWithIsStatic(t,r,e,s)}parseClassMemberWithIsStatic(t,r,e,s){let i=r,a=r,n=r,o=r,u=r,c=i,y=i;if(r.static=s,this.parsePropertyNamePrefixOperator(r),this.eat(55)){c.kind="method";let j=this.match(136);if(this.parseClassElementName(c),j){this.pushClassPrivateMethod(t,a,!0,!1);return}this.isNonstaticConstructor(i)&&this.raise(f.ConstructorIsGenerator,{at:i.key}),this.pushClassMethod(t,i,!0,!1,!1,!1);return}let g=q(this.state.type)&&!this.state.containsEsc,T=this.match(136),C=this.parseClassElementName(r),M=this.state.startLoc;if(this.parsePostMemberNameModifiers(y),this.isClassMethod()){if(c.kind="method",T){this.pushClassPrivateMethod(t,a,!1,!1);return}let j=this.isNonstaticConstructor(i),K=!1;j&&(i.kind="constructor",e.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(f.DuplicateConstructor,{at:C}),j&&this.hasPlugin("typescript")&&r.override&&this.raise(f.OverrideOnConstructor,{at:C}),e.hadConstructor=!0,K=e.hadSuperClass),this.pushClassMethod(t,i,!1,!1,j,K)}else if(this.isClassProperty())T?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,n);else if(g&&C.name==="async"&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(C);let j=this.eat(55);y.optional&&this.unexpected(M),c.kind="method";let K=this.match(136);this.parseClassElementName(c),this.parsePostMemberNameModifiers(y),K?this.pushClassPrivateMethod(t,a,j,!0):(this.isNonstaticConstructor(i)&&this.raise(f.ConstructorIsAsync,{at:i.key}),this.pushClassMethod(t,i,j,!0,!1,!1))}else if(g&&(C.name==="get"||C.name==="set")&&!(this.match(55)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(C),c.kind=C.name;let j=this.match(136);this.parseClassElementName(i),j?this.pushClassPrivateMethod(t,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(f.ConstructorIsAccessor,{at:i.key}),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else if(g&&C.name==="accessor"&&!this.isLineTerminator()){this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(C);let j=this.match(136);this.parseClassElementName(n),this.pushClassAccessorProperty(t,u,j)}else this.isLineTerminator()?T?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,n):this.unexpected()}parseClassElementName(t){let{type:r,value:e}=this.state;if((r===130||r===131)&&t.static&&e==="prototype"&&this.raise(f.StaticPrototype,{at:this.state.startLoc}),r===136){e==="constructor"&&this.raise(f.ConstructorClassPrivateField,{at:this.state.startLoc});let s=this.parsePrivateName();return t.key=s,s}return this.parsePropertyName(t)}parseClassStaticBlock(t,r){var e;this.scope.enter(Ee|ut|ht);let s=this.state.labels;this.state.labels=[],this.prodParam.enter(Me);let i=r.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=s,t.body.push(this.finishNode(r,"StaticBlock")),(e=r.decorators)!=null&&e.length&&this.raise(f.DecoratorStaticBlock,{at:r})}pushClassProperty(t,r){!r.computed&&(r.key.name==="constructor"||r.key.value==="constructor")&&this.raise(f.ConstructorClassField,{at:r.key}),t.body.push(this.parseClassProperty(r))}pushClassPrivateProperty(t,r){let e=this.parseClassPrivateProperty(r);t.body.push(e),this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),ss,e.key.loc.start)}pushClassAccessorProperty(t,r,e){if(!e&&!r.computed){let i=r.key;(i.name==="constructor"||i.value==="constructor")&&this.raise(f.ConstructorClassField,{at:i})}let s=this.parseClassAccessorProperty(r);t.body.push(s),e&&this.classScope.declarePrivateName(this.getPrivateNameSV(s.key),ss,s.key.loc.start)}pushClassMethod(t,r,e,s,i,a){t.body.push(this.parseMethod(r,e,s,i,a,"ClassMethod",!0))}pushClassPrivateMethod(t,r,e,s){let i=this.parseMethod(r,e,s,!1,!1,"ClassPrivateMethod",!0);t.body.push(i);let a=i.kind==="get"?i.static?gl:Al:i.kind==="set"?i.static?Pl:Tl:ss;this.declareClassPrivateMethodInScope(i,a)}declareClassPrivateMethodInScope(t,r){this.classScope.declarePrivateName(this.getPrivateNameSV(t.key),r,t.key.loc.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassProperty")}parseClassAccessorProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassAccessorProperty")}parseInitializer(t){this.scope.enter(Ee|ht),this.expressionScope.enter(_r()),this.prodParam.enter(Me),t.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:vr;if(q(this.state.type))t.id=this.parseIdentifier(),r&&this.declareNameFromIdentifier(t.id,s);else if(e||!r)t.id=null;else throw this.raise(f.MissingClassName,{at:this.state.startLoc})}parseClassSuper(t){t.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(t,r){let e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(12),i=s&&this.eatExportStar(t),a=i&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!a||this.eat(12)),o=e||i;if(i&&!a){if(e&&this.unexpected(),r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});return this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration")}let u=this.maybeParseExportNamedSpecifiers(t);e&&s&&!i&&!u&&this.unexpected(null,5),a&&n&&this.unexpected(null,97);let c;if(o||u){if(c=!1,r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});this.parseExportFrom(t,o)}else c=this.maybeParseExportDeclaration(t);if(o||u||c){var y;let g=t;if(this.checkExport(g,!0,!1,!!g.source),((y=g.declaration)==null?void 0:y.type)==="ClassDeclaration")this.maybeTakeDecorators(r,g.declaration,g);else if(r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});return this.finishNode(g,"ExportNamedDeclaration")}if(this.eat(65)){let g=t,T=this.parseExportDefaultExpression();if(g.declaration=T,T.type==="ClassDeclaration")this.maybeTakeDecorators(r,T,g);else if(r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});return this.checkExport(g,!0,!0),this.finishNode(g,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(t){return this.eat(55)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");let r=this.startNode();return r.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual(93)){t.specifiers||(t.specifiers=[]);let r=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),r.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(r,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){if(this.match(5)){t.specifiers||(t.specifiers=[]);let r=t.exportKind==="type";return t.specifiers.push(...this.parseExportSpecifiers(r)),t.source=null,t.declaration=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),!0}return!1}maybeParseExportDeclaration(t){return this.shouldParseExportDeclaration()?(t.specifiers=[],t.source=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),t.declaration=this.parseExportDeclaration(t),!0):!1}isAsyncFunction(){if(!this.isContextual(95))return!1;let t=this.nextTokenStart();return!as.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){let t=this.startNode();if(this.match(68))return this.next(),this.parseFunction(t,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(t,13);if(this.match(80))return this.parseClass(t,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(f.DecoratorBeforeExport,{at:this.state.startLoc}),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet())throw this.raise(f.UnsupportedDefaultExport,{at:this.state.startLoc});let r=this.parseMaybeAssignAllowIn();return this.semicolon(),r}parseExportDeclaration(t){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:t}=this.state;if(q(t)){if(t===95&&!this.state.containsEsc||t===99)return!1;if((t===128||t===127)&&!this.state.containsEsc){let{type:s}=this.lookahead();if(q(s)&&s!==97||s===5)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;let r=this.nextTokenStart(),e=this.isUnparsedContextual(r,"from");if(this.input.charCodeAt(r)===44||q(this.state.type)&&e)return!0;if(this.match(65)&&e){let s=this.input.charCodeAt(this.nextTokenStartSince(r+4));return s===34||s===39}return!1}parseExportFrom(t,r){if(this.eatContextual(97)){t.source=this.parseImportSource(),this.checkExport(t);let e=this.maybeParseImportAssertions();e&&(t.assertions=e,this.checkJSONModuleImport(t))}else r&&this.unexpected();this.semicolon()}shouldParseExportDeclaration(){let{type:t}=this.state;return t===26&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(f.DecoratorBeforeExport,{at:this.state.startLoc}),!0):t===74||t===75||t===68||t===80||this.isLet()||this.isAsyncFunction()}checkExport(t,r,e,s){if(r){if(e){if(this.checkDuplicateExports(t,"default"),this.hasPlugin("exportDefaultFrom")){var i;let a=t.declaration;a.type==="Identifier"&&a.name==="from"&&a.end-a.start===4&&!((i=a.extra)!=null&&i.parenthesized)&&this.raise(f.ExportDefaultFromAsIdentifier,{at:a})}}else if(t.specifiers&&t.specifiers.length)for(let a of t.specifiers){let{exported:n}=a,o=n.type==="Identifier"?n.name:n.value;if(this.checkDuplicateExports(a,o),!s&&a.local){let{local:u}=a;u.type!=="Identifier"?this.raise(f.ExportBindingIsString,{at:a,localName:u.value,exportName:o}):(this.checkReservedWord(u.name,u.loc.start,!0,!1),this.scope.checkLocalExport(u))}}else if(t.declaration){if(t.declaration.type==="FunctionDeclaration"||t.declaration.type==="ClassDeclaration"){let a=t.declaration.id;if(!a)throw new Error("Assertion failure");this.checkDuplicateExports(t,a.name)}else if(t.declaration.type==="VariableDeclaration")for(let a of t.declaration.declarations)this.checkDeclaration(a.id)}}}checkDeclaration(t){if(t.type==="Identifier")this.checkDuplicateExports(t,t.name);else if(t.type==="ObjectPattern")for(let r of t.properties)this.checkDeclaration(r);else if(t.type==="ArrayPattern")for(let r of t.elements)r&&this.checkDeclaration(r);else t.type==="ObjectProperty"?this.checkDeclaration(t.value):t.type==="RestElement"?this.checkDeclaration(t.argument):t.type==="AssignmentPattern"&&this.checkDeclaration(t.left)}checkDuplicateExports(t,r){this.exportedIdentifiers.has(r)&&(r==="default"?this.raise(f.DuplicateDefaultExport,{at:t}):this.raise(f.DuplicateExport,{at:t,exportName:r})),this.exportedIdentifiers.add(r)}parseExportSpecifiers(t){let r=[],e=!0;for(this.expect(5);!this.eat(8);){if(e)e=!1;else if(this.expect(12),this.eat(8))break;let s=this.isContextual(128),i=this.match(131),a=this.startNode();a.local=this.parseModuleExportName(),r.push(this.parseExportSpecifier(a,i,t,s))}return r}parseExportSpecifier(t,r,e,s){return this.eatContextual(93)?t.exported=this.parseModuleExportName():r?t.exported=Kl(t.local):t.exported||(t.exported=me(t.local)),this.finishNode(t,"ExportSpecifier")}parseModuleExportName(){if(this.match(131)){let t=this.parseStringLiteral(this.state.value),r=t.value.match(Ah);return r&&this.raise(f.ModuleExportNameHasLoneSurrogate,{at:t,surrogateCharCode:r[0].charCodeAt(0)}),t}return this.parseIdentifier(!0)}isJSONModuleImport(t){return t.assertions!=null?t.assertions.some(r=>{let{key:e,value:s}=r;return s.value==="json"&&(e.type==="Identifier"?e.name==="type":e.value==="type")}):!1}checkImportReflection(t){if(t.module){var r;(t.specifiers.length!==1||t.specifiers[0].type!=="ImportDefaultSpecifier")&&this.raise(f.ImportReflectionNotBinding,{at:t.specifiers[0].loc.start}),((r=t.assertions)==null?void 0:r.length)>0&&this.raise(f.ImportReflectionHasAssertion,{at:t.specifiers[0].loc.start})}}checkJSONModuleImport(t){if(this.isJSONModuleImport(t)&&t.type!=="ExportAllDeclaration"){let{specifiers:r}=t;if(r!=null){let e=r.find(s=>{let i;if(s.type==="ExportSpecifier"?i=s.local:s.type==="ImportSpecifier"&&(i=s.imported),i!==void 0)return i.type==="Identifier"?i.name!=="default":i.value!=="default"});e!==void 0&&this.raise(f.ImportJSONBindingNotDefault,{at:e.loc.start})}}}parseMaybeImportReflection(t){let r=!1;if(this.isContextual(125)){let e=this.lookahead(),s=e.type;q(s)?(s!==97||this.input.charCodeAt(this.nextTokenStartSince(e.end))===102)&&(r=!0):s!==12&&(r=!0)}r?(this.expectPlugin("importReflection"),this.next(),t.module=!0):this.hasPlugin("importReflection")&&(t.module=!1)}parseImport(t){if(t.specifiers=[],!this.match(131)){this.parseMaybeImportReflection(t);let s=!this.maybeParseDefaultImportSpecifier(t)||this.eat(12),i=s&&this.maybeParseStarImportSpecifier(t);s&&!i&&this.parseNamedImportSpecifiers(t),this.expectContextual(97)}t.source=this.parseImportSource();let r=this.maybeParseImportAssertions();if(r)t.assertions=r;else{let e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.checkImportReflection(t),this.checkJSONModuleImport(t),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(131)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return q(this.state.type)}parseImportSpecifierLocal(t,r,e){r.local=this.parseIdentifier(),t.specifiers.push(this.finishImportSpecifier(r,e))}finishImportSpecifier(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Be;return this.checkLVal(t.local,{in:{type:r},binding:e}),this.finishNode(t,r)}parseAssertEntries(){let t=[],r=new Set;do{if(this.match(8))break;let e=this.startNode(),s=this.state.value;if(r.has(s)&&this.raise(f.ModuleAttributesWithDuplicateKeys,{at:this.state.startLoc,key:s}),r.add(s),this.match(131)?e.key=this.parseStringLiteral(s):e.key=this.parseIdentifier(!0),this.expect(14),!this.match(131))throw this.raise(f.ModuleAttributeInvalidValue,{at:this.state.startLoc});e.value=this.parseStringLiteral(this.state.value),t.push(this.finishNode(e,"ImportAttribute"))}while(this.eat(12));return t}maybeParseModuleAttributes(){if(this.match(76)&&!this.hasPrecedingLineBreak())this.expectPlugin("moduleAttributes"),this.next();else return this.hasPlugin("moduleAttributes")?[]:null;let t=[],r=new Set;do{let e=this.startNode();if(e.key=this.parseIdentifier(!0),e.key.name!=="type"&&this.raise(f.ModuleAttributeDifferentFromType,{at:e.key}),r.has(e.key.name)&&this.raise(f.ModuleAttributesWithDuplicateKeys,{at:e.key,key:e.key.name}),r.add(e.key.name),this.expect(14),!this.match(131))throw this.raise(f.ModuleAttributeInvalidValue,{at:this.state.startLoc});e.value=this.parseStringLiteral(this.state.value),this.finishNode(e,"ImportAttribute"),t.push(e)}while(this.eat(12));return t}maybeParseImportAssertions(){if(this.isContextual(94)&&!this.hasPrecedingLineBreak())this.expectPlugin("importAssertions"),this.next();else return this.hasPlugin("importAssertions")?[]:null;this.eat(5);let t=this.parseAssertEntries();return this.eat(8),t}maybeParseDefaultImportSpecifier(t){return this.shouldParseDefaultImport(t)?(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier"),!0):!1}maybeParseStarImportSpecifier(t){if(this.match(55)){let r=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(t,r,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(t){let r=!0;for(this.expect(5);!this.eat(8);){if(r)r=!1;else{if(this.eat(14))throw this.raise(f.DestructureNamedImport,{at:this.state.startLoc});if(this.expect(12),this.eat(8))break}let e=this.startNode(),s=this.match(131),i=this.isContextual(128);e.imported=this.parseModuleExportName();let a=this.parseImportSpecifier(e,s,t.importKind==="type"||t.importKind==="typeof",i,void 0);t.specifiers.push(a)}}parseImportSpecifier(t,r,e,s,i){if(this.eatContextual(93))t.local=this.parseIdentifier();else{let{imported:a}=t;if(r)throw this.raise(f.ImportBindingIsString,{at:t,importName:a.value});this.checkReservedWord(a.name,t.loc.start,!0,!0),t.local||(t.local=me(a))}return this.finishImportSpecifier(t,"ImportSpecifier",i)}isThisParam(t){return t.type==="Identifier"&&t.name==="this"}},Yr=class extends vh{constructor(t,r){t=p(t),super(t,r),this.options=t,this.initializeScopes(),this.plugins=Eh(this.options.plugins),this.filename=t.sourceFilename}getScopeHandler(){return is}parse(){this.enterInitialScopes();let t=this.startNode(),r=this.startNode();return this.nextToken(),t.errors=null,this.parseTopLevel(t,r),t.errors=this.state.errors,t}};function Eh(t){let r=new Map;for(let e of t){let[s,i]=Array.isArray(e)?e:[e,{}];r.has(s)||r.set(s,i||{})}return r}function Ch(t,r){var e;if(((e=r)==null?void 0:e.sourceType)==="unambiguous"){r=Object.assign({},r);try{r.sourceType="module";let s=Xe(r,t),i=s.parse();if(s.sawUnambiguousESM)return i;if(s.ambiguousScriptDifferentAst)try{return r.sourceType="script",Xe(r,t).parse()}catch{}else i.program.sourceType="script";return i}catch(s){try{return r.sourceType="script",Xe(r,t).parse()}catch{}throw s}}else return Xe(r,t).parse()}function bh(t,r){let e=Xe(r,t);return e.options.strictMode&&(e.state.strict=!0),e.getExpression()}function Sh(t){let r={};for(let e of Object.keys(t))r[e]=ce(t[e]);return r}var wh=Sh(Z);function Xe(t,r){let e=Yr;return t!=null&&t.plugins&&(yh(t.plugins),e=Ih(t.plugins)),new e(t,r)}var Qr={};function Ih(t){let r=xh.filter(i=>J(t,i)),e=r.join("/"),s=Qr[e];if(!s){s=Yr;for(let i of r)s=Xr[i](s);Qr[e]=s}return s}l.parse=Ch,l.parseExpression=bh,l.tokTypes=wh}}),Xf=$({"src/language-js/parse/json.js"(l,h){"use strict";U();var p=Io(),d=lr(),x=ko(),P=Do();function m(){let w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{allowComments:L=!0}=w;return function(_){let{parseExpression:G}=Fo(),N;try{N=G(_,{tokens:!0,ranges:!0})}catch(O){throw P(O)}if(!L&&p(N.comments))throw v(N.comments[0],"Comment");return S(N),N}}function v(w,L){let[A,_]=[w.loc.start,w.loc.end].map(G=>{let{line:N,column:O}=G;return{line:N,column:O+1}});return d(`${L} is not allowed in JSON.`,{start:A,end:_})}function S(w){switch(w.type){case"ArrayExpression":for(let L of w.elements)L!==null&&S(L);return;case"ObjectExpression":for(let L of w.properties)S(L);return;case"ObjectProperty":if(w.computed)throw v(w.key,"Computed key");if(w.shorthand)throw v(w.key,"Shorthand property");w.key.type!=="Identifier"&&S(w.key),S(w.value);return;case"UnaryExpression":{let{operator:L,argument:A}=w;if(L!=="+"&&L!=="-")throw v(w,`Operator '${w.operator}'`);if(A.type==="NumericLiteral"||A.type==="Identifier"&&(A.name==="Infinity"||A.name==="NaN"))return;throw v(A,`Operator '${L}' before '${A.type}'`)}case"Identifier":if(w.name!=="Infinity"&&w.name!=="NaN"&&w.name!=="undefined")throw v(w,`Identifier '${w.name}'`);return;case"TemplateLiteral":if(p(w.expressions))throw v(w.expressions[0],"'TemplateLiteral' with expression");for(let L of w.quasis)S(L);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw v(w,`'${w.type}'`)}}var k=m(),F={json:x({parse:k,hasPragma(){return!0}}),json5:x(k),"json-stringify":x({parse:m({allowComments:!1}),astFormat:"estree-json"})};h.exports=F}});U();var Yf=kf(),Qf=po(),Zf=Of(),Ue=ko(),ed=Do(),td=Jf(),sd=Xf(),rd={sourceType:"module",allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","partialApplication",["decorators",{decoratorsBeforeExport:!1}],"importAssertions","decimal","moduleBlocks","asyncDoExpressions","regexpUnicodeSets","destructuringPrivate","decoratorAutoAccessors"],tokens:!0,ranges:!0},id=["recordAndTuple",{syntaxType:"hash"}],no="v8intrinsic",oo=[["pipelineOperator",{proposal:"hack",topicToken:"%"}],["pipelineOperator",{proposal:"minimal"}],["pipelineOperator",{proposal:"fsharp"}]],he=function(l){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rd;return Object.assign(Object.assign({},h),{},{plugins:[...h.plugins,...l]})},ad=/@(?:no)?flow\b/;function nd(l,h){if(h.filepath&&h.filepath.endsWith(".js.flow"))return!0;let p=Qf(l);p&&(l=l.slice(p.length));let d=Zf(l,0);return d!==!1&&(l=l.slice(0,d)),ad.test(l)}function od(l,h,p){let d=Fo()[l],x=d(h,p),P=x.errors.find(m=>!fd.has(m.reasonCode));if(P)throw P;return x}function $e(l){for(var h=arguments.length,p=new Array(h>1?h-1:0),d=1;d2&&arguments[2]!==void 0?arguments[2]:{};if((m.parser==="babel"||m.parser==="__babel_estree")&&nd(x,m))return m.parser="babel-flow",Lo(x,P,m);let v=p;m.__babelSourceType==="script"&&(v=v.map(w=>Object.assign(Object.assign({},w),{},{sourceType:"script"}))),/#[[{]/.test(x)&&(v=v.map(w=>he([id],w)));let S=/%[A-Z]/.test(x);x.includes("|>")?v=(S?[...oo,no]:oo).flatMap(L=>v.map(A=>he([L],A))):S&&(v=v.map(w=>he([no],w)));let{result:k,error:F}=Yf(...v.map(w=>()=>od(l,x,w)));if(!k)throw ed(F);return m.originalText=x,td(k,m)}}var ld=$e("parse",he(["jsx","flow"])),Lo=$e("parse",he(["jsx",["flow",{all:!0,enums:!0}]])),hd=$e("parse",he(["jsx","typescript"]),he(["typescript"])),ud=$e("parse",he(["jsx","flow","estree"])),cd=$e("parseExpression",he(["jsx"])),pd=$e("parseExpression",he(["typescript"])),fd=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","StrictDelete","StrictEvalArguments","StrictEvalArgumentsBinding","StrictFunction","EmptyTypeArguments","EmptyTypeParameters","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","UnexpectedParameterModifier","MixedLabeledAndUnlabeledElements","InvalidTupleMemberLabel","NonClassMethodPropertyHasAbstractModifer","ReadonlyForMethodSignature","ClassMethodHasDeclare","ClassMethodHasReadonly","InvalidModifierOnTypeMember","DuplicateAccessibilityModifier","IndexSignatureHasDeclare","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","LineTerminatorBeforeArrow","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","UnsupportedPropertyDecorator","OptionalTypeBeforeRequired","PatternIsOptional","OptionalBindingPattern","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","DeclareFunctionHasImplementation","ConstructorClassField","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport"]),lo=Ue(ld),ho=Ue(hd),uo=Ue(cd),dd=Ue(pd);Oo.exports={parsers:Object.assign(Object.assign({babel:lo,"babel-flow":Ue(Lo),"babel-ts":ho},sd),{},{__js_expression:uo,__vue_expression:uo,__vue_ts_expression:dd,__vue_event_binding:lo,__vue_ts_event_binding:ho,__babel_estree:Ue(ud)})}});return md();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-espree.js b/node_modules/ts-poet/node_modules/prettier/parser-espree.js deleted file mode 100644 index c8f486cbdb..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-espree.js +++ /dev/null @@ -1,26 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.espree=e()}})(function(){"use strict";var C=(a,u)=>()=>(u||a((u={exports:{}}).exports,u),u.exports);var oe=C((tl,zr)=>{var Ye=function(a){return a&&a.Math==Math&&a};zr.exports=Ye(typeof globalThis=="object"&&globalThis)||Ye(typeof window=="object"&&window)||Ye(typeof self=="object"&&self)||Ye(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var me=C((rl,Gr)=>{Gr.exports=function(a){try{return!!a()}catch{return!0}}});var xe=C((il,Hr)=>{var vn=me();Hr.exports=!vn(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var bt=C((sl,Kr)=>{var gn=me();Kr.exports=!gn(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var et=C((al,Xr)=>{var xn=bt(),Ze=Function.prototype.call;Xr.exports=xn?Ze.bind(Ze):function(){return Ze.apply(Ze,arguments)}});var Yr=C($r=>{"use strict";var Jr={}.propertyIsEnumerable,Qr=Object.getOwnPropertyDescriptor,yn=Qr&&!Jr.call({1:2},1);$r.f=yn?function(u){var o=Qr(this,u);return!!o&&o.enumerable}:Jr});var _t=C((ul,Zr)=>{Zr.exports=function(a,u){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:u}}});var ye=C((ol,ri)=>{var ei=bt(),ti=Function.prototype,St=ti.call,An=ei&&ti.bind.bind(St,St);ri.exports=ei?An:function(a){return function(){return St.apply(a,arguments)}}});var ai=C((hl,si)=>{var ii=ye(),Cn=ii({}.toString),En=ii("".slice);si.exports=function(a){return En(Cn(a),8,-1)}});var ui=C((ll,ni)=>{var bn=ye(),_n=me(),Sn=ai(),wt=Object,wn=bn("".split);ni.exports=_n(function(){return!wt("z").propertyIsEnumerable(0)})?function(a){return Sn(a)=="String"?wn(a,""):wt(a)}:wt});var kt=C((cl,oi)=>{oi.exports=function(a){return a==null}});var Ft=C((pl,hi)=>{var kn=kt(),Fn=TypeError;hi.exports=function(a){if(kn(a))throw Fn("Can't call method on "+a);return a}});var tt=C((fl,li)=>{var Bn=ui(),In=Ft();li.exports=function(a){return Bn(In(a))}});var It=C((dl,ci)=>{var Bt=typeof document=="object"&&document.all,Tn=typeof Bt>"u"&&Bt!==void 0;ci.exports={all:Bt,IS_HTMLDDA:Tn}});var le=C((ml,fi)=>{var pi=It(),Pn=pi.all;fi.exports=pi.IS_HTMLDDA?function(a){return typeof a=="function"||a===Pn}:function(a){return typeof a=="function"}});var Pe=C((vl,vi)=>{var di=le(),mi=It(),Dn=mi.all;vi.exports=mi.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:di(a)||a===Dn}:function(a){return typeof a=="object"?a!==null:di(a)}});var rt=C((gl,gi)=>{var Tt=oe(),Nn=le(),On=function(a){return Nn(a)?a:void 0};gi.exports=function(a,u){return arguments.length<2?On(Tt[a]):Tt[a]&&Tt[a][u]}});var yi=C((xl,xi)=>{var Ln=ye();xi.exports=Ln({}.isPrototypeOf)});var Ci=C((yl,Ai)=>{var Vn=rt();Ai.exports=Vn("navigator","userAgent")||""});var Fi=C((Al,ki)=>{var wi=oe(),Pt=Ci(),Ei=wi.process,bi=wi.Deno,_i=Ei&&Ei.versions||bi&&bi.version,Si=_i&&_i.v8,ce,it;Si&&(ce=Si.split("."),it=ce[0]>0&&ce[0]<4?1:+(ce[0]+ce[1]));!it&&Pt&&(ce=Pt.match(/Edge\/(\d+)/),(!ce||ce[1]>=74)&&(ce=Pt.match(/Chrome\/(\d+)/),ce&&(it=+ce[1])));ki.exports=it});var Dt=C((Cl,Ii)=>{var Bi=Fi(),Rn=me();Ii.exports=!!Object.getOwnPropertySymbols&&!Rn(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Bi&&Bi<41})});var Nt=C((El,Ti)=>{var jn=Dt();Ti.exports=jn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ot=C((bl,Pi)=>{var qn=rt(),Mn=le(),Un=yi(),Wn=Nt(),zn=Object;Pi.exports=Wn?function(a){return typeof a=="symbol"}:function(a){var u=qn("Symbol");return Mn(u)&&Un(u.prototype,zn(a))}});var Ni=C((_l,Di)=>{var Gn=String;Di.exports=function(a){try{return Gn(a)}catch{return"Object"}}});var Li=C((Sl,Oi)=>{var Hn=le(),Kn=Ni(),Xn=TypeError;Oi.exports=function(a){if(Hn(a))return a;throw Xn(Kn(a)+" is not a function")}});var Ri=C((wl,Vi)=>{var Jn=Li(),Qn=kt();Vi.exports=function(a,u){var o=a[u];return Qn(o)?void 0:Jn(o)}});var qi=C((kl,ji)=>{var Lt=et(),Vt=le(),Rt=Pe(),$n=TypeError;ji.exports=function(a,u){var o,l;if(u==="string"&&Vt(o=a.toString)&&!Rt(l=Lt(o,a))||Vt(o=a.valueOf)&&!Rt(l=Lt(o,a))||u!=="string"&&Vt(o=a.toString)&&!Rt(l=Lt(o,a)))return l;throw $n("Can't convert object to primitive value")}});var Ui=C((Fl,Mi)=>{Mi.exports=!1});var st=C((Bl,zi)=>{var Wi=oe(),Yn=Object.defineProperty;zi.exports=function(a,u){try{Yn(Wi,a,{value:u,configurable:!0,writable:!0})}catch{Wi[a]=u}return u}});var at=C((Il,Hi)=>{var Zn=oe(),eu=st(),Gi="__core-js_shared__",tu=Zn[Gi]||eu(Gi,{});Hi.exports=tu});var jt=C((Tl,Xi)=>{var ru=Ui(),Ki=at();(Xi.exports=function(a,u){return Ki[a]||(Ki[a]=u!==void 0?u:{})})("versions",[]).push({version:"3.26.1",mode:ru?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Qi=C((Pl,Ji)=>{var iu=Ft(),su=Object;Ji.exports=function(a){return su(iu(a))}});var be=C((Dl,$i)=>{var au=ye(),nu=Qi(),uu=au({}.hasOwnProperty);$i.exports=Object.hasOwn||function(u,o){return uu(nu(u),o)}});var qt=C((Nl,Yi)=>{var ou=ye(),hu=0,lu=Math.random(),cu=ou(1 .toString);Yi.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+cu(++hu+lu,36)}});var ss=C((Ol,is)=>{var pu=oe(),fu=jt(),Zi=be(),du=qt(),es=Dt(),rs=Nt(),De=fu("wks"),we=pu.Symbol,ts=we&&we.for,mu=rs?we:we&&we.withoutSetter||du;is.exports=function(a){if(!Zi(De,a)||!(es||typeof De[a]=="string")){var u="Symbol."+a;es&&Zi(we,a)?De[a]=we[a]:rs&&ts?De[a]=ts(u):De[a]=mu(u)}return De[a]}});var os=C((Ll,us)=>{var vu=et(),as=Pe(),ns=Ot(),gu=Ri(),xu=qi(),yu=ss(),Au=TypeError,Cu=yu("toPrimitive");us.exports=function(a,u){if(!as(a)||ns(a))return a;var o=gu(a,Cu),l;if(o){if(u===void 0&&(u="default"),l=vu(o,a,u),!as(l)||ns(l))return l;throw Au("Can't convert object to primitive value")}return u===void 0&&(u="number"),xu(a,u)}});var Mt=C((Vl,hs)=>{var Eu=os(),bu=Ot();hs.exports=function(a){var u=Eu(a,"string");return bu(u)?u:u+""}});var ps=C((Rl,cs)=>{var _u=oe(),ls=Pe(),Ut=_u.document,Su=ls(Ut)&&ls(Ut.createElement);cs.exports=function(a){return Su?Ut.createElement(a):{}}});var Wt=C((jl,fs)=>{var wu=xe(),ku=me(),Fu=ps();fs.exports=!wu&&!ku(function(){return Object.defineProperty(Fu("div"),"a",{get:function(){return 7}}).a!=7})});var zt=C(ms=>{var Bu=xe(),Iu=et(),Tu=Yr(),Pu=_t(),Du=tt(),Nu=Mt(),Ou=be(),Lu=Wt(),ds=Object.getOwnPropertyDescriptor;ms.f=Bu?ds:function(u,o){if(u=Du(u),o=Nu(o),Lu)try{return ds(u,o)}catch{}if(Ou(u,o))return Pu(!Iu(Tu.f,u,o),u[o])}});var gs=C((Ml,vs)=>{var Vu=xe(),Ru=me();vs.exports=Vu&&Ru(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var nt=C((Ul,xs)=>{var ju=Pe(),qu=String,Mu=TypeError;xs.exports=function(a){if(ju(a))return a;throw Mu(qu(a)+" is not an object")}});var Me=C(As=>{var Uu=xe(),Wu=Wt(),zu=gs(),ut=nt(),ys=Mt(),Gu=TypeError,Gt=Object.defineProperty,Hu=Object.getOwnPropertyDescriptor,Ht="enumerable",Kt="configurable",Xt="writable";As.f=Uu?zu?function(u,o,l){if(ut(u),o=ys(o),ut(l),typeof u=="function"&&o==="prototype"&&"value"in l&&Xt in l&&!l[Xt]){var v=Hu(u,o);v&&v[Xt]&&(u[o]=l.value,l={configurable:Kt in l?l[Kt]:v[Kt],enumerable:Ht in l?l[Ht]:v[Ht],writable:!1})}return Gt(u,o,l)}:Gt:function(u,o,l){if(ut(u),o=ys(o),ut(l),Wu)try{return Gt(u,o,l)}catch{}if("get"in l||"set"in l)throw Gu("Accessors not supported");return"value"in l&&(u[o]=l.value),u}});var Jt=C((zl,Cs)=>{var Ku=xe(),Xu=Me(),Ju=_t();Cs.exports=Ku?function(a,u,o){return Xu.f(a,u,Ju(1,o))}:function(a,u,o){return a[u]=o,a}});var _s=C((Gl,bs)=>{var Qt=xe(),Qu=be(),Es=Function.prototype,$u=Qt&&Object.getOwnPropertyDescriptor,$t=Qu(Es,"name"),Yu=$t&&function(){}.name==="something",Zu=$t&&(!Qt||Qt&&$u(Es,"name").configurable);bs.exports={EXISTS:$t,PROPER:Yu,CONFIGURABLE:Zu}});var ws=C((Hl,Ss)=>{var eo=ye(),to=le(),Yt=at(),ro=eo(Function.toString);to(Yt.inspectSource)||(Yt.inspectSource=function(a){return ro(a)});Ss.exports=Yt.inspectSource});var Bs=C((Kl,Fs)=>{var io=oe(),so=le(),ks=io.WeakMap;Fs.exports=so(ks)&&/native code/.test(String(ks))});var Ps=C((Xl,Ts)=>{var ao=jt(),no=qt(),Is=ao("keys");Ts.exports=function(a){return Is[a]||(Is[a]=no(a))}});var Zt=C((Jl,Ds)=>{Ds.exports={}});var Vs=C((Ql,Ls)=>{var uo=Bs(),Os=oe(),oo=Pe(),ho=Jt(),er=be(),tr=at(),lo=Ps(),co=Zt(),Ns="Object already initialized",rr=Os.TypeError,po=Os.WeakMap,ot,Ue,ht,fo=function(a){return ht(a)?Ue(a):ot(a,{})},mo=function(a){return function(u){var o;if(!oo(u)||(o=Ue(u)).type!==a)throw rr("Incompatible receiver, "+a+" required");return o}};uo||tr.state?(pe=tr.state||(tr.state=new po),pe.get=pe.get,pe.has=pe.has,pe.set=pe.set,ot=function(a,u){if(pe.has(a))throw rr(Ns);return u.facade=a,pe.set(a,u),u},Ue=function(a){return pe.get(a)||{}},ht=function(a){return pe.has(a)}):(ke=lo("state"),co[ke]=!0,ot=function(a,u){if(er(a,ke))throw rr(Ns);return u.facade=a,ho(a,ke,u),u},Ue=function(a){return er(a,ke)?a[ke]:{}},ht=function(a){return er(a,ke)});var pe,ke;Ls.exports={set:ot,get:Ue,has:ht,enforce:fo,getterFor:mo}});var sr=C(($l,js)=>{var vo=me(),go=le(),lt=be(),ir=xe(),xo=_s().CONFIGURABLE,yo=ws(),Rs=Vs(),Ao=Rs.enforce,Co=Rs.get,ct=Object.defineProperty,Eo=ir&&!vo(function(){return ct(function(){},"length",{value:8}).length!==8}),bo=String(String).split("String"),_o=js.exports=function(a,u,o){String(u).slice(0,7)==="Symbol("&&(u="["+String(u).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),o&&o.getter&&(u="get "+u),o&&o.setter&&(u="set "+u),(!lt(a,"name")||xo&&a.name!==u)&&(ir?ct(a,"name",{value:u,configurable:!0}):a.name=u),Eo&&o&<(o,"arity")&&a.length!==o.arity&&ct(a,"length",{value:o.arity});try{o&<(o,"constructor")&&o.constructor?ir&&ct(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var l=Ao(a);return lt(l,"source")||(l.source=bo.join(typeof u=="string"?u:"")),a};Function.prototype.toString=_o(function(){return go(this)&&Co(this).source||yo(this)},"toString")});var Ms=C((Yl,qs)=>{var So=le(),wo=Me(),ko=sr(),Fo=st();qs.exports=function(a,u,o,l){l||(l={});var v=l.enumerable,b=l.name!==void 0?l.name:u;if(So(o)&&ko(o,b,l),l.global)v?a[u]=o:Fo(u,o);else{try{l.unsafe?a[u]&&(v=!0):delete a[u]}catch{}v?a[u]=o:wo.f(a,u,{value:o,enumerable:!1,configurable:!l.nonConfigurable,writable:!l.nonWritable})}return a}});var Ws=C((Zl,Us)=>{var Bo=Math.ceil,Io=Math.floor;Us.exports=Math.trunc||function(u){var o=+u;return(o>0?Io:Bo)(o)}});var ar=C((ec,zs)=>{var To=Ws();zs.exports=function(a){var u=+a;return u!==u||u===0?0:To(u)}});var Hs=C((tc,Gs)=>{var Po=ar(),Do=Math.max,No=Math.min;Gs.exports=function(a,u){var o=Po(a);return o<0?Do(o+u,0):No(o,u)}});var Xs=C((rc,Ks)=>{var Oo=ar(),Lo=Math.min;Ks.exports=function(a){return a>0?Lo(Oo(a),9007199254740991):0}});var Qs=C((ic,Js)=>{var Vo=Xs();Js.exports=function(a){return Vo(a.length)}});var Zs=C((sc,Ys)=>{var Ro=tt(),jo=Hs(),qo=Qs(),$s=function(a){return function(u,o,l){var v=Ro(u),b=qo(v),y=jo(l,b),I;if(a&&o!=o){for(;b>y;)if(I=v[y++],I!=I)return!0}else for(;b>y;y++)if((a||y in v)&&v[y]===o)return a||y||0;return!a&&-1}};Ys.exports={includes:$s(!0),indexOf:$s(!1)}});var ra=C((ac,ta)=>{var Mo=ye(),nr=be(),Uo=tt(),Wo=Zs().indexOf,zo=Zt(),ea=Mo([].push);ta.exports=function(a,u){var o=Uo(a),l=0,v=[],b;for(b in o)!nr(zo,b)&&nr(o,b)&&ea(v,b);for(;u.length>l;)nr(o,b=u[l++])&&(~Wo(v,b)||ea(v,b));return v}});var sa=C((nc,ia)=>{ia.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var na=C(aa=>{var Go=ra(),Ho=sa(),Ko=Ho.concat("length","prototype");aa.f=Object.getOwnPropertyNames||function(u){return Go(u,Ko)}});var oa=C(ua=>{ua.f=Object.getOwnPropertySymbols});var la=C((hc,ha)=>{var Xo=rt(),Jo=ye(),Qo=na(),$o=oa(),Yo=nt(),Zo=Jo([].concat);ha.exports=Xo("Reflect","ownKeys")||function(u){var o=Qo.f(Yo(u)),l=$o.f;return l?Zo(o,l(u)):o}});var fa=C((lc,pa)=>{var ca=be(),eh=la(),th=zt(),rh=Me();pa.exports=function(a,u,o){for(var l=eh(u),v=rh.f,b=th.f,y=0;y{var ih=me(),sh=le(),ah=/#|\.prototype\./,We=function(a,u){var o=uh[nh(a)];return o==hh?!0:o==oh?!1:sh(u)?ih(u):!!u},nh=We.normalize=function(a){return String(a).replace(ah,".").toLowerCase()},uh=We.data={},oh=We.NATIVE="N",hh=We.POLYFILL="P";da.exports=We});var ga=C((pc,va)=>{var ur=oe(),lh=zt().f,ch=Jt(),ph=Ms(),fh=st(),dh=fa(),mh=ma();va.exports=function(a,u){var o=a.target,l=a.global,v=a.stat,b,y,I,T,x,R;if(l?y=ur:v?y=ur[o]||fh(o,{}):y=(ur[o]||{}).prototype,y)for(I in u){if(x=u[I],a.dontCallGetSet?(R=lh(y,I),T=R&&R.value):T=y[I],b=mh(l?I:o+(v?".":"#")+I,a.forced),!b&&T!==void 0){if(typeof x==typeof T)continue;dh(x,T)}(a.sham||T&&T.sham)&&ch(x,"sham",!0),ph(y,I,x,a)}}});var xa=C(()=>{var vh=ga(),or=oe();vh({global:!0,forced:or.globalThis!==or},{globalThis:or})});var ya=C(()=>{xa()});var Ea=C((gc,Ca)=>{var Aa=sr(),gh=Me();Ca.exports=function(a,u,o){return o.get&&Aa(o.get,u,{getter:!0}),o.set&&Aa(o.set,u,{setter:!0}),gh.f(a,u,o)}});var _a=C((xc,ba)=>{"use strict";var xh=nt();ba.exports=function(){var a=xh(this),u="";return a.hasIndices&&(u+="d"),a.global&&(u+="g"),a.ignoreCase&&(u+="i"),a.multiline&&(u+="m"),a.dotAll&&(u+="s"),a.unicode&&(u+="u"),a.unicodeSets&&(u+="v"),a.sticky&&(u+="y"),u}});var ka=C(()=>{var yh=oe(),Ah=xe(),Ch=Ea(),Eh=_a(),bh=me(),Sa=yh.RegExp,wa=Sa.prototype,_h=Ah&&bh(function(){var a=!0;try{Sa(".","d")}catch{a=!1}var u={},o="",l=a?"dgimsy":"gimsy",v=function(T,x){Object.defineProperty(u,T,{get:function(){return o+=x,!0}})},b={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(b.hasIndices="d");for(var y in b)v(y,b[y]);var I=Object.getOwnPropertyDescriptor(wa,"flags").get.call(u);return I!==l||o!==l});_h&&Ch(wa,"flags",{configurable:!0,get:Eh})});var Zh=C((Ec,Ka)=>{ya();ka();var pr=Object.defineProperty,Sh=Object.getOwnPropertyDescriptor,fr=Object.getOwnPropertyNames,wh=Object.prototype.hasOwnProperty,Fa=(a,u)=>function(){return a&&(u=(0,a[fr(a)[0]])(a=0)),u},$=(a,u)=>function(){return u||(0,a[fr(a)[0]])((u={exports:{}}).exports,u),u.exports},kh=(a,u)=>{for(var o in u)pr(a,o,{get:u[o],enumerable:!0})},Fh=(a,u,o,l)=>{if(u&&typeof u=="object"||typeof u=="function")for(let v of fr(u))!wh.call(a,v)&&v!==o&&pr(a,v,{get:()=>u[v],enumerable:!(l=Sh(u,v))||l.enumerable});return a},Bh=a=>Fh(pr({},"__esModule",{value:!0}),a),J=Fa({""(){}}),dr=$({"src/common/parser-create-error.js"(a,u){"use strict";J();function o(l,v){let b=new SyntaxError(l+" ("+v.start.line+":"+v.start.column+")");return b.loc=v,b}u.exports=o}}),Ba=$({"src/utils/try-combinations.js"(a,u){"use strict";J();function o(){let l;for(var v=arguments.length,b=new Array(v),y=0;ycr,arch:()=>Ih,cpus:()=>Va,default:()=>Ua,endianness:()=>Ta,freemem:()=>Oa,getNetworkInterfaces:()=>Ma,hostname:()=>Pa,loadavg:()=>Da,networkInterfaces:()=>qa,platform:()=>Th,release:()=>ja,tmpDir:()=>hr,tmpdir:()=>lr,totalmem:()=>La,type:()=>Ra,uptime:()=>Na});function Ta(){if(typeof pt>"u"){var a=new ArrayBuffer(2),u=new Uint8Array(a),o=new Uint16Array(a);if(u[0]=1,u[1]=2,o[0]===258)pt="BE";else if(o[0]===513)pt="LE";else throw new Error("unable to figure out endianess")}return pt}function Pa(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Da(){return[]}function Na(){return 0}function Oa(){return Number.MAX_VALUE}function La(){return Number.MAX_VALUE}function Va(){return[]}function Ra(){return"Browser"}function ja(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function qa(){}function Ma(){}function Ih(){return"javascript"}function Th(){return"browser"}function hr(){return"/tmp"}var pt,lr,cr,Ua,Ph=Fa({"node-modules-polyfills:os"(){J(),lr=hr,cr=` -`,Ua={EOL:cr,tmpdir:lr,tmpDir:hr,networkInterfaces:qa,getNetworkInterfaces:Ma,release:ja,type:Ra,cpus:Va,totalmem:La,freemem:Oa,uptime:Na,loadavg:Da,hostname:Pa,endianness:Ta}}}),Dh=$({"node-modules-polyfills-commonjs:os"(a,u){J();var o=(Ph(),Bh(Ia));if(o&&o.default){u.exports=o.default;for(let l in o)u.exports[l]=o[l]}else o&&(u.exports=o)}}),Nh=$({"node_modules/detect-newline/index.js"(a,u){"use strict";J();var o=l=>{if(typeof l!="string")throw new TypeError("Expected a string");let v=l.match(/(?:\r?\n)/g)||[];if(v.length===0)return;let b=v.filter(I=>I===`\r -`).length,y=v.length-b;return b>y?`\r -`:` -`};u.exports=o,u.exports.graceful=l=>typeof l=="string"&&o(l)||` -`}}),Oh=$({"node_modules/jest-docblock/build/index.js"(a){"use strict";J(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=g,a.parse=G,a.parseWithComments=f,a.print=B,a.strip=w;function u(){let k=Dh();return u=function(){return k},k}function o(){let k=l(Nh());return o=function(){return k},k}function l(k){return k&&k.__esModule?k:{default:k}}var v=/\*\/$/,b=/^\/\*\*?/,y=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,I=/(^|\s+)\/\/([^\r\n]*)/g,T=/^(\r?\n)+/,x=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,R=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,U=/(\r?\n|^) *\* ?/g,D=[];function g(k){let X=k.match(y);return X?X[0].trimLeft():""}function w(k){let X=k.match(y);return X&&X[0]?k.substring(X[0].length):k}function G(k){return f(k).pragmas}function f(k){let X=(0,o().default)(k)||u().EOL;k=k.replace(b,"").replace(v,"").replace(U,"$1");let O="";for(;O!==k;)O=k,k=k.replace(x,`${X}$1 $2${X}`);k=k.replace(T,"").trimRight();let i=Object.create(null),S=k.replace(R,"").replace(T,"").trimRight(),F;for(;F=R.exec(k);){let j=F[2].replace(I,"");typeof i[F[1]]=="string"||Array.isArray(i[F[1]])?i[F[1]]=D.concat(i[F[1]],j):i[F[1]]=j}return{comments:S,pragmas:i}}function B(k){let{comments:X="",pragmas:O={}}=k,i=(0,o().default)(X)||u().EOL,S="/**",F=" *",j=" */",Z=Object.keys(O),ne=Z.map(ie=>V(ie,O[ie])).reduce((ie,Ne)=>ie.concat(Ne),[]).map(ie=>`${F} ${ie}${i}`).join("");if(!X){if(Z.length===0)return"";if(Z.length===1&&!Array.isArray(O[Z[0]])){let ie=O[Z[0]];return`${S} ${V(Z[0],ie)[0]}${j}`}}let ee=X.split(i).map(ie=>`${F} ${ie}`).join(i)+i;return S+i+(X?ee:"")+(X&&Z.length?F+i:"")+ne+j}function V(k,X){return D.concat(X).map(O=>`@${k} ${O}`.trim())}}}),Lh=$({"src/common/end-of-line.js"(a,u){"use strict";J();function o(y){let I=y.indexOf("\r");return I>=0?y.charAt(I+1)===` -`?"crlf":"cr":"lf"}function l(y){switch(y){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function v(y,I){let T;switch(I){case` -`:T=/\n/g;break;case"\r":T=/\r/g;break;case`\r -`:T=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(I)}.`)}let x=y.match(T);return x?x.length:0}function b(y){return y.replace(/\r\n?/g,` -`)}u.exports={guessEndOfLine:o,convertEndOfLineToChars:l,countEndOfLineChars:v,normalizeEndOfLine:b}}}),Vh=$({"src/language-js/utils/get-shebang.js"(a,u){"use strict";J();function o(l){if(!l.startsWith("#!"))return"";let v=l.indexOf(` -`);return v===-1?l:l.slice(0,v)}u.exports=o}}),Rh=$({"src/language-js/pragma.js"(a,u){"use strict";J();var{parseWithComments:o,strip:l,extract:v,print:b}=Oh(),{normalizeEndOfLine:y}=Lh(),I=Vh();function T(U){let D=I(U);D&&(U=U.slice(D.length+1));let g=v(U),{pragmas:w,comments:G}=o(g);return{shebang:D,text:U,pragmas:w,comments:G}}function x(U){let D=Object.keys(T(U).pragmas);return D.includes("prettier")||D.includes("format")}function R(U){let{shebang:D,text:g,pragmas:w,comments:G}=T(U),f=l(g),B=b({pragmas:Object.assign({format:""},w),comments:G.trimStart()});return(D?`${D} -`:"")+y(B)+(f.startsWith(` -`)?` -`:` - -`)+f}u.exports={hasPragma:x,insertPragma:R}}}),jh=$({"src/utils/is-non-empty-array.js"(a,u){"use strict";J();function o(l){return Array.isArray(l)&&l.length>0}u.exports=o}}),Wa=$({"src/language-js/loc.js"(a,u){"use strict";J();var o=jh();function l(T){var x,R;let U=T.range?T.range[0]:T.start,D=(x=(R=T.declaration)===null||R===void 0?void 0:R.decorators)!==null&&x!==void 0?x:T.decorators;return o(D)?Math.min(l(D[0]),U):U}function v(T){return T.range?T.range[1]:T.end}function b(T,x){let R=l(T);return Number.isInteger(R)&&R===l(x)}function y(T,x){let R=v(T);return Number.isInteger(R)&&R===v(x)}function I(T,x){return b(T,x)&&y(T,x)}u.exports={locStart:l,locEnd:v,hasSameLocStart:b,hasSameLoc:I}}}),za=$({"src/language-js/parse/utils/create-parser.js"(a,u){"use strict";J();var{hasPragma:o}=Rh(),{locStart:l,locEnd:v}=Wa();function b(y){return y=typeof y=="function"?{parse:y}:y,Object.assign({astFormat:"estree",hasPragma:o,locStart:l,locEnd:v},y)}u.exports=b}}),qh=$({"src/language-js/utils/is-ts-keyword-type.js"(a,u){"use strict";J();function o(l){let{type:v}=l;return v.startsWith("TS")&&v.endsWith("Keyword")}u.exports=o}}),Mh=$({"src/language-js/utils/is-block-comment.js"(a,u){"use strict";J();var o=new Set(["Block","CommentBlock","MultiLine"]),l=v=>o.has(v==null?void 0:v.type);u.exports=l}}),Uh=$({"src/language-js/utils/is-type-cast-comment.js"(a,u){"use strict";J();var o=Mh();function l(v){return o(v)&&v.value[0]==="*"&&/@(?:type|satisfies)\b/.test(v.value)}u.exports=l}}),Wh=$({"src/utils/get-last.js"(a,u){"use strict";J();var o=l=>l[l.length-1];u.exports=o}}),zh=$({"src/language-js/parse/postprocess/visit-node.js"(a,u){"use strict";J();function o(l,v){if(Array.isArray(l)){for(let b=0;b{B.leadingComments&&B.leadingComments.some(b)&&f.add(o(B))}),g=I(g,B=>{if(B.type==="ParenthesizedExpression"){let{expression:V}=B;if(V.type==="TypeCastExpression")return V.range=B.range,V;let k=o(B);if(!f.has(k))return V.extra=Object.assign(Object.assign({},V.extra),{},{parenthesized:!0}),V}})}return g=I(g,f=>{switch(f.type){case"ChainExpression":return R(f.expression);case"LogicalExpression":{if(U(f))return D(f);break}case"VariableDeclaration":{let B=y(f.declarations);B&&B.init&&G(f,B);break}case"TSParenthesizedType":return v(f.typeAnnotation)||f.typeAnnotation.type==="TSThisType"||(f.typeAnnotation.range=[o(f),l(f)]),f.typeAnnotation;case"TSTypeParameter":if(typeof f.name=="string"){let B=o(f);f.name={type:"Identifier",name:f.name,range:[B,B+f.name.length]}}break;case"ObjectExpression":if(w.parser==="typescript"){let B=f.properties.find(V=>V.type==="Property"&&V.value.type==="TSEmptyBodyFunctionExpression");B&&T(B.value,"Unexpected token.")}break;case"SequenceExpression":{let B=y(f.expressions);f.range=[o(f),Math.min(l(B),l(f))];break}case"TopicReference":w.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:B}=f;if(w.parser==="meriyah"&&B&&B.type==="Identifier"){let V=w.originalText.slice(o(B),l(B));(V.startsWith('"')||V.startsWith("'"))&&(f.exported=Object.assign(Object.assign({},f.exported),{},{type:"Literal",value:f.exported.name,raw:V}))}break}case"PropertyDefinition":if(w.parser==="meriyah"&&f.static&&!f.computed&&!f.key){let B="static",V=o(f);Object.assign(f,{static:!1,key:{type:"Identifier",name:B,range:[V,V+B.length]}})}break}}),g;function G(f,B){w.originalText[l(B)]!==";"&&(f.range=[o(f),l(B)])}}function R(g){switch(g.type){case"CallExpression":g.type="OptionalCallExpression",g.callee=R(g.callee);break;case"MemberExpression":g.type="OptionalMemberExpression",g.object=R(g.object);break;case"TSNonNullExpression":g.expression=R(g.expression);break}return g}function U(g){return g.type==="LogicalExpression"&&g.right.type==="LogicalExpression"&&g.operator===g.right.operator}function D(g){return U(g)?D({type:"LogicalExpression",operator:g.operator,left:D({type:"LogicalExpression",operator:g.operator,left:g.left,right:g.right.left,range:[o(g.left),l(g.right.left)]}),right:g.right.right,range:[o(g),l(g)]}):g}u.exports=x}}),ft=$({"node_modules/acorn/dist/acorn.js"(a,u){J(),function(o,l){typeof a=="object"&&typeof u<"u"?l(a):typeof define=="function"&&define.amd?define(["exports"],l):(o=typeof globalThis<"u"?globalThis:o||self,l(o.acorn={}))}(a,function(o){"use strict";var l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239],v=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],b="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",y="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",I={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},T="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",x={5:T,"5module":T+" export import",6:T+" const class extends export import super"},R=/^in(stanceof)?$/,U=new RegExp("["+y+"]"),D=new RegExp("["+y+b+"]");function g(e,t){for(var r=65536,s=0;se)return!1;if(r+=t[s+1],r>=e)return!0}}function w(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&U.test(String.fromCharCode(e)):t===!1?!1:g(e,v)}function G(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&D.test(String.fromCharCode(e)):t===!1?!1:g(e,v)||g(e,l)}var f=function(t,r){r===void 0&&(r={}),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop||null,this.updateContext=null};function B(e,t){return new f(e,{beforeExpr:!0,binop:t})}var V={beforeExpr:!0},k={startsExpr:!0},X={};function O(e,t){return t===void 0&&(t={}),t.keyword=e,X[e]=new f(e,t)}var i={num:new f("num",k),regexp:new f("regexp",k),string:new f("string",k),name:new f("name",k),privateId:new f("privateId",k),eof:new f("eof"),bracketL:new f("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new f("]"),braceL:new f("{",{beforeExpr:!0,startsExpr:!0}),braceR:new f("}"),parenL:new f("(",{beforeExpr:!0,startsExpr:!0}),parenR:new f(")"),comma:new f(",",V),semi:new f(";",V),colon:new f(":",V),dot:new f("."),question:new f("?",V),questionDot:new f("?."),arrow:new f("=>",V),template:new f("template"),invalidTemplate:new f("invalidTemplate"),ellipsis:new f("...",V),backQuote:new f("`",k),dollarBraceL:new f("${",{beforeExpr:!0,startsExpr:!0}),eq:new f("=",{beforeExpr:!0,isAssign:!0}),assign:new f("_=",{beforeExpr:!0,isAssign:!0}),incDec:new f("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new f("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:B("||",1),logicalAND:B("&&",2),bitwiseOR:B("|",3),bitwiseXOR:B("^",4),bitwiseAND:B("&",5),equality:B("==/!=/===/!==",6),relational:B("/<=/>=",7),bitShift:B("<>/>>>",8),plusMin:new f("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:B("%",10),star:B("*",10),slash:B("/",10),starstar:new f("**",{beforeExpr:!0}),coalesce:B("??",1),_break:O("break"),_case:O("case",V),_catch:O("catch"),_continue:O("continue"),_debugger:O("debugger"),_default:O("default",V),_do:O("do",{isLoop:!0,beforeExpr:!0}),_else:O("else",V),_finally:O("finally"),_for:O("for",{isLoop:!0}),_function:O("function",k),_if:O("if"),_return:O("return",V),_switch:O("switch"),_throw:O("throw",V),_try:O("try"),_var:O("var"),_const:O("const"),_while:O("while",{isLoop:!0}),_with:O("with"),_new:O("new",{beforeExpr:!0,startsExpr:!0}),_this:O("this",k),_super:O("super",k),_class:O("class",k),_extends:O("extends",V),_export:O("export"),_import:O("import",k),_null:O("null",k),_true:O("true",k),_false:O("false",k),_in:O("in",{beforeExpr:!0,binop:7}),_instanceof:O("instanceof",{beforeExpr:!0,binop:7}),_typeof:O("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:O("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:O("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},S=/\r\n?|\n|\u2028|\u2029/,F=new RegExp(S.source,"g");function j(e){return e===10||e===13||e===8232||e===8233}function Z(e,t,r){r===void 0&&(r=e.length);for(var s=t;s>10)+55296,(e&1023)+56320))}var K=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,H=function(t,r){this.line=t,this.column=r};H.prototype.offset=function(t){return new H(this.line,this.column+t)};var te=function(t,r,s){this.start=r,this.end=s,t.sourceFile!==null&&(this.source=t.sourceFile)};function ae(e,t){for(var r=1,s=0;;){var n=Z(e,s,t);if(n<0)return new H(r,t-s);++r,s=n}}var fe={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},Ae=!1;function dt(e){var t={};for(var r in fe)t[r]=e&&P(e,r)?e[r]:fe[r];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!Ae&&typeof console=="object"&&console.warn&&(Ae=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required. -Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),e.allowHashBang==null&&(t.allowHashBang=t.ecmaVersion>=14),_(t.onToken)){var s=t.onToken;t.onToken=function(n){return s.push(n)}}return _(t.onComment)&&(t.onComment=mt(t,t.onComment)),t}function mt(e,t){return function(r,s,n,h,c,m){var A={type:r?"Block":"Line",value:s,start:n,end:h};e.locations&&(A.loc=new te(this,c,m)),e.ranges&&(A.range=[n,h]),t.push(A)}}var _e=1,Ce=2,Oe=4,ze=8,mr=16,vr=32,vt=64,gr=128,Le=256,gt=_e|Ce|Le;function xt(e,t){return Ce|(e?Oe:0)|(t?ze:0)}var Ge=0,yt=1,ve=2,xr=3,yr=4,Ar=5,Y=function(t,r,s){this.options=t=dt(t),this.sourceFile=t.sourceFile,this.keywords=d(x[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var n="";t.allowReserved!==!0&&(n=I[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(n+=" await")),this.reservedWords=d(n);var h=(n?n+" ":"")+I.strict;this.reservedWordsStrict=d(h),this.reservedWordsStrictBind=d(h+" "+I.strictBind),this.input=String(r),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf(` -`,s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(S).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=i.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(_e),this.regexpState=null,this.privateNameStack=[]},de={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};Y.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},de.inFunction.get=function(){return(this.currentVarScope().flags&Ce)>0},de.inGenerator.get=function(){return(this.currentVarScope().flags&ze)>0&&!this.currentVarScope().inClassFieldInit},de.inAsync.get=function(){return(this.currentVarScope().flags&Oe)>0&&!this.currentVarScope().inClassFieldInit},de.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&Le)return!1;if(t.flags&Ce)return(t.flags&Oe)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},de.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&vt)>0||r||this.options.allowSuperOutsideMethod},de.allowDirectSuper.get=function(){return(this.currentThisScope().flags&gr)>0},de.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},de.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&(Ce|Le))>0||r},de.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&Le)>0},Y.extend=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];for(var s=this,n=0;n=,?^&]/.test(n)||n==="!"&&this.input.charAt(s+1)==="=")}e+=t[0].length,ee.lastIndex=e,e+=ee.exec(this.input)[0].length,this.input[e]===";"&&e++}},se.eat=function(e){return this.type===e?(this.next(),!0):!1},se.isContextual=function(e){return this.type===i.name&&this.value===e&&!this.containsEsc},se.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},se.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},se.canInsertSemicolon=function(){return this.type===i.eof||this.type===i.braceR||S.test(this.input.slice(this.lastTokEnd,this.start))},se.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},se.semicolon=function(){!this.eat(i.semi)&&!this.insertSemicolon()&&this.unexpected()},se.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},se.expect=function(e){this.eat(e)||this.unexpected()},se.unexpected=function(e){this.raise(e!=null?e:this.start,"Unexpected token")};var He=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};se.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,t?"Assigning to rvalue":"Parenthesized pattern")}},se.checkExpressionErrors=function(e,t){if(!e)return!1;var r=e.shorthandAssign,s=e.doubleProto;if(!t)return r>=0||s>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},se.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(e)return!1;if(s===123)return!0;if(w(s,!0)){for(var n=r+1;G(s=this.input.charCodeAt(n),!0);)++n;if(s===92||s>55295&&s<56320)return!0;var h=this.input.slice(r,n);if(!R.test(h))return!0}return!1},L.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;ee.lastIndex=this.pos;var e=ee.exec(this.input),t=this.pos+e[0].length,r;return!S.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(G(r=this.input.charCodeAt(t+8))||r>55295&&r<56320))},L.parseStatement=function(e,t,r){var s=this.type,n=this.startNode(),h;switch(this.isLet(e)&&(s=i._var,h="let"),s){case i._break:case i._continue:return this.parseBreakContinueStatement(n,s.keyword);case i._debugger:return this.parseDebuggerStatement(n);case i._do:return this.parseDoStatement(n);case i._for:return this.parseForStatement(n);case i._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case i._class:return e&&this.unexpected(),this.parseClass(n,!0);case i._if:return this.parseIfStatement(n);case i._return:return this.parseReturnStatement(n);case i._switch:return this.parseSwitchStatement(n);case i._throw:return this.parseThrowStatement(n);case i._try:return this.parseTryStatement(n);case i._const:case i._var:return h=h||this.value,e&&h!=="var"&&this.unexpected(),this.parseVarStatement(n,h);case i._while:return this.parseWhileStatement(n);case i._with:return this.parseWithStatement(n);case i.braceL:return this.parseBlock(!0,n);case i.semi:return this.parseEmptyStatement(n);case i._export:case i._import:if(this.options.ecmaVersion>10&&s===i._import){ee.lastIndex=this.pos;var c=ee.exec(this.input),m=this.pos+c[0].length,A=this.input.charCodeAt(m);if(A===40||A===46)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),s===i._import?this.parseImport(n):this.parseExport(n,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var q=this.value,W=this.parseExpression();return s===i.name&&W.type==="Identifier"&&this.eat(i.colon)?this.parseLabeledStatement(n,q,W,e):this.parseExpressionStatement(n,W)}},L.parseBreakContinueStatement=function(e,t){var r=t==="break";this.next(),this.eat(i.semi)||this.insertSemicolon()?e.label=null:this.type!==i.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(i.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},L.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(At),this.enterScope(0),this.expect(i.parenL),this.type===i.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===i._var||this.type===i._const||r){var s=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.type===i._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&s.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===i._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,s)):(t>-1&&this.unexpected(t),this.parseFor(e,s))}var h=this.isContextual("let"),c=!1,m=new He,A=this.parseExpression(t>-1?"await":!0,m);return this.type===i._in||(c=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===i._in?t>-1&&this.unexpected(t):e.await=t>-1),h&&c&&this.raise(A.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(A,!1,m),this.checkLValPattern(A),this.parseForIn(e,A)):(this.checkExpressionErrors(m,!0),t>-1&&this.unexpected(t),this.parseFor(e,A))},L.parseFunctionStatement=function(e,t,r){return this.next(),this.parseFunction(e,Ve|(r?0:Ct),!1,t)},L.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(i._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},L.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(i.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},L.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(i.braceL),this.labels.push(Ja),this.enterScope(0);for(var t,r=!1;this.type!==i.braceR;)if(this.type===i._case||this.type===i._default){var s=this.type===i._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),s?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(i.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},L.parseThrowStatement=function(e){return this.next(),S.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Qa=[];L.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===i._catch){var t=this.startNode();if(this.next(),this.eat(i.parenL)){t.param=this.parseBindingAtom();var r=t.param.type==="Identifier";this.enterScope(r?vr:0),this.checkLValPattern(t.param,r?yr:ve),this.expect(i.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(i._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},L.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},L.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(At),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},L.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},L.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},L.parseLabeledStatement=function(e,t,r,s){for(var n=0,h=this.labels;n=0;A--){var q=this.labels[A];if(q.statementStart===e.start)q.statementStart=this.start,q.kind=m;else break}return this.labels.push({name:t,kind:m,statementStart:this.start}),e.body=this.parseStatement(s?s.indexOf("label")===-1?s+"label":s:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},L.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},L.parseBlock=function(e,t,r){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(i.braceL),e&&this.enterScope(0);this.type!==i.braceR;){var s=this.parseStatement(null);t.body.push(s)}return r&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},L.parseFor=function(e,t){return e.init=t,this.expect(i.semi),e.test=this.type===i.semi?null:this.parseExpression(),this.expect(i.semi),e.update=this.type===i.parenR?null:this.parseExpression(),this.expect(i.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},L.parseForIn=function(e,t){var r=this.type===i._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!r||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(i.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")},L.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r;;){var s=this.startNode();if(this.parseVarId(s,r),this.eat(i.eq)?s.init=this.parseMaybeAssign(t):r==="const"&&!(this.type===i._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():s.id.type!=="Identifier"&&!(t&&(this.type===i._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):s.init=null,e.declarations.push(this.finishNode(s,"VariableDeclarator")),!this.eat(i.comma))break}return e},L.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?yt:ve,!1)};var Ve=1,Ct=2,Cr=4;L.parseFunction=function(e,t,r,s,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===i.star&&t&Ct&&this.unexpected(),e.generator=this.eat(i.star)),this.options.ecmaVersion>=8&&(e.async=!!s),t&Ve&&(e.id=t&Cr&&this.type!==i.name?null:this.parseIdent(),e.id&&!(t&Ct)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?yt:ve:xr));var h=this.yieldPos,c=this.awaitPos,m=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(xt(e.async,e.generator)),t&Ve||(e.id=this.type===i.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1,n),this.yieldPos=h,this.awaitPos=c,this.awaitIdentPos=m,this.finishNode(e,t&Ve?"FunctionDeclaration":"FunctionExpression")},L.parseFunctionParams=function(e){this.expect(i.parenL),e.params=this.parseBindingList(i.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},L.parseClass=function(e,t){this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var s=this.enterClassBody(),n=this.startNode(),h=!1;for(n.body=[],this.expect(i.braceL);this.type!==i.braceR;){var c=this.parseClassElement(e.superClass!==null);c&&(n.body.push(c),c.type==="MethodDefinition"&&c.kind==="constructor"?(h&&this.raise(c.start,"Duplicate constructor in the same class"),h=!0):c.key&&c.key.type==="PrivateIdentifier"&&$a(s,c)&&this.raiseRecoverable(c.key.start,"Identifier '#"+c.key.name+"' has already been declared"))}return this.strict=r,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},L.parseClassElement=function(e){if(this.eat(i.semi))return null;var t=this.options.ecmaVersion,r=this.startNode(),s="",n=!1,h=!1,c="method",m=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(i.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===i.star?m=!0:s="static"}if(r.static=m,!s&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===i.star)&&!this.canInsertSemicolon()?h=!0:s="async"),!s&&(t>=9||!h)&&this.eat(i.star)&&(n=!0),!s&&!h&&!n){var A=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?c=A:s=A)}if(s?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=s,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),t<13||this.type===i.parenL||c!=="method"||n||h){var q=!r.static&&Ke(r,"constructor"),W=q&&e;q&&c!=="method"&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=q?"constructor":c,this.parseClassMethod(r,n,h,W)}else this.parseClassField(r);return r},L.isClassElementNameStart=function(){return this.type===i.name||this.type===i.privateId||this.type===i.num||this.type===i.string||this.type===i.bracketL||this.type.keyword},L.parseClassElementName=function(e){this.type===i.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},L.parseClassMethod=function(e,t,r,s){var n=e.key;e.kind==="constructor"?(t&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):e.static&&Ke(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var h=e.value=this.parseMethod(t,r,s);return e.kind==="get"&&h.params.length!==0&&this.raiseRecoverable(h.start,"getter should have no params"),e.kind==="set"&&h.params.length!==1&&this.raiseRecoverable(h.start,"setter should have exactly one param"),e.kind==="set"&&h.params[0].type==="RestElement"&&this.raiseRecoverable(h.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},L.parseClassField=function(e){if(Ke(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Ke(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(i.eq)){var t=this.currentThisScope(),r=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=r}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},L.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(Le|vt);this.type!==i.braceR;){var r=this.parseStatement(null);e.body.push(r)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},L.parseClassId=function(e,t){this.type===i.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,ve,!1)):(t===!0&&this.unexpected(),e.id=null)},L.parseClassSuper=function(e){e.superClass=this.eat(i._extends)?this.parseExprSubscripts(!1):null},L.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},L.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,r=e.used,s=this.privateNameStack.length,n=s===0?null:this.privateNameStack[s-1],h=0;h=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==i.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(i._default)){this.checkExport(t,"default",this.lastTokStart);var r;if(this.type===i._function||(r=this.isAsyncFunction())){var s=this.startNode();this.next(),r&&this.next(),e.declaration=this.parseFunction(s,Ve|Cr,!1,r)}else if(this.type===i._class){var n=this.startNode();e.declaration=this.parseClass(n,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==i.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var h=0,c=e.specifiers;h=13&&this.type===i.string){var e=this.parseLiteral(this.value);return K.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},L.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var he=Y.prototype;he.toAssignable=function(e,t,r){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var s=0,n=e.properties;s=8&&!c&&m.name==="async"&&!this.canInsertSemicolon()&&this.eat(i._function))return this.overrideContext(Q.f_expr),this.parseFunction(this.startNodeAt(n,h),0,!1,!0,t);if(s&&!this.canInsertSemicolon()){if(this.eat(i.arrow))return this.parseArrowExpression(this.startNodeAt(n,h),[m],!1,t);if(this.options.ecmaVersion>=8&&m.name==="async"&&this.type===i.name&&!c&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return m=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(i.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(n,h),[m],!0,t)}return m;case i.regexp:var A=this.value;return r=this.parseLiteral(A.value),r.regex={pattern:A.pattern,flags:A.flags},r;case i.num:case i.string:return this.parseLiteral(this.value);case i._null:case i._true:case i._false:return r=this.startNode(),r.value=this.type===i._null?null:this.type===i._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,"Literal");case i.parenL:var q=this.start,W=this.parseParenAndDistinguishExpression(s,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(W)&&(e.parenthesizedAssign=q),e.parenthesizedBind<0&&(e.parenthesizedBind=q)),W;case i.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(i.bracketR,!0,!0,e),this.finishNode(r,"ArrayExpression");case i.braceL:return this.overrideContext(Q.b_expr),this.parseObj(!1,e);case i._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case i._class:return this.parseClass(this.startNode(),!1);case i._new:return this.parseNew();case i.backQuote:return this.parseTemplate();case i._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},M.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case i.parenL:return this.parseDynamicImport(e);case i.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},M.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(i.parenR)){var t=this.start;this.eat(i.comma)&&this.eat(i.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},M.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},M.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},M.parseParenExpression=function(){this.expect(i.parenL);var e=this.parseExpression();return this.expect(i.parenR),e},M.parseParenAndDistinguishExpression=function(e,t){var r=this.start,s=this.startLoc,n,h=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var c=this.start,m=this.startLoc,A=[],q=!0,W=!1,re=new He,Se=this.yieldPos,qe=this.awaitPos,Be;for(this.yieldPos=0,this.awaitPos=0;this.type!==i.parenR;)if(q?q=!1:this.expect(i.comma),h&&this.afterTrailingComma(i.parenR,!0)){W=!0;break}else if(this.type===i.ellipsis){Be=this.start,A.push(this.parseParenItem(this.parseRestBinding())),this.type===i.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}else A.push(this.parseMaybeAssign(!1,re,this.parseParenItem));var $e=this.lastTokEnd,Ie=this.lastTokEndLoc;if(this.expect(i.parenR),e&&!this.canInsertSemicolon()&&this.eat(i.arrow))return this.checkPatternErrors(re,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=Se,this.awaitPos=qe,this.parseParenArrowList(r,s,A,t);(!A.length||W)&&this.unexpected(this.lastTokStart),Be&&this.unexpected(Be),this.checkExpressionErrors(re,!0),this.yieldPos=Se||this.yieldPos,this.awaitPos=qe||this.awaitPos,A.length>1?(n=this.startNodeAt(c,m),n.expressions=A,this.finishNodeAt(n,"SequenceExpression",$e,Ie)):n=A[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var Te=this.startNodeAt(r,s);return Te.expression=n,this.finishNode(Te,"ParenthesizedExpression")}else return n},M.parseParenItem=function(e){return e},M.parseParenArrowList=function(e,t,r,s){return this.parseArrowExpression(this.startNodeAt(e,t),r,!1,s)};var Ya=[];M.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(i.dot)){e.meta=t;var r=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var s=this.start,n=this.startLoc,h=this.type===i._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),s,n,!0,!1),h&&e.callee.type==="ImportExpression"&&this.raise(s,"Cannot use new with import()"),this.eat(i.parenL)?e.arguments=this.parseExprList(i.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ya,this.finishNode(e,"NewExpression")},M.parseTemplateElement=function(e){var t=e.isTagged,r=this.startNode();return this.type===i.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,` -`),cooked:this.value},this.next(),r.tail=this.type===i.backQuote,this.finishNode(r,"TemplateElement")},M.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var r=this.startNode();this.next(),r.expressions=[];var s=this.parseTemplateElement({isTagged:t});for(r.quasis=[s];!s.tail;)this.type===i.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(i.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(i.braceR),r.quasis.push(s=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(r,"TemplateLiteral")},M.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===i.name||this.type===i.num||this.type===i.string||this.type===i.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===i.star)&&!S.test(this.input.slice(this.lastTokEnd,this.start))},M.parseObj=function(e,t){var r=this.startNode(),s=!0,n={};for(r.properties=[],this.next();!this.eat(i.braceR);){if(s)s=!1;else if(this.expect(i.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(i.braceR))break;var h=this.parseProperty(e,t);e||this.checkPropClash(h,n,t),r.properties.push(h)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")},M.parseProperty=function(e,t){var r=this.startNode(),s,n,h,c;if(this.options.ecmaVersion>=9&&this.eat(i.ellipsis))return e?(r.argument=this.parseIdent(!1),this.type===i.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(r,"RestElement")):(r.argument=this.parseMaybeAssign(!1,t),this.type===i.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(r,"SpreadElement"));this.options.ecmaVersion>=6&&(r.method=!1,r.shorthand=!1,(e||t)&&(h=this.start,c=this.startLoc),e||(s=this.eat(i.star)));var m=this.containsEsc;return this.parsePropertyName(r),!e&&!m&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(r)?(n=!0,s=this.options.ecmaVersion>=9&&this.eat(i.star),this.parsePropertyName(r,t)):n=!1,this.parsePropertyValue(r,e,s,n,h,c,t,m),this.finishNode(r,"Property")},M.parsePropertyValue=function(e,t,r,s,n,h,c,m){if((r||s)&&this.type===i.colon&&this.unexpected(),this.eat(i.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,c),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===i.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,s);else if(!t&&!m&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==i.comma&&this.type!==i.braceR&&this.type!==i.eq){(r||s)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var A=e.kind==="get"?0:1;if(e.value.params.length!==A){var q=e.value.start;e.kind==="get"?this.raiseRecoverable(q,"getter should have no params"):this.raiseRecoverable(q,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((r||s)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,h,this.copyNode(e.key)):this.type===i.eq&&c?(c.shorthandAssign<0&&(c.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,h,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},M.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(i.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(i.bracketR),e.key;e.computed=!1}return e.key=this.type===i.num||this.type===i.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},M.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},M.parseMethod=function(e,t,r){var s=this.startNode(),n=this.yieldPos,h=this.awaitPos,c=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=e),this.options.ecmaVersion>=8&&(s.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(xt(t,s.generator)|vt|(r?gr:0)),this.expect(i.parenL),s.params=this.parseBindingList(i.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=n,this.awaitPos=h,this.awaitIdentPos=c,this.finishNode(s,"FunctionExpression")},M.parseArrowExpression=function(e,t,r,s){var n=this.yieldPos,h=this.awaitPos,c=this.awaitIdentPos;return this.enterScope(xt(r,!1)|mr),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,s),this.yieldPos=n,this.awaitPos=h,this.awaitIdentPos=c,this.finishNode(e,"ArrowFunctionExpression")},M.parseFunctionBody=function(e,t,r,s){var n=t&&this.type!==i.braceL,h=this.strict,c=!1;if(n)e.body=this.parseMaybeAssign(s),e.expression=!0,this.checkParams(e,!1);else{var m=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!h||m)&&(c=this.strictDirective(this.end),c&&m&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var A=this.labels;this.labels=[],c&&(this.strict=!0),this.checkParams(e,!h&&!c&&!t&&!r&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ar),e.body=this.parseBlock(!1,void 0,c&&!h),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=A}this.exitScope()},M.isSimpleParamList=function(e){for(var t=0,r=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&_e&&delete this.undefinedExports[e]}else if(t===yr){var h=this.currentScope();h.lexical.push(e)}else if(t===xr){var c=this.currentScope();this.treatFunctionsAsVar?s=c.lexical.indexOf(e)>-1:s=c.lexical.indexOf(e)>-1||c.var.indexOf(e)>-1,c.functions.push(e)}else for(var m=this.scopeStack.length-1;m>=0;--m){var A=this.scopeStack[m];if(A.lexical.indexOf(e)>-1&&!(A.flags&vr&&A.lexical[0]===e)||!this.treatFunctionsAsVarInScope(A)&&A.functions.indexOf(e)>-1){s=!0;break}if(A.var.push(e),this.inModule&&A.flags&_e&&delete this.undefinedExports[e],A.flags>)break}s&&this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")},Ee.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},Ee.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ee.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags>)return t}},Ee.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags>&&!(t.flags&mr))return t}};var Re=function(t,r,s){this.type="",this.start=r,this.end=0,t.options.locations&&(this.loc=new te(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[r,0])},je=Y.prototype;je.startNode=function(){return new Re(this,this.start,this.startLoc)},je.startNodeAt=function(e,t){return new Re(this,e,t)};function br(e,t,r,s){return e.type=t,e.end=r,this.options.locations&&(e.loc.end=s),this.options.ranges&&(e.range[1]=r),e}je.finishNode=function(e,t){return br.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},je.finishNodeAt=function(e,t,r,s){return br.call(this,e,t,r,s)},je.copyNode=function(e){var t=new Re(this,e.start,this.startLoc);for(var r in e)t[r]=e[r];return t};var _r="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Sr=_r+" Extended_Pictographic",wr=Sr,kr=wr+" EBase EComp EMod EPres ExtPict",en=kr,tn={9:_r,10:Sr,11:wr,12:kr,13:en},Fr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Br="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Ir=Br+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Tr=Ir+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Pr=Tr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",rn=Pr+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",sn={9:Br,10:Ir,11:Tr,12:Pr,13:rn},Dr={};function an(e){var t=Dr[e]={binary:d(tn[e]+" "+Fr),nonBinary:{General_Category:d(Fr),Script:d(sn[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var Et=0,Nr=[9,10,11,12,13];Et=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":""),this.unicodeProperties=Dr[t.options.ecmaVersion>=13?13:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};ge.prototype.reset=function(t,r,s){var n=s.indexOf("u")!==-1;this.start=t|0,this.source=r+"",this.flags=s,this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchN=n&&this.parser.options.ecmaVersion>=9},ge.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},ge.prototype.at=function(t,r){r===void 0&&(r=!1);var s=this.source,n=s.length;if(t>=n)return-1;var h=s.charCodeAt(t);if(!(r||this.switchU)||h<=55295||h>=57344||t+1>=n)return h;var c=s.charCodeAt(t+1);return c>=56320&&c<=57343?(h<<10)+c-56613888:h},ge.prototype.nextIndex=function(t,r){r===void 0&&(r=!1);var s=this.source,n=s.length;if(t>=n)return n;var h=s.charCodeAt(t),c;return!(r||this.switchU)||h<=55295||h>=57344||t+1>=n||(c=s.charCodeAt(t+1))<56320||c>57343?t+1:t+2},ge.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},ge.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},ge.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},ge.prototype.eat=function(t,r){return r===void 0&&(r=!1),this.current(r)===t?(this.advance(r),!0):!1},N.validateRegExpFlags=function(e){for(var t=e.validFlags,r=e.flags,s=0;s-1&&this.raise(e.start,"Duplicate regular expression flag")}},N.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},N.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,r=e.backReferenceNames;t=9&&(r=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!r,!0}return e.pos=t,!1},N.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},N.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},N.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var s=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return n!==-1&&n=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},N.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},N.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},N.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Or(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Or(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}N.regexp_eatPatternCharacters=function(e){for(var t=e.pos,r=0;(r=e.current())!==-1&&!Or(r);)e.advance();return e.pos!==t},N.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},N.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}},N.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},N.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=E(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=E(e.lastIntValue);return!0}return!1},N.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,s=e.current(r);return e.advance(r),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(s=e.lastIntValue),un(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function un(e){return w(e,!0)||e===36||e===95}N.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,s=e.current(r);return e.advance(r),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(s=e.lastIntValue),on(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function on(e){return G(e,!0)||e===36||e===95||e===8204||e===8205}N.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},N.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU)return r>e.maxBackReference&&(e.maxBackReference=r),!0;if(r<=e.numCapturingParens)return!0;e.pos=t}return!1},N.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},N.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},N.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},N.regexp_eatZero=function(e){return e.current()===48&&!Je(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},N.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},N.regexp_eatControlLetter=function(e){var t=e.current();return Lr(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Lr(e){return e>=65&&e<=90||e>=97&&e<=122}N.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var r=e.pos,s=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(s&&n>=55296&&n<=56319){var h=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var c=e.lastIntValue;if(c>=56320&&c<=57343)return e.lastIntValue=(n-55296)*1024+(c-56320)+65536,!0}e.pos=h,e.lastIntValue=n}return!0}if(s&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&hn(e.lastIntValue))return!0;s&&e.raise("Invalid unicode escape"),e.pos=r}return!1};function hn(e){return e>=0&&e<=1114111}N.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},N.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1},N.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(ln(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1};function ln(e){return e===100||e===68||e===115||e===83||e===119||e===87}N.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,r,s),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n),!0}return!1},N.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){P(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(r)||e.raise("Invalid property value")},N.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},N.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Vr(t=e.current());)e.lastStringValue+=E(t),e.advance();return e.lastStringValue!==""};function Vr(e){return Lr(e)||e===95}N.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";cn(t=e.current());)e.lastStringValue+=E(t),e.advance();return e.lastStringValue!==""};function cn(e){return Vr(e)||Je(e)}N.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},N.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},N.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;e.switchU&&(t===-1||r===-1)&&e.raise("Invalid character class"),t!==-1&&r!==-1&&t>r&&e.raise("Range out of order in character class")}}},N.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var r=e.current();(r===99||qr(r))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var s=e.current();return s!==93?(e.lastIntValue=s,e.advance(),!0):!1},N.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},N.regexp_eatClassControlLetter=function(e){var t=e.current();return Je(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},N.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},N.regexp_eatDecimalDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Je(r=e.current());)e.lastIntValue=10*e.lastIntValue+(r-48),e.advance();return e.pos!==t};function Je(e){return e>=48&&e<=57}N.regexp_eatHexDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Rr(r=e.current());)e.lastIntValue=16*e.lastIntValue+jr(r),e.advance();return e.pos!==t};function Rr(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function jr(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}N.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+r*8+e.lastIntValue:e.lastIntValue=t*8+r}else e.lastIntValue=t;return!0}return!1},N.regexp_eatOctalDigit=function(e){var t=e.current();return qr(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function qr(e){return e>=48&&e<=55}N.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var s=0;s=this.input.length)return this.finishToken(i.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},z.readToken=function(e){return w(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},z.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},z.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var s=void 0,n=t;(s=Z(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=s;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,r),t,this.pos,e,this.curPosition())},z.skipLineComment=function(e){for(var t=this.pos,r=this.options.onComment&&this.curPosition(),s=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&ne.test(String.fromCharCode(e)))++this.pos;else break e}}},z.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)},z.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(i.ellipsis)):(++this.pos,this.finishToken(i.dot))},z.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(i.assign,2):this.finishOp(i.slash,1)},z.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),r=1,s=e===42?i.star:i.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++r,s=i.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(i.assign,r+1):this.finishOp(s,r)},z.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(i.assign,3)}return this.finishOp(e===124?i.logicalOR:i.logicalAND,2)}return t===61?this.finishOp(i.assign,2):this.finishOp(e===124?i.bitwiseOR:i.bitwiseAND,1)},z.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(i.assign,2):this.finishOp(i.bitwiseXOR,1)},z.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||S.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(i.incDec,2):t===61?this.finishOp(i.assign,2):this.finishOp(i.plusMin,1)},z.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+r)===61?this.finishOp(i.assign,r+1):this.finishOp(i.bitShift,r)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(r=2),this.finishOp(i.relational,r))},z.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(i.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(i.arrow)):this.finishOp(e===61?i.eq:i.prefix,1)},z.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(i.questionDot,2)}if(t===63){if(e>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(i.assign,3)}return this.finishOp(i.coalesce,2)}}return this.finishOp(i.question,1)},z.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),w(t,!0)||t===92))return this.finishToken(i.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+E(t)+"'")},z.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(i.parenL);case 41:return++this.pos,this.finishToken(i.parenR);case 59:return++this.pos,this.finishToken(i.semi);case 44:return++this.pos,this.finishToken(i.comma);case 91:return++this.pos,this.finishToken(i.bracketL);case 93:return++this.pos,this.finishToken(i.bracketR);case 123:return++this.pos,this.finishToken(i.braceL);case 125:return++this.pos,this.finishToken(i.braceR);case 58:return++this.pos,this.finishToken(i.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(i.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(i.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+E(e)+"'")},z.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)},z.readRegexp=function(){for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(S.test(s)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if(s==="[")t=!0;else if(s==="]"&&t)t=!1;else if(s==="/"&&!t)break;e=s==="\\"}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var h=this.pos,c=this.readWord1();this.containsEsc&&this.unexpected(h);var m=this.regexpState||(this.regexpState=new ge(this));m.reset(r,n,c),this.validateRegExpFlags(m),this.validateRegExpPattern(m);var A=null;try{A=new RegExp(n,c)}catch{}return this.finishToken(i.regexp,{pattern:n,flags:c,value:A})},z.readInt=function(e,t,r){for(var s=this.options.ecmaVersion>=12&&t===void 0,n=r&&this.input.charCodeAt(this.pos)===48,h=this.pos,c=0,m=0,A=0,q=t==null?1/0:t;A=97?re=W-97+10:W>=65?re=W-65+10:W>=48&&W<=57?re=W-48:re=1/0,re>=e)break;m=W,c=c*e+re}return s&&m===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===h||t!=null&&this.pos-h!==t?null:c};function pn(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Mr(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}z.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);return r==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(r=Mr(this.input.slice(t,this.pos)),++this.pos):w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(i.num,r)},z.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var r=this.pos-t>=2&&this.input.charCodeAt(t)===48;r&&this.strict&&this.raise(t,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&s===110){var n=Mr(this.input.slice(t,this.pos));return++this.pos,w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(i.num,n)}r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1),s===46&&!r&&(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),(s===69||s===101)&&!r&&(s=this.input.charCodeAt(++this.pos),(s===43||s===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var h=pn(this.input.slice(t,this.pos),r);return this.finishToken(i.num,h)},z.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var r=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(r,"Code point out of bounds")}else t=this.readHexChar(4);return t},z.readString=function(e){for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===e)break;s===92?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):s===8232||s===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(j(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(i.string,t)};var Ur={};z.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Ur)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},z.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ur;this.raise(e,t)},z.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(r===96||r===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===i.template||this.type===i.invalidTemplate)?r===36?(this.pos+=2,this.finishToken(i.dollarBraceL)):(++this.pos,this.finishToken(i.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(i.template,e));if(r===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(j(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=` -`;break;default:e+=String.fromCharCode(r);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},z.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(s,8);return n>255&&(s=s.slice(0,-1),n=parseInt(s,8)),this.pos+=s.length-1,t=this.input.charCodeAt(this.pos),(s!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-s.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return j(t)?"":String.fromCharCode(t)}},z.readHexChar=function(e){var t=this.pos,r=this.readInt(16,e);return r===null&&this.invalidStringToken(t,"Bad character escape sequence"),r},z.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,r=this.pos,s=this.options.ecmaVersion>=6;this.pos",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}}}),Ha=$({"node_modules/acorn-jsx/index.js"(a,u){"use strict";J();var o=Hh(),l=/^[\da-fA-F]+$/,v=/^\d+$/,b=new WeakMap;function y(x){x=x.Parser.acorn||x;let R=b.get(x);if(!R){let U=x.tokTypes,D=x.TokContext,g=x.TokenType,w=new D("...",!0,!0),B={tc_oTag:w,tc_cTag:G,tc_expr:f},V={jsxName:new g("jsxName"),jsxText:new g("jsxText",{beforeExpr:!0}),jsxTagStart:new g("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new g("jsxTagEnd")};V.jsxTagStart.updateContext=function(){this.context.push(f),this.context.push(w),this.exprAllowed=!1},V.jsxTagEnd.updateContext=function(k){let X=this.context.pop();X===w&&k===U.slash||X===G?(this.context.pop(),this.exprAllowed=this.curContext()===f):this.exprAllowed=!0},R={tokContexts:B,tokTypes:V},b.set(x,R)}return R}function I(x){if(!x)return x;if(x.type==="JSXIdentifier")return x.name;if(x.type==="JSXNamespacedName")return x.namespace.name+":"+x.name.name;if(x.type==="JSXMemberExpression")return I(x.object)+"."+I(x.property)}u.exports=function(x){return x=x||{},function(R){return T({allowNamespaces:x.allowNamespaces!==!1,allowNamespacedObjects:!!x.allowNamespacedObjects},R)}},Object.defineProperty(u.exports,"tokTypes",{get:function(){return y(ft()).tokTypes},configurable:!0,enumerable:!0});function T(x,R){let U=R.acorn||ft(),D=y(U),g=U.tokTypes,w=D.tokTypes,G=U.tokContexts,f=D.tokContexts.tc_oTag,B=D.tokContexts.tc_cTag,V=D.tokContexts.tc_expr,k=U.isNewLine,X=U.isIdentifierStart,O=U.isIdentifierChar;return class extends R{static get acornJsx(){return D}jsx_readToken(){let i="",S=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let F=this.input.charCodeAt(this.pos);switch(F){case 60:case 123:return this.pos===this.start?F===60&&this.exprAllowed?(++this.pos,this.finishToken(w.jsxTagStart)):this.getTokenFromCode(F):(i+=this.input.slice(S,this.pos),this.finishToken(w.jsxText,i));case 38:i+=this.input.slice(S,this.pos),i+=this.jsx_readEntity(),S=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(F===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:k(F)?(i+=this.input.slice(S,this.pos),i+=this.jsx_readNewLine(!0),S=this.pos):++this.pos}}}jsx_readNewLine(i){let S=this.input.charCodeAt(this.pos),F;return++this.pos,S===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,F=i?` -`:`\r -`):F=String.fromCharCode(S),this.options.locations&&(++this.curLine,this.lineStart=this.pos),F}jsx_readString(i){let S="",F=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let j=this.input.charCodeAt(this.pos);if(j===i)break;j===38?(S+=this.input.slice(F,this.pos),S+=this.jsx_readEntity(),F=this.pos):k(j)?(S+=this.input.slice(F,this.pos),S+=this.jsx_readNewLine(!1),F=this.pos):++this.pos}return S+=this.input.slice(F,this.pos++),this.finishToken(g.string,S)}jsx_readEntity(){let i="",S=0,F,j=this.input[this.pos];j!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let Z=++this.pos;for(;this.pos")}let ee=Z.name?"Element":"Fragment";return F["opening"+ee]=Z,F["closing"+ee]=ne,F.children=j,this.type===g.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(F,"JSX"+ee)}jsx_parseText(){let i=this.parseLiteral(this.value);return i.type="JSXText",i}jsx_parseElement(){let i=this.start,S=this.startLoc;return this.next(),this.jsx_parseElementAt(i,S)}parseExprAtom(i){return this.type===w.jsxText?this.jsx_parseText():this.type===w.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(i)}readToken(i){let S=this.curContext();if(S===V)return this.jsx_readToken();if(S===f||S===B){if(X(i))return this.jsx_readWord();if(i==62)return++this.pos,this.finishToken(w.jsxTagEnd);if((i===34||i===39)&&S==f)return this.jsx_readString(i)}return i===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(w.jsxTagStart)):super.readToken(i)}updateContext(i){if(this.type==g.braceL){var S=this.curContext();S==f?this.context.push(G.b_expr):S==V?this.context.push(G.b_tmpl):super.updateContext(i),this.exprAllowed=!0}else if(this.type===g.slash&&i===w.jsxTagStart)this.context.length-=2,this.context.push(B),this.exprAllowed=!1;else return super.updateContext(i)}}}}}),Kh=$({"src/language-js/parse/acorn.js"(a,u){"use strict";J();var o=dr(),l=Ba(),v=za(),b=Ga(),y={ecmaVersion:"latest",sourceType:"module",allowReserved:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,allowAwaitOutsideFunction:!0,allowSuperOutsideMethod:!0,allowHashBang:!0,locations:!0,ranges:!0};function I(D){let{message:g,loc:w}=D;if(!w)return D;let{line:G,column:f}=w;return o(g.replace(/ \(\d+:\d+\)$/,""),{start:{line:G,column:f+1}})}var T,x=()=>{if(!T){let{Parser:D}=ft(),g=Ha();T=D.extend(g())}return T};function R(D,g){let w=x(),G=[],f=[],B=w.parse(D,Object.assign(Object.assign({},y),{},{sourceType:g,onComment:G,onToken:f}));return B.comments=G,B.tokens=f,B}function U(D,g){let w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:G,error:f}=l(()=>R(D,"module"),()=>R(D,"script"));if(!G)throw I(f);return w.originalText=D,b(G,w)}u.exports=v(U)}}),Xh=$({"src/language-js/parse/utils/replace-hashbang.js"(a,u){"use strict";J();function o(l){return l.charAt(0)==="#"&&l.charAt(1)==="!"?"//"+l.slice(2):l}u.exports=o}}),Jh=$({"node_modules/espree/dist/espree.cjs"(a){"use strict";J(),Object.defineProperty(a,"__esModule",{value:!0});var u=ft(),o=Ha(),l;function v(p){return p&&typeof p=="object"&&"default"in p?p:{default:p}}function b(p){if(p&&p.__esModule)return p;var P=Object.create(null);return p&&Object.keys(p).forEach(function(_){if(_!=="default"){var d=Object.getOwnPropertyDescriptor(p,_);Object.defineProperty(P,_,d.get?d:{enumerable:!0,get:function(){return p[_]}})}}),P.default=p,Object.freeze(P)}var y=b(u),I=v(o),T=b(l),x={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};function R(p,P){let _=p[0],d=p[p.length-1],E={type:x.Template,value:P.slice(_.start,d.end)};return _.loc&&(E.loc={start:_.loc.start,end:d.loc.end}),_.range&&(E.start=_.range[0],E.end=d.range[1],E.range=[E.start,E.end]),E}function U(p,P){this._acornTokTypes=p,this._tokens=[],this._curlyBrace=null,this._code=P}U.prototype={constructor:U,translate(p,P){let _=p.type,d=this._acornTokTypes;if(_===d.name)p.type=x.Identifier,p.value==="static"&&(p.type=x.Keyword),P.ecmaVersion>5&&(p.value==="yield"||p.value==="let")&&(p.type=x.Keyword);else if(_===d.privateId)p.type=x.PrivateIdentifier;else if(_===d.semi||_===d.comma||_===d.parenL||_===d.parenR||_===d.braceL||_===d.braceR||_===d.dot||_===d.bracketL||_===d.colon||_===d.question||_===d.bracketR||_===d.ellipsis||_===d.arrow||_===d.jsxTagStart||_===d.incDec||_===d.starstar||_===d.jsxTagEnd||_===d.prefix||_===d.questionDot||_.binop&&!_.keyword||_.isAssign)p.type=x.Punctuator,p.value=this._code.slice(p.start,p.end);else if(_===d.jsxName)p.type=x.JSXIdentifier;else if(_.label==="jsxText"||_===d.jsxAttrValueToken)p.type=x.JSXText;else if(_.keyword)_.keyword==="true"||_.keyword==="false"?p.type=x.Boolean:_.keyword==="null"?p.type=x.Null:p.type=x.Keyword;else if(_===d.num)p.type=x.Numeric,p.value=this._code.slice(p.start,p.end);else if(_===d.string)P.jsxAttrValueToken?(P.jsxAttrValueToken=!1,p.type=x.JSXText):p.type=x.String,p.value=this._code.slice(p.start,p.end);else if(_===d.regexp){p.type=x.RegularExpression;let E=p.value;p.regex={flags:E.flags,pattern:E.pattern},p.value=`/${E.pattern}/${E.flags}`}return p},onToken(p,P){let _=this,d=this._acornTokTypes,E=P.tokens,K=this._tokens;function H(){E.push(R(_._tokens,_._code)),_._tokens=[]}if(p.type===d.eof){this._curlyBrace&&E.push(this.translate(this._curlyBrace,P));return}if(p.type===d.backQuote){this._curlyBrace&&(E.push(this.translate(this._curlyBrace,P)),this._curlyBrace=null),K.push(p),K.length>1&&H();return}if(p.type===d.dollarBraceL){K.push(p),H();return}if(p.type===d.braceR){this._curlyBrace&&E.push(this.translate(this._curlyBrace,P)),this._curlyBrace=p;return}if(p.type===d.template||p.type===d.invalidTemplate){this._curlyBrace&&(K.push(this._curlyBrace),this._curlyBrace=null),K.push(p);return}this._curlyBrace&&(E.push(this.translate(this._curlyBrace,P)),this._curlyBrace=null),E.push(this.translate(p,P))}};var D=[3,5,6,7,8,9,10,11,12,13,14];function g(){return D[D.length-1]}function w(){return[...D]}function G(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:5,P=p==="latest"?g():p;if(typeof P!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof p} instead.`);if(P>=2015&&(P-=2009),!D.includes(P))throw new Error("Invalid ecmaVersion.");return P}function f(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"script";if(p==="script"||p==="module")return p;if(p==="commonjs")return"script";throw new Error("Invalid sourceType.")}function B(p){let P=G(p.ecmaVersion),_=f(p.sourceType),d=p.range===!0,E=p.loc===!0;if(P!==3&&p.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof p.allowReserved<"u"&&typeof p.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let K=P===3?p.allowReserved||"never":!1,H=p.ecmaFeatures||{},te=p.sourceType==="commonjs"||Boolean(H.globalReturn);if(_==="module"&&P<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},p,{ecmaVersion:P,sourceType:_,ranges:d,locations:E,allowReserved:K,allowReturnOutsideFunction:te})}var V=Symbol("espree's internal state"),k=Symbol("espree's esprimaFinishNode");function X(p,P,_,d,E,K,H){let te;p?te="Block":H.slice(_,_+2)==="#!"?te="Hashbang":te="Line";let ae={type:te,value:P};return typeof _=="number"&&(ae.start=_,ae.end=d,ae.range=[_,d]),typeof E=="object"&&(ae.loc={start:E,end:K}),ae}var O=()=>p=>{let P=Object.assign({},p.acorn.tokTypes);return p.acornJsx&&Object.assign(P,p.acornJsx.tokTypes),class extends p{constructor(d,E){(typeof d!="object"||d===null)&&(d={}),typeof E!="string"&&!(E instanceof String)&&(E=String(E));let K=d.sourceType,H=B(d),te=H.ecmaFeatures||{},ae=H.tokens===!0?new U(P,E):null,fe={originalSourceType:K||H.sourceType,tokens:ae?[]:null,comments:H.comment===!0?[]:null,impliedStrict:te.impliedStrict===!0&&H.ecmaVersion>=5,ecmaVersion:H.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:H.ecmaVersion,sourceType:H.sourceType,ranges:H.ranges,locations:H.locations,allowReserved:H.allowReserved,allowReturnOutsideFunction:H.allowReturnOutsideFunction,onToken:Ae=>{ae&&ae.onToken(Ae,fe),Ae.type!==P.eof&&(fe.lastToken=Ae)},onComment:(Ae,dt,mt,_e,Ce,Oe)=>{if(fe.comments){let ze=X(Ae,dt,mt,_e,Ce,Oe,E);fe.comments.push(ze)}}},E),this[V]=fe}tokenize(){do this.next();while(this.type!==P.eof);this.next();let d=this[V],E=d.tokens;return d.comments&&(E.comments=d.comments),E}finishNode(){let d=super.finishNode(...arguments);return this[k](d)}finishNodeAt(){let d=super.finishNodeAt(...arguments);return this[k](d)}parse(){let d=this[V],E=super.parse();if(E.sourceType=d.originalSourceType,d.comments&&(E.comments=d.comments),d.tokens&&(E.tokens=d.tokens),E.body.length){let[K]=E.body;E.range&&(E.range[0]=K.range[0]),E.loc&&(E.loc.start=K.loc.start),E.start=K.start}return d.lastToken&&(E.range&&(E.range[1]=d.lastToken.range[1]),E.loc&&(E.loc.end=d.lastToken.loc.end),E.end=d.lastToken.end),this[V].templateElements.forEach(K=>{let te=K.tail?1:2;K.start+=-1,K.end+=te,K.range&&(K.range[0]+=-1,K.range[1]+=te),K.loc&&(K.loc.start.column+=-1,K.loc.end.column+=te)}),E}parseTopLevel(d){return this[V].impliedStrict&&(this.strict=!0),super.parseTopLevel(d)}raise(d,E){let K=p.acorn.getLineInfo(this.input,d),H=new SyntaxError(E);throw H.index=d,H.lineNumber=K.line,H.column=K.column+1,H}raiseRecoverable(d,E){this.raise(d,E)}unexpected(d){let E="Unexpected token";if(d!=null){if(this.pos=d,this.options.locations)for(;this.posthis.start&&(E+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,E)}jsx_readString(d){let E=super.jsx_readString(d);return this.type===P.string&&(this[V].jsxAttrValueToken=!0),E}[k](d){return d.type==="TemplateElement"&&this[V].templateElements.push(d),d.type.includes("Function")&&!d.generator&&(d.generator=!1),d}}},i="9.4.1",S={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=y.Parser.extend(O())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=y.Parser.extend(I.default(),O())),this._jsx},get(p){return Boolean(p&&p.ecmaFeatures&&p.ecmaFeatures.jsx)?this.jsx:this.regular}};function F(p,P){let _=S.get(P);return(!P||P.tokens!==!0)&&(P=Object.assign({},P,{tokens:!0})),new _(P,p).tokenize()}function j(p,P){let _=S.get(P);return new _(P,p).parse()}var Z=i,ne=function(){return T.KEYS}(),ee=void 0,ie=g(),Ne=w();a.Syntax=ee,a.VisitorKeys=ne,a.latestEcmaVersion=ie,a.parse=j,a.supportedEcmaVersions=Ne,a.tokenize=F,a.version=Z}}),Qh=$({"src/language-js/parse/espree.js"(a,u){"use strict";J();var o=dr(),l=Ba(),v=za(),b=Xh(),y=Ga(),I={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function T(R){let{message:U,lineNumber:D,column:g}=R;return typeof D!="number"?R:o(U,{start:{line:D,column:g}})}function x(R,U){let D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:g}=Jh(),w=b(R),{result:G,error:f}=l(()=>g(w,Object.assign(Object.assign({},I),{},{sourceType:"module"})),()=>g(w,Object.assign(Object.assign({},I),{},{sourceType:"script"})));if(!G)throw T(f);return D.originalText=R,y(G,D)}u.exports=v(x)}});J();var $h=Kh(),Yh=Qh();Ka.exports={parsers:{acorn:$h,espree:Yh}}});return Zh();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-flow.js b/node_modules/ts-poet/node_modules/prettier/parser-flow.js deleted file mode 100644 index b5d224bb1c..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-flow.js +++ /dev/null @@ -1,35 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.flow=e()}})(function(){"use strict";var Ne=(A0,j0)=>()=>(j0||A0((j0={exports:{}}).exports,j0),j0.exports);var Ii=Ne((Mae,in0)=>{var h_=function(A0){return A0&&A0.Math==Math&&A0};in0.exports=h_(typeof globalThis=="object"&&globalThis)||h_(typeof window=="object"&&window)||h_(typeof self=="object"&&self)||h_(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Wc=Ne((Bae,fn0)=>{fn0.exports=function(A0){try{return!!A0()}catch{return!0}}});var ws=Ne((qae,xn0)=>{var V7e=Wc();xn0.exports=!V7e(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var BR=Ne((Uae,an0)=>{var z7e=Wc();an0.exports=!z7e(function(){var A0=function(){}.bind();return typeof A0!="function"||A0.hasOwnProperty("prototype")})});var w_=Ne((Hae,on0)=>{var K7e=BR(),k_=Function.prototype.call;on0.exports=K7e?k_.bind(k_):function(){return k_.apply(k_,arguments)}});var ln0=Ne(vn0=>{"use strict";var cn0={}.propertyIsEnumerable,sn0=Object.getOwnPropertyDescriptor,W7e=sn0&&!cn0.call({1:2},1);vn0.f=W7e?function(j0){var ur=sn0(this,j0);return!!ur&&ur.enumerable}:cn0});var qR=Ne((Yae,bn0)=>{bn0.exports=function(A0,j0){return{enumerable:!(A0&1),configurable:!(A0&2),writable:!(A0&4),value:j0}}});var Es=Ne((Vae,_n0)=>{var pn0=BR(),mn0=Function.prototype,UR=mn0.call,J7e=pn0&&mn0.bind.bind(UR,UR);_n0.exports=pn0?J7e:function(A0){return function(){return UR.apply(A0,arguments)}}});var hn0=Ne((zae,dn0)=>{var yn0=Es(),$7e=yn0({}.toString),Z7e=yn0("".slice);dn0.exports=function(A0){return Z7e($7e(A0),8,-1)}});var wn0=Ne((Kae,kn0)=>{var Q7e=Es(),rie=Wc(),eie=hn0(),HR=Object,nie=Q7e("".split);kn0.exports=rie(function(){return!HR("z").propertyIsEnumerable(0)})?function(A0){return eie(A0)=="String"?nie(A0,""):HR(A0)}:HR});var XR=Ne((Wae,En0)=>{En0.exports=function(A0){return A0==null}});var YR=Ne((Jae,Sn0)=>{var tie=XR(),uie=TypeError;Sn0.exports=function(A0){if(tie(A0))throw uie("Can't call method on "+A0);return A0}});var E_=Ne(($ae,gn0)=>{var iie=wn0(),fie=YR();gn0.exports=function(A0){return iie(fie(A0))}});var zR=Ne((Zae,Fn0)=>{var VR=typeof document=="object"&&document.all,xie=typeof VR>"u"&&VR!==void 0;Fn0.exports={all:VR,IS_HTMLDDA:xie}});var $i=Ne((Qae,On0)=>{var Tn0=zR(),aie=Tn0.all;On0.exports=Tn0.IS_HTMLDDA?function(A0){return typeof A0=="function"||A0===aie}:function(A0){return typeof A0=="function"}});var S2=Ne((roe,Nn0)=>{var In0=$i(),An0=zR(),oie=An0.all;Nn0.exports=An0.IS_HTMLDDA?function(A0){return typeof A0=="object"?A0!==null:In0(A0)||A0===oie}:function(A0){return typeof A0=="object"?A0!==null:In0(A0)}});var S_=Ne((eoe,Cn0)=>{var KR=Ii(),cie=$i(),sie=function(A0){return cie(A0)?A0:void 0};Cn0.exports=function(A0,j0){return arguments.length<2?sie(KR[A0]):KR[A0]&&KR[A0][j0]}});var Dn0=Ne((noe,Pn0)=>{var vie=Es();Pn0.exports=vie({}.isPrototypeOf)});var Rn0=Ne((toe,Ln0)=>{var lie=S_();Ln0.exports=lie("navigator","userAgent")||""});var Hn0=Ne((uoe,Un0)=>{var qn0=Ii(),WR=Rn0(),jn0=qn0.process,Gn0=qn0.Deno,Mn0=jn0&&jn0.versions||Gn0&&Gn0.version,Bn0=Mn0&&Mn0.v8,Zi,g_;Bn0&&(Zi=Bn0.split("."),g_=Zi[0]>0&&Zi[0]<4?1:+(Zi[0]+Zi[1]));!g_&&WR&&(Zi=WR.match(/Edge\/(\d+)/),(!Zi||Zi[1]>=74)&&(Zi=WR.match(/Chrome\/(\d+)/),Zi&&(g_=+Zi[1])));Un0.exports=g_});var JR=Ne((ioe,Yn0)=>{var Xn0=Hn0(),bie=Wc();Yn0.exports=!!Object.getOwnPropertySymbols&&!bie(function(){var A0=Symbol();return!String(A0)||!(Object(A0)instanceof Symbol)||!Symbol.sham&&Xn0&&Xn0<41})});var $R=Ne((foe,Vn0)=>{var pie=JR();Vn0.exports=pie&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var ZR=Ne((xoe,zn0)=>{var mie=S_(),_ie=$i(),yie=Dn0(),die=$R(),hie=Object;zn0.exports=die?function(A0){return typeof A0=="symbol"}:function(A0){var j0=mie("Symbol");return _ie(j0)&&yie(j0.prototype,hie(A0))}});var Wn0=Ne((aoe,Kn0)=>{var kie=String;Kn0.exports=function(A0){try{return kie(A0)}catch{return"Object"}}});var $n0=Ne((ooe,Jn0)=>{var wie=$i(),Eie=Wn0(),Sie=TypeError;Jn0.exports=function(A0){if(wie(A0))return A0;throw Sie(Eie(A0)+" is not a function")}});var Qn0=Ne((coe,Zn0)=>{var gie=$n0(),Fie=XR();Zn0.exports=function(A0,j0){var ur=A0[j0];return Fie(ur)?void 0:gie(ur)}});var et0=Ne((soe,rt0)=>{var QR=w_(),rj=$i(),ej=S2(),Tie=TypeError;rt0.exports=function(A0,j0){var ur,hr;if(j0==="string"&&rj(ur=A0.toString)&&!ej(hr=QR(ur,A0))||rj(ur=A0.valueOf)&&!ej(hr=QR(ur,A0))||j0!=="string"&&rj(ur=A0.toString)&&!ej(hr=QR(ur,A0)))return hr;throw Tie("Can't convert object to primitive value")}});var tt0=Ne((voe,nt0)=>{nt0.exports=!1});var F_=Ne((loe,it0)=>{var ut0=Ii(),Oie=Object.defineProperty;it0.exports=function(A0,j0){try{Oie(ut0,A0,{value:j0,configurable:!0,writable:!0})}catch{ut0[A0]=j0}return j0}});var T_=Ne((boe,xt0)=>{var Iie=Ii(),Aie=F_(),ft0="__core-js_shared__",Nie=Iie[ft0]||Aie(ft0,{});xt0.exports=Nie});var nj=Ne((poe,ot0)=>{var Cie=tt0(),at0=T_();(ot0.exports=function(A0,j0){return at0[A0]||(at0[A0]=j0!==void 0?j0:{})})("versions",[]).push({version:"3.26.1",mode:Cie?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var st0=Ne((moe,ct0)=>{var Pie=YR(),Die=Object;ct0.exports=function(A0){return Die(Pie(A0))}});var n1=Ne((_oe,vt0)=>{var Lie=Es(),Rie=st0(),jie=Lie({}.hasOwnProperty);vt0.exports=Object.hasOwn||function(j0,ur){return jie(Rie(j0),ur)}});var tj=Ne((yoe,lt0)=>{var Gie=Es(),Mie=0,Bie=Math.random(),qie=Gie(1 .toString);lt0.exports=function(A0){return"Symbol("+(A0===void 0?"":A0)+")_"+qie(++Mie+Bie,36)}});var dt0=Ne((doe,yt0)=>{var Uie=Ii(),Hie=nj(),bt0=n1(),Xie=tj(),pt0=JR(),_t0=$R(),g2=Hie("wks"),xv=Uie.Symbol,mt0=xv&&xv.for,Yie=_t0?xv:xv&&xv.withoutSetter||Xie;yt0.exports=function(A0){if(!bt0(g2,A0)||!(pt0||typeof g2[A0]=="string")){var j0="Symbol."+A0;pt0&&bt0(xv,A0)?g2[A0]=xv[A0]:_t0&&mt0?g2[A0]=mt0(j0):g2[A0]=Yie(j0)}return g2[A0]}});var Et0=Ne((hoe,wt0)=>{var Vie=w_(),ht0=S2(),kt0=ZR(),zie=Qn0(),Kie=et0(),Wie=dt0(),Jie=TypeError,$ie=Wie("toPrimitive");wt0.exports=function(A0,j0){if(!ht0(A0)||kt0(A0))return A0;var ur=zie(A0,$ie),hr;if(ur){if(j0===void 0&&(j0="default"),hr=Vie(ur,A0,j0),!ht0(hr)||kt0(hr))return hr;throw Jie("Can't convert object to primitive value")}return j0===void 0&&(j0="number"),Kie(A0,j0)}});var uj=Ne((koe,St0)=>{var Zie=Et0(),Qie=ZR();St0.exports=function(A0){var j0=Zie(A0,"string");return Qie(j0)?j0:j0+""}});var Tt0=Ne((woe,Ft0)=>{var rfe=Ii(),gt0=S2(),ij=rfe.document,efe=gt0(ij)&>0(ij.createElement);Ft0.exports=function(A0){return efe?ij.createElement(A0):{}}});var fj=Ne((Eoe,Ot0)=>{var nfe=ws(),tfe=Wc(),ufe=Tt0();Ot0.exports=!nfe&&!tfe(function(){return Object.defineProperty(ufe("div"),"a",{get:function(){return 7}}).a!=7})});var xj=Ne(At0=>{var ife=ws(),ffe=w_(),xfe=ln0(),afe=qR(),ofe=E_(),cfe=uj(),sfe=n1(),vfe=fj(),It0=Object.getOwnPropertyDescriptor;At0.f=ife?It0:function(j0,ur){if(j0=ofe(j0),ur=cfe(ur),vfe)try{return It0(j0,ur)}catch{}if(sfe(j0,ur))return afe(!ffe(xfe.f,j0,ur),j0[ur])}});var Ct0=Ne((goe,Nt0)=>{var lfe=ws(),bfe=Wc();Nt0.exports=lfe&&bfe(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var O_=Ne((Foe,Pt0)=>{var pfe=S2(),mfe=String,_fe=TypeError;Pt0.exports=function(A0){if(pfe(A0))return A0;throw _fe(mfe(A0)+" is not an object")}});var o4=Ne(Lt0=>{var yfe=ws(),dfe=fj(),hfe=Ct0(),I_=O_(),Dt0=uj(),kfe=TypeError,aj=Object.defineProperty,wfe=Object.getOwnPropertyDescriptor,oj="enumerable",cj="configurable",sj="writable";Lt0.f=yfe?hfe?function(j0,ur,hr){if(I_(j0),ur=Dt0(ur),I_(hr),typeof j0=="function"&&ur==="prototype"&&"value"in hr&&sj in hr&&!hr[sj]){var le=wfe(j0,ur);le&&le[sj]&&(j0[ur]=hr.value,hr={configurable:cj in hr?hr[cj]:le[cj],enumerable:oj in hr?hr[oj]:le[oj],writable:!1})}return aj(j0,ur,hr)}:aj:function(j0,ur,hr){if(I_(j0),ur=Dt0(ur),I_(hr),dfe)try{return aj(j0,ur,hr)}catch{}if("get"in hr||"set"in hr)throw kfe("Accessors not supported");return"value"in hr&&(j0[ur]=hr.value),j0}});var vj=Ne((Ooe,Rt0)=>{var Efe=ws(),Sfe=o4(),gfe=qR();Rt0.exports=Efe?function(A0,j0,ur){return Sfe.f(A0,j0,gfe(1,ur))}:function(A0,j0,ur){return A0[j0]=ur,A0}});var Mt0=Ne((Ioe,Gt0)=>{var lj=ws(),Ffe=n1(),jt0=Function.prototype,Tfe=lj&&Object.getOwnPropertyDescriptor,bj=Ffe(jt0,"name"),Ofe=bj&&function(){}.name==="something",Ife=bj&&(!lj||lj&&Tfe(jt0,"name").configurable);Gt0.exports={EXISTS:bj,PROPER:Ofe,CONFIGURABLE:Ife}});var qt0=Ne((Aoe,Bt0)=>{var Afe=Es(),Nfe=$i(),pj=T_(),Cfe=Afe(Function.toString);Nfe(pj.inspectSource)||(pj.inspectSource=function(A0){return Cfe(A0)});Bt0.exports=pj.inspectSource});var Xt0=Ne((Noe,Ht0)=>{var Pfe=Ii(),Dfe=$i(),Ut0=Pfe.WeakMap;Ht0.exports=Dfe(Ut0)&&/native code/.test(String(Ut0))});var zt0=Ne((Coe,Vt0)=>{var Lfe=nj(),Rfe=tj(),Yt0=Lfe("keys");Vt0.exports=function(A0){return Yt0[A0]||(Yt0[A0]=Rfe(A0))}});var mj=Ne((Poe,Kt0)=>{Kt0.exports={}});var Zt0=Ne((Doe,$t0)=>{var jfe=Xt0(),Jt0=Ii(),Gfe=S2(),Mfe=vj(),_j=n1(),yj=T_(),Bfe=zt0(),qfe=mj(),Wt0="Object already initialized",dj=Jt0.TypeError,Ufe=Jt0.WeakMap,A_,c4,N_,Hfe=function(A0){return N_(A0)?c4(A0):A_(A0,{})},Xfe=function(A0){return function(j0){var ur;if(!Gfe(j0)||(ur=c4(j0)).type!==A0)throw dj("Incompatible receiver, "+A0+" required");return ur}};jfe||yj.state?(Qi=yj.state||(yj.state=new Ufe),Qi.get=Qi.get,Qi.has=Qi.has,Qi.set=Qi.set,A_=function(A0,j0){if(Qi.has(A0))throw dj(Wt0);return j0.facade=A0,Qi.set(A0,j0),j0},c4=function(A0){return Qi.get(A0)||{}},N_=function(A0){return Qi.has(A0)}):(av=Bfe("state"),qfe[av]=!0,A_=function(A0,j0){if(_j(A0,av))throw dj(Wt0);return j0.facade=A0,Mfe(A0,av,j0),j0},c4=function(A0){return _j(A0,av)?A0[av]:{}},N_=function(A0){return _j(A0,av)});var Qi,av;$t0.exports={set:A_,get:c4,has:N_,enforce:Hfe,getterFor:Xfe}});var kj=Ne((Loe,ru0)=>{var Yfe=Wc(),Vfe=$i(),C_=n1(),hj=ws(),zfe=Mt0().CONFIGURABLE,Kfe=qt0(),Qt0=Zt0(),Wfe=Qt0.enforce,Jfe=Qt0.get,P_=Object.defineProperty,$fe=hj&&!Yfe(function(){return P_(function(){},"length",{value:8}).length!==8}),Zfe=String(String).split("String"),Qfe=ru0.exports=function(A0,j0,ur){String(j0).slice(0,7)==="Symbol("&&(j0="["+String(j0).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),ur&&ur.getter&&(j0="get "+j0),ur&&ur.setter&&(j0="set "+j0),(!C_(A0,"name")||zfe&&A0.name!==j0)&&(hj?P_(A0,"name",{value:j0,configurable:!0}):A0.name=j0),$fe&&ur&&C_(ur,"arity")&&A0.length!==ur.arity&&P_(A0,"length",{value:ur.arity});try{ur&&C_(ur,"constructor")&&ur.constructor?hj&&P_(A0,"prototype",{writable:!1}):A0.prototype&&(A0.prototype=void 0)}catch{}var hr=Wfe(A0);return C_(hr,"source")||(hr.source=Zfe.join(typeof j0=="string"?j0:"")),A0};Function.prototype.toString=Qfe(function(){return Vfe(this)&&Jfe(this).source||Kfe(this)},"toString")});var nu0=Ne((Roe,eu0)=>{var rxe=$i(),exe=o4(),nxe=kj(),txe=F_();eu0.exports=function(A0,j0,ur,hr){hr||(hr={});var le=hr.enumerable,Ve=hr.name!==void 0?hr.name:j0;if(rxe(ur)&&nxe(ur,Ve,hr),hr.global)le?A0[j0]=ur:txe(j0,ur);else{try{hr.unsafe?A0[j0]&&(le=!0):delete A0[j0]}catch{}le?A0[j0]=ur:exe.f(A0,j0,{value:ur,enumerable:!1,configurable:!hr.nonConfigurable,writable:!hr.nonWritable})}return A0}});var uu0=Ne((joe,tu0)=>{var uxe=Math.ceil,ixe=Math.floor;tu0.exports=Math.trunc||function(j0){var ur=+j0;return(ur>0?ixe:uxe)(ur)}});var wj=Ne((Goe,iu0)=>{var fxe=uu0();iu0.exports=function(A0){var j0=+A0;return j0!==j0||j0===0?0:fxe(j0)}});var xu0=Ne((Moe,fu0)=>{var xxe=wj(),axe=Math.max,oxe=Math.min;fu0.exports=function(A0,j0){var ur=xxe(A0);return ur<0?axe(ur+j0,0):oxe(ur,j0)}});var ou0=Ne((Boe,au0)=>{var cxe=wj(),sxe=Math.min;au0.exports=function(A0){return A0>0?sxe(cxe(A0),9007199254740991):0}});var su0=Ne((qoe,cu0)=>{var vxe=ou0();cu0.exports=function(A0){return vxe(A0.length)}});var bu0=Ne((Uoe,lu0)=>{var lxe=E_(),bxe=xu0(),pxe=su0(),vu0=function(A0){return function(j0,ur,hr){var le=lxe(j0),Ve=pxe(le),Le=bxe(hr,Ve),Fn;if(A0&&ur!=ur){for(;Ve>Le;)if(Fn=le[Le++],Fn!=Fn)return!0}else for(;Ve>Le;Le++)if((A0||Le in le)&&le[Le]===ur)return A0||Le||0;return!A0&&-1}};lu0.exports={includes:vu0(!0),indexOf:vu0(!1)}});var _u0=Ne((Hoe,mu0)=>{var mxe=Es(),Ej=n1(),_xe=E_(),yxe=bu0().indexOf,dxe=mj(),pu0=mxe([].push);mu0.exports=function(A0,j0){var ur=_xe(A0),hr=0,le=[],Ve;for(Ve in ur)!Ej(dxe,Ve)&&Ej(ur,Ve)&&pu0(le,Ve);for(;j0.length>hr;)Ej(ur,Ve=j0[hr++])&&(~yxe(le,Ve)||pu0(le,Ve));return le}});var du0=Ne((Xoe,yu0)=>{yu0.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ku0=Ne(hu0=>{var hxe=_u0(),kxe=du0(),wxe=kxe.concat("length","prototype");hu0.f=Object.getOwnPropertyNames||function(j0){return hxe(j0,wxe)}});var Eu0=Ne(wu0=>{wu0.f=Object.getOwnPropertySymbols});var gu0=Ne((zoe,Su0)=>{var Exe=S_(),Sxe=Es(),gxe=ku0(),Fxe=Eu0(),Txe=O_(),Oxe=Sxe([].concat);Su0.exports=Exe("Reflect","ownKeys")||function(j0){var ur=gxe.f(Txe(j0)),hr=Fxe.f;return hr?Oxe(ur,hr(j0)):ur}});var Ou0=Ne((Koe,Tu0)=>{var Fu0=n1(),Ixe=gu0(),Axe=xj(),Nxe=o4();Tu0.exports=function(A0,j0,ur){for(var hr=Ixe(j0),le=Nxe.f,Ve=Axe.f,Le=0;Le{var Cxe=Wc(),Pxe=$i(),Dxe=/#|\.prototype\./,s4=function(A0,j0){var ur=Rxe[Lxe(A0)];return ur==Gxe?!0:ur==jxe?!1:Pxe(j0)?Cxe(j0):!!j0},Lxe=s4.normalize=function(A0){return String(A0).replace(Dxe,".").toLowerCase()},Rxe=s4.data={},jxe=s4.NATIVE="N",Gxe=s4.POLYFILL="P";Iu0.exports=s4});var Cu0=Ne((Joe,Nu0)=>{var Sj=Ii(),Mxe=xj().f,Bxe=vj(),qxe=nu0(),Uxe=F_(),Hxe=Ou0(),Xxe=Au0();Nu0.exports=function(A0,j0){var ur=A0.target,hr=A0.global,le=A0.stat,Ve,Le,Fn,gn,et,at;if(hr?Le=Sj:le?Le=Sj[ur]||Uxe(ur,{}):Le=(Sj[ur]||{}).prototype,Le)for(Fn in j0){if(et=j0[Fn],A0.dontCallGetSet?(at=Mxe(Le,Fn),gn=at&&at.value):gn=Le[Fn],Ve=Xxe(hr?Fn:ur+(le?".":"#")+Fn,A0.forced),!Ve&&gn!==void 0){if(typeof et==typeof gn)continue;Hxe(et,gn)}(A0.sham||gn&&gn.sham)&&Bxe(et,"sham",!0),qxe(Le,Fn,et,A0)}}});var Pu0=Ne(()=>{var Yxe=Cu0(),gj=Ii();Yxe({global:!0,forced:gj.globalThis!==gj},{globalThis:gj})});var Du0=Ne(()=>{Pu0()});var ju0=Ne((ece,Ru0)=>{var Lu0=kj(),Vxe=o4();Ru0.exports=function(A0,j0,ur){return ur.get&&Lu0(ur.get,j0,{getter:!0}),ur.set&&Lu0(ur.set,j0,{setter:!0}),Vxe.f(A0,j0,ur)}});var Mu0=Ne((nce,Gu0)=>{"use strict";var zxe=O_();Gu0.exports=function(){var A0=zxe(this),j0="";return A0.hasIndices&&(j0+="d"),A0.global&&(j0+="g"),A0.ignoreCase&&(j0+="i"),A0.multiline&&(j0+="m"),A0.dotAll&&(j0+="s"),A0.unicode&&(j0+="u"),A0.unicodeSets&&(j0+="v"),A0.sticky&&(j0+="y"),j0}});var Uu0=Ne(()=>{var Kxe=Ii(),Wxe=ws(),Jxe=ju0(),$xe=Mu0(),Zxe=Wc(),Bu0=Kxe.RegExp,qu0=Bu0.prototype,Qxe=Wxe&&Zxe(function(){var A0=!0;try{Bu0(".","d")}catch{A0=!1}var j0={},ur="",hr=A0?"dgimsy":"gimsy",le=function(gn,et){Object.defineProperty(j0,gn,{get:function(){return ur+=et,!0}})},Ve={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};A0&&(Ve.hasIndices="d");for(var Le in Ve)le(Le,Ve[Le]);var Fn=Object.getOwnPropertyDescriptor(qu0,"flags").get.call(j0);return Fn!==hr||ur!==hr});Qxe&&Jxe(qu0,"flags",{configurable:!0,get:$xe})});var Pae=Ne((ice,a70)=>{Du0();Uu0();var tU=Object.defineProperty,rae=Object.getOwnPropertyDescriptor,uU=Object.getOwnPropertyNames,eae=Object.prototype.hasOwnProperty,L_=(A0,j0)=>function(){return A0&&(j0=(0,A0[uU(A0)[0]])(A0=0)),j0},au=(A0,j0)=>function(){return j0||(0,A0[uU(A0)[0]])((j0={exports:{}}).exports,j0),j0.exports},iU=(A0,j0)=>{for(var ur in j0)tU(A0,ur,{get:j0[ur],enumerable:!0})},nae=(A0,j0,ur,hr)=>{if(j0&&typeof j0=="object"||typeof j0=="function")for(let le of uU(j0))!eae.call(A0,le)&&le!==ur&&tU(A0,le,{get:()=>j0[le],enumerable:!(hr=rae(j0,le))||hr.enumerable});return A0},fU=A0=>nae(tU({},"__esModule",{value:!0}),A0),Lt=L_({""(){}}),Hu0=au({"src/common/parser-create-error.js"(A0,j0){"use strict";Lt();function ur(hr,le){let Ve=new SyntaxError(hr+" ("+le.start.line+":"+le.start.column+")");return Ve.loc=le,Ve}j0.exports=ur}}),Xu0={};iU(Xu0,{EOL:()=>Ij,arch:()=>tae,cpus:()=>$u0,default:()=>n70,endianness:()=>Yu0,freemem:()=>Wu0,getNetworkInterfaces:()=>e70,hostname:()=>Vu0,loadavg:()=>zu0,networkInterfaces:()=>r70,platform:()=>uae,release:()=>Qu0,tmpDir:()=>Tj,tmpdir:()=>Oj,totalmem:()=>Ju0,type:()=>Zu0,uptime:()=>Ku0});function Yu0(){if(typeof D_>"u"){var A0=new ArrayBuffer(2),j0=new Uint8Array(A0),ur=new Uint16Array(A0);if(j0[0]=1,j0[1]=2,ur[0]===258)D_="BE";else if(ur[0]===513)D_="LE";else throw new Error("unable to figure out endianess")}return D_}function Vu0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function zu0(){return[]}function Ku0(){return 0}function Wu0(){return Number.MAX_VALUE}function Ju0(){return Number.MAX_VALUE}function $u0(){return[]}function Zu0(){return"Browser"}function Qu0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function r70(){}function e70(){}function tae(){return"javascript"}function uae(){return"browser"}function Tj(){return"/tmp"}var D_,Oj,Ij,n70,iae=L_({"node-modules-polyfills:os"(){Lt(),Oj=Tj,Ij=` -`,n70={EOL:Ij,tmpdir:Oj,tmpDir:Tj,networkInterfaces:r70,getNetworkInterfaces:e70,release:Qu0,type:Zu0,cpus:$u0,totalmem:Ju0,freemem:Wu0,uptime:Ku0,loadavg:zu0,hostname:Vu0,endianness:Yu0}}}),fae=au({"node-modules-polyfills-commonjs:os"(A0,j0){Lt();var ur=(iae(),fU(Xu0));if(ur&&ur.default){j0.exports=ur.default;for(let hr in ur)j0.exports[hr]=ur[hr]}else ur&&(j0.exports=ur)}}),xae=au({"node_modules/detect-newline/index.js"(A0,j0){"use strict";Lt();var ur=hr=>{if(typeof hr!="string")throw new TypeError("Expected a string");let le=hr.match(/(?:\r?\n)/g)||[];if(le.length===0)return;let Ve=le.filter(Fn=>Fn===`\r -`).length,Le=le.length-Ve;return Ve>Le?`\r -`:` -`};j0.exports=ur,j0.exports.graceful=hr=>typeof hr=="string"&&ur(hr)||` -`}}),aae=au({"node_modules/jest-docblock/build/index.js"(A0){"use strict";Lt(),Object.defineProperty(A0,"__esModule",{value:!0}),A0.extract=kn,A0.parse=rf,A0.parseWithComments=hn,A0.print=Mn,A0.strip=Qt;function j0(){let On=fae();return j0=function(){return On},On}function ur(){let On=hr(xae());return ur=function(){return On},On}function hr(On){return On&&On.__esModule?On:{default:On}}var le=/\*\/$/,Ve=/^\/\*\*?/,Le=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Fn=/(^|\s+)\/\/([^\r\n]*)/g,gn=/^(\r?\n)+/,et=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,at=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Zt=/(\r?\n|^) *\* ?/g,Ut=[];function kn(On){let ru=On.match(Le);return ru?ru[0].trimLeft():""}function Qt(On){let ru=On.match(Le);return ru&&ru[0]?On.substring(ru[0].length):On}function rf(On){return hn(On).pragmas}function hn(On){let ru=(0,ur().default)(On)||j0().EOL;On=On.replace(Ve,"").replace(le,"").replace(Zt,"$1");let E7="";for(;E7!==On;)E7=On,On=On.replace(et,`${ru}$1 $2${ru}`);On=On.replace(gn,"").trimRight();let Ct=Object.create(null),Ss=On.replace(at,"").replace(gn,"").trimRight(),In;for(;In=at.exec(On);){let Jc=In[2].replace(Fn,"");typeof Ct[In[1]]=="string"||Array.isArray(Ct[In[1]])?Ct[In[1]]=Ut.concat(Ct[In[1]],Jc):Ct[In[1]]=Jc}return{comments:Ss,pragmas:Ct}}function Mn(On){let{comments:ru="",pragmas:E7={}}=On,Ct=(0,ur().default)(ru)||j0().EOL,Ss="/**",In=" *",Jc=" */",Ai=Object.keys(E7),vi=Ai.map(S7=>ut(S7,E7[S7])).reduce((S7,ov)=>S7.concat(ov),[]).map(S7=>`${In} ${S7}${Ct}`).join("");if(!ru){if(Ai.length===0)return"";if(Ai.length===1&&!Array.isArray(E7[Ai[0]])){let S7=E7[Ai[0]];return`${Ss} ${ut(Ai[0],S7)[0]}${Jc}`}}let Rt=ru.split(Ct).map(S7=>`${In} ${S7}`).join(Ct)+Ct;return Ss+Ct+(ru?Rt:"")+(ru&&Ai.length?In+Ct:"")+vi+Jc}function ut(On,ru){return Ut.concat(ru).map(E7=>`@${On} ${E7}`.trim())}}}),oae=au({"src/common/end-of-line.js"(A0,j0){"use strict";Lt();function ur(Le){let Fn=Le.indexOf("\r");return Fn>=0?Le.charAt(Fn+1)===` -`?"crlf":"cr":"lf"}function hr(Le){switch(Le){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function le(Le,Fn){let gn;switch(Fn){case` -`:gn=/\n/g;break;case"\r":gn=/\r/g;break;case`\r -`:gn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Fn)}.`)}let et=Le.match(gn);return et?et.length:0}function Ve(Le){return Le.replace(/\r\n?/g,` -`)}j0.exports={guessEndOfLine:ur,convertEndOfLineToChars:hr,countEndOfLineChars:le,normalizeEndOfLine:Ve}}}),cae=au({"src/language-js/utils/get-shebang.js"(A0,j0){"use strict";Lt();function ur(hr){if(!hr.startsWith("#!"))return"";let le=hr.indexOf(` -`);return le===-1?hr:hr.slice(0,le)}j0.exports=ur}}),sae=au({"src/language-js/pragma.js"(A0,j0){"use strict";Lt();var{parseWithComments:ur,strip:hr,extract:le,print:Ve}=aae(),{normalizeEndOfLine:Le}=oae(),Fn=cae();function gn(Zt){let Ut=Fn(Zt);Ut&&(Zt=Zt.slice(Ut.length+1));let kn=le(Zt),{pragmas:Qt,comments:rf}=ur(kn);return{shebang:Ut,text:Zt,pragmas:Qt,comments:rf}}function et(Zt){let Ut=Object.keys(gn(Zt).pragmas);return Ut.includes("prettier")||Ut.includes("format")}function at(Zt){let{shebang:Ut,text:kn,pragmas:Qt,comments:rf}=gn(Zt),hn=hr(kn),Mn=Ve({pragmas:Object.assign({format:""},Qt),comments:rf.trimStart()});return(Ut?`${Ut} -`:"")+Le(Mn)+(hn.startsWith(` -`)?` -`:` - -`)+hn}j0.exports={hasPragma:et,insertPragma:at}}}),vae=au({"src/utils/is-non-empty-array.js"(A0,j0){"use strict";Lt();function ur(hr){return Array.isArray(hr)&&hr.length>0}j0.exports=ur}}),t70=au({"src/language-js/loc.js"(A0,j0){"use strict";Lt();var ur=vae();function hr(gn){var et,at;let Zt=gn.range?gn.range[0]:gn.start,Ut=(et=(at=gn.declaration)===null||at===void 0?void 0:at.decorators)!==null&&et!==void 0?et:gn.decorators;return ur(Ut)?Math.min(hr(Ut[0]),Zt):Zt}function le(gn){return gn.range?gn.range[1]:gn.end}function Ve(gn,et){let at=hr(gn);return Number.isInteger(at)&&at===hr(et)}function Le(gn,et){let at=le(gn);return Number.isInteger(at)&&at===le(et)}function Fn(gn,et){return Ve(gn,et)&&Le(gn,et)}j0.exports={locStart:hr,locEnd:le,hasSameLocStart:Ve,hasSameLoc:Fn}}}),lae=au({"src/language-js/parse/utils/create-parser.js"(A0,j0){"use strict";Lt();var{hasPragma:ur}=sae(),{locStart:hr,locEnd:le}=t70();function Ve(Le){return Le=typeof Le=="function"?{parse:Le}:Le,Object.assign({astFormat:"estree",hasPragma:ur,locStart:hr,locEnd:le},Le)}j0.exports=Ve}}),bae=au({"src/language-js/parse/utils/replace-hashbang.js"(A0,j0){"use strict";Lt();function ur(hr){return hr.charAt(0)==="#"&&hr.charAt(1)==="!"?"//"+hr.slice(2):hr}j0.exports=ur}}),pae=au({"src/language-js/utils/is-ts-keyword-type.js"(A0,j0){"use strict";Lt();function ur(hr){let{type:le}=hr;return le.startsWith("TS")&&le.endsWith("Keyword")}j0.exports=ur}}),mae=au({"src/language-js/utils/is-block-comment.js"(A0,j0){"use strict";Lt();var ur=new Set(["Block","CommentBlock","MultiLine"]),hr=le=>ur.has(le==null?void 0:le.type);j0.exports=hr}}),_ae=au({"src/language-js/utils/is-type-cast-comment.js"(A0,j0){"use strict";Lt();var ur=mae();function hr(le){return ur(le)&&le.value[0]==="*"&&/@(?:type|satisfies)\b/.test(le.value)}j0.exports=hr}}),yae=au({"src/utils/get-last.js"(A0,j0){"use strict";Lt();var ur=hr=>hr[hr.length-1];j0.exports=ur}}),dae=au({"src/language-js/parse/postprocess/visit-node.js"(A0,j0){"use strict";Lt();function ur(hr,le){if(Array.isArray(hr)){for(let Ve=0;Ve{Mn.leadingComments&&Mn.leadingComments.some(Ve)&&hn.add(ur(Mn))}),kn=Fn(kn,Mn=>{if(Mn.type==="ParenthesizedExpression"){let{expression:ut}=Mn;if(ut.type==="TypeCastExpression")return ut.range=Mn.range,ut;let On=ur(Mn);if(!hn.has(On))return ut.extra=Object.assign(Object.assign({},ut.extra),{},{parenthesized:!0}),ut}})}return kn=Fn(kn,hn=>{switch(hn.type){case"ChainExpression":return at(hn.expression);case"LogicalExpression":{if(Zt(hn))return Ut(hn);break}case"VariableDeclaration":{let Mn=Le(hn.declarations);Mn&&Mn.init&&rf(hn,Mn);break}case"TSParenthesizedType":return le(hn.typeAnnotation)||hn.typeAnnotation.type==="TSThisType"||(hn.typeAnnotation.range=[ur(hn),hr(hn)]),hn.typeAnnotation;case"TSTypeParameter":if(typeof hn.name=="string"){let Mn=ur(hn);hn.name={type:"Identifier",name:hn.name,range:[Mn,Mn+hn.name.length]}}break;case"ObjectExpression":if(Qt.parser==="typescript"){let Mn=hn.properties.find(ut=>ut.type==="Property"&&ut.value.type==="TSEmptyBodyFunctionExpression");Mn&&gn(Mn.value,"Unexpected token.")}break;case"SequenceExpression":{let Mn=Le(hn.expressions);hn.range=[ur(hn),Math.min(hr(Mn),hr(hn))];break}case"TopicReference":Qt.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:Mn}=hn;if(Qt.parser==="meriyah"&&Mn&&Mn.type==="Identifier"){let ut=Qt.originalText.slice(ur(Mn),hr(Mn));(ut.startsWith('"')||ut.startsWith("'"))&&(hn.exported=Object.assign(Object.assign({},hn.exported),{},{type:"Literal",value:hn.exported.name,raw:ut}))}break}case"PropertyDefinition":if(Qt.parser==="meriyah"&&hn.static&&!hn.computed&&!hn.key){let Mn="static",ut=ur(hn);Object.assign(hn,{static:!1,key:{type:"Identifier",name:Mn,range:[ut,ut+Mn.length]}})}break}}),kn;function rf(hn,Mn){Qt.originalText[hr(Mn)]!==";"&&(hn.range=[ur(hn),hr(Mn)])}}function at(kn){switch(kn.type){case"CallExpression":kn.type="OptionalCallExpression",kn.callee=at(kn.callee);break;case"MemberExpression":kn.type="OptionalMemberExpression",kn.object=at(kn.object);break;case"TSNonNullExpression":kn.expression=at(kn.expression);break}return kn}function Zt(kn){return kn.type==="LogicalExpression"&&kn.right.type==="LogicalExpression"&&kn.operator===kn.right.operator}function Ut(kn){return Zt(kn)?Ut({type:"LogicalExpression",operator:kn.operator,left:Ut({type:"LogicalExpression",operator:kn.operator,left:kn.left,right:kn.right.left,range:[ur(kn.left),hr(kn.right.left)]}),right:kn.right.right,range:[ur(kn),hr(kn)]}):kn}j0.exports=et}}),u70={};iU(u70,{default:()=>i70});var i70,wae=L_({"node-modules-polyfills:fs"(){Lt(),i70={}}}),Fj=au({"node-modules-polyfills-commonjs:fs"(A0,j0){Lt();var ur=(wae(),fU(u70));if(ur&&ur.default){j0.exports=ur.default;for(let hr in ur)j0.exports[hr]=ur[hr]}else ur&&(j0.exports=ur)}}),f70={};iU(f70,{ALPN_ENABLED:()=>Gq,COPYFILE_EXCL:()=>jB,COPYFILE_FICLONE:()=>MB,COPYFILE_FICLONE_FORCE:()=>qB,DH_CHECK_P_NOT_PRIME:()=>Lq,DH_CHECK_P_NOT_SAFE_PRIME:()=>Dq,DH_NOT_SUITABLE_GENERATOR:()=>jq,DH_UNABLE_TO_CHECK_GENERATOR:()=>Rq,E2BIG:()=>Dj,EACCES:()=>Lj,EADDRINUSE:()=>Rj,EADDRNOTAVAIL:()=>jj,EAFNOSUPPORT:()=>Gj,EAGAIN:()=>Mj,EALREADY:()=>Bj,EBADF:()=>qj,EBADMSG:()=>Uj,EBUSY:()=>Hj,ECANCELED:()=>Xj,ECHILD:()=>Yj,ECONNABORTED:()=>Vj,ECONNREFUSED:()=>zj,ECONNRESET:()=>Kj,EDEADLK:()=>Wj,EDESTADDRREQ:()=>Jj,EDOM:()=>$j,EDQUOT:()=>Zj,EEXIST:()=>Qj,EFAULT:()=>rG,EFBIG:()=>eG,EHOSTUNREACH:()=>nG,EIDRM:()=>tG,EILSEQ:()=>uG,EINPROGRESS:()=>iG,EINTR:()=>fG,EINVAL:()=>xG,EIO:()=>aG,EISCONN:()=>oG,EISDIR:()=>cG,ELOOP:()=>sG,EMFILE:()=>vG,EMLINK:()=>lG,EMSGSIZE:()=>bG,EMULTIHOP:()=>pG,ENAMETOOLONG:()=>mG,ENETDOWN:()=>_G,ENETRESET:()=>yG,ENETUNREACH:()=>dG,ENFILE:()=>hG,ENGINE_METHOD_ALL:()=>Cq,ENGINE_METHOD_CIPHERS:()=>Oq,ENGINE_METHOD_DH:()=>gq,ENGINE_METHOD_DIGESTS:()=>Iq,ENGINE_METHOD_DSA:()=>Sq,ENGINE_METHOD_EC:()=>Tq,ENGINE_METHOD_NONE:()=>Pq,ENGINE_METHOD_PKEY_ASN1_METHS:()=>Nq,ENGINE_METHOD_PKEY_METHS:()=>Aq,ENGINE_METHOD_RAND:()=>Fq,ENGINE_METHOD_RSA:()=>Eq,ENOBUFS:()=>kG,ENODATA:()=>wG,ENODEV:()=>EG,ENOENT:()=>SG,ENOEXEC:()=>gG,ENOLCK:()=>FG,ENOLINK:()=>TG,ENOMEM:()=>OG,ENOMSG:()=>IG,ENOPROTOOPT:()=>AG,ENOSPC:()=>NG,ENOSR:()=>CG,ENOSTR:()=>PG,ENOSYS:()=>DG,ENOTCONN:()=>LG,ENOTDIR:()=>RG,ENOTEMPTY:()=>jG,ENOTSOCK:()=>GG,ENOTSUP:()=>MG,ENOTTY:()=>BG,ENXIO:()=>qG,EOPNOTSUPP:()=>UG,EOVERFLOW:()=>HG,EPERM:()=>XG,EPIPE:()=>YG,EPROTO:()=>VG,EPROTONOSUPPORT:()=>zG,EPROTOTYPE:()=>KG,ERANGE:()=>WG,EROFS:()=>JG,ESPIPE:()=>$G,ESRCH:()=>ZG,ESTALE:()=>QG,ETIME:()=>rM,ETIMEDOUT:()=>eM,ETXTBSY:()=>nM,EWOULDBLOCK:()=>tM,EXDEV:()=>uM,F_OK:()=>CB,OPENSSL_VERSION_NUMBER:()=>UB,O_APPEND:()=>lB,O_CREAT:()=>oB,O_DIRECTORY:()=>bB,O_DSYNC:()=>_B,O_EXCL:()=>cB,O_NOCTTY:()=>sB,O_NOFOLLOW:()=>pB,O_NONBLOCK:()=>dB,O_RDONLY:()=>XM,O_RDWR:()=>VM,O_SYMLINK:()=>yB,O_SYNC:()=>mB,O_TRUNC:()=>vB,O_WRONLY:()=>YM,POINT_CONVERSION_COMPRESSED:()=>Qq,POINT_CONVERSION_HYBRID:()=>eU,POINT_CONVERSION_UNCOMPRESSED:()=>rU,PRIORITY_ABOVE_NORMAL:()=>aM,PRIORITY_BELOW_NORMAL:()=>fM,PRIORITY_HIGH:()=>oM,PRIORITY_HIGHEST:()=>cM,PRIORITY_LOW:()=>iM,PRIORITY_NORMAL:()=>xM,RSA_NO_PADDING:()=>qq,RSA_PKCS1_OAEP_PADDING:()=>Uq,RSA_PKCS1_PADDING:()=>Mq,RSA_PKCS1_PSS_PADDING:()=>Xq,RSA_PSS_SALTLEN_AUTO:()=>zq,RSA_PSS_SALTLEN_DIGEST:()=>Yq,RSA_PSS_SALTLEN_MAX_SIGN:()=>Vq,RSA_SSLV23_PADDING:()=>Bq,RSA_X931_PADDING:()=>Hq,RTLD_GLOBAL:()=>Cj,RTLD_LAZY:()=>Aj,RTLD_LOCAL:()=>Pj,RTLD_NOW:()=>Nj,R_OK:()=>PB,SIGABRT:()=>mM,SIGALRM:()=>gM,SIGBUS:()=>yM,SIGCHLD:()=>TM,SIGCONT:()=>OM,SIGFPE:()=>dM,SIGHUP:()=>sM,SIGILL:()=>bM,SIGINFO:()=>BM,SIGINT:()=>vM,SIGIO:()=>MM,SIGIOT:()=>_M,SIGKILL:()=>hM,SIGPIPE:()=>SM,SIGPROF:()=>jM,SIGQUIT:()=>lM,SIGSEGV:()=>wM,SIGSTOP:()=>IM,SIGSYS:()=>qM,SIGTERM:()=>FM,SIGTRAP:()=>pM,SIGTSTP:()=>AM,SIGTTIN:()=>NM,SIGTTOU:()=>CM,SIGURG:()=>PM,SIGUSR1:()=>kM,SIGUSR2:()=>EM,SIGVTALRM:()=>RM,SIGWINCH:()=>GM,SIGXCPU:()=>DM,SIGXFSZ:()=>LM,SSL_OP_ALL:()=>HB,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:()=>XB,SSL_OP_CIPHER_SERVER_PREFERENCE:()=>YB,SSL_OP_CISCO_ANYCONNECT:()=>VB,SSL_OP_COOKIE_EXCHANGE:()=>zB,SSL_OP_CRYPTOPRO_TLSEXT_BUG:()=>KB,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:()=>WB,SSL_OP_EPHEMERAL_RSA:()=>JB,SSL_OP_LEGACY_SERVER_CONNECT:()=>$B,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:()=>ZB,SSL_OP_MICROSOFT_SESS_ID_BUG:()=>QB,SSL_OP_MSIE_SSLV2_RSA_PADDING:()=>rq,SSL_OP_NETSCAPE_CA_DN_BUG:()=>eq,SSL_OP_NETSCAPE_CHALLENGE_BUG:()=>nq,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:()=>tq,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:()=>uq,SSL_OP_NO_COMPRESSION:()=>iq,SSL_OP_NO_QUERY_MTU:()=>fq,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:()=>xq,SSL_OP_NO_SSLv2:()=>aq,SSL_OP_NO_SSLv3:()=>oq,SSL_OP_NO_TICKET:()=>cq,SSL_OP_NO_TLSv1:()=>sq,SSL_OP_NO_TLSv1_1:()=>vq,SSL_OP_NO_TLSv1_2:()=>lq,SSL_OP_PKCS1_CHECK_1:()=>bq,SSL_OP_PKCS1_CHECK_2:()=>pq,SSL_OP_SINGLE_DH_USE:()=>mq,SSL_OP_SINGLE_ECDH_USE:()=>_q,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:()=>yq,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:()=>dq,SSL_OP_TLS_BLOCK_PADDING_BUG:()=>hq,SSL_OP_TLS_D5_BUG:()=>kq,SSL_OP_TLS_ROLLBACK_BUG:()=>wq,S_IFBLK:()=>iB,S_IFCHR:()=>uB,S_IFDIR:()=>tB,S_IFIFO:()=>fB,S_IFLNK:()=>xB,S_IFMT:()=>eB,S_IFREG:()=>nB,S_IFSOCK:()=>aB,S_IRGRP:()=>gB,S_IROTH:()=>IB,S_IRUSR:()=>kB,S_IRWXG:()=>SB,S_IRWXO:()=>OB,S_IRWXU:()=>hB,S_IWGRP:()=>FB,S_IWOTH:()=>AB,S_IWUSR:()=>wB,S_IXGRP:()=>TB,S_IXOTH:()=>NB,S_IXUSR:()=>EB,TLS1_1_VERSION:()=>Jq,TLS1_2_VERSION:()=>$q,TLS1_3_VERSION:()=>Zq,TLS1_VERSION:()=>Wq,UV_DIRENT_BLOCK:()=>rB,UV_DIRENT_CHAR:()=>QM,UV_DIRENT_DIR:()=>WM,UV_DIRENT_FIFO:()=>$M,UV_DIRENT_FILE:()=>KM,UV_DIRENT_LINK:()=>JM,UV_DIRENT_SOCKET:()=>ZM,UV_DIRENT_UNKNOWN:()=>zM,UV_FS_COPYFILE_EXCL:()=>RB,UV_FS_COPYFILE_FICLONE:()=>GB,UV_FS_COPYFILE_FICLONE_FORCE:()=>BB,UV_FS_SYMLINK_DIR:()=>UM,UV_FS_SYMLINK_JUNCTION:()=>HM,W_OK:()=>DB,X_OK:()=>LB,default:()=>x70,defaultCipherList:()=>nU,defaultCoreCipherList:()=>Kq});var Aj,Nj,Cj,Pj,Dj,Lj,Rj,jj,Gj,Mj,Bj,qj,Uj,Hj,Xj,Yj,Vj,zj,Kj,Wj,Jj,$j,Zj,Qj,rG,eG,nG,tG,uG,iG,fG,xG,aG,oG,cG,sG,vG,lG,bG,pG,mG,_G,yG,dG,hG,kG,wG,EG,SG,gG,FG,TG,OG,IG,AG,NG,CG,PG,DG,LG,RG,jG,GG,MG,BG,qG,UG,HG,XG,YG,VG,zG,KG,WG,JG,$G,ZG,QG,rM,eM,nM,tM,uM,iM,fM,xM,aM,oM,cM,sM,vM,lM,bM,pM,mM,_M,yM,dM,hM,kM,wM,EM,SM,gM,FM,TM,OM,IM,AM,NM,CM,PM,DM,LM,RM,jM,GM,MM,BM,qM,UM,HM,XM,YM,VM,zM,KM,WM,JM,$M,ZM,QM,rB,eB,nB,tB,uB,iB,fB,xB,aB,oB,cB,sB,vB,lB,bB,pB,mB,_B,yB,dB,hB,kB,wB,EB,SB,gB,FB,TB,OB,IB,AB,NB,CB,PB,DB,LB,RB,jB,GB,MB,BB,qB,UB,HB,XB,YB,VB,zB,KB,WB,JB,$B,ZB,QB,rq,eq,nq,tq,uq,iq,fq,xq,aq,oq,cq,sq,vq,lq,bq,pq,mq,_q,yq,dq,hq,kq,wq,Eq,Sq,gq,Fq,Tq,Oq,Iq,Aq,Nq,Cq,Pq,Dq,Lq,Rq,jq,Gq,Mq,Bq,qq,Uq,Hq,Xq,Yq,Vq,zq,Kq,Wq,Jq,$q,Zq,Qq,rU,eU,nU,x70,Eae=L_({"node-modules-polyfills:constants"(){Lt(),Aj=1,Nj=2,Cj=8,Pj=4,Dj=7,Lj=13,Rj=48,jj=49,Gj=47,Mj=35,Bj=37,qj=9,Uj=94,Hj=16,Xj=89,Yj=10,Vj=53,zj=61,Kj=54,Wj=11,Jj=39,$j=33,Zj=69,Qj=17,rG=14,eG=27,nG=65,tG=90,uG=92,iG=36,fG=4,xG=22,aG=5,oG=56,cG=21,sG=62,vG=24,lG=31,bG=40,pG=95,mG=63,_G=50,yG=52,dG=51,hG=23,kG=55,wG=96,EG=19,SG=2,gG=8,FG=77,TG=97,OG=12,IG=91,AG=42,NG=28,CG=98,PG=99,DG=78,LG=57,RG=20,jG=66,GG=38,MG=45,BG=25,qG=6,UG=102,HG=84,XG=1,YG=32,VG=100,zG=43,KG=41,WG=34,JG=30,$G=29,ZG=3,QG=70,rM=101,eM=60,nM=26,tM=35,uM=18,iM=19,fM=10,xM=0,aM=-7,oM=-14,cM=-20,sM=1,vM=2,lM=3,bM=4,pM=5,mM=6,_M=6,yM=10,dM=8,hM=9,kM=30,wM=11,EM=31,SM=13,gM=14,FM=15,TM=20,OM=19,IM=17,AM=18,NM=21,CM=22,PM=16,DM=24,LM=25,RM=26,jM=27,GM=28,MM=23,BM=29,qM=12,UM=1,HM=2,XM=0,YM=1,VM=2,zM=0,KM=1,WM=2,JM=3,$M=4,ZM=5,QM=6,rB=7,eB=61440,nB=32768,tB=16384,uB=8192,iB=24576,fB=4096,xB=40960,aB=49152,oB=512,cB=2048,sB=131072,vB=1024,lB=8,bB=1048576,pB=256,mB=128,_B=4194304,yB=2097152,dB=4,hB=448,kB=256,wB=128,EB=64,SB=56,gB=32,FB=16,TB=8,OB=7,IB=4,AB=2,NB=1,CB=0,PB=4,DB=2,LB=1,RB=1,jB=1,GB=2,MB=2,BB=4,qB=4,UB=269488175,HB=2147485780,XB=262144,YB=4194304,VB=32768,zB=8192,KB=2147483648,WB=2048,JB=0,$B=4,ZB=0,QB=0,rq=0,eq=0,nq=0,tq=0,uq=0,iq=131072,fq=4096,xq=65536,aq=0,oq=33554432,cq=16384,sq=67108864,vq=268435456,lq=134217728,bq=0,pq=0,mq=0,_q=0,yq=0,dq=0,hq=0,kq=0,wq=8388608,Eq=1,Sq=2,gq=4,Fq=8,Tq=2048,Oq=64,Iq=128,Aq=512,Nq=1024,Cq=65535,Pq=0,Dq=2,Lq=1,Rq=4,jq=8,Gq=1,Mq=1,Bq=2,qq=3,Uq=4,Hq=5,Xq=6,Yq=-1,Vq=-2,zq=-2,Kq="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",Wq=769,Jq=770,$q=771,Zq=772,Qq=2,rU=4,eU=6,nU="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",x70={RTLD_LAZY:Aj,RTLD_NOW:Nj,RTLD_GLOBAL:Cj,RTLD_LOCAL:Pj,E2BIG:Dj,EACCES:Lj,EADDRINUSE:Rj,EADDRNOTAVAIL:jj,EAFNOSUPPORT:Gj,EAGAIN:Mj,EALREADY:Bj,EBADF:qj,EBADMSG:Uj,EBUSY:Hj,ECANCELED:Xj,ECHILD:Yj,ECONNABORTED:Vj,ECONNREFUSED:zj,ECONNRESET:Kj,EDEADLK:Wj,EDESTADDRREQ:Jj,EDOM:$j,EDQUOT:Zj,EEXIST:Qj,EFAULT:rG,EFBIG:eG,EHOSTUNREACH:nG,EIDRM:tG,EILSEQ:uG,EINPROGRESS:iG,EINTR:fG,EINVAL:xG,EIO:aG,EISCONN:oG,EISDIR:cG,ELOOP:sG,EMFILE:vG,EMLINK:lG,EMSGSIZE:bG,EMULTIHOP:pG,ENAMETOOLONG:mG,ENETDOWN:_G,ENETRESET:yG,ENETUNREACH:dG,ENFILE:hG,ENOBUFS:kG,ENODATA:wG,ENODEV:EG,ENOENT:SG,ENOEXEC:gG,ENOLCK:FG,ENOLINK:TG,ENOMEM:OG,ENOMSG:IG,ENOPROTOOPT:AG,ENOSPC:NG,ENOSR:CG,ENOSTR:PG,ENOSYS:DG,ENOTCONN:LG,ENOTDIR:RG,ENOTEMPTY:jG,ENOTSOCK:GG,ENOTSUP:MG,ENOTTY:BG,ENXIO:qG,EOPNOTSUPP:UG,EOVERFLOW:HG,EPERM:XG,EPIPE:YG,EPROTO:VG,EPROTONOSUPPORT:zG,EPROTOTYPE:KG,ERANGE:WG,EROFS:JG,ESPIPE:$G,ESRCH:ZG,ESTALE:QG,ETIME:rM,ETIMEDOUT:eM,ETXTBSY:nM,EWOULDBLOCK:tM,EXDEV:uM,PRIORITY_LOW:iM,PRIORITY_BELOW_NORMAL:fM,PRIORITY_NORMAL:xM,PRIORITY_ABOVE_NORMAL:aM,PRIORITY_HIGH:oM,PRIORITY_HIGHEST:cM,SIGHUP:sM,SIGINT:vM,SIGQUIT:lM,SIGILL:bM,SIGTRAP:pM,SIGABRT:mM,SIGIOT:_M,SIGBUS:yM,SIGFPE:dM,SIGKILL:hM,SIGUSR1:kM,SIGSEGV:wM,SIGUSR2:EM,SIGPIPE:SM,SIGALRM:gM,SIGTERM:FM,SIGCHLD:TM,SIGCONT:OM,SIGSTOP:IM,SIGTSTP:AM,SIGTTIN:NM,SIGTTOU:CM,SIGURG:PM,SIGXCPU:DM,SIGXFSZ:LM,SIGVTALRM:RM,SIGPROF:jM,SIGWINCH:GM,SIGIO:MM,SIGINFO:BM,SIGSYS:qM,UV_FS_SYMLINK_DIR:UM,UV_FS_SYMLINK_JUNCTION:HM,O_RDONLY:XM,O_WRONLY:YM,O_RDWR:VM,UV_DIRENT_UNKNOWN:zM,UV_DIRENT_FILE:KM,UV_DIRENT_DIR:WM,UV_DIRENT_LINK:JM,UV_DIRENT_FIFO:$M,UV_DIRENT_SOCKET:ZM,UV_DIRENT_CHAR:QM,UV_DIRENT_BLOCK:rB,S_IFMT:eB,S_IFREG:nB,S_IFDIR:tB,S_IFCHR:uB,S_IFBLK:iB,S_IFIFO:fB,S_IFLNK:xB,S_IFSOCK:aB,O_CREAT:oB,O_EXCL:cB,O_NOCTTY:sB,O_TRUNC:vB,O_APPEND:lB,O_DIRECTORY:bB,O_NOFOLLOW:pB,O_SYNC:mB,O_DSYNC:_B,O_SYMLINK:yB,O_NONBLOCK:dB,S_IRWXU:hB,S_IRUSR:kB,S_IWUSR:wB,S_IXUSR:EB,S_IRWXG:SB,S_IRGRP:gB,S_IWGRP:FB,S_IXGRP:TB,S_IRWXO:OB,S_IROTH:IB,S_IWOTH:AB,S_IXOTH:NB,F_OK:CB,R_OK:PB,W_OK:DB,X_OK:LB,UV_FS_COPYFILE_EXCL:RB,COPYFILE_EXCL:jB,UV_FS_COPYFILE_FICLONE:GB,COPYFILE_FICLONE:MB,UV_FS_COPYFILE_FICLONE_FORCE:BB,COPYFILE_FICLONE_FORCE:qB,OPENSSL_VERSION_NUMBER:UB,SSL_OP_ALL:HB,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:XB,SSL_OP_CIPHER_SERVER_PREFERENCE:YB,SSL_OP_CISCO_ANYCONNECT:VB,SSL_OP_COOKIE_EXCHANGE:zB,SSL_OP_CRYPTOPRO_TLSEXT_BUG:KB,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:WB,SSL_OP_EPHEMERAL_RSA:JB,SSL_OP_LEGACY_SERVER_CONNECT:$B,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:ZB,SSL_OP_MICROSOFT_SESS_ID_BUG:QB,SSL_OP_MSIE_SSLV2_RSA_PADDING:rq,SSL_OP_NETSCAPE_CA_DN_BUG:eq,SSL_OP_NETSCAPE_CHALLENGE_BUG:nq,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:tq,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:uq,SSL_OP_NO_COMPRESSION:iq,SSL_OP_NO_QUERY_MTU:fq,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:xq,SSL_OP_NO_SSLv2:aq,SSL_OP_NO_SSLv3:oq,SSL_OP_NO_TICKET:cq,SSL_OP_NO_TLSv1:sq,SSL_OP_NO_TLSv1_1:vq,SSL_OP_NO_TLSv1_2:lq,SSL_OP_PKCS1_CHECK_1:bq,SSL_OP_PKCS1_CHECK_2:pq,SSL_OP_SINGLE_DH_USE:mq,SSL_OP_SINGLE_ECDH_USE:_q,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:yq,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:dq,SSL_OP_TLS_BLOCK_PADDING_BUG:hq,SSL_OP_TLS_D5_BUG:kq,SSL_OP_TLS_ROLLBACK_BUG:wq,ENGINE_METHOD_RSA:Eq,ENGINE_METHOD_DSA:Sq,ENGINE_METHOD_DH:gq,ENGINE_METHOD_RAND:Fq,ENGINE_METHOD_EC:Tq,ENGINE_METHOD_CIPHERS:Oq,ENGINE_METHOD_DIGESTS:Iq,ENGINE_METHOD_PKEY_METHS:Aq,ENGINE_METHOD_PKEY_ASN1_METHS:Nq,ENGINE_METHOD_ALL:Cq,ENGINE_METHOD_NONE:Pq,DH_CHECK_P_NOT_SAFE_PRIME:Dq,DH_CHECK_P_NOT_PRIME:Lq,DH_UNABLE_TO_CHECK_GENERATOR:Rq,DH_NOT_SUITABLE_GENERATOR:jq,ALPN_ENABLED:Gq,RSA_PKCS1_PADDING:Mq,RSA_SSLV23_PADDING:Bq,RSA_NO_PADDING:qq,RSA_PKCS1_OAEP_PADDING:Uq,RSA_X931_PADDING:Hq,RSA_PKCS1_PSS_PADDING:Xq,RSA_PSS_SALTLEN_DIGEST:Yq,RSA_PSS_SALTLEN_MAX_SIGN:Vq,RSA_PSS_SALTLEN_AUTO:zq,defaultCoreCipherList:Kq,TLS1_VERSION:Wq,TLS1_1_VERSION:Jq,TLS1_2_VERSION:$q,TLS1_3_VERSION:Zq,POINT_CONVERSION_COMPRESSED:Qq,POINT_CONVERSION_UNCOMPRESSED:rU,POINT_CONVERSION_HYBRID:eU,defaultCipherList:nU}}}),Sae=au({"node-modules-polyfills-commonjs:constants"(A0,j0){Lt();var ur=(Eae(),fU(f70));if(ur&&ur.default){j0.exports=ur.default;for(let hr in ur)j0.exports[hr]=ur[hr]}else ur&&(j0.exports=ur)}}),gae=au({"node_modules/flow-parser/flow_parser.js"(A0){Lt(),function(j0){"use strict";var ur="member_property_expression",hr=8483,le=12538,Ve="children",Le="predicate_expression",Fn="??",gn="Identifier",et=64311,at=192,Zt=11710,Ut=122654,kn=110947,Qt=67591,rf="!",hn="directive",Mn=163,ut="block",On=126553,ru=12735,E7=68096,Ct="params",Ss=93071,In=122,Jc=72767,Ai=181,vi="for_statement",Rt=128,S7="start",ov=43867,xU="_method",R_=70414,cv=">",ef="catch_body",j_=120121,aU="the end of an expression statement (`;`)",G_=124907,oU=1027,v4=126558,nf="jsx_fragment",M_=42527,B_="decorators",q_=82943,U_=71039,H_=110882,X_=67514,cU=8472,sU="update",Y_=12783,V_=12438,z_=12352,K_=8511,W_=42961,F2="method",l4=120713,tf=8191,uf="function_param",J_=67871,g7="throw",$_=11507,ff="class_extends",Z_=43470,xf="object_key_literal",Q_=71903,ry=65437,af="jsx_child",ey=43311,b4=119995,ny=67637,p4=68116,ty=66204,uy=65470,vU="<<=",iy="e",fy=67391,m4=11631,_4=69956,sv="tparams",xy=66735,ay=64217,oy=43697,lU="Invalid binary/octal ",cy=-43,sy=43255,y4="do",vy=43301,of="binding_pattern",ly=120487,cf="jsx_attribute_value_literal",d4="package",sf="interface_declaration",by=72750,py=119892,bU="tail",pU=-53,vf=111,mU=180,my=119807,_y=71959,_U=8206,yy=65613,$c="type",dy=55215,hy=-42,lf="export_default_declaration_decl",h4=72970,yU="filtered_out",ky=70416,dU=229,bf="function_this_param",hU="module",k4="try",wy=70143,Ey=125183,Sy=70412,h0="@])",pf="binary",kU="infinity",w4="private",gy=65500,E4="has_unknown_members",mf="pattern_array_rest_element",wU="Property",gs="implements",Fy=12548,EU=211,_f="if_alternate_statement",Ty=124903,Oy=43395,vv="src/parser/type_parser.ml",Iy=66915,S4=126552,Ay=120712,g4=126555,Ny=120596,o7="raw",F7=112,yf="class_declaration",df="statement",Cy=126624,Py=71235,hf="meta_property",Dy=44002,Ly=8467,kf="class_property_value",Ry=8318,wf="optional_call",jy=43761,Zc="kind",Ef="class_identifier",Gy=69955,My=66378,By=120512,qy=68220,Ht=110,Uy=123583,T2="declare",Sf="typeof_member_identifier",gf="catch_clause",Hy=11742,Xy=70831,F4=8468,Ff="for_in_assignment_pattern",SU=-32,Tf="object_",Yy=43262,Vy="mixins",Of="type_param",gU="visit_trailing_comment",zy=71839,O2="boolean",If="call",FU="expected *",Ky=43010,Wy=241,Au="expression",I2="column",Jy=43595,$y=43258,Zy=191456,Af="member_type_identifier",A2=117,Qy=43754,T4=126544,TU="Assert_failure",rd=66517,ed=42964,Nf="enum_number_member",OU="a string",nd=65855,td=119993,ud="opaque",IU=870530776,id=67711,fd=66994,Cf="enum_symbol_body",AU=185,NU=219,O4="filter",xd=43615,I4=126560,ad=19903,t1="get",od=64316,CU=`Fatal error: exception %s -`,A4="exported",PU=">=",Wu="return",N4="members",C4=256,cd=66962,sd=64279,vd=67829,DU="Enum `",LU="&&=",Pf="object_property",ld=67589,Df="pattern_object_property",Lf="template_literal_element",bd=69551,Ni=127343600,P4=70452,Rf="class_element",pd="ENOENT",md=71131,RU=200,_d=120137,yd=94098,D4=72349,jU=1328,jf="function_identifier",dd=126543,Gf="jsx_attribute_name",hd=43487,kr="@[<2>{ ",GU="ENOTEMPTY",kd=65908,wd=72191,L4=120513,Ed=92909,MU="bound",Sd=162,BU=172,R4=120070,Mf="enum_number_body",Bf="update_expression",qf="spread_element",Uf="for_in_left_declaration",j4=64319,N2="%d",gd=12703,G4=11687,qU="@,))@]",Fd=42239,Hf="type_cast",Td=42508,Xf="class_implements_interface",Od=67640,Id=605857695,UU="Cygwin",HU="buffer.ml",Ad=124908,XU="handler",Nd=66207,Cd=66963,M4=11558,YU="-=",Pn=113,Pd=113775,VU="collect_comments",B4=126540,lv="set",Yf="assignment_pattern",Nu="right",Vf="object_key_identifier",q4=120133,Dd="Invalid number ",Ld=42963,U4=12539,Rd=68023,jd=43798,ni=100,zf="pattern_literal",Kf="generic_type",zU="*",Gd=42783,Md=42890,Bd=230,H4="else",qd=70851,Ud=69289,KU="the start of a statement",X4="properties",Hd=43696,Xd=110959,Wf="declare_function",Y4=120597,Jf="object_indexer_property_type",Yd=70492,Vd=2048,C2="arguments",Xr="comments",zd=43042,Qc=107,Kd=110575,WU=161,Wd=67431,V4="line",P2="declaration",eu="static",$f="pattern_identifier",Jd=69958,JU="the",$d="Unix.Unix_error",Zd=43814,rs="annot",Qd=65786,rh=66303,eh=64967,nh=64255,th=8584,z4=120655,$U="Stack_overflow",uh=43700,Zf="syntax_opt",ZU="/static/",Qf="comprehension",ih=253,QU="Not_found",rH="+=",eH=235,fh=68680,xh=66954,ah=64324,oh=72966,nH=174,tH=-1053382366,ch="rest",rx="pattern_array_element",ex="jsx_attribute_value_expression",K4=65595,nx="pattern_array_e",uH=243,sh=43711,vh="rmdir",W4="symbol",lh=69926,J4="*dummy method*",bh=43741,T7="typeParameters",D2="const",iH=1026,fH=149,ph=12341,mh=72847,_h=66993,xH=202,Ci="false",Xt=106,yh=120076,dh=186,Pi=128,hh=125124,kh="Fatal error: exception ",$4=67593,wh=69297,Eh=44031,aH=234,Sh=92927,gh=68095,Ju=8231,tx="object_key_computed",ux="labeled_statement",ix="function_param_pattern",Z4=126590,Fh=65481,Th=43442,oH="collect_comments_opt",fx="variable_declarator",bv="_",Oh="compare: functional value",Ih=67967,pv="computed",xx="object_property_type",mt="id",Ah=126562,u1=114,cH="comment_bounds",Nh=70853,Ch=69247,ax="class_private_field",Ph=42237,Dh=72329,sH="Invalid_argument",Lh=113770,Q4=94031,Rh=120092,ox="declare_class",jh=67839,Gh=72250,vH="%ni",Mh=92879,lH="prototype",Fs="`.",cx=8287,r8=65344,Bh="&",O7="debugger",sx="type_identifier_reference",bH="Internal Error: Found private field in object props",vx="sequence",lx="call_type_args",pH=238,qh=12348,mH="++",Uh=68863,Hh=72001,Xh=70084,Yh="label",mv=-45,bx="jsx_opening_attribute",Vh=43583,e8="%F",zh=43784,Kh=113791,px="call_arguments",n8=126503,Wh=43743,$u="0",Jh=119967,t8=126538,mx="new_",_v=449540197,$h=64109,Zh=68466,Qh=177983,wt=248,_x="program",Xe="@,]@]",rk=68031,yx="function_type",dx="type_",u8=8484,ek=67382,nk=42537,tk=226,uk=66559,ik=42993,fk=64274,i8=71236,xk=120069,ak=72105,ok=126570,ck="object",sk=42959,I7="break",hx="for_of_statement",vk=43695,f8=126551,lk=66955,x8=126520,bk=66499,L2=1024,pk=67455,mk=43018,_H=198,a8=126522,kx="function_declaration",_k=73064,wx="await",yk=92728,dk=70418,hk=68119,Ex="function_rest_param",kk=42653,o8=11703,li="left",c8=70449,wk=184,Sx="declare_type_alias",gx=16777215,s8=70302,yH="/=",dH="|=",Ek=55242,Sk=126583,gk=124927,Fk=124895,Tk=72959,Ok=65497,hH="Invalid legacy octal ",es="typeof",Ik="explicit_type",Fx="statement_list",Ak=65495,Tx="class_method",v8=8526,l8=244,Nk=67861,b8=119994,p8="enum",kH=2147483647,Ck=69762,wH=208,R2="in",Pk=11702,m8=67638,EH=", characters ",Dk=70753,yv="super",Lk=92783,Rk=8304,_8=126504,Ox="import_specifier",jk=68324,Gk=101589,Mk=67646,Ix="expression_or_spread",Bk=74879,qk=43792,y8=43260,Uk=93052,SH="{",Hk=65574,Xk=125258,dv=224,Ax="jsx_element_name_member_expression",j2="instanceof",Yk=69599,Vk=43560,Nx="function_expression",d8=223,zk=72242,Kk=11498,Wk=126467,Jk=73112,gH=140,h8=70107,$k=13311,Cx="jsx_children",k8=126548,Zk=63743,w8=43471,Px="jsx_expression",Qk=69864,rw=71998,ew=72e3,E8=126591,S8=12592,Dx="type_params",nw=126578,g8=126537,wr="{ ",tw=123627,Lx="jsx_spread_attribute",Pe="@,",uw=70161,iw=187,F8=126500,Rx="label_identifier",fw=42606,jx="number_literal_type",T8=42999,xw=64310,FH=-594953737,aw=122623,O8="hasUnknownMembers",Gx="array",TH="^=",Mx="enum_string_member",ow=65536,cw=65615,ns="void",sw=65135,Z0=")",OH=138,vw=70002,G2="let",lw=70271,bw="nan",W="@[%s =@ ",pw=194559,mw=110579,Bx="binding_type_identifier",_w=42735,IH=57343,Zu="/",qx="for_in_statement_lhs",yw=43503,dw=8516,hw=66938,kw="ENOTDIR",AH="TypeParameterInstantiation",ww=69749,Ew=65381,Sw=83526,hv="number",gw=12447,NH=154,I8=70286,Fw=72160,Tw=43493,CH=206,Ux="enum_member_identifier",A8=70280,M2="function",N8=70162,Ow=255,Iw=67702,Aw=66771,Nw=70312,PH="|",Cw=93759,DH="End_of_file",Pw=43709,i1="new",LH="Failure",B2="local",Dw=101631,C8=8489,P8="with",Hx="enum_declaration",Lw=218,Rw=70457,D8=8488,Xx="member",L8=64325,jw=247,Gw=70448,Mw=69967,R8=126535,Bw=71934,Yx="import_named_specifier",qw=65312,Uw=126619,Vx="type_annotation",RH=56320,Hw=131071,Xw=120770,Yw=67002,zx="with_",Kx="statement_fork_point",jH="finalizer",Vw=12320,GH="elements",Wx="literal",zw=68607,Kw=8507,j8="each",MH="Sys_error",Ww=123535,Jw=130,Jx="bigint_literal_type",$w=64829,G8=11727,Zw=120538,$x="member_private_name",Zx="type_alias",BH="Printexc.handle_uncaught_exception",M8=126556,Qx="tagged_template",ra="pattern_object_property_literal_key",Qw=43881,B8=72192,rE=67826,eE=124910,nE=66511,ts="int_of_string",tE=43249,nr="None",qH="FunctionTypeParam",ti="name",uE=70285,c7=103,iE=120744,ea=12288,na="intersection_type",fE=11679,q8=11559,UH="callee",xE=71295,aE=70018,oE=11567,cE=42954,HH="*-/",Qu="predicate",ta="expression_statement",XH="regexp",sE=65479,YH=132,vE=11389,Bu="optional",VH=-602162310,z="@]",lE=120003,bE=72249,zH="Unexpected ",pE=73008,U8="finally",ua="toplevel_statement_list",KH="end",mE=178207,WH="&=",_E=70301,JH="%Li",yE=72161,dE=69746,hE=70460,kE=12799,H8=65535,wE="loc",EE=69375,SE=43518,$H=205,gE=65487,ia="while_",FE=183983,fa="typeof_expression",TE=-673950933,OE=42559,ZH="||",IE=124926,AE=55291,xa="jsx_element_name_identifier",aa=8239,X8="mixed",QH=136,NE=-253313196,CE=11734,Y8=67827,PE=68287,DE=119976,rX="**",J=" =",V8=888960333,LE=124902,oa="tuple_type",eX=227,RE=70726,jE=73111,z8=126602,GE=126529,ca="object_property_value_type",C0="%a",nX=", ",tX="<=",ME=69423,uX=199,K8=11695,BE=12294,W8=11711,qE=67583,iX=710,J8=126584,UE=68295,HE=72703,XE="prefix",fX=-80,$8=69415,YE=11492,q2="class",Z8=65575,A7="continue",VE=65663,xX=2047,Q8=68120,zE=71086,KE=19967,Di=782176664,WE=120779,r3=8486,bi=" ",aX="||=",oX="Undefined_recursive_module",JE=66863,cX="RestElement",e3=126634,$E=66377,ZE=74751,sa="jsx_element_name_namespaced",QE=43334,rS=66815,N7="typeAnnotation",eS=120126,va="array_element",n3=64285,sX=189,vX="**=",Yr="()",nS=8543,la="declare_module",ba="export_batch_specifier",lX="%i",bX=">>>=",tS=68029,pX="importKind",C7="extends",uS=64296,t3=43259,iS=71679,fS=64913,xS=119969,aS=94175,oS=72440,u3=65141,pa="function_",cS=43071,sS=42888,vS=69807,ou="variance",us=123,ma="import_default_specifier",mX=">>>",lS=43764,pi="pattern",bS=71947,pS=70655,kv="consequent",_X=4096,mS=183,_S=68447,yS=65473,is=255,dS=73648,_a="call_type_arg",ya=8238,hS=68899,kS=93026,Ye="@[<2>[",wS=110588,da="comment",yX=191,ha="switch_case",dX=175,ES=71942,ka="do_while",wv="constructor",SS=43587,gS=43586,wu="yield",FS=67462,hX="fd ",TS=-61,OS="target",i3=72272,U2="var",kX="impltype",f3=70108,H2="0o",IS=119972,AS=92991,x3=70441,a3=8450,NS=120074,CS=66717,wa="interface_type",o3=43880,An="%B",PS=111355,Ev=5760,DS=11630,c3=126499,LS="of",wX=">>",EX="Popping lex mode from empty stack",s3=120629,fs=108,RS=43002,SX="%=",v3=126539,jS=126502,Ea="template_literal",GS="src/parser/statement_parser.ml",MS=": Not a directory",gX="b",BS=67461,qS=11519,FX="src/parser/flow_lexer.ml",TX="Out_of_memory",US=120570,Sa=12287,HS=126534,XS="index out of bounds",YS=73029,l3="_bigarr02",b3=126571,OX="))",ga="for_statement_init",IX="supertype",Fa="class_property",p3="}",f1="this",Ta="declare_module_exports",AX="@",Oa="union_type",Li=65535,Ia="variance_opt",VS=94032,NX=222,zS=42124,Aa="this_expression",Na="jsx_element",CX="typeArguments",KS=65019,WS=125251,JS=64111,$S=8471,Ca="typeof_qualified_identifier",ZS=70497,PX="EnumDefaultedMember",Pa=8202,QS=66927,P7="switch",rg=69634,Da="unary_expression",eg=71215,DX=126,ng=67679,tg=65597,LX=207,ug=120686,m3=72163,ig=67001,fg=42962,xg=64262,X2=124,La=65279,ag=126495,RX=169,og=71944,jX=-10,_3="alternate",cg=92975,sg=65489,Y2=252,vg=67807,lg=43187,bg=68850,y3="export",pg=66383,GX="===",Ra=".",ja="type_args",MX=147,mg=92159,BX=240,Ga="jsx_element_name",_g=72283,yg=171,x1=116,dg=110587,d3=70279,hg=75075,kg=65338,Ma="function_params",wg=126627,qX=213,h3=73065,Eg=71352,k3=119970,Sg=70005,gg=12295,w3=120771,Fg=71494,Tg=11557,Og=42191,UX="flags",Ig=68437,Ag=70730,Ba="optional_indexed_access",qa="pattern_object_p",Ng=42785,Ua="nullable_type",Bn="value",Cg=12343,Pg=68415,Dg=11694,HX=221,Lg=11726,Ha="syntax",Rg=119964,XX="&&",jg=68497,Gg=73097,xs="null",E3=126523,Mg=120084,Bg=126601,qg=8454,Ug="expressions",Hg=72144,V2='"',Zr="(@[",YX=1022,VX=231,Xg=170,S3=12448,Yg=68786,g3="<",zX=931,KX="(",WX=196,JX=2048,F3="an identifier",T3=69959,Vg=68799,$X="leadingComments",zg=72969,Kg=182,Wg=100351,Xa="enum_defaulted_member",Jg=69839,$g=94026,Zg=209,ZX=">>=",Qg=131,O3=12336,s7="empty",QX=331416730,rY=204,rF=70479,eF=69487,nF=101640,tF=43123,eY="([^/]+)",I3=8319,nY=165,Ya="object_type_property_setter",tY=909,uF=15,iF=12591,br=125,fF=92735,uY="cases",xF=183969,a1="bigint",iY="Division_by_zero",aF=67071,oF=12329,A3=120004,cF=69414,N3="if",sF=126519,vF="immediately within another function.",lF=55238,bF=126498,fY="qualification",pF=66256,Er="@ }@]",z2=118,C3=11565,P3=120122,Va="pattern_object_rest_property",mF=74862,D3="'",_F=-26065557,yF=124911,Sv=119,D7=104,za="assignment",dF=8457,K2="from",hF=64321,kF=113817,wF=65629,EF=42655,Ri=102,SF=43137,gF=11502,o0=";@ ",L7=101,Ka="pattern_array_element_pattern",Wn="body",Wa="jsx_member_expression",FF=65547,Ja="jsx_attribute_value",$a="jsx_namespaced_name",L3=72967,TF=126550,gv=254,OF=43807,IF=43738,R3=126589,j3=8455,G3=126628,AF=11670,xY="*=",M3=120134,Za="conditional",aY=" : flags Open_text and Open_binary are not compatible",B3=119965,NF=69890,CF=72817,PF=164,DF=43822,q3=69744,oY="\\\\",LF=43638,RF=93047,jF="AssignmentPattern",U3=64322,GF=123190,cY=188,Qa="object_spread_property_type",MF=70783,BF=113663,sY=160,H3=42622,X3=43823,ji="init",Fv=109,qF=66503,Y3="proto",UF=74649,ro="optional_member",HF=40981,XF=120654,v="@ ",eo="enum_boolean_body",no="export_named_specifier",to="declare_interface",YF=70451,uo="pattern_object_property_computed_key",V3=-97,z3=120539,K3=64317,VF=12543,io="export_named_declaration_specifier",zF=43359,W3=126530,J3=72713,KF=113800,vY=195,WF=72367,JF=72103,$F=70278,fo="if_consequent_statement",W2=-85,$3=126496,xo="try_catch",ao="computed_key",oo="class_",ZF=173823,co="pattern_object_property_identifier_key",lY="f",so="arrow_function",Z3=8485,QF=126546,vo="enum_boolean_member",rT=94177,J2="delete",eT=232,bY="blocks",lo="pattern_array_rest_element_pattern",nT=78894,Q3=66512,tT=94111,Tv="string",Ts="test",uT=69572,iT=66463,fT=66335,xT=72348,aT=73061,o1=":",bo="enum_body",oT=110590,po="function_this_param_type",cT=215,sT=77823,pY="minus",mY=201,vT=119980,mo="private_name",_o="object_key",yo="function_param_type",_Y="<<",lT=11718,c1="as",yY="delegate",Gi="true",bT=67413,r6=70854,pT=73439,mT=43776,_T=71723,yT=11505,dT=214,hT=120628,kT=43513,ho="jsx_attribute_name_namespaced",e6=120127,n6="Map.bal",t6="any",dY="@[",hY="camlinternalMod.ml",u6=126559,qu="import",i6=70404,ko="jsx_spread_child",wT=233,ET=67897,ST=119974,Uu=8233,gT=68405,f6=239,kY="attributes",wY=173,wo="object_internal_slot_property_type",FT=71351,TT=242,OT=67643,x6="shorthand",Eo="for_in_statement",IT=126463,AT=71338,NT=69445,CT=65370,PT=73055,DT=167,LT=64911,So="pattern_object_property_pattern",EY=212,SY=197,a6=126579,RT=64286,jT="explicitType",GT=67669,MT=43866,gY="Sys_blocked_io",o6="catch",BT=123197,qT=64466,UT=65140,HT=73030,XT=69404,c6="protected",FY=8204,YT=67504,VT=193,$2=246,zT=43713,s6=120571,go="array_type",TY="%u",Fo="export_default_declaration",To="class_expression",OY="quasi",Yt="%S",KT=8525,v6=126515,WT=120485,l6=43519,b6=120745,p6=94178,JT=126588,zn=127,$T=66855,IY="@{",AY="visit_leading_comment",ZT=67742,NY=" : flags Open_rdonly and Open_wronly are not compatible",QT=120144,m6="returnType",s1=-744106340,v1=240,Oo="-",_6=8469,Os="async",y6=126521,rO=72095,d6=216,CY=" : file already exists",eO=178205,nO=8449,h6=94179,tO=42774,k6="case",uO=66965,iO=66431,PY=190,Io="declare_export_declaration",Z2="targs",Ao="type_identifier",fO=64284,xO=43013,w6=43815,No="function_body_any",aO=66966,E6=120687,oO=66939,cO=66978,DY=168,S6="public",sO=68115,vO=43712,g6=65598,F6=126547,lO=110591,Co="indexed_access",LY=12520,r7="interface",RY=`(Program not linked with -g, cannot print stack backtrace) -`,l1=-46,Po="string_literal_type",Do="import_namespace_specifier",bO=120132,T6=11735,pO=67505,O6=119893,I6="bool",Q2=1e3,mi="default",mO=236,C="",_O="exportKind",jY="trailingComments",A6="^",yO=71983,dO=8348,hO=66977,kO=65594,Lo="logical",Ro="jsx_member_expression_identifier",N6=210,GY="cooked",jo="for_of_left_declaration",Ov=63,wO=72202,v7="argument",EO=12442,SO=43645,C6=120085,gO=42539,P6=126468,MY=166,BY="Match_failure",FO=68191,Eu="src/parser/flow_ast.ml",D6=11647,Go="declare_variable",as="+",TO=71127,L6=120145,Mo="declare_export_declaration_decl",R6=64318,qY=179,Bo="class_implements",UY="!=",HY="inexact",XY="%li",YY=237,rl="a",j6=73062,OO=178,qo=65278,Uo="function_rest_param_type",IO=77711,AO=70066,NO=43714,VY=-696510241,G6=70480,CO=69748,PO=113788,DO=94207,zY=`\r -`,Ho="class_body",LO=126651,RO=68735,jO=43273,M6=119996,B6=67644,KY=224,Xo="catch_clause_pattern",Yo="boolean_literal_type",q6=126554,U6=126557,GO=113807,H6=126536,WY="%",Iv="property",MO=71956,JY="#",BO=123213,el="meta",Vo="for_of_assignment_pattern",zo="if_statement",qO=66421,UO=8505,HO=225,nl=250,XO=100343,X6="Literal",YO=42887,Av=115,$Y=";",VO=1255,zO="=",KO=126566,WO=93823,Ko="opaque_type",ZY="!==",Wo="jsx_attribute",Jo="type_annotation_hint",Mi=32768,JO=73727,QY="range",rV=245,$O="jsError",Y6=70006,ZO=43492,V6="@]}",tr="(Some ",QO=8477,eV=129,rI=71487,z6=126564,nV=` -`,eI=126514,nI=70080,$o="generic_identifier_type",tI=66811,Zo="typeof_identifier",tV="~",uI=65007,Qo="pattern_object_rest_property_pattern",iI=194,uV=1039100673,fI=66461,xI=70319,K6=11719,aI=72271,zt=-48,rc="enum_string_body",oI=70461,ec="export_named_declaration",cI=110930,sI=92862,iV="??=",vI=70440,W6="while",cu="camlinternalFormat.ml",lI=43782,fV=203,bI=173791,pI=11263,mI=1114111,_I=42969,J6=70750,nc="jsx_identifier",yI=70105,dI=43014,hI=11564,tc="typeof_type",xV="EEXIST",kI=64847,wI=71167,EI=42511,SI=72712,gI=92995,FI=43704,tl=121,uc="object_call_property_type",TI=64433,ul="operator",$6=68296,ic="class_decorator",fc=120,xc="for_of_statement_lhs",OI=11623,II=67004,AI=71999,NI=70708,CI=512,PI=110927,DI=71423,aV=32752,LI=93951,RI=12292,ac="object_type",Z6="types",jI=110580,oV=177,GI=126633,MI=12686,oc=8286,cV=144,BI=73647,sV=228,Q6=70855,b1="0x",qI=70366,UI=` -`,cc="variable_declaration",HI=65276,rp=119981,XI=71945,YI=43887,R7=105,VI=8335,zI=123565,KI=69505,WI=70187,sc="jsx_attribute_name_identifier",vc="source",lc="pattern_object_property_key",ep=65548,JI=66175,$I=92766,bc="pattern_assignment_pattern",pc="object_type_property_getter",np=8305,j7="generator",tp="for",vV="PropertyDefinition",lV="--",su=-36,ZI="mkdir",QI=68223,mc="generic_qualified_identifier_type",rA=11686,_c="jsx_closing_element",eA=43790,up=": No such file or directory",nA=69687,tA=66348,ip=72162,uA=43388,iA=72768,fA=68351,d="<2>",fp=64297,xA=125259,aA=220,zr=",@ ",bV="win32",xp=70281,yc="member_property_identifier",oA=68149,cA=68111,sA=71450,vA=43009,dc="member_property",lA=73458,_i="identifier",bA=67423,pA=66775,mA=110951,pV="Internal Error: Found object private prop",hc="super_expression",kc="jsx_opening_element",_A=177976,wc="variable_declarator_pattern",Ec="pattern_expression",Sc="jsx_member_expression_object",yA=68252,dA=77808,Nv=-835925911,gc="import_declaration",hA=55203,mV="Pervasives.do_at_exit",_V="utf8",ui="key",kA=43702,Fc="spread_property",ap=126563,wA=863850040,EA=70106,op=67592,Tc="function_expression_or_method",SA=71958,Oc="for_init_declaration",gA=71955,cp=123214,FA=68479,yV="==",TA=43019,OA=123180,sp=217,Cv="specifiers",Ic="function_body",IA=69622,vp=8487,AA=43641,dV="Unexpected token `",hV="v",NA=123135,CA=69295,lp=120093,PA=8521,bp=43642,kV=176;function o70(t,n,e,i,x){if(i<=n)for(var c=1;c<=x;c++)e[i+c]=t[n+c];else for(var c=x;c>=1;c--)e[i+c]=t[n+c];return 0}function c70(t){for(var n=[0];t!==0;){for(var e=t[1],i=1;i=e.l||e.t==2&&x>=e.c.length))e.c=t.t==4?DA(t.c,n,x):n==0&&t.c.length==x?t.c:t.c.substr(n,x),e.t=e.c.length==e.l?0:2;else if(e.t==2&&i==e.c.length)e.c+=t.t==4?DA(t.c,n,x):n==0&&t.c.length==x?t.c:t.c.substr(n,x),e.t=e.c.length==e.l?0:2;else{e.t!=4&&pp(e);var c=t.c,s=e.c;if(t.t==4)if(i<=n)for(var p=0;p=0;p--)s[i+p]=c[n+p];else{for(var y=Math.min(x,c.length-n),p=0;p>=1,t==0)return e;n+=n,i++,i==9&&n.slice(0,1)}}function Dv(t){t.t==2?t.c+=Pv(t.l-t.c.length,"\0"):t.c=DA(t.c,0,t.c.length),t.t=0}function wV(t){if(t.length<24){for(var n=0;nzn)return!1;return!0}else return!/[^\x00-\x7f]/.test(t)}function LA(t){for(var n=C,e=C,i,x,c,s,p=0,y=t.length;pCI?(e.substr(0,1),n+=e,e=C,n+=t.slice(p,T)):e+=t.slice(p,T),T==y)break;p=T}s=1,++p=55295&&s<57344)&&(s=2)):(s=3,++p1114111)&&(s=3)))))),s<4?(p-=s,e+="\uFFFD"):s>Li?e+=String.fromCharCode(55232+(s>>10),RH+(s&1023)):e+=String.fromCharCode(s),e.length>L2&&(e.substr(0,1),n+=e,e=C)}return n+e}function Ac(t,n,e){this.t=t,this.c=n,this.l=e}Ac.prototype.toString=function(){switch(this.t){case 9:return this.c;default:Dv(this);case 0:if(wV(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},Ac.prototype.toUtf16=function(){var t=this.toString();return this.t==9?t:LA(t)},Ac.prototype.slice=function(){var t=this.t==4?this.c.slice():this.c;return new Ac(this.t,t,this.l)};function EV(t){return new Ac(0,t,t.length)}function r(t){return EV(t)}function RA(t,n){v70(t,r(n))}var Vt=[0];function vu(t){RA(Vt.Invalid_argument,t)}function SV(){vu(XS)}function Jn(t,n,e){if(e&=is,t.t!=4){if(n==t.c.length)return t.c+=String.fromCharCode(e),n+1==t.l&&(t.t=0),0;pp(t)}return t.c[n]=e,0}function p1(t,n,e){return n>>>0>=t.l&&SV(),Jn(t,n,e)}function Hu(t,n){switch(t.t&6){default:if(n>=t.c.length)return 0;case 0:return t.c.charCodeAt(n);case 4:return t.c[n]}}function os(t,n){if(t.fun)return os(t.fun,n);if(typeof t!="function")return t;var e=t.length|0;if(e===0)return t.apply(null,n);var i=n.length|0,x=e-i|0;return x==0?t.apply(null,n):x<0?os(t.apply(null,n.slice(0,e)),n.slice(e)):function(){for(var c=arguments.length==0?1:arguments.length,s=new Array(n.length+c),p=0;p>>0>=t.length-1&&il(),t}function l70(t){return isFinite(t)?Math.abs(t)>=22250738585072014e-324?0:t!=0?1:2:isNaN(t)?4:3}function Nc(t){return t.t&6&&Dv(t),t.c}var b70=Math.log2&&Math.log2(11235582092889474e291)==1020;function p70(t){if(b70)return Math.floor(Math.log2(t));var n=0;if(t==0)return-1/0;if(t>=1)for(;t>=2;)t/=2,n++;else for(;t<1;)t*=2,n--;return n}function jA(t){var n=new j0.Float32Array(1);n[0]=t;var e=new j0.Int32Array(n.buffer);return e[0]|0}var gV=Math.pow(2,-24);function FV(t){throw t}function TV(){FV(Vt.Division_by_zero)}function an(t,n,e){this.lo=t&gx,this.mi=n&gx,this.hi=e&Li}an.prototype.caml_custom="_j",an.prototype.copy=function(){return new an(this.lo,this.mi,this.hi)},an.prototype.ucompare=function(t){return this.hi>t.hi?1:this.hit.mi?1:this.mit.lo?1:this.loe?1:nt.mi?1:this.mit.lo?1:this.lo>24),e=-this.hi+(n>>24);return new an(t,n,e)},an.prototype.add=function(t){var n=this.lo+t.lo,e=this.mi+t.mi+(n>>24),i=this.hi+t.hi+(e>>24);return new an(n,e,i)},an.prototype.sub=function(t){var n=this.lo-t.lo,e=this.mi-t.mi+(n>>24),i=this.hi-t.hi+(e>>24);return new an(n,e,i)},an.prototype.mul=function(t){var n=this.lo*t.lo,e=(n*gV|0)+this.mi*t.lo+this.lo*t.mi,i=(e*gV|0)+this.hi*t.lo+this.mi*t.mi+this.lo*t.hi;return new an(n,e,i)},an.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0},an.prototype.isNeg=function(){return this.hi<<16<0},an.prototype.and=function(t){return new an(this.lo&t.lo,this.mi&t.mi,this.hi&t.hi)},an.prototype.or=function(t){return new an(this.lo|t.lo,this.mi|t.mi,this.hi|t.hi)},an.prototype.xor=function(t){return new an(this.lo^t.lo,this.mi^t.mi,this.hi^t.hi)},an.prototype.shift_left=function(t){return t=t&63,t==0?this:t<24?new an(this.lo<>24-t,this.hi<>24-t):t<48?new an(0,this.lo<>48-t):new an(0,0,this.lo<>t|this.mi<<24-t,this.mi>>t|this.hi<<24-t,this.hi>>t):t<48?new an(this.mi>>t-24|this.hi<<48-t,this.hi>>t-24,0):new an(this.hi>>t-48,0,0)},an.prototype.shift_right=function(t){if(t=t&63,t==0)return this;var n=this.hi<<16>>16;if(t<24)return new an(this.lo>>t|this.mi<<24-t,this.mi>>t|n<<24-t,this.hi<<16>>t>>>16);var e=this.hi<<16>>31;return t<48?new an(this.mi>>t-24|this.hi<<48-t,this.hi<<16>>t-24>>16,e&Li):new an(this.hi<<16>>t-32,e,e)},an.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&gx,this.lo=this.lo<<1&gx},an.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&gx,this.mi=(this.mi>>>1|this.hi<<23)&gx,this.hi=this.hi>>>1},an.prototype.udivmod=function(t){for(var n=0,e=this.copy(),i=t.copy(),x=new an(0,0,0);e.ucompare(i)>0;)n++,i.lsl1();for(;n>=0;)n--,x.lsl1(),e.ucompare(i)>=0&&(x.lo++,e=e.sub(i)),i.lsr1();return{quotient:x,modulus:e}},an.prototype.div=function(t){var n=this;t.isZero()&&TV();var e=n.hi^t.hi;n.hi&Mi&&(n=n.neg()),t.hi&Mi&&(t=t.neg());var i=n.udivmod(t).quotient;return e&Mi&&(i=i.neg()),i},an.prototype.mod=function(t){var n=this;t.isZero()&&TV();var e=n.hi;n.hi&Mi&&(n=n.neg()),t.hi&Mi&&(t=t.neg());var i=n.udivmod(t).modulus;return e&Mi&&(i=i.neg()),i},an.prototype.toInt=function(){return this.lo|this.mi<<24},an.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},an.prototype.toArray=function(){return[this.hi>>8,this.hi&is,this.mi>>16,this.mi>>8&is,this.mi&is,this.lo>>16,this.lo>>8&is,this.lo&is]},an.prototype.lo32=function(){return this.lo|(this.mi&is)<<24},an.prototype.hi32=function(){return this.mi>>>8&Li|this.hi<<16};function mp(t,n,e){return new an(t,n,e)}function _p(t){if(!isFinite(t))return isNaN(t)?mp(1,0,aV):t>0?mp(0,0,aV):mp(0,0,65520);var n=t==0&&1/t==-1/0?Mi:t>=0?0:Mi;n&&(t=-t);var e=p70(t)+1023;e<=0?(e=0,t/=Math.pow(2,-iH)):(t/=Math.pow(2,e-oU),t<16&&(t*=2,e-=1),e==0&&(t/=2));var i=Math.pow(2,24),x=t|0;t=(t-x)*i;var c=t|0;t=(t-c)*i;var s=t|0;return x=x&uF|n|e<<4,mp(s,c,x)}function fl(t){return t.toArray()}function OV(t,n,e){if(t.write(32,n.dims.length),t.write(32,n.kind|n.layout<<8),n.caml_custom==l3)for(var i=0;i>4;if(x==xX)return n|e|i&uF?NaN:i&Mi?-1/0:1/0;var c=Math.pow(2,-24),s=(n*c+e)*c+(i&uF);return x>0?(s+=16,s*=Math.pow(2,x-oU)):s*=Math.pow(2,-iH),i&Mi&&(s=-s),s}function BA(t){for(var n=t.length,e=1,i=0;i>>24&is|(n&Li)<<8,n>>>16&Li)}function qA(t){return t.hi32()}function UA(t){return t.lo32()}var y70=l3;function Ns(t,n,e,i){this.kind=t,this.layout=n,this.dims=e,this.data=i}Ns.prototype.caml_custom=y70,Ns.prototype.offset=function(t){var n=0;if(typeof t=="number"&&(t=[t]),t instanceof Array||vu("bigarray.js: invalid offset"),this.dims.length!=t.length&&vu("Bigarray.get/set: bad number of dimensions"),this.layout==0)for(var e=0;e=this.dims[e])&&il(),n=n*this.dims[e]+t[e];else for(var e=this.dims.length-1;e>=0;e--)(t[e]<1||t[e]>this.dims[e])&&il(),n=n*this.dims[e]+(t[e]-1);return n},Ns.prototype.get=function(t){switch(this.kind){case 7:var n=this.data[t*2+0],e=this.data[t*2+1];return _70(n,e);case 10:case 11:var i=this.data[t*2+0],x=this.data[t*2+1];return[gv,i,x];default:return this.data[t]}},Ns.prototype.set=function(t,n){switch(this.kind){case 7:this.data[t*2+0]=UA(n),this.data[t*2+1]=qA(n);break;case 10:case 11:this.data[t*2+0]=n[1],this.data[t*2+1]=n[2];break;default:this.data[t]=n;break}return 0},Ns.prototype.fill=function(t){switch(this.kind){case 7:var n=UA(t),e=qA(t);if(n==e)this.data.fill(n);else for(var i=0;is)return 1;if(c!=s){if(!n)return NaN;if(c==c)return 1;if(s==s)return-1}}break;case 7:for(var x=0;xt.data[x+1])return 1;if(this.data[x]>>>0>>0)return-1;if(this.data[x]>>>0>t.data[x]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(var x=0;xt.data[x])return 1}break}return 0};function Lv(t,n,e,i){this.kind=t,this.layout=n,this.dims=e,this.data=i}Lv.prototype=new Ns,Lv.prototype.offset=function(t){return typeof t!="number"&&(t instanceof Array&&t.length==1?t=t[0]:vu("Ml_Bigarray_c_1_1.offset")),(t<0||t>=this.dims[0])&&il(),t},Lv.prototype.get=function(t){return this.data[t]},Lv.prototype.set=function(t,n){return this.data[t]=n,0},Lv.prototype.fill=function(t){return this.data.fill(t),0};function AV(t,n,e,i){var x=IV(t);return BA(e)*x!=i.length&&vu("length doesn't match dims"),n==0&&e.length==1&&x==1?new Lv(t,n,e,i):new Ns(t,n,e,i)}function e7(t){RA(Vt.Failure,t)}function NV(t,n,e){var i=t.read32s();(i<0||i>16)&&e7("input_value: wrong number of bigarray dimensions");var x=t.read32s(),c=x&is,s=x>>8&1,p=[];if(e==l3)for(var y=0;y>>32-15,n=PV(n,461845907),t^=n,t=t<<13|t>>>32-13,(t+(t<<2)|0)+-430675100|0}function d70(t,n){return t=cs(t,UA(n)),t=cs(t,qA(n)),t}function DV(t,n){return d70(t,_p(n))}function LV(t){var n=BA(t.dims),e=0;switch(t.kind){case 2:case 3:case 12:n>C4&&(n=C4);var i=0,x=0;for(x=0;x+4<=t.data.length;x+=4)i=t.data[x+0]|t.data[x+1]<<8|t.data[x+2]<<16|t.data[x+3]<<24,e=cs(e,i);switch(i=0,n&3){case 3:i=t.data[x+2]<<16;case 2:i|=t.data[x+1]<<8;case 1:i|=t.data[x+0],e=cs(e,i)}break;case 4:case 5:n>Rt&&(n=Rt);var i=0,x=0;for(x=0;x+2<=t.data.length;x+=2)i=t.data[x+0]|t.data[x+1]<<16,e=cs(e,i);n&1&&(e=cs(e,t.data[x]));break;case 6:n>64&&(n=64);for(var x=0;x64&&(n=64);for(var x=0;x32&&(n=32),n*=2;for(var x=0;x64&&(n=64);for(var x=0;x32&&(n=32);for(var x=0;x0?x(n,t,i):x(t,n,i);if(i&&c!=c)return e;if(+c!=+c)return+c;if(c|0)return c|0}return e}function yp(t){return t instanceof Ac}function XA(t){return yp(t)}function GV(t){if(typeof t=="number")return Q2;if(yp(t))return Y2;if(XA(t))return 1252;if(t instanceof Array&&t[0]===t[0]>>>0&&t[0]<=Ow){var n=t[0]|0;return n==gv?0:n}else{if(t instanceof String)return LY;if(typeof t=="string")return LY;if(t instanceof Number)return Q2;if(t&&t.caml_custom)return VO;if(t&&t.compare)return 1256;if(typeof t=="function")return 1247;if(typeof t=="symbol")return 1251}return 1001}function Cc(t,n){return tn.c?1:0}function Ee(t,n){return MV(t,n)}function dp(t,n,e){for(var i=[];;){if(!(e&&t===n)){var x=GV(t);if(x==nl){t=t[1];continue}var c=GV(n);if(c==nl){n=n[1];continue}if(x!==c)return x==Q2?c==VO?jV(t,n,-1,e):-1:c==Q2?x==VO?jV(n,t,1,e):1:xn)return 1;if(t!=n){if(!e)return NaN;if(t==t)return 1;if(n==n)return-1}break;case 1001:if(tn)return 1;if(t!=n){if(!e)return NaN;if(t==t)return 1;if(n==n)return-1}break;case 1251:if(t!==n)return e?1:NaN;break;case 1252:var t=Nc(t),n=Nc(n);if(t!==n){if(tn)return 1}break;case 12520:var t=t.toString(),n=n.toString();if(t!==n){if(tn)return 1}break;case 246:case 254:default:if(t.length!=n.length)return t.length1&&i.push(t,n,1);break}}if(i.length==0)return 0;var y=i.pop();n=i.pop(),t=i.pop(),y+10)if(n==0&&(e>=t.l||t.t==2&&e>=t.c.length))i==0?(t.c=C,t.t=2):(t.c=Pv(e,String.fromCharCode(i)),t.t=e==t.l?0:2);else for(t.t!=4&&pp(t),e+=n;n0&&n===n||(t=t.replace(/_/g,C),n=+t,t.length>0&&n===n||/^[+-]?nan$/i.test(t)))return n;var e=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(t);if(e){var i=e[3].replace(/0+$/,C),x=parseInt(e[1]+e[2]+i,16),c=(e[4]|0)-4*i.length;return n=x*Math.pow(2,c),n}if(/^\+?inf(inity)?$/i.test(t))return 1/0;if(/^-inf(inity)?$/i.test(t))return-1/0;e7("float_of_string")}function YA(t){t=Nc(t);var n=t.length;n>31&&vu("format_int: format too long");for(var e={justify:as,signstyle:Oo,filler:bi,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:lY},i=0;i=0&&x<=9;)e.width=e.width*10+x,i++;i--;break;case".":for(e.prec=0,i++;x=t.charCodeAt(i)-48,x>=0&&x<=9;)e.prec=e.prec*10+x,i++;i--;case"d":case"i":e.signedconv=!0;case"u":e.base=10;break;case"x":e.base=16;break;case"X":e.base=16,e.uppercase=!0;break;case"o":e.base=8;break;case"e":case"f":case"g":e.signedconv=!0,e.conv=x;break;case"E":case"F":case"G":e.signedconv=!0,e.uppercase=!0,e.conv=x.toLowerCase();break}}return e}function VA(t,n){t.uppercase&&(n=n.toUpperCase());var e=n.length;t.signedconv&&(t.sign<0||t.signstyle!=Oo)&&e++,t.alternate&&(t.base==8&&(e+=1),t.base==16&&(e+=2));var i=C;if(t.justify==as&&t.filler==bi)for(var x=e;x20?(w-=20,E/=Math.pow(10,w),E+=new Array(w+1).join($u),h>0&&(E=E+Ra+new Array(h+1).join($u)),E):E.toFixed(h)}var i,x=YA(t),c=x.prec<0?6:x.prec;if((n<0||n==0&&1/n==-1/0)&&(x.sign=-1,n=-n),isNaN(n))i=bw,x.filler=bi;else if(!isFinite(n))i="inf",x.filler=bi;else switch(x.conv){case"e":var i=n.toExponential(c),s=i.length;i.charAt(s-3)==iy&&(i=i.slice(0,s-1)+$u+i.slice(s-1));break;case"f":i=e(n,c);break;case"g":c=c||1,i=n.toExponential(c-1);var p=i.indexOf(iy),y=+i.slice(p+1);if(y<-4||n>=1e21||n.toFixed(0).length>c){for(var s=p-1;i.charAt(s)==$u;)s--;i.charAt(s)==Ra&&s--,i=i.slice(0,s+1)+i.slice(p),s=i.length,i.charAt(s-3)==iy&&(i=i.slice(0,s-1)+$u+i.slice(s-1));break}else{var T=c;if(y<0)T-=y+1,i=n.toFixed(T);else for(;i=n.toFixed(T),i.length>c+1;)T--;if(T){for(var s=i.length-1;i.charAt(s)==$u;)s--;i.charAt(s)==Ra&&s--,i=i.slice(0,s+1)}}break}return VA(x,i)}function hp(t,n){if(Nc(t)==N2)return r(C+n);var e=YA(t);n<0&&(e.signedconv?(e.sign=-1,n=-n):n>>>=0);var i=n.toString(e.base);if(e.prec>=0){e.filler=bi;var x=e.prec-i.length;x>0&&(i=Pv(x,$u)+i)}return VA(e,i)}var UV=0;function G7(){return UV++}function O70(){return 0}function HV(){return[0]}var kp=[];function Ze(t,n,e){var i=t[1],x=kp[e];if(x===void 0)for(var c=kp.length;c>1|1,nCI?(e.substr(0,1),n+=e,e=C,n+=t.slice(c,p)):e+=t.slice(c,p),p==s)break;c=p}i>6),e+=String.fromCharCode(Pi|i&Ov)):i<55296||i>=IH?e+=String.fromCharCode(KY|i>>12,Pi|i>>6&Ov,Pi|i&Ov):i>=56319||c+1==s||(x=t.charCodeAt(c+1))IH?e+="\xEF\xBF\xBD":(c++,i=(i<<10)+x-56613888,e+=String.fromCharCode(BX|i>>18,Pi|i>>12&Ov,Pi|i>>6&Ov,Pi|i&Ov)),e.length>L2&&(e.substr(0,1),n+=e,e=C)}return n+e}function A70(t){var n=9;return wV(t)||(n=8,t=I70(t)),new Ac(n,t,t.length)}function M7(t){return A70(t)}function N70(t,n,e){if(!isFinite(t))return isNaN(t)?M7(bw):M7(t>0?kU:"-infinity");var i=t==0&&1/t==-1/0?1:t>=0?0:1;i&&(t=-t);var x=0;if(t!=0)if(t<1)for(;t<1&&x>-YX;)t*=2,x--;else for(;t>=2;)t/=2,x++;var c=x<0?C:as,s=C;if(i)s=Oo;else switch(e){case 43:s=as;break;case 32:s=bi;break;default:break}if(n>=0&&n<13){var p=Math.pow(2,n*4);t=Math.round(t*p)/p}var y=t.toString(16);if(n>=0){var T=y.indexOf(Ra);if(T<0)y+=Ra+Pv(n,$u);else{var E=T+1+n;y.length>24&gx,t>>31&Li)}function P70(t){return t.toInt()}function D70(t){return+t.isNeg()}function XV(t){return t.neg()}function L70(t,n){var e=YA(t);e.signedconv&&D70(n)&&(e.sign=-1,n=XV(n));var i=C,x=wp(e.base),c="0123456789abcdef";do{var s=n.udivmod(x);n=s.quotient,i=c.charAt(P70(s.modulus))+i}while(!C70(n));if(e.prec>=0){e.filler=bi;var p=e.prec-i.length;p>0&&(i=Pv(p,$u)+i)}return VA(e,i)}function l7(t){return t.l}function nn(t){return l7(t)}function Vr(t,n){return Hu(t,n)}function R70(t,n){return t.add(n)}function j70(t,n){return t.mul(n)}function KA(t,n){return t.ucompare(n)<0}function YV(t){var n=0,e=nn(t),i=10,x=1;if(e>0)switch(Vr(t,n)){case 45:n++,x=-1;break;case 43:n++,x=1;break}if(n+1=48&&t<=57?t-48:t>=65&&t<=90?t-55:t>=97&&t<=In?t-87:-1}function Rv(t){var n=YV(t),e=n[0],i=n[1],x=n[2],c=wp(x),s=new an(gx,268435455,Li).udivmod(c).quotient,p=Vr(t,e),y=Ep(p);(y<0||y>=x)&&e7(ts);for(var T=wp(y);;)if(e++,p=Vr(t,e),p!=95){if(y=Ep(p),y<0||y>=x)break;KA(s,T)&&e7(ts),y=wp(y),T=R70(j70(c,T),y),KA(T,y)&&e7(ts)}return e!=nn(t)&&e7(ts),x==10&&KA(new an(0,0,Mi),T)&&e7(ts),i<0&&(T=XV(T)),T}function jv(t){return t.toFloat()}function Bi(t){var n=YV(t),e=n[0],i=n[1],x=n[2],c=nn(t),s=-1>>>0,p=e=x)&&e7(ts);var T=y;for(e++;e=x)break;T=x*T+y,T>s&&e7(ts)}return e!=c&&e7(ts),T=i*T,x==10&&(T|0)!=T&&e7(ts),T|0}function G70(t){return t.slice(1)}function M70(t){return!!t}function sn(t){return t.toUtf16()}function B70(t){for(var n={},e=1;e1&&i.pop();break;case".":break;default:i.push(e[x]);break}return i.unshift(n[0]),i.orig=t,i}var Y70=["E2BIG","EACCES","EAGAIN","EBADF","EBUSY","ECHILD","EDEADLK","EDOM",xV,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",pd,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",kw,GU,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function _1(t,n,e,i){var x=Y70.indexOf(t);x<0&&(i==null&&(i=-9999),x=[0,i]);var c=[x,M7(n||C),M7(e||C)];return c}var KV={};function y1(t){return KV[t]}function d1(t,n){throw[0,t].concat(n)}function V70(t){return new Ac(4,t,t.length)}function z70(t){t=Nc(t),ot(t+up)}function K70(t,n){return n>>>0>=t.l&&SV(),Hu(t,n)}function WV(){}function Su(t){this.data=t}Su.prototype=new WV,Su.prototype.truncate=function(t){var n=this.data;this.data=Pt(t|0),Is(n,0,this.data,0,t)},Su.prototype.length=function(){return l7(this.data)},Su.prototype.write=function(t,n,e,i){var x=this.length();if(t+i>=x){var c=Pt(t+i),s=this.data;this.data=c,Is(s,0,this.data,0,x)}return As(n,e,this.data,t,i),0},Su.prototype.read=function(t,n,e,i){var x=this.length();return Is(this.data,t,n,e,i),0},Su.prototype.read_one=function(t){return K70(this.data,t)},Su.prototype.close=function(){},Su.prototype.constructor=Su;function n7(t,n){this.content={},this.root=t,this.lookupFun=n}n7.prototype.nm=function(t){return this.root+t},n7.prototype.create_dir_if_needed=function(t){for(var n=t.split(Zu),e=C,i=0;iVt.fd_last_idx)&&(Vt.fd_last_idx=t),t}function Lae(t,n,e){for(var i={};n;){switch(n[1]){case 0:i.rdonly=1;break;case 1:i.wronly=1;break;case 2:i.append=1;break;case 3:i.create=1;break;case 4:i.truncate=1;break;case 5:i.excl=1;break;case 6:i.binary=1;break;case 7:i.text=1;break;case 8:i.nonblock=1;break}n=n[2]}i.rdonly&&i.wronly&&ot(Nc(t)+NY),i.text&&i.binary&&ot(Nc(t)+aY);var x=$70(t),c=x.device.open(x.rest,i),s=Vt.fd_last_idx?Vt.fd_last_idx:0;return gp(s+1,$V,c,i)}gp(0,$V,new Su(Pt(0))),gp(1,Q70,new Su(Pt(0))),gp(2,Z70,new Su(Pt(0)));function ri0(t){var n=Vt.fds[t];n.flags.wronly&&ot(hX+t+" is writeonly");var e=null;if(t==0&&VV()){var i=Fj();e=function(){return M7(i.readFileSync(0,_V))}}var x={file:n.file,offset:n.offset,fd:t,opened:!0,out:!1,refill:e};return Pc[x.fd]=x,x.fd}function ZV(t){var n=Vt.fds[t];n.flags.rdonly&&ot(hX+t+" is readonly");var e={file:n.file,offset:n.offset,fd:t,opened:!0,out:!0,buffer:C};return Pc[e.fd]=e,e.fd}function ei0(){for(var t=0,n=0;n>>0?t[0]:yp(t)||XA(t)?Y2:t instanceof Function||typeof t=="function"?jw:t&&t.caml_custom?Ow:Q2}function yi(t,n,e){e&&j0.toplevelReloc&&(t=j0.toplevelReloc(e)),Vt[t+1]=n,e&&(Vt[e]=n)}function ZA(t,n){return KV[Nc(t)]=n,0}function ui0(t){return t[2]=UV++,t}function ii0(t,n){return t===n?1:(t.t&6&&Dv(t),n.t&6&&Dv(n),t.c==n.c?1:0)}function qn(t,n){return ii0(t,n)}function fi0(){vu(XS)}function Ot(t,n){return n>>>0>=nn(t)&&fi0(),Vr(t,n)}function n0(t,n){return 1-qn(t,n)}function xi0(){return[0,r("js_of_ocaml")]}function ai0(){return 2147483647/4|0}function oi0(t){return 0}var ci0=j0.process&&j0.process.platform&&j0.process.platform==bV?UU:"Unix";function si0(){return[0,r(ci0),32,0]}function vi0(){FV(Vt.Not_found)}function rz(t){var n=j0,e=sn(t);if(n.process&&n.process.env&&n.process.env[e]!=null)return M7(n.process.env[e]);if(j0.jsoo_static_env&&j0.jsoo_static_env[e])return M7(j0.jsoo_static_env[e]);vi0()}function QA(t){for(var n=1;t&&t.joo_tramp;)t=t.joo_tramp.apply(null,t.joo_args),n++;return t}function Fu(t,n){return{joo_tramp:t,joo_args:n}}function N(t,n){if(typeof n=="function")return t.fun=n,0;if(n.fun)return t.fun=n.fun,0;for(var e=n.length;e--;)t[e]=n[e];return 0}function jae(t){return t}function Et(t){return t instanceof Array?t:j0.RangeError&&t instanceof j0.RangeError&&t.message&&t.message.match(/maximum call stack/i)||j0.InternalError&&t instanceof j0.InternalError&&t.message&&t.message.match(/too much recursion/i)?Vt.Stack_overflow:t instanceof j0.Error&&y1($O)?[0,y1($O),t]:[0,Vt.Failure,M7(String(t))]}function li0(t){switch(t[2]){case-8:case-11:case-12:return 1;default:return 0}}function bi0(t){var n=C;if(t[0]==0){if(n+=t[1][1],t.length==3&&t[2][0]==0&&li0(t[1]))var i=t[2],e=1;else var e=2,i=t;n+=KX;for(var x=e;xe&&(n+=nX);var c=i[x];typeof c=="number"?n+=c.toString():c instanceof Ac||typeof c=="string"?n+=V2+c.toString()+V2:n+=bv}n+=Z0}else t[0]==wt&&(n+=t[1]);return n}function ez(t){if(t instanceof Array&&(t[0]==0||t[0]==wt)){var n=y1(BH);if(n)n(t,!1);else{var e=bi0(t),i=y1(mV);i&&i(0),j0.console.error(kh+e+nV)}}else throw t}function pi0(){var t=j0;t.process&&t.process.on?t.process.on("uncaughtException",function(n,e){ez(n),t.process.exit(2)}):t.addEventListener&&t.addEventListener("error",function(n){n.error&&ez(n.error)})}pi0();function u(t,n){return t.length==1?t(n):os(t,[n])}function a(t,n,e){return t.length==2?t(n,e):os(t,[n,e])}function ir(t,n,e,i){return t.length==3?t(n,e,i):os(t,[n,e,i])}function R(t,n,e,i,x){return t.length==4?t(n,e,i,x):os(t,[n,e,i,x])}function b7(t,n,e,i,x,c){return t.length==5?t(n,e,i,x,c):os(t,[n,e,i,x,c])}function mi0(t,n,e,i,x,c,s,p){return t.length==7?t(n,e,i,x,c,s,p):os(t,[n,e,i,x,c,s,p])}var rN=[wt,r(TX),-1],nz=[wt,r(MH),-2],B7=[wt,r(LH),-3],eN=[wt,r(sH),-4],Kt=[wt,r(QU),-7],tz=[wt,r(BY),-8],uz=[wt,r($U),-9],wn=[wt,r(TU),-11],sl=[wt,r(oX),-12],iz=[0,c7],_i0=[4,0,0,0,[12,45,[4,0,0,0,0]]],nN=[0,[11,r('File "'),[2,0,[11,r('", line '),[4,0,0,0,[11,r(EH),[4,0,0,0,[12,45,[4,0,0,0,[11,r(": "),[2,0,0]]]]]]]]]],r('File "%s", line %d, characters %d-%d: %s')],fz=[0,0,[0,0,0],[0,0,0]],tN=r(""),uN=r("\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"),Bv=[0,0,0,0,1,0],xz=[0,r(Gx),r(va),r(go),r(so),r(za),r(Yf),r(Jx),r(pf),r(of),r(Bx),r(ut),r(Yo),r(I7),r(If),r(px),r(_a),r(lx),r(ef),r(gf),r(Xo),r(oo),r(Ho),r(yf),r(ic),r(Rf),r(To),r(ff),r(Ef),r(Bo),r(Xf),r(Tx),r(ax),r(Fa),r(kf),r(da),r(Qf),r(ao),r(Za),r(A7),r(O7),r(ox),r(Io),r(Mo),r(Wf),r(to),r(la),r(Ta),r(Sx),r(Go),r(ka),r(s7),r(bo),r(eo),r(vo),r(Hx),r(Xa),r(Ux),r(Mf),r(Nf),r(rc),r(Mx),r(Cf),r(ba),r(Fo),r(lf),r(ec),r(io),r(no),r(Au),r(Ix),r(ta),r(Ff),r(Uf),r(Eo),r(qx),r(Oc),r(Vo),r(jo),r(hx),r(xc),r(vi),r(ga),r(pa),r(Ic),r(No),r(kx),r(Nx),r(Tc),r(jf),r(uf),r(ix),r(yo),r(Ma),r(Ex),r(Uo),r(bf),r(po),r(yx),r(j7),r($o),r(mc),r(Kf),r(_i),r(_f),r(fo),r(zo),r(qu),r(gc),r(ma),r(Yx),r(Do),r(Ox),r(Co),r(r7),r(sf),r(wa),r(na),r(Wo),r(Gf),r(sc),r(ho),r(Ja),r(ex),r(cf),r(af),r(Cx),r(_c),r(Na),r(Ga),r(xa),r(Ax),r(sa),r(Px),r(nf),r(nc),r(Wa),r(Ro),r(Sc),r($a),r(bx),r(kc),r(Lx),r(ko),r(Rx),r(ux),r(Wx),r(Lo),r(Xx),r($x),r(dc),r(ur),r(yc),r(Af),r(hf),r(mx),r(Ua),r(jx),r(Tf),r(uc),r(Jf),r(wo),r(_o),r(tx),r(Vf),r(xf),r(Pf),r(xx),r(ca),r(Qa),r(ac),r(pc),r(Ya),r(Ko),r(wf),r(Ba),r(ro),r(pi),r(nx),r(rx),r(Ka),r(mf),r(lo),r(bc),r(Ec),r($f),r(zf),r(qa),r(Df),r(uo),r(co),r(lc),r(ra),r(So),r(Va),r(Qo),r(Qu),r(Le),r(mo),r(_x),r(Wu),r(vx),r(qf),r(Fc),r(df),r(Kx),r(Fx),r(Po),r(hc),r(P7),r(ha),r(Ha),r(Zf),r(Qx),r(Ea),r(Lf),r(Aa),r(g7),r(ua),r(xo),r(oa),r(dx),r(Zx),r(Vx),r(Jo),r(ja),r(Hf),r(Ao),r(sx),r(Of),r(Dx),r(fa),r(Zo),r(Sf),r(Ca),r(tc),r(Da),r(Oa),r(Bf),r(cc),r(fx),r(wc),r(ou),r(Ia),r(ia),r(zx),r(wu)],az=[0,r("first_leading"),r("last_trailing")],oz=[0,0];yi(11,sl,oX),yi(10,wn,TU),yi(9,[wt,r(gY),jX],gY),yi(8,uz,$U),yi(7,tz,BY),yi(6,Kt,QU),yi(5,[wt,r(iY),-6],iY),yi(4,[wt,r(DH),-5],DH),yi(3,eN,sH),yi(2,B7,LH),yi(1,nz,MH),yi(0,rN,TX);var yi0=r("output_substring"),di0=r("%.12g"),hi0=r(Ra),ki0=r(Gi),wi0=r(Ci),Ei0=r(oY),Si0=r("\\'"),gi0=r("\\b"),Fi0=r("\\t"),Ti0=r("\\n"),Oi0=r("\\r"),Ii0=r("List.iter2"),Ai0=r("tl"),Ni0=r("hd"),Ci0=r("String.blit / Bytes.blit_string"),Pi0=r("Bytes.blit"),Di0=r("String.sub / Bytes.sub"),Li0=r("Array.blit"),Ri0=r("Array.sub"),ji0=r("Map.remove_min_elt"),Gi0=[0,0,0,0],Mi0=[0,r("map.ml"),400,10],Bi0=[0,0,0],qi0=r(n6),Ui0=r(n6),Hi0=r(n6),Xi0=r(n6),Yi0=r("Stdlib.Queue.Empty"),Vi0=r("CamlinternalLazy.Undefined"),zi0=r("Buffer.add_substring/add_subbytes"),Ki0=r("Buffer.add: cannot grow buffer"),Wi0=[0,r(HU),93,2],Ji0=[0,r(HU),94,2],$i0=r("Buffer.sub"),Zi0=r("%c"),Qi0=r("%s"),rf0=r(lX),ef0=r(XY),nf0=r(vH),tf0=r(JH),uf0=r("%f"),if0=r(An),ff0=r("%{"),xf0=r("%}"),af0=r("%("),of0=r("%)"),cf0=r(C0),sf0=r("%t"),vf0=r("%?"),lf0=r("%r"),bf0=r("%_r"),pf0=[0,r(cu),850,23],mf0=[0,r(cu),814,21],_f0=[0,r(cu),815,21],yf0=[0,r(cu),818,21],df0=[0,r(cu),819,21],hf0=[0,r(cu),822,19],kf0=[0,r(cu),823,19],wf0=[0,r(cu),826,22],Ef0=[0,r(cu),827,22],Sf0=[0,r(cu),831,30],gf0=[0,r(cu),832,30],Ff0=[0,r(cu),836,26],Tf0=[0,r(cu),837,26],Of0=[0,r(cu),846,28],If0=[0,r(cu),847,28],Af0=[0,r(cu),851,23],Nf0=r(TY),Cf0=[0,r(cu),1558,4],Pf0=r("Printf: bad conversion %["),Df0=[0,r(cu),1626,39],Lf0=[0,r(cu),1649,31],Rf0=[0,r(cu),1650,31],jf0=r("Printf: bad conversion %_"),Gf0=r(IY),Mf0=r(dY),Bf0=r(IY),qf0=r(dY),Uf0=[0,[11,r("invalid box description "),[3,0,0]],r("invalid box description %S")],Hf0=r(C),Xf0=[0,0,4],Yf0=r(C),Vf0=r(gX),zf0=r("h"),Kf0=r("hov"),Wf0=r("hv"),Jf0=r(hV),$f0=r(bw),Zf0=r("neg_infinity"),Qf0=r(kU),rx0=r(Ra),ex0=r("%+nd"),nx0=r("% nd"),tx0=r("%+ni"),ux0=r("% ni"),ix0=r("%nx"),fx0=r("%#nx"),xx0=r("%nX"),ax0=r("%#nX"),ox0=r("%no"),cx0=r("%#no"),sx0=r("%nd"),vx0=r(vH),lx0=r("%nu"),bx0=r("%+ld"),px0=r("% ld"),mx0=r("%+li"),_x0=r("% li"),yx0=r("%lx"),dx0=r("%#lx"),hx0=r("%lX"),kx0=r("%#lX"),wx0=r("%lo"),Ex0=r("%#lo"),Sx0=r("%ld"),gx0=r(XY),Fx0=r("%lu"),Tx0=r("%+Ld"),Ox0=r("% Ld"),Ix0=r("%+Li"),Ax0=r("% Li"),Nx0=r("%Lx"),Cx0=r("%#Lx"),Px0=r("%LX"),Dx0=r("%#LX"),Lx0=r("%Lo"),Rx0=r("%#Lo"),jx0=r("%Ld"),Gx0=r(JH),Mx0=r("%Lu"),Bx0=r("%+d"),qx0=r("% d"),Ux0=r("%+i"),Hx0=r("% i"),Xx0=r("%x"),Yx0=r("%#x"),Vx0=r("%X"),zx0=r("%#X"),Kx0=r("%o"),Wx0=r("%#o"),Jx0=r(N2),$x0=r(lX),Zx0=r(TY),Qx0=r(z),ra0=r("@}"),ea0=r("@?"),na0=r(`@ -`),ta0=r("@."),ua0=r("@@"),ia0=r("@%"),fa0=r(AX),xa0=r("CamlinternalFormat.Type_mismatch"),aa0=r(C),oa0=[0,[11,r(nX),[2,0,[2,0,0]]],r(", %s%s")],ca0=[0,[11,r(kh),[2,0,[12,10,0]]],r(CU)],sa0=[0,[11,r("Fatal error in uncaught exception handler: exception "),[2,0,[12,10,0]]],r(`Fatal error in uncaught exception handler: exception %s -`)],va0=r("Fatal error: out of memory in uncaught exception handler"),la0=[0,[11,r(kh),[2,0,[12,10,0]]],r(CU)],ba0=[0,[2,0,[12,10,0]],r(`%s -`)],pa0=[0,[11,r(RY),0],r(RY)],ma0=r("Raised at"),_a0=r("Re-raised at"),ya0=r("Raised by primitive operation at"),da0=r("Called from"),ha0=r(" (inlined)"),ka0=r(C),wa0=[0,[2,0,[12,32,[2,0,[11,r(' in file "'),[2,0,[12,34,[2,0,[11,r(", line "),[4,0,0,0,[11,r(EH),_i0]]]]]]]]]],r('%s %s in file "%s"%s, line %d, characters %d-%d')],Ea0=[0,[2,0,[11,r(" unknown location"),0]],r("%s unknown location")],Sa0=r("Out of memory"),ga0=r("Stack overflow"),Fa0=r("Pattern matching failed"),Ta0=r("Assertion failed"),Oa0=r("Undefined recursive module"),Ia0=[0,[12,40,[2,0,[2,0,[12,41,0]]]],r("(%s%s)")],Aa0=r(C),Na0=r(C),Ca0=[0,[12,40,[2,0,[12,41,0]]],r("(%s)")],Pa0=[0,[4,0,0,0,0],r(N2)],Da0=[0,[3,0,0],r(Yt)],La0=r(bv),Ra0=[0,r(C),r(`(Cannot print locations: - bytecode executable program file not found)`),r(`(Cannot print locations: - bytecode executable program file appears to be corrupt)`),r(`(Cannot print locations: - bytecode executable program file has wrong magic number)`),r(`(Cannot print locations: - bytecode executable program file cannot be opened; - -- too many open files. Try running with OCAMLRUNPARAM=b=2)`)],ja0=[3,0,3],Ga0=r(Ra),Ma0=r(cv),Ba0=r("Flow_ast.Function.BodyBlock@ ")],zo0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Ko0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Wo0=[0,[17,0,[12,41,0]],r(h0)],Jo0=[0,[17,0,[12,41,0]],r(h0)],$o0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Function.BodyExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Function.BodyExpression@ ")],Zo0=[0,[17,0,[12,41,0]],r(h0)],Qo0=[0,[15,0],r(C0)],rc0=r(Yr),ec0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],nc0=r("Flow_ast.Function.id"),tc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uc0=r(tr),ic0=r(Z0),fc0=r(nr),xc0=[0,[17,0,0],r(z)],ac0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],oc0=r(Ct),cc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sc0=[0,[17,0,0],r(z)],vc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lc0=r(Wn),bc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pc0=[0,[17,0,0],r(z)],mc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_c0=r(Os),yc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dc0=[0,[9,0,0],r(An)],hc0=[0,[17,0,0],r(z)],kc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wc0=r(j7),Ec0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sc0=[0,[9,0,0],r(An)],gc0=[0,[17,0,0],r(z)],Fc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tc0=r(Qu),Oc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ic0=r(tr),Ac0=r(Z0),Nc0=r(nr),Cc0=[0,[17,0,0],r(z)],Pc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Dc0=r(Wu),Lc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rc0=[0,[17,0,0],r(z)],jc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gc0=r(sv),Mc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bc0=r(tr),qc0=r(Z0),Uc0=r(nr),Hc0=[0,[17,0,0],r(z)],Xc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yc0=r(Xr),Vc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zc0=r(tr),Kc0=r(Z0),Wc0=r(nr),Jc0=[0,[17,0,0],r(z)],$c0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Zc0=r("sig_loc"),Qc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rs0=[0,[17,0,0],r(z)],es0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ns0=[0,[15,0],r(C0)],ts0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],us0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],is0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],fs0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xs0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],as0=r("Flow_ast.Function.Params.this_"),os0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cs0=r(tr),ss0=r(Z0),vs0=r(nr),ls0=[0,[17,0,0],r(z)],bs0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ps0=r(Ct),ms0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_s0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ys0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],ds0=[0,[17,0,0],r(z)],hs0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ks0=r(ch),ws0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Es0=r(tr),Ss0=r(Z0),gs0=r(nr),Fs0=[0,[17,0,0],r(z)],Ts0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Os0=r(Xr),Is0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],As0=r(tr),Ns0=r(Z0),Cs0=r(nr),Ps0=[0,[17,0,0],r(z)],Ds0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ls0=[0,[15,0],r(C0)],Rs0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],js0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Gs0=[0,[17,0,[12,41,0]],r(h0)],Ms0=[0,[15,0],r(C0)],Bs0=r(Yr),qs0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Us0=r("Flow_ast.Function.ThisParam.annot"),Hs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xs0=[0,[17,0,0],r(z)],Ys0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vs0=r(Xr),zs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ks0=r(tr),Ws0=r(Z0),Js0=r(nr),$s0=[0,[17,0,0],r(z)],Zs0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Qs0=[0,[15,0],r(C0)],r10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],e10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],n10=[0,[17,0,[12,41,0]],r(h0)],t10=[0,[15,0],r(C0)],u10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],i10=r("Flow_ast.Function.Param.argument"),f10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x10=[0,[17,0,0],r(z)],a10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],o10=r(mi),c10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],s10=r(tr),v10=r(Z0),l10=r(nr),b10=[0,[17,0,0],r(z)],p10=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],m10=[0,[15,0],r(C0)],_10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],y10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],d10=[0,[17,0,[12,41,0]],r(h0)],h10=[0,[15,0],r(C0)],k10=r(Yr),w10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],E10=r("Flow_ast.Function.RestParam.argument"),S10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],g10=[0,[17,0,0],r(z)],F10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],T10=r(Xr),O10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],I10=r(tr),A10=r(Z0),N10=r(nr),C10=[0,[17,0,0],r(z)],P10=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],D10=[0,[15,0],r(C0)],L10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],R10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],j10=[0,[17,0,[12,41,0]],r(h0)],G10=[0,[15,0],r(C0)],M10=r(Yr),B10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],U10=r("Flow_ast.Class.id"),H10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],X10=r(tr),Y10=r(Z0),V10=r(nr),z10=[0,[17,0,0],r(z)],K10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],W10=r(Wn),J10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$10=[0,[17,0,0],r(z)],Z10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q10=r(sv),rv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ev0=r(tr),nv0=r(Z0),tv0=r(nr),uv0=[0,[17,0,0],r(z)],iv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fv0=r(C7),xv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],av0=r(tr),ov0=r(Z0),cv0=r(nr),sv0=[0,[17,0,0],r(z)],vv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lv0=r(gs),bv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pv0=r(tr),mv0=r(Z0),_v0=r(nr),yv0=[0,[17,0,0],r(z)],dv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hv0=r("class_decorators"),kv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wv0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Ev0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Sv0=[0,[17,0,0],r(z)],gv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Fv0=r(Xr),Tv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ov0=r(tr),Iv0=r(Z0),Av0=r(nr),Nv0=[0,[17,0,0],r(z)],Cv0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Pv0=[0,[15,0],r(C0)],Dv0=r(Yr),Lv0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Rv0=r("Flow_ast.Class.Decorator.expression"),jv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Gv0=[0,[17,0,0],r(z)],Mv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Bv0=r(Xr),qv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Uv0=r(tr),Hv0=r(Z0),Xv0=r(nr),Yv0=[0,[17,0,0],r(z)],Vv0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zv0=[0,[15,0],r(C0)],Kv0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Wv0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Jv0=[0,[17,0,[12,41,0]],r(h0)],$v0=[0,[15,0],r(C0)],Zv0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.Method"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.Method@ ")],Qv0=[0,[17,0,[12,41,0]],r(h0)],r20=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.Property@ ")],e20=[0,[17,0,[12,41,0]],r(h0)],n20=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.PrivateField"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.PrivateField@ ")],t20=[0,[17,0,[12,41,0]],r(h0)],u20=[0,[15,0],r(C0)],i20=r(Yr),f20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],a20=r("Flow_ast.Class.Body.body"),o20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],s20=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],v20=[0,[17,0,0],r(z)],l20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],b20=r(Xr),p20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],m20=r(tr),_20=r(Z0),y20=r(nr),d20=[0,[17,0,0],r(z)],h20=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],k20=[0,[15,0],r(C0)],w20=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],E20=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],S20=[0,[17,0,[12,41,0]],r(h0)],g20=[0,[15,0],r(C0)],F20=r(Yr),T20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],O20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],I20=r("Flow_ast.Class.Implements.interfaces"),A20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],N20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],C20=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],P20=[0,[17,0,0],r(z)],D20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],L20=r(Xr),R20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],j20=r(tr),G20=r(Z0),M20=r(nr),B20=[0,[17,0,0],r(z)],q20=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],U20=[0,[15,0],r(C0)],H20=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],X20=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Y20=[0,[17,0,[12,41,0]],r(h0)],V20=[0,[15,0],r(C0)],z20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],K20=r("Flow_ast.Class.Implements.Interface.id"),W20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],J20=[0,[17,0,0],r(z)],$20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z20=r(Z2),Q20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rl0=r(tr),el0=r(Z0),nl0=r(nr),tl0=[0,[17,0,0],r(z)],ul0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],il0=[0,[15,0],r(C0)],fl0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],xl0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],al0=[0,[17,0,[12,41,0]],r(h0)],ol0=[0,[15,0],r(C0)],cl0=r(Yr),sl0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vl0=r("Flow_ast.Class.Extends.expr"),ll0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bl0=[0,[17,0,0],r(z)],pl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ml0=r(Z2),_l0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yl0=r(tr),dl0=r(Z0),hl0=r(nr),kl0=[0,[17,0,0],r(z)],wl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],El0=r(Xr),Sl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gl0=r(tr),Fl0=r(Z0),Tl0=r(nr),Ol0=[0,[17,0,0],r(z)],Il0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Al0=[0,[15,0],r(C0)],Nl0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Cl0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Pl0=[0,[17,0,[12,41,0]],r(h0)],Dl0=[0,[15,0],r(C0)],Ll0=r(Yr),Rl0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],jl0=r("Flow_ast.Class.PrivateField.key"),Gl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ml0=[0,[17,0,0],r(z)],Bl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ql0=r(Bn),Ul0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hl0=[0,[17,0,0],r(z)],Xl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yl0=r(rs),Vl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zl0=[0,[17,0,0],r(z)],Kl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wl0=r(eu),Jl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$l0=[0,[9,0,0],r(An)],Zl0=[0,[17,0,0],r(z)],Ql0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rb0=r(ou),eb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nb0=r(tr),tb0=r(Z0),ub0=r(nr),ib0=[0,[17,0,0],r(z)],fb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xb0=r(Xr),ab0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ob0=r(tr),cb0=r(Z0),sb0=r(nr),vb0=[0,[17,0,0],r(z)],lb0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],bb0=[0,[15,0],r(C0)],pb0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],mb0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],_b0=[0,[17,0,[12,41,0]],r(h0)],yb0=[0,[15,0],r(C0)],db0=r("Flow_ast.Class.Property.Uninitialized"),hb0=r("Flow_ast.Class.Property.Declared"),kb0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Property.Initialized"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Property.Initialized@ ")],wb0=[0,[17,0,[12,41,0]],r(h0)],Eb0=[0,[15,0],r(C0)],Sb0=r(Yr),gb0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fb0=r("Flow_ast.Class.Property.key"),Tb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ob0=[0,[17,0,0],r(z)],Ib0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ab0=r(Bn),Nb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cb0=[0,[17,0,0],r(z)],Pb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Db0=r(rs),Lb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rb0=[0,[17,0,0],r(z)],jb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gb0=r(eu),Mb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bb0=[0,[9,0,0],r(An)],qb0=[0,[17,0,0],r(z)],Ub0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Hb0=r(ou),Xb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Yb0=r(tr),Vb0=r(Z0),zb0=r(nr),Kb0=[0,[17,0,0],r(z)],Wb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Jb0=r(Xr),$b0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zb0=r(tr),Qb0=r(Z0),r40=r(nr),e40=[0,[17,0,0],r(z)],n40=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],t40=[0,[15,0],r(C0)],u40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],i40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],f40=[0,[17,0,[12,41,0]],r(h0)],x40=[0,[15,0],r(C0)],a40=r(Yr),o40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],c40=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],s40=r("Flow_ast.Class.Method.kind"),v40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l40=[0,[17,0,0],r(z)],b40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],p40=r(ui),m40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_40=[0,[17,0,0],r(z)],y40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],d40=r(Bn),h40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],k40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],w40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],E40=[0,[17,0,[12,41,0]],r(h0)],S40=[0,[17,0,0],r(z)],g40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],F40=r(eu),T40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],O40=[0,[9,0,0],r(An)],I40=[0,[17,0,0],r(z)],A40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],N40=r(B_),C40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],P40=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],D40=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],L40=[0,[17,0,0],r(z)],R40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],j40=r(Xr),G40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M40=r(tr),B40=r(Z0),q40=r(nr),U40=[0,[17,0,0],r(z)],H40=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],X40=[0,[15,0],r(C0)],Y40=r("Flow_ast.Class.Method.Constructor"),V40=r("Flow_ast.Class.Method.Method"),z40=r("Flow_ast.Class.Method.Get"),K40=r("Flow_ast.Class.Method.Set"),W40=[0,[15,0],r(C0)],J40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Z40=[0,[17,0,[12,41,0]],r(h0)],Q40=[0,[15,0],r(C0)],r80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],e80=r("Flow_ast.Comment.kind"),n80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],t80=[0,[17,0,0],r(z)],u80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i80=r("text"),f80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x80=[0,[3,0,0],r(Yt)],a80=[0,[17,0,0],r(z)],o80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],c80=r("on_newline"),s80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],v80=[0,[9,0,0],r(An)],l80=[0,[17,0,0],r(z)],b80=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],p80=[0,[15,0],r(C0)],m80=r("Flow_ast.Comment.Line"),_80=r("Flow_ast.Comment.Block"),y80=[0,[15,0],r(C0)],d80=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],h80=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],k80=[0,[17,0,[12,41,0]],r(h0)],w80=[0,[15,0],r(C0)],E80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object@ ")],S80=[0,[17,0,[12,41,0]],r(h0)],g80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array@ ")],F80=[0,[17,0,[12,41,0]],r(h0)],T80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Identifier@ ")],O80=[0,[17,0,[12,41,0]],r(h0)],I80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Expression@ ")],A80=[0,[17,0,[12,41,0]],r(h0)],N80=[0,[15,0],r(C0)],C80=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],P80=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],D80=[0,[17,0,[12,41,0]],r(h0)],L80=[0,[15,0],r(C0)],R80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],j80=r("Flow_ast.Pattern.Identifier.name"),G80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M80=[0,[17,0,0],r(z)],B80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q80=r(rs),U80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H80=[0,[17,0,0],r(z)],X80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Y80=r(Bu),V80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],z80=[0,[9,0,0],r(An)],K80=[0,[17,0,0],r(z)],W80=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],J80=[0,[15,0],r(C0)],$80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Q80=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],r30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],e30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],n30=r("Flow_ast.Pattern.Array.elements"),t30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],i30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],f30=[0,[17,0,0],r(z)],x30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],a30=r(rs),o30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c30=[0,[17,0,0],r(z)],s30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],v30=r(Xr),l30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],b30=r(tr),p30=r(Z0),m30=r(nr),_30=[0,[17,0,0],r(z)],y30=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],d30=[0,[15,0],r(C0)],h30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.Element"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.Element@ ")],k30=[0,[17,0,[12,41,0]],r(h0)],w30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.RestElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.RestElement@ ")],E30=[0,[17,0,[12,41,0]],r(h0)],S30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.Hole"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.Hole@ ")],g30=[0,[17,0,[12,41,0]],r(h0)],F30=[0,[15,0],r(C0)],T30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],O30=r("Flow_ast.Pattern.Array.Element.argument"),I30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],A30=[0,[17,0,0],r(z)],N30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],C30=r(mi),P30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],D30=r(tr),L30=r(Z0),R30=r(nr),j30=[0,[17,0,0],r(z)],G30=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],M30=[0,[15,0],r(C0)],B30=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],q30=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],U30=[0,[17,0,[12,41,0]],r(h0)],H30=[0,[15,0],r(C0)],X30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Y30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],V30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],z30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],K30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],W30=r("Flow_ast.Pattern.Object.properties"),J30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Z30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Q30=[0,[17,0,0],r(z)],r60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],e60=r(rs),n60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],t60=[0,[17,0,0],r(z)],u60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i60=r(Xr),f60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x60=r(tr),a60=r(Z0),o60=r(nr),c60=[0,[17,0,0],r(z)],s60=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],v60=[0,[15,0],r(C0)],l60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property@ ")],b60=[0,[17,0,[12,41,0]],r(h0)],p60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.RestElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.RestElement@ ")],m60=[0,[17,0,[12,41,0]],r(h0)],_60=[0,[15,0],r(C0)],y60=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],d60=r("Flow_ast.Pattern.Object.Property.key"),h60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],k60=[0,[17,0,0],r(z)],w60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],E60=r(pi),S60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],g60=[0,[17,0,0],r(z)],F60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],T60=r(mi),O60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],I60=r(tr),A60=r(Z0),N60=r(nr),C60=[0,[17,0,0],r(z)],P60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],D60=r(x6),L60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],R60=[0,[9,0,0],r(An)],j60=[0,[17,0,0],r(z)],G60=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],M60=[0,[15,0],r(C0)],B60=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],q60=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],U60=[0,[17,0,[12,41,0]],r(h0)],H60=[0,[15,0],r(C0)],X60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Literal@ ")],Y60=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],V60=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],z60=[0,[17,0,[12,41,0]],r(h0)],K60=[0,[17,0,[12,41,0]],r(h0)],W60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ ")],J60=[0,[17,0,[12,41,0]],r(h0)],$60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Computed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Computed@ ")],Z60=[0,[17,0,[12,41,0]],r(h0)],Q60=[0,[15,0],r(C0)],rp0=r(Yr),ep0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],np0=r("Flow_ast.Pattern.RestElement.argument"),tp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],up0=[0,[17,0,0],r(z)],ip0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fp0=r(Xr),xp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ap0=r(tr),op0=r(Z0),cp0=r(nr),sp0=[0,[17,0,0],r(z)],vp0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],lp0=[0,[15,0],r(C0)],bp0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],pp0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],mp0=[0,[17,0,[12,41,0]],r(h0)],_p0=[0,[15,0],r(C0)],yp0=r(Yr),dp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hp0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],kp0=r("Flow_ast.JSX.frag_opening_element"),wp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ep0=[0,[17,0,0],r(z)],Sp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gp0=r("frag_closing_element"),Fp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Tp0=[0,[17,0,0],r(z)],Op0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ip0=r("frag_children"),Ap0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Np0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Cp0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Pp0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Dp0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Lp0=[0,[17,0,[12,41,0]],r(h0)],Rp0=[0,[17,0,0],r(z)],jp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gp0=r("frag_comments"),Mp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bp0=r(tr),qp0=r(Z0),Up0=r(nr),Hp0=[0,[17,0,0],r(z)],Xp0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Yp0=[0,[15,0],r(C0)],Vp0=r(Yr),zp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kp0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Wp0=r("Flow_ast.JSX.opening_element"),Jp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$p0=[0,[17,0,0],r(z)],Zp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qp0=r("closing_element"),r50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],e50=r(tr),n50=r(Z0),t50=r(nr),u50=[0,[17,0,0],r(z)],i50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],f50=r(Ve),x50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],a50=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],o50=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],c50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],s50=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],v50=[0,[17,0,[12,41,0]],r(h0)],l50=[0,[17,0,0],r(z)],b50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],p50=r(Xr),m50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_50=r(tr),y50=r(Z0),d50=r(nr),h50=[0,[17,0,0],r(z)],k50=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],w50=[0,[15,0],r(C0)],E50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Element"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Element@ ")],S50=[0,[17,0,[12,41,0]],r(h0)],g50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Fragment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Fragment@ ")],F50=[0,[17,0,[12,41,0]],r(h0)],T50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.ExpressionContainer"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.ExpressionContainer@ ")],O50=[0,[17,0,[12,41,0]],r(h0)],I50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.SpreadChild"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.SpreadChild@ ")],A50=[0,[17,0,[12,41,0]],r(h0)],N50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Text"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Text@ ")],C50=[0,[17,0,[12,41,0]],r(h0)],P50=[0,[15,0],r(C0)],D50=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],L50=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],R50=[0,[17,0,[12,41,0]],r(h0)],j50=[0,[15,0],r(C0)],G50=r(Yr),M50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],B50=r("Flow_ast.JSX.SpreadChild.expression"),q50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],U50=[0,[17,0,0],r(z)],H50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],X50=r(Xr),Y50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],V50=r(tr),z50=r(Z0),K50=r(nr),W50=[0,[17,0,0],r(z)],J50=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],$50=[0,[15,0],r(C0)],Z50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Q50=r("Flow_ast.JSX.Closing.name"),rm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],em0=[0,[17,0,0],r(z)],nm0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],tm0=[0,[15,0],r(C0)],um0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],im0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],fm0=[0,[17,0,[12,41,0]],r(h0)],xm0=[0,[15,0],r(C0)],am0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],om0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],cm0=r("Flow_ast.JSX.Opening.name"),sm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vm0=[0,[17,0,0],r(z)],lm0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bm0=r("self_closing"),pm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mm0=[0,[9,0,0],r(An)],_m0=[0,[17,0,0],r(z)],ym0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dm0=r(kY),hm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],km0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],wm0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Em0=[0,[17,0,0],r(z)],Sm0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],gm0=[0,[15,0],r(C0)],Fm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Opening.Attribute"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Opening.Attribute@ ")],Tm0=[0,[17,0,[12,41,0]],r(h0)],Om0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Opening.SpreadAttribute"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ ")],Im0=[0,[17,0,[12,41,0]],r(h0)],Am0=[0,[15,0],r(C0)],Nm0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Cm0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Pm0=[0,[17,0,[12,41,0]],r(h0)],Dm0=[0,[15,0],r(C0)],Lm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Identifier@ ")],Rm0=[0,[17,0,[12,41,0]],r(h0)],jm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.NamespacedName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.NamespacedName@ ")],Gm0=[0,[17,0,[12,41,0]],r(h0)],Mm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression@ ")],Bm0=[0,[17,0,[12,41,0]],r(h0)],qm0=[0,[15,0],r(C0)],Um0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Hm0=r("Flow_ast.JSX.MemberExpression._object"),Xm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ym0=[0,[17,0,0],r(z)],Vm0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zm0=r(Iv),Km0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wm0=[0,[17,0,0],r(z)],Jm0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],$m0=[0,[15,0],r(C0)],Zm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ ")],Qm0=[0,[17,0,[12,41,0]],r(h0)],r90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression.MemberExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ ")],e90=[0,[17,0,[12,41,0]],r(h0)],n90=[0,[15,0],r(C0)],t90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],u90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],i90=[0,[17,0,[12,41,0]],r(h0)],f90=[0,[15,0],r(C0)],x90=r(Yr),a90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],o90=r("Flow_ast.JSX.SpreadAttribute.argument"),c90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],s90=[0,[17,0,0],r(z)],v90=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],l90=r(Xr),b90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],p90=r(tr),m90=r(Z0),_90=r(nr),y90=[0,[17,0,0],r(z)],d90=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],h90=[0,[15,0],r(C0)],k90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],w90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],E90=[0,[17,0,[12,41,0]],r(h0)],S90=[0,[15,0],r(C0)],g90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],F90=r("Flow_ast.JSX.Attribute.name"),T90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],O90=[0,[17,0,0],r(z)],I90=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],A90=r(Bn),N90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],C90=r(tr),P90=r(Z0),D90=r(nr),L90=[0,[17,0,0],r(z)],R90=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],j90=[0,[15,0],r(C0)],G90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.Literal ("),[17,[0,r(Pe),0,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.Literal (@,")],M90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],B90=[0,[17,[0,r(Pe),0,0],[11,r(OX),[17,0,0]]],r(qU)],q90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.ExpressionContainer ("),[17,[0,r(Pe),0,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,")],U90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],H90=[0,[17,[0,r(Pe),0,0],[11,r(OX),[17,0,0]]],r(qU)],X90=[0,[15,0],r(C0)],Y90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.Identifier@ ")],V90=[0,[17,0,[12,41,0]],r(h0)],z90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.NamespacedName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ ")],K90=[0,[17,0,[12,41,0]],r(h0)],W90=[0,[15,0],r(C0)],J90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Z90=[0,[17,0,[12,41,0]],r(h0)],Q90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],r_0=r("Flow_ast.JSX.Text.value"),e_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],n_0=[0,[3,0,0],r(Yt)],t_0=[0,[17,0,0],r(z)],u_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i_0=r(o7),f_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x_0=[0,[3,0,0],r(Yt)],a_0=[0,[17,0,0],r(z)],o_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],c_0=[0,[15,0],r(C0)],s_0=[0,[15,0],r(C0)],v_0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.ExpressionContainer.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ ")],l_0=[0,[17,0,[12,41,0]],r(h0)],b_0=r("Flow_ast.JSX.ExpressionContainer.EmptyExpression"),p_0=[0,[15,0],r(C0)],m_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],__0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],y_0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],d_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],h_0=r("Flow_ast.JSX.ExpressionContainer.expression"),k_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],w_0=[0,[17,0,0],r(z)],E_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],S_0=r(Xr),g_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],F_0=r(tr),T_0=r(Z0),O_0=r(nr),I_0=[0,[17,0,0],r(z)],A_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],N_0=[0,[15,0],r(C0)],C_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],P_0=r("Flow_ast.JSX.NamespacedName.namespace"),D_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],L_0=[0,[17,0,0],r(z)],R_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],j_0=r(ti),G_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M_0=[0,[17,0,0],r(z)],B_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],q_0=[0,[15,0],r(C0)],U_0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],H_0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],X_0=[0,[17,0,[12,41,0]],r(h0)],Y_0=[0,[15,0],r(C0)],V_0=r(Yr),z_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],K_0=r("Flow_ast.JSX.Identifier.name"),W_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],J_0=[0,[3,0,0],r(Yt)],$_0=[0,[17,0,0],r(z)],Z_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q_0=r(Xr),ry0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ey0=r(tr),ny0=r(Z0),ty0=r(nr),uy0=[0,[17,0,0],r(z)],iy0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],fy0=[0,[15,0],r(C0)],xy0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ay0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],oy0=[0,[17,0,[12,41,0]],r(h0)],cy0=[0,[15,0],r(C0)],sy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array@ ")],vy0=[0,[17,0,[12,41,0]],r(h0)],ly0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.ArrowFunction"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.ArrowFunction@ ")],by0=[0,[17,0,[12,41,0]],r(h0)],py0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Assignment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Assignment@ ")],my0=[0,[17,0,[12,41,0]],r(h0)],_y0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Binary"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Binary@ ")],yy0=[0,[17,0,[12,41,0]],r(h0)],dy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Call"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Call@ ")],hy0=[0,[17,0,[12,41,0]],r(h0)],ky0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Class"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Class@ ")],wy0=[0,[17,0,[12,41,0]],r(h0)],Ey0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Comprehension"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Comprehension@ ")],Sy0=[0,[17,0,[12,41,0]],r(h0)],gy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Conditional"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Conditional@ ")],Fy0=[0,[17,0,[12,41,0]],r(h0)],Ty0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Function@ ")],Oy0=[0,[17,0,[12,41,0]],r(h0)],Iy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Generator"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Generator@ ")],Ay0=[0,[17,0,[12,41,0]],r(h0)],Ny0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Identifier@ ")],Cy0=[0,[17,0,[12,41,0]],r(h0)],Py0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Import"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Import@ ")],Dy0=[0,[17,0,[12,41,0]],r(h0)],Ly0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.JSXElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.JSXElement@ ")],Ry0=[0,[17,0,[12,41,0]],r(h0)],jy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.JSXFragment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.JSXFragment@ ")],Gy0=[0,[17,0,[12,41,0]],r(h0)],My0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Literal@ ")],By0=[0,[17,0,[12,41,0]],r(h0)],qy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Logical"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Logical@ ")],Uy0=[0,[17,0,[12,41,0]],r(h0)],Hy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member@ ")],Xy0=[0,[17,0,[12,41,0]],r(h0)],Yy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.MetaProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.MetaProperty@ ")],Vy0=[0,[17,0,[12,41,0]],r(h0)],zy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.New"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.New@ ")],Ky0=[0,[17,0,[12,41,0]],r(h0)],Wy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object@ ")],Jy0=[0,[17,0,[12,41,0]],r(h0)],$y0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.OptionalCall"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.OptionalCall@ ")],Zy0=[0,[17,0,[12,41,0]],r(h0)],Qy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.OptionalMember"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.OptionalMember@ ")],rd0=[0,[17,0,[12,41,0]],r(h0)],ed0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Sequence"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Sequence@ ")],nd0=[0,[17,0,[12,41,0]],r(h0)],td0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Super"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Super@ ")],ud0=[0,[17,0,[12,41,0]],r(h0)],id0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TaggedTemplate"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TaggedTemplate@ ")],fd0=[0,[17,0,[12,41,0]],r(h0)],xd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TemplateLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TemplateLiteral@ ")],ad0=[0,[17,0,[12,41,0]],r(h0)],od0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.This"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.This@ ")],cd0=[0,[17,0,[12,41,0]],r(h0)],sd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TypeCast"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TypeCast@ ")],vd0=[0,[17,0,[12,41,0]],r(h0)],ld0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Unary"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Unary@ ")],bd0=[0,[17,0,[12,41,0]],r(h0)],pd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Update"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Update@ ")],md0=[0,[17,0,[12,41,0]],r(h0)],_d0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Yield"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Yield@ ")],yd0=[0,[17,0,[12,41,0]],r(h0)],dd0=[0,[15,0],r(C0)],hd0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],kd0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],wd0=[0,[17,0,[12,41,0]],r(h0)],Ed0=[0,[15,0],r(C0)],Sd0=r(Yr),gd0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fd0=r("Flow_ast.Expression.Import.argument"),Td0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Od0=[0,[17,0,0],r(z)],Id0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ad0=r(Xr),Nd0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cd0=r(tr),Pd0=r(Z0),Dd0=r(nr),Ld0=[0,[17,0,0],r(z)],Rd0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],jd0=[0,[15,0],r(C0)],Gd0=r(Yr),Md0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Bd0=r("Flow_ast.Expression.Super.comments"),qd0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ud0=r(tr),Hd0=r(Z0),Xd0=r(nr),Yd0=[0,[17,0,0],r(z)],Vd0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zd0=[0,[15,0],r(C0)],Kd0=r(Yr),Wd0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Jd0=r("Flow_ast.Expression.This.comments"),$d0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zd0=r(tr),Qd0=r(Z0),rh0=r(nr),eh0=[0,[17,0,0],r(z)],nh0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],th0=[0,[15,0],r(C0)],uh0=r(Yr),ih0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],fh0=r("Flow_ast.Expression.MetaProperty.meta"),xh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ah0=[0,[17,0,0],r(z)],oh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ch0=r(Iv),sh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vh0=[0,[17,0,0],r(z)],lh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bh0=r(Xr),ph0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mh0=r(tr),_h0=r(Z0),yh0=r(nr),dh0=[0,[17,0,0],r(z)],hh0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],kh0=[0,[15,0],r(C0)],wh0=r(Yr),Eh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Sh0=r("Flow_ast.Expression.TypeCast.expression"),gh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Fh0=[0,[17,0,0],r(z)],Th0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Oh0=r(rs),Ih0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ah0=[0,[17,0,0],r(z)],Nh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ch0=r(Xr),Ph0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dh0=r(tr),Lh0=r(Z0),Rh0=r(nr),jh0=[0,[17,0,0],r(z)],Gh0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Mh0=[0,[15,0],r(C0)],Bh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Uh0=r("Flow_ast.Expression.Generator.blocks"),Hh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Yh0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Vh0=[0,[17,0,0],r(z)],zh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kh0=r(O4),Wh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jh0=r(tr),$h0=r(Z0),Zh0=r(nr),Qh0=[0,[17,0,0],r(z)],rk0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ek0=[0,[15,0],r(C0)],nk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],uk0=r("Flow_ast.Expression.Comprehension.blocks"),ik0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],xk0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],ak0=[0,[17,0,0],r(z)],ok0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ck0=r(O4),sk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vk0=r(tr),lk0=r(Z0),bk0=r(nr),pk0=[0,[17,0,0],r(z)],mk0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],_k0=[0,[15,0],r(C0)],yk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],dk0=r("Flow_ast.Expression.Comprehension.Block.left"),hk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kk0=[0,[17,0,0],r(z)],wk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ek0=r(Nu),Sk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gk0=[0,[17,0,0],r(z)],Fk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tk0=r(j8),Ok0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ik0=[0,[9,0,0],r(An)],Ak0=[0,[17,0,0],r(z)],Nk0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ck0=[0,[15,0],r(C0)],Pk0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Dk0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Lk0=[0,[17,0,[12,41,0]],r(h0)],Rk0=[0,[15,0],r(C0)],jk0=r(Yr),Gk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Mk0=r("Flow_ast.Expression.Yield.argument"),Bk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qk0=r(tr),Uk0=r(Z0),Hk0=r(nr),Xk0=[0,[17,0,0],r(z)],Yk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vk0=r(Xr),zk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kk0=r(tr),Wk0=r(Z0),Jk0=r(nr),$k0=[0,[17,0,0],r(z)],Zk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qk0=r(yY),rw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ew0=[0,[9,0,0],r(An)],nw0=[0,[17,0,0],r(z)],tw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uw0=r("result_out"),iw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fw0=[0,[17,0,0],r(z)],xw0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aw0=[0,[15,0],r(C0)],ow0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],cw0=r("Flow_ast.Expression.OptionalMember.member"),sw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vw0=[0,[17,0,0],r(z)],lw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bw0=r(yU),pw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mw0=[0,[17,0,0],r(z)],_w0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yw0=r(Bu),dw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hw0=[0,[9,0,0],r(An)],kw0=[0,[17,0,0],r(z)],ww0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ew0=[0,[15,0],r(C0)],Sw0=r(Yr),gw0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fw0=r("Flow_ast.Expression.Member._object"),Tw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ow0=[0,[17,0,0],r(z)],Iw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Aw0=r(Iv),Nw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cw0=[0,[17,0,0],r(z)],Pw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Dw0=r(Xr),Lw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rw0=r(tr),jw0=r(Z0),Gw0=r(nr),Mw0=[0,[17,0,0],r(z)],Bw0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],qw0=[0,[15,0],r(C0)],Uw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyIdentifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ ")],Hw0=[0,[17,0,[12,41,0]],r(h0)],Xw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyPrivateName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ ")],Yw0=[0,[17,0,[12,41,0]],r(h0)],Vw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyExpression@ ")],zw0=[0,[17,0,[12,41,0]],r(h0)],Kw0=[0,[15,0],r(C0)],Ww0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Jw0=r("Flow_ast.Expression.OptionalCall.call"),$w0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zw0=[0,[17,0,0],r(z)],Qw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rE0=r(yU),eE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nE0=[0,[17,0,0],r(z)],tE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uE0=r(Bu),iE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fE0=[0,[9,0,0],r(An)],xE0=[0,[17,0,0],r(z)],aE0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],oE0=[0,[15,0],r(C0)],cE0=r(Yr),sE0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vE0=r("Flow_ast.Expression.Call.callee"),lE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bE0=[0,[17,0,0],r(z)],pE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mE0=r(Z2),_E0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yE0=r(tr),dE0=r(Z0),hE0=r(nr),kE0=[0,[17,0,0],r(z)],wE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EE0=r(C2),SE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gE0=[0,[17,0,0],r(z)],FE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TE0=r(Xr),OE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IE0=r(tr),AE0=r(Z0),NE0=r(nr),CE0=[0,[17,0,0],r(z)],PE0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],DE0=[0,[15,0],r(C0)],LE0=r(Yr),RE0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],jE0=r("Flow_ast.Expression.New.callee"),GE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ME0=[0,[17,0,0],r(z)],BE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qE0=r(Z2),UE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HE0=r(tr),XE0=r(Z0),YE0=r(nr),VE0=[0,[17,0,0],r(z)],zE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KE0=r(C2),WE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JE0=r(tr),$E0=r(Z0),ZE0=r(nr),QE0=[0,[17,0,0],r(z)],rS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eS0=r(Xr),nS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tS0=r(tr),uS0=r(Z0),iS0=r(nr),fS0=[0,[17,0,0],r(z)],xS0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aS0=[0,[15,0],r(C0)],oS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],sS0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],vS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],bS0=r("Flow_ast.Expression.ArgList.arguments"),pS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],_S0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],yS0=[0,[17,0,0],r(z)],dS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hS0=r(Xr),kS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wS0=r(tr),ES0=r(Z0),SS0=r(nr),gS0=[0,[17,0,0],r(z)],FS0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],TS0=[0,[15,0],r(C0)],OS0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],IS0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],AS0=[0,[17,0,[12,41,0]],r(h0)],NS0=[0,[15,0],r(C0)],CS0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Expression@ ")],PS0=[0,[17,0,[12,41,0]],r(h0)],DS0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Spread"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Spread@ ")],LS0=[0,[17,0,[12,41,0]],r(h0)],RS0=[0,[15,0],r(C0)],jS0=r(Yr),GS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],MS0=r("Flow_ast.Expression.Conditional.test"),BS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qS0=[0,[17,0,0],r(z)],US0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HS0=r(kv),XS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YS0=[0,[17,0,0],r(z)],VS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zS0=r(_3),KS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WS0=[0,[17,0,0],r(z)],JS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$S0=r(Xr),ZS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QS0=r(tr),rg0=r(Z0),eg0=r(nr),ng0=[0,[17,0,0],r(z)],tg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ug0=[0,[15,0],r(C0)],ig0=r(Yr),fg0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],xg0=r("Flow_ast.Expression.Logical.operator"),ag0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],og0=[0,[17,0,0],r(z)],cg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sg0=r(li),vg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lg0=[0,[17,0,0],r(z)],bg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pg0=r(Nu),mg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_g0=[0,[17,0,0],r(z)],yg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dg0=r(Xr),hg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kg0=r(tr),wg0=r(Z0),Eg0=r(nr),Sg0=[0,[17,0,0],r(z)],gg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Fg0=[0,[15,0],r(C0)],Tg0=r("Flow_ast.Expression.Logical.Or"),Og0=r("Flow_ast.Expression.Logical.And"),Ig0=r("Flow_ast.Expression.Logical.NullishCoalesce"),Ag0=[0,[15,0],r(C0)],Ng0=r(Yr),Cg0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Pg0=r("Flow_ast.Expression.Update.operator"),Dg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lg0=[0,[17,0,0],r(z)],Rg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jg0=r(v7),Gg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mg0=[0,[17,0,0],r(z)],Bg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qg0=r(XE),Ug0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hg0=[0,[9,0,0],r(An)],Xg0=[0,[17,0,0],r(z)],Yg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vg0=r(Xr),zg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kg0=r(tr),Wg0=r(Z0),Jg0=r(nr),$g0=[0,[17,0,0],r(z)],Zg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Qg0=[0,[15,0],r(C0)],rF0=r("Flow_ast.Expression.Update.Decrement"),eF0=r("Flow_ast.Expression.Update.Increment"),nF0=[0,[15,0],r(C0)],tF0=r(Yr),uF0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],iF0=r("Flow_ast.Expression.Assignment.operator"),fF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xF0=r(tr),aF0=r(Z0),oF0=r(nr),cF0=[0,[17,0,0],r(z)],sF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vF0=r(li),lF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bF0=[0,[17,0,0],r(z)],pF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mF0=r(Nu),_F0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yF0=[0,[17,0,0],r(z)],dF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hF0=r(Xr),kF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wF0=r(tr),EF0=r(Z0),SF0=r(nr),gF0=[0,[17,0,0],r(z)],FF0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],TF0=[0,[15,0],r(C0)],OF0=r("Flow_ast.Expression.Assignment.PlusAssign"),IF0=r("Flow_ast.Expression.Assignment.MinusAssign"),AF0=r("Flow_ast.Expression.Assignment.MultAssign"),NF0=r("Flow_ast.Expression.Assignment.ExpAssign"),CF0=r("Flow_ast.Expression.Assignment.DivAssign"),PF0=r("Flow_ast.Expression.Assignment.ModAssign"),DF0=r("Flow_ast.Expression.Assignment.LShiftAssign"),LF0=r("Flow_ast.Expression.Assignment.RShiftAssign"),RF0=r("Flow_ast.Expression.Assignment.RShift3Assign"),jF0=r("Flow_ast.Expression.Assignment.BitOrAssign"),GF0=r("Flow_ast.Expression.Assignment.BitXorAssign"),MF0=r("Flow_ast.Expression.Assignment.BitAndAssign"),BF0=r("Flow_ast.Expression.Assignment.NullishAssign"),qF0=r("Flow_ast.Expression.Assignment.AndAssign"),UF0=r("Flow_ast.Expression.Assignment.OrAssign"),HF0=[0,[15,0],r(C0)],XF0=r(Yr),YF0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],VF0=r("Flow_ast.Expression.Binary.operator"),zF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KF0=[0,[17,0,0],r(z)],WF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JF0=r(li),$F0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZF0=[0,[17,0,0],r(z)],QF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rT0=r(Nu),eT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nT0=[0,[17,0,0],r(z)],tT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uT0=r(Xr),iT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fT0=r(tr),xT0=r(Z0),aT0=r(nr),oT0=[0,[17,0,0],r(z)],cT0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sT0=[0,[15,0],r(C0)],vT0=r("Flow_ast.Expression.Binary.Equal"),lT0=r("Flow_ast.Expression.Binary.NotEqual"),bT0=r("Flow_ast.Expression.Binary.StrictEqual"),pT0=r("Flow_ast.Expression.Binary.StrictNotEqual"),mT0=r("Flow_ast.Expression.Binary.LessThan"),_T0=r("Flow_ast.Expression.Binary.LessThanEqual"),yT0=r("Flow_ast.Expression.Binary.GreaterThan"),dT0=r("Flow_ast.Expression.Binary.GreaterThanEqual"),hT0=r("Flow_ast.Expression.Binary.LShift"),kT0=r("Flow_ast.Expression.Binary.RShift"),wT0=r("Flow_ast.Expression.Binary.RShift3"),ET0=r("Flow_ast.Expression.Binary.Plus"),ST0=r("Flow_ast.Expression.Binary.Minus"),gT0=r("Flow_ast.Expression.Binary.Mult"),FT0=r("Flow_ast.Expression.Binary.Exp"),TT0=r("Flow_ast.Expression.Binary.Div"),OT0=r("Flow_ast.Expression.Binary.Mod"),IT0=r("Flow_ast.Expression.Binary.BitOr"),AT0=r("Flow_ast.Expression.Binary.Xor"),NT0=r("Flow_ast.Expression.Binary.BitAnd"),CT0=r("Flow_ast.Expression.Binary.In"),PT0=r("Flow_ast.Expression.Binary.Instanceof"),DT0=[0,[15,0],r(C0)],LT0=r(Yr),RT0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],jT0=r("Flow_ast.Expression.Unary.operator"),GT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],MT0=[0,[17,0,0],r(z)],BT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qT0=r(v7),UT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HT0=[0,[17,0,0],r(z)],XT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],YT0=r(Xr),VT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zT0=r(tr),KT0=r(Z0),WT0=r(nr),JT0=[0,[17,0,0],r(z)],$T0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ZT0=[0,[15,0],r(C0)],QT0=r("Flow_ast.Expression.Unary.Minus"),rO0=r("Flow_ast.Expression.Unary.Plus"),eO0=r("Flow_ast.Expression.Unary.Not"),nO0=r("Flow_ast.Expression.Unary.BitNot"),tO0=r("Flow_ast.Expression.Unary.Typeof"),uO0=r("Flow_ast.Expression.Unary.Void"),iO0=r("Flow_ast.Expression.Unary.Delete"),fO0=r("Flow_ast.Expression.Unary.Await"),xO0=[0,[15,0],r(C0)],aO0=r(Yr),oO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],sO0=r("Flow_ast.Expression.Sequence.expressions"),vO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pO0=[0,[17,0,0],r(z)],mO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_O0=r(Xr),yO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dO0=r(tr),hO0=r(Z0),kO0=r(nr),wO0=[0,[17,0,0],r(z)],EO0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SO0=[0,[15,0],r(C0)],gO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],TO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],OO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],AO0=r("Flow_ast.Expression.Object.properties"),NO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],PO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],DO0=[0,[17,0,0],r(z)],LO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RO0=r(Xr),jO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GO0=r(tr),MO0=r(Z0),BO0=r(nr),qO0=[0,[17,0,0],r(z)],UO0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],HO0=[0,[15,0],r(C0)],XO0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property@ ")],YO0=[0,[17,0,[12,41,0]],r(h0)],VO0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.SpreadProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.SpreadProperty@ ")],zO0=[0,[17,0,[12,41,0]],r(h0)],KO0=[0,[15,0],r(C0)],WO0=r(Yr),JO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],$O0=r("Flow_ast.Expression.Object.SpreadProperty.argument"),ZO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QO0=[0,[17,0,0],r(z)],rI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eI0=r(Xr),nI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tI0=r(tr),uI0=r(Z0),iI0=r(nr),fI0=[0,[17,0,0],r(z)],xI0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aI0=[0,[15,0],r(C0)],oI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],cI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],sI0=[0,[17,0,[12,41,0]],r(h0)],vI0=[0,[15,0],r(C0)],lI0=r(Yr),bI0=r(Yr),pI0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Init {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Init {@,")],mI0=r(ui),_I0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yI0=[0,[17,0,0],r(z)],dI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hI0=r(Bn),kI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wI0=[0,[17,0,0],r(z)],EI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],SI0=r(x6),gI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FI0=[0,[9,0,0],r(An)],TI0=[0,[17,0,0],r(z)],OI0=[0,[17,0,[12,br,0]],r(V6)],II0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Method {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Method {@,")],AI0=r(ui),NI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CI0=[0,[17,0,0],r(z)],PI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DI0=r(Bn),LI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],jI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],GI0=[0,[17,0,[12,41,0]],r(h0)],MI0=[0,[17,0,0],r(z)],BI0=[0,[17,0,[12,br,0]],r(V6)],qI0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Get {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Get {@,")],UI0=r(ui),HI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],XI0=[0,[17,0,0],r(z)],YI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],VI0=r(Bn),zI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],WI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],JI0=[0,[17,0,[12,41,0]],r(h0)],$I0=[0,[17,0,0],r(z)],ZI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],QI0=r(Xr),rA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eA0=r(tr),nA0=r(Z0),tA0=r(nr),uA0=[0,[17,0,0],r(z)],iA0=[0,[17,0,[12,br,0]],r(V6)],fA0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Set {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Set {@,")],xA0=r(ui),aA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oA0=[0,[17,0,0],r(z)],cA0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sA0=r(Bn),vA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],bA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],pA0=[0,[17,0,[12,41,0]],r(h0)],mA0=[0,[17,0,0],r(z)],_A0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yA0=r(Xr),dA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hA0=r(tr),kA0=r(Z0),wA0=r(nr),EA0=[0,[17,0,0],r(z)],SA0=[0,[17,0,[12,br,0]],r(V6)],gA0=[0,[15,0],r(C0)],FA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],TA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],OA0=[0,[17,0,[12,41,0]],r(h0)],IA0=[0,[15,0],r(C0)],AA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Literal@ ")],NA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],CA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],PA0=[0,[17,0,[12,41,0]],r(h0)],DA0=[0,[17,0,[12,41,0]],r(h0)],LA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Identifier@ ")],RA0=[0,[17,0,[12,41,0]],r(h0)],jA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.PrivateName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ ")],GA0=[0,[17,0,[12,41,0]],r(h0)],MA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Computed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Computed@ ")],BA0=[0,[17,0,[12,41,0]],r(h0)],qA0=[0,[15,0],r(C0)],UA0=r(Yr),HA0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],XA0=r("Flow_ast.Expression.TaggedTemplate.tag"),YA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],VA0=[0,[17,0,0],r(z)],zA0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KA0=r(OY),WA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$A0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],ZA0=[0,[17,0,[12,41,0]],r(h0)],QA0=[0,[17,0,0],r(z)],rN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eN0=r(Xr),nN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tN0=r(tr),uN0=r(Z0),iN0=r(nr),fN0=[0,[17,0,0],r(z)],xN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aN0=[0,[15,0],r(C0)],oN0=r(Yr),cN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],lN0=r("Flow_ast.Expression.TemplateLiteral.quasis"),bN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],mN0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],_N0=[0,[17,0,0],r(z)],yN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dN0=r(Ug),hN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],wN0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],EN0=[0,[17,0,0],r(z)],SN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gN0=r(Xr),FN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],TN0=r(tr),ON0=r(Z0),IN0=r(nr),AN0=[0,[17,0,0],r(z)],NN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],CN0=[0,[15,0],r(C0)],PN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],DN0=r("Flow_ast.Expression.TemplateLiteral.Element.value"),LN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RN0=[0,[17,0,0],r(z)],jN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GN0=r(bU),MN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BN0=[0,[9,0,0],r(An)],qN0=[0,[17,0,0],r(z)],UN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],HN0=[0,[15,0],r(C0)],XN0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],YN0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],VN0=[0,[17,0,[12,41,0]],r(h0)],zN0=[0,[15,0],r(C0)],KN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],WN0=r("Flow_ast.Expression.TemplateLiteral.Element.raw"),JN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$N0=[0,[3,0,0],r(Yt)],ZN0=[0,[17,0,0],r(z)],QN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rC0=r(GY),eC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nC0=[0,[3,0,0],r(Yt)],tC0=[0,[17,0,0],r(z)],uC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],iC0=[0,[15,0],r(C0)],fC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],aC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],oC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],sC0=r("Flow_ast.Expression.Array.elements"),vC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pC0=[0,[17,0,0],r(z)],mC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_C0=r(Xr),yC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dC0=r(tr),hC0=r(Z0),kC0=r(nr),wC0=[0,[17,0,0],r(z)],EC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SC0=[0,[15,0],r(C0)],gC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Expression@ ")],FC0=[0,[17,0,[12,41,0]],r(h0)],TC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Spread"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Spread@ ")],OC0=[0,[17,0,[12,41,0]],r(h0)],IC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Hole"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Hole@ ")],AC0=[0,[17,0,[12,41,0]],r(h0)],NC0=[0,[15,0],r(C0)],CC0=r(Yr),PC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],DC0=r("Flow_ast.Expression.SpreadElement.argument"),LC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RC0=[0,[17,0,0],r(z)],jC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GC0=r(Xr),MC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BC0=r(tr),qC0=r(Z0),UC0=r(nr),HC0=[0,[17,0,0],r(z)],XC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],YC0=[0,[15,0],r(C0)],VC0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],zC0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],KC0=[0,[17,0,[12,41,0]],r(h0)],WC0=[0,[15,0],r(C0)],JC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$C0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ZC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],QC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],eP0=r("Flow_ast.Expression.CallTypeArgs.arguments"),nP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],uP0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],iP0=[0,[17,0,0],r(z)],fP0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xP0=r(Xr),aP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oP0=r(tr),cP0=r(Z0),sP0=r(nr),vP0=[0,[17,0,0],r(z)],lP0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],bP0=[0,[15,0],r(C0)],pP0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],mP0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],_P0=[0,[17,0,[12,41,0]],r(h0)],yP0=[0,[15,0],r(C0)],dP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.CallTypeArg.Explicit"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ ")],hP0=[0,[17,0,[12,41,0]],r(h0)],kP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.CallTypeArg.Implicit"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ ")],wP0=[0,[17,0,[12,41,0]],r(h0)],EP0=[0,[15,0],r(C0)],SP0=r(Yr),gP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],FP0=r("Flow_ast.Expression.CallTypeArg.Implicit.comments"),TP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OP0=r(tr),IP0=r(Z0),AP0=r(nr),NP0=[0,[17,0,0],r(z)],CP0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],PP0=[0,[15,0],r(C0)],DP0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],LP0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],RP0=[0,[17,0,[12,41,0]],r(h0)],jP0=[0,[15,0],r(C0)],GP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Block"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Block@ ")],MP0=[0,[17,0,[12,41,0]],r(h0)],BP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Break"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Break@ ")],qP0=[0,[17,0,[12,41,0]],r(h0)],UP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ClassDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ClassDeclaration@ ")],HP0=[0,[17,0,[12,41,0]],r(h0)],XP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Continue"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Continue@ ")],YP0=[0,[17,0,[12,41,0]],r(h0)],VP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Debugger"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Debugger@ ")],zP0=[0,[17,0,[12,41,0]],r(h0)],KP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareClass"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareClass@ ")],WP0=[0,[17,0,[12,41,0]],r(h0)],JP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ ")],$P0=[0,[17,0,[12,41,0]],r(h0)],ZP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareFunction"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareFunction@ ")],QP0=[0,[17,0,[12,41,0]],r(h0)],rD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareInterface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareInterface@ ")],eD0=[0,[17,0,[12,41,0]],r(h0)],nD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule@ ")],tD0=[0,[17,0,[12,41,0]],r(h0)],uD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModuleExports"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModuleExports@ ")],iD0=[0,[17,0,[12,41,0]],r(h0)],fD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareTypeAlias"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareTypeAlias@ ")],xD0=[0,[17,0,[12,41,0]],r(h0)],aD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareOpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareOpaqueType@ ")],oD0=[0,[17,0,[12,41,0]],r(h0)],cD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareVariable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareVariable@ ")],sD0=[0,[17,0,[12,41,0]],r(h0)],vD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DoWhile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DoWhile@ ")],lD0=[0,[17,0,[12,41,0]],r(h0)],bD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Empty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Empty@ ")],pD0=[0,[17,0,[12,41,0]],r(h0)],mD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration@ ")],_D0=[0,[17,0,[12,41,0]],r(h0)],yD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ ")],dD0=[0,[17,0,[12,41,0]],r(h0)],hD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ ")],kD0=[0,[17,0,[12,41,0]],r(h0)],wD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Expression@ ")],ED0=[0,[17,0,[12,41,0]],r(h0)],SD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For@ ")],gD0=[0,[17,0,[12,41,0]],r(h0)],FD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn@ ")],TD0=[0,[17,0,[12,41,0]],r(h0)],OD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf@ ")],ID0=[0,[17,0,[12,41,0]],r(h0)],AD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.FunctionDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.FunctionDeclaration@ ")],ND0=[0,[17,0,[12,41,0]],r(h0)],CD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.If"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.If@ ")],PD0=[0,[17,0,[12,41,0]],r(h0)],DD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration@ ")],LD0=[0,[17,0,[12,41,0]],r(h0)],RD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.InterfaceDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.InterfaceDeclaration@ ")],jD0=[0,[17,0,[12,41,0]],r(h0)],GD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Labeled"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Labeled@ ")],MD0=[0,[17,0,[12,41,0]],r(h0)],BD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Return"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Return@ ")],qD0=[0,[17,0,[12,41,0]],r(h0)],UD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Switch"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Switch@ ")],HD0=[0,[17,0,[12,41,0]],r(h0)],XD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Throw"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Throw@ ")],YD0=[0,[17,0,[12,41,0]],r(h0)],VD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Try"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Try@ ")],zD0=[0,[17,0,[12,41,0]],r(h0)],KD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.TypeAlias"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.TypeAlias@ ")],WD0=[0,[17,0,[12,41,0]],r(h0)],JD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.OpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.OpaqueType@ ")],$D0=[0,[17,0,[12,41,0]],r(h0)],ZD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.VariableDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.VariableDeclaration@ ")],QD0=[0,[17,0,[12,41,0]],r(h0)],rL0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.While"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.While@ ")],eL0=[0,[17,0,[12,41,0]],r(h0)],nL0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.With"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.With@ ")],tL0=[0,[17,0,[12,41,0]],r(h0)],uL0=[0,[15,0],r(C0)],iL0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],fL0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],xL0=[0,[17,0,[12,41,0]],r(h0)],aL0=[0,[15,0],r(C0)],oL0=r("Flow_ast.Statement.ExportValue"),cL0=r("Flow_ast.Statement.ExportType"),sL0=[0,[15,0],r(C0)],vL0=r(Yr),lL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],bL0=r("Flow_ast.Statement.Empty.comments"),pL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mL0=r(tr),_L0=r(Z0),yL0=r(nr),dL0=[0,[17,0,0],r(z)],hL0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],kL0=[0,[15,0],r(C0)],wL0=r(Yr),EL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],SL0=r("Flow_ast.Statement.Expression.expression"),gL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FL0=[0,[17,0,0],r(z)],TL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],OL0=r(hn),IL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],AL0=r(tr),NL0=[0,[3,0,0],r(Yt)],CL0=r(Z0),PL0=r(nr),DL0=[0,[17,0,0],r(z)],LL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RL0=r(Xr),jL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GL0=r(tr),ML0=r(Z0),BL0=r(nr),qL0=[0,[17,0,0],r(z)],UL0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],HL0=[0,[15,0],r(C0)],XL0=r(Yr),YL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],VL0=r("Flow_ast.Statement.ImportDeclaration.import_kind"),zL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KL0=[0,[17,0,0],r(z)],WL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JL0=r(vc),$L0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZL0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],QL0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],rR0=[0,[17,0,[12,41,0]],r(h0)],eR0=[0,[17,0,0],r(z)],nR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tR0=r(mi),uR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iR0=r(tr),fR0=r(Z0),xR0=r(nr),aR0=[0,[17,0,0],r(z)],oR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cR0=r(Cv),sR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vR0=r(tr),lR0=r(Z0),bR0=r(nr),pR0=[0,[17,0,0],r(z)],mR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_R0=r(Xr),yR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dR0=r(tr),hR0=r(Z0),kR0=r(nr),wR0=[0,[17,0,0],r(z)],ER0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SR0=[0,[15,0],r(C0)],gR0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],FR0=r("Flow_ast.Statement.ImportDeclaration.kind"),TR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OR0=r(tr),IR0=r(Z0),AR0=r(nr),NR0=[0,[17,0,0],r(z)],CR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PR0=r(B2),DR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LR0=r(tr),RR0=r(Z0),jR0=r(nr),GR0=[0,[17,0,0],r(z)],MR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BR0=r("remote"),qR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UR0=[0,[17,0,0],r(z)],HR0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],XR0=[0,[15,0],r(C0)],YR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],VR0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ ")],zR0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],KR0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],WR0=[0,[17,0,[12,41,0]],r(h0)],JR0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ ")],$R0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ZR0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],QR0=[0,[17,0,[12,41,0]],r(h0)],rj0=[0,[17,0,[12,41,0]],r(h0)],ej0=[0,[15,0],r(C0)],nj0=r("Flow_ast.Statement.ImportDeclaration.ImportType"),tj0=r("Flow_ast.Statement.ImportDeclaration.ImportTypeof"),uj0=r("Flow_ast.Statement.ImportDeclaration.ImportValue"),ij0=[0,[15,0],r(C0)],fj0=r(Yr),xj0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],aj0=r("Flow_ast.Statement.DeclareExportDeclaration.default"),oj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cj0=r(tr),sj0=r(Z0),vj0=r(nr),lj0=[0,[17,0,0],r(z)],bj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pj0=r(P2),mj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_j0=r(tr),yj0=r(Z0),dj0=r(nr),hj0=[0,[17,0,0],r(z)],kj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wj0=r(Cv),Ej0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sj0=r(tr),gj0=r(Z0),Fj0=r(nr),Tj0=[0,[17,0,0],r(z)],Oj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ij0=r(vc),Aj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nj0=r(tr),Cj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Pj0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Dj0=[0,[17,0,[12,41,0]],r(h0)],Lj0=r(Z0),Rj0=r(nr),jj0=[0,[17,0,0],r(z)],Gj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Mj0=r(Xr),Bj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qj0=r(tr),Uj0=r(Z0),Hj0=r(nr),Xj0=[0,[17,0,0],r(z)],Yj0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Vj0=[0,[15,0],r(C0)],zj0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Variable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ ")],Kj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Wj0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Jj0=[0,[17,0,[12,41,0]],r(h0)],$j0=[0,[17,0,[12,41,0]],r(h0)],Zj0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ ")],Qj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],rG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],eG0=[0,[17,0,[12,41,0]],r(h0)],nG0=[0,[17,0,[12,41,0]],r(h0)],tG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Class"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ ")],uG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],iG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],fG0=[0,[17,0,[12,41,0]],r(h0)],xG0=[0,[17,0,[12,41,0]],r(h0)],aG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.DefaultType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ ")],oG0=[0,[17,0,[12,41,0]],r(h0)],cG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.NamedType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ ")],sG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],vG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],lG0=[0,[17,0,[12,41,0]],r(h0)],bG0=[0,[17,0,[12,41,0]],r(h0)],pG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ ")],mG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],_G0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],yG0=[0,[17,0,[12,41,0]],r(h0)],dG0=[0,[17,0,[12,41,0]],r(h0)],hG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Interface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ ")],kG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],wG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],EG0=[0,[17,0,[12,41,0]],r(h0)],SG0=[0,[17,0,[12,41,0]],r(h0)],gG0=[0,[15,0],r(C0)],FG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration.Declaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ ")],TG0=[0,[17,0,[12,41,0]],r(h0)],OG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ ")],IG0=[0,[17,0,[12,41,0]],r(h0)],AG0=[0,[15,0],r(C0)],NG0=r(Yr),CG0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],PG0=r("Flow_ast.Statement.ExportDefaultDeclaration.default"),DG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LG0=[0,[17,0,0],r(z)],RG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jG0=r(P2),GG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],MG0=[0,[17,0,0],r(z)],BG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qG0=r(Xr),UG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HG0=r(tr),XG0=r(Z0),YG0=r(nr),VG0=[0,[17,0,0],r(z)],zG0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],KG0=[0,[15,0],r(C0)],WG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ ")],$G0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ZG0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],QG0=[0,[17,0,[12,41,0]],r(h0)],rM0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier@ ")],eM0=[0,[17,0,[12,41,0]],r(h0)],nM0=[0,[15,0],r(C0)],tM0=r(Yr),uM0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],iM0=r("Flow_ast.Statement.ExportNamedDeclaration.declaration"),fM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xM0=r(tr),aM0=r(Z0),oM0=r(nr),cM0=[0,[17,0,0],r(z)],sM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vM0=r(Cv),lM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bM0=r(tr),pM0=r(Z0),mM0=r(nr),_M0=[0,[17,0,0],r(z)],yM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dM0=r(vc),hM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kM0=r(tr),wM0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],EM0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],SM0=[0,[17,0,[12,41,0]],r(h0)],gM0=r(Z0),FM0=r(nr),TM0=[0,[17,0,0],r(z)],OM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IM0=r("export_kind"),AM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],NM0=[0,[17,0,0],r(z)],CM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PM0=r(Xr),DM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LM0=r(tr),RM0=r(Z0),jM0=r(nr),GM0=[0,[17,0,0],r(z)],MM0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],BM0=[0,[15,0],r(C0)],qM0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],UM0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],HM0=r(tr),XM0=r(Z0),YM0=r(nr),VM0=[0,[17,0,[12,41,0]],r(h0)],zM0=[0,[15,0],r(C0)],KM0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],WM0=r("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local"),JM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$M0=[0,[17,0,0],r(z)],ZM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],QM0=r(A4),rB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eB0=r(tr),nB0=r(Z0),tB0=r(nr),uB0=[0,[17,0,0],r(z)],iB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],fB0=[0,[15,0],r(C0)],xB0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],aB0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],oB0=[0,[17,0,[12,41,0]],r(h0)],cB0=[0,[15,0],r(C0)],sB0=r(Yr),vB0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],lB0=r("Flow_ast.Statement.DeclareModuleExports.annot"),bB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pB0=[0,[17,0,0],r(z)],mB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_B0=r(Xr),yB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dB0=r(tr),hB0=r(Z0),kB0=r(nr),wB0=[0,[17,0,0],r(z)],EB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SB0=[0,[15,0],r(C0)],gB0=r(Yr),FB0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],TB0=r("Flow_ast.Statement.DeclareModule.id"),OB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IB0=[0,[17,0,0],r(z)],AB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],NB0=r(Wn),CB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],PB0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],DB0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],LB0=[0,[17,0,[12,41,0]],r(h0)],RB0=[0,[17,0,0],r(z)],jB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GB0=r(Zc),MB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BB0=[0,[17,0,0],r(z)],qB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],UB0=r(Xr),HB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],XB0=r(tr),YB0=r(Z0),VB0=r(nr),zB0=[0,[17,0,0],r(z)],KB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],WB0=[0,[15,0],r(C0)],JB0=r("Flow_ast.Statement.DeclareModule.ES"),$B0=r("Flow_ast.Statement.DeclareModule.CommonJS"),ZB0=[0,[15,0],r(C0)],QB0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ ")],rq0=[0,[17,0,[12,41,0]],r(h0)],eq0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule.Literal@ ")],nq0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],tq0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],uq0=[0,[17,0,[12,41,0]],r(h0)],iq0=[0,[17,0,[12,41,0]],r(h0)],fq0=[0,[15,0],r(C0)],xq0=r(Yr),aq0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],oq0=r("Flow_ast.Statement.DeclareFunction.id"),cq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sq0=[0,[17,0,0],r(z)],vq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lq0=r(rs),bq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pq0=[0,[17,0,0],r(z)],mq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_q0=r(Qu),yq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dq0=r(tr),hq0=r(Z0),kq0=r(nr),wq0=[0,[17,0,0],r(z)],Eq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Sq0=r(Xr),gq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Fq0=r(tr),Tq0=r(Z0),Oq0=r(nr),Iq0=[0,[17,0,0],r(z)],Aq0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Nq0=[0,[15,0],r(C0)],Cq0=r(Yr),Pq0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Dq0=r("Flow_ast.Statement.DeclareVariable.id"),Lq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rq0=[0,[17,0,0],r(z)],jq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gq0=r(rs),Mq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bq0=[0,[17,0,0],r(z)],qq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uq0=r(Xr),Hq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xq0=r(tr),Yq0=r(Z0),Vq0=r(nr),zq0=[0,[17,0,0],r(z)],Kq0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Wq0=[0,[15,0],r(C0)],Jq0=r(Yr),$q0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Zq0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Qq0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],rU0=[0,[17,0,[12,41,0]],r(h0)],eU0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],nU0=r("Flow_ast.Statement.DeclareClass.id"),tU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uU0=[0,[17,0,0],r(z)],iU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fU0=r(sv),xU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],aU0=r(tr),oU0=r(Z0),cU0=r(nr),sU0=[0,[17,0,0],r(z)],vU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lU0=r(Wn),bU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],mU0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],_U0=[0,[17,0,[12,41,0]],r(h0)],yU0=[0,[17,0,0],r(z)],dU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hU0=r(C7),kU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wU0=r(tr),EU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],SU0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],gU0=[0,[17,0,[12,41,0]],r(h0)],FU0=r(Z0),TU0=r(nr),OU0=[0,[17,0,0],r(z)],IU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],AU0=r(Vy),NU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CU0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],PU0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],DU0=[0,[17,0,0],r(z)],LU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RU0=r(gs),jU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GU0=r(tr),MU0=r(Z0),BU0=r(nr),qU0=[0,[17,0,0],r(z)],UU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HU0=r(Xr),XU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YU0=r(tr),VU0=r(Z0),zU0=r(nr),KU0=[0,[17,0,0],r(z)],WU0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],JU0=[0,[15,0],r(C0)],$U0=r(Yr),ZU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],QU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],rH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],eH0=[0,[17,0,[12,41,0]],r(h0)],nH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],tH0=r("Flow_ast.Statement.Interface.id"),uH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iH0=[0,[17,0,0],r(z)],fH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xH0=r(sv),aH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oH0=r(tr),cH0=r(Z0),sH0=r(nr),vH0=[0,[17,0,0],r(z)],lH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bH0=r(C7),pH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],_H0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],yH0=[0,[17,0,0],r(z)],dH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hH0=r(Wn),kH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wH0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],EH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],SH0=[0,[17,0,[12,41,0]],r(h0)],gH0=[0,[17,0,0],r(z)],FH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TH0=r(Xr),OH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IH0=r(tr),AH0=r(Z0),NH0=r(nr),CH0=[0,[17,0,0],r(z)],PH0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],DH0=[0,[15,0],r(C0)],LH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.BooleanBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ ")],RH0=[0,[17,0,[12,41,0]],r(h0)],jH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.NumberBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ ")],GH0=[0,[17,0,[12,41,0]],r(h0)],MH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ ")],BH0=[0,[17,0,[12,41,0]],r(h0)],qH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.SymbolBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ ")],UH0=[0,[17,0,[12,41,0]],r(h0)],HH0=[0,[15,0],r(C0)],XH0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],YH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],VH0=[0,[17,0,[12,41,0]],r(h0)],zH0=[0,[15,0],r(C0)],KH0=r(Yr),WH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],JH0=r("Flow_ast.Statement.EnumDeclaration.id"),$H0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZH0=[0,[17,0,0],r(z)],QH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rX0=r(Wn),eX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nX0=[0,[17,0,0],r(z)],tX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uX0=r(Xr),iX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fX0=r(tr),xX0=r(Z0),aX0=r(nr),oX0=[0,[17,0,0],r(z)],cX0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sX0=[0,[15,0],r(C0)],vX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],_X0=r("Flow_ast.Statement.EnumDeclaration.SymbolBody.members"),yX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],hX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],kX0=[0,[17,0,0],r(z)],wX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EX0=r(E4),SX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gX0=[0,[9,0,0],r(An)],FX0=[0,[17,0,0],r(z)],TX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],OX0=r(Xr),IX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],AX0=r(tr),NX0=r(Z0),CX0=r(nr),PX0=[0,[17,0,0],r(z)],DX0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],LX0=[0,[15,0],r(C0)],RX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GX0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ ")],MX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],BX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],qX0=[0,[17,0,[12,41,0]],r(h0)],UX0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody.Initialized"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ ")],HX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],XX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],YX0=[0,[17,0,[12,41,0]],r(h0)],VX0=[0,[15,0],r(C0)],zX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],WX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],JX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],$X0=r("Flow_ast.Statement.EnumDeclaration.StringBody.members"),ZX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QX0=[0,[17,0,0],r(z)],rY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eY0=r(Ik),nY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tY0=[0,[9,0,0],r(An)],uY0=[0,[17,0,0],r(z)],iY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fY0=r(E4),xY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],aY0=[0,[9,0,0],r(An)],oY0=[0,[17,0,0],r(z)],cY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sY0=r(Xr),vY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lY0=r(tr),bY0=r(Z0),pY0=r(nr),mY0=[0,[17,0,0],r(z)],_Y0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],yY0=[0,[15,0],r(C0)],dY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],kY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],wY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],SY0=r("Flow_ast.Statement.EnumDeclaration.NumberBody.members"),gY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],TY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],OY0=[0,[17,0,0],r(z)],IY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],AY0=r(Ik),NY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CY0=[0,[9,0,0],r(An)],PY0=[0,[17,0,0],r(z)],DY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],LY0=r(E4),RY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jY0=[0,[9,0,0],r(An)],GY0=[0,[17,0,0],r(z)],MY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BY0=r(Xr),qY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UY0=r(tr),HY0=r(Z0),XY0=r(nr),YY0=[0,[17,0,0],r(z)],VY0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zY0=[0,[15,0],r(C0)],KY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],WY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],JY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],$Y0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ZY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],QY0=r("Flow_ast.Statement.EnumDeclaration.BooleanBody.members"),rV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],nV0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],tV0=[0,[17,0,0],r(z)],uV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],iV0=r(Ik),fV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xV0=[0,[9,0,0],r(An)],aV0=[0,[17,0,0],r(z)],oV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cV0=r(E4),sV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vV0=[0,[9,0,0],r(An)],lV0=[0,[17,0,0],r(z)],bV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pV0=r(Xr),mV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_V0=r(tr),yV0=r(Z0),dV0=r(nr),hV0=[0,[17,0,0],r(z)],kV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],wV0=[0,[15,0],r(C0)],EV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],SV0=r("Flow_ast.Statement.EnumDeclaration.InitializedMember.id"),gV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FV0=[0,[17,0,0],r(z)],TV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],OV0=r(ji),IV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],AV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],NV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],CV0=[0,[17,0,[12,41,0]],r(h0)],PV0=[0,[17,0,0],r(z)],DV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],LV0=[0,[15,0],r(C0)],RV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],jV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],GV0=[0,[17,0,[12,41,0]],r(h0)],MV0=[0,[15,0],r(C0)],BV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],qV0=r("Flow_ast.Statement.EnumDeclaration.DefaultedMember.id"),UV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HV0=[0,[17,0,0],r(z)],XV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],YV0=[0,[15,0],r(C0)],VV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],zV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],KV0=[0,[17,0,[12,41,0]],r(h0)],WV0=[0,[15,0],r(C0)],JV0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf.LeftDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ ")],$V0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ZV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],QV0=[0,[17,0,[12,41,0]],r(h0)],rz0=[0,[17,0,[12,41,0]],r(h0)],ez0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf.LeftPattern"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ ")],nz0=[0,[17,0,[12,41,0]],r(h0)],tz0=[0,[15,0],r(C0)],uz0=r(Yr),iz0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],fz0=r("Flow_ast.Statement.ForOf.left"),xz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],az0=[0,[17,0,0],r(z)],oz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cz0=r(Nu),sz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vz0=[0,[17,0,0],r(z)],lz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bz0=r(Wn),pz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mz0=[0,[17,0,0],r(z)],_z0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yz0=r(wx),dz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hz0=[0,[9,0,0],r(An)],kz0=[0,[17,0,0],r(z)],wz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ez0=r(Xr),Sz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gz0=r(tr),Fz0=r(Z0),Tz0=r(nr),Oz0=[0,[17,0,0],r(z)],Iz0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Az0=[0,[15,0],r(C0)],Nz0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn.LeftDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ ")],Cz0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Pz0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Dz0=[0,[17,0,[12,41,0]],r(h0)],Lz0=[0,[17,0,[12,41,0]],r(h0)],Rz0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn.LeftPattern"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ ")],jz0=[0,[17,0,[12,41,0]],r(h0)],Gz0=[0,[15,0],r(C0)],Mz0=r(Yr),Bz0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],qz0=r("Flow_ast.Statement.ForIn.left"),Uz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hz0=[0,[17,0,0],r(z)],Xz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yz0=r(Nu),Vz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zz0=[0,[17,0,0],r(z)],Kz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wz0=r(Wn),Jz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$z0=[0,[17,0,0],r(z)],Zz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qz0=r(j8),rK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eK0=[0,[9,0,0],r(An)],nK0=[0,[17,0,0],r(z)],tK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uK0=r(Xr),iK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fK0=r(tr),xK0=r(Z0),aK0=r(nr),oK0=[0,[17,0,0],r(z)],cK0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sK0=[0,[15,0],r(C0)],vK0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For.InitDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For.InitDeclaration@ ")],lK0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],bK0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],pK0=[0,[17,0,[12,41,0]],r(h0)],mK0=[0,[17,0,[12,41,0]],r(h0)],_K0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For.InitExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For.InitExpression@ ")],yK0=[0,[17,0,[12,41,0]],r(h0)],dK0=[0,[15,0],r(C0)],hK0=r(Yr),kK0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],wK0=r("Flow_ast.Statement.For.init"),EK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],SK0=r(tr),gK0=r(Z0),FK0=r(nr),TK0=[0,[17,0,0],r(z)],OK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IK0=r(Ts),AK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],NK0=r(tr),CK0=r(Z0),PK0=r(nr),DK0=[0,[17,0,0],r(z)],LK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RK0=r(sU),jK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GK0=r(tr),MK0=r(Z0),BK0=r(nr),qK0=[0,[17,0,0],r(z)],UK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HK0=r(Wn),XK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YK0=[0,[17,0,0],r(z)],VK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zK0=r(Xr),KK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WK0=r(tr),JK0=r(Z0),$K0=r(nr),ZK0=[0,[17,0,0],r(z)],QK0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],rW0=[0,[15,0],r(C0)],eW0=r(Yr),nW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],tW0=r("Flow_ast.Statement.DoWhile.body"),uW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iW0=[0,[17,0,0],r(z)],fW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xW0=r(Ts),aW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oW0=[0,[17,0,0],r(z)],cW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sW0=r(Xr),vW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lW0=r(tr),bW0=r(Z0),pW0=r(nr),mW0=[0,[17,0,0],r(z)],_W0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],yW0=[0,[15,0],r(C0)],dW0=r(Yr),hW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],kW0=r("Flow_ast.Statement.While.test"),wW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EW0=[0,[17,0,0],r(z)],SW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gW0=r(Wn),FW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],TW0=[0,[17,0,0],r(z)],OW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IW0=r(Xr),AW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],NW0=r(tr),CW0=r(Z0),PW0=r(nr),DW0=[0,[17,0,0],r(z)],LW0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],RW0=[0,[15,0],r(C0)],jW0=r("Flow_ast.Statement.VariableDeclaration.Var"),GW0=r("Flow_ast.Statement.VariableDeclaration.Let"),MW0=r("Flow_ast.Statement.VariableDeclaration.Const"),BW0=[0,[15,0],r(C0)],qW0=r(Yr),UW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],XW0=r("Flow_ast.Statement.VariableDeclaration.declarations"),YW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],VW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],zW0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],KW0=[0,[17,0,0],r(z)],WW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JW0=r(Zc),$W0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZW0=[0,[17,0,0],r(z)],QW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rJ0=r(Xr),eJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nJ0=r(tr),tJ0=r(Z0),uJ0=r(nr),iJ0=[0,[17,0,0],r(z)],fJ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],xJ0=[0,[15,0],r(C0)],aJ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],oJ0=r("Flow_ast.Statement.VariableDeclaration.Declarator.id"),cJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sJ0=[0,[17,0,0],r(z)],vJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lJ0=r(ji),bJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pJ0=r(tr),mJ0=r(Z0),_J0=r(nr),yJ0=[0,[17,0,0],r(z)],dJ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],hJ0=[0,[15,0],r(C0)],kJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],wJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],EJ0=[0,[17,0,[12,41,0]],r(h0)],SJ0=[0,[15,0],r(C0)],gJ0=r(Yr),FJ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],TJ0=r("Flow_ast.Statement.Try.block"),OJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],AJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],NJ0=[0,[17,0,[12,41,0]],r(h0)],CJ0=[0,[17,0,0],r(z)],PJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DJ0=r(XU),LJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RJ0=r(tr),jJ0=r(Z0),GJ0=r(nr),MJ0=[0,[17,0,0],r(z)],BJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qJ0=r(jH),UJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HJ0=r(tr),XJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],YJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],VJ0=[0,[17,0,[12,41,0]],r(h0)],zJ0=r(Z0),KJ0=r(nr),WJ0=[0,[17,0,0],r(z)],JJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$J0=r(Xr),ZJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QJ0=r(tr),r$0=r(Z0),e$0=r(nr),n$0=[0,[17,0,0],r(z)],t$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],u$0=[0,[15,0],r(C0)],i$0=r(Yr),f$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],x$0=r("Flow_ast.Statement.Try.CatchClause.param"),a$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],o$0=r(tr),c$0=r(Z0),s$0=r(nr),v$0=[0,[17,0,0],r(z)],l$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],b$0=r(Wn),p$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],m$0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],_$0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],y$0=[0,[17,0,[12,41,0]],r(h0)],d$0=[0,[17,0,0],r(z)],h$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],k$0=r(Xr),w$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],E$0=r(tr),S$0=r(Z0),g$0=r(nr),F$0=[0,[17,0,0],r(z)],T$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],O$0=[0,[15,0],r(C0)],I$0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],A$0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],N$0=[0,[17,0,[12,41,0]],r(h0)],C$0=[0,[15,0],r(C0)],P$0=r(Yr),D$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],L$0=r("Flow_ast.Statement.Throw.argument"),R$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],j$0=[0,[17,0,0],r(z)],G$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],M$0=r(Xr),B$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],q$0=r(tr),U$0=r(Z0),H$0=r(nr),X$0=[0,[17,0,0],r(z)],Y$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],V$0=[0,[15,0],r(C0)],z$0=r(Yr),K$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],W$0=r("Flow_ast.Statement.Return.argument"),J$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$$0=r(tr),Z$0=r(Z0),Q$0=r(nr),rZ0=[0,[17,0,0],r(z)],eZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nZ0=r(Xr),tZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uZ0=r(tr),iZ0=r(Z0),fZ0=r(nr),xZ0=[0,[17,0,0],r(z)],aZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],oZ0=r("return_out"),cZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sZ0=[0,[17,0,0],r(z)],vZ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],lZ0=[0,[15,0],r(C0)],bZ0=r(Yr),pZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],_Z0=r("Flow_ast.Statement.Switch.discriminant"),yZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dZ0=[0,[17,0,0],r(z)],hZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],kZ0=r(uY),wZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],SZ0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],gZ0=[0,[17,0,0],r(z)],FZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TZ0=r(Xr),OZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IZ0=r(tr),AZ0=r(Z0),NZ0=r(nr),CZ0=[0,[17,0,0],r(z)],PZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DZ0=r("exhaustive_out"),LZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RZ0=[0,[17,0,0],r(z)],jZ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],GZ0=[0,[15,0],r(C0)],MZ0=r(Yr),BZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],UZ0=r("Flow_ast.Statement.Switch.Case.test"),HZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],XZ0=r(tr),YZ0=r(Z0),VZ0=r(nr),zZ0=[0,[17,0,0],r(z)],KZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],WZ0=r(kv),JZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$Z0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ZZ0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],QZ0=[0,[17,0,0],r(z)],rQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eQ0=r(Xr),nQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tQ0=r(tr),uQ0=r(Z0),iQ0=r(nr),fQ0=[0,[17,0,0],r(z)],xQ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aQ0=[0,[15,0],r(C0)],oQ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],cQ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],sQ0=[0,[17,0,[12,41,0]],r(h0)],vQ0=[0,[15,0],r(C0)],lQ0=r(Yr),bQ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],pQ0=r("Flow_ast.Statement.OpaqueType.id"),mQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_Q0=[0,[17,0,0],r(z)],yQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dQ0=r(sv),hQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kQ0=r(tr),wQ0=r(Z0),EQ0=r(nr),SQ0=[0,[17,0,0],r(z)],gQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FQ0=r(kX),TQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OQ0=r(tr),IQ0=r(Z0),AQ0=r(nr),NQ0=[0,[17,0,0],r(z)],CQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PQ0=r(IX),DQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LQ0=r(tr),RQ0=r(Z0),jQ0=r(nr),GQ0=[0,[17,0,0],r(z)],MQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BQ0=r(Xr),qQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UQ0=r(tr),HQ0=r(Z0),XQ0=r(nr),YQ0=[0,[17,0,0],r(z)],VQ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zQ0=[0,[15,0],r(C0)],KQ0=r(Yr),WQ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],JQ0=r("Flow_ast.Statement.TypeAlias.id"),$Q0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZQ0=[0,[17,0,0],r(z)],QQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],r0r=r(sv),e0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],n0r=r(tr),t0r=r(Z0),u0r=r(nr),i0r=[0,[17,0,0],r(z)],f0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x0r=r(Nu),a0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],o0r=[0,[17,0,0],r(z)],c0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s0r=r(Xr),v0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l0r=r(tr),b0r=r(Z0),p0r=r(nr),m0r=[0,[17,0,0],r(z)],_0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],y0r=[0,[15,0],r(C0)],d0r=r(Yr),h0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],k0r=r("Flow_ast.Statement.With._object"),w0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],E0r=[0,[17,0,0],r(z)],S0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],g0r=r(Wn),F0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],T0r=[0,[17,0,0],r(z)],O0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],I0r=r(Xr),A0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],N0r=r(tr),C0r=r(Z0),P0r=r(nr),D0r=[0,[17,0,0],r(z)],L0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],R0r=[0,[15,0],r(C0)],j0r=r(Yr),G0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],M0r=r("Flow_ast.Statement.Debugger.comments"),B0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],q0r=r(tr),U0r=r(Z0),H0r=r(nr),X0r=[0,[17,0,0],r(z)],Y0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],V0r=[0,[15,0],r(C0)],z0r=r(Yr),K0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],W0r=r("Flow_ast.Statement.Continue.label"),J0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$0r=r(tr),Z0r=r(Z0),Q0r=r(nr),rrr=[0,[17,0,0],r(z)],err=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nrr=r(Xr),trr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],urr=r(tr),irr=r(Z0),frr=r(nr),xrr=[0,[17,0,0],r(z)],arr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],orr=[0,[15,0],r(C0)],crr=r(Yr),srr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vrr=r("Flow_ast.Statement.Break.label"),lrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],brr=r(tr),prr=r(Z0),mrr=r(nr),_rr=[0,[17,0,0],r(z)],yrr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],drr=r(Xr),hrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],krr=r(tr),wrr=r(Z0),Err=r(nr),Srr=[0,[17,0,0],r(z)],grr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Frr=[0,[15,0],r(C0)],Trr=r(Yr),Orr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Irr=r("Flow_ast.Statement.Labeled.label"),Arr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nrr=[0,[17,0,0],r(z)],Crr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Prr=r(Wn),Drr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lrr=[0,[17,0,0],r(z)],Rrr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jrr=r(Xr),Grr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mrr=r(tr),Brr=r(Z0),qrr=r(nr),Urr=[0,[17,0,0],r(z)],Hrr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Xrr=[0,[15,0],r(C0)],Yrr=r(Yr),Vrr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],zrr=r("Flow_ast.Statement.If.test"),Krr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wrr=[0,[17,0,0],r(z)],Jrr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$rr=r(kv),Zrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qrr=[0,[17,0,0],r(z)],rer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eer=r(_3),ner=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ter=r(tr),uer=r(Z0),ier=r(nr),fer=[0,[17,0,0],r(z)],xer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aer=r(Xr),oer=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cer=r(tr),ser=r(Z0),ver=r(nr),ler=[0,[17,0,0],r(z)],ber=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],per=[0,[15,0],r(C0)],mer=r(Yr),_er=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],yer=r("Flow_ast.Statement.If.Alternate.body"),der=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],her=[0,[17,0,0],r(z)],ker=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wer=r(Xr),Eer=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ser=r(tr),ger=r(Z0),Fer=r(nr),Ter=[0,[17,0,0],r(z)],Oer=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ier=[0,[15,0],r(C0)],Aer=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Ner=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Cer=[0,[17,0,[12,41,0]],r(h0)],Per=[0,[15,0],r(C0)],Der=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ler=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Rer=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],jer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ger=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Mer=r("Flow_ast.Statement.Block.body"),Ber=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qer=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Uer=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Her=[0,[17,0,0],r(z)],Xer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yer=r(Xr),Ver=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zer=r(tr),Ker=r(Z0),Wer=r(nr),Jer=[0,[17,0,0],r(z)],$er=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Zer=[0,[15,0],r(C0)],Qer=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Predicate.Declared"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Predicate.Declared@ ")],rnr=[0,[17,0,[12,41,0]],r(h0)],enr=r("Flow_ast.Type.Predicate.Inferred"),nnr=[0,[15,0],r(C0)],tnr=r(Yr),unr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],inr=r("Flow_ast.Type.Predicate.kind"),fnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xnr=[0,[17,0,0],r(z)],anr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],onr=r(Xr),cnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],snr=r(tr),vnr=r(Z0),lnr=r(nr),bnr=[0,[17,0,0],r(z)],pnr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],mnr=[0,[15,0],r(C0)],_nr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ynr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],dnr=[0,[17,0,[12,41,0]],r(h0)],hnr=[0,[15,0],r(C0)],knr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wnr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Enr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Snr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gnr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fnr=r("Flow_ast.Type.TypeArgs.arguments"),Tnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Onr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Inr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Anr=[0,[17,0,0],r(z)],Nnr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Cnr=r(Xr),Pnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dnr=r(tr),Lnr=r(Z0),Rnr=r(nr),jnr=[0,[17,0,0],r(z)],Gnr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Mnr=[0,[15,0],r(C0)],Bnr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],qnr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Unr=[0,[17,0,[12,41,0]],r(h0)],Hnr=[0,[15,0],r(C0)],Xnr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ynr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Vnr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],znr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Knr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Wnr=r("Flow_ast.Type.TypeParams.params"),Jnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$nr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Znr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Qnr=[0,[17,0,0],r(z)],rtr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],etr=r(Xr),ntr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ttr=r(tr),utr=r(Z0),itr=r(nr),ftr=[0,[17,0,0],r(z)],xtr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],atr=[0,[15,0],r(C0)],otr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ctr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],str=[0,[17,0,[12,41,0]],r(h0)],vtr=[0,[15,0],r(C0)],ltr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],btr=r("Flow_ast.Type.TypeParam.name"),ptr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mtr=[0,[17,0,0],r(z)],_tr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ytr=r(MU),dtr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],htr=[0,[17,0,0],r(z)],ktr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wtr=r(ou),Etr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Str=r(tr),gtr=r(Z0),Ftr=r(nr),Ttr=[0,[17,0,0],r(z)],Otr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Itr=r(mi),Atr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ntr=r(tr),Ctr=r(Z0),Ptr=r(nr),Dtr=[0,[17,0,0],r(z)],Ltr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Rtr=[0,[15,0],r(C0)],jtr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Gtr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Mtr=[0,[17,0,[12,41,0]],r(h0)],Btr=[0,[15,0],r(C0)],qtr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Missing"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Missing@ ")],Utr=[0,[17,0,[12,41,0]],r(h0)],Htr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Available"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Available@ ")],Xtr=[0,[17,0,[12,41,0]],r(h0)],Ytr=[0,[15,0],r(C0)],Vtr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ztr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ktr=[0,[17,0,[12,41,0]],r(h0)],Wtr=[0,[15,0],r(C0)],Jtr=r(Yr),$tr=r(Yr),Ztr=r(Yr),Qtr=r(Yr),rur=r(Yr),eur=r(Yr),nur=r(Yr),tur=r(Yr),uur=r(Yr),iur=r(Yr),fur=r(Yr),xur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Any"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Any@ ")],aur=r(tr),our=r(Z0),cur=r(nr),sur=[0,[17,0,[12,41,0]],r(h0)],vur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Mixed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Mixed@ ")],lur=r(tr),bur=r(Z0),pur=r(nr),mur=[0,[17,0,[12,41,0]],r(h0)],_ur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Empty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Empty@ ")],yur=r(tr),dur=r(Z0),hur=r(nr),kur=[0,[17,0,[12,41,0]],r(h0)],wur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Void"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Void@ ")],Eur=r(tr),Sur=r(Z0),gur=r(nr),Fur=[0,[17,0,[12,41,0]],r(h0)],Tur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Null"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Null@ ")],Our=r(tr),Iur=r(Z0),Aur=r(nr),Nur=[0,[17,0,[12,41,0]],r(h0)],Cur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Number"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Number@ ")],Pur=r(tr),Dur=r(Z0),Lur=r(nr),Rur=[0,[17,0,[12,41,0]],r(h0)],jur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BigInt"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BigInt@ ")],Gur=r(tr),Mur=r(Z0),Bur=r(nr),qur=[0,[17,0,[12,41,0]],r(h0)],Uur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.String"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.String@ ")],Hur=r(tr),Xur=r(Z0),Yur=r(nr),Vur=[0,[17,0,[12,41,0]],r(h0)],zur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Boolean"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Boolean@ ")],Kur=r(tr),Wur=r(Z0),Jur=r(nr),$ur=[0,[17,0,[12,41,0]],r(h0)],Zur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Symbol"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Symbol@ ")],Qur=r(tr),r7r=r(Z0),e7r=r(nr),n7r=[0,[17,0,[12,41,0]],r(h0)],t7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Exists"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Exists@ ")],u7r=r(tr),i7r=r(Z0),f7r=r(nr),x7r=[0,[17,0,[12,41,0]],r(h0)],a7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Nullable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Nullable@ ")],o7r=[0,[17,0,[12,41,0]],r(h0)],c7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Function@ ")],s7r=[0,[17,0,[12,41,0]],r(h0)],v7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object@ ")],l7r=[0,[17,0,[12,41,0]],r(h0)],b7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Interface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Interface@ ")],p7r=[0,[17,0,[12,41,0]],r(h0)],m7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Array@ ")],_7r=[0,[17,0,[12,41,0]],r(h0)],y7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic@ ")],d7r=[0,[17,0,[12,41,0]],r(h0)],h7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.IndexedAccess"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.IndexedAccess@ ")],k7r=[0,[17,0,[12,41,0]],r(h0)],w7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.OptionalIndexedAccess"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.OptionalIndexedAccess@ ")],E7r=[0,[17,0,[12,41,0]],r(h0)],S7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Union"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Union@ ")],g7r=[0,[17,0,[12,41,0]],r(h0)],F7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Intersection"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Intersection@ ")],T7r=[0,[17,0,[12,41,0]],r(h0)],O7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof@ ")],I7r=[0,[17,0,[12,41,0]],r(h0)],A7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Tuple"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Tuple@ ")],N7r=[0,[17,0,[12,41,0]],r(h0)],C7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.StringLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.StringLiteral@ ")],P7r=[0,[17,0,[12,41,0]],r(h0)],D7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.NumberLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.NumberLiteral@ ")],L7r=[0,[17,0,[12,41,0]],r(h0)],R7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BigIntLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BigIntLiteral@ ")],j7r=[0,[17,0,[12,41,0]],r(h0)],G7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BooleanLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BooleanLiteral@ ")],M7r=[0,[17,0,[12,41,0]],r(h0)],B7r=[0,[15,0],r(C0)],q7r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],U7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],H7r=[0,[17,0,[12,41,0]],r(h0)],X7r=[0,[15,0],r(C0)],Y7r=r(Yr),V7r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],z7r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],K7r=r("Flow_ast.Type.Intersection.types"),W7r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],J7r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Z7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Q7r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],rir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],eir=[0,[17,0,[12,41,0]],r(h0)],nir=[0,[17,0,0],r(z)],tir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uir=r(Xr),iir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fir=r(tr),xir=r(Z0),air=r(nr),oir=[0,[17,0,0],r(z)],cir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sir=[0,[15,0],r(C0)],vir=r(Yr),lir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],pir=r("Flow_ast.Type.Union.types"),mir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_ir=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],yir=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],dir=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],hir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],kir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],wir=[0,[17,0,[12,41,0]],r(h0)],Eir=[0,[17,0,0],r(z)],Sir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gir=r(Xr),Fir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Tir=r(tr),Oir=r(Z0),Iir=r(nr),Air=[0,[17,0,0],r(z)],Nir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Cir=[0,[15,0],r(C0)],Pir=r(Yr),Dir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Lir=r("Flow_ast.Type.Array.argument"),Rir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jir=[0,[17,0,0],r(z)],Gir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Mir=r(Xr),Bir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qir=r(tr),Uir=r(Z0),Hir=r(nr),Xir=[0,[17,0,0],r(z)],Yir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Vir=[0,[15,0],r(C0)],zir=r(Yr),Kir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Jir=r("Flow_ast.Type.Tuple.types"),$ir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Qir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],rfr=[0,[17,0,0],r(z)],efr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nfr=r(Xr),tfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ufr=r(tr),ifr=r(Z0),ffr=r(nr),xfr=[0,[17,0,0],r(z)],afr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ofr=[0,[15,0],r(C0)],cfr=r(Yr),sfr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vfr=r("Flow_ast.Type.Typeof.argument"),lfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bfr=[0,[17,0,0],r(z)],pfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mfr=r(Xr),_fr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yfr=r(tr),dfr=r(Z0),hfr=r(nr),kfr=[0,[17,0,0],r(z)],wfr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Efr=[0,[15,0],r(C0)],Sfr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],gfr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ffr=[0,[17,0,[12,41,0]],r(h0)],Tfr=[0,[15,0],r(C0)],Ofr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Ifr=r("Flow_ast.Type.Typeof.Target.qualification"),Afr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nfr=[0,[17,0,0],r(z)],Cfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Pfr=r(mt),Dfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lfr=[0,[17,0,0],r(z)],Rfr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],jfr=[0,[15,0],r(C0)],Gfr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof.Target.Unqualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof.Target.Unqualified@ ")],Mfr=[0,[17,0,[12,41,0]],r(h0)],Bfr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof.Target.Qualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof.Target.Qualified@ ")],qfr=[0,[17,0,[12,41,0]],r(h0)],Ufr=[0,[15,0],r(C0)],Hfr=r(Yr),Xfr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Yfr=r("Flow_ast.Type.Nullable.argument"),Vfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zfr=[0,[17,0,0],r(z)],Kfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wfr=r(Xr),Jfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$fr=r(tr),Zfr=r(Z0),Qfr=r(nr),rxr=[0,[17,0,0],r(z)],exr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],nxr=[0,[15,0],r(C0)],txr=r(Yr),uxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ixr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],fxr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],xxr=[0,[17,0,[12,41,0]],r(h0)],axr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],oxr=r("Flow_ast.Type.Interface.body"),cxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sxr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],vxr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],lxr=[0,[17,0,[12,41,0]],r(h0)],bxr=[0,[17,0,0],r(z)],pxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mxr=r(C7),_xr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],dxr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],hxr=[0,[17,0,0],r(z)],kxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wxr=r(Xr),Exr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sxr=r(tr),gxr=r(Z0),Fxr=r(nr),Txr=[0,[17,0,0],r(z)],Oxr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ixr=[0,[15,0],r(C0)],Axr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property@ ")],Nxr=[0,[17,0,[12,41,0]],r(h0)],Cxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.SpreadProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.SpreadProperty@ ")],Pxr=[0,[17,0,[12,41,0]],r(h0)],Dxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Indexer"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Indexer@ ")],Lxr=[0,[17,0,[12,41,0]],r(h0)],Rxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.CallProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.CallProperty@ ")],jxr=[0,[17,0,[12,41,0]],r(h0)],Gxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.InternalSlot"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.InternalSlot@ ")],Mxr=[0,[17,0,[12,41,0]],r(h0)],Bxr=[0,[15,0],r(C0)],qxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Hxr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Xxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Vxr=r("Flow_ast.Type.Object.exact"),zxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kxr=[0,[9,0,0],r(An)],Wxr=[0,[17,0,0],r(z)],Jxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$xr=r(HY),Zxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qxr=[0,[9,0,0],r(An)],rar=[0,[17,0,0],r(z)],ear=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nar=r(X4),tar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uar=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],iar=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],far=[0,[17,0,0],r(z)],xar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aar=r(Xr),oar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],car=r(tr),sar=r(Z0),lar=r(nr),bar=[0,[17,0,0],r(z)],par=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],mar=[0,[15,0],r(C0)],_ar=r(Yr),yar=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],dar=r("Flow_ast.Type.Object.InternalSlot.id"),har=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kar=[0,[17,0,0],r(z)],war=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ear=r(Bn),Sar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gar=[0,[17,0,0],r(z)],Far=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tar=r(Bu),Oar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Iar=[0,[9,0,0],r(An)],Aar=[0,[17,0,0],r(z)],Nar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Car=r(eu),Par=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dar=[0,[9,0,0],r(An)],Lar=[0,[17,0,0],r(z)],Rar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jar=r(xU),Gar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mar=[0,[9,0,0],r(An)],Bar=[0,[17,0,0],r(z)],qar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uar=r(Xr),Har=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xar=r(tr),Yar=r(Z0),Var=r(nr),zar=[0,[17,0,0],r(z)],Kar=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],War=[0,[15,0],r(C0)],Jar=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$ar=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Zar=[0,[17,0,[12,41,0]],r(h0)],Qar=[0,[15,0],r(C0)],ror=r(Yr),eor=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],nor=r("Flow_ast.Type.Object.CallProperty.value"),tor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ior=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],xor=[0,[17,0,[12,41,0]],r(h0)],aor=[0,[17,0,0],r(z)],oor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cor=r(eu),sor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vor=[0,[9,0,0],r(An)],lor=[0,[17,0,0],r(z)],bor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],por=r(Xr),mor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_or=r(tr),yor=r(Z0),dor=r(nr),hor=[0,[17,0,0],r(z)],kor=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],wor=[0,[15,0],r(C0)],Eor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Sor=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],gor=[0,[17,0,[12,41,0]],r(h0)],For=[0,[15,0],r(C0)],Tor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Oor=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ior=[0,[17,0,[12,41,0]],r(h0)],Aor=[0,[15,0],r(C0)],Nor=r(Yr),Cor=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Por=r("Flow_ast.Type.Object.Indexer.id"),Dor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lor=r(tr),Ror=r(Z0),jor=r(nr),Gor=[0,[17,0,0],r(z)],Mor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Bor=r(ui),qor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Uor=[0,[17,0,0],r(z)],Hor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Xor=r(Bn),Yor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Vor=[0,[17,0,0],r(z)],zor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kor=r(eu),Wor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jor=[0,[9,0,0],r(An)],$or=[0,[17,0,0],r(z)],Zor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qor=r(ou),rcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ecr=r(tr),ncr=r(Z0),tcr=r(nr),ucr=[0,[17,0,0],r(z)],icr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fcr=r(Xr),xcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],acr=r(tr),ocr=r(Z0),ccr=r(nr),scr=[0,[17,0,0],r(z)],vcr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],lcr=[0,[15,0],r(C0)],bcr=r(Yr),pcr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],mcr=r("Flow_ast.Type.Object.SpreadProperty.argument"),_cr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ycr=[0,[17,0,0],r(z)],dcr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hcr=r(Xr),kcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wcr=r(tr),Ecr=r(Z0),Scr=r(nr),gcr=[0,[17,0,0],r(z)],Fcr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Tcr=[0,[15,0],r(C0)],Ocr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Icr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Acr=[0,[17,0,[12,41,0]],r(h0)],Ncr=[0,[15,0],r(C0)],Ccr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Init"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Init@ ")],Pcr=[0,[17,0,[12,41,0]],r(h0)],Dcr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Get"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Get@ ")],Lcr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Rcr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],jcr=[0,[17,0,[12,41,0]],r(h0)],Gcr=[0,[17,0,[12,41,0]],r(h0)],Mcr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Set"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Set@ ")],Bcr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],qcr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ucr=[0,[17,0,[12,41,0]],r(h0)],Hcr=[0,[17,0,[12,41,0]],r(h0)],Xcr=[0,[15,0],r(C0)],Ycr=r(Yr),Vcr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],zcr=r("Flow_ast.Type.Object.Property.key"),Kcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wcr=[0,[17,0,0],r(z)],Jcr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$cr=r(Bn),Zcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qcr=[0,[17,0,0],r(z)],rsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],esr=r(Bu),nsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tsr=[0,[9,0,0],r(An)],usr=[0,[17,0,0],r(z)],isr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fsr=r(eu),xsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],asr=[0,[9,0,0],r(An)],osr=[0,[17,0,0],r(z)],csr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ssr=r(Y3),vsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lsr=[0,[9,0,0],r(An)],bsr=[0,[17,0,0],r(z)],psr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],msr=r(xU),_sr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ysr=[0,[9,0,0],r(An)],dsr=[0,[17,0,0],r(z)],hsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ksr=r(ou),wsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Esr=r(tr),Ssr=r(Z0),gsr=r(nr),Fsr=[0,[17,0,0],r(z)],Tsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Osr=r(Xr),Isr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Asr=r(tr),Nsr=r(Z0),Csr=r(nr),Psr=[0,[17,0,0],r(z)],Dsr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Lsr=[0,[15,0],r(C0)],Rsr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],jsr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Gsr=[0,[17,0,[12,41,0]],r(h0)],Msr=[0,[15,0],r(C0)],Bsr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],qsr=r("Flow_ast.Type.OptionalIndexedAccess.indexed_access"),Usr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hsr=[0,[17,0,0],r(z)],Xsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ysr=r(Bu),Vsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zsr=[0,[9,0,0],r(An)],Ksr=[0,[17,0,0],r(z)],Wsr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Jsr=[0,[15,0],r(C0)],$sr=r(Yr),Zsr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Qsr=r("Flow_ast.Type.IndexedAccess._object"),r1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],e1r=[0,[17,0,0],r(z)],n1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],t1r=r("index"),u1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],i1r=[0,[17,0,0],r(z)],f1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x1r=r(Xr),a1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],o1r=r(tr),c1r=r(Z0),s1r=r(nr),v1r=[0,[17,0,0],r(z)],l1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],b1r=[0,[15,0],r(C0)],p1r=r(Yr),m1r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],_1r=r("Flow_ast.Type.Generic.id"),y1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],d1r=[0,[17,0,0],r(z)],h1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],k1r=r(Z2),w1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],E1r=r(tr),S1r=r(Z0),g1r=r(nr),F1r=[0,[17,0,0],r(z)],T1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],O1r=r(Xr),I1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],A1r=r(tr),N1r=r(Z0),C1r=r(nr),P1r=[0,[17,0,0],r(z)],D1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],L1r=[0,[15,0],r(C0)],R1r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],j1r=r("Flow_ast.Type.Generic.Identifier.qualification"),G1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M1r=[0,[17,0,0],r(z)],B1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q1r=r(mt),U1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H1r=[0,[17,0,0],r(z)],X1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Y1r=[0,[15,0],r(C0)],V1r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],z1r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],K1r=[0,[17,0,[12,41,0]],r(h0)],W1r=[0,[15,0],r(C0)],J1r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic.Identifier.Unqualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ ")],$1r=[0,[17,0,[12,41,0]],r(h0)],Z1r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic.Identifier.Qualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ ")],Q1r=[0,[17,0,[12,41,0]],r(h0)],rvr=[0,[15,0],r(C0)],evr=r(Yr),nvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],tvr=r("Flow_ast.Type.Function.tparams"),uvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ivr=r(tr),fvr=r(Z0),xvr=r(nr),avr=[0,[17,0,0],r(z)],ovr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cvr=r(Ct),svr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vvr=[0,[17,0,0],r(z)],lvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bvr=r(Wu),pvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mvr=[0,[17,0,0],r(z)],_vr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yvr=r(Xr),dvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hvr=r(tr),kvr=r(Z0),wvr=r(nr),Evr=[0,[17,0,0],r(z)],Svr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],gvr=[0,[15,0],r(C0)],Fvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Ovr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Ivr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Avr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Nvr=r("Flow_ast.Type.Function.Params.this_"),Cvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Pvr=r(tr),Dvr=r(Z0),Lvr=r(nr),Rvr=[0,[17,0,0],r(z)],jvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gvr=r(Ct),Mvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],qvr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Uvr=[0,[17,0,0],r(z)],Hvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Xvr=r(ch),Yvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Vvr=r(tr),zvr=r(Z0),Kvr=r(nr),Wvr=[0,[17,0,0],r(z)],Jvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$vr=r(Xr),Zvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qvr=r(tr),r2r=r(Z0),e2r=r(nr),n2r=[0,[17,0,0],r(z)],t2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],u2r=[0,[15,0],r(C0)],i2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],f2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],x2r=[0,[17,0,[12,41,0]],r(h0)],a2r=[0,[15,0],r(C0)],o2r=r(Yr),c2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],s2r=r("Flow_ast.Type.Function.ThisParam.annot"),v2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l2r=[0,[17,0,0],r(z)],b2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],p2r=r(Xr),m2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_2r=r(tr),y2r=r(Z0),d2r=r(nr),h2r=[0,[17,0,0],r(z)],k2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],w2r=[0,[15,0],r(C0)],E2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],S2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],g2r=[0,[17,0,[12,41,0]],r(h0)],F2r=[0,[15,0],r(C0)],T2r=r(Yr),O2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],I2r=r("Flow_ast.Type.Function.RestParam.argument"),A2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],N2r=[0,[17,0,0],r(z)],C2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],P2r=r(Xr),D2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],L2r=r(tr),R2r=r(Z0),j2r=r(nr),G2r=[0,[17,0,0],r(z)],M2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],B2r=[0,[15,0],r(C0)],q2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],U2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],H2r=[0,[17,0,[12,41,0]],r(h0)],X2r=[0,[15,0],r(C0)],Y2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],V2r=r("Flow_ast.Type.Function.Param.name"),z2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K2r=r(tr),W2r=r(Z0),J2r=r(nr),$2r=[0,[17,0,0],r(z)],Z2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q2r=r(rs),rlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],elr=[0,[17,0,0],r(z)],nlr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tlr=r(Bu),ulr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ilr=[0,[9,0,0],r(An)],flr=[0,[17,0,0],r(z)],xlr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],alr=[0,[15,0],r(C0)],olr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],clr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],slr=[0,[17,0,[12,41,0]],r(h0)],vlr=[0,[15,0],r(C0)],llr=r(Yr),blr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],plr=r("Flow_ast.ComputedKey.expression"),mlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_lr=[0,[17,0,0],r(z)],ylr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dlr=r(Xr),hlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],klr=r(tr),wlr=r(Z0),Elr=r(nr),Slr=[0,[17,0,0],r(z)],glr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Flr=[0,[15,0],r(C0)],Tlr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Olr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ilr=[0,[17,0,[12,41,0]],r(h0)],Alr=[0,[15,0],r(C0)],Nlr=r(Yr),Clr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Plr=r("Flow_ast.Variance.kind"),Dlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Llr=[0,[17,0,0],r(z)],Rlr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jlr=r(Xr),Glr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mlr=r(tr),Blr=r(Z0),qlr=r(nr),Ulr=[0,[17,0,0],r(z)],Hlr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Xlr=[0,[15,0],r(C0)],Ylr=r("Flow_ast.Variance.Minus"),Vlr=r("Flow_ast.Variance.Plus"),zlr=[0,[15,0],r(C0)],Klr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Wlr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Jlr=[0,[17,0,[12,41,0]],r(h0)],$lr=[0,[15,0],r(C0)],Zlr=r(Yr),Qlr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],rbr=r("Flow_ast.BooleanLiteral.value"),ebr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nbr=[0,[9,0,0],r(An)],tbr=[0,[17,0,0],r(z)],ubr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ibr=r(Xr),fbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xbr=r(tr),abr=r(Z0),obr=r(nr),cbr=[0,[17,0,0],r(z)],sbr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],vbr=[0,[15,0],r(C0)],lbr=r(Yr),bbr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],pbr=r("Flow_ast.BigIntLiteral.approx_value"),mbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_br=[0,[8,[0,0,5],0,0,0],r(e8)],ybr=[0,[17,0,0],r(z)],dbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hbr=r(a1),kbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wbr=[0,[3,0,0],r(Yt)],Ebr=[0,[17,0,0],r(z)],Sbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gbr=r(Xr),Fbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Tbr=r(tr),Obr=r(Z0),Ibr=r(nr),Abr=[0,[17,0,0],r(z)],Nbr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Cbr=[0,[15,0],r(C0)],Pbr=r(Yr),Dbr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Lbr=r("Flow_ast.NumberLiteral.value"),Rbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jbr=[0,[8,[0,0,5],0,0,0],r(e8)],Gbr=[0,[17,0,0],r(z)],Mbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Bbr=r(o7),qbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ubr=[0,[3,0,0],r(Yt)],Hbr=[0,[17,0,0],r(z)],Xbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ybr=r(Xr),Vbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zbr=r(tr),Kbr=r(Z0),Wbr=r(nr),Jbr=[0,[17,0,0],r(z)],$br=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Zbr=[0,[15,0],r(C0)],Qbr=r(Yr),r4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],e4r=r("Flow_ast.StringLiteral.value"),n4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],t4r=[0,[3,0,0],r(Yt)],u4r=[0,[17,0,0],r(z)],i4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],f4r=r(o7),x4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],a4r=[0,[3,0,0],r(Yt)],o4r=[0,[17,0,0],r(z)],c4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s4r=r(Xr),v4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l4r=r(tr),b4r=r(Z0),p4r=r(nr),m4r=[0,[17,0,0],r(z)],_4r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],y4r=[0,[15,0],r(C0)],d4r=r("Flow_ast.Literal.Null"),h4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.String"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.String@ ")],k4r=[0,[3,0,0],r(Yt)],w4r=[0,[17,0,[12,41,0]],r(h0)],E4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.Boolean"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.Boolean@ ")],S4r=[0,[9,0,0],r(An)],g4r=[0,[17,0,[12,41,0]],r(h0)],F4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.Number"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.Number@ ")],T4r=[0,[8,[0,0,5],0,0,0],r(e8)],O4r=[0,[17,0,[12,41,0]],r(h0)],I4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.BigInt"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.BigInt@ ")],A4r=[0,[8,[0,0,5],0,0,0],r(e8)],N4r=[0,[17,0,[12,41,0]],r(h0)],C4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.RegExp"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.RegExp@ ")],P4r=[0,[17,0,[12,41,0]],r(h0)],D4r=[0,[15,0],r(C0)],L4r=r(Yr),R4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],j4r=r("Flow_ast.Literal.value"),G4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M4r=[0,[17,0,0],r(z)],B4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q4r=r(o7),U4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H4r=[0,[3,0,0],r(Yt)],X4r=[0,[17,0,0],r(z)],Y4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],V4r=r(Xr),z4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K4r=r(tr),W4r=r(Z0),J4r=r(nr),$4r=[0,[17,0,0],r(z)],Z4r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Q4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],r8r=r("Flow_ast.Literal.RegExp.pattern"),e8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],n8r=[0,[3,0,0],r(Yt)],t8r=[0,[17,0,0],r(z)],u8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i8r=r(UX),f8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x8r=[0,[3,0,0],r(Yt)],a8r=[0,[17,0,0],r(z)],o8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],c8r=[0,[15,0],r(C0)],s8r=[0,[15,0],r(C0)],v8r=r(Yr),l8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],b8r=r("Flow_ast.PrivateName.name"),p8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],m8r=[0,[3,0,0],r(Yt)],_8r=[0,[17,0,0],r(z)],y8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],d8r=r(Xr),h8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],k8r=r(tr),w8r=r(Z0),E8r=r(nr),S8r=[0,[17,0,0],r(z)],g8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],F8r=[0,[15,0],r(C0)],T8r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],O8r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],I8r=[0,[17,0,[12,41,0]],r(h0)],A8r=[0,[15,0],r(C0)],N8r=r(Yr),C8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],P8r=r("Flow_ast.Identifier.name"),D8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],L8r=[0,[3,0,0],r(Yt)],R8r=[0,[17,0,0],r(z)],j8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],G8r=r(Xr),M8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],B8r=r(tr),q8r=r(Z0),U8r=r(nr),H8r=[0,[17,0,0],r(z)],X8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Y8r=[0,[15,0],r(C0)],V8r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],z8r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],K8r=[0,[17,0,[12,41,0]],r(h0)],W8r=[0,[15,0],r(C0)],J8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Q8r=r("Flow_ast.Syntax.leading"),r3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],e3r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],n3r=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],t3r=[0,[17,0,0],r(z)],u3r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i3r=r("trailing"),f3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x3r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],a3r=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],o3r=[0,[17,0,0],r(z)],c3r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s3r=r("internal"),v3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l3r=[0,[17,0,0],r(z)],b3r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],p3r=[0,[0,0,0]],m3r=[0,r(Eu),21,2],_3r=[0,[0,0,0,0,0]],y3r=[0,r(Eu),32,2],d3r=[0,[0,0,0,0,0]],h3r=[0,r(Eu),43,2],k3r=[0,[0,[0,[0,0,0]],0,0,0,0]],w3r=[0,r(Eu),70,2],E3r=[0,[0,0,0]],S3r=[0,r(Eu),80,2],g3r=[0,[0,0,0]],F3r=[0,r(Eu),90,2],T3r=[0,[0,0,0]],O3r=[0,r(Eu),L7,2],I3r=[0,[0,0,0]],A3r=[0,r(Eu),Ht,2],N3r=[0,[0,0,0,0,0,0,0]],C3r=[0,r(Eu),br,2],P3r=[0,[0,0,0,0,0]],D3r=[0,r(Eu),QH,2],L3r=[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,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]],[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]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],R3r=[0,r(Eu),485,2],j3r=[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,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,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,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]],[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]],G3r=[0,r(Eu),YX,2],M3r=[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,[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,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,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]],B3r=[0,r(Eu),1460,2],q3r=[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]],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]],U3r=[0,r(Eu),1604,2],H3r=[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]],X3r=[0,r(Eu),1689,2],Y3r=[0,[0,0,0,0,0,0,0]],V3r=[0,r(Eu),1705,2],z3r=[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,0,0]],[0,[0,0,0,0,0]],0,0]],K3r=[0,r(Eu),1828,2],W3r=[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]],J3r=[0,r(Eu),1895,2],$3r=[0,[0,0,0,0,0]],Z3r=[0,r(Eu),1907,2],Q3r=[0,[0,0,0]],r6r=[0,[0,0,0,0,0]],e6r=[0,[0,0,0,0,0]],n6r=[0,[0,[0,[0,0,0]],0,0,0,0]],t6r=[0,[0,0,0]],u6r=[0,[0,0,0]],i6r=[0,[0,0,0]],f6r=[0,[0,0,0]],x6r=[0,[0,0,0,0,0,0,0]],a6r=[0,[0,0,0,0,0]],o6r=[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,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]],[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]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],c6r=[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,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,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,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]],[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]],s6r=[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,[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,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,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]],v6r=[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]],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]],l6r=[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]],b6r=[0,[0,0,0,0,0,0,0]],p6r=[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,0,0]],[0,[0,0,0,0,0]],0,0]],m6r=[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]],_6r=[0,[0,0,0,0,0]],y6r=[0,1],d6r=[0,0],h6r=[0,2],k6r=[0,0],w6r=[0,1],E6r=[0,1],S6r=[0,1],g6r=[0,1],F6r=[0,1],T6r=[0,0,0],O6r=[0,0,0],I6r=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],A6r=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],N6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.LibFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.LibFile@ ")],C6r=[0,[3,0,0],r(Yt)],P6r=[0,[17,0,[12,41,0]],r(h0)],D6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.SourceFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.SourceFile@ ")],L6r=[0,[3,0,0],r(Yt)],R6r=[0,[17,0,[12,41,0]],r(h0)],j6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.JsonFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.JsonFile@ ")],G6r=[0,[3,0,0],r(Yt)],M6r=[0,[17,0,[12,41,0]],r(h0)],B6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.ResourceFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.ResourceFile@ ")],q6r=[0,[3,0,0],r(Yt)],U6r=[0,[17,0,[12,41,0]],r(h0)],H6r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],X6r=r("Loc.line"),Y6r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],V6r=[0,[4,0,0,0,0],r(N2)],z6r=[0,[17,0,0],r(z)],K6r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],W6r=r(I2),J6r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$6r=[0,[4,0,0,0,0],r(N2)],Z6r=[0,[17,0,0],r(z)],Q6r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],rpr=[0,[15,0],r(C0)],epr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],npr=r("Loc.source"),tpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],upr=r(tr),ipr=r(Z0),fpr=r(nr),xpr=[0,[17,0,0],r(z)],apr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],opr=r(S7),cpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],spr=[0,[17,0,0],r(z)],vpr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lpr=r("_end"),bpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ppr=[0,[17,0,0],r(z)],mpr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],_pr=[0,r(Gx),r(va),r(go),r(so),r(za),r(Yf),r(Jx),r(pf),r(of),r(Bx),r(ut),r(Yo),r(I7),r(If),r(px),r(_a),r(lx),r(ef),r(gf),r(Xo),r(oo),r(Ho),r(yf),r(ic),r(Rf),r(To),r(ff),r(Ef),r(Bo),r(Xf),r(Tx),r(ax),r(Fa),r(kf),r(da),r(Qf),r(ao),r(Za),r(A7),r(O7),r(ox),r(Io),r(Mo),r(Wf),r(to),r(la),r(Ta),r(Sx),r(Go),r(ka),r(s7),r(bo),r(eo),r(vo),r(Hx),r(Xa),r(Ux),r(Mf),r(Nf),r(rc),r(Mx),r(Cf),r(ba),r(Fo),r(lf),r(ec),r(io),r(no),r(Au),r(Ix),r(ta),r(Ff),r(Uf),r(Eo),r(qx),r(Oc),r(Vo),r(jo),r(hx),r(xc),r(vi),r(ga),r(pa),r(Ic),r(No),r(kx),r(Nx),r(Tc),r(jf),r(uf),r(ix),r(yo),r(Ma),r(Ex),r(Uo),r(bf),r(po),r(yx),r(j7),r($o),r(mc),r(Kf),r(_i),r(_f),r(fo),r(zo),r(qu),r(gc),r(ma),r(Yx),r(Do),r(Ox),r(Co),r(r7),r(sf),r(wa),r(na),r(Wo),r(Gf),r(sc),r(ho),r(Ja),r(ex),r(cf),r(af),r(Cx),r(_c),r(Na),r(Ga),r(xa),r(Ax),r(sa),r(Px),r(nf),r(nc),r(Wa),r(Ro),r(Sc),r($a),r(bx),r(kc),r(Lx),r(ko),r(Rx),r(ux),r(Wx),r(Lo),r(Xx),r($x),r(dc),r(ur),r(yc),r(Af),r(hf),r(mx),r(Ua),r(jx),r(Tf),r(uc),r(Jf),r(wo),r(_o),r(tx),r(Vf),r(xf),r(Pf),r(xx),r(ca),r(Qa),r(ac),r(pc),r(Ya),r(Ko),r(wf),r(Ba),r(ro),r(pi),r(nx),r(rx),r(Ka),r(mf),r(lo),r(bc),r(Ec),r($f),r(zf),r(qa),r(Df),r(uo),r(co),r(lc),r(ra),r(So),r(Va),r(Qo),r(Qu),r(Le),r(mo),r(_x),r(Wu),r(vx),r(qf),r(Fc),r(df),r(Kx),r(Fx),r(Po),r(hc),r(P7),r(ha),r(Ha),r(Zf),r(Qx),r(Ea),r(Lf),r(Aa),r(g7),r(ua),r(xo),r(oa),r(dx),r(Zx),r(Vx),r(Jo),r(ja),r(Hf),r(Ao),r(sx),r(Of),r(Dx),r(fa),r(Zo),r(Sf),r(Ca),r(tc),r(Da),r(Oa),r(Bf),r(cc),r(fx),r(wc),r(ou),r(Ia),r(ia),r(zx),r(wu)],ypr=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],dpr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],hpr=r(yV),kpr=r(UY),wpr=r(GX),Epr=r(ZY),Spr=r(g3),gpr=r(tX),Fpr=r(cv),Tpr=r(PU),Opr=r(_Y),Ipr=r(wX),Apr=r(mX),Npr=r(as),Cpr=r(Oo),Ppr=r(zU),Dpr=r(rX),Lpr=r(Zu),Rpr=r(WY),jpr=r(PH),Gpr=r(A6),Mpr=r(Bh),Bpr=r(R2),qpr=r(j2),Upr=r(rH),Hpr=r(YU),Xpr=r(xY),Ypr=r(vX),Vpr=r(yH),zpr=r(SX),Kpr=r(vU),Wpr=r(ZX),Jpr=r(bX),$pr=r(dH),Zpr=r(TH),Qpr=r(WH),r5r=r(iV),e5r=r(LU),n5r=r(aX),t5r=r("Set.remove_min_elt"),u5r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i5r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,us,0]],r("@[<2>{")],f5r=[0,[12,32,0],r(bi)],x5r=[0,[12,32,0],r(bi)],a5r=[0,[17,[0,r(Pe),0,0],[12,br,[17,0,0]]],r("@,}@]")],o5r=[0,r("src/hack_forked/utils/collections/flow_set.ml"),363,14],c5r=[0,[0,36,37],[0,48,58],[0,65,91],[0,95,96],[0,97,us],[0,Xg,yg],[0,Ai,Kg],[0,mS,wk],[0,dh,iw],[0,at,cT],[0,d6,jw],[0,wt,706],[0,iX,722],[0,736,741],[0,748,749],[0,750,751],[0,768,885],[0,886,888],[0,890,894],[0,895,896],[0,902,907],[0,908,tY],[0,910,930],[0,zX,1014],[0,1015,1154],[0,1155,1160],[0,1162,jU],[0,1329,1367],[0,1369,1370],[0,1376,1417],[0,1425,1470],[0,1471,1472],[0,1473,1475],[0,1476,1478],[0,1479,1480],[0,1488,1515],[0,1519,1523],[0,1552,1563],[0,1568,1642],[0,1646,1748],[0,1749,1757],[0,1759,1769],[0,1770,1789],[0,1791,1792],[0,1808,1867],[0,1869,1970],[0,1984,2038],[0,2042,2043],[0,2045,2046],[0,Vd,2094],[0,2112,2140],[0,2144,2155],[0,2208,2229],[0,2230,2238],[0,2259,2274],[0,2275,2404],[0,2406,2416],[0,2417,2436],[0,2437,2445],[0,2447,2449],[0,2451,2473],[0,2474,2481],[0,2482,2483],[0,2486,2490],[0,2492,2501],[0,2503,2505],[0,2507,2511],[0,2519,2520],[0,2524,2526],[0,2527,2532],[0,2534,2546],[0,2556,2557],[0,2558,2559],[0,2561,2564],[0,2565,2571],[0,2575,2577],[0,2579,2601],[0,2602,2609],[0,2610,2612],[0,2613,2615],[0,2616,2618],[0,2620,2621],[0,2622,2627],[0,2631,2633],[0,2635,2638],[0,2641,2642],[0,2649,2653],[0,2654,2655],[0,2662,2678],[0,2689,2692],[0,2693,2702],[0,2703,2706],[0,2707,2729],[0,2730,2737],[0,2738,2740],[0,2741,2746],[0,2748,2758],[0,2759,2762],[0,2763,2766],[0,2768,2769],[0,2784,2788],[0,2790,2800],[0,2809,2816],[0,2817,2820],[0,2821,2829],[0,2831,2833],[0,2835,2857],[0,2858,2865],[0,2866,2868],[0,2869,2874],[0,2876,2885],[0,2887,2889],[0,2891,2894],[0,2902,2904],[0,2908,2910],[0,2911,2916],[0,2918,2928],[0,2929,2930],[0,2946,2948],[0,2949,2955],[0,2958,2961],[0,2962,2966],[0,2969,2971],[0,2972,2973],[0,2974,2976],[0,2979,2981],[0,2984,2987],[0,2990,3002],[0,3006,3011],[0,3014,3017],[0,3018,3022],[0,3024,3025],[0,3031,3032],[0,3046,3056],[0,3072,3085],[0,3086,3089],[0,3090,3113],[0,3114,3130],[0,3133,3141],[0,3142,3145],[0,3146,3150],[0,3157,3159],[0,3160,3163],[0,3168,3172],[0,3174,3184],[0,3200,3204],[0,3205,3213],[0,3214,3217],[0,3218,3241],[0,3242,3252],[0,3253,3258],[0,3260,3269],[0,3270,3273],[0,3274,3278],[0,3285,3287],[0,3294,3295],[0,3296,3300],[0,3302,3312],[0,3313,3315],[0,3328,3332],[0,3333,3341],[0,3342,3345],[0,3346,3397],[0,3398,3401],[0,3402,3407],[0,3412,3416],[0,3423,3428],[0,3430,3440],[0,3450,3456],[0,3458,3460],[0,3461,3479],[0,3482,3506],[0,3507,3516],[0,3517,3518],[0,3520,3527],[0,3530,3531],[0,3535,3541],[0,3542,3543],[0,3544,3552],[0,3558,3568],[0,3570,3572],[0,3585,3643],[0,3648,3663],[0,3664,3674],[0,3713,3715],[0,3716,3717],[0,3718,3723],[0,3724,3748],[0,3749,3750],[0,3751,3774],[0,3776,3781],[0,3782,3783],[0,3784,3790],[0,3792,3802],[0,3804,3808],[0,3840,3841],[0,3864,3866],[0,3872,3882],[0,3893,3894],[0,3895,3896],[0,3897,3898],[0,3902,3912],[0,3913,3949],[0,3953,3973],[0,3974,3992],[0,3993,4029],[0,4038,4039],[0,_X,4170],[0,4176,4254],[0,4256,4294],[0,4295,4296],[0,4301,4302],[0,4304,4347],[0,4348,4681],[0,4682,4686],[0,4688,4695],[0,4696,4697],[0,4698,4702],[0,4704,4745],[0,4746,4750],[0,4752,4785],[0,4786,4790],[0,4792,4799],[0,4800,4801],[0,4802,4806],[0,4808,4823],[0,4824,4881],[0,4882,4886],[0,4888,4955],[0,4957,4960],[0,4969,4978],[0,4992,5008],[0,5024,5110],[0,5112,5118],[0,5121,5741],[0,5743,Ev],[0,5761,5787],[0,5792,5867],[0,5870,5881],[0,5888,5901],[0,5902,5909],[0,5920,5941],[0,5952,5972],[0,5984,5997],[0,5998,6001],[0,6002,6004],[0,6016,6100],[0,6103,6104],[0,6108,6110],[0,6112,6122],[0,6155,6158],[0,6160,6170],[0,6176,6265],[0,6272,6315],[0,6320,6390],[0,6400,6431],[0,6432,6444],[0,6448,6460],[0,6470,6510],[0,6512,6517],[0,6528,6572],[0,6576,6602],[0,6608,6619],[0,6656,6684],[0,6688,6751],[0,6752,6781],[0,6783,6794],[0,6800,6810],[0,6823,6824],[0,6832,6846],[0,6912,6988],[0,6992,7002],[0,7019,7028],[0,7040,7156],[0,7168,7224],[0,7232,7242],[0,7245,7294],[0,7296,7305],[0,7312,7355],[0,7357,7360],[0,7376,7379],[0,7380,7419],[0,7424,7674],[0,7675,7958],[0,7960,7966],[0,7968,8006],[0,8008,8014],[0,8016,8024],[0,8025,8026],[0,8027,8028],[0,8029,8030],[0,8031,8062],[0,8064,8117],[0,8118,8125],[0,8126,8127],[0,8130,8133],[0,8134,8141],[0,8144,8148],[0,8150,8156],[0,8160,8173],[0,8178,8181],[0,8182,8189],[0,FY,_U],[0,8255,8257],[0,8276,8277],[0,np,8306],[0,I3,8320],[0,8336,8349],[0,8400,8413],[0,8417,8418],[0,8421,8433],[0,a3,8451],[0,j3,8456],[0,8458,F4],[0,_6,8470],[0,cU,8478],[0,u8,Z3],[0,r3,vp],[0,D8,C8],[0,8490,8506],[0,8508,8512],[0,8517,8522],[0,v8,8527],[0,8544,8585],[0,11264,11311],[0,11312,11359],[0,11360,11493],[0,11499,11508],[0,11520,M4],[0,q8,11560],[0,C3,11566],[0,11568,11624],[0,m4,11632],[0,D6,11671],[0,11680,G4],[0,11688,K8],[0,11696,o8],[0,11704,W8],[0,11712,K6],[0,11720,G8],[0,11728,T6],[0,11736,11743],[0,11744,11776],[0,12293,12296],[0,12321,O3],[0,12337,12342],[0,12344,12349],[0,12353,12439],[0,12441,S3],[0,12449,U4],[0,12540,12544],[0,12549,S8],[0,12593,12687],[0,12704,12731],[0,12784,12800],[0,13312,19894],[0,19968,40944],[0,40960,42125],[0,42192,42238],[0,42240,42509],[0,42512,42540],[0,42560,42608],[0,42612,H3],[0,42623,42738],[0,42775,42784],[0,42786,42889],[0,42891,42944],[0,42946,42951],[0,T8,43048],[0,43072,43124],[0,43136,43206],[0,43216,43226],[0,43232,43256],[0,t3,y8],[0,43261,43310],[0,43312,43348],[0,43360,43389],[0,43392,43457],[0,w8,43482],[0,43488,l6],[0,43520,43575],[0,43584,43598],[0,43600,43610],[0,43616,43639],[0,bp,43715],[0,43739,43742],[0,43744,43760],[0,43762,43767],[0,43777,43783],[0,43785,43791],[0,43793,43799],[0,43808,w6],[0,43816,X3],[0,43824,ov],[0,43868,o3],[0,43888,44011],[0,44012,44014],[0,44016,44026],[0,44032,55204],[0,55216,55239],[0,55243,55292],[0,63744,64110],[0,64112,64218],[0,64256,64263],[0,64275,64280],[0,n3,fp],[0,64298,et],[0,64312,K3],[0,R6,j4],[0,64320,U3],[0,64323,L8],[0,64326,64434],[0,64467,64830],[0,64848,64912],[0,64914,64968],[0,65008,65020],[0,65024,65040],[0,65056,65072],[0,65075,65077],[0,65101,65104],[0,65136,u3],[0,65142,65277],[0,65296,65306],[0,65313,65339],[0,65343,r8],[0,65345,65371],[0,65382,65471],[0,65474,65480],[0,65482,65488],[0,65490,65496],[0,65498,65501],[0,ow,ep],[0,65549,Z8],[0,65576,K4],[0,65596,g6],[0,65599,65614],[0,65616,65630],[0,65664,65787],[0,65856,65909],[0,66045,66046],[0,66176,66205],[0,66208,66257],[0,66272,66273],[0,66304,66336],[0,66349,66379],[0,66384,66427],[0,66432,66462],[0,66464,66500],[0,66504,Q3],[0,66513,66518],[0,66560,66718],[0,66720,66730],[0,66736,66772],[0,66776,66812],[0,66816,66856],[0,66864,66916],[0,67072,67383],[0,67392,67414],[0,67424,67432],[0,67584,67590],[0,op,$4],[0,67594,m8],[0,67639,67641],[0,B6,67645],[0,67647,67670],[0,67680,67703],[0,67712,67743],[0,67808,Y8],[0,67828,67830],[0,67840,67862],[0,67872,67898],[0,67968,68024],[0,68030,68032],[0,E7,68100],[0,68101,68103],[0,68108,p4],[0,68117,Q8],[0,68121,68150],[0,68152,68155],[0,68159,68160],[0,68192,68221],[0,68224,68253],[0,68288,$6],[0,68297,68327],[0,68352,68406],[0,68416,68438],[0,68448,68467],[0,68480,68498],[0,68608,68681],[0,68736,68787],[0,68800,68851],[0,68864,68904],[0,68912,68922],[0,69376,69405],[0,$8,69416],[0,69424,69457],[0,69600,69623],[0,69632,69703],[0,69734,q3],[0,69759,69819],[0,69840,69865],[0,69872,69882],[0,69888,69941],[0,69942,69952],[0,_4,T3],[0,69968,70004],[0,Y6,70007],[0,70016,70085],[0,70089,70093],[0,70096,h8],[0,f3,70109],[0,70144,N8],[0,70163,70200],[0,70206,70207],[0,70272,d3],[0,A8,xp],[0,70282,I8],[0,70287,s8],[0,70303,70313],[0,70320,70379],[0,70384,70394],[0,70400,i6],[0,70405,70413],[0,70415,70417],[0,70419,x3],[0,70442,c8],[0,70450,P4],[0,70453,70458],[0,70459,70469],[0,70471,70473],[0,70475,70478],[0,G6,70481],[0,70487,70488],[0,70493,70500],[0,70502,70509],[0,70512,70517],[0,70656,70731],[0,70736,70746],[0,J6,70752],[0,70784,r6],[0,Q6,70856],[0,70864,70874],[0,71040,71094],[0,71096,71105],[0,71128,71134],[0,71168,71233],[0,i8,71237],[0,71248,71258],[0,71296,71353],[0,71360,71370],[0,71424,71451],[0,71453,71468],[0,71472,71482],[0,71680,71739],[0,71840,71914],[0,71935,71936],[0,72096,72104],[0,72106,72152],[0,72154,ip],[0,m3,72165],[0,B8,72255],[0,72263,72264],[0,i3,72346],[0,D4,72350],[0,72384,72441],[0,72704,J3],[0,72714,72759],[0,72760,72769],[0,72784,72794],[0,72818,72848],[0,72850,72872],[0,72873,72887],[0,72960,L3],[0,72968,h4],[0,72971,73015],[0,73018,73019],[0,73020,73022],[0,73023,73032],[0,73040,73050],[0,73056,j6],[0,73063,h3],[0,73066,73103],[0,73104,73106],[0,73107,73113],[0,73120,73130],[0,73440,73463],[0,73728,74650],[0,74752,74863],[0,74880,75076],[0,77824,78895],[0,82944,83527],[0,92160,92729],[0,92736,92767],[0,92768,92778],[0,92880,92910],[0,92912,92917],[0,92928,92983],[0,92992,92996],[0,93008,93018],[0,93027,93048],[0,93053,93072],[0,93760,93824],[0,93952,94027],[0,Q4,94088],[0,94095,94112],[0,94176,p6],[0,h6,94180],[0,94208,100344],[0,100352,101107],[0,110592,110879],[0,110928,110931],[0,110948,110952],[0,110960,111356],[0,113664,113771],[0,113776,113789],[0,113792,113801],[0,113808,113818],[0,113821,113823],[0,119141,119146],[0,119149,119155],[0,119163,119171],[0,119173,119180],[0,119210,119214],[0,119362,119365],[0,119808,O6],[0,119894,B3],[0,119966,119968],[0,k3,119971],[0,119973,119975],[0,119977,rp],[0,119982,b8],[0,b4,M6],[0,119997,A3],[0,120005,R4],[0,120071,120075],[0,120077,C6],[0,120086,lp],[0,120094,P3],[0,120123,e6],[0,120128,q4],[0,M3,120135],[0,120138,L6],[0,120146,120486],[0,120488,L4],[0,120514,z3],[0,120540,s6],[0,120572,Y4],[0,120598,s3],[0,120630,z4],[0,120656,E6],[0,120688,l4],[0,120714,b6],[0,120746,w3],[0,120772,120780],[0,120782,120832],[0,121344,121399],[0,121403,121453],[0,121461,121462],[0,121476,121477],[0,121499,121504],[0,121505,121520],[0,122880,122887],[0,122888,122905],[0,122907,122914],[0,122915,122917],[0,122918,122923],[0,123136,123181],[0,123184,123198],[0,123200,123210],[0,cp,123215],[0,123584,123642],[0,124928,125125],[0,125136,125143],[0,125184,125260],[0,125264,125274],[0,126464,P6],[0,126469,$3],[0,126497,c3],[0,F8,126501],[0,n8,_8],[0,126505,v6],[0,126516,x8],[0,y6,a8],[0,E3,126524],[0,W3,126531],[0,R8,H6],[0,g8,t8],[0,v3,B4],[0,126541,T4],[0,126545,F6],[0,k8,126549],[0,f8,S4],[0,On,q6],[0,g4,M8],[0,U6,v4],[0,u6,I4],[0,126561,ap],[0,z6,126565],[0,126567,b3],[0,126572,a6],[0,126580,J8],[0,126585,R3],[0,Z4,E8],[0,126592,z8],[0,126603,126620],[0,126625,G3],[0,126629,e3],[0,126635,126652],[0,131072,173783],[0,173824,177973],[0,177984,178206],[0,178208,183970],[0,183984,191457],[0,194560,195102],[0,917760,918e3]],s5r=r(O2),v5r=r(hv),l5r=r(Tv),b5r=r(W4),p5r=r("Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead."),m5r=r("Enum members are separated with `,`. Replace `;` with `,`."),_5r=r("Unexpected reserved word"),y5r=r("Unexpected reserved type"),d5r=r("Unexpected `super` outside of a class method"),h5r=r("`super()` is only valid in a class constructor"),k5r=r("Unexpected end of input"),w5r=r("Unexpected variance sigil"),E5r=r("Unexpected static modifier"),S5r=r("Unexpected proto modifier"),g5r=r("Type aliases are not allowed in untyped mode"),F5r=r("Opaque type aliases are not allowed in untyped mode"),T5r=r("Type annotations are not allowed in untyped mode"),O5r=r("Type declarations are not allowed in untyped mode"),I5r=r("Type imports are not allowed in untyped mode"),A5r=r("Type exports are not allowed in untyped mode"),N5r=r("Interfaces are not allowed in untyped mode"),C5r=r("Spreading a type is only allowed inside an object type"),P5r=r("Explicit inexact syntax must come at the end of an object type"),D5r=r("Explicit inexact syntax cannot appear inside an explicit exact object type"),L5r=r("Explicit inexact syntax can only appear inside an object type"),R5r=r("Illegal newline after throw"),j5r=r("A bigint literal must be an integer"),G5r=r("A bigint literal cannot use exponential notation"),M5r=r("Invalid regular expression"),B5r=r("Invalid regular expression: missing /"),q5r=r("Invalid left-hand side in assignment"),U5r=r("Invalid left-hand side in exponentiation expression"),H5r=r("Invalid left-hand side in for-in"),X5r=r("Invalid left-hand side in for-of"),Y5r=r("Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`."),V5r=r("found an expression instead"),z5r=r("Expected an object pattern, array pattern, or an identifier but "),K5r=r("More than one default clause in switch statement"),W5r=r("Missing catch or finally after try"),J5r=r("Illegal continue statement"),$5r=r("Illegal break statement"),Z5r=r("Illegal return statement"),Q5r=r("Illegal Unicode escape"),rmr=r("Strict mode code may not include a with statement"),emr=r("Catch variable may not be eval or arguments in strict mode"),nmr=r("Variable name may not be eval or arguments in strict mode"),tmr=r("Parameter name eval or arguments is not allowed in strict mode"),umr=r("Strict mode function may not have duplicate parameter names"),imr=r('Illegal "use strict" directive in function with non-simple parameter list'),fmr=r("Function name may not be eval or arguments in strict mode"),xmr=r("Octal literals are not allowed in strict mode."),amr=r("Number literals with leading zeros are not allowed in strict mode."),omr=r("Delete of an unqualified identifier in strict mode."),cmr=r("Duplicate data property in object literal not allowed in strict mode"),smr=r("Object literal may not have data and accessor property with the same name"),vmr=r("Object literal may not have multiple get/set accessors with the same name"),lmr=r("`typeof` can only be used to get the type of variables."),bmr=r("Assignment to eval or arguments is not allowed in strict mode"),pmr=r("Postfix increment/decrement may not have eval or arguments operand in strict mode"),mmr=r("Prefix increment/decrement may not have eval or arguments operand in strict mode"),_mr=r("Use of future reserved word in strict mode"),ymr=r("JSX attributes must only be assigned a non-empty expression"),dmr=r("JSX value should be either an expression or a quoted JSX text"),hmr=r("Const must be initialized"),kmr=r("Destructuring assignment must be initialized"),wmr=r("Illegal newline before arrow"),Emr=r(vF),Smr=r("Async functions can only be declared at top level or "),gmr=r(vF),Fmr=r("Generators can only be declared at top level or "),Tmr=r("elements must be wrapped in an enclosing parent tag"),Omr=r("Unexpected token <. Remember, adjacent JSX "),Imr=r("Rest parameter must be final parameter of an argument list"),Amr=r("Rest element must be final element of an array pattern"),Nmr=r("Rest property must be final property of an object pattern"),Cmr=r("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),Pmr=r("`declare` modifier can only appear on class fields."),Dmr=r("Unexpected token `=`. Initializers are not allowed in a `declare`."),Lmr=r("Unexpected token `=`. Initializers are not allowed in a `declare opaque type`."),Rmr=r("`declare export let` is not supported. Use `declare export var` instead."),jmr=r("`declare export const` is not supported. Use `declare export var` instead."),Gmr=r("`declare export type` is not supported. Use `export type` instead."),Mmr=r("`declare export interface` is not supported. Use `export interface` instead."),Bmr=r("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),qmr=r("Found a decorator in an unsupported position."),Umr=r("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),Hmr=r("Duplicate `declare module.exports` statement!"),Xmr=r("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),Ymr=r("Getter should have zero parameters"),Vmr=r("Setter should have exactly one parameter"),zmr=r("`import type` or `import typeof`!"),Kmr=r("Imports within a `declare module` body must always be "),Wmr=r("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),Jmr=r("Missing comma between import specifiers"),$mr=r("Missing comma between export specifiers"),Zmr=r("Malformed unicode"),Qmr=r("Classes may only have one constructor"),r9r=r("Private fields may not be deleted."),e9r=r("Private fields can only be referenced from within a class."),n9r=r("You may not access a private field through the `super` keyword."),t9r=r("Yield expression not allowed in formal parameter"),u9r=r("`await` is an invalid identifier in async functions"),i9r=r("`yield` is an invalid identifier in generators"),f9r=r("either a `let` binding pattern, or a member expression."),x9r=r("`let [` is ambiguous in this position because it is "),a9r=r("Literals cannot be used as shorthand properties."),o9r=r("Computed properties must have a value."),c9r=r("Object pattern can't contain methods"),s9r=r("A trailing comma is not permitted after the rest element"),v9r=r("An optional chain may not be used in a `new` expression."),l9r=r("Template literals may not be used in an optional chain."),b9r=r("Unexpected whitespace between `#` and identifier"),p9r=r("A type annotation is required for the `this` parameter."),m9r=r("The `this` parameter must be the first function parameter."),_9r=r("The `this` parameter cannot be optional."),y9r=r("A getter cannot have a `this` parameter."),d9r=r("A setter cannot have a `this` parameter."),h9r=r("Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared."),k9r=r("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),w9r=[0,[11,r("Boolean enum members need to be initialized. Use either `"),[2,0,[11,r(" = true,` or `"),[2,0,[11,r(" = false,` in enum `"),[2,0,[11,r(Fs),0]]]]]]],r("Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.")],E9r=[0,[11,r("Enum member names need to be unique, but the name `"),[2,0,[11,r("` has already been used before in enum `"),[2,0,[11,r(Fs),0]]]]],r("Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.")],S9r=[0,[11,r(DU),[2,0,[11,r("` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."),0]]],r("Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")],g9r=[0,[11,r("Use one of `boolean`, `number`, `string`, or `symbol` in enum `"),[2,0,[11,r(Fs),0]]],r("Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.")],F9r=[0,[11,r("Enum type `"),[2,0,[11,r("` is not valid. "),[2,0,0]]]],r("Enum type `%s` is not valid. %s")],T9r=[0,[11,r("Supplied enum type is not valid. "),[2,0,0]],r("Supplied enum type is not valid. %s")],O9r=[0,[11,r("Enum member names and initializers are separated with `=`. Replace `"),[2,0,[11,r(":` with `"),[2,0,[11,r(" =`."),0]]]]],r("Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.")],I9r=[0,[11,r("Symbol enum members cannot be initialized. Use `"),[2,0,[11,r(",` in enum `"),[2,0,[11,r(Fs),0]]]]],r("Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.")],A9r=[0,[11,r(DU),[2,0,[11,r("` has type `"),[2,0,[11,r("`, so the initializer of `"),[2,0,[11,r("` needs to be a "),[2,0,[11,r(" literal."),0]]]]]]]]],r("Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.")],N9r=[0,[11,r("The enum member initializer for `"),[2,0,[11,r("` needs to be a literal (either a boolean, number, or string) in enum `"),[2,0,[11,r(Fs),0]]]]],r("The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.")],C9r=[0,[11,r("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `"),[2,0,[11,r("`, consider using `"),[2,0,[11,r("`, in enum `"),[2,0,[11,r(Fs),0]]]]]]],r("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.")],P9r=r("The `...` must come at the end of the enum body. Remove the trailing comma."),D9r=r("The `...` must come after all enum members. Move it to the end of the enum body."),L9r=[0,[11,r("Number enum members need to be initialized, e.g. `"),[2,0,[11,r(" = 1,` in enum `"),[2,0,[11,r(Fs),0]]]]],r("Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.")],R9r=[0,[11,r("String enum members need to consistently either all use initializers, or use no initializers, in enum "),[2,0,[12,46,0]]],r("String enum members need to consistently either all use initializers, or use no initializers, in enum %s.")],j9r=[0,[11,r(zH),[2,0,0]],r("Unexpected %s")],G9r=[0,[11,r(zH),[2,0,[11,r(", expected "),[2,0,0]]]],r("Unexpected %s, expected %s")],M9r=[0,[11,r(dV),[2,0,[11,r("`. Did you mean `"),[2,0,[11,r("`?"),0]]]]],r("Unexpected token `%s`. Did you mean `%s`?")],B9r=r(D3),q9r=r("Invalid flags supplied to RegExp constructor '"),U9r=r("Remove the period."),H9r=r("Indexed access uses bracket notation."),X9r=[0,[11,r("Invalid indexed access. "),[2,0,[11,r(" Use the format `T[K]`."),0]]],r("Invalid indexed access. %s Use the format `T[K]`.")],Y9r=r(D3),V9r=r("Undefined label '"),z9r=r("' has already been declared"),K9r=r(" '"),W9r=r("Expected corresponding JSX closing tag for "),J9r=r(vF),$9r=r("In strict mode code, functions can only be declared at top level or "),Z9r=r("inside a block, or as the body of an if statement."),Q9r=r("In non-strict mode code, functions can only be declared at top level, "),r_r=[0,[11,r("Duplicate export for `"),[2,0,[12,96,0]]],r("Duplicate export for `%s`")],e_r=r("` is declared more than once."),n_r=r("Private fields may only be declared once. `#"),t_r=r("static "),u_r=r(C),i_r=r(JY),f_r=r("methods"),x_r=r("fields"),a_r=r(Fs),o_r=r(" named `"),c_r=r("Classes may not have "),s_r=r("` has not been declared."),v_r=r("Private fields must be declared before they can be referenced. `#"),l_r=[0,[11,r(dV),[2,0,[11,r("`. Parentheses are required to combine `??` with `&&` or `||` expressions."),0]]],r("Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.")],b_r=r("Parse_error.Error"),p_r=[0,r("src/third-party/sedlex/flow_sedlexing.ml"),v1,4],m_r=r("Flow_sedlexing.MalFormed"),__r=[0,1,0],y_r=[0,0,[0,1,0],[0,1,0]],d_r=r(JU),h_r=r("end of input"),k_r=r(rl),w_r=r("template literal part"),E_r=r(rl),S_r=r(XH),g_r=r(JU),F_r=r(rl),T_r=r(hv),O_r=r(rl),I_r=r(a1),A_r=r(rl),N_r=r(Tv),C_r=r("an"),P_r=r(_i),D_r=r(bi),L_r=[0,[11,r("token `"),[2,0,[12,96,0]]],r("token `%s`")],R_r=r(SH),j_r=r(p3),G_r=r("{|"),M_r=r("|}"),B_r=r(KX),q_r=r(Z0),U_r=r("["),H_r=r("]"),X_r=r($Y),Y_r=r(","),V_r=r(Ra),z_r=r("=>"),K_r=r("..."),W_r=r(AX),J_r=r(JY),$_r=r(M2),Z_r=r(N3),Q_r=r(R2),ryr=r(j2),eyr=r(Wu),nyr=r(P7),tyr=r(f1),uyr=r(g7),iyr=r(k4),fyr=r(U2),xyr=r(W6),ayr=r(P8),oyr=r(D2),cyr=r(G2),syr=r(xs),vyr=r(Ci),lyr=r(Gi),byr=r(I7),pyr=r(k6),myr=r(o6),_yr=r(A7),yyr=r(mi),dyr=r(y4),hyr=r(U8),kyr=r(tp),wyr=r(q2),Eyr=r(C7),Syr=r(eu),gyr=r(H4),Fyr=r(i1),Tyr=r(J2),Oyr=r(es),Iyr=r(ns),Ayr=r(p8),Nyr=r(y3),Cyr=r(qu),Pyr=r(yv),Dyr=r(gs),Lyr=r(r7),Ryr=r(d4),jyr=r(w4),Gyr=r(c6),Myr=r(S6),Byr=r(wu),qyr=r(O7),Uyr=r(T2),Hyr=r($c),Xyr=r(ud),Yyr=r(LS),Vyr=r(Os),zyr=r(wx),Kyr=r("%checks"),Wyr=r(bX),Jyr=r(ZX),$yr=r(vU),Zyr=r(TH),Qyr=r(dH),rdr=r(WH),edr=r(SX),ndr=r(yH),tdr=r(xY),udr=r(vX),idr=r(YU),fdr=r(rH),xdr=r(iV),adr=r(LU),odr=r(aX),cdr=r(zO),sdr=r("?."),vdr=r(Fn),ldr=r("?"),bdr=r(o1),pdr=r(ZH),mdr=r(XX),_dr=r(PH),ydr=r(A6),ddr=r(Bh),hdr=r(yV),kdr=r(UY),wdr=r(GX),Edr=r(ZY),Sdr=r(tX),gdr=r(PU),Fdr=r(g3),Tdr=r(cv),Odr=r(_Y),Idr=r(wX),Adr=r(mX),Ndr=r(as),Cdr=r(Oo),Pdr=r(Zu),Ddr=r(zU),Ldr=r(rX),Rdr=r(WY),jdr=r(rf),Gdr=r(tV),Mdr=r(mH),Bdr=r(lV),qdr=r(C),Udr=r(t6),Hdr=r(X8),Xdr=r(s7),Ydr=r(hv),Vdr=r(a1),zdr=r(Tv),Kdr=r(ns),Wdr=r(W4),Jdr=r(Zu),$dr=r(Zu),Zdr=r(O2),Qdr=r(I6),rhr=r("T_LCURLY"),ehr=r("T_RCURLY"),nhr=r("T_LCURLYBAR"),thr=r("T_RCURLYBAR"),uhr=r("T_LPAREN"),ihr=r("T_RPAREN"),fhr=r("T_LBRACKET"),xhr=r("T_RBRACKET"),ahr=r("T_SEMICOLON"),ohr=r("T_COMMA"),chr=r("T_PERIOD"),shr=r("T_ARROW"),vhr=r("T_ELLIPSIS"),lhr=r("T_AT"),bhr=r("T_POUND"),phr=r("T_FUNCTION"),mhr=r("T_IF"),_hr=r("T_IN"),yhr=r("T_INSTANCEOF"),dhr=r("T_RETURN"),hhr=r("T_SWITCH"),khr=r("T_THIS"),whr=r("T_THROW"),Ehr=r("T_TRY"),Shr=r("T_VAR"),ghr=r("T_WHILE"),Fhr=r("T_WITH"),Thr=r("T_CONST"),Ohr=r("T_LET"),Ihr=r("T_NULL"),Ahr=r("T_FALSE"),Nhr=r("T_TRUE"),Chr=r("T_BREAK"),Phr=r("T_CASE"),Dhr=r("T_CATCH"),Lhr=r("T_CONTINUE"),Rhr=r("T_DEFAULT"),jhr=r("T_DO"),Ghr=r("T_FINALLY"),Mhr=r("T_FOR"),Bhr=r("T_CLASS"),qhr=r("T_EXTENDS"),Uhr=r("T_STATIC"),Hhr=r("T_ELSE"),Xhr=r("T_NEW"),Yhr=r("T_DELETE"),Vhr=r("T_TYPEOF"),zhr=r("T_VOID"),Khr=r("T_ENUM"),Whr=r("T_EXPORT"),Jhr=r("T_IMPORT"),$hr=r("T_SUPER"),Zhr=r("T_IMPLEMENTS"),Qhr=r("T_INTERFACE"),rkr=r("T_PACKAGE"),ekr=r("T_PRIVATE"),nkr=r("T_PROTECTED"),tkr=r("T_PUBLIC"),ukr=r("T_YIELD"),ikr=r("T_DEBUGGER"),fkr=r("T_DECLARE"),xkr=r("T_TYPE"),akr=r("T_OPAQUE"),okr=r("T_OF"),ckr=r("T_ASYNC"),skr=r("T_AWAIT"),vkr=r("T_CHECKS"),lkr=r("T_RSHIFT3_ASSIGN"),bkr=r("T_RSHIFT_ASSIGN"),pkr=r("T_LSHIFT_ASSIGN"),mkr=r("T_BIT_XOR_ASSIGN"),_kr=r("T_BIT_OR_ASSIGN"),ykr=r("T_BIT_AND_ASSIGN"),dkr=r("T_MOD_ASSIGN"),hkr=r("T_DIV_ASSIGN"),kkr=r("T_MULT_ASSIGN"),wkr=r("T_EXP_ASSIGN"),Ekr=r("T_MINUS_ASSIGN"),Skr=r("T_PLUS_ASSIGN"),gkr=r("T_NULLISH_ASSIGN"),Fkr=r("T_AND_ASSIGN"),Tkr=r("T_OR_ASSIGN"),Okr=r("T_ASSIGN"),Ikr=r("T_PLING_PERIOD"),Akr=r("T_PLING_PLING"),Nkr=r("T_PLING"),Ckr=r("T_COLON"),Pkr=r("T_OR"),Dkr=r("T_AND"),Lkr=r("T_BIT_OR"),Rkr=r("T_BIT_XOR"),jkr=r("T_BIT_AND"),Gkr=r("T_EQUAL"),Mkr=r("T_NOT_EQUAL"),Bkr=r("T_STRICT_EQUAL"),qkr=r("T_STRICT_NOT_EQUAL"),Ukr=r("T_LESS_THAN_EQUAL"),Hkr=r("T_GREATER_THAN_EQUAL"),Xkr=r("T_LESS_THAN"),Ykr=r("T_GREATER_THAN"),Vkr=r("T_LSHIFT"),zkr=r("T_RSHIFT"),Kkr=r("T_RSHIFT3"),Wkr=r("T_PLUS"),Jkr=r("T_MINUS"),$kr=r("T_DIV"),Zkr=r("T_MULT"),Qkr=r("T_EXP"),rwr=r("T_MOD"),ewr=r("T_NOT"),nwr=r("T_BIT_NOT"),twr=r("T_INCR"),uwr=r("T_DECR"),iwr=r("T_EOF"),fwr=r("T_ANY_TYPE"),xwr=r("T_MIXED_TYPE"),awr=r("T_EMPTY_TYPE"),owr=r("T_NUMBER_TYPE"),cwr=r("T_BIGINT_TYPE"),swr=r("T_STRING_TYPE"),vwr=r("T_VOID_TYPE"),lwr=r("T_SYMBOL_TYPE"),bwr=r("T_NUMBER"),pwr=r("T_BIGINT"),mwr=r("T_STRING"),_wr=r("T_TEMPLATE_PART"),ywr=r("T_IDENTIFIER"),dwr=r("T_REGEXP"),hwr=r("T_ERROR"),kwr=r("T_JSX_IDENTIFIER"),wwr=r("T_JSX_TEXT"),Ewr=r("T_BOOLEAN_TYPE"),Swr=r("T_NUMBER_SINGLETON_TYPE"),gwr=r("T_BIGINT_SINGLETON_TYPE"),Fwr=[0,r(FX),VT,9],Twr=[0,r(FX),N6,9],Owr=r(HH),Iwr=r("*/"),Awr=r(HH),Nwr=r("unreachable line_comment"),Cwr=r("unreachable string_quote"),Pwr=r("\\"),Dwr=r("unreachable template_part"),Lwr=r("${"),Rwr=r(zY),jwr=r(zY),Gwr=r(UI),Mwr=r("unreachable regexp_class"),Bwr=r(oY),qwr=r("unreachable regexp_body"),Uwr=r(C),Hwr=r(C),Xwr=r(C),Ywr=r(C),Vwr=r("unreachable jsxtext"),zwr=r(D3),Kwr=r(V2),Wwr=r(g3),Jwr=r(cv),$wr=r(SH),Zwr=r(p3),Qwr=r("{'}'}"),rEr=r(p3),eEr=r("{'>'}"),nEr=r(cv),tEr=r(b1),uEr=r("iexcl"),iEr=r("aelig"),fEr=r("Nu"),xEr=r("Eacute"),aEr=r("Atilde"),oEr=r("'int'"),cEr=r("AElig"),sEr=r("Aacute"),vEr=r("Acirc"),lEr=r("Agrave"),bEr=r("Alpha"),pEr=r("Aring"),mEr=[0,SY],_Er=[0,913],yEr=[0,at],dEr=[0,iI],hEr=[0,VT],kEr=[0,_H],wEr=[0,8747],EEr=r("Auml"),SEr=r("Beta"),gEr=r("Ccedil"),FEr=r("Chi"),TEr=r("Dagger"),OEr=r("Delta"),IEr=r("ETH"),AEr=[0,wH],NEr=[0,916],CEr=[0,8225],PEr=[0,935],DEr=[0,uX],LEr=[0,914],REr=[0,WX],jEr=[0,vY],GEr=r("Icirc"),MEr=r("Ecirc"),BEr=r("Egrave"),qEr=r("Epsilon"),UEr=r("Eta"),HEr=r("Euml"),XEr=r("Gamma"),YEr=r("Iacute"),VEr=[0,$H],zEr=[0,915],KEr=[0,fV],WEr=[0,919],JEr=[0,917],$Er=[0,RU],ZEr=[0,xH],QEr=r("Igrave"),rSr=r("Iota"),eSr=r("Iuml"),nSr=r("Kappa"),tSr=r("Lambda"),uSr=r("Mu"),iSr=r("Ntilde"),fSr=[0,Zg],xSr=[0,924],aSr=[0,923],oSr=[0,922],cSr=[0,LX],sSr=[0,921],vSr=[0,rY],lSr=[0,CH],bSr=[0,mY],pSr=r("Sigma"),mSr=r("Otilde"),_Sr=r("OElig"),ySr=r("Oacute"),dSr=r("Ocirc"),hSr=r("Ograve"),kSr=r("Omega"),wSr=r("Omicron"),ESr=r("Oslash"),SSr=[0,d6],gSr=[0,927],FSr=[0,937],TSr=[0,N6],OSr=[0,EY],ISr=[0,EU],ASr=[0,338],NSr=r("Ouml"),CSr=r("Phi"),PSr=r("Pi"),DSr=r("Prime"),LSr=r("Psi"),RSr=r("Rho"),jSr=r("Scaron"),GSr=[0,352],MSr=[0,929],BSr=[0,936],qSr=[0,8243],USr=[0,928],HSr=[0,934],XSr=[0,dT],YSr=[0,qX],VSr=r("Uuml"),zSr=r("THORN"),KSr=r("Tau"),WSr=r("Theta"),JSr=r("Uacute"),$Sr=r("Ucirc"),ZSr=r("Ugrave"),QSr=r("Upsilon"),rgr=[0,933],egr=[0,sp],ngr=[0,NU],tgr=[0,Lw],ugr=[0,920],igr=[0,932],fgr=[0,NX],xgr=r("Xi"),agr=r("Yacute"),ogr=r("Yuml"),cgr=r("Zeta"),sgr=r("aacute"),vgr=r("acirc"),lgr=r("acute"),bgr=[0,mU],pgr=[0,tk],mgr=[0,HO],_gr=[0,918],ygr=[0,376],dgr=[0,HX],hgr=[0,926],kgr=[0,aA],wgr=[0,zX],Egr=[0,925],Sgr=r("delta"),ggr=r("cap"),Fgr=r("aring"),Tgr=r("agrave"),Ogr=r("alefsym"),Igr=r("alpha"),Agr=r("amp"),Ngr=r("and"),Cgr=r("ang"),Pgr=r("apos"),Dgr=[0,39],Lgr=[0,8736],Rgr=[0,8743],jgr=[0,38],Ggr=[0,945],Mgr=[0,8501],Bgr=[0,dv],qgr=r("asymp"),Ugr=r("atilde"),Hgr=r("auml"),Xgr=r("bdquo"),Ygr=r("beta"),Vgr=r("brvbar"),zgr=r("bull"),Kgr=[0,8226],Wgr=[0,MY],Jgr=[0,946],$gr=[0,8222],Zgr=[0,sV],Qgr=[0,eX],rFr=[0,8776],eFr=[0,dU],nFr=r("copy"),tFr=r("ccedil"),uFr=r("cedil"),iFr=r("cent"),fFr=r("chi"),xFr=r("circ"),aFr=r("clubs"),oFr=r("cong"),cFr=[0,8773],sFr=[0,9827],vFr=[0,iX],lFr=[0,967],bFr=[0,Sd],pFr=[0,wk],mFr=[0,VX],_Fr=r("crarr"),yFr=r("cup"),dFr=r("curren"),hFr=r("dArr"),kFr=r("dagger"),wFr=r("darr"),EFr=r("deg"),SFr=[0,kV],gFr=[0,8595],FFr=[0,8224],TFr=[0,8659],OFr=[0,PF],IFr=[0,8746],AFr=[0,8629],NFr=[0,RX],CFr=[0,8745],PFr=r("fnof"),DFr=r("ensp"),LFr=r("diams"),RFr=r("divide"),jFr=r("eacute"),GFr=r("ecirc"),MFr=r("egrave"),BFr=r(s7),qFr=r("emsp"),UFr=[0,8195],HFr=[0,8709],XFr=[0,eT],YFr=[0,aH],VFr=[0,wT],zFr=[0,jw],KFr=[0,9830],WFr=r("epsilon"),JFr=r("equiv"),$Fr=r("eta"),ZFr=r("eth"),QFr=r("euml"),rTr=r("euro"),eTr=r("exist"),nTr=[0,8707],tTr=[0,8364],uTr=[0,eH],iTr=[0,v1],fTr=[0,951],xTr=[0,8801],aTr=[0,949],oTr=[0,8194],cTr=r("gt"),sTr=r("forall"),vTr=r("frac12"),lTr=r("frac14"),bTr=r("frac34"),pTr=r("frasl"),mTr=r("gamma"),_Tr=r("ge"),yTr=[0,8805],dTr=[0,947],hTr=[0,8260],kTr=[0,PY],wTr=[0,cY],ETr=[0,sX],STr=[0,8704],gTr=r("hArr"),FTr=r("harr"),TTr=r("hearts"),OTr=r("hellip"),ITr=r("iacute"),ATr=r("icirc"),NTr=[0,pH],CTr=[0,YY],PTr=[0,8230],DTr=[0,9829],LTr=[0,8596],RTr=[0,8660],jTr=[0,62],GTr=[0,402],MTr=[0,948],BTr=[0,Bd],qTr=r("prime"),UTr=r("ndash"),HTr=r("le"),XTr=r("kappa"),YTr=r("igrave"),VTr=r("image"),zTr=r("infin"),KTr=r("iota"),WTr=r("iquest"),JTr=r("isin"),$Tr=r("iuml"),ZTr=[0,f6],QTr=[0,8712],rOr=[0,yX],eOr=[0,953],nOr=[0,8734],tOr=[0,8465],uOr=[0,mO],iOr=r("lArr"),fOr=r("lambda"),xOr=r("lang"),aOr=r("laquo"),oOr=r("larr"),cOr=r("lceil"),sOr=r("ldquo"),vOr=[0,8220],lOr=[0,8968],bOr=[0,8592],pOr=[0,yg],mOr=[0,10216],_Or=[0,955],yOr=[0,8656],dOr=[0,954],hOr=r("macr"),kOr=r("lfloor"),wOr=r("lowast"),EOr=r("loz"),SOr=r("lrm"),gOr=r("lsaquo"),FOr=r("lsquo"),TOr=r("lt"),OOr=[0,60],IOr=[0,8216],AOr=[0,8249],NOr=[0,_U],COr=[0,9674],POr=[0,8727],DOr=[0,8970],LOr=r("mdash"),ROr=r("micro"),jOr=r("middot"),GOr=r(pY),MOr=r("mu"),BOr=r("nabla"),qOr=r("nbsp"),UOr=[0,sY],HOr=[0,8711],XOr=[0,956],YOr=[0,8722],VOr=[0,mS],zOr=[0,Ai],KOr=[0,8212],WOr=[0,dX],JOr=[0,8804],$Or=r("or"),ZOr=r("oacute"),QOr=r("ne"),rIr=r("ni"),eIr=r("not"),nIr=r("notin"),tIr=r("nsub"),uIr=r("ntilde"),iIr=r("nu"),fIr=[0,957],xIr=[0,Wy],aIr=[0,8836],oIr=[0,8713],cIr=[0,BU],sIr=[0,8715],vIr=[0,8800],lIr=r("ocirc"),bIr=r("oelig"),pIr=r("ograve"),mIr=r("oline"),_Ir=r("omega"),yIr=r("omicron"),dIr=r("oplus"),hIr=[0,8853],kIr=[0,959],wIr=[0,969],EIr=[0,8254],SIr=[0,TT],gIr=[0,339],FIr=[0,l8],TIr=[0,uH],OIr=r("part"),IIr=r("ordf"),AIr=r("ordm"),NIr=r("oslash"),CIr=r("otilde"),PIr=r("otimes"),DIr=r("ouml"),LIr=r("para"),RIr=[0,Kg],jIr=[0,$2],GIr=[0,8855],MIr=[0,rV],BIr=[0,wt],qIr=[0,dh],UIr=[0,Xg],HIr=r("permil"),XIr=r("perp"),YIr=r("phi"),VIr=r("pi"),zIr=r("piv"),KIr=r("plusmn"),WIr=r("pound"),JIr=[0,Mn],$Ir=[0,oV],ZIr=[0,982],QIr=[0,960],rAr=[0,966],eAr=[0,8869],nAr=[0,8240],tAr=[0,8706],uAr=[0,8744],iAr=[0,8211],fAr=r("sup1"),xAr=r("rlm"),aAr=r("raquo"),oAr=r("prod"),cAr=r("prop"),sAr=r("psi"),vAr=r("quot"),lAr=r("rArr"),bAr=r("radic"),pAr=r("rang"),mAr=[0,10217],_Ar=[0,8730],yAr=[0,8658],dAr=[0,34],hAr=[0,968],kAr=[0,8733],wAr=[0,8719],EAr=r("rarr"),SAr=r("rceil"),gAr=r("rdquo"),FAr=r("real"),TAr=r("reg"),OAr=r("rfloor"),IAr=r("rho"),AAr=[0,961],NAr=[0,8971],CAr=[0,nH],PAr=[0,8476],DAr=[0,8221],LAr=[0,8969],RAr=[0,8594],jAr=[0,iw],GAr=r("sigma"),MAr=r("rsaquo"),BAr=r("rsquo"),qAr=r("sbquo"),UAr=r("scaron"),HAr=r("sdot"),XAr=r("sect"),YAr=r("shy"),VAr=[0,wY],zAr=[0,DT],KAr=[0,8901],WAr=[0,353],JAr=[0,8218],$Ar=[0,8217],ZAr=[0,8250],QAr=r("sigmaf"),rNr=r("sim"),eNr=r("spades"),nNr=r("sub"),tNr=r("sube"),uNr=r("sum"),iNr=r("sup"),fNr=[0,8835],xNr=[0,8721],aNr=[0,8838],oNr=[0,8834],cNr=[0,9824],sNr=[0,8764],vNr=[0,962],lNr=[0,963],bNr=[0,8207],pNr=r("uarr"),mNr=r("thetasym"),_Nr=r("sup2"),yNr=r("sup3"),dNr=r("supe"),hNr=r("szlig"),kNr=r("tau"),wNr=r("there4"),ENr=r("theta"),SNr=[0,952],gNr=[0,8756],FNr=[0,964],TNr=[0,d8],ONr=[0,8839],INr=[0,qY],ANr=[0,OO],NNr=r("thinsp"),CNr=r("thorn"),PNr=r("tilde"),DNr=r("times"),LNr=r("trade"),RNr=r("uArr"),jNr=r("uacute"),GNr=[0,nl],MNr=[0,8657],BNr=[0,8482],qNr=[0,cT],UNr=[0,732],HNr=[0,gv],XNr=[0,8201],YNr=[0,977],VNr=r("xi"),zNr=r("ucirc"),KNr=r("ugrave"),WNr=r("uml"),JNr=r("upsih"),$Nr=r("upsilon"),ZNr=r("uuml"),QNr=r("weierp"),rCr=[0,cU],eCr=[0,Y2],nCr=[0,965],tCr=[0,978],uCr=[0,DY],iCr=[0,249],fCr=[0,251],xCr=r("yacute"),aCr=r("yen"),oCr=r("yuml"),cCr=r("zeta"),sCr=r("zwj"),vCr=r("zwnj"),lCr=[0,FY],bCr=[0,8205],pCr=[0,950],mCr=[0,Ow],_Cr=[0,nY],yCr=[0,ih],dCr=[0,958],hCr=[0,8593],kCr=[0,AU],wCr=[0,8242],ECr=[0,WU],SCr=r($Y),gCr=r(Bh),FCr=r("unreachable jsx_child"),TCr=r("unreachable type_token wholenumber"),OCr=r("unreachable type_token wholebigint"),ICr=r("unreachable type_token floatbigint"),ACr=r("unreachable type_token scinumber"),NCr=r("unreachable type_token scibigint"),CCr=r("unreachable type_token hexnumber"),PCr=r("unreachable type_token hexbigint"),DCr=r("unreachable type_token legacyoctnumber"),LCr=r("unreachable type_token octnumber"),RCr=r("unreachable type_token octbigint"),jCr=r("unreachable type_token binnumber"),GCr=r("unreachable type_token bigbigint"),MCr=r("unreachable type_token"),BCr=r(o1),qCr=r(o1),UCr=r(FU),HCr=r(X8),XCr=r(t6),YCr=r(a1),VCr=r(I6),zCr=r(O2),KCr=r(s7),WCr=r(C7),JCr=r(Ci),$Cr=r(r7),ZCr=[9,1],QCr=[9,0],rPr=r(xs),ePr=r(hv),nPr=r(eu),tPr=r(Tv),uPr=r(W4),iPr=r(Gi),fPr=r(es),xPr=r(ns),aPr=r("unreachable template_tail"),oPr=r(p3),cPr=[0,r(C),r(C),r(C)],sPr=r("unreachable jsx_tag"),vPr=r(D3),lPr=r("unreachable regexp"),bPr=r("unreachable token wholenumber"),pPr=r("unreachable token wholebigint"),mPr=r("unreachable token floatbigint"),_Pr=r("unreachable token scinumber"),yPr=r("unreachable token scibigint"),dPr=r("unreachable token hexnumber"),hPr=r("unreachable token hexbigint"),kPr=r("unreachable token legacyoctnumber"),wPr=r("unreachable token legacynonoctnumber"),EPr=r("unreachable token octnumber"),SPr=r("unreachable token octbigint"),gPr=r("unreachable token bignumber"),FPr=r("unreachable token bigint"),TPr=r("unreachable token"),OPr=r(o1),IPr=r(o1),APr=r(FU),NPr=[6,r("#!")],CPr=r("expected ?"),PPr=r(j2),DPr=r(y4),LPr=r(D2),RPr=r(Os),jPr=r(wx),GPr=r(I7),MPr=r(k6),BPr=r(o6),qPr=r(q2),UPr=r(A7),HPr=r(O7),XPr=r(T2),YPr=r(mi),VPr=r(J2),zPr=r(tp),KPr=r(H4),WPr=r(p8),JPr=r(y3),$Pr=r(C7),ZPr=r(Ci),QPr=r(U8),rDr=r(M2),eDr=r(N3),nDr=r(gs),tDr=r(qu),uDr=r(R2),iDr=r(yv),fDr=r(d4),xDr=r(r7),aDr=r(G2),oDr=r(i1),cDr=r(xs),sDr=r(LS),vDr=r(ud),lDr=r(w4),bDr=r(c6),pDr=r(S6),mDr=r(Wu),_Dr=r(eu),yDr=r(es),dDr=r(P7),hDr=r(f1),kDr=r(g7),wDr=r(Gi),EDr=r(k4),SDr=r($c),gDr=r(U2),FDr=r(ns),TDr=r(W6),ODr=r(P8),IDr=r(wu),ADr=r("unreachable string_escape"),NDr=r($u),CDr=r(H2),PDr=r(H2),DDr=r($u),LDr=r(gX),RDr=r(lY),jDr=r("n"),GDr=r("r"),MDr=r("t"),BDr=r(hV),qDr=r(H2),UDr=r(b1),HDr=r(b1),XDr=r("unreachable id_char"),YDr=r(b1),VDr=r(b1),zDr=r("Invalid (lexer) bigint "),KDr=r("Invalid (lexer) bigint binary/octal "),WDr=r(H2),JDr=r(hH),$Dr=r(lU),ZDr=r(Dd),QDr=[10,r("token ILLEGAL")],rLr=r("\0"),eLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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"),nLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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"),tLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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"),uLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),iLr=r("\0\0"),fLr=r("\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),xLr=r(""),aLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),oLr=r("\0"),cLr=r("\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"),sLr=r("\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"),vLr=r("\0\0\0\0"),lLr=r("\0\0\0"),bLr=r("\x07\x07"),pLr=r("\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\0\0\0\0\0"),mLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),_Lr=r(`\x07\b  -\v\f\r`),yLr=r(""),dLr=r("\0\0\0"),hLr=r("\0"),kLr=r("\0\0\0\0\0\0"),wLr=r(""),ELr=r(""),SLr=r("\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"),gLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),FLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),TLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),OLr=r("\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"),ILr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ALr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),NLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),CLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),PLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),DLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),LLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\b\0\0\0\0\0\0 \x07\b"),RLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),jLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),GLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),MLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),BLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),qLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ULr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),HLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),XLr=r(`\x07\b -\v\x07\f\r\x1B  ! "#$%                                                                                                                                                                                                                                                         `),YLr=r(""),VLr=r(""),zLr=r("\0\0\0\0"),KLr=r(`\x07\b  -\v\f\r\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x1B\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07`),WLr=r(`\x07\b  -\v\f\r\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07`),JLr=r("\0\0"),$Lr=r(""),ZLr=r(""),QLr=r("\x07"),rRr=r("\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\0\0\0\0\0\0\0"),eRr=r("\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"),nRr=r("\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"),tRr=r("\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\0\0\0"),uRr=r("\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"),iRr=r("\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\0\0\0\0"),fRr=r("\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"),xRr=r("\0\0\0\0\0\0\0"),aRr=r("\x07"),oRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),cRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),sRr=r("\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\0\0\0\0\0"),vRr=r("\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"),lRr=r("\0"),bRr=r("\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"),pRr=r("\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"),mRr=r("\0\0"),_Rr=r("\0"),yRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),dRr=r(""),hRr=r("\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),kRr=r(""),wRr=r(""),ERr=r(""),SRr=r("\0"),gRr=r("\0\0\0"),FRr=r("\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"),TRr=r(""),ORr=r("\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\0\0\0\0\0\0\0\0\0\0\0"),IRr=r("\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\0\0\0\0\0"),ARr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),NRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),CRr=r("\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),PRr=[0,[11,r("the identifier `"),[2,0,[12,96,0]]],r("the identifier `%s`")],DRr=[0,1],LRr=[0,1],RRr=r("@flow"),jRr=r(EX),GRr=r(EX),MRr=[0,[11,r("an identifier. When exporting a "),[2,0,[11,r(" as a named export, you must specify a "),[2,0,[11,r(" name. Did you mean `export default "),[2,0,[11,r(" ...`?"),0]]]]]]],r("an identifier. When exporting a %s as a named export, you must specify a %s name. Did you mean `export default %s ...`?")],BRr=r(F3),qRr=r("Peeking current location when not available"),URr=r(r7),HRr=r(bv),XRr=r(t6),YRr=r(a1),VRr=r(I6),zRr=r(O2),KRr=r(s7),WRr=r(C7),JRr=r(Ci),$Rr=r(X8),ZRr=r(xs),QRr=r(hv),rjr=r(eu),ejr=r(Tv),njr=r(Gi),tjr=r(es),ujr=r(ns),ijr=r(Ci),fjr=r(xs),xjr=r(Gi),ajr=r(Ci),ojr=r(xs),cjr=r(Gi),sjr=r(C2),vjr=r("eval"),ljr=r(gs),bjr=r(r7),pjr=r(d4),mjr=r(w4),_jr=r(c6),yjr=r(S6),djr=r(eu),hjr=r(wu),kjr=r(p8),wjr=r(N3),Ejr=r(mi),Sjr=r(wx),gjr=r(I7),Fjr=r(k6),Tjr=r(o6),Ojr=r(q2),Ijr=r(D2),Ajr=r(A7),Njr=r(O7),Cjr=r(J2),Pjr=r(y4),Djr=r(H4),Ljr=r(y3),Rjr=r(C7),jjr=r(U8),Gjr=r(tp),Mjr=r(M2),Bjr=r(g7),qjr=r(qu),Ujr=r(R2),Hjr=r(j2),Xjr=r(i1),Yjr=r(Wu),Vjr=r(yv),zjr=r(P7),Kjr=r(f1),Wjr=r(k4),Jjr=r(es),$jr=r(U2),Zjr=r(ns),Qjr=r(W6),rGr=r(P8),eGr=r(wu),nGr=[0,r("src/parser/parser_env.ml"),343,9],tGr=r("Internal Error: Tried to add_declared_private with outside of class scope."),uGr=r("Internal Error: `exit_class` called before a matching `enter_class`"),iGr=r(C),fGr=[0,0,0],xGr=[0,0,0],aGr=r("Parser_env.Try.Rollback"),oGr=r(C),cGr=r(C),sGr=[0,r(wu),r(zx),r(ia),r(gU),r(AY),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(cH),r(da),r(oH),r(VU),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],vGr=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],lGr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],bGr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(AY),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(oH),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(VU),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(cH),r(Gx),r(fx),r(gf),r(Hf),r(gU),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],pGr=r(V4),mGr=r(I2),_Gr=[0,[11,r("Failure while looking up "),[2,0,[11,r(". Index: "),[4,0,0,0,[11,r(". Length: "),[4,0,0,0,[12,46,0]]]]]]],r("Failure while looking up %s. Index: %d. Length: %d.")],yGr=[0,0,0,0],dGr=r("Offset_utils.Offset_lookup_failed"),hGr=r(QY),kGr=r(wE),wGr=r(jY),EGr=r($X),SGr=r($X),gGr=r(jY),FGr=r($c),TGr=r(Xr),OGr=r(Wn),IGr=r("Program"),AGr=r(Yh),NGr=r("BreakStatement"),CGr=r(Yh),PGr=r("ContinueStatement"),DGr=r("DebuggerStatement"),LGr=r(vc),RGr=r("DeclareExportAllDeclaration"),jGr=r(vc),GGr=r(Cv),MGr=r(P2),BGr=r(mi),qGr=r("DeclareExportDeclaration"),UGr=r(Zc),HGr=r(Wn),XGr=r(mt),YGr=r("DeclareModule"),VGr=r(N7),zGr=r("DeclareModuleExports"),KGr=r(Ts),WGr=r(Wn),JGr=r("DoWhileStatement"),$Gr=r("EmptyStatement"),ZGr=r(_O),QGr=r(P2),rMr=r("ExportDefaultDeclaration"),eMr=r(_O),nMr=r(A4),tMr=r(vc),uMr=r("ExportAllDeclaration"),iMr=r(_O),fMr=r(vc),xMr=r(Cv),aMr=r(P2),oMr=r("ExportNamedDeclaration"),cMr=r(hn),sMr=r(Au),vMr=r("ExpressionStatement"),lMr=r(Wn),bMr=r(sU),pMr=r(Ts),mMr=r(ji),_Mr=r("ForStatement"),yMr=r(j8),dMr=r(Wn),hMr=r(Nu),kMr=r(li),wMr=r("ForInStatement"),EMr=r(wx),SMr=r(Wn),gMr=r(Nu),FMr=r(li),TMr=r("ForOfStatement"),OMr=r(_3),IMr=r(kv),AMr=r(Ts),NMr=r("IfStatement"),CMr=r($c),PMr=r(es),DMr=r(Bn),LMr=r(pX),RMr=r(vc),jMr=r(Cv),GMr=r("ImportDeclaration"),MMr=r(Wn),BMr=r(Yh),qMr=r("LabeledStatement"),UMr=r(v7),HMr=r("ReturnStatement"),XMr=r(uY),YMr=r("discriminant"),VMr=r("SwitchStatement"),zMr=r(v7),KMr=r("ThrowStatement"),WMr=r(jH),JMr=r(XU),$Mr=r(ut),ZMr=r("TryStatement"),QMr=r(Wn),rBr=r(Ts),eBr=r("WhileStatement"),nBr=r(Wn),tBr=r(ck),uBr=r("WithStatement"),iBr=r(GH),fBr=r("ArrayExpression"),xBr=r(T7),aBr=r(m6),oBr=r(Au),cBr=r(Qu),sBr=r(j7),vBr=r(Os),lBr=r(Wn),bBr=r(Ct),pBr=r(mt),mBr=r("ArrowFunctionExpression"),_Br=r(zO),yBr=r(Nu),dBr=r(li),hBr=r(ul),kBr=r("AssignmentExpression"),wBr=r(Nu),EBr=r(li),SBr=r(ul),gBr=r("BinaryExpression"),FBr=r("CallExpression"),TBr=r(O4),OBr=r(bY),IBr=r("ComprehensionExpression"),ABr=r(_3),NBr=r(kv),CBr=r(Ts),PBr=r("ConditionalExpression"),DBr=r(O4),LBr=r(bY),RBr=r("GeneratorExpression"),jBr=r(vc),GBr=r("ImportExpression"),MBr=r(ZH),BBr=r(XX),qBr=r(Fn),UBr=r(Nu),HBr=r(li),XBr=r(ul),YBr=r("LogicalExpression"),VBr=r("MemberExpression"),zBr=r(Iv),KBr=r(el),WBr=r("MetaProperty"),JBr=r(C2),$Br=r(CX),ZBr=r(UH),QBr=r("NewExpression"),rqr=r(X4),eqr=r("ObjectExpression"),nqr=r(Bu),tqr=r("OptionalCallExpression"),uqr=r(Bu),iqr=r("OptionalMemberExpression"),fqr=r(Ug),xqr=r("SequenceExpression"),aqr=r("Super"),oqr=r("ThisExpression"),cqr=r(N7),sqr=r(Au),vqr=r("TypeCastExpression"),lqr=r(v7),bqr=r("AwaitExpression"),pqr=r(Oo),mqr=r(as),_qr=r(rf),yqr=r(tV),dqr=r(es),hqr=r(ns),kqr=r(J2),wqr=r("matched above"),Eqr=r(v7),Sqr=r(XE),gqr=r(ul),Fqr=r("UnaryExpression"),Tqr=r(lV),Oqr=r(mH),Iqr=r(XE),Aqr=r(v7),Nqr=r(ul),Cqr=r("UpdateExpression"),Pqr=r(yY),Dqr=r(v7),Lqr=r("YieldExpression"),Rqr=r("Unexpected FunctionDeclaration with BodyExpression"),jqr=r(T7),Gqr=r(m6),Mqr=r(Au),Bqr=r(Qu),qqr=r(j7),Uqr=r(Os),Hqr=r(Wn),Xqr=r(Ct),Yqr=r(mt),Vqr=r("FunctionDeclaration"),zqr=r("Unexpected FunctionExpression with BodyExpression"),Kqr=r(T7),Wqr=r(m6),Jqr=r(Au),$qr=r(Qu),Zqr=r(j7),Qqr=r(Os),rUr=r(Wn),eUr=r(Ct),nUr=r(mt),tUr=r("FunctionExpression"),uUr=r(Bu),iUr=r(N7),fUr=r(ti),xUr=r(gn),aUr=r(Bu),oUr=r(N7),cUr=r(ti),sUr=r("PrivateIdentifier"),vUr=r(Bu),lUr=r(N7),bUr=r(ti),pUr=r(gn),mUr=r(kv),_Ur=r(Ts),yUr=r("SwitchCase"),dUr=r(Wn),hUr=r("param"),kUr=r("CatchClause"),wUr=r(Wn),EUr=r("BlockStatement"),SUr=r(mt),gUr=r("DeclareVariable"),FUr=r(Qu),TUr=r(mt),OUr=r("DeclareFunction"),IUr=r(Vy),AUr=r(gs),NUr=r(C7),CUr=r(Wn),PUr=r(T7),DUr=r(mt),LUr=r("DeclareClass"),RUr=r(C7),jUr=r(Wn),GUr=r(T7),MUr=r(mt),BUr=r("DeclareInterface"),qUr=r(Bn),UUr=r($c),HUr=r(A4),XUr=r("ExportNamespaceSpecifier"),YUr=r(Nu),VUr=r(T7),zUr=r(mt),KUr=r("DeclareTypeAlias"),WUr=r(Nu),JUr=r(T7),$Ur=r(mt),ZUr=r("TypeAlias"),QUr=r("DeclareOpaqueType"),rHr=r("OpaqueType"),eHr=r(IX),nHr=r(kX),tHr=r(T7),uHr=r(mt),iHr=r("ClassDeclaration"),fHr=r("ClassExpression"),xHr=r(B_),aHr=r(gs),oHr=r("superTypeParameters"),cHr=r("superClass"),sHr=r(T7),vHr=r(Wn),lHr=r(mt),bHr=r(Au),pHr=r("Decorator"),mHr=r(T7),_Hr=r(mt),yHr=r("ClassImplements"),dHr=r(Wn),hHr=r("ClassBody"),kHr=r(wv),wHr=r(F2),EHr=r(t1),SHr=r(lv),gHr=r(B_),FHr=r(pv),THr=r(eu),OHr=r(Zc),IHr=r(Bn),AHr=r(ui),NHr=r("MethodDefinition"),CHr=r(T2),PHr=r(ou),DHr=r(eu),LHr=r(pv),RHr=r(N7),jHr=r(Bn),GHr=r(ui),MHr=r(vV),BHr=r("Internal Error: Private name found in class prop"),qHr=r(T2),UHr=r(ou),HHr=r(eu),XHr=r(pv),YHr=r(N7),VHr=r(Bn),zHr=r(ui),KHr=r(vV),WHr=r(mt),JHr=r(PX),$Hr=r(ji),ZHr=r(mt),QHr=r("EnumStringMember"),rXr=r(mt),eXr=r(PX),nXr=r(ji),tXr=r(mt),uXr=r("EnumNumberMember"),iXr=r(ji),fXr=r(mt),xXr=r("EnumBooleanMember"),aXr=r(O8),oXr=r(jT),cXr=r(N4),sXr=r("EnumBooleanBody"),vXr=r(O8),lXr=r(jT),bXr=r(N4),pXr=r("EnumNumberBody"),mXr=r(O8),_Xr=r(jT),yXr=r(N4),dXr=r("EnumStringBody"),hXr=r(O8),kXr=r(N4),wXr=r("EnumSymbolBody"),EXr=r(Wn),SXr=r(mt),gXr=r("EnumDeclaration"),FXr=r(C7),TXr=r(Wn),OXr=r(T7),IXr=r(mt),AXr=r("InterfaceDeclaration"),NXr=r(T7),CXr=r(mt),PXr=r("InterfaceExtends"),DXr=r(N7),LXr=r(X4),RXr=r("ObjectPattern"),jXr=r(N7),GXr=r(GH),MXr=r("ArrayPattern"),BXr=r(Nu),qXr=r(li),UXr=r(jF),HXr=r(N7),XXr=r(ti),YXr=r(gn),VXr=r(v7),zXr=r(cX),KXr=r(v7),WXr=r(cX),JXr=r(Nu),$Xr=r(li),ZXr=r(jF),QXr=r(ji),rYr=r(ji),eYr=r(t1),nYr=r(lv),tYr=r(bH),uYr=r(pv),iYr=r(x6),fYr=r(F2),xYr=r(Zc),aYr=r(Bn),oYr=r(ui),cYr=r(wU),sYr=r(v7),vYr=r("SpreadProperty"),lYr=r(Nu),bYr=r(li),pYr=r(jF),mYr=r(pv),_Yr=r(x6),yYr=r(F2),dYr=r(Zc),hYr=r(Bn),kYr=r(ui),wYr=r(wU),EYr=r(v7),SYr=r("SpreadElement"),gYr=r(j8),FYr=r(Nu),TYr=r(li),OYr=r("ComprehensionBlock"),IYr=r("We should not create Literal nodes for bigints"),AYr=r(UX),NYr=r(pi),CYr=r("regex"),PYr=r(o7),DYr=r(Bn),LYr=r(o7),RYr=r(Bn),jYr=r(X6),GYr=r(o7),MYr=r(Bn),BYr=r(X6),qYr=r(a1),UYr=r(Bn),HYr=r("BigIntLiteral"),XYr=r(o7),YYr=r(Bn),VYr=r(X6),zYr=r(Gi),KYr=r(Ci),WYr=r(o7),JYr=r(Bn),$Yr=r(X6),ZYr=r(Ug),QYr=r("quasis"),rVr=r("TemplateLiteral"),eVr=r(GY),nVr=r(o7),tVr=r(bU),uVr=r(Bn),iVr=r("TemplateElement"),fVr=r(OY),xVr=r("tag"),aVr=r("TaggedTemplateExpression"),oVr=r(U2),cVr=r(G2),sVr=r(D2),vVr=r(Zc),lVr=r("declarations"),bVr=r("VariableDeclaration"),pVr=r(ji),mVr=r(mt),_Vr=r("VariableDeclarator"),yVr=r(Zc),dVr=r("Variance"),hVr=r("AnyTypeAnnotation"),kVr=r("MixedTypeAnnotation"),wVr=r("EmptyTypeAnnotation"),EVr=r("VoidTypeAnnotation"),SVr=r("NullLiteralTypeAnnotation"),gVr=r("SymbolTypeAnnotation"),FVr=r("NumberTypeAnnotation"),TVr=r("BigIntTypeAnnotation"),OVr=r("StringTypeAnnotation"),IVr=r("BooleanTypeAnnotation"),AVr=r(N7),NVr=r("NullableTypeAnnotation"),CVr=r(T7),PVr=r(ch),DVr=r(m6),LVr=r(f1),RVr=r(Ct),jVr=r("FunctionTypeAnnotation"),GVr=r(Bu),MVr=r(N7),BVr=r(ti),qVr=r(qH),UVr=r(Bu),HVr=r(N7),XVr=r(ti),YVr=r(qH),VVr=[0,0,0,0,0],zVr=r("internalSlots"),KVr=r("callProperties"),WVr=r("indexers"),JVr=r(X4),$Vr=r("exact"),ZVr=r(HY),QVr=r("ObjectTypeAnnotation"),rzr=r(bH),ezr=r("There should not be computed object type property keys"),nzr=r(ji),tzr=r(t1),uzr=r(lv),izr=r(Zc),fzr=r(ou),xzr=r(Y3),azr=r(eu),ozr=r(Bu),czr=r(F2),szr=r(Bn),vzr=r(ui),lzr=r("ObjectTypeProperty"),bzr=r(v7),pzr=r("ObjectTypeSpreadProperty"),mzr=r(ou),_zr=r(eu),yzr=r(Bn),dzr=r(ui),hzr=r(mt),kzr=r("ObjectTypeIndexer"),wzr=r(eu),Ezr=r(Bn),Szr=r("ObjectTypeCallProperty"),gzr=r(Bn),Fzr=r(F2),Tzr=r(eu),Ozr=r(Bu),Izr=r(mt),Azr=r("ObjectTypeInternalSlot"),Nzr=r(Wn),Czr=r(C7),Pzr=r("InterfaceTypeAnnotation"),Dzr=r("elementType"),Lzr=r("ArrayTypeAnnotation"),Rzr=r(mt),jzr=r(fY),Gzr=r("QualifiedTypeIdentifier"),Mzr=r(T7),Bzr=r(mt),qzr=r("GenericTypeAnnotation"),Uzr=r("indexType"),Hzr=r("objectType"),Xzr=r("IndexedAccessType"),Yzr=r(Bu),Vzr=r("OptionalIndexedAccessType"),zzr=r(Z6),Kzr=r("UnionTypeAnnotation"),Wzr=r(Z6),Jzr=r("IntersectionTypeAnnotation"),$zr=r(v7),Zzr=r("TypeofTypeAnnotation"),Qzr=r(mt),rKr=r(fY),eKr=r("QualifiedTypeofIdentifier"),nKr=r(Z6),tKr=r("TupleTypeAnnotation"),uKr=r(o7),iKr=r(Bn),fKr=r("StringLiteralTypeAnnotation"),xKr=r(o7),aKr=r(Bn),oKr=r("NumberLiteralTypeAnnotation"),cKr=r(o7),sKr=r(Bn),vKr=r("BigIntLiteralTypeAnnotation"),lKr=r(Gi),bKr=r(Ci),pKr=r(o7),mKr=r(Bn),_Kr=r("BooleanLiteralTypeAnnotation"),yKr=r("ExistsTypeAnnotation"),dKr=r(N7),hKr=r("TypeAnnotation"),kKr=r(Ct),wKr=r("TypeParameterDeclaration"),EKr=r(mi),SKr=r(ou),gKr=r(MU),FKr=r(ti),TKr=r("TypeParameter"),OKr=r(Ct),IKr=r(AH),AKr=r(Ct),NKr=r(AH),CKr=r(bv),PKr=r(Ve),DKr=r("closingElement"),LKr=r("openingElement"),RKr=r("JSXElement"),jKr=r("closingFragment"),GKr=r(Ve),MKr=r("openingFragment"),BKr=r("JSXFragment"),qKr=r("selfClosing"),UKr=r(kY),HKr=r(ti),XKr=r("JSXOpeningElement"),YKr=r("JSXOpeningFragment"),VKr=r(ti),zKr=r("JSXClosingElement"),KKr=r("JSXClosingFragment"),WKr=r(Bn),JKr=r(ti),$Kr=r("JSXAttribute"),ZKr=r(v7),QKr=r("JSXSpreadAttribute"),rWr=r("JSXEmptyExpression"),eWr=r(Au),nWr=r("JSXExpressionContainer"),tWr=r(Au),uWr=r("JSXSpreadChild"),iWr=r(o7),fWr=r(Bn),xWr=r("JSXText"),aWr=r(Iv),oWr=r(ck),cWr=r("JSXMemberExpression"),sWr=r(ti),vWr=r("namespace"),lWr=r("JSXNamespacedName"),bWr=r(ti),pWr=r("JSXIdentifier"),mWr=r(A4),_Wr=r(B2),yWr=r("ExportSpecifier"),dWr=r(B2),hWr=r("ImportDefaultSpecifier"),kWr=r(B2),wWr=r("ImportNamespaceSpecifier"),EWr=r(pX),SWr=r(B2),gWr=r("imported"),FWr=r("ImportSpecifier"),TWr=r("Line"),OWr=r("Block"),IWr=r(Bn),AWr=r(Bn),NWr=r("DeclaredPredicate"),CWr=r("InferredPredicate"),PWr=r(C2),DWr=r(CX),LWr=r(UH),RWr=r(pv),jWr=r(Iv),GWr=r(ck),MWr=r("message"),BWr=r(wE),qWr=r(KH),UWr=r(S7),HWr=r(vc),XWr=r(I2),YWr=r(V4),VWr=[0,[3,0,0],r(Yt)],zWr=r(M2),KWr=r(N3),WWr=r(R2),JWr=r(j2),$Wr=r(Wu),ZWr=r(P7),QWr=r(f1),rJr=r(g7),eJr=r(k4),nJr=r(U2),tJr=r(W6),uJr=r(P8),iJr=r(D2),fJr=r(G2),xJr=r(xs),aJr=r(Ci),oJr=r(Gi),cJr=r(I7),sJr=r(k6),vJr=r(o6),lJr=r(A7),bJr=r(mi),pJr=r(y4),mJr=r(U8),_Jr=r(tp),yJr=r(q2),dJr=r(C7),hJr=r(eu),kJr=r(H4),wJr=r(i1),EJr=r(J2),SJr=r(es),gJr=r(ns),FJr=r(p8),TJr=r(y3),OJr=r(qu),IJr=r(yv),AJr=r(gs),NJr=r(r7),CJr=r(d4),PJr=r(w4),DJr=r(c6),LJr=r(S6),RJr=r(wu),jJr=r(O7),GJr=r(T2),MJr=r($c),BJr=r(ud),qJr=r(LS),UJr=r(Os),HJr=r(wx),XJr=r(t6),YJr=r(X8),VJr=r(s7),zJr=r(hv),KJr=r(a1),WJr=r(Tv),JJr=r(ns),$Jr=r(W4),ZJr=r(O2),QJr=r(I6),r$r=[0,r(F3)],e$r=r(C),n$r=[7,0],t$r=r(C),u$r=[0,1],i$r=[0,2],f$r=[0,3],x$r=[0,0],a$r=[0,0],o$r=[0,0,0,0,0],c$r=[0,r(vv),906,6],s$r=[0,r(vv),tY,6],v$r=[0,0],l$r=[0,r(vv),1012,8],b$r=r(Y3),p$r=[0,r(vv),1029,8],m$r=r("Can not have both `static` and `proto`"),_$r=r(eu),y$r=r(Y3),d$r=r(t1),h$r=r(lv),k$r=r(t1),w$r=r(wv),E$r=r(lH),S$r=[0,0,0,0],g$r=[0,[0,0,0,0,0]],F$r=r(f1),T$r=[0,r("a type")],O$r=[0,0],I$r=[0,0],A$r=[14,1],N$r=[14,0],C$r=[0,r(vv),OH,15],P$r=[0,r(vv),D7,15],D$r=[0,44],L$r=[0,44],R$r=r(M2),j$r=[0,r(C),0],G$r=[0,0,0],M$r=[0,0,0],B$r=[0,0,0],q$r=[0,41],U$r=r(Zu),H$r=r(Zu),X$r=[0,r("a regular expression")],Y$r=r(C),V$r=r(C),z$r=r(C),K$r=[0,r("src/parser/expression_parser.ml"),jU,17],W$r=[0,r("a template literal part")],J$r=[0,[0,r(C),r(C)],1],$$r=r(xs),Z$r=r(xs),Q$r=r(Gi),rZr=r(Ci),eZr=r("Invalid bigint "),nZr=r("Invalid bigint binary/octal "),tZr=r(H2),uZr=r(hH),iZr=r(Dd),fZr=r(Dd),xZr=r(lU),aZr=[0,44],oZr=[0,1],cZr=[0,1],sZr=[0,1],vZr=[0,1],lZr=[0,0],bZr=r(bv),pZr=r(bv),mZr=r(i1),_Zr=r(OS),yZr=[0,r("the identifier `target`")],dZr=[0,0],hZr=r(qu),kZr=r(el),wZr=r(el),EZr=r(yv),SZr=[0,0],gZr=[0,r("either a call or access of `super`")],FZr=r(yv),TZr=[0,0],OZr=[0,1],IZr=[0,0],AZr=[0,1],NZr=[0,0],CZr=[0,1],PZr=[0,0],DZr=[0,2],LZr=[0,3],RZr=[0,7],jZr=[0,6],GZr=[0,4],MZr=[0,5],BZr=[0,[0,17,[0,2]]],qZr=[0,[0,18,[0,3]]],UZr=[0,[0,19,[0,4]]],HZr=[0,[0,0,[0,5]]],XZr=[0,[0,1,[0,5]]],YZr=[0,[0,2,[0,5]]],VZr=[0,[0,3,[0,5]]],zZr=[0,[0,5,[0,6]]],KZr=[0,[0,7,[0,6]]],WZr=[0,[0,4,[0,6]]],JZr=[0,[0,6,[0,6]]],$Zr=[0,[0,8,[0,7]]],ZZr=[0,[0,9,[0,7]]],QZr=[0,[0,10,[0,7]]],rQr=[0,[0,11,[0,8]]],eQr=[0,[0,12,[0,8]]],nQr=[0,[0,15,[0,9]]],tQr=[0,[0,13,[0,9]]],uQr=[0,[0,14,[1,10]]],iQr=[0,[0,16,[0,9]]],fQr=[0,[0,21,[0,6]]],xQr=[0,[0,20,[0,6]]],aQr=[23,r(Fn)],oQr=[0,[0,8]],cQr=[0,[0,7]],sQr=[0,[0,6]],vQr=[0,[0,10]],lQr=[0,[0,9]],bQr=[0,[0,11]],pQr=[0,[0,5]],mQr=[0,[0,4]],_Qr=[0,[0,2]],yQr=[0,[0,3]],dQr=[0,[0,1]],hQr=[0,[0,0]],kQr=[0,[0,12]],wQr=[0,[0,13]],EQr=[0,[0,14]],SQr=[0,0],gQr=r(qu),FQr=r(i1),TQr=r(OS),OQr=r(el),IQr=r(Os),AQr=r(qu),NQr=r(i1),CQr=r(OS),PQr=r(el),DQr=r(o1),LQr=r(Ra),RQr=[17,r("JSX fragment")],jQr=[0,Ni],GQr=[1,Ni],MQr=r(C),BQr=[0,r(C)],qQr=[0,r(F3)],UQr=r(C),HQr=[0,0,0,0],XQr=[0,r("src/hack_forked/utils/collections/flow_map.ml"),717,36],YQr=[0,0,0],VQr=r(q2),zQr=[0,r(C),0],KQr=r("unexpected PrivateName in Property, expected a PrivateField"),WQr=r(wv),JQr=r(lH),$Qr=[0,0,0],ZQr=r(wv),QQr=r(wv),r0e=r(t1),e0e=r(lv),n0e=[0,1],t0e=[0,1],u0e=[0,1],i0e=r(wv),f0e=r(t1),x0e=r(lv),a0e=r(zO),o0e=r(wu),c0e=r(wx),s0e=r("Internal Error: private name found in object props"),v0e=r(pV),l0e=[0,r(F3)],b0e=r(wu),p0e=r(wx),m0e=r(wu),_0e=r(wx),y0e=r(pV),d0e=[10,r(_i)],h0e=[0,1],k0e=r(c1),w0e=r(K2),E0e=[0,r(GS),1763,21],S0e=r(K2),g0e=r(c1),F0e=[0,r("a declaration, statement or export specifiers")],T0e=[0,40],O0e=r(c1),I0e=r(K2),A0e=[0,r(C),r(C),0],N0e=[0,r(OU)],C0e=r(hU),P0e=r("exports"),D0e=[0,1],L0e=[0,1],R0e=[0,0],j0e=r(hU),G0e=[0,40],M0e=r(Vy),B0e=[0,0],q0e=[0,1],U0e=[0,83],H0e=[0,0],X0e=[0,1],Y0e=r(c1),V0e=r(c1),z0e=r(K2),K0e=r(c1),W0e=[0,r("the keyword `as`")],J0e=r(c1),$0e=r(K2),Z0e=[0,r(OU)],Q0e=[0,r("the keyword `from`")],rre=[0,r(C),r(C),0],ere=[0,r(aU)],nre=r("Label"),tre=[0,r(aU)],ure=[0,0,0],ire=[0,29],fre=[0,r(GS),431,22],xre=[0,28],are=[0,r(GS),450,22],ore=[0,0],cre=r("the token `;`"),sre=[0,0],vre=[0,0],lre=r(wx),bre=r(G2),pre=r(wu),mre=[0,r(KU)],_re=[15,[0,0]],yre=[0,r(KU)],dre=r("use strict"),hre=[0,0,0,0],kre=r(UI),wre=r("Nooo: "),Ere=r(mi),Sre=r("Parser error: No such thing as an expression pattern!"),gre=r(C),Fre=[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]],Tre=[0,r("src/parser/parser_flow.ml"),DT,28],Ore=[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]],Ire=r(Bn),Are=r(QY),Nre=r(I2),Cre=r(V4),Pre=r(KH),Dre=r(I2),Lre=r(V4),Rre=r(S7),jre=r(wE),Gre=r("normal"),Mre=r($c),Bre=r("jsxTag"),qre=r("jsxChild"),Ure=r("template"),Hre=r(XH),Xre=r("context"),Yre=r($c),Vre=r("use_strict"),zre=r(Z6),Kre=r("esproposal_export_star_as"),Wre=r("esproposal_decorators"),Jre=r("enums"),$re=r("Internal error: ");function jt(t){if(typeof t=="number")return 0;switch(t[0]){case 0:return[0,jt(t[1])];case 1:return[1,jt(t[1])];case 2:return[2,jt(t[1])];case 3:return[3,jt(t[1])];case 4:return[4,jt(t[1])];case 5:return[5,jt(t[1])];case 6:return[6,jt(t[1])];case 7:return[7,jt(t[1])];case 8:var n=t[1];return[8,n,jt(t[2])];case 9:var e=t[1];return[9,e,e,jt(t[3])];case 10:return[10,jt(t[1])];case 11:return[11,jt(t[1])];case 12:return[12,jt(t[1])];case 13:return[13,jt(t[1])];default:return[14,jt(t[1])]}}function t7(t,n){if(typeof t=="number")return n;switch(t[0]){case 0:return[0,t7(t[1],n)];case 1:return[1,t7(t[1],n)];case 2:return[2,t7(t[1],n)];case 3:return[3,t7(t[1],n)];case 4:return[4,t7(t[1],n)];case 5:return[5,t7(t[1],n)];case 6:return[6,t7(t[1],n)];case 7:return[7,t7(t[1],n)];case 8:var e=t[1];return[8,e,t7(t[2],n)];case 9:var i=t[2],x=t[1];return[9,x,i,t7(t[3],n)];case 10:return[10,t7(t[1],n)];case 11:return[11,t7(t[1],n)];case 12:return[12,t7(t[1],n)];case 13:return[13,t7(t[1],n)];default:return[14,t7(t[1],n)]}}function It(t,n){if(typeof t=="number")return n;switch(t[0]){case 0:return[0,It(t[1],n)];case 1:return[1,It(t[1],n)];case 2:var e=t[1];return[2,e,It(t[2],n)];case 3:var i=t[1];return[3,i,It(t[2],n)];case 4:var x=t[3],c=t[2],s=t[1];return[4,s,c,x,It(t[4],n)];case 5:var p=t[3],y=t[2],T=t[1];return[5,T,y,p,It(t[4],n)];case 6:var E=t[3],h=t[2],w=t[1];return[6,w,h,E,It(t[4],n)];case 7:var G=t[3],A=t[2],S=t[1];return[7,S,A,G,It(t[4],n)];case 8:var M=t[3],K=t[2],V=t[1];return[8,V,K,M,It(t[4],n)];case 9:var f0=t[1];return[9,f0,It(t[2],n)];case 10:return[10,It(t[1],n)];case 11:var m0=t[1];return[11,m0,It(t[2],n)];case 12:var k0=t[1];return[12,k0,It(t[2],n)];case 13:var g0=t[2],e0=t[1];return[13,e0,g0,It(t[3],n)];case 14:var x0=t[2],l=t[1];return[14,l,x0,It(t[3],n)];case 15:return[15,It(t[1],n)];case 16:return[16,It(t[1],n)];case 17:var c0=t[1];return[17,c0,It(t[2],n)];case 18:var t0=t[1];return[18,t0,It(t[2],n)];case 19:return[19,It(t[1],n)];case 20:var a0=t[2],w0=t[1];return[20,w0,a0,It(t[3],n)];case 21:var _0=t[1];return[21,_0,It(t[2],n)];case 22:return[22,It(t[1],n)];case 23:var E0=t[1];return[23,E0,It(t[2],n)];default:var X0=t[2],b=t[1];return[24,b,X0,It(t[3],n)]}}function iN(t,n,e){return t[1]===n?(t[1]=e,1):0}function ke(t){throw[0,B7,t]}function Cu(t){throw[0,eN,t]}G7(0);function Fp(t){return 0<=t?t:-t|0}var Zre=kH;function Te(t,n){var e=nn(t),i=nn(n),x=Pt(e+i|0);return As(t,0,x,0,e),As(n,0,x,e,i),x}function Qre(t){return t?ki0:wi0}function un(t,n){if(t){var e=t[1];return[0,e,un(t[2],n)]}return n}ri0(0);var ree=ZV(1),Lc=ZV(2);function eee(t){function n(e){for(var i=e;;){if(i){var x=i[2],c=i[1];try{m1(c)}catch(y){if(y=Et(y),y[1]!==nz)throw y;var s=y}var i=x;continue}return 0}}return n(ei0(0))}function vl(t,n){return JA(t,n,0,nn(n))}function cz(t){return vl(Lc,t),QV(Lc,10),m1(Lc)}var fN=[0,eee];function sz(t){for(;;){var n=fN[1],e=[0,1],i=1-iN(fN,n,function(x,c){return function(s){return iN(x,1,0)&&u(t,0),u(c,0)}}(e,n));if(!i)return i}}function xN(t){return u(fN[1],0)}ZA(r(mV),xN),oi0(0)&&sz(function(t){return O70(t)});function vz(t){return 25<(t+V3|0)>>>0?t:t+SU|0}var lz=si0(0)[1],ll=(4*ai0(0)|0)-1|0;G7(0);var nee=xi0(0);function Rc(t){for(var n=0,e=t;;){if(e){var n=n+1|0,e=e[2];continue}return n}}function bl(t){return t?t[1]:ke(Ni0)}function bz(t){return t?t[2]:ke(Ai0)}function jc(t,n){for(var e=t,i=n;;){if(e){var x=[0,e[1],i],e=e[2],i=x;continue}return i}}function de(t){return jc(t,0)}function pl(t){if(t){var n=t[1];return un(n,pl(t[2]))}return 0}function k1(t,n){if(n){var e=n[2],i=u(t,n[1]);return[0,i,k1(t,e)]}return 0}function Tp(t,n){for(var e=0,i=n;;){if(i){var x=i[2],e=[0,u(t,i[1]),e],i=x;continue}return e}}function Pu(t,n){for(var e=n;;){if(e){var i=e[2];u(t,e[1]);var e=i;continue}return 0}}function be(t,n,e){for(var i=n,x=e;;){if(x){var c=x[2],i=a(t,i,x[1]),x=c;continue}return i}}function aN(t,n,e){if(n){var i=n[1];return a(t,i,aN(t,n[2],e))}return e}function pz(t,n,e){for(var i=n,x=e;;){if(i){if(x){var c=x[2],s=i[2];a(t,i[1],x[1]);var i=s,x=c;continue}}else if(!x)return 0;return Cu(Ii0)}}function oN(t,n){for(var e=n;;){if(e){var i=e[2],x=BV(e[1],t)===0?1:0;if(x)return x;var e=i;continue}return 0}}function tee(t,n){for(var e=n;;){if(e){var i=e[1],x=e[2],c=i[2];if(BV(i[1],t)===0)return c;var e=x;continue}throw Kt}}function ml(t){var n=0;return function(e){for(var i=n,x=e;;){if(x){var c=x[2],s=x[1];if(u(t,s)){var i=[0,s,i],x=c;continue}var x=c;continue}return de(i)}}}function w1(t,n){var e=Pt(t);return T70(e,0,t,n),e}function mz(t){var n=l7(t),e=Pt(n);return Is(t,0,e,0,n),e}function _z(t,n,e){if(0<=n&&0<=e&&!((l7(t)-e|0)>>0||(c=1):65<=x&&(c=1);else{var s=0;if(x!==32)if(43<=x)switch(x+cy|0){case 5:if(i<(e+2|0)&&1>>0?33<(x+TS|0)>>>0&&(c=1):x===2&&(c=1),!c){var n=n+1|0;continue}var s=t,p=[0,0],y=l7(s)-1|0,T=0;if(!(y<0))for(var E=T;;){var h=Hu(s,E),w=0;if(32<=h){var G=h-34|0,A=0;if(58>>0?93<=G&&(A=1):56<(G-1|0)>>>0&&(w=1,A=1),!A){var S=1;w=2}}else 11<=h?h===13&&(w=1):8<=h&&(w=1);switch(w){case 0:var S=4;break;case 1:var S=2;break}p[1]=p[1]+S|0;var M=E+1|0;if(y!==E){var E=M;continue}break}if(p[1]===l7(s))var K=mz(s);else{var V=Pt(p[1]);p[1]=0;var f0=l7(s)-1|0,m0=0;if(!(f0<0))for(var k0=m0;;){var g0=Hu(s,k0),e0=0;if(35<=g0)g0===92?e0=2:zn<=g0?e0=1:e0=3;else if(32<=g0)34<=g0?e0=2:e0=3;else if(14<=g0)e0=1;else switch(g0){case 8:Jn(V,p[1],92),p[1]++,Jn(V,p[1],98);break;case 9:Jn(V,p[1],92),p[1]++,Jn(V,p[1],x1);break;case 10:Jn(V,p[1],92),p[1]++,Jn(V,p[1],Ht);break;case 13:Jn(V,p[1],92),p[1]++,Jn(V,p[1],u1);break;default:e0=1}switch(e0){case 1:Jn(V,p[1],92),p[1]++,Jn(V,p[1],48+(g0/ni|0)|0),p[1]++,Jn(V,p[1],48+((g0/10|0)%10|0)|0),p[1]++,Jn(V,p[1],48+(g0%10|0)|0);break;case 2:Jn(V,p[1],92),p[1]++,Jn(V,p[1],g0);break;case 3:Jn(V,p[1],g0);break}p[1]++;var x0=k0+1|0;if(f0!==k0){var k0=x0;continue}break}var K=V}var i=K}var l=nn(i),c0=w1(l+2|0,34);return As(i,0,c0,1,l),c0}}function Tz(t,n){var e=Fp(n),i=iz?iz[1]:70;switch(t[2]){case 0:var x=Ri;break;case 1:var x=L7;break;case 2:var x=69;break;case 3:var x=c7;break;case 4:var x=71;break;case 5:var x=i;break;case 6:var x=D7;break;case 7:var x=72;break;default:var x=70}var c=Ez(16);switch(Xv(c,37),t[1]){case 0:break;case 1:Xv(c,43);break;default:Xv(c,32)}return 8<=t[2]&&Xv(c,35),Xv(c,46),Du(c,r(C+e)),Xv(c,x),gz(c)}function Np(t,n){if(13<=t){var e=[0,0],i=nn(n)-1|0,x=0;if(!(i<0))for(var c=x;;){9<(Vr(n,c)+zt|0)>>>0||e[1]++;var s=c+1|0;if(i!==c){var c=s;continue}break}var p=e[1],y=Pt(nn(n)+((p-1|0)/3|0)|0),T=[0,0],E=function(K){return p1(y,T[1],K),T[1]++,0},h=[0,((p-1|0)%3|0)+1|0],w=nn(n)-1|0,G=0;if(!(w<0))for(var A=G;;){var S=Vr(n,A);9<(S+zt|0)>>>0||(h[1]===0&&(E(95),h[1]=3),h[1]+=-1),E(S);var M=A+1|0;if(w!==A){var A=M;continue}break}return y}return n}function oee(t,n){switch(t){case 1:var e=Bx0;break;case 2:var e=qx0;break;case 4:var e=Ux0;break;case 5:var e=Hx0;break;case 6:var e=Xx0;break;case 7:var e=Yx0;break;case 8:var e=Vx0;break;case 9:var e=zx0;break;case 10:var e=Kx0;break;case 11:var e=Wx0;break;case 0:case 13:var e=Jx0;break;case 3:case 14:var e=$x0;break;default:var e=Zx0}return Np(t,hp(e,n))}function cee(t,n){switch(t){case 1:var e=bx0;break;case 2:var e=px0;break;case 4:var e=mx0;break;case 5:var e=_x0;break;case 6:var e=yx0;break;case 7:var e=dx0;break;case 8:var e=hx0;break;case 9:var e=kx0;break;case 10:var e=wx0;break;case 11:var e=Ex0;break;case 0:case 13:var e=Sx0;break;case 3:case 14:var e=gx0;break;default:var e=Fx0}return Np(t,hp(e,n))}function see(t,n){switch(t){case 1:var e=ex0;break;case 2:var e=nx0;break;case 4:var e=tx0;break;case 5:var e=ux0;break;case 6:var e=ix0;break;case 7:var e=fx0;break;case 8:var e=xx0;break;case 9:var e=ax0;break;case 10:var e=ox0;break;case 11:var e=cx0;break;case 0:case 13:var e=sx0;break;case 3:case 14:var e=vx0;break;default:var e=lx0}return Np(t,hp(e,n))}function vee(t,n){switch(t){case 1:var e=Tx0;break;case 2:var e=Ox0;break;case 4:var e=Ix0;break;case 5:var e=Ax0;break;case 6:var e=Nx0;break;case 7:var e=Cx0;break;case 8:var e=Px0;break;case 9:var e=Dx0;break;case 10:var e=Lx0;break;case 11:var e=Rx0;break;case 0:case 13:var e=jx0;break;case 3:case 14:var e=Gx0;break;default:var e=Mx0}return Np(t,L70(e,n))}function vs(t,n,e){function i(m0){switch(t[1]){case 0:var k0=45;break;case 1:var k0=43;break;default:var k0=32}return N70(e,n,k0)}function x(m0){var k0=l70(e);return k0===3?e<0?Zf0:Qf0:4<=k0?$f0:m0}switch(t[2]){case 5:for(var c=zA(Tz(t,n),e),s=0,p=nn(c);;){if(s===p)var y=0;else{var T=Ot(c,s)+l1|0,E=0;if(23>>0?T===55&&(E=1):21<(T-1|0)>>>0&&(E=1),!E){var s=s+1|0;continue}var y=1}var h=y?c:Te(c,rx0);return x(h)}case 6:return i(0);case 7:var w=i(0),G=l7(w);if(G===0)var A=w;else{var S=Pt(G),M=G-1|0,K=0;if(!(M<0))for(var V=K;;){Jn(S,V,vz(Hu(w,V)));var f0=V+1|0;if(M!==V){var V=f0;continue}break}var A=S}return A;case 8:return x(i(0));default:return zA(Tz(t,n),e)}}function kl(t,n,e,i){for(var x=n,c=e,s=i;;){if(typeof s=="number")return u(x,c);switch(s[0]){case 0:var p=s[1];return function(or){return Xn(x,[5,c,or],p)};case 1:var y=s[1];return function(or){var _r=0;if(40<=or)if(or===92)var Ir=Ei0;else zn<=or?_r=1:_r=2;else if(32<=or)if(39<=or)var Ir=Si0;else _r=2;else if(14<=or)_r=1;else switch(or){case 8:var Ir=gi0;break;case 9:var Ir=Fi0;break;case 10:var Ir=Ti0;break;case 13:var Ir=Oi0;break;default:_r=1}switch(_r){case 1:var fe=Pt(4);Jn(fe,0,92),Jn(fe,1,48+(or/ni|0)|0),Jn(fe,2,48+((or/10|0)%10|0)|0),Jn(fe,3,48+(or%10|0)|0);var Ir=fe;break;case 2:var v0=Pt(1);Jn(v0,0,or);var Ir=v0;break}var P=nn(Ir),L=w1(P+2|0,39);return As(Ir,0,L,1,P),Xn(x,[4,c,L],y)};case 2:var T=s[2],E=s[1];return dN(x,c,T,E,function(or){return or});case 3:return dN(x,c,s[2],s[1],aee);case 4:return Cp(x,c,s[4],s[2],s[3],oee,s[1]);case 5:return Cp(x,c,s[4],s[2],s[3],cee,s[1]);case 6:return Cp(x,c,s[4],s[2],s[3],see,s[1]);case 7:return Cp(x,c,s[4],s[2],s[3],vee,s[1]);case 8:var h=s[4],w=s[3],G=s[2],A=s[1];if(typeof G=="number"){if(typeof w=="number")return w?function(or,_r){return Xn(x,[4,c,vs(A,or,_r)],h)}:function(or){return Xn(x,[4,c,vs(A,pN(A),or)],h)};var S=w[1];return function(or){return Xn(x,[4,c,vs(A,S,or)],h)}}else{if(G[0]===0){var M=G[2],K=G[1];if(typeof w=="number")return w?function(or,_r){return Xn(x,[4,c,U7(K,M,vs(A,or,_r))],h)}:function(or){return Xn(x,[4,c,U7(K,M,vs(A,pN(A),or))],h)};var V=w[1];return function(or){return Xn(x,[4,c,U7(K,M,vs(A,V,or))],h)}}var f0=G[1];if(typeof w=="number")return w?function(or,_r,Ir){return Xn(x,[4,c,U7(f0,or,vs(A,_r,Ir))],h)}:function(or,_r){return Xn(x,[4,c,U7(f0,or,vs(A,pN(A),_r))],h)};var m0=w[1];return function(or,_r){return Xn(x,[4,c,U7(f0,or,vs(A,m0,_r))],h)}}case 9:return dN(x,c,s[2],s[1],Qre);case 10:var c=[7,c],s=s[1];continue;case 11:var c=[2,c,s[1]],s=s[2];continue;case 12:var c=[3,c,s[1]],s=s[2];continue;case 13:var k0=s[3],g0=s[2],e0=Ez(16);mN(e0,g0);var x0=gz(e0);return function(or){return Xn(x,[4,c,x0],k0)};case 14:var l=s[3],c0=s[2];return function(or){var _r=or[1],Ir=_t(_r,jt(tu(c0)));if(typeof Ir[2]=="number")return Xn(x,c,It(Ir[1],l));throw Tu};case 15:var t0=s[1];return function(or,_r){return Xn(x,[6,c,function(Ir){return a(or,Ir,_r)}],t0)};case 16:var a0=s[1];return function(or){return Xn(x,[6,c,or],a0)};case 17:var c=[0,c,s[1]],s=s[2];continue;case 18:var w0=s[1];if(w0[0]===0){var _0=s[2],E0=w0[1][1],X0=0,x=function(fe,v0,P){return function(L){return Xn(v0,[1,fe,[0,L]],P)}}(c,x,_0),c=X0,s=E0;continue}var b=s[2],G0=w0[1][1],X=0,x=function(or,_r,Ir){return function(fe){return Xn(_r,[1,or,[1,fe]],Ir)}}(c,x,b),c=X,s=G0;continue;case 19:throw[0,wn,Cf0];case 20:var s0=s[3],dr=[8,c,Pf0];return function(or){return Xn(x,dr,s0)};case 21:var Ar=s[2];return function(or){return Xn(x,[4,c,hp(Nf0,or)],Ar)};case 22:var ar=s[1];return function(or){return Xn(x,[5,c,or],ar)};case 23:var W0=s[2],Lr=s[1];if(typeof Lr=="number")switch(Lr){case 0:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 1:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 2:throw[0,wn,Df0];default:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0])}else switch(Lr[0]){case 0:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 1:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 2:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 3:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 4:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 5:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 6:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 7:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 8:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 9:var Tr=Lr[2];return t<50?_N(t+1|0,x,c,Tr,W0):Fu(_N,[0,x,c,Tr,W0]);case 10:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);default:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0])}default:var Hr=s[3],Or=s[1],xr=u(s[2],0);return t<50?yN(t+1|0,x,c,Hr,Or,xr):Fu(yN,[0,x,c,Hr,Or,xr])}}}function _N(t,n,e,i,x){if(typeof i=="number")return t<50?ct(t+1|0,n,e,x):Fu(ct,[0,n,e,x]);switch(i[0]){case 0:var c=i[1];return function(m0){return ii(n,e,c,x)};case 1:var s=i[1];return function(m0){return ii(n,e,s,x)};case 2:var p=i[1];return function(m0){return ii(n,e,p,x)};case 3:var y=i[1];return function(m0){return ii(n,e,y,x)};case 4:var T=i[1];return function(m0){return ii(n,e,T,x)};case 5:var E=i[1];return function(m0){return ii(n,e,E,x)};case 6:var h=i[1];return function(m0){return ii(n,e,h,x)};case 7:var w=i[1];return function(m0){return ii(n,e,w,x)};case 8:var G=i[2];return function(m0){return ii(n,e,G,x)};case 9:var A=i[3],S=i[2],M=lu(tu(i[1]),S);return function(m0){return ii(n,e,t7(M,A),x)};case 10:var K=i[1];return function(m0,k0){return ii(n,e,K,x)};case 11:var V=i[1];return function(m0){return ii(n,e,V,x)};case 12:var f0=i[1];return function(m0){return ii(n,e,f0,x)};case 13:throw[0,wn,Lf0];default:throw[0,wn,Rf0]}}function ct(t,n,e,i){var x=[8,e,jf0];return t<50?kl(t+1|0,n,x,i):Fu(kl,[0,n,x,i])}function yN(t,n,e,i,x,c){if(x){var s=x[1];return function(y){return lee(n,e,i,s,u(c,y))}}var p=[4,e,c];return t<50?kl(t+1|0,n,p,i):Fu(kl,[0,n,p,i])}function Xn(t,n,e){return QA(kl(0,t,n,e))}function ii(t,n,e,i){return QA(_N(0,t,n,e,i))}function lee(t,n,e,i,x){return QA(yN(0,t,n,e,i,x))}function dN(t,n,e,i,x){if(typeof i=="number")return function(y){return Xn(t,[4,n,u(x,y)],e)};if(i[0]===0){var c=i[2],s=i[1];return function(y){return Xn(t,[4,n,U7(s,c,u(x,y))],e)}}var p=i[1];return function(y,T){return Xn(t,[4,n,U7(p,y,u(x,T))],e)}}function Cp(t,n,e,i,x,c,s){if(typeof i=="number"){if(typeof x=="number")return x?function(G,A){return Xn(t,[4,n,Yv(G,a(c,s,A))],e)}:function(G){return Xn(t,[4,n,a(c,s,G)],e)};var p=x[1];return function(G){return Xn(t,[4,n,Yv(p,a(c,s,G))],e)}}else{if(i[0]===0){var y=i[2],T=i[1];if(typeof x=="number")return x?function(G,A){return Xn(t,[4,n,U7(T,y,Yv(G,a(c,s,A)))],e)}:function(G){return Xn(t,[4,n,U7(T,y,a(c,s,G))],e)};var E=x[1];return function(G){return Xn(t,[4,n,U7(T,y,Yv(E,a(c,s,G)))],e)}}var h=i[1];if(typeof x=="number")return x?function(G,A,S){return Xn(t,[4,n,U7(h,G,Yv(A,a(c,s,S)))],e)}:function(G,A){return Xn(t,[4,n,U7(h,G,a(c,s,A))],e)};var w=x[1];return function(G,A){return Xn(t,[4,n,U7(h,G,Yv(w,a(c,s,A)))],e)}}}function ls(t,n){for(var e=n;;){if(typeof e=="number")return 0;switch(e[0]){case 0:var i=e[1],x=Fz(e[2]);return ls(t,i),vl(t,x);case 1:var c=e[2],s=e[1];if(c[0]===0){var p=c[1];ls(t,s),vl(t,Gf0);var e=p;continue}var y=c[1];ls(t,s),vl(t,Mf0);var e=y;continue;case 6:var T=e[2];return ls(t,e[1]),u(T,t);case 7:return ls(t,e[1]),m1(t);case 8:var E=e[2];return ls(t,e[1]),Cu(E);case 2:case 4:var h=e[2];return ls(t,e[1]),vl(t,h);default:var w=e[2];return ls(t,e[1]),QV(t,w)}}}function bs(t,n){for(var e=n;;){if(typeof e=="number")return 0;switch(e[0]){case 0:var i=e[1],x=Fz(e[2]);return bs(t,i),mn(t,x);case 1:var c=e[2],s=e[1];if(c[0]===0){var p=c[1];bs(t,s),mn(t,Bf0);var e=p;continue}var y=c[1];bs(t,s),mn(t,qf0);var e=y;continue;case 6:var T=e[2];return bs(t,e[1]),mn(t,u(T,0));case 7:var e=e[1];continue;case 8:var E=e[2];return bs(t,e[1]),Cu(E);case 2:case 4:var h=e[2];return bs(t,e[1]),mn(t,h);default:var w=e[2];return bs(t,e[1]),qi(t,w)}}}function bee(t){if(qn(t,Hf0))return Xf0;var n=nn(t);function e(S){var M=Uf0[1],K=$n(C4);return u(Xn(function(V){return bs(K,V),ke(Gt(K))},0,M),t)}function i(S){for(var M=S;;){if(M===n)return M;var K=Ot(t,M);if(K!==9&&K!==32)return M;var M=M+1|0}}function x(S,M){for(var K=M;;){if(K===n||25<(Ot(t,K)+V3|0)>>>0)return K;var K=K+1|0}}function c(S,M){for(var K=M;;){if(K===n)return K;var V=Ot(t,K),f0=0;if(48<=V?58<=V||(f0=1):V===45&&(f0=1),f0){var K=K+1|0;continue}return K}}var s=i(0),p=x(s,s),y=p7(t,s,p-s|0),T=i(p),E=c(T,T);if(T===E)var h=0;else try{var w=Bi(p7(t,T,E-T|0)),h=w}catch(S){if(S=Et(S),S[1]!==B7)throw S;var h=e(0)}i(E)!==n&&e(0);var G=0;if(n0(y,Yf0)&&n0(y,Vf0))var A=n0(y,zf0)?n0(y,Kf0)?n0(y,Wf0)?n0(y,Jf0)?e(0):1:2:3:0;else G=1;if(G)var A=4;return[0,h,A]}function hN(t,n){var e=n[1],i=0;return Xn(function(x){return ls(t,x),0},i,e)}function kN(t){return hN(Lc,t)}function Qn(t){var n=t[1];return Xn(function(e){var i=$n(64);return bs(i,e),Gt(i)},0,n)}var wN=[0,0];function EN(t,n){var e=t[1+n];if(1-(typeof e=="number"?1:0)){if(h1(e)===Y2)return u(Qn(Da0),e);if(h1(e)===ih)for(var i=zA(di0,e),x=0,c=nn(i);;){if(c<=x)return Te(i,hi0);var s=Ot(i,x),p=0;if(48<=s?58<=s||(p=1):s===45&&(p=1),p){var x=x+1|0;continue}return i}return La0}return u(Qn(Pa0),e)}function Oz(t,n){if(t.length-1<=n)return aa0;var e=Oz(t,n+1|0),i=EN(t,n);return a(Qn(oa0),i,e)}function Pp(t){function n(k0){for(var g0=k0;;){if(g0){var e0=g0[2],x0=g0[1];try{var l=0,c0=u(x0,t);l=1}catch{}if(l&&c0)return[0,c0[1]];var g0=e0;continue}return 0}}var e=n(wN[1]);if(e)return e[1];if(t===rN)return Sa0;if(t===uz)return ga0;if(t[1]===tz){var i=t[2],x=i[3],c=i[2],s=i[1];return b7(Qn(nN),s,c,x,x+5|0,Fa0)}if(t[1]===wn){var p=t[2],y=p[3],T=p[2],E=p[1];return b7(Qn(nN),E,T,y,y+6|0,Ta0)}if(t[1]===sl){var h=t[2],w=h[3],G=h[2],A=h[1];return b7(Qn(nN),A,G,w,w+6|0,Oa0)}if(h1(t)===0){var S=t.length-1,M=t[1][1];if(2>>0)var K=Oz(t,2),V=EN(t,1),f0=a(Qn(Ia0),V,K);else switch(S){case 0:var f0=Aa0;break;case 1:var f0=Na0;break;default:var m0=EN(t,1),f0=u(Qn(Ca0),m0)}return Te(M,f0)}return t[1]}function SN(t,n){var e=F70(n),i=e.length-1-1|0,x=0;if(!(i<0))for(var c=x;;){var s=nu(e,c)[1+c],p=function(f0){return function(m0){return m0?f0===0?ma0:_a0:f0===0?ya0:da0}}(c);if(s[0]===0)var y=s[5],T=s[4],E=s[3],h=s[6]?ha0:ka0,w=s[2],G=s[7],A=p(s[1]),M=[0,mi0(Qn(wa0),A,G,w,h,E,T,y)];else if(s[1])var M=0;else var S=p(0),M=[0,u(Qn(Ea0),S)];if(M){var K=M[1];u(hN(t,ba0),K)}var V=c+1|0;if(i!==c){var c=V;continue}break}return 0}function Iz(t){for(;;){var n=wN[1],e=1-iN(wN,n,[0,t,n]);if(!e)return e}}var pee=Ra0.slice();function mee(t,n){var e=Pp(t);u(kN(la0),e),SN(Lc,n);var i=U70(0);if(i<0){var x=Fp(i);cz(nu(pee,x)[1+x])}return m1(Lc)}var _ee=[0];ZA(r(BH),function(t,n){try{try{var e=n?_ee:HV(0);try{xN(0)}catch{}try{var i=mee(t,e),x=i}catch(y){y=Et(y);var c=Pp(t);u(kN(ca0),c),SN(Lc,e);var s=Pp(y);u(kN(sa0),s),SN(Lc,HV(0));var x=m1(Lc)}var p=x}catch(y){if(y=Et(y),y!==rN)throw y;var p=cz(va0)}return p}catch{return 0}});var gN=[wt,to0,G7(0)],Dp=0,Az=-1;function wl(t,n){return t[13]=t[13]+n[3]|0,vN(n,t[28])}var Nz=1000000010;function FN(t,n){return ir(t[17],n,0,nn(n))}function Lp(t){return u(t[19],0)}function Cz(t,n,e){return t[9]=t[9]-n|0,FN(t,e),t[11]=0,0}function Rp(t,n){var e=n0(n,no0);return e&&Cz(t,nn(n),n)}function Vv(t,n,e){var i=n[3],x=n[2];Rp(t,n[1]),Lp(t),t[11]=1;var c=(t[6]-e|0)+x|0,s=t[8],p=s<=c?s:c;return t[10]=p,t[9]=t[6]-t[10]|0,u(t[21],t[10]),Rp(t,i)}function Pz(t,n){return Vv(t,eo0,n)}function El(t,n){var e=n[2],i=n[3];return Rp(t,n[1]),t[9]=t[9]-e|0,u(t[20],e),Rp(t,i)}function Dz(t){for(;;){var n=t[28][2],e=n?[0,n[1]]:0;if(e){var i=e[1],x=i[1],c=i[2],s=0<=x?1:0,p=i[3],y=t[13]-t[12]|0,T=s||(t[9]<=y?1:0);if(T){var E=t[28],h=E[2];if(h){if(h[2]){var w=h[2];E[1]=E[1]-1|0,E[2]=w}else sN(E);var G=0<=x?x:Nz;if(typeof c=="number")switch(c){case 0:var A=Hv(t[3]);if(A){var S=A[1][1],M=function(L,Q){if(Q){var i0=Q[1],l0=Q[2];return q70(L,i0)?[0,L,Q]:[0,i0,M(L,l0)]}return[0,L,0]};S[1]=M(t[6]-t[9]|0,S[1])}break;case 1:Uv(t[2]);break;case 2:Uv(t[3]);break;case 3:var K=Hv(t[2]);K?Pz(t,K[1][2]):Lp(t);break;case 4:if(t[10]!==(t[6]-t[9]|0)){var V=t[28],f0=V[2];if(f0){var m0=f0[1];if(f0[2]){var k0=f0[2];V[1]=V[1]-1|0,V[2]=k0;var g0=[0,m0]}else{sN(V);var g0=[0,m0]}}else var g0=0;if(g0){var e0=g0[1],x0=e0[1];t[12]=t[12]-e0[3]|0,t[9]=t[9]+x0|0}}break;default:var l=Uv(t[5]);l&&FN(t,u(t[25],l[1]))}else switch(c[0]){case 0:Cz(t,G,c[1]);break;case 1:var c0=c[2],t0=c[1],a0=c0[1],w0=c0[2],_0=Hv(t[2]);if(_0){var E0=_0[1],X0=E0[2];switch(E0[1]){case 0:El(t,t0);break;case 1:Vv(t,c0,X0);break;case 2:Vv(t,c0,X0);break;case 3:t[9]<(G+nn(a0)|0)?Vv(t,c0,X0):El(t,t0);break;case 4:t[11]||!(t[9]<(G+nn(a0)|0)||((t[6]-X0|0)+w0|0)>>0)&&Pz(t,_r)}else Lp(t)}var fe=t[9]-Wr|0,v0=Rr===1?1:t[9]>>18|0),e(Rt|(n>>>12|0)&63),e(Rt|(n>>>6|0)&63),e(Rt|n&63)):Vd<=n?(e(dv|n>>>12|0),e(Rt|(n>>>6|0)&63),e(Rt|n&63)):Rt<=n?(e(at|n>>>6|0),e(Rt|n&63)):e(n)}var qN=j0,u7=null,eK=void 0;function Bp(t){return t!==eK?1:0}var Dee=qN.Array,UN=[wt,po0,G7(0)],Lee=qN.Error;Fee(mo0,[0,UN,{}]);function nK(t){throw t}Iz(function(t){return t[1]===UN?[0,M7(t[2].toString())]:0}),Iz(function(t){return t instanceof Dee?0:[0,M7(t.toString())]});var Dr=bu(m3r,p3r),Ln=bu(y3r,_3r),qp=bu(h3r,d3r),Tl=bu(w3r,k3r),F1=bu(S3r,E3r),HN=bu(F3r,g3r),tK=bu(O3r,T3r),XN=bu(A3r,I3r),zv=bu(C3r,N3r),Up=bu(D3r,P3r),Je=bu(R3r,L3r),Xu=bu(G3r,j3r),qe=bu(B3r,M3r),YN=bu(U3r,q3r),di=bu(X3r,H3r),uu=bu(V3r,Y3r),T1=bu(K3r,z3r),Ps=bu(J3r,W3r),VN=function t(n,e,i,x){return t.fun(n,e,i,x)},uK=function t(n,e,i){return t.fun(n,e,i)},Ree=bu(Z3r,$3r);N(VN,function(t,n,e,i){u(f(e),Z8r),a(f(e),r3r,Q8r);var x=i[1];u(f(e),e3r);var c=0;be(function(y,T){y&&u(f(e),$8r);function E(h){return u(t,h)}return ir(uu[1],E,e,T),1},c,x),u(f(e),n3r),u(f(e),t3r),u(f(e),u3r),a(f(e),f3r,i3r);var s=i[2];u(f(e),x3r);var p=0;return be(function(y,T){y&&u(f(e),J8r);function E(h){return u(t,h)}return ir(uu[1],E,e,T),1},p,s),u(f(e),a3r),u(f(e),o3r),u(f(e),c3r),a(f(e),v3r,s3r),a(n,e,i[3]),u(f(e),l3r),u(f(e),b3r)}),N(uK,function(t,n,e){var i=a(VN,t,n);return a(P0(W8r),i,e)}),pu(Q3r,Dr,[0,VN,uK]);var zN=function t(n,e,i,x){return t.fun(n,e,i,x)},iK=function t(n,e,i){return t.fun(n,e,i)},Hp=function t(n,e,i){return t.fun(n,e,i)},fK=function t(n,e){return t.fun(n,e)};N(zN,function(t,n,e,i){u(f(e),V8r),a(n,e,i[1]),u(f(e),z8r);var x=i[2];return ir(Hp,function(c){return u(t,c)},e,x),u(f(e),K8r)}),N(iK,function(t,n,e){var i=a(zN,t,n);return a(P0(Y8r),i,e)}),N(Hp,function(t,n,e){u(f(n),C8r),a(f(n),D8r,P8r);var i=e[1];a(f(n),L8r,i),u(f(n),R8r),u(f(n),j8r),a(f(n),M8r,G8r);var x=e[2];if(x){g(n,B8r);var c=x[1],s=function(y,T){return g(y,N8r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,q8r)}else g(n,U8r);return u(f(n),H8r),u(f(n),X8r)}),N(fK,function(t,n){var e=u(Hp,t);return a(P0(A8r),e,n)}),pu(r6r,Ln,[0,zN,iK,Hp,fK]);var KN=function t(n,e,i){return t.fun(n,e,i)},xK=function t(n,e){return t.fun(n,e)},Xp=function t(n,e,i){return t.fun(n,e,i)},aK=function t(n,e){return t.fun(n,e)};N(KN,function(t,n,e){u(f(n),T8r),a(t,n,e[1]),u(f(n),O8r);var i=e[2];return ir(Xp,function(x){return u(t,x)},n,i),u(f(n),I8r)}),N(xK,function(t,n){var e=u(KN,t);return a(P0(F8r),e,n)}),N(Xp,function(t,n,e){u(f(n),l8r),a(f(n),p8r,b8r);var i=e[1];a(f(n),m8r,i),u(f(n),_8r),u(f(n),y8r),a(f(n),h8r,d8r);var x=e[2];if(x){g(n,k8r);var c=x[1],s=function(y,T){return g(y,v8r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,w8r)}else g(n,E8r);return u(f(n),S8r),u(f(n),g8r)}),N(aK,function(t,n){var e=u(Xp,t);return a(P0(s8r),e,n)}),pu(e6r,qp,[0,KN,xK,Xp,aK]);function oK(t,n){u(f(t),Q4r),a(f(t),e8r,r8r);var e=n[1];a(f(t),n8r,e),u(f(t),t8r),u(f(t),u8r),a(f(t),f8r,i8r);var i=n[2];return a(f(t),x8r,i),u(f(t),a8r),u(f(t),o8r)}var cK=[0,oK,function(t){return a(P0(c8r),oK,t)}],WN=function t(n,e,i){return t.fun(n,e,i)},sK=function t(n,e){return t.fun(n,e)},Yp=function t(n,e){return t.fun(n,e)},vK=function t(n){return t.fun(n)};N(WN,function(t,n,e){u(f(n),R4r),a(f(n),G4r,j4r),a(Yp,n,e[1]),u(f(n),M4r),u(f(n),B4r),a(f(n),U4r,q4r);var i=e[2];a(f(n),H4r,i),u(f(n),X4r),u(f(n),Y4r),a(f(n),z4r,V4r);var x=e[3];if(x){g(n,K4r);var c=x[1],s=function(y,T){return g(y,L4r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,W4r)}else g(n,J4r);return u(f(n),$4r),u(f(n),Z4r)}),N(sK,function(t,n){var e=u(WN,t);return a(P0(D4r),e,n)}),N(Yp,function(t,n){if(typeof n=="number")return g(t,d4r);switch(n[0]){case 0:u(f(t),h4r);var e=n[1];return a(f(t),k4r,e),u(f(t),w4r);case 1:u(f(t),E4r);var i=n[1];return a(f(t),S4r,i),u(f(t),g4r);case 2:u(f(t),F4r);var x=n[1];return a(f(t),T4r,x),u(f(t),O4r);case 3:u(f(t),I4r);var c=n[1];return a(f(t),A4r,c),u(f(t),N4r);default:return u(f(t),C4r),a(cK[1],t,n[1]),u(f(t),P4r)}}),N(vK,function(t){return a(P0(y4r),Yp,t)}),pu(n6r,Tl,[0,cK,WN,sK,Yp,vK]);var JN=function t(n,e,i){return t.fun(n,e,i)},lK=function t(n,e){return t.fun(n,e)};N(JN,function(t,n,e){u(f(n),r4r),a(f(n),n4r,e4r);var i=e[1];a(f(n),t4r,i),u(f(n),u4r),u(f(n),i4r),a(f(n),x4r,f4r);var x=e[2];a(f(n),a4r,x),u(f(n),o4r),u(f(n),c4r),a(f(n),v4r,s4r);var c=e[3];if(c){g(n,l4r);var s=c[1],p=function(T,E){return g(T,Qbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,b4r)}else g(n,p4r);return u(f(n),m4r),u(f(n),_4r)}),N(lK,function(t,n){var e=u(JN,t);return a(P0(Zbr),e,n)}),pu(t6r,F1,[0,JN,lK]);var $N=function t(n,e,i){return t.fun(n,e,i)},bK=function t(n,e){return t.fun(n,e)};N($N,function(t,n,e){u(f(n),Dbr),a(f(n),Rbr,Lbr);var i=e[1];a(f(n),jbr,i),u(f(n),Gbr),u(f(n),Mbr),a(f(n),qbr,Bbr);var x=e[2];a(f(n),Ubr,x),u(f(n),Hbr),u(f(n),Xbr),a(f(n),Vbr,Ybr);var c=e[3];if(c){g(n,zbr);var s=c[1],p=function(T,E){return g(T,Pbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,Kbr)}else g(n,Wbr);return u(f(n),Jbr),u(f(n),$br)}),N(bK,function(t,n){var e=u($N,t);return a(P0(Cbr),e,n)}),pu(u6r,HN,[0,$N,bK]);var ZN=function t(n,e,i){return t.fun(n,e,i)},pK=function t(n,e){return t.fun(n,e)};N(ZN,function(t,n,e){u(f(n),bbr),a(f(n),mbr,pbr);var i=e[1];a(f(n),_br,i),u(f(n),ybr),u(f(n),dbr),a(f(n),kbr,hbr);var x=e[2];a(f(n),wbr,x),u(f(n),Ebr),u(f(n),Sbr),a(f(n),Fbr,gbr);var c=e[3];if(c){g(n,Tbr);var s=c[1],p=function(T,E){return g(T,lbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,Obr)}else g(n,Ibr);return u(f(n),Abr),u(f(n),Nbr)}),N(pK,function(t,n){var e=u(ZN,t);return a(P0(vbr),e,n)}),pu(i6r,tK,[0,ZN,pK]);var QN=function t(n,e,i){return t.fun(n,e,i)},mK=function t(n,e){return t.fun(n,e)};N(QN,function(t,n,e){u(f(n),Qlr),a(f(n),ebr,rbr);var i=e[1];a(f(n),nbr,i),u(f(n),tbr),u(f(n),ubr),a(f(n),fbr,ibr);var x=e[2];if(x){g(n,xbr);var c=x[1],s=function(y,T){return g(y,Zlr)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,abr)}else g(n,obr);return u(f(n),cbr),u(f(n),sbr)}),N(mK,function(t,n){var e=u(QN,t);return a(P0($lr),e,n)}),pu(f6r,XN,[0,QN,mK]);var rC=function t(n,e,i){return t.fun(n,e,i)},_K=function t(n,e){return t.fun(n,e)},Vp=function t(n,e){return t.fun(n,e)},yK=function t(n){return t.fun(n)},zp=function t(n,e,i){return t.fun(n,e,i)},dK=function t(n,e){return t.fun(n,e)};N(rC,function(t,n,e){u(f(n),Klr),a(t,n,e[1]),u(f(n),Wlr);var i=e[2];return ir(zp,function(x){return u(t,x)},n,i),u(f(n),Jlr)}),N(_K,function(t,n){var e=u(rC,t);return a(P0(zlr),e,n)}),N(Vp,function(t,n){return n?g(t,Ylr):g(t,Vlr)}),N(yK,function(t){return a(P0(Xlr),Vp,t)}),N(zp,function(t,n,e){u(f(n),Clr),a(f(n),Dlr,Plr),a(Vp,n,e[1]),u(f(n),Llr),u(f(n),Rlr),a(f(n),Glr,jlr);var i=e[2];if(i){g(n,Mlr);var x=i[1],c=function(p,y){return g(p,Nlr)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Blr)}else g(n,qlr);return u(f(n),Ulr),u(f(n),Hlr)}),N(dK,function(t,n){var e=u(zp,t);return a(P0(Alr),e,n)}),pu(x6r,zv,[0,rC,_K,Vp,yK,zp,dK]);var eC=function t(n,e,i,x){return t.fun(n,e,i,x)},hK=function t(n,e,i){return t.fun(n,e,i)},nC=function t(n,e,i,x){return t.fun(n,e,i,x)},kK=function t(n,e,i){return t.fun(n,e,i)};N(eC,function(t,n,e,i){u(f(e),Tlr),a(t,e,i[1]),u(f(e),Olr);var x=i[2];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(Up[3],s,c,e,x),u(f(e),Ilr)}),N(hK,function(t,n,e){var i=a(eC,t,n);return a(P0(Flr),i,e)}),N(nC,function(t,n,e,i){u(f(e),blr),a(f(e),mlr,plr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),_lr),u(f(e),ylr),a(f(e),hlr,dlr);var p=i[2];if(p){g(e,klr);var y=p[1],T=function(h,w){return g(h,llr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,wlr)}else g(e,Elr);return u(f(e),Slr),u(f(e),glr)}),N(kK,function(t,n,e){var i=a(nC,t,n);return a(P0(vlr),i,e)}),pu(a6r,Up,[0,eC,hK,nC,kK]);var tC=function t(n,e,i,x){return t.fun(n,e,i,x)},wK=function t(n,e,i){return t.fun(n,e,i)},Kp=function t(n,e,i,x){return t.fun(n,e,i,x)},EK=function t(n,e,i){return t.fun(n,e,i)};N(tC,function(t,n,e,i){u(f(e),olr),a(t,e,i[1]),u(f(e),clr);var x=i[2];function c(s){return u(n,s)}return R(Kp,function(s){return u(t,s)},c,e,x),u(f(e),slr)}),N(wK,function(t,n,e){var i=a(tC,t,n);return a(P0(alr),i,e)}),N(Kp,function(t,n,e,i){u(f(e),Y2r),a(f(e),z2r,V2r);var x=i[1];if(x){g(e,K2r);var c=x[1],s=function(w){return u(n,w)},p=function(w){return u(t,w)};R(Ln[1],p,s,e,c),g(e,W2r)}else g(e,J2r);u(f(e),$2r),u(f(e),Z2r),a(f(e),rlr,Q2r);var y=i[2];function T(w){return u(n,w)}function E(w){return u(t,w)}R(Je[13],E,T,e,y),u(f(e),elr),u(f(e),nlr),a(f(e),ulr,tlr);var h=i[3];return a(f(e),ilr,h),u(f(e),flr),u(f(e),xlr)}),N(EK,function(t,n,e){var i=a(Kp,t,n);return a(P0(X2r),i,e)});var uC=[0,tC,wK,Kp,EK],iC=function t(n,e,i,x){return t.fun(n,e,i,x)},SK=function t(n,e,i){return t.fun(n,e,i)},Wp=function t(n,e,i,x){return t.fun(n,e,i,x)},gK=function t(n,e,i){return t.fun(n,e,i)};N(iC,function(t,n,e,i){u(f(e),q2r),a(t,e,i[1]),u(f(e),U2r);var x=i[2];function c(s){return u(n,s)}return R(Wp,function(s){return u(t,s)},c,e,x),u(f(e),H2r)}),N(SK,function(t,n,e){var i=a(iC,t,n);return a(P0(B2r),i,e)}),N(Wp,function(t,n,e,i){u(f(e),O2r),a(f(e),A2r,I2r);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(uC[1],s,c,e,x),u(f(e),N2r),u(f(e),C2r),a(f(e),D2r,P2r);var p=i[2];if(p){g(e,L2r);var y=p[1],T=function(h,w){return g(h,T2r)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,R2r)}else g(e,j2r);return u(f(e),G2r),u(f(e),M2r)}),N(gK,function(t,n,e){var i=a(Wp,t,n);return a(P0(F2r),i,e)});var FK=[0,iC,SK,Wp,gK],fC=function t(n,e,i,x){return t.fun(n,e,i,x)},TK=function t(n,e,i){return t.fun(n,e,i)},Jp=function t(n,e,i,x){return t.fun(n,e,i,x)},OK=function t(n,e,i){return t.fun(n,e,i)};N(fC,function(t,n,e,i){u(f(e),E2r),a(t,e,i[1]),u(f(e),S2r);var x=i[2];function c(s){return u(n,s)}return R(Jp,function(s){return u(t,s)},c,e,x),u(f(e),g2r)}),N(TK,function(t,n,e){var i=a(fC,t,n);return a(P0(w2r),i,e)}),N(Jp,function(t,n,e,i){u(f(e),c2r),a(f(e),v2r,s2r);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),l2r),u(f(e),b2r),a(f(e),m2r,p2r);var p=i[2];if(p){g(e,_2r);var y=p[1],T=function(h,w){return g(h,o2r)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,y2r)}else g(e,d2r);return u(f(e),h2r),u(f(e),k2r)}),N(OK,function(t,n,e){var i=a(Jp,t,n);return a(P0(a2r),i,e)});var IK=[0,fC,TK,Jp,OK],xC=function t(n,e,i,x){return t.fun(n,e,i,x)},AK=function t(n,e,i){return t.fun(n,e,i)},$p=function t(n,e,i,x){return t.fun(n,e,i,x)},NK=function t(n,e,i){return t.fun(n,e,i)};N(xC,function(t,n,e,i){u(f(e),i2r),a(t,e,i[1]),u(f(e),f2r);var x=i[2];function c(s){return u(n,s)}return R($p,function(s){return u(t,s)},c,e,x),u(f(e),x2r)}),N(AK,function(t,n,e){var i=a(xC,t,n);return a(P0(u2r),i,e)}),N($p,function(t,n,e,i){u(f(e),Avr),a(f(e),Cvr,Nvr);var x=i[1];if(x){g(e,Pvr);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(IK[1],p,s,e,c),g(e,Dvr)}else g(e,Lvr);u(f(e),Rvr),u(f(e),jvr),a(f(e),Mvr,Gvr);var y=i[2];u(f(e),Bvr);var T=0;be(function(V,f0){V&&u(f(e),Ivr);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(uC[1],k0,m0,e,f0),1},T,y),u(f(e),qvr),u(f(e),Uvr),u(f(e),Hvr),a(f(e),Yvr,Xvr);var E=i[3];if(E){g(e,Vvr);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(FK[1],G,w,e,h),g(e,zvr)}else g(e,Kvr);u(f(e),Wvr),u(f(e),Jvr),a(f(e),Zvr,$vr);var A=i[4];if(A){g(e,Qvr);var S=A[1],M=function(V,f0){u(f(V),Tvr);var m0=0;return be(function(k0,g0){k0&&u(f(V),Fvr);function e0(x0){return u(t,x0)}return ir(uu[1],e0,V,g0),1},m0,f0),u(f(V),Ovr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,r2r)}else g(e,e2r);return u(f(e),n2r),u(f(e),t2r)}),N(NK,function(t,n,e){var i=a($p,t,n);return a(P0(gvr),i,e)});var CK=[0,xC,AK,$p,NK],aC=function t(n,e,i,x){return t.fun(n,e,i,x)},PK=function t(n,e,i){return t.fun(n,e,i)};N(aC,function(t,n,e,i){u(f(e),nvr),a(f(e),uvr,tvr);var x=i[1];if(x){g(e,ivr);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(Je[22][1],p,s,e,c),g(e,fvr)}else g(e,xvr);u(f(e),avr),u(f(e),ovr),a(f(e),svr,cvr);var y=i[2];function T(V){return u(n,V)}function E(V){return u(t,V)}R(CK[1],E,T,e,y),u(f(e),vvr),u(f(e),lvr),a(f(e),pvr,bvr);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(Je[13],G,w,e,h),u(f(e),mvr),u(f(e),_vr),a(f(e),dvr,yvr);var A=i[4];if(A){g(e,hvr);var S=A[1],M=function(V,f0){return g(V,evr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,kvr)}else g(e,wvr);return u(f(e),Evr),u(f(e),Svr)}),N(PK,function(t,n,e){var i=a(aC,t,n);return a(P0(rvr),i,e)});var Ol=[0,uC,FK,IK,CK,aC,PK],Zp=function t(n,e,i,x){return t.fun(n,e,i,x)},DK=function t(n,e,i){return t.fun(n,e,i)},Qp=function t(n,e,i,x){return t.fun(n,e,i,x)},LK=function t(n,e,i){return t.fun(n,e,i)},r5=function t(n,e,i,x){return t.fun(n,e,i,x)},RK=function t(n,e,i){return t.fun(n,e,i)};N(Zp,function(t,n,e,i){if(i[0]===0){u(f(e),J1r);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(Ln[1],s,c,e,x),u(f(e),$1r)}u(f(e),Z1r);var p=i[1];function y(T){return u(n,T)}return R(Qp,function(T){return u(t,T)},y,e,p),u(f(e),Q1r)}),N(DK,function(t,n,e){var i=a(Zp,t,n);return a(P0(W1r),i,e)}),N(Qp,function(t,n,e,i){u(f(e),V1r),a(t,e,i[1]),u(f(e),z1r);var x=i[2];function c(s){return u(n,s)}return R(r5,function(s){return u(t,s)},c,e,x),u(f(e),K1r)}),N(LK,function(t,n,e){var i=a(Qp,t,n);return a(P0(Y1r),i,e)}),N(r5,function(t,n,e,i){u(f(e),R1r),a(f(e),G1r,j1r);var x=i[1];function c(T){return u(n,T)}R(Zp,function(T){return u(t,T)},c,e,x),u(f(e),M1r),u(f(e),B1r),a(f(e),U1r,q1r);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(Ln[1],y,p,e,s),u(f(e),H1r),u(f(e),X1r)}),N(RK,function(t,n,e){var i=a(r5,t,n);return a(P0(L1r),i,e)});var jK=[0,Zp,DK,Qp,LK,r5,RK],oC=function t(n,e,i,x){return t.fun(n,e,i,x)},GK=function t(n,e,i){return t.fun(n,e,i)};N(oC,function(t,n,e,i){u(f(e),m1r),a(f(e),y1r,_1r);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(jK[1],s,c,e,x),u(f(e),d1r),u(f(e),h1r),a(f(e),w1r,k1r);var p=i[2];if(p){g(e,E1r);var y=p[1],T=function(S){return u(n,S)},E=function(S){return u(t,S)};R(Je[23][1],E,T,e,y),g(e,S1r)}else g(e,g1r);u(f(e),F1r),u(f(e),T1r),a(f(e),I1r,O1r);var h=i[3];if(h){g(e,A1r);var w=h[1],G=function(S,M){return g(S,p1r)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,N1r)}else g(e,C1r);return u(f(e),P1r),u(f(e),D1r)}),N(GK,function(t,n,e){var i=a(oC,t,n);return a(P0(b1r),i,e)});var cC=[0,jK,oC,GK],sC=function t(n,e,i,x){return t.fun(n,e,i,x)},MK=function t(n,e,i){return t.fun(n,e,i)};N(sC,function(t,n,e,i){u(f(e),Zsr),a(f(e),r1r,Qsr);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Je[13],s,c,e,x),u(f(e),e1r),u(f(e),n1r),a(f(e),u1r,t1r);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[13],T,y,e,p),u(f(e),i1r),u(f(e),f1r),a(f(e),a1r,x1r);var E=i[3];if(E){g(e,o1r);var h=E[1],w=function(A,S){return g(A,$sr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,c1r)}else g(e,s1r);return u(f(e),v1r),u(f(e),l1r)}),N(MK,function(t,n,e){var i=a(sC,t,n);return a(P0(Jsr),i,e)});var vC=[0,sC,MK],lC=function t(n,e,i,x){return t.fun(n,e,i,x)},BK=function t(n,e,i){return t.fun(n,e,i)};N(lC,function(t,n,e,i){u(f(e),Bsr),a(f(e),Usr,qsr);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(vC[1],s,c,e,x),u(f(e),Hsr),u(f(e),Xsr),a(f(e),Vsr,Ysr);var p=i[2];return a(f(e),zsr,p),u(f(e),Ksr),u(f(e),Wsr)}),N(BK,function(t,n,e){var i=a(lC,t,n);return a(P0(Msr),i,e)});var qK=[0,lC,BK],bC=function t(n,e,i,x){return t.fun(n,e,i,x)},UK=function t(n,e,i){return t.fun(n,e,i)},e5=function t(n,e,i,x){return t.fun(n,e,i,x)},HK=function t(n,e,i){return t.fun(n,e,i)},n5=function t(n,e,i,x){return t.fun(n,e,i,x)},XK=function t(n,e,i){return t.fun(n,e,i)};N(bC,function(t,n,e,i){u(f(e),Rsr),a(t,e,i[1]),u(f(e),jsr);var x=i[2];function c(s){return u(n,s)}return R(e5,function(s){return u(t,s)},c,e,x),u(f(e),Gsr)}),N(UK,function(t,n,e){var i=a(bC,t,n);return a(P0(Lsr),i,e)}),N(e5,function(t,n,e,i){u(f(e),Vcr),a(f(e),Kcr,zcr);var x=i[1];function c(m0){return u(n,m0)}function s(m0){return u(t,m0)}R(qe[7][1][1],s,c,e,x),u(f(e),Wcr),u(f(e),Jcr),a(f(e),Zcr,$cr);var p=i[2];function y(m0){return u(n,m0)}R(n5,function(m0){return u(t,m0)},y,e,p),u(f(e),Qcr),u(f(e),rsr),a(f(e),nsr,esr);var T=i[3];a(f(e),tsr,T),u(f(e),usr),u(f(e),isr),a(f(e),xsr,fsr);var E=i[4];a(f(e),asr,E),u(f(e),osr),u(f(e),csr),a(f(e),vsr,ssr);var h=i[5];a(f(e),lsr,h),u(f(e),bsr),u(f(e),psr),a(f(e),_sr,msr);var w=i[6];a(f(e),ysr,w),u(f(e),dsr),u(f(e),hsr),a(f(e),wsr,ksr);var G=i[7];if(G){g(e,Esr);var A=G[1],S=function(m0){return u(t,m0)};ir(zv[1],S,e,A),g(e,Ssr)}else g(e,gsr);u(f(e),Fsr),u(f(e),Tsr),a(f(e),Isr,Osr);var M=i[8];if(M){g(e,Asr);var K=M[1],V=function(m0,k0){return g(m0,Ycr)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,Nsr)}else g(e,Csr);return u(f(e),Psr),u(f(e),Dsr)}),N(HK,function(t,n,e){var i=a(e5,t,n);return a(P0(Xcr),i,e)}),N(n5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Ccr);var x=i[1],c=function(S){return u(n,S)},s=function(S){return u(t,S)};return R(Je[13],s,c,e,x),u(f(e),Pcr);case 1:var p=i[1];u(f(e),Dcr),u(f(e),Lcr),a(t,e,p[1]),u(f(e),Rcr);var y=p[2],T=function(S){return u(n,S)},E=function(S){return u(t,S)};return R(Ol[5],E,T,e,y),u(f(e),jcr),u(f(e),Gcr);default:var h=i[1];u(f(e),Mcr),u(f(e),Bcr),a(t,e,h[1]),u(f(e),qcr);var w=h[2],G=function(S){return u(n,S)},A=function(S){return u(t,S)};return R(Ol[5],A,G,e,w),u(f(e),Ucr),u(f(e),Hcr)}}),N(XK,function(t,n,e){var i=a(n5,t,n);return a(P0(Ncr),i,e)});var YK=[0,bC,UK,e5,HK,n5,XK],pC=function t(n,e,i,x){return t.fun(n,e,i,x)},VK=function t(n,e,i){return t.fun(n,e,i)},t5=function t(n,e,i,x){return t.fun(n,e,i,x)},zK=function t(n,e,i){return t.fun(n,e,i)};N(pC,function(t,n,e,i){u(f(e),Ocr),a(t,e,i[1]),u(f(e),Icr);var x=i[2];function c(s){return u(n,s)}return R(t5,function(s){return u(t,s)},c,e,x),u(f(e),Acr)}),N(VK,function(t,n,e){var i=a(pC,t,n);return a(P0(Tcr),i,e)}),N(t5,function(t,n,e,i){u(f(e),pcr),a(f(e),_cr,mcr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),ycr),u(f(e),dcr),a(f(e),kcr,hcr);var p=i[2];if(p){g(e,wcr);var y=p[1],T=function(h,w){return g(h,bcr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Ecr)}else g(e,Scr);return u(f(e),gcr),u(f(e),Fcr)}),N(zK,function(t,n,e){var i=a(t5,t,n);return a(P0(lcr),i,e)});var KK=[0,pC,VK,t5,zK],u5=function t(n,e,i,x){return t.fun(n,e,i,x)},WK=function t(n,e,i){return t.fun(n,e,i)},mC=function t(n,e,i,x){return t.fun(n,e,i,x)},JK=function t(n,e,i){return t.fun(n,e,i)};N(u5,function(t,n,e,i){u(f(e),Cor),a(f(e),Dor,Por);var x=i[1];if(x){g(e,Lor);var c=x[1],s=function(g0){return u(t,g0)},p=function(g0){return u(t,g0)};R(Ln[1],p,s,e,c),g(e,Ror)}else g(e,jor);u(f(e),Gor),u(f(e),Mor),a(f(e),qor,Bor);var y=i[2];function T(g0){return u(n,g0)}function E(g0){return u(t,g0)}R(Je[13],E,T,e,y),u(f(e),Uor),u(f(e),Hor),a(f(e),Yor,Xor);var h=i[3];function w(g0){return u(n,g0)}function G(g0){return u(t,g0)}R(Je[13],G,w,e,h),u(f(e),Vor),u(f(e),zor),a(f(e),Wor,Kor);var A=i[4];a(f(e),Jor,A),u(f(e),$or),u(f(e),Zor),a(f(e),rcr,Qor);var S=i[5];if(S){g(e,ecr);var M=S[1],K=function(g0){return u(t,g0)};ir(zv[1],K,e,M),g(e,ncr)}else g(e,tcr);u(f(e),ucr),u(f(e),icr),a(f(e),xcr,fcr);var V=i[6];if(V){g(e,acr);var f0=V[1],m0=function(g0,e0){return g(g0,Nor)},k0=function(g0){return u(t,g0)};R(Dr[1],k0,m0,e,f0),g(e,ocr)}else g(e,ccr);return u(f(e),scr),u(f(e),vcr)}),N(WK,function(t,n,e){var i=a(u5,t,n);return a(P0(Aor),i,e)}),N(mC,function(t,n,e,i){u(f(e),Tor),a(t,e,i[1]),u(f(e),Oor);var x=i[2];function c(s){return u(n,s)}return R(u5,function(s){return u(t,s)},c,e,x),u(f(e),Ior)}),N(JK,function(t,n,e){var i=a(mC,t,n);return a(P0(For),i,e)});var $K=[0,u5,WK,mC,JK],_C=function t(n,e,i,x){return t.fun(n,e,i,x)},ZK=function t(n,e,i){return t.fun(n,e,i)},i5=function t(n,e,i,x){return t.fun(n,e,i,x)},QK=function t(n,e,i){return t.fun(n,e,i)};N(_C,function(t,n,e,i){u(f(e),Eor),a(t,e,i[1]),u(f(e),Sor);var x=i[2];function c(s){return u(n,s)}return R(i5,function(s){return u(t,s)},c,e,x),u(f(e),gor)}),N(ZK,function(t,n,e){var i=a(_C,t,n);return a(P0(wor),i,e)}),N(i5,function(t,n,e,i){u(f(e),eor),a(f(e),tor,nor);var x=i[1];u(f(e),uor),a(t,e,x[1]),u(f(e),ior);var c=x[2];function s(G){return u(n,G)}function p(G){return u(t,G)}R(Ol[5],p,s,e,c),u(f(e),xor),u(f(e),aor),u(f(e),oor),a(f(e),sor,cor);var y=i[2];a(f(e),vor,y),u(f(e),lor),u(f(e),bor),a(f(e),mor,por);var T=i[3];if(T){g(e,_or);var E=T[1],h=function(G,A){return g(G,ror)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,yor)}else g(e,dor);return u(f(e),hor),u(f(e),kor)}),N(QK,function(t,n,e){var i=a(i5,t,n);return a(P0(Qar),i,e)});var rW=[0,_C,ZK,i5,QK],yC=function t(n,e,i,x){return t.fun(n,e,i,x)},eW=function t(n,e,i){return t.fun(n,e,i)},f5=function t(n,e,i,x){return t.fun(n,e,i,x)},nW=function t(n,e,i){return t.fun(n,e,i)};N(yC,function(t,n,e,i){u(f(e),Jar),a(t,e,i[1]),u(f(e),$ar);var x=i[2];function c(s){return u(n,s)}return R(f5,function(s){return u(t,s)},c,e,x),u(f(e),Zar)}),N(eW,function(t,n,e){var i=a(yC,t,n);return a(P0(War),i,e)}),N(f5,function(t,n,e,i){u(f(e),yar),a(f(e),har,dar);var x=i[1];function c(K){return u(t,K)}function s(K){return u(t,K)}R(Ln[1],s,c,e,x),u(f(e),kar),u(f(e),war),a(f(e),Sar,Ear);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(Je[13],T,y,e,p),u(f(e),gar),u(f(e),Far),a(f(e),Oar,Tar);var E=i[3];a(f(e),Iar,E),u(f(e),Aar),u(f(e),Nar),a(f(e),Par,Car);var h=i[4];a(f(e),Dar,h),u(f(e),Lar),u(f(e),Rar),a(f(e),Gar,jar);var w=i[5];a(f(e),Mar,w),u(f(e),Bar),u(f(e),qar),a(f(e),Har,Uar);var G=i[6];if(G){g(e,Xar);var A=G[1],S=function(K,V){return g(K,_ar)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Yar)}else g(e,Var);return u(f(e),zar),u(f(e),Kar)}),N(nW,function(t,n,e){var i=a(f5,t,n);return a(P0(mar),i,e)});var tW=[0,yC,eW,f5,nW],dC=function t(n,e,i,x){return t.fun(n,e,i,x)},uW=function t(n,e,i){return t.fun(n,e,i)},x5=function t(n,e,i,x){return t.fun(n,e,i,x)},iW=function t(n,e,i){return t.fun(n,e,i)};N(dC,function(t,n,e,i){u(f(e),Yxr),a(f(e),zxr,Vxr);var x=i[1];a(f(e),Kxr,x),u(f(e),Wxr),u(f(e),Jxr),a(f(e),Zxr,$xr);var c=i[2];a(f(e),Qxr,c),u(f(e),rar),u(f(e),ear),a(f(e),tar,nar);var s=i[3];u(f(e),uar);var p=0;be(function(w,G){w&&u(f(e),Xxr);function A(S){return u(n,S)}return R(x5,function(S){return u(t,S)},A,e,G),1},p,s),u(f(e),iar),u(f(e),far),u(f(e),xar),a(f(e),oar,aar);var y=i[4];if(y){g(e,car);var T=y[1],E=function(w,G){u(f(w),Uxr);var A=0;return be(function(S,M){S&&u(f(w),qxr);function K(V){return u(t,V)}return ir(uu[1],K,w,M),1},A,G),u(f(w),Hxr)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,sar)}else g(e,lar);return u(f(e),bar),u(f(e),par)}),N(uW,function(t,n,e){var i=a(dC,t,n);return a(P0(Bxr),i,e)}),N(x5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Axr);var x=i[1],c=function(f0){return u(n,f0)},s=function(f0){return u(t,f0)};return R(YK[1],s,c,e,x),u(f(e),Nxr);case 1:u(f(e),Cxr);var p=i[1],y=function(f0){return u(n,f0)},T=function(f0){return u(t,f0)};return R(KK[1],T,y,e,p),u(f(e),Pxr);case 2:u(f(e),Dxr);var E=i[1],h=function(f0){return u(n,f0)},w=function(f0){return u(t,f0)};return R($K[3],w,h,e,E),u(f(e),Lxr);case 3:u(f(e),Rxr);var G=i[1],A=function(f0){return u(n,f0)},S=function(f0){return u(t,f0)};return R(rW[1],S,A,e,G),u(f(e),jxr);default:u(f(e),Gxr);var M=i[1],K=function(f0){return u(n,f0)},V=function(f0){return u(t,f0)};return R(tW[1],V,K,e,M),u(f(e),Mxr)}}),N(iW,function(t,n,e){var i=a(x5,t,n);return a(P0(Ixr),i,e)});var hC=[0,YK,KK,$K,rW,tW,dC,uW,x5,iW],kC=function t(n,e,i,x){return t.fun(n,e,i,x)},fW=function t(n,e,i){return t.fun(n,e,i)};N(kC,function(t,n,e,i){u(f(e),axr),a(f(e),cxr,oxr);var x=i[1];u(f(e),sxr),a(t,e,x[1]),u(f(e),vxr);var c=x[2];function s(A){return u(n,A)}function p(A){return u(t,A)}R(hC[6],p,s,e,c),u(f(e),lxr),u(f(e),bxr),u(f(e),pxr),a(f(e),_xr,mxr);var y=i[2];u(f(e),yxr);var T=0;be(function(A,S){A&&u(f(e),uxr),u(f(e),ixr),a(t,e,S[1]),u(f(e),fxr);var M=S[2];function K(f0){return u(n,f0)}function V(f0){return u(t,f0)}return R(cC[2],V,K,e,M),u(f(e),xxr),1},T,y),u(f(e),dxr),u(f(e),hxr),u(f(e),kxr),a(f(e),Exr,wxr);var E=i[3];if(E){g(e,Sxr);var h=E[1],w=function(A,S){return g(A,txr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,gxr)}else g(e,Fxr);return u(f(e),Txr),u(f(e),Oxr)}),N(fW,function(t,n,e){var i=a(kC,t,n);return a(P0(nxr),i,e)});var xW=[0,kC,fW],wC=function t(n,e,i,x){return t.fun(n,e,i,x)},aW=function t(n,e,i){return t.fun(n,e,i)};N(wC,function(t,n,e,i){u(f(e),Xfr),a(f(e),Vfr,Yfr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),zfr),u(f(e),Kfr),a(f(e),Jfr,Wfr);var p=i[2];if(p){g(e,$fr);var y=p[1],T=function(h,w){return g(h,Hfr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Zfr)}else g(e,Qfr);return u(f(e),rxr),u(f(e),exr)}),N(aW,function(t,n,e){var i=a(wC,t,n);return a(P0(Ufr),i,e)});var oW=[0,wC,aW],a5=function t(n,e,i,x){return t.fun(n,e,i,x)},cW=function t(n,e,i){return t.fun(n,e,i)},o5=function t(n,e,i,x){return t.fun(n,e,i,x)},sW=function t(n,e,i){return t.fun(n,e,i)},c5=function t(n,e,i,x){return t.fun(n,e,i,x)},vW=function t(n,e,i){return t.fun(n,e,i)};N(a5,function(t,n,e,i){if(i[0]===0){u(f(e),Gfr);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(Ln[1],s,c,e,x),u(f(e),Mfr)}u(f(e),Bfr);var p=i[1];function y(T){return u(n,T)}return R(c5,function(T){return u(t,T)},y,e,p),u(f(e),qfr)}),N(cW,function(t,n,e){var i=a(a5,t,n);return a(P0(jfr),i,e)}),N(o5,function(t,n,e,i){u(f(e),Ofr),a(f(e),Afr,Ifr);var x=i[1];function c(T){return u(n,T)}R(a5,function(T){return u(t,T)},c,e,x),u(f(e),Nfr),u(f(e),Cfr),a(f(e),Dfr,Pfr);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(Ln[1],y,p,e,s),u(f(e),Lfr),u(f(e),Rfr)}),N(sW,function(t,n,e){var i=a(o5,t,n);return a(P0(Tfr),i,e)}),N(c5,function(t,n,e,i){u(f(e),Sfr),a(n,e,i[1]),u(f(e),gfr);var x=i[2];function c(s){return u(n,s)}return R(o5,function(s){return u(t,s)},c,e,x),u(f(e),Ffr)}),N(vW,function(t,n,e){var i=a(c5,t,n);return a(P0(Efr),i,e)});var lW=[0,a5,cW,o5,sW,c5,vW],EC=function t(n,e,i,x){return t.fun(n,e,i,x)},bW=function t(n,e,i){return t.fun(n,e,i)};N(EC,function(t,n,e,i){u(f(e),sfr),a(f(e),lfr,vfr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(lW[1],s,c,e,x),u(f(e),bfr),u(f(e),pfr),a(f(e),_fr,mfr);var p=i[2];if(p){g(e,yfr);var y=p[1],T=function(h,w){return g(h,cfr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,dfr)}else g(e,hfr);return u(f(e),kfr),u(f(e),wfr)}),N(bW,function(t,n,e){var i=a(EC,t,n);return a(P0(ofr),i,e)});var pW=[0,lW,EC,bW],SC=function t(n,e,i,x){return t.fun(n,e,i,x)},mW=function t(n,e,i){return t.fun(n,e,i)};N(SC,function(t,n,e,i){u(f(e),Wir),a(f(e),$ir,Jir);var x=i[1];u(f(e),Zir);var c=0;be(function(E,h){E&&u(f(e),Kir);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Je[13],G,w,e,h),1},c,x),u(f(e),Qir),u(f(e),rfr),u(f(e),efr),a(f(e),tfr,nfr);var s=i[2];if(s){g(e,ufr);var p=s[1],y=function(E,h){return g(E,zir)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,ifr)}else g(e,ffr);return u(f(e),xfr),u(f(e),afr)}),N(mW,function(t,n,e){var i=a(SC,t,n);return a(P0(Vir),i,e)});var _W=[0,SC,mW],gC=function t(n,e,i,x){return t.fun(n,e,i,x)},yW=function t(n,e,i){return t.fun(n,e,i)};N(gC,function(t,n,e,i){u(f(e),Dir),a(f(e),Rir,Lir);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),jir),u(f(e),Gir),a(f(e),Bir,Mir);var p=i[2];if(p){g(e,qir);var y=p[1],T=function(h,w){return g(h,Pir)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Uir)}else g(e,Hir);return u(f(e),Xir),u(f(e),Yir)}),N(yW,function(t,n,e){var i=a(gC,t,n);return a(P0(Cir),i,e)});var dW=[0,gC,yW],FC=function t(n,e,i,x){return t.fun(n,e,i,x)},hW=function t(n,e,i){return t.fun(n,e,i)};N(FC,function(t,n,e,i){u(f(e),bir),a(f(e),mir,pir);var x=i[1];u(f(e),_ir);var c=x[1];function s(K){return u(n,K)}function p(K){return u(t,K)}R(Je[13],p,s,e,c),u(f(e),yir);var y=x[2];function T(K){return u(n,K)}function E(K){return u(t,K)}R(Je[13],E,T,e,y),u(f(e),dir),u(f(e),hir);var h=x[3],w=0;be(function(K,V){K&&u(f(e),lir);function f0(k0){return u(n,k0)}function m0(k0){return u(t,k0)}return R(Je[13],m0,f0,e,V),1},w,h),u(f(e),kir),u(f(e),wir),u(f(e),Eir),u(f(e),Sir),a(f(e),Fir,gir);var G=i[2];if(G){g(e,Tir);var A=G[1],S=function(K,V){return g(K,vir)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Oir)}else g(e,Iir);return u(f(e),Air),u(f(e),Nir)}),N(hW,function(t,n,e){var i=a(FC,t,n);return a(P0(sir),i,e)});var kW=[0,FC,hW],TC=function t(n,e,i,x){return t.fun(n,e,i,x)},wW=function t(n,e,i){return t.fun(n,e,i)};N(TC,function(t,n,e,i){u(f(e),z7r),a(f(e),W7r,K7r);var x=i[1];u(f(e),J7r);var c=x[1];function s(K){return u(n,K)}function p(K){return u(t,K)}R(Je[13],p,s,e,c),u(f(e),$7r);var y=x[2];function T(K){return u(n,K)}function E(K){return u(t,K)}R(Je[13],E,T,e,y),u(f(e),Z7r),u(f(e),Q7r);var h=x[3],w=0;be(function(K,V){K&&u(f(e),V7r);function f0(k0){return u(n,k0)}function m0(k0){return u(t,k0)}return R(Je[13],m0,f0,e,V),1},w,h),u(f(e),rir),u(f(e),eir),u(f(e),nir),u(f(e),tir),a(f(e),iir,uir);var G=i[2];if(G){g(e,fir);var A=G[1],S=function(K,V){return g(K,Y7r)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,xir)}else g(e,air);return u(f(e),oir),u(f(e),cir)}),N(wW,function(t,n,e){var i=a(TC,t,n);return a(P0(X7r),i,e)});var EW=[0,TC,wW],s5=function t(n,e,i,x){return t.fun(n,e,i,x)},SW=function t(n,e,i){return t.fun(n,e,i)},v5=function t(n,e,i,x){return t.fun(n,e,i,x)},gW=function t(n,e,i){return t.fun(n,e,i)},OC=function t(n,e,i,x){return t.fun(n,e,i,x)},FW=function t(n,e,i){return t.fun(n,e,i)},IC=function t(n,e,i,x){return t.fun(n,e,i,x)},TW=function t(n,e,i){return t.fun(n,e,i)};N(s5,function(t,n,e,i){u(f(e),q7r),a(n,e,i[1]),u(f(e),U7r);var x=i[2];function c(s){return u(n,s)}return R(v5,function(s){return u(t,s)},c,e,x),u(f(e),H7r)}),N(SW,function(t,n,e){var i=a(s5,t,n);return a(P0(B7r),i,e)}),N(v5,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];if(u(f(e),xur),x){g(e,aur);var c=x[1],s=function(U,Y){return g(U,fur)},p=function(U){return u(t,U)};R(Dr[1],p,s,e,c),g(e,our)}else g(e,cur);return u(f(e),sur);case 1:var y=i[1];if(u(f(e),vur),y){g(e,lur);var T=y[1],E=function(U,Y){return g(U,iur)},h=function(U){return u(t,U)};R(Dr[1],h,E,e,T),g(e,bur)}else g(e,pur);return u(f(e),mur);case 2:var w=i[1];if(u(f(e),_ur),w){g(e,yur);var G=w[1],A=function(U,Y){return g(U,uur)},S=function(U){return u(t,U)};R(Dr[1],S,A,e,G),g(e,dur)}else g(e,hur);return u(f(e),kur);case 3:var M=i[1];if(u(f(e),wur),M){g(e,Eur);var K=M[1],V=function(U,Y){return g(U,tur)},f0=function(U){return u(t,U)};R(Dr[1],f0,V,e,K),g(e,Sur)}else g(e,gur);return u(f(e),Fur);case 4:var m0=i[1];if(u(f(e),Tur),m0){g(e,Our);var k0=m0[1],g0=function(U,Y){return g(U,nur)},e0=function(U){return u(t,U)};R(Dr[1],e0,g0,e,k0),g(e,Iur)}else g(e,Aur);return u(f(e),Nur);case 5:var x0=i[1];if(u(f(e),Cur),x0){g(e,Pur);var l=x0[1],c0=function(U,Y){return g(U,eur)},t0=function(U){return u(t,U)};R(Dr[1],t0,c0,e,l),g(e,Dur)}else g(e,Lur);return u(f(e),Rur);case 6:var a0=i[1];if(u(f(e),jur),a0){g(e,Gur);var w0=a0[1],_0=function(U,Y){return g(U,rur)},E0=function(U){return u(t,U)};R(Dr[1],E0,_0,e,w0),g(e,Mur)}else g(e,Bur);return u(f(e),qur);case 7:var X0=i[1];if(u(f(e),Uur),X0){g(e,Hur);var b=X0[1],G0=function(U,Y){return g(U,Qtr)},X=function(U){return u(t,U)};R(Dr[1],X,G0,e,b),g(e,Xur)}else g(e,Yur);return u(f(e),Vur);case 8:var s0=i[1];if(u(f(e),zur),s0){g(e,Kur);var dr=s0[1],Ar=function(U,Y){return g(U,Ztr)},ar=function(U){return u(t,U)};R(Dr[1],ar,Ar,e,dr),g(e,Wur)}else g(e,Jur);return u(f(e),$ur);case 9:var W0=i[1];if(u(f(e),Zur),W0){g(e,Qur);var Lr=W0[1],Tr=function(U,Y){return g(U,$tr)},Hr=function(U){return u(t,U)};R(Dr[1],Hr,Tr,e,Lr),g(e,r7r)}else g(e,e7r);return u(f(e),n7r);case 10:var Or=i[1];if(u(f(e),t7r),Or){g(e,u7r);var xr=Or[1],Rr=function(U,Y){return g(U,Jtr)},Wr=function(U){return u(t,U)};R(Dr[1],Wr,Rr,e,xr),g(e,i7r)}else g(e,f7r);return u(f(e),x7r);case 11:u(f(e),a7r);var Jr=i[1],or=function(U){return u(n,U)},_r=function(U){return u(t,U)};return R(oW[1],_r,or,e,Jr),u(f(e),o7r);case 12:u(f(e),c7r);var Ir=i[1],fe=function(U){return u(n,U)},v0=function(U){return u(t,U)};return R(Ol[5],v0,fe,e,Ir),u(f(e),s7r);case 13:u(f(e),v7r);var P=i[1],L=function(U){return u(n,U)},Q=function(U){return u(t,U)};return R(hC[6],Q,L,e,P),u(f(e),l7r);case 14:u(f(e),b7r);var i0=i[1],l0=function(U){return u(n,U)},S0=function(U){return u(t,U)};return R(xW[1],S0,l0,e,i0),u(f(e),p7r);case 15:u(f(e),m7r);var T0=i[1],rr=function(U){return u(n,U)},R0=function(U){return u(t,U)};return R(dW[1],R0,rr,e,T0),u(f(e),_7r);case 16:u(f(e),y7r);var B=i[1],Z=function(U){return u(n,U)},p0=function(U){return u(t,U)};return R(cC[2],p0,Z,e,B),u(f(e),d7r);case 17:u(f(e),h7r);var b0=i[1],O0=function(U){return u(n,U)},q0=function(U){return u(t,U)};return R(vC[1],q0,O0,e,b0),u(f(e),k7r);case 18:u(f(e),w7r);var er=i[1],yr=function(U){return u(n,U)},vr=function(U){return u(t,U)};return R(qK[1],vr,yr,e,er),u(f(e),E7r);case 19:u(f(e),S7r);var $0=i[1],Sr=function(U){return u(n,U)},Mr=function(U){return u(t,U)};return R(kW[1],Mr,Sr,e,$0),u(f(e),g7r);case 20:u(f(e),F7r);var Br=i[1],qr=function(U){return u(n,U)},jr=function(U){return u(t,U)};return R(EW[1],jr,qr,e,Br),u(f(e),T7r);case 21:u(f(e),O7r);var $r=i[1],ne=function(U){return u(n,U)},Qr=function(U){return u(t,U)};return R(pW[2],Qr,ne,e,$r),u(f(e),I7r);case 22:u(f(e),A7r);var pe=i[1],oe=function(U){return u(n,U)},me=function(U){return u(t,U)};return R(_W[1],me,oe,e,pe),u(f(e),N7r);case 23:u(f(e),C7r);var ae=i[1],ce=function(U){return u(t,U)};return ir(F1[1],ce,e,ae),u(f(e),P7r);case 24:u(f(e),D7r);var ge=i[1],H0=function(U){return u(t,U)};return ir(HN[1],H0,e,ge),u(f(e),L7r);case 25:u(f(e),R7r);var Fr=i[1],_=function(U){return u(t,U)};return ir(tK[1],_,e,Fr),u(f(e),j7r);default:u(f(e),G7r);var k=i[1],I=function(U){return u(t,U)};return ir(XN[1],I,e,k),u(f(e),M7r)}}),N(gW,function(t,n,e){var i=a(v5,t,n);return a(P0(Wtr),i,e)}),N(OC,function(t,n,e,i){u(f(e),Vtr),a(t,e,i[1]),u(f(e),ztr);var x=i[2];function c(s){return u(n,s)}return R(s5,function(s){return u(t,s)},c,e,x),u(f(e),Ktr)}),N(FW,function(t,n,e){var i=a(OC,t,n);return a(P0(Ytr),i,e)}),N(IC,function(t,n,e,i){if(i[0]===0)return u(f(e),qtr),a(n,e,i[1]),u(f(e),Utr);u(f(e),Htr);var x=i[1];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(Je[17],s,c,e,x),u(f(e),Xtr)}),N(TW,function(t,n,e){var i=a(IC,t,n);return a(P0(Btr),i,e)});var AC=function t(n,e,i,x){return t.fun(n,e,i,x)},OW=function t(n,e,i){return t.fun(n,e,i)},l5=function t(n,e,i,x){return t.fun(n,e,i,x)},IW=function t(n,e,i){return t.fun(n,e,i)};N(AC,function(t,n,e,i){u(f(e),jtr),a(t,e,i[1]),u(f(e),Gtr);var x=i[2];function c(s){return u(n,s)}return R(l5,function(s){return u(t,s)},c,e,x),u(f(e),Mtr)}),N(OW,function(t,n,e){var i=a(AC,t,n);return a(P0(Rtr),i,e)}),N(l5,function(t,n,e,i){u(f(e),ltr),a(f(e),ptr,btr);var x=i[1];function c(K){return u(t,K)}function s(K){return u(t,K)}R(Ln[1],s,c,e,x),u(f(e),mtr),u(f(e),_tr),a(f(e),dtr,ytr);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(Je[19],T,y,e,p),u(f(e),htr),u(f(e),ktr),a(f(e),Etr,wtr);var E=i[3];if(E){g(e,Str);var h=E[1],w=function(K){return u(t,K)};ir(zv[1],w,e,h),g(e,gtr)}else g(e,Ftr);u(f(e),Ttr),u(f(e),Otr),a(f(e),Atr,Itr);var G=i[4];if(G){g(e,Ntr);var A=G[1],S=function(K){return u(n,K)},M=function(K){return u(t,K)};R(Je[13],M,S,e,A),g(e,Ctr)}else g(e,Ptr);return u(f(e),Dtr),u(f(e),Ltr)}),N(IW,function(t,n,e){var i=a(l5,t,n);return a(P0(vtr),i,e)});var AW=[0,AC,OW,l5,IW],NC=function t(n,e,i,x){return t.fun(n,e,i,x)},NW=function t(n,e,i){return t.fun(n,e,i)},b5=function t(n,e,i,x){return t.fun(n,e,i,x)},CW=function t(n,e,i){return t.fun(n,e,i)};N(NC,function(t,n,e,i){u(f(e),otr),a(t,e,i[1]),u(f(e),ctr);var x=i[2];function c(s){return u(n,s)}return R(b5,function(s){return u(t,s)},c,e,x),u(f(e),str)}),N(NW,function(t,n,e){var i=a(NC,t,n);return a(P0(atr),i,e)}),N(b5,function(t,n,e,i){u(f(e),Knr),a(f(e),Jnr,Wnr);var x=i[1];u(f(e),$nr);var c=0;be(function(E,h){E&&u(f(e),znr);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(AW[1],G,w,e,h),1},c,x),u(f(e),Znr),u(f(e),Qnr),u(f(e),rtr),a(f(e),ntr,etr);var s=i[2];if(s){g(e,ttr);var p=s[1],y=function(E,h){u(f(E),Ynr);var w=0;return be(function(G,A){G&&u(f(E),Xnr);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),Vnr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,utr)}else g(e,itr);return u(f(e),ftr),u(f(e),xtr)}),N(CW,function(t,n,e){var i=a(b5,t,n);return a(P0(Hnr),i,e)});var CC=function t(n,e,i,x){return t.fun(n,e,i,x)},PW=function t(n,e,i){return t.fun(n,e,i)},p5=function t(n,e,i,x){return t.fun(n,e,i,x)},DW=function t(n,e,i){return t.fun(n,e,i)},jee=[0,NC,NW,b5,CW];N(CC,function(t,n,e,i){u(f(e),Bnr),a(t,e,i[1]),u(f(e),qnr);var x=i[2];function c(s){return u(n,s)}return R(p5,function(s){return u(t,s)},c,e,x),u(f(e),Unr)}),N(PW,function(t,n,e){var i=a(CC,t,n);return a(P0(Mnr),i,e)}),N(p5,function(t,n,e,i){u(f(e),gnr),a(f(e),Tnr,Fnr);var x=i[1];u(f(e),Onr);var c=0;be(function(E,h){E&&u(f(e),Snr);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Je[13],G,w,e,h),1},c,x),u(f(e),Inr),u(f(e),Anr),u(f(e),Nnr),a(f(e),Pnr,Cnr);var s=i[2];if(s){g(e,Dnr);var p=s[1],y=function(E,h){u(f(E),wnr);var w=0;return be(function(G,A){G&&u(f(E),knr);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),Enr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,Lnr)}else g(e,Rnr);return u(f(e),jnr),u(f(e),Gnr)}),N(DW,function(t,n,e){var i=a(p5,t,n);return a(P0(hnr),i,e)});var PC=function t(n,e,i,x){return t.fun(n,e,i,x)},LW=function t(n,e,i){return t.fun(n,e,i)},m5=function t(n,e,i,x){return t.fun(n,e,i,x)},RW=function t(n,e,i){return t.fun(n,e,i)},_5=function t(n,e,i,x){return t.fun(n,e,i,x)},jW=function t(n,e,i){return t.fun(n,e,i)},Gee=[0,CC,PW,p5,DW];N(PC,function(t,n,e,i){u(f(e),_nr),a(t,e,i[1]),u(f(e),ynr);var x=i[2];function c(s){return u(n,s)}return R(m5,function(s){return u(t,s)},c,e,x),u(f(e),dnr)}),N(LW,function(t,n,e){var i=a(PC,t,n);return a(P0(mnr),i,e)}),N(m5,function(t,n,e,i){u(f(e),unr),a(f(e),fnr,inr);var x=i[1];function c(E){return u(n,E)}R(_5,function(E){return u(t,E)},c,e,x),u(f(e),xnr),u(f(e),anr),a(f(e),cnr,onr);var s=i[2];if(s){g(e,snr);var p=s[1],y=function(E,h){return g(E,tnr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,vnr)}else g(e,lnr);return u(f(e),bnr),u(f(e),pnr)}),N(RW,function(t,n,e){var i=a(m5,t,n);return a(P0(nnr),i,e)}),N(_5,function(t,n,e,i){if(i){u(f(e),Qer);var x=i[1],c=function(p){return u(n,p)},s=function(p){return u(t,p)};return R(qe[31],s,c,e,x),u(f(e),rnr)}return g(e,enr)}),N(jW,function(t,n,e){var i=a(_5,t,n);return a(P0(Zer),i,e)}),pu(o6r,Je,[0,Ol,cC,vC,qK,hC,xW,oW,pW,_W,dW,kW,EW,s5,SW,v5,gW,OC,FW,IC,TW,AW,jee,Gee,[0,PC,LW,m5,RW,_5,jW]]);var DC=function t(n,e,i,x){return t.fun(n,e,i,x)},GW=function t(n,e,i){return t.fun(n,e,i)};N(DC,function(t,n,e,i){u(f(e),Ger),a(f(e),Ber,Mer);var x=i[1];u(f(e),qer);var c=0;be(function(E,h){E&&u(f(e),jer);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Xu[35],G,w,e,h),1},c,x),u(f(e),Uer),u(f(e),Her),u(f(e),Xer),a(f(e),Ver,Yer);var s=i[2];if(s){g(e,zer);var p=s[1],y=function(E,h){u(f(E),Ler);var w=0;return be(function(G,A){G&&u(f(E),Der);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),Rer)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,Ker)}else g(e,Wer);return u(f(e),Jer),u(f(e),$er)}),N(GW,function(t,n,e){var i=a(DC,t,n);return a(P0(Per),i,e)});var Kv=[0,DC,GW],LC=function t(n,e,i,x){return t.fun(n,e,i,x)},MW=function t(n,e,i){return t.fun(n,e,i)},y5=function t(n,e,i,x){return t.fun(n,e,i,x)},BW=function t(n,e,i){return t.fun(n,e,i)};N(LC,function(t,n,e,i){u(f(e),Aer),a(t,e,i[1]),u(f(e),Ner);var x=i[2];function c(s){return u(n,s)}return R(y5,function(s){return u(t,s)},c,e,x),u(f(e),Cer)}),N(MW,function(t,n,e){var i=a(LC,t,n);return a(P0(Ier),i,e)}),N(y5,function(t,n,e,i){u(f(e),_er),a(f(e),der,yer);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Xu[35],s,c,e,x),u(f(e),her),u(f(e),ker),a(f(e),Eer,wer);var p=i[2];if(p){g(e,Ser);var y=p[1],T=function(h,w){return g(h,mer)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,ger)}else g(e,Fer);return u(f(e),Ter),u(f(e),Oer)}),N(BW,function(t,n,e){var i=a(y5,t,n);return a(P0(per),i,e)});var qW=[0,LC,MW,y5,BW],RC=function t(n,e,i,x){return t.fun(n,e,i,x)},UW=function t(n,e,i){return t.fun(n,e,i)};N(RC,function(t,n,e,i){u(f(e),Vrr),a(f(e),Krr,zrr);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[31],s,c,e,x),u(f(e),Wrr),u(f(e),Jrr),a(f(e),Zrr,$rr);var p=i[2];function y(V){return u(n,V)}function T(V){return u(t,V)}R(Xu[35],T,y,e,p),u(f(e),Qrr),u(f(e),rer),a(f(e),ner,eer);var E=i[3];if(E){g(e,ter);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(qW[1],G,w,e,h),g(e,uer)}else g(e,ier);u(f(e),fer),u(f(e),xer),a(f(e),oer,aer);var A=i[4];if(A){g(e,cer);var S=A[1],M=function(V,f0){return g(V,Yrr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,ser)}else g(e,ver);return u(f(e),ler),u(f(e),ber)}),N(UW,function(t,n,e){var i=a(RC,t,n);return a(P0(Xrr),i,e)});var HW=[0,qW,RC,UW],jC=function t(n,e,i,x){return t.fun(n,e,i,x)},XW=function t(n,e,i){return t.fun(n,e,i)};N(jC,function(t,n,e,i){u(f(e),Orr),a(f(e),Arr,Irr);var x=i[1];function c(A){return u(t,A)}function s(A){return u(t,A)}R(Ln[1],s,c,e,x),u(f(e),Nrr),u(f(e),Crr),a(f(e),Drr,Prr);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),Lrr),u(f(e),Rrr),a(f(e),Grr,jrr);var E=i[3];if(E){g(e,Mrr);var h=E[1],w=function(A,S){return g(A,Trr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Brr)}else g(e,qrr);return u(f(e),Urr),u(f(e),Hrr)}),N(XW,function(t,n,e){var i=a(jC,t,n);return a(P0(Frr),i,e)});var YW=[0,jC,XW],GC=function t(n,e,i){return t.fun(n,e,i)},VW=function t(n,e){return t.fun(n,e)};N(GC,function(t,n,e){u(f(n),srr),a(f(n),lrr,vrr);var i=e[1];if(i){g(n,brr);var x=i[1],c=function(h){return u(t,h)},s=function(h){return u(t,h)};R(Ln[1],s,c,n,x),g(n,prr)}else g(n,mrr);u(f(n),_rr),u(f(n),yrr),a(f(n),hrr,drr);var p=e[2];if(p){g(n,krr);var y=p[1],T=function(h,w){return g(h,crr)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,wrr)}else g(n,Err);return u(f(n),Srr),u(f(n),grr)}),N(VW,function(t,n){var e=u(GC,t);return a(P0(orr),e,n)});var zW=[0,GC,VW],MC=function t(n,e,i){return t.fun(n,e,i)},KW=function t(n,e){return t.fun(n,e)};N(MC,function(t,n,e){u(f(n),K0r),a(f(n),J0r,W0r);var i=e[1];if(i){g(n,$0r);var x=i[1],c=function(h){return u(t,h)},s=function(h){return u(t,h)};R(Ln[1],s,c,n,x),g(n,Z0r)}else g(n,Q0r);u(f(n),rrr),u(f(n),err),a(f(n),trr,nrr);var p=e[2];if(p){g(n,urr);var y=p[1],T=function(h,w){return g(h,z0r)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,irr)}else g(n,frr);return u(f(n),xrr),u(f(n),arr)}),N(KW,function(t,n){var e=u(MC,t);return a(P0(V0r),e,n)});var WW=[0,MC,KW],BC=function t(n,e,i){return t.fun(n,e,i)},JW=function t(n,e){return t.fun(n,e)};N(BC,function(t,n,e){u(f(n),G0r),a(f(n),B0r,M0r);var i=e[1];if(i){g(n,q0r);var x=i[1],c=function(p,y){return g(p,j0r)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,U0r)}else g(n,H0r);return u(f(n),X0r),u(f(n),Y0r)}),N(JW,function(t,n){var e=u(BC,t);return a(P0(R0r),e,n)});var $W=[0,BC,JW],qC=function t(n,e,i,x){return t.fun(n,e,i,x)},ZW=function t(n,e,i){return t.fun(n,e,i)};N(qC,function(t,n,e,i){u(f(e),h0r),a(f(e),w0r,k0r);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),E0r),u(f(e),S0r),a(f(e),F0r,g0r);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),T0r),u(f(e),O0r),a(f(e),A0r,I0r);var E=i[3];if(E){g(e,N0r);var h=E[1],w=function(A,S){return g(A,d0r)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,C0r)}else g(e,P0r);return u(f(e),D0r),u(f(e),L0r)}),N(ZW,function(t,n,e){var i=a(qC,t,n);return a(P0(y0r),i,e)});var QW=[0,qC,ZW],UC=function t(n,e,i,x){return t.fun(n,e,i,x)},rJ=function t(n,e,i){return t.fun(n,e,i)};N(UC,function(t,n,e,i){u(f(e),WQ0),a(f(e),$Q0,JQ0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(Ln[1],s,c,e,x),u(f(e),ZQ0),u(f(e),QQ0),a(f(e),e0r,r0r);var p=i[2];if(p){g(e,n0r);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(Je[22][1],E,T,e,y),g(e,t0r)}else g(e,u0r);u(f(e),i0r),u(f(e),f0r),a(f(e),a0r,x0r);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(Je[13],G,w,e,h),u(f(e),o0r),u(f(e),c0r),a(f(e),v0r,s0r);var A=i[4];if(A){g(e,l0r);var S=A[1],M=function(V,f0){return g(V,KQ0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,b0r)}else g(e,p0r);return u(f(e),m0r),u(f(e),_0r)}),N(rJ,function(t,n,e){var i=a(UC,t,n);return a(P0(zQ0),i,e)});var d5=[0,UC,rJ],HC=function t(n,e,i,x){return t.fun(n,e,i,x)},eJ=function t(n,e,i){return t.fun(n,e,i)};N(HC,function(t,n,e,i){u(f(e),bQ0),a(f(e),mQ0,pQ0);var x=i[1];function c(e0){return u(n,e0)}function s(e0){return u(t,e0)}R(Ln[1],s,c,e,x),u(f(e),_Q0),u(f(e),yQ0),a(f(e),hQ0,dQ0);var p=i[2];if(p){g(e,kQ0);var y=p[1],T=function(e0){return u(n,e0)},E=function(e0){return u(t,e0)};R(Je[22][1],E,T,e,y),g(e,wQ0)}else g(e,EQ0);u(f(e),SQ0),u(f(e),gQ0),a(f(e),TQ0,FQ0);var h=i[3];if(h){g(e,OQ0);var w=h[1],G=function(e0){return u(n,e0)},A=function(e0){return u(t,e0)};R(Je[13],A,G,e,w),g(e,IQ0)}else g(e,AQ0);u(f(e),NQ0),u(f(e),CQ0),a(f(e),DQ0,PQ0);var S=i[4];if(S){g(e,LQ0);var M=S[1],K=function(e0){return u(n,e0)},V=function(e0){return u(t,e0)};R(Je[13],V,K,e,M),g(e,RQ0)}else g(e,jQ0);u(f(e),GQ0),u(f(e),MQ0),a(f(e),qQ0,BQ0);var f0=i[5];if(f0){g(e,UQ0);var m0=f0[1],k0=function(e0,x0){return g(e0,lQ0)},g0=function(e0){return u(t,e0)};R(Dr[1],g0,k0,e,m0),g(e,HQ0)}else g(e,XQ0);return u(f(e),YQ0),u(f(e),VQ0)}),N(eJ,function(t,n,e){var i=a(HC,t,n);return a(P0(vQ0),i,e)});var h5=[0,HC,eJ],XC=function t(n,e,i,x){return t.fun(n,e,i,x)},nJ=function t(n,e,i){return t.fun(n,e,i)},k5=function t(n,e,i,x){return t.fun(n,e,i,x)},tJ=function t(n,e,i){return t.fun(n,e,i)};N(XC,function(t,n,e,i){u(f(e),oQ0),a(t,e,i[1]),u(f(e),cQ0);var x=i[2];function c(s){return u(n,s)}return R(k5,function(s){return u(t,s)},c,e,x),u(f(e),sQ0)}),N(nJ,function(t,n,e){var i=a(XC,t,n);return a(P0(aQ0),i,e)}),N(k5,function(t,n,e,i){u(f(e),qZ0),a(f(e),HZ0,UZ0);var x=i[1];if(x){g(e,XZ0);var c=x[1],s=function(A){return u(n,A)},p=function(A){return u(t,A)};R(qe[31],p,s,e,c),g(e,YZ0)}else g(e,VZ0);u(f(e),zZ0),u(f(e),KZ0),a(f(e),JZ0,WZ0);var y=i[2];u(f(e),$Z0);var T=0;be(function(A,S){A&&u(f(e),BZ0);function M(V){return u(n,V)}function K(V){return u(t,V)}return R(Xu[35],K,M,e,S),1},T,y),u(f(e),ZZ0),u(f(e),QZ0),u(f(e),rQ0),a(f(e),nQ0,eQ0);var E=i[3];if(E){g(e,tQ0);var h=E[1],w=function(A,S){return g(A,MZ0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,uQ0)}else g(e,iQ0);return u(f(e),fQ0),u(f(e),xQ0)}),N(tJ,function(t,n,e){var i=a(k5,t,n);return a(P0(GZ0),i,e)});var uJ=[0,XC,nJ,k5,tJ],YC=function t(n,e,i,x){return t.fun(n,e,i,x)},iJ=function t(n,e,i){return t.fun(n,e,i)};N(YC,function(t,n,e,i){u(f(e),mZ0),a(f(e),yZ0,_Z0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),dZ0),u(f(e),hZ0),a(f(e),wZ0,kZ0);var p=i[2];u(f(e),EZ0);var y=0;be(function(G,A){G&&u(f(e),pZ0);function S(K){return u(n,K)}function M(K){return u(t,K)}return R(uJ[1],M,S,e,A),1},y,p),u(f(e),SZ0),u(f(e),gZ0),u(f(e),FZ0),a(f(e),OZ0,TZ0);var T=i[3];if(T){g(e,IZ0);var E=T[1],h=function(G,A){return g(G,bZ0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,AZ0)}else g(e,NZ0);return u(f(e),CZ0),u(f(e),PZ0),a(f(e),LZ0,DZ0),a(n,e,i[4]),u(f(e),RZ0),u(f(e),jZ0)}),N(iJ,function(t,n,e){var i=a(YC,t,n);return a(P0(lZ0),i,e)});var fJ=[0,uJ,YC,iJ],VC=function t(n,e,i,x){return t.fun(n,e,i,x)},xJ=function t(n,e,i){return t.fun(n,e,i)};N(VC,function(t,n,e,i){u(f(e),K$0),a(f(e),J$0,W$0);var x=i[1];if(x){g(e,$$0);var c=x[1],s=function(w){return u(n,w)},p=function(w){return u(t,w)};R(qe[31],p,s,e,c),g(e,Z$0)}else g(e,Q$0);u(f(e),rZ0),u(f(e),eZ0),a(f(e),tZ0,nZ0);var y=i[2];if(y){g(e,uZ0);var T=y[1],E=function(w,G){return g(w,z$0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,iZ0)}else g(e,fZ0);return u(f(e),xZ0),u(f(e),aZ0),a(f(e),cZ0,oZ0),a(n,e,i[3]),u(f(e),sZ0),u(f(e),vZ0)}),N(xJ,function(t,n,e){var i=a(VC,t,n);return a(P0(V$0),i,e)});var aJ=[0,VC,xJ],zC=function t(n,e,i,x){return t.fun(n,e,i,x)},oJ=function t(n,e,i){return t.fun(n,e,i)};N(zC,function(t,n,e,i){u(f(e),D$0),a(f(e),R$0,L$0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),j$0),u(f(e),G$0),a(f(e),B$0,M$0);var p=i[2];if(p){g(e,q$0);var y=p[1],T=function(h,w){return g(h,P$0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,U$0)}else g(e,H$0);return u(f(e),X$0),u(f(e),Y$0)}),N(oJ,function(t,n,e){var i=a(zC,t,n);return a(P0(C$0),i,e)});var cJ=[0,zC,oJ],KC=function t(n,e,i,x){return t.fun(n,e,i,x)},sJ=function t(n,e,i){return t.fun(n,e,i)},w5=function t(n,e,i,x){return t.fun(n,e,i,x)},vJ=function t(n,e,i){return t.fun(n,e,i)};N(KC,function(t,n,e,i){u(f(e),I$0),a(t,e,i[1]),u(f(e),A$0);var x=i[2];function c(s){return u(n,s)}return R(w5,function(s){return u(t,s)},c,e,x),u(f(e),N$0)}),N(sJ,function(t,n,e){var i=a(KC,t,n);return a(P0(O$0),i,e)}),N(w5,function(t,n,e,i){u(f(e),f$0),a(f(e),a$0,x$0);var x=i[1];if(x){g(e,o$0);var c=x[1],s=function(M){return u(n,M)},p=function(M){return u(t,M)};R(di[5],p,s,e,c),g(e,c$0)}else g(e,s$0);u(f(e),v$0),u(f(e),l$0),a(f(e),p$0,b$0);var y=i[2];u(f(e),m$0),a(t,e,y[1]),u(f(e),_$0);var T=y[2];function E(M){return u(n,M)}function h(M){return u(t,M)}R(Kv[1],h,E,e,T),u(f(e),y$0),u(f(e),d$0),u(f(e),h$0),a(f(e),w$0,k$0);var w=i[3];if(w){g(e,E$0);var G=w[1],A=function(M,K){return g(M,i$0)},S=function(M){return u(t,M)};R(Dr[1],S,A,e,G),g(e,S$0)}else g(e,g$0);return u(f(e),F$0),u(f(e),T$0)}),N(vJ,function(t,n,e){var i=a(w5,t,n);return a(P0(u$0),i,e)});var lJ=[0,KC,sJ,w5,vJ],WC=function t(n,e,i,x){return t.fun(n,e,i,x)},bJ=function t(n,e,i){return t.fun(n,e,i)};N(WC,function(t,n,e,i){u(f(e),FJ0),a(f(e),OJ0,TJ0);var x=i[1];u(f(e),IJ0),a(t,e,x[1]),u(f(e),AJ0);var c=x[2];function s(k0){return u(n,k0)}function p(k0){return u(t,k0)}R(Kv[1],p,s,e,c),u(f(e),NJ0),u(f(e),CJ0),u(f(e),PJ0),a(f(e),LJ0,DJ0);var y=i[2];if(y){g(e,RJ0);var T=y[1],E=function(k0){return u(n,k0)},h=function(k0){return u(t,k0)};R(lJ[1],h,E,e,T),g(e,jJ0)}else g(e,GJ0);u(f(e),MJ0),u(f(e),BJ0),a(f(e),UJ0,qJ0);var w=i[3];if(w){var G=w[1];g(e,HJ0),u(f(e),XJ0),a(t,e,G[1]),u(f(e),YJ0);var A=G[2],S=function(k0){return u(n,k0)},M=function(k0){return u(t,k0)};R(Kv[1],M,S,e,A),u(f(e),VJ0),g(e,zJ0)}else g(e,KJ0);u(f(e),WJ0),u(f(e),JJ0),a(f(e),ZJ0,$J0);var K=i[4];if(K){g(e,QJ0);var V=K[1],f0=function(k0,g0){return g(k0,gJ0)},m0=function(k0){return u(t,k0)};R(Dr[1],m0,f0,e,V),g(e,r$0)}else g(e,e$0);return u(f(e),n$0),u(f(e),t$0)}),N(bJ,function(t,n,e){var i=a(WC,t,n);return a(P0(SJ0),i,e)});var pJ=[0,lJ,WC,bJ],JC=function t(n,e,i,x){return t.fun(n,e,i,x)},mJ=function t(n,e,i){return t.fun(n,e,i)},E5=function t(n,e,i,x){return t.fun(n,e,i,x)},_J=function t(n,e,i){return t.fun(n,e,i)};N(JC,function(t,n,e,i){u(f(e),kJ0),a(t,e,i[1]),u(f(e),wJ0);var x=i[2];function c(s){return u(n,s)}return R(E5,function(s){return u(t,s)},c,e,x),u(f(e),EJ0)}),N(mJ,function(t,n,e){var i=a(JC,t,n);return a(P0(hJ0),i,e)}),N(E5,function(t,n,e,i){u(f(e),aJ0),a(f(e),cJ0,oJ0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),sJ0),u(f(e),vJ0),a(f(e),bJ0,lJ0);var p=i[2];if(p){g(e,pJ0);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,mJ0)}else g(e,_J0);return u(f(e),yJ0),u(f(e),dJ0)}),N(_J,function(t,n,e){var i=a(E5,t,n);return a(P0(xJ0),i,e)});var yJ=[0,JC,mJ,E5,_J],$C=function t(n,e,i,x){return t.fun(n,e,i,x)},dJ=function t(n,e,i){return t.fun(n,e,i)},S5=function t(n,e){return t.fun(n,e)},hJ=function t(n){return t.fun(n)};N($C,function(t,n,e,i){u(f(e),HW0),a(f(e),YW0,XW0);var x=i[1];u(f(e),VW0);var c=0;be(function(E,h){E&&u(f(e),UW0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(yJ[1],G,w,e,h),1},c,x),u(f(e),zW0),u(f(e),KW0),u(f(e),WW0),a(f(e),$W0,JW0),a(S5,e,i[2]),u(f(e),ZW0),u(f(e),QW0),a(f(e),eJ0,rJ0);var s=i[3];if(s){g(e,nJ0);var p=s[1],y=function(E,h){return g(E,qW0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,tJ0)}else g(e,uJ0);return u(f(e),iJ0),u(f(e),fJ0)}),N(dJ,function(t,n,e){var i=a($C,t,n);return a(P0(BW0),i,e)}),N(S5,function(t,n){switch(n){case 0:return g(t,jW0);case 1:return g(t,GW0);default:return g(t,MW0)}}),N(hJ,function(t){return a(P0(RW0),S5,t)});var Il=[0,yJ,$C,dJ,S5,hJ],ZC=function t(n,e,i,x){return t.fun(n,e,i,x)},kJ=function t(n,e,i){return t.fun(n,e,i)};N(ZC,function(t,n,e,i){u(f(e),hW0),a(f(e),wW0,kW0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),EW0),u(f(e),SW0),a(f(e),FW0,gW0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),TW0),u(f(e),OW0),a(f(e),AW0,IW0);var E=i[3];if(E){g(e,NW0);var h=E[1],w=function(A,S){return g(A,dW0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,CW0)}else g(e,PW0);return u(f(e),DW0),u(f(e),LW0)}),N(kJ,function(t,n,e){var i=a(ZC,t,n);return a(P0(yW0),i,e)});var wJ=[0,ZC,kJ],QC=function t(n,e,i,x){return t.fun(n,e,i,x)},EJ=function t(n,e,i){return t.fun(n,e,i)};N(QC,function(t,n,e,i){u(f(e),nW0),a(f(e),uW0,tW0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Xu[35],s,c,e,x),u(f(e),iW0),u(f(e),fW0),a(f(e),aW0,xW0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),oW0),u(f(e),cW0),a(f(e),vW0,sW0);var E=i[3];if(E){g(e,lW0);var h=E[1],w=function(A,S){return g(A,eW0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,bW0)}else g(e,pW0);return u(f(e),mW0),u(f(e),_W0)}),N(EJ,function(t,n,e){var i=a(QC,t,n);return a(P0(rW0),i,e)});var SJ=[0,QC,EJ],rP=function t(n,e,i,x){return t.fun(n,e,i,x)},gJ=function t(n,e,i){return t.fun(n,e,i)},g5=function t(n,e,i,x){return t.fun(n,e,i,x)},FJ=function t(n,e,i){return t.fun(n,e,i)};N(rP,function(t,n,e,i){u(f(e),kK0),a(f(e),EK0,wK0);var x=i[1];if(x){g(e,SK0);var c=x[1],s=function(g0){return u(n,g0)};R(g5,function(g0){return u(t,g0)},s,e,c),g(e,gK0)}else g(e,FK0);u(f(e),TK0),u(f(e),OK0),a(f(e),AK0,IK0);var p=i[2];if(p){g(e,NK0);var y=p[1],T=function(g0){return u(n,g0)},E=function(g0){return u(t,g0)};R(qe[31],E,T,e,y),g(e,CK0)}else g(e,PK0);u(f(e),DK0),u(f(e),LK0),a(f(e),jK0,RK0);var h=i[3];if(h){g(e,GK0);var w=h[1],G=function(g0){return u(n,g0)},A=function(g0){return u(t,g0)};R(qe[31],A,G,e,w),g(e,MK0)}else g(e,BK0);u(f(e),qK0),u(f(e),UK0),a(f(e),XK0,HK0);var S=i[4];function M(g0){return u(n,g0)}function K(g0){return u(t,g0)}R(Xu[35],K,M,e,S),u(f(e),YK0),u(f(e),VK0),a(f(e),KK0,zK0);var V=i[5];if(V){g(e,WK0);var f0=V[1],m0=function(g0,e0){return g(g0,hK0)},k0=function(g0){return u(t,g0)};R(Dr[1],k0,m0,e,f0),g(e,JK0)}else g(e,$K0);return u(f(e),ZK0),u(f(e),QK0)}),N(gJ,function(t,n,e){var i=a(rP,t,n);return a(P0(dK0),i,e)}),N(g5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),vK0),u(f(e),lK0),a(t,e,x[1]),u(f(e),bK0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),pK0),u(f(e),mK0)}u(f(e),_K0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(qe[31],E,T,e,y),u(f(e),yK0)}),N(FJ,function(t,n,e){var i=a(g5,t,n);return a(P0(sK0),i,e)});var TJ=[0,rP,gJ,g5,FJ],eP=function t(n,e,i,x){return t.fun(n,e,i,x)},OJ=function t(n,e,i){return t.fun(n,e,i)},F5=function t(n,e,i,x){return t.fun(n,e,i,x)},IJ=function t(n,e,i){return t.fun(n,e,i)};N(eP,function(t,n,e,i){u(f(e),Bz0),a(f(e),Uz0,qz0);var x=i[1];function c(K){return u(n,K)}R(F5,function(K){return u(t,K)},c,e,x),u(f(e),Hz0),u(f(e),Xz0),a(f(e),Vz0,Yz0);var s=i[2];function p(K){return u(n,K)}function y(K){return u(t,K)}R(qe[31],y,p,e,s),u(f(e),zz0),u(f(e),Kz0),a(f(e),Jz0,Wz0);var T=i[3];function E(K){return u(n,K)}function h(K){return u(t,K)}R(Xu[35],h,E,e,T),u(f(e),$z0),u(f(e),Zz0),a(f(e),rK0,Qz0);var w=i[4];a(f(e),eK0,w),u(f(e),nK0),u(f(e),tK0),a(f(e),iK0,uK0);var G=i[5];if(G){g(e,fK0);var A=G[1],S=function(K,V){return g(K,Mz0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,xK0)}else g(e,aK0);return u(f(e),oK0),u(f(e),cK0)}),N(OJ,function(t,n,e){var i=a(eP,t,n);return a(P0(Gz0),i,e)}),N(F5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),Nz0),u(f(e),Cz0),a(t,e,x[1]),u(f(e),Pz0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),Dz0),u(f(e),Lz0)}u(f(e),Rz0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(di[5],E,T,e,y),u(f(e),jz0)}),N(IJ,function(t,n,e){var i=a(F5,t,n);return a(P0(Az0),i,e)});var AJ=[0,eP,OJ,F5,IJ],nP=function t(n,e,i,x){return t.fun(n,e,i,x)},NJ=function t(n,e,i){return t.fun(n,e,i)},T5=function t(n,e,i,x){return t.fun(n,e,i,x)},CJ=function t(n,e,i){return t.fun(n,e,i)};N(nP,function(t,n,e,i){u(f(e),iz0),a(f(e),xz0,fz0);var x=i[1];function c(K){return u(n,K)}R(T5,function(K){return u(t,K)},c,e,x),u(f(e),az0),u(f(e),oz0),a(f(e),sz0,cz0);var s=i[2];function p(K){return u(n,K)}function y(K){return u(t,K)}R(qe[31],y,p,e,s),u(f(e),vz0),u(f(e),lz0),a(f(e),pz0,bz0);var T=i[3];function E(K){return u(n,K)}function h(K){return u(t,K)}R(Xu[35],h,E,e,T),u(f(e),mz0),u(f(e),_z0),a(f(e),dz0,yz0);var w=i[4];a(f(e),hz0,w),u(f(e),kz0),u(f(e),wz0),a(f(e),Sz0,Ez0);var G=i[5];if(G){g(e,gz0);var A=G[1],S=function(K,V){return g(K,uz0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Fz0)}else g(e,Tz0);return u(f(e),Oz0),u(f(e),Iz0)}),N(NJ,function(t,n,e){var i=a(nP,t,n);return a(P0(tz0),i,e)}),N(T5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),JV0),u(f(e),$V0),a(t,e,x[1]),u(f(e),ZV0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),QV0),u(f(e),rz0)}u(f(e),ez0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(di[5],E,T,e,y),u(f(e),nz0)}),N(CJ,function(t,n,e){var i=a(T5,t,n);return a(P0(WV0),i,e)});var PJ=[0,nP,NJ,T5,CJ],tP=function t(n,e,i){return t.fun(n,e,i)},DJ=function t(n,e){return t.fun(n,e)},O5=function t(n,e,i){return t.fun(n,e,i)},LJ=function t(n,e){return t.fun(n,e)};N(tP,function(t,n,e){u(f(n),VV0),a(t,n,e[1]),u(f(n),zV0);var i=e[2];return ir(O5,function(x){return u(t,x)},n,i),u(f(n),KV0)}),N(DJ,function(t,n){var e=u(tP,t);return a(P0(YV0),e,n)}),N(O5,function(t,n,e){u(f(n),BV0),a(f(n),UV0,qV0);var i=e[1];function x(s){return u(t,s)}function c(s){return u(t,s)}return R(Ln[1],c,x,n,i),u(f(n),HV0),u(f(n),XV0)}),N(LJ,function(t,n){var e=u(O5,t);return a(P0(MV0),e,n)});var uP=[0,tP,DJ,O5,LJ],iP=function t(n,e,i,x){return t.fun(n,e,i,x)},RJ=function t(n,e,i){return t.fun(n,e,i)},I5=function t(n,e,i,x){return t.fun(n,e,i,x)},jJ=function t(n,e,i){return t.fun(n,e,i)};N(iP,function(t,n,e,i){u(f(e),RV0),a(n,e,i[1]),u(f(e),jV0);var x=i[2];function c(s){return u(n,s)}return R(I5,function(s){return u(t,s)},c,e,x),u(f(e),GV0)}),N(RJ,function(t,n,e){var i=a(iP,t,n);return a(P0(LV0),i,e)}),N(I5,function(t,n,e,i){u(f(e),EV0),a(f(e),gV0,SV0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(n,y)}R(Ln[1],s,c,e,x),u(f(e),FV0),u(f(e),TV0),a(f(e),IV0,OV0);var p=i[2];return u(f(e),AV0),a(n,e,p[1]),u(f(e),NV0),a(t,e,p[2]),u(f(e),CV0),u(f(e),PV0),u(f(e),DV0)}),N(jJ,function(t,n,e){var i=a(I5,t,n);return a(P0(wV0),i,e)});var A5=[0,iP,RJ,I5,jJ],fP=function t(n,e,i){return t.fun(n,e,i)},GJ=function t(n,e){return t.fun(n,e)};N(fP,function(t,n,e){u(f(n),ZY0),a(f(n),rV0,QY0);var i=e[1];u(f(n),eV0);var x=0;be(function(h,w){h&&u(f(n),$Y0);function G(S){return u(t,S)}function A(S){function M(K){return u(t,K)}return a(XN[1],M,S)}return R(A5[1],A,G,n,w),1},x,i),u(f(n),nV0),u(f(n),tV0),u(f(n),uV0),a(f(n),fV0,iV0);var c=e[2];a(f(n),xV0,c),u(f(n),aV0),u(f(n),oV0),a(f(n),sV0,cV0);var s=e[3];a(f(n),vV0,s),u(f(n),lV0),u(f(n),bV0),a(f(n),mV0,pV0);var p=e[4];if(p){g(n,_V0);var y=p[1],T=function(h,w){u(f(h),WY0);var G=0;return be(function(A,S){A&&u(f(h),KY0);function M(K){return u(t,K)}return ir(uu[1],M,h,S),1},G,w),u(f(h),JY0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,yV0)}else g(n,dV0);return u(f(n),hV0),u(f(n),kV0)}),N(GJ,function(t,n){var e=u(fP,t);return a(P0(zY0),e,n)});var MJ=[0,fP,GJ],xP=function t(n,e,i){return t.fun(n,e,i)},BJ=function t(n,e){return t.fun(n,e)};N(xP,function(t,n,e){u(f(n),EY0),a(f(n),gY0,SY0);var i=e[1];u(f(n),FY0);var x=0;be(function(h,w){h&&u(f(n),wY0);function G(S){return u(t,S)}function A(S){function M(K){return u(t,K)}return a(HN[1],M,S)}return R(A5[1],A,G,n,w),1},x,i),u(f(n),TY0),u(f(n),OY0),u(f(n),IY0),a(f(n),NY0,AY0);var c=e[2];a(f(n),CY0,c),u(f(n),PY0),u(f(n),DY0),a(f(n),RY0,LY0);var s=e[3];a(f(n),jY0,s),u(f(n),GY0),u(f(n),MY0),a(f(n),qY0,BY0);var p=e[4];if(p){g(n,UY0);var y=p[1],T=function(h,w){u(f(h),hY0);var G=0;return be(function(A,S){A&&u(f(h),dY0);function M(K){return u(t,K)}return ir(uu[1],M,h,S),1},G,w),u(f(h),kY0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,HY0)}else g(n,XY0);return u(f(n),YY0),u(f(n),VY0)}),N(BJ,function(t,n){var e=u(xP,t);return a(P0(yY0),e,n)});var qJ=[0,xP,BJ],aP=function t(n,e,i){return t.fun(n,e,i)},UJ=function t(n,e){return t.fun(n,e)},N5=function t(n,e,i,x){return t.fun(n,e,i,x)},HJ=function t(n,e,i){return t.fun(n,e,i)};N(aP,function(t,n,e){u(f(n),JX0),a(f(n),ZX0,$X0);var i=e[1];function x(h){return u(t,h)}R(N5,function(h){function w(G){return u(t,G)}return a(F1[1],w,h)},x,n,i),u(f(n),QX0),u(f(n),rY0),a(f(n),nY0,eY0);var c=e[2];a(f(n),tY0,c),u(f(n),uY0),u(f(n),iY0),a(f(n),xY0,fY0);var s=e[3];a(f(n),aY0,s),u(f(n),oY0),u(f(n),cY0),a(f(n),vY0,sY0);var p=e[4];if(p){g(n,lY0);var y=p[1],T=function(h,w){u(f(h),KX0);var G=0;return be(function(A,S){A&&u(f(h),zX0);function M(K){return u(t,K)}return ir(uu[1],M,h,S),1},G,w),u(f(h),WX0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,bY0)}else g(n,pY0);return u(f(n),mY0),u(f(n),_Y0)}),N(UJ,function(t,n){var e=u(aP,t);return a(P0(VX0),e,n)}),N(N5,function(t,n,e,i){if(i[0]===0){u(f(e),GX0),u(f(e),MX0);var x=i[1],c=0;return be(function(y,T){y&&u(f(e),jX0);function E(h){return u(n,h)}return ir(uP[1],E,e,T),1},c,x),u(f(e),BX0),u(f(e),qX0)}u(f(e),UX0),u(f(e),HX0);var s=i[1],p=0;return be(function(y,T){y&&u(f(e),RX0);function E(w){return u(n,w)}function h(w){return u(t,w)}return R(A5[1],h,E,e,T),1},p,s),u(f(e),XX0),u(f(e),YX0)}),N(HJ,function(t,n,e){var i=a(N5,t,n);return a(P0(LX0),i,e)});var XJ=[0,aP,UJ,N5,HJ],oP=function t(n,e,i){return t.fun(n,e,i)},YJ=function t(n,e){return t.fun(n,e)};N(oP,function(t,n,e){u(f(n),mX0),a(f(n),yX0,_X0);var i=e[1];u(f(n),dX0);var x=0;be(function(E,h){E&&u(f(n),pX0);function w(G){return u(t,G)}return ir(uP[1],w,n,h),1},x,i),u(f(n),hX0),u(f(n),kX0),u(f(n),wX0),a(f(n),SX0,EX0);var c=e[2];a(f(n),gX0,c),u(f(n),FX0),u(f(n),TX0),a(f(n),IX0,OX0);var s=e[3];if(s){g(n,AX0);var p=s[1],y=function(E,h){u(f(E),lX0);var w=0;return be(function(G,A){G&&u(f(E),vX0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),bX0)},T=function(E){return u(t,E)};R(Dr[1],T,y,n,p),g(n,NX0)}else g(n,CX0);return u(f(n),PX0),u(f(n),DX0)}),N(YJ,function(t,n){var e=u(oP,t);return a(P0(sX0),e,n)});var VJ=[0,oP,YJ],cP=function t(n,e,i,x){return t.fun(n,e,i,x)},zJ=function t(n,e,i){return t.fun(n,e,i)},C5=function t(n,e,i){return t.fun(n,e,i)},KJ=function t(n,e){return t.fun(n,e)},P5=function t(n,e,i){return t.fun(n,e,i)},WJ=function t(n,e){return t.fun(n,e)};N(cP,function(t,n,e,i){u(f(e),WH0),a(f(e),$H0,JH0);var x=i[1];function c(w){return u(n,w)}function s(w){return u(t,w)}R(Ln[1],s,c,e,x),u(f(e),ZH0),u(f(e),QH0),a(f(e),eX0,rX0);var p=i[2];ir(C5,function(w){return u(t,w)},e,p),u(f(e),nX0),u(f(e),tX0),a(f(e),iX0,uX0);var y=i[3];if(y){g(e,fX0);var T=y[1],E=function(w,G){return g(w,KH0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,xX0)}else g(e,aX0);return u(f(e),oX0),u(f(e),cX0)}),N(zJ,function(t,n,e){var i=a(cP,t,n);return a(P0(zH0),i,e)}),N(C5,function(t,n,e){u(f(n),XH0),a(t,n,e[1]),u(f(n),YH0);var i=e[2];return ir(P5,function(x){return u(t,x)},n,i),u(f(n),VH0)}),N(KJ,function(t,n){var e=u(C5,t);return a(P0(HH0),e,n)}),N(P5,function(t,n,e){switch(e[0]){case 0:u(f(n),LH0);var i=e[1],x=function(h){return u(t,h)};return ir(MJ[1],x,n,i),u(f(n),RH0);case 1:u(f(n),jH0);var c=e[1],s=function(h){return u(t,h)};return ir(qJ[1],s,n,c),u(f(n),GH0);case 2:u(f(n),MH0);var p=e[1],y=function(h){return u(t,h)};return ir(XJ[1],y,n,p),u(f(n),BH0);default:u(f(n),qH0);var T=e[1],E=function(h){return u(t,h)};return ir(VJ[1],E,n,T),u(f(n),UH0)}}),N(WJ,function(t,n){var e=u(P5,t);return a(P0(DH0),e,n)});var JJ=[0,uP,A5,MJ,qJ,XJ,VJ,cP,zJ,C5,KJ,P5,WJ],sP=function t(n,e,i,x){return t.fun(n,e,i,x)},$J=function t(n,e,i){return t.fun(n,e,i)};N(sP,function(t,n,e,i){u(f(e),nH0),a(f(e),uH0,tH0);var x=i[1];function c(k0){return u(n,k0)}function s(k0){return u(t,k0)}R(Ln[1],s,c,e,x),u(f(e),iH0),u(f(e),fH0),a(f(e),aH0,xH0);var p=i[2];if(p){g(e,oH0);var y=p[1],T=function(k0){return u(n,k0)},E=function(k0){return u(t,k0)};R(Je[22][1],E,T,e,y),g(e,cH0)}else g(e,sH0);u(f(e),vH0),u(f(e),lH0),a(f(e),pH0,bH0);var h=i[3];u(f(e),mH0);var w=0;be(function(k0,g0){k0&&u(f(e),ZU0),u(f(e),QU0),a(t,e,g0[1]),u(f(e),rH0);var e0=g0[2];function x0(c0){return u(n,c0)}function l(c0){return u(t,c0)}return R(Je[2][2],l,x0,e,e0),u(f(e),eH0),1},w,h),u(f(e),_H0),u(f(e),yH0),u(f(e),dH0),a(f(e),kH0,hH0);var G=i[4];u(f(e),wH0),a(t,e,G[1]),u(f(e),EH0);var A=G[2];function S(k0){return u(n,k0)}function M(k0){return u(t,k0)}R(Je[5][6],M,S,e,A),u(f(e),SH0),u(f(e),gH0),u(f(e),FH0),a(f(e),OH0,TH0);var K=i[5];if(K){g(e,IH0);var V=K[1],f0=function(k0,g0){return g(k0,$U0)},m0=function(k0){return u(t,k0)};R(Dr[1],m0,f0,e,V),g(e,AH0)}else g(e,NH0);return u(f(e),CH0),u(f(e),PH0)}),N($J,function(t,n,e){var i=a(sP,t,n);return a(P0(JU0),i,e)});var D5=[0,sP,$J],vP=function t(n,e,i,x){return t.fun(n,e,i,x)},ZJ=function t(n,e,i){return t.fun(n,e,i)};N(vP,function(t,n,e,i){u(f(e),eU0),a(f(e),tU0,nU0);var x=i[1];function c(_0){return u(n,_0)}function s(_0){return u(t,_0)}R(Ln[1],s,c,e,x),u(f(e),uU0),u(f(e),iU0),a(f(e),xU0,fU0);var p=i[2];if(p){g(e,aU0);var y=p[1],T=function(_0){return u(n,_0)},E=function(_0){return u(t,_0)};R(Je[22][1],E,T,e,y),g(e,oU0)}else g(e,cU0);u(f(e),sU0),u(f(e),vU0),a(f(e),bU0,lU0);var h=i[3];u(f(e),pU0),a(t,e,h[1]),u(f(e),mU0);var w=h[2];function G(_0){return u(n,_0)}function A(_0){return u(t,_0)}R(Je[5][6],A,G,e,w),u(f(e),_U0),u(f(e),yU0),u(f(e),dU0),a(f(e),kU0,hU0);var S=i[4];if(S){var M=S[1];g(e,wU0),u(f(e),EU0),a(t,e,M[1]),u(f(e),SU0);var K=M[2],V=function(_0){return u(n,_0)},f0=function(_0){return u(t,_0)};R(Je[2][2],f0,V,e,K),u(f(e),gU0),g(e,FU0)}else g(e,TU0);u(f(e),OU0),u(f(e),IU0),a(f(e),NU0,AU0);var m0=i[5];u(f(e),CU0);var k0=0;be(function(_0,E0){_0&&u(f(e),$q0),u(f(e),Zq0),a(t,e,E0[1]),u(f(e),Qq0);var X0=E0[2];function b(X){return u(n,X)}function G0(X){return u(t,X)}return R(Je[2][2],G0,b,e,X0),u(f(e),rU0),1},k0,m0),u(f(e),PU0),u(f(e),DU0),u(f(e),LU0),a(f(e),jU0,RU0);var g0=i[6];if(g0){g(e,GU0);var e0=g0[1],x0=function(_0){return u(n,_0)},l=function(_0){return u(t,_0)};R(T1[5][2],l,x0,e,e0),g(e,MU0)}else g(e,BU0);u(f(e),qU0),u(f(e),UU0),a(f(e),XU0,HU0);var c0=i[7];if(c0){g(e,YU0);var t0=c0[1],a0=function(_0,E0){return g(_0,Jq0)},w0=function(_0){return u(t,_0)};R(Dr[1],w0,a0,e,t0),g(e,VU0)}else g(e,zU0);return u(f(e),KU0),u(f(e),WU0)}),N(ZJ,function(t,n,e){var i=a(vP,t,n);return a(P0(Wq0),i,e)});var lP=[0,vP,ZJ],bP=function t(n,e,i,x){return t.fun(n,e,i,x)},QJ=function t(n,e,i){return t.fun(n,e,i)};N(bP,function(t,n,e,i){u(f(e),Pq0),a(f(e),Lq0,Dq0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Ln[1],s,c,e,x),u(f(e),Rq0),u(f(e),jq0),a(f(e),Mq0,Gq0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[17],T,y,e,p),u(f(e),Bq0),u(f(e),qq0),a(f(e),Hq0,Uq0);var E=i[3];if(E){g(e,Xq0);var h=E[1],w=function(A,S){return g(A,Cq0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Yq0)}else g(e,Vq0);return u(f(e),zq0),u(f(e),Kq0)}),N(QJ,function(t,n,e){var i=a(bP,t,n);return a(P0(Nq0),i,e)});var pP=[0,bP,QJ],mP=function t(n,e,i,x){return t.fun(n,e,i,x)},r$=function t(n,e,i){return t.fun(n,e,i)};N(mP,function(t,n,e,i){u(f(e),aq0),a(f(e),cq0,oq0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(Ln[1],s,c,e,x),u(f(e),sq0),u(f(e),vq0),a(f(e),bq0,lq0);var p=i[2];function y(V){return u(n,V)}function T(V){return u(t,V)}R(Je[17],T,y,e,p),u(f(e),pq0),u(f(e),mq0),a(f(e),yq0,_q0);var E=i[3];if(E){g(e,dq0);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(Je[24][1],G,w,e,h),g(e,hq0)}else g(e,kq0);u(f(e),wq0),u(f(e),Eq0),a(f(e),gq0,Sq0);var A=i[4];if(A){g(e,Fq0);var S=A[1],M=function(V,f0){return g(V,xq0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,Tq0)}else g(e,Oq0);return u(f(e),Iq0),u(f(e),Aq0)}),N(r$,function(t,n,e){var i=a(mP,t,n);return a(P0(fq0),i,e)});var _P=[0,mP,r$],L5=function t(n,e,i,x){return t.fun(n,e,i,x)},e$=function t(n,e,i){return t.fun(n,e,i)},R5=function t(n,e){return t.fun(n,e)},n$=function t(n){return t.fun(n)},yP=function t(n,e,i,x){return t.fun(n,e,i,x)},t$=function t(n,e,i){return t.fun(n,e,i)};N(L5,function(t,n,e,i){if(i[0]===0){u(f(e),QB0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Ln[1],s,c,e,x),u(f(e),rq0)}var p=i[1];u(f(e),eq0),u(f(e),nq0),a(n,e,p[1]),u(f(e),tq0);var y=p[2];function T(E){return u(t,E)}return ir(F1[1],T,e,y),u(f(e),uq0),u(f(e),iq0)}),N(e$,function(t,n,e){var i=a(L5,t,n);return a(P0(ZB0),i,e)}),N(R5,function(t,n){return n?g(t,JB0):g(t,$B0)}),N(n$,function(t){return a(P0(WB0),R5,t)}),N(yP,function(t,n,e,i){u(f(e),FB0),a(f(e),OB0,TB0);var x=i[1];function c(A){return u(n,A)}R(L5,function(A){return u(t,A)},c,e,x),u(f(e),IB0),u(f(e),AB0),a(f(e),CB0,NB0);var s=i[2];u(f(e),PB0),a(t,e,s[1]),u(f(e),DB0);var p=s[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Kv[1],T,y,e,p),u(f(e),LB0),u(f(e),RB0),u(f(e),jB0),a(f(e),MB0,GB0),a(R5,e,i[3]),u(f(e),BB0),u(f(e),qB0),a(f(e),HB0,UB0);var E=i[4];if(E){g(e,XB0);var h=E[1],w=function(A,S){return g(A,gB0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,YB0)}else g(e,VB0);return u(f(e),zB0),u(f(e),KB0)}),N(t$,function(t,n,e){var i=a(yP,t,n);return a(P0(SB0),i,e)});var u$=[0,L5,e$,R5,n$,yP,t$],dP=function t(n,e,i,x){return t.fun(n,e,i,x)},i$=function t(n,e,i){return t.fun(n,e,i)};N(dP,function(t,n,e,i){u(f(e),vB0),a(f(e),bB0,lB0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),pB0),u(f(e),mB0),a(f(e),yB0,_B0);var p=i[2];if(p){g(e,dB0);var y=p[1],T=function(h,w){return g(h,sB0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,hB0)}else g(e,kB0);return u(f(e),wB0),u(f(e),EB0)}),N(i$,function(t,n,e){var i=a(dP,t,n);return a(P0(cB0),i,e)});var f$=[0,dP,i$],hP=function t(n,e,i){return t.fun(n,e,i)},x$=function t(n,e){return t.fun(n,e)},j5=function t(n,e,i){return t.fun(n,e,i)},a$=function t(n,e){return t.fun(n,e)};N(hP,function(t,n,e){u(f(n),xB0),a(t,n,e[1]),u(f(n),aB0);var i=e[2];return ir(j5,function(x){return u(t,x)},n,i),u(f(n),oB0)}),N(x$,function(t,n){var e=u(hP,t);return a(P0(fB0),e,n)}),N(j5,function(t,n,e){u(f(n),KM0),a(f(n),JM0,WM0);var i=e[1];function x(E){return u(t,E)}function c(E){return u(t,E)}R(Ln[1],c,x,n,i),u(f(n),$M0),u(f(n),ZM0),a(f(n),rB0,QM0);var s=e[2];if(s){g(n,eB0);var p=s[1],y=function(E){return u(t,E)},T=function(E){return u(t,E)};R(Ln[1],T,y,n,p),g(n,nB0)}else g(n,tB0);return u(f(n),uB0),u(f(n),iB0)}),N(a$,function(t,n){var e=u(j5,t);return a(P0(zM0),e,n)});var o$=[0,hP,x$,j5,a$],kP=function t(n,e,i){return t.fun(n,e,i)},c$=function t(n,e){return t.fun(n,e)};N(kP,function(t,n,e){var i=e[2];if(u(f(n),qM0),a(t,n,e[1]),u(f(n),UM0),i){g(n,HM0);var x=i[1],c=function(p){return u(t,p)},s=function(p){return u(t,p)};R(Ln[1],s,c,n,x),g(n,XM0)}else g(n,YM0);return u(f(n),VM0)}),N(c$,function(t,n){var e=u(kP,t);return a(P0(BM0),e,n)});var s$=[0,kP,c$],wP=function t(n,e,i,x){return t.fun(n,e,i,x)},v$=function t(n,e,i){return t.fun(n,e,i)},G5=function t(n,e,i){return t.fun(n,e,i)},l$=function t(n,e){return t.fun(n,e)};N(wP,function(t,n,e,i){u(f(e),uM0),a(f(e),fM0,iM0);var x=i[1];if(x){g(e,xM0);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(Xu[35],p,s,e,c),g(e,aM0)}else g(e,oM0);u(f(e),cM0),u(f(e),sM0),a(f(e),lM0,vM0);var y=i[2];if(y){g(e,bM0);var T=y[1];ir(G5,function(V){return u(t,V)},e,T),g(e,pM0)}else g(e,mM0);u(f(e),_M0),u(f(e),yM0),a(f(e),hM0,dM0);var E=i[3];if(E){var h=E[1];g(e,kM0),u(f(e),wM0),a(t,e,h[1]),u(f(e),EM0);var w=h[2],G=function(V){return u(t,V)};ir(F1[1],G,e,w),u(f(e),SM0),g(e,gM0)}else g(e,FM0);u(f(e),TM0),u(f(e),OM0),a(f(e),AM0,IM0),a(Xu[33],e,i[4]),u(f(e),NM0),u(f(e),CM0),a(f(e),DM0,PM0);var A=i[5];if(A){g(e,LM0);var S=A[1],M=function(V,f0){return g(V,tM0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,RM0)}else g(e,jM0);return u(f(e),GM0),u(f(e),MM0)}),N(v$,function(t,n,e){var i=a(wP,t,n);return a(P0(nM0),i,e)}),N(G5,function(t,n,e){if(e[0]===0){u(f(n),JG0),u(f(n),$G0);var i=e[1],x=0;return be(function(p,y){p&&u(f(n),WG0);function T(E){return u(t,E)}return ir(o$[1],T,n,y),1},x,i),u(f(n),ZG0),u(f(n),QG0)}u(f(n),rM0);var c=e[1];function s(p){return u(t,p)}return ir(s$[1],s,n,c),u(f(n),eM0)}),N(l$,function(t,n){var e=u(G5,t);return a(P0(KG0),e,n)});var EP=[0,o$,s$,wP,v$,G5,l$],SP=function t(n,e,i,x){return t.fun(n,e,i,x)},b$=function t(n,e,i){return t.fun(n,e,i)},M5=function t(n,e,i,x){return t.fun(n,e,i,x)},p$=function t(n,e,i){return t.fun(n,e,i)};N(SP,function(t,n,e,i){u(f(e),CG0),a(f(e),DG0,PG0),a(t,e,i[1]),u(f(e),LG0),u(f(e),RG0),a(f(e),GG0,jG0);var x=i[2];function c(E){return u(n,E)}R(M5,function(E){return u(t,E)},c,e,x),u(f(e),MG0),u(f(e),BG0),a(f(e),UG0,qG0);var s=i[3];if(s){g(e,HG0);var p=s[1],y=function(E,h){return g(E,NG0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,XG0)}else g(e,YG0);return u(f(e),VG0),u(f(e),zG0)}),N(b$,function(t,n,e){var i=a(SP,t,n);return a(P0(AG0),i,e)}),N(M5,function(t,n,e,i){if(i[0]===0){u(f(e),FG0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Xu[35],s,c,e,x),u(f(e),TG0)}u(f(e),OG0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(qe[31],T,y,e,p),u(f(e),IG0)}),N(p$,function(t,n,e){var i=a(M5,t,n);return a(P0(gG0),i,e)});var m$=[0,SP,b$,M5,p$],B5=function t(n,e,i,x){return t.fun(n,e,i,x)},_$=function t(n,e,i){return t.fun(n,e,i)},gP=function t(n,e,i,x){return t.fun(n,e,i,x)},y$=function t(n,e,i){return t.fun(n,e,i)};N(B5,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),zj0),u(f(e),Kj0),a(t,e,x[1]),u(f(e),Wj0);var c=x[2],s=function(E0){return u(n,E0)},p=function(E0){return u(t,E0)};return R(pP[1],p,s,e,c),u(f(e),Jj0),u(f(e),$j0);case 1:var y=i[1];u(f(e),Zj0),u(f(e),Qj0),a(t,e,y[1]),u(f(e),rG0);var T=y[2],E=function(E0){return u(n,E0)},h=function(E0){return u(t,E0)};return R(_P[1],h,E,e,T),u(f(e),eG0),u(f(e),nG0);case 2:var w=i[1];u(f(e),tG0),u(f(e),uG0),a(t,e,w[1]),u(f(e),iG0);var G=w[2],A=function(E0){return u(n,E0)},S=function(E0){return u(t,E0)};return R(lP[1],S,A,e,G),u(f(e),fG0),u(f(e),xG0);case 3:u(f(e),aG0);var M=i[1],K=function(E0){return u(n,E0)},V=function(E0){return u(t,E0)};return R(Je[13],V,K,e,M),u(f(e),oG0);case 4:var f0=i[1];u(f(e),cG0),u(f(e),sG0),a(t,e,f0[1]),u(f(e),vG0);var m0=f0[2],k0=function(E0){return u(n,E0)},g0=function(E0){return u(t,E0)};return R(d5[1],g0,k0,e,m0),u(f(e),lG0),u(f(e),bG0);case 5:var e0=i[1];u(f(e),pG0),u(f(e),mG0),a(t,e,e0[1]),u(f(e),_G0);var x0=e0[2],l=function(E0){return u(n,E0)},c0=function(E0){return u(t,E0)};return R(h5[1],c0,l,e,x0),u(f(e),yG0),u(f(e),dG0);default:var t0=i[1];u(f(e),hG0),u(f(e),kG0),a(t,e,t0[1]),u(f(e),wG0);var a0=t0[2],w0=function(E0){return u(n,E0)},_0=function(E0){return u(t,E0)};return R(D5[1],_0,w0,e,a0),u(f(e),EG0),u(f(e),SG0)}}),N(_$,function(t,n,e){var i=a(B5,t,n);return a(P0(Vj0),i,e)}),N(gP,function(t,n,e,i){u(f(e),xj0),a(f(e),oj0,aj0);var x=i[1];x?(g(e,cj0),a(t,e,x[1]),g(e,sj0)):g(e,vj0),u(f(e),lj0),u(f(e),bj0),a(f(e),mj0,pj0);var c=i[2];if(c){g(e,_j0);var s=c[1],p=function(f0){return u(n,f0)};R(B5,function(f0){return u(t,f0)},p,e,s),g(e,yj0)}else g(e,dj0);u(f(e),hj0),u(f(e),kj0),a(f(e),Ej0,wj0);var y=i[3];if(y){g(e,Sj0);var T=y[1],E=function(f0){return u(t,f0)};ir(EP[5],E,e,T),g(e,gj0)}else g(e,Fj0);u(f(e),Tj0),u(f(e),Oj0),a(f(e),Aj0,Ij0);var h=i[4];if(h){var w=h[1];g(e,Nj0),u(f(e),Cj0),a(t,e,w[1]),u(f(e),Pj0);var G=w[2],A=function(f0){return u(t,f0)};ir(F1[1],A,e,G),u(f(e),Dj0),g(e,Lj0)}else g(e,Rj0);u(f(e),jj0),u(f(e),Gj0),a(f(e),Bj0,Mj0);var S=i[5];if(S){g(e,qj0);var M=S[1],K=function(f0,m0){return g(f0,fj0)},V=function(f0){return u(t,f0)};R(Dr[1],V,K,e,M),g(e,Uj0)}else g(e,Hj0);return u(f(e),Xj0),u(f(e),Yj0)}),N(y$,function(t,n,e){var i=a(gP,t,n);return a(P0(ij0),i,e)});var d$=[0,B5,_$,gP,y$],Al=function t(n,e){return t.fun(n,e)},h$=function t(n){return t.fun(n)},q5=function t(n,e,i,x){return t.fun(n,e,i,x)},k$=function t(n,e,i){return t.fun(n,e,i)},U5=function t(n,e,i,x){return t.fun(n,e,i,x)},w$=function t(n,e,i){return t.fun(n,e,i)},FP=function t(n,e,i,x){return t.fun(n,e,i,x)},E$=function t(n,e,i){return t.fun(n,e,i)};N(Al,function(t,n){switch(n){case 0:return g(t,nj0);case 1:return g(t,tj0);default:return g(t,uj0)}}),N(h$,function(t){return a(P0(ej0),Al,t)}),N(q5,function(t,n,e,i){if(i[0]===0){u(f(e),VR0),u(f(e),zR0);var x=i[1],c=0;return be(function(E,h){E&&u(f(e),YR0);function w(G){return u(n,G)}return R(U5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),KR0),u(f(e),WR0)}var s=i[1];u(f(e),JR0),u(f(e),$R0),a(t,e,s[1]),u(f(e),ZR0);var p=s[2];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(Ln[1],T,y,e,p),u(f(e),QR0),u(f(e),rj0)}),N(k$,function(t,n,e){var i=a(q5,t,n);return a(P0(XR0),i,e)}),N(U5,function(t,n,e,i){u(f(e),gR0),a(f(e),TR0,FR0);var x=i[1];x?(g(e,OR0),a(Al,e,x[1]),g(e,IR0)):g(e,AR0),u(f(e),NR0),u(f(e),CR0),a(f(e),DR0,PR0);var c=i[2];if(c){g(e,LR0);var s=c[1],p=function(w){return u(n,w)},y=function(w){return u(t,w)};R(Ln[1],y,p,e,s),g(e,RR0)}else g(e,jR0);u(f(e),GR0),u(f(e),MR0),a(f(e),qR0,BR0);var T=i[3];function E(w){return u(n,w)}function h(w){return u(t,w)}return R(Ln[1],h,E,e,T),u(f(e),UR0),u(f(e),HR0)}),N(w$,function(t,n,e){var i=a(U5,t,n);return a(P0(SR0),i,e)}),N(FP,function(t,n,e,i){u(f(e),YL0),a(f(e),zL0,VL0),a(Al,e,i[1]),u(f(e),KL0),u(f(e),WL0),a(f(e),$L0,JL0);var x=i[2];u(f(e),ZL0),a(t,e,x[1]),u(f(e),QL0);var c=x[2];function s(V){return u(t,V)}ir(F1[1],s,e,c),u(f(e),rR0),u(f(e),eR0),u(f(e),nR0),a(f(e),uR0,tR0);var p=i[3];if(p){g(e,iR0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(Ln[1],E,T,e,y),g(e,fR0)}else g(e,xR0);u(f(e),aR0),u(f(e),oR0),a(f(e),sR0,cR0);var h=i[4];if(h){g(e,vR0);var w=h[1],G=function(V){return u(n,V)};R(q5,function(V){return u(t,V)},G,e,w),g(e,lR0)}else g(e,bR0);u(f(e),pR0),u(f(e),mR0),a(f(e),yR0,_R0);var A=i[5];if(A){g(e,dR0);var S=A[1],M=function(V,f0){return g(V,XL0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,hR0)}else g(e,kR0);return u(f(e),wR0),u(f(e),ER0)}),N(E$,function(t,n,e){var i=a(FP,t,n);return a(P0(HL0),i,e)});var S$=[0,Al,h$,q5,k$,U5,w$,FP,E$],TP=function t(n,e,i,x){return t.fun(n,e,i,x)},g$=function t(n,e,i){return t.fun(n,e,i)};N(TP,function(t,n,e,i){u(f(e),EL0),a(f(e),gL0,SL0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),FL0),u(f(e),TL0),a(f(e),IL0,OL0);var p=i[2];if(p){g(e,AL0);var y=p[1];a(f(e),NL0,y),g(e,CL0)}else g(e,PL0);u(f(e),DL0),u(f(e),LL0),a(f(e),jL0,RL0);var T=i[3];if(T){g(e,GL0);var E=T[1],h=function(G,A){return g(G,wL0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,ML0)}else g(e,BL0);return u(f(e),qL0),u(f(e),UL0)}),N(g$,function(t,n,e){var i=a(TP,t,n);return a(P0(kL0),i,e)});var F$=[0,TP,g$],OP=function t(n,e,i){return t.fun(n,e,i)},T$=function t(n,e){return t.fun(n,e)};N(OP,function(t,n,e){u(f(n),lL0),a(f(n),pL0,bL0);var i=e[1];if(i){g(n,mL0);var x=i[1],c=function(p,y){return g(p,vL0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,_L0)}else g(n,yL0);return u(f(n),dL0),u(f(n),hL0)}),N(T$,function(t,n){var e=u(OP,t);return a(P0(sL0),e,n)});var O$=[0,OP,T$],IP=function t(n,e){return t.fun(n,e)},I$=function t(n){return t.fun(n)},AP=function t(n,e,i,x){return t.fun(n,e,i,x)},A$=function t(n,e,i){return t.fun(n,e,i)},H5=function t(n,e,i,x){return t.fun(n,e,i,x)},N$=function t(n,e,i){return t.fun(n,e,i)};N(IP,function(t,n){return n?g(t,oL0):g(t,cL0)}),N(I$,function(t){return a(P0(aL0),IP,t)}),N(AP,function(t,n,e,i){u(f(e),iL0),a(t,e,i[1]),u(f(e),fL0);var x=i[2];function c(s){return u(n,s)}return R(H5,function(s){return u(t,s)},c,e,x),u(f(e),xL0)}),N(A$,function(t,n,e){var i=a(AP,t,n);return a(P0(uL0),i,e)}),N(H5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),GP0);var x=i[1],c=function(d0){return u(n,d0)},s=function(d0){return u(t,d0)};return R(Kv[1],s,c,e,x),u(f(e),MP0);case 1:u(f(e),BP0);var p=i[1],y=function(d0){return u(t,d0)};return ir(zW[1],y,e,p),u(f(e),qP0);case 2:u(f(e),UP0);var T=i[1],E=function(d0){return u(n,d0)},h=function(d0){return u(t,d0)};return R(T1[8],h,E,e,T),u(f(e),HP0);case 3:u(f(e),XP0);var w=i[1],G=function(d0){return u(t,d0)};return ir(WW[1],G,e,w),u(f(e),YP0);case 4:u(f(e),VP0);var A=i[1],S=function(d0){return u(t,d0)};return ir($W[1],S,e,A),u(f(e),zP0);case 5:u(f(e),KP0);var M=i[1],K=function(d0){return u(n,d0)},V=function(d0){return u(t,d0)};return R(lP[1],V,K,e,M),u(f(e),WP0);case 6:u(f(e),JP0);var f0=i[1],m0=function(d0){return u(n,d0)},k0=function(d0){return u(t,d0)};return R(d$[3],k0,m0,e,f0),u(f(e),$P0);case 7:u(f(e),ZP0);var g0=i[1],e0=function(d0){return u(n,d0)},x0=function(d0){return u(t,d0)};return R(_P[1],x0,e0,e,g0),u(f(e),QP0);case 8:u(f(e),rD0);var l=i[1],c0=function(d0){return u(n,d0)},t0=function(d0){return u(t,d0)};return R(D5[1],t0,c0,e,l),u(f(e),eD0);case 9:u(f(e),nD0);var a0=i[1],w0=function(d0){return u(n,d0)},_0=function(d0){return u(t,d0)};return R(u$[5],_0,w0,e,a0),u(f(e),tD0);case 10:u(f(e),uD0);var E0=i[1],X0=function(d0){return u(n,d0)},b=function(d0){return u(t,d0)};return R(f$[1],b,X0,e,E0),u(f(e),iD0);case 11:u(f(e),fD0);var G0=i[1],X=function(d0){return u(n,d0)},s0=function(d0){return u(t,d0)};return R(d5[1],s0,X,e,G0),u(f(e),xD0);case 12:u(f(e),aD0);var dr=i[1],Ar=function(d0){return u(n,d0)},ar=function(d0){return u(t,d0)};return R(h5[1],ar,Ar,e,dr),u(f(e),oD0);case 13:u(f(e),cD0);var W0=i[1],Lr=function(d0){return u(n,d0)},Tr=function(d0){return u(t,d0)};return R(pP[1],Tr,Lr,e,W0),u(f(e),sD0);case 14:u(f(e),vD0);var Hr=i[1],Or=function(d0){return u(n,d0)},xr=function(d0){return u(t,d0)};return R(SJ[1],xr,Or,e,Hr),u(f(e),lD0);case 15:u(f(e),bD0);var Rr=i[1],Wr=function(d0){return u(t,d0)};return ir(O$[1],Wr,e,Rr),u(f(e),pD0);case 16:u(f(e),mD0);var Jr=i[1],or=function(d0){return u(n,d0)},_r=function(d0){return u(t,d0)};return R(JJ[7],_r,or,e,Jr),u(f(e),_D0);case 17:u(f(e),yD0);var Ir=i[1],fe=function(d0){return u(n,d0)},v0=function(d0){return u(t,d0)};return R(m$[1],v0,fe,e,Ir),u(f(e),dD0);case 18:u(f(e),hD0);var P=i[1],L=function(d0){return u(n,d0)},Q=function(d0){return u(t,d0)};return R(EP[3],Q,L,e,P),u(f(e),kD0);case 19:u(f(e),wD0);var i0=i[1],l0=function(d0){return u(n,d0)},S0=function(d0){return u(t,d0)};return R(F$[1],S0,l0,e,i0),u(f(e),ED0);case 20:u(f(e),SD0);var T0=i[1],rr=function(d0){return u(n,d0)},R0=function(d0){return u(t,d0)};return R(TJ[1],R0,rr,e,T0),u(f(e),gD0);case 21:u(f(e),FD0);var B=i[1],Z=function(d0){return u(n,d0)},p0=function(d0){return u(t,d0)};return R(AJ[1],p0,Z,e,B),u(f(e),TD0);case 22:u(f(e),OD0);var b0=i[1],O0=function(d0){return u(n,d0)},q0=function(d0){return u(t,d0)};return R(PJ[1],q0,O0,e,b0),u(f(e),ID0);case 23:u(f(e),AD0);var er=i[1],yr=function(d0){return u(n,d0)},vr=function(d0){return u(t,d0)};return R(Ps[5],vr,yr,e,er),u(f(e),ND0);case 24:u(f(e),CD0);var $0=i[1],Sr=function(d0){return u(n,d0)},Mr=function(d0){return u(t,d0)};return R(HW[2],Mr,Sr,e,$0),u(f(e),PD0);case 25:u(f(e),DD0);var Br=i[1],qr=function(d0){return u(n,d0)},jr=function(d0){return u(t,d0)};return R(S$[7],jr,qr,e,Br),u(f(e),LD0);case 26:u(f(e),RD0);var $r=i[1],ne=function(d0){return u(n,d0)},Qr=function(d0){return u(t,d0)};return R(D5[1],Qr,ne,e,$r),u(f(e),jD0);case 27:u(f(e),GD0);var pe=i[1],oe=function(d0){return u(n,d0)},me=function(d0){return u(t,d0)};return R(YW[1],me,oe,e,pe),u(f(e),MD0);case 28:u(f(e),BD0);var ae=i[1],ce=function(d0){return u(n,d0)},ge=function(d0){return u(t,d0)};return R(aJ[1],ge,ce,e,ae),u(f(e),qD0);case 29:u(f(e),UD0);var H0=i[1],Fr=function(d0){return u(n,d0)},_=function(d0){return u(t,d0)};return R(fJ[2],_,Fr,e,H0),u(f(e),HD0);case 30:u(f(e),XD0);var k=i[1],I=function(d0){return u(n,d0)},U=function(d0){return u(t,d0)};return R(cJ[1],U,I,e,k),u(f(e),YD0);case 31:u(f(e),VD0);var Y=i[1],y0=function(d0){return u(n,d0)},D0=function(d0){return u(t,d0)};return R(pJ[2],D0,y0,e,Y),u(f(e),zD0);case 32:u(f(e),KD0);var I0=i[1],D=function(d0){return u(n,d0)},u0=function(d0){return u(t,d0)};return R(d5[1],u0,D,e,I0),u(f(e),WD0);case 33:u(f(e),JD0);var Y0=i[1],J0=function(d0){return u(n,d0)},fr=function(d0){return u(t,d0)};return R(h5[1],fr,J0,e,Y0),u(f(e),$D0);case 34:u(f(e),ZD0);var Q0=i[1],F0=function(d0){return u(n,d0)},gr=function(d0){return u(t,d0)};return R(Il[2],gr,F0,e,Q0),u(f(e),QD0);case 35:u(f(e),rL0);var mr=i[1],Cr=function(d0){return u(n,d0)},sr=function(d0){return u(t,d0)};return R(wJ[1],sr,Cr,e,mr),u(f(e),eL0);default:u(f(e),nL0);var Pr=i[1],K0=function(d0){return u(n,d0)},Ur=function(d0){return u(t,d0)};return R(QW[1],Ur,K0,e,Pr),u(f(e),tL0)}}),N(N$,function(t,n,e){var i=a(H5,t,n);return a(P0(jP0),i,e)}),pu(c6r,Xu,[0,Kv,HW,YW,zW,WW,$W,QW,d5,h5,fJ,aJ,cJ,pJ,Il,wJ,SJ,TJ,AJ,PJ,JJ,D5,lP,pP,_P,u$,f$,EP,m$,d$,S$,F$,O$,IP,I$,AP,A$,H5,N$]);var NP=function t(n,e,i,x){return t.fun(n,e,i,x)},C$=function t(n,e,i){return t.fun(n,e,i)},X5=function t(n,e,i){return t.fun(n,e,i)},P$=function t(n,e){return t.fun(n,e)};N(NP,function(t,n,e,i){u(f(e),DP0),a(n,e,i[1]),u(f(e),LP0);var x=i[2];return ir(X5,function(c){return u(t,c)},e,x),u(f(e),RP0)}),N(C$,function(t,n,e){var i=a(NP,t,n);return a(P0(PP0),i,e)}),N(X5,function(t,n,e){u(f(n),gP0),a(f(n),TP0,FP0);var i=e[1];if(i){g(n,OP0);var x=i[1],c=function(p,y){return g(p,SP0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,IP0)}else g(n,AP0);return u(f(n),NP0),u(f(n),CP0)}),N(P$,function(t,n){var e=u(X5,t);return a(P0(EP0),e,n)});var D$=[0,NP,C$,X5,P$],CP=function t(n,e,i,x){return t.fun(n,e,i,x)},L$=function t(n,e,i){return t.fun(n,e,i)};N(CP,function(t,n,e,i){if(i[0]===0){u(f(e),dP0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Je[13],s,c,e,x),u(f(e),hP0)}u(f(e),kP0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(D$[1],T,y,e,p),u(f(e),wP0)}),N(L$,function(t,n,e){var i=a(CP,t,n);return a(P0(yP0),i,e)});var R$=[0,D$,CP,L$],PP=function t(n,e,i,x){return t.fun(n,e,i,x)},j$=function t(n,e,i){return t.fun(n,e,i)},Y5=function t(n,e,i,x){return t.fun(n,e,i,x)},G$=function t(n,e,i){return t.fun(n,e,i)};N(PP,function(t,n,e,i){u(f(e),pP0),a(t,e,i[1]),u(f(e),mP0);var x=i[2];function c(s){return u(n,s)}return R(Y5,function(s){return u(t,s)},c,e,x),u(f(e),_P0)}),N(j$,function(t,n,e){var i=a(PP,t,n);return a(P0(bP0),i,e)}),N(Y5,function(t,n,e,i){u(f(e),rP0),a(f(e),nP0,eP0);var x=i[1];u(f(e),tP0);var c=0;be(function(E,h){E&&u(f(e),QC0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(R$[2],G,w,e,h),1},c,x),u(f(e),uP0),u(f(e),iP0),u(f(e),fP0),a(f(e),aP0,xP0);var s=i[2];if(s){g(e,oP0);var p=s[1],y=function(E,h){u(f(E),$C0);var w=0;return be(function(G,A){G&&u(f(E),JC0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),ZC0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,cP0)}else g(e,sP0);return u(f(e),vP0),u(f(e),lP0)}),N(G$,function(t,n,e){var i=a(Y5,t,n);return a(P0(WC0),i,e)});var DP=function t(n,e,i,x){return t.fun(n,e,i,x)},M$=function t(n,e,i){return t.fun(n,e,i)},V5=function t(n,e,i,x){return t.fun(n,e,i,x)},B$=function t(n,e,i){return t.fun(n,e,i)},Mee=[0,PP,j$,Y5,G$];N(DP,function(t,n,e,i){u(f(e),VC0),a(t,e,i[1]),u(f(e),zC0);var x=i[2];function c(s){return u(n,s)}return R(V5,function(s){return u(t,s)},c,e,x),u(f(e),KC0)}),N(M$,function(t,n,e){var i=a(DP,t,n);return a(P0(YC0),i,e)}),N(V5,function(t,n,e,i){u(f(e),PC0),a(f(e),LC0,DC0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),RC0),u(f(e),jC0),a(f(e),MC0,GC0);var p=i[2];if(p){g(e,BC0);var y=p[1],T=function(h,w){return g(h,CC0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,qC0)}else g(e,UC0);return u(f(e),HC0),u(f(e),XC0)}),N(B$,function(t,n,e){var i=a(V5,t,n);return a(P0(NC0),i,e)});var LP=[0,DP,M$,V5,B$],z5=function t(n,e,i,x){return t.fun(n,e,i,x)},q$=function t(n,e,i){return t.fun(n,e,i)};N(z5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),gC0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(qe[31],s,c,e,x),u(f(e),FC0);case 1:u(f(e),TC0);var p=i[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};return R(LP[1],T,y,e,p),u(f(e),OC0);default:return u(f(e),IC0),a(t,e,i[1]),u(f(e),AC0)}}),N(q$,function(t,n,e){var i=a(z5,t,n);return a(P0(SC0),i,e)});var RP=function t(n,e,i,x){return t.fun(n,e,i,x)},U$=function t(n,e,i){return t.fun(n,e,i)};N(RP,function(t,n,e,i){u(f(e),cC0),a(f(e),vC0,sC0);var x=i[1];u(f(e),lC0);var c=0;be(function(E,h){E&&u(f(e),oC0);function w(G){return u(n,G)}return R(z5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),bC0),u(f(e),pC0),u(f(e),mC0),a(f(e),yC0,_C0);var s=i[2];if(s){g(e,dC0);var p=s[1],y=function(E,h){u(f(E),xC0);var w=0;return be(function(G,A){G&&u(f(E),fC0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),aC0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,hC0)}else g(e,kC0);return u(f(e),wC0),u(f(e),EC0)}),N(U$,function(t,n,e){var i=a(RP,t,n);return a(P0(iC0),i,e)});var H$=[0,z5,q$,RP,U$],K5=function t(n,e){return t.fun(n,e)},X$=function t(n){return t.fun(n)},jP=function t(n,e,i){return t.fun(n,e,i)},Y$=function t(n,e){return t.fun(n,e)},W5=function t(n,e){return t.fun(n,e)},V$=function t(n){return t.fun(n)};N(K5,function(t,n){u(f(t),KN0),a(f(t),JN0,WN0);var e=n[1];a(f(t),$N0,e),u(f(t),ZN0),u(f(t),QN0),a(f(t),eC0,rC0);var i=n[2];return a(f(t),nC0,i),u(f(t),tC0),u(f(t),uC0)}),N(X$,function(t){return a(P0(zN0),K5,t)}),N(jP,function(t,n,e){return u(f(n),XN0),a(t,n,e[1]),u(f(n),YN0),a(W5,n,e[2]),u(f(n),VN0)}),N(Y$,function(t,n){var e=u(jP,t);return a(P0(HN0),e,n)}),N(W5,function(t,n){u(f(t),PN0),a(f(t),LN0,DN0),a(K5,t,n[1]),u(f(t),RN0),u(f(t),jN0),a(f(t),MN0,GN0);var e=n[2];return a(f(t),BN0,e),u(f(t),qN0),u(f(t),UN0)}),N(V$,function(t){return a(P0(CN0),W5,t)});var z$=[0,K5,X$,jP,Y$,W5,V$],GP=function t(n,e,i,x){return t.fun(n,e,i,x)},K$=function t(n,e,i){return t.fun(n,e,i)};N(GP,function(t,n,e,i){u(f(e),vN0),a(f(e),bN0,lN0);var x=i[1];u(f(e),pN0);var c=0;be(function(w,G){w&&u(f(e),sN0);function A(S){return u(t,S)}return ir(z$[3],A,e,G),1},c,x),u(f(e),mN0),u(f(e),_N0),u(f(e),yN0),a(f(e),hN0,dN0);var s=i[2];u(f(e),kN0);var p=0;be(function(w,G){w&&u(f(e),cN0);function A(M){return u(n,M)}function S(M){return u(t,M)}return R(qe[31],S,A,e,G),1},p,s),u(f(e),wN0),u(f(e),EN0),u(f(e),SN0),a(f(e),FN0,gN0);var y=i[3];if(y){g(e,TN0);var T=y[1],E=function(w,G){return g(w,oN0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,ON0)}else g(e,IN0);return u(f(e),AN0),u(f(e),NN0)}),N(K$,function(t,n,e){var i=a(GP,t,n);return a(P0(aN0),i,e)});var MP=[0,z$,GP,K$],BP=function t(n,e,i,x){return t.fun(n,e,i,x)},W$=function t(n,e,i){return t.fun(n,e,i)};N(BP,function(t,n,e,i){u(f(e),HA0),a(f(e),YA0,XA0);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(qe[31],s,c,e,x),u(f(e),VA0),u(f(e),zA0),a(f(e),WA0,KA0);var p=i[2];u(f(e),JA0),a(t,e,p[1]),u(f(e),$A0);var y=p[2];function T(S){return u(n,S)}function E(S){return u(t,S)}R(MP[2],E,T,e,y),u(f(e),ZA0),u(f(e),QA0),u(f(e),rN0),a(f(e),nN0,eN0);var h=i[3];if(h){g(e,tN0);var w=h[1],G=function(S,M){return g(S,UA0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,uN0)}else g(e,iN0);return u(f(e),fN0),u(f(e),xN0)}),N(W$,function(t,n,e){var i=a(BP,t,n);return a(P0(qA0),i,e)});var J$=[0,BP,W$],O1=function t(n,e,i,x){return t.fun(n,e,i,x)},$$=function t(n,e,i){return t.fun(n,e,i)},qP=function t(n,e,i,x){return t.fun(n,e,i,x)},Z$=function t(n,e,i){return t.fun(n,e,i)},J5=function t(n,e,i,x){return t.fun(n,e,i,x)},Q$=function t(n,e,i){return t.fun(n,e,i)};N(O1,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),AA0),u(f(e),NA0),a(n,e,x[1]),u(f(e),CA0);var c=x[2],s=function(S){return u(t,S)};return ir(Tl[2],s,e,c),u(f(e),PA0),u(f(e),DA0);case 1:u(f(e),LA0);var p=i[1],y=function(S){return u(n,S)},T=function(S){return u(t,S)};return R(Ln[1],T,y,e,p),u(f(e),RA0);case 2:u(f(e),jA0);var E=i[1],h=function(S){return u(t,S)};return ir(qp[1],h,e,E),u(f(e),GA0);default:u(f(e),MA0);var w=i[1],G=function(S){return u(n,S)},A=function(S){return u(t,S)};return R(Up[1],A,G,e,w),u(f(e),BA0)}}),N($$,function(t,n,e){var i=a(O1,t,n);return a(P0(IA0),i,e)}),N(qP,function(t,n,e,i){u(f(e),FA0),a(t,e,i[1]),u(f(e),TA0);var x=i[2];function c(s){return u(n,s)}return R(J5,function(s){return u(t,s)},c,e,x),u(f(e),OA0)}),N(Z$,function(t,n,e){var i=a(qP,t,n);return a(P0(gA0),i,e)}),N(J5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),pI0),a(f(e),_I0,mI0);var x=i[1],c=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},c,e,x),u(f(e),yI0),u(f(e),dI0),a(f(e),kI0,hI0);var s=i[2],p=function(s0){return u(n,s0)},y=function(s0){return u(t,s0)};R(qe[31],y,p,e,s),u(f(e),wI0),u(f(e),EI0),a(f(e),gI0,SI0);var T=i[3];return a(f(e),FI0,T),u(f(e),TI0),u(f(e),OI0);case 1:var E=i[2];u(f(e),II0),a(f(e),NI0,AI0);var h=i[1],w=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},w,e,h),u(f(e),CI0),u(f(e),PI0),a(f(e),LI0,DI0),u(f(e),RI0),a(t,e,E[1]),u(f(e),jI0);var G=E[2],A=function(s0){return u(n,s0)},S=function(s0){return u(t,s0)};return R(Ps[5],S,A,e,G),u(f(e),GI0),u(f(e),MI0),u(f(e),BI0);case 2:var M=i[3],K=i[2];u(f(e),qI0),a(f(e),HI0,UI0);var V=i[1],f0=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},f0,e,V),u(f(e),XI0),u(f(e),YI0),a(f(e),zI0,VI0),u(f(e),KI0),a(t,e,K[1]),u(f(e),WI0);var m0=K[2],k0=function(s0){return u(n,s0)},g0=function(s0){return u(t,s0)};if(R(Ps[5],g0,k0,e,m0),u(f(e),JI0),u(f(e),$I0),u(f(e),ZI0),a(f(e),rA0,QI0),M){g(e,eA0);var e0=M[1],x0=function(s0,dr){return g(s0,bI0)},l=function(s0){return u(t,s0)};R(Dr[1],l,x0,e,e0),g(e,nA0)}else g(e,tA0);return u(f(e),uA0),u(f(e),iA0);default:var c0=i[3],t0=i[2];u(f(e),fA0),a(f(e),aA0,xA0);var a0=i[1],w0=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},w0,e,a0),u(f(e),oA0),u(f(e),cA0),a(f(e),vA0,sA0),u(f(e),lA0),a(t,e,t0[1]),u(f(e),bA0);var _0=t0[2],E0=function(s0){return u(n,s0)},X0=function(s0){return u(t,s0)};if(R(Ps[5],X0,E0,e,_0),u(f(e),pA0),u(f(e),mA0),u(f(e),_A0),a(f(e),dA0,yA0),c0){g(e,hA0);var b=c0[1],G0=function(s0,dr){return g(s0,lI0)},X=function(s0){return u(t,s0)};R(Dr[1],X,G0,e,b),g(e,kA0)}else g(e,wA0);return u(f(e),EA0),u(f(e),SA0)}}),N(Q$,function(t,n,e){var i=a(J5,t,n);return a(P0(vI0),i,e)});var rZ=[0,O1,$$,qP,Z$,J5,Q$],UP=function t(n,e,i,x){return t.fun(n,e,i,x)},eZ=function t(n,e,i){return t.fun(n,e,i)},$5=function t(n,e,i,x){return t.fun(n,e,i,x)},nZ=function t(n,e,i){return t.fun(n,e,i)};N(UP,function(t,n,e,i){u(f(e),oI0),a(t,e,i[1]),u(f(e),cI0);var x=i[2];function c(s){return u(n,s)}return R($5,function(s){return u(t,s)},c,e,x),u(f(e),sI0)}),N(eZ,function(t,n,e){var i=a(UP,t,n);return a(P0(aI0),i,e)}),N($5,function(t,n,e,i){u(f(e),JO0),a(f(e),ZO0,$O0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),QO0),u(f(e),rI0),a(f(e),nI0,eI0);var p=i[2];if(p){g(e,tI0);var y=p[1],T=function(h,w){return g(h,WO0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,uI0)}else g(e,iI0);return u(f(e),fI0),u(f(e),xI0)}),N(nZ,function(t,n,e){var i=a($5,t,n);return a(P0(KO0),i,e)});var tZ=[0,UP,eZ,$5,nZ],Z5=function t(n,e,i,x){return t.fun(n,e,i,x)},uZ=function t(n,e,i){return t.fun(n,e,i)},HP=function t(n,e,i,x){return t.fun(n,e,i,x)},iZ=function t(n,e,i){return t.fun(n,e,i)};N(Z5,function(t,n,e,i){if(i[0]===0){u(f(e),XO0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(rZ[3],s,c,e,x),u(f(e),YO0)}u(f(e),VO0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(tZ[1],T,y,e,p),u(f(e),zO0)}),N(uZ,function(t,n,e){var i=a(Z5,t,n);return a(P0(HO0),i,e)}),N(HP,function(t,n,e,i){u(f(e),IO0),a(f(e),NO0,AO0);var x=i[1];u(f(e),CO0);var c=0;be(function(E,h){E&&u(f(e),OO0);function w(G){return u(n,G)}return R(Z5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),PO0),u(f(e),DO0),u(f(e),LO0),a(f(e),jO0,RO0);var s=i[2];if(s){g(e,GO0);var p=s[1],y=function(E,h){u(f(E),FO0);var w=0;return be(function(G,A){G&&u(f(E),gO0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),TO0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,MO0)}else g(e,BO0);return u(f(e),qO0),u(f(e),UO0)}),N(iZ,function(t,n,e){var i=a(HP,t,n);return a(P0(SO0),i,e)});var fZ=[0,rZ,tZ,Z5,uZ,HP,iZ],XP=function t(n,e,i,x){return t.fun(n,e,i,x)},xZ=function t(n,e,i){return t.fun(n,e,i)};N(XP,function(t,n,e,i){u(f(e),cO0),a(f(e),vO0,sO0);var x=i[1];u(f(e),lO0);var c=0;be(function(E,h){E&&u(f(e),oO0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(qe[31],G,w,e,h),1},c,x),u(f(e),bO0),u(f(e),pO0),u(f(e),mO0),a(f(e),yO0,_O0);var s=i[2];if(s){g(e,dO0);var p=s[1],y=function(E,h){return g(E,aO0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,hO0)}else g(e,kO0);return u(f(e),wO0),u(f(e),EO0)}),N(xZ,function(t,n,e){var i=a(XP,t,n);return a(P0(xO0),i,e)});var aZ=[0,XP,xZ],Q5=function t(n,e){return t.fun(n,e)},oZ=function t(n){return t.fun(n)},YP=function t(n,e,i,x){return t.fun(n,e,i,x)},cZ=function t(n,e,i){return t.fun(n,e,i)};N(Q5,function(t,n){switch(n){case 0:return g(t,QT0);case 1:return g(t,rO0);case 2:return g(t,eO0);case 3:return g(t,nO0);case 4:return g(t,tO0);case 5:return g(t,uO0);case 6:return g(t,iO0);default:return g(t,fO0)}}),N(oZ,function(t){return a(P0(ZT0),Q5,t)}),N(YP,function(t,n,e,i){u(f(e),RT0),a(f(e),GT0,jT0),a(Q5,e,i[1]),u(f(e),MT0),u(f(e),BT0),a(f(e),UT0,qT0);var x=i[2];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),HT0),u(f(e),XT0),a(f(e),VT0,YT0);var p=i[3];if(p){g(e,zT0);var y=p[1],T=function(h,w){return g(h,LT0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,KT0)}else g(e,WT0);return u(f(e),JT0),u(f(e),$T0)}),N(cZ,function(t,n,e){var i=a(YP,t,n);return a(P0(DT0),i,e)});var sZ=[0,Q5,oZ,YP,cZ],rm=function t(n,e){return t.fun(n,e)},vZ=function t(n){return t.fun(n)},VP=function t(n,e,i,x){return t.fun(n,e,i,x)},lZ=function t(n,e,i){return t.fun(n,e,i)};N(rm,function(t,n){switch(n){case 0:return g(t,vT0);case 1:return g(t,lT0);case 2:return g(t,bT0);case 3:return g(t,pT0);case 4:return g(t,mT0);case 5:return g(t,_T0);case 6:return g(t,yT0);case 7:return g(t,dT0);case 8:return g(t,hT0);case 9:return g(t,kT0);case 10:return g(t,wT0);case 11:return g(t,ET0);case 12:return g(t,ST0);case 13:return g(t,gT0);case 14:return g(t,FT0);case 15:return g(t,TT0);case 16:return g(t,OT0);case 17:return g(t,IT0);case 18:return g(t,AT0);case 19:return g(t,NT0);case 20:return g(t,CT0);default:return g(t,PT0)}}),N(vZ,function(t){return a(P0(sT0),rm,t)}),N(VP,function(t,n,e,i){u(f(e),YF0),a(f(e),zF0,VF0),a(rm,e,i[1]),u(f(e),KF0),u(f(e),WF0),a(f(e),$F0,JF0);var x=i[2];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),ZF0),u(f(e),QF0),a(f(e),eT0,rT0);var p=i[3];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),nT0),u(f(e),tT0),a(f(e),iT0,uT0);var E=i[4];if(E){g(e,fT0);var h=E[1],w=function(A,S){return g(A,XF0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,xT0)}else g(e,aT0);return u(f(e),oT0),u(f(e),cT0)}),N(lZ,function(t,n,e){var i=a(VP,t,n);return a(P0(HF0),i,e)});var bZ=[0,rm,vZ,VP,lZ],em=function t(n,e){return t.fun(n,e)},pZ=function t(n){return t.fun(n)},zP=function t(n,e,i,x){return t.fun(n,e,i,x)},mZ=function t(n,e,i){return t.fun(n,e,i)};N(em,function(t,n){switch(n){case 0:return g(t,OF0);case 1:return g(t,IF0);case 2:return g(t,AF0);case 3:return g(t,NF0);case 4:return g(t,CF0);case 5:return g(t,PF0);case 6:return g(t,DF0);case 7:return g(t,LF0);case 8:return g(t,RF0);case 9:return g(t,jF0);case 10:return g(t,GF0);case 11:return g(t,MF0);case 12:return g(t,BF0);case 13:return g(t,qF0);default:return g(t,UF0)}}),N(pZ,function(t){return a(P0(TF0),em,t)}),N(zP,function(t,n,e,i){u(f(e),uF0),a(f(e),fF0,iF0);var x=i[1];x?(g(e,xF0),a(em,e,x[1]),g(e,aF0)):g(e,oF0),u(f(e),cF0),u(f(e),sF0),a(f(e),lF0,vF0);var c=i[2];function s(S){return u(n,S)}function p(S){return u(t,S)}R(di[5],p,s,e,c),u(f(e),bF0),u(f(e),pF0),a(f(e),_F0,mF0);var y=i[3];function T(S){return u(n,S)}function E(S){return u(t,S)}R(qe[31],E,T,e,y),u(f(e),yF0),u(f(e),dF0),a(f(e),kF0,hF0);var h=i[4];if(h){g(e,wF0);var w=h[1],G=function(S,M){return g(S,tF0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,EF0)}else g(e,SF0);return u(f(e),gF0),u(f(e),FF0)}),N(mZ,function(t,n,e){var i=a(zP,t,n);return a(P0(nF0),i,e)});var _Z=[0,em,pZ,zP,mZ],nm=function t(n,e){return t.fun(n,e)},yZ=function t(n){return t.fun(n)},KP=function t(n,e,i,x){return t.fun(n,e,i,x)},dZ=function t(n,e,i){return t.fun(n,e,i)};N(nm,function(t,n){return n?g(t,rF0):g(t,eF0)}),N(yZ,function(t){return a(P0(Qg0),nm,t)}),N(KP,function(t,n,e,i){u(f(e),Cg0),a(f(e),Dg0,Pg0),a(nm,e,i[1]),u(f(e),Lg0),u(f(e),Rg0),a(f(e),Gg0,jg0);var x=i[2];function c(w){return u(n,w)}function s(w){return u(t,w)}R(qe[31],s,c,e,x),u(f(e),Mg0),u(f(e),Bg0),a(f(e),Ug0,qg0);var p=i[3];a(f(e),Hg0,p),u(f(e),Xg0),u(f(e),Yg0),a(f(e),zg0,Vg0);var y=i[4];if(y){g(e,Kg0);var T=y[1],E=function(w,G){return g(w,Ng0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,Wg0)}else g(e,Jg0);return u(f(e),$g0),u(f(e),Zg0)}),N(dZ,function(t,n,e){var i=a(KP,t,n);return a(P0(Ag0),i,e)});var hZ=[0,nm,yZ,KP,dZ],tm=function t(n,e){return t.fun(n,e)},kZ=function t(n){return t.fun(n)},WP=function t(n,e,i,x){return t.fun(n,e,i,x)},wZ=function t(n,e,i){return t.fun(n,e,i)};N(tm,function(t,n){switch(n){case 0:return g(t,Tg0);case 1:return g(t,Og0);default:return g(t,Ig0)}}),N(kZ,function(t){return a(P0(Fg0),tm,t)}),N(WP,function(t,n,e,i){u(f(e),fg0),a(f(e),ag0,xg0),a(tm,e,i[1]),u(f(e),og0),u(f(e),cg0),a(f(e),vg0,sg0);var x=i[2];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),lg0),u(f(e),bg0),a(f(e),mg0,pg0);var p=i[3];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),_g0),u(f(e),yg0),a(f(e),hg0,dg0);var E=i[4];if(E){g(e,kg0);var h=E[1],w=function(A,S){return g(A,ig0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,wg0)}else g(e,Eg0);return u(f(e),Sg0),u(f(e),gg0)}),N(wZ,function(t,n,e){var i=a(WP,t,n);return a(P0(ug0),i,e)});var EZ=[0,tm,kZ,WP,wZ],JP=function t(n,e,i,x){return t.fun(n,e,i,x)},SZ=function t(n,e,i){return t.fun(n,e,i)};N(JP,function(t,n,e,i){u(f(e),GS0),a(f(e),BS0,MS0);var x=i[1];function c(K){return u(n,K)}function s(K){return u(t,K)}R(qe[31],s,c,e,x),u(f(e),qS0),u(f(e),US0),a(f(e),XS0,HS0);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(qe[31],T,y,e,p),u(f(e),YS0),u(f(e),VS0),a(f(e),KS0,zS0);var E=i[3];function h(K){return u(n,K)}function w(K){return u(t,K)}R(qe[31],w,h,e,E),u(f(e),WS0),u(f(e),JS0),a(f(e),ZS0,$S0);var G=i[4];if(G){g(e,QS0);var A=G[1],S=function(K,V){return g(K,jS0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,rg0)}else g(e,eg0);return u(f(e),ng0),u(f(e),tg0)}),N(SZ,function(t,n,e){var i=a(JP,t,n);return a(P0(RS0),i,e)});var gZ=[0,JP,SZ],um=function t(n,e,i,x){return t.fun(n,e,i,x)},FZ=function t(n,e,i){return t.fun(n,e,i)};N(um,function(t,n,e,i){if(i[0]===0){u(f(e),CS0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(qe[31],s,c,e,x),u(f(e),PS0)}u(f(e),DS0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(LP[1],T,y,e,p),u(f(e),LS0)}),N(FZ,function(t,n,e){var i=a(um,t,n);return a(P0(NS0),i,e)});var $P=function t(n,e,i,x){return t.fun(n,e,i,x)},TZ=function t(n,e,i){return t.fun(n,e,i)},im=function t(n,e,i,x){return t.fun(n,e,i,x)},OZ=function t(n,e,i){return t.fun(n,e,i)};N($P,function(t,n,e,i){u(f(e),OS0),a(t,e,i[1]),u(f(e),IS0);var x=i[2];function c(s){return u(n,s)}return R(im,function(s){return u(t,s)},c,e,x),u(f(e),AS0)}),N(TZ,function(t,n,e){var i=a($P,t,n);return a(P0(TS0),i,e)}),N(im,function(t,n,e,i){u(f(e),lS0),a(f(e),pS0,bS0);var x=i[1];u(f(e),mS0);var c=0;be(function(E,h){E&&u(f(e),vS0);function w(G){return u(n,G)}return R(um,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),_S0),u(f(e),yS0),u(f(e),dS0),a(f(e),kS0,hS0);var s=i[2];if(s){g(e,wS0);var p=s[1],y=function(E,h){u(f(E),cS0);var w=0;return be(function(G,A){G&&u(f(E),oS0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),sS0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,ES0)}else g(e,SS0);return u(f(e),gS0),u(f(e),FS0)}),N(OZ,function(t,n,e){var i=a(im,t,n);return a(P0(aS0),i,e)});var ZP=[0,$P,TZ,im,OZ],QP=function t(n,e,i,x){return t.fun(n,e,i,x)},IZ=function t(n,e,i){return t.fun(n,e,i)};N(QP,function(t,n,e,i){u(f(e),RE0),a(f(e),GE0,jE0);var x=i[1];function c(f0){return u(n,f0)}function s(f0){return u(t,f0)}R(qe[31],s,c,e,x),u(f(e),ME0),u(f(e),BE0),a(f(e),UE0,qE0);var p=i[2];if(p){g(e,HE0);var y=p[1],T=function(f0){return u(n,f0)},E=function(f0){return u(t,f0)};R(qe[2][1],E,T,e,y),g(e,XE0)}else g(e,YE0);u(f(e),VE0),u(f(e),zE0),a(f(e),WE0,KE0);var h=i[3];if(h){g(e,JE0);var w=h[1],G=function(f0){return u(n,f0)},A=function(f0){return u(t,f0)};R(ZP[1],A,G,e,w),g(e,$E0)}else g(e,ZE0);u(f(e),QE0),u(f(e),rS0),a(f(e),nS0,eS0);var S=i[4];if(S){g(e,tS0);var M=S[1],K=function(f0,m0){return g(f0,LE0)},V=function(f0){return u(t,f0)};R(Dr[1],V,K,e,M),g(e,uS0)}else g(e,iS0);return u(f(e),fS0),u(f(e),xS0)}),N(IZ,function(t,n,e){var i=a(QP,t,n);return a(P0(DE0),i,e)});var AZ=[0,QP,IZ],rD=function t(n,e,i,x){return t.fun(n,e,i,x)},NZ=function t(n,e,i){return t.fun(n,e,i)};N(rD,function(t,n,e,i){u(f(e),sE0),a(f(e),lE0,vE0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[31],s,c,e,x),u(f(e),bE0),u(f(e),pE0),a(f(e),_E0,mE0);var p=i[2];if(p){g(e,yE0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(qe[2][1],E,T,e,y),g(e,dE0)}else g(e,hE0);u(f(e),kE0),u(f(e),wE0),a(f(e),SE0,EE0);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(ZP[1],G,w,e,h),u(f(e),gE0),u(f(e),FE0),a(f(e),OE0,TE0);var A=i[4];if(A){g(e,IE0);var S=A[1],M=function(V,f0){return g(V,cE0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,AE0)}else g(e,NE0);return u(f(e),CE0),u(f(e),PE0)}),N(NZ,function(t,n,e){var i=a(rD,t,n);return a(P0(oE0),i,e)});var eD=[0,rD,NZ],nD=function t(n,e,i,x){return t.fun(n,e,i,x)},CZ=function t(n,e,i){return t.fun(n,e,i)};N(nD,function(t,n,e,i){u(f(e),Ww0),a(f(e),$w0,Jw0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(eD[1],s,c,e,x),u(f(e),Zw0),u(f(e),Qw0),a(f(e),eE0,rE0),a(n,e,i[2]),u(f(e),nE0),u(f(e),tE0),a(f(e),iE0,uE0);var p=i[3];return a(f(e),fE0,p),u(f(e),xE0),u(f(e),aE0)}),N(CZ,function(t,n,e){var i=a(nD,t,n);return a(P0(Kw0),i,e)});var PZ=[0,nD,CZ],fm=function t(n,e,i,x){return t.fun(n,e,i,x)},DZ=function t(n,e,i){return t.fun(n,e,i)},tD=function t(n,e,i,x){return t.fun(n,e,i,x)},LZ=function t(n,e,i){return t.fun(n,e,i)};N(fm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Uw0);var x=i[1],c=function(w){return u(n,w)},s=function(w){return u(t,w)};return R(Ln[1],s,c,e,x),u(f(e),Hw0);case 1:u(f(e),Xw0);var p=i[1],y=function(w){return u(t,w)};return ir(qp[1],y,e,p),u(f(e),Yw0);default:u(f(e),Vw0);var T=i[1],E=function(w){return u(n,w)},h=function(w){return u(t,w)};return R(qe[31],h,E,e,T),u(f(e),zw0)}}),N(DZ,function(t,n,e){var i=a(fm,t,n);return a(P0(qw0),i,e)}),N(tD,function(t,n,e,i){u(f(e),gw0),a(f(e),Tw0,Fw0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),Ow0),u(f(e),Iw0),a(f(e),Nw0,Aw0);var p=i[2];function y(G){return u(n,G)}R(fm,function(G){return u(t,G)},y,e,p),u(f(e),Cw0),u(f(e),Pw0),a(f(e),Lw0,Dw0);var T=i[3];if(T){g(e,Rw0);var E=T[1],h=function(G,A){return g(G,Sw0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,jw0)}else g(e,Gw0);return u(f(e),Mw0),u(f(e),Bw0)}),N(LZ,function(t,n,e){var i=a(tD,t,n);return a(P0(Ew0),i,e)});var uD=[0,fm,DZ,tD,LZ],iD=function t(n,e,i,x){return t.fun(n,e,i,x)},RZ=function t(n,e,i){return t.fun(n,e,i)};N(iD,function(t,n,e,i){u(f(e),ow0),a(f(e),sw0,cw0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(uD[3],s,c,e,x),u(f(e),vw0),u(f(e),lw0),a(f(e),pw0,bw0),a(n,e,i[2]),u(f(e),mw0),u(f(e),_w0),a(f(e),dw0,yw0);var p=i[3];return a(f(e),hw0,p),u(f(e),kw0),u(f(e),ww0)}),N(RZ,function(t,n,e){var i=a(iD,t,n);return a(P0(aw0),i,e)});var jZ=[0,iD,RZ],fD=function t(n,e,i,x){return t.fun(n,e,i,x)},GZ=function t(n,e,i){return t.fun(n,e,i)};N(fD,function(t,n,e,i){u(f(e),Gk0),a(f(e),Bk0,Mk0);var x=i[1];if(x){g(e,qk0);var c=x[1],s=function(G){return u(n,G)},p=function(G){return u(t,G)};R(qe[31],p,s,e,c),g(e,Uk0)}else g(e,Hk0);u(f(e),Xk0),u(f(e),Yk0),a(f(e),zk0,Vk0);var y=i[2];if(y){g(e,Kk0);var T=y[1],E=function(G,A){return g(G,jk0)},h=function(G){return u(t,G)};R(Dr[1],h,E,e,T),g(e,Wk0)}else g(e,Jk0);u(f(e),$k0),u(f(e),Zk0),a(f(e),rw0,Qk0);var w=i[3];return a(f(e),ew0,w),u(f(e),nw0),u(f(e),tw0),a(f(e),iw0,uw0),a(n,e,i[4]),u(f(e),fw0),u(f(e),xw0)}),N(GZ,function(t,n,e){var i=a(fD,t,n);return a(P0(Rk0),i,e)});var MZ=[0,fD,GZ],xD=function t(n,e,i,x){return t.fun(n,e,i,x)},BZ=function t(n,e,i){return t.fun(n,e,i)},xm=function t(n,e,i,x){return t.fun(n,e,i,x)},qZ=function t(n,e,i){return t.fun(n,e,i)};N(xD,function(t,n,e,i){u(f(e),Pk0),a(t,e,i[1]),u(f(e),Dk0);var x=i[2];function c(s){return u(n,s)}return R(xm,function(s){return u(t,s)},c,e,x),u(f(e),Lk0)}),N(BZ,function(t,n,e){var i=a(xD,t,n);return a(P0(Ck0),i,e)}),N(xm,function(t,n,e,i){u(f(e),yk0),a(f(e),hk0,dk0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),kk0),u(f(e),wk0),a(f(e),Sk0,Ek0);var p=i[2];function y(h){return u(n,h)}function T(h){return u(t,h)}R(qe[31],T,y,e,p),u(f(e),gk0),u(f(e),Fk0),a(f(e),Ok0,Tk0);var E=i[3];return a(f(e),Ik0,E),u(f(e),Ak0),u(f(e),Nk0)}),N(qZ,function(t,n,e){var i=a(xm,t,n);return a(P0(_k0),i,e)});var UZ=[0,xD,BZ,xm,qZ],aD=function t(n,e,i,x){return t.fun(n,e,i,x)},HZ=function t(n,e,i){return t.fun(n,e,i)};N(aD,function(t,n,e,i){u(f(e),tk0),a(f(e),ik0,uk0);var x=i[1];u(f(e),fk0);var c=0;be(function(E,h){E&&u(f(e),nk0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(UZ[1],G,w,e,h),1},c,x),u(f(e),xk0),u(f(e),ak0),u(f(e),ok0),a(f(e),sk0,ck0);var s=i[2];if(s){g(e,vk0);var p=s[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};R(qe[31],T,y,e,p),g(e,lk0)}else g(e,bk0);return u(f(e),pk0),u(f(e),mk0)}),N(HZ,function(t,n,e){var i=a(aD,t,n);return a(P0(ek0),i,e)});var oD=[0,UZ,aD,HZ],cD=function t(n,e,i,x){return t.fun(n,e,i,x)},XZ=function t(n,e,i){return t.fun(n,e,i)};N(cD,function(t,n,e,i){u(f(e),qh0),a(f(e),Hh0,Uh0);var x=i[1];u(f(e),Xh0);var c=0;be(function(E,h){E&&u(f(e),Bh0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(oD[1][1],G,w,e,h),1},c,x),u(f(e),Yh0),u(f(e),Vh0),u(f(e),zh0),a(f(e),Wh0,Kh0);var s=i[2];if(s){g(e,Jh0);var p=s[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};R(qe[31],T,y,e,p),g(e,$h0)}else g(e,Zh0);return u(f(e),Qh0),u(f(e),rk0)}),N(XZ,function(t,n,e){var i=a(cD,t,n);return a(P0(Mh0),i,e)});var YZ=[0,cD,XZ],sD=function t(n,e,i,x){return t.fun(n,e,i,x)},VZ=function t(n,e,i){return t.fun(n,e,i)};N(sD,function(t,n,e,i){u(f(e),Eh0),a(f(e),gh0,Sh0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),Fh0),u(f(e),Th0),a(f(e),Ih0,Oh0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[17],T,y,e,p),u(f(e),Ah0),u(f(e),Nh0),a(f(e),Ph0,Ch0);var E=i[3];if(E){g(e,Dh0);var h=E[1],w=function(A,S){return g(A,wh0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Lh0)}else g(e,Rh0);return u(f(e),jh0),u(f(e),Gh0)}),N(VZ,function(t,n,e){var i=a(sD,t,n);return a(P0(kh0),i,e)});var zZ=[0,sD,VZ],vD=function t(n,e,i){return t.fun(n,e,i)},KZ=function t(n,e){return t.fun(n,e)};N(vD,function(t,n,e){u(f(n),ih0),a(f(n),xh0,fh0);var i=e[1];function x(G){return u(t,G)}function c(G){return u(t,G)}R(Ln[1],c,x,n,i),u(f(n),ah0),u(f(n),oh0),a(f(n),sh0,ch0);var s=e[2];function p(G){return u(t,G)}function y(G){return u(t,G)}R(Ln[1],y,p,n,s),u(f(n),vh0),u(f(n),lh0),a(f(n),ph0,bh0);var T=e[3];if(T){g(n,mh0);var E=T[1],h=function(G,A){return g(G,uh0)},w=function(G){return u(t,G)};R(Dr[1],w,h,n,E),g(n,_h0)}else g(n,yh0);return u(f(n),dh0),u(f(n),hh0)}),N(KZ,function(t,n){var e=u(vD,t);return a(P0(th0),e,n)});var WZ=[0,vD,KZ],lD=function t(n,e,i){return t.fun(n,e,i)},JZ=function t(n,e){return t.fun(n,e)};N(lD,function(t,n,e){u(f(n),Wd0),a(f(n),$d0,Jd0);var i=e[1];if(i){g(n,Zd0);var x=i[1],c=function(p,y){return g(p,Kd0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Qd0)}else g(n,rh0);return u(f(n),eh0),u(f(n),nh0)}),N(JZ,function(t,n){var e=u(lD,t);return a(P0(zd0),e,n)});var $Z=[0,lD,JZ],bD=function t(n,e,i){return t.fun(n,e,i)},ZZ=function t(n,e){return t.fun(n,e)};N(bD,function(t,n,e){u(f(n),Md0),a(f(n),qd0,Bd0);var i=e[1];if(i){g(n,Ud0);var x=i[1],c=function(p,y){return g(p,Gd0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Hd0)}else g(n,Xd0);return u(f(n),Yd0),u(f(n),Vd0)}),N(ZZ,function(t,n){var e=u(bD,t);return a(P0(jd0),e,n)});var QZ=[0,bD,ZZ],pD=function t(n,e,i,x){return t.fun(n,e,i,x)},rQ=function t(n,e,i){return t.fun(n,e,i)};N(pD,function(t,n,e,i){u(f(e),gd0),a(f(e),Td0,Fd0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),Od0),u(f(e),Id0),a(f(e),Nd0,Ad0);var p=i[2];if(p){g(e,Cd0);var y=p[1],T=function(h,w){return g(h,Sd0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Pd0)}else g(e,Dd0);return u(f(e),Ld0),u(f(e),Rd0)}),N(rQ,function(t,n,e){var i=a(pD,t,n);return a(P0(Ed0),i,e)});var eQ=[0,pD,rQ],mD=function t(n,e,i,x){return t.fun(n,e,i,x)},nQ=function t(n,e,i){return t.fun(n,e,i)},am=function t(n,e,i,x){return t.fun(n,e,i,x)},tQ=function t(n,e,i){return t.fun(n,e,i)};N(mD,function(t,n,e,i){u(f(e),hd0),a(n,e,i[1]),u(f(e),kd0);var x=i[2];function c(s){return u(n,s)}return R(am,function(s){return u(t,s)},c,e,x),u(f(e),wd0)}),N(nQ,function(t,n,e){var i=a(mD,t,n);return a(P0(dd0),i,e)}),N(am,function(t,n,e,i){switch(i[0]){case 0:u(f(e),sy0);var x=i[1],c=function(Y){return u(n,Y)},s=function(Y){return u(t,Y)};return R(H$[3],s,c,e,x),u(f(e),vy0);case 1:u(f(e),ly0);var p=i[1],y=function(Y){return u(n,Y)},T=function(Y){return u(t,Y)};return R(Ps[5],T,y,e,p),u(f(e),by0);case 2:u(f(e),py0);var E=i[1],h=function(Y){return u(n,Y)},w=function(Y){return u(t,Y)};return R(_Z[3],w,h,e,E),u(f(e),my0);case 3:u(f(e),_y0);var G=i[1],A=function(Y){return u(n,Y)},S=function(Y){return u(t,Y)};return R(bZ[3],S,A,e,G),u(f(e),yy0);case 4:u(f(e),dy0);var M=i[1],K=function(Y){return u(n,Y)},V=function(Y){return u(t,Y)};return R(eD[1],V,K,e,M),u(f(e),hy0);case 5:u(f(e),ky0);var f0=i[1],m0=function(Y){return u(n,Y)},k0=function(Y){return u(t,Y)};return R(T1[8],k0,m0,e,f0),u(f(e),wy0);case 6:u(f(e),Ey0);var g0=i[1],e0=function(Y){return u(n,Y)},x0=function(Y){return u(t,Y)};return R(oD[2],x0,e0,e,g0),u(f(e),Sy0);case 7:u(f(e),gy0);var l=i[1],c0=function(Y){return u(n,Y)},t0=function(Y){return u(t,Y)};return R(gZ[1],t0,c0,e,l),u(f(e),Fy0);case 8:u(f(e),Ty0);var a0=i[1],w0=function(Y){return u(n,Y)},_0=function(Y){return u(t,Y)};return R(Ps[5],_0,w0,e,a0),u(f(e),Oy0);case 9:u(f(e),Iy0);var E0=i[1],X0=function(Y){return u(n,Y)},b=function(Y){return u(t,Y)};return R(YZ[1],b,X0,e,E0),u(f(e),Ay0);case 10:u(f(e),Ny0);var G0=i[1],X=function(Y){return u(n,Y)},s0=function(Y){return u(t,Y)};return R(Ln[1],s0,X,e,G0),u(f(e),Cy0);case 11:u(f(e),Py0);var dr=i[1],Ar=function(Y){return u(n,Y)},ar=function(Y){return u(t,Y)};return R(eQ[1],ar,Ar,e,dr),u(f(e),Dy0);case 12:u(f(e),Ly0);var W0=i[1],Lr=function(Y){return u(n,Y)},Tr=function(Y){return u(t,Y)};return R(YN[17],Tr,Lr,e,W0),u(f(e),Ry0);case 13:u(f(e),jy0);var Hr=i[1],Or=function(Y){return u(n,Y)},xr=function(Y){return u(t,Y)};return R(YN[19],xr,Or,e,Hr),u(f(e),Gy0);case 14:u(f(e),My0);var Rr=i[1],Wr=function(Y){return u(t,Y)};return ir(Tl[2],Wr,e,Rr),u(f(e),By0);case 15:u(f(e),qy0);var Jr=i[1],or=function(Y){return u(n,Y)},_r=function(Y){return u(t,Y)};return R(EZ[3],_r,or,e,Jr),u(f(e),Uy0);case 16:u(f(e),Hy0);var Ir=i[1],fe=function(Y){return u(n,Y)},v0=function(Y){return u(t,Y)};return R(uD[3],v0,fe,e,Ir),u(f(e),Xy0);case 17:u(f(e),Yy0);var P=i[1],L=function(Y){return u(t,Y)};return ir(WZ[1],L,e,P),u(f(e),Vy0);case 18:u(f(e),zy0);var Q=i[1],i0=function(Y){return u(n,Y)},l0=function(Y){return u(t,Y)};return R(AZ[1],l0,i0,e,Q),u(f(e),Ky0);case 19:u(f(e),Wy0);var S0=i[1],T0=function(Y){return u(n,Y)},rr=function(Y){return u(t,Y)};return R(fZ[5],rr,T0,e,S0),u(f(e),Jy0);case 20:u(f(e),$y0);var R0=i[1],B=function(Y){return u(n,Y)},Z=function(Y){return u(t,Y)};return R(PZ[1],Z,B,e,R0),u(f(e),Zy0);case 21:u(f(e),Qy0);var p0=i[1],b0=function(Y){return u(n,Y)},O0=function(Y){return u(t,Y)};return R(jZ[1],O0,b0,e,p0),u(f(e),rd0);case 22:u(f(e),ed0);var q0=i[1],er=function(Y){return u(n,Y)},yr=function(Y){return u(t,Y)};return R(aZ[1],yr,er,e,q0),u(f(e),nd0);case 23:u(f(e),td0);var vr=i[1],$0=function(Y){return u(t,Y)};return ir(QZ[1],$0,e,vr),u(f(e),ud0);case 24:u(f(e),id0);var Sr=i[1],Mr=function(Y){return u(n,Y)},Br=function(Y){return u(t,Y)};return R(J$[1],Br,Mr,e,Sr),u(f(e),fd0);case 25:u(f(e),xd0);var qr=i[1],jr=function(Y){return u(n,Y)},$r=function(Y){return u(t,Y)};return R(MP[2],$r,jr,e,qr),u(f(e),ad0);case 26:u(f(e),od0);var ne=i[1],Qr=function(Y){return u(t,Y)};return ir($Z[1],Qr,e,ne),u(f(e),cd0);case 27:u(f(e),sd0);var pe=i[1],oe=function(Y){return u(n,Y)},me=function(Y){return u(t,Y)};return R(zZ[1],me,oe,e,pe),u(f(e),vd0);case 28:u(f(e),ld0);var ae=i[1],ce=function(Y){return u(n,Y)},ge=function(Y){return u(t,Y)};return R(sZ[3],ge,ce,e,ae),u(f(e),bd0);case 29:u(f(e),pd0);var H0=i[1],Fr=function(Y){return u(n,Y)},_=function(Y){return u(t,Y)};return R(hZ[3],_,Fr,e,H0),u(f(e),md0);default:u(f(e),_d0);var k=i[1],I=function(Y){return u(n,Y)},U=function(Y){return u(t,Y)};return R(MZ[1],U,I,e,k),u(f(e),yd0)}}),N(tQ,function(t,n,e){var i=a(am,t,n);return a(P0(cy0),i,e)}),pu(s6r,qe,[0,R$,Mee,LP,H$,MP,J$,fZ,aZ,sZ,bZ,_Z,hZ,EZ,gZ,um,FZ,ZP,AZ,eD,PZ,uD,jZ,MZ,oD,YZ,zZ,WZ,$Z,QZ,eQ,mD,nQ,am,tQ]);var _D=function t(n,e,i,x){return t.fun(n,e,i,x)},uQ=function t(n,e,i){return t.fun(n,e,i)},om=function t(n,e,i){return t.fun(n,e,i)},iQ=function t(n,e){return t.fun(n,e)};N(_D,function(t,n,e,i){u(f(e),xy0),a(n,e,i[1]),u(f(e),ay0);var x=i[2];return ir(om,function(c){return u(t,c)},e,x),u(f(e),oy0)}),N(uQ,function(t,n,e){var i=a(_D,t,n);return a(P0(fy0),i,e)}),N(om,function(t,n,e){u(f(n),z_0),a(f(n),W_0,K_0);var i=e[1];a(f(n),J_0,i),u(f(n),$_0),u(f(n),Z_0),a(f(n),ry0,Q_0);var x=e[2];if(x){g(n,ey0);var c=x[1],s=function(y,T){return g(y,V_0)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,ny0)}else g(n,ty0);return u(f(n),uy0),u(f(n),iy0)}),N(iQ,function(t,n){var e=u(om,t);return a(P0(Y_0),e,n)});var I1=[0,_D,uQ,om,iQ],yD=function t(n,e,i,x){return t.fun(n,e,i,x)},fQ=function t(n,e,i){return t.fun(n,e,i)},cm=function t(n,e,i,x){return t.fun(n,e,i,x)},xQ=function t(n,e,i){return t.fun(n,e,i)};N(yD,function(t,n,e,i){u(f(e),U_0),a(t,e,i[1]),u(f(e),H_0);var x=i[2];function c(s){return u(n,s)}return R(cm,function(s){return u(t,s)},c,e,x),u(f(e),X_0)}),N(fQ,function(t,n,e){var i=a(yD,t,n);return a(P0(q_0),i,e)}),N(cm,function(t,n,e,i){u(f(e),C_0),a(f(e),D_0,P_0);var x=i[1];function c(E){return u(n,E)}function s(E){return u(t,E)}R(I1[1],s,c,e,x),u(f(e),L_0),u(f(e),R_0),a(f(e),G_0,j_0);var p=i[2];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(I1[1],T,y,e,p),u(f(e),M_0),u(f(e),B_0)}),N(xQ,function(t,n,e){var i=a(cm,t,n);return a(P0(N_0),i,e)});var dD=[0,yD,fQ,cm,xQ],hD=function t(n,e,i,x){return t.fun(n,e,i,x)},aQ=function t(n,e,i){return t.fun(n,e,i)},sm=function t(n,e,i,x){return t.fun(n,e,i,x)},oQ=function t(n,e,i){return t.fun(n,e,i)};N(hD,function(t,n,e,i){u(f(e),d_0),a(f(e),k_0,h_0);var x=i[1];function c(E){return u(n,E)}R(sm,function(E){return u(t,E)},c,e,x),u(f(e),w_0),u(f(e),E_0),a(f(e),g_0,S_0);var s=i[2];if(s){g(e,F_0);var p=s[1],y=function(E,h){u(f(E),__0);var w=0;return be(function(G,A){G&&u(f(E),m_0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),y_0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,T_0)}else g(e,O_0);return u(f(e),I_0),u(f(e),A_0)}),N(aQ,function(t,n,e){var i=a(hD,t,n);return a(P0(p_0),i,e)}),N(sm,function(t,n,e,i){if(i){u(f(e),v_0);var x=i[1],c=function(p){return u(n,p)},s=function(p){return u(t,p)};return R(qe[31],s,c,e,x),u(f(e),l_0)}return g(e,b_0)}),N(oQ,function(t,n,e){var i=a(sm,t,n);return a(P0(s_0),i,e)});var kD=[0,hD,aQ,sm,oQ];function cQ(t,n){u(f(t),Q90),a(f(t),e_0,r_0);var e=n[1];a(f(t),n_0,e),u(f(t),t_0),u(f(t),u_0),a(f(t),f_0,i_0);var i=n[2];return a(f(t),x_0,i),u(f(t),a_0),u(f(t),o_0)}var sQ=[0,cQ,function(t){return a(P0(c_0),cQ,t)}],wD=function t(n,e,i,x){return t.fun(n,e,i,x)},vQ=function t(n,e,i){return t.fun(n,e,i)},vm=function t(n,e,i,x){return t.fun(n,e,i,x)},lQ=function t(n,e,i){return t.fun(n,e,i)},lm=function t(n,e,i,x){return t.fun(n,e,i,x)},bQ=function t(n,e,i){return t.fun(n,e,i)},bm=function t(n,e,i,x){return t.fun(n,e,i,x)},pQ=function t(n,e,i){return t.fun(n,e,i)};N(wD,function(t,n,e,i){u(f(e),J90),a(t,e,i[1]),u(f(e),$90);var x=i[2];function c(s){return u(n,s)}return R(bm,function(s){return u(t,s)},c,e,x),u(f(e),Z90)}),N(vQ,function(t,n,e){var i=a(wD,t,n);return a(P0(W90),i,e)}),N(vm,function(t,n,e,i){if(i[0]===0){u(f(e),Y90);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(I1[1],s,c,e,x),u(f(e),V90)}u(f(e),z90);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(dD[1],T,y,e,p),u(f(e),K90)}),N(lQ,function(t,n,e){var i=a(vm,t,n);return a(P0(X90),i,e)}),N(lm,function(t,n,e,i){if(i[0]===0){u(f(e),G90),a(n,e,i[1]),u(f(e),M90);var x=i[2],c=function(T){return u(t,T)};return ir(Tl[2],c,e,x),u(f(e),B90)}u(f(e),q90),a(n,e,i[1]),u(f(e),U90);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(kD[1],y,p,e,s),u(f(e),H90)}),N(bQ,function(t,n,e){var i=a(lm,t,n);return a(P0(j90),i,e)}),N(bm,function(t,n,e,i){u(f(e),g90),a(f(e),T90,F90);var x=i[1];function c(T){return u(n,T)}R(vm,function(T){return u(t,T)},c,e,x),u(f(e),O90),u(f(e),I90),a(f(e),N90,A90);var s=i[2];if(s){g(e,C90);var p=s[1],y=function(T){return u(n,T)};R(lm,function(T){return u(t,T)},y,e,p),g(e,P90)}else g(e,D90);return u(f(e),L90),u(f(e),R90)}),N(pQ,function(t,n,e){var i=a(bm,t,n);return a(P0(S90),i,e)});var mQ=[0,wD,vQ,vm,lQ,lm,bQ,bm,pQ],ED=function t(n,e,i,x){return t.fun(n,e,i,x)},_Q=function t(n,e,i){return t.fun(n,e,i)},pm=function t(n,e,i,x){return t.fun(n,e,i,x)},yQ=function t(n,e,i){return t.fun(n,e,i)};N(ED,function(t,n,e,i){u(f(e),k90),a(t,e,i[1]),u(f(e),w90);var x=i[2];function c(s){return u(n,s)}return R(pm,function(s){return u(t,s)},c,e,x),u(f(e),E90)}),N(_Q,function(t,n,e){var i=a(ED,t,n);return a(P0(h90),i,e)}),N(pm,function(t,n,e,i){u(f(e),a90),a(f(e),c90,o90);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),s90),u(f(e),v90),a(f(e),b90,l90);var p=i[2];if(p){g(e,p90);var y=p[1],T=function(h,w){return g(h,x90)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,m90)}else g(e,_90);return u(f(e),y90),u(f(e),d90)}),N(yQ,function(t,n,e){var i=a(pm,t,n);return a(P0(f90),i,e)});var dQ=[0,ED,_Q,pm,yQ],mm=function t(n,e,i,x){return t.fun(n,e,i,x)},hQ=function t(n,e,i){return t.fun(n,e,i)},_m=function t(n,e,i,x){return t.fun(n,e,i,x)},kQ=function t(n,e,i){return t.fun(n,e,i)},ym=function t(n,e,i,x){return t.fun(n,e,i,x)},wQ=function t(n,e,i){return t.fun(n,e,i)};N(mm,function(t,n,e,i){u(f(e),t90),a(t,e,i[1]),u(f(e),u90);var x=i[2];function c(s){return u(n,s)}return R(ym,function(s){return u(t,s)},c,e,x),u(f(e),i90)}),N(hQ,function(t,n,e){var i=a(mm,t,n);return a(P0(n90),i,e)}),N(_m,function(t,n,e,i){if(i[0]===0){u(f(e),Zm0);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(I1[1],s,c,e,x),u(f(e),Qm0)}u(f(e),r90);var p=i[1];function y(T){return u(n,T)}return R(mm,function(T){return u(t,T)},y,e,p),u(f(e),e90)}),N(kQ,function(t,n,e){var i=a(_m,t,n);return a(P0($m0),i,e)}),N(ym,function(t,n,e,i){u(f(e),Um0),a(f(e),Xm0,Hm0);var x=i[1];function c(T){return u(n,T)}R(_m,function(T){return u(t,T)},c,e,x),u(f(e),Ym0),u(f(e),Vm0),a(f(e),Km0,zm0);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(I1[1],y,p,e,s),u(f(e),Wm0),u(f(e),Jm0)}),N(wQ,function(t,n,e){var i=a(ym,t,n);return a(P0(qm0),i,e)});var EQ=[0,mm,hQ,_m,kQ,ym,wQ],Nl=function t(n,e,i,x){return t.fun(n,e,i,x)},SQ=function t(n,e,i){return t.fun(n,e,i)};N(Nl,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Lm0);var x=i[1],c=function(G){return u(n,G)},s=function(G){return u(t,G)};return R(I1[1],s,c,e,x),u(f(e),Rm0);case 1:u(f(e),jm0);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(dD[1],T,y,e,p),u(f(e),Gm0);default:u(f(e),Mm0);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(EQ[1],w,h,e,E),u(f(e),Bm0)}}),N(SQ,function(t,n,e){var i=a(Nl,t,n);return a(P0(Dm0),i,e)});var SD=function t(n,e,i,x){return t.fun(n,e,i,x)},gQ=function t(n,e,i){return t.fun(n,e,i)},dm=function t(n,e,i,x){return t.fun(n,e,i,x)},FQ=function t(n,e,i){return t.fun(n,e,i)},hm=function t(n,e,i,x){return t.fun(n,e,i,x)},TQ=function t(n,e,i){return t.fun(n,e,i)};N(SD,function(t,n,e,i){u(f(e),Nm0),a(t,e,i[1]),u(f(e),Cm0);var x=i[2];function c(s){return u(n,s)}return R(hm,function(s){return u(t,s)},c,e,x),u(f(e),Pm0)}),N(gQ,function(t,n,e){var i=a(SD,t,n);return a(P0(Am0),i,e)}),N(dm,function(t,n,e,i){if(i[0]===0){u(f(e),Fm0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(mQ[1],s,c,e,x),u(f(e),Tm0)}u(f(e),Om0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(dQ[1],T,y,e,p),u(f(e),Im0)}),N(FQ,function(t,n,e){var i=a(dm,t,n);return a(P0(gm0),i,e)}),N(hm,function(t,n,e,i){u(f(e),om0),a(f(e),sm0,cm0);var x=i[1];function c(T){return u(n,T)}R(Nl,function(T){return u(t,T)},c,e,x),u(f(e),vm0),u(f(e),lm0),a(f(e),pm0,bm0);var s=i[2];a(f(e),mm0,s),u(f(e),_m0),u(f(e),ym0),a(f(e),hm0,dm0);var p=i[3];u(f(e),km0);var y=0;return be(function(T,E){T&&u(f(e),am0);function h(w){return u(n,w)}return R(dm,function(w){return u(t,w)},h,e,E),1},y,p),u(f(e),wm0),u(f(e),Em0),u(f(e),Sm0)}),N(TQ,function(t,n,e){var i=a(hm,t,n);return a(P0(xm0),i,e)});var OQ=[0,SD,gQ,dm,FQ,hm,TQ],gD=function t(n,e,i,x){return t.fun(n,e,i,x)},IQ=function t(n,e,i){return t.fun(n,e,i)},km=function t(n,e,i,x){return t.fun(n,e,i,x)},AQ=function t(n,e,i){return t.fun(n,e,i)};N(gD,function(t,n,e,i){u(f(e),um0),a(t,e,i[1]),u(f(e),im0);var x=i[2];function c(s){return u(n,s)}return R(km,function(s){return u(t,s)},c,e,x),u(f(e),fm0)}),N(IQ,function(t,n,e){var i=a(gD,t,n);return a(P0(tm0),i,e)}),N(km,function(t,n,e,i){u(f(e),Z50),a(f(e),rm0,Q50);var x=i[1];function c(s){return u(n,s)}return R(Nl,function(s){return u(t,s)},c,e,x),u(f(e),em0),u(f(e),nm0)}),N(AQ,function(t,n,e){var i=a(km,t,n);return a(P0($50),i,e)});var NQ=[0,gD,IQ,km,AQ],FD=function t(n,e,i,x){return t.fun(n,e,i,x)},CQ=function t(n,e,i){return t.fun(n,e,i)};N(FD,function(t,n,e,i){u(f(e),M50),a(f(e),q50,B50);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),U50),u(f(e),H50),a(f(e),Y50,X50);var p=i[2];if(p){g(e,V50);var y=p[1],T=function(h,w){return g(h,G50)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,z50)}else g(e,K50);return u(f(e),W50),u(f(e),J50)}),N(CQ,function(t,n,e){var i=a(FD,t,n);return a(P0(j50),i,e)});var PQ=[0,FD,CQ],Cl=function t(n,e,i,x){return t.fun(n,e,i,x)},DQ=function t(n,e,i){return t.fun(n,e,i)},wm=function t(n,e,i,x){return t.fun(n,e,i,x)},LQ=function t(n,e,i){return t.fun(n,e,i)},Em=function t(n,e,i,x){return t.fun(n,e,i,x)},RQ=function t(n,e,i){return t.fun(n,e,i)},Sm=function t(n,e,i,x){return t.fun(n,e,i,x)},jQ=function t(n,e,i){return t.fun(n,e,i)};N(Cl,function(t,n,e,i){u(f(e),D50),a(t,e,i[1]),u(f(e),L50);var x=i[2];function c(s){return u(n,s)}return R(wm,function(s){return u(t,s)},c,e,x),u(f(e),R50)}),N(DQ,function(t,n,e){var i=a(Cl,t,n);return a(P0(P50),i,e)}),N(wm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),E50);var x=i[1],c=function(A){return u(n,A)};return R(Em,function(A){return u(t,A)},c,e,x),u(f(e),S50);case 1:u(f(e),g50);var s=i[1],p=function(A){return u(n,A)};return R(Sm,function(A){return u(t,A)},p,e,s),u(f(e),F50);case 2:u(f(e),T50);var y=i[1],T=function(A){return u(n,A)},E=function(A){return u(t,A)};return R(kD[1],E,T,e,y),u(f(e),O50);case 3:u(f(e),I50);var h=i[1],w=function(A){return u(n,A)},G=function(A){return u(t,A)};return R(PQ[1],G,w,e,h),u(f(e),A50);default:return u(f(e),N50),a(sQ[1],e,i[1]),u(f(e),C50)}}),N(LQ,function(t,n,e){var i=a(wm,t,n);return a(P0(w50),i,e)}),N(Em,function(t,n,e,i){u(f(e),Kp0),a(f(e),Jp0,Wp0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(OQ[1],s,c,e,x),u(f(e),$p0),u(f(e),Zp0),a(f(e),r50,Qp0);var p=i[2];if(p){g(e,e50);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(NQ[1],E,T,e,y),g(e,n50)}else g(e,t50);u(f(e),u50),u(f(e),i50),a(f(e),x50,f50);var h=i[3];u(f(e),a50),a(t,e,h[1]),u(f(e),o50),u(f(e),c50);var w=h[2],G=0;be(function(V,f0){V&&u(f(e),zp0);function m0(k0){return u(n,k0)}return R(Cl,function(k0){return u(t,k0)},m0,e,f0),1},G,w),u(f(e),s50),u(f(e),v50),u(f(e),l50),u(f(e),b50),a(f(e),m50,p50);var A=i[4];if(A){g(e,_50);var S=A[1],M=function(V,f0){return g(V,Vp0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,y50)}else g(e,d50);return u(f(e),h50),u(f(e),k50)}),N(RQ,function(t,n,e){var i=a(Em,t,n);return a(P0(Yp0),i,e)}),N(Sm,function(t,n,e,i){u(f(e),hp0),a(f(e),wp0,kp0),a(t,e,i[1]),u(f(e),Ep0),u(f(e),Sp0),a(f(e),Fp0,gp0),a(t,e,i[2]),u(f(e),Tp0),u(f(e),Op0),a(f(e),Ap0,Ip0);var x=i[3];u(f(e),Np0),a(t,e,x[1]),u(f(e),Cp0),u(f(e),Pp0);var c=x[2],s=0;be(function(h,w){h&&u(f(e),dp0);function G(A){return u(n,A)}return R(Cl,function(A){return u(t,A)},G,e,w),1},s,c),u(f(e),Dp0),u(f(e),Lp0),u(f(e),Rp0),u(f(e),jp0),a(f(e),Mp0,Gp0);var p=i[4];if(p){g(e,Bp0);var y=p[1],T=function(h,w){return g(h,yp0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,qp0)}else g(e,Up0);return u(f(e),Hp0),u(f(e),Xp0)}),N(jQ,function(t,n,e){var i=a(Sm,t,n);return a(P0(_p0),i,e)}),pu(v6r,YN,[0,I1,dD,kD,sQ,mQ,dQ,EQ,Nl,SQ,OQ,NQ,PQ,Cl,DQ,wm,LQ,Em,RQ,Sm,jQ]);var TD=function t(n,e,i,x){return t.fun(n,e,i,x)},GQ=function t(n,e,i){return t.fun(n,e,i)},gm=function t(n,e,i,x){return t.fun(n,e,i,x)},MQ=function t(n,e,i){return t.fun(n,e,i)};N(TD,function(t,n,e,i){u(f(e),bp0),a(t,e,i[1]),u(f(e),pp0);var x=i[2];function c(s){return u(n,s)}return R(gm,function(s){return u(t,s)},c,e,x),u(f(e),mp0)}),N(GQ,function(t,n,e){var i=a(TD,t,n);return a(P0(lp0),i,e)}),N(gm,function(t,n,e,i){u(f(e),ep0),a(f(e),tp0,np0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),up0),u(f(e),ip0),a(f(e),xp0,fp0);var p=i[2];if(p){g(e,ap0);var y=p[1],T=function(h,w){return g(h,rp0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,op0)}else g(e,cp0);return u(f(e),sp0),u(f(e),vp0)}),N(MQ,function(t,n,e){var i=a(gm,t,n);return a(P0(Q60),i,e)});var OD=[0,TD,GQ,gm,MQ],Fm=function t(n,e,i,x){return t.fun(n,e,i,x)},BQ=function t(n,e,i){return t.fun(n,e,i)},ID=function t(n,e,i,x){return t.fun(n,e,i,x)},qQ=function t(n,e,i){return t.fun(n,e,i)},Tm=function t(n,e,i,x){return t.fun(n,e,i,x)},UQ=function t(n,e,i){return t.fun(n,e,i)};N(Fm,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),X60),u(f(e),Y60),a(t,e,x[1]),u(f(e),V60);var c=x[2],s=function(G){return u(t,G)};return ir(Tl[2],s,e,c),u(f(e),z60),u(f(e),K60);case 1:u(f(e),W60);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(Ln[1],T,y,e,p),u(f(e),J60);default:u(f(e),$60);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(Up[1],w,h,e,E),u(f(e),Z60)}}),N(BQ,function(t,n,e){var i=a(Fm,t,n);return a(P0(H60),i,e)}),N(ID,function(t,n,e,i){u(f(e),B60),a(t,e,i[1]),u(f(e),q60);var x=i[2];function c(s){return u(n,s)}return R(Tm,function(s){return u(t,s)},c,e,x),u(f(e),U60)}),N(qQ,function(t,n,e){var i=a(ID,t,n);return a(P0(M60),i,e)}),N(Tm,function(t,n,e,i){u(f(e),y60),a(f(e),h60,d60);var x=i[1];function c(A){return u(n,A)}R(Fm,function(A){return u(t,A)},c,e,x),u(f(e),k60),u(f(e),w60),a(f(e),S60,E60);var s=i[2];function p(A){return u(n,A)}function y(A){return u(t,A)}R(di[5],y,p,e,s),u(f(e),g60),u(f(e),F60),a(f(e),O60,T60);var T=i[3];if(T){g(e,I60);var E=T[1],h=function(A){return u(n,A)},w=function(A){return u(t,A)};R(qe[31],w,h,e,E),g(e,A60)}else g(e,N60);u(f(e),C60),u(f(e),P60),a(f(e),L60,D60);var G=i[4];return a(f(e),R60,G),u(f(e),j60),u(f(e),G60)}),N(UQ,function(t,n,e){var i=a(Tm,t,n);return a(P0(_60),i,e)});var HQ=[0,Fm,BQ,ID,qQ,Tm,UQ],Om=function t(n,e,i,x){return t.fun(n,e,i,x)},XQ=function t(n,e,i){return t.fun(n,e,i)},AD=function t(n,e,i,x){return t.fun(n,e,i,x)},YQ=function t(n,e,i){return t.fun(n,e,i)};N(Om,function(t,n,e,i){if(i[0]===0){u(f(e),l60);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(HQ[3],s,c,e,x),u(f(e),b60)}u(f(e),p60);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(OD[1],T,y,e,p),u(f(e),m60)}),N(XQ,function(t,n,e){var i=a(Om,t,n);return a(P0(v60),i,e)}),N(AD,function(t,n,e,i){u(f(e),K30),a(f(e),J30,W30);var x=i[1];u(f(e),$30);var c=0;be(function(G,A){G&&u(f(e),z30);function S(M){return u(n,M)}return R(Om,function(M){return u(t,M)},S,e,A),1},c,x),u(f(e),Z30),u(f(e),Q30),u(f(e),r60),a(f(e),n60,e60);var s=i[2];function p(G){return u(n,G)}function y(G){return u(t,G)}R(Je[19],y,p,e,s),u(f(e),t60),u(f(e),u60),a(f(e),f60,i60);var T=i[3];if(T){g(e,x60);var E=T[1],h=function(G,A){u(f(G),Y30);var S=0;return be(function(M,K){M&&u(f(G),X30);function V(f0){return u(t,f0)}return ir(uu[1],V,G,K),1},S,A),u(f(G),V30)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,a60)}else g(e,o60);return u(f(e),c60),u(f(e),s60)}),N(YQ,function(t,n,e){var i=a(AD,t,n);return a(P0(H30),i,e)});var VQ=[0,HQ,Om,XQ,AD,YQ],ND=function t(n,e,i,x){return t.fun(n,e,i,x)},zQ=function t(n,e,i){return t.fun(n,e,i)},Im=function t(n,e,i,x){return t.fun(n,e,i,x)},KQ=function t(n,e,i){return t.fun(n,e,i)};N(ND,function(t,n,e,i){u(f(e),B30),a(t,e,i[1]),u(f(e),q30);var x=i[2];function c(s){return u(n,s)}return R(Im,function(s){return u(t,s)},c,e,x),u(f(e),U30)}),N(zQ,function(t,n,e){var i=a(ND,t,n);return a(P0(M30),i,e)}),N(Im,function(t,n,e,i){u(f(e),T30),a(f(e),I30,O30);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),A30),u(f(e),N30),a(f(e),P30,C30);var p=i[2];if(p){g(e,D30);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,L30)}else g(e,R30);return u(f(e),j30),u(f(e),G30)}),N(KQ,function(t,n,e){var i=a(Im,t,n);return a(P0(F30),i,e)});var WQ=[0,ND,zQ,Im,KQ],Am=function t(n,e,i,x){return t.fun(n,e,i,x)},JQ=function t(n,e,i){return t.fun(n,e,i)},CD=function t(n,e,i,x){return t.fun(n,e,i,x)},$Q=function t(n,e,i){return t.fun(n,e,i)};N(Am,function(t,n,e,i){switch(i[0]){case 0:u(f(e),h30);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(WQ[1],s,c,e,x),u(f(e),k30);case 1:u(f(e),w30);var p=i[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};return R(OD[1],T,y,e,p),u(f(e),E30);default:return u(f(e),S30),a(t,e,i[1]),u(f(e),g30)}}),N(JQ,function(t,n,e){var i=a(Am,t,n);return a(P0(d30),i,e)}),N(CD,function(t,n,e,i){u(f(e),e30),a(f(e),t30,n30);var x=i[1];u(f(e),u30);var c=0;be(function(G,A){G&&u(f(e),r30);function S(M){return u(n,M)}return R(Am,function(M){return u(t,M)},S,e,A),1},c,x),u(f(e),i30),u(f(e),f30),u(f(e),x30),a(f(e),o30,a30);var s=i[2];function p(G){return u(n,G)}function y(G){return u(t,G)}R(Je[19],y,p,e,s),u(f(e),c30),u(f(e),s30),a(f(e),l30,v30);var T=i[3];if(T){g(e,b30);var E=T[1],h=function(G,A){u(f(G),Z80);var S=0;return be(function(M,K){M&&u(f(G),$80);function V(f0){return u(t,f0)}return ir(uu[1],V,G,K),1},S,A),u(f(G),Q80)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,p30)}else g(e,m30);return u(f(e),_30),u(f(e),y30)}),N($Q,function(t,n,e){var i=a(CD,t,n);return a(P0(J80),i,e)});var ZQ=[0,WQ,Am,JQ,CD,$Q],PD=function t(n,e,i,x){return t.fun(n,e,i,x)},QQ=function t(n,e,i){return t.fun(n,e,i)};N(PD,function(t,n,e,i){u(f(e),R80),a(f(e),G80,j80);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Ln[1],s,c,e,x),u(f(e),M80),u(f(e),B80),a(f(e),U80,q80);var p=i[2];function y(h){return u(n,h)}function T(h){return u(t,h)}R(Je[19],T,y,e,p),u(f(e),H80),u(f(e),X80),a(f(e),V80,Y80);var E=i[3];return a(f(e),z80,E),u(f(e),K80),u(f(e),W80)}),N(QQ,function(t,n,e){var i=a(PD,t,n);return a(P0(L80),i,e)});var r00=[0,PD,QQ],DD=function t(n,e,i,x){return t.fun(n,e,i,x)},e00=function t(n,e,i){return t.fun(n,e,i)},Nm=function t(n,e,i,x){return t.fun(n,e,i,x)},n00=function t(n,e,i){return t.fun(n,e,i)};N(DD,function(t,n,e,i){u(f(e),C80),a(n,e,i[1]),u(f(e),P80);var x=i[2];function c(s){return u(n,s)}return R(Nm,function(s){return u(t,s)},c,e,x),u(f(e),D80)}),N(e00,function(t,n,e){var i=a(DD,t,n);return a(P0(N80),i,e)}),N(Nm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),E80);var x=i[1],c=function(M){return u(n,M)},s=function(M){return u(t,M)};return R(VQ[4],s,c,e,x),u(f(e),S80);case 1:u(f(e),g80);var p=i[1],y=function(M){return u(n,M)},T=function(M){return u(t,M)};return R(ZQ[4],T,y,e,p),u(f(e),F80);case 2:u(f(e),T80);var E=i[1],h=function(M){return u(n,M)},w=function(M){return u(t,M)};return R(r00[1],w,h,e,E),u(f(e),O80);default:u(f(e),I80);var G=i[1],A=function(M){return u(n,M)},S=function(M){return u(t,M)};return R(qe[31],S,A,e,G),u(f(e),A80)}}),N(n00,function(t,n,e){var i=a(Nm,t,n);return a(P0(w80),i,e)}),pu(l6r,di,[0,OD,VQ,ZQ,r00,DD,e00,Nm,n00]);var LD=function t(n,e,i){return t.fun(n,e,i)},t00=function t(n,e){return t.fun(n,e)},Cm=function t(n,e){return t.fun(n,e)},u00=function t(n){return t.fun(n)},Pm=function t(n,e){return t.fun(n,e)},i00=function t(n){return t.fun(n)};N(LD,function(t,n,e){return u(f(n),d80),a(t,n,e[1]),u(f(n),h80),a(Pm,n,e[2]),u(f(n),k80)}),N(t00,function(t,n){var e=u(LD,t);return a(P0(y80),e,n)}),N(Cm,function(t,n){return n?g(t,m80):g(t,_80)}),N(u00,function(t){return a(P0(p80),Cm,t)}),N(Pm,function(t,n){u(f(t),r80),a(f(t),n80,e80),a(Cm,t,n[1]),u(f(t),t80),u(f(t),u80),a(f(t),f80,i80);var e=n[2];a(f(t),x80,e),u(f(t),a80),u(f(t),o80),a(f(t),s80,c80);var i=n[3];return a(f(t),v80,i),u(f(t),l80),u(f(t),b80)}),N(i00,function(t){return a(P0(Q40),Pm,t)}),pu(b6r,uu,[0,LD,t00,Cm,u00,Pm,i00]);var RD=function t(n,e,i,x){return t.fun(n,e,i,x)},f00=function t(n,e,i){return t.fun(n,e,i)},Dm=function t(n,e){return t.fun(n,e)},x00=function t(n){return t.fun(n)},Lm=function t(n,e,i,x){return t.fun(n,e,i,x)},a00=function t(n,e,i){return t.fun(n,e,i)};N(RD,function(t,n,e,i){u(f(e),J40),a(n,e,i[1]),u(f(e),$40);var x=i[2];function c(s){return u(n,s)}return R(Lm,function(s){return u(t,s)},c,e,x),u(f(e),Z40)}),N(f00,function(t,n,e){var i=a(RD,t,n);return a(P0(W40),i,e)}),N(Dm,function(t,n){switch(n){case 0:return g(t,Y40);case 1:return g(t,V40);case 2:return g(t,z40);default:return g(t,K40)}}),N(x00,function(t){return a(P0(X40),Dm,t)}),N(Lm,function(t,n,e,i){u(f(e),c40),a(f(e),v40,s40),a(Dm,e,i[1]),u(f(e),l40),u(f(e),b40),a(f(e),m40,p40);var x=i[2];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[7][1][1],s,c,e,x),u(f(e),_40),u(f(e),y40),a(f(e),h40,d40);var p=i[3];u(f(e),k40),a(t,e,p[1]),u(f(e),w40);var y=p[2];function T(V){return u(n,V)}function E(V){return u(t,V)}R(Ps[5],E,T,e,y),u(f(e),E40),u(f(e),S40),u(f(e),g40),a(f(e),T40,F40);var h=i[4];a(f(e),O40,h),u(f(e),I40),u(f(e),A40),a(f(e),C40,N40);var w=i[5];u(f(e),P40);var G=0;be(function(V,f0){V&&u(f(e),o40);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(T1[7][1],k0,m0,e,f0),1},G,w),u(f(e),D40),u(f(e),L40),u(f(e),R40),a(f(e),G40,j40);var A=i[6];if(A){g(e,M40);var S=A[1],M=function(V,f0){return g(V,a40)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,B40)}else g(e,q40);return u(f(e),U40),u(f(e),H40)}),N(a00,function(t,n,e){var i=a(Lm,t,n);return a(P0(x40),i,e)});var o00=[0,RD,f00,Dm,x00,Lm,a00],jD=function t(n,e,i,x){return t.fun(n,e,i,x)},c00=function t(n,e,i){return t.fun(n,e,i)},Rm=function t(n,e,i,x){return t.fun(n,e,i,x)},s00=function t(n,e,i){return t.fun(n,e,i)},jm=function t(n,e,i,x){return t.fun(n,e,i,x)},v00=function t(n,e,i){return t.fun(n,e,i)};N(jD,function(t,n,e,i){u(f(e),u40),a(n,e,i[1]),u(f(e),i40);var x=i[2];function c(s){return u(n,s)}return R(Rm,function(s){return u(t,s)},c,e,x),u(f(e),f40)}),N(c00,function(t,n,e){var i=a(jD,t,n);return a(P0(t40),i,e)}),N(Rm,function(t,n,e,i){u(f(e),gb0),a(f(e),Tb0,Fb0);var x=i[1];function c(m0){return u(n,m0)}function s(m0){return u(t,m0)}R(qe[7][1][1],s,c,e,x),u(f(e),Ob0),u(f(e),Ib0),a(f(e),Nb0,Ab0);var p=i[2];function y(m0){return u(n,m0)}R(jm,function(m0){return u(t,m0)},y,e,p),u(f(e),Cb0),u(f(e),Pb0),a(f(e),Lb0,Db0);var T=i[3];function E(m0){return u(n,m0)}function h(m0){return u(t,m0)}R(Je[19],h,E,e,T),u(f(e),Rb0),u(f(e),jb0),a(f(e),Mb0,Gb0);var w=i[4];a(f(e),Bb0,w),u(f(e),qb0),u(f(e),Ub0),a(f(e),Xb0,Hb0);var G=i[5];if(G){g(e,Yb0);var A=G[1],S=function(m0){return u(t,m0)};ir(zv[1],S,e,A),g(e,Vb0)}else g(e,zb0);u(f(e),Kb0),u(f(e),Wb0),a(f(e),$b0,Jb0);var M=i[6];if(M){g(e,Zb0);var K=M[1],V=function(m0,k0){return g(m0,Sb0)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,Qb0)}else g(e,r40);return u(f(e),e40),u(f(e),n40)}),N(s00,function(t,n,e){var i=a(Rm,t,n);return a(P0(Eb0),i,e)}),N(jm,function(t,n,e,i){if(typeof i=="number")return i?g(e,db0):g(e,hb0);u(f(e),kb0);var x=i[1];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(qe[31],s,c,e,x),u(f(e),wb0)}),N(v00,function(t,n,e){var i=a(jm,t,n);return a(P0(yb0),i,e)});var l00=[0,jD,c00,Rm,s00,jm,v00],GD=function t(n,e,i,x){return t.fun(n,e,i,x)},b00=function t(n,e,i){return t.fun(n,e,i)},Gm=function t(n,e,i,x){return t.fun(n,e,i,x)},p00=function t(n,e,i){return t.fun(n,e,i)};N(GD,function(t,n,e,i){u(f(e),pb0),a(n,e,i[1]),u(f(e),mb0);var x=i[2];function c(s){return u(n,s)}return R(Gm,function(s){return u(t,s)},c,e,x),u(f(e),_b0)}),N(b00,function(t,n,e){var i=a(GD,t,n);return a(P0(bb0),i,e)}),N(Gm,function(t,n,e,i){u(f(e),Rl0),a(f(e),Gl0,jl0);var x=i[1];function c(m0){return u(t,m0)}ir(qp[1],c,e,x),u(f(e),Ml0),u(f(e),Bl0),a(f(e),Ul0,ql0);var s=i[2];function p(m0){return u(n,m0)}function y(m0){return u(t,m0)}R(T1[2][5],y,p,e,s),u(f(e),Hl0),u(f(e),Xl0),a(f(e),Vl0,Yl0);var T=i[3];function E(m0){return u(n,m0)}function h(m0){return u(t,m0)}R(Je[19],h,E,e,T),u(f(e),zl0),u(f(e),Kl0),a(f(e),Jl0,Wl0);var w=i[4];a(f(e),$l0,w),u(f(e),Zl0),u(f(e),Ql0),a(f(e),eb0,rb0);var G=i[5];if(G){g(e,nb0);var A=G[1],S=function(m0){return u(t,m0)};ir(zv[1],S,e,A),g(e,tb0)}else g(e,ub0);u(f(e),ib0),u(f(e),fb0),a(f(e),ab0,xb0);var M=i[6];if(M){g(e,ob0);var K=M[1],V=function(m0,k0){return g(m0,Ll0)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,cb0)}else g(e,sb0);return u(f(e),vb0),u(f(e),lb0)}),N(p00,function(t,n,e){var i=a(Gm,t,n);return a(P0(Dl0),i,e)});var m00=[0,GD,b00,Gm,p00],MD=function t(n,e,i,x){return t.fun(n,e,i,x)},_00=function t(n,e,i){return t.fun(n,e,i)},Mm=function t(n,e,i,x){return t.fun(n,e,i,x)},y00=function t(n,e,i){return t.fun(n,e,i)};N(MD,function(t,n,e,i){u(f(e),Nl0),a(t,e,i[1]),u(f(e),Cl0);var x=i[2];function c(s){return u(n,s)}return R(Mm,function(s){return u(t,s)},c,e,x),u(f(e),Pl0)}),N(_00,function(t,n,e){var i=a(MD,t,n);return a(P0(Al0),i,e)}),N(Mm,function(t,n,e,i){u(f(e),sl0),a(f(e),ll0,vl0);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(qe[31],s,c,e,x),u(f(e),bl0),u(f(e),pl0),a(f(e),_l0,ml0);var p=i[2];if(p){g(e,yl0);var y=p[1],T=function(S){return u(n,S)},E=function(S){return u(t,S)};R(Je[23][1],E,T,e,y),g(e,dl0)}else g(e,hl0);u(f(e),kl0),u(f(e),wl0),a(f(e),Sl0,El0);var h=i[3];if(h){g(e,gl0);var w=h[1],G=function(S,M){return g(S,cl0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,Fl0)}else g(e,Tl0);return u(f(e),Ol0),u(f(e),Il0)}),N(y00,function(t,n,e){var i=a(Mm,t,n);return a(P0(ol0),i,e)});var d00=[0,MD,_00,Mm,y00],BD=function t(n,e,i,x){return t.fun(n,e,i,x)},h00=function t(n,e,i){return t.fun(n,e,i)},Bm=function t(n,e,i,x){return t.fun(n,e,i,x)},k00=function t(n,e,i){return t.fun(n,e,i)};N(BD,function(t,n,e,i){u(f(e),fl0),a(t,e,i[1]),u(f(e),xl0);var x=i[2];function c(s){return u(n,s)}return R(Bm,function(s){return u(t,s)},c,e,x),u(f(e),al0)}),N(h00,function(t,n,e){var i=a(BD,t,n);return a(P0(il0),i,e)}),N(Bm,function(t,n,e,i){u(f(e),z20),a(f(e),W20,K20);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Ln[1],s,c,e,x),u(f(e),J20),u(f(e),$20),a(f(e),Q20,Z20);var p=i[2];if(p){g(e,rl0);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(Je[23][1],E,T,e,y),g(e,el0)}else g(e,nl0);return u(f(e),tl0),u(f(e),ul0)}),N(k00,function(t,n,e){var i=a(Bm,t,n);return a(P0(V20),i,e)});var w00=[0,BD,h00,Bm,k00],qD=function t(n,e,i,x){return t.fun(n,e,i,x)},E00=function t(n,e,i){return t.fun(n,e,i)},qm=function t(n,e,i,x){return t.fun(n,e,i,x)},S00=function t(n,e,i){return t.fun(n,e,i)};N(qD,function(t,n,e,i){u(f(e),H20),a(t,e,i[1]),u(f(e),X20);var x=i[2];function c(s){return u(n,s)}return R(qm,function(s){return u(t,s)},c,e,x),u(f(e),Y20)}),N(E00,function(t,n,e){var i=a(qD,t,n);return a(P0(U20),i,e)}),N(qm,function(t,n,e,i){u(f(e),O20),a(f(e),A20,I20);var x=i[1];u(f(e),N20);var c=0;be(function(E,h){E&&u(f(e),T20);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(w00[1],G,w,e,h),1},c,x),u(f(e),C20),u(f(e),P20),u(f(e),D20),a(f(e),R20,L20);var s=i[2];if(s){g(e,j20);var p=s[1],y=function(E,h){return g(E,F20)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,G20)}else g(e,M20);return u(f(e),B20),u(f(e),q20)}),N(S00,function(t,n,e){var i=a(qm,t,n);return a(P0(g20),i,e)});var g00=[0,w00,qD,E00,qm,S00],UD=function t(n,e,i,x){return t.fun(n,e,i,x)},F00=function t(n,e,i){return t.fun(n,e,i)},Um=function t(n,e,i,x){return t.fun(n,e,i,x)},T00=function t(n,e,i){return t.fun(n,e,i)},Hm=function t(n,e,i,x){return t.fun(n,e,i,x)},O00=function t(n,e,i){return t.fun(n,e,i)};N(UD,function(t,n,e,i){u(f(e),w20),a(t,e,i[1]),u(f(e),E20);var x=i[2];function c(s){return u(n,s)}return R(Um,function(s){return u(t,s)},c,e,x),u(f(e),S20)}),N(F00,function(t,n,e){var i=a(UD,t,n);return a(P0(k20),i,e)}),N(Um,function(t,n,e,i){u(f(e),x20),a(f(e),o20,a20);var x=i[1];u(f(e),c20);var c=0;be(function(E,h){E&&u(f(e),f20);function w(G){return u(n,G)}return R(Hm,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),s20),u(f(e),v20),u(f(e),l20),a(f(e),p20,b20);var s=i[2];if(s){g(e,m20);var p=s[1],y=function(E,h){return g(E,i20)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,_20)}else g(e,y20);return u(f(e),d20),u(f(e),h20)}),N(T00,function(t,n,e){var i=a(Um,t,n);return a(P0(u20),i,e)}),N(Hm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Zv0);var x=i[1],c=function(G){return u(n,G)},s=function(G){return u(t,G)};return R(o00[1],s,c,e,x),u(f(e),Qv0);case 1:u(f(e),r20);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(l00[1],T,y,e,p),u(f(e),e20);default:u(f(e),n20);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(m00[1],w,h,e,E),u(f(e),t20)}}),N(O00,function(t,n,e){var i=a(Hm,t,n);return a(P0($v0),i,e)});var HD=function t(n,e,i,x){return t.fun(n,e,i,x)},I00=function t(n,e,i){return t.fun(n,e,i)},Xm=function t(n,e,i,x){return t.fun(n,e,i,x)},A00=function t(n,e,i){return t.fun(n,e,i)},Bee=[0,UD,F00,Um,T00,Hm,O00];N(HD,function(t,n,e,i){u(f(e),Kv0),a(t,e,i[1]),u(f(e),Wv0);var x=i[2];function c(s){return u(n,s)}return R(Xm,function(s){return u(t,s)},c,e,x),u(f(e),Jv0)}),N(I00,function(t,n,e){var i=a(HD,t,n);return a(P0(zv0),i,e)}),N(Xm,function(t,n,e,i){u(f(e),Lv0),a(f(e),jv0,Rv0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),Gv0),u(f(e),Mv0),a(f(e),qv0,Bv0);var p=i[2];if(p){g(e,Uv0);var y=p[1],T=function(h,w){return g(h,Dv0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Hv0)}else g(e,Xv0);return u(f(e),Yv0),u(f(e),Vv0)}),N(A00,function(t,n,e){var i=a(Xm,t,n);return a(P0(Pv0),i,e)});var N00=[0,HD,I00,Xm,A00],XD=function t(n,e,i,x){return t.fun(n,e,i,x)},C00=function t(n,e,i){return t.fun(n,e,i)};N(XD,function(t,n,e,i){u(f(e),q10),a(f(e),H10,U10);var x=i[1];if(x){g(e,X10);var c=x[1],s=function(w0){return u(n,w0)},p=function(w0){return u(t,w0)};R(Ln[1],p,s,e,c),g(e,Y10)}else g(e,V10);u(f(e),z10),u(f(e),K10),a(f(e),J10,W10);var y=i[2];function T(w0){return u(n,w0)}function E(w0){return u(t,w0)}R(T1[6][1],E,T,e,y),u(f(e),$10),u(f(e),Z10),a(f(e),rv0,Q10);var h=i[3];if(h){g(e,ev0);var w=h[1],G=function(w0){return u(n,w0)},A=function(w0){return u(t,w0)};R(Je[22][1],A,G,e,w),g(e,nv0)}else g(e,tv0);u(f(e),uv0),u(f(e),iv0),a(f(e),xv0,fv0);var S=i[4];if(S){g(e,av0);var M=S[1],K=function(w0){return u(n,w0)},V=function(w0){return u(t,w0)};R(d00[1],V,K,e,M),g(e,ov0)}else g(e,cv0);u(f(e),sv0),u(f(e),vv0),a(f(e),bv0,lv0);var f0=i[5];if(f0){g(e,pv0);var m0=f0[1],k0=function(w0){return u(n,w0)},g0=function(w0){return u(t,w0)};R(g00[2],g0,k0,e,m0),g(e,mv0)}else g(e,_v0);u(f(e),yv0),u(f(e),dv0),a(f(e),kv0,hv0);var e0=i[6];u(f(e),wv0);var x0=0;be(function(w0,_0){w0&&u(f(e),B10);function E0(b){return u(n,b)}function X0(b){return u(t,b)}return R(N00[1],X0,E0,e,_0),1},x0,e0),u(f(e),Ev0),u(f(e),Sv0),u(f(e),gv0),a(f(e),Tv0,Fv0);var l=i[7];if(l){g(e,Ov0);var c0=l[1],t0=function(w0,_0){return g(w0,M10)},a0=function(w0){return u(t,w0)};R(Dr[1],a0,t0,e,c0),g(e,Iv0)}else g(e,Av0);return u(f(e),Nv0),u(f(e),Cv0)}),N(C00,function(t,n,e){var i=a(XD,t,n);return a(P0(G10),i,e)}),pu(p6r,T1,[0,o00,l00,m00,d00,g00,Bee,N00,XD,C00]);var YD=function t(n,e,i,x){return t.fun(n,e,i,x)},P00=function t(n,e,i){return t.fun(n,e,i)},Ym=function t(n,e,i,x){return t.fun(n,e,i,x)},D00=function t(n,e,i){return t.fun(n,e,i)};N(YD,function(t,n,e,i){u(f(e),L10),a(t,e,i[1]),u(f(e),R10);var x=i[2];function c(s){return u(n,s)}return R(Ym,function(s){return u(t,s)},c,e,x),u(f(e),j10)}),N(P00,function(t,n,e){var i=a(YD,t,n);return a(P0(D10),i,e)}),N(Ym,function(t,n,e,i){u(f(e),w10),a(f(e),S10,E10);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),g10),u(f(e),F10),a(f(e),O10,T10);var p=i[2];if(p){g(e,I10);var y=p[1],T=function(h,w){return g(h,k10)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,A10)}else g(e,N10);return u(f(e),C10),u(f(e),P10)}),N(D00,function(t,n,e){var i=a(Ym,t,n);return a(P0(h10),i,e)});var L00=[0,YD,P00,Ym,D00],VD=function t(n,e,i,x){return t.fun(n,e,i,x)},R00=function t(n,e,i){return t.fun(n,e,i)},Vm=function t(n,e,i,x){return t.fun(n,e,i,x)},j00=function t(n,e,i){return t.fun(n,e,i)};N(VD,function(t,n,e,i){u(f(e),_10),a(t,e,i[1]),u(f(e),y10);var x=i[2];function c(s){return u(n,s)}return R(Vm,function(s){return u(t,s)},c,e,x),u(f(e),d10)}),N(R00,function(t,n,e){var i=a(VD,t,n);return a(P0(m10),i,e)}),N(Vm,function(t,n,e,i){u(f(e),u10),a(f(e),f10,i10);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),x10),u(f(e),a10),a(f(e),c10,o10);var p=i[2];if(p){g(e,s10);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,v10)}else g(e,l10);return u(f(e),b10),u(f(e),p10)}),N(j00,function(t,n,e){var i=a(Vm,t,n);return a(P0(t10),i,e)});var G00=[0,VD,R00,Vm,j00],zD=function t(n,e,i,x){return t.fun(n,e,i,x)},M00=function t(n,e,i){return t.fun(n,e,i)},zm=function t(n,e,i,x){return t.fun(n,e,i,x)},B00=function t(n,e,i){return t.fun(n,e,i)};N(zD,function(t,n,e,i){u(f(e),r10),a(t,e,i[1]),u(f(e),e10);var x=i[2];function c(s){return u(n,s)}return R(zm,function(s){return u(t,s)},c,e,x),u(f(e),n10)}),N(M00,function(t,n,e){var i=a(zD,t,n);return a(P0(Qs0),i,e)}),N(zm,function(t,n,e,i){u(f(e),qs0),a(f(e),Hs0,Us0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),Xs0),u(f(e),Ys0),a(f(e),zs0,Vs0);var p=i[2];if(p){g(e,Ks0);var y=p[1],T=function(h,w){return g(h,Bs0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Ws0)}else g(e,Js0);return u(f(e),$s0),u(f(e),Zs0)}),N(B00,function(t,n,e){var i=a(zm,t,n);return a(P0(Ms0),i,e)});var q00=[0,zD,M00,zm,B00],KD=function t(n,e,i,x){return t.fun(n,e,i,x)},U00=function t(n,e,i){return t.fun(n,e,i)},Km=function t(n,e,i,x){return t.fun(n,e,i,x)},H00=function t(n,e,i){return t.fun(n,e,i)};N(KD,function(t,n,e,i){u(f(e),Rs0),a(t,e,i[1]),u(f(e),js0);var x=i[2];function c(s){return u(n,s)}return R(Km,function(s){return u(t,s)},c,e,x),u(f(e),Gs0)}),N(U00,function(t,n,e){var i=a(KD,t,n);return a(P0(Ls0),i,e)}),N(Km,function(t,n,e,i){u(f(e),xs0),a(f(e),os0,as0);var x=i[1];if(x){g(e,cs0);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(q00[1],p,s,e,c),g(e,ss0)}else g(e,vs0);u(f(e),ls0),u(f(e),bs0),a(f(e),ms0,ps0);var y=i[2];u(f(e),_s0);var T=0;be(function(V,f0){V&&u(f(e),fs0);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(G00[1],k0,m0,e,f0),1},T,y),u(f(e),ys0),u(f(e),ds0),u(f(e),hs0),a(f(e),ws0,ks0);var E=i[3];if(E){g(e,Es0);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(L00[1],G,w,e,h),g(e,Ss0)}else g(e,gs0);u(f(e),Fs0),u(f(e),Ts0),a(f(e),Is0,Os0);var A=i[4];if(A){g(e,As0);var S=A[1],M=function(V,f0){u(f(V),us0);var m0=0;return be(function(k0,g0){k0&&u(f(V),ts0);function e0(x0){return u(t,x0)}return ir(uu[1],e0,V,g0),1},m0,f0),u(f(V),is0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,Ns0)}else g(e,Cs0);return u(f(e),Ps0),u(f(e),Ds0)}),N(H00,function(t,n,e){var i=a(Km,t,n);return a(P0(ns0),i,e)});var X00=[0,KD,U00,Km,H00],WD=function t(n,e,i,x){return t.fun(n,e,i,x)},Y00=function t(n,e,i){return t.fun(n,e,i)},Wm=function t(n,e,i,x){return t.fun(n,e,i,x)},V00=function t(n,e,i){return t.fun(n,e,i)};N(WD,function(t,n,e,i){u(f(e),ec0),a(f(e),tc0,nc0);var x=i[1];if(x){g(e,uc0);var c=x[1],s=function(_0){return u(n,_0)},p=function(_0){return u(t,_0)};R(Ln[1],p,s,e,c),g(e,ic0)}else g(e,fc0);u(f(e),xc0),u(f(e),ac0),a(f(e),cc0,oc0);var y=i[2];function T(_0){return u(n,_0)}function E(_0){return u(t,_0)}R(X00[1],E,T,e,y),u(f(e),sc0),u(f(e),vc0),a(f(e),bc0,lc0);var h=i[3];function w(_0){return u(n,_0)}R(Wm,function(_0){return u(t,_0)},w,e,h),u(f(e),pc0),u(f(e),mc0),a(f(e),yc0,_c0);var G=i[4];a(f(e),dc0,G),u(f(e),hc0),u(f(e),kc0),a(f(e),Ec0,wc0);var A=i[5];a(f(e),Sc0,A),u(f(e),gc0),u(f(e),Fc0),a(f(e),Oc0,Tc0);var S=i[6];if(S){g(e,Ic0);var M=S[1],K=function(_0){return u(n,_0)},V=function(_0){return u(t,_0)};R(Je[24][1],V,K,e,M),g(e,Ac0)}else g(e,Nc0);u(f(e),Cc0),u(f(e),Pc0),a(f(e),Lc0,Dc0);var f0=i[7];function m0(_0){return u(n,_0)}function k0(_0){return u(t,_0)}R(Je[19],k0,m0,e,f0),u(f(e),Rc0),u(f(e),jc0),a(f(e),Mc0,Gc0);var g0=i[8];if(g0){g(e,Bc0);var e0=g0[1],x0=function(_0){return u(n,_0)},l=function(_0){return u(t,_0)};R(Je[22][1],l,x0,e,e0),g(e,qc0)}else g(e,Uc0);u(f(e),Hc0),u(f(e),Xc0),a(f(e),Vc0,Yc0);var c0=i[9];if(c0){g(e,zc0);var t0=c0[1],a0=function(_0,E0){return g(_0,rc0)},w0=function(_0){return u(t,_0)};R(Dr[1],w0,a0,e,t0),g(e,Kc0)}else g(e,Wc0);return u(f(e),Jc0),u(f(e),$c0),a(f(e),Qc0,Zc0),a(t,e,i[10]),u(f(e),rs0),u(f(e),es0)}),N(Y00,function(t,n,e){var i=a(WD,t,n);return a(P0(Qo0),i,e)}),N(Wm,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),Vo0),u(f(e),zo0),a(t,e,x[1]),u(f(e),Ko0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Xu[1][1],p,s,e,c),u(f(e),Wo0),u(f(e),Jo0)}u(f(e),$o0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(qe[31],E,T,e,y),u(f(e),Zo0)}),N(V00,function(t,n,e){var i=a(Wm,t,n);return a(P0(Yo0),i,e)}),pu(m6r,Ps,[0,L00,G00,q00,X00,WD,Y00,Wm,V00]);var JD=function t(n,e,i,x){return t.fun(n,e,i,x)},z00=function t(n,e,i){return t.fun(n,e,i)},Jm=function t(n,e,i,x){return t.fun(n,e,i,x)},K00=function t(n,e,i){return t.fun(n,e,i)};N(JD,function(t,n,e,i){u(f(e),Uo0),a(t,e,i[1]),u(f(e),Ho0);var x=i[2];function c(s){return u(n,s)}return R(Jm,function(s){return u(t,s)},c,e,x),u(f(e),Xo0)}),N(z00,function(t,n,e){var i=a(JD,t,n);return a(P0(qo0),i,e)}),N(Jm,function(t,n,e,i){u(f(e),ko0),a(f(e),Eo0,wo0);var x=i[1];u(f(e),So0);var c=0;be(function(w,G){w&&u(f(e),ho0);function A(M){return u(n,M)}function S(M){return u(t,M)}return R(Xu[35],S,A,e,G),1},c,x),u(f(e),go0),u(f(e),Fo0),u(f(e),To0),a(f(e),Io0,Oo0);var s=i[2];if(s){g(e,Ao0);var p=s[1],y=function(w,G){return g(w,do0)},T=function(w){return u(t,w)};R(Dr[1],T,y,e,p),g(e,No0)}else g(e,Co0);u(f(e),Po0),u(f(e),Do0),a(f(e),Ro0,Lo0);var E=i[3];u(f(e),jo0);var h=0;return be(function(w,G){w&&u(f(e),yo0);function A(S){return u(t,S)}return ir(uu[1],A,e,G),1},h,E),u(f(e),Go0),u(f(e),Mo0),u(f(e),Bo0)}),N(K00,function(t,n,e){var i=a(Jm,t,n);return a(P0(_o0),i,e)}),pu(_6r,Ree,[0,JD,z00,Jm,K00]);function ze(t,n){if(n){var e=n[1],i=u(t,e);return e===i?n:[0,i]}return n}function te(t,n,e,i,x){var c=a(t,n,e);return e===c?i:u(x,c)}function ee(t,n,e,i){var x=u(t,n);return n===x?e:u(i,x)}function mu(t,n){var e=n[1];function i(x){return[0,e,x]}return te(t,e,n[2],n,i)}function Un(t,n){var e=be(function(i,x){var c=u(t,x),s=i[2],p=s||(c!==x?1:0);return[0,[0,c,i[1]],p]},O6r,n);return e[2]?de(e[1]):n}var $D=jp(A6r,function(t){var n=DN(t,I6r),e=n[1],i=n[2],x=n[3],c=n[4],s=n[5],p=n[6],y=n[7],T=n[8],E=n[9],h=n[10],w=n[11],G=n[12],A=n[13],S=n[14],M=n[15],K=n[16],V=n[17],f0=n[18],m0=n[19],k0=n[20],g0=n[21],e0=n[22],x0=n[23],l=n[24],c0=n[25],t0=n[26],a0=n[27],w0=n[28],_0=n[29],E0=n[30],X0=n[31],b=n[32],G0=n[33],X=n[34],s0=n[35],dr=n[36],Ar=n[37],ar=n[38],W0=n[39],Lr=n[40],Tr=n[41],Hr=n[42],Or=n[43],xr=n[44],Rr=n[45],Wr=n[46],Jr=n[47],or=n[49],_r=n[50],Ir=n[51],fe=n[52],v0=n[53],P=n[54],L=n[55],Q=n[56],i0=n[57],l0=n[58],S0=n[59],T0=n[60],rr=n[61],R0=n[62],B=n[63],Z=n[65],p0=n[66],b0=n[67],O0=n[68],q0=n[69],er=n[70],yr=n[71],vr=n[72],$0=n[73],Sr=n[74],Mr=n[75],Br=n[76],qr=n[77],jr=n[78],$r=n[79],ne=n[80],Qr=n[81],pe=n[82],oe=n[83],me=n[84],ae=n[85],ce=n[86],ge=n[87],H0=n[88],Fr=n[89],_=n[90],k=n[91],I=n[92],U=n[93],Y=n[94],y0=n[95],D0=n[96],I0=n[97],D=n[98],u0=n[99],Y0=n[ni],J0=n[L7],fr=n[Ri],Q0=n[c7],F0=n[D7],gr=n[R7],mr=n[Xt],Cr=n[Qc],sr=n[fs],Pr=n[Fv],K0=n[Ht],Ur=n[vf],d0=n[F7],Kr=n[Pn],re=n[u1],xe=n[Av],je=n[x1],ve=n[A2],Ie=n[z2],Me=n[Sv],Be=n[fc],fn=n[tl],Ke=n[In],Ae=n[us],xn=n[X2],Qe=n[br],yn=n[DX],on=n[zn],Ce=n[Rt],We=n[eV],rn=n[Jw],bn=n[Qg],Cn=n[YH],Hn=n[133],Sn=n[134],vt=n[135],At=n[QH],gt=n[137],Jt=n[OH],Bt=n[139],Ft=n[gH],Nt=n[141],du=n[142],Ku=n[143],lt=n[cV],xu=n[145],Mu=n[146],z7=n[MX],Yi=n[148],a7=n[fH],Yc=n[150],K7=n[151],qt=n[152],bt=n[153],U0=n[NH],L0=n[155],Re=n[156],He=n[157],he=n[158],_e=n[159],Zn=n[sY],dn=n[WU],it=n[Sd],ft=n[Mn],Rn=n[PF],nt=n[nY],ht=n[MY],tn=n[DT],cn=n[DY],tt=n[RX],Tt=n[Xg],Fi=n[yg],hs=n[BU],Iu=n[wY],Vs=n[nH],Vi=n[dX],zs=n[kV],Ks=n[oV],en=n[OO],ci=n[qY],Ws=n[mU],c2=n[Ai],B9=n[Kg],q9=n[mS],U9=n[wk],Js=n[AU],s2=n[dh],H9=n[iw],X9=n[cY],Y9=n[sX],X1=n[PY],si=n[yX],ob=n[at],cb=n[VT],sb=n[iI],V9=n[vY],z9=n[WX],K9=n[SY],vb=n[_H],W9=n[uX],J9=n[RU],$9=n[mY],Z9=n[xH],lb=n[fV],Q9=n[rY],Y1=n[$H],v2=n[CH],bb=n[LX],pb=n[wH],mb=n[Zg],Tn=n[N6],jn=n[EU],V1=n[EY],_b=n[qX],yb=n[dT],r_=n[cT],Vc=n[d6],e_=n[sp],l2=n[Lw],db=n[NU],zc=n[aA],n_=n[HX],$s=n[NX],hb=n[d8],z1=n[dv],t_=n[HO],ks=n[tk],u_=n[eX],K1=n[sV],i_=n[dU],b2=n[Bd],f_=n[VX],Zs=n[eT],kb=n[wT],Qs=n[aH],x_=n[eH],zi=n[mO],Kc=n[YY],r1=n[pH],a_=n[f6],p2=n[v1],m2=n[Wy],_2=n[TT],o_=n[uH],e1=n[l8],c_=n[rV],y2=n[$2],XL=n[48],W1=n[64];function YL(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return O===r0&&H===$?m:[0,$,r0,m[3],m[4]]}function J1(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+Kc],o,r0),z0=ze(u(o[1][1+V],o),$),Nr=a(o[1][1+t0],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&H===Nr&&$===z0&&O===Gr?m:[0,M0,z0,Nr,Gr]}function VL(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function $1(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+_r],o,$),M0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function zL(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+p],o,F,$),M0=ze(u(o[1][1+en],o),H);return $===r0&&H===M0?m:[0,m[1],[0,r0,M0]]}function Ti(o,F,m){var O=m[3],H=m[2],$=m[1],r0=Un(a(o[1][1+y],o,H),$),M0=a(o[1][1+s0],o,O);return $===r0&&O===M0?m:[0,r0,H,M0]}function KL(o,F,m){var O=m[4],H=m[2],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],$,m[3],r0]}function WL(o,F,m){var O=m[3],H=m[2],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],$,r0]}function d2(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=a(o[1][1+l],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function JL(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=mu(u(o[1][1+zi],o),r0);if($)var z0=$[1],Nr=z0[1],Gr=function($t){return[0,[0,Nr,$t]]},Fe=z0[2],ye=te(u(o[1][1+K1],o),Nr,Fe,$,Gr);else var ye=$;if(H)var Dn=H[1],pn=Dn[1],xt=function($t){return[0,[0,pn,$t]]},pt=Dn[2],kt=te(u(o[1][1+zi],o),pn,pt,H,xt);else var kt=H;var Kn=a(o[1][1+s0],o,O);return r0===M0&&$===ye&&H===kt&&O===Kn?m:[0,M0,ye,kt,Kn]}function Z1(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function $L(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Q1(o,F){return F}function ZL(o,F,m){var O=m[3],H=m[2],$=m[1],r0=Un(u(o[1][1+b],o),$),M0=Un(u(o[1][1+en],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function wb(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=mu(u(o[1][1+G0],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function QL(o,F){var m=F[2],O=m[3],H=m[2],$=m[1],r0=ze(u(o[1][1+en],o),$),M0=a(o[1][1+Tr],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?F:[0,F[1],[0,r0,M0,z0]]}function Eb(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=Un(u(o[1][1+Ar],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0,m[4]]}function rR(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function eR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function h2(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function nR(o,F){return[0,a(o[1][1+Or],o,F),0]}function tR(o,F){var m=u(o[1][1+Hr],o),O=be(function(H,$){var r0=H[1],M0=u(m,$);if(M0){if(M0[2])return[0,jc(M0,r0),1];var z0=M0[1],Nr=H[2],Gr=Nr||($!==z0?1:0);return[0,[0,z0,r0],Gr]}return[0,r0,1]},T6r,F);return O[2]?de(O[1]):F}function s_(o,F){return a(o[1][1+Tr],o,F)}function uR(o,F,m){var O=m[2],H=m[1],$=Un(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function k2(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0,m[3]]}function iR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Re],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function w2(o,F){return a(o[1][1+en],o,F)}function fR(o,F){var m=F[2],O=m[2],H=m[1];if(H)var $=function(Nr){return[0,Nr]},r0=H[1],M0=ee(u(o[1][1+en],o),r0,H,$);else var M0=H;var z0=a(o[1][1+s0],o,O);return H===M0&&O===z0?F:[0,F[1],[0,M0,z0]]}function rv(o,F){return a(o[1][1+en],o,F)}function xR(o,F,m){return ir(o[1][1+er],o,F,m)}function Sb(o,F,m){return ir(o[1][1+er],o,F,m)}function aR(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+Z],o,F,$),M0=a(o[1][1+s0],o,H);return r0===$&&H===M0?m:[0,m[1],[0,r0,M0]]}function gb(o,F,m){return ir(o[1][1+er],o,F,m)}function oR(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+b0],o,F,$),M0=ze(u(o[1][1+en],o),H);return $===r0&&H===M0?m:[0,m[1],[0,r0,M0]]}function Fb(o,F,m){switch(m[0]){case 0:var O=function(M0){return[0,M0]},H=m[1];return ee(a(o[1][1+O0],o,F),H,m,O);case 1:var $=function(M0){return[1,M0]},r0=m[1];return ee(a(o[1][1+p0],o,F),r0,m,$);default:return m}}function cR(o,F,m){return ir(o[1][1+er],o,F,m)}function Gn(o,F,m){return ir(o[1][1+er],o,F,m)}function v_(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+fe],o,F,$),M0=a(o[1][1+s0],o,H);return r0===$&&H===M0?m:[0,m[1],[0,r0,M0]]}function sR(o,F,m){return a(o[1][1+Tn],o,m)}function vR(o,F,m){return ir(o[1][1+R0],o,F,m)}function ev(o,F,m){var O=m[1];function H(r0){return[0,O,r0]}var $=m[2];return te(a(o[1][1+rr],o,F),O,$,m,H)}function Tb(o,F,m){switch(m[0]){case 0:var O=function(Nr){return[0,Nr]},H=m[1];return ee(a(o[1][1+L],o,F),H,m,O);case 1:var $=function(Nr){return[1,Nr]},r0=m[1];return ee(a(o[1][1+i0],o,F),r0,m,$);default:var M0=function(Nr){return[2,Nr]},z0=m[1];return ee(a(o[1][1+l0],o,F),z0,m,M0)}}function l_(o,F,m){var O=m[2],H=O[4],$=O[3],r0=O[2],M0=O[1],z0=ir(o[1][1+Q],o,F,M0),Nr=ir(o[1][1+P],o,F,r0),Gr=ze(u(o[1][1+en],o),$);if(H){var Fe=0;if(z0[0]===1){var ye=Nr[2];if(ye[0]===2)var pn=qn(z0[1][2][1],ye[1][1][2][1]);else Fe=1}else Fe=1;if(Fe)var Dn=M0===z0?1:0,pn=Dn&&(r0===Nr?1:0)}else var pn=H;return z0===M0&&Nr===r0&&Gr===$&&H===pn?m:[0,m[1],[0,z0,Nr,Gr,pn]]}function Ob(o,F,m){if(m[0]===0){var O=function(M0){return[0,M0]},H=m[1];return ee(a(o[1][1+S0],o,F),H,m,O)}function $(M0){return[1,M0]}var r0=m[1];return ee(a(o[1][1+v0],o,F),r0,m,$)}function lR(o,F,m,O){return ir(o[1][1+J0],o,m,O)}function b_(o,F,m){return a(o[1][1+lt],o,m)}function bR(o,F,m){var O=m[2];switch(O[0]){case 0:var H=O[1],$=H[3],r0=H[2],M0=H[1],z0=Un(a(o[1][1+T0],o,F),M0),Nr=a(o[1][1+x0],o,r0),Gr=a(o[1][1+s0],o,$),Fe=0;if(z0===M0&&Nr===r0&&Gr===$){var ye=O;Fe=1}if(!Fe)var ye=[0,[0,z0,Nr,Gr]];var Ji=ye;break;case 1:var Dn=O[1],pn=Dn[3],xt=Dn[2],pt=Dn[1],kt=Un(a(o[1][1+q0],o,F),pt),Kn=a(o[1][1+x0],o,xt),$t=a(o[1][1+s0],o,pn),W7=0;if(pn===$t&&kt===pt&&Kn===xt){var J7=O;W7=1}if(!W7)var J7=[1,[0,kt,Kn,$t]];var Ji=J7;break;case 2:var w7=O[1],$7=w7[2],Z7=w7[1],Q7=ir(o[1][1+R0],o,F,Z7),ri=a(o[1][1+x0],o,$7),ei=0;if(Z7===Q7&&$7===ri){var Wi=O;ei=1}if(!ei)var Wi=[2,[0,Q7,ri,w7[3]]];var Ji=Wi;break;default:var uv=function(fv){return[3,fv]},iv=O[1],Ji=ee(u(o[1][1+B],o),iv,O,uv)}return O===Ji?m:[0,m[1],Ji]}function p_(o,F){return ir(o[1][1+er],o,0,F)}function Ib(o,F,m){var O=F&&F[1];return ir(o[1][1+er],o,[0,O],m)}function m_(o,F){return a(o[1][1+m2],o,F)}function pR(o,F){return a(o[1][1+m2],o,F)}function __(o,F){return ir(o[1][1+r1],o,F6r,F)}function Ab(o,F,m){return ir(o[1][1+r1],o,[0,F],m)}function mR(o,F){return ir(o[1][1+r1],o,g6r,F)}function _R(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+Kc],o,M0),Nr=ze(u(o[1][1+V],o),r0),Gr=ze(u(o[1][1+t0],o),$),Fe=ze(u(o[1][1+t0],o),H),ye=a(o[1][1+s0],o,O);return M0===z0&&$===Gr&&r0===Nr&&$===Gr&&H===Fe&&O===ye?m:[0,z0,Nr,Gr,Fe,ye]}function yR(o,F){return a(o[1][1+Tn],o,F)}function Nb(o,F){return a(o[1][1+lt],o,F)}function dR(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+J0],o),m,H,F,O)}function hR(o,F){switch(F[0]){case 0:var m=function(Gr){return[0,Gr]},O=F[1];return ee(u(o[1][1+pe],o),O,F,m);case 1:var H=function(Gr){return[1,Gr]},$=F[1];return ee(u(o[1][1+oe],o),$,F,H);case 2:var r0=function(Gr){return[2,Gr]},M0=F[1];return ee(u(o[1][1+or],o),M0,F,r0);default:var z0=function(Gr){return[3,Gr]},Nr=F[1];return ee(u(o[1][1+me],o),Nr,F,z0)}}function y_(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+ae],o,r0),z0=a(o[1][1+en],o,$);if(H){var Nr=0;if(M0[0]===1){var Gr=z0[2];if(Gr[0]===10)var ye=qn(M0[1][2][1],Gr[1][2][1]);else Nr=1}else Nr=1;if(Nr)var Fe=r0===M0?1:0,ye=Fe&&($===z0?1:0)}else var ye=H;return r0===M0&&$===z0&&H===ye?F:[0,O,[0,M0,z0,ye]];case 1:var Dn=m[2],pn=m[1],xt=a(o[1][1+ae],o,pn),pt=mu(u(o[1][1+_e],o),Dn);return pn===xt&&Dn===pt?F:[0,O,[1,xt,pt]];case 2:var kt=m[3],Kn=m[2],$t=m[1],W7=a(o[1][1+ae],o,$t),J7=mu(u(o[1][1+_e],o),Kn),w7=a(o[1][1+s0],o,kt);return $t===W7&&Kn===J7&&kt===w7?F:[0,O,[2,W7,J7,w7]];default:var $7=m[3],Z7=m[2],Q7=m[1],ri=a(o[1][1+ae],o,Q7),ei=mu(u(o[1][1+_e],o),Z7),Wi=a(o[1][1+s0],o,$7);return Q7===ri&&Z7===ei&&$7===Wi?F:[0,O,[3,ri,ei,Wi]]}}function kR(o,F,m){var O=m[2],H=m[1],$=Un(function(M0){if(M0[0]===0){var z0=M0[1],Nr=a(o[1][1+Qr],o,z0);return z0===Nr?M0:[0,Nr]}var Gr=M0[1],Fe=a(o[1][1+xr],o,Gr);return Gr===Fe?M0:[1,Fe]},H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Cb(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+en],o,r0),z0=ze(u(o[1][1+b2],o),$),Nr=ze(u(o[1][1+Zs],o),H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function wR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+lt],o,$),M0=a(o[1][1+lt],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function ER(o,F){return a(o[1][1+en],o,F)}function d_(o,F){return a(o[1][1+or],o,F)}function SR(o,F){return a(o[1][1+lt],o,F)}function E2(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+y0],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+D],o),$,F,H);default:var r0=function(z0){return[2,z0]},M0=F[1];return ee(u(o[1][1+D0],o),M0,F,r0)}}function gR(o,F,m){var O=m[1],H=ir(o[1][1+u0],o,F,O);return O===H?m:[0,H,m[2],m[3]]}function FR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=a(o[1][1+I0],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function TR(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+en],o,$),M0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,m[1],r0,M0,z0]}function Pb(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function OR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+Q0],o,$),M0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function IR(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function Db(o,F){return a(o[1][1+ve],o,F)}function AR(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+K0],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Ur],o),$,F,H)}function NR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Pr],o,H),r0=a(o[1][1+d0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function hu(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+d0],o,H),r0=a(o[1][1+d0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function ku(o,F){return a(o[1][1+Ur],o,F)}function Oi(o,F){return a(o[1][1+sr],o,F)}function k7(o,F){return a(o[1][1+d0],o,F)}function Ki(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+ve],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+xe],o),$,F,H);default:var r0=function(z0){return[2,z0]},M0=F[1];return ee(u(o[1][1+je],o),M0,F,r0)}}function nv(o,F){var m=F[2],O=F[1],H=a(o[1][1+en],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Lb(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+s0],o,O);if(H){var r0=H[1],M0=a(o[1][1+en],o,r0);return r0===M0&&O===$?m:[0,[0,M0],$]}return O===$?m:[0,0,$]}function tv(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(ye){return[0,O,[0,ye]]},$=m[1];return te(u(o[1][1+Me],o),O,$,F,H);case 1:var r0=function(ye){return[0,O,[1,ye]]},M0=m[1];return te(u(o[1][1+Kr],o),O,M0,F,r0);case 2:var z0=function(ye){return[0,O,[2,ye]]},Nr=m[1];return te(u(o[1][1+re],o),O,Nr,F,z0);case 3:var Gr=function(ye){return[0,O,[3,ye]]},Fe=m[1];return ee(u(o[1][1+F0],o),Fe,F,Gr);default:return F}}function Rb(o,F){var m=F[2],O=Un(u(o[1][1+Ke],o),m);return m===O?F:[0,F[1],O]}function jb(o,F,m){return ir(o[1][1+J0],o,F,m)}function CR(o,F,m){return ir(o[1][1+re],o,F,m)}function Mne(o,F){if(F[0]===0){var m=F[1],O=function(z0){return[0,m,z0]},H=F[2];return te(u(o[1][1+Ae],o),m,H,F,O)}var $=F[1];function r0(z0){return[1,$,z0]}var M0=F[2];return te(u(o[1][1+xn],o),$,M0,F,r0)}function Bne(o,F){return a(o[1][1+sr],o,F)}function qne(o,F){return a(o[1][1+d0],o,F)}function Une(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+on],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+yn],o),$,F,H)}function Hne(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Ce],o,H),r0=ze(u(o[1][1+Qe],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function Xne(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Yne(o,F){if(F[0]===0){var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+We],o),O,F,m)}var H=F[1],$=H[1];function r0(z0){return[1,[0,$,z0]]}var M0=H[2];return te(u(o[1][1+gr],o),$,M0,F,r0)}function Vne(o,F){var m=F[2][1],O=a(o[1][1+Ie],o,m);return m===O?F:[0,F[1],[0,O]]}function zne(o,F){var m=F[2],O=m[3],H=m[1],$=a(o[1][1+Ie],o,H),r0=Un(u(o[1][1+Cr],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,m[2],r0]]}function Kne(o,F,m){var O=m[4],H=m[3],$=a(o[1][1+fn],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],m[2],$,r0]}function Wne(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+mr],o,r0),z0=ze(u(o[1][1+Be],o),$),Nr=a(o[1][1+fn],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function Jne(o,F,m,O){var H=2<=F?a(o[1][1+R0],o,S6r):u(o[1][1+Kc],o);return u(H,O)}function $ne(o,F,m){var O=2<=F?a(o[1][1+R0],o,E6r):u(o[1][1+Kc],o);return u(O,m)}function Zne(o,F,m){var O=m[3],H=m[2],$=m[1],r0=0;if(F){var M0=0;if($)switch($[1]){case 2:break;case 0:r0=1,M0=2;break;default:M0=1}var z0=0;switch(M0){case 2:z0=1;break;case 0:if(2<=F){var Nr=0,Gr=0;z0=1}break}if(!z0)var Nr=1,Gr=0}else r0=1;if(r0)var Nr=1,Gr=1;var Fe=a(Gr?o[1][1+m0]:o[1][1+lt],o,O);if(H)var ye=Nr?u(o[1][1+Kc],o):a(o[1][1+R0],o,w6r),Dn=function(xt){return[0,xt]},pn=ee(ye,H[1],H,Dn);else var pn=H;return H===pn&&O===Fe?m:[0,$,pn,Fe]}function Qne(o,F,m){if(m[0]===0){var O=m[1],H=Un(a(o[1][1+gt],o,F),O);return O===H?m:[0,H]}var $=m[1],r0=$[1];function M0(Nr){return[1,[0,r0,Nr]]}var z0=$[2];return te(a(o[1][1+At],o,F),r0,z0,m,M0)}function rte(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[1],M0=ze(a(o[1][1+vt],o,r0),H),z0=ze(a(o[1][1+Jt],o,r0),$),Nr=a(o[1][1+s0],o,O);return H===M0&&$===z0&&O===Nr?m:[0,r0,m[2],z0,M0,Nr]}function ete(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+_r],o,r0),z0=ir(o[1][1+du],o,H!==0?1:0,$),Nr=u(o[1][1+Ku],o),Gr=ze(function(ye){return mu(Nr,ye)},H),Fe=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Gr&&O===Fe?m:[0,M0,z0,Gr,Fe]}function nte(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+Or],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function tte(o,F,m){return a(o[1][1+Or],o,m)}function ute(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function ite(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function fte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function xte(o,F,m){return ir(o[1][1+Hn],o,F,m)}function ate(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+Kc],o,M0),Nr=ze(u(o[1][1+V],o),r0),Gr=u(o[1][1+xu],o),Fe=Un(function(pn){return mu(Gr,pn)},$),ye=mu(u(o[1][1+qr],o),H),Dn=a(o[1][1+s0],o,O);return z0===M0&&Nr===r0&&Fe===$&&ye===H&&Dn===O?m:[0,z0,Nr,Fe,ye,Dn]}function ote(o,F){return a(o[1][1+k0],o,F)}function cte(o,F){return a(o[1][1+k0],o,F)}function ste(o,F){return a(o[1][1+lt],o,F)}function vte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function lte(o,F,m){return m}function bte(o,F){return ir(o[1][1+R0],o,k6r,F)}function pte(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+zi],o),m,H,F,O)}function mte(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+ft],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function _te(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Re],o,H),r0=ze(u(o[1][1+en],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function yte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function dte(o,F){var m=F[2],O=m[4],H=m[3],$=m[2],r0=m[1],M0=Un(u(o[1][1+He],o),$),z0=ze(u(o[1][1+bt],o),H),Nr=ze(u(o[1][1+K7],o),r0),Gr=a(o[1][1+s0],o,O);return $===M0&&H===z0&&O===Gr&&r0===Nr?F:[0,F[1],[0,Nr,M0,z0,Gr]]}function hte(o,F,m){var O=m[9],H=m[8],$=m[7],r0=m[6],M0=m[3],z0=m[2],Nr=m[1],Gr=ze(u(o[1][1+he],o),Nr),Fe=a(o[1][1+U0],o,z0),ye=a(o[1][1+x0],o,$),Dn=a(o[1][1+it],o,M0),pn=ze(u(o[1][1+Ir],o),r0),xt=ze(u(o[1][1+V],o),H),pt=a(o[1][1+s0],o,O);return Nr===Gr&&z0===Fe&&M0===Dn&&r0===pn&&$===ye&&H===xt&&O===pt?m:[0,Gr,Fe,Dn,m[4],m[5],pn,ye,xt,pt,m[10]]}function kte(o,F,m){return ir(o[1][1+Rn],o,F,m)}function wte(o,F,m){return ir(o[1][1+_e],o,F,m)}function Ete(o,F,m){return ir(o[1][1+Rn],o,F,m)}function Ste(o,F){if(F[0]===0)return F;var m=F[1],O=a(o[1][1+l],o,m);return O===m?F:[1,O]}function gte(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return ee(u(o[1][1+t0],o),H,F,O)}function Fte(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function($e){return[0,O,[0,$e]]},$=m[1];return ee(u(o[1][1+s0],o),$,F,H);case 1:var r0=function($e){return[0,O,[1,$e]]},M0=m[1];return ee(u(o[1][1+s0],o),M0,F,r0);case 2:var z0=function($e){return[0,O,[2,$e]]},Nr=m[1];return ee(u(o[1][1+s0],o),Nr,F,z0);case 3:var Gr=function($e){return[0,O,[3,$e]]},Fe=m[1];return ee(u(o[1][1+s0],o),Fe,F,Gr);case 4:var ye=function($e){return[0,O,[4,$e]]},Dn=m[1];return ee(u(o[1][1+s0],o),Dn,F,ye);case 5:var pn=function($e){return[0,O,[5,$e]]},xt=m[1];return ee(u(o[1][1+s0],o),xt,F,pn);case 6:var pt=function($e){return[0,O,[6,$e]]},kt=m[1];return ee(u(o[1][1+s0],o),kt,F,pt);case 7:var Kn=function($e){return[0,O,[7,$e]]},$t=m[1];return ee(u(o[1][1+s0],o),$t,F,Kn);case 8:var W7=function($e){return[0,O,[8,$e]]},J7=m[1];return ee(u(o[1][1+s0],o),J7,F,W7);case 9:var w7=function($e){return[0,O,[9,$e]]},$7=m[1];return ee(u(o[1][1+s0],o),$7,F,w7);case 10:var Z7=function($e){return[0,O,[10,$e]]},Q7=m[1];return ee(u(o[1][1+s0],o),Q7,F,Z7);case 11:var ri=function($e){return[0,O,[11,$e]]},ei=m[1];return ee(u(o[1][1+k],o),ei,F,ri);case 12:var Wi=function($e){return[0,O,[12,$e]]},uv=m[1];return te(u(o[1][1+a7],o),O,uv,F,Wi);case 13:var iv=function($e){return[0,O,[13,$e]]},Ji=m[1];return te(u(o[1][1+qr],o),O,Ji,F,iv);case 14:var fv=function($e){return[0,O,[14,$e]]},Gb=m[1];return te(u(o[1][1+bn],o),O,Gb,F,fv);case 15:var Mb=function($e){return[0,O,[15,$e]]},Bb=m[1];return ee(u(o[1][1+e1],o),Bb,F,Mb);case 16:var qb=function($e){return[0,O,[16,$e]]},Ub=m[1];return te(u(o[1][1+xu],o),O,Ub,F,qb);case 17:var Hb=function($e){return[0,O,[17,$e]]},Xb=m[1];return te(u(o[1][1+Sn],o),O,Xb,F,Hb);case 18:var Yb=function($e){return[0,O,[18,$e]]},Vb=m[1];return te(u(o[1][1+vr],o),O,Vb,F,Yb);case 19:var zb=function($e){return[0,O,[19,$e]]},Kb=m[1];return te(u(o[1][1+h],o),O,Kb,F,zb);case 20:var Wb=function($e){return[0,O,[20,$e]]},Jb=m[1];return te(u(o[1][1+rn],o),O,Jb,F,Wb);case 21:var $b=function($e){return[0,O,[21,$e]]},Zb=m[1];return ee(u(o[1][1+G],o),Zb,F,$b);case 22:var Qb=function($e){return[0,O,[22,$e]]},r4=m[1];return ee(u(o[1][1+a0],o),r4,F,Qb);case 23:var e4=function($e){return[0,O,[23,$e]]},n4=m[1];return te(u(o[1][1+Lr],o),O,n4,F,e4);case 24:var t4=function($e){return[0,O,[24,$e]]},u4=m[1];return te(u(o[1][1+_],o),O,u4,F,t4);case 25:var i4=function($e){return[0,O,[25,$e]]},f4=m[1];return te(u(o[1][1+p2],o),O,f4,F,i4);default:var x4=function($e){return[0,O,[26,$e]]},a4=m[1];return te(u(o[1][1+x_],o),O,a4,F,x4)}}function Tte(o,F,m){var O=m[2],H=m[1],$=H[3],r0=H[2],M0=H[1],z0=a(o[1][1+t0],o,M0),Nr=a(o[1][1+t0],o,r0),Gr=Un(u(o[1][1+t0],o),$),Fe=a(o[1][1+s0],o,O);return z0===M0&&Nr===r0&&Gr===$&&Fe===O?m:[0,[0,z0,Nr,Gr],Fe]}function Ote(o,F,m){var O=m[2],H=m[1],$=H[3],r0=H[2],M0=H[1],z0=a(o[1][1+t0],o,M0),Nr=a(o[1][1+t0],o,r0),Gr=Un(u(o[1][1+t0],o),$),Fe=a(o[1][1+s0],o,O);return z0===M0&&Nr===r0&&Gr===$&&Fe===O?m:[0,[0,z0,Nr,Gr],Fe]}function Ite(o,F){var m=F[2],O=F[1],H=a(o[1][1+t0],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Ate(o,F){var m=F[2],O=F[1],H=Un(u(o[1][1+t0],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Nte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+K],o,H),r0=a(o[1][1+S],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function Cte(o,F){return a(o[1][1+lt],o,F)}function Pte(o,F){return a(o[1][1+lt],o,F)}function Dte(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+M],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+A],o),$,F,H)}function Lte(o,F){var m=F[2],O=F[1],H=a(o[1][1+K],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Rte(o,F){var m=F[2],O=F[1],H=a(o[1][1+t0],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function jte(o,F,m){var O=m[2],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],H]}function Gte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function Mte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function Bte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function qte(o,F,m){var O=m[1],H=ir(o[1][1+Sn],o,F,O);return H===O?m:[0,H,m[2]]}function Ute(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+t0],o,$),M0=a(o[1][1+t0],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function Hte(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+z7],o,$),M0=ze(u(o[1][1+e0],o),H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function Xte(o,F){var m=F[2],O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+x0],o,$),z0=a(o[1][1+c],o,H),Nr=ze(u(o[1][1+t0],o),O),Gr=a(o[1][1+Kc],o,r0);return Gr===r0&&M0===$&&z0===H&&Nr===O?F:[0,F[1],[0,Gr,M0,z0,Nr]]}function Yte(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+f0],o),H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function Vte(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+t0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function zte(o,F){return ze(u(o[1][1+s],o),F)}function Kte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function Wte(o,F){return a(o[1][1+lt],o,F)}function Jte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+z7],o,H),r0=a(o[1][1+Y],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function $te(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+m0],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Mu],o),$,F,H)}function Zte(o,F,m){var O=m[3],H=m[2],$=m[1],r0=u(o[1][1+xu],o),M0=Un(function(Gr){return mu(r0,Gr)},H),z0=mu(u(o[1][1+qr],o),$),Nr=a(o[1][1+s0],o,O);return M0===H&&z0===$&&O===Nr?m:[0,z0,M0,Nr]}function Qte(o,F,m){var O=m[4],H=m[3],$=Un(function(M0){switch(M0[0]){case 0:var z0=function(Kn){return[0,Kn]},Nr=M0[1];return ee(u(o[1][1+ne],o),Nr,M0,z0);case 1:var Gr=function(Kn){return[1,Kn]},Fe=M0[1];return ee(u(o[1][1+jr],o),Fe,M0,Gr);case 2:var ye=function(Kn){return[2,Kn]},Dn=M0[1];return ee(u(o[1][1+ge],o),Dn,M0,ye);case 3:var pn=function(Kn){return[3,Kn]},xt=M0[1];return ee(u(o[1][1+H0],o),xt,M0,pn);default:var pt=function(Kn){return[4,Kn]},kt=M0[1];return ee(u(o[1][1+ce],o),kt,M0,pt)}},H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?m:[0,m[1],m[2],$,r0]}function rue(o,F){var m=F[2],O=m[3],H=m[1],$=H[2],r0=H[1],M0=ir(o[1][1+a7],o,r0,$),z0=a(o[1][1+s0],o,O);return $===M0&&O===z0?F:[0,F[1],[0,[0,r0,M0],m[2],z0]]}function eue(o,F){var m=F[2],O=m[6],H=m[2],$=m[1],r0=a(o[1][1+lt],o,$),M0=a(o[1][1+t0],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?F:[0,F[1],[0,r0,M0,m[3],m[4],m[5],z0]]}function nue(o,F){var m=F[2],O=m[6],H=m[5],$=m[3],r0=m[2],M0=a(o[1][1+t0],o,r0),z0=a(o[1][1+t0],o,$),Nr=a(o[1][1+c],o,H),Gr=a(o[1][1+s0],o,O);return M0===r0&&z0===$&&Nr===H&&Gr===O?F:[0,F[1],[0,m[1],M0,z0,m[4],Nr,Gr]]}function tue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+t0],o,H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?F:[0,F[1],[0,$,r0]]}function uue(o,F){var m=F[2],O=m[8],H=m[7],$=m[2],r0=m[1],M0=a(o[1][1+ae],o,r0),z0=a(o[1][1+$r],o,$),Nr=a(o[1][1+c],o,H),Gr=a(o[1][1+s0],o,O);return M0===r0&&z0===$&&Nr===H&&Gr===O?F:[0,F[1],[0,M0,z0,m[3],m[4],m[5],m[6],Nr,Gr]]}function iue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+a7],o),m,H,F,O)}function fue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+a7],o),m,H,F,O)}function xue(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+t0],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+Br],o),$,F,H);default:var r0=function(z0){return[2,z0]},M0=F[1];return ee(u(o[1][1+Mr],o),M0,F,r0)}}function aue(o,F){return a(o[1][1+lt],o,F)}function oue(o,F,m){var O=m[4],H=m[3],$=m[2],r0=$[2],M0=r0[4],z0=r0[3],Nr=r0[2],Gr=r0[1],Fe=m[1],ye=ze(u(o[1][1+Yc],o),Gr),Dn=Un(u(o[1][1+L0],o),Nr),pn=ze(u(o[1][1+qt],o),z0),xt=a(o[1][1+t0],o,H),pt=ze(u(o[1][1+V],o),Fe),kt=a(o[1][1+s0],o,O),Kn=a(o[1][1+s0],o,M0);return Dn===Nr&&pn===z0&&xt===H&&pt===Fe&&kt===O&&Kn===M0&&ye===Gr?m:[0,pt,[0,$[1],[0,ye,Dn,pn,Kn]],xt,kt]}function cue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function sue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+L0],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function vue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+t0],o,O),r0=ze(u(o[1][1+lt],o),H);return $===O&&r0===H?F:[0,F[1],[0,r0,$,m[3]]]}function lue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function bue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Fi],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function pue(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],M0=m[1],z0=ze(u(o[1][1+nt],o),M0),Nr=ze(u(o[1][1+_r],o),r0),Gr=ze(u(o[1][1+en],o),$),Fe=a(o[1][1+Or],o,H),ye=a(o[1][1+s0],o,O);return M0===z0&&r0===Nr&&$===Gr&&H===Fe&&O===ye?m:[0,z0,Nr,Gr,Fe,ye]}function mue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function _ue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+tt],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Tt],o),$,F,H)}function yue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+tn],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+Or],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,m[4],Gr]}function due(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function hue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Vs],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Vi],o),$,F,H)}function kue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+hs],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+Or],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,m[4],Gr]}function wue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+en],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Rr],o),$,F,H)}function Eue(o,F,m){var O=m[3],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,m[2],r0]}function Sue(o,F){if(F[0]===0){var m=F[1],O=Un(u(o[1][1+Ws],o),m);return m===O?F:[0,O]}var H=F[1],$=a(o[1][1+U9],o,H);return H===$?F:[1,$]}function gue(o,F){var m=F[2],O=ze(u(o[1][1+lt],o),m);return m===O?F:[0,F[1],O]}function Fue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+lt],o,H),r0=ze(u(o[1][1+lt],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function Tue(o,F,m){var O=m[5],H=m[2],$=m[1],r0=ze(u(o[1][1+ci],o),H),M0=ze(u(o[1][1+Or],o),$),z0=a(o[1][1+s0],o,O);return H===r0&&$===M0&&O===z0?m:[0,M0,r0,m[3],m[4],z0]}function Oue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Or],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function Iue(o,F,m){var O=m[3],H=m[2],$=a(o[1][1+B9],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?m:[0,m[1],$,r0]}function Aue(o,F){return a(o[1][1+lt],o,F)}function Nue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Cue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Pue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Due(o,F){var m=F[2][1],O=a(o[1][1+X1],o,m);return m===O?F:[0,F[1],[0,O]]}function Lue(o,F){var m=F[3],O=F[1],H=Un(u(o[1][1+si],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],$]}function Rue(o,F){var m=F[4],O=F[1];if(O[0]===0)var H=function(ye){return[0,ye]},$=O[1],r0=u(o[1][1+si],o),Gr=ee(function(ye){return Un(r0,ye)},$,O,H);else var M0=function(ye){return[1,ye]},z0=O[1],Nr=u(o[1][1+s2],o),Gr=ee(function(ye){return Un(Nr,ye)},z0,O,M0);var Fe=a(o[1][1+s0],o,m);return O===Gr&&m===Fe?F:[0,Gr,F[2],F[3],Fe]}function jue(o,F){var m=F[4],O=F[1],H=Un(u(o[1][1+X9],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],F[3],$]}function Gue(o,F){var m=F[4],O=F[1],H=Un(u(o[1][1+cb],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],F[3],$]}function Mue(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(ye){return[0,O,[0,ye]]},$=m[1];return ee(u(o[1][1+sb],o),$,F,H);case 1:var r0=function(ye){return[0,O,[1,ye]]},M0=m[1];return ee(u(o[1][1+Y9],o),M0,F,r0);case 2:var z0=function(ye){return[0,O,[2,ye]]},Nr=m[1];return ee(u(o[1][1+H9],o),Nr,F,z0);default:var Gr=function(ye){return[0,O,[3,ye]]},Fe=m[1];return ee(u(o[1][1+Js],o),Fe,F,Gr)}}function Bue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ir(o[1][1+R0],o,h6r,$),M0=a(o[1][1+V9],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function que(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Uue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+Or],o,$),M0=a(o[1][1+_r],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function Hue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ir(o[1][1+R0],o,d6r,$),M0=a(o[1][1+l],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function Xue(o,F,m){return ir(o[1][1+c0],o,F,m)}function Yue(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Vue(o,F,m){var O=m[4],H=m[2],$=mu(u(o[1][1+zi],o),H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?m:[0,m[1],$,m[3],r0]}function zue(o,F,m){return ir(o[1][1+Hn],o,F,m)}function Kue(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+he],o,r0),z0=a(o[1][1+l],o,$),Nr=ze(u(o[1][1+Ir],o),H),Gr=a(o[1][1+s0],o,O);return M0===r0&&z0===$&&Nr===H&&Gr===O?m:[0,M0,z0,Nr,Gr]}function Wue(o,F){switch(F[0]){case 0:var m=F[1],O=m[2],H=m[1],$=ir(o[1][1+vb],o,H,O);return $===O?F:[0,[0,H,$]];case 1:var r0=F[1],M0=r0[2],z0=r0[1],Nr=ir(o[1][1+lb],o,z0,M0);return Nr===M0?F:[1,[0,z0,Nr]];case 2:var Gr=F[1],Fe=Gr[2],ye=Gr[1],Dn=ir(o[1][1+v2],o,ye,Fe);return Dn===Fe?F:[2,[0,ye,Dn]];case 3:var pn=F[1],xt=a(o[1][1+t0],o,pn);return xt===pn?F:[3,xt];case 4:var pt=F[1],kt=pt[2],Kn=pt[1],$t=ir(o[1][1+c0],o,Kn,kt);return $t===kt?F:[4,[0,Kn,$t]];case 5:var W7=F[1],J7=W7[2],w7=W7[1],$7=ir(o[1][1+Sr],o,w7,J7);return $7===J7?F:[5,[0,w7,$7]];default:var Z7=F[1],Q7=Z7[2],ri=Z7[1],ei=ir(o[1][1+Hn],o,ri,Q7);return ei===Q7?F:[6,[0,ri,ei]]}}function Jue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=ze(u(o[1][1+ci],o),H),M0=ze(u(o[1][1+Q9],o),$),z0=a(o[1][1+s0],o,O);return H===r0&&$===M0&&O===z0?m:[0,m[1],M0,r0,m[4],z0]}function $ue(o,F,m){var O=m[7],H=m[6],$=m[5],r0=m[4],M0=m[3],z0=m[2],Nr=m[1],Gr=a(o[1][1+db],o,Nr),Fe=ze(u(o[1][1+V],o),z0),ye=mu(u(o[1][1+qr],o),M0),Dn=u(o[1][1+xu],o),pn=ze(function($t){return mu(Dn,$t)},r0),xt=u(o[1][1+xu],o),pt=Un(function($t){return mu(xt,$t)},$),kt=ze(u(o[1][1+l2],o),H),Kn=a(o[1][1+s0],o,O);return Gr===Nr&&Fe===z0&&ye===M0&&pn===r0&&pt===$&&kt===H&&Kn===O?m:[0,Gr,Fe,ye,pn,pt,kt,Kn]}function Zue(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Que(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+Q0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function r7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+_r],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+en],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function e7e(o,F,m){return m}function n7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+or],o,M0),Nr=a(o[1][1+_b],o,r0),Gr=a(o[1][1+x0],o,$),Fe=a(o[1][1+c],o,H),ye=a(o[1][1+s0],o,O);return M0===z0&&r0===Nr&&Gr===$&&Fe===H&&ye===O?m:[0,z0,Nr,Gr,m[4],Fe,ye]}function t7e(o,F){if(typeof F=="number")return F;var m=F[1],O=a(o[1][1+en],o,m);return m===O?F:[0,O]}function u7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+ae],o,M0),Nr=a(o[1][1+_b],o,r0),Gr=a(o[1][1+x0],o,$),Fe=a(o[1][1+c],o,H),ye=a(o[1][1+s0],o,O);return M0===z0&&r0===Nr&&Gr===$&&Fe===H&&ye===O?m:[0,z0,Nr,Gr,m[4],Fe,ye]}function i7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],M0=a(o[1][1+ae],o,r0),z0=mu(u(o[1][1+_e],o),$),Nr=Un(u(o[1][1+hb],o),H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,m[1],M0,z0,m[4],Nr,Gr]}function f7e(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+m0],o,H),r0=ze(u(o[1][1+e0],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function x7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+e_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function a7e(o,F){switch(F[0]){case 0:var m=F[1],O=m[1],H=function(pn){return[0,[0,O,pn]]},$=m[2];return te(u(o[1][1+Vc],o),O,$,F,H);case 1:var r0=F[1],M0=r0[1],z0=function(pn){return[1,[0,M0,pn]]},Nr=r0[2];return te(u(o[1][1+yb],o),M0,Nr,F,z0);default:var Gr=F[1],Fe=Gr[1],ye=function(pn){return[2,[0,Fe,pn]]},Dn=Gr[2];return te(u(o[1][1+r_],o),Fe,Dn,F,ye)}}function o7e(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function c7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+$s],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function s7e(o,F){return ir(o[1][1+R0],o,y6r,F)}function v7e(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=ze(u(o[1][1+e0],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function l7e(o,F,m){var O=m[7],H=m[6],$=m[5],r0=m[4],M0=m[3],z0=m[2],Nr=m[1],Gr=ze(u(o[1][1+db],o),Nr),Fe=a(o[1][1+t_],o,z0),ye=ze(u(o[1][1+V],o),M0),Dn=u(o[1][1+zc],o),pn=ze(function(Kn){return mu(Dn,Kn)},r0),xt=ze(u(o[1][1+l2],o),$),pt=Un(u(o[1][1+hb],o),H),kt=a(o[1][1+s0],o,O);return Nr===Gr&&z0===Fe&&r0===pn&&$===xt&&H===pt&&O===kt&&M0===ye?m:[0,Gr,Fe,ye,pn,xt,pt,kt]}function b7e(o,F,m){return ir(o[1][1+ks],o,F,m)}function p7e(o,F,m){return ir(o[1][1+ks],o,F,m)}function m7e(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ze(u(o[1][1+u_],o),$),M0=a(o[1][1+i_],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function _7e(o,F){return mu(u(o[1][1+zi],o),F)}function y7e(o,F){if(F[0]===0){var m=F[1],O=a(o[1][1+t0],o,m);return O===m?F:[0,O]}var H=F[1],$=H[2][1],r0=a(o[1][1+s0],o,$);return $===r0?F:[1,[0,H[1],[0,r0]]]}function d7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+f_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function h7e(o,F,m){var O=m[1],H=ir(o[1][1+kb],o,F,O);return O===H?m:[0,H,m[2],m[3]]}function k7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+Ks],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function w7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+en],o,r0),z0=ze(u(o[1][1+b2],o),$),Nr=a(o[1][1+Zs],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function E7e(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+Q0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function S7e(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+Tr],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function g7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+en],o,$),M0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,m[1],r0,M0,z0]}function F7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+m2],o,$),M0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,m[1],r0,M0,z0]}function T7e(o,F,m){return ir(o[1][1+Rn],o,F,m)}function O7e(o,F){switch(F[0]){case 0:var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+en],o),O,F,m);case 1:var H=function(r0){return[1,r0]},$=F[1];return ee(u(o[1][1+Rr],o),$,F,H);default:return F}}function I7e(o,F,m){var O=m[2],H=m[1],$=Un(u(o[1][1+c_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function A7e(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(Ue){return[0,O,[0,Ue]]},$=m[1];return te(u(o[1][1+y2],o),O,$,F,H);case 1:var r0=function(Ue){return[0,O,[1,Ue]]},M0=m[1];return te(u(o[1][1+o_],o),O,M0,F,r0);case 2:var z0=function(Ue){return[0,O,[2,Ue]]},Nr=m[1];return te(u(o[1][1+_2],o),O,Nr,F,z0);case 3:var Gr=function(Ue){return[0,O,[3,Ue]]},Fe=m[1];return te(u(o[1][1+a_],o),O,Fe,F,Gr);case 4:var ye=function(Ue){return[0,O,[4,Ue]]},Dn=m[1];return te(u(o[1][1+kb],o),O,Dn,F,ye);case 5:var pn=function(Ue){return[0,O,[5,Ue]]},xt=m[1];return te(u(o[1][1+n_],o),O,xt,F,pn);case 6:var pt=function(Ue){return[0,O,[6,Ue]]},kt=m[1];return te(u(o[1][1+jn],o),O,kt,F,pt);case 7:var Kn=function(Ue){return[0,O,[7,Ue]]},$t=m[1];return te(u(o[1][1+mb],o),O,$t,F,Kn);case 8:var W7=function(Ue){return[0,O,[8,Ue]]},J7=m[1];return te(u(o[1][1+Zn],o),O,J7,F,W7);case 9:var w7=function(Ue){return[0,O,[9,Ue]]},$7=m[1];return te(u(o[1][1+Yi],o),O,$7,F,w7);case 10:var Z7=function(Ue){return[0,O,[10,Ue]]},Q7=m[1];return ee(u(o[1][1+lt],o),Q7,F,Z7);case 11:var ri=function(Ue){return[0,O,[11,Ue]]},ei=m[1];return ee(a(o[1][1+Ft],o,O),ei,F,ri);case 12:var Wi=function(Ue){return[0,O,[12,Ue]]},uv=m[1];return te(u(o[1][1+Me],o),O,uv,F,Wi);case 13:var iv=function(Ue){return[0,O,[13,Ue]]},Ji=m[1];return te(u(o[1][1+Kr],o),O,Ji,F,iv);case 14:var fv=function(Ue){return[0,O,[14,Ue]]},Gb=m[1];return te(u(o[1][1+J0],o),O,Gb,F,fv);case 15:var Mb=function(Ue){return[0,O,[15,Ue]]},Bb=m[1];return te(u(o[1][1+Y0],o),O,Bb,F,Mb);case 16:var qb=function(Ue){return[0,O,[16,Ue]]},Ub=m[1];return te(u(o[1][1+u0],o),O,Ub,F,qb);case 17:var Hb=function(Ue){return[0,O,[17,Ue]]},Xb=m[1];return te(u(o[1][1+U],o),O,Xb,F,Hb);case 18:var Yb=function(Ue){return[0,O,[18,Ue]]},Vb=m[1];return te(u(o[1][1+I],o),O,Vb,F,Yb);case 19:var zb=function(Ue){return[0,O,[19,Ue]]},Kb=m[1];return te(u(o[1][1+Fr],o),O,Kb,F,zb);case 20:var Wb=function(Ue){return[0,O,[20,Ue]]},Jb=m[1];return ee(a(o[1][1+$0],o,O),Jb,F,Wb);case 21:var $b=function(Ue){return[0,O,[21,Ue]]},Zb=m[1];return te(u(o[1][1+yr],o),O,Zb,F,$b);case 22:var Qb=function(Ue){return[0,O,[22,Ue]]},r4=m[1];return te(u(o[1][1+Wr],o),O,r4,F,Qb);case 23:var e4=function(Ue){return[0,O,[23,Ue]]},n4=m[1];return te(u(o[1][1+W0],o),O,n4,F,e4);case 24:var t4=function(Ue){return[0,O,[24,Ue]]},u4=m[1];return te(u(o[1][1+X],o),O,u4,F,t4);case 25:var i4=function(Ue){return[0,O,[25,Ue]]},f4=m[1];return te(u(o[1][1+G0],o),O,f4,F,i4);case 26:var x4=function(Ue){return[0,O,[26,Ue]]},a4=m[1];return te(u(o[1][1+X0],o),O,a4,F,x4);case 27:var $e=function(Ue){return[0,O,[27,Ue]]},PR=m[1];return te(u(o[1][1+g0],o),O,PR,F,$e);case 28:var DR=function(Ue){return[0,O,[28,Ue]]},LR=m[1];return te(u(o[1][1+w],o),O,LR,F,DR);case 29:var RR=function(Ue){return[0,O,[29,Ue]]},jR=m[1];return te(u(o[1][1+E],o),O,jR,F,RR);default:var GR=function(Ue){return[0,O,[30,Ue]]},MR=m[1];return te(u(o[1][1+e],o),O,MR,F,GR)}}function N7e(o,F){var m=F[2],O=F[1],H=Un(u(o[1][1+V1],o),O),$=Un(u(o[1][1+V1],o),m);return O===H&&m===$?F:[0,H,$,F[3]]}var C7e=8;function P7e(o,F){return F}function D7e(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(Oe){return[0,O,[0,Oe]]},$=m[1];return te(u(o[1][1+zi],o),O,$,F,H);case 1:var r0=function(Oe){return[0,O,[1,Oe]]},M0=m[1];return te(u(o[1][1+Qs],o),O,M0,F,r0);case 2:var z0=function(Oe){return[0,O,[2,Oe]]},Nr=m[1];return te(u(o[1][1+z1],o),O,Nr,F,z0);case 3:var Gr=function(Oe){return[0,O,[3,Oe]]},Fe=m[1];return te(u(o[1][1+pb],o),O,Fe,F,Gr);case 4:var ye=function(Oe){return[0,O,[4,Oe]]},Dn=m[1];return te(u(o[1][1+bb],o),O,Dn,F,ye);case 5:var pn=function(Oe){return[0,O,[5,Oe]]},xt=m[1];return te(u(o[1][1+v2],o),O,xt,F,pn);case 6:var pt=function(Oe){return[0,O,[6,Oe]]},kt=m[1];return te(u(o[1][1+Y1],o),O,kt,F,pt);case 7:var Kn=function(Oe){return[0,O,[7,Oe]]},$t=m[1];return te(u(o[1][1+lb],o),O,$t,F,Kn);case 8:var W7=function(Oe){return[0,O,[8,Oe]]},J7=m[1];return te(u(o[1][1+Z9],o),O,J7,F,W7);case 9:var w7=function(Oe){return[0,O,[9,Oe]]},$7=m[1];return te(u(o[1][1+$9],o),O,$7,F,w7);case 10:var Z7=function(Oe){return[0,O,[10,Oe]]},Q7=m[1];return te(u(o[1][1+J9],o),O,Q7,F,Z7);case 11:var ri=function(Oe){return[0,O,[11,Oe]]},ei=m[1];return te(u(o[1][1+W9],o),O,ei,F,ri);case 12:var Wi=function(Oe){return[0,O,[33,Oe]]},uv=m[1];return te(u(o[1][1+Sr],o),O,uv,F,Wi);case 13:var iv=function(Oe){return[0,O,[13,Oe]]},Ji=m[1];return te(u(o[1][1+vb],o),O,Ji,F,iv);case 14:var fv=function(Oe){return[0,O,[14,Oe]]},Gb=m[1];return te(u(o[1][1+K9],o),O,Gb,F,fv);case 15:var Mb=function(Oe){return[0,O,[15,Oe]]},Bb=m[1];return te(u(o[1][1+z9],o),O,Bb,F,Mb);case 16:var qb=function(Oe){return[0,O,[16,Oe]]},Ub=m[1];return te(u(o[1][1+ob],o),O,Ub,F,qb);case 17:var Hb=function(Oe){return[0,O,[17,Oe]]},Xb=m[1];return te(u(o[1][1+q9],o),O,Xb,F,Hb);case 18:var Yb=function(Oe){return[0,O,[18,Oe]]},Vb=m[1];return te(u(o[1][1+c2],o),O,Vb,F,Yb);case 19:var zb=function(Oe){return[0,O,[19,Oe]]},Kb=m[1];return te(u(o[1][1+zs],o),O,Kb,F,zb);case 20:var Wb=function(Oe){return[0,O,[20,Oe]]},Jb=m[1];return te(u(o[1][1+ht],o),O,Jb,F,Wb);case 21:var $b=function(Oe){return[0,O,[21,Oe]]},Zb=m[1];return te(u(o[1][1+Iu],o),O,Zb,F,$b);case 22:var Qb=function(Oe){return[0,O,[22,Oe]]},r4=m[1];return te(u(o[1][1+cn],o),O,r4,F,Qb);case 23:var e4=function(Oe){return[0,O,[23,Oe]]},n4=m[1];return te(u(o[1][1+dn],o),O,n4,F,e4);case 24:var t4=function(Oe){return[0,O,[24,Oe]]},u4=m[1];return te(u(o[1][1+Nt],o),O,u4,F,t4);case 25:var i4=function(Oe){return[0,O,[25,Oe]]},f4=m[1];return te(u(o[1][1+Bt],o),O,f4,F,i4);case 26:var x4=function(Oe){return[0,O,[26,Oe]]},a4=m[1];return te(u(o[1][1+Cn],o),O,a4,F,x4);case 27:var $e=function(Oe){return[0,O,[27,Oe]]},PR=m[1];return te(u(o[1][1+fr],o),O,PR,F,$e);case 28:var DR=function(Oe){return[0,O,[28,Oe]]},LR=m[1];return te(u(o[1][1+Jr],o),O,LR,F,DR);case 29:var RR=function(Oe){return[0,O,[29,Oe]]},jR=m[1];return te(u(o[1][1+ar],o),O,jR,F,RR);case 30:var GR=function(Oe){return[0,O,[30,Oe]]},MR=m[1];return te(u(o[1][1+E0],o),O,MR,F,GR);case 31:var Ue=function(Oe){return[0,O,[31,Oe]]},L7e=m[1];return te(u(o[1][1+w0],o),O,L7e,F,Ue);case 32:var R7e=function(Oe){return[0,O,[32,Oe]]},j7e=m[1];return te(u(o[1][1+c0],o),O,j7e,F,R7e);case 33:var G7e=function(Oe){return[0,O,[33,Oe]]},M7e=m[1];return te(u(o[1][1+Sr],o),O,M7e,F,G7e);case 34:var B7e=function(Oe){return[0,O,[34,Oe]]},q7e=m[1];return te(u(o[1][1+T],o),O,q7e,F,B7e);case 35:var U7e=function(Oe){return[0,O,[35,Oe]]},H7e=m[1];return te(u(o[1][1+x],o),O,H7e,F,U7e);default:var X7e=function(Oe){return[0,O,[36,Oe]]},Y7e=m[1];return te(u(o[1][1+i],o),O,Y7e,F,X7e)}}return BN(t,[0,XL,function(o,F){var m=F[2],O=m[3],H=m[2],$=m[1],r0=a(o[1][1+_0],o,$),M0=a(o[1][1+s0],o,H),z0=Un(u(o[1][1+V1],o),O);return $===r0&&H===M0&&O===z0?F:[0,F[1],[0,r0,M0,z0]]},Or,D7e,V1,P7e,s0,C7e,ze,dr,dr,N7e,en,A7e,y2,I7e,c_,O7e,o_,T7e,_2,F7e,a_,g7e,zi,S7e,Qs,E7e,kb,w7e,Zs,k7e,$0,h7e,b2,d7e,f_,y7e,i_,_7e,K1,m7e,z1,p7e,n_,b7e,ks,l7e,zc,v7e,db,s7e,t_,c7e,hb,o7e,$s,a7e,l2,x7e,e_,f7e,Vc,i7e,yb,u7e,_b,t7e,r_,n7e,jn,e7e,mb,r7e,pb,Que,bb,Zue,v2,$ue,Y1,Jue,Q9,Wue,lb,Kue,Z9,zue,$9,Vue,J9,Yue,W9,Xue,vb,Hue,K9,Uue,z9,que,ob,Bue,V9,Mue,sb,Gue,Y9,jue,H9,Rue,Js,Lue,si,Due,cb,Pue,X9,Cue,s2,Nue,X1,Aue,q9,Iue,B9,Oue,c2,Tue,Ws,Fue,U9,gue,ci,Sue,zs,Eue,Ks,wue,Iu,kue,hs,hue,Vs,due,cn,yue,tn,_ue,tt,mue,ht,pue,nt,bue,Fi,lue,L0,vue,qt,sue,Yc,cue,a7,oue,Q0,aue,$r,xue,Br,fue,Mr,iue,ne,uue,jr,tue,ge,nue,ce,eue,H0,rue,qr,Qte,bn,Zte,z7,$te,Mu,Jte,Y,Wte,s,Kte,c,zte,e0,Vte,V,Yte,f0,Xte,xu,Hte,Sn,Ute,vr,qte,Lr,Bte,_,Mte,p2,Gte,x_,jte,k,Rte,G,Lte,K,Dte,M,Pte,S,Cte,A,Nte,a0,Ate,e1,Ite,h,Ote,rn,Tte,t0,Fte,l,gte,x0,Ste,dn,Ete,Zn,wte,_e,kte,Rn,hte,U0,dte,K7,yte,He,_te,it,mte,ft,pte,he,bte,Yi,lte,lt,vte,k0,ste,m0,cte,Kc,ote,Hn,ate,Cn,xte,or,fte,Tn,ite,Ft,ute,du,tte,Ku,nte,Nt,ete,Bt,rte,vt,Qne,gt,Zne,Jt,$ne,At,Jne,Me,Wne,Kr,Kne,mr,zne,Be,Vne,Cr,Yne,gr,Xne,We,Hne,Ce,Une,on,qne,yn,Bne,Qe,Mne,xn,CR,Ae,jb,fn,Rb,Ke,tv,re,Lb,F0,nv,Ie,Ki,ve,k7,xe,Oi,je,ku,sr,hu,Ur,NR,Pr,AR,K0,Db,d0,IR,fr,OR,J0,Pb,Y0,TR,u0,FR,yr,gR,I0,E2,y0,SR,D,d_,D0,ER,U,wR,I,Cb,Fr,kR,Qr,y_,ae,hR,pe,dR,oe,Nb,me,yR,Sr,_R,Re,mR,p,Ab,u_,__,Vi,pR,Tt,m_,r1,Ib,m2,p_,er,bR,R0,b_,rr,lR,T0,Ob,S0,l_,Q,Tb,L,ev,i0,vR,l0,sR,v0,v_,P,Gn,fe,cR,q0,Fb,O0,oR,b0,gb,p0,aR,Z,Sb,W1,xR,B,rv,Ir,fR,_r,w2,bt,iR,Jr,k2,Wr,uR,_0,s_,Tr,tR,Hr,nR,Rr,h2,xr,eR,W0,rR,ar,Eb,Ar,QL,X,wb,G0,ZL,b,Q1,X0,$L,E0,Z1,w0,JL,g0,d2,w,WL,E,KL,T,Ti,y,zL,x,$1,i,VL,c0,J1,e,YL]),function(o,F){return Gp(F,t)}});function W00(t){switch(t[0]){case 0:return 1;case 3:return 3;default:return 2}}function J00(t,n){u(f(t),H6r),a(f(t),Y6r,X6r);var e=n[1];a(f(t),V6r,e),u(f(t),z6r),u(f(t),K6r),a(f(t),J6r,W6r);var i=n[2];return a(f(t),$6r,i),u(f(t),Z6r),u(f(t),Q6r)}var $00=function t(n,e){return t.fun(n,e)},qee=function t(n){return t.fun(n)};N($00,function(t,n){u(f(t),epr),a(f(t),tpr,npr);var e=n[1];if(e){g(t,upr);var i=e[1];switch(i[0]){case 0:u(f(t),N6r);var x=i[1];a(f(t),C6r,x),u(f(t),P6r);break;case 1:u(f(t),D6r);var c=i[1];a(f(t),L6r,c),u(f(t),R6r);break;case 2:u(f(t),j6r);var s=i[1];a(f(t),G6r,s),u(f(t),M6r);break;default:u(f(t),B6r);var p=i[1];a(f(t),q6r,p),u(f(t),U6r)}g(t,ipr)}else g(t,fpr);return u(f(t),xpr),u(f(t),apr),a(f(t),cpr,opr),J00(t,n[2]),u(f(t),spr),u(f(t),vpr),a(f(t),bpr,lpr),J00(t,n[3]),u(f(t),ppr),u(f(t),mpr)}),N(qee,function(t){return a(P0(rpr),$00,t)});function yt(t,n){return[0,t[1],t[2],n[3]]}function ms(t,n){var e=t[1]-n[1]|0;return e===0?t[2]-n[2]|0:e}function Z00(t,n){var e=n[1],i=t[1];if(i)if(e)var x=e[1],c=i[1],s=W00(x),p=W00(c)-s|0,T=p===0?Ee(c[1],x[1]):p;else var T=-1;else var y=e&&1,T=y;if(T===0){var E=ms(t[2],n[2]);return E===0?ms(t[3],n[3]):E}return T}function Wv(t,n){return Z00(t,n)===0?1:0}var ZD=function t(n,e,i){return t.fun(n,e,i)},Uee=jp(dpr,function(t){var n=DN(t,ypr)[35],e=GN(t,0,0,_pr,$D,1)[1];return Zz(t,n,function(i,x){return 0}),function(i,x){var c=Gp(x,t);return u(e,c),MN(x,c,t)}});N(ZD,function(t,n,e){var i=e[2];switch(i[0]){case 0:var x=i[1][1];return be(function(s,p){var y=p[0]===0?p[1][2][2]:p[1][2][1];return ir(ZD,t,s,y)},n,x);case 1:var c=i[1][1];return be(function(s,p){return p[0]===2?s:ir(ZD,t,s,p[1][2][1])},n,c);case 2:return a(t,n,i[1][1]);default:return n}});function Gc(t,n){return[0,n[1],[0,n[2],t]]}function Q00(t,n,e){var i=t&&t[1],x=n&&n[1];return[0,i,x,e]}function lr(t,n,e){var i=t&&t[1],x=n&&n[1];return!i&&!x?x:[0,Q00([0,i],[0,x],0)]}function _u(t,n,e,i){var x=t&&t[1],c=n&&n[1];return!x&&!c&&!e?e:[0,Q00([0,x],[0,c],e)]}function _7(t,n){if(t){if(n){var e=n[1],i=t[1],x=[0,un(i[2],e[2])];return lr([0,un(e[1],i[1])],x,0)}var c=t}else var c=n;return c}function QD(t,n){if(n){if(t){var e=n[1],i=t[1],x=i[3],c=[0,un(i[2],e[2])];return _u([0,un(e[1],i[1])],c,x,0)}var s=n[1];return _u([0,s[1]],[0,s[2]],0,0)}return t}function Jv(t,n){for(var e=t,i=n;;){if(typeof e=="number")return i;if(e[0]===0)return[0,e[1],0,i];var x=[0,e[2],e[4],i],e=e[3],i=x}}function rr0(t,n){if(t)var e=Jv(t[2],t[3]),i=function(c){return rr0(e,c)},x=[0,t[1],i];else var x=t;return x}function Hee(t){var n=Jv(t,0);return function(e){return rr0(n,e)}}function _s(t){return typeof t=="number"?0:t[0]===0?1:t[1]}function Xee(t){return[0,t]}function X7(t,n,e){var i=0;if(typeof t=="number"){if(typeof e=="number")return[0,n];e[0]===1&&(i=1)}else if(t[0]===0)typeof e!="number"&&e[0]===1&&(i=1);else{var x=t[1];if(typeof e!="number"&&e[0]===1){var c=e[1],s=c<=x?x+1|0:c+1|0;return[1,s,n,t,e]}var p=x;i=2}switch(i){case 1:var p=e[1];break;case 0:return[1,2,n,t,e]}return[1,p+1|0,n,t,e]}function Ds(t,n,e){var i=_s(t),x=_s(e),c=x<=i?i+1|0:x+1|0;return[1,c,n,t,e]}function rL(t,n){var e=n!==0?1:0;if(e){if(n!==1){var i=n>>>1|0,x=rL(t,i),c=u(t,0),s=rL(t,(n-i|0)-1|0);return[1,_s(x)+1|0,c,x,s]}var p=[0,u(t,0)]}else var p=e;return p}function hi(t,n,e){var i=_s(t),x=_s(e);if((x+2|0)>1,b0=G0(p0,W0),O0=b0[1],q0=G0(ar-p0|0,b0[2]),er=O0,yr=q0[1],vr=0,$0=q0[2];;){if(er){if(yr){var Sr=yr[2],Mr=yr[1],Br=er[2],qr=er[1],jr=a(X0,qr,Mr);if(jr===0){var er=Br,yr=Sr,vr=[0,qr,vr];continue}if(0<=jr){var yr=Sr,vr=[0,Mr,vr];continue}var er=Br,vr=[0,qr,vr];continue}var $r=jc(er,vr)}else var $r=jc(yr,vr);return[0,$r,$0]}},G0=function(ar,W0){if(ar===2){if(W0){var Lr=W0[2];if(Lr){var Tr=Lr[1],Hr=W0[1],Or=Lr[2],xr=a(X0,Hr,Tr),Rr=xr===0?[0,Hr,0]:0<=xr?[0,Tr,[0,Hr,0]]:[0,Hr,[0,Tr,0]];return[0,Rr,Or]}}}else if(ar===3&&W0){var Wr=W0[2];if(Wr){var Jr=Wr[2];if(Jr){var or=Jr[1],_r=Wr[1],Ir=W0[1],fe=Jr[2],v0=a(X0,Ir,_r);if(v0===0)var P=a(X0,_r,or),L=P===0?[0,_r,0]:0<=P?[0,or,[0,_r,0]]:[0,_r,[0,or,0]],Q=L;else if(0<=v0){var i0=a(X0,Ir,or);if(i0===0)var T0=[0,_r,[0,Ir,0]];else if(0<=i0)var l0=a(X0,_r,or),S0=l0===0?[0,_r,[0,Ir,0]]:0<=l0?[0,or,[0,_r,[0,Ir,0]]]:[0,_r,[0,or,[0,Ir,0]]],T0=S0;else var T0=[0,_r,[0,Ir,[0,or,0]]];var Q=T0}else{var rr=a(X0,_r,or);if(rr===0)var Z=[0,Ir,[0,_r,0]];else if(0<=rr)var R0=a(X0,Ir,or),B=R0===0?[0,Ir,[0,_r,0]]:0<=R0?[0,or,[0,Ir,[0,_r,0]]]:[0,Ir,[0,or,[0,_r,0]]],Z=B;else var Z=[0,Ir,[0,_r,[0,or,0]]];var Q=Z}return[0,Q,fe]}}}for(var p0=ar>>1,b0=b(p0,W0),O0=b0[1],q0=b(ar-p0|0,b0[2]),er=O0,yr=q0[1],vr=0,$0=q0[2];;){if(er){if(yr){var Sr=yr[2],Mr=yr[1],Br=er[2],qr=er[1],jr=a(X0,qr,Mr);if(jr===0){var er=Br,yr=Sr,vr=[0,qr,vr];continue}if(0>>0))switch(ar){case 0:return[0,0,W0];case 1:if(W0)return[0,[0,W0[1]],W0[2]];break;case 2:if(W0){var Lr=W0[2];if(Lr)return[0,[1,2,Lr[1],[0,W0[1]],0],Lr[2]]}break;default:if(W0){var Tr=W0[2];if(Tr){var Hr=Tr[2];if(Hr)return[0,[1,2,Tr[1],[0,W0[1]],[0,Hr[1]]],Hr[2]]}}}var Or=ar/2|0,xr=dr(Or,W0),Rr=xr[2];if(Rr){var Wr=dr((ar-Or|0)-1|0,Rr[2]),Jr=Wr[2];return[0,Ds(xr[1],Rr[1],Wr[1]),Jr]}throw[0,wn,o5r]};return dr(Rc(s0),s0)[1]}var Ar=n(E0,n(w0,n(t0,[0,l])));return n(_0[1],Ar)}return n(E0,n(w0,n(t0,[0,l])))}return n(w0,n(t0,[0,l]))}return n(t0,[0,l])}return[0,l]}return st}return[0,st,tL,i,n,Xee,x,c,s,y,T,E,h,w,G,k0,A,S,M,K,V,nL,fr0,Pl,tr0,ur0,Yee,Pl,tr0,f0,m0,Hee,g0,function(e0,x0,l){u(f(x0),i5r);var c0=fr0(l);c0&&u(f(x0),f5r);var t0=0;return be(function(a0,w0){return a0&&u(f(x0),u5r),a(e0,x0,w0),1},t0,c0),c0&&u(f(x0),x5r),u(f(x0),a5r)},rL]}var xr0=c5r.slice();function iL(t){for(var n=0,e=xr0.length-1-1|0;;){if(e>>18|0),Jn(i,x+1|0,Rt|(p>>>12|0)&63),Jn(i,x+2|0,Rt|(p>>>6|0)&63),Jn(i,x+3|0,Rt|p&63);var y=x+4|0}else{Jn(i,x,dv|p>>>12|0),Jn(i,x+1|0,Rt|(p>>>6|0)&63),Jn(i,x+2|0,Rt|p&63);var y=x+3|0}else{Jn(i,x,at|p>>>6|0),Jn(i,x+1|0,Rt|p&63);var y=x+2|0}else{Jn(i,x,p);var y=x+1|0}var x=y,c=c-1|0,s=s+1|0;continue}throw A1}return x}}function hr0(t){for(var n=nn(t),e=Gv(n,0),i=0,x=0;;){if(x>>6|0)!==2?1:0;if(E)var w=E;else var h=(y>>>6|0)!==2?1:0,w=h||((T>>>6|0)!==2?1:0);if(w)throw A1;e[1+i]=(c&7)<<18|(p&63)<<12|(y&63)<<6|T&63;var G=x+4|0}else if(dv<=c){var A=Vr(t,x+1|0),S=Vr(t,x+2|0),M=(c&15)<<12|(A&63)<<6|S&63,K=(A>>>6|0)!==2?1:0,V=K||((S>>>6|0)!==2?1:0);if(V)var m0=V;else var f0=55296<=M?1:0,m0=f0&&(M<=57088?1:0);if(m0)throw A1;e[1+i]=M;var G=x+3|0}else{var k0=Vr(t,x+1|0);if((k0>>>6|0)!==2)throw A1;e[1+i]=(c&31)<<6|k0&63;var G=x+2|0}else if(Rt<=c)s=1;else{e[1+i]=c;var G=x+1|0}if(s)throw A1;var i=i+1|0,x=G;continue}return[0,e,i,yr0,_r0,mr0,pr0,br0,lr0,vr0,sr0,cr0,or0]}}function jl(t,n,e){var i=t[6]+n|0,x=Pt(e*4|0),c=t[1];if((i+e|0)<=c.length-1)return qv(x,0,Rl(c,i,e,x));throw[0,wn,p_r]}function Se(t){var n=t[6],e=t[3]-n|0,i=Pt(e*4|0);return qv(i,0,Rl(t[1],n,e,i))}function Gl(t,n){var e=t[6],i=t[3]-e|0,x=Pt(i*4|0);return bN(n,x,0,Rl(t[1],e,i,x))}function xL(t){var n=t.length-1,e=Pt(n*4|0);return qv(e,0,Rl(t,0,n,e))}function kr0(t,n){return t[3]=t[3]-n|0,0}var wr0=0;function zee(t,n,e){return[0,t,n,__r,0,e,wr0,y_r]}function Er0(t){var n=t[2];return[0,t[1],[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12]],t[3],t[4],t[5],t[6],t[7]]}function Sr0(t){return t[3][1]}function Zm(t,n){return t!==n[4]?[0,n[1],n[2],n[3],t,n[5],n[6],n[7]]:n}var aL=function t(n,e){return t.fun(n,e)},gr0=function t(n,e){return t.fun(n,e)},oL=function t(n,e){return t.fun(n,e)},cL=function t(n,e){return t.fun(n,e)},Fr0=function t(n,e){return t.fun(n,e)};N(aL,function(t,n){if(typeof t=="number"){var e=t;if(61<=e)if(92<=e)switch(e){case 92:if(typeof n=="number"&&n===92)return 1;break;case 93:if(typeof n=="number"&&n===93)return 1;break;case 94:if(typeof n=="number"&&n===94)return 1;break;case 95:if(typeof n=="number"&&n===95)return 1;break;case 96:if(typeof n=="number"&&n===96)return 1;break;case 97:if(typeof n=="number"&&n===97)return 1;break;case 98:if(typeof n=="number"&&n===98)return 1;break;case 99:if(typeof n=="number"&&n===99)return 1;break;case 100:if(typeof n=="number"&&ni===n)return 1;break;case 101:if(typeof n=="number"&&L7===n)return 1;break;case 102:if(typeof n=="number"&&Ri===n)return 1;break;case 103:if(typeof n=="number"&&c7===n)return 1;break;case 104:if(typeof n=="number"&&D7===n)return 1;break;case 105:if(typeof n=="number"&&R7===n)return 1;break;case 106:if(typeof n=="number"&&Xt===n)return 1;break;case 107:if(typeof n=="number"&&Qc===n)return 1;break;case 108:if(typeof n=="number"&&fs===n)return 1;break;case 109:if(typeof n=="number"&&Fv===n)return 1;break;case 110:if(typeof n=="number"&&Ht===n)return 1;break;case 111:if(typeof n=="number"&&vf===n)return 1;break;case 112:if(typeof n=="number"&&F7===n)return 1;break;case 113:if(typeof n=="number"&&Pn===n)return 1;break;case 114:if(typeof n=="number"&&u1===n)return 1;break;case 115:if(typeof n=="number"&&Av===n)return 1;break;case 116:if(typeof n=="number"&&x1===n)return 1;break;case 117:if(typeof n=="number"&&A2===n)return 1;break;case 118:if(typeof n=="number"&&z2===n)return 1;break;case 119:if(typeof n=="number"&&Sv===n)return 1;break;case 120:if(typeof n=="number"&&fc===n)return 1;break;default:if(typeof n=="number"&&tl<=n)return 1}else switch(e){case 61:if(typeof n=="number"&&n===61)return 1;break;case 62:if(typeof n=="number"&&n===62)return 1;break;case 63:if(typeof n=="number"&&n===63)return 1;break;case 64:if(typeof n=="number"&&n===64)return 1;break;case 65:if(typeof n=="number"&&n===65)return 1;break;case 66:if(typeof n=="number"&&n===66)return 1;break;case 67:if(typeof n=="number"&&n===67)return 1;break;case 68:if(typeof n=="number"&&n===68)return 1;break;case 69:if(typeof n=="number"&&n===69)return 1;break;case 70:if(typeof n=="number"&&n===70)return 1;break;case 71:if(typeof n=="number"&&n===71)return 1;break;case 72:if(typeof n=="number"&&n===72)return 1;break;case 73:if(typeof n=="number"&&n===73)return 1;break;case 74:if(typeof n=="number"&&n===74)return 1;break;case 75:if(typeof n=="number"&&n===75)return 1;break;case 76:if(typeof n=="number"&&n===76)return 1;break;case 77:if(typeof n=="number"&&n===77)return 1;break;case 78:if(typeof n=="number"&&n===78)return 1;break;case 79:if(typeof n=="number"&&n===79)return 1;break;case 80:if(typeof n=="number"&&n===80)return 1;break;case 81:if(typeof n=="number"&&n===81)return 1;break;case 82:if(typeof n=="number"&&n===82)return 1;break;case 83:if(typeof n=="number"&&n===83)return 1;break;case 84:if(typeof n=="number"&&n===84)return 1;break;case 85:if(typeof n=="number"&&n===85)return 1;break;case 86:if(typeof n=="number"&&n===86)return 1;break;case 87:if(typeof n=="number"&&n===87)return 1;break;case 88:if(typeof n=="number"&&n===88)return 1;break;case 89:if(typeof n=="number"&&n===89)return 1;break;case 90:if(typeof n=="number"&&n===90)return 1;break;default:if(typeof n=="number"&&n===91)return 1}else if(31<=e)switch(e){case 31:if(typeof n=="number"&&n===31)return 1;break;case 32:if(typeof n=="number"&&n===32)return 1;break;case 33:if(typeof n=="number"&&n===33)return 1;break;case 34:if(typeof n=="number"&&n===34)return 1;break;case 35:if(typeof n=="number"&&n===35)return 1;break;case 36:if(typeof n=="number"&&n===36)return 1;break;case 37:if(typeof n=="number"&&n===37)return 1;break;case 38:if(typeof n=="number"&&n===38)return 1;break;case 39:if(typeof n=="number"&&n===39)return 1;break;case 40:if(typeof n=="number"&&n===40)return 1;break;case 41:if(typeof n=="number"&&n===41)return 1;break;case 42:if(typeof n=="number"&&n===42)return 1;break;case 43:if(typeof n=="number"&&n===43)return 1;break;case 44:if(typeof n=="number"&&n===44)return 1;break;case 45:if(typeof n=="number"&&n===45)return 1;break;case 46:if(typeof n=="number"&&n===46)return 1;break;case 47:if(typeof n=="number"&&n===47)return 1;break;case 48:if(typeof n=="number"&&n===48)return 1;break;case 49:if(typeof n=="number"&&n===49)return 1;break;case 50:if(typeof n=="number"&&n===50)return 1;break;case 51:if(typeof n=="number"&&n===51)return 1;break;case 52:if(typeof n=="number"&&n===52)return 1;break;case 53:if(typeof n=="number"&&n===53)return 1;break;case 54:if(typeof n=="number"&&n===54)return 1;break;case 55:if(typeof n=="number"&&n===55)return 1;break;case 56:if(typeof n=="number"&&n===56)return 1;break;case 57:if(typeof n=="number"&&n===57)return 1;break;case 58:if(typeof n=="number"&&n===58)return 1;break;case 59:if(typeof n=="number"&&n===59)return 1;break;default:if(typeof n=="number"&&n===60)return 1}else switch(e){case 0:if(typeof n=="number"&&!n)return 1;break;case 1:if(typeof n=="number"&&n===1)return 1;break;case 2:if(typeof n=="number"&&n===2)return 1;break;case 3:if(typeof n=="number"&&n===3)return 1;break;case 4:if(typeof n=="number"&&n===4)return 1;break;case 5:if(typeof n=="number"&&n===5)return 1;break;case 6:if(typeof n=="number"&&n===6)return 1;break;case 7:if(typeof n=="number"&&n===7)return 1;break;case 8:if(typeof n=="number"&&n===8)return 1;break;case 9:if(typeof n=="number"&&n===9)return 1;break;case 10:if(typeof n=="number"&&n===10)return 1;break;case 11:if(typeof n=="number"&&n===11)return 1;break;case 12:if(typeof n=="number"&&n===12)return 1;break;case 13:if(typeof n=="number"&&n===13)return 1;break;case 14:if(typeof n=="number"&&n===14)return 1;break;case 15:if(typeof n=="number"&&n===15)return 1;break;case 16:if(typeof n=="number"&&n===16)return 1;break;case 17:if(typeof n=="number"&&n===17)return 1;break;case 18:if(typeof n=="number"&&n===18)return 1;break;case 19:if(typeof n=="number"&&n===19)return 1;break;case 20:if(typeof n=="number"&&n===20)return 1;break;case 21:if(typeof n=="number"&&n===21)return 1;break;case 22:if(typeof n=="number"&&n===22)return 1;break;case 23:if(typeof n=="number"&&n===23)return 1;break;case 24:if(typeof n=="number"&&n===24)return 1;break;case 25:if(typeof n=="number"&&n===25)return 1;break;case 26:if(typeof n=="number"&&n===26)return 1;break;case 27:if(typeof n=="number"&&n===27)return 1;break;case 28:if(typeof n=="number"&&n===28)return 1;break;case 29:if(typeof n=="number"&&n===29)return 1;break;default:if(typeof n=="number"&&n===30)return 1}}else switch(t[0]){case 0:if(typeof n!="number"&&n[0]===0){var i=n[1],x=u(u(oL,t[1]),i),c=x&&qn(t[2],n[2]);return c}break;case 1:if(typeof n!="number"&&n[0]===1){var s=n[1],p=u(u(cL,t[1]),s),y=p&&qn(t[2],n[2]);return y}break;case 2:if(typeof n!="number"&&n[0]===2){var T=n[1],E=t[1],h=Wv(E[1],T[1]),w=h&&qn(E[2],T[2]),G=w&&qn(E[3],T[3]),A=G&&(E[4]===T[4]?1:0);return A}break;case 3:if(typeof n!="number"&&n[0]===3){var S=n[1],M=t[1],K=Wv(M[1],S[1]);if(K)var V=S[2],f0=u(u(Fr0,M[2]),V);else var f0=K;var m0=f0&&(M[3]===S[3]?1:0);return m0}break;case 4:if(typeof n!="number"&&n[0]===4){var k0=Wv(t[1],n[1]),g0=k0&&qn(t[2],n[2]),e0=g0&&qn(t[3],n[3]);return e0}break;case 5:if(typeof n!="number"&&n[0]===5){var x0=Wv(t[1],n[1]),l=x0&&qn(t[2],n[2]),c0=l&&qn(t[3],n[3]);return c0}break;case 6:if(typeof n!="number"&&n[0]===6)return qn(t[1],n[1]);break;case 7:if(typeof n!="number"&&n[0]===7){var t0=qn(t[1],n[1]);return t0&&Wv(t[2],n[2])}break;case 8:if(typeof n!="number"&&n[0]===8){var a0=Wv(t[1],n[1]),w0=a0&&qn(t[2],n[2]),_0=w0&&qn(t[3],n[3]);return _0}break;case 9:if(typeof n!="number"&&n[0]===9){var E0=n[1];return u(u(gr0,t[1]),E0)}break;case 10:if(typeof n!="number"&&n[0]===10){var X0=n[1],b=u(u(oL,t[1]),X0),G0=b&&(t[2]==n[2]?1:0),X=G0&&qn(t[3],n[3]);return X}break;default:if(typeof n!="number"&&n[0]===11){var s0=n[1],dr=u(u(cL,t[1]),s0),Ar=dr&&(t[2]==n[2]?1:0),ar=Ar&&qn(t[3],n[3]);return ar}}return 0}),N(gr0,function(t,n){if(t){if(n)return 1}else if(!n)return 1;return 0}),N(oL,function(t,n){switch(t){case 0:if(!n)return 1;break;case 1:if(n===1)return 1;break;case 2:if(n===2)return 1;break;case 3:if(n===3)return 1;break;default:if(4<=n)return 1}return 0}),N(cL,function(t,n){switch(t){case 0:if(!n)return 1;break;case 1:if(n===1)return 1;break;default:if(2<=n)return 1}return 0}),N(Fr0,function(t,n){var e=qn(t[1],n[1]),i=e&&qn(t[2],n[2]),x=i&&qn(t[3],n[3]);return x});function Tr0(t){if(typeof t=="number"){var n=t;if(61<=n){if(92<=n)switch(n){case 92:return Gkr;case 93:return Mkr;case 94:return Bkr;case 95:return qkr;case 96:return Ukr;case 97:return Hkr;case 98:return Xkr;case 99:return Ykr;case 100:return Vkr;case 101:return zkr;case 102:return Kkr;case 103:return Wkr;case 104:return Jkr;case 105:return $kr;case 106:return Zkr;case 107:return Qkr;case 108:return rwr;case 109:return ewr;case 110:return nwr;case 111:return twr;case 112:return uwr;case 113:return iwr;case 114:return fwr;case 115:return xwr;case 116:return awr;case 117:return owr;case 118:return cwr;case 119:return swr;case 120:return vwr;default:return lwr}switch(n){case 61:return xkr;case 62:return akr;case 63:return okr;case 64:return ckr;case 65:return skr;case 66:return vkr;case 67:return lkr;case 68:return bkr;case 69:return pkr;case 70:return mkr;case 71:return _kr;case 72:return ykr;case 73:return dkr;case 74:return hkr;case 75:return kkr;case 76:return wkr;case 77:return Ekr;case 78:return Skr;case 79:return gkr;case 80:return Fkr;case 81:return Tkr;case 82:return Okr;case 83:return Ikr;case 84:return Akr;case 85:return Nkr;case 86:return Ckr;case 87:return Pkr;case 88:return Dkr;case 89:return Lkr;case 90:return Rkr;default:return jkr}}if(31<=n)switch(n){case 31:return Nhr;case 32:return Chr;case 33:return Phr;case 34:return Dhr;case 35:return Lhr;case 36:return Rhr;case 37:return jhr;case 38:return Ghr;case 39:return Mhr;case 40:return Bhr;case 41:return qhr;case 42:return Uhr;case 43:return Hhr;case 44:return Xhr;case 45:return Yhr;case 46:return Vhr;case 47:return zhr;case 48:return Khr;case 49:return Whr;case 50:return Jhr;case 51:return $hr;case 52:return Zhr;case 53:return Qhr;case 54:return rkr;case 55:return ekr;case 56:return nkr;case 57:return tkr;case 58:return ukr;case 59:return ikr;default:return fkr}switch(n){case 0:return rhr;case 1:return ehr;case 2:return nhr;case 3:return thr;case 4:return uhr;case 5:return ihr;case 6:return fhr;case 7:return xhr;case 8:return ahr;case 9:return ohr;case 10:return chr;case 11:return shr;case 12:return vhr;case 13:return lhr;case 14:return bhr;case 15:return phr;case 16:return mhr;case 17:return _hr;case 18:return yhr;case 19:return dhr;case 20:return hhr;case 21:return khr;case 22:return whr;case 23:return Ehr;case 24:return Shr;case 25:return ghr;case 26:return Fhr;case 27:return Thr;case 28:return Ohr;case 29:return Ihr;default:return Ahr}}else switch(t[0]){case 0:return bwr;case 1:return pwr;case 2:return mwr;case 3:return _wr;case 4:return ywr;case 5:return dwr;case 6:return hwr;case 7:return kwr;case 8:return wwr;case 9:return Ewr;case 10:return Swr;default:return gwr}}function sL(t){if(typeof t=="number"){var n=t;if(61<=n){if(92<=n)switch(n){case 92:return hdr;case 93:return kdr;case 94:return wdr;case 95:return Edr;case 96:return Sdr;case 97:return gdr;case 98:return Fdr;case 99:return Tdr;case 100:return Odr;case 101:return Idr;case 102:return Adr;case 103:return Ndr;case 104:return Cdr;case 105:return Pdr;case 106:return Ddr;case 107:return Ldr;case 108:return Rdr;case 109:return jdr;case 110:return Gdr;case 111:return Mdr;case 112:return Bdr;case 113:return qdr;case 114:return Udr;case 115:return Hdr;case 116:return Xdr;case 117:return Ydr;case 118:return Vdr;case 119:return zdr;case 120:return Kdr;default:return Wdr}switch(n){case 61:return Hyr;case 62:return Xyr;case 63:return Yyr;case 64:return Vyr;case 65:return zyr;case 66:return Kyr;case 67:return Wyr;case 68:return Jyr;case 69:return $yr;case 70:return Zyr;case 71:return Qyr;case 72:return rdr;case 73:return edr;case 74:return ndr;case 75:return tdr;case 76:return udr;case 77:return idr;case 78:return fdr;case 79:return xdr;case 80:return adr;case 81:return odr;case 82:return cdr;case 83:return sdr;case 84:return vdr;case 85:return ldr;case 86:return bdr;case 87:return pdr;case 88:return mdr;case 89:return _dr;case 90:return ydr;default:return ddr}}if(31<=n)switch(n){case 31:return lyr;case 32:return byr;case 33:return pyr;case 34:return myr;case 35:return _yr;case 36:return yyr;case 37:return dyr;case 38:return hyr;case 39:return kyr;case 40:return wyr;case 41:return Eyr;case 42:return Syr;case 43:return gyr;case 44:return Fyr;case 45:return Tyr;case 46:return Oyr;case 47:return Iyr;case 48:return Ayr;case 49:return Nyr;case 50:return Cyr;case 51:return Pyr;case 52:return Dyr;case 53:return Lyr;case 54:return Ryr;case 55:return jyr;case 56:return Gyr;case 57:return Myr;case 58:return Byr;case 59:return qyr;default:return Uyr}switch(n){case 0:return R_r;case 1:return j_r;case 2:return G_r;case 3:return M_r;case 4:return B_r;case 5:return q_r;case 6:return U_r;case 7:return H_r;case 8:return X_r;case 9:return Y_r;case 10:return V_r;case 11:return z_r;case 12:return K_r;case 13:return W_r;case 14:return J_r;case 15:return $_r;case 16:return Z_r;case 17:return Q_r;case 18:return ryr;case 19:return eyr;case 20:return nyr;case 21:return tyr;case 22:return uyr;case 23:return iyr;case 24:return fyr;case 25:return xyr;case 26:return ayr;case 27:return oyr;case 28:return cyr;case 29:return syr;default:return vyr}}else switch(t[0]){case 2:return t[1][3];case 3:return t[1][2][3];case 5:var e=Te(Jdr,t[3]);return Te($dr,Te(t[2],e));case 9:return t[1]?Zdr:Qdr;case 0:case 1:return t[2];case 6:case 7:return t[1];default:return t[3]}}function Ml(t){return u(Qn(L_r),t)}function vL(t,n){var e=t&&t[1],i=0;if(typeof n=="number")if(Pn===n)var x=d_r,c=h_r;else i=1;else switch(n[0]){case 3:var x=k_r,c=w_r;break;case 5:var x=E_r,c=S_r;break;case 6:case 9:i=1;break;case 0:case 10:var x=F_r,c=T_r;break;case 1:case 11:var x=O_r,c=I_r;break;case 2:case 8:var x=A_r,c=N_r;break;default:var x=C_r,c=P_r}if(i)var x=g_r,c=Ml(sL(n));return e?Te(x,Te(D_r,c)):c}function lL(t){return 45>>0)var i=q(t);else switch(e){case 0:var i=1;break;case 1:var i=2;break;case 2:var i=0;break;default:if(B0(t,2),Gs(j(t))===0){var x=R1(j(t));if(x===0)if(Nn(j(t))===0&&Nn(j(t))===0)var c=Nn(j(t))!==0?1:0,i=c&&q(t);else var i=q(t);else if(x===1&&Nn(j(t))===0)for(;;){var s=N1(j(t));if(s!==0){var p=s!==1?1:0,i=p&&q(t);break}}else var i=q(t)}else var i=q(t)}if(2>>0)throw[0,wn,Fwr];switch(i){case 0:continue;case 1:return 1;default:if(iL(dr0(t)))continue;return kr0(t,1),0}}}function g9(t,n){var e=n-t[3][2]|0;return[0,Sr0(t),e]}function Hl(t,n,e){var i=g9(t,e),x=g9(t,n);return[0,t[1],x,i]}function Ru(t,n){return g9(t,n[6])}function y7(t,n){return g9(t,n[3])}function rt(t,n){return Hl(t,n[6],n[3])}function Wr0(t,n){var e=0;if(typeof n=="number")e=1;else switch(n[0]){case 2:var i=n[1][1];break;case 3:return n[1][1];case 4:var i=n[1];break;case 7:var i=n[2];break;case 5:case 8:return n[1];default:e=1}return e?rt(t,t[2]):i}function ju(t,n,e){return[0,t[1],t[2],t[3],t[4],t[5],[0,[0,n,e],t[6]],t[7]]}function Jr0(t,n,e){return ju(t,n,[10,Ml(e)])}function _L(t,n,e,i){return ju(t,n,[12,e,i])}function wi(t,n){return ju(t,n,QDr)}function d7(t,n){var e=n[3],i=[0,Sr0(t)+1|0,e];return[0,t[1],t[2],i,t[4],t[5],t[6],t[7]]}function $r0(t){var n=nn(t);return n!==0&&Ht===Ot(t,n-1|0)?p7(t,0,n-1|0):t}function Ei(t,n,e,i,x){var c=[0,t[1],n,e],s=Gt(i),p=x?0:1;return[0,c,[0,p,s,t[7][3][1]>>0)var y=q(i);else switch(p){case 0:var y=2;break;case 1:for(;;){B0(i,3);var T=j(i);if(-1>>0)return ke(XDr);switch(y){case 0:var S=Qr0(c,e,i,2,0),M=S[1],K=Bi(Te(YDr,S[2])),V=0<=K?1:0,f0=V&&(K<=55295?1:0);if(f0)var k0=f0;else var m0=57344<=K?1:0,k0=m0&&(K<=mI?1:0);var g0=k0?Zr0(c,M,K):ju(c,M,37);g1(x,K);var c=g0;continue;case 1:var e0=Qr0(c,e,i,3,1),x0=Bi(Te(VDr,e0[2])),l=Zr0(c,e0[1],x0);g1(x,x0);var c=l;continue;case 2:return[0,c,Gt(x)];default:Gl(i,x);continue}}}function Dt(t,n,e){var i=wi(t,rt(t,n));return $v(n),a(e,i,n)}function j1(t,n,e){for(var i=t;;){En(e);var x=j(e);if(-1>>0)var p=q(e);else switch(s){case 0:for(;;){B0(e,3);var y=j(e);if(-1>>0){var A=wi(i,rt(i,e));return[0,A,y7(A,e)]}switch(p){case 0:var S=d7(i,e);Gl(e,n);var i=S;continue;case 1:var M=i[4]?_L(i,rt(i,e),Iwr,Owr):i;return[0,M,y7(M,e)];case 2:if(i[4])return[0,i,y7(i,e)];mn(n,Awr);continue;default:Gl(e,n);continue}}}function e2(t,n,e){for(;;){En(e);var i=j(e),x=13>>0)var c=q(e);else switch(x){case 0:var c=0;break;case 1:for(;;){B0(e,2);var s=j(e);if(-1>>0)return ke(Nwr);switch(c){case 0:return[0,t,y7(t,e)];case 1:var T=y7(t,e),E=d7(t,e),h=$m(e);return[0,E,[0,T[1],T[2]-h|0]];default:Gl(e,n);continue}}}function ee0(t,n){function e(k0){return B0(k0,3),Vu(j(k0))===0?2:q(k0)}En(n);var i=j(n),x=fc>>0)var c=q(n);else switch(x){case 1:var c=16;break;case 2:var c=15;break;case 3:B0(n,15);var c=fi(j(n))===0?15:q(n);break;case 4:B0(n,4);var c=Vu(j(n))===0?e(n):q(n);break;case 5:B0(n,11);var c=Vu(j(n))===0?e(n):q(n);break;case 7:var c=5;break;case 8:var c=6;break;case 9:var c=7;break;case 10:var c=8;break;case 11:var c=9;break;case 12:B0(n,14);var s=R1(j(n));if(s===0)var c=Nn(j(n))===0&&Nn(j(n))===0&&Nn(j(n))===0?12:q(n);else if(s===1&&Nn(j(n))===0)for(;;){var p=N1(j(n));if(p!==0){var c=p===1?13:q(n);break}}else var c=q(n);break;case 13:var c=10;break;case 14:B0(n,14);var c=Nn(j(n))===0&&Nn(j(n))===0?1:q(n);break;default:var c=0}if(16>>0)return ke(ADr);switch(c){case 1:var y=Se(n);return[0,t,y,[0,Bi(Te(NDr,y))],0];case 2:var T=Se(n),E=Bi(Te(CDr,T));return C4<=E?[0,t,T,[0,E>>>3|0,48+(E&7)|0],1]:[0,t,T,[0,E],1];case 3:var h=Se(n);return[0,t,h,[0,Bi(Te(PDr,h))],1];case 4:return[0,t,DDr,[0,0],0];case 5:return[0,t,LDr,[0,8],0];case 6:return[0,t,RDr,[0,12],0];case 7:return[0,t,jDr,[0,10],0];case 8:return[0,t,GDr,[0,13],0];case 9:return[0,t,MDr,[0,9],0];case 10:return[0,t,BDr,[0,11],0];case 11:var w=Se(n);return[0,t,w,[0,Bi(Te(qDr,w))],1];case 12:var G=Se(n);return[0,t,G,[0,Bi(Te(UDr,p7(G,1,nn(G)-1|0)))],0];case 13:var A=Se(n),S=Bi(Te(HDr,p7(A,2,nn(A)-3|0))),M=mI>>0)var E=q(c);else switch(T){case 0:var E=3;break;case 1:for(;;){B0(c,4);var h=j(c);if(-1>>0)return ke(Cwr);switch(E){case 0:var A=Se(c);if(mn(i,A),qn(n,A))return[0,s,y7(s,c),p];mn(e,A);continue;case 1:mn(i,Pwr);var S=ee0(s,c),M=S[4],K=M||p;mn(i,S[2]);var V=S[3];hz(function(w0){return g1(e,w0)},V);var s=S[1],p=K;continue;case 2:var f0=Se(c);mn(i,f0);var m0=d7(wi(s,rt(s,c)),c);return mn(e,f0),[0,m0,y7(m0,c),p];case 3:var k0=Se(c);mn(i,k0);var g0=wi(s,rt(s,c));return mn(e,k0),[0,g0,y7(g0,c),p];default:var e0=c[6],x0=c[3]-e0|0,l=Pt(x0*4|0),c0=Rl(c[1],e0,x0,l);bN(i,l,0,c0),bN(e,l,0,c0);continue}}}function te0(t,n,e,i,x){for(var c=t;;){En(x);var s=j(x),p=96>>0)var y=q(x);else switch(p){case 0:var y=0;break;case 1:for(;;){B0(x,6);var T=j(x);if(-1>>0)return ke(Dwr);switch(y){case 0:return[0,wi(c,rt(c,x)),1];case 1:return qi(i,96),[0,c,1];case 2:return mn(i,Lwr),[0,c,0];case 3:qi(e,92),qi(i,92);var A=ee0(c,x),S=A[2];mn(e,S),mn(i,S);var M=A[3];hz(function(m0){return g1(n,m0)},M);var c=A[1];continue;case 4:mn(e,Rwr),mn(i,jwr),mn(n,Gwr);var c=d7(c,x);continue;case 5:var K=Se(x);mn(e,K),mn(i,K),qi(n,10);var c=d7(c,x);continue;default:var V=Se(x);mn(e,V),mn(i,V),mn(n,V);continue}}}function Kee(t,n){function e(U0){for(;;)if(B0(U0,33),_n(j(U0))!==0)return q(U0)}function i(U0){for(;;)if(B0(U0,27),_n(j(U0))!==0)return q(U0)}function x(U0){B0(U0,26);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,25),_n(j(U0))!==0)return q(U0)}return L0===1?i(U0):q(U0)}function c(U0){for(;;)if(B0(U0,27),_n(j(U0))!==0)return q(U0)}function s(U0){B0(U0,26);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,25),_n(j(U0))!==0)return q(U0)}return L0===1?c(U0):q(U0)}function p(U0){r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,28);var L0=qc(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return c(U0);case 1:continue;case 2:continue r;default:return s(U0)}}return q(U0)}}function y(U0){B0(U0,33);var L0=Hr0(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:var Re=P1(j(U0));if(Re===0)for(;;){B0(U0,28);var He=Qv(j(U0));if(2>>0)return q(U0);switch(He){case 0:return c(U0);case 1:continue;default:return s(U0)}}if(Re===1)for(;;){B0(U0,28);var he=qc(j(U0));if(3>>0)return q(U0);switch(he){case 0:return c(U0);case 1:continue;case 2:return p(U0);default:return s(U0)}}return q(U0);case 2:for(;;){B0(U0,28);var _e=Qv(j(U0));if(2<_e>>>0)return q(U0);switch(_e){case 0:return i(U0);case 1:continue;default:return x(U0)}}default:for(;;){B0(U0,28);var Zn=qc(j(U0));if(3>>0)return q(U0);switch(Zn){case 0:return i(U0);case 1:continue;case 2:return p(U0);default:return x(U0)}}}}function T(U0){B0(U0,31);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,29),_n(j(U0))!==0)return q(U0)}return L0===1?e(U0):q(U0)}function E(U0){return B0(U0,3),zr0(j(U0))===0?3:q(U0)}function h(U0){return _9(j(U0))===0&&l9(j(U0))===0&&Yr0(j(U0))===0&&Lr0(j(U0))===0&&Rr0(j(U0))===0&&pL(j(U0))===0&&Bl(j(U0))===0&&_9(j(U0))===0&&Gs(j(U0))===0&&jr0(j(U0))===0&&Ul(j(U0))===0?3:q(U0)}function w(U0){B0(U0,34);var L0=Pr0(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:for(;;){B0(U0,34);var Re=Rs(j(U0));if(4>>0)return q(U0);switch(Re){case 0:return e(U0);case 1:continue;case 2:return y(U0);case 3:r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,34);var He=Rs(j(U0));if(4>>0)return q(U0);switch(He){case 0:return e(U0);case 1:continue;case 2:return y(U0);case 3:continue r;default:return T(U0)}}return q(U0)}default:return T(U0)}}case 2:return y(U0);default:return T(U0)}}function G(U0){for(;;)if(B0(U0,19),_n(j(U0))!==0)return q(U0)}function A(U0){B0(U0,34);var L0=Qv(j(U0));if(2>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:for(;;){B0(U0,34);var Re=qc(j(U0));if(3>>0)return q(U0);switch(Re){case 0:return e(U0);case 1:continue;case 2:r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,34);var He=qc(j(U0));if(3>>0)return q(U0);switch(He){case 0:return e(U0);case 1:continue;case 2:continue r;default:return T(U0)}}return q(U0)}default:return T(U0)}}default:return T(U0)}}function S(U0){for(;;)if(B0(U0,17),_n(j(U0))!==0)return q(U0)}function M(U0){for(;;)if(B0(U0,17),_n(j(U0))!==0)return q(U0)}function K(U0){for(;;)if(B0(U0,11),_n(j(U0))!==0)return q(U0)}function V(U0){for(;;)if(B0(U0,11),_n(j(U0))!==0)return q(U0)}function f0(U0){for(;;)if(B0(U0,15),_n(j(U0))!==0)return q(U0)}function m0(U0){for(;;)if(B0(U0,15),_n(j(U0))!==0)return q(U0)}function k0(U0){for(;;)if(B0(U0,23),_n(j(U0))!==0)return q(U0)}function g0(U0){for(;;)if(B0(U0,23),_n(j(U0))!==0)return q(U0)}function e0(U0){B0(U0,32);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,30),_n(j(U0))!==0)return q(U0)}return L0===1?e(U0):q(U0)}function x0(U0){r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,34);var L0=qr0(j(U0));if(4>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:return A(U0);case 2:continue;case 3:continue r;default:return e0(U0)}}return q(U0)}}En(n);var l=j(n),c0=tf>>0)var t0=q(n);else switch(c0){case 0:var t0=98;break;case 1:var t0=99;break;case 2:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var t0=q(n);break}}else var t0=q(n);break;case 3:var t0=0;break;case 4:B0(n,0);var a0=fi(j(n))!==0?1:0,t0=a0&&q(n);break;case 5:B0(n,88);var t0=Ui(j(n))===0?(B0(n,58),Ui(j(n))===0?54:q(n)):q(n);break;case 6:var t0=7;break;case 7:B0(n,95);var w0=j(n),_0=32>>0)var t0=q(n);else switch(b){case 0:B0(n,83);var t0=Ui(j(n))===0?70:q(n);break;case 1:var t0=4;break;default:var t0=69}break;case 14:B0(n,80);var G0=j(n),X=42>>0)var t0=q(n);else switch(ar){case 0:var t0=e(n);break;case 1:continue;case 2:var t0=y(n);break;case 3:r:for(;;){if(vn(j(n))===0)for(;;){B0(n,34);var W0=Rs(j(n));if(4>>0)var Lr=q(n);else switch(W0){case 0:var Lr=e(n);break;case 1:continue;case 2:var Lr=y(n);break;case 3:continue r;default:var Lr=T(n)}break}else var Lr=q(n);var t0=Lr;break}break;default:var t0=T(n)}break}else var t0=q(n);break;case 18:B0(n,93);var Tr=Dr0(j(n));if(2>>0)var t0=q(n);else switch(Tr){case 0:B0(n,2);var Hr=f9(j(n));if(2


>>0)var t0=q(n);else switch(Hr){case 0:for(;;){var Or=f9(j(n));if(2>>0)var t0=q(n);else switch(Or){case 0:continue;case 1:var t0=E(n);break;default:var t0=h(n)}break}break;case 1:var t0=E(n);break;default:var t0=h(n)}break;case 1:var t0=5;break;default:var t0=92}break;case 19:B0(n,34);var xr=mL(j(n));if(8>>0)var t0=q(n);else switch(xr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:for(;;){B0(n,20);var Rr=Xr0(j(n));if(4>>0)var t0=q(n);else switch(Rr){case 0:var t0=G(n);break;case 1:var t0=A(n);break;case 2:continue;case 3:for(;;){B0(n,18);var Wr=i9(j(n));if(3>>0)var t0=q(n);else switch(Wr){case 0:var t0=S(n);break;case 1:var t0=A(n);break;case 2:continue;default:B0(n,17);var Jr=Mt(j(n));if(Jr===0){for(;;)if(B0(n,17),_n(j(n))!==0){var t0=q(n);break}}else var t0=Jr===1?S(n):q(n)}break}break;default:B0(n,19);var or=Mt(j(n));if(or===0){for(;;)if(B0(n,19),_n(j(n))!==0){var t0=q(n);break}}else var t0=or===1?G(n):q(n)}break}break;case 3:for(;;){B0(n,18);var _r=i9(j(n));if(3<_r>>>0)var t0=q(n);else switch(_r){case 0:var t0=M(n);break;case 1:var t0=A(n);break;case 2:continue;default:B0(n,17);var Ir=Mt(j(n));if(Ir===0){for(;;)if(B0(n,17),_n(j(n))!==0){var t0=q(n);break}}else var t0=Ir===1?M(n):q(n)}break}break;case 4:B0(n,33);var fe=Gr0(j(n));if(fe===0)var t0=e(n);else if(fe===1)for(;;){B0(n,12);var v0=w9(j(n));if(3>>0)var t0=q(n);else switch(v0){case 0:var t0=K(n);break;case 1:continue;case 2:r:for(;;){if(Bc(j(n))===0)for(;;){B0(n,12);var P=w9(j(n));if(3

>>0)var Q=q(n);else switch(P){case 0:var Q=V(n);break;case 1:continue;case 2:continue r;default:B0(n,10);var L=Mt(j(n));if(L===0){for(;;)if(B0(n,9),_n(j(n))!==0){var Q=q(n);break}}else var Q=L===1?V(n):q(n)}break}else var Q=q(n);var t0=Q;break}break;default:B0(n,10);var i0=Mt(j(n));if(i0===0){for(;;)if(B0(n,9),_n(j(n))!==0){var t0=q(n);break}}else var t0=i0===1?K(n):q(n)}break}else var t0=q(n);break;case 5:var t0=y(n);break;case 6:B0(n,33);var l0=Mr0(j(n));if(l0===0)var t0=e(n);else if(l0===1)for(;;){B0(n,16);var S0=h9(j(n));if(3>>0)var t0=q(n);else switch(S0){case 0:var t0=f0(n);break;case 1:continue;case 2:r:for(;;){if(Vu(j(n))===0)for(;;){B0(n,16);var T0=h9(j(n));if(3>>0)var R0=q(n);else switch(T0){case 0:var R0=m0(n);break;case 1:continue;case 2:continue r;default:B0(n,14);var rr=Mt(j(n));if(rr===0){for(;;)if(B0(n,13),_n(j(n))!==0){var R0=q(n);break}}else var R0=rr===1?m0(n):q(n)}break}else var R0=q(n);var t0=R0;break}break;default:B0(n,14);var B=Mt(j(n));if(B===0){for(;;)if(B0(n,13),_n(j(n))!==0){var t0=q(n);break}}else var t0=B===1?f0(n):q(n)}break}else var t0=q(n);break;case 7:B0(n,33);var Z=Or0(j(n));if(Z===0)var t0=e(n);else if(Z===1)for(;;){B0(n,24);var p0=E9(j(n));if(3>>0)var t0=q(n);else switch(p0){case 0:var t0=k0(n);break;case 1:continue;case 2:r:for(;;){if(Nn(j(n))===0)for(;;){B0(n,24);var b0=E9(j(n));if(3>>0)var q0=q(n);else switch(b0){case 0:var q0=g0(n);break;case 1:continue;case 2:continue r;default:B0(n,22);var O0=Mt(j(n));if(O0===0){for(;;)if(B0(n,21),_n(j(n))!==0){var q0=q(n);break}}else var q0=O0===1?g0(n):q(n)}break}else var q0=q(n);var t0=q0;break}break;default:B0(n,22);var er=Mt(j(n));if(er===0){for(;;)if(B0(n,21),_n(j(n))!==0){var t0=q(n);break}}else var t0=er===1?k0(n):q(n)}break}else var t0=q(n);break;default:var t0=e0(n)}break;case 20:B0(n,34);var yr=o9(j(n));if(5>>0)var t0=q(n);else switch(yr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:for(;;){B0(n,34);var vr=o9(j(n));if(5>>0)var t0=q(n);else switch(vr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:continue;case 3:var t0=y(n);break;case 4:var t0=x0(n);break;default:var t0=e0(n)}break}break;case 3:var t0=y(n);break;case 4:var t0=x0(n);break;default:var t0=e0(n)}break;case 21:var t0=46;break;case 22:var t0=44;break;case 23:B0(n,78);var $0=j(n),Sr=59<$0?61<$0?-1:Vr(tN,$0-60|0)-1|0:-1,t0=Sr===0?(B0(n,62),Ui(j(n))===0?61:q(n)):Sr===1?55:q(n);break;case 24:B0(n,90);var Mr=bL(j(n)),t0=Mr===0?(B0(n,57),Ui(j(n))===0?53:q(n)):Mr===1?91:q(n);break;case 25:B0(n,79);var Br=bL(j(n));if(Br===0)var t0=56;else if(Br===1){B0(n,66);var qr=bL(j(n)),t0=qr===0?63:qr===1?(B0(n,65),Ui(j(n))===0?64:q(n)):q(n)}else var t0=q(n);break;case 26:B0(n,50);var jr=j(n),$r=45>>0)return ke(TPr);var I=t0;if(50<=I)switch(I){case 50:return[0,t,85];case 51:return[0,t,88];case 52:return[0,t,87];case 53:return[0,t,94];case 54:return[0,t,95];case 55:return[0,t,96];case 56:return[0,t,97];case 57:return[0,t,92];case 58:return[0,t,93];case 59:return[0,t,vf];case 60:return[0,t,F7];case 61:return[0,t,69];case 62:return[0,t,ni];case 63:return[0,t,68];case 64:return[0,t,67];case 65:return[0,t,Ri];case 66:return[0,t,L7];case 67:return[0,t,78];case 68:return[0,t,77];case 69:return[0,t,75];case 70:return[0,t,76];case 71:return[0,t,73];case 72:return[0,t,72];case 73:return[0,t,71];case 74:return[0,t,70];case 75:return[0,t,79];case 76:return[0,t,80];case 77:return[0,t,81];case 78:return[0,t,98];case 79:return[0,t,99];case 80:return[0,t,c7];case 81:return[0,t,D7];case 82:return[0,t,Xt];case 83:return[0,t,Qc];case 84:return[0,t,fs];case 85:return[0,t,89];case 86:return[0,t,91];case 87:return[0,t,90];case 88:return[0,t,Fv];case 89:return[0,t,Ht];case 90:return[0,t,82];case 91:return[0,t,11];case 92:return[0,t,74];case 93:return[0,t,R7];case 94:return[0,t,13];case 95:return[0,t,14];case 96:return[2,wi(t,rt(t,n))];case 97:var U=n[6];Kr0(n);var Y=Hl(t,U,n[3]);fL(n,U);var y0=Ll(n),D0=re0(t,y0),I0=D0[2],D=Ee(I0,PPr);if(0<=D){if(!(0>>0)var _e=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Bc(j(L0))===0)for(;;){var He=t9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var _e=he;break}break;default:var _e=0}break}else var _e=q(L0);return _e===0?[0,U0,[1,0,Se(L0)]]:ke(FPr)});case 10:return[0,t,[1,0,Se(n)]];case 11:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&s9(j(L0))===0&&Bc(j(L0))===0)for(;;){B0(L0,0);var Re=n9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Bc(j(L0))===0)for(;;){B0(L0,0);var He=n9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var _e=he;break}else var _e=q(L0);break}}else var _e=q(L0);return _e===0?[0,U0,[0,0,Se(L0)]]:ke(gPr)});case 12:return[0,t,[0,0,Se(n)]];case 13:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&p9(j(L0))===0&&Vu(j(L0))===0)for(;;){var Re=c9(j(L0));if(2>>0)var _e=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Vu(j(L0))===0)for(;;){var He=c9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var _e=he;break}break;default:var _e=0}break}else var _e=q(L0);return _e===0?[0,U0,[1,1,Se(L0)]]:ke(SPr)});case 14:return[0,t,[1,1,Se(n)]];case 15:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&p9(j(L0))===0&&Vu(j(L0))===0)for(;;){B0(L0,0);var Re=a9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Vu(j(L0))===0)for(;;){B0(L0,0);var He=a9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var _e=he;break}else var _e=q(L0);break}}else var _e=q(L0);return _e===0?[0,U0,[0,3,Se(L0)]]:ke(EPr)});case 16:return[0,t,[0,3,Se(n)]];case 17:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0)for(;;){var Re=j(L0),He=47>>0)var _e=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Nn(j(L0))===0)for(;;){var He=u9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var _e=he;break}break;default:var _e=0}break}else var _e=q(L0);return _e===0?[0,U0,[1,2,Se(L0)]]:ke(hPr)});case 23:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&Qm(j(L0))===0&&Nn(j(L0))===0)for(;;){B0(L0,0);var Re=y9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Nn(j(L0))===0)for(;;){B0(L0,0);var He=y9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var _e=he;break}else var _e=q(L0);break}}else var _e=q(L0);return _e===0?[0,U0,[0,4,Se(L0)]]:ke(dPr)});case 25:return Dt(t,n,function(U0,L0){function Re(cn){for(;;){var tt=ki(j(cn));if(2>>0)return q(cn);switch(tt){case 0:continue;case 1:r:for(;;){if(vn(j(cn))===0)for(;;){var Tt=ki(j(cn));if(2>>0)return q(cn);switch(Tt){case 0:continue;case 1:continue r;default:return 0}}return q(cn)}default:return 0}}}function He(cn){for(;;){var tt=r2(j(cn));if(tt!==0){var Tt=tt!==1?1:0;return Tt&&q(cn)}}}function he(cn){var tt=S9(j(cn));if(2>>0)return q(cn);switch(tt){case 0:var Tt=P1(j(cn));return Tt===0?He(cn):Tt===1?Re(cn):q(cn);case 1:return He(cn);default:return Re(cn)}}function _e(cn){var tt=m9(j(cn));if(tt===0)for(;;){var Tt=i7(j(cn));if(2>>0)return q(cn);switch(Tt){case 0:continue;case 1:return he(cn);default:r:for(;;){if(vn(j(cn))===0)for(;;){var Fi=i7(j(cn));if(2>>0)return q(cn);switch(Fi){case 0:continue;case 1:return he(cn);default:continue r}}return q(cn)}}}return tt===1?he(cn):q(cn)}En(L0);var Zn=r9(j(L0));if(2>>0)var dn=q(L0);else switch(Zn){case 0:if(vn(j(L0))===0)for(;;){var it=i7(j(L0));if(2>>0)var dn=q(L0);else switch(it){case 0:continue;case 1:var dn=he(L0);break;default:r:for(;;){if(vn(j(L0))===0)for(;;){var ft=i7(j(L0));if(2>>0)var Rn=q(L0);else switch(ft){case 0:continue;case 1:var Rn=he(L0);break;default:continue r}break}else var Rn=q(L0);var dn=Rn;break}}break}else var dn=q(L0);break;case 1:var nt=e9(j(L0)),dn=nt===0?_e(L0):nt===1?he(L0):q(L0);break;default:for(;;){var ht=b9(j(L0));if(2>>0)var dn=q(L0);else switch(ht){case 0:var dn=_e(L0);break;case 1:continue;default:var dn=he(L0)}break}}if(dn===0){var tn=ju(U0,rt(U0,L0),23);return[0,tn,[1,2,Se(L0)]]}return ke(yPr)});case 26:var Mu=ju(t,rt(t,n),23);return[0,Mu,[1,2,Se(n)]];case 27:return Dt(t,n,function(U0,L0){function Re(tn){for(;;){B0(tn,0);var cn=js(j(tn));if(cn!==0){if(cn===1)r:for(;;){if(vn(j(tn))===0)for(;;){B0(tn,0);var tt=js(j(tn));if(tt!==0){if(tt===1)continue r;return q(tn)}}return q(tn)}return q(tn)}}}function He(tn){for(;;)if(B0(tn,0),vn(j(tn))!==0)return q(tn)}function he(tn){var cn=S9(j(tn));if(2>>0)return q(tn);switch(cn){case 0:var tt=P1(j(tn));return tt===0?He(tn):tt===1?Re(tn):q(tn);case 1:return He(tn);default:return Re(tn)}}function _e(tn){var cn=m9(j(tn));if(cn===0)for(;;){var tt=i7(j(tn));if(2>>0)return q(tn);switch(tt){case 0:continue;case 1:return he(tn);default:r:for(;;){if(vn(j(tn))===0)for(;;){var Tt=i7(j(tn));if(2>>0)return q(tn);switch(Tt){case 0:continue;case 1:return he(tn);default:continue r}}return q(tn)}}}return cn===1?he(tn):q(tn)}En(L0);var Zn=r9(j(L0));if(2>>0)var dn=q(L0);else switch(Zn){case 0:if(vn(j(L0))===0)for(;;){var it=i7(j(L0));if(2>>0)var dn=q(L0);else switch(it){case 0:continue;case 1:var dn=he(L0);break;default:r:for(;;){if(vn(j(L0))===0)for(;;){var ft=i7(j(L0));if(2>>0)var Rn=q(L0);else switch(ft){case 0:continue;case 1:var Rn=he(L0);break;default:continue r}break}else var Rn=q(L0);var dn=Rn;break}}break}else var dn=q(L0);break;case 1:var nt=e9(j(L0)),dn=nt===0?_e(L0):nt===1?he(L0):q(L0);break;default:for(;;){var ht=b9(j(L0));if(2>>0)var dn=q(L0);else switch(ht){case 0:var dn=_e(L0);break;case 1:continue;default:var dn=he(L0)}break}}return dn===0?[0,U0,[0,4,Se(L0)]]:ke(_Pr)});case 29:return Dt(t,n,function(U0,L0){function Re(nt){for(;;){var ht=ki(j(nt));if(2>>0)return q(nt);switch(ht){case 0:continue;case 1:r:for(;;){if(vn(j(nt))===0)for(;;){var tn=ki(j(nt));if(2>>0)return q(nt);switch(tn){case 0:continue;case 1:continue r;default:return 0}}return q(nt)}default:return 0}}}function He(nt){var ht=r2(j(nt));if(ht===0)return Re(nt);var tn=ht!==1?1:0;return tn&&q(nt)}En(L0);var he=r9(j(L0));if(2>>0)var _e=q(L0);else switch(he){case 0:var _e=vn(j(L0))===0?Re(L0):q(L0);break;case 1:for(;;){var Zn=L1(j(L0));if(Zn===0)var _e=He(L0);else{if(Zn===1)continue;var _e=q(L0)}break}break;default:for(;;){var dn=Uc(j(L0));if(2>>0)var _e=q(L0);else switch(dn){case 0:var _e=He(L0);break;case 1:continue;default:r:for(;;){if(vn(j(L0))===0)for(;;){var it=Uc(j(L0));if(2>>0)var ft=q(L0);else switch(it){case 0:var ft=He(L0);break;case 1:continue;default:continue r}break}else var ft=q(L0);var _e=ft;break}}break}}if(_e===0){var Rn=ju(U0,rt(U0,L0),22);return[0,Rn,[1,2,Se(L0)]]}return ke(mPr)});case 30:return Dt(t,n,function(U0,L0){En(L0);var Re=P1(j(L0));if(Re===0)for(;;){var He=r2(j(L0));if(He!==0){var he=He!==1?1:0,it=he&&q(L0);break}}else if(Re===1)for(;;){var _e=ki(j(L0));if(2<_e>>>0)var it=q(L0);else switch(_e){case 0:continue;case 1:r:for(;;){if(vn(j(L0))===0)for(;;){var Zn=ki(j(L0));if(2>>0)var dn=q(L0);else switch(Zn){case 0:continue;case 1:continue r;default:var dn=0}break}else var dn=q(L0);var it=dn;break}break;default:var it=0}break}else var it=q(L0);return it===0?[0,U0,[1,2,Se(L0)]]:ke(pPr)});case 31:var z7=ju(t,rt(t,n),22);return[0,z7,[1,2,Se(n)]];case 33:return Dt(t,n,function(U0,L0){function Re(Rn){for(;;){B0(Rn,0);var nt=js(j(Rn));if(nt!==0){if(nt===1)r:for(;;){if(vn(j(Rn))===0)for(;;){B0(Rn,0);var ht=js(j(Rn));if(ht!==0){if(ht===1)continue r;return q(Rn)}}return q(Rn)}return q(Rn)}}}function He(Rn){return B0(Rn,0),vn(j(Rn))===0?Re(Rn):q(Rn)}En(L0);var he=r9(j(L0));if(2>>0)var _e=q(L0);else switch(he){case 0:var _e=vn(j(L0))===0?Re(L0):q(L0);break;case 1:for(;;){B0(L0,0);var Zn=L1(j(L0));if(Zn===0)var _e=He(L0);else{if(Zn===1)continue;var _e=q(L0)}break}break;default:for(;;){B0(L0,0);var dn=Uc(j(L0));if(2>>0)var _e=q(L0);else switch(dn){case 0:var _e=He(L0);break;case 1:continue;default:r:for(;;){if(vn(j(L0))===0)for(;;){B0(L0,0);var it=Uc(j(L0));if(2>>0)var ft=q(L0);else switch(it){case 0:var ft=He(L0);break;case 1:continue;default:continue r}break}else var ft=q(L0);var _e=ft;break}}break}}return _e===0?[0,U0,[0,4,Se(L0)]]:ke(bPr)});case 35:var Yi=rt(t,n),a7=Se(n);return[0,t,[4,Yi,a7,a7]];case 36:return[0,t,0];case 37:return[0,t,1];case 38:return[0,t,4];case 39:return[0,t,5];case 40:return[0,t,6];case 41:return[0,t,7];case 42:return[0,t,12];case 43:return[0,t,10];case 44:return[0,t,8];case 45:return[0,t,9];case 46:return[0,t,86];case 47:$v(n),En(n);var Yc=j(n),K7=62>>0)var x=q(n);else switch(i){case 0:var x=0;break;case 1:var x=6;break;case 2:if(B0(n,2),Mc(j(n))===0){for(;;)if(B0(n,2),Mc(j(n))!==0){var x=q(n);break}}else var x=q(n);break;case 3:var x=1;break;case 4:B0(n,1);var x=fi(j(n))===0?1:q(n);break;default:B0(n,5);var c=k9(j(n)),x=c===0?4:c===1?3:q(n)}if(6>>0)return ke(lPr);switch(x){case 0:return[0,t,Pn];case 1:return[2,d7(t,n)];case 2:return[2,t];case 3:var s=Ru(t,n),p=$n(zn),y=e2(t,p,n),T=y[1];return[1,T,Ei(T,s,y[2],p,0)];case 4:var E=Ru(t,n),h=$n(zn),w=j1(t,h,n),G=w[1];return[1,G,Ei(G,E,w[2],h,1)];case 5:var A=Ru(t,n),S=$n(zn),M=t;r:for(;;){En(n);var K=j(n),V=92>>0)var f0=q(n);else switch(V){case 0:var f0=0;break;case 1:for(;;){B0(n,7);var m0=j(n);if(-1>>0)var f0=q(n);else switch(l){case 0:var f0=2;break;case 1:var f0=1;break;default:B0(n,1);var f0=fi(j(n))===0?1:q(n)}}if(7>>0)var c0=ke(qwr);else switch(f0){case 0:var c0=[0,ju(M,rt(M,n),25),Uwr];break;case 1:var c0=[0,d7(ju(M,rt(M,n),25),n),Hwr];break;case 3:var t0=Se(n),c0=[0,M,p7(t0,1,nn(t0)-1|0)];break;case 4:var c0=[0,M,Xwr];break;case 5:for(qi(S,91);;){En(n);var a0=j(n),w0=93>>0)var _0=q(n);else switch(w0){case 0:var _0=0;break;case 1:for(;;){B0(n,4);var E0=j(n);if(-1>>0)var s0=ke(Mwr);else switch(_0){case 0:var s0=M;break;case 1:mn(S,Bwr);continue;case 2:qi(S,92),qi(S,93);continue;case 3:qi(S,93);var s0=M;break;default:mn(S,Se(n));continue}var M=s0;continue r}case 6:var c0=[0,d7(ju(M,rt(M,n),25),n),Ywr];break;default:mn(S,Se(n));continue}var dr=c0[1],Ar=y7(dr,n),ar=[0,dr[1],A,Ar],W0=c0[2];return[0,dr,[5,ar,Gt(S),W0]]}default:var Lr=wi(t,rt(t,n));return[0,Lr,[6,Se(n)]]}}function yL(t,n,e,i,x){for(var c=t;;){var s=function(Cn){for(;;)if(B0(Cn,6),Nr0(j(Cn))!==0)return q(Cn)};En(x);var p=j(x),y=br>>0)var T=q(x);else switch(y){case 0:var T=1;break;case 1:var T=s(x);break;case 2:var T=2;break;case 3:B0(x,2);var T=fi(j(x))===0?2:q(x);break;case 4:var T=0;break;case 5:B0(x,6);var E=j(x),h=34>>0)return ke(Vwr);switch(T){case 0:var c0=Se(x),t0=0;switch(n){case 0:n0(c0,zwr)||(t0=1);break;case 1:n0(c0,Kwr)||(t0=1);break;default:var a0=0;if(n0(c0,Wwr)){if(!n0(c0,Jwr))return _L(c,rt(c,x),nEr,eEr);if(n0(c0,$wr)){if(!n0(c0,Zwr))return _L(c,rt(c,x),rEr,Qwr);a0=1}}if(!a0)return $v(x),c}if(t0)return c;mn(i,c0),mn(e,c0);continue;case 1:return wi(c,rt(c,x));case 2:var w0=Se(x);mn(i,w0),mn(e,w0);var c=d7(c,x);continue;case 3:var _0=Se(x),E0=p7(_0,3,nn(_0)-4|0);mn(i,_0),g1(e,Bi(Te(tEr,E0)));continue;case 4:var X0=Se(x),b=p7(X0,2,nn(X0)-3|0);mn(i,X0),g1(e,Bi(b));continue;case 5:var G0=Se(x),X=p7(G0,1,nn(G0)-2|0);mn(i,G0);var s0=Ee(X,uEr),dr=0;if(0<=s0)if(0>>0)var x=q(n);else switch(i){case 0:var x=0;break;case 1:var x=14;break;case 2:if(B0(n,2),Mc(j(n))===0){for(;;)if(B0(n,2),Mc(j(n))!==0){var x=q(n);break}}else var x=q(n);break;case 3:var x=1;break;case 4:B0(n,1);var x=fi(j(n))===0?1:q(n);break;case 5:var x=12;break;case 6:var x=13;break;case 7:var x=10;break;case 8:B0(n,6);var c=k9(j(n)),x=c===0?4:c===1?3:q(n);break;case 9:var x=9;break;case 10:var x=5;break;case 11:var x=11;break;case 12:var x=7;break;case 13:if(B0(n,14),Gs(j(n))===0){var s=R1(j(n));if(s===0)var x=Nn(j(n))===0&&Nn(j(n))===0&&Nn(j(n))===0?13:q(n);else if(s===1&&Nn(j(n))===0)for(;;){var p=N1(j(n));if(p!==0){var x=p===1?13:q(n);break}}else var x=q(n)}else var x=q(n);break;default:var x=8}if(14>>0)return ke(sPr);switch(x){case 0:return[0,t,Pn];case 1:return[2,d7(t,n)];case 2:return[2,t];case 3:var y=Ru(t,n),T=$n(zn),E=e2(t,T,n),h=E[1];return[1,h,Ei(h,y,E[2],T,0)];case 4:var w=Ru(t,n),G=$n(zn),A=j1(t,G,n),S=A[1];return[1,S,Ei(S,w,A[2],G,1)];case 5:return[0,t,98];case 6:return[0,t,R7];case 7:return[0,t,99];case 8:return[0,t,0];case 9:return[0,t,86];case 10:return[0,t,10];case 11:return[0,t,82];case 12:var M=Se(n),K=Ru(t,n),V=$n(zn),f0=$n(zn);mn(f0,M);var m0=qn(M,vPr)?0:1,k0=yL(t,m0,V,f0,n),g0=y7(k0,n);mn(f0,M);var e0=Gt(V),x0=Gt(f0);return[0,k0,[8,[0,k0[1],K,g0],e0,x0]];case 13:for(var l=n[6];;){En(n);var c0=j(n),t0=In>>0)var a0=q(n);else switch(t0){case 0:var a0=1;break;case 1:var a0=2;break;case 2:var a0=0;break;default:if(B0(n,2),Gs(j(n))===0){var w0=R1(j(n));if(w0===0)if(Nn(j(n))===0&&Nn(j(n))===0)var _0=Nn(j(n))!==0?1:0,a0=_0&&q(n);else var a0=q(n);else if(w0===1&&Nn(j(n))===0)for(;;){var E0=N1(j(n));if(E0!==0){var X0=E0!==1?1:0,a0=X0&&q(n);break}}else var a0=q(n)}else var a0=q(n)}if(2>>0)throw[0,wn,Twr];switch(a0){case 0:continue;case 1:break;default:if(iL(dr0(n)))continue;kr0(n,1)}var b=n[3];fL(n,l);var G0=Ll(n),X=Hl(t,l,b);return[0,t,[7,xL(G0),X]]}default:return[0,t,[6,Se(n)]]}}function $ee(t,n){En(n);var e=j(n);if(-1>>0)var E=q(n);else switch(T){case 0:var E=5;break;case 1:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var E=q(n);break}}else var E=q(n);break;case 2:var E=0;break;case 3:B0(n,0);var h=fi(j(n))!==0?1:0,E=h&&q(n);break;case 4:B0(n,5);var w=k9(j(n)),E=w===0?3:w===1?2:q(n);break;default:var E=4}if(5>>0)return ke(aPr);switch(E){case 0:return[2,d7(t,n)];case 1:return[2,t];case 2:var G=Ru(t,n),A=$n(zn),S=e2(t,A,n),M=S[1];return[1,M,Ei(M,G,S[2],A,0)];case 3:var K=Ru(t,n),V=$n(zn),f0=j1(t,V,n),m0=f0[1];return[1,m0,Ei(m0,K,f0[2],V,1)];case 4:var k0=Ru(t,n),g0=$n(zn),e0=$n(zn),x0=$n(zn);mn(x0,oPr);var l=te0(t,g0,e0,x0,n),c0=l[1],t0=y7(c0,n),a0=[0,c0[1],k0,t0],w0=l[2],_0=Gt(x0),E0=Gt(e0);return[0,c0,[3,[0,a0,[0,Gt(g0),E0,_0],w0]]];default:var X0=wi(t,rt(t,n));return[0,X0,[3,[0,rt(X0,n),cPr,1]]]}}function Zee(t,n){function e(D){for(;;)if(B0(D,29),_n(j(D))!==0)return q(D)}function i(D){B0(D,27);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,25),_n(j(D))!==0)return q(D)}return u0===1?e(D):q(D)}function x(D){for(;;)if(B0(D,23),_n(j(D))!==0)return q(D)}function c(D){B0(D,22);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,21),_n(j(D))!==0)return q(D)}return u0===1?x(D):q(D)}function s(D){for(;;)if(B0(D,23),_n(j(D))!==0)return q(D)}function p(D){B0(D,22);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,21),_n(j(D))!==0)return q(D)}return u0===1?s(D):q(D)}function y(D){r:for(;;){if(vn(j(D))===0)for(;;){B0(D,24);var u0=qc(j(D));if(3>>0)return q(D);switch(u0){case 0:return s(D);case 1:continue;case 2:continue r;default:return p(D)}}return q(D)}}function T(D){B0(D,29);var u0=Hr0(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:var Y0=P1(j(D));if(Y0===0)for(;;){B0(D,24);var J0=Qv(j(D));if(2>>0)return q(D);switch(J0){case 0:return s(D);case 1:continue;default:return p(D)}}if(Y0===1)for(;;){B0(D,24);var fr=qc(j(D));if(3>>0)return q(D);switch(fr){case 0:return s(D);case 1:continue;case 2:return y(D);default:return p(D)}}return q(D);case 2:for(;;){B0(D,24);var Q0=Qv(j(D));if(2>>0)return q(D);switch(Q0){case 0:return x(D);case 1:continue;default:return c(D)}}default:for(;;){B0(D,24);var F0=qc(j(D));if(3>>0)return q(D);switch(F0){case 0:return x(D);case 1:continue;case 2:return y(D);default:return c(D)}}}}function E(D){for(;;){B0(D,30);var u0=Rs(j(D));if(4>>0)return q(D);switch(u0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var Y0=Rs(j(D));if(4>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:continue r;default:return i(D)}}return q(D)}default:return i(D)}}}function h(D){return vn(j(D))===0?E(D):q(D)}function w(D){for(;;)if(B0(D,19),_n(j(D))!==0)return q(D)}function G(D){for(;;)if(B0(D,19),_n(j(D))!==0)return q(D)}function A(D){B0(D,29);var u0=Or0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,20);var Y0=E9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return G(D);case 1:continue;case 2:r:for(;;){if(Nn(j(D))===0)for(;;){B0(D,20);var J0=E9(j(D));if(3>>0)return q(D);switch(J0){case 0:return w(D);case 1:continue;case 2:continue r;default:B0(D,18);var fr=Mt(j(D));if(fr===0){for(;;)if(B0(D,17),_n(j(D))!==0)return q(D)}return fr===1?w(D):q(D)}}return q(D)}default:B0(D,18);var Q0=Mt(j(D));if(Q0===0){for(;;)if(B0(D,17),_n(j(D))!==0)return q(D)}return Q0===1?G(D):q(D)}}return q(D)}function S(D){for(;;)if(B0(D,13),_n(j(D))!==0)return q(D)}function M(D){for(;;)if(B0(D,13),_n(j(D))!==0)return q(D)}function K(D){B0(D,29);var u0=Mr0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,14);var Y0=h9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return M(D);case 1:continue;case 2:r:for(;;){if(Vu(j(D))===0)for(;;){B0(D,14);var J0=h9(j(D));if(3>>0)return q(D);switch(J0){case 0:return S(D);case 1:continue;case 2:continue r;default:B0(D,12);var fr=Mt(j(D));if(fr===0){for(;;)if(B0(D,11),_n(j(D))!==0)return q(D)}return fr===1?S(D):q(D)}}return q(D)}default:B0(D,12);var Q0=Mt(j(D));if(Q0===0){for(;;)if(B0(D,11),_n(j(D))!==0)return q(D)}return Q0===1?M(D):q(D)}}return q(D)}function V(D){for(;;)if(B0(D,9),_n(j(D))!==0)return q(D)}function f0(D){for(;;)if(B0(D,9),_n(j(D))!==0)return q(D)}function m0(D){B0(D,29);var u0=Gr0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,10);var Y0=w9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return f0(D);case 1:continue;case 2:r:for(;;){if(Bc(j(D))===0)for(;;){B0(D,10);var J0=w9(j(D));if(3>>0)return q(D);switch(J0){case 0:return V(D);case 1:continue;case 2:continue r;default:B0(D,8);var fr=Mt(j(D));if(fr===0){for(;;)if(B0(D,7),_n(j(D))!==0)return q(D)}return fr===1?V(D):q(D)}}return q(D)}default:B0(D,8);var Q0=Mt(j(D));if(Q0===0){for(;;)if(B0(D,7),_n(j(D))!==0)return q(D)}return Q0===1?f0(D):q(D)}}return q(D)}function k0(D){B0(D,28);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,26),_n(j(D))!==0)return q(D)}return u0===1?e(D):q(D)}function g0(D){B0(D,30);var u0=Qv(j(D));if(2>>0)return q(D);switch(u0){case 0:return e(D);case 1:for(;;){B0(D,30);var Y0=qc(j(D));if(3>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var J0=qc(j(D));if(3>>0)return q(D);switch(J0){case 0:return e(D);case 1:continue;case 2:continue r;default:return i(D)}}return q(D)}default:return i(D)}}default:return i(D)}}function e0(D){for(;;){B0(D,30);var u0=i9(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:return g0(D);case 2:continue;default:return k0(D)}}}function x0(D){for(;;)if(B0(D,15),_n(j(D))!==0)return q(D)}function l(D){B0(D,15);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,15),_n(j(D))!==0)return q(D)}return u0===1?x0(D):q(D)}function c0(D){for(;;){B0(D,16);var u0=Xr0(j(D));if(4>>0)return q(D);switch(u0){case 0:return x0(D);case 1:return g0(D);case 2:continue;case 3:for(;;){B0(D,15);var Y0=i9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return x0(D);case 1:return g0(D);case 2:continue;default:return l(D)}}default:return l(D)}}}function t0(D){B0(D,30);var u0=Pr0(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:for(;;){B0(D,30);var Y0=Rs(j(D));if(4>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var J0=Rs(j(D));if(4>>0)return q(D);switch(J0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:continue r;default:return i(D)}}return q(D)}default:return i(D)}}case 2:return T(D);default:return i(D)}}function a0(D){B0(D,30);var u0=mL(j(D));if(8>>0)return q(D);switch(u0){case 0:return e(D);case 1:return t0(D);case 2:return c0(D);case 3:return e0(D);case 4:return m0(D);case 5:return T(D);case 6:return K(D);case 7:return A(D);default:return k0(D)}}function w0(D){r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var u0=qr0(j(D));if(4>>0)return q(D);switch(u0){case 0:return e(D);case 1:return g0(D);case 2:continue;case 3:continue r;default:return k0(D)}}return q(D)}}function _0(D){for(;;){B0(D,30);var u0=o9(j(D));if(5>>0)return q(D);switch(u0){case 0:return e(D);case 1:return t0(D);case 2:continue;case 3:return T(D);case 4:return w0(D);default:return k0(D)}}}function E0(D){return B0(D,3),zr0(j(D))===0?3:q(D)}function X0(D){return _9(j(D))===0&&l9(j(D))===0&&Yr0(j(D))===0&&Lr0(j(D))===0&&Rr0(j(D))===0&&pL(j(D))===0&&Bl(j(D))===0&&_9(j(D))===0&&Gs(j(D))===0&&jr0(j(D))===0&&Ul(j(D))===0?3:q(D)}En(n);var b=j(n),G0=tf>>0)var X=q(n);else switch(G0){case 0:var X=62;break;case 1:var X=63;break;case 2:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var X=q(n);break}}else var X=q(n);break;case 3:var X=0;break;case 4:B0(n,0);var s0=fi(j(n))!==0?1:0,X=s0&&q(n);break;case 5:var X=6;break;case 6:var X=61;break;case 7:if(B0(n,63),Bl(j(n))===0){var dr=j(n),Ar=c7>>0)var X=q(n);else switch(Lr){case 0:for(;;){var Tr=ql(j(n));if(3>>0)var X=q(n);else switch(Tr){case 0:continue;case 1:var X=h(n);break;case 2:var X=a0(n);break;default:var X=_0(n)}break}break;case 1:var X=h(n);break;case 2:var X=a0(n);break;default:var X=_0(n)}break;case 15:B0(n,41);var Hr=L1(j(n)),X=Hr===0?lL(j(n))===0?40:q(n):Hr===1?E(n):q(n);break;case 16:B0(n,63);var Or=k9(j(n));if(Or===0){B0(n,2);var xr=f9(j(n));if(2>>0)var X=q(n);else switch(xr){case 0:for(;;){var Rr=f9(j(n));if(2>>0)var X=q(n);else switch(Rr){case 0:continue;case 1:var X=E0(n);break;default:var X=X0(n)}break}break;case 1:var X=E0(n);break;default:var X=X0(n)}}else var X=Or===1?5:q(n);break;case 17:B0(n,30);var Wr=mL(j(n));if(8>>0)var X=q(n);else switch(Wr){case 0:var X=e(n);break;case 1:var X=t0(n);break;case 2:var X=c0(n);break;case 3:var X=e0(n);break;case 4:var X=m0(n);break;case 5:var X=T(n);break;case 6:var X=K(n);break;case 7:var X=A(n);break;default:var X=k0(n)}break;case 18:B0(n,30);var Jr=o9(j(n));if(5>>0)var X=q(n);else switch(Jr){case 0:var X=e(n);break;case 1:var X=t0(n);break;case 2:var X=_0(n);break;case 3:var X=T(n);break;case 4:var X=w0(n);break;default:var X=k0(n)}break;case 19:var X=44;break;case 20:var X=42;break;case 21:var X=49;break;case 22:B0(n,51);var or=j(n),_r=61>>0)return ke(MCr);var i0=X;if(32<=i0)switch(i0){case 34:return[0,t,0];case 35:return[0,t,1];case 36:return[0,t,2];case 37:return[0,t,3];case 38:return[0,t,4];case 39:return[0,t,5];case 40:return[0,t,12];case 41:return[0,t,10];case 42:return[0,t,8];case 43:return[0,t,9];case 45:return[0,t,83];case 49:return[0,t,98];case 50:return[0,t,99];case 53:return[0,t,Xt];case 55:return[0,t,89];case 56:return[0,t,91];case 57:return[0,t,11];case 59:return[0,t,c7];case 60:return[0,t,D7];case 61:var l0=n[6];Kr0(n);var S0=Hl(t,l0,n[3]);fL(n,l0);var T0=Ll(n),rr=re0(t,T0),R0=rr[2],B=rr[1],Z=Ee(R0,HCr);if(0<=Z){if(!(0>>0)return q(F0);switch(gr){case 0:continue;case 1:r:for(;;){if(Bc(j(F0))===0)for(;;){var mr=t9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(0,Se(u0))]:ke(GCr)});case 8:return[0,t,Hi(0,Se(n))];case 9:return Dt(t,n,function(D,u0){function Y0(F0){if(s9(j(F0))===0){if(Bc(j(F0))===0)for(;;){B0(F0,0);var gr=n9(j(F0));if(gr!==0){if(gr===1)r:for(;;){if(Bc(j(F0))===0)for(;;){B0(F0,0);var mr=n9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(0,Se(u0))]:ke(jCr)});case 10:return[0,t,Hc(0,Se(n))];case 11:return Dt(t,n,function(D,u0){function Y0(F0){if(p9(j(F0))===0){if(Vu(j(F0))===0)for(;;){var gr=c9(j(F0));if(2>>0)return q(F0);switch(gr){case 0:continue;case 1:r:for(;;){if(Vu(j(F0))===0)for(;;){var mr=c9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(1,Se(u0))]:ke(RCr)});case 12:return[0,t,Hi(1,Se(n))];case 13:return Dt(t,n,function(D,u0){function Y0(F0){if(p9(j(F0))===0){if(Vu(j(F0))===0)for(;;){B0(F0,0);var gr=a9(j(F0));if(gr!==0){if(gr===1)r:for(;;){if(Vu(j(F0))===0)for(;;){B0(F0,0);var mr=a9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(3,Se(u0))]:ke(LCr)});case 14:return[0,t,Hc(3,Se(n))];case 15:return Dt(t,n,function(D,u0){function Y0(F0){if(Vu(j(F0))===0){for(;;)if(B0(F0,0),Vu(j(F0))!==0)return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(1,Se(u0))]:ke(DCr)});case 16:return[0,t,Hc(1,Se(n))];case 17:return Dt(t,n,function(D,u0){function Y0(F0){if(Qm(j(F0))===0){if(Nn(j(F0))===0)for(;;){var gr=u9(j(F0));if(2>>0)return q(F0);switch(gr){case 0:continue;case 1:r:for(;;){if(Nn(j(F0))===0)for(;;){var mr=u9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(2,Se(u0))]:ke(PCr)});case 19:return Dt(t,n,function(D,u0){function Y0(F0){if(Qm(j(F0))===0){if(Nn(j(F0))===0)for(;;){B0(F0,0);var gr=y9(j(F0));if(gr!==0){if(gr===1)r:for(;;){if(Nn(j(F0))===0)for(;;){B0(F0,0);var mr=y9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(4,Se(u0))]:ke(CCr)});case 21:return Dt(t,n,function(D,u0){function Y0(d0){for(;;){var Kr=ki(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:continue;case 1:r:for(;;){if(vn(j(d0))===0)for(;;){var re=ki(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:continue r;default:return 0}}return q(d0)}default:return 0}}}function J0(d0){for(;;){var Kr=r2(j(d0));if(Kr!==0){var re=Kr!==1?1:0;return re&&q(d0)}}}function fr(d0){var Kr=S9(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:var re=P1(j(d0));return re===0?J0(d0):re===1?Y0(d0):q(d0);case 1:return J0(d0);default:return Y0(d0)}}function Q0(d0){if(vn(j(d0))===0)for(;;){var Kr=i7(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:continue;case 1:return fr(d0);default:r:for(;;){if(vn(j(d0))===0)for(;;){var re=i7(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:return fr(d0);default:continue r}}return q(d0)}}}return q(d0)}function F0(d0){var Kr=m9(j(d0));if(Kr===0)for(;;){var re=i7(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:return fr(d0);default:r:for(;;){if(vn(j(d0))===0)for(;;){var xe=i7(j(d0));if(2>>0)return q(d0);switch(xe){case 0:continue;case 1:return fr(d0);default:continue r}}return q(d0)}}}return Kr===1?fr(d0):q(d0)}function gr(d0){var Kr=e9(j(d0));return Kr===0?F0(d0):Kr===1?fr(d0):q(d0)}function mr(d0){for(;;){var Kr=b9(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:return F0(d0);case 1:continue;default:return fr(d0)}}}En(u0);var Cr=x9(j(u0));if(3>>0)var sr=q(u0);else switch(Cr){case 0:for(;;){var Pr=ql(j(u0));if(3>>0)var sr=q(u0);else switch(Pr){case 0:continue;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}break}break;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}if(sr===0){var K0=Se(u0),Ur=ju(D,rt(D,u0),23);return[0,Ur,Hi(2,K0)]}return ke(NCr)});case 22:var Y=Se(n),y0=ju(t,rt(t,n),23);return[0,y0,Hi(2,Y)];case 23:return Dt(t,n,function(D,u0){function Y0(K0){for(;;){B0(K0,0);var Ur=js(j(K0));if(Ur!==0){if(Ur===1)r:for(;;){if(vn(j(K0))===0)for(;;){B0(K0,0);var d0=js(j(K0));if(d0!==0){if(d0===1)continue r;return q(K0)}}return q(K0)}return q(K0)}}}function J0(K0){for(;;)if(B0(K0,0),vn(j(K0))!==0)return q(K0)}function fr(K0){var Ur=S9(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:var d0=P1(j(K0));return d0===0?J0(K0):d0===1?Y0(K0):q(K0);case 1:return J0(K0);default:return Y0(K0)}}function Q0(K0){if(vn(j(K0))===0)for(;;){var Ur=i7(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:continue;case 1:return fr(K0);default:r:for(;;){if(vn(j(K0))===0)for(;;){var d0=i7(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:return fr(K0);default:continue r}}return q(K0)}}}return q(K0)}function F0(K0){var Ur=m9(j(K0));if(Ur===0)for(;;){var d0=i7(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:return fr(K0);default:r:for(;;){if(vn(j(K0))===0)for(;;){var Kr=i7(j(K0));if(2>>0)return q(K0);switch(Kr){case 0:continue;case 1:return fr(K0);default:continue r}}return q(K0)}}}return Ur===1?fr(K0):q(K0)}function gr(K0){var Ur=e9(j(K0));return Ur===0?F0(K0):Ur===1?fr(K0):q(K0)}function mr(K0){for(;;){var Ur=b9(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:return F0(K0);case 1:continue;default:return fr(K0)}}}En(u0);var Cr=x9(j(u0));if(3>>0)var sr=q(u0);else switch(Cr){case 0:for(;;){var Pr=ql(j(u0));if(3>>0)var sr=q(u0);else switch(Pr){case 0:continue;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}break}break;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}return sr===0?[0,D,Hc(4,Se(u0))]:ke(ACr)});case 25:return Dt(t,n,function(D,u0){function Y0(K0){for(;;){var Ur=ki(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:continue;case 1:r:for(;;){if(vn(j(K0))===0)for(;;){var d0=ki(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:continue r;default:return 0}}return q(K0)}default:return 0}}}function J0(K0){return vn(j(K0))===0?Y0(K0):q(K0)}function fr(K0){var Ur=r2(j(K0));if(Ur===0)return Y0(K0);var d0=Ur!==1?1:0;return d0&&q(K0)}function Q0(K0){for(;;){var Ur=L1(j(K0));if(Ur===0)return fr(K0);if(Ur!==1)return q(K0)}}function F0(K0){for(;;){var Ur=Uc(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:return fr(K0);case 1:continue;default:r:for(;;){if(vn(j(K0))===0)for(;;){var d0=Uc(j(K0));if(2>>0)return q(K0);switch(d0){case 0:return fr(K0);case 1:continue;default:continue r}}return q(K0)}}}}En(u0);var gr=x9(j(u0));if(3>>0)var mr=q(u0);else switch(gr){case 0:for(;;){var Cr=ql(j(u0));if(3>>0)var mr=q(u0);else switch(Cr){case 0:continue;case 1:var mr=J0(u0);break;case 2:var mr=Q0(u0);break;default:var mr=F0(u0)}break}break;case 1:var mr=J0(u0);break;case 2:var mr=Q0(u0);break;default:var mr=F0(u0)}if(mr===0){var sr=Se(u0),Pr=ju(D,rt(D,u0),22);return[0,Pr,Hi(2,sr)]}return ke(ICr)});case 26:return Dt(t,n,function(D,u0){function Y0(mr){for(;;){var Cr=r2(j(mr));if(Cr!==0){var sr=Cr!==1?1:0;return sr&&q(mr)}}}function J0(mr){for(;;){var Cr=ki(j(mr));if(2>>0)return q(mr);switch(Cr){case 0:continue;case 1:r:for(;;){if(vn(j(mr))===0)for(;;){var sr=ki(j(mr));if(2>>0)return q(mr);switch(sr){case 0:continue;case 1:continue r;default:return 0}}return q(mr)}default:return 0}}}En(u0);var fr=j(u0),Q0=44>>0)var F0=q(u0);else switch(Q0){case 0:for(;;){var gr=Ur0(j(u0));if(2>>0)var F0=q(u0);else switch(gr){case 0:continue;case 1:var F0=Y0(u0);break;default:var F0=J0(u0)}break}break;case 1:var F0=Y0(u0);break;default:var F0=J0(u0)}return F0===0?[0,D,Hi(2,Se(u0))]:ke(OCr)});case 27:var D0=Se(n),I0=ju(t,rt(t,n),22);return[0,I0,Hi(2,D0)];case 29:return Dt(t,n,function(D,u0){function Y0(re){for(;;){B0(re,0);var xe=js(j(re));if(xe!==0){if(xe===1)r:for(;;){if(vn(j(re))===0)for(;;){B0(re,0);var je=js(j(re));if(je!==0){if(je===1)continue r;return q(re)}}return q(re)}return q(re)}}}function J0(re){return B0(re,0),vn(j(re))===0?Y0(re):q(re)}En(u0);var fr=x9(j(u0));if(3>>0)var Q0=q(u0);else switch(fr){case 0:for(;;){var F0=Ur0(j(u0));if(2>>0)var Q0=q(u0);else switch(F0){case 0:continue;case 1:for(;;){B0(u0,0);var gr=L1(j(u0)),mr=gr!==0?1:0;if(mr){if(gr===1)continue;var Q0=q(u0)}else var Q0=mr;break}break;default:for(;;){B0(u0,0);var Cr=Uc(j(u0));if(2>>0)var Q0=q(u0);else switch(Cr){case 0:var Q0=0;break;case 1:continue;default:r:for(;;){if(vn(j(u0))===0)for(;;){B0(u0,0);var sr=Uc(j(u0));if(2>>0)var Pr=q(u0);else switch(sr){case 0:var Pr=0;break;case 1:continue;default:continue r}break}else var Pr=q(u0);var Q0=Pr;break}}break}}break}break;case 1:var Q0=vn(j(u0))===0?Y0(u0):q(u0);break;case 2:for(;;){B0(u0,0);var K0=L1(j(u0));if(K0===0)var Q0=J0(u0);else{if(K0===1)continue;var Q0=q(u0)}break}break;default:for(;;){B0(u0,0);var Ur=Uc(j(u0));if(2>>0)var Q0=q(u0);else switch(Ur){case 0:var Q0=J0(u0);break;case 1:continue;default:r:for(;;){if(vn(j(u0))===0)for(;;){B0(u0,0);var d0=Uc(j(u0));if(2>>0)var Kr=q(u0);else switch(d0){case 0:var Kr=J0(u0);break;case 1:continue;default:continue r}break}else var Kr=q(u0);var Q0=Kr;break}}break}}return Q0===0?[0,D,Hc(4,Se(u0))]:ke(TCr)});case 31:return[0,t,66];case 18:case 28:return[0,t,Hi(2,Se(n))];default:return[0,t,Hc(4,Se(n))]}}function Xl(t){return function(n){for(var e=0,i=n;;){var x=a(t,i,i[2]);switch(x[0]){case 0:var c=x[2],s=x[1],p=Wr0(s,c),y=e===0?0:de(e),T=s[6];if(T===0)return[0,[0,s[1],s[2],s[3],s[4],s[5],s[6],p],[0,c,p,0,y]];var E=[0,c,p,de(T),y];return[0,[0,s[1],s[2],s[3],s[4],s[5],wr0,p],E];case 1:var h=x[2],w=x[1],e=[0,h,e],i=[0,w[1],w[2],w[3],w[4],w[5],w[6],h[1]];continue;default:var i=x[1];continue}}}}var Qee=Xl(Wee),rne=Xl(Jee),ene=Xl($ee),nne=Xl(Zee),tne=Xl(Kee),Gu=uL([0,dz]);function Yl(t,n){return[0,0,0,n,Er0(t)]}function F9(t){var n=t[4];switch(t[3]){case 0:var c0=u(tne,n);break;case 1:var c0=u(nne,n);break;case 2:var c0=u(rne,n);break;case 3:var e=y7(n,n[2]),i=$n(zn),x=$n(zn),c=n[2];En(c);var s=j(c),p=us>>0)var y=q(c);else switch(p){case 0:var y=1;break;case 1:var y=4;break;case 2:var y=0;break;case 3:B0(c,0);var T=fi(j(c))!==0?1:0,y=T&&q(c);break;case 4:var y=2;break;default:var y=3}if(4>>0)var E=ke(FCr);else switch(y){case 0:var h=Se(c);mn(x,h),mn(i,h);var w=yL(d7(n,c),2,i,x,c),G=y7(w,c),A=Gt(i),S=Gt(x),E=[0,w,[8,[0,w[1],e,G],A,S]];break;case 1:var E=[0,n,Pn];break;case 2:var E=[0,n,98];break;case 3:var E=[0,n,0];break;default:$v(c);var M=yL(n,2,i,x,c),K=y7(M,c),V=Gt(i),f0=Gt(x),E=[0,M,[8,[0,M[1],e,K],V,f0]]}var m0=E[2],k0=E[1],g0=Wr0(k0,m0),e0=k0[6];if(e0===0)var l=[0,k0,[0,m0,g0,0,0]];else var x0=[0,m0,g0,de(e0),0],l=[0,[0,k0[1],k0[2],k0[3],k0[4],k0[5],0,k0[7]],x0];var c0=l;break;case 4:var c0=u(ene,n);break;default:var c0=u(Qee,n)}var t0=c0[1],a0=Er0(t0),w0=[0,a0,c0[2]];return t[4]=t0,t[1]?t[2]=[0,w0]:t[1]=[0,w0],w0}function ue0(t){var n=t[1];return n?n[1][2]:F9(t)[2]}function une(t,n,e,i){var x=t&&t[1],c=n&&n[1];try{var s=0,p=hr0(i),y=s,T=p}catch(A){if(A=Et(A),A!==A1)throw A;var E=[0,[0,[0,e,fz[2],fz[3]],86],0],y=E,T=hr0(iGr)}var h=c?c[1]:Bv,w=zee(e,T,h[4]),G=[0,Yl(w,0)];return[0,[0,y],[0,0],Gu[1],[0,0],h[5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,[0,xGr],[0,w],G,[0,x],h,e,[0,0],[0,fGr]]}function n2(t){return bl(t[23][1])}function iu(t){return t[27][4]}function ue(t,n){var e=n[2];t[1][1]=[0,[0,n[1],e],t[1][1]];var i=t[22];return i&&a(i[1],t,e)}function Vl(t,n){return t[30][1]=n,0}function Ms(t,n){if(t===0)return ue0(n[25][1]);if(t===1){var e=n[25][1];e[1]||F9(e);var i=e[2];return i?i[1][2]:F9(e)[2]}throw[0,wn,nGr]}function ys(t,n){return t===n[5]?n:[0,n[1],n[2],n[3],n[4],t,n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function dL(t,n){return t===n[17]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],t,n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function ie0(t,n){return t===n[18]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],t,n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function fe0(t,n){return t===n[19]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],t,n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function t2(t,n){return t===n[21]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],t,n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function T9(t,n){return t===n[14]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],t,n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function zl(t,n){return t===n[8]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],t,n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function Kl(t,n){return t===n[12]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],t,n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function u2(t,n){return t===n[15]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],t,n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function xe0(t,n){return t===n[6]?n:[0,n[1],n[2],n[3],n[4],n[5],t,n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function ae0(t,n){return t===n[7]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],t,n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function hL(t,n){return t===n[13]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],t,n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function O9(t,n){return[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],[0,t],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function kL(t){function n(e){return ue(t,e)}return function(e){return Pu(n,e)}}function i2(t){var n=t[4][1],e=n&&[0,n[1][2]];return e}function oe0(t){var n=t[4][1],e=n&&[0,n[1][1]];return e}function ce0(t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],0,t[23],t[24],t[25],t[26],t[27],t[28],t[29],t[30]]}function se0(t,n,e,i){return[0,t[1],t[2],Gu[1],t[4],t[5],0,0,0,0,0,1,t[12],t[13],t[14],t[15],t[16],e,n,t[19],i,t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29],t[30]]}function ve0(t){var n=Ee(t,wjr),e=0;if(0<=n){if(0>>0){if(!(F7<(i+1|0)>>>0))return 1}else{var x=i!==6?1:0;if(!x)return x}}return Jl(t,n)}function x2(t){return me0(0,t)}function A9(t,n){var e=Yn(t,n);if(EL(e)||wL(e)||le0(e))return 1;var i=0;if(typeof e=="number")switch(e){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:i=1;break}else e[0]===4&&(i=1);return i?1:0}function _e0(t,n){var e=n2(n);if(e===1){var i=Yn(t,n);return typeof i!="number"&&i[0]===4?1:0}if(e)return 0;var x=Yn(t,n);if(typeof x=="number")switch(x){case 42:case 46:case 47:return 0;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:break;default:return 0}else switch(x[0]){case 4:if(be0(x[3]))return 0;break;case 9:case 10:case 11:break;default:return 0}return 1}function M1(t){return A9(0,t)}function qs(t){var n=N0(t)===15?1:0;if(n)var e=n;else{var i=N0(t)===64?1:0;if(i){var x=Yn(1,t)===15?1:0;if(x)var c=Wl(1,t)[2][1],e=De(t)[3][1]===c?1:0;else var e=x}else var e=i}return e}function $l(t){var n=N0(t);if(typeof n=="number"){var e=0;if((n===13||n===40)&&(e=1),e)return 1}return 0}function Ge(t,n){return ue(t,[0,De(t),n])}function ye0(t,n){if(wL(n))return 2;if(EL(n))return 55;var e=vL(0,n);return t?[11,e,t[1]]:[10,e]}function St(t,n){var e=gL(n);return u(kL(n),e),Ge(n,ye0(t,N0(n)))}function N9(t){function n(e){return ue(t,[0,e[1],76])}return function(e){return Pu(n,e)}}function de0(t,n){var e=t[6]?ir(Qn(MRr),n,n,n):BRr;return St([0,e],t)}function Si(t,n){var e=t[5];return e&&Ge(t,n)}function Y7(t,n){var e=t[5];return e&&ue(t,[0,n[1],n[2]])}function B1(t,n){return ue(t,[0,n,[18,t[5]]])}function ie(t){var n=t[26][1];if(n){var e=n2(t),i=N0(t),x=[0,De(t),i,e];u(n[1],x)}var c=t[25][1],s=c[1],p=s?s[1][1]:F9(c)[1];t[24][1]=p;var y=gL(t);u(kL(t),y);var T=t[2][1],E=jc(Ms(0,t)[4],T);t[2][1]=E;var h=[0,Ms(0,t)];t[4][1]=h;var w=t[25][1];return w[2]?(w[1]=w[2],w[2]=0,0):(ue0(w),w[1]=0,0)}function fu(t,n){var e=a(aL,N0(t),n);return e&&ie(t),e}function zu(t,n){t[23][1]=[0,n,t[23][1]];var e=n2(t),i=Yl(t[24][1],e);return t[25][1]=i,0}function h7(t){var n=t[23][1],e=n?n[2]:ke(GRr);t[23][1]=e;var i=n2(t),x=Yl(t[24][1],i);return t[25][1]=x,0}function we(t){var n=De(t);if(N0(t)===9&&Jl(1,t)){var e=pr(t),i=Ms(1,t)[4],x=un(e,u(ml(function(s){return s[1][2][1]<=n[3][1]?1:0}),i));return Vl(t,[0,n[3][1]+1|0,0]),x}var c=pr(t);return Vl(t,n[3]),c}function Us(t){var n=t[4][1];if(n){var e=n[1][2],i=pr(t),x=u(ml(function(p){return p[1][2][1]<=e[3][1]?1:0}),i);Vl(t,[0,e[3][1]+1|0,0]);var c=x}else var c=n;return c}function q1(t,n){return St([0,vL(DRr,n)],t)}function V0(t,n){return 1-a(aL,N0(t),n)&&q1(t,n),ie(t)}function he0(t,n){var e=fu(t,n);return 1-e&&q1(t,n),e}function Zl(t,n){var e=N0(t),i=0;return typeof e!="number"&&e[0]===4&&qn(e[3],n)&&(i=1),i||St([0,u(Qn(PRr),n)],t),ie(t)}var Hs=[wt,aGr,G7(0)];function ine(t){var n=t[26][1];if(n){var e=kz(0),i=[0,function(s){return vN(s,e)}];t[26][1]=i;var x=[0,[0,n[1],e]]}else var x=n;return[0,t[1][1],t[2][1],t[4][1],t[23][1],t[24][1],t[30][1],x]}function ke0(t,n,e){if(e){var i=e[1],x=i[1];if(n[26][1]=[0,x],t)for(var c=i[2][2];;){if(c){var s=c[2];u(x,c[1]);var c=s;continue}return 0}var p=t}else var p=e;return p}function fne(t,n){ke0(0,t,n[7]),t[1][1]=n[1],t[2][1]=n[2],t[4][1]=n[3],t[23][1]=n[4],t[24][1]=n[5],t[30][1]=n[6];var e=n2(t),i=Yl(t[24][1],e);return t[25][1]=i,0}function xne(t,n,e){return ke0(1,t,n[7]),[0,e]}function FL(t,n){var e=ine(t);try{var i=xne(t,e,u(n,t));return i}catch(x){if(x=Et(x),x===Hs)return fne(t,e);throw x}}function we0(t,n,e){var i=FL(t,e);return i?i[1]:n}function Ql(t,n){var e=de(n);if(e){var i=e[1],x=u(t,i);return i===x?n:de([0,x,e[2]])}return n}var Ee0=jp(lGr,function(t){var n=RN(t,cGr),e=DN(t,vGr),i=e[22],x=e[26],c=e[35],s=e[77],p=e[cV],y=e[OO],T=e[sp],E=e[HO],h=e[Bd],w=e[eT],G=e[6],A=e[7],S=e[10],M=e[17],K=e[21],V=e[27],f0=e[33],m0=e[36],k0=e[46],g0=e[51],e0=e[89],x0=e[92],l=e[97],c0=e[99],t0=e[ni],a0=e[Pn],w0=e[Sv],_0=e[Jw],E0=e[Qg],X0=e[gH],b=e[MX],G0=e[fH],X=e[NH],s0=e[Sd],dr=e[PF],Ar=e[Zg],ar=e[N6],W0=e[Lw],Lr=e[aA],Tr=e[tk],Hr=e[wT],Or=e[mO],xr=e[f6],Rr=e[TT],Wr=e[l8],Jr=e[$2],or=GN(t,0,0,xz,$D,1)[1];function _r(H0,Fr,_){var k=_[2],I=k[2],U=k[1],Y=_[1];if(I){var y0=function(D){return[0,Y,[0,U,[0,D]]]},D0=I[1];return ee(u(H0[1][1+y],H0),D0,_,y0)}function I0(D){return[0,Y,[0,D,I]]}return ee(a(H0[1][1+G],H0,Fr),U,_,I0)}function Ir(H0,Fr,_){var k=_[2],I=_[1],U=I[3],Y=I[2];if(U)var y0=Ql(u(H0[1][1+x],H0),U),D0=Y;else var y0=0,D0=a(H0[1][1+x],H0,Y);var I0=a(H0[1][1+c],H0,k);return Y===D0&&U===y0&&k===I0?_:[0,[0,I[1],D0,y0],I0]}function fe(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function v0(H0,Fr,_){function k(U){return[0,_[1],_[2],U]}var I=_[3];return ee(u(H0[1][1+c],H0),I,_,k)}function P(H0,Fr){function _(I){return[0,Fr[1],I]}var k=Fr[2];return ee(u(H0[1][1+c],H0),k,Fr,_)}function L(H0,Fr,_){function k(U){return[0,_[1],_[2],U]}var I=_[3];return ee(u(H0[1][1+c],H0),I,_,k)}function Q(H0,Fr,_){var k=_[2],I=_[1],U=Ql(u(H0[1][1+y],H0),I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,U,Y]}function i0(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function l0(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function S0(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function T0(H0,Fr,_){var k=_[3],I=_[2],U=a(H0[1][1+l],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],U,Y]}function rr(H0,Fr,_){var k=_[4],I=_[3],U=_[2],Y=_[1],y0=a(H0[1][1+c],H0,k);if(I){var D0=ze(u(H0[1][1+w],H0),I);return I===D0&&k===y0?_:[0,_[1],_[2],D0,y0]}if(U){var I0=ze(u(H0[1][1+h],H0),U);return U===I0&&k===y0?_:[0,_[1],I0,_[3],y0]}var D=a(H0[1][1+y],H0,Y);return Y===D&&k===y0?_:[0,D,_[2],_[3],y0]}function R0(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function B(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function Z(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function p0(H0,Fr,_){var k=_[2],I=_[1],U=I[3],Y=I[2];if(U)var y0=Ql(u(H0[1][1+x],H0),U),D0=Y;else var y0=0,D0=a(H0[1][1+x],H0,Y);var I0=a(H0[1][1+c],H0,k);return Y===D0&&U===y0&&k===I0?_:[0,[0,I[1],D0,y0],I0]}function b0(H0,Fr,_){var k=_[3],I=_[1],U=mu(u(H0[1][1+s],H0),I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,U,_[2],Y]}function O0(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function q0(H0,Fr){if(Fr[0]===0){var _=function(D0){return[0,D0]},k=Fr[1];return ee(u(H0[1][1+p],H0),k,Fr,_)}var I=Fr[1],U=I[2],Y=U[2],y0=a(H0[1][1+p],H0,Y);return Y===y0?Fr:[1,[0,I[1],[0,U[1],y0]]]}function er(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+x],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function yr(H0,Fr){var _=Fr[2],k=Fr[1];function I(Y){return[0,k,[0,_[1],_[2],_[3],Y]]}var U=_[4];return ee(u(H0[1][1+c],H0),U,[0,k,_],I)}function vr(H0,Fr,_){var k=_[9],I=_[3],U=a(H0[1][1+s0],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,_[4],_[5],_[6],_[7],_[8],Y,_[10]]}function $0(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function Sr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function Mr(H0,Fr){var _=Fr[2],k=_[2],I=_[1],U=Fr[1];if(k===0){var Y=function(I0){return[0,U,[0,I0,k]]};return ee(u(H0[1][1+p],H0),I,Fr,Y)}function y0(I0){return[0,U,[0,I,I0]]}var D0=u(H0[1][1+i],H0);return ee(function(I0){return ze(D0,I0)},k,Fr,y0)}function Br(H0,Fr){var _=Fr[2],k=_[2],I=Fr[1];function U(D0){return[0,I,[0,D0,k]]}var Y=_[1],y0=u(H0[1][1+T],H0);return ee(function(D0){return Ql(y0,D0)},Y,Fr,U)}function qr(H0,Fr,_){var k=_[2];if(k===0){var I=function(D0){return[0,D0,_[2],_[3]]},U=_[1];return ee(u(H0[1][1+y],H0),U,_,I)}function Y(D0){return[0,_[1],D0,_[3]]}var y0=u(H0[1][1+i],H0);return ee(function(D0){return ze(y0,D0)},k,_,Y)}function jr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function $r(H0,Fr,_){var k=_[7],I=_[2],U=a(H0[1][1+E],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],U,_[3],_[4],_[5],_[6],Y]}function ne(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function Qr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function pe(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+w],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function oe(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function me(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function ae(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function ce(H0,Fr){function _(I){return[0,Fr[1],I]}var k=Fr[2];return ee(u(H0[1][1+c],H0),k,Fr,_)}function ge(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}return BN(t,[0,m0,function(H0,Fr){var _=Fr[2],k=u(ml(function(U){return ms(U[1][2],H0[1+n])<0?1:0}),_),I=Rc(k);return Rc(_)===I?Fr:[0,Fr[1],k,Fr[3]]},Jr,ge,Wr,ce,Rr,ae,xr,me,Or,oe,Hr,pe,w,Qr,h,ne,Tr,$r,E,jr,Lr,qr,W0,Br,T,Mr,ar,Sr,Ar,$0,dr,vr,X,yr,G0,er,b,q0,X0,O0,E0,b0,_0,p0,w0,Z,a0,B,t0,R0,x0,rr,c0,T0,e0,S0,s,l0,g0,i0,k0,Q,f0,L,V,P,K,v0,M,fe,S,Ir,A,_r]),function(H0,Fr,_){var k=Gp(Fr,t);return k[1+n]=_,u(or,k),MN(Fr,k,t)}});function C9(t){var n=i2(t);if(n)var e=n[1],i=pe0(t)?(Vl(t,e[3]),[0,a(Ee0[1],0,e[3])]):0,x=i;else var x=n;return[0,0,function(c,s){return x?a(s,x[1],c):c}]}function rb(t){var n=i2(t);if(n){var e=n[1];if(pe0(t)){Vl(t,e[3]);var i=Us(t),x=[0,a(Ee0[1],0,[0,e[3][1]+1|0,0])],c=i}else var x=0,c=Us(t)}else var x=0,c=0;return[0,c,function(s,p){return x?a(p,x[1],s):s}]}function Wt(t){return f7(t)?rb(t):C9(t)}function ds(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,Nv,27),x,c)}return a(e[2],n,i)}function xi(t,n){if(n)var e=Wt(t),i=function(c,s){return a(Ze(c,_F,30),c,s)},x=[0,a(e[2],n[1],i)];else var x=n;return x}function a2(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,-983660142,32),x,c)}return a(e[2],n,i)}function eb(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,-455772979,33),x,c)}return a(e[2],n,i)}function Se0(t,n){if(n)var e=Wt(t),i=function(c,s){return a(Ze(c,FH,34),c,s)},x=[0,a(e[2],n[1],i)];else var x=n;return x}function Xi(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,VY,35),x,c)}return a(e[2],n,i)}function ge0(t,n){var e=Wt(t);function i(x,c){var s=u(Ze(x,tH,37),x);return Ql(function(p){return mu(s,p)},c)}return a(e[2],n,i)}function Fe0(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,-21476009,38),x,c)}return a(e[2],n,i)}jp(bGr,function(t){var n=RN(t,oGr),e=jN(sGr),i=e.length-1,x=az.length-1,c=Gv(i+x|0,0),s=i-1|0,p=0;if(!(s<0))for(var y=p;;){var T=Fl(t,nu(e,y)[1+y]);nu(c,y)[1+y]=T;var E=y+1|0;if(s!==y){var y=E;continue}break}var h=x-1|0,w=0;if(!(h<0))for(var G=w;;){var A=G+i|0,S=RN(t,nu(az,G)[1+G]);nu(c,A)[1+A]=S;var M=G+1|0;if(h!==G){var G=M;continue}break}var K=c[4],V=c[5],f0=c[d6],m0=c[sp],k0=c[ih],g0=c[gv],e0=c[38],x0=c[dT],l=c[Wy],c0=GN(t,0,0,xz,$D,1)[1];function t0(b,G0,X){return a(b[1][1+f0],b,X[2]),X}function a0(b,G0){return a(b[1][1+m0],b,G0),G0}function w0(b,G0){var X=G0[1],s0=b[1+g0];if(s0){var dr=ms(s0[1][1][2],X[2])<0?1:0,Ar=dr&&(b[1+g0]=[0,G0],0);return Ar}var ar=0<=ms(X[2],b[1+n][3])?1:0,W0=ar&&(b[1+g0]=[0,G0],0);return W0}function _0(b,G0){var X=G0[1],s0=b[1+k0];if(s0){var dr=ms(X[2],s0[1][1][2])<0?1:0,Ar=dr&&(b[1+k0]=[0,G0],0);return Ar}var ar=ms(X[2],b[1+n][2])<0?1:0,W0=ar&&(b[1+k0]=[0,G0],0);return W0}function E0(b,G0){return G0&&a(b[1][1+m0],b,G0[1])}function X0(b,G0){var X=G0[1];Pu(u(b[1][1+V],b),X);var s0=G0[2];return Pu(u(b[1][1+K],b),s0)}return BN(t,[0,x0,function(b){return[0,b[1+k0],b[1+g0]]},m0,X0,f0,E0,V,_0,K,w0,e0,a0,l,t0]),function(b,G0,X){var s0=Gp(G0,t);return s0[1+n]=X,u(c0,s0),s0[1+k0]=0,s0[1+g0]=0,MN(G0,s0,t)}});function Te0(t){return t===3?2:(4<=t,1)}function TL(t,n,e){if(e){var i=e[1],x=0;if(i===8232||Uu===i)x=1;else if(i===10)var s=6;else if(i===13)var s=5;else if(ow<=i)var s=3;else if(Vd<=i)var s=2;else var c=Rt<=i?1:0,s=c&&1;if(x)var s=7;var p=s}else var p=4;return[0,p,t]}var ane=[wt,dGr,G7(0)];function Oe0(t,n,e,i){try{var x=nu(t,n)[1+n];return x}catch(c){throw c=Et(c),c[1]===eN?[0,ane,e,ir(Qn(_Gr),i,n,t.length-1)]:c}}function P9(t,n){if(n[1]===0&&n[2]===0)return 0;var e=Oe0(t,n[1]-1|0,n,pGr);return Oe0(e,n[2],n,mGr)}var one=Ee;function cne(t,n){return a(f(t),VWr,n)}u(uL([0,one])[33],cne);function Ie0(t){var n=N0(t),e=0;if(typeof n=="number")switch(n){case 15:var i=zWr;break;case 16:var i=KWr;break;case 17:var i=WWr;break;case 18:var i=JWr;break;case 19:var i=$Wr;break;case 20:var i=ZWr;break;case 21:var i=QWr;break;case 22:var i=rJr;break;case 23:var i=eJr;break;case 24:var i=nJr;break;case 25:var i=tJr;break;case 26:var i=uJr;break;case 27:var i=iJr;break;case 28:var i=fJr;break;case 29:var i=xJr;break;case 30:var i=aJr;break;case 31:var i=oJr;break;case 32:var i=cJr;break;case 33:var i=sJr;break;case 34:var i=vJr;break;case 35:var i=lJr;break;case 36:var i=bJr;break;case 37:var i=pJr;break;case 38:var i=mJr;break;case 39:var i=_Jr;break;case 40:var i=yJr;break;case 41:var i=dJr;break;case 42:var i=hJr;break;case 43:var i=kJr;break;case 44:var i=wJr;break;case 45:var i=EJr;break;case 46:var i=SJr;break;case 47:var i=gJr;break;case 48:var i=FJr;break;case 49:var i=TJr;break;case 50:var i=OJr;break;case 51:var i=IJr;break;case 52:var i=AJr;break;case 53:var i=NJr;break;case 54:var i=CJr;break;case 55:var i=PJr;break;case 56:var i=DJr;break;case 57:var i=LJr;break;case 58:var i=RJr;break;case 59:var i=jJr;break;case 60:var i=GJr;break;case 61:var i=MJr;break;case 62:var i=BJr;break;case 63:var i=qJr;break;case 64:var i=UJr;break;case 65:var i=HJr;break;case 114:var i=XJr;break;case 115:var i=YJr;break;case 116:var i=VJr;break;case 117:var i=zJr;break;case 118:var i=KJr;break;case 119:var i=WJr;break;case 120:var i=JJr;break;case 121:var i=$Jr;break;default:e=1}else switch(n[0]){case 4:var i=n[2];break;case 9:var i=n[1]?ZJr:QJr;break;default:e=1}if(e){St(r$r,t);var i=e$r}return ie(t),i}function V7(t){var n=De(t),e=pr(t),i=Ie0(t);return[0,n,[0,i,lr([0,e],[0,we(t)],0)]]}function Ae0(t){var n=De(t),e=pr(t);V0(t,14);var i=De(t),x=Ie0(t),c=lr([0,e],[0,we(t)],0),s=yt(n,i),p=i[2],y=n[3],T=y[1]===p[1]?1:0,E=T&&(y[2]===p[2]?1:0);return 1-E&&ue(t,[0,s,L7]),[0,s,[0,x,c]]}function U1(t){var n=t[2],e=n[3]===0?1:0;if(e)for(var i=n[2];;){if(i){var x=i[1][2],c=0,s=i[2];if(x[1][2][0]===2&&!x[2]){var p=1;c=1}if(!c)var p=0;if(p){var i=s;continue}return p}return 1}return e}function nb(t){for(var n=t;;){var e=n[2];if(e[0]===27){var i=e[1][2];if(i[2][0]===23)return 1;var n=i;continue}return 0}}function cr(t,n,e){var i=t?t[1]:De(e),x=u(n,e),c=i2(e),s=c?yt(i,c[1]):i;return[0,s,x]}function OL(t,n,e){var i=cr(t,n,e),x=i[2];return[0,[0,i[1],x[1]],x[2]]}function sne(t){function n(B){var Z=De(B),p0=N0(B);if(typeof p0=="number"){if(c7===p0){var b0=pr(B);return ie(B),[0,[0,Z,[0,0,lr([0,b0],0,0)]]]}if(D7===p0){var O0=pr(B);return ie(B),[0,[0,Z,[0,1,lr([0,O0],0,0)]]]}}return 0}var e=function B(Z){return B.fun(Z)},i=function B(Z){return B.fun(Z)},x=function B(Z){return B.fun(Z)},c=function B(Z,p0,b0){return B.fun(Z,p0,b0)},s=function B(Z){return B.fun(Z)},p=function B(Z,p0,b0){return B.fun(Z,p0,b0)},y=function B(Z){return B.fun(Z)},T=function B(Z,p0){return B.fun(Z,p0)},E=function B(Z){return B.fun(Z)},h=function B(Z){return B.fun(Z)},w=function B(Z,p0,b0){return B.fun(Z,p0,b0)},G=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},A=function B(Z){return B.fun(Z)},S=function B(Z,p0){return B.fun(Z,p0)},M=function B(Z){return B.fun(Z)},K=function B(Z){return B.fun(Z)},V=function B(Z){return B.fun(Z)},f0=function B(Z){return B.fun(Z)},m0=function B(Z){return B.fun(Z)},k0=function B(Z){return B.fun(Z)},g0=function B(Z,p0){return B.fun(Z,p0)},e0=function B(Z){return B.fun(Z)},x0=function B(Z){return B.fun(Z)},l=function B(Z){return B.fun(Z)},c0=function B(Z){return B.fun(Z)},t0=function B(Z){return B.fun(Z)},a0=function B(Z){return B.fun(Z)},w0=function B(Z){return B.fun(Z)},_0=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},E0=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},X0=function B(Z){return B.fun(Z)},b=function B(Z){return B.fun(Z)},G0=function B(Z){return B.fun(Z)},X=function B(Z){return B.fun(Z)},s0=function B(Z){return B.fun(Z)},dr=function B(Z){return B.fun(Z)},Ar=function B(Z,p0){return B.fun(Z,p0)},ar=function B(Z,p0){return B.fun(Z,p0)},W0=function B(Z){return B.fun(Z)},Lr=function B(Z,p0,b0){return B.fun(Z,p0,b0)};N(e,function(B){return u(x,B)}),N(i,function(B){return 1-iu(B)&&Ge(B,12),cr(0,function(Z){return V0(Z,86),u(e,Z)},B)}),N(x,function(B){var Z=N0(B)===89?1:0;if(Z){var p0=pr(B);ie(B);var b0=p0}else var b0=Z;return ir(c,B,[0,b0],u(s,B))}),N(c,function(B,Z,p0){var b0=Z&&Z[1];if(N0(B)===89){var O0=[0,p0,0],q0=function(er){for(var yr=O0;;){var vr=N0(er);if(typeof vr=="number"&&vr===89){V0(er,89);var yr=[0,u(s,er),yr];continue}var $0=de(yr);if($0){var Sr=$0[2];if(Sr){var Mr=lr([0,b0],0,0);return[19,[0,[0,$0[1],Sr[1],Sr[2]],Mr]]}}throw[0,wn,P$r]}};return cr([0,p0[1]],q0,B)}return p0}),N(s,function(B){var Z=N0(B)===91?1:0;if(Z){var p0=pr(B);ie(B);var b0=p0}else var b0=Z;return ir(p,B,[0,b0],u(y,B))}),N(p,function(B,Z,p0){var b0=Z&&Z[1];if(N0(B)===91){var O0=[0,p0,0],q0=function(er){for(var yr=O0;;){var vr=N0(er);if(typeof vr=="number"&&vr===91){V0(er,91);var yr=[0,u(y,er),yr];continue}var $0=de(yr);if($0){var Sr=$0[2];if(Sr){var Mr=lr([0,b0],0,0);return[20,[0,[0,$0[1],Sr[1],Sr[2]],Mr]]}}throw[0,wn,C$r]}};return cr([0,p0[1]],q0,B)}return p0}),N(y,function(B){return a(T,B,u(E,B))}),N(T,function(B,Z){var p0=N0(B);if(typeof p0=="number"&&p0===11&&!B[15]){var b0=a(g0,B,Z);return R(_0,B,b0[1],0,[0,b0[1],[0,0,[0,b0,0],0,0]])}return Z}),N(E,function(B){var Z=N0(B);return typeof Z=="number"&&Z===85?cr(0,function(p0){var b0=pr(p0);V0(p0,85);var O0=lr([0,b0],0,0);return[11,[0,u(E,p0),O0]]},B):u(h,B)}),N(h,function(B){return ir(w,0,B,u(V,B))}),N(w,function(B,Z,p0){var b0=B&&B[1];if(f7(Z))return p0;var O0=N0(Z);if(typeof O0=="number"){if(O0===6)return ie(Z),R(G,b0,0,Z,p0);if(O0===10){var q0=Yn(1,Z);return typeof q0=="number"&&q0===6?(Ge(Z,A$r),V0(Z,10),V0(Z,6),R(G,b0,0,Z,p0)):(Ge(Z,N$r),p0)}if(O0===83)return ie(Z),N0(Z)!==6&&Ge(Z,30),V0(Z,6),R(G,1,1,Z,p0)}return p0}),N(G,function(B,Z,p0,b0){function O0(q0){if(!Z&&fu(q0,7))return[15,[0,b0,lr(0,[0,we(q0)],0)]];var er=u(e,q0);V0(q0,7);var yr=[0,b0,er,lr(0,[0,we(q0)],0)];return B?[18,[0,yr,Z]]:[17,yr]}return ir(w,[0,B],p0,cr([0,b0[1]],O0,p0))}),N(A,function(B){return a(S,B,a(t[13],0,B))}),N(S,function(B,Z){for(var p0=[0,Z[1],[0,Z]];;){var b0=p0[2];if(N0(B)===10&&A9(1,B)){var O0=function(vr){return function($0){return V0($0,10),[0,vr,V7($0)]}}(b0),q0=cr([0,p0[1]],O0,B),er=q0[1],p0=[0,er,[1,[0,er,q0[2]]]];continue}return b0}}),N(M,function(B){var Z=N0(B);if(typeof Z=="number"){if(Z===4){ie(B);var p0=u(M,B);return V0(B,5),p0}}else if(Z[0]===4)return[0,u(A,B)];return Ge(B,51),0}),N(K,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,46);var b0=u(M,Z);if(b0){var O0=lr([0,p0],0,0);return[21,[0,b0[1],O0]]}return I$r},B)}),N(V,function(B){var Z=De(B),p0=N0(B),b0=0;if(typeof p0=="number")switch(p0){case 4:return u(a0,B);case 6:return u(k0,B);case 46:return u(K,B);case 53:return cr(0,function(ge){var H0=pr(ge);V0(ge,53);var Fr=u(X0,ge),_=lr([0,H0],0,0);return[14,[0,Fr[2],Fr[1],_]]},B);case 98:return u(w0,B);case 106:var O0=pr(B);return V0(B,Xt),[0,Z,[10,lr([0,O0],[0,we(B)],0)]];case 42:b0=1;break;case 0:case 2:var q0=R(E0,0,1,1,B);return[0,q0[1],[13,q0[2]]];case 30:case 31:var er=pr(B);return V0(B,p0),[0,Z,[26,[0,p0===31?1:0,lr([0,er],[0,we(B)],0)]]]}else switch(p0[0]){case 2:var yr=p0[1],vr=yr[4],$0=yr[3],Sr=yr[2],Mr=yr[1];vr&&Si(B,45);var Br=pr(B);return V0(B,[2,[0,Mr,Sr,$0,vr]]),[0,Mr,[23,[0,Sr,$0,lr([0,Br],[0,we(B)],0)]]];case 10:var qr=p0[3],jr=p0[2],$r=p0[1],ne=pr(B);V0(B,[10,$r,jr,qr]);var Qr=we(B);return $r===1&&Si(B,45),[0,Z,[24,[0,jr,qr,lr([0,ne],[0,Qr],0)]]];case 11:var pe=p0[3],oe=p0[2],me=pr(B);return V0(B,[11,p0[1],oe,pe]),[0,Z,[25,[0,oe,pe,lr([0,me],[0,we(B)],0)]]];case 4:b0=1;break}if(b0){var ae=u(dr,B);return[0,ae[1],[16,ae[2]]]}var ce=u(m0,B);return ce?[0,Z,ce[1]]:(St(T$r,B),[0,Z,O$r])}),N(f0,function(B){var Z=0;if(typeof B=="number")switch(B){case 29:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:Z=1;break}else B[0]===9&&(Z=1);return Z?1:0}),N(m0,function(B){var Z=pr(B),p0=N0(B);if(typeof p0=="number")switch(p0){case 29:return ie(B),[0,[4,lr([0,Z],[0,we(B)],0)]];case 114:return ie(B),[0,[0,lr([0,Z],[0,we(B)],0)]];case 115:return ie(B),[0,[1,lr([0,Z],[0,we(B)],0)]];case 116:return ie(B),[0,[2,lr([0,Z],[0,we(B)],0)]];case 117:return ie(B),[0,[5,lr([0,Z],[0,we(B)],0)]];case 118:return ie(B),[0,[6,lr([0,Z],[0,we(B)],0)]];case 119:return ie(B),[0,[7,lr([0,Z],[0,we(B)],0)]];case 120:return ie(B),[0,[3,lr([0,Z],[0,we(B)],0)]];case 121:return ie(B),[0,[9,lr([0,Z],[0,we(B)],0)]]}else if(p0[0]===9)return ie(B),[0,[8,lr([0,Z],[0,we(B)],0)]];return 0}),N(k0,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,6);for(var b0=u2(0,Z),O0=0;;){var q0=N0(b0);if(typeof q0=="number"){var er=0;if((q0===7||Pn===q0)&&(er=1),er){var yr=de(O0);return V0(Z,7),[22,[0,yr,lr([0,p0],[0,we(Z)],0)]]}}var vr=[0,u(e,b0),O0];N0(b0)!==7&&V0(b0,9);var O0=vr}},B)}),N(g0,function(B,Z){return[0,Z[1],[0,0,Z,0]]}),N(e0,function(B){return cr(0,function(Z){zu(Z,0);var p0=a(t[13],0,Z);h7(Z),1-iu(Z)&&Ge(Z,12);var b0=fu(Z,85);return V0(Z,86),[0,[0,p0],u(e,Z),b0]},B)});function Tr(B){var Z=Yn(1,B);return typeof Z=="number"&&!(1<(Z+W2|0)>>>0)?u(e0,B):a(g0,B,u(e,B))}N(x0,function(B){var Z=0;return function(p0){for(var b0=Z,O0=p0;;){var q0=N0(B);if(typeof q0=="number")switch(q0){case 5:case 12:case 113:var er=q0===12?1:0,yr=er&&[0,cr(0,function(jr){var $r=pr(jr);V0(jr,12);var ne=lr([0,$r],0,0);return[0,Tr(jr),ne]},B)];return[0,b0,de(O0),yr,0]}else if(q0[0]===4&&!n0(q0[3],F$r)){var vr=0;if((Yn(1,B)===86||Yn(1,B)===85)&&(vr=1),vr){var $0=b0!==0?1:0,Sr=$0||(O0!==0?1:0);Sr&&Ge(B,c7);var Mr=cr(0,function($r){var ne=pr($r);ie($r),N0($r)===85&&Ge($r,D7);var Qr=lr([0,ne],0,0);return[0,u(i,$r),Qr]},B);N0(B)!==5&&V0(B,9);var b0=[0,Mr];continue}}var Br=[0,Tr(B),O0];N0(B)!==5&&V0(B,9);var O0=Br}}}),N(l,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,4);var b0=a(x0,Z,0),O0=pr(Z);V0(Z,5);var q0=_u([0,p0],[0,we(Z)],O0,0);return[0,b0[1],b0[2],b0[3],q0]},B)}),N(c0,function(B){var Z=pr(B);V0(B,4);var p0=u2(0,B),b0=N0(p0),O0=0;if(typeof b0=="number")switch(b0){case 5:var q0=g$r;break;case 42:O0=2;break;case 12:case 113:var q0=[0,a(x0,p0,0)];break;default:O0=1}else b0[0]===4?O0=2:O0=1;switch(O0){case 1:if(u(f0,b0)){var er=Yn(1,p0),yr=0;if(typeof er=="number"&&!(1<(er+W2|0)>>>0)){var vr=[0,a(x0,p0,0)];yr=1}if(!yr)var vr=[1,u(e,p0)];var q0=vr}else var q0=[1,u(e,p0)];break;case 2:var q0=u(t0,p0);break}if(q0[0]===0)var $0=q0;else{var Sr=q0[1];if(B[15])var Mr=q0;else{var Br=N0(B),qr=0;if(typeof Br=="number")if(Br===5)var jr=Yn(1,B)===11?[0,a(x0,B,[0,a(g0,B,Sr),0])]:[1,Sr];else if(Br===9){V0(B,9);var jr=[0,a(x0,B,[0,a(g0,B,Sr),0])]}else qr=1;else qr=1;if(qr)var jr=q0;var Mr=jr}var $0=Mr}var $r=pr(B);V0(B,5);var ne=we(B);if($0[0]===0){var Qr=$0[1],pe=_u([0,Z],[0,ne],$r,0);return[0,[0,Qr[1],Qr[2],Qr[3],pe]]}return[1,ir(Lr,$0[1],Z,ne)]}),N(t0,function(B){var Z=Yn(1,B);return typeof Z=="number"&&!(1<(Z+W2|0)>>>0)?[0,a(x0,B,0)]:[1,ir(c,B,0,ir(p,B,0,a(T,B,ir(w,0,B,a(ar,B,u(b,B))))))]}),N(a0,function(B){var Z=De(B),p0=cr(0,c0,B),b0=p0[2];return b0[0]===0?R(_0,B,Z,0,[0,p0[1],b0[1]]):b0[1]}),N(w0,function(B){var Z=De(B),p0=xi(B,u(X,B));return R(_0,B,Z,p0,u(l,B))}),N(_0,function(B,Z,p0,b0){return cr([0,Z],function(O0){return V0(O0,11),[12,[0,p0,b0,u(e,O0),0]]},B)});function Hr(B,Z,p0){return cr([0,Z],function(b0){var O0=u(l,b0);return V0(b0,86),[0,p0,O0,u(e,b0),0]},B)}function Or(B,Z){var p0=N0(Z);if(typeof p0=="number"&&!(10<=p0))switch(p0){case 1:if(!B)return 0;break;case 3:if(B)return 0;break;case 8:case 9:return ie(Z)}return q1(Z,9)}function xr(B,Z){return Z&&ue(B,[0,Z[1][1],7])}function Rr(B,Z){return Z&&ue(B,[0,Z[1],9])}N(E0,function(B,Z,p0,b0){var O0=Z&&(N0(b0)===2?1:0),q0=Z&&1-O0;return cr(0,function(er){var yr=pr(er),vr=O0&&2;V0(er,vr);var $0=u2(0,er),Sr=S$r;r:for(;;){var Mr=Sr[3],Br=Sr[2],qr=Sr[1];if(B&&p0)throw[0,wn,c$r];if(q0&&!p0)throw[0,wn,s$r];var jr=De($0),$r=N0($0);if(typeof $r=="number"){var ne=0;if(13<=$r){if(Pn===$r){var Qr=[0,de(qr),Br,Mr];ne=1}}else if($r)switch($r-1|0){case 0:if(!O0){var Qr=[0,de(qr),Br,Mr];ne=1}break;case 2:if(O0){var Qr=[0,de(qr),Br,Mr];ne=1}break;case 11:if(!p0){ie($0);var pe=N0($0);if(typeof pe=="number"&&!(10<=pe))switch(pe){case 1:case 3:case 8:case 9:ue($0,[0,jr,20]),Or(O0,$0);continue}var oe=gL($0);u(kL($0),oe),ue($0,[0,jr,17]),ie($0),Or(O0,$0);continue}var me=pr($0);ie($0);var ae=N0($0),ce=0;if(typeof ae=="number"&&!(10<=ae))switch(ae){case 1:case 3:case 8:case 9:Or(O0,$0);var ge=N0($0),H0=0;if(typeof ge=="number"){var Fr=ge-1|0;if(!(2>>0))switch(Fr){case 0:if(q0){var Qr=[0,de(qr),1,me];ne=1,ce=1,H0=1}break;case 1:break;default:ue($0,[0,jr,19]);var Qr=[0,de(qr),Br,Mr];ne=1,ce=1,H0=1}}if(!H0){ue($0,[0,jr,18]);continue}break}if(!ce){var _=[1,cr([0,jr],function(K7){return function(qt){var bt=lr([0,K7],0,0);return[0,u(e,qt),bt]}}(me),$0)];Or(O0,$0);var Sr=[0,[0,_,qr],Br,Mr];continue}break}if(ne){var k=pr(er),I=un(Qr[3],k),U=O0?3:1;V0(er,U);var Y=_u([0,yr],[0,we(er)],I,0);return[0,O0,Qr[2],Qr[1],Y]}}for(var y0=B,D0=B,I0=0,D=0,u0=0,Y0=0;;){var J0=N0($0),fr=0;if(typeof J0=="number")switch(J0){case 6:Rr($0,u0);var Q0=Yn(1,$0),F0=0;if(typeof Q0=="number"&&Q0===6){xr($0,I0);var Cr=[4,cr([0,jr],function(qt,bt,U0){return function(L0){var Re=un(bt,pr(L0));V0(L0,6),V0(L0,6);var He=V7(L0);V0(L0,7),V0(L0,7);var he=N0(L0),_e=0;if(typeof he=="number"){var Zn=0;if(he!==4&&he!==98&&(Zn=1),!Zn){var dn=Hr(L0,qt,xi(L0,u(X,L0))),it=0,ft=[0,dn[1],[12,dn[2]]],Rn=1,nt=0;_e=1}}if(!_e){var ht=fu(L0,85),tn=we(L0);V0(L0,86);var it=tn,ft=u(e,L0),Rn=0,nt=ht}return[0,He,ft,nt,U0!==0?1:0,Rn,lr([0,Re],[0,it],0)]}}(jr,Y0,D),$0)];F0=1}if(!F0)var Cr=[2,cr([0,jr],function(K7,qt,bt){return function(U0){var L0=un(K7,pr(U0));V0(U0,6);var Re=Yn(1,U0)===86?1:0;if(Re){var He=V7(U0);V0(U0,86);var he=[0,He]}else var he=Re;var _e=u(e,U0);V0(U0,7);var Zn=we(U0);V0(U0,86);var dn=u(e,U0);return[0,he,_e,dn,qt!==0?1:0,bt,lr([0,L0],[0,Zn],0)]}}(Y0,D,I0),$0)];break;case 42:if(y0){if(I0===0){var gr=[0,De($0)],mr=un(Y0,pr($0));ie($0);var y0=0,D0=0,D=gr,Y0=mr;continue}throw[0,wn,l$r]}fr=1;break;case 103:case 104:if(I0===0){var y0=0,D0=0,I0=n($0);continue}fr=1;break;case 4:case 98:Rr($0,u0),xr($0,I0);var Cr=[3,cr([0,jr],function(K7,qt){return function(bt){var U0=De(bt),L0=Hr(bt,U0,xi(bt,u(X,bt)));return[0,L0,qt!==0?1:0,lr([0,K7],0,0)]}}(Y0,D),$0)];break;default:fr=1}else if(J0[0]===4&&!n0(J0[3],b$r)){if(D0){if(I0===0){var sr=[0,De($0)],Pr=un(Y0,pr($0));ie($0);var y0=0,D0=0,u0=sr,Y0=Pr;continue}throw[0,wn,p$r]}fr=1}else fr=1;if(fr){var K0=0;if(D){var Ur=D[1];if(u0){var Cr=ke(m$r);K0=1}else if(typeof J0=="number"&&!(1<(J0+W2|0)>>>0)){var d0=[0,Ur,[1,Gc(lr([0,Y0],0,0),[0,Ur,_$r])]],Kr=0,re=u0,xe=0;K0=2}}else if(u0){var je=u0[1];if(typeof J0=="number"&&!(1<(J0+W2|0)>>>0)){var d0=[0,je,[1,Gc(lr([0,Y0],0,0),[0,je,y$r])]],Kr=0,re=0,xe=D;K0=2}}var ve=0;switch(K0){case 0:var Ie=function(qt){zu(qt,0);var bt=a(t[20],0,qt);return h7(qt),bt},Me=pr($0),Be=Ie($0),fn=Be[1],Ke=Be[2],Ae=0;if(Ke[0]===1){var xn=Ke[1][2][1],Qe=0;if(n0(xn,d$r)&&n0(xn,h$r)&&(Qe=1),!Qe){var yn=N0($0),on=0;if(typeof yn=="number"){var Ce=yn-5|0;if(92>>0){if(!(94<(Ce+1|0)>>>0)){Rr($0,u0),xr($0,I0);var We=Ke;Ae=1,on=1}}else if(!(1<(Ce+fX|0)>>>0)){var d0=[0,fn,Ke],Kr=Y0,re=u0,xe=D;ve=1,Ae=2,on=1}}if(!on){Xi($0,Ke);var rn=Ie($0),bn=qn(xn,k$r),Cn=un(Y0,Me);Rr($0,u0),xr($0,I0);var Cr=[0,cr([0,jr],function(bt,U0,L0,Re,He){return function(he){var _e=L0[1],Zn=Xi(he,L0[2]),dn=Hr(he,bt,0),it=dn[2][2];if(Re){var ft=it[2],Rn=0;if(ft[1])ue(he,[0,_e,R7]),Rn=1;else{var nt=0;!ft[2]&&!ft[3]&&(Rn=1,nt=1),nt||ue(he,[0,_e,80])}}else{var ht=it[2],tn=0;if(ht[1])ue(he,[0,_e,Xt]),tn=1;else{var cn=ht[2],tt=0;if(ht[3])ue(he,[0,_e,81]);else{var Tt=0;cn&&!cn[2]&&(Tt=1),Tt||(ue(he,[0,_e,81]),tt=1)}tt||(tn=1)}}var Fi=lr([0,He],0,0),hs=0,Iu=0,Vs=0,Vi=U0!==0?1:0,zs=0,Ks=Re?[1,dn]:[2,dn];return[0,Zn,Ks,zs,Vi,Vs,Iu,hs,Fi]}}(jr,D,rn,bn,Cn),$0)];Ae=2}}}var Hn=0;switch(Ae){case 2:Hn=1;break;case 0:var Sn=Be[2],vt=N0($0),At=0;if(typeof vt=="number"){var gt=0;if(vt!==4&&vt!==98&&(gt=1),!gt){Rr($0,u0),xr($0,I0);var We=Sn;At=1}}if(!At){var Jt=D!==0?1:0,Bt=0;if(Sn[0]===1){var Ft=Sn[1],Nt=Ft[2][1],du=0;if(B){var Ku=0;!qn(w$r,Nt)&&(!Jt||!qn(E$r,Nt))&&(Ku=1),Ku||(ue($0,[0,Ft[1],[21,Nt,Jt,0,0]]),Bt=1,du=1)}}var d0=[0,fn,Sn],Kr=Y0,re=u0,xe=D;ve=1,Hn=1}break}if(!Hn)var lt=Xi($0,We),xu=Hr($0,jr,xi($0,u(X,$0))),Mu=[0,xu[1],[12,xu[2]]],z7=[0,lt,[0,Mu],0,D!==0?1:0,0,1,0,lr([0,Y0],0,0)],Cr=[0,[0,Mu[1],z7]];break;case 2:ve=1;break}if(ve){var Yi=d0[2],a7=d0[1];1-iu($0)&&Ge($0,12);var Cr=[0,cr([0,jr],function(qt,bt,U0,L0,Re,He){return function(he){var _e=fu(he,85),Zn=he0(he,86)?u(e,he):[0,He,v$r];return[0,Re,[0,Zn],_e,bt!==0?1:0,U0!==0?1:0,0,qt,lr([0,L0],0,0)]}}(I0,xe,re,Kr,Yi,a7),$0)]}}Or(O0,$0);var Sr=[0,[0,Cr,qr],Br,Mr];continue r}}},b0)}),N(X0,function(B){var Z=N0(B)===41?1:0;if(Z){V0(B,41);for(var p0=0;;){var b0=[0,u(dr,B),p0],O0=N0(B);if(typeof O0=="number"&&O0===9){V0(B,9);var p0=b0;continue}var q0=ge0(B,de(b0));break}}else var q0=Z;return[0,q0,R(E0,0,0,0,B)]}),N(b,function(B){var Z=V7(B),p0=Z[2],b0=p0[1],O0=Z[1];return be0(b0)&&ue(B,[0,O0,3]),[0,O0,[0,b0,p0[2]]]}),N(G0,function(B){return cr(0,function(Z){var p0=u(b,Z),b0=N0(Z)===86?[1,u(i,Z)]:[0,G1(Z)];return[0,p0,b0]},B)}),N(X,function(B){var Z=N0(B)===98?1:0;if(Z){1-iu(B)&&Ge(B,12);var p0=[0,cr(0,function(O0){var q0=pr(O0);V0(O0,98);for(var er=0,yr=0;;){var vr=cr(0,function(ne){return function(Qr){var pe=n(Qr),oe=u(G0,Qr),me=oe[2],ae=N0(Qr),ce=0;if(typeof ae=="number"&&ae===82){ie(Qr);var ge=1,H0=[0,u(e,Qr)];ce=1}if(!ce){ne&&ue(Qr,[0,oe[1],77]);var ge=ne,H0=0}return[0,pe,me[1],me[2],H0,ge]}}(er),O0),$0=vr[2],Sr=[0,[0,vr[1],[0,$0[2],$0[3],$0[1],$0[4]]],yr],Mr=N0(O0),Br=0;if(typeof Mr=="number"){var qr=0;if(Mr!==99&&Pn!==Mr&&(qr=1),!qr){var jr=de(Sr);Br=1}}if(!Br){if(V0(O0,9),N0(O0)!==99){var er=$0[5],yr=Sr;continue}var jr=de(Sr)}var $r=pr(O0);return V0(O0,99),[0,jr,_u([0,q0],[0,we(O0)],$r,0)]}},B)]}else var p0=Z;return p0}),N(s0,function(B){var Z=N0(B)===98?1:0,p0=Z&&[0,cr(0,function(b0){var O0=pr(b0);V0(b0,98);for(var q0=u2(0,b0),er=0;;){var yr=N0(q0);if(typeof yr=="number"){var vr=0;if((yr===99||Pn===yr)&&(vr=1),vr){var $0=de(er),Sr=pr(q0);return V0(q0,99),[0,$0,_u([0,O0],[0,we(q0)],Sr,0)]}}var Mr=[0,u(e,q0),er];N0(q0)!==99&&V0(q0,9);var er=Mr}},B)];return p0}),N(dr,function(B){return a(Ar,B,u(b,B))}),N(Ar,function(B,Z){function p0(b0){for(var O0=[0,Z[1],[0,Z]];;){var q0=O0[2],er=O0[1];if(N0(b0)===10&&_e0(1,b0)){var yr=cr([0,er],function(qr){return function(jr){return V0(jr,10),[0,qr,u(b,jr)]}}(q0),b0),vr=yr[1],O0=[0,vr,[1,[0,vr,yr[2]]]];continue}if(N0(b0)===98)var $0=Wt(b0),Sr=function(Br,qr){return a(Ze(Br,-860373976,77),Br,qr)},Mr=a($0[2],q0,Sr);else var Mr=q0;return[0,Mr,u(s0,b0),0]}}return cr([0,Z[1]],p0,B)}),N(ar,function(B,Z){var p0=a(Ar,B,Z);return[0,p0[1],[16,p0[2]]]}),N(W0,function(B){var Z=N0(B);return typeof Z=="number"&&Z===86?[1,u(i,B)]:[0,G1(B)]}),N(Lr,function(B,Z,p0){var b0=B[2];function O0(gr){return _7(gr,lr([0,Z],[0,p0],0))}switch(b0[0]){case 0:var F0=[0,O0(b0[1])];break;case 1:var F0=[1,O0(b0[1])];break;case 2:var F0=[2,O0(b0[1])];break;case 3:var F0=[3,O0(b0[1])];break;case 4:var F0=[4,O0(b0[1])];break;case 5:var F0=[5,O0(b0[1])];break;case 6:var F0=[6,O0(b0[1])];break;case 7:var F0=[7,O0(b0[1])];break;case 8:var F0=[8,O0(b0[1])];break;case 9:var F0=[9,O0(b0[1])];break;case 10:var F0=[10,O0(b0[1])];break;case 11:var q0=b0[1],er=O0(q0[2]),F0=[11,[0,q0[1],er]];break;case 12:var yr=b0[1],vr=O0(yr[4]),F0=[12,[0,yr[1],yr[2],yr[3],vr]];break;case 13:var $0=b0[1],Sr=lr([0,Z],[0,p0],0),Mr=QD($0[4],Sr),F0=[13,[0,$0[1],$0[2],$0[3],Mr]];break;case 14:var Br=b0[1],qr=O0(Br[3]),F0=[14,[0,Br[1],Br[2],qr]];break;case 15:var jr=b0[1],$r=O0(jr[2]),F0=[15,[0,jr[1],$r]];break;case 16:var ne=b0[1],Qr=O0(ne[3]),F0=[16,[0,ne[1],ne[2],Qr]];break;case 17:var pe=b0[1],oe=O0(pe[3]),F0=[17,[0,pe[1],pe[2],oe]];break;case 18:var me=b0[1],ae=me[1],ce=me[2],ge=O0(ae[3]),F0=[18,[0,[0,ae[1],ae[2],ge],ce]];break;case 19:var H0=b0[1],Fr=O0(H0[2]),F0=[19,[0,H0[1],Fr]];break;case 20:var _=b0[1],k=O0(_[2]),F0=[20,[0,_[1],k]];break;case 21:var I=b0[1],U=O0(I[2]),F0=[21,[0,I[1],U]];break;case 22:var Y=b0[1],y0=O0(Y[2]),F0=[22,[0,Y[1],y0]];break;case 23:var D0=b0[1],I0=O0(D0[3]),F0=[23,[0,D0[1],D0[2],I0]];break;case 24:var D=b0[1],u0=O0(D[3]),F0=[24,[0,D[1],D[2],u0]];break;case 25:var Y0=b0[1],J0=O0(Y0[3]),F0=[25,[0,Y0[1],Y0[2],J0]];break;default:var fr=b0[1],Q0=O0(fr[2]),F0=[26,[0,fr[1],Q0]]}return[0,B[1],F0]});function Wr(B){var Z=pr(B);if(V0(B,66),N0(B)===4){var p0=un(Z,pr(B));V0(B,4),zu(B,0);var b0=u(t[9],B);return h7(B),V0(B,5),[0,[0,b0],lr([0,p0],[0,we(B)],0)]}return[0,0,lr([0,Z],[0,we(B)],0)]}var Jr=0;function or(B){var Z=u2(0,B),p0=N0(Z);return typeof p0=="number"&&p0===66?[0,cr(Jr,Wr,Z)]:0}function _r(B){var Z=N0(B),p0=Yn(1,B);if(typeof Z=="number"&&Z===86){if(typeof p0=="number"&&p0===66){V0(B,86);var b0=or(B);return[0,[0,G1(B)],b0]}var O0=u(W0,B),q0=N0(B)===66?a2(B,O0):O0;return[0,q0,or(B)]}return[0,[0,G1(B)],0]}function Ir(B,Z){var p0=ys(1,Z);zu(p0,1);var b0=u(B,p0);return h7(p0),b0}function fe(B){return Ir(e,B)}function v0(B){return Ir(b,B)}function P(B){return Ir(X,B)}function L(B){return Ir(s0,B)}function Q(B,Z){return Ir(ir(E0,B,0,0),Z)}function i0(B){return Ir(X0,B)}function l0(B){return Ir(l,B)}function S0(B){return Ir(i,B)}function T0(B){return Ir(W0,B)}function rr(B){return Ir(or,B)}function R0(B){return Ir(_r,B)}return[0,fe,v0,P,L,function(B){return Ir(dr,B)},Q,i0,l0,S0,T0,rr,R0]}function vne(t){function n(c,s){if(s[0]===0)return s[1];var p=s[2][1];return Pu(function(y){return ue(c,y)},p),s[1]}function e(c,s,p){var y=c?c[1]:26;if(p[0]===0)var T=p[1];else{var E=p[2][2];Pu(function(A){return ue(s,A)},E);var T=p[1]}1-u(t[23],T)&&ue(s,[0,T[1],y]);var h=T[2],w=0;return h[0]===10&&Bs(h[1][2][1])&&(Y7(s,[0,T[1],52]),w=1),a(t[19],s,T)}function i(c,s){return[0,[0,c,s[1]],[0,c,s[2]]]}function x(c,s){var p=jc(c[2],s[2]);return[0,jc(c[1],s[1]),p]}return[0,n,e,B$r,i,x,function(c){var s=de(c[2]);return[0,de(c[1]),s]}]}function lne(t){function n(S){var M=N0(S);if(typeof M=="number"){var K=M-99|0,V=0;if(6>>0?K===14&&(V=1):4<(K-1|0)>>>0&&(V=1),V)return we(S)}var f0=f7(S);return f0&&Us(S)}function e(S){var M=pr(S);zu(S,0);var K=cr(0,function(f0){V0(f0,0),V0(f0,12);var m0=u(t[10],f0);return V0(f0,1),m0},S);h7(S);var V=lr([0,M],[0,n(S)],0);return[0,K[1],[0,K[2],V]]}function i(S){return N0(S)===1?0:[0,u(t[7],S)]}function x(S){var M=pr(S);zu(S,0);var K=cr(0,function(f0){V0(f0,0);var m0=i(f0);return V0(f0,1),m0},S);h7(S);var V=_u([0,M],[0,n(S)],0,0);return[0,K[1],[0,K[2],V]]}function c(S){zu(S,0);var M=cr(0,function(K){V0(K,0);var V=N0(K),f0=0;if(typeof V=="number"&&V===12){var m0=pr(K);V0(K,12);var k0=u(t[10],K),x0=[3,[0,k0,lr([0,m0],0,0)]];f0=1}if(!f0)var g0=i(K),e0=g0?0:pr(K),x0=[2,[0,g0,_u(0,0,e0,0)]];return V0(K,1),x0},S);return h7(S),[0,M[1],M[2]]}function s(S){var M=De(S),K=N0(S),V=0;if(typeof K!="number"&&K[0]===7){var f0=K[1];V=1}if(!V){St(qQr,S);var f0=UQr}var m0=pr(S);ie(S);var k0=N0(S),g0=0;if(typeof k0=="number"){var e0=k0+jX|0,x0=0;if(72>>0?e0!==76&&(x0=1):70<(e0-1|0)>>>0||(x0=1),!x0){var l=we(S);g0=1}}if(!g0)var l=n(S);return[0,M,[0,f0,lr([0,m0],[0,l],0)]]}function p(S){var M=Yn(1,S);if(typeof M=="number"){if(M===10)for(var K=cr(0,function(m0){var k0=[0,s(m0)];return V0(m0,10),[0,k0,s(m0)]},S);;){var V=N0(S);if(typeof V=="number"&&V===10){var f0=function(k0){return function(g0){return V0(g0,10),[0,[1,k0],s(g0)]}}(K),K=cr([0,K[1]],f0,S);continue}return[2,K]}if(M===86)return[1,cr(0,function(m0){var k0=s(m0);return V0(m0,86),[0,k0,s(m0)]},S)]}return[0,s(S)]}function y(S){return cr(0,function(M){var K=Yn(1,M),V=0;if(typeof K=="number"&&K===86){var f0=[1,cr(0,function(b){var G0=s(b);return V0(b,86),[0,G0,s(b)]},M)];V=1}if(!V)var f0=[0,s(M)];var m0=N0(M),k0=0;if(typeof m0=="number"&&m0===82){V0(M,82);var g0=pr(M),e0=N0(M),x0=0;if(typeof e0=="number")if(e0===0){var l=x(M),c0=l[2],t0=l[1];c0[1]||ue(M,[0,t0,56]);var a0=[0,[1,t0,c0]]}else x0=1;else if(e0[0]===8){V0(M,e0);var w0=[0,e0[2]],_0=lr([0,g0],[0,n(M)],0),a0=[0,[0,e0[1],[0,w0,e0[3],_0]]]}else x0=1;if(x0){Ge(M,57);var a0=[0,[0,De(M),[0,BQr,MQr,0]]]}var E0=a0;k0=1}if(!k0)var E0=0;return[0,f0,E0]},S)}function T(S){return cr(0,function(M){V0(M,98);var K=N0(M);if(typeof K=="number"){if(K===99)return ie(M),jQr}else if(K[0]===7)for(var V=0,f0=p(M);;){var m0=N0(M);if(typeof m0=="number"){if(m0===0){var V=[0,[1,e(M)],V];continue}}else if(m0[0]===7){var V=[0,[0,y(M)],V];continue}var k0=de(V),g0=[0,s1,[0,f0,fu(M,R7),k0]];return fu(M,99)?[0,g0]:(q1(M,99),[1,g0])}return q1(M,99),GQr},S)}function E(S){return cr(0,function(M){V0(M,98),V0(M,R7);var K=N0(M);if(typeof K=="number"){if(K===99)return ie(M),Ni}else if(K[0]===7){var V=p(M);return he0(M,99),[0,s1,[0,V]]}return q1(M,99),Ni},S)}var h=function S(M){return S.fun(M)},w=function S(M){return S.fun(M)},G=function S(M){return S.fun(M)};N(h,function(S){var M=N0(S);if(typeof M=="number"){if(M===0)return c(S)}else if(M[0]===8)return V0(S,M),[0,M[1],[4,[0,M[2],M[3]]]];var K=u(G,S),V=K[2],f0=K[1];return Ni<=V[1]?[0,f0,[1,V[2]]]:[0,f0,[0,V[2]]]});function A(S){switch(S[0]){case 0:return S[1][2][1];case 1:var M=S[1][2],K=Te(DQr,M[2][2][1]);return Te(M[1][2][1],K);default:var V=S[1][2],f0=V[1],m0=f0[0]===0?f0[1][2][1]:A([2,f0[1]]);return Te(m0,Te(LQr,V[2][2][1]))}}return N(w,function(S){var M=pr(S),K=T(S);h7(S);var V=K[2];if(V[0]===0)var f0=V[1],m0=typeof f0=="number"?0:f0[2][2],k0=m0;else var k0=1;if(k0)var g0=IU,e0=g0,x0=cr(0,function(qr){return 0},S);else{zu(S,3);for(var l=De(S),c0=0;;){var t0=i2(S),a0=N0(S),w0=0;if(typeof a0=="number"){var _0=0;if(a0===98){zu(S,2);var E0=N0(S),X0=Yn(1,S),b=0;if(typeof E0=="number"&&E0===98&&typeof X0=="number"){var G0=0;if(R7!==X0&&Pn!==X0&&(G0=1),!G0){var X=E(S),s0=X[2],dr=X[1],Ar=typeof s0=="number"?[0,Ni,dr]:[0,s1,[0,dr,s0[2]]],ar=S[23][1],W0=0;if(ar){var Lr=ar[2];if(Lr){var Tr=Lr[2];W0=1}}if(!W0)var Tr=ke(jRr);S[23][1]=Tr;var Hr=n2(S),Or=Yl(S[24][1],Hr);S[25][1]=Or;var xr=[0,de(c0),t0,Ar];b=1}}if(!b){var Rr=u(w,S),Wr=Rr[2],Jr=Rr[1],or=Ni<=Wr[1]?[0,Jr,[1,Wr[2]]]:[0,Jr,[0,Wr[2]]],c0=[0,or,c0];continue}}else if(Pn===a0){St(0,S);var xr=[0,de(c0),t0,IU]}else w0=1,_0=1;if(!_0)var _r=t0?t0[1]:l,Ir=yt(l,_r),e0=xr[3],x0=[0,Ir,xr[1]]}else w0=1;if(w0){var c0=[0,u(h,S),c0];continue}break}}var fe=we(S),v0=0;if(typeof e0!="number"){var P=e0[1],L=0;if(s1===P){var Q=e0[2],i0=K[2];if(i0[0]===0){var l0=i0[1];if(typeof l0=="number")Ge(S,RQr);else{var S0=A(l0[2][1]);n0(A(Q[2][1]),S0)&&Ge(S,[17,S0])}}var T0=Q[1]}else if(Ni===P){var rr=K[2];if(rr[0]===0){var R0=rr[1];typeof R0!="number"&&Ge(S,[17,A(R0[2][1])])}var T0=e0[2]}else L=1;if(!L){var B=T0;v0=1}}if(!v0)var B=K[1];var Z=K[2][1],p0=K[1];if(typeof Z=="number"){var b0=0,O0=lr([0,M],[0,fe],0);if(typeof e0!="number"){var q0=e0[1],er=0;if(s1===q0)var yr=e0[2][1];else if(Ni===q0)var yr=e0[2];else er=1;if(!er){var vr=yr;b0=1}}if(!b0)var vr=B;var $0=[0,Ni,[0,p0,vr,x0,O0]]}else{var Sr=0,Mr=lr([0,M],[0,fe],0);if(typeof e0!="number"&&s1===e0[1]){var Br=[0,e0[2]];Sr=1}if(!Sr)var Br=0;var $0=[0,s1,[0,[0,p0,Z[2]],Br,x0,Mr]]}return[0,yt(K[1],B),$0]}),N(G,function(S){return zu(S,2),u(w,S)}),[0,n,e,i,x,c,s,p,y,T,E,h,w,G]}function gi(t){return typeof t=="number"?0:t[0]===0?1:t[1]}function bne(t,n){return[0,t,n]}function tb(t,n,e){return[1,2,n,e,t,0]}function ub(t,n,e){return[1,2,t,n,0,e]}function Xc(t,n,e,i){var x=gi(t),c=gi(i),s=c<=x?x+1|0:c+1|0;return s===1?[0,n,e]:[1,s,n,e,t,i]}function IL(t,n){var e=n!==0?1:0;if(e){if(n!==1){var i=n>>>1|0,x=IL(t,i),c=u(t,0),s=IL(t,(n-i|0)-1|0),p=c[2],y=c[1];return[1,gi(x)+1|0,y,p,x,s]}var T=u(t,0),E=[0,T[1],T[2]]}else var E=e;return E}function D9(t,n,e,i){var x=gi(t),c=gi(i),s=c<=x?x+1|0:c+1|0;return[1,s,n,e,t,i]}function Ou(t,n,e,i){var x=gi(t),c=gi(i);if((c+2|0)>>0){if(!(F7<(Or+1|0)>>>0)){var xr=Tr[3],Rr=Tr[4],Wr=de(Tr[1][4]),Jr=de(Tr[1][3]),or=de(Tr[1][2]),_r=de(Tr[1][1]),Ir=un(Rr,pr(G0));V0(G0,1);var fe=N0(G0),v0=0;if(typeof fe=="number"){var P=0;if(fe!==1&&Pn!==fe&&(v0=1,P=1),!P)var Q=we(G0)}else v0=1;if(v0)var L=f7(G0),Q=L&&Us(G0);var i0=_u([0,Lr],[0,Q],Ir,0);if(ar)switch(ar[1]){case 0:return[0,[0,_r,1,xr,i0]];case 1:return[1,[0,or,1,xr,i0]];case 2:var l0=1;break;default:return[3,[0,Wr,xr,i0]]}else{var S0=Rc(_r),T0=Rc(or),rr=Rc(Jr),R0=Rc(Wr),B=0;if(S0===0&&T0===0){var Z=0;if(rr===0&&R0===0&&(B=1,Z=1),!Z){var l0=0;B=2}}var p0=0;switch(B){case 0:if(T0===0&&rr===0&&R0<=S0)return Pu(function(K0){return ue(G0,[0,K0[1],[0,E0,K0[2][1][2][1]]])},Wr),[0,[0,_r,0,xr,i0]];if(S0===0&&rr===0&&R0<=T0)return Pu(function(K0){return ue(G0,[0,K0[1],[8,E0,K0[2][1][2][1]]])},Wr),[1,[0,or,0,xr,i0]];ue(G0,[0,X0,[2,E0]]);break;case 1:break;default:p0=1}if(!p0)return[2,[0,a$r,0,xr,i0]]}var b0=Rc(Jr),O0=Rc(Wr);if(b0!==0){var q0=0;if(O0!==0&&(b0>>0)F7<(Sr+1|0)>>>0&&(Mr=1);else if(Sr===7){V0(G0,9);var Br=N0(G0),qr=0;if(typeof Br=="number"){var jr=0;if(Br!==1&&Pn!==Br&&(jr=1),!jr){var $r=1;qr=1}}if(!qr)var $r=0;ue(G0,[0,er,[7,$r]])}else Mr=1;Mr||($0=1)}$0||ue(G0,[0,er,n$r]);var Tr=[0,Tr[1],Tr[2],1,yr];continue}}var ne=Tr[2],Qr=Tr[1],pe=cr(x,i,G0),oe=pe[2],me=oe[1],ae=me[2][1];if(qn(ae,t$r))var ce=Tr;else{var ge=me[1],H0=oe[2],Fr=pe[1],_=Ot(ae,0),k=97<=_?1:0,I=k&&(_<=In?1:0);I&&ue(G0,[0,ge,[6,E0,ae]]),a(Gu[3],ae,ne)&&ue(G0,[0,ge,[1,E0,ae]]);var U=Tr[4],Y=Tr[3],y0=a(Gu[4],ae,ne),D0=[0,Tr[1],y0,Y,U],I0=function(Ur){return function(d0,Kr){return ar&&ar[1]!==d0?ue(G0,[0,Kr,[5,E0,ar,Ur]]):0}}(ae);if(typeof H0=="number"){var D=0;if(ar){var u0=ar[1],Y0=0;if(u0===1?ue(G0,[0,Fr,[8,E0,ae]]):u0?(D=1,Y0=1):ue(G0,[0,Fr,[0,E0,ae]]),!Y0)var J0=D0}else D=1;if(D)var J0=[0,[0,Qr[1],Qr[2],Qr[3],[0,[0,Fr,[0,me]],Qr[4]]],y0,Y,U]}else switch(H0[0]){case 0:ue(G0,[0,H0[1],[5,E0,ar,ae]]);var J0=D0;break;case 1:var fr=H0[1];I0(0,fr);var J0=[0,[0,[0,[0,Fr,[0,me,[0,fr,H0[2]]]],Qr[1]],Qr[2],Qr[3],Qr[4]],y0,Y,U];break;case 2:var Q0=H0[1];I0(1,Q0);var J0=[0,[0,Qr[1],[0,[0,Fr,[0,me,[0,Q0,H0[2]]]],Qr[2]],Qr[3],Qr[4]],y0,Y,U];break;default:var F0=H0[1];I0(2,F0);var J0=[0,[0,Qr[1],Qr[2],[0,[0,Fr,[0,me,[0,F0,H0[2]]]],Qr[3]],Qr[4]],y0,Y,U]}var ce=J0}var gr=N0(G0),mr=0;if(typeof gr=="number"){var Cr=gr-2|0,sr=0;Ht>>0?F7<(Cr+1|0)>>>0&&(sr=1):Cr===6?(Ge(G0,1),V0(G0,8)):sr=1,sr||(mr=1)}mr||V0(G0,9);var Tr=ce}},a0);return[16,[0,_0,b,lr([0,w0],0,0)]]}var s=0;function p(a0){return cr(s,c,a0)}function y(a0,w0){var _0=w0[2][1],E0=w0[1],X0=a0[1];Bs(_0)&&Y7(X0,[0,E0,41]);var b=I9(_0),G0=b||f2(_0);return G0&&Y7(X0,[0,E0,55]),[0,X0,a0[2]]}function T(a0,w0){var _0=w0[2];switch(_0[0]){case 0:return be(E,a0,_0[1][1]);case 1:return be(h,a0,_0[1][1]);case 2:var E0=_0[1][1],X0=E0[2][1],b=a0[2],G0=a0[1];a(Gu[3],X0,b)&&ue(G0,[0,E0[1],42]);var X=y([0,G0,b],E0),s0=a(Gu[4],X0,X[2]);return[0,X[1],s0];default:return ue(a0[1],[0,w0[1],31]),a0}}function E(a0,w0){if(w0[0]===0){var _0=w0[1][2],E0=_0[1],X0=E0[0]===1?y(a0,E0[1]):a0;return T(X0,_0[2])}return T(a0,w0[1][2][1])}function h(a0,w0){return w0[0]===2?a0:T(a0,w0[1][2][1])}function w(a0,w0,_0,E0){var X0=a0[5],b=U1(E0),G0=E0[2],X=G0[3],s0=ys(X0?0:w0,a0),dr=w0||X0||1-b;if(dr){if(_0){var Ar=_0[1],ar=Ar[2][1],W0=Ar[1];Bs(ar)&&Y7(s0,[0,W0,44]);var Lr=I9(ar),Tr=Lr||f2(ar);Tr&&Y7(s0,[0,W0,55])}var Hr=G0[2],Or=[0,s0,Gu[1]],xr=be(function(or,_r){return T(or,_r[2][1])},Or,Hr),Rr=X&&(T(xr,X[1][2][1]),0),Wr=Rr}else var Wr=dr;return Wr}var G=function a0(w0,_0){return a0.fun(w0,_0)};function A(a0){N0(a0)===21&&Ge(a0,c7);var w0=a(se[18],a0,41),_0=N0(a0)===82?1:0,E0=_0&&(V0(a0,82),[0,u(se[10],a0)]);return[0,w0,E0]}var S=0;N(G,function(a0,w0){var _0=N0(a0);if(typeof _0=="number"){var E0=_0-5|0,X0=0;if(7>>0?fs===E0&&(X0=1):5<(E0-1|0)>>>0&&(X0=1),X0){var b=_0===12?1:0;if(b)var G0=pr(a0),X=cr(0,function(ar){return V0(ar,12),a(se[18],ar,41)},a0),s0=lr([0,G0],0,0),dr=[0,[0,X[1],[0,X[2],s0]]];else var dr=b;return N0(a0)!==5&&Ge(a0,64),[0,de(w0),dr]}}var Ar=cr(S,A,a0);return N0(a0)!==5&&V0(a0,9),a(G,a0,[0,Ar,w0])});function M(a0,w0){function _0(X0){var b=dL(w0,ie0(a0,X0)),G0=1,X=b[10]===1?b:[0,b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],G0,b[11],b[12],b[13],b[14],b[15],b[16],b[17],b[18],b[19],b[20],b[21],b[22],b[23],b[24],b[25],b[26],b[27],b[28],b[29],b[30]],s0=pr(X);V0(X,4);var dr=iu(X),Ar=dr&&(N0(X)===21?1:0);if(Ar){var ar=pr(X),W0=cr(0,function(or){return V0(or,21),N0(or)===86?[0,u(t[9],or)]:(Ge(or,Ri),0)},X),Lr=W0[2];if(Lr){N0(X)===9&&ie(X);var Tr=lr([0,ar],0,0),Hr=[0,[0,W0[1],[0,Lr[1],Tr]]]}else var Hr=Lr;var Or=Hr}else var Or=Ar;var xr=a(G,X,0),Rr=pr(X);V0(X,5);var Wr=_u([0,s0],[0,we(X)],Rr,0);return[0,Or,xr[1],xr[2],Wr]}var E0=0;return function(X0){return cr(E0,_0,X0)}}function K(a0,w0,_0,E0,X0){var b=se0(a0,w0,_0,X0),G0=a(se[16],E0,b);return[0,[0,G0[1]],G0[2]]}function V(a0,w0,_0){var E0=De(a0),X0=N0(a0),b=0;if(typeof X0=="number")if(c7===X0){var G0=pr(a0);ie(a0);var s0=[0,[0,E0,[0,0,lr([0,G0],0,0)]]]}else if(D7===X0){var X=pr(a0);ie(a0);var s0=[0,[0,E0,[0,1,lr([0,X],0,0)]]]}else b=1;else b=1;if(b)var s0=0;if(s0){var dr=0;if(!w0&&!_0&&(dr=1),!dr)return ue(a0,[0,s0[1][1],7]),0}return s0}function f0(a0){if(Xt===N0(a0)){var w0=pr(a0);return ie(a0),[0,1,w0]}return M$r}function m0(a0){if(N0(a0)===64&&!Jl(1,a0)){var w0=pr(a0);return ie(a0),[0,1,w0]}return G$r}function k0(a0){var w0=m0(a0),_0=w0[1],E0=w0[2],X0=cr(0,function(W0){var Lr=pr(W0);V0(W0,15);var Tr=f0(W0),Hr=Tr[1],Or=pl([0,E0,[0,Lr,[0,Tr[2],0]]]),xr=W0[7],Rr=N0(W0),Wr=0;if(xr&&typeof Rr=="number"){if(Rr===4){var Ir=0,fe=0;Wr=1}else if(Rr===98){var Jr=xi(W0,u(t[3],W0)),or=N0(W0)===4?0:[0,ds(W0,a(se[13],D$r,W0))],Ir=or,fe=Jr;Wr=1}}if(!Wr)var _r=M1(W0)?ds(W0,a(se[13],L$r,W0)):(de0(W0,R$r),[0,De(W0),j$r]),Ir=[0,_r],fe=xi(W0,u(t[3],W0));var v0=u(M(_0,Hr),W0),P=N0(W0)===86?v0:eb(W0,v0),L=u(t[12],W0),Q=L[2],i0=L[1];if(Q)var l0=Se0(W0,Q),S0=i0;else var l0=Q,S0=a2(W0,i0);return[0,Hr,fe,Ir,P,S0,l0,Or]},a0),b=X0[2],G0=b[4],X=b[3],s0=b[1],dr=K(a0,_0,s0,0,U1(G0));w(a0,dr[2],X,G0);var Ar=X0[1],ar=lr([0,b[7]],0,0);return[23,[0,X,G0,dr[1],_0,s0,b[6],b[5],b[2],ar,Ar]]}var g0=0;function e0(a0){return cr(g0,k0,a0)}function x0(a0,w0){var _0=pr(w0);V0(w0,a0);for(var E0=0,X0=0;;){var b=cr(0,function(ar){var W0=a(se[18],ar,40);if(fu(ar,82))var Lr=0,Tr=[0,u(se[10],ar)];else if(W0[2][0]===2)var Lr=0,Tr=0;else var Lr=[0,[0,W0[1],59]],Tr=0;return[0,[0,W0,Tr],Lr]},w0),G0=b[2],X=G0[2],s0=[0,[0,b[1],G0[1]],E0],dr=X?[0,X[1],X0]:X0;if(fu(w0,9)){var E0=s0,X0=dr;continue}var Ar=de(dr);return[0,de(s0),_0,Ar]}}var l=24;function c0(a0){return x0(l,a0)}function t0(a0){var w0=x0(27,T9(1,a0)),_0=w0[1],E0=w0[3],X0=de(be(function(b,G0){return G0[2][2]?b:[0,[0,G0[1],58],b]},E0,_0));return[0,_0,w0[2],X0]}return[0,m0,f0,V,M,K,w,function(a0){return x0(28,T9(1,a0))},t0,c0,e0,p]}(ln),j9=vne(se),oi=function(t){function n(P){var L=P[2];switch(L[0]){case 17:var Q=L[1],i0=Q[1][2][1];if(n0(i0,AQr)){if(!n0(i0,NQr)){var l0=n0(Q[2][2][1],CQr);if(!l0)return l0}}else{var S0=n0(Q[2][2][1],PQr);if(!S0)return S0}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1}var e=t[1],i=function P(L){return P.fun(L)},x=function P(L){return P.fun(L)},c=function P(L){return P.fun(L)},s=function P(L){return P.fun(L)},p=function P(L){return P.fun(L)},y=function P(L){return P.fun(L)},T=function P(L){return P.fun(L)},E=function P(L){return P.fun(L)},h=function P(L){return P.fun(L)},w=function P(L){return P.fun(L)},G=function P(L){return P.fun(L)},A=function P(L){return P.fun(L)},S=function P(L){return P.fun(L)},M=function P(L){return P.fun(L)},K=function P(L){return P.fun(L)},V=function P(L){return P.fun(L)},f0=function P(L){return P.fun(L)},m0=function P(L,Q,i0,l0,S0){return P.fun(L,Q,i0,l0,S0)},k0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},g0=function P(L){return P.fun(L)},e0=function P(L){return P.fun(L)},x0=function P(L){return P.fun(L)},l=function P(L,Q,i0,l0,S0){return P.fun(L,Q,i0,l0,S0)},c0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},t0=function P(L){return P.fun(L)},a0=function P(L,Q,i0){return P.fun(L,Q,i0)},w0=function P(L){return P.fun(L)},_0=function P(L,Q,i0){return P.fun(L,Q,i0)},E0=function P(L){return P.fun(L)},X0=function P(L){return P.fun(L)},b=function P(L,Q){return P.fun(L,Q)},G0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},X=function P(L){return P.fun(L)},s0=function P(L,Q,i0){return P.fun(L,Q,i0)},dr=function P(L){return P.fun(L)},Ar=function P(L){return P.fun(L)},ar=function P(L){return P.fun(L)},W0=function P(L,Q,i0){return P.fun(L,Q,i0)},Lr=t[2];function Tr(P){var L=De(P),Q=u(y,P),i0=u(p,P);if(i0){var l0=i0[1];return[0,cr([0,L],function(S0){var T0=ir(Lr,0,S0,Q);return[2,[0,l0,T0,u(x,S0),0]]},P)]}return Q}function Hr(P,L){if(typeof L=="number"){var Q=L!==55?1:0;if(!Q)return Q}throw Hs}function Or(P){var L=O9(Hr,P),Q=Tr(L),i0=N0(L);if(typeof i0=="number"){if(i0===11)throw Hs;if(i0===86){var l0=oe0(L),S0=0;if(l0){var T0=l0[1];if(typeof T0=="number"&&T0===5){var rr=1;S0=1}}if(!S0)var rr=0;if(rr)throw Hs}}if(M1(L)){if(Q[0]===0){var R0=Q[1][2];if(R0[0]===10&&!n0(R0[1][2][1],IQr)&&!f7(L))throw Hs}return Q}return Q}N(i,function(P){var L=N0(P),Q=0,i0=M1(P);if(typeof L=="number"){var l0=0;if(22<=L)if(L===58){if(P[17])return[0,u(c,P)];l0=1}else L!==98&&(l0=1);else L!==4&&!(21<=L)&&(l0=1);l0||(Q=1)}if(!Q&&!i0)return Tr(P);var S0=0;if(L===64&&iu(P)&&Yn(1,P)===98){var T0=Or,rr=ar;S0=1}if(!S0)var T0=ar,rr=Or;var R0=FL(P,rr);if(R0)return R0[1];var B=FL(P,T0);return B?B[1]:Tr(P)}),N(x,function(P){return a(e,P,u(i,P))}),N(c,function(P){return cr(0,function(L){L[10]&&Ge(L,91);var Q=pr(L),i0=De(L);V0(L,58);var l0=De(L);if(x2(L))var S0=0,T0=0;else{var rr=fu(L,Xt),R0=N0(L),B=0;if(typeof R0=="number"){var Z=0;if(R0!==86)if(10<=R0)Z=1;else switch(R0){case 0:case 2:case 3:case 4:case 6:Z=1;break}if(!Z){var p0=0;B=1}}if(!B)var p0=1;var b0=rr||p0,O0=b0&&[0,u(x,L)],S0=rr,T0=O0}var q0=T0?0:we(L),er=yt(i0,l0);return[30,[0,T0,lr([0,Q],[0,q0],0),S0,er]]},P)}),N(s,function(P){var L=P[2];switch(L[0]){case 17:var Q=L[1],i0=Q[1][2][1];if(n0(i0,gQr)){if(!n0(i0,FQr)){var l0=n0(Q[2][2][1],TQr);if(!l0)return l0}}else{var S0=n0(Q[2][2][1],OQr);if(!S0)return S0}break;case 10:case 16:break;default:return 0}return 1}),N(p,function(P){var L=N0(P),Q=0;if(typeof L=="number"){var i0=L-67|0;if(!(15>>0)){switch(i0){case 0:var l0=oQr;break;case 1:var l0=cQr;break;case 2:var l0=sQr;break;case 3:var l0=vQr;break;case 4:var l0=lQr;break;case 5:var l0=bQr;break;case 6:var l0=pQr;break;case 7:var l0=mQr;break;case 8:var l0=_Qr;break;case 9:var l0=yQr;break;case 10:var l0=dQr;break;case 11:var l0=hQr;break;case 12:var l0=kQr;break;case 13:var l0=wQr;break;case 14:var l0=EQr;break;default:var l0=SQr}var S0=l0;Q=1}}if(!Q)var S0=0;return S0!==0&&ie(P),S0}),N(y,function(P){var L=De(P),Q=u(E,P);if(N0(P)===85){ie(P);var i0=u(x,Kl(0,P));V0(P,86);var l0=cr(0,x,P),S0=yt(L,l0[1]),T0=l0[2];return[0,[0,S0,[7,[0,a(e,P,Q),i0,T0,0]]]]}return Q}),N(T,function(P){return a(e,P,u(y,P))});function xr(P,L,Q,i0,l0){var S0=a(e,P,L);return[0,[0,l0,[15,[0,i0,S0,a(e,P,Q),0]]]]}function Rr(P,L,Q,i0){for(var l0=P,S0=Q,T0=i0;;){var rr=N0(L);if(typeof rr=="number"&&rr===84){1-l0&&Ge(L,aQr),V0(L,84);var R0=cr(0,h,L),B=R0[2],Z=R0[1],p0=N0(L),b0=0;if(typeof p0=="number"&&!(1<(p0-87|0)>>>0)){Ge(L,[23,sL(p0)]);var O0=Jr(L,B,Z),q0=Wr(L,O0[2],O0[1]),er=q0[2],yr=q0[1];b0=1}if(!b0)var er=B,yr=Z;var vr=yt(T0,yr),l0=1,S0=xr(L,S0,er,2,vr),T0=vr;continue}return[0,T0,S0]}}function Wr(P,L,Q){for(var i0=L,l0=Q;;){var S0=N0(P);if(typeof S0=="number"&&S0===87){ie(P);var T0=cr(0,h,P),rr=Jr(P,T0[2],T0[1]),R0=yt(l0,rr[1]),B=Rr(0,P,xr(P,i0,rr[2],0,R0),R0),i0=B[2],l0=B[1];continue}return[0,l0,i0]}}function Jr(P,L,Q){for(var i0=L,l0=Q;;){var S0=N0(P);if(typeof S0=="number"&&S0===88){ie(P);var T0=cr(0,h,P),rr=yt(l0,T0[1]),R0=Rr(0,P,xr(P,i0,T0[2],1,rr),rr),i0=R0[2],l0=R0[1];continue}return[0,l0,i0]}}N(E,function(P){var L=cr(0,h,P),Q=L[2],i0=L[1],l0=N0(P),S0=0;if(typeof l0=="number"&&l0===84){var rr=Rr(1,P,Q,i0);S0=1}if(!S0)var T0=Jr(P,Q,i0),rr=Wr(P,T0[2],T0[1]);return rr[2]});function or(P,L,Q,i0){return[0,i0,[3,[0,Q,P,L,0]]]}N(h,function(P){var L=0;r:for(;;){var Q=cr(0,function(k){var I=u(w,k)!==0?1:0;return[0,I,u(G,Kl(0,k))]},P),i0=Q[2],l0=i0[2],S0=Q[1];if(N0(P)===98){var T0=0;l0[0]===0&&l0[1][2][0]===12?Ge(P,63):T0=1}var rr=N0(P),R0=0;if(typeof rr=="number"){var B=rr-17|0,Z=0;if(1>>0)if(72<=B)switch(B-72|0){case 0:var p0=BZr;break;case 1:var p0=qZr;break;case 2:var p0=UZr;break;case 3:var p0=HZr;break;case 4:var p0=XZr;break;case 5:var p0=YZr;break;case 6:var p0=VZr;break;case 7:var p0=zZr;break;case 8:var p0=KZr;break;case 9:var p0=WZr;break;case 10:var p0=JZr;break;case 11:var p0=$Zr;break;case 12:var p0=ZZr;break;case 13:var p0=QZr;break;case 14:var p0=rQr;break;case 15:var p0=eQr;break;case 16:var p0=nQr;break;case 17:var p0=tQr;break;case 18:var p0=uQr;break;case 19:var p0=iQr;break;default:Z=1}else Z=1;else var p0=B?fQr:P[12]?0:xQr;if(!Z){var b0=p0;R0=1}}if(!R0)var b0=0;if(b0!==0&&ie(P),!L&&!b0)return l0;if(b0){var O0=b0[1],q0=O0[1],er=i0[1],yr=er&&(q0===14?1:0);yr&&ue(P,[0,S0,27]);for(var vr=a(e,P,l0),$0=vr,Sr=[0,q0,O0[2]],Mr=S0,Br=L;;){var qr=Sr[2],jr=Sr[1];if(Br){var $r=Br[1],ne=$r[2],Qr=ne[2],pe=Qr[0]===0?Qr[1]:Qr[1]-1|0;if(qr[1]<=pe){var oe=yt($r[3],Mr),me=or($r[1],$0,ne[1],oe),$0=me,Sr=[0,jr,qr],Mr=oe,Br=Br[2];continue}}var L=[0,[0,$0,[0,jr,qr],Mr],Br];continue r}}for(var ae=a(e,P,l0),ce=S0,ge=L;;){if(ge){var H0=ge[1],Fr=yt(H0[3],ce),_=ge[2],ae=or(H0[1],ae,H0[2][1],Fr),ce=Fr,ge=_;continue}return[0,ae]}}}),N(w,function(P){var L=N0(P);if(typeof L=="number"){if(48<=L){if(c7<=L){if(!(vf<=L))switch(L-103|0){case 0:return CZr;case 1:return PZr;case 6:return DZr;case 7:return LZr}}else if(L===65&&P[18])return RZr}else if(45<=L)switch(L+mv|0){case 0:return jZr;case 1:return GZr;default:return MZr}}return 0}),N(G,function(P){var L=De(P),Q=pr(P),i0=u(w,P);if(i0){var l0=i0[1];ie(P);var S0=cr(0,A,P),T0=S0[2],rr=yt(L,S0[1]),R0=0;if(l0===6){var B=T0[2],Z=0;switch(B[0]){case 10:Y7(P,[0,rr,47]);break;case 16:B[1][2][0]===1&&ue(P,[0,rr,88]);break;default:Z=1}Z||(R0=1)}return[0,[0,rr,[28,[0,l0,T0,lr([0,Q],0,0)]]]]}var p0=N0(P),b0=0;if(typeof p0=="number")if(vf===p0)var O0=NZr;else if(F7===p0)var O0=AZr;else b0=1;else b0=1;if(b0)var O0=0;if(O0){ie(P);var q0=cr(0,A,P),er=q0[2];1-u(s,er)&&ue(P,[0,er[1],26]);var yr=er[2],vr=0;yr[0]===10&&Bs(yr[1][2][1])&&(Si(P,54),vr=1);var $0=yt(L,q0[1]),Sr=lr([0,Q],0,0);return[0,[0,$0,[29,[0,O0[1],er,1,Sr]]]]}return u(S,P)}),N(A,function(P){return a(e,P,u(G,P))}),N(S,function(P){var L=u(M,P);if(f7(P))return L;var Q=N0(P),i0=0;if(typeof Q=="number")if(vf===Q)var l0=IZr;else if(F7===Q)var l0=OZr;else i0=1;else i0=1;if(i0)var l0=0;if(l0){var S0=a(e,P,L);1-u(s,S0)&&ue(P,[0,S0[1],26]);var T0=S0[2],rr=0;T0[0]===10&&Bs(T0[1][2][1])&&(Si(P,53),rr=1);var R0=De(P);ie(P);var B=we(P),Z=yt(S0[1],R0),p0=lr(0,[0,B],0);return[0,[0,Z,[29,[0,l0[1],S0,0,p0]]]]}return L}),N(M,function(P){var L=De(P),Q=1-P[16],i0=0,l0=P[16]===0?P:[0,P[1],P[2],P[3],P[4],P[5],P[6],P[7],P[8],P[9],P[10],P[11],P[12],P[13],P[14],P[15],i0,P[17],P[18],P[19],P[20],P[21],P[22],P[23],P[24],P[25],P[26],P[27],P[28],P[29],P[30]],S0=N0(l0),T0=0;if(typeof S0=="number"){var rr=S0-44|0;if(!(7>>0)){var R0=0;switch(rr){case 0:if(Q)var B=[0,u(g0,l0)];else R0=1;break;case 6:var B=[0,u(f0,l0)];break;case 7:var B=[0,u(V,l0)];break;default:R0=1}if(!R0){var Z=B;T0=1}}}if(!T0)var Z=qs(l0)?[0,u(t0,l0)]:u(E0,l0);return b7(m0,0,0,l0,L,Z)}),N(K,function(P){return a(e,P,u(M,P))}),N(V,function(P){switch(P[21]){case 0:var L=0,Q=0;break;case 1:var L=0,Q=1;break;default:var L=1,Q=1}var i0=De(P),l0=pr(P);V0(P,51);var S0=[0,i0,[23,[0,lr([0,l0],[0,we(P)],0)]]],T0=N0(P);if(typeof T0=="number"&&!(11<=T0))switch(T0){case 4:var rr=L?S0:(ue(P,[0,i0,5]),[0,i0,[10,Gc(0,[0,i0,EZr])]]);return R(k0,SZr,P,i0,rr);case 6:case 10:var R0=Q?S0:(ue(P,[0,i0,4]),[0,i0,[10,Gc(0,[0,i0,FZr])]]);return R(k0,TZr,P,i0,R0)}return Q?St(gZr,P):ue(P,[0,i0,4]),S0}),N(f0,function(P){return cr(0,function(L){var Q=pr(L),i0=De(L);if(V0(L,50),fu(L,10)){var l0=Gc(0,[0,i0,hZr]),S0=De(L);Zl(L,kZr);var T0=Gc(0,[0,S0,wZr]);return[17,[0,l0,T0,lr([0,Q],[0,we(L)],0)]]}var rr=pr(L);V0(L,4);var R0=ir(s0,[0,rr],0,u(x,Kl(0,L)));return V0(L,5),[11,[0,R0,lr([0,Q],[0,we(L)],0)]]},P)}),N(m0,function(P,L,Q,i0,l0){var S0=P?P[1]:1,T0=L&&L[1],rr=b7(l,[0,S0],[0,T0],Q,i0,l0),R0=oe0(Q),B=0;if(R0){var Z=R0[1];if(typeof Z=="number"&&Z===83){var p0=1;B=1}}if(!B)var p0=0;function b0(vr){var $0=Wt(vr);function Sr(Br,qr){return a(Ze(Br,Di,78),Br,qr)}var Mr=a(e,vr,rr);return a($0[2],Mr,Sr)}function O0(vr,$0,Sr){var Mr=u(x0,$0),Br=Mr[1],qr=yt(i0,Br),jr=[0,Sr,vr,[0,Br,Mr[2]],0],$r=0;if(!p0&&!T0){var ne=[4,jr];$r=1}if(!$r)var ne=[20,[0,jr,qr,p0]];var Qr=T0||p0;return b7(m0,[0,S0],[0,Qr],$0,i0,[0,[0,qr,ne]])}if(Q[13])return rr;var q0=N0(Q);if(typeof q0=="number"){var er=q0-98|0;if(2>>0){if(er===-94)return O0(0,Q,b0(Q))}else if(er!==1&&iu(Q)){var yr=O9(function(vr,$0){throw Hs},Q);return we0(yr,rr,function(vr){var $0=b0(vr);return O0(u(e0,vr),vr,$0)})}}return rr}),N(k0,function(P,L,Q,i0){var l0=P?P[1]:1;return a(e,L,b7(m0,[0,l0],0,L,Q,[0,i0]))}),N(g0,function(P){return cr(0,function(L){var Q=De(L),i0=pr(L);if(V0(L,44),L[11]&&N0(L)===10){var l0=we(L);ie(L);var S0=Gc(lr([0,i0],[0,l0],0),[0,Q,mZr]),T0=N0(L);return typeof T0!="number"&&T0[0]===4&&!n0(T0[3],_Zr)?[17,[0,S0,a(se[13],0,L),0]]:(St(yZr,L),ie(L),[10,S0])}var rr=De(L),R0=N0(L),B=0;if(typeof R0=="number")if(R0===44)var Z=u(g0,L);else if(R0===51)var Z=u(V,hL(1,L));else B=1;else B=1;if(B)var Z=qs(L)?u(t0,L):u(X0,L);var p0=R(c0,dZr,hL(1,L),rr,Z),b0=N0(L),O0=0;if(typeof b0!="number"&&b0[0]===3){var q0=R(G0,L,rr,p0,b0[1]);O0=1}if(!O0)var q0=p0;var er=0;if(N0(L)!==4){var yr=0;if(iu(L)&&N0(L)===98&&(yr=1),!yr){var Sr=q0;er=1}}if(!er)var vr=Wt(L),$0=function(ne,Qr){return a(Ze(ne,Di,79),ne,Qr)},Sr=a(vr[2],q0,$0);var Mr=iu(L),Br=Mr&&we0(O9(function(ne,Qr){throw Hs},L),0,e0),qr=N0(L),jr=0;if(typeof qr=="number"&&qr===4){var $r=[0,u(x0,L)];jr=1}if(!jr)var $r=0;return[18,[0,Sr,Br,$r,lr([0,i0],0,0)]]},P)});function _r(P){var L=pr(P);V0(P,98);for(var Q=0;;){var i0=N0(P);if(typeof i0=="number"){var l0=0;if((i0===99||Pn===i0)&&(l0=1),l0){var S0=de(Q),T0=pr(P);V0(P,99);var rr=N0(P)===4?Wt(P)[1]:we(P);return[0,S0,_u([0,L],[0,rr],T0,0)]}}var R0=N0(P),B=0;if(typeof R0!="number"&&R0[0]===4&&!n0(R0[2],bZr)){var Z=De(P),p0=pr(P);Zl(P,pZr);var b0=[1,[0,Z,[0,lr([0,p0],[0,we(P)],0)]]];B=1}if(!B)var b0=[0,u(ln[1],P)];var O0=[0,b0,Q];N0(P)!==99&&V0(P,9);var Q=O0}}N(e0,function(P){zu(P,1);var L=N0(P)===98?1:0,Q=L&&[0,cr(0,_r,P)];return h7(P),Q});function Ir(P){var L=pr(P);V0(P,12);var Q=u(x,P);return[0,Q,lr([0,L],0,0)]}N(x0,function(P){return cr(0,function(L){var Q=pr(L);V0(L,4);for(var i0=0;;){var l0=N0(L);if(typeof l0=="number"){var S0=0;if((l0===5||Pn===l0)&&(S0=1),S0){var T0=de(i0),rr=pr(L);return V0(L,5),[0,T0,_u([0,Q],[0,we(L)],rr,0)]}}var R0=N0(L),B=0;if(typeof R0=="number"&&R0===12){var Z=[1,cr(0,Ir,L)];B=1}if(!B)var Z=[0,u(x,L)];var p0=[0,Z,i0];N0(L)!==5&&V0(L,9);var i0=p0}},P)}),N(l,function(P,L,Q,i0,l0){var S0=P?P[1]:1,T0=L&&L[1],rr=N0(Q),R0=0;if(typeof rr=="number")switch(rr){case 6:ie(Q);var B=0,Z=[0,T0],p0=[0,S0];R0=2;break;case 10:ie(Q);var b0=0,O0=[0,T0],q0=[0,S0];R0=1;break;case 83:1-S0&&Ge(Q,99),V0(Q,83);var er=0,yr=N0(Q);if(typeof yr=="number")switch(yr){case 4:return l0;case 6:ie(Q);var B=oZr,Z=cZr,p0=[0,S0];R0=2,er=1;break;case 98:if(iu(Q))return l0;break}else if(yr[0]===3)return Ge(Q,ni),l0;if(!er){var b0=sZr,O0=vZr,q0=[0,S0];R0=1}break}else if(rr[0]===3){T0&&Ge(Q,ni);var vr=rr[1];return b7(m0,lZr,0,Q,i0,[0,R(G0,Q,i0,a(e,Q,l0),vr)])}switch(R0){case 0:return l0;case 1:var $0=q0?S0:1,Sr=O0&&O0[1],Mr=b0&&b0[1],Br=N0(Q),qr=0;if(typeof Br=="number"&&Br===14){var jr=Ae0(Q),$r=jr[1],ne=Q[29][1],Qr=jr[2][1];if(ne){var pe=ne[1];Q[29][1]=[0,[0,pe[1],[0,[0,Qr,$r],pe[2]]],ne[2]]}else ue(Q,[0,$r,89]);var me=[1,jr],ae=$r;qr=1}if(!qr)var oe=V7(Q),me=[0,oe],ae=oe[1];var ce=yt(i0,ae),ge=0;l0[0]===0&&l0[1][2][0]===23&&me[0]===1&&(ue(Q,[0,ce,90]),ge=1);var H0=[0,a(e,Q,l0),me,0],Fr=Sr?[21,[0,H0,ce,Mr]]:[16,H0];return b7(m0,[0,$0],[0,Sr],Q,i0,[0,[0,ce,Fr]]);default:var _=p0?S0:1,k=Z&&Z[1],I=B&&B[1],U=hL(0,Q),Y=u(se[7],U),y0=De(Q);V0(Q,7);var D0=we(Q),I0=yt(i0,y0),D=lr(0,[0,D0],0),u0=[0,a(e,Q,l0),[2,Y],D],Y0=k?[21,[0,u0,I0,I]]:[16,u0];return b7(m0,[0,_],[0,k],Q,i0,[0,[0,I0,Y0]])}}),N(c0,function(P,L,Q,i0){var l0=P?P[1]:1;return a(e,L,b7(l,[0,l0],0,L,Q,[0,i0]))}),N(t0,function(P){return cr(0,function(L){var Q=u(Vn[1],L),i0=Q[1],l0=Q[2],S0=cr(0,function(q0){var er=pr(q0);V0(q0,15);var yr=u(Vn[2],q0),vr=yr[1],$0=pl([0,l0,[0,er,[0,yr[2],0]]]);if(N0(q0)===4)var Sr=0,Mr=0;else{var Br=N0(q0),qr=0;if(typeof Br=="number"){var jr=Br!==98?1:0;if(!jr){var ne=jr;qr=1}}if(!qr)var $r=dL(vr,ie0(i0,q0)),ne=[0,ds($r,a(se[13],aZr,$r))];var Sr=xi(q0,u(ln[3],q0)),Mr=ne}var Qr=t2(0,q0),pe=ir(Vn[4],i0,vr,Qr),oe=N0(Qr)===86?pe:eb(Qr,pe),me=u(ln[12],Qr),ae=me[2],ce=me[1];if(ae)var ge=Se0(Qr,ae),H0=ce;else var ge=ae,H0=a2(Qr,ce);return[0,Mr,oe,vr,ge,H0,Sr,$0]},L),T0=S0[2],rr=T0[3],R0=T0[2],B=T0[1],Z=U1(R0),p0=b7(Vn[5],L,i0,rr,1,Z);R(Vn[6],L,p0[2],B,R0);var b0=S0[1],O0=lr([0,T0[7]],0,0);return[8,[0,B,R0,p0[1],i0,rr,T0[4],T0[5],T0[6],O0,b0]]},P)}),N(a0,function(P,L,Q){switch(L){case 1:Si(P,45);try{var i0=jv(Rv(Te(tZr,Q))),l0=i0}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(uZr,Q))}break;case 2:Si(P,46);try{var S0=al(Q),l0=S0}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(iZr,Q))}break;case 4:try{var T0=al(Q),l0=T0}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(fZr,Q))}break;default:try{var rr=jv(Rv(Q)),l0=rr}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(xZr,Q))}}return V0(P,[0,L,Q]),l0}),N(w0,function(P){var L=nn(P);return L!==0&&Ht===Ot(P,L-1|0)?p7(P,0,L-1|0):P}),N(_0,function(P,L,Q){if(2<=L){var i0=u(w0,Q);try{var l0=al(i0),S0=l0}catch(Z){if(Z=Et(Z),Z[1]!==B7)throw Z;var S0=ke(Te(eZr,i0))}var T0=S0}else{var rr=u(w0,Q);try{var R0=jv(Rv(rr)),B=R0}catch(p0){if(p0=Et(p0),p0[1]!==B7)throw p0;var B=ke(Te(nZr,rr))}var T0=B}return V0(P,[1,L,Q]),T0}),N(E0,function(P){var L=De(P),Q=pr(P),i0=N0(P);if(typeof i0=="number")switch(i0){case 0:var l0=u(se[12],P);return[1,[0,l0[1],[19,l0[2]]],l0[3]];case 4:return[0,u(X,P)];case 6:var S0=cr(0,dr,P),T0=S0[2];return[1,[0,S0[1],[0,T0[1]]],T0[2]];case 21:return ie(P),[0,[0,L,[26,[0,lr([0,Q],[0,we(P)],0)]]]];case 29:return ie(P),[0,[0,L,[14,[0,0,$$r,lr([0,Q],[0,we(P)],0)]]]];case 40:return[0,u(se[22],P)];case 98:var rr=u(se[17],P),R0=rr[2],B=rr[1],Z=Ni<=R0[1]?[13,R0[2]]:[12,R0[2]];return[0,[0,B,Z]];case 30:case 31:ie(P);var p0=i0===31?1:0,b0=p0?Q$r:rZr;return[0,[0,L,[14,[0,[1,p0],b0,lr([0,Q],[0,we(P)],0)]]]];case 74:case 105:return[0,u(Ar,P)]}else switch(i0[0]){case 0:var O0=i0[2],q0=[2,ir(a0,P,i0[1],O0)];return[0,[0,L,[14,[0,q0,O0,lr([0,Q],[0,we(P)],0)]]]];case 1:var er=i0[2],yr=[3,ir(_0,P,i0[1],er)];return[0,[0,L,[14,[0,yr,er,lr([0,Q],[0,we(P)],0)]]]];case 2:var vr=i0[1];vr[4]&&Si(P,45),ie(P);var $0=[0,vr[2]],Sr=lr([0,Q],[0,we(P)],0);return[0,[0,vr[1],[14,[0,$0,vr[3],Sr]]]];case 3:var Mr=a(b,P,i0[1]);return[0,[0,Mr[1],[25,Mr[2]]]]}if(M1(P)){var Br=a(se[13],0,P);return[0,[0,Br[1],[10,Br]]]}St(0,P);var qr=0;return typeof i0!="number"&&i0[0]===6&&(ie(P),qr=1),[0,[0,L,[14,[0,0,Z$r,lr([0,Q],[0,0],0)]]]]}),N(X0,function(P){return a(e,P,u(E0,P))}),N(b,function(P,L){var Q=L[3],i0=L[2],l0=L[1],S0=pr(P);V0(P,[3,L]);var T0=[0,l0,[0,[0,i0[2],i0[1]],Q]];if(Q)var rr=0,R0=[0,T0,0],B=l0;else for(var Z=[0,T0,0],p0=0;;){var b0=u(se[7],P),O0=[0,b0,p0],q0=N0(P),er=0;if(typeof q0=="number"&&q0===1){zu(P,4);var yr=N0(P),vr=0;if(typeof yr!="number"&&yr[0]===3){var $0=yr[1],Sr=$0[3],Mr=$0[2],Br=$0[1];ie(P);var qr=[0,[0,Mr[2],Mr[1]],Sr];h7(P);var jr=[0,[0,Br,qr],Z];if(!Sr){var Z=jr,p0=O0;continue}var $r=de(O0),ne=[0,Br,de(jr),$r];er=1,vr=1}if(!vr)throw[0,wn,K$r]}if(!er){St(W$r,P);var Qr=[0,b0[1],J$r],pe=de(O0),oe=de([0,Qr,Z]),ne=[0,b0[1],oe,pe]}var rr=ne[3],R0=ne[2],B=ne[1];break}var me=we(P),ae=yt(l0,B);return[0,ae,[0,R0,rr,lr([0,S0],[0,me],0)]]}),N(G0,function(P,L,Q,i0){var l0=Wt(P);function S0(R0,B){return a(Ze(R0,Di,28),R0,B)}var T0=a(l0[2],Q,S0),rr=a(b,P,i0);return[0,yt(L,rr[1]),[24,[0,T0,rr,0]]]}),N(X,function(P){var L=pr(P),Q=cr(0,function(T0){V0(T0,4);var rr=De(T0),R0=u(x,T0),B=N0(T0),Z=0;if(typeof B=="number")if(B===9)var p0=[0,ir(W0,T0,rr,[0,R0,0])];else if(B===86)var p0=[1,[0,R0,u(ln[9],T0),0]];else Z=1;else Z=1;if(Z)var p0=[0,R0];return V0(T0,5),p0},P),i0=Q[2],l0=we(P),S0=i0[0]===0?i0[1]:[0,Q[1],[27,i0[1]]];return ir(s0,[0,L],[0,l0],S0)}),N(s0,function(P,L,Q){var i0=Q[2],l0=P&&P[1],S0=L&&L[1];function T0(We){return _7(We,lr([0,l0],[0,S0],0))}function rr(We){return QD(We,lr([0,l0],[0,S0],0))}switch(i0[0]){case 0:var R0=i0[1],B=rr(R0[2]),Ce=[0,[0,R0[1],B]];break;case 1:var Z=i0[1],p0=Z[10],b0=T0(Z[9]),Ce=[1,[0,Z[1],Z[2],Z[3],Z[4],Z[5],Z[6],Z[7],Z[8],b0,p0]];break;case 2:var O0=i0[1],q0=T0(O0[4]),Ce=[2,[0,O0[1],O0[2],O0[3],q0]];break;case 3:var er=i0[1],yr=T0(er[4]),Ce=[3,[0,er[1],er[2],er[3],yr]];break;case 4:var vr=i0[1],$0=T0(vr[4]),Ce=[4,[0,vr[1],vr[2],vr[3],$0]];break;case 5:var Sr=i0[1],Mr=T0(Sr[7]),Ce=[5,[0,Sr[1],Sr[2],Sr[3],Sr[4],Sr[5],Sr[6],Mr]];break;case 7:var Br=i0[1],qr=T0(Br[4]),Ce=[7,[0,Br[1],Br[2],Br[3],qr]];break;case 8:var jr=i0[1],$r=jr[10],ne=T0(jr[9]),Ce=[8,[0,jr[1],jr[2],jr[3],jr[4],jr[5],jr[6],jr[7],jr[8],ne,$r]];break;case 10:var Qr=i0[1],pe=Qr[2],oe=T0(pe[2]),Ce=[10,[0,Qr[1],[0,pe[1],oe]]];break;case 11:var me=i0[1],ae=T0(me[2]),Ce=[11,[0,me[1],ae]];break;case 12:var ce=i0[1],ge=T0(ce[4]),Ce=[12,[0,ce[1],ce[2],ce[3],ge]];break;case 13:var H0=i0[1],Fr=T0(H0[4]),Ce=[13,[0,H0[1],H0[2],H0[3],Fr]];break;case 14:var _=i0[1],k=T0(_[3]),Ce=[14,[0,_[1],_[2],k]];break;case 15:var I=i0[1],U=T0(I[4]),Ce=[15,[0,I[1],I[2],I[3],U]];break;case 16:var Y=i0[1],y0=T0(Y[3]),Ce=[16,[0,Y[1],Y[2],y0]];break;case 17:var D0=i0[1],I0=T0(D0[3]),Ce=[17,[0,D0[1],D0[2],I0]];break;case 18:var D=i0[1],u0=T0(D[4]),Ce=[18,[0,D[1],D[2],D[3],u0]];break;case 19:var Y0=i0[1],J0=rr(Y0[2]),Ce=[19,[0,Y0[1],J0]];break;case 20:var fr=i0[1],Q0=fr[1],F0=fr[3],gr=fr[2],mr=T0(Q0[4]),Ce=[20,[0,[0,Q0[1],Q0[2],Q0[3],mr],gr,F0]];break;case 21:var Cr=i0[1],sr=Cr[1],Pr=Cr[3],K0=Cr[2],Ur=T0(sr[3]),Ce=[21,[0,[0,sr[1],sr[2],Ur],K0,Pr]];break;case 22:var d0=i0[1],Kr=T0(d0[2]),Ce=[22,[0,d0[1],Kr]];break;case 23:var Ce=[23,[0,T0(i0[1][1])]];break;case 24:var re=i0[1],xe=T0(re[3]),Ce=[24,[0,re[1],re[2],xe]];break;case 25:var je=i0[1],ve=T0(je[3]),Ce=[25,[0,je[1],je[2],ve]];break;case 26:var Ce=[26,[0,T0(i0[1][1])]];break;case 27:var Ie=i0[1],Me=T0(Ie[3]),Ce=[27,[0,Ie[1],Ie[2],Me]];break;case 28:var Be=i0[1],fn=T0(Be[3]),Ce=[28,[0,Be[1],Be[2],fn]];break;case 29:var Ke=i0[1],Ae=T0(Ke[4]),Ce=[29,[0,Ke[1],Ke[2],Ke[3],Ae]];break;case 30:var xn=i0[1],Qe=xn[4],yn=xn[3],on=T0(xn[2]),Ce=[30,[0,xn[1],on,yn,Qe]];break;default:var Ce=i0}return[0,Q[1],Ce]}),N(dr,function(P){var L=pr(P);V0(P,6);for(var Q=[0,0,t[3]];;){var i0=Q[2],l0=Q[1],S0=N0(P);if(typeof S0=="number"){var T0=0;if(13<=S0)Pn===S0&&(T0=1);else if(7<=S0)switch(S0-7|0){case 2:var rr=De(P);ie(P);var Q=[0,[0,[2,rr],l0],i0];continue;case 5:var R0=pr(P),B=cr(0,function(Qr){ie(Qr);var pe=u(i,Qr);return pe[0]===0?[0,pe[1],t[3]]:[0,pe[1],pe[2]]},P),Z=B[2],p0=Z[2],b0=B[1],O0=lr([0,R0],0,0),q0=[1,[0,b0,[0,Z[1],O0]]],er=N0(P)===7?1:0,yr=0;if(!er&&Yn(1,P)===7){var vr=[0,p0[1],[0,[0,b0,65],p0[2]]];yr=1}if(!yr)var vr=p0;1-er&&V0(P,9);var Q=[0,[0,q0,l0],a(t[5],vr,i0)];continue;case 0:T0=1;break}if(T0){var $0=u(t[6],i0),Sr=de(l0),Mr=pr(P);return V0(P,7),[0,[0,Sr,_u([0,L],[0,we(P)],Mr,0)],$0]}}var Br=u(i,P);if(Br[0]===0)var qr=t[3],jr=Br[1];else var qr=Br[2],jr=Br[1];N0(P)!==7&&V0(P,9);var Q=[0,[0,[0,jr],l0],a(t[5],qr,i0)]}}),N(Ar,function(P){zu(P,5);var L=De(P),Q=pr(P),i0=N0(P),l0=0;if(typeof i0!="number"&&i0[0]===5){var S0=i0[3],T0=i0[2];ie(P);var rr=we(P),R0=rr,B=S0,Z=T0,p0=Te(H$r,Te(T0,Te(U$r,S0)));l0=1}if(!l0){St(X$r,P);var R0=0,B=Y$r,Z=V$r,p0=z$r}h7(P);var b0=$n(nn(B)),O0=nn(B)-1|0,q0=0;if(!(O0<0))for(var er=q0;;){var yr=Vr(B,er),vr=yr-100|0,$0=0;if(!(21>>0))switch(vr){case 0:case 3:case 5:case 9:case 15:case 17:case 21:qi(b0,yr),$0=1;break}var Sr=er+1|0;if(O0!==er){var er=Sr;continue}break}var Mr=Gt(b0);return n0(Mr,B)&&Ge(P,[13,B]),[0,L,[14,[0,[4,[0,Z,Mr]],p0,lr([0,Q],[0,R0],0)]]]});function fe(P,L){if(typeof L=="number"){var Q=0;if(61<=L){var i0=L-64|0;27>>0?i0===43&&(Q=1):25<(i0-1|0)>>>0&&(Q=1)}else{var l0=L+hy|0;17>>0?-1<=l0&&(Q=1):l0===13&&(Q=1)}if(Q)return 0}throw Hs}function v0(P){var L=N0(P);if(typeof L=="number"&&!L){var Q=a(se[16],1,P);return[0,[0,Q[1]],Q[2]]}return[0,[1,u(se[10],P)],0]}return N(ar,function(P){var L=O9(fe,P),Q=De(L);if(Yn(1,L)===11)var l0=0,S0=0;else var i0=u(Vn[1],L),l0=i0[2],S0=i0[1];var T0=cr(0,function(ne){var Qr=xi(ne,u(ln[3],ne));if(M1(ne)&&Qr===0){var pe=a(se[13],q$r,ne),oe=pe[1],me=[0,oe,[0,[0,oe,[2,[0,pe,[0,G1(ne)],0]]],0]];return[0,Qr,[0,oe,[0,0,[0,me,0],0,0]],[0,[0,oe[1],oe[3],oe[3]]],0]}var ae=ir(Vn[4],ne[18],ne[17],ne),ce=u2(1,ne),ge=u(ln[12],ce);return[0,Qr,ae,ge[1],ge[2]]},L),rr=T0[2],R0=rr[2],B=R0[2],Z=0;if(!B[1]){var p0=0;if(!B[3]&&B[2]&&(p0=1),!p0){var b0=ce0(L);Z=1}}if(!Z)var b0=L;var O0=R0[2],q0=O0[1],er=q0?(ue(b0,[0,q0[1][1],Qc]),[0,R0[1],[0,0,O0[2],O0[3],O0[4]]]):R0,yr=U1(er),vr=f7(b0),$0=vr&&(N0(b0)===11?1:0);$0&&Ge(b0,60),V0(b0,11);var Sr=se0(ce0(b0),S0,0,yr),Mr=cr(0,v0,Sr),Br=Mr[2];R(Vn[6],Sr,Br[2],0,er);var qr=yt(Q,Mr[1]),jr=T0[1],$r=lr([0,l0],0,0);return[0,[0,qr,[1,[0,0,er,Br[1],S0,0,rr[4],rr[3],rr[1],$r,jr]]]]}),N(W0,function(P,L,Q){return cr([0,L],function(i0){for(var l0=Q;;){var S0=N0(i0);if(typeof S0=="number"&&S0===9){ie(i0);var l0=[0,u(x,i0),l0];continue}return[22,[0,de(l0),0]]}},P)}),[0,x,i,T,n,K,a0,W0]}(j9),Ys=function(t){function n(e0){var x0=pr(e0);ie(e0);var l=lr([0,x0],0,0),c0=u(oi[5],e0),t0=f7(e0)?rb(e0):C9(e0);function a0(w0,_0){return a(Ze(w0,Di,80),w0,_0)}return[0,a(t0[2],c0,a0),l]}function e(e0){var x0=e0[27][2];if(x0)for(var l=0;;){var c0=N0(e0);if(typeof c0=="number"&&c0===13){var l=[0,cr(0,n,e0),l];continue}return de(l)}return x0}function i(e0,x0){var l=e0&&e0[1],c0=pr(x0),t0=N0(x0);if(typeof t0=="number")switch(t0){case 6:var a0=cr(0,function(Jr){var or=pr(Jr);V0(Jr,6);var _r=Kl(0,Jr),Ir=u(se[10],_r);return V0(Jr,7),[0,Ir,lr([0,or],[0,we(Jr)],0)]},x0),w0=a0[1];return[0,w0,[3,[0,w0,a0[2]]]];case 14:if(l){var _0=Ae0(x0),E0=x0[29][1],X0=_0[2][1];if(E0){var b=E0[1],G0=E0[2],X=b[2],s0=[0,[0,a(Gu[4],X0,b[1]),X],G0];x0[29][1]=s0}else ke(tGr);return[0,_0[1],[2,_0]]}var dr=cr(0,function(Jr){return ie(Jr),[1,V7(Jr)]},x0),Ar=dr[1];return ue(x0,[0,Ar,89]),[0,Ar,dr[2]]}else switch(t0[0]){case 0:var ar=t0[2],W0=De(x0),Lr=[2,ir(oi[6],x0,t0[1],ar)];return[0,W0,[0,[0,W0,[0,Lr,ar,lr([0,c0],[0,we(x0)],0)]]]];case 2:var Tr=t0[1],Hr=Tr[4],Or=Tr[3],xr=Tr[2],Rr=Tr[1];return Hr&&Si(x0,45),V0(x0,[2,[0,Rr,xr,Or,Hr]]),[0,Rr,[0,[0,Rr,[0,[0,xr],Or,lr([0,c0],[0,we(x0)],0)]]]]}var Wr=V7(x0);return[0,Wr[1],[1,Wr]]}function x(e0,x0,l){var c0=u(Vn[2],e0),t0=c0[1],a0=c0[2],w0=i([0,x0],e0),_0=w0[1],E0=0,X0=Xi(e0,w0[2]);return[0,X0,cr(0,function(b){var G0=t2(1,b),X=cr(0,function(Tr){var Hr=ir(Vn[4],0,0,Tr),Or=0,xr=N0(Tr)===86?Hr:eb(Tr,Hr);if(l){var Rr=xr[2],Wr=0;if(Rr[1])ue(Tr,[0,_0,R7]),Wr=1;else{var Jr=0;!Rr[2]&&!Rr[3]&&(Wr=1,Jr=1),Jr||ue(Tr,[0,_0,80])}}else{var or=xr[2];if(or[1])ue(Tr,[0,_0,Xt]);else{var _r=or[2],Ir=0;(!_r||_r[2]||or[3])&&(Ir=1),Ir&&(or[3]?ue(Tr,[0,_0,81]):ue(Tr,[0,_0,81]))}}return[0,Or,xr,a2(Tr,u(ln[10],Tr))]},G0),s0=X[2],dr=s0[2],Ar=U1(dr),ar=b7(Vn[5],G0,E0,t0,0,Ar);R(Vn[6],G0,ar[2],0,dr);var W0=X[1],Lr=lr([0,a0],0,0);return[0,0,dr,ar[1],E0,t0,0,s0[3],s0[1],Lr,W0]},e0)]}function c(e0){var x0=u(oi[2],e0);return x0[0]===0?[0,x0[1],t[3]]:[0,x0[1],x0[2]]}function s(e0,x0){switch(x0[0]){case 0:var l=x0[1],c0=l[1];return ue(e0,[0,c0,95]),[0,c0,[14,l[2]]];case 1:var t0=x0[1],a0=t0[2][1],w0=t0[1],_0=0;return SL(a0)&&n0(a0,o0e)&&n0(a0,c0e)&&(ue(e0,[0,w0,2]),_0=1),!_0&&f2(a0)&&Y7(e0,[0,w0,55]),[0,w0,[10,t0]];case 2:return ke(s0e);default:var E0=x0[1][2][1];return ue(e0,[0,E0[1],96]),E0}}function p(e0,x0,l){function c0(a0){var w0=t2(1,a0),_0=cr(0,function(dr){var Ar=xi(dr,u(ln[3],dr));if(e0)if(x0)var ar=1,W0=1;else var ar=dr[18],W0=0;else if(x0)var ar=0,W0=1;else var ar=0,W0=0;var Lr=ir(Vn[4],ar,W0,dr),Tr=N0(dr)===86?Lr:eb(dr,Lr);return[0,Ar,Tr,a2(dr,u(ln[10],dr))]},w0),E0=_0[2],X0=E0[2],b=U1(X0),G0=b7(Vn[5],w0,e0,x0,0,b);R(Vn[6],w0,G0[2],0,X0);var X=_0[1],s0=lr([0,l],0,0);return[0,0,X0,G0[1],e0,x0,0,E0[3],E0[1],s0,X]}var t0=0;return function(a0){return cr(t0,c0,a0)}}function y(e0){return V0(e0,86),c(e0)}function T(e0,x0,l,c0,t0,a0){var w0=cr([0,x0],function(E0){if(!c0&&!t0){var X0=N0(E0);if(typeof X0=="number"){var b=0;if(86<=X0){if(X0===98)b=1;else if(!(87<=X0)){var G0=y(E0);return[0,[0,l,G0[1],0],G0[2]]}}else{if(X0===82){if(l[0]===1)var X=l[1],s0=De(E0),dr=function(Rr){var Wr=pr(Rr);V0(Rr,82);var Jr=we(Rr),or=a(se[19],Rr,[0,X[1],[10,X]]),_r=u(se[10],Rr);return[2,[0,0,or,_r,lr([0,Wr],[0,Jr],0)]]},Ar=cr([0,X[1]],dr,E0),ar=[0,Ar,[0,[0,[0,s0,[10,Ml(a0e)]],0],0]];else var ar=y(E0);return[0,[0,l,ar[1],1],ar[2]]}if(!(10<=X0))switch(X0){case 4:b=1;break;case 1:case 9:var W0=[0,l,s(E0,l),1];return[0,W0,t[3]]}}if(b){var Lr=Xi(E0,l),Tr=[1,Lr,u(p(c0,t0,a0),E0)];return[0,Tr,t[3]]}}var Hr=[0,l,s(E0,l),1];return[0,Hr,t[3]]}var Or=Xi(E0,l),xr=[1,Or,u(p(c0,t0,a0),E0)];return[0,xr,t[3]]},e0),_0=w0[2];return[0,[0,[0,w0[1],_0[1]]],_0[2]]}function E(e0){var x0=cr(0,function(c0){var t0=pr(c0);V0(c0,0);for(var a0=0,w0=[0,0,t[3]];;){var _0=w0[2],E0=w0[1],X0=N0(c0);if(typeof X0=="number"){var b=0;if((X0===1||Pn===X0)&&(b=1),b){var G0=a0?[0,_0[1],[0,[0,a0[1],98],_0[2]]]:_0,X=u(t[6],G0),s0=de(E0),dr=pr(c0);return V0(c0,1),[0,[0,s0,_u([0,t0],[0,we(c0)],dr,0)],X]}}if(N0(c0)===12)var Ar=pr(c0),ar=cr(0,function(y0){return V0(y0,12),c(y0)},c0),W0=ar[2],Lr=W0[2],Tr=lr([0,Ar],0,0),Hr=[0,[1,[0,ar[1],[0,W0[1],Tr]]],Lr];else{var Or=De(c0),xr=Yn(1,c0),Rr=0;if(typeof xr=="number"){var Wr=0;if(86<=xr)xr!==98&&87<=xr&&(Wr=1);else if(xr!==82)if(10<=xr)Wr=1;else switch(xr){case 1:case 4:case 9:break;default:Wr=1}if(!Wr){var or=0,_r=0;Rr=1}}if(!Rr)var Jr=u(Vn[1],c0),or=Jr[2],_r=Jr[1];var Ir=u(Vn[2],c0),fe=Ir[1],v0=un(or,Ir[2]),P=N0(c0),L=0;if(!_r&&!fe&&typeof P!="number"&&P[0]===4){var Q=P[3],i0=0;if(n0(Q,f0e))if(n0(Q,x0e))i0=1;else{var l0=pr(c0),S0=i(0,c0)[2],T0=N0(c0),rr=0;if(typeof T0=="number"){var R0=0;if(86<=T0)T0!==98&&87<=T0&&(R0=1);else if(T0!==82)if(10<=T0)R0=1;else switch(T0){case 1:case 4:case 9:break;default:R0=1}if(!R0){var B=T(c0,Or,S0,0,0,0);rr=1}}if(!rr){Xi(c0,S0);var Z=t[3],p0=cr([0,Or],function(I0){return x(I0,0,0)},c0),b0=p0[2],O0=lr([0,l0],0,0),B=[0,[0,[0,p0[1],[3,b0[1],b0[2],O0]]],Z]}var q0=B}else{var er=pr(c0),yr=i(0,c0)[2],vr=N0(c0),$0=0;if(typeof vr=="number"){var Sr=0;if(86<=vr)vr!==98&&87<=vr&&(Sr=1);else if(vr!==82)if(10<=vr)Sr=1;else switch(vr){case 1:case 4:case 9:break;default:Sr=1}if(!Sr){var Mr=T(c0,Or,yr,0,0,0);$0=1}}if(!$0){Xi(c0,yr);var Br=t[3],qr=cr([0,Or],function(D){return x(D,0,1)},c0),jr=qr[2],$r=lr([0,er],0,0),Mr=[0,[0,[0,qr[1],[2,jr[1],jr[2],$r]]],Br]}var q0=Mr}if(!i0){var ne=q0;L=1}}if(!L)var ne=T(c0,Or,i(0,c0)[2],_r,fe,v0);var Hr=ne}var Qr=Hr[1],pe=0;if(Qr[0]===1&&N0(c0)===9){var oe=[0,De(c0)];pe=1}if(!pe)var oe=0;var me=a(t[5],Hr[2],_0),ae=N0(c0),ce=0;if(typeof ae=="number"){var ge=ae-2|0,H0=0;if(Ht>>0?F7<(ge+1|0)>>>0&&(H0=1):ge===7?ie(c0):H0=1,!H0){var Fr=me;ce=1}}if(!ce){var _=vL(LRr,9),k=ye0([0,_],N0(c0)),I=[0,De(c0),k];fu(c0,8);var Fr=a(t[4],I,me)}var a0=oe,w0=[0,[0,Qr,E0],Fr]}},e0),l=x0[2];return[0,x0[1],l[1],l[2]]}function h(e0,x0,l,c0){var t0=l[2][1],a0=l[1];if(qn(t0,i0e))return ue(e0,[0,a0,[21,t0,0,uV===c0?1:0,1]]),x0;var w0=a(R9[32],t0,x0);if(w0){var _0=w0[1],E0=0;return TE===c0?Id===_0&&(E0=1):Id===c0&&TE===_0&&(E0=1),E0||ue(e0,[0,a0,[20,t0]]),ir(R9[4],t0,QX,x0)}return ir(R9[4],t0,c0,x0)}function w(e0,x0){return cr(0,function(l){var c0=x0&&pr(l);V0(l,52);for(var t0=0;;){var a0=[0,cr(0,function(E0){var X0=u(ln[2],E0);if(N0(E0)===98)var b=Wt(E0),G0=function(s0,dr){return a(Ze(s0,Nv,81),s0,dr)},X=a(b[2],X0,G0);else var X=X0;return[0,X,u(ln[4],E0)]},l),t0],w0=N0(l);if(typeof w0=="number"&&w0===9){V0(l,9);var t0=a0;continue}var _0=de(a0);return[0,_0,lr([0,c0],0,0)]}},e0)}function G(e0,x0){return x0&&ue(e0,[0,x0[1][1],7])}function A(e0,x0){return x0&&ue(e0,[0,x0[1],68])}function S(e0,x0,l,c0,t0,a0,w0,_0,E0,X0){for(;;){var b=N0(e0),G0=0;if(typeof b=="number"){var X=b-1|0,s0=0;if(7>>0){var dr=X-81|0;if(4>>0)s0=1;else switch(dr){case 3:St(0,e0),ie(e0);continue;case 0:case 4:break;default:s0=1}}else 5<(X-1|0)>>>0||(s0=1);!s0&&!t0&&!a0&&(G0=1)}if(!G0){var Ar=N0(e0),ar=0;if(typeof Ar=="number"){var W0=0;if(Ar!==4&&Ar!==98&&(ar=1,W0=1),!W0)var Tr=0}else ar=1;if(ar)var Lr=x2(e0),Tr=Lr&&1;if(!Tr){A(e0,_0),G(e0,E0);var Hr=0;if(!w0){var Or=0;switch(c0[0]){case 0:var xr=c0[1][2][1],Rr=0;typeof xr!="number"&&xr[0]===0&&(n0(xr[1],ZQr)&&(Or=1),Rr=1),Rr||(Or=1);break;case 1:n0(c0[1][2][1],QQr)&&(Or=1);break;default:Or=1}if(!Or){var Wr=t2(2,e0),Jr=0;Hr=1}}if(!Hr)var Wr=t2(1,e0),Jr=1;var or=Xi(Wr,c0),_r=cr(0,function(S0){var T0=cr(0,function(p0){var b0=xi(p0,u(ln[3],p0));if(t0)if(a0)var O0=1,q0=1;else var O0=p0[18],q0=0;else if(a0)var O0=0,q0=1;else var O0=0,q0=0;var er=ir(Vn[4],O0,q0,p0),yr=N0(p0)===86?er:eb(p0,er),vr=yr[2],$0=vr[1],Sr=0;if($0&&Jr===0){ue(p0,[0,$0[1][1],fs]);var Mr=[0,yr[1],[0,0,vr[2],vr[3],vr[4]]];Sr=1}if(!Sr)var Mr=yr;return[0,b0,Mr,a2(p0,u(ln[10],p0))]},S0),rr=T0[2],R0=rr[2],B=U1(R0),Z=b7(Vn[5],S0,t0,a0,0,B);return R(Vn[6],S0,Z[2],0,R0),[0,0,R0,Z[1],t0,a0,0,rr[3],rr[1],0,T0[1]]},Wr),Ir=[0,Jr,or,_r,w0,l,lr([0,X0],0,0)];return[0,[0,yt(x0,_r[1]),Ir]]}}var fe=cr([0,x0],function(S0){var T0=u(ln[10],S0),rr=N0(S0);if(_0){var R0=0;if(typeof rr=="number"&&rr===82){Ge(S0,69),ie(S0);var B=0}else R0=1;if(R0)var B=0}else{var Z=0;if(typeof rr=="number"&&rr===82){ie(S0);var p0=t2(1,S0),B=[0,u(se[7],p0)]}else Z=1;if(Z)var B=1}var b0=N0(S0),O0=0;if(typeof b0=="number"&&!(9<=b0))switch(b0){case 8:ie(S0);var q0=N0(S0),er=0;if(typeof q0=="number"){var yr=0;if(q0!==1&&Pn!==q0&&(er=1,yr=1),!yr)var $0=we(S0)}else er=1;if(er)var vr=f7(S0),$0=vr&&Us(S0);var Sr=[0,c0,T0,B,$0];O0=1;break;case 4:case 6:St(0,S0);var Sr=[0,c0,T0,B,0];O0=1;break}if(!O0){var Mr=N0(S0),Br=0;if(typeof Mr=="number"){var qr=0;if(Mr!==1&&Pn!==Mr&&(Br=1,qr=1),!qr)var jr=[0,0,function(H0,Fr){return H0}]}else Br=1;if(Br)var jr=f7(S0)?rb(S0):C9(S0);if(typeof B=="number")if(T0[0]===0)var $r=function(_,k){return a(Ze(_,VY,83),_,k)},pe=B,oe=T0,me=a(jr[2],c0,$r);else var ne=function(_,k){return a(Ze(_,NE,84),_,k)},pe=B,oe=[1,a(jr[2],T0[1],ne)],me=c0;else var Qr=function(ge,H0){return a(Ze(ge,Di,85),ge,H0)},pe=[0,a(jr[2],B[1],Qr)],oe=T0,me=c0;var Sr=[0,me,oe,pe,0]}var ae=lr([0,X0],[0,Sr[4]],0);return[0,Sr[1],Sr[2],Sr[3],ae]},e0),v0=fe[2],P=v0[4],L=v0[3],Q=v0[2],i0=v0[1],l0=fe[1];return i0[0]===2?[2,[0,l0,[0,i0[1],L,Q,w0,E0,P]]]:[1,[0,l0,[0,i0,L,Q,w0,E0,P]]]}}function M(e0,x0){var l=Yn(e0,x0);if(typeof l=="number"){var c0=0;if(86<=l)(l===98||!(87<=l))&&(c0=1);else if(l===82)c0=1;else if(!(9<=l))switch(l){case 1:case 4:case 8:c0=1;break}if(c0)return 1}return 0}var K=0;function V(e0){return M(K,e0)}function f0(e0,x0,l,c0){var t0=e0&&e0[1],a0=ys(1,x0),w0=un(t0,e(a0)),_0=pr(a0);V0(a0,40);var E0=T9(1,a0),X0=N0(E0),b=0;if(l&&typeof X0=="number"){var G0=0;if(52<=X0?X0!==98&&53<=X0&&(G0=1):X0!==41&&X0&&(G0=1),!G0){var Ar=0;b=1}}if(!b)if(M1(a0))var X=a(se[13],0,E0),s0=Wt(a0),dr=function(v0,P){return a(Ze(v0,Nv,88),v0,P)},Ar=[0,a(s0[2],X,dr)];else{de0(a0,VQr);var Ar=[0,[0,De(a0),zQr]]}var ar=u(ln[3],a0);if(ar)var W0=Wt(a0),Lr=function(v0,P){return a(Ze(v0,_F,86),v0,P)},Tr=[0,a(W0[2],ar[1],Lr)];else var Tr=ar;var Hr=pr(a0),Or=fu(a0,41);if(Or)var xr=cr(0,function(v0){var P=dL(0,v0),L=u(oi[5],P);if(N0(v0)===98)var Q=Wt(v0),i0=function(T0,rr){return a(Ze(T0,Di,82),T0,rr)},l0=a(Q[2],L,i0);else var l0=L;var S0=u(ln[4],v0);return[0,l0,S0,lr([0,Hr],0,0)]},a0),Rr=xr[1],Wr=Wt(a0),Jr=function(v0,P){return ir(Ze(v0,-663447790,87),v0,Rr,P)},or=[0,[0,Rr,a(Wr[2],xr[2],Jr)]];else var or=Or;var _r=N0(a0)===52?1:0;if(_r){1-iu(a0)&&Ge(a0,16);var Ir=[0,Fe0(a0,w(a0,1))]}else var Ir=_r;var fe=cr(0,function(v0){var P=pr(v0);if(fu(v0,0)){v0[29][1]=[0,[0,Gu[1],0],v0[29][1]];for(var L=0,Q=R9[1],i0=0;;){var l0=N0(v0);if(typeof l0=="number"){var S0=l0-2|0;if(Ht>>0){if(!(F7<(S0+1|0)>>>0)){var T0=de(i0),rr=function(xu,Mu){return u(ml(function(z7){return 1-a(Gu[3],z7[1],xu)}),Mu)},R0=v0[29][1];if(R0){var B=R0[1],Z=B[1];if(R0[2]){var p0=R0[2],b0=rr(Z,B[2]),O0=bl(p0),q0=bz(p0),er=un(O0[2],b0);v0[29][1]=[0,[0,O0[1],er],q0]}else{var yr=rr(Z,B[2]);Pu(function(xu){return ue(v0,[0,xu[2],[22,xu[1]]])},yr),v0[29][1]=0}}else ke(uGr);V0(v0,1);var vr=N0(v0),$0=0;if(!c0){var Sr=0;if(typeof vr=="number"&&(vr===1||Pn===vr)&&(Sr=1),!Sr){var Mr=f7(v0);if(Mr){var Br=Us(v0);$0=1}else{var Br=Mr;$0=1}}}if(!$0)var Br=we(v0);return[0,T0,lr([0,P],[0,Br],0)]}}else if(S0===6){V0(v0,8);continue}}var qr=De(v0),jr=e(v0),$r=N0(v0),ne=0;if(typeof $r=="number"&&$r===60&&!M(1,v0)){var Qr=[0,De(v0)],pe=pr(v0);ie(v0);var oe=pe,me=Qr;ne=1}if(!ne)var oe=0,me=0;var ae=Yn(1,v0)!==4?1:0;if(ae)var ce=Yn(1,v0)!==98?1:0,ge=ce&&(N0(v0)===42?1:0);else var ge=ae;if(ge){var H0=pr(v0);ie(v0);var Fr=H0}else var Fr=ge;var _=N0(v0)===64?1:0;if(_)var k=1-M(1,v0),I=k&&1-Jl(1,v0);else var I=_;if(I){var U=pr(v0);ie(v0);var Y=U}else var Y=I;var y0=u(Vn[2],v0),D0=y0[1],I0=ir(Vn[3],v0,I,D0),D=0;if(!D0&&I0){var u0=u(Vn[2],v0),Y0=u0[2],J0=u0[1];D=1}if(!D)var Y0=y0[2],J0=D0;var fr=pl([0,oe,[0,Fr,[0,Y,[0,Y0,0]]]]),Q0=N0(v0),F0=0;if(!I&&!J0&&typeof Q0!="number"&&Q0[0]===4){var gr=Q0[3];if(n0(gr,r0e)){if(!n0(gr,e0e)){var mr=pr(v0),Cr=i(n0e,v0)[2];if(V(v0)){var Ie=S(v0,qr,jr,Cr,I,J0,ge,me,I0,fr);F0=1}else{A(v0,me),G(v0,I0),Xi(v0,Cr);var sr=un(fr,mr),Pr=cr([0,qr],function(Mu){return x(Mu,1,0)},v0),K0=Pr[2],Ur=lr([0,sr],0,0),Ie=[0,[0,Pr[1],[0,3,K0[1],K0[2],ge,jr,Ur]]];F0=1}}}else{var d0=pr(v0),Kr=i(t0e,v0)[2];if(V(v0)){var Ie=S(v0,qr,jr,Kr,I,J0,ge,me,I0,fr);F0=1}else{A(v0,me),G(v0,I0),Xi(v0,Kr);var re=un(fr,d0),xe=cr([0,qr],function(Mu){return x(Mu,1,1)},v0),je=xe[2],ve=lr([0,re],0,0),Ie=[0,[0,xe[1],[0,2,je[1],je[2],ge,jr,ve]]];F0=1}}}if(!F0)var Ie=S(v0,qr,jr,i(u0e,v0)[2],I,J0,ge,me,I0,fr);switch(Ie[0]){case 0:var Me=Ie[1],Be=Me[2];switch(Be[1]){case 0:if(Be[4])var Ft=Q,Nt=L;else{L&&ue(v0,[0,Me[1],87]);var Ft=Q,Nt=1}break;case 1:var fn=Be[2],Ke=fn[0]===2?h(v0,Q,fn[1],uV):Q,Ft=Ke,Nt=L;break;case 2:var Ae=Be[2],xn=Ae[0]===2?h(v0,Q,Ae[1],TE):Q,Ft=xn,Nt=L;break;default:var Qe=Be[2],yn=Qe[0]===2?h(v0,Q,Qe[1],Id):Q,Ft=yn,Nt=L}break;case 1:var on=Ie[1][2],Ce=on[4],We=on[1],rn=0;switch(We[0]){case 0:var bn=We[1],Cn=bn[2][1],Hn=0;if(typeof Cn!="number"&&Cn[0]===0){var vt=Cn[1],At=bn[1];rn=1,Hn=1}Hn||(rn=2);break;case 1:var Sn=We[1],vt=Sn[2][1],At=Sn[1];rn=1;break;case 2:ke(KQr);break;default:rn=2}switch(rn){case 1:var gt=qn(vt,WQr);if(gt)var Bt=gt;else var Jt=qn(vt,JQr),Bt=Jt&&Ce;Bt&&ue(v0,[0,At,[21,vt,Ce,0,0]]);break;case 2:break}var Ft=Q,Nt=L;break;default:var Ft=h(v0,Q,Ie[1][2][1],QX),Nt=L}var L=Nt,Q=Ft,i0=[0,Ie,i0]}}return q1(v0,0),$Qr},a0);return[0,Ar,fe,Tr,or,Ir,w0,lr([0,_0],0,0)]}function m0(e0,x0){return cr(0,function(l){return[2,f0([0,x0],l,l[7],0)]},e0)}function k0(e0){return[5,f0(0,e0,1,1)]}var g0=0;return[0,i,E,m0,function(e0){return cr(g0,k0,e0)},w,e]}(j9),dt=function(t){function n(_){var k=u(Vn[10],_);if(_[5])B1(_,k[1]);else{var I=k[2],U=0;if(I[0]===23){var Y=I[1],y0=k[1],D0=0;Y[4]?ue(_,[0,y0,61]):Y[5]?ue(_,[0,y0,62]):(U=1,D0=1)}else U=1}return k}function e(_,k,I){var U=I[2][1],Y=I[1];if(n0(U,lre)){if(n0(U,bre))return n0(U,pre)?f2(U)?Y7(k,[0,Y,55]):SL(U)?ue(k,[0,Y,[10,Ml(U)]]):_&&Bs(U)?Y7(k,[0,Y,_[1]]):0:k[17]?ue(k,[0,Y,2]):Y7(k,[0,Y,55]);if(k[5])return Y7(k,[0,Y,55]);var y0=k[14];return y0&&ue(k,[0,Y,[10,Ml(U)]])}var D0=k[18];return D0&&ue(k,[0,Y,2])}function i(_,k){var I=k[4],U=k[3],Y=k[2],y0=k[1];I&&Si(_,45);var D0=pr(_);return V0(_,[2,[0,y0,Y,U,I]]),[0,y0,[0,Y,U,lr([0,D0],[0,we(_)],0)]]}function x(_,k,I){var U=_?_[1]:cre,Y=k?k[1]:1,y0=N0(I);if(typeof y0=="number"){var D0=y0-2|0;if(Ht>>0){if(!(F7<(D0+1|0)>>>0)){var I0=function(Y0,J0){return Y0};return[1,[0,we(I),I0]]}}else if(D0===6){ie(I);var D=N0(I);if(typeof D=="number"){var u0=0;if((D===1||Pn===D)&&(u0=1),u0)return[0,we(I)]}return f7(I)?[0,Us(I)]:sre}}return f7(I)?[1,rb(I)]:(Y&&St([0,U],I),vre)}function c(_){var k=N0(_);if(typeof k=="number"){var I=0;if((k===1||Pn===k)&&(I=1),I){var U=function(Y,y0){return Y};return[0,we(_),U]}}return f7(_)?rb(_):C9(_)}function s(_,k,I){var U=x(0,0,k);if(U[0]===0)return[0,U[1],I];var Y=de(I);if(Y)var y0=function(D,u0){return ir(Ze(D,634872468,89),D,_,u0)},D0=a(U[1][2],Y[1],y0),I0=de([0,D0,Y[2]]);else var I0=Y;return[0,0,I0]}var p=function _(k){return _.fun(k)},y=function _(k){return _.fun(k)},T=function _(k){return _.fun(k)},E=function _(k){return _.fun(k)},h=function _(k){return _.fun(k)},w=function _(k,I){return _.fun(k,I)},G=function _(k){return _.fun(k)},A=function _(k){return _.fun(k)},S=function _(k,I,U){return _.fun(k,I,U)},M=function _(k){return _.fun(k)},K=function _(k){return _.fun(k)},V=function _(k,I){return _.fun(k,I)},f0=function _(k){return _.fun(k)},m0=function _(k){return _.fun(k)},k0=function _(k,I){return _.fun(k,I)},g0=function _(k){return _.fun(k)},e0=function _(k,I){return _.fun(k,I)},x0=function _(k){return _.fun(k)},l=function _(k,I){return _.fun(k,I)},c0=function _(k){return _.fun(k)},t0=function _(k,I){return _.fun(k,I)},a0=function _(k,I){return _.fun(k,I)},w0=function _(k,I){return _.fun(k,I)},_0=function _(k){return _.fun(k)},E0=function _(k){return _.fun(k)},X0=function _(k,I,U){return _.fun(k,I,U)},b=function _(k,I){return _.fun(k,I)},G0=function _(k,I){return _.fun(k,I)},X=function _(k){return _.fun(k)};function s0(_){var k=pr(_);V0(_,59);var I=N0(_)===8?1:0,U=I&&we(_),Y=x(0,0,_),y0=Y[0]===0?Y[1]:Y[1][1];return[4,[0,lr([0,k],[0,un(U,y0)],0)]]}var dr=0;function Ar(_){return cr(dr,s0,_)}function ar(_){var k=pr(_);V0(_,37);var I=zl(1,_),U=u(se[2],I),Y=1-_[5],y0=Y&&nb(U);y0&&B1(_,U[1]);var D0=we(_);V0(_,25);var I0=we(_);V0(_,4);var D=u(se[7],_);V0(_,5);var u0=N0(_)===8?1:0,Y0=u0&&we(_),J0=x(0,ore,_),fr=J0[0]===0?un(Y0,J0[1]):J0[1][1];return[14,[0,U,D,lr([0,k],[0,un(D0,un(I0,fr))],0)]]}var W0=0;function Lr(_){return cr(W0,ar,_)}function Tr(_,k,I){var U=I[2][1];if(U&&!U[1][2][2]){var Y=U[2];if(!Y)return Y}return ue(_,[0,I[1],k])}function Hr(_,k){var I=1-_[5],U=I&&nb(k);return U&&B1(_,k[1])}function Or(_){var k=pr(_);V0(_,39);var I=_[18],U=I&&fu(_,65),Y=un(k,pr(_));V0(_,4);var y0=lr([0,Y],0,0),D0=Kl(1,_),I0=N0(D0),D=0;if(typeof I0=="number")if(24<=I0)if(29<=I0)D=1;else switch(I0-24|0){case 0:var u0=cr(0,Vn[9],D0),Y0=u0[2],J0=lr([0,Y0[2]],0,0),Pr=Y0[3],K0=[0,[1,[0,u0[1],[0,Y0[1],0,J0]]]];break;case 3:var fr=cr(0,Vn[8],D0),Q0=fr[2],F0=lr([0,Q0[2]],0,0),Pr=Q0[3],K0=[0,[1,[0,fr[1],[0,Q0[1],2,F0]]]];break;case 4:var gr=cr(0,Vn[7],D0),mr=gr[2],Cr=lr([0,mr[2]],0,0),Pr=mr[3],K0=[0,[1,[0,gr[1],[0,mr[1],1,Cr]]]];break;default:D=1}else if(I0===8)var Pr=0,K0=0;else D=1;else D=1;if(D)var sr=T9(1,D0),Pr=0,K0=[0,[0,u(se[8],sr)]];var Ur=N0(_);if(typeof Ur=="number"){if(Ur===17){if(K0){var d0=K0[1];if(d0[0]===0)var Kr=[1,ir(t[2],xre,_,d0[1])];else{var re=d0[1];Tr(_,28,re);var Kr=[0,re]}U?V0(_,63):V0(_,17);var xe=u(se[7],_);V0(_,5);var je=zl(1,_),ve=u(se[2],je);return Hr(_,ve),[21,[0,Kr,xe,ve,0,y0]]}throw[0,wn,are]}if(Ur===63){if(K0){var Ie=K0[1];if(Ie[0]===0)var Me=[1,ir(t[2],ire,_,Ie[1])];else{var Be=Ie[1];Tr(_,29,Be);var Me=[0,Be]}V0(_,63);var fn=u(se[10],_);V0(_,5);var Ke=zl(1,_),Ae=u(se[2],Ke);return Hr(_,Ae),[22,[0,Me,fn,Ae,U,y0]]}throw[0,wn,fre]}}if(Pu(function(gt){return ue(_,gt)},Pr),U?V0(_,63):V0(_,8),K0)var xn=K0[1],Qe=xn[0]===0?[0,[1,a(t[1],_,xn[1])]]:[0,[0,xn[1]]],yn=Qe;else var yn=K0;var on=N0(_),Ce=0;if(typeof on=="number"){var We=on!==8?1:0;if(!We){var rn=We;Ce=1}}if(!Ce)var rn=[0,u(se[7],_)];V0(_,8);var bn=N0(_),Cn=0;if(typeof bn=="number"){var Hn=bn!==5?1:0;if(!Hn){var Sn=Hn;Cn=1}}if(!Cn)var Sn=[0,u(se[7],_)];V0(_,5);var vt=zl(1,_),At=u(se[2],vt);return Hr(_,At),[20,[0,yn,rn,Sn,At,y0]]}var xr=0;function Rr(_){return cr(xr,Or,_)}function Wr(_){var k=qs(_)?n(_):u(se[2],_),I=1-_[5],U=I&&nb(k);return U&&B1(_,k[1]),k}function Jr(_){var k=pr(_);V0(_,43);var I=Wr(_);return[0,I,lr([0,k],0,0)]}function or(_){var k=pr(_);V0(_,16);var I=un(k,pr(_));V0(_,4);var U=u(se[7],_);V0(_,5);var Y=Wr(_),y0=N0(_)===43?1:0,D0=y0&&[0,cr(0,Jr,_)];return[24,[0,U,Y,D0,lr([0,I],0,0)]]}var _r=0;function Ir(_){return cr(_r,or,_)}function fe(_){1-_[11]&&Ge(_,36);var k=pr(_),I=De(_);V0(_,19);var U=N0(_)===8?1:0,Y=U&&we(_),y0=0;if(N0(_)!==8&&!x2(_)){var D0=[0,u(se[7],_)];y0=1}if(!y0)var D0=0;var I0=yt(I,De(_)),D=x(0,0,_),u0=0;if(D[0]===0)var Y0=D[1];else{var J0=D[1];if(D0){var fr=function(sr,Pr){return a(Ze(sr,Di,90),sr,Pr)},Q0=[0,a(J0[2],D0[1],fr)],F0=Y;u0=1}else var Y0=J0[1]}if(!u0)var Q0=D0,F0=un(Y,Y0);return[28,[0,Q0,lr([0,k],[0,F0],0),I0]]}var v0=0;function P(_){return cr(v0,fe,_)}function L(_){var k=pr(_);V0(_,20),V0(_,4);var I=u(se[7],_);V0(_,5),V0(_,0);for(var U=ure;;){var Y=U[2],y0=N0(_);if(typeof y0=="number"){var D0=0;if((y0===1||Pn===y0)&&(D0=1),D0){var I0=de(Y);V0(_,1);var D=c(_),u0=I[1];return[29,[0,I,I0,lr([0,k],[0,D[1]],0),u0]]}}var Y0=U[1],J0=OL(0,function(Q0){return function(F0){var gr=pr(F0),mr=N0(F0),Cr=0;if(typeof mr=="number"&&mr===36){Q0&&Ge(F0,32),V0(F0,36);var sr=we(F0),Pr=0;Cr=1}if(!Cr){V0(F0,33);var sr=0,Pr=[0,u(se[7],F0)]}var K0=Q0||(Pr===0?1:0);V0(F0,86);var Ur=un(sr,c(F0)[1]);function d0(je){if(typeof je=="number"){var ve=je-1|0,Ie=0;if(32>>0?ve===35&&(Ie=1):30<(ve-1|0)>>>0&&(Ie=1),Ie)return 1}return 0}var Kr=1,re=F0[9]===1?F0:[0,F0[1],F0[2],F0[3],F0[4],F0[5],F0[6],F0[7],F0[8],Kr,F0[10],F0[11],F0[12],F0[13],F0[14],F0[15],F0[16],F0[17],F0[18],F0[19],F0[20],F0[21],F0[22],F0[23],F0[24],F0[25],F0[26],F0[27],F0[28],F0[29],F0[30]],xe=a(se[4],d0,re);return[0,[0,Pr,xe,lr([0,gr],[0,Ur],0)],K0]}}(Y0),_),U=[0,J0[2],[0,J0[1],Y]]}}var Q=0;function i0(_){return cr(Q,L,_)}function l0(_){var k=pr(_),I=De(_);V0(_,22),f7(_)&&ue(_,[0,I,21]);var U=u(se[7],_),Y=x(0,0,_);if(Y[0]===0)var D0=U,I0=Y[1];else var y0=function(D,u0){return a(Ze(D,Di,91),D,u0)},D0=a(Y[1][2],U,y0),I0=0;return[30,[0,D0,lr([0,k],[0,I0],0)]]}var S0=0;function T0(_){return cr(S0,l0,_)}function rr(_){var k=pr(_);V0(_,23);var I=u(se[15],_);if(N0(_)===34)var U=Wt(_),Y=function(sr,Pr){var K0=Pr[1];return[0,K0,ir(Ze(sr,V8,29),sr,K0,Pr[2])]},y0=a(U[2],I,Y);else var y0=I;var D0=N0(_),I0=0;if(typeof D0=="number"&&D0===34){var D=[0,cr(0,function(Pr){var K0=pr(Pr);V0(Pr,34);var Ur=we(Pr),d0=N0(Pr)===4?1:0;if(d0){V0(Pr,4);var Kr=[0,a(se[18],Pr,39)];V0(Pr,5);var re=Kr}else var re=d0;var xe=u(se[15],Pr);if(N0(Pr)===38)var Ie=xe;else var je=c(Pr),ve=function(Me,Be){var fn=Be[1];return[0,fn,ir(Ze(Me,V8,92),Me,fn,Be[2])]},Ie=a(je[2],xe,ve);return[0,re,Ie,lr([0,K0],[0,Ur],0)]},_)];I0=1}if(!I0)var D=0;var u0=N0(_),Y0=0;if(typeof u0=="number"&&u0===38){V0(_,38);var J0=u(se[15],_),fr=J0[1],Q0=c(_),F0=function(Pr,K0){return ir(Ze(Pr,V8,93),Pr,fr,K0)},gr=[0,[0,fr,a(Q0[2],J0[2],F0)]];Y0=1}if(!Y0)var gr=0;var mr=D===0?1:0,Cr=mr&&(gr===0?1:0);return Cr&&ue(_,[0,y0[1],33]),[31,[0,y0,D,gr,lr([0,k],0,0)]]}var R0=0;function B(_){return cr(R0,rr,_)}function Z(_){var k=u(Vn[9],_),I=s(0,_,k[1]),U=0,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var p0=0;function b0(_){return cr(p0,Z,_)}function O0(_){var k=u(Vn[8],_),I=s(2,_,k[1]),U=2,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var q0=0;function er(_){return cr(q0,O0,_)}function yr(_){var k=u(Vn[7],_),I=s(1,_,k[1]),U=1,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var vr=0;function $0(_){return cr(vr,yr,_)}function Sr(_){var k=pr(_);V0(_,25);var I=un(k,pr(_));V0(_,4);var U=u(se[7],_);V0(_,5);var Y=zl(1,_),y0=u(se[2],Y),D0=1-_[5],I0=D0&&nb(y0);return I0&&B1(_,y0[1]),[35,[0,U,y0,lr([0,I],0,0)]]}var Mr=0;function Br(_){return cr(Mr,Sr,_)}function qr(_){var k=pr(_),I=u(se[7],_),U=N0(_),Y=I[2];if(Y[0]===10&&typeof U=="number"&&U===86){var y0=Y[1],D0=y0[2][1];V0(_,86),a(Gu[3],D0,_[3])&&ue(_,[0,I[1],[16,nre,D0]]);var I0=_[30],D=_[29],u0=_[28],Y0=_[27],J0=_[26],fr=_[25],Q0=_[24],F0=_[23],gr=_[22],mr=_[21],Cr=_[20],sr=_[19],Pr=_[18],K0=_[17],Ur=_[16],d0=_[15],Kr=_[14],re=_[13],xe=_[12],je=_[11],ve=_[10],Ie=_[9],Me=_[8],Be=_[7],fn=_[6],Ke=_[5],Ae=_[4],xn=a(Gu[4],D0,_[3]),Qe=[0,_[1],_[2],xn,Ae,Ke,fn,Be,Me,Ie,ve,je,xe,re,Kr,d0,Ur,K0,Pr,sr,Cr,mr,gr,F0,Q0,fr,J0,Y0,u0,D,I0],yn=qs(Qe)?n(Qe):u(se[2],Qe);return[27,[0,y0,yn,lr([0,k],0,0)]]}var on=x(tre,0,_);if(on[0]===0)var We=I,rn=on[1];else var Ce=function(bn,Cn){return a(Ze(bn,Di,94),bn,Cn)},We=a(on[1][2],I,Ce),rn=0;return[19,[0,We,0,lr(0,[0,rn],0)]]}var jr=0;function $r(_){return cr(jr,qr,_)}function ne(_){var k=u(se[7],_),I=x(ere,0,_);if(I[0]===0)var Y=k,y0=I[1];else var U=function(sr,Pr){return a(Ze(sr,Di,95),sr,Pr)},Y=a(I[1][2],k,U),y0=0;var D0=_[19];if(D0){var I0=Y[2],D=0;if(I0[0]===14){var u0=I0[1],Y0=0,J0=u0[1];if(typeof J0!="number"&&J0[0]===0){var fr=u0[2],Q0=1>>0))switch(K0){case 21:var Ur=un(I0,pr(D0)),d0=cr(0,function(Nt){return V0(Nt,36)},D0),Kr=ae0(1,D0),re=N0(Kr),xe=0;if(typeof re=="number")if(re===15)var je=0,ve=je,Ie=[0,[1,cr(0,function(Nt){return a(e0,0,Nt)},Kr)]];else if(re===40)var ve=0,Ie=[0,[2,cr(0,u(k0,0),Kr)]];else xe=1;else xe=1;if(xe){var Me=u(ln[1],Kr),Be=x(0,0,Kr);if(Be[0]===0)var Ae=Be[1],xn=Me;else var fn=0,Ke=function(Ku,lt){return a(Ze(Ku,_v,Pn),Ku,lt)},Ae=fn,xn=a(Be[1][2],Me,Ke);var ve=Ae,Ie=[0,[3,xn]]}var Qe=lr([0,Ur],[0,ve],0);return[6,[0,[0,d0[1]],Ie,0,0,Qe]];case 0:case 9:case 12:case 13:case 25:var yn=N0(D0);if(typeof yn=="number"){var on=0;if(25<=yn)if(29<=yn){if(yn===40){var Ce=[0,[2,cr(0,u(k0,0),D0)]];on=1}}else 27<=yn&&(on=2);else if(yn===15){var Ce=[0,[1,cr(0,function(du){return a(e0,0,du)},D0)]];on=1}else 24<=yn&&(on=2);var We=0;switch(on){case 0:break;case 2:var rn=0;typeof yn=="number"?yn===27?Ge(D0,72):yn===28?Ge(D0,71):rn=1:rn=1;var Ce=[0,[0,cr(0,function(du){return a(l,du,0)},D0)]];We=1;break;default:We=1}if(We)return[6,[0,0,Ce,0,0,lr([0,I0],0,0)]]}throw[0,wn,E0e]}}var bn=N0(D0),Cn=0;typeof bn=="number"?bn===53?Ge(D0,74):bn===61?Ge(D0,73):Cn=1:Cn=1,V0(D0,0);var Hn=ir(X0,0,D0,0);V0(D0,1);var Sn=N0(D0),vt=0;if(typeof Sn!="number"&&Sn[0]===4&&!n0(Sn[3],w0e)){var At=u(E0,D0),gt=At[2],Jt=[0,At[1]];vt=1}if(!vt){a(b,D0,Hn);var Bt=x(0,0,D0),Ft=Bt[0]===0?Bt[1]:Bt[1][1],gt=Ft,Jt=0}return[6,[0,0,0,[0,[0,Hn]],Jt,lr([0,I0],[0,gt],0)]]}var U=0;return function(Y){return cr(U,I,Y)}}),[0,Rr,Ir,$0,B,Br,E,h,y,T,Ar,w0,X,M,Lr,p,G0,pe,Fr,m0,$r,K,P,i0,T0,A,b0,er]}(j9),He0=function(t){var n=function y(T,E){return y.fun(T,E)},e=function y(T,E){return y.fun(T,E)},i=function y(T,E){return y.fun(T,E)};N(n,function(y,T){for(var E=T[2],h=E[2],w=o2(y),G=0,A=E[1];;){if(A){var S=A[1];if(S[0]===0){var M=S[1],K=M[2];switch(K[0]){case 0:var V=K[2],f0=K[1];switch(f0[0]){case 0:var m0=[0,f0[1]];break;case 1:var m0=[1,f0[1]];break;case 2:var m0=ke(y0e);break;default:var m0=[2,f0[1]]}var k0=V[2],g0=0;if(k0[0]===2){var e0=k0[1];if(!e0[1]){var x0=[0,e0[3]],l=e0[2];g0=1}}if(!g0)var x0=0,l=a(i,y,V);var c0=[0,[0,[0,M[1],[0,m0,l,x0,K[3]]]],G];break;case 1:ue(y,[0,K[2][1],97]);var c0=G;break;default:ue(y,[0,K[2][1],d0e]);var c0=G}var G=c0,A=A[2];continue}var t0=S[1],a0=t0[1];if(A[2]){ue(y,[0,a0,66]);var A=A[2];continue}var w0=t0[2],_0=w0[2],G=[0,[1,[0,a0,[0,a(i,y,w0[1]),_0]]],G],A=0;continue}var E0=[0,[0,de(G),w,h]];return[0,T[1],E0]}});function x(y,T){return u(se[23],T)?[0,a(i,y,T)]:(ue(y,[0,T[1],26]),0)}N(e,function(y,T){for(var E=T[2],h=E[2],w=o2(y),G=0,A=E[1];;){if(A){var S=A[1];switch(S[0]){case 0:var M=S[1],K=M[2];if(K[0]===2){var V=K[1];if(!V[1]){var G=[0,[0,[0,M[1],[0,V[2],[0,V[3]]]]],G],A=A[2];continue}}var f0=x(y,M);if(f0)var m0=f0[1],k0=[0,[0,[0,m0[1],[0,m0,0]]],G];else var k0=G;var G=k0,A=A[2];continue;case 1:var g0=S[1],e0=g0[1];if(A[2]){ue(y,[0,e0,65]);var A=A[2];continue}var x0=g0[2],l=x(y,x0[1]),c0=l?[0,[1,[0,e0,[0,l[1],x0[2]]]],G]:G,G=c0,A=0;continue;default:var G=[0,[2,S[1]],G],A=A[2];continue}}var t0=[1,[0,de(G),w,h]];return[0,T[1],t0]}}),N(i,function(y,T){var E=T[2],h=T[1];switch(E[0]){case 0:return a(e,y,[0,h,E[1]]);case 10:var w=E[1],G=w[2][1],A=w[1],S=0;if(y[5]&&Bs(G)?ue(y,[0,A,52]):S=1,S&&1-y[5]){var M=0;if(y[17]&&qn(G,m0e)?ue(y,[0,A,93]):M=1,M){var K=y[18],V=K&&qn(G,_0e);V&&ue(y,[0,A,92])}}return[0,h,[2,[0,w,o2(y),0]]];case 19:return a(n,y,[0,h,E[1]]);default:return[0,h,[3,[0,h,E]]]}});function c(y){function T(w){var G=N0(w);return typeof G=="number"&&G===82?(V0(w,82),[0,u(se[10],w)]):0}function E(w){var G=pr(w);V0(w,0);for(var A=0,S=0,M=0;;){var K=N0(w);if(typeof K=="number"){var V=0;if((K===1||Pn===K)&&(V=1),V){S&&ue(w,[0,S[1],98]);var f0=de(M),m0=pr(w);V0(w,1);var k0=we(w),g0=N0(w)===86?[1,u(t[9],w)]:o2(w);return[0,[0,f0,g0,_u([0,G],[0,k0],m0,0)]]}}if(N0(w)===12)var e0=pr(w),x0=cr(0,function(Jr){return V0(Jr,12),p(Jr,y)},w),l=lr([0,e0],0,0),c0=[0,[1,[0,x0[1],[0,x0[2],l]]]];else{var t0=De(w),a0=a(se[20],0,w),w0=N0(w),_0=0;if(typeof w0=="number"&&w0===86){V0(w,86);var E0=cr([0,t0],function(or){var _r=p(or,y);return[0,_r,T(or)]},w),X0=E0[2],b=a0[2];switch(b[0]){case 0:var G0=[0,b[1]];break;case 1:var G0=[1,b[1]];break;case 2:var G0=ke(v0e);break;default:var G0=[2,b[1]]}var c0=[0,[0,[0,E0[1],[0,G0,X0[1],X0[2],0]]]]}else _0=1;if(_0){var X=a0[2];if(X[0]===1){var s0=X[1],dr=s0[2][1],Ar=s0[1],ar=0;SL(dr)&&n0(dr,b0e)&&n0(dr,p0e)&&(ue(w,[0,Ar,2]),ar=1),!ar&&f2(dr)&&Y7(w,[0,Ar,55]);var W0=cr([0,t0],function(or,_r){return function(Ir){var fe=[0,_r,[2,[0,or,o2(Ir),0]]];return[0,fe,T(Ir)]}}(s0,Ar),w),Lr=W0[2],c0=[0,[0,[0,W0[1],[0,[1,s0],Lr[1],Lr[2],1]]]]}else{St(l0e,w);var c0=0}}}if(c0){var Tr=c0[1],Hr=A?(ue(w,[0,Tr[1][1],66]),0):S;if(Tr[0]===0)var Rr=Hr,Wr=A;else var Or=N0(w)===9?1:0,xr=Or&&[0,De(w)],Rr=xr,Wr=1;N0(w)!==1&&V0(w,9);var A=Wr,S=Rr,M=[0,Tr,M];continue}}}var h=0;return function(w){return cr(h,E,w)}}function s(y){function T(h){var w=pr(h);V0(h,6);for(var G=0;;){var A=N0(h);if(typeof A=="number"){var S=0;if(13<=A)Pn===A&&(S=1);else if(7<=A)switch(A-7|0){case 2:var M=De(h);V0(h,9);var G=[0,[2,M],G];continue;case 5:var K=pr(h),V=cr(0,function(_0){return V0(_0,12),p(_0,y)},h),f0=V[1],m0=lr([0,K],0,0),k0=[1,[0,f0,[0,V[2],m0]]];N0(h)!==7&&(ue(h,[0,f0,65]),N0(h)===9&&ie(h));var G=[0,k0,G];continue;case 0:S=1;break}if(S){var g0=de(G),e0=pr(h);V0(h,7);var x0=N0(h)===86?[1,u(t[9],h)]:o2(h);return[1,[0,g0,x0,_u([0,w],[0,we(h)],e0,0)]]}}var l=cr(0,function(w0){var _0=p(w0,y),E0=N0(w0),X0=0;if(typeof E0=="number"&&E0===82){V0(w0,82);var b=[0,u(se[10],w0)];X0=1}if(!X0)var b=0;return[0,_0,b]},h),c0=l[2],t0=[0,[0,l[1],[0,c0[1],c0[2]]]];N0(h)!==7&&V0(h,9);var G=[0,t0,G]}}var E=0;return function(h){return cr(E,T,h)}}function p(y,T){var E=N0(y);if(typeof E=="number"){if(E===6)return u(s(T),y);if(!E)return u(c(T),y)}var h=ir(se[14],y,0,T);return[0,h[1],[2,h[2]]]}return[0,n,e,i,c,s,p]}(ln),dne=lne(se),hne=ln[9];function Xe0(t,n){var e=N0(n),i=0;if(typeof e=="number"?e===28?n[5]?Ge(n,55):n[14]&&St(0,n):e===58?n[17]?Ge(n,2):n[5]&&Ge(n,55):e===65?n[18]&&Ge(n,2):i=1:i=1,i)if(EL(e))Si(n,55);else{var x=0;if(typeof e=="number")switch(e){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var c=1;x=1;break}else if(e[0]===4&&ve0(e[3])){var c=1;x=1}if(!x)var c=0;var s=0;if(c)var p=c;else{var y=wL(e);if(y)var p=y;else{var T=0;if(typeof e=="number")switch(e){case 29:case 30:case 31:break;default:T=1}else if(e[0]===4){var E=e[3];n0(E,ijr)&&n0(E,fjr)&&n0(E,xjr)&&(T=1)}else T=1;if(T){var h=0;s=1}else var p=1}}if(!s)var h=p;if(h)St(0,n);else{var w=0;t&&le0(e)?Si(n,t[1]):w=1}}return V7(n)}var Ye0=function t(n){return t.fun(n)},BL=function t(n,e,i){return t.fun(n,e,i)},qL=function t(n){return t.fun(n)},Ve0=function t(n,e){return t.fun(n,e)},UL=function t(n,e){return t.fun(n,e)},HL=function t(n,e){return t.fun(n,e)},G9=function t(n,e){return t.fun(n,e)},xb=function t(n,e){return t.fun(n,e)},M9=function t(n){return t.fun(n)},ze0=function t(n){return t.fun(n)},Ke0=function t(n){return t.fun(n)},We0=function t(n,e,i){return t.fun(n,e,i)},Je0=function t(n){return t.fun(n)},$e0=function t(n){return t.fun(n)},Ze0=Ys[3],kne=oi[3],wne=oi[1],Ene=oi[5],Sne=Ys[2],gne=Ys[1],Fne=Ys[4],Tne=oi[4],One=oi[6],Ine=dne[13],Ane=He0[6],Nne=He0[3];N(Ye0,function(t){var n=pr(t),e=de(n),i=5;r:for(;;){if(e)for(var x=e[2],c=e[1],s=c[2],p=c[1],y=s[2],T=0,E=nn(y);;){if(E<(T+5|0))var h=0;else{var w=qn(p7(y,T,i),RRr);if(!w){var T=T+1|0;continue}var h=w}if(!h){var e=x;continue r}t[30][1]=p[3];var G=de([0,[0,p,s],x]);break}else var G=e;if(G===0){var A=0;if(n){var S=n[1],M=S[2];if(!M[1]){var K=M[2],V=0;if(1<=nn(K)&&Ot(K,0)===42){t[30][1]=S[1][3];var f0=[0,S,0];A=1,V=1}}}if(!A)var f0=0}else var f0=G;var m0=a(Ve0,t,function(c0){return 0}),k0=De(t);V0(t,Pn);var g0=Gu[1];if(be(function(c0,t0){var a0=t0[2];switch(a0[0]){case 17:return fb(t,c0,Gc(0,[0,a0[1][1],Ere]));case 18:var w0=a0[1],_0=w0[1];if(_0){if(!w0[2]){var E0=_0[1],X0=E0[2],b=0;switch(X0[0]){case 34:var G0=X0[1][1],X=0,s0=be(function(Tr,Hr){return be(ML,Tr,[0,Hr[2][1],0])},X,G0);return be(function(Tr,Hr){return fb(t,Tr,Hr)},c0,s0);case 2:case 23:var dr=X0[1][1];if(dr)var Ar=dr[1];else b=1;break;case 16:case 26:case 32:case 33:var Ar=X0[1][1];break;default:b=1}return b?c0:fb(t,c0,Gc(0,[0,E0[1],Ar[2][1]]))}}else{var ar=w0[2];if(ar){var W0=ar[1];if(W0[0]===0){var Lr=W0[1];return be(function(Tr,Hr){var Or=Hr[2],xr=Or[2];return xr?fb(t,Tr,xr[1]):fb(t,Tr,Or[1])},c0,Lr)}return c0}}return c0;default:return c0}},g0,m0),m0)var e0=bl(de(m0))[1],x0=yt(bl(m0)[1],e0);else var x0=k0;var l=de(t[2][1]);return[0,x0,[0,m0,lr([0,f0],0,0),l]]}}),N(BL,function(t,n,e){for(var i=fe0(1,t),x=hre;;){var c=x[3],s=x[2],p=x[1],y=N0(i),T=0;if(typeof y=="number"&&Pn===y)var E=[0,i,p,s,c];else T=1;if(T)if(u(n,y))var E=[0,i,p,s,c];else{var h=0;if(typeof y=="number"||y[0]!==2)h=1;else{var w=u(e,i),G=[0,w,s],A=w[2];if(A[0]===19){var S=A[1][2];if(S){var M=qn(S[1],dre),K=M&&1-i[20];K&&ue(i,[0,w[1],43]);var V=M?ys(1,i):i,f0=[0,y,p],m0=c||M,i=V,x=[0,f0,G,m0];continue}}var E=[0,i,p,G,c]}if(h)var E=[0,i,p,s,c]}var k0=fe0(0,i),g0=de(p);return Pu(function(e0){if(typeof e0!="number"&&e0[0]===2){var x0=e0[1],l=x0[4];return l&&Y7(k0,[0,x0[1],45])}return ke(Te(wre,Te(Tr0(e0),kre)))},g0),[0,k0,E[3],c]}}),N(qL,function(t){var n=u(Ys[6],t),e=N0(t);if(typeof e=="number"){var i=e-49|0;if(!(11>>0))switch(i){case 0:return a(dt[16],n,t);case 1:u(N9(t),n);var x=Yn(1,t);if(typeof x=="number"){var c=0;if((x===4||x===10)&&(c=1),c)return u(dt[17],t)}return u(dt[18],t);case 11:if(Yn(1,t)===49)return u(N9(t),n),a(dt[12],0,t);break}}return a(xb,[0,n],t)}),N(Ve0,function(t,n){var e=ir(BL,t,n,qL),i=a(UL,n,e[1]),x=e[2];return be(function(c,s){return[0,s,c]},i,x)}),N(UL,function(t,n){for(var e=0;;){var i=N0(n);if(typeof i=="number"&&Pn===i||u(t,i))return de(e);var e=[0,u(qL,n),e]}}),N(HL,function(t,n){var e=ir(BL,n,t,function(s){return a(xb,0,s)}),i=a(G9,t,e[1]),x=e[2],c=be(function(s,p){return[0,p,s]},i,x);return[0,c,e[3]]}),N(G9,function(t,n){for(var e=0;;){var i=N0(n);if(typeof i=="number"&&Pn===i||u(t,i))return de(e);var e=[0,a(xb,0,n),e]}}),N(xb,function(t,n){var e=t&&t[1];1-$l(n)&&u(N9(n),e);var i=N0(n);if(typeof i=="number"){if(i===27)return u(dt[27],n);if(i===28)return u(dt[3],n)}if(qs(n))return u(Vn[10],n);if($l(n))return a(Ze0,n,e);if(typeof i=="number"){var x=i+zt|0;if(!(14>>0))switch(x){case 0:if(n[27][1])return u(Vn[11],n);break;case 5:return u(dt[19],n);case 12:return a(dt[11],0,n);case 13:return u(dt[25],n);case 14:return u(dt[21],n)}}return u(M9,n)}),N(M9,function(t){var n=N0(t);if(typeof n=="number")switch(n){case 0:return u(dt[7],t);case 8:return u(dt[15],t);case 19:return u(dt[22],t);case 20:return u(dt[23],t);case 22:return u(dt[24],t);case 23:return u(dt[4],t);case 24:return u(dt[26],t);case 25:return u(dt[5],t);case 26:return u(dt[6],t);case 32:return u(dt[8],t);case 35:return u(dt[9],t);case 37:return u(dt[14],t);case 39:return u(dt[1],t);case 59:return u(dt[10],t);case 113:return St(mre,t),[0,De(t),_re];case 16:case 43:return u(dt[2],t);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 83:case 86:return St(yre,t),ie(t),u(M9,t)}if(qs(t)){var e=u(Vn[10],t);return B1(t,e[1]),e}if(typeof n=="number"&&n===28&&Yn(1,t)===6){var i=Wl(1,t);return ue(t,[0,yt(De(t),i),94]),u(dt[17],t)}return M1(t)?u(dt[20],t):($l(t)&&(St(0,t),ie(t)),u(dt[17],t))}),N(ze0,function(t){var n=De(t),e=u(oi[1],t),i=N0(t);return typeof i=="number"&&i===9?ir(oi[7],t,n,[0,e,0]):e}),N(Ke0,function(t){var n=De(t),e=u(oi[2],t),i=N0(t);if(typeof i=="number"&&i===9){var x=[0,a(j9[1],t,e),0];return[0,ir(oi[7],t,n,x)]}return e}),N(We0,function(t,n,e){var i=n&&n[1];return cr(0,function(x){var c=1-i,s=Xe0([0,e],x),p=c&&(N0(x)===85?1:0);return p&&(1-iu(x)&&Ge(x,12),V0(x,85)),[0,s,u(ln[10],x),p]},t)}),N(Je0,function(t){var n=De(t),e=pr(t);V0(t,0);var i=a(G9,function(y){return y===1?1:0},t),x=i===0?1:0,c=De(t),s=x&&pr(t);V0(t,1);var p=[0,i,_u([0,e],[0,we(t)],s,0)];return[0,yt(n,c),p]}),N($e0,function(t){function n(i){var x=pr(i);V0(i,0);var c=a(HL,function(S){return S===1?1:0},i),s=c[1],p=s===0?1:0,y=p&&pr(i);V0(i,1);var T=N0(i),E=0;if(!t){var h=0;if(typeof T=="number"&&(T===1||Pn===T)&&(h=1),!h){var w=f7(i);if(w){var G=Us(i);E=1}else{var G=w;E=1}}}if(!E)var G=we(i);var A=_u([0,x],[0,G],y,0);return[0,[0,s,A],c[2]]}var e=0;return function(i){return OL(e,n,i)}}),pu(Ore,se,[0,Ye0,M9,xb,G9,HL,UL,ze0,Ke0,kne,wne,Ene,Sne,Xe0,We0,Je0,$e0,Ine,Ane,Nne,gne,Ze0,Fne,Tne,One,hne]);var Qe0=[0,0],rn0=sn;function Cne(t){function n(e,i){var x=i[2],c=i[1],s=sL(x),p=[0,[0,Ire,u(t[1],s)],0],y=P9(e,c[3]),T=[0,u(t[5],y),0],E=P9(e,c[2]),h=[0,u(t[5],E),T],w=[0,[0,Are,u(t[4],h)],p],G=[0,[0,Nre,u(t[5],c[3][2])],0],A=[0,[0,Cre,u(t[5],c[3][1])],G],S=[0,[0,Pre,u(t[3],A)],0],M=[0,[0,Dre,u(t[5],c[2][2])],0],K=[0,[0,Lre,u(t[5],c[2][1])],M],V=[0,[0,Rre,u(t[3],K)],S],f0=[0,[0,jre,u(t[3],V)],w];switch(i[3]){case 0:var m0=Gre;break;case 1:var m0=Mre;break;case 2:var m0=Bre;break;case 3:var m0=qre;break;case 4:var m0=Ure;break;default:var m0=Hre}var k0=[0,[0,Xre,u(t[1],m0)],f0],g0=Tr0(x),e0=[0,[0,Yre,u(t[1],g0)],k0];return u(t[3],e0)}return[0,n,function(e,i){var x=de(Tp(function(c){return n(e,c)},i));return u(t[4],x)}]}var Pne=M70;function H1(t){return B70(_l(t))}function yu(t){return G70(_l(t))}function Dne(t){return t}function Lne(t){return t}function en0(t,n,e){try{var i=new RegExp(sn(n),sn(e));return i}catch{return u7}}var Rne=Cne([0,rn0,Pne,H1,yu,Dne,Lne,u7,en0]),jne=[0,1],nn0=function(t){function n(E,h){return yu(de(Tp(E,h)))}function e(E,h){return h?u(E,h[1]):u7}function i(E,h){return h[0]===0?u7:u(E,h[1])}function x(E){return H1([0,[0,YWr,E[1]],[0,[0,XWr,E[2]],0]])}function c(E){var h=E[1],w=h?sn(h[1][1]):u7,G=[0,[0,qWr,x(E[3])],0];return H1([0,[0,HWr,w],[0,[0,UWr,x(E[2])],G]])}function s(E){return n(function(h){var w=h[2],G=0;if(typeof w=="number"){var A=w;if(55<=A)switch(A){case 55:var S=_mr;break;case 56:var S=ymr;break;case 57:var S=dmr;break;case 58:var S=hmr;break;case 59:var S=kmr;break;case 60:var S=wmr;break;case 61:var S=Te(Smr,Emr);break;case 62:var S=Te(Fmr,gmr);break;case 63:var S=Te(Omr,Tmr);break;case 64:var S=Imr;break;case 65:var S=Amr;break;case 66:var S=Nmr;break;case 67:var S=Cmr;break;case 68:var S=Pmr;break;case 69:var S=Dmr;break;case 70:var S=Lmr;break;case 71:var S=Rmr;break;case 72:var S=jmr;break;case 73:var S=Gmr;break;case 74:var S=Mmr;break;case 75:var S=Bmr;break;case 76:var S=qmr;break;case 77:var S=Umr;break;case 78:var S=Hmr;break;case 79:var S=Xmr;break;case 80:var S=Ymr;break;case 81:var S=Vmr;break;case 82:var S=Te(Kmr,zmr);break;case 83:var S=Wmr;break;case 84:var S=Jmr;break;case 85:var S=$mr;break;case 86:var S=Zmr;break;case 87:var S=Qmr;break;case 88:var S=r9r;break;case 89:var S=e9r;break;case 90:var S=n9r;break;case 91:var S=t9r;break;case 92:var S=u9r;break;case 93:var S=i9r;break;case 94:var S=Te(x9r,f9r);break;case 95:var S=a9r;break;case 96:var S=o9r;break;case 97:var S=c9r;break;case 98:var S=s9r;break;case 99:var S=v9r;break;case 100:var S=l9r;break;case 101:var S=b9r;break;case 102:var S=p9r;break;case 103:var S=m9r;break;case 104:var S=_9r;break;case 105:var S=y9r;break;case 106:var S=d9r;break;case 107:var S=h9r;break;default:var S=k9r}else switch(A){case 0:var S=p5r;break;case 1:var S=m5r;break;case 2:var S=_5r;break;case 3:var S=y5r;break;case 4:var S=d5r;break;case 5:var S=h5r;break;case 6:var S=k5r;break;case 7:var S=w5r;break;case 8:var S=E5r;break;case 9:var S=S5r;break;case 10:var S=g5r;break;case 11:var S=F5r;break;case 12:var S=T5r;break;case 13:var S=O5r;break;case 14:var S=I5r;break;case 15:var S=A5r;break;case 16:var S=N5r;break;case 17:var S=C5r;break;case 18:var S=P5r;break;case 19:var S=D5r;break;case 20:var S=L5r;break;case 21:var S=R5r;break;case 22:var S=j5r;break;case 23:var S=G5r;break;case 24:var S=M5r;break;case 25:var S=B5r;break;case 26:var S=q5r;break;case 27:var S=U5r;break;case 28:var S=H5r;break;case 29:var S=X5r;break;case 30:var S=Y5r;break;case 31:var S=Te(z5r,V5r);break;case 32:var S=K5r;break;case 33:var S=W5r;break;case 34:var S=J5r;break;case 35:var S=$5r;break;case 36:var S=Z5r;break;case 37:var S=Q5r;break;case 38:var S=rmr;break;case 39:var S=emr;break;case 40:var S=nmr;break;case 41:var S=tmr;break;case 42:var S=umr;break;case 43:var S=imr;break;case 44:var S=fmr;break;case 45:var S=xmr;break;case 46:var S=amr;break;case 47:var S=omr;break;case 48:var S=cmr;break;case 49:var S=smr;break;case 50:var S=vmr;break;case 51:var S=lmr;break;case 52:var S=bmr;break;case 53:var S=pmr;break;default:var S=mmr}}else switch(w[0]){case 0:var M=w[2],K=w[1],S=ir(Qn(w9r),M,M,K);break;case 1:var V=w[1],f0=w[2],S=a(Qn(E9r),f0,V);break;case 2:var m0=w[1],S=u(Qn(S9r),m0);break;case 3:var k0=w[2],g0=w[1],e0=u(Qn(g9r),g0);if(k0)var x0=k0[1],S=a(Qn(F9r),x0,e0);else var S=u(Qn(T9r),e0);break;case 4:var l=w[1],S=a(Qn(O9r),l,l);break;case 5:var c0=w[3],t0=w[2],a0=w[1];if(t0){var w0=t0[1];if(3<=w0)var S=a(Qn(I9r),c0,a0);else{switch(w0){case 0:var _0=s5r;break;case 1:var _0=v5r;break;case 2:var _0=l5r;break;default:var _0=b5r}var S=R(Qn(A9r),a0,_0,c0,_0)}}else var S=a(Qn(N9r),c0,a0);break;case 6:var E0=w[2],X0=E0;if(l7(X0)===0)var b=X0;else{var G0=mz(X0);Jn(G0,0,vz(Hu(X0,0)));var b=G0}var X=b,s0=w[1],S=ir(Qn(C9r),E0,X,s0);break;case 7:var S=w[1]?P9r:D9r;break;case 8:var dr=w[1],Ar=w[2],S=a(Qn(L9r),Ar,dr);break;case 9:var ar=w[1],S=u(Qn(R9r),ar);break;case 10:var W0=w[1],S=u(Qn(j9r),W0);break;case 11:var Lr=w[2],Tr=w[1],S=a(Qn(G9r),Tr,Lr);break;case 12:var Hr=w[2],Or=w[1],S=a(Qn(M9r),Or,Hr);break;case 13:var S=Te(q9r,Te(w[1],B9r));break;case 14:var xr=w[1]?U9r:H9r,S=u(Qn(X9r),xr);break;case 15:var S=Te(V9r,Te(w[1],Y9r));break;case 16:var Rr=Te(K9r,Te(w[2],z9r)),S=Te(w[1],Rr);break;case 17:var S=Te(W9r,w[1]);break;case 18:var S=w[1]?Te($9r,J9r):Te(Q9r,Z9r);break;case 19:var Wr=w[1],S=u(Qn(r_r),Wr);break;case 20:var S=Te(n_r,Te(w[1],e_r));break;case 21:var Jr=w[1],or=w[2]?t_r:u_r,_r=w[4]?Te(i_r,Jr):Jr,Ir=w[3]?f_r:x_r,S=Te(c_r,Te(or,Te(Ir,Te(o_r,Te(_r,a_r)))));break;case 22:var S=Te(v_r,Te(w[1],s_r));break;default:var fe=w[1],S=u(Qn(l_r),fe)}var v0=[0,[0,MWr,sn(S)],G];return H1([0,[0,BWr,c(h[1])],v0])},E)}function p(E){if(E){var h=E[1],w=[0,un(h[3],h[2])];return lr([0,h[1]],w,0)}return E}function y(E){function h(_){return n(H0,_)}function w(_,k,I,U){var Y=t[1];if(Y){if(E)var y0=E[1],D0=[0,P9(y0,k[3]),0],I0=[0,[0,hGr,yu([0,P9(y0,k[2]),D0])],0];else var I0=E;var D=un(I0,[0,[0,kGr,c(k)],0])}else var D=Y;if(I){var u0=I[1],Y0=u0[1];if(Y0){var J0=u0[2];if(J0)var fr=[0,[0,wGr,h(J0)],0],Q0=[0,[0,EGr,h(Y0)],fr];else var Q0=[0,[0,SGr,h(Y0)],0];var mr=Q0}else var F0=u0[2],gr=F0&&[0,[0,gGr,h(F0)],0],mr=gr;var Cr=mr}else var Cr=I;return H1(jc(un(D,un(Cr,[0,[0,FGr,sn(_)],0])),U))}function G(_){return n(Q,_)}function A(_){var k=_[2],I=G(k[1]),U=[0,[0,OGr,I],[0,[0,TGr,h(k[3])],0]];return w(IGr,_[1],k[2],U)}function S(_){var k=_[2];return w(xUr,_[1],k[2],[0,[0,fUr,sn(k[1])],[0,[0,iUr,u7],[0,[0,uUr,!1],0]]])}function M(_){if(_[0]===0)return S(_[1]);var k=_[1],I=k[2],U=M(I[1]),Y=[0,[0,rKr,U],[0,[0,Qzr,S(I[2])],0]];return w(eKr,k[1],0,Y)}function K(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,jzr,U],[0,[0,Rzr,S(k[2])],0]];return w(Gzr,_[1],0,Y)}function V(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,Bzr,U],[0,[0,Mzr,e($r,k[2])],0]];return w(qzr,_[1],k[3],Y)}function f0(_){var k=_[2],I=k[2],U=k[1],Y=_[1];if(typeof U=="number")var y0=u7;else switch(U[0]){case 0:var y0=sn(U[1]);break;case 1:var y0=!!U[1];break;case 2:var y0=U[1];break;case 3:var y0=ke(IYr);break;default:var D0=U[1],y0=en0(Y,D0[1],D0[2])}var I0=0;if(typeof U!="number"&&U[0]===4){var D=U[1],u0=[0,[0,CYr,H1([0,[0,NYr,sn(D[1])],[0,[0,AYr,sn(D[2])],0]])],0],Y0=[0,[0,DYr,y0],[0,[0,PYr,sn(I)],u0]];I0=1}if(!I0)var Y0=[0,[0,RYr,y0],[0,[0,LYr,sn(I)],0]];return w(jYr,Y,k[3],Y0)}function m0(_){var k=[0,[0,Uzr,g0(_[2])],0];return[0,[0,Hzr,g0(_[1])],k]}function k0(_,k){var I=k[2],U=[0,[0,GVr,!!I[3]],0],Y=[0,[0,MVr,g0(I[2])],U],y0=[0,[0,BVr,e(S,I[1])],Y];return w(qVr,k[1],_,y0)}function g0(_){var k=_[2],I=_[1];switch(k[0]){case 0:return w(hVr,I,k[1],0);case 1:return w(kVr,I,k[1],0);case 2:return w(wVr,I,k[1],0);case 3:return w(EVr,I,k[1],0);case 4:return w(SVr,I,k[1],0);case 5:return w(FVr,I,k[1],0);case 6:return w(TVr,I,k[1],0);case 7:return w(OVr,I,k[1],0);case 8:return w(IVr,I,k[1],0);case 9:return w(gVr,I,k[1],0);case 10:return w(yKr,I,k[1],0);case 11:var U=k[1],Y=[0,[0,AVr,g0(U[1])],0];return w(NVr,I,U[2],Y);case 12:return e0([0,I,k[1]]);case 13:return x0(1,[0,I,k[1]]);case 14:var y0=k[1],D0=[0,[0,Nzr,x0(0,y0[1])],0],I0=[0,[0,Czr,n(fe,y0[2])],D0];return w(Pzr,I,y0[3],I0);case 15:var D=k[1],u0=[0,[0,Dzr,g0(D[1])],0];return w(Lzr,I,D[2],u0);case 16:return V([0,I,k[1]]);case 17:var Y0=k[1],J0=m0(Y0);return w(Xzr,I,Y0[3],J0);case 18:var fr=k[1],Q0=fr[1],F0=[0,[0,Yzr,!!fr[2]],0],gr=un(m0(Q0),F0);return w(Vzr,I,Q0[3],gr);case 19:var mr=k[1],Cr=mr[1],sr=[0,[0,zzr,n(g0,[0,Cr[1],[0,Cr[2],Cr[3]]])],0];return w(Kzr,I,mr[2],sr);case 20:var Pr=k[1],K0=Pr[1],Ur=[0,[0,Wzr,n(g0,[0,K0[1],[0,K0[2],K0[3]]])],0];return w(Jzr,I,Pr[2],Ur);case 21:var d0=k[1],Kr=[0,[0,$zr,M(d0[1])],0];return w(Zzr,I,d0[2],Kr);case 22:var re=k[1],xe=[0,[0,nKr,n(g0,re[1])],0];return w(tKr,I,re[2],xe);case 23:var je=k[1];return w(fKr,I,je[3],[0,[0,iKr,sn(je[1])],[0,[0,uKr,sn(je[2])],0]]);case 24:var ve=k[1];return w(oKr,I,ve[3],[0,[0,aKr,ve[1]],[0,[0,xKr,sn(ve[2])],0]]);case 25:var Ie=k[1];return w(vKr,I,Ie[3],[0,[0,sKr,u7],[0,[0,cKr,sn(Ie[2])],0]]);default:var Me=k[1],Be=Me[1],fn=0,Ke=Be?lKr:bKr;return w(_Kr,I,Me[2],[0,[0,mKr,!!Be],[0,[0,pKr,sn(Ke)],fn]])}}function e0(_){var k=_[2],I=k[2][2],U=k[4],Y=_7(p(I[4]),U),y0=[0,[0,CVr,e(qr,k[1])],0],D0=[0,[0,PVr,e(Mr,I[3])],y0],I0=[0,[0,DVr,g0(k[3])],D0],D=[0,[0,LVr,e(Br,I[1])],I0],u0=I[2],Y0=[0,[0,RVr,n(function(J0){return k0(0,J0)},u0)],D];return w(jVr,_[1],Y,Y0)}function x0(_,k){var I=k[2],U=I[3],Y=be(function(fr,Q0){var F0=fr[4],gr=fr[3],mr=fr[2],Cr=fr[1];switch(Q0[0]){case 0:var sr=Q0[1],Pr=sr[2],K0=Pr[2],Ur=Pr[1];switch(Ur[0]){case 0:var d0=f0(Ur[1]);break;case 1:var d0=S(Ur[1]);break;case 2:var d0=ke(rzr);break;default:var d0=ke(ezr)}switch(K0[0]){case 0:var xe=nzr,je=g0(K0[1]);break;case 1:var Kr=K0[1],xe=tzr,je=e0([0,Kr[1],Kr[2]]);break;default:var re=K0[1],xe=uzr,je=e0([0,re[1],re[2]])}var ve=[0,[0,izr,sn(xe)],0],Ie=[0,[0,fzr,e(Sr,Pr[7])],ve];return[0,[0,w(lzr,sr[1],Pr[8],[0,[0,vzr,d0],[0,[0,szr,je],[0,[0,czr,!!Pr[6]],[0,[0,ozr,!!Pr[3]],[0,[0,azr,!!Pr[4]],[0,[0,xzr,!!Pr[5]],Ie]]]]]]),Cr],mr,gr,F0];case 1:var Me=Q0[1],Be=Me[2],fn=[0,[0,bzr,g0(Be[1])],0];return[0,[0,w(pzr,Me[1],Be[2],fn),Cr],mr,gr,F0];case 2:var Ke=Q0[1],Ae=Ke[2],xn=[0,[0,mzr,e(Sr,Ae[5])],0],Qe=[0,[0,_zr,!!Ae[4]],xn],yn=[0,[0,yzr,g0(Ae[3])],Qe],on=[0,[0,dzr,g0(Ae[2])],yn],Ce=[0,[0,hzr,e(S,Ae[1])],on];return[0,Cr,[0,w(kzr,Ke[1],Ae[6],Ce),mr],gr,F0];case 3:var We=Q0[1],rn=We[2],bn=[0,[0,wzr,!!rn[2]],0],Cn=[0,[0,Ezr,e0(rn[1])],bn];return[0,Cr,mr,[0,w(Szr,We[1],rn[3],Cn),gr],F0];default:var Hn=Q0[1],Sn=Hn[2],vt=[0,[0,gzr,g0(Sn[2])],0],At=[0,[0,Ozr,!!Sn[3]],[0,[0,Tzr,!!Sn[4]],[0,[0,Fzr,!!Sn[5]],vt]]],gt=[0,[0,Izr,S(Sn[1])],At];return[0,Cr,mr,gr,[0,w(Azr,Hn[1],Sn[6],gt),F0]]}},VVr,U),y0=[0,[0,zVr,yu(de(Y[4]))],0],D0=[0,[0,KVr,yu(de(Y[3]))],y0],I0=[0,[0,WVr,yu(de(Y[2]))],D0],D=[0,[0,JVr,yu(de(Y[1]))],I0],u0=[0,[0,$Vr,!!I[1]],D],Y0=_?[0,[0,ZVr,!!I[2]],u0]:u0,J0=p(I[4]);return w(QVr,k[1],J0,Y0)}function l(_){var k=[0,[0,dKr,g0(_[2])],0];return w(hKr,_[1],0,k)}function c0(_){var k=_[2];switch(k[2]){case 0:var I=oVr;break;case 1:var I=cVr;break;default:var I=sVr}var U=[0,[0,vVr,sn(I)],0],Y=[0,[0,lVr,n($0,k[1])],U];return w(bVr,_[1],k[3],Y)}function t0(_){var k=_[2];return w(VYr,_[1],k[3],[0,[0,YYr,sn(k[1])],[0,[0,XYr,sn(k[2])],0]])}function a0(_){var k=_[2],I=[0,[0,XXr,f1],[0,[0,HXr,l(k[1])],0]];return w(YXr,_[1],k[2],I)}function w0(_,k){var I=k[1][2],U=[0,[0,vUr,!!k[3]],0],Y=[0,[0,lUr,i(l,k[2])],U];return w(pUr,_,I[2],[0,[0,bUr,sn(I[1])],Y])}function _0(_){var k=_[2];return w(sUr,_[1],k[2],[0,[0,cUr,sn(k[1])],[0,[0,oUr,u7],[0,[0,aUr,!1],0]]])}function E0(_){return n(q0,_[2][1])}function X0(_){var k=_[2],I=[0,[0,jKr,w(KKr,k[2],0,0)],0],U=[0,[0,GKr,n(ae,k[3][2])],I],Y=[0,[0,MKr,w(YKr,k[1],0,0)],U];return w(BKr,_[1],k[4],Y)}function b(_){var k=_[2];return w(pWr,_[1],k[2],[0,[0,bWr,sn(k[1])],0])}function G0(_){var k=_[2],I=[0,[0,sWr,b(k[2])],0],U=[0,[0,vWr,b(k[1])],I];return w(lWr,_[1],0,U)}function X(_){var k=_[2],I=k[1],U=I[0]===0?b(I[1]):X(I[1]),Y=[0,[0,oWr,U],[0,[0,aWr,b(k[2])],0]];return w(cWr,_[1],0,Y)}function s0(_){switch(_[0]){case 0:return b(_[1]);case 1:return G0(_[1]);default:return X(_[1])}}function dr(_){var k=_[2],I=[0,[0,PKr,n(ae,k[3][2])],0],U=[0,[0,DKr,e(oe,k[2])],I],Y=k[1],y0=Y[2],D0=[0,[0,qKr,!!y0[2]],0],I0=[0,[0,UKr,n(pe,y0[3])],D0],D=[0,[0,HKr,s0(y0[1])],I0],u0=[0,[0,LKr,w(XKr,Y[1],0,D)],U];return w(RKr,_[1],k[4],u0)}function Ar(_){var k=_[2],I=[0,[0,ZYr,n(xr,k[2])],0],U=[0,[0,QYr,n(vr,k[1])],I];return w(rVr,_[1],k[3],U)}function ar(_,k){var I=k[2],U=I[7],Y=I[5],y0=I[4];if(y0)var D0=y0[1][2],I0=_7(D0[3],U),D=I0,u0=D0[2],Y0=[0,D0[1]];else var D=U,u0=0,Y0=0;if(Y)var J0=Y[1][2],fr=_7(J0[2],D),Q0=fr,F0=n(T0,J0[1]);else var Q0=D,F0=yu(0);var gr=[0,[0,aHr,F0],[0,[0,xHr,n(S0,I[6])],0]],mr=[0,[0,oHr,e($r,u0)],gr],Cr=[0,[0,cHr,e(xr,Y0)],mr],sr=[0,[0,sHr,e(qr,I[3])],Cr],Pr=I[2],K0=Pr[2],Ur=[0,[0,dHr,n(rr,K0[1])],0],d0=[0,[0,vHr,w(hHr,Pr[1],K0[2],Ur)],sr],Kr=[0,[0,lHr,e(S,I[1])],d0];return w(_,k[1],Q0,Kr)}function W0(_){var k=_[2],I=[0,[0,wUr,G(k[1])],0],U=p(k[2]);return w(EUr,_[1],U,I)}function Lr(_){var k=_[2];switch(k[0]){case 0:var I=0,U=S(k[1]);break;case 1:var I=0,U=_0(k[1]);break;default:var I=1,U=xr(k[1])}return[0,[0,GWr,xr(_[1])],[0,[0,jWr,U],[0,[0,RWr,!!I],0]]]}function Tr(_){var k=[0,[0,PWr,E0(_[3])],0],I=[0,[0,DWr,e(ne,_[2])],k];return[0,[0,LWr,xr(_[1])],I]}function Hr(_){var k=_[2],I=k[3],U=k[2],Y=k[1];if(I){var y0=I[1],D0=y0[2],I0=[0,[0,VXr,Or(D0[1])],0],D=w(zXr,y0[1],D0[2],I0),u0=de([0,D,Tp(R0,U)]),Y0=Y?[0,a0(Y[1]),u0]:u0;return yu(Y0)}var J0=k1(R0,U),fr=Y?[0,a0(Y[1]),J0]:J0;return yu(fr)}function Or(_){var k=_[2],I=_[1];switch(k[0]){case 0:var U=k[1],Y=[0,[0,DXr,i(l,U[2])],0],y0=[0,[0,LXr,n(b0,U[1])],Y];return w(RXr,I,p(U[3]),y0);case 1:var D0=k[1],I0=[0,[0,jXr,i(l,D0[2])],0],D=[0,[0,GXr,n(Z,D0[1])],I0];return w(MXr,I,p(D0[3]),D);case 2:return w0(I,k[1]);default:return xr(k[1])}}function xr(_){var k=_[2],I=_[1];switch(k[0]){case 0:var U=k[1],Y=[0,[0,iBr,n(er,U[1])],0];return w(fBr,I,p(U[2]),Y);case 1:var y0=k[1],D0=y0[7],I0=y0[3],D=y0[2];if(I0[0]===0)var u0=0,Y0=W0(I0[1]);else var u0=1,Y0=xr(I0[1]);var J0=D0[0]===0?0:[0,D0[1]],fr=y0[9],Q0=_7(p(D[2][4]),fr),F0=[0,[0,xBr,e(qr,y0[8])],0],gr=[0,[0,oBr,!!u0],[0,[0,aBr,e(l,J0)],F0]],mr=[0,[0,sBr,!1],[0,[0,cBr,e(Fr,y0[6])],gr]],Cr=[0,[0,lBr,Y0],[0,[0,vBr,!!y0[4]],mr]];return w(mBr,I,Q0,[0,[0,pBr,u7],[0,[0,bBr,Hr(D)],Cr]]);case 2:var sr=k[1],Pr=sr[1];if(Pr){switch(Pr[1]){case 0:var K0=Upr;break;case 1:var K0=Hpr;break;case 2:var K0=Xpr;break;case 3:var K0=Ypr;break;case 4:var K0=Vpr;break;case 5:var K0=zpr;break;case 6:var K0=Kpr;break;case 7:var K0=Wpr;break;case 8:var K0=Jpr;break;case 9:var K0=$pr;break;case 10:var K0=Zpr;break;case 11:var K0=Qpr;break;case 12:var K0=r5r;break;case 13:var K0=e5r;break;default:var K0=n5r}var Ur=K0}else var Ur=_Br;var d0=[0,[0,yBr,xr(sr[3])],0],Kr=[0,[0,dBr,Or(sr[2])],d0];return w(kBr,I,sr[4],[0,[0,hBr,sn(Ur)],Kr]);case 3:var re=k[1],xe=[0,[0,wBr,xr(re[3])],0],je=[0,[0,EBr,xr(re[2])],xe];switch(re[1]){case 0:var ve=hpr;break;case 1:var ve=kpr;break;case 2:var ve=wpr;break;case 3:var ve=Epr;break;case 4:var ve=Spr;break;case 5:var ve=gpr;break;case 6:var ve=Fpr;break;case 7:var ve=Tpr;break;case 8:var ve=Opr;break;case 9:var ve=Ipr;break;case 10:var ve=Apr;break;case 11:var ve=Npr;break;case 12:var ve=Cpr;break;case 13:var ve=Ppr;break;case 14:var ve=Dpr;break;case 15:var ve=Lpr;break;case 16:var ve=Rpr;break;case 17:var ve=jpr;break;case 18:var ve=Gpr;break;case 19:var ve=Mpr;break;case 20:var ve=Bpr;break;default:var ve=qpr}return w(gBr,I,re[4],[0,[0,SBr,sn(ve)],je]);case 4:var Ie=k[1],Me=Ie[4],Be=_7(p(Ie[3][2][2]),Me);return w(FBr,I,Be,Tr(Ie));case 5:return ar(fHr,[0,I,k[1]]);case 6:var fn=k[1],Ke=[0,[0,TBr,e(xr,fn[2])],0];return w(IBr,I,0,[0,[0,OBr,n(yr,fn[1])],Ke]);case 7:var Ae=k[1],xn=[0,[0,ABr,xr(Ae[3])],0],Qe=[0,[0,NBr,xr(Ae[2])],xn],yn=[0,[0,CBr,xr(Ae[1])],Qe];return w(PBr,I,Ae[4],yn);case 8:return Rr([0,I,k[1]]);case 9:var on=k[1],Ce=[0,[0,DBr,e(xr,on[2])],0];return w(RBr,I,0,[0,[0,LBr,n(yr,on[1])],Ce]);case 10:return S(k[1]);case 11:var We=k[1],rn=[0,[0,jBr,xr(We[1])],0];return w(GBr,I,We[2],rn);case 12:return dr([0,I,k[1]]);case 13:return X0([0,I,k[1]]);case 14:var bn=k[1],Cn=bn[1];return typeof Cn!="number"&&Cn[0]===3?w(HYr,I,bn[3],[0,[0,UYr,u7],[0,[0,qYr,sn(bn[2])],0]]):f0([0,I,bn]);case 15:var Hn=k[1];switch(Hn[1]){case 0:var Sn=MBr;break;case 1:var Sn=BBr;break;default:var Sn=qBr}var vt=[0,[0,UBr,xr(Hn[3])],0],At=[0,[0,HBr,xr(Hn[2])],vt];return w(YBr,I,Hn[4],[0,[0,XBr,sn(Sn)],At]);case 16:var gt=k[1],Jt=Lr(gt);return w(VBr,I,gt[3],Jt);case 17:var Bt=k[1],Ft=[0,[0,zBr,S(Bt[2])],0],Nt=[0,[0,KBr,S(Bt[1])],Ft];return w(WBr,I,Bt[3],Nt);case 18:var du=k[1],Ku=du[4],lt=du[3];if(lt)var xu=lt[1],Mu=_7(p(xu[2][2]),Ku),z7=Mu,Yi=E0(xu);else var z7=Ku,Yi=yu(0);var a7=[0,[0,$Br,e(ne,du[2])],[0,[0,JBr,Yi],0]];return w(QBr,I,z7,[0,[0,ZBr,xr(du[1])],a7]);case 19:var Yc=k[1],K7=[0,[0,rqr,n(p0,Yc[1])],0];return w(eqr,I,p(Yc[2]),K7);case 20:var qt=k[1],bt=qt[1],U0=bt[4],L0=_7(p(bt[3][2][2]),U0),Re=[0,[0,nqr,!!qt[3]],0];return w(tqr,I,L0,un(Tr(bt),Re));case 21:var He=k[1],he=He[1],_e=[0,[0,uqr,!!He[3]],0],Zn=un(Lr(he),_e);return w(iqr,I,he[3],Zn);case 22:var dn=k[1],it=[0,[0,fqr,n(xr,dn[1])],0];return w(xqr,I,dn[2],it);case 23:return w(aqr,I,k[1][1],0);case 24:var ft=k[1],Rn=[0,[0,fVr,Ar(ft[2])],0],nt=[0,[0,xVr,xr(ft[1])],Rn];return w(aVr,I,ft[3],nt);case 25:return Ar([0,I,k[1]]);case 26:return w(oqr,I,k[1][1],0);case 27:var ht=k[1],tn=[0,[0,cqr,l(ht[2])],0],cn=[0,[0,sqr,xr(ht[1])],tn];return w(vqr,I,ht[3],cn);case 28:var tt=k[1],Tt=tt[3],Fi=tt[2],hs=tt[1];if(7<=hs)return w(bqr,I,Tt,[0,[0,lqr,xr(Fi)],0]);switch(hs){case 0:var Iu=pqr;break;case 1:var Iu=mqr;break;case 2:var Iu=_qr;break;case 3:var Iu=yqr;break;case 4:var Iu=dqr;break;case 5:var Iu=hqr;break;case 6:var Iu=kqr;break;default:var Iu=ke(wqr)}var Vs=[0,[0,Sqr,!0],[0,[0,Eqr,xr(Fi)],0]];return w(Fqr,I,Tt,[0,[0,gqr,sn(Iu)],Vs]);case 29:var Vi=k[1],zs=Vi[1]?Tqr:Oqr,Ks=[0,[0,Iqr,!!Vi[3]],0],en=[0,[0,Aqr,xr(Vi[2])],Ks];return w(Cqr,I,Vi[4],[0,[0,Nqr,sn(zs)],en]);default:var ci=k[1],Ws=[0,[0,Pqr,!!ci[3]],0],c2=[0,[0,Dqr,e(xr,ci[1])],Ws];return w(Lqr,I,ci[2],c2)}}function Rr(_){var k=_[2],I=k[7],U=k[3],Y=k[2],y0=U[0]===0?U[1]:ke(zqr),D0=I[0]===0?0:[0,I[1]],I0=k[9],D=_7(p(Y[2][4]),I0),u0=[0,[0,Kqr,e(qr,k[8])],0],Y0=[0,[0,Jqr,!1],[0,[0,Wqr,e(l,D0)],u0]],J0=[0,[0,$qr,e(Fr,k[6])],Y0],fr=[0,[0,Qqr,!!k[4]],[0,[0,Zqr,!!k[5]],J0]],Q0=[0,[0,rUr,W0(y0)],fr],F0=[0,[0,eUr,Hr(Y)],Q0],gr=[0,[0,nUr,e(S,k[1])],F0];return w(tUr,_[1],D,gr)}function Wr(_){var k=_[2],I=[0,[0,FXr,n(fe,k[3])],0],U=[0,[0,TXr,x0(0,k[4])],I],Y=[0,[0,OXr,e(qr,k[2])],U],y0=[0,[0,IXr,S(k[1])],Y];return w(AXr,_[1],k[5],y0)}function Jr(_,k){var I=k[2],U=_?QUr:rHr,Y=[0,[0,eHr,e(g0,I[4])],0],y0=[0,[0,nHr,e(g0,I[3])],Y],D0=[0,[0,tHr,e(qr,I[2])],y0],I0=[0,[0,uHr,S(I[1])],D0];return w(U,k[1],I[5],I0)}function or(_){var k=_[2],I=[0,[0,WUr,g0(k[3])],0],U=[0,[0,JUr,e(qr,k[2])],I],Y=[0,[0,$Ur,S(k[1])],U];return w(ZUr,_[1],k[4],Y)}function _r(_){if(_){var k=_[1];if(k[0]===0)return n(ge,k[1]);var I=k[1],U=I[2];if(U){var Y=[0,[0,HUr,S(U[1])],0];return yu([0,w(XUr,I[1],0,Y),0])}return yu(0)}return yu(0)}function Ir(_){return _?qUr:UUr}function fe(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,CXr,U],[0,[0,NXr,e($r,k[2])],0]];return w(PXr,_[1],k[3],Y)}function v0(_){var k=_[2],I=k[6],U=k[4],Y=yu(U?[0,fe(U[1]),0]:0),y0=I?n(T0,I[1][2][1]):yu(0),D0=[0,[0,NUr,Y],[0,[0,AUr,y0],[0,[0,IUr,n(fe,k[5])],0]]],I0=[0,[0,CUr,x0(0,k[3])],D0],D=[0,[0,PUr,e(qr,k[2])],I0],u0=[0,[0,DUr,S(k[1])],D];return w(LUr,_[1],k[7],u0)}function P(_){var k=_[2],I=k[2],U=k[1],Y=yt(U[1],I[1]),y0=[0,[0,FUr,e(Fr,k[3])],0],D0=[0,[0,TUr,w0(Y,[0,U,[1,I],0])],y0];return w(OUr,_[1],k[4],D0)}function L(_){var k=_[2],I=k[2],U=k[1],Y=[0,[0,SUr,w0(yt(U[1],I[1]),[0,U,[1,I],0])],0];return w(gUr,_[1],k[3],Y)}function Q(_){var k=_[2],I=_[1];switch(k[0]){case 0:return W0([0,I,k[1]]);case 1:var U=k[1],Y=[0,[0,AGr,e(S,U[1])],0];return w(NGr,I,U[2],Y);case 2:return ar(iHr,[0,I,k[1]]);case 3:var y0=k[1],D0=[0,[0,CGr,e(S,y0[1])],0];return w(PGr,I,y0[2],D0);case 4:return w(DGr,I,k[1][1],0);case 5:return v0([0,I,k[1]]);case 6:var I0=k[1],D=I0[5],u0=I0[4],Y0=I0[3],J0=I0[2];if(Y0){var fr=Y0[1];if(fr[0]!==0&&!fr[1][2])return w(RGr,I,D,[0,[0,LGr,e(t0,u0)],0])}if(J0){var Q0=J0[1];switch(Q0[0]){case 0:var F0=L(Q0[1]);break;case 1:var F0=P(Q0[1]);break;case 2:var F0=v0(Q0[1]);break;case 3:var F0=g0(Q0[1]);break;case 4:var F0=or(Q0[1]);break;case 5:var F0=Jr(1,Q0[1]);break;default:var F0=Wr(Q0[1])}var gr=F0}else var gr=u7;var mr=[0,[0,jGr,e(t0,u0)],0],Cr=[0,[0,MGr,gr],[0,[0,GGr,_r(Y0)],mr]],sr=I0[1],Pr=sr&&1;return w(qGr,I,D,[0,[0,BGr,!!Pr],Cr]);case 7:return P([0,I,k[1]]);case 8:var K0=k[1],Ur=[0,[0,RUr,n(fe,K0[3])],0],d0=[0,[0,jUr,x0(0,K0[4])],Ur],Kr=[0,[0,GUr,e(qr,K0[2])],d0],re=[0,[0,MUr,S(K0[1])],Kr];return w(BUr,I,K0[5],re);case 9:var xe=k[1],je=xe[1],ve=je[0]===0?S(je[1]):t0(je[1]),Ie=0,Me=xe[3]?"ES":"CommonJS",Be=[0,[0,XGr,ve],[0,[0,HGr,W0(xe[2])],[0,[0,UGr,Me],Ie]]];return w(YGr,I,xe[4],Be);case 10:var fn=k[1],Ke=[0,[0,VGr,l(fn[1])],0];return w(zGr,I,fn[2],Ke);case 11:var Ae=k[1],xn=[0,[0,YUr,g0(Ae[3])],0],Qe=[0,[0,VUr,e(qr,Ae[2])],xn],yn=[0,[0,zUr,S(Ae[1])],Qe];return w(KUr,I,Ae[4],yn);case 12:return Jr(1,[0,I,k[1]]);case 13:return L([0,I,k[1]]);case 14:var on=k[1],Ce=[0,[0,KGr,xr(on[2])],0],We=[0,[0,WGr,Q(on[1])],Ce];return w(JGr,I,on[3],We);case 15:return w($Gr,I,k[1][1],0);case 16:var rn=k[1],bn=rn[2],Cn=bn[2],Hn=bn[1];switch(Cn[0]){case 0:var Sn=Cn[1],vt=[0,[0,oXr,!!Sn[2]],[0,[0,aXr,!!Sn[3]],0]],At=Sn[1],gt=[0,[0,cXr,n(function(hu){var ku=hu[2],Oi=ku[2],k7=Oi[2],Ki=k7[1],nv=0,Lb=Ki?zYr:KYr,tv=[0,[0,iXr,w($Yr,Oi[1],k7[2],[0,[0,JYr,!!Ki],[0,[0,WYr,sn(Lb)],0]])],nv],Rb=[0,[0,fXr,S(ku[1])],tv];return w(xXr,hu[1],0,Rb)},At)],vt],bt=w(sXr,Hn,p(Sn[4]),gt);break;case 1:var Jt=Cn[1],Bt=[0,[0,lXr,!!Jt[2]],[0,[0,vXr,!!Jt[3]],0]],Ft=Jt[1],Nt=[0,[0,bXr,n(function(hu){var ku=hu[2],Oi=ku[2],k7=Oi[2],Ki=[0,[0,nXr,w(BYr,Oi[1],k7[3],[0,[0,MYr,k7[1]],[0,[0,GYr,sn(k7[2])],0]])],0],nv=[0,[0,tXr,S(ku[1])],Ki];return w(uXr,hu[1],0,nv)},Ft)],Bt],bt=w(pXr,Hn,p(Jt[4]),Nt);break;case 2:var du=Cn[1],Ku=du[1];if(Ku[0]===0)var lt=Ku[1],Mu=k1(function(hu){var ku=[0,[0,rXr,S(hu[2][1])],0];return w(eXr,hu[1],0,ku)},lt);else var xu=Ku[1],Mu=k1(function(hu){var ku=hu[2],Oi=[0,[0,$Hr,t0(ku[2])],0],k7=[0,[0,ZHr,S(ku[1])],Oi];return w(QHr,hu[1],0,k7)},xu);var z7=[0,[0,_Xr,!!du[2]],[0,[0,mXr,!!du[3]],0]],Yi=[0,[0,yXr,yu(Mu)],z7],bt=w(dXr,Hn,p(du[4]),Yi);break;default:var a7=Cn[1],Yc=[0,[0,hXr,!!a7[2]],0],K7=a7[1],qt=[0,[0,kXr,n(function(hu){var ku=[0,[0,WHr,S(hu[2][1])],0];return w(JHr,hu[1],0,ku)},K7)],Yc],bt=w(wXr,Hn,p(a7[3]),qt)}var U0=[0,[0,SXr,S(rn[1])],[0,[0,EXr,bt],0]];return w(gXr,I,rn[3],U0);case 17:var L0=k[1],Re=L0[2],He=Re[0]===0?Q(Re[1]):xr(Re[1]),he=[0,[0,QGr,He],[0,[0,ZGr,sn(Ir(1))],0]];return w(rMr,I,L0[3],he);case 18:var _e=k[1],Zn=_e[5],dn=_e[4],it=_e[3],ft=_e[2];if(ft){var Rn=ft[1];if(Rn[0]!==0){var nt=[0,[0,eMr,sn(Ir(dn))],0],ht=[0,[0,nMr,e(S,Rn[1][2])],nt];return w(uMr,I,Zn,[0,[0,tMr,e(t0,it)],ht])}}var tn=[0,[0,iMr,sn(Ir(dn))],0],cn=[0,[0,fMr,e(t0,it)],tn],tt=[0,[0,xMr,_r(ft)],cn];return w(oMr,I,Zn,[0,[0,aMr,e(Q,_e[1])],tt]);case 19:var Tt=k[1],Fi=[0,[0,cMr,e(rn0,Tt[2])],0],hs=[0,[0,sMr,xr(Tt[1])],Fi];return w(vMr,I,Tt[3],hs);case 20:var Iu=k[1],Vs=function(hu){return hu[0]===0?c0(hu[1]):xr(hu[1])},Vi=[0,[0,lMr,Q(Iu[4])],0],zs=[0,[0,bMr,e(xr,Iu[3])],Vi],Ks=[0,[0,pMr,e(xr,Iu[2])],zs],en=[0,[0,mMr,e(Vs,Iu[1])],Ks];return w(_Mr,I,Iu[5],en);case 21:var ci=k[1],Ws=ci[1],c2=Ws[0]===0?c0(Ws[1]):Or(Ws[1]),B9=[0,[0,yMr,!!ci[4]],0],q9=[0,[0,dMr,Q(ci[3])],B9],U9=[0,[0,kMr,c2],[0,[0,hMr,xr(ci[2])],q9]];return w(wMr,I,ci[5],U9);case 22:var Js=k[1],s2=Js[1],H9=s2[0]===0?c0(s2[1]):Or(s2[1]),X9=[0,[0,EMr,!!Js[4]],0],Y9=[0,[0,SMr,Q(Js[3])],X9],X1=[0,[0,FMr,H9],[0,[0,gMr,xr(Js[2])],Y9]];return w(TMr,I,Js[5],X1);case 23:var si=k[1],ob=si[7],cb=si[3],sb=si[2],V9=cb[0]===0?cb[1]:ke(Rqr),z9=ob[0]===0?0:[0,ob[1]],K9=si[9],vb=_7(p(sb[2][4]),K9),W9=[0,[0,jqr,e(qr,si[8])],0],J9=[0,[0,Mqr,!1],[0,[0,Gqr,e(l,z9)],W9]],$9=[0,[0,Bqr,e(Fr,si[6])],J9],Z9=[0,[0,Uqr,!!si[4]],[0,[0,qqr,!!si[5]],$9]],lb=[0,[0,Hqr,W0(V9)],Z9],Q9=[0,[0,Xqr,Hr(sb)],lb];return w(Vqr,I,vb,[0,[0,Yqr,e(S,si[1])],Q9]);case 24:var Y1=k[1],v2=Y1[3];if(v2){var bb=v2[1][2],pb=bb[2],mb=bb[1],Tn=mb[2],jn=function(ku){return _7(ku,pb)};switch(Tn[0]){case 0:var V1=Tn[1],_b=QD(V1[2],pb),Gn=[0,[0,V1[1],_b]];break;case 1:var yb=Tn[1],r_=jn(yb[2]),Gn=[1,[0,yb[1],r_]];break;case 2:var Vc=Tn[1],e_=jn(Vc[7]),Gn=[2,[0,Vc[1],Vc[2],Vc[3],Vc[4],Vc[5],Vc[6],e_]];break;case 3:var l2=Tn[1],db=jn(l2[2]),Gn=[3,[0,l2[1],db]];break;case 4:var Gn=[4,[0,jn(Tn[1][1])]];break;case 5:var zc=Tn[1],n_=jn(zc[7]),Gn=[5,[0,zc[1],zc[2],zc[3],zc[4],zc[5],zc[6],n_]];break;case 6:var $s=Tn[1],hb=jn($s[5]),Gn=[6,[0,$s[1],$s[2],$s[3],$s[4],hb]];break;case 7:var z1=Tn[1],t_=jn(z1[4]),Gn=[7,[0,z1[1],z1[2],z1[3],t_]];break;case 8:var ks=Tn[1],u_=jn(ks[5]),Gn=[8,[0,ks[1],ks[2],ks[3],ks[4],u_]];break;case 9:var K1=Tn[1],i_=jn(K1[4]),Gn=[9,[0,K1[1],K1[2],K1[3],i_]];break;case 10:var b2=Tn[1],f_=jn(b2[2]),Gn=[10,[0,b2[1],f_]];break;case 11:var Zs=Tn[1],kb=jn(Zs[4]),Gn=[11,[0,Zs[1],Zs[2],Zs[3],kb]];break;case 12:var Qs=Tn[1],x_=jn(Qs[5]),Gn=[12,[0,Qs[1],Qs[2],Qs[3],Qs[4],x_]];break;case 13:var zi=Tn[1],Kc=jn(zi[3]),Gn=[13,[0,zi[1],zi[2],Kc]];break;case 14:var r1=Tn[1],a_=jn(r1[3]),Gn=[14,[0,r1[1],r1[2],a_]];break;case 15:var Gn=[15,[0,jn(Tn[1][1])]];break;case 16:var p2=Tn[1],m2=jn(p2[3]),Gn=[16,[0,p2[1],p2[2],m2]];break;case 17:var _2=Tn[1],o_=jn(_2[3]),Gn=[17,[0,_2[1],_2[2],o_]];break;case 18:var e1=Tn[1],c_=jn(e1[5]),Gn=[18,[0,e1[1],e1[2],e1[3],e1[4],c_]];break;case 19:var y2=Tn[1],XL=jn(y2[3]),Gn=[19,[0,y2[1],y2[2],XL]];break;case 20:var W1=Tn[1],YL=jn(W1[5]),Gn=[20,[0,W1[1],W1[2],W1[3],W1[4],YL]];break;case 21:var J1=Tn[1],VL=jn(J1[5]),Gn=[21,[0,J1[1],J1[2],J1[3],J1[4],VL]];break;case 22:var $1=Tn[1],zL=jn($1[5]),Gn=[22,[0,$1[1],$1[2],$1[3],$1[4],zL]];break;case 23:var Ti=Tn[1],KL=Ti[10],WL=jn(Ti[9]),Gn=[23,[0,Ti[1],Ti[2],Ti[3],Ti[4],Ti[5],Ti[6],Ti[7],Ti[8],WL,KL]];break;case 24:var d2=Tn[1],JL=jn(d2[4]),Gn=[24,[0,d2[1],d2[2],d2[3],JL]];break;case 25:var Z1=Tn[1],$L=jn(Z1[5]),Gn=[25,[0,Z1[1],Z1[2],Z1[3],Z1[4],$L]];break;case 26:var Q1=Tn[1],ZL=jn(Q1[5]),Gn=[26,[0,Q1[1],Q1[2],Q1[3],Q1[4],ZL]];break;case 27:var wb=Tn[1],QL=jn(wb[3]),Gn=[27,[0,wb[1],wb[2],QL]];break;case 28:var Eb=Tn[1],rR=Eb[3],eR=jn(Eb[2]),Gn=[28,[0,Eb[1],eR,rR]];break;case 29:var h2=Tn[1],nR=h2[4],tR=jn(h2[3]),Gn=[29,[0,h2[1],h2[2],tR,nR]];break;case 30:var s_=Tn[1],uR=jn(s_[2]),Gn=[30,[0,s_[1],uR]];break;case 31:var k2=Tn[1],iR=jn(k2[4]),Gn=[31,[0,k2[1],k2[2],k2[3],iR]];break;case 32:var w2=Tn[1],fR=jn(w2[4]),Gn=[32,[0,w2[1],w2[2],w2[3],fR]];break;case 33:var rv=Tn[1],xR=jn(rv[5]),Gn=[33,[0,rv[1],rv[2],rv[3],rv[4],xR]];break;case 34:var Sb=Tn[1],aR=jn(Sb[3]),Gn=[34,[0,Sb[1],Sb[2],aR]];break;case 35:var gb=Tn[1],oR=jn(gb[3]),Gn=[35,[0,gb[1],gb[2],oR]];break;default:var Fb=Tn[1],cR=jn(Fb[3]),Gn=[36,[0,Fb[1],Fb[2],cR]]}var v_=Q([0,mb[1],Gn])}else var v_=u7;var sR=[0,[0,IMr,Q(Y1[2])],[0,[0,OMr,v_],0]],vR=[0,[0,AMr,xr(Y1[1])],sR];return w(NMr,I,Y1[4],vR);case 25:var ev=k[1],Tb=ev[4],l_=ev[3];if(Tb){var Ob=Tb[1];if(Ob[0]===0)var lR=Ob[1],p_=k1(function(ku){var Oi=ku[1],k7=ku[3],Ki=ku[2],nv=Ki?yt(k7[1],Ki[1][1]):k7[1],Lb=Ki?Ki[1]:k7,tv=0,Rb=0;if(Oi)switch(Oi[1]){case 0:var jb=$c;break;case 1:var jb=es;break;default:tv=1}else tv=1;if(tv)var jb=u7;var CR=[0,[0,SWr,S(Lb)],[0,[0,EWr,jb],Rb]];return w(FWr,nv,0,[0,[0,gWr,S(k7)],CR])},lR);else var b_=Ob[1],bR=[0,[0,kWr,S(b_[2])],0],p_=[0,w(wWr,b_[1],0,bR),0];var Ib=p_}else var Ib=Tb;if(l_)var m_=l_[1],pR=[0,[0,dWr,S(m_)],0],__=[0,w(hWr,m_[1],0,pR),Ib];else var __=Ib;switch(ev[1]){case 0:var Ab=CMr;break;case 1:var Ab=PMr;break;default:var Ab=DMr}var mR=[0,[0,LMr,sn(Ab)],0],_R=[0,[0,RMr,t0(ev[2])],mR],yR=[0,[0,jMr,yu(__)],_R];return w(GMr,I,ev[5],yR);case 26:return Wr([0,I,k[1]]);case 27:var Nb=k[1],dR=[0,[0,MMr,Q(Nb[2])],0],hR=[0,[0,BMr,S(Nb[1])],dR];return w(qMr,I,Nb[3],hR);case 28:var y_=k[1],kR=[0,[0,UMr,e(xr,y_[1])],0];return w(HMr,I,y_[2],kR);case 29:var Cb=k[1],wR=[0,[0,XMr,n(i0,Cb[2])],0],ER=[0,[0,YMr,xr(Cb[1])],wR];return w(VMr,I,Cb[3],ER);case 30:var d_=k[1],SR=[0,[0,zMr,xr(d_[1])],0];return w(KMr,I,d_[2],SR);case 31:var E2=k[1],gR=[0,[0,WMr,e(W0,E2[3])],0],FR=[0,[0,JMr,e(l0,E2[2])],gR],TR=[0,[0,$Mr,W0(E2[1])],FR];return w(ZMr,I,E2[4],TR);case 32:return or([0,I,k[1]]);case 33:return Jr(0,[0,I,k[1]]);case 34:return c0([0,I,k[1]]);case 35:var Pb=k[1],OR=[0,[0,QMr,Q(Pb[2])],0],IR=[0,[0,rBr,xr(Pb[1])],OR];return w(eBr,I,Pb[3],IR);default:var Db=k[1],AR=[0,[0,nBr,Q(Db[2])],0],NR=[0,[0,tBr,xr(Db[1])],AR];return w(uBr,I,Db[3],NR)}}function i0(_){var k=_[2],I=[0,[0,mUr,n(Q,k[2])],0],U=[0,[0,_Ur,e(xr,k[1])],I];return w(yUr,_[1],k[3],U)}function l0(_){var k=_[2],I=[0,[0,dUr,W0(k[2])],0],U=[0,[0,hUr,e(Or,k[1])],I];return w(kUr,_[1],k[3],U)}function S0(_){var k=_[2],I=[0,[0,bHr,xr(k[1])],0];return w(pHr,_[1],k[2],I)}function T0(_){var k=_[2],I=[0,[0,mHr,e($r,k[2])],0],U=[0,[0,_Hr,S(k[1])],I];return w(yHr,_[1],0,U)}function rr(_){switch(_[0]){case 0:var k=_[1],I=k[2],U=I[6],Y=I[2];switch(Y[0]){case 0:var I0=U,D=0,u0=f0(Y[1]);break;case 1:var I0=U,D=0,u0=S(Y[1]);break;case 2:var I0=U,D=0,u0=_0(Y[1]);break;default:var y0=Y[1][2],D0=_7(y0[2],U),I0=D0,D=1,u0=xr(y0[1])}switch(I[1]){case 0:var Y0=kHr;break;case 1:var Y0=wHr;break;case 2:var Y0=EHr;break;default:var Y0=SHr}var J0=[0,[0,FHr,!!D],[0,[0,gHr,n(S0,I[5])],0]],fr=[0,[0,OHr,sn(Y0)],[0,[0,THr,!!I[4]],J0]],Q0=[0,[0,AHr,u0],[0,[0,IHr,Rr(I[3])],fr]];return w(NHr,k[1],I0,Q0);case 1:var F0=_[1],gr=F0[2],mr=gr[6],Cr=gr[2],sr=gr[1];switch(sr[0]){case 0:var d0=mr,Kr=0,re=f0(sr[1]);break;case 1:var d0=mr,Kr=0,re=S(sr[1]);break;case 2:var Pr=ke(BHr),d0=Pr[3],Kr=Pr[2],re=Pr[1];break;default:var K0=sr[1][2],Ur=_7(K0[2],mr),d0=Ur,Kr=1,re=xr(K0[1])}if(typeof Cr=="number")if(Cr)var xe=0,je=0;else var xe=1,je=0;else var xe=0,je=[0,Cr[1]];var ve=xe&&[0,[0,qHr,!!xe],0],Ie=[0,[0,UHr,e(Sr,gr[5])],0],Me=[0,[0,XHr,!!Kr],[0,[0,HHr,!!gr[4]],Ie]],Be=[0,[0,YHr,i(l,gr[3])],Me],fn=un([0,[0,zHr,re],[0,[0,VHr,e(xr,je)],Be]],ve);return w(KHr,F0[1],d0,fn);default:var Ke=_[1],Ae=Ke[2],xn=Ae[2];if(typeof xn=="number")if(xn)var Qe=0,yn=0;else var Qe=1,yn=0;else var Qe=0,yn=[0,xn[1]];var on=Qe&&[0,[0,CHr,!!Qe],0],Ce=[0,[0,PHr,e(Sr,Ae[5])],0],We=[0,[0,LHr,!1],[0,[0,DHr,!!Ae[4]],Ce]],rn=[0,[0,RHr,i(l,Ae[3])],We],bn=[0,[0,jHr,e(xr,yn)],rn],Cn=un([0,[0,GHr,_0(Ae[1])],bn],on);return w(MHr,Ke[1],Ae[6],Cn)}}function R0(_){var k=_[2],I=k[2],U=k[1];if(I){var Y=[0,[0,BXr,xr(I[1])],0],y0=[0,[0,qXr,Or(U)],Y];return w(UXr,_[1],0,y0)}return Or(U)}function B(_,k){var I=[0,[0,KXr,Or(k[1])],0];return w(WXr,_,k[2],I)}function Z(_){switch(_[0]){case 0:var k=_[1],I=k[2],U=I[2],Y=I[1];if(U){var y0=[0,[0,JXr,xr(U[1])],0],D0=[0,[0,$Xr,Or(Y)],y0];return w(ZXr,k[1],0,D0)}return Or(Y);case 1:var I0=_[1];return B(I0[1],I0[2]);default:return u7}}function p0(_){if(_[0]===0){var k=_[1],I=k[2];switch(I[0]){case 0:var U=xr(I[2]),Y0=0,J0=I[3],fr=0,Q0=QXr,F0=U,gr=I[1];break;case 1:var Y=I[2],y0=Rr([0,Y[1],Y[2]]),Y0=0,J0=0,fr=1,Q0=rYr,F0=y0,gr=I[1];break;case 2:var D0=I[2],I0=Rr([0,D0[1],D0[2]]),Y0=I[3],J0=0,fr=0,Q0=eYr,F0=I0,gr=I[1];break;default:var D=I[2],u0=Rr([0,D[1],D[2]]),Y0=I[3],J0=0,fr=0,Q0=nYr,F0=u0,gr=I[1]}switch(gr[0]){case 0:var Pr=Y0,K0=0,Ur=f0(gr[1]);break;case 1:var Pr=Y0,K0=0,Ur=S(gr[1]);break;case 2:var mr=ke(tYr),Pr=mr[3],K0=mr[2],Ur=mr[1];break;default:var Cr=gr[1][2],sr=_7(Cr[2],Y0),Pr=sr,K0=1,Ur=xr(Cr[1])}return w(cYr,k[1],Pr,[0,[0,oYr,Ur],[0,[0,aYr,F0],[0,[0,xYr,sn(Q0)],[0,[0,fYr,!!fr],[0,[0,iYr,!!J0],[0,[0,uYr,!!K0],0]]]]]])}var d0=_[1],Kr=d0[2],re=[0,[0,sYr,xr(Kr[1])],0];return w(vYr,d0[1],Kr[2],re)}function b0(_){if(_[0]===0){var k=_[1],I=k[2],U=I[3],Y=I[2],y0=I[1];switch(y0[0]){case 0:var D=0,u0=0,Y0=f0(y0[1]);break;case 1:var D=0,u0=0,Y0=S(y0[1]);break;default:var D0=y0[1][2],I0=xr(D0[1]),D=D0[2],u0=1,Y0=I0}if(U)var J0=U[1],fr=yt(Y[1],J0[1]),Q0=[0,[0,lYr,xr(J0)],0],F0=w(pYr,fr,0,[0,[0,bYr,Or(Y)],Q0]);else var F0=Or(Y);return w(wYr,k[1],D,[0,[0,kYr,Y0],[0,[0,hYr,F0],[0,[0,dYr,ji],[0,[0,yYr,!1],[0,[0,_Yr,!!I[4]],[0,[0,mYr,!!u0],0]]]]]])}var gr=_[1];return B(gr[1],gr[2])}function O0(_){var k=_[2],I=[0,[0,EYr,xr(k[1])],0];return w(SYr,_[1],k[2],I)}function q0(_){return _[0]===0?xr(_[1]):O0(_[1])}function er(_){switch(_[0]){case 0:return xr(_[1]);case 1:return O0(_[1]);default:return u7}}function yr(_){var k=_[2],I=[0,[0,gYr,!!k[3]],0],U=[0,[0,FYr,xr(k[2])],I],Y=[0,[0,TYr,Or(k[1])],U];return w(OYr,_[1],0,Y)}function vr(_){var k=_[2],I=k[1],U=H1([0,[0,nVr,sn(I[1])],[0,[0,eVr,sn(I[2])],0]]);return w(iVr,_[1],0,[0,[0,uVr,U],[0,[0,tVr,!!k[2]],0]])}function $0(_){var k=_[2],I=[0,[0,pVr,e(xr,k[2])],0],U=[0,[0,mVr,Or(k[1])],I];return w(_Vr,_[1],0,U)}function Sr(_){var k=_[2],I=k[1]?pY:"plus";return w(dVr,_[1],k[2],[0,[0,yVr,I],0])}function Mr(_){var k=_[2];return k0(k[2],k[1])}function Br(_){var k=_[2],I=[0,[0,HVr,g0(k[1][2])],[0,[0,UVr,!1],0]],U=[0,[0,XVr,e(S,0)],I];return w(YVr,_[1],k[2],U)}function qr(_){var k=_[2],I=[0,[0,kKr,n(jr,k[1])],0],U=p(k[2]);return w(wKr,_[1],U,I)}function jr(_){var k=_[2],I=k[1][2],U=[0,[0,EKr,e(g0,k[4])],0],Y=[0,[0,SKr,e(Sr,k[3])],U],y0=[0,[0,gKr,i(l,k[2])],Y];return w(TKr,_[1],I[2],[0,[0,FKr,sn(I[1])],y0])}function $r(_){var k=_[2],I=[0,[0,OKr,n(g0,k[1])],0],U=p(k[2]);return w(IKr,_[1],U,I)}function ne(_){var k=_[2],I=[0,[0,AKr,n(Qr,k[1])],0],U=p(k[2]);return w(NKr,_[1],U,I)}function Qr(_){if(_[0]===0)return g0(_[1]);var k=_[1],I=k[1],U=k[2][1];return V([0,I,[0,[0,Gc(0,[0,I,CKr])],0,U]])}function pe(_){if(_[0]===0){var k=_[1],I=k[2],U=I[1],Y=U[0]===0?b(U[1]):G0(U[1]),y0=[0,[0,JKr,Y],[0,[0,WKr,e(ce,I[2])],0]];return w($Kr,k[1],0,y0)}var D0=_[1],I0=D0[2],D=[0,[0,ZKr,xr(I0[1])],0];return w(QKr,D0[1],I0[2],D)}function oe(_){var k=[0,[0,VKr,s0(_[2][1])],0];return w(zKr,_[1],0,k)}function me(_){var k=_[2],I=k[1],U=_[1],Y=I?xr(I[1]):w(rWr,[0,U[1],[0,U[2][1],U[2][2]+1|0],[0,U[3][1],U[3][2]-1|0]],0,0);return w(nWr,U,p(k[2]),[0,[0,eWr,Y],0])}function ae(_){var k=_[2],I=_[1];switch(k[0]){case 0:return dr([0,I,k[1]]);case 1:return X0([0,I,k[1]]);case 2:return me([0,I,k[1]]);case 3:var U=k[1],Y=[0,[0,tWr,xr(U[1])],0];return w(uWr,I,U[2],Y);default:var y0=k[1];return w(xWr,I,0,[0,[0,fWr,sn(y0[1])],[0,[0,iWr,sn(y0[2])],0]])}}function ce(_){return _[0]===0?f0([0,_[1],_[2]]):me([0,_[1],_[2]])}function ge(_){var k=_[2],I=k[2],U=k[1],Y=S(I?I[1]:U),y0=[0,[0,_Wr,S(U)],[0,[0,mWr,Y],0]];return w(yWr,_[1],0,y0)}function H0(_){var k=_[2];if(k[1])var I=k[2],U=TWr;else var I=k[2],U=OWr;return w(U,_[1],0,[0,[0,IWr,sn(I)],0])}function Fr(_){var k=_[2],I=k[1];if(I)var U=[0,[0,AWr,xr(I[1])],0],Y=NWr;else var U=0,Y=CWr;return w(Y,_[1],k[2],U)}return[0,A,xr]}function T(E){return y(E)[1]}return[0,T,function(E){return y(E)[2]},s]}(jne);function ab(t,n,e){var i=n[e];return Bp(i)?i|0:t}function Gne(t,n){var e=qV(n,eK)?{}:n,i=M7(t),x=ab(Bv[5],e,Vre),c=ab(Bv[4],e,zre),s=ab(Bv[3],e,Kre),p=ab(Bv[2],e,Wre),y=[0,[0,ab(Bv[1],e,Jre),p,s,c,x]],T=e.tokens,E=Bp(T),h=E&&T|0,w=e.comments,G=Bp(w)?w|0:1,A=e.all_comments,S=Bp(A)?A|0:1,M=[0,0],K=h&&[0,function(b0){return M[1]=[0,b0,M[1]],0}],V=[0,y],f0=[0,K],m0=oz?oz[1]:1,k0=f0&&f0[1],g0=V&&V[1],e0=[0,g0],x0=[0,k0],l=0,c0=x0&&x0[1],t0=e0&&e0[1],a0=une([0,c0],[0,t0],l,i),w0=u(se[1],a0),_0=de(a0[1][1]),E0=[0,GL[1],0],X0=de(be(function(b0,O0){var q0=b0[2],er=b0[1];return a(GL[3],O0,er)?[0,er,q0]:[0,a(GL[4],O0,er),[0,O0,q0]]},E0,_0)[2]);if(X0&&m0)throw[0,Vee,X0[1],X0[2]];Qe0[1]=0;for(var b=nn(i)-0|0,G0=i,X=0,s0=0;;){if(s0===b)var dr=X;else{var Ar=Hu(G0,s0),ar=0;if(0<=Ar&&!(zn>>0)throw[0,wn,bo0];switch(Or){case 0:var Rr=Hu(G0,s0);break;case 1:var Rr=(Hu(G0,s0)&31)<<6|Hu(G0,s0+1|0)&63;break;case 2:var Rr=(Hu(G0,s0)&15)<<12|(Hu(G0,s0+1|0)&63)<<6|Hu(G0,s0+2|0)&63;break;default:var Rr=(Hu(G0,s0)&7)<<18|(Hu(G0,s0+1|0)&63)<<12|(Hu(G0,s0+2|0)&63)<<6|Hu(G0,s0+3|0)&63}var X=TL(X,s0,[0,Rr]),s0=xr;continue}var dr=TL(X,s0,0)}for(var Wr=yGr,Jr=de([0,6,dr]);;){var or=Wr[3],_r=Wr[2],Ir=Wr[1];if(Jr){var fe=Jr[1];if(fe===5){var v0=Jr[2];if(v0&&v0[1]===6){var P=_l(de([0,Ir,_r])),Wr=[0,Ir+2|0,0,[0,P,or]],Jr=v0[2];continue}}else if(!(6<=fe)){var L=Jr[2],Wr=[0,Ir+Te0(fe)|0,[0,Ir,_r],or],Jr=L;continue}var Q=_l(de([0,Ir,_r])),i0=Jr[2],Wr=[0,Ir+Te0(fe)|0,0,[0,Q,or]],Jr=i0;continue}var l0=_l(de(or));if(G)var T0=w0;else var S0=u(Uee[1],0),T0=a(Ze(S0,-201766268,25),S0,w0);if(S)var R0=T0;else var rr=T0[2],R0=[0,T0[1],[0,rr[1],rr[2],0]];var B=a(nn0[1],[0,l0],R0),Z=un(X0,Qe0[1]);if(B.errors=u(nn0[3],Z),h){var p0=M[1];B.tokens=yu(Tp(u(Rne[1],l0),p0))}return B}}}if(typeof A0<"u")var tn0=A0;else{var un0={};qN.flow=un0;var tn0=un0}tn0.parse=function(t,n){try{var e=Gne(t,n);return e}catch(i){return i=Et(i),i[1]===UN?u(nK,i[2]):u(nK,new Lee(sn(Te($re,Pp(i)))))}},xN(0)}(globalThis)}});Lt();var Fae=Hu0(),Tae=lae(),Oae=bae(),Iae=kae(),Aae={comments:!1,enums:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,tokens:!0};function Nae(A0){let{message:j0,loc:{start:ur,end:hr}}=A0;return Fae(j0,{start:{line:ur.line,column:ur.column+1},end:{line:hr.line,column:hr.column+1}})}function Cae(A0,j0){let ur=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:hr}=gae(),le=hr(Oae(A0),Aae),[Ve]=le.errors;if(Ve)throw Nae(Ve);return ur.originalText=A0,Iae(le,ur)}a70.exports={parsers:{flow:Tae(Cae)}}});return Pae();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-glimmer.js b/node_modules/ts-poet/node_modules/prettier/parser-glimmer.js deleted file mode 100644 index f15be290cb..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-glimmer.js +++ /dev/null @@ -1,27 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.glimmer=e()}})(function(){"use strict";var it=(t,f)=>()=>(f||t((f={exports:{}}).exports,f),f.exports);var Zt=it((nr,$e)=>{var xe=Object.getOwnPropertyNames,st=(t,f)=>function(){return t&&(f=(0,t[xe(t)[0]])(t=0)),f},I=(t,f)=>function(){return f||(0,t[xe(t)[0]])((f={exports:{}}).exports,f),f.exports},F=st({""(){}}),at=I({"node_modules/lines-and-columns/build/index.cjs"(t){"use strict";F(),t.__esModule=!0,t.LinesAndColumns=void 0;var f=` -`,h="\r",d=function(){function c(o){this.length=o.length;for(var e=[0],r=0;rthis.length)return null;for(var e=0,r=this.offsets;r[e+1]<=o;)e++;var a=o-r[e];return{line:e,column:a}},c.prototype.indexForLocation=function(o){var e=o.line,r=o.column;return e<0||e>=this.offsets.length||r<0||r>this.lengthOfLine(e)?null:this.offsets[e]+r},c.prototype.lengthOfLine=function(o){var e=this.offsets[o],r=o===this.offsets.length-1?this.length:this.offsets[o+1];return r-e},c}();t.LinesAndColumns=d}}),ut=I({"src/common/parser-create-error.js"(t,f){"use strict";F();function h(d,c){let o=new SyntaxError(d+" ("+c.start.line+":"+c.start.column+")");return o.loc=c,o}f.exports=h}}),ot=I({"src/language-handlebars/loc.js"(t,f){"use strict";F();function h(c){return c.loc.start.offset}function d(c){return c.loc.end.offset}f.exports={locStart:h,locEnd:d}}}),fe=I({"node_modules/@glimmer/env/dist/commonjs/es5/index.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f=t.DEBUG=!1,h=t.CI=!1}}),lt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/array-utils.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.emptyArray=h,t.isEmptyArray=o,t.EMPTY_NUMBER_ARRAY=t.EMPTY_STRING_ARRAY=t.EMPTY_ARRAY=void 0;var f=Object.freeze([]);t.EMPTY_ARRAY=f;function h(){return f}var d=h();t.EMPTY_STRING_ARRAY=d;var c=h();t.EMPTY_NUMBER_ARRAY=c;function o(e){return e===f}}}),Pe=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/assert.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.debugAssert=h,t.prodAssert=d,t.deprecate=c,t.default=void 0;var f=X();function h(e,r){if(!e)throw new Error(r||"assertion failure")}function d(){}function c(e){f.LOCAL_LOGGER.warn(`DEPRECATION: ${e}`)}var o=h;t.default=o}}),ct=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/collections.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.dict=f,t.isDict=h,t.isObject=d,t.StackImpl=void 0;function f(){return Object.create(null)}function h(o){return o!=null}function d(o){return typeof o=="function"||typeof o=="object"&&o!==null}var c=class{constructor(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.current=null,this.stack=o}get size(){return this.stack.length}push(o){this.current=o,this.stack.push(o)}pop(){let o=this.stack.pop(),e=this.stack.length;return this.current=e===0?null:this.stack[e-1],o===void 0?null:o}nth(o){let e=this.stack.length;return e0&&arguments[0]!==void 0?arguments[0]:"unreachable";return new Error(i)}function p(i){throw new Error(`Exhausted ${i}`)}var n=function(){for(var i=arguments.length,l=new Array(i),b=0;b1?c-1:0),e=1;e=0}function d(l){return l>3}function c(){for(var l=arguments.length,b=new Array(l),P=0;P=-536870912}function e(l){return l&-536870913}function r(l){return l|536870912}function a(l){return~l}function p(l){return~l}function n(l){return l}function s(l){return l}function u(l){return l|=0,l<0?e(l):a(l)}function i(l){return l|=0,l>-536870913?p(l):r(l)}[1,2,3].forEach(l=>l),[1,-1].forEach(l=>i(u(l)))}}),gt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/template.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.unwrapHandle=f,t.unwrapTemplate=h,t.extractHandle=d,t.isOkHandle=c,t.isErrHandle=o;function f(e){if(typeof e=="number")return e;{let r=e.errors[0];throw new Error(`Compile Error: ${r.problem} @ ${r.span.start}..${r.span.end}`)}}function h(e){if(e.result==="error")throw new Error(`Compile Error: ${e.problem} @ ${e.span.start}..${e.span.end}`);return e}function d(e){return typeof e=="number"?e:e.handle}function c(e){return typeof e=="number"}function o(e){return typeof e=="number"}}}),bt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/weak-set.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=typeof WeakSet=="function"?WeakSet:class{constructor(){this._map=new WeakMap}add(d){return this._map.set(d,!0),this}delete(d){return this._map.delete(d)}has(d){return this._map.has(d)}};t.default=f}}),vt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/simple-cast.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.castToSimple=h,t.castToBrowser=d,t.checkNode=r;var f=me();function h(p){return o(p)||e(p),p}function d(p,n){if(p==null)return null;if(typeof document===void 0)throw new Error("Attempted to cast to a browser node in a non-browser context");if(o(p))return p;if(p.ownerDocument!==document)throw new Error("Attempted to cast to a browser node with a node that was not created from this document");return r(p,n)}function c(p,n){return new Error(`cannot cast a ${p} into ${n}`)}function o(p){return p.nodeType===9}function e(p){return p.nodeType===1}function r(p,n){let s=!1;if(p!==null)if(typeof n=="string")s=a(p,n);else if(Array.isArray(n))s=n.some(u=>a(p,u));else throw(0,f.unreachable)();if(s)return p;throw c(`SimpleElement(${p})`,n)}function a(p,n){switch(n){case"NODE":return!0;case"HTML":return p instanceof HTMLElement;case"SVG":return p instanceof SVGElement;case"ELEMENT":return p instanceof Element;default:if(n.toUpperCase()===n)throw new Error("BUG: this code is missing handling for a generic node type");return p instanceof Element&&p.tagName.toLowerCase()===n}}}}),yt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/present.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isPresent=f,t.ifPresent=h,t.toPresentOption=d,t.assertPresent=c,t.mapPresent=o;function f(e){return e.length>0}function h(e,r,a){return f(e)?r(e):a()}function d(e){return f(e)?e:null}function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unexpected empty list";if(!f(e))throw new Error(r)}function o(e,r){if(e===null)return null;let a=[];for(let p of e)a.push(r(p));return a}}}),At=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/untouchable-this.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=d;var f=fe(),h=me();function d(c){let o=null;if(f.DEBUG&&h.HAS_NATIVE_PROXY){let e=r=>{throw new Error(`You accessed \`this.${String(r)}\` from a function passed to the ${c}, but the function itself was not bound to a valid \`this\` context. Consider updating to use a bound function (for instance, use an arrow function, \`() => {}\`).`)};o=new Proxy({},{get(r,a){e(a)},set(r,a){return e(a),!1},has(r,a){return e(a),!1}})}return o}}}),Et=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/debug-to-string.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=fe(),h;if(f.DEBUG){let c=r=>{let a=r.name;if(a===void 0){let p=Function.prototype.toString.call(r).match(/function (\w+)\s*\(/);a=p&&p[1]||""}return a.replace(/^bound /,"")},o=r=>{let a,p;return r.constructor&&typeof r.constructor=="function"&&(p=c(r.constructor)),"toString"in r&&r.toString!==Object.prototype.toString&&r.toString!==Function.prototype.toString&&(a=r.toString()),a&&a.match(/<.*:ember\d+>/)&&p&&p[0]!=="_"&&p.length>2&&p!=="Class"?a.replace(/<.*:/,`<${p}:`):a||p},e=r=>String(r);h=r=>typeof r=="function"?c(r)||"(unknown function)":typeof r=="object"&&r!==null?o(r)||"(unknown object)":e(r)}var d=h;t.default=d}}),_t=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/debug-steps.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.logStep=t.verifySteps=t.endTestSteps=t.beginTestSteps=void 0;var f=d(Pe()),h=me();function d(a){return a&&a.__esModule?a:{default:a}}var c;t.beginTestSteps=c;var o;t.endTestSteps=o;var e;t.verifySteps=e;var r;t.logStep=r}}),X=I({"node_modules/@glimmer/util/dist/commonjs/es2017/index.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f={LOCAL_LOGGER:!0,LOGGER:!0,assertNever:!0,assert:!0,deprecate:!0,dict:!0,isDict:!0,isObject:!0,Stack:!0,isSerializationFirstNode:!0,SERIALIZATION_FIRST_NODE_STRING:!0,assign:!0,fillNulls:!0,values:!0,_WeakSet:!0,castToSimple:!0,castToBrowser:!0,checkNode:!0,intern:!0,buildUntouchableThis:!0,debugToString:!0,beginTestSteps:!0,endTestSteps:!0,logStep:!0,verifySteps:!0};t.assertNever=x,Object.defineProperty(t,"assert",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"deprecate",{enumerable:!0,get:function(){return d.deprecate}}),Object.defineProperty(t,"dict",{enumerable:!0,get:function(){return c.dict}}),Object.defineProperty(t,"isDict",{enumerable:!0,get:function(){return c.isDict}}),Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return c.isObject}}),Object.defineProperty(t,"Stack",{enumerable:!0,get:function(){return c.StackImpl}}),Object.defineProperty(t,"isSerializationFirstNode",{enumerable:!0,get:function(){return e.isSerializationFirstNode}}),Object.defineProperty(t,"SERIALIZATION_FIRST_NODE_STRING",{enumerable:!0,get:function(){return e.SERIALIZATION_FIRST_NODE_STRING}}),Object.defineProperty(t,"assign",{enumerable:!0,get:function(){return r.assign}}),Object.defineProperty(t,"fillNulls",{enumerable:!0,get:function(){return r.fillNulls}}),Object.defineProperty(t,"values",{enumerable:!0,get:function(){return r.values}}),Object.defineProperty(t,"_WeakSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"castToSimple",{enumerable:!0,get:function(){return i.castToSimple}}),Object.defineProperty(t,"castToBrowser",{enumerable:!0,get:function(){return i.castToBrowser}}),Object.defineProperty(t,"checkNode",{enumerable:!0,get:function(){return i.checkNode}}),Object.defineProperty(t,"intern",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"buildUntouchableThis",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"debugToString",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"beginTestSteps",{enumerable:!0,get:function(){return v.beginTestSteps}}),Object.defineProperty(t,"endTestSteps",{enumerable:!0,get:function(){return v.endTestSteps}}),Object.defineProperty(t,"logStep",{enumerable:!0,get:function(){return v.logStep}}),Object.defineProperty(t,"verifySteps",{enumerable:!0,get:function(){return v.verifySteps}}),t.LOGGER=t.LOCAL_LOGGER=void 0;var h=lt();Object.keys(h).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return h[w]}})});var d=g(Pe()),c=ct(),o=ht();Object.keys(o).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return o[w]}})});var e=dt(),r=pt(),a=me();Object.keys(a).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return a[w]}})});var p=ft();Object.keys(p).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return p[w]}})});var n=mt();Object.keys(n).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return n[w]}})});var s=gt();Object.keys(s).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return s[w]}})});var u=_(bt()),i=vt(),l=yt();Object.keys(l).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return l[w]}})});var b=_(je()),P=_(At()),E=_(Et()),v=_t();function _(w){return w&&w.__esModule?w:{default:w}}function y(){if(typeof WeakMap!="function")return null;var w=new WeakMap;return y=function(){return w},w}function g(w){if(w&&w.__esModule)return w;if(w===null||typeof w!="object"&&typeof w!="function")return{default:w};var H=y();if(H&&H.has(w))return H.get(w);var m={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var S in w)if(Object.prototype.hasOwnProperty.call(w,S)){var R=C?Object.getOwnPropertyDescriptor(w,S):null;R&&(R.get||R.set)?Object.defineProperty(m,S,R):m[S]=w[S]}return m.default=w,H&&H.set(w,m),m}var L=console;t.LOCAL_LOGGER=L;var j=console;t.LOGGER=j;function x(w){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unexpected unreachable branch";throw j.log("unreachable",w),j.log(`${H} :: ${JSON.stringify(w)} (${w})`),new Error("code reached unreachable")}}}),ge=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/location.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isLocatedWithPositionsArray=a,t.isLocatedWithPositions=p,t.BROKEN_LOCATION=t.NON_EXISTENT_LOCATION=t.TEMPORARY_LOCATION=t.SYNTHETIC=t.SYNTHETIC_LOCATION=t.UNKNOWN_POSITION=void 0;var f=X(),h=Object.freeze({line:1,column:0});t.UNKNOWN_POSITION=h;var d=Object.freeze({source:"(synthetic)",start:h,end:h});t.SYNTHETIC_LOCATION=d;var c=d;t.SYNTHETIC=c;var o=Object.freeze({source:"(temporary)",start:h,end:h});t.TEMPORARY_LOCATION=o;var e=Object.freeze({source:"(nonexistent)",start:h,end:h});t.NON_EXISTENT_LOCATION=e;var r=Object.freeze({source:"(broken)",start:h,end:h});t.BROKEN_LOCATION=r;function a(n){return(0,f.isPresent)(n)&&n.every(p)}function p(n){return n.loc!==void 0}}}),le=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/slice.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.SourceSlice=void 0;var f=ue(),h=class{constructor(d){this.loc=d.loc,this.chars=d.chars}static synthetic(d){let c=f.SourceSpan.synthetic(d);return new h({loc:c,chars:d})}static load(d,c){return new h({loc:f.SourceSpan.load(d,c[1]),chars:c[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}};t.SourceSlice=h}}),Me=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/match.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.match=e,t.IsInvisible=t.MatchAny=void 0;var f=X(),h="MATCH_ANY";t.MatchAny=h;var d="IS_INVISIBLE";t.IsInvisible=d;var c=class{constructor(p){this._whens=p}first(p){for(let n of this._whens){let s=n.match(p);if((0,f.isPresent)(s))return s[0]}return null}},o=class{constructor(){this._map=new Map}get(p,n){let s=this._map.get(p);return s||(s=n(),this._map.set(p,s),s)}add(p,n){this._map.set(p,n)}match(p){let n=a(p),s=[],u=this._map.get(n),i=this._map.get(h);return u&&s.push(u),i&&s.push(i),s}};function e(p){return p(new r).check()}var r=class{constructor(){this._whens=new o}check(){return(p,n)=>this.matchFor(p.kind,n.kind)(p,n)}matchFor(p,n){let s=this._whens.match(p);return new c(s).first(n)}when(p,n,s){return this._whens.get(p,()=>new o).add(n,s),this}};function a(p){switch(p){case"Broken":case"InternalsSynthetic":case"NonExistent":return d;default:return p}}}}),He=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/offset.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.InvisiblePosition=t.HbsPosition=t.CharPosition=t.SourceOffset=t.BROKEN=void 0;var f=ge(),h=Me(),d=Ve(),c="BROKEN";t.BROKEN=c;var o=class{constructor(n){this.data=n}static forHbsPos(n,s){return new r(n,s,null).wrap()}static broken(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f.UNKNOWN_POSITION;return new a("Broken",n).wrap()}get offset(){let n=this.data.toCharPos();return n===null?null:n.offset}eql(n){return p(this.data,n.data)}until(n){return(0,d.span)(this.data,n.data)}move(n){let s=this.data.toCharPos();if(s===null)return o.broken();{let u=s.offset+n;return s.source.check(u)?new e(s.source,u).wrap():o.broken()}}collapsed(){return(0,d.span)(this.data,this.data)}toJSON(){return this.data.toJSON()}};t.SourceOffset=o;var e=class{constructor(n,s){this.source=n,this.charPos=s,this.kind="CharPosition",this._locPos=null}toCharPos(){return this}toJSON(){let n=this.toHbsPos();return n===null?f.UNKNOWN_POSITION:n.toJSON()}wrap(){return new o(this)}get offset(){return this.charPos}toHbsPos(){let n=this._locPos;if(n===null){let s=this.source.hbsPosFor(this.charPos);s===null?this._locPos=n=c:this._locPos=n=new r(this.source,s,this.charPos)}return n===c?null:n}};t.CharPosition=e;var r=class{constructor(n,s){let u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.source=n,this.hbsPos=s,this.kind="HbsPosition",this._charPos=u===null?null:new e(n,u)}toCharPos(){let n=this._charPos;if(n===null){let s=this.source.charPosFor(this.hbsPos);s===null?this._charPos=n=c:this._charPos=n=new e(this.source,s)}return n===c?null:n}toJSON(){return this.hbsPos}wrap(){return new o(this)}toHbsPos(){return this}};t.HbsPosition=r;var a=class{constructor(n,s){this.kind=n,this.pos=s}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new o(this)}get offset(){return null}};t.InvisiblePosition=a;var p=(0,h.match)(n=>n.when("HbsPosition","HbsPosition",(s,u)=>{let{hbsPos:i}=s,{hbsPos:l}=u;return i.column===l.column&&i.line===l.line}).when("CharPosition","CharPosition",(s,u)=>{let{charPos:i}=s,{charPos:l}=u;return i===l}).when("CharPosition","HbsPosition",(s,u)=>{let{offset:i}=s;var l;return i===((l=u.toCharPos())===null||l===void 0?void 0:l.offset)}).when("HbsPosition","CharPosition",(s,u)=>{let{offset:i}=u;var l;return((l=s.toCharPos())===null||l===void 0?void 0:l.offset)===i}).when(h.MatchAny,h.MatchAny,()=>!1))}}),Ve=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/span.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.span=t.HbsSpan=t.SourceSpan=void 0;var f=fe(),h=X(),d=ge(),c=le(),o=Me(),e=He(),r=class{constructor(u){this.data=u,this.isInvisible=u.kind!=="CharPosition"&&u.kind!=="HbsPosition"}static get NON_EXISTENT(){return new n("NonExistent",d.NON_EXISTENT_LOCATION).wrap()}static load(u,i){if(typeof i=="number")return r.forCharPositions(u,i,i);if(typeof i=="string")return r.synthetic(i);if(Array.isArray(i))return r.forCharPositions(u,i[0],i[1]);if(i==="NonExistent")return r.NON_EXISTENT;if(i==="Broken")return r.broken(d.BROKEN_LOCATION);(0,h.assertNever)(i)}static forHbsLoc(u,i){let l=new e.HbsPosition(u,i.start),b=new e.HbsPosition(u,i.end);return new p(u,{start:l,end:b},i).wrap()}static forCharPositions(u,i,l){let b=new e.CharPosition(u,i),P=new e.CharPosition(u,l);return new a(u,{start:b,end:P}).wrap()}static synthetic(u){return new n("InternalsSynthetic",d.NON_EXISTENT_LOCATION,u).wrap()}static broken(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d.BROKEN_LOCATION;return new n("Broken",u).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let u=this.data.toHbsSpan();return u===null?d.BROKEN_LOCATION:u.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(u){return s(u.data,this.data.getEnd())}withEnd(u){return s(this.data.getStart(),u.data)}asString(){return this.data.asString()}toSlice(u){let i=this.data.asString();return f.DEBUG&&u!==void 0&&i!==u&&console.warn(`unexpectedly found ${JSON.stringify(i)} when slicing source, but expected ${JSON.stringify(u)}`),new c.SourceSlice({loc:this,chars:u||i})}get start(){return this.loc.start}set start(u){this.data.locDidUpdate({start:u})}get end(){return this.loc.end}set end(u){this.data.locDidUpdate({end:u})}get source(){return this.module}collapse(u){switch(u){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(u){return s(this.data.getStart(),u.data.getEnd())}serialize(){return this.data.serialize()}slice(u){let{skipStart:i=0,skipEnd:l=0}=u;return s(this.getStart().move(i).data,this.getEnd().move(-l).data)}sliceStartChars(u){let{skipStart:i=0,chars:l}=u;return s(this.getStart().move(i).data,this.getStart().move(i+l).data)}sliceEndChars(u){let{skipEnd:i=0,chars:l}=u;return s(this.getEnd().move(i-l).data,this.getStart().move(-i).data)}};t.SourceSpan=r;var a=class{constructor(u,i){this.source=u,this.charPositions=i,this.kind="CharPosition",this._locPosSpan=null}wrap(){return new r(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let u=this._locPosSpan;if(u===null){let i=this.charPositions.start.toHbsPos(),l=this.charPositions.end.toHbsPos();i===null||l===null?u=this._locPosSpan=e.BROKEN:u=this._locPosSpan=new p(this.source,{start:i,end:l})}return u===e.BROKEN?null:u}serialize(){let{start:{charPos:u},end:{charPos:i}}=this.charPositions;return u===i?u:[u,i]}toCharPosSpan(){return this}},p=class{constructor(u,i){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.source=u,this.hbsPositions=i,this.kind="HbsPosition",this._charPosSpan=null,this._providedHbsLoc=l}serialize(){let u=this.toCharPosSpan();return u===null?"Broken":u.wrap().serialize()}wrap(){return new r(this)}updateProvided(u,i){this._providedHbsLoc&&(this._providedHbsLoc[i]=u),this._charPosSpan=null,this._providedHbsLoc={start:u,end:u}}locDidUpdate(u){let{start:i,end:l}=u;i!==void 0&&(this.updateProvided(i,"start"),this.hbsPositions.start=new e.HbsPosition(this.source,i,null)),l!==void 0&&(this.updateProvided(l,"end"),this.hbsPositions.end=new e.HbsPosition(this.source,l,null))}asString(){let u=this.toCharPosSpan();return u===null?"":u.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let u=this._charPosSpan;if(u===null){let i=this.hbsPositions.start.toCharPos(),l=this.hbsPositions.end.toCharPos();if(i&&l)u=this._charPosSpan=new a(this.source,{start:i,end:l});else return u=this._charPosSpan=e.BROKEN,null}return u===e.BROKEN?null:u}};t.HbsSpan=p;var n=class{constructor(u,i){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.kind=u,this.loc=i,this.string=l}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new r(this)}asString(){return this.string||""}locDidUpdate(u){let{start:i,end:l}=u;i!==void 0&&(this.loc.start=i),l!==void 0&&(this.loc.end=l)}getModule(){return"an unknown module"}getStart(){return new e.InvisiblePosition(this.kind,this.loc.start)}getEnd(){return new e.InvisiblePosition(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return d.BROKEN_LOCATION}},s=(0,o.match)(u=>u.when("HbsPosition","HbsPosition",(i,l)=>new p(i.source,{start:i,end:l}).wrap()).when("CharPosition","CharPosition",(i,l)=>new a(i.source,{start:i,end:l}).wrap()).when("CharPosition","HbsPosition",(i,l)=>{let b=l.toCharPos();return b===null?new n("Broken",d.BROKEN_LOCATION).wrap():s(i,b)}).when("HbsPosition","CharPosition",(i,l)=>{let b=i.toCharPos();return b===null?new n("Broken",d.BROKEN_LOCATION).wrap():s(b,l)}).when(o.IsInvisible,o.MatchAny,i=>new n(i.kind,d.BROKEN_LOCATION).wrap()).when(o.MatchAny,o.IsInvisible,(i,l)=>new n(l.kind,d.BROKEN_LOCATION).wrap()));t.span=s}}),ue=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/span.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return f.SourceSpan}}),Object.defineProperty(t,"SourceOffset",{enumerable:!0,get:function(){return h.SourceOffset}});var f=Ve(),h=He()}}),De=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/source.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0;var f=fe(),h=X(),d=ue(),c=class{constructor(o){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"an unknown module";this.source=o,this.module=e}check(o){return o>=0&&o<=this.source.length}slice(o,e){return this.source.slice(o,e)}offsetFor(o,e){return d.SourceOffset.forHbsPos(this,{line:o,column:e})}spanFor(o){let{start:e,end:r}=o;return d.SourceSpan.forHbsLoc(this,{start:{line:e.line,column:e.column},end:{line:r.line,column:r.column}})}hbsPosFor(o){let e=0,r=0;if(o>this.source.length)return null;for(;;){let a=this.source.indexOf(` -`,r);if(o<=a||a===-1)return{line:e+1,column:o-r};e+=1,r=a+1}}charPosFor(o){let{line:e,column:r}=o,p=this.source.length,n=0,s=0;for(;;){if(s>=p)return p;let u=this.source.indexOf(` -`,s);if(u===-1&&(u=this.source.length),n===e-1){if(s+r>u)return u;if(f.DEBUG){let i=this.hbsPosFor(s+r)}return s+r}else{if(u===-1)return 0;n+=1,s=u+1}}}};t.Source=c}}),we=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/legacy-interop.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.PathExpressionImplV1=void 0;var f=h(ke());function h(c){return c&&c.__esModule?c:{default:c}}var d=class{constructor(c,o,e,r){this.original=c,this.loc=r,this.type="PathExpression",this.this=!1,this.data=!1,this._head=void 0;let a=e.slice();o.type==="ThisHead"?this.this=!0:o.type==="AtHead"?(this.data=!0,a.unshift(o.name.slice(1))):a.unshift(o.name),this.parts=a}get head(){if(this._head)return this._head;let c;this.this?c="this":this.data?c=`@${this.parts[0]}`:c=this.parts[0];let o=this.loc.collapse("start").sliceStartChars({chars:c.length}).loc;return this._head=f.default.head(c,o)}get tail(){return this.this?this.parts:this.parts.slice(1)}};t.PathExpressionImplV1=d}}),ke=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/public-builders.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=X(),h=ge(),d=De(),c=ue(),o=we(),e;function r(){return e||(e=new d.Source("","(synthetic)")),e}function a(T,N,k,B,O,q){return typeof T=="string"&&(T=m(T)),{type:"MustacheStatement",path:T,params:N||[],hash:k||S([]),escaped:!B,trusting:!!B,loc:U(O||null),strip:q||{open:!1,close:!1}}}function p(T,N,k,B,O,q,z,A,Q){let D,$;return B.type==="Template"?D=(0,f.assign)({},B,{type:"Block"}):D=B,O!=null&&O.type==="Template"?$=(0,f.assign)({},O,{type:"Block"}):$=O,{type:"BlockStatement",path:m(T),params:N||[],hash:k||S([]),program:D||null,inverse:$||null,loc:U(q||null),openStrip:z||{open:!1,close:!1},inverseStrip:A||{open:!1,close:!1},closeStrip:Q||{open:!1,close:!1}}}function n(T,N,k,B){return{type:"ElementModifierStatement",path:m(T),params:N||[],hash:k||S([]),loc:U(B||null)}}function s(T,N,k,B,O){return{type:"PartialStatement",name:T,params:N||[],hash:k||S([]),indent:B||"",strip:{open:!1,close:!1},loc:U(O||null)}}function u(T,N){return{type:"CommentStatement",value:T,loc:U(N||null)}}function i(T,N){return{type:"MustacheCommentStatement",value:T,loc:U(N||null)}}function l(T,N){if(!(0,f.isPresent)(T))throw new Error("b.concat requires at least one part");return{type:"ConcatStatement",parts:T||[],loc:U(N||null)}}function b(T){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{attrs:k,blockParams:B,modifiers:O,comments:q,children:z,loc:A}=N,Q,D=!1;return typeof T=="object"?(D=T.selfClosing,Q=T.name):T.slice(-1)==="/"?(Q=T.slice(0,-1),D=!0):Q=T,{type:"ElementNode",tag:Q,selfClosing:D,attributes:k||[],blockParams:B||[],modifiers:O||[],comments:q||[],children:z||[],loc:U(A||null)}}function P(T,N,k){return{type:"AttrNode",name:T,value:N,loc:U(k||null)}}function E(T,N){return{type:"TextNode",chars:T||"",loc:U(N||null)}}function v(T,N,k,B){return{type:"SubExpression",path:m(T),params:N||[],hash:k||S([]),loc:U(B||null)}}function _(T){switch(T.type){case"AtHead":return{original:T.name,parts:[T.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:T.name,parts:[T.name]}}}function y(T,N){let[k,...B]=T.split("."),O;return k==="this"?O={type:"ThisHead",loc:U(N||null)}:k[0]==="@"?O={type:"AtHead",name:k,loc:U(N||null)}:O={type:"VarHead",name:k,loc:U(N||null)},{head:O,tail:B}}function g(T){return{type:"ThisHead",loc:U(T||null)}}function L(T,N){return{type:"AtHead",name:T,loc:U(N||null)}}function j(T,N){return{type:"VarHead",name:T,loc:U(N||null)}}function x(T,N){return T[0]==="@"?L(T,N):T==="this"?g(N):j(T,N)}function w(T,N){return{type:"NamedBlockName",name:T,loc:U(N||null)}}function H(T,N,k){let{original:B,parts:O}=_(T),q=[...O,...N],z=[...B,...q].join(".");return new o.PathExpressionImplV1(z,T,N,U(k||null))}function m(T,N){if(typeof T!="string"){if("type"in T)return T;{let{head:O,tail:q}=y(T.head,c.SourceSpan.broken()),{original:z}=_(O);return new o.PathExpressionImplV1([z,...q].join("."),O,q,U(N||null))}}let{head:k,tail:B}=y(T,c.SourceSpan.broken());return new o.PathExpressionImplV1(T,k,B,U(N||null))}function C(T,N,k){return{type:T,value:N,original:N,loc:U(k||null)}}function S(T,N){return{type:"Hash",pairs:T||[],loc:U(N||null)}}function R(T,N,k){return{type:"HashPair",key:T,value:N,loc:U(k||null)}}function M(T,N,k){return{type:"Template",body:T||[],blockParams:N||[],loc:U(k||null)}}function V(T,N){let k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,B=arguments.length>3?arguments[3]:void 0;return{type:"Block",body:T||[],blockParams:N||[],chained:k,loc:U(B||null)}}function G(T,N,k){return{type:"Template",body:T||[],blockParams:N||[],loc:U(k||null)}}function K(T,N){return{line:T,column:N}}function U(){for(var T=arguments.length,N=new Array(T),k=0;k1&&arguments[1]!==void 0?arguments[1]:!1;this.ambiguity=e,this.isAngleBracket=r}static namespaced(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return new d({namespaces:[e],fallback:!1},r)}static fallback(){return new d({namespaces:[],fallback:!0})}static append(e){let{invoke:r}=e;return new d({namespaces:["Component","Helper"],fallback:!r})}static trustingAppend(e){let{invoke:r}=e;return new d({namespaces:["Helper"],fallback:!r})}static attr(){return new d({namespaces:["Helper"],fallback:!0})}resolution(){if(this.ambiguity.namespaces.length===0)return 31;if(this.ambiguity.namespaces.length===1){if(this.ambiguity.fallback)return 36;switch(this.ambiguity.namespaces[0]){case"Helper":return 37;case"Modifier":return 38;case"Component":return 39}}else return this.ambiguity.fallback?34:35}serialize(){return this.ambiguity.namespaces.length===0?"Loose":this.ambiguity.namespaces.length===1?this.ambiguity.fallback?["ambiguous","Attr"]:["ns",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?["ambiguous","Append"]:["ambiguous","Invoke"]}};t.LooseModeResolution=d;var c=d.fallback();t.ARGUMENT_RESOLUTION=c;function o(e){if(typeof e=="string")switch(e){case"Loose":return d.fallback();case"Strict":return h}switch(e[0]){case"ambiguous":switch(e[1]){case"Append":return d.append({invoke:!1});case"Attr":return d.attr();case"Invoke":return d.append({invoke:!0})}case"ns":return d.namespaced(e[1])}}}}),ne=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/node.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.node=h;var f=X();function h(d){if(d!==void 0){let c=d;return{fields(){return class{constructor(o){this.type=c,(0,f.assign)(this,o)}}}}}else return{fields(){return class{constructor(c){(0,f.assign)(this,c)}}}}}}}),be=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/args.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.NamedArgument=t.NamedArguments=t.PositionalArguments=t.Args=void 0;var f=ne(),h=class extends(0,f.node)().fields(){static empty(e){return new h({loc:e,positional:d.empty(e),named:c.empty(e)})}static named(e){return new h({loc:e.loc,positional:d.empty(e.loc.collapse("end")),named:e})}nth(e){return this.positional.nth(e)}get(e){return this.named.get(e)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}};t.Args=h;var d=class extends(0,f.node)().fields(){static empty(e){return new d({loc:e,exprs:[]})}get size(){return this.exprs.length}nth(e){return this.exprs[e]||null}isEmpty(){return this.exprs.length===0}};t.PositionalArguments=d;var c=class extends(0,f.node)().fields(){static empty(e){return new c({loc:e,entries:[]})}get size(){return this.entries.length}get(e){let r=this.entries.filter(a=>a.name.chars===e)[0];return r?r.value:null}isEmpty(){return this.entries.length===0}};t.NamedArguments=c;var o=class{constructor(e){this.loc=e.name.loc.extend(e.value.loc),this.name=e.name,this.value=e.value}};t.NamedArgument=o}}),Dt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/attr-block.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.ElementModifier=t.ComponentArg=t.SplatAttr=t.HtmlAttr=void 0;var f=be(),h=ne(),d=class extends(0,h.node)("HtmlAttr").fields(){};t.HtmlAttr=d;var c=class extends(0,h.node)("SplatAttr").fields(){};t.SplatAttr=c;var o=class extends(0,h.node)().fields(){toNamedArgument(){return new f.NamedArgument({name:this.name,value:this.value})}};t.ComponentArg=o;var e=class extends(0,h.node)("ElementModifier").fields(){};t.ElementModifier=e}}),wt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/base.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0})}}),ce=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/span-list.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.loc=d,t.hasSpan=c,t.maybeLoc=o,t.SpanList=void 0;var f=ue(),h=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this._span=e}static range(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f.SourceSpan.NON_EXISTENT;return new h(e.map(d)).getRangeOffset(r)}add(e){this._span.push(e)}getRangeOffset(e){if(this._span.length===0)return e;{let r=this._span[0],a=this._span[this._span.length-1];return r.extend(a)}}};t.SpanList=h;function d(e){if(Array.isArray(e)){let r=e[0],a=e[e.length-1];return d(r).extend(d(a))}else return e instanceof f.SourceSpan?e:e.loc}function c(e){return!(Array.isArray(e)&&e.length===0)}function o(e,r){return c(e)?d(e):r}}}),kt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/content.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleElement=t.InvokeComponent=t.InvokeBlock=t.AppendContent=t.HtmlComment=t.HtmlText=t.GlimmerComment=void 0;var f=ce(),h=be(),d=ne(),c=class extends(0,d.node)("GlimmerComment").fields(){};t.GlimmerComment=c;var o=class extends(0,d.node)("HtmlText").fields(){};t.HtmlText=o;var e=class extends(0,d.node)("HtmlComment").fields(){};t.HtmlComment=e;var r=class extends(0,d.node)("AppendContent").fields(){get callee(){return this.value.type==="Call"?this.value.callee:this.value}get args(){return this.value.type==="Call"?this.value.args:h.Args.empty(this.value.loc.collapse("end"))}};t.AppendContent=r;var a=class extends(0,d.node)("InvokeBlock").fields(){};t.InvokeBlock=a;var p=class extends(0,d.node)("InvokeComponent").fields(){get args(){let s=this.componentArgs.map(u=>u.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:f.SpanList.range(s,this.callee.loc.collapse("end")),entries:s}))}};t.InvokeComponent=p;var n=class extends(0,d.node)("SimpleElement").fields(){get args(){let s=this.componentArgs.map(u=>u.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:f.SpanList.range(s,this.tag.loc.collapse("end")),entries:s}))}};t.SimpleElement=n}}),Tt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/expr.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isLiteral=c,t.InterpolateExpression=t.DeprecatedCallExpression=t.CallExpression=t.PathExpression=t.LiteralExpression=void 0;var f=le(),h=ne(),d=class extends(0,h.node)("Literal").fields(){toSlice(){return new f.SourceSlice({loc:this.loc,chars:this.value})}};t.LiteralExpression=d;function c(p,n){return p.type==="Literal"?n===void 0?!0:n==="null"?p.value===null:typeof p.value===n:!1}var o=class extends(0,h.node)("Path").fields(){};t.PathExpression=o;var e=class extends(0,h.node)("Call").fields(){};t.CallExpression=e;var r=class extends(0,h.node)("DeprecatedCall").fields(){};t.DeprecatedCallExpression=r;var a=class extends(0,h.node)("Interpolate").fields(){};t.InterpolateExpression=a}}),Bt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/refs.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.FreeVarReference=t.LocalVarReference=t.ArgReference=t.ThisReference=void 0;var f=ne(),h=class extends(0,f.node)("This").fields(){};t.ThisReference=h;var d=class extends(0,f.node)("Arg").fields(){};t.ArgReference=d;var c=class extends(0,f.node)("Local").fields(){};t.LocalVarReference=c;var o=class extends(0,f.node)("Free").fields(){};t.FreeVarReference=o}}),Ot=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/internal-node.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.NamedBlock=t.NamedBlocks=t.Block=t.Template=void 0;var f=ce(),h=be(),d=ne(),c=class extends(0,d.node)().fields(){};t.Template=c;var o=class extends(0,d.node)().fields(){};t.Block=o;var e=class extends(0,d.node)().fields(){get(a){return this.blocks.filter(p=>p.name.chars===a)[0]||null}};t.NamedBlocks=e;var r=class extends(0,d.node)().fields(){get args(){let a=this.componentArgs.map(p=>p.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:f.SpanList.range(a,this.name.loc.collapse("end")),entries:a}))}};t.NamedBlock=r}}),ve=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/api.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f=Pt();Object.keys(f).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return f[n]}})});var h=ne();Object.keys(h).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return h[n]}})});var d=be();Object.keys(d).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return d[n]}})});var c=Dt();Object.keys(c).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return c[n]}})});var o=wt();Object.keys(o).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return o[n]}})});var e=kt();Object.keys(e).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})});var r=Tt();Object.keys(r).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return r[n]}})});var a=Bt();Object.keys(a).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return a[n]}})});var p=Ot();Object.keys(p).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return p[n]}})})}}),Ue=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/generation/util.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.escapeAttrValue=r,t.escapeText=a,t.sortByLoc=p;var f=/[\xA0"&]/,h=new RegExp(f.source,"g"),d=/[\xA0&<>]/,c=new RegExp(d.source,"g");function o(n){switch(n.charCodeAt(0)){case 160:return" ";case 34:return""";case 38:return"&";default:return n}}function e(n){switch(n.charCodeAt(0)){case 160:return" ";case 38:return"&";case 60:return"<";case 62:return">";default:return n}}function r(n){return f.test(n)?n.replace(h,o):n}function a(n){return d.test(n)?n.replace(c,e):n}function p(n,s){return n.loc.isInvisible||s.loc.isInvisible?0:n.loc.startPosition.line{h[e]=!0});var c=/\S/,o=class{constructor(e){this.buffer="",this.options=e}handledByOverride(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.options.override!==void 0){let a=this.options.override(e,this.options);if(typeof a=="string")return r&&a!==""&&c.test(a[0])&&(a=` ${a}`),this.buffer+=a,!0}return!1}Node(e){switch(e.type){case"MustacheStatement":case"BlockStatement":case"PartialStatement":case"MustacheCommentStatement":case"CommentStatement":case"TextNode":case"ElementNode":case"AttrNode":case"Block":case"Template":return this.TopLevelStatement(e);case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":case"PathExpression":case"SubExpression":return this.Expression(e);case"Program":return this.Block(e);case"ConcatStatement":return this.ConcatStatement(e);case"Hash":return this.Hash(e);case"HashPair":return this.HashPair(e);case"ElementModifierStatement":return this.ElementModifierStatement(e)}}Expression(e){switch(e.type){case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":return this.Literal(e);case"PathExpression":return this.PathExpression(e);case"SubExpression":return this.SubExpression(e)}}Literal(e){switch(e.type){case"StringLiteral":return this.StringLiteral(e);case"BooleanLiteral":return this.BooleanLiteral(e);case"NumberLiteral":return this.NumberLiteral(e);case"UndefinedLiteral":return this.UndefinedLiteral(e);case"NullLiteral":return this.NullLiteral(e)}}TopLevelStatement(e){switch(e.type){case"MustacheStatement":return this.MustacheStatement(e);case"BlockStatement":return this.BlockStatement(e);case"PartialStatement":return this.PartialStatement(e);case"MustacheCommentStatement":return this.MustacheCommentStatement(e);case"CommentStatement":return this.CommentStatement(e);case"TextNode":return this.TextNode(e);case"ElementNode":return this.ElementNode(e);case"Block":case"Template":return this.Block(e);case"AttrNode":return this.AttrNode(e)}}Block(e){if(e.chained){let r=e.body[0];r.chained=!0}this.handledByOverride(e)||this.TopLevelStatements(e.body)}TopLevelStatements(e){e.forEach(r=>this.TopLevelStatement(r))}ElementNode(e){this.handledByOverride(e)||(this.OpenElementNode(e),this.TopLevelStatements(e.children),this.CloseElementNode(e))}OpenElementNode(e){this.buffer+=`<${e.tag}`;let r=[...e.attributes,...e.modifiers,...e.comments].sort(f.sortByLoc);for(let a of r)switch(this.buffer+=" ",a.type){case"AttrNode":this.AttrNode(a);break;case"ElementModifierStatement":this.ElementModifierStatement(a);break;case"MustacheCommentStatement":this.MustacheCommentStatement(a);break}e.blockParams.length&&this.BlockParams(e.blockParams),e.selfClosing&&(this.buffer+=" /"),this.buffer+=">"}CloseElementNode(e){e.selfClosing||h[e.tag.toLowerCase()]||(this.buffer+=``)}AttrNode(e){if(this.handledByOverride(e))return;let{name:r,value:a}=e;this.buffer+=r,(a.type!=="TextNode"||a.chars.length>0)&&(this.buffer+="=",this.AttrNodeValue(a))}AttrNodeValue(e){e.type==="TextNode"?(this.buffer+='"',this.TextNode(e,!0),this.buffer+='"'):this.Node(e)}TextNode(e,r){this.handledByOverride(e)||(this.options.entityEncoding==="raw"?this.buffer+=e.chars:r?this.buffer+=(0,f.escapeAttrValue)(e.chars):this.buffer+=(0,f.escapeText)(e.chars))}MustacheStatement(e){this.handledByOverride(e)||(this.buffer+=e.escaped?"{{":"{{{",e.strip.open&&(this.buffer+="~"),this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.strip.close&&(this.buffer+="~"),this.buffer+=e.escaped?"}}":"}}}")}BlockStatement(e){this.handledByOverride(e)||(e.chained?(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else "):this.buffer+=e.openStrip.open?"{{~#":"{{#",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.program.blockParams.length&&this.BlockParams(e.program.blockParams),e.chained?this.buffer+=e.inverseStrip.close?"~}}":"}}":this.buffer+=e.openStrip.close?"~}}":"}}",this.Block(e.program),e.inverse&&(e.inverse.chained||(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else",this.buffer+=e.inverseStrip.close?"~}}":"}}"),this.Block(e.inverse)),e.chained||(this.buffer+=e.closeStrip.open?"{{~/":"{{/",this.Expression(e.path),this.buffer+=e.closeStrip.close?"~}}":"}}"))}BlockParams(e){this.buffer+=` as |${e.join(" ")}|`}PartialStatement(e){this.handledByOverride(e)||(this.buffer+="{{>",this.Expression(e.name),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}ConcatStatement(e){this.handledByOverride(e)||(this.buffer+='"',e.parts.forEach(r=>{r.type==="TextNode"?this.TextNode(r,!0):this.Node(r)}),this.buffer+='"')}MustacheCommentStatement(e){this.handledByOverride(e)||(this.buffer+=`{{!--${e.value}--}}`)}ElementModifierStatement(e){this.handledByOverride(e)||(this.buffer+="{{",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}CommentStatement(e){this.handledByOverride(e)||(this.buffer+=``)}PathExpression(e){this.handledByOverride(e)||(this.buffer+=e.original)}SubExpression(e){this.handledByOverride(e)||(this.buffer+="(",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+=")")}Params(e){e.length&&e.forEach(r=>{this.buffer+=" ",this.Expression(r)})}Hash(e){this.handledByOverride(e,!0)||e.pairs.forEach(r=>{this.buffer+=" ",this.HashPair(r)})}HashPair(e){this.handledByOverride(e)||(this.buffer+=e.key,this.buffer+="=",this.Node(e.value))}StringLiteral(e){this.handledByOverride(e)||(this.buffer+=JSON.stringify(e.value))}BooleanLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}NumberLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}UndefinedLiteral(e){this.handledByOverride(e)||(this.buffer+="undefined")}NullLiteral(e){this.handledByOverride(e)||(this.buffer+="null")}print(e){let{options:r}=this;if(r.override){let a=r.override(e,r);if(a!==void 0)return a}return this.buffer="",this.Node(e),this.buffer}};t.default=o}}),Be=I({"node_modules/@handlebars/parser/dist/cjs/exception.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function h(d,c){var o=c&&c.loc,e,r,a,p;o&&(e=o.start.line,r=o.end.line,a=o.start.column,p=o.end.column,d+=" - "+e+":"+a);for(var n=Error.prototype.constructor.call(this,d),s=0;s"u"&&(Y.yylloc={});var Ee=Y.yylloc;A.push(Ee);var rt=Y.options&&Y.options.ranges;typeof ie.yy.parseError=="function"?this.parseError=ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $t(te){O.length=O.length-2*te,z.length=z.length-te,A.length=A.length-te}e:var nt=function(){var te;return te=Y.lex()||Re,typeof te!="number"&&(te=B.symbols_[te]||te),te};for(var J,_e,se,ee,er,Se,ae={},de,re,qe,pe;;){if(se=O[O.length-1],this.defaultActions[se]?ee=this.defaultActions[se]:((J===null||typeof J>"u")&&(J=nt()),ee=Q[se]&&Q[se][J]),typeof ee>"u"||!ee.length||!ee[0]){var Ce="";pe=[];for(de in Q[se])this.terminals_[de]&&de>et&&pe.push("'"+this.terminals_[de]+"'");Y.showPosition?Ce="Parse error on line "+($+1)+`: -`+Y.showPosition()+` -Expecting `+pe.join(", ")+", got '"+(this.terminals_[J]||J)+"'":Ce="Parse error on line "+($+1)+": Unexpected "+(J==Re?"end of input":"'"+(this.terminals_[J]||J)+"'"),this.parseError(Ce,{text:Y.match,token:this.terminals_[J]||J,line:Y.yylineno,loc:Ee,expected:pe})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+J);switch(ee[0]){case 1:O.push(J),z.push(Y.yytext),A.push(Y.yylloc),O.push(ee[1]),J=null,_e?(J=_e,_e=null):(oe=Y.yyleng,D=Y.yytext,$=Y.yylineno,Ee=Y.yylloc,Ie>0&&Ie--);break;case 2:if(re=this.productions_[ee[1]][1],ae.$=z[z.length-re],ae._$={first_line:A[A.length-(re||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(re||1)].first_column,last_column:A[A.length-1].last_column},rt&&(ae._$.range=[A[A.length-(re||1)].range[0],A[A.length-1].range[1]]),Se=this.performAction.apply(ae,[D,oe,$,ie.yy,ee[1],z,A].concat(tt)),typeof Se<"u")return Se;re&&(O=O.slice(0,-1*re*2),z=z.slice(0,-1*re),A=A.slice(0,-1*re)),O.push(this.productions_[ee[1]][0]),z.push(ae.$),A.push(ae._$),qe=Q[O[O.length-2]][O[O.length-1]],O.push(qe);break;case 3:return!0}}return!0}},W=function(){var N={EOF:1,parseError:function(B,O){if(this.yy.parser)this.yy.parser.parseError(B,O);else throw new Error(B)},setInput:function(k,B){return this.yy=B||this.yy||{},this._input=k,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var k=this._input[0];this.yytext+=k,this.yyleng++,this.offset++,this.match+=k,this.matched+=k;var B=k.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),k},unput:function(k){var B=k.length,O=k.split(/(?:\r\n?|\n)/g);this._input=k+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var q=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1&&(this.yylineno-=O.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===q.length?this.yylloc.first_column:0)+q[q.length-O.length].length-O[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(k){this.unput(this.match.slice(k))},pastInput:function(){var k=this.matched.substr(0,this.matched.length-this.match.length);return(k.length>20?"...":"")+k.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var k=this.match;return k.length<20&&(k+=this._input.substr(0,20-k.length)),(k.substr(0,20)+(k.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var k=this.pastInput(),B=new Array(k.length+1).join("-");return k+this.upcomingInput()+` -`+B+"^"},test_match:function(k,B){var O,q,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),q=k[0].match(/(?:\r\n?|\n).*/g),q&&(this.yylineno+=q.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:q?q[q.length-1].length-q[q.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+k[0].length},this.yytext+=k[0],this.match+=k[0],this.matches=k,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(k[0].length),this.matched+=k[0],O=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var A in z)this[A]=z[A];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var k,B,O,q;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),A=0;AB[0].length)){if(B=O,q=A,this.options.backtrack_lexer){if(k=this.test_match(O,z[A]),k!==!1)return k;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(k=this.test_match(B,z[q]),k!==!1?k:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var B=this.next();return B||this.lex()},begin:function(B){this.conditionStack.push(B)},popState:function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},pushState:function(B){this.begin(B)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(B,O,q,z){function A(D,$){return O.yytext=O.yytext.substring(D,O.yyleng-$+D)}var Q=z;switch(q){case 0:if(O.yytext.slice(-2)==="\\\\"?(A(0,1),this.begin("mu")):O.yytext.slice(-1)==="\\"?(A(0,1),this.begin("emu")):this.begin("mu"),O.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(A(5,9),18);case 5:return 15;case 6:return this.popState(),14;break;case 7:return 64;case 8:return 67;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 56;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 52;case 20:return 48;case 21:this.unput(O.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 72;case 25:return 71;case 26:return 71;case 27:return 86;case 28:break;case 29:return this.popState(),55;break;case 30:return this.popState(),33;break;case 31:return O.yytext=A(1,2).replace(/\\"/g,'"'),79;break;case 32:return O.yytext=A(1,2).replace(/\\'/g,"'"),79;break;case 33:return 84;case 34:return 81;case 35:return 81;case 36:return 82;case 37:return 83;case 38:return 80;case 39:return 74;case 40:return 76;case 41:return 71;case 42:return O.yytext=O.yytext.replace(/\\([\\\]])/g,"$1"),71;break;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return N}();Z.lexer=W;function T(){this.yy={}}return T.prototype=Z,Z.Parser=T,new T}();t.default=f}}),Nt=I({"node_modules/@handlebars/parser/dist/cjs/printer.js"(t){"use strict";F();var f=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0}),t.PrintVisitor=t.print=void 0;var h=f(Oe());function d(o){return new c().accept(o)}t.print=d;function c(){this.padding=0}t.PrintVisitor=c,c.prototype=new h.default,c.prototype.pad=function(o){for(var e="",r=0,a=this.padding;r "+e+" }}")},c.prototype.PartialBlockStatement=function(o){var e="PARTIAL BLOCK:"+o.name.original;return o.params[0]&&(e+=" "+this.accept(o.params[0])),o.hash&&(e+=" "+this.accept(o.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(o.program),this.padding--,this.pad("{{> "+e+" }}")},c.prototype.ContentStatement=function(o){return this.pad("CONTENT[ '"+o.value+"' ]")},c.prototype.CommentStatement=function(o){return this.pad("{{! '"+o.value+"' }}")},c.prototype.SubExpression=function(o){for(var e=o.params,r=[],a,p=0,n=e.length;p0)throw new h.default("Invalid path: "+E,{loc:P});L===".."&&_++}else v.push(L)}return{type:"PathExpression",data:l,depth:_,parts:v,original:E,loc:P}}t.preparePath=a;function p(l,b,P,E,v,_){var y=E.charAt(3)||E.charAt(2),g=y!=="{"&&y!=="&",L=/\*/.test(E);return{type:L?"Decorator":"MustacheStatement",path:l,params:b,hash:P,escaped:g,strip:v,loc:this.locInfo(_)}}t.prepareMustache=p;function n(l,b,P,E){d(l,P),E=this.locInfo(E);var v={type:"Program",body:b,strip:{},loc:E};return{type:"BlockStatement",path:l.path,params:l.params,hash:l.hash,program:v,openStrip:{},inverseStrip:{},closeStrip:{},loc:E}}t.prepareRawBlock=n;function s(l,b,P,E,v,_){E&&E.path&&d(l,E);var y=/\*/.test(l.open);b.blockParams=l.blockParams;var g,L;if(P){if(y)throw new h.default("Unexpected inverse block on decorator",P);P.chain&&(P.program.body[0].closeStrip=E.strip),L=P.strip,g=P.program}return v&&(v=g,g=b,b=v),{type:y?"DecoratorBlock":"BlockStatement",path:l.path,params:l.params,hash:l.hash,program:b,inverse:g,openStrip:l.strip,inverseStrip:L,closeStrip:E&&E.strip,loc:this.locInfo(_)}}t.prepareBlock=s;function u(l,b){if(!b&&l.length){var P=l[0].loc,E=l[l.length-1].loc;P&&E&&(b={source:P.source,start:{line:P.start.line,column:P.start.column},end:{line:E.end.line,column:E.end.column}})}return{type:"Program",body:l,strip:{},loc:b}}t.prepareProgram=u;function i(l,b,P,E){return d(l,P),{type:"PartialBlockStatement",name:l.path,params:l.params,hash:l.hash,program:b,openStrip:l.strip,closeStrip:P&&P.strip,loc:this.locInfo(E)}}t.preparePartialBlock=i}}),Ft=I({"node_modules/@handlebars/parser/dist/cjs/parse.js"(t){"use strict";F();var f=t&&t.__createBinding||(Object.create?function(u,i,l,b){b===void 0&&(b=l),Object.defineProperty(u,b,{enumerable:!0,get:function(){return i[l]}})}:function(u,i,l,b){b===void 0&&(b=l),u[b]=i[l]}),h=t&&t.__setModuleDefault||(Object.create?function(u,i){Object.defineProperty(u,"default",{enumerable:!0,value:i})}:function(u,i){u.default=i}),d=t&&t.__importStar||function(u){if(u&&u.__esModule)return u;var i={};if(u!=null)for(var l in u)l!=="default"&&Object.prototype.hasOwnProperty.call(u,l)&&f(i,u,l);return h(i,u),i},c=t&&t.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.parseWithoutProcessing=void 0;var o=c(Ge()),e=c(ze()),r=d(Lt()),a={};for(p in r)Object.prototype.hasOwnProperty.call(r,p)&&(a[p]=r[p]);var p;function n(u,i){if(u.type==="Program")return u;o.default.yy=a,o.default.yy.locInfo=function(b){return new r.SourceLocation(i&&i.srcName,b)};var l=o.default.parse(u);return l}t.parseWithoutProcessing=n;function s(u,i){var l=n(u,i),b=new e.default(i);return b.accept(l)}t.parse=s}}),It=I({"node_modules/@handlebars/parser/dist/cjs/index.js"(t){"use strict";F();var f=t&&t.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseWithoutProcessing=t.parse=t.PrintVisitor=t.print=t.Exception=t.parser=t.WhitespaceControl=t.Visitor=void 0;var h=Oe();Object.defineProperty(t,"Visitor",{enumerable:!0,get:function(){return f(h).default}});var d=ze();Object.defineProperty(t,"WhitespaceControl",{enumerable:!0,get:function(){return f(d).default}});var c=Ge();Object.defineProperty(t,"parser",{enumerable:!0,get:function(){return f(c).default}});var o=Be();Object.defineProperty(t,"Exception",{enumerable:!0,get:function(){return f(o).default}});var e=Nt();Object.defineProperty(t,"print",{enumerable:!0,get:function(){return e.print}}),Object.defineProperty(t,"PrintVisitor",{enumerable:!0,get:function(){return e.PrintVisitor}});var r=Ft();Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return r.parse}}),Object.defineProperty(t,"parseWithoutProcessing",{enumerable:!0,get:function(){return r.parseWithoutProcessing}})}}),Ke=I({"node_modules/simple-html-tokenizer/dist/simple-html-tokenizer.js"(t,f){F(),function(h,d){typeof t=="object"&&typeof f<"u"?d(t):typeof define=="function"&&define.amd?define(["exports"],d):d(h.HTML5Tokenizer={})}(t,function(h){"use strict";var d={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},c=/^#[xX]([A-Fa-f0-9]+)$/,o=/^#([0-9]+)$/,e=/^([A-Za-z0-9]+)$/,r=function(){function E(v){this.named=v}return E.prototype.parse=function(v){if(v){var _=v.match(c);if(_)return String.fromCharCode(parseInt(_[1],16));if(_=v.match(o),_)return String.fromCharCode(parseInt(_[1],10));if(_=v.match(e),_)return this.named[_[1]]}},E}(),a=/[\t\n\f ]/,p=/[A-Za-z]/,n=/\r\n?/g;function s(E){return a.test(E)}function u(E){return p.test(E)}function i(E){return E.replace(n,` -`)}var l=function(){function E(v,_,y){y===void 0&&(y="precompile"),this.delegate=v,this.entityParser=_,this.mode=y,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var g=this.peek();if(g==="<"&&!this.isIgnoredEndTag())this.transitionTo("tagOpen"),this.markTagStart(),this.consume();else{if(this.mode==="precompile"&&g===` -`){var L=this.tagNameBuffer.toLowerCase();(L==="pre"||L==="textarea")&&this.consume()}this.transitionTo("data"),this.delegate.beginData()}},data:function(){var g=this.peek(),L=this.tagNameBuffer;g==="<"&&!this.isIgnoredEndTag()?(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume()):g==="&"&&L!=="script"&&L!=="style"?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(g))},tagOpen:function(){var g=this.consume();g==="!"?this.transitionTo("markupDeclarationOpen"):g==="/"?this.transitionTo("endTagOpen"):(g==="@"||g===":"||u(g))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(g))},markupDeclarationOpen:function(){var g=this.consume();if(g==="-"&&this.peek()==="-")this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment();else{var L=g.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase();L==="DOCTYPE"&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())}},doctype:function(){var g=this.consume();s(g)&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var g=this.consume();s(g)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(g.toLowerCase()))},doctypeName:function(){var g=this.consume();s(g)?this.transitionTo("afterDoctypeName"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(g.toLowerCase())},afterDoctypeName:function(){var g=this.consume();if(!s(g))if(g===">")this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var L=g.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),j=L.toUpperCase()==="PUBLIC",x=L.toUpperCase()==="SYSTEM";(j||x)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),j?this.transitionTo("afterDoctypePublicKeyword"):x&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var g=this.peek();s(g)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):g==='"'?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):g==="'"?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):g===">"&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var g=this.consume();g==='"'?this.transitionTo("afterDoctypePublicIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(g)},doctypePublicIdentifierSingleQuoted:function(){var g=this.consume();g==="'"?this.transitionTo("afterDoctypePublicIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(g)},afterDoctypePublicIdentifier:function(){var g=this.consume();s(g)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):g==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):g==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var g=this.consume();s(g)||(g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):g==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):g==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var g=this.consume();g==='"'?this.transitionTo("afterDoctypeSystemIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(g)},doctypeSystemIdentifierSingleQuoted:function(){var g=this.consume();g==="'"?this.transitionTo("afterDoctypeSystemIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(g)},afterDoctypeSystemIdentifier:function(){var g=this.consume();s(g)||g===">"&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var g=this.consume();g==="-"?this.transitionTo("commentStartDash"):g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(g),this.transitionTo("comment"))},commentStartDash:function(){var g=this.consume();g==="-"?this.transitionTo("commentEnd"):g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var g=this.consume();g==="-"?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(g)},commentEndDash:function(){var g=this.consume();g==="-"?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+g),this.transitionTo("comment"))},commentEnd:function(){var g=this.consume();g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+g),this.transitionTo("comment"))},tagName:function(){var g=this.consume();s(g)?this.transitionTo("beforeAttributeName"):g==="/"?this.transitionTo("selfClosingStartTag"):g===">"?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(g)},endTagName:function(){var g=this.consume();s(g)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):g==="/"?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):g===">"?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(g)},beforeAttributeName:function(){var g=this.peek();if(s(g)){this.consume();return}else g==="/"?(this.transitionTo("selfClosingStartTag"),this.consume()):g===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):g==="="?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(g)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var g=this.peek();s(g)?(this.transitionTo("afterAttributeName"),this.consume()):g==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="="?(this.transitionTo("beforeAttributeValue"),this.consume()):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):g==='"'||g==="'"||g==="<"?(this.delegate.reportSyntaxError(g+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(g)):(this.consume(),this.delegate.appendToAttributeName(g))},afterAttributeName:function(){var g=this.peek();if(s(g)){this.consume();return}else g==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="="?(this.consume(),this.transitionTo("beforeAttributeValue")):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(g))},beforeAttributeValue:function(){var g=this.peek();s(g)?this.consume():g==='"'?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):g==="'"?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(g))},attributeValueDoubleQuoted:function(){var g=this.consume();g==='"'?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):g==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(g)},attributeValueSingleQuoted:function(){var g=this.consume();g==="'"?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):g==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(g)},attributeValueUnquoted:function(){var g=this.peek();s(g)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):g==="/"?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="&"?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):g===">"?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(g))},afterAttributeValueQuoted:function(){var g=this.peek();s(g)?(this.consume(),this.transitionTo("beforeAttributeName")):g==="/"?(this.consume(),this.transitionTo("selfClosingStartTag")):g===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){var g=this.peek();g===">"?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var g=this.consume();(g==="@"||g===":"||u(g))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(g))}},this.reset()}return E.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},E.prototype.transitionTo=function(v){this.state=v},E.prototype.tokenize=function(v){this.reset(),this.tokenizePart(v),this.tokenizeEOF()},E.prototype.tokenizePart=function(v){for(this.input+=i(v);this.index"||v==="style"&&this.input.substring(this.index,this.index+8)!==""||v==="script"&&this.input.substring(this.index,this.index+9)!=="<\/script>"},E}(),b=function(){function E(v,_){_===void 0&&(_={}),this.options=_,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new l(this,v,_.mode),this._currentAttribute=void 0}return E.prototype.tokenize=function(v){return this.tokens=[],this.tokenizer.tokenize(v),this.tokens},E.prototype.tokenizePart=function(v){return this.tokens=[],this.tokenizer.tokenizePart(v),this.tokens},E.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},E.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},E.prototype.current=function(){var v=this.token;if(v===null)throw new Error("token was unexpectedly null");if(arguments.length===0)return v;for(var _=0;_1&&arguments[1]!==void 0?arguments[1]:{entityEncoding:"transformed"};return c?new f.default(o).print(c):""}}}),he=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/syntax-error.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.generateSyntaxError=f;function f(h,d){let{module:c,loc:o}=d,{line:e,column:r}=o.start,a=d.asString(),p=a?` - -| -| ${a.split(` -`).join(` -| `)} -| - -`:"",n=new Error(`${h}: ${p}(error occurred in '${c}' @ line ${e} : column ${r})`);return n.name="SyntaxError",n.location=d,n.code=a,n}}}),Rt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/visitor-keys.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=X(),h={Program:(0,f.tuple)("body"),Template:(0,f.tuple)("body"),Block:(0,f.tuple)("body"),MustacheStatement:(0,f.tuple)("path","params","hash"),BlockStatement:(0,f.tuple)("path","params","hash","program","inverse"),ElementModifierStatement:(0,f.tuple)("path","params","hash"),PartialStatement:(0,f.tuple)("name","params","hash"),CommentStatement:(0,f.tuple)(),MustacheCommentStatement:(0,f.tuple)(),ElementNode:(0,f.tuple)("attributes","modifiers","children","comments"),AttrNode:(0,f.tuple)("value"),TextNode:(0,f.tuple)(),ConcatStatement:(0,f.tuple)("parts"),SubExpression:(0,f.tuple)("path","params","hash"),PathExpression:(0,f.tuple)(),PathHead:(0,f.tuple)(),StringLiteral:(0,f.tuple)(),BooleanLiteral:(0,f.tuple)(),NumberLiteral:(0,f.tuple)(),NullLiteral:(0,f.tuple)(),UndefinedLiteral:(0,f.tuple)(),Hash:(0,f.tuple)("pairs"),HashPair:(0,f.tuple)("value"),NamedBlock:(0,f.tuple)("attributes","modifiers","children","comments"),SimpleElement:(0,f.tuple)("attributes","modifiers","children","comments"),Component:(0,f.tuple)("head","attributes","modifiers","children","comments")},d=h;t.default=d}}),Ye=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/errors.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.cannotRemoveNode=d,t.cannotReplaceNode=c,t.cannotReplaceOrRemoveInKeyHandlerYet=o,t.default=void 0;var f=function(){e.prototype=Object.create(Error.prototype),e.prototype.constructor=e;function e(r,a,p,n){let s=Error.call(this,r);this.key=n,this.message=r,this.node=a,this.parent=p,this.stack=s.stack}return e}(),h=f;t.default=h;function d(e,r,a){return new f("Cannot remove a node unless it is part of an array",e,r,a)}function c(e,r,a){return new f("Cannot replace a node with multiple nodes unless it is part of an array",e,r,a)}function o(e,r){return new f("Replacing and removing in key handlers is not yet supported.",e,null,r)}}}),Qe=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/path.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=class{constructor(d){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.node=d,this.parent=c,this.parentKey=o}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new h(this)}}};t.default=f;var h=class{constructor(d){this.path=d}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}}}),Ne=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/traverse.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=E;var f=X(),h=o(Rt()),d=Ye(),c=o(Qe());function o(v){return v&&v.__esModule?v:{default:v}}function e(v){return typeof v=="function"?v:v.enter}function r(v){if(typeof v!="function")return v.exit}function a(v,_){let y=typeof v!="function"?v.keys:void 0;if(y===void 0)return;let g=y[_];return g!==void 0?g:y.All}function p(v,_){if((_==="Template"||_==="Block")&&v.Program)return v.Program;let y=v[_];return y!==void 0?y:v.All}function n(v,_){let{node:y,parent:g,parentKey:L}=_,j=p(v,y.type),x,w;j!==void 0&&(x=e(j),w=r(j));let H;if(x!==void 0&&(H=x(y,_)),H!=null)if(JSON.stringify(y)===JSON.stringify(H))H=void 0;else{if(Array.isArray(H))return l(v,H,g,L),H;{let m=new c.default(H,g,L);return n(v,m)||H}}if(H===void 0){let m=h.default[y.type];for(let C=0;C@\[-\^`\{-~]/;function d(s){let u=c(s);u&&(s.blockParams=u)}function c(s){let u=s.attributes.length,i=[];for(let b=0;b0&&i[i.length-1].charAt(0)==="|")throw(0,f.generateSyntaxError)("Block parameters must be preceded by the `as` keyword, detected block parameters without `as`",s.loc);if(l!==-1&&u>l&&i[l+1].charAt(0)==="|"){let b=i.slice(l).join(" ");if(b.charAt(b.length-1)!=="|"||b.match(/\|/g).length!==2)throw(0,f.generateSyntaxError)("Invalid block parameters syntax, '"+b+"'",s.loc);let P=[];for(let E=l+1;E1&&arguments[1]!==void 0?arguments[1]:new h.EntityParser(h.HTML5NamedCharRefs),e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"precompile";this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=c,this.lines=c.source.split(/(?:\r\n?|\n)/g),this.tokenizer=new h.EventedTokenizer(this,o,e)}offset(){let{line:c,column:o}=this.tokenizer;return this.source.offsetFor(c,o)}pos(c){let{line:o,column:e}=c;return this.source.offsetFor(o,e)}finish(c){return(0,f.assign)({},c,{loc:c.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(c){return this[c.type](c)}acceptNode(c){return this[c.type](c)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(c,o){let e=c.loc.start.line-1,r=e-1,a=c.loc.start.column,p=[],n,s,u;for(o?(s=o.loc.end.line-1,u=o.loc.end.column):(s=c.loc.end.line-1,u=c.loc.end.column);ri.acceptNode(_)):[],E=P.length>0?P[P.length-1].loc:b.loc,v=l.hash?i.Hash(l.hash):{type:"Hash",pairs:[],loc:i.source.spanFor(E).collapse("end")};return{path:b,params:P,hash:v}}function u(i,l){let{path:b,params:P,hash:E,loc:v}=l;if((0,c.isHBSLiteral)(b)){let y=`{{${(0,c.printLiteral)(b)}}}`,g=`<${i.name} ... ${y} ...`;throw(0,d.generateSyntaxError)(`In ${g}, ${y} is not a valid modifier`,l.loc)}let _=e.default.elementModifier({path:b,params:P,hash:E,loc:v});i.modifiers.push(_)}}}),Fe=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/parser/tokenizer-event-handlers.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.preprocess=_,t.TokenizerEventHandlers=void 0;var f=X(),h=It(),d=Ke(),c=b(We()),o=Te(),e=De(),r=ue(),a=he(),p=b(Ne()),n=b(Je()),s=ye(),u=b(Le()),i=b(ke()),l=xt();function b(y){return y&&y.__esModule?y:{default:y}}var P=class extends l.HandlebarsNodeVisitors{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=u.default.comment("",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(y){this.currentComment.value+=y}finishComment(){(0,s.appendChild)(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=u.default.text({chars:"",loc:this.offset().collapsed()})}appendToData(y){this.currentData.chars+=y}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),(0,s.appendChild)(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let y=this.finish(this.currentTag);if(y.type==="StartTag"){if(this.finishStartTag(),y.name===":")throw(0,a.generateSyntaxError)("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(o.voidMap[y.name]||y.selfClosing)&&this.finishEndTag(!0)}else y.type==="EndTag"&&this.finishEndTag(!1)}finishStartTag(){let{name:y,attributes:g,modifiers:L,comments:j,selfClosing:x,loc:w}=this.finish(this.currentStartTag),H=u.default.element({tag:y,selfClosing:x,attrs:g,modifiers:L,comments:j,children:[],blockParams:[],loc:w});this.elementStack.push(H)}finishEndTag(y){let g=this.finish(this.currentTag),L=this.elementStack.pop(),j=this.currentElement();this.validateEndTag(g,L,y),L.loc=L.loc.withEnd(this.offset()),(0,s.parseElementBlockParams)(L),(0,s.appendChild)(j,L)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(y){this.currentTag.name+=y}beginAttribute(){let y=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:y,valueSpan:y.collapsed()}}appendToAttributeName(y){this.currentAttr.name+=y}beginAttributeValue(y){this.currentAttr.isQuoted=y,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(y){let g=this.currentAttr.parts,L=g[g.length-1],j=this.currentAttr.currentPart;if(j)j.chars+=y,j.loc=j.loc.withEnd(this.offset());else{let x=this.offset();y===` -`?x=L?L.loc.getEnd():this.currentAttr.valueSpan.getStart():x=x.move(-1),this.currentAttr.currentPart=u.default.text({chars:y,loc:x.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let y=this.currentTag,g=this.offset();if(y.type==="EndTag")throw(0,a.generateSyntaxError)("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:y.loc.toJSON(),end:g.toJSON()}));let{name:L,parts:j,start:x,isQuoted:w,isDynamic:H,valueSpan:m}=this.currentAttr,C=this.assembleAttributeValue(j,w,H,x.until(g));C.loc=m.withEnd(g);let S=u.default.attr({name:L,value:C,loc:x.until(g)});this.currentStartTag.attributes.push(S)}reportSyntaxError(y){throw(0,a.generateSyntaxError)(y,this.offset().collapsed())}assembleConcatenatedValue(y){for(let j=0;j elements do not need end tags. You should remove it`:g.tag===void 0?j=`Closing tag without an open tag`:g.tag!==y.name&&(j=`Closing tag did not match last open tag <${g.tag}> (on line ${g.loc.startPosition.line})`),j)throw(0,a.generateSyntaxError)(j,y.loc)}assembleAttributeValue(y,g,L,j){if(L){if(g)return this.assembleConcatenatedValue(y);if(y.length===1||y.length===2&&y[1].type==="TextNode"&&y[1].chars==="/")return y[0];throw(0,a.generateSyntaxError)("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",j)}else return y.length>0?y[0]:u.default.text({chars:"",loc:j})}};t.TokenizerEventHandlers=P;var E={parse:_,builders:i.default,print:c.default,traverse:p.default,Walker:n.default},v=class extends d.EntityParser{constructor(){super({})}parse(){}};function _(y){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var L,j,x;let w=g.mode||"precompile",H,m;typeof y=="string"?(H=new e.Source(y,(L=g.meta)===null||L===void 0?void 0:L.moduleName),w==="codemod"?m=(0,h.parseWithoutProcessing)(y,g.parseOptions):m=(0,h.parse)(y,g.parseOptions)):y instanceof e.Source?(H=y,w==="codemod"?m=(0,h.parseWithoutProcessing)(y.source,g.parseOptions):m=(0,h.parse)(y.source,g.parseOptions)):(H=new e.Source("",(j=g.meta)===null||j===void 0?void 0:j.moduleName),m=y);let C;w==="codemod"&&(C=new v);let S=r.SourceSpan.forCharPositions(H,0,H.source.length);m.loc={source:"(program)",start:S.startPosition,end:S.endPosition};let R=new P(H,C,w).acceptTemplate(m);if(g.strictMode&&(R.blockParams=(x=g.locals)!==null&&x!==void 0?x:[]),g&&g.plugins&&g.plugins.ast)for(let M=0,V=g.plugins.ast.length;Mthis.allocate(a));return new o(this,e,r)}};t.SymbolTable=d;var c=class extends d{constructor(e,r){super(),this.templateLocals=e,this.customizeComponentName=r,this.symbols=[],this.upvars=[],this.size=1,this.named=(0,f.dict)(),this.blocks=(0,f.dict)(),this.usedTemplateLocals=[],this._hasEval=!1}getUsedTemplateLocals(){return this.usedTemplateLocals}setHasEval(){this._hasEval=!0}get hasEval(){return this._hasEval}has(e){return this.templateLocals.indexOf(e)!==-1}get(e){let r=this.usedTemplateLocals.indexOf(e);return r!==-1?[r,!0]:(r=this.usedTemplateLocals.length,this.usedTemplateLocals.push(e),[r,!0])}getLocalsMap(){return(0,f.dict)()}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map(r=>e[r])}allocateFree(e,r){r.resolution()===39&&r.isAngleBracket&&(0,h.isUpperCase)(e)&&(e=this.customizeComponentName(e));let a=this.upvars.indexOf(e);return a!==-1||(a=this.upvars.length,this.upvars.push(e)),a}allocateNamed(e){let r=this.named[e];return r||(r=this.named[e]=this.allocate(e)),r}allocateBlock(e){e==="inverse"&&(e="else");let r=this.blocks[e];return r||(r=this.blocks[e]=this.allocate(`&${e}`)),r}allocate(e){return this.symbols.push(e),this.size++}};t.ProgramSymbolTable=c;var o=class extends d{constructor(e,r,a){super(),this.parent=e,this.symbols=r,this.slots=a}get locals(){return this.symbols}has(e){return this.symbols.indexOf(e)!==-1||this.parent.has(e)}get(e){let r=this.symbols.indexOf(e);return r===-1?this.parent.get(e):[this.slots[r],!1]}getLocalsMap(){let e=this.parent.getLocalsMap();return this.symbols.forEach(r=>e[r]=this.get(r)[0]),e}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map(r=>e[r])}setHasEval(){this.parent.setHasEval()}allocateFree(e,r){return this.parent.allocateFree(e,r)}allocateNamed(e){return this.parent.allocateNamed(e)}allocateBlock(e){return this.parent.allocateBlock(e)}allocate(e){return this.parent.allocate(e)}};t.BlockSymbolTable=o}}),jt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/builders.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.BuildElement=t.Builder=void 0;var f=X(),h=le(),d=ce(),c=e(ve());function o(){if(typeof WeakMap!="function")return null;var n=new WeakMap;return o=function(){return n},n}function e(n){if(n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var s=o();if(s&&s.has(n))return s.get(n);var u={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if(Object.prototype.hasOwnProperty.call(n,l)){var b=i?Object.getOwnPropertyDescriptor(n,l):null;b&&(b.get||b.set)?Object.defineProperty(u,l,b):u[l]=n[l]}return u.default=n,s&&s.set(n,u),u}var r=function(n,s){var u={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&s.indexOf(i)<0&&(u[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,i=Object.getOwnPropertySymbols(n);l0||i.hash.pairs.length>0}}}),Ht=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/normalize.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=P,t.BlockContext=void 0;var f=X(),h=b(Te()),d=Fe(),c=le(),o=ce(),e=Xe(),r=he(),a=ye(),p=b(Le()),n=l(ve()),s=jt(),u=Mt();function i(){if(typeof WeakMap!="function")return null;var m=new WeakMap;return i=function(){return m},m}function l(m){if(m&&m.__esModule)return m;if(m===null||typeof m!="object"&&typeof m!="function")return{default:m};var C=i();if(C&&C.has(m))return C.get(m);var S={},R=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var M in m)if(Object.prototype.hasOwnProperty.call(m,M)){var V=R?Object.getOwnPropertyDescriptor(m,M):null;V&&(V.get||V.set)?Object.defineProperty(S,M,V):S[M]=m[M]}return S.default=m,C&&C.set(m,S),S}function b(m){return m&&m.__esModule?m:{default:m}}function P(m){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var S;let R=(0,d.preprocess)(m,C),M=(0,f.assign)({strictMode:!1,locals:[]},C),V=e.SymbolTable.top(M.locals,(S=C.customizeComponentName)!==null&&S!==void 0?S:W=>W),G=new E(m,M,V),K=new _(G),U=new L(G.loc(R.loc),R.body.map(W=>K.normalize(W)),G).assertTemplate(V),Z=V.getUsedTemplateLocals();return[U,Z]}var E=class{constructor(m,C,S){this.source=m,this.options=C,this.table=S,this.builder=new s.Builder}get strict(){return this.options.strictMode||!1}loc(m){return this.source.spanFor(m)}resolutionFor(m,C){if(this.strict)return{resolution:n.STRICT_RESOLUTION};if(this.isFreeVar(m)){let S=C(m);return S===null?{resolution:"error",path:w(m),head:H(m)}:{resolution:S}}else return{resolution:n.STRICT_RESOLUTION}}isFreeVar(m){return m.type==="PathExpression"?m.head.type!=="VarHead"?!1:!this.table.has(m.head.name):m.path.type==="PathExpression"?this.isFreeVar(m.path):!1}hasBinding(m){return this.table.has(m)}child(m){return new E(this.source,this.options,this.table.child(m))}customizeComponentName(m){return this.options.customizeComponentName?this.options.customizeComponentName(m):m}};t.BlockContext=E;var v=class{constructor(m){this.block=m}normalize(m,C){switch(m.type){case"NullLiteral":case"BooleanLiteral":case"NumberLiteral":case"StringLiteral":case"UndefinedLiteral":return this.block.builder.literal(m.value,this.block.loc(m.loc));case"PathExpression":return this.path(m,C);case"SubExpression":{let S=this.block.resolutionFor(m,u.SexpSyntaxContext);if(S.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`${S.path}\`) but ${S.head} was not in scope`,m.loc);return this.block.builder.sexp(this.callParts(m,S.resolution),this.block.loc(m.loc))}}}path(m,C){let S=this.block.loc(m.head.loc),R=[],M=S;for(let V of m.tail)M=M.sliceStartChars({chars:V.length,skipStart:1}),R.push(new c.SourceSlice({loc:M,chars:V}));return this.block.builder.path(this.ref(m.head,C),R,this.block.loc(m.loc))}callParts(m,C){let{path:S,params:R,hash:M}=m,V=this.normalize(S,C),G=R.map(N=>this.normalize(N,n.ARGUMENT_RESOLUTION)),K=o.SpanList.range(G,V.loc.collapse("end")),U=this.block.loc(M.loc),Z=o.SpanList.range([K,U]),W=this.block.builder.positional(R.map(N=>this.normalize(N,n.ARGUMENT_RESOLUTION)),K),T=this.block.builder.named(M.pairs.map(N=>this.namedArgument(N)),this.block.loc(M.loc));return{callee:V,args:this.block.builder.args(W,T,Z)}}namedArgument(m){let S=this.block.loc(m.loc).sliceStartChars({chars:m.key.length});return this.block.builder.namedArgument(new c.SourceSlice({chars:m.key,loc:S}),this.normalize(m.value,n.ARGUMENT_RESOLUTION))}ref(m,C){let{block:S}=this,{builder:R,table:M}=S,V=S.loc(m.loc);switch(m.type){case"ThisHead":return R.self(V);case"AtHead":{let G=M.allocateNamed(m.name);return R.at(m.name,G,V)}case"VarHead":if(S.hasBinding(m.name)){let[G,K]=M.get(m.name);return S.builder.localVar(m.name,G,K,V)}else{let G=S.strict?n.STRICT_RESOLUTION:C,K=S.table.allocateFree(m.name,G);return S.builder.freeVar({name:m.name,context:G,symbol:K,loc:V})}}}},_=class{constructor(m){this.block=m}normalize(m){switch(m.type){case"PartialStatement":throw new Error("Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer");case"BlockStatement":return this.BlockStatement(m);case"ElementNode":return new y(this.block).ElementNode(m);case"MustacheStatement":return this.MustacheStatement(m);case"MustacheCommentStatement":return this.MustacheCommentStatement(m);case"CommentStatement":{let C=this.block.loc(m.loc);return new n.HtmlComment({loc:C,text:C.slice({skipStart:4,skipEnd:3}).toSlice(m.value)})}case"TextNode":return new n.HtmlText({loc:this.block.loc(m.loc),chars:m.chars})}}MustacheCommentStatement(m){let C=this.block.loc(m.loc),S;return C.asString().slice(0,5)==="{{!--"?S=C.slice({skipStart:5,skipEnd:4}):S=C.slice({skipStart:3,skipEnd:2}),new n.GlimmerComment({loc:C,text:S.toSlice(m.value)})}MustacheStatement(m){let{escaped:C}=m,S=this.block.loc(m.loc),R=this.expr.callParts({path:m.path,params:m.params,hash:m.hash},(0,u.AppendSyntaxContext)(m)),M=R.args.isEmpty()?R.callee:this.block.builder.sexp(R,S);return this.block.builder.append({table:this.block.table,trusting:!C,value:M},S)}BlockStatement(m){let{program:C,inverse:S}=m,R=this.block.loc(m.loc),M=this.block.resolutionFor(m,u.BlockSyntaxContext);if(M.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`{{#${M.path}}}\`) but ${M.head} was not in scope`,R);let V=this.expr.callParts(m,M.resolution);return this.block.builder.blockStatement((0,f.assign)({symbols:this.block.table,program:this.Block(C),inverse:S?this.Block(S):null},V),R)}Block(m){let{body:C,loc:S,blockParams:R}=m,M=this.block.child(R),V=new _(M);return new j(this.block.loc(S),C.map(G=>V.normalize(G)),this.block).assertBlock(M.table)}get expr(){return new v(this.block)}},y=class{constructor(m){this.ctx=m}ElementNode(m){let{tag:C,selfClosing:S,comments:R}=m,M=this.ctx.loc(m.loc),[V,...G]=C.split("."),K=this.classifyTag(V,G,m.loc),U=m.attributes.filter(A=>A.name[0]!=="@").map(A=>this.attr(A)),Z=m.attributes.filter(A=>A.name[0]==="@").map(A=>this.arg(A)),W=m.modifiers.map(A=>this.modifier(A)),T=this.ctx.child(m.blockParams),N=new _(T),k=m.children.map(A=>N.normalize(A)),B=this.ctx.builder.element({selfClosing:S,attrs:U,componentArgs:Z,modifiers:W,comments:R.map(A=>new _(this.ctx).MustacheCommentStatement(A))}),O=new x(B,M,k,this.ctx),z=this.ctx.loc(m.loc).sliceStartChars({chars:C.length,skipStart:1});if(K==="ElementHead")return C[0]===":"?O.assertNamedBlock(z.slice({skipStart:1}).toSlice(C.slice(1)),T.table):O.assertElement(z.toSlice(C),m.blockParams.length>0);if(m.selfClosing)return B.selfClosingComponent(K,M);{let A=O.assertComponent(C,T.table,m.blockParams.length>0);return B.componentWithNamedBlocks(K,A,M)}}modifier(m){let C=this.ctx.resolutionFor(m,u.ModifierSyntaxContext);if(C.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`{{#${C.path}}}\`) as a modifier, but ${C.head} was not in scope. Try adding \`this\` to the beginning of the path`,m.loc);let S=this.expr.callParts(m,C.resolution);return this.ctx.builder.modifier(S,this.ctx.loc(m.loc))}mustacheAttr(m){let C=this.ctx.builder.sexp(this.expr.callParts(m,(0,u.AttrValueSyntaxContext)(m)),this.ctx.loc(m.loc));return C.args.isEmpty()?C.callee:C}attrPart(m){switch(m.type){case"MustacheStatement":return{expr:this.mustacheAttr(m),trusting:!m.escaped};case"TextNode":return{expr:this.ctx.builder.literal(m.chars,this.ctx.loc(m.loc)),trusting:!0}}}attrValue(m){switch(m.type){case"ConcatStatement":{let C=m.parts.map(S=>this.attrPart(S).expr);return{expr:this.ctx.builder.interpolate(C,this.ctx.loc(m.loc)),trusting:!1}}default:return this.attrPart(m)}}attr(m){if(m.name==="...attributes")return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock("attrs"),this.ctx.loc(m.loc));let C=this.ctx.loc(m.loc),S=C.sliceStartChars({chars:m.name.length}).toSlice(m.name),R=this.attrValue(m.value);return this.ctx.builder.attr({name:S,value:R.expr,trusting:R.trusting},C)}maybeDeprecatedCall(m,C){if(this.ctx.strict||C.type!=="MustacheStatement")return null;let{path:S}=C;if(S.type!=="PathExpression"||S.head.type!=="VarHead")return null;let{name:R}=S.head;if(R==="has-block"||R==="has-block-params"||this.ctx.hasBinding(R)||S.tail.length!==0||C.params.length!==0||C.hash.pairs.length!==0)return null;let M=n.LooseModeResolution.attr(),V=this.ctx.builder.freeVar({name:R,context:M,symbol:this.ctx.table.allocateFree(R,M),loc:S.loc});return{expr:this.ctx.builder.deprecatedCall(m,V,C.loc),trusting:!1}}arg(m){let C=this.ctx.loc(m.loc),S=C.sliceStartChars({chars:m.name.length}).toSlice(m.name),R=this.maybeDeprecatedCall(S,m.value)||this.attrValue(m.value);return this.ctx.builder.arg({name:S,value:R.expr,trusting:R.trusting},C)}classifyTag(m,C,S){let R=(0,a.isUpperCase)(m),M=m[0]==="@"||m==="this"||this.ctx.hasBinding(m);if(this.ctx.strict&&!M){if(R)throw(0,r.generateSyntaxError)(`Attempted to invoke a component that was not in scope in a strict mode template, \`<${m}>\`. If you wanted to create an element with that name, convert it to lowercase - \`<${m.toLowerCase()}>\``,S);return"ElementHead"}let V=M||R,G=S.sliceStartChars({skipStart:1,chars:m.length}),K=C.reduce((W,T)=>W+1+T.length,0),U=G.getEnd().move(K),Z=G.withEnd(U);if(V){let W=p.default.path({head:p.default.head(m,G),tail:C,loc:Z}),T=this.ctx.resolutionFor(W,u.ComponentSyntaxContext);if(T.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`<${T.path}>\`) but ${T.head} was not in scope`,S);return new v(this.ctx).normalize(W,T.resolution)}if(C.length>0)throw(0,r.generateSyntaxError)(`You used ${m}.${C.join(".")} as a tag name, but ${m} is not in scope`,S);return"ElementHead"}get expr(){return new v(this.ctx)}},g=class{constructor(m,C,S){this.loc=m,this.children=C,this.block=S,this.namedBlocks=C.filter(R=>R instanceof n.NamedBlock),this.hasSemanticContent=Boolean(C.filter(R=>{if(R instanceof n.NamedBlock)return!1;switch(R.type){case"GlimmerComment":case"HtmlComment":return!1;case"HtmlText":return!/^\s*$/.exec(R.chars);default:return!0}}).length),this.nonBlockChildren=C.filter(R=>!(R instanceof n.NamedBlock))}},L=class extends g{assertTemplate(m){if((0,f.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)("Unexpected named block at the top-level of a template",this.loc);return this.block.builder.template(m,this.nonBlockChildren,this.block.loc(this.loc))}},j=class extends g{assertBlock(m){if((0,f.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)("Unexpected named block nested in a normal block",this.loc);return this.block.builder.block(m,this.nonBlockChildren,this.loc)}},x=class extends g{constructor(m,C,S,R){super(C,S,R),this.el=m}assertNamedBlock(m,C){if(this.el.base.selfClosing)throw(0,r.generateSyntaxError)(`<:${m.chars}/> is not a valid named block: named blocks cannot be self-closing`,this.loc);if((0,f.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)(`Unexpected named block inside <:${m.chars}> named block: named blocks cannot contain nested named blocks`,this.loc);if(!(0,a.isLowerCase)(m.chars))throw(0,r.generateSyntaxError)(`<:${m.chars}> is not a valid named block, and named blocks must begin with a lowercase letter`,this.loc);if(this.el.base.attrs.length>0||this.el.base.componentArgs.length>0||this.el.base.modifiers.length>0)throw(0,r.generateSyntaxError)(`named block <:${m.chars}> cannot have attributes, arguments, or modifiers`,this.loc);let S=o.SpanList.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(m,this.block.builder.block(C,this.nonBlockChildren,S),this.loc)}assertElement(m,C){if(C)throw(0,r.generateSyntaxError)(`Unexpected block params in <${m}>: simple elements cannot have block params`,this.loc);if((0,f.isPresent)(this.namedBlocks)){let S=this.namedBlocks.map(R=>R.name);if(S.length===1)throw(0,r.generateSyntaxError)(`Unexpected named block <:foo> inside <${m.chars}> HTML element`,this.loc);{let R=S.map(M=>`<:${M.chars}>`).join(", ");throw(0,r.generateSyntaxError)(`Unexpected named blocks inside <${m.chars}> HTML element (${R})`,this.loc)}}return this.el.simple(m,this.nonBlockChildren,this.loc)}assertComponent(m,C,S){if((0,f.isPresent)(this.namedBlocks)&&this.hasSemanticContent)throw(0,r.generateSyntaxError)(`Unexpected content inside <${m}> component invocation: when using named blocks, the tag cannot contain other content`,this.loc);if((0,f.isPresent)(this.namedBlocks)){if(S)throw(0,r.generateSyntaxError)(`Unexpected block params list on <${m}> component invocation: when passing named blocks, the invocation tag cannot take block params`,this.loc);let R=new Set;for(let M of this.namedBlocks){let V=M.name.chars;if(R.has(V))throw(0,r.generateSyntaxError)(`Component had two named blocks with the same name, \`<:${V}>\`. Only one block with a given name may be passed`,this.loc);if(V==="inverse"&&R.has("else")||V==="else"&&R.has("inverse"))throw(0,r.generateSyntaxError)("Component has both <:else> and <:inverse> block. <:inverse> is an alias for <:else>",this.loc);R.add(V)}return this.namedBlocks}else return[this.block.builder.namedBlock(c.SourceSlice.synthetic("default"),this.block.builder.block(C,this.nonBlockChildren,this.loc),this.loc)]}};function w(m){return m.type!=="PathExpression"&&m.path.type==="PathExpression"?w(m.path):new h.default({entityEncoding:"raw"}).print(m)}function H(m){if(m.type==="PathExpression")switch(m.head.type){case"AtHead":case"VarHead":return m.head.name;case"ThisHead":return"this"}else return m.path.type==="PathExpression"?H(m.path):new h.default({entityEncoding:"raw"}).print(m)}}}),Ze=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/keywords.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=f,t.KEYWORDS_TYPES=void 0;function f(d){return d in h}var h={component:["Call","Append","Block"],debugger:["Append"],"each-in":["Block"],each:["Block"],"has-block-params":["Call","Append"],"has-block":["Call","Append"],helper:["Call","Append"],if:["Call","Append","Block"],"in-element":["Block"],let:["Block"],"link-to":["Append","Block"],log:["Call","Append"],modifier:["Call"],mount:["Append"],mut:["Call","Append"],outlet:["Append"],"query-params":["Call"],readonly:["Call","Append"],unbound:["Call","Append"],unless:["Call","Append","Block"],with:["Block"],yield:["Append"]};t.KEYWORDS_TYPES=h}}),Vt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/get-template-locals.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.getTemplateLocals=r;var f=Ze(),h=Fe(),d=c(Ne());function c(a){return a&&a.__esModule?a:{default:a}}function o(a,p,n){if(a.type==="PathExpression"){if(a.head.type==="AtHead"||a.head.type==="ThisHead")return;let s=a.head.name;if(p.indexOf(s)===-1)return s}else if(a.type==="ElementNode"){let{tag:s}=a,u=s.charAt(0);return u===":"||u==="@"||!n.includeHtmlElements&&s.indexOf(".")===-1&&s.toLowerCase()===s||s.substr(0,5)==="this."||p.indexOf(s)!==-1?void 0:s}}function e(a,p,n,s){let u=o(p,n,s);(Array.isArray(u)?u:[u]).forEach(i=>{i!==void 0&&i[0]!=="@"&&a.add(i.split(".")[0])})}function r(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{includeHtmlElements:!1,includeKeywords:!1},n=(0,h.preprocess)(a),s=new Set,u=[];(0,d.default)(n,{Block:{enter(l){let{blockParams:b}=l;b.forEach(P=>{u.push(P)})},exit(l){let{blockParams:b}=l;b.forEach(()=>{u.pop()})}},ElementNode:{enter(l){l.blockParams.forEach(b=>{u.push(b)}),e(s,l,u,p)},exit(l){let{blockParams:b}=l;b.forEach(()=>{u.pop()})}},PathExpression(l){e(s,l,u,p)}});let i=[];return s.forEach(l=>i.push(l)),p!=null&&p.includeKeywords||(i=i.filter(l=>!(0,f.isKeyword)(l))),i}}}),Ut=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/index.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Source",{enumerable:!0,get:function(){return f.Source}}),Object.defineProperty(t,"builders",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"normalize",{enumerable:!0,get:function(){return o.normalize}}),Object.defineProperty(t,"SymbolTable",{enumerable:!0,get:function(){return e.SymbolTable}}),Object.defineProperty(t,"BlockSymbolTable",{enumerable:!0,get:function(){return e.BlockSymbolTable}}),Object.defineProperty(t,"ProgramSymbolTable",{enumerable:!0,get:function(){return e.ProgramSymbolTable}}),Object.defineProperty(t,"generateSyntaxError",{enumerable:!0,get:function(){return r.generateSyntaxError}}),Object.defineProperty(t,"preprocess",{enumerable:!0,get:function(){return a.preprocess}}),Object.defineProperty(t,"print",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"sortByLoc",{enumerable:!0,get:function(){return n.sortByLoc}}),Object.defineProperty(t,"Walker",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"Path",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"cannotRemoveNode",{enumerable:!0,get:function(){return i.cannotRemoveNode}}),Object.defineProperty(t,"cannotReplaceNode",{enumerable:!0,get:function(){return i.cannotReplaceNode}}),Object.defineProperty(t,"WalkerPath",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return b.isKeyword}}),Object.defineProperty(t,"KEYWORDS_TYPES",{enumerable:!0,get:function(){return b.KEYWORDS_TYPES}}),Object.defineProperty(t,"getTemplateLocals",{enumerable:!0,get:function(){return P.getTemplateLocals}}),Object.defineProperty(t,"SourceSlice",{enumerable:!0,get:function(){return E.SourceSlice}}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return v.SourceSpan}}),Object.defineProperty(t,"SpanList",{enumerable:!0,get:function(){return _.SpanList}}),Object.defineProperty(t,"maybeLoc",{enumerable:!0,get:function(){return _.maybeLoc}}),Object.defineProperty(t,"loc",{enumerable:!0,get:function(){return _.loc}}),Object.defineProperty(t,"hasSpan",{enumerable:!0,get:function(){return _.hasSpan}}),Object.defineProperty(t,"node",{enumerable:!0,get:function(){return y.node}}),t.ASTv2=t.AST=t.ASTv1=void 0;var f=De(),h=j(ke()),d=L(Ct());t.ASTv1=d,t.AST=d;var c=L(ve());t.ASTv2=c;var o=Ht(),e=Xe(),r=he(),a=Fe(),p=j(We()),n=Ue(),s=j(Je()),u=j(Ne()),i=Ye(),l=j(Qe()),b=Ze(),P=Vt(),E=le(),v=ue(),_=ce(),y=ne();function g(){if(typeof WeakMap!="function")return null;var x=new WeakMap;return g=function(){return x},x}function L(x){if(x&&x.__esModule)return x;if(x===null||typeof x!="object"&&typeof x!="function")return{default:x};var w=g();if(w&&w.has(x))return w.get(x);var H={},m=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var C in x)if(Object.prototype.hasOwnProperty.call(x,C)){var S=m?Object.getOwnPropertyDescriptor(x,C):null;S&&(S.get||S.set)?Object.defineProperty(H,C,S):H[C]=x[C]}return H.default=x,w&&w.set(x,H),H}function j(x){return x&&x.__esModule?x:{default:x}}}});F();var{LinesAndColumns:zt}=at(),Gt=ut(),{locStart:Kt,locEnd:Wt}=ot();function Yt(){return{name:"addBackslash",visitor:{All(t){var f;let h=(f=t.children)!==null&&f!==void 0?f:t.body;if(h)for(let d=0;d{let{line:c,column:o}=d;return f.indexForLocation({line:c-1,column:o})};return()=>({name:"addOffset",visitor:{All(d){let{start:c,end:o}=d.loc;c.offset=h(c),o.offset=h(o)}}})}function Jt(t){let{preprocess:f}=Ut(),h;try{h=f(t,{mode:"codemod",plugins:{ast:[Yt,Qt(t)]}})}catch(d){let c=Xt(d);throw c?Gt(d.message,c):d}return h}function Xt(t){let{location:f,hash:h}=t;if(f){let{start:d,end:c}=f;return typeof c.line!="number"?{start:d}:f}if(h){let{loc:{last_line:d,last_column:c}}=h;return{start:{line:d,column:c+1}}}}$e.exports={parsers:{glimmer:{parse:Jt,astFormat:"glimmer",locStart:Kt,locEnd:Wt}}}});return Zt();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-graphql.js b/node_modules/ts-poet/node_modules/prettier/parser-graphql.js deleted file mode 100644 index c64f682631..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-graphql.js +++ /dev/null @@ -1,15 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.graphql=e()}})(function(){"use strict";var oe=(a,d)=>()=>(d||a((d={exports:{}}).exports,d),d.exports);var be=oe((Ce,ae)=>{var H=Object.getOwnPropertyNames,se=(a,d)=>function(){return a&&(d=(0,a[H(a)[0]])(a=0)),d},L=(a,d)=>function(){return d||(0,a[H(a)[0]])((d={exports:{}}).exports,d),d.exports},K=se({""(){}}),ce=L({"src/common/parser-create-error.js"(a,d){"use strict";K();function i(c,r){let _=new SyntaxError(c+" ("+r.start.line+":"+r.start.column+")");return _.loc=r,_}d.exports=i}}),ue=L({"src/utils/try-combinations.js"(a,d){"use strict";K();function i(){let c;for(var r=arguments.length,_=new Array(r),E=0;E120){for(var t=Math.floor(s/80),u=s%80,y=[],f=0;f"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function e(f){return Function.toString.call(f).indexOf("[native code]")!==-1}function n(f,m){return n=Object.setPrototypeOf||function(h,l){return h.__proto__=l,h},n(f,m)}function t(f){return t=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)},t(f)}var u=function(f){N(o,f);var m=g(o);function o(h,l,T,S,x,b,M){var U,V,q,G,C;k(this,o),C=m.call(this,h);var R=Array.isArray(l)?l.length!==0?l:void 0:l?[l]:void 0,Y=T;if(!Y&&R){var J;Y=(J=R[0].loc)===null||J===void 0?void 0:J.source}var F=S;!F&&R&&(F=R.reduce(function(w,P){return P.loc&&w.push(P.loc.start),w},[])),F&&F.length===0&&(F=void 0);var B;S&&T?B=S.map(function(w){return(0,r.getLocation)(T,w)}):R&&(B=R.reduce(function(w,P){return P.loc&&w.push((0,r.getLocation)(P.loc.source,P.loc.start)),w},[]));var j=M;if(j==null&&b!=null){var Q=b.extensions;(0,i.default)(Q)&&(j=Q)}return Object.defineProperties(v(C),{name:{value:"GraphQLError"},message:{value:h,enumerable:!0,writable:!0},locations:{value:(U=B)!==null&&U!==void 0?U:void 0,enumerable:B!=null},path:{value:x!=null?x:void 0,enumerable:x!=null},nodes:{value:R!=null?R:void 0},source:{value:(V=Y)!==null&&V!==void 0?V:void 0},positions:{value:(q=F)!==null&&q!==void 0?q:void 0},originalError:{value:b},extensions:{value:(G=j)!==null&&G!==void 0?G:void 0,enumerable:j!=null}}),b!=null&&b.stack?(Object.defineProperty(v(C),"stack",{value:b.stack,writable:!0,configurable:!0}),D(C)):(Error.captureStackTrace?Error.captureStackTrace(v(C),o):Object.defineProperty(v(C),"stack",{value:Error().stack,writable:!0,configurable:!0}),C)}return A(o,[{key:"toString",value:function(){return y(this)}},{key:c.SYMBOL_TO_STRING_TAG,get:function(){return"Object"}}]),o}(I(Error));a.GraphQLError=u;function y(f){var m=f.message;if(f.nodes)for(var o=0,h=f.nodes;o",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});a.TokenKind=d}}),re=L({"node_modules/graphql/jsutils/inspect.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.default=E;var d=i(ee());function i(v){return v&&v.__esModule?v:{default:v}}function c(v){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?c=function(s){return typeof s}:c=function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},c(v)}var r=10,_=2;function E(v){return k(v,[])}function k(v,I){switch(c(v)){case"string":return JSON.stringify(v);case"function":return v.name?"[function ".concat(v.name,"]"):"[function]";case"object":return v===null?"null":O(v,I);default:return String(v)}}function O(v,I){if(I.indexOf(v)!==-1)return"[Circular]";var s=[].concat(I,[v]),p=g(v);if(p!==void 0){var e=p.call(v);if(e!==v)return typeof e=="string"?e:k(e,s)}else if(Array.isArray(v))return N(v,s);return A(v,s)}function A(v,I){var s=Object.keys(v);if(s.length===0)return"{}";if(I.length>_)return"["+D(v)+"]";var p=s.map(function(e){var n=k(v[e],I);return e+": "+n});return"{ "+p.join(", ")+" }"}function N(v,I){if(v.length===0)return"[]";if(I.length>_)return"[Array]";for(var s=Math.min(r,v.length),p=v.length-s,e=[],n=0;n1&&e.push("... ".concat(p," more items")),"["+e.join(", ")+"]"}function g(v){var I=v[String(d.default)];if(typeof I=="function")return I;if(typeof v.inspect=="function")return v.inspect}function D(v){var I=Object.prototype.toString.call(v).replace(/^\[object /,"").replace(/]$/,"");if(I==="Object"&&typeof v.constructor=="function"){var s=v.constructor.name;if(typeof s=="string"&&s!=="")return s}return I}}}),_e=L({"node_modules/graphql/jsutils/devAssert.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.default=d;function d(i,c){var r=Boolean(i);if(!r)throw new Error(c)}}}),Ee=L({"node_modules/graphql/jsutils/instanceOf.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var d=i(re());function i(r){return r&&r.__esModule?r:{default:r}}var c=function(_,E){return _ instanceof E};a.default=c}}),me=L({"node_modules/graphql/language/source.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.isSource=A,a.Source=void 0;var d=z(),i=_(re()),c=_(_e()),r=_(Ee());function _(N){return N&&N.__esModule?N:{default:N}}function E(N,g){for(var D=0;D1&&arguments[1]!==void 0?arguments[1]:"GraphQL request",v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{line:1,column:1};typeof g=="string"||(0,c.default)(0,"Body must be a string. Received: ".concat((0,i.default)(g),".")),this.body=g,this.name=D,this.locationOffset=v,this.locationOffset.line>0||(0,c.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,c.default)(0,"column in locationOffset is 1-indexed and must be positive.")}return k(N,[{key:d.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}]),N}();a.Source=O;function A(N){return(0,r.default)(N,O)}}}),ye=L({"node_modules/graphql/language/directiveLocation.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.DirectiveLocation=void 0;var d=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});a.DirectiveLocation=d}}),ke=L({"node_modules/graphql/language/blockString.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.dedentBlockStringValue=d,a.getBlockStringIndentation=c,a.printBlockString=r;function d(_){var E=_.split(/\r\n|[\n\r]/g),k=c(_);if(k!==0)for(var O=1;OA&&i(E[N-1]);)--N;return E.slice(A,N).join(` -`)}function i(_){for(var E=0;E<_.length;++E)if(_[E]!==" "&&_[E]!==" ")return!1;return!0}function c(_){for(var E,k=!0,O=!0,A=0,N=null,g=0;g<_.length;++g)switch(_.charCodeAt(g)){case 13:_.charCodeAt(g+1)===10&&++g;case 10:k=!1,O=!0,A=0;break;case 9:case 32:++A;break;default:O&&!k&&(N===null||A1&&arguments[1]!==void 0?arguments[1]:"",k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,O=_.indexOf(` -`)===-1,A=_[0]===" "||_[0]===" ",N=_[_.length-1]==='"',g=_[_.length-1]==="\\",D=!O||N||g||k,v="";return D&&!(O&&A)&&(v+=` -`+E),v+=E?_.replace(/\n/g,` -`+E):_,D&&(v+=` -`),'"""'+v.replace(/"""/g,'\\"""')+'"""'}}}),Ne=L({"node_modules/graphql/language/lexer.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.isPunctuatorTokenKind=E,a.Lexer=void 0;var d=Z(),i=te(),c=ne(),r=ke(),_=function(){function t(y){var f=new i.Token(c.TokenKind.SOF,0,0,0,0,null);this.source=y,this.lastToken=f,this.token=f,this.line=1,this.lineStart=0}var u=t.prototype;return u.advance=function(){this.lastToken=this.token;var f=this.token=this.lookahead();return f},u.lookahead=function(){var f=this.token;if(f.kind!==c.TokenKind.EOF)do{var m;f=(m=f.next)!==null&&m!==void 0?m:f.next=O(this,f)}while(f.kind===c.TokenKind.COMMENT);return f},t}();a.Lexer=_;function E(t){return t===c.TokenKind.BANG||t===c.TokenKind.DOLLAR||t===c.TokenKind.AMP||t===c.TokenKind.PAREN_L||t===c.TokenKind.PAREN_R||t===c.TokenKind.SPREAD||t===c.TokenKind.COLON||t===c.TokenKind.EQUALS||t===c.TokenKind.AT||t===c.TokenKind.BRACKET_L||t===c.TokenKind.BRACKET_R||t===c.TokenKind.BRACE_L||t===c.TokenKind.PIPE||t===c.TokenKind.BRACE_R}function k(t){return isNaN(t)?c.TokenKind.EOF:t<127?JSON.stringify(String.fromCharCode(t)):'"\\u'.concat(("00"+t.toString(16).toUpperCase()).slice(-4),'"')}function O(t,u){for(var y=t.source,f=y.body,m=f.length,o=u.end;o31||h===9));return new i.Token(c.TokenKind.COMMENT,u,l,y,f,m,o.slice(u+1,l))}function g(t,u,y,f,m,o){var h=t.body,l=y,T=u,S=!1;if(l===45&&(l=h.charCodeAt(++T)),l===48){if(l=h.charCodeAt(++T),l>=48&&l<=57)throw(0,d.syntaxError)(t,T,"Invalid number, unexpected digit after 0: ".concat(k(l),"."))}else T=D(t,T,l),l=h.charCodeAt(T);if(l===46&&(S=!0,l=h.charCodeAt(++T),T=D(t,T,l),l=h.charCodeAt(T)),(l===69||l===101)&&(S=!0,l=h.charCodeAt(++T),(l===43||l===45)&&(l=h.charCodeAt(++T)),T=D(t,T,l),l=h.charCodeAt(T)),l===46||n(l))throw(0,d.syntaxError)(t,T,"Invalid number, expected digit but got: ".concat(k(l),"."));return new i.Token(S?c.TokenKind.FLOAT:c.TokenKind.INT,u,T,f,m,o,h.slice(u,T))}function D(t,u,y){var f=t.body,m=u,o=y;if(o>=48&&o<=57){do o=f.charCodeAt(++m);while(o>=48&&o<=57);return m}throw(0,d.syntaxError)(t,m,"Invalid number, expected digit but got: ".concat(k(o),"."))}function v(t,u,y,f,m){for(var o=t.body,h=u+1,l=h,T=0,S="";h=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}function e(t,u,y,f,m){for(var o=t.body,h=o.length,l=u+1,T=0;l!==h&&!isNaN(T=o.charCodeAt(l))&&(T===95||T>=48&&T<=57||T>=65&&T<=90||T>=97&&T<=122);)++l;return new i.Token(c.TokenKind.NAME,u,l,y,f,m,o.slice(u,l))}function n(t){return t===95||t>=65&&t<=90||t>=97&&t<=122}}}),Oe=L({"node_modules/graphql/language/parser.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.parse=O,a.parseValue=A,a.parseType=N,a.Parser=void 0;var d=Z(),i=he(),c=te(),r=ne(),_=me(),E=ye(),k=Ne();function O(I,s){var p=new g(I,s);return p.parseDocument()}function A(I,s){var p=new g(I,s);p.expectToken(r.TokenKind.SOF);var e=p.parseValueLiteral(!1);return p.expectToken(r.TokenKind.EOF),e}function N(I,s){var p=new g(I,s);p.expectToken(r.TokenKind.SOF);var e=p.parseTypeReference();return p.expectToken(r.TokenKind.EOF),e}var g=function(){function I(p,e){var n=(0,_.isSource)(p)?p:new _.Source(p);this._lexer=new k.Lexer(n),this._options=e}var s=I.prototype;return s.parseName=function(){var e=this.expectToken(r.TokenKind.NAME);return{kind:i.Kind.NAME,value:e.value,loc:this.loc(e)}},s.parseDocument=function(){var e=this._lexer.token;return{kind:i.Kind.DOCUMENT,definitions:this.many(r.TokenKind.SOF,this.parseDefinition,r.TokenKind.EOF),loc:this.loc(e)}},s.parseDefinition=function(){if(this.peek(r.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(r.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},s.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(r.TokenKind.BRACE_L))return{kind:i.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n=this.parseOperationType(),t;return this.peek(r.TokenKind.NAME)&&(t=this.parseName()),{kind:i.Kind.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},s.parseOperationType=function(){var e=this.expectToken(r.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},s.parseVariableDefinitions=function(){return this.optionalMany(r.TokenKind.PAREN_L,this.parseVariableDefinition,r.TokenKind.PAREN_R)},s.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:i.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(r.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(r.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},s.parseVariable=function(){var e=this._lexer.token;return this.expectToken(r.TokenKind.DOLLAR),{kind:i.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},s.parseSelectionSet=function(){var e=this._lexer.token;return{kind:i.Kind.SELECTION_SET,selections:this.many(r.TokenKind.BRACE_L,this.parseSelection,r.TokenKind.BRACE_R),loc:this.loc(e)}},s.parseSelection=function(){return this.peek(r.TokenKind.SPREAD)?this.parseFragment():this.parseField()},s.parseField=function(){var e=this._lexer.token,n=this.parseName(),t,u;return this.expectOptionalToken(r.TokenKind.COLON)?(t=n,u=this.parseName()):u=n,{kind:i.Kind.FIELD,alias:t,name:u,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(r.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(e)}},s.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(r.TokenKind.PAREN_L,n,r.TokenKind.PAREN_R)},s.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(r.TokenKind.COLON),{kind:i.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},s.parseConstArgument=function(){var e=this._lexer.token;return{kind:i.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(r.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},s.parseFragment=function(){var e=this._lexer.token;this.expectToken(r.TokenKind.SPREAD);var n=this.expectOptionalKeyword("on");return!n&&this.peek(r.TokenKind.NAME)?{kind:i.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:i.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},s.parseFragmentDefinition=function(){var e,n=this._lexer.token;return this.expectKeyword("fragment"),((e=this._options)===null||e===void 0?void 0:e.experimentalFragmentVariables)===!0?{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}:{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}},s.parseFragmentName=function(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()},s.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case r.TokenKind.BRACKET_L:return this.parseList(e);case r.TokenKind.BRACE_L:return this.parseObject(e);case r.TokenKind.INT:return this._lexer.advance(),{kind:i.Kind.INT,value:n.value,loc:this.loc(n)};case r.TokenKind.FLOAT:return this._lexer.advance(),{kind:i.Kind.FLOAT,value:n.value,loc:this.loc(n)};case r.TokenKind.STRING:case r.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case r.TokenKind.NAME:switch(this._lexer.advance(),n.value){case"true":return{kind:i.Kind.BOOLEAN,value:!0,loc:this.loc(n)};case"false":return{kind:i.Kind.BOOLEAN,value:!1,loc:this.loc(n)};case"null":return{kind:i.Kind.NULL,loc:this.loc(n)};default:return{kind:i.Kind.ENUM,value:n.value,loc:this.loc(n)}}case r.TokenKind.DOLLAR:if(!e)return this.parseVariable();break}throw this.unexpected()},s.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:i.Kind.STRING,value:e.value,block:e.kind===r.TokenKind.BLOCK_STRING,loc:this.loc(e)}},s.parseList=function(e){var n=this,t=this._lexer.token,u=function(){return n.parseValueLiteral(e)};return{kind:i.Kind.LIST,values:this.any(r.TokenKind.BRACKET_L,u,r.TokenKind.BRACKET_R),loc:this.loc(t)}},s.parseObject=function(e){var n=this,t=this._lexer.token,u=function(){return n.parseObjectField(e)};return{kind:i.Kind.OBJECT,fields:this.any(r.TokenKind.BRACE_L,u,r.TokenKind.BRACE_R),loc:this.loc(t)}},s.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(r.TokenKind.COLON),{kind:i.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},s.parseDirectives=function(e){for(var n=[];this.peek(r.TokenKind.AT);)n.push(this.parseDirective(e));return n},s.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(r.TokenKind.AT),{kind:i.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},s.parseTypeReference=function(){var e=this._lexer.token,n;return this.expectOptionalToken(r.TokenKind.BRACKET_L)?(n=this.parseTypeReference(),this.expectToken(r.TokenKind.BRACKET_R),n={kind:i.Kind.LIST_TYPE,type:n,loc:this.loc(e)}):n=this.parseNamedType(),this.expectOptionalToken(r.TokenKind.BANG)?{kind:i.Kind.NON_NULL_TYPE,type:n,loc:this.loc(e)}:n},s.parseNamedType=function(){var e=this._lexer.token;return{kind:i.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},s.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===r.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},s.peekDescription=function(){return this.peek(r.TokenKind.STRING)||this.peek(r.TokenKind.BLOCK_STRING)},s.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},s.parseSchemaDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");var t=this.parseDirectives(!0),u=this.many(r.TokenKind.BRACE_L,this.parseOperationTypeDefinition,r.TokenKind.BRACE_R);return{kind:i.Kind.SCHEMA_DEFINITION,description:n,directives:t,operationTypes:u,loc:this.loc(e)}},s.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(r.TokenKind.COLON);var t=this.parseNamedType();return{kind:i.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},s.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");var t=this.parseName(),u=this.parseDirectives(!0);return{kind:i.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:u,loc:this.loc(e)}},s.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");var t=this.parseName(),u=this.parseImplementsInterfaces(),y=this.parseDirectives(!0),f=this.parseFieldsDefinition();return{kind:i.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:u,directives:y,fields:f,loc:this.loc(e)}},s.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(((e=this._options)===null||e===void 0?void 0:e.allowLegacySDLImplementsInterfaces)===!0){var n=[];this.expectOptionalToken(r.TokenKind.AMP);do n.push(this.parseNamedType());while(this.expectOptionalToken(r.TokenKind.AMP)||this.peek(r.TokenKind.NAME));return n}return this.delimitedMany(r.TokenKind.AMP,this.parseNamedType)},s.parseFieldsDefinition=function(){var e;return((e=this._options)===null||e===void 0?void 0:e.allowLegacySDLEmptyFields)===!0&&this.peek(r.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===r.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(r.TokenKind.BRACE_L,this.parseFieldDefinition,r.TokenKind.BRACE_R)},s.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),u=this.parseArgumentDefs();this.expectToken(r.TokenKind.COLON);var y=this.parseTypeReference(),f=this.parseDirectives(!0);return{kind:i.Kind.FIELD_DEFINITION,description:n,name:t,arguments:u,type:y,directives:f,loc:this.loc(e)}},s.parseArgumentDefs=function(){return this.optionalMany(r.TokenKind.PAREN_L,this.parseInputValueDef,r.TokenKind.PAREN_R)},s.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(r.TokenKind.COLON);var u=this.parseTypeReference(),y;this.expectOptionalToken(r.TokenKind.EQUALS)&&(y=this.parseValueLiteral(!0));var f=this.parseDirectives(!0);return{kind:i.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:u,defaultValue:y,directives:f,loc:this.loc(e)}},s.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");var t=this.parseName(),u=this.parseImplementsInterfaces(),y=this.parseDirectives(!0),f=this.parseFieldsDefinition();return{kind:i.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,interfaces:u,directives:y,fields:f,loc:this.loc(e)}},s.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");var t=this.parseName(),u=this.parseDirectives(!0),y=this.parseUnionMemberTypes();return{kind:i.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:u,types:y,loc:this.loc(e)}},s.parseUnionMemberTypes=function(){return this.expectOptionalToken(r.TokenKind.EQUALS)?this.delimitedMany(r.TokenKind.PIPE,this.parseNamedType):[]},s.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");var t=this.parseName(),u=this.parseDirectives(!0),y=this.parseEnumValuesDefinition();return{kind:i.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:u,values:y,loc:this.loc(e)}},s.parseEnumValuesDefinition=function(){return this.optionalMany(r.TokenKind.BRACE_L,this.parseEnumValueDefinition,r.TokenKind.BRACE_R)},s.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),u=this.parseDirectives(!0);return{kind:i.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:u,loc:this.loc(e)}},s.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");var t=this.parseName(),u=this.parseDirectives(!0),y=this.parseInputFieldsDefinition();return{kind:i.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:u,fields:y,loc:this.loc(e)}},s.parseInputFieldsDefinition=function(){return this.optionalMany(r.TokenKind.BRACE_L,this.parseInputValueDef,r.TokenKind.BRACE_R)},s.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===r.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},s.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.optionalMany(r.TokenKind.BRACE_L,this.parseOperationTypeDefinition,r.TokenKind.BRACE_R);if(n.length===0&&t.length===0)throw this.unexpected();return{kind:i.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},s.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var n=this.parseName(),t=this.parseDirectives(!0);if(t.length===0)throw this.unexpected();return{kind:i.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},s.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var n=this.parseName(),t=this.parseImplementsInterfaces(),u=this.parseDirectives(!0),y=this.parseFieldsDefinition();if(t.length===0&&u.length===0&&y.length===0)throw this.unexpected();return{kind:i.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:u,fields:y,loc:this.loc(e)}},s.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var n=this.parseName(),t=this.parseImplementsInterfaces(),u=this.parseDirectives(!0),y=this.parseFieldsDefinition();if(t.length===0&&u.length===0&&y.length===0)throw this.unexpected();return{kind:i.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:t,directives:u,fields:y,loc:this.loc(e)}},s.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var n=this.parseName(),t=this.parseDirectives(!0),u=this.parseUnionMemberTypes();if(t.length===0&&u.length===0)throw this.unexpected();return{kind:i.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:u,loc:this.loc(e)}},s.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var n=this.parseName(),t=this.parseDirectives(!0),u=this.parseEnumValuesDefinition();if(t.length===0&&u.length===0)throw this.unexpected();return{kind:i.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:u,loc:this.loc(e)}},s.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var n=this.parseName(),t=this.parseDirectives(!0),u=this.parseInputFieldsDefinition();if(t.length===0&&u.length===0)throw this.unexpected();return{kind:i.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:u,loc:this.loc(e)}},s.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(r.TokenKind.AT);var t=this.parseName(),u=this.parseArgumentDefs(),y=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var f=this.parseDirectiveLocations();return{kind:i.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:u,repeatable:y,locations:f,loc:this.loc(e)}},s.parseDirectiveLocations=function(){return this.delimitedMany(r.TokenKind.PIPE,this.parseDirectiveLocation)},s.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(E.DirectiveLocation[n.value]!==void 0)return n;throw this.unexpected(e)},s.loc=function(e){var n;if(((n=this._options)===null||n===void 0?void 0:n.noLocation)!==!0)return new c.Location(e,this._lexer.lastToken,this._lexer.source)},s.peek=function(e){return this._lexer.token.kind===e},s.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,d.syntaxError)(this._lexer.source,n.start,"Expected ".concat(v(e),", found ").concat(D(n),"."))},s.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},s.expectKeyword=function(e){var n=this._lexer.token;if(n.kind===r.TokenKind.NAME&&n.value===e)this._lexer.advance();else throw(0,d.syntaxError)(this._lexer.source,n.start,'Expected "'.concat(e,'", found ').concat(D(n),"."))},s.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===r.TokenKind.NAME&&n.value===e?(this._lexer.advance(),!0):!1},s.unexpected=function(e){var n=e!=null?e:this._lexer.token;return(0,d.syntaxError)(this._lexer.source,n.start,"Unexpected ".concat(D(n),"."))},s.any=function(e,n,t){this.expectToken(e);for(var u=[];!this.expectOptionalToken(t);)u.push(n.call(this));return u},s.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var u=[];do u.push(n.call(this));while(!this.expectOptionalToken(t));return u}return[]},s.many=function(e,n,t){this.expectToken(e);var u=[];do u.push(n.call(this));while(!this.expectOptionalToken(t));return u},s.delimitedMany=function(e,n){this.expectOptionalToken(e);var t=[];do t.push(n.call(this));while(this.expectOptionalToken(e));return t},I}();a.Parser=g;function D(I){var s=I.value;return v(I.kind)+(s!=null?' "'.concat(s,'"'):"")}function v(I){return(0,k.isPunctuatorTokenKind)(I)?'"'.concat(I,'"'):I}}});K();var Ie=ce(),ge=ue(),{hasPragma:Se}=le(),{locStart:Ae,locEnd:De}=pe();function Ke(a){let d=[],{startToken:i}=a.loc,{next:c}=i;for(;c.kind!=="";)c.kind==="Comment"&&(Object.assign(c,{column:c.column-1}),d.push(c)),c=c.next;return d}function ie(a){if(a&&typeof a=="object"){delete a.startToken,delete a.endToken,delete a.prev,delete a.next;for(let d in a)ie(a[d])}return a}var X={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};function Le(a){let{GraphQLError:d}=W();if(a instanceof d){let{message:i,locations:[c]}=a;return Ie(i,{start:c})}return a}function xe(a){let{parse:d}=Oe(),{result:i,error:c}=ge(()=>d(a,Object.assign({},X)),()=>d(a,Object.assign(Object.assign({},X),{},{allowLegacySDLImplementsInterfaces:!0})));if(!i)throw Le(c);return i.comments=Ke(i),ie(i),i}ae.exports={parsers:{graphql:{parse:xe,astFormat:"graphql",hasPragma:Se,locStart:Ae,locEnd:De}}}});return be();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-html.js b/node_modules/ts-poet/node_modules/prettier/parser-html.js deleted file mode 100644 index 214b4e4f3d..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-html.js +++ /dev/null @@ -1,36 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.html=e()}})(function(){"use strict";var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var ee=S((cc,Kr)=>{var Ne=function(e){return e&&e.Math==Math&&e};Kr.exports=Ne(typeof globalThis=="object"&&globalThis)||Ne(typeof window=="object"&&window)||Ne(typeof self=="object"&&self)||Ne(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var se=S((hc,Jr)=>{Jr.exports=function(e){try{return!!e()}catch{return!0}}});var ae=S((pc,Zr)=>{var qs=se();Zr.exports=!qs(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Oe=S((fc,eu)=>{var Is=se();eu.exports=!Is(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var De=S((dc,ru)=>{var Rs=Oe(),qe=Function.prototype.call;ru.exports=Rs?qe.bind(qe):function(){return qe.apply(qe,arguments)}});var su=S(nu=>{"use strict";var uu={}.propertyIsEnumerable,tu=Object.getOwnPropertyDescriptor,xs=tu&&!uu.call({1:2},1);nu.f=xs?function(r){var u=tu(this,r);return!!u&&u.enumerable}:uu});var Ie=S((Cc,iu)=>{iu.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var re=S((mc,Du)=>{var au=Oe(),ou=Function.prototype,er=ou.call,Ps=au&&ou.bind.bind(er,er);Du.exports=au?Ps:function(e){return function(){return er.apply(e,arguments)}}});var me=S((gc,cu)=>{var lu=re(),ks=lu({}.toString),Ls=lu("".slice);cu.exports=function(e){return Ls(ks(e),8,-1)}});var pu=S((Fc,hu)=>{var $s=re(),Ms=se(),js=me(),rr=Object,Us=$s("".split);hu.exports=Ms(function(){return!rr("z").propertyIsEnumerable(0)})?function(e){return js(e)=="String"?Us(e,""):rr(e)}:rr});var Re=S((Ac,fu)=>{fu.exports=function(e){return e==null}});var ur=S((vc,du)=>{var Gs=Re(),Vs=TypeError;du.exports=function(e){if(Gs(e))throw Vs("Can't call method on "+e);return e}});var xe=S((_c,Eu)=>{var Xs=pu(),Hs=ur();Eu.exports=function(e){return Xs(Hs(e))}});var nr=S((Sc,Cu)=>{var tr=typeof document=="object"&&document.all,zs=typeof tr>"u"&&tr!==void 0;Cu.exports={all:tr,IS_HTMLDDA:zs}});var Y=S((yc,gu)=>{var mu=nr(),Ws=mu.all;gu.exports=mu.IS_HTMLDDA?function(e){return typeof e=="function"||e===Ws}:function(e){return typeof e=="function"}});var le=S((Tc,vu)=>{var Fu=Y(),Au=nr(),Ys=Au.all;vu.exports=Au.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:Fu(e)||e===Ys}:function(e){return typeof e=="object"?e!==null:Fu(e)}});var ge=S((Bc,_u)=>{var sr=ee(),Qs=Y(),Ks=function(e){return Qs(e)?e:void 0};_u.exports=function(e,r){return arguments.length<2?Ks(sr[e]):sr[e]&&sr[e][r]}});var ir=S((bc,Su)=>{var Js=re();Su.exports=Js({}.isPrototypeOf)});var Tu=S((wc,yu)=>{var Zs=ge();yu.exports=Zs("navigator","userAgent")||""});var Iu=S((Nc,qu)=>{var Ou=ee(),ar=Tu(),Bu=Ou.process,bu=Ou.Deno,wu=Bu&&Bu.versions||bu&&bu.version,Nu=wu&&wu.v8,ue,Pe;Nu&&(ue=Nu.split("."),Pe=ue[0]>0&&ue[0]<4?1:+(ue[0]+ue[1]));!Pe&&ar&&(ue=ar.match(/Edge\/(\d+)/),(!ue||ue[1]>=74)&&(ue=ar.match(/Chrome\/(\d+)/),ue&&(Pe=+ue[1])));qu.exports=Pe});var or=S((Oc,xu)=>{var Ru=Iu(),ei=se();xu.exports=!!Object.getOwnPropertySymbols&&!ei(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ru&&Ru<41})});var Dr=S((qc,Pu)=>{var ri=or();Pu.exports=ri&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var lr=S((Ic,ku)=>{var ui=ge(),ti=Y(),ni=ir(),si=Dr(),ii=Object;ku.exports=si?function(e){return typeof e=="symbol"}:function(e){var r=ui("Symbol");return ti(r)&&ni(r.prototype,ii(e))}});var ke=S((Rc,Lu)=>{var ai=String;Lu.exports=function(e){try{return ai(e)}catch{return"Object"}}});var Fe=S((xc,$u)=>{var oi=Y(),Di=ke(),li=TypeError;$u.exports=function(e){if(oi(e))return e;throw li(Di(e)+" is not a function")}});var Le=S((Pc,Mu)=>{var ci=Fe(),hi=Re();Mu.exports=function(e,r){var u=e[r];return hi(u)?void 0:ci(u)}});var Uu=S((kc,ju)=>{var cr=De(),hr=Y(),pr=le(),pi=TypeError;ju.exports=function(e,r){var u,n;if(r==="string"&&hr(u=e.toString)&&!pr(n=cr(u,e))||hr(u=e.valueOf)&&!pr(n=cr(u,e))||r!=="string"&&hr(u=e.toString)&&!pr(n=cr(u,e)))return n;throw pi("Can't convert object to primitive value")}});var Vu=S((Lc,Gu)=>{Gu.exports=!1});var $e=S(($c,Hu)=>{var Xu=ee(),fi=Object.defineProperty;Hu.exports=function(e,r){try{fi(Xu,e,{value:r,configurable:!0,writable:!0})}catch{Xu[e]=r}return r}});var Me=S((Mc,Wu)=>{var di=ee(),Ei=$e(),zu="__core-js_shared__",Ci=di[zu]||Ei(zu,{});Wu.exports=Ci});var fr=S((jc,Qu)=>{var mi=Vu(),Yu=Me();(Qu.exports=function(e,r){return Yu[e]||(Yu[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.26.1",mode:mi?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var dr=S((Uc,Ku)=>{var gi=ur(),Fi=Object;Ku.exports=function(e){return Fi(gi(e))}});var oe=S((Gc,Ju)=>{var Ai=re(),vi=dr(),_i=Ai({}.hasOwnProperty);Ju.exports=Object.hasOwn||function(r,u){return _i(vi(r),u)}});var Er=S((Vc,Zu)=>{var Si=re(),yi=0,Ti=Math.random(),Bi=Si(1 .toString);Zu.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+Bi(++yi+Ti,36)}});var he=S((Xc,nt)=>{var bi=ee(),wi=fr(),et=oe(),Ni=Er(),rt=or(),tt=Dr(),fe=wi("wks"),ce=bi.Symbol,ut=ce&&ce.for,Oi=tt?ce:ce&&ce.withoutSetter||Ni;nt.exports=function(e){if(!et(fe,e)||!(rt||typeof fe[e]=="string")){var r="Symbol."+e;rt&&et(ce,e)?fe[e]=ce[e]:tt&&ut?fe[e]=ut(r):fe[e]=Oi(r)}return fe[e]}});var ot=S((Hc,at)=>{var qi=De(),st=le(),it=lr(),Ii=Le(),Ri=Uu(),xi=he(),Pi=TypeError,ki=xi("toPrimitive");at.exports=function(e,r){if(!st(e)||it(e))return e;var u=Ii(e,ki),n;if(u){if(r===void 0&&(r="default"),n=qi(u,e,r),!st(n)||it(n))return n;throw Pi("Can't convert object to primitive value")}return r===void 0&&(r="number"),Ri(e,r)}});var je=S((zc,Dt)=>{var Li=ot(),$i=lr();Dt.exports=function(e){var r=Li(e,"string");return $i(r)?r:r+""}});var ht=S((Wc,ct)=>{var Mi=ee(),lt=le(),Cr=Mi.document,ji=lt(Cr)&<(Cr.createElement);ct.exports=function(e){return ji?Cr.createElement(e):{}}});var mr=S((Yc,pt)=>{var Ui=ae(),Gi=se(),Vi=ht();pt.exports=!Ui&&!Gi(function(){return Object.defineProperty(Vi("div"),"a",{get:function(){return 7}}).a!=7})});var gr=S(dt=>{var Xi=ae(),Hi=De(),zi=su(),Wi=Ie(),Yi=xe(),Qi=je(),Ki=oe(),Ji=mr(),ft=Object.getOwnPropertyDescriptor;dt.f=Xi?ft:function(r,u){if(r=Yi(r),u=Qi(u),Ji)try{return ft(r,u)}catch{}if(Ki(r,u))return Wi(!Hi(zi.f,r,u),r[u])}});var Ct=S((Kc,Et)=>{var Zi=ae(),ea=se();Et.exports=Zi&&ea(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var de=S((Jc,mt)=>{var ra=le(),ua=String,ta=TypeError;mt.exports=function(e){if(ra(e))return e;throw ta(ua(e)+" is not an object")}});var Ae=S(Ft=>{var na=ae(),sa=mr(),ia=Ct(),Ue=de(),gt=je(),aa=TypeError,Fr=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,Ar="enumerable",vr="configurable",_r="writable";Ft.f=na?ia?function(r,u,n){if(Ue(r),u=gt(u),Ue(n),typeof r=="function"&&u==="prototype"&&"value"in n&&_r in n&&!n[_r]){var D=oa(r,u);D&&D[_r]&&(r[u]=n.value,n={configurable:vr in n?n[vr]:D[vr],enumerable:Ar in n?n[Ar]:D[Ar],writable:!1})}return Fr(r,u,n)}:Fr:function(r,u,n){if(Ue(r),u=gt(u),Ue(n),sa)try{return Fr(r,u,n)}catch{}if("get"in n||"set"in n)throw aa("Accessors not supported");return"value"in n&&(r[u]=n.value),r}});var Sr=S((e2,At)=>{var Da=ae(),la=Ae(),ca=Ie();At.exports=Da?function(e,r,u){return la.f(e,r,ca(1,u))}:function(e,r,u){return e[r]=u,e}});var St=S((r2,_t)=>{var yr=ae(),ha=oe(),vt=Function.prototype,pa=yr&&Object.getOwnPropertyDescriptor,Tr=ha(vt,"name"),fa=Tr&&function(){}.name==="something",da=Tr&&(!yr||yr&&pa(vt,"name").configurable);_t.exports={EXISTS:Tr,PROPER:fa,CONFIGURABLE:da}});var br=S((u2,yt)=>{var Ea=re(),Ca=Y(),Br=Me(),ma=Ea(Function.toString);Ca(Br.inspectSource)||(Br.inspectSource=function(e){return ma(e)});yt.exports=Br.inspectSource});var bt=S((t2,Bt)=>{var ga=ee(),Fa=Y(),Tt=ga.WeakMap;Bt.exports=Fa(Tt)&&/native code/.test(String(Tt))});var Ot=S((n2,Nt)=>{var Aa=fr(),va=Er(),wt=Aa("keys");Nt.exports=function(e){return wt[e]||(wt[e]=va(e))}});var wr=S((s2,qt)=>{qt.exports={}});var Pt=S((i2,xt)=>{var _a=bt(),Rt=ee(),Sa=le(),ya=Sr(),Nr=oe(),Or=Me(),Ta=Ot(),Ba=wr(),It="Object already initialized",qr=Rt.TypeError,ba=Rt.WeakMap,Ge,ve,Ve,wa=function(e){return Ve(e)?ve(e):Ge(e,{})},Na=function(e){return function(r){var u;if(!Sa(r)||(u=ve(r)).type!==e)throw qr("Incompatible receiver, "+e+" required");return u}};_a||Or.state?(te=Or.state||(Or.state=new ba),te.get=te.get,te.has=te.has,te.set=te.set,Ge=function(e,r){if(te.has(e))throw qr(It);return r.facade=e,te.set(e,r),r},ve=function(e){return te.get(e)||{}},Ve=function(e){return te.has(e)}):(pe=Ta("state"),Ba[pe]=!0,Ge=function(e,r){if(Nr(e,pe))throw qr(It);return r.facade=e,ya(e,pe,r),r},ve=function(e){return Nr(e,pe)?e[pe]:{}},Ve=function(e){return Nr(e,pe)});var te,pe;xt.exports={set:Ge,get:ve,has:Ve,enforce:wa,getterFor:Na}});var $t=S((a2,Lt)=>{var Oa=se(),qa=Y(),Xe=oe(),Ir=ae(),Ia=St().CONFIGURABLE,Ra=br(),kt=Pt(),xa=kt.enforce,Pa=kt.get,He=Object.defineProperty,ka=Ir&&!Oa(function(){return He(function(){},"length",{value:8}).length!==8}),La=String(String).split("String"),$a=Lt.exports=function(e,r,u){String(r).slice(0,7)==="Symbol("&&(r="["+String(r).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),u&&u.getter&&(r="get "+r),u&&u.setter&&(r="set "+r),(!Xe(e,"name")||Ia&&e.name!==r)&&(Ir?He(e,"name",{value:r,configurable:!0}):e.name=r),ka&&u&&Xe(u,"arity")&&e.length!==u.arity&&He(e,"length",{value:u.arity});try{u&&Xe(u,"constructor")&&u.constructor?Ir&&He(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var n=xa(e);return Xe(n,"source")||(n.source=La.join(typeof r=="string"?r:"")),e};Function.prototype.toString=$a(function(){return qa(this)&&Pa(this).source||Ra(this)},"toString")});var jt=S((o2,Mt)=>{var Ma=Y(),ja=Ae(),Ua=$t(),Ga=$e();Mt.exports=function(e,r,u,n){n||(n={});var D=n.enumerable,s=n.name!==void 0?n.name:r;if(Ma(u)&&Ua(u,s,n),n.global)D?e[r]=u:Ga(r,u);else{try{n.unsafe?e[r]&&(D=!0):delete e[r]}catch{}D?e[r]=u:ja.f(e,r,{value:u,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e}});var Gt=S((D2,Ut)=>{var Va=Math.ceil,Xa=Math.floor;Ut.exports=Math.trunc||function(r){var u=+r;return(u>0?Xa:Va)(u)}});var Rr=S((l2,Vt)=>{var Ha=Gt();Vt.exports=function(e){var r=+e;return r!==r||r===0?0:Ha(r)}});var Ht=S((c2,Xt)=>{var za=Rr(),Wa=Math.max,Ya=Math.min;Xt.exports=function(e,r){var u=za(e);return u<0?Wa(u+r,0):Ya(u,r)}});var Wt=S((h2,zt)=>{var Qa=Rr(),Ka=Math.min;zt.exports=function(e){return e>0?Ka(Qa(e),9007199254740991):0}});var _e=S((p2,Yt)=>{var Ja=Wt();Yt.exports=function(e){return Ja(e.length)}});var Jt=S((f2,Kt)=>{var Za=xe(),eo=Ht(),ro=_e(),Qt=function(e){return function(r,u,n){var D=Za(r),s=ro(D),i=eo(n,s),f;if(e&&u!=u){for(;s>i;)if(f=D[i++],f!=f)return!0}else for(;s>i;i++)if((e||i in D)&&D[i]===u)return e||i||0;return!e&&-1}};Kt.exports={includes:Qt(!0),indexOf:Qt(!1)}});var rn=S((d2,en)=>{var uo=re(),xr=oe(),to=xe(),no=Jt().indexOf,so=wr(),Zt=uo([].push);en.exports=function(e,r){var u=to(e),n=0,D=[],s;for(s in u)!xr(so,s)&&xr(u,s)&&Zt(D,s);for(;r.length>n;)xr(u,s=r[n++])&&(~no(D,s)||Zt(D,s));return D}});var tn=S((E2,un)=>{un.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var sn=S(nn=>{var io=rn(),ao=tn(),oo=ao.concat("length","prototype");nn.f=Object.getOwnPropertyNames||function(r){return io(r,oo)}});var on=S(an=>{an.f=Object.getOwnPropertySymbols});var ln=S((g2,Dn)=>{var Do=ge(),lo=re(),co=sn(),ho=on(),po=de(),fo=lo([].concat);Dn.exports=Do("Reflect","ownKeys")||function(r){var u=co.f(po(r)),n=ho.f;return n?fo(u,n(r)):u}});var pn=S((F2,hn)=>{var cn=oe(),Eo=ln(),Co=gr(),mo=Ae();hn.exports=function(e,r,u){for(var n=Eo(r),D=mo.f,s=Co.f,i=0;i{var go=se(),Fo=Y(),Ao=/#|\.prototype\./,Se=function(e,r){var u=_o[vo(e)];return u==yo?!0:u==So?!1:Fo(r)?go(r):!!r},vo=Se.normalize=function(e){return String(e).replace(Ao,".").toLowerCase()},_o=Se.data={},So=Se.NATIVE="N",yo=Se.POLYFILL="P";fn.exports=Se});var ze=S((v2,En)=>{var Pr=ee(),To=gr().f,Bo=Sr(),bo=jt(),wo=$e(),No=pn(),Oo=dn();En.exports=function(e,r){var u=e.target,n=e.global,D=e.stat,s,i,f,c,F,a;if(n?i=Pr:D?i=Pr[u]||wo(u,{}):i=(Pr[u]||{}).prototype,i)for(f in r){if(F=r[f],e.dontCallGetSet?(a=To(i,f),c=a&&a.value):c=i[f],s=Oo(n?f:u+(D?".":"#")+f,e.forced),!s&&c!==void 0){if(typeof F==typeof c)continue;No(F,c)}(e.sham||c&&c.sham)&&Bo(F,"sham",!0),bo(i,f,F,e)}}});var Cn=S(()=>{var qo=ze(),kr=ee();qo({global:!0,forced:kr.globalThis!==kr},{globalThis:kr})});var mn=S(()=>{Cn()});var Lr=S((B2,gn)=>{var Io=me();gn.exports=Array.isArray||function(r){return Io(r)=="Array"}});var An=S((b2,Fn)=>{var Ro=TypeError,xo=9007199254740991;Fn.exports=function(e){if(e>xo)throw Ro("Maximum allowed index exceeded");return e}});var _n=S((w2,vn)=>{var Po=me(),ko=re();vn.exports=function(e){if(Po(e)==="Function")return ko(e)}});var $r=S((N2,yn)=>{var Sn=_n(),Lo=Fe(),$o=Oe(),Mo=Sn(Sn.bind);yn.exports=function(e,r){return Lo(e),r===void 0?e:$o?Mo(e,r):function(){return e.apply(r,arguments)}}});var bn=S((O2,Bn)=>{"use strict";var jo=Lr(),Uo=_e(),Go=An(),Vo=$r(),Tn=function(e,r,u,n,D,s,i,f){for(var c=D,F=0,a=i?Vo(i,f):!1,l,h;F0&&jo(l)?(h=Uo(l),c=Tn(e,r,l,h,c,s-1)-1):(Go(c+1),e[c]=l),c++),F++;return c};Bn.exports=Tn});var On=S((q2,Nn)=>{var Xo=he(),Ho=Xo("toStringTag"),wn={};wn[Ho]="z";Nn.exports=String(wn)==="[object z]"});var Mr=S((I2,qn)=>{var zo=On(),Wo=Y(),We=me(),Yo=he(),Qo=Yo("toStringTag"),Ko=Object,Jo=We(function(){return arguments}())=="Arguments",Zo=function(e,r){try{return e[r]}catch{}};qn.exports=zo?We:function(e){var r,u,n;return e===void 0?"Undefined":e===null?"Null":typeof(u=Zo(r=Ko(e),Qo))=="string"?u:Jo?We(r):(n=We(r))=="Object"&&Wo(r.callee)?"Arguments":n}});var Ln=S((R2,kn)=>{var eD=re(),rD=se(),In=Y(),uD=Mr(),tD=ge(),nD=br(),Rn=function(){},sD=[],xn=tD("Reflect","construct"),jr=/^\s*(?:class|function)\b/,iD=eD(jr.exec),aD=!jr.exec(Rn),ye=function(r){if(!In(r))return!1;try{return xn(Rn,sD,r),!0}catch{return!1}},Pn=function(r){if(!In(r))return!1;switch(uD(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return aD||!!iD(jr,nD(r))}catch{return!0}};Pn.sham=!0;kn.exports=!xn||rD(function(){var e;return ye(ye.call)||!ye(Object)||!ye(function(){e=!0})||e})?Pn:ye});var Un=S((x2,jn)=>{var $n=Lr(),oD=Ln(),DD=le(),lD=he(),cD=lD("species"),Mn=Array;jn.exports=function(e){var r;return $n(e)&&(r=e.constructor,oD(r)&&(r===Mn||$n(r.prototype))?r=void 0:DD(r)&&(r=r[cD],r===null&&(r=void 0))),r===void 0?Mn:r}});var Vn=S((P2,Gn)=>{var hD=Un();Gn.exports=function(e,r){return new(hD(e))(r===0?0:r)}});var Xn=S(()=>{"use strict";var pD=ze(),fD=bn(),dD=Fe(),ED=dr(),CD=_e(),mD=Vn();pD({target:"Array",proto:!0},{flatMap:function(r){var u=ED(this),n=CD(u),D;return dD(r),D=mD(u,0),D.length=fD(D,u,u,n,0,1,r,arguments.length>1?arguments[1]:void 0),D}})});var Ur=S(($2,Hn)=>{Hn.exports={}});var Wn=S((M2,zn)=>{var gD=he(),FD=Ur(),AD=gD("iterator"),vD=Array.prototype;zn.exports=function(e){return e!==void 0&&(FD.Array===e||vD[AD]===e)}});var Gr=S((j2,Qn)=>{var _D=Mr(),Yn=Le(),SD=Re(),yD=Ur(),TD=he(),BD=TD("iterator");Qn.exports=function(e){if(!SD(e))return Yn(e,BD)||Yn(e,"@@iterator")||yD[_D(e)]}});var Jn=S((U2,Kn)=>{var bD=De(),wD=Fe(),ND=de(),OD=ke(),qD=Gr(),ID=TypeError;Kn.exports=function(e,r){var u=arguments.length<2?qD(e):r;if(wD(u))return ND(bD(u,e));throw ID(OD(e)+" is not iterable")}});var rs=S((G2,es)=>{var RD=De(),Zn=de(),xD=Le();es.exports=function(e,r,u){var n,D;Zn(e);try{if(n=xD(e,"return"),!n){if(r==="throw")throw u;return u}n=RD(n,e)}catch(s){D=!0,n=s}if(r==="throw")throw u;if(D)throw n;return Zn(n),u}});var is=S((V2,ss)=>{var PD=$r(),kD=De(),LD=de(),$D=ke(),MD=Wn(),jD=_e(),us=ir(),UD=Jn(),GD=Gr(),ts=rs(),VD=TypeError,Ye=function(e,r){this.stopped=e,this.result=r},ns=Ye.prototype;ss.exports=function(e,r,u){var n=u&&u.that,D=!!(u&&u.AS_ENTRIES),s=!!(u&&u.IS_RECORD),i=!!(u&&u.IS_ITERATOR),f=!!(u&&u.INTERRUPTED),c=PD(r,n),F,a,l,h,C,d,m,T=function(g){return F&&ts(F,"normal",g),new Ye(!0,g)},w=function(g){return D?(LD(g),f?c(g[0],g[1],T):c(g[0],g[1])):f?c(g,T):c(g)};if(s)F=e.iterator;else if(i)F=e;else{if(a=GD(e),!a)throw VD($D(e)+" is not iterable");if(MD(a)){for(l=0,h=jD(e);h>l;l++)if(C=w(e[l]),C&&us(ns,C))return C;return new Ye(!1)}F=UD(e,a)}for(d=s?e.next:F.next;!(m=kD(d,F)).done;){try{C=w(m.value)}catch(g){ts(F,"throw",g)}if(typeof C=="object"&&C&&us(ns,C))return C}return new Ye(!1)}});var os=S((X2,as)=>{"use strict";var XD=je(),HD=Ae(),zD=Ie();as.exports=function(e,r,u){var n=XD(r);n in e?HD.f(e,n,zD(0,u)):e[n]=u}});var Ds=S(()=>{var WD=ze(),YD=is(),QD=os();WD({target:"Object",stat:!0},{fromEntries:function(r){var u={};return YD(r,function(n,D){QD(u,n,D)},{AS_ENTRIES:!0}),u}})});var Dc=S((W2,Os)=>{var KD=["cliName","cliCategory","cliDescription"];function JD(e,r){if(e==null)return{};var u=ZD(e,r),n,D;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(D=0;D=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(u[n]=e[n])}return u}function ZD(e,r){if(e==null)return{};var u={},n=Object.keys(e),D,s;for(s=0;s=0)&&(u[D]=e[D]);return u}mn();Xn();Ds();var el=Object.create,Je=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,Xr=Object.getOwnPropertyNames,ul=Object.getPrototypeOf,tl=Object.prototype.hasOwnProperty,Ee=(e,r)=>function(){return e&&(r=(0,e[Xr(e)[0]])(e=0)),r},I=(e,r)=>function(){return r||(0,e[Xr(e)[0]])((r={exports:{}}).exports,r),r.exports},ps=(e,r)=>{for(var u in r)Je(e,u,{get:r[u],enumerable:!0})},fs=(e,r,u,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let D of Xr(r))!tl.call(e,D)&&D!==u&&Je(e,D,{get:()=>r[D],enumerable:!(n=rl(r,D))||n.enumerable});return e},nl=(e,r,u)=>(u=e!=null?el(ul(e)):{},fs(r||!e||!e.__esModule?Je(u,"default",{value:e,enumerable:!0}):u,e)),ds=e=>fs(Je({},"__esModule",{value:!0}),e),Te,q=Ee({""(){Te={env:{},argv:[]}}}),Es=I({"node_modules/angular-html-parser/lib/compiler/src/chars.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96;function r(f){return f>=e.$TAB&&f<=e.$SPACE||f==e.$NBSP}e.isWhitespace=r;function u(f){return e.$0<=f&&f<=e.$9}e.isDigit=u;function n(f){return f>=e.$a&&f<=e.$z||f>=e.$A&&f<=e.$Z}e.isAsciiLetter=n;function D(f){return f>=e.$a&&f<=e.$f||f>=e.$A&&f<=e.$F||u(f)}e.isAsciiHexDigit=D;function s(f){return f===e.$LF||f===e.$CR}e.isNewLine=s;function i(f){return e.$0<=f&&f<=e.$7}e.isOctalDigit=i}}),sl=I({"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(n,D,s){this.filePath=n,this.name=D,this.members=s}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};e.StaticSymbol=r;var u=class{constructor(){this.cache=new Map}get(n,D,s){s=s||[];let i=s.length?`.${s.join(".")}`:"",f=`"${n}".${D}${i}`,c=this.cache.get(f);return c||(c=new r(n,D,s),this.cache.set(f,c)),c}};e.StaticSymbolCache=u}}),il=I({"node_modules/angular-html-parser/lib/compiler/src/util.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=/-+([a-z0-9])/g;function u(o){return o.replace(r,function(){for(var E=arguments.length,p=new Array(E),A=0;Ai(p,this,E))}visitStringMap(o,E){let p={};return Object.keys(o).forEach(A=>{p[A]=i(o[A],this,E)}),p}visitPrimitive(o,E){return o}visitOther(o,E){return o}};e.ValueTransformer=F,e.SyncAsync={assertSync:o=>{if(_(o))throw new Error("Illegal state: value cannot be a promise");return o},then:(o,E)=>_(o)?o.then(E):E(o),all:o=>o.some(_)?Promise.all(o):o};function a(o){throw new Error(`Internal Error: ${o}`)}e.error=a;function l(o,E){let p=Error(o);return p[h]=!0,E&&(p[C]=E),p}e.syntaxError=l;var h="ngSyntaxError",C="ngParseErrors";function d(o){return o[h]}e.isSyntaxError=d;function m(o){return o[C]||[]}e.getParseErrors=m;function T(o){return o.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}e.escapeRegExp=T;var w=Object.getPrototypeOf({});function g(o){return typeof o=="object"&&o!==null&&Object.getPrototypeOf(o)===w}function N(o){let E="";for(let p=0;p=55296&&A<=56319&&o.length>p+1){let P=o.charCodeAt(p+1);P>=56320&&P<=57343&&(p++,A=(A-55296<<10)+P-56320+65536)}A<=127?E+=String.fromCharCode(A):A<=2047?E+=String.fromCharCode(A>>6&31|192,A&63|128):A<=65535?E+=String.fromCharCode(A>>12|224,A>>6&63|128,A&63|128):A<=2097151&&(E+=String.fromCharCode(A>>18&7|240,A>>12&63|128,A>>6&63|128,A&63|128))}return E}e.utf8Encode=N;function R(o){if(typeof o=="string")return o;if(o instanceof Array)return"["+o.map(R).join(", ")+"]";if(o==null)return""+o;if(o.overriddenName)return`${o.overriddenName}`;if(o.name)return`${o.name}`;if(!o.toString)return"object";let E=o.toString();if(E==null)return""+E;let p=E.indexOf(` -`);return p===-1?E:E.substring(0,p)}e.stringify=R;function j(o){return typeof o=="function"&&o.hasOwnProperty("__forward_ref__")?o():o}e.resolveForwardRef=j;function _(o){return!!o&&typeof o.then=="function"}e.isPromise=_;var O=class{constructor(o){this.full=o;let E=o.split(".");this.major=E[0],this.minor=E[1],this.patch=E.slice(2).join(".")}};e.Version=O;var x=typeof window<"u"&&window,k=typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self,$=typeof globalThis<"u"&&globalThis,t=$||x||k;e.global=t}}),al=I({"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=sl(),u=il(),n=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function D(p){return p.replace(/\W/g,"_")}e.sanitizeIdentifier=D;var s=0;function i(p){if(!p||!p.reference)return null;let A=p.reference;if(A instanceof r.StaticSymbol)return A.name;if(A.__anonymousType)return A.__anonymousType;let P=u.stringify(A);return P.indexOf("(")>=0?(P=`anonymous_${s++}`,A.__anonymousType=P):P=D(P),P}e.identifierName=i;function f(p){let A=p.reference;return A instanceof r.StaticSymbol?A.filePath:`./${u.stringify(A)}`}e.identifierModuleUrl=f;function c(p,A){return`View_${i({reference:p})}_${A}`}e.viewClassName=c;function F(p){return`RenderType_${i({reference:p})}`}e.rendererTypeName=F;function a(p){return`HostView_${i({reference:p})}`}e.hostViewClassName=a;function l(p){return`${i({reference:p})}NgFactory`}e.componentFactoryName=l;var h;(function(p){p[p.Pipe=0]="Pipe",p[p.Directive=1]="Directive",p[p.NgModule=2]="NgModule",p[p.Injectable=3]="Injectable"})(h=e.CompileSummaryKind||(e.CompileSummaryKind={}));function C(p){return p.value!=null?D(p.value):i(p.identifier)}e.tokenName=C;function d(p){return p.identifier!=null?p.identifier.reference:p.value}e.tokenReference=d;var m=class{constructor(){let{moduleUrl:p,styles:A,styleUrls:P}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=p||null,this.styles=_(A),this.styleUrls=_(P)}};e.CompileStylesheetMetadata=m;var T=class{constructor(p){let{encapsulation:A,template:P,templateUrl:M,htmlAst:z,styles:V,styleUrls:X,externalStylesheets:H,animations:Q,ngContentSelectors:K,interpolation:J,isInline:v,preserveWhitespaces:y}=p;if(this.encapsulation=A,this.template=P,this.templateUrl=M,this.htmlAst=z,this.styles=_(V),this.styleUrls=_(X),this.externalStylesheets=_(H),this.animations=Q?x(Q):[],this.ngContentSelectors=K||[],J&&J.length!=2)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=J,this.isInline=v,this.preserveWhitespaces=y}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};e.CompileTemplateMetadata=T;var w=class{static create(p){let{isHost:A,type:P,isComponent:M,selector:z,exportAs:V,changeDetection:X,inputs:H,outputs:Q,host:K,providers:J,viewProviders:v,queries:y,guards:B,viewQueries:b,entryComponents:L,template:U,componentViewType:G,rendererType:W,componentFactory:ne}=p,be={},we={},Wr={};K!=null&&Object.keys(K).forEach(Z=>{let ie=K[Z],Ce=Z.match(n);Ce===null?Wr[Z]=ie:Ce[1]!=null?we[Ce[1]]=ie:Ce[2]!=null&&(be[Ce[2]]=ie)});let Yr={};H!=null&&H.forEach(Z=>{let ie=u.splitAtColon(Z,[Z,Z]);Yr[ie[0]]=ie[1]});let Qr={};return Q!=null&&Q.forEach(Z=>{let ie=u.splitAtColon(Z,[Z,Z]);Qr[ie[0]]=ie[1]}),new w({isHost:A,type:P,isComponent:!!M,selector:z,exportAs:V,changeDetection:X,inputs:Yr,outputs:Qr,hostListeners:be,hostProperties:we,hostAttributes:Wr,providers:J,viewProviders:v,queries:y,guards:B,viewQueries:b,entryComponents:L,template:U,componentViewType:G,rendererType:W,componentFactory:ne})}constructor(p){let{isHost:A,type:P,isComponent:M,selector:z,exportAs:V,changeDetection:X,inputs:H,outputs:Q,hostListeners:K,hostProperties:J,hostAttributes:v,providers:y,viewProviders:B,queries:b,guards:L,viewQueries:U,entryComponents:G,template:W,componentViewType:ne,rendererType:be,componentFactory:we}=p;this.isHost=!!A,this.type=P,this.isComponent=M,this.selector=z,this.exportAs=V,this.changeDetection=X,this.inputs=H,this.outputs=Q,this.hostListeners=K,this.hostProperties=J,this.hostAttributes=v,this.providers=_(y),this.viewProviders=_(B),this.queries=_(b),this.guards=L,this.viewQueries=_(U),this.entryComponents=_(G),this.template=W,this.componentViewType=ne,this.rendererType=be,this.componentFactory=we}toSummary(){return{summaryKind:h.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};e.CompileDirectiveMetadata=w;var g=class{constructor(p){let{type:A,name:P,pure:M}=p;this.type=A,this.name=P,this.pure=!!M}toSummary(){return{summaryKind:h.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompilePipeMetadata=g;var N=class{};e.CompileShallowModuleMetadata=N;var R=class{constructor(p){let{type:A,providers:P,declaredDirectives:M,exportedDirectives:z,declaredPipes:V,exportedPipes:X,entryComponents:H,bootstrapComponents:Q,importedModules:K,exportedModules:J,schemas:v,transitiveModule:y,id:B}=p;this.type=A||null,this.declaredDirectives=_(M),this.exportedDirectives=_(z),this.declaredPipes=_(V),this.exportedPipes=_(X),this.providers=_(P),this.entryComponents=_(H),this.bootstrapComponents=_(Q),this.importedModules=_(K),this.exportedModules=_(J),this.schemas=_(v),this.id=B||null,this.transitiveModule=y||null}toSummary(){let p=this.transitiveModule;return{summaryKind:h.NgModule,type:this.type,entryComponents:p.entryComponents,providers:p.providers,modules:p.modules,exportedDirectives:p.exportedDirectives,exportedPipes:p.exportedPipes}}};e.CompileNgModuleMetadata=R;var j=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(p,A){this.providers.push({provider:p,module:A})}addDirective(p){this.directivesSet.has(p.reference)||(this.directivesSet.add(p.reference),this.directives.push(p))}addExportedDirective(p){this.exportedDirectivesSet.has(p.reference)||(this.exportedDirectivesSet.add(p.reference),this.exportedDirectives.push(p))}addPipe(p){this.pipesSet.has(p.reference)||(this.pipesSet.add(p.reference),this.pipes.push(p))}addExportedPipe(p){this.exportedPipesSet.has(p.reference)||(this.exportedPipesSet.add(p.reference),this.exportedPipes.push(p))}addModule(p){this.modulesSet.has(p.reference)||(this.modulesSet.add(p.reference),this.modules.push(p))}addEntryComponent(p){this.entryComponentsSet.has(p.componentType)||(this.entryComponentsSet.add(p.componentType),this.entryComponents.push(p))}};e.TransitiveCompileNgModuleMetadata=j;function _(p){return p||[]}var O=class{constructor(p,A){let{useClass:P,useValue:M,useExisting:z,useFactory:V,deps:X,multi:H}=A;this.token=p,this.useClass=P||null,this.useValue=M,this.useExisting=z,this.useFactory=V||null,this.dependencies=X||null,this.multi=!!H}};e.ProviderMeta=O;function x(p){return p.reduce((A,P)=>{let M=Array.isArray(P)?x(P):P;return A.concat(M)},[])}e.flatten=x;function k(p){return p.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function $(p,A,P){let M;return P.isInline?A.type.reference instanceof r.StaticSymbol?M=`${A.type.reference.filePath}.${A.type.reference.name}.html`:M=`${i(p)}/${i(A.type)}.html`:M=P.templateUrl,A.type.reference instanceof r.StaticSymbol?M:k(M)}e.templateSourceUrl=$;function t(p,A){let P=p.moduleUrl.split(/\/\\/g),M=P[P.length-1];return k(`css/${A}${M}.ngstyle.js`)}e.sharedStylesheetJitUrl=t;function o(p){return k(`${i(p.type)}/module.ngfactory.js`)}e.ngModuleJitUrl=o;function E(p,A){return k(`${i(p)}/${i(A.type)}.ngfactory.js`)}e.templateJitUrl=E}}),Be=I({"node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Es(),u=al(),n=class{constructor(a,l,h,C){this.file=a,this.offset=l,this.line=h,this.col=C}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(a){let l=this.file.content,h=l.length,C=this.offset,d=this.line,m=this.col;for(;C>0&&a<0;)if(C--,a++,l.charCodeAt(C)==r.$LF){d--;let w=l.substr(0,C-1).lastIndexOf(String.fromCharCode(r.$LF));m=w>0?C-w:C}else m--;for(;C0;){let T=l.charCodeAt(C);C++,a--,T==r.$LF?(d++,m=0):m++}return new n(this.file,C,d,m)}getContext(a,l){let h=this.file.content,C=this.offset;if(C!=null){C>h.length-1&&(C=h.length-1);let d=C,m=0,T=0;for(;m0&&(C--,m++,!(h[C]==` -`&&++T==l)););for(m=0,T=0;m2&&arguments[2]!==void 0?arguments[2]:null;this.start=a,this.end=l,this.details=h}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};e.ParseSourceSpan=s,e.EMPTY_PARSE_LOCATION=new n(new D("",""),0,0,0),e.EMPTY_SOURCE_SPAN=new s(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION);var i;(function(a){a[a.WARNING=0]="WARNING",a[a.ERROR=1]="ERROR"})(i=e.ParseErrorLevel||(e.ParseErrorLevel={}));var f=class{constructor(a,l){let h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.ERROR;this.span=a,this.msg=l,this.level=h}contextualMessage(){let a=this.span.start.getContext(100,3);return a?`${this.msg} ("${a.before}[${i[this.level]} ->]${a.after}")`:this.msg}toString(){let a=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${a}`}};e.ParseError=f;function c(a,l){let h=u.identifierModuleUrl(l),C=h!=null?`in ${a} ${u.identifierName(l)} in ${h}`:`in ${a} ${u.identifierName(l)}`,d=new D("",C);return new s(new n(d,-1,-1,-1),new n(d,-1,-1,-1))}e.typeSourceSpan=c;function F(a,l,h){let C=`in ${a} ${l} in ${h}`,d=new D("",C);return new s(new n(d,-1,-1,-1),new n(d,-1,-1,-1))}e.r3JitTypeSourceSpan=F}}),ol=I({"src/utils/front-matter/parse.js"(e,r){"use strict";q();var u=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function n(D){let s=D.match(u);if(!s)return{content:D};let{startDelimiter:i,language:f,value:c="",endDelimiter:F}=s.groups,a=f.trim()||"yaml";if(i==="+++"&&(a="toml"),a!=="yaml"&&i!==F)return{content:D};let[l]=s;return{frontMatter:{type:"front-matter",lang:a,value:c,startDelimiter:i,endDelimiter:F,raw:l.replace(/\n$/,"")},content:l.replace(/[^\n]/g," ")+D.slice(l.length)}}r.exports=n}}),Cs=I({"src/utils/get-last.js"(e,r){"use strict";q();var u=n=>n[n.length-1];r.exports=u}}),Dl=I({"src/common/parser-create-error.js"(e,r){"use strict";q();function u(n,D){let s=new SyntaxError(n+" ("+D.start.line+":"+D.start.column+")");return s.loc=D,s}r.exports=u}}),ms={};ps(ms,{default:()=>ll});function ll(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var cl=Ee({"node_modules/escape-string-regexp/index.js"(){q()}}),gs=I({"node_modules/semver/internal/debug.js"(e,r){q();var u=typeof Te=="object"&&Te.env&&Te.env.NODE_DEBUG&&/\bsemver\b/i.test(Te.env.NODE_DEBUG)?function(){for(var n=arguments.length,D=new Array(n),s=0;s{};r.exports=u}}),Fs=I({"node_modules/semver/internal/constants.js"(e,r){q();var u="2.0.0",n=256,D=Number.MAX_SAFE_INTEGER||9007199254740991,s=16;r.exports={SEMVER_SPEC_VERSION:u,MAX_LENGTH:n,MAX_SAFE_INTEGER:D,MAX_SAFE_COMPONENT_LENGTH:s}}}),hl=I({"node_modules/semver/internal/re.js"(e,r){q();var{MAX_SAFE_COMPONENT_LENGTH:u}=Fs(),n=gs();e=r.exports={};var D=e.re=[],s=e.src=[],i=e.t={},f=0,c=(F,a,l)=>{let h=f++;n(F,h,a),i[F]=h,s[h]=a,D[h]=new RegExp(a,l?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${s[i.NUMERICIDENTIFIER]})\\.(${s[i.NUMERICIDENTIFIER]})\\.(${s[i.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${s[i.NUMERICIDENTIFIERLOOSE]})\\.(${s[i.NUMERICIDENTIFIERLOOSE]})\\.(${s[i.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${s[i.NUMERICIDENTIFIER]}|${s[i.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${s[i.NUMERICIDENTIFIERLOOSE]}|${s[i.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${s[i.PRERELEASEIDENTIFIER]}(?:\\.${s[i.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${s[i.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[i.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${s[i.BUILDIDENTIFIER]}(?:\\.${s[i.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${s[i.MAINVERSION]}${s[i.PRERELEASE]}?${s[i.BUILD]}?`),c("FULL",`^${s[i.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${s[i.MAINVERSIONLOOSE]}${s[i.PRERELEASELOOSE]}?${s[i.BUILD]}?`),c("LOOSE",`^${s[i.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${s[i.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${s[i.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${s[i.XRANGEIDENTIFIER]})(?:\\.(${s[i.XRANGEIDENTIFIER]})(?:\\.(${s[i.XRANGEIDENTIFIER]})(?:${s[i.PRERELEASE]})?${s[i.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:${s[i.PRERELEASELOOSE]})?${s[i.BUILD]}?)?)?`),c("XRANGE",`^${s[i.GTLT]}\\s*${s[i.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${s[i.GTLT]}\\s*${s[i.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${u}})(?:\\.(\\d{1,${u}}))?(?:\\.(\\d{1,${u}}))?(?:$|[^\\d])`),c("COERCERTL",s[i.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${s[i.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",c("TILDE",`^${s[i.LONETILDE]}${s[i.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${s[i.LONETILDE]}${s[i.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${s[i.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",c("CARET",`^${s[i.LONECARET]}${s[i.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${s[i.LONECARET]}${s[i.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${s[i.GTLT]}\\s*(${s[i.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${s[i.GTLT]}\\s*(${s[i.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${s[i.GTLT]}\\s*(${s[i.LOOSEPLAIN]}|${s[i.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${s[i.XRANGEPLAIN]})\\s+-\\s+(${s[i.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${s[i.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[i.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),pl=I({"node_modules/semver/internal/parse-options.js"(e,r){q();var u=["includePrerelease","loose","rtl"],n=D=>D?typeof D!="object"?{loose:!0}:u.filter(s=>D[s]).reduce((s,i)=>(s[i]=!0,s),{}):{};r.exports=n}}),fl=I({"node_modules/semver/internal/identifiers.js"(e,r){q();var u=/^[0-9]+$/,n=(s,i)=>{let f=u.test(s),c=u.test(i);return f&&c&&(s=+s,i=+i),s===i?0:f&&!c?-1:c&&!f?1:sn(i,s);r.exports={compareIdentifiers:n,rcompareIdentifiers:D}}}),dl=I({"node_modules/semver/classes/semver.js"(e,r){q();var u=gs(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:D}=Fs(),{re:s,t:i}=hl(),f=pl(),{compareIdentifiers:c}=fl(),F=class{constructor(a,l){if(l=f(l),a instanceof F){if(a.loose===!!l.loose&&a.includePrerelease===!!l.includePrerelease)return a;a=a.version}else if(typeof a!="string")throw new TypeError(`Invalid Version: ${a}`);if(a.length>n)throw new TypeError(`version is longer than ${n} characters`);u("SemVer",a,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let h=a.trim().match(l.loose?s[i.LOOSE]:s[i.FULL]);if(!h)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+h[1],this.minor=+h[2],this.patch=+h[3],this.major>D||this.major<0)throw new TypeError("Invalid major version");if(this.minor>D||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>D||this.patch<0)throw new TypeError("Invalid patch version");h[4]?this.prerelease=h[4].split(".").map(C=>{if(/^[0-9]+$/.test(C)){let d=+C;if(d>=0&&d=0;)typeof this.prerelease[h]=="number"&&(this.prerelease[h]++,h=-2);h===-1&&this.prerelease.push(0)}l&&(c(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=[l,0]):this.prerelease=[l,0]);break;default:throw new Error(`invalid increment argument: ${a}`)}return this.format(),this.raw=this.version,this}};r.exports=F}}),Hr=I({"node_modules/semver/functions/compare.js"(e,r){q();var u=dl(),n=(D,s,i)=>new u(D,i).compare(new u(s,i));r.exports=n}}),El=I({"node_modules/semver/functions/lt.js"(e,r){q();var u=Hr(),n=(D,s,i)=>u(D,s,i)<0;r.exports=n}}),Cl=I({"node_modules/semver/functions/gte.js"(e,r){q();var u=Hr(),n=(D,s,i)=>u(D,s,i)>=0;r.exports=n}}),ml=I({"src/utils/arrayify.js"(e,r){"use strict";q(),r.exports=(u,n)=>Object.entries(u).map(D=>{let[s,i]=D;return Object.assign({[n]:s},i)})}}),gl=I({"package.json"(e,r){r.exports={version:"2.8.8"}}}),Fl=I({"node_modules/outdent/lib/index.js"(e,r){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function u(){for(var g=[],N=0;Ntypeof l=="string"||typeof l=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:c,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin",cliCategory:n},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:c,description:u` - Custom directory that contains prettier plugins in node_modules subdirectory. - Overrides default behavior when plugins are searched relatively to the location of Prettier. - Multiple values are accepted. - `,exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin-search-dir",cliCategory:n},printWidth:{since:"0.0.0",category:c,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:F,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` - Format code ending at a given character offset (exclusive). - The range will extend forwards to the end of the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:D},rangeStart:{since:"1.4.0",category:F,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` - Format code starting at a given character offset. - The range will extend backwards to the start of the first line containing the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:D},requirePragma:{since:"1.7.0",category:F,type:"boolean",default:!1,description:u` - Require either '@prettier' or '@format' to be present in the file's first docblock comment - in order for it to be formatted. - `,cliCategory:i},tabWidth:{type:"int",category:c,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:c,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:c,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};r.exports={CATEGORY_CONFIG:n,CATEGORY_EDITOR:D,CATEGORY_FORMAT:s,CATEGORY_OTHER:i,CATEGORY_OUTPUT:f,CATEGORY_GLOBAL:c,CATEGORY_SPECIAL:F,options:a}}}),vl=I({"src/main/support.js"(e,r){"use strict";q();var u={compare:Hr(),lt:El(),gte:Cl()},n=ml(),D=gl().version,s=Al().options;function i(){let{plugins:c=[],showUnreleased:F=!1,showDeprecated:a=!1,showInternal:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},h=D.split("-",1)[0],C=c.flatMap(g=>g.languages||[]).filter(m),d=n(Object.assign({},...c.map(g=>{let{options:N}=g;return N}),s),"name").filter(g=>m(g)&&T(g)).sort((g,N)=>g.name===N.name?0:g.name{g=Object.assign({},g),Array.isArray(g.default)&&(g.default=g.default.length===1?g.default[0].value:g.default.filter(m).sort((R,j)=>u.compare(j.since,R.since))[0].value),Array.isArray(g.choices)&&(g.choices=g.choices.filter(R=>m(R)&&T(R)),g.name==="parser"&&f(g,C,c));let N=Object.fromEntries(c.filter(R=>R.defaultOptions&&R.defaultOptions[g.name]!==void 0).map(R=>[R.name,R.defaultOptions[g.name]]));return Object.assign(Object.assign({},g),{},{pluginDefaults:N})});return{languages:C,options:d};function m(g){return F||!("since"in g)||g.since&&u.gte(h,g.since)}function T(g){return a||!("deprecated"in g)||g.deprecated&&u.lt(h,g.deprecated)}function w(g){if(l)return g;let{cliName:N,cliCategory:R,cliDescription:j}=g;return JD(g,KD)}}function f(c,F,a){let l=new Set(c.choices.map(h=>h.value));for(let h of F)if(h.parsers){for(let C of h.parsers)if(!l.has(C)){l.add(C);let d=a.find(T=>T.parsers&&T.parsers[C]),m=h.name;d&&d.name&&(m+=` (plugin: ${d.name})`),c.choices.push({value:C,description:m})}}}r.exports={getSupportInfo:i}}}),_l=I({"src/utils/is-non-empty-array.js"(e,r){"use strict";q();function u(n){return Array.isArray(n)&&n.length>0}r.exports=u}});function Sl(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var yl=Ee({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){q()}});function Tl(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Sl(),"")}var Bl=Ee({"node_modules/strip-ansi/index.js"(){q(),yl()}});function bl(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var wl=Ee({"node_modules/is-fullwidth-code-point/index.js"(){q()}}),Nl=I({"node_modules/emoji-regex/index.js"(e,r){"use strict";q(),r.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),As={};ps(As,{default:()=>Ol});function Ol(e){if(typeof e!="string"||e.length===0||(e=Tl(e),e.length===0))return 0;e=e.replace((0,vs.default)()," ");let r=0;for(let u=0;u=127&&n<=159||n>=768&&n<=879||(n>65535&&u++,r+=bl(n)?2:1)}return r}var vs,ql=Ee({"node_modules/string-width/index.js"(){q(),Bl(),wl(),vs=nl(Nl())}}),Il=I({"src/utils/get-string-width.js"(e,r){"use strict";q();var u=(ql(),ds(As)).default,n=/[^\x20-\x7F]/;function D(s){return s?n.test(s)?u(s):s.length:0}r.exports=D}}),zr=I({"src/utils/text/skip.js"(e,r){"use strict";q();function u(f){return(c,F,a)=>{let l=a&&a.backwards;if(F===!1)return!1;let{length:h}=c,C=F;for(;C>=0&&Cv[v.length-2];function T(v){return(y,B,b)=>{let L=b&&b.backwards;if(B===!1)return!1;let{length:U}=y,G=B;for(;G>=0&&G2&&arguments[2]!==void 0?arguments[2]:{},b=c(v,B.backwards?y-1:y,B),L=C(v,b,B);return b!==L}function g(v,y,B){for(let b=y;b2&&arguments[2]!==void 0?arguments[2]:{};return c(v,B.backwards?y-1:y,B)!==y}function k(v,y){let B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=0;for(let L=B;Lne?U:L}return G}function o(v,y){let B=v.slice(1,-1),b=y.parser==="json"||y.parser==="json5"&&y.quoteProps==="preserve"&&!y.singleQuote?'"':y.__isInHtmlAttribute?"'":t(B,y.singleQuote?"'":'"').quote;return E(B,b,!(y.parser==="css"||y.parser==="less"||y.parser==="scss"||y.__embeddedInHtml))}function E(v,y,B){let b=y==='"'?"'":'"',L=/\\(.)|(["'])/gs,U=v.replace(L,(G,W,ne)=>W===b?W:ne===y?"\\"+ne:ne||(B&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(W)?W:"\\"+W));return y+U+y}function p(v){return v.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(v,y){let B=v.match(new RegExp(`(${u(y)})+`,"g"));return B===null?0:B.reduce((b,L)=>Math.max(b,L.length/y.length),0)}function P(v,y){let B=v.match(new RegExp(`(${u(y)})+`,"g"));if(B===null)return 0;let b=new Map,L=0;for(let U of B){let G=U.length/y.length;b.set(G,!0),G>L&&(L=G)}for(let U=1;U{let{name:U}=L;return U.toLowerCase()===v})||B.find(L=>{let{aliases:U}=L;return Array.isArray(U)&&U.includes(v)})||B.find(L=>{let{extensions:U}=L;return Array.isArray(U)&&U.includes(`.${v}`)});return b&&b.parsers[0]}function Q(v){return v&&v.type==="front-matter"}function K(v){let y=new WeakMap;return function(B){return y.has(B)||y.set(B,Symbol(v)),y.get(B)}}function J(v){let y=v.type||v.kind||"(unknown type)",B=String(v.name||v.id&&(typeof v.id=="object"?v.id.name:v.id)||v.key&&(typeof v.key=="object"?v.key.name:v.key)||v.value&&(typeof v.value=="object"?"":String(v.value))||v.operator||"");return B.length>20&&(B=B.slice(0,19)+"\u2026"),y+(B?" "+B:"")}r.exports={inferParserByLanguage:H,getStringWidth:i,getMaxContinuousCount:A,getMinNotPresentContinuousCount:P,getPenultimate:m,getLast:n,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:d,getNextNonSpaceNonCommentCharacterIndex:_,getNextNonSpaceNonCommentCharacter:O,skip:T,skipWhitespace:f,skipSpaces:c,skipToLineEnd:F,skipEverythingButNewLine:a,skipInlineComment:l,skipTrailingComment:h,skipNewline:C,isNextLineEmptyAfterIndex:R,isNextLineEmpty:j,isPreviousLineEmpty:N,hasNewline:w,hasNewlineInRange:g,hasSpaces:x,getAlignmentSize:k,getIndentSize:$,getPreferredQuote:t,printString:o,printNumber:p,makeString:E,addLeadingComment:z,addDanglingComment:V,addTrailingComment:X,isFrontMatterNode:Q,isNonEmptyArray:s,createGroupIdMapper:K}}}),Pl=I({"vendors/html-tag-names.json"(e,r){r.exports={htmlTagNames:["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"]}}}),Ts=I({"src/language-html/utils/array-to-map.js"(e,r){"use strict";q();function u(n){let D=Object.create(null);for(let s of n)D[s]=!0;return D}r.exports=u}}),kl=I({"src/language-html/utils/html-tag-names.js"(e,r){"use strict";q();var{htmlTagNames:u}=Pl(),n=Ts(),D=n(u);r.exports=D}}),Ll=I({"vendors/html-element-attributes.json"(e,r){r.exports={htmlElementAttributes:{"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","target","type"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","align","alt","autocomplete","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["for","form"],legend:["align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","referrerpolicy","rel","rev","sizes","target","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","media","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","referrerpolicy","src","type"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["height","media","sizes","src","srcset","type","width"],style:["media","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]}}}}),$l=I({"src/language-html/utils/map-object.js"(e,r){"use strict";q();function u(n,D){let s=Object.create(null);for(let[i,f]of Object.entries(n))s[i]=D(f,i);return s}r.exports=u}}),Ml=I({"src/language-html/utils/html-elements-attributes.js"(e,r){"use strict";q();var{htmlElementAttributes:u}=Ll(),n=$l(),D=Ts(),s=n(u,D);r.exports=s}}),jl=I({"src/language-html/utils/is-unknown-namespace.js"(e,r){"use strict";q();function u(n){return n.type==="element"&&!n.hasExplicitNamespace&&!["html","svg"].includes(n.namespace)}r.exports=u}}),Ul=I({"src/language-html/pragma.js"(e,r){"use strict";q();function u(D){return/^\s*/.test(D)}function n(D){return` - -`+D.replace(/^\s*\n/,"")}r.exports={hasPragma:u,insertPragma:n}}}),Gl=I({"src/language-html/ast.js"(e,r){"use strict";q();var u={attrs:!0,children:!0},n=new Set(["parent"]),D=class{constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(let f of new Set([...n,...Object.keys(i)]))this.setProperty(f,i[f])}setProperty(i,f){if(this[i]!==f){if(i in u&&(f=f.map(c=>this.createChild(c))),!n.has(i)){this[i]=f;return}Object.defineProperty(this,i,{value:f,enumerable:!1,configurable:!0})}}map(i){let f;for(let c in u){let F=this[c];if(F){let a=s(F,l=>l.map(i));f!==F&&(f||(f=new D({parent:this.parent})),f.setProperty(c,a))}}if(f)for(let c in this)c in u||(f[c]=this[c]);return i(f||this)}walk(i){for(let f in u){let c=this[f];if(c)for(let F=0;F[i.fullName,i.value]))}};function s(i,f){let c=i.map(f);return c.some((F,a)=>F!==i[a])?c:i}r.exports={Node:D}}}),Vl=I({"src/language-html/conditional-comment.js"(e,r){"use strict";q();var{ParseSourceSpan:u}=Be(),n=[{regex:/^(\[if([^\]]*)]>)(.*?){try{return[!0,F(C,m).children]}catch{return[!1,[{type:"text",value:C,sourceSpan:new u(m,T)}]]}})();return{type:"ieConditionalComment",complete:w,children:g,condition:h.trim().replace(/\s+/g," "),sourceSpan:c.sourceSpan,startSourceSpan:new u(c.sourceSpan.start,m),endSourceSpan:new u(T,c.sourceSpan.end)}}function i(c,F,a){let[,l]=a;return{type:"ieConditionalStartComment",condition:l.trim().replace(/\s+/g," "),sourceSpan:c.sourceSpan}}function f(c){return{type:"ieConditionalEndComment",sourceSpan:c.sourceSpan}}r.exports={parseIeConditionalComment:D}}}),Xl=I({"src/language-html/loc.js"(e,r){"use strict";q();function u(D){return D.sourceSpan.start.offset}function n(D){return D.sourceSpan.end.offset}r.exports={locStart:u,locEnd:n}}}),Ze=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/tags.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r;(function(c){c[c.RAW_TEXT=0]="RAW_TEXT",c[c.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",c[c.PARSABLE_DATA=2]="PARSABLE_DATA"})(r=e.TagContentType||(e.TagContentType={}));function u(c){if(c[0]!=":")return[null,c];let F=c.indexOf(":",1);if(F==-1)throw new Error(`Unsupported format "${c}" expecting ":namespace:name"`);return[c.slice(1,F),c.slice(F+1)]}e.splitNsName=u;function n(c){return u(c)[1]==="ng-container"}e.isNgContainer=n;function D(c){return u(c)[1]==="ng-content"}e.isNgContent=D;function s(c){return u(c)[1]==="ng-template"}e.isNgTemplate=s;function i(c){return c===null?null:u(c)[0]}e.getNsPrefix=i;function f(c,F){return c?`:${c}:${F}`:F}e.mergeNsAndName=f,e.NAMED_ENTITIES={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",AMP:"&",amp:"&",And:"\u2A53",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",ap:"\u2248",apacir:"\u2A6F",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",Barwed:"\u2306",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",Because:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxDL:"\u2557",boxDl:"\u2556",boxdL:"\u2555",boxdl:"\u2510",boxDR:"\u2554",boxDr:"\u2553",boxdR:"\u2552",boxdr:"\u250C",boxH:"\u2550",boxh:"\u2500",boxHD:"\u2566",boxHd:"\u2564",boxhD:"\u2565",boxhd:"\u252C",boxHU:"\u2569",boxHu:"\u2567",boxhU:"\u2568",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxUL:"\u255D",boxUl:"\u255C",boxuL:"\u255B",boxul:"\u2518",boxUR:"\u255A",boxUr:"\u2559",boxuR:"\u2558",boxur:"\u2514",boxV:"\u2551",boxv:"\u2502",boxVH:"\u256C",boxVh:"\u256B",boxvH:"\u256A",boxvh:"\u253C",boxVL:"\u2563",boxVl:"\u2562",boxvL:"\u2561",boxvl:"\u2524",boxVR:"\u2560",boxVr:"\u255F",boxvR:"\u255E",boxvr:"\u251C",bprime:"\u2035",Breve:"\u02D8",breve:"\u02D8",brvbar:"\xA6",Bscr:"\u212C",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",Cap:"\u22D2",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",CenterDot:"\xB7",centerdot:"\xB7",Cfr:"\u212D",cfr:"\u{1D520}",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",Colon:"\u2237",colon:":",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",Conint:"\u222F",conint:"\u222E",ContourIntegral:"\u222E",Copf:"\u2102",copf:"\u{1D554}",coprod:"\u2210",Coproduct:"\u2210",COPY:"\xA9",copy:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",Cross:"\u2A2F",cross:"\u2717",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",Cup:"\u22D3",cup:"\u222A",cupbrcap:"\u2A48",CupCap:"\u224D",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",Dagger:"\u2021",dagger:"\u2020",daleth:"\u2138",Darr:"\u21A1",dArr:"\u21D3",darr:"\u2193",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",DD:"\u2145",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",Diamond:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",Downarrow:"\u21D3",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",ecir:"\u2256",Ecirc:"\xCA",ecirc:"\xEA",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",eDot:"\u2251",edot:"\u0117",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",Escr:"\u2130",escr:"\u212F",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",ExponentialE:"\u2147",exponentiale:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",ForAll:"\u2200",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",Fscr:"\u2131",fscr:"\u{1D4BB}",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",gE:"\u2267",ge:"\u2265",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",Gg:"\u22D9",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gnE:"\u2269",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",GT:">",Gt:"\u226B",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",hArr:"\u21D4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",Hfr:"\u210C",hfr:"\u{1D525}",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",Hopf:"\u210D",hopf:"\u{1D559}",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210B",hscr:"\u{1D4BD}",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",Ifr:"\u2111",ifr:"\u{1D526}",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",Int:"\u222C",int:"\u222B",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",Iscr:"\u2110",iscr:"\u{1D4BE}",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",Lang:"\u27EA",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",Larr:"\u219E",lArr:"\u21D0",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",lAtail:"\u291B",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lBarr:"\u290E",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",Leftarrow:"\u21D0",leftarrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22D8",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lnE:"\u2268",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftarrow:"\u27F5",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\u{1D4C1}",Lsh:"\u21B0",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",LT:"<",Lt:"\u226A",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",Mscr:"\u2133",mscr:"\u{1D4C2}",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21D7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlArr:"\u21CD",nlarr:"\u219A",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21CD",nleftarrow:"\u219A",nLeftrightarrow:"\u21CE",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",nopf:"\u{1D55F}",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nRightarrow:"\u21CF",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nVDash:"\u22AF",nVdash:"\u22AE",nvDash:"\u22AD",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwArr:"\u21D6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",Ocirc:"\xD4",ocirc:"\xF4",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",Or:"\u2A54",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",Otimes:"\u2A37",otimes:"\u2297",otimesas:"\u2A36",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",Popf:"\u2119",popf:"\u{1D561}",pound:"\xA3",Pr:"\u2ABB",pr:"\u227A",prap:"\u2AB7",prcue:"\u227C",prE:"\u2AB3",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",Qopf:"\u211A",qopf:"\u{1D562}",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",QUOT:'"',quot:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",Rang:"\u27EB",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",Rarr:"\u21A0",rArr:"\u21D2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",rAtail:"\u291C",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",RBarr:"\u2910",rBarr:"\u290F",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",REG:"\xAE",reg:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",Rfr:"\u211C",rfr:"\u{1D52F}",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",Rightarrow:"\u21D2",rightarrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",Ropf:"\u211D",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",Rscr:"\u211B",rscr:"\u{1D4C7}",Rsh:"\u21B1",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",Sc:"\u2ABC",sc:"\u227B",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227D",scE:"\u2AB4",sce:"\u2AB0",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",seArr:"\u21D8",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",Square:"\u25A1",square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",Sub:"\u22D0",sub:"\u2282",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",Subset:"\u22D0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",Sum:"\u2211",sum:"\u2211",sung:"\u266A",Sup:"\u22D1",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",Supset:"\u22D1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swArr:"\u21D9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",Tilde:"\u223C",tilde:"\u02DC",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",Uarr:"\u219F",uArr:"\u21D1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrow:"\u2191",Uparrow:"\u21D1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",Updownarrow:"\u21D5",updownarrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",upsi:"\u03C5",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",vArr:"\u21D5",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",Vbar:"\u2AEB",vBar:"\u2AE8",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22AB",Vdash:"\u22A9",vDash:"\u22A8",vdash:"\u22A2",Vdashl:"\u2AE6",Vee:"\u22C1",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",Wedge:"\u22C0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",Xi:"\u039E",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",Yuml:"\u0178",yuml:"\xFF",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",Zfr:"\u2128",zfr:"\u{1D537}",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",Zopf:"\u2124",zopf:"\u{1D56B}",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},e.NGSP_UNICODE="\uE500",e.NAMED_ENTITIES.ngsp=e.NGSP_UNICODE}}),Bs=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_tags.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ze(),u=class{constructor(){let{closedByChildren:i,implicitNamespacePrefix:f,contentType:c=r.TagContentType.PARSABLE_DATA,closedByParent:F=!1,isVoid:a=!1,ignoreFirstLf:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,i&&i.length>0&&i.forEach(h=>this.closedByChildren[h]=!0),this.isVoid=a,this.closedByParent=F||a,this.implicitNamespacePrefix=f||null,this.contentType=c,this.ignoreFirstLf=l}isClosedByChild(i){return this.isVoid||i.toLowerCase()in this.closedByChildren}};e.HtmlTagDefinition=u;var n,D;function s(i){return D||(n=new u,D={base:new u({isVoid:!0}),meta:new u({isVoid:!0}),area:new u({isVoid:!0}),embed:new u({isVoid:!0}),link:new u({isVoid:!0}),img:new u({isVoid:!0}),input:new u({isVoid:!0}),param:new u({isVoid:!0}),hr:new u({isVoid:!0}),br:new u({isVoid:!0}),source:new u({isVoid:!0}),track:new u({isVoid:!0}),wbr:new u({isVoid:!0}),p:new u({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new u({closedByChildren:["tbody","tfoot"]}),tbody:new u({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new u({closedByChildren:["tbody"],closedByParent:!0}),tr:new u({closedByChildren:["tr"],closedByParent:!0}),td:new u({closedByChildren:["td","th"],closedByParent:!0}),th:new u({closedByChildren:["td","th"],closedByParent:!0}),col:new u({isVoid:!0}),svg:new u({implicitNamespacePrefix:"svg"}),math:new u({implicitNamespacePrefix:"math"}),li:new u({closedByChildren:["li"],closedByParent:!0}),dt:new u({closedByChildren:["dt","dd"]}),dd:new u({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new u({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new u({closedByChildren:["optgroup"],closedByParent:!0}),option:new u({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new u({ignoreFirstLf:!0}),listing:new u({ignoreFirstLf:!0}),style:new u({contentType:r.TagContentType.RAW_TEXT}),script:new u({contentType:r.TagContentType.RAW_TEXT}),title:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),D[i]||n}e.getHtmlTagDefinition=s}}),Hl=I({"node_modules/angular-html-parser/lib/compiler/src/ast_path.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(u){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1;this.path=u,this.position=n}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(u){return u&&this.path[this.path.indexOf(u)-1]}childOf(u){return this.path[this.path.indexOf(u)+1]}first(u){for(let n=this.path.length-1;n>=0;n--){let D=this.path[n];if(D instanceof u)return D}}push(u){this.path.push(u)}pop(){return this.path.pop()}};e.AstPath=r}}),bs=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/ast.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Hl(),u=class{constructor(d,m,T){this.value=d,this.sourceSpan=m,this.i18n=T,this.type="text"}visit(d,m){return d.visitText(this,m)}};e.Text=u;var n=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type="cdata"}visit(d,m){return d.visitCdata(this,m)}};e.CDATA=n;var D=class{constructor(d,m,T,w,g,N){this.switchValue=d,this.type=m,this.cases=T,this.sourceSpan=w,this.switchValueSourceSpan=g,this.i18n=N}visit(d,m){return d.visitExpansion(this,m)}};e.Expansion=D;var s=class{constructor(d,m,T,w,g){this.value=d,this.expression=m,this.sourceSpan=T,this.valueSourceSpan=w,this.expSourceSpan=g}visit(d,m){return d.visitExpansionCase(this,m)}};e.ExpansionCase=s;var i=class{constructor(d,m,T){let w=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null;this.name=d,this.value=m,this.sourceSpan=T,this.valueSpan=w,this.nameSpan=g,this.i18n=N,this.type="attribute"}visit(d,m){return d.visitAttribute(this,m)}};e.Attribute=i;var f=class{constructor(d,m,T,w){let g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,R=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,j=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null;this.name=d,this.attrs=m,this.children=T,this.sourceSpan=w,this.startSourceSpan=g,this.endSourceSpan=N,this.nameSpan=R,this.i18n=j,this.type="element"}visit(d,m){return d.visitElement(this,m)}};e.Element=f;var c=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type="comment"}visit(d,m){return d.visitComment(this,m)}};e.Comment=c;var F=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type="docType"}visit(d,m){return d.visitDocType(this,m)}};e.DocType=F;function a(d,m){let T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,w=[],g=d.visit?N=>d.visit(N,T)||N.visit(d,T):N=>N.visit(d,T);return m.forEach(N=>{let R=g(N);R&&w.push(R)}),w}e.visitAll=a;var l=class{constructor(){}visitElement(d,m){this.visitChildren(m,T=>{T(d.attrs),T(d.children)})}visitAttribute(d,m){}visitText(d,m){}visitCdata(d,m){}visitComment(d,m){}visitDocType(d,m){}visitExpansion(d,m){return this.visitChildren(m,T=>{T(d.cases)})}visitExpansionCase(d,m){}visitChildren(d,m){let T=[],w=this;function g(N){N&&T.push(a(w,N,d))}return m(g),Array.prototype.concat.apply([],T)}};e.RecursiveVisitor=l;function h(d){let m=d.sourceSpan.start.offset,T=d.sourceSpan.end.offset;return d instanceof f&&(d.endSourceSpan?T=d.endSourceSpan.end.offset:d.children&&d.children.length&&(T=h(d.children[d.children.length-1]).end)),{start:m,end:T}}function C(d,m){let T=[],w=new class extends l{visit(g,N){let R=h(g);if(R.start<=m&&m]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function n(D,s){if(s!=null&&!(Array.isArray(s)&&s.length==2))throw new Error(`Expected '${D}' to be an array, [start, end].`);if(s!=null){let i=s[0],f=s[1];u.forEach(c=>{if(c.test(i)||c.test(f))throw new Error(`['${i}', '${f}'] contains unusable interpolation symbol.`)})}}e.assertInterpolationSymbols=n}}),Wl=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/interpolation_config.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=zl(),u=class{constructor(n,D){this.start=n,this.end=D}static fromArray(n){return n?(r.assertInterpolationSymbols("interpolation",n),new u(n[0],n[1])):e.DEFAULT_INTERPOLATION_CONFIG}};e.InterpolationConfig=u,e.DEFAULT_INTERPOLATION_CONFIG=new u("{{","}}")}}),Yl=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/lexer.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Es(),u=Be(),n=Wl(),D=Ze(),s;(function(t){t[t.TAG_OPEN_START=0]="TAG_OPEN_START",t[t.TAG_OPEN_END=1]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE=3]="TAG_CLOSE",t[t.TEXT=4]="TEXT",t[t.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT=6]="RAW_TEXT",t[t.COMMENT_START=7]="COMMENT_START",t[t.COMMENT_END=8]="COMMENT_END",t[t.CDATA_START=9]="CDATA_START",t[t.CDATA_END=10]="CDATA_END",t[t.ATTR_NAME=11]="ATTR_NAME",t[t.ATTR_QUOTE=12]="ATTR_QUOTE",t[t.ATTR_VALUE=13]="ATTR_VALUE",t[t.DOC_TYPE_START=14]="DOC_TYPE_START",t[t.DOC_TYPE_END=15]="DOC_TYPE_END",t[t.EXPANSION_FORM_START=16]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE=17]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START=18]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END=19]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END=20]="EXPANSION_FORM_END",t[t.EOF=21]="EOF"})(s=e.TokenType||(e.TokenType={}));var i=class{constructor(t,o,E){this.type=t,this.parts=o,this.sourceSpan=E}};e.Token=i;var f=class extends u.ParseError{constructor(t,o,E){super(E,t),this.tokenType=o}};e.TokenError=f;var c=class{constructor(t,o){this.tokens=t,this.errors=o}};e.TokenizeResult=c;function F(t,o,E){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return new d(new u.ParseSourceFile(t,o),E,p).tokenize()}e.tokenize=F;var a=/\r\n?/g;function l(t){return`Unexpected character "${t===r.$EOF?"EOF":String.fromCharCode(t)}"`}function h(t){return`Unknown entity "${t}" - use the "&#;" or "&#x;" syntax`}var C=class{constructor(t){this.error=t}},d=class{constructor(t,o,E){this._getTagContentType=o,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=E.tokenizeExpansionForms||!1,this._interpolationConfig=E.interpolationConfig||n.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=E.leadingTriviaChars&&E.leadingTriviaChars.map(A=>A.codePointAt(0)||0),this._canSelfClose=E.canSelfClose||!1,this._allowHtmComponentClosingTags=E.allowHtmComponentClosingTags||!1;let p=E.range||{endPos:t.content.length,startPos:0,startLine:0,startCol:0};this._cursor=E.escapedString?new k(t,p):new x(t,p);try{this._cursor.init()}catch(A){this.handleError(A)}}_processCarriageReturns(t){return t.replace(a,` -`)}tokenize(){for(;this._cursor.peek()!==r.$EOF;){let t=this._cursor.clone();try{if(this._attemptCharCode(r.$LT))if(this._attemptCharCode(r.$BANG))this._attemptStr("[CDATA[")?this._consumeCdata(t):this._attemptStr("--")?this._consumeComment(t):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(t):this._consumeBogusComment(t);else if(this._attemptCharCode(r.$SLASH))this._consumeTagClose(t);else{let o=this._cursor.clone();this._attemptCharCode(r.$QUESTION)?(this._cursor=o,this._consumeBogusComment(t)):this._consumeTagOpen(t)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(o){this.handleError(o)}}return this._beginToken(s.EOF),this._endToken([]),new c(O(this.tokens),this.errors)}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(R(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===r.$RBRACE){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();this._currentTokenStart=o,this._currentTokenType=t}_endToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();if(this._currentTokenStart===null)throw new f("Programming error - attempted to end a token when there was no start to the token",this._currentTokenType,this._cursor.getSpan(o));if(this._currentTokenType===null)throw new f("Programming error - attempted to end a token which has no token type",null,this._cursor.getSpan(this._currentTokenStart));let E=new i(this._currentTokenType,t,this._cursor.getSpan(this._currentTokenStart,this._leadingTriviaCodePoints));return this.tokens.push(E),this._currentTokenStart=null,this._currentTokenType=null,E}_createError(t,o){this._isInExpansionForm()&&(t+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let E=new f(t,this._currentTokenType,o);return this._currentTokenStart=null,this._currentTokenType=null,new C(E)}handleError(t){if(t instanceof $&&(t=this._createError(t.msg,this._cursor.getSpan(t.cursor))),t instanceof C)this.errors.push(t.error);else throw t}_attemptCharCode(t){return this._cursor.peek()===t?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(t){return j(this._cursor.peek(),t)?(this._cursor.advance(),!0):!1}_requireCharCode(t){let o=this._cursor.clone();if(!this._attemptCharCode(t))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(o))}_attemptStr(t){let o=t.length;if(this._cursor.charsLeft()this._attemptStr("-->")),this._beginToken(s.COMMENT_END),this._requireStr("-->"),this._endToken([])}_consumeBogusComment(t){this._beginToken(s.COMMENT_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(t){this._beginToken(s.CDATA_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr("]]>")),this._beginToken(s.CDATA_END),this._requireStr("]]>"),this._endToken([])}_consumeDocType(t){this._beginToken(s.DOC_TYPE_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){let t=this._cursor.clone(),o="";for(;this._cursor.peek()!==r.$COLON&&!w(this._cursor.peek());)this._cursor.advance();let E;this._cursor.peek()===r.$COLON?(o=this._cursor.getChars(t),this._cursor.advance(),E=this._cursor.clone()):E=t,this._requireCharCodeUntilFn(T,o===""?0:1);let p=this._cursor.getChars(E);return[o,p]}_consumeTagOpen(t){let o,E,p,A=this.tokens.length,P=this._cursor.clone(),M=[];try{if(!r.isAsciiLetter(this._cursor.peek()))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(t));for(p=this._consumeTagOpenStart(t),E=p.parts[0],o=p.parts[1],this._attemptCharCodeUntilFn(m);this._cursor.peek()!==r.$SLASH&&this._cursor.peek()!==r.$GT;){let[V,X]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(m),this._attemptCharCode(r.$EQ)){this._attemptCharCodeUntilFn(m);let H=this._consumeAttributeValue();M.push({prefix:V,name:X,value:H})}else M.push({prefix:V,name:X});this._attemptCharCodeUntilFn(m)}this._consumeTagOpenEnd()}catch(V){if(V instanceof C){this._cursor=P,p&&(this.tokens.length=A),this._beginToken(s.TEXT,t),this._endToken(["<"]);return}throw V}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===s.TAG_OPEN_END_VOID)return;let z=this._getTagContentType(o,E,this._fullNameStack.length>0,M);this._handleFullNameStackForTagOpen(E,o),z===D.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(E,o,!1):z===D.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(E,o,!0)}_consumeRawTextWithTagClose(t,o,E){let p=this._consumeRawText(E,()=>!this._attemptCharCode(r.$LT)||!this._attemptCharCode(r.$SLASH)||(this._attemptCharCodeUntilFn(m),!this._attemptStrCaseInsensitive(t?`${t}:${o}`:o))?!1:(this._attemptCharCodeUntilFn(m),this._attemptCharCode(r.$GT)));this._beginToken(s.TAG_CLOSE),this._requireCharCodeUntilFn(A=>A===r.$GT,3),this._cursor.advance(),this._endToken([t,o]),this._handleFullNameStackForTagClose(t,o)}_consumeTagOpenStart(t){this._beginToken(s.TAG_OPEN_START,t);let o=this._consumePrefixAndName();return this._endToken(o)}_consumeAttributeName(){let t=this._cursor.peek();if(t===r.$SQ||t===r.$DQ)throw this._createError(l(t),this._cursor.getSpan());this._beginToken(s.ATTR_NAME);let o=this._consumePrefixAndName();return this._endToken(o),o}_consumeAttributeValue(){let t;if(this._cursor.peek()===r.$SQ||this._cursor.peek()===r.$DQ){this._beginToken(s.ATTR_QUOTE);let o=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(o)]),this._beginToken(s.ATTR_VALUE);let E=[];for(;this._cursor.peek()!==o;)E.push(this._readChar(!0));t=this._processCarriageReturns(E.join("")),this._endToken([t]),this._beginToken(s.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(o)])}else{this._beginToken(s.ATTR_VALUE);let o=this._cursor.clone();this._requireCharCodeUntilFn(T,1),t=this._processCarriageReturns(this._cursor.getChars(o)),this._endToken([t])}return t}_consumeTagOpenEnd(){let t=this._attemptCharCode(r.$SLASH)?s.TAG_OPEN_END_VOID:s.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(r.$GT),this._endToken([])}_consumeTagClose(t){if(this._beginToken(s.TAG_CLOSE,t),this._attemptCharCodeUntilFn(m),this._allowHtmComponentClosingTags&&this._attemptCharCode(r.$SLASH))this._attemptCharCodeUntilFn(m),this._requireCharCode(r.$GT),this._endToken([]);else{let[o,E]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(m),this._requireCharCode(r.$GT),this._endToken([o,E]),this._handleFullNameStackForTagClose(o,E)}}_consumeExpansionFormStart(){this._beginToken(s.EXPANSION_FORM_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._expansionCaseStack.push(s.EXPANSION_FORM_START),this._beginToken(s.RAW_TEXT);let t=this._readUntil(r.$COMMA);this._endToken([t]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(m),this._beginToken(s.RAW_TEXT);let o=this._readUntil(r.$COMMA);this._endToken([o]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(m)}_consumeExpansionCaseStart(){this._beginToken(s.EXPANSION_CASE_VALUE);let t=this._readUntil(r.$LBRACE).trim();this._endToken([t]),this._attemptCharCodeUntilFn(m),this._beginToken(s.EXPANSION_CASE_EXP_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(m),this._expansionCaseStack.push(s.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(s.EXPANSION_CASE_EXP_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(m),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(s.EXPANSION_FORM_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){let t=this._cursor.clone();this._beginToken(s.TEXT,t);let o=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(o.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(o.push(this._interpolationConfig.end),this._inInterpolation=!1):o.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(o.join(""))])}_isTextEnd(){return!!(this._cursor.peek()===r.$LT||this._cursor.peek()===r.$EOF||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===r.$RBRACE&&this._isInExpansionCase()))}_readUntil(t){let o=this._cursor.clone();return this._attemptUntilChar(t),this._cursor.getChars(o)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==r.$LBRACE)return!1;if(this._interpolationConfig){let t=this._cursor.clone(),o=this._attemptStr(this._interpolationConfig.start);return this._cursor=t,!o}return!0}_handleFullNameStackForTagOpen(t,o){let E=D.mergeNsAndName(t,o);(this._fullNameStack.length===0||this._fullNameStack[this._fullNameStack.length-1]===E)&&this._fullNameStack.push(E)}_handleFullNameStackForTagClose(t,o){let E=D.mergeNsAndName(t,o);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]===E&&this._fullNameStack.pop()}};function m(t){return!r.isWhitespace(t)||t===r.$EOF}function T(t){return r.isWhitespace(t)||t===r.$GT||t===r.$SLASH||t===r.$SQ||t===r.$DQ||t===r.$EQ}function w(t){return(tr.$9)}function g(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiHexDigit(t)}function N(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiLetter(t)}function R(t){return t===r.$EQ||r.isAsciiLetter(t)||r.isDigit(t)}function j(t,o){return _(t)==_(o)}function _(t){return t>=r.$a&&t<=r.$z?t-r.$a+r.$A:t}function O(t){let o=[],E;for(let p=0;p0&&o.indexOf(t.peek())!==-1;)t.advance();return new u.ParseSourceSpan(new u.ParseLocation(t.file,t.state.offset,t.state.line,t.state.column),new u.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(t){return this.input.substring(t.state.offset,this.state.offset)}charAt(t){return this.input.charCodeAt(t)}advanceState(t){if(t.offset>=this.end)throw this.state=t,new $('Unexpected character "EOF"',this);let o=this.charAt(t.offset);o===r.$LF?(t.line++,t.column=0):r.isNewLine(o)||t.column++,t.offset++,this.updatePeek(t)}updatePeek(t){t.peek=t.offset>=this.end?r.$EOF:this.charAt(t.offset)}},k=class extends x{constructor(t,o){t instanceof k?(super(t),this.internalState=Object.assign({},t.internalState)):(super(t,o),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new k(this)}getChars(t){let o=t.clone(),E="";for(;o.internalState.offsetthis.internalState.peek;if(t()===r.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),t()===r.$n)this.state.peek=r.$LF;else if(t()===r.$r)this.state.peek=r.$CR;else if(t()===r.$v)this.state.peek=r.$VTAB;else if(t()===r.$t)this.state.peek=r.$TAB;else if(t()===r.$b)this.state.peek=r.$BSPACE;else if(t()===r.$f)this.state.peek=r.$FF;else if(t()===r.$u)if(this.advanceState(this.internalState),t()===r.$LBRACE){this.advanceState(this.internalState);let o=this.clone(),E=0;for(;t()!==r.$RBRACE;)this.advanceState(this.internalState),E++;this.state.peek=this.decodeHexDigits(o,E)}else{let o=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,4)}else if(t()===r.$x){this.advanceState(this.internalState);let o=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,2)}else if(r.isOctalDigit(t())){let o="",E=0,p=this.clone();for(;r.isOctalDigit(t())&&E<3;)p=this.clone(),o+=String.fromCodePoint(t()),this.advanceState(this.internalState),E++;this.state.peek=parseInt(o,8),this.internalState=p.internalState}else r.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(t,o){let E=this.input.substr(t.internalState.offset,o),p=parseInt(E,16);if(isNaN(p))throw t.state=t.internalState,new $("Invalid hexadecimal escape sequence",t);return p}},$=class{constructor(t,o){this.msg=t,this.cursor=o}};e.CursorError=$}}),ls=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/parser.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Be(),u=bs(),n=Yl(),D=Ze(),s=class extends r.ParseError{constructor(a,l,h){super(l,h),this.elementName=a}static create(a,l,h){return new s(a,l,h)}};e.TreeError=s;var i=class{constructor(a,l){this.rootNodes=a,this.errors=l}};e.ParseTreeResult=i;var f=class{constructor(a){this.getTagDefinition=a}parse(a,l,h){let C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,d=arguments.length>4?arguments[4]:void 0,m=x=>function(k){for(var $=arguments.length,t=new Array($>1?$-1:0),o=1;o<$;o++)t[o-1]=arguments[o];return x(k.toLowerCase(),...t)},T=C?this.getTagDefinition:m(this.getTagDefinition),w=x=>T(x).contentType,g=C?d:m(d),N=d?(x,k,$,t)=>{let o=g(x,k,$,t);return o!==void 0?o:w(x)}:w,R=n.tokenize(a,l,N,h),j=h&&h.canSelfClose||!1,_=h&&h.allowHtmComponentClosingTags||!1,O=new c(R.tokens,T,j,_,C).build();return new i(O.rootNodes,R.errors.concat(O.errors))}};e.Parser=f;var c=class{constructor(a,l,h,C,d){this.tokens=a,this.getTagDefinition=l,this.canSelfClose=h,this.allowHtmComponentClosingTags=C,this.isTagNameCaseSensitive=d,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==n.TokenType.EOF;)this._peek.type===n.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===n.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===n.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===n.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===n.TokenType.TEXT||this._peek.type===n.TokenType.RAW_TEXT||this._peek.type===n.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===n.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===n.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new i(this._rootNodes,this._errors)}_advance(){let a=this._peek;return this._index0)return this._errors=this._errors.concat(d.errors),null;let m=new r.ParseSourceSpan(a.sourceSpan.start,C.sourceSpan.end),T=new r.ParseSourceSpan(l.sourceSpan.start,C.sourceSpan.end);return new u.ExpansionCase(a.parts[0],d.rootNodes,m,a.sourceSpan,T)}_collectExpansionExpTokens(a){let l=[],h=[n.TokenType.EXPANSION_CASE_EXP_START];for(;;){if((this._peek.type===n.TokenType.EXPANSION_FORM_START||this._peek.type===n.TokenType.EXPANSION_CASE_EXP_START)&&h.push(this._peek.type),this._peek.type===n.TokenType.EXPANSION_CASE_EXP_END)if(F(h,n.TokenType.EXPANSION_CASE_EXP_START)){if(h.pop(),h.length==0)return l}else return this._errors.push(s.create(null,a.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===n.TokenType.EXPANSION_FORM_END)if(F(h,n.TokenType.EXPANSION_FORM_START))h.pop();else return this._errors.push(s.create(null,a.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===n.TokenType.EOF)return this._errors.push(s.create(null,a.sourceSpan,"Invalid ICU message. Missing '}'.")),null;l.push(this._advance())}}_getText(a){let l=a.parts[0];if(l.length>0&&l[0]==` -`){let h=this._getParentElement();h!=null&&h.children.length==0&&this.getTagDefinition(h.name).ignoreFirstLf&&(l=l.substring(1))}return l}_consumeText(a){let l=this._getText(a);l.length>0&&this._addToParent(new u.Text(l,a.sourceSpan))}_closeVoidElement(){let a=this._getParentElement();a&&this.getTagDefinition(a.name).isVoid&&this._elementStack.pop()}_consumeStartTag(a){let l=a.parts[0],h=a.parts[1],C=[];for(;this._peek.type===n.TokenType.ATTR_NAME;)C.push(this._consumeAttr(this._advance()));let d=this._getElementFullName(l,h,this._getParentElement()),m=!1;if(this._peek.type===n.TokenType.TAG_OPEN_END_VOID){this._advance(),m=!0;let R=this.getTagDefinition(d);this.canSelfClose||R.canSelfClose||D.getNsPrefix(d)!==null||R.isVoid||this._errors.push(s.create(d,a.sourceSpan,`Only void and foreign elements can be self closed "${a.parts[1]}"`))}else this._peek.type===n.TokenType.TAG_OPEN_END&&(this._advance(),m=!1);let T=this._peek.sourceSpan.start,w=new r.ParseSourceSpan(a.sourceSpan.start,T),g=new r.ParseSourceSpan(a.sourceSpan.start.moveBy(1),a.sourceSpan.end),N=new u.Element(d,C,[],w,w,void 0,g);this._pushElement(N),m&&(this._popElement(d),N.endSourceSpan=w)}_pushElement(a){let l=this._getParentElement();l&&this.getTagDefinition(l.name).isClosedByChild(a.name)&&this._elementStack.pop(),this._addToParent(a),this._elementStack.push(a)}_consumeEndTag(a){let l=this.allowHtmComponentClosingTags&&a.parts.length===0?null:this._getElementFullName(a.parts[0],a.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=a.sourceSpan),l&&this.getTagDefinition(l).isVoid)this._errors.push(s.create(l,a.sourceSpan,`Void elements do not have end tags "${a.parts[1]}"`));else if(!this._popElement(l)){let h=`Unexpected closing tag "${l}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this._errors.push(s.create(l,a.sourceSpan,h))}}_popElement(a){for(let l=this._elementStack.length-1;l>=0;l--){let h=this._elementStack[l];if(!a||(D.getNsPrefix(h.name)?h.name==a:h.name.toLowerCase()==a.toLowerCase()))return this._elementStack.splice(l,this._elementStack.length-l),!0;if(!this.getTagDefinition(h.name).closedByParent)return!1}return!1}_consumeAttr(a){let l=D.mergeNsAndName(a.parts[0],a.parts[1]),h=a.sourceSpan.end,C="",d,m;if(this._peek.type===n.TokenType.ATTR_QUOTE&&(m=this._advance().sourceSpan.start),this._peek.type===n.TokenType.ATTR_VALUE){let T=this._advance();C=T.parts[0],h=T.sourceSpan.end,d=T.sourceSpan}return this._peek.type===n.TokenType.ATTR_QUOTE&&(h=this._advance().sourceSpan.end,d=new r.ParseSourceSpan(m,h)),new u.Attribute(l,C,new r.ParseSourceSpan(a.sourceSpan.start,h),d,a.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let a=null;for(let l=this._elementStack.length-1;l>=0;l--){if(!D.isNgContainer(this._elementStack[l].name))return{parent:this._elementStack[l],container:a};a=this._elementStack[l]}return{parent:null,container:a}}_addToParent(a){let l=this._getParentElement();l!=null?l.children.push(a):this._rootNodes.push(a)}_insertBeforeContainer(a,l,h){if(!l)this._addToParent(h),this._elementStack.push(h);else{if(a){let C=a.children.indexOf(l);a.children[C]=h}else this._rootNodes.push(h);h.children.push(l),this._elementStack.splice(this._elementStack.indexOf(l),0,h)}}_getElementFullName(a,l,h){return a===""&&(a=this.getTagDefinition(l).implicitNamespacePrefix||"",a===""&&h!=null&&(a=D.getNsPrefix(h.name))),D.mergeNsAndName(a,l)}};function F(a,l){return a.length>0&&a[a.length-1]===l}}}),Ql=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_parser.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Bs(),u=ls(),n=ls();e.ParseTreeResult=n.ParseTreeResult,e.TreeError=n.TreeError;var D=class extends u.Parser{constructor(){super(r.getHtmlTagDefinition)}parse(s,i,f){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,F=arguments.length>4?arguments[4]:void 0;return super.parse(s,i,f,c,F)}};e.HtmlParser=D}}),ws=I({"node_modules/angular-html-parser/lib/angular-html-parser/src/index.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ql(),u=Ze();e.TagContentType=u.TagContentType;var n=null,D=()=>(n||(n=new r.HtmlParser),n);function s(i){let f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{canSelfClose:c=!1,allowHtmComponentClosingTags:F=!1,isTagNameCaseSensitive:a=!1,getTagContentType:l}=f;return D().parse(i,"angular-html-parser",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:c,allowHtmComponentClosingTags:F},a,l)}e.parse=s}});q();var{ParseSourceSpan:Qe,ParseLocation:cs,ParseSourceFile:Kl}=Be(),Jl=ol(),Zl=Cs(),ec=Dl(),{inferParserByLanguage:rc}=xl(),uc=kl(),Vr=Ml(),hs=jl(),{hasPragma:tc}=Ul(),{Node:nc}=Gl(),{parseIeConditionalComment:sc}=Vl(),{locStart:ic,locEnd:ac}=Xl();function oc(e,r,u){let{canSelfClose:n,normalizeTagName:D,normalizeAttributeName:s,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f,getTagContentType:c}=r,F=ws(),{RecursiveVisitor:a,visitAll:l}=bs(),{ParseSourceSpan:h}=Be(),{getHtmlTagDefinition:C}=Bs(),{rootNodes:d,errors:m}=F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f,getTagContentType:c});if(u.parser==="vue")if(d.some(O=>O.type==="docType"&&O.value==="html"||O.type==="element"&&O.name.toLowerCase()==="html")){n=!0,D=!0,s=!0,i=!0,f=!1;let O=F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f});d=O.rootNodes,m=O.errors}else{let O=x=>{if(!x||x.type!=="element"||x.name!=="template")return!1;let k=x.attrs.find(t=>t.name==="lang"),$=k&&k.value;return!$||rc($,u)==="html"};if(d.some(O)){let x,k=()=>F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f}),$=()=>x||(x=k()),t=o=>$().rootNodes.find(E=>{let{startSourceSpan:p}=E;return p&&p.start.offset===o.startSourceSpan.start.offset});for(let o=0;o0){let{msg:_,span:{start:O,end:x}}=m[0];throw ec(_,{start:{line:O.line+1,column:O.col+1},end:{line:x.line+1,column:x.col+1}})}let T=_=>{let O=_.name.startsWith(":")?_.name.slice(1).split(":")[0]:null,x=_.nameSpan.toString(),k=O!==null&&x.startsWith(`${O}:`),$=k?x.slice(O.length+1):x;_.name=$,_.namespace=O,_.hasExplicitNamespace=k},w=_=>{switch(_.type){case"element":T(_);for(let O of _.attrs)T(O),O.valueSpan?(O.value=O.valueSpan.toString(),/["']/.test(O.value[0])&&(O.value=O.value.slice(1,-1))):O.value=null;break;case"comment":_.value=_.sourceSpan.toString().slice(4,-3);break;case"text":_.value=_.sourceSpan.toString();break}},g=(_,O)=>{let x=_.toLowerCase();return O(x)?x:_},N=_=>{if(_.type==="element"&&(D&&(!_.namespace||_.namespace===_.tagDefinition.implicitNamespacePrefix||hs(_))&&(_.name=g(_.name,O=>O in uc)),s)){let O=Vr[_.name]||Object.create(null);for(let x of _.attrs)x.namespace||(x.name=g(x.name,k=>_.name in Vr&&(k in Vr["*"]||k in O)))}},R=_=>{_.sourceSpan&&_.endSourceSpan&&(_.sourceSpan=new h(_.sourceSpan.start,_.endSourceSpan.end))},j=_=>{if(_.type==="element"){let O=C(f?_.name:_.name.toLowerCase());!_.namespace||_.namespace===O.implicitNamespacePrefix||hs(_)?_.tagDefinition=O:_.tagDefinition=C("")}};return l(new class extends a{visit(_){w(_),j(_),N(_),R(_)}},d),d}function Ns(e,r,u){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{frontMatter:D,content:s}=n?Jl(e):{frontMatter:null,content:e},i=new Kl(e,r.filepath),f=new cs(i,0,0,0),c=f.moveBy(e.length),F={type:"root",sourceSpan:new Qe(f,c),children:oc(s,u,r)};if(D){let h=new cs(i,0,0,0),C=h.moveBy(D.raw.length);D.sourceSpan=new Qe(h,C),F.children.unshift(D)}let a=new nc(F),l=(h,C)=>{let{offset:d}=C,m=e.slice(0,d).replace(/[^\n\r]/g," "),w=Ns(m+h,r,u,!1);w.sourceSpan=new Qe(C,Zl(w.children).sourceSpan.end);let g=w.children[0];return g.length===d?w.children.shift():(g.sourceSpan=new Qe(g.sourceSpan.start.moveBy(d),g.sourceSpan.end),g.value=g.value.slice(d)),w};return a.walk(h=>{if(h.type==="comment"){let C=sc(h,l);C&&h.parent.replaceChild(h,C)}}),a}function Ke(){let{name:e,canSelfClose:r=!1,normalizeTagName:u=!1,normalizeAttributeName:n=!1,allowHtmComponentClosingTags:D=!1,isTagNameCaseSensitive:s=!1,getTagContentType:i}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return{parse:(f,c,F)=>Ns(f,Object.assign({parser:e},F),{canSelfClose:r,normalizeTagName:u,normalizeAttributeName:n,allowHtmComponentClosingTags:D,isTagNameCaseSensitive:s,getTagContentType:i}),hasPragma:tc,astFormat:"html",locStart:ic,locEnd:ac}}Os.exports={parsers:{html:Ke({name:"html",canSelfClose:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:Ke({name:"angular",canSelfClose:!0}),vue:Ke({name:"vue",canSelfClose:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,r,u,n)=>{if(e.toLowerCase()!=="html"&&!u&&(e!=="template"||n.some(D=>{let{name:s,value:i}=D;return s==="lang"&&i!=="html"&&i!==""&&i!==void 0})))return ws().TagContentType.RAW_TEXT}}),lwc:Ke({name:"lwc"})}}});return Dc();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-markdown.js b/node_modules/ts-poet/node_modules/prettier/parser-markdown.js deleted file mode 100644 index a4ec23c675..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-markdown.js +++ /dev/null @@ -1,76 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.markdown=e()}})(function(){"use strict";var $=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Fe=$((nf,yu)=>{var tr=function(e){return e&&e.Math==Math&&e};yu.exports=tr(typeof globalThis=="object"&&globalThis)||tr(typeof window=="object"&&window)||tr(typeof self=="object"&&self)||tr(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Ae=$((af,wu)=>{wu.exports=function(e){try{return!!e()}catch{return!0}}});var Be=$((of,Bu)=>{var fa=Ae();Bu.exports=!fa(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var nr=$((sf,ku)=>{var pa=Ae();ku.exports=!pa(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var Oe=$((cf,qu)=>{var da=nr(),ir=Function.prototype.call;qu.exports=da?ir.bind(ir):function(){return ir.apply(ir,arguments)}});var Su=$(Iu=>{"use strict";var _u={}.propertyIsEnumerable,Ou=Object.getOwnPropertyDescriptor,ha=Ou&&!_u.call({1:2},1);Iu.f=ha?function(r){var u=Ou(this,r);return!!u&&u.enumerable}:_u});var ar=$((Df,Tu)=>{Tu.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var ve=$((ff,Ru)=>{var Nu=nr(),Lu=Function.prototype,wr=Lu.call,va=Nu&&Lu.bind.bind(wr,wr);Ru.exports=Nu?va:function(e){return function(){return wr.apply(e,arguments)}}});var Ve=$((pf,Pu)=>{var ju=ve(),ma=ju({}.toString),Ea=ju("".slice);Pu.exports=function(e){return Ea(ma(e),8,-1)}});var zu=$((df,Mu)=>{var Ca=ve(),ga=Ae(),Fa=Ve(),Br=Object,Aa=Ca("".split);Mu.exports=ga(function(){return!Br("z").propertyIsEnumerable(0)})?function(e){return Fa(e)=="String"?Aa(e,""):Br(e)}:Br});var or=$((hf,$u)=>{$u.exports=function(e){return e==null}});var kr=$((vf,Uu)=>{var xa=or(),ba=TypeError;Uu.exports=function(e){if(xa(e))throw ba("Can't call method on "+e);return e}});var sr=$((mf,Gu)=>{var ya=zu(),wa=kr();Gu.exports=function(e){return ya(wa(e))}});var _r=$((Ef,Vu)=>{var qr=typeof document=="object"&&document.all,Ba=typeof qr>"u"&&qr!==void 0;Vu.exports={all:qr,IS_HTMLDDA:Ba}});var de=$((Cf,Xu)=>{var Hu=_r(),ka=Hu.all;Xu.exports=Hu.IS_HTMLDDA?function(e){return typeof e=="function"||e===ka}:function(e){return typeof e=="function"}});var Ie=$((gf,Yu)=>{var Wu=de(),Ku=_r(),qa=Ku.all;Yu.exports=Ku.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:Wu(e)||e===qa}:function(e){return typeof e=="object"?e!==null:Wu(e)}});var He=$((Ff,Ju)=>{var Or=Fe(),_a=de(),Oa=function(e){return _a(e)?e:void 0};Ju.exports=function(e,r){return arguments.length<2?Oa(Or[e]):Or[e]&&Or[e][r]}});var Ir=$((Af,Zu)=>{var Ia=ve();Zu.exports=Ia({}.isPrototypeOf)});var et=$((xf,Qu)=>{var Sa=He();Qu.exports=Sa("navigator","userAgent")||""});var ot=$((bf,at)=>{var it=Fe(),Sr=et(),rt=it.process,ut=it.Deno,tt=rt&&rt.versions||ut&&ut.version,nt=tt&&tt.v8,me,cr;nt&&(me=nt.split("."),cr=me[0]>0&&me[0]<4?1:+(me[0]+me[1]));!cr&&Sr&&(me=Sr.match(/Edge\/(\d+)/),(!me||me[1]>=74)&&(me=Sr.match(/Chrome\/(\d+)/),me&&(cr=+me[1])));at.exports=cr});var Tr=$((yf,ct)=>{var st=ot(),Ta=Ae();ct.exports=!!Object.getOwnPropertySymbols&&!Ta(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&st&&st<41})});var Nr=$((wf,lt)=>{var Na=Tr();lt.exports=Na&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Lr=$((Bf,Dt)=>{var La=He(),Ra=de(),ja=Ir(),Pa=Nr(),Ma=Object;Dt.exports=Pa?function(e){return typeof e=="symbol"}:function(e){var r=La("Symbol");return Ra(r)&&ja(r.prototype,Ma(e))}});var lr=$((kf,ft)=>{var za=String;ft.exports=function(e){try{return za(e)}catch{return"Object"}}});var Xe=$((qf,pt)=>{var $a=de(),Ua=lr(),Ga=TypeError;pt.exports=function(e){if($a(e))return e;throw Ga(Ua(e)+" is not a function")}});var Dr=$((_f,dt)=>{var Va=Xe(),Ha=or();dt.exports=function(e,r){var u=e[r];return Ha(u)?void 0:Va(u)}});var vt=$((Of,ht)=>{var Rr=Oe(),jr=de(),Pr=Ie(),Xa=TypeError;ht.exports=function(e,r){var u,t;if(r==="string"&&jr(u=e.toString)&&!Pr(t=Rr(u,e))||jr(u=e.valueOf)&&!Pr(t=Rr(u,e))||r!=="string"&&jr(u=e.toString)&&!Pr(t=Rr(u,e)))return t;throw Xa("Can't convert object to primitive value")}});var Et=$((If,mt)=>{mt.exports=!1});var fr=$((Sf,gt)=>{var Ct=Fe(),Wa=Object.defineProperty;gt.exports=function(e,r){try{Wa(Ct,e,{value:r,configurable:!0,writable:!0})}catch{Ct[e]=r}return r}});var pr=$((Tf,At)=>{var Ka=Fe(),Ya=fr(),Ft="__core-js_shared__",Ja=Ka[Ft]||Ya(Ft,{});At.exports=Ja});var Mr=$((Nf,bt)=>{var Za=Et(),xt=pr();(bt.exports=function(e,r){return xt[e]||(xt[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.26.1",mode:Za?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var zr=$((Lf,yt)=>{var Qa=kr(),eo=Object;yt.exports=function(e){return eo(Qa(e))}});var ke=$((Rf,wt)=>{var ro=ve(),uo=zr(),to=ro({}.hasOwnProperty);wt.exports=Object.hasOwn||function(r,u){return to(uo(r),u)}});var $r=$((jf,Bt)=>{var no=ve(),io=0,ao=Math.random(),oo=no(1 .toString);Bt.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+oo(++io+ao,36)}});var Te=$((Pf,It)=>{var so=Fe(),co=Mr(),kt=ke(),lo=$r(),qt=Tr(),Ot=Nr(),Le=co("wks"),Se=so.Symbol,_t=Se&&Se.for,Do=Ot?Se:Se&&Se.withoutSetter||lo;It.exports=function(e){if(!kt(Le,e)||!(qt||typeof Le[e]=="string")){var r="Symbol."+e;qt&&kt(Se,e)?Le[e]=Se[e]:Ot&&_t?Le[e]=_t(r):Le[e]=Do(r)}return Le[e]}});var Lt=$((Mf,Nt)=>{var fo=Oe(),St=Ie(),Tt=Lr(),po=Dr(),ho=vt(),vo=Te(),mo=TypeError,Eo=vo("toPrimitive");Nt.exports=function(e,r){if(!St(e)||Tt(e))return e;var u=po(e,Eo),t;if(u){if(r===void 0&&(r="default"),t=fo(u,e,r),!St(t)||Tt(t))return t;throw mo("Can't convert object to primitive value")}return r===void 0&&(r="number"),ho(e,r)}});var dr=$((zf,Rt)=>{var Co=Lt(),go=Lr();Rt.exports=function(e){var r=Co(e,"string");return go(r)?r:r+""}});var Mt=$(($f,Pt)=>{var Fo=Fe(),jt=Ie(),Ur=Fo.document,Ao=jt(Ur)&&jt(Ur.createElement);Pt.exports=function(e){return Ao?Ur.createElement(e):{}}});var Gr=$((Uf,zt)=>{var xo=Be(),bo=Ae(),yo=Mt();zt.exports=!xo&&!bo(function(){return Object.defineProperty(yo("div"),"a",{get:function(){return 7}}).a!=7})});var Vr=$(Ut=>{var wo=Be(),Bo=Oe(),ko=Su(),qo=ar(),_o=sr(),Oo=dr(),Io=ke(),So=Gr(),$t=Object.getOwnPropertyDescriptor;Ut.f=wo?$t:function(r,u){if(r=_o(r),u=Oo(u),So)try{return $t(r,u)}catch{}if(Io(r,u))return qo(!Bo(ko.f,r,u),r[u])}});var Vt=$((Vf,Gt)=>{var To=Be(),No=Ae();Gt.exports=To&&No(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Re=$((Hf,Ht)=>{var Lo=Ie(),Ro=String,jo=TypeError;Ht.exports=function(e){if(Lo(e))return e;throw jo(Ro(e)+" is not an object")}});var We=$(Wt=>{var Po=Be(),Mo=Gr(),zo=Vt(),hr=Re(),Xt=dr(),$o=TypeError,Hr=Object.defineProperty,Uo=Object.getOwnPropertyDescriptor,Xr="enumerable",Wr="configurable",Kr="writable";Wt.f=Po?zo?function(r,u,t){if(hr(r),u=Xt(u),hr(t),typeof r=="function"&&u==="prototype"&&"value"in t&&Kr in t&&!t[Kr]){var a=Uo(r,u);a&&a[Kr]&&(r[u]=t.value,t={configurable:Wr in t?t[Wr]:a[Wr],enumerable:Xr in t?t[Xr]:a[Xr],writable:!1})}return Hr(r,u,t)}:Hr:function(r,u,t){if(hr(r),u=Xt(u),hr(t),Mo)try{return Hr(r,u,t)}catch{}if("get"in t||"set"in t)throw $o("Accessors not supported");return"value"in t&&(r[u]=t.value),r}});var Yr=$((Wf,Kt)=>{var Go=Be(),Vo=We(),Ho=ar();Kt.exports=Go?function(e,r,u){return Vo.f(e,r,Ho(1,u))}:function(e,r,u){return e[r]=u,e}});var Zt=$((Kf,Jt)=>{var Jr=Be(),Xo=ke(),Yt=Function.prototype,Wo=Jr&&Object.getOwnPropertyDescriptor,Zr=Xo(Yt,"name"),Ko=Zr&&function(){}.name==="something",Yo=Zr&&(!Jr||Jr&&Wo(Yt,"name").configurable);Jt.exports={EXISTS:Zr,PROPER:Ko,CONFIGURABLE:Yo}});var eu=$((Yf,Qt)=>{var Jo=ve(),Zo=de(),Qr=pr(),Qo=Jo(Function.toString);Zo(Qr.inspectSource)||(Qr.inspectSource=function(e){return Qo(e)});Qt.exports=Qr.inspectSource});var un=$((Jf,rn)=>{var es=Fe(),rs=de(),en=es.WeakMap;rn.exports=rs(en)&&/native code/.test(String(en))});var an=$((Zf,nn)=>{var us=Mr(),ts=$r(),tn=us("keys");nn.exports=function(e){return tn[e]||(tn[e]=ts(e))}});var ru=$((Qf,on)=>{on.exports={}});var Dn=$((ep,ln)=>{var ns=un(),cn=Fe(),is=Ie(),as=Yr(),uu=ke(),tu=pr(),os=an(),ss=ru(),sn="Object already initialized",nu=cn.TypeError,cs=cn.WeakMap,vr,Ke,mr,ls=function(e){return mr(e)?Ke(e):vr(e,{})},Ds=function(e){return function(r){var u;if(!is(r)||(u=Ke(r)).type!==e)throw nu("Incompatible receiver, "+e+" required");return u}};ns||tu.state?(Ee=tu.state||(tu.state=new cs),Ee.get=Ee.get,Ee.has=Ee.has,Ee.set=Ee.set,vr=function(e,r){if(Ee.has(e))throw nu(sn);return r.facade=e,Ee.set(e,r),r},Ke=function(e){return Ee.get(e)||{}},mr=function(e){return Ee.has(e)}):(Ne=os("state"),ss[Ne]=!0,vr=function(e,r){if(uu(e,Ne))throw nu(sn);return r.facade=e,as(e,Ne,r),r},Ke=function(e){return uu(e,Ne)?e[Ne]:{}},mr=function(e){return uu(e,Ne)});var Ee,Ne;ln.exports={set:vr,get:Ke,has:mr,enforce:ls,getterFor:Ds}});var dn=$((rp,pn)=>{var fs=Ae(),ps=de(),Er=ke(),iu=Be(),ds=Zt().CONFIGURABLE,hs=eu(),fn=Dn(),vs=fn.enforce,ms=fn.get,Cr=Object.defineProperty,Es=iu&&!fs(function(){return Cr(function(){},"length",{value:8}).length!==8}),Cs=String(String).split("String"),gs=pn.exports=function(e,r,u){String(r).slice(0,7)==="Symbol("&&(r="["+String(r).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),u&&u.getter&&(r="get "+r),u&&u.setter&&(r="set "+r),(!Er(e,"name")||ds&&e.name!==r)&&(iu?Cr(e,"name",{value:r,configurable:!0}):e.name=r),Es&&u&&Er(u,"arity")&&e.length!==u.arity&&Cr(e,"length",{value:u.arity});try{u&&Er(u,"constructor")&&u.constructor?iu&&Cr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var t=vs(e);return Er(t,"source")||(t.source=Cs.join(typeof r=="string"?r:"")),e};Function.prototype.toString=gs(function(){return ps(this)&&ms(this).source||hs(this)},"toString")});var vn=$((up,hn)=>{var Fs=de(),As=We(),xs=dn(),bs=fr();hn.exports=function(e,r,u,t){t||(t={});var a=t.enumerable,n=t.name!==void 0?t.name:r;if(Fs(u)&&xs(u,n,t),t.global)a?e[r]=u:bs(r,u);else{try{t.unsafe?e[r]&&(a=!0):delete e[r]}catch{}a?e[r]=u:As.f(e,r,{value:u,enumerable:!1,configurable:!t.nonConfigurable,writable:!t.nonWritable})}return e}});var En=$((tp,mn)=>{var ys=Math.ceil,ws=Math.floor;mn.exports=Math.trunc||function(r){var u=+r;return(u>0?ws:ys)(u)}});var au=$((np,Cn)=>{var Bs=En();Cn.exports=function(e){var r=+e;return r!==r||r===0?0:Bs(r)}});var Fn=$((ip,gn)=>{var ks=au(),qs=Math.max,_s=Math.min;gn.exports=function(e,r){var u=ks(e);return u<0?qs(u+r,0):_s(u,r)}});var xn=$((ap,An)=>{var Os=au(),Is=Math.min;An.exports=function(e){return e>0?Is(Os(e),9007199254740991):0}});var Ye=$((op,bn)=>{var Ss=xn();bn.exports=function(e){return Ss(e.length)}});var Bn=$((sp,wn)=>{var Ts=sr(),Ns=Fn(),Ls=Ye(),yn=function(e){return function(r,u,t){var a=Ts(r),n=Ls(a),s=Ns(t,n),c;if(e&&u!=u){for(;n>s;)if(c=a[s++],c!=c)return!0}else for(;n>s;s++)if((e||s in a)&&a[s]===u)return e||s||0;return!e&&-1}};wn.exports={includes:yn(!0),indexOf:yn(!1)}});var _n=$((cp,qn)=>{var Rs=ve(),ou=ke(),js=sr(),Ps=Bn().indexOf,Ms=ru(),kn=Rs([].push);qn.exports=function(e,r){var u=js(e),t=0,a=[],n;for(n in u)!ou(Ms,n)&&ou(u,n)&&kn(a,n);for(;r.length>t;)ou(u,n=r[t++])&&(~Ps(a,n)||kn(a,n));return a}});var In=$((lp,On)=>{On.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Tn=$(Sn=>{var zs=_n(),$s=In(),Us=$s.concat("length","prototype");Sn.f=Object.getOwnPropertyNames||function(r){return zs(r,Us)}});var Ln=$(Nn=>{Nn.f=Object.getOwnPropertySymbols});var jn=$((pp,Rn)=>{var Gs=He(),Vs=ve(),Hs=Tn(),Xs=Ln(),Ws=Re(),Ks=Vs([].concat);Rn.exports=Gs("Reflect","ownKeys")||function(r){var u=Hs.f(Ws(r)),t=Xs.f;return t?Ks(u,t(r)):u}});var zn=$((dp,Mn)=>{var Pn=ke(),Ys=jn(),Js=Vr(),Zs=We();Mn.exports=function(e,r,u){for(var t=Ys(r),a=Zs.f,n=Js.f,s=0;s{var Qs=Ae(),ec=de(),rc=/#|\.prototype\./,Je=function(e,r){var u=tc[uc(e)];return u==ic?!0:u==nc?!1:ec(r)?Qs(r):!!r},uc=Je.normalize=function(e){return String(e).replace(rc,".").toLowerCase()},tc=Je.data={},nc=Je.NATIVE="N",ic=Je.POLYFILL="P";$n.exports=Je});var cu=$((vp,Gn)=>{var su=Fe(),ac=Vr().f,oc=Yr(),sc=vn(),cc=fr(),lc=zn(),Dc=Un();Gn.exports=function(e,r){var u=e.target,t=e.global,a=e.stat,n,s,c,i,D,o;if(t?s=su:a?s=su[u]||cc(u,{}):s=(su[u]||{}).prototype,s)for(c in r){if(D=r[c],e.dontCallGetSet?(o=ac(s,c),i=o&&o.value):i=s[c],n=Dc(t?c:u+(a?".":"#")+c,e.forced),!n&&i!==void 0){if(typeof D==typeof i)continue;lc(D,i)}(e.sham||i&&i.sham)&&oc(D,"sham",!0),sc(s,c,D,e)}}});var lu=$((mp,Vn)=>{var fc=Ve();Vn.exports=Array.isArray||function(r){return fc(r)=="Array"}});var Xn=$((Ep,Hn)=>{var pc=TypeError,dc=9007199254740991;Hn.exports=function(e){if(e>dc)throw pc("Maximum allowed index exceeded");return e}});var Kn=$((Cp,Wn)=>{var hc=Ve(),vc=ve();Wn.exports=function(e){if(hc(e)==="Function")return vc(e)}});var Du=$((gp,Jn)=>{var Yn=Kn(),mc=Xe(),Ec=nr(),Cc=Yn(Yn.bind);Jn.exports=function(e,r){return mc(e),r===void 0?e:Ec?Cc(e,r):function(){return e.apply(r,arguments)}}});var ei=$((Fp,Qn)=>{"use strict";var gc=lu(),Fc=Ye(),Ac=Xn(),xc=Du(),Zn=function(e,r,u,t,a,n,s,c){for(var i=a,D=0,o=s?xc(s,c):!1,l,d;D0&&gc(l)?(d=Fc(l),i=Zn(e,r,l,d,i,n-1)-1):(Ac(i+1),e[i]=l),i++),D++;return i};Qn.exports=Zn});var ti=$((Ap,ui)=>{var bc=Te(),yc=bc("toStringTag"),ri={};ri[yc]="z";ui.exports=String(ri)==="[object z]"});var fu=$((xp,ni)=>{var wc=ti(),Bc=de(),gr=Ve(),kc=Te(),qc=kc("toStringTag"),_c=Object,Oc=gr(function(){return arguments}())=="Arguments",Ic=function(e,r){try{return e[r]}catch{}};ni.exports=wc?gr:function(e){var r,u,t;return e===void 0?"Undefined":e===null?"Null":typeof(u=Ic(r=_c(e),qc))=="string"?u:Oc?gr(r):(t=gr(r))=="Object"&&Bc(r.callee)?"Arguments":t}});var li=$((bp,ci)=>{var Sc=ve(),Tc=Ae(),ii=de(),Nc=fu(),Lc=He(),Rc=eu(),ai=function(){},jc=[],oi=Lc("Reflect","construct"),pu=/^\s*(?:class|function)\b/,Pc=Sc(pu.exec),Mc=!pu.exec(ai),Ze=function(r){if(!ii(r))return!1;try{return oi(ai,jc,r),!0}catch{return!1}},si=function(r){if(!ii(r))return!1;switch(Nc(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Mc||!!Pc(pu,Rc(r))}catch{return!0}};si.sham=!0;ci.exports=!oi||Tc(function(){var e;return Ze(Ze.call)||!Ze(Object)||!Ze(function(){e=!0})||e})?si:Ze});var di=$((yp,pi)=>{var Di=lu(),zc=li(),$c=Ie(),Uc=Te(),Gc=Uc("species"),fi=Array;pi.exports=function(e){var r;return Di(e)&&(r=e.constructor,zc(r)&&(r===fi||Di(r.prototype))?r=void 0:$c(r)&&(r=r[Gc],r===null&&(r=void 0))),r===void 0?fi:r}});var vi=$((wp,hi)=>{var Vc=di();hi.exports=function(e,r){return new(Vc(e))(r===0?0:r)}});var mi=$(()=>{"use strict";var Hc=cu(),Xc=ei(),Wc=Xe(),Kc=zr(),Yc=Ye(),Jc=vi();Hc({target:"Array",proto:!0},{flatMap:function(r){var u=Kc(this),t=Yc(u),a;return Wc(r),a=Jc(u,0),a.length=Xc(a,u,u,t,0,1,r,arguments.length>1?arguments[1]:void 0),a}})});var du=$((qp,Ei)=>{Ei.exports={}});var gi=$((_p,Ci)=>{var Zc=Te(),Qc=du(),el=Zc("iterator"),rl=Array.prototype;Ci.exports=function(e){return e!==void 0&&(Qc.Array===e||rl[el]===e)}});var hu=$((Op,Ai)=>{var ul=fu(),Fi=Dr(),tl=or(),nl=du(),il=Te(),al=il("iterator");Ai.exports=function(e){if(!tl(e))return Fi(e,al)||Fi(e,"@@iterator")||nl[ul(e)]}});var bi=$((Ip,xi)=>{var ol=Oe(),sl=Xe(),cl=Re(),ll=lr(),Dl=hu(),fl=TypeError;xi.exports=function(e,r){var u=arguments.length<2?Dl(e):r;if(sl(u))return cl(ol(u,e));throw fl(ll(e)+" is not iterable")}});var Bi=$((Sp,wi)=>{var pl=Oe(),yi=Re(),dl=Dr();wi.exports=function(e,r,u){var t,a;yi(e);try{if(t=dl(e,"return"),!t){if(r==="throw")throw u;return u}t=pl(t,e)}catch(n){a=!0,t=n}if(r==="throw")throw u;if(a)throw t;return yi(t),u}});var Ii=$((Tp,Oi)=>{var hl=Du(),vl=Oe(),ml=Re(),El=lr(),Cl=gi(),gl=Ye(),ki=Ir(),Fl=bi(),Al=hu(),qi=Bi(),xl=TypeError,Fr=function(e,r){this.stopped=e,this.result=r},_i=Fr.prototype;Oi.exports=function(e,r,u){var t=u&&u.that,a=!!(u&&u.AS_ENTRIES),n=!!(u&&u.IS_RECORD),s=!!(u&&u.IS_ITERATOR),c=!!(u&&u.INTERRUPTED),i=hl(r,t),D,o,l,d,p,g,F,E=function(f){return D&&qi(D,"normal",f),new Fr(!0,f)},b=function(f){return a?(ml(f),c?i(f[0],f[1],E):i(f[0],f[1])):c?i(f,E):i(f)};if(n)D=e.iterator;else if(s)D=e;else{if(o=Al(e),!o)throw xl(El(e)+" is not iterable");if(Cl(o)){for(l=0,d=gl(e);d>l;l++)if(p=b(e[l]),p&&ki(_i,p))return p;return new Fr(!1)}D=Fl(e,o)}for(g=n?e.next:D.next;!(F=vl(g,D)).done;){try{p=b(F.value)}catch(f){qi(D,"throw",f)}if(typeof p=="object"&&p&&ki(_i,p))return p}return new Fr(!1)}});var Ti=$((Np,Si)=>{"use strict";var bl=dr(),yl=We(),wl=ar();Si.exports=function(e,r,u){var t=bl(r);t in e?yl.f(e,t,wl(0,u)):e[t]=u}});var Ni=$(()=>{var Bl=cu(),kl=Ii(),ql=Ti();Bl({target:"Object",stat:!0},{fromEntries:function(r){var u={};return kl(r,function(t,a){ql(u,t,a)},{AS_ENTRIES:!0}),u}})});var uf=$((jp,la)=>{var _l=["cliName","cliCategory","cliDescription"];function Ol(e,r){if(e==null)return{};var u=Il(e,r),t,a;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(u[t]=e[t])}return u}function Il(e,r){if(e==null)return{};var u={},t=Object.keys(e),a,n;for(n=0;n=0)&&(u[a]=e[a]);return u}mi();Ni();var Sl=Object.create,Ar=Object.defineProperty,Tl=Object.getOwnPropertyDescriptor,vu=Object.getOwnPropertyNames,Nl=Object.getPrototypeOf,Ll=Object.prototype.hasOwnProperty,je=(e,r)=>function(){return e&&(r=(0,e[vu(e)[0]])(e=0)),r},S=(e,r)=>function(){return r||(0,e[vu(e)[0]])((r={exports:{}}).exports,r),r.exports},Pi=(e,r)=>{for(var u in r)Ar(e,u,{get:r[u],enumerable:!0})},Mi=(e,r,u,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of vu(r))!Ll.call(e,a)&&a!==u&&Ar(e,a,{get:()=>r[a],enumerable:!(t=Tl(r,a))||t.enumerable});return e},Rl=(e,r,u)=>(u=e!=null?Sl(Nl(e)):{},Mi(r||!e||!e.__esModule?Ar(u,"default",{value:e,enumerable:!0}):u,e)),zi=e=>Mi(Ar({},"__esModule",{value:!0}),e),Qe,I=je({""(){Qe={env:{},argv:[]}}}),Pe=S({"node_modules/xtend/immutable.js"(e,r){I(),r.exports=t;var u=Object.prototype.hasOwnProperty;function t(){for(var a={},n=0;n-1&&DD)return{line:o+1,column:D-(n[o-1]||0)+1,offset:D}}return{}}function i(D){var o=D&&D.line,l=D&&D.column,d;return!isNaN(o)&&!isNaN(l)&&o-1 in n&&(d=(n[o-2]||0)+l-1||0),d>-1&&d",Iacute:"\xCD",Icirc:"\xCE",Igrave:"\xCC",Iuml:"\xCF",LT:"<",Ntilde:"\xD1",Oacute:"\xD3",Ocirc:"\xD4",Ograve:"\xD2",Oslash:"\xD8",Otilde:"\xD5",Ouml:"\xD6",QUOT:'"',REG:"\xAE",THORN:"\xDE",Uacute:"\xDA",Ucirc:"\xDB",Ugrave:"\xD9",Uuml:"\xDC",Yacute:"\xDD",aacute:"\xE1",acirc:"\xE2",acute:"\xB4",aelig:"\xE6",agrave:"\xE0",amp:"&",aring:"\xE5",atilde:"\xE3",auml:"\xE4",brvbar:"\xA6",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",ecirc:"\xEA",egrave:"\xE8",eth:"\xF0",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",iacute:"\xED",icirc:"\xEE",iexcl:"\xA1",igrave:"\xEC",iquest:"\xBF",iuml:"\xEF",laquo:"\xAB",lt:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",oacute:"\xF3",ocirc:"\xF4",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",otilde:"\xF5",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',raquo:"\xBB",reg:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",times:"\xD7",uacute:"\xFA",ucirc:"\xFB",ugrave:"\xF9",uml:"\xA8",uuml:"\xFC",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}}}),Gl=S({"node_modules/character-reference-invalid/index.json"(e,r){r.exports={0:"\uFFFD",128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"}}}),Me=S({"node_modules/is-decimal/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=48&&a<=57}}}),Vl=S({"node_modules/is-hexadecimal/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=97&&a<=102||a>=65&&a<=70||a>=48&&a<=57}}}),er=S({"node_modules/is-alphabetical/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=97&&a<=122||a>=65&&a<=90}}}),Hl=S({"node_modules/is-alphanumerical/index.js"(e,r){"use strict";I();var u=er(),t=Me();r.exports=a;function a(n){return u(n)||t(n)}}}),Xl=S({"node_modules/character-entities/index.json"(e,r){r.exports={AEli:"\xC6",AElig:"\xC6",AM:"&",AMP:"&",Aacut:"\xC1",Aacute:"\xC1",Abreve:"\u0102",Acir:"\xC2",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrav:"\xC0",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Arin:"\xC5",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atild:"\xC3",Atilde:"\xC3",Aum:"\xC4",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COP:"\xA9",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedi:"\xC7",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ET:"\xD0",ETH:"\xD0",Eacut:"\xC9",Eacute:"\xC9",Ecaron:"\u011A",Ecir:"\xCA",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrav:"\xC8",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Eum:"\xCB",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",G:">",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacut:"\xCD",Iacute:"\xCD",Icir:"\xCE",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrav:"\xCC",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Ium:"\xCF",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",L:"<",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntild:"\xD1",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacut:"\xD3",Oacute:"\xD3",Ocir:"\xD4",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograv:"\xD2",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslas:"\xD8",Oslash:"\xD8",Otild:"\xD5",Otilde:"\xD5",Otimes:"\u2A37",Oum:"\xD6",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUO:'"',QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",RE:"\xAE",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THOR:"\xDE",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacut:"\xDA",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucir:"\xDB",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrav:"\xD9",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uum:"\xDC",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacut:"\xDD",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacut:"\xE1",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acir:"\xE2",acirc:"\xE2",acut:"\xB4",acute:"\xB4",acy:"\u0430",aeli:"\xE6",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrav:"\xE0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",am:"&",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",arin:"\xE5",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atild:"\xE3",atilde:"\xE3",aum:"\xE4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvba:"\xA6",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedi:"\xE7",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedi:"\xB8",cedil:"\xB8",cemptyv:"\u29B2",cen:"\xA2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",cop:"\xA9",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curre:"\xA4",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",de:"\xB0",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divid:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacut:"\xE9",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\xEA",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrav:"\xE8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",et:"\xF0",eth:"\xF0",eum:"\xEB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac1:"\xBC",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac3:"\xBE",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",g:">",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacut:"\xED",iacute:"\xED",ic:"\u2063",icir:"\xEE",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexc:"\xA1",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrav:"\xEC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iques:"\xBF",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",ium:"\xEF",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laqu:"\xAB",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",l:"<",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",mac:"\xAF",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micr:"\xB5",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middo:"\xB7",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbs:"\xA0",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",no:"\xAC",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntild:"\xF1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacut:"\xF3",oacute:"\xF3",oast:"\u229B",ocir:"\xF4",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograv:"\xF2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\xBA",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslas:"\xF8",oslash:"\xF8",osol:"\u2298",otild:"\xF5",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",oum:"\xF6",ouml:"\xF6",ovbar:"\u233D",par:"\xB6",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusm:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",poun:"\xA3",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quo:'"',quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raqu:"\xBB",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",re:"\xAE",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sec:"\xA7",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",sh:"\xAD",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szli:"\xDF",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thor:"\xFE",thorn:"\xFE",tilde:"\u02DC",time:"\xD7",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacut:"\xFA",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucir:"\xFB",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrav:"\xF9",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",um:"\xA8",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uum:"\xFC",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacut:"\xFD",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",ye:"\xA5",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yum:"\xFF",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}}}),Wl=S({"node_modules/parse-entities/decode-entity.js"(e,r){"use strict";I();var u=Xl();r.exports=a;var t={}.hasOwnProperty;function a(n){return t.call(u,n)?u[n]:!1}}}),xr=S({"node_modules/parse-entities/index.js"(e,r){"use strict";I();var u=Ul(),t=Gl(),a=Me(),n=Vl(),s=Hl(),c=Wl();r.exports=J;var i={}.hasOwnProperty,D=String.fromCharCode,o=Function.prototype,l={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},d=9,p=10,g=12,F=32,E=38,b=59,f=60,x=61,v=35,h=88,m=120,C=65533,w="named",q="hexadecimal",L="decimal",B={};B[q]=16,B[L]=10;var O={};O[w]=s,O[L]=a,O[q]=n;var T=1,P=2,A=3,j=4,H=5,G=6,X=7,R={};R[T]="Named character references must be terminated by a semicolon",R[P]="Numeric character references must be terminated by a semicolon",R[A]="Named character references cannot be empty",R[j]="Numeric character references cannot be empty",R[H]="Named character references must be known",R[G]="Numeric character references cannot be disallowed",R[X]="Numeric character references cannot be outside the permissible Unicode range";function J(k,y){var _={},N,V;y||(y={});for(V in l)N=y[V],_[V]=N==null?l[V]:N;return(_.position.indent||_.position.start)&&(_.indent=_.position.indent||[],_.position=_.position.start),z(k,_)}function z(k,y){var _=y.additional,N=y.nonTerminated,V=y.text,W=y.reference,K=y.warning,ee=y.textContext,Y=y.referenceContext,ue=y.warningContext,le=y.position,ce=y.indent||[],te=k.length,Z=0,Q=-1,De=le.column||1,ye=le.line||1,fe="",he=[],ae,pe,ne,re,we,oe,ie,Ce,rr,br,qe,$e,_e,xe,Fu,Ue,ur,ge,se;for(typeof _=="string"&&(_=_.charCodeAt(0)),Ue=Ge(),Ce=K?Da:o,Z--,te++;++Z65535&&(oe-=65536,br+=D(oe>>>10|55296),oe=56320|oe&1023),oe=br+D(oe))):xe!==w&&Ce(j,ge)),oe?(Au(),Ue=Ge(),Z=se-1,De+=se-_e+1,he.push(oe),ur=Ge(),ur.offset++,W&&W.call(Y,oe,{start:Ue,end:ur},k.slice(_e-1,se)),Ue=ur):(re=k.slice(_e-1,se),fe+=re,De+=re.length,Z=se-1)}else we===10&&(ye++,Q++,De=0),we===we?(fe+=D(we),De++):Au();return he.join("");function Ge(){return{line:ye,column:De,offset:Z+(le.offset||0)}}function Da(xu,bu){var yr=Ge();yr.column+=bu,yr.offset+=bu,K.call(ue,R[xu],yr,xu)}function Au(){fe&&(he.push(fe),V&&V.call(ee,fe,{start:Ue,end:Ge()}),fe="")}}function M(k){return k>=55296&&k<=57343||k>1114111}function U(k){return k>=1&&k<=8||k===11||k>=13&&k<=31||k>=127&&k<=159||k>=64976&&k<=65007||(k&65535)===65535||(k&65535)===65534}}}),Kl=S({"node_modules/remark-parse/lib/decode.js"(e,r){"use strict";I();var u=Pe(),t=xr();r.exports=a;function a(n){return c.raw=i,c;function s(o){for(var l=n.offset,d=o.line,p=[];++d&&d in l;)p.push((l[d]||0)+1);return{start:o,indent:p}}function c(o,l,d){t(o,{position:s(l),warning:D,text:d,reference:d,textContext:n,referenceContext:n})}function i(o,l,d){return t(o,u(d,{position:s(l),warning:D}))}function D(o,l,d){d!==3&&n.file.message(o,l)}}}}),Yl=S({"node_modules/remark-parse/lib/tokenizer.js"(e,r){"use strict";I(),r.exports=u;function u(s){return c;function c(i,D){var o=this,l=o.offset,d=[],p=o[s+"Methods"],g=o[s+"Tokenizers"],F=D.line,E=D.column,b,f,x,v,h,m;if(!i)return d;for(P.now=q,P.file=o.file,C("");i;){for(b=-1,f=p.length,h=!1;++b"],t=u.concat(["~","|"]),a=t.concat([` -`,'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);n.default=u,n.gfm=t,n.commonmark=a;function n(s){var c=s||{};return c.commonmark?a:c.gfm?t:u}}}),Zl=S({"node_modules/remark-parse/lib/block-elements.js"(e,r){"use strict";I(),r.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]}}),$i=S({"node_modules/remark-parse/lib/defaults.js"(e,r){"use strict";I(),r.exports={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:Zl()}}}),Ql=S({"node_modules/remark-parse/lib/set-options.js"(e,r){"use strict";I();var u=Pe(),t=Jl(),a=$i();r.exports=n;function n(s){var c=this,i=c.options,D,o;if(s==null)s={};else if(typeof s=="object")s=u(s);else throw new Error("Invalid value `"+s+"` for setting `options`");for(D in a){if(o=s[D],o==null&&(o=i[D]),D!=="blocks"&&typeof o!="boolean"||D==="blocks"&&typeof o!="object")throw new Error("Invalid value `"+o+"` for setting `options."+D+"`");s[D]=o}return c.options=s,c.escape=t(s),c}}}),eD=S({"node_modules/unist-util-is/convert.js"(e,r){"use strict";I(),r.exports=u;function u(c){if(c==null)return s;if(typeof c=="string")return n(c);if(typeof c=="object")return"length"in c?a(c):t(c);if(typeof c=="function")return c;throw new Error("Expected function, string, or object as test")}function t(c){return i;function i(D){var o;for(o in c)if(D[o]!==c[o])return!1;return!0}}function a(c){for(var i=[],D=-1;++D":""))+")"),h;function h(){var m=f.concat(E),C=[],w,q;if((!o||g(E,b,f[f.length-1]||null))&&(C=i(l(E,f)),C[0]===s))return C;if(E.children&&C[0]!==n)for(q=(d?E.children.length:-1)+p;q>-1&&q"u")t=n,u="";else if(u.length>=c)return u.substr(0,c);for(;c>u.length&&s>1;)s&1&&(u+=n),s>>=1,n+=n;return u+=n,u=u.substr(0,c),u}}}),Ui=S({"node_modules/trim-trailing-lines/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){return String(t).replace(/\n+$/,"")}}}),oD=S({"node_modules/remark-parse/lib/tokenize/code-indented.js"(e,r){"use strict";I();var u=mu(),t=Ui();r.exports=D;var a=` -`,n=" ",s=" ",c=4,i=u(s,c);function D(o,l,d){for(var p=-1,g=l.length,F="",E="",b="",f="",x,v,h;++p=i)){for(w="";Es)&&!(!v||!d&&D.charAt(g+1)===n)){for(p=D.length+1,x="";++g=i&&(!E||E===t)?(F+=x,d?!0:o(F)({type:"thematicBreak"})):void 0}}}),Gi=S({"node_modules/remark-parse/lib/util/get-indentation.js"(e,r){"use strict";I(),r.exports=s;var u=" ",t=" ",a=1,n=4;function s(c){for(var i=0,D=0,o=c.charAt(i),l={},d,p=0;o===u||o===t;){for(d=o===u?n:a,D+=d,d>1&&(D=Math.floor(D/d)*d);p0&&E.indent=Q.indent&&(ne=!0),y=T.charAt(R),K=null,!ne){if(y===i||y===o||y===l)K=y,R++,M++;else{for(U="";R=Q.indent||M>f),W=!1,R=V;if(Y=T.slice(V,N),ee=V===R?Y:T.slice(R,N),(K===i||K===D||K===l)&&G.thematicBreak.call(A,O,Y,!0))break;if(ue=le,le=!W&&!u(ee).length,ne&&Q)Q.value=Q.value.concat(Z,Y),te=te.concat(Z,Y),Z=[];else if(W)Z.length!==0&&(fe=!0,Q.value.push(""),Q.trail=Z.concat()),Q={value:[Y],indent:M,trail:[]},ce.push(Q),te=te.concat(Z,Y),Z=[];else if(le){if(ue&&!j)break;Z.push(Y)}else{if(ue||c(X,G,A,[O,Y,!0]))break;Q.value=Q.value.concat(Z,Y),te=te.concat(Z,Y),Z=[]}R=N+1}for(he=O(te.join(g)).reset({type:"list",ordered:k,start:z,spread:fe,children:[]}),De=A.enterList(),ye=A.enterBlock(),R=-1,J=ce.length;++R=c){b--;break}f+=h}for(x="",v="";++b`\\u0000-\\u0020]+",t="'[^']*'",a='"[^"]*"',n="(?:"+u+"|"+t+"|"+a+")",s="(?:\\s+"+r+"(?:\\s*=\\s*"+n+")?)",c="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",D="|",o="<[?].*?[?]>",l="]*>",d="";e.openCloseTag=new RegExp("^(?:"+c+"|"+i+")"),e.tag=new RegExp("^(?:"+c+"|"+i+"|"+D+"|"+o+"|"+l+"|"+d+")")}}),hD=S({"node_modules/remark-parse/lib/tokenize/html-block.js"(e,r){"use strict";I();var u=Vi().openCloseTag;r.exports=x;var t=" ",a=" ",n=` -`,s="<",c=/^<(script|pre|style)(?=(\s|>|$))/i,i=/<\/(script|pre|style)>/i,D=/^/,l=/^<\?/,d=/\?>/,p=/^/,F=/^/,b=/^$/,f=new RegExp(u.source+"\\s*$");function x(v,h,m){for(var C=this,w=C.options.blocks.join("|"),q=new RegExp("^|$))","i"),L=h.length,B=0,O,T,P,A,j,H,G,X=[[c,i,!0],[D,o,!0],[l,d,!0],[p,g,!0],[F,E,!0],[q,b,!0],[f,b,!1]];BM){if(X1&&(O?(C+=B.slice(0,-1),B=B.charAt(B.length-1)):(C+=B,B="")),H=E.now(),E(C)({type:"tableCell",children:x.tokenizeInline(A,H)},w)),E(B+O),B="",A=""):(B&&(A+=B,B=""),A+=O,O===i&&v!==q-2&&(A+=R.charAt(v+1),v++)),j=!1,v++}G||E(a+h)}return z}}}}}),CD=S({"node_modules/remark-parse/lib/tokenize/paragraph.js"(e,r){"use strict";I();var u=ze(),t=Ui(),a=Eu();r.exports=D;var n=" ",s=` -`,c=" ",i=4;function D(o,l,d){for(var p=this,g=p.options,F=g.commonmark,E=p.blockTokenizers,b=p.interruptParagraph,f=l.indexOf(s),x=l.length,v,h,m,C,w;f=i&&m!==s){f=l.indexOf(s,f+1);continue}}if(h=l.slice(f+1),a(b,E,p,[o,h,!0]))break;if(v=f,f=l.indexOf(s,f+1),f!==-1&&u(l.slice(v,f))===""){f=v;break}}return h=l.slice(0,f),d?!0:(w=o.now(),h=t(h),o(h)({type:"paragraph",children:p.tokenizeInline(h,w)}))}}}),gD=S({"node_modules/remark-parse/lib/locate/escape.js"(e,r){"use strict";I(),r.exports=u;function u(t,a){return t.indexOf("\\",a)}}}),FD=S({"node_modules/remark-parse/lib/tokenize/escape.js"(e,r){"use strict";I();var u=gD();r.exports=n,n.locator=u;var t=` -`,a="\\";function n(s,c,i){var D=this,o,l;if(c.charAt(0)===a&&(o=c.charAt(1),D.escape.indexOf(o)!==-1))return i?!0:(o===t?l={type:"break"}:l={type:"text",value:o},s(a+o)(l))}}}),Xi=S({"node_modules/remark-parse/lib/locate/tag.js"(e,r){"use strict";I(),r.exports=u;function u(t,a){return t.indexOf("<",a)}}}),AD=S({"node_modules/remark-parse/lib/tokenize/auto-link.js"(e,r){"use strict";I();var u=be(),t=xr(),a=Xi();r.exports=l,l.locator=a,l.notInLink=!0;var n="<",s=">",c="@",i="/",D="mailto:",o=D.length;function l(d,p,g){var F=this,E="",b=p.length,f=0,x="",v=!1,h="",m,C,w,q,L;if(p.charAt(0)===n){for(f++,E=n;fk;)R=J+z.lastIndexOf(m),z=q.slice(J,R),y--;if(q.charCodeAt(R-1)===E&&(R--,n(q.charCodeAt(R-1)))){for(U=R-2;n(q.charCodeAt(U));)U--;q.charCodeAt(U)===D&&(R=U)}return _=q.slice(0,R),V=t(_,{nonTerminated:!1}),j&&(V="http://"+V),W=B.enterLink(),B.inlineTokenizers={text:T.text},N=B.tokenizeInline(_,w.now()),B.inlineTokenizers=T,W(),w(_)({type:"link",title:null,url:V,children:N})}}}}}),wD=S({"node_modules/remark-parse/lib/locate/email.js"(e,r){"use strict";I();var u=Me(),t=er(),a=43,n=45,s=46,c=95;r.exports=i;function i(o,l){var d=this,p,g;if(!this.options.gfm||(p=o.indexOf("@",l),p===-1))return-1;if(g=p,g===l||!D(o.charCodeAt(g-1)))return i.call(d,o,p+1);for(;g>l&&D(o.charCodeAt(g-1));)g--;return g}function D(o){return u(o)||t(o)||o===a||o===n||o===s||o===c}}}),BD=S({"node_modules/remark-parse/lib/tokenize/email.js"(e,r){"use strict";I();var u=xr(),t=Me(),a=er(),n=wD();r.exports=l,l.locator=n,l.notInLink=!0;var s=43,c=45,i=46,D=64,o=95;function l(d,p,g){var F=this,E=F.options.gfm,b=F.inlineTokenizers,f=0,x=p.length,v=-1,h,m,C,w;if(E){for(h=p.charCodeAt(f);t(h)||a(h)||h===s||h===c||h===i||h===o;)h=p.charCodeAt(++f);if(f!==0&&h===D){for(f++;f/i;function l(d,p,g){var F=this,E=p.length,b,f;if(!(p.charAt(0)!==n||E<3)&&(b=p.charAt(1),!(!u(b)&&b!==s&&b!==c&&b!==i)&&(f=p.match(a),!!f)))return g?!0:(f=f[0],!F.inLink&&D.test(f)?F.inLink=!0:F.inLink&&o.test(f)&&(F.inLink=!1),d(f)({type:"html",value:f}))}}}),Wi=S({"node_modules/remark-parse/lib/locate/link.js"(e,r){"use strict";I(),r.exports=u;function u(t,a){var n=t.indexOf("[",a),s=t.indexOf("![",a);return s===-1||n=T&&(T=0):T=O}else if(C===p)m++,j+=f.charAt(m);else if((!T||L)&&C===d)M++;else if((!T||L)&&C===g)if(M)M--;else{if(f.charAt(m+1)!==i)return;j+=i,B=!0,m++;break}U+=j,j="",m++}if(B){for(X=U,h+=U+j,m++;m2&&(F===a||F===t)&&(E===a||E===t)){for(l++,o--;la&&t.charAt(n-1)===" ";)n--;return n}}}),zD=S({"node_modules/remark-parse/lib/tokenize/break.js"(e,r){"use strict";I();var u=MD();r.exports=s,s.locator=u;var t=" ",a=` -`,n=2;function s(c,i,D){for(var o=i.length,l=-1,d="",p;++l"u"||u.call(l,g)},i=function(l,d){a&&d.name==="__proto__"?a(l,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):l[d.name]=d.newValue},D=function(l,d){if(d==="__proto__")if(u.call(l,d)){if(n)return n(l,d).value}else return;return l[d]};r.exports=function o(){var l,d,p,g,F,E,b=arguments[0],f=1,x=arguments.length,v=!1;for(typeof b=="boolean"&&(v=b,b=arguments[1]||{},f=2),(b==null||typeof b!="object"&&typeof b!="function")&&(b={});f{if(Object.prototype.toString.call(u)!=="[object Object]")return!1;let t=Object.getPrototypeOf(u);return t===null||t===Object.prototype}}}),WD=S({"node_modules/trough/wrap.js"(e,r){"use strict";I();var u=[].slice;r.exports=t;function t(a,n){var s;return c;function c(){var o=u.call(arguments,0),l=a.length>o.length,d;l&&o.push(i);try{d=a.apply(null,o)}catch(p){if(l&&s)throw p;return i(p)}l||(d&&typeof d.then=="function"?d.then(D,i):d instanceof Error?i(d):D(d))}function i(){s||(s=!0,n.apply(null,arguments))}function D(o){i(null,o)}}}}),KD=S({"node_modules/trough/index.js"(e,r){"use strict";I();var u=WD();r.exports=a,a.wrap=u;var t=[].slice;function a(){var n=[],s={};return s.run=c,s.use=i,s;function c(){var D=-1,o=t.call(arguments,0,-1),l=arguments[arguments.length-1];if(typeof l!="function")throw new Error("Expected function as last argument, not "+l);d.apply(null,[null].concat(o));function d(p){var g=n[++D],F=t.call(arguments,0),E=F.slice(1),b=o.length,f=-1;if(p){l(p);return}for(;++fi.length){for(;d--;)if(i.charCodeAt(d)===47){if(g){o=d+1;break}}else l<0&&(g=!0,l=d+1);return l<0?"":i.slice(o,l)}if(D===i)return"";for(p=-1,F=D.length-1;d--;)if(i.charCodeAt(d)===47){if(g){o=d+1;break}}else p<0&&(g=!0,p=d+1),F>-1&&(i.charCodeAt(d)===D.charCodeAt(F--)?F<0&&(l=d):(F=-1,l=p));return o===l?l=p:l<0&&(l=i.length),i.slice(o,l)}function u(i){var D,o,l;if(c(i),!i.length)return".";for(D=-1,l=i.length;--l;)if(i.charCodeAt(l)===47){if(o){D=l;break}}else o||(o=!0);return D<0?i.charCodeAt(0)===47?"/":".":D===1&&i.charCodeAt(0)===47?"//":i.slice(0,D)}function t(i){var D=-1,o=0,l=-1,d=0,p,g,F;for(c(i),F=i.length;F--;){if(g=i.charCodeAt(F),g===47){if(p){o=F+1;break}continue}l<0&&(p=!0,l=F+1),g===46?D<0?D=F:d!==1&&(d=1):D>-1&&(d=-1)}return D<0||l<0||d===0||d===1&&D===l-1&&D===o+1?"":i.slice(D,l)}function a(){for(var i=-1,D;++i2){if(E=o.lastIndexOf("/"),E!==o.length-1){E<0?(o="",l=0):(o=o.slice(0,E),l=o.length-1-o.lastIndexOf("/")),d=g,p=0;continue}}else if(o.length){o="",l=0,d=g,p=0;continue}}D&&(o=o.length?o+"/..":"..",l=2)}else o.length?o+="/"+i.slice(d+1,g):o=i.slice(d+1,g),l=g-d-1;d=g,p=0}else F===46&&p>-1?p++:p=-1}return o}function c(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}}}),QD=S({"node_modules/vfile/lib/minproc.browser.js"(e){"use strict";I(),e.cwd=r;function r(){return"/"}}}),e2=S({"node_modules/vfile/lib/core.js"(e,r){"use strict";I();var u=ZD(),t=QD(),a=Ki();r.exports=c;var n={}.hasOwnProperty,s=["history","path","basename","stem","extname","dirname"];c.prototype.toString=f,Object.defineProperty(c.prototype,"path",{get:i,set:D}),Object.defineProperty(c.prototype,"dirname",{get:o,set:l}),Object.defineProperty(c.prototype,"basename",{get:d,set:p}),Object.defineProperty(c.prototype,"extname",{get:g,set:F}),Object.defineProperty(c.prototype,"stem",{get:E,set:b});function c(m){var C,w;if(!m)m={};else if(typeof m=="string"||a(m))m={contents:m};else if("message"in m&&"messages"in m)return m;if(!(this instanceof c))return new c(m);for(this.data={},this.messages=[],this.history=[],this.cwd=t.cwd(),w=-1;++w-1)throw new Error("`extname` cannot contain multiple dots")}this.path=u.join(this.dirname,this.stem+(m||""))}function E(){return typeof this.path=="string"?u.basename(this.path,this.extname):void 0}function b(m){v(m,"stem"),x(m,"stem"),this.path=u.join(this.dirname||"",m+(this.extname||""))}function f(m){return(this.contents||"").toString(m)}function x(m,C){if(m&&m.indexOf(u.sep)>-1)throw new Error("`"+C+"` cannot be a path: did not expect `"+u.sep+"`")}function v(m,C){if(!m)throw new Error("`"+C+"` cannot be empty")}function h(m,C){if(!m)throw new Error("Setting `"+C+"` requires `path` to be set too")}}}),r2=S({"node_modules/vfile/lib/index.js"(e,r){"use strict";I();var u=JD(),t=e2();r.exports=t,t.prototype.message=a,t.prototype.info=s,t.prototype.fail=n;function a(c,i,D){var o=new u(c,i,D);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}function n(){var c=this.message.apply(this,arguments);throw c.fatal=!0,c}function s(){var c=this.message.apply(this,arguments);return c.fatal=null,c}}}),u2=S({"node_modules/vfile/index.js"(e,r){"use strict";I(),r.exports=r2()}}),t2=S({"node_modules/unified/index.js"(e,r){"use strict";I();var u=VD(),t=Ki(),a=HD(),n=XD(),s=KD(),c=u2();r.exports=g().freeze();var i=[].slice,D={}.hasOwnProperty,o=s().use(l).use(d).use(p);function l(m,C){C.tree=m.parse(C.file)}function d(m,C,w){m.run(C.tree,C.file,q);function q(L,B,O){L?w(L):(C.tree=B,C.file=O,w())}}function p(m,C){var w=m.stringify(C.tree,C.file);w==null||(typeof w=="string"||t(w)?C.file.contents=w:C.file.result=w)}function g(){var m=[],C=s(),w={},q=-1,L;return B.data=T,B.freeze=O,B.attachers=m,B.use=P,B.parse=j,B.stringify=X,B.run=H,B.runSync=G,B.process=R,B.processSync=J,B;function B(){for(var z=g(),M=-1;++Mc)&&(!w||T===n)){A=L-1,L++,w&&L++,j=L;break}}else O===i&&(L++,T=h.charCodeAt(L+1));L++}if(j!==void 0)return m?!0:(H=h.slice(P,A+1),v(h.slice(0,j))({type:"inlineMath",value:H,data:{hName:"span",hProperties:{className:D.concat(w&&F.inlineMathDouble?[o]:[])},hChildren:[{type:"text",value:H}]}}))}}}}function p(g){let F=g.prototype;F.visitors.inlineMath=E;function E(b){let f="$";return(b.data&&b.data.hProperties&&b.data.hProperties.className||[]).includes(o)&&(f="$$"),f+b.value+f}}}}),i2=S({"node_modules/remark-math/block.js"(e,r){I();var u=Yi();r.exports=o;var t=10,a=32,n=36,s=` -`,c="$",i=2,D=["math","math-display"];function o(){let p=this.Parser,g=this.Compiler;u.isRemarkParser(p)&&l(p),u.isRemarkCompiler(g)&&d(g)}function l(p){let g=p.prototype,F=g.blockMethods,E=g.interruptParagraph,b=g.interruptList,f=g.interruptBlockquote;g.blockTokenizers.math=x,F.splice(F.indexOf("fencedCode")+1,0,"math"),E.splice(E.indexOf("fencedCode")+1,0,["math"]),b.splice(b.indexOf("fencedCode")+1,0,["math"]),f.splice(f.indexOf("fencedCode")+1,0,["math"]);function x(v,h,m){var C=h.length,w=0;let q,L,B,O,T,P,A,j,H,G,X;for(;wG&&h.charCodeAt(O-1)===a;)O--;for(;O>G&&h.charCodeAt(O-1)===n;)H++,O--;for(P<=H&&h.indexOf(c,G)===O&&(j=!0,X=O);G<=X&&G-wG&&h.charCodeAt(X-1)===a;)X--;if((!j||G!==X)&&L.push(h.slice(G,X)),j)break;w=B+1,B=h.indexOf(s,w+1),B=B===-1?C:B}return L=L.join(` -`),v(h.slice(0,B))({type:"math",value:L,data:{hName:"div",hProperties:{className:D.concat()},hChildren:[{type:"text",value:L}]}})}}}}function d(p){let g=p.prototype;g.visitors.math=F;function F(E){return`$$ -`+E.value+` -$$`}}}}),a2=S({"node_modules/remark-math/index.js"(e,r){I();var u=n2(),t=i2();r.exports=a;function a(n){var s=n||{};t.call(this,s),u.call(this,s)}}}),o2=S({"node_modules/remark-footnotes/index.js"(e,r){"use strict";I(),r.exports=g;var u=9,t=10,a=32,n=33,s=58,c=91,i=92,D=93,o=94,l=96,d=4,p=1024;function g(h){var m=this.Parser,C=this.Compiler;F(m)&&b(m,h),E(C)&&f(C)}function F(h){return Boolean(h&&h.prototype&&h.prototype.blockTokenizers)}function E(h){return Boolean(h&&h.prototype&&h.prototype.visitors)}function b(h,m){for(var C=m||{},w=h.prototype,q=w.blockTokenizers,L=w.inlineTokenizers,B=w.blockMethods,O=w.inlineMethods,T=q.definition,P=L.reference,A=[],j=-1,H=B.length,G;++jd&&(ae=void 0,pe=Y);else{if(ae0&&(re=ne[ee-1],re.contentStart===re.contentEnd);)ee--;for(De=y(_.slice(0,re.contentEnd));++Y-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function t(a){let n=a.match(u);if(!n)return{content:a};let{startDelimiter:s,language:c,value:i="",endDelimiter:D}=n.groups,o=c.trim()||"yaml";if(s==="+++"&&(o="toml"),o!=="yaml"&&s!==D)return{content:a};let[l]=n;return{frontMatter:{type:"front-matter",lang:o,value:i,startDelimiter:s,endDelimiter:D,raw:l.replace(/\n$/,"")},content:l.replace(/[^\n]/g," ")+a.slice(l.length)}}r.exports=t}}),s2=S({"src/language-markdown/pragma.js"(e,r){"use strict";I();var u=Ji(),t=["format","prettier"];function a(n){let s=`@(${t.join("|")})`,c=new RegExp([``,`{\\s*\\/\\*\\s*${s}\\s*\\*\\/\\s*}`,``].join("|"),"m"),i=n.match(c);return(i==null?void 0:i.index)===0}r.exports={startWithPragma:a,hasPragma:n=>a(u(n).content.trimStart()),insertPragma:n=>{let s=u(n),c=``;return s.frontMatter?`${s.frontMatter.raw} - -${c} - -${s.content}`:`${c} - -${s.content}`}}}}),Zi=S({"src/language-markdown/loc.js"(e,r){"use strict";I();function u(a){return a.position.start.offset}function t(a){return a.position.end.offset}r.exports={locStart:u,locEnd:t}}}),Qi=S({"src/language-markdown/mdx.js"(e,r){"use strict";I();var u=/^import\s/,t=/^export\s/,a="[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)*|",n=/|/,s=/^{\s*\/\*(.*)\*\/\s*}/,c=` - -`,i=p=>u.test(p),D=p=>t.test(p),o=(p,g)=>{let F=g.indexOf(c),E=g.slice(0,F);if(D(E)||i(E))return p(E)({type:D(E)?"export":"import",value:E})},l=(p,g)=>{let F=s.exec(g);if(F)return p(F[0])({type:"esComment",value:F[1].trim()})};o.locator=p=>D(p)||i(p)?-1:1,l.locator=(p,g)=>p.indexOf("{",g);function d(){let{Parser:p}=this,{blockTokenizers:g,blockMethods:F,inlineTokenizers:E,inlineMethods:b}=p.prototype;g.esSyntax=o,E.esComment=l,F.splice(F.indexOf("paragraph"),0,"esSyntax"),b.splice(b.indexOf("text"),0,"esComment")}r.exports={esSyntax:d,BLOCKS_REGEX:a,COMMENT_REGEX:n}}}),ea={};Pi(ea,{default:()=>c2});function c2(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var l2=je({"node_modules/escape-string-regexp/index.js"(){I()}}),D2=S({"src/utils/get-last.js"(e,r){"use strict";I();var u=t=>t[t.length-1];r.exports=u}}),ra=S({"node_modules/semver/internal/debug.js"(e,r){I();var u=typeof Qe=="object"&&Qe.env&&Qe.env.NODE_DEBUG&&/\bsemver\b/i.test(Qe.env.NODE_DEBUG)?function(){for(var t=arguments.length,a=new Array(t),n=0;n{};r.exports=u}}),ua=S({"node_modules/semver/internal/constants.js"(e,r){I();var u="2.0.0",t=256,a=Number.MAX_SAFE_INTEGER||9007199254740991,n=16;r.exports={SEMVER_SPEC_VERSION:u,MAX_LENGTH:t,MAX_SAFE_INTEGER:a,MAX_SAFE_COMPONENT_LENGTH:n}}}),f2=S({"node_modules/semver/internal/re.js"(e,r){I();var{MAX_SAFE_COMPONENT_LENGTH:u}=ua(),t=ra();e=r.exports={};var a=e.re=[],n=e.src=[],s=e.t={},c=0,i=(D,o,l)=>{let d=c++;t(D,d,o),s[D]=d,n[d]=o,a[d]=new RegExp(o,l?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*"),i("NUMERICIDENTIFIERLOOSE","[0-9]+"),i("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),i("MAINVERSION",`(${n[s.NUMERICIDENTIFIER]})\\.(${n[s.NUMERICIDENTIFIER]})\\.(${n[s.NUMERICIDENTIFIER]})`),i("MAINVERSIONLOOSE",`(${n[s.NUMERICIDENTIFIERLOOSE]})\\.(${n[s.NUMERICIDENTIFIERLOOSE]})\\.(${n[s.NUMERICIDENTIFIERLOOSE]})`),i("PRERELEASEIDENTIFIER",`(?:${n[s.NUMERICIDENTIFIER]}|${n[s.NONNUMERICIDENTIFIER]})`),i("PRERELEASEIDENTIFIERLOOSE",`(?:${n[s.NUMERICIDENTIFIERLOOSE]}|${n[s.NONNUMERICIDENTIFIER]})`),i("PRERELEASE",`(?:-(${n[s.PRERELEASEIDENTIFIER]}(?:\\.${n[s.PRERELEASEIDENTIFIER]})*))`),i("PRERELEASELOOSE",`(?:-?(${n[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[s.PRERELEASEIDENTIFIERLOOSE]})*))`),i("BUILDIDENTIFIER","[0-9A-Za-z-]+"),i("BUILD",`(?:\\+(${n[s.BUILDIDENTIFIER]}(?:\\.${n[s.BUILDIDENTIFIER]})*))`),i("FULLPLAIN",`v?${n[s.MAINVERSION]}${n[s.PRERELEASE]}?${n[s.BUILD]}?`),i("FULL",`^${n[s.FULLPLAIN]}$`),i("LOOSEPLAIN",`[v=\\s]*${n[s.MAINVERSIONLOOSE]}${n[s.PRERELEASELOOSE]}?${n[s.BUILD]}?`),i("LOOSE",`^${n[s.LOOSEPLAIN]}$`),i("GTLT","((?:<|>)?=?)"),i("XRANGEIDENTIFIERLOOSE",`${n[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),i("XRANGEIDENTIFIER",`${n[s.NUMERICIDENTIFIER]}|x|X|\\*`),i("XRANGEPLAIN",`[v=\\s]*(${n[s.XRANGEIDENTIFIER]})(?:\\.(${n[s.XRANGEIDENTIFIER]})(?:\\.(${n[s.XRANGEIDENTIFIER]})(?:${n[s.PRERELEASE]})?${n[s.BUILD]}?)?)?`),i("XRANGEPLAINLOOSE",`[v=\\s]*(${n[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[s.XRANGEIDENTIFIERLOOSE]})(?:${n[s.PRERELEASELOOSE]})?${n[s.BUILD]}?)?)?`),i("XRANGE",`^${n[s.GTLT]}\\s*${n[s.XRANGEPLAIN]}$`),i("XRANGELOOSE",`^${n[s.GTLT]}\\s*${n[s.XRANGEPLAINLOOSE]}$`),i("COERCE",`(^|[^\\d])(\\d{1,${u}})(?:\\.(\\d{1,${u}}))?(?:\\.(\\d{1,${u}}))?(?:$|[^\\d])`),i("COERCERTL",n[s.COERCE],!0),i("LONETILDE","(?:~>?)"),i("TILDETRIM",`(\\s*)${n[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",i("TILDE",`^${n[s.LONETILDE]}${n[s.XRANGEPLAIN]}$`),i("TILDELOOSE",`^${n[s.LONETILDE]}${n[s.XRANGEPLAINLOOSE]}$`),i("LONECARET","(?:\\^)"),i("CARETTRIM",`(\\s*)${n[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",i("CARET",`^${n[s.LONECARET]}${n[s.XRANGEPLAIN]}$`),i("CARETLOOSE",`^${n[s.LONECARET]}${n[s.XRANGEPLAINLOOSE]}$`),i("COMPARATORLOOSE",`^${n[s.GTLT]}\\s*(${n[s.LOOSEPLAIN]})$|^$`),i("COMPARATOR",`^${n[s.GTLT]}\\s*(${n[s.FULLPLAIN]})$|^$`),i("COMPARATORTRIM",`(\\s*)${n[s.GTLT]}\\s*(${n[s.LOOSEPLAIN]}|${n[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",i("HYPHENRANGE",`^\\s*(${n[s.XRANGEPLAIN]})\\s+-\\s+(${n[s.XRANGEPLAIN]})\\s*$`),i("HYPHENRANGELOOSE",`^\\s*(${n[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[s.XRANGEPLAINLOOSE]})\\s*$`),i("STAR","(<|>)?=?\\s*\\*"),i("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),i("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),p2=S({"node_modules/semver/internal/parse-options.js"(e,r){I();var u=["includePrerelease","loose","rtl"],t=a=>a?typeof a!="object"?{loose:!0}:u.filter(n=>a[n]).reduce((n,s)=>(n[s]=!0,n),{}):{};r.exports=t}}),d2=S({"node_modules/semver/internal/identifiers.js"(e,r){I();var u=/^[0-9]+$/,t=(n,s)=>{let c=u.test(n),i=u.test(s);return c&&i&&(n=+n,s=+s),n===s?0:c&&!i?-1:i&&!c?1:nt(s,n);r.exports={compareIdentifiers:t,rcompareIdentifiers:a}}}),h2=S({"node_modules/semver/classes/semver.js"(e,r){I();var u=ra(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:a}=ua(),{re:n,t:s}=f2(),c=p2(),{compareIdentifiers:i}=d2(),D=class{constructor(o,l){if(l=c(l),o instanceof D){if(o.loose===!!l.loose&&o.includePrerelease===!!l.includePrerelease)return o;o=o.version}else if(typeof o!="string")throw new TypeError(`Invalid Version: ${o}`);if(o.length>t)throw new TypeError(`version is longer than ${t} characters`);u("SemVer",o,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let d=o.trim().match(l.loose?n[s.LOOSE]:n[s.FULL]);if(!d)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){let g=+p;if(g>=0&&g=0;)typeof this.prerelease[d]=="number"&&(this.prerelease[d]++,d=-2);d===-1&&this.prerelease.push(0)}l&&(i(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=[l,0]):this.prerelease=[l,0]);break;default:throw new Error(`invalid increment argument: ${o}`)}return this.format(),this.raw=this.version,this}};r.exports=D}}),Cu=S({"node_modules/semver/functions/compare.js"(e,r){I();var u=h2(),t=(a,n,s)=>new u(a,s).compare(new u(n,s));r.exports=t}}),v2=S({"node_modules/semver/functions/lt.js"(e,r){I();var u=Cu(),t=(a,n,s)=>u(a,n,s)<0;r.exports=t}}),m2=S({"node_modules/semver/functions/gte.js"(e,r){I();var u=Cu(),t=(a,n,s)=>u(a,n,s)>=0;r.exports=t}}),E2=S({"src/utils/arrayify.js"(e,r){"use strict";I(),r.exports=(u,t)=>Object.entries(u).map(a=>{let[n,s]=a;return Object.assign({[t]:n},s)})}}),C2=S({"package.json"(e,r){r.exports={version:"2.8.8"}}}),g2=S({"node_modules/outdent/lib/index.js"(e,r){"use strict";I(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function u(){for(var f=[],x=0;xtypeof l=="string"||typeof l=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:i,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin",cliCategory:t},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:i,description:u` - Custom directory that contains prettier plugins in node_modules subdirectory. - Overrides default behavior when plugins are searched relatively to the location of Prettier. - Multiple values are accepted. - `,exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin-search-dir",cliCategory:t},printWidth:{since:"0.0.0",category:i,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:D,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` - Format code ending at a given character offset (exclusive). - The range will extend forwards to the end of the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},rangeStart:{since:"1.4.0",category:D,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` - Format code starting at a given character offset. - The range will extend backwards to the start of the first line containing the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},requirePragma:{since:"1.7.0",category:D,type:"boolean",default:!1,description:u` - Require either '@prettier' or '@format' to be present in the file's first docblock comment - in order for it to be formatted. - `,cliCategory:s},tabWidth:{type:"int",category:i,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:i,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:i,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};r.exports={CATEGORY_CONFIG:t,CATEGORY_EDITOR:a,CATEGORY_FORMAT:n,CATEGORY_OTHER:s,CATEGORY_OUTPUT:c,CATEGORY_GLOBAL:i,CATEGORY_SPECIAL:D,options:o}}}),A2=S({"src/main/support.js"(e,r){"use strict";I();var u={compare:Cu(),lt:v2(),gte:m2()},t=E2(),a=C2().version,n=F2().options;function s(){let{plugins:i=[],showUnreleased:D=!1,showDeprecated:o=!1,showInternal:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=a.split("-",1)[0],p=i.flatMap(f=>f.languages||[]).filter(F),g=t(Object.assign({},...i.map(f=>{let{options:x}=f;return x}),n),"name").filter(f=>F(f)&&E(f)).sort((f,x)=>f.name===x.name?0:f.name{f=Object.assign({},f),Array.isArray(f.default)&&(f.default=f.default.length===1?f.default[0].value:f.default.filter(F).sort((v,h)=>u.compare(h.since,v.since))[0].value),Array.isArray(f.choices)&&(f.choices=f.choices.filter(v=>F(v)&&E(v)),f.name==="parser"&&c(f,p,i));let x=Object.fromEntries(i.filter(v=>v.defaultOptions&&v.defaultOptions[f.name]!==void 0).map(v=>[v.name,v.defaultOptions[f.name]]));return Object.assign(Object.assign({},f),{},{pluginDefaults:x})});return{languages:p,options:g};function F(f){return D||!("since"in f)||f.since&&u.gte(d,f.since)}function E(f){return o||!("deprecated"in f)||f.deprecated&&u.lt(d,f.deprecated)}function b(f){if(l)return f;let{cliName:x,cliCategory:v,cliDescription:h}=f;return Ol(f,_l)}}function c(i,D,o){let l=new Set(i.choices.map(d=>d.value));for(let d of D)if(d.parsers){for(let p of d.parsers)if(!l.has(p)){l.add(p);let g=o.find(E=>E.parsers&&E.parsers[p]),F=d.name;g&&g.name&&(F+=` (plugin: ${g.name})`),i.choices.push({value:p,description:F})}}}r.exports={getSupportInfo:s}}}),x2=S({"src/utils/is-non-empty-array.js"(e,r){"use strict";I();function u(t){return Array.isArray(t)&&t.length>0}r.exports=u}});function b2(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var y2=je({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){I()}});function w2(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(b2(),"")}var B2=je({"node_modules/strip-ansi/index.js"(){I(),y2()}});function k2(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var q2=je({"node_modules/is-fullwidth-code-point/index.js"(){I()}}),_2=S({"node_modules/emoji-regex/index.js"(e,r){"use strict";I(),r.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),ta={};Pi(ta,{default:()=>O2});function O2(e){if(typeof e!="string"||e.length===0||(e=w2(e),e.length===0))return 0;e=e.replace((0,na.default)()," ");let r=0;for(let u=0;u=127&&t<=159||t>=768&&t<=879||(t>65535&&u++,r+=k2(t)?2:1)}return r}var na,I2=je({"node_modules/string-width/index.js"(){I(),B2(),q2(),na=Rl(_2())}}),S2=S({"src/utils/get-string-width.js"(e,r){"use strict";I();var u=(I2(),zi(ta)).default,t=/[^\x20-\x7F]/;function a(n){return n?t.test(n)?u(n):n.length:0}r.exports=a}}),gu=S({"src/utils/text/skip.js"(e,r){"use strict";I();function u(c){return(i,D,o)=>{let l=o&&o.backwards;if(D===!1)return!1;let{length:d}=i,p=D;for(;p>=0&&pk[k.length-2];function E(k){return(y,_,N)=>{let V=N&&N.backwards;if(_===!1)return!1;let{length:W}=y,K=_;for(;K>=0&&K2&&arguments[2]!==void 0?arguments[2]:{},N=i(k,_.backwards?y-1:y,_),V=p(k,N,_);return N!==V}function f(k,y,_){for(let N=y;N<_;++N)if(k.charAt(N)===` -`)return!0;return!1}function x(k,y,_){let N=_(y)-1;N=i(k,N,{backwards:!0}),N=p(k,N,{backwards:!0}),N=i(k,N,{backwards:!0});let V=p(k,N,{backwards:!0});return N!==V}function v(k,y){let _=null,N=y;for(;N!==_;)_=N,N=D(k,N),N=l(k,N),N=i(k,N);return N=d(k,N),N=p(k,N),N!==!1&&b(k,N)}function h(k,y,_){return v(k,_(y))}function m(k,y,_){return g(k,_(y))}function C(k,y,_){return k.charAt(m(k,y,_))}function w(k,y){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return i(k,_.backwards?y-1:y,_)!==y}function q(k,y){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,N=0;for(let V=_;VY?W:V}return K}function O(k,y){let _=k.slice(1,-1),N=y.parser==="json"||y.parser==="json5"&&y.quoteProps==="preserve"&&!y.singleQuote?'"':y.__isInHtmlAttribute?"'":B(_,y.singleQuote?"'":'"').quote;return T(_,N,!(y.parser==="css"||y.parser==="less"||y.parser==="scss"||y.__embeddedInHtml))}function T(k,y,_){let N=y==='"'?"'":'"',V=/\\(.)|(["'])/gs,W=k.replace(V,(K,ee,Y)=>ee===N?ee:Y===y?"\\"+Y:Y||(_&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(ee)?ee:"\\"+ee));return y+W+y}function P(k){return k.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(k,y){let _=k.match(new RegExp(`(${u(y)})+`,"g"));return _===null?0:_.reduce((N,V)=>Math.max(N,V.length/y.length),0)}function j(k,y){let _=k.match(new RegExp(`(${u(y)})+`,"g"));if(_===null)return 0;let N=new Map,V=0;for(let W of _){let K=W.length/y.length;N.set(K,!0),K>V&&(V=K)}for(let W=1;W{let{name:W}=V;return W.toLowerCase()===k})||_.find(V=>{let{aliases:W}=V;return Array.isArray(W)&&W.includes(k)})||_.find(V=>{let{extensions:W}=V;return Array.isArray(W)&&W.includes(`.${k}`)});return N&&N.parsers[0]}function z(k){return k&&k.type==="front-matter"}function M(k){let y=new WeakMap;return function(_){return y.has(_)||y.set(_,Symbol(k)),y.get(_)}}function U(k){let y=k.type||k.kind||"(unknown type)",_=String(k.name||k.id&&(typeof k.id=="object"?k.id.name:k.id)||k.key&&(typeof k.key=="object"?k.key.name:k.key)||k.value&&(typeof k.value=="object"?"":String(k.value))||k.operator||"");return _.length>20&&(_=_.slice(0,19)+"\u2026"),y+(_?" "+_:"")}r.exports={inferParserByLanguage:J,getStringWidth:s,getMaxContinuousCount:A,getMinNotPresentContinuousCount:j,getPenultimate:F,getLast:t,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:g,getNextNonSpaceNonCommentCharacterIndex:m,getNextNonSpaceNonCommentCharacter:C,skip:E,skipWhitespace:c,skipSpaces:i,skipToLineEnd:D,skipEverythingButNewLine:o,skipInlineComment:l,skipTrailingComment:d,skipNewline:p,isNextLineEmptyAfterIndex:v,isNextLineEmpty:h,isPreviousLineEmpty:x,hasNewline:b,hasNewlineInRange:f,hasSpaces:w,getAlignmentSize:q,getIndentSize:L,getPreferredQuote:B,printString:O,printNumber:P,makeString:T,addLeadingComment:G,addDanglingComment:X,addTrailingComment:R,isFrontMatterNode:z,isNonEmptyArray:n,createGroupIdMapper:M}}}),L2=S({"src/language-markdown/constants.evaluate.js"(e,r){r.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),R2=S({"src/language-markdown/utils.js"(e,r){"use strict";I();var{getLast:u}=N2(),{locStart:t,locEnd:a}=Zi(),{cjkPattern:n,kPattern:s,punctuationPattern:c}=L2(),i=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],D=[...i,"tableCell","paragraph","heading"],o=new RegExp(s),l=new RegExp(c);function d(f,x){let v="non-cjk",h="cj-letter",m="k-letter",C="cjk-punctuation",w=[],q=(x.proseWrap==="preserve"?f:f.replace(new RegExp(`(${n}) -(${n})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[B,O]of q.entries()){if(B%2===1){w.push({type:"whitespace",value:/\n/.test(O)?` -`:" "});continue}if((B===0||B===q.length-1)&&O==="")continue;let T=O.split(new RegExp(`(${n})`));for(let[P,A]of T.entries())if(!((P===0||P===T.length-1)&&A==="")){if(P%2===0){A!==""&&L({type:"word",value:A,kind:v,hasLeadingPunctuation:l.test(A[0]),hasTrailingPunctuation:l.test(u(A))});continue}L(l.test(A)?{type:"word",value:A,kind:C,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:A,kind:o.test(A)?m:h,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return w;function L(B){let O=u(w);O&&O.type==="word"&&(O.kind===v&&B.kind===h&&!O.hasTrailingPunctuation||O.kind===h&&B.kind===v&&!B.hasLeadingPunctuation?w.push({type:"whitespace",value:" "}):!T(v,C)&&![O.value,B.value].some(P=>/\u3000/.test(P))&&w.push({type:"whitespace",value:""})),w.push(B);function T(P,A){return O.kind===P&&B.kind===A||O.kind===A&&B.kind===P}}}function p(f,x){let[,v,h,m]=x.slice(f.position.start.offset,f.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:v,marker:h,leadingSpaces:m}}function g(f,x){if(!f.ordered||f.children.length<2)return!1;let v=Number(p(f.children[0],x.originalText).numberText),h=Number(p(f.children[1],x.originalText).numberText);if(v===0&&f.children.length>2){let m=Number(p(f.children[2],x.originalText).numberText);return h===1&&m===1}return h===1}function F(f,x){let{value:v}=f;return f.position.end.offset===x.length&&v.endsWith(` -`)&&x.endsWith(` -`)?v.slice(0,-1):v}function E(f,x){return function v(h,m,C){let w=Object.assign({},x(h,m,C));return w.children&&(w.children=w.children.map((q,L)=>v(q,L,[w,...C]))),w}(f,null,[])}function b(f){if((f==null?void 0:f.type)!=="link"||f.children.length!==1)return!1;let[x]=f.children;return t(f)===t(x)&&a(f)===a(x)}r.exports={mapAst:E,splitText:d,punctuationPattern:c,getFencedCodeBlockValue:F,getOrderedListItemInfo:p,hasGitDiffFriendlyOrderedList:g,INLINE_NODE_TYPES:i,INLINE_NODE_WRAPPER_TYPES:D,isAutolink:b}}}),j2=S({"src/language-markdown/unified-plugins/html-to-jsx.js"(e,r){"use strict";I();var u=Qi(),{mapAst:t,INLINE_NODE_WRAPPER_TYPES:a}=R2();function n(){return s=>t(s,(c,i,D)=>{let[o]=D;return c.type!=="html"||u.COMMENT_REGEX.test(c.value)||a.includes(o.type)?c:Object.assign(Object.assign({},c),{},{type:"jsx"})})}r.exports=n}}),P2=S({"src/language-markdown/unified-plugins/front-matter.js"(e,r){"use strict";I();var u=Ji();function t(){let a=this.Parser.prototype;a.blockMethods=["frontMatter",...a.blockMethods],a.blockTokenizers.frontMatter=n;function n(s,c){let i=u(c);if(i.frontMatter)return s(i.frontMatter.raw)(i.frontMatter)}n.onlyAtStart=!0}r.exports=t}}),M2=S({"src/language-markdown/unified-plugins/liquid.js"(e,r){"use strict";I();function u(){let t=this.Parser.prototype,a=t.inlineMethods;a.splice(a.indexOf("text"),0,"liquid"),t.inlineTokenizers.liquid=n;function n(s,c){let i=c.match(/^({%.*?%}|{{.*?}})/s);if(i)return s(i[0])({type:"liquidNode",value:i[0]})}n.locator=function(s,c){return s.indexOf("{",c)}}r.exports=u}}),z2=S({"src/language-markdown/unified-plugins/wiki-link.js"(e,r){"use strict";I();function u(){let t="wikiLink",a=/^\[\[(?.+?)]]/s,n=this.Parser.prototype,s=n.inlineMethods;s.splice(s.indexOf("link"),0,t),n.inlineTokenizers.wikiLink=c;function c(i,D){let o=a.exec(D);if(o){let l=o.groups.linkContents.trim();return i(o[0])({type:t,value:l})}}c.locator=function(i,D){return i.indexOf("[",D)}}r.exports=u}}),$2=S({"src/language-markdown/unified-plugins/loose-items.js"(e,r){"use strict";I();function u(){let t=this.Parser.prototype,a=t.blockTokenizers.list;function n(s,c,i){return c.type==="listItem"&&(c.loose=c.spread||s.charAt(s.length-1)===` -`,c.loose&&(i.loose=!0)),c}t.blockTokenizers.list=function(c,i,D){function o(l){let d=c(l);function p(g,F){return d(n(l,g,F),F)}return p.reset=function(g,F){return d.reset(n(l,g,F),F)},p}return o.now=c.now,a.call(this,o,i,D)}}r.exports=u}});I();var U2=GD(),G2=t2(),V2=a2(),H2=o2(),X2=s2(),{locStart:W2,locEnd:K2}=Zi(),Li=Qi(),Y2=j2(),J2=P2(),Z2=M2(),Q2=z2(),ef=$2();function sa(e){let{isMDX:r}=e;return u=>{let t=G2().use(U2,Object.assign({commonmark:!0},r&&{blocks:[Li.BLOCKS_REGEX]})).use(H2).use(J2).use(V2).use(r?Li.esSyntax:Ri).use(Z2).use(r?Y2:Ri).use(Q2).use(ef);return t.runSync(t.parse(u))}}function Ri(e){return e}var ca={astFormat:"mdast",hasPragma:X2.hasPragma,locStart:W2,locEnd:K2},ji=Object.assign(Object.assign({},ca),{},{parse:sa({isMDX:!1})}),rf=Object.assign(Object.assign({},ca),{},{parse:sa({isMDX:!0})});la.exports={parsers:{remark:ji,markdown:ji,mdx:rf}}});return uf();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-meriyah.js b/node_modules/ts-poet/node_modules/prettier/parser-meriyah.js deleted file mode 100644 index ece1f8d6c7..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-meriyah.js +++ /dev/null @@ -1,19 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.meriyah=e()}})(function(){"use strict";var B=(a,g)=>()=>(g||a((g={exports:{}}).exports,g),g.exports);var k2=B((X3,Fu)=>{var A1=function(a){return a&&a.Math==Math&&a};Fu.exports=A1(typeof globalThis=="object"&&globalThis)||A1(typeof window=="object"&&window)||A1(typeof self=="object"&&self)||A1(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var D2=B((z3,Lu)=>{Lu.exports=function(a){try{return!!a()}catch{return!0}}});var S2=B((W3,Ou)=>{var uo=D2();Ou.exports=!uo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var ue=B((K3,Tu)=>{var io=D2();Tu.exports=!io(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var E1=B((Y3,Iu)=>{var no=ue(),P1=Function.prototype.call;Iu.exports=no?P1.bind(P1):function(){return P1.apply(P1,arguments)}});var ju=B(Nu=>{"use strict";var Ru={}.propertyIsEnumerable,Vu=Object.getOwnPropertyDescriptor,to=Vu&&!Ru.call({1:2},1);Nu.f=to?function(g){var b=Vu(this,g);return!!b&&b.enumerable}:Ru});var ie=B((Q3,_u)=>{_u.exports=function(a,g){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:g}}});var F2=B((G3,Ju)=>{var Mu=ue(),Uu=Function.prototype,ne=Uu.call,oo=Mu&&Uu.bind.bind(ne,ne);Ju.exports=Mu?oo:function(a){return function(){return ne.apply(a,arguments)}}});var Xu=B((x3,Hu)=>{var $u=F2(),lo=$u({}.toString),fo=$u("".slice);Hu.exports=function(a){return fo(lo(a),8,-1)}});var Wu=B((p3,zu)=>{var co=F2(),so=D2(),ao=Xu(),te=Object,go=co("".split);zu.exports=so(function(){return!te("z").propertyIsEnumerable(0)})?function(a){return ao(a)=="String"?go(a,""):te(a)}:te});var oe=B((e6,Ku)=>{Ku.exports=function(a){return a==null}});var le=B((u6,Yu)=>{var ho=oe(),mo=TypeError;Yu.exports=function(a){if(ho(a))throw mo("Can't call method on "+a);return a}});var C1=B((i6,Zu)=>{var bo=Wu(),ko=le();Zu.exports=function(a){return bo(ko(a))}});var ce=B((n6,Qu)=>{var fe=typeof document=="object"&&document.all,ro=typeof fe>"u"&&fe!==void 0;Qu.exports={all:fe,IS_HTMLDDA:ro}});var A2=B((t6,xu)=>{var Gu=ce(),vo=Gu.all;xu.exports=Gu.IS_HTMLDDA?function(a){return typeof a=="function"||a===vo}:function(a){return typeof a=="function"}});var Z2=B((o6,ui)=>{var pu=A2(),ei=ce(),yo=ei.all;ui.exports=ei.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:pu(a)||a===yo}:function(a){return typeof a=="object"?a!==null:pu(a)}});var D1=B((l6,ii)=>{var se=k2(),Ao=A2(),Po=function(a){return Ao(a)?a:void 0};ii.exports=function(a,g){return arguments.length<2?Po(se[a]):se[a]&&se[a][g]}});var ti=B((f6,ni)=>{var Eo=F2();ni.exports=Eo({}.isPrototypeOf)});var li=B((c6,oi)=>{var Co=D1();oi.exports=Co("navigator","userAgent")||""});var hi=B((s6,gi)=>{var di=k2(),ae=li(),fi=di.process,ci=di.Deno,si=fi&&fi.versions||ci&&ci.version,ai=si&&si.v8,P2,w1;ai&&(P2=ai.split("."),w1=P2[0]>0&&P2[0]<4?1:+(P2[0]+P2[1]));!w1&&ae&&(P2=ae.match(/Edge\/(\d+)/),(!P2||P2[1]>=74)&&(P2=ae.match(/Chrome\/(\d+)/),P2&&(w1=+P2[1])));gi.exports=w1});var de=B((a6,bi)=>{var mi=hi(),Do=D2();bi.exports=!!Object.getOwnPropertySymbols&&!Do(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&mi&&mi<41})});var ge=B((d6,ki)=>{var wo=de();ki.exports=wo&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var he=B((g6,ri)=>{var qo=D1(),Bo=A2(),So=ti(),Fo=ge(),Lo=Object;ri.exports=Fo?function(a){return typeof a=="symbol"}:function(a){var g=qo("Symbol");return Bo(g)&&So(g.prototype,Lo(a))}});var yi=B((h6,vi)=>{var Oo=String;vi.exports=function(a){try{return Oo(a)}catch{return"Object"}}});var Pi=B((m6,Ai)=>{var To=A2(),Io=yi(),Ro=TypeError;Ai.exports=function(a){if(To(a))return a;throw Ro(Io(a)+" is not a function")}});var Ci=B((b6,Ei)=>{var Vo=Pi(),No=oe();Ei.exports=function(a,g){var b=a[g];return No(b)?void 0:Vo(b)}});var wi=B((k6,Di)=>{var me=E1(),be=A2(),ke=Z2(),jo=TypeError;Di.exports=function(a,g){var b,f;if(g==="string"&&be(b=a.toString)&&!ke(f=me(b,a))||be(b=a.valueOf)&&!ke(f=me(b,a))||g!=="string"&&be(b=a.toString)&&!ke(f=me(b,a)))return f;throw jo("Can't convert object to primitive value")}});var Bi=B((r6,qi)=>{qi.exports=!1});var q1=B((v6,Fi)=>{var Si=k2(),_o=Object.defineProperty;Fi.exports=function(a,g){try{_o(Si,a,{value:g,configurable:!0,writable:!0})}catch{Si[a]=g}return g}});var B1=B((y6,Oi)=>{var Mo=k2(),Uo=q1(),Li="__core-js_shared__",Jo=Mo[Li]||Uo(Li,{});Oi.exports=Jo});var re=B((A6,Ii)=>{var $o=Bi(),Ti=B1();(Ii.exports=function(a,g){return Ti[a]||(Ti[a]=g!==void 0?g:{})})("versions",[]).push({version:"3.26.1",mode:$o?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Vi=B((P6,Ri)=>{var Ho=le(),Xo=Object;Ri.exports=function(a){return Xo(Ho(a))}});var R2=B((E6,Ni)=>{var zo=F2(),Wo=Vi(),Ko=zo({}.hasOwnProperty);Ni.exports=Object.hasOwn||function(g,b){return Ko(Wo(g),b)}});var ve=B((C6,ji)=>{var Yo=F2(),Zo=0,Qo=Math.random(),Go=Yo(1 .toString);ji.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Go(++Zo+Qo,36)}});var Hi=B((D6,$i)=>{var xo=k2(),po=re(),_i=R2(),el=ve(),Mi=de(),Ji=ge(),Q2=po("wks"),$2=xo.Symbol,Ui=$2&&$2.for,ul=Ji?$2:$2&&$2.withoutSetter||el;$i.exports=function(a){if(!_i(Q2,a)||!(Mi||typeof Q2[a]=="string")){var g="Symbol."+a;Mi&&_i($2,a)?Q2[a]=$2[a]:Ji&&Ui?Q2[a]=Ui(g):Q2[a]=ul(g)}return Q2[a]}});var Ki=B((w6,Wi)=>{var il=E1(),Xi=Z2(),zi=he(),nl=Ci(),tl=wi(),ol=Hi(),ll=TypeError,fl=ol("toPrimitive");Wi.exports=function(a,g){if(!Xi(a)||zi(a))return a;var b=nl(a,fl),f;if(b){if(g===void 0&&(g="default"),f=il(b,a,g),!Xi(f)||zi(f))return f;throw ll("Can't convert object to primitive value")}return g===void 0&&(g="number"),tl(a,g)}});var ye=B((q6,Yi)=>{var cl=Ki(),sl=he();Yi.exports=function(a){var g=cl(a,"string");return sl(g)?g:g+""}});var Gi=B((B6,Qi)=>{var al=k2(),Zi=Z2(),Ae=al.document,dl=Zi(Ae)&&Zi(Ae.createElement);Qi.exports=function(a){return dl?Ae.createElement(a):{}}});var Pe=B((S6,xi)=>{var gl=S2(),hl=D2(),ml=Gi();xi.exports=!gl&&!hl(function(){return Object.defineProperty(ml("div"),"a",{get:function(){return 7}}).a!=7})});var Ee=B(en=>{var bl=S2(),kl=E1(),rl=ju(),vl=ie(),yl=C1(),Al=ye(),Pl=R2(),El=Pe(),pi=Object.getOwnPropertyDescriptor;en.f=bl?pi:function(g,b){if(g=yl(g),b=Al(b),El)try{return pi(g,b)}catch{}if(Pl(g,b))return vl(!kl(rl.f,g,b),g[b])}});var nn=B((L6,un)=>{var Cl=S2(),Dl=D2();un.exports=Cl&&Dl(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var S1=B((O6,tn)=>{var wl=Z2(),ql=String,Bl=TypeError;tn.exports=function(a){if(wl(a))return a;throw Bl(ql(a)+" is not an object")}});var u1=B(ln=>{var Sl=S2(),Fl=Pe(),Ll=nn(),F1=S1(),on=ye(),Ol=TypeError,Ce=Object.defineProperty,Tl=Object.getOwnPropertyDescriptor,De="enumerable",we="configurable",qe="writable";ln.f=Sl?Ll?function(g,b,f){if(F1(g),b=on(b),F1(f),typeof g=="function"&&b==="prototype"&&"value"in f&&qe in f&&!f[qe]){var A=Tl(g,b);A&&A[qe]&&(g[b]=f.value,f={configurable:we in f?f[we]:A[we],enumerable:De in f?f[De]:A[De],writable:!1})}return Ce(g,b,f)}:Ce:function(g,b,f){if(F1(g),b=on(b),F1(f),Fl)try{return Ce(g,b,f)}catch{}if("get"in f||"set"in f)throw Ol("Accessors not supported");return"value"in f&&(g[b]=f.value),g}});var Be=B((I6,fn)=>{var Il=S2(),Rl=u1(),Vl=ie();fn.exports=Il?function(a,g,b){return Rl.f(a,g,Vl(1,b))}:function(a,g,b){return a[g]=b,a}});var an=B((R6,sn)=>{var Se=S2(),Nl=R2(),cn=Function.prototype,jl=Se&&Object.getOwnPropertyDescriptor,Fe=Nl(cn,"name"),_l=Fe&&function(){}.name==="something",Ml=Fe&&(!Se||Se&&jl(cn,"name").configurable);sn.exports={EXISTS:Fe,PROPER:_l,CONFIGURABLE:Ml}});var gn=B((V6,dn)=>{var Ul=F2(),Jl=A2(),Le=B1(),$l=Ul(Function.toString);Jl(Le.inspectSource)||(Le.inspectSource=function(a){return $l(a)});dn.exports=Le.inspectSource});var bn=B((N6,mn)=>{var Hl=k2(),Xl=A2(),hn=Hl.WeakMap;mn.exports=Xl(hn)&&/native code/.test(String(hn))});var vn=B((j6,rn)=>{var zl=re(),Wl=ve(),kn=zl("keys");rn.exports=function(a){return kn[a]||(kn[a]=Wl(a))}});var Oe=B((_6,yn)=>{yn.exports={}});var Cn=B((M6,En)=>{var Kl=bn(),Pn=k2(),Yl=Z2(),Zl=Be(),Te=R2(),Ie=B1(),Ql=vn(),Gl=Oe(),An="Object already initialized",Re=Pn.TypeError,xl=Pn.WeakMap,L1,i1,O1,pl=function(a){return O1(a)?i1(a):L1(a,{})},e4=function(a){return function(g){var b;if(!Yl(g)||(b=i1(g)).type!==a)throw Re("Incompatible receiver, "+a+" required");return b}};Kl||Ie.state?(E2=Ie.state||(Ie.state=new xl),E2.get=E2.get,E2.has=E2.has,E2.set=E2.set,L1=function(a,g){if(E2.has(a))throw Re(An);return g.facade=a,E2.set(a,g),g},i1=function(a){return E2.get(a)||{}},O1=function(a){return E2.has(a)}):(H2=Ql("state"),Gl[H2]=!0,L1=function(a,g){if(Te(a,H2))throw Re(An);return g.facade=a,Zl(a,H2,g),g},i1=function(a){return Te(a,H2)?a[H2]:{}},O1=function(a){return Te(a,H2)});var E2,H2;En.exports={set:L1,get:i1,has:O1,enforce:pl,getterFor:e4}});var Ne=B((U6,wn)=>{var u4=D2(),i4=A2(),T1=R2(),Ve=S2(),n4=an().CONFIGURABLE,t4=gn(),Dn=Cn(),o4=Dn.enforce,l4=Dn.get,I1=Object.defineProperty,f4=Ve&&!u4(function(){return I1(function(){},"length",{value:8}).length!==8}),c4=String(String).split("String"),s4=wn.exports=function(a,g,b){String(g).slice(0,7)==="Symbol("&&(g="["+String(g).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),b&&b.getter&&(g="get "+g),b&&b.setter&&(g="set "+g),(!T1(a,"name")||n4&&a.name!==g)&&(Ve?I1(a,"name",{value:g,configurable:!0}):a.name=g),f4&&b&&T1(b,"arity")&&a.length!==b.arity&&I1(a,"length",{value:b.arity});try{b&&T1(b,"constructor")&&b.constructor?Ve&&I1(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var f=o4(a);return T1(f,"source")||(f.source=c4.join(typeof g=="string"?g:"")),a};Function.prototype.toString=s4(function(){return i4(this)&&l4(this).source||t4(this)},"toString")});var Bn=B((J6,qn)=>{var a4=A2(),d4=u1(),g4=Ne(),h4=q1();qn.exports=function(a,g,b,f){f||(f={});var A=f.enumerable,L=f.name!==void 0?f.name:g;if(a4(b)&&g4(b,L,f),f.global)A?a[g]=b:h4(g,b);else{try{f.unsafe?a[g]&&(A=!0):delete a[g]}catch{}A?a[g]=b:d4.f(a,g,{value:b,enumerable:!1,configurable:!f.nonConfigurable,writable:!f.nonWritable})}return a}});var Fn=B(($6,Sn)=>{var m4=Math.ceil,b4=Math.floor;Sn.exports=Math.trunc||function(g){var b=+g;return(b>0?b4:m4)(b)}});var je=B((H6,Ln)=>{var k4=Fn();Ln.exports=function(a){var g=+a;return g!==g||g===0?0:k4(g)}});var Tn=B((X6,On)=>{var r4=je(),v4=Math.max,y4=Math.min;On.exports=function(a,g){var b=r4(a);return b<0?v4(b+g,0):y4(b,g)}});var Rn=B((z6,In)=>{var A4=je(),P4=Math.min;In.exports=function(a){return a>0?P4(A4(a),9007199254740991):0}});var Nn=B((W6,Vn)=>{var E4=Rn();Vn.exports=function(a){return E4(a.length)}});var Mn=B((K6,_n)=>{var C4=C1(),D4=Tn(),w4=Nn(),jn=function(a){return function(g,b,f){var A=C4(g),L=w4(A),S=D4(f,L),V;if(a&&b!=b){for(;L>S;)if(V=A[S++],V!=V)return!0}else for(;L>S;S++)if((a||S in A)&&A[S]===b)return a||S||0;return!a&&-1}};_n.exports={includes:jn(!0),indexOf:jn(!1)}});var $n=B((Y6,Jn)=>{var q4=F2(),_e=R2(),B4=C1(),S4=Mn().indexOf,F4=Oe(),Un=q4([].push);Jn.exports=function(a,g){var b=B4(a),f=0,A=[],L;for(L in b)!_e(F4,L)&&_e(b,L)&&Un(A,L);for(;g.length>f;)_e(b,L=g[f++])&&(~S4(A,L)||Un(A,L));return A}});var Xn=B((Z6,Hn)=>{Hn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Wn=B(zn=>{var L4=$n(),O4=Xn(),T4=O4.concat("length","prototype");zn.f=Object.getOwnPropertyNames||function(g){return L4(g,T4)}});var Yn=B(Kn=>{Kn.f=Object.getOwnPropertySymbols});var Qn=B((x6,Zn)=>{var I4=D1(),R4=F2(),V4=Wn(),N4=Yn(),j4=S1(),_4=R4([].concat);Zn.exports=I4("Reflect","ownKeys")||function(g){var b=V4.f(j4(g)),f=N4.f;return f?_4(b,f(g)):b}});var pn=B((p6,xn)=>{var Gn=R2(),M4=Qn(),U4=Ee(),J4=u1();xn.exports=function(a,g,b){for(var f=M4(g),A=J4.f,L=U4.f,S=0;S{var $4=D2(),H4=A2(),X4=/#|\.prototype\./,n1=function(a,g){var b=W4[z4(a)];return b==Y4?!0:b==K4?!1:H4(g)?$4(g):!!g},z4=n1.normalize=function(a){return String(a).replace(X4,".").toLowerCase()},W4=n1.data={},K4=n1.NATIVE="N",Y4=n1.POLYFILL="P";e0.exports=n1});var n0=B((uf,i0)=>{var Me=k2(),Z4=Ee().f,Q4=Be(),G4=Bn(),x4=q1(),p4=pn(),e3=u0();i0.exports=function(a,g){var b=a.target,f=a.global,A=a.stat,L,S,V,r,X,Y;if(f?S=Me:A?S=Me[b]||x4(b,{}):S=(Me[b]||{}).prototype,S)for(V in g){if(X=g[V],a.dontCallGetSet?(Y=Z4(S,V),r=Y&&Y.value):r=S[V],L=e3(f?V:b+(A?".":"#")+V,a.forced),!L&&r!==void 0){if(typeof X==typeof r)continue;p4(X,r)}(a.sham||r&&r.sham)&&Q4(X,"sham",!0),G4(S,V,X,a)}}});var t0=B(()=>{var u3=n0(),Ue=k2();u3({global:!0,forced:Ue.globalThis!==Ue},{globalThis:Ue})});var o0=B(()=>{t0()});var c0=B((ff,f0)=>{var l0=Ne(),i3=u1();f0.exports=function(a,g,b){return b.get&&l0(b.get,g,{getter:!0}),b.set&&l0(b.set,g,{setter:!0}),i3.f(a,g,b)}});var a0=B((cf,s0)=>{"use strict";var n3=S1();s0.exports=function(){var a=n3(this),g="";return a.hasIndices&&(g+="d"),a.global&&(g+="g"),a.ignoreCase&&(g+="i"),a.multiline&&(g+="m"),a.dotAll&&(g+="s"),a.unicode&&(g+="u"),a.unicodeSets&&(g+="v"),a.sticky&&(g+="y"),g}});var h0=B(()=>{var t3=k2(),o3=S2(),l3=c0(),f3=a0(),c3=D2(),d0=t3.RegExp,g0=d0.prototype,s3=o3&&c3(function(){var a=!0;try{d0(".","d")}catch{a=!1}var g={},b="",f=a?"dgimsy":"gimsy",A=function(r,X){Object.defineProperty(g,r,{get:function(){return b+=X,!0}})},L={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(L.hasIndices="d");for(var S in L)A(S,L[S]);var V=Object.getOwnPropertyDescriptor(g0,"flags").get.call(g);return V!==f||b!==f});s3&&l3(g0,"flags",{configurable:!0,get:f3})});var $3=B((df,O0)=>{o0();h0();var Xe=Object.defineProperty,a3=Object.getOwnPropertyDescriptor,ze=Object.getOwnPropertyNames,d3=Object.prototype.hasOwnProperty,b0=(a,g)=>function(){return a&&(g=(0,a[ze(a)[0]])(a=0)),g},t2=(a,g)=>function(){return g||(0,a[ze(a)[0]])((g={exports:{}}).exports,g),g.exports},g3=(a,g)=>{for(var b in g)Xe(a,b,{get:g[b],enumerable:!0})},h3=(a,g,b,f)=>{if(g&&typeof g=="object"||typeof g=="function")for(let A of ze(g))!d3.call(a,A)&&A!==b&&Xe(a,A,{get:()=>g[A],enumerable:!(f=a3(g,A))||f.enumerable});return a},m3=a=>h3(Xe({},"__esModule",{value:!0}),a),n2=b0({""(){}}),k0=t2({"src/common/parser-create-error.js"(a,g){"use strict";n2();function b(f,A){let L=new SyntaxError(f+" ("+A.start.line+":"+A.start.column+")");return L.loc=A,L}g.exports=b}}),b3=t2({"src/utils/try-combinations.js"(a,g){"use strict";n2();function b(){let f;for(var A=arguments.length,L=new Array(A),S=0;SHe,arch:()=>k3,cpus:()=>D0,default:()=>F0,endianness:()=>v0,freemem:()=>E0,getNetworkInterfaces:()=>S0,hostname:()=>y0,loadavg:()=>A0,networkInterfaces:()=>B0,platform:()=>r3,release:()=>q0,tmpDir:()=>Je,tmpdir:()=>$e,totalmem:()=>C0,type:()=>w0,uptime:()=>P0});function v0(){if(typeof R1>"u"){var a=new ArrayBuffer(2),g=new Uint8Array(a),b=new Uint16Array(a);if(g[0]=1,g[1]=2,b[0]===258)R1="BE";else if(b[0]===513)R1="LE";else throw new Error("unable to figure out endianess")}return R1}function y0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function A0(){return[]}function P0(){return 0}function E0(){return Number.MAX_VALUE}function C0(){return Number.MAX_VALUE}function D0(){return[]}function w0(){return"Browser"}function q0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function B0(){}function S0(){}function k3(){return"javascript"}function r3(){return"browser"}function Je(){return"/tmp"}var R1,$e,He,F0,v3=b0({"node-modules-polyfills:os"(){n2(),$e=Je,He=` -`,F0={EOL:He,tmpdir:$e,tmpDir:Je,networkInterfaces:B0,getNetworkInterfaces:S0,release:q0,type:w0,cpus:D0,totalmem:C0,freemem:E0,uptime:P0,loadavg:A0,hostname:y0,endianness:v0}}}),y3=t2({"node-modules-polyfills-commonjs:os"(a,g){n2();var b=(v3(),m3(r0));if(b&&b.default){g.exports=b.default;for(let f in b)g.exports[f]=b[f]}else b&&(g.exports=b)}}),A3=t2({"node_modules/detect-newline/index.js"(a,g){"use strict";n2();var b=f=>{if(typeof f!="string")throw new TypeError("Expected a string");let A=f.match(/(?:\r?\n)/g)||[];if(A.length===0)return;let L=A.filter(V=>V===`\r -`).length,S=A.length-L;return L>S?`\r -`:` -`};g.exports=b,g.exports.graceful=f=>typeof f=="string"&&b(f)||` -`}}),P3=t2({"node_modules/jest-docblock/build/index.js"(a){"use strict";n2(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=T,a.parse=w2,a.parseWithComments=C,a.print=J,a.strip=z;function g(){let U=y3();return g=function(){return U},U}function b(){let U=f(A3());return b=function(){return U},U}function f(U){return U&&U.__esModule?U:{default:U}}var A=/\*\/$/,L=/^\/\*\*?/,S=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,V=/(^|\s+)\/\/([^\r\n]*)/g,r=/^(\r?\n)+/,X=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Y=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,G=/(\r?\n|^) *\* ?/g,u2=[];function T(U){let e2=U.match(S);return e2?e2[0].trimLeft():""}function z(U){let e2=U.match(S);return e2&&e2[0]?U.substring(e2[0].length):U}function w2(U){return C(U).pragmas}function C(U){let e2=(0,b().default)(U)||g().EOL;U=U.replace(L,"").replace(A,"").replace(G,"$1");let g2="";for(;g2!==U;)g2=U,U=U.replace(X,`${e2}$1 $2${e2}`);U=U.replace(r,"").trimRight();let l2=Object.create(null),V2=U.replace(Y,"").replace(r,"").trimRight(),f2;for(;f2=Y.exec(U);){let N2=f2[2].replace(V,"");typeof l2[f2[1]]=="string"||Array.isArray(l2[f2[1]])?l2[f2[1]]=u2.concat(l2[f2[1]],N2):l2[f2[1]]=N2}return{comments:V2,pragmas:l2}}function J(U){let{comments:e2="",pragmas:g2={}}=U,l2=(0,b().default)(e2)||g().EOL,V2="/**",f2=" *",N2=" */",q2=Object.keys(g2),V1=q2.map(a2=>p(a2,g2[a2])).reduce((a2,t1)=>a2.concat(t1),[]).map(a2=>`${f2} ${a2}${l2}`).join("");if(!e2){if(q2.length===0)return"";if(q2.length===1&&!Array.isArray(g2[q2[0]])){let a2=g2[q2[0]];return`${V2} ${p(q2[0],a2)[0]}${N2}`}}let N1=e2.split(l2).map(a2=>`${f2} ${a2}`).join(l2)+l2;return V2+l2+(e2?N1:"")+(e2&&q2.length?f2+l2:"")+V1+N2}function p(U,e2){return u2.concat(e2).map(g2=>`@${U} ${g2}`.trim())}}}),E3=t2({"src/common/end-of-line.js"(a,g){"use strict";n2();function b(S){let V=S.indexOf("\r");return V>=0?S.charAt(V+1)===` -`?"crlf":"cr":"lf"}function f(S){switch(S){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function A(S,V){let r;switch(V){case` -`:r=/\n/g;break;case"\r":r=/\r/g;break;case`\r -`:r=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(V)}.`)}let X=S.match(r);return X?X.length:0}function L(S){return S.replace(/\r\n?/g,` -`)}g.exports={guessEndOfLine:b,convertEndOfLineToChars:f,countEndOfLineChars:A,normalizeEndOfLine:L}}}),C3=t2({"src/language-js/utils/get-shebang.js"(a,g){"use strict";n2();function b(f){if(!f.startsWith("#!"))return"";let A=f.indexOf(` -`);return A===-1?f:f.slice(0,A)}g.exports=b}}),D3=t2({"src/language-js/pragma.js"(a,g){"use strict";n2();var{parseWithComments:b,strip:f,extract:A,print:L}=P3(),{normalizeEndOfLine:S}=E3(),V=C3();function r(G){let u2=V(G);u2&&(G=G.slice(u2.length+1));let T=A(G),{pragmas:z,comments:w2}=b(T);return{shebang:u2,text:G,pragmas:z,comments:w2}}function X(G){let u2=Object.keys(r(G).pragmas);return u2.includes("prettier")||u2.includes("format")}function Y(G){let{shebang:u2,text:T,pragmas:z,comments:w2}=r(G),C=f(T),J=L({pragmas:Object.assign({format:""},z),comments:w2.trimStart()});return(u2?`${u2} -`:"")+S(J)+(C.startsWith(` -`)?` -`:` - -`)+C}g.exports={hasPragma:X,insertPragma:Y}}}),w3=t2({"src/utils/is-non-empty-array.js"(a,g){"use strict";n2();function b(f){return Array.isArray(f)&&f.length>0}g.exports=b}}),L0=t2({"src/language-js/loc.js"(a,g){"use strict";n2();var b=w3();function f(r){var X,Y;let G=r.range?r.range[0]:r.start,u2=(X=(Y=r.declaration)===null||Y===void 0?void 0:Y.decorators)!==null&&X!==void 0?X:r.decorators;return b(u2)?Math.min(f(u2[0]),G):G}function A(r){return r.range?r.range[1]:r.end}function L(r,X){let Y=f(r);return Number.isInteger(Y)&&Y===f(X)}function S(r,X){let Y=A(r);return Number.isInteger(Y)&&Y===A(X)}function V(r,X){return L(r,X)&&S(r,X)}g.exports={locStart:f,locEnd:A,hasSameLocStart:L,hasSameLoc:V}}}),q3=t2({"src/language-js/parse/utils/create-parser.js"(a,g){"use strict";n2();var{hasPragma:b}=D3(),{locStart:f,locEnd:A}=L0();function L(S){return S=typeof S=="function"?{parse:S}:S,Object.assign({astFormat:"estree",hasPragma:b,locStart:f,locEnd:A},S)}g.exports=L}}),B3=t2({"src/language-js/utils/is-ts-keyword-type.js"(a,g){"use strict";n2();function b(f){let{type:A}=f;return A.startsWith("TS")&&A.endsWith("Keyword")}g.exports=b}}),S3=t2({"src/language-js/utils/is-block-comment.js"(a,g){"use strict";n2();var b=new Set(["Block","CommentBlock","MultiLine"]),f=A=>b.has(A==null?void 0:A.type);g.exports=f}}),F3=t2({"src/language-js/utils/is-type-cast-comment.js"(a,g){"use strict";n2();var b=S3();function f(A){return b(A)&&A.value[0]==="*"&&/@(?:type|satisfies)\b/.test(A.value)}g.exports=f}}),L3=t2({"src/utils/get-last.js"(a,g){"use strict";n2();var b=f=>f[f.length-1];g.exports=b}}),O3=t2({"src/language-js/parse/postprocess/visit-node.js"(a,g){"use strict";n2();function b(f,A){if(Array.isArray(f)){for(let L=0;L{J.leadingComments&&J.leadingComments.some(L)&&C.add(b(J))}),T=V(T,J=>{if(J.type==="ParenthesizedExpression"){let{expression:p}=J;if(p.type==="TypeCastExpression")return p.range=J.range,p;let U=b(J);if(!C.has(U))return p.extra=Object.assign(Object.assign({},p.extra),{},{parenthesized:!0}),p}})}return T=V(T,C=>{switch(C.type){case"ChainExpression":return Y(C.expression);case"LogicalExpression":{if(G(C))return u2(C);break}case"VariableDeclaration":{let J=S(C.declarations);J&&J.init&&w2(C,J);break}case"TSParenthesizedType":return A(C.typeAnnotation)||C.typeAnnotation.type==="TSThisType"||(C.typeAnnotation.range=[b(C),f(C)]),C.typeAnnotation;case"TSTypeParameter":if(typeof C.name=="string"){let J=b(C);C.name={type:"Identifier",name:C.name,range:[J,J+C.name.length]}}break;case"ObjectExpression":if(z.parser==="typescript"){let J=C.properties.find(p=>p.type==="Property"&&p.value.type==="TSEmptyBodyFunctionExpression");J&&r(J.value,"Unexpected token.")}break;case"SequenceExpression":{let J=S(C.expressions);C.range=[b(C),Math.min(f(J),f(C))];break}case"TopicReference":z.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:J}=C;if(z.parser==="meriyah"&&J&&J.type==="Identifier"){let p=z.originalText.slice(b(J),f(J));(p.startsWith('"')||p.startsWith("'"))&&(C.exported=Object.assign(Object.assign({},C.exported),{},{type:"Literal",value:C.exported.name,raw:p}))}break}case"PropertyDefinition":if(z.parser==="meriyah"&&C.static&&!C.computed&&!C.key){let J="static",p=b(C);Object.assign(C,{static:!1,key:{type:"Identifier",name:J,range:[p,p+J.length]}})}break}}),T;function w2(C,J){z.originalText[f(J)]!==";"&&(C.range=[b(C),f(J)])}}function Y(T){switch(T.type){case"CallExpression":T.type="OptionalCallExpression",T.callee=Y(T.callee);break;case"MemberExpression":T.type="OptionalMemberExpression",T.object=Y(T.object);break;case"TSNonNullExpression":T.expression=Y(T.expression);break}return T}function G(T){return T.type==="LogicalExpression"&&T.right.type==="LogicalExpression"&&T.operator===T.right.operator}function u2(T){return G(T)?u2({type:"LogicalExpression",operator:T.operator,left:u2({type:"LogicalExpression",operator:T.operator,left:T.left,right:T.right.left,range:[b(T.left),f(T.right.left)]}),right:T.right.right,range:[b(T),f(T)]}):T}g.exports=X}}),R3=t2({"node_modules/meriyah/dist/meriyah.cjs"(a){"use strict";n2(),Object.defineProperty(a,"__esModule",{value:!0});var g={[0]:"Unexpected token",[28]:"Unexpected token: '%0'",[1]:"Octal escape sequences are not allowed in strict mode",[2]:"Octal escape sequences are not allowed in template strings",[3]:"Unexpected token `#`",[4]:"Illegal Unicode escape sequence",[5]:"Invalid code point %0",[6]:"Invalid hexadecimal escape sequence",[8]:"Octal literals are not allowed in strict mode",[7]:"Decimal integer literals with a leading zero are forbidden in strict mode",[9]:"Expected number in radix %0",[145]:"Invalid left-hand side assignment to a destructible right-hand side",[10]:"Non-number found after exponent indicator",[11]:"Invalid BigIntLiteral",[12]:"No identifiers allowed directly after numeric literal",[13]:"Escapes \\8 or \\9 are not syntactically valid escapes",[14]:"Unterminated string literal",[15]:"Unterminated template literal",[16]:"Multiline comment was not closed properly",[17]:"The identifier contained dynamic unicode escape that was not closed",[18]:"Illegal character '%0'",[19]:"Missing hexadecimal digits",[20]:"Invalid implicit octal",[21]:"Invalid line break in string literal",[22]:"Only unicode escapes are legal in identifier names",[23]:"Expected '%0'",[24]:"Invalid left-hand side in assignment",[25]:"Invalid left-hand side in async arrow",[26]:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',[27]:"Member access on super must be in a method",[29]:"Await expression not allowed in formal parameter",[30]:"Yield expression not allowed in formal parameter",[92]:"Unexpected token: 'escaped keyword'",[31]:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",[119]:"Async functions can only be declared at the top level or inside a block",[32]:"Unterminated regular expression",[33]:"Unexpected regular expression flag",[34]:"Duplicate regular expression flag '%0'",[35]:"%0 functions must have exactly %1 argument%2",[36]:"Setter function argument must not be a rest parameter",[37]:"%0 declaration must have a name in this context",[38]:"Function name may not contain any reserved words or be eval or arguments in strict mode",[39]:"The rest operator is missing an argument",[40]:"A getter cannot be a generator",[41]:"A computed property name must be followed by a colon or paren",[130]:"Object literal keys that are strings or numbers must be a method or have a colon",[43]:"Found `* async x(){}` but this should be `async * x(){}`",[42]:"Getters and setters can not be generators",[44]:"'%0' can not be generator method",[45]:"No line break is allowed after '=>'",[46]:"The left-hand side of the arrow can only be destructed through assignment",[47]:"The binding declaration is not destructible",[48]:"Async arrow can not be followed by new expression",[49]:"Classes may not have a static property named 'prototype'",[50]:"Class constructor may not be a %0",[51]:"Duplicate constructor method in class",[52]:"Invalid increment/decrement operand",[53]:"Invalid use of `new` keyword on an increment/decrement expression",[54]:"`=>` is an invalid assignment target",[55]:"Rest element may not have a trailing comma",[56]:"Missing initializer in %0 declaration",[57]:"'for-%0' loop head declarations can not have an initializer",[58]:"Invalid left-hand side in for-%0 loop: Must have a single binding",[59]:"Invalid shorthand property initializer",[60]:"Property name __proto__ appears more than once in object literal",[61]:"Let is disallowed as a lexically bound name",[62]:"Invalid use of '%0' inside new expression",[63]:"Illegal 'use strict' directive in function with non-simple parameter list",[64]:'Identifier "let" disallowed as left-hand side expression in strict mode',[65]:"Illegal continue statement",[66]:"Illegal break statement",[67]:"Cannot have `let[...]` as a var name in strict mode",[68]:"Invalid destructuring assignment target",[69]:"Rest parameter may not have a default initializer",[70]:"The rest argument must the be last parameter",[71]:"Invalid rest argument",[73]:"In strict mode code, functions can only be declared at top level or inside a block",[74]:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",[75]:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",[76]:"Class declaration can't appear in single-statement context",[77]:"Invalid left-hand side in for-%0",[78]:"Invalid assignment in for-%0",[79]:"for await (... of ...) is only valid in async functions and async generators",[80]:"The first token after the template expression should be a continuation of the template",[82]:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",[81]:"`let \n [` is a restricted production at the start of a statement",[83]:"Catch clause requires exactly one parameter, not more (and no trailing comma)",[84]:"Catch clause parameter does not support default values",[85]:"Missing catch or finally after try",[86]:"More than one default clause in switch statement",[87]:"Illegal newline after throw",[88]:"Strict mode code may not include a with statement",[89]:"Illegal return statement",[90]:"The left hand side of the for-header binding declaration is not destructible",[91]:"new.target only allowed within functions",[93]:"'#' not followed by identifier",[99]:"Invalid keyword",[98]:"Can not use 'let' as a class name",[97]:"'A lexical declaration can't define a 'let' binding",[96]:"Can not use `let` as variable name in strict mode",[94]:"'%0' may not be used as an identifier in this context",[95]:"Await is only valid in async functions",[100]:"The %0 keyword can only be used with the module goal",[101]:"Unicode codepoint must not be greater than 0x10FFFF",[102]:"%0 source must be string",[103]:"Only a identifier can be used to indicate alias",[104]:"Only '*' or '{...}' can be imported after default",[105]:"Trailing decorator may be followed by method",[106]:"Decorators can't be used with a constructor",[108]:"HTML comments are only allowed with web compatibility (Annex B)",[109]:"The identifier 'let' must not be in expression position in strict mode",[110]:"Cannot assign to `eval` and `arguments` in strict mode",[111]:"The left-hand side of a for-of loop may not start with 'let'",[112]:"Block body arrows can not be immediately invoked without a group",[113]:"Block body arrows can not be immediately accessed without a group",[114]:"Unexpected strict mode reserved word",[115]:"Unexpected eval or arguments in strict mode",[116]:"Decorators must not be followed by a semicolon",[117]:"Calling delete on expression not allowed in strict mode",[118]:"Pattern can not have a tail",[120]:"Can not have a `yield` expression on the left side of a ternary",[121]:"An arrow function can not have a postfix update operator",[122]:"Invalid object literal key character after generator star",[123]:"Private fields can not be deleted",[125]:"Classes may not have a field called constructor",[124]:"Classes may not have a private element named constructor",[126]:"A class field initializer may not contain arguments",[127]:"Generators can only be declared at the top level or inside a block",[128]:"Async methods are a restricted production and cannot have a newline following it",[129]:"Unexpected character after object literal property name",[131]:"Invalid key token",[132]:"Label '%0' has already been declared",[133]:"continue statement must be nested within an iteration statement",[134]:"Undefined label '%0'",[135]:"Trailing comma is disallowed inside import(...) arguments",[136]:"import() requires exactly one argument",[137]:"Cannot use new with import(...)",[138]:"... is not allowed in import()",[139]:"Expected '=>'",[140]:"Duplicate binding '%0'",[141]:"Cannot export a duplicate name '%0'",[144]:"Duplicate %0 for-binding",[142]:"Exported binding '%0' needs to refer to a top-level declared variable",[143]:"Unexpected private field",[147]:"Numeric separators are not allowed at the end of numeric literals",[146]:"Only one underscore is allowed as numeric separator",[148]:"JSX value should be either an expression or a quoted JSX text",[149]:"Expected corresponding JSX closing tag for %0",[150]:"Adjacent JSX elements must be wrapped in an enclosing tag",[151]:"JSX attributes must only be assigned a non-empty 'expression'",[152]:"'%0' has already been declared",[153]:"'%0' shadowed a catch clause binding",[154]:"Dot property must be an identifier",[155]:"Encountered invalid input after spread/rest argument",[156]:"Catch without try",[157]:"Finally without try",[158]:"Expected corresponding closing tag for JSX fragment",[159]:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",[160]:"Invalid tagged template on optional chain",[161]:"Invalid optional chain from super property",[162]:"Invalid optional chain from new expression",[163]:'Cannot use "import.meta" outside a module',[164]:"Leading decorators must be attached to a class declaration"},b=class extends SyntaxError{constructor(e,u,i,n){for(var t=arguments.length,o=new Array(t>4?t-4:0),l=4;lo[m]);super(`${c}`),this.index=e,this.line=u,this.column=i,this.description=c,this.loc={line:u,column:i}}};function f(e,u){for(var i=arguments.length,n=new Array(i>2?i-2:0),t=2;t4?t-4:0),l=4;l{let i=new Uint32Array(104448),n=0,t=0;for(;n<3540;){let o=e[n++];if(o<0)t-=o;else{let l=e[n++];o&2&&(l=u[l]),o&1?i.fill(l,t,t+=e[n++]):i[t++]=l}}return i})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function r(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function X(e,u){if((u&64512)!==55296)return 0;let i=e.source.charCodeAt(e.index+1);return(i&64512)!==56320?0:(u=e.currentChar=65536+((u&1023)<<10)+(i&1023),V[(u>>>5)+0]>>>u&31&1||f(e,18,T(u)),e.index++,e.column++,1)}function Y(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,u&4||(e.column=0,e.line++)}function G(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function u2(e){return e===160||e===65279||e===133||e===5760||e>=8192&&e<=8203||e===8239||e===8287||e===12288||e===8201||e===65519}function T(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(e&1023)}function z(e){return e<65?e-48:e-65+10&15}function w2(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return(e&143360)===143360?"Identifier":(e&4096)===4096?"Keyword":"Punctuator"}}var C=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],J=[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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],p=[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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function U(e){return e<=127?J[e]:V[(e>>>5)+34816]>>>e&31&1}function e2(e){return e<=127?p[e]:V[(e>>>5)+0]>>>e&31&1||e===8204||e===8205}var g2=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function l2(e){let u=e.source;e.currentChar===35&&u.charCodeAt(e.index+1)===33&&(r(e),r(e),f2(e,u,0,4,e.tokenPos,e.linePos,e.colPos))}function V2(e,u,i,n,t,o,l,c){return n&2048&&f(e,0),f2(e,u,i,t,o,l,c)}function f2(e,u,i,n,t,o,l){let{index:c}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return f(e,32)}let t=e.index-1,o=0,l=e.currentChar,{index:c}=e;for(;e2(l);){switch(l){case 103:o&2&&f(e,34,"g"),o|=2;break;case 105:o&1&&f(e,34,"i"),o|=1;break;case 109:o&4&&f(e,34,"m"),o|=4;break;case 117:o&16&&f(e,34,"g"),o|=16;break;case 121:o&8&&f(e,34,"y"),o|=8;break;case 115:o&32&&f(e,34,"s"),o|=32;break;default:f(e,33)}l=r(e)}let s=e.source.slice(c,e.index),m=e.source.slice(i,t);return e.tokenRegExp={pattern:m,flags:s},u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=V1(e,m,s),65540}function V1(e,u,i){try{return new RegExp(u,i)}catch{f(e,32)}}function N1(e,u,i){let{index:n}=e,t="",o=r(e),l=e.index;for(;!(C[o]&8);){if(o===i)return t+=e.source.slice(l,e.index),r(e),u&512&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=t,134283267;if((o&8)===8&&o===92){if(t+=e.source.slice(l,e.index),o=r(e),o<127||o===8232||o===8233){let c=a2(e,u,o);c>=0?t+=T(c):t1(e,c,0)}else t+=T(o);l=e.index+1}e.index>=e.end&&f(e,14),o=r(e)}f(e,14)}function a2(e,u,i){switch(i){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||e.currentChar!==125?-4:t}else{if(!(C[n]&64))return-4;let t=e.source.charCodeAt(e.index+1);if(!(C[t]&64))return-4;let o=e.source.charCodeAt(e.index+2);if(!(C[o]&64))return-4;let l=e.source.charCodeAt(e.index+3);return C[l]&64?(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),z(n)<<12|z(t)<<8|z(o)<<4|z(l)):-4}}case 56:case 57:if(!(u&256))return-3;default:return i}}function t1(e,u,i){switch(u){case-1:return;case-2:f(e,i?2:1);case-3:f(e,13);case-4:f(e,6);case-5:f(e,101)}}function We(e,u){let{index:i}=e,n=67174409,t="",o=r(e);for(;o!==96;){if(o===36&&e.source.charCodeAt(e.index+1)===123){r(e),n=67174408;break}else if((o&8)===8&&o===92)if(o=r(e),o>126)t+=T(o);else{let l=a2(e,u|1024,o);if(l>=0)t+=T(l);else if(l!==-1&&u&65536){t=void 0,o=T0(e,o),o<0&&(n=67174408);break}else t1(e,l,1)}else e.index=e.end&&f(e,15),o=r(e)}return r(e),e.tokenValue=t,e.tokenRaw=e.source.slice(i+1,e.index-(n===67174409?1:2)),n}function T0(e,u){for(;u!==96;){switch(u){case 36:{let i=e.index+1;if(i=e.end&&f(e,15),u=r(e)}return u}function I0(e,u){return e.index>=e.end&&f(e,0),e.index--,e.column--,We(e,u)}function Ke(e,u,i){let n=e.currentChar,t=0,o=9,l=i&64?0:1,c=0,s=0;if(i&64)t="."+o1(e,n),n=e.currentChar,n===110&&f(e,11);else{if(n===48)if(n=r(e),(n|32)===120){for(i=136,n=r(e);C[n]&4160;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*16+z(n),c++,n=r(e)}(c<1||!s)&&f(e,c<1?19:147)}else if((n|32)===111){for(i=132,n=r(e);C[n]&4128;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*8+(n-48),c++,n=r(e)}(c<1||!s)&&f(e,c<1?0:147)}else if((n|32)===98){for(i=130,n=r(e);C[n]&4224;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*2+(n-48),c++,n=r(e)}(c<1||!s)&&f(e,c<1?0:147)}else if(C[n]&32)for(u&1024&&f(e,1),i=1;C[n]&16;){if(C[n]&512){i=32,l=0;break}t=t*8+(n-48),n=r(e)}else C[n]&512?(u&1024&&f(e,1),e.flags|=64,i=32):n===95&&f(e,0);if(i&48){if(l){for(;o>=0&&C[n]&4112;){if(n===95){n=r(e),(n===95||i&32)&&S(e.index,e.line,e.index+1,146),s=1;continue}s=0,t=10*t+(n-48),n=r(e),--o}if(s&&S(e.index,e.line,e.index+1,147),o>=0&&!U(n)&&n!==46)return e.tokenValue=t,u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}t+=o1(e,n),n=e.currentChar,n===46&&(r(e)===95&&f(e,0),i=64,t+="."+o1(e,e.currentChar),n=e.currentChar)}}let m=e.index,k=0;if(n===110&&i&128)k=1,n=r(e);else if((n|32)===101){n=r(e),C[n]&256&&(n=r(e));let{index:h}=e;(C[n]&16)<1&&f(e,10),t+=e.source.substring(m,h)+o1(e,n),n=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],Ye=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function Ze(e,u,i){for(;p[r(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),e.currentChar!==92&&e.currentChar<126?Ye[e.tokenValue]||208897:j1(e,u,0,i)}function R0(e,u){let i=Qe(e);return e2(i)||f(e,4),e.tokenValue=T(i),j1(e,u,1,C[i]&4)}function j1(e,u,i,n){let t=e.index;for(;e.index=2&&o<=11){let l=Ye[e.tokenValue];return l===void 0?208897:i?u&1024?l===209008&&!(u&4196352)?l:l===36972||(l&36864)===36864?122:121:u&1073741824&&!(u&8192)&&(l&20480)===20480?l:l===241773?u&1073741824?143483:u&2097152?121:l:l===209007&&u&1073741824?143483:(l&36864)===36864||l===209008&&!(u&4194304)?l:121:l}return 208897}function V0(e){return U(r(e))||f(e,93),131}function Qe(e){return e.source.charCodeAt(e.index+1)!==117&&f(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),N0(e)}function N0(e){let u=0,i=e.currentChar;if(i===123){let l=e.index-2;for(;C[r(e)]&64;)u=u<<4|z(e.currentChar),u>1114111&&S(l,e.line,e.index+1,101);return e.currentChar!==125&&S(l,e.line,e.index-1,6),r(e),u}C[i]&64||f(e,6);let n=e.source.charCodeAt(e.index+1);C[n]&64||f(e,6);let t=e.source.charCodeAt(e.index+2);C[t]&64||f(e,6);let o=e.source.charCodeAt(e.index+3);return C[o]&64||f(e,6),u=z(i)<<12|z(n)<<8|z(t)<<4|z(o),e.currentChar=e.source.charCodeAt(e.index+=4),u}var Ge=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function E(e,u){if(e.flags=(e.flags|1)^1,e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=xe(e,u,0),e.onToken&&e.token!==1048576){let i={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(w2(e.token),e.tokenPos,e.index,i)}}function xe(e,u,i){let n=e.index===0,t=e.source,o=e.index,l=e.line,c=e.column;for(;e.index=e.end)return 8457014;let d=e.currentChar;return d===61?(r(e),4194340):d!==42?8457014:r(e)!==61?8457273:(r(e),4194337)}case 8455497:return r(e)!==61?8455497:(r(e),4194343);case 25233970:{r(e);let d=e.currentChar;return d===43?(r(e),33619995):d===61?(r(e),4194338):25233970}case 25233971:{r(e);let d=e.currentChar;if(d===45){if(r(e),(i&1||n)&&e.currentChar===62){u&256||f(e,108),r(e),i=V2(e,t,i,u,3,o,l,c),o=e.tokenPos,l=e.linePos,c=e.colPos;continue}return 33619996}return d===61?(r(e),4194339):25233971}case 8457016:{if(r(e),e.index=48&&h<=57)return Ke(e,u,80);if(h===46){let d=e.index+1;if(d=48&&d<=57)))return r(e),67108991}return 22}}}else{if((s^8232)<=1){i=i&-5|1,G(e);continue}if((s&64512)===55296||V[(s>>>5)+34816]>>>s&31&1)return(s&64512)===56320&&(s=(s&1023)<<10|s&1023|65536,V[(s>>>5)+0]>>>s&31&1||f(e,18,T(s)),e.index++,e.currentChar=s),e.column++,e.tokenValue="",j1(e,u,0,0);if(u2(s)){r(e);continue}f(e,18,T(s))}}return 1048576}var j0={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},pe={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function _0(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,u=>{if(u.charAt(1)==="#"){let i=u.charAt(2),n=i==="X"||i==="x"?parseInt(u.slice(3),16):parseInt(u.slice(2),10);return M0(n)}return j0[u.slice(1,-1)]||u})}function M0(e){return e>=55296&&e<=57343||e>1114111?"\uFFFD":(e in pe&&(e=pe[e]),String.fromCodePoint(e))}function U0(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=C[e.currentChar]&8192?J0(e,u):xe(e,u,0),e.token}function J0(e,u){let i=e.currentChar,n=r(e),t=e.index;for(;n!==i;)e.index>=e.end&&f(e,14),n=r(e);return n!==i&&f(e,14),e.tokenValue=e.source.slice(t,e.index),r(e),u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283267}function j2(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(Ge[e.source.charCodeAt(e.index)]){case 8456258:{r(e),e.currentChar===47?(r(e),e.token=25):e.token=8456258;break}case 2162700:{r(e),e.token=2162700;break}default:{let n=0;for(;e.index2?o-2:0),c=2;c1&&t&32&&e.token&262144&&f(e,58,Z[e.token&255]),l}function cu(e,u,i,n,t){let{token:o,tokenPos:l,linePos:c,colPos:s}=e,m=null,k=Du(e,u,i,n,t,l,c,s);return e.token===1077936157?(E(e,u|32768),m=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(t&32||(o&2097152)<1)&&(e.token===274549||e.token===8738868&&(o&2097152||(n&4)<1||u&1024))&&L(l,e.line,e.index-3,57,e.token===274549?"of":"in")):(n&16||(o&2097152)>0)&&(e.token&262144)!==262144&&f(e,56,n&16?"const":"destructuring"),v(e,u,l,c,s,{type:"VariableDeclarator",id:k,init:m})}function gt(e,u,i,n,t,o,l){E(e,u);let c=(u&4194304)>0&&M(e,u,209008);q(e,u|32768,67174411),i&&(i=i2(i,1));let s=null,m=null,k=0,h=null,d=e.token===86090||e.token===241739||e.token===86092,y,{token:w,tokenPos:D,linePos:F,colPos:O}=e;if(d?w===241739?(h=$(e,u,0),e.token&2240512?(e.token===8738868?u&1024&&f(e,64):h=v(e,u,D,F,O,{type:"VariableDeclaration",kind:"let",declarations:z2(e,u|134217728,i,8,32)}),e.assignable=1):u&1024?f(e,64):(d=!1,e.assignable=1,h=H(e,u,h,0,0,D,F,O),e.token===274549&&f(e,111))):(E(e,u),h=v(e,u,D,F,O,w===86090?{type:"VariableDeclaration",kind:"var",declarations:z2(e,u|134217728,i,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:z2(e,u|134217728,i,16,32)}),e.assignable=1):w===1074790417?c&&f(e,79):(w&2097152)===2097152?(h=w===2162700?b2(e,u,void 0,1,0,0,2,32,D,F,O):m2(e,u,void 0,1,0,0,2,32,D,F,O),k=e.destructible,u&256&&k&64&&f(e,60),e.assignable=k&16?2:1,h=H(e,u|134217728,h,0,0,e.tokenPos,e.linePos,e.colPos)):h=h2(e,u|134217728,1,0,1,D,F,O),(e.token&262144)===262144){if(e.token===274549){e.assignable&2&&f(e,77,c?"await":"of"),r2(e,h),E(e,u|32768),y=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),q(e,u|32768,16);let I=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForOfStatement",left:h,right:y,body:I,await:c})}e.assignable&2&&f(e,77,"in"),r2(e,h),E(e,u|32768),c&&f(e,79),y=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos),q(e,u|32768,16);let x=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForInStatement",body:x,left:h,right:y})}c&&f(e,79),d||(k&8&&e.token!==1077936157&&f(e,77,"loop"),h=Q(e,u|134217728,0,0,D,F,O,h)),e.token===18&&(h=O2(e,u,0,e.tokenPos,e.linePos,e.colPos,h)),q(e,u|32768,1074790417),e.token!==1074790417&&(s=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),q(e,u|32768,1074790417),e.token!==16&&(m=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),q(e,u|32768,16);let N=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForStatement",init:h,test:s,update:m,body:N})}function su(e,u,i){return J1(u,e.token)||f(e,114),(e.token&537079808)===537079808&&f(e,115),i&&L2(e,u,i,e.tokenValue,8,0),$(e,u,0)}function ht(e,u,i){let n=e.tokenPos,t=e.linePos,o=e.colPos;E(e,u);let l=null,{tokenPos:c,linePos:s,colPos:m}=e,k=[];if(e.token===134283267)l=c2(e,u);else{if(e.token&143360){let h=su(e,u,i);if(k=[v(e,u,c,s,m,{type:"ImportDefaultSpecifier",local:h})],M(e,u,18))switch(e.token){case 8457014:k.push(au(e,u,i));break;case 2162700:du(e,u,i,k);break;default:f(e,104)}}else switch(e.token){case 8457014:k=[au(e,u,i)];break;case 2162700:du(e,u,i,k);break;case 67174411:return hu(e,u,n,t,o);case 67108877:return gu(e,u,n,t,o);default:f(e,28,Z[e.token&255])}l=mt(e,u)}return s2(e,u|32768),v(e,u,n,t,o,{type:"ImportDeclaration",specifiers:k,source:l})}function au(e,u,i){let{tokenPos:n,linePos:t,colPos:o}=e;return E(e,u),q(e,u,77934),(e.token&134217728)===134217728&&L(n,e.line,e.index,28,Z[e.token&255]),v(e,u,n,t,o,{type:"ImportNamespaceSpecifier",local:su(e,u,i)})}function mt(e,u){return M(e,u,12404),e.token!==134283267&&f(e,102,"Import"),c2(e,u)}function du(e,u,i,n){for(E(e,u);e.token&143360;){let{token:t,tokenValue:o,tokenPos:l,linePos:c,colPos:s}=e,m=$(e,u,0),k;M(e,u,77934)?((e.token&134217728)===134217728||e.token===18?f(e,103):l1(e,u,16,e.token,0),o=e.tokenValue,k=$(e,u,0)):(l1(e,u,16,t,0),k=m),i&&L2(e,u,i,o,8,0),n.push(v(e,u,l,c,s,{type:"ImportSpecifier",local:k,imported:m})),e.token!==1074790415&&q(e,u,18)}return q(e,u,1074790415),n}function gu(e,u,i,n,t){let o=bu(e,u,v(e,u,i,n,t,{type:"Identifier",name:"import"}),i,n,t);return o=H(e,u,o,0,0,i,n,t),o=Q(e,u,0,0,i,n,t,o),X2(e,u,o,i,n,t)}function hu(e,u,i,n,t){let o=ku(e,u,0,i,n,t);return o=H(e,u,o,0,0,i,n,t),X2(e,u,o,i,n,t)}function bt(e,u,i){let n=e.tokenPos,t=e.linePos,o=e.colPos;E(e,u|32768);let l=[],c=null,s=null,m;if(M(e,u|32768,20563)){switch(e.token){case 86106:{c=I2(e,u,i,4,1,1,0,e.tokenPos,e.linePos,e.colPos);break}case 133:case 86096:c=x1(e,u,i,1,e.tokenPos,e.linePos,e.colPos);break;case 209007:let{tokenPos:k,linePos:h,colPos:d}=e;c=$(e,u,0);let{flags:y}=e;(y&1)<1&&(e.token===86106?c=I2(e,u,i,4,1,1,1,k,h,d):e.token===67174411?(c=G1(e,u,c,1,1,0,y,k,h,d),c=H(e,u,c,0,0,k,h,d),c=Q(e,u,0,0,k,h,d,c)):e.token&143360&&(i&&(i=c1(e,u,e.tokenValue)),c=$(e,u,0),c=e1(e,u,i,[c],1,k,h,d)));break;default:c=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),s2(e,u|32768)}return i&&M2(e,"default"),v(e,u,n,t,o,{type:"ExportDefaultDeclaration",declaration:c})}switch(e.token){case 8457014:{E(e,u);let y=null;return M(e,u,77934)&&(i&&M2(e,e.tokenValue),y=$(e,u,0)),q(e,u,12404),e.token!==134283267&&f(e,102,"Export"),s=c2(e,u),s2(e,u|32768),v(e,u,n,t,o,{type:"ExportAllDeclaration",source:s,exported:y})}case 2162700:{E(e,u);let y=[],w=[];for(;e.token&143360;){let{tokenPos:D,tokenValue:F,linePos:O,colPos:N}=e,x=$(e,u,0),I;e.token===77934?(E(e,u),(e.token&134217728)===134217728&&f(e,103),i&&(y.push(e.tokenValue),w.push(F)),I=$(e,u,0)):(i&&(y.push(e.tokenValue),w.push(e.tokenValue)),I=x),l.push(v(e,u,D,O,N,{type:"ExportSpecifier",local:x,exported:I})),e.token!==1074790415&&q(e,u,18)}if(q(e,u,1074790415),M(e,u,12404))e.token!==134283267&&f(e,102,"Export"),s=c2(e,u);else if(i){let D=0,F=y.length;for(;D0)&8738868,k,h;for(e.assignable=2;e.token&8454144&&(k=e.token,h=k&3840,(k&524288&&c&268435456||c&524288&&k&268435456)&&f(e,159),!(h+((k===8457273)<<8)-((m===k)<<12)<=l));)E(e,u|32768),s=v(e,u,n,t,o,{type:k&524288||k&268435456?"LogicalExpression":"BinaryExpression",left:s,right:T2(e,u,i,e.tokenPos,e.linePos,e.colPos,h,k,h2(e,u,0,i,1,e.tokenPos,e.linePos,e.colPos)),operator:Z[k&255]});return e.token===1077936157&&f(e,24),s}function kt(e,u,i,n,t,o,l){i||f(e,0);let c=e.token;E(e,u|32768);let s=h2(e,u,0,l,1,e.tokenPos,e.linePos,e.colPos);return e.token===8457273&&f(e,31),u&1024&&c===16863278&&(s.type==="Identifier"?f(e,117):$0(s)&&f(e,123)),e.assignable=2,v(e,u,n,t,o,{type:"UnaryExpression",operator:Z[c&255],argument:s,prefix:!0})}function rt(e,u,i,n,t,o,l,c,s,m){let{token:k}=e,h=$(e,u,o),{flags:d}=e;if((d&1)<1){if(e.token===86106)return vu(e,u,1,i,c,s,m);if((e.token&143360)===143360)return n||f(e,0),Pu(e,u,t,c,s,m)}return!l&&e.token===67174411?G1(e,u,h,t,1,0,d,c,s,m):e.token===10?($1(e,u,k,1),l&&f(e,48),h1(e,u,e.tokenValue,h,l,t,0,c,s,m)):h}function vt(e,u,i,n,t,o,l){if(i&&(e.destructible|=256),u&2097152){E(e,u|32768),u&8388608&&f(e,30),n||f(e,24),e.token===22&&f(e,120);let c=null,s=!1;return(e.flags&1)<1&&(s=M(e,u|32768,8457014),(e.token&77824||s)&&(c=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,v(e,u,t,o,l,{type:"YieldExpression",argument:c,delegate:s})}return u&1024&&f(e,94,"yield"),Q1(e,u,t,o,l)}function yt(e,u,i,n,t,o,l){if(n&&(e.destructible|=128),u&4194304||u&2048&&u&8192){i&&f(e,0),u&8388608&&L(e.index,e.line,e.index,29),E(e,u|32768);let c=h2(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.token===8457273&&f(e,31),e.assignable=2,v(e,u,t,o,l,{type:"AwaitExpression",argument:c})}return u&2048&&f(e,95),Q1(e,u,t,o,l)}function d1(e,u,i,n,t,o){let{tokenPos:l,linePos:c,colPos:s}=e;q(e,u|32768,2162700);let m=[],k=u;if(e.token!==1074790415){for(;e.token===134283267;){let{index:h,tokenPos:d,tokenValue:y,token:w}=e,D=c2(e,u);eu(e,h,d,y)&&(u|=1024,e.flags&128&&L(e.index,e.line,e.tokenPos,63),e.flags&64&&L(e.index,e.line,e.tokenPos,8)),m.push(z1(e,u,D,w,d,e.linePos,e.colPos))}u&1024&&(t&&((t&537079808)===537079808&&f(e,115),(t&36864)===36864&&f(e,38)),e.flags&512&&f(e,115),e.flags&256&&f(e,114)),u&64&&i&&o!==void 0&&(k&1024)<1&&(u&8192)<1&&A(o)}for(e.flags=(e.flags|512|256|64)^832,e.destructible=(e.destructible|256)^256;e.token!==1074790415;)m.push(G2(e,u,i,4,{}));return q(e,n&24?u|32768:u,1074790415),e.flags&=-193,e.token===1077936157&&f(e,24),v(e,u,l,c,s,{type:"BlockStatement",body:m})}function At(e,u,i,n,t){switch(E(e,u),e.token){case 67108991:f(e,161);case 67174411:{(u&524288)<1&&f(e,26),u&16384&&f(e,27),e.assignable=2;break}case 69271571:case 67108877:{(u&262144)<1&&f(e,27),u&16384&&f(e,27),e.assignable=1;break}default:f(e,28,"super")}return v(e,u,i,n,t,{type:"Super"})}function h2(e,u,i,n,t,o,l,c){let s=d2(e,u,2,0,i,0,n,t,o,l,c);return H(e,u,s,n,0,o,l,c)}function Pt(e,u,i,n,t,o){e.assignable&2&&f(e,52);let{token:l}=e;return E(e,u),e.assignable=2,v(e,u,n,t,o,{type:"UpdateExpression",argument:i,operator:Z[l&255],prefix:!1})}function H(e,u,i,n,t,o,l,c){if((e.token&33619968)===33619968&&(e.flags&1)<1)i=Pt(e,u,i,o,l,c);else if((e.token&67108864)===67108864){switch(u=(u|134217728)^134217728,e.token){case 67108877:{E(e,(u|1073741824|8192)^8192),e.assignable=1;let s=mu(e,u);i=v(e,u,o,l,c,{type:"MemberExpression",object:i,computed:!1,property:s});break}case 69271571:{let s=!1;(e.flags&2048)===2048&&(s=!0,e.flags=(e.flags|2048)^2048),E(e,u|32768);let{tokenPos:m,linePos:k,colPos:h}=e,d=o2(e,u,n,1,m,k,h);q(e,u,20),e.assignable=1,i=v(e,u,o,l,c,{type:"MemberExpression",object:i,computed:!0,property:d}),s&&(e.flags|=2048);break}case 67174411:{if((e.flags&1024)===1024)return e.flags=(e.flags|1024)^1024,i;let s=!1;(e.flags&2048)===2048&&(s=!0,e.flags=(e.flags|2048)^2048);let m=Z1(e,u,n);e.assignable=2,i=v(e,u,o,l,c,{type:"CallExpression",callee:i,arguments:m}),s&&(e.flags|=2048);break}case 67108991:{E(e,(u|1073741824|8192)^8192),e.flags|=2048,e.assignable=2,i=Et(e,u,i,o,l,c);break}default:(e.flags&2048)===2048&&f(e,160),e.assignable=2,i=v(e,u,o,l,c,{type:"TaggedTemplateExpression",tag:i,quasi:e.token===67174408?Y1(e,u|65536):K1(e,u,e.tokenPos,e.linePos,e.colPos)})}i=H(e,u,i,0,1,o,l,c)}return t===0&&(e.flags&2048)===2048&&(e.flags=(e.flags|2048)^2048,i=v(e,u,o,l,c,{type:"ChainExpression",expression:i})),i}function Et(e,u,i,n,t,o){let l=!1,c;if((e.token===69271571||e.token===67174411)&&(e.flags&2048)===2048&&(l=!0,e.flags=(e.flags|2048)^2048),e.token===69271571){E(e,u|32768);let{tokenPos:s,linePos:m,colPos:k}=e,h=o2(e,u,0,1,s,m,k);q(e,u,20),e.assignable=2,c=v(e,u,n,t,o,{type:"MemberExpression",object:i,computed:!0,optional:!0,property:h})}else if(e.token===67174411){let s=Z1(e,u,0);e.assignable=2,c=v(e,u,n,t,o,{type:"CallExpression",callee:i,arguments:s,optional:!0})}else{(e.token&143360)<1&&f(e,154);let s=$(e,u,0);e.assignable=2,c=v(e,u,n,t,o,{type:"MemberExpression",object:i,computed:!1,optional:!0,property:s})}return l&&(e.flags|=2048),c}function mu(e,u){return(e.token&143360)<1&&e.token!==131&&f(e,154),u&1&&e.token===131?r1(e,u,e.tokenPos,e.linePos,e.colPos):$(e,u,0)}function Ct(e,u,i,n,t,o,l){i&&f(e,53),n||f(e,0);let{token:c}=e;E(e,u|32768);let s=h2(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.assignable&2&&f(e,52),e.assignable=2,v(e,u,t,o,l,{type:"UpdateExpression",argument:s,operator:Z[c&255],prefix:!0})}function d2(e,u,i,n,t,o,l,c,s,m,k){if((e.token&143360)===143360){switch(e.token){case 209008:return yt(e,u,n,l,s,m,k);case 241773:return vt(e,u,l,t,s,m,k);case 209007:return rt(e,u,l,c,t,o,n,s,m,k)}let{token:h,tokenValue:d}=e,y=$(e,u|65536,o);return e.token===10?(c||f(e,0),$1(e,u,h,1),h1(e,u,d,y,n,t,0,s,m,k)):(u&16384&&h===537079928&&f(e,126),h===241739&&(u&1024&&f(e,109),i&24&&f(e,97)),e.assignable=u&1024&&(h&537079808)===537079808?2:1,y)}if((e.token&134217728)===134217728)return c2(e,u);switch(e.token){case 33619995:case 33619996:return Ct(e,u,n,c,s,m,k);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return kt(e,u,c,s,m,k,l);case 86106:return vu(e,u,0,l,s,m,k);case 2162700:return Ft(e,u,t?0:1,l,s,m,k);case 69271571:return St(e,u,t?0:1,l,s,m,k);case 67174411:return Ot(e,u,t,1,0,s,m,k);case 86021:case 86022:case 86023:return qt(e,u,s,m,k);case 86113:return Bt(e,u);case 65540:return Rt(e,u,s,m,k);case 133:case 86096:return Vt(e,u,l,s,m,k);case 86111:return At(e,u,s,m,k);case 67174409:return K1(e,u,s,m,k);case 67174408:return Y1(e,u);case 86109:return Tt(e,u,l,s,m,k);case 134283389:return ru(e,u,s,m,k);case 131:return r1(e,u,s,m,k);case 86108:return Dt(e,u,n,l,s,m,k);case 8456258:if(u&16)return ee(e,u,1,s,m,k);default:if(J1(u,e.token))return Q1(e,u,s,m,k);f(e,28,Z[e.token&255])}}function Dt(e,u,i,n,t,o,l){let c=$(e,u,0);return e.token===67108877?bu(e,u,c,t,o,l):(i&&f(e,137),c=ku(e,u,n,t,o,l),e.assignable=2,H(e,u,c,n,0,t,o,l))}function bu(e,u,i,n,t,o){return u&2048||f(e,163),E(e,u),e.token!==143495&&e.tokenValue!=="meta"&&f(e,28,Z[e.token&255]),e.assignable=2,v(e,u,n,t,o,{type:"MetaProperty",meta:i,property:$(e,u,0)})}function ku(e,u,i,n,t,o){q(e,u|32768,67174411),e.token===14&&f(e,138);let l=K(e,u,1,0,i,e.tokenPos,e.linePos,e.colPos);return q(e,u,16),v(e,u,n,t,o,{type:"ImportExpression",source:l})}function ru(e,u,i,n,t){let{tokenRaw:o,tokenValue:l}=e;return E(e,u),e.assignable=2,v(e,u,i,n,t,u&512?{type:"Literal",value:l,bigint:o.slice(0,-1),raw:o}:{type:"Literal",value:l,bigint:o.slice(0,-1)})}function K1(e,u,i,n,t){e.assignable=2;let{tokenValue:o,tokenRaw:l,tokenPos:c,linePos:s,colPos:m}=e;q(e,u,67174409);let k=[g1(e,u,o,l,c,s,m,!0)];return v(e,u,i,n,t,{type:"TemplateLiteral",expressions:[],quasis:k})}function Y1(e,u){u=(u|134217728)^134217728;let{tokenValue:i,tokenRaw:n,tokenPos:t,linePos:o,colPos:l}=e;q(e,u|32768,67174408);let c=[g1(e,u,i,n,t,o,l,!1)],s=[o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(e.token!==1074790415&&f(e,80);(e.token=I0(e,u))!==67174409;){let{tokenValue:m,tokenRaw:k,tokenPos:h,linePos:d,colPos:y}=e;q(e,u|32768,67174408),c.push(g1(e,u,m,k,h,d,y,!1)),s.push(o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),e.token!==1074790415&&f(e,80)}{let{tokenValue:m,tokenRaw:k,tokenPos:h,linePos:d,colPos:y}=e;q(e,u,67174409),c.push(g1(e,u,m,k,h,d,y,!0))}return v(e,u,t,o,l,{type:"TemplateLiteral",expressions:s,quasis:c})}function g1(e,u,i,n,t,o,l,c){let s=v(e,u,t,o,l,{type:"TemplateElement",value:{cooked:i,raw:n},tail:c}),m=c?1:2;return u&2&&(s.start+=1,s.range[0]+=1,s.end-=m,s.range[1]-=m),u&4&&(s.loc.start.column+=1,s.loc.end.column-=m),s}function wt(e,u,i,n,t){u=(u|134217728)^134217728,q(e,u|32768,14);let o=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,v(e,u,i,n,t,{type:"SpreadElement",argument:o})}function Z1(e,u,i){E(e,u|32768);let n=[];if(e.token===16)return E(e,u),n;for(;e.token!==16&&(e.token===14?n.push(wt(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(K(e,u,1,0,i,e.tokenPos,e.linePos,e.colPos)),!(e.token!==18||(E(e,u|32768),e.token===16))););return q(e,u,16),n}function $(e,u,i){let{tokenValue:n,tokenPos:t,linePos:o,colPos:l}=e;return E(e,u),v(e,u,t,o,l,u&268435456?{type:"Identifier",name:n,pattern:i===1}:{type:"Identifier",name:n})}function c2(e,u){let{tokenValue:i,tokenRaw:n,tokenPos:t,linePos:o,colPos:l}=e;return e.token===134283389?ru(e,u,t,o,l):(E(e,u),e.assignable=2,v(e,u,t,o,l,u&512?{type:"Literal",value:i,raw:n}:{type:"Literal",value:i}))}function qt(e,u,i,n,t){let o=Z[e.token&255],l=e.token===86023?null:o==="true";return E(e,u),e.assignable=2,v(e,u,i,n,t,u&512?{type:"Literal",value:l,raw:o}:{type:"Literal",value:l})}function Bt(e,u){let{tokenPos:i,linePos:n,colPos:t}=e;return E(e,u),e.assignable=2,v(e,u,i,n,t,{type:"ThisExpression"})}function I2(e,u,i,n,t,o,l,c,s,m){E(e,u|32768);let k=t?M1(e,u,8457014):0,h=null,d,y=i?_2():void 0;if(e.token===67174411)(o&1)<1&&f(e,37,"Function");else{let F=n&4&&((u&8192)<1||(u&2048)<1)?4:64;uu(e,u|(u&3072)<<11,e.token),i&&(F&4?tu(e,u,i,e.tokenValue,F):L2(e,u,i,e.tokenValue,F,n),y=i2(y,256),o&&o&2&&M2(e,e.tokenValue)),d=e.token,e.token&143360?h=$(e,u,0):f(e,28,Z[e.token&255])}u=(u|32243712)^32243712|67108864|l*2+k<<21|(k?0:1073741824),i&&(y=i2(y,512));let w=Au(e,u|8388608,y,0,1),D=d1(e,(u|8192|4096|131072)^143360,i?i2(y,128):y,8,d,i?y.scopeError:void 0);return v(e,u,c,s,m,{type:"FunctionDeclaration",id:h,params:w,body:D,async:l===1,generator:k===1})}function vu(e,u,i,n,t,o,l){E(e,u|32768);let c=M1(e,u,8457014),s=i*2+c<<21,m=null,k,h=u&64?_2():void 0;(e.token&176128)>0&&(uu(e,(u|32243712)^32243712|s,e.token),h&&(h=i2(h,256)),k=e.token,m=$(e,u,0)),u=(u|32243712)^32243712|67108864|s|(c?0:1073741824),h&&(h=i2(h,512));let d=Au(e,u|8388608,h,n,1),y=d1(e,u&-134377473,h&&i2(h,128),0,k,void 0);return e.assignable=2,v(e,u,t,o,l,{type:"FunctionExpression",id:m,params:d,body:y,async:i===1,generator:c===1})}function St(e,u,i,n,t,o,l){let c=m2(e,u,void 0,i,n,0,2,0,t,o,l);return u&256&&e.destructible&64&&f(e,60),e.destructible&8&&f(e,59),c}function m2(e,u,i,n,t,o,l,c,s,m,k){E(e,u|32768);let h=[],d=0;for(u=(u|134217728)^134217728;e.token!==20;)if(M(e,u|32768,18))h.push(null);else{let w,{token:D,tokenPos:F,linePos:O,colPos:N,tokenValue:x}=e;if(D&143360)if(w=d2(e,u,l,0,1,0,t,1,F,O,N),e.token===1077936157){e.assignable&2&&f(e,24),E(e,u|32768),i&&B2(e,u,i,x,l,c);let I=K(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);w=v(e,u,F,O,N,o?{type:"AssignmentPattern",left:w,right:I}:{type:"AssignmentExpression",operator:"=",left:w,right:I}),d|=e.destructible&256?256:0|e.destructible&128?128:0}else e.token===18||e.token===20?(e.assignable&2?d|=16:i&&B2(e,u,i,x,l,c),d|=e.destructible&256?256:0|e.destructible&128?128:0):(d|=l&1?32:(l&2)<1?16:0,w=H(e,u,w,t,0,F,O,N),e.token!==18&&e.token!==20?(e.token!==1077936157&&(d|=16),w=Q(e,u,t,o,F,O,N,w)):e.token!==1077936157&&(d|=e.assignable&2?16:32));else D&2097152?(w=e.token===2162700?b2(e,u,i,0,t,o,l,c,F,O,N):m2(e,u,i,0,t,o,l,c,F,O,N),d|=e.destructible,e.assignable=e.destructible&16?2:1,e.token===18||e.token===20?e.assignable&2&&(d|=16):e.destructible&8?f(e,68):(w=H(e,u,w,t,0,F,O,N),d=e.assignable&2?16:0,e.token!==18&&e.token!==20?w=Q(e,u,t,o,F,O,N,w):e.token!==1077936157&&(d|=e.assignable&2?16:32))):D===14?(w=W2(e,u,i,20,l,c,0,t,o,F,O,N),d|=e.destructible,e.token!==18&&e.token!==20&&f(e,28,Z[e.token&255])):(w=h2(e,u,1,0,1,F,O,N),e.token!==18&&e.token!==20?(w=Q(e,u,t,o,F,O,N,w),(l&3)<1&&D===67174411&&(d|=16)):e.assignable&2?d|=16:D===67174411&&(d|=e.assignable&1&&l&3?32:16));if(h.push(w),M(e,u|32768,18)){if(e.token===20)break}else break}q(e,u,20);let y=v(e,u,s,m,k,{type:o?"ArrayPattern":"ArrayExpression",elements:h});return!n&&e.token&4194304?yu(e,u,d,t,o,s,m,k,y):(e.destructible=d,y)}function yu(e,u,i,n,t,o,l,c,s){e.token!==1077936157&&f(e,24),E(e,u|32768),i&16&&f(e,24),t||r2(e,s);let{tokenPos:m,linePos:k,colPos:h}=e,d=K(e,u,1,1,n,m,k,h);return e.destructible=(i|64|8)^72|(e.destructible&128?128:0)|(e.destructible&256?256:0),v(e,u,o,l,c,t?{type:"AssignmentPattern",left:s,right:d}:{type:"AssignmentExpression",left:s,operator:"=",right:d})}function W2(e,u,i,n,t,o,l,c,s,m,k,h){E(e,u|32768);let d=null,y=0,{token:w,tokenValue:D,tokenPos:F,linePos:O,colPos:N}=e;if(w&143360)e.assignable=1,d=d2(e,u,t,0,1,0,c,1,F,O,N),w=e.token,d=H(e,u,d,c,0,F,O,N),e.token!==18&&e.token!==n&&(e.assignable&2&&e.token===1077936157&&f(e,68),y|=16,d=Q(e,u,c,s,F,O,N,d)),e.assignable&2?y|=16:w===n||w===18?i&&B2(e,u,i,D,t,o):y|=32,y|=e.destructible&128?128:0;else if(w===n)f(e,39);else if(w&2097152)d=e.token===2162700?b2(e,u,i,1,c,s,t,o,F,O,N):m2(e,u,i,1,c,s,t,o,F,O,N),w=e.token,w!==1077936157&&w!==n&&w!==18?(e.destructible&8&&f(e,68),d=H(e,u,d,c,0,F,O,N),y|=e.assignable&2?16:0,(e.token&4194304)===4194304?(e.token!==1077936157&&(y|=16),d=Q(e,u,c,s,F,O,N,d)):((e.token&8454144)===8454144&&(d=T2(e,u,1,F,O,N,4,w,d)),M(e,u|32768,22)&&(d=U2(e,u,d,F,O,N)),y|=e.assignable&2?16:32)):y|=n===1074790415&&w!==1077936157?16:e.destructible;else{y|=32,d=h2(e,u,1,c,1,e.tokenPos,e.linePos,e.colPos);let{token:x,tokenPos:I,linePos:W,colPos:P}=e;return x===1077936157&&x!==n&&x!==18?(e.assignable&2&&f(e,24),d=Q(e,u,c,s,I,W,P,d),y|=16):(x===18?y|=16:x!==n&&(d=Q(e,u,c,s,I,W,P,d)),y|=e.assignable&1?32:16),e.destructible=y,e.token!==n&&e.token!==18&&f(e,155),v(e,u,m,k,h,{type:s?"RestElement":"SpreadElement",argument:d})}if(e.token!==n)if(t&1&&(y|=l?16:32),M(e,u|32768,1077936157)){y&16&&f(e,24),r2(e,d);let x=K(e,u,1,1,c,e.tokenPos,e.linePos,e.colPos);d=v(e,u,F,O,N,s?{type:"AssignmentPattern",left:d,right:x}:{type:"AssignmentExpression",left:d,operator:"=",right:x}),y=16}else y|=16;return e.destructible=y,v(e,u,m,k,h,{type:s?"RestElement":"SpreadElement",argument:d})}function v2(e,u,i,n,t,o,l){let c=(i&64)<1?31981568:14680064;u=(u|c)^c|(i&88)<<18|100925440;let s=u&64?i2(_2(),512):void 0,m=Lt(e,u|8388608,s,i,1,n);s&&(s=i2(s,128));let k=d1(e,u&-134230017,s,0,void 0,void 0);return v(e,u,t,o,l,{type:"FunctionExpression",params:m,body:k,async:(i&16)>0,generator:(i&8)>0,id:null})}function Ft(e,u,i,n,t,o,l){let c=b2(e,u,void 0,i,n,0,2,0,t,o,l);return u&256&&e.destructible&64&&f(e,60),e.destructible&8&&f(e,59),c}function b2(e,u,i,n,t,o,l,c,s,m,k){E(e,u);let h=[],d=0,y=0;for(u=(u|134217728)^134217728;e.token!==1074790415;){let{token:D,tokenValue:F,linePos:O,colPos:N,tokenPos:x}=e;if(D===14)h.push(W2(e,u,i,1074790415,l,c,0,t,o,x,O,N));else{let I=0,W=null,P,y2=e.token;if(e.token&143360||e.token===121)if(W=$(e,u,0),e.token===18||e.token===1074790415||e.token===1077936157)if(I|=4,u&1024&&(D&537079808)===537079808?d|=16:l1(e,u,l,D,0),i&&B2(e,u,i,F,l,c),M(e,u|32768,1077936157)){d|=8;let R=K(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);d|=e.destructible&256?256:0|e.destructible&128?128:0,P=v(e,u,x,O,N,{type:"AssignmentPattern",left:u&-2147483648?Object.assign({},W):W,right:R})}else d|=(D===209008?128:0)|(D===121?16:0),P=u&-2147483648?Object.assign({},W):W;else if(M(e,u|32768,21)){let{tokenPos:R,linePos:_,colPos:j}=e;if(F==="__proto__"&&y++,e.token&143360){let J2=e.token,Y2=e.tokenValue;d|=y2===121?16:0,P=d2(e,u,l,0,1,0,t,1,R,_,j);let{token:C2}=e;P=H(e,u,P,t,0,R,_,j),e.token===18||e.token===1074790415?C2===1077936157||C2===1074790415||C2===18?(d|=e.destructible&128?128:0,e.assignable&2?d|=16:i&&(J2&143360)===143360&&B2(e,u,i,Y2,l,c)):d|=e.assignable&1?32:16:(e.token&4194304)===4194304?(e.assignable&2?d|=16:C2!==1077936157?d|=32:i&&B2(e,u,i,Y2,l,c),P=Q(e,u,t,o,R,_,j,P)):(d|=16,(e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,C2,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)))}else(e.token&2097152)===2097152?(P=e.token===69271571?m2(e,u,i,0,t,o,l,c,R,_,j):b2(e,u,i,0,t,o,l,c,R,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):e.destructible&8?f(e,68):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?16:0,(e.token&4194304)===4194304?P=a1(e,u,t,o,R,_,j,P):((e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,D,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)),d|=e.assignable&2?16:32))):(P=h2(e,u,1,t,1,R,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?16:0,e.token!==18&&D!==1074790415&&(e.token!==1077936157&&(d|=16),P=Q(e,u,t,o,R,_,j,P))))}else e.token===69271571?(d|=16,D===209007&&(I|=16),I|=(D===12402?256:D===12403?512:1)|2,W=K2(e,u,t),d|=e.assignable,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token&143360?(d|=16,D===121&&f(e,92),D===209007&&(e.flags&1&&f(e,128),I|=16),W=$(e,u,0),I|=D===12402?256:D===12403?512:1,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token===67174411?(d|=16,I|=1,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token===8457014?(d|=16,D===12402||D===12403?f(e,40):D===143483&&f(e,92),E(e,u),I|=9|(D===209007?16:0),e.token&143360?W=$(e,u,0):(e.token&134217728)===134217728?W=c2(e,u):e.token===69271571?(I|=2,W=K2(e,u,t),d|=e.assignable):f(e,28,Z[e.token&255]),P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):(e.token&134217728)===134217728?(D===209007&&(I|=16),I|=D===12402?256:D===12403?512:1,d|=16,W=c2(e,u),P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):f(e,129);else if((e.token&134217728)===134217728)if(W=c2(e,u),e.token===21){q(e,u|32768,21);let{tokenPos:R,linePos:_,colPos:j}=e;if(F==="__proto__"&&y++,e.token&143360){P=d2(e,u,l,0,1,0,t,1,R,_,j);let{token:J2,tokenValue:Y2}=e;P=H(e,u,P,t,0,R,_,j),e.token===18||e.token===1074790415?J2===1077936157||J2===1074790415||J2===18?e.assignable&2?d|=16:i&&B2(e,u,i,Y2,l,c):d|=e.assignable&1?32:16:e.token===1077936157?(e.assignable&2&&(d|=16),P=Q(e,u,t,o,R,_,j,P)):(d|=16,P=Q(e,u,t,o,R,_,j,P))}else(e.token&2097152)===2097152?(P=e.token===69271571?m2(e,u,i,0,t,o,l,c,R,_,j):b2(e,u,i,0,t,o,l,c,R,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(e.destructible&8)!==8&&(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?16:0,(e.token&4194304)===4194304?P=a1(e,u,t,o,R,_,j,P):((e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,D,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)),d|=e.assignable&2?16:32))):(P=h2(e,u,1,0,1,R,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&1?0:16,e.token!==18&&e.token!==1074790415&&(e.token!==1077936157&&(d|=16),P=Q(e,u,t,o,R,_,j,P))))}else e.token===67174411?(I|=1,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos),d=e.assignable|16):f(e,130);else if(e.token===69271571)if(W=K2(e,u,t),d|=e.destructible&256?256:0,I|=2,e.token===21){E(e,u|32768);let{tokenPos:R,linePos:_,colPos:j,tokenValue:J2,token:Y2}=e;if(e.token&143360){P=d2(e,u,l,0,1,0,t,1,R,_,j);let{token:C2}=e;P=H(e,u,P,t,0,R,_,j),(e.token&4194304)===4194304?(d|=e.assignable&2?16:C2===1077936157?0:32,P=a1(e,u,t,o,R,_,j,P)):e.token===18||e.token===1074790415?C2===1077936157||C2===1074790415||C2===18?e.assignable&2?d|=16:i&&(Y2&143360)===143360&&B2(e,u,i,J2,l,c):d|=e.assignable&1?32:16:(d|=16,P=Q(e,u,t,o,R,_,j,P))}else(e.token&2097152)===2097152?(P=e.token===69271571?m2(e,u,i,0,t,o,l,c,R,_,j):b2(e,u,i,0,t,o,l,c,R,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):d&8?f(e,59):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?d|16:0,(e.token&4194304)===4194304?(e.token!==1077936157&&(d|=16),P=a1(e,u,t,o,R,_,j,P)):((e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,D,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)),d|=e.assignable&2?16:32))):(P=h2(e,u,1,0,1,R,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&1?0:16,e.token!==18&&e.token!==1074790415&&(e.token!==1077936157&&(d|=16),P=Q(e,u,t,o,R,_,j,P))))}else e.token===67174411?(I|=1,P=v2(e,u,I,t,e.tokenPos,O,N),d=16):f(e,41);else if(D===8457014)if(q(e,u|32768,8457014),I|=8,e.token&143360){let{token:R,line:_,index:j}=e;W=$(e,u,0),I|=1,e.token===67174411?(d|=16,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):L(j,_,j,R===209007?43:R===12402||e.token===12403?42:44,Z[R&255])}else(e.token&134217728)===134217728?(d|=16,W=c2(e,u),I|=1,P=v2(e,u,I,t,x,O,N)):e.token===69271571?(d|=16,I|=3,W=K2(e,u,t),P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):f(e,122);else f(e,28,Z[D&255]);d|=e.destructible&128?128:0,e.destructible=d,h.push(v(e,u,x,O,N,{type:"Property",key:W,value:P,kind:I&768?I&512?"set":"get":"init",computed:(I&2)>0,method:(I&1)>0,shorthand:(I&4)>0}))}if(d|=e.destructible,e.token!==18)break;E(e,u)}q(e,u,1074790415),y>1&&(d|=64);let w=v(e,u,s,m,k,{type:o?"ObjectPattern":"ObjectExpression",properties:h});return!n&&e.token&4194304?yu(e,u,d,t,o,s,m,k,w):(e.destructible=d,w)}function Lt(e,u,i,n,t,o){q(e,u,67174411);let l=[];if(e.flags=(e.flags|128)^128,e.token===16)return n&512&&f(e,35,"Setter","one",""),E(e,u),l;n&256&&f(e,35,"Getter","no","s"),n&512&&e.token===14&&f(e,36),u=(u|134217728)^134217728;let c=0,s=0;for(;e.token!==18;){let m=null,{tokenPos:k,linePos:h,colPos:d}=e;if(e.token&143360?((u&1024)<1&&((e.token&36864)===36864&&(e.flags|=256),(e.token&537079808)===537079808&&(e.flags|=512)),m=p1(e,u,i,n|1,0,k,h,d)):(e.token===2162700?m=b2(e,u,i,1,o,1,t,0,k,h,d):e.token===69271571?m=m2(e,u,i,1,o,1,t,0,k,h,d):e.token===14&&(m=W2(e,u,i,16,t,0,0,o,1,k,h,d)),s=1,e.destructible&48&&f(e,47)),e.token===1077936157){E(e,u|32768),s=1;let y=K(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos);m=v(e,u,k,h,d,{type:"AssignmentPattern",left:m,right:y})}if(c++,l.push(m),!M(e,u,18)||e.token===16)break}return n&512&&c!==1&&f(e,35,"Setter","one",""),i&&i.scopeError!==void 0&&A(i.scopeError),s&&(e.flags|=128),q(e,u,16),l}function K2(e,u,i){E(e,u|32768);let n=K(e,(u|134217728)^134217728,1,0,i,e.tokenPos,e.linePos,e.colPos);return q(e,u,20),n}function Ot(e,u,i,n,t,o,l,c){e.flags=(e.flags|128)^128;let{tokenPos:s,linePos:m,colPos:k}=e;E(e,u|32768|1073741824);let h=u&64?i2(_2(),1024):void 0;if(u=(u|134217728)^134217728,M(e,u,16))return m1(e,u,h,[],i,0,o,l,c);let d=0;e.destructible&=-385;let y,w=[],D=0,F=0,{tokenPos:O,linePos:N,colPos:x}=e;for(e.assignable=1;e.token!==16;){let{token:I,tokenPos:W,linePos:P,colPos:y2}=e;if(I&143360)h&&L2(e,u,h,e.tokenValue,1,0),y=d2(e,u,n,0,1,0,1,1,W,P,y2),e.token===16||e.token===18?e.assignable&2?(d|=16,F=1):((I&537079808)===537079808||(I&36864)===36864)&&(F=1):(e.token===1077936157?F=1:d|=16,y=H(e,u,y,1,0,W,P,y2),e.token!==16&&e.token!==18&&(y=Q(e,u,1,0,W,P,y2,y)));else if((I&2097152)===2097152)y=I===2162700?b2(e,u|1073741824,h,0,1,0,n,t,W,P,y2):m2(e,u|1073741824,h,0,1,0,n,t,W,P,y2),d|=e.destructible,F=1,e.assignable=2,e.token!==16&&e.token!==18&&(d&8&&f(e,118),y=H(e,u,y,0,0,W,P,y2),d|=16,e.token!==16&&e.token!==18&&(y=Q(e,u,0,0,W,P,y2,y)));else if(I===14){y=W2(e,u,h,16,n,t,0,1,0,W,P,y2),e.destructible&16&&f(e,71),F=1,D&&(e.token===16||e.token===18)&&w.push(y),d|=8;break}else{if(d|=16,y=K(e,u,1,0,1,W,P,y2),D&&(e.token===16||e.token===18)&&w.push(y),e.token===18&&(D||(D=1,w=[y])),D){for(;M(e,u|32768,18);)w.push(K(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,y=v(e,u,O,N,x,{type:"SequenceExpression",expressions:w})}return q(e,u,16),e.destructible=d,y}if(D&&(e.token===16||e.token===18)&&w.push(y),!M(e,u|32768,18))break;if(D||(D=1,w=[y]),e.token===16){d|=8;break}}return D&&(e.assignable=2,y=v(e,u,O,N,x,{type:"SequenceExpression",expressions:w})),q(e,u,16),d&16&&d&8&&f(e,145),d|=e.destructible&256?256:0|e.destructible&128?128:0,e.token===10?(d&48&&f(e,46),u&4196352&&d&128&&f(e,29),u&2098176&&d&256&&f(e,30),F&&(e.flags|=128),m1(e,u,h,D?w:[y],i,0,o,l,c)):(d&8&&f(e,139),e.destructible=(e.destructible|256)^256|d,u&128?v(e,u,s,m,k,{type:"ParenthesizedExpression",expression:y}):y)}function Q1(e,u,i,n,t){let{tokenValue:o}=e,l=$(e,u,0);if(e.assignable=1,e.token===10){let c;return u&64&&(c=c1(e,u,o)),e.flags=(e.flags|128)^128,e1(e,u,c,[l],0,i,n,t)}return l}function h1(e,u,i,n,t,o,l,c,s,m){o||f(e,54),t&&f(e,48),e.flags&=-129;let k=u&64?c1(e,u,i):void 0;return e1(e,u,k,[n],l,c,s,m)}function m1(e,u,i,n,t,o,l,c,s){t||f(e,54);for(let m=0;m0&&e.tokenValue==="constructor"&&f(e,106),e.token===1074790415&&f(e,105),M(e,u,1074790417)){d>0&&f(e,116);continue}k.push(Cu(e,u,n,i,t,h,0,l,e.tokenPos,e.linePos,e.colPos))}return q(e,o&8?u|32768:u,1074790415),v(e,u,c,s,m,{type:"ClassBody",body:k})}function Cu(e,u,i,n,t,o,l,c,s,m,k){let h=l?32:0,d=null,{token:y,tokenPos:w,linePos:D,colPos:F}=e;if(y&176128)switch(d=$(e,u,0),y){case 36972:if(!l&&e.token!==67174411)return Cu(e,u,i,n,t,o,1,c,s,m,k);break;case 209007:if(e.token!==67174411&&(e.flags&1)<1){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=16|(M1(e,u,8457014)?8:0)}break;case 12402:if(e.token!==67174411){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=256}break;case 12403:if(e.token!==67174411){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=512}break}else y===69271571?(h|=2,d=K2(e,n,c)):(y&134217728)===134217728?d=c2(e,u):y===8457014?(h|=8,E(e,u)):u&1&&e.token===131?(h|=4096,d=r1(e,u|16384,w,D,F)):u&1&&(e.token&1073741824)===1073741824?h|=128:y===122?(d=$(e,u,0),e.token!==67174411&&f(e,28,Z[e.token&255])):f(e,28,Z[e.token&255]);if(h&792&&(e.token&143360?d=$(e,u,0):(e.token&134217728)===134217728?d=c2(e,u):e.token===69271571?(h|=2,d=K2(e,u,0)):e.token===122?d=$(e,u,0):u&1&&e.token===131?(h|=4096,d=r1(e,u,w,D,F)):f(e,131)),(h&2)<1&&(e.tokenValue==="constructor"?((e.token&1073741824)===1073741824?f(e,125):(h&32)<1&&e.token===67174411&&(h&920?f(e,50,"accessor"):(u&524288)<1&&(e.flags&32?f(e,51):e.flags|=32)),h|=64):(h&4096)<1&&h&824&&e.tokenValue==="prototype"&&f(e,49)),u&1&&e.token!==67174411)return v1(e,u,d,h,o,w,D,F);let O=v2(e,u,h,c,e.tokenPos,e.linePos,e.colPos);return v(e,u,s,m,k,u&1?{type:"MethodDefinition",kind:(h&32)<1&&h&64?"constructor":h&256?"get":h&512?"set":"method",static:(h&32)>0,computed:(h&2)>0,key:d,decorators:o,value:O}:{type:"MethodDefinition",kind:(h&32)<1&&h&64?"constructor":h&256?"get":h&512?"set":"method",static:(h&32)>0,computed:(h&2)>0,key:d,value:O})}function r1(e,u,i,n,t){E(e,u);let{tokenValue:o}=e;return o==="constructor"&&f(e,124),E(e,u),v(e,u,i,n,t,{type:"PrivateIdentifier",name:o})}function v1(e,u,i,n,t,o,l,c){let s=null;if(n&8&&f(e,0),e.token===1077936157){E(e,u|32768);let{tokenPos:m,linePos:k,colPos:h}=e;e.token===537079928&&f(e,115),s=d2(e,u|16384,2,0,1,0,0,1,m,k,h),(e.token&1073741824)!==1073741824&&(s=H(e,u|16384,s,0,0,m,k,h),s=Q(e,u|16384,0,0,m,k,h,s),e.token===18&&(s=O2(e,u,0,o,l,c,s)))}return v(e,u,o,l,c,{type:"PropertyDefinition",key:i,value:s,static:(n&32)>0,computed:(n&2)>0,decorators:t})}function Du(e,u,i,n,t,o,l,c){if(e.token&143360)return p1(e,u,i,n,t,o,l,c);(e.token&2097152)!==2097152&&f(e,28,Z[e.token&255]);let s=e.token===69271571?m2(e,u,i,1,0,1,n,t,o,l,c):b2(e,u,i,1,0,1,n,t,o,l,c);return e.destructible&16&&f(e,47),e.destructible&32&&f(e,47),s}function p1(e,u,i,n,t,o,l,c){let{tokenValue:s,token:m}=e;return u&1024&&((m&537079808)===537079808?f(e,115):(m&36864)===36864&&f(e,114)),(m&20480)===20480&&f(e,99),u&2099200&&m===241773&&f(e,30),m===241739&&n&24&&f(e,97),u&4196352&&m===209008&&f(e,95),E(e,u),i&&B2(e,u,i,s,n,t),v(e,u,o,l,c,{type:"Identifier",name:s})}function ee(e,u,i,n,t,o){if(E(e,u),e.token===8456259)return v(e,u,n,t,o,{type:"JSXFragment",openingFragment:jt(e,u,n,t,o),children:wu(e,u),closingFragment:Mt(e,u,i,e.tokenPos,e.linePos,e.colPos)});let l=null,c=[],s=$t(e,u,i,n,t,o);if(!s.selfClosing){c=wu(e,u),l=_t(e,u,i,e.tokenPos,e.linePos,e.colPos);let m=f1(l.name);f1(s.name)!==m&&f(e,149,m)}return v(e,u,n,t,o,{type:"JSXElement",children:c,openingElement:s,closingElement:l})}function jt(e,u,i,n,t){return j2(e,u),v(e,u,i,n,t,{type:"JSXOpeningFragment"})}function _t(e,u,i,n,t,o){q(e,u,25);let l=qu(e,u,e.tokenPos,e.linePos,e.colPos);return i?q(e,u,8456259):e.token=j2(e,u),v(e,u,n,t,o,{type:"JSXClosingElement",name:l})}function Mt(e,u,i,n,t,o){return q(e,u,25),q(e,u,8456259),v(e,u,n,t,o,{type:"JSXClosingFragment"})}function wu(e,u){let i=[];for(;e.token!==25;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,j2(e,u),i.push(Ut(e,u,e.tokenPos,e.linePos,e.colPos));return i}function Ut(e,u,i,n,t){if(e.token===138)return Jt(e,u,i,n,t);if(e.token===2162700)return Su(e,u,0,0,i,n,t);if(e.token===8456258)return ee(e,u,0,i,n,t);f(e,0)}function Jt(e,u,i,n,t){j2(e,u);let o={type:"JSXText",value:e.tokenValue};return u&512&&(o.raw=e.tokenRaw),v(e,u,i,n,t,o)}function $t(e,u,i,n,t,o){(e.token&143360)!==143360&&(e.token&4096)!==4096&&f(e,0);let l=qu(e,u,e.tokenPos,e.linePos,e.colPos),c=Xt(e,u),s=e.token===8457016;return e.token===8456259?j2(e,u):(q(e,u,8457016),i?q(e,u,8456259):j2(e,u)),v(e,u,n,t,o,{type:"JSXOpeningElement",name:l,attributes:c,selfClosing:s})}function qu(e,u,i,n,t){_1(e);let o=y1(e,u,i,n,t);if(e.token===21)return Bu(e,u,o,i,n,t);for(;M(e,u,67108877);)_1(e),o=Ht(e,u,o,i,n,t);return o}function Ht(e,u,i,n,t,o){let l=y1(e,u,e.tokenPos,e.linePos,e.colPos);return v(e,u,n,t,o,{type:"JSXMemberExpression",object:i,property:l})}function Xt(e,u){let i=[];for(;e.token!==8457016&&e.token!==8456259&&e.token!==1048576;)i.push(Wt(e,u,e.tokenPos,e.linePos,e.colPos));return i}function zt(e,u,i,n,t){E(e,u),q(e,u,14);let o=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return q(e,u,1074790415),v(e,u,i,n,t,{type:"JSXSpreadAttribute",argument:o})}function Wt(e,u,i,n,t){if(e.token===2162700)return zt(e,u,i,n,t);_1(e);let o=null,l=y1(e,u,i,n,t);if(e.token===21&&(l=Bu(e,u,l,i,n,t)),e.token===1077936157){let c=U0(e,u),{tokenPos:s,linePos:m,colPos:k}=e;switch(c){case 134283267:o=c2(e,u);break;case 8456258:o=ee(e,u,1,s,m,k);break;case 2162700:o=Su(e,u,1,1,s,m,k);break;default:f(e,148)}}return v(e,u,i,n,t,{type:"JSXAttribute",value:o,name:l})}function Bu(e,u,i,n,t,o){q(e,u,21);let l=y1(e,u,e.tokenPos,e.linePos,e.colPos);return v(e,u,n,t,o,{type:"JSXNamespacedName",namespace:i,name:l})}function Su(e,u,i,n,t,o,l){E(e,u|32768);let{tokenPos:c,linePos:s,colPos:m}=e;if(e.token===14)return Kt(e,u,c,s,m);let k=null;return e.token===1074790415?(n&&f(e,151),k=Yt(e,u,e.startPos,e.startLine,e.startColumn)):k=K(e,u,1,0,0,c,s,m),i?q(e,u,1074790415):j2(e,u),v(e,u,t,o,l,{type:"JSXExpressionContainer",expression:k})}function Kt(e,u,i,n,t){q(e,u,14);let o=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return q(e,u,1074790415),v(e,u,i,n,t,{type:"JSXSpreadChild",expression:o})}function Yt(e,u,i,n,t){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,v(e,u,i,n,t,{type:"JSXEmptyExpression"})}function y1(e,u,i,n,t){let{tokenValue:o}=e;return E(e,u),v(e,u,i,n,t,{type:"JSXIdentifier",name:o})}var Zt=Object.freeze({__proto__:null}),Qt="4.2.1",Gt=Qt;function xt(e,u){return H1(e,u,0)}function pt(e,u){return H1(e,u,3072)}function eo(e,u){return H1(e,u,0)}a.ESTree=Zt,a.parse=eo,a.parseModule=pt,a.parseScript=xt,a.version=Gt}});n2();var V3=k0(),N3=b3(),j3=q3(),_3=I3(),M3={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function m0(a,g){let{parse:b}=R3(),f=[],A=[],L=b(a,Object.assign(Object.assign({},M3),{},{module:g,onComment:f,onToken:A}));return L.comments=f,L.tokens=A,L}function U3(a){let{message:g,line:b,column:f}=a,A=(g.match(/^\[(?\d+):(?\d+)]: (?.*)$/)||{}).groups;return A&&(g=A.message,typeof b!="number"&&(b=Number(A.line),f=Number(A.column))),typeof b!="number"?a:V3(g,{start:{line:b,column:f}})}function J3(a,g){let b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:f,error:A}=N3(()=>m0(a,!0),()=>m0(a,!1));if(!f)throw U3(A);return b.originalText=a,_3(f,b)}O0.exports={parsers:{meriyah:j3(J3)}}});return $3();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-postcss.js b/node_modules/ts-poet/node_modules/prettier/parser-postcss.js deleted file mode 100644 index 52e109f408..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-postcss.js +++ /dev/null @@ -1,76 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.postcss=e()}})(function(){"use strict";var U=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var pe=U((wp,Gt)=>{var er=function(e){return e&&e.Math==Math&&e};Gt.exports=er(typeof globalThis=="object"&&globalThis)||er(typeof window=="object"&&window)||er(typeof self=="object"&&self)||er(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var be=U((_p,Ht)=>{Ht.exports=function(e){try{return!!e()}catch{return!0}}});var Oe=U((bp,Jt)=>{var _a=be();Jt.exports=!_a(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Tr=U((xp,Kt)=>{var ba=be();Kt.exports=!ba(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var tr=U((Sp,Qt)=>{var xa=Tr(),rr=Function.prototype.call;Qt.exports=xa?rr.bind(rr):function(){return rr.apply(rr,arguments)}});var en=U(Zt=>{"use strict";var Yt={}.propertyIsEnumerable,Xt=Object.getOwnPropertyDescriptor,Sa=Xt&&!Yt.call({1:2},1);Zt.f=Sa?function(n){var i=Xt(this,n);return!!i&&i.enumerable}:Yt});var Er=U((Op,rn)=>{rn.exports=function(e,n){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:n}}});var xe=U((Tp,sn)=>{var tn=Tr(),nn=Function.prototype,qr=nn.call,ka=tn&&nn.bind.bind(qr,qr);sn.exports=tn?ka:function(e){return function(){return qr.apply(e,arguments)}}});var un=U((Ep,an)=>{var on=xe(),Oa=on({}.toString),Ta=on("".slice);an.exports=function(e){return Ta(Oa(e),8,-1)}});var ln=U((qp,cn)=>{var Ea=xe(),qa=be(),Aa=un(),Ar=Object,Pa=Ea("".split);cn.exports=qa(function(){return!Ar("z").propertyIsEnumerable(0)})?function(e){return Aa(e)=="String"?Pa(e,""):Ar(e)}:Ar});var Pr=U((Ap,fn)=>{fn.exports=function(e){return e==null}});var Ir=U((Pp,pn)=>{var Ia=Pr(),Ra=TypeError;pn.exports=function(e){if(Ia(e))throw Ra("Can't call method on "+e);return e}});var nr=U((Ip,hn)=>{var Ca=ln(),Na=Ir();hn.exports=function(e){return Ca(Na(e))}});var Cr=U((Rp,dn)=>{var Rr=typeof document=="object"&&document.all,ja=typeof Rr>"u"&&Rr!==void 0;dn.exports={all:Rr,IS_HTMLDDA:ja}});var he=U((Cp,mn)=>{var vn=Cr(),Ma=vn.all;mn.exports=vn.IS_HTMLDDA?function(e){return typeof e=="function"||e===Ma}:function(e){return typeof e=="function"}});var Me=U((Np,wn)=>{var gn=he(),yn=Cr(),Da=yn.all;wn.exports=yn.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:gn(e)||e===Da}:function(e){return typeof e=="object"?e!==null:gn(e)}});var ir=U((jp,_n)=>{var Nr=pe(),La=he(),za=function(e){return La(e)?e:void 0};_n.exports=function(e,n){return arguments.length<2?za(Nr[e]):Nr[e]&&Nr[e][n]}});var xn=U((Mp,bn)=>{var Ba=xe();bn.exports=Ba({}.isPrototypeOf)});var kn=U((Dp,Sn)=>{var Fa=ir();Sn.exports=Fa("navigator","userAgent")||""});var In=U((Lp,Pn)=>{var An=pe(),jr=kn(),On=An.process,Tn=An.Deno,En=On&&On.versions||Tn&&Tn.version,qn=En&&En.v8,de,sr;qn&&(de=qn.split("."),sr=de[0]>0&&de[0]<4?1:+(de[0]+de[1]));!sr&&jr&&(de=jr.match(/Edge\/(\d+)/),(!de||de[1]>=74)&&(de=jr.match(/Chrome\/(\d+)/),de&&(sr=+de[1])));Pn.exports=sr});var Mr=U((zp,Cn)=>{var Rn=In(),Ua=be();Cn.exports=!!Object.getOwnPropertySymbols&&!Ua(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Rn&&Rn<41})});var Dr=U((Bp,Nn)=>{var $a=Mr();Nn.exports=$a&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Lr=U((Fp,jn)=>{var Wa=ir(),Va=he(),Ga=xn(),Ha=Dr(),Ja=Object;jn.exports=Ha?function(e){return typeof e=="symbol"}:function(e){var n=Wa("Symbol");return Va(n)&&Ga(n.prototype,Ja(e))}});var Dn=U((Up,Mn)=>{var Ka=String;Mn.exports=function(e){try{return Ka(e)}catch{return"Object"}}});var zn=U(($p,Ln)=>{var Qa=he(),Ya=Dn(),Xa=TypeError;Ln.exports=function(e){if(Qa(e))return e;throw Xa(Ya(e)+" is not a function")}});var Fn=U((Wp,Bn)=>{var Za=zn(),eu=Pr();Bn.exports=function(e,n){var i=e[n];return eu(i)?void 0:Za(i)}});var $n=U((Vp,Un)=>{var zr=tr(),Br=he(),Fr=Me(),ru=TypeError;Un.exports=function(e,n){var i,u;if(n==="string"&&Br(i=e.toString)&&!Fr(u=zr(i,e))||Br(i=e.valueOf)&&!Fr(u=zr(i,e))||n!=="string"&&Br(i=e.toString)&&!Fr(u=zr(i,e)))return u;throw ru("Can't convert object to primitive value")}});var Vn=U((Gp,Wn)=>{Wn.exports=!1});var or=U((Hp,Hn)=>{var Gn=pe(),tu=Object.defineProperty;Hn.exports=function(e,n){try{tu(Gn,e,{value:n,configurable:!0,writable:!0})}catch{Gn[e]=n}return n}});var ar=U((Jp,Kn)=>{var nu=pe(),iu=or(),Jn="__core-js_shared__",su=nu[Jn]||iu(Jn,{});Kn.exports=su});var Ur=U((Kp,Yn)=>{var ou=Vn(),Qn=ar();(Yn.exports=function(e,n){return Qn[e]||(Qn[e]=n!==void 0?n:{})})("versions",[]).push({version:"3.26.1",mode:ou?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Zn=U((Qp,Xn)=>{var au=Ir(),uu=Object;Xn.exports=function(e){return uu(au(e))}});var Te=U((Yp,ei)=>{var cu=xe(),lu=Zn(),fu=cu({}.hasOwnProperty);ei.exports=Object.hasOwn||function(n,i){return fu(lu(n),i)}});var $r=U((Xp,ri)=>{var pu=xe(),hu=0,du=Math.random(),vu=pu(1 .toString);ri.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+vu(++hu+du,36)}});var ai=U((Zp,oi)=>{var mu=pe(),gu=Ur(),ti=Te(),yu=$r(),ni=Mr(),si=Dr(),De=gu("wks"),Ee=mu.Symbol,ii=Ee&&Ee.for,wu=si?Ee:Ee&&Ee.withoutSetter||yu;oi.exports=function(e){if(!ti(De,e)||!(ni||typeof De[e]=="string")){var n="Symbol."+e;ni&&ti(Ee,e)?De[e]=Ee[e]:si&&ii?De[e]=ii(n):De[e]=wu(n)}return De[e]}});var fi=U((eh,li)=>{var _u=tr(),ui=Me(),ci=Lr(),bu=Fn(),xu=$n(),Su=ai(),ku=TypeError,Ou=Su("toPrimitive");li.exports=function(e,n){if(!ui(e)||ci(e))return e;var i=bu(e,Ou),u;if(i){if(n===void 0&&(n="default"),u=_u(i,e,n),!ui(u)||ci(u))return u;throw ku("Can't convert object to primitive value")}return n===void 0&&(n="number"),xu(e,n)}});var Wr=U((rh,pi)=>{var Tu=fi(),Eu=Lr();pi.exports=function(e){var n=Tu(e,"string");return Eu(n)?n:n+""}});var vi=U((th,di)=>{var qu=pe(),hi=Me(),Vr=qu.document,Au=hi(Vr)&&hi(Vr.createElement);di.exports=function(e){return Au?Vr.createElement(e):{}}});var Gr=U((nh,mi)=>{var Pu=Oe(),Iu=be(),Ru=vi();mi.exports=!Pu&&!Iu(function(){return Object.defineProperty(Ru("div"),"a",{get:function(){return 7}}).a!=7})});var Hr=U(yi=>{var Cu=Oe(),Nu=tr(),ju=en(),Mu=Er(),Du=nr(),Lu=Wr(),zu=Te(),Bu=Gr(),gi=Object.getOwnPropertyDescriptor;yi.f=Cu?gi:function(n,i){if(n=Du(n),i=Lu(i),Bu)try{return gi(n,i)}catch{}if(zu(n,i))return Mu(!Nu(ju.f,n,i),n[i])}});var _i=U((sh,wi)=>{var Fu=Oe(),Uu=be();wi.exports=Fu&&Uu(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Jr=U((oh,bi)=>{var $u=Me(),Wu=String,Vu=TypeError;bi.exports=function(e){if($u(e))return e;throw Vu(Wu(e)+" is not an object")}});var cr=U(Si=>{var Gu=Oe(),Hu=Gr(),Ju=_i(),ur=Jr(),xi=Wr(),Ku=TypeError,Kr=Object.defineProperty,Qu=Object.getOwnPropertyDescriptor,Qr="enumerable",Yr="configurable",Xr="writable";Si.f=Gu?Ju?function(n,i,u){if(ur(n),i=xi(i),ur(u),typeof n=="function"&&i==="prototype"&&"value"in u&&Xr in u&&!u[Xr]){var o=Qu(n,i);o&&o[Xr]&&(n[i]=u.value,u={configurable:Yr in u?u[Yr]:o[Yr],enumerable:Qr in u?u[Qr]:o[Qr],writable:!1})}return Kr(n,i,u)}:Kr:function(n,i,u){if(ur(n),i=xi(i),ur(u),Hu)try{return Kr(n,i,u)}catch{}if("get"in u||"set"in u)throw Ku("Accessors not supported");return"value"in u&&(n[i]=u.value),n}});var Zr=U((uh,ki)=>{var Yu=Oe(),Xu=cr(),Zu=Er();ki.exports=Yu?function(e,n,i){return Xu.f(e,n,Zu(1,i))}:function(e,n,i){return e[n]=i,e}});var Ei=U((ch,Ti)=>{var et=Oe(),ec=Te(),Oi=Function.prototype,rc=et&&Object.getOwnPropertyDescriptor,rt=ec(Oi,"name"),tc=rt&&function(){}.name==="something",nc=rt&&(!et||et&&rc(Oi,"name").configurable);Ti.exports={EXISTS:rt,PROPER:tc,CONFIGURABLE:nc}});var Ai=U((lh,qi)=>{var ic=xe(),sc=he(),tt=ar(),oc=ic(Function.toString);sc(tt.inspectSource)||(tt.inspectSource=function(e){return oc(e)});qi.exports=tt.inspectSource});var Ri=U((fh,Ii)=>{var ac=pe(),uc=he(),Pi=ac.WeakMap;Ii.exports=uc(Pi)&&/native code/.test(String(Pi))});var ji=U((ph,Ni)=>{var cc=Ur(),lc=$r(),Ci=cc("keys");Ni.exports=function(e){return Ci[e]||(Ci[e]=lc(e))}});var nt=U((hh,Mi)=>{Mi.exports={}});var Bi=U((dh,zi)=>{var fc=Ri(),Li=pe(),pc=Me(),hc=Zr(),it=Te(),st=ar(),dc=ji(),vc=nt(),Di="Object already initialized",ot=Li.TypeError,mc=Li.WeakMap,lr,Fe,fr,gc=function(e){return fr(e)?Fe(e):lr(e,{})},yc=function(e){return function(n){var i;if(!pc(n)||(i=Fe(n)).type!==e)throw ot("Incompatible receiver, "+e+" required");return i}};fc||st.state?(ve=st.state||(st.state=new mc),ve.get=ve.get,ve.has=ve.has,ve.set=ve.set,lr=function(e,n){if(ve.has(e))throw ot(Di);return n.facade=e,ve.set(e,n),n},Fe=function(e){return ve.get(e)||{}},fr=function(e){return ve.has(e)}):(qe=dc("state"),vc[qe]=!0,lr=function(e,n){if(it(e,qe))throw ot(Di);return n.facade=e,hc(e,qe,n),n},Fe=function(e){return it(e,qe)?e[qe]:{}},fr=function(e){return it(e,qe)});var ve,qe;zi.exports={set:lr,get:Fe,has:fr,enforce:gc,getterFor:yc}});var $i=U((vh,Ui)=>{var wc=be(),_c=he(),pr=Te(),at=Oe(),bc=Ei().CONFIGURABLE,xc=Ai(),Fi=Bi(),Sc=Fi.enforce,kc=Fi.get,hr=Object.defineProperty,Oc=at&&!wc(function(){return hr(function(){},"length",{value:8}).length!==8}),Tc=String(String).split("String"),Ec=Ui.exports=function(e,n,i){String(n).slice(0,7)==="Symbol("&&(n="["+String(n).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),i&&i.getter&&(n="get "+n),i&&i.setter&&(n="set "+n),(!pr(e,"name")||bc&&e.name!==n)&&(at?hr(e,"name",{value:n,configurable:!0}):e.name=n),Oc&&i&&pr(i,"arity")&&e.length!==i.arity&&hr(e,"length",{value:i.arity});try{i&&pr(i,"constructor")&&i.constructor?at&&hr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var u=Sc(e);return pr(u,"source")||(u.source=Tc.join(typeof n=="string"?n:"")),e};Function.prototype.toString=Ec(function(){return _c(this)&&kc(this).source||xc(this)},"toString")});var Vi=U((mh,Wi)=>{var qc=he(),Ac=cr(),Pc=$i(),Ic=or();Wi.exports=function(e,n,i,u){u||(u={});var o=u.enumerable,h=u.name!==void 0?u.name:n;if(qc(i)&&Pc(i,h,u),u.global)o?e[n]=i:Ic(n,i);else{try{u.unsafe?e[n]&&(o=!0):delete e[n]}catch{}o?e[n]=i:Ac.f(e,n,{value:i,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return e}});var Hi=U((gh,Gi)=>{var Rc=Math.ceil,Cc=Math.floor;Gi.exports=Math.trunc||function(n){var i=+n;return(i>0?Cc:Rc)(i)}});var ut=U((yh,Ji)=>{var Nc=Hi();Ji.exports=function(e){var n=+e;return n!==n||n===0?0:Nc(n)}});var Qi=U((wh,Ki)=>{var jc=ut(),Mc=Math.max,Dc=Math.min;Ki.exports=function(e,n){var i=jc(e);return i<0?Mc(i+n,0):Dc(i,n)}});var Xi=U((_h,Yi)=>{var Lc=ut(),zc=Math.min;Yi.exports=function(e){return e>0?zc(Lc(e),9007199254740991):0}});var es=U((bh,Zi)=>{var Bc=Xi();Zi.exports=function(e){return Bc(e.length)}});var ns=U((xh,ts)=>{var Fc=nr(),Uc=Qi(),$c=es(),rs=function(e){return function(n,i,u){var o=Fc(n),h=$c(o),l=Uc(u,h),p;if(e&&i!=i){for(;h>l;)if(p=o[l++],p!=p)return!0}else for(;h>l;l++)if((e||l in o)&&o[l]===i)return e||l||0;return!e&&-1}};ts.exports={includes:rs(!0),indexOf:rs(!1)}});var os=U((Sh,ss)=>{var Wc=xe(),ct=Te(),Vc=nr(),Gc=ns().indexOf,Hc=nt(),is=Wc([].push);ss.exports=function(e,n){var i=Vc(e),u=0,o=[],h;for(h in i)!ct(Hc,h)&&ct(i,h)&&is(o,h);for(;n.length>u;)ct(i,h=n[u++])&&(~Gc(o,h)||is(o,h));return o}});var us=U((kh,as)=>{as.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ls=U(cs=>{var Jc=os(),Kc=us(),Qc=Kc.concat("length","prototype");cs.f=Object.getOwnPropertyNames||function(n){return Jc(n,Qc)}});var ps=U(fs=>{fs.f=Object.getOwnPropertySymbols});var ds=U((Eh,hs)=>{var Yc=ir(),Xc=xe(),Zc=ls(),el=ps(),rl=Jr(),tl=Xc([].concat);hs.exports=Yc("Reflect","ownKeys")||function(n){var i=Zc.f(rl(n)),u=el.f;return u?tl(i,u(n)):i}});var gs=U((qh,ms)=>{var vs=Te(),nl=ds(),il=Hr(),sl=cr();ms.exports=function(e,n,i){for(var u=nl(n),o=sl.f,h=il.f,l=0;l{var ol=be(),al=he(),ul=/#|\.prototype\./,Ue=function(e,n){var i=ll[cl(e)];return i==pl?!0:i==fl?!1:al(n)?ol(n):!!n},cl=Ue.normalize=function(e){return String(e).replace(ul,".").toLowerCase()},ll=Ue.data={},fl=Ue.NATIVE="N",pl=Ue.POLYFILL="P";ys.exports=Ue});var bs=U((Ph,_s)=>{var lt=pe(),hl=Hr().f,dl=Zr(),vl=Vi(),ml=or(),gl=gs(),yl=ws();_s.exports=function(e,n){var i=e.target,u=e.global,o=e.stat,h,l,p,m,c,t;if(u?l=lt:o?l=lt[i]||ml(i,{}):l=(lt[i]||{}).prototype,l)for(p in n){if(c=n[p],e.dontCallGetSet?(t=hl(l,p),m=t&&t.value):m=l[p],h=yl(u?p:i+(o?".":"#")+p,e.forced),!h&&m!==void 0){if(typeof c==typeof m)continue;gl(c,m)}(e.sham||m&&m.sham)&&dl(c,"sham",!0),vl(l,p,c,e)}}});var xs=U(()=>{var wl=bs(),ft=pe();wl({global:!0,forced:ft.globalThis!==ft},{globalThis:ft})});var Ss=U(()=>{xs()});var gp=U((Fh,wa)=>{Ss();var Et=Object.defineProperty,_l=Object.getOwnPropertyDescriptor,qt=Object.getOwnPropertyNames,bl=Object.prototype.hasOwnProperty,Le=(e,n)=>function(){return e&&(n=(0,e[qt(e)[0]])(e=0)),n},P=(e,n)=>function(){return n||(0,e[qt(e)[0]])((n={exports:{}}).exports,n),n.exports},At=(e,n)=>{for(var i in n)Et(e,i,{get:n[i],enumerable:!0})},xl=(e,n,i,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of qt(n))!bl.call(e,o)&&o!==i&&Et(e,o,{get:()=>n[o],enumerable:!(u=_l(n,o))||u.enumerable});return e},Pt=e=>xl(Et({},"__esModule",{value:!0}),e),A=Le({""(){}}),Sl=P({"src/common/parser-create-error.js"(e,n){"use strict";A();function i(u,o){let h=new SyntaxError(u+" ("+o.start.line+":"+o.start.column+")");return h.loc=o,h}n.exports=i}}),Us=P({"src/utils/get-last.js"(e,n){"use strict";A();var i=u=>u[u.length-1];n.exports=i}}),$s=P({"src/utils/front-matter/parse.js"(e,n){"use strict";A();var i=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function u(o){let h=o.match(i);if(!h)return{content:o};let{startDelimiter:l,language:p,value:m="",endDelimiter:c}=h.groups,t=p.trim()||"yaml";if(l==="+++"&&(t="toml"),t!=="yaml"&&l!==c)return{content:o};let[r]=h;return{frontMatter:{type:"front-matter",lang:t,value:m,startDelimiter:l,endDelimiter:c,raw:r.replace(/\n$/,"")},content:r.replace(/[^\n]/g," ")+o.slice(r.length)}}n.exports=u}}),Ws={};At(Ws,{EOL:()=>bt,arch:()=>kl,cpus:()=>Ys,default:()=>to,endianness:()=>Vs,freemem:()=>Ks,getNetworkInterfaces:()=>ro,hostname:()=>Gs,loadavg:()=>Hs,networkInterfaces:()=>eo,platform:()=>Ol,release:()=>Zs,tmpDir:()=>wt,tmpdir:()=>_t,totalmem:()=>Qs,type:()=>Xs,uptime:()=>Js});function Vs(){if(typeof dr>"u"){var e=new ArrayBuffer(2),n=new Uint8Array(e),i=new Uint16Array(e);if(n[0]=1,n[1]=2,i[0]===258)dr="BE";else if(i[0]===513)dr="LE";else throw new Error("unable to figure out endianess")}return dr}function Gs(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Hs(){return[]}function Js(){return 0}function Ks(){return Number.MAX_VALUE}function Qs(){return Number.MAX_VALUE}function Ys(){return[]}function Xs(){return"Browser"}function Zs(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function eo(){}function ro(){}function kl(){return"javascript"}function Ol(){return"browser"}function wt(){return"/tmp"}var dr,_t,bt,to,Tl=Le({"node-modules-polyfills:os"(){A(),_t=wt,bt=` -`,to={EOL:bt,tmpdir:_t,tmpDir:wt,networkInterfaces:eo,getNetworkInterfaces:ro,release:Zs,type:Xs,cpus:Ys,totalmem:Qs,freemem:Ks,uptime:Js,loadavg:Hs,hostname:Gs,endianness:Vs}}}),El=P({"node-modules-polyfills-commonjs:os"(e,n){A();var i=(Tl(),Pt(Ws));if(i&&i.default){n.exports=i.default;for(let u in i)n.exports[u]=i[u]}else i&&(n.exports=i)}}),ql=P({"node_modules/detect-newline/index.js"(e,n){"use strict";A();var i=u=>{if(typeof u!="string")throw new TypeError("Expected a string");let o=u.match(/(?:\r?\n)/g)||[];if(o.length===0)return;let h=o.filter(p=>p===`\r -`).length,l=o.length-h;return h>l?`\r -`:` -`};n.exports=i,n.exports.graceful=u=>typeof u=="string"&&i(u)||` -`}}),Al=P({"node_modules/jest-docblock/build/index.js"(e){"use strict";A(),Object.defineProperty(e,"__esModule",{value:!0}),e.extract=s,e.parse=g,e.parseWithComments=v,e.print=y,e.strip=f;function n(){let d=El();return n=function(){return d},d}function i(){let d=u(ql());return i=function(){return d},d}function u(d){return d&&d.__esModule?d:{default:d}}var o=/\*\/$/,h=/^\/\*\*?/,l=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,p=/(^|\s+)\/\/([^\r\n]*)/g,m=/^(\r?\n)+/,c=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,t=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,r=/(\r?\n|^) *\* ?/g,a=[];function s(d){let _=d.match(l);return _?_[0].trimLeft():""}function f(d){let _=d.match(l);return _&&_[0]?d.substring(_[0].length):d}function g(d){return v(d).pragmas}function v(d){let _=(0,i().default)(d)||n().EOL;d=d.replace(h,"").replace(o,"").replace(r,"$1");let k="";for(;k!==d;)k=d,d=d.replace(c,`${_}$1 $2${_}`);d=d.replace(m,"").trimRight();let x=Object.create(null),N=d.replace(t,"").replace(m,"").trimRight(),I;for(;I=t.exec(d);){let W=I[2].replace(p,"");typeof x[I[1]]=="string"||Array.isArray(x[I[1]])?x[I[1]]=a.concat(x[I[1]],W):x[I[1]]=W}return{comments:N,pragmas:x}}function y(d){let{comments:_="",pragmas:k={}}=d,x=(0,i().default)(_)||n().EOL,N="/**",I=" *",W=" */",$=Object.keys(k),H=$.map(V=>w(V,k[V])).reduce((V,B)=>V.concat(B),[]).map(V=>`${I} ${V}${x}`).join("");if(!_){if($.length===0)return"";if($.length===1&&!Array.isArray(k[$[0]])){let V=k[$[0]];return`${N} ${w($[0],V)[0]}${W}`}}let D=_.split(x).map(V=>`${I} ${V}`).join(x)+x;return N+x+(_?D:"")+(_&&$.length?I+x:"")+H+W}function w(d,_){return a.concat(_).map(k=>`@${d} ${k}`.trim())}}}),Pl=P({"src/common/end-of-line.js"(e,n){"use strict";A();function i(l){let p=l.indexOf("\r");return p>=0?l.charAt(p+1)===` -`?"crlf":"cr":"lf"}function u(l){switch(l){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function o(l,p){let m;switch(p){case` -`:m=/\n/g;break;case"\r":m=/\r/g;break;case`\r -`:m=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(p)}.`)}let c=l.match(m);return c?c.length:0}function h(l){return l.replace(/\r\n?/g,` -`)}n.exports={guessEndOfLine:i,convertEndOfLineToChars:u,countEndOfLineChars:o,normalizeEndOfLine:h}}}),Il=P({"src/language-js/utils/get-shebang.js"(e,n){"use strict";A();function i(u){if(!u.startsWith("#!"))return"";let o=u.indexOf(` -`);return o===-1?u:u.slice(0,o)}n.exports=i}}),Rl=P({"src/language-js/pragma.js"(e,n){"use strict";A();var{parseWithComments:i,strip:u,extract:o,print:h}=Al(),{normalizeEndOfLine:l}=Pl(),p=Il();function m(r){let a=p(r);a&&(r=r.slice(a.length+1));let s=o(r),{pragmas:f,comments:g}=i(s);return{shebang:a,text:r,pragmas:f,comments:g}}function c(r){let a=Object.keys(m(r).pragmas);return a.includes("prettier")||a.includes("format")}function t(r){let{shebang:a,text:s,pragmas:f,comments:g}=m(r),v=u(s),y=h({pragmas:Object.assign({format:""},f),comments:g.trimStart()});return(a?`${a} -`:"")+l(y)+(v.startsWith(` -`)?` -`:` - -`)+v}n.exports={hasPragma:c,insertPragma:t}}}),Cl=P({"src/language-css/pragma.js"(e,n){"use strict";A();var i=Rl(),u=$s();function o(l){return i.hasPragma(u(l).content)}function h(l){let{frontMatter:p,content:m}=u(l);return(p?p.raw+` - -`:"")+i.insertPragma(m)}n.exports={hasPragma:o,insertPragma:h}}}),Nl=P({"src/utils/text/skip.js"(e,n){"use strict";A();function i(p){return(m,c,t)=>{let r=t&&t.backwards;if(c===!1)return!1;let{length:a}=m,s=c;for(;s>=0&&s0}n.exports=i}}),Dl=P({"src/language-css/utils/has-scss-interpolation.js"(e,n){"use strict";A();var i=Ml();function u(o){if(i(o)){for(let h=o.length-1;h>0;h--)if(o[h].type==="word"&&o[h].value==="{"&&o[h-1].type==="word"&&o[h-1].value.endsWith("#"))return!0}return!1}n.exports=u}}),Ll=P({"src/language-css/utils/has-string-or-function.js"(e,n){"use strict";A();function i(u){return u.some(o=>o.type==="string"||o.type==="func")}n.exports=i}}),zl=P({"src/language-css/utils/is-less-parser.js"(e,n){"use strict";A();function i(u){return u.parser==="css"||u.parser==="less"}n.exports=i}}),Bl=P({"src/language-css/utils/is-scss.js"(e,n){"use strict";A();function i(u,o){return u==="less"||u==="scss"?u==="scss":/(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/.test(o)}n.exports=i}}),Fl=P({"src/language-css/utils/is-scss-nested-property-node.js"(e,n){"use strict";A();function i(u){return u.selector?u.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*\n/,"").trim().endsWith(":"):!1}n.exports=i}}),Ul=P({"src/language-css/utils/is-scss-variable.js"(e,n){"use strict";A();function i(u){return Boolean((u==null?void 0:u.type)==="word"&&u.value.startsWith("$"))}n.exports=i}}),$l=P({"src/language-css/utils/stringify-node.js"(e,n){"use strict";A();function i(u){var o,h,l;if(u.groups){var p,m,c;let y=((p=u.open)===null||p===void 0?void 0:p.value)||"",w=u.groups.map(_=>i(_)).join(((m=u.groups[0])===null||m===void 0?void 0:m.type)==="comma_group"?",":""),d=((c=u.close)===null||c===void 0?void 0:c.value)||"";return y+w+d}let t=((o=u.raws)===null||o===void 0?void 0:o.before)||"",r=((h=u.raws)===null||h===void 0?void 0:h.quote)||"",a=u.type==="atword"?"@":"",s=u.value||"",f=u.unit||"",g=u.group?i(u.group):"",v=((l=u.raws)===null||l===void 0?void 0:l.after)||"";return t+r+a+s+r+f+g+v}n.exports=i}}),Wl=P({"src/language-css/utils/is-module-rule-name.js"(e,n){"use strict";A();var i=new Set(["import","use","forward"]);function u(o){return i.has(o)}n.exports=u}}),we=P({"node_modules/postcss-values-parser/lib/node.js"(e,n){"use strict";A();var i=function(u,o){let h=new u.constructor;for(let l in u){if(!u.hasOwnProperty(l))continue;let p=u[l],m=typeof p;l==="parent"&&m==="object"?o&&(h[l]=o):l==="source"?h[l]=p:p instanceof Array?h[l]=p.map(c=>i(c,h)):l!=="before"&&l!=="after"&&l!=="between"&&l!=="semicolon"&&(m==="object"&&p!==null&&(p=i(p)),h[l]=p)}return h};n.exports=class{constructor(o){o=o||{},this.raws={before:"",after:""};for(let h in o)this[h]=o[h]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(o){o=o||{};let h=i(this);for(let l in o)h[l]=o[l];return h}cloneBefore(o){o=o||{};let h=this.clone(o);return this.parent.insertBefore(this,h),h}cloneAfter(o){o=o||{};let h=this.clone(o);return this.parent.insertAfter(this,h),h}replaceWith(){let o=Array.prototype.slice.call(arguments);if(this.parent){for(let h of o)this.parent.insertBefore(this,h);this.remove()}return this}moveTo(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.append(this),this}moveBefore(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.parent.insertBefore(o,this),this}moveAfter(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.parent.insertAfter(o,this),this}next(){let o=this.parent.index(this);return this.parent.nodes[o+1]}prev(){let o=this.parent.index(this);return this.parent.nodes[o-1]}toJSON(){let o={};for(let h in this){if(!this.hasOwnProperty(h)||h==="parent")continue;let l=this[h];l instanceof Array?o[h]=l.map(p=>typeof p=="object"&&p.toJSON?p.toJSON():p):typeof l=="object"&&l.toJSON?o[h]=l.toJSON():o[h]=l}return o}root(){let o=this;for(;o.parent;)o=o.parent;return o}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}positionInside(o){let h=this.toString(),l=this.source.start.column,p=this.source.start.line;for(let m=0;m{let p=o(h,l);return p!==!1&&h.walk&&(p=h.walk(o)),p})}walkType(o,h){if(!o||!h)throw new Error("Parameters {type} and {callback} are required.");let l=typeof o=="function";return this.walk((p,m)=>{if(l&&p instanceof o||!l&&p.type===o)return h.call(this,p,m)})}append(o){return o.parent=this,this.nodes.push(o),this}prepend(o){return o.parent=this,this.nodes.unshift(o),this}cleanRaws(o){if(super.cleanRaws(o),this.nodes)for(let h of this.nodes)h.cleanRaws(o)}insertAfter(o,h){let l=this.index(o),p;this.nodes.splice(l+1,0,h);for(let m in this.indexes)p=this.indexes[m],l<=p&&(this.indexes[m]=p+this.nodes.length);return this}insertBefore(o,h){let l=this.index(o),p;this.nodes.splice(l,0,h);for(let m in this.indexes)p=this.indexes[m],l<=p&&(this.indexes[m]=p+this.nodes.length);return this}removeChild(o){o=this.index(o),this.nodes[o].parent=void 0,this.nodes.splice(o,1);let h;for(let l in this.indexes)h=this.indexes[l],h>=o&&(this.indexes[l]=h-1);return this}removeAll(){for(let o of this.nodes)o.parent=void 0;return this.nodes=[],this}every(o){return this.nodes.every(o)}some(o){return this.nodes.some(o)}index(o){return typeof o=="number"?o:this.nodes.indexOf(o)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let o=this.nodes.map(String).join("");return this.value&&(o=this.value+o),this.raws.before&&(o=this.raws.before+o),this.raws.after&&(o+=this.raws.after),o}};u.registerWalker=o=>{let h="walk"+o.name;h.lastIndexOf("s")!==h.length-1&&(h+="s"),!u.prototype[h]&&(u.prototype[h]=function(l){return this.walkType(o,l)})},n.exports=u}}),Vl=P({"node_modules/postcss-values-parser/lib/root.js"(e,n){"use strict";A();var i=ae();n.exports=class extends i{constructor(o){super(o),this.type="root"}}}}),io=P({"node_modules/postcss-values-parser/lib/value.js"(e,n){"use strict";A();var i=ae();n.exports=class extends i{constructor(o){super(o),this.type="value",this.unbalanced=0}}}}),so=P({"node_modules/postcss-values-parser/lib/atword.js"(e,n){"use strict";A();var i=ae(),u=class extends i{constructor(o){super(o),this.type="atword"}toString(){let o=this.quoted?this.raws.quote:"";return[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};i.registerWalker(u),n.exports=u}}),oo=P({"node_modules/postcss-values-parser/lib/colon.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="colon"}};i.registerWalker(o),n.exports=o}}),ao=P({"node_modules/postcss-values-parser/lib/comma.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="comma"}};i.registerWalker(o),n.exports=o}}),uo=P({"node_modules/postcss-values-parser/lib/comment.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="comment",this.inline=Object(h).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};i.registerWalker(o),n.exports=o}}),co=P({"node_modules/postcss-values-parser/lib/function.js"(e,n){"use strict";A();var i=ae(),u=class extends i{constructor(o){super(o),this.type="func",this.unbalanced=-1}};i.registerWalker(u),n.exports=u}}),lo=P({"node_modules/postcss-values-parser/lib/number.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="number",this.unit=Object(h).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};i.registerWalker(o),n.exports=o}}),fo=P({"node_modules/postcss-values-parser/lib/operator.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="operator"}};i.registerWalker(o),n.exports=o}}),po=P({"node_modules/postcss-values-parser/lib/paren.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="paren",this.parenType=""}};i.registerWalker(o),n.exports=o}}),ho=P({"node_modules/postcss-values-parser/lib/string.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="string"}toString(){let h=this.quoted?this.raws.quote:"";return[this.raws.before,h,this.value+"",h,this.raws.after].join("")}};i.registerWalker(o),n.exports=o}}),vo=P({"node_modules/postcss-values-parser/lib/word.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="word"}};i.registerWalker(o),n.exports=o}}),mo=P({"node_modules/postcss-values-parser/lib/unicode-range.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="unicode-range"}};i.registerWalker(o),n.exports=o}});function go(){throw new Error("setTimeout has not been defined")}function yo(){throw new Error("clearTimeout has not been defined")}function wo(e){if(Se===setTimeout)return setTimeout(e,0);if((Se===go||!Se)&&setTimeout)return Se=setTimeout,setTimeout(e,0);try{return Se(e,0)}catch{try{return Se.call(null,e,0)}catch{return Se.call(this,e,0)}}}function Gl(e){if(ke===clearTimeout)return clearTimeout(e);if((ke===yo||!ke)&&clearTimeout)return ke=clearTimeout,clearTimeout(e);try{return ke(e)}catch{try{return ke.call(null,e)}catch{return ke.call(this,e)}}}function Hl(){!Ne||!Ce||(Ne=!1,Ce.length?me=Ce.concat(me):We=-1,me.length&&_o())}function _o(){if(!Ne){var e=wo(Hl);Ne=!0;for(var n=me.length;n;){for(Ce=me,me=[];++We1)for(var i=1;iMt,debuglog:()=>Oo,default:()=>No,deprecate:()=>Rt,format:()=>wr,inherits:()=>It,inspect:()=>ye,isArray:()=>Ct,isBoolean:()=>_r,isBuffer:()=>Ao,isDate:()=>gr,isError:()=>He,isFunction:()=>Je,isNull:()=>Ke,isNullOrUndefined:()=>To,isNumber:()=>Nt,isObject:()=>je,isPrimitive:()=>qo,isRegExp:()=>Ge,isString:()=>Qe,isSymbol:()=>Eo,isUndefined:()=>ge,log:()=>Po});function wr(e){if(!Qe(e)){for(var n=[],i=0;i=o)return p;switch(p){case"%s":return String(u[i++]);case"%d":return Number(u[i++]);case"%j":try{return JSON.stringify(u[i++])}catch{return"[Circular]"}default:return p}}),l=u[i];i=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),_r(n)?i.showHidden=n:n&&Mt(i,n),ge(i.showHidden)&&(i.showHidden=!1),ge(i.depth)&&(i.depth=2),ge(i.colors)&&(i.colors=!1),ge(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=nf),mr(i,e,i.depth)}function nf(e,n){var i=ye.styles[n];return i?"\x1B["+ye.colors[i][0]+"m"+e+"\x1B["+ye.colors[i][1]+"m":e}function sf(e,n){return e}function of(e){var n={};return e.forEach(function(i,u){n[i]=!0}),n}function mr(e,n,i){if(e.customInspect&&n&&Je(n.inspect)&&n.inspect!==ye&&!(n.constructor&&n.constructor.prototype===n)){var u=n.inspect(i,e);return Qe(u)||(u=mr(e,u,i)),u}var o=af(e,n);if(o)return o;var h=Object.keys(n),l=of(h);if(e.showHidden&&(h=Object.getOwnPropertyNames(n)),He(n)&&(h.indexOf("message")>=0||h.indexOf("description")>=0))return ht(n);if(h.length===0){if(Je(n)){var p=n.name?": "+n.name:"";return e.stylize("[Function"+p+"]","special")}if(Ge(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(gr(n))return e.stylize(Date.prototype.toString.call(n),"date");if(He(n))return ht(n)}var m="",c=!1,t=["{","}"];if(Ct(n)&&(c=!0,t=["[","]"]),Je(n)){var r=n.name?": "+n.name:"";m=" [Function"+r+"]"}if(Ge(n)&&(m=" "+RegExp.prototype.toString.call(n)),gr(n)&&(m=" "+Date.prototype.toUTCString.call(n)),He(n)&&(m=" "+ht(n)),h.length===0&&(!c||n.length==0))return t[0]+m+t[1];if(i<0)return Ge(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var a;return c?a=uf(e,n,i,l,h):a=h.map(function(s){return xt(e,n,i,l,s,c)}),e.seen.pop(),cf(a,m,t)}function af(e,n){if(ge(n))return e.stylize("undefined","undefined");if(Qe(n)){var i="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(i,"string")}if(Nt(n))return e.stylize(""+n,"number");if(_r(n))return e.stylize(""+n,"boolean");if(Ke(n))return e.stylize("null","null")}function ht(e){return"["+Error.prototype.toString.call(e)+"]"}function uf(e,n,i,u,o){for(var h=[],l=0,p=n.length;l-1&&(h?p=p.split(` -`).map(function(c){return" "+c}).join(` -`).substr(2):p=` -`+p.split(` -`).map(function(c){return" "+c}).join(` -`))):p=e.stylize("[Circular]","special")),ge(l)){if(h&&o.match(/^\d+$/))return p;l=JSON.stringify(""+o),l.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(l=l.substr(1,l.length-2),l=e.stylize(l,"name")):(l=l.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),l=e.stylize(l,"string"))}return l+": "+p}function cf(e,n,i){var u=0,o=e.reduce(function(h,l){return u++,l.indexOf(` -`)>=0&&u++,h+l.replace(/\u001b\[\d\d?m/g,"").length+1},0);return o>60?i[0]+(n===""?"":n+` - `)+" "+e.join(`, - `)+" "+i[1]:i[0]+n+" "+e.join(", ")+" "+i[1]}function Ct(e){return Array.isArray(e)}function _r(e){return typeof e=="boolean"}function Ke(e){return e===null}function To(e){return e==null}function Nt(e){return typeof e=="number"}function Qe(e){return typeof e=="string"}function Eo(e){return typeof e=="symbol"}function ge(e){return e===void 0}function Ge(e){return je(e)&&jt(e)==="[object RegExp]"}function je(e){return typeof e=="object"&&e!==null}function gr(e){return je(e)&&jt(e)==="[object Date]"}function He(e){return je(e)&&(jt(e)==="[object Error]"||e instanceof Error)}function Je(e){return typeof e=="function"}function qo(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e>"u"}function Ao(e){return Buffer.isBuffer(e)}function jt(e){return Object.prototype.toString.call(e)}function dt(e){return e<10?"0"+e.toString(10):e.toString(10)}function lf(){var e=new Date,n=[dt(e.getHours()),dt(e.getMinutes()),dt(e.getSeconds())].join(":");return[e.getDate(),Co[e.getMonth()],n].join(" ")}function Po(){console.log("%s - %s",lf(),wr.apply(null,arguments))}function Mt(e,n){if(!n||!je(n))return e;for(var i=Object.keys(n),u=i.length;u--;)e[i[u]]=n[i[u]];return e}function Io(e,n){return Object.prototype.hasOwnProperty.call(e,n)}var Ro,$e,vt,Co,No,ff=Le({"node-modules-polyfills:util"(){A(),rf(),tf(),Ro=/%[sdj%]/g,$e={},ye.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},ye.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Co=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],No={inherits:It,_extend:Mt,log:Po,isBuffer:Ao,isPrimitive:qo,isFunction:Je,isError:He,isDate:gr,isObject:je,isRegExp:Ge,isUndefined:ge,isSymbol:Eo,isString:Qe,isNumber:Nt,isNullOrUndefined:To,isNull:Ke,isBoolean:_r,isArray:Ct,inspect:ye,deprecate:Rt,format:wr,debuglog:Oo}}}),pf=P({"node-modules-polyfills-commonjs:util"(e,n){A();var i=(ff(),Pt(ko));if(i&&i.default){n.exports=i.default;for(let u in i)n.exports[u]=i[u]}else i&&(n.exports=i)}}),hf=P({"node_modules/postcss-values-parser/lib/errors/TokenizeError.js"(e,n){"use strict";A();var i=class extends Error{constructor(u){super(u),this.name=this.constructor.name,this.message=u||"An error ocurred while tokzenizing.",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(u).stack}};n.exports=i}}),df=P({"node_modules/postcss-values-parser/lib/tokenize.js"(e,n){"use strict";A();var i="{".charCodeAt(0),u="}".charCodeAt(0),o="(".charCodeAt(0),h=")".charCodeAt(0),l="'".charCodeAt(0),p='"'.charCodeAt(0),m="\\".charCodeAt(0),c="/".charCodeAt(0),t=".".charCodeAt(0),r=",".charCodeAt(0),a=":".charCodeAt(0),s="*".charCodeAt(0),f="-".charCodeAt(0),g="+".charCodeAt(0),v="#".charCodeAt(0),y=` -`.charCodeAt(0),w=" ".charCodeAt(0),d="\f".charCodeAt(0),_=" ".charCodeAt(0),k="\r".charCodeAt(0),x="@".charCodeAt(0),N="e".charCodeAt(0),I="E".charCodeAt(0),W="0".charCodeAt(0),$="9".charCodeAt(0),H="u".charCodeAt(0),D="U".charCodeAt(0),V=/[ \n\t\r\{\(\)'"\\;,/]/g,B=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,O=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,j=/^[a-z0-9]/i,C=/^[a-f0-9?\-]/i,R=pf(),X=hf();n.exports=function(Q,K){K=K||{};let J=[],M=Q.valueOf(),Y=M.length,G=-1,E=1,S=0,b=0,L=null,q,T,F,z,ee,te,ue,le,re,ne,oe,ie;function ce(Ze){let _e=R.format("Unclosed %s at line: %d, column: %d, token: %d",Ze,E,S-G,S);throw new X(_e)}function fe(){let Ze=R.format("Syntax error at line: %d, column: %d, token: %d",E,S-G,S);throw new X(Ze)}for(;S0&&J[J.length-1][0]==="word"&&J[J.length-1][1]==="url",J.push(["(","(",E,S-G,E,T-G,S]);break;case h:b--,L=L&&b>0,J.push([")",")",E,S-G,E,T-G,S]);break;case l:case p:F=q===l?"'":'"',T=S;do for(ne=!1,T=M.indexOf(F,T+1),T===-1&&ce("quote",F),oe=T;M.charCodeAt(oe-1)===m;)oe-=1,ne=!ne;while(ne);J.push(["string",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T;break;case x:V.lastIndex=S+1,V.test(M),V.lastIndex===0?T=M.length-1:T=V.lastIndex-2,J.push(["atword",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T;break;case m:T=S,q=M.charCodeAt(T+1),ue&&q!==c&&q!==w&&q!==y&&q!==_&&q!==k&&q!==d&&(T+=1),J.push(["word",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T;break;case g:case f:case s:T=S+1,ie=M.slice(S+1,T+1);let Ze=M.slice(S-1,S);if(q===f&&ie.charCodeAt(0)===f){T++,J.push(["word",M.slice(S,T),E,S-G,E,T-G,S]),S=T-1;break}J.push(["operator",M.slice(S,T),E,S-G,E,T-G,S]),S=T-1;break;default:if(q===c&&(M.charCodeAt(S+1)===s||K.loose&&!L&&M.charCodeAt(S+1)===c)){if(M.charCodeAt(S+1)===s)T=M.indexOf("*/",S+2)+1,T===0&&ce("comment","*/");else{let Be=M.indexOf(` -`,S+2);T=Be!==-1?Be-1:Y}te=M.slice(S,T+1),z=te.split(` -`),ee=z.length-1,ee>0?(le=E+ee,re=T-z[ee].length):(le=E,re=G),J.push(["comment",te,E,S-G,le,T-re,S]),G=re,E=le,S=T}else if(q===v&&!j.test(M.slice(S+1,S+2)))T=S+1,J.push(["#",M.slice(S,T),E,S-G,E,T-G,S]),S=T-1;else if((q===H||q===D)&&M.charCodeAt(S+1)===g){T=S+2;do T+=1,q=M.charCodeAt(T);while(T=W&&q<=$&&(_e=O),_e.lastIndex=S+1,_e.test(M),_e.lastIndex===0?T=M.length-1:T=_e.lastIndex-2,_e===O||q===t){let Be=M.charCodeAt(T),Wt=M.charCodeAt(T+1),Vt=M.charCodeAt(T+2);(Be===N||Be===I)&&(Wt===f||Wt===g)&&Vt>=W&&Vt<=$&&(O.lastIndex=T+2,O.test(M),O.lastIndex===0?T=M.length-1:T=O.lastIndex-2)}J.push(["word",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T}break}S++}return J}}}),jo=P({"node_modules/flatten/index.js"(e,n){A(),n.exports=function(u,o){if(o=typeof o=="number"?o:1/0,!o)return Array.isArray(u)?u.map(function(l){return l}):u;return h(u,1);function h(l,p){return l.reduce(function(m,c){return Array.isArray(c)&&px-N)}n.exports=class{constructor(x,N){let I={loose:!1};this.cache=[],this.input=x,this.options=Object.assign({},I,N),this.position=0,this.unbalanced=0,this.root=new i;let W=new u;this.root.append(W),this.current=W,this.tokens=g(x,this.options)}parse(){return this.loop()}colon(){let x=this.currToken;this.newNode(new h({value:x[1],source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6]})),this.position++}comma(){let x=this.currToken;this.newNode(new l({value:x[1],source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6]})),this.position++}comment(){let x=!1,N=this.currToken[1].replace(/\/\*|\*\//g,""),I;this.options.loose&&N.startsWith("//")&&(N=N.substring(2),x=!0),I=new p({value:N,inline:x,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(I),this.position++}error(x,N){throw new d(x+` at line: ${N[2]}, column ${N[3]}`)}loop(){for(;this.position0&&(this.current.type==="func"&&this.current.value==="calc"?this.prevToken[0]!=="space"&&this.prevToken[0]!=="("?this.error("Syntax Error",this.currToken):this.nextToken[0]!=="space"&&this.nextToken[0]!=="word"?this.error("Syntax Error",this.currToken):this.nextToken[0]==="word"&&this.current.last.type!=="operator"&&this.current.last.value!=="("&&this.error("Syntax Error",this.currToken):(this.nextToken[0]==="space"||this.nextToken[0]==="operator"||this.prevToken[0]==="operator")&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&this.current.last.type==="operator")&&this.nextToken[0]==="word")return this.word()}else if(this.nextToken[0]==="word")return this.word()}return N=new t({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(N)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word();break}}parenOpen(){let x=1,N=this.position+1,I=this.currToken,W;for(;N=this.tokens.length-1&&!this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",x),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let x=this.currToken;this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.raws.after+=x[1],this.position++):(this.spaces=x[1],this.position++)}unicodeRange(){let x=this.currToken;this.newNode(new f({value:x[1],source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6]})),this.position++}splitWord(){let x=this.nextToken,N=this.currToken[1],I=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/,W=/^(?!\#([a-z0-9]+))[\#\{\}]/gi,$,H;if(!W.test(N))for(;x&&x[0]==="word";){this.position++;let D=this.currToken[1];N+=D,x=this.nextToken}$=y(N,"@"),H=_(w(v([[0],$]))),H.forEach((D,V)=>{let B=H[V+1]||N.length,O=N.slice(D,B),j;if(~$.indexOf(D))j=new o({value:O.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+D},end:{line:this.currToken[4],column:this.currToken[3]+(B-1)}},sourceIndex:this.currToken[6]+H[V]});else if(I.test(this.currToken[1])){let C=O.replace(I,"");j=new c({value:O.replace(C,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+D},end:{line:this.currToken[4],column:this.currToken[3]+(B-1)}},sourceIndex:this.currToken[6]+H[V],unit:C})}else j=new(x&&x[0]==="("?m:s)({value:O,source:{start:{line:this.currToken[2],column:this.currToken[3]+D},end:{line:this.currToken[4],column:this.currToken[3]+(B-1)}},sourceIndex:this.currToken[6]+H[V]}),j.type==="word"?(j.isHex=/^#(.+)/.test(O),j.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(O)):this.cache.push(this.current);this.newNode(j)}),this.position++}string(){let x=this.currToken,N=this.currToken[1],I=/^(\"|\')/,W=I.test(N),$="",H;W&&($=N.match(I)[0],N=N.slice(1,N.length-1)),H=new a({value:N,source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6],quoted:W}),H.raws.quote=$,this.newNode(H),this.position++}word(){return this.splitWord()}newNode(x){return this.spaces&&(x.raws.before+=this.spaces,this.spaces=""),this.current.append(x)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}}),gf=P({"node_modules/postcss-values-parser/lib/index.js"(e,n){"use strict";A();var i=mf(),u=so(),o=oo(),h=ao(),l=uo(),p=co(),m=lo(),c=fo(),t=po(),r=ho(),a=mo(),s=io(),f=vo(),g=function(v,y){return new i(v,y)};g.atword=function(v){return new u(v)},g.colon=function(v){return new o(Object.assign({value:":"},v))},g.comma=function(v){return new h(Object.assign({value:","},v))},g.comment=function(v){return new l(v)},g.func=function(v){return new p(v)},g.number=function(v){return new m(v)},g.operator=function(v){return new c(v)},g.paren=function(v){return new t(Object.assign({value:"("},v))},g.string=function(v){return new r(Object.assign({quote:"'"},v))},g.value=function(v){return new s(v)},g.word=function(v){return new f(v)},g.unicodeRange=function(v){return new a(v)},n.exports=g}}),ze=P({"node_modules/postcss-selector-parser/dist/selectors/node.js"(e,n){"use strict";A(),e.__esModule=!0;var i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l};function u(l,p){if(!(l instanceof p))throw new TypeError("Cannot call a class as a function")}var o=function l(p,m){if((typeof p>"u"?"undefined":i(p))!=="object")return p;var c=new p.constructor;for(var t in p)if(p.hasOwnProperty(t)){var r=p[t],a=typeof r>"u"?"undefined":i(r);t==="parent"&&a==="object"?m&&(c[t]=m):r instanceof Array?c[t]=r.map(function(s){return l(s,c)}):c[t]=l(r,c)}return c},h=function(){function l(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};u(this,l);for(var m in p)this[m]=p[m];var c=p.spaces;c=c===void 0?{}:c;var t=c.before,r=t===void 0?"":t,a=c.after,s=a===void 0?"":a;this.spaces={before:r,after:s}}return l.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},l.prototype.replaceWith=function(){if(this.parent){for(var m in arguments)this.parent.insertBefore(this,arguments[m]);this.remove()}return this},l.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},l.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},l.prototype.clone=function(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=o(this);for(var t in m)c[t]=m[t];return c},l.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},l}();e.default=h,n.exports=e.default}}),se=P({"node_modules/postcss-selector-parser/dist/selectors/types.js"(e){"use strict";A(),e.__esModule=!0;var n=e.TAG="tag",i=e.STRING="string",u=e.SELECTOR="selector",o=e.ROOT="root",h=e.PSEUDO="pseudo",l=e.NESTING="nesting",p=e.ID="id",m=e.COMMENT="comment",c=e.COMBINATOR="combinator",t=e.CLASS="class",r=e.ATTRIBUTE="attribute",a=e.UNIVERSAL="universal"}}),Dt=P({"node_modules/postcss-selector-parser/dist/selectors/container.js"(e,n){"use strict";A(),e.__esModule=!0;var i=function(){function s(f,g){for(var v=0;v=v&&(this.indexes[w]=y-1);return this},f.prototype.removeAll=function(){for(var w=this.nodes,v=Array.isArray(w),y=0,w=v?w:w[Symbol.iterator]();;){var d;if(v){if(y>=w.length)break;d=w[y++]}else{if(y=w.next(),y.done)break;d=y.value}var _=d;_.parent=void 0}return this.nodes=[],this},f.prototype.empty=function(){return this.removeAll()},f.prototype.insertAfter=function(v,y){var w=this.index(v);this.nodes.splice(w+1,0,y);var d=void 0;for(var _ in this.indexes)d=this.indexes[_],w<=d&&(this.indexes[_]=d+this.nodes.length);return this},f.prototype.insertBefore=function(v,y){var w=this.index(v);this.nodes.splice(w,0,y);var d=void 0;for(var _ in this.indexes)d=this.indexes[_],w<=d&&(this.indexes[_]=d+this.nodes.length);return this},f.prototype.each=function(v){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var y=this.lastEach;if(this.indexes[y]=0,!!this.length){for(var w=void 0,d=void 0;this.indexes[y],\[\]\\]|\/(?=\*)/g;function H(D){for(var V=[],B=D.css.valueOf(),O=void 0,j=void 0,C=void 0,R=void 0,X=void 0,Z=void 0,Q=void 0,K=void 0,J=void 0,M=void 0,Y=void 0,G=B.length,E=-1,S=1,b=0,L=function(T,F){if(D.safe)B+=F,j=B.length-1;else throw D.error("Unclosed "+T,S,b-E,b)};b0?(K=S+X,J=j-R[X].length):(K=S,J=E),V.push(["comment",Z,S,b-E,K,j-J,b]),E=J,S=K,b=j):($.lastIndex=b+1,$.test(B),$.lastIndex===0?j=B.length-1:j=$.lastIndex-2,V.push(["word",B.slice(b,j+1),S,b-E,S,j-E,b]),b=j);break}b++}return V}n.exports=e.default}}),_f=P({"node_modules/postcss-selector-parser/dist/parser.js"(e,n){"use strict";A(),e.__esModule=!0;var i=function(){function E(S,b){for(var L=0;L1?(F[0]===""&&(F[0]=!0),z.attribute=this.parseValue(F[2]),z.namespace=this.parseNamespace(F[0])):z.attribute=this.parseValue(T[0]),L=new $.default(z),T[2]){var ee=T[2].split(/(\s+i\s*?)$/),te=ee[0].trim();L.value=this.lossy?te:ee[0],ee[1]&&(L.insensitive=!0,this.lossy||(L.raws.insensitive=ee[1])),L.quoted=te[0]==="'"||te[0]==='"',L.raws.unquoted=L.quoted?te.slice(1,-1):te}this.newNode(L),this.position++},E.prototype.combinator=function(){if(this.currToken[1]==="|")return this.namespace();for(var b=new B.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&b.nextToken&&b.nextToken[0]==="("&&b.error("Misplaced parenthesis.")})}else this.error('Unexpected "'+this.currToken[0]+'" found.')},E.prototype.space=function(){var b=this.currToken;this.position===0||this.prevToken[0]===","||this.prevToken[0]==="("?(this.spaces=this.parseSpace(b[1]),this.position++):this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.spaces.after=this.parseSpace(b[1]),this.position++):this.combinator()},E.prototype.string=function(){var b=this.currToken;this.newNode(new x.default({value:this.currToken[1],source:{start:{line:b[2],column:b[3]},end:{line:b[4],column:b[5]}},sourceIndex:b[6]})),this.position++},E.prototype.universal=function(b){var L=this.nextToken;if(L&&L[1]==="|")return this.position++,this.namespace();this.newNode(new D.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),b),this.position++},E.prototype.splitWord=function(b,L){for(var q=this,T=this.nextToken,F=this.currToken[1];T&&T[0]==="word";){this.position++;var z=this.currToken[1];if(F+=z,z.lastIndexOf("\\")===z.length-1){var ee=this.nextToken;ee&&ee[0]==="space"&&(F+=this.parseSpace(ee[1]," "),this.position++)}T=this.nextToken}var te=(0,l.default)(F,"."),ue=(0,l.default)(F,"#"),le=(0,l.default)(F,"#{");le.length&&(ue=ue.filter(function(ne){return!~le.indexOf(ne)}));var re=(0,R.default)((0,m.default)((0,o.default)([[0],te,ue])));re.forEach(function(ne,oe){var ie=re[oe+1]||F.length,ce=F.slice(ne,ie);if(oe===0&&L)return L.call(q,ce,re.length);var fe=void 0;~te.indexOf(ne)?fe=new f.default({value:ce.slice(1),source:{start:{line:q.currToken[2],column:q.currToken[3]+ne},end:{line:q.currToken[4],column:q.currToken[3]+(ie-1)}},sourceIndex:q.currToken[6]+re[oe]}):~ue.indexOf(ne)?fe=new w.default({value:ce.slice(1),source:{start:{line:q.currToken[2],column:q.currToken[3]+ne},end:{line:q.currToken[4],column:q.currToken[3]+(ie-1)}},sourceIndex:q.currToken[6]+re[oe]}):fe=new _.default({value:ce,source:{start:{line:q.currToken[2],column:q.currToken[3]+ne},end:{line:q.currToken[4],column:q.currToken[3]+(ie-1)}},sourceIndex:q.currToken[6]+re[oe]}),q.newNode(fe,b)}),this.position++},E.prototype.word=function(b){var L=this.nextToken;return L&&L[1]==="|"?(this.position++,this.namespace()):this.splitWord(b)},E.prototype.loop=function(){for(;this.position1&&arguments[1]!==void 0?arguments[1]:{},a=new o.default({css:t,error:function(f){throw new Error(f)},options:r});return this.res=a,this.func(a),this},i(m,[{key:"result",get:function(){return String(this.res)}}]),m}();e.default=p,n.exports=e.default}}),xf=P({"node_modules/postcss-selector-parser/dist/index.js"(e,n){"use strict";A(),e.__esModule=!0;var i=bf(),u=O(i),o=Go(),h=O(o),l=Bo(),p=O(l),m=Jo(),c=O(m),t=Fo(),r=O(t),a=Uo(),s=O(a),f=Ko(),g=O(f),v=Vo(),y=O(v),w=Lo(),d=O(w),_=zo(),k=O(_),x=Wo(),N=O(x),I=$o(),W=O(I),$=Ho(),H=O($),D=se(),V=B(D);function B(C){if(C&&C.__esModule)return C;var R={};if(C!=null)for(var X in C)Object.prototype.hasOwnProperty.call(C,X)&&(R[X]=C[X]);return R.default=C,R}function O(C){return C&&C.__esModule?C:{default:C}}var j=function(R){return new u.default(R)};j.attribute=function(C){return new h.default(C)},j.className=function(C){return new p.default(C)},j.combinator=function(C){return new c.default(C)},j.comment=function(C){return new r.default(C)},j.id=function(C){return new s.default(C)},j.nesting=function(C){return new g.default(C)},j.pseudo=function(C){return new y.default(C)},j.root=function(C){return new d.default(C)},j.selector=function(C){return new k.default(C)},j.string=function(C){return new N.default(C)},j.tag=function(C){return new W.default(C)},j.universal=function(C){return new H.default(C)},Object.keys(V).forEach(function(C){C!=="__esModule"&&(j[C]=V[C])}),e.default=j,n.exports=e.default}}),Qo=P({"node_modules/postcss-media-query-parser/dist/nodes/Node.js"(e){"use strict";A(),Object.defineProperty(e,"__esModule",{value:!0});function n(i){this.after=i.after,this.before=i.before,this.type=i.type,this.value=i.value,this.sourceIndex=i.sourceIndex}e.default=n}}),Yo=P({"node_modules/postcss-media-query-parser/dist/nodes/Container.js"(e){"use strict";A(),Object.defineProperty(e,"__esModule",{value:!0});var n=Qo(),i=u(n);function u(h){return h&&h.__esModule?h:{default:h}}function o(h){var l=this;this.constructor(h),this.nodes=h.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:""),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach(function(p){p.parent=l})}o.prototype=Object.create(i.default.prototype),o.constructor=i.default,o.prototype.walk=function(l,p){for(var m=typeof l=="string"||l instanceof RegExp,c=m?p:l,t=typeof l=="string"?new RegExp(l):l,r=0;r0&&(r[w-1].after=f.before),f.type===void 0){if(w>0){if(r[w-1].type==="media-feature-expression"){f.type="keyword";continue}if(r[w-1].value==="not"||r[w-1].value==="only"){f.type="media-type";continue}if(r[w-1].value==="and"){f.type="media-feature-expression";continue}r[w-1].type==="media-type"&&(r[w+1]?f.type=r[w+1].type==="media-feature-expression"?"keyword":"media-feature-expression":f.type="media-feature-expression")}if(w===0){if(!r[w+1]){f.type="media-type";continue}if(r[w+1]&&(r[w+1].type==="media-feature-expression"||r[w+1].type==="keyword")){f.type="media-type";continue}if(r[w+2]){if(r[w+2].type==="media-feature-expression"){f.type="media-type",r[w+1].type="keyword";continue}if(r[w+2].type==="keyword"){f.type="keyword",r[w+1].type="media-type";continue}}if(r[w+3]&&r[w+3].type==="media-feature-expression"){f.type="keyword",r[w+1].type="media-type",r[w+2].type="keyword";continue}}}return r}function m(c){var t=[],r=0,a=0,s=/^(\s*)url\s*\(/.exec(c);if(s!==null){for(var f=s[0].length,g=1;g>0;){var v=c[f];v==="("&&g++,v===")"&&g--,f++}t.unshift(new i.default({type:"url",value:c.substring(0,f).trim(),sourceIndex:s[1].length,before:s[1],after:/^(\s*)/.exec(c.substring(f))[1]})),r=f}for(var y=r;yna,default:()=>sa,delimiter:()=>kt,dirname:()=>ta,extname:()=>ia,isAbsolute:()=>zt,join:()=>ea,normalize:()=>Lt,relative:()=>ra,resolve:()=>yr,sep:()=>St});function Zo(e,n){for(var i=0,u=e.length-1;u>=0;u--){var o=e[u];o==="."?e.splice(u,1):o===".."?(e.splice(u,1),i++):i&&(e.splice(u,1),i--)}if(n)for(;i--;i)e.unshift("..");return e}function yr(){for(var e="",n=!1,i=arguments.length-1;i>=-1&&!n;i--){var u=i>=0?arguments[i]:"/";if(typeof u!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!u)continue;e=u+"/"+e,n=u.charAt(0)==="/"}return e=Zo(Bt(e.split("/"),function(o){return!!o}),!n).join("/"),(n?"/":"")+e||"."}function Lt(e){var n=zt(e),i=oa(e,-1)==="/";return e=Zo(Bt(e.split("/"),function(u){return!!u}),!n).join("/"),!e&&!n&&(e="."),e&&i&&(e+="/"),(n?"/":"")+e}function zt(e){return e.charAt(0)==="/"}function ea(){var e=Array.prototype.slice.call(arguments,0);return Lt(Bt(e,function(n,i){if(typeof n!="string")throw new TypeError("Arguments to path.join must be strings");return n}).join("/"))}function ra(e,n){e=yr(e).substr(1),n=yr(n).substr(1);function i(c){for(var t=0;t=0&&c[r]==="";r--);return t>r?[]:c.slice(t,r-t+1)}for(var u=i(e.split("/")),o=i(n.split("/")),h=Math.min(u.length,o.length),l=h,p=0;p"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function t(g){return Function.toString.call(g).indexOf("[native code]")!==-1}function r(g,v){return r=Object.setPrototypeOf||function(w,d){return w.__proto__=d,w},r(g,v)}function a(g){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(y){return y.__proto__||Object.getPrototypeOf(y)},a(g)}var s=function(g){l(v,g);function v(w,d,_,k,x,N){var I;return I=g.call(this,w)||this,I.name="CssSyntaxError",I.reason=w,x&&(I.file=x),k&&(I.source=k),N&&(I.plugin=N),typeof d<"u"&&typeof _<"u"&&(I.line=d,I.column=_),I.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(h(I),v),I}var y=v.prototype;return y.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},y.showSourceCode=function(d){var _=this;if(!this.source)return"";var k=this.source;u.default&&(typeof d>"u"&&(d=i.default.isColorSupported),d&&(k=(0,u.default)(k)));var x=k.split(/\r?\n/),N=Math.max(this.line-3,0),I=Math.min(this.line+2,x.length),W=String(I).length;function $(D){return d&&i.default.red?i.default.red(i.default.bold(D)):D}function H(D){return d&&i.default.gray?i.default.gray(D):D}return x.slice(N,I).map(function(D,V){var B=N+1+V,O=" "+(" "+B).slice(-W)+" | ";if(B===_.line){var j=H(O.replace(/\d/g," "))+D.slice(0,_.column-1).replace(/[^\t]/g," ");return $(">")+H(O)+D+` - `+j+$("^")}return" "+H(O)+D}).join(` -`)},y.toString=function(){var d=this.showSourceCode();return d&&(d=` - -`+d+` -`),this.name+": "+this.message+d},v}(p(Error)),f=s;e.default=f,n.exports=e.default}}),Af=P({"node_modules/postcss/lib/previous-map.js"(e,n){A(),n.exports=class{}}}),xr=P({"node_modules/postcss/lib/input.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=h(Tf()),u=h(aa()),o=h(Af());function h(r){return r&&r.__esModule?r:{default:r}}function l(r,a){for(var s=0;s"u"||typeof s=="object"&&!s.toString)throw new Error("PostCSS received "+s+" instead of CSS string");this.css=s.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,f.from&&(/^\w+:\/\//.test(f.from)||i.default.isAbsolute(f.from)?this.file=f.from:this.file=i.default.resolve(f.from));var g=new o.default(this.css,f);if(g.text){this.map=g;var v=g.consumer().file;!this.file&&v&&(this.file=this.mapResolve(v))}this.file||(m+=1,this.id=""),this.map&&(this.map.file=this.from)}var a=r.prototype;return a.error=function(f,g,v,y){y===void 0&&(y={});var w,d=this.origin(g,v);return d?w=new u.default(f,d.line,d.column,d.source,d.file,y.plugin):w=new u.default(f,g,v,this.css,this.file,y.plugin),w.input={line:g,column:v,source:this.css},this.file&&(w.input.file=this.file),w},a.origin=function(f,g){if(!this.map)return!1;var v=this.map.consumer(),y=v.originalPositionFor({line:f,column:g});if(!y.source)return!1;var w={file:this.mapResolve(y.source),line:y.line,column:y.column},d=v.sourceContentFor(y.source);return d&&(w.source=d),w},a.mapResolve=function(f){return/^\w+:\/\//.test(f)?f:i.default.resolve(this.map.consumer().sourceRoot||".",f)},p(r,[{key:"from",get:function(){return this.file||this.id}}]),r}(),t=c;e.default=t,n.exports=e.default}}),Sr=P({"node_modules/postcss/lib/stringifier.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i={colon:": ",indent:" ",beforeDecl:` -`,beforeRule:` -`,beforeOpen:" ",beforeClose:` -`,beforeComment:` -`,after:` -`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function u(l){return l[0].toUpperCase()+l.slice(1)}var o=function(){function l(m){this.builder=m}var p=l.prototype;return p.stringify=function(c,t){this[c.type](c,t)},p.root=function(c){this.body(c),c.raws.after&&this.builder(c.raws.after)},p.comment=function(c){var t=this.raw(c,"left","commentLeft"),r=this.raw(c,"right","commentRight");this.builder("/*"+t+c.text+r+"*/",c)},p.decl=function(c,t){var r=this.raw(c,"between","colon"),a=c.prop+r+this.rawValue(c,"value");c.important&&(a+=c.raws.important||" !important"),t&&(a+=";"),this.builder(a,c)},p.rule=function(c){this.block(c,this.rawValue(c,"selector")),c.raws.ownSemicolon&&this.builder(c.raws.ownSemicolon,c,"end")},p.atrule=function(c,t){var r="@"+c.name,a=c.params?this.rawValue(c,"params"):"";if(typeof c.raws.afterName<"u"?r+=c.raws.afterName:a&&(r+=" "),c.nodes)this.block(c,r+a);else{var s=(c.raws.between||"")+(t?";":"");this.builder(r+a+s,c)}},p.body=function(c){for(var t=c.nodes.length-1;t>0&&c.nodes[t].type==="comment";)t-=1;for(var r=this.raw(c,"semicolon"),a=0;a"u"&&(a=i[r]),f.rawCache[r]=a,a},p.rawSemicolon=function(c){var t;return c.walk(function(r){if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(t=r.raws.semicolon,typeof t<"u"))return!1}),t},p.rawEmptyBody=function(c){var t;return c.walk(function(r){if(r.nodes&&r.nodes.length===0&&(t=r.raws.after,typeof t<"u"))return!1}),t},p.rawIndent=function(c){if(c.raws.indent)return c.raws.indent;var t;return c.walk(function(r){var a=r.parent;if(a&&a!==c&&a.parent&&a.parent===c&&typeof r.raws.before<"u"){var s=r.raws.before.split(` -`);return t=s[s.length-1],t=t.replace(/[^\s]/g,""),!1}}),t},p.rawBeforeComment=function(c,t){var r;return c.walkComments(function(a){if(typeof a.raws.before<"u")return r=a.raws.before,r.indexOf(` -`)!==-1&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/[^\s]/g,"")),r},p.rawBeforeDecl=function(c,t){var r;return c.walkDecls(function(a){if(typeof a.raws.before<"u")return r=a.raws.before,r.indexOf(` -`)!==-1&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/[^\s]/g,"")),r},p.rawBeforeRule=function(c){var t;return c.walk(function(r){if(r.nodes&&(r.parent!==c||c.first!==r)&&typeof r.raws.before<"u")return t=r.raws.before,t.indexOf(` -`)!==-1&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/[^\s]/g,"")),t},p.rawBeforeClose=function(c){var t;return c.walk(function(r){if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return t=r.raws.after,t.indexOf(` -`)!==-1&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/[^\s]/g,"")),t},p.rawBeforeOpen=function(c){var t;return c.walk(function(r){if(r.type!=="decl"&&(t=r.raws.between,typeof t<"u"))return!1}),t},p.rawColon=function(c){var t;return c.walkDecls(function(r){if(typeof r.raws.between<"u")return t=r.raws.between.replace(/[^\s:]/g,""),!1}),t},p.beforeAfter=function(c,t){var r;c.type==="decl"?r=this.raw(c,null,"beforeDecl"):c.type==="comment"?r=this.raw(c,null,"beforeComment"):t==="before"?r=this.raw(c,null,"beforeRule"):r=this.raw(c,null,"beforeClose");for(var a=c.parent,s=0;a&&a.type!=="root";)s+=1,a=a.parent;if(r.indexOf(` -`)!==-1){var f=this.raw(c,null,"indent");if(f.length)for(var g=0;g=S}function ue(re){if(F.length)return F.pop();if(!(q>=S)){var ne=re?re.ignoreUnclosed:!1;switch(B=D.charCodeAt(q),(B===l||B===m||B===t&&D.charCodeAt(q+1)!==l)&&(b=q,L+=1),B){case l:case p:case c:case t:case m:O=q;do O+=1,B=D.charCodeAt(O),B===l&&(b=O,L+=1);while(B===p||B===l||B===c||B===t||B===m);E=["space",D.slice(q,O)],q=O-1;break;case r:case a:case g:case v:case d:case y:case f:var oe=String.fromCharCode(B);E=[oe,oe,L,q-b];break;case s:if(Y=T.length?T.pop()[1]:"",G=D.charCodeAt(q+1),Y==="url"&&G!==i&&G!==u&&G!==p&&G!==l&&G!==c&&G!==m&&G!==t){O=q;do{if(J=!1,O=D.indexOf(")",O+1),O===-1)if(V||ne){O=q;break}else ee("bracket");for(M=O;D.charCodeAt(M-1)===o;)M-=1,J=!J}while(J);E=["brackets",D.slice(q,O+1),L,q-b,L,O-b],q=O}else O=D.indexOf(")",q+1),X=D.slice(q,O+1),O===-1||N.test(X)?E=["(","(",L,q-b]:(E=["brackets",X,L,q-b,L,O-b],q=O);break;case i:case u:j=B===i?"'":'"',O=q;do{if(J=!1,O=D.indexOf(j,O+1),O===-1)if(V||ne){O=q+1;break}else ee("string");for(M=O;D.charCodeAt(M-1)===o;)M-=1,J=!J}while(J);X=D.slice(q,O+1),C=X.split(` -`),R=C.length-1,R>0?(Q=L+R,K=O-C[R].length):(Q=L,K=b),E=["string",D.slice(q,O+1),L,q-b,Q,O-K],b=K,L=Q,q=O;break;case _:k.lastIndex=q+1,k.test(D),k.lastIndex===0?O=D.length-1:O=k.lastIndex-2,E=["at-word",D.slice(q,O+1),L,q-b,L,O-b],q=O;break;case o:for(O=q,Z=!0;D.charCodeAt(O+1)===o;)O+=1,Z=!Z;if(B=D.charCodeAt(O+1),Z&&B!==h&&B!==p&&B!==l&&B!==c&&B!==t&&B!==m&&(O+=1,I.test(D.charAt(O)))){for(;I.test(D.charAt(O+1));)O+=1;D.charCodeAt(O+1)===p&&(O+=1)}E=["word",D.slice(q,O+1),L,q-b,L,O-b],q=O;break;default:B===h&&D.charCodeAt(q+1)===w?(O=D.indexOf("*/",q+2)+1,O===0&&(V||ne?O=D.length:ee("comment")),X=D.slice(q,O+1),C=X.split(` -`),R=C.length-1,R>0?(Q=L+R,K=O-C[R].length):(Q=L,K=b),E=["comment",X,L,q-b,Q,O-K],b=K,L=Q,q=O):(x.lastIndex=q+1,x.test(D),x.lastIndex===0?O=D.length-1:O=x.lastIndex-2,E=["word",D.slice(q,O+1),L,q-b,L,O-b],T.push(E),q=O);break}return q++,E}}function le(re){F.push(re)}return{back:le,nextToken:ue,endOfFile:te,position:z}}n.exports=e.default}}),la=P({"node_modules/postcss/lib/parse.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=o($t()),u=o(xr());function o(p){return p&&p.__esModule?p:{default:p}}function h(p,m){var c=new u.default(p,m),t=new i.default(c);try{t.parse()}catch(r){throw r}return t.root}var l=h;e.default=l,n.exports=e.default}}),Pf=P({"node_modules/postcss/lib/list.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i={split:function(h,l,p){for(var m=[],c="",t=!1,r=0,a=!1,s=!1,f=0;f0&&(r-=1):r===0&&l.indexOf(g)!==-1&&(t=!0),t?(c!==""&&m.push(c.trim()),c="",t=!1):c+=g}return(p||c!=="")&&m.push(c.trim()),m},space:function(h){var l=[" ",` -`," "];return i.split(h,l)},comma:function(h){return i.split(h,[","],!0)}},u=i;e.default=u,n.exports=e.default}}),fa=P({"node_modules/postcss/lib/rule.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=o(Or()),u=o(Pf());function o(t){return t&&t.__esModule?t:{default:t}}function h(t,r){for(var a=0;a"u"||g[Symbol.iterator]==null){if(Array.isArray(g)||(y=p(g))||v&&g&&typeof g.length=="number"){y&&(g=y);var w=0;return function(){return w>=g.length?{done:!0}:{done:!1,value:g[w++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return y=g[Symbol.iterator](),y.next.bind(y)}function p(g,v){if(g){if(typeof g=="string")return m(g,v);var y=Object.prototype.toString.call(g).slice(8,-1);if(y==="Object"&&g.constructor&&(y=g.constructor.name),y==="Map"||y==="Set")return Array.from(g);if(y==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(y))return m(g,v)}}function m(g,v){(v==null||v>g.length)&&(v=g.length);for(var y=0,w=new Array(v);y=d&&(this.indexes[k]=_-1);return this},y.removeAll=function(){for(var d=l(this.nodes),_;!(_=d()).done;){var k=_.value;k.parent=void 0}return this.nodes=[],this},y.replaceValues=function(d,_,k){return k||(k=_,_={}),this.walkDecls(function(x){_.props&&_.props.indexOf(x.prop)===-1||_.fast&&x.value.indexOf(_.fast)===-1||(x.value=x.value.replace(d,k))}),this},y.every=function(d){return this.nodes.every(d)},y.some=function(d){return this.nodes.some(d)},y.index=function(d){return typeof d=="number"?d:this.nodes.indexOf(d)},y.normalize=function(d,_){var k=this;if(typeof d=="string"){var x=la();d=a(x(d).nodes)}else if(Array.isArray(d)){d=d.slice(0);for(var N=l(d),I;!(I=N()).done;){var W=I.value;W.parent&&W.parent.removeChild(W,"ignore")}}else if(d.type==="root"){d=d.nodes.slice(0);for(var $=l(d),H;!(H=$()).done;){var D=H.value;D.parent&&D.parent.removeChild(D,"ignore")}}else if(d.type)d=[d];else if(d.prop){if(typeof d.value>"u")throw new Error("Value field is missed in node creation");typeof d.value!="string"&&(d.value=String(d.value)),d=[new i.default(d)]}else if(d.selector){var V=fa();d=[new V(d)]}else if(d.name){var B=pa();d=[new B(d)]}else if(d.text)d=[new u.default(d)];else throw new Error("Unknown node type in node creation");var O=d.map(function(j){return j.parent&&j.parent.removeChild(j),typeof j.raws.before>"u"&&_&&typeof _.raws.before<"u"&&(j.raws.before=_.raws.before.replace(/[^\s]/g,"")),j.parent=k,j});return O},t(v,[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}]),v}(o.default),f=s;e.default=f,n.exports=e.default}}),pa=P({"node_modules/postcss/lib/at-rule.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=u(Or());function u(p){return p&&p.__esModule?p:{default:p}}function o(p,m){p.prototype=Object.create(m.prototype),p.prototype.constructor=p,p.__proto__=m}var h=function(p){o(m,p);function m(t){var r;return r=p.call(this,t)||this,r.type="atrule",r}var c=m.prototype;return c.append=function(){var r;this.nodes||(this.nodes=[]);for(var a=arguments.length,s=new Array(a),f=0;f"u"||v[Symbol.iterator]==null){if(Array.isArray(v)||(w=c(v))||y&&v&&typeof v.length=="number"){w&&(v=w);var d=0;return function(){return d>=v.length?{done:!0}:{done:!1,value:v[d++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return w=v[Symbol.iterator](),w.next.bind(w)}function c(v,y){if(v){if(typeof v=="string")return t(v,y);var w=Object.prototype.toString.call(v).slice(8,-1);if(w==="Object"&&v.constructor&&(w=v.constructor.name),w==="Map"||w==="Set")return Array.from(v);if(w==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w))return t(v,y)}}function t(v,y){(y==null||y>v.length)&&(y=v.length);for(var w=0,d=new Array(y);w"u"&&(_.map={}),_.map.inline||(_.map.inline=!1),_.map.prev=d.map);else{var x=l.default;_.syntax&&(x=_.syntax.parse),_.parser&&(x=_.parser),x.parse&&(x=x.parse);try{k=x(d,_)}catch(N){this.error=N}}this.result=new h.default(w,k,_)}var y=v.prototype;return y.warnings=function(){return this.sync().warnings()},y.toString=function(){return this.css},y.then=function(d,_){return this.async().then(d,_)},y.catch=function(d){return this.async().catch(d)},y.finally=function(d){return this.async().then(d,d)},y.handleError=function(d,_){try{if(this.error=d,d.name==="CssSyntaxError"&&!d.plugin)d.plugin=_.postcssPlugin,d.setMessage();else if(_.postcssVersion&&!1)var k,x,N,I,W}catch($){console&&console.error&&console.error($)}},y.asyncTick=function(d,_){var k=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,d();try{var x=this.processor.plugins[this.plugin],N=this.run(x);this.plugin+=1,s(N)?N.then(function(){k.asyncTick(d,_)}).catch(function(I){k.handleError(I,x),k.processed=!0,_(I)}):this.asyncTick(d,_)}catch(I){this.processed=!0,_(I)}},y.async=function(){var d=this;return this.processed?new Promise(function(_,k){d.error?k(d.error):_(d.stringify())}):this.processing?this.processing:(this.processing=new Promise(function(_,k){if(d.error)return k(d.error);d.plugin=0,d.asyncTick(_,k)}).then(function(){return d.processed=!0,d.stringify()}),this.processing)},y.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var d=m(this.result.processor.plugins),_;!(_=d()).done;){var k=_.value,x=this.run(k);if(s(x))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},y.run=function(d){this.result.lastPlugin=d;try{return d(this.result.root,this.result)}catch(_){throw this.handleError(_,d),_}},y.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var d=this.result.opts,_=u.default;d.syntax&&(_=d.syntax.stringify),d.stringifier&&(_=d.stringifier),_.stringify&&(_=_.stringify);var k=new i.default(_,this.result.root,this.result.opts),x=k.generate();return this.result.css=x[0],this.result.map=x[1],this.result},a(v,[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}]),v}(),g=f;e.default=g,n.exports=e.default}}),jf=P({"node_modules/postcss/lib/processor.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=u(ha());function u(c){return c&&c.__esModule?c:{default:c}}function o(c,t){var r;if(typeof Symbol>"u"||c[Symbol.iterator]==null){if(Array.isArray(c)||(r=h(c))||t&&c&&typeof c.length=="number"){r&&(c=r);var a=0;return function(){return a>=c.length?{done:!0}:{done:!1,value:c[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return r=c[Symbol.iterator](),r.next.bind(r)}function h(c,t){if(c){if(typeof c=="string")return l(c,t);var r=Object.prototype.toString.call(c).slice(8,-1);if(r==="Object"&&c.constructor&&(r=c.constructor.name),r==="Map"||r==="Set")return Array.from(c);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(c,t)}}function l(c,t){(t==null||t>c.length)&&(t=c.length);for(var r=0,a=new Array(t);r"u"||t[Symbol.iterator]==null){if(Array.isArray(t)||(a=h(t))||r&&t&&typeof t.length=="number"){a&&(t=a);var s=0;return function(){return s>=t.length?{done:!0}:{done:!1,value:t[s++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return a=t[Symbol.iterator](),a.next.bind(a)}function h(t,r){if(t){if(typeof t=="string")return l(t,r);var a=Object.prototype.toString.call(t).slice(8,-1);if(a==="Object"&&t.constructor&&(a=t.constructor.name),a==="Map"||a==="Set")return Array.from(t);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return l(t,r)}}function l(t,r){(r==null||r>t.length)&&(r=t.length);for(var a=0,s=new Array(r);a1&&(this.nodes[1].raws.before=this.nodes[v].raws.before),t.prototype.removeChild.call(this,f)},a.normalize=function(f,g,v){var y=t.prototype.normalize.call(this,f);if(g){if(v==="prepend")this.nodes.length>1?g.raws.before=this.nodes[1].raws.before:delete g.raws.before;else if(this.first!==g)for(var w=o(y),d;!(d=w()).done;){var _=d.value;_.raws.before=g.raws.before}}return y},a.toResult=function(f){f===void 0&&(f={});var g=ha(),v=jf(),y=new g(new v,this,f);return y.stringify()},r}(i.default),c=m;e.default=c,n.exports=e.default}}),$t=P({"node_modules/postcss/lib/parser.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=m(ca()),u=m(Ut()),o=m(kr()),h=m(pa()),l=m(Mf()),p=m(fa());function m(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(a){this.input=a,this.root=new l.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:a,start:{line:1,column:1}}}var r=t.prototype;return r.createTokenizer=function(){this.tokenizer=(0,u.default)(this.input)},r.parse=function(){for(var s;!this.tokenizer.endOfFile();)switch(s=this.tokenizer.nextToken(),s[0]){case"space":this.spaces+=s[1];break;case";":this.freeSemicolon(s);break;case"}":this.end(s);break;case"comment":this.comment(s);break;case"at-word":this.atrule(s);break;case"{":this.emptyRule(s);break;default:this.other(s);break}this.endFile()},r.comment=function(s){var f=new o.default;this.init(f,s[2],s[3]),f.source.end={line:s[4],column:s[5]};var g=s[1].slice(2,-2);if(/^\s*$/.test(g))f.text="",f.raws.left=g,f.raws.right="";else{var v=g.match(/^(\s*)([^]*[^\s])(\s*)$/);f.text=v[2],f.raws.left=v[1],f.raws.right=v[3]}},r.emptyRule=function(s){var f=new p.default;this.init(f,s[2],s[3]),f.selector="",f.raws.between="",this.current=f},r.other=function(s){for(var f=!1,g=null,v=!1,y=null,w=[],d=[],_=s;_;){if(g=_[0],d.push(_),g==="("||g==="[")y||(y=_),w.push(g==="("?")":"]");else if(w.length===0)if(g===";")if(v){this.decl(d);return}else break;else if(g==="{"){this.rule(d);return}else if(g==="}"){this.tokenizer.back(d.pop()),f=!0;break}else g===":"&&(v=!0);else g===w[w.length-1]&&(w.pop(),w.length===0&&(y=null));_=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(f=!0),w.length>0&&this.unclosedBracket(y),f&&v){for(;d.length&&(_=d[d.length-1][0],!(_!=="space"&&_!=="comment"));)this.tokenizer.back(d.pop());this.decl(d)}else this.unknownWord(d)},r.rule=function(s){s.pop();var f=new p.default;this.init(f,s[0][2],s[0][3]),f.raws.between=this.spacesAndCommentsFromEnd(s),this.raw(f,"selector",s),this.current=f},r.decl=function(s){var f=new i.default;this.init(f);var g=s[s.length-1];for(g[0]===";"&&(this.semicolon=!0,s.pop()),g[4]?f.source.end={line:g[4],column:g[5]}:f.source.end={line:g[2],column:g[3]};s[0][0]!=="word";)s.length===1&&this.unknownWord(s),f.raws.before+=s.shift()[1];for(f.source.start={line:s[0][2],column:s[0][3]},f.prop="";s.length;){var v=s[0][0];if(v===":"||v==="space"||v==="comment")break;f.prop+=s.shift()[1]}f.raws.between="";for(var y;s.length;)if(y=s.shift(),y[0]===":"){f.raws.between+=y[1];break}else y[0]==="word"&&/\w/.test(y[1])&&this.unknownWord([y]),f.raws.between+=y[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1)),f.raws.between+=this.spacesAndCommentsFromStart(s),this.precheckMissedSemicolon(s);for(var w=s.length-1;w>0;w--){if(y=s[w],y[1].toLowerCase()==="!important"){f.important=!0;var d=this.stringFrom(s,w);d=this.spacesFromEnd(s)+d,d!==" !important"&&(f.raws.important=d);break}else if(y[1].toLowerCase()==="important"){for(var _=s.slice(0),k="",x=w;x>0;x--){var N=_[x][0];if(k.trim().indexOf("!")===0&&N!=="space")break;k=_.pop()[1]+k}k.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=k,s=_)}if(y[0]!=="space"&&y[0]!=="comment")break}this.raw(f,"value",s),f.value.indexOf(":")!==-1&&this.checkMissedSemicolon(s)},r.atrule=function(s){var f=new h.default;f.name=s[1].slice(1),f.name===""&&this.unnamedAtrule(f,s),this.init(f,s[2],s[3]);for(var g,v,y=!1,w=!1,d=[];!this.tokenizer.endOfFile();){if(s=this.tokenizer.nextToken(),s[0]===";"){f.source.end={line:s[2],column:s[3]},this.semicolon=!0;break}else if(s[0]==="{"){w=!0;break}else if(s[0]==="}"){if(d.length>0){for(v=d.length-1,g=d[v];g&&g[0]==="space";)g=d[--v];g&&(f.source.end={line:g[4],column:g[5]})}this.end(s);break}else d.push(s);if(this.tokenizer.endOfFile()){y=!0;break}}f.raws.between=this.spacesAndCommentsFromEnd(d),d.length?(f.raws.afterName=this.spacesAndCommentsFromStart(d),this.raw(f,"params",d),y&&(s=d[d.length-1],f.source.end={line:s[4],column:s[5]},this.spaces=f.raws.between,f.raws.between="")):(f.raws.afterName="",f.params=""),w&&(f.nodes=[],this.current=f)},r.end=function(s){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:s[2],column:s[3]},this.current=this.current.parent):this.unexpectedClose(s)},r.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},r.freeSemicolon=function(s){if(this.spaces+=s[1],this.current.nodes){var f=this.current.nodes[this.current.nodes.length-1];f&&f.type==="rule"&&!f.raws.ownSemicolon&&(f.raws.ownSemicolon=this.spaces,this.spaces="")}},r.init=function(s,f,g){this.current.push(s),s.source={start:{line:f,column:g},input:this.input},s.raws.before=this.spaces,this.spaces="",s.type!=="comment"&&(this.semicolon=!1)},r.raw=function(s,f,g){for(var v,y,w=g.length,d="",_=!0,k,x,N=/^([.|#])?([\w])+/i,I=0;I=0&&(v=s[y],!(v[0]!=="space"&&(g+=1,g===2)));y--);throw this.input.error("Missed semicolon",v[2],v[3])}},t}();e.default=c,n.exports=e.default}}),Df=P({"node_modules/postcss-less/lib/nodes/inline-comment.js"(e,n){A();var i=Ut(),u=xr();n.exports={isInlineComment(o){if(o[0]==="word"&&o[1].slice(0,2)==="//"){let h=o,l=[],p;for(;o;){if(/\r?\n/.test(o[1])){if(/['"].*\r?\n/.test(o[1])){l.push(o[1].substring(0,o[1].indexOf(` -`)));let c=o[1].substring(o[1].indexOf(` -`));c+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new u(c),this.tokenizer=i(this.input)}else this.tokenizer.back(o);break}l.push(o[1]),p=o,o=this.tokenizer.nextToken({ignoreUnclosed:!0})}let m=["comment",l.join(""),h[2],h[3],p[2],p[3]];return this.inlineComment(m),!0}else if(o[1]==="/"){let h=this.tokenizer.nextToken({ignoreUnclosed:!0});if(h[0]==="comment"&&/^\/\*/.test(h[1]))return h[0]="word",h[1]=h[1].slice(1),o[1]="//",this.tokenizer.back(h),n.exports.isInlineComment.bind(this)(o)}return!1}}}}),Lf=P({"node_modules/postcss-less/lib/nodes/interpolation.js"(e,n){A(),n.exports={interpolation(i){let u=i,o=[i],h=["word","{","}"];if(i=this.tokenizer.nextToken(),u[1].length>1||i[0]!=="{")return this.tokenizer.back(i),!1;for(;i&&h.includes(i[0]);)o.push(i),i=this.tokenizer.nextToken();let l=o.map(r=>r[1]);[u]=o;let p=o.pop(),m=[u[2],u[3]],c=[p[4]||p[2],p[5]||p[3]],t=["word",l.join("")].concat(m,c);return this.tokenizer.back(i),this.tokenizer.back(t),!0}}}}),zf=P({"node_modules/postcss-less/lib/nodes/mixin.js"(e,n){A();var i=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,u=/\.[0-9]/,o=h=>{let[,l]=h,[p]=l;return(p==="."||p==="#")&&i.test(l)===!1&&u.test(l)===!1};n.exports={isMixinToken:o}}}),Bf=P({"node_modules/postcss-less/lib/nodes/import.js"(e,n){A();var i=Ut(),u=/^url\((.+)\)/;n.exports=o=>{let{name:h,params:l=""}=o;if(h==="import"&&l.length){o.import=!0;let p=i({css:l});for(o.filename=l.replace(u,"$1");!p.endOfFile();){let[m,c]=p.nextToken();if(m==="word"&&c==="url")return;if(m==="brackets"){o.options=c,o.filename=l.replace(c,"").trim();break}}}}}}),Ff=P({"node_modules/postcss-less/lib/nodes/variable.js"(e,n){A();var i=/:$/,u=/^:(\s+)?/;n.exports=o=>{let{name:h,params:l=""}=o;if(o.name.slice(-1)===":"){if(i.test(h)){let[p]=h.match(i);o.name=h.replace(p,""),o.raws.afterName=p+(o.raws.afterName||""),o.variable=!0,o.value=o.params}if(u.test(l)){let[p]=l.match(u);o.value=l.replace(p,""),o.raws.afterName=(o.raws.afterName||"")+p,o.variable=!0}}}}}),Uf=P({"node_modules/postcss-less/lib/LessParser.js"(e,n){A();var i=kr(),u=$t(),{isInlineComment:o}=Df(),{interpolation:h}=Lf(),{isMixinToken:l}=zf(),p=Bf(),m=Ff(),c=/(!\s*important)$/i;n.exports=class extends u{constructor(){super(...arguments),this.lastNode=null}atrule(r){h.bind(this)(r)||(super.atrule(r),p(this.lastNode),m(this.lastNode))}decl(){super.decl(...arguments),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(r){r[0][1]=` ${r[0][1]}`;let a=r.findIndex(y=>y[0]==="("),s=r.reverse().find(y=>y[0]===")"),f=r.reverse().indexOf(s),v=r.splice(a,f).map(y=>y[1]).join("");for(let y of r.reverse())this.tokenizer.back(y);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=v}init(r,a,s){super.init(r,a,s),this.lastNode=r}inlineComment(r){let a=new i,s=r[1].slice(2);if(this.init(a,r[2],r[3]),a.source.end={line:r[4],column:r[5]},a.inline=!0,a.raws.begin="//",/^\s*$/.test(s))a.text="",a.raws.left=s,a.raws.right="";else{let f=s.match(/^(\s*)([^]*[^\s])(\s*)$/);[,a.raws.left,a.text,a.raws.right]=f}}mixin(r){let[a]=r,s=a[1].slice(0,1),f=r.findIndex(d=>d[0]==="brackets"),g=r.findIndex(d=>d[0]==="("),v="";if((f<0||f>3)&&g>0){let d=r.reduce((V,B,O)=>B[0]===")"?O:V),k=r.slice(g,d+g).map(V=>V[1]).join(""),[x]=r.slice(g),N=[x[2],x[3]],[I]=r.slice(d,d+1),W=[I[2],I[3]],$=["brackets",k].concat(N,W),H=r.slice(0,g),D=r.slice(d+1);r=H,r.push($),r=r.concat(D)}let y=[];for(let d of r)if((d[1]==="!"||y.length)&&y.push(d),d[1]==="important")break;if(y.length){let[d]=y,_=r.indexOf(d),k=y[y.length-1],x=[d[2],d[3]],N=[k[4],k[5]],W=["word",y.map($=>$[1]).join("")].concat(x,N);r.splice(_,y.length,W)}let w=r.findIndex(d=>c.test(d[1]));w>0&&([,v]=r[w],r.splice(w,1));for(let d of r.reverse())this.tokenizer.back(d);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=s,v&&(this.lastNode.important=!0,this.lastNode.raws.important=v)}other(r){o.bind(this)(r)||super.other(r)}rule(r){let a=r[r.length-1],s=r[r.length-2];if(s[0]==="at-word"&&a[0]==="{"&&(this.tokenizer.back(a),h.bind(this)(s))){let g=this.tokenizer.nextToken();r=r.slice(0,r.length-2).concat([g]);for(let v of r.reverse())this.tokenizer.back(v);return}super.rule(r),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(r){let[a]=r;if(r[0][1]==="each"&&r[1][0]==="("){this.each(r);return}if(l(a)){this.mixin(r);return}super.unknownWord(r)}}}}),$f=P({"node_modules/postcss-less/lib/LessStringifier.js"(e,n){A();var i=Sr();n.exports=class extends i{atrule(o,h){if(!o.mixin&&!o.variable&&!o.function){super.atrule(o,h);return}let p=`${o.function?"":o.raws.identifier||"@"}${o.name}`,m=o.params?this.rawValue(o,"params"):"",c=o.raws.important||"";if(o.variable&&(m=o.value),typeof o.raws.afterName<"u"?p+=o.raws.afterName:m&&(p+=" "),o.nodes)this.block(o,p+m+c);else{let t=(o.raws.between||"")+c+(h?";":"");this.builder(p+m+t,o)}}comment(o){if(o.inline){let h=this.raw(o,"left","commentLeft"),l=this.raw(o,"right","commentRight");this.builder(`//${h}${o.text}${l}`,o)}else super.comment(o)}}}}),Wf=P({"node_modules/postcss-less/lib/index.js"(e,n){A();var i=xr(),u=Uf(),o=$f();n.exports={parse(h,l){let p=new i(h,l),m=new u(p);return m.parse(),m.root},stringify(h,l){new o(l).stringify(h)},nodeToString(h){let l="";return n.exports.stringify(h,p=>{l+=p}),l}}}}),Vf=P({"node_modules/postcss-scss/lib/scss-stringifier.js"(e,n){"use strict";A();function i(h,l){h.prototype=Object.create(l.prototype),h.prototype.constructor=h,h.__proto__=l}var u=Sr(),o=function(h){i(l,h);function l(){return h.apply(this,arguments)||this}var p=l.prototype;return p.comment=function(c){var t=this.raw(c,"left","commentLeft"),r=this.raw(c,"right","commentRight");if(c.raws.inline){var a=c.raws.text||c.text;this.builder("//"+t+a+r,c)}else this.builder("/*"+t+c.text+r+"*/",c)},p.decl=function(c,t){if(!c.isNested)h.prototype.decl.call(this,c,t);else{var r=this.raw(c,"between","colon"),a=c.prop+r+this.rawValue(c,"value");c.important&&(a+=c.raws.important||" !important"),this.builder(a+"{",c,"start");var s;c.nodes&&c.nodes.length?(this.body(c),s=this.raw(c,"after")):s=this.raw(c,"after","emptyBody"),s&&this.builder(s),this.builder("}",c,"end")}},p.rawValue=function(c,t){var r=c[t],a=c.raws[t];return a&&a.value===r?a.scss?a.scss:a.raw:r},l}(u);n.exports=o}}),Gf=P({"node_modules/postcss-scss/lib/scss-stringify.js"(e,n){"use strict";A();var i=Vf();n.exports=function(o,h){var l=new i(h);l.stringify(o)}}}),Hf=P({"node_modules/postcss-scss/lib/nested-declaration.js"(e,n){"use strict";A();function i(h,l){h.prototype=Object.create(l.prototype),h.prototype.constructor=h,h.__proto__=l}var u=Or(),o=function(h){i(l,h);function l(p){var m;return m=h.call(this,p)||this,m.type="decl",m.isNested=!0,m.nodes||(m.nodes=[]),m}return l}(u);n.exports=o}}),Jf=P({"node_modules/postcss-scss/lib/scss-tokenize.js"(e,n){"use strict";A();var i="'".charCodeAt(0),u='"'.charCodeAt(0),o="\\".charCodeAt(0),h="/".charCodeAt(0),l=` -`.charCodeAt(0),p=" ".charCodeAt(0),m="\f".charCodeAt(0),c=" ".charCodeAt(0),t="\r".charCodeAt(0),r="[".charCodeAt(0),a="]".charCodeAt(0),s="(".charCodeAt(0),f=")".charCodeAt(0),g="{".charCodeAt(0),v="}".charCodeAt(0),y=";".charCodeAt(0),w="*".charCodeAt(0),d=":".charCodeAt(0),_="@".charCodeAt(0),k=",".charCodeAt(0),x="#".charCodeAt(0),N=/[ \n\t\r\f{}()'"\\;/[\]#]/g,I=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,W=/.[\\/("'\n]/,$=/[a-f0-9]/i,H=/[\r\f\n]/g;n.exports=function(V,B){B===void 0&&(B={});var O=V.css.valueOf(),j=B.ignoreErrors,C,R,X,Z,Q,K,J,M,Y,G,E,S,b,L,q=O.length,T=-1,F=1,z=0,ee=[],te=[];function ue(ie){throw V.error("Unclosed "+ie,F,z-T)}function le(){return te.length===0&&z>=q}function re(){for(var ie=1,ce=!1,fe=!1;ie>0;)R+=1,O.length<=R&&ue("interpolation"),C=O.charCodeAt(R),S=O.charCodeAt(R+1),ce?!fe&&C===ce?(ce=!1,fe=!1):C===o?fe=!G:fe&&(fe=!1):C===i||C===u?ce=C:C===v?ie-=1:C===x&&S===g&&(ie+=1)}function ne(){if(te.length)return te.pop();if(!(z>=q)){switch(C=O.charCodeAt(z),(C===l||C===m||C===t&&O.charCodeAt(z+1)!==l)&&(T=z,F+=1),C){case l:case p:case c:case t:case m:R=z;do R+=1,C=O.charCodeAt(R),C===l&&(T=R,F+=1);while(C===p||C===l||C===c||C===t||C===m);b=["space",O.slice(z,R)],z=R-1;break;case r:b=["[","[",F,z-T];break;case a:b=["]","]",F,z-T];break;case g:b=["{","{",F,z-T];break;case v:b=["}","}",F,z-T];break;case k:b=["word",",",F,z-T,F,z-T+1];break;case d:b=[":",":",F,z-T];break;case y:b=[";",";",F,z-T];break;case s:if(E=ee.length?ee.pop()[1]:"",S=O.charCodeAt(z+1),E==="url"&&S!==i&&S!==u){for(L=1,G=!1,R=z+1;R<=O.length-1;){if(S=O.charCodeAt(R),S===o)G=!G;else if(S===s)L+=1;else if(S===f&&(L-=1,L===0))break;R+=1}K=O.slice(z,R+1),Z=K.split(` -`),Q=Z.length-1,Q>0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["brackets",K,F,z-T,M,R-Y],T=Y,F=M,z=R}else R=O.indexOf(")",z+1),K=O.slice(z,R+1),R===-1||W.test(K)?b=["(","(",F,z-T]:(b=["brackets",K,F,z-T,F,R-T],z=R);break;case f:b=[")",")",F,z-T];break;case i:case u:for(X=C,R=z,G=!1;R0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["string",O.slice(z,R+1),F,z-T,M,R-Y],T=Y,F=M,z=R;break;case _:N.lastIndex=z+1,N.test(O),N.lastIndex===0?R=O.length-1:R=N.lastIndex-2,b=["at-word",O.slice(z,R+1),F,z-T,F,R-T],z=R;break;case o:for(R=z,J=!0;O.charCodeAt(R+1)===o;)R+=1,J=!J;if(C=O.charCodeAt(R+1),J&&C!==h&&C!==p&&C!==l&&C!==c&&C!==t&&C!==m&&(R+=1,$.test(O.charAt(R)))){for(;$.test(O.charAt(R+1));)R+=1;O.charCodeAt(R+1)===p&&(R+=1)}b=["word",O.slice(z,R+1),F,z-T,F,R-T],z=R;break;default:S=O.charCodeAt(z+1),C===x&&S===g?(R=z,re(),K=O.slice(z,R+1),Z=K.split(` -`),Q=Z.length-1,Q>0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["word",K,F,z-T,M,R-Y],T=Y,F=M,z=R):C===h&&S===w?(R=O.indexOf("*/",z+2)+1,R===0&&(j?R=O.length:ue("comment")),K=O.slice(z,R+1),Z=K.split(` -`),Q=Z.length-1,Q>0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["comment",K,F,z-T,M,R-Y],T=Y,F=M,z=R):C===h&&S===h?(H.lastIndex=z+1,H.test(O),H.lastIndex===0?R=O.length-1:R=H.lastIndex-2,K=O.slice(z,R+1),b=["comment",K,F,z-T,F,R-T,"inline"],z=R):(I.lastIndex=z+1,I.test(O),I.lastIndex===0?R=O.length-1:R=I.lastIndex-2,b=["word",O.slice(z,R+1),F,z-T,F,R-T],ee.push(b),z=R);break}return z++,b}}function oe(ie){te.push(ie)}return{back:oe,nextToken:ne,endOfFile:le}}}}),Kf=P({"node_modules/postcss-scss/lib/scss-parser.js"(e,n){"use strict";A();function i(m,c){m.prototype=Object.create(c.prototype),m.prototype.constructor=m,m.__proto__=c}var u=kr(),o=$t(),h=Hf(),l=Jf(),p=function(m){i(c,m);function c(){return m.apply(this,arguments)||this}var t=c.prototype;return t.createTokenizer=function(){this.tokenizer=l(this.input)},t.rule=function(a){for(var s=!1,f=0,g="",w=a,v=Array.isArray(w),y=0,w=v?w:w[Symbol.iterator]();;){var d;if(v){if(y>=w.length)break;d=w[y++]}else{if(y=w.next(),y.done)break;d=y.value}var _=d;if(s)_[0]!=="comment"&&_[0]!=="{"&&(g+=_[1]);else{if(_[0]==="space"&&_[1].indexOf(` -`)!==-1)break;_[0]==="("?f+=1:_[0]===")"?f-=1:f===0&&_[0]===":"&&(s=!0)}}if(!s||g.trim()===""||/^[a-zA-Z-:#]/.test(g))m.prototype.rule.call(this,a);else{a.pop();var k=new h;this.init(k);var x=a[a.length-1];for(x[4]?k.source.end={line:x[4],column:x[5]}:k.source.end={line:x[2],column:x[3]};a[0][0]!=="word";)k.raws.before+=a.shift()[1];for(k.source.start={line:a[0][2],column:a[0][3]},k.prop="";a.length;){var N=a[0][0];if(N===":"||N==="space"||N==="comment")break;k.prop+=a.shift()[1]}k.raws.between="";for(var I;a.length;)if(I=a.shift(),I[0]===":"){k.raws.between+=I[1];break}else k.raws.between+=I[1];(k.prop[0]==="_"||k.prop[0]==="*")&&(k.raws.before+=k.prop[0],k.prop=k.prop.slice(1)),k.raws.between+=this.spacesAndCommentsFromStart(a),this.precheckMissedSemicolon(a);for(var W=a.length-1;W>0;W--){if(I=a[W],I[1]==="!important"){k.important=!0;var $=this.stringFrom(a,W);$=this.spacesFromEnd(a)+$,$!==" !important"&&(k.raws.important=$);break}else if(I[1]==="important"){for(var H=a.slice(0),D="",V=W;V>0;V--){var B=H[V][0];if(D.trim().indexOf("!")===0&&B!=="space")break;D=H.pop()[1]+D}D.trim().indexOf("!")===0&&(k.important=!0,k.raws.important=D,a=H)}if(I[0]!=="space"&&I[0]!=="comment")break}this.raw(k,"value",a),k.value.indexOf(":")!==-1&&this.checkMissedSemicolon(a),this.current=k}},t.comment=function(a){if(a[6]==="inline"){var s=new u;this.init(s,a[2],a[3]),s.raws.inline=!0,s.source.end={line:a[4],column:a[5]};var f=a[1].slice(2);if(/^\s*$/.test(f))s.text="",s.raws.left=f,s.raws.right="";else{var g=f.match(/^(\s*)([^]*[^\s])(\s*)$/),v=g[2].replace(/(\*\/|\/\*)/g,"*//*");s.text=v,s.raws.left=g[1],s.raws.right=g[3],s.raws.text=g[2]}}else m.prototype.comment.call(this,a)},t.raw=function(a,s,f){if(m.prototype.raw.call(this,a,s,f),a.raws[s]){var g=a.raws[s].raw;a.raws[s].raw=f.reduce(function(v,y){if(y[0]==="comment"&&y[6]==="inline"){var w=y[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*");return v+"/*"+w+"*/"}else return v+y[1]},""),g!==a.raws[s].raw&&(a.raws[s].scss=g)}},c}(o);n.exports=p}}),Qf=P({"node_modules/postcss-scss/lib/scss-parse.js"(e,n){"use strict";A();var i=xr(),u=Kf();n.exports=function(h,l){var p=new i(h,l),m=new u(p);return m.parse(),m.root}}}),Yf=P({"node_modules/postcss-scss/lib/scss-syntax.js"(e,n){"use strict";A();var i=Gf(),u=Qf();n.exports={parse:u,stringify:i}}});A();var Xf=Sl(),mt=Us(),Zf=$s(),{hasPragma:ep}=Cl(),{locStart:rp,locEnd:tp}=no(),{calculateLoc:np,replaceQuotesInInlineComments:ip}=no(),sp=Dl(),op=Ll(),gt=zl(),da=Bl(),ap=Fl(),up=Ul(),cp=$l(),lp=Wl(),fp=e=>{for(;e.parent;)e=e.parent;return e};function pp(e,n){let{nodes:i}=e,u={open:null,close:null,groups:[],type:"paren_group"},o=[u],h=u,l={groups:[],type:"comma_group"},p=[l];for(let m=0;m0&&u.groups.push(l),u.close=c,p.length===1)throw new Error("Unbalanced parenthesis");p.pop(),l=mt(p),l.groups.push(u),o.pop(),u=mt(o)}else c.type==="comma"?(u.groups.push(l),l={groups:[],type:"comma_group"},p[p.length-1]=l):l.groups.push(c)}return l.groups.length>0&&u.groups.push(l),h}function vr(e){return e.type==="paren_group"&&!e.open&&!e.close&&e.groups.length===1||e.type==="comma_group"&&e.groups.length===1?vr(e.groups[0]):e.type==="paren_group"||e.type==="comma_group"?Object.assign(Object.assign({},e),{},{groups:e.groups.map(vr)}):e}function Xe(e,n,i){if(e&&typeof e=="object"){delete e.parent;for(let u in e)Xe(e[u],n,i),u==="type"&&typeof e[u]=="string"&&!e[u].startsWith(n)&&(!i||!i.test(e[u]))&&(e[u]=n+e[u])}return e}function va(e){if(e&&typeof e=="object"){delete e.parent;for(let n in e)va(e[n]);!Array.isArray(e)&&e.value&&!e.type&&(e.type="unknown")}return e}function ma(e,n){if(e&&typeof e=="object"){for(let i in e)i!=="parent"&&(ma(e[i],n),i==="nodes"&&(e.group=vr(pp(e,n)),delete e[i]));delete e.parent}return e}function Pe(e,n){let i=gf(),u=null;try{u=i(e,{loose:!0}).parse()}catch{return{type:"value-unknown",value:e}}u.text=e;let o=ma(u,n);return Xe(o,"value-",/^selector-/)}function Re(e){if(/\/\/|\/\*/.test(e))return{type:"selector-unknown",value:e.trim()};let n=xf(),i=null;try{n(u=>{i=u}).process(e)}catch{return{type:"selector-unknown",value:e}}return Xe(i,"selector-")}function hp(e){let n=kf().default,i=null;try{i=n(e)}catch{return{type:"selector-unknown",value:e}}return Xe(va(i),"media-")}var dp=/(\s*)(!default).*$/,vp=/(\s*)(!global).*$/;function ga(e,n){if(e&&typeof e=="object"){delete e.parent;for(let m in e)ga(e[m],n);if(!e.type)return e;e.raws||(e.raws={});let h="";if(typeof e.selector=="string"){var i;h=e.raws.selector?(i=e.raws.selector.scss)!==null&&i!==void 0?i:e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(h+=e.raws.between),e.raws.selector=h}let l="";if(typeof e.value=="string"){var u;l=e.raws.value?(u=e.raws.value.scss)!==null&&u!==void 0?u:e.raws.value.raw:e.value,l=l.trim(),e.raws.value=l}let p="";if(typeof e.params=="string"){var o;p=e.raws.params?(o=e.raws.params.scss)!==null&&o!==void 0?o:e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(p=e.raws.afterName+p),e.raws.between&&e.raws.between.trim().length>0&&(p=p+e.raws.between),p=p.trim(),e.raws.params=p}if(h.trim().length>0)return h.startsWith("@")&&h.endsWith(":")?e:e.mixin?(e.selector=Pe(h,n),e):(ap(e)&&(e.isSCSSNesterProperty=!0),e.selector=Re(h),e);if(l.length>0){let m=l.match(dp);m&&(l=l.slice(0,m.index),e.scssDefault=!0,m[0].trim()!=="!default"&&(e.raws.scssDefault=m[0]));let c=l.match(vp);if(c&&(l=l.slice(0,c.index),e.scssGlobal=!0,c[0].trim()!=="!global"&&(e.raws.scssGlobal=c[0])),l.startsWith("progid:"))return{type:"value-unknown",value:l};e.value=Pe(l,n)}if(gt(n)&&e.type==="css-decl"&&l.startsWith("extend(")&&(e.extend||(e.extend=e.raws.between===":"),e.extend&&!e.selector&&(delete e.value,e.selector=Re(l.slice(7,-1)))),e.type==="css-atrule"){if(gt(n)){if(e.mixin){let m=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=Re(m),delete e.params,e}if(e.function)return e}if(n.parser==="css"&&e.name==="custom-selector"){let m=e.params.match(/:--\S+\s+/)[0].trim();return e.customSelector=m,e.selector=Re(e.params.slice(m.length).trim()),delete e.params,e}if(gt(n)){if(e.name.includes(":")&&!e.params){e.variable=!0;let m=e.name.split(":");e.name=m[0],e.value=Pe(m.slice(1).join(":"),n)}if(!["page","nest","keyframes"].includes(e.name)&&e.params&&e.params[0]===":"){e.variable=!0;let m=e.params.slice(1);m&&(e.value=Pe(m,n)),e.raws.afterName+=":"}if(e.variable)return delete e.params,e.value||delete e.value,e}}if(e.type==="css-atrule"&&p.length>0){let{name:m}=e,c=e.name.toLowerCase();return m==="warn"||m==="error"?(e.params={type:"media-unknown",value:p},e):m==="extend"||m==="nest"?(e.selector=Re(p),delete e.params,e):m==="at-root"?(/^\(\s*(?:without|with)\s*:.+\)$/s.test(p)?e.params=Pe(p,n):(e.selector=Re(p),delete e.params),e):lp(c)?(e.import=!0,delete e.filename,e.params=Pe(p,n),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(m)?(p=p.replace(/(\$\S+?)(\s+)?\.{3}/,"$1...$2"),p=p.replace(/^(?!if)(\S+)(\s+)\(/,"$1($2"),e.value=Pe(p,n),delete e.params,e):["media","custom-media"].includes(c)?p.includes("#{")?{type:"media-unknown",value:p}:(e.params=hp(p),e):(e.params=p,e)}}return e}function ya(e,n,i){let u=Zf(n),{frontMatter:o}=u;n=u.content;let h;try{h=e(n)}catch(l){let{name:p,reason:m,line:c,column:t}=l;throw typeof c!="number"?l:Xf(`${p}: ${m}`,{start:{line:c,column:t}})}return h=ga(Xe(h,"css-"),i),np(h,n),o&&(o.source={startOffset:0,endOffset:o.raw.length},h.nodes.unshift(o)),h}function mp(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=da(i.parser,e)?[Tt,Ot]:[Ot,Tt],h;for(let l of o)try{return l(e,n,i)}catch(p){h=h||p}if(h)throw h}function Ot(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u=Wf();return ya(o=>u.parse(ip(o)),e,i)}function Tt(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:u}=Yf();return ya(u,e,i)}var yt={astFormat:"postcss",hasPragma:ep,locStart:rp,locEnd:tp};wa.exports={parsers:{css:Object.assign(Object.assign({},yt),{},{parse:mp}),less:Object.assign(Object.assign({},yt),{},{parse:Ot}),scss:Object.assign(Object.assign({},yt),{},{parse:Tt})}}});return gp();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-typescript.js b/node_modules/ts-poet/node_modules/prettier/parser-typescript.js deleted file mode 100644 index 1f207b1ab6..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-typescript.js +++ /dev/null @@ -1,49 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.typescript=e()}})(function(){"use strict";var dt=(a,_)=>()=>(_||a((_={exports:{}}).exports,_),_.exports);var Mi=dt((dH,J7)=>{var Yh=function(a){return a&&a.Math==Math&&a};J7.exports=Yh(typeof globalThis=="object"&&globalThis)||Yh(typeof window=="object"&&window)||Yh(typeof self=="object"&&self)||Yh(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Ha=dt((mH,F7)=>{F7.exports=function(a){try{return!!a()}catch{return!0}}});var As=dt((hH,B7)=>{var tq=Ha();B7.exports=!tq(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var p6=dt((gH,q7)=>{var rq=Ha();q7.exports=!rq(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var Zh=dt((yH,U7)=>{var nq=p6(),Qh=Function.prototype.call;U7.exports=nq?Qh.bind(Qh):function(){return Qh.apply(Qh,arguments)}});var H7=dt(V7=>{"use strict";var z7={}.propertyIsEnumerable,W7=Object.getOwnPropertyDescriptor,iq=W7&&!z7.call({1:2},1);V7.f=iq?function(_){var v=W7(this,_);return!!v&&v.enumerable}:z7});var f6=dt((bH,G7)=>{G7.exports=function(a,_){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:_}}});var Ps=dt((TH,X7)=>{var $7=p6(),K7=Function.prototype,d6=K7.call,aq=$7&&K7.bind.bind(d6,d6);X7.exports=$7?aq:function(a){return function(){return d6.apply(a,arguments)}}});var Z7=dt((SH,Q7)=>{var Y7=Ps(),sq=Y7({}.toString),oq=Y7("".slice);Q7.exports=function(a){return oq(sq(a),8,-1)}});var tw=dt((xH,ew)=>{var _q=Ps(),cq=Ha(),lq=Z7(),m6=Object,uq=_q("".split);ew.exports=cq(function(){return!m6("z").propertyIsEnumerable(0)})?function(a){return lq(a)=="String"?uq(a,""):m6(a)}:m6});var h6=dt((EH,rw)=>{rw.exports=function(a){return a==null}});var g6=dt((wH,nw)=>{var pq=h6(),fq=TypeError;nw.exports=function(a){if(pq(a))throw fq("Can't call method on "+a);return a}});var e1=dt((CH,iw)=>{var dq=tw(),mq=g6();iw.exports=function(a){return dq(mq(a))}});var v6=dt((AH,aw)=>{var y6=typeof document=="object"&&document.all,hq=typeof y6>"u"&&y6!==void 0;aw.exports={all:y6,IS_HTMLDDA:hq}});var aa=dt((PH,ow)=>{var sw=v6(),gq=sw.all;ow.exports=sw.IS_HTMLDDA?function(a){return typeof a=="function"||a===gq}:function(a){return typeof a=="function"}});var Jc=dt((DH,lw)=>{var _w=aa(),cw=v6(),yq=cw.all;lw.exports=cw.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:_w(a)||a===yq}:function(a){return typeof a=="object"?a!==null:_w(a)}});var t1=dt((kH,uw)=>{var b6=Mi(),vq=aa(),bq=function(a){return vq(a)?a:void 0};uw.exports=function(a,_){return arguments.length<2?bq(b6[a]):b6[a]&&b6[a][_]}});var fw=dt((IH,pw)=>{var Tq=Ps();pw.exports=Tq({}.isPrototypeOf)});var mw=dt((NH,dw)=>{var Sq=t1();dw.exports=Sq("navigator","userAgent")||""});var Sw=dt((OH,Tw)=>{var bw=Mi(),T6=mw(),hw=bw.process,gw=bw.Deno,yw=hw&&hw.versions||gw&&gw.version,vw=yw&&yw.v8,sa,r1;vw&&(sa=vw.split("."),r1=sa[0]>0&&sa[0]<4?1:+(sa[0]+sa[1]));!r1&&T6&&(sa=T6.match(/Edge\/(\d+)/),(!sa||sa[1]>=74)&&(sa=T6.match(/Chrome\/(\d+)/),sa&&(r1=+sa[1])));Tw.exports=r1});var S6=dt((MH,Ew)=>{var xw=Sw(),xq=Ha();Ew.exports=!!Object.getOwnPropertySymbols&&!xq(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&xw&&xw<41})});var x6=dt((LH,ww)=>{var Eq=S6();ww.exports=Eq&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var E6=dt((RH,Cw)=>{var wq=t1(),Cq=aa(),Aq=fw(),Pq=x6(),Dq=Object;Cw.exports=Pq?function(a){return typeof a=="symbol"}:function(a){var _=wq("Symbol");return Cq(_)&&Aq(_.prototype,Dq(a))}});var Pw=dt((jH,Aw)=>{var kq=String;Aw.exports=function(a){try{return kq(a)}catch{return"Object"}}});var kw=dt((JH,Dw)=>{var Iq=aa(),Nq=Pw(),Oq=TypeError;Dw.exports=function(a){if(Iq(a))return a;throw Oq(Nq(a)+" is not a function")}});var Nw=dt((FH,Iw)=>{var Mq=kw(),Lq=h6();Iw.exports=function(a,_){var v=a[_];return Lq(v)?void 0:Mq(v)}});var Mw=dt((BH,Ow)=>{var w6=Zh(),C6=aa(),A6=Jc(),Rq=TypeError;Ow.exports=function(a,_){var v,h;if(_==="string"&&C6(v=a.toString)&&!A6(h=w6(v,a))||C6(v=a.valueOf)&&!A6(h=w6(v,a))||_!=="string"&&C6(v=a.toString)&&!A6(h=w6(v,a)))return h;throw Rq("Can't convert object to primitive value")}});var Rw=dt((qH,Lw)=>{Lw.exports=!1});var n1=dt((UH,Jw)=>{var jw=Mi(),jq=Object.defineProperty;Jw.exports=function(a,_){try{jq(jw,a,{value:_,configurable:!0,writable:!0})}catch{jw[a]=_}return _}});var i1=dt((zH,Bw)=>{var Jq=Mi(),Fq=n1(),Fw="__core-js_shared__",Bq=Jq[Fw]||Fq(Fw,{});Bw.exports=Bq});var P6=dt((WH,Uw)=>{var qq=Rw(),qw=i1();(Uw.exports=function(a,_){return qw[a]||(qw[a]=_!==void 0?_:{})})("versions",[]).push({version:"3.26.1",mode:qq?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ww=dt((VH,zw)=>{var Uq=g6(),zq=Object;zw.exports=function(a){return zq(Uq(a))}});var oo=dt((HH,Vw)=>{var Wq=Ps(),Vq=Ww(),Hq=Wq({}.hasOwnProperty);Vw.exports=Object.hasOwn||function(_,v){return Hq(Vq(_),v)}});var D6=dt((GH,Hw)=>{var Gq=Ps(),$q=0,Kq=Math.random(),Xq=Gq(1 .toString);Hw.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Xq(++$q+Kq,36)}});var Qw=dt(($H,Yw)=>{var Yq=Mi(),Qq=P6(),Gw=oo(),Zq=D6(),$w=S6(),Xw=x6(),Fc=Qq("wks"),p_=Yq.Symbol,Kw=p_&&p_.for,eU=Xw?p_:p_&&p_.withoutSetter||Zq;Yw.exports=function(a){if(!Gw(Fc,a)||!($w||typeof Fc[a]=="string")){var _="Symbol."+a;$w&&Gw(p_,a)?Fc[a]=p_[a]:Xw&&Kw?Fc[a]=Kw(_):Fc[a]=eU(_)}return Fc[a]}});var rC=dt((KH,tC)=>{var tU=Zh(),Zw=Jc(),eC=E6(),rU=Nw(),nU=Mw(),iU=Qw(),aU=TypeError,sU=iU("toPrimitive");tC.exports=function(a,_){if(!Zw(a)||eC(a))return a;var v=rU(a,sU),h;if(v){if(_===void 0&&(_="default"),h=tU(v,a,_),!Zw(h)||eC(h))return h;throw aU("Can't convert object to primitive value")}return _===void 0&&(_="number"),nU(a,_)}});var k6=dt((XH,nC)=>{var oU=rC(),_U=E6();nC.exports=function(a){var _=oU(a,"string");return _U(_)?_:_+""}});var sC=dt((YH,aC)=>{var cU=Mi(),iC=Jc(),I6=cU.document,lU=iC(I6)&&iC(I6.createElement);aC.exports=function(a){return lU?I6.createElement(a):{}}});var N6=dt((QH,oC)=>{var uU=As(),pU=Ha(),fU=sC();oC.exports=!uU&&!pU(function(){return Object.defineProperty(fU("div"),"a",{get:function(){return 7}}).a!=7})});var O6=dt(cC=>{var dU=As(),mU=Zh(),hU=H7(),gU=f6(),yU=e1(),vU=k6(),bU=oo(),TU=N6(),_C=Object.getOwnPropertyDescriptor;cC.f=dU?_C:function(_,v){if(_=yU(_),v=vU(v),TU)try{return _C(_,v)}catch{}if(bU(_,v))return gU(!mU(hU.f,_,v),_[v])}});var uC=dt((eG,lC)=>{var SU=As(),xU=Ha();lC.exports=SU&&xU(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var a1=dt((tG,pC)=>{var EU=Jc(),wU=String,CU=TypeError;pC.exports=function(a){if(EU(a))return a;throw CU(wU(a)+" is not an object")}});var dp=dt(dC=>{var AU=As(),PU=N6(),DU=uC(),s1=a1(),fC=k6(),kU=TypeError,M6=Object.defineProperty,IU=Object.getOwnPropertyDescriptor,L6="enumerable",R6="configurable",j6="writable";dC.f=AU?DU?function(_,v,h){if(s1(_),v=fC(v),s1(h),typeof _=="function"&&v==="prototype"&&"value"in h&&j6 in h&&!h[j6]){var D=IU(_,v);D&&D[j6]&&(_[v]=h.value,h={configurable:R6 in h?h[R6]:D[R6],enumerable:L6 in h?h[L6]:D[L6],writable:!1})}return M6(_,v,h)}:M6:function(_,v,h){if(s1(_),v=fC(v),s1(h),PU)try{return M6(_,v,h)}catch{}if("get"in h||"set"in h)throw kU("Accessors not supported");return"value"in h&&(_[v]=h.value),_}});var J6=dt((nG,mC)=>{var NU=As(),OU=dp(),MU=f6();mC.exports=NU?function(a,_,v){return OU.f(a,_,MU(1,v))}:function(a,_,v){return a[_]=v,a}});var yC=dt((iG,gC)=>{var F6=As(),LU=oo(),hC=Function.prototype,RU=F6&&Object.getOwnPropertyDescriptor,B6=LU(hC,"name"),jU=B6&&function(){}.name==="something",JU=B6&&(!F6||F6&&RU(hC,"name").configurable);gC.exports={EXISTS:B6,PROPER:jU,CONFIGURABLE:JU}});var bC=dt((aG,vC)=>{var FU=Ps(),BU=aa(),q6=i1(),qU=FU(Function.toString);BU(q6.inspectSource)||(q6.inspectSource=function(a){return qU(a)});vC.exports=q6.inspectSource});var xC=dt((sG,SC)=>{var UU=Mi(),zU=aa(),TC=UU.WeakMap;SC.exports=zU(TC)&&/native code/.test(String(TC))});var CC=dt((oG,wC)=>{var WU=P6(),VU=D6(),EC=WU("keys");wC.exports=function(a){return EC[a]||(EC[a]=VU(a))}});var U6=dt((_G,AC)=>{AC.exports={}});var IC=dt((cG,kC)=>{var HU=xC(),DC=Mi(),GU=Jc(),$U=J6(),z6=oo(),W6=i1(),KU=CC(),XU=U6(),PC="Object already initialized",V6=DC.TypeError,YU=DC.WeakMap,o1,mp,_1,QU=function(a){return _1(a)?mp(a):o1(a,{})},ZU=function(a){return function(_){var v;if(!GU(_)||(v=mp(_)).type!==a)throw V6("Incompatible receiver, "+a+" required");return v}};HU||W6.state?(oa=W6.state||(W6.state=new YU),oa.get=oa.get,oa.has=oa.has,oa.set=oa.set,o1=function(a,_){if(oa.has(a))throw V6(PC);return _.facade=a,oa.set(a,_),_},mp=function(a){return oa.get(a)||{}},_1=function(a){return oa.has(a)}):(f_=KU("state"),XU[f_]=!0,o1=function(a,_){if(z6(a,f_))throw V6(PC);return _.facade=a,$U(a,f_,_),_},mp=function(a){return z6(a,f_)?a[f_]:{}},_1=function(a){return z6(a,f_)});var oa,f_;kC.exports={set:o1,get:mp,has:_1,enforce:QU,getterFor:ZU}});var G6=dt((lG,OC)=>{var ez=Ha(),tz=aa(),c1=oo(),H6=As(),rz=yC().CONFIGURABLE,nz=bC(),NC=IC(),iz=NC.enforce,az=NC.get,l1=Object.defineProperty,sz=H6&&!ez(function(){return l1(function(){},"length",{value:8}).length!==8}),oz=String(String).split("String"),_z=OC.exports=function(a,_,v){String(_).slice(0,7)==="Symbol("&&(_="["+String(_).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),v&&v.getter&&(_="get "+_),v&&v.setter&&(_="set "+_),(!c1(a,"name")||rz&&a.name!==_)&&(H6?l1(a,"name",{value:_,configurable:!0}):a.name=_),sz&&v&&c1(v,"arity")&&a.length!==v.arity&&l1(a,"length",{value:v.arity});try{v&&c1(v,"constructor")&&v.constructor?H6&&l1(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var h=iz(a);return c1(h,"source")||(h.source=oz.join(typeof _=="string"?_:"")),a};Function.prototype.toString=_z(function(){return tz(this)&&az(this).source||nz(this)},"toString")});var LC=dt((uG,MC)=>{var cz=aa(),lz=dp(),uz=G6(),pz=n1();MC.exports=function(a,_,v,h){h||(h={});var D=h.enumerable,P=h.name!==void 0?h.name:_;if(cz(v)&&uz(v,P,h),h.global)D?a[_]=v:pz(_,v);else{try{h.unsafe?a[_]&&(D=!0):delete a[_]}catch{}D?a[_]=v:lz.f(a,_,{value:v,enumerable:!1,configurable:!h.nonConfigurable,writable:!h.nonWritable})}return a}});var jC=dt((pG,RC)=>{var fz=Math.ceil,dz=Math.floor;RC.exports=Math.trunc||function(_){var v=+_;return(v>0?dz:fz)(v)}});var $6=dt((fG,JC)=>{var mz=jC();JC.exports=function(a){var _=+a;return _!==_||_===0?0:mz(_)}});var BC=dt((dG,FC)=>{var hz=$6(),gz=Math.max,yz=Math.min;FC.exports=function(a,_){var v=hz(a);return v<0?gz(v+_,0):yz(v,_)}});var UC=dt((mG,qC)=>{var vz=$6(),bz=Math.min;qC.exports=function(a){return a>0?bz(vz(a),9007199254740991):0}});var WC=dt((hG,zC)=>{var Tz=UC();zC.exports=function(a){return Tz(a.length)}});var GC=dt((gG,HC)=>{var Sz=e1(),xz=BC(),Ez=WC(),VC=function(a){return function(_,v,h){var D=Sz(_),P=Ez(D),y=xz(h,P),m;if(a&&v!=v){for(;P>y;)if(m=D[y++],m!=m)return!0}else for(;P>y;y++)if((a||y in D)&&D[y]===v)return a||y||0;return!a&&-1}};HC.exports={includes:VC(!0),indexOf:VC(!1)}});var XC=dt((yG,KC)=>{var wz=Ps(),K6=oo(),Cz=e1(),Az=GC().indexOf,Pz=U6(),$C=wz([].push);KC.exports=function(a,_){var v=Cz(a),h=0,D=[],P;for(P in v)!K6(Pz,P)&&K6(v,P)&&$C(D,P);for(;_.length>h;)K6(v,P=_[h++])&&(~Az(D,P)||$C(D,P));return D}});var QC=dt((vG,YC)=>{YC.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var e9=dt(ZC=>{var Dz=XC(),kz=QC(),Iz=kz.concat("length","prototype");ZC.f=Object.getOwnPropertyNames||function(_){return Dz(_,Iz)}});var r9=dt(t9=>{t9.f=Object.getOwnPropertySymbols});var i9=dt((SG,n9)=>{var Nz=t1(),Oz=Ps(),Mz=e9(),Lz=r9(),Rz=a1(),jz=Oz([].concat);n9.exports=Nz("Reflect","ownKeys")||function(_){var v=Mz.f(Rz(_)),h=Lz.f;return h?jz(v,h(_)):v}});var o9=dt((xG,s9)=>{var a9=oo(),Jz=i9(),Fz=O6(),Bz=dp();s9.exports=function(a,_,v){for(var h=Jz(_),D=Bz.f,P=Fz.f,y=0;y{var qz=Ha(),Uz=aa(),zz=/#|\.prototype\./,hp=function(a,_){var v=Vz[Wz(a)];return v==Gz?!0:v==Hz?!1:Uz(_)?qz(_):!!_},Wz=hp.normalize=function(a){return String(a).replace(zz,".").toLowerCase()},Vz=hp.data={},Hz=hp.NATIVE="N",Gz=hp.POLYFILL="P";_9.exports=hp});var u9=dt((wG,l9)=>{var X6=Mi(),$z=O6().f,Kz=J6(),Xz=LC(),Yz=n1(),Qz=o9(),Zz=c9();l9.exports=function(a,_){var v=a.target,h=a.global,D=a.stat,P,y,m,C,d,E;if(h?y=X6:D?y=X6[v]||Yz(v,{}):y=(X6[v]||{}).prototype,y)for(m in _){if(d=_[m],a.dontCallGetSet?(E=$z(y,m),C=E&&E.value):C=y[m],P=Zz(h?m:v+(D?".":"#")+m,a.forced),!P&&C!==void 0){if(typeof d==typeof C)continue;Qz(d,C)}(a.sham||C&&C.sham)&&Kz(d,"sham",!0),Xz(y,m,d,a)}}});var p9=dt(()=>{var eW=u9(),Y6=Mi();eW({global:!0,forced:Y6.globalThis!==Y6},{globalThis:Y6})});var f9=dt(()=>{p9()});var h9=dt((kG,m9)=>{var d9=G6(),tW=dp();m9.exports=function(a,_,v){return v.get&&d9(v.get,_,{getter:!0}),v.set&&d9(v.set,_,{setter:!0}),tW.f(a,_,v)}});var y9=dt((IG,g9)=>{"use strict";var rW=a1();g9.exports=function(){var a=rW(this),_="";return a.hasIndices&&(_+="d"),a.global&&(_+="g"),a.ignoreCase&&(_+="i"),a.multiline&&(_+="m"),a.dotAll&&(_+="s"),a.unicode&&(_+="u"),a.unicodeSets&&(_+="v"),a.sticky&&(_+="y"),_}});var T9=dt(()=>{var nW=Mi(),iW=As(),aW=h9(),sW=y9(),oW=Ha(),v9=nW.RegExp,b9=v9.prototype,_W=iW&&oW(function(){var a=!0;try{v9(".","d")}catch{a=!1}var _={},v="",h=a?"dgimsy":"gimsy",D=function(C,d){Object.defineProperty(_,C,{get:function(){return v+=d,!0}})},P={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(P.hasIndices="d");for(var y in P)D(y,P[y]);var m=Object.getOwnPropertyDescriptor(b9,"flags").get.call(_);return m!==h||v!==h});_W&&aW(b9,"flags",{configurable:!0,get:sW})});var uH=dt((MG,v5)=>{f9();T9();var iT=Object.defineProperty,cW=Object.getOwnPropertyDescriptor,aT=Object.getOwnPropertyNames,lW=Object.prototype.hasOwnProperty,yp=(a,_)=>function(){return a&&(_=(0,a[aT(a)[0]])(a=0)),_},Oe=(a,_)=>function(){return _||(0,a[aT(a)[0]])((_={exports:{}}).exports,_),_.exports},m1=(a,_)=>{for(var v in _)iT(a,v,{get:_[v],enumerable:!0})},uW=(a,_,v,h)=>{if(_&&typeof _=="object"||typeof _=="function")for(let D of aT(_))!lW.call(a,D)&&D!==v&&iT(a,D,{get:()=>_[D],enumerable:!(h=cW(_,D))||h.enumerable});return a},Li=a=>uW(iT({},"__esModule",{value:!0}),a),cn,De=yp({""(){cn={env:{},argv:[]}}}),w9=Oe({"src/common/parser-create-error.js"(a,_){"use strict";De();function v(h,D){let P=new SyntaxError(h+" ("+D.start.line+":"+D.start.column+")");return P.loc=D,P}_.exports=v}}),pW=Oe({"src/utils/try-combinations.js"(a,_){"use strict";De();function v(){let h;for(var D=arguments.length,P=new Array(D),y=0;yeT,arch:()=>fW,cpus:()=>O9,default:()=>J9,endianness:()=>A9,freemem:()=>I9,getNetworkInterfaces:()=>j9,hostname:()=>P9,loadavg:()=>D9,networkInterfaces:()=>R9,platform:()=>dW,release:()=>L9,tmpDir:()=>Q6,tmpdir:()=>Z6,totalmem:()=>N9,type:()=>M9,uptime:()=>k9});function A9(){if(typeof u1>"u"){var a=new ArrayBuffer(2),_=new Uint8Array(a),v=new Uint16Array(a);if(_[0]=1,_[1]=2,v[0]===258)u1="BE";else if(v[0]===513)u1="LE";else throw new Error("unable to figure out endianess")}return u1}function P9(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function D9(){return[]}function k9(){return 0}function I9(){return Number.MAX_VALUE}function N9(){return Number.MAX_VALUE}function O9(){return[]}function M9(){return"Browser"}function L9(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function R9(){}function j9(){}function fW(){return"javascript"}function dW(){return"browser"}function Q6(){return"/tmp"}var u1,Z6,eT,J9,mW=yp({"node-modules-polyfills:os"(){De(),Z6=Q6,eT=` -`,J9={EOL:eT,tmpdir:Z6,tmpDir:Q6,networkInterfaces:R9,getNetworkInterfaces:j9,release:L9,type:M9,cpus:O9,totalmem:N9,freemem:I9,uptime:k9,loadavg:D9,hostname:P9,endianness:A9}}}),hW=Oe({"node-modules-polyfills-commonjs:os"(a,_){De();var v=(mW(),Li(C9));if(v&&v.default){_.exports=v.default;for(let h in v)_.exports[h]=v[h]}else v&&(_.exports=v)}}),gW=Oe({"node_modules/detect-newline/index.js"(a,_){"use strict";De();var v=h=>{if(typeof h!="string")throw new TypeError("Expected a string");let D=h.match(/(?:\r?\n)/g)||[];if(D.length===0)return;let P=D.filter(m=>m===`\r -`).length,y=D.length-P;return P>y?`\r -`:` -`};_.exports=v,_.exports.graceful=h=>typeof h=="string"&&v(h)||` -`}}),yW=Oe({"node_modules/jest-docblock/build/index.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=M,a.parse=W,a.parseWithComments=K,a.print=ce,a.strip=q;function _(){let me=hW();return _=function(){return me},me}function v(){let me=h(gW());return v=function(){return me},me}function h(me){return me&&me.__esModule?me:{default:me}}var D=/\*\/$/,P=/^\/\*\*?/,y=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,m=/(^|\s+)\/\/([^\r\n]*)/g,C=/^(\r?\n)+/,d=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,E=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,I=/(\r?\n|^) *\* ?/g,c=[];function M(me){let Ae=me.match(y);return Ae?Ae[0].trimLeft():""}function q(me){let Ae=me.match(y);return Ae&&Ae[0]?me.substring(Ae[0].length):me}function W(me){return K(me).pragmas}function K(me){let Ae=(0,v().default)(me)||_().EOL;me=me.replace(P,"").replace(D,"").replace(I,"$1");let te="";for(;te!==me;)te=me,me=me.replace(d,`${Ae}$1 $2${Ae}`);me=me.replace(C,"").trimRight();let he=Object.create(null),Pe=me.replace(E,"").replace(C,"").trimRight(),R;for(;R=E.exec(me);){let pe=R[2].replace(m,"");typeof he[R[1]]=="string"||Array.isArray(he[R[1]])?he[R[1]]=c.concat(he[R[1]],pe):he[R[1]]=pe}return{comments:Pe,pragmas:he}}function ce(me){let{comments:Ae="",pragmas:te={}}=me,he=(0,v().default)(Ae)||_().EOL,Pe="/**",R=" *",pe=" */",ke=Object.keys(te),Je=ke.map(ee=>Ie(ee,te[ee])).reduce((ee,je)=>ee.concat(je),[]).map(ee=>`${R} ${ee}${he}`).join("");if(!Ae){if(ke.length===0)return"";if(ke.length===1&&!Array.isArray(te[ke[0]])){let ee=te[ke[0]];return`${Pe} ${Ie(ke[0],ee)[0]}${pe}`}}let Xe=Ae.split(he).map(ee=>`${R} ${ee}`).join(he)+he;return Pe+he+(Ae?Xe:"")+(Ae&&ke.length?R+he:"")+Je+pe}function Ie(me,Ae){return c.concat(Ae).map(te=>`@${me} ${te}`.trim())}}}),vW=Oe({"src/common/end-of-line.js"(a,_){"use strict";De();function v(y){let m=y.indexOf("\r");return m>=0?y.charAt(m+1)===` -`?"crlf":"cr":"lf"}function h(y){switch(y){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function D(y,m){let C;switch(m){case` -`:C=/\n/g;break;case"\r":C=/\r/g;break;case`\r -`:C=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(m)}.`)}let d=y.match(C);return d?d.length:0}function P(y){return y.replace(/\r\n?/g,` -`)}_.exports={guessEndOfLine:v,convertEndOfLineToChars:h,countEndOfLineChars:D,normalizeEndOfLine:P}}}),bW=Oe({"src/language-js/utils/get-shebang.js"(a,_){"use strict";De();function v(h){if(!h.startsWith("#!"))return"";let D=h.indexOf(` -`);return D===-1?h:h.slice(0,D)}_.exports=v}}),TW=Oe({"src/language-js/pragma.js"(a,_){"use strict";De();var{parseWithComments:v,strip:h,extract:D,print:P}=yW(),{normalizeEndOfLine:y}=vW(),m=bW();function C(I){let c=m(I);c&&(I=I.slice(c.length+1));let M=D(I),{pragmas:q,comments:W}=v(M);return{shebang:c,text:I,pragmas:q,comments:W}}function d(I){let c=Object.keys(C(I).pragmas);return c.includes("prettier")||c.includes("format")}function E(I){let{shebang:c,text:M,pragmas:q,comments:W}=C(I),K=h(M),ce=P({pragmas:Object.assign({format:""},q),comments:W.trimStart()});return(c?`${c} -`:"")+y(ce)+(K.startsWith(` -`)?` -`:` - -`)+K}_.exports={hasPragma:d,insertPragma:E}}}),F9=Oe({"src/utils/is-non-empty-array.js"(a,_){"use strict";De();function v(h){return Array.isArray(h)&&h.length>0}_.exports=v}}),B9=Oe({"src/language-js/loc.js"(a,_){"use strict";De();var v=F9();function h(C){var d,E;let I=C.range?C.range[0]:C.start,c=(d=(E=C.declaration)===null||E===void 0?void 0:E.decorators)!==null&&d!==void 0?d:C.decorators;return v(c)?Math.min(h(c[0]),I):I}function D(C){return C.range?C.range[1]:C.end}function P(C,d){let E=h(C);return Number.isInteger(E)&&E===h(d)}function y(C,d){let E=D(C);return Number.isInteger(E)&&E===D(d)}function m(C,d){return P(C,d)&&y(C,d)}_.exports={locStart:h,locEnd:D,hasSameLocStart:P,hasSameLoc:m}}}),SW=Oe({"src/language-js/parse/utils/create-parser.js"(a,_){"use strict";De();var{hasPragma:v}=TW(),{locStart:h,locEnd:D}=B9();function P(y){return y=typeof y=="function"?{parse:y}:y,Object.assign({astFormat:"estree",hasPragma:v,locStart:h,locEnd:D},y)}_.exports=P}}),xW=Oe({"src/language-js/parse/utils/replace-hashbang.js"(a,_){"use strict";De();function v(h){return h.charAt(0)==="#"&&h.charAt(1)==="!"?"//"+h.slice(2):h}_.exports=v}}),EW=Oe({"src/language-js/utils/is-ts-keyword-type.js"(a,_){"use strict";De();function v(h){let{type:D}=h;return D.startsWith("TS")&&D.endsWith("Keyword")}_.exports=v}}),wW=Oe({"src/language-js/utils/is-block-comment.js"(a,_){"use strict";De();var v=new Set(["Block","CommentBlock","MultiLine"]),h=D=>v.has(D==null?void 0:D.type);_.exports=h}}),CW=Oe({"src/language-js/utils/is-type-cast-comment.js"(a,_){"use strict";De();var v=wW();function h(D){return v(D)&&D.value[0]==="*"&&/@(?:type|satisfies)\b/.test(D.value)}_.exports=h}}),AW=Oe({"src/utils/get-last.js"(a,_){"use strict";De();var v=h=>h[h.length-1];_.exports=v}}),q9=Oe({"src/language-js/parse/postprocess/visit-node.js"(a,_){"use strict";De();function v(h,D){if(Array.isArray(h)){for(let P=0;P{ce.leadingComments&&ce.leadingComments.some(P)&&K.add(v(ce))}),M=m(M,ce=>{if(ce.type==="ParenthesizedExpression"){let{expression:Ie}=ce;if(Ie.type==="TypeCastExpression")return Ie.range=ce.range,Ie;let me=v(ce);if(!K.has(me))return Ie.extra=Object.assign(Object.assign({},Ie.extra),{},{parenthesized:!0}),Ie}})}return M=m(M,K=>{switch(K.type){case"ChainExpression":return E(K.expression);case"LogicalExpression":{if(I(K))return c(K);break}case"VariableDeclaration":{let ce=y(K.declarations);ce&&ce.init&&W(K,ce);break}case"TSParenthesizedType":return D(K.typeAnnotation)||K.typeAnnotation.type==="TSThisType"||(K.typeAnnotation.range=[v(K),h(K)]),K.typeAnnotation;case"TSTypeParameter":if(typeof K.name=="string"){let ce=v(K);K.name={type:"Identifier",name:K.name,range:[ce,ce+K.name.length]}}break;case"ObjectExpression":if(q.parser==="typescript"){let ce=K.properties.find(Ie=>Ie.type==="Property"&&Ie.value.type==="TSEmptyBodyFunctionExpression");ce&&C(ce.value,"Unexpected token.")}break;case"SequenceExpression":{let ce=y(K.expressions);K.range=[v(K),Math.min(h(ce),h(K))];break}case"TopicReference":q.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:ce}=K;if(q.parser==="meriyah"&&ce&&ce.type==="Identifier"){let Ie=q.originalText.slice(v(ce),h(ce));(Ie.startsWith('"')||Ie.startsWith("'"))&&(K.exported=Object.assign(Object.assign({},K.exported),{},{type:"Literal",value:K.exported.name,raw:Ie}))}break}case"PropertyDefinition":if(q.parser==="meriyah"&&K.static&&!K.computed&&!K.key){let ce="static",Ie=v(K);Object.assign(K,{static:!1,key:{type:"Identifier",name:ce,range:[Ie,Ie+ce.length]}})}break}}),M;function W(K,ce){q.originalText[h(ce)]!==";"&&(K.range=[v(K),h(ce)])}}function E(M){switch(M.type){case"CallExpression":M.type="OptionalCallExpression",M.callee=E(M.callee);break;case"MemberExpression":M.type="OptionalMemberExpression",M.object=E(M.object);break;case"TSNonNullExpression":M.expression=E(M.expression);break}return M}function I(M){return M.type==="LogicalExpression"&&M.right.type==="LogicalExpression"&&M.operator===M.right.operator}function c(M){return I(M)?c({type:"LogicalExpression",operator:M.operator,left:c({type:"LogicalExpression",operator:M.operator,left:M.left,right:M.right.left,range:[v(M.left),h(M.right.left)]}),right:M.right.right,range:[v(M),h(M)]}):M}_.exports=d}}),vr=Oe({"node_modules/typescript/lib/typescript.js"(a,_){De();var v=Object.defineProperty,h=Object.getOwnPropertyNames,D=(e,t)=>function(){return e&&(t=(0,e[h(e)[0]])(e=0)),t},P=(e,t)=>function(){return t||(0,e[h(e)[0]])((t={exports:{}}).exports,t),t.exports},y=(e,t)=>{for(var r in t)v(e,r,{get:t[r],enumerable:!0})},m,C,d,E=D({"src/compiler/corePublic.ts"(){"use strict";m="5.0",C="5.0.2",d=(e=>(e[e.LessThan=-1]="LessThan",e[e.EqualTo=0]="EqualTo",e[e.GreaterThan=1]="GreaterThan",e))(d||{})}});function I(e){return e?e.length:0}function c(e,t){if(e)for(let r=0;r=0;r--){let s=t(e[r],r);if(s)return s}}function q(e,t){if(e!==void 0)for(let r=0;r=0;s--){let f=e[s];if(t(f,s))return f}}function he(e,t,r){if(e===void 0)return-1;for(let s=r!=null?r:0;s=0;s--)if(t(e[s],s))return s;return-1}function R(e,t){for(let r=0;r2&&arguments[2]!==void 0?arguments[2]:fa;if(e){for(let s of e)if(r(s,t))return!0}return!1}function ke(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;return e.length===t.length&&e.every((s,f)=>r(s,t[f]))}function Je(e,t,r){for(let s=r||0;s{let x=t(f,s);if(x!==void 0){let[w,A]=x;w!==void 0&&A!==void 0&&r.set(w,A)}}),r}function la(e,t,r){if(e.has(t))return e.get(t);let s=r();return e.set(t,s),s}function ua(e,t){return e.has(t)?!1:(e.add(t),!0)}function*Ka(e){yield e}function co(e,t,r){let s;if(e){s=[];let f=e.length,x,w,A=0,g=0;for(;A{let[x,w]=t(f,s);r.set(x,w)}),r}function Ke(e,t){if(e)if(t){for(let r of e)if(t(r))return!0}else return e.length>0;return!1}function Et(e,t,r){let s;for(let f=0;fe[w])}function Uc(e,t){let r=[];for(let s of e)qn(r,s,t);return r}function ji(e,t,r){return e.length===0?[]:e.length===1?e.slice():r?m_(e,t,r):Uc(e,t)}function lo(e,t){if(e.length===0)return Bt;let r=e[0],s=[r];for(let f=1;f0&&(f&=-2),f&2&&s(x,g)>0&&(f&=-3),x=g}return f}function Hc(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;if(!e||!t)return e===t;if(e.length!==t.length)return!1;for(let s=0;s0&&Y.assertGreaterThanOrEqual(r(t[x],t[x-1]),0);t:for(let w=f;fw&&Y.assertGreaterThanOrEqual(r(e[f],e[f-1]),0),r(t[x],e[f])){case-1:s.push(t[x]);continue e;case 0:continue e;case 1:continue t}}return s}function tr(e,t){return t===void 0?e:e===void 0?[t]:(e.push(t),e)}function $c(e,t){return e===void 0?t:t===void 0?e:ir(e)?ir(t)?Ft(e,t):tr(e,t):ir(t)?tr(t,e):[e,t]}function po(e,t){return t<0?e.length+t:t}function jr(e,t,r,s){if(t===void 0||t.length===0)return e;if(e===void 0)return t.slice(r,s);r=r===void 0?0:po(t,r),s=s===void 0?t.length:po(t,s);for(let f=r;fr(e[s],e[f])||Vr(s,f))}function Is(e,t){return e.length===0?e:e.slice().sort(t)}function*y_(e){for(let t=e.length-1;t>=0;t--)yield e[t]}function Ns(e,t){let r=Wr(e);return ks(e,r,t),r.map(s=>e[s])}function Kc(e,t,r,s){for(;r>1),g=r(e[A],A);switch(s(g,t)){case-1:x=A+1;break;case 0:return A;case 1:w=A-1;break}}return~x}function Qa(e,t,r,s,f){if(e&&e.length>0){let x=e.length;if(x>0){let w=s===void 0||s<0?0:s,A=f===void 0||w+f>x-1?x-1:w+f,g;for(arguments.length<=2?(g=e[w],w++):g=r;w<=A;)g=t(g,e[w],w),w++;return g}}return r}function Jr(e,t){return ni.call(e,t)}function Qc(e,t){return ni.call(e,t)?e[t]:void 0}function ho(e){let t=[];for(let r in e)ni.call(e,r)&&t.push(r);return t}function T_(e){let t=[];do{let r=Object.getOwnPropertyNames(e);for(let s of r)qn(t,s)}while(e=Object.getPrototypeOf(e));return t}function go(e){let t=[];for(let r in e)ni.call(e,r)&&t.push(e[r]);return t}function yo(e,t){let r=new Array(e);for(let s=0;s1?t-1:0),s=1;s2&&arguments[2]!==void 0?arguments[2]:fa;if(e===t)return!0;if(!e||!t)return!1;for(let s in e)if(ni.call(e,s)&&(!ni.call(t,s)||!r(e[s],t[s])))return!1;for(let s in t)if(ni.call(t,s)&&!ni.call(e,s))return!1;return!0}function Zc(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=new Map;for(let f of e){let x=t(f);x!==void 0&&s.set(x,r(f))}return s}function Os(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=[];for(let f of e)s[t(f)]=r(f);return s}function bo(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=Be();for(let f of e)s.add(t(f),r(f));return s}function el(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Za(bo(e,t).values(),r)}function x_(e,t){var r;let s={};if(e)for(let f of e){let x=`${t(f)}`;((r=s[x])!=null?r:s[x]=[]).push(f)}return s}function E_(e){let t={};for(let r in e)ni.call(e,r)&&(t[r]=e[r]);return t}function S(e,t){let r={};for(let s in t)ni.call(t,s)&&(r[s]=t[s]);for(let s in e)ni.call(e,s)&&(r[s]=e[s]);return r}function H(e,t){for(let r in t)ni.call(t,r)&&(e[r]=t[r])}function le(e,t){return t?t.bind(e):void 0}function Be(){let e=new Map;return e.add=rt,e.remove=ut,e}function rt(e,t){let r=this.get(e);return r?r.push(t):this.set(e,r=[t]),r}function ut(e,t){let r=this.get(e);r&&(bT(r,t),r.length||this.delete(e))}function Ht(){return Be()}function Fr(e){let t=(e==null?void 0:e.slice())||[],r=0;function s(){return r===t.length}function f(){t.push(...arguments)}function x(){if(s())throw new Error("Queue is empty");let w=t[r];if(t[r]=void 0,r++,r>100&&r>t.length>>1){let A=t.length-r;t.copyWithin(0,r),t.length=A,r=0}return w}return{enqueue:f,dequeue:x,isEmpty:s}}function Cr(e,t){let r=new Map,s=0;function*f(){for(let w of r.values())ir(w)?yield*w:yield w}let x={has(w){let A=e(w);if(!r.has(A))return!1;let g=r.get(A);if(!ir(g))return t(g,w);for(let B of g)if(t(B,w))return!0;return!1},add(w){let A=e(w);if(r.has(A)){let g=r.get(A);if(ir(g))pe(g,w,t)||(g.push(w),s++);else{let B=g;t(B,w)||(r.set(A,[B,w]),s++)}}else r.set(A,w),s++;return this},delete(w){let A=e(w);if(!r.has(A))return!1;let g=r.get(A);if(ir(g)){for(let B=0;Bf(),[Symbol.toStringTag]:r[Symbol.toStringTag]};return x}function ir(e){return Array.isArray(e)}function en(e){return ir(e)?e:[e]}function Ji(e){return typeof e=="string"}function gi(e){return typeof e=="number"}function ln(e,t){return e!==void 0&&t(e)?e:void 0}function ti(e,t){return e!==void 0&&t(e)?e:Y.fail(`Invalid cast. The supplied value ${e} did not pass the test '${Y.getFunctionName(t)}'.`)}function yn(e){}function w_(){return!1}function vp(){return!0}function C1(){}function rr(e){return e}function bp(e){return e.toLowerCase()}function Tp(e){return G1.test(e)?e.replace(G1,bp):e}function A1(){throw new Error("Not implemented")}function tl(e){let t;return()=>(e&&(t=e(),e=void 0),t)}function An(e){let t=new Map;return r=>{let s=`${typeof r}:${r}`,f=t.get(s);return f===void 0&&!t.has(s)&&(f=e(r),t.set(s,f)),f}}function P1(e){let t=new WeakMap;return r=>{let s=t.get(r);return s===void 0&&!t.has(r)&&(s=e(r),t.set(r,s)),s}}function D1(e,t){return function(){for(var r=arguments.length,s=new Array(r),f=0;fQa(x,(A,g)=>g(A),w)}else return s?x=>s(r(t(e(x)))):r?x=>r(t(e(x))):t?x=>t(e(x)):e?x=>e(x):x=>x}function fa(e,t){return e===t}function Ms(e,t){return e===t||e!==void 0&&t!==void 0&&e.toUpperCase()===t.toUpperCase()}function To(e,t){return fa(e,t)}function Sp(e,t){return e===t?0:e===void 0?-1:t===void 0?1:et(r,s)===-1?r:s)}function C_(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toUpperCase(),t=t.toUpperCase(),et?1:0)}function O1(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toLowerCase(),t=t.toLowerCase(),et?1:0)}function ri(e,t){return Sp(e,t)}function rl(e){return e?C_:ri}function M1(){return Ap}function xp(e){Ap!==e&&(Ap=e,K1=void 0)}function L1(e,t){return(K1||(K1=AT(Ap)))(e,t)}function R1(e,t,r,s){return e===t?0:e===void 0?-1:t===void 0?1:s(e[r],t[r])}function j1(e,t){return Vr(e?1:0,t?1:0)}function Ep(e,t,r){let s=Math.max(2,Math.floor(e.length*.34)),f=Math.floor(e.length*.4)+1,x;for(let w of t){let A=r(w);if(A!==void 0&&Math.abs(A.length-e.length)<=s){if(A===e||A.length<3&&A.toLowerCase()!==e.toLowerCase())continue;let g=J1(e,A,f-.1);if(g===void 0)continue;Y.assert(gr?A-r:1),N=Math.floor(t.length>r+A?r+A:t.length);f[0]=A;let X=A;for(let $=1;$r)return;let F=s;s=f,f=F}let w=s[t.length];return w>r?void 0:w}function es(e,t){let r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function F1(e,t){return es(e,t)?e.slice(0,e.length-t.length):e}function B1(e,t){return es(e,t)?e.slice(0,e.length-t.length):void 0}function Fi(e,t){return e.indexOf(t)!==-1}function q1(e){let t=e.length;for(let r=t-1;r>0;r--){let s=e.charCodeAt(r);if(s>=48&&s<=57)do--r,s=e.charCodeAt(r);while(r>0&&s>=48&&s<=57);else if(r>4&&(s===110||s===78)){if(--r,s=e.charCodeAt(r),s!==105&&s!==73||(--r,s=e.charCodeAt(r),s!==109&&s!==77))break;--r,s=e.charCodeAt(r)}else break;if(s!==45&&s!==46)break;t=r}return t===e.length?e:e.slice(0,t)}function J(e,t){for(let r=0;rr===t)}function b5(e,t){for(let r=0;rf&&(f=w.prefix.length,s=x)}return s}function Pn(e,t){return e.lastIndexOf(t,0)===0}function x5(e,t){return Pn(e,t)?e.substr(t.length):e}function ST(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Pn(r(e),r(t))?e.substring(t.length):void 0}function z1(e,t){let{prefix:r,suffix:s}=e;return t.length>=r.length+s.length&&Pn(t,r)&&es(t,s)}function E5(e,t){return r=>e(r)&&t(r)}function W1(){for(var e=arguments.length,t=new Array(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:" ";return t<=e.length?e:r.repeat(t-e.length)+e}function k5(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:" ";return t<=e.length?e:e+r.repeat(t-e.length)}function I5(e,t){if(e){let r=e.length,s=0;for(;s=0&&os(e.charCodeAt(t));)t--;return e.slice(0,t+1)}function M5(){return typeof cn<"u"&&cn.nextTick&&!cn.browser&&typeof _=="object"}var Bt,V1,ET,H1,wT,ni,CT,G1,$1,AT,K1,Ap,Pp,X1,nl,L5=D({"src/compiler/core.ts"(){"use strict";nn(),Bt=[],V1=new Map,ET=new Set,H1=(e=>(e[e.None=0]="None",e[e.CaseSensitive=1]="CaseSensitive",e[e.CaseInsensitive=2]="CaseInsensitive",e[e.Both=3]="Both",e))(H1||{}),wT=Array.prototype.at?(e,t)=>e==null?void 0:e.at(t):(e,t)=>{if(e&&(t=po(e,t),t(e[e.None=0]="None",e[e.Normal=1]="Normal",e[e.Aggressive=2]="Aggressive",e[e.VeryAggressive=3]="VeryAggressive",e))($1||{}),AT=(()=>{let e,t,r=A();return g;function s(B,N,X){if(B===N)return 0;if(B===void 0)return-1;if(N===void 0)return 1;let F=X(B,N);return F<0?-1:F>0?1:0}function f(B){let N=new Intl.Collator(B,{usage:"sort",sensitivity:"variant"}).compare;return(X,F)=>s(X,F,N)}function x(B){if(B!==void 0)return w();return(X,F)=>s(X,F,N);function N(X,F){return X.localeCompare(F)}}function w(){return(X,F)=>s(X,F,B);function B(X,F){return N(X.toUpperCase(),F.toUpperCase())||N(X,F)}function N(X,F){return XF?1:0}}function A(){return typeof Intl=="object"&&typeof Intl.Collator=="function"?f:typeof String.prototype.localeCompare=="function"&&typeof String.prototype.toLocaleUpperCase=="function"&&"a".localeCompare("B")<0?x:w}function g(B){return B===void 0?e||(e=r(B)):B==="en-US"?t||(t=r(B)):r(B)}})(),Pp=String.prototype.trim?e=>e.trim():e=>X1(nl(e)),X1=String.prototype.trimEnd?e=>e.trimEnd():O5,nl=String.prototype.trimStart?e=>e.trimStart():e=>e.replace(/^\s+/g,"")}}),Y1,Y,PT=D({"src/compiler/debug.ts"(){"use strict";nn(),nn(),Y1=(e=>(e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Info=3]="Info",e[e.Verbose=4]="Verbose",e))(Y1||{}),(e=>{let t=0;e.currentLogLevel=2,e.isDebugging=!1;function r(ue){return e.currentLogLevel<=ue}e.shouldLog=r;function s(ue,He){e.loggingHost&&r(ue)&&e.loggingHost.log(ue,He)}function f(ue){s(3,ue)}e.log=f,(ue=>{function He(zt){s(1,zt)}ue.error=He;function _t(zt){s(2,zt)}ue.warn=_t;function ft(zt){s(3,zt)}ue.log=ft;function Kt(zt){s(4,zt)}ue.trace=Kt})(f=e.log||(e.log={}));let x={};function w(){return t}e.getAssertionLevel=w;function A(ue){let He=t;if(t=ue,ue>He)for(let _t of ho(x)){let ft=x[_t];ft!==void 0&&e[_t]!==ft.assertion&&ue>=ft.level&&(e[_t]=ft,x[_t]=void 0)}}e.setAssertionLevel=A;function g(ue){return t>=ue}e.shouldAssert=g;function B(ue,He){return g(ue)?!0:(x[He]={level:ue,assertion:e[He]},e[He]=yn,!1)}function N(ue,He){debugger;let _t=new Error(ue?`Debug Failure. ${ue}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(_t,He||N),_t}e.fail=N;function X(ue,He,_t){return N(`${He||"Unexpected node."}\r -Node ${mr(ue.kind)} was unexpected.`,_t||X)}e.failBadSyntaxKind=X;function F(ue,He,_t,ft){ue||(He=He?`False expression: ${He}`:"False expression.",_t&&(He+=`\r -Verbose Debug Information: `+(typeof _t=="string"?_t:_t())),N(He,ft||F))}e.assert=F;function $(ue,He,_t,ft,Kt){if(ue!==He){let zt=_t?ft?`${_t} ${ft}`:_t:"";N(`Expected ${ue} === ${He}. ${zt}`,Kt||$)}}e.assertEqual=$;function ae(ue,He,_t,ft){ue>=He&&N(`Expected ${ue} < ${He}. ${_t||""}`,ft||ae)}e.assertLessThan=ae;function Te(ue,He,_t){ue>He&&N(`Expected ${ue} <= ${He}`,_t||Te)}e.assertLessThanOrEqual=Te;function Se(ue,He,_t){ue= ${He}`,_t||Se)}e.assertGreaterThanOrEqual=Se;function Ye(ue,He,_t){ue==null&&N(He,_t||Ye)}e.assertIsDefined=Ye;function Ne(ue,He,_t){return Ye(ue,He,_t||Ne),ue}e.checkDefined=Ne;function oe(ue,He,_t){for(let ft of ue)Ye(ft,He,_t||oe)}e.assertEachIsDefined=oe;function Ve(ue,He,_t){return oe(ue,He,_t||Ve),ue}e.checkEachDefined=Ve;function pt(ue){let He=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Illegal value:",_t=arguments.length>2?arguments[2]:void 0,ft=typeof ue=="object"&&Jr(ue,"kind")&&Jr(ue,"pos")?"SyntaxKind: "+mr(ue.kind):JSON.stringify(ue);return N(`${He} ${ft}`,_t||pt)}e.assertNever=pt;function Gt(ue,He,_t,ft){B(1,"assertEachNode")&&F(He===void 0||me(ue,He),_t||"Unexpected node.",()=>`Node array did not pass test '${pn(He)}'.`,ft||Gt)}e.assertEachNode=Gt;function Nt(ue,He,_t,ft){B(1,"assertNode")&&F(ue!==void 0&&(He===void 0||He(ue)),_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} did not pass test '${pn(He)}'.`,ft||Nt)}e.assertNode=Nt;function Xt(ue,He,_t,ft){B(1,"assertNotNode")&&F(ue===void 0||He===void 0||!He(ue),_t||"Unexpected node.",()=>`Node ${mr(ue.kind)} should not have passed test '${pn(He)}'.`,ft||Xt)}e.assertNotNode=Xt;function er(ue,He,_t,ft){B(1,"assertOptionalNode")&&F(He===void 0||ue===void 0||He(ue),_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} did not pass test '${pn(He)}'.`,ft||er)}e.assertOptionalNode=er;function Tn(ue,He,_t,ft){B(1,"assertOptionalToken")&&F(He===void 0||ue===void 0||ue.kind===He,_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} was not a '${mr(He)}' token.`,ft||Tn)}e.assertOptionalToken=Tn;function Hr(ue,He,_t){B(1,"assertMissingNode")&&F(ue===void 0,He||"Unexpected node.",()=>`Node ${mr(ue.kind)} was unexpected'.`,_t||Hr)}e.assertMissingNode=Hr;function Gi(ue){}e.type=Gi;function pn(ue){if(typeof ue!="function")return"";if(Jr(ue,"name"))return ue.name;{let He=Function.prototype.toString.call(ue),_t=/^function\s+([\w\$]+)\s*\(/.exec(He);return _t?_t[1]:""}}e.getFunctionName=pn;function fn(ue){return`{ name: ${dl(ue.escapedName)}; flags: ${Sn(ue.flags)}; declarations: ${Ze(ue.declarations,He=>mr(He.kind))} }`}e.formatSymbol=fn;function Ut(){let ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,He=arguments.length>1?arguments[1]:void 0,_t=arguments.length>2?arguments[2]:void 0,ft=an(He);if(ue===0)return ft.length>0&&ft[0][0]===0?ft[0][1]:"0";if(_t){let Kt=[],zt=ue;for(let[xe,Le]of ft){if(xe>ue)break;xe!==0&&xe&ue&&(Kt.push(Le),zt&=~xe)}if(zt===0)return Kt.join("|")}else for(let[Kt,zt]of ft)if(Kt===ue)return zt;return ue.toString()}e.formatEnum=Ut;let kn=new Map;function an(ue){let He=kn.get(ue);if(He)return He;let _t=[];for(let Kt in ue){let zt=ue[Kt];typeof zt=="number"&&_t.push([zt,Kt])}let ft=Ns(_t,(Kt,zt)=>Vr(Kt[0],zt[0]));return kn.set(ue,ft),ft}function mr(ue){return Ut(ue,Np,!1)}e.formatSyntaxKind=mr;function $i(ue){return Ut(ue,zp,!1)}e.formatSnippetKind=$i;function dn(ue){return Ut(ue,Op,!0)}e.formatNodeFlags=dn;function Ur(ue){return Ut(ue,Mp,!0)}e.formatModifierFlags=Ur;function Gr(ue){return Ut(ue,Up,!0)}e.formatTransformFlags=Gr;function _r(ue){return Ut(ue,Wp,!0)}e.formatEmitFlags=_r;function Sn(ue){return Ut(ue,jp,!0)}e.formatSymbolFlags=Sn;function In(ue){return Ut(ue,Jp,!0)}e.formatTypeFlags=In;function pr(ue){return Ut(ue,Bp,!0)}e.formatSignatureFlags=pr;function Zt(ue){return Ut(ue,Fp,!0)}e.formatObjectFlags=Zt;function Or(ue){return Ut(ue,il,!0)}e.formatFlowFlags=Or;function Nn(ue){return Ut(ue,Lp,!0)}e.formatRelationComparisonResult=Nn;function ar(ue){return Ut(ue,CheckMode,!0)}e.formatCheckMode=ar;function oi(ue){return Ut(ue,SignatureCheckMode,!0)}e.formatSignatureCheckMode=oi;function cr(ue){return Ut(ue,TypeFacts,!0)}e.formatTypeFacts=cr;let $r=!1,hr;function On(ue){"__debugFlowFlags"in ue||Object.defineProperties(ue,{__tsDebuggerDisplay:{value(){let He=this.flags&2?"FlowStart":this.flags&4?"FlowBranchLabel":this.flags&8?"FlowLoopLabel":this.flags&16?"FlowAssignment":this.flags&32?"FlowTrueCondition":this.flags&64?"FlowFalseCondition":this.flags&128?"FlowSwitchClause":this.flags&256?"FlowArrayMutation":this.flags&512?"FlowCall":this.flags&1024?"FlowReduceLabel":this.flags&1?"FlowUnreachable":"UnknownFlow",_t=this.flags&~(2048-1);return`${He}${_t?` (${Or(_t)})`:""}`}},__debugFlowFlags:{get(){return Ut(this.flags,il,!0)}},__debugToString:{value(){return St(this)}}})}function nr(ue){$r&&(typeof Object.setPrototypeOf=="function"?(hr||(hr=Object.create(Object.prototype),On(hr)),Object.setPrototypeOf(ue,hr)):On(ue))}e.attachFlowNodeDebugInfo=nr;let br;function Kr(ue){"__tsDebuggerDisplay"in ue||Object.defineProperties(ue,{__tsDebuggerDisplay:{value(He){return He=String(He).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"),`NodeArray ${He}`}}})}function wa(ue){$r&&(typeof Object.setPrototypeOf=="function"?(br||(br=Object.create(Array.prototype),Kr(br)),Object.setPrototypeOf(ue,br)):Kr(ue))}e.attachNodeArrayDebugInfo=wa;function $n(){if($r)return;let ue=new WeakMap,He=new WeakMap;Object.defineProperties(lr.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let ft=this.flags&33554432?"TransientSymbol":"Symbol",Kt=this.flags&-33554433;return`${ft} '${rf(this)}'${Kt?` (${Sn(Kt)})`:""}`}},__debugFlags:{get(){return Sn(this.flags)}}}),Object.defineProperties(lr.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let ft=this.flags&98304?"NullableType":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:this.flags&8192?"UniqueESSymbolType":this.flags&32?"EnumType":this.flags&67359327?`IntrinsicType ${this.intrinsicName}`:this.flags&1048576?"UnionType":this.flags&2097152?"IntersectionType":this.flags&4194304?"IndexType":this.flags&8388608?"IndexedAccessType":this.flags&16777216?"ConditionalType":this.flags&33554432?"SubstitutionType":this.flags&262144?"TypeParameter":this.flags&524288?this.objectFlags&3?"InterfaceType":this.objectFlags&4?"TypeReference":this.objectFlags&8?"TupleType":this.objectFlags&16?"AnonymousType":this.objectFlags&32?"MappedType":this.objectFlags&1024?"ReverseMappedType":this.objectFlags&256?"EvolvingArrayType":"ObjectType":"Type",Kt=this.flags&524288?this.objectFlags&-1344:0;return`${ft}${this.symbol?` '${rf(this.symbol)}'`:""}${Kt?` (${Zt(Kt)})`:""}`}},__debugFlags:{get(){return In(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?Zt(this.objectFlags):""}},__debugTypeToString:{value(){let ft=ue.get(this);return ft===void 0&&(ft=this.checker.typeToString(this),ue.set(this,ft)),ft}}}),Object.defineProperties(lr.getSignatureConstructor().prototype,{__debugFlags:{get(){return pr(this.flags)}},__debugSignatureToString:{value(){var ft;return(ft=this.checker)==null?void 0:ft.signatureToString(this)}}});let _t=[lr.getNodeConstructor(),lr.getIdentifierConstructor(),lr.getTokenConstructor(),lr.getSourceFileConstructor()];for(let ft of _t)Jr(ft.prototype,"__debugKind")||Object.defineProperties(ft.prototype,{__tsDebuggerDisplay:{value(){return`${cs(this)?"GeneratedIdentifier":yt(this)?`Identifier '${qr(this)}'`:vn(this)?`PrivateIdentifier '${qr(this)}'`:Gn(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:zs(this)?`NumericLiteral ${this.text}`:Uv(this)?`BigIntLiteral ${this.text}n`:Fo(this)?"TypeParameterDeclaration":Vs(this)?"ParameterDeclaration":nc(this)?"ConstructorDeclaration":Gl(this)?"GetAccessorDeclaration":ic(this)?"SetAccessorDeclaration":Vv(this)?"CallSignatureDeclaration":R8(this)?"ConstructSignatureDeclaration":Hv(this)?"IndexSignatureDeclaration":j8(this)?"TypePredicateNode":ac(this)?"TypeReferenceNode":$l(this)?"FunctionTypeNode":Gv(this)?"ConstructorTypeNode":J8(this)?"TypeQueryNode":id(this)?"TypeLiteralNode":F8(this)?"ArrayTypeNode":B8(this)?"TupleTypeNode":q8(this)?"OptionalTypeNode":U8(this)?"RestTypeNode":z8(this)?"UnionTypeNode":W8(this)?"IntersectionTypeNode":V8(this)?"ConditionalTypeNode":H8(this)?"InferTypeNode":Kv(this)?"ParenthesizedTypeNode":Xv(this)?"ThisTypeNode":G8(this)?"TypeOperatorNode":$8(this)?"IndexedAccessTypeNode":K8(this)?"MappedTypeNode":Yv(this)?"LiteralTypeNode":$v(this)?"NamedTupleMember":Kl(this)?"ImportTypeNode":mr(this.kind)}${this.flags?` (${dn(this.flags)})`:""}`}},__debugKind:{get(){return mr(this.kind)}},__debugNodeFlags:{get(){return dn(this.flags)}},__debugModifierFlags:{get(){return Ur(Y4(this))}},__debugTransformFlags:{get(){return Gr(this.transformFlags)}},__debugIsParseTreeNode:{get(){return pl(this)}},__debugEmitFlags:{get(){return _r(xi(this))}},__debugGetText:{value(Kt){if(fs(this))return"";let zt=He.get(this);if(zt===void 0){let xe=fl(this),Le=xe&&Si(xe);zt=Le?No(Le,xe,Kt):"",He.set(this,zt)}return zt}}});$r=!0}e.enableDebugInfo=$n;function Ki(ue){let He=ue&7,_t=He===0?"in out":He===3?"[bivariant]":He===2?"in":He===1?"out":He===4?"[independent]":"";return ue&8?_t+=" (unmeasurable)":ue&16&&(_t+=" (unreliable)"),_t}e.formatVariance=Ki;class Mn{__debugToString(){var He;switch(this.kind){case 3:return((He=this.debugInfo)==null?void 0:He.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return ce(this.sources,this.targets||Ze(this.sources,()=>"any"),(_t,ft)=>`${_t.__debugTypeToString()} -> ${typeof ft=="string"?ft:ft.__debugTypeToString()}`).join(", ");case 2:return ce(this.sources,this.targets,(_t,ft)=>`${_t.__debugTypeToString()} -> ${ft().__debugTypeToString()}`).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(` -`).join(` - `)} -m2: ${this.mapper2.__debugToString().split(` -`).join(` - `)}`;default:return pt(this)}}}e.DebugTypeMapper=Mn;function _i(ue){return e.isDebugging?Object.setPrototypeOf(ue,Mn.prototype):ue}e.attachDebugPrototypeIfDebug=_i;function Ca(ue){return console.log(St(ue))}e.printControlFlowGraph=Ca;function St(ue){let He=-1;function _t(U){return U.id||(U.id=He,He--),U.id}let ft;(U=>{U.lr="\u2500",U.ud="\u2502",U.dr="\u256D",U.dl="\u256E",U.ul="\u256F",U.ur="\u2570",U.udr="\u251C",U.udl="\u2524",U.dlr="\u252C",U.ulr="\u2534",U.udlr="\u256B"})(ft||(ft={}));let Kt;(U=>{U[U.None=0]="None",U[U.Up=1]="Up",U[U.Down=2]="Down",U[U.Left=4]="Left",U[U.Right=8]="Right",U[U.UpDown=3]="UpDown",U[U.LeftRight=12]="LeftRight",U[U.UpLeft=5]="UpLeft",U[U.UpRight=9]="UpRight",U[U.DownLeft=6]="DownLeft",U[U.DownRight=10]="DownRight",U[U.UpDownLeft=7]="UpDownLeft",U[U.UpDownRight=11]="UpDownRight",U[U.UpLeftRight=13]="UpLeftRight",U[U.DownLeftRight=14]="DownLeftRight",U[U.UpDownLeftRight=15]="UpDownLeftRight",U[U.NoChildren=16]="NoChildren"})(Kt||(Kt={}));let zt=2032,xe=882,Le=Object.create(null),Re=[],ot=[],Ct=Aa(ue,new Set);for(let U of Re)U.text=xn(U.flowNode,U.circular),$s(U);let Mt=li(Ct),It=Yi(Mt);return Qi(Ct,0),Dt();function Mr(U){return!!(U.flags&128)}function gr(U){return!!(U.flags&12)&&!!U.antecedents}function Ln(U){return!!(U.flags&zt)}function ys(U){return!!(U.flags&xe)}function ci(U){let L=[];for(let fe of U.edges)fe.source===U&&L.push(fe.target);return L}function Xi(U){let L=[];for(let fe of U.edges)fe.target===U&&L.push(fe.source);return L}function Aa(U,L){let fe=_t(U),T=Le[fe];if(T&&L.has(U))return T.circular=!0,T={id:-1,flowNode:U,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},Re.push(T),T;if(L.add(U),!T)if(Le[fe]=T={id:fe,flowNode:U,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},Re.push(T),gr(U))for(let it of U.antecedents)vs(T,it,L);else Ln(U)&&vs(T,U.antecedent,L);return L.delete(U),T}function vs(U,L,fe){let T=Aa(L,fe),it={source:U,target:T};ot.push(it),U.edges.push(it),T.edges.push(it)}function $s(U){if(U.level!==-1)return U.level;let L=0;for(let fe of Xi(U))L=Math.max(L,$s(fe)+1);return U.level=L}function li(U){let L=0;for(let fe of ci(U))L=Math.max(L,li(fe));return L+1}function Yi(U){let L=Z(Array(U),0);for(let fe of Re)L[fe.level]=Math.max(L[fe.level],fe.text.length);return L}function Qi(U,L){if(U.lane===-1){U.lane=L,U.endLane=L;let fe=ci(U);for(let T=0;T0&&L++;let it=fe[T];Qi(it,L),it.endLane>U.endLane&&(L=it.endLane)}U.endLane=L}}function bs(U){if(U&2)return"Start";if(U&4)return"Branch";if(U&8)return"Loop";if(U&16)return"Assignment";if(U&32)return"True";if(U&64)return"False";if(U&128)return"SwitchClause";if(U&256)return"ArrayMutation";if(U&512)return"Call";if(U&1024)return"ReduceLabel";if(U&1)return"Unreachable";throw new Error}function Ai(U){let L=Si(U);return No(L,U,!1)}function xn(U,L){let fe=bs(U.flags);if(L&&(fe=`${fe}#${_t(U)}`),ys(U))U.node&&(fe+=` (${Ai(U.node)})`);else if(Mr(U)){let T=[];for(let it=U.clauseStart;itMath.max(_e,Ge.lane),0)+1,fe=Z(Array(L),""),T=It.map(()=>Array(L)),it=It.map(()=>Z(Array(L),0));for(let _e of Re){T[_e.level][_e.lane]=_e;let Ge=ci(_e);for(let jt=0;jt0&&($t|=1),jt0&&($t|=1),jt0?it[_e-1][Ge]:0,jt=Ge>0?it[_e][Ge-1]:0,Yt=it[_e][Ge];Yt||(bt&8&&(Yt|=12),jt&2&&(Yt|=3),it[_e][Ge]=Yt)}for(let _e=0;_e0?U.repeat(L):"";let fe="";for(;fe.length{},j5=()=>{},J5=()=>{},ts=Date.now,F5=()=>{},Dp=new Proxy(()=>{},{get:()=>Dp});function DT(e){var t;if(Q1){let r=(t=Z1.get(e))!=null?t:0;Z1.set(e,r+1),Ip.set(e,ts()),kp==null||kp.mark(e),typeof onProfilerEvent=="function"&&onProfilerEvent(e)}}function B5(e,t,r){var s,f;if(Q1){let x=(s=r!==void 0?Ip.get(r):void 0)!=null?s:ts(),w=(f=t!==void 0?Ip.get(t):void 0)!=null?f:kT,A=eg.get(e)||0;eg.set(e,A+(x-w)),kp==null||kp.measure(e,t,r)}}var kp,q5,Q1,kT,Ip,Z1,eg,pH=D({"src/compiler/performance.ts"(){"use strict";nn(),q5={enter:yn,exit:yn},Q1=!1,kT=ts(),Ip=new Map,Z1=new Map,eg=new Map}}),IT=()=>{},U5=()=>{},rs;function z5(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=qp[e.category];return t?r.toLowerCase():r}var Np,Op,Mp,tg,Lp,rg,ng,il,ig,Rp,ag,sg,og,_g,cg,lg,ug,pg,fg,dg,mg,hg,gg,yg,vg,jp,bg,Tg,Sg,xg,Jp,Fp,Eg,wg,Cg,Ag,Pg,Bp,Dg,kg,Ig,Ng,Og,Mg,qp,Lg,Rg,jg,Jg,Fg,Bg,qg,Ug,zg,Wg,Vg,Hg,Gg,$g,Kg,Up,zp,Wp,Xg,Yg,Qg,Zg,ey,ty,ry,ny,Vp,NT=D({"src/compiler/types.ts"(){"use strict";Np=(e=>(e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NumericLiteral=8]="NumericLiteral",e[e.BigIntLiteral=9]="BigIntLiteral",e[e.StringLiteral=10]="StringLiteral",e[e.JsxText=11]="JsxText",e[e.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=13]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=15]="TemplateHead",e[e.TemplateMiddle=16]="TemplateMiddle",e[e.TemplateTail=17]="TemplateTail",e[e.OpenBraceToken=18]="OpenBraceToken",e[e.CloseBraceToken=19]="CloseBraceToken",e[e.OpenParenToken=20]="OpenParenToken",e[e.CloseParenToken=21]="CloseParenToken",e[e.OpenBracketToken=22]="OpenBracketToken",e[e.CloseBracketToken=23]="CloseBracketToken",e[e.DotToken=24]="DotToken",e[e.DotDotDotToken=25]="DotDotDotToken",e[e.SemicolonToken=26]="SemicolonToken",e[e.CommaToken=27]="CommaToken",e[e.QuestionDotToken=28]="QuestionDotToken",e[e.LessThanToken=29]="LessThanToken",e[e.LessThanSlashToken=30]="LessThanSlashToken",e[e.GreaterThanToken=31]="GreaterThanToken",e[e.LessThanEqualsToken=32]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=34]="EqualsEqualsToken",e[e.ExclamationEqualsToken=35]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",e[e.PlusToken=39]="PlusToken",e[e.MinusToken=40]="MinusToken",e[e.AsteriskToken=41]="AsteriskToken",e[e.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",e[e.SlashToken=43]="SlashToken",e[e.PercentToken=44]="PercentToken",e[e.PlusPlusToken=45]="PlusPlusToken",e[e.MinusMinusToken=46]="MinusMinusToken",e[e.LessThanLessThanToken=47]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=50]="AmpersandToken",e[e.BarToken=51]="BarToken",e[e.CaretToken=52]="CaretToken",e[e.ExclamationToken=53]="ExclamationToken",e[e.TildeToken=54]="TildeToken",e[e.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",e[e.BarBarToken=56]="BarBarToken",e[e.QuestionToken=57]="QuestionToken",e[e.ColonToken=58]="ColonToken",e[e.AtToken=59]="AtToken",e[e.QuestionQuestionToken=60]="QuestionQuestionToken",e[e.BacktickToken=61]="BacktickToken",e[e.HashToken=62]="HashToken",e[e.EqualsToken=63]="EqualsToken",e[e.PlusEqualsToken=64]="PlusEqualsToken",e[e.MinusEqualsToken=65]="MinusEqualsToken",e[e.AsteriskEqualsToken=66]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=67]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=68]="SlashEqualsToken",e[e.PercentEqualsToken=69]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=70]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=73]="AmpersandEqualsToken",e[e.BarEqualsToken=74]="BarEqualsToken",e[e.BarBarEqualsToken=75]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=76]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=77]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=78]="CaretEqualsToken",e[e.Identifier=79]="Identifier",e[e.PrivateIdentifier=80]="PrivateIdentifier",e[e.BreakKeyword=81]="BreakKeyword",e[e.CaseKeyword=82]="CaseKeyword",e[e.CatchKeyword=83]="CatchKeyword",e[e.ClassKeyword=84]="ClassKeyword",e[e.ConstKeyword=85]="ConstKeyword",e[e.ContinueKeyword=86]="ContinueKeyword",e[e.DebuggerKeyword=87]="DebuggerKeyword",e[e.DefaultKeyword=88]="DefaultKeyword",e[e.DeleteKeyword=89]="DeleteKeyword",e[e.DoKeyword=90]="DoKeyword",e[e.ElseKeyword=91]="ElseKeyword",e[e.EnumKeyword=92]="EnumKeyword",e[e.ExportKeyword=93]="ExportKeyword",e[e.ExtendsKeyword=94]="ExtendsKeyword",e[e.FalseKeyword=95]="FalseKeyword",e[e.FinallyKeyword=96]="FinallyKeyword",e[e.ForKeyword=97]="ForKeyword",e[e.FunctionKeyword=98]="FunctionKeyword",e[e.IfKeyword=99]="IfKeyword",e[e.ImportKeyword=100]="ImportKeyword",e[e.InKeyword=101]="InKeyword",e[e.InstanceOfKeyword=102]="InstanceOfKeyword",e[e.NewKeyword=103]="NewKeyword",e[e.NullKeyword=104]="NullKeyword",e[e.ReturnKeyword=105]="ReturnKeyword",e[e.SuperKeyword=106]="SuperKeyword",e[e.SwitchKeyword=107]="SwitchKeyword",e[e.ThisKeyword=108]="ThisKeyword",e[e.ThrowKeyword=109]="ThrowKeyword",e[e.TrueKeyword=110]="TrueKeyword",e[e.TryKeyword=111]="TryKeyword",e[e.TypeOfKeyword=112]="TypeOfKeyword",e[e.VarKeyword=113]="VarKeyword",e[e.VoidKeyword=114]="VoidKeyword",e[e.WhileKeyword=115]="WhileKeyword",e[e.WithKeyword=116]="WithKeyword",e[e.ImplementsKeyword=117]="ImplementsKeyword",e[e.InterfaceKeyword=118]="InterfaceKeyword",e[e.LetKeyword=119]="LetKeyword",e[e.PackageKeyword=120]="PackageKeyword",e[e.PrivateKeyword=121]="PrivateKeyword",e[e.ProtectedKeyword=122]="ProtectedKeyword",e[e.PublicKeyword=123]="PublicKeyword",e[e.StaticKeyword=124]="StaticKeyword",e[e.YieldKeyword=125]="YieldKeyword",e[e.AbstractKeyword=126]="AbstractKeyword",e[e.AccessorKeyword=127]="AccessorKeyword",e[e.AsKeyword=128]="AsKeyword",e[e.AssertsKeyword=129]="AssertsKeyword",e[e.AssertKeyword=130]="AssertKeyword",e[e.AnyKeyword=131]="AnyKeyword",e[e.AsyncKeyword=132]="AsyncKeyword",e[e.AwaitKeyword=133]="AwaitKeyword",e[e.BooleanKeyword=134]="BooleanKeyword",e[e.ConstructorKeyword=135]="ConstructorKeyword",e[e.DeclareKeyword=136]="DeclareKeyword",e[e.GetKeyword=137]="GetKeyword",e[e.InferKeyword=138]="InferKeyword",e[e.IntrinsicKeyword=139]="IntrinsicKeyword",e[e.IsKeyword=140]="IsKeyword",e[e.KeyOfKeyword=141]="KeyOfKeyword",e[e.ModuleKeyword=142]="ModuleKeyword",e[e.NamespaceKeyword=143]="NamespaceKeyword",e[e.NeverKeyword=144]="NeverKeyword",e[e.OutKeyword=145]="OutKeyword",e[e.ReadonlyKeyword=146]="ReadonlyKeyword",e[e.RequireKeyword=147]="RequireKeyword",e[e.NumberKeyword=148]="NumberKeyword",e[e.ObjectKeyword=149]="ObjectKeyword",e[e.SatisfiesKeyword=150]="SatisfiesKeyword",e[e.SetKeyword=151]="SetKeyword",e[e.StringKeyword=152]="StringKeyword",e[e.SymbolKeyword=153]="SymbolKeyword",e[e.TypeKeyword=154]="TypeKeyword",e[e.UndefinedKeyword=155]="UndefinedKeyword",e[e.UniqueKeyword=156]="UniqueKeyword",e[e.UnknownKeyword=157]="UnknownKeyword",e[e.FromKeyword=158]="FromKeyword",e[e.GlobalKeyword=159]="GlobalKeyword",e[e.BigIntKeyword=160]="BigIntKeyword",e[e.OverrideKeyword=161]="OverrideKeyword",e[e.OfKeyword=162]="OfKeyword",e[e.QualifiedName=163]="QualifiedName",e[e.ComputedPropertyName=164]="ComputedPropertyName",e[e.TypeParameter=165]="TypeParameter",e[e.Parameter=166]="Parameter",e[e.Decorator=167]="Decorator",e[e.PropertySignature=168]="PropertySignature",e[e.PropertyDeclaration=169]="PropertyDeclaration",e[e.MethodSignature=170]="MethodSignature",e[e.MethodDeclaration=171]="MethodDeclaration",e[e.ClassStaticBlockDeclaration=172]="ClassStaticBlockDeclaration",e[e.Constructor=173]="Constructor",e[e.GetAccessor=174]="GetAccessor",e[e.SetAccessor=175]="SetAccessor",e[e.CallSignature=176]="CallSignature",e[e.ConstructSignature=177]="ConstructSignature",e[e.IndexSignature=178]="IndexSignature",e[e.TypePredicate=179]="TypePredicate",e[e.TypeReference=180]="TypeReference",e[e.FunctionType=181]="FunctionType",e[e.ConstructorType=182]="ConstructorType",e[e.TypeQuery=183]="TypeQuery",e[e.TypeLiteral=184]="TypeLiteral",e[e.ArrayType=185]="ArrayType",e[e.TupleType=186]="TupleType",e[e.OptionalType=187]="OptionalType",e[e.RestType=188]="RestType",e[e.UnionType=189]="UnionType",e[e.IntersectionType=190]="IntersectionType",e[e.ConditionalType=191]="ConditionalType",e[e.InferType=192]="InferType",e[e.ParenthesizedType=193]="ParenthesizedType",e[e.ThisType=194]="ThisType",e[e.TypeOperator=195]="TypeOperator",e[e.IndexedAccessType=196]="IndexedAccessType",e[e.MappedType=197]="MappedType",e[e.LiteralType=198]="LiteralType",e[e.NamedTupleMember=199]="NamedTupleMember",e[e.TemplateLiteralType=200]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=201]="TemplateLiteralTypeSpan",e[e.ImportType=202]="ImportType",e[e.ObjectBindingPattern=203]="ObjectBindingPattern",e[e.ArrayBindingPattern=204]="ArrayBindingPattern",e[e.BindingElement=205]="BindingElement",e[e.ArrayLiteralExpression=206]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=207]="ObjectLiteralExpression",e[e.PropertyAccessExpression=208]="PropertyAccessExpression",e[e.ElementAccessExpression=209]="ElementAccessExpression",e[e.CallExpression=210]="CallExpression",e[e.NewExpression=211]="NewExpression",e[e.TaggedTemplateExpression=212]="TaggedTemplateExpression",e[e.TypeAssertionExpression=213]="TypeAssertionExpression",e[e.ParenthesizedExpression=214]="ParenthesizedExpression",e[e.FunctionExpression=215]="FunctionExpression",e[e.ArrowFunction=216]="ArrowFunction",e[e.DeleteExpression=217]="DeleteExpression",e[e.TypeOfExpression=218]="TypeOfExpression",e[e.VoidExpression=219]="VoidExpression",e[e.AwaitExpression=220]="AwaitExpression",e[e.PrefixUnaryExpression=221]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=222]="PostfixUnaryExpression",e[e.BinaryExpression=223]="BinaryExpression",e[e.ConditionalExpression=224]="ConditionalExpression",e[e.TemplateExpression=225]="TemplateExpression",e[e.YieldExpression=226]="YieldExpression",e[e.SpreadElement=227]="SpreadElement",e[e.ClassExpression=228]="ClassExpression",e[e.OmittedExpression=229]="OmittedExpression",e[e.ExpressionWithTypeArguments=230]="ExpressionWithTypeArguments",e[e.AsExpression=231]="AsExpression",e[e.NonNullExpression=232]="NonNullExpression",e[e.MetaProperty=233]="MetaProperty",e[e.SyntheticExpression=234]="SyntheticExpression",e[e.SatisfiesExpression=235]="SatisfiesExpression",e[e.TemplateSpan=236]="TemplateSpan",e[e.SemicolonClassElement=237]="SemicolonClassElement",e[e.Block=238]="Block",e[e.EmptyStatement=239]="EmptyStatement",e[e.VariableStatement=240]="VariableStatement",e[e.ExpressionStatement=241]="ExpressionStatement",e[e.IfStatement=242]="IfStatement",e[e.DoStatement=243]="DoStatement",e[e.WhileStatement=244]="WhileStatement",e[e.ForStatement=245]="ForStatement",e[e.ForInStatement=246]="ForInStatement",e[e.ForOfStatement=247]="ForOfStatement",e[e.ContinueStatement=248]="ContinueStatement",e[e.BreakStatement=249]="BreakStatement",e[e.ReturnStatement=250]="ReturnStatement",e[e.WithStatement=251]="WithStatement",e[e.SwitchStatement=252]="SwitchStatement",e[e.LabeledStatement=253]="LabeledStatement",e[e.ThrowStatement=254]="ThrowStatement",e[e.TryStatement=255]="TryStatement",e[e.DebuggerStatement=256]="DebuggerStatement",e[e.VariableDeclaration=257]="VariableDeclaration",e[e.VariableDeclarationList=258]="VariableDeclarationList",e[e.FunctionDeclaration=259]="FunctionDeclaration",e[e.ClassDeclaration=260]="ClassDeclaration",e[e.InterfaceDeclaration=261]="InterfaceDeclaration",e[e.TypeAliasDeclaration=262]="TypeAliasDeclaration",e[e.EnumDeclaration=263]="EnumDeclaration",e[e.ModuleDeclaration=264]="ModuleDeclaration",e[e.ModuleBlock=265]="ModuleBlock",e[e.CaseBlock=266]="CaseBlock",e[e.NamespaceExportDeclaration=267]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=268]="ImportEqualsDeclaration",e[e.ImportDeclaration=269]="ImportDeclaration",e[e.ImportClause=270]="ImportClause",e[e.NamespaceImport=271]="NamespaceImport",e[e.NamedImports=272]="NamedImports",e[e.ImportSpecifier=273]="ImportSpecifier",e[e.ExportAssignment=274]="ExportAssignment",e[e.ExportDeclaration=275]="ExportDeclaration",e[e.NamedExports=276]="NamedExports",e[e.NamespaceExport=277]="NamespaceExport",e[e.ExportSpecifier=278]="ExportSpecifier",e[e.MissingDeclaration=279]="MissingDeclaration",e[e.ExternalModuleReference=280]="ExternalModuleReference",e[e.JsxElement=281]="JsxElement",e[e.JsxSelfClosingElement=282]="JsxSelfClosingElement",e[e.JsxOpeningElement=283]="JsxOpeningElement",e[e.JsxClosingElement=284]="JsxClosingElement",e[e.JsxFragment=285]="JsxFragment",e[e.JsxOpeningFragment=286]="JsxOpeningFragment",e[e.JsxClosingFragment=287]="JsxClosingFragment",e[e.JsxAttribute=288]="JsxAttribute",e[e.JsxAttributes=289]="JsxAttributes",e[e.JsxSpreadAttribute=290]="JsxSpreadAttribute",e[e.JsxExpression=291]="JsxExpression",e[e.CaseClause=292]="CaseClause",e[e.DefaultClause=293]="DefaultClause",e[e.HeritageClause=294]="HeritageClause",e[e.CatchClause=295]="CatchClause",e[e.AssertClause=296]="AssertClause",e[e.AssertEntry=297]="AssertEntry",e[e.ImportTypeAssertionContainer=298]="ImportTypeAssertionContainer",e[e.PropertyAssignment=299]="PropertyAssignment",e[e.ShorthandPropertyAssignment=300]="ShorthandPropertyAssignment",e[e.SpreadAssignment=301]="SpreadAssignment",e[e.EnumMember=302]="EnumMember",e[e.UnparsedPrologue=303]="UnparsedPrologue",e[e.UnparsedPrepend=304]="UnparsedPrepend",e[e.UnparsedText=305]="UnparsedText",e[e.UnparsedInternalText=306]="UnparsedInternalText",e[e.UnparsedSyntheticReference=307]="UnparsedSyntheticReference",e[e.SourceFile=308]="SourceFile",e[e.Bundle=309]="Bundle",e[e.UnparsedSource=310]="UnparsedSource",e[e.InputFiles=311]="InputFiles",e[e.JSDocTypeExpression=312]="JSDocTypeExpression",e[e.JSDocNameReference=313]="JSDocNameReference",e[e.JSDocMemberName=314]="JSDocMemberName",e[e.JSDocAllType=315]="JSDocAllType",e[e.JSDocUnknownType=316]="JSDocUnknownType",e[e.JSDocNullableType=317]="JSDocNullableType",e[e.JSDocNonNullableType=318]="JSDocNonNullableType",e[e.JSDocOptionalType=319]="JSDocOptionalType",e[e.JSDocFunctionType=320]="JSDocFunctionType",e[e.JSDocVariadicType=321]="JSDocVariadicType",e[e.JSDocNamepathType=322]="JSDocNamepathType",e[e.JSDoc=323]="JSDoc",e[e.JSDocComment=323]="JSDocComment",e[e.JSDocText=324]="JSDocText",e[e.JSDocTypeLiteral=325]="JSDocTypeLiteral",e[e.JSDocSignature=326]="JSDocSignature",e[e.JSDocLink=327]="JSDocLink",e[e.JSDocLinkCode=328]="JSDocLinkCode",e[e.JSDocLinkPlain=329]="JSDocLinkPlain",e[e.JSDocTag=330]="JSDocTag",e[e.JSDocAugmentsTag=331]="JSDocAugmentsTag",e[e.JSDocImplementsTag=332]="JSDocImplementsTag",e[e.JSDocAuthorTag=333]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=334]="JSDocDeprecatedTag",e[e.JSDocClassTag=335]="JSDocClassTag",e[e.JSDocPublicTag=336]="JSDocPublicTag",e[e.JSDocPrivateTag=337]="JSDocPrivateTag",e[e.JSDocProtectedTag=338]="JSDocProtectedTag",e[e.JSDocReadonlyTag=339]="JSDocReadonlyTag",e[e.JSDocOverrideTag=340]="JSDocOverrideTag",e[e.JSDocCallbackTag=341]="JSDocCallbackTag",e[e.JSDocOverloadTag=342]="JSDocOverloadTag",e[e.JSDocEnumTag=343]="JSDocEnumTag",e[e.JSDocParameterTag=344]="JSDocParameterTag",e[e.JSDocReturnTag=345]="JSDocReturnTag",e[e.JSDocThisTag=346]="JSDocThisTag",e[e.JSDocTypeTag=347]="JSDocTypeTag",e[e.JSDocTemplateTag=348]="JSDocTemplateTag",e[e.JSDocTypedefTag=349]="JSDocTypedefTag",e[e.JSDocSeeTag=350]="JSDocSeeTag",e[e.JSDocPropertyTag=351]="JSDocPropertyTag",e[e.JSDocThrowsTag=352]="JSDocThrowsTag",e[e.JSDocSatisfiesTag=353]="JSDocSatisfiesTag",e[e.SyntaxList=354]="SyntaxList",e[e.NotEmittedStatement=355]="NotEmittedStatement",e[e.PartiallyEmittedExpression=356]="PartiallyEmittedExpression",e[e.CommaListExpression=357]="CommaListExpression",e[e.MergeDeclarationMarker=358]="MergeDeclarationMarker",e[e.EndOfDeclarationMarker=359]="EndOfDeclarationMarker",e[e.SyntheticReferenceExpression=360]="SyntheticReferenceExpression",e[e.Count=361]="Count",e[e.FirstAssignment=63]="FirstAssignment",e[e.LastAssignment=78]="LastAssignment",e[e.FirstCompoundAssignment=64]="FirstCompoundAssignment",e[e.LastCompoundAssignment=78]="LastCompoundAssignment",e[e.FirstReservedWord=81]="FirstReservedWord",e[e.LastReservedWord=116]="LastReservedWord",e[e.FirstKeyword=81]="FirstKeyword",e[e.LastKeyword=162]="LastKeyword",e[e.FirstFutureReservedWord=117]="FirstFutureReservedWord",e[e.LastFutureReservedWord=125]="LastFutureReservedWord",e[e.FirstTypeNode=179]="FirstTypeNode",e[e.LastTypeNode=202]="LastTypeNode",e[e.FirstPunctuation=18]="FirstPunctuation",e[e.LastPunctuation=78]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=162]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=8]="FirstLiteralToken",e[e.LastLiteralToken=14]="LastLiteralToken",e[e.FirstTemplateToken=14]="FirstTemplateToken",e[e.LastTemplateToken=17]="LastTemplateToken",e[e.FirstBinaryOperator=29]="FirstBinaryOperator",e[e.LastBinaryOperator=78]="LastBinaryOperator",e[e.FirstStatement=240]="FirstStatement",e[e.LastStatement=256]="LastStatement",e[e.FirstNode=163]="FirstNode",e[e.FirstJSDocNode=312]="FirstJSDocNode",e[e.LastJSDocNode=353]="LastJSDocNode",e[e.FirstJSDocTagNode=330]="FirstJSDocTagNode",e[e.LastJSDocTagNode=353]="LastJSDocTagNode",e[e.FirstContextualKeyword=126]="FirstContextualKeyword",e[e.LastContextualKeyword=162]="LastContextualKeyword",e))(Np||{}),Op=(e=>(e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.NestedNamespace=4]="NestedNamespace",e[e.Synthesized=8]="Synthesized",e[e.Namespace=16]="Namespace",e[e.OptionalChain=32]="OptionalChain",e[e.ExportContext=64]="ExportContext",e[e.ContainsThis=128]="ContainsThis",e[e.HasImplicitReturn=256]="HasImplicitReturn",e[e.HasExplicitReturn=512]="HasExplicitReturn",e[e.GlobalAugmentation=1024]="GlobalAugmentation",e[e.HasAsyncFunctions=2048]="HasAsyncFunctions",e[e.DisallowInContext=4096]="DisallowInContext",e[e.YieldContext=8192]="YieldContext",e[e.DecoratorContext=16384]="DecoratorContext",e[e.AwaitContext=32768]="AwaitContext",e[e.DisallowConditionalTypesContext=65536]="DisallowConditionalTypesContext",e[e.ThisNodeHasError=131072]="ThisNodeHasError",e[e.JavaScriptFile=262144]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=524288]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=1048576]="HasAggregatedChildData",e[e.PossiblyContainsDynamicImport=2097152]="PossiblyContainsDynamicImport",e[e.PossiblyContainsImportMeta=4194304]="PossiblyContainsImportMeta",e[e.JSDoc=8388608]="JSDoc",e[e.Ambient=16777216]="Ambient",e[e.InWithStatement=33554432]="InWithStatement",e[e.JsonFile=67108864]="JsonFile",e[e.TypeCached=134217728]="TypeCached",e[e.Deprecated=268435456]="Deprecated",e[e.BlockScoped=3]="BlockScoped",e[e.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",e[e.ContextFlags=50720768]="ContextFlags",e[e.TypeExcludesFlags=40960]="TypeExcludesFlags",e[e.PermanentlySetIncrementalFlags=6291456]="PermanentlySetIncrementalFlags",e[e.IdentifierHasExtendedUnicodeEscape=128]="IdentifierHasExtendedUnicodeEscape",e[e.IdentifierIsInJSDocNamespace=2048]="IdentifierIsInJSDocNamespace",e))(Op||{}),Mp=(e=>(e[e.None=0]="None",e[e.Export=1]="Export",e[e.Ambient=2]="Ambient",e[e.Public=4]="Public",e[e.Private=8]="Private",e[e.Protected=16]="Protected",e[e.Static=32]="Static",e[e.Readonly=64]="Readonly",e[e.Accessor=128]="Accessor",e[e.Abstract=256]="Abstract",e[e.Async=512]="Async",e[e.Default=1024]="Default",e[e.Const=2048]="Const",e[e.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",e[e.Deprecated=8192]="Deprecated",e[e.Override=16384]="Override",e[e.In=32768]="In",e[e.Out=65536]="Out",e[e.Decorator=131072]="Decorator",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=28]="AccessibilityModifier",e[e.ParameterPropertyModifier=16476]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=117086]="TypeScriptModifier",e[e.ExportDefault=1025]="ExportDefault",e[e.All=258047]="All",e[e.Modifier=126975]="Modifier",e))(Mp||{}),tg=(e=>(e[e.None=0]="None",e[e.IntrinsicNamedElement=1]="IntrinsicNamedElement",e[e.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",e[e.IntrinsicElement=3]="IntrinsicElement",e))(tg||{}),Lp=(e=>(e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.Reported=4]="Reported",e[e.ReportsUnmeasurable=8]="ReportsUnmeasurable",e[e.ReportsUnreliable=16]="ReportsUnreliable",e[e.ReportsMask=24]="ReportsMask",e))(Lp||{}),rg=(e=>(e[e.None=0]="None",e[e.Auto=1]="Auto",e[e.Loop=2]="Loop",e[e.Unique=3]="Unique",e[e.Node=4]="Node",e[e.KindMask=7]="KindMask",e[e.ReservedInNestedScopes=8]="ReservedInNestedScopes",e[e.Optimistic=16]="Optimistic",e[e.FileLevel=32]="FileLevel",e[e.AllowNameSubstitution=64]="AllowNameSubstitution",e))(rg||{}),ng=(e=>(e[e.None=0]="None",e[e.PrecedingLineBreak=1]="PrecedingLineBreak",e[e.PrecedingJSDocComment=2]="PrecedingJSDocComment",e[e.Unterminated=4]="Unterminated",e[e.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",e[e.Scientific=16]="Scientific",e[e.Octal=32]="Octal",e[e.HexSpecifier=64]="HexSpecifier",e[e.BinarySpecifier=128]="BinarySpecifier",e[e.OctalSpecifier=256]="OctalSpecifier",e[e.ContainsSeparator=512]="ContainsSeparator",e[e.UnicodeEscape=1024]="UnicodeEscape",e[e.ContainsInvalidEscape=2048]="ContainsInvalidEscape",e[e.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",e[e.NumericLiteralFlags=1008]="NumericLiteralFlags",e[e.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",e))(ng||{}),il=(e=>(e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Call=512]="Call",e[e.ReduceLabel=1024]="ReduceLabel",e[e.Referenced=2048]="Referenced",e[e.Shared=4096]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition",e))(il||{}),ig=(e=>(e[e.ExpectError=0]="ExpectError",e[e.Ignore=1]="Ignore",e))(ig||{}),Rp=class{},ag=(e=>(e[e.RootFile=0]="RootFile",e[e.SourceFromProjectReference=1]="SourceFromProjectReference",e[e.OutputFromProjectReference=2]="OutputFromProjectReference",e[e.Import=3]="Import",e[e.ReferenceFile=4]="ReferenceFile",e[e.TypeReferenceDirective=5]="TypeReferenceDirective",e[e.LibFile=6]="LibFile",e[e.LibReferenceDirective=7]="LibReferenceDirective",e[e.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",e))(ag||{}),sg=(e=>(e[e.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",e[e.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",e[e.ResolutionDiagnostics=2]="ResolutionDiagnostics",e))(sg||{}),og=(e=>(e[e.Js=0]="Js",e[e.Dts=1]="Dts",e))(og||{}),_g=(e=>(e[e.Not=0]="Not",e[e.SafeModules=1]="SafeModules",e[e.Completely=2]="Completely",e))(_g||{}),cg=(e=>(e[e.Success=0]="Success",e[e.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",e[e.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",e[e.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",e[e.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",e))(cg||{}),lg=(e=>(e[e.Ok=0]="Ok",e[e.NeedsOverride=1]="NeedsOverride",e[e.HasInvalidOverride=2]="HasInvalidOverride",e))(lg||{}),ug=(e=>(e[e.None=0]="None",e[e.Literal=1]="Literal",e[e.Subtype=2]="Subtype",e))(ug||{}),pg=(e=>(e[e.None=0]="None",e[e.Signature=1]="Signature",e[e.NoConstraints=2]="NoConstraints",e[e.Completions=4]="Completions",e[e.SkipBindingPatterns=8]="SkipBindingPatterns",e))(pg||{}),fg=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",e[e.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",e[e.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",e[e.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",e[e.AllowEmptyTuple=524288]="AllowEmptyTuple",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",e[e.WriteComputedProps=1073741824]="WriteComputedProps",e[e.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",e[e.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",e[e.IgnoreErrors=70221824]="IgnoreErrors",e[e.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.InInitialEntityName=16777216]="InInitialEntityName",e))(fg||{}),dg=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AddUndefined=131072]="AddUndefined",e[e.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",e[e.InArrayType=524288]="InArrayType",e[e.InElementType=2097152]="InElementType",e[e.InFirstTypeArgument=4194304]="InFirstTypeArgument",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.NodeBuilderFlagsMask=848330091]="NodeBuilderFlagsMask",e))(dg||{}),mg=(e=>(e[e.None=0]="None",e[e.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",e[e.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",e[e.AllowAnyNodeKind=4]="AllowAnyNodeKind",e[e.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",e[e.WriteComputedProps=16]="WriteComputedProps",e[e.DoNotIncludeSymbolChain=32]="DoNotIncludeSymbolChain",e))(mg||{}),hg=(e=>(e[e.Accessible=0]="Accessible",e[e.NotAccessible=1]="NotAccessible",e[e.CannotBeNamed=2]="CannotBeNamed",e))(hg||{}),gg=(e=>(e[e.UnionOrIntersection=0]="UnionOrIntersection",e[e.Spread=1]="Spread",e))(gg||{}),yg=(e=>(e[e.This=0]="This",e[e.Identifier=1]="Identifier",e[e.AssertsThis=2]="AssertsThis",e[e.AssertsIdentifier=3]="AssertsIdentifier",e))(yg||{}),vg=(e=>(e[e.Unknown=0]="Unknown",e[e.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",e[e.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",e[e.NumberLikeType=3]="NumberLikeType",e[e.BigIntLikeType=4]="BigIntLikeType",e[e.StringLikeType=5]="StringLikeType",e[e.BooleanType=6]="BooleanType",e[e.ArrayLikeType=7]="ArrayLikeType",e[e.ESSymbolType=8]="ESSymbolType",e[e.Promise=9]="Promise",e[e.TypeWithCallSignature=10]="TypeWithCallSignature",e[e.ObjectType=11]="ObjectType",e))(vg||{}),jp=(e=>(e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.Alias=2097152]="Alias",e[e.Prototype=4194304]="Prototype",e[e.ExportStar=8388608]="ExportStar",e[e.Optional=16777216]="Optional",e[e.Transient=33554432]="Transient",e[e.Assignment=67108864]="Assignment",e[e.ModuleExports=134217728]="ModuleExports",e[e.All=67108863]="All",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=111551]="Value",e[e.Type=788968]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",e[e.ParameterExcludes=111551]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=110991]="FunctionExcludes",e[e.ClassExcludes=899503]="ClassExcludes",e[e.InterfaceExcludes=788872]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=110735]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=103359]="MethodExcludes",e[e.GetAccessorExcludes=46015]="GetAccessorExcludes",e[e.SetAccessorExcludes=78783]="SetAccessorExcludes",e[e.AccessorExcludes=13247]="AccessorExcludes",e[e.TypeParameterExcludes=526824]="TypeParameterExcludes",e[e.TypeAliasExcludes=788968]="TypeAliasExcludes",e[e.AliasExcludes=2097152]="AliasExcludes",e[e.ModuleMember=2623475]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.ClassMember=106500]="ClassMember",e[e.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",e[e.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",e[e.Classifiable=2885600]="Classifiable",e[e.LateBindingContainer=6256]="LateBindingContainer",e))(jp||{}),bg=(e=>(e[e.Numeric=0]="Numeric",e[e.Literal=1]="Literal",e))(bg||{}),Tg=(e=>(e[e.None=0]="None",e[e.Instantiated=1]="Instantiated",e[e.SyntheticProperty=2]="SyntheticProperty",e[e.SyntheticMethod=4]="SyntheticMethod",e[e.Readonly=8]="Readonly",e[e.ReadPartial=16]="ReadPartial",e[e.WritePartial=32]="WritePartial",e[e.HasNonUniformType=64]="HasNonUniformType",e[e.HasLiteralType=128]="HasLiteralType",e[e.ContainsPublic=256]="ContainsPublic",e[e.ContainsProtected=512]="ContainsProtected",e[e.ContainsPrivate=1024]="ContainsPrivate",e[e.ContainsStatic=2048]="ContainsStatic",e[e.Late=4096]="Late",e[e.ReverseMapped=8192]="ReverseMapped",e[e.OptionalParameter=16384]="OptionalParameter",e[e.RestParameter=32768]="RestParameter",e[e.DeferredType=65536]="DeferredType",e[e.HasNeverType=131072]="HasNeverType",e[e.Mapped=262144]="Mapped",e[e.StripOptional=524288]="StripOptional",e[e.Unresolved=1048576]="Unresolved",e[e.Synthetic=6]="Synthetic",e[e.Discriminant=192]="Discriminant",e[e.Partial=48]="Partial",e))(Tg||{}),Sg=(e=>(e.Call="__call",e.Constructor="__constructor",e.New="__new",e.Index="__index",e.ExportStar="__export",e.Global="__global",e.Missing="__missing",e.Type="__type",e.Object="__object",e.JSXAttributes="__jsxAttributes",e.Class="__class",e.Function="__function",e.Computed="__computed",e.Resolving="__resolving__",e.ExportEquals="export=",e.Default="default",e.This="this",e))(Sg||{}),xg=(e=>(e[e.None=0]="None",e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.CaptureNewTarget=8]="CaptureNewTarget",e[e.SuperInstance=16]="SuperInstance",e[e.SuperStatic=32]="SuperStatic",e[e.ContextChecked=64]="ContextChecked",e[e.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",e[e.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",e[e.CaptureArguments=512]="CaptureArguments",e[e.EnumValuesComputed=1024]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",e[e.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",e[e.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",e[e.ClassWithBodyScopedClassBinding=65536]="ClassWithBodyScopedClassBinding",e[e.BodyScopedClassBinding=131072]="BodyScopedClassBinding",e[e.NeedsLoopOutParameter=262144]="NeedsLoopOutParameter",e[e.AssignmentsMarked=524288]="AssignmentsMarked",e[e.ClassWithConstructorReference=1048576]="ClassWithConstructorReference",e[e.ConstructorReferenceInClass=2097152]="ConstructorReferenceInClass",e[e.ContainsClassWithPrivateIdentifiers=4194304]="ContainsClassWithPrivateIdentifiers",e[e.ContainsSuperPropertyInStaticInitializer=8388608]="ContainsSuperPropertyInStaticInitializer",e[e.InCheckIdentifier=16777216]="InCheckIdentifier",e))(xg||{}),Jp=(e=>(e[e.Any=1]="Any",e[e.Unknown=2]="Unknown",e[e.String=4]="String",e[e.Number=8]="Number",e[e.Boolean=16]="Boolean",e[e.Enum=32]="Enum",e[e.BigInt=64]="BigInt",e[e.StringLiteral=128]="StringLiteral",e[e.NumberLiteral=256]="NumberLiteral",e[e.BooleanLiteral=512]="BooleanLiteral",e[e.EnumLiteral=1024]="EnumLiteral",e[e.BigIntLiteral=2048]="BigIntLiteral",e[e.ESSymbol=4096]="ESSymbol",e[e.UniqueESSymbol=8192]="UniqueESSymbol",e[e.Void=16384]="Void",e[e.Undefined=32768]="Undefined",e[e.Null=65536]="Null",e[e.Never=131072]="Never",e[e.TypeParameter=262144]="TypeParameter",e[e.Object=524288]="Object",e[e.Union=1048576]="Union",e[e.Intersection=2097152]="Intersection",e[e.Index=4194304]="Index",e[e.IndexedAccess=8388608]="IndexedAccess",e[e.Conditional=16777216]="Conditional",e[e.Substitution=33554432]="Substitution",e[e.NonPrimitive=67108864]="NonPrimitive",e[e.TemplateLiteral=134217728]="TemplateLiteral",e[e.StringMapping=268435456]="StringMapping",e[e.AnyOrUnknown=3]="AnyOrUnknown",e[e.Nullable=98304]="Nullable",e[e.Literal=2944]="Literal",e[e.Unit=109472]="Unit",e[e.Freshable=2976]="Freshable",e[e.StringOrNumberLiteral=384]="StringOrNumberLiteral",e[e.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",e[e.DefinitelyFalsy=117632]="DefinitelyFalsy",e[e.PossiblyFalsy=117724]="PossiblyFalsy",e[e.Intrinsic=67359327]="Intrinsic",e[e.Primitive=134348796]="Primitive",e[e.StringLike=402653316]="StringLike",e[e.NumberLike=296]="NumberLike",e[e.BigIntLike=2112]="BigIntLike",e[e.BooleanLike=528]="BooleanLike",e[e.EnumLike=1056]="EnumLike",e[e.ESSymbolLike=12288]="ESSymbolLike",e[e.VoidLike=49152]="VoidLike",e[e.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",e[e.DisjointDomains=469892092]="DisjointDomains",e[e.UnionOrIntersection=3145728]="UnionOrIntersection",e[e.StructuredType=3670016]="StructuredType",e[e.TypeVariable=8650752]="TypeVariable",e[e.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",e[e.InstantiablePrimitive=406847488]="InstantiablePrimitive",e[e.Instantiable=465829888]="Instantiable",e[e.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",e[e.ObjectFlagsType=3899393]="ObjectFlagsType",e[e.Simplifiable=25165824]="Simplifiable",e[e.Singleton=67358815]="Singleton",e[e.Narrowable=536624127]="Narrowable",e[e.IncludesMask=205258751]="IncludesMask",e[e.IncludesMissingType=262144]="IncludesMissingType",e[e.IncludesNonWideningType=4194304]="IncludesNonWideningType",e[e.IncludesWildcard=8388608]="IncludesWildcard",e[e.IncludesEmptyObject=16777216]="IncludesEmptyObject",e[e.IncludesInstantiable=33554432]="IncludesInstantiable",e[e.NotPrimitiveUnion=36323363]="NotPrimitiveUnion",e))(Jp||{}),Fp=(e=>(e[e.None=0]="None",e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ReverseMapped=1024]="ReverseMapped",e[e.JsxAttributes=2048]="JsxAttributes",e[e.JSLiteral=4096]="JSLiteral",e[e.FreshLiteral=8192]="FreshLiteral",e[e.ArrayLiteral=16384]="ArrayLiteral",e[e.PrimitiveUnion=32768]="PrimitiveUnion",e[e.ContainsWideningType=65536]="ContainsWideningType",e[e.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",e[e.NonInferrableType=262144]="NonInferrableType",e[e.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",e[e.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",e[e.ClassOrInterface=3]="ClassOrInterface",e[e.RequiresWidening=196608]="RequiresWidening",e[e.PropagatingFlags=458752]="PropagatingFlags",e[e.ObjectTypeKindMask=1343]="ObjectTypeKindMask",e[e.ContainsSpread=2097152]="ContainsSpread",e[e.ObjectRestType=4194304]="ObjectRestType",e[e.InstantiationExpressionType=8388608]="InstantiationExpressionType",e[e.IsClassInstanceClone=16777216]="IsClassInstanceClone",e[e.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",e[e.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",e[e.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",e[e.IsGenericObjectType=4194304]="IsGenericObjectType",e[e.IsGenericIndexType=8388608]="IsGenericIndexType",e[e.IsGenericType=12582912]="IsGenericType",e[e.ContainsIntersections=16777216]="ContainsIntersections",e[e.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",e[e.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",e[e.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",e[e.IsNeverIntersection=33554432]="IsNeverIntersection",e))(Fp||{}),Eg=(e=>(e[e.Invariant=0]="Invariant",e[e.Covariant=1]="Covariant",e[e.Contravariant=2]="Contravariant",e[e.Bivariant=3]="Bivariant",e[e.Independent=4]="Independent",e[e.VarianceMask=7]="VarianceMask",e[e.Unmeasurable=8]="Unmeasurable",e[e.Unreliable=16]="Unreliable",e[e.AllowsStructuralFallback=24]="AllowsStructuralFallback",e))(Eg||{}),wg=(e=>(e[e.Required=1]="Required",e[e.Optional=2]="Optional",e[e.Rest=4]="Rest",e[e.Variadic=8]="Variadic",e[e.Fixed=3]="Fixed",e[e.Variable=12]="Variable",e[e.NonRequired=14]="NonRequired",e[e.NonRest=11]="NonRest",e))(wg||{}),Cg=(e=>(e[e.None=0]="None",e[e.IncludeUndefined=1]="IncludeUndefined",e[e.NoIndexSignatures=2]="NoIndexSignatures",e[e.Writing=4]="Writing",e[e.CacheSymbol=8]="CacheSymbol",e[e.NoTupleBoundsCheck=16]="NoTupleBoundsCheck",e[e.ExpressionPosition=32]="ExpressionPosition",e[e.ReportDeprecated=64]="ReportDeprecated",e[e.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",e[e.Contextual=256]="Contextual",e[e.Persistent=1]="Persistent",e))(Cg||{}),Ag=(e=>(e[e.Component=0]="Component",e[e.Function=1]="Function",e[e.Mixed=2]="Mixed",e))(Ag||{}),Pg=(e=>(e[e.Call=0]="Call",e[e.Construct=1]="Construct",e))(Pg||{}),Bp=(e=>(e[e.None=0]="None",e[e.HasRestParameter=1]="HasRestParameter",e[e.HasLiteralTypes=2]="HasLiteralTypes",e[e.Abstract=4]="Abstract",e[e.IsInnerCallChain=8]="IsInnerCallChain",e[e.IsOuterCallChain=16]="IsOuterCallChain",e[e.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",e[e.PropagatingFlags=39]="PropagatingFlags",e[e.CallChainFlags=24]="CallChainFlags",e))(Bp||{}),Dg=(e=>(e[e.String=0]="String",e[e.Number=1]="Number",e))(Dg||{}),kg=(e=>(e[e.Simple=0]="Simple",e[e.Array=1]="Array",e[e.Deferred=2]="Deferred",e[e.Function=3]="Function",e[e.Composite=4]="Composite",e[e.Merged=5]="Merged",e))(kg||{}),Ig=(e=>(e[e.None=0]="None",e[e.NakedTypeVariable=1]="NakedTypeVariable",e[e.SpeculativeTuple=2]="SpeculativeTuple",e[e.SubstituteSource=4]="SubstituteSource",e[e.HomomorphicMappedType=8]="HomomorphicMappedType",e[e.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",e[e.MappedTypeConstraint=32]="MappedTypeConstraint",e[e.ContravariantConditional=64]="ContravariantConditional",e[e.ReturnType=128]="ReturnType",e[e.LiteralKeyof=256]="LiteralKeyof",e[e.NoConstraints=512]="NoConstraints",e[e.AlwaysStrict=1024]="AlwaysStrict",e[e.MaxValue=2048]="MaxValue",e[e.PriorityImpliesCombination=416]="PriorityImpliesCombination",e[e.Circularity=-1]="Circularity",e))(Ig||{}),Ng=(e=>(e[e.None=0]="None",e[e.NoDefault=1]="NoDefault",e[e.AnyDefault=2]="AnyDefault",e[e.SkippedGenericFunction=4]="SkippedGenericFunction",e))(Ng||{}),Og=(e=>(e[e.False=0]="False",e[e.Unknown=1]="Unknown",e[e.Maybe=3]="Maybe",e[e.True=-1]="True",e))(Og||{}),Mg=(e=>(e[e.None=0]="None",e[e.ExportsProperty=1]="ExportsProperty",e[e.ModuleExports=2]="ModuleExports",e[e.PrototypeProperty=3]="PrototypeProperty",e[e.ThisProperty=4]="ThisProperty",e[e.Property=5]="Property",e[e.Prototype=6]="Prototype",e[e.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",e[e.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",e[e.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",e))(Mg||{}),qp=(e=>(e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message",e))(qp||{}),Lg=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e[e.Node10=2]="Node10",e[e.Node16=3]="Node16",e[e.NodeNext=99]="NodeNext",e[e.Bundler=100]="Bundler",e))(Lg||{}),Rg=(e=>(e[e.Legacy=1]="Legacy",e[e.Auto=2]="Auto",e[e.Force=3]="Force",e))(Rg||{}),jg=(e=>(e[e.FixedPollingInterval=0]="FixedPollingInterval",e[e.PriorityPollingInterval=1]="PriorityPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e[e.UseFsEvents=4]="UseFsEvents",e[e.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",e))(jg||{}),Jg=(e=>(e[e.UseFsEvents=0]="UseFsEvents",e[e.FixedPollingInterval=1]="FixedPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e))(Jg||{}),Fg=(e=>(e[e.FixedInterval=0]="FixedInterval",e[e.PriorityInterval=1]="PriorityInterval",e[e.DynamicPriority=2]="DynamicPriority",e[e.FixedChunkSize=3]="FixedChunkSize",e))(Fg||{}),Bg=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ES2020=6]="ES2020",e[e.ES2022=7]="ES2022",e[e.ESNext=99]="ESNext",e[e.Node16=100]="Node16",e[e.NodeNext=199]="NodeNext",e))(Bg||{}),qg=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(qg||{}),Ug=(e=>(e[e.Remove=0]="Remove",e[e.Preserve=1]="Preserve",e[e.Error=2]="Error",e))(Ug||{}),zg=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(zg||{}),Wg=(e=>(e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX",e[e.External=5]="External",e[e.JSON=6]="JSON",e[e.Deferred=7]="Deferred",e))(Wg||{}),Vg=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ES2021=8]="ES2021",e[e.ES2022=9]="ES2022",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(Vg||{}),Hg=(e=>(e[e.Standard=0]="Standard",e[e.JSX=1]="JSX",e))(Hg||{}),Gg=(e=>(e[e.None=0]="None",e[e.Recursive=1]="Recursive",e))(Gg||{}),$g=(e=>(e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab",e))($g||{}),Kg=(e=>(e.Ts=".ts",e.Tsx=".tsx",e.Dts=".d.ts",e.Js=".js",e.Jsx=".jsx",e.Json=".json",e.TsBuildInfo=".tsbuildinfo",e.Mjs=".mjs",e.Mts=".mts",e.Dmts=".d.mts",e.Cjs=".cjs",e.Cts=".cts",e.Dcts=".d.cts",e))(Kg||{}),Up=(e=>(e[e.None=0]="None",e[e.ContainsTypeScript=1]="ContainsTypeScript",e[e.ContainsJsx=2]="ContainsJsx",e[e.ContainsESNext=4]="ContainsESNext",e[e.ContainsES2022=8]="ContainsES2022",e[e.ContainsES2021=16]="ContainsES2021",e[e.ContainsES2020=32]="ContainsES2020",e[e.ContainsES2019=64]="ContainsES2019",e[e.ContainsES2018=128]="ContainsES2018",e[e.ContainsES2017=256]="ContainsES2017",e[e.ContainsES2016=512]="ContainsES2016",e[e.ContainsES2015=1024]="ContainsES2015",e[e.ContainsGenerator=2048]="ContainsGenerator",e[e.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",e[e.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",e[e.ContainsLexicalThis=16384]="ContainsLexicalThis",e[e.ContainsRestOrSpread=32768]="ContainsRestOrSpread",e[e.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",e[e.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=524288]="ContainsBindingPattern",e[e.ContainsYield=1048576]="ContainsYield",e[e.ContainsAwait=2097152]="ContainsAwait",e[e.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",e[e.ContainsDynamicImport=8388608]="ContainsDynamicImport",e[e.ContainsClassFields=16777216]="ContainsClassFields",e[e.ContainsDecorators=33554432]="ContainsDecorators",e[e.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",e[e.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",e[e.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",e[e.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",e[e.HasComputedFlags=-2147483648]="HasComputedFlags",e[e.AssertTypeScript=1]="AssertTypeScript",e[e.AssertJsx=2]="AssertJsx",e[e.AssertESNext=4]="AssertESNext",e[e.AssertES2022=8]="AssertES2022",e[e.AssertES2021=16]="AssertES2021",e[e.AssertES2020=32]="AssertES2020",e[e.AssertES2019=64]="AssertES2019",e[e.AssertES2018=128]="AssertES2018",e[e.AssertES2017=256]="AssertES2017",e[e.AssertES2016=512]="AssertES2016",e[e.AssertES2015=1024]="AssertES2015",e[e.AssertGenerator=2048]="AssertGenerator",e[e.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",e[e.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",e[e.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",e[e.NodeExcludes=-2147483648]="NodeExcludes",e[e.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",e[e.FunctionExcludes=-1937940480]="FunctionExcludes",e[e.ConstructorExcludes=-1937948672]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",e[e.PropertyExcludes=-2013249536]="PropertyExcludes",e[e.ClassExcludes=-2147344384]="ClassExcludes",e[e.ModuleExcludes=-1941676032]="ModuleExcludes",e[e.TypeExcludes=-2]="TypeExcludes",e[e.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",e[e.ParameterExcludes=-2147483648]="ParameterExcludes",e[e.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",e[e.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",e[e.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",e[e.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",e))(Up||{}),zp=(e=>(e[e.TabStop=0]="TabStop",e[e.Placeholder=1]="Placeholder",e[e.Choice=2]="Choice",e[e.Variable=3]="Variable",e))(zp||{}),Wp=(e=>(e[e.None=0]="None",e[e.SingleLine=1]="SingleLine",e[e.MultiLine=2]="MultiLine",e[e.AdviseOnEmitNode=4]="AdviseOnEmitNode",e[e.NoSubstitution=8]="NoSubstitution",e[e.CapturesThis=16]="CapturesThis",e[e.NoLeadingSourceMap=32]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=64]="NoTrailingSourceMap",e[e.NoSourceMap=96]="NoSourceMap",e[e.NoNestedSourceMaps=128]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=768]="NoTokenSourceMaps",e[e.NoLeadingComments=1024]="NoLeadingComments",e[e.NoTrailingComments=2048]="NoTrailingComments",e[e.NoComments=3072]="NoComments",e[e.NoNestedComments=4096]="NoNestedComments",e[e.HelperName=8192]="HelperName",e[e.ExportName=16384]="ExportName",e[e.LocalName=32768]="LocalName",e[e.InternalName=65536]="InternalName",e[e.Indented=131072]="Indented",e[e.NoIndentation=262144]="NoIndentation",e[e.AsyncFunctionBody=524288]="AsyncFunctionBody",e[e.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",e[e.CustomPrologue=2097152]="CustomPrologue",e[e.NoHoisting=4194304]="NoHoisting",e[e.HasEndOfDeclarationMarker=8388608]="HasEndOfDeclarationMarker",e[e.Iterator=16777216]="Iterator",e[e.NoAsciiEscaping=33554432]="NoAsciiEscaping",e))(Wp||{}),Xg=(e=>(e[e.None=0]="None",e[e.TypeScriptClassWrapper=1]="TypeScriptClassWrapper",e[e.NeverApplyImportHelper=2]="NeverApplyImportHelper",e[e.IgnoreSourceNewlines=4]="IgnoreSourceNewlines",e[e.Immutable=8]="Immutable",e[e.IndirectCall=16]="IndirectCall",e[e.TransformPrivateStaticElements=32]="TransformPrivateStaticElements",e))(Xg||{}),Yg=(e=>(e[e.Extends=1]="Extends",e[e.Assign=2]="Assign",e[e.Rest=4]="Rest",e[e.Decorate=8]="Decorate",e[e.ESDecorateAndRunInitializers=8]="ESDecorateAndRunInitializers",e[e.Metadata=16]="Metadata",e[e.Param=32]="Param",e[e.Awaiter=64]="Awaiter",e[e.Generator=128]="Generator",e[e.Values=256]="Values",e[e.Read=512]="Read",e[e.SpreadArray=1024]="SpreadArray",e[e.Await=2048]="Await",e[e.AsyncGenerator=4096]="AsyncGenerator",e[e.AsyncDelegator=8192]="AsyncDelegator",e[e.AsyncValues=16384]="AsyncValues",e[e.ExportStar=32768]="ExportStar",e[e.ImportStar=65536]="ImportStar",e[e.ImportDefault=131072]="ImportDefault",e[e.MakeTemplateObject=262144]="MakeTemplateObject",e[e.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",e[e.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",e[e.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",e[e.CreateBinding=4194304]="CreateBinding",e[e.SetFunctionName=8388608]="SetFunctionName",e[e.PropKey=16777216]="PropKey",e[e.FirstEmitHelper=1]="FirstEmitHelper",e[e.LastEmitHelper=16777216]="LastEmitHelper",e[e.ForOfIncludes=256]="ForOfIncludes",e[e.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",e[e.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",e[e.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",e[e.SpreadIncludes=1536]="SpreadIncludes",e))(Yg||{}),Qg=(e=>(e[e.SourceFile=0]="SourceFile",e[e.Expression=1]="Expression",e[e.IdentifierName=2]="IdentifierName",e[e.MappedTypeParameter=3]="MappedTypeParameter",e[e.Unspecified=4]="Unspecified",e[e.EmbeddedStatement=5]="EmbeddedStatement",e[e.JsxAttributeValue=6]="JsxAttributeValue",e))(Qg||{}),Zg=(e=>(e[e.Parentheses=1]="Parentheses",e[e.TypeAssertions=2]="TypeAssertions",e[e.NonNullAssertions=4]="NonNullAssertions",e[e.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",e[e.Assertions=6]="Assertions",e[e.All=15]="All",e[e.ExcludeJSDocTypeAssertion=16]="ExcludeJSDocTypeAssertion",e))(Zg||{}),ey=(e=>(e[e.None=0]="None",e[e.InParameters=1]="InParameters",e[e.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",e))(ey||{}),ty=(e=>(e.Prologue="prologue",e.EmitHelpers="emitHelpers",e.NoDefaultLib="no-default-lib",e.Reference="reference",e.Type="type",e.TypeResolutionModeRequire="type-require",e.TypeResolutionModeImport="type-import",e.Lib="lib",e.Prepend="prepend",e.Text="text",e.Internal="internal",e))(ty||{}),ry=(e=>(e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.AsteriskDelimited=32]="AsteriskDelimited",e[e.DelimitersMask=60]="DelimitersMask",e[e.AllowTrailingComma=64]="AllowTrailingComma",e[e.Indented=128]="Indented",e[e.SpaceBetweenBraces=256]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",e[e.Braces=1024]="Braces",e[e.Parenthesis=2048]="Parenthesis",e[e.AngleBrackets=4096]="AngleBrackets",e[e.SquareBrackets=8192]="SquareBrackets",e[e.BracketsMask=15360]="BracketsMask",e[e.OptionalIfUndefined=16384]="OptionalIfUndefined",e[e.OptionalIfEmpty=32768]="OptionalIfEmpty",e[e.Optional=49152]="Optional",e[e.PreferNewLine=65536]="PreferNewLine",e[e.NoTrailingNewLine=131072]="NoTrailingNewLine",e[e.NoInterveningComments=262144]="NoInterveningComments",e[e.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",e[e.SingleElement=1048576]="SingleElement",e[e.SpaceAfterList=2097152]="SpaceAfterList",e[e.Modifiers=2359808]="Modifiers",e[e.HeritageClauses=512]="HeritageClauses",e[e.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",e[e.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",e[e.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",e[e.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",e[e.UnionTypeConstituents=516]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",e[e.ImportClauseEntries=526226]="ImportClauseEntries",e[e.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",e[e.CommaListElements=528]="CommaListElements",e[e.CallExpressionArguments=2576]="CallExpressionArguments",e[e.NewExpressionArguments=18960]="NewExpressionArguments",e[e.TemplateExpressionSpans=262144]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=768]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=129]="MultiLineBlockStatements",e[e.VariableDeclarationList=528]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=0]="ClassHeritageClauses",e[e.ClassMembers=129]="ClassMembers",e[e.InterfaceMembers=129]="InterfaceMembers",e[e.EnumMembers=145]="EnumMembers",e[e.CaseBlockClauses=129]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",e[e.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",e[e.JsxElementAttributes=262656]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=528]="HeritageClauseTypes",e[e.SourceFileStatements=131073]="SourceFileStatements",e[e.Decorators=2146305]="Decorators",e[e.TypeArguments=53776]="TypeArguments",e[e.TypeParameters=53776]="TypeParameters",e[e.Parameters=2576]="Parameters",e[e.IndexSignatureParameters=8848]="IndexSignatureParameters",e[e.JSDocComment=33]="JSDocComment",e))(ry||{}),ny=(e=>(e[e.None=0]="None",e[e.TripleSlashXML=1]="TripleSlashXML",e[e.SingleLine=2]="SingleLine",e[e.MultiLine=4]="MultiLine",e[e.All=7]="All",e[e.Default=7]="Default",e))(ny||{}),Vp={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}}),W5=()=>{},iy;function ay(e){return e===47||e===92}function V5(e){return al(e)<0}function A_(e){return al(e)>0}function H5(e){let t=al(e);return t>0&&t===e.length}function sy(e){return al(e)!==0}function So(e){return/^\.\.?($|[\\/])/.test(e)}function G5(e){return!sy(e)&&!So(e)}function OT(e){return Fi(sl(e),".")}function ns(e,t){return e.length>t.length&&es(e,t)}function da(e,t){for(let r of t)if(ns(e,r))return!0;return!1}function Hp(e){return e.length>0&&ay(e.charCodeAt(e.length-1))}function MT(e){return e>=97&&e<=122||e>=65&&e<=90}function $5(e,t){let r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){let s=e.charCodeAt(t+2);if(s===97||s===65)return t+3}return-1}function al(e){if(!e)return 0;let t=e.charCodeAt(0);if(t===47||t===92){if(e.charCodeAt(1)!==t)return 1;let s=e.indexOf(t===47?zn:py,2);return s<0?e.length:s+1}if(MT(t)&&e.charCodeAt(1)===58){let s=e.charCodeAt(2);if(s===47||s===92)return 3;if(e.length===2)return 2}let r=e.indexOf(fy);if(r!==-1){let s=r+fy.length,f=e.indexOf(zn,s);if(f!==-1){let x=e.slice(0,r),w=e.slice(s,f);if(x==="file"&&(w===""||w==="localhost")&&MT(e.charCodeAt(f+1))){let A=$5(e,f+2);if(A!==-1){if(e.charCodeAt(A)===47)return~(A+1);if(A===e.length)return~A}}return~(f+1)}return~e.length}return 0}function Bi(e){let t=al(e);return t<0?~t:t}function ma(e){e=Eo(e);let t=Bi(e);return t===e.length?e:(e=P_(e),e.slice(0,Math.max(t,e.lastIndexOf(zn))))}function sl(e,t,r){if(e=Eo(e),Bi(e)===e.length)return"";e=P_(e);let f=e.slice(Math.max(Bi(e),e.lastIndexOf(zn)+1)),x=t!==void 0&&r!==void 0?Gp(f,t,r):void 0;return x?f.slice(0,f.length-x.length):f}function LT(e,t,r){if(Pn(t,".")||(t="."+t),e.length>=t.length&&e.charCodeAt(e.length-t.length)===46){let s=e.slice(e.length-t.length);if(r(s,t))return s}}function K5(e,t,r){if(typeof t=="string")return LT(e,t,r)||"";for(let s of t){let f=LT(e,s,r);if(f)return f}return""}function Gp(e,t,r){if(t)return K5(P_(e),t,r?Ms:To);let s=sl(e),f=s.lastIndexOf(".");return f>=0?s.substring(f):""}function X5(e,t){let r=e.substring(0,t),s=e.substring(t).split(zn);return s.length&&!Cn(s)&&s.pop(),[r,...s]}function qi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e=tn(t,e),X5(e,Bi(e))}function xo(e){return e.length===0?"":(e[0]&&wo(e[0]))+e.slice(1).join(zn)}function Eo(e){return e.indexOf("\\")!==-1?e.replace(BT,zn):e}function is(e){if(!Ke(e))return[];let t=[e[0]];for(let r=1;r1){if(t[t.length-1]!==".."){t.pop();continue}}else if(t[0])continue}t.push(s)}}return t}function tn(e){e&&(e=Eo(e));for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s0==Bi(t)>0,"Paths must either both be absolute or both be relative");let x=ly(e,t,(typeof r=="boolean"?r:!1)?Ms:To,typeof r=="function"?r:rr);return xo(x)}function nA(e,t,r){return A_(e)?uy(t,e,t,r,!1):e}function iA(e,t,r){return _y(JT(ma(e),t,r))}function uy(e,t,r,s,f){let x=ly(oy(r,e),oy(r,t),To,s),w=x[0];if(f&&A_(w)){let A=w.charAt(0)===zn?"file://":"file:///";x[0]=A+w}return xo(x)}function FT(e,t){for(;;){let r=t(e);if(r!==void 0)return r;let s=ma(e);if(s===e)return;e=s}}function aA(e){return es(e,"/node_modules")}var zn,py,fy,BT,ol,sA=D({"src/compiler/path.ts"(){"use strict";nn(),zn="/",py="\\",fy="://",BT=/\\/g,ol=/(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/}});function i(e,t,r,s,f,x,w){return{code:e,category:t,key:r,message:s,reportsUnnecessary:f,elidedInCompatabilityPyramid:x,reportsDeprecated:w}}var ve,oA=D({"src/compiler/diagnosticInformationMap.generated.ts"(){"use strict";NT(),ve={Unterminated_string_literal:i(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:i(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:i(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:i(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:i(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:i(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:i(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:i(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:i(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:i(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:i(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:i(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:i(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:i(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:i(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:i(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:i(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:i(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:i(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:i(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:i(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:i(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:i(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:i(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:i(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:i(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:i(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:i(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:i(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:i(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:i(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:i(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:i(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:i(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:i(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:i(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:i(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:i(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:i(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:i(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:i(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:i(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055","Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:i(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:i(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:i(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:i(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:i(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:i(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:i(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:i(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:i(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:i(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:i(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:i(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:i(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:i(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:i(1085,1,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:i(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:i(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:i(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:i(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:i(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:i(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:i(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:i(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:i(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:i(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:i(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:i(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:i(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:i(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:i(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:i(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:i(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:i(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:i(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:i(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:i(1110,1,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:i(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:i(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:i(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:i(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:i(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:i(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:i(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:i(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:i(1121,1,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:i(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:i(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:i(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:i(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:i(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:i(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:i(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:i(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:i(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:i(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:i(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:i(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:i(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:i(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:i(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:i(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:i(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:i(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:i(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:i(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:i(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:i(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:i(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:i(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:i(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:i(1155,1,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:i(1156,1,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:i(1157,1,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:i(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:i(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:i(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:i(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:i(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:i(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:i(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:i(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:i(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:i(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:i(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:i(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:i(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:i(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:i(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:i(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:i(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:i(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:i(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:i(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:i(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:i(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:i(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:i(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:i(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:i(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:i(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:i(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:i(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:i(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:i(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:i(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:i(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:i(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:i(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:i(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:i(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:i(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:i(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:i(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:i(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:i(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:i(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:i(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:i(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:i(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:i(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:i(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:i(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:i(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:i(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:i(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:i(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:i(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:i(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:i(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:i(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:i(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:i(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:i(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:i(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:i(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:i(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:i(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:i(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:i(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:i(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:i(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:i(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:i(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:i(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:i(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:i(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:i(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:i(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:i(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:i(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:i(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:i(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:i(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:i(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:i(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:i(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:i(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:i(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:i(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:i(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:i(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:i(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:i(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:i(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:i(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:i(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:i(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:i(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:i(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:i(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:i(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:i(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:i(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:i(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:i(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:i(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:i(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:i(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1286,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286","ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:i(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),with_statements_are_not_allowed_in_an_async_function_block:i(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:i(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:i(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:i(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:i(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:i(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:i(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:i(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:i(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:i(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:i(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:i(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."),Argument_of_dynamic_import_cannot_be_spread_element:i(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:i(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:i(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:i(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:i(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:i(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:i(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:i(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:i(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:i(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:i(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:i(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:i(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:i(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:i(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:i(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:i(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:i(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:i(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:i(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:i(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:i(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:i(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:i(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:i(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:i(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:i(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:i(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:i(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:i(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:i(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:i(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:i(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:i(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:i(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:i(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:i(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:i(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:i(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:i(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:i(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:i(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:i(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:i(1371,1,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:i(1373,3,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:i(1374,3,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:i(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:i(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:i(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:i(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:i(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:i(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:i(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:i(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:i(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:i(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:i(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:i(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:i(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:i(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:i(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:i(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:i(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:i(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:i(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:i(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:i(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:i(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:i(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:i(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:i(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:i(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:i(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:i(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:i(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:i(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:i(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:i(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:i(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:i(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:i(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:i(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:i(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:i(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:i(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:i(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:i(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:i(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:i(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:i(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:i(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:i(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:i(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:i(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:i(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:i(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:i(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:i(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:i(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:i(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:i(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:i(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:i(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:i(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1444,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1446,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:i(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:i(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:i(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:i(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext:i(1452,1,"resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452","'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),resolution_mode_should_be_either_require_or_import:i(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:i(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:i(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:i(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:i(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:i(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:i(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:i(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:i(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:i(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:i(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:i(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:i(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:i(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:i(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:i(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:i(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:i(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:i(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:i(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:i(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:i(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),The_types_of_0_are_incompatible_between_these_types:i(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:i(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:i(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:i(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:i(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:i(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:i(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:i(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:i(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:i(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:i(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:i(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:i(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:i(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:i(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:i(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:i(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:i(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:i(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:i(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:i(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:i(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:i(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:i(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:i(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:i(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:i(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:i(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:i(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:i(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:i(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:i(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:i(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:i(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:i(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:i(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:i(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:i(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:i(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:i(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:i(2333,1,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:i(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:i(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:i(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:i(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:i(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:i(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:i(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:i(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:i(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:i(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:i(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:i(2346,1,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:i(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:i(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:i(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:i(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:i(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:i(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:i(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:i(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:i(2355,1,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:i(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:i(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:i(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:i(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:i(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:i(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:i(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:i(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:i(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:i(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:i(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:i(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:i(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:i(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:i(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:i(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:i(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:i(2380,1,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:i(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:i(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:i(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:i(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:i(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:i(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:i(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:i(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:i(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:i(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:i(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:i(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:i(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:i(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:i(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:i(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:i(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:i(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:i(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:i(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:i(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:i(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:i(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:i(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:i(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:i(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:i(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:i(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:i(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:i(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:i(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:i(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:i(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:i(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:i(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:i(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:i(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:i(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:i(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:i(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:i(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:i(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:i(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:i(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:i(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:i(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:i(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:i(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:i(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:i(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:i(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:i(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:i(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:i(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:i(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:i(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:i(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:i(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:i(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:i(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:i(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:i(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:i(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:i(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:i(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:i(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:i(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:i(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:i(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:i(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:i(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:i(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:i(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:i(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:i(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:i(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:i(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:i(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:i(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:i(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:i(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:i(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:i(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:i(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:i(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:i(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:i(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:i(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:i(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:i(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:i(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:i(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:i(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:i(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:i(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:i(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:i(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:i(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:i(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:i(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:i(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:i(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:i(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:i(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:i(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:i(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:i(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:i(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:i(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:i(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:i(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:i(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:i(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:i(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:i(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:i(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:i(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:i(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:i(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:i(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:i(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:i(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:i(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:i(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:i(2525,1,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:i(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:i(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:i(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:i(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:i(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:i(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:i(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:i(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:i(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:i(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:i(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:i(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:i(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:i(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:i(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:i(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:i(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:i(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:i(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:i(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:i(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:i(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:i(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:i(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:i(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:i(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:i(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:i(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:i(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:i(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:i(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:i(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:i(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:i(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:i(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:i(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:i(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:i(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:i(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:i(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:i(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:i(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:i(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:i(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:i(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:i(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:i(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:i(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:i(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:i(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:i(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:i(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:i(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:i(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:i(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:i(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:i(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:i(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:i(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:i(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:i(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:i(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:i(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:i(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:i(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:i(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:i(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:i(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:i(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:i(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:i(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:i(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:i(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:i(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:i(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:i(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:i(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:i(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:i(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:i(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:i(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:i(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:i(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:i(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:i(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:i(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:i(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:i(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:i(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:i(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:i(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:i(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:i(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:i(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:i(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:i(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:i(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:i(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:i(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:i(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:i(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:i(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:i(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:i(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:i(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:i(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:i(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:i(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:i(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:i(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:i(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:i(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:i(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:i(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:i(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:i(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:i(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:i(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:i(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:i(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:i(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:i(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:i(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:i(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:i(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:i(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:i(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:i(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:i(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:i(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:i(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:i(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:i(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:i(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:i(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:i(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:i(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:i(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:i(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:i(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:i(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:i(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2705,1,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:i(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:i(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:i(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:i(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:i(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2712,1,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:i(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:i(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:i(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:i(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:i(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:i(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:i(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:i(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:i(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:i(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:i(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:i(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:i(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:i(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:i(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:i(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:i(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:i(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:i(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:i(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:i(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:i(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:i(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:i(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:i(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:i(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:i(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:i(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:i(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:i(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:i(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:i(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:i(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:i(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:i(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:i(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:i(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:i(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:i(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:i(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:i(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:i(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:i(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:i(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:i(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:i(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:i(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:i(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:i(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:i(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:i(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:i(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:i(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:i(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:i(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:i(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:i(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:i(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:i(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:i(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:i(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:i(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:i(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:i(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:i(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:i(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:i(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:i(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:i(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:i(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:i(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:i(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:i(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:i(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:i(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:i(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:i(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:i(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:i(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:i(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:i(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:i(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:i(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:i(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:i(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:i(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:i(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:i(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:i(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:i(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:i(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:i(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:i(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:i(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:i(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:i(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:i(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:i(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:i(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:i(2815,1,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:i(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:i(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:i(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:i(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:i(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext:i(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821","Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:i(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:i(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:i(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:i(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:i(2836,1,"Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836","Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:i(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:i(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:i(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes:i(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840","An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(2841,1,"The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841","The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:i(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:i(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:i(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:i(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),Import_declaration_0_is_using_private_name_1:i(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:i(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:i(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:i(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:i(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:i(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:i(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:i(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:i(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:i(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:i(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:i(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:i(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:i(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:i(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:i(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:i(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:i(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:i(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:i(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:i(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:i(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:i(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:i(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:i(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:i(4090,1,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:i(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:i(4094,1,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:i(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:i(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:i(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:i(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:i(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:i(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:i(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:i(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:i(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:i(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:i(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:i(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:i(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:i(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:i(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:i(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:i(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:i(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:i(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4125,1,"resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125","'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:i(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:i(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:i(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:i(5014,1,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:i(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:i(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:i(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:i(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:i(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:i(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:i(5048,1,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:i(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:i(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:i(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:i(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:i(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:i(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:i(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:i(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:i(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:i(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:i(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:i(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:i(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:i(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:i(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:i(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:i(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:i(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:i(5071,1,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:i(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:i(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:i(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:i(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:i(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:i(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:i(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:i(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:i(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:i(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:i(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:i(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:i(5084,1,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:i(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:i(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:i(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:i(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:i(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:i(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:i(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:i(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:i(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:i(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later:i(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:i(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:i(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:i(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:i(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:i(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:i(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:i(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:i(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:i(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:i(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:i(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:i(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:i(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:i(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:i(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:i(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:i(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:i(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:i(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:i(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:i(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:i(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:i(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:i(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:i(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:i(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:i(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:i(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:i(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:i(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:i(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:i(6024,3,"options_6024","options"),file:i(6025,3,"file_6025","file"),Examples_Colon_0:i(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:i(6027,3,"Options_Colon_6027","Options:"),Version_0:i(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:i(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:i(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:i(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:i(6034,3,"KIND_6034","KIND"),FILE:i(6035,3,"FILE_6035","FILE"),VERSION:i(6036,3,"VERSION_6036","VERSION"),LOCATION:i(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:i(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:i(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:i(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:i(6041,3,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:i(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:i(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:i(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:i(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:i(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:i(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:i(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:i(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:i(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:i(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:i(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:i(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:i(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:i(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:i(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:i(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:i(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:i(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:i(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:i(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:i(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:i(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:i(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:i(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:i(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:i(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:i(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:i(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:i(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:i(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:i(6081,3,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:i(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:i(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:i(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:i(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:i(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:i(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:i(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:i(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:i(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:i(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:i(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:i(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:i(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:i(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:i(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:i(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:i(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:i(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:i(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:i(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:i(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:i(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:i(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:i(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:i(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:i(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:i(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:i(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:i(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:i(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:i(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:i(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:i(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:i(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:i(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:i(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:i(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:i(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:i(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:i(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:i(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:i(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:i(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:i(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:i(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:i(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:i(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:i(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:i(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:i(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:i(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:i(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:i(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:i(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:i(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:i(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:i(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:i(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:i(6145,3,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:i(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:i(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:i(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:i(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:i(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:i(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:i(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:i(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:i(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:i(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:i(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:i(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:i(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:i(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:i(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:i(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:i(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:i(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:i(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:i(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:i(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:i(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:i(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:i(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:i(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:i(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:i(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:i(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:i(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:i(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:i(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:i(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:i(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:i(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:i(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:i(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:i(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:i(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:i(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:i(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:i(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:i(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:i(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:i(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:i(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:i(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:i(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:i(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:i(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:i(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:i(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:i(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:i(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:i(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:i(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:i(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:i(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:i(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:i(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:i(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:i(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:i(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:i(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:i(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:i(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:i(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:i(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:i(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:i(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:i(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:i(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:i(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:i(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:i(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:i(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:i(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:i(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:i(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:i(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:i(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:i(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:i(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:i(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:i(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:i(6244,3,"Modules_6244","Modules"),File_Management:i(6245,3,"File_Management_6245","File Management"),Emit:i(6246,3,"Emit_6246","Emit"),JavaScript_Support:i(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:i(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:i(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:i(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:i(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:i(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:i(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:i(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:i(6255,3,"Projects_6255","Projects"),Output_Formatting:i(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:i(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:i(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_1:i(6259,3,"Found_1_error_in_1_6259","Found 1 error in {1}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:i(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:i(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:i(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:i(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:i(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:i(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:i(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:i(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:i(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:i(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:i(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:i(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278",`There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),Enable_project_compilation:i(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:i(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:i(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:i(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:i(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:i(6308,1,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:i(6309,1,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:i(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:i(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:i(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:i(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:i(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:i(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:i(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:i(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:i(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:i(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:i(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:i(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:i(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:i(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:i(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:i(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:i(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:i(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:i(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:i(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:i(6372,3,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:i(6373,3,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:i(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:i(6375,3,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:i(6376,3,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:i(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:i(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:i(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:i(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:i(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:i(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:i(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:i(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:i(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:i(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:i(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:i(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:i(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:i(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:i(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:i(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:i(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:i(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:i(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:i(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:i(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:i(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:i(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:i(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:i(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:i(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:i(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:i(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:i(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:i(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:i(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:i(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:i(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:i(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:i(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:i(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:i(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:i(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:i(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:i(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:i(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:i(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:i(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:i(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:i(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:i(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:i(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:i(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:i(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:i(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:i(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:i(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:i(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:i(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:i(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:i(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:i(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:i(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:i(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:i(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:i(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:i(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:i(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:i(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:i(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:i(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:i(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:i(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:i(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:i(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:i(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:i(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:i(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:i(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:i(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:i(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:i(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:i(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:i(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:i(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:i(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:i(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:i(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:i(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:i(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:i(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:i(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:i(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:i(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:i(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:i(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:i(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:i(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:i(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:i(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:i(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:i(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:i(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:i(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:i(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:i(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:i(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:i(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:i(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:i(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:i(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:i(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:i(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:i(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:i(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:i(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:i(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:i(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:i(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:i(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:i(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:i(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:i(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:i(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:i(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:i(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:i(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:i(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:i(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:i(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:i(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:i(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:i(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:i(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:i(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:i(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:i(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:i(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:i(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:i(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:i(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:i(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:i(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:i(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:i(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:i(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:i(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:i(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:i(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:i(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:i(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:i(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:i(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:i(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:i(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Default_catch_clause_variables_as_unknown_instead_of_any:i(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:i(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),one_of_Colon:i(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:i(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:i(6902,3,"type_Colon_6902","type:"),default_Colon:i(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:i(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:i(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:i(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:i(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:i(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:i(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:i(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:i(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:i(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:i(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:i(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:i(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:i(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:i(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:i(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:i(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:i(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:i(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:i(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:i(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:i(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:i(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:i(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:i(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:i(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:i(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:i(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:i(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:i(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:i(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:i(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:i(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:i(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:i(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:i(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:i(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:i(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:i(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:i(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:i(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:i(7025,1,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:i(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:i(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:i(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:i(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:i(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:i(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:i(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:i(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:i(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:i(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:i(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:i(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:i(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:i(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:i(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:i(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:i(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:i(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:i(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:i(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:i(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:i(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:i(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:i(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:i(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:i(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:i(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:i(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:i(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:i(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:i(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:i(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:i(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:i(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:i(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:i(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:i(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:i(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:i(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:i(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:i(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:i(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:i(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:i(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:i(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:i(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:i(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:i(8017,1,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:i(8018,1,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:i(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:i(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:i(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:i(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:i(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:i(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:i(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:i(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:i(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:i(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:i(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:i(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:i(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:i(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:i(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:i(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:i(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:i(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:i(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:i(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:i(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:i(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:i(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:i(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:i(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:i(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:i(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:i(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:i(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:i(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:i(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:i(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:i(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:i(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:i(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:i(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:i(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:i(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:i(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:i(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:i(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:i(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:i(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:i(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:i(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:i(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:i(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:i(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:i(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:i(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:i(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:i(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:i(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:i(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:i(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:i(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:i(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:i(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:i(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:i(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:i(90013,3,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:i(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:i(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:i(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:i(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:i(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:i(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:i(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:i(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:i(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:i(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:i(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:i(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:i(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:i(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:i(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:i(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:i(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:i(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:i(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:i(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:i(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:i(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:i(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:i(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:i(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:i(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:i(90055,3,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:i(90056,3,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:i(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:i(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:i(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:i(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Convert_function_to_an_ES2015_class:i(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:i(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:i(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:i(95005,3,"Extract_function_95005","Extract function"),Extract_constant:i(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:i(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:i(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:i(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:i(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:i(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:i(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:i(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:i(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:i(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:i(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:i(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:i(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:i(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:i(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:i(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:i(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:i(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:i(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:i(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:i(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:i(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:i(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:i(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:i(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:i(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:i(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:i(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:i(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:i(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:i(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:i(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:i(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:i(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:i(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:i(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:i(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:i(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:i(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:i(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:i(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:i(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:i(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:i(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:i(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:i(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:i(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:i(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:i(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:i(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:i(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:i(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:i(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:i(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:i(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:i(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:i(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:i(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:i(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:i(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:i(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:i(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:i(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:i(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:i(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:i(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:i(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:i(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:i(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:i(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:i(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:i(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:i(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:i(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:i(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:i(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:i(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:i(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:i(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:i(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:i(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:i(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:i(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:i(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:i(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:i(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:i(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:i(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:i(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:i(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:i(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:i(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:i(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:i(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:i(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:i(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:i(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:i(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:i(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:i(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:i(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:i(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:i(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:i(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:i(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:i(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:i(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:i(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:i(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:i(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:i(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:i(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:i(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:i(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:i(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:i(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:i(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:i(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:i(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:i(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:i(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:i(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:i(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:i(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:i(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:i(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:i(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:i(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:i(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:i(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:i(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:i(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:i(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:i(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:i(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:i(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:i(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:i(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:i(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:i(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:i(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:i(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:i(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:i(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:i(95154,3,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:i(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:i(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:i(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:i(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:i(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:i(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:i(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:i(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:i(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:i(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:i(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:i(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:i(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:i(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:i(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:i(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:i(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:i(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:i(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:i(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:i(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:i(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:i(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:i(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:i(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:i(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:i(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:i(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:i(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:i(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:i(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:i(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:i(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:i(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:i(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:i(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:i(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:i(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:i(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:i(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:i(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:i(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:i(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:i(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:i(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:i(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:i(18037,1,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:i(18038,1,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:i(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:i(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:i(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:i(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:i(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:i(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:i(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:i(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:i(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:i(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:i(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string.")}}});function fr(e){return e>=79}function qT(e){return e===31||fr(e)}function D_(e,t){if(e=2?D_(e,ZT):t===1?D_(e,YT):D_(e,KT)}function _A(e,t){return t>=2?D_(e,eS):t===1?D_(e,QT):D_(e,XT)}function cA(e){let t=[];return e.forEach((r,s)=>{t[r]=s}),t}function Br(e){return nS[e]}function _l(e){return Ty.get(e)}function Kp(e){let t=[],r=0,s=0;for(;r127&&un(f)&&(t.push(s),s=r);break}}return t.push(s),t}function lA(e,t,r,s){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,s):dy(ss(e),t,r,e.text,s)}function dy(e,t,r,s,f){(t<0||t>=e.length)&&(f?t=t<0?0:t>=e.length?e.length-1:t:Y.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${s!==void 0?ke(e,Kp(s)):"unknown"}`));let x=e[t]+r;return f?x>e[t+1]?e[t+1]:typeof s=="string"&&x>s.length?s.length:x:(t=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}function un(e){return e===10||e===13||e===8232||e===8233}function O_(e){return e>=48&&e<=57}function Xp(e){return O_(e)||e>=65&&e<=70||e>=97&&e<=102}function uA(e){return e<=1114111}function hy(e){return e>=48&&e<=55}function pA(e,t){let r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return t===0;default:return r>127}}function Ar(e,t,r,s,f){if(hs(t))return t;let x=!1;for(;;){let w=e.charCodeAt(t);switch(w){case 13:e.charCodeAt(t+1)===10&&t++;case 10:if(t++,r)return t;x=!!f;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(s)break;if(e.charCodeAt(t+1)===47){for(t+=2;t127&&os(w)){t++;continue}break}return t}}function Co(e,t){if(Y.assert(t>=0),t===0||un(e.charCodeAt(t-1))){let r=e.charCodeAt(t);if(t+ll=0&&r127&&os(ae)){X&&un(ae)&&(N=!0),r++;continue}break e}}return X&&($=f(A,g,B,N,x,$)),$}function fA(e,t,r,s){return Yp(!1,e,t,!1,r,s)}function dA(e,t,r,s){return Yp(!1,e,t,!0,r,s)}function zT(e,t,r,s,f){return Yp(!0,e,t,!1,r,s,f)}function WT(e,t,r,s,f){return Yp(!0,e,t,!0,r,s,f)}function VT(e,t,r,s,f){let x=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[];return x.push({kind:r,pos:e,end:t,hasTrailingNewLine:s}),x}function Ao(e,t){return zT(e,t,VT,void 0,void 0)}function HT(e,t){return WT(e,t,VT,void 0,void 0)}function GT(e){let t=Qp.exec(e);if(t)return t[0]}function Wn(e,t){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&UT(e,t)}function Rs(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||(r===1?e===45||e===58:!1)||e>127&&_A(e,t)}function vy(e,t,r){let s=ii(e,0);if(!Wn(s,t))return!1;for(let f=yi(s);f2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,f=arguments.length>4?arguments[4]:void 0,x=arguments.length>5?arguments[5]:void 0,w=arguments.length>6?arguments[6]:void 0;var A=s,g,B,N,X,F,$,ae,Te,Se=0;ue(A,x,w);var Ye={getStartPos:()=>N,getTextPos:()=>g,getToken:()=>F,getTokenPos:()=>X,getTokenText:()=>A.substring(X,g),getTokenValue:()=>$,hasUnicodeEscape:()=>(ae&1024)!==0,hasExtendedUnicodeEscape:()=>(ae&8)!==0,hasPrecedingLineBreak:()=>(ae&1)!==0,hasPrecedingJSDocComment:()=>(ae&2)!==0,isIdentifier:()=>F===79||F>116,isReservedWord:()=>F>=81&&F<=116,isUnterminated:()=>(ae&4)!==0,getCommentDirectives:()=>Te,getNumericLiteralFlags:()=>ae&1008,getTokenFlags:()=>ae,reScanGreaterToken:Sn,reScanAsteriskEqualsToken:In,reScanSlashToken:pr,reScanTemplateToken:Nn,reScanTemplateHeadOrNoSubstitutionTemplate:ar,scanJsxIdentifier:nr,scanJsxAttributeValue:br,reScanJsxAttributeValue:Kr,reScanJsxToken:oi,reScanLessThanToken:cr,reScanHashToken:$r,reScanQuestionToken:hr,reScanInvalidIdentifier:Gr,scanJsxToken:On,scanJsDocToken:wa,scan:Ur,getText:Ca,clearCommentDirectives:St,setText:ue,setScriptTarget:_t,setLanguageVariant:ft,setOnError:He,setTextPos:Kt,setInJSDocType:zt,tryScan:_i,lookAhead:Mn,scanRange:Ki};return Y.isDebugging&&Object.defineProperty(Ye,"__debugShowCurrentPositionInText",{get:()=>{let xe=Ye.getText();return xe.slice(0,Ye.getStartPos())+"\u2551"+xe.slice(Ye.getStartPos())}}),Ye;function Ne(xe){let Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g,Re=arguments.length>2?arguments[2]:void 0;if(f){let ot=g;g=Le,f(xe,Re||0),g=ot}}function oe(){let xe=g,Le=!1,Re=!1,ot="";for(;;){let Ct=A.charCodeAt(g);if(Ct===95){ae|=512,Le?(Le=!1,Re=!0,ot+=A.substring(xe,g)):Ne(Re?ve.Multiple_consecutive_numeric_separators_are_not_permitted:ve.Numeric_separators_are_not_allowed_here,g,1),g++,xe=g;continue}if(O_(Ct)){Le=!0,Re=!1,g++;continue}break}return A.charCodeAt(g-1)===95&&Ne(ve.Numeric_separators_are_not_allowed_here,g-1,1),ot+A.substring(xe,g)}function Ve(){let xe=g,Le=oe(),Re,ot;A.charCodeAt(g)===46&&(g++,Re=oe());let Ct=g;if(A.charCodeAt(g)===69||A.charCodeAt(g)===101){g++,ae|=16,(A.charCodeAt(g)===43||A.charCodeAt(g)===45)&&g++;let It=g,Mr=oe();Mr?(ot=A.substring(Ct,It)+Mr,Ct=g):Ne(ve.Digit_expected)}let Mt;if(ae&512?(Mt=Le,Re&&(Mt+="."+Re),ot&&(Mt+=ot)):Mt=A.substring(xe,Ct),Re!==void 0||ae&16)return pt(xe,Re===void 0&&!!(ae&16)),{type:8,value:""+ +Mt};{$=Mt;let It=dn();return pt(xe),{type:It,value:$}}}function pt(xe,Le){if(!Wn(ii(A,g),e))return;let Re=g,{length:ot}=an();ot===1&&A[Re]==="n"?Ne(Le?ve.A_bigint_literal_cannot_use_exponential_notation:ve.A_bigint_literal_must_be_an_integer,xe,Re-xe+1):(Ne(ve.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,Re,ot),g=Re)}function Gt(){let xe=g;for(;hy(A.charCodeAt(g));)g++;return+A.substring(xe,g)}function Nt(xe,Le){let Re=er(xe,!1,Le);return Re?parseInt(Re,16):-1}function Xt(xe,Le){return er(xe,!0,Le)}function er(xe,Le,Re){let ot=[],Ct=!1,Mt=!1;for(;ot.length=65&&It<=70)It+=97-65;else if(!(It>=48&&It<=57||It>=97&&It<=102))break;ot.push(It),g++,Mt=!1}return ot.length0&&arguments[0]!==void 0?arguments[0]:!1,Le=A.charCodeAt(g);g++;let Re="",ot=g;for(;;){if(g>=B){Re+=A.substring(ot,g),ae|=4,Ne(ve.Unterminated_string_literal);break}let Ct=A.charCodeAt(g);if(Ct===Le){Re+=A.substring(ot,g),g++;break}if(Ct===92&&!xe){Re+=A.substring(ot,g),Re+=Gi(),ot=g;continue}if(un(Ct)&&!xe){Re+=A.substring(ot,g),ae|=4,Ne(ve.Unterminated_string_literal);break}g++}return Re}function Hr(xe){let Le=A.charCodeAt(g)===96;g++;let Re=g,ot="",Ct;for(;;){if(g>=B){ot+=A.substring(Re,g),ae|=4,Ne(ve.Unterminated_template_literal),Ct=Le?14:17;break}let Mt=A.charCodeAt(g);if(Mt===96){ot+=A.substring(Re,g),g++,Ct=Le?14:17;break}if(Mt===36&&g+1=B)return Ne(ve.Unexpected_end_of_text),"";let Re=A.charCodeAt(g);switch(g++,Re){case 48:return xe&&g=0?String.fromCharCode(Le):(Ne(ve.Hexadecimal_digit_expected),"")}function fn(){let xe=Xt(1,!1),Le=xe?parseInt(xe,16):-1,Re=!1;return Le<0?(Ne(ve.Hexadecimal_digit_expected),Re=!0):Le>1114111&&(Ne(ve.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),Re=!0),g>=B?(Ne(ve.Unexpected_end_of_text),Re=!0):A.charCodeAt(g)===125?g++:(Ne(ve.Unterminated_Unicode_escape_sequence),Re=!0),Re?"":by(Le)}function Ut(){if(g+5=0&&Rs(Re,e)){g+=3,ae|=8,xe+=fn(),Le=g;continue}if(Re=Ut(),!(Re>=0&&Rs(Re,e)))break;ae|=1024,xe+=A.substring(Le,g),xe+=by(Re),g+=6,Le=g}else break}return xe+=A.substring(Le,g),xe}function mr(){let xe=$.length;if(xe>=2&&xe<=12){let Le=$.charCodeAt(0);if(Le>=97&&Le<=122){let Re=$T.get($);if(Re!==void 0)return F=Re}}return F=79}function $i(xe){let Le="",Re=!1,ot=!1;for(;;){let Ct=A.charCodeAt(g);if(Ct===95){ae|=512,Re?(Re=!1,ot=!0):Ne(ot?ve.Multiple_consecutive_numeric_separators_are_not_permitted:ve.Numeric_separators_are_not_allowed_here,g,1),g++;continue}if(Re=!0,!O_(Ct)||Ct-48>=xe)break;Le+=A[g],g++,ot=!1}return A.charCodeAt(g-1)===95&&Ne(ve.Numeric_separators_are_not_allowed_here,g-1,1),Le}function dn(){return A.charCodeAt(g)===110?($+="n",ae&384&&($=Hf($)+"n"),g++,9):($=""+(ae&128?parseInt($.slice(2),2):ae&256?parseInt($.slice(2),8):+$),8)}function Ur(){N=g,ae=0;let xe=!1;for(;;){if(X=g,g>=B)return F=1;let Le=ii(A,g);if(Le===35&&g===0&&gy(A,g)){if(g=yy(A,g),t)continue;return F=6}switch(Le){case 10:case 13:if(ae|=1,t){g++;continue}else return Le===13&&g+1=0&&Wn(Re,e))return g+=3,ae|=8,$=fn()+an(),F=mr();let ot=Ut();return ot>=0&&Wn(ot,e)?(g+=6,ae|=1024,$=String.fromCharCode(ot)+an(),F=mr()):(Ne(ve.Invalid_character),g++,F=0);case 35:if(g!==0&&A[g+1]==="!")return Ne(ve.can_only_be_used_at_the_start_of_a_file),g++,F=0;let Ct=ii(A,g+1);if(Ct===92){g++;let Mr=kn();if(Mr>=0&&Wn(Mr,e))return g+=3,ae|=8,$="#"+fn()+an(),F=80;let gr=Ut();if(gr>=0&&Wn(gr,e))return g+=6,ae|=1024,$="#"+String.fromCharCode(gr)+an(),F=80;g--}return Wn(Ct,e)?(g++,_r(Ct,e)):($="#",Ne(ve.Invalid_character,g++,yi(Le))),F=80;default:let Mt=_r(Le,e);if(Mt)return F=Mt;if(N_(Le)){g+=yi(Le);continue}else if(un(Le)){ae|=1,g+=yi(Le);continue}let It=yi(Le);return Ne(ve.Invalid_character,g,It),g+=It,F=0}}}function Gr(){Y.assert(F===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),g=X=N,ae=0;let xe=ii(A,g),Le=_r(xe,99);return Le?F=Le:(g+=yi(xe),F)}function _r(xe,Le){let Re=xe;if(Wn(Re,Le)){for(g+=yi(Re);g0&&arguments[0]!==void 0?arguments[0]:!0;return g=X=N,F=On(xe)}function cr(){return F===47?(g=X+1,F=29):F}function $r(){return F===80?(g=X+1,F=62):F}function hr(){return Y.assert(F===60,"'reScanQuestionToken' should only be called on a '??'"),g=X+1,F=57}function On(){let xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(N=X=g,g>=B)return F=1;let Le=A.charCodeAt(g);if(Le===60)return A.charCodeAt(g+1)===47?(g+=2,F=30):(g++,F=29);if(Le===123)return g++,F=18;let Re=0;for(;g0)break;os(Le)||(Re=g)}g++}return $=A.substring(N,g),Re===-1?12:11}function nr(){if(fr(F)){let xe=!1;for(;g=B)return F=1;let xe=ii(A,g);switch(g+=yi(xe),xe){case 9:case 11:case 12:case 32:for(;g=0&&Wn(Le,e))return g+=3,ae|=8,$=fn()+an(),F=mr();let Re=Ut();return Re>=0&&Wn(Re,e)?(g+=6,ae|=1024,$=String.fromCharCode(Re)+an(),F=mr()):(g++,F=0)}if(Wn(xe,e)){let Le=xe;for(;g=0),g=xe,N=xe,X=xe,F=0,$=void 0,ae=0}function zt(xe){Se+=xe?1:-1}}function yi(e){return e>=65536?2:1}function mA(e){if(Y.assert(0<=e&&e<=1114111),e<=65535)return String.fromCharCode(e);let t=Math.floor((e-65536)/1024)+55296,r=(e-65536)%1024+56320;return String.fromCharCode(t,r)}function by(e){return iS(e)}var cl,$T,Ty,KT,XT,YT,QT,ZT,eS,tS,rS,nS,ll,Qp,ii,iS,hA=D({"src/compiler/scanner.ts"(){"use strict";nn(),cl={abstract:126,accessor:127,any:131,as:128,asserts:129,assert:130,bigint:160,boolean:134,break:81,case:82,catch:83,class:84,continue:86,const:85,constructor:135,debugger:87,declare:136,default:88,delete:89,do:90,else:91,enum:92,export:93,extends:94,false:95,finally:96,for:97,from:158,function:98,get:137,if:99,implements:117,import:100,in:101,infer:138,instanceof:102,interface:118,intrinsic:139,is:140,keyof:141,let:119,module:142,namespace:143,never:144,new:103,null:104,number:148,object:149,package:120,private:121,protected:122,public:123,override:161,out:145,readonly:146,require:147,global:159,return:105,satisfies:150,set:151,static:124,string:152,super:106,switch:107,symbol:153,this:108,throw:109,true:110,try:111,type:154,typeof:112,undefined:155,unique:156,unknown:157,var:113,void:114,while:115,with:116,yield:125,async:132,await:133,of:162},$T=new Map(Object.entries(cl)),Ty=new Map(Object.entries(Object.assign(Object.assign({},cl),{},{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61}))),KT=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],XT=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],YT=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],QT=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],ZT=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],eS=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],tS=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,rS=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,nS=cA(Ty),ll=7,Qp=/^#!.*/,ii=String.prototype.codePointAt?(e,t)=>e.codePointAt(t):function(t,r){let s=t.length;if(r<0||r>=s)return;let f=t.charCodeAt(r);if(f>=55296&&f<=56319&&s>r+1){let x=t.charCodeAt(r+1);if(x>=56320&&x<=57343)return(f-55296)*1024+x-56320+65536}return f},iS=String.fromCodePoint?e=>String.fromCodePoint(e):mA}});function gA(e){return So(e)||A_(e)}function yA(e){return uo(e,av)}function aS(e){switch(Uf(e)){case 99:return"lib.esnext.full.d.ts";case 9:return"lib.es2022.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function Ir(e){return e.start+e.length}function sS(e){return e.length===0}function vA(e,t){return t>=e.start&&t=e.pos&&t<=e.end}function TA(e,t){return t.start>=e.start&&Ir(t)<=Ir(e)}function SA(e,t){return oS(e,t)!==void 0}function oS(e,t){let r=_S(e,t);return r&&r.length===0?void 0:r}function xA(e,t){return Sy(e.start,e.length,t.start,t.length)}function EA(e,t,r){return Sy(e.start,e.length,t,r)}function Sy(e,t,r,s){let f=e+t,x=r+s;return r<=f&&x>=e}function wA(e,t){return t<=Ir(e)&&t>=e.start}function _S(e,t){let r=Math.max(e.start,t.start),s=Math.min(Ir(e),Ir(t));return r<=s?ha(r,s):void 0}function L_(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function ha(e,t){return L_(e,t-e)}function R_(e){return L_(e.span.start,e.newLength)}function cS(e){return sS(e.span)&&e.newLength===0}function Zp(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function CA(e){if(e.length===0)return Vy;if(e.length===1)return e[0];let t=e[0],r=t.span.start,s=Ir(t.span),f=r+t.newLength;for(let x=1;xt.flags)}function DA(e,t,r){let s=e.toLowerCase(),f=/^([a-z]+)([_\-]([a-z]+))?$/.exec(s);if(!f){r&&r.push(Ol(ve.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,"en","ja-jp"));return}let x=f[1],w=f[3];pe(Hy,s)&&!A(x,w,r)&&A(x,void 0,r),xp(e);function A(g,B,N){let X=Un(t.getExecutingFilePath()),F=ma(X),$=tn(F,g);if(B&&($=$+"-"+B),$=t.resolvePath(tn($,"diagnosticMessages.generated.json")),!t.fileExists($))return!1;let ae="";try{ae=t.readFile($)}catch{return N&&N.push(Ol(ve.Unable_to_open_file_0,$)),!1}try{yx(JSON.parse(ae))}catch{return N&&N.push(Ol(ve.Corrupted_locale_file_0,$)),!1}return!0}}function ul(e,t){if(e)for(;e.original!==void 0;)e=e.original;return!e||!t||t(e)?e:void 0}function zi(e,t){for(;e;){let r=t(e);if(r==="quit")return;if(r)return e;e=e.parent}}function pl(e){return(e.flags&8)===0}function fl(e,t){if(e===void 0||pl(e))return e;for(e=e.original;e;){if(pl(e))return!t||t(e)?e:void 0;e=e.original}}function vi(e){return e.length>=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?"_"+e:e}function dl(e){let t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}function qr(e){return dl(e.escapedText)}function dS(e){let t=_l(e.escapedText);return t?ln(t,ba):void 0}function rf(e){return e.valueDeclaration&&zS(e.valueDeclaration)?qr(e.valueDeclaration.name):dl(e.escapedName)}function mS(e){let t=e.parent.parent;if(t){if(ko(t))return nf(t);switch(t.kind){case 240:if(t.declarationList&&t.declarationList.declarations[0])return nf(t.declarationList.declarations[0]);break;case 241:let r=t.expression;switch(r.kind===223&&r.operatorToken.kind===63&&(r=r.left),r.kind){case 208:return r.name;case 209:let s=r.argumentExpression;if(yt(s))return s}break;case 214:return nf(t.expression);case 253:{if(ko(t.statement)||mf(t.statement))return nf(t.statement);break}}}}function nf(e){let t=ml(e);return t&&yt(t)?t:void 0}function hS(e,t){return!!(af(e)&&yt(e.name)&&qr(e.name)===qr(t)||zo(e)&&Ke(e.declarationList.declarations,r=>hS(r,t)))}function gS(e){return e.name||mS(e)}function af(e){return!!e.name}function Ey(e){switch(e.kind){case 79:return e;case 351:case 344:{let{name:r}=e;if(r.kind===163)return r.right;break}case 210:case 223:{let r=e;switch(ps(r)){case 1:case 4:case 5:case 3:return Cf(r.left);case 7:case 8:case 9:return r.arguments[1];default:return}}case 349:return gS(e);case 343:return mS(e);case 274:{let{expression:r}=e;return yt(r)?r:void 0}case 209:let t=e;if(x0(t))return t.argumentExpression}return e.name}function ml(e){if(e!==void 0)return Ey(e)||(ad(e)||sd(e)||_d(e)?yS(e):void 0)}function yS(e){if(e.parent){if(lc(e.parent)||Xl(e.parent))return e.parent.name;if(ur(e.parent)&&e===e.parent.right){if(yt(e.parent.left))return e.parent.left;if(Lo(e.parent.left))return Cf(e.parent.left)}else if(Vi(e.parent)&&yt(e.parent.name))return e.parent.name}else return}function kA(e){if(Il(e))return ee(e.modifiers,zl)}function sf(e){if(rn(e,126975))return ee(e.modifiers,Oy)}function vS(e,t){if(e.name)if(yt(e.name)){let r=e.name.escapedText;return j_(e.parent,t).filter(s=>pc(s)&&yt(s.name)&&s.name.escapedText===r)}else{let r=e.parent.parameters.indexOf(e);Y.assert(r>-1,"Parameters should always be in their parents' parameter list");let s=j_(e.parent,t).filter(pc);if(rGo(s)&&s.typeParameters.some(f=>f.name.escapedText===r))}function SS(e){return TS(e,!1)}function xS(e){return TS(e,!0)}function IA(e){return!!Nr(e,pc)}function ES(e){return Nr(e,md)}function wS(e){return MS(e,hE)}function NA(e){return Nr(e,pE)}function OA(e){return Nr(e,d2)}function CS(e){return Nr(e,d2,!0)}function MA(e){return Nr(e,m2)}function AS(e){return Nr(e,m2,!0)}function LA(e){return Nr(e,h2)}function PS(e){return Nr(e,h2,!0)}function RA(e){return Nr(e,g2)}function DS(e){return Nr(e,g2,!0)}function kS(e){return Nr(e,fE,!0)}function jA(e){return Nr(e,v2)}function IS(e){return Nr(e,v2,!0)}function JA(e){return Nr(e,dE)}function FA(e){return Nr(e,mE)}function NS(e){return Nr(e,b2)}function BA(e){return Nr(e,Go)}function wy(e){return Nr(e,T2)}function _f(e){let t=Nr(e,au);if(t&&t.typeExpression&&t.typeExpression.type)return t}function cf(e){let t=Nr(e,au);return!t&&Vs(e)&&(t=Ae(of(e),r=>!!r.typeExpression)),t&&t.typeExpression&&t.typeExpression.type}function OS(e){let t=NS(e);if(t&&t.typeExpression)return t.typeExpression.type;let r=_f(e);if(r&&r.typeExpression){let s=r.typeExpression.type;if(id(s)){let f=Ae(s.members,Vv);return f&&f.type}if($l(s)||dd(s))return s.type}}function j_(e,t){var r,s;if(!Af(e))return Bt;let f=(r=e.jsDoc)==null?void 0:r.jsDocCache;if(f===void 0||t){let x=r4(e,t);Y.assert(x.length<2||x[0]!==x[1]),f=ne(x,w=>Ho(w)?w.tags:w),t||((s=e.jsDoc)!=null||(e.jsDoc=[]),e.jsDoc.jsDocCache=f)}return f}function hl(e){return j_(e,!1)}function qA(e){return j_(e,!0)}function Nr(e,t,r){return Ae(j_(e,r),t)}function MS(e,t){return hl(e).filter(t)}function UA(e,t){return hl(e).filter(r=>r.kind===t)}function zA(e){return typeof e=="string"?e:e==null?void 0:e.map(t=>t.kind===324?t.text:WA(t)).join("")}function WA(e){let t=e.kind===327?"link":e.kind===328?"linkcode":"linkplain",r=e.name?ls(e.name):"",s=e.name&&e.text.startsWith("://")?"":" ";return`{@${t} ${r}${s}${e.text}}`}function VA(e){if(iu(e)){if(y2(e.parent)){let t=P0(e.parent);if(t&&I(t.tags))return ne(t.tags,r=>Go(r)?r.typeParameters:void 0)}return Bt}if(Cl(e))return Y.assert(e.parent.kind===323),ne(e.parent.tags,t=>Go(t)?t.typeParameters:void 0);if(e.typeParameters||IE(e)&&e.typeParameters)return e.typeParameters;if(Pr(e)){let t=F4(e);if(t.length)return t;let r=cf(e);if(r&&$l(r)&&r.typeParameters)return r.typeParameters}return Bt}function HA(e){return e.constraint?e.constraint:Go(e.parent)&&e===e.parent.typeParameters[0]?e.parent.constraint:void 0}function js(e){return e.kind===79||e.kind===80}function GA(e){return e.kind===175||e.kind===174}function LS(e){return bn(e)&&!!(e.flags&32)}function RS(e){return gs(e)&&!!(e.flags&32)}function Cy(e){return sc(e)&&!!(e.flags&32)}function Ay(e){let t=e.kind;return!!(e.flags&32)&&(t===208||t===209||t===210||t===232)}function Py(e){return Ay(e)&&!Uo(e)&&!!e.questionDotToken}function $A(e){return Py(e.parent)&&e.parent.expression===e}function KA(e){return!Ay(e.parent)||Py(e.parent)||e!==e.parent.expression}function XA(e){return e.kind===223&&e.operatorToken.kind===60}function jS(e){return ac(e)&&yt(e.typeName)&&e.typeName.escapedText==="const"&&!e.typeArguments}function lf(e){return $o(e,8)}function JS(e){return Uo(e)&&!!(e.flags&32)}function YA(e){return e.kind===249||e.kind===248}function QA(e){return e.kind===277||e.kind===276}function FS(e){switch(e.kind){case 305:case 306:return!0;default:return!1}}function ZA(e){return FS(e)||e.kind===303||e.kind===307}function Dy(e){return e.kind===351||e.kind===344}function eP(e){return gl(e.kind)}function gl(e){return e>=163}function BS(e){return e>=0&&e<=162}function tP(e){return BS(e.kind)}function _s(e){return Jr(e,"pos")&&Jr(e,"end")}function ky(e){return 8<=e&&e<=14}function Iy(e){return ky(e.kind)}function rP(e){switch(e.kind){case 207:case 206:case 13:case 215:case 228:return!0}return!1}function yl(e){return 14<=e&&e<=17}function nP(e){return yl(e.kind)}function iP(e){let t=e.kind;return t===16||t===17}function aP(e){return nE(e)||aE(e)}function qS(e){switch(e.kind){case 273:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 271:return e.parent.isTypeOnly;case 270:case 268:return e.isTypeOnly}return!1}function US(e){switch(e.kind){case 278:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 275:return e.isTypeOnly&&!!e.moduleSpecifier&&!e.exportClause;case 277:return e.parent.isTypeOnly}return!1}function sP(e){return qS(e)||US(e)}function oP(e){return Gn(e)||yt(e)}function _P(e){return e.kind===10||yl(e.kind)}function cs(e){var t;return yt(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function Ny(e){var t;return vn(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function zS(e){return(Bo(e)||Ly(e))&&vn(e.name)}function cP(e){return bn(e)&&vn(e.name)}function Wi(e){switch(e){case 126:case 127:case 132:case 85:case 136:case 88:case 93:case 101:case 123:case 121:case 122:case 146:case 124:case 145:case 161:return!0}return!1}function WS(e){return!!(Q0(e)&16476)}function VS(e){return WS(e)||e===124||e===161||e===127}function Oy(e){return Wi(e.kind)}function lP(e){let t=e.kind;return t===163||t===79}function vl(e){let t=e.kind;return t===79||t===80||t===10||t===8||t===164}function uP(e){let t=e.kind;return t===79||t===203||t===204}function ga(e){return!!e&&My(e.kind)}function uf(e){return!!e&&(My(e.kind)||Hl(e))}function HS(e){return e&&GS(e.kind)}function pP(e){return e.kind===110||e.kind===95}function GS(e){switch(e){case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function My(e){switch(e){case 170:case 176:case 326:case 177:case 178:case 181:case 320:case 182:return!0;default:return GS(e)}}function fP(e){return wi(e)||rE(e)||Ql(e)&&ga(e.parent)}function Js(e){let t=e.kind;return t===173||t===169||t===171||t===174||t===175||t===178||t===172||t===237}function bi(e){return e&&(e.kind===260||e.kind===228)}function pf(e){return e&&(e.kind===174||e.kind===175)}function $S(e){return Bo(e)&&H4(e)}function Ly(e){switch(e.kind){case 171:case 174:case 175:return!0;default:return!1}}function dP(e){switch(e.kind){case 171:case 174:case 175:case 169:return!0;default:return!1}}function ff(e){return Oy(e)||zl(e)}function Ry(e){let t=e.kind;return t===177||t===176||t===168||t===170||t===178||t===174||t===175}function mP(e){return Ry(e)||Js(e)}function jy(e){let t=e.kind;return t===299||t===300||t===301||t===171||t===174||t===175}function Jy(e){return hx(e.kind)}function hP(e){switch(e.kind){case 181:case 182:return!0}return!1}function df(e){if(e){let t=e.kind;return t===204||t===203}return!1}function KS(e){let t=e.kind;return t===206||t===207}function gP(e){let t=e.kind;return t===205||t===229}function Fy(e){switch(e.kind){case 257:case 166:case 205:return!0}return!1}function yP(e){return Vi(e)||Vs(e)||YS(e)||ZS(e)}function vP(e){return XS(e)||QS(e)}function XS(e){switch(e.kind){case 203:case 207:return!0}return!1}function YS(e){switch(e.kind){case 205:case 299:case 300:case 301:return!0}return!1}function QS(e){switch(e.kind){case 204:case 206:return!0}return!1}function ZS(e){switch(e.kind){case 205:case 229:case 227:case 206:case 207:case 79:case 208:case 209:return!0}return ms(e,!0)}function bP(e){let t=e.kind;return t===208||t===163||t===202}function TP(e){let t=e.kind;return t===208||t===163}function SP(e){switch(e.kind){case 283:case 282:case 210:case 211:case 212:case 167:return!0;default:return!1}}function xP(e){return e.kind===210||e.kind===211}function EP(e){let t=e.kind;return t===225||t===14}function Do(e){return e3(lf(e).kind)}function e3(e){switch(e){case 208:case 209:case 211:case 210:case 281:case 282:case 285:case 212:case 206:case 214:case 207:case 228:case 215:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 225:case 95:case 104:case 108:case 110:case 106:case 232:case 230:case 233:case 100:case 279:return!0;default:return!1}}function t3(e){return r3(lf(e).kind)}function r3(e){switch(e){case 221:case 222:case 217:case 218:case 219:case 220:case 213:return!0;default:return e3(e)}}function wP(e){switch(e.kind){case 222:return!0;case 221:return e.operator===45||e.operator===46;default:return!1}}function CP(e){switch(e.kind){case 104:case 110:case 95:case 221:return!0;default:return Iy(e)}}function mf(e){return AP(lf(e).kind)}function AP(e){switch(e){case 224:case 226:case 216:case 223:case 227:case 231:case 229:case 357:case 356:case 235:return!0;default:return r3(e)}}function PP(e){let t=e.kind;return t===213||t===231}function DP(e){return c2(e)||Z8(e)}function n3(e,t){switch(e.kind){case 245:case 246:case 247:case 243:case 244:return!0;case 253:return t&&n3(e.statement,t)}return!1}function i3(e){return Vo(e)||cc(e)}function kP(e){return Ke(e,i3)}function IP(e){return!bf(e)&&!Vo(e)&&!rn(e,1)&&!yf(e)}function NP(e){return bf(e)||Vo(e)||rn(e,1)}function OP(e){return e.kind===246||e.kind===247}function MP(e){return Ql(e)||mf(e)}function LP(e){return Ql(e)}function RP(e){return r2(e)||mf(e)}function jP(e){let t=e.kind;return t===265||t===264||t===79}function JP(e){let t=e.kind;return t===265||t===264}function FP(e){let t=e.kind;return t===79||t===264}function BP(e){let t=e.kind;return t===272||t===271}function qP(e){return e.kind===264||e.kind===263}function UP(e){switch(e.kind){case 216:case 223:case 205:case 210:case 176:case 260:case 228:case 172:case 173:case 182:case 177:case 209:case 263:case 302:case 274:case 275:case 278:case 259:case 215:case 181:case 174:case 79:case 270:case 268:case 273:case 178:case 261:case 341:case 343:case 320:case 344:case 351:case 326:case 349:case 325:case 288:case 289:case 290:case 197:case 171:case 170:case 264:case 199:case 277:case 267:case 271:case 211:case 14:case 8:case 207:case 166:case 208:case 299:case 169:case 168:case 175:case 300:case 308:case 301:case 10:case 262:case 184:case 165:case 257:return!0;default:return!1}}function zP(e){switch(e.kind){case 216:case 238:case 176:case 266:case 295:case 172:case 191:case 173:case 182:case 177:case 245:case 246:case 247:case 259:case 215:case 181:case 174:case 178:case 341:case 343:case 320:case 326:case 349:case 197:case 171:case 170:case 264:case 175:case 308:case 262:return!0;default:return!1}}function WP(e){return e===216||e===205||e===260||e===228||e===172||e===173||e===263||e===302||e===278||e===259||e===215||e===174||e===270||e===268||e===273||e===261||e===288||e===171||e===170||e===264||e===267||e===271||e===277||e===166||e===299||e===169||e===168||e===175||e===300||e===262||e===165||e===257||e===349||e===341||e===351}function By(e){return e===259||e===279||e===260||e===261||e===262||e===263||e===264||e===269||e===268||e===275||e===274||e===267}function qy(e){return e===249||e===248||e===256||e===243||e===241||e===239||e===246||e===247||e===245||e===242||e===253||e===250||e===252||e===254||e===255||e===240||e===244||e===251||e===355||e===359||e===358}function ko(e){return e.kind===165?e.parent&&e.parent.kind!==348||Pr(e):WP(e.kind)}function VP(e){return By(e.kind)}function HP(e){return qy(e.kind)}function a3(e){let t=e.kind;return qy(t)||By(t)||GP(e)}function GP(e){return e.kind!==238||e.parent!==void 0&&(e.parent.kind===255||e.parent.kind===295)?!1:!O3(e)}function s3(e){let t=e.kind;return qy(t)||By(t)||t===238}function $P(e){let t=e.kind;return t===280||t===163||t===79}function KP(e){let t=e.kind;return t===108||t===79||t===208}function o3(e){let t=e.kind;return t===281||t===291||t===282||t===11||t===285}function XP(e){let t=e.kind;return t===288||t===290}function YP(e){let t=e.kind;return t===10||t===291}function _3(e){let t=e.kind;return t===283||t===282}function QP(e){let t=e.kind;return t===292||t===293}function Uy(e){return e.kind>=312&&e.kind<=353}function c3(e){return e.kind===323||e.kind===322||e.kind===324||Sl(e)||zy(e)||f2(e)||iu(e)}function zy(e){return e.kind>=330&&e.kind<=353}function bl(e){return e.kind===175}function Tl(e){return e.kind===174}function ya(e){if(!Af(e))return!1;let{jsDoc:t}=e;return!!t&&t.length>0}function ZP(e){return!!e.type}function l3(e){return!!e.initializer}function eD(e){switch(e.kind){case 257:case 166:case 205:case 169:case 299:case 302:return!0;default:return!1}}function Wy(e){return e.kind===288||e.kind===290||jy(e)}function tD(e){return e.kind===180||e.kind===230}function rD(e){let t=Gy;for(let r of e){if(!r.length)continue;let s=0;for(;sr.kind===t)}function oD(e){let t=new Map;if(e)for(let r of e)t.set(r.escapedName,r);return t}function $y(e){return(e.flags&33554432)!==0}function _D(){var e="";let t=r=>e+=r;return{getText:()=>e,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(r,s)=>t(r),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>e.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!e.length&&os(e.charCodeAt(e.length-1)),writeLine:()=>e+=" ",increaseIndent:yn,decreaseIndent:yn,clear:()=>e=""}}function cD(e,t){return e.configFilePath!==t.configFilePath||p3(e,t)}function p3(e,t){return J_(e,t,moduleResolutionOptionDeclarations)}function lD(e,t){return J_(e,t,optionsAffectingProgramStructure)}function J_(e,t,r){return e!==t&&r.some(s=>!gv(uv(e,s),uv(t,s)))}function uD(e,t){for(;;){let r=t(e);if(r==="quit")return;if(r!==void 0)return r;if(wi(e))return;e=e.parent}}function pD(e,t){let r=e.entries();for(let[s,f]of r){let x=t(f,s);if(x)return x}}function fD(e,t){let r=e.keys();for(let s of r){let f=t(s);if(f)return f}}function dD(e,t){e.forEach((r,s)=>{t.set(s,r)})}function mD(e){let t=Z_.getText();try{return e(Z_),Z_.getText()}finally{Z_.clear(),Z_.writeKeyword(t)}}function hf(e){return e.end-e.pos}function hD(e,t,r){var s,f;return(f=(s=e==null?void 0:e.resolvedModules)==null?void 0:s.get(t,r))==null?void 0:f.resolvedModule}function gD(e,t,r,s){e.resolvedModules||(e.resolvedModules=createModeAwareCache()),e.resolvedModules.set(t,s,r)}function yD(e,t,r,s){e.resolvedTypeReferenceDirectiveNames||(e.resolvedTypeReferenceDirectiveNames=createModeAwareCache()),e.resolvedTypeReferenceDirectiveNames.set(t,s,r)}function vD(e,t,r){var s,f;return(f=(s=e==null?void 0:e.resolvedTypeReferenceDirectiveNames)==null?void 0:s.get(t,r))==null?void 0:f.resolvedTypeReferenceDirective}function bD(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular}function TD(e,t){return e===t||e.resolvedModule===t.resolvedModule||!!e.resolvedModule&&!!t.resolvedModule&&e.resolvedModule.isExternalLibraryImport===t.resolvedModule.isExternalLibraryImport&&e.resolvedModule.extension===t.resolvedModule.extension&&e.resolvedModule.resolvedFileName===t.resolvedModule.resolvedFileName&&e.resolvedModule.originalPath===t.resolvedModule.originalPath&&SD(e.resolvedModule.packageId,t.resolvedModule.packageId)}function SD(e,t){return e===t||!!e&&!!t&&e.name===t.name&&e.subModuleName===t.subModuleName&&e.version===t.version}function f3(e){let{name:t,subModuleName:r}=e;return r?`${t}/${r}`:t}function xD(e){return`${f3(e)}@${e.version}`}function ED(e,t){return e===t||e.resolvedTypeReferenceDirective===t.resolvedTypeReferenceDirective||!!e.resolvedTypeReferenceDirective&&!!t.resolvedTypeReferenceDirective&&e.resolvedTypeReferenceDirective.resolvedFileName===t.resolvedTypeReferenceDirective.resolvedFileName&&!!e.resolvedTypeReferenceDirective.primary==!!t.resolvedTypeReferenceDirective.primary&&e.resolvedTypeReferenceDirective.originalPath===t.resolvedTypeReferenceDirective.originalPath}function wD(e,t,r,s,f,x){Y.assert(e.length===r.length);for(let w=0;w=0),ss(t)[e]}function ID(e){let t=Si(e),r=Ls(t,e.pos);return`${t.fileName}(${r.line+1},${r.character+1})`}function d3(e,t){Y.assert(e>=0);let r=ss(t),s=e,f=t.text;if(s+1===r.length)return f.length-1;{let x=r[s],w=r[s+1]-1;for(Y.assert(un(f.charCodeAt(w)));x<=w&&un(f.charCodeAt(w));)w--;return w}}function m3(e,t,r){return!(r&&r(t))&&!e.identifiers.has(t)}function va(e){return e===void 0?!0:e.pos===e.end&&e.pos>=0&&e.kind!==1}function xl(e){return!va(e)}function ND(e,t){return Fo(e)?t===e.expression:Hl(e)?t===e.modifiers:Wl(e)?t===e.initializer:Bo(e)?t===e.questionToken&&$S(e):lc(e)?t===e.modifiers||t===e.questionToken||t===e.exclamationToken||F_(e.modifiers,t,ff):nu(e)?t===e.equalsToken||t===e.modifiers||t===e.questionToken||t===e.exclamationToken||F_(e.modifiers,t,ff):Vl(e)?t===e.exclamationToken:nc(e)?t===e.typeParameters||t===e.type||F_(e.typeParameters,t,Fo):Gl(e)?t===e.typeParameters||F_(e.typeParameters,t,Fo):ic(e)?t===e.typeParameters||t===e.type||F_(e.typeParameters,t,Fo):a2(e)?t===e.modifiers||F_(e.modifiers,t,ff):!1}function F_(e,t,r){return!e||ir(t)||!r(t)?!1:pe(e,t)}function h3(e,t,r){if(t===void 0||t.length===0)return e;let s=0;for(;s[`${Ls(e,w.range.end).line}`,w])),s=new Map;return{getUnusedExpectations:f,markUsed:x};function f(){return Za(r.entries()).filter(w=>{let[A,g]=w;return g.type===0&&!s.get(A)}).map(w=>{let[A,g]=w;return g})}function x(w){return r.has(`${w}`)?(s.set(`${w}`,!0),!0):!1}}function Io(e,t,r){return va(e)?e.pos:Uy(e)||e.kind===11?Ar((t||Si(e)).text,e.pos,!1,!0):r&&ya(e)?Io(e.jsDoc[0],t):e.kind===354&&e._children.length>0?Io(e._children[0],t,r):Ar((t||Si(e)).text,e.pos,!1,!1,q3(e))}function FD(e,t){let r=!va(e)&&fc(e)?te(e.modifiers,zl):void 0;return r?Ar((t||Si(e)).text,r.end):Io(e,t)}function No(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return B_(e.text,t,r)}function BD(e){return!!zi(e,lE)}function b3(e){return!!(cc(e)&&e.exportClause&&ld(e.exportClause)&&e.exportClause.name.escapedText==="default")}function B_(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(va(t))return"";let s=e.substring(r?t.pos:Ar(e,t.pos),t.end);return BD(t)&&(s=s.split(/\r\n|\n|\r/).map(f=>nl(f.replace(/^\s*\*/,""))).join(` -`)),s}function gf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return No(Si(e),e,t)}function qD(e){return e.pos}function UD(e,t){return Ya(e,t,qD,Vr)}function xi(e){let t=e.emitNode;return t&&t.flags||0}function zD(e){let t=e.emitNode;return t&&t.internalFlags||0}function WD(e,t,r){var s;if(t&&VD(e,r))return No(t,e);switch(e.kind){case 10:{let f=r&2?A4:r&1||xi(e)&33554432?Nf:Of;return e.singleQuote?"'"+f(e.text,39)+"'":'"'+f(e.text,34)+'"'}case 14:case 15:case 16:case 17:{let f=r&1||xi(e)&33554432?Nf:Of,x=(s=e.rawText)!=null?s:SN(f(e.text,96));switch(e.kind){case 14:return"`"+x+"`";case 15:return"`"+x+"${";case 16:return"}"+x+"${";case 17:return"}"+x+"`"}break}case 8:case 9:return e.text;case 13:return r&4&&e.isUnterminated?e.text+(e.text.charCodeAt(e.text.length-1)===92?" /":"/"):e.text}return Y.fail(`Literal kind '${e.kind}' not accounted for.`)}function VD(e,t){return fs(e)||!e.parent||t&4&&e.isUnterminated?!1:zs(e)&&e.numericLiteralFlags&512?!!(t&8):!Uv(e)}function HD(e){return Ji(e)?'"'+Of(e)+'"':""+e}function GD(e){return sl(e).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function $D(e){return(tf(e)&3)!==0||T3(e)}function T3(e){let t=If(e);return t.kind===257&&t.parent.kind===295}function yf(e){return Ea(e)&&(e.name.kind===10||vf(e))}function KD(e){return Ea(e)&&e.name.kind===10}function XD(e){return Ea(e)&&Gn(e.name)}function S3(e){return Ea(e)||yt(e)}function YD(e){return QD(e.valueDeclaration)}function QD(e){return!!e&&e.kind===264&&!e.body}function ZD(e){return e.kind===308||e.kind===264||uf(e)}function vf(e){return!!(e.flags&1024)}function Xy(e){return yf(e)&&x3(e)}function x3(e){switch(e.parent.kind){case 308:return Qo(e.parent);case 265:return yf(e.parent.parent)&&wi(e.parent.parent.parent)&&!Qo(e.parent.parent.parent)}return!1}function E3(e){var t;return(t=e.declarations)==null?void 0:t.find(r=>!Xy(r)&&!(Ea(r)&&vf(r)))}function ek(e){return e===1||e===100||e===199}function Yy(e,t){return Qo(e)||zf(t)||ek(Ei(t))&&!!e.commonJsModuleIndicator}function tk(e,t){switch(e.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return e.isDeclarationFile?!1:lv(t,"alwaysStrict")||SE(e.statements)?!0:Qo(e)||zf(t)?Ei(t)>=5?!0:!t.noImplicitUseStrict:!1}function rk(e){return!!(e.flags&16777216)||rn(e,2)}function w3(e,t){switch(e.kind){case 308:case 266:case 295:case 264:case 245:case 246:case 247:case 173:case 171:case 174:case 175:case 259:case 215:case 216:case 169:case 172:return!0;case 238:return!uf(t)}return!1}function nk(e){switch(Y.type(e),e.kind){case 341:case 349:case 326:return!0;default:return C3(e)}}function C3(e){switch(Y.type(e),e.kind){case 176:case 177:case 170:case 178:case 181:case 182:case 320:case 260:case 228:case 261:case 262:case 348:case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function Qy(e){switch(e.kind){case 269:case 268:return!0;default:return!1}}function ik(e){return Qy(e)||Ef(e)}function ak(e){switch(e.kind){case 269:case 268:case 240:case 260:case 259:case 264:case 262:case 261:case 263:return!0;default:return!1}}function sk(e){return bf(e)||Ea(e)||Kl(e)||s0(e)}function bf(e){return Qy(e)||cc(e)}function Zy(e){return zi(e.parent,t=>w3(t,t.parent))}function ok(e,t){let r=Zy(e);for(;r;)t(r),r=Zy(r)}function A3(e){return!e||hf(e)===0?"(Missing)":gf(e)}function _k(e){return e.declaration?A3(e.declaration.parameters[0].name):void 0}function ck(e){return e.kind===164&&!Ta(e.expression)}function e0(e){var t;switch(e.kind){case 79:case 80:return(t=e.emitNode)!=null&&t.autoGenerate?void 0:e.escapedText;case 10:case 8:case 14:return vi(e.text);case 164:return Ta(e.expression)?vi(e.expression.text):void 0;default:return Y.assertNever(e)}}function lk(e){return Y.checkDefined(e0(e))}function ls(e){switch(e.kind){case 108:return"this";case 80:case 79:return hf(e)===0?qr(e):gf(e);case 163:return ls(e.left)+"."+ls(e.right);case 208:return yt(e.name)||vn(e.name)?ls(e.expression)+"."+ls(e.name):Y.assertNever(e.name);case 314:return ls(e.left)+ls(e.right);default:return Y.assertNever(e)}}function uk(e,t,r,s,f,x){let w=Si(e);return P3(w,e,t,r,s,f,x)}function pk(e,t,r,s,f,x,w){let A=Ar(e.text,t.pos);return iv(e,A,t.end-A,r,s,f,x,w)}function P3(e,t,r,s,f,x,w){let A=i0(e,t);return iv(e,A.start,A.length,r,s,f,x,w)}function fk(e,t,r,s){let f=i0(e,t);return r0(e,f.start,f.length,r,s)}function dk(e,t,r,s){let f=Ar(e.text,t.pos);return r0(e,f,t.end-f,r,s)}function t0(e,t,r){Y.assertGreaterThanOrEqual(t,0),Y.assertGreaterThanOrEqual(r,0),e&&(Y.assertLessThanOrEqual(t,e.text.length),Y.assertLessThanOrEqual(t+r,e.text.length))}function r0(e,t,r,s,f){return t0(e,t,r),{file:e,start:t,length:r,code:s.code,category:s.category,messageText:s.next?s:s.messageText,relatedInformation:f}}function mk(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}}function hk(e){return typeof e.messageText=="string"?{code:e.code,category:e.category,messageText:e.messageText,next:e.next}:e.messageText}function gk(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}}function n0(e,t){let r=Po(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);r.scan();let s=r.getTokenPos();return ha(s,r.getTextPos())}function yk(e,t){let r=Po(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);return r.scan(),r.getToken()}function vk(e,t){let r=Ar(e.text,t.pos);if(t.body&&t.body.kind===238){let{line:s}=Ls(e,t.body.pos),{line:f}=Ls(e,t.body.end);if(s0?t.statements[0].pos:t.end;return ha(w,A)}if(r===void 0)return n0(e,t.pos);Y.assert(!Ho(r));let s=va(r),f=s||td(t)?r.pos:Ar(e.text,r.pos);return s?(Y.assert(f===r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),Y.assert(f===r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(Y.assert(f>=r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),Y.assert(f<=r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),ha(f,r.end)}function bk(e){return(e.externalModuleIndicator||e.commonJsModuleIndicator)!==void 0}function a0(e){return e.scriptKind===6}function Tk(e){return!!(ef(e)&2048)}function Sk(e){return!!(ef(e)&64&&!lS(e,e.parent))}function D3(e){return!!(tf(e)&2)}function xk(e){return!!(tf(e)&1)}function Ek(e){return e.kind===210&&e.expression.kind===106}function s0(e){return e.kind===210&&e.expression.kind===100}function o0(e){return t2(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function k3(e){return Kl(e)&&Yv(e.argument)&&Gn(e.argument.literal)}function us(e){return e.kind===241&&e.expression.kind===10}function Tf(e){return!!(xi(e)&2097152)}function _0(e){return Tf(e)&&Wo(e)}function wk(e){return yt(e.name)&&!e.initializer}function c0(e){return Tf(e)&&zo(e)&&me(e.declarationList.declarations,wk)}function Ck(e,t){return e.kind!==11?Ao(t.text,e.pos):void 0}function I3(e,t){let r=e.kind===166||e.kind===165||e.kind===215||e.kind===216||e.kind===214||e.kind===257||e.kind===278?Ft(HT(t,e.pos),Ao(t,e.pos)):Ao(t,e.pos);return ee(r,s=>t.charCodeAt(s.pos+1)===42&&t.charCodeAt(s.pos+2)===42&&t.charCodeAt(s.pos+3)!==47)}function l0(e){if(179<=e.kind&&e.kind<=202)return!0;switch(e.kind){case 131:case 157:case 148:case 160:case 152:case 134:case 153:case 149:case 155:case 144:return!0;case 114:return e.parent.kind!==219;case 230:return ru(e.parent)&&!Z0(e);case 165:return e.parent.kind===197||e.parent.kind===192;case 79:(e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e)&&(e=e.parent),Y.assert(e.kind===79||e.kind===163||e.kind===208,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 163:case 208:case 108:{let{parent:t}=e;if(t.kind===183)return!1;if(t.kind===202)return!t.isTypeOf;if(179<=t.kind&&t.kind<=202)return!0;switch(t.kind){case 230:return ru(t.parent)&&!Z0(t);case 165:return e===t.constraint;case 348:return e===t.constraint;case 169:case 168:case 166:case 257:return e===t.type;case 259:case 215:case 216:case 173:case 171:case 170:case 174:case 175:return e===t.type;case 176:case 177:case 178:return e===t.type;case 213:return e===t.type;case 210:case 211:return pe(t.typeArguments,e);case 212:return!1}}}return!1}function Ak(e,t){for(;e;){if(e.kind===t)return!0;e=e.parent}return!1}function Pk(e,t){return r(e);function r(s){switch(s.kind){case 250:return t(s);case 266:case 238:case 242:case 243:case 244:case 245:case 246:case 247:case 251:case 252:case 292:case 293:case 253:case 255:case 295:return xr(s,r)}}}function Dk(e,t){return r(e);function r(s){switch(s.kind){case 226:t(s);let f=s.expression;f&&r(f);return;case 263:case 261:case 264:case 262:return;default:if(ga(s)){if(s.name&&s.name.kind===164){r(s.name.expression);return}}else l0(s)||xr(s,r)}}}function kk(e){return e&&e.kind===185?e.elementType:e&&e.kind===180?Xa(e.typeArguments):void 0}function Ik(e){switch(e.kind){case 261:case 260:case 228:case 184:return e.members;case 207:return e.properties}}function u0(e){if(e)switch(e.kind){case 205:case 302:case 166:case 299:case 169:case 168:case 300:case 257:return!0}return!1}function Nk(e){return u0(e)||pf(e)}function N3(e){return e.parent.kind===258&&e.parent.parent.kind===240}function Ok(e){return Pr(e)?Hs(e.parent)&&ur(e.parent.parent)&&ps(e.parent.parent)===2||p0(e.parent):!1}function p0(e){return Pr(e)?ur(e)&&ps(e)===1:!1}function Mk(e){return(Vi(e)?D3(e)&&yt(e.name)&&N3(e):Bo(e)?$0(e)&&Lf(e):Wl(e)&&$0(e))||p0(e)}function Lk(e){switch(e.kind){case 171:case 170:case 173:case 174:case 175:case 259:case 215:return!0}return!1}function Rk(e,t){for(;;){if(t&&t(e),e.statement.kind!==253)return e.statement;e=e.statement}}function O3(e){return e&&e.kind===238&&ga(e.parent)}function jk(e){return e&&e.kind===171&&e.parent.kind===207}function Jk(e){return(e.kind===171||e.kind===174||e.kind===175)&&(e.parent.kind===207||e.parent.kind===228)}function Fk(e){return e&&e.kind===1}function Bk(e){return e&&e.kind===0}function f0(e,t,r){return e.properties.filter(s=>{if(s.kind===299){let f=e0(s.name);return t===f||!!r&&r===f}return!1})}function qk(e,t,r){return q(f0(e,t),s=>Yl(s.initializer)?Ae(s.initializer.elements,f=>Gn(f)&&f.text===r):void 0)}function M3(e){if(e&&e.statements.length){let t=e.statements[0].expression;return ln(t,Hs)}}function Uk(e,t,r){return q(L3(e,t),s=>Yl(s.initializer)?Ae(s.initializer.elements,f=>Gn(f)&&f.text===r):void 0)}function L3(e,t){let r=M3(e);return r?f0(r,t):Bt}function zk(e){return zi(e.parent,ga)}function Wk(e){return zi(e.parent,HS)}function Vk(e){return zi(e.parent,bi)}function Hk(e){return zi(e.parent,t=>bi(t)||ga(t)?"quit":Hl(t))}function Gk(e){return zi(e.parent,uf)}function d0(e,t,r){for(Y.assert(e.kind!==308);;){if(e=e.parent,!e)return Y.fail();switch(e.kind){case 164:if(r&&bi(e.parent.parent))return e;e=e.parent.parent;break;case 167:e.parent.kind===166&&Js(e.parent.parent)?e=e.parent.parent:Js(e.parent)&&(e=e.parent);break;case 216:if(!t)continue;case 259:case 215:case 264:case 172:case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 176:case 177:case 178:case 263:case 308:return e}}}function $k(e){switch(e.kind){case 216:case 259:case 215:case 169:return!0;case 238:switch(e.parent.kind){case 173:case 171:case 174:case 175:return!0;default:return!1}default:return!1}}function Kk(e){yt(e)&&(_c(e.parent)||Wo(e.parent))&&e.parent.name===e&&(e=e.parent);let t=d0(e,!0,!1);return wi(t)}function Xk(e){let t=d0(e,!1,!1);if(t)switch(t.kind){case 173:case 259:case 215:return t}}function Yk(e,t){for(;;){if(e=e.parent,!e)return;switch(e.kind){case 164:e=e.parent;break;case 259:case 215:case 216:if(!t)continue;case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 172:return e;case 167:e.parent.kind===166&&Js(e.parent.parent)?e=e.parent.parent:Js(e.parent)&&(e=e.parent);break}}}function Qk(e){if(e.kind===215||e.kind===216){let t=e,r=e.parent;for(;r.kind===214;)t=r,r=r.parent;if(r.kind===210&&r.expression===t)return r}}function Zk(e){return e.kind===106||Sf(e)}function Sf(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===106}function eI(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===108}function tI(e){var t;return!!e&&Vi(e)&&((t=e.initializer)==null?void 0:t.kind)===108}function rI(e){return!!e&&(nu(e)||lc(e))&&ur(e.parent.parent)&&e.parent.parent.operatorToken.kind===63&&e.parent.parent.right.kind===108}function nI(e){switch(e.kind){case 180:return e.typeName;case 230:return Bs(e.expression)?e.expression:void 0;case 79:case 163:return e}}function iI(e){switch(e.kind){case 212:return e.tag;case 283:case 282:return e.tagName;default:return e.expression}}function R3(e,t,r,s){if(e&&af(t)&&vn(t.name))return!1;switch(t.kind){case 260:return!0;case 228:return!e;case 169:return r!==void 0&&(e?_c(r):bi(r)&&!W4(t)&&!V4(t));case 174:case 175:case 171:return t.body!==void 0&&r!==void 0&&(e?_c(r):bi(r));case 166:return e?r!==void 0&&r.body!==void 0&&(r.kind===173||r.kind===171||r.kind===175)&&j4(r)!==t&&s!==void 0&&s.kind===260:!1}return!1}function q_(e,t,r,s){return Il(t)&&R3(e,t,r,s)}function m0(e,t,r,s){return q_(e,t,r,s)||h0(e,t,r)}function h0(e,t,r){switch(t.kind){case 260:return Ke(t.members,s=>m0(e,s,t,r));case 228:return!e&&Ke(t.members,s=>m0(e,s,t,r));case 171:case 175:case 173:return Ke(t.parameters,s=>q_(e,s,t,r));default:return!1}}function aI(e,t){if(q_(e,t))return!0;let r=R4(t);return!!r&&h0(e,r,t)}function sI(e,t,r){let s;if(pf(t)){let{firstAccessor:f,secondAccessor:x,setAccessor:w}=W0(r.members,t),A=Il(f)?f:x&&Il(x)?x:void 0;if(!A||t!==A)return!1;s=w==null?void 0:w.parameters}else Vl(t)&&(s=t.parameters);if(q_(e,t,r))return!0;if(s){for(let f of s)if(!kl(f)&&q_(e,f,t,r))return!0}return!1}function j3(e){if(e.textSourceNode){switch(e.textSourceNode.kind){case 10:return j3(e.textSourceNode);case 14:return e.text===""}return!1}return e.text===""}function xf(e){let{parent:t}=e;return t.kind===283||t.kind===282||t.kind===284?t.tagName===e:!1}function g0(e){switch(e.kind){case 106:case 104:case 110:case 95:case 13:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 231:case 213:case 235:case 232:case 214:case 215:case 228:case 216:case 219:case 217:case 218:case 221:case 222:case 223:case 224:case 227:case 225:case 229:case 281:case 282:case 285:case 226:case 220:case 233:return!0;case 230:return!ru(e.parent)&&!md(e.parent);case 163:for(;e.parent.kind===163;)e=e.parent;return e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e);case 314:for(;uc(e.parent);)e=e.parent;return e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e);case 80:return ur(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===101;case 79:if(e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e))return!0;case 8:case 9:case 10:case 14:case 108:return J3(e);default:return!1}}function J3(e){let{parent:t}=e;switch(t.kind){case 257:case 166:case 169:case 168:case 302:case 299:case 205:return t.initializer===e;case 241:case 242:case 243:case 244:case 250:case 251:case 252:case 292:case 254:return t.expression===e;case 245:let r=t;return r.initializer===e&&r.initializer.kind!==258||r.condition===e||r.incrementor===e;case 246:case 247:let s=t;return s.initializer===e&&s.initializer.kind!==258||s.expression===e;case 213:case 231:return e===t.expression;case 236:return e===t.expression;case 164:return e===t.expression;case 167:case 291:case 290:case 301:return!0;case 230:return t.expression===e&&!l0(t);case 300:return t.objectAssignmentInitializer===e;case 235:return e===t.expression;default:return g0(t)}}function F3(e){for(;e.kind===163||e.kind===79;)e=e.parent;return e.kind===183}function oI(e){return ld(e)&&!!e.parent.moduleSpecifier}function B3(e){return e.kind===268&&e.moduleReference.kind===280}function _I(e){return Y.assert(B3(e)),e.moduleReference.expression}function cI(e){return Ef(e)&&rv(e.initializer).arguments[0]}function lI(e){return e.kind===268&&e.moduleReference.kind!==280}function y0(e){return Pr(e)}function uI(e){return!Pr(e)}function Pr(e){return!!e&&!!(e.flags&262144)}function pI(e){return!!e&&!!(e.flags&67108864)}function fI(e){return!a0(e)}function q3(e){return!!e&&!!(e.flags&8388608)}function dI(e){return ac(e)&&yt(e.typeName)&&e.typeName.escapedText==="Object"&&e.typeArguments&&e.typeArguments.length===2&&(e.typeArguments[0].kind===152||e.typeArguments[0].kind===148)}function El(e,t){if(e.kind!==210)return!1;let{expression:r,arguments:s}=e;if(r.kind!==79||r.escapedText!=="require"||s.length!==1)return!1;let f=s[0];return!t||Ti(f)}function U3(e){return z3(e,!1)}function Ef(e){return z3(e,!0)}function mI(e){return Xl(e)&&Ef(e.parent.parent)}function z3(e,t){return Vi(e)&&!!e.initializer&&El(t?rv(e.initializer):e.initializer,!0)}function W3(e){return zo(e)&&e.declarationList.declarations.length>0&&me(e.declarationList.declarations,t=>U3(t))}function hI(e){return e===39||e===34}function gI(e,t){return No(t,e).charCodeAt(0)===34}function v0(e){return ur(e)||Lo(e)||yt(e)||sc(e)}function V3(e){return Pr(e)&&e.initializer&&ur(e.initializer)&&(e.initializer.operatorToken.kind===56||e.initializer.operatorToken.kind===60)&&e.name&&Bs(e.name)&&z_(e.name,e.initializer.left)?e.initializer.right:e.initializer}function yI(e){let t=V3(e);return t&&U_(t,Nl(e.name))}function vI(e,t){return c(e.properties,r=>lc(r)&&yt(r.name)&&r.name.escapedText==="value"&&r.initializer&&U_(r.initializer,t))}function bI(e){if(e&&e.parent&&ur(e.parent)&&e.parent.operatorToken.kind===63){let t=Nl(e.parent.left);return U_(e.parent.right,t)||TI(e.parent.left,e.parent.right,t)}if(e&&sc(e)&&S0(e)){let t=vI(e.arguments[2],e.arguments[1].text==="prototype");if(t)return t}}function U_(e,t){if(sc(e)){let r=Pl(e.expression);return r.kind===215||r.kind===216?e:void 0}if(e.kind===215||e.kind===228||e.kind===216||Hs(e)&&(e.properties.length===0||t))return e}function TI(e,t,r){let s=ur(t)&&(t.operatorToken.kind===56||t.operatorToken.kind===60)&&U_(t.right,r);if(s&&z_(e,t.left))return s}function SI(e){let t=Vi(e.parent)?e.parent.name:ur(e.parent)&&e.parent.operatorToken.kind===63?e.parent.left:void 0;return t&&U_(e.right,Nl(t))&&Bs(t)&&z_(t,e.left)}function xI(e){if(ur(e.parent)){let t=(e.parent.operatorToken.kind===56||e.parent.operatorToken.kind===60)&&ur(e.parent.parent)?e.parent.parent:e.parent;if(t.operatorToken.kind===63&&yt(t.left))return t.left}else if(Vi(e.parent))return e.parent.name}function z_(e,t){return L0(e)&&L0(t)?kf(e)===kf(t):js(e)&&wf(t)&&(t.expression.kind===108||yt(t.expression)&&(t.expression.escapedText==="window"||t.expression.escapedText==="self"||t.expression.escapedText==="global"))?z_(e,$3(t)):wf(e)&&wf(t)?Fs(e)===Fs(t)&&z_(e.expression,t.expression):!1}function b0(e){for(;ms(e,!0);)e=e.right;return e}function H3(e){return yt(e)&&e.escapedText==="exports"}function G3(e){return yt(e)&&e.escapedText==="module"}function T0(e){return(bn(e)||wl(e))&&G3(e.expression)&&Fs(e)==="exports"}function ps(e){let t=EI(e);return t===5||Pr(e)?t:0}function S0(e){return I(e.arguments)===3&&bn(e.expression)&&yt(e.expression.expression)&&qr(e.expression.expression)==="Object"&&qr(e.expression.name)==="defineProperty"&&Ta(e.arguments[1])&&V_(e.arguments[0],!0)}function wf(e){return bn(e)||wl(e)}function wl(e){return gs(e)&&Ta(e.argumentExpression)}function W_(e,t){return bn(e)&&(!t&&e.expression.kind===108||yt(e.name)&&V_(e.expression,!0))||x0(e,t)}function x0(e,t){return wl(e)&&(!t&&e.expression.kind===108||Bs(e.expression)||W_(e.expression,!0))}function V_(e,t){return Bs(e)||W_(e,t)}function $3(e){return bn(e)?e.name:e.argumentExpression}function EI(e){if(sc(e)){if(!S0(e))return 0;let t=e.arguments[0];return H3(t)||T0(t)?8:W_(t)&&Fs(t)==="prototype"?9:7}return e.operatorToken.kind!==63||!Lo(e.left)||wI(b0(e))?0:V_(e.left.expression,!0)&&Fs(e.left)==="prototype"&&Hs(X3(e))?6:K3(e.left)}function wI(e){return Qv(e)&&zs(e.expression)&&e.expression.text==="0"}function Cf(e){if(bn(e))return e.name;let t=Pl(e.argumentExpression);return zs(t)||Ti(t)?t:e}function Fs(e){let t=Cf(e);if(t){if(yt(t))return t.escapedText;if(Ti(t)||zs(t))return vi(t.text)}}function K3(e){if(e.expression.kind===108)return 4;if(T0(e))return 2;if(V_(e.expression,!0)){if(Nl(e.expression))return 3;let t=e;for(;!yt(t.expression);)t=t.expression;let r=t.expression;if((r.escapedText==="exports"||r.escapedText==="module"&&Fs(t)==="exports")&&W_(e))return 1;if(V_(e,!0)||gs(e)&&M0(e))return 5}return 0}function X3(e){for(;ur(e.right);)e=e.right;return e.right}function CI(e){return ur(e)&&ps(e)===3}function AI(e){return Pr(e)&&e.parent&&e.parent.kind===241&&(!gs(e)||wl(e))&&!!_f(e.parent)}function PI(e,t){let{valueDeclaration:r}=e;(!r||!(t.flags&16777216&&!Pr(t)&&!(r.flags&16777216))&&v0(r)&&!v0(t)||r.kind!==t.kind&&S3(r))&&(e.valueDeclaration=t)}function DI(e){if(!e||!e.valueDeclaration)return!1;let t=e.valueDeclaration;return t.kind===259||Vi(t)&&t.initializer&&ga(t.initializer)}function kI(e){var t,r;switch(e.kind){case 257:case 205:return(t=zi(e.initializer,s=>El(s,!0)))==null?void 0:t.arguments[0];case 269:return ln(e.moduleSpecifier,Ti);case 268:return ln((r=ln(e.moduleReference,ud))==null?void 0:r.expression,Ti);case 270:case 277:return ln(e.parent.moduleSpecifier,Ti);case 271:case 278:return ln(e.parent.parent.moduleSpecifier,Ti);case 273:return ln(e.parent.parent.parent.moduleSpecifier,Ti);default:Y.assertNever(e)}}function II(e){return Y3(e)||Y.failBadSyntaxKind(e.parent)}function Y3(e){switch(e.parent.kind){case 269:case 275:return e.parent;case 280:return e.parent.parent;case 210:return s0(e.parent)||El(e.parent,!1)?e.parent:void 0;case 198:return Y.assert(Gn(e)),ln(e.parent.parent,Kl);default:return}}function E0(e){switch(e.kind){case 269:case 275:return e.moduleSpecifier;case 268:return e.moduleReference.kind===280?e.moduleReference.expression:void 0;case 202:return k3(e)?e.argument.literal:void 0;case 210:return e.arguments[0];case 264:return e.name.kind===10?e.name:void 0;default:return Y.assertNever(e)}}function Q3(e){switch(e.kind){case 269:return e.importClause&&ln(e.importClause.namedBindings,_2);case 268:return e;case 275:return e.exportClause&&ln(e.exportClause,ld);default:return Y.assertNever(e)}}function Z3(e){return e.kind===269&&!!e.importClause&&!!e.importClause.name}function NI(e,t){if(e.name){let r=t(e);if(r)return r}if(e.namedBindings){let r=_2(e.namedBindings)?t(e.namedBindings):c(e.namedBindings.elements,t);if(r)return r}}function OI(e){if(e)switch(e.kind){case 166:case 171:case 170:case 300:case 299:case 169:case 168:return e.questionToken!==void 0}return!1}function MI(e){let t=dd(e)?pa(e.parameters):void 0,r=ln(t&&t.name,yt);return!!r&&r.escapedText==="new"}function Cl(e){return e.kind===349||e.kind===341||e.kind===343}function LI(e){return Cl(e)||n2(e)}function RI(e){return Zl(e)&&ur(e.expression)&&e.expression.operatorToken.kind===63?b0(e.expression):void 0}function e4(e){return Zl(e)&&ur(e.expression)&&ps(e.expression)!==0&&ur(e.expression.right)&&(e.expression.right.operatorToken.kind===56||e.expression.right.operatorToken.kind===60)?e.expression.right.right:void 0}function w0(e){switch(e.kind){case 240:let t=Al(e);return t&&t.initializer;case 169:return e.initializer;case 299:return e.initializer}}function Al(e){return zo(e)?pa(e.declarationList.declarations):void 0}function t4(e){return Ea(e)&&e.body&&e.body.kind===264?e.body:void 0}function jI(e){if(e.kind>=240&&e.kind<=256)return!0;switch(e.kind){case 79:case 108:case 106:case 163:case 233:case 209:case 208:case 205:case 215:case 216:case 171:case 174:case 175:return!0;default:return!1}}function Af(e){switch(e.kind){case 216:case 223:case 238:case 249:case 176:case 292:case 260:case 228:case 172:case 173:case 182:case 177:case 248:case 256:case 243:case 209:case 239:case 1:case 263:case 302:case 274:case 275:case 278:case 241:case 246:case 247:case 245:case 259:case 215:case 181:case 174:case 79:case 242:case 269:case 268:case 178:case 261:case 320:case 326:case 253:case 171:case 170:case 264:case 199:case 267:case 207:case 166:case 214:case 208:case 299:case 169:case 168:case 250:case 175:case 300:case 301:case 252:case 254:case 255:case 262:case 165:case 257:case 240:case 244:case 251:return!0;default:return!1}}function r4(e,t){let r;u0(e)&&l3(e)&&ya(e.initializer)&&(r=jr(r,n4(e,Zn(e.initializer.jsDoc))));let s=e;for(;s&&s.parent;){if(ya(s)&&(r=jr(r,n4(e,Zn(s.jsDoc)))),s.kind===166){r=jr(r,(t?bS:of)(s));break}if(s.kind===165){r=jr(r,(t?xS:SS)(s));break}s=a4(s)}return r||Bt}function n4(e,t){if(Ho(t)){let r=ee(t.tags,s=>i4(e,s));return t.tags===r?[t]:r}return i4(e,t)?[t]:void 0}function i4(e,t){return!(au(t)||T2(t))||!t.parent||!Ho(t.parent)||!qo(t.parent.parent)||t.parent.parent===e}function a4(e){let t=e.parent;if(t.kind===299||t.kind===274||t.kind===169||t.kind===241&&e.kind===208||t.kind===250||t4(t)||ur(e)&&e.operatorToken.kind===63)return t;if(t.parent&&(Al(t.parent)===e||ur(t)&&t.operatorToken.kind===63))return t.parent;if(t.parent&&t.parent.parent&&(Al(t.parent.parent)||w0(t.parent.parent)===e||e4(t.parent.parent)))return t.parent.parent}function JI(e){if(e.symbol)return e.symbol;if(!yt(e.name))return;let t=e.name.escapedText,r=C0(e);if(!r)return;let s=Ae(r.parameters,f=>f.name.kind===79&&f.name.escapedText===t);return s&&s.symbol}function FI(e){if(Ho(e.parent)&&e.parent.tags){let t=Ae(e.parent.tags,Cl);if(t)return t}return C0(e)}function C0(e){let t=A0(e);if(t)return Wl(t)&&t.type&&ga(t.type)?t.type:ga(t)?t:void 0}function A0(e){let t=s4(e);if(t)return e4(t)||RI(t)||w0(t)||Al(t)||t4(t)||t}function s4(e){let t=P0(e);if(!t)return;let r=t.parent;if(r&&r.jsDoc&&t===Cn(r.jsDoc))return r}function P0(e){return zi(e.parent,Ho)}function BI(e){let t=e.name.escapedText,{typeParameters:r}=e.parent.parent.parent;return r&&Ae(r,s=>s.name.escapedText===t)}function qI(e){return!!e.typeArguments}function o4(e){let t=e.parent;for(;;){switch(t.kind){case 223:let r=t.operatorToken.kind;return G_(r)&&t.left===e?r===63||jf(r)?1:2:0;case 221:case 222:let s=t.operator;return s===45||s===46?2:0;case 246:case 247:return t.initializer===e?1:0;case 214:case 206:case 227:case 232:e=t;break;case 301:e=t.parent;break;case 300:if(t.name!==e)return 0;e=t.parent;break;case 299:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function UI(e){return o4(e)!==0}function zI(e){switch(e.kind){case 238:case 240:case 251:case 242:case 252:case 266:case 292:case 293:case 253:case 245:case 246:case 247:case 243:case 244:case 255:case 295:return!0}return!1}function WI(e){return ad(e)||sd(e)||Ly(e)||Wo(e)||nc(e)}function _4(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function VI(e){return _4(e,193)}function D0(e){return _4(e,214)}function HI(e){let t;for(;e&&e.kind===193;)t=e,e=e.parent;return[t,e]}function GI(e){for(;Kv(e);)e=e.type;return e}function Pl(e,t){return $o(e,t?17:1)}function $I(e){return e.kind!==208&&e.kind!==209?!1:(e=D0(e.parent),e&&e.kind===217)}function KI(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1}function c4(e){return!wi(e)&&!df(e)&&ko(e.parent)&&e.parent.name===e}function XI(e){let t=e.parent;switch(e.kind){case 10:case 14:case 8:if(Ws(t))return t.parent;case 79:if(ko(t))return t.name===e?t:void 0;if(rc(t)){let r=t.parent;return pc(r)&&r.name===t?r:void 0}else{let r=t.parent;return ur(r)&&ps(r)!==0&&(r.left.symbol||r.symbol)&&ml(r)===e?r:void 0}case 80:return ko(t)&&t.name===e?t:void 0;default:return}}function l4(e){return Ta(e)&&e.parent.kind===164&&ko(e.parent.parent)}function YI(e){let t=e.parent;switch(t.kind){case 169:case 168:case 171:case 170:case 174:case 175:case 302:case 299:case 208:return t.name===e;case 163:return t.right===e;case 205:case 273:return t.propertyName===e;case 278:case 288:case 282:case 283:case 284:return!0}return!1}function QI(e){return e.kind===268||e.kind===267||e.kind===270&&e.name||e.kind===271||e.kind===277||e.kind===273||e.kind===278||e.kind===274&&I0(e)?!0:Pr(e)&&(ur(e)&&ps(e)===2&&I0(e)||bn(e)&&ur(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===63&&k0(e.parent.right))}function u4(e){switch(e.parent.kind){case 270:case 273:case 271:case 278:case 274:case 268:case 277:return e.parent;case 163:do e=e.parent;while(e.parent.kind===163);return u4(e)}}function k0(e){return Bs(e)||_d(e)}function I0(e){let t=p4(e);return k0(t)}function p4(e){return Vo(e)?e.expression:e.right}function ZI(e){return e.kind===300?e.name:e.kind===299?e.initializer:e.parent.right}function f4(e){let t=d4(e);if(t&&Pr(e)){let r=ES(e);if(r)return r.class}return t}function d4(e){let t=Pf(e.heritageClauses,94);return t&&t.types.length>0?t.types[0]:void 0}function m4(e){if(Pr(e))return wS(e).map(t=>t.class);{let t=Pf(e.heritageClauses,117);return t==null?void 0:t.types}}function h4(e){return eu(e)?g4(e)||Bt:bi(e)&&Ft(Cp(f4(e)),m4(e))||Bt}function g4(e){let t=Pf(e.heritageClauses,94);return t?t.types:void 0}function Pf(e,t){if(e){for(let r of e)if(r.token===t)return r}}function eN(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}}function ba(e){return 81<=e&&e<=162}function N0(e){return 126<=e&&e<=162}function y4(e){return ba(e)&&!N0(e)}function tN(e){return 117<=e&&e<=125}function rN(e){let t=_l(e);return t!==void 0&&y4(t)}function nN(e){let t=_l(e);return t!==void 0&&ba(t)}function iN(e){let t=dS(e);return!!t&&!N0(t)}function aN(e){return 2<=e&&e<=7}function sN(e){if(!e)return 4;let t=0;switch(e.kind){case 259:case 215:case 171:e.asteriskToken&&(t|=1);case 216:rn(e,512)&&(t|=2);break}return e.body||(t|=4),t}function oN(e){switch(e.kind){case 259:case 215:case 216:case 171:return e.body!==void 0&&e.asteriskToken===void 0&&rn(e,512)}return!1}function Ta(e){return Ti(e)||zs(e)}function O0(e){return od(e)&&(e.operator===39||e.operator===40)&&zs(e.operand)}function v4(e){let t=ml(e);return!!t&&M0(t)}function M0(e){if(!(e.kind===164||e.kind===209))return!1;let t=gs(e)?Pl(e.argumentExpression):e.expression;return!Ta(t)&&!O0(t)}function Df(e){switch(e.kind){case 79:case 80:return e.escapedText;case 10:case 8:return vi(e.text);case 164:let t=e.expression;return Ta(t)?vi(t.text):O0(t)?t.operator===40?Br(t.operator)+t.operand.text:t.operand.text:void 0;default:return Y.assertNever(e)}}function L0(e){switch(e.kind){case 79:case 10:case 14:case 8:return!0;default:return!1}}function kf(e){return js(e)?qr(e):e.text}function b4(e){return js(e)?e.escapedText:vi(e.text)}function _N(e){return`__@${getSymbolId(e)}@${e.escapedName}`}function cN(e,t){return`__#${getSymbolId(e)}@${t}`}function lN(e){return Pn(e.escapedName,"__@")}function uN(e){return Pn(e.escapedName,"__#")}function pN(e){return e.kind===79&&e.escapedText==="Symbol"}function T4(e){return yt(e)?qr(e)==="__proto__":Gn(e)&&e.text==="__proto__"}function H_(e,t){switch(e=$o(e),e.kind){case 228:case 215:if(e.name)return!1;break;case 216:break;default:return!1}return typeof t=="function"?t(e):!0}function S4(e){switch(e.kind){case 299:return!T4(e.name);case 300:return!!e.objectAssignmentInitializer;case 257:return yt(e.name)&&!!e.initializer;case 166:return yt(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 205:return yt(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 169:return!!e.initializer;case 223:switch(e.operatorToken.kind){case 63:case 76:case 75:case 77:return yt(e.left)}break;case 274:return!0}return!1}function fN(e,t){if(!S4(e))return!1;switch(e.kind){case 299:return H_(e.initializer,t);case 300:return H_(e.objectAssignmentInitializer,t);case 257:case 166:case 205:case 169:return H_(e.initializer,t);case 223:return H_(e.right,t);case 274:return H_(e.expression,t)}}function dN(e){return e.escapedText==="push"||e.escapedText==="unshift"}function mN(e){return If(e).kind===166}function If(e){for(;e.kind===205;)e=e.parent.parent;return e}function hN(e){let t=e.kind;return t===173||t===215||t===259||t===216||t===171||t===174||t===175||t===264||t===308}function fs(e){return hs(e.pos)||hs(e.end)}function gN(e){return fl(e,wi)||e}function yN(e){let t=R0(e),r=e.kind===211&&e.arguments!==void 0;return x4(e.kind,t,r)}function x4(e,t,r){switch(e){case 211:return r?0:1;case 221:case 218:case 219:case 217:case 220:case 224:case 226:return 1;case 223:switch(t){case 42:case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 1}}return 0}function vN(e){let t=R0(e),r=e.kind===211&&e.arguments!==void 0;return E4(e.kind,t,r)}function R0(e){return e.kind===223?e.operatorToken.kind:e.kind===221||e.kind===222?e.operator:e.kind}function E4(e,t,r){switch(e){case 357:return 0;case 227:return 1;case 226:return 2;case 224:return 4;case 223:switch(t){case 27:return 0;case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 3;default:return Dl(t)}case 213:case 232:case 221:case 218:case 219:case 217:case 220:return 16;case 222:return 17;case 210:return 18;case 211:return r?19:18;case 212:case 208:case 209:case 233:return 19;case 231:case 235:return 11;case 108:case 106:case 79:case 80:case 104:case 110:case 95:case 8:case 9:case 10:case 206:case 207:case 215:case 216:case 228:case 13:case 14:case 225:case 214:case 229:case 281:case 282:case 285:return 20;default:return-1}}function Dl(e){switch(e){case 60:return 4;case 56:return 5;case 55:return 6;case 51:return 7;case 52:return 8;case 50:return 9;case 34:case 35:case 36:case 37:return 10;case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:return 11;case 47:case 48:case 49:return 12;case 39:case 40:return 13;case 41:case 43:case 44:return 14;case 42:return 15}return-1}function bN(e){return ee(e,t=>{switch(t.kind){case 291:return!!t.expression;case 11:return!t.containsOnlyTriviaWhiteSpaces;default:return!0}})}function TN(){let e=[],t=[],r=new Map,s=!1;return{add:x,lookup:f,getGlobalDiagnostics:w,getDiagnostics:A};function f(g){let B;if(g.file?B=r.get(g.file.fileName):B=e,!B)return;let N=Ya(B,g,rr,qf);if(N>=0)return B[N]}function x(g){let B;g.file?(B=r.get(g.file.fileName),B||(B=[],r.set(g.file.fileName,B),Qn(t,g.file.fileName,ri))):(s&&(s=!1,e=e.slice()),B=e),Qn(B,g,qf)}function w(){return s=!0,e}function A(g){if(g)return r.get(g)||[];let B=ge(t,N=>r.get(N));return e.length&&B.unshift(...e),B}}function SN(e){return e.replace(s8,"\\${")}function w4(e){return e&&!!(k8(e)?e.templateFlags:e.head.templateFlags||Ke(e.templateSpans,t=>!!t.literal.templateFlags))}function C4(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function xN(e,t,r){if(e.charCodeAt(0)===0){let s=r.charCodeAt(t+e.length);return s>=48&&s<=57?"\\x00":"\\0"}return l8.get(e)||C4(e.charCodeAt(0))}function Nf(e,t){let r=t===96?c8:t===39?_8:o8;return e.replace(r,xN)}function Of(e,t){return e=Nf(e,t),Cv.test(e)?e.replace(Cv,r=>C4(r.charCodeAt(0))):e}function EN(e){return"&#x"+e.toString(16).toUpperCase()+";"}function wN(e){return e.charCodeAt(0)===0?"�":f8.get(e)||EN(e.charCodeAt(0))}function A4(e,t){let r=t===39?p8:u8;return e.replace(r,wN)}function CN(e){let t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&AN(e.charCodeAt(0))?e.substring(1,t-1):e}function AN(e){return e===39||e===34||e===96}function P4(e){let t=e.charCodeAt(0);return t>=97&&t<=122||Fi(e,"-")||Fi(e,":")}function j0(e){let t=jo[1];for(let r=jo.length;r<=e;r++)jo.push(jo[r-1]+t);return jo[e]}function Oo(){return jo[1].length}function PN(){return Fi(C,"-dev")||Fi(C,"-insiders")}function DN(e){var t,r,s,f,x,w=!1;function A(Se){let Ye=Kp(Se);Ye.length>1?(f=f+Ye.length-1,x=t.length-Se.length+Zn(Ye),s=x-t.length===0):s=!1}function g(Se){Se&&Se.length&&(s&&(Se=j0(r)+Se,s=!1),t+=Se,A(Se))}function B(Se){Se&&(w=!1),g(Se)}function N(Se){Se&&(w=!0),g(Se)}function X(){t="",r=0,s=!0,f=0,x=0,w=!1}function F(Se){Se!==void 0&&(t+=Se,A(Se),w=!1)}function $(Se){Se&&Se.length&&B(Se)}function ae(Se){(!s||Se)&&(t+=e,f++,x=t.length,s=!0,w=!1)}function Te(){return s?t.length:t.length+e.length}return X(),{write:B,rawWrite:F,writeLiteral:$,writeLine:ae,increaseIndent:()=>{r++},decreaseIndent:()=>{r--},getIndent:()=>r,getTextPos:()=>t.length,getLine:()=>f,getColumn:()=>s?r*Oo():t.length-x,getText:()=>t,isAtStartOfLine:()=>s,hasTrailingComment:()=>w,hasTrailingWhitespace:()=>!!t.length&&os(t.charCodeAt(t.length-1)),clear:X,writeKeyword:B,writeOperator:B,writeParameter:B,writeProperty:B,writePunctuation:B,writeSpace:B,writeStringLiteral:B,writeSymbol:(Se,Ye)=>B(Se),writeTrailingSemicolon:B,writeComment:N,getTextPosWithWriteLine:Te}}function kN(e){let t=!1;function r(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return Object.assign(Object.assign({},e),{},{writeTrailingSemicolon(){t=!0},writeLiteral(s){r(),e.writeLiteral(s)},writeStringLiteral(s){r(),e.writeStringLiteral(s)},writeSymbol(s,f){r(),e.writeSymbol(s,f)},writePunctuation(s){r(),e.writePunctuation(s)},writeKeyword(s){r(),e.writeKeyword(s)},writeOperator(s){r(),e.writeOperator(s)},writeParameter(s){r(),e.writeParameter(s)},writeSpace(s){r(),e.writeSpace(s)},writeProperty(s){r(),e.writeProperty(s)},writeComment(s){r(),e.writeComment(s)},writeLine(){r(),e.writeLine()},increaseIndent(){r(),e.increaseIndent()},decreaseIndent(){r(),e.decreaseIndent()}})}function J0(e){return e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames():!1}function D4(e){return wp(J0(e))}function k4(e,t,r){return t.moduleName||F0(e,t.fileName,r&&r.fileName)}function I4(e,t){return e.getCanonicalFileName(as(t,e.getCurrentDirectory()))}function IN(e,t,r){let s=t.getExternalModuleFileFromDeclaration(r);if(!s||s.isDeclarationFile)return;let f=E0(r);if(!(f&&Ti(f)&&!So(f.text)&&I4(e,s.path).indexOf(I4(e,wo(e.getCommonSourceDirectory())))===-1))return k4(e,s)}function F0(e,t,r){let s=g=>e.getCanonicalFileName(g),f=Ui(r?ma(r):e.getCommonSourceDirectory(),e.getCurrentDirectory(),s),x=as(t,e.getCurrentDirectory()),w=uy(f,x,f,s,!1),A=Ll(w);return r?_y(A):A}function NN(e,t,r){let s=t.getCompilerOptions(),f;return s.outDir?f=Ll(M4(e,t,s.outDir)):f=Ll(e),f+r}function ON(e,t){return N4(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),r=>t.getCanonicalFileName(r))}function N4(e,t,r,s,f){let x=t.declarationDir||t.outDir,w=x?U0(e,x,r,s,f):e,A=O4(w);return Ll(w)+A}function O4(e){return da(e,[".mjs",".mts"])?".d.mts":da(e,[".cjs",".cts"])?".d.cts":da(e,[".json"])?".d.json.ts":".d.ts"}function MN(e){return da(e,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:da(e,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:da(e,[".d.json.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}function B0(e){return e.outFile||e.out}function LN(e,t){var r,s;if(e.paths)return(s=e.baseUrl)!=null?s:Y.checkDefined(e.pathsBasePath||((r=t.getCurrentDirectory)==null?void 0:r.call(t)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}function RN(e,t,r){let s=e.getCompilerOptions();if(B0(s)){let f=Ei(s),x=s.emitDeclarationOnly||f===2||f===4;return ee(e.getSourceFiles(),w=>(x||!Qo(w))&&q0(w,e,r))}else{let f=t===void 0?e.getSourceFiles():[t];return ee(f,x=>q0(x,e,r))}}function q0(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&y0(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&(r||!(a0(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&!t.isSourceOfProjectReferenceRedirect(e.fileName))}function M4(e,t,r){return U0(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),s=>t.getCanonicalFileName(s))}function U0(e,t,r,s,f){let x=as(e,r);return x=f(x).indexOf(f(s))===0?x.substring(s.length):x,tn(t,x)}function jN(e,t,r,s,f,x,w){e.writeFile(r,s,f,A=>{t.add(Ol(ve.Could_not_write_file_0_Colon_1,r,A))},x,w)}function L4(e,t,r){if(e.length>Bi(e)&&!r(e)){let s=ma(e);L4(s,t,r),t(e)}}function JN(e,t,r,s,f,x){try{s(e,t,r)}catch{L4(ma(Un(e)),f,x),s(e,t,r)}}function FN(e,t){let r=ss(e);return k_(r,t)}function ds(e,t){return k_(e,t)}function R4(e){return Ae(e.members,t=>nc(t)&&xl(t.body))}function z0(e){if(e&&e.parameters.length>0){let t=e.parameters.length===2&&kl(e.parameters[0]);return e.parameters[t?1:0]}}function BN(e){let t=z0(e);return t&&t.type}function j4(e){if(e.parameters.length&&!iu(e)){let t=e.parameters[0];if(kl(t))return t}}function kl(e){return Mf(e.name)}function Mf(e){return!!e&&e.kind===79&&J4(e)}function qN(e){if(!Mf(e))return!1;for(;rc(e.parent)&&e.parent.left===e;)e=e.parent;return e.parent.kind===183}function J4(e){return e.escapedText==="this"}function W0(e,t){let r,s,f,x;return v4(t)?(r=t,t.kind===174?f=t:t.kind===175?x=t:Y.fail("Accessor has wrong kind")):c(e,w=>{if(pf(w)&&G0(w)===G0(t)){let A=Df(w.name),g=Df(t.name);A===g&&(r?s||(s=w):r=w,w.kind===174&&!f&&(f=w),w.kind===175&&!x&&(x=w))}}),{firstAccessor:r,secondAccessor:s,getAccessor:f,setAccessor:x}}function V0(e){if(!Pr(e)&&Wo(e))return;let t=e.type;return t||!Pr(e)?t:Dy(e)?e.typeExpression&&e.typeExpression.type:cf(e)}function UN(e){return e.type}function zN(e){return iu(e)?e.type&&e.type.typeExpression&&e.type.typeExpression.type:e.type||(Pr(e)?OS(e):void 0)}function F4(e){return ne(hl(e),t=>WN(t)?t.typeParameters:void 0)}function WN(e){return Go(e)&&!(e.parent.kind===323&&(e.parent.tags.some(Cl)||e.parent.tags.some(y2)))}function VN(e){let t=z0(e);return t&&V0(t)}function B4(e,t,r,s){q4(e,t,r.pos,s)}function q4(e,t,r,s){s&&s.length&&r!==s[0].pos&&ds(e,r)!==ds(e,s[0].pos)&&t.writeLine()}function HN(e,t,r,s){r!==s&&ds(e,r)!==ds(e,s)&&t.writeLine()}function U4(e,t,r,s,f,x,w,A){if(s&&s.length>0){f&&r.writeSpace(" ");let g=!1;for(let B of s)g&&(r.writeSpace(" "),g=!1),A(e,t,r,B.pos,B.end,w),B.hasTrailingNewLine?r.writeLine():g=!0;g&&x&&r.writeSpace(" ")}}function GN(e,t,r,s,f,x,w){let A,g;if(w?f.pos===0&&(A=ee(Ao(e,f.pos),B)):A=Ao(e,f.pos),A){let N=[],X;for(let F of A){if(X){let $=ds(t,X.end);if(ds(t,F.pos)>=$+2)break}N.push(F),X=F}if(N.length){let F=ds(t,Zn(N).end);ds(t,Ar(e,f.pos))>=F+2&&(B4(t,r,f,A),U4(e,t,r,N,!1,!0,x,s),g={nodePos:f.pos,detachedCommentEndPos:Zn(N).end})}}return g;function B(N){return v3(e,N.pos)}}function $N(e,t,r,s,f,x){if(e.charCodeAt(s+1)===42){let w=my(t,s),A=t.length,g;for(let B=s,N=w.line;B0){let ae=$%Oo(),Te=j0(($-ae)/Oo());for(r.rawWrite(Te);ae;)r.rawWrite(" "),ae--}else r.rawWrite("")}KN(e,f,r,x,B,X),B=X}}else r.writeComment(e.substring(s,f))}function KN(e,t,r,s,f,x){let w=Math.min(t,x-1),A=Pp(e.substring(f,w));A?(r.writeComment(A),w!==t&&r.writeLine()):r.rawWrite(s)}function z4(e,t,r){let s=0;for(;t=0&&e.kind<=162?0:(e.modifierFlagsCache&536870912||(e.modifierFlagsCache=Y0(e)|536870912),t&&!(e.modifierFlagsCache&4096)&&(r||Pr(e))&&e.parent&&(e.modifierFlagsCache|=X4(e)|4096),e.modifierFlagsCache&-536875009)}function Rf(e){return K0(e,!0)}function K4(e){return K0(e,!0,!0)}function X0(e){return K0(e,!1)}function X4(e){let t=0;return e.parent&&!Vs(e)&&(Pr(e)&&(CS(e)&&(t|=4),AS(e)&&(t|=8),PS(e)&&(t|=16),DS(e)&&(t|=64),kS(e)&&(t|=16384)),IS(e)&&(t|=8192)),t}function Y4(e){return Y0(e)|X4(e)}function Y0(e){let t=fc(e)?Vn(e.modifiers):0;return(e.flags&4||e.kind===79&&e.flags&2048)&&(t|=1),t}function Vn(e){let t=0;if(e)for(let r of e)t|=Q0(r.kind);return t}function Q0(e){switch(e){case 124:return 32;case 123:return 4;case 122:return 16;case 121:return 8;case 126:return 256;case 127:return 128;case 93:return 1;case 136:return 2;case 85:return 2048;case 88:return 1024;case 132:return 512;case 146:return 64;case 161:return 16384;case 101:return 32768;case 145:return 65536;case 167:return 131072}return 0}function Q4(e){return e===56||e===55}function ZN(e){return Q4(e)||e===53}function jf(e){return e===75||e===76||e===77}function eO(e){return ur(e)&&jf(e.operatorToken.kind)}function Z4(e){return Q4(e)||e===60}function tO(e){return ur(e)&&Z4(e.operatorToken.kind)}function G_(e){return e>=63&&e<=78}function ex(e){let t=tx(e);return t&&!t.isImplements?t.class:void 0}function tx(e){if(e2(e)){if(ru(e.parent)&&bi(e.parent.parent))return{class:e.parent.parent,isImplements:e.parent.token===117};if(md(e.parent)){let t=A0(e.parent);if(t&&bi(t))return{class:t,isImplements:!1}}}}function ms(e,t){return ur(e)&&(t?e.operatorToken.kind===63:G_(e.operatorToken.kind))&&Do(e.left)}function rO(e){return ms(e.parent)&&e.parent.left===e}function nO(e){if(ms(e,!0)){let t=e.left.kind;return t===207||t===206}return!1}function Z0(e){return ex(e)!==void 0}function Bs(e){return e.kind===79||rx(e)}function iO(e){switch(e.kind){case 79:return e;case 163:do e=e.left;while(e.kind!==79);return e;case 208:do e=e.expression;while(e.kind!==79);return e}}function ev(e){return e.kind===79||e.kind===108||e.kind===106||e.kind===233||e.kind===208&&ev(e.expression)||e.kind===214&&ev(e.expression)}function rx(e){return bn(e)&&yt(e.name)&&Bs(e.expression)}function tv(e){if(bn(e)){let t=tv(e.expression);if(t!==void 0)return t+"."+ls(e.name)}else if(gs(e)){let t=tv(e.expression);if(t!==void 0&&vl(e.argumentExpression))return t+"."+Df(e.argumentExpression)}else if(yt(e))return dl(e.escapedText)}function Nl(e){return W_(e)&&Fs(e)==="prototype"}function aO(e){return e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e}function nx(e){return bn(e.parent)&&e.parent.name===e||gs(e.parent)&&e.parent.argumentExpression===e}function sO(e){return rc(e.parent)&&e.parent.right===e||bn(e.parent)&&e.parent.name===e||uc(e.parent)&&e.parent.right===e}function oO(e){return e.kind===207&&e.properties.length===0}function _O(e){return e.kind===206&&e.elements.length===0}function cO(e){if(!(!lO(e)||!e.declarations)){for(let t of e.declarations)if(t.localSymbol)return t.localSymbol}}function lO(e){return e&&I(e.declarations)>0&&rn(e.declarations[0],1024)}function uO(e){return Ae(y8,t=>ns(e,t))}function pO(e){let t=[],r=e.length;for(let s=0;s>6|192),t.push(f&63|128)):f<65536?(t.push(f>>12|224),t.push(f>>6&63|128),t.push(f&63|128)):f<131072?(t.push(f>>18|240),t.push(f>>12&63|128),t.push(f>>6&63|128),t.push(f&63|128)):Y.assert(!1,"Unexpected code point")}return t}function ix(e){let t="",r=pO(e),s=0,f=r.length,x,w,A,g;for(;s>2,w=(r[s]&3)<<4|r[s+1]>>4,A=(r[s+1]&15)<<2|r[s+2]>>6,g=r[s+2]&63,s+1>=f?A=g=64:s+2>=f&&(g=64),t+=xa.charAt(x)+xa.charAt(w)+xa.charAt(A)+xa.charAt(g),s+=3;return t}function fO(e){let t="",r=0,s=e.length;for(;r>4&3,N=(w&15)<<4|A>>2&15,X=(A&3)<<6|g&63;N===0&&A!==0?s.push(B):X===0&&g!==0?s.push(B,N):s.push(B,N,X),f+=4}return fO(s)}function ax(e,t){let r=Ji(t)?t:t.readFile(e);if(!r)return;let s=parseConfigFileTextToJson(e,r);return s.error?void 0:s.config}function hO(e,t){return ax(e,t)||{}}function sx(e,t){return!t.directoryExists||t.directoryExists(e)}function ox(e){switch(e.newLine){case 0:return d8;case 1:case void 0:return m8}}function Jf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Y.assert(t>=e||t===-1),{pos:e,end:t}}function gO(e,t){return Jf(e.pos,t)}function Ff(e,t){return Jf(t,e.end)}function _x(e){let t=fc(e)?te(e.modifiers,zl):void 0;return t&&!hs(t.end)?Ff(e,t.end):e}function yO(e){if(Bo(e)||Vl(e))return Ff(e,e.name.pos);let t=fc(e)?Cn(e.modifiers):void 0;return t&&!hs(t.end)?Ff(e,t.end):_x(e)}function vO(e){return e.pos===e.end}function bO(e,t){return Jf(e,e+Br(t).length)}function TO(e,t){return cx(e,e,t)}function SO(e,t,r){return $_(K_(e,r,!1),K_(t,r,!1),r)}function xO(e,t,r){return $_(e.end,t.end,r)}function cx(e,t,r){return $_(K_(e,r,!1),t.end,r)}function EO(e,t,r){return $_(e.end,K_(t,r,!1),r)}function wO(e,t,r,s){let f=K_(t,r,s);return I_(r,e.end,f)}function CO(e,t,r){return I_(r,e.end,t.end)}function AO(e,t){return!$_(e.pos,e.end,t)}function $_(e,t,r){return I_(r,e,t)===0}function K_(e,t,r){return hs(e.pos)?-1:Ar(t.text,e.pos,!1,r)}function PO(e,t,r,s){let f=Ar(r.text,e,!1,s),x=kO(f,t,r);return I_(r,x!=null?x:t,f)}function DO(e,t,r,s){let f=Ar(r.text,e,!1,s);return I_(r,e,Math.min(t,f))}function kO(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;for(;e-- >t;)if(!os(r.text.charCodeAt(e)))return e}function IO(e){let t=fl(e);if(t)switch(t.parent.kind){case 263:case 264:return t===t.parent.name}return!1}function NO(e){return ee(e.declarations,lx)}function lx(e){return Vi(e)&&e.initializer!==void 0}function OO(e){return e.watch&&Jr(e,"watch")}function MO(e){e.close()}function ux(e){return e.flags&33554432?e.links.checkFlags:0}function LO(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.valueDeclaration){let r=t&&e.declarations&&Ae(e.declarations,ic)||e.flags&32768&&Ae(e.declarations,Gl)||e.valueDeclaration,s=ef(r);return e.parent&&e.parent.flags&32?s:s&-29}if(ux(e)&6){let r=e.links.checkFlags,s=r&1024?8:r&256?4:16,f=r&2048?32:0;return s|f}return e.flags&4194304?36:0}function RO(e,t){return e.flags&2097152?t.getAliasedSymbol(e):e}function jO(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}function JO(e){return Mo(e)===1}function FO(e){return Mo(e)!==0}function Mo(e){let{parent:t}=e;if(!t)return 0;switch(t.kind){case 214:return Mo(t);case 222:case 221:let{operator:s}=t;return s===45||s===46?r():0;case 223:let{left:f,operatorToken:x}=t;return f===e&&G_(x.kind)?x.kind===63?1:r():0;case 208:return t.name!==e?0:Mo(t);case 299:{let w=Mo(t.parent);return e===t.name?BO(w):w}case 300:return e===t.objectAssignmentInitializer?0:Mo(t.parent);case 206:return Mo(t);default:return 0}function r(){return t.parent&&D0(t.parent).kind===241?1:2}}function BO(e){switch(e){case 0:return 1;case 1:return 0;case 2:return 2;default:return Y.assertNever(e)}}function px(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(typeof e[r]=="object"){if(!px(e[r],t[r]))return!1}else if(typeof e[r]!="function"&&e[r]!==t[r])return!1;return!0}function qO(e,t){e.forEach(t),e.clear()}function fx(e,t,r){let{onDeleteValue:s,onExistingValue:f}=r;e.forEach((x,w)=>{let A=t.get(w);A===void 0?(e.delete(w),s(x,w)):f&&f(x,A,w)})}function UO(e,t,r){fx(e,t,r);let{createNewValue:s}=r;t.forEach((f,x)=>{e.has(x)||e.set(x,s(x,f))})}function zO(e){if(e.flags&32){let t=dx(e);return!!t&&rn(t,256)}return!1}function dx(e){var t;return(t=e.declarations)==null?void 0:t.find(bi)}function Bf(e){return e.flags&3899393?e.objectFlags:0}function WO(e,t){return!!FT(e,r=>t(r)?!0:void 0)}function VO(e){return!!e&&!!e.declarations&&!!e.declarations[0]&&a2(e.declarations[0])}function HO(e){let{moduleSpecifier:t}=e;return Gn(t)?t.text:gf(t)}function mx(e){let t;return xr(e,r=>{xl(r)&&(t=r)},r=>{for(let s=r.length-1;s>=0;s--)if(xl(r[s])){t=r[s];break}}),t}function GO(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.has(t)?!1:(e.set(t,r),!0)}function $O(e){return bi(e)||eu(e)||id(e)}function hx(e){return e>=179&&e<=202||e===131||e===157||e===148||e===160||e===149||e===134||e===152||e===153||e===114||e===155||e===144||e===139||e===230||e===315||e===316||e===317||e===318||e===319||e===320||e===321}function Lo(e){return e.kind===208||e.kind===209}function KO(e){return e.kind===208?e.name:(Y.assert(e.kind===209),e.argumentExpression)}function XO(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}}function YO(e){return e.kind===272||e.kind===276}function rv(e){for(;Lo(e);)e=e.expression;return e}function QO(e,t){if(Lo(e.parent)&&nx(e))return r(e.parent);function r(s){if(s.kind===208){let f=t(s.name);if(f!==void 0)return f}else if(s.kind===209)if(yt(s.argumentExpression)||Ti(s.argumentExpression)){let f=t(s.argumentExpression);if(f!==void 0)return f}else return;if(Lo(s.expression))return r(s.expression);if(yt(s.expression))return t(s.expression)}}function ZO(e,t){for(;;){switch(e.kind){case 222:e=e.operand;continue;case 223:e=e.left;continue;case 224:e=e.condition;continue;case 212:e=e.tag;continue;case 210:if(t)return e;case 231:case 209:case 208:case 232:case 356:case 235:e=e.expression;continue}return e}}function eM(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.isAssigned=void 0,this.links=void 0}function tM(e,t){this.flags=t,(Y.isDebugging||rs)&&(this.checker=e)}function rM(e,t){this.flags=t,Y.isDebugging&&(this.checker=e)}function nv(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function nM(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function iM(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function aM(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||(s=>s)}function sM(e){Av.push(e),e(lr)}function gx(e){Object.assign(lr,e),c(Av,t=>t(lr))}function X_(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return e.replace(/{(\d+)}/g,(s,f)=>""+Y.checkDefined(t[+f+r]))}function yx(e){jl=e}function vx(e){!jl&&e&&(jl=e())}function Y_(e){return jl&&jl[e.key]||e.message}function Ro(e,t,r,s){t0(void 0,t,r);let f=Y_(s);return arguments.length>4&&(f=X_(f,arguments,4)),{file:void 0,start:t,length:r,messageText:f,category:s.category,code:s.code,reportsUnnecessary:s.reportsUnnecessary,fileName:e}}function oM(e){return e.file===void 0&&e.start!==void 0&&e.length!==void 0&&typeof e.fileName=="string"}function bx(e,t){let r=t.fileName||"",s=t.text.length;Y.assertEqual(e.fileName,r),Y.assertLessThanOrEqual(e.start,s),Y.assertLessThanOrEqual(e.start+e.length,s);let f={file:t,start:e.start,length:e.length,messageText:e.messageText,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary};if(e.relatedInformation){f.relatedInformation=[];for(let x of e.relatedInformation)oM(x)&&x.fileName===r?(Y.assertLessThanOrEqual(x.start,s),Y.assertLessThanOrEqual(x.start+x.length,s),f.relatedInformation.push(bx(x,t))):f.relatedInformation.push(x)}return f}function qs(e,t){let r=[];for(let s of e)r.push(bx(s,t));return r}function iv(e,t,r,s){t0(e,t,r);let f=Y_(s);return arguments.length>4&&(f=X_(f,arguments,4)),{file:e,start:t,length:r,messageText:f,category:s.category,code:s.code,reportsUnnecessary:s.reportsUnnecessary,reportsDeprecated:s.reportsDeprecated}}function _M(e,t){let r=Y_(t);return arguments.length>2&&(r=X_(r,arguments,2)),r}function Ol(e){let t=Y_(e);return arguments.length>1&&(t=X_(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function cM(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}}function lM(e,t){let r=Y_(t);return arguments.length>2&&(r=X_(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:e===void 0||Array.isArray(e)?e:[e]}}function uM(e,t){let r=e;for(;r.next;)r=r.next[0];r.next=[t]}function Tx(e){return e.file?e.file.path:void 0}function av(e,t){return qf(e,t)||pM(e,t)||0}function qf(e,t){return ri(Tx(e),Tx(t))||Vr(e.start,t.start)||Vr(e.length,t.length)||Vr(e.code,t.code)||Sx(e.messageText,t.messageText)||0}function pM(e,t){return!e.relatedInformation&&!t.relatedInformation?0:e.relatedInformation&&t.relatedInformation?Vr(e.relatedInformation.length,t.relatedInformation.length)||c(e.relatedInformation,(r,s)=>{let f=t.relatedInformation[s];return av(r,f)})||0:e.relatedInformation?-1:1}function Sx(e,t){if(typeof e=="string"&&typeof t=="string")return ri(e,t);if(typeof e=="string")return-1;if(typeof t=="string")return 1;let r=ri(e.messageText,t.messageText);if(r)return r;if(!e.next&&!t.next)return 0;if(!e.next)return-1;if(!t.next)return 1;let s=Math.min(e.next.length,t.next.length);for(let f=0;ft.next.length?1:0}function sv(e){return e===4||e===2||e===1||e===6?1:0}function xx(e){if(e.transformFlags&2)return _3(e)||pd(e)?e:xr(e,xx)}function fM(e){return e.isDeclarationFile?void 0:xx(e)}function dM(e){return(e.impliedNodeFormat===99||da(e.fileName,[".cjs",".cts",".mjs",".mts"]))&&!e.isDeclarationFile?!0:void 0}function Ex(e){switch(wx(e)){case 3:return f=>{f.externalModuleIndicator=ou(f)||!f.isDeclarationFile||void 0};case 1:return f=>{f.externalModuleIndicator=ou(f)};case 2:let t=[ou];(e.jsx===4||e.jsx===5)&&t.push(fM),t.push(dM);let r=W1(...t);return f=>void(f.externalModuleIndicator=r(f))}}function Uf(e){var t;return(t=e.target)!=null?t:e.module===100&&9||e.module===199&&99||1}function Ei(e){return typeof e.module=="number"?e.module:Uf(e)>=2?5:1}function mM(e){return e>=5&&e<=99}function Ml(e){let t=e.moduleResolution;if(t===void 0)switch(Ei(e)){case 1:t=2;break;case 100:t=3;break;case 199:t=99;break;default:t=1;break}return t}function wx(e){return e.moduleDetection||(Ei(e)===100||Ei(e)===199?3:2)}function hM(e){switch(Ei(e)){case 1:case 2:case 5:case 6:case 7:case 99:case 100:case 199:return!0;default:return!1}}function zf(e){return!!(e.isolatedModules||e.verbatimModuleSyntax)}function gM(e){return e.verbatimModuleSyntax||e.isolatedModules&&e.preserveValueImports}function yM(e){return e.allowUnreachableCode===!1}function vM(e){return e.allowUnusedLabels===!1}function bM(e){return!!(cv(e)&&e.declarationMap)}function ov(e){if(e.esModuleInterop!==void 0)return e.esModuleInterop;switch(Ei(e)){case 100:case 199:return!0}}function TM(e){return e.allowSyntheticDefaultImports!==void 0?e.allowSyntheticDefaultImports:ov(e)||Ei(e)===4||Ml(e)===100}function _v(e){return e>=3&&e<=99||e===100}function SM(e){let t=Ml(e);if(!_v(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function xM(e){let t=Ml(e);if(!_v(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function Cx(e){return e.resolveJsonModule!==void 0?e.resolveJsonModule:Ml(e)===100}function cv(e){return!!(e.declaration||e.composite)}function EM(e){return!!(e.preserveConstEnums||zf(e))}function wM(e){return!!(e.incremental||e.composite)}function lv(e,t){return e[t]===void 0?!!e.strict:!!e[t]}function Ax(e){return e.allowJs===void 0?!!e.checkJs:e.allowJs}function CM(e){return e.useDefineForClassFields===void 0?Uf(e)>=9:e.useDefineForClassFields}function AM(e,t){return J_(t,e,semanticDiagnosticsOptionDeclarations)}function PM(e,t){return J_(t,e,affectsEmitOptionDeclarations)}function DM(e,t){return J_(t,e,affectsDeclarationPathOptionDeclarations)}function uv(e,t){return t.strictFlag?lv(e,t.name):e[t.name]}function kM(e){let t=e.jsx;return t===2||t===4||t===5}function IM(e,t){let r=t==null?void 0:t.pragmas.get("jsximportsource"),s=ir(r)?r[r.length-1]:r;return e.jsx===4||e.jsx===5||e.jsxImportSource||s?(s==null?void 0:s.arguments.factory)||e.jsxImportSource||"react":void 0}function NM(e,t){return e?`${e}/${t.jsx===5?"jsx-dev-runtime":"jsx-runtime"}`:void 0}function OM(e){let t=!1;for(let r=0;rf,getSymlinkedDirectories:()=>r,getSymlinkedDirectoriesByRealpath:()=>s,setSymlinkedFile:(A,g)=>(f||(f=new Map)).set(A,g),setSymlinkedDirectory:(A,g)=>{let B=Ui(A,e,t);Hx(B)||(B=wo(B),g!==!1&&!(r!=null&&r.has(B))&&(s||(s=Be())).add(wo(g.realPath),A),(r||(r=new Map)).set(B,g))},setSymlinksFromResolutions(A,g){var B,N;Y.assert(!x),x=!0;for(let X of A)(B=X.resolvedModules)==null||B.forEach(F=>w(this,F.resolvedModule)),(N=X.resolvedTypeReferenceDirectiveNames)==null||N.forEach(F=>w(this,F.resolvedTypeReferenceDirective));g.forEach(X=>w(this,X.resolvedTypeReferenceDirective))},hasProcessedResolutions:()=>x};function w(A,g){if(!g||!g.originalPath||!g.resolvedFileName)return;let{resolvedFileName:B,originalPath:N}=g;A.setSymlinkedFile(Ui(N,e,t),B);let[X,F]=LM(B,N,e,t)||Bt;X&&F&&A.setSymlinkedDirectory(F,{real:X,realPath:Ui(X,e,t)})}}function LM(e,t,r,s){let f=qi(as(e,r)),x=qi(as(t,r)),w=!1;for(;f.length>=2&&x.length>=2&&!Px(f[f.length-2],s)&&!Px(x[x.length-2],s)&&s(f[f.length-1])===s(x[x.length-1]);)f.pop(),x.pop(),w=!0;return w?[xo(f),xo(x)]:void 0}function Px(e,t){return e!==void 0&&(t(e)==="node_modules"||Pn(e,"@"))}function RM(e){return ay(e.charCodeAt(0))?e.slice(1):void 0}function jM(e,t,r){let s=ST(e,t,r);return s===void 0?void 0:RM(s)}function JM(e){return e.replace(Xf,FM)}function FM(e){return"\\"+e}function Wf(e,t,r){let s=pv(e,t,r);return!s||!s.length?void 0:`^(${s.map(w=>`(${w})`).join("|")})${r==="exclude"?"($|/)":"$"}`}function pv(e,t,r){if(!(e===void 0||e.length===0))return ne(e,s=>s&&kx(s,t,r,Nv[r]))}function Dx(e){return!/[.*?]/.test(e)}function BM(e,t,r){let s=e&&kx(e,t,r,Nv[r]);return s&&`^(${s})${r==="exclude"?"($|/)":"$"}`}function kx(e,t,r,s){let{singleAsteriskRegexFragment:f,doubleAsteriskRegexFragment:x,replaceWildcardCharacter:w}=s,A="",g=!1,B=$p(e,t),N=Zn(B);if(r!=="exclude"&&N==="**")return;B[0]=P_(B[0]),Dx(N)&&B.push("**","*");let X=0;for(let F of B){if(F==="**")A+=x;else if(r==="directories"&&(A+="(",X++),g&&(A+=zn),r!=="exclude"){let $="";F.charCodeAt(0)===42?($+="([^./]"+f+")?",F=F.substr(1)):F.charCodeAt(0)===63&&($+="[^./]",F=F.substr(1)),$+=F.replace(Xf,w),$!==F&&(A+=Yf),A+=$}else A+=F.replace(Xf,w);g=!0}for(;X>0;)A+=")?",X--;return A}function fv(e,t){return e==="*"?t:e==="?"?"[^/]":"\\"+e}function Ix(e,t,r,s,f){e=Un(e),f=Un(f);let x=tn(f,e);return{includeFilePatterns:Ze(pv(r,x,"files"),w=>`^${w}$`),includeFilePattern:Wf(r,x,"files"),includeDirectoryPattern:Wf(r,x,"directories"),excludePattern:Wf(t,x,"exclude"),basePaths:UM(e,r,s)}}function Vf(e,t){return new RegExp(e,t?"":"i")}function qM(e,t,r,s,f,x,w,A,g){e=Un(e),x=Un(x);let B=Ix(e,r,s,f,x),N=B.includeFilePatterns&&B.includeFilePatterns.map(Ye=>Vf(Ye,f)),X=B.includeDirectoryPattern&&Vf(B.includeDirectoryPattern,f),F=B.excludePattern&&Vf(B.excludePattern,f),$=N?N.map(()=>[]):[[]],ae=new Map,Te=wp(f);for(let Ye of B.basePaths)Se(Ye,tn(x,Ye),w);return ct($);function Se(Ye,Ne,oe){let Ve=Te(g(Ne));if(ae.has(Ve))return;ae.set(Ve,!0);let{files:pt,directories:Gt}=A(Ye);for(let Nt of Is(pt,ri)){let Xt=tn(Ye,Nt),er=tn(Ne,Nt);if(!(t&&!da(Xt,t))&&!(F&&F.test(er)))if(!N)$[0].push(Xt);else{let Tn=he(N,Hr=>Hr.test(er));Tn!==-1&&$[Tn].push(Xt)}}if(!(oe!==void 0&&(oe--,oe===0)))for(let Nt of Is(Gt,ri)){let Xt=tn(Ye,Nt),er=tn(Ne,Nt);(!X||X.test(er))&&(!F||!F.test(er))&&Se(Xt,er,oe)}}}function UM(e,t,r){let s=[e];if(t){let f=[];for(let x of t){let w=A_(x)?x:Un(tn(e,x));f.push(zM(w))}f.sort(rl(!r));for(let x of f)me(s,w=>!jT(w,x,e,!r))&&s.push(x)}return s}function zM(e){let t=Je(e,h8);return t<0?OT(e)?P_(ma(e)):e:e.substring(0,e.lastIndexOf(zn,t))}function Nx(e,t){return t||Ox(e)||3}function Ox(e){switch(e.substr(e.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}function Mx(e,t){let r=e&&Ax(e);if(!t||t.length===0)return r?Jl:Jo;let s=r?Jl:Jo,f=ct(s);return[...s,...qt(t,w=>w.scriptKind===7||r&&WM(w.scriptKind)&&f.indexOf(w.extension)===-1?[w.extension]:void 0)]}function Lx(e,t){return!e||!Cx(e)?t:t===Jl?v8:t===Jo?g8:[...t,[".json"]]}function WM(e){return e===1||e===2}function dv(e){return Ke(Lv,t=>ns(e,t))}function mv(e){return Ke(Ov,t=>ns(e,t))}function Rx(e){let{imports:t}=e,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W1(dv,mv);return q(t,s=>{let{text:f}=s;return So(f)?r(f):void 0})||!1}function VM(e,t,r,s){if(e==="js"||t===99)return shouldAllowImportingTsExtension(r)&&f()!==2?3:2;if(e==="minimal")return 0;if(e==="index")return 1;if(!shouldAllowImportingTsExtension(r))return Rx(s)?2:0;return f();function f(){let x=!1,w=s.imports.length?s.imports.map(A=>A.text):y0(s)?HM(s).map(A=>A.arguments[0].text):Bt;for(let A of w)if(So(A)){if(mv(A))return 3;dv(A)&&(x=!0)}return x?2:0}}function HM(e){let t=0,r;for(let s of e.statements){if(t>3)break;W3(s)?r=Ft(r,s.declarationList.declarations.map(f=>f.initializer)):Zl(s)&&El(s.expression,!0)?r=tr(r,s.expression):t++}return r||Bt}function GM(e,t,r){if(!e)return!1;let s=Mx(t,r);for(let f of ct(Lx(t,s)))if(ns(e,f))return!0;return!1}function jx(e){let t=e.match(/\//g);return t?t.length:0}function $M(e,t){return Vr(jx(e),jx(t))}function Ll(e){for(let t of Qf){let r=Jx(e,t);if(r!==void 0)return r}return e}function Jx(e,t){return ns(e,t)?Fx(e,t):void 0}function Fx(e,t){return e.substring(0,e.length-t.length)}function KM(e,t){return RT(e,t,Qf,!1)}function Bx(e){let t=e.indexOf("*");return t===-1?e:e.indexOf("*",t+1)!==-1?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function XM(e){return qt(ho(e),t=>Bx(t))}function hs(e){return!(e>=0)}function qx(e){return e===".ts"||e===".tsx"||e===".d.ts"||e===".cts"||e===".mts"||e===".d.mts"||e===".d.cts"||Pn(e,".d.")&&es(e,".ts")}function YM(e){return qx(e)||e===".json"}function QM(e){let t=hv(e);return t!==void 0?t:Y.fail(`File ${e} has unknown extension.`)}function ZM(e){return hv(e)!==void 0}function hv(e){return Ae(Qf,t=>ns(e,t))}function eL(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}function tL(e,t){let r=[];for(let s of e){if(s===t)return t;Ji(s)||r.push(s)}return TT(r,s=>s,t)}function rL(e,t){let r=e.indexOf(t);return Y.assert(r!==-1),e.slice(r)}function Rl(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;ss&&(s=x)}return{min:r,max:s}}function iL(e){return{pos:Io(e),end:e.end}}function aL(e,t){let r=t.pos-1,s=Math.min(e.text.length,Ar(e.text,t.end)+1);return{pos:r,end:s}}function sL(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)}function gv(e,t){return e===t||typeof e=="object"&&e!==null&&typeof t=="object"&&t!==null&&S_(e,t,gv)}function Hf(e){let t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:let B=e.length-1,N=0;for(;e.charCodeAt(N)===48;)N++;return e.slice(N,B)||"0"}let r=2,s=e.length-1,f=(s-r)*t,x=new Uint16Array((f>>>4)+(f&15?1:0));for(let B=s-1,N=0;B>=r;B--,N+=t){let X=N>>>4,F=e.charCodeAt(B),ae=(F<=57?F-48:10+F-(F<=70?65:97))<<(N&15);x[X]|=ae;let Te=ae>>>16;Te&&(x[X+1]|=Te)}let w="",A=x.length-1,g=!0;for(;g;){let B=0;g=!1;for(let N=A;N>=0;N--){let X=B<<16|x[N],F=X/10|0;x[N]=F,B=X-F*10,F&&!g&&(A=N,g=!0)}w=B+w}return w}function yv(e){let{negative:t,base10Value:r}=e;return(t&&r!=="0"?"-":"")+r}function oL(e){if(zx(e,!1))return Ux(e)}function Ux(e){let t=e.startsWith("-"),r=Hf(`${t?e.slice(1):e}n`);return{negative:t,base10Value:r}}function zx(e,t){if(e==="")return!1;let r=Po(99,!1),s=!0;r.setOnError(()=>s=!1),r.setText(e+"n");let f=r.scan(),x=f===40;x&&(f=r.scan());let w=r.getTokenFlags();return s&&f===9&&r.getTextPos()===e.length+1&&!(w&512)&&(!t||e===yv({negative:x,base10Value:Hf(r.getTokenValue())}))}function _L(e){return!!(e.flags&16777216)||F3(e)||uL(e)||lL(e)||!(g0(e)||cL(e))}function cL(e){return yt(e)&&nu(e.parent)&&e.parent.name===e}function lL(e){for(;e.kind===79||e.kind===208;)e=e.parent;if(e.kind!==164)return!1;if(rn(e.parent,256))return!0;let t=e.parent.parent.kind;return t===261||t===184}function uL(e){if(e.kind!==79)return!1;let t=zi(e.parent,r=>{switch(r.kind){case 294:return!0;case 208:case 230:return!1;default:return"quit"}});return(t==null?void 0:t.token)===117||(t==null?void 0:t.parent.kind)===261}function pL(e){return ac(e)&&yt(e.typeName)}function fL(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fa;if(e.length<2)return!0;let r=e[0];for(let s=1,f=e.length;sFi(e,t))}function yL(e){if(!e.parent)return;switch(e.kind){case 165:let{parent:r}=e;return r.kind===192?void 0:r.typeParameters;case 166:return e.parent.parameters;case 201:return e.parent.templateSpans;case 236:return e.parent.templateSpans;case 167:{let{parent:s}=e;return ME(s)?s.modifiers:void 0}case 294:return e.parent.heritageClauses}let{parent:t}=e;if(zy(e))return f2(e.parent)?void 0:e.parent.tags;switch(t.kind){case 184:case 261:return Ry(e)?t.members:void 0;case 189:case 190:return t.types;case 186:case 206:case 357:case 272:case 276:return t.elements;case 207:case 289:return t.properties;case 210:case 211:return Jy(e)?t.typeArguments:t.expression===e?void 0:t.arguments;case 281:case 285:return o3(e)?t.children:void 0;case 283:case 282:return Jy(e)?t.typeArguments:void 0;case 238:case 292:case 293:case 265:return t.statements;case 266:return t.clauses;case 260:case 228:return Js(e)?t.members:void 0;case 263:return cE(e)?t.members:void 0;case 308:return t.statements}}function vL(e){if(!e.typeParameters){if(Ke(e.parameters,t=>!V0(t)))return!0;if(e.kind!==216){let t=pa(e.parameters);if(!(t&&kl(t)))return!0}}return!1}function bL(e){return e==="Infinity"||e==="-Infinity"||e==="NaN"}function Gx(e){return e.kind===257&&e.parent.kind===295}function TL(e){let t=e.valueDeclaration&&If(e.valueDeclaration);return!!t&&(Vs(t)||Gx(t))}function SL(e){return e.kind===215||e.kind===216}function xL(e){return e.replace(/\$/gm,()=>"\\$")}function $x(e){return(+e).toString()===e}function EL(e,t,r,s){return vy(e,t)?si.createIdentifier(e):!s&&$x(e)&&+e>=0?si.createNumericLiteral(+e):si.createStringLiteral(e,!!r)}function Kx(e){return!!(e.flags&262144&&e.isThisType)}function wL(e){let t=0,r=0,s=0,f=0,x;(B=>{B[B.BeforeNodeModules=0]="BeforeNodeModules",B[B.NodeModules=1]="NodeModules",B[B.Scope=2]="Scope",B[B.PackageContent=3]="PackageContent"})(x||(x={}));let w=0,A=0,g=0;for(;A>=0;)switch(w=A,A=e.indexOf("/",w+1),g){case 0:e.indexOf(nodeModulesPathPart,w)===w&&(t=w,r=A,g=1);break;case 1:case 2:g===1&&e.charAt(w+1)==="@"?g=2:(s=A,g=3);break;case 3:e.indexOf(nodeModulesPathPart,w)===w?g=1:g=3;break}return f=w,g>1?{topLevelNodeModulesIndex:t,topLevelPackageNameIndex:r,packageRootIndex:s,fileNameIndex:f}:void 0}function CL(e){var t;return e.kind===344?(t=e.typeExpression)==null?void 0:t.type:e.type}function Xx(e){switch(e.kind){case 165:case 260:case 261:case 262:case 263:case 349:case 341:case 343:return!0;case 270:return e.isTypeOnly;case 273:case 278:return e.parent.parent.isTypeOnly;default:return!1}}function AL(e){return i2(e)||zo(e)||Wo(e)||_c(e)||eu(e)||Xx(e)||Ea(e)&&!Xy(e)&&!vf(e)}function Yx(e){if(!Dy(e))return!1;let{isBracketed:t,typeExpression:r}=e;return t||!!r&&r.type.kind===319}function PL(e,t){if(e.length===0)return!1;let r=e.charCodeAt(0);return r===35?e.length>1&&Wn(e.charCodeAt(1),t):Wn(r,t)}function Qx(e){var t;return((t=getSnippetElement(e))==null?void 0:t.kind)===0}function Zx(e){return Pr(e)&&(e.type&&e.type.kind===319||of(e).some(t=>{let{isBracketed:r,typeExpression:s}=t;return r||!!s&&s.type.kind===319}))}function DL(e){switch(e.kind){case 169:case 168:return!!e.questionToken;case 166:return!!e.questionToken||Zx(e);case 351:case 344:return Yx(e);default:return!1}}function kL(e){let t=e.kind;return(t===208||t===209)&&Uo(e.expression)}function IL(e){return Pr(e)&&qo(e)&&ya(e)&&!!wy(e)}function NL(e){return Y.checkDefined(e8(e))}function e8(e){let t=wy(e);return t&&t.typeExpression&&t.typeExpression.type}var t8,Kf,r8,n8,Z_,vv,bv,i8,Tv,a8,Sv,xv,Ev,wv,s8,o8,_8,c8,l8,Cv,u8,p8,f8,jo,xa,d8,m8,lr,Av,jl,Xf,h8,Pv,Yf,Dv,kv,Iv,Nv,Jo,Ov,g8,y8,Mv,Lv,Jl,v8,Rv,b8,jv,Qf,T8,OL=D({"src/compiler/utilities.ts"(){"use strict";nn(),t8=[],Kf="tslib",r8=160,n8=1e6,Z_=_D(),vv=(e=>(e[e.None=0]="None",e[e.NeverAsciiEscape=1]="NeverAsciiEscape",e[e.JsxAttributeEscape=2]="JsxAttributeEscape",e[e.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",e[e.AllowNumericSeparator=8]="AllowNumericSeparator",e))(vv||{}),bv=/^(\/\/\/\s*/,i8=/^(\/\/\/\s*/,Tv=/^(\/\/\/\s*/,a8=/^(\/\/\/\s*/,Sv=(e=>(e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound",e))(Sv||{}),xv=(e=>(e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator",e))(xv||{}),Ev=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(Ev||{}),wv=(e=>(e[e.Comma=0]="Comma",e[e.Spread=1]="Spread",e[e.Yield=2]="Yield",e[e.Assignment=3]="Assignment",e[e.Conditional=4]="Conditional",e[e.Coalesce=4]="Coalesce",e[e.LogicalOR=5]="LogicalOR",e[e.LogicalAND=6]="LogicalAND",e[e.BitwiseOR=7]="BitwiseOR",e[e.BitwiseXOR=8]="BitwiseXOR",e[e.BitwiseAND=9]="BitwiseAND",e[e.Equality=10]="Equality",e[e.Relational=11]="Relational",e[e.Shift=12]="Shift",e[e.Additive=13]="Additive",e[e.Multiplicative=14]="Multiplicative",e[e.Exponentiation=15]="Exponentiation",e[e.Unary=16]="Unary",e[e.Update=17]="Update",e[e.LeftHandSide=18]="LeftHandSide",e[e.Member=19]="Member",e[e.Primary=20]="Primary",e[e.Highest=20]="Highest",e[e.Lowest=0]="Lowest",e[e.Invalid=-1]="Invalid",e))(wv||{}),s8=/\$\{/g,o8=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,_8=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,c8=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,l8=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"})),Cv=/[^\u0000-\u007F]/g,u8=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,p8=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,f8=new Map(Object.entries({'"':""","'":"'"})),jo=[""," "],xa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d8=`\r -`,m8=` -`,lr={getNodeConstructor:()=>nv,getTokenConstructor:()=>nM,getIdentifierConstructor:()=>iM,getPrivateIdentifierConstructor:()=>nv,getSourceFileConstructor:()=>nv,getSymbolConstructor:()=>eM,getTypeConstructor:()=>tM,getSignatureConstructor:()=>rM,getSourceMapSourceConstructor:()=>aM},Av=[],Xf=/[^\w\s\/]/g,h8=[42,63],Pv=["node_modules","bower_components","jspm_packages"],Yf=`(?!(${Pv.join("|")})(/|$))`,Dv={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${Yf}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>fv(e,Dv.singleAsteriskRegexFragment)},kv={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${Yf}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>fv(e,kv.singleAsteriskRegexFragment)},Iv={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:e=>fv(e,Iv.singleAsteriskRegexFragment)},Nv={files:Dv,directories:kv,exclude:Iv},Jo=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],Ov=ct(Jo),g8=[...Jo,[".json"]],y8=[".d.ts",".d.cts",".d.mts",".cts",".mts",".ts",".tsx",".cts",".mts"],Mv=[[".js",".jsx"],[".mjs"],[".cjs"]],Lv=ct(Mv),Jl=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],v8=[...Jl,[".json"]],Rv=[".d.ts",".d.cts",".d.mts"],b8=[".ts",".cts",".mts",".tsx"],jv=(e=>(e[e.Minimal=0]="Minimal",e[e.Index=1]="Index",e[e.JsExtension=2]="JsExtension",e[e.TsExtension=3]="TsExtension",e))(jv||{}),Qf=[".d.ts",".d.mts",".d.cts",".mjs",".mts",".cjs",".cts",".ts",".js",".tsx",".jsx",".json"],T8={files:Bt,directories:Bt}}});function S8(){let e,t,r,s,f;return{createBaseSourceFileNode:x,createBaseIdentifierNode:w,createBasePrivateIdentifierNode:A,createBaseTokenNode:g,createBaseNode:B};function x(N){return new(f||(f=lr.getSourceFileConstructor()))(N,-1,-1)}function w(N){return new(r||(r=lr.getIdentifierConstructor()))(N,-1,-1)}function A(N){return new(s||(s=lr.getPrivateIdentifierConstructor()))(N,-1,-1)}function g(N){return new(t||(t=lr.getTokenConstructor()))(N,-1,-1)}function B(N){return new(e||(e=lr.getNodeConstructor()))(N,-1,-1)}}var ML=D({"src/compiler/factory/baseNodeFactory.ts"(){"use strict";nn()}}),Jv,LL=D({"src/compiler/factory/parenthesizerRules.ts"(){"use strict";nn(),Jv={getParenthesizeLeftSideOfBinaryForOperator:e=>rr,getParenthesizeRightSideOfBinaryForOperator:e=>rr,parenthesizeLeftSideOfBinary:(e,t)=>t,parenthesizeRightSideOfBinary:(e,t,r)=>r,parenthesizeExpressionOfComputedPropertyName:rr,parenthesizeConditionOfConditionalExpression:rr,parenthesizeBranchOfConditionalExpression:rr,parenthesizeExpressionOfExportDefault:rr,parenthesizeExpressionOfNew:e=>ti(e,Do),parenthesizeLeftSideOfAccess:e=>ti(e,Do),parenthesizeOperandOfPostfixUnary:e=>ti(e,Do),parenthesizeOperandOfPrefixUnary:e=>ti(e,t3),parenthesizeExpressionsOfCommaDelimitedList:e=>ti(e,_s),parenthesizeExpressionForDisallowedComma:rr,parenthesizeExpressionOfExpressionStatement:rr,parenthesizeConciseBodyOfArrowFunction:rr,parenthesizeCheckTypeOfConditionalType:rr,parenthesizeExtendsTypeOfConditionalType:rr,parenthesizeConstituentTypesOfUnionType:e=>ti(e,_s),parenthesizeConstituentTypeOfUnionType:rr,parenthesizeConstituentTypesOfIntersectionType:e=>ti(e,_s),parenthesizeConstituentTypeOfIntersectionType:rr,parenthesizeOperandOfTypeOperator:rr,parenthesizeOperandOfReadonlyTypeOperator:rr,parenthesizeNonArrayTypeOfPostfixType:rr,parenthesizeElementTypesOfTupleType:e=>ti(e,_s),parenthesizeElementTypeOfTupleType:rr,parenthesizeTypeOfOptionalType:rr,parenthesizeTypeArguments:e=>e&&ti(e,_s),parenthesizeLeadingTypeArgument:rr}}}),RL=()=>{},x8=()=>new Proxy({},{get:()=>()=>{}});function jL(e){Bv.push(e)}function Zf(e,t){let r=e&8?JL:FL,s=tl(()=>e&1?Jv:createParenthesizerRules(Ye)),f=tl(()=>e&2?nullNodeConverters:x8(Ye)),x=An(n=>(o,l)=>xu(o,n,l)),w=An(n=>o=>Tu(n,o)),A=An(n=>o=>Su(o,n)),g=An(n=>()=>db(n)),B=An(n=>o=>Ac(n,o)),N=An(n=>(o,l)=>mb(n,o,l)),X=An(n=>(o,l)=>Km(n,o,l)),F=An(n=>(o,l)=>Xm(n,o,l)),$=An(n=>(o,l)=>ph(n,o,l)),ae=An(n=>(o,l,p)=>Cb(n,o,l,p)),Te=An(n=>(o,l,p)=>fh(n,o,l,p)),Se=An(n=>(o,l,p,k)=>Ab(n,o,l,p,k)),Ye={get parenthesizer(){return s()},get converters(){return f()},baseFactory:t,flags:e,createNodeArray:Ne,createNumericLiteral:Gt,createBigIntLiteral:Nt,createStringLiteral:er,createStringLiteralFromNode:Tn,createRegularExpressionLiteral:Hr,createLiteralLikeNode:Gi,createIdentifier:Ut,createTempVariable:kn,createLoopVariable:an,createUniqueName:mr,getGeneratedNameForNode:$i,createPrivateIdentifier:Ur,createUniquePrivateName:_r,getGeneratedPrivateNameForNode:Sn,createToken:pr,createSuper:Zt,createThis:Or,createNull:Nn,createTrue:ar,createFalse:oi,createModifier:cr,createModifiersFromModifierFlags:$r,createQualifiedName:hr,updateQualifiedName:On,createComputedPropertyName:nr,updateComputedPropertyName:br,createTypeParameterDeclaration:Kr,updateTypeParameterDeclaration:wa,createParameterDeclaration:$n,updateParameterDeclaration:Ki,createDecorator:Mn,updateDecorator:_i,createPropertySignature:Ca,updatePropertySignature:St,createPropertyDeclaration:He,updatePropertyDeclaration:_t,createMethodSignature:ft,updateMethodSignature:Kt,createMethodDeclaration:zt,updateMethodDeclaration:xe,createConstructorDeclaration:Mt,updateConstructorDeclaration:It,createGetAccessorDeclaration:gr,updateGetAccessorDeclaration:Ln,createSetAccessorDeclaration:ci,updateSetAccessorDeclaration:Xi,createCallSignature:vs,updateCallSignature:$s,createConstructSignature:li,updateConstructSignature:Yi,createIndexSignature:Qi,updateIndexSignature:bs,createClassStaticBlockDeclaration:Re,updateClassStaticBlockDeclaration:ot,createTemplateLiteralTypeSpan:Ai,updateTemplateLiteralTypeSpan:xn,createKeywordTypeNode:Dt,createTypePredicateNode:Pi,updateTypePredicateNode:Z,createTypeReferenceNode:ie,updateTypeReferenceNode:U,createFunctionTypeNode:L,updateFunctionTypeNode:fe,createConstructorTypeNode:it,updateConstructorTypeNode:Ge,createTypeQueryNode:Yt,updateTypeQueryNode:$t,createTypeLiteralNode:Wt,updateTypeLiteralNode:Xr,createArrayTypeNode:Dr,updateArrayTypeNode:Lr,createTupleTypeNode:yr,updateTupleTypeNode:Rn,createNamedTupleMember:wt,updateNamedTupleMember:Tr,createOptionalTypeNode:Tt,updateOptionalTypeNode:kt,createRestTypeNode:de,updateRestTypeNode:jn,createUnionTypeNode:e_,updateUnionTypeNode:mc,createIntersectionTypeNode:Da,updateIntersectionTypeNode:Ts,createConditionalTypeNode:Ot,updateConditionalTypeNode:dr,createInferTypeNode:Dd,updateInferTypeNode:ea,createImportTypeNode:Id,updateImportTypeNode:ka,createParenthesizedType:t_,updateParenthesizedType:En,createThisTypeNode:Er,createTypeOperatorNode:Q,updateTypeOperatorNode:Jn,createIndexedAccessTypeNode:Ia,updateIndexedAccessTypeNode:Ss,createMappedTypeNode:hc,updateMappedTypeNode:wr,createLiteralTypeNode:zr,updateLiteralTypeNode:xs,createTemplateLiteralType:kd,updateTemplateLiteralType:sn,createObjectBindingPattern:Nd,updateObjectBindingPattern:R2,createArrayBindingPattern:Es,updateArrayBindingPattern:j2,createBindingElement:gc,updateBindingElement:Ks,createArrayLiteralExpression:uu,updateArrayLiteralExpression:Od,createObjectLiteralExpression:r_,updateObjectLiteralExpression:J2,createPropertyAccessExpression:e&4?(n,o)=>setEmitFlags(ta(n,o),262144):ta,updatePropertyAccessExpression:Ld,createPropertyAccessChain:e&4?(n,o,l)=>setEmitFlags(Xs(n,o,l),262144):Xs,updatePropertyAccessChain:Rd,createElementAccessExpression:pu,updateElementAccessExpression:F2,createElementAccessChain:fu,updateElementAccessChain:jd,createCallExpression:Na,updateCallExpression:B2,createCallChain:du,updateCallChain:Kn,createNewExpression:vc,updateNewExpression:mu,createTaggedTemplateExpression:hu,updateTaggedTemplateExpression:q2,createTypeAssertion:Fd,updateTypeAssertion:Bd,createParenthesizedExpression:gu,updateParenthesizedExpression:qd,createFunctionExpression:yu,updateFunctionExpression:Ud,createArrowFunction:vu,updateArrowFunction:zd,createDeleteExpression:bu,updateDeleteExpression:U2,createTypeOfExpression:mn,updateTypeOfExpression:z2,createVoidExpression:ui,updateVoidExpression:W2,createAwaitExpression:Oa,updateAwaitExpression:Ys,createPrefixUnaryExpression:Tu,updatePrefixUnaryExpression:bc,createPostfixUnaryExpression:Su,updatePostfixUnaryExpression:Wd,createBinaryExpression:xu,updateBinaryExpression:V2,createConditionalExpression:Eu,updateConditionalExpression:H2,createTemplateExpression:Di,updateTemplateExpression:Hd,createTemplateHead:Sc,createTemplateMiddle:Cu,createTemplateTail:G2,createNoSubstitutionTemplateLiteral:$d,createTemplateLiteralLikeNode:Qs,createYieldExpression:Kd,updateYieldExpression:$2,createSpreadElement:Xd,updateSpreadElement:K2,createClassExpression:Yd,updateClassExpression:xc,createOmittedExpression:X2,createExpressionWithTypeArguments:Qd,updateExpressionWithTypeArguments:Xn,createAsExpression:Ec,updateAsExpression:Zd,createNonNullExpression:em,updateNonNullExpression:Au,createSatisfiesExpression:tm,updateSatisfiesExpression:Pu,createNonNullChain:pi,updateNonNullChain:rm,createMetaProperty:wc,updateMetaProperty:ra,createTemplateSpan:i_,updateTemplateSpan:nm,createSemicolonClassElement:im,createBlock:Zs,updateBlock:am,createVariableStatement:sm,updateVariableStatement:om,createEmptyStatement:Du,createExpressionStatement:a_,updateExpressionStatement:Y2,createIfStatement:ku,updateIfStatement:Q2,createDoStatement:Iu,updateDoStatement:Z2,createWhileStatement:_m,updateWhileStatement:eb,createForStatement:Nu,updateForStatement:cm,createForInStatement:lm,updateForInStatement:tb,createForOfStatement:um,updateForOfStatement:rb,createContinueStatement:pm,updateContinueStatement:fm,createBreakStatement:Ou,updateBreakStatement:dm,createReturnStatement:mm,updateReturnStatement:nb,createWithStatement:Mu,updateWithStatement:hm,createSwitchStatement:Lu,updateSwitchStatement:eo,createLabeledStatement:gm,updateLabeledStatement:ym,createThrowStatement:vm,updateThrowStatement:ib,createTryStatement:bm,updateTryStatement:ab,createDebuggerStatement:Tm,createVariableDeclaration:Cc,updateVariableDeclaration:Sm,createVariableDeclarationList:Ru,updateVariableDeclarationList:sb,createFunctionDeclaration:xm,updateFunctionDeclaration:ju,createClassDeclaration:Em,updateClassDeclaration:Ju,createInterfaceDeclaration:wm,updateInterfaceDeclaration:Cm,createTypeAliasDeclaration:sr,updateTypeAliasDeclaration:Ma,createEnumDeclaration:Fu,updateEnumDeclaration:La,createModuleDeclaration:Am,updateModuleDeclaration:Sr,createModuleBlock:Ra,updateModuleBlock:Yr,createCaseBlock:Pm,updateCaseBlock:_b,createNamespaceExportDeclaration:Dm,updateNamespaceExportDeclaration:km,createImportEqualsDeclaration:Im,updateImportEqualsDeclaration:Nm,createImportDeclaration:Om,updateImportDeclaration:Mm,createImportClause:Lm,updateImportClause:Rm,createAssertClause:Bu,updateAssertClause:lb,createAssertEntry:s_,updateAssertEntry:jm,createImportTypeAssertionContainer:qu,updateImportTypeAssertionContainer:Jm,createNamespaceImport:Fm,updateNamespaceImport:Uu,createNamespaceExport:Bm,updateNamespaceExport:qm,createNamedImports:Um,updateNamedImports:ub,createImportSpecifier:zm,updateImportSpecifier:pb,createExportAssignment:zu,updateExportAssignment:Wu,createExportDeclaration:na,updateExportDeclaration:Wm,createNamedExports:to,updateNamedExports:Hm,createExportSpecifier:Vu,updateExportSpecifier:o_,createMissingDeclaration:fb,createExternalModuleReference:Gm,updateExternalModuleReference:$m,get createJSDocAllType(){return g(315)},get createJSDocUnknownType(){return g(316)},get createJSDocNonNullableType(){return X(318)},get updateJSDocNonNullableType(){return F(318)},get createJSDocNullableType(){return X(317)},get updateJSDocNullableType(){return F(317)},get createJSDocOptionalType(){return B(319)},get updateJSDocOptionalType(){return N(319)},get createJSDocVariadicType(){return B(321)},get updateJSDocVariadicType(){return N(321)},get createJSDocNamepathType(){return B(322)},get updateJSDocNamepathType(){return N(322)},createJSDocFunctionType:Ym,updateJSDocFunctionType:hb,createJSDocTypeLiteral:Qm,updateJSDocTypeLiteral:gb,createJSDocTypeExpression:Zm,updateJSDocTypeExpression:yb,createJSDocSignature:eh,updateJSDocSignature:Hu,createJSDocTemplateTag:__,updateJSDocTemplateTag:Gu,createJSDocTypedefTag:$u,updateJSDocTypedefTag:th,createJSDocParameterTag:Pc,updateJSDocParameterTag:vb,createJSDocPropertyTag:Ku,updateJSDocPropertyTag:bb,createJSDocCallbackTag:rh,updateJSDocCallbackTag:nh,createJSDocOverloadTag:ih,updateJSDocOverloadTag:ah,createJSDocAugmentsTag:sh,updateJSDocAugmentsTag:Xu,createJSDocImplementsTag:Yu,updateJSDocImplementsTag:wb,createJSDocSeeTag:ro,updateJSDocSeeTag:Tb,createJSDocNameReference:ws,updateJSDocNameReference:Dc,createJSDocMemberName:oh,updateJSDocMemberName:Sb,createJSDocLink:_h,updateJSDocLink:xb,createJSDocLinkCode:ch,updateJSDocLinkCode:lh,createJSDocLinkPlain:uh,updateJSDocLinkPlain:Eb,get createJSDocTypeTag(){return Te(347)},get updateJSDocTypeTag(){return Se(347)},get createJSDocReturnTag(){return Te(345)},get updateJSDocReturnTag(){return Se(345)},get createJSDocThisTag(){return Te(346)},get updateJSDocThisTag(){return Se(346)},get createJSDocAuthorTag(){return $(333)},get updateJSDocAuthorTag(){return ae(333)},get createJSDocClassTag(){return $(335)},get updateJSDocClassTag(){return ae(335)},get createJSDocPublicTag(){return $(336)},get updateJSDocPublicTag(){return ae(336)},get createJSDocPrivateTag(){return $(337)},get updateJSDocPrivateTag(){return ae(337)},get createJSDocProtectedTag(){return $(338)},get updateJSDocProtectedTag(){return ae(338)},get createJSDocReadonlyTag(){return $(339)},get updateJSDocReadonlyTag(){return ae(339)},get createJSDocOverrideTag(){return $(340)},get updateJSDocOverrideTag(){return ae(340)},get createJSDocDeprecatedTag(){return $(334)},get updateJSDocDeprecatedTag(){return ae(334)},get createJSDocThrowsTag(){return Te(352)},get updateJSDocThrowsTag(){return Se(352)},get createJSDocSatisfiesTag(){return Te(353)},get updateJSDocSatisfiesTag(){return Se(353)},createJSDocEnumTag:mh,updateJSDocEnumTag:Db,createJSDocUnknownTag:dh,updateJSDocUnknownTag:Pb,createJSDocText:hh,updateJSDocText:Qu,createJSDocComment:gh,updateJSDocComment:yh,createJsxElement:Zu,updateJsxElement:kb,createJsxSelfClosingElement:c_,updateJsxSelfClosingElement:vh,createJsxOpeningElement:bh,updateJsxOpeningElement:Ib,createJsxClosingElement:on,updateJsxClosingElement:Th,createJsxFragment:ep,createJsxText:l_,updateJsxText:Ob,createJsxOpeningFragment:kc,createJsxJsxClosingFragment:Mb,updateJsxFragment:Nb,createJsxAttribute:Sh,updateJsxAttribute:Lb,createJsxAttributes:xh,updateJsxAttributes:tp,createJsxSpreadAttribute:no,updateJsxSpreadAttribute:Rb,createJsxExpression:Ic,updateJsxExpression:Eh,createCaseClause:wh,updateCaseClause:rp,createDefaultClause:np,updateDefaultClause:jb,createHeritageClause:Ch,updateHeritageClause:Ah,createCatchClause:ip,updateCatchClause:Ph,createPropertyAssignment:Fa,updatePropertyAssignment:Jb,createShorthandPropertyAssignment:Dh,updateShorthandPropertyAssignment:Bb,createSpreadAssignment:ap,updateSpreadAssignment:ki,createEnumMember:sp,updateEnumMember:qb,createSourceFile:Ub,updateSourceFile:Mh,createRedirectedSourceFile:Ih,createBundle:Lh,updateBundle:Wb,createUnparsedSource:Nc,createUnparsedPrologue:Vb,createUnparsedPrepend:Hb,createUnparsedTextLike:Gb,createUnparsedSyntheticReference:$b,createInputFiles:Kb,createSyntheticExpression:Rh,createSyntaxList:jh,createNotEmittedStatement:Jh,createPartiallyEmittedExpression:Fh,updatePartiallyEmittedExpression:Bh,createCommaListExpression:Mc,updateCommaListExpression:Xb,createEndOfDeclarationMarker:Yb,createMergeDeclarationMarker:Qb,createSyntheticReferenceExpression:Uh,updateSyntheticReferenceExpression:_p,cloneNode:cp,get createComma(){return x(27)},get createAssignment(){return x(63)},get createLogicalOr(){return x(56)},get createLogicalAnd(){return x(55)},get createBitwiseOr(){return x(51)},get createBitwiseXor(){return x(52)},get createBitwiseAnd(){return x(50)},get createStrictEquality(){return x(36)},get createStrictInequality(){return x(37)},get createEquality(){return x(34)},get createInequality(){return x(35)},get createLessThan(){return x(29)},get createLessThanEquals(){return x(32)},get createGreaterThan(){return x(31)},get createGreaterThanEquals(){return x(33)},get createLeftShift(){return x(47)},get createRightShift(){return x(48)},get createUnsignedRightShift(){return x(49)},get createAdd(){return x(39)},get createSubtract(){return x(40)},get createMultiply(){return x(41)},get createDivide(){return x(43)},get createModulo(){return x(44)},get createExponent(){return x(42)},get createPrefixPlus(){return w(39)},get createPrefixMinus(){return w(40)},get createPrefixIncrement(){return w(45)},get createPrefixDecrement(){return w(46)},get createBitwiseNot(){return w(54)},get createLogicalNot(){return w(53)},get createPostfixIncrement(){return A(45)},get createPostfixDecrement(){return A(46)},createImmediatelyInvokedFunctionExpression:n6,createImmediatelyInvokedArrowFunction:Lc,createVoidZero:Rc,createExportDefault:zh,createExternalModuleExport:i6,createTypeCheck:a6,createMethodCall:Ba,createGlobalMethodCall:io,createFunctionBindCall:s6,createFunctionCallCall:o6,createFunctionApplyCall:_6,createArraySliceCall:Wh,createArrayConcatCall:Vh,createObjectDefinePropertyCall:u,createObjectGetOwnPropertyDescriptorCall:b,createReflectGetCall:O,createReflectSetCall:j,createPropertyDescriptor:re,createCallBinding:Jt,createAssignmentTargetWrapper:Lt,inlineExpressions:At,getInternalName:Fn,getLocalName:di,getExportName:Ii,getDeclarationName:_n,getNamespaceMemberName:qa,getExternalModuleOrNamespaceExportName:Hh,restoreOuterExpressions:We,restoreEnclosingLabel:$e,createUseStrictPrologue:wn,copyPrologue:lp,copyStandardPrologue:Ua,copyCustomPrologue:up,ensureUseStrict:Qr,liftToBlock:jc,mergeLexicalEnvironment:$h,updateModifiers:Kh};return c(Bv,n=>n(Ye)),Ye;function Ne(n,o){if(n===void 0||n===Bt)n=[];else if(_s(n)){if(o===void 0||n.hasTrailingComma===o)return n.transformFlags===void 0&&E8(n),Y.attachNodeArrayDebugInfo(n),n;let k=n.slice();return k.pos=n.pos,k.end=n.end,k.hasTrailingComma=o,k.transformFlags=n.transformFlags,Y.attachNodeArrayDebugInfo(k),k}let l=n.length,p=l>=1&&l<=4?n.slice():n;return p.pos=-1,p.end=-1,p.hasTrailingComma=!!o,p.transformFlags=0,E8(p),Y.attachNodeArrayDebugInfo(p),p}function oe(n){return t.createBaseNode(n)}function Ve(n){let o=oe(n);return o.symbol=void 0,o.localSymbol=void 0,o}function pt(n,o){return n!==o&&(n.typeArguments=o.typeArguments),r(n,o)}function Gt(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=Ve(8);return l.text=typeof n=="number"?n+"":n,l.numericLiteralFlags=o,o&384&&(l.transformFlags|=1024),l}function Nt(n){let o=In(9);return o.text=typeof n=="string"?n:yv(n)+"n",o.transformFlags|=4,o}function Xt(n,o){let l=Ve(10);return l.text=n,l.singleQuote=o,l}function er(n,o,l){let p=Xt(n,o);return p.hasExtendedUnicodeEscape=l,l&&(p.transformFlags|=1024),p}function Tn(n){let o=Xt(kf(n),void 0);return o.textSourceNode=n,o}function Hr(n){let o=In(13);return o.text=n,o}function Gi(n,o){switch(n){case 8:return Gt(o,0);case 9:return Nt(o);case 10:return er(o,void 0);case 11:return l_(o,!1);case 12:return l_(o,!0);case 13:return Hr(o);case 14:return Qs(n,o,void 0,0)}}function pn(n){let o=t.createBaseIdentifierNode(79);return o.escapedText=n,o.jsDoc=void 0,o.flowNode=void 0,o.symbol=void 0,o}function fn(n,o,l,p){let k=pn(vi(n));return setIdentifierAutoGenerate(k,{flags:o,id:Bl,prefix:l,suffix:p}),Bl++,k}function Ut(n,o,l){o===void 0&&n&&(o=_l(n)),o===79&&(o=void 0);let p=pn(vi(n));return l&&(p.flags|=128),p.escapedText==="await"&&(p.transformFlags|=67108864),p.flags&128&&(p.transformFlags|=1024),p}function kn(n,o,l,p){let k=1;o&&(k|=8);let V=fn("",k,l,p);return n&&n(V),V}function an(n){let o=2;return n&&(o|=8),fn("",o,void 0,void 0)}function mr(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return Y.assert(!(o&7),"Argument out of range: flags"),Y.assert((o&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),fn(n,3|o,l,p)}function $i(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;Y.assert(!(o&7),"Argument out of range: flags");let k=n?js(n)?bd(!1,l,n,p,qr):`generated@${getNodeId(n)}`:"";(l||p)&&(o|=16);let V=fn(k,4|o,l,p);return V.original=n,V}function dn(n){let o=t.createBasePrivateIdentifierNode(80);return o.escapedText=n,o.transformFlags|=16777216,o}function Ur(n){return Pn(n,"#")||Y.fail("First character of private identifier must be #: "+n),dn(vi(n))}function Gr(n,o,l,p){let k=dn(vi(n));return setIdentifierAutoGenerate(k,{flags:o,id:Bl,prefix:l,suffix:p}),Bl++,k}function _r(n,o,l){n&&!Pn(n,"#")&&Y.fail("First character of private identifier must be #: "+n);let p=8|(n?3:1);return Gr(n!=null?n:"",p,o,l)}function Sn(n,o,l){let p=js(n)?bd(!0,o,n,l,qr):`#generated@${getNodeId(n)}`,V=Gr(p,4|(o||l?16:0),o,l);return V.original=n,V}function In(n){return t.createBaseTokenNode(n)}function pr(n){Y.assert(n>=0&&n<=162,"Invalid token"),Y.assert(n<=14||n>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),Y.assert(n<=8||n>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),Y.assert(n!==79,"Invalid token. Use 'createIdentifier' to create identifiers");let o=In(n),l=0;switch(n){case 132:l=384;break;case 123:case 121:case 122:case 146:case 126:case 136:case 85:case 131:case 148:case 160:case 144:case 149:case 101:case 145:case 161:case 152:case 134:case 153:case 114:case 157:case 155:l=1;break;case 106:l=134218752,o.flowNode=void 0;break;case 124:l=1024;break;case 127:l=16777216;break;case 108:l=16384,o.flowNode=void 0;break}return l&&(o.transformFlags|=l),o}function Zt(){return pr(106)}function Or(){return pr(108)}function Nn(){return pr(104)}function ar(){return pr(110)}function oi(){return pr(95)}function cr(n){return pr(n)}function $r(n){let o=[];return n&1&&o.push(cr(93)),n&2&&o.push(cr(136)),n&1024&&o.push(cr(88)),n&2048&&o.push(cr(85)),n&4&&o.push(cr(123)),n&8&&o.push(cr(121)),n&16&&o.push(cr(122)),n&256&&o.push(cr(126)),n&32&&o.push(cr(124)),n&16384&&o.push(cr(161)),n&64&&o.push(cr(146)),n&128&&o.push(cr(127)),n&512&&o.push(cr(132)),n&32768&&o.push(cr(101)),n&65536&&o.push(cr(145)),o.length?o:void 0}function hr(n,o){let l=oe(163);return l.left=n,l.right=Qt(o),l.transformFlags|=ye(l.left)|ec(l.right),l.flowNode=void 0,l}function On(n,o,l){return n.left!==o||n.right!==l?r(hr(o,l),n):n}function nr(n){let o=oe(164);return o.expression=s().parenthesizeExpressionOfComputedPropertyName(n),o.transformFlags|=ye(o.expression)|1024|131072,o}function br(n,o){return n.expression!==o?r(nr(o),n):n}function Kr(n,o,l,p){let k=Ve(165);return k.modifiers=xt(n),k.name=Qt(o),k.constraint=l,k.default=p,k.transformFlags=1,k.expression=void 0,k.jsDoc=void 0,k}function wa(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.constraint!==p||n.default!==k?r(Kr(o,l,p,k),n):n}function $n(n,o,l,p,k,V){var we,et;let ht=Ve(166);return ht.modifiers=xt(n),ht.dotDotDotToken=o,ht.name=Qt(l),ht.questionToken=p,ht.type=k,ht.initializer=Wa(V),Mf(ht.name)?ht.transformFlags=1:ht.transformFlags=gt(ht.modifiers)|ye(ht.dotDotDotToken)|ai(ht.name)|ye(ht.questionToken)|ye(ht.initializer)|(((we=ht.questionToken)!=null?we:ht.type)?1:0)|(((et=ht.dotDotDotToken)!=null?et:ht.initializer)?1024:0)|(Vn(ht.modifiers)&16476?8192:0),ht.jsDoc=void 0,ht}function Ki(n,o,l,p,k,V,we){return n.modifiers!==o||n.dotDotDotToken!==l||n.name!==p||n.questionToken!==k||n.type!==V||n.initializer!==we?r($n(o,l,p,k,V,we),n):n}function Mn(n){let o=oe(167);return o.expression=s().parenthesizeLeftSideOfAccess(n,!1),o.transformFlags|=ye(o.expression)|1|8192|33554432,o}function _i(n,o){return n.expression!==o?r(Mn(o),n):n}function Ca(n,o,l,p){let k=Ve(168);return k.modifiers=xt(n),k.name=Qt(o),k.type=p,k.questionToken=l,k.transformFlags=1,k.initializer=void 0,k.jsDoc=void 0,k}function St(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.questionToken!==p||n.type!==k?ue(Ca(o,l,p,k),n):n}function ue(n,o){return n!==o&&(n.initializer=o.initializer),r(n,o)}function He(n,o,l,p,k){let V=Ve(169);V.modifiers=xt(n),V.name=Qt(o),V.questionToken=l&&ql(l)?l:void 0,V.exclamationToken=l&&rd(l)?l:void 0,V.type=p,V.initializer=Wa(k);let we=V.flags&16777216||Vn(V.modifiers)&2;return V.transformFlags=gt(V.modifiers)|ai(V.name)|ye(V.initializer)|(we||V.questionToken||V.exclamationToken||V.type?1:0)|(Ws(V.name)||Vn(V.modifiers)&32&&V.initializer?8192:0)|16777216,V.jsDoc=void 0,V}function _t(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.questionToken!==(p!==void 0&&ql(p)?p:void 0)||n.exclamationToken!==(p!==void 0&&rd(p)?p:void 0)||n.type!==k||n.initializer!==V?r(He(o,l,p,k,V),n):n}function ft(n,o,l,p,k,V){let we=Ve(170);return we.modifiers=xt(n),we.name=Qt(o),we.questionToken=l,we.typeParameters=xt(p),we.parameters=xt(k),we.type=V,we.transformFlags=1,we.jsDoc=void 0,we.locals=void 0,we.nextContainer=void 0,we.typeArguments=void 0,we}function Kt(n,o,l,p,k,V,we){return n.modifiers!==o||n.name!==l||n.questionToken!==p||n.typeParameters!==k||n.parameters!==V||n.type!==we?pt(ft(o,l,p,k,V,we),n):n}function zt(n,o,l,p,k,V,we,et){let ht=Ve(171);if(ht.modifiers=xt(n),ht.asteriskToken=o,ht.name=Qt(l),ht.questionToken=p,ht.exclamationToken=void 0,ht.typeParameters=xt(k),ht.parameters=Ne(V),ht.type=we,ht.body=et,!ht.body)ht.transformFlags=1;else{let hn=Vn(ht.modifiers)&512,Ni=!!ht.asteriskToken,ia=hn&&Ni;ht.transformFlags=gt(ht.modifiers)|ye(ht.asteriskToken)|ai(ht.name)|ye(ht.questionToken)|gt(ht.typeParameters)|gt(ht.parameters)|ye(ht.type)|ye(ht.body)&-67108865|(ia?128:hn?256:Ni?2048:0)|(ht.questionToken||ht.typeParameters||ht.type?1:0)|1024}return ht.typeArguments=void 0,ht.jsDoc=void 0,ht.locals=void 0,ht.nextContainer=void 0,ht.flowNode=void 0,ht.endFlowNode=void 0,ht.returnFlowNode=void 0,ht}function xe(n,o,l,p,k,V,we,et,ht){return n.modifiers!==o||n.asteriskToken!==l||n.name!==p||n.questionToken!==k||n.typeParameters!==V||n.parameters!==we||n.type!==et||n.body!==ht?Le(zt(o,l,p,k,V,we,et,ht),n):n}function Le(n,o){return n!==o&&(n.exclamationToken=o.exclamationToken),r(n,o)}function Re(n){let o=Ve(172);return o.body=n,o.transformFlags=ye(n)|16777216,o.modifiers=void 0,o.jsDoc=void 0,o.locals=void 0,o.nextContainer=void 0,o.endFlowNode=void 0,o.returnFlowNode=void 0,o}function ot(n,o){return n.body!==o?Ct(Re(o),n):n}function Ct(n,o){return n!==o&&(n.modifiers=o.modifiers),r(n,o)}function Mt(n,o,l){let p=Ve(173);return p.modifiers=xt(n),p.parameters=Ne(o),p.body=l,p.transformFlags=gt(p.modifiers)|gt(p.parameters)|ye(p.body)&-67108865|1024,p.typeParameters=void 0,p.type=void 0,p.typeArguments=void 0,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.endFlowNode=void 0,p.returnFlowNode=void 0,p}function It(n,o,l,p){return n.modifiers!==o||n.parameters!==l||n.body!==p?Mr(Mt(o,l,p),n):n}function Mr(n,o){return n!==o&&(n.typeParameters=o.typeParameters,n.type=o.type),pt(n,o)}function gr(n,o,l,p,k){let V=Ve(174);return V.modifiers=xt(n),V.name=Qt(o),V.parameters=Ne(l),V.type=p,V.body=k,V.body?V.transformFlags=gt(V.modifiers)|ai(V.name)|gt(V.parameters)|ye(V.type)|ye(V.body)&-67108865|(V.type?1:0):V.transformFlags=1,V.typeArguments=void 0,V.typeParameters=void 0,V.jsDoc=void 0,V.locals=void 0,V.nextContainer=void 0,V.flowNode=void 0,V.endFlowNode=void 0,V.returnFlowNode=void 0,V}function Ln(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.parameters!==p||n.type!==k||n.body!==V?ys(gr(o,l,p,k,V),n):n}function ys(n,o){return n!==o&&(n.typeParameters=o.typeParameters),pt(n,o)}function ci(n,o,l,p){let k=Ve(175);return k.modifiers=xt(n),k.name=Qt(o),k.parameters=Ne(l),k.body=p,k.body?k.transformFlags=gt(k.modifiers)|ai(k.name)|gt(k.parameters)|ye(k.body)&-67108865|(k.type?1:0):k.transformFlags=1,k.typeArguments=void 0,k.typeParameters=void 0,k.type=void 0,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k.endFlowNode=void 0,k.returnFlowNode=void 0,k}function Xi(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.parameters!==p||n.body!==k?Aa(ci(o,l,p,k),n):n}function Aa(n,o){return n!==o&&(n.typeParameters=o.typeParameters,n.type=o.type),pt(n,o)}function vs(n,o,l){let p=Ve(176);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function $s(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?pt(vs(o,l,p),n):n}function li(n,o,l){let p=Ve(177);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function Yi(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?pt(li(o,l,p),n):n}function Qi(n,o,l){let p=Ve(178);return p.modifiers=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function bs(n,o,l,p){return n.parameters!==l||n.type!==p||n.modifiers!==o?pt(Qi(o,l,p),n):n}function Ai(n,o){let l=oe(201);return l.type=n,l.literal=o,l.transformFlags=1,l}function xn(n,o,l){return n.type!==o||n.literal!==l?r(Ai(o,l),n):n}function Dt(n){return pr(n)}function Pi(n,o,l){let p=oe(179);return p.assertsModifier=n,p.parameterName=Qt(o),p.type=l,p.transformFlags=1,p}function Z(n,o,l,p){return n.assertsModifier!==o||n.parameterName!==l||n.type!==p?r(Pi(o,l,p),n):n}function ie(n,o){let l=oe(180);return l.typeName=Qt(n),l.typeArguments=o&&s().parenthesizeTypeArguments(Ne(o)),l.transformFlags=1,l}function U(n,o,l){return n.typeName!==o||n.typeArguments!==l?r(ie(o,l),n):n}function L(n,o,l){let p=Ve(181);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.modifiers=void 0,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function fe(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?T(L(o,l,p),n):n}function T(n,o){return n!==o&&(n.modifiers=o.modifiers),pt(n,o)}function it(){return arguments.length===4?mt(...arguments):arguments.length===3?_e(...arguments):Y.fail("Incorrect number of arguments specified.")}function mt(n,o,l,p){let k=Ve(182);return k.modifiers=xt(n),k.typeParameters=xt(o),k.parameters=xt(l),k.type=p,k.transformFlags=1,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.typeArguments=void 0,k}function _e(n,o,l){return mt(void 0,n,o,l)}function Ge(){return arguments.length===5?bt(...arguments):arguments.length===4?jt(...arguments):Y.fail("Incorrect number of arguments specified.")}function bt(n,o,l,p,k){return n.modifiers!==o||n.typeParameters!==l||n.parameters!==p||n.type!==k?pt(it(o,l,p,k),n):n}function jt(n,o,l,p){return bt(n,n.modifiers,o,l,p)}function Yt(n,o){let l=oe(183);return l.exprName=n,l.typeArguments=o&&s().parenthesizeTypeArguments(o),l.transformFlags=1,l}function $t(n,o,l){return n.exprName!==o||n.typeArguments!==l?r(Yt(o,l),n):n}function Wt(n){let o=Ve(184);return o.members=Ne(n),o.transformFlags=1,o}function Xr(n,o){return n.members!==o?r(Wt(o),n):n}function Dr(n){let o=oe(185);return o.elementType=s().parenthesizeNonArrayTypeOfPostfixType(n),o.transformFlags=1,o}function Lr(n,o){return n.elementType!==o?r(Dr(o),n):n}function yr(n){let o=oe(186);return o.elements=Ne(s().parenthesizeElementTypesOfTupleType(n)),o.transformFlags=1,o}function Rn(n,o){return n.elements!==o?r(yr(o),n):n}function wt(n,o,l,p){let k=Ve(199);return k.dotDotDotToken=n,k.name=o,k.questionToken=l,k.type=p,k.transformFlags=1,k.jsDoc=void 0,k}function Tr(n,o,l,p,k){return n.dotDotDotToken!==o||n.name!==l||n.questionToken!==p||n.type!==k?r(wt(o,l,p,k),n):n}function Tt(n){let o=oe(187);return o.type=s().parenthesizeTypeOfOptionalType(n),o.transformFlags=1,o}function kt(n,o){return n.type!==o?r(Tt(o),n):n}function de(n){let o=oe(188);return o.type=n,o.transformFlags=1,o}function jn(n,o){return n.type!==o?r(de(o),n):n}function Zi(n,o,l){let p=oe(n);return p.types=Ye.createNodeArray(l(o)),p.transformFlags=1,p}function Pa(n,o,l){return n.types!==o?r(Zi(n.kind,o,l),n):n}function e_(n){return Zi(189,n,s().parenthesizeConstituentTypesOfUnionType)}function mc(n,o){return Pa(n,o,s().parenthesizeConstituentTypesOfUnionType)}function Da(n){return Zi(190,n,s().parenthesizeConstituentTypesOfIntersectionType)}function Ts(n,o){return Pa(n,o,s().parenthesizeConstituentTypesOfIntersectionType)}function Ot(n,o,l,p){let k=oe(191);return k.checkType=s().parenthesizeCheckTypeOfConditionalType(n),k.extendsType=s().parenthesizeExtendsTypeOfConditionalType(o),k.trueType=l,k.falseType=p,k.transformFlags=1,k.locals=void 0,k.nextContainer=void 0,k}function dr(n,o,l,p,k){return n.checkType!==o||n.extendsType!==l||n.trueType!==p||n.falseType!==k?r(Ot(o,l,p,k),n):n}function Dd(n){let o=oe(192);return o.typeParameter=n,o.transformFlags=1,o}function ea(n,o){return n.typeParameter!==o?r(Dd(o),n):n}function kd(n,o){let l=oe(200);return l.head=n,l.templateSpans=Ne(o),l.transformFlags=1,l}function sn(n,o,l){return n.head!==o||n.templateSpans!==l?r(kd(o,l),n):n}function Id(n,o,l,p){let k=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,V=oe(202);return V.argument=n,V.assertions=o,V.qualifier=l,V.typeArguments=p&&s().parenthesizeTypeArguments(p),V.isTypeOf=k,V.transformFlags=1,V}function ka(n,o,l,p,k){let V=arguments.length>5&&arguments[5]!==void 0?arguments[5]:n.isTypeOf;return n.argument!==o||n.assertions!==l||n.qualifier!==p||n.typeArguments!==k||n.isTypeOf!==V?r(Id(o,l,p,k,V),n):n}function t_(n){let o=oe(193);return o.type=n,o.transformFlags=1,o}function En(n,o){return n.type!==o?r(t_(o),n):n}function Er(){let n=oe(194);return n.transformFlags=1,n}function Q(n,o){let l=oe(195);return l.operator=n,l.type=n===146?s().parenthesizeOperandOfReadonlyTypeOperator(o):s().parenthesizeOperandOfTypeOperator(o),l.transformFlags=1,l}function Jn(n,o){return n.type!==o?r(Q(n.operator,o),n):n}function Ia(n,o){let l=oe(196);return l.objectType=s().parenthesizeNonArrayTypeOfPostfixType(n),l.indexType=o,l.transformFlags=1,l}function Ss(n,o,l){return n.objectType!==o||n.indexType!==l?r(Ia(o,l),n):n}function hc(n,o,l,p,k,V){let we=Ve(197);return we.readonlyToken=n,we.typeParameter=o,we.nameType=l,we.questionToken=p,we.type=k,we.members=V&&Ne(V),we.transformFlags=1,we.locals=void 0,we.nextContainer=void 0,we}function wr(n,o,l,p,k,V,we){return n.readonlyToken!==o||n.typeParameter!==l||n.nameType!==p||n.questionToken!==k||n.type!==V||n.members!==we?r(hc(o,l,p,k,V,we),n):n}function zr(n){let o=oe(198);return o.literal=n,o.transformFlags=1,o}function xs(n,o){return n.literal!==o?r(zr(o),n):n}function Nd(n){let o=oe(203);return o.elements=Ne(n),o.transformFlags|=gt(o.elements)|1024|524288,o.transformFlags&32768&&(o.transformFlags|=65664),o}function R2(n,o){return n.elements!==o?r(Nd(o),n):n}function Es(n){let o=oe(204);return o.elements=Ne(n),o.transformFlags|=gt(o.elements)|1024|524288,o}function j2(n,o){return n.elements!==o?r(Es(o),n):n}function gc(n,o,l,p){let k=Ve(205);return k.dotDotDotToken=n,k.propertyName=Qt(o),k.name=Qt(l),k.initializer=Wa(p),k.transformFlags|=ye(k.dotDotDotToken)|ai(k.propertyName)|ai(k.name)|ye(k.initializer)|(k.dotDotDotToken?32768:0)|1024,k.flowNode=void 0,k}function Ks(n,o,l,p,k){return n.propertyName!==l||n.dotDotDotToken!==o||n.name!==p||n.initializer!==k?r(gc(o,l,p,k),n):n}function uu(n,o){let l=oe(206),p=n&&Cn(n),k=Ne(n,p&&cd(p)?!0:void 0);return l.elements=s().parenthesizeExpressionsOfCommaDelimitedList(k),l.multiLine=o,l.transformFlags|=gt(l.elements),l}function Od(n,o){return n.elements!==o?r(uu(o,n.multiLine),n):n}function r_(n,o){let l=Ve(207);return l.properties=Ne(n),l.multiLine=o,l.transformFlags|=gt(l.properties),l.jsDoc=void 0,l}function J2(n,o){return n.properties!==o?r(r_(o,n.multiLine),n):n}function Md(n,o,l){let p=Ve(208);return p.expression=n,p.questionDotToken=o,p.name=l,p.transformFlags=ye(p.expression)|ye(p.questionDotToken)|(yt(p.name)?ec(p.name):ye(p.name)|536870912),p.jsDoc=void 0,p.flowNode=void 0,p}function ta(n,o){let l=Md(s().parenthesizeLeftSideOfAccess(n,!1),void 0,Qt(o));return nd(n)&&(l.transformFlags|=384),l}function Ld(n,o,l){return LS(n)?Rd(n,o,n.questionDotToken,ti(l,yt)):n.expression!==o||n.name!==l?r(ta(o,l),n):n}function Xs(n,o,l){let p=Md(s().parenthesizeLeftSideOfAccess(n,!0),o,Qt(l));return p.flags|=32,p.transformFlags|=32,p}function Rd(n,o,l,p){return Y.assert(!!(n.flags&32),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),n.expression!==o||n.questionDotToken!==l||n.name!==p?r(Xs(o,l,p),n):n}function yc(n,o,l){let p=Ve(209);return p.expression=n,p.questionDotToken=o,p.argumentExpression=l,p.transformFlags|=ye(p.expression)|ye(p.questionDotToken)|ye(p.argumentExpression),p.jsDoc=void 0,p.flowNode=void 0,p}function pu(n,o){let l=yc(s().parenthesizeLeftSideOfAccess(n,!1),void 0,za(o));return nd(n)&&(l.transformFlags|=384),l}function F2(n,o,l){return RS(n)?jd(n,o,n.questionDotToken,l):n.expression!==o||n.argumentExpression!==l?r(pu(o,l),n):n}function fu(n,o,l){let p=yc(s().parenthesizeLeftSideOfAccess(n,!0),o,za(l));return p.flags|=32,p.transformFlags|=32,p}function jd(n,o,l,p){return Y.assert(!!(n.flags&32),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),n.expression!==o||n.questionDotToken!==l||n.argumentExpression!==p?r(fu(o,l,p),n):n}function Jd(n,o,l,p){let k=Ve(210);return k.expression=n,k.questionDotToken=o,k.typeArguments=l,k.arguments=p,k.transformFlags|=ye(k.expression)|ye(k.questionDotToken)|gt(k.typeArguments)|gt(k.arguments),k.typeArguments&&(k.transformFlags|=1),Sf(k.expression)&&(k.transformFlags|=16384),k}function Na(n,o,l){let p=Jd(s().parenthesizeLeftSideOfAccess(n,!1),void 0,xt(o),s().parenthesizeExpressionsOfCommaDelimitedList(Ne(l)));return M8(p.expression)&&(p.transformFlags|=8388608),p}function B2(n,o,l,p){return Cy(n)?Kn(n,o,n.questionDotToken,l,p):n.expression!==o||n.typeArguments!==l||n.arguments!==p?r(Na(o,l,p),n):n}function du(n,o,l,p){let k=Jd(s().parenthesizeLeftSideOfAccess(n,!0),o,xt(l),s().parenthesizeExpressionsOfCommaDelimitedList(Ne(p)));return k.flags|=32,k.transformFlags|=32,k}function Kn(n,o,l,p,k){return Y.assert(!!(n.flags&32),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),n.expression!==o||n.questionDotToken!==l||n.typeArguments!==p||n.arguments!==k?r(du(o,l,p,k),n):n}function vc(n,o,l){let p=Ve(211);return p.expression=s().parenthesizeExpressionOfNew(n),p.typeArguments=xt(o),p.arguments=l?s().parenthesizeExpressionsOfCommaDelimitedList(l):void 0,p.transformFlags|=ye(p.expression)|gt(p.typeArguments)|gt(p.arguments)|32,p.typeArguments&&(p.transformFlags|=1),p}function mu(n,o,l,p){return n.expression!==o||n.typeArguments!==l||n.arguments!==p?r(vc(o,l,p),n):n}function hu(n,o,l){let p=oe(212);return p.tag=s().parenthesizeLeftSideOfAccess(n,!1),p.typeArguments=xt(o),p.template=l,p.transformFlags|=ye(p.tag)|gt(p.typeArguments)|ye(p.template)|1024,p.typeArguments&&(p.transformFlags|=1),w4(p.template)&&(p.transformFlags|=128),p}function q2(n,o,l,p){return n.tag!==o||n.typeArguments!==l||n.template!==p?r(hu(o,l,p),n):n}function Fd(n,o){let l=oe(213);return l.expression=s().parenthesizeOperandOfPrefixUnary(o),l.type=n,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Bd(n,o,l){return n.type!==o||n.expression!==l?r(Fd(o,l),n):n}function gu(n){let o=oe(214);return o.expression=n,o.transformFlags=ye(o.expression),o.jsDoc=void 0,o}function qd(n,o){return n.expression!==o?r(gu(o),n):n}function yu(n,o,l,p,k,V,we){let et=Ve(215);et.modifiers=xt(n),et.asteriskToken=o,et.name=Qt(l),et.typeParameters=xt(p),et.parameters=Ne(k),et.type=V,et.body=we;let ht=Vn(et.modifiers)&512,hn=!!et.asteriskToken,Ni=ht&&hn;return et.transformFlags=gt(et.modifiers)|ye(et.asteriskToken)|ai(et.name)|gt(et.typeParameters)|gt(et.parameters)|ye(et.type)|ye(et.body)&-67108865|(Ni?128:ht?256:hn?2048:0)|(et.typeParameters||et.type?1:0)|4194304,et.typeArguments=void 0,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.flowNode=void 0,et.endFlowNode=void 0,et.returnFlowNode=void 0,et}function Ud(n,o,l,p,k,V,we,et){return n.name!==p||n.modifiers!==o||n.asteriskToken!==l||n.typeParameters!==k||n.parameters!==V||n.type!==we||n.body!==et?pt(yu(o,l,p,k,V,we,et),n):n}function vu(n,o,l,p,k,V){let we=Ve(216);we.modifiers=xt(n),we.typeParameters=xt(o),we.parameters=Ne(l),we.type=p,we.equalsGreaterThanToken=k!=null?k:pr(38),we.body=s().parenthesizeConciseBodyOfArrowFunction(V);let et=Vn(we.modifiers)&512;return we.transformFlags=gt(we.modifiers)|gt(we.typeParameters)|gt(we.parameters)|ye(we.type)|ye(we.equalsGreaterThanToken)|ye(we.body)&-67108865|(we.typeParameters||we.type?1:0)|(et?16640:0)|1024,we.typeArguments=void 0,we.jsDoc=void 0,we.locals=void 0,we.nextContainer=void 0,we.flowNode=void 0,we.endFlowNode=void 0,we.returnFlowNode=void 0,we}function zd(n,o,l,p,k,V,we){return n.modifiers!==o||n.typeParameters!==l||n.parameters!==p||n.type!==k||n.equalsGreaterThanToken!==V||n.body!==we?pt(vu(o,l,p,k,V,we),n):n}function bu(n){let o=oe(217);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function U2(n,o){return n.expression!==o?r(bu(o),n):n}function mn(n){let o=oe(218);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function z2(n,o){return n.expression!==o?r(mn(o),n):n}function ui(n){let o=oe(219);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function W2(n,o){return n.expression!==o?r(ui(o),n):n}function Oa(n){let o=oe(220);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression)|256|128|2097152,o}function Ys(n,o){return n.expression!==o?r(Oa(o),n):n}function Tu(n,o){let l=oe(221);return l.operator=n,l.operand=s().parenthesizeOperandOfPrefixUnary(o),l.transformFlags|=ye(l.operand),(n===45||n===46)&&yt(l.operand)&&!cs(l.operand)&&!E2(l.operand)&&(l.transformFlags|=268435456),l}function bc(n,o){return n.operand!==o?r(Tu(n.operator,o),n):n}function Su(n,o){let l=oe(222);return l.operator=o,l.operand=s().parenthesizeOperandOfPostfixUnary(n),l.transformFlags|=ye(l.operand),yt(l.operand)&&!cs(l.operand)&&!E2(l.operand)&&(l.transformFlags|=268435456),l}function Wd(n,o){return n.operand!==o?r(Su(o,n.operator),n):n}function xu(n,o,l){let p=Ve(223),k=c6(o),V=k.kind;return p.left=s().parenthesizeLeftSideOfBinary(V,n),p.operatorToken=k,p.right=s().parenthesizeRightSideOfBinary(V,p.left,l),p.transformFlags|=ye(p.left)|ye(p.operatorToken)|ye(p.right),V===60?p.transformFlags|=32:V===63?Hs(p.left)?p.transformFlags|=5248|Vd(p.left):Yl(p.left)&&(p.transformFlags|=5120|Vd(p.left)):V===42||V===67?p.transformFlags|=512:jf(V)&&(p.transformFlags|=16),V===101&&vn(p.left)&&(p.transformFlags|=536870912),p.jsDoc=void 0,p}function Vd(n){return A2(n)?65536:0}function V2(n,o,l,p){return n.left!==o||n.operatorToken!==l||n.right!==p?r(xu(o,l,p),n):n}function Eu(n,o,l,p,k){let V=oe(224);return V.condition=s().parenthesizeConditionOfConditionalExpression(n),V.questionToken=o!=null?o:pr(57),V.whenTrue=s().parenthesizeBranchOfConditionalExpression(l),V.colonToken=p!=null?p:pr(58),V.whenFalse=s().parenthesizeBranchOfConditionalExpression(k),V.transformFlags|=ye(V.condition)|ye(V.questionToken)|ye(V.whenTrue)|ye(V.colonToken)|ye(V.whenFalse),V}function H2(n,o,l,p,k,V){return n.condition!==o||n.questionToken!==l||n.whenTrue!==p||n.colonToken!==k||n.whenFalse!==V?r(Eu(o,l,p,k,V),n):n}function Di(n,o){let l=oe(225);return l.head=n,l.templateSpans=Ne(o),l.transformFlags|=ye(l.head)|gt(l.templateSpans)|1024,l}function Hd(n,o,l){return n.head!==o||n.templateSpans!==l?r(Di(o,l),n):n}function Tc(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;Y.assert(!(p&-2049),"Unsupported template flags.");let k;if(l!==void 0&&l!==o&&(k=BL(n,l),typeof k=="object"))return Y.fail("Invalid raw text");if(o===void 0){if(k===void 0)return Y.fail("Arguments 'text' and 'rawText' may not both be undefined.");o=k}else k!==void 0&&Y.assert(o===k,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return o}function Gd(n){let o=1024;return n&&(o|=128),o}function n_(n,o,l,p){let k=In(n);return k.text=o,k.rawText=l,k.templateFlags=p&2048,k.transformFlags=Gd(k.templateFlags),k}function wu(n,o,l,p){let k=Ve(n);return k.text=o,k.rawText=l,k.templateFlags=p&2048,k.transformFlags=Gd(k.templateFlags),k}function Qs(n,o,l,p){return n===14?wu(n,o,l,p):n_(n,o,l,p)}function Sc(n,o,l){return n=Tc(15,n,o,l),Qs(15,n,o,l)}function Cu(n,o,l){return n=Tc(15,n,o,l),Qs(16,n,o,l)}function G2(n,o,l){return n=Tc(15,n,o,l),Qs(17,n,o,l)}function $d(n,o,l){return n=Tc(15,n,o,l),wu(14,n,o,l)}function Kd(n,o){Y.assert(!n||!!o,"A `YieldExpression` with an asteriskToken must have an expression.");let l=oe(226);return l.expression=o&&s().parenthesizeExpressionForDisallowedComma(o),l.asteriskToken=n,l.transformFlags|=ye(l.expression)|ye(l.asteriskToken)|1024|128|1048576,l}function $2(n,o,l){return n.expression!==l||n.asteriskToken!==o?r(Kd(o,l),n):n}function Xd(n){let o=oe(227);return o.expression=s().parenthesizeExpressionForDisallowedComma(n),o.transformFlags|=ye(o.expression)|1024|32768,o}function K2(n,o){return n.expression!==o?r(Xd(o),n):n}function Yd(n,o,l,p,k){let V=Ve(228);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Ne(k),V.transformFlags|=gt(V.modifiers)|ai(V.name)|gt(V.typeParameters)|gt(V.heritageClauses)|gt(V.members)|(V.typeParameters?1:0)|1024,V.jsDoc=void 0,V}function xc(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(Yd(o,l,p,k,V),n):n}function X2(){return oe(229)}function Qd(n,o){let l=oe(230);return l.expression=s().parenthesizeLeftSideOfAccess(n,!1),l.typeArguments=o&&s().parenthesizeTypeArguments(o),l.transformFlags|=ye(l.expression)|gt(l.typeArguments)|1024,l}function Xn(n,o,l){return n.expression!==o||n.typeArguments!==l?r(Qd(o,l),n):n}function Ec(n,o){let l=oe(231);return l.expression=n,l.type=o,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Zd(n,o,l){return n.expression!==o||n.type!==l?r(Ec(o,l),n):n}function em(n){let o=oe(232);return o.expression=s().parenthesizeLeftSideOfAccess(n,!1),o.transformFlags|=ye(o.expression)|1,o}function Au(n,o){return JS(n)?rm(n,o):n.expression!==o?r(em(o),n):n}function tm(n,o){let l=oe(235);return l.expression=n,l.type=o,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Pu(n,o,l){return n.expression!==o||n.type!==l?r(tm(o,l),n):n}function pi(n){let o=oe(232);return o.flags|=32,o.expression=s().parenthesizeLeftSideOfAccess(n,!0),o.transformFlags|=ye(o.expression)|1,o}function rm(n,o){return Y.assert(!!(n.flags&32),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),n.expression!==o?r(pi(o),n):n}function wc(n,o){let l=oe(233);switch(l.keywordToken=n,l.name=o,l.transformFlags|=ye(l.name),n){case 103:l.transformFlags|=1024;break;case 100:l.transformFlags|=4;break;default:return Y.assertNever(n)}return l.flowNode=void 0,l}function ra(n,o){return n.name!==o?r(wc(n.keywordToken,o),n):n}function i_(n,o){let l=oe(236);return l.expression=n,l.literal=o,l.transformFlags|=ye(l.expression)|ye(l.literal)|1024,l}function nm(n,o,l){return n.expression!==o||n.literal!==l?r(i_(o,l),n):n}function im(){let n=oe(237);return n.transformFlags|=1024,n}function Zs(n,o){let l=oe(238);return l.statements=Ne(n),l.multiLine=o,l.transformFlags|=gt(l.statements),l.jsDoc=void 0,l.locals=void 0,l.nextContainer=void 0,l}function am(n,o){return n.statements!==o?r(Zs(o,n.multiLine),n):n}function sm(n,o){let l=oe(240);return l.modifiers=xt(n),l.declarationList=ir(o)?Ru(o):o,l.transformFlags|=gt(l.modifiers)|ye(l.declarationList),Vn(l.modifiers)&2&&(l.transformFlags=1),l.jsDoc=void 0,l.flowNode=void 0,l}function om(n,o,l){return n.modifiers!==o||n.declarationList!==l?r(sm(o,l),n):n}function Du(){let n=oe(239);return n.jsDoc=void 0,n}function a_(n){let o=oe(241);return o.expression=s().parenthesizeExpressionOfExpressionStatement(n),o.transformFlags|=ye(o.expression),o.jsDoc=void 0,o.flowNode=void 0,o}function Y2(n,o){return n.expression!==o?r(a_(o),n):n}function ku(n,o,l){let p=oe(242);return p.expression=n,p.thenStatement=Yn(o),p.elseStatement=Yn(l),p.transformFlags|=ye(p.expression)|ye(p.thenStatement)|ye(p.elseStatement),p.jsDoc=void 0,p.flowNode=void 0,p}function Q2(n,o,l,p){return n.expression!==o||n.thenStatement!==l||n.elseStatement!==p?r(ku(o,l,p),n):n}function Iu(n,o){let l=oe(243);return l.statement=Yn(n),l.expression=o,l.transformFlags|=ye(l.statement)|ye(l.expression),l.jsDoc=void 0,l.flowNode=void 0,l}function Z2(n,o,l){return n.statement!==o||n.expression!==l?r(Iu(o,l),n):n}function _m(n,o){let l=oe(244);return l.expression=n,l.statement=Yn(o),l.transformFlags|=ye(l.expression)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function eb(n,o,l){return n.expression!==o||n.statement!==l?r(_m(o,l),n):n}function Nu(n,o,l,p){let k=oe(245);return k.initializer=n,k.condition=o,k.incrementor=l,k.statement=Yn(p),k.transformFlags|=ye(k.initializer)|ye(k.condition)|ye(k.incrementor)|ye(k.statement),k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k}function cm(n,o,l,p,k){return n.initializer!==o||n.condition!==l||n.incrementor!==p||n.statement!==k?r(Nu(o,l,p,k),n):n}function lm(n,o,l){let p=oe(246);return p.initializer=n,p.expression=o,p.statement=Yn(l),p.transformFlags|=ye(p.initializer)|ye(p.expression)|ye(p.statement),p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.flowNode=void 0,p}function tb(n,o,l,p){return n.initializer!==o||n.expression!==l||n.statement!==p?r(lm(o,l,p),n):n}function um(n,o,l,p){let k=oe(247);return k.awaitModifier=n,k.initializer=o,k.expression=s().parenthesizeExpressionForDisallowedComma(l),k.statement=Yn(p),k.transformFlags|=ye(k.awaitModifier)|ye(k.initializer)|ye(k.expression)|ye(k.statement)|1024,n&&(k.transformFlags|=128),k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k}function rb(n,o,l,p,k){return n.awaitModifier!==o||n.initializer!==l||n.expression!==p||n.statement!==k?r(um(o,l,p,k),n):n}function pm(n){let o=oe(248);return o.label=Qt(n),o.transformFlags|=ye(o.label)|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function fm(n,o){return n.label!==o?r(pm(o),n):n}function Ou(n){let o=oe(249);return o.label=Qt(n),o.transformFlags|=ye(o.label)|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function dm(n,o){return n.label!==o?r(Ou(o),n):n}function mm(n){let o=oe(250);return o.expression=n,o.transformFlags|=ye(o.expression)|128|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function nb(n,o){return n.expression!==o?r(mm(o),n):n}function Mu(n,o){let l=oe(251);return l.expression=n,l.statement=Yn(o),l.transformFlags|=ye(l.expression)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function hm(n,o,l){return n.expression!==o||n.statement!==l?r(Mu(o,l),n):n}function Lu(n,o){let l=oe(252);return l.expression=s().parenthesizeExpressionForDisallowedComma(n),l.caseBlock=o,l.transformFlags|=ye(l.expression)|ye(l.caseBlock),l.jsDoc=void 0,l.flowNode=void 0,l.possiblyExhaustive=!1,l}function eo(n,o,l){return n.expression!==o||n.caseBlock!==l?r(Lu(o,l),n):n}function gm(n,o){let l=oe(253);return l.label=Qt(n),l.statement=Yn(o),l.transformFlags|=ye(l.label)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function ym(n,o,l){return n.label!==o||n.statement!==l?r(gm(o,l),n):n}function vm(n){let o=oe(254);return o.expression=n,o.transformFlags|=ye(o.expression),o.jsDoc=void 0,o.flowNode=void 0,o}function ib(n,o){return n.expression!==o?r(vm(o),n):n}function bm(n,o,l){let p=oe(255);return p.tryBlock=n,p.catchClause=o,p.finallyBlock=l,p.transformFlags|=ye(p.tryBlock)|ye(p.catchClause)|ye(p.finallyBlock),p.jsDoc=void 0,p.flowNode=void 0,p}function ab(n,o,l,p){return n.tryBlock!==o||n.catchClause!==l||n.finallyBlock!==p?r(bm(o,l,p),n):n}function Tm(){let n=oe(256);return n.jsDoc=void 0,n.flowNode=void 0,n}function Cc(n,o,l,p){var k;let V=Ve(257);return V.name=Qt(n),V.exclamationToken=o,V.type=l,V.initializer=Wa(p),V.transformFlags|=ai(V.name)|ye(V.initializer)|(((k=V.exclamationToken)!=null?k:V.type)?1:0),V.jsDoc=void 0,V}function Sm(n,o,l,p,k){return n.name!==o||n.type!==p||n.exclamationToken!==l||n.initializer!==k?r(Cc(o,l,p,k),n):n}function Ru(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=oe(258);return l.flags|=o&3,l.declarations=Ne(n),l.transformFlags|=gt(l.declarations)|4194304,o&3&&(l.transformFlags|=263168),l}function sb(n,o){return n.declarations!==o?r(Ru(o,n.flags),n):n}function xm(n,o,l,p,k,V,we){let et=Ve(259);if(et.modifiers=xt(n),et.asteriskToken=o,et.name=Qt(l),et.typeParameters=xt(p),et.parameters=Ne(k),et.type=V,et.body=we,!et.body||Vn(et.modifiers)&2)et.transformFlags=1;else{let ht=Vn(et.modifiers)&512,hn=!!et.asteriskToken,Ni=ht&&hn;et.transformFlags=gt(et.modifiers)|ye(et.asteriskToken)|ai(et.name)|gt(et.typeParameters)|gt(et.parameters)|ye(et.type)|ye(et.body)&-67108865|(Ni?128:ht?256:hn?2048:0)|(et.typeParameters||et.type?1:0)|4194304}return et.typeArguments=void 0,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.endFlowNode=void 0,et.returnFlowNode=void 0,et}function ju(n,o,l,p,k,V,we,et){return n.modifiers!==o||n.asteriskToken!==l||n.name!==p||n.typeParameters!==k||n.parameters!==V||n.type!==we||n.body!==et?ob(xm(o,l,p,k,V,we,et),n):n}function ob(n,o){return n!==o&&n.modifiers===o.modifiers&&(n.modifiers=o.modifiers),pt(n,o)}function Em(n,o,l,p,k){let V=Ve(260);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Ne(k),Vn(V.modifiers)&2?V.transformFlags=1:(V.transformFlags|=gt(V.modifiers)|ai(V.name)|gt(V.typeParameters)|gt(V.heritageClauses)|gt(V.members)|(V.typeParameters?1:0)|1024,V.transformFlags&8192&&(V.transformFlags|=1)),V.jsDoc=void 0,V}function Ju(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(Em(o,l,p,k,V),n):n}function wm(n,o,l,p,k){let V=Ve(261);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Ne(k),V.transformFlags=1,V.jsDoc=void 0,V}function Cm(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(wm(o,l,p,k,V),n):n}function sr(n,o,l,p){let k=Ve(262);return k.modifiers=xt(n),k.name=Qt(o),k.typeParameters=xt(l),k.type=p,k.transformFlags=1,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k}function Ma(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.type!==k?r(sr(o,l,p,k),n):n}function Fu(n,o,l){let p=Ve(263);return p.modifiers=xt(n),p.name=Qt(o),p.members=Ne(l),p.transformFlags|=gt(p.modifiers)|ye(p.name)|gt(p.members)|1,p.transformFlags&=-67108865,p.jsDoc=void 0,p}function La(n,o,l,p){return n.modifiers!==o||n.name!==l||n.members!==p?r(Fu(o,l,p),n):n}function Am(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,k=Ve(264);return k.modifiers=xt(n),k.flags|=p&1044,k.name=o,k.body=l,Vn(k.modifiers)&2?k.transformFlags=1:k.transformFlags|=gt(k.modifiers)|ye(k.name)|ye(k.body)|1,k.transformFlags&=-67108865,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k}function Sr(n,o,l,p){return n.modifiers!==o||n.name!==l||n.body!==p?r(Am(o,l,p,n.flags),n):n}function Ra(n){let o=oe(265);return o.statements=Ne(n),o.transformFlags|=gt(o.statements),o.jsDoc=void 0,o}function Yr(n,o){return n.statements!==o?r(Ra(o),n):n}function Pm(n){let o=oe(266);return o.clauses=Ne(n),o.transformFlags|=gt(o.clauses),o.locals=void 0,o.nextContainer=void 0,o}function _b(n,o){return n.clauses!==o?r(Pm(o),n):n}function Dm(n){let o=Ve(267);return o.name=Qt(n),o.transformFlags|=ec(o.name)|1,o.modifiers=void 0,o.jsDoc=void 0,o}function km(n,o){return n.name!==o?cb(Dm(o),n):n}function cb(n,o){return n!==o&&(n.modifiers=o.modifiers),r(n,o)}function Im(n,o,l,p){let k=Ve(268);return k.modifiers=xt(n),k.name=Qt(l),k.isTypeOnly=o,k.moduleReference=p,k.transformFlags|=gt(k.modifiers)|ec(k.name)|ye(k.moduleReference),ud(k.moduleReference)||(k.transformFlags|=1),k.transformFlags&=-67108865,k.jsDoc=void 0,k}function Nm(n,o,l,p,k){return n.modifiers!==o||n.isTypeOnly!==l||n.name!==p||n.moduleReference!==k?r(Im(o,l,p,k),n):n}function Om(n,o,l,p){let k=oe(269);return k.modifiers=xt(n),k.importClause=o,k.moduleSpecifier=l,k.assertClause=p,k.transformFlags|=ye(k.importClause)|ye(k.moduleSpecifier),k.transformFlags&=-67108865,k.jsDoc=void 0,k}function Mm(n,o,l,p,k){return n.modifiers!==o||n.importClause!==l||n.moduleSpecifier!==p||n.assertClause!==k?r(Om(o,l,p,k),n):n}function Lm(n,o,l){let p=Ve(270);return p.isTypeOnly=n,p.name=o,p.namedBindings=l,p.transformFlags|=ye(p.name)|ye(p.namedBindings),n&&(p.transformFlags|=1),p.transformFlags&=-67108865,p}function Rm(n,o,l,p){return n.isTypeOnly!==o||n.name!==l||n.namedBindings!==p?r(Lm(o,l,p),n):n}function Bu(n,o){let l=oe(296);return l.elements=Ne(n),l.multiLine=o,l.transformFlags|=4,l}function lb(n,o,l){return n.elements!==o||n.multiLine!==l?r(Bu(o,l),n):n}function s_(n,o){let l=oe(297);return l.name=n,l.value=o,l.transformFlags|=4,l}function jm(n,o,l){return n.name!==o||n.value!==l?r(s_(o,l),n):n}function qu(n,o){let l=oe(298);return l.assertClause=n,l.multiLine=o,l}function Jm(n,o,l){return n.assertClause!==o||n.multiLine!==l?r(qu(o,l),n):n}function Fm(n){let o=Ve(271);return o.name=n,o.transformFlags|=ye(o.name),o.transformFlags&=-67108865,o}function Uu(n,o){return n.name!==o?r(Fm(o),n):n}function Bm(n){let o=Ve(277);return o.name=n,o.transformFlags|=ye(o.name)|4,o.transformFlags&=-67108865,o}function qm(n,o){return n.name!==o?r(Bm(o),n):n}function Um(n){let o=oe(272);return o.elements=Ne(n),o.transformFlags|=gt(o.elements),o.transformFlags&=-67108865,o}function ub(n,o){return n.elements!==o?r(Um(o),n):n}function zm(n,o,l){let p=Ve(273);return p.isTypeOnly=n,p.propertyName=o,p.name=l,p.transformFlags|=ye(p.propertyName)|ye(p.name),p.transformFlags&=-67108865,p}function pb(n,o,l,p){return n.isTypeOnly!==o||n.propertyName!==l||n.name!==p?r(zm(o,l,p),n):n}function zu(n,o,l){let p=Ve(274);return p.modifiers=xt(n),p.isExportEquals=o,p.expression=o?s().parenthesizeRightSideOfBinary(63,void 0,l):s().parenthesizeExpressionOfExportDefault(l),p.transformFlags|=gt(p.modifiers)|ye(p.expression),p.transformFlags&=-67108865,p.jsDoc=void 0,p}function Wu(n,o,l){return n.modifiers!==o||n.expression!==l?r(zu(o,n.isExportEquals,l),n):n}function na(n,o,l,p,k){let V=Ve(275);return V.modifiers=xt(n),V.isTypeOnly=o,V.exportClause=l,V.moduleSpecifier=p,V.assertClause=k,V.transformFlags|=gt(V.modifiers)|ye(V.exportClause)|ye(V.moduleSpecifier),V.transformFlags&=-67108865,V.jsDoc=void 0,V}function Wm(n,o,l,p,k,V){return n.modifiers!==o||n.isTypeOnly!==l||n.exportClause!==p||n.moduleSpecifier!==k||n.assertClause!==V?Vm(na(o,l,p,k,V),n):n}function Vm(n,o){return n!==o&&n.modifiers===o.modifiers&&(n.modifiers=o.modifiers),r(n,o)}function to(n){let o=oe(276);return o.elements=Ne(n),o.transformFlags|=gt(o.elements),o.transformFlags&=-67108865,o}function Hm(n,o){return n.elements!==o?r(to(o),n):n}function Vu(n,o,l){let p=oe(278);return p.isTypeOnly=n,p.propertyName=Qt(o),p.name=Qt(l),p.transformFlags|=ye(p.propertyName)|ye(p.name),p.transformFlags&=-67108865,p.jsDoc=void 0,p}function o_(n,o,l,p){return n.isTypeOnly!==o||n.propertyName!==l||n.name!==p?r(Vu(o,l,p),n):n}function fb(){let n=Ve(279);return n.jsDoc=void 0,n}function Gm(n){let o=oe(280);return o.expression=n,o.transformFlags|=ye(o.expression),o.transformFlags&=-67108865,o}function $m(n,o){return n.expression!==o?r(Gm(o),n):n}function db(n){return oe(n)}function Km(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=Ac(n,l?o&&s().parenthesizeNonArrayTypeOfPostfixType(o):o);return p.postfix=l,p}function Ac(n,o){let l=oe(n);return l.type=o,l}function Xm(n,o,l){return o.type!==l?r(Km(n,l,o.postfix),o):o}function mb(n,o,l){return o.type!==l?r(Ac(n,l),o):o}function Ym(n,o){let l=Ve(320);return l.parameters=xt(n),l.type=o,l.transformFlags=gt(l.parameters)|(l.type?1:0),l.jsDoc=void 0,l.locals=void 0,l.nextContainer=void 0,l.typeArguments=void 0,l}function hb(n,o,l){return n.parameters!==o||n.type!==l?r(Ym(o,l),n):n}function Qm(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=Ve(325);return l.jsDocPropertyTags=xt(n),l.isArrayType=o,l}function gb(n,o,l){return n.jsDocPropertyTags!==o||n.isArrayType!==l?r(Qm(o,l),n):n}function Zm(n){let o=oe(312);return o.type=n,o}function yb(n,o){return n.type!==o?r(Zm(o),n):n}function eh(n,o,l){let p=Ve(326);return p.typeParameters=xt(n),p.parameters=Ne(o),p.type=l,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p}function Hu(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?r(eh(o,l,p),n):n}function fi(n){let o=ed(n.kind);return n.tagName.escapedText===vi(o)?n.tagName:Ut(o)}function ja(n,o,l){let p=oe(n);return p.tagName=o,p.comment=l,p}function Ja(n,o,l){let p=Ve(n);return p.tagName=o,p.comment=l,p}function __(n,o,l,p){let k=ja(348,n!=null?n:Ut("template"),p);return k.constraint=o,k.typeParameters=Ne(l),k}function Gu(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.constraint!==l||n.typeParameters!==p||n.comment!==k?r(__(o,l,p,k),n):n}function $u(n,o,l,p){let k=Ja(349,n!=null?n:Ut("typedef"),p);return k.typeExpression=o,k.fullName=l,k.name=w2(l),k.locals=void 0,k.nextContainer=void 0,k}function th(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.typeExpression!==l||n.fullName!==p||n.comment!==k?r($u(o,l,p,k),n):n}function Pc(n,o,l,p,k,V){let we=Ja(344,n!=null?n:Ut("param"),V);return we.typeExpression=p,we.name=o,we.isNameFirst=!!k,we.isBracketed=l,we}function vb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0,V=arguments.length>5?arguments[5]:void 0,we=arguments.length>6?arguments[6]:void 0;return n.tagName!==o||n.name!==l||n.isBracketed!==p||n.typeExpression!==k||n.isNameFirst!==V||n.comment!==we?r(Pc(o,l,p,k,V,we),n):n}function Ku(n,o,l,p,k,V){let we=Ja(351,n!=null?n:Ut("prop"),V);return we.typeExpression=p,we.name=o,we.isNameFirst=!!k,we.isBracketed=l,we}function bb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0,V=arguments.length>5?arguments[5]:void 0,we=arguments.length>6?arguments[6]:void 0;return n.tagName!==o||n.name!==l||n.isBracketed!==p||n.typeExpression!==k||n.isNameFirst!==V||n.comment!==we?r(Ku(o,l,p,k,V,we),n):n}function rh(n,o,l,p){let k=Ja(341,n!=null?n:Ut("callback"),p);return k.typeExpression=o,k.fullName=l,k.name=w2(l),k.locals=void 0,k.nextContainer=void 0,k}function nh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.typeExpression!==l||n.fullName!==p||n.comment!==k?r(rh(o,l,p,k),n):n}function ih(n,o,l){let p=ja(342,n!=null?n:Ut("overload"),l);return p.typeExpression=o,p}function ah(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.typeExpression!==l||n.comment!==p?r(ih(o,l,p),n):n}function sh(n,o,l){let p=ja(331,n!=null?n:Ut("augments"),l);return p.class=o,p}function Xu(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.class!==l||n.comment!==p?r(sh(o,l,p),n):n}function Yu(n,o,l){let p=ja(332,n!=null?n:Ut("implements"),l);return p.class=o,p}function ro(n,o,l){let p=ja(350,n!=null?n:Ut("see"),l);return p.name=o,p}function Tb(n,o,l,p){return n.tagName!==o||n.name!==l||n.comment!==p?r(ro(o,l,p),n):n}function ws(n){let o=oe(313);return o.name=n,o}function Dc(n,o){return n.name!==o?r(ws(o),n):n}function oh(n,o){let l=oe(314);return l.left=n,l.right=o,l.transformFlags|=ye(l.left)|ye(l.right),l}function Sb(n,o,l){return n.left!==o||n.right!==l?r(oh(o,l),n):n}function _h(n,o){let l=oe(327);return l.name=n,l.text=o,l}function xb(n,o,l){return n.name!==o?r(_h(o,l),n):n}function ch(n,o){let l=oe(328);return l.name=n,l.text=o,l}function lh(n,o,l){return n.name!==o?r(ch(o,l),n):n}function uh(n,o){let l=oe(329);return l.name=n,l.text=o,l}function Eb(n,o,l){return n.name!==o?r(uh(o,l),n):n}function wb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.class!==l||n.comment!==p?r(Yu(o,l,p),n):n}function ph(n,o,l){return ja(n,o!=null?o:Ut(ed(n)),l)}function Cb(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(o),p=arguments.length>3?arguments[3]:void 0;return o.tagName!==l||o.comment!==p?r(ph(n,l,p),o):o}function fh(n,o,l,p){let k=ja(n,o!=null?o:Ut(ed(n)),p);return k.typeExpression=l,k}function Ab(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(o),p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return o.tagName!==l||o.typeExpression!==p||o.comment!==k?r(fh(n,l,p,k),o):o}function dh(n,o){return ja(330,n,o)}function Pb(n,o,l){return n.tagName!==o||n.comment!==l?r(dh(o,l),n):n}function mh(n,o,l){let p=Ja(343,n!=null?n:Ut(ed(343)),l);return p.typeExpression=o,p.locals=void 0,p.nextContainer=void 0,p}function Db(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.typeExpression!==l||n.comment!==p?r(mh(o,l,p),n):n}function hh(n){let o=oe(324);return o.text=n,o}function Qu(n,o){return n.text!==o?r(hh(o),n):n}function gh(n,o){let l=oe(323);return l.comment=n,l.tags=xt(o),l}function yh(n,o,l){return n.comment!==o||n.tags!==l?r(gh(o,l),n):n}function Zu(n,o,l){let p=oe(281);return p.openingElement=n,p.children=Ne(o),p.closingElement=l,p.transformFlags|=ye(p.openingElement)|gt(p.children)|ye(p.closingElement)|2,p}function kb(n,o,l,p){return n.openingElement!==o||n.children!==l||n.closingElement!==p?r(Zu(o,l,p),n):n}function c_(n,o,l){let p=oe(282);return p.tagName=n,p.typeArguments=xt(o),p.attributes=l,p.transformFlags|=ye(p.tagName)|gt(p.typeArguments)|ye(p.attributes)|2,p.typeArguments&&(p.transformFlags|=1),p}function vh(n,o,l,p){return n.tagName!==o||n.typeArguments!==l||n.attributes!==p?r(c_(o,l,p),n):n}function bh(n,o,l){let p=oe(283);return p.tagName=n,p.typeArguments=xt(o),p.attributes=l,p.transformFlags|=ye(p.tagName)|gt(p.typeArguments)|ye(p.attributes)|2,o&&(p.transformFlags|=1),p}function Ib(n,o,l,p){return n.tagName!==o||n.typeArguments!==l||n.attributes!==p?r(bh(o,l,p),n):n}function on(n){let o=oe(284);return o.tagName=n,o.transformFlags|=ye(o.tagName)|2,o}function Th(n,o){return n.tagName!==o?r(on(o),n):n}function ep(n,o,l){let p=oe(285);return p.openingFragment=n,p.children=Ne(o),p.closingFragment=l,p.transformFlags|=ye(p.openingFragment)|gt(p.children)|ye(p.closingFragment)|2,p}function Nb(n,o,l,p){return n.openingFragment!==o||n.children!==l||n.closingFragment!==p?r(ep(o,l,p),n):n}function l_(n,o){let l=oe(11);return l.text=n,l.containsOnlyTriviaWhiteSpaces=!!o,l.transformFlags|=2,l}function Ob(n,o,l){return n.text!==o||n.containsOnlyTriviaWhiteSpaces!==l?r(l_(o,l),n):n}function kc(){let n=oe(286);return n.transformFlags|=2,n}function Mb(){let n=oe(287);return n.transformFlags|=2,n}function Sh(n,o){let l=Ve(288);return l.name=n,l.initializer=o,l.transformFlags|=ye(l.name)|ye(l.initializer)|2,l}function Lb(n,o,l){return n.name!==o||n.initializer!==l?r(Sh(o,l),n):n}function xh(n){let o=Ve(289);return o.properties=Ne(n),o.transformFlags|=gt(o.properties)|2,o}function tp(n,o){return n.properties!==o?r(xh(o),n):n}function no(n){let o=oe(290);return o.expression=n,o.transformFlags|=ye(o.expression)|2,o}function Rb(n,o){return n.expression!==o?r(no(o),n):n}function Ic(n,o){let l=oe(291);return l.dotDotDotToken=n,l.expression=o,l.transformFlags|=ye(l.dotDotDotToken)|ye(l.expression)|2,l}function Eh(n,o){return n.expression!==o?r(Ic(n.dotDotDotToken,o),n):n}function wh(n,o){let l=oe(292);return l.expression=s().parenthesizeExpressionForDisallowedComma(n),l.statements=Ne(o),l.transformFlags|=ye(l.expression)|gt(l.statements),l.jsDoc=void 0,l}function rp(n,o,l){return n.expression!==o||n.statements!==l?r(wh(o,l),n):n}function np(n){let o=oe(293);return o.statements=Ne(n),o.transformFlags=gt(o.statements),o}function jb(n,o){return n.statements!==o?r(np(o),n):n}function Ch(n,o){let l=oe(294);switch(l.token=n,l.types=Ne(o),l.transformFlags|=gt(l.types),n){case 94:l.transformFlags|=1024;break;case 117:l.transformFlags|=1;break;default:return Y.assertNever(n)}return l}function Ah(n,o){return n.types!==o?r(Ch(n.token,o),n):n}function ip(n,o){let l=oe(295);return l.variableDeclaration=Xh(n),l.block=o,l.transformFlags|=ye(l.variableDeclaration)|ye(l.block)|(n?0:64),l.locals=void 0,l.nextContainer=void 0,l}function Ph(n,o,l){return n.variableDeclaration!==o||n.block!==l?r(ip(o,l),n):n}function Fa(n,o){let l=Ve(299);return l.name=Qt(n),l.initializer=s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ai(l.name)|ye(l.initializer),l.modifiers=void 0,l.questionToken=void 0,l.exclamationToken=void 0,l.jsDoc=void 0,l}function Jb(n,o,l){return n.name!==o||n.initializer!==l?Fb(Fa(o,l),n):n}function Fb(n,o){return n!==o&&(n.modifiers=o.modifiers,n.questionToken=o.questionToken,n.exclamationToken=o.exclamationToken),r(n,o)}function Dh(n,o){let l=Ve(300);return l.name=Qt(n),l.objectAssignmentInitializer=o&&s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ec(l.name)|ye(l.objectAssignmentInitializer)|1024,l.equalsToken=void 0,l.modifiers=void 0,l.questionToken=void 0,l.exclamationToken=void 0,l.jsDoc=void 0,l}function Bb(n,o,l){return n.name!==o||n.objectAssignmentInitializer!==l?kh(Dh(o,l),n):n}function kh(n,o){return n!==o&&(n.modifiers=o.modifiers,n.questionToken=o.questionToken,n.exclamationToken=o.exclamationToken,n.equalsToken=o.equalsToken),r(n,o)}function ap(n){let o=Ve(301);return o.expression=s().parenthesizeExpressionForDisallowedComma(n),o.transformFlags|=ye(o.expression)|128|65536,o.jsDoc=void 0,o}function ki(n,o){return n.expression!==o?r(ap(o),n):n}function sp(n,o){let l=Ve(302);return l.name=Qt(n),l.initializer=o&&s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ye(l.name)|ye(l.initializer)|1,l.jsDoc=void 0,l}function qb(n,o,l){return n.name!==o||n.initializer!==l?r(sp(o,l),n):n}function Ub(n,o,l){let p=t.createBaseSourceFileNode(308);return p.statements=Ne(n),p.endOfFileToken=o,p.flags|=l,p.text="",p.fileName="",p.path="",p.resolvedPath="",p.originalFileName="",p.languageVersion=0,p.languageVariant=0,p.scriptKind=0,p.isDeclarationFile=!1,p.hasNoDefaultLib=!1,p.transformFlags|=gt(p.statements)|ye(p.endOfFileToken),p.locals=void 0,p.nextContainer=void 0,p.endFlowNode=void 0,p.nodeCount=0,p.identifierCount=0,p.symbolCount=0,p.parseDiagnostics=void 0,p.bindDiagnostics=void 0,p.bindSuggestionDiagnostics=void 0,p.lineMap=void 0,p.externalModuleIndicator=void 0,p.setExternalModuleIndicator=void 0,p.pragmas=void 0,p.checkJsDirective=void 0,p.referencedFiles=void 0,p.typeReferenceDirectives=void 0,p.libReferenceDirectives=void 0,p.amdDependencies=void 0,p.commentDirectives=void 0,p.identifiers=void 0,p.packageJsonLocations=void 0,p.packageJsonScope=void 0,p.imports=void 0,p.moduleAugmentations=void 0,p.ambientModuleNames=void 0,p.resolvedModules=void 0,p.classifiableNames=void 0,p.impliedNodeFormat=void 0,p}function Ih(n){let o=Object.create(n.redirectTarget);return Object.defineProperties(o,{id:{get(){return this.redirectInfo.redirectTarget.id},set(l){this.redirectInfo.redirectTarget.id=l}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(l){this.redirectInfo.redirectTarget.symbol=l}}}),o.redirectInfo=n,o}function Nh(n){let o=Ih(n.redirectInfo);return o.flags|=n.flags&-9,o.fileName=n.fileName,o.path=n.path,o.resolvedPath=n.resolvedPath,o.originalFileName=n.originalFileName,o.packageJsonLocations=n.packageJsonLocations,o.packageJsonScope=n.packageJsonScope,o.emitNode=void 0,o}function op(n){let o=t.createBaseSourceFileNode(308);o.flags|=n.flags&-9;for(let l in n)if(!(Jr(o,l)||!Jr(n,l))){if(l==="emitNode"){o.emitNode=void 0;continue}o[l]=n[l]}return o}function Oh(n){let o=n.redirectInfo?Nh(n):op(n);return Dn(o,n),o}function zb(n,o,l,p,k,V,we){let et=Oh(n);return et.statements=Ne(o),et.isDeclarationFile=l,et.referencedFiles=p,et.typeReferenceDirectives=k,et.hasNoDefaultLib=V,et.libReferenceDirectives=we,et.transformFlags=gt(et.statements)|ye(et.endOfFileToken),et}function Mh(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n.isDeclarationFile,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:n.referencedFiles,k=arguments.length>4&&arguments[4]!==void 0?arguments[4]:n.typeReferenceDirectives,V=arguments.length>5&&arguments[5]!==void 0?arguments[5]:n.hasNoDefaultLib,we=arguments.length>6&&arguments[6]!==void 0?arguments[6]:n.libReferenceDirectives;return n.statements!==o||n.isDeclarationFile!==l||n.referencedFiles!==p||n.typeReferenceDirectives!==k||n.hasNoDefaultLib!==V||n.libReferenceDirectives!==we?r(zb(n,o,l,p,k,V,we),n):n}function Lh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bt,l=oe(309);return l.prepends=o,l.sourceFiles=n,l.syntheticFileReferences=void 0,l.syntheticTypeReferences=void 0,l.syntheticLibReferences=void 0,l.hasNoDefaultLib=void 0,l}function Wb(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bt;return n.sourceFiles!==o||n.prepends!==l?r(Lh(o,l),n):n}function Nc(n,o,l){let p=oe(310);return p.prologues=n,p.syntheticReferences=o,p.texts=l,p.fileName="",p.text="",p.referencedFiles=Bt,p.libReferenceDirectives=Bt,p.getLineAndCharacterOfPosition=k=>Ls(p,k),p}function Oc(n,o){let l=oe(n);return l.data=o,l}function Vb(n){return Oc(303,n)}function Hb(n,o){let l=Oc(304,n);return l.texts=o,l}function Gb(n,o){return Oc(o?306:305,n)}function $b(n){let o=oe(307);return o.data=n.data,o.section=n,o}function Kb(){let n=oe(311);return n.javascriptText="",n.declarationText="",n}function Rh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=arguments.length>2?arguments[2]:void 0,p=oe(234);return p.type=n,p.isSpread=o,p.tupleNameSource=l,p}function jh(n){let o=oe(354);return o._children=n,o}function Jh(n){let o=oe(355);return o.original=n,Rt(o,n),o}function Fh(n,o){let l=oe(356);return l.expression=n,l.original=o,l.transformFlags|=ye(l.expression)|1,Rt(l,o),l}function Bh(n,o){return n.expression!==o?r(Fh(o,n.original),n):n}function qh(n){if(fs(n)&&!pl(n)&&!n.original&&!n.emitNode&&!n.id){if(oc(n))return n.elements;if(ur(n)&&I8(n.operatorToken))return[n.left,n.right]}return n}function Mc(n){let o=oe(357);return o.elements=Ne(at(n,qh)),o.transformFlags|=gt(o.elements),o}function Xb(n,o){return n.elements!==o?r(Mc(o),n):n}function Yb(n){let o=oe(359);return o.emitNode={},o.original=n,o}function Qb(n){let o=oe(358);return o.emitNode={},o.original=n,o}function Uh(n,o){let l=oe(360);return l.expression=n,l.thisArg=o,l.transformFlags|=ye(l.expression)|ye(l.thisArg),l}function _p(n,o,l){return n.expression!==o||n.thisArg!==l?r(Uh(o,l),n):n}function Zb(n){let o=pn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),setIdentifierAutoGenerate(o,Object.assign({},n.emitNode.autoGenerate)),o}function e6(n){let o=pn(n.escapedText);o.flags|=n.flags&-9,o.jsDoc=n.jsDoc,o.flowNode=n.flowNode,o.symbol=n.symbol,o.transformFlags=n.transformFlags,Dn(o,n);let l=getIdentifierTypeArguments(n);return l&&setIdentifierTypeArguments(o,l),o}function t6(n){let o=dn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),setIdentifierAutoGenerate(o,Object.assign({},n.emitNode.autoGenerate)),o}function r6(n){let o=dn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),o}function cp(n){if(n===void 0)return n;if(wi(n))return Oh(n);if(cs(n))return Zb(n);if(yt(n))return e6(n);if(Ny(n))return t6(n);if(vn(n))return r6(n);let o=gl(n.kind)?t.createBaseNode(n.kind):t.createBaseTokenNode(n.kind);o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n);for(let l in n)Jr(o,l)||!Jr(n,l)||(o[l]=n[l]);return o}function n6(n,o,l){return Na(yu(void 0,void 0,void 0,void 0,o?[o]:[],void 0,Zs(n,!0)),void 0,l?[l]:[])}function Lc(n,o,l){return Na(vu(void 0,void 0,o?[o]:[],void 0,void 0,Zs(n,!0)),void 0,l?[l]:[])}function Rc(){return ui(Gt("0"))}function zh(n){return zu(void 0,!1,n)}function i6(n){return na(void 0,!1,to([Vu(!1,void 0,n)]))}function a6(n,o){return o==="undefined"?Ye.createStrictEquality(n,Rc()):Ye.createStrictEquality(mn(n),er(o))}function Ba(n,o,l){return Cy(n)?du(Xs(n,void 0,o),void 0,void 0,l):Na(ta(n,o),void 0,l)}function s6(n,o,l){return Ba(n,"bind",[o,...l])}function o6(n,o,l){return Ba(n,"call",[o,...l])}function _6(n,o,l){return Ba(n,"apply",[o,l])}function io(n,o,l){return Ba(Ut(n),o,l)}function Wh(n,o){return Ba(n,"slice",o===void 0?[]:[za(o)])}function Vh(n,o){return Ba(n,"concat",o)}function u(n,o,l){return io("Object","defineProperty",[n,za(o),l])}function b(n,o){return io("Object","getOwnPropertyDescriptor",[n,za(o)])}function O(n,o,l){return io("Reflect","get",l?[n,o,l]:[n,o])}function j(n,o,l,p){return io("Reflect","set",p?[n,o,l,p]:[n,o,l])}function z(n,o,l){return l?(n.push(Fa(o,l)),!0):!1}function re(n,o){let l=[];z(l,"enumerable",za(n.enumerable)),z(l,"configurable",za(n.configurable));let p=z(l,"writable",za(n.writable));p=z(l,"value",n.value)||p;let k=z(l,"get",n.get);return k=z(l,"set",n.set)||k,Y.assert(!(p&&k),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),r_(l,!o)}function Ee(n,o){switch(n.kind){case 214:return qd(n,o);case 213:return Bd(n,n.type,o);case 231:return Zd(n,o,n.type);case 235:return Pu(n,o,n.type);case 232:return Au(n,o);case 356:return Bh(n,o)}}function qe(n){return qo(n)&&fs(n)&&fs(getSourceMapRange(n))&&fs(getCommentRange(n))&&!Ke(getSyntheticLeadingComments(n))&&!Ke(getSyntheticTrailingComments(n))}function We(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:15;return n&&yd(n,l)&&!qe(n)?Ee(n,We(n.expression,o)):o}function $e(n,o,l){if(!o)return n;let p=ym(o,o.label,tE(o.statement)?$e(n,o.statement):n);return l&&l(o),p}function lt(n,o){let l=Pl(n);switch(l.kind){case 79:return o;case 108:case 8:case 9:case 10:return!1;case 206:return l.elements.length!==0;case 207:return l.properties.length>0;default:return!0}}function Jt(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,k=$o(n,15),V,we;return Sf(k)?(V=Or(),we=k):nd(k)?(V=Or(),we=l!==void 0&&l<2?Rt(Ut("_super"),k):k):xi(k)&8192?(V=Rc(),we=s().parenthesizeLeftSideOfAccess(k,!1)):bn(k)?lt(k.expression,p)?(V=kn(o),we=ta(Rt(Ye.createAssignment(V,k.expression),k.expression),k.name),Rt(we,k)):(V=k.expression,we=k):gs(k)?lt(k.expression,p)?(V=kn(o),we=pu(Rt(Ye.createAssignment(V,k.expression),k.expression),k.argumentExpression),Rt(we,k)):(V=k.expression,we=k):(V=Rc(),we=s().parenthesizeLeftSideOfAccess(n,!1)),{target:we,thisArg:V}}function Lt(n,o){return ta(gu(r_([ci(void 0,"value",[$n(void 0,void 0,n,void 0,void 0,void 0)],Zs([a_(o)]))])),"value")}function At(n){return n.length>10?Mc(n):Qa(n,Ye.createComma)}function kr(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,k=ml(n);if(k&&yt(k)&&!cs(k)){let V=Sa(Rt(cp(k),k),k.parent);return p|=xi(k),l||(p|=96),o||(p|=3072),p&&setEmitFlags(V,p),V}return $i(n)}function Fn(n,o,l){return kr(n,o,l,98304)}function di(n,o,l){return kr(n,o,l,32768)}function Ii(n,o,l){return kr(n,o,l,16384)}function _n(n,o,l){return kr(n,o,l)}function qa(n,o,l,p){let k=ta(n,fs(o)?o:cp(o));Rt(k,o);let V=0;return p||(V|=96),l||(V|=3072),V&&setEmitFlags(k,V),k}function Hh(n,o,l,p){return n&&rn(o,1)?qa(n,kr(o),l,p):Ii(o,l,p)}function lp(n,o,l,p){let k=Ua(n,o,0,l);return up(n,o,k,p)}function Gh(n){return Gn(n.expression)&&n.expression.text==="use strict"}function wn(){return vd(a_(er("use strict")))}function Ua(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,p=arguments.length>3?arguments[3]:void 0;Y.assert(o.length===0,"Prologue directives should be at the first statement in the target statements array");let k=!1,V=n.length;for(;l4&&arguments[4]!==void 0?arguments[4]:vp,V=n.length;for(;l!==void 0&&let&&hn.splice(k,0,...o.slice(et,ht)),et>we&&hn.splice(p,0,...o.slice(we,et)),we>V&&hn.splice(l,0,...o.slice(V,we)),V>0)if(l===0)hn.splice(0,0,...o.slice(0,V));else{let Ni=new Map;for(let ia=0;ia=0;ia--){let Oi=o[ia];Ni.has(Oi.expression.text)||hn.unshift(Oi)}}return _s(n)?Rt(Ne(hn,n.hasTrailingComma),n):n}function Kh(n,o){var l;let p;return typeof o=="number"?p=$r(o):p=o,Fo(n)?wa(n,p,n.name,n.constraint,n.default):Vs(n)?Ki(n,p,n.dotDotDotToken,n.name,n.questionToken,n.type,n.initializer):Gv(n)?bt(n,p,n.typeParameters,n.parameters,n.type):Wl(n)?St(n,p,n.name,n.questionToken,n.type):Bo(n)?_t(n,p,n.name,(l=n.questionToken)!=null?l:n.exclamationToken,n.type,n.initializer):L8(n)?Kt(n,p,n.name,n.questionToken,n.typeParameters,n.parameters,n.type):Vl(n)?xe(n,p,n.asteriskToken,n.name,n.questionToken,n.typeParameters,n.parameters,n.type,n.body):nc(n)?It(n,p,n.parameters,n.body):Gl(n)?Ln(n,p,n.name,n.parameters,n.type,n.body):ic(n)?Xi(n,p,n.name,n.parameters,n.body):Hv(n)?bs(n,p,n.parameters,n.type):ad(n)?Ud(n,p,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body):sd(n)?zd(n,p,n.typeParameters,n.parameters,n.type,n.equalsGreaterThanToken,n.body):_d(n)?xc(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):zo(n)?om(n,p,n.declarationList):Wo(n)?ju(n,p,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body):_c(n)?Ju(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):eu(n)?Cm(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):n2(n)?Ma(n,p,n.name,n.typeParameters,n.type):i2(n)?La(n,p,n.name,n.members):Ea(n)?Sr(n,p,n.name,n.body):s2(n)?Nm(n,p,n.isTypeOnly,n.name,n.moduleReference):o2(n)?Mm(n,p,n.importClause,n.moduleSpecifier,n.assertClause):Vo(n)?Wu(n,p,n.expression):cc(n)?Wm(n,p,n.isTypeOnly,n.exportClause,n.moduleSpecifier,n.assertClause):Y.assertNever(n)}function xt(n){return n?Ne(n):void 0}function Qt(n){return typeof n=="string"?Ut(n):n}function za(n){return typeof n=="string"?er(n):typeof n=="number"?Gt(n):typeof n=="boolean"?n?ar():oi():n}function Wa(n){return n&&s().parenthesizeExpressionForDisallowedComma(n)}function c6(n){return typeof n=="number"?pr(n):n}function Yn(n){return n&&c2(n)?Rt(Dn(Du(),n),n):n}function Xh(n){return typeof n=="string"||n&&!Vi(n)?Cc(n,void 0,void 0,void 0):n}}function JL(e,t){return e!==t&&Rt(e,t),e}function FL(e,t){return e!==t&&(Dn(e,t),Rt(e,t)),e}function ed(e){switch(e){case 347:return"type";case 345:return"returns";case 346:return"this";case 343:return"enum";case 333:return"author";case 335:return"class";case 336:return"public";case 337:return"private";case 338:return"protected";case 339:return"readonly";case 340:return"override";case 348:return"template";case 349:return"typedef";case 344:return"param";case 351:return"prop";case 341:return"callback";case 342:return"overload";case 331:return"augments";case 332:return"implements";default:return Y.fail(`Unsupported kind: ${Y.formatSyntaxKind(e)}`)}}function BL(e,t){switch(Hn||(Hn=Po(99,!1,0)),e){case 14:Hn.setText("`"+t+"`");break;case 15:Hn.setText("`"+t+"${");break;case 16:Hn.setText("}"+t+"${");break;case 17:Hn.setText("}"+t+"`");break}let r=Hn.scan();if(r===19&&(r=Hn.reScanTemplateToken(!1)),Hn.isUnterminated())return Hn.setText(void 0),qv;let s;switch(r){case 14:case 15:case 16:case 17:s=Hn.getTokenValue();break}return s===void 0||Hn.scan()!==1?(Hn.setText(void 0),qv):(Hn.setText(void 0),s)}function ai(e){return e&&yt(e)?ec(e):ye(e)}function ec(e){return ye(e)&-67108865}function qL(e,t){return t|e.transformFlags&134234112}function ye(e){if(!e)return 0;let t=e.transformFlags&~w8(e.kind);return af(e)&&vl(e.name)?qL(e.name,t):t}function gt(e){return e?e.transformFlags:0}function E8(e){let t=0;for(let r of e)t|=ye(r);e.transformFlags=t}function w8(e){if(e>=179&&e<=202)return-2;switch(e){case 210:case 211:case 206:return-2147450880;case 264:return-1941676032;case 166:return-2147483648;case 216:return-2072174592;case 215:case 259:return-1937940480;case 258:return-2146893824;case 260:case 228:return-2147344384;case 173:return-1937948672;case 169:return-2013249536;case 171:case 174:case 175:return-2005057536;case 131:case 148:case 160:case 144:case 152:case 149:case 134:case 153:case 114:case 165:case 168:case 170:case 176:case 177:case 178:case 261:case 262:return-2;case 207:return-2147278848;case 295:return-2147418112;case 203:case 204:return-2147450880;case 213:case 235:case 231:case 356:case 214:case 106:return-2147483648;case 208:case 209:return-2147483648;default:return-2147483648}}function Fl(e){return e.flags|=8,e}function UL(e,t,r){let s,f,x,w,A,g,B,N,X,F;Ji(e)?(x="",w=e,A=e.length,g=t,B=r):(Y.assert(t==="js"||t==="dts"),x=(t==="js"?e.javascriptPath:e.declarationPath)||"",g=t==="js"?e.javascriptMapPath:e.declarationMapPath,N=()=>t==="js"?e.javascriptText:e.declarationText,X=()=>t==="js"?e.javascriptMapText:e.declarationMapText,A=()=>N().length,e.buildInfo&&e.buildInfo.bundle&&(Y.assert(r===void 0||typeof r=="boolean"),s=r,f=t==="js"?e.buildInfo.bundle.js:e.buildInfo.bundle.dts,F=e.oldFileOfCurrentEmit));let $=F?WL(Y.checkDefined(f)):zL(f,s,A);return $.fileName=x,$.sourceMapPath=g,$.oldFileOfCurrentEmit=F,N&&X?(Object.defineProperty($,"text",{get:N}),Object.defineProperty($,"sourceMapText",{get:X})):(Y.assert(!F),$.text=w!=null?w:"",$.sourceMapText=B),$}function zL(e,t,r){let s,f,x,w,A,g,B,N;for(let F of e?e.sections:Bt)switch(F.kind){case"prologue":s=tr(s,Rt(si.createUnparsedPrologue(F.data),F));break;case"emitHelpers":f=tr(f,getAllUnscopedEmitHelpers().get(F.data));break;case"no-default-lib":N=!0;break;case"reference":x=tr(x,{pos:-1,end:-1,fileName:F.data});break;case"type":w=tr(w,{pos:-1,end:-1,fileName:F.data});break;case"type-import":w=tr(w,{pos:-1,end:-1,fileName:F.data,resolutionMode:99});break;case"type-require":w=tr(w,{pos:-1,end:-1,fileName:F.data,resolutionMode:1});break;case"lib":A=tr(A,{pos:-1,end:-1,fileName:F.data});break;case"prepend":let $;for(let ae of F.texts)(!t||ae.kind!=="internal")&&($=tr($,Rt(si.createUnparsedTextLike(ae.data,ae.kind==="internal"),ae)));g=jr(g,$),B=tr(B,si.createUnparsedPrepend(F.data,$!=null?$:Bt));break;case"internal":if(t){B||(B=[]);break}case"text":B=tr(B,Rt(si.createUnparsedTextLike(F.data,F.kind==="internal"),F));break;default:Y.assertNever(F)}if(!B){let F=si.createUnparsedTextLike(void 0,!1);$f(F,0,typeof r=="function"?r():r),B=[F]}let X=dc.createUnparsedSource(s!=null?s:Bt,void 0,B);return Q_(s,X),Q_(B,X),Q_(g,X),X.hasNoDefaultLib=N,X.helpers=f,X.referencedFiles=x||Bt,X.typeReferenceDirectives=w,X.libReferenceDirectives=A||Bt,X}function WL(e){let t,r;for(let f of e.sections)switch(f.kind){case"internal":case"text":t=tr(t,Rt(si.createUnparsedTextLike(f.data,f.kind==="internal"),f));break;case"no-default-lib":case"reference":case"type":case"type-import":case"type-require":case"lib":r=tr(r,Rt(si.createUnparsedSyntheticReference(f),f));break;case"prologue":case"emitHelpers":case"prepend":break;default:Y.assertNever(f)}let s=si.createUnparsedSource(Bt,r,t!=null?t:Bt);return Q_(r,s),Q_(t,s),s.helpers=Ze(e.sources&&e.sources.helpers,f=>getAllUnscopedEmitHelpers().get(f)),s}function VL(e,t,r,s,f,x){return Ji(e)?A8(void 0,e,r,s,void 0,t,f,x):C8(e,t,r,s,f,x)}function C8(e,t,r,s,f,x,w,A){let g=dc.createInputFiles();g.javascriptPath=t,g.javascriptMapPath=r,g.declarationPath=s,g.declarationMapPath=f,g.buildInfoPath=x;let B=new Map,N=ae=>{if(ae===void 0)return;let Te=B.get(ae);return Te===void 0&&(Te=e(ae),B.set(ae,Te!==void 0?Te:!1)),Te!==!1?Te:void 0},X=ae=>{let Te=N(ae);return Te!==void 0?Te:`/* Input file ${ae} was missing */\r -`},F;return Object.defineProperties(g,{javascriptText:{get:()=>X(t)},javascriptMapText:{get:()=>N(r)},declarationText:{get:()=>X(Y.checkDefined(s))},declarationMapText:{get:()=>N(f)},buildInfo:{get:()=>{var ae,Te;if(F===void 0&&x)if(w!=null&&w.getBuildInfo)F=(ae=w.getBuildInfo(x,A.configFilePath))!=null?ae:!1;else{let Se=N(x);F=Se!==void 0&&(Te=getBuildInfo(x,Se))!=null?Te:!1}return F||void 0}}}),g}function A8(e,t,r,s,f,x,w,A,g,B,N){let X=dc.createInputFiles();return X.javascriptPath=e,X.javascriptText=t,X.javascriptMapPath=r,X.javascriptMapText=s,X.declarationPath=f,X.declarationText=x,X.declarationMapPath=w,X.declarationMapText=A,X.buildInfoPath=g,X.buildInfo=B,X.oldFileOfCurrentEmit=N,X}function HL(e,t,r){return new(D8||(D8=lr.getSourceMapSourceConstructor()))(e,t,r)}function Dn(e,t){if(e.original=t,t){let r=t.emitNode;r&&(e.emitNode=GL(r,e.emitNode))}return e}function GL(e,t){let{flags:r,internalFlags:s,leadingComments:f,trailingComments:x,commentRange:w,sourceMapRange:A,tokenSourceMapRanges:g,constantValue:B,helpers:N,startsOnNewLine:X,snippetElement:F}=e;if(t||(t={}),f&&(t.leadingComments=jr(f.slice(),t.leadingComments)),x&&(t.trailingComments=jr(x.slice(),t.trailingComments)),r&&(t.flags=r),s&&(t.internalFlags=s&-9),w&&(t.commentRange=w),A&&(t.sourceMapRange=A),g&&(t.tokenSourceMapRanges=$L(g,t.tokenSourceMapRanges)),B!==void 0&&(t.constantValue=B),N)for(let $ of N)t.helpers=g_(t.helpers,$);return X!==void 0&&(t.startsOnNewLine=X),F!==void 0&&(t.snippetElement=F),t}function $L(e,t){t||(t=[]);for(let r in e)t[r]=e[r];return t}var Bl,Fv,Bv,Hn,qv,tc,P8,si,D8,KL=D({"src/compiler/factory/nodeFactory.ts"(){"use strict";nn(),Bl=0,Fv=(e=>(e[e.None=0]="None",e[e.NoParenthesizerRules=1]="NoParenthesizerRules",e[e.NoNodeConverters=2]="NoNodeConverters",e[e.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",e[e.NoOriginalNode=8]="NoOriginalNode",e))(Fv||{}),Bv=[],qv={},tc=S8(),P8={createBaseSourceFileNode:e=>Fl(tc.createBaseSourceFileNode(e)),createBaseIdentifierNode:e=>Fl(tc.createBaseIdentifierNode(e)),createBasePrivateIdentifierNode:e=>Fl(tc.createBasePrivateIdentifierNode(e)),createBaseTokenNode:e=>Fl(tc.createBaseTokenNode(e)),createBaseNode:e=>Fl(tc.createBaseNode(e))},si=Zf(4,P8)}}),XL=()=>{},YL=()=>{};function zs(e){return e.kind===8}function Uv(e){return e.kind===9}function Gn(e){return e.kind===10}function td(e){return e.kind===11}function QL(e){return e.kind===13}function k8(e){return e.kind===14}function ZL(e){return e.kind===15}function eR(e){return e.kind===16}function tR(e){return e.kind===17}function rR(e){return e.kind===25}function I8(e){return e.kind===27}function zv(e){return e.kind===39}function Wv(e){return e.kind===40}function nR(e){return e.kind===41}function rd(e){return e.kind===53}function ql(e){return e.kind===57}function iR(e){return e.kind===58}function aR(e){return e.kind===28}function sR(e){return e.kind===38}function yt(e){return e.kind===79}function vn(e){return e.kind===80}function N8(e){return e.kind===93}function oR(e){return e.kind===88}function Ul(e){return e.kind===132}function _R(e){return e.kind===129}function cR(e){return e.kind===133}function O8(e){return e.kind===146}function lR(e){return e.kind===124}function uR(e){return e.kind===126}function pR(e){return e.kind===161}function fR(e){return e.kind===127}function nd(e){return e.kind===106}function M8(e){return e.kind===100}function dR(e){return e.kind===82}function rc(e){return e.kind===163}function Ws(e){return e.kind===164}function Fo(e){return e.kind===165}function Vs(e){return e.kind===166}function zl(e){return e.kind===167}function Wl(e){return e.kind===168}function Bo(e){return e.kind===169}function L8(e){return e.kind===170}function Vl(e){return e.kind===171}function Hl(e){return e.kind===172}function nc(e){return e.kind===173}function Gl(e){return e.kind===174}function ic(e){return e.kind===175}function Vv(e){return e.kind===176}function R8(e){return e.kind===177}function Hv(e){return e.kind===178}function j8(e){return e.kind===179}function ac(e){return e.kind===180}function $l(e){return e.kind===181}function Gv(e){return e.kind===182}function J8(e){return e.kind===183}function id(e){return e.kind===184}function F8(e){return e.kind===185}function B8(e){return e.kind===186}function $v(e){return e.kind===199}function q8(e){return e.kind===187}function U8(e){return e.kind===188}function z8(e){return e.kind===189}function W8(e){return e.kind===190}function V8(e){return e.kind===191}function H8(e){return e.kind===192}function Kv(e){return e.kind===193}function Xv(e){return e.kind===194}function G8(e){return e.kind===195}function $8(e){return e.kind===196}function K8(e){return e.kind===197}function Yv(e){return e.kind===198}function Kl(e){return e.kind===202}function mR(e){return e.kind===201}function hR(e){return e.kind===200}function gR(e){return e.kind===203}function yR(e){return e.kind===204}function Xl(e){return e.kind===205}function Yl(e){return e.kind===206}function Hs(e){return e.kind===207}function bn(e){return e.kind===208}function gs(e){return e.kind===209}function sc(e){return e.kind===210}function X8(e){return e.kind===211}function Y8(e){return e.kind===212}function vR(e){return e.kind===213}function qo(e){return e.kind===214}function ad(e){return e.kind===215}function sd(e){return e.kind===216}function bR(e){return e.kind===217}function TR(e){return e.kind===218}function Qv(e){return e.kind===219}function SR(e){return e.kind===220}function od(e){return e.kind===221}function Q8(e){return e.kind===222}function ur(e){return e.kind===223}function xR(e){return e.kind===224}function ER(e){return e.kind===225}function wR(e){return e.kind===226}function Zv(e){return e.kind===227}function _d(e){return e.kind===228}function cd(e){return e.kind===229}function e2(e){return e.kind===230}function CR(e){return e.kind===231}function AR(e){return e.kind===235}function Uo(e){return e.kind===232}function t2(e){return e.kind===233}function PR(e){return e.kind===234}function Z8(e){return e.kind===356}function oc(e){return e.kind===357}function DR(e){return e.kind===236}function kR(e){return e.kind===237}function Ql(e){return e.kind===238}function zo(e){return e.kind===240}function IR(e){return e.kind===239}function Zl(e){return e.kind===241}function NR(e){return e.kind===242}function OR(e){return e.kind===243}function MR(e){return e.kind===244}function eE(e){return e.kind===245}function LR(e){return e.kind===246}function RR(e){return e.kind===247}function jR(e){return e.kind===248}function JR(e){return e.kind===249}function FR(e){return e.kind===250}function BR(e){return e.kind===251}function qR(e){return e.kind===252}function tE(e){return e.kind===253}function UR(e){return e.kind===254}function zR(e){return e.kind===255}function WR(e){return e.kind===256}function Vi(e){return e.kind===257}function r2(e){return e.kind===258}function Wo(e){return e.kind===259}function _c(e){return e.kind===260}function eu(e){return e.kind===261}function n2(e){return e.kind===262}function i2(e){return e.kind===263}function Ea(e){return e.kind===264}function rE(e){return e.kind===265}function VR(e){return e.kind===266}function a2(e){return e.kind===267}function s2(e){return e.kind===268}function o2(e){return e.kind===269}function HR(e){return e.kind===270}function GR(e){return e.kind===298}function $R(e){return e.kind===296}function KR(e){return e.kind===297}function _2(e){return e.kind===271}function ld(e){return e.kind===277}function XR(e){return e.kind===272}function nE(e){return e.kind===273}function Vo(e){return e.kind===274}function cc(e){return e.kind===275}function iE(e){return e.kind===276}function aE(e){return e.kind===278}function YR(e){return e.kind===279}function c2(e){return e.kind===355}function QR(e){return e.kind===360}function ZR(e){return e.kind===358}function ej(e){return e.kind===359}function ud(e){return e.kind===280}function l2(e){return e.kind===281}function tj(e){return e.kind===282}function tu(e){return e.kind===283}function sE(e){return e.kind===284}function pd(e){return e.kind===285}function u2(e){return e.kind===286}function rj(e){return e.kind===287}function nj(e){return e.kind===288}function p2(e){return e.kind===289}function ij(e){return e.kind===290}function aj(e){return e.kind===291}function sj(e){return e.kind===292}function oE(e){return e.kind===293}function ru(e){return e.kind===294}function oj(e){return e.kind===295}function lc(e){return e.kind===299}function nu(e){return e.kind===300}function _E(e){return e.kind===301}function cE(e){return e.kind===302}function _j(e){return e.kind===304}function wi(e){return e.kind===308}function cj(e){return e.kind===309}function lj(e){return e.kind===310}function lE(e){return e.kind===312}function fd(e){return e.kind===313}function uc(e){return e.kind===314}function uj(e){return e.kind===327}function pj(e){return e.kind===328}function fj(e){return e.kind===329}function dj(e){return e.kind===315}function mj(e){return e.kind===316}function uE(e){return e.kind===317}function hj(e){return e.kind===318}function gj(e){return e.kind===319}function dd(e){return e.kind===320}function yj(e){return e.kind===321}function vj(e){return e.kind===322}function Ho(e){return e.kind===323}function f2(e){return e.kind===325}function iu(e){return e.kind===326}function md(e){return e.kind===331}function bj(e){return e.kind===333}function pE(e){return e.kind===335}function Tj(e){return e.kind===341}function d2(e){return e.kind===336}function m2(e){return e.kind===337}function h2(e){return e.kind===338}function g2(e){return e.kind===339}function fE(e){return e.kind===340}function y2(e){return e.kind===342}function v2(e){return e.kind===334}function Sj(e){return e.kind===350}function dE(e){return e.kind===343}function pc(e){return e.kind===344}function b2(e){return e.kind===345}function mE(e){return e.kind===346}function au(e){return e.kind===347}function Go(e){return e.kind===348}function xj(e){return e.kind===349}function Ej(e){return e.kind===330}function wj(e){return e.kind===351}function hE(e){return e.kind===332}function T2(e){return e.kind===353}function Cj(e){return e.kind===352}function Aj(e){return e.kind===354}var Pj=D({"src/compiler/factory/nodeTests.ts"(){"use strict";nn()}});function Dj(e){return e.createExportDeclaration(void 0,!1,e.createNamedExports([]),void 0)}function hd(e,t,r,s){if(Ws(r))return Rt(e.createElementAccessExpression(t,r.expression),s);{let f=Rt(js(r)?e.createPropertyAccessExpression(t,r):e.createElementAccessExpression(t,r),r);return addEmitFlags(f,128),f}}function S2(e,t){let r=dc.createIdentifier(e||"React");return Sa(r,fl(t)),r}function x2(e,t,r){if(rc(t)){let s=x2(e,t.left,r),f=e.createIdentifier(qr(t.right));return f.escapedText=t.right.escapedText,e.createPropertyAccessExpression(s,f)}else return S2(qr(t),r)}function gE(e,t,r,s){return t?x2(e,t,s):e.createPropertyAccessExpression(S2(r,s),"createElement")}function kj(e,t,r,s){return t?x2(e,t,s):e.createPropertyAccessExpression(S2(r,s),"Fragment")}function Ij(e,t,r,s,f,x){let w=[r];if(s&&w.push(s),f&&f.length>0)if(s||w.push(e.createNull()),f.length>1)for(let A of f)vd(A),w.push(A);else w.push(f[0]);return Rt(e.createCallExpression(t,void 0,w),x)}function Nj(e,t,r,s,f,x,w){let g=[kj(e,r,s,x),e.createNull()];if(f&&f.length>0)if(f.length>1)for(let B of f)vd(B),g.push(B);else g.push(f[0]);return Rt(e.createCallExpression(gE(e,t,s,x),void 0,g),w)}function Oj(e,t,r){if(r2(t)){let s=fo(t.declarations),f=e.updateVariableDeclaration(s,s.name,void 0,void 0,r);return Rt(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[f])),t)}else{let s=Rt(e.createAssignment(t,r),t);return Rt(e.createExpressionStatement(s),t)}}function Mj(e,t,r){return Ql(t)?e.updateBlock(t,Rt(e.createNodeArray([r,...t.statements]),t.statements)):e.createBlock(e.createNodeArray([t,r]),!0)}function yE(e,t){if(rc(t)){let r=yE(e,t.left),s=Sa(Rt(e.cloneNode(t.right),t.right),t.right.parent);return Rt(e.createPropertyAccessExpression(r,s),t)}else return Sa(Rt(e.cloneNode(t),t),t.parent)}function vE(e,t){return yt(t)?e.createStringLiteralFromNode(t):Ws(t)?Sa(Rt(e.cloneNode(t.expression),t.expression),t.expression.parent):Sa(Rt(e.cloneNode(t),t),t.parent)}function Lj(e,t,r,s,f){let{firstAccessor:x,getAccessor:w,setAccessor:A}=W0(t,r);if(r===x)return Rt(e.createObjectDefinePropertyCall(s,vE(e,r.name),e.createPropertyDescriptor({enumerable:e.createFalse(),configurable:!0,get:w&&Rt(Dn(e.createFunctionExpression(sf(w),void 0,void 0,void 0,w.parameters,void 0,w.body),w),w),set:A&&Rt(Dn(e.createFunctionExpression(sf(A),void 0,void 0,void 0,A.parameters,void 0,A.body),A),A)},!f)),x)}function Rj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),t.initializer),t),t)}function jj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),e.cloneNode(t.name)),t),t)}function Jj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),Dn(Rt(e.createFunctionExpression(sf(t),t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t)}function Fj(e,t,r,s){switch(r.name&&vn(r.name)&&Y.failBadSyntaxKind(r.name,"Private identifiers are not allowed in object literals."),r.kind){case 174:case 175:return Lj(e,t.properties,r,s,!!t.multiLine);case 299:return Rj(e,r,s);case 300:return jj(e,r,s);case 171:return Jj(e,r,s)}}function Bj(e,t,r,s,f){let x=t.operator;Y.assert(x===45||x===46,"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");let w=e.createTempVariable(s);r=e.createAssignment(w,r),Rt(r,t.operand);let A=od(t)?e.createPrefixUnaryExpression(x,w):e.createPostfixUnaryExpression(w,x);return Rt(A,t),f&&(A=e.createAssignment(f,A),Rt(A,t)),r=e.createComma(r,A),Rt(r,t),Q8(t)&&(r=e.createComma(r,w),Rt(r,t)),r}function qj(e){return(xi(e)&65536)!==0}function E2(e){return(xi(e)&32768)!==0}function Uj(e){return(xi(e)&16384)!==0}function bE(e){return Gn(e.expression)&&e.expression.text==="use strict"}function TE(e){for(let t of e)if(us(t)){if(bE(t))return t}else break}function SE(e){let t=pa(e);return t!==void 0&&us(t)&&bE(t)}function gd(e){return e.kind===223&&e.operatorToken.kind===27}function zj(e){return gd(e)||oc(e)}function xE(e){return qo(e)&&Pr(e)&&!!_f(e)}function Wj(e){let t=cf(e);return Y.assertIsDefined(t),t}function yd(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;switch(e.kind){case 214:return t&16&&xE(e)?!1:(t&1)!==0;case 213:case 231:case 230:case 235:return(t&2)!==0;case 232:return(t&4)!==0;case 356:return(t&8)!==0}return!1}function $o(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;for(;yd(e,t);)e=e.expression;return e}function Vj(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15,r=e.parent;for(;yd(r,t);)r=r.parent,Y.assert(r);return r}function Hj(e){return $o(e,6)}function vd(e){return setStartsOnNewLine(e,!0)}function EE(e){let t=ul(e,wi),r=t&&t.emitNode;return r&&r.externalHelpersModuleName}function Gj(e){let t=ul(e,wi),r=t&&t.emitNode;return!!r&&(!!r.externalHelpersModuleName||!!r.externalHelpers)}function $j(e,t,r,s,f,x,w){if(s.importHelpers&&Yy(r,s)){let A,g=Ei(s);if(g>=5&&g<=99||r.impliedNodeFormat===99){let B=getEmitHelpers(r);if(B){let N=[];for(let X of B)if(!X.scoped){let F=X.importName;F&&qn(N,F)}if(Ke(N)){N.sort(ri),A=e.createNamedImports(Ze(N,$=>m3(r,$)?e.createImportSpecifier(!1,void 0,e.createIdentifier($)):e.createImportSpecifier(!1,e.createIdentifier($),t.getUnscopedHelperName($))));let X=ul(r,wi),F=getOrCreateEmitNode(X);F.externalHelpers=!0}}}else{let B=wE(e,r,s,f,x||w);B&&(A=e.createNamespaceImport(B))}if(A){let B=e.createImportDeclaration(void 0,e.createImportClause(!1,void 0,A),e.createStringLiteral(Kf),void 0);return addInternalEmitFlags(B,2),B}}}function wE(e,t,r,s,f){if(r.importHelpers&&Yy(t,r)){let x=EE(t);if(x)return x;let w=Ei(r),A=(s||ov(r)&&f)&&w!==4&&(w<5||t.impliedNodeFormat===1);if(!A){let g=getEmitHelpers(t);if(g){for(let B of g)if(!B.scoped){A=!0;break}}}if(A){let g=ul(t,wi),B=getOrCreateEmitNode(g);return B.externalHelpersModuleName||(B.externalHelpersModuleName=e.createUniqueName(Kf))}}}function Kj(e,t,r){let s=Q3(t);if(s&&!Z3(t)&&!b3(t)){let f=s.name;return cs(f)?f:e.createIdentifier(No(r,f)||qr(f))}if(t.kind===269&&t.importClause||t.kind===275&&t.moduleSpecifier)return e.getGeneratedNameForNode(t)}function Xj(e,t,r,s,f,x){let w=E0(t);if(w&&Gn(w))return Qj(t,s,e,f,x)||Yj(e,w,r)||e.cloneNode(w)}function Yj(e,t,r){let s=r.renamedDependencies&&r.renamedDependencies.get(t.text);return s?e.createStringLiteral(s):void 0}function CE(e,t,r,s){if(t){if(t.moduleName)return e.createStringLiteral(t.moduleName);if(!t.isDeclarationFile&&B0(s))return e.createStringLiteral(F0(r,t.fileName))}}function Qj(e,t,r,s,f){return CE(r,s.getExternalModuleFileFromDeclaration(e),t,f)}function AE(e){if(Fy(e))return e.initializer;if(lc(e)){let t=e.initializer;return ms(t,!0)?t.right:void 0}if(nu(e))return e.objectAssignmentInitializer;if(ms(e,!0))return e.right;if(Zv(e))return AE(e.expression)}function Ko(e){if(Fy(e))return e.name;if(jy(e)){switch(e.kind){case 299:return Ko(e.initializer);case 300:return e.name;case 301:return Ko(e.expression)}return}return ms(e,!0)?Ko(e.left):Zv(e)?Ko(e.expression):e}function Zj(e){switch(e.kind){case 166:case 205:return e.dotDotDotToken;case 227:case 301:return e}}function eJ(e){let t=PE(e);return Y.assert(!!t||_E(e),"Invalid property name for binding element."),t}function PE(e){switch(e.kind){case 205:if(e.propertyName){let r=e.propertyName;return vn(r)?Y.failBadSyntaxKind(r):Ws(r)&&DE(r.expression)?r.expression:r}break;case 299:if(e.name){let r=e.name;return vn(r)?Y.failBadSyntaxKind(r):Ws(r)&&DE(r.expression)?r.expression:r}break;case 301:return e.name&&vn(e.name)?Y.failBadSyntaxKind(e.name):e.name}let t=Ko(e);if(t&&vl(t))return t}function DE(e){let t=e.kind;return t===10||t===8}function kE(e){switch(e.kind){case 203:case 204:case 206:return e.elements;case 207:return e.properties}}function w2(e){if(e){let t=e;for(;;){if(yt(t)||!t.body)return yt(t)?t:t.name;t=t.body}}}function tJ(e){let t=e.kind;return t===173||t===175}function IE(e){let t=e.kind;return t===173||t===174||t===175}function rJ(e){let t=e.kind;return t===299||t===300||t===259||t===173||t===178||t===172||t===279||t===240||t===261||t===262||t===263||t===264||t===268||t===269||t===267||t===275||t===274}function nJ(e){let t=e.kind;return t===172||t===299||t===300||t===279||t===267}function iJ(e){return ql(e)||rd(e)}function aJ(e){return yt(e)||Xv(e)}function sJ(e){return O8(e)||zv(e)||Wv(e)}function oJ(e){return ql(e)||zv(e)||Wv(e)}function _J(e){return yt(e)||Gn(e)}function cJ(e){let t=e.kind;return t===104||t===110||t===95||Iy(e)||od(e)}function lJ(e){return e===42}function uJ(e){return e===41||e===43||e===44}function pJ(e){return lJ(e)||uJ(e)}function fJ(e){return e===39||e===40}function dJ(e){return fJ(e)||pJ(e)}function mJ(e){return e===47||e===48||e===49}function hJ(e){return mJ(e)||dJ(e)}function gJ(e){return e===29||e===32||e===31||e===33||e===102||e===101}function yJ(e){return gJ(e)||hJ(e)}function vJ(e){return e===34||e===36||e===35||e===37}function bJ(e){return vJ(e)||yJ(e)}function TJ(e){return e===50||e===51||e===52}function SJ(e){return TJ(e)||bJ(e)}function xJ(e){return e===55||e===56}function EJ(e){return xJ(e)||SJ(e)}function wJ(e){return e===60||EJ(e)||G_(e)}function CJ(e){return wJ(e)||e===27}function AJ(e){return CJ(e.kind)}function PJ(e,t,r,s,f,x){let w=new OE(e,t,r,s,f,x);return A;function A(g,B){let N={value:void 0},X=[Td.enter],F=[g],$=[void 0],ae=0;for(;X[ae]!==Td.done;)ae=X[ae](w,ae,X,F,$,N,B);return Y.assertEqual(ae,0),N.value}}function NE(e){return e===93||e===88}function DJ(e){let t=e.kind;return NE(t)}function kJ(e){let t=e.kind;return Wi(t)&&!NE(t)}function IJ(e,t){if(t!==void 0)return t.length===0?t:Rt(e.createNodeArray([],t.hasTrailingComma),t)}function NJ(e){var t;let r=e.emitNode.autoGenerate;if(r.flags&4){let s=r.id,f=e,x=f.original;for(;x;){f=x;let w=(t=f.emitNode)==null?void 0:t.autoGenerate;if(js(f)&&(w===void 0||w.flags&4&&w.id!==s))break;x=f.original}return f}return e}function C2(e,t){return typeof e=="object"?bd(!1,e.prefix,e.node,e.suffix,t):typeof e=="string"?e.length>0&&e.charCodeAt(0)===35?e.slice(1):e:""}function OJ(e,t){return typeof e=="string"?e:MJ(e,Y.checkDefined(t))}function MJ(e,t){return Ny(e)?t(e).slice(1):cs(e)?t(e):vn(e)?e.escapedText.slice(1):qr(e)}function bd(e,t,r,s,f){return t=C2(t,f),s=C2(s,f),r=OJ(r,f),`${e?"#":""}${t}${r}${s}`}function LJ(e,t,r,s){return e.updatePropertyDeclaration(t,r,e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage"),void 0,void 0,s)}function RJ(e,t,r,s){return e.createGetAccessorDeclaration(r,s,[],void 0,e.createBlock([e.createReturnStatement(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")))]))}function jJ(e,t,r,s){return e.createSetAccessorDeclaration(r,s,[e.createParameterDeclaration(void 0,void 0,"value")],e.createBlock([e.createExpressionStatement(e.createAssignment(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")),e.createIdentifier("value")))]))}function JJ(e){let t=e.expression;for(;;){if(t=$o(t),oc(t)){t=Zn(t.elements);continue}if(gd(t)){t=t.right;continue}if(ms(t,!0)&&cs(t.left))return t;break}}function FJ(e){return qo(e)&&fs(e)&&!e.emitNode}function su(e,t){if(FJ(e))su(e.expression,t);else if(gd(e))su(e.left,t),su(e.right,t);else if(oc(e))for(let r of e.elements)su(r,t);else t.push(e)}function BJ(e){let t=[];return su(e,t),t}function A2(e){if(e.transformFlags&65536)return!0;if(e.transformFlags&128)for(let t of kE(e)){let r=Ko(t);if(r&&KS(r)&&(r.transformFlags&65536||r.transformFlags&128&&A2(r)))return!0}return!1}var Td,OE,qJ=D({"src/compiler/factory/utilities.ts"(){"use strict";nn(),(e=>{function t(N,X,F,$,ae,Te,Se){let Ye=X>0?ae[X-1]:void 0;return Y.assertEqual(F[X],t),ae[X]=N.onEnter($[X],Ye,Se),F[X]=A(N,t),X}e.enter=t;function r(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],r),Y.assertIsDefined(N.onLeft),F[X]=A(N,r);let Ye=N.onLeft($[X].left,ae[X],$[X]);return Ye?(B(X,$,Ye),g(X,F,$,ae,Ye)):X}e.left=r;function s(N,X,F,$,ae,Te,Se){return Y.assertEqual(F[X],s),Y.assertIsDefined(N.onOperator),F[X]=A(N,s),N.onOperator($[X].operatorToken,ae[X],$[X]),X}e.operator=s;function f(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],f),Y.assertIsDefined(N.onRight),F[X]=A(N,f);let Ye=N.onRight($[X].right,ae[X],$[X]);return Ye?(B(X,$,Ye),g(X,F,$,ae,Ye)):X}e.right=f;function x(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],x),F[X]=A(N,x);let Ye=N.onExit($[X],ae[X]);if(X>0){if(X--,N.foldState){let Ne=F[X]===x?"right":"left";ae[X]=N.foldState(ae[X],Ye,Ne)}}else Te.value=Ye;return X}e.exit=x;function w(N,X,F,$,ae,Te,Se){return Y.assertEqual(F[X],w),X}e.done=w;function A(N,X){switch(X){case t:if(N.onLeft)return r;case r:if(N.onOperator)return s;case s:if(N.onRight)return f;case f:return x;case x:return w;case w:return w;default:Y.fail("Invalid state")}}e.nextState=A;function g(N,X,F,$,ae){return N++,X[N]=t,F[N]=ae,$[N]=void 0,N}function B(N,X,F){if(Y.shouldAssert(2))for(;N>=0;)Y.assert(X[N]!==F,"Circular traversal detected."),N--}})(Td||(Td={})),OE=class{constructor(e,t,r,s,f,x){this.onEnter=e,this.onLeft=t,this.onOperator=r,this.onRight=s,this.onExit=f,this.foldState=x}}}});function Rt(e,t){return t?Us(e,t.pos,t.end):e}function fc(e){let t=e.kind;return t===165||t===166||t===168||t===169||t===170||t===171||t===173||t===174||t===175||t===178||t===182||t===215||t===216||t===228||t===240||t===259||t===260||t===261||t===262||t===263||t===264||t===268||t===269||t===274||t===275}function ME(e){let t=e.kind;return t===166||t===169||t===171||t===174||t===175||t===228||t===260}var UJ=D({"src/compiler/factory/utilitiesPublic.ts"(){"use strict";nn()}});function G(e,t){return t&&e(t)}function ze(e,t,r){if(r){if(t)return t(r);for(let s of r){let f=e(s);if(f)return f}}}function LE(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===42&&e.charCodeAt(t+3)!==47}function ou(e){return c(e.statements,zJ)||WJ(e)}function zJ(e){return fc(e)&&VJ(e,93)||s2(e)&&ud(e.moduleReference)||o2(e)||Vo(e)||cc(e)?e:void 0}function WJ(e){return e.flags&4194304?RE(e):void 0}function RE(e){return HJ(e)?e:xr(e,RE)}function VJ(e,t){return Ke(e.modifiers,r=>r.kind===t)}function HJ(e){return t2(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function jE(e,t,r){return ze(t,r,e.typeParameters)||ze(t,r,e.parameters)||G(t,e.type)}function JE(e,t,r){return ze(t,r,e.types)}function FE(e,t,r){return G(t,e.type)}function BE(e,t,r){return ze(t,r,e.elements)}function qE(e,t,r){return G(t,e.expression)||G(t,e.questionDotToken)||ze(t,r,e.typeArguments)||ze(t,r,e.arguments)}function UE(e,t,r){return ze(t,r,e.statements)}function zE(e,t,r){return G(t,e.label)}function WE(e,t,r){return ze(t,r,e.modifiers)||G(t,e.name)||ze(t,r,e.typeParameters)||ze(t,r,e.heritageClauses)||ze(t,r,e.members)}function VE(e,t,r){return ze(t,r,e.elements)}function HE(e,t,r){return G(t,e.propertyName)||G(t,e.name)}function GE(e,t,r){return G(t,e.tagName)||ze(t,r,e.typeArguments)||G(t,e.attributes)}function Xo(e,t,r){return G(t,e.type)}function $E(e,t,r){return G(t,e.tagName)||(e.isNameFirst?G(t,e.name)||G(t,e.typeExpression):G(t,e.typeExpression)||G(t,e.name))||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function Yo(e,t,r){return G(t,e.tagName)||G(t,e.typeExpression)||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function P2(e,t,r){return G(t,e.name)}function Gs(e,t,r){return G(t,e.tagName)||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function GJ(e,t,r){return G(t,e.expression)}function xr(e,t,r){if(e===void 0||e.kind<=162)return;let s=o7[e.kind];return s===void 0?void 0:s(e,t,r)}function D2(e,t,r){let s=KE(e),f=[];for(;f.length=0;--A)s.push(x[A]),f.push(w)}else{let A=t(x,w);if(A){if(A==="skip")continue;return A}if(x.kind>=163)for(let g of KE(x))s.push(g),f.push(x)}}}function KE(e){let t=[];return xr(e,r,r),t;function r(s){t.unshift(s)}}function XE(e){e.externalModuleIndicator=ou(e)}function YE(e,t,r){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,f=arguments.length>4?arguments[4]:void 0;var x,w;(x=rs)==null||x.push(rs.Phase.Parse,"createSourceFile",{path:e},!0),DT("beforeParse");let A;Dp.logStartParseSourceFile(e);let{languageVersion:g,setExternalModuleIndicator:B,impliedNodeFormat:N}=typeof r=="object"?r:{languageVersion:r};if(g===100)A=Ci.parseSourceFile(e,t,g,void 0,s,6,yn);else{let X=N===void 0?B:F=>(F.impliedNodeFormat=N,(B||XE)(F));A=Ci.parseSourceFile(e,t,g,void 0,s,f,X)}return Dp.logStopParseSourceFile(),DT("afterParse"),B5("Parse","beforeParse","afterParse"),(w=rs)==null||w.pop(),A}function $J(e,t){return Ci.parseIsolatedEntityName(e,t)}function KJ(e,t){return Ci.parseJsonText(e,t)}function Qo(e){return e.externalModuleIndicator!==void 0}function k2(e,t,r){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,f=Sd.updateSourceFile(e,t,r,s);return f.flags|=e.flags&6291456,f}function XJ(e,t,r){let s=Ci.JSDocParser.parseIsolatedJSDocComment(e,t,r);return s&&s.jsDoc&&Ci.fixupParentReferences(s.jsDoc),s}function YJ(e,t,r){return Ci.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)}function QE(e){return da(e,Rv)||ns(e,".ts")&&Fi(sl(e),".d.")}function QJ(e,t,r,s){if(e){if(e==="import")return 99;if(e==="require")return 1;s(t,r-t,ve.resolution_mode_should_be_either_require_or_import)}}function ZE(e,t){let r=[];for(let s of Ao(t,0)||Bt){let f=t.substring(s.pos,s.end);eF(r,s,f)}e.pragmas=new Map;for(let s of r){if(e.pragmas.has(s.name)){let f=e.pragmas.get(s.name);f instanceof Array?f.push(s.args):e.pragmas.set(s.name,[f,s.args]);continue}e.pragmas.set(s.name,s.args)}}function e7(e,t){e.checkJsDirective=void 0,e.referencedFiles=[],e.typeReferenceDirectives=[],e.libReferenceDirectives=[],e.amdDependencies=[],e.hasNoDefaultLib=!1,e.pragmas.forEach((r,s)=>{switch(s){case"reference":{let f=e.referencedFiles,x=e.typeReferenceDirectives,w=e.libReferenceDirectives;c(en(r),A=>{let{types:g,lib:B,path:N,["resolution-mode"]:X}=A.arguments;if(A.arguments["no-default-lib"])e.hasNoDefaultLib=!0;else if(g){let F=QJ(X,g.pos,g.end,t);x.push(Object.assign({pos:g.pos,end:g.end,fileName:g.value},F?{resolutionMode:F}:{}))}else B?w.push({pos:B.pos,end:B.end,fileName:B.value}):N?f.push({pos:N.pos,end:N.end,fileName:N.value}):t(A.range.pos,A.range.end-A.range.pos,ve.Invalid_reference_directive_syntax)});break}case"amd-dependency":{e.amdDependencies=Ze(en(r),f=>({name:f.arguments.name,path:f.arguments.path}));break}case"amd-module":{if(r instanceof Array)for(let f of r)e.moduleName&&t(f.range.pos,f.range.end-f.range.pos,ve.An_AMD_module_cannot_have_multiple_name_assignments),e.moduleName=f.arguments.name;else e.moduleName=r.arguments.name;break}case"ts-nocheck":case"ts-check":{c(en(r),f=>{(!e.checkJsDirective||f.range.pos>e.checkJsDirective.pos)&&(e.checkJsDirective={enabled:s==="ts-check",end:f.range.end,pos:f.range.pos})});break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:Y.fail("Unhandled pragma kind")}})}function ZJ(e){if(xd.has(e))return xd.get(e);let t=new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return xd.set(e,t),t}function eF(e,t,r){let s=t.kind===2&&_7.exec(r);if(s){let x=s[1].toLowerCase(),w=Vp[x];if(!w||!(w.kind&1))return;if(w.args){let A={};for(let g of w.args){let N=ZJ(g.name).exec(r);if(!N&&!g.optional)return;if(N){let X=N[2]||N[3];if(g.captureSpan){let F=t.pos+N.index+N[1].length+1;A[g.name]={value:X,pos:F,end:F+X.length}}else A[g.name]=X}}e.push({name:x,args:{arguments:A,range:t}})}else e.push({name:x,args:{arguments:{},range:t}});return}let f=t.kind===2&&c7.exec(r);if(f)return t7(e,t,2,f);if(t.kind===3){let x=/@(\S+)(\s+.*)?$/gim,w;for(;w=x.exec(r);)t7(e,t,4,w)}}function t7(e,t,r,s){if(!s)return;let f=s[1].toLowerCase(),x=Vp[f];if(!x||!(x.kind&r))return;let w=s[2],A=tF(x,w);A!=="fail"&&e.push({name:f,args:{arguments:A,range:t}})}function tF(e,t){if(!t)return{};if(!e.args)return{};let r=Pp(t).split(/\s+/),s={};for(let f=0;fnew(s7||(s7=lr.getSourceFileConstructor()))(e,-1,-1),createBaseIdentifierNode:e=>new(i7||(i7=lr.getIdentifierConstructor()))(e,-1,-1),createBasePrivateIdentifierNode:e=>new(a7||(a7=lr.getPrivateIdentifierConstructor()))(e,-1,-1),createBaseTokenNode:e=>new(n7||(n7=lr.getTokenConstructor()))(e,-1,-1),createBaseNode:e=>new(r7||(r7=lr.getNodeConstructor()))(e,-1,-1)},dc=Zf(1,I2),o7={[163]:function(t,r,s){return G(r,t.left)||G(r,t.right)},[165]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.constraint)||G(r,t.default)||G(r,t.expression)},[300]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.equalsToken)||G(r,t.objectAssignmentInitializer)},[301]:function(t,r,s){return G(r,t.expression)},[166]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.dotDotDotToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)||G(r,t.initializer)},[169]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.type)||G(r,t.initializer)},[168]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)||G(r,t.initializer)},[299]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.initializer)},[257]:function(t,r,s){return G(r,t.name)||G(r,t.exclamationToken)||G(r,t.type)||G(r,t.initializer)},[205]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.propertyName)||G(r,t.name)||G(r,t.initializer)},[178]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[182]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[181]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[176]:jE,[177]:jE,[171]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[170]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[173]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[174]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[175]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[259]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[215]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[216]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.equalsGreaterThanToken)||G(r,t.body)},[172]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.body)},[180]:function(t,r,s){return G(r,t.typeName)||ze(r,s,t.typeArguments)},[179]:function(t,r,s){return G(r,t.assertsModifier)||G(r,t.parameterName)||G(r,t.type)},[183]:function(t,r,s){return G(r,t.exprName)||ze(r,s,t.typeArguments)},[184]:function(t,r,s){return ze(r,s,t.members)},[185]:function(t,r,s){return G(r,t.elementType)},[186]:function(t,r,s){return ze(r,s,t.elements)},[189]:JE,[190]:JE,[191]:function(t,r,s){return G(r,t.checkType)||G(r,t.extendsType)||G(r,t.trueType)||G(r,t.falseType)},[192]:function(t,r,s){return G(r,t.typeParameter)},[202]:function(t,r,s){return G(r,t.argument)||G(r,t.assertions)||G(r,t.qualifier)||ze(r,s,t.typeArguments)},[298]:function(t,r,s){return G(r,t.assertClause)},[193]:FE,[195]:FE,[196]:function(t,r,s){return G(r,t.objectType)||G(r,t.indexType)},[197]:function(t,r,s){return G(r,t.readonlyToken)||G(r,t.typeParameter)||G(r,t.nameType)||G(r,t.questionToken)||G(r,t.type)||ze(r,s,t.members)},[198]:function(t,r,s){return G(r,t.literal)},[199]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)},[203]:BE,[204]:BE,[206]:function(t,r,s){return ze(r,s,t.elements)},[207]:function(t,r,s){return ze(r,s,t.properties)},[208]:function(t,r,s){return G(r,t.expression)||G(r,t.questionDotToken)||G(r,t.name)},[209]:function(t,r,s){return G(r,t.expression)||G(r,t.questionDotToken)||G(r,t.argumentExpression)},[210]:qE,[211]:qE,[212]:function(t,r,s){return G(r,t.tag)||G(r,t.questionDotToken)||ze(r,s,t.typeArguments)||G(r,t.template)},[213]:function(t,r,s){return G(r,t.type)||G(r,t.expression)},[214]:function(t,r,s){return G(r,t.expression)},[217]:function(t,r,s){return G(r,t.expression)},[218]:function(t,r,s){return G(r,t.expression)},[219]:function(t,r,s){return G(r,t.expression)},[221]:function(t,r,s){return G(r,t.operand)},[226]:function(t,r,s){return G(r,t.asteriskToken)||G(r,t.expression)},[220]:function(t,r,s){return G(r,t.expression)},[222]:function(t,r,s){return G(r,t.operand)},[223]:function(t,r,s){return G(r,t.left)||G(r,t.operatorToken)||G(r,t.right)},[231]:function(t,r,s){return G(r,t.expression)||G(r,t.type)},[232]:function(t,r,s){return G(r,t.expression)},[235]:function(t,r,s){return G(r,t.expression)||G(r,t.type)},[233]:function(t,r,s){return G(r,t.name)},[224]:function(t,r,s){return G(r,t.condition)||G(r,t.questionToken)||G(r,t.whenTrue)||G(r,t.colonToken)||G(r,t.whenFalse)},[227]:function(t,r,s){return G(r,t.expression)},[238]:UE,[265]:UE,[308]:function(t,r,s){return ze(r,s,t.statements)||G(r,t.endOfFileToken)},[240]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.declarationList)},[258]:function(t,r,s){return ze(r,s,t.declarations)},[241]:function(t,r,s){return G(r,t.expression)},[242]:function(t,r,s){return G(r,t.expression)||G(r,t.thenStatement)||G(r,t.elseStatement)},[243]:function(t,r,s){return G(r,t.statement)||G(r,t.expression)},[244]:function(t,r,s){return G(r,t.expression)||G(r,t.statement)},[245]:function(t,r,s){return G(r,t.initializer)||G(r,t.condition)||G(r,t.incrementor)||G(r,t.statement)},[246]:function(t,r,s){return G(r,t.initializer)||G(r,t.expression)||G(r,t.statement)},[247]:function(t,r,s){return G(r,t.awaitModifier)||G(r,t.initializer)||G(r,t.expression)||G(r,t.statement)},[248]:zE,[249]:zE,[250]:function(t,r,s){return G(r,t.expression)},[251]:function(t,r,s){return G(r,t.expression)||G(r,t.statement)},[252]:function(t,r,s){return G(r,t.expression)||G(r,t.caseBlock)},[266]:function(t,r,s){return ze(r,s,t.clauses)},[292]:function(t,r,s){return G(r,t.expression)||ze(r,s,t.statements)},[293]:function(t,r,s){return ze(r,s,t.statements)},[253]:function(t,r,s){return G(r,t.label)||G(r,t.statement)},[254]:function(t,r,s){return G(r,t.expression)},[255]:function(t,r,s){return G(r,t.tryBlock)||G(r,t.catchClause)||G(r,t.finallyBlock)},[295]:function(t,r,s){return G(r,t.variableDeclaration)||G(r,t.block)},[167]:function(t,r,s){return G(r,t.expression)},[260]:WE,[228]:WE,[261]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.heritageClauses)||ze(r,s,t.members)},[262]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||G(r,t.type)},[263]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.members)},[302]:function(t,r,s){return G(r,t.name)||G(r,t.initializer)},[264]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.body)},[268]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.moduleReference)},[269]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.importClause)||G(r,t.moduleSpecifier)||G(r,t.assertClause)},[270]:function(t,r,s){return G(r,t.name)||G(r,t.namedBindings)},[296]:function(t,r,s){return ze(r,s,t.elements)},[297]:function(t,r,s){return G(r,t.name)||G(r,t.value)},[267]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)},[271]:function(t,r,s){return G(r,t.name)},[277]:function(t,r,s){return G(r,t.name)},[272]:VE,[276]:VE,[275]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.exportClause)||G(r,t.moduleSpecifier)||G(r,t.assertClause)},[273]:HE,[278]:HE,[274]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.expression)},[225]:function(t,r,s){return G(r,t.head)||ze(r,s,t.templateSpans)},[236]:function(t,r,s){return G(r,t.expression)||G(r,t.literal)},[200]:function(t,r,s){return G(r,t.head)||ze(r,s,t.templateSpans)},[201]:function(t,r,s){return G(r,t.type)||G(r,t.literal)},[164]:function(t,r,s){return G(r,t.expression)},[294]:function(t,r,s){return ze(r,s,t.types)},[230]:function(t,r,s){return G(r,t.expression)||ze(r,s,t.typeArguments)},[280]:function(t,r,s){return G(r,t.expression)},[279]:function(t,r,s){return ze(r,s,t.modifiers)},[357]:function(t,r,s){return ze(r,s,t.elements)},[281]:function(t,r,s){return G(r,t.openingElement)||ze(r,s,t.children)||G(r,t.closingElement)},[285]:function(t,r,s){return G(r,t.openingFragment)||ze(r,s,t.children)||G(r,t.closingFragment)},[282]:GE,[283]:GE,[289]:function(t,r,s){return ze(r,s,t.properties)},[288]:function(t,r,s){return G(r,t.name)||G(r,t.initializer)},[290]:function(t,r,s){return G(r,t.expression)},[291]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.expression)},[284]:function(t,r,s){return G(r,t.tagName)},[187]:Xo,[188]:Xo,[312]:Xo,[318]:Xo,[317]:Xo,[319]:Xo,[321]:Xo,[320]:function(t,r,s){return ze(r,s,t.parameters)||G(r,t.type)},[323]:function(t,r,s){return(typeof t.comment=="string"?void 0:ze(r,s,t.comment))||ze(r,s,t.tags)},[350]:function(t,r,s){return G(r,t.tagName)||G(r,t.name)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[313]:function(t,r,s){return G(r,t.name)},[314]:function(t,r,s){return G(r,t.left)||G(r,t.right)},[344]:$E,[351]:$E,[333]:function(t,r,s){return G(r,t.tagName)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[332]:function(t,r,s){return G(r,t.tagName)||G(r,t.class)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[331]:function(t,r,s){return G(r,t.tagName)||G(r,t.class)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[348]:function(t,r,s){return G(r,t.tagName)||G(r,t.constraint)||ze(r,s,t.typeParameters)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[349]:function(t,r,s){return G(r,t.tagName)||(t.typeExpression&&t.typeExpression.kind===312?G(r,t.typeExpression)||G(r,t.fullName)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment)):G(r,t.fullName)||G(r,t.typeExpression)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment)))},[341]:function(t,r,s){return G(r,t.tagName)||G(r,t.fullName)||G(r,t.typeExpression)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[345]:Yo,[347]:Yo,[346]:Yo,[343]:Yo,[353]:Yo,[352]:Yo,[342]:Yo,[326]:function(t,r,s){return c(t.typeParameters,r)||c(t.parameters,r)||G(r,t.type)},[327]:P2,[328]:P2,[329]:P2,[325]:function(t,r,s){return c(t.jsDocPropertyTags,r)},[330]:Gs,[335]:Gs,[336]:Gs,[337]:Gs,[338]:Gs,[339]:Gs,[334]:Gs,[340]:Gs,[356]:GJ},(e=>{var t=Po(99,!0),r=20480,s,f,x,w,A;function g(u){return oi++,u}var B={createBaseSourceFileNode:u=>g(new A(u,0,0)),createBaseIdentifierNode:u=>g(new x(u,0,0)),createBasePrivateIdentifierNode:u=>g(new w(u,0,0)),createBaseTokenNode:u=>g(new f(u,0,0)),createBaseNode:u=>g(new s(u,0,0))},N=Zf(11,B),{createNodeArray:X,createNumericLiteral:F,createStringLiteral:$,createLiteralLikeNode:ae,createIdentifier:Te,createPrivateIdentifier:Se,createToken:Ye,createArrayLiteralExpression:Ne,createObjectLiteralExpression:oe,createPropertyAccessExpression:Ve,createPropertyAccessChain:pt,createElementAccessExpression:Gt,createElementAccessChain:Nt,createCallExpression:Xt,createCallChain:er,createNewExpression:Tn,createParenthesizedExpression:Hr,createBlock:Gi,createVariableStatement:pn,createExpressionStatement:fn,createIfStatement:Ut,createWhileStatement:kn,createForStatement:an,createForOfStatement:mr,createVariableDeclaration:$i,createVariableDeclarationList:dn}=N,Ur,Gr,_r,Sn,In,pr,Zt,Or,Nn,ar,oi,cr,$r,hr,On,nr,br=!0,Kr=!1;function wa(u,b,O,j){let z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,re=arguments.length>5?arguments[5]:void 0,Ee=arguments.length>6?arguments[6]:void 0;var qe;if(re=Nx(u,re),re===6){let $e=Ki(u,b,O,j,z);return convertToObjectWorker($e,(qe=$e.statements[0])==null?void 0:qe.expression,$e.parseDiagnostics,!1,void 0,void 0),$e.referencedFiles=Bt,$e.typeReferenceDirectives=Bt,$e.libReferenceDirectives=Bt,$e.amdDependencies=Bt,$e.hasNoDefaultLib=!1,$e.pragmas=V1,$e}Mn(u,b,O,j,re);let We=Ca(O,z,re,Ee||XE);return _i(),We}e.parseSourceFile=wa;function $n(u,b){Mn("",u,b,void 0,1),_e();let O=Ys(!0),j=T()===1&&!Zt.length;return _i(),j?O:void 0}e.parseIsolatedEntityName=$n;function Ki(u,b){let O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2,j=arguments.length>3?arguments[3]:void 0,z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;Mn(u,b,O,j,6),Gr=nr,_e();let re=L(),Ee,qe;if(T()===1)Ee=Er([],re,re),qe=sn();else{let lt;for(;T()!==1;){let At;switch(T()){case 22:At=ah();break;case 110:case 95:case 104:At=sn();break;case 40:wt(()=>_e()===8&&_e()!==58)?At=qm():At=Xu();break;case 8:case 10:if(wt(()=>_e()!==58)){At=Di();break}default:At=Xu();break}lt&&ir(lt)?lt.push(At):lt?lt=[lt,At]:(lt=At,T()!==1&&Dt(ve.Unexpected_token))}let Jt=ir(lt)?Q(Ne(lt),re):Y.checkDefined(lt),Lt=fn(Jt);Q(Lt,re),Ee=Er([Lt],re),qe=ea(1,ve.Unexpected_token)}let We=Kt(u,2,6,!1,Ee,qe,Gr,yn);z&&ft(We),We.nodeCount=oi,We.identifierCount=$r,We.identifiers=cr,We.parseDiagnostics=qs(Zt,We),Or&&(We.jsDocDiagnostics=qs(Or,We));let $e=We;return _i(),$e}e.parseJsonText=Ki;function Mn(u,b,O,j,z){switch(s=lr.getNodeConstructor(),f=lr.getTokenConstructor(),x=lr.getIdentifierConstructor(),w=lr.getPrivateIdentifierConstructor(),A=lr.getSourceFileConstructor(),Ur=Un(u),_r=b,Sn=O,Nn=j,In=z,pr=sv(z),Zt=[],hr=0,cr=new Map,$r=0,oi=0,Gr=0,br=!0,In){case 1:case 2:nr=262144;break;case 6:nr=67371008;break;default:nr=0;break}Kr=!1,t.setText(_r),t.setOnError(U),t.setScriptTarget(Sn),t.setLanguageVariant(pr)}function _i(){t.clearCommentDirectives(),t.setText(""),t.setOnError(void 0),_r=void 0,Sn=void 0,Nn=void 0,In=void 0,pr=void 0,Gr=0,Zt=void 0,Or=void 0,hr=0,cr=void 0,On=void 0,br=!0}function Ca(u,b,O,j){let z=QE(Ur);z&&(nr|=16777216),Gr=nr,_e();let re=Kn(0,on);Y.assert(T()===1);let Ee=He(sn()),qe=Kt(Ur,u,O,z,re,Ee,Gr,j);return ZE(qe,_r),e7(qe,We),qe.commentDirectives=t.getCommentDirectives(),qe.nodeCount=oi,qe.identifierCount=$r,qe.identifiers=cr,qe.parseDiagnostics=qs(Zt,qe),Or&&(qe.jsDocDiagnostics=qs(Or,qe)),b&&ft(qe),qe;function We($e,lt,Jt){Zt.push(Ro(Ur,$e,lt,Jt))}}function St(u,b){return b?He(u):u}let ue=!1;function He(u){Y.assert(!u.jsDoc);let b=qt(I3(u,_r),O=>Vh.parseJSDocComment(u,O.pos,O.end-O.pos));return b.length&&(u.jsDoc=b),ue&&(ue=!1,u.flags|=268435456),u}function _t(u){let b=Nn,O=Sd.createSyntaxCursor(u);Nn={currentNode:lt};let j=[],z=Zt;Zt=[];let re=0,Ee=We(u.statements,0);for(;Ee!==-1;){let Jt=u.statements[re],Lt=u.statements[Ee];jr(j,u.statements,re,Ee),re=$e(u.statements,Ee);let At=he(z,Fn=>Fn.start>=Jt.pos),kr=At>=0?he(z,Fn=>Fn.start>=Lt.pos,At):-1;At>=0&&jr(Zt,z,At,kr>=0?kr:void 0),Rn(()=>{let Fn=nr;for(nr|=32768,t.setTextPos(Lt.pos),_e();T()!==1;){let di=t.getStartPos(),Ii=vc(0,on);if(j.push(Ii),di===t.getStartPos()&&_e(),re>=0){let _n=u.statements[re];if(Ii.end===_n.pos)break;Ii.end>_n.pos&&(re=$e(u.statements,re+1))}}nr=Fn},2),Ee=re>=0?We(u.statements,re):-1}if(re>=0){let Jt=u.statements[re];jr(j,u.statements,re);let Lt=he(z,At=>At.start>=Jt.pos);Lt>=0&&jr(Zt,z,Lt)}return Nn=b,N.updateSourceFile(u,Rt(X(j),u.statements));function qe(Jt){return!(Jt.flags&32768)&&!!(Jt.transformFlags&67108864)}function We(Jt,Lt){for(let At=Lt;At116}function kt(){return T()===79?!0:T()===125&&Yi()||T()===133&&xn()?!1:T()>116}function de(u,b){let O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return T()===u?(O&&_e(),!0):(b?Dt(b):Dt(ve._0_expected,Br(u)),!1)}let jn=Object.keys(cl).filter(u=>u.length>2);function Zi(u){var b;if(Y8(u)){Z(Ar(_r,u.template.pos),u.template.end,ve.Module_declaration_names_may_only_use_or_quoted_strings);return}let O=yt(u)?qr(u):void 0;if(!O||!vy(O,Sn)){Dt(ve._0_expected,Br(26));return}let j=Ar(_r,u.pos);switch(O){case"const":case"let":case"var":Z(j,u.end,ve.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":Pa(ve.Interface_name_cannot_be_0,ve.Interface_must_be_given_a_name,18);return;case"is":Z(j,t.getTextPos(),ve.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":Pa(ve.Namespace_name_cannot_be_0,ve.Namespace_must_be_given_a_name,18);return;case"type":Pa(ve.Type_alias_name_cannot_be_0,ve.Type_alias_must_be_given_a_name,63);return}let z=(b=Ep(O,jn,re=>re))!=null?b:e_(O);if(z){Z(j,u.end,ve.Unknown_keyword_or_identifier_Did_you_mean_0,z);return}T()!==0&&Z(j,u.end,ve.Unexpected_keyword_or_identifier)}function Pa(u,b,O){T()===O?Dt(b):Dt(u,t.getTokenValue())}function e_(u){for(let b of jn)if(u.length>b.length+2&&Pn(u,b))return`${b} ${u.slice(b.length)}`}function mc(u,b,O){if(T()===59&&!t.hasPrecedingLineBreak()){Dt(ve.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(T()===20){Dt(ve.Cannot_start_a_function_call_in_a_type_annotation),_e();return}if(b&&!ka()){O?Dt(ve._0_expected,Br(26)):Dt(ve.Expected_for_property_initializer);return}if(!t_()){if(O){Dt(ve._0_expected,Br(26));return}Zi(u)}}function Da(u){return T()===u?(Ge(),!0):(Dt(ve._0_expected,Br(u)),!1)}function Ts(u,b,O,j){if(T()===b){_e();return}let z=Dt(ve._0_expected,Br(b));O&&z&&Rl(z,Ro(Ur,j,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,Br(u),Br(b)))}function Ot(u){return T()===u?(_e(),!0):!1}function dr(u){if(T()===u)return sn()}function Dd(u){if(T()===u)return Id()}function ea(u,b,O){return dr(u)||Jn(u,!1,b||ve._0_expected,O||Br(u))}function kd(u){return Dd(u)||Jn(u,!1,ve._0_expected,Br(u))}function sn(){let u=L(),b=T();return _e(),Q(Ye(b),u)}function Id(){let u=L(),b=T();return Ge(),Q(Ye(b),u)}function ka(){return T()===26?!0:T()===19||T()===1||t.hasPrecedingLineBreak()}function t_(){return ka()?(T()===26&&_e(),!0):!1}function En(){return t_()||de(26)}function Er(u,b,O,j){let z=X(u,j);return Us(z,b,O!=null?O:t.getStartPos()),z}function Q(u,b,O){return Us(u,b,O!=null?O:t.getStartPos()),nr&&(u.flags|=nr),Kr&&(Kr=!1,u.flags|=131072),u}function Jn(u,b,O,j){b?Pi(t.getStartPos(),0,O,j):O&&Dt(O,j);let z=L(),re=u===79?Te("",void 0):yl(u)?N.createTemplateLiteralLikeNode(u,"","",void 0):u===8?F("",void 0):u===10?$("",void 0):u===279?N.createMissingDeclaration():Ye(u);return Q(re,z)}function Ia(u){let b=cr.get(u);return b===void 0&&cr.set(u,b=u),b}function Ss(u,b,O){if(u){$r++;let qe=L(),We=T(),$e=Ia(t.getTokenValue()),lt=t.hasExtendedUnicodeEscape();return it(),Q(Te($e,We,lt),qe)}if(T()===80)return Dt(O||ve.Private_identifiers_are_not_allowed_outside_class_bodies),Ss(!0);if(T()===0&&t.tryScan(()=>t.reScanInvalidIdentifier()===79))return Ss(!0);$r++;let j=T()===1,z=t.isReservedWord(),re=t.getTokenText(),Ee=z?ve.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:ve.Identifier_expected;return Jn(79,j,b||Ee,re)}function hc(u){return Ss(Tt(),void 0,u)}function wr(u,b){return Ss(kt(),u,b)}function zr(u){return Ss(fr(T()),u)}function xs(){return fr(T())||T()===10||T()===8}function Nd(){return fr(T())||T()===10}function R2(u){if(T()===10||T()===8){let b=Di();return b.text=Ia(b.text),b}return u&&T()===22?j2():T()===80?gc():zr()}function Es(){return R2(!0)}function j2(){let u=L();de(22);let b=It(Sr);return de(23),Q(N.createComputedPropertyName(b),u)}function gc(){let u=L(),b=Se(Ia(t.getTokenValue()));return _e(),Q(b,u)}function Ks(u){return T()===u&&Tr(Od)}function uu(){return _e(),t.hasPrecedingLineBreak()?!1:ta()}function Od(){switch(T()){case 85:return _e()===92;case 93:return _e(),T()===88?wt(Ld):T()===154?wt(J2):r_();case 88:return Ld();case 124:case 137:case 151:return _e(),ta();default:return uu()}}function r_(){return T()===59||T()!==41&&T()!==128&&T()!==18&&ta()}function J2(){return _e(),r_()}function Md(){return Wi(T())&&Tr(Od)}function ta(){return T()===22||T()===18||T()===41||T()===25||xs()}function Ld(){return _e(),T()===84||T()===98||T()===118||T()===59||T()===126&&wt(gh)||T()===132&&wt(yh)}function Xs(u,b){if(mu(u))return!0;switch(u){case 0:case 1:case 3:return!(T()===26&&b)&&vh();case 2:return T()===82||T()===88;case 4:return wt(om);case 5:return wt(Jb)||T()===26&&!b;case 6:return T()===22||xs();case 12:switch(T()){case 22:case 41:case 25:case 24:return!0;default:return xs()}case 18:return xs();case 9:return T()===22||T()===25||xs();case 24:return Nd();case 7:return T()===18?wt(Rd):b?kt()&&!fu():Fu()&&!fu();case 8:return tp();case 10:return T()===27||T()===25||tp();case 19:return T()===101||T()===85||kt();case 15:switch(T()){case 27:case 24:return!0}case 11:return T()===25||La();case 16:return Ec(!1);case 17:return Ec(!0);case 20:case 21:return T()===27||eo();case 22:return Oc();case 23:return fr(T());case 13:return fr(T())||T()===18;case 14:return!0}return Y.fail("Non-exhaustive case in 'isListElement'.")}function Rd(){if(Y.assert(T()===18),_e()===19){let u=_e();return u===27||u===18||u===94||u===117}return!0}function yc(){return _e(),kt()}function pu(){return _e(),fr(T())}function F2(){return _e(),qT(T())}function fu(){return T()===117||T()===94?wt(jd):!1}function jd(){return _e(),La()}function Jd(){return _e(),eo()}function Na(u){if(T()===1)return!0;switch(u){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return T()===19;case 3:return T()===19||T()===82||T()===88;case 7:return T()===18||T()===94||T()===117;case 8:return B2();case 19:return T()===31||T()===20||T()===18||T()===94||T()===117;case 11:return T()===21||T()===26;case 15:case 21:case 10:return T()===23;case 17:case 16:case 18:return T()===21||T()===23;case 20:return T()!==27;case 22:return T()===18||T()===19;case 13:return T()===31||T()===43;case 14:return T()===29&&wt(Xb);default:return!1}}function B2(){return!!(ka()||jm(T())||T()===38)}function du(){for(let u=0;u<25;u++)if(hr&1<=0)}function z2(u){return u===6?ve.An_enum_member_name_must_be_followed_by_a_or:void 0}function ui(){let u=Er([],L());return u.isMissingList=!0,u}function W2(u){return!!u.isMissingList}function Oa(u,b,O,j){if(de(O)){let z=mn(u,b);return de(j),z}return ui()}function Ys(u,b){let O=L(),j=u?zr(b):wr(b);for(;Ot(24)&&T()!==29;)j=Q(N.createQualifiedName(j,bc(u,!1)),O);return j}function Tu(u,b){return Q(N.createQualifiedName(u,b),u.pos)}function bc(u,b){if(t.hasPrecedingLineBreak()&&fr(T())&&wt(Qu))return Jn(79,!0,ve.Identifier_expected);if(T()===80){let O=gc();return b?O:Jn(79,!0,ve.Identifier_expected)}return u?zr():wr()}function Su(u){let b=L(),O=[],j;do j=H2(u),O.push(j);while(j.literal.kind===16);return Er(O,b)}function Wd(u){let b=L();return Q(N.createTemplateExpression(Hd(u),Su(u)),b)}function xu(){let u=L();return Q(N.createTemplateLiteralType(Hd(!1),Vd()),u)}function Vd(){let u=L(),b=[],O;do O=V2(),b.push(O);while(O.literal.kind===16);return Er(b,u)}function V2(){let u=L();return Q(N.createTemplateLiteralTypeSpan(sr(),Eu(!1)),u)}function Eu(u){return T()===19?(Yt(u),Tc()):ea(17,ve._0_expected,Br(19))}function H2(u){let b=L();return Q(N.createTemplateSpan(It(Sr),Eu(u)),b)}function Di(){return n_(T())}function Hd(u){u&&$t();let b=n_(T());return Y.assert(b.kind===15,"Template head has wrong token kind"),b}function Tc(){let u=n_(T());return Y.assert(u.kind===16||u.kind===17,"Template fragment has wrong token kind"),u}function Gd(u){let b=u===14||u===17,O=t.getTokenText();return O.substring(1,O.length-(t.isUnterminated()?0:b?1:2))}function n_(u){let b=L(),O=yl(u)?N.createTemplateLiteralLikeNode(u,t.getTokenValue(),Gd(u),t.getTokenFlags()&2048):u===8?F(t.getTokenValue(),t.getNumericLiteralFlags()):u===10?$(t.getTokenValue(),void 0,t.hasExtendedUnicodeEscape()):ky(u)?ae(u,t.getTokenValue()):Y.fail();return t.hasExtendedUnicodeEscape()&&(O.hasExtendedUnicodeEscape=!0),t.isUnterminated()&&(O.isUnterminated=!0),_e(),Q(O,b)}function wu(){return Ys(!0,ve.Type_expected)}function Qs(){if(!t.hasPrecedingLineBreak()&&Wt()===29)return Oa(20,sr,29,31)}function Sc(){let u=L();return Q(N.createTypeReferenceNode(wu(),Qs()),u)}function Cu(u){switch(u.kind){case 180:return va(u.typeName);case 181:case 182:{let{parameters:b,type:O}=u;return W2(b)||Cu(O)}case 193:return Cu(u.type);default:return!1}}function G2(u){return _e(),Q(N.createTypePredicateNode(void 0,u,sr()),u.pos)}function $d(){let u=L();return _e(),Q(N.createThisTypeNode(),u)}function Kd(){let u=L();return _e(),Q(N.createJSDocAllType(),u)}function $2(){let u=L();return _e(),Q(N.createJSDocNonNullableType(Lu(),!1),u)}function Xd(){let u=L();return _e(),T()===27||T()===19||T()===21||T()===31||T()===63||T()===51?Q(N.createJSDocUnknownType(),u):Q(N.createJSDocNullableType(sr(),!1),u)}function K2(){let u=L(),b=fe();if(wt(qh)){_e();let O=ra(36),j=pi(58,!1);return St(Q(N.createJSDocFunctionType(O,j),u),b)}return Q(N.createTypeReferenceNode(zr(),void 0),u)}function Yd(){let u=L(),b;return(T()===108||T()===103)&&(b=zr(),de(58)),Q(N.createParameterDeclaration(void 0,void 0,b,void 0,xc(),void 0),u)}function xc(){t.setInJSDocType(!0);let u=L();if(Ot(142)){let j=N.createJSDocNamepathType(void 0);e:for(;;)switch(T()){case 19:case 1:case 27:case 5:break e;default:Ge()}return t.setInJSDocType(!1),Q(j,u)}let b=Ot(25),O=Ju();return t.setInJSDocType(!1),b&&(O=Q(N.createJSDocVariadicType(O),u)),T()===63?(_e(),Q(N.createJSDocOptionalType(O),u)):O}function X2(){let u=L();de(112);let b=Ys(!0),O=t.hasPrecedingLineBreak()?void 0:Nc();return Q(N.createTypeQueryNode(b,O),u)}function Qd(){let u=L(),b=ki(!1,!0),O=wr(),j,z;Ot(94)&&(eo()||!La()?j=sr():z=Wu());let re=Ot(63)?sr():void 0,Ee=N.createTypeParameterDeclaration(b,O,j,re);return Ee.expression=z,Q(Ee,u)}function Xn(){if(T()===29)return Oa(19,Qd,29,31)}function Ec(u){return T()===25||tp()||Wi(T())||T()===59||eo(!u)}function Zd(u){let b=no(ve.Private_identifiers_cannot_be_used_as_parameters);return hf(b)===0&&!Ke(u)&&Wi(T())&&_e(),b}function em(){return Tt()||T()===22||T()===18}function Au(u){return Pu(u)}function tm(u){return Pu(u,!1)}function Pu(u){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,O=L(),j=fe(),z=u?Xi(()=>ki(!0)):Aa(()=>ki(!0));if(T()===108){let We=N.createParameterDeclaration(z,void 0,Ss(!0),void 0,Ma(),void 0),$e=pa(z);return $e&&ie($e,ve.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),St(Q(We,O),j)}let re=br;br=!1;let Ee=dr(25);if(!b&&!em())return;let qe=St(Q(N.createParameterDeclaration(z,Ee,Zd(z),dr(57),Ma(),Ra()),O),j);return br=re,qe}function pi(u,b){if(rm(u,b))return gr(Ju)}function rm(u,b){return u===38?(de(u),!0):Ot(58)?!0:b&&T()===38?(Dt(ve._0_expected,Br(58)),_e(),!0):!1}function wc(u,b){let O=Yi(),j=xn();Le(!!(u&1)),ot(!!(u&2));let z=u&32?mn(17,Yd):mn(16,()=>b?Au(j):tm(j));return Le(O),ot(j),z}function ra(u){if(!de(20))return ui();let b=wc(u,!0);return de(21),b}function i_(){Ot(27)||En()}function nm(u){let b=L(),O=fe();u===177&&de(103);let j=Xn(),z=ra(4),re=pi(58,!0);i_();let Ee=u===176?N.createCallSignature(j,z,re):N.createConstructSignature(j,z,re);return St(Q(Ee,b),O)}function im(){return T()===22&&wt(Zs)}function Zs(){if(_e(),T()===25||T()===23)return!0;if(Wi(T())){if(_e(),kt())return!0}else if(kt())_e();else return!1;return T()===58||T()===27?!0:T()!==57?!1:(_e(),T()===58||T()===27||T()===23)}function am(u,b,O){let j=Oa(16,()=>Au(!1),22,23),z=Ma();i_();let re=N.createIndexSignature(O,j,z);return St(Q(re,u),b)}function sm(u,b,O){let j=Es(),z=dr(57),re;if(T()===20||T()===29){let Ee=Xn(),qe=ra(4),We=pi(58,!0);re=N.createMethodSignature(O,j,z,Ee,qe,We)}else{let Ee=Ma();re=N.createPropertySignature(O,j,z,Ee),T()===63&&(re.initializer=Ra())}return i_(),St(Q(re,u),b)}function om(){if(T()===20||T()===29||T()===137||T()===151)return!0;let u=!1;for(;Wi(T());)u=!0,_e();return T()===22?!0:(xs()&&(u=!0,_e()),u?T()===20||T()===29||T()===57||T()===58||T()===27||ka():!1)}function Du(){if(T()===20||T()===29)return nm(176);if(T()===103&&wt(a_))return nm(177);let u=L(),b=fe(),O=ki(!1);return Ks(137)?Fa(u,b,O,174,4):Ks(151)?Fa(u,b,O,175,4):im()?am(u,b,O):sm(u,b,O)}function a_(){return _e(),T()===20||T()===29}function Y2(){return _e()===24}function ku(){switch(_e()){case 20:case 29:case 24:return!0}return!1}function Q2(){let u=L();return Q(N.createTypeLiteralNode(Iu()),u)}function Iu(){let u;return de(18)?(u=Kn(4,Du),de(19)):u=ui(),u}function Z2(){return _e(),T()===39||T()===40?_e()===146:(T()===146&&_e(),T()===22&&yc()&&_e()===101)}function _m(){let u=L(),b=zr();de(101);let O=sr();return Q(N.createTypeParameterDeclaration(void 0,b,O,void 0),u)}function eb(){let u=L();de(18);let b;(T()===146||T()===39||T()===40)&&(b=sn(),b.kind!==146&&de(146)),de(22);let O=_m(),j=Ot(128)?sr():void 0;de(23);let z;(T()===57||T()===39||T()===40)&&(z=sn(),z.kind!==57&&de(57));let re=Ma();En();let Ee=Kn(4,Du);return de(19),Q(N.createMappedTypeNode(b,O,j,z,re,Ee),u)}function Nu(){let u=L();if(Ot(25))return Q(N.createRestTypeNode(sr()),u);let b=sr();if(uE(b)&&b.pos===b.type.pos){let O=N.createOptionalTypeNode(b.type);return Rt(O,b),O.flags=b.flags,O}return b}function cm(){return _e()===58||T()===57&&_e()===58}function lm(){return T()===25?fr(_e())&&cm():fr(T())&&cm()}function tb(){if(wt(lm)){let u=L(),b=fe(),O=dr(25),j=zr(),z=dr(57);de(58);let re=Nu(),Ee=N.createNamedTupleMember(O,j,z,re);return St(Q(Ee,u),b)}return Nu()}function um(){let u=L();return Q(N.createTupleTypeNode(Oa(21,tb,22,23)),u)}function rb(){let u=L();de(20);let b=sr();return de(21),Q(N.createParenthesizedType(b),u)}function pm(){let u;if(T()===126){let b=L();_e();let O=Q(Ye(126),b);u=Er([O],b)}return u}function fm(){let u=L(),b=fe(),O=pm(),j=Ot(103);Y.assert(!O||j,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");let z=Xn(),re=ra(4),Ee=pi(38,!1),qe=j?N.createConstructorTypeNode(O,z,re,Ee):N.createFunctionTypeNode(z,re,Ee);return St(Q(qe,u),b)}function Ou(){let u=sn();return T()===24?void 0:u}function dm(u){let b=L();u&&_e();let O=T()===110||T()===95||T()===104?sn():n_(T());return u&&(O=Q(N.createPrefixUnaryExpression(40,O),b)),Q(N.createLiteralTypeNode(O),b)}function mm(){return _e(),T()===100}function nb(){let u=L(),b=t.getTokenPos();de(18);let O=t.hasPrecedingLineBreak();de(130),de(58);let j=_p(!0);if(!de(19)){let z=Cn(Zt);z&&z.code===ve._0_expected.code&&Rl(z,Ro(Ur,b,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(N.createImportTypeAssertionContainer(j,O),u)}function Mu(){Gr|=2097152;let u=L(),b=Ot(112);de(100),de(20);let O=sr(),j;Ot(27)&&(j=nb()),de(21);let z=Ot(24)?wu():void 0,re=Qs();return Q(N.createImportTypeNode(O,j,z,re,b),u)}function hm(){return _e(),T()===8||T()===9}function Lu(){switch(T()){case 131:case 157:case 152:case 148:case 160:case 153:case 134:case 155:case 144:case 149:return Tr(Ou)||Sc();case 66:t.reScanAsteriskEqualsToken();case 41:return Kd();case 60:t.reScanQuestionToken();case 57:return Xd();case 98:return K2();case 53:return $2();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return dm();case 40:return wt(hm)?dm(!0):Sc();case 114:return sn();case 108:{let u=$d();return T()===140&&!t.hasPrecedingLineBreak()?G2(u):u}case 112:return wt(mm)?Mu():X2();case 18:return wt(Z2)?eb():Q2();case 22:return um();case 20:return rb();case 100:return Mu();case 129:return wt(Qu)?Cm():Sc();case 15:return xu();default:return Sc()}}function eo(u){switch(T()){case 131:case 157:case 152:case 148:case 160:case 134:case 146:case 153:case 156:case 114:case 155:case 104:case 108:case 112:case 144:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 149:case 41:case 57:case 53:case 25:case 138:case 100:case 129:case 14:case 15:return!0;case 98:return!u;case 40:return!u&&wt(hm);case 20:return!u&&wt(gm);default:return kt()}}function gm(){return _e(),T()===21||Ec(!1)||eo()}function ym(){let u=L(),b=Lu();for(;!t.hasPrecedingLineBreak();)switch(T()){case 53:_e(),b=Q(N.createJSDocNonNullableType(b,!0),u);break;case 57:if(wt(Jd))return b;_e(),b=Q(N.createJSDocNullableType(b,!0),u);break;case 22:if(de(22),eo()){let O=sr();de(23),b=Q(N.createIndexedAccessTypeNode(b,O),u)}else de(23),b=Q(N.createArrayTypeNode(b),u);break;default:return b}return b}function vm(u){let b=L();return de(u),Q(N.createTypeOperatorNode(u,Tm()),b)}function ib(){if(Ot(94)){let u=Ln(sr);if(bs()||T()!==57)return u}}function bm(){let u=L(),b=wr(),O=Tr(ib),j=N.createTypeParameterDeclaration(void 0,b,O);return Q(j,u)}function ab(){let u=L();return de(138),Q(N.createInferTypeNode(bm()),u)}function Tm(){let u=T();switch(u){case 141:case 156:case 146:return vm(u);case 138:return ab()}return gr(ym)}function Cc(u){if(ju()){let b=fm(),O;return $l(b)?O=u?ve.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:ve.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:O=u?ve.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:ve.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,ie(b,O),b}}function Sm(u,b,O){let j=L(),z=u===51,re=Ot(u),Ee=re&&Cc(z)||b();if(T()===u||re){let qe=[Ee];for(;Ot(u);)qe.push(Cc(z)||b());Ee=Q(O(Er(qe,j)),j)}return Ee}function Ru(){return Sm(50,Tm,N.createIntersectionTypeNode)}function sb(){return Sm(51,Ru,N.createUnionTypeNode)}function xm(){return _e(),T()===103}function ju(){return T()===29||T()===20&&wt(Em)?!0:T()===103||T()===126&&wt(xm)}function ob(){if(Wi(T())&&ki(!1),kt()||T()===108)return _e(),!0;if(T()===22||T()===18){let u=Zt.length;return no(),u===Zt.length}return!1}function Em(){return _e(),!!(T()===21||T()===25||ob()&&(T()===58||T()===27||T()===57||T()===63||T()===21&&(_e(),T()===38)))}function Ju(){let u=L(),b=kt()&&Tr(wm),O=sr();return b?Q(N.createTypePredicateNode(void 0,b,O),u):O}function wm(){let u=wr();if(T()===140&&!t.hasPrecedingLineBreak())return _e(),u}function Cm(){let u=L(),b=ea(129),O=T()===108?$d():wr(),j=Ot(140)?sr():void 0;return Q(N.createTypePredicateNode(b,O,j),u)}function sr(){if(nr&40960)return Ct(40960,sr);if(ju())return fm();let u=L(),b=sb();if(!bs()&&!t.hasPrecedingLineBreak()&&Ot(94)){let O=Ln(sr);de(57);let j=gr(sr);de(58);let z=gr(sr);return Q(N.createConditionalTypeNode(b,O,j,z),u)}return b}function Ma(){return Ot(58)?sr():void 0}function Fu(){switch(T()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return wt(ku);default:return kt()}}function La(){if(Fu())return!0;switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 133:case 125:case 80:case 59:return!0;default:return Jm()?!0:kt()}}function Am(){return T()!==18&&T()!==98&&T()!==84&&T()!==59&&La()}function Sr(){let u=Ai();u&&Re(!1);let b=L(),O=Yr(!0),j;for(;j=dr(27);)O=Uu(O,j,Yr(!0),b);return u&&Re(!0),O}function Ra(){return Ot(63)?Yr(!0):void 0}function Yr(u){if(Pm())return Dm();let b=cb(u)||Mm(u);if(b)return b;let O=L(),j=s_(0);return j.kind===79&&T()===38?km(O,j,u,void 0):Do(j)&&G_(bt())?Uu(j,sn(),Yr(u),O):lb(j,O,u)}function Pm(){return T()===125?Yi()?!0:wt(Zu):!1}function _b(){return _e(),!t.hasPrecedingLineBreak()&&kt()}function Dm(){let u=L();return _e(),!t.hasPrecedingLineBreak()&&(T()===41||La())?Q(N.createYieldExpression(dr(41),Yr(!0)),u):Q(N.createYieldExpression(void 0,void 0),u)}function km(u,b,O,j){Y.assert(T()===38,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");let z=N.createParameterDeclaration(void 0,void 0,b,void 0,void 0,void 0);Q(z,b.pos);let re=Er([z],z.pos,z.end),Ee=ea(38),qe=Bu(!!j,O),We=N.createArrowFunction(j,void 0,re,void 0,Ee,qe);return He(Q(We,u))}function cb(u){let b=Im();if(b!==0)return b===1?Rm(!0,!0):Tr(()=>Om(u))}function Im(){return T()===20||T()===29||T()===132?wt(Nm):T()===38?1:0}function Nm(){if(T()===132&&(_e(),t.hasPrecedingLineBreak()||T()!==20&&T()!==29))return 0;let u=T(),b=_e();if(u===20){if(b===21)switch(_e()){case 38:case 58:case 18:return 1;default:return 0}if(b===22||b===18)return 2;if(b===25)return 1;if(Wi(b)&&b!==132&&wt(yc))return _e()===128?0:1;if(!kt()&&b!==108)return 0;switch(_e()){case 58:return 1;case 57:return _e(),T()===58||T()===27||T()===63||T()===21?1:0;case 27:case 63:case 21:return 2}return 0}else return Y.assert(u===29),!kt()&&T()!==85?0:pr===1?wt(()=>{Ot(85);let j=_e();if(j===94)switch(_e()){case 63:case 31:case 43:return!1;default:return!0}else if(j===27||j===63)return!0;return!1})?1:0:2}function Om(u){let b=t.getTokenPos();if(On!=null&&On.has(b))return;let O=Rm(!1,u);return O||(On||(On=new Set)).add(b),O}function Mm(u){if(T()===132&&wt(Lm)===1){let b=L(),O=sp(),j=s_(0);return km(b,j,u,O)}}function Lm(){if(T()===132){if(_e(),t.hasPrecedingLineBreak()||T()===38)return 0;let u=s_(0);if(!t.hasPrecedingLineBreak()&&u.kind===79&&T()===38)return 1}return 0}function Rm(u,b){let O=L(),j=fe(),z=sp(),re=Ke(z,Ul)?2:0,Ee=Xn(),qe;if(de(20)){if(u)qe=wc(re,u);else{let di=wc(re,u);if(!di)return;qe=di}if(!de(21)&&!u)return}else{if(!u)return;qe=ui()}let We=T()===58,$e=pi(58,!1);if($e&&!u&&Cu($e))return;let lt=$e;for(;(lt==null?void 0:lt.kind)===193;)lt=lt.type;let Jt=lt&&dd(lt);if(!u&&T()!==38&&(Jt||T()!==18))return;let Lt=T(),At=ea(38),kr=Lt===38||Lt===18?Bu(Ke(z,Ul),b):wr();if(!b&&We&&T()!==58)return;let Fn=N.createArrowFunction(z,Ee,qe,$e,At,kr);return St(Q(Fn,O),j)}function Bu(u,b){if(T()===18)return Dc(u?2:0);if(T()!==26&&T()!==98&&T()!==84&&vh()&&!Am())return Dc(16|(u?2:0));let O=br;br=!1;let j=u?Xi(()=>Yr(b)):Aa(()=>Yr(b));return br=O,j}function lb(u,b,O){let j=dr(57);if(!j)return u;let z;return Q(N.createConditionalExpression(u,j,Ct(r,()=>Yr(!1)),z=ea(58),xl(z)?Yr(O):Jn(79,!1,ve._0_expected,Br(58))),b)}function s_(u){let b=L(),O=Wu();return qu(u,O,b)}function jm(u){return u===101||u===162}function qu(u,b,O){for(;;){bt();let j=Dl(T());if(!(T()===42?j>=u:j>u)||T()===101&&Qi())break;if(T()===128||T()===150){if(t.hasPrecedingLineBreak())break;{let re=T();_e(),b=re===150?Fm(b,sr()):Bm(b,sr())}}else b=Uu(b,sn(),s_(j),O)}return b}function Jm(){return Qi()&&T()===101?!1:Dl(T())>0}function Fm(u,b){return Q(N.createSatisfiesExpression(u,b),u.pos)}function Uu(u,b,O,j){return Q(N.createBinaryExpression(u,b,O),j)}function Bm(u,b){return Q(N.createAsExpression(u,b),u.pos)}function qm(){let u=L();return Q(N.createPrefixUnaryExpression(T(),mt(na)),u)}function Um(){let u=L();return Q(N.createDeleteExpression(mt(na)),u)}function ub(){let u=L();return Q(N.createTypeOfExpression(mt(na)),u)}function zm(){let u=L();return Q(N.createVoidExpression(mt(na)),u)}function pb(){return T()===133?xn()?!0:wt(Zu):!1}function zu(){let u=L();return Q(N.createAwaitExpression(mt(na)),u)}function Wu(){if(Wm()){let O=L(),j=Vm();return T()===42?qu(Dl(T()),j,O):j}let u=T(),b=na();if(T()===42){let O=Ar(_r,b.pos),{end:j}=b;b.kind===213?Z(O,j,ve.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):Z(O,j,ve.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,Br(u))}return b}function na(){switch(T()){case 39:case 40:case 54:case 53:return qm();case 89:return Um();case 112:return ub();case 114:return zm();case 29:return pr===1?o_(!0):Zm();case 133:if(pb())return zu();default:return Vm()}}function Wm(){switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 133:return!1;case 29:if(pr!==1)return!1;default:return!0}}function Vm(){if(T()===45||T()===46){let b=L();return Q(N.createPrefixUnaryExpression(T(),mt(to)),b)}else if(pr===1&&T()===29&&wt(F2))return o_(!0);let u=to();if(Y.assert(Do(u)),(T()===45||T()===46)&&!t.hasPrecedingLineBreak()){let b=T();return _e(),Q(N.createPostfixUnaryExpression(u,b),u.pos)}return u}function to(){let u=L(),b;return T()===100?wt(a_)?(Gr|=2097152,b=sn()):wt(Y2)?(_e(),_e(),b=Q(N.createMetaProperty(100,zr()),u),Gr|=4194304):b=Hm():b=T()===106?Vu():Hm(),$u(u,b)}function Hm(){let u=L(),b=Ku();return Ja(u,b,!0)}function Vu(){let u=L(),b=sn();if(T()===29){let O=L(),j=Tr(Pc);j!==void 0&&(Z(O,L(),ve.super_may_not_use_type_arguments),__()||(b=N.createExpressionWithTypeArguments(b,j)))}return T()===20||T()===24||T()===22?b:(ea(24,ve.super_must_be_followed_by_an_argument_list_or_member_access),Q(Ve(b,bc(!0,!0)),u))}function o_(u,b,O){let j=L(),z=Km(u),re;if(z.kind===283){let Ee=$m(z),qe,We=Ee[Ee.length-1];if((We==null?void 0:We.kind)===281&&!Hi(We.openingElement.tagName,We.closingElement.tagName)&&Hi(z.tagName,We.closingElement.tagName)){let $e=We.children.end,lt=Q(N.createJsxElement(We.openingElement,We.children,Q(N.createJsxClosingElement(Q(Te(""),$e,$e)),$e,$e)),We.openingElement.pos,$e);Ee=Er([...Ee.slice(0,Ee.length-1),lt],Ee.pos,$e),qe=We.closingElement}else qe=Qm(z,u),Hi(z.tagName,qe.tagName)||(O&&tu(O)&&Hi(qe.tagName,O.tagName)?ie(z.tagName,ve.JSX_element_0_has_no_corresponding_closing_tag,B_(_r,z.tagName)):ie(qe.tagName,ve.Expected_corresponding_JSX_closing_tag_for_0,B_(_r,z.tagName)));re=Q(N.createJsxElement(z,Ee,qe),j)}else z.kind===286?re=Q(N.createJsxFragment(z,$m(z),gb(u)),j):(Y.assert(z.kind===282),re=z);if(u&&T()===29){let Ee=typeof b>"u"?re.pos:b,qe=Tr(()=>o_(!0,Ee));if(qe){let We=Jn(27,!1);return $f(We,qe.pos,0),Z(Ar(_r,Ee),qe.end,ve.JSX_expressions_must_have_one_parent_element),Q(N.createBinaryExpression(re,We,qe),j)}}return re}function fb(){let u=L(),b=N.createJsxText(t.getTokenValue(),ar===12);return ar=t.scanJsxToken(),Q(b,u)}function Gm(u,b){switch(b){case 1:if(u2(u))ie(u,ve.JSX_fragment_has_no_corresponding_closing_tag);else{let O=u.tagName,j=Ar(_r,O.pos);Z(j,O.end,ve.JSX_element_0_has_no_corresponding_closing_tag,B_(_r,u.tagName))}return;case 30:case 7:return;case 11:case 12:return fb();case 18:return Xm(!1);case 29:return o_(!1,void 0,u);default:return Y.assertNever(b)}}function $m(u){let b=[],O=L(),j=hr;for(hr|=1<<14;;){let z=Gm(u,ar=t.reScanJsxToken());if(!z||(b.push(z),tu(u)&&(z==null?void 0:z.kind)===281&&!Hi(z.openingElement.tagName,z.closingElement.tagName)&&Hi(u.tagName,z.closingElement.tagName)))break}return hr=j,Er(b,O)}function db(){let u=L();return Q(N.createJsxAttributes(Kn(13,mb)),u)}function Km(u){let b=L();if(de(29),T()===31)return Lr(),Q(N.createJsxOpeningFragment(),b);let O=Ac(),j=nr&262144?void 0:Nc(),z=db(),re;return T()===31?(Lr(),re=N.createJsxOpeningElement(O,j,z)):(de(43),de(31,void 0,!1)&&(u?_e():Lr()),re=N.createJsxSelfClosingElement(O,j,z)),Q(re,b)}function Ac(){let u=L();Dr();let b=T()===108?sn():zr();for(;Ot(24);)b=Q(Ve(b,bc(!0,!1)),u);return b}function Xm(u){let b=L();if(!de(18))return;let O,j;return T()!==19&&(O=dr(25),j=Sr()),u?de(19):de(19,void 0,!1)&&Lr(),Q(N.createJsxExpression(O,j),b)}function mb(){if(T()===18)return hb();Dr();let u=L();return Q(N.createJsxAttribute(zr(),Ym()),u)}function Ym(){if(T()===63){if(yr()===10)return Di();if(T()===18)return Xm(!0);if(T()===29)return o_(!0);Dt(ve.or_JSX_element_expected)}}function hb(){let u=L();de(18),de(25);let b=Sr();return de(19),Q(N.createJsxSpreadAttribute(b),u)}function Qm(u,b){let O=L();de(30);let j=Ac();return de(31,void 0,!1)&&(b||!Hi(u.tagName,j)?_e():Lr()),Q(N.createJsxClosingElement(j),O)}function gb(u){let b=L();return de(30),de(31,ve.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(u?_e():Lr()),Q(N.createJsxJsxClosingFragment(),b)}function Zm(){Y.assert(pr!==1,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");let u=L();de(29);let b=sr();de(31);let O=na();return Q(N.createTypeAssertion(b,O),u)}function yb(){return _e(),fr(T())||T()===22||__()}function eh(){return T()===28&&wt(yb)}function Hu(u){if(u.flags&32)return!0;if(Uo(u)){let b=u.expression;for(;Uo(b)&&!(b.flags&32);)b=b.expression;if(b.flags&32){for(;Uo(u);)u.flags|=32,u=u.expression;return!0}}return!1}function fi(u,b,O){let j=bc(!0,!0),z=O||Hu(b),re=z?pt(b,O,j):Ve(b,j);if(z&&vn(re.name)&&ie(re.name,ve.An_optional_chain_cannot_contain_private_identifiers),e2(b)&&b.typeArguments){let Ee=b.typeArguments.pos-1,qe=Ar(_r,b.typeArguments.end)+1;Z(Ee,qe,ve.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Q(re,u)}function ja(u,b,O){let j;if(T()===23)j=Jn(79,!0,ve.An_element_access_expression_should_take_an_argument);else{let re=It(Sr);Ta(re)&&(re.text=Ia(re.text)),j=re}de(23);let z=O||Hu(b)?Nt(b,O,j):Gt(b,j);return Q(z,u)}function Ja(u,b,O){for(;;){let j,z=!1;if(O&&eh()?(j=ea(28),z=fr(T())):z=Ot(24),z){b=fi(u,b,j);continue}if((j||!Ai())&&Ot(22)){b=ja(u,b,j);continue}if(__()){b=!j&&b.kind===230?Gu(u,b.expression,j,b.typeArguments):Gu(u,b,j,void 0);continue}if(!j){if(T()===53&&!t.hasPrecedingLineBreak()){_e(),b=Q(N.createNonNullExpression(b),u);continue}let re=Tr(Pc);if(re){b=Q(N.createExpressionWithTypeArguments(b,re),u);continue}}return b}}function __(){return T()===14||T()===15}function Gu(u,b,O,j){let z=N.createTaggedTemplateExpression(b,j,T()===14?($t(),Di()):Wd(!0));return(O||b.flags&32)&&(z.flags|=32),z.questionDotToken=O,Q(z,u)}function $u(u,b){for(;;){b=Ja(u,b,!0);let O,j=dr(28);if(j&&(O=Tr(Pc),__())){b=Gu(u,b,j,O);continue}if(O||T()===20){!j&&b.kind===230&&(O=b.typeArguments,b=b.expression);let z=th(),re=j||Hu(b)?er(b,j,O,z):Xt(b,O,z);b=Q(re,u);continue}if(j){let z=Jn(79,!1,ve.Identifier_expected);b=Q(pt(b,j,z),u)}break}return b}function th(){de(20);let u=mn(11,ih);return de(21),u}function Pc(){if(nr&262144||Wt()!==29)return;_e();let u=mn(20,sr);if(bt()===31)return _e(),u&&vb()?u:void 0}function vb(){switch(T()){case 20:case 14:case 15:return!0;case 29:case 31:case 39:case 40:return!1}return t.hasPrecedingLineBreak()||Jm()||!La()}function Ku(){switch(T()){case 8:case 9:case 10:case 14:return Di();case 108:case 106:case 104:case 110:case 95:return sn();case 20:return bb();case 22:return ah();case 18:return Xu();case 132:if(!wt(yh))break;return Yu();case 59:return Ub();case 84:return Ih();case 98:return Yu();case 103:return Tb();case 43:case 68:if(jt()===13)return Di();break;case 15:return Wd(!1);case 80:return gc()}return wr(ve.Expression_expected)}function bb(){let u=L(),b=fe();de(20);let O=It(Sr);return de(21),St(Q(Hr(O),u),b)}function rh(){let u=L();de(25);let b=Yr(!0);return Q(N.createSpreadElement(b),u)}function nh(){return T()===25?rh():T()===27?Q(N.createOmittedExpression(),L()):Yr(!0)}function ih(){return Ct(r,nh)}function ah(){let u=L(),b=t.getTokenPos(),O=de(22),j=t.hasPrecedingLineBreak(),z=mn(15,nh);return Ts(22,23,O,b),Q(Ne(z,j),u)}function sh(){let u=L(),b=fe();if(dr(25)){let lt=Yr(!0);return St(Q(N.createSpreadAssignment(lt),u),b)}let O=ki(!0);if(Ks(137))return Fa(u,b,O,174,0);if(Ks(151))return Fa(u,b,O,175,0);let j=dr(41),z=kt(),re=Es(),Ee=dr(57),qe=dr(53);if(j||T()===20||T()===29)return Ah(u,b,O,j,re,Ee,qe);let We;if(z&&T()!==58){let lt=dr(63),Jt=lt?It(()=>Yr(!0)):void 0;We=N.createShorthandPropertyAssignment(re,Jt),We.equalsToken=lt}else{de(58);let lt=It(()=>Yr(!0));We=N.createPropertyAssignment(re,lt)}return We.modifiers=O,We.questionToken=Ee,We.exclamationToken=qe,St(Q(We,u),b)}function Xu(){let u=L(),b=t.getTokenPos(),O=de(18),j=t.hasPrecedingLineBreak(),z=mn(12,sh,!0);return Ts(18,19,O,b),Q(oe(z,j),u)}function Yu(){let u=Ai();Re(!1);let b=L(),O=fe(),j=ki(!1);de(98);let z=dr(41),re=z?1:0,Ee=Ke(j,Ul)?2:0,qe=re&&Ee?vs(ro):re?ys(ro):Ee?Xi(ro):ro(),We=Xn(),$e=ra(re|Ee),lt=pi(58,!1),Jt=Dc(re|Ee);Re(u);let Lt=N.createFunctionExpression(j,z,qe,We,$e,lt,Jt);return St(Q(Lt,b),O)}function ro(){return Tt()?hc():void 0}function Tb(){let u=L();if(de(103),Ot(24)){let re=zr();return Q(N.createMetaProperty(103,re),u)}let b=L(),O=Ja(b,Ku(),!1),j;O.kind===230&&(j=O.typeArguments,O=O.expression),T()===28&&Dt(ve.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,B_(_r,O));let z=T()===20?th():void 0;return Q(Tn(O,j,z),u)}function ws(u,b){let O=L(),j=fe(),z=t.getTokenPos(),re=de(18,b);if(re||u){let Ee=t.hasPrecedingLineBreak(),qe=Kn(1,on);Ts(18,19,re,z);let We=St(Q(Gi(qe,Ee),O),j);return T()===63&&(Dt(ve.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),_e()),We}else{let Ee=ui();return St(Q(Gi(Ee,void 0),O),j)}}function Dc(u,b){let O=Yi();Le(!!(u&1));let j=xn();ot(!!(u&2));let z=br;br=!1;let re=Ai();re&&Re(!1);let Ee=ws(!!(u&16),b);return re&&Re(!0),br=z,Le(O),ot(j),Ee}function oh(){let u=L(),b=fe();return de(26),St(Q(N.createEmptyStatement(),u),b)}function Sb(){let u=L(),b=fe();de(99);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=on(),Ee=Ot(91)?on():void 0;return St(Q(Ut(z,re,Ee),u),b)}function _h(){let u=L(),b=fe();de(90);let O=on();de(115);let j=t.getTokenPos(),z=de(20),re=It(Sr);return Ts(20,21,z,j),Ot(26),St(Q(N.createDoStatement(O,re),u),b)}function xb(){let u=L(),b=fe();de(115);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=on();return St(Q(kn(z,re),u),b)}function ch(){let u=L(),b=fe();de(97);let O=dr(133);de(20);let j;T()!==26&&(T()===113||T()===119||T()===85?j=Eh(!0):j=Mr(Sr));let z;if(O?de(162):Ot(162)){let re=It(()=>Yr(!0));de(21),z=mr(O,j,re,on())}else if(Ot(101)){let re=It(Sr);de(21),z=N.createForInStatement(j,re,on())}else{de(26);let re=T()!==26&&T()!==21?It(Sr):void 0;de(26);let Ee=T()!==21?It(Sr):void 0;de(21),z=an(j,re,Ee,on())}return St(Q(z,u),b)}function lh(u){let b=L(),O=fe();de(u===249?81:86);let j=ka()?void 0:wr();En();let z=u===249?N.createBreakStatement(j):N.createContinueStatement(j);return St(Q(z,b),O)}function uh(){let u=L(),b=fe();de(105);let O=ka()?void 0:It(Sr);return En(),St(Q(N.createReturnStatement(O),u),b)}function Eb(){let u=L(),b=fe();de(116);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=Mt(33554432,on);return St(Q(N.createWithStatement(z,re),u),b)}function wb(){let u=L(),b=fe();de(82);let O=It(Sr);de(58);let j=Kn(3,on);return St(Q(N.createCaseClause(O,j),u),b)}function ph(){let u=L();de(88),de(58);let b=Kn(3,on);return Q(N.createDefaultClause(b),u)}function Cb(){return T()===82?wb():ph()}function fh(){let u=L();de(18);let b=Kn(2,Cb);return de(19),Q(N.createCaseBlock(b),u)}function Ab(){let u=L(),b=fe();de(107),de(20);let O=It(Sr);de(21);let j=fh();return St(Q(N.createSwitchStatement(O,j),u),b)}function dh(){let u=L(),b=fe();de(109);let O=t.hasPrecedingLineBreak()?void 0:It(Sr);return O===void 0&&($r++,O=Q(Te(""),L())),t_()||Zi(O),St(Q(N.createThrowStatement(O),u),b)}function Pb(){let u=L(),b=fe();de(111);let O=ws(!1),j=T()===83?mh():void 0,z;return(!j||T()===96)&&(de(96,ve.catch_or_finally_expected),z=ws(!1)),St(Q(N.createTryStatement(O,j,z),u),b)}function mh(){let u=L();de(83);let b;Ot(20)?(b=Ic(),de(21)):b=void 0;let O=ws(!1);return Q(N.createCatchClause(b,O),u)}function Db(){let u=L(),b=fe();return de(87),En(),St(Q(N.createDebuggerStatement(),u),b)}function hh(){let u=L(),b=fe(),O,j=T()===20,z=It(Sr);return yt(z)&&Ot(58)?O=N.createLabeledStatement(z,on()):(t_()||Zi(z),O=fn(z),j&&(b=!1)),St(Q(O,u),b)}function Qu(){return _e(),fr(T())&&!t.hasPrecedingLineBreak()}function gh(){return _e(),T()===84&&!t.hasPrecedingLineBreak()}function yh(){return _e(),T()===98&&!t.hasPrecedingLineBreak()}function Zu(){return _e(),(fr(T())||T()===8||T()===9||T()===10)&&!t.hasPrecedingLineBreak()}function kb(){for(;;)switch(T()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 154:return _b();case 142:case 143:return Ob();case 126:case 127:case 132:case 136:case 121:case 122:case 123:case 146:if(_e(),t.hasPrecedingLineBreak())return!1;continue;case 159:return _e(),T()===18||T()===79||T()===93;case 100:return _e(),T()===10||T()===41||T()===18||fr(T());case 93:let u=_e();if(u===154&&(u=wt(_e)),u===63||u===41||u===18||u===88||u===128||u===59)return!0;continue;case 124:_e();continue;default:return!1}}function c_(){return wt(kb)}function vh(){switch(T()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:return!0;case 100:return c_()||wt(ku);case 85:case 93:return c_();case 132:case 136:case 118:case 142:case 143:case 154:case 159:return!0;case 127:case 123:case 121:case 122:case 124:case 146:return c_()||!wt(Qu);default:return La()}}function bh(){return _e(),Tt()||T()===18||T()===22}function Ib(){return wt(bh)}function on(){switch(T()){case 26:return oh();case 18:return ws(!1);case 113:return rp(L(),fe(),void 0);case 119:if(Ib())return rp(L(),fe(),void 0);break;case 98:return np(L(),fe(),void 0);case 84:return Nh(L(),fe(),void 0);case 99:return Sb();case 90:return _h();case 115:return xb();case 97:return ch();case 86:return lh(248);case 81:return lh(249);case 105:return uh();case 116:return Eb();case 107:return Ab();case 109:return dh();case 111:case 83:case 96:return Pb();case 87:return Db();case 59:return ep();case 132:case 118:case 154:case 142:case 143:case 136:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 127:case 124:case 146:case 159:if(c_())return ep();break}return hh()}function Th(u){return u.kind===136}function ep(){let u=L(),b=fe(),O=ki(!0);if(Ke(O,Th)){let z=Nb(u);if(z)return z;for(let re of O)re.flags|=16777216;return Mt(16777216,()=>l_(u,b,O))}else return l_(u,b,O)}function Nb(u){return Mt(16777216,()=>{let b=mu(hr,u);if(b)return hu(b)})}function l_(u,b,O){switch(T()){case 113:case 119:case 85:return rp(u,b,O);case 98:return np(u,b,O);case 84:return Nh(u,b,O);case 118:return Hb(u,b,O);case 154:return Gb(u,b,O);case 92:return Kb(u,b,O);case 159:case 142:case 143:return Fh(u,b,O);case 100:return Qb(u,b,O);case 93:switch(_e(),T()){case 88:case 63:return _6(u,b,O);case 128:return Yb(u,b,O);default:return o6(u,b,O)}default:if(O){let j=Jn(279,!0,ve.Declaration_expected);return Gf(j,u),j.modifiers=O,j}return}}function Ob(){return _e(),!t.hasPrecedingLineBreak()&&(kt()||T()===10)}function kc(u,b){if(T()!==18){if(u&4){i_();return}if(ka()){En();return}}return Dc(u,b)}function Mb(){let u=L();if(T()===27)return Q(N.createOmittedExpression(),u);let b=dr(25),O=no(),j=Ra();return Q(N.createBindingElement(b,void 0,O,j),u)}function Sh(){let u=L(),b=dr(25),O=Tt(),j=Es(),z;O&&T()!==58?(z=j,j=void 0):(de(58),z=no());let re=Ra();return Q(N.createBindingElement(b,j,z,re),u)}function Lb(){let u=L();de(18);let b=mn(9,Sh);return de(19),Q(N.createObjectBindingPattern(b),u)}function xh(){let u=L();de(22);let b=mn(10,Mb);return de(23),Q(N.createArrayBindingPattern(b),u)}function tp(){return T()===18||T()===22||T()===80||Tt()}function no(u){return T()===22?xh():T()===18?Lb():hc(u)}function Rb(){return Ic(!0)}function Ic(u){let b=L(),O=fe(),j=no(ve.Private_identifiers_are_not_allowed_in_variable_declarations),z;u&&j.kind===79&&T()===53&&!t.hasPrecedingLineBreak()&&(z=sn());let re=Ma(),Ee=jm(T())?void 0:Ra(),qe=$i(j,z,re,Ee);return St(Q(qe,b),O)}function Eh(u){let b=L(),O=0;switch(T()){case 113:break;case 119:O|=1;break;case 85:O|=2;break;default:Y.fail()}_e();let j;if(T()===162&&wt(wh))j=ui();else{let z=Qi();xe(u),j=mn(8,u?Ic:Rb),xe(z)}return Q(dn(j,O),b)}function wh(){return yc()&&_e()===21}function rp(u,b,O){let j=Eh(!1);En();let z=pn(O,j);return St(Q(z,u),b)}function np(u,b,O){let j=xn(),z=Vn(O);de(98);let re=dr(41),Ee=z&1024?ro():hc(),qe=re?1:0,We=z&512?2:0,$e=Xn();z&1&&ot(!0);let lt=ra(qe|We),Jt=pi(58,!1),Lt=kc(qe|We,ve.or_expected);ot(j);let At=N.createFunctionDeclaration(O,re,Ee,$e,lt,Jt,Lt);return St(Q(At,u),b)}function jb(){if(T()===135)return de(135);if(T()===10&&wt(_e)===20)return Tr(()=>{let u=Di();return u.text==="constructor"?u:void 0})}function Ch(u,b,O){return Tr(()=>{if(jb()){let j=Xn(),z=ra(0),re=pi(58,!1),Ee=kc(0,ve.or_expected),qe=N.createConstructorDeclaration(O,z,Ee);return qe.typeParameters=j,qe.type=re,St(Q(qe,u),b)}})}function Ah(u,b,O,j,z,re,Ee,qe){let We=j?1:0,$e=Ke(O,Ul)?2:0,lt=Xn(),Jt=ra(We|$e),Lt=pi(58,!1),At=kc(We|$e,qe),kr=N.createMethodDeclaration(O,j,z,re,lt,Jt,Lt,At);return kr.exclamationToken=Ee,St(Q(kr,u),b)}function ip(u,b,O,j,z){let re=!z&&!t.hasPrecedingLineBreak()?dr(53):void 0,Ee=Ma(),qe=Ct(45056,Ra);mc(j,Ee,qe);let We=N.createPropertyDeclaration(O,j,z||re,Ee,qe);return St(Q(We,u),b)}function Ph(u,b,O){let j=dr(41),z=Es(),re=dr(57);return j||T()===20||T()===29?Ah(u,b,O,j,z,re,void 0,ve.or_expected):ip(u,b,O,z,re)}function Fa(u,b,O,j,z){let re=Es(),Ee=Xn(),qe=ra(0),We=pi(58,!1),$e=kc(z),lt=j===174?N.createGetAccessorDeclaration(O,re,qe,We,$e):N.createSetAccessorDeclaration(O,re,qe,$e);return lt.typeParameters=Ee,ic(lt)&&(lt.type=We),St(Q(lt,u),b)}function Jb(){let u;if(T()===59)return!0;for(;Wi(T());){if(u=T(),VS(u))return!0;_e()}if(T()===41||(xs()&&(u=T(),_e()),T()===22))return!0;if(u!==void 0){if(!ba(u)||u===151||u===137)return!0;switch(T()){case 20:case 29:case 53:case 58:case 63:case 57:return!0;default:return ka()}}return!1}function Fb(u,b,O){ea(124);let j=Dh(),z=St(Q(N.createClassStaticBlockDeclaration(j),u),b);return z.modifiers=O,z}function Dh(){let u=Yi(),b=xn();Le(!1),ot(!0);let O=ws(!1);return Le(u),ot(b),O}function Bb(){if(xn()&&T()===133){let u=L(),b=wr(ve.Expression_expected);_e();let O=Ja(u,b,!0);return $u(u,O)}return to()}function kh(){let u=L();if(!Ot(59))return;let b=ci(Bb);return Q(N.createDecorator(b),u)}function ap(u,b,O){let j=L(),z=T();if(T()===85&&b){if(!Tr(uu))return}else{if(O&&T()===124&&wt(Mc))return;if(u&&T()===124)return;if(!Md())return}return Q(Ye(z),j)}function ki(u,b,O){let j=L(),z,re,Ee,qe=!1,We=!1,$e=!1;if(u&&T()===59)for(;re=kh();)z=tr(z,re);for(;Ee=ap(qe,b,O);)Ee.kind===124&&(qe=!0),z=tr(z,Ee),We=!0;if(We&&u&&T()===59)for(;re=kh();)z=tr(z,re),$e=!0;if($e)for(;Ee=ap(qe,b,O);)Ee.kind===124&&(qe=!0),z=tr(z,Ee);return z&&Er(z,j)}function sp(){let u;if(T()===132){let b=L();_e();let O=Q(Ye(132),b);u=Er([O],b)}return u}function qb(){let u=L();if(T()===26)return _e(),Q(N.createSemicolonClassElement(),u);let b=fe(),O=ki(!0,!0,!0);if(T()===124&&wt(Mc))return Fb(u,b,O);if(Ks(137))return Fa(u,b,O,174,0);if(Ks(151))return Fa(u,b,O,175,0);if(T()===135||T()===10){let j=Ch(u,b,O);if(j)return j}if(im())return am(u,b,O);if(fr(T())||T()===10||T()===8||T()===41||T()===22)if(Ke(O,Th)){for(let z of O)z.flags|=16777216;return Mt(16777216,()=>Ph(u,b,O))}else return Ph(u,b,O);if(O){let j=Jn(79,!0,ve.Declaration_expected);return ip(u,b,O,j,void 0)}return Y.fail("Should not have attempted to parse class member declaration.")}function Ub(){let u=L(),b=fe(),O=ki(!0);if(T()===84)return op(u,b,O,228);let j=Jn(279,!0,ve.Expression_expected);return Gf(j,u),j.modifiers=O,j}function Ih(){return op(L(),fe(),void 0,228)}function Nh(u,b,O){return op(u,b,O,260)}function op(u,b,O,j){let z=xn();de(84);let re=Oh(),Ee=Xn();Ke(O,N8)&&ot(!0);let qe=Mh(),We;de(18)?(We=Vb(),de(19)):We=ui(),ot(z);let $e=j===260?N.createClassDeclaration(O,re,Ee,qe,We):N.createClassExpression(O,re,Ee,qe,We);return St(Q($e,u),b)}function Oh(){return Tt()&&!zb()?Ss(Tt()):void 0}function zb(){return T()===117&&wt(pu)}function Mh(){if(Oc())return Kn(22,Lh)}function Lh(){let u=L(),b=T();Y.assert(b===94||b===117),_e();let O=mn(7,Wb);return Q(N.createHeritageClause(b,O),u)}function Wb(){let u=L(),b=to();if(b.kind===230)return b;let O=Nc();return Q(N.createExpressionWithTypeArguments(b,O),u)}function Nc(){return T()===29?Oa(20,sr,29,31):void 0}function Oc(){return T()===94||T()===117}function Vb(){return Kn(5,qb)}function Hb(u,b,O){de(118);let j=wr(),z=Xn(),re=Mh(),Ee=Iu(),qe=N.createInterfaceDeclaration(O,j,z,re,Ee);return St(Q(qe,u),b)}function Gb(u,b,O){de(154);let j=wr(),z=Xn();de(63);let re=T()===139&&Tr(Ou)||sr();En();let Ee=N.createTypeAliasDeclaration(O,j,z,re);return St(Q(Ee,u),b)}function $b(){let u=L(),b=fe(),O=Es(),j=It(Ra);return St(Q(N.createEnumMember(O,j),u),b)}function Kb(u,b,O){de(92);let j=wr(),z;de(18)?(z=$s(()=>mn(6,$b)),de(19)):z=ui();let re=N.createEnumDeclaration(O,j,z);return St(Q(re,u),b)}function Rh(){let u=L(),b;return de(18)?(b=Kn(1,on),de(19)):b=ui(),Q(N.createModuleBlock(b),u)}function jh(u,b,O,j){let z=j&16,re=wr(),Ee=Ot(24)?jh(L(),!1,void 0,4|z):Rh(),qe=N.createModuleDeclaration(O,re,Ee,j);return St(Q(qe,u),b)}function Jh(u,b,O){let j=0,z;T()===159?(z=wr(),j|=1024):(z=Di(),z.text=Ia(z.text));let re;T()===18?re=Rh():En();let Ee=N.createModuleDeclaration(O,z,re,j);return St(Q(Ee,u),b)}function Fh(u,b,O){let j=0;if(T()===159)return Jh(u,b,O);if(Ot(143))j|=16;else if(de(142),T()===10)return Jh(u,b,O);return jh(u,b,O,j)}function Bh(){return T()===147&&wt(qh)}function qh(){return _e()===20}function Mc(){return _e()===18}function Xb(){return _e()===43}function Yb(u,b,O){de(128),de(143);let j=wr();En();let z=N.createNamespaceExportDeclaration(j);return z.modifiers=O,St(Q(z,u),b)}function Qb(u,b,O){de(100);let j=t.getStartPos(),z;kt()&&(z=wr());let re=!1;if(T()!==158&&(z==null?void 0:z.escapedText)==="type"&&(kt()||Zb())&&(re=!0,z=kt()?wr():void 0),z&&!e6())return t6(u,b,O,z,re);let Ee;(z||T()===41||T()===18)&&(Ee=r6(z,j,re),de(158));let qe=Lc(),We;T()===130&&!t.hasPrecedingLineBreak()&&(We=_p()),En();let $e=N.createImportDeclaration(O,Ee,qe,We);return St(Q($e,u),b)}function Uh(){let u=L(),b=fr(T())?zr():n_(10);de(58);let O=Yr(!0);return Q(N.createAssertEntry(b,O),u)}function _p(u){let b=L();u||de(130);let O=t.getTokenPos();if(de(18)){let j=t.hasPrecedingLineBreak(),z=mn(24,Uh,!0);if(!de(19)){let re=Cn(Zt);re&&re.code===ve._0_expected.code&&Rl(re,Ro(Ur,O,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(N.createAssertClause(z,j),b)}else{let j=Er([],L(),void 0,!1);return Q(N.createAssertClause(j,!1),b)}}function Zb(){return T()===41||T()===18}function e6(){return T()===27||T()===158}function t6(u,b,O,j,z){de(63);let re=cp();En();let Ee=N.createImportEqualsDeclaration(O,z,j,re);return St(Q(Ee,u),b)}function r6(u,b,O){let j;return(!u||Ot(27))&&(j=T()===41?Rc():zh(272)),Q(N.createImportClause(O,u,j),b)}function cp(){return Bh()?n6():Ys(!1)}function n6(){let u=L();de(147),de(20);let b=Lc();return de(21),Q(N.createExternalModuleReference(b),u)}function Lc(){if(T()===10){let u=Di();return u.text=Ia(u.text),u}else return Sr()}function Rc(){let u=L();de(41),de(128);let b=wr();return Q(N.createNamespaceImport(b),u)}function zh(u){let b=L(),O=u===272?N.createNamedImports(Oa(23,a6,18,19)):N.createNamedExports(Oa(23,i6,18,19));return Q(O,b)}function i6(){let u=fe();return St(Ba(278),u)}function a6(){return Ba(273)}function Ba(u){let b=L(),O=ba(T())&&!kt(),j=t.getTokenPos(),z=t.getTextPos(),re=!1,Ee,qe=!0,We=zr();if(We.escapedText==="type")if(T()===128){let Jt=zr();if(T()===128){let Lt=zr();fr(T())?(re=!0,Ee=Jt,We=lt(),qe=!1):(Ee=We,We=Lt,qe=!1)}else fr(T())?(Ee=We,qe=!1,We=lt()):(re=!0,We=Jt)}else fr(T())&&(re=!0,We=lt());qe&&T()===128&&(Ee=We,de(128),We=lt()),u===273&&O&&Z(j,z,ve.Identifier_expected);let $e=u===273?N.createImportSpecifier(re,Ee,We):N.createExportSpecifier(re,Ee,We);return Q($e,b);function lt(){return O=ba(T())&&!kt(),j=t.getTokenPos(),z=t.getTextPos(),zr()}}function s6(u){return Q(N.createNamespaceExport(zr()),u)}function o6(u,b,O){let j=xn();ot(!0);let z,re,Ee,qe=Ot(154),We=L();Ot(41)?(Ot(128)&&(z=s6(We)),de(158),re=Lc()):(z=zh(276),(T()===158||T()===10&&!t.hasPrecedingLineBreak())&&(de(158),re=Lc())),re&&T()===130&&!t.hasPrecedingLineBreak()&&(Ee=_p()),En(),ot(j);let $e=N.createExportDeclaration(O,qe,z,re,Ee);return St(Q($e,u),b)}function _6(u,b,O){let j=xn();ot(!0);let z;Ot(63)?z=!0:de(88);let re=Yr(!0);En(),ot(j);let Ee=N.createExportAssignment(O,z,re);return St(Q(Ee,u),b)}let io;(u=>{u[u.SourceElements=0]="SourceElements",u[u.BlockStatements=1]="BlockStatements",u[u.SwitchClauses=2]="SwitchClauses",u[u.SwitchClauseStatements=3]="SwitchClauseStatements",u[u.TypeMembers=4]="TypeMembers",u[u.ClassMembers=5]="ClassMembers",u[u.EnumMembers=6]="EnumMembers",u[u.HeritageClauseElement=7]="HeritageClauseElement",u[u.VariableDeclarations=8]="VariableDeclarations",u[u.ObjectBindingElements=9]="ObjectBindingElements",u[u.ArrayBindingElements=10]="ArrayBindingElements",u[u.ArgumentExpressions=11]="ArgumentExpressions",u[u.ObjectLiteralMembers=12]="ObjectLiteralMembers",u[u.JsxAttributes=13]="JsxAttributes",u[u.JsxChildren=14]="JsxChildren",u[u.ArrayLiteralMembers=15]="ArrayLiteralMembers",u[u.Parameters=16]="Parameters",u[u.JSDocParameters=17]="JSDocParameters",u[u.RestProperties=18]="RestProperties",u[u.TypeParameters=19]="TypeParameters",u[u.TypeArguments=20]="TypeArguments",u[u.TupleElementTypes=21]="TupleElementTypes",u[u.HeritageClauses=22]="HeritageClauses",u[u.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",u[u.AssertEntries=24]="AssertEntries",u[u.Count=25]="Count"})(io||(io={}));let Wh;(u=>{u[u.False=0]="False",u[u.True=1]="True",u[u.Unknown=2]="Unknown"})(Wh||(Wh={}));let Vh;(u=>{function b($e,lt,Jt){Mn("file.js",$e,99,void 0,1),t.setText($e,lt,Jt),ar=t.scan();let Lt=O(),At=Kt("file.js",99,1,!1,[],Ye(1),0,yn),kr=qs(Zt,At);return Or&&(At.jsDocDiagnostics=qs(Or,At)),_i(),Lt?{jsDocTypeExpression:Lt,diagnostics:kr}:void 0}u.parseJSDocTypeExpressionForTests=b;function O($e){let lt=L(),Jt=($e?Ot:de)(18),Lt=Mt(8388608,xc);(!$e||Jt)&&Da(19);let At=N.createJSDocTypeExpression(Lt);return ft(At),Q(At,lt)}u.parseJSDocTypeExpression=O;function j(){let $e=L(),lt=Ot(18),Jt=L(),Lt=Ys(!1);for(;T()===80;)Xr(),Ge(),Lt=Q(N.createJSDocMemberName(Lt,wr()),Jt);lt&&Da(19);let At=N.createJSDocNameReference(Lt);return ft(At),Q(At,$e)}u.parseJSDocNameReference=j;function z($e,lt,Jt){Mn("",$e,99,void 0,1);let Lt=Mt(8388608,()=>We(lt,Jt)),kr=qs(Zt,{languageVariant:0,text:$e});return _i(),Lt?{jsDoc:Lt,diagnostics:kr}:void 0}u.parseIsolatedJSDocComment=z;function re($e,lt,Jt){let Lt=ar,At=Zt.length,kr=Kr,Fn=Mt(8388608,()=>We(lt,Jt));return Sa(Fn,$e),nr&262144&&(Or||(Or=[]),Or.push(...Zt)),ar=Lt,Zt.length=At,Kr=kr,Fn}u.parseJSDocComment=re;let Ee;($e=>{$e[$e.BeginningOfLine=0]="BeginningOfLine",$e[$e.SawAsterisk=1]="SawAsterisk",$e[$e.SavingComments=2]="SavingComments",$e[$e.SavingBackticks=3]="SavingBackticks"})(Ee||(Ee={}));let qe;($e=>{$e[$e.Property=1]="Property",$e[$e.Parameter=2]="Parameter",$e[$e.CallbackParameter=4]="CallbackParameter"})(qe||(qe={}));function We(){let $e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,lt=arguments.length>1?arguments[1]:void 0,Jt=_r,Lt=lt===void 0?Jt.length:$e+lt;if(lt=Lt-$e,Y.assert($e>=0),Y.assert($e<=Lt),Y.assert(Lt<=Jt.length),!LE(Jt,$e))return;let At,kr,Fn,di,Ii,_n=[],qa=[];return t.scanRange($e+3,lt-5,()=>{let se=1,Me,Ce=$e-(Jt.lastIndexOf(` -`,$e)+1)+4;function Ue(vt){Me||(Me=Ce),_n.push(vt),Ce+=vt.length}for(Ge();u_(5););u_(4)&&(se=0,Ce=0);e:for(;;){switch(T()){case 59:se===0||se===1?(lp(_n),Ii||(Ii=L()),za(up(Ce)),se=0,Me=void 0):Ue(t.getTokenText());break;case 4:_n.push(t.getTokenText()),se=0,Ce=0;break;case 41:let vt=t.getTokenText();se===1||se===2?(se=2,Ue(vt)):(se=1,Ce+=vt.length);break;case 5:let Vt=t.getTokenText();se===2?_n.push(Vt):Me!==void 0&&Ce+Vt.length>Me&&_n.push(Vt.slice(Me-Ce)),Ce+=Vt.length;break;case 1:break e;case 18:se=2;let Rr=t.getStartPos(),gn=t.getTextPos()-1,mi=$h(gn);if(mi){di||Hh(_n),qa.push(Q(N.createJSDocText(_n.join("")),di!=null?di:$e,Rr)),qa.push(mi),_n=[],di=t.getTextPos();break}default:se=2,Ue(t.getTokenText());break}Ge()}lp(_n),qa.length&&_n.length&&qa.push(Q(N.createJSDocText(_n.join("")),di!=null?di:$e,Ii)),qa.length&&At&&Y.assertIsDefined(Ii,"having parsed tags implies that the end of the comment span should be set");let Qe=At&&Er(At,kr,Fn);return Q(N.createJSDocComment(qa.length?Er(qa,$e,Ii):_n.length?_n.join(""):void 0,Qe),$e,Lt)});function Hh(se){for(;se.length&&(se[0]===` -`||se[0]==="\r");)se.shift()}function lp(se){for(;se.length&&se[se.length-1].trim()==="";)se.pop()}function Gh(){for(;;){if(Ge(),T()===1)return!0;if(!(T()===5||T()===4))return!1}}function wn(){if(!((T()===5||T()===4)&&wt(Gh)))for(;T()===5||T()===4;)Ge()}function Ua(){if((T()===5||T()===4)&&wt(Gh))return"";let se=t.hasPrecedingLineBreak(),Me=!1,Ce="";for(;se&&T()===41||T()===5||T()===4;)Ce+=t.getTokenText(),T()===4?(se=!0,Me=!0,Ce=""):T()===41&&(se=!1),Ge();return Me?Ce:""}function up(se){Y.assert(T()===59);let Me=t.getTokenPos();Ge();let Ce=ao(void 0),Ue=Ua(),Qe;switch(Ce.escapedText){case"author":Qe=V(Me,Ce,se,Ue);break;case"implements":Qe=et(Me,Ce,se,Ue);break;case"augments":case"extends":Qe=ht(Me,Ce,se,Ue);break;case"class":case"constructor":Qe=Oi(Me,N.createJSDocClassTag,Ce,se,Ue);break;case"public":Qe=Oi(Me,N.createJSDocPublicTag,Ce,se,Ue);break;case"private":Qe=Oi(Me,N.createJSDocPrivateTag,Ce,se,Ue);break;case"protected":Qe=Oi(Me,N.createJSDocProtectedTag,Ce,se,Ue);break;case"readonly":Qe=Oi(Me,N.createJSDocReadonlyTag,Ce,se,Ue);break;case"override":Qe=Oi(Me,N.createJSDocOverrideTag,Ce,se,Ue);break;case"deprecated":ue=!0,Qe=Oi(Me,N.createJSDocDeprecatedTag,Ce,se,Ue);break;case"this":Qe=qB(Me,Ce,se,Ue);break;case"enum":Qe=UB(Me,Ce,se,Ue);break;case"arg":case"argument":case"param":return Xh(Me,Ce,2,se);case"return":case"returns":Qe=o(Me,Ce,se,Ue);break;case"template":Qe=QB(Me,Ce,se,Ue);break;case"type":Qe=l(Me,Ce,se,Ue);break;case"typedef":Qe=zB(Me,Ce,se,Ue);break;case"callback":Qe=VB(Me,Ce,se,Ue);break;case"overload":Qe=HB(Me,Ce,se,Ue);break;case"satisfies":Qe=hn(Me,Ce,se,Ue);break;case"see":Qe=p(Me,Ce,se,Ue);break;case"exception":case"throws":Qe=k(Me,Ce,se,Ue);break;default:Qe=Qt(Me,Ce,se,Ue);break}return Qe}function Qr(se,Me,Ce,Ue){return Ue||(Ce+=Me-se),jc(Ce,Ue.slice(Ce))}function jc(se,Me){let Ce=L(),Ue=[],Qe=[],vt,Vt=0,Rr=!0,gn;function mi(hi){gn||(gn=se),Ue.push(hi),se+=hi.length}Me!==void 0&&(Me!==""&&mi(Me),Vt=1);let Va=T();e:for(;;){switch(Va){case 4:Vt=0,Ue.push(t.getTokenText()),se=0;break;case 59:if(Vt===3||Vt===2&&(!Rr||wt(Cs))){Ue.push(t.getTokenText());break}t.setTextPos(t.getTextPos()-1);case 1:break e;case 5:if(Vt===2||Vt===3)mi(t.getTokenText());else{let so=t.getTokenText();gn!==void 0&&se+so.length>gn&&Ue.push(so.slice(gn-se)),se+=so.length}break;case 18:Vt=2;let hi=t.getStartPos(),pp=t.getTextPos()-1,fp=$h(pp);fp?(Qe.push(Q(N.createJSDocText(Ue.join("")),vt!=null?vt:Ce,hi)),Qe.push(fp),Ue=[],vt=t.getTextPos()):mi(t.getTokenText());break;case 61:Vt===3?Vt=2:Vt=3,mi(t.getTokenText());break;case 41:if(Vt===0){Vt=1,se+=1;break}default:Vt!==3&&(Vt=2),mi(t.getTokenText());break}Rr=T()===5,Va=Ge()}if(Hh(Ue),lp(Ue),Qe.length)return Ue.length&&Qe.push(Q(N.createJSDocText(Ue.join("")),vt!=null?vt:Ce)),Er(Qe,Ce,t.getTextPos());if(Ue.length)return Ue.join("")}function Cs(){let se=Ge();return se===5||se===4}function $h(se){let Me=Tr(Kh);if(!Me)return;Ge(),wn();let Ce=L(),Ue=fr(T())?Ys(!0):void 0;if(Ue)for(;T()===80;)Xr(),Ge(),Ue=Q(N.createJSDocMemberName(Ue,wr()),Ce);let Qe=[];for(;T()!==19&&T()!==4&&T()!==1;)Qe.push(t.getTokenText()),Ge();let vt=Me==="link"?N.createJSDocLink:Me==="linkcode"?N.createJSDocLinkCode:N.createJSDocLinkPlain;return Q(vt(Ue,Qe.join("")),se,t.getTextPos())}function Kh(){if(Ua(),T()===18&&Ge()===59&&fr(Ge())){let se=t.getTokenValue();if(xt(se))return se}}function xt(se){return se==="link"||se==="linkcode"||se==="linkplain"}function Qt(se,Me,Ce,Ue){return Q(N.createJSDocUnknownTag(Me,Qr(se,L(),Ce,Ue)),se)}function za(se){se&&(At?At.push(se):(At=[se],kr=se.pos),Fn=se.end)}function Wa(){return Ua(),T()===18?O():void 0}function c6(){let se=u_(22);se&&wn();let Me=u_(61),Ce=ZB();return Me&&kd(61),se&&(wn(),dr(63)&&Sr(),de(23)),{name:Ce,isBracketed:se}}function Yn(se){switch(se.kind){case 149:return!0;case 185:return Yn(se.elementType);default:return ac(se)&&yt(se.typeName)&&se.typeName.escapedText==="Object"&&!se.typeArguments}}function Xh(se,Me,Ce,Ue){let Qe=Wa(),vt=!Qe;Ua();let{name:Vt,isBracketed:Rr}=c6(),gn=Ua();vt&&!wt(Kh)&&(Qe=Wa());let mi=Qr(se,L(),Ue,gn),Va=Ce!==4&&n(Qe,Vt,Ce,Ue);Va&&(Qe=Va,vt=!0);let hi=Ce===1?N.createJSDocPropertyTag(Me,Vt,Rr,Qe,vt,mi):N.createJSDocParameterTag(Me,Vt,Rr,Qe,vt,mi);return Q(hi,se)}function n(se,Me,Ce,Ue){if(se&&Yn(se.type)){let Qe=L(),vt,Vt;for(;vt=Tr(()=>u6(Ce,Ue,Me));)(vt.kind===344||vt.kind===351)&&(Vt=tr(Vt,vt));if(Vt){let Rr=Q(N.createJSDocTypeLiteral(Vt,se.type.kind===185),Qe);return Q(N.createJSDocTypeExpression(Rr),Qe)}}}function o(se,Me,Ce,Ue){Ke(At,b2)&&Z(Me.pos,t.getTokenPos(),ve._0_tag_already_specified,Me.escapedText);let Qe=Wa();return Q(N.createJSDocReturnTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function l(se,Me,Ce,Ue){Ke(At,au)&&Z(Me.pos,t.getTokenPos(),ve._0_tag_already_specified,Me.escapedText);let Qe=O(!0),vt=Ce!==void 0&&Ue!==void 0?Qr(se,L(),Ce,Ue):void 0;return Q(N.createJSDocTypeTag(Me,Qe,vt),se)}function p(se,Me,Ce,Ue){let vt=T()===22||wt(()=>Ge()===59&&fr(Ge())&&xt(t.getTokenValue()))?void 0:j(),Vt=Ce!==void 0&&Ue!==void 0?Qr(se,L(),Ce,Ue):void 0;return Q(N.createJSDocSeeTag(Me,vt,Vt),se)}function k(se,Me,Ce,Ue){let Qe=Wa(),vt=Qr(se,L(),Ce,Ue);return Q(N.createJSDocThrowsTag(Me,Qe,vt),se)}function V(se,Me,Ce,Ue){let Qe=L(),vt=we(),Vt=t.getStartPos(),Rr=Qr(se,Vt,Ce,Ue);Rr||(Vt=t.getStartPos());let gn=typeof Rr!="string"?Er(Ft([Q(vt,Qe,Vt)],Rr),Qe):vt.text+Rr;return Q(N.createJSDocAuthorTag(Me,gn),se)}function we(){let se=[],Me=!1,Ce=t.getToken();for(;Ce!==1&&Ce!==4;){if(Ce===29)Me=!0;else{if(Ce===59&&!Me)break;if(Ce===31&&Me){se.push(t.getTokenText()),t.setTextPos(t.getTokenPos()+1);break}}se.push(t.getTokenText()),Ce=Ge()}return N.createJSDocText(se.join(""))}function et(se,Me,Ce,Ue){let Qe=Ni();return Q(N.createJSDocImplementsTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function ht(se,Me,Ce,Ue){let Qe=Ni();return Q(N.createJSDocAugmentsTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function hn(se,Me,Ce,Ue){let Qe=O(!1),vt=Ce!==void 0&&Ue!==void 0?Qr(se,L(),Ce,Ue):void 0;return Q(N.createJSDocSatisfiesTag(Me,Qe,vt),se)}function Ni(){let se=Ot(18),Me=L(),Ce=ia(),Ue=Nc(),Qe=N.createExpressionWithTypeArguments(Ce,Ue),vt=Q(Qe,Me);return se&&de(19),vt}function ia(){let se=L(),Me=ao();for(;Ot(24);){let Ce=ao();Me=Q(Ve(Me,Ce),se)}return Me}function Oi(se,Me,Ce,Ue,Qe){return Q(Me(Ce,Qr(se,L(),Ue,Qe)),se)}function qB(se,Me,Ce,Ue){let Qe=O(!0);return wn(),Q(N.createJSDocThisTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function UB(se,Me,Ce,Ue){let Qe=O(!0);return wn(),Q(N.createJSDocEnumTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function zB(se,Me,Ce,Ue){var Qe;let vt=Wa();Ua();let Vt=l6();wn();let Rr=jc(Ce),gn;if(!vt||Yn(vt.type)){let Va,hi,pp,fp=!1;for(;Va=Tr(()=>$B(Ce));)if(fp=!0,Va.kind===347)if(hi){let so=Dt(ve.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);so&&Rl(so,Ro(Ur,0,0,ve.The_tag_was_first_specified_here));break}else hi=Va;else pp=tr(pp,Va);if(fp){let so=vt&&vt.type.kind===185,eq=N.createJSDocTypeLiteral(pp,so);vt=hi&&hi.typeExpression&&!Yn(hi.typeExpression.type)?hi.typeExpression:Q(eq,se),gn=vt.end}}gn=gn||Rr!==void 0?L():((Qe=Vt!=null?Vt:vt)!=null?Qe:Me).end,Rr||(Rr=Qr(se,gn,Ce,Ue));let mi=N.createJSDocTypedefTag(Me,vt,Vt,Rr);return Q(mi,se,gn)}function l6(se){let Me=t.getTokenPos();if(!fr(T()))return;let Ce=ao();if(Ot(24)){let Ue=l6(!0),Qe=N.createModuleDeclaration(void 0,Ce,Ue,se?4:void 0);return Q(Qe,Me)}return se&&(Ce.flags|=2048),Ce}function WB(se){let Me=L(),Ce,Ue;for(;Ce=Tr(()=>u6(4,se));)Ue=tr(Ue,Ce);return Er(Ue||[],Me)}function j7(se,Me){let Ce=WB(Me),Ue=Tr(()=>{if(u_(59)){let Qe=up(Me);if(Qe&&Qe.kind===345)return Qe}});return Q(N.createJSDocSignature(void 0,Ce,Ue),se)}function VB(se,Me,Ce,Ue){let Qe=l6();wn();let vt=jc(Ce),Vt=j7(se,Ce);vt||(vt=Qr(se,L(),Ce,Ue));let Rr=vt!==void 0?L():Vt.end;return Q(N.createJSDocCallbackTag(Me,Vt,Qe,vt),se,Rr)}function HB(se,Me,Ce,Ue){wn();let Qe=jc(Ce),vt=j7(se,Ce);Qe||(Qe=Qr(se,L(),Ce,Ue));let Vt=Qe!==void 0?L():vt.end;return Q(N.createJSDocOverloadTag(Me,vt,Qe),se,Vt)}function GB(se,Me){for(;!yt(se)||!yt(Me);)if(!yt(se)&&!yt(Me)&&se.right.escapedText===Me.right.escapedText)se=se.left,Me=Me.left;else return!1;return se.escapedText===Me.escapedText}function $B(se){return u6(1,se)}function u6(se,Me,Ce){let Ue=!0,Qe=!1;for(;;)switch(Ge()){case 59:if(Ue){let vt=KB(se,Me);return vt&&(vt.kind===344||vt.kind===351)&&se!==4&&Ce&&(yt(vt.name)||!GB(Ce,vt.name.left))?!1:vt}Qe=!1;break;case 4:Ue=!0,Qe=!1;break;case 41:Qe&&(Ue=!1),Qe=!0;break;case 79:Ue=!1;break;case 1:return!1}}function KB(se,Me){Y.assert(T()===59);let Ce=t.getStartPos();Ge();let Ue=ao();wn();let Qe;switch(Ue.escapedText){case"type":return se===1&&l(Ce,Ue);case"prop":case"property":Qe=1;break;case"arg":case"argument":case"param":Qe=6;break;default:return!1}return se&Qe?Xh(Ce,Ue,se,Me):!1}function XB(){let se=L(),Me=u_(22);Me&&wn();let Ce=ao(ve.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),Ue;if(Me&&(wn(),de(63),Ue=Mt(8388608,xc),de(23)),!va(Ce))return Q(N.createTypeParameterDeclaration(void 0,Ce,void 0,Ue),se)}function YB(){let se=L(),Me=[];do{wn();let Ce=XB();Ce!==void 0&&Me.push(Ce),Ua()}while(u_(27));return Er(Me,se)}function QB(se,Me,Ce,Ue){let Qe=T()===18?O():void 0,vt=YB();return Q(N.createJSDocTemplateTag(Me,Qe,vt,Qr(se,L(),Ce,Ue)),se)}function u_(se){return T()===se?(Ge(),!0):!1}function ZB(){let se=ao();for(Ot(22)&&de(23);Ot(24);){let Me=ao();Ot(22)&&de(23),se=Tu(se,Me)}return se}function ao(se){if(!fr(T()))return Jn(79,!se,se||ve.Identifier_expected);$r++;let Me=t.getTokenPos(),Ce=t.getTextPos(),Ue=T(),Qe=Ia(t.getTokenValue()),vt=Q(Te(Qe,Ue),Me,Ce);return Ge(),vt}}})(Vh=e.JSDocParser||(e.JSDocParser={}))})(Ci||(Ci={})),(e=>{function t($,ae,Te,Se){if(Se=Se||Y.shouldAssert(2),N($,ae,Te,Se),cS(Te))return $;if($.statements.length===0)return Ci.parseSourceFile($.fileName,ae,$.languageVersion,void 0,!0,$.scriptKind,$.setExternalModuleIndicator);let Ye=$;Y.assert(!Ye.hasBeenIncrementallyParsed),Ye.hasBeenIncrementallyParsed=!0,Ci.fixupParentReferences(Ye);let Ne=$.text,oe=X($),Ve=g($,Te);N($,ae,Ve,Se),Y.assert(Ve.span.start<=Te.span.start),Y.assert(Ir(Ve.span)===Ir(Te.span)),Y.assert(Ir(R_(Ve))===Ir(R_(Te)));let pt=R_(Ve).length-Ve.span.length;A(Ye,Ve.span.start,Ir(Ve.span),Ir(R_(Ve)),pt,Ne,ae,Se);let Gt=Ci.parseSourceFile($.fileName,ae,$.languageVersion,oe,!0,$.scriptKind,$.setExternalModuleIndicator);return Gt.commentDirectives=r($.commentDirectives,Gt.commentDirectives,Ve.span.start,Ir(Ve.span),pt,Ne,ae,Se),Gt.impliedNodeFormat=$.impliedNodeFormat,Gt}e.updateSourceFile=t;function r($,ae,Te,Se,Ye,Ne,oe,Ve){if(!$)return ae;let pt,Gt=!1;for(let Xt of $){let{range:er,type:Tn}=Xt;if(er.endSe){Nt();let Hr={range:{pos:er.pos+Ye,end:er.end+Ye},type:Tn};pt=tr(pt,Hr),Ve&&Y.assert(Ne.substring(er.pos,er.end)===oe.substring(Hr.range.pos,Hr.range.end))}}return Nt(),pt;function Nt(){Gt||(Gt=!0,pt?ae&&pt.push(...ae):pt=ae)}}function s($,ae,Te,Se,Ye,Ne){ae?Ve($):oe($);return;function oe(pt){let Gt="";if(Ne&&f(pt)&&(Gt=Se.substring(pt.pos,pt.end)),pt._children&&(pt._children=void 0),Us(pt,pt.pos+Te,pt.end+Te),Ne&&f(pt)&&Y.assert(Gt===Ye.substring(pt.pos,pt.end)),xr(pt,oe,Ve),ya(pt))for(let Nt of pt.jsDoc)oe(Nt);w(pt,Ne)}function Ve(pt){pt._children=void 0,Us(pt,pt.pos+Te,pt.end+Te);for(let Gt of pt)oe(Gt)}}function f($){switch($.kind){case 10:case 8:case 79:return!0}return!1}function x($,ae,Te,Se,Ye){Y.assert($.end>=ae,"Adjusting an element that was entirely before the change range"),Y.assert($.pos<=Te,"Adjusting an element that was entirely after the change range"),Y.assert($.pos<=$.end);let Ne=Math.min($.pos,Se),oe=$.end>=Te?$.end+Ye:Math.min($.end,Se);Y.assert(Ne<=oe),$.parent&&(Y.assertGreaterThanOrEqual(Ne,$.parent.pos),Y.assertLessThanOrEqual(oe,$.parent.end)),Us($,Ne,oe)}function w($,ae){if(ae){let Te=$.pos,Se=Ye=>{Y.assert(Ye.pos>=Te),Te=Ye.end};if(ya($))for(let Ye of $.jsDoc)Se(Ye);xr($,Se),Y.assert(Te<=$.end)}}function A($,ae,Te,Se,Ye,Ne,oe,Ve){pt($);return;function pt(Nt){if(Y.assert(Nt.pos<=Nt.end),Nt.pos>Te){s(Nt,!1,Ye,Ne,oe,Ve);return}let Xt=Nt.end;if(Xt>=ae){if(Nt.intersectsChange=!0,Nt._children=void 0,x(Nt,ae,Te,Se,Ye),xr(Nt,pt,Gt),ya(Nt))for(let er of Nt.jsDoc)pt(er);w(Nt,Ve);return}Y.assert(XtTe){s(Nt,!0,Ye,Ne,oe,Ve);return}let Xt=Nt.end;if(Xt>=ae){Nt.intersectsChange=!0,Nt._children=void 0,x(Nt,ae,Te,Se,Ye);for(let er of Nt)pt(er);return}Y.assert(Xt0&&oe<=1;oe++){let Ve=B($,Se);Y.assert(Ve.pos<=Se);let pt=Ve.pos;Se=Math.max(0,pt-1)}let Ye=ha(Se,Ir(ae.span)),Ne=ae.newLength+(ae.span.start-Se);return Zp(Ye,Ne)}function B($,ae){let Te=$,Se;if(xr($,Ne),Se){let oe=Ye(Se);oe.pos>Te.pos&&(Te=oe)}return Te;function Ye(oe){for(;;){let Ve=mx(oe);if(Ve)oe=Ve;else return oe}}function Ne(oe){if(!va(oe))if(oe.pos<=ae){if(oe.pos>=Te.pos&&(Te=oe),aeae),!0}}function N($,ae,Te,Se){let Ye=$.text;if(Te&&(Y.assert(Ye.length-Te.span.length+Te.newLength===ae.length),Se||Y.shouldAssert(3))){let Ne=Ye.substr(0,Te.span.start),oe=ae.substr(0,Te.span.start);Y.assert(Ne===oe);let Ve=Ye.substring(Ir(Te.span),Ye.length),pt=ae.substring(Ir(R_(Te)),ae.length);Y.assert(Ve===pt)}}function X($){let ae=$.statements,Te=0;Y.assert(Te=Gt.pos&&oe=Gt.pos&&oe{$[$.Value=-1]="Value"})(F||(F={}))})(Sd||(Sd={})),xd=new Map,_7=/^\/\/\/\s*<(\S+)\s.*?\/>/im,c7=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im}}),nF=()=>{},iF=()=>{},aF=()=>{},sF=()=>{},oF=()=>{},_F=()=>{},cF=()=>{},lF=()=>{},uF=()=>{},pF=()=>{},fF=()=>{},dF=()=>{},mF=()=>{},hF=()=>{},gF=()=>{},yF=()=>{},vF=()=>{},bF=()=>{},TF=()=>{},SF=()=>{},xF=()=>{},EF=()=>{},wF=()=>{},CF=()=>{},AF=()=>{},PF=()=>{},DF=()=>{},kF=()=>{},IF=()=>{},NF=()=>{},OF=()=>{},MF=()=>{},LF=()=>{},RF=()=>{},jF=()=>{},JF=()=>{},FF=()=>{},BF=()=>{},qF=()=>{},UF=()=>{},zF=()=>{},WF=()=>{},VF=()=>{},HF=()=>{},GF=()=>{},$F=()=>{},nn=D({"src/compiler/_namespaces/ts.ts"(){"use strict";E(),L5(),PT(),R5(),j5(),F5(),U5(),NT(),W5(),sA(),oA(),hA(),iD(),OL(),ML(),LL(),RL(),KL(),XL(),YL(),Pj(),qJ(),UJ(),rF(),nF(),iF(),aF(),sF(),_F(),cF(),lF(),uF(),pF(),fF(),dF(),mF(),hF(),gF(),yF(),vF(),bF(),TF(),SF(),xF(),EF(),wF(),CF(),AF(),PF(),DF(),kF(),IF(),NF(),OF(),MF(),LF(),RF(),jF(),JF(),FF(),BF(),qF(),UF(),zF(),WF(),VF(),HF(),GF(),$F(),oF(),IT()}}),l7=()=>{},KF=()=>{},u7=()=>{},Zo,u7=()=>{PT(),Zo=Po(99,!0)},XF=()=>{},YF=()=>{},QF=()=>{},ZF=()=>{},eB=()=>{},tB=()=>{},rB=()=>{},nB=()=>{},iB=()=>{},aB=()=>{},p7=()=>{},f7=()=>{};function d7(e,t,r,s){let f=gl(e)?new wd(e,t,r):e===79?new Ad(79,t,r):e===80?new Pd(80,t,r):new O2(e,t,r);return f.parent=s,f.flags=s.flags&50720768,f}function sB(e,t){if(!gl(e.kind))return Bt;let r=[];if(c3(e))return e.forEachChild(w=>{r.push(w)}),r;Zo.setText((t||e.getSourceFile()).text);let s=e.pos,f=w=>{_u(r,s,w.pos,e),r.push(w),s=w.end},x=w=>{_u(r,s,w.pos,e),r.push(oB(w,e)),s=w.end};return c(e.jsDoc,f),s=e.pos,e.forEachChild(f,x),_u(r,s,e.end,e),Zo.setText(void 0),r}function _u(e,t,r,s){for(Zo.setTextPos(t);tt.tagName.text==="inheritDoc"||t.tagName.text==="inheritdoc")}function Ed(e,t){if(!e)return Bt;let r=ts_JsDoc_exports.getJsDocTagsFromDeclarations(e,t);if(t&&(r.length===0||e.some(m7))){let s=new Set;for(let f of e){let x=h7(t,f,w=>{var A;if(!s.has(w))return s.add(w),f.kind===174||f.kind===175?w.getContextualJsDocTags(f,t):((A=w.declarations)==null?void 0:A.length)===1?w.getJsDocTags():void 0});x&&(r=[...x,...r])}}return r}function cu(e,t){if(!e)return Bt;let r=ts_JsDoc_exports.getJsDocCommentsFromDeclarations(e,t);if(t&&(r.length===0||e.some(m7))){let s=new Set;for(let f of e){let x=h7(t,f,w=>{if(!s.has(w))return s.add(w),f.kind===174||f.kind===175?w.getContextualDocumentationComment(f,t):w.getDocumentationComment(t)});x&&(r=r.length===0?x.slice():x.concat(lineBreakPart(),r))}}return r}function h7(e,t,r){var s;let f=((s=t.parent)==null?void 0:s.kind)===173?t.parent.parent:t.parent;if(!f)return;let x=Lf(t);return q(h4(f),w=>{let A=e.getTypeAtLocation(w),g=x&&A.symbol?e.getTypeOfSymbol(A.symbol):A,B=e.getPropertyOfType(g,t.symbol.name);return B?r(B):void 0})}function _B(){return{getNodeConstructor:()=>wd,getTokenConstructor:()=>O2,getIdentifierConstructor:()=>Ad,getPrivateIdentifierConstructor:()=>Pd,getSourceFileConstructor:()=>P7,getSymbolConstructor:()=>w7,getTypeConstructor:()=>C7,getSignatureConstructor:()=>A7,getSourceMapSourceConstructor:()=>D7}}function lu(e){let t=!0;for(let s in e)if(Jr(e,s)&&!g7(s)){t=!1;break}if(t)return e;let r={};for(let s in e)if(Jr(e,s)){let f=g7(s)?s:s.charAt(0).toLowerCase()+s.substr(1);r[f]=e[s]}return r}function g7(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function cB(e){return e?Ze(e,t=>t.text).join(""):""}function y7(){return{target:1,jsx:1}}function v7(){return ts_codefix_exports.getSupportedErrorCodes()}function b7(e,t,r){e.version=r,e.scriptSnapshot=t}function N2(e,t,r,s,f,x){let w=YE(e,getSnapshotText(t),r,f,x);return b7(w,t,s),w}function T7(e,t,r,s,f){if(s&&r!==e.version){let w,A=s.span.start!==0?e.text.substr(0,s.span.start):"",g=Ir(s.span)!==e.text.length?e.text.substr(Ir(s.span)):"";if(s.newLength===0)w=A&&g?A+g:A||g;else{let N=t.getText(s.span.start,s.span.start+s.newLength);w=A&&g?A+N+g:A?A+N:N+g}let B=k2(e,w,s,f);return b7(B,t,r),B.nameTable=void 0,e!==B&&e.scriptSnapshot&&(e.scriptSnapshot.dispose&&e.scriptSnapshot.dispose(),e.scriptSnapshot=void 0),B}let x={languageVersion:e.languageVersion,impliedNodeFormat:e.impliedNodeFormat,setExternalModuleIndicator:e.setExternalModuleIndicator};return N2(e.fileName,t,x,r,!0,e.scriptKind)}function lB(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:createDocumentRegistry(e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames(),e.getCurrentDirectory()),r=arguments.length>2?arguments[2]:void 0;var s;let f;r===void 0?f=0:typeof r=="boolean"?f=r?2:0:f=r;let x=new k7(e),w,A,g=0,B=e.getCancellationToken?new N7(e.getCancellationToken()):I7,N=e.getCurrentDirectory();vx((s=e.getLocalizedDiagnosticMessages)==null?void 0:s.bind(e));function X(Z){e.log&&e.log(Z)}let F=J0(e),$=wp(F),ae=getSourceMapper({useCaseSensitiveFileNames:()=>F,getCurrentDirectory:()=>N,getProgram:Ye,fileExists:le(e,e.fileExists),readFile:le(e,e.readFile),getDocumentPositionMapper:le(e,e.getDocumentPositionMapper),getSourceFileLike:le(e,e.getSourceFileLike),log:X});function Te(Z){let ie=w.getSourceFile(Z);if(!ie){let U=new Error(`Could not find source file: '${Z}'.`);throw U.ProgramFiles=w.getSourceFiles().map(L=>L.fileName),U}return ie}function Se(){var Z,ie,U;if(Y.assert(f!==2),e.getProjectVersion){let Tt=e.getProjectVersion();if(Tt){if(A===Tt&&!((Z=e.hasChangedAutomaticTypeDirectiveNames)!=null&&Z.call(e)))return;A=Tt}}let L=e.getTypeRootsVersion?e.getTypeRootsVersion():0;g!==L&&(X("TypeRoots version has changed; provide new program"),w=void 0,g=L);let fe=e.getScriptFileNames().slice(),T=e.getCompilationSettings()||y7(),it=e.hasInvalidatedResolutions||w_,mt=le(e,e.hasChangedAutomaticTypeDirectiveNames),_e=(ie=e.getProjectReferences)==null?void 0:ie.call(e),Ge,bt={getSourceFile:wt,getSourceFileByPath:Tr,getCancellationToken:()=>B,getCanonicalFileName:$,useCaseSensitiveFileNames:()=>F,getNewLine:()=>ox(T),getDefaultLibFileName:Tt=>e.getDefaultLibFileName(Tt),writeFile:yn,getCurrentDirectory:()=>N,fileExists:Tt=>e.fileExists(Tt),readFile:Tt=>e.readFile&&e.readFile(Tt),getSymlinkCache:le(e,e.getSymlinkCache),realpath:le(e,e.realpath),directoryExists:Tt=>sx(Tt,e),getDirectories:Tt=>e.getDirectories?e.getDirectories(Tt):[],readDirectory:(Tt,kt,de,jn,Zi)=>(Y.checkDefined(e.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),e.readDirectory(Tt,kt,de,jn,Zi)),onReleaseOldSourceFile:Rn,onReleaseParsedCommandLine:yr,hasInvalidatedResolutions:it,hasChangedAutomaticTypeDirectiveNames:mt,trace:le(e,e.trace),resolveModuleNames:le(e,e.resolveModuleNames),getModuleResolutionCache:le(e,e.getModuleResolutionCache),createHash:le(e,e.createHash),resolveTypeReferenceDirectives:le(e,e.resolveTypeReferenceDirectives),resolveModuleNameLiterals:le(e,e.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:le(e,e.resolveTypeReferenceDirectiveReferences),useSourceOfProjectReferenceRedirect:le(e,e.useSourceOfProjectReferenceRedirect),getParsedCommandLine:Dr},jt=bt.getSourceFile,{getSourceFileWithCache:Yt}=changeCompilerHostLikeToUseCache(bt,Tt=>Ui(Tt,N,$),function(){for(var Tt=arguments.length,kt=new Array(Tt),de=0;debt.fileExists(Tt),readFile:Tt=>bt.readFile(Tt),readDirectory:function(){return bt.readDirectory(...arguments)},trace:bt.trace,getCurrentDirectory:bt.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:yn},Wt=t.getKeyForCompilationSettings(T);if(isProgramUptoDate(w,fe,T,(Tt,kt)=>e.getScriptVersion(kt),Tt=>bt.fileExists(Tt),it,mt,Dr,_e))return;let Xr={rootNames:fe,options:T,host:bt,oldProgram:w,projectReferences:_e};w=createProgram(Xr),bt=void 0,Ge=void 0,ae.clearCache(),w.getTypeChecker();return;function Dr(Tt){let kt=Ui(Tt,N,$),de=Ge==null?void 0:Ge.get(kt);if(de!==void 0)return de||void 0;let jn=e.getParsedCommandLine?e.getParsedCommandLine(Tt):Lr(Tt);return(Ge||(Ge=new Map)).set(kt,jn||!1),jn}function Lr(Tt){let kt=wt(Tt,100);if(kt)return kt.path=Ui(Tt,N,$),kt.resolvedPath=kt.path,kt.originalFileName=kt.fileName,parseJsonSourceFileConfigFileContent(kt,$t,as(ma(Tt),N),void 0,as(Tt,N))}function yr(Tt,kt,de){var jn;e.getParsedCommandLine?(jn=e.onReleaseParsedCommandLine)==null||jn.call(e,Tt,kt,de):kt&&Rn(kt.sourceFile,de)}function Rn(Tt,kt){let de=t.getKeyForCompilationSettings(kt);t.releaseDocumentWithKey(Tt.resolvedPath,de,Tt.scriptKind,Tt.impliedNodeFormat)}function wt(Tt,kt,de,jn){return Tr(Tt,Ui(Tt,N,$),kt,de,jn)}function Tr(Tt,kt,de,jn,Zi){Y.assert(bt,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");let Pa=e.getScriptSnapshot(Tt);if(!Pa)return;let e_=getScriptKind(Tt,e),mc=e.getScriptVersion(Tt);if(!Zi){let Da=w&&w.getSourceFileByPath(kt);if(Da){if(e_===Da.scriptKind)return t.updateDocumentWithKey(Tt,kt,e,Wt,Pa,mc,e_,de);t.releaseDocumentWithKey(Da.resolvedPath,t.getKeyForCompilationSettings(w.getCompilerOptions()),Da.scriptKind,Da.impliedNodeFormat)}}return t.acquireDocumentWithKey(Tt,kt,e,Wt,Pa,mc,e_,de)}}function Ye(){if(f===2){Y.assert(w===void 0);return}return Se(),w}function Ne(){var Z;return(Z=e.getPackageJsonAutoImportProvider)==null?void 0:Z.call(e)}function oe(Z,ie){let U=w.getTypeChecker(),L=fe();if(!L)return!1;for(let it of Z)for(let mt of it.references){let _e=T(mt);if(Y.assertIsDefined(_e),ie.has(mt)||ts_FindAllReferences_exports.isDeclarationOfSymbol(_e,L)){ie.add(mt),mt.isDefinition=!0;let Ge=getMappedDocumentSpan(mt,ae,le(e,e.fileExists));Ge&&ie.add(Ge)}else mt.isDefinition=!1}return!0;function fe(){for(let it of Z)for(let mt of it.references){if(ie.has(mt)){let Ge=T(mt);return Y.assertIsDefined(Ge),U.getSymbolAtLocation(Ge)}let _e=getMappedDocumentSpan(mt,ae,le(e,e.fileExists));if(_e&&ie.has(_e)){let Ge=T(_e);if(Ge)return U.getSymbolAtLocation(Ge)}}}function T(it){let mt=w.getSourceFile(it.fileName);if(!mt)return;let _e=getTouchingPropertyName(mt,it.textSpan.start);return ts_FindAllReferences_exports.Core.getAdjustedNode(_e,{use:ts_FindAllReferences_exports.FindReferencesUse.References})}}function Ve(){w=void 0}function pt(){if(w){let Z=t.getKeyForCompilationSettings(w.getCompilerOptions());c(w.getSourceFiles(),ie=>t.releaseDocumentWithKey(ie.resolvedPath,Z,ie.scriptKind,ie.impliedNodeFormat)),w=void 0}e=void 0}function Gt(Z){return Se(),w.getSyntacticDiagnostics(Te(Z),B).slice()}function Nt(Z){Se();let ie=Te(Z),U=w.getSemanticDiagnostics(ie,B);if(!cv(w.getCompilerOptions()))return U.slice();let L=w.getDeclarationDiagnostics(ie,B);return[...U,...L]}function Xt(Z){return Se(),computeSuggestionDiagnostics(Te(Z),w,B)}function er(){return Se(),[...w.getOptionsDiagnostics(B),...w.getGlobalDiagnostics(B)]}function Tn(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,L=arguments.length>3?arguments[3]:void 0,fe=Object.assign(Object.assign({},U),{},{includeCompletionsForModuleExports:U.includeCompletionsForModuleExports||U.includeExternalModuleExports,includeCompletionsWithInsertText:U.includeCompletionsWithInsertText||U.includeInsertTextCompletions});return Se(),ts_Completions_exports.getCompletionsAtPosition(e,w,X,Te(Z),ie,fe,U.triggerCharacter,U.triggerKind,B,L&&ts_formatting_exports.getFormatContext(L,e),U.includeSymbol)}function Hr(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions,it=arguments.length>6?arguments[6]:void 0;return Se(),ts_Completions_exports.getCompletionEntryDetails(w,X,Te(Z),ie,{name:U,source:fe,data:it},e,L&&ts_formatting_exports.getFormatContext(L,e),T,B)}function Gi(Z,ie,U,L){let fe=arguments.length>4&&arguments[4]!==void 0?arguments[4]:emptyOptions;return Se(),ts_Completions_exports.getCompletionEntrySymbol(w,X,Te(Z),ie,{name:U,source:L},e,fe)}function pn(Z,ie){Se();let U=Te(Z),L=getTouchingPropertyName(U,ie);if(L===U)return;let fe=w.getTypeChecker(),T=fn(L),it=mB(T,fe);if(!it||fe.isUnknownSymbol(it)){let jt=Ut(U,T,ie)?fe.getTypeAtLocation(T):void 0;return jt&&{kind:"",kindModifiers:"",textSpan:createTextSpanFromNode(T,U),displayParts:fe.runWithCancellationToken(B,Yt=>typeToDisplayParts(Yt,jt,getContainerNode(T))),documentation:jt.symbol?jt.symbol.getDocumentationComment(fe):void 0,tags:jt.symbol?jt.symbol.getJsDocTags(fe):void 0}}let{symbolKind:mt,displayParts:_e,documentation:Ge,tags:bt}=fe.runWithCancellationToken(B,jt=>ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(jt,it,U,getContainerNode(T),T));return{kind:mt,kindModifiers:ts_SymbolDisplay_exports.getSymbolModifiers(fe,it),textSpan:createTextSpanFromNode(T,U),displayParts:_e,documentation:Ge,tags:bt}}function fn(Z){return X8(Z.parent)&&Z.pos===Z.parent.pos?Z.parent.expression:$v(Z.parent)&&Z.pos===Z.parent.pos||o0(Z.parent)&&Z.parent.name===Z?Z.parent:Z}function Ut(Z,ie,U){switch(ie.kind){case 79:return!isLabelName(ie)&&!isTagName(ie)&&!jS(ie.parent);case 208:case 163:return!isInComment(Z,U);case 108:case 194:case 106:case 199:return!0;case 233:return o0(ie);default:return!1}}function kn(Z,ie,U,L){return Se(),ts_GoToDefinition_exports.getDefinitionAtPosition(w,Te(Z),ie,U,L)}function an(Z,ie){return Se(),ts_GoToDefinition_exports.getDefinitionAndBoundSpan(w,Te(Z),ie)}function mr(Z,ie){return Se(),ts_GoToDefinition_exports.getTypeDefinitionAtPosition(w.getTypeChecker(),Te(Z),ie)}function $i(Z,ie){return Se(),ts_FindAllReferences_exports.getImplementationsAtPosition(w,B,w.getSourceFiles(),Te(Z),ie)}function dn(Z,ie){return ne(Ur(Z,ie,[Z]),U=>U.highlightSpans.map(L=>Object.assign(Object.assign({fileName:U.fileName,textSpan:L.textSpan,isWriteAccess:L.kind==="writtenReference"},L.isInString&&{isInString:!0}),L.contextSpan&&{contextSpan:L.contextSpan})))}function Ur(Z,ie,U){let L=Un(Z);Y.assert(U.some(it=>Un(it)===L)),Se();let fe=qt(U,it=>w.getSourceFile(it)),T=Te(Z);return DocumentHighlights.getDocumentHighlights(w,B,T,ie,fe)}function Gr(Z,ie,U,L,fe){Se();let T=Te(Z),it=getAdjustedRenameLocation(getTouchingPropertyName(T,ie));if(ts_Rename_exports.nodeIsEligibleForRename(it))if(yt(it)&&(tu(it.parent)||sE(it.parent))&&P4(it.escapedText)){let{openingElement:mt,closingElement:_e}=it.parent.parent;return[mt,_e].map(Ge=>{let bt=createTextSpanFromNode(Ge.tagName,T);return Object.assign({fileName:T.fileName,textSpan:bt},ts_FindAllReferences_exports.toContextSpan(bt,T,Ge.parent))})}else return Sn(it,ie,{findInStrings:U,findInComments:L,providePrefixAndSuffixTextForRename:fe,use:ts_FindAllReferences_exports.FindReferencesUse.Rename},(mt,_e,Ge)=>ts_FindAllReferences_exports.toRenameLocation(mt,_e,Ge,fe||!1))}function _r(Z,ie){return Se(),Sn(getTouchingPropertyName(Te(Z),ie),ie,{use:ts_FindAllReferences_exports.FindReferencesUse.References},ts_FindAllReferences_exports.toReferenceEntry)}function Sn(Z,ie,U,L){Se();let fe=U&&U.use===ts_FindAllReferences_exports.FindReferencesUse.Rename?w.getSourceFiles().filter(T=>!w.isSourceFileDefaultLibrary(T)):w.getSourceFiles();return ts_FindAllReferences_exports.findReferenceOrRenameEntries(w,B,fe,Z,ie,U,L)}function In(Z,ie){return Se(),ts_FindAllReferences_exports.findReferencedSymbols(w,B,w.getSourceFiles(),Te(Z),ie)}function pr(Z){return Se(),ts_FindAllReferences_exports.Core.getReferencesForFileName(Z,w,w.getSourceFiles()).map(ts_FindAllReferences_exports.toReferenceEntry)}function Zt(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;Se();let fe=U?[Te(U)]:w.getSourceFiles();return getNavigateToItems(fe,w.getTypeChecker(),B,Z,ie,L)}function Or(Z,ie,U){Se();let L=Te(Z),fe=e.getCustomTransformers&&e.getCustomTransformers();return getFileEmitOutput(w,L,!!ie,B,fe,U)}function Nn(Z,ie){let{triggerReason:U}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let L=Te(Z);return ts_SignatureHelp_exports.getSignatureHelpItems(w,L,ie,U,B)}function ar(Z){return x.getCurrentSourceFile(Z)}function oi(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=getTouchingPropertyName(L,ie);if(fe===L)return;switch(fe.kind){case 208:case 163:case 10:case 95:case 110:case 104:case 106:case 108:case 194:case 79:break;default:return}let T=fe;for(;;)if(isRightSideOfPropertyAccess(T)||isRightSideOfQualifiedName(T))T=T.parent;else if(isNameOfModuleDeclaration(T))if(T.parent.parent.kind===264&&T.parent.parent.body===T.parent)T=T.parent.parent.name;else break;else break;return ha(T.getStart(),fe.getEnd())}function cr(Z,ie){let U=x.getCurrentSourceFile(Z);return ts_BreakpointResolver_exports.spanInSourceFileAtLocation(U,ie)}function $r(Z){return getNavigationBarItems(x.getCurrentSourceFile(Z),B)}function hr(Z){return getNavigationTree(x.getCurrentSourceFile(Z),B)}function On(Z,ie,U){return Se(),(U||"original")==="2020"?ts_classifier_exports.v2020.getSemanticClassifications(w,B,Te(Z),ie):getSemanticClassifications(w.getTypeChecker(),B,Te(Z),w.getClassifiableNames(),ie)}function nr(Z,ie,U){return Se(),(U||"original")==="original"?getEncodedSemanticClassifications(w.getTypeChecker(),B,Te(Z),w.getClassifiableNames(),ie):ts_classifier_exports.v2020.getEncodedSemanticClassifications(w,B,Te(Z),ie)}function br(Z,ie){return getSyntacticClassifications(B,x.getCurrentSourceFile(Z),ie)}function Kr(Z,ie){return getEncodedSyntacticClassifications(B,x.getCurrentSourceFile(Z),ie)}function wa(Z){let ie=x.getCurrentSourceFile(Z);return ts_OutliningElementsCollector_exports.collectElements(ie,B)}let $n=new Map(Object.entries({[18]:19,[20]:21,[22]:23,[31]:29}));$n.forEach((Z,ie)=>$n.set(Z.toString(),Number(ie)));function Ki(Z,ie){let U=x.getCurrentSourceFile(Z),L=getTouchingToken(U,ie),fe=L.getStart(U)===ie?$n.get(L.kind.toString()):void 0,T=fe&&findChildOfKind(L.parent,fe,U);return T?[createTextSpanFromNode(L,U),createTextSpanFromNode(T,U)].sort((it,mt)=>it.start-mt.start):Bt}function Mn(Z,ie,U){let L=ts(),fe=lu(U),T=x.getCurrentSourceFile(Z);X("getIndentationAtPosition: getCurrentSourceFile: "+(ts()-L)),L=ts();let it=ts_formatting_exports.SmartIndenter.getIndentation(ie,T,fe);return X("getIndentationAtPosition: computeIndentation : "+(ts()-L)),it}function _i(Z,ie,U,L){let fe=x.getCurrentSourceFile(Z);return ts_formatting_exports.formatSelection(ie,U,fe,ts_formatting_exports.getFormatContext(lu(L),e))}function Ca(Z,ie){return ts_formatting_exports.formatDocument(x.getCurrentSourceFile(Z),ts_formatting_exports.getFormatContext(lu(ie),e))}function St(Z,ie,U,L){let fe=x.getCurrentSourceFile(Z),T=ts_formatting_exports.getFormatContext(lu(L),e);if(!isInComment(fe,ie))switch(U){case"{":return ts_formatting_exports.formatOnOpeningCurly(ie,fe,T);case"}":return ts_formatting_exports.formatOnClosingCurly(ie,fe,T);case";":return ts_formatting_exports.formatOnSemicolon(ie,fe,T);case` -`:return ts_formatting_exports.formatOnEnter(ie,fe,T)}return[]}function ue(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let it=Te(Z),mt=ha(ie,U),_e=ts_formatting_exports.getFormatContext(fe,e);return ne(ji(L,fa,Vr),Ge=>(B.throwIfCancellationRequested(),ts_codefix_exports.getFixes({errorCode:Ge,sourceFile:it,span:mt,program:w,host:e,cancellationToken:B,formatContext:_e,preferences:T})))}function He(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;Se(),Y.assert(Z.type==="file");let fe=Te(Z.fileName),T=ts_formatting_exports.getFormatContext(U,e);return ts_codefix_exports.getAllFixes({fixId:ie,sourceFile:fe,program:w,host:e,cancellationToken:B,formatContext:T,preferences:L})}function _t(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;var L;Se(),Y.assert(Z.type==="file");let fe=Te(Z.fileName),T=ts_formatting_exports.getFormatContext(ie,e),it=(L=Z.mode)!=null?L:Z.skipDestructiveCodeActions?"SortAndCombine":"All";return ts_OrganizeImports_exports.organizeImports(fe,T,e,w,U,it)}function ft(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;return getEditsForFileRename(Ye(),Z,ie,e,ts_formatting_exports.getFormatContext(U,e),L,ae)}function Kt(Z,ie){let U=typeof Z=="string"?ie:Z;return ir(U)?Promise.all(U.map(L=>zt(L))):zt(U)}function zt(Z){let ie=U=>Ui(U,N,$);return Y.assertEqual(Z.type,"install package"),e.installPackage?e.installPackage({fileName:ie(Z.file),packageName:Z.packageName}):Promise.reject("Host does not implement `installPackage`")}function xe(Z,ie,U,L){let fe=L?ts_formatting_exports.getFormatContext(L,e).options:void 0;return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(e,fe),x.getCurrentSourceFile(Z),ie,U)}function Le(Z,ie,U){if(U===60)return!1;let L=x.getCurrentSourceFile(Z);if(isInString(L,ie))return!1;if(isInsideJsxElementOrAttribute(L,ie))return U===123;if(isInTemplateString(L,ie))return!1;switch(U){case 39:case 34:case 96:return!isInComment(L,ie)}return!0}function Re(Z,ie){let U=x.getCurrentSourceFile(Z),L=findPrecedingToken(ie,U);if(!L)return;let fe=L.kind===31&&tu(L.parent)?L.parent.parent:td(L)&&l2(L.parent)?L.parent:void 0;if(fe&&gr(fe))return{newText:``};let T=L.kind===31&&u2(L.parent)?L.parent.parent:td(L)&&pd(L.parent)?L.parent:void 0;if(T&&Ln(T))return{newText:""}}function ot(Z,ie){return{lineStarts:Z.getLineStarts(),firstLine:Z.getLineAndCharacterOfPosition(ie.pos).line,lastLine:Z.getLineAndCharacterOfPosition(ie.end).line}}function Ct(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=[],{lineStarts:T,firstLine:it,lastLine:mt}=ot(L,ie),_e=U||!1,Ge=Number.MAX_VALUE,bt=new Map,jt=new RegExp(/\S/),Yt=isInsideJsxElement(L,T[it]),$t=Yt?"{/*":"//";for(let Wt=it;Wt<=mt;Wt++){let Xr=L.text.substring(T[Wt],L.getLineEndOfPosition(T[Wt])),Dr=jt.exec(Xr);Dr&&(Ge=Math.min(Ge,Dr.index),bt.set(Wt.toString(),Dr.index),Xr.substr(Dr.index,$t.length)!==$t&&(_e=U===void 0||U))}for(let Wt=it;Wt<=mt;Wt++){if(it!==mt&&T[Wt]===ie.end)continue;let Xr=bt.get(Wt.toString());Xr!==void 0&&(Yt?fe.push.apply(fe,Mt(Z,{pos:T[Wt]+Ge,end:L.getLineEndOfPosition(T[Wt])},_e,Yt)):_e?fe.push({newText:$t,span:{length:0,start:T[Wt]+Ge}}):L.text.substr(T[Wt]+Xr,$t.length)===$t&&fe.push({newText:"",span:{length:$t.length,start:T[Wt]+Xr}}))}return fe}function Mt(Z,ie,U,L){var fe;let T=x.getCurrentSourceFile(Z),it=[],{text:mt}=T,_e=!1,Ge=U||!1,bt=[],{pos:jt}=ie,Yt=L!==void 0?L:isInsideJsxElement(T,jt),$t=Yt?"{/*":"/*",Wt=Yt?"*/}":"*/",Xr=Yt?"\\{\\/\\*":"\\/\\*",Dr=Yt?"\\*\\/\\}":"\\*\\/";for(;jt<=ie.end;){let Lr=mt.substr(jt,$t.length)===$t?$t.length:0,yr=isInComment(T,jt+Lr);if(yr)Yt&&(yr.pos--,yr.end++),bt.push(yr.pos),yr.kind===3&&bt.push(yr.end),_e=!0,jt=yr.end+1;else{let Rn=mt.substring(jt,ie.end).search(`(${Xr})|(${Dr})`);Ge=U!==void 0?U:Ge||!isTextWhiteSpaceLike(mt,jt,Rn===-1?ie.end:jt+Rn),jt=Rn===-1?ie.end+1:jt+Rn+Wt.length}}if(Ge||!_e){((fe=isInComment(T,ie.pos))==null?void 0:fe.kind)!==2&&Qn(bt,ie.pos,Vr),Qn(bt,ie.end,Vr);let Lr=bt[0];mt.substr(Lr,$t.length)!==$t&&it.push({newText:$t,span:{length:0,start:Lr}});for(let yr=1;yr0?Lr-Wt.length:0,Rn=mt.substr(yr,Wt.length)===Wt?Wt.length:0;it.push({newText:"",span:{length:$t.length,start:Lr-Rn}})}return it}function It(Z,ie){let U=x.getCurrentSourceFile(Z),{firstLine:L,lastLine:fe}=ot(U,ie);return L===fe&&ie.pos!==ie.end?Mt(Z,ie,!0):Ct(Z,ie,!0)}function Mr(Z,ie){let U=x.getCurrentSourceFile(Z),L=[],{pos:fe}=ie,{end:T}=ie;fe===T&&(T+=isInsideJsxElement(U,fe)?2:1);for(let it=fe;it<=T;it++){let mt=isInComment(U,it);if(mt){switch(mt.kind){case 2:L.push.apply(L,Ct(Z,{end:mt.end,pos:mt.pos+1},!1));break;case 3:L.push.apply(L,Mt(Z,{end:mt.end,pos:mt.pos+1},!1))}it=mt.end+1}}return L}function gr(Z){let{openingElement:ie,closingElement:U,parent:L}=Z;return!Hi(ie.tagName,U.tagName)||l2(L)&&Hi(ie.tagName,L.openingElement.tagName)&&gr(L)}function Ln(Z){let{closingFragment:ie,parent:U}=Z;return!!(ie.flags&131072)||pd(U)&&Ln(U)}function ys(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=ts_formatting_exports.getRangeOfEnclosingComment(L,ie);return fe&&(!U||fe.kind===3)?createTextSpanFromRange(fe):void 0}function ci(Z,ie){Se();let U=Te(Z);B.throwIfCancellationRequested();let L=U.text,fe=[];if(ie.length>0&&!_e(U.fileName)){let Ge=it(),bt;for(;bt=Ge.exec(L);){B.throwIfCancellationRequested();let jt=3;Y.assert(bt.length===ie.length+jt);let Yt=bt[1],$t=bt.index+Yt.length;if(!isInComment(U,$t))continue;let Wt;for(let Dr=0;Dr"("+T(yr.text)+")").join("|")+")",Wt=/(?:$|\*\/)/.source,Xr=/(?:.*?)/.source,Dr="("+$t+Xr+")",Lr=Yt+Dr+Wt;return new RegExp(Lr,"gim")}function mt(Ge){return Ge>=97&&Ge<=122||Ge>=65&&Ge<=90||Ge>=48&&Ge<=57}function _e(Ge){return Fi(Ge,"/node_modules/")}}function Xi(Z,ie,U){return Se(),ts_Rename_exports.getRenameInfo(w,Te(Z),ie,U||{})}function Aa(Z,ie,U,L,fe,T){let[it,mt]=typeof ie=="number"?[ie,void 0]:[ie.pos,ie.end];return{file:Z,startPosition:it,endPosition:mt,program:Ye(),host:e,formatContext:ts_formatting_exports.getFormatContext(L,e),cancellationToken:B,preferences:U,triggerReason:fe,kind:T}}function vs(Z,ie,U){return{file:Z,program:Ye(),host:e,span:ie,preferences:U,cancellationToken:B}}function $s(Z,ie){return ts_SmartSelectionRange_exports.getSmartSelectionRange(ie,x.getCurrentSourceFile(Z))}function li(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,L=arguments.length>3?arguments[3]:void 0,fe=arguments.length>4?arguments[4]:void 0;Se();let T=Te(Z);return ts_refactor_exports.getApplicableRefactors(Aa(T,ie,U,emptyOptions,L,fe))}function Yi(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let it=Te(Z);return ts_refactor_exports.getEditsForRefactor(Aa(it,U,T,ie),L,fe)}function Qi(Z,ie){return ie===0?{line:0,character:0}:ae.toLineColumnOffset(Z,ie)}function bs(Z,ie){Se();let U=ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,getTouchingPropertyName(Te(Z),ie));return U&&mapOneOrMany(U,L=>ts_CallHierarchy_exports.createCallHierarchyItem(w,L))}function Ai(Z,ie){Se();let U=Te(Z),L=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,ie===0?U:getTouchingPropertyName(U,ie)));return L?ts_CallHierarchy_exports.getIncomingCalls(w,L,B):[]}function xn(Z,ie){Se();let U=Te(Z),L=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,ie===0?U:getTouchingPropertyName(U,ie)));return L?ts_CallHierarchy_exports.getOutgoingCalls(w,L):[]}function Dt(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let L=Te(Z);return ts_InlayHints_exports.provideInlayHints(vs(L,ie,U))}let Pi={dispose:pt,cleanupSemanticCache:Ve,getSyntacticDiagnostics:Gt,getSemanticDiagnostics:Nt,getSuggestionDiagnostics:Xt,getCompilerOptionsDiagnostics:er,getSyntacticClassifications:br,getSemanticClassifications:On,getEncodedSyntacticClassifications:Kr,getEncodedSemanticClassifications:nr,getCompletionsAtPosition:Tn,getCompletionEntryDetails:Hr,getCompletionEntrySymbol:Gi,getSignatureHelpItems:Nn,getQuickInfoAtPosition:pn,getDefinitionAtPosition:kn,getDefinitionAndBoundSpan:an,getImplementationAtPosition:$i,getTypeDefinitionAtPosition:mr,getReferencesAtPosition:_r,findReferences:In,getFileReferences:pr,getOccurrencesAtPosition:dn,getDocumentHighlights:Ur,getNameOrDottedNameSpan:oi,getBreakpointStatementAtPosition:cr,getNavigateToItems:Zt,getRenameInfo:Xi,getSmartSelectionRange:$s,findRenameLocations:Gr,getNavigationBarItems:$r,getNavigationTree:hr,getOutliningSpans:wa,getTodoComments:ci,getBraceMatchingAtPosition:Ki,getIndentationAtPosition:Mn,getFormattingEditsForRange:_i,getFormattingEditsForDocument:Ca,getFormattingEditsAfterKeystroke:St,getDocCommentTemplateAtPosition:xe,isValidBraceCompletionAtPosition:Le,getJsxClosingTagAtPosition:Re,getSpanOfEnclosingComment:ys,getCodeFixesAtPosition:ue,getCombinedCodeFix:He,applyCodeActionCommand:Kt,organizeImports:_t,getEditsForFileRename:ft,getEmitOutput:Or,getNonBoundSourceFile:ar,getProgram:Ye,getCurrentProgram:()=>w,getAutoImportProvider:Ne,updateIsDefinitionOfReferencedSymbols:oe,getApplicableRefactors:li,getEditsForRefactor:Yi,toLineColumnOffset:Qi,getSourceMapper:()=>ae,clearSourceMapperCache:()=>ae.clearCache(),prepareCallHierarchy:bs,provideCallHierarchyIncomingCalls:Ai,provideCallHierarchyOutgoingCalls:xn,toggleLineComment:Ct,toggleMultilineComment:Mt,commentSelection:It,uncommentSelection:Mr,provideInlayHints:Dt,getSupportedCodeFixes:v7};switch(f){case 0:break;case 1:M2.forEach(Z=>Pi[Z]=()=>{throw new Error(`LanguageService Operation: ${Z} not allowed in LanguageServiceMode.PartialSemantic`)});break;case 2:M7.forEach(Z=>Pi[Z]=()=>{throw new Error(`LanguageService Operation: ${Z} not allowed in LanguageServiceMode.Syntactic`)});break;default:Y.assertNever(f)}return Pi}function uB(e){return e.nameTable||pB(e),e.nameTable}function pB(e){let t=e.nameTable=new Map;e.forEachChild(function r(s){if(yt(s)&&!isTagName(s)&&s.escapedText||Ta(s)&&fB(s)){let f=b4(s);t.set(f,t.get(f)===void 0?s.pos:-1)}else if(vn(s)){let f=s.escapedText;t.set(f,t.get(f)===void 0?s.pos:-1)}if(xr(s,r),ya(s))for(let f of s.jsDoc)xr(f,r)})}function fB(e){return c4(e)||e.parent.kind===280||hB(e)||l4(e)}function S7(e){let t=dB(e);return t&&(Hs(t.parent)||p2(t.parent))?t:void 0}function dB(e){switch(e.kind){case 10:case 14:case 8:if(e.parent.kind===164)return Wy(e.parent.parent)?e.parent.parent:void 0;case 79:return Wy(e.parent)&&(e.parent.parent.kind===207||e.parent.parent.kind===289)&&e.parent.name===e?e.parent:void 0}}function mB(e,t){let r=S7(e);if(r){let s=t.getContextualType(r.parent),f=s&&x7(r,t,s,!1);if(f&&f.length===1)return fo(f)}return t.getSymbolAtLocation(e)}function x7(e,t,r,s){let f=getNameFromPropertyName(e.name);if(!f)return Bt;if(!r.isUnion()){let w=r.getProperty(f);return w?[w]:Bt}let x=qt(r.types,w=>(Hs(e.parent)||p2(e.parent))&&t.isTypeInvalidDueToUnionDiscriminant(w,e.parent)?void 0:w.getProperty(f));if(s&&(x.length===0||x.length===r.types.length)){let w=r.getProperty(f);if(w)return[w]}return x.length===0?qt(r.types,w=>w.getProperty(f)):x}function hB(e){return e&&e.parent&&e.parent.kind===209&&e.parent.argumentExpression===e}function gB(e){if(iy)return tn(ma(Un(iy.getExecutingFilePath())),aS(e));throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}var E7,wd,Cd,w7,O2,Ad,Pd,C7,A7,P7,D7,k7,I7,N7,O7,M2,M7,yB=D({"src/services/services.ts"(){"use strict";L2(),L2(),p7(),f7(),E7="0.8",wd=class{constructor(e,t,r){this.pos=t,this.end=r,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=e}assertHasRealPosition(e){Y.assert(!hs(this.pos)&&!hs(this.end),e||"Node must have a real position for this operation")}getSourceFile(){return Si(this)}getStart(e,t){return this.assertHasRealPosition(),Io(this,e,t)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos}getFullText(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(e){return this.getChildren(e).length}getChildAt(e,t){return this.getChildren(t)[e]}getChildren(e){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=sB(this,e))}getFirstToken(e){this.assertHasRealPosition();let t=this.getChildren(e);if(!t.length)return;let r=Ae(t,s=>s.kind<312||s.kind>353);return r.kind<163?r:r.getFirstToken(e)}getLastToken(e){this.assertHasRealPosition();let t=this.getChildren(e),r=Cn(t);if(r)return r.kind<163?r:r.getLastToken(e)}forEachChild(e,t){return xr(this,e,t)}},Cd=class{constructor(e,t){this.pos=e,this.end=t,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}getSourceFile(){return Si(this)}getStart(e,t){return Io(this,e,t)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(e){return this.getEnd()-this.getStart(e)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(e){return this.getStart(e)-this.pos}getFullText(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(e){return this.getChildren()[e]}getChildren(){return this.kind===1&&this.jsDoc||Bt}getFirstToken(){}getLastToken(){}forEachChild(){}},w7=class{constructor(e,t){this.id=0,this.mergeId=0,this.flags=e,this.escapedName=t}getFlags(){return this.flags}get name(){return rf(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(e){if(!this.documentationComment)if(this.documentationComment=Bt,!this.declarations&&$y(this)&&this.links.target&&$y(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let t=this.links.target.links.tupleLabelDeclaration;this.documentationComment=cu([t],e)}else this.documentationComment=cu(this.declarations,e);return this.documentationComment}getContextualDocumentationComment(e,t){if(e){if(Tl(e)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=cu(ee(this.declarations,Tl),t)),I(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(bl(e)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=cu(ee(this.declarations,bl),t)),I(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(t)}getJsDocTags(e){return this.tags===void 0&&(this.tags=Ed(this.declarations,e)),this.tags}getContextualJsDocTags(e,t){if(e){if(Tl(e)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=Ed(ee(this.declarations,Tl),t)),I(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(bl(e)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=Ed(ee(this.declarations,bl),t)),I(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(t)}},O2=class extends Cd{constructor(e,t,r){super(t,r),this.kind=e}},Ad=class extends Cd{constructor(e,t,r){super(t,r),this.kind=79}get text(){return qr(this)}},Ad.prototype.kind=79,Pd=class extends Cd{constructor(e,t,r){super(t,r),this.kind=80}get text(){return qr(this)}},Pd.prototype.kind=80,C7=class{constructor(e,t){this.checker=e,this.flags=t}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(e){return this.checker.getPropertyOfType(this,e)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(Bf(this)&3)}isClass(){return!!(Bf(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(Bf(this)&4)return this.checker.getTypeArguments(this)}},A7=class{constructor(e,t){this.checker=e,this.flags=t}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(e){let t=this.checker.getParameterType(this,e);if(t.isIndexType()&&Kx(t.type)){let r=t.type.getConstraint();if(r)return this.checker.getIndexType(r)}return t}getDocumentationComment(){return this.documentationComment||(this.documentationComment=cu(Cp(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=Ed(Cp(this.declaration),this.checker))}},P7=class extends wd{constructor(e,t,r){super(e,t,r),this.kind=308}update(e,t){return k2(this,e,t)}getLineAndCharacterOfPosition(e){return Ls(this,e)}getLineStarts(){return ss(this)}getPositionOfLineAndCharacter(e,t,r){return dy(ss(this),e,t,this.text,r)}getLineEndOfPosition(e){let{line:t}=this.getLineAndCharacterOfPosition(e),r=this.getLineStarts(),s;t+1>=r.length&&(s=this.getEnd()),s||(s=r[t+1]-1);let f=this.getFullText();return f[s]===` -`&&f[s-1]==="\r"?s-1:s}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let e=Be();return this.forEachChild(f),e;function t(x){let w=s(x);w&&e.add(w,x)}function r(x){let w=e.get(x);return w||e.set(x,w=[]),w}function s(x){let w=Ey(x);return w&&(Ws(w)&&bn(w.expression)?w.expression.name.text:vl(w)?getNameFromPropertyName(w):void 0)}function f(x){switch(x.kind){case 259:case 215:case 171:case 170:let w=x,A=s(w);if(A){let N=r(A),X=Cn(N);X&&w.parent===X.parent&&w.symbol===X.symbol?w.body&&!X.body&&(N[N.length-1]=w):N.push(w)}xr(x,f);break;case 260:case 228:case 261:case 262:case 263:case 264:case 268:case 278:case 273:case 270:case 271:case 174:case 175:case 184:t(x),xr(x,f);break;case 166:if(!rn(x,16476))break;case 257:case 205:{let N=x;if(df(N.name)){xr(N.name,f);break}N.initializer&&f(N.initializer)}case 302:case 169:case 168:t(x);break;case 275:let g=x;g.exportClause&&(iE(g.exportClause)?c(g.exportClause.elements,f):f(g.exportClause.name));break;case 269:let B=x.importClause;B&&(B.name&&t(B.name),B.namedBindings&&(B.namedBindings.kind===271?t(B.namedBindings):c(B.namedBindings.elements,f)));break;case 223:ps(x)!==0&&t(x);default:xr(x,f)}}}},D7=class{constructor(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}getLineAndCharacterOfPosition(e){return Ls(this,e)}},k7=class{constructor(e){this.host=e}getCurrentSourceFile(e){var t,r,s,f,x,w,A,g;let B=this.host.getScriptSnapshot(e);if(!B)throw new Error("Could not find file: '"+e+"'.");let N=getScriptKind(e,this.host),X=this.host.getScriptVersion(e),F;if(this.currentFileName!==e){let $={languageVersion:99,impliedNodeFormat:getImpliedNodeFormatForFile(Ui(e,this.host.getCurrentDirectory(),((s=(r=(t=this.host).getCompilerHost)==null?void 0:r.call(t))==null?void 0:s.getCanonicalFileName)||D4(this.host)),(g=(A=(w=(x=(f=this.host).getCompilerHost)==null?void 0:x.call(f))==null?void 0:w.getModuleResolutionCache)==null?void 0:A.call(w))==null?void 0:g.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:Ex(this.host.getCompilationSettings())};F=N2(e,B,$,X,!0,N)}else if(this.currentFileVersion!==X){let $=B.getChangeRange(this.currentFileScriptSnapshot);F=T7(this.currentSourceFile,B,X,$)}return F&&(this.currentFileVersion=X,this.currentFileName=e,this.currentFileScriptSnapshot=B,this.currentSourceFile=F),this.currentSourceFile}},I7={isCancellationRequested:w_,throwIfCancellationRequested:yn},N7=class{constructor(e){this.cancellationToken=e}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=rs)==null||e.instant(rs.Phase.Session,"cancellationThrown",{kind:"CancellationTokenObject"}),new Rp}},O7=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20;this.hostCancellationToken=e,this.throttleWaitMilliseconds=t,this.lastCancellationCheckTime=0}isCancellationRequested(){let e=ts();return Math.abs(e-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=e,this.hostCancellationToken.isCancellationRequested()):!1}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=rs)==null||e.instant(rs.Phase.Session,"cancellationThrown",{kind:"ThrottledCancellationToken"}),new Rp}},M2=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes"],M7=[...M2,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],gx(_B())}}),vB=()=>{},bB=()=>{},TB=()=>{},SB=()=>{},xB=()=>{},EB=()=>{},wB=()=>{},CB=()=>{},AB=()=>{},PB=()=>{},DB=()=>{},kB=()=>{},IB=()=>{},NB=()=>{},OB=()=>{},MB=()=>{},LB=()=>{},RB=()=>{},jB=()=>{},JB=()=>{},L2=D({"src/services/_namespaces/ts.ts"(){"use strict";nn(),l7(),KF(),u7(),XF(),YF(),QF(),ZF(),eB(),tB(),rB(),nB(),iB(),aB(),yB(),vB(),bB(),TB(),SB(),xB(),EB(),wB(),CB(),AB(),PB(),DB(),p7(),f7(),kB(),IB(),NB(),OB(),MB(),LB(),RB(),jB(),JB()}}),FB=()=>{},L7={};y(L7,{ANONYMOUS:()=>ANONYMOUS,AccessFlags:()=>Cg,AssertionLevel:()=>$1,AssignmentDeclarationKind:()=>Mg,AssignmentKind:()=>Sv,Associativity:()=>Ev,BreakpointResolver:()=>ts_BreakpointResolver_exports,BuilderFileEmit:()=>BuilderFileEmit,BuilderProgramKind:()=>BuilderProgramKind,BuilderState:()=>BuilderState,BundleFileSectionKind:()=>ty,CallHierarchy:()=>ts_CallHierarchy_exports,CharacterCodes:()=>$g,CheckFlags:()=>Tg,CheckMode:()=>CheckMode,ClassificationType:()=>ClassificationType,ClassificationTypeNames:()=>ClassificationTypeNames,CommentDirectiveType:()=>ig,Comparison:()=>d,CompletionInfoFlags:()=>CompletionInfoFlags,CompletionTriggerKind:()=>CompletionTriggerKind,Completions:()=>ts_Completions_exports,ConfigFileProgramReloadLevel:()=>ConfigFileProgramReloadLevel,ContextFlags:()=>pg,CoreServicesShimHostAdapter:()=>CoreServicesShimHostAdapter,Debug:()=>Y,DiagnosticCategory:()=>qp,Diagnostics:()=>ve,DocumentHighlights:()=>DocumentHighlights,ElementFlags:()=>wg,EmitFlags:()=>Wp,EmitHint:()=>Qg,EmitOnly:()=>og,EndOfLineState:()=>EndOfLineState,EnumKind:()=>bg,ExitStatus:()=>cg,ExportKind:()=>ExportKind,Extension:()=>Kg,ExternalEmitHelpers:()=>Yg,FileIncludeKind:()=>ag,FilePreprocessingDiagnosticsKind:()=>sg,FileSystemEntryKind:()=>FileSystemEntryKind,FileWatcherEventKind:()=>FileWatcherEventKind,FindAllReferences:()=>ts_FindAllReferences_exports,FlattenLevel:()=>FlattenLevel,FlowFlags:()=>il,ForegroundColorEscapeSequences:()=>ForegroundColorEscapeSequences,FunctionFlags:()=>xv,GeneratedIdentifierFlags:()=>rg,GetLiteralTextFlags:()=>vv,GoToDefinition:()=>ts_GoToDefinition_exports,HighlightSpanKind:()=>HighlightSpanKind,ImportKind:()=>ImportKind,ImportsNotUsedAsValues:()=>Ug,IndentStyle:()=>IndentStyle,IndexKind:()=>Dg,InferenceFlags:()=>Ng,InferencePriority:()=>Ig,InlayHintKind:()=>InlayHintKind,InlayHints:()=>ts_InlayHints_exports,InternalEmitFlags:()=>Xg,InternalSymbolName:()=>Sg,InvalidatedProjectKind:()=>InvalidatedProjectKind,JsDoc:()=>ts_JsDoc_exports,JsTyping:()=>ts_JsTyping_exports,JsxEmit:()=>qg,JsxFlags:()=>tg,JsxReferenceKind:()=>Ag,LanguageServiceMode:()=>LanguageServiceMode,LanguageServiceShimHostAdapter:()=>LanguageServiceShimHostAdapter,LanguageVariant:()=>Hg,LexicalEnvironmentFlags:()=>ey,ListFormat:()=>ry,LogLevel:()=>Y1,MemberOverrideStatus:()=>lg,ModifierFlags:()=>Mp,ModuleDetectionKind:()=>Rg,ModuleInstanceState:()=>ModuleInstanceState,ModuleKind:()=>Bg,ModuleResolutionKind:()=>Lg,ModuleSpecifierEnding:()=>jv,NavigateTo:()=>ts_NavigateTo_exports,NavigationBar:()=>ts_NavigationBar_exports,NewLineKind:()=>zg,NodeBuilderFlags:()=>fg,NodeCheckFlags:()=>xg,NodeFactoryFlags:()=>Fv,NodeFlags:()=>Op,NodeResolutionFeatures:()=>NodeResolutionFeatures,ObjectFlags:()=>Fp,OperationCanceledException:()=>Rp,OperatorPrecedence:()=>wv,OrganizeImports:()=>ts_OrganizeImports_exports,OrganizeImportsMode:()=>OrganizeImportsMode,OuterExpressionKinds:()=>Zg,OutliningElementsCollector:()=>ts_OutliningElementsCollector_exports,OutliningSpanKind:()=>OutliningSpanKind,OutputFileType:()=>OutputFileType,PackageJsonAutoImportPreference:()=>PackageJsonAutoImportPreference,PackageJsonDependencyGroup:()=>PackageJsonDependencyGroup,PatternMatchKind:()=>PatternMatchKind,PollingInterval:()=>PollingInterval,PollingWatchKind:()=>Fg,PragmaKindFlags:()=>ny,PrivateIdentifierKind:()=>PrivateIdentifierKind,ProcessLevel:()=>ProcessLevel,QuotePreference:()=>QuotePreference,RelationComparisonResult:()=>Lp,Rename:()=>ts_Rename_exports,ScriptElementKind:()=>ScriptElementKind,ScriptElementKindModifier:()=>ScriptElementKindModifier,ScriptKind:()=>Wg,ScriptSnapshot:()=>ScriptSnapshot,ScriptTarget:()=>Vg,SemanticClassificationFormat:()=>SemanticClassificationFormat,SemanticMeaning:()=>SemanticMeaning,SemicolonPreference:()=>SemicolonPreference,SignatureCheckMode:()=>SignatureCheckMode,SignatureFlags:()=>Bp,SignatureHelp:()=>ts_SignatureHelp_exports,SignatureKind:()=>Pg,SmartSelectionRange:()=>ts_SmartSelectionRange_exports,SnippetKind:()=>zp,SortKind:()=>H1,StructureIsReused:()=>_g,SymbolAccessibility:()=>hg,SymbolDisplay:()=>ts_SymbolDisplay_exports,SymbolDisplayPartKind:()=>SymbolDisplayPartKind,SymbolFlags:()=>jp,SymbolFormatFlags:()=>mg,SyntaxKind:()=>Np,SyntheticSymbolKind:()=>gg,Ternary:()=>Og,ThrottledCancellationToken:()=>O7,TokenClass:()=>TokenClass,TokenFlags:()=>ng,TransformFlags:()=>Up,TypeFacts:()=>TypeFacts,TypeFlags:()=>Jp,TypeFormatFlags:()=>dg,TypeMapKind:()=>kg,TypePredicateKind:()=>yg,TypeReferenceSerializationKind:()=>vg,TypeScriptServicesFactory:()=>TypeScriptServicesFactory,UnionReduction:()=>ug,UpToDateStatusType:()=>UpToDateStatusType,VarianceFlags:()=>Eg,Version:()=>Version,VersionRange:()=>VersionRange,WatchDirectoryFlags:()=>Gg,WatchDirectoryKind:()=>Jg,WatchFileKind:()=>jg,WatchLogLevel:()=>WatchLogLevel,WatchType:()=>WatchType,accessPrivateIdentifier:()=>accessPrivateIdentifier,addEmitFlags:()=>addEmitFlags,addEmitHelper:()=>addEmitHelper,addEmitHelpers:()=>addEmitHelpers,addInternalEmitFlags:()=>addInternalEmitFlags,addNodeFactoryPatcher:()=>jL,addObjectAllocatorPatcher:()=>sM,addRange:()=>jr,addRelatedInfo:()=>Rl,addSyntheticLeadingComment:()=>addSyntheticLeadingComment,addSyntheticTrailingComment:()=>addSyntheticTrailingComment,addToSeen:()=>GO,advancedAsyncSuperHelper:()=>advancedAsyncSuperHelper,affectsDeclarationPathOptionDeclarations:()=>affectsDeclarationPathOptionDeclarations,affectsEmitOptionDeclarations:()=>affectsEmitOptionDeclarations,allKeysStartWithDot:()=>allKeysStartWithDot,altDirectorySeparator:()=>py,and:()=>E5,append:()=>tr,appendIfUnique:()=>g_,arrayFrom:()=>Za,arrayIsEqualTo:()=>Hc,arrayIsHomogeneous:()=>fL,arrayIsSorted:()=>Wc,arrayOf:()=>yo,arrayReverseIterator:()=>y_,arrayToMap:()=>Zc,arrayToMultiMap:()=>bo,arrayToNumericMap:()=>Os,arraysEqual:()=>ke,assertType:()=>C5,assign:()=>vo,assignHelper:()=>assignHelper,asyncDelegator:()=>asyncDelegator,asyncGeneratorHelper:()=>asyncGeneratorHelper,asyncSuperHelper:()=>asyncSuperHelper,asyncValues:()=>asyncValues,attachFileToDiagnostics:()=>qs,awaitHelper:()=>awaitHelper,awaiterHelper:()=>awaiterHelper,base64decode:()=>mO,base64encode:()=>dO,binarySearch:()=>Ya,binarySearchKey:()=>b_,bindSourceFile:()=>bindSourceFile,breakIntoCharacterSpans:()=>breakIntoCharacterSpans,breakIntoWordSpans:()=>breakIntoWordSpans,buildLinkParts:()=>buildLinkParts,buildOpts:()=>buildOpts,buildOverload:()=>buildOverload,bundlerModuleNameResolver:()=>bundlerModuleNameResolver,canBeConvertedToAsync:()=>canBeConvertedToAsync,canHaveDecorators:()=>ME,canHaveExportModifier:()=>AL,canHaveFlowNode:()=>jI,canHaveIllegalDecorators:()=>rJ,canHaveIllegalModifiers:()=>nJ,canHaveIllegalType:()=>tJ,canHaveIllegalTypeParameters:()=>IE,canHaveJSDoc:()=>Af,canHaveLocals:()=>zP,canHaveModifiers:()=>fc,canHaveSymbol:()=>UP,canJsonReportNoInputFiles:()=>canJsonReportNoInputFiles,canProduceDiagnostics:()=>canProduceDiagnostics,canUsePropertyAccess:()=>PL,canWatchDirectoryOrFile:()=>canWatchDirectoryOrFile,cartesianProduct:()=>P5,cast:()=>ti,chainBundle:()=>chainBundle,chainDiagnosticMessages:()=>lM,changeAnyExtension:()=>RT,changeCompilerHostLikeToUseCache:()=>changeCompilerHostLikeToUseCache,changeExtension:()=>KM,changesAffectModuleResolution:()=>cD,changesAffectingProgramStructure:()=>lD,childIsDecorated:()=>h0,classElementOrClassElementParameterIsDecorated:()=>sI,classOrConstructorParameterIsDecorated:()=>aI,classPrivateFieldGetHelper:()=>classPrivateFieldGetHelper,classPrivateFieldInHelper:()=>classPrivateFieldInHelper,classPrivateFieldSetHelper:()=>classPrivateFieldSetHelper,classicNameResolver:()=>classicNameResolver,classifier:()=>ts_classifier_exports,cleanExtendedConfigCache:()=>cleanExtendedConfigCache,clear:()=>nt,clearMap:()=>qO,clearSharedExtendedConfigFileWatcher:()=>clearSharedExtendedConfigFileWatcher,climbPastPropertyAccess:()=>climbPastPropertyAccess,climbPastPropertyOrElementAccess:()=>climbPastPropertyOrElementAccess,clone:()=>E_,cloneCompilerOptions:()=>cloneCompilerOptions,closeFileWatcher:()=>MO,closeFileWatcherOf:()=>closeFileWatcherOf,codefix:()=>ts_codefix_exports,collapseTextChangeRangesAcrossMultipleVersions:()=>CA,collectExternalModuleInfo:()=>collectExternalModuleInfo,combine:()=>$c,combinePaths:()=>tn,commentPragmas:()=>Vp,commonOptionsWithBuild:()=>commonOptionsWithBuild,commonPackageFolders:()=>Pv,compact:()=>Gc,compareBooleans:()=>j1,compareDataObjects:()=>px,compareDiagnostics:()=>av,compareDiagnosticsSkipRelatedInformation:()=>qf,compareEmitHelpers:()=>compareEmitHelpers,compareNumberOfDirectorySeparators:()=>$M,comparePaths:()=>tA,comparePathsCaseInsensitive:()=>eA,comparePathsCaseSensitive:()=>Z5,comparePatternKeys:()=>comparePatternKeys,compareProperties:()=>R1,compareStringsCaseInsensitive:()=>C_,compareStringsCaseInsensitiveEslintCompatible:()=>O1,compareStringsCaseSensitive:()=>ri,compareStringsCaseSensitiveUI:()=>L1,compareTextSpans:()=>I1,compareValues:()=>Vr,compileOnSaveCommandLineOption:()=>compileOnSaveCommandLineOption,compilerOptionsAffectDeclarationPath:()=>DM,compilerOptionsAffectEmit:()=>PM,compilerOptionsAffectSemanticDiagnostics:()=>AM,compilerOptionsDidYouMeanDiagnostics:()=>compilerOptionsDidYouMeanDiagnostics,compilerOptionsIndicateEsModules:()=>compilerOptionsIndicateEsModules,compose:()=>k1,computeCommonSourceDirectoryOfFilenames:()=>computeCommonSourceDirectoryOfFilenames,computeLineAndCharacterOfPosition:()=>my,computeLineOfPosition:()=>k_,computeLineStarts:()=>Kp,computePositionOfLineAndCharacter:()=>dy,computeSignature:()=>computeSignature,computeSignatureWithDiagnostics:()=>computeSignatureWithDiagnostics,computeSuggestionDiagnostics:()=>computeSuggestionDiagnostics,concatenate:()=>Ft,concatenateDiagnosticMessageChains:()=>uM,consumesNodeCoreModules:()=>consumesNodeCoreModules,contains:()=>pe,containsIgnoredPath:()=>Hx,containsObjectRestOrSpread:()=>A2,containsParseError:()=>Ky,containsPath:()=>jT,convertCompilerOptionsForTelemetry:()=>convertCompilerOptionsForTelemetry,convertCompilerOptionsFromJson:()=>convertCompilerOptionsFromJson,convertJsonOption:()=>convertJsonOption,convertToBase64:()=>ix,convertToObject:()=>convertToObject,convertToObjectWorker:()=>convertToObjectWorker,convertToOptionsWithAbsolutePaths:()=>convertToOptionsWithAbsolutePaths,convertToRelativePath:()=>nA,convertToTSConfig:()=>convertToTSConfig,convertTypeAcquisitionFromJson:()=>convertTypeAcquisitionFromJson,copyComments:()=>copyComments,copyEntries:()=>dD,copyLeadingComments:()=>copyLeadingComments,copyProperties:()=>H,copyTrailingAsLeadingComments:()=>copyTrailingAsLeadingComments,copyTrailingComments:()=>copyTrailingComments,couldStartTrivia:()=>pA,countWhere:()=>Xe,createAbstractBuilder:()=>createAbstractBuilder,createAccessorPropertyBackingField:()=>LJ,createAccessorPropertyGetRedirector:()=>RJ,createAccessorPropertySetRedirector:()=>jJ,createBaseNodeFactory:()=>S8,createBinaryExpressionTrampoline:()=>PJ,createBindingHelper:()=>createBindingHelper,createBuildInfo:()=>createBuildInfo,createBuilderProgram:()=>createBuilderProgram,createBuilderProgramUsingProgramBuildInfo:()=>createBuilderProgramUsingProgramBuildInfo,createBuilderStatusReporter:()=>createBuilderStatusReporter,createCacheWithRedirects:()=>createCacheWithRedirects,createCacheableExportInfoMap:()=>createCacheableExportInfoMap,createCachedDirectoryStructureHost:()=>createCachedDirectoryStructureHost,createClassifier:()=>createClassifier,createCommentDirectivesMap:()=>JD,createCompilerDiagnostic:()=>Ol,createCompilerDiagnosticForInvalidCustomType:()=>createCompilerDiagnosticForInvalidCustomType,createCompilerDiagnosticFromMessageChain:()=>cM,createCompilerHost:()=>createCompilerHost,createCompilerHostFromProgramHost:()=>createCompilerHostFromProgramHost,createCompilerHostWorker:()=>createCompilerHostWorker,createDetachedDiagnostic:()=>Ro,createDiagnosticCollection:()=>TN,createDiagnosticForFileFromMessageChain:()=>mk,createDiagnosticForNode:()=>uk,createDiagnosticForNodeArray:()=>pk,createDiagnosticForNodeArrayFromMessageChain:()=>dk,createDiagnosticForNodeFromMessageChain:()=>fk,createDiagnosticForNodeInSourceFile:()=>P3,createDiagnosticForRange:()=>gk,createDiagnosticMessageChainFromDiagnostic:()=>hk,createDiagnosticReporter:()=>createDiagnosticReporter,createDocumentPositionMapper:()=>createDocumentPositionMapper,createDocumentRegistry:()=>createDocumentRegistry,createDocumentRegistryInternal:()=>createDocumentRegistryInternal,createEmitAndSemanticDiagnosticsBuilderProgram:()=>createEmitAndSemanticDiagnosticsBuilderProgram,createEmitHelperFactory:()=>createEmitHelperFactory,createEmptyExports:()=>Dj,createExpressionForJsxElement:()=>Ij,createExpressionForJsxFragment:()=>Nj,createExpressionForObjectLiteralElementLike:()=>Fj,createExpressionForPropertyName:()=>vE,createExpressionFromEntityName:()=>yE,createExternalHelpersImportDeclarationIfNeeded:()=>$j,createFileDiagnostic:()=>iv,createFileDiagnosticFromMessageChain:()=>r0,createForOfBindingStatement:()=>Oj,createGetCanonicalFileName:()=>wp,createGetSourceFile:()=>createGetSourceFile,createGetSymbolAccessibilityDiagnosticForNode:()=>createGetSymbolAccessibilityDiagnosticForNode,createGetSymbolAccessibilityDiagnosticForNodeName:()=>createGetSymbolAccessibilityDiagnosticForNodeName,createGetSymbolWalker:()=>createGetSymbolWalker,createIncrementalCompilerHost:()=>createIncrementalCompilerHost,createIncrementalProgram:()=>createIncrementalProgram,createInputFiles:()=>VL,createInputFilesWithFilePaths:()=>C8,createInputFilesWithFileTexts:()=>A8,createJsxFactoryExpression:()=>gE,createLanguageService:()=>lB,createLanguageServiceSourceFile:()=>N2,createMemberAccessForPropertyName:()=>hd,createModeAwareCache:()=>createModeAwareCache,createModeAwareCacheKey:()=>createModeAwareCacheKey,createModuleResolutionCache:()=>createModuleResolutionCache,createModuleResolutionLoader:()=>createModuleResolutionLoader,createModuleSpecifierResolutionHost:()=>createModuleSpecifierResolutionHost,createMultiMap:()=>Be,createNodeConverters:()=>x8,createNodeFactory:()=>Zf,createOptionNameMap:()=>createOptionNameMap,createOverload:()=>createOverload,createPackageJsonImportFilter:()=>createPackageJsonImportFilter,createPackageJsonInfo:()=>createPackageJsonInfo,createParenthesizerRules:()=>createParenthesizerRules,createPatternMatcher:()=>createPatternMatcher,createPrependNodes:()=>createPrependNodes,createPrinter:()=>createPrinter,createPrinterWithDefaults:()=>createPrinterWithDefaults,createPrinterWithRemoveComments:()=>createPrinterWithRemoveComments,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>createPrinterWithRemoveCommentsNeverAsciiEscape,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>createPrinterWithRemoveCommentsOmitTrailingSemicolon,createProgram:()=>createProgram,createProgramHost:()=>createProgramHost,createPropertyNameNodeForIdentifierOrLiteral:()=>EL,createQueue:()=>Fr,createRange:()=>Jf,createRedirectedBuilderProgram:()=>createRedirectedBuilderProgram,createResolutionCache:()=>createResolutionCache,createRuntimeTypeSerializer:()=>createRuntimeTypeSerializer,createScanner:()=>Po,createSemanticDiagnosticsBuilderProgram:()=>createSemanticDiagnosticsBuilderProgram,createSet:()=>Cr,createSolutionBuilder:()=>createSolutionBuilder,createSolutionBuilderHost:()=>createSolutionBuilderHost,createSolutionBuilderWithWatch:()=>createSolutionBuilderWithWatch,createSolutionBuilderWithWatchHost:()=>createSolutionBuilderWithWatchHost,createSortedArray:()=>zc,createSourceFile:()=>YE,createSourceMapGenerator:()=>createSourceMapGenerator,createSourceMapSource:()=>HL,createSuperAccessVariableStatement:()=>createSuperAccessVariableStatement,createSymbolTable:()=>oD,createSymlinkCache:()=>MM,createSystemWatchFunctions:()=>createSystemWatchFunctions,createTextChange:()=>createTextChange,createTextChangeFromStartLength:()=>createTextChangeFromStartLength,createTextChangeRange:()=>Zp,createTextRangeFromNode:()=>createTextRangeFromNode,createTextRangeFromSpan:()=>createTextRangeFromSpan,createTextSpan:()=>L_,createTextSpanFromBounds:()=>ha,createTextSpanFromNode:()=>createTextSpanFromNode,createTextSpanFromRange:()=>createTextSpanFromRange,createTextSpanFromStringLiteralLikeContent:()=>createTextSpanFromStringLiteralLikeContent,createTextWriter:()=>DN,createTokenRange:()=>bO,createTypeChecker:()=>createTypeChecker,createTypeReferenceDirectiveResolutionCache:()=>createTypeReferenceDirectiveResolutionCache,createTypeReferenceResolutionLoader:()=>createTypeReferenceResolutionLoader,createUnderscoreEscapedMultiMap:()=>Ht,createUnparsedSourceFile:()=>UL,createWatchCompilerHost:()=>createWatchCompilerHost2,createWatchCompilerHostOfConfigFile:()=>createWatchCompilerHostOfConfigFile,createWatchCompilerHostOfFilesAndCompilerOptions:()=>createWatchCompilerHostOfFilesAndCompilerOptions,createWatchFactory:()=>createWatchFactory,createWatchHost:()=>createWatchHost,createWatchProgram:()=>createWatchProgram,createWatchStatusReporter:()=>createWatchStatusReporter,createWriteFileMeasuringIO:()=>createWriteFileMeasuringIO,declarationNameToString:()=>A3,decodeMappings:()=>decodeMappings,decodedTextSpanIntersectsWith:()=>Sy,decorateHelper:()=>decorateHelper,deduplicate:()=>ji,defaultIncludeSpec:()=>defaultIncludeSpec,defaultInitCompilerOptions:()=>defaultInitCompilerOptions,defaultMaximumTruncationLength:()=>r8,detectSortCaseSensitivity:()=>Vc,diagnosticCategoryName:()=>z5,diagnosticToString:()=>diagnosticToString,directoryProbablyExists:()=>sx,directorySeparator:()=>zn,displayPart:()=>displayPart,displayPartsToString:()=>cB,disposeEmitNodes:()=>disposeEmitNodes,documentSpansEqual:()=>documentSpansEqual,dumpTracingLegend:()=>dumpTracingLegend,elementAt:()=>wT,elideNodes:()=>IJ,emitComments:()=>U4,emitDetachedComments:()=>GN,emitFiles:()=>emitFiles,emitFilesAndReportErrors:()=>emitFilesAndReportErrors,emitFilesAndReportErrorsAndGetExitStatus:()=>emitFilesAndReportErrorsAndGetExitStatus,emitModuleKindIsNonNodeESM:()=>mM,emitNewLineBeforeLeadingCommentOfPosition:()=>HN,emitNewLineBeforeLeadingComments:()=>B4,emitNewLineBeforeLeadingCommentsOfPosition:()=>q4,emitSkippedWithNoDiagnostics:()=>emitSkippedWithNoDiagnostics,emitUsingBuildInfo:()=>emitUsingBuildInfo,emptyArray:()=>Bt,emptyFileSystemEntries:()=>T8,emptyMap:()=>V1,emptyOptions:()=>emptyOptions,emptySet:()=>ET,endsWith:()=>es,ensurePathIsNonModuleName:()=>_y,ensureScriptKind:()=>Nx,ensureTrailingDirectorySeparator:()=>wo,entityNameToString:()=>ls,enumerateInsertsAndDeletes:()=>A5,equalOwnProperties:()=>S_,equateStringsCaseInsensitive:()=>Ms,equateStringsCaseSensitive:()=>To,equateValues:()=>fa,esDecorateHelper:()=>esDecorateHelper,escapeJsxAttributeString:()=>A4,escapeLeadingUnderscores:()=>vi,escapeNonAsciiString:()=>Of,escapeSnippetText:()=>xL,escapeString:()=>Nf,every:()=>me,expandPreOrPostfixIncrementOrDecrementExpression:()=>Bj,explainFiles:()=>explainFiles,explainIfFileIsRedirectAndImpliedFormat:()=>explainIfFileIsRedirectAndImpliedFormat,exportAssignmentIsAlias:()=>I0,exportStarHelper:()=>exportStarHelper,expressionResultIsUnused:()=>gL,extend:()=>S,extendsHelper:()=>extendsHelper,extensionFromPath:()=>QM,extensionIsTS:()=>qx,externalHelpersModuleNameText:()=>Kf,factory:()=>si,fileExtensionIs:()=>ns,fileExtensionIsOneOf:()=>da,fileIncludeReasonToDiagnostics:()=>fileIncludeReasonToDiagnostics,filter:()=>ee,filterMutate:()=>je,filterSemanticDiagnostics:()=>filterSemanticDiagnostics,find:()=>Ae,findAncestor:()=>zi,findBestPatternMatch:()=>TT,findChildOfKind:()=>findChildOfKind,findComputedPropertyNameCacheAssignment:()=>JJ,findConfigFile:()=>findConfigFile,findContainingList:()=>findContainingList,findDiagnosticForNode:()=>findDiagnosticForNode,findFirstNonJsxWhitespaceToken:()=>findFirstNonJsxWhitespaceToken,findIndex:()=>he,findLast:()=>te,findLastIndex:()=>Pe,findListItemInfo:()=>findListItemInfo,findMap:()=>R,findModifier:()=>findModifier,findNextToken:()=>findNextToken,findPackageJson:()=>findPackageJson,findPackageJsons:()=>findPackageJsons,findPrecedingMatchingToken:()=>findPrecedingMatchingToken,findPrecedingToken:()=>findPrecedingToken,findSuperStatementIndex:()=>findSuperStatementIndex,findTokenOnLeftOfPosition:()=>findTokenOnLeftOfPosition,findUseStrictPrologue:()=>TE,first:()=>fo,firstDefined:()=>q,firstDefinedIterator:()=>W,firstIterator:()=>v_,firstOrOnly:()=>firstOrOnly,firstOrUndefined:()=>pa,firstOrUndefinedIterator:()=>Xc,fixupCompilerOptions:()=>fixupCompilerOptions,flatMap:()=>ne,flatMapIterator:()=>Fe,flatMapToMutable:()=>ge,flatten:()=>ct,flattenCommaList:()=>BJ,flattenDestructuringAssignment:()=>flattenDestructuringAssignment,flattenDestructuringBinding:()=>flattenDestructuringBinding,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,forEach:()=>c,forEachAncestor:()=>uD,forEachAncestorDirectory:()=>FT,forEachChild:()=>xr,forEachChildRecursively:()=>D2,forEachEmittedFile:()=>forEachEmittedFile,forEachEnclosingBlockScopeContainer:()=>ok,forEachEntry:()=>pD,forEachExternalModuleToImportFrom:()=>forEachExternalModuleToImportFrom,forEachImportClauseDeclaration:()=>NI,forEachKey:()=>fD,forEachLeadingCommentRange:()=>fA,forEachNameInAccessChainWalkingLeft:()=>QO,forEachResolvedProjectReference:()=>forEachResolvedProjectReference,forEachReturnStatement:()=>Pk,forEachRight:()=>M,forEachTrailingCommentRange:()=>dA,forEachUnique:()=>forEachUnique,forEachYieldExpression:()=>Dk,forSomeAncestorDirectory:()=>WO,formatColorAndReset:()=>formatColorAndReset,formatDiagnostic:()=>formatDiagnostic,formatDiagnostics:()=>formatDiagnostics,formatDiagnosticsWithColorAndContext:()=>formatDiagnosticsWithColorAndContext,formatGeneratedName:()=>bd,formatGeneratedNamePart:()=>C2,formatLocation:()=>formatLocation,formatMessage:()=>_M,formatStringFromArgs:()=>X_,formatting:()=>ts_formatting_exports,fullTripleSlashAMDReferencePathRegEx:()=>Tv,fullTripleSlashReferencePathRegEx:()=>bv,generateDjb2Hash:()=>generateDjb2Hash,generateTSConfig:()=>generateTSConfig,generatorHelper:()=>generatorHelper,getAdjustedReferenceLocation:()=>getAdjustedReferenceLocation,getAdjustedRenameLocation:()=>getAdjustedRenameLocation,getAliasDeclarationFromName:()=>u4,getAllAccessorDeclarations:()=>W0,getAllDecoratorsOfClass:()=>getAllDecoratorsOfClass,getAllDecoratorsOfClassElement:()=>getAllDecoratorsOfClassElement,getAllJSDocTags:()=>MS,getAllJSDocTagsOfKind:()=>UA,getAllKeys:()=>T_,getAllProjectOutputs:()=>getAllProjectOutputs,getAllSuperTypeNodes:()=>h4,getAllUnscopedEmitHelpers:()=>getAllUnscopedEmitHelpers,getAllowJSCompilerOption:()=>Ax,getAllowSyntheticDefaultImports:()=>TM,getAncestor:()=>eN,getAnyExtensionFromPath:()=>Gp,getAreDeclarationMapsEnabled:()=>bM,getAssignedExpandoInitializer:()=>bI,getAssignedName:()=>yS,getAssignmentDeclarationKind:()=>ps,getAssignmentDeclarationPropertyAccessKind:()=>K3,getAssignmentTargetKind:()=>o4,getAutomaticTypeDirectiveNames:()=>getAutomaticTypeDirectiveNames,getBaseFileName:()=>sl,getBinaryOperatorPrecedence:()=>Dl,getBuildInfo:()=>getBuildInfo,getBuildInfoFileVersionMap:()=>getBuildInfoFileVersionMap,getBuildInfoText:()=>getBuildInfoText,getBuildOrderFromAnyBuildOrder:()=>getBuildOrderFromAnyBuildOrder,getBuilderCreationParameters:()=>getBuilderCreationParameters,getBuilderFileEmit:()=>getBuilderFileEmit,getCheckFlags:()=>ux,getClassExtendsHeritageElement:()=>d4,getClassLikeDeclarationOfSymbol:()=>dx,getCombinedLocalAndExportSymbolFlags:()=>jO,getCombinedModifierFlags:()=>ef,getCombinedNodeFlags:()=>tf,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>PA,getCommentRange:()=>getCommentRange,getCommonSourceDirectory:()=>getCommonSourceDirectory,getCommonSourceDirectoryOfConfig:()=>getCommonSourceDirectoryOfConfig,getCompilerOptionValue:()=>uv,getCompilerOptionsDiffValue:()=>getCompilerOptionsDiffValue,getConditions:()=>getConditions,getConfigFileParsingDiagnostics:()=>getConfigFileParsingDiagnostics,getConstantValue:()=>getConstantValue,getContainerNode:()=>getContainerNode,getContainingClass:()=>Vk,getContainingClassStaticBlock:()=>Hk,getContainingFunction:()=>zk,getContainingFunctionDeclaration:()=>Wk,getContainingFunctionOrClassStaticBlock:()=>Gk,getContainingNodeArray:()=>yL,getContainingObjectLiteralElement:()=>S7,getContextualTypeFromParent:()=>getContextualTypeFromParent,getContextualTypeFromParentOrAncestorTypeNode:()=>getContextualTypeFromParentOrAncestorTypeNode,getCurrentTime:()=>getCurrentTime,getDeclarationDiagnostics:()=>getDeclarationDiagnostics,getDeclarationEmitExtensionForPath:()=>O4,getDeclarationEmitOutputFilePath:()=>ON,getDeclarationEmitOutputFilePathWorker:()=>N4,getDeclarationFromName:()=>XI,getDeclarationModifierFlagsFromSymbol:()=>LO,getDeclarationOfKind:()=>aD,getDeclarationsOfKind:()=>sD,getDeclaredExpandoInitializer:()=>yI,getDecorators:()=>kA,getDefaultCompilerOptions:()=>y7,getDefaultExportInfoWorker:()=>getDefaultExportInfoWorker,getDefaultFormatCodeSettings:()=>getDefaultFormatCodeSettings,getDefaultLibFileName:()=>aS,getDefaultLibFilePath:()=>gB,getDefaultLikeExportInfo:()=>getDefaultLikeExportInfo,getDiagnosticText:()=>getDiagnosticText,getDiagnosticsWithinSpan:()=>getDiagnosticsWithinSpan,getDirectoryPath:()=>ma,getDocumentPositionMapper:()=>getDocumentPositionMapper,getESModuleInterop:()=>ov,getEditsForFileRename:()=>getEditsForFileRename,getEffectiveBaseTypeNode:()=>f4,getEffectiveConstraintOfTypeParameter:()=>HA,getEffectiveContainerForJSDocTemplateTag:()=>FI,getEffectiveImplementsTypeNodes:()=>m4,getEffectiveInitializer:()=>V3,getEffectiveJSDocHost:()=>A0,getEffectiveModifierFlags:()=>Rf,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>K4,getEffectiveModifierFlagsNoCache:()=>Y4,getEffectiveReturnTypeNode:()=>zN,getEffectiveSetAccessorTypeAnnotationNode:()=>VN,getEffectiveTypeAnnotationNode:()=>V0,getEffectiveTypeParameterDeclarations:()=>VA,getEffectiveTypeRoots:()=>getEffectiveTypeRoots,getElementOrPropertyAccessArgumentExpressionOrName:()=>Cf,getElementOrPropertyAccessName:()=>Fs,getElementsOfBindingOrAssignmentPattern:()=>kE,getEmitDeclarations:()=>cv,getEmitFlags:()=>xi,getEmitHelpers:()=>getEmitHelpers,getEmitModuleDetectionKind:()=>wx,getEmitModuleKind:()=>Ei,getEmitModuleResolutionKind:()=>Ml,getEmitScriptTarget:()=>Uf,getEnclosingBlockScopeContainer:()=>Zy,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications,getEncodedSyntacticClassifications:()=>getEncodedSyntacticClassifications,getEndLinePosition:()=>d3,getEntityNameFromTypeNode:()=>nI,getEntrypointsFromPackageJsonInfo:()=>getEntrypointsFromPackageJsonInfo,getErrorCountForSummary:()=>getErrorCountForSummary,getErrorSpanForNode:()=>i0,getErrorSummaryText:()=>getErrorSummaryText,getEscapedTextOfIdentifierOrLiteral:()=>b4,getExpandoInitializer:()=>U_,getExportAssignmentExpression:()=>p4,getExportInfoMap:()=>getExportInfoMap,getExportNeedsImportStarHelper:()=>getExportNeedsImportStarHelper,getExpressionAssociativity:()=>yN,getExpressionPrecedence:()=>vN,getExternalHelpersModuleName:()=>EE,getExternalModuleImportEqualsDeclarationExpression:()=>_I,getExternalModuleName:()=>E0,getExternalModuleNameFromDeclaration:()=>IN,getExternalModuleNameFromPath:()=>F0,getExternalModuleNameLiteral:()=>Xj,getExternalModuleRequireArgument:()=>cI,getFallbackOptions:()=>getFallbackOptions,getFileEmitOutput:()=>getFileEmitOutput,getFileMatcherPatterns:()=>Ix,getFileNamesFromConfigSpecs:()=>getFileNamesFromConfigSpecs,getFileWatcherEventKind:()=>getFileWatcherEventKind,getFilesInErrorForSummary:()=>getFilesInErrorForSummary,getFirstConstructorWithBody:()=>R4,getFirstIdentifier:()=>iO,getFirstNonSpaceCharacterPosition:()=>getFirstNonSpaceCharacterPosition,getFirstProjectOutput:()=>getFirstProjectOutput,getFixableErrorSpanExpression:()=>getFixableErrorSpanExpression,getFormatCodeSettingsForWriting:()=>getFormatCodeSettingsForWriting,getFullWidth:()=>hf,getFunctionFlags:()=>sN,getHeritageClause:()=>Pf,getHostSignatureFromJSDoc:()=>C0,getIdentifierAutoGenerate:()=>getIdentifierAutoGenerate,getIdentifierGeneratedImportReference:()=>getIdentifierGeneratedImportReference,getIdentifierTypeArguments:()=>getIdentifierTypeArguments,getImmediatelyInvokedFunctionExpression:()=>Qk,getImpliedNodeFormatForFile:()=>getImpliedNodeFormatForFile,getImpliedNodeFormatForFileWorker:()=>getImpliedNodeFormatForFileWorker,getImportNeedsImportDefaultHelper:()=>getImportNeedsImportDefaultHelper,getImportNeedsImportStarHelper:()=>getImportNeedsImportStarHelper,getIndentSize:()=>Oo,getIndentString:()=>j0,getInitializedVariables:()=>NO,getInitializerOfBinaryExpression:()=>X3,getInitializerOfBindingOrAssignmentElement:()=>AE,getInterfaceBaseTypeNodes:()=>g4,getInternalEmitFlags:()=>zD,getInvokedExpression:()=>iI,getIsolatedModules:()=>zf,getJSDocAugmentsTag:()=>ES,getJSDocClassTag:()=>NA,getJSDocCommentRanges:()=>I3,getJSDocCommentsAndTags:()=>r4,getJSDocDeprecatedTag:()=>jA,getJSDocDeprecatedTagNoCache:()=>IS,getJSDocEnumTag:()=>JA,getJSDocHost:()=>s4,getJSDocImplementsTags:()=>wS,getJSDocOverrideTagNoCache:()=>kS,getJSDocParameterTags:()=>of,getJSDocParameterTagsNoCache:()=>bS,getJSDocPrivateTag:()=>MA,getJSDocPrivateTagNoCache:()=>AS,getJSDocProtectedTag:()=>LA,getJSDocProtectedTagNoCache:()=>PS,getJSDocPublicTag:()=>OA,getJSDocPublicTagNoCache:()=>CS,getJSDocReadonlyTag:()=>RA,getJSDocReadonlyTagNoCache:()=>DS,getJSDocReturnTag:()=>NS,getJSDocReturnType:()=>OS,getJSDocRoot:()=>P0,getJSDocSatisfiesExpressionType:()=>NL,getJSDocSatisfiesTag:()=>wy,getJSDocTags:()=>hl,getJSDocTagsNoCache:()=>qA,getJSDocTemplateTag:()=>BA,getJSDocThisTag:()=>FA,getJSDocType:()=>cf,getJSDocTypeAliasName:()=>w2,getJSDocTypeAssertionType:()=>Wj,getJSDocTypeParameterDeclarations:()=>F4,getJSDocTypeParameterTags:()=>SS,getJSDocTypeParameterTagsNoCache:()=>xS,getJSDocTypeTag:()=>_f,getJSXImplicitImportBase:()=>IM,getJSXRuntimeImport:()=>NM,getJSXTransformEnabled:()=>kM,getKeyForCompilerOptions:()=>getKeyForCompilerOptions,getLanguageVariant:()=>sv,getLastChild:()=>mx,getLeadingCommentRanges:()=>Ao,getLeadingCommentRangesOfNode:()=>Ck,getLeftmostAccessExpression:()=>rv,getLeftmostExpression:()=>ZO,getLineAndCharacterOfPosition:()=>Ls,getLineInfo:()=>getLineInfo,getLineOfLocalPosition:()=>FN,getLineOfLocalPositionFromLineMap:()=>ds,getLineStartPositionForPosition:()=>getLineStartPositionForPosition,getLineStarts:()=>ss,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>DO,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>PO,getLinesBetweenPositions:()=>I_,getLinesBetweenRangeEndAndRangeStart:()=>wO,getLinesBetweenRangeEndPositions:()=>CO,getLiteralText:()=>WD,getLocalNameForExternalImport:()=>Kj,getLocalSymbolForExportDefault:()=>cO,getLocaleSpecificMessage:()=>Y_,getLocaleTimeString:()=>getLocaleTimeString,getMappedContextSpan:()=>getMappedContextSpan,getMappedDocumentSpan:()=>getMappedDocumentSpan,getMappedLocation:()=>getMappedLocation,getMatchedFileSpec:()=>getMatchedFileSpec,getMatchedIncludeSpec:()=>getMatchedIncludeSpec,getMeaningFromDeclaration:()=>getMeaningFromDeclaration,getMeaningFromLocation:()=>getMeaningFromLocation,getMembersOfDeclaration:()=>Ik,getModeForFileReference:()=>getModeForFileReference,getModeForResolutionAtIndex:()=>getModeForResolutionAtIndex,getModeForUsageLocation:()=>getModeForUsageLocation,getModifiedTime:()=>getModifiedTime,getModifiers:()=>sf,getModuleInstanceState:()=>getModuleInstanceState,getModuleNameStringLiteralAt:()=>getModuleNameStringLiteralAt,getModuleSpecifierEndingPreference:()=>VM,getModuleSpecifierResolverHost:()=>getModuleSpecifierResolverHost,getNameForExportedSymbol:()=>getNameForExportedSymbol,getNameFromIndexInfo:()=>_k,getNameFromPropertyName:()=>getNameFromPropertyName,getNameOfAccessExpression:()=>KO,getNameOfCompilerOptionValue:()=>getNameOfCompilerOptionValue,getNameOfDeclaration:()=>ml,getNameOfExpando:()=>xI,getNameOfJSDocTypedef:()=>gS,getNameOrArgument:()=>$3,getNameTable:()=>uB,getNamesForExportedSymbol:()=>getNamesForExportedSymbol,getNamespaceDeclarationNode:()=>Q3,getNewLineCharacter:()=>ox,getNewLineKind:()=>getNewLineKind,getNewLineOrDefaultFromHost:()=>getNewLineOrDefaultFromHost,getNewTargetContainer:()=>Xk,getNextJSDocCommentLocation:()=>a4,getNodeForGeneratedName:()=>NJ,getNodeId:()=>getNodeId,getNodeKind:()=>getNodeKind,getNodeModifiers:()=>getNodeModifiers,getNodeModulePathParts:()=>wL,getNonAssignedNameOfDeclaration:()=>Ey,getNonAssignmentOperatorForCompoundAssignment:()=>getNonAssignmentOperatorForCompoundAssignment,getNonAugmentationDeclaration:()=>E3,getNonDecoratorTokenPosOfNode:()=>FD,getNormalizedAbsolutePath:()=>as,getNormalizedAbsolutePathWithoutRoot:()=>Q5,getNormalizedPathComponents:()=>$p,getObjectFlags:()=>Bf,getOperator:()=>R0,getOperatorAssociativity:()=>x4,getOperatorPrecedence:()=>E4,getOptionFromName:()=>getOptionFromName,getOptionsNameMap:()=>getOptionsNameMap,getOrCreateEmitNode:()=>getOrCreateEmitNode,getOrCreateExternalHelpersModuleNameIfNeeded:()=>wE,getOrUpdate:()=>la,getOriginalNode:()=>ul,getOriginalNodeId:()=>getOriginalNodeId,getOriginalSourceFile:()=>gN,getOutputDeclarationFileName:()=>getOutputDeclarationFileName,getOutputExtension:()=>getOutputExtension,getOutputFileNames:()=>getOutputFileNames,getOutputPathsFor:()=>getOutputPathsFor,getOutputPathsForBundle:()=>getOutputPathsForBundle,getOwnEmitOutputFilePath:()=>NN,getOwnKeys:()=>ho,getOwnValues:()=>go,getPackageJsonInfo:()=>getPackageJsonInfo,getPackageJsonTypesVersionsPaths:()=>getPackageJsonTypesVersionsPaths,getPackageJsonsVisibleToFile:()=>getPackageJsonsVisibleToFile,getPackageNameFromTypesPackageName:()=>getPackageNameFromTypesPackageName,getPackageScopeForPath:()=>getPackageScopeForPath,getParameterSymbolFromJSDoc:()=>JI,getParameterTypeNode:()=>CL,getParentNodeInSpan:()=>getParentNodeInSpan,getParseTreeNode:()=>fl,getParsedCommandLineOfConfigFile:()=>getParsedCommandLineOfConfigFile,getPathComponents:()=>qi,getPathComponentsRelativeTo:()=>ly,getPathFromPathComponents:()=>xo,getPathUpdater:()=>getPathUpdater,getPathsBasePath:()=>LN,getPatternFromSpec:()=>BM,getPendingEmitKind:()=>getPendingEmitKind,getPositionOfLineAndCharacter:()=>lA,getPossibleGenericSignatures:()=>getPossibleGenericSignatures,getPossibleOriginalInputExtensionForExtension:()=>MN,getPossibleTypeArgumentsInfo:()=>getPossibleTypeArgumentsInfo,getPreEmitDiagnostics:()=>getPreEmitDiagnostics,getPrecedingNonSpaceCharacterPosition:()=>getPrecedingNonSpaceCharacterPosition,getPrivateIdentifier:()=>getPrivateIdentifier,getProperties:()=>getProperties,getProperty:()=>Qc,getPropertyArrayElementValue:()=>qk,getPropertyAssignment:()=>f0,getPropertyAssignmentAliasLikeExpression:()=>ZI,getPropertyNameForPropertyNameNode:()=>Df,getPropertyNameForUniqueESSymbol:()=>_N,getPropertyNameOfBindingOrAssignmentElement:()=>eJ,getPropertySymbolFromBindingElement:()=>getPropertySymbolFromBindingElement,getPropertySymbolsFromContextualType:()=>x7,getQuoteFromPreference:()=>getQuoteFromPreference,getQuotePreference:()=>getQuotePreference,getRangesWhere:()=>Et,getRefactorContextSpan:()=>getRefactorContextSpan,getReferencedFileLocation:()=>getReferencedFileLocation,getRegexFromPattern:()=>Vf,getRegularExpressionForWildcard:()=>Wf,getRegularExpressionsForWildcards:()=>pv,getRelativePathFromDirectory:()=>JT,getRelativePathFromFile:()=>iA,getRelativePathToDirectoryOrUrl:()=>uy,getRenameLocation:()=>getRenameLocation,getReplacementSpanForContextToken:()=>getReplacementSpanForContextToken,getResolutionDiagnostic:()=>getResolutionDiagnostic,getResolutionModeOverrideForClause:()=>getResolutionModeOverrideForClause,getResolveJsonModule:()=>Cx,getResolvePackageJsonExports:()=>SM,getResolvePackageJsonImports:()=>xM,getResolvedExternalModuleName:()=>k4,getResolvedModule:()=>hD,getResolvedTypeReferenceDirective:()=>vD,getRestIndicatorOfBindingOrAssignmentElement:()=>Zj,getRestParameterElementType:()=>kk,getRightMostAssignedExpression:()=>b0,getRootDeclaration:()=>If,getRootLength:()=>Bi,getScriptKind:()=>getScriptKind,getScriptKindFromFileName:()=>Ox,getScriptTargetFeatures:()=>getScriptTargetFeatures,getSelectedEffectiveModifierFlags:()=>G4,getSelectedSyntacticModifierFlags:()=>$4,getSemanticClassifications:()=>getSemanticClassifications,getSemanticJsxChildren:()=>bN,getSetAccessorTypeAnnotationNode:()=>BN,getSetAccessorValueParameter:()=>z0,getSetExternalModuleIndicator:()=>Ex,getShebang:()=>GT,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>w0,getSingleVariableOfVariableStatement:()=>Al,getSnapshotText:()=>getSnapshotText,getSnippetElement:()=>getSnippetElement,getSourceFileOfModule:()=>AD,getSourceFileOfNode:()=>Si,getSourceFilePathInNewDir:()=>M4,getSourceFilePathInNewDirWorker:()=>U0,getSourceFileVersionAsHashFromText:()=>getSourceFileVersionAsHashFromText,getSourceFilesToEmit:()=>RN,getSourceMapRange:()=>getSourceMapRange,getSourceMapper:()=>getSourceMapper,getSourceTextOfNodeFromSourceFile:()=>No,getSpanOfTokenAtPosition:()=>n0,getSpellingSuggestion:()=>Ep,getStartPositionOfLine:()=>kD,getStartPositionOfRange:()=>K_,getStartsOnNewLine:()=>getStartsOnNewLine,getStaticPropertiesAndClassStaticBlock:()=>getStaticPropertiesAndClassStaticBlock,getStrictOptionValue:()=>lv,getStringComparer:()=>rl,getSuperCallFromStatement:()=>getSuperCallFromStatement,getSuperContainer:()=>Yk,getSupportedCodeFixes:()=>v7,getSupportedExtensions:()=>Mx,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>Lx,getSwitchedType:()=>getSwitchedType,getSymbolId:()=>getSymbolId,getSymbolNameForPrivateIdentifier:()=>cN,getSymbolTarget:()=>getSymbolTarget,getSyntacticClassifications:()=>getSyntacticClassifications,getSyntacticModifierFlags:()=>X0,getSyntacticModifierFlagsNoCache:()=>Y0,getSynthesizedDeepClone:()=>getSynthesizedDeepClone,getSynthesizedDeepCloneWithReplacements:()=>getSynthesizedDeepCloneWithReplacements,getSynthesizedDeepClones:()=>getSynthesizedDeepClones,getSynthesizedDeepClonesWithReplacements:()=>getSynthesizedDeepClonesWithReplacements,getSyntheticLeadingComments:()=>getSyntheticLeadingComments,getSyntheticTrailingComments:()=>getSyntheticTrailingComments,getTargetLabel:()=>getTargetLabel,getTargetOfBindingOrAssignmentElement:()=>Ko,getTemporaryModuleResolutionState:()=>getTemporaryModuleResolutionState,getTextOfConstantValue:()=>HD,getTextOfIdentifierOrLiteral:()=>kf,getTextOfJSDocComment:()=>zA,getTextOfNode:()=>gf,getTextOfNodeFromSourceText:()=>B_,getTextOfPropertyName:()=>lk,getThisContainer:()=>d0,getThisParameter:()=>j4,getTokenAtPosition:()=>getTokenAtPosition,getTokenPosOfNode:()=>Io,getTokenSourceMapRange:()=>getTokenSourceMapRange,getTouchingPropertyName:()=>getTouchingPropertyName,getTouchingToken:()=>getTouchingToken,getTrailingCommentRanges:()=>HT,getTrailingSemicolonDeferringWriter:()=>kN,getTransformFlagsSubtreeExclusions:()=>w8,getTransformers:()=>getTransformers,getTsBuildInfoEmitOutputFilePath:()=>getTsBuildInfoEmitOutputFilePath,getTsConfigObjectLiteralExpression:()=>M3,getTsConfigPropArray:()=>L3,getTsConfigPropArrayElementValue:()=>Uk,getTypeAnnotationNode:()=>UN,getTypeArgumentOrTypeParameterList:()=>getTypeArgumentOrTypeParameterList,getTypeKeywordOfTypeOnlyImport:()=>getTypeKeywordOfTypeOnlyImport,getTypeNode:()=>getTypeNode,getTypeNodeIfAccessible:()=>getTypeNodeIfAccessible,getTypeParameterFromJsDoc:()=>BI,getTypeParameterOwner:()=>AA,getTypesPackageName:()=>getTypesPackageName,getUILocale:()=>M1,getUniqueName:()=>getUniqueName,getUniqueSymbolId:()=>getUniqueSymbolId,getUseDefineForClassFields:()=>CM,getWatchErrorSummaryDiagnosticMessage:()=>getWatchErrorSummaryDiagnosticMessage,getWatchFactory:()=>getWatchFactory,group:()=>el,groupBy:()=>x_,guessIndentation:()=>rD,handleNoEmitOptions:()=>handleNoEmitOptions,hasAbstractModifier:()=>W4,hasAccessorModifier:()=>H4,hasAmbientModifier:()=>V4,hasChangesInResolutions:()=>wD,hasChildOfKind:()=>hasChildOfKind,hasContextSensitiveParameters:()=>vL,hasDecorators:()=>Il,hasDocComment:()=>hasDocComment,hasDynamicName:()=>v4,hasEffectiveModifier:()=>H0,hasEffectiveModifiers:()=>XN,hasEffectiveReadonlyModifier:()=>$0,hasExtension:()=>OT,hasIndexSignature:()=>hasIndexSignature,hasInitializer:()=>l3,hasInvalidEscape:()=>w4,hasJSDocNodes:()=>ya,hasJSDocParameterTags:()=>IA,hasJSFileExtension:()=>dv,hasJsonModuleEmitEnabled:()=>hM,hasOnlyExpressionInitializer:()=>eD,hasOverrideModifier:()=>QN,hasPossibleExternalModuleReference:()=>sk,hasProperty:()=>Jr,hasPropertyAccessExpressionWithName:()=>hasPropertyAccessExpressionWithName,hasQuestionToken:()=>OI,hasRecordedExternalHelpers:()=>Gj,hasRestParameter:()=>nD,hasScopeMarker:()=>kP,hasStaticModifier:()=>Lf,hasSyntacticModifier:()=>rn,hasSyntacticModifiers:()=>YN,hasTSFileExtension:()=>mv,hasTabstop:()=>Qx,hasTrailingDirectorySeparator:()=>Hp,hasType:()=>ZP,hasTypeArguments:()=>qI,hasZeroOrOneAsteriskCharacter:()=>OM,helperString:()=>helperString,hostGetCanonicalFileName:()=>D4,hostUsesCaseSensitiveFileNames:()=>J0,idText:()=>qr,identifierIsThisKeyword:()=>J4,identifierToKeywordKind:()=>dS,identity:()=>rr,identitySourceMapConsumer:()=>identitySourceMapConsumer,ignoreSourceNewlines:()=>ignoreSourceNewlines,ignoredPaths:()=>ignoredPaths,importDefaultHelper:()=>importDefaultHelper,importFromModuleSpecifier:()=>II,importNameElisionDisabled:()=>gM,importStarHelper:()=>importStarHelper,indexOfAnyCharCode:()=>Je,indexOfNode:()=>UD,indicesOf:()=>Wr,inferredTypesContainingFile:()=>inferredTypesContainingFile,insertImports:()=>insertImports,insertLeadingStatement:()=>Mj,insertSorted:()=>Qn,insertStatementAfterCustomPrologue:()=>RD,insertStatementAfterStandardPrologue:()=>LD,insertStatementsAfterCustomPrologue:()=>MD,insertStatementsAfterStandardPrologue:()=>OD,intersperse:()=>Ie,introducesArgumentsExoticObject:()=>Lk,inverseJsxOptionMap:()=>inverseJsxOptionMap,isAbstractConstructorSymbol:()=>zO,isAbstractModifier:()=>uR,isAccessExpression:()=>Lo,isAccessibilityModifier:()=>isAccessibilityModifier,isAccessor:()=>pf,isAccessorModifier:()=>fR,isAliasSymbolDeclaration:()=>QI,isAliasableExpression:()=>k0,isAmbientModule:()=>yf,isAmbientPropertyDeclaration:()=>rk,isAnonymousFunctionDefinition:()=>H_,isAnyDirectorySeparator:()=>ay,isAnyImportOrBareOrAccessedRequire:()=>ik,isAnyImportOrReExport:()=>bf,isAnyImportSyntax:()=>Qy,isAnySupportedFileExtension:()=>ZM,isApplicableVersionedTypesKey:()=>isApplicableVersionedTypesKey,isArgumentExpressionOfElementAccess:()=>isArgumentExpressionOfElementAccess,isArray:()=>ir,isArrayBindingElement:()=>gP,isArrayBindingOrAssignmentElement:()=>ZS,isArrayBindingOrAssignmentPattern:()=>QS,isArrayBindingPattern:()=>yR,isArrayLiteralExpression:()=>Yl,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>isArrayLiteralOrObjectLiteralDestructuringPattern,isArrayTypeNode:()=>F8,isArrowFunction:()=>sd,isAsExpression:()=>CR,isAssertClause:()=>$R,isAssertEntry:()=>KR,isAssertionExpression:()=>PP,isAssertionKey:()=>oP,isAssertsKeyword:()=>_R,isAssignmentDeclaration:()=>v0,isAssignmentExpression:()=>ms,isAssignmentOperator:()=>G_,isAssignmentPattern:()=>KS,isAssignmentTarget:()=>UI,isAsteriskToken:()=>nR,isAsyncFunction:()=>oN,isAsyncModifier:()=>Ul,isAutoAccessorPropertyDeclaration:()=>$S,isAwaitExpression:()=>SR,isAwaitKeyword:()=>cR,isBigIntLiteral:()=>Uv,isBinaryExpression:()=>ur,isBinaryOperatorToken:()=>AJ,isBindableObjectDefinePropertyCall:()=>S0,isBindableStaticAccessExpression:()=>W_,isBindableStaticElementAccessExpression:()=>x0,isBindableStaticNameExpression:()=>V_,isBindingElement:()=>Xl,isBindingElementOfBareOrAccessedRequire:()=>mI,isBindingName:()=>uP,isBindingOrAssignmentElement:()=>yP,isBindingOrAssignmentPattern:()=>vP,isBindingPattern:()=>df,isBlock:()=>Ql,isBlockOrCatchScoped:()=>$D,isBlockScope:()=>w3,isBlockScopedContainerTopLevel:()=>ZD,isBooleanLiteral:()=>pP,isBreakOrContinueStatement:()=>YA,isBreakStatement:()=>JR,isBuildInfoFile:()=>isBuildInfoFile,isBuilderProgram:()=>isBuilderProgram2,isBundle:()=>cj,isBundleFileTextLike:()=>XO,isCallChain:()=>Cy,isCallExpression:()=>sc,isCallExpressionTarget:()=>isCallExpressionTarget,isCallLikeExpression:()=>SP,isCallOrNewExpression:()=>xP,isCallOrNewExpressionTarget:()=>isCallOrNewExpressionTarget,isCallSignatureDeclaration:()=>Vv,isCallToHelper:()=>isCallToHelper,isCaseBlock:()=>VR,isCaseClause:()=>sj,isCaseKeyword:()=>dR,isCaseOrDefaultClause:()=>QP,isCatchClause:()=>oj,isCatchClauseVariableDeclaration:()=>Gx,isCatchClauseVariableDeclarationOrBindingElement:()=>T3,isCheckJsEnabledForFile:()=>eL,isChildOfNodeWithKind:()=>Ak,isCircularBuildOrder:()=>isCircularBuildOrder,isClassDeclaration:()=>_c,isClassElement:()=>Js,isClassExpression:()=>_d,isClassLike:()=>bi,isClassMemberModifier:()=>VS,isClassOrTypeElement:()=>mP,isClassStaticBlockDeclaration:()=>Hl,isCollapsedRange:()=>vO,isColonToken:()=>iR,isCommaExpression:()=>gd,isCommaListExpression:()=>oc,isCommaSequence:()=>zj,isCommaToken:()=>I8,isComment:()=>isComment,isCommonJsExportPropertyAssignment:()=>p0,isCommonJsExportedExpression:()=>Ok,isCompoundAssignment:()=>isCompoundAssignment,isComputedNonLiteralName:()=>ck,isComputedPropertyName:()=>Ws,isConciseBody:()=>MP,isConditionalExpression:()=>xR,isConditionalTypeNode:()=>V8,isConstTypeReference:()=>jS,isConstructSignatureDeclaration:()=>R8,isConstructorDeclaration:()=>nc,isConstructorTypeNode:()=>Gv,isContextualKeyword:()=>N0,isContinueStatement:()=>jR,isCustomPrologue:()=>Tf,isDebuggerStatement:()=>WR,isDeclaration:()=>ko,isDeclarationBindingElement:()=>Fy,isDeclarationFileName:()=>QE,isDeclarationName:()=>c4,isDeclarationNameOfEnumOrNamespace:()=>IO,isDeclarationReadonly:()=>Sk,isDeclarationStatement:()=>VP,isDeclarationWithTypeParameterChildren:()=>C3,isDeclarationWithTypeParameters:()=>nk,isDecorator:()=>zl,isDecoratorTarget:()=>isDecoratorTarget,isDefaultClause:()=>oE,isDefaultImport:()=>Z3,isDefaultModifier:()=>oR,isDefaultedExpandoInitializer:()=>SI,isDeleteExpression:()=>bR,isDeleteTarget:()=>$I,isDeprecatedDeclaration:()=>isDeprecatedDeclaration,isDestructuringAssignment:()=>nO,isDiagnosticWithLocation:()=>isDiagnosticWithLocation,isDiskPathRoot:()=>H5,isDoStatement:()=>OR,isDotDotDotToken:()=>rR,isDottedName:()=>ev,isDynamicName:()=>M0,isESSymbolIdentifier:()=>pN,isEffectiveExternalModule:()=>Yy,isEffectiveModuleDeclaration:()=>S3,isEffectiveStrictModeSourceFile:()=>tk,isElementAccessChain:()=>RS,isElementAccessExpression:()=>gs,isEmittedFileOfProgram:()=>isEmittedFileOfProgram,isEmptyArrayLiteral:()=>_O,isEmptyBindingElement:()=>pS,isEmptyBindingPattern:()=>uS,isEmptyObjectLiteral:()=>oO,isEmptyStatement:()=>IR,isEmptyStringLiteral:()=>j3,isEndOfDeclarationMarker:()=>ej,isEntityName:()=>lP,isEntityNameExpression:()=>Bs,isEnumConst:()=>Tk,isEnumDeclaration:()=>i2,isEnumMember:()=>cE,isEqualityOperatorKind:()=>isEqualityOperatorKind,isEqualsGreaterThanToken:()=>sR,isExclamationToken:()=>rd,isExcludedFile:()=>isExcludedFile,isExclusivelyTypeOnlyImportOrExport:()=>isExclusivelyTypeOnlyImportOrExport,isExportAssignment:()=>Vo,isExportDeclaration:()=>cc,isExportModifier:()=>N8,isExportName:()=>Uj,isExportNamespaceAsDefaultDeclaration:()=>b3,isExportOrDefaultModifier:()=>DJ,isExportSpecifier:()=>aE,isExportsIdentifier:()=>H3,isExportsOrModuleExportsOrAlias:()=>isExportsOrModuleExportsOrAlias,isExpression:()=>mf,isExpressionNode:()=>g0,isExpressionOfExternalModuleImportEqualsDeclaration:()=>isExpressionOfExternalModuleImportEqualsDeclaration,isExpressionOfOptionalChainRoot:()=>$A,isExpressionStatement:()=>Zl,isExpressionWithTypeArguments:()=>e2,isExpressionWithTypeArgumentsInClassExtendsClause:()=>Z0,isExternalModule:()=>Qo,isExternalModuleAugmentation:()=>Xy,isExternalModuleImportEqualsDeclaration:()=>B3,isExternalModuleIndicator:()=>NP,isExternalModuleNameRelative:()=>gA,isExternalModuleReference:()=>ud,isExternalModuleSymbol:()=>isExternalModuleSymbol,isExternalOrCommonJsModule:()=>bk,isFileLevelUniqueName:()=>m3,isFileProbablyExternalModule:()=>ou,isFirstDeclarationOfSymbolParameter:()=>isFirstDeclarationOfSymbolParameter,isFixablePromiseHandler:()=>isFixablePromiseHandler,isForInOrOfStatement:()=>OP,isForInStatement:()=>LR,isForInitializer:()=>RP,isForOfStatement:()=>RR,isForStatement:()=>eE,isFunctionBlock:()=>O3,isFunctionBody:()=>LP,isFunctionDeclaration:()=>Wo,isFunctionExpression:()=>ad,isFunctionExpressionOrArrowFunction:()=>SL,isFunctionLike:()=>ga,isFunctionLikeDeclaration:()=>HS,isFunctionLikeKind:()=>My,isFunctionLikeOrClassStaticBlockDeclaration:()=>uf,isFunctionOrConstructorTypeNode:()=>hP,isFunctionOrModuleBlock:()=>fP,isFunctionSymbol:()=>DI,isFunctionTypeNode:()=>$l,isFutureReservedKeyword:()=>tN,isGeneratedIdentifier:()=>cs,isGeneratedPrivateIdentifier:()=>Ny,isGetAccessor:()=>Tl,isGetAccessorDeclaration:()=>Gl,isGetOrSetAccessorDeclaration:()=>GA,isGlobalDeclaration:()=>isGlobalDeclaration,isGlobalScopeAugmentation:()=>vf,isGrammarError:()=>ND,isHeritageClause:()=>ru,isHoistedFunction:()=>_0,isHoistedVariableStatement:()=>c0,isIdentifier:()=>yt,isIdentifierANonContextualKeyword:()=>iN,isIdentifierName:()=>YI,isIdentifierOrThisTypeNode:()=>aJ,isIdentifierPart:()=>Rs,isIdentifierStart:()=>Wn,isIdentifierText:()=>vy,isIdentifierTypePredicate:()=>Fk,isIdentifierTypeReference:()=>pL,isIfStatement:()=>NR,isIgnoredFileFromWildCardWatching:()=>isIgnoredFileFromWildCardWatching,isImplicitGlob:()=>Dx,isImportCall:()=>s0,isImportClause:()=>HR,isImportDeclaration:()=>o2,isImportEqualsDeclaration:()=>s2,isImportKeyword:()=>M8,isImportMeta:()=>o0,isImportOrExportSpecifier:()=>aP,isImportOrExportSpecifierName:()=>isImportOrExportSpecifierName,isImportSpecifier:()=>nE,isImportTypeAssertionContainer:()=>GR,isImportTypeNode:()=>Kl,isImportableFile:()=>isImportableFile,isInComment:()=>isInComment,isInExpressionContext:()=>J3,isInJSDoc:()=>q3,isInJSFile:()=>Pr,isInJSXText:()=>isInJSXText,isInJsonFile:()=>pI,isInNonReferenceComment:()=>isInNonReferenceComment,isInReferenceComment:()=>isInReferenceComment,isInRightSideOfInternalImportEqualsDeclaration:()=>isInRightSideOfInternalImportEqualsDeclaration,isInString:()=>isInString,isInTemplateString:()=>isInTemplateString,isInTopLevelContext:()=>Kk,isIncrementalCompilation:()=>wM,isIndexSignatureDeclaration:()=>Hv,isIndexedAccessTypeNode:()=>$8,isInferTypeNode:()=>H8,isInfinityOrNaNString:()=>bL,isInitializedProperty:()=>isInitializedProperty,isInitializedVariable:()=>lx,isInsideJsxElement:()=>isInsideJsxElement,isInsideJsxElementOrAttribute:()=>isInsideJsxElementOrAttribute,isInsideNodeModules:()=>isInsideNodeModules,isInsideTemplateLiteral:()=>isInsideTemplateLiteral,isInstantiatedModule:()=>isInstantiatedModule,isInterfaceDeclaration:()=>eu,isInternalDeclaration:()=>isInternalDeclaration,isInternalModuleImportEqualsDeclaration:()=>lI,isInternalName:()=>qj,isIntersectionTypeNode:()=>W8,isIntrinsicJsxName:()=>P4,isIterationStatement:()=>n3,isJSDoc:()=>Ho,isJSDocAllType:()=>dj,isJSDocAugmentsTag:()=>md,isJSDocAuthorTag:()=>bj,isJSDocCallbackTag:()=>Tj,isJSDocClassTag:()=>pE,isJSDocCommentContainingNode:()=>c3,isJSDocConstructSignature:()=>MI,isJSDocDeprecatedTag:()=>v2,isJSDocEnumTag:()=>dE,isJSDocFunctionType:()=>dd,isJSDocImplementsTag:()=>hE,isJSDocIndexSignature:()=>dI,isJSDocLikeText:()=>LE,isJSDocLink:()=>uj,isJSDocLinkCode:()=>pj,isJSDocLinkLike:()=>Sl,isJSDocLinkPlain:()=>fj,isJSDocMemberName:()=>uc,isJSDocNameReference:()=>fd,isJSDocNamepathType:()=>vj,isJSDocNamespaceBody:()=>FP,isJSDocNode:()=>Uy,isJSDocNonNullableType:()=>hj,isJSDocNullableType:()=>uE,isJSDocOptionalParameter:()=>Zx,isJSDocOptionalType:()=>gj,isJSDocOverloadTag:()=>y2,isJSDocOverrideTag:()=>fE,isJSDocParameterTag:()=>pc,isJSDocPrivateTag:()=>m2,isJSDocPropertyLikeTag:()=>Dy,isJSDocPropertyTag:()=>wj,isJSDocProtectedTag:()=>h2,isJSDocPublicTag:()=>d2,isJSDocReadonlyTag:()=>g2,isJSDocReturnTag:()=>b2,isJSDocSatisfiesExpression:()=>IL,isJSDocSatisfiesTag:()=>T2,isJSDocSeeTag:()=>Sj,isJSDocSignature:()=>iu,isJSDocTag:()=>zy,isJSDocTemplateTag:()=>Go,isJSDocThisTag:()=>mE,isJSDocThrowsTag:()=>Cj,isJSDocTypeAlias:()=>Cl,isJSDocTypeAssertion:()=>xE,isJSDocTypeExpression:()=>lE,isJSDocTypeLiteral:()=>f2,isJSDocTypeTag:()=>au,isJSDocTypedefTag:()=>xj,isJSDocUnknownTag:()=>Ej,isJSDocUnknownType:()=>mj,isJSDocVariadicType:()=>yj,isJSXTagName:()=>xf,isJsonEqual:()=>gv,isJsonSourceFile:()=>a0,isJsxAttribute:()=>nj,isJsxAttributeLike:()=>XP,isJsxAttributes:()=>p2,isJsxChild:()=>o3,isJsxClosingElement:()=>sE,isJsxClosingFragment:()=>rj,isJsxElement:()=>l2,isJsxExpression:()=>aj,isJsxFragment:()=>pd,isJsxOpeningElement:()=>tu,isJsxOpeningFragment:()=>u2,isJsxOpeningLikeElement:()=>_3,isJsxOpeningLikeElementTagName:()=>isJsxOpeningLikeElementTagName,isJsxSelfClosingElement:()=>tj,isJsxSpreadAttribute:()=>ij,isJsxTagNameExpression:()=>KP,isJsxText:()=>td,isJumpStatementTarget:()=>isJumpStatementTarget,isKeyword:()=>ba,isKnownSymbol:()=>lN,isLabelName:()=>isLabelName,isLabelOfLabeledStatement:()=>isLabelOfLabeledStatement,isLabeledStatement:()=>tE,isLateVisibilityPaintedStatement:()=>ak,isLeftHandSideExpression:()=>Do,isLeftHandSideOfAssignment:()=>rO,isLet:()=>xk,isLineBreak:()=>un,isLiteralComputedPropertyDeclarationName:()=>l4,isLiteralExpression:()=>Iy,isLiteralExpressionOfObject:()=>rP,isLiteralImportTypeNode:()=>k3,isLiteralKind:()=>ky,isLiteralLikeAccess:()=>wf,isLiteralLikeElementAccess:()=>wl,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>isLiteralNameOfPropertyDeclarationOrIndexAccess,isLiteralTypeLikeExpression:()=>cJ,isLiteralTypeLiteral:()=>CP,isLiteralTypeNode:()=>Yv,isLocalName:()=>E2,isLogicalOperator:()=>ZN,isLogicalOrCoalescingAssignmentExpression:()=>eO,isLogicalOrCoalescingAssignmentOperator:()=>jf,isLogicalOrCoalescingBinaryExpression:()=>tO,isLogicalOrCoalescingBinaryOperator:()=>Z4,isMappedTypeNode:()=>K8,isMemberName:()=>js,isMergeDeclarationMarker:()=>ZR,isMetaProperty:()=>t2,isMethodDeclaration:()=>Vl,isMethodOrAccessor:()=>Ly,isMethodSignature:()=>L8,isMinusToken:()=>Wv,isMissingDeclaration:()=>YR,isModifier:()=>Oy,isModifierKind:()=>Wi,isModifierLike:()=>ff,isModuleAugmentationExternal:()=>x3,isModuleBlock:()=>rE,isModuleBody:()=>jP,isModuleDeclaration:()=>Ea,isModuleExportsAccessExpression:()=>T0,isModuleIdentifier:()=>G3,isModuleName:()=>_J,isModuleOrEnumDeclaration:()=>qP,isModuleReference:()=>$P,isModuleSpecifierLike:()=>isModuleSpecifierLike,isModuleWithStringLiteralName:()=>KD,isNameOfFunctionDeclaration:()=>isNameOfFunctionDeclaration,isNameOfModuleDeclaration:()=>isNameOfModuleDeclaration,isNamedClassElement:()=>dP,isNamedDeclaration:()=>af,isNamedEvaluation:()=>fN,isNamedEvaluationSource:()=>S4,isNamedExportBindings:()=>QA,isNamedExports:()=>iE,isNamedImportBindings:()=>BP,isNamedImports:()=>XR,isNamedImportsOrExports:()=>YO,isNamedTupleMember:()=>$v,isNamespaceBody:()=>JP,isNamespaceExport:()=>ld,isNamespaceExportDeclaration:()=>a2,isNamespaceImport:()=>_2,isNamespaceReexportDeclaration:()=>oI,isNewExpression:()=>X8,isNewExpressionTarget:()=>isNewExpressionTarget,isNightly:()=>PN,isNoSubstitutionTemplateLiteral:()=>k8,isNode:()=>eP,isNodeArray:()=>_s,isNodeArrayMultiLine:()=>AO,isNodeDescendantOf:()=>KI,isNodeKind:()=>gl,isNodeLikeSystem:()=>M5,isNodeModulesDirectory:()=>aA,isNodeWithPossibleHoistedDeclaration:()=>zI,isNonContextualKeyword:()=>y4,isNonExportDefaultModifier:()=>kJ,isNonGlobalAmbientModule:()=>XD,isNonGlobalDeclaration:()=>isNonGlobalDeclaration,isNonNullAccess:()=>kL,isNonNullChain:()=>JS,isNonNullExpression:()=>Uo,isNonStaticMethodOrAccessorWithPrivateName:()=>isNonStaticMethodOrAccessorWithPrivateName,isNotEmittedOrPartiallyEmittedNode:()=>DP,isNotEmittedStatement:()=>c2,isNullishCoalesce:()=>XA,isNumber:()=>gi,isNumericLiteral:()=>zs,isNumericLiteralName:()=>$x,isObjectBindingElementWithoutPropertyName:()=>isObjectBindingElementWithoutPropertyName,isObjectBindingOrAssignmentElement:()=>YS,isObjectBindingOrAssignmentPattern:()=>XS,isObjectBindingPattern:()=>gR,isObjectLiteralElement:()=>Wy,isObjectLiteralElementLike:()=>jy,isObjectLiteralExpression:()=>Hs,isObjectLiteralMethod:()=>jk,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>Jk,isObjectTypeDeclaration:()=>$O,isOctalDigit:()=>hy,isOmittedExpression:()=>cd,isOptionalChain:()=>Ay,isOptionalChainRoot:()=>Py,isOptionalDeclaration:()=>DL,isOptionalJSDocPropertyLikeTag:()=>Yx,isOptionalTypeNode:()=>q8,isOuterExpression:()=>yd,isOutermostOptionalChain:()=>KA,isOverrideModifier:()=>pR,isPackedArrayLiteral:()=>hL,isParameter:()=>Vs,isParameterDeclaration:()=>mN,isParameterOrCatchClauseVariable:()=>TL,isParameterPropertyDeclaration:()=>lS,isParameterPropertyModifier:()=>WS,isParenthesizedExpression:()=>qo,isParenthesizedTypeNode:()=>Kv,isParseTreeNode:()=>pl,isPartOfTypeNode:()=>l0,isPartOfTypeQuery:()=>F3,isPartiallyEmittedExpression:()=>Z8,isPatternMatch:()=>z1,isPinnedComment:()=>v3,isPlainJsFile:()=>PD,isPlusToken:()=>zv,isPossiblyTypeArgumentPosition:()=>isPossiblyTypeArgumentPosition,isPostfixUnaryExpression:()=>Q8,isPrefixUnaryExpression:()=>od,isPrivateIdentifier:()=>vn,isPrivateIdentifierClassElementDeclaration:()=>zS,isPrivateIdentifierPropertyAccessExpression:()=>cP,isPrivateIdentifierSymbol:()=>uN,isProgramBundleEmitBuildInfo:()=>isProgramBundleEmitBuildInfo,isProgramUptoDate:()=>isProgramUptoDate,isPrologueDirective:()=>us,isPropertyAccessChain:()=>LS,isPropertyAccessEntityNameExpression:()=>rx,isPropertyAccessExpression:()=>bn,isPropertyAccessOrQualifiedName:()=>TP,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>bP,isPropertyAssignment:()=>lc,isPropertyDeclaration:()=>Bo,isPropertyName:()=>vl,isPropertyNameLiteral:()=>L0,isPropertySignature:()=>Wl,isProtoSetter:()=>T4,isPrototypeAccess:()=>Nl,isPrototypePropertyAssignment:()=>CI,isPunctuation:()=>isPunctuation,isPushOrUnshiftIdentifier:()=>dN,isQualifiedName:()=>rc,isQuestionDotToken:()=>aR,isQuestionOrExclamationToken:()=>iJ,isQuestionOrPlusOrMinusToken:()=>oJ,isQuestionToken:()=>ql,isRawSourceMap:()=>isRawSourceMap,isReadonlyKeyword:()=>O8,isReadonlyKeywordOrPlusOrMinusToken:()=>sJ,isRecognizedTripleSlashComment:()=>jD,isReferenceFileLocation:()=>isReferenceFileLocation,isReferencedFile:()=>isReferencedFile,isRegularExpressionLiteral:()=>QL,isRequireCall:()=>El,isRequireVariableStatement:()=>W3,isRestParameter:()=>u3,isRestTypeNode:()=>U8,isReturnStatement:()=>FR,isReturnStatementWithFixablePromiseHandler:()=>isReturnStatementWithFixablePromiseHandler,isRightSideOfAccessExpression:()=>nx,isRightSideOfPropertyAccess:()=>isRightSideOfPropertyAccess,isRightSideOfQualifiedName:()=>isRightSideOfQualifiedName,isRightSideOfQualifiedNameOrPropertyAccess:()=>aO,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>sO,isRootedDiskPath:()=>A_,isSameEntityName:()=>z_,isSatisfiesExpression:()=>AR,isScopeMarker:()=>i3,isSemicolonClassElement:()=>kR,isSetAccessor:()=>bl,isSetAccessorDeclaration:()=>ic,isShebangTrivia:()=>gy,isShorthandAmbientModuleSymbol:()=>YD,isShorthandPropertyAssignment:()=>nu,isSignedNumericLiteral:()=>O0,isSimpleCopiableExpression:()=>isSimpleCopiableExpression,isSimpleInlineableExpression:()=>isSimpleInlineableExpression,isSingleOrDoubleQuote:()=>hI,isSourceFile:()=>wi,isSourceFileFromLibrary:()=>isSourceFileFromLibrary,isSourceFileJS:()=>y0,isSourceFileNotJS:()=>uI,isSourceFileNotJson:()=>fI,isSourceMapping:()=>isSourceMapping,isSpecialPropertyDeclaration:()=>AI,isSpreadAssignment:()=>_E,isSpreadElement:()=>Zv,isStatement:()=>a3,isStatementButNotDeclaration:()=>HP,isStatementOrBlock:()=>s3,isStatementWithLocals:()=>DD,isStatic:()=>G0,isStaticModifier:()=>lR,isString:()=>Ji,isStringAKeyword:()=>nN,isStringANonContextualKeyword:()=>rN,isStringAndEmptyAnonymousObjectIntersection:()=>isStringAndEmptyAnonymousObjectIntersection,isStringDoubleQuoted:()=>gI,isStringLiteral:()=>Gn,isStringLiteralLike:()=>Ti,isStringLiteralOrJsxExpression:()=>YP,isStringLiteralOrTemplate:()=>isStringLiteralOrTemplate,isStringOrNumericLiteralLike:()=>Ta,isStringOrRegularExpressionOrTemplateLiteral:()=>isStringOrRegularExpressionOrTemplateLiteral,isStringTextContainingNode:()=>_P,isSuperCall:()=>Ek,isSuperKeyword:()=>nd,isSuperOrSuperProperty:()=>Zk,isSuperProperty:()=>Sf,isSupportedSourceFileName:()=>GM,isSwitchStatement:()=>qR,isSyntaxList:()=>Aj,isSyntheticExpression:()=>PR,isSyntheticReference:()=>QR,isTagName:()=>isTagName,isTaggedTemplateExpression:()=>Y8,isTaggedTemplateTag:()=>isTaggedTemplateTag,isTemplateExpression:()=>ER,isTemplateHead:()=>ZL,isTemplateLiteral:()=>EP,isTemplateLiteralKind:()=>yl,isTemplateLiteralToken:()=>nP,isTemplateLiteralTypeNode:()=>hR,isTemplateLiteralTypeSpan:()=>mR,isTemplateMiddle:()=>eR,isTemplateMiddleOrTemplateTail:()=>iP,isTemplateSpan:()=>DR,isTemplateTail:()=>tR,isTextWhiteSpaceLike:()=>isTextWhiteSpaceLike,isThis:()=>isThis,isThisContainerOrFunctionBlock:()=>$k,isThisIdentifier:()=>Mf,isThisInTypeQuery:()=>qN,isThisInitializedDeclaration:()=>tI,isThisInitializedObjectBindingExpression:()=>rI,isThisProperty:()=>eI,isThisTypeNode:()=>Xv,isThisTypeParameter:()=>Kx,isThisTypePredicate:()=>Bk,isThrowStatement:()=>UR,isToken:()=>tP,isTokenKind:()=>BS,isTraceEnabled:()=>isTraceEnabled,isTransientSymbol:()=>$y,isTrivia:()=>aN,isTryStatement:()=>zR,isTupleTypeNode:()=>B8,isTypeAlias:()=>LI,isTypeAliasDeclaration:()=>n2,isTypeAssertionExpression:()=>vR,isTypeDeclaration:()=>Xx,isTypeElement:()=>Ry,isTypeKeyword:()=>isTypeKeyword,isTypeKeywordToken:()=>isTypeKeywordToken,isTypeKeywordTokenOrIdentifier:()=>isTypeKeywordTokenOrIdentifier,isTypeLiteralNode:()=>id,isTypeNode:()=>Jy,isTypeNodeKind:()=>hx,isTypeOfExpression:()=>TR,isTypeOnlyExportDeclaration:()=>US,isTypeOnlyImportDeclaration:()=>qS,isTypeOnlyImportOrExportDeclaration:()=>sP,isTypeOperatorNode:()=>G8,isTypeParameterDeclaration:()=>Fo,isTypePredicateNode:()=>j8,isTypeQueryNode:()=>J8,isTypeReferenceNode:()=>ac,isTypeReferenceType:()=>tD,isUMDExportSymbol:()=>VO,isUnaryExpression:()=>t3,isUnaryExpressionWithWrite:()=>wP,isUnicodeIdentifierStart:()=>UT,isUnionTypeNode:()=>z8,isUnparsedNode:()=>ZA,isUnparsedPrepend:()=>_j,isUnparsedSource:()=>lj,isUnparsedTextLike:()=>FS,isUrl:()=>V5,isValidBigIntString:()=>zx,isValidESSymbolDeclaration:()=>Mk,isValidTypeOnlyAliasUseSite:()=>_L,isValueSignatureDeclaration:()=>WI,isVarConst:()=>D3,isVariableDeclaration:()=>Vi,isVariableDeclarationInVariableStatement:()=>N3,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>Ef,isVariableDeclarationInitializedToRequire:()=>U3,isVariableDeclarationList:()=>r2,isVariableLike:()=>u0,isVariableLikeOrAccessor:()=>Nk,isVariableStatement:()=>zo,isVoidExpression:()=>Qv,isWatchSet:()=>OO,isWhileStatement:()=>MR,isWhiteSpaceLike:()=>os,isWhiteSpaceSingleLine:()=>N_,isWithStatement:()=>BR,isWriteAccess:()=>FO,isWriteOnlyAccess:()=>JO,isYieldExpression:()=>wR,jsxModeNeedsExplicitImport:()=>jsxModeNeedsExplicitImport,keywordPart:()=>keywordPart,last:()=>Zn,lastOrUndefined:()=>Cn,length:()=>I,libMap:()=>libMap,libs:()=>libs,lineBreakPart:()=>lineBreakPart,linkNamePart:()=>linkNamePart,linkPart:()=>linkPart,linkTextPart:()=>linkTextPart,listFiles:()=>listFiles,loadModuleFromGlobalCache:()=>loadModuleFromGlobalCache,loadWithModeAwareCache:()=>loadWithModeAwareCache,makeIdentifierFromModuleName:()=>GD,makeImport:()=>makeImport,makeImportIfNecessary:()=>makeImportIfNecessary,makeStringLiteral:()=>makeStringLiteral,mangleScopedPackageName:()=>mangleScopedPackageName,map:()=>Ze,mapAllOrFail:()=>Pt,mapDefined:()=>qt,mapDefinedEntries:()=>Ri,mapDefinedIterator:()=>Zr,mapEntries:()=>be,mapIterator:()=>st,mapOneOrMany:()=>mapOneOrMany,mapToDisplayParts:()=>mapToDisplayParts,matchFiles:()=>qM,matchPatternOrExact:()=>tL,matchedText:()=>S5,matchesExclude:()=>matchesExclude,maybeBind:()=>le,maybeSetLocalizedDiagnosticMessages:()=>vx,memoize:()=>tl,memoizeCached:()=>D1,memoizeOne:()=>An,memoizeWeak:()=>P1,metadataHelper:()=>metadataHelper,min:()=>N1,minAndMax:()=>nL,missingFileModifiedTime:()=>missingFileModifiedTime,modifierToFlag:()=>Q0,modifiersToFlags:()=>Vn,moduleOptionDeclaration:()=>moduleOptionDeclaration,moduleResolutionIsEqualTo:()=>TD,moduleResolutionNameAndModeGetter:()=>moduleResolutionNameAndModeGetter,moduleResolutionOptionDeclarations:()=>moduleResolutionOptionDeclarations,moduleResolutionSupportsPackageJsonExportsAndImports:()=>_v,moduleResolutionUsesNodeModules:()=>moduleResolutionUsesNodeModules,moduleSpecifiers:()=>ts_moduleSpecifiers_exports,moveEmitHelpers:()=>moveEmitHelpers,moveRangeEnd:()=>gO,moveRangePastDecorators:()=>_x,moveRangePastModifiers:()=>yO,moveRangePos:()=>Ff,moveSyntheticComments:()=>moveSyntheticComments,mutateMap:()=>UO,mutateMapSkippingNewValues:()=>fx,needsParentheses:()=>needsParentheses,needsScopeMarker:()=>IP,newCaseClauseTracker:()=>newCaseClauseTracker,newPrivateEnvironment:()=>newPrivateEnvironment,noEmitNotification:()=>noEmitNotification,noEmitSubstitution:()=>noEmitSubstitution,noTransformers:()=>noTransformers,noTruncationMaximumTruncationLength:()=>n8,nodeCanBeDecorated:()=>R3,nodeHasName:()=>hS,nodeIsDecorated:()=>q_,nodeIsMissing:()=>va,nodeIsPresent:()=>xl,nodeIsSynthesized:()=>fs,nodeModuleNameResolver:()=>nodeModuleNameResolver,nodeModulesPathPart:()=>nodeModulesPathPart,nodeNextJsonConfigResolver:()=>nodeNextJsonConfigResolver,nodeOrChildIsDecorated:()=>m0,nodeOverlapsWithStartEnd:()=>nodeOverlapsWithStartEnd,nodePosToString:()=>ID,nodeSeenTracker:()=>nodeSeenTracker,nodeStartsNewLexicalEnvironment:()=>hN,nodeToDisplayParts:()=>nodeToDisplayParts,noop:()=>yn,noopFileWatcher:()=>noopFileWatcher,noopPush:()=>CT,normalizePath:()=>Un,normalizeSlashes:()=>Eo,not:()=>w5,notImplemented:()=>A1,notImplementedResolver:()=>notImplementedResolver,nullNodeConverters:()=>nullNodeConverters,nullParenthesizerRules:()=>Jv,nullTransformationContext:()=>nullTransformationContext,objectAllocator:()=>lr,operatorPart:()=>operatorPart,optionDeclarations:()=>optionDeclarations,optionMapToObject:()=>optionMapToObject,optionsAffectingProgramStructure:()=>optionsAffectingProgramStructure,optionsForBuild:()=>optionsForBuild,optionsForWatch:()=>optionsForWatch,optionsHaveChanges:()=>J_,optionsHaveModuleResolutionChanges:()=>p3,or:()=>W1,orderedRemoveItem:()=>J,orderedRemoveItemAt:()=>vT,outFile:()=>B0,packageIdToPackageName:()=>f3,packageIdToString:()=>xD,padLeft:()=>D5,padRight:()=>k5,paramHelper:()=>paramHelper,parameterIsThisKeyword:()=>kl,parameterNamePart:()=>parameterNamePart,parseBaseNodeFactory:()=>I2,parseBigInt:()=>oL,parseBuildCommand:()=>parseBuildCommand,parseCommandLine:()=>parseCommandLine,parseCommandLineWorker:()=>parseCommandLineWorker,parseConfigFileTextToJson:()=>parseConfigFileTextToJson,parseConfigFileWithSystem:()=>parseConfigFileWithSystem,parseConfigHostFromCompilerHostLike:()=>parseConfigHostFromCompilerHostLike,parseCustomTypeOption:()=>parseCustomTypeOption,parseIsolatedEntityName:()=>$J,parseIsolatedJSDocComment:()=>XJ,parseJSDocTypeExpressionForTests:()=>YJ,parseJsonConfigFileContent:()=>parseJsonConfigFileContent,parseJsonSourceFileConfigFileContent:()=>parseJsonSourceFileConfigFileContent,parseJsonText:()=>KJ,parseListTypeOption:()=>parseListTypeOption,parseNodeFactory:()=>dc,parseNodeModuleFromPath:()=>parseNodeModuleFromPath,parsePackageName:()=>parsePackageName,parsePseudoBigInt:()=>Hf,parseValidBigInt:()=>Ux,patchWriteFileEnsuringDirectory:()=>patchWriteFileEnsuringDirectory,pathContainsNodeModules:()=>pathContainsNodeModules,pathIsAbsolute:()=>sy,pathIsBareSpecifier:()=>G5,pathIsRelative:()=>So,patternText:()=>T5,perfLogger:()=>Dp,performIncrementalCompilation:()=>performIncrementalCompilation,performance:()=>ts_performance_exports,plainJSErrors:()=>plainJSErrors,positionBelongsToNode:()=>positionBelongsToNode,positionIsASICandidate:()=>positionIsASICandidate,positionIsSynthesized:()=>hs,positionsAreOnSameLine:()=>$_,preProcessFile:()=>preProcessFile,probablyUsesSemicolons:()=>probablyUsesSemicolons,processCommentPragmas:()=>ZE,processPragmasIntoFields:()=>e7,processTaggedTemplateExpression:()=>processTaggedTemplateExpression,programContainsEsModules:()=>programContainsEsModules,programContainsModules:()=>programContainsModules,projectReferenceIsEqualTo:()=>bD,propKeyHelper:()=>propKeyHelper,propertyNamePart:()=>propertyNamePart,pseudoBigIntToString:()=>yv,punctuationPart:()=>punctuationPart,pushIfUnique:()=>qn,quote:()=>quote,quotePreferenceFromString:()=>quotePreferenceFromString,rangeContainsPosition:()=>rangeContainsPosition,rangeContainsPositionExclusive:()=>rangeContainsPositionExclusive,rangeContainsRange:()=>rangeContainsRange,rangeContainsRangeExclusive:()=>rangeContainsRangeExclusive,rangeContainsStartEnd:()=>rangeContainsStartEnd,rangeEndIsOnSameLineAsRangeStart:()=>EO,rangeEndPositionsAreOnSameLine:()=>xO,rangeEquals:()=>Kc,rangeIsOnSingleLine:()=>TO,rangeOfNode:()=>iL,rangeOfTypeParameters:()=>aL,rangeOverlapsWithStartEnd:()=>rangeOverlapsWithStartEnd,rangeStartIsOnSameLineAsRangeEnd:()=>cx,rangeStartPositionsAreOnSameLine:()=>SO,readBuilderProgram:()=>readBuilderProgram,readConfigFile:()=>readConfigFile,readHelper:()=>readHelper,readJson:()=>hO,readJsonConfigFile:()=>readJsonConfigFile,readJsonOrUndefined:()=>ax,realizeDiagnostics:()=>realizeDiagnostics,reduceEachLeadingCommentRange:()=>zT,reduceEachTrailingCommentRange:()=>WT,reduceLeft:()=>Qa,reduceLeftIterator:()=>K,reducePathComponents:()=>is,refactor:()=>ts_refactor_exports,regExpEscape:()=>JM,relativeComplement:()=>h_,removeAllComments:()=>removeAllComments,removeEmitHelper:()=>removeEmitHelper,removeExtension:()=>Fx,removeFileExtension:()=>Ll,removeIgnoredPath:()=>removeIgnoredPath,removeMinAndVersionNumbers:()=>q1,removeOptionality:()=>removeOptionality,removePrefix:()=>x5,removeSuffix:()=>F1,removeTrailingDirectorySeparator:()=>P_,repeatString:()=>repeatString,replaceElement:()=>ei,resolutionExtensionIsTSOrJson:()=>YM,resolveConfigFileProjectName:()=>resolveConfigFileProjectName,resolveJSModule:()=>resolveJSModule,resolveModuleName:()=>resolveModuleName,resolveModuleNameFromCache:()=>resolveModuleNameFromCache,resolvePackageNameToPackageJson:()=>resolvePackageNameToPackageJson,resolvePath:()=>oy,resolveProjectReferencePath:()=>resolveProjectReferencePath,resolveTripleslashReference:()=>resolveTripleslashReference,resolveTypeReferenceDirective:()=>resolveTypeReferenceDirective,resolvingEmptyArray:()=>t8,restHelper:()=>restHelper,returnFalse:()=>w_,returnNoopFileWatcher:()=>returnNoopFileWatcher,returnTrue:()=>vp,returnUndefined:()=>C1,returnsPromise:()=>returnsPromise,runInitializersHelper:()=>runInitializersHelper,sameFlatMap:()=>at,sameMap:()=>tt,sameMapping:()=>sameMapping,scanShebangTrivia:()=>yy,scanTokenAtPosition:()=>yk,scanner:()=>Zo,screenStartingMessageCodes:()=>screenStartingMessageCodes,semanticDiagnosticsOptionDeclarations:()=>semanticDiagnosticsOptionDeclarations,serializeCompilerOptions:()=>serializeCompilerOptions,server:()=>ts_server_exports,servicesVersion:()=>E7,setCommentRange:()=>setCommentRange,setConfigFileInOptions:()=>setConfigFileInOptions,setConstantValue:()=>setConstantValue,setEachParent:()=>Q_,setEmitFlags:()=>setEmitFlags,setFunctionNameHelper:()=>setFunctionNameHelper,setGetSourceFileAsHashVersioned:()=>setGetSourceFileAsHashVersioned,setIdentifierAutoGenerate:()=>setIdentifierAutoGenerate,setIdentifierGeneratedImportReference:()=>setIdentifierGeneratedImportReference,setIdentifierTypeArguments:()=>setIdentifierTypeArguments,setInternalEmitFlags:()=>setInternalEmitFlags,setLocalizedDiagnosticMessages:()=>yx,setModuleDefaultHelper:()=>setModuleDefaultHelper,setNodeFlags:()=>dL,setObjectAllocator:()=>gx,setOriginalNode:()=>Dn,setParent:()=>Sa,setParentRecursive:()=>Vx,setPrivateIdentifier:()=>setPrivateIdentifier,setResolvedModule:()=>gD,setResolvedTypeReferenceDirective:()=>yD,setSnippetElement:()=>setSnippetElement,setSourceMapRange:()=>setSourceMapRange,setStackTraceLimit:()=>setStackTraceLimit,setStartsOnNewLine:()=>setStartsOnNewLine,setSyntheticLeadingComments:()=>setSyntheticLeadingComments,setSyntheticTrailingComments:()=>setSyntheticTrailingComments,setSys:()=>setSys,setSysLog:()=>setSysLog,setTextRange:()=>Rt,setTextRangeEnd:()=>Wx,setTextRangePos:()=>Gf,setTextRangePosEnd:()=>Us,setTextRangePosWidth:()=>$f,setTokenSourceMapRange:()=>setTokenSourceMapRange,setTypeNode:()=>setTypeNode,setUILocale:()=>xp,setValueDeclaration:()=>PI,shouldAllowImportingTsExtension:()=>shouldAllowImportingTsExtension,shouldPreserveConstEnums:()=>EM,shouldUseUriStyleNodeCoreModules:()=>shouldUseUriStyleNodeCoreModules,showModuleSpecifier:()=>HO,signatureHasLiteralTypes:()=>signatureHasLiteralTypes,signatureHasRestParameter:()=>signatureHasRestParameter,signatureToDisplayParts:()=>signatureToDisplayParts,single:()=>Yc,singleElementArray:()=>Cp,singleIterator:()=>Ka,singleOrMany:()=>mo,singleOrUndefined:()=>Xa,skipAlias:()=>RO,skipAssertions:()=>Hj,skipConstraint:()=>skipConstraint,skipOuterExpressions:()=>$o,skipParentheses:()=>Pl,skipPartiallyEmittedExpressions:()=>lf,skipTrivia:()=>Ar,skipTypeChecking:()=>sL,skipTypeParentheses:()=>GI,skipWhile:()=>N5,sliceAfter:()=>rL,some:()=>Ke,sort:()=>Is,sortAndDeduplicate:()=>uo,sortAndDeduplicateDiagnostics:()=>yA,sourceFileAffectingCompilerOptions:()=>sourceFileAffectingCompilerOptions,sourceFileMayBeEmitted:()=>q0,sourceMapCommentRegExp:()=>sourceMapCommentRegExp,sourceMapCommentRegExpDontCareLineStart:()=>sourceMapCommentRegExpDontCareLineStart,spacePart:()=>spacePart,spanMap:()=>co,spreadArrayHelper:()=>spreadArrayHelper,stableSort:()=>Ns,startEndContainsRange:()=>startEndContainsRange,startEndOverlapsWithStartEnd:()=>startEndOverlapsWithStartEnd,startOnNewLine:()=>vd,startTracing:()=>startTracing,startsWith:()=>Pn,startsWithDirectory:()=>rA,startsWithUnderscore:()=>startsWithUnderscore,startsWithUseStrict:()=>SE,stringContains:()=>Fi,stringContainsAt:()=>stringContainsAt,stringToToken:()=>_l,stripQuotes:()=>CN,supportedDeclarationExtensions:()=>Rv,supportedJSExtensions:()=>Mv,supportedJSExtensionsFlat:()=>Lv,supportedLocaleDirectories:()=>Hy,supportedTSExtensions:()=>Jo,supportedTSExtensionsFlat:()=>Ov,supportedTSImplementationExtensions:()=>b8,suppressLeadingAndTrailingTrivia:()=>suppressLeadingAndTrailingTrivia,suppressLeadingTrivia:()=>suppressLeadingTrivia,suppressTrailingTrivia:()=>suppressTrailingTrivia,symbolEscapedNameNoDefault:()=>symbolEscapedNameNoDefault,symbolName:()=>rf,symbolNameNoDefault:()=>symbolNameNoDefault,symbolPart:()=>symbolPart,symbolToDisplayParts:()=>symbolToDisplayParts,syntaxMayBeASICandidate:()=>syntaxMayBeASICandidate,syntaxRequiresTrailingSemicolonOrASI:()=>syntaxRequiresTrailingSemicolonOrASI,sys:()=>iy,sysLog:()=>sysLog,tagNamesAreEquivalent:()=>Hi,takeWhile:()=>I5,targetOptionDeclaration:()=>targetOptionDeclaration,templateObjectHelper:()=>templateObjectHelper,testFormatSettings:()=>testFormatSettings,textChangeRangeIsUnchanged:()=>cS,textChangeRangeNewSpan:()=>R_,textChanges:()=>ts_textChanges_exports,textOrKeywordPart:()=>textOrKeywordPart,textPart:()=>textPart,textRangeContainsPositionInclusive:()=>bA,textSpanContainsPosition:()=>vA,textSpanContainsTextSpan:()=>TA,textSpanEnd:()=>Ir,textSpanIntersection:()=>_S,textSpanIntersectsWith:()=>EA,textSpanIntersectsWithPosition:()=>wA,textSpanIntersectsWithTextSpan:()=>xA,textSpanIsEmpty:()=>sS,textSpanOverlap:()=>oS,textSpanOverlapsWith:()=>SA,textSpansEqual:()=>textSpansEqual,textToKeywordObj:()=>cl,timestamp:()=>ts,toArray:()=>en,toBuilderFileEmit:()=>toBuilderFileEmit,toBuilderStateFileInfoForMultiEmit:()=>toBuilderStateFileInfoForMultiEmit,toEditorSettings:()=>lu,toFileNameLowerCase:()=>Tp,toLowerCase:()=>bp,toPath:()=>Ui,toProgramEmitPending:()=>toProgramEmitPending,tokenIsIdentifierOrKeyword:()=>fr,tokenIsIdentifierOrKeywordOrGreaterThan:()=>qT,tokenToString:()=>Br,trace:()=>trace,tracing:()=>rs,tracingEnabled:()=>tracingEnabled,transform:()=>transform,transformClassFields:()=>transformClassFields,transformDeclarations:()=>transformDeclarations,transformECMAScriptModule:()=>transformECMAScriptModule,transformES2015:()=>transformES2015,transformES2016:()=>transformES2016,transformES2017:()=>transformES2017,transformES2018:()=>transformES2018,transformES2019:()=>transformES2019,transformES2020:()=>transformES2020,transformES2021:()=>transformES2021,transformES5:()=>transformES5,transformESDecorators:()=>transformESDecorators,transformESNext:()=>transformESNext,transformGenerators:()=>transformGenerators,transformJsx:()=>transformJsx,transformLegacyDecorators:()=>transformLegacyDecorators,transformModule:()=>transformModule,transformNodeModule:()=>transformNodeModule,transformNodes:()=>transformNodes,transformSystemModule:()=>transformSystemModule,transformTypeScript:()=>transformTypeScript,transpile:()=>transpile,transpileModule:()=>transpileModule,transpileOptionValueCompilerOptions:()=>transpileOptionValueCompilerOptions,trimString:()=>Pp,trimStringEnd:()=>X1,trimStringStart:()=>nl,tryAddToSet:()=>ua,tryAndIgnoreErrors:()=>tryAndIgnoreErrors,tryCast:()=>ln,tryDirectoryExists:()=>tryDirectoryExists,tryExtractTSExtension:()=>uO,tryFileExists:()=>tryFileExists,tryGetClassExtendingExpressionWithTypeArguments:()=>ex,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>tx,tryGetDirectories:()=>tryGetDirectories,tryGetExtensionFromPath:()=>hv,tryGetImportFromModuleSpecifier:()=>Y3,tryGetJSDocSatisfiesTypeNode:()=>e8,tryGetModuleNameFromFile:()=>CE,tryGetModuleSpecifierFromDeclaration:()=>kI,tryGetNativePerformanceHooks:()=>J5,tryGetPropertyAccessOrIdentifierToString:()=>tv,tryGetPropertyNameOfBindingOrAssignmentElement:()=>PE,tryGetSourceMappingURL:()=>tryGetSourceMappingURL,tryGetTextOfPropertyName:()=>e0,tryIOAndConsumeErrors:()=>tryIOAndConsumeErrors,tryParsePattern:()=>Bx,tryParsePatterns:()=>XM,tryParseRawSourceMap:()=>tryParseRawSourceMap,tryReadDirectory:()=>tryReadDirectory,tryReadFile:()=>tryReadFile,tryRemoveDirectoryPrefix:()=>jM,tryRemoveExtension:()=>Jx,tryRemovePrefix:()=>ST,tryRemoveSuffix:()=>B1,typeAcquisitionDeclarations:()=>typeAcquisitionDeclarations,typeAliasNamePart:()=>typeAliasNamePart,typeDirectiveIsEqualTo:()=>ED,typeKeywords:()=>typeKeywords,typeParameterNamePart:()=>typeParameterNamePart,typeReferenceResolutionNameAndModeGetter:()=>typeReferenceResolutionNameAndModeGetter,typeToDisplayParts:()=>typeToDisplayParts,unchangedPollThresholds:()=>unchangedPollThresholds,unchangedTextChangeRange:()=>Vy,unescapeLeadingUnderscores:()=>dl,unmangleScopedPackageName:()=>unmangleScopedPackageName,unorderedRemoveItem:()=>bT,unorderedRemoveItemAt:()=>U1,unreachableCodeIsError:()=>yM,unusedLabelIsError:()=>vM,unwrapInnermostStatementOfLabel:()=>Rk,updateErrorForNoInputFiles:()=>updateErrorForNoInputFiles,updateLanguageServiceSourceFile:()=>T7,updateMissingFilePathsWatch:()=>updateMissingFilePathsWatch,updatePackageJsonWatch:()=>updatePackageJsonWatch,updateResolutionField:()=>updateResolutionField,updateSharedExtendedConfigFileWatcher:()=>updateSharedExtendedConfigFileWatcher,updateSourceFile:()=>k2,updateWatchingWildcardDirectories:()=>updateWatchingWildcardDirectories,usesExtensionsOnImports:()=>Rx,usingSingleLineStringWriter:()=>mD,utf16EncodeAsString:()=>by,validateLocaleAndSetLanguage:()=>DA,valuesHelper:()=>valuesHelper,version:()=>C,versionMajorMinor:()=>m,visitArray:()=>visitArray,visitCommaListElements:()=>visitCommaListElements,visitEachChild:()=>visitEachChild,visitFunctionBody:()=>visitFunctionBody,visitIterationBody:()=>visitIterationBody,visitLexicalEnvironment:()=>visitLexicalEnvironment,visitNode:()=>visitNode,visitNodes:()=>visitNodes2,visitParameterList:()=>visitParameterList,walkUpBindingElementsAndPatterns:()=>fS,walkUpLexicalEnvironments:()=>walkUpLexicalEnvironments,walkUpOuterExpressions:()=>Vj,walkUpParenthesizedExpressions:()=>D0,walkUpParenthesizedTypes:()=>VI,walkUpParenthesizedTypesAndGetParentAndChild:()=>HI,whitespaceOrMapCommentRegExp:()=>whitespaceOrMapCommentRegExp,writeCommentRange:()=>$N,writeFile:()=>jN,writeFileEnsuringDirectories:()=>JN,zipToModeAwareCache:()=>zipToModeAwareCache,zipWith:()=>ce});var R7=D({"src/typescript/_namespaces/ts.ts"(){"use strict";nn(),l7(),L2(),FB()}}),BB=P({"src/typescript/typescript.ts"(e,t){R7(),R7(),typeof console<"u"&&(Y.loggingHost={log(r,s){switch(r){case 1:return console.error(s);case 2:return console.warn(s);case 3:return console.log(s);case 4:return console.log(s)}}}),t.exports=L7}});_.exports=BB()}}),DW=Oe({"src/language-js/parse/postprocess/typescript.js"(a,_){"use strict";De();var v=F9(),h=q9(),D=U9(),P={AbstractKeyword:126,SourceFile:308,PropertyDeclaration:169};function y(c){for(;c&&c.kind!==P.SourceFile;)c=c.parent;return c}function m(c,M){let q=y(c),[W,K]=[c.getStart(),c.end].map(ce=>{let{line:Ie,character:me}=q.getLineAndCharacterOfPosition(ce);return{line:Ie+1,column:me}});D({loc:{start:W,end:K}},M)}function C(c){let M=vr();return[!0,!1].some(q=>M.nodeCanBeDecorated(q,c,c.parent,c.parent.parent))}function d(c){let{modifiers:M}=c;if(!v(M))return;let q=vr(),{SyntaxKind:W}=q;for(let K of M)q.isDecorator(K)&&!C(c)&&(c.kind===W.MethodDeclaration&&!q.nodeIsPresent(c.body)&&m(K,"A decorator can only decorate a method implementation, not an overload."),m(K,"Decorators are not valid here."))}function E(c,M){c.kind!==P.PropertyDeclaration||c.modifiers&&!c.modifiers.some(q=>q.kind===P.AbstractKeyword)||c.initializer&&M.value===null&&D(M,"Abstract property cannot have an initializer")}function I(c,M){if(!/@|abstract/.test(M.originalText))return;let{esTreeNodeToTSNodeMap:q,tsNodeToESTreeNodeMap:W}=c;h(c.ast,K=>{let ce=q.get(K);if(!ce)return;let Ie=W.get(ce);Ie===K&&(d(ce),E(ce,Ie))})}_.exports={throwErrorForInvalidNodes:I}}}),Ga=Oe({"scripts/build/shims/debug.cjs"(a,_){"use strict";De(),_.exports=()=>()=>{}}}),h1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/constants.js"(a,_){De();var v="2.0.0",h=256,D=Number.MAX_SAFE_INTEGER||9007199254740991,P=16;_.exports={SEMVER_SPEC_VERSION:v,MAX_LENGTH:h,MAX_SAFE_INTEGER:D,MAX_SAFE_COMPONENT_LENGTH:P}}}),g1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/debug.js"(a,_){De();var v=typeof cn=="object"&&cn.env&&cn.env.NODE_DEBUG&&/\bsemver\b/i.test(cn.env.NODE_DEBUG)?function(){for(var h=arguments.length,D=new Array(h),P=0;P{};_.exports=v}}),Bc=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/re.js"(a,_){De();var{MAX_SAFE_COMPONENT_LENGTH:v}=h1(),h=g1();a=_.exports={};var D=a.re=[],P=a.src=[],y=a.t={},m=0,C=(d,E,I)=>{let c=m++;h(d,c,E),y[d]=c,P[c]=E,D[c]=new RegExp(E,I?"g":void 0)};C("NUMERICIDENTIFIER","0|[1-9]\\d*"),C("NUMERICIDENTIFIERLOOSE","[0-9]+"),C("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),C("MAINVERSION",`(${P[y.NUMERICIDENTIFIER]})\\.(${P[y.NUMERICIDENTIFIER]})\\.(${P[y.NUMERICIDENTIFIER]})`),C("MAINVERSIONLOOSE",`(${P[y.NUMERICIDENTIFIERLOOSE]})\\.(${P[y.NUMERICIDENTIFIERLOOSE]})\\.(${P[y.NUMERICIDENTIFIERLOOSE]})`),C("PRERELEASEIDENTIFIER",`(?:${P[y.NUMERICIDENTIFIER]}|${P[y.NONNUMERICIDENTIFIER]})`),C("PRERELEASEIDENTIFIERLOOSE",`(?:${P[y.NUMERICIDENTIFIERLOOSE]}|${P[y.NONNUMERICIDENTIFIER]})`),C("PRERELEASE",`(?:-(${P[y.PRERELEASEIDENTIFIER]}(?:\\.${P[y.PRERELEASEIDENTIFIER]})*))`),C("PRERELEASELOOSE",`(?:-?(${P[y.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${P[y.PRERELEASEIDENTIFIERLOOSE]})*))`),C("BUILDIDENTIFIER","[0-9A-Za-z-]+"),C("BUILD",`(?:\\+(${P[y.BUILDIDENTIFIER]}(?:\\.${P[y.BUILDIDENTIFIER]})*))`),C("FULLPLAIN",`v?${P[y.MAINVERSION]}${P[y.PRERELEASE]}?${P[y.BUILD]}?`),C("FULL",`^${P[y.FULLPLAIN]}$`),C("LOOSEPLAIN",`[v=\\s]*${P[y.MAINVERSIONLOOSE]}${P[y.PRERELEASELOOSE]}?${P[y.BUILD]}?`),C("LOOSE",`^${P[y.LOOSEPLAIN]}$`),C("GTLT","((?:<|>)?=?)"),C("XRANGEIDENTIFIERLOOSE",`${P[y.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),C("XRANGEIDENTIFIER",`${P[y.NUMERICIDENTIFIER]}|x|X|\\*`),C("XRANGEPLAIN",`[v=\\s]*(${P[y.XRANGEIDENTIFIER]})(?:\\.(${P[y.XRANGEIDENTIFIER]})(?:\\.(${P[y.XRANGEIDENTIFIER]})(?:${P[y.PRERELEASE]})?${P[y.BUILD]}?)?)?`),C("XRANGEPLAINLOOSE",`[v=\\s]*(${P[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[y.XRANGEIDENTIFIERLOOSE]})(?:${P[y.PRERELEASELOOSE]})?${P[y.BUILD]}?)?)?`),C("XRANGE",`^${P[y.GTLT]}\\s*${P[y.XRANGEPLAIN]}$`),C("XRANGELOOSE",`^${P[y.GTLT]}\\s*${P[y.XRANGEPLAINLOOSE]}$`),C("COERCE",`(^|[^\\d])(\\d{1,${v}})(?:\\.(\\d{1,${v}}))?(?:\\.(\\d{1,${v}}))?(?:$|[^\\d])`),C("COERCERTL",P[y.COERCE],!0),C("LONETILDE","(?:~>?)"),C("TILDETRIM",`(\\s*)${P[y.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",C("TILDE",`^${P[y.LONETILDE]}${P[y.XRANGEPLAIN]}$`),C("TILDELOOSE",`^${P[y.LONETILDE]}${P[y.XRANGEPLAINLOOSE]}$`),C("LONECARET","(?:\\^)"),C("CARETTRIM",`(\\s*)${P[y.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",C("CARET",`^${P[y.LONECARET]}${P[y.XRANGEPLAIN]}$`),C("CARETLOOSE",`^${P[y.LONECARET]}${P[y.XRANGEPLAINLOOSE]}$`),C("COMPARATORLOOSE",`^${P[y.GTLT]}\\s*(${P[y.LOOSEPLAIN]})$|^$`),C("COMPARATOR",`^${P[y.GTLT]}\\s*(${P[y.FULLPLAIN]})$|^$`),C("COMPARATORTRIM",`(\\s*)${P[y.GTLT]}\\s*(${P[y.LOOSEPLAIN]}|${P[y.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",C("HYPHENRANGE",`^\\s*(${P[y.XRANGEPLAIN]})\\s+-\\s+(${P[y.XRANGEPLAIN]})\\s*$`),C("HYPHENRANGELOOSE",`^\\s*(${P[y.XRANGEPLAINLOOSE]})\\s+-\\s+(${P[y.XRANGEPLAINLOOSE]})\\s*$`),C("STAR","(<|>)?=?\\s*\\*"),C("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),C("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),y1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/parse-options.js"(a,_){De();var v=["includePrerelease","loose","rtl"],h=D=>D?typeof D!="object"?{loose:!0}:v.filter(P=>D[P]).reduce((P,y)=>(P[y]=!0,P),{}):{};_.exports=h}}),z9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/identifiers.js"(a,_){De();var v=/^[0-9]+$/,h=(P,y)=>{let m=v.test(P),C=v.test(y);return m&&C&&(P=+P,y=+y),P===y?0:m&&!C?-1:C&&!m?1:Ph(y,P);_.exports={compareIdentifiers:h,rcompareIdentifiers:D}}}),Bn=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/semver.js"(a,_){De();var v=g1(),{MAX_LENGTH:h,MAX_SAFE_INTEGER:D}=h1(),{re:P,t:y}=Bc(),m=y1(),{compareIdentifiers:C}=z9(),d=class{constructor(E,I){if(I=m(I),E instanceof d){if(E.loose===!!I.loose&&E.includePrerelease===!!I.includePrerelease)return E;E=E.version}else if(typeof E!="string")throw new TypeError(`Invalid Version: ${E}`);if(E.length>h)throw new TypeError(`version is longer than ${h} characters`);v("SemVer",E,I),this.options=I,this.loose=!!I.loose,this.includePrerelease=!!I.includePrerelease;let c=E.trim().match(I.loose?P[y.LOOSE]:P[y.FULL]);if(!c)throw new TypeError(`Invalid Version: ${E}`);if(this.raw=E,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>D||this.major<0)throw new TypeError("Invalid major version");if(this.minor>D||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>D||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(M=>{if(/^[0-9]+$/.test(M)){let q=+M;if(q>=0&&q=0;)typeof this.prerelease[c]=="number"&&(this.prerelease[c]++,c=-2);c===-1&&this.prerelease.push(0)}I&&(C(this.prerelease[0],I)===0?isNaN(this.prerelease[1])&&(this.prerelease=[I,0]):this.prerelease=[I,0]);break;default:throw new Error(`invalid increment argument: ${E}`)}return this.format(),this.raw=this.version,this}};_.exports=d}}),qc=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/parse.js"(a,_){De();var{MAX_LENGTH:v}=h1(),{re:h,t:D}=Bc(),P=Bn(),y=y1(),m=(C,d)=>{if(d=y(d),C instanceof P)return C;if(typeof C!="string"||C.length>v||!(d.loose?h[D.LOOSE]:h[D.FULL]).test(C))return null;try{return new P(C,d)}catch{return null}};_.exports=m}}),kW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/valid.js"(a,_){De();var v=qc(),h=(D,P)=>{let y=v(D,P);return y?y.version:null};_.exports=h}}),IW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/clean.js"(a,_){De();var v=qc(),h=(D,P)=>{let y=v(D.trim().replace(/^[=v]+/,""),P);return y?y.version:null};_.exports=h}}),NW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/inc.js"(a,_){De();var v=Bn(),h=(D,P,y,m)=>{typeof y=="string"&&(m=y,y=void 0);try{return new v(D instanceof v?D.version:D,y).inc(P,m).version}catch{return null}};_.exports=h}}),_a=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare.js"(a,_){De();var v=Bn(),h=(D,P,y)=>new v(D,y).compare(new v(P,y));_.exports=h}}),sT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/eq.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)===0;_.exports=h}}),OW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/diff.js"(a,_){De();var v=qc(),h=sT(),D=(P,y)=>{if(h(P,y))return null;{let m=v(P),C=v(y),d=m.prerelease.length||C.prerelease.length,E=d?"pre":"",I=d?"prerelease":"";for(let c in m)if((c==="major"||c==="minor"||c==="patch")&&m[c]!==C[c])return E+c;return I}};_.exports=D}}),MW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/major.js"(a,_){De();var v=Bn(),h=(D,P)=>new v(D,P).major;_.exports=h}}),LW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/minor.js"(a,_){De();var v=Bn(),h=(D,P)=>new v(D,P).minor;_.exports=h}}),RW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/patch.js"(a,_){De();var v=Bn(),h=(D,P)=>new v(D,P).patch;_.exports=h}}),jW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/prerelease.js"(a,_){De();var v=qc(),h=(D,P)=>{let y=v(D,P);return y&&y.prerelease.length?y.prerelease:null};_.exports=h}}),JW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rcompare.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(P,D,y);_.exports=h}}),FW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-loose.js"(a,_){De();var v=_a(),h=(D,P)=>v(D,P,!0);_.exports=h}}),oT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-build.js"(a,_){De();var v=Bn(),h=(D,P,y)=>{let m=new v(D,y),C=new v(P,y);return m.compare(C)||m.compareBuild(C)};_.exports=h}}),BW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/sort.js"(a,_){De();var v=oT(),h=(D,P)=>D.sort((y,m)=>v(y,m,P));_.exports=h}}),qW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rsort.js"(a,_){De();var v=oT(),h=(D,P)=>D.sort((y,m)=>v(m,y,P));_.exports=h}}),v1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gt.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)>0;_.exports=h}}),_T=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lt.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)<0;_.exports=h}}),W9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/neq.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)!==0;_.exports=h}}),cT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gte.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)>=0;_.exports=h}}),lT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lte.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)<=0;_.exports=h}}),V9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js"(a,_){De();var v=sT(),h=W9(),D=v1(),P=cT(),y=_T(),m=lT(),C=(d,E,I,c)=>{switch(E){case"===":return typeof d=="object"&&(d=d.version),typeof I=="object"&&(I=I.version),d===I;case"!==":return typeof d=="object"&&(d=d.version),typeof I=="object"&&(I=I.version),d!==I;case"":case"=":case"==":return v(d,I,c);case"!=":return h(d,I,c);case">":return D(d,I,c);case">=":return P(d,I,c);case"<":return y(d,I,c);case"<=":return m(d,I,c);default:throw new TypeError(`Invalid operator: ${E}`)}};_.exports=C}}),UW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/coerce.js"(a,_){De();var v=Bn(),h=qc(),{re:D,t:P}=Bc(),y=(m,C)=>{if(m instanceof v)return m;if(typeof m=="number"&&(m=String(m)),typeof m!="string")return null;C=C||{};let d=null;if(!C.rtl)d=m.match(D[P.COERCE]);else{let E;for(;(E=D[P.COERCERTL].exec(m))&&(!d||d.index+d[0].length!==m.length);)(!d||E.index+E[0].length!==d.index+d[0].length)&&(d=E),D[P.COERCERTL].lastIndex=E.index+E[1].length+E[2].length;D[P.COERCERTL].lastIndex=-1}return d===null?null:h(`${d[2]}.${d[3]||"0"}.${d[4]||"0"}`,C)};_.exports=y}}),zW=Oe({"node_modules/yallist/iterator.js"(a,_){"use strict";De(),_.exports=function(v){v.prototype[Symbol.iterator]=function*(){for(let h=this.head;h;h=h.next)yield h.value}}}}),WW=Oe({"node_modules/yallist/yallist.js"(a,_){"use strict";De(),_.exports=v,v.Node=y,v.create=v;function v(m){var C=this;if(C instanceof v||(C=new v),C.tail=null,C.head=null,C.length=0,m&&typeof m.forEach=="function")m.forEach(function(I){C.push(I)});else if(arguments.length>0)for(var d=0,E=arguments.length;d1)d=C;else if(this.head)E=this.head.next,d=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var I=0;E!==null;I++)d=m(d,E.value,I),E=E.next;return d},v.prototype.reduceReverse=function(m,C){var d,E=this.tail;if(arguments.length>1)d=C;else if(this.tail)E=this.tail.prev,d=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var I=this.length-1;E!==null;I--)d=m(d,E.value,I),E=E.prev;return d},v.prototype.toArray=function(){for(var m=new Array(this.length),C=0,d=this.head;d!==null;C++)m[C]=d.value,d=d.next;return m},v.prototype.toArrayReverse=function(){for(var m=new Array(this.length),C=0,d=this.tail;d!==null;C++)m[C]=d.value,d=d.prev;return m},v.prototype.slice=function(m,C){C=C||this.length,C<0&&(C+=this.length),m=m||0,m<0&&(m+=this.length);var d=new v;if(Cthis.length&&(C=this.length);for(var E=0,I=this.head;I!==null&&Ethis.length&&(C=this.length);for(var E=this.length,I=this.tail;I!==null&&E>C;E--)I=I.prev;for(;I!==null&&E>m;E--,I=I.prev)d.push(I.value);return d},v.prototype.splice=function(m,C){m>this.length&&(m=this.length-1),m<0&&(m=this.length+m);for(var d=0,E=this.head;E!==null&&d1,q=class{constructor(te){if(typeof te=="number"&&(te={max:te}),te||(te={}),te.max&&(typeof te.max!="number"||te.max<0))throw new TypeError("max must be a non-negative number");let he=this[h]=te.max||1/0,Pe=te.length||M;if(this[P]=typeof Pe!="function"?M:Pe,this[y]=te.stale||!1,te.maxAge&&typeof te.maxAge!="number")throw new TypeError("maxAge must be a number");this[m]=te.maxAge||0,this[C]=te.dispose,this[d]=te.noDisposeOnSet||!1,this[c]=te.updateAgeOnGet||!1,this.reset()}set max(te){if(typeof te!="number"||te<0)throw new TypeError("max must be a non-negative number");this[h]=te||1/0,ce(this)}get max(){return this[h]}set allowStale(te){this[y]=!!te}get allowStale(){return this[y]}set maxAge(te){if(typeof te!="number")throw new TypeError("maxAge must be a non-negative number");this[m]=te,ce(this)}get maxAge(){return this[m]}set lengthCalculator(te){typeof te!="function"&&(te=M),te!==this[P]&&(this[P]=te,this[D]=0,this[E].forEach(he=>{he.length=this[P](he.value,he.key),this[D]+=he.length})),ce(this)}get lengthCalculator(){return this[P]}get length(){return this[D]}get itemCount(){return this[E].length}rforEach(te,he){he=he||this;for(let Pe=this[E].tail;Pe!==null;){let R=Pe.prev;Ae(this,te,Pe,he),Pe=R}}forEach(te,he){he=he||this;for(let Pe=this[E].head;Pe!==null;){let R=Pe.next;Ae(this,te,Pe,he),Pe=R}}keys(){return this[E].toArray().map(te=>te.key)}values(){return this[E].toArray().map(te=>te.value)}reset(){this[C]&&this[E]&&this[E].length&&this[E].forEach(te=>this[C](te.key,te.value)),this[I]=new Map,this[E]=new v,this[D]=0}dump(){return this[E].map(te=>K(this,te)?!1:{k:te.key,v:te.value,e:te.now+(te.maxAge||0)}).toArray().filter(te=>te)}dumpLru(){return this[E]}set(te,he,Pe){if(Pe=Pe||this[m],Pe&&typeof Pe!="number")throw new TypeError("maxAge must be a number");let R=Pe?Date.now():0,pe=this[P](he,te);if(this[I].has(te)){if(pe>this[h])return Ie(this,this[I].get(te)),!1;let Xe=this[I].get(te).value;return this[C]&&(this[d]||this[C](te,Xe.value)),Xe.now=R,Xe.maxAge=Pe,Xe.value=he,this[D]+=pe-Xe.length,Xe.length=pe,this.get(te),ce(this),!0}let ke=new me(te,he,pe,R,Pe);return ke.length>this[h]?(this[C]&&this[C](te,he),!1):(this[D]+=ke.length,this[E].unshift(ke),this[I].set(te,this[E].head),ce(this),!0)}has(te){if(!this[I].has(te))return!1;let he=this[I].get(te).value;return!K(this,he)}get(te){return W(this,te,!0)}peek(te){return W(this,te,!1)}pop(){let te=this[E].tail;return te?(Ie(this,te),te.value):null}del(te){Ie(this,this[I].get(te))}load(te){this.reset();let he=Date.now();for(let Pe=te.length-1;Pe>=0;Pe--){let R=te[Pe],pe=R.e||0;if(pe===0)this.set(R.k,R.v);else{let ke=pe-he;ke>0&&this.set(R.k,R.v,ke)}}}prune(){this[I].forEach((te,he)=>W(this,he,!1))}},W=(te,he,Pe)=>{let R=te[I].get(he);if(R){let pe=R.value;if(K(te,pe)){if(Ie(te,R),!te[y])return}else Pe&&(te[c]&&(R.value.now=Date.now()),te[E].unshiftNode(R));return pe.value}},K=(te,he)=>{if(!he||!he.maxAge&&!te[m])return!1;let Pe=Date.now()-he.now;return he.maxAge?Pe>he.maxAge:te[m]&&Pe>te[m]},ce=te=>{if(te[D]>te[h])for(let he=te[E].tail;te[D]>te[h]&&he!==null;){let Pe=he.prev;Ie(te,he),he=Pe}},Ie=(te,he)=>{if(he){let Pe=he.value;te[C]&&te[C](Pe.key,Pe.value),te[D]-=Pe.length,te[I].delete(Pe.key),te[E].removeNode(he)}},me=class{constructor(te,he,Pe,R,pe){this.key=te,this.value=he,this.length=Pe,this.now=R,this.maxAge=pe||0}},Ae=(te,he,Pe,R)=>{let pe=Pe.value;K(te,pe)&&(Ie(te,Pe),te[y]||(pe=void 0)),pe&&he.call(R,pe.value,pe.key,te)};_.exports=q}}),ca=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/range.js"(a,_){De();var v=class{constructor(ee,je){if(je=P(je),ee instanceof v)return ee.loose===!!je.loose&&ee.includePrerelease===!!je.includePrerelease?ee:new v(ee.raw,je);if(ee instanceof y)return this.raw=ee.value,this.set=[[ee]],this.format(),this;if(this.options=je,this.loose=!!je.loose,this.includePrerelease=!!je.includePrerelease,this.raw=ee,this.set=ee.split("||").map(nt=>this.parseRange(nt.trim())).filter(nt=>nt.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${ee}`);if(this.set.length>1){let nt=this.set[0];if(this.set=this.set.filter(Ze=>!q(Ze[0])),this.set.length===0)this.set=[nt];else if(this.set.length>1){for(let Ze of this.set)if(Ze.length===1&&W(Ze[0])){this.set=[Ze];break}}}this.format()}format(){return this.range=this.set.map(ee=>ee.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(ee){ee=ee.trim();let nt=`parseRange:${Object.keys(this.options).join(",")}:${ee}`,Ze=D.get(nt);if(Ze)return Ze;let st=this.options.loose,tt=st?d[E.HYPHENRANGELOOSE]:d[E.HYPHENRANGE];ee=ee.replace(tt,Je(this.options.includePrerelease)),m("hyphen replace",ee),ee=ee.replace(d[E.COMPARATORTRIM],I),m("comparator trim",ee),ee=ee.replace(d[E.TILDETRIM],c),ee=ee.replace(d[E.CARETTRIM],M),ee=ee.split(/\s+/).join(" ");let ct=ee.split(" ").map(at=>ce(at,this.options)).join(" ").split(/\s+/).map(at=>ke(at,this.options));st&&(ct=ct.filter(at=>(m("loose invalid filter",at,this.options),!!at.match(d[E.COMPARATORLOOSE])))),m("range list",ct);let ne=new Map,ge=ct.map(at=>new y(at,this.options));for(let at of ge){if(q(at))return[at];ne.set(at.value,at)}ne.size>1&&ne.has("")&&ne.delete("");let Fe=[...ne.values()];return D.set(nt,Fe),Fe}intersects(ee,je){if(!(ee instanceof v))throw new TypeError("a Range is required");return this.set.some(nt=>K(nt,je)&&ee.set.some(Ze=>K(Ze,je)&&nt.every(st=>Ze.every(tt=>st.intersects(tt,je)))))}test(ee){if(!ee)return!1;if(typeof ee=="string")try{ee=new C(ee,this.options)}catch{return!1}for(let je=0;jeee.value==="<0.0.0-0",W=ee=>ee.value==="",K=(ee,je)=>{let nt=!0,Ze=ee.slice(),st=Ze.pop();for(;nt&&Ze.length;)nt=Ze.every(tt=>st.intersects(tt,je)),st=Ze.pop();return nt},ce=(ee,je)=>(m("comp",ee,je),ee=te(ee,je),m("caret",ee),ee=me(ee,je),m("tildes",ee),ee=Pe(ee,je),m("xrange",ee),ee=pe(ee,je),m("stars",ee),ee),Ie=ee=>!ee||ee.toLowerCase()==="x"||ee==="*",me=(ee,je)=>ee.trim().split(/\s+/).map(nt=>Ae(nt,je)).join(" "),Ae=(ee,je)=>{let nt=je.loose?d[E.TILDELOOSE]:d[E.TILDE];return ee.replace(nt,(Ze,st,tt,ct,ne)=>{m("tilde",ee,Ze,st,tt,ct,ne);let ge;return Ie(st)?ge="":Ie(tt)?ge=`>=${st}.0.0 <${+st+1}.0.0-0`:Ie(ct)?ge=`>=${st}.${tt}.0 <${st}.${+tt+1}.0-0`:ne?(m("replaceTilde pr",ne),ge=`>=${st}.${tt}.${ct}-${ne} <${st}.${+tt+1}.0-0`):ge=`>=${st}.${tt}.${ct} <${st}.${+tt+1}.0-0`,m("tilde return",ge),ge})},te=(ee,je)=>ee.trim().split(/\s+/).map(nt=>he(nt,je)).join(" "),he=(ee,je)=>{m("caret",ee,je);let nt=je.loose?d[E.CARETLOOSE]:d[E.CARET],Ze=je.includePrerelease?"-0":"";return ee.replace(nt,(st,tt,ct,ne,ge)=>{m("caret",ee,st,tt,ct,ne,ge);let Fe;return Ie(tt)?Fe="":Ie(ct)?Fe=`>=${tt}.0.0${Ze} <${+tt+1}.0.0-0`:Ie(ne)?tt==="0"?Fe=`>=${tt}.${ct}.0${Ze} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.0${Ze} <${+tt+1}.0.0-0`:ge?(m("replaceCaret pr",ge),tt==="0"?ct==="0"?Fe=`>=${tt}.${ct}.${ne}-${ge} <${tt}.${ct}.${+ne+1}-0`:Fe=`>=${tt}.${ct}.${ne}-${ge} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.${ne}-${ge} <${+tt+1}.0.0-0`):(m("no pr"),tt==="0"?ct==="0"?Fe=`>=${tt}.${ct}.${ne}${Ze} <${tt}.${ct}.${+ne+1}-0`:Fe=`>=${tt}.${ct}.${ne}${Ze} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.${ne} <${+tt+1}.0.0-0`),m("caret return",Fe),Fe})},Pe=(ee,je)=>(m("replaceXRanges",ee,je),ee.split(/\s+/).map(nt=>R(nt,je)).join(" ")),R=(ee,je)=>{ee=ee.trim();let nt=je.loose?d[E.XRANGELOOSE]:d[E.XRANGE];return ee.replace(nt,(Ze,st,tt,ct,ne,ge)=>{m("xRange",ee,Ze,st,tt,ct,ne,ge);let Fe=Ie(tt),at=Fe||Ie(ct),Pt=at||Ie(ne),qt=Pt;return st==="="&&qt&&(st=""),ge=je.includePrerelease?"-0":"",Fe?st===">"||st==="<"?Ze="<0.0.0-0":Ze="*":st&&qt?(at&&(ct=0),ne=0,st===">"?(st=">=",at?(tt=+tt+1,ct=0,ne=0):(ct=+ct+1,ne=0)):st==="<="&&(st="<",at?tt=+tt+1:ct=+ct+1),st==="<"&&(ge="-0"),Ze=`${st+tt}.${ct}.${ne}${ge}`):at?Ze=`>=${tt}.0.0${ge} <${+tt+1}.0.0-0`:Pt&&(Ze=`>=${tt}.${ct}.0${ge} <${tt}.${+ct+1}.0-0`),m("xRange return",Ze),Ze})},pe=(ee,je)=>(m("replaceStars",ee,je),ee.trim().replace(d[E.STAR],"")),ke=(ee,je)=>(m("replaceGTE0",ee,je),ee.trim().replace(d[je.includePrerelease?E.GTE0PRE:E.GTE0],"")),Je=ee=>(je,nt,Ze,st,tt,ct,ne,ge,Fe,at,Pt,qt,Zr)=>(Ie(Ze)?nt="":Ie(st)?nt=`>=${Ze}.0.0${ee?"-0":""}`:Ie(tt)?nt=`>=${Ze}.${st}.0${ee?"-0":""}`:ct?nt=`>=${nt}`:nt=`>=${nt}${ee?"-0":""}`,Ie(Fe)?ge="":Ie(at)?ge=`<${+Fe+1}.0.0-0`:Ie(Pt)?ge=`<${Fe}.${+at+1}.0-0`:qt?ge=`<=${Fe}.${at}.${Pt}-${qt}`:ee?ge=`<${Fe}.${at}.${+Pt+1}-0`:ge=`<=${ge}`,`${nt} ${ge}`.trim()),Xe=(ee,je,nt)=>{for(let Ze=0;Ze0){let st=ee[Ze].semver;if(st.major===je.major&&st.minor===je.minor&&st.patch===je.patch)return!0}return!1}return!0}}}),b1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/comparator.js"(a,_){De();var v=Symbol("SemVer ANY"),h=class{static get ANY(){return v}constructor(I,c){if(c=D(c),I instanceof h){if(I.loose===!!c.loose)return I;I=I.value}C("comparator",I,c),this.options=c,this.loose=!!c.loose,this.parse(I),this.semver===v?this.value="":this.value=this.operator+this.semver.version,C("comp",this)}parse(I){let c=this.options.loose?P[y.COMPARATORLOOSE]:P[y.COMPARATOR],M=I.match(c);if(!M)throw new TypeError(`Invalid comparator: ${I}`);this.operator=M[1]!==void 0?M[1]:"",this.operator==="="&&(this.operator=""),M[2]?this.semver=new d(M[2],this.options.loose):this.semver=v}toString(){return this.value}test(I){if(C("Comparator.test",I,this.options.loose),this.semver===v||I===v)return!0;if(typeof I=="string")try{I=new d(I,this.options)}catch{return!1}return m(I,this.operator,this.semver,this.options)}intersects(I,c){if(!(I instanceof h))throw new TypeError("a Comparator is required");if((!c||typeof c!="object")&&(c={loose:!!c,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new E(I.value,c).test(this.value);if(I.operator==="")return I.value===""?!0:new E(this.value,c).test(I.semver);let M=(this.operator===">="||this.operator===">")&&(I.operator===">="||I.operator===">"),q=(this.operator==="<="||this.operator==="<")&&(I.operator==="<="||I.operator==="<"),W=this.semver.version===I.semver.version,K=(this.operator===">="||this.operator==="<=")&&(I.operator===">="||I.operator==="<="),ce=m(this.semver,"<",I.semver,c)&&(this.operator===">="||this.operator===">")&&(I.operator==="<="||I.operator==="<"),Ie=m(this.semver,">",I.semver,c)&&(this.operator==="<="||this.operator==="<")&&(I.operator===">="||I.operator===">");return M||q||W&&K||ce||Ie}};_.exports=h;var D=y1(),{re:P,t:y}=Bc(),m=V9(),C=g1(),d=Bn(),E=ca()}}),T1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/satisfies.js"(a,_){De();var v=ca(),h=(D,P,y)=>{try{P=new v(P,y)}catch{return!1}return P.test(D)};_.exports=h}}),HW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/to-comparators.js"(a,_){De();var v=ca(),h=(D,P)=>new v(D,P).set.map(y=>y.map(m=>m.value).join(" ").trim().split(" "));_.exports=h}}),GW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/max-satisfying.js"(a,_){De();var v=Bn(),h=ca(),D=(P,y,m)=>{let C=null,d=null,E=null;try{E=new h(y,m)}catch{return null}return P.forEach(I=>{E.test(I)&&(!C||d.compare(I)===-1)&&(C=I,d=new v(C,m))}),C};_.exports=D}}),$W=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-satisfying.js"(a,_){De();var v=Bn(),h=ca(),D=(P,y,m)=>{let C=null,d=null,E=null;try{E=new h(y,m)}catch{return null}return P.forEach(I=>{E.test(I)&&(!C||d.compare(I)===1)&&(C=I,d=new v(C,m))}),C};_.exports=D}}),KW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-version.js"(a,_){De();var v=Bn(),h=ca(),D=v1(),P=(y,m)=>{y=new h(y,m);let C=new v("0.0.0");if(y.test(C)||(C=new v("0.0.0-0"),y.test(C)))return C;C=null;for(let d=0;d{let M=new v(c.semver.version);switch(c.operator){case">":M.prerelease.length===0?M.patch++:M.prerelease.push(0),M.raw=M.format();case"":case">=":(!I||D(M,I))&&(I=M);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),I&&(!C||D(C,I))&&(C=I)}return C&&y.test(C)?C:null};_.exports=P}}),XW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/valid.js"(a,_){De();var v=ca(),h=(D,P)=>{try{return new v(D,P).range||"*"}catch{return null}};_.exports=h}}),uT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/outside.js"(a,_){De();var v=Bn(),h=b1(),{ANY:D}=h,P=ca(),y=T1(),m=v1(),C=_T(),d=lT(),E=cT(),I=(c,M,q,W)=>{c=new v(c,W),M=new P(M,W);let K,ce,Ie,me,Ae;switch(q){case">":K=m,ce=d,Ie=C,me=">",Ae=">=";break;case"<":K=C,ce=E,Ie=m,me="<",Ae="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(y(c,M,W))return!1;for(let te=0;te{pe.semver===D&&(pe=new h(">=0.0.0")),Pe=Pe||pe,R=R||pe,K(pe.semver,Pe.semver,W)?Pe=pe:Ie(pe.semver,R.semver,W)&&(R=pe)}),Pe.operator===me||Pe.operator===Ae||(!R.operator||R.operator===me)&&ce(c,R.semver))return!1;if(R.operator===Ae&&Ie(c,R.semver))return!1}return!0};_.exports=I}}),YW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/gtr.js"(a,_){De();var v=uT(),h=(D,P,y)=>v(D,P,">",y);_.exports=h}}),QW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/ltr.js"(a,_){De();var v=uT(),h=(D,P,y)=>v(D,P,"<",y);_.exports=h}}),ZW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/intersects.js"(a,_){De();var v=ca(),h=(D,P,y)=>(D=new v(D,y),P=new v(P,y),D.intersects(P));_.exports=h}}),eV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/simplify.js"(a,_){De();var v=T1(),h=_a();_.exports=(D,P,y)=>{let m=[],C=null,d=null,E=D.sort((q,W)=>h(q,W,y));for(let q of E)v(q,P,y)?(d=q,C||(C=q)):(d&&m.push([C,d]),d=null,C=null);C&&m.push([C,null]);let I=[];for(let[q,W]of m)q===W?I.push(q):!W&&q===E[0]?I.push("*"):W?q===E[0]?I.push(`<=${W}`):I.push(`${q} - ${W}`):I.push(`>=${q}`);let c=I.join(" || "),M=typeof P.raw=="string"?P.raw:String(P);return c.length2&&arguments[2]!==void 0?arguments[2]:{};if(I===c)return!0;I=new v(I,M),c=new v(c,M);let q=!1;e:for(let W of I.set){for(let K of c.set){let ce=C(W,K,M);if(q=q||ce!==null,ce)continue e}if(q)return!1}return!0},C=(I,c,M)=>{if(I===c)return!0;if(I.length===1&&I[0].semver===D){if(c.length===1&&c[0].semver===D)return!0;M.includePrerelease?I=[new h(">=0.0.0-0")]:I=[new h(">=0.0.0")]}if(c.length===1&&c[0].semver===D){if(M.includePrerelease)return!0;c=[new h(">=0.0.0")]}let q=new Set,W,K;for(let R of I)R.operator===">"||R.operator===">="?W=d(W,R,M):R.operator==="<"||R.operator==="<="?K=E(K,R,M):q.add(R.semver);if(q.size>1)return null;let ce;if(W&&K){if(ce=y(W.semver,K.semver,M),ce>0)return null;if(ce===0&&(W.operator!==">="||K.operator!=="<="))return null}for(let R of q){if(W&&!P(R,String(W),M)||K&&!P(R,String(K),M))return null;for(let pe of c)if(!P(R,String(pe),M))return!1;return!0}let Ie,me,Ae,te,he=K&&!M.includePrerelease&&K.semver.prerelease.length?K.semver:!1,Pe=W&&!M.includePrerelease&&W.semver.prerelease.length?W.semver:!1;he&&he.prerelease.length===1&&K.operator==="<"&&he.prerelease[0]===0&&(he=!1);for(let R of c){if(te=te||R.operator===">"||R.operator===">=",Ae=Ae||R.operator==="<"||R.operator==="<=",W){if(Pe&&R.semver.prerelease&&R.semver.prerelease.length&&R.semver.major===Pe.major&&R.semver.minor===Pe.minor&&R.semver.patch===Pe.patch&&(Pe=!1),R.operator===">"||R.operator===">="){if(Ie=d(W,R,M),Ie===R&&Ie!==W)return!1}else if(W.operator===">="&&!P(W.semver,String(R),M))return!1}if(K){if(he&&R.semver.prerelease&&R.semver.prerelease.length&&R.semver.major===he.major&&R.semver.minor===he.minor&&R.semver.patch===he.patch&&(he=!1),R.operator==="<"||R.operator==="<="){if(me=E(K,R,M),me===R&&me!==K)return!1}else if(K.operator==="<="&&!P(K.semver,String(R),M))return!1}if(!R.operator&&(K||W)&&ce!==0)return!1}return!(W&&Ae&&!K&&ce!==0||K&&te&&!W&&ce!==0||Pe||he)},d=(I,c,M)=>{if(!I)return c;let q=y(I.semver,c.semver,M);return q>0?I:q<0||c.operator===">"&&I.operator===">="?c:I},E=(I,c,M)=>{if(!I)return c;let q=y(I.semver,c.semver,M);return q<0?I:q>0||c.operator==="<"&&I.operator==="<="?c:I};_.exports=m}}),pT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/index.js"(a,_){De();var v=Bc(),h=h1(),D=Bn(),P=z9(),y=qc(),m=kW(),C=IW(),d=NW(),E=OW(),I=MW(),c=LW(),M=RW(),q=jW(),W=_a(),K=JW(),ce=FW(),Ie=oT(),me=BW(),Ae=qW(),te=v1(),he=_T(),Pe=sT(),R=W9(),pe=cT(),ke=lT(),Je=V9(),Xe=UW(),ee=b1(),je=ca(),nt=T1(),Ze=HW(),st=GW(),tt=$W(),ct=KW(),ne=XW(),ge=uT(),Fe=YW(),at=QW(),Pt=ZW(),qt=eV(),Zr=tV();_.exports={parse:y,valid:m,clean:C,inc:d,diff:E,major:I,minor:c,patch:M,prerelease:q,compare:W,rcompare:K,compareLoose:ce,compareBuild:Ie,sort:me,rsort:Ae,gt:te,lt:he,eq:Pe,neq:R,gte:pe,lte:ke,cmp:Je,coerce:Xe,Comparator:ee,Range:je,satisfies:nt,toComparators:Ze,maxSatisfying:st,minSatisfying:tt,minVersion:ct,validRange:ne,outside:ge,gtr:Fe,ltr:at,intersects:Pt,simplifyRange:qt,subset:Zr,SemVer:D,re:v.re,src:v.src,tokens:v.t,SEMVER_SPEC_VERSION:h.SEMVER_SPEC_VERSION,compareIdentifiers:P.compareIdentifiers,rcompareIdentifiers:P.rcompareIdentifiers}}}),S1=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/version-check.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__setModuleDefault||(Object.create?function(C,d){Object.defineProperty(C,"default",{enumerable:!0,value:d})}:function(C,d){C.default=d}),h=a&&a.__importStar||function(C){if(C&&C.__esModule)return C;var d={};if(C!=null)for(var E in C)E!=="default"&&Object.prototype.hasOwnProperty.call(C,E)&&_(d,C,E);return v(d,C),d};Object.defineProperty(a,"__esModule",{value:!0}),a.typescriptVersionIsAtLeast=void 0;var D=h(pT()),P=h(vr()),y=["3.7","3.8","3.9","4.0","4.1","4.2","4.3","4.4","4.5","4.6","4.7","4.8","4.9","5.0"],m={};a.typescriptVersionIsAtLeast=m;for(let C of y)m[C]=!0}}),fT=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E};Object.defineProperty(a,"__esModule",{value:!0}),a.getDecorators=a.getModifiers=void 0;var D=h(vr()),P=S1(),y=P.typescriptVersionIsAtLeast["4.8"];function m(d){var E;if(d!=null){if(y){if(D.canHaveModifiers(d)){let I=D.getModifiers(d);return I?Array.from(I):void 0}return}return(E=d.modifiers)===null||E===void 0?void 0:E.filter(I=>!D.isDecorator(I))}}a.getModifiers=m;function C(d){var E;if(d!=null){if(y){if(D.canHaveDecorators(d)){let I=D.getDecorators(d);return I?Array.from(I):void 0}return}return(E=d.decorators)===null||E===void 0?void 0:E.filter(D.isDecorator)}}a.getDecorators=C}}),rV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.xhtmlEntities=void 0,a.xhtmlEntities={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}}}),H9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var _;(function(h){h.AccessorProperty="AccessorProperty",h.ArrayExpression="ArrayExpression",h.ArrayPattern="ArrayPattern",h.ArrowFunctionExpression="ArrowFunctionExpression",h.AssignmentExpression="AssignmentExpression",h.AssignmentPattern="AssignmentPattern",h.AwaitExpression="AwaitExpression",h.BinaryExpression="BinaryExpression",h.BlockStatement="BlockStatement",h.BreakStatement="BreakStatement",h.CallExpression="CallExpression",h.CatchClause="CatchClause",h.ChainExpression="ChainExpression",h.ClassBody="ClassBody",h.ClassDeclaration="ClassDeclaration",h.ClassExpression="ClassExpression",h.ConditionalExpression="ConditionalExpression",h.ContinueStatement="ContinueStatement",h.DebuggerStatement="DebuggerStatement",h.Decorator="Decorator",h.DoWhileStatement="DoWhileStatement",h.EmptyStatement="EmptyStatement",h.ExportAllDeclaration="ExportAllDeclaration",h.ExportDefaultDeclaration="ExportDefaultDeclaration",h.ExportNamedDeclaration="ExportNamedDeclaration",h.ExportSpecifier="ExportSpecifier",h.ExpressionStatement="ExpressionStatement",h.ForInStatement="ForInStatement",h.ForOfStatement="ForOfStatement",h.ForStatement="ForStatement",h.FunctionDeclaration="FunctionDeclaration",h.FunctionExpression="FunctionExpression",h.Identifier="Identifier",h.IfStatement="IfStatement",h.ImportAttribute="ImportAttribute",h.ImportDeclaration="ImportDeclaration",h.ImportDefaultSpecifier="ImportDefaultSpecifier",h.ImportExpression="ImportExpression",h.ImportNamespaceSpecifier="ImportNamespaceSpecifier",h.ImportSpecifier="ImportSpecifier",h.JSXAttribute="JSXAttribute",h.JSXClosingElement="JSXClosingElement",h.JSXClosingFragment="JSXClosingFragment",h.JSXElement="JSXElement",h.JSXEmptyExpression="JSXEmptyExpression",h.JSXExpressionContainer="JSXExpressionContainer",h.JSXFragment="JSXFragment",h.JSXIdentifier="JSXIdentifier",h.JSXMemberExpression="JSXMemberExpression",h.JSXNamespacedName="JSXNamespacedName",h.JSXOpeningElement="JSXOpeningElement",h.JSXOpeningFragment="JSXOpeningFragment",h.JSXSpreadAttribute="JSXSpreadAttribute",h.JSXSpreadChild="JSXSpreadChild",h.JSXText="JSXText",h.LabeledStatement="LabeledStatement",h.Literal="Literal",h.LogicalExpression="LogicalExpression",h.MemberExpression="MemberExpression",h.MetaProperty="MetaProperty",h.MethodDefinition="MethodDefinition",h.NewExpression="NewExpression",h.ObjectExpression="ObjectExpression",h.ObjectPattern="ObjectPattern",h.PrivateIdentifier="PrivateIdentifier",h.Program="Program",h.Property="Property",h.PropertyDefinition="PropertyDefinition",h.RestElement="RestElement",h.ReturnStatement="ReturnStatement",h.SequenceExpression="SequenceExpression",h.SpreadElement="SpreadElement",h.StaticBlock="StaticBlock",h.Super="Super",h.SwitchCase="SwitchCase",h.SwitchStatement="SwitchStatement",h.TaggedTemplateExpression="TaggedTemplateExpression",h.TemplateElement="TemplateElement",h.TemplateLiteral="TemplateLiteral",h.ThisExpression="ThisExpression",h.ThrowStatement="ThrowStatement",h.TryStatement="TryStatement",h.UnaryExpression="UnaryExpression",h.UpdateExpression="UpdateExpression",h.VariableDeclaration="VariableDeclaration",h.VariableDeclarator="VariableDeclarator",h.WhileStatement="WhileStatement",h.WithStatement="WithStatement",h.YieldExpression="YieldExpression",h.TSAbstractAccessorProperty="TSAbstractAccessorProperty",h.TSAbstractKeyword="TSAbstractKeyword",h.TSAbstractMethodDefinition="TSAbstractMethodDefinition",h.TSAbstractPropertyDefinition="TSAbstractPropertyDefinition",h.TSAnyKeyword="TSAnyKeyword",h.TSArrayType="TSArrayType",h.TSAsExpression="TSAsExpression",h.TSAsyncKeyword="TSAsyncKeyword",h.TSBigIntKeyword="TSBigIntKeyword",h.TSBooleanKeyword="TSBooleanKeyword",h.TSCallSignatureDeclaration="TSCallSignatureDeclaration",h.TSClassImplements="TSClassImplements",h.TSConditionalType="TSConditionalType",h.TSConstructorType="TSConstructorType",h.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",h.TSDeclareFunction="TSDeclareFunction",h.TSDeclareKeyword="TSDeclareKeyword",h.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",h.TSEnumDeclaration="TSEnumDeclaration",h.TSEnumMember="TSEnumMember",h.TSExportAssignment="TSExportAssignment",h.TSExportKeyword="TSExportKeyword",h.TSExternalModuleReference="TSExternalModuleReference",h.TSFunctionType="TSFunctionType",h.TSInstantiationExpression="TSInstantiationExpression",h.TSImportEqualsDeclaration="TSImportEqualsDeclaration",h.TSImportType="TSImportType",h.TSIndexedAccessType="TSIndexedAccessType",h.TSIndexSignature="TSIndexSignature",h.TSInferType="TSInferType",h.TSInterfaceBody="TSInterfaceBody",h.TSInterfaceDeclaration="TSInterfaceDeclaration",h.TSInterfaceHeritage="TSInterfaceHeritage",h.TSIntersectionType="TSIntersectionType",h.TSIntrinsicKeyword="TSIntrinsicKeyword",h.TSLiteralType="TSLiteralType",h.TSMappedType="TSMappedType",h.TSMethodSignature="TSMethodSignature",h.TSModuleBlock="TSModuleBlock",h.TSModuleDeclaration="TSModuleDeclaration",h.TSNamedTupleMember="TSNamedTupleMember",h.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",h.TSNeverKeyword="TSNeverKeyword",h.TSNonNullExpression="TSNonNullExpression",h.TSNullKeyword="TSNullKeyword",h.TSNumberKeyword="TSNumberKeyword",h.TSObjectKeyword="TSObjectKeyword",h.TSOptionalType="TSOptionalType",h.TSParameterProperty="TSParameterProperty",h.TSPrivateKeyword="TSPrivateKeyword",h.TSPropertySignature="TSPropertySignature",h.TSProtectedKeyword="TSProtectedKeyword",h.TSPublicKeyword="TSPublicKeyword",h.TSQualifiedName="TSQualifiedName",h.TSReadonlyKeyword="TSReadonlyKeyword",h.TSRestType="TSRestType",h.TSSatisfiesExpression="TSSatisfiesExpression",h.TSStaticKeyword="TSStaticKeyword",h.TSStringKeyword="TSStringKeyword",h.TSSymbolKeyword="TSSymbolKeyword",h.TSTemplateLiteralType="TSTemplateLiteralType",h.TSThisType="TSThisType",h.TSTupleType="TSTupleType",h.TSTypeAliasDeclaration="TSTypeAliasDeclaration",h.TSTypeAnnotation="TSTypeAnnotation",h.TSTypeAssertion="TSTypeAssertion",h.TSTypeLiteral="TSTypeLiteral",h.TSTypeOperator="TSTypeOperator",h.TSTypeParameter="TSTypeParameter",h.TSTypeParameterDeclaration="TSTypeParameterDeclaration",h.TSTypeParameterInstantiation="TSTypeParameterInstantiation",h.TSTypePredicate="TSTypePredicate",h.TSTypeQuery="TSTypeQuery",h.TSTypeReference="TSTypeReference",h.TSUndefinedKeyword="TSUndefinedKeyword",h.TSUnionType="TSUnionType",h.TSUnknownKeyword="TSUnknownKeyword",h.TSVoidKeyword="TSVoidKeyword"})(_=a.AST_NODE_TYPES||(a.AST_NODE_TYPES={}));var v;(function(h){h.Boolean="Boolean",h.Identifier="Identifier",h.JSXIdentifier="JSXIdentifier",h.JSXText="JSXText",h.Keyword="Keyword",h.Null="Null",h.Numeric="Numeric",h.Punctuator="Punctuator",h.RegularExpression="RegularExpression",h.String="String",h.Template="Template",h.Block="Block",h.Line="Line"})(v=a.AST_TOKEN_TYPES||(a.AST_TOKEN_TYPES={}))}}),nV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/lib.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),iV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/parser-options.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),aV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/ts-estree.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__setModuleDefault||(Object.create?function(D,P){Object.defineProperty(D,"default",{enumerable:!0,value:P})}:function(D,P){D.default=P}),h=a&&a.__importStar||function(D){if(D&&D.__esModule)return D;var P={};if(D!=null)for(var y in D)y!=="default"&&Object.prototype.hasOwnProperty.call(D,y)&&_(P,D,y);return v(P,D),P};Object.defineProperty(a,"__esModule",{value:!0}),a.TSESTree=void 0,a.TSESTree=h(H9())}}),sV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/index.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__exportStar||function(D,P){for(var y in D)y!=="default"&&!Object.prototype.hasOwnProperty.call(P,y)&&_(P,D,y)};Object.defineProperty(a,"__esModule",{value:!0}),a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var h=H9();Object.defineProperty(a,"AST_NODE_TYPES",{enumerable:!0,get:function(){return h.AST_NODE_TYPES}}),Object.defineProperty(a,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return h.AST_TOKEN_TYPES}}),v(nV(),a),v(iV(),a),v(aV(),a)}}),oV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),_V=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),x1=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__exportStar||function(D,P){for(var y in D)y!=="default"&&!Object.prototype.hasOwnProperty.call(P,y)&&_(P,D,y)};Object.defineProperty(a,"__esModule",{value:!0}),a.TSESTree=a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var h=sV();Object.defineProperty(a,"AST_NODE_TYPES",{enumerable:!0,get:function(){return h.AST_NODE_TYPES}}),Object.defineProperty(a,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return h.AST_TOKEN_TYPES}}),Object.defineProperty(a,"TSESTree",{enumerable:!0,get:function(){return h.TSESTree}}),v(oV(),a),v(_V(),a)}}),E1=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(be,Ke,Et,Ft){Ft===void 0&&(Ft=Et);var or=Object.getOwnPropertyDescriptor(Ke,Et);(!or||("get"in or?!Ke.__esModule:or.writable||or.configurable))&&(or={enumerable:!0,get:function(){return Ke[Et]}}),Object.defineProperty(be,Ft,or)}:function(be,Ke,Et,Ft){Ft===void 0&&(Ft=Et),be[Ft]=Ke[Et]}),v=a&&a.__setModuleDefault||(Object.create?function(be,Ke){Object.defineProperty(be,"default",{enumerable:!0,value:Ke})}:function(be,Ke){be.default=Ke}),h=a&&a.__importStar||function(be){if(be&&be.__esModule)return be;var Ke={};if(be!=null)for(var Et in be)Et!=="default"&&Object.prototype.hasOwnProperty.call(be,Et)&&_(Ke,be,Et);return v(Ke,be),Ke};Object.defineProperty(a,"__esModule",{value:!0}),a.isThisInTypeQuery=a.isThisIdentifier=a.identifierIsThisKeyword=a.firstDefined=a.nodeHasTokens=a.createError=a.TSError=a.convertTokens=a.convertToken=a.getTokenType=a.isChildUnwrappableOptionalChain=a.isChainExpression=a.isOptional=a.isComputedProperty=a.unescapeStringLiteralText=a.hasJSXAncestor=a.findFirstMatchingAncestor=a.findNextToken=a.getTSNodeAccessibility=a.getDeclarationKind=a.isJSXToken=a.isToken=a.getRange=a.canContainDirective=a.getLocFor=a.getLineAndCharacterFor=a.getBinaryExpressionType=a.isJSDocComment=a.isComment=a.isComma=a.getLastModifier=a.hasModifier=a.isESTreeClassMember=a.getTextForTokenKind=a.isLogicalOperator=a.isAssignmentOperator=void 0;var D=h(vr()),P=fT(),y=rV(),m=x1(),C=S1(),d=C.typescriptVersionIsAtLeast["5.0"],E=D.SyntaxKind,I=[E.BarBarToken,E.AmpersandAmpersandToken,E.QuestionQuestionToken];function c(be){return be.kind>=E.FirstAssignment&&be.kind<=E.LastAssignment}a.isAssignmentOperator=c;function M(be){return I.includes(be.kind)}a.isLogicalOperator=M;function q(be){return D.tokenToString(be)}a.getTextForTokenKind=q;function W(be){return be.kind!==E.SemicolonClassElement}a.isESTreeClassMember=W;function K(be,Ke){let Et=(0,P.getModifiers)(Ke);return(Et==null?void 0:Et.some(Ft=>Ft.kind===be))===!0}a.hasModifier=K;function ce(be){var Ke;let Et=(0,P.getModifiers)(be);return Et==null?null:(Ke=Et[Et.length-1])!==null&&Ke!==void 0?Ke:null}a.getLastModifier=ce;function Ie(be){return be.kind===E.CommaToken}a.isComma=Ie;function me(be){return be.kind===E.SingleLineCommentTrivia||be.kind===E.MultiLineCommentTrivia}a.isComment=me;function Ae(be){return be.kind===E.JSDocComment}a.isJSDocComment=Ae;function te(be){return c(be)?m.AST_NODE_TYPES.AssignmentExpression:M(be)?m.AST_NODE_TYPES.LogicalExpression:m.AST_NODE_TYPES.BinaryExpression}a.getBinaryExpressionType=te;function he(be,Ke){let Et=Ke.getLineAndCharacterOfPosition(be);return{line:Et.line+1,column:Et.character}}a.getLineAndCharacterFor=he;function Pe(be,Ke,Et){return{start:he(be,Et),end:he(Ke,Et)}}a.getLocFor=Pe;function R(be){if(be.kind===D.SyntaxKind.Block)switch(be.parent.kind){case D.SyntaxKind.Constructor:case D.SyntaxKind.GetAccessor:case D.SyntaxKind.SetAccessor:case D.SyntaxKind.ArrowFunction:case D.SyntaxKind.FunctionExpression:case D.SyntaxKind.FunctionDeclaration:case D.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0}a.canContainDirective=R;function pe(be,Ke){return[be.getStart(Ke),be.getEnd()]}a.getRange=pe;function ke(be){return be.kind>=E.FirstToken&&be.kind<=E.LastToken}a.isToken=ke;function Je(be){return be.kind>=E.JsxElement&&be.kind<=E.JsxAttribute}a.isJSXToken=Je;function Xe(be){return be.flags&D.NodeFlags.Let?"let":be.flags&D.NodeFlags.Const?"const":"var"}a.getDeclarationKind=Xe;function ee(be){let Ke=(0,P.getModifiers)(be);if(Ke==null)return null;for(let Et of Ke)switch(Et.kind){case E.PublicKeyword:return"public";case E.ProtectedKeyword:return"protected";case E.PrivateKeyword:return"private";default:break}return null}a.getTSNodeAccessibility=ee;function je(be,Ke,Et){return Ft(Ke);function Ft(or){return D.isToken(or)&&or.pos===be.end?or:la(or.getChildren(Et),Wr=>(Wr.pos<=be.pos&&Wr.end>be.end||Wr.pos===be.end)&&Ri(Wr,Et)?Ft(Wr):void 0)}}a.findNextToken=je;function nt(be,Ke){for(;be;){if(Ke(be))return be;be=be.parent}}a.findFirstMatchingAncestor=nt;function Ze(be){return!!nt(be,Je)}a.hasJSXAncestor=Ze;function st(be){return be.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,Ke=>{let Et=Ke.slice(1,-1);if(Et[0]==="#"){let Ft=Et[1]==="x"?parseInt(Et.slice(2),16):parseInt(Et.slice(1),10);return Ft>1114111?Ke:String.fromCodePoint(Ft)}return y.xhtmlEntities[Et]||Ke})}a.unescapeStringLiteralText=st;function tt(be){return be.kind===E.ComputedPropertyName}a.isComputedProperty=tt;function ct(be){return be.questionToken?be.questionToken.kind===E.QuestionToken:!1}a.isOptional=ct;function ne(be){return be.type===m.AST_NODE_TYPES.ChainExpression}a.isChainExpression=ne;function ge(be,Ke){return ne(Ke)&&be.expression.kind!==D.SyntaxKind.ParenthesizedExpression}a.isChildUnwrappableOptionalChain=ge;function Fe(be){let Ke;if(d&&be.kind===E.Identifier?Ke=D.identifierToKeywordKind(be):"originalKeywordKind"in be&&(Ke=be.originalKeywordKind),Ke)return Ke===E.NullKeyword?m.AST_TOKEN_TYPES.Null:Ke>=E.FirstFutureReservedWord&&Ke<=E.LastKeyword?m.AST_TOKEN_TYPES.Identifier:m.AST_TOKEN_TYPES.Keyword;if(be.kind>=E.FirstKeyword&&be.kind<=E.LastFutureReservedWord)return be.kind===E.FalseKeyword||be.kind===E.TrueKeyword?m.AST_TOKEN_TYPES.Boolean:m.AST_TOKEN_TYPES.Keyword;if(be.kind>=E.FirstPunctuation&&be.kind<=E.LastPunctuation)return m.AST_TOKEN_TYPES.Punctuator;if(be.kind>=E.NoSubstitutionTemplateLiteral&&be.kind<=E.TemplateTail)return m.AST_TOKEN_TYPES.Template;switch(be.kind){case E.NumericLiteral:return m.AST_TOKEN_TYPES.Numeric;case E.JsxText:return m.AST_TOKEN_TYPES.JSXText;case E.StringLiteral:return be.parent&&(be.parent.kind===E.JsxAttribute||be.parent.kind===E.JsxElement)?m.AST_TOKEN_TYPES.JSXText:m.AST_TOKEN_TYPES.String;case E.RegularExpressionLiteral:return m.AST_TOKEN_TYPES.RegularExpression;case E.Identifier:case E.ConstructorKeyword:case E.GetKeyword:case E.SetKeyword:default:}return be.parent&&be.kind===E.Identifier&&(Je(be.parent)||be.parent.kind===E.PropertyAccessExpression&&Ze(be))?m.AST_TOKEN_TYPES.JSXIdentifier:m.AST_TOKEN_TYPES.Identifier}a.getTokenType=Fe;function at(be,Ke){let Et=be.kind===E.JsxText?be.getFullStart():be.getStart(Ke),Ft=be.getEnd(),or=Ke.text.slice(Et,Ft),Wr=Fe(be);return Wr===m.AST_TOKEN_TYPES.RegularExpression?{type:Wr,value:or,range:[Et,Ft],loc:Pe(Et,Ft,Ke),regex:{pattern:or.slice(1,or.lastIndexOf("/")),flags:or.slice(or.lastIndexOf("/")+1)}}:{type:Wr,value:or,range:[Et,Ft],loc:Pe(Et,Ft,Ke)}}a.convertToken=at;function Pt(be){let Ke=[];function Et(Ft){if(!(me(Ft)||Ae(Ft)))if(ke(Ft)&&Ft.kind!==E.EndOfFileToken){let or=at(Ft,be);or&&Ke.push(or)}else Ft.getChildren(be).forEach(Et)}return Et(be),Ke}a.convertTokens=Pt;var qt=class extends Error{constructor(be,Ke,Et,Ft,or){super(be),this.fileName=Ke,this.index=Et,this.lineNumber=Ft,this.column=or,Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0})}};a.TSError=qt;function Zr(be,Ke,Et){let Ft=be.getLineAndCharacterOfPosition(Ke);return new qt(Et,be.fileName,Ke,Ft.line+1,Ft.character)}a.createError=Zr;function Ri(be,Ke){return be.kind===E.EndOfFileToken?!!be.jsDoc:be.getWidth(Ke)!==0}a.nodeHasTokens=Ri;function la(be,Ke){if(be!==void 0)for(let Et=0;Et{let K=this.convertChild(W);if(q)if(K!=null&&K.expression&&D.isExpressionStatement(W)&&D.isStringLiteral(W.expression)){let ce=K.expression.raw;return K.directive=ce.slice(1,-1),K}else q=!1;return K}).filter(W=>W)}convertTypeArgumentsToTypeParameters(c,M){let q=(0,y.findNextToken)(c,this.ast,this.ast);return this.createNode(M,{type:m.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[c.pos-1,q.end],params:c.map(W=>this.convertType(W))})}convertTSTypeParametersToTypeParametersDeclaration(c){let M=(0,y.findNextToken)(c,this.ast,this.ast);return{type:m.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[c.pos-1,M.end],loc:(0,y.getLocFor)(c.pos-1,M.end,this.ast),params:c.map(q=>this.convertType(q))}}convertParameters(c){return c!=null&&c.length?c.map(M=>{let q=this.convertChild(M),W=(0,P.getDecorators)(M);return W!=null&&W.length&&(q.decorators=W.map(K=>this.convertChild(K))),q}):[]}convertChainExpression(c,M){let{child:q,isOptional:W}=(()=>c.type===m.AST_NODE_TYPES.MemberExpression?{child:c.object,isOptional:c.optional}:c.type===m.AST_NODE_TYPES.CallExpression?{child:c.callee,isOptional:c.optional}:{child:c.expression,isOptional:!1})(),K=(0,y.isChildUnwrappableOptionalChain)(M,q);if(!K&&!W)return c;if(K&&(0,y.isChainExpression)(q)){let ce=q.expression;c.type===m.AST_NODE_TYPES.MemberExpression?c.object=ce:c.type===m.AST_NODE_TYPES.CallExpression?c.callee=ce:c.expression=ce}return this.createNode(M,{type:m.AST_NODE_TYPES.ChainExpression,expression:c})}deeplyCopy(c){if(c.kind===D.SyntaxKind.JSDocFunctionType)throw(0,y.createError)(this.ast,c.pos,"JSDoc types can only be used inside documentation comments.");let M=`TS${d[c.kind]}`;if(this.options.errorOnUnknownASTType&&!m.AST_NODE_TYPES[M])throw new Error(`Unknown AST_NODE_TYPE: "${M}"`);let q=this.createNode(c,{type:M});"type"in c&&(q.typeAnnotation=c.type&&"kind"in c.type&&D.isTypeNode(c.type)?this.convertTypeAnnotation(c.type,c):null),"typeArguments"in c&&(q.typeParameters=c.typeArguments&&"pos"in c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):null),"typeParameters"in c&&(q.typeParameters=c.typeParameters&&"pos"in c.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters):null);let W=(0,P.getDecorators)(c);W!=null&&W.length&&(q.decorators=W.map(ce=>this.convertChild(ce)));let K=new Set(["_children","decorators","end","flags","illegalDecorators","heritageClauses","locals","localSymbol","jsDoc","kind","modifierFlagsCache","modifiers","nextContainer","parent","pos","symbol","transformFlags","type","typeArguments","typeParameters"]);return Object.entries(c).filter(ce=>{let[Ie]=ce;return!K.has(Ie)}).forEach(ce=>{let[Ie,me]=ce;Array.isArray(me)?q[Ie]=me.map(Ae=>this.convertChild(Ae)):me&&typeof me=="object"&&me.kind?q[Ie]=this.convertChild(me):q[Ie]=me}),q}convertJSXIdentifier(c){let M=this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:c.getText()});return this.registerTSNodeInNodeMap(c,M),M}convertJSXNamespaceOrIdentifier(c){let M=c.getText(),q=M.indexOf(":");if(q>0){let W=(0,y.getRange)(c,this.ast),K=this.createNode(c,{type:m.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:M.slice(0,q),range:[W[0],W[0]+q]}),name:this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:M.slice(q+1),range:[W[0]+q+1,W[1]]}),range:W});return this.registerTSNodeInNodeMap(c,K),K}return this.convertJSXIdentifier(c)}convertJSXTagName(c,M){let q;switch(c.kind){case d.PropertyAccessExpression:if(c.name.kind===d.PrivateIdentifier)throw new Error("Non-private identifier expected.");q=this.createNode(c,{type:m.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(c.expression,M),property:this.convertJSXIdentifier(c.name)});break;case d.ThisKeyword:case d.Identifier:default:return this.convertJSXNamespaceOrIdentifier(c)}return this.registerTSNodeInNodeMap(c,q),q}convertMethodSignature(c){let M=this.createNode(c,{type:m.AST_NODE_TYPES.TSMethodSignature,computed:(0,y.isComputedProperty)(c.name),key:this.convertChild(c.name),params:this.convertParameters(c.parameters),kind:(()=>{switch(c.kind){case d.GetAccessor:return"get";case d.SetAccessor:return"set";case d.MethodSignature:return"method"}})()});(0,y.isOptional)(c)&&(M.optional=!0),c.type&&(M.returnType=this.convertTypeAnnotation(c.type,c)),(0,y.hasModifier)(d.ReadonlyKeyword,c)&&(M.readonly=!0),c.typeParameters&&(M.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters));let q=(0,y.getTSNodeAccessibility)(c);return q&&(M.accessibility=q),(0,y.hasModifier)(d.ExportKeyword,c)&&(M.export=!0),(0,y.hasModifier)(d.StaticKeyword,c)&&(M.static=!0),M}convertAssertClasue(c){return c===void 0?[]:c.elements.map(M=>this.convertChild(M))}applyModifiersToResult(c,M){if(!M)return;let q=[];for(let W of M)switch(W.kind){case d.ExportKeyword:case d.DefaultKeyword:break;case d.ConstKeyword:c.const=!0;break;case d.DeclareKeyword:c.declare=!0;break;default:q.push(this.convertChild(W));break}q.length>0&&(c.modifiers=q)}fixParentLocation(c,M){M[0]c.range[1]&&(c.range[1]=M[1],c.loc.end=(0,y.getLineAndCharacterFor)(c.range[1],this.ast))}assertModuleSpecifier(c,M){var q;if(!M&&c.moduleSpecifier==null)throw(0,y.createError)(this.ast,c.pos,"Module specifier must be a string literal.");if(c.moduleSpecifier&&((q=c.moduleSpecifier)===null||q===void 0?void 0:q.kind)!==d.StringLiteral)throw(0,y.createError)(this.ast,c.moduleSpecifier.pos,"Module specifier must be a string literal.")}convertNode(c,M){var q,W,K,ce,Ie,me,Ae,te,he,Pe;switch(c.kind){case d.SourceFile:return this.createNode(c,{type:m.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(c.statements,c),sourceType:c.externalModuleIndicator?"module":"script",range:[c.getStart(this.ast),c.endOfFileToken.end]});case d.Block:return this.createNode(c,{type:m.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(c.statements,c)});case d.Identifier:return(0,y.isThisInTypeQuery)(c)?this.createNode(c,{type:m.AST_NODE_TYPES.ThisExpression}):this.createNode(c,{type:m.AST_NODE_TYPES.Identifier,name:c.text});case d.PrivateIdentifier:return this.createNode(c,{type:m.AST_NODE_TYPES.PrivateIdentifier,name:c.text.slice(1)});case d.WithStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.WithStatement,object:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ReturnStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(c.expression)});case d.LabeledStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(c.label),body:this.convertChild(c.statement)});case d.ContinueStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(c.label)});case d.BreakStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.BreakStatement,label:this.convertChild(c.label)});case d.IfStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.IfStatement,test:this.convertChild(c.expression),consequent:this.convertChild(c.thenStatement),alternate:this.convertChild(c.elseStatement)});case d.SwitchStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(c.expression),cases:c.caseBlock.clauses.map(R=>this.convertChild(R))});case d.CaseClause:case d.DefaultClause:return this.createNode(c,{type:m.AST_NODE_TYPES.SwitchCase,test:c.kind===d.CaseClause?this.convertChild(c.expression):null,consequent:c.statements.map(R=>this.convertChild(R))});case d.ThrowStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(c.expression)});case d.TryStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.TryStatement,block:this.convertChild(c.tryBlock),handler:this.convertChild(c.catchClause),finalizer:this.convertChild(c.finallyBlock)});case d.CatchClause:return this.createNode(c,{type:m.AST_NODE_TYPES.CatchClause,param:c.variableDeclaration?this.convertBindingNameWithTypeAnnotation(c.variableDeclaration.name,c.variableDeclaration.type):null,body:this.convertChild(c.block)});case d.WhileStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.WhileStatement,test:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.DoStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ForStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForStatement,init:this.convertChild(c.initializer),test:this.convertChild(c.condition),update:this.convertChild(c.incrementor),body:this.convertChild(c.statement)});case d.ForInStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(c.initializer),right:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ForOfStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(c.initializer),right:this.convertChild(c.expression),body:this.convertChild(c.statement),await:Boolean(c.awaitModifier&&c.awaitModifier.kind===d.AwaitKeyword)});case d.FunctionDeclaration:{let R=(0,y.hasModifier)(d.DeclareKeyword,c),pe=this.createNode(c,{type:R||!c.body?m.AST_NODE_TYPES.TSDeclareFunction:m.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(c.name),generator:!!c.asteriskToken,expression:!1,async:(0,y.hasModifier)(d.AsyncKeyword,c),params:this.convertParameters(c.parameters),body:this.convertChild(c.body)||void 0});return c.type&&(pe.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R&&(pe.declare=!0),this.fixExports(c,pe)}case d.VariableDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(c.name,c.type,c),init:this.convertChild(c.initializer)});return c.exclamationToken&&(R.definite=!0),R}case d.VariableStatement:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclaration,declarations:c.declarationList.declarations.map(pe=>this.convertChild(pe)),kind:(0,y.getDeclarationKind)(c.declarationList)});return(0,y.hasModifier)(d.DeclareKeyword,c)&&(R.declare=!0),this.fixExports(c,R)}case d.VariableDeclarationList:return this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclaration,declarations:c.declarations.map(R=>this.convertChild(R)),kind:(0,y.getDeclarationKind)(c)});case d.ExpressionStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(c.expression)});case d.ThisKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.ThisExpression});case d.ArrayLiteralExpression:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.ArrayPattern,elements:c.elements.map(R=>this.convertPattern(R))}):this.createNode(c,{type:m.AST_NODE_TYPES.ArrayExpression,elements:c.elements.map(R=>this.convertChild(R))});case d.ObjectLiteralExpression:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.ObjectPattern,properties:c.properties.map(R=>this.convertPattern(R))}):this.createNode(c,{type:m.AST_NODE_TYPES.ObjectExpression,properties:c.properties.map(R=>this.convertChild(R))});case d.PropertyAssignment:return this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.converter(c.initializer,c,this.inTypeMode,this.allowPattern),computed:(0,y.isComputedProperty)(c.name),method:!1,shorthand:!1,kind:"init"});case d.ShorthandPropertyAssignment:return c.objectAssignmentInitializer?this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(c.name),right:this.convertChild(c.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.convertChild(c.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case d.ComputedPropertyName:return this.convertChild(c.expression);case d.PropertyDeclaration:{let R=(0,y.hasModifier)(d.AbstractKeyword,c),pe=(0,y.hasModifier)(d.AccessorKeyword,c),ke=(()=>pe?R?m.AST_NODE_TYPES.TSAbstractAccessorProperty:m.AST_NODE_TYPES.AccessorProperty:R?m.AST_NODE_TYPES.TSAbstractPropertyDefinition:m.AST_NODE_TYPES.PropertyDefinition)(),Je=this.createNode(c,{type:ke,key:this.convertChild(c.name),value:R?null:this.convertChild(c.initializer),computed:(0,y.isComputedProperty)(c.name),static:(0,y.hasModifier)(d.StaticKeyword,c),readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,declare:(0,y.hasModifier)(d.DeclareKeyword,c),override:(0,y.hasModifier)(d.OverrideKeyword,c)});c.type&&(Je.typeAnnotation=this.convertTypeAnnotation(c.type,c));let Xe=(0,P.getDecorators)(c);Xe&&(Je.decorators=Xe.map(je=>this.convertChild(je)));let ee=(0,y.getTSNodeAccessibility)(c);return ee&&(Je.accessibility=ee),(c.name.kind===d.Identifier||c.name.kind===d.ComputedPropertyName||c.name.kind===d.PrivateIdentifier)&&c.questionToken&&(Je.optional=!0),c.exclamationToken&&(Je.definite=!0),Je.key.type===m.AST_NODE_TYPES.Literal&&c.questionToken&&(Je.optional=!0),Je}case d.GetAccessor:case d.SetAccessor:if(c.parent.kind===d.InterfaceDeclaration||c.parent.kind===d.TypeLiteral)return this.convertMethodSignature(c);case d.MethodDeclaration:{let R=this.createNode(c,{type:c.body?m.AST_NODE_TYPES.FunctionExpression:m.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!c.asteriskToken,expression:!1,async:(0,y.hasModifier)(d.AsyncKeyword,c),body:this.convertChild(c.body),range:[c.parameters.pos-1,c.end],params:[]});c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters),this.fixParentLocation(R,R.typeParameters.range));let pe;if(M.kind===d.ObjectLiteralExpression)R.params=c.parameters.map(ke=>this.convertChild(ke)),pe=this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:R,computed:(0,y.isComputedProperty)(c.name),method:c.kind===d.MethodDeclaration,shorthand:!1,kind:"init"});else{R.params=this.convertParameters(c.parameters);let ke=(0,y.hasModifier)(d.AbstractKeyword,c)?m.AST_NODE_TYPES.TSAbstractMethodDefinition:m.AST_NODE_TYPES.MethodDefinition;pe=this.createNode(c,{type:ke,key:this.convertChild(c.name),value:R,computed:(0,y.isComputedProperty)(c.name),static:(0,y.hasModifier)(d.StaticKeyword,c),kind:"method",override:(0,y.hasModifier)(d.OverrideKeyword,c)});let Je=(0,P.getDecorators)(c);Je&&(pe.decorators=Je.map(ee=>this.convertChild(ee)));let Xe=(0,y.getTSNodeAccessibility)(c);Xe&&(pe.accessibility=Xe)}return c.questionToken&&(pe.optional=!0),c.kind===d.GetAccessor?pe.kind="get":c.kind===d.SetAccessor?pe.kind="set":!pe.static&&c.name.kind===d.StringLiteral&&c.name.text==="constructor"&&pe.type!==m.AST_NODE_TYPES.Property&&(pe.kind="constructor"),pe}case d.Constructor:{let R=(0,y.getLastModifier)(c),pe=R&&(0,y.findNextToken)(R,c,this.ast)||c.getFirstToken(),ke=this.createNode(c,{type:c.body?m.AST_NODE_TYPES.FunctionExpression:m.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(c.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(c.body),range:[c.parameters.pos-1,c.end]});c.typeParameters&&(ke.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters),this.fixParentLocation(ke,ke.typeParameters.range)),c.type&&(ke.returnType=this.convertTypeAnnotation(c.type,c));let Je=this.createNode(c,{type:m.AST_NODE_TYPES.Identifier,name:"constructor",range:[pe.getStart(this.ast),pe.end]}),Xe=(0,y.hasModifier)(d.StaticKeyword,c),ee=this.createNode(c,{type:(0,y.hasModifier)(d.AbstractKeyword,c)?m.AST_NODE_TYPES.TSAbstractMethodDefinition:m.AST_NODE_TYPES.MethodDefinition,key:Je,value:ke,computed:!1,static:Xe,kind:Xe?"method":"constructor",override:!1}),je=(0,y.getTSNodeAccessibility)(c);return je&&(ee.accessibility=je),ee}case d.FunctionExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(c.name),generator:!!c.asteriskToken,params:this.convertParameters(c.parameters),body:this.convertChild(c.body),async:(0,y.hasModifier)(d.AsyncKeyword,c),expression:!1});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.SuperKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Super});case d.ArrayBindingPattern:return this.createNode(c,{type:m.AST_NODE_TYPES.ArrayPattern,elements:c.elements.map(R=>this.convertPattern(R))});case d.OmittedExpression:return null;case d.ObjectBindingPattern:return this.createNode(c,{type:m.AST_NODE_TYPES.ObjectPattern,properties:c.elements.map(R=>this.convertPattern(R))});case d.BindingElement:if(M.kind===d.ArrayBindingPattern){let R=this.convertChild(c.name,M);return c.initializer?this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:R,right:this.convertChild(c.initializer)}):c.dotDotDotToken?this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:R}):R}else{let R;return c.dotDotDotToken?R=this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertChild((q=c.propertyName)!==null&&q!==void 0?q:c.name)}):R=this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild((W=c.propertyName)!==null&&W!==void 0?W:c.name),value:this.convertChild(c.name),computed:Boolean(c.propertyName&&c.propertyName.kind===d.ComputedPropertyName),method:!1,shorthand:!c.propertyName,kind:"init"}),c.initializer&&(R.value=this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(c.name),right:this.convertChild(c.initializer),range:[c.name.getStart(this.ast),c.initializer.end]})),R}case d.ArrowFunction:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(c.parameters),body:this.convertChild(c.body),async:(0,y.hasModifier)(d.AsyncKeyword,c),expression:c.body.kind!==d.Block});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.YieldExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.YieldExpression,delegate:!!c.asteriskToken,argument:this.convertChild(c.expression)});case d.AwaitExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(c.expression)});case d.NoSubstitutionTemplateLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(c,{type:m.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(c.getStart(this.ast)+1,c.end-1),cooked:c.text},tail:!0})],expressions:[]});case d.TemplateExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(c.head)],expressions:[]});return c.templateSpans.forEach(pe=>{R.expressions.push(this.convertChild(pe.expression)),R.quasis.push(this.convertChild(pe.literal))}),R}case d.TaggedTemplateExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,tag:this.convertChild(c.tag),quasi:this.convertChild(c.template)});case d.TemplateHead:case d.TemplateMiddle:case d.TemplateTail:{let R=c.kind===d.TemplateTail;return this.createNode(c,{type:m.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(c.getStart(this.ast)+1,c.end-(R?1:2)),cooked:c.text},tail:R})}case d.SpreadAssignment:case d.SpreadElement:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertPattern(c.expression)}):this.createNode(c,{type:m.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(c.expression)});case d.Parameter:{let R,pe;return c.dotDotDotToken?R=pe=this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertChild(c.name)}):c.initializer?(R=this.convertChild(c.name),pe=this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:R,right:this.convertChild(c.initializer)}),(0,P.getModifiers)(c)&&(pe.range[0]=R.range[0],pe.loc=(0,y.getLocFor)(pe.range[0],pe.range[1],this.ast))):R=pe=this.convertChild(c.name,M),c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c),this.fixParentLocation(R,R.typeAnnotation.range)),c.questionToken&&(c.questionToken.end>R.range[1]&&(R.range[1]=c.questionToken.end,R.loc.end=(0,y.getLineAndCharacterFor)(R.range[1],this.ast)),R.optional=!0),(0,P.getModifiers)(c)?this.createNode(c,{type:m.AST_NODE_TYPES.TSParameterProperty,accessibility:(K=(0,y.getTSNodeAccessibility)(c))!==null&&K!==void 0?K:void 0,readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,static:(0,y.hasModifier)(d.StaticKeyword,c)||void 0,export:(0,y.hasModifier)(d.ExportKeyword,c)||void 0,override:(0,y.hasModifier)(d.OverrideKeyword,c)||void 0,parameter:pe}):pe}case d.ClassDeclaration:case d.ClassExpression:{let R=(ce=c.heritageClauses)!==null&&ce!==void 0?ce:[],pe=c.kind===d.ClassDeclaration?m.AST_NODE_TYPES.ClassDeclaration:m.AST_NODE_TYPES.ClassExpression,ke=R.find(nt=>nt.token===d.ExtendsKeyword),Je=R.find(nt=>nt.token===d.ImplementsKeyword),Xe=this.createNode(c,{type:pe,id:this.convertChild(c.name),body:this.createNode(c,{type:m.AST_NODE_TYPES.ClassBody,body:[],range:[c.members.pos-1,c.end]}),superClass:ke!=null&&ke.types[0]?this.convertChild(ke.types[0].expression):null});if(ke){if(ke.types.length>1)throw(0,y.createError)(this.ast,ke.types[1].pos,"Classes can only extend a single class.");!((Ie=ke.types[0])===null||Ie===void 0)&&Ie.typeArguments&&(Xe.superTypeParameters=this.convertTypeArgumentsToTypeParameters(ke.types[0].typeArguments,ke.types[0]))}c.typeParameters&&(Xe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),Je&&(Xe.implements=Je.types.map(nt=>this.convertChild(nt))),(0,y.hasModifier)(d.AbstractKeyword,c)&&(Xe.abstract=!0),(0,y.hasModifier)(d.DeclareKeyword,c)&&(Xe.declare=!0);let ee=(0,P.getDecorators)(c);ee&&(Xe.decorators=ee.map(nt=>this.convertChild(nt)));let je=c.members.filter(y.isESTreeClassMember);return je.length&&(Xe.body.body=je.map(nt=>this.convertChild(nt))),this.fixExports(c,Xe)}case d.ModuleBlock:return this.createNode(c,{type:m.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(c.statements,c)});case d.ImportDeclaration:{this.assertModuleSpecifier(c,!1);let R=this.createNode(c,{type:m.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(c.moduleSpecifier),specifiers:[],importKind:"value",assertions:this.convertAssertClasue(c.assertClause)});if(c.importClause&&(c.importClause.isTypeOnly&&(R.importKind="type"),c.importClause.name&&R.specifiers.push(this.convertChild(c.importClause)),c.importClause.namedBindings))switch(c.importClause.namedBindings.kind){case d.NamespaceImport:R.specifiers.push(this.convertChild(c.importClause.namedBindings));break;case d.NamedImports:R.specifiers=R.specifiers.concat(c.importClause.namedBindings.elements.map(pe=>this.convertChild(pe)));break}return R}case d.NamespaceImport:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(c.name)});case d.ImportSpecifier:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(c.name),imported:this.convertChild((me=c.propertyName)!==null&&me!==void 0?me:c.name),importKind:c.isTypeOnly?"type":"value"});case d.ImportClause:{let R=this.convertChild(c.name);return this.createNode(c,{type:m.AST_NODE_TYPES.ImportDefaultSpecifier,local:R,range:R.range})}case d.ExportDeclaration:return((Ae=c.exportClause)===null||Ae===void 0?void 0:Ae.kind)===d.NamedExports?(this.assertModuleSpecifier(c,!0),this.createNode(c,{type:m.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(c.moduleSpecifier),specifiers:c.exportClause.elements.map(R=>this.convertChild(R)),exportKind:c.isTypeOnly?"type":"value",declaration:null,assertions:this.convertAssertClasue(c.assertClause)})):(this.assertModuleSpecifier(c,!1),this.createNode(c,{type:m.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(c.moduleSpecifier),exportKind:c.isTypeOnly?"type":"value",exported:c.exportClause&&c.exportClause.kind===d.NamespaceExport?this.convertChild(c.exportClause.name):null,assertions:this.convertAssertClasue(c.assertClause)}));case d.ExportSpecifier:return this.createNode(c,{type:m.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild((te=c.propertyName)!==null&&te!==void 0?te:c.name),exported:this.convertChild(c.name),exportKind:c.isTypeOnly?"type":"value"});case d.ExportAssignment:return c.isExportEquals?this.createNode(c,{type:m.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(c.expression)}):this.createNode(c,{type:m.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(c.expression),exportKind:"value"});case d.PrefixUnaryExpression:case d.PostfixUnaryExpression:{let R=(0,y.getTextForTokenKind)(c.operator);return R==="++"||R==="--"?this.createNode(c,{type:m.AST_NODE_TYPES.UpdateExpression,operator:R,prefix:c.kind===d.PrefixUnaryExpression,argument:this.convertChild(c.operand)}):this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:R,prefix:c.kind===d.PrefixUnaryExpression,argument:this.convertChild(c.operand)})}case d.DeleteExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(c.expression)});case d.VoidExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(c.expression)});case d.TypeOfExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(c.expression)});case d.TypeOperator:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeOperator,operator:(0,y.getTextForTokenKind)(c.operator),typeAnnotation:this.convertChild(c.type)});case d.BinaryExpression:if((0,y.isComma)(c.operatorToken)){let R=this.createNode(c,{type:m.AST_NODE_TYPES.SequenceExpression,expressions:[]}),pe=this.convertChild(c.left);return pe.type===m.AST_NODE_TYPES.SequenceExpression&&c.left.kind!==d.ParenthesizedExpression?R.expressions=R.expressions.concat(pe.expressions):R.expressions.push(pe),R.expressions.push(this.convertChild(c.right)),R}else{let R=(0,y.getBinaryExpressionType)(c.operatorToken);return this.allowPattern&&R===m.AST_NODE_TYPES.AssignmentExpression?this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(c.left,c),right:this.convertChild(c.right)}):this.createNode(c,{type:R,operator:(0,y.getTextForTokenKind)(c.operatorToken.kind),left:this.converter(c.left,c,this.inTypeMode,R===m.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(c.right)})}case d.PropertyAccessExpression:{let R=this.convertChild(c.expression),pe=this.convertChild(c.name),ke=!1,Je=this.createNode(c,{type:m.AST_NODE_TYPES.MemberExpression,object:R,property:pe,computed:ke,optional:c.questionDotToken!==void 0});return this.convertChainExpression(Je,c)}case d.ElementAccessExpression:{let R=this.convertChild(c.expression),pe=this.convertChild(c.argumentExpression),ke=!0,Je=this.createNode(c,{type:m.AST_NODE_TYPES.MemberExpression,object:R,property:pe,computed:ke,optional:c.questionDotToken!==void 0});return this.convertChainExpression(Je,c)}case d.CallExpression:{if(c.expression.kind===d.ImportKeyword){if(c.arguments.length!==1&&c.arguments.length!==2)throw(0,y.createError)(this.ast,c.arguments.pos,"Dynamic import requires exactly one or two arguments.");return this.createNode(c,{type:m.AST_NODE_TYPES.ImportExpression,source:this.convertChild(c.arguments[0]),attributes:c.arguments[1]?this.convertChild(c.arguments[1]):null})}let R=this.convertChild(c.expression),pe=c.arguments.map(Je=>this.convertChild(Je)),ke=this.createNode(c,{type:m.AST_NODE_TYPES.CallExpression,callee:R,arguments:pe,optional:c.questionDotToken!==void 0});return c.typeArguments&&(ke.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),this.convertChainExpression(ke,c)}case d.NewExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.NewExpression,callee:this.convertChild(c.expression),arguments:c.arguments?c.arguments.map(pe=>this.convertChild(pe)):[]});return c.typeArguments&&(R.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),R}case d.ConditionalExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(c.condition),consequent:this.convertChild(c.whenTrue),alternate:this.convertChild(c.whenFalse)});case d.MetaProperty:return this.createNode(c,{type:m.AST_NODE_TYPES.MetaProperty,meta:this.createNode(c.getFirstToken(),{type:m.AST_NODE_TYPES.Identifier,name:(0,y.getTextForTokenKind)(c.keywordToken)}),property:this.convertChild(c.name)});case d.Decorator:return this.createNode(c,{type:m.AST_NODE_TYPES.Decorator,expression:this.convertChild(c.expression)});case d.StringLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:M.kind===d.JsxAttribute?(0,y.unescapeStringLiteralText)(c.text):c.text,raw:c.getText()});case d.NumericLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:Number(c.text),raw:c.getText()});case d.BigIntLiteral:{let R=(0,y.getRange)(c,this.ast),pe=this.ast.text.slice(R[0],R[1]),ke=pe.slice(0,-1).replace(/_/g,""),Je=typeof BigInt<"u"?BigInt(ke):null;return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,raw:pe,value:Je,bigint:Je==null?ke:String(Je),range:R})}case d.RegularExpressionLiteral:{let R=c.text.slice(1,c.text.lastIndexOf("/")),pe=c.text.slice(c.text.lastIndexOf("/")+1),ke=null;try{ke=new RegExp(R,pe)}catch{ke=null}return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:ke,raw:c.text,regex:{pattern:R,flags:pe}})}case d.TrueKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case d.FalseKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case d.NullKeyword:return!C.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(c,{type:m.AST_NODE_TYPES.TSNullKeyword}):this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:null,raw:"null"});case d.EmptyStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.EmptyStatement});case d.DebuggerStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.DebuggerStatement});case d.JsxElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(c.openingElement),closingElement:this.convertChild(c.closingElement),children:c.children.map(R=>this.convertChild(R))});case d.JsxFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(c.openingFragment),closingFragment:this.convertChild(c.closingFragment),children:c.children.map(R=>this.convertChild(R))});case d.JsxSelfClosingElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningElement,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,selfClosing:!0,name:this.convertJSXTagName(c.tagName,c),attributes:c.attributes.properties.map(R=>this.convertChild(R)),range:(0,y.getRange)(c,this.ast)}),closingElement:null,children:[]});case d.JsxOpeningElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningElement,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,selfClosing:!1,name:this.convertJSXTagName(c.tagName,c),attributes:c.attributes.properties.map(R=>this.convertChild(R))});case d.JsxClosingElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(c.tagName,c)});case d.JsxOpeningFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningFragment});case d.JsxClosingFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXClosingFragment});case d.JsxExpression:{let R=c.expression?this.convertChild(c.expression):this.createNode(c,{type:m.AST_NODE_TYPES.JSXEmptyExpression,range:[c.getStart(this.ast)+1,c.getEnd()-1]});return c.dotDotDotToken?this.createNode(c,{type:m.AST_NODE_TYPES.JSXSpreadChild,expression:R}):this.createNode(c,{type:m.AST_NODE_TYPES.JSXExpressionContainer,expression:R})}case d.JsxAttribute:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(c.name),value:this.convertChild(c.initializer)});case d.JsxText:{let R=c.getFullStart(),pe=c.getEnd(),ke=this.ast.text.slice(R,pe);return this.createNode(c,{type:m.AST_NODE_TYPES.JSXText,value:(0,y.unescapeStringLiteralText)(ke),raw:ke,range:[R,pe]})}case d.JsxSpreadAttribute:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(c.expression)});case d.QualifiedName:return this.createNode(c,{type:m.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(c.left),right:this.convertChild(c.right)});case d.TypeReference:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(c.typeName),typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0});case d.TypeParameter:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(c.name),constraint:c.constraint?this.convertType(c.constraint):void 0,default:c.default?this.convertType(c.default):void 0,in:(0,y.hasModifier)(d.InKeyword,c),out:(0,y.hasModifier)(d.OutKeyword,c),const:(0,y.hasModifier)(d.ConstKeyword,c)});case d.ThisType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSThisType});case d.AnyKeyword:case d.BigIntKeyword:case d.BooleanKeyword:case d.NeverKeyword:case d.NumberKeyword:case d.ObjectKeyword:case d.StringKeyword:case d.SymbolKeyword:case d.UnknownKeyword:case d.VoidKeyword:case d.UndefinedKeyword:case d.IntrinsicKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES[`TS${d[c.kind]}`]});case d.NonNullExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(c.expression)});return this.convertChainExpression(R,c)}case d.TypeLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeLiteral,members:c.members.map(R=>this.convertChild(R))});case d.ArrayType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(c.elementType)});case d.IndexedAccessType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(c.objectType),indexType:this.convertType(c.indexType)});case d.ConditionalType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(c.checkType),extendsType:this.convertType(c.extendsType),trueType:this.convertType(c.trueType),falseType:this.convertType(c.falseType)});case d.TypeQuery:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(c.exprName),typeParameters:c.typeArguments&&this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)});case d.MappedType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(c.typeParameter),nameType:(he=this.convertType(c.nameType))!==null&&he!==void 0?he:null});return c.readonlyToken&&(c.readonlyToken.kind===d.ReadonlyKeyword?R.readonly=!0:R.readonly=(0,y.getTextForTokenKind)(c.readonlyToken.kind)),c.questionToken&&(c.questionToken.kind===d.QuestionToken?R.optional=!0:R.optional=(0,y.getTextForTokenKind)(c.questionToken.kind)),c.type&&(R.typeAnnotation=this.convertType(c.type)),R}case d.ParenthesizedExpression:return this.convertChild(c.expression,M);case d.TypeAliasDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(c.name),typeAnnotation:this.convertType(c.type)});return(0,y.hasModifier)(d.DeclareKeyword,c)&&(R.declare=!0),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),this.fixExports(c,R)}case d.MethodSignature:return this.convertMethodSignature(c);case d.PropertySignature:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSPropertySignature,optional:(0,y.isOptional)(c)||void 0,computed:(0,y.isComputedProperty)(c.name),key:this.convertChild(c.name),typeAnnotation:c.type?this.convertTypeAnnotation(c.type,c):void 0,initializer:this.convertChild(c.initializer)||void 0,readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,static:(0,y.hasModifier)(d.StaticKeyword,c)||void 0,export:(0,y.hasModifier)(d.ExportKeyword,c)||void 0}),pe=(0,y.getTSNodeAccessibility)(c);return pe&&(R.accessibility=pe),R}case d.IndexSignature:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSIndexSignature,parameters:c.parameters.map(ke=>this.convertChild(ke))});c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c)),(0,y.hasModifier)(d.ReadonlyKeyword,c)&&(R.readonly=!0);let pe=(0,y.getTSNodeAccessibility)(c);return pe&&(R.accessibility=pe),(0,y.hasModifier)(d.ExportKeyword,c)&&(R.export=!0),(0,y.hasModifier)(d.StaticKeyword,c)&&(R.static=!0),R}case d.ConstructorType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(c.parameters),abstract:(0,y.hasModifier)(d.AbstractKeyword,c)});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.FunctionType:case d.ConstructSignature:case d.CallSignature:{let R=c.kind===d.ConstructSignature?m.AST_NODE_TYPES.TSConstructSignatureDeclaration:c.kind===d.CallSignature?m.AST_NODE_TYPES.TSCallSignatureDeclaration:m.AST_NODE_TYPES.TSFunctionType,pe=this.createNode(c,{type:R,params:this.convertParameters(c.parameters)});return c.type&&(pe.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),pe}case d.ExpressionWithTypeArguments:{let R=M.kind,pe=R===d.InterfaceDeclaration?m.AST_NODE_TYPES.TSInterfaceHeritage:R===d.HeritageClause?m.AST_NODE_TYPES.TSClassImplements:m.AST_NODE_TYPES.TSInstantiationExpression,ke=this.createNode(c,{type:pe,expression:this.convertChild(c.expression)});return c.typeArguments&&(ke.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),ke}case d.InterfaceDeclaration:{let R=(Pe=c.heritageClauses)!==null&&Pe!==void 0?Pe:[],pe=this.createNode(c,{type:m.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(c,{type:m.AST_NODE_TYPES.TSInterfaceBody,body:c.members.map(ke=>this.convertChild(ke)),range:[c.members.pos-1,c.end]}),id:this.convertChild(c.name)});if(c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R.length>0){let ke=[],Je=[];for(let Xe of R)if(Xe.token===d.ExtendsKeyword)for(let ee of Xe.types)ke.push(this.convertChild(ee,c));else for(let ee of Xe.types)Je.push(this.convertChild(ee,c));ke.length&&(pe.extends=ke),Je.length&&(pe.implements=Je)}return(0,y.hasModifier)(d.AbstractKeyword,c)&&(pe.abstract=!0),(0,y.hasModifier)(d.DeclareKeyword,c)&&(pe.declare=!0),this.fixExports(c,pe)}case d.TypePredicate:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTypePredicate,asserts:c.assertsModifier!==void 0,parameterName:this.convertChild(c.parameterName),typeAnnotation:null});return c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c),R.typeAnnotation.loc=R.typeAnnotation.typeAnnotation.loc,R.typeAnnotation.range=R.typeAnnotation.typeAnnotation.range),R}case d.ImportType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSImportType,isTypeOf:!!c.isTypeOf,parameter:this.convertChild(c.argument),qualifier:this.convertChild(c.qualifier),typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):null});case d.EnumDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(c.name),members:c.members.map(pe=>this.convertChild(pe))});return this.applyModifiersToResult(R,(0,P.getModifiers)(c)),this.fixExports(c,R)}case d.EnumMember:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(c.name)});return c.initializer&&(R.initializer=this.convertChild(c.initializer)),c.name.kind===D.SyntaxKind.ComputedPropertyName&&(R.computed=!0),R}case d.ModuleDeclaration:{let R=this.createNode(c,Object.assign({type:m.AST_NODE_TYPES.TSModuleDeclaration},(()=>{let pe=this.convertChild(c.name),ke=this.convertChild(c.body);if(c.flags&D.NodeFlags.GlobalAugmentation){if(ke==null||ke.type===m.AST_NODE_TYPES.TSModuleDeclaration)throw new Error("Expected a valid module body");if(pe.type!==m.AST_NODE_TYPES.Identifier)throw new Error("global module augmentation must have an Identifier id");return{kind:"global",id:pe,body:ke,global:!0}}else if(c.flags&D.NodeFlags.Namespace){if(ke==null)throw new Error("Expected a module body");if(pe.type!==m.AST_NODE_TYPES.Identifier)throw new Error("`namespace`s must have an Identifier id");return{kind:"namespace",id:pe,body:ke}}else return Object.assign({kind:"module",id:pe},ke!=null?{body:ke}:{})})()));return this.applyModifiersToResult(R,(0,P.getModifiers)(c)),this.fixExports(c,R)}case d.ParenthesizedType:return this.convertType(c.type);case d.UnionType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSUnionType,types:c.types.map(R=>this.convertType(R))});case d.IntersectionType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSIntersectionType,types:c.types.map(R=>this.convertType(R))});case d.AsExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(c.expression),typeAnnotation:this.convertType(c.type)});case d.InferType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(c.typeParameter)});case d.LiteralType:return C.typescriptVersionIsAtLeast["4.0"]&&c.literal.kind===d.NullKeyword?this.createNode(c.literal,{type:m.AST_NODE_TYPES.TSNullKeyword}):this.createNode(c,{type:m.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(c.literal)});case d.TypeAssertionExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(c.type),expression:this.convertChild(c.expression)});case d.ImportEqualsDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(c.name),moduleReference:this.convertChild(c.moduleReference),importKind:c.isTypeOnly?"type":"value",isExport:(0,y.hasModifier)(d.ExportKeyword,c)});case d.ExternalModuleReference:return this.createNode(c,{type:m.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(c.expression)});case d.NamespaceExportDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(c.name)});case d.AbstractKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.TSAbstractKeyword});case d.TupleType:{let R="elementTypes"in c?c.elementTypes.map(pe=>this.convertType(pe)):c.elements.map(pe=>this.convertType(pe));return this.createNode(c,{type:m.AST_NODE_TYPES.TSTupleType,elementTypes:R})}case d.NamedTupleMember:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(c.type,c),label:this.convertChild(c.name,c),optional:c.questionToken!=null});return c.dotDotDotToken?(R.range[0]=R.label.range[0],R.loc.start=R.label.loc.start,this.createNode(c,{type:m.AST_NODE_TYPES.TSRestType,typeAnnotation:R})):R}case d.OptionalType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(c.type)});case d.RestType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(c.type)});case d.TemplateLiteralType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(c.head)],types:[]});return c.templateSpans.forEach(pe=>{R.types.push(this.convertChild(pe.type)),R.quasis.push(this.convertChild(pe.literal))}),R}case d.ClassStaticBlockDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.StaticBlock,body:this.convertBodyExpressions(c.body.statements,c)});case d.AssertEntry:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportAttribute,key:this.convertChild(c.name),value:this.convertChild(c.value)});case d.SatisfiesExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSSatisfiesExpression,expression:this.convertChild(c.expression),typeAnnotation:this.convertChild(c.type)});default:return this.deeplyCopy(c)}}};a.Converter=I}}),$a={};m1($a,{__assign:()=>f1,__asyncDelegator:()=>TV,__asyncGenerator:()=>bV,__asyncValues:()=>SV,__await:()=>gp,__awaiter:()=>dV,__classPrivateFieldGet:()=>CV,__classPrivateFieldSet:()=>AV,__createBinding:()=>hV,__decorate:()=>uV,__exportStar:()=>gV,__extends:()=>cV,__generator:()=>mV,__importDefault:()=>wV,__importStar:()=>EV,__makeTemplateObject:()=>xV,__metadata:()=>fV,__param:()=>pV,__read:()=>$9,__rest:()=>lV,__spread:()=>yV,__spreadArrays:()=>vV,__values:()=>tT});function cV(a,_){p1(a,_);function v(){this.constructor=a}a.prototype=_===null?Object.create(_):(v.prototype=_.prototype,new v)}function lV(a,_){var v={};for(var h in a)Object.prototype.hasOwnProperty.call(a,h)&&_.indexOf(h)<0&&(v[h]=a[h]);if(a!=null&&typeof Object.getOwnPropertySymbols=="function")for(var D=0,h=Object.getOwnPropertySymbols(a);D=0;m--)(y=a[m])&&(P=(D<3?y(P):D>3?y(_,v,P):y(_,v))||P);return D>3&&P&&Object.defineProperty(_,v,P),P}function pV(a,_){return function(v,h){_(v,h,a)}}function fV(a,_){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(a,_)}function dV(a,_,v,h){function D(P){return P instanceof v?P:new v(function(y){y(P)})}return new(v||(v=Promise))(function(P,y){function m(E){try{d(h.next(E))}catch(I){y(I)}}function C(E){try{d(h.throw(E))}catch(I){y(I)}}function d(E){E.done?P(E.value):D(E.value).then(m,C)}d((h=h.apply(a,_||[])).next())})}function mV(a,_){var v={label:0,sent:function(){if(P[0]&1)throw P[1];return P[1]},trys:[],ops:[]},h,D,P,y;return y={next:m(0),throw:m(1),return:m(2)},typeof Symbol=="function"&&(y[Symbol.iterator]=function(){return this}),y;function m(d){return function(E){return C([d,E])}}function C(d){if(h)throw new TypeError("Generator is already executing.");for(;v;)try{if(h=1,D&&(P=d[0]&2?D.return:d[0]?D.throw||((P=D.return)&&P.call(D),0):D.next)&&!(P=P.call(D,d[1])).done)return P;switch(D=0,P&&(d=[d[0]&2,P.value]),d[0]){case 0:case 1:P=d;break;case 4:return v.label++,{value:d[1],done:!1};case 5:v.label++,D=d[1],d=[0];continue;case 7:d=v.ops.pop(),v.trys.pop();continue;default:if(P=v.trys,!(P=P.length>0&&P[P.length-1])&&(d[0]===6||d[0]===2)){v=0;continue}if(d[0]===3&&(!P||d[1]>P[0]&&d[1]=a.length&&(a=void 0),{value:a&&a[h++],done:!a}}};throw new TypeError(_?"Object is not iterable.":"Symbol.iterator is not defined.")}function $9(a,_){var v=typeof Symbol=="function"&&a[Symbol.iterator];if(!v)return a;var h=v.call(a),D,P=[],y;try{for(;(_===void 0||_-- >0)&&!(D=h.next()).done;)P.push(D.value)}catch(m){y={error:m}}finally{try{D&&!D.done&&(v=h.return)&&v.call(h)}finally{if(y)throw y.error}}return P}function yV(){for(var a=[],_=0;_1||m(c,M)})})}function m(c,M){try{C(h[c](M))}catch(q){I(P[0][3],q)}}function C(c){c.value instanceof gp?Promise.resolve(c.value.v).then(d,E):I(P[0][2],c)}function d(c){m("next",c)}function E(c){m("throw",c)}function I(c,M){c(M),P.shift(),P.length&&m(P[0][0],P[0][1])}}function TV(a){var _,v;return _={},h("next"),h("throw",function(D){throw D}),h("return"),_[Symbol.iterator]=function(){return this},_;function h(D,P){_[D]=a[D]?function(y){return(v=!v)?{value:gp(a[D](y)),done:D==="return"}:P?P(y):y}:P}}function SV(a){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var _=a[Symbol.asyncIterator],v;return _?_.call(a):(a=typeof tT=="function"?tT(a):a[Symbol.iterator](),v={},h("next"),h("throw"),h("return"),v[Symbol.asyncIterator]=function(){return this},v);function h(P){v[P]=a[P]&&function(y){return new Promise(function(m,C){y=a[P](y),D(m,C,y.done,y.value)})}}function D(P,y,m,C){Promise.resolve(C).then(function(d){P({value:d,done:m})},y)}}function xV(a,_){return Object.defineProperty?Object.defineProperty(a,"raw",{value:_}):a.raw=_,a}function EV(a){if(a&&a.__esModule)return a;var _={};if(a!=null)for(var v in a)Object.hasOwnProperty.call(a,v)&&(_[v]=a[v]);return _.default=a,_}function wV(a){return a&&a.__esModule?a:{default:a}}function CV(a,_){if(!_.has(a))throw new TypeError("attempted to get private field on non-instance");return _.get(a)}function AV(a,_,v){if(!_.has(a))throw new TypeError("attempted to set private field on non-instance");return _.set(a,v),v}var p1,f1,Ds=yp({"node_modules/tslib/tslib.es6.js"(){De(),p1=function(a,_){return p1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,h){v.__proto__=h}||function(v,h){for(var D in h)h.hasOwnProperty(D)&&(v[D]=h[D])},p1(a,_)},f1=function(){return f1=Object.assign||function(_){for(var v,h=1,D=arguments.length;h=_.SyntaxKind.FirstLiteralToken&&J.kind<=_.SyntaxKind.LastLiteralToken}a.isLiteralExpression=Jr;function Qc(J){return J.kind===_.SyntaxKind.LiteralType}a.isLiteralTypeNode=Qc;function ho(J){return J.kind===_.SyntaxKind.MappedType}a.isMappedTypeNode=ho;function T_(J){return J.kind===_.SyntaxKind.MetaProperty}a.isMetaProperty=T_;function go(J){return J.kind===_.SyntaxKind.MethodDeclaration}a.isMethodDeclaration=go;function yo(J){return J.kind===_.SyntaxKind.MethodSignature}a.isMethodSignature=yo;function Za(J){return J.kind===_.SyntaxKind.ModuleBlock}a.isModuleBlock=Za;function vo(J){return J.kind===_.SyntaxKind.ModuleDeclaration}a.isModuleDeclaration=vo;function S_(J){return J.kind===_.SyntaxKind.NamedExports}a.isNamedExports=S_;function Zc(J){return J.kind===_.SyntaxKind.NamedImports}a.isNamedImports=Zc;function Os(J){return vo(J)&&J.name.kind===_.SyntaxKind.Identifier&&J.body!==void 0&&(J.body.kind===_.SyntaxKind.ModuleBlock||Os(J.body))}a.isNamespaceDeclaration=Os;function bo(J){return J.kind===_.SyntaxKind.NamespaceImport}a.isNamespaceImport=bo;function el(J){return J.kind===_.SyntaxKind.NamespaceExportDeclaration}a.isNamespaceExportDeclaration=el;function x_(J){return J.kind===_.SyntaxKind.NewExpression}a.isNewExpression=x_;function E_(J){return J.kind===_.SyntaxKind.NonNullExpression}a.isNonNullExpression=E_;function S(J){return J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isNoSubstitutionTemplateLiteral=S;function H(J){return J.kind===_.SyntaxKind.NullKeyword}a.isNullLiteral=H;function le(J){return J.kind===_.SyntaxKind.NumericLiteral}a.isNumericLiteral=le;function Be(J){switch(J.kind){case _.SyntaxKind.StringLiteral:case _.SyntaxKind.NumericLiteral:case _.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}}a.isNumericOrStringLikeLiteral=Be;function rt(J){return J.kind===_.SyntaxKind.ObjectBindingPattern}a.isObjectBindingPattern=rt;function ut(J){return J.kind===_.SyntaxKind.ObjectLiteralExpression}a.isObjectLiteralExpression=ut;function Ht(J){return J.kind===_.SyntaxKind.OmittedExpression}a.isOmittedExpression=Ht;function Fr(J){return J.kind===_.SyntaxKind.Parameter}a.isParameterDeclaration=Fr;function Cr(J){return J.kind===_.SyntaxKind.ParenthesizedExpression}a.isParenthesizedExpression=Cr;function ir(J){return J.kind===_.SyntaxKind.ParenthesizedType}a.isParenthesizedTypeNode=ir;function en(J){return J.kind===_.SyntaxKind.PostfixUnaryExpression}a.isPostfixUnaryExpression=en;function Ji(J){return J.kind===_.SyntaxKind.PrefixUnaryExpression}a.isPrefixUnaryExpression=Ji;function gi(J){return J.kind===_.SyntaxKind.PropertyAccessExpression}a.isPropertyAccessExpression=gi;function ln(J){return J.kind===_.SyntaxKind.PropertyAssignment}a.isPropertyAssignment=ln;function ti(J){return J.kind===_.SyntaxKind.PropertyDeclaration}a.isPropertyDeclaration=ti;function yn(J){return J.kind===_.SyntaxKind.PropertySignature}a.isPropertySignature=yn;function w_(J){return J.kind===_.SyntaxKind.QualifiedName}a.isQualifiedName=w_;function vp(J){return J.kind===_.SyntaxKind.RegularExpressionLiteral}a.isRegularExpressionLiteral=vp;function C1(J){return J.kind===_.SyntaxKind.ReturnStatement}a.isReturnStatement=C1;function rr(J){return J.kind===_.SyntaxKind.SetAccessor}a.isSetAccessorDeclaration=rr;function bp(J){return J.kind===_.SyntaxKind.ShorthandPropertyAssignment}a.isShorthandPropertyAssignment=bp;function Tp(J){return J.parameters!==void 0}a.isSignatureDeclaration=Tp;function A1(J){return J.kind===_.SyntaxKind.SourceFile}a.isSourceFile=A1;function tl(J){return J.kind===_.SyntaxKind.SpreadAssignment}a.isSpreadAssignment=tl;function An(J){return J.kind===_.SyntaxKind.SpreadElement}a.isSpreadElement=An;function P1(J){return J.kind===_.SyntaxKind.StringLiteral}a.isStringLiteral=P1;function D1(J){return J.kind===_.SyntaxKind.SwitchStatement}a.isSwitchStatement=D1;function k1(J){return J.kind===_.SyntaxKind.SyntaxList}a.isSyntaxList=k1;function fa(J){return J.kind===_.SyntaxKind.TaggedTemplateExpression}a.isTaggedTemplateExpression=fa;function Ms(J){return J.kind===_.SyntaxKind.TemplateExpression}a.isTemplateExpression=Ms;function To(J){return J.kind===_.SyntaxKind.TemplateExpression||J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isTemplateLiteral=To;function Sp(J){return J.kind===_.SyntaxKind.StringLiteral||J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isTextualLiteral=Sp;function Vr(J){return J.kind===_.SyntaxKind.ThrowStatement}a.isThrowStatement=Vr;function I1(J){return J.kind===_.SyntaxKind.TryStatement}a.isTryStatement=I1;function N1(J){return J.kind===_.SyntaxKind.TupleType}a.isTupleTypeNode=N1;function C_(J){return J.kind===_.SyntaxKind.TypeAliasDeclaration}a.isTypeAliasDeclaration=C_;function O1(J){return J.kind===_.SyntaxKind.TypeAssertionExpression}a.isTypeAssertion=O1;function ri(J){return J.kind===_.SyntaxKind.TypeLiteral}a.isTypeLiteralNode=ri;function rl(J){return J.kind===_.SyntaxKind.TypeOfExpression}a.isTypeOfExpression=rl;function M1(J){return J.kind===_.SyntaxKind.TypeOperator}a.isTypeOperatorNode=M1;function xp(J){return J.kind===_.SyntaxKind.TypeParameter}a.isTypeParameterDeclaration=xp;function L1(J){return J.kind===_.SyntaxKind.TypePredicate}a.isTypePredicateNode=L1;function R1(J){return J.kind===_.SyntaxKind.TypeReference}a.isTypeReferenceNode=R1;function j1(J){return J.kind===_.SyntaxKind.TypeQuery}a.isTypeQueryNode=j1;function Ep(J){return J.kind===_.SyntaxKind.UnionType}a.isUnionTypeNode=Ep;function J1(J){return J.kind===_.SyntaxKind.VariableDeclaration}a.isVariableDeclaration=J1;function es(J){return J.kind===_.SyntaxKind.VariableStatement}a.isVariableStatement=es;function F1(J){return J.kind===_.SyntaxKind.VariableDeclarationList}a.isVariableDeclarationList=F1;function B1(J){return J.kind===_.SyntaxKind.VoidExpression}a.isVoidExpression=B1;function Fi(J){return J.kind===_.SyntaxKind.WhileStatement}a.isWhileStatement=Fi;function q1(J){return J.kind===_.SyntaxKind.WithStatement}a.isWithStatement=q1}}),DV=Oe({"node_modules/tsutils/typeguard/2.9/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isImportTypeNode=void 0;var _=(Ds(),Li($a));_.__exportStar(PV(),a);var v=vr();function h(D){return D.kind===v.SyntaxKind.ImportType}a.isImportTypeNode=h}}),kV=Oe({"node_modules/tsutils/typeguard/3.0/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isSyntheticExpression=a.isRestTypeNode=a.isOptionalTypeNode=void 0;var _=(Ds(),Li($a));_.__exportStar(DV(),a);var v=vr();function h(y){return y.kind===v.SyntaxKind.OptionalType}a.isOptionalTypeNode=h;function D(y){return y.kind===v.SyntaxKind.RestType}a.isRestTypeNode=D;function P(y){return y.kind===v.SyntaxKind.SyntheticExpression}a.isSyntheticExpression=P}}),K9=Oe({"node_modules/tsutils/typeguard/3.2/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isBigIntLiteral=void 0;var _=(Ds(),Li($a));_.__exportStar(kV(),a);var v=vr();function h(D){return D.kind===v.SyntaxKind.BigIntLiteral}a.isBigIntLiteral=h}}),X9=Oe({"node_modules/tsutils/typeguard/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(K9(),a)}}),IV=Oe({"node_modules/tsutils/typeguard/2.8/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isUniqueESSymbolType=a.isUnionType=a.isUnionOrIntersectionType=a.isTypeVariable=a.isTypeReference=a.isTypeParameter=a.isSubstitutionType=a.isObjectType=a.isLiteralType=a.isIntersectionType=a.isInterfaceType=a.isInstantiableType=a.isIndexedAccessype=a.isIndexedAccessType=a.isGenericType=a.isEnumType=a.isConditionalType=void 0;var _=vr();function v(me){return(me.flags&_.TypeFlags.Conditional)!==0}a.isConditionalType=v;function h(me){return(me.flags&_.TypeFlags.Enum)!==0}a.isEnumType=h;function D(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.ClassOrInterface)!==0&&(me.objectFlags&_.ObjectFlags.Reference)!==0}a.isGenericType=D;function P(me){return(me.flags&_.TypeFlags.IndexedAccess)!==0}a.isIndexedAccessType=P;function y(me){return(me.flags&_.TypeFlags.Index)!==0}a.isIndexedAccessype=y;function m(me){return(me.flags&_.TypeFlags.Instantiable)!==0}a.isInstantiableType=m;function C(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.ClassOrInterface)!==0}a.isInterfaceType=C;function d(me){return(me.flags&_.TypeFlags.Intersection)!==0}a.isIntersectionType=d;function E(me){return(me.flags&(_.TypeFlags.StringOrNumberLiteral|_.TypeFlags.BigIntLiteral))!==0}a.isLiteralType=E;function I(me){return(me.flags&_.TypeFlags.Object)!==0}a.isObjectType=I;function c(me){return(me.flags&_.TypeFlags.Substitution)!==0}a.isSubstitutionType=c;function M(me){return(me.flags&_.TypeFlags.TypeParameter)!==0}a.isTypeParameter=M;function q(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.Reference)!==0}a.isTypeReference=q;function W(me){return(me.flags&_.TypeFlags.TypeVariable)!==0}a.isTypeVariable=W;function K(me){return(me.flags&_.TypeFlags.UnionOrIntersection)!==0}a.isUnionOrIntersectionType=K;function ce(me){return(me.flags&_.TypeFlags.Union)!==0}a.isUnionType=ce;function Ie(me){return(me.flags&_.TypeFlags.UniqueESSymbol)!==0}a.isUniqueESSymbolType=Ie}}),S9=Oe({"node_modules/tsutils/typeguard/2.9/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(IV(),a)}}),NV=Oe({"node_modules/tsutils/typeguard/3.0/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isTupleTypeReference=a.isTupleType=void 0;var _=(Ds(),Li($a));_.__exportStar(S9(),a);var v=vr(),h=S9();function D(y){return(y.flags&v.TypeFlags.Object&&y.objectFlags&v.ObjectFlags.Tuple)!==0}a.isTupleType=D;function P(y){return h.isTypeReference(y)&&D(y.target)}a.isTupleTypeReference=P}}),Y9=Oe({"node_modules/tsutils/typeguard/3.2/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(NV(),a)}}),OV=Oe({"node_modules/tsutils/typeguard/3.2/index.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(K9(),a),_.__exportStar(Y9(),a)}}),MV=Oe({"node_modules/tsutils/typeguard/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(Y9(),a)}}),LV=Oe({"node_modules/tsutils/util/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.getBaseClassMemberOfClassElement=a.getIteratorYieldResultFromIteratorResult=a.getInstanceTypeOfClassLikeDeclaration=a.getConstructorTypeOfClassLikeDeclaration=a.getSymbolOfClassLikeDeclaration=a.getPropertyNameFromType=a.symbolHasReadonlyDeclaration=a.isPropertyReadonlyInType=a.getWellKnownSymbolPropertyOfType=a.getPropertyOfType=a.isBooleanLiteralType=a.isFalsyType=a.isThenableType=a.someTypePart=a.intersectionTypeParts=a.unionTypeParts=a.getCallSignaturesOfType=a.isTypeAssignableToString=a.isTypeAssignableToNumber=a.isOptionalChainingUndefinedMarkerType=a.removeOptionalChainingUndefinedMarkerType=a.removeOptionalityFromType=a.isEmptyObjectType=void 0;var _=vr(),v=MV(),h=Q9(),D=X9();function P(ne){if(v.isObjectType(ne)&&ne.objectFlags&_.ObjectFlags.Anonymous&&ne.getProperties().length===0&&ne.getCallSignatures().length===0&&ne.getConstructSignatures().length===0&&ne.getStringIndexType()===void 0&&ne.getNumberIndexType()===void 0){let ge=ne.getBaseTypes();return ge===void 0||ge.every(P)}return!1}a.isEmptyObjectType=P;function y(ne,ge){if(!m(ge,_.TypeFlags.Undefined))return ge;let Fe=m(ge,_.TypeFlags.Null);return ge=ne.getNonNullableType(ge),Fe?ne.getNullableType(ge,_.TypeFlags.Null):ge}a.removeOptionalityFromType=y;function m(ne,ge){for(let Fe of q(ne))if(h.isTypeFlagSet(Fe,ge))return!0;return!1}function C(ne,ge){if(!v.isUnionType(ge))return d(ne,ge)?ge.getNonNullableType():ge;let Fe=0,at=!1;for(let Pt of ge.types)d(ne,Pt)?at=!0:Fe|=Pt.flags;return at?ne.getNullableType(ge.getNonNullableType(),Fe):ge}a.removeOptionalChainingUndefinedMarkerType=C;function d(ne,ge){return h.isTypeFlagSet(ge,_.TypeFlags.Undefined)&&ne.getNullableType(ge.getNonNullableType(),_.TypeFlags.Undefined)!==ge}a.isOptionalChainingUndefinedMarkerType=d;function E(ne,ge){return c(ne,ge,_.TypeFlags.NumberLike)}a.isTypeAssignableToNumber=E;function I(ne,ge){return c(ne,ge,_.TypeFlags.StringLike)}a.isTypeAssignableToString=I;function c(ne,ge,Fe){Fe|=_.TypeFlags.Any;let at;return function Pt(qt){if(v.isTypeParameter(qt)&&qt.symbol!==void 0&&qt.symbol.declarations!==void 0){if(at===void 0)at=new Set([qt]);else if(!at.has(qt))at.add(qt);else return!1;let Zr=qt.symbol.declarations[0];return Zr.constraint===void 0?!0:Pt(ne.getTypeFromTypeNode(Zr.constraint))}return v.isUnionType(qt)?qt.types.every(Pt):v.isIntersectionType(qt)?qt.types.some(Pt):h.isTypeFlagSet(qt,Fe)}(ge)}function M(ne){if(v.isUnionType(ne)){let ge=[];for(let Fe of ne.types)ge.push(...M(Fe));return ge}if(v.isIntersectionType(ne)){let ge;for(let Fe of ne.types){let at=M(Fe);if(at.length!==0){if(ge!==void 0)return[];ge=at}}return ge===void 0?[]:ge}return ne.getCallSignatures()}a.getCallSignaturesOfType=M;function q(ne){return v.isUnionType(ne)?ne.types:[ne]}a.unionTypeParts=q;function W(ne){return v.isIntersectionType(ne)?ne.types:[ne]}a.intersectionTypeParts=W;function K(ne,ge,Fe){return ge(ne)?ne.types.some(Fe):Fe(ne)}a.someTypePart=K;function ce(ne,ge){let Fe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ne.getTypeAtLocation(ge);for(let at of q(ne.getApparentType(Fe))){let Pt=at.getProperty("then");if(Pt===void 0)continue;let qt=ne.getTypeOfSymbolAtLocation(Pt,ge);for(let Zr of q(qt))for(let Ri of Zr.getCallSignatures())if(Ri.parameters.length!==0&&Ie(ne,Ri.parameters[0],ge))return!0}return!1}a.isThenableType=ce;function Ie(ne,ge,Fe){let at=ne.getApparentType(ne.getTypeOfSymbolAtLocation(ge,Fe));if(ge.valueDeclaration.dotDotDotToken&&(at=at.getNumberIndexType(),at===void 0))return!1;for(let Pt of q(at))if(Pt.getCallSignatures().length!==0)return!0;return!1}function me(ne){return ne.flags&(_.TypeFlags.Undefined|_.TypeFlags.Null|_.TypeFlags.Void)?!0:v.isLiteralType(ne)?!ne.value:Ae(ne,!1)}a.isFalsyType=me;function Ae(ne,ge){return h.isTypeFlagSet(ne,_.TypeFlags.BooleanLiteral)&&ne.intrinsicName===(ge?"true":"false")}a.isBooleanLiteralType=Ae;function te(ne,ge){return ge.startsWith("__")?ne.getProperties().find(Fe=>Fe.escapedName===ge):ne.getProperty(ge)}a.getPropertyOfType=te;function he(ne,ge,Fe){let at="__@"+ge;for(let Pt of ne.getProperties()){if(!Pt.name.startsWith(at))continue;let qt=Fe.getApparentType(Fe.getTypeAtLocation(Pt.valueDeclaration.name.expression)).symbol;if(Pt.escapedName===Pe(Fe,qt,ge))return Pt}}a.getWellKnownSymbolPropertyOfType=he;function Pe(ne,ge,Fe){let at=ge&&ne.getTypeOfSymbolAtLocation(ge,ge.valueDeclaration).getProperty(Fe),Pt=at&&ne.getTypeOfSymbolAtLocation(at,at.valueDeclaration);return Pt&&v.isUniqueESSymbolType(Pt)?Pt.escapedName:"__@"+Fe}function R(ne,ge,Fe){let at=!1,Pt=!1;for(let qt of q(ne))if(te(qt,ge)===void 0){let Zr=(h.isNumericPropertyName(ge)?Fe.getIndexInfoOfType(qt,_.IndexKind.Number):void 0)||Fe.getIndexInfoOfType(qt,_.IndexKind.String);if(Zr!==void 0&&Zr.isReadonly){if(at)return!0;Pt=!0}}else{if(Pt||pe(qt,ge,Fe))return!0;at=!0}return!1}a.isPropertyReadonlyInType=R;function pe(ne,ge,Fe){return K(ne,v.isIntersectionType,at=>{let Pt=te(at,ge);if(Pt===void 0)return!1;if(Pt.flags&_.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(ge)&&v.isTupleTypeReference(at))return at.target.readonly;switch(ke(at,ge,Fe)){case!0:return!0;case!1:return!1;default:}}return h.isSymbolFlagSet(Pt,_.SymbolFlags.ValueModule)||Je(Pt,Fe)})}function ke(ne,ge,Fe){if(!v.isObjectType(ne)||!h.isObjectFlagSet(ne,_.ObjectFlags.Mapped))return;let at=ne.symbol.declarations[0];return at.readonlyToken!==void 0&&!/^__@[^@]+$/.test(ge)?at.readonlyToken.kind!==_.SyntaxKind.MinusToken:R(ne.modifiersType,ge,Fe)}function Je(ne,ge){return(ne.flags&_.SymbolFlags.Accessor)===_.SymbolFlags.GetAccessor||ne.declarations!==void 0&&ne.declarations.some(Fe=>h.isModifierFlagSet(Fe,_.ModifierFlags.Readonly)||D.isVariableDeclaration(Fe)&&h.isNodeFlagSet(Fe.parent,_.NodeFlags.Const)||D.isCallExpression(Fe)&&h.isReadonlyAssignmentDeclaration(Fe,ge)||D.isEnumMember(Fe)||(D.isPropertyAssignment(Fe)||D.isShorthandPropertyAssignment(Fe))&&h.isInConstContext(Fe.parent))}a.symbolHasReadonlyDeclaration=Je;function Xe(ne){if(ne.flags&(_.TypeFlags.StringLiteral|_.TypeFlags.NumberLiteral)){let ge=String(ne.value);return{displayName:ge,symbolName:_.escapeLeadingUnderscores(ge)}}if(v.isUniqueESSymbolType(ne))return{displayName:`[${ne.symbol?`${ee(ne.symbol)?"Symbol.":""}${ne.symbol.name}`:ne.escapedName.replace(/^__@|@\d+$/g,"")}]`,symbolName:ne.escapedName}}a.getPropertyNameFromType=Xe;function ee(ne){return h.isSymbolFlagSet(ne,_.SymbolFlags.Property)&&ne.valueDeclaration!==void 0&&D.isInterfaceDeclaration(ne.valueDeclaration.parent)&&ne.valueDeclaration.parent.name.text==="SymbolConstructor"&&je(ne.valueDeclaration.parent)}function je(ne){return h.isNodeFlagSet(ne.parent,_.NodeFlags.GlobalAugmentation)||D.isSourceFile(ne.parent)&&!_.isExternalModule(ne.parent)}function nt(ne,ge){var Fe;return ge.getSymbolAtLocation((Fe=ne.name)!==null&&Fe!==void 0?Fe:h.getChildOfKind(ne,_.SyntaxKind.ClassKeyword))}a.getSymbolOfClassLikeDeclaration=nt;function Ze(ne,ge){return ne.kind===_.SyntaxKind.ClassExpression?ge.getTypeAtLocation(ne):ge.getTypeOfSymbolAtLocation(nt(ne,ge),ne)}a.getConstructorTypeOfClassLikeDeclaration=Ze;function st(ne,ge){return ne.kind===_.SyntaxKind.ClassDeclaration?ge.getTypeAtLocation(ne):ge.getDeclaredTypeOfSymbol(nt(ne,ge))}a.getInstanceTypeOfClassLikeDeclaration=st;function tt(ne,ge,Fe){return v.isUnionType(ne)&&ne.types.find(at=>{let Pt=at.getProperty("done");return Pt!==void 0&&Ae(y(Fe,Fe.getTypeOfSymbolAtLocation(Pt,ge)),!1)})||ne}a.getIteratorYieldResultFromIteratorResult=tt;function ct(ne,ge){if(!D.isClassLikeDeclaration(ne.parent))return;let Fe=h.getBaseOfClassLikeExpression(ne.parent);if(Fe===void 0)return;let at=h.getSingleLateBoundPropertyNameOfPropertyName(ne.name,ge);if(at===void 0)return;let Pt=ge.getTypeAtLocation(h.hasModifier(ne.modifiers,_.SyntaxKind.StaticKeyword)?Fe.expression:Fe);return te(Pt,at.symbolName)}a.getBaseClassMemberOfClassElement=ct}}),Q9=Oe({"node_modules/tsutils/util/util.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isValidIdentifier=a.getLineBreakStyle=a.getLineRanges=a.forEachComment=a.forEachTokenWithTrivia=a.forEachToken=a.isFunctionWithBody=a.hasOwnThisReference=a.isBlockScopeBoundary=a.isFunctionScopeBoundary=a.isTypeScopeBoundary=a.isScopeBoundary=a.ScopeBoundarySelector=a.ScopeBoundary=a.isInSingleStatementContext=a.isBlockScopedDeclarationStatement=a.isBlockScopedVariableDeclaration=a.isBlockScopedVariableDeclarationList=a.getVariableDeclarationKind=a.VariableDeclarationKind=a.forEachDeclaredVariable=a.forEachDestructuringIdentifier=a.getPropertyName=a.getWrappedNodeAtPosition=a.getAstNodeAtPosition=a.commentText=a.isPositionInComment=a.getCommentAtPosition=a.getTokenAtPosition=a.getNextToken=a.getPreviousToken=a.getNextStatement=a.getPreviousStatement=a.isModifierFlagSet=a.isObjectFlagSet=a.isSymbolFlagSet=a.isTypeFlagSet=a.isNodeFlagSet=a.hasAccessModifier=a.isParameterProperty=a.hasModifier=a.getModifier=a.isThisParameter=a.isKeywordKind=a.isJsDocKind=a.isTypeNodeKind=a.isAssignmentKind=a.isNodeKind=a.isTokenKind=a.getChildOfKind=void 0,a.getBaseOfClassLikeExpression=a.hasExhaustiveCaseClauses=a.formatPseudoBigInt=a.unwrapParentheses=a.getSingleLateBoundPropertyNameOfPropertyName=a.getLateBoundPropertyNamesOfPropertyName=a.getLateBoundPropertyNames=a.getPropertyNameOfWellKnownSymbol=a.isWellKnownSymbolLiterally=a.isBindableObjectDefinePropertyCall=a.isReadonlyAssignmentDeclaration=a.isInConstContext=a.isConstAssertion=a.getTsCheckDirective=a.getCheckJsDirective=a.isAmbientModule=a.isCompilerOptionEnabled=a.isStrictCompilerOptionEnabled=a.getIIFE=a.isAmbientModuleBlock=a.isStatementInAmbientContext=a.findImportLikeNodes=a.findImports=a.ImportKind=a.parseJsDocOfNode=a.getJsDoc=a.canHaveJsDoc=a.isReassignmentTarget=a.getAccessKind=a.AccessKind=a.isExpressionValueUsed=a.getDeclarationOfBindingElement=a.hasSideEffects=a.SideEffectOptions=a.isSameLine=a.isNumericPropertyName=a.isValidJsxIdentifier=a.isValidNumericLiteral=a.isValidPropertyName=a.isValidPropertyAccess=void 0;var _=vr(),v=X9(),h=OV(),D=LV();function P(S,H,le){for(let Be of S.getChildren(le))if(Be.kind===H)return Be}a.getChildOfKind=P;function y(S){return S>=_.SyntaxKind.FirstToken&&S<=_.SyntaxKind.LastToken}a.isTokenKind=y;function m(S){return S>=_.SyntaxKind.FirstNode}a.isNodeKind=m;function C(S){return S>=_.SyntaxKind.FirstAssignment&&S<=_.SyntaxKind.LastAssignment}a.isAssignmentKind=C;function d(S){return S>=_.SyntaxKind.FirstTypeNode&&S<=_.SyntaxKind.LastTypeNode}a.isTypeNodeKind=d;function E(S){return S>=_.SyntaxKind.FirstJSDocNode&&S<=_.SyntaxKind.LastJSDocNode}a.isJsDocKind=E;function I(S){return S>=_.SyntaxKind.FirstKeyword&&S<=_.SyntaxKind.LastKeyword}a.isKeywordKind=I;function c(S){return S.name.kind===_.SyntaxKind.Identifier&&S.name.originalKeywordKind===_.SyntaxKind.ThisKeyword}a.isThisParameter=c;function M(S,H){if(S.modifiers!==void 0){for(let le of S.modifiers)if(le.kind===H)return le}}a.getModifier=M;function q(S){if(S===void 0)return!1;for(var H=arguments.length,le=new Array(H>1?H-1:0),Be=1;Be0)return H.statements[le-1]}}a.getPreviousStatement=Ae;function te(S){let H=S.parent;if(v.isBlockLike(H)){let le=H.statements.indexOf(S);if(le=S.end))return y(S.kind)?S:pe(S,H,le!=null?le:S.getSourceFile(),Be===!0)}a.getTokenAtPosition=R;function pe(S,H,le,Be){if(!Be&&(S=je(S,H),y(S.kind)))return S;e:for(;;){for(let rt of S.getChildren(le))if(rt.end>H&&(Be||rt.kind!==_.SyntaxKind.JSDocComment)){if(y(rt.kind))return rt;S=rt;continue e}return}}function ke(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S,Be=R(le,H,S);if(Be===void 0||Be.kind===_.SyntaxKind.JsxText||H>=Be.end-(_.tokenToString(Be.kind)||"").length)return;let rt=Be.pos===0?(_.getShebang(S.text)||"").length:Be.pos;return rt!==0&&_.forEachTrailingCommentRange(S.text,rt,Je,H)||_.forEachLeadingCommentRange(S.text,rt,Je,H)}a.getCommentAtPosition=ke;function Je(S,H,le,Be,rt){return rt>=S&&rtH||S.end<=H)){for(;m(S.kind);){let le=_.forEachChild(S,Be=>Be.pos<=H&&Be.end>H?Be:void 0);if(le===void 0)break;S=le}return S}}a.getAstNodeAtPosition=je;function nt(S,H){if(S.node.pos>H||S.node.end<=H)return;e:for(;;){for(let le of S.children){if(le.node.pos>H)return S;if(le.node.end>H){S=le;continue e}}return S}}a.getWrappedNodeAtPosition=nt;function Ze(S){if(S.kind===_.SyntaxKind.ComputedPropertyName){let H=Os(S.expression);if(v.isPrefixUnaryExpression(H)){let le=!1;switch(H.operator){case _.SyntaxKind.MinusToken:le=!0;case _.SyntaxKind.PlusToken:return v.isNumericLiteral(H.operand)?`${le?"-":""}${H.operand.text}`:h.isBigIntLiteral(H.operand)?`${le?"-":""}${H.operand.text.slice(0,-1)}`:void 0;default:return}}return h.isBigIntLiteral(H)?H.text.slice(0,-1):v.isNumericOrStringLikeLiteral(H)?H.text:void 0}return S.kind===_.SyntaxKind.PrivateIdentifier?void 0:S.text}a.getPropertyName=Ze;function st(S,H){for(let le of S.elements){if(le.kind!==_.SyntaxKind.BindingElement)continue;let Be;if(le.name.kind===_.SyntaxKind.Identifier?Be=H(le):Be=st(le.name,H),Be)return Be}}a.forEachDestructuringIdentifier=st;function tt(S,H){for(let le of S.declarations){let Be;if(le.name.kind===_.SyntaxKind.Identifier?Be=H(le):Be=st(le.name,H),Be)return Be}}a.forEachDeclaredVariable=tt;var ct;(function(S){S[S.Var=0]="Var",S[S.Let=1]="Let",S[S.Const=2]="Const"})(ct=a.VariableDeclarationKind||(a.VariableDeclarationKind={}));function ne(S){return S.flags&_.NodeFlags.Let?1:S.flags&_.NodeFlags.Const?2:0}a.getVariableDeclarationKind=ne;function ge(S){return(S.flags&_.NodeFlags.BlockScoped)!==0}a.isBlockScopedVariableDeclarationList=ge;function Fe(S){let H=S.parent;return H.kind===_.SyntaxKind.CatchClause||ge(H)}a.isBlockScopedVariableDeclaration=Fe;function at(S){switch(S.kind){case _.SyntaxKind.VariableStatement:return ge(S.declarationList);case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.EnumDeclaration:case _.SyntaxKind.InterfaceDeclaration:case _.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}}a.isBlockScopedDeclarationStatement=at;function Pt(S){switch(S.parent.kind){case _.SyntaxKind.ForStatement:case _.SyntaxKind.ForInStatement:case _.SyntaxKind.ForOfStatement:case _.SyntaxKind.WhileStatement:case _.SyntaxKind.DoStatement:case _.SyntaxKind.IfStatement:case _.SyntaxKind.WithStatement:case _.SyntaxKind.LabeledStatement:return!0;default:return!1}}a.isInSingleStatementContext=Pt;var qt;(function(S){S[S.None=0]="None",S[S.Function=1]="Function",S[S.Block=2]="Block",S[S.Type=4]="Type",S[S.ConditionalType=8]="ConditionalType"})(qt=a.ScopeBoundary||(a.ScopeBoundary={}));var Zr;(function(S){S[S.Function=1]="Function",S[S.Block=3]="Block",S[S.Type=7]="Type",S[S.InferType=8]="InferType"})(Zr=a.ScopeBoundarySelector||(a.ScopeBoundarySelector={}));function Ri(S){return ua(S)||Ka(S)||la(S)}a.isScopeBoundary=Ri;function la(S){switch(S.kind){case _.SyntaxKind.InterfaceDeclaration:case _.SyntaxKind.TypeAliasDeclaration:case _.SyntaxKind.MappedType:return 4;case _.SyntaxKind.ConditionalType:return 8;default:return 0}}a.isTypeScopeBoundary=la;function ua(S){switch(S.kind){case _.SyntaxKind.FunctionExpression:case _.SyntaxKind.ArrowFunction:case _.SyntaxKind.Constructor:case _.SyntaxKind.ModuleDeclaration:case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.ClassExpression:case _.SyntaxKind.EnumDeclaration:case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.FunctionDeclaration:case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:case _.SyntaxKind.MethodSignature:case _.SyntaxKind.CallSignature:case _.SyntaxKind.ConstructSignature:case _.SyntaxKind.ConstructorType:case _.SyntaxKind.FunctionType:return 1;case _.SyntaxKind.SourceFile:return _.isExternalModule(S)?1:0;default:return 0}}a.isFunctionScopeBoundary=ua;function Ka(S){switch(S.kind){case _.SyntaxKind.Block:let H=S.parent;return H.kind!==_.SyntaxKind.CatchClause&&(H.kind===_.SyntaxKind.SourceFile||!ua(H))?2:0;case _.SyntaxKind.ForStatement:case _.SyntaxKind.ForInStatement:case _.SyntaxKind.ForOfStatement:case _.SyntaxKind.CaseBlock:case _.SyntaxKind.CatchClause:case _.SyntaxKind.WithStatement:return 2;default:return 0}}a.isBlockScopeBoundary=Ka;function co(S){switch(S.kind){case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.ClassExpression:case _.SyntaxKind.FunctionExpression:return!0;case _.SyntaxKind.FunctionDeclaration:return S.body!==void 0;case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:return S.parent.kind===_.SyntaxKind.ObjectLiteralExpression;default:return!1}}a.hasOwnThisReference=co;function be(S){switch(S.kind){case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:case _.SyntaxKind.FunctionDeclaration:case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.Constructor:return S.body!==void 0;case _.SyntaxKind.FunctionExpression:case _.SyntaxKind.ArrowFunction:return!0;default:return!1}}a.isFunctionWithBody=be;function Ke(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=[];for(;;){if(y(S.kind))H(S);else if(S.kind!==_.SyntaxKind.JSDocComment){let rt=S.getChildren(le);if(rt.length===1){S=rt[0];continue}for(let ut=rt.length-1;ut>=0;--ut)Be.push(rt[ut])}if(Be.length===0)break;S=Be.pop()}}a.forEachToken=Ke;function Et(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=le.text,rt=_.createScanner(le.languageVersion,!1,le.languageVariant,Be);return Ke(S,ut=>{let Ht=ut.kind===_.SyntaxKind.JsxText||ut.pos===ut.end?ut.pos:ut.getStart(le);if(Ht!==ut.pos){rt.setTextPos(ut.pos);let Fr=rt.scan(),Cr=rt.getTokenPos();for(;Cr2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=le.text,rt=le.languageVariant!==_.LanguageVariant.JSX;return Ke(S,Ht=>{if(Ht.pos!==Ht.end&&(Ht.kind!==_.SyntaxKind.JsxText&&_.forEachLeadingCommentRange(Be,Ht.pos===0?(_.getShebang(Be)||"").length:Ht.pos,ut),rt||or(Ht)))return _.forEachTrailingCommentRange(Be,Ht.end,ut)},le);function ut(Ht,Fr,Cr){H(Be,{pos:Ht,end:Fr,kind:Cr})}}a.forEachComment=Ft;function or(S){switch(S.kind){case _.SyntaxKind.CloseBraceToken:return S.parent.kind!==_.SyntaxKind.JsxExpression||!Wr(S.parent.parent);case _.SyntaxKind.GreaterThanToken:switch(S.parent.kind){case _.SyntaxKind.JsxOpeningElement:return S.end!==S.parent.end;case _.SyntaxKind.JsxOpeningFragment:return!1;case _.SyntaxKind.JsxSelfClosingElement:return S.end!==S.parent.end||!Wr(S.parent.parent);case _.SyntaxKind.JsxClosingElement:case _.SyntaxKind.JsxClosingFragment:return!Wr(S.parent.parent.parent)}}return!0}function Wr(S){return S.kind===_.SyntaxKind.JsxElement||S.kind===_.SyntaxKind.JsxFragment}function m_(S){let H=S.getLineStarts(),le=[],Be=H.length,rt=S.text,ut=0;for(let Ht=1;Htut&&_.isLineBreak(rt.charCodeAt(Cr-1));--Cr);le.push({pos:ut,end:Fr,contentLength:Cr-ut}),ut=Fr}return le.push({pos:ut,end:S.end,contentLength:S.end-ut}),le}a.getLineRanges=m_;function Uc(S){let H=S.getLineStarts();return H.length===1||H[1]<2||S.text[H[1]-2]!=="\r"?` -`:`\r -`}a.getLineBreakStyle=Uc;var ji;function lo(S,H){return ji===void 0?ji=_.createScanner(H,!1,void 0,S):(ji.setScriptTarget(H),ji.setText(S)),ji.scan(),ji}function zc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest,le=lo(S,H);return le.isIdentifier()&&le.getTextPos()===S.length&&le.getTokenPos()===0}a.isValidIdentifier=zc;function Qn(S){return S>=65536?2:1}function uo(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(S.length===0)return!1;let le=S.codePointAt(0);if(!_.isIdentifierStart(le,H))return!1;for(let Be=Qn(le);Be1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(uo(S,H))return!0;let le=lo(S,H);return le.getTextPos()===S.length&&le.getToken()===_.SyntaxKind.NumericLiteral&&le.getTokenValue()===S}a.isValidPropertyName=Wc;function Vc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest,le=lo(S,H);return le.getToken()===_.SyntaxKind.NumericLiteral&&le.getTextPos()===S.length&&le.getTokenPos()===0}a.isValidNumericLiteral=Vc;function Hc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(S.length===0)return!1;let le=!1,Be=S.codePointAt(0);if(!_.isIdentifierStart(Be,H))return!1;for(let rt=Qn(Be);rt2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile();if(y_(S)&&S.kind!==_.SyntaxKind.EndOfFileToken){let Be=Ns(S,le);if(Be.length!==0||!H)return Be}return pa(S,S.getStart(le),le,H)}a.parseJsDocOfNode=Kc;function pa(S,H,le,Be){let rt=_[Be&&h_(le,S.pos,H)?"forEachTrailingCommentRange":"forEachLeadingCommentRange"](le.text,S.pos,(en,Ji,gi)=>gi===_.SyntaxKind.MultiLineCommentTrivia&&le.text[en+2]==="*"?{pos:en}:void 0);if(rt===void 0)return[];let ut=rt.pos,Ht=le.text.slice(ut,H),Fr=_.createSourceFile("jsdoc.ts",`${Ht}var a;`,le.languageVersion),Cr=Ns(Fr.statements[0],Fr);for(let en of Cr)ir(en,S);return Cr;function ir(en,Ji){return en.pos+=ut,en.end+=ut,en.parent=Ji,_.forEachChild(en,gi=>ir(gi,en),gi=>{gi.pos+=ut,gi.end+=ut;for(let ln of gi)ir(ln,en)})}}var Xc;(function(S){S[S.ImportDeclaration=1]="ImportDeclaration",S[S.ImportEquals=2]="ImportEquals",S[S.ExportFrom=4]="ExportFrom",S[S.DynamicImport=8]="DynamicImport",S[S.Require=16]="Require",S[S.ImportType=32]="ImportType",S[S.All=63]="All",S[S.AllImports=59]="AllImports",S[S.AllStaticImports=3]="AllStaticImports",S[S.AllImportExpressions=24]="AllImportExpressions",S[S.AllRequireLike=18]="AllRequireLike",S[S.AllNestedImports=56]="AllNestedImports",S[S.AllTopLevelImports=7]="AllTopLevelImports"})(Xc=a.ImportKind||(a.ImportKind={}));function fo(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Be=[];for(let ut of v_(S,H,le))switch(ut.kind){case _.SyntaxKind.ImportDeclaration:rt(ut.moduleSpecifier);break;case _.SyntaxKind.ImportEqualsDeclaration:rt(ut.moduleReference.expression);break;case _.SyntaxKind.ExportDeclaration:rt(ut.moduleSpecifier);break;case _.SyntaxKind.CallExpression:rt(ut.arguments[0]);break;case _.SyntaxKind.ImportType:v.isLiteralTypeNode(ut.argument)&&rt(ut.argument.literal);break;default:throw new Error("unexpected node")}return Be;function rt(ut){v.isTextualLiteral(ut)&&Be.push(ut)}}a.findImports=fo;function v_(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return new Cn(S,H,le).find()}a.findImportLikeNodes=v_;var Cn=class{constructor(S,H,le){this._sourceFile=S,this._options=H,this._ignoreFileName=le,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),this._options&7&&this._findImports(this._sourceFile.statements),this._options&56&&this._findNestedImports(),this._result}_findImports(S){for(let H of S)v.isImportDeclaration(H)?this._options&1&&this._result.push(H):v.isImportEqualsDeclaration(H)?this._options&2&&H.moduleReference.kind===_.SyntaxKind.ExternalModuleReference&&this._result.push(H):v.isExportDeclaration(H)?H.moduleSpecifier!==void 0&&this._options&4&&this._result.push(H):v.isModuleDeclaration(H)&&this._findImportsInModule(H)}_findImportsInModule(S){if(S.body!==void 0){if(S.body.kind===_.SyntaxKind.ModuleDeclaration)return this._findImportsInModule(S.body);this._findImports(S.body.statements)}}_findNestedImports(){let S=this._ignoreFileName||(this._sourceFile.flags&_.NodeFlags.JavaScriptFile)!==0,H,le;if((this._options&56)===16){if(!S)return;H=/\brequire\s*[1&&this._result.push(rt.parent)}}else rt.kind===_.SyntaxKind.Identifier&&rt.end-7===Be.index&&rt.parent.kind===_.SyntaxKind.CallExpression&&rt.parent.expression===rt&&rt.parent.arguments.length===1&&this._result.push(rt.parent)}}};function Zn(S){for(;S.flags&_.NodeFlags.NestedNamespace;)S=S.parent;return q(S.modifiers,_.SyntaxKind.DeclareKeyword)||Xa(S.parent)}a.isStatementInAmbientContext=Zn;function Xa(S){for(;S.kind===_.SyntaxKind.ModuleBlock;){do S=S.parent;while(S.flags&_.NodeFlags.NestedNamespace);if(q(S.modifiers,_.SyntaxKind.DeclareKeyword))return!0;S=S.parent}return!1}a.isAmbientModuleBlock=Xa;function Yc(S){let H=S.parent;for(;H.kind===_.SyntaxKind.ParenthesizedExpression;)H=H.parent;return v.isCallExpression(H)&&S.end<=H.expression.end?H:void 0}a.getIIFE=Yc;function mo(S,H){return(S.strict?S[H]!==!1:S[H]===!0)&&(H!=="strictPropertyInitialization"||mo(S,"strictNullChecks"))}a.isStrictCompilerOptionEnabled=mo;function ei(S,H){switch(H){case"stripInternal":case"declarationMap":case"emitDeclarationOnly":return S[H]===!0&&ei(S,"declaration");case"declaration":return S.declaration||ei(S,"composite");case"incremental":return S.incremental===void 0?ei(S,"composite"):S.incremental;case"skipDefaultLibCheck":return S.skipDefaultLibCheck||ei(S,"skipLibCheck");case"suppressImplicitAnyIndexErrors":return S.suppressImplicitAnyIndexErrors===!0&&ei(S,"noImplicitAny");case"allowSyntheticDefaultImports":return S.allowSyntheticDefaultImports!==void 0?S.allowSyntheticDefaultImports:ei(S,"esModuleInterop")||S.module===_.ModuleKind.System;case"noUncheckedIndexedAccess":return S.noUncheckedIndexedAccess===!0&&ei(S,"strictNullChecks");case"allowJs":return S.allowJs===void 0?ei(S,"checkJs"):S.allowJs;case"noImplicitAny":case"noImplicitThis":case"strictNullChecks":case"strictFunctionTypes":case"strictPropertyInitialization":case"alwaysStrict":case"strictBindCallApply":return mo(S,H)}return S[H]===!0}a.isCompilerOptionEnabled=ei;function Ya(S){return S.name.kind===_.SyntaxKind.StringLiteral||(S.flags&_.NodeFlags.GlobalAugmentation)!==0}a.isAmbientModule=Ya;function b_(S){return Qa(S)}a.getCheckJsDirective=b_;function Qa(S){let H;return _.forEachLeadingCommentRange(S,(_.getShebang(S)||"").length,(le,Be,rt)=>{if(rt===_.SyntaxKind.SingleLineCommentTrivia){let ut=S.slice(le,Be),Ht=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(ut);Ht!==null&&(H={pos:le,end:Be,enabled:Ht[1]===void 0})}}),H}a.getTsCheckDirective=Qa;function Jr(S){return v.isTypeReferenceNode(S.type)&&S.type.typeName.kind===_.SyntaxKind.Identifier&&S.type.typeName.escapedText==="const"}a.isConstAssertion=Jr;function Qc(S){let H=S;for(;;){let le=H.parent;e:switch(le.kind){case _.SyntaxKind.TypeAssertionExpression:case _.SyntaxKind.AsExpression:return Jr(le);case _.SyntaxKind.PrefixUnaryExpression:if(H.kind!==_.SyntaxKind.NumericLiteral)return!1;switch(le.operator){case _.SyntaxKind.PlusToken:case _.SyntaxKind.MinusToken:H=le;break e;default:return!1}case _.SyntaxKind.PropertyAssignment:if(le.initializer!==H)return!1;H=le.parent;break;case _.SyntaxKind.ShorthandPropertyAssignment:H=le.parent;break;case _.SyntaxKind.ParenthesizedExpression:case _.SyntaxKind.ArrayLiteralExpression:case _.SyntaxKind.ObjectLiteralExpression:case _.SyntaxKind.TemplateExpression:H=le;break;default:return!1}}}a.isInConstContext=Qc;function ho(S,H){if(!T_(S))return!1;let le=H.getTypeAtLocation(S.arguments[2]);if(le.getProperty("value")===void 0)return le.getProperty("set")===void 0;let Be=le.getProperty("writable");if(Be===void 0)return!1;let rt=Be.valueDeclaration!==void 0&&v.isPropertyAssignment(Be.valueDeclaration)?H.getTypeAtLocation(Be.valueDeclaration.initializer):H.getTypeOfSymbolAtLocation(Be,S.arguments[2]);return D.isBooleanLiteralType(rt,!1)}a.isReadonlyAssignmentDeclaration=ho;function T_(S){return S.arguments.length===3&&v.isEntityNameExpression(S.arguments[0])&&v.isNumericOrStringLikeLiteral(S.arguments[1])&&v.isPropertyAccessExpression(S.expression)&&S.expression.name.escapedText==="defineProperty"&&v.isIdentifier(S.expression.expression)&&S.expression.expression.escapedText==="Object"}a.isBindableObjectDefinePropertyCall=T_;function go(S){return _.isPropertyAccessExpression(S)&&_.isIdentifier(S.expression)&&S.expression.escapedText==="Symbol"}a.isWellKnownSymbolLiterally=go;function yo(S){return{displayName:`[Symbol.${S.name.text}]`,symbolName:"__@"+S.name.text}}a.getPropertyNameOfWellKnownSymbol=yo;var Za=(S=>{let[H,le]=S;return H<"4"||H==="4"&&le<"3"})(_.versionMajorMinor.split("."));function vo(S,H){let le={known:!0,names:[]};if(S=Os(S),Za&&go(S))le.names.push(yo(S));else{let Be=H.getTypeAtLocation(S);for(let rt of D.unionTypeParts(H.getBaseConstraintOfType(Be)||Be)){let ut=D.getPropertyNameFromType(rt);ut?le.names.push(ut):le.known=!1}}return le}a.getLateBoundPropertyNames=vo;function S_(S,H){let le=Ze(S);return le!==void 0?{known:!0,names:[{displayName:le,symbolName:_.escapeLeadingUnderscores(le)}]}:S.kind===_.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:S.text,symbolName:H.getSymbolAtLocation(S).escapedName}]}:vo(S.expression,H)}a.getLateBoundPropertyNamesOfPropertyName=S_;function Zc(S,H){let le=Ze(S);if(le!==void 0)return{displayName:le,symbolName:_.escapeLeadingUnderscores(le)};if(S.kind===_.SyntaxKind.PrivateIdentifier)return{displayName:S.text,symbolName:H.getSymbolAtLocation(S).escapedName};let{expression:Be}=S;return Za&&go(Be)?yo(Be):D.getPropertyNameFromType(H.getTypeAtLocation(Be))}a.getSingleLateBoundPropertyNameOfPropertyName=Zc;function Os(S){for(;S.kind===_.SyntaxKind.ParenthesizedExpression;)S=S.expression;return S}a.unwrapParentheses=Os;function bo(S){return`${S.negative?"-":""}${S.base10Value}n`}a.formatPseudoBigInt=bo;function el(S,H){let le=S.caseBlock.clauses.filter(v.isCaseClause);if(le.length===0)return!1;let Be=D.unionTypeParts(H.getTypeAtLocation(S.expression));if(Be.length>le.length)return!1;let rt=new Set(Be.map(x_));if(rt.has(void 0))return!1;let ut=new Set;for(let Ht of le){let Fr=H.getTypeAtLocation(Ht.expression);if(a.isTypeFlagSet(Fr,_.TypeFlags.Never))continue;let Cr=x_(Fr);if(rt.has(Cr))ut.add(Cr);else if(Cr!=="null"&&Cr!=="undefined")return!1}return rt.size===ut.size}a.hasExhaustiveCaseClauses=el;function x_(S){if(a.isTypeFlagSet(S,_.TypeFlags.Null))return"null";if(a.isTypeFlagSet(S,_.TypeFlags.Undefined))return"undefined";if(a.isTypeFlagSet(S,_.TypeFlags.NumberLiteral))return`${a.isTypeFlagSet(S,_.TypeFlags.EnumLiteral)?"enum:":""}${S.value}`;if(a.isTypeFlagSet(S,_.TypeFlags.StringLiteral))return`${a.isTypeFlagSet(S,_.TypeFlags.EnumLiteral)?"enum:":""}string:${S.value}`;if(a.isTypeFlagSet(S,_.TypeFlags.BigIntLiteral))return bo(S.value);if(h.isUniqueESSymbolType(S))return S.escapedName;if(D.isBooleanLiteralType(S,!0))return"true";if(D.isBooleanLiteralType(S,!1))return"false"}function E_(S){var H;if(((H=S.heritageClauses)===null||H===void 0?void 0:H[0].token)===_.SyntaxKind.ExtendsKeyword)return S.heritageClauses[0].types[0]}a.getBaseOfClassLikeExpression=E_}}),RV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E};Object.defineProperty(a,"__esModule",{value:!0}),a.convertComments=void 0;var D=Q9(),P=h(vr()),y=E1(),m=x1();function C(d,E){let I=[];return(0,D.forEachComment)(d,(c,M)=>{let q=M.kind===P.SyntaxKind.SingleLineCommentTrivia?m.AST_TOKEN_TYPES.Line:m.AST_TOKEN_TYPES.Block,W=[M.pos,M.end],K=(0,y.getLocFor)(W[0],W[1],d),ce=W[0]+2,Ie=M.kind===P.SyntaxKind.SingleLineCommentTrivia?W[1]-ce:W[1]-ce-2;I.push({type:q,value:E.slice(ce,ce+Ie),range:W,loc:K})},d),I}a.convertComments=C}}),Z9=Oe({"node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXClosingFragment:[],JSXOpeningFragment:[],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},v=Object.keys(_);for(let m of v)Object.freeze(_[m]);Object.freeze(_);var h=new Set(["parent","leadingComments","trailingComments"]);function D(m){return!h.has(m)&&m[0]!=="_"}function P(m){return Object.keys(m).filter(D)}function y(m){let C=Object.assign({},_);for(let d of Object.keys(m))if(Object.prototype.hasOwnProperty.call(C,d)){let E=new Set(m[d]);for(let I of C[d])E.add(I);C[d]=Object.freeze(Array.from(E))}else C[d]=Object.freeze(Array.from(m[d]));return Object.freeze(C)}a.KEYS=_,a.getKeys=P,a.unionWith=y}}),jV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.getKeys=void 0;var _=Z9(),v=_.getKeys;a.getKeys=v}}),JV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__setModuleDefault||(Object.create?function(C,d){Object.defineProperty(C,"default",{enumerable:!0,value:d})}:function(C,d){C.default=d}),h=a&&a.__importStar||function(C){if(C&&C.__esModule)return C;var d={};if(C!=null)for(var E in C)E!=="default"&&Object.prototype.hasOwnProperty.call(C,E)&&_(d,C,E);return v(d,C),d};Object.defineProperty(a,"__esModule",{value:!0}),a.visitorKeys=void 0;var D=h(Z9()),P=(()=>{let C=["typeParameters","params","returnType"],d=[...C,"body"],E=["decorators","key","typeAnnotation"];return{AnonymousFunction:d,Function:["id",...d],FunctionType:C,ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],AbstractPropertyDefinition:["decorators","key","typeAnnotation"],PropertyDefinition:[...E,"value"],TypeAssertion:["expression","typeAnnotation"]}})(),y={AccessorProperty:P.PropertyDefinition,ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:P.AnonymousFunction,AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:P.ClassDeclaration,ClassExpression:P.ClassDeclaration,Decorator:["expression"],ExportAllDeclaration:["exported","source","assertions"],ExportNamedDeclaration:["declaration","specifiers","source","assertions"],FunctionDeclaration:P.Function,FunctionExpression:P.Function,Identifier:["decorators","typeAnnotation"],ImportAttribute:["key","value"],ImportDeclaration:["specifiers","source","assertions"],ImportExpression:["source","attributes"],JSXClosingFragment:[],JSXOpeningElement:["name","typeParameters","attributes"],JSXOpeningFragment:[],JSXSpreadChild:["expression"],MethodDefinition:["decorators","key","value","typeParameters"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],PropertyDefinition:P.PropertyDefinition,RestElement:["decorators","argument","typeAnnotation"],StaticBlock:["body"],TaggedTemplateExpression:["tag","typeParameters","quasi"],TSAbstractAccessorProperty:P.AbstractPropertyDefinition,TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:P.AbstractPropertyDefinition,TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:P.TypeAssertion,TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:P.FunctionType,TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:P.FunctionType,TSConstructSignatureDeclaration:P.FunctionType,TSDeclareFunction:P.Function,TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id",...P.FunctionType],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:P.FunctionType,TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInstantiationExpression:["expression","typeParameters"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSIntrinsicKeyword:[],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["label","elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSSatisfiesExpression:["typeAnnotation","expression"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:P.TypeAssertion,TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName","typeParameters"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]},m=D.unionWith(y);a.visitorKeys=m}}),e5=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/index.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.visitorKeys=a.getKeys=void 0;var _=jV();Object.defineProperty(a,"getKeys",{enumerable:!0,get:function(){return _.getKeys}});var v=JV();Object.defineProperty(a,"visitorKeys",{enumerable:!0,get:function(){return v.visitorKeys}})}}),t5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.simpleTraverse=void 0;var _=e5();function v(y){return y!=null&&typeof y=="object"&&typeof y.type=="string"}function h(y,m){let C=y[m.type];return C!=null?C:[]}var D=class{constructor(y){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.allVisitorKeys=_.visitorKeys,this.selectors=y,this.setParentPointers=m}traverse(y,m){if(!v(y))return;this.setParentPointers&&(y.parent=m),"enter"in this.selectors?this.selectors.enter(y,m):y.type in this.selectors&&this.selectors[y.type](y,m);let C=h(this.allVisitorKeys,y);if(!(C.length<1))for(let d of C){let E=y[d];if(Array.isArray(E))for(let I of E)this.traverse(I,y);else this.traverse(E,y)}}};function P(y,m){let C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;new D(m,C).traverse(y,void 0)}a.simpleTraverse=P}}),FV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.astConverter=void 0;var _=G9(),v=RV(),h=E1(),D=t5();function P(y,m,C){let{parseDiagnostics:d}=y;if(d.length)throw(0,_.convertError)(d[0]);let E=new _.Converter(y,{errorOnUnknownASTType:m.errorOnUnknownASTType||!1,shouldPreserveNodeMaps:C}),I=E.convertProgram();(!m.range||!m.loc)&&(0,D.simpleTraverse)(I,{enter:M=>{m.range||delete M.range,m.loc||delete M.loc}}),m.tokens&&(I.tokens=(0,h.convertTokens)(y)),m.comment&&(I.comments=(0,v.convertComments)(y,m.code));let c=E.getASTMaps();return{estree:I,astMaps:c}}a.astConverter=P}}),r5={};m1(r5,{basename:()=>o5,default:()=>c5,delimiter:()=>nT,dirname:()=>s5,extname:()=>_5,isAbsolute:()=>mT,join:()=>i5,normalize:()=>dT,relative:()=>a5,resolve:()=>d1,sep:()=>rT});function n5(a,_){for(var v=0,h=a.length-1;h>=0;h--){var D=a[h];D==="."?a.splice(h,1):D===".."?(a.splice(h,1),v++):v&&(a.splice(h,1),v--)}if(_)for(;v--;v)a.unshift("..");return a}function d1(){for(var a="",_=!1,v=arguments.length-1;v>=-1&&!_;v--){var h=v>=0?arguments[v]:"/";if(typeof h!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!h)continue;a=h+"/"+a,_=h.charAt(0)==="/"}return a=n5(hT(a.split("/"),function(D){return!!D}),!_).join("/"),(_?"/":"")+a||"."}function dT(a){var _=mT(a),v=l5(a,-1)==="/";return a=n5(hT(a.split("/"),function(h){return!!h}),!_).join("/"),!a&&!_&&(a="."),a&&v&&(a+="/"),(_?"/":"")+a}function mT(a){return a.charAt(0)==="/"}function i5(){var a=Array.prototype.slice.call(arguments,0);return dT(hT(a,function(_,v){if(typeof _!="string")throw new TypeError("Arguments to path.join must be strings");return _}).join("/"))}function a5(a,_){a=d1(a).substr(1),_=d1(_).substr(1);function v(d){for(var E=0;E=0&&d[I]==="";I--);return E>I?[]:d.slice(E,I-E+1)}for(var h=v(a.split("/")),D=v(_.split("/")),P=Math.min(h.length,D.length),y=P,m=0;mAe:Ae=>Ae.toLowerCase();function c(Ae){let te=P.default.normalize(Ae);return te.endsWith(P.default.sep)&&(te=te.slice(0,-1)),I(te)}a.getCanonicalFileName=c;function M(Ae,te){return P.default.isAbsolute(Ae)?Ae:P.default.join(te||"/prettier-security-dirname-placeholder",Ae)}a.ensureAbsolutePath=M;function q(Ae){return P.default.dirname(Ae)}a.canonicalDirname=q;var W=[y.Extension.Dts,y.Extension.Dcts,y.Extension.Dmts];function K(Ae){var te;return Ae?(te=W.find(he=>Ae.endsWith(he)))!==null&&te!==void 0?te:P.default.extname(Ae):null}function ce(Ae,te){let he=Ae.getSourceFile(te.filePath),Pe=K(te.filePath),R=K(he==null?void 0:he.fileName);if(Pe===R)return he&&{ast:he,program:Ae}}a.getAstFromProgram=ce;function Ie(Ae){let te;try{throw new Error("Dynamic require is not supported")}catch{let Pe=["Could not find the provided parserOptions.moduleResolver.","Hint: use an absolute path if you are not in control over where the ESLint instance runs."];throw new Error(Pe.join(` -`))}return te}a.getModuleResolver=Ie;function me(Ae){var te;return!((te=y.sys)===null||te===void 0)&&te.createHash?y.sys.createHash(Ae):Ae}a.createHash=me}}),qV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(I,c,M,q){q===void 0&&(q=M);var W=Object.getOwnPropertyDescriptor(c,M);(!W||("get"in W?!c.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return c[M]}}),Object.defineProperty(I,q,W)}:function(I,c,M,q){q===void 0&&(q=M),I[q]=c[M]}),v=a&&a.__setModuleDefault||(Object.create?function(I,c){Object.defineProperty(I,"default",{enumerable:!0,value:c})}:function(I,c){I.default=c}),h=a&&a.__importStar||function(I){if(I&&I.__esModule)return I;var c={};if(I!=null)for(var M in I)M!=="default"&&Object.prototype.hasOwnProperty.call(I,M)&&_(c,I,M);return v(c,I),c},D=a&&a.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(a,"__esModule",{value:!0}),a.createDefaultProgram=void 0;var P=D(Ga()),y=D(_o()),m=h(vr()),C=d_(),d=(0,P.default)("typescript-eslint:typescript-estree:createDefaultProgram");function E(I){var c;if(d("Getting default program for: %s",I.filePath||"unnamed file"),((c=I.projects)===null||c===void 0?void 0:c.length)!==1)return;let M=I.projects[0],q=m.getParsedCommandLineOfConfigFile(M,(0,C.createDefaultCompilerOptionsFromExtra)(I),Object.assign(Object.assign({},m.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!q)return;let W=m.createCompilerHost(q.options,!0);I.moduleResolver&&(W.resolveModuleNames=(0,C.getModuleResolver)(I.moduleResolver).resolveModuleNames);let K=W.readFile;W.readFile=me=>y.default.normalize(me)===y.default.normalize(I.filePath)?I.code:K(me);let ce=m.createProgram([I.filePath],q.options,W),Ie=ce.getSourceFile(I.filePath);return Ie&&{ast:Ie,program:ce}}a.createDefaultProgram=E}}),gT=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E},D=a&&a.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(a,"__esModule",{value:!0}),a.getLanguageVariant=a.getScriptKind=void 0;var P=D(_o()),y=h(vr());function m(d,E){switch(P.default.extname(d).toLowerCase()){case y.Extension.Js:case y.Extension.Cjs:case y.Extension.Mjs:return y.ScriptKind.JS;case y.Extension.Jsx:return y.ScriptKind.JSX;case y.Extension.Ts:case y.Extension.Cts:case y.Extension.Mts:return y.ScriptKind.TS;case y.Extension.Tsx:return y.ScriptKind.TSX;case y.Extension.Json:return y.ScriptKind.JSON;default:return E?y.ScriptKind.TSX:y.ScriptKind.TS}}a.getScriptKind=m;function C(d){switch(d){case y.ScriptKind.TSX:case y.ScriptKind.JSX:case y.ScriptKind.JS:case y.ScriptKind.JSON:return y.LanguageVariant.JSX;default:return y.LanguageVariant.Standard}}a.getLanguageVariant=C}}),UV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(I,c,M,q){q===void 0&&(q=M);var W=Object.getOwnPropertyDescriptor(c,M);(!W||("get"in W?!c.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return c[M]}}),Object.defineProperty(I,q,W)}:function(I,c,M,q){q===void 0&&(q=M),I[q]=c[M]}),v=a&&a.__setModuleDefault||(Object.create?function(I,c){Object.defineProperty(I,"default",{enumerable:!0,value:c})}:function(I,c){I.default=c}),h=a&&a.__importStar||function(I){if(I&&I.__esModule)return I;var c={};if(I!=null)for(var M in I)M!=="default"&&Object.prototype.hasOwnProperty.call(I,M)&&_(c,I,M);return v(c,I),c},D=a&&a.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(a,"__esModule",{value:!0}),a.createIsolatedProgram=void 0;var P=D(Ga()),y=h(vr()),m=gT(),C=d_(),d=(0,P.default)("typescript-eslint:typescript-estree:createIsolatedProgram");function E(I){d("Getting isolated program in %s mode for: %s",I.jsx?"TSX":"TS",I.filePath);let c={fileExists(){return!0},getCanonicalFileName(){return I.filePath},getCurrentDirectory(){return""},getDirectories(){return[]},getDefaultLibFileName(){return"lib.d.ts"},getNewLine(){return` -`},getSourceFile(W){return y.createSourceFile(W,I.code,y.ScriptTarget.Latest,!0,(0,m.getScriptKind)(I.filePath,I.jsx))},readFile(){},useCaseSensitiveFileNames(){return!0},writeFile(){return null}},M=y.createProgram([I.filePath],Object.assign({noResolve:!0,target:y.ScriptTarget.Latest,jsx:I.jsx?y.JsxEmit.Preserve:void 0},(0,C.createDefaultCompilerOptionsFromExtra)(I)),c),q=M.getSourceFile(I.filePath);if(!q)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:q,program:M}}a.createIsolatedProgram=E}}),zV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js"(a){"use strict";De();var _=a&&a.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(a,"__esModule",{value:!0}),a.describeFilePath=void 0;var v=_(_o());function h(D,P){let y=v.default.relative(P,D);return y&&!y.startsWith("..")&&!v.default.isAbsolute(y)?`/${y}`:/^[(\w+:)\\/~]/.test(D)||/\.\.[/\\]\.\./.test(y)?D:`/${y}`}a.describeFilePath=h}}),u5={};m1(u5,{default:()=>p5});var p5,WV=yp({"node-modules-polyfills:fs"(){De(),p5={}}}),yT=Oe({"node-modules-polyfills-commonjs:fs"(a,_){De();var v=(WV(),Li(u5));if(v&&v.default){_.exports=v.default;for(let h in v)_.exports[h]=v[h]}else v&&(_.exports=v)}}),f5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(Je,Xe,ee,je){je===void 0&&(je=ee);var nt=Object.getOwnPropertyDescriptor(Xe,ee);(!nt||("get"in nt?!Xe.__esModule:nt.writable||nt.configurable))&&(nt={enumerable:!0,get:function(){return Xe[ee]}}),Object.defineProperty(Je,je,nt)}:function(Je,Xe,ee,je){je===void 0&&(je=ee),Je[je]=Xe[ee]}),v=a&&a.__setModuleDefault||(Object.create?function(Je,Xe){Object.defineProperty(Je,"default",{enumerable:!0,value:Xe})}:function(Je,Xe){Je.default=Xe}),h=a&&a.__importStar||function(Je){if(Je&&Je.__esModule)return Je;var Xe={};if(Je!=null)for(var ee in Je)ee!=="default"&&Object.prototype.hasOwnProperty.call(Je,ee)&&_(Xe,Je,ee);return v(Xe,Je),Xe},D=a&&a.__importDefault||function(Je){return Je&&Je.__esModule?Je:{default:Je}};Object.defineProperty(a,"__esModule",{value:!0}),a.getWatchProgramsForProjects=a.clearWatchCaches=void 0;var P=D(Ga()),y=D(yT()),m=D(pT()),C=h(vr()),d=d_(),E=(0,P.default)("typescript-eslint:typescript-estree:createWatchProgram"),I=new Map,c=new Map,M=new Map,q=new Map,W=new Map,K=new Map;function ce(){I.clear(),c.clear(),M.clear(),K.clear(),q.clear(),W.clear()}a.clearWatchCaches=ce;function Ie(Je){return(Xe,ee)=>{let je=(0,d.getCanonicalFileName)(Xe),nt=(()=>{let Ze=Je.get(je);return Ze||(Ze=new Set,Je.set(je,Ze)),Ze})();return nt.add(ee),{close:()=>{nt.delete(ee)}}}}var me={code:"",filePath:""};function Ae(Je){throw new Error(C.flattenDiagnosticMessageText(Je.messageText,C.sys.newLine))}function te(Je,Xe,ee){let je=ee.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(Xe.getSourceFiles().map(nt=>(0,d.getCanonicalFileName)(nt.fileName))):new Set(Xe.getRootFileNames().map(nt=>(0,d.getCanonicalFileName)(nt)));return q.set(Je,je),je}function he(Je){let Xe=(0,d.getCanonicalFileName)(Je.filePath),ee=[];me.code=Je.code,me.filePath=Xe;let je=c.get(Xe),nt=(0,d.createHash)(Je.code);K.get(Xe)!==nt&&je&&je.size>0&&je.forEach(st=>st(Xe,C.FileWatcherEventKind.Changed));let Ze=new Set(Je.projects);for(let[st,tt]of I.entries()){if(!Ze.has(st))continue;let ct=q.get(st),ne=null;if(ct||(ne=tt.getProgram().getProgram(),ct=te(st,ne,Je)),ct.has(Xe))return E("Found existing program for file. %s",Xe),ne=ne!=null?ne:tt.getProgram().getProgram(),ne.getTypeChecker(),[ne]}E("File did not belong to any existing programs, moving to create/update. %s",Xe);for(let st of Je.projects){let tt=I.get(st);if(tt){let Fe=ke(tt,Xe,st);if(!Fe)continue;if(Fe.getTypeChecker(),te(st,Fe,Je).has(Xe))return E("Found updated program for file. %s",Xe),[Fe];ee.push(Fe);continue}let ct=R(st,Je);I.set(st,ct);let ne=ct.getProgram().getProgram();if(ne.getTypeChecker(),te(st,ne,Je).has(Xe))return E("Found program for file. %s",Xe),[ne];ee.push(ne)}return ee}a.getWatchProgramsForProjects=he;var Pe=m.default.satisfies(C.version,">=3.9.0-beta",{includePrerelease:!0});function R(Je,Xe){E("Creating watch program for %s.",Je);let ee=C.createWatchCompilerHost(Je,(0,d.createDefaultCompilerOptionsFromExtra)(Xe),C.sys,C.createAbstractBuilder,Ae,()=>{});Xe.moduleResolver&&(ee.resolveModuleNames=(0,d.getModuleResolver)(Xe.moduleResolver).resolveModuleNames);let je=ee.readFile;ee.readFile=(tt,ct)=>{let ne=(0,d.getCanonicalFileName)(tt),ge=ne===me.filePath?me.code:je(ne,ct);return ge!==void 0&&K.set(ne,(0,d.createHash)(ge)),ge},ee.onUnRecoverableConfigFileDiagnostic=Ae,ee.afterProgramCreate=tt=>{let ct=tt.getConfigFileParsingDiagnostics().filter(ne=>ne.category===C.DiagnosticCategory.Error&&ne.code!==18003);ct.length>0&&Ae(ct[0])},ee.watchFile=Ie(c),ee.watchDirectory=Ie(M);let nt=ee.onCachedDirectoryStructureHostCreate;ee.onCachedDirectoryStructureHostCreate=tt=>{let ct=tt.readDirectory;tt.readDirectory=(ne,ge,Fe,at,Pt)=>ct(ne,ge?ge.concat(Xe.extraFileExtensions):void 0,Fe,at,Pt),nt(tt)},ee.extraFileExtensions=Xe.extraFileExtensions.map(tt=>({extension:tt,isMixedContent:!0,scriptKind:C.ScriptKind.Deferred})),ee.trace=E,ee.useSourceOfProjectReferenceRedirect=()=>Xe.EXPERIMENTAL_useSourceOfProjectReferenceRedirect;let Ze;Pe?(ee.setTimeout=void 0,ee.clearTimeout=void 0):(E("Running without timeout fix"),ee.setTimeout=function(tt,ct){for(var ne=arguments.length,ge=new Array(ne>2?ne-2:0),Fe=2;Fe{Ze=void 0});let st=C.createWatchProgram(ee);if(!Pe){let tt=st.getProgram;st.getProgram=()=>(Ze&&Ze(),Ze=void 0,tt.call(st))}return st}function pe(Je){let ee=y.default.statSync(Je).mtimeMs,je=W.get(Je);return W.set(Je,ee),je===void 0?!1:Math.abs(je-ee)>Number.EPSILON}function ke(Je,Xe,ee){let je=Je.getProgram().getProgram();if(cn.env.TSESTREE_NO_INVALIDATION==="true")return je;pe(ee)&&(E("tsconfig has changed - triggering program update. %s",ee),c.get(ee).forEach(at=>at(ee,C.FileWatcherEventKind.Changed)),q.delete(ee));let nt=je.getSourceFile(Xe);if(nt)return je;E("File was not found in program - triggering folder update. %s",Xe);let Ze=(0,d.canonicalDirname)(Xe),st=null,tt=Ze,ct=!1;for(;st!==tt;){st=tt;let at=M.get(st);at&&(at.forEach(Pt=>{Ze!==st&&Pt(Ze,C.FileWatcherEventKind.Changed),Pt(st,C.FileWatcherEventKind.Changed)}),ct=!0),tt=(0,d.canonicalDirname)(st)}if(!ct)return E("No callback found for file, not part of this program. %s",Xe),null;if(q.delete(ee),je=Je.getProgram().getProgram(),nt=je.getSourceFile(Xe),nt)return je;E("File was still not found in program after directory update - checking file deletions. %s",Xe);let ge=je.getRootFileNames().find(at=>!y.default.existsSync(at));if(!ge)return null;let Fe=c.get((0,d.getCanonicalFileName)(ge));return Fe?(E("Marking file as deleted. %s",ge),Fe.forEach(at=>at(ge,C.FileWatcherEventKind.Deleted)),q.delete(ee),je=Je.getProgram().getProgram(),nt=je.getSourceFile(Xe),nt?je:(E("File was still not found in program after deletion check, assuming it is not part of this program. %s",Xe),null)):(E("Could not find watch callbacks for root file. %s",ge),je)}}}),VV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(W,K,ce,Ie){Ie===void 0&&(Ie=ce);var me=Object.getOwnPropertyDescriptor(K,ce);(!me||("get"in me?!K.__esModule:me.writable||me.configurable))&&(me={enumerable:!0,get:function(){return K[ce]}}),Object.defineProperty(W,Ie,me)}:function(W,K,ce,Ie){Ie===void 0&&(Ie=ce),W[Ie]=K[ce]}),v=a&&a.__setModuleDefault||(Object.create?function(W,K){Object.defineProperty(W,"default",{enumerable:!0,value:K})}:function(W,K){W.default=K}),h=a&&a.__importStar||function(W){if(W&&W.__esModule)return W;var K={};if(W!=null)for(var ce in W)ce!=="default"&&Object.prototype.hasOwnProperty.call(W,ce)&&_(K,W,ce);return v(K,W),K},D=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};Object.defineProperty(a,"__esModule",{value:!0}),a.createProjectProgram=void 0;var P=D(Ga()),y=D(_o()),m=h(vr()),C=E1(),d=zV(),E=f5(),I=d_(),c=(0,P.default)("typescript-eslint:typescript-estree:createProjectProgram"),M=[m.Extension.Ts,m.Extension.Tsx,m.Extension.Js,m.Extension.Jsx,m.Extension.Mjs,m.Extension.Mts,m.Extension.Cjs,m.Extension.Cts];function q(W){c("Creating project program for: %s",W.filePath);let K=(0,E.getWatchProgramsForProjects)(W),ce=(0,C.firstDefined)(K,ke=>(0,I.getAstFromProgram)(ke,W));if(ce||W.createDefaultProgram)return ce;let Ie=ke=>(0,d.describeFilePath)(ke,W.tsconfigRootDir),me=(0,d.describeFilePath)(W.filePath,W.tsconfigRootDir),Ae=W.projects.map(Ie),te=Ae.length===1?Ae[0]:` -${Ae.map(ke=>`- ${ke}`).join(` -`)}`,he=[`ESLint was configured to run on \`${me}\` using \`parserOptions.project\`: ${te}`],Pe=!1,R=W.extraFileExtensions||[];R.forEach(ke=>{ke.startsWith(".")||he.push(`Found unexpected extension \`${ke}\` specified with the \`parserOptions.extraFileExtensions\` option. Did you mean \`.${ke}\`?`),M.includes(ke)&&he.push(`You unnecessarily included the extension \`${ke}\` with the \`parserOptions.extraFileExtensions\` option. This extension is already handled by the parser by default.`)});let pe=y.default.extname(W.filePath);if(!M.includes(pe)){let ke=`The extension for the file (\`${pe}\`) is non-standard`;R.length>0?R.includes(pe)||(he.push(`${ke}. It should be added to your existing \`parserOptions.extraFileExtensions\`.`),Pe=!0):(he.push(`${ke}. You should add \`parserOptions.extraFileExtensions\` to your config.`),Pe=!0)}if(!Pe){let[ke,Je]=W.projects.length===1?["that TSConfig does not","that TSConfig"]:["none of those TSConfigs","one of those TSConfigs"];he.push(`However, ${ke} include this file. Either:`,"- Change ESLint's list of included files to not include this file",`- Change ${Je} to include this file`,"- Create a new TSConfig that includes this file and include it in your parserOptions.project","See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file")}throw new Error(he.join(` -`))}a.createProjectProgram=q}}),HV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(E,I,c,M){M===void 0&&(M=c);var q=Object.getOwnPropertyDescriptor(I,c);(!q||("get"in q?!I.__esModule:q.writable||q.configurable))&&(q={enumerable:!0,get:function(){return I[c]}}),Object.defineProperty(E,M,q)}:function(E,I,c,M){M===void 0&&(M=c),E[M]=I[c]}),v=a&&a.__setModuleDefault||(Object.create?function(E,I){Object.defineProperty(E,"default",{enumerable:!0,value:I})}:function(E,I){E.default=I}),h=a&&a.__importStar||function(E){if(E&&E.__esModule)return E;var I={};if(E!=null)for(var c in E)c!=="default"&&Object.prototype.hasOwnProperty.call(E,c)&&_(I,E,c);return v(I,E),I},D=a&&a.__importDefault||function(E){return E&&E.__esModule?E:{default:E}};Object.defineProperty(a,"__esModule",{value:!0}),a.createSourceFile=void 0;var P=D(Ga()),y=h(vr()),m=gT(),C=(0,P.default)("typescript-eslint:typescript-estree:createSourceFile");function d(E){return C("Getting AST without type information in %s mode for: %s",E.jsx?"TSX":"TS",E.filePath),y.createSourceFile(E.filePath,E.code,y.ScriptTarget.Latest,!0,(0,m.getScriptKind)(E.filePath,E.jsx))}a.createSourceFile=d}}),d5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(q,W,K,ce){ce===void 0&&(ce=K);var Ie=Object.getOwnPropertyDescriptor(W,K);(!Ie||("get"in Ie?!W.__esModule:Ie.writable||Ie.configurable))&&(Ie={enumerable:!0,get:function(){return W[K]}}),Object.defineProperty(q,ce,Ie)}:function(q,W,K,ce){ce===void 0&&(ce=K),q[ce]=W[K]}),v=a&&a.__setModuleDefault||(Object.create?function(q,W){Object.defineProperty(q,"default",{enumerable:!0,value:W})}:function(q,W){q.default=W}),h=a&&a.__importStar||function(q){if(q&&q.__esModule)return q;var W={};if(q!=null)for(var K in q)K!=="default"&&Object.prototype.hasOwnProperty.call(q,K)&&_(W,q,K);return v(W,q),W},D=a&&a.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(a,"__esModule",{value:!0}),a.createProgramFromConfigFile=a.useProvidedPrograms=void 0;var P=D(Ga()),y=h(yT()),m=h(_o()),C=h(vr()),d=d_(),E=(0,P.default)("typescript-eslint:typescript-estree:useProvidedProgram");function I(q,W){E("Retrieving ast for %s from provided program instance(s)",W.filePath);let K;for(let ce of q)if(K=(0,d.getAstFromProgram)(ce,W),K)break;if(!K){let Ie=['"parserOptions.programs" has been provided for @typescript-eslint/parser.',`The file was not found in any of the provided program instance(s): ${m.relative(W.tsconfigRootDir||"/prettier-security-dirname-placeholder",W.filePath)}`];throw new Error(Ie.join(` -`))}return K.program.getTypeChecker(),K}a.useProvidedPrograms=I;function c(q,W){if(C.sys===void 0)throw new Error("`createProgramFromConfigFile` is only supported in a Node-like environment.");let ce=C.getParsedCommandLineOfConfigFile(q,d.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:me=>{throw new Error(M([me]))},fileExists:y.existsSync,getCurrentDirectory:()=>W&&m.resolve(W)||"/prettier-security-dirname-placeholder",readDirectory:C.sys.readDirectory,readFile:me=>y.readFileSync(me,"utf-8"),useCaseSensitiveFileNames:C.sys.useCaseSensitiveFileNames});if(ce.errors.length)throw new Error(M(ce.errors));let Ie=C.createCompilerHost(ce.options,!0);return C.createProgram(ce.fileNames,ce.options,Ie)}a.createProgramFromConfigFile=c;function M(q){return C.formatDiagnostics(q,{getCanonicalFileName:W=>W,getCurrentDirectory:cn.cwd,getNewLine:()=>` -`})}}}),m5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js"(a){"use strict";De();var _=a&&a.__classPrivateFieldSet||function(m,C,d,E,I){if(E==="m")throw new TypeError("Private method is not writable");if(E==="a"&&!I)throw new TypeError("Private accessor was defined without a setter");if(typeof C=="function"?m!==C||!I:!C.has(m))throw new TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?I.call(m,d):I?I.value=d:C.set(m,d),d},v=a&&a.__classPrivateFieldGet||function(m,C,d,E){if(d==="a"&&!E)throw new TypeError("Private accessor was defined without a getter");if(typeof C=="function"?m!==C||!E:!C.has(m))throw new TypeError("Cannot read private member from an object whose class did not declare it");return d==="m"?E:d==="a"?E.call(m):E?E.value:C.get(m)},h,D;Object.defineProperty(a,"__esModule",{value:!0}),a.ExpiringCache=a.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=void 0,a.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=30;var P=[0,0],y=class{constructor(m){h.set(this,void 0),D.set(this,new Map),_(this,h,m,"f")}set(m,C){return v(this,D,"f").set(m,{value:C,lastSeen:v(this,h,"f")==="Infinity"?P:cn.hrtime()}),this}get(m){let C=v(this,D,"f").get(m);if((C==null?void 0:C.value)!=null){if(v(this,h,"f")==="Infinity"||cn.hrtime(C.lastSeen)[0]1&&M.length>=E.tsconfigRootDir.length);throw new Error(`project was set to \`true\` but couldn't find any tsconfig.json relative to '${E.filePath}' within '${E.tsconfigRootDir}'.`)}a.getProjectConfigFiles=d}}),$V=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.inferSingleRun=void 0;var _=_o();function v(h){return(h==null?void 0:h.project)==null||(h==null?void 0:h.programs)!=null||cn.env.TSESTREE_SINGLE_RUN==="false"?!1:!!(cn.env.TSESTREE_SINGLE_RUN==="true"||h!=null&&h.allowAutomaticSingleRunInference&&(cn.env.CI==="true"||cn.argv[1].endsWith((0,_.normalize)("node_modules/.bin/eslint"))))}a.inferSingleRun=v}}),KV=Oe({"node_modules/is-extglob/index.js"(a,_){De(),_.exports=function(h){if(typeof h!="string"||h==="")return!1;for(var D;D=/(\\).|([@?!+*]\(.*\))/g.exec(h);){if(D[2])return!0;h=h.slice(D.index+D[0].length)}return!1}}}),XV=Oe({"node_modules/is-glob/index.js"(a,_){De();var v=KV(),h={"{":"}","(":")","[":"]"},D=function(y){if(y[0]==="!")return!0;for(var m=0,C=-2,d=-2,E=-2,I=-2,c=-2;mm&&(c===-1||c>d||(c=y.indexOf("\\",m),c===-1||c>d)))||E!==-1&&y[m]==="{"&&y[m+1]!=="}"&&(E=y.indexOf("}",m),E>m&&(c=y.indexOf("\\",m),c===-1||c>E))||I!==-1&&y[m]==="("&&y[m+1]==="?"&&/[:!=]/.test(y[m+2])&&y[m+3]!==")"&&(I=y.indexOf(")",m),I>m&&(c=y.indexOf("\\",m),c===-1||c>I))||C!==-1&&y[m]==="("&&y[m+1]!=="|"&&(CC&&(c=y.indexOf("\\",C),c===-1||c>I))))return!0;if(y[m]==="\\"){var M=y[m+1];m+=2;var q=h[M];if(q){var W=y.indexOf(q,m);W!==-1&&(m=W+1)}if(y[m]==="!")return!0}else m++}return!1},P=function(y){if(y[0]==="!")return!0;for(var m=0;m(typeof pe=="string"&&R.push(pe),R),[]).map(R=>R.startsWith("!")?R:`!${R}`),me=I({project:ce,projectFolderIgnoreList:Ie,tsconfigRootDir:M.tsconfigRootDir});if(C==null)C=new y.ExpiringCache(M.singleRun?"Infinity":(K=(W=M.cacheLifetime)===null||W===void 0?void 0:W.glob)!==null&&K!==void 0?K:y.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS);else{let R=C.get(me);if(R)return R}let Ae=ce.filter(R=>!(0,D.default)(R)),te=ce.filter(R=>(0,D.default)(R)),he=new Set(Ae.concat(te.length===0?[]:(0,h.sync)([...te,...Ie],{cwd:M.tsconfigRootDir})).map(R=>(0,P.getCanonicalFileName)((0,P.ensureAbsolutePath)(R,M.tsconfigRootDir))));m("parserOptions.project (excluding ignored) matched projects: %s",he);let Pe=Array.from(he);return C.set(me,Pe),Pe}a.resolveProjectList=E;function I(M){let{project:q,projectFolderIgnoreList:W,tsconfigRootDir:K}=M,ce={tsconfigRootDir:K,project:q,projectFolderIgnoreList:[...W].sort()};return(0,P.createHash)(JSON.stringify(ce))}function c(){C==null||C.clear(),C=null}a.clearGlobResolutionCache=c}}),YV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(M,q,W,K){K===void 0&&(K=W);var ce=Object.getOwnPropertyDescriptor(q,W);(!ce||("get"in ce?!q.__esModule:ce.writable||ce.configurable))&&(ce={enumerable:!0,get:function(){return q[W]}}),Object.defineProperty(M,K,ce)}:function(M,q,W,K){K===void 0&&(K=W),M[K]=q[W]}),v=a&&a.__setModuleDefault||(Object.create?function(M,q){Object.defineProperty(M,"default",{enumerable:!0,value:q})}:function(M,q){M.default=q}),h=a&&a.__importStar||function(M){if(M&&M.__esModule)return M;var q={};if(M!=null)for(var W in M)W!=="default"&&Object.prototype.hasOwnProperty.call(M,W)&&_(q,M,W);return v(q,M),q},D=a&&a.__importDefault||function(M){return M&&M.__esModule?M:{default:M}};Object.defineProperty(a,"__esModule",{value:!0}),a.warnAboutTSVersion=void 0;var P=D(pT()),y=h(vr()),m=">=3.3.1 <5.1.0",C=["5.0.1-rc"],d=y.version,E=P.default.satisfies(d,[m].concat(C).join(" || ")),I=!1;function c(M){var q;if(!E&&!I){if(typeof cn>"u"?!1:(q=cn.stdout)===null||q===void 0?void 0:q.isTTY){let K="=============",ce=[K,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${m}`,`YOUR TYPESCRIPT VERSION: ${d}`,"Please only submit bug reports when using the officially supported version.",K];M.log(ce.join(` - -`))}I=!0}}a.warnAboutTSVersion=c}}),g5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js"(a){"use strict";De();var _=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};Object.defineProperty(a,"__esModule",{value:!0}),a.clearTSConfigMatchCache=a.createParseSettings=void 0;var v=_(Ga()),h=d_(),D=m5(),P=GV(),y=$V(),m=h5(),C=YV(),d=(0,v.default)("typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings"),E;function I(W){let K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var ce,Ie,me;let Ae=(0,y.inferSingleRun)(K),te=typeof K.tsconfigRootDir=="string"?K.tsconfigRootDir:"/prettier-security-dirname-placeholder",he={code:M(W),comment:K.comment===!0,comments:[],createDefaultProgram:K.createDefaultProgram===!0,debugLevel:K.debugLevel===!0?new Set(["typescript-eslint"]):Array.isArray(K.debugLevel)?new Set(K.debugLevel):new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:K.errorOnUnknownASTType===!0,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:K.EXPERIMENTAL_useSourceOfProjectReferenceRedirect===!0,extraFileExtensions:Array.isArray(K.extraFileExtensions)&&K.extraFileExtensions.every(Pe=>typeof Pe=="string")?K.extraFileExtensions:[],filePath:(0,h.ensureAbsolutePath)(typeof K.filePath=="string"&&K.filePath!==""?K.filePath:q(K.jsx),te),jsx:K.jsx===!0,loc:K.loc===!0,log:typeof K.loggerFn=="function"?K.loggerFn:K.loggerFn===!1?()=>{}:console.log,moduleResolver:(ce=K.moduleResolver)!==null&&ce!==void 0?ce:"",preserveNodeMaps:K.preserveNodeMaps!==!1,programs:Array.isArray(K.programs)?K.programs:null,projects:[],range:K.range===!0,singleRun:Ae,tokens:K.tokens===!0?[]:null,tsconfigMatchCache:E!=null?E:E=new D.ExpiringCache(Ae?"Infinity":(me=(Ie=K.cacheLifetime)===null||Ie===void 0?void 0:Ie.glob)!==null&&me!==void 0?me:D.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS),tsconfigRootDir:te};if(he.debugLevel.size>0){let Pe=[];he.debugLevel.has("typescript-eslint")&&Pe.push("typescript-eslint:*"),(he.debugLevel.has("eslint")||v.default.enabled("eslint:*,-eslint:code-path"))&&Pe.push("eslint:*,-eslint:code-path"),v.default.enable(Pe.join(","))}if(Array.isArray(K.programs)){if(!K.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");d("parserOptions.programs was provided, so parserOptions.project will be ignored.")}return he.programs||(he.projects=(0,m.resolveProjectList)({cacheLifetime:K.cacheLifetime,project:(0,P.getProjectConfigFiles)(he,K.project),projectFolderIgnoreList:K.projectFolderIgnoreList,singleRun:he.singleRun,tsconfigRootDir:te})),(0,C.warnAboutTSVersion)(he),he}a.createParseSettings=I;function c(){E==null||E.clear()}a.clearTSConfigMatchCache=c;function M(W){return typeof W!="string"?String(W):W}function q(W){return W?"estree.tsx":"estree.ts"}}}),QV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/semantic-or-syntactic-errors.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.getFirstSemanticOrSyntacticError=void 0;var _=vr();function v(P,y){try{let m=h(P.getSyntacticDiagnostics(y));if(m.length)return D(m[0]);let C=h(P.getSemanticDiagnostics(y));return C.length?D(C[0]):void 0}catch(m){console.warn(`Warning From TSC: "${m.message}`);return}}a.getFirstSemanticOrSyntacticError=v;function h(P){return P.filter(y=>{switch(y.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1})}function D(P){return Object.assign(Object.assign({},P),{message:(0,_.flattenDiagnosticMessageText)(P.messageText,_.sys.newLine)})}}}),y5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parser.js"(a){"use strict";De();var _=a&&a.__importDefault||function(he){return he&&he.__esModule?he:{default:he}};Object.defineProperty(a,"__esModule",{value:!0}),a.clearParseAndGenerateServicesCalls=a.clearProgramCache=a.parseWithNodeMaps=a.parseAndGenerateServices=a.parse=void 0;var v=_(Ga()),h=FV(),D=G9(),P=qV(),y=UV(),m=VV(),C=HV(),d=d5(),E=g5(),I=QV(),c=(0,v.default)("typescript-eslint:typescript-estree:parser"),M=new Map;function q(){M.clear()}a.clearProgramCache=q;function W(he,Pe){return he.programs&&(0,d.useProvidedPrograms)(he.programs,he)||Pe&&(0,m.createProjectProgram)(he)||Pe&&he.createDefaultProgram&&(0,P.createDefaultProgram)(he)||(0,y.createIsolatedProgram)(he)}function K(he,Pe){let{ast:R}=ce(he,Pe,!1);return R}a.parse=K;function ce(he,Pe,R){let pe=(0,E.createParseSettings)(he,Pe);if(Pe!=null&&Pe.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');let ke=(0,C.createSourceFile)(pe),{estree:Je,astMaps:Xe}=(0,h.astConverter)(ke,pe,R);return{ast:Je,esTreeNodeToTSNodeMap:Xe.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Xe.tsNodeToESTreeNodeMap}}function Ie(he,Pe){return ce(he,Pe,!0)}a.parseWithNodeMaps=Ie;var me={};function Ae(){me={}}a.clearParseAndGenerateServicesCalls=Ae;function te(he,Pe){var R,pe;let ke=(0,E.createParseSettings)(he,Pe);Pe!==void 0&&typeof Pe.errorOnTypeScriptSyntacticAndSemanticIssues=="boolean"&&Pe.errorOnTypeScriptSyntacticAndSemanticIssues&&(ke.errorOnTypeScriptSyntacticAndSemanticIssues=!0),ke.singleRun&&!ke.programs&&((R=ke.projects)===null||R===void 0?void 0:R.length)>0&&(ke.programs={*[Symbol.iterator](){for(let st of ke.projects){let tt=M.get(st);if(tt)yield tt;else{c("Detected single-run/CLI usage, creating Program once ahead of time for project: %s",st);let ct=(0,d.createProgramFromConfigFile)(st);M.set(st,ct),yield ct}}}});let Je=ke.programs!=null||((pe=ke.projects)===null||pe===void 0?void 0:pe.length)>0;ke.singleRun&&Pe.filePath&&(me[Pe.filePath]=(me[Pe.filePath]||0)+1);let{ast:Xe,program:ee}=ke.singleRun&&Pe.filePath&&me[Pe.filePath]>1?(0,y.createIsolatedProgram)(ke):W(ke,Je),je=typeof ke.preserveNodeMaps=="boolean"?ke.preserveNodeMaps:!0,{estree:nt,astMaps:Ze}=(0,h.astConverter)(Xe,ke,je);if(ee&&ke.errorOnTypeScriptSyntacticAndSemanticIssues){let st=(0,I.getFirstSemanticOrSyntacticError)(ee,Xe);if(st)throw(0,D.convertError)(st)}return{ast:nt,services:{hasFullTypeInformation:Je,program:ee,esTreeNodeToTSNodeMap:Ze.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Ze.tsNodeToESTreeNodeMap}}}a.parseAndGenerateServices=te}}),ZV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.clearProgramCache=a.clearCaches=void 0;var _=f5(),v=y5(),h=g5(),D=h5();function P(){(0,v.clearProgramCache)(),(0,_.clearWatchCaches)(),(0,h.clearTSConfigMatchCache)(),(0,D.clearGlobCache)()}a.clearCaches=P,a.clearProgramCache=P}}),eH=Oe({"node_modules/@typescript-eslint/typescript-estree/package.json"(a,_){_.exports={name:"@typescript-eslint/typescript-estree",version:"5.55.0",description:"A parser that converts TypeScript source code into an ESTree compatible form",main:"dist/index.js",types:"dist/index.d.ts",files:["dist","_ts3.4","README.md","LICENSE"],engines:{node:"^12.22.0 || ^14.17.0 || >=16.0.0"},repository:{type:"git",url:"https://github.com/typescript-eslint/typescript-eslint.git",directory:"packages/typescript-estree"},bugs:{url:"https://github.com/typescript-eslint/typescript-eslint/issues"},license:"BSD-2-Clause",keywords:["ast","estree","ecmascript","javascript","typescript","parser","syntax"],scripts:{build:"tsc -b tsconfig.build.json",postbuild:"downlevel-dts dist _ts3.4/dist",clean:"tsc -b tsconfig.build.json --clean",postclean:"rimraf dist && rimraf _ts3.4 && rimraf coverage",format:'prettier --write "./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}" --ignore-path ../../.prettierignore',lint:"nx lint",test:"jest --coverage",typecheck:"tsc -p tsconfig.json --noEmit"},dependencies:{"@typescript-eslint/types":"5.55.0","@typescript-eslint/visitor-keys":"5.55.0",debug:"^4.3.4",globby:"^11.1.0","is-glob":"^4.0.3",semver:"^7.3.7",tsutils:"^3.21.0"},devDependencies:{"@babel/code-frame":"*","@babel/parser":"*","@types/babel__code-frame":"*","@types/debug":"*","@types/glob":"*","@types/is-glob":"*","@types/semver":"*","@types/tmp":"*",glob:"*","jest-specific-snapshot":"*","make-dir":"*",tmp:"*",typescript:"*"},peerDependenciesMeta:{typescript:{optional:!0}},funding:{type:"opencollective",url:"https://opencollective.com/typescript-eslint"},typesVersions:{"<3.8":{"*":["_ts3.4/*"]}},gitHead:"877d73327fca3bdbe7e170e8b3a906d090a6de37"}}}),tH=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/index.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__exportStar||function(C,d){for(var E in C)E!=="default"&&!Object.prototype.hasOwnProperty.call(d,E)&&_(d,C,E)};Object.defineProperty(a,"__esModule",{value:!0}),a.version=a.visitorKeys=a.typescriptVersionIsAtLeast=a.createProgram=a.simpleTraverse=a.parseWithNodeMaps=a.parseAndGenerateServices=a.parse=void 0;var h=y5();Object.defineProperty(a,"parse",{enumerable:!0,get:function(){return h.parse}}),Object.defineProperty(a,"parseAndGenerateServices",{enumerable:!0,get:function(){return h.parseAndGenerateServices}}),Object.defineProperty(a,"parseWithNodeMaps",{enumerable:!0,get:function(){return h.parseWithNodeMaps}});var D=t5();Object.defineProperty(a,"simpleTraverse",{enumerable:!0,get:function(){return D.simpleTraverse}}),v(x1(),a);var P=d5();Object.defineProperty(a,"createProgram",{enumerable:!0,get:function(){return P.createProgramFromConfigFile}}),v(gT(),a);var y=S1();Object.defineProperty(a,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return y.typescriptVersionIsAtLeast}}),v(fT(),a),v(ZV(),a);var m=e5();Object.defineProperty(a,"visitorKeys",{enumerable:!0,get:function(){return m.visitorKeys}}),a.version=eH().version}});De();var rH=w9(),nH=pW(),iH=SW(),aH=xW(),sH=PW(),{throwErrorForInvalidNodes:oH}=DW(),E9={loc:!0,range:!0,comment:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};function _H(a){let{message:_,lineNumber:v,column:h}=a;return typeof v!="number"?a:rH(_,{start:{line:v,column:h+1}})}function cH(a,_){let v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},h=aH(a),D=lH(a),{parseWithNodeMaps:P}=tH(),{result:y,error:m}=nH(()=>P(h,Object.assign(Object.assign({},E9),{},{jsx:D})),()=>P(h,Object.assign(Object.assign({},E9),{},{jsx:!D})));if(!y)throw _H(m);return v.originalText=a,oH(y,v),sH(y.ast,v)}function lH(a){return new RegExp(["(?:^[^\"'`]*)"].join(""),"m").test(a)}v5.exports={parsers:{typescript:iH(cH)}}});return uH();}); \ No newline at end of file diff --git a/node_modules/ts-poet/node_modules/prettier/parser-yaml.js b/node_modules/ts-poet/node_modules/prettier/parser-yaml.js deleted file mode 100644 index f9b10a75fc..0000000000 --- a/node_modules/ts-poet/node_modules/prettier/parser-yaml.js +++ /dev/null @@ -1,150 +0,0 @@ -(function(e){if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var i=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.yaml=e()}})(function(){"use strict";var yt=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var ln=yt((un,at)=>{var Ye=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,De=Object.getOwnPropertyNames,wt=Object.prototype.hasOwnProperty,Ke=(n,e)=>function(){return n&&(e=(0,n[De(n)[0]])(n=0)),e},D=(n,e)=>function(){return e||(0,n[De(n)[0]])((e={exports:{}}).exports,e),e.exports},St=(n,e)=>{for(var r in e)Ye(n,r,{get:e[r],enumerable:!0})},Et=(n,e,r,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let h of De(e))!wt.call(n,h)&&h!==r&&Ye(n,h,{get:()=>e[h],enumerable:!(c=bt(e,h))||c.enumerable});return n},se=n=>Et(Ye({},"__esModule",{value:!0}),n),Te,Y=Ke({""(){Te={env:{},argv:[]}}}),Mt=D({"src/common/parser-create-error.js"(n,e){"use strict";Y();function r(c,h){let d=new SyntaxError(c+" ("+h.start.line+":"+h.start.column+")");return d.loc=h,d}e.exports=r}}),Ot=D({"src/language-yaml/pragma.js"(n,e){"use strict";Y();function r(d){return/^\s*@(?:prettier|format)\s*$/.test(d)}function c(d){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(d)}function h(d){return`# @format - -${d}`}e.exports={isPragma:r,hasPragma:c,insertPragma:h}}}),Lt=D({"src/language-yaml/loc.js"(n,e){"use strict";Y();function r(h){return h.position.start.offset}function c(h){return h.position.end.offset}e.exports={locStart:r,locEnd:c}}}),te={};St(te,{__assign:()=>qe,__asyncDelegator:()=>Yt,__asyncGenerator:()=>jt,__asyncValues:()=>Dt,__await:()=>Ce,__awaiter:()=>Pt,__classPrivateFieldGet:()=>Qt,__classPrivateFieldSet:()=>Ut,__createBinding:()=>Rt,__decorate:()=>Tt,__exportStar:()=>qt,__extends:()=>At,__generator:()=>It,__importDefault:()=>Vt,__importStar:()=>Wt,__makeTemplateObject:()=>Ft,__metadata:()=>kt,__param:()=>Ct,__read:()=>Je,__rest:()=>Nt,__spread:()=>$t,__spreadArrays:()=>Bt,__values:()=>je});function At(n,e){Re(n,e);function r(){this.constructor=n}n.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}function Nt(n,e){var r={};for(var c in n)Object.prototype.hasOwnProperty.call(n,c)&&e.indexOf(c)<0&&(r[c]=n[c]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var h=0,c=Object.getOwnPropertySymbols(n);h=0;E--)(y=n[E])&&(d=(h<3?y(d):h>3?y(e,r,d):y(e,r))||d);return h>3&&d&&Object.defineProperty(e,r,d),d}function Ct(n,e){return function(r,c){e(r,c,n)}}function kt(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}function Pt(n,e,r,c){function h(d){return d instanceof r?d:new r(function(y){y(d)})}return new(r||(r=Promise))(function(d,y){function E(M){try{S(c.next(M))}catch(T){y(T)}}function I(M){try{S(c.throw(M))}catch(T){y(T)}}function S(M){M.done?d(M.value):h(M.value).then(E,I)}S((c=c.apply(n,e||[])).next())})}function It(n,e){var r={label:0,sent:function(){if(d[0]&1)throw d[1];return d[1]},trys:[],ops:[]},c,h,d,y;return y={next:E(0),throw:E(1),return:E(2)},typeof Symbol=="function"&&(y[Symbol.iterator]=function(){return this}),y;function E(S){return function(M){return I([S,M])}}function I(S){if(c)throw new TypeError("Generator is already executing.");for(;r;)try{if(c=1,h&&(d=S[0]&2?h.return:S[0]?h.throw||((d=h.return)&&d.call(h),0):h.next)&&!(d=d.call(h,S[1])).done)return d;switch(h=0,d&&(S=[S[0]&2,d.value]),S[0]){case 0:case 1:d=S;break;case 4:return r.label++,{value:S[1],done:!1};case 5:r.label++,h=S[1],S=[0];continue;case 7:S=r.ops.pop(),r.trys.pop();continue;default:if(d=r.trys,!(d=d.length>0&&d[d.length-1])&&(S[0]===6||S[0]===2)){r=0;continue}if(S[0]===3&&(!d||S[1]>d[0]&&S[1]=n.length&&(n=void 0),{value:n&&n[c++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Je(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var c=r.call(n),h,d=[],y;try{for(;(e===void 0||e-- >0)&&!(h=c.next()).done;)d.push(h.value)}catch(E){y={error:E}}finally{try{h&&!h.done&&(r=c.return)&&r.call(c)}finally{if(y)throw y.error}}return d}function $t(){for(var n=[],e=0;e1||E(P,C)})})}function E(P,C){try{I(c[P](C))}catch(q){T(d[0][3],q)}}function I(P){P.value instanceof Ce?Promise.resolve(P.value.v).then(S,M):T(d[0][2],P)}function S(P){E("next",P)}function M(P){E("throw",P)}function T(P,C){P(C),d.shift(),d.length&&E(d[0][0],d[0][1])}}function Yt(n){var e,r;return e={},c("next"),c("throw",function(h){throw h}),c("return"),e[Symbol.iterator]=function(){return this},e;function c(h,d){e[h]=n[h]?function(y){return(r=!r)?{value:Ce(n[h](y)),done:h==="return"}:d?d(y):y}:d}}function Dt(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],r;return e?e.call(n):(n=typeof je=="function"?je(n):n[Symbol.iterator](),r={},c("next"),c("throw"),c("return"),r[Symbol.asyncIterator]=function(){return this},r);function c(d){r[d]=n[d]&&function(y){return new Promise(function(E,I){y=n[d](y),h(E,I,y.done,y.value)})}}function h(d,y,E,I){Promise.resolve(I).then(function(S){d({value:S,done:E})},y)}}function Ft(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n}function Wt(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var r in n)Object.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e.default=n,e}function Vt(n){return n&&n.__esModule?n:{default:n}}function Qt(n,e){if(!e.has(n))throw new TypeError("attempted to get private field on non-instance");return e.get(n)}function Ut(n,e,r){if(!e.has(n))throw new TypeError("attempted to set private field on non-instance");return e.set(n,r),r}var Re,qe,ie=Ke({"node_modules/tslib/tslib.es6.js"(){Y(),Re=function(n,e){return Re=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,c){r.__proto__=c}||function(r,c){for(var h in c)c.hasOwnProperty(h)&&(r[h]=c[h])},Re(n,e)},qe=function(){return qe=Object.assign||function(e){for(var r,c=1,h=arguments.length;cthis.string.length)return null;for(var y=0,E=this.offsets;E[y+1]<=d;)y++;var I=d-E[y];return{line:y,column:I}},h.prototype.indexForLocation=function(d){var y=d.line,E=d.column;return y<0||y>=this.offsets.length||E<0||E>this.lengthOfLine(y)?null:this.offsets[y]+E},h.prototype.lengthOfLine=function(d){var y=this.offsets[d],E=d===this.offsets.length-1?this.string.length:this.offsets[d+1];return E-y},h}();n.LinesAndColumns=c,n.default=c}}),Jt=D({"node_modules/yaml-unist-parser/lib/utils/define-parents.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c){c===void 0&&(c=null),"children"in r&&r.children.forEach(function(h){return e(h,r)}),"anchor"in r&&r.anchor&&e(r.anchor,r),"tag"in r&&r.tag&&e(r.tag,r),"leadingComments"in r&&r.leadingComments.forEach(function(h){return e(h,r)}),"middleComments"in r&&r.middleComments.forEach(function(h){return e(h,r)}),"indicatorComment"in r&&r.indicatorComment&&e(r.indicatorComment,r),"trailingComment"in r&&r.trailingComment&&e(r.trailingComment,r),"endComments"in r&&r.endComments.forEach(function(h){return e(h,r)}),Object.defineProperty(r,"_parent",{value:c,enumerable:!1})}n.defineParents=e}}),Fe=D({"node_modules/yaml-unist-parser/lib/utils/get-point-text.js"(n){"use strict";Y(),n.__esModule=!0;function e(r){return r.line+":"+r.column}n.getPointText=e}}),xt=D({"node_modules/yaml-unist-parser/lib/attach.js"(n){"use strict";Y(),n.__esModule=!0;var e=Jt(),r=Fe();function c(S){e.defineParents(S);var M=h(S),T=S.children.slice();S.comments.sort(function(P,C){return P.position.start.offset-C.position.end.offset}).filter(function(P){return!P._parent}).forEach(function(P){for(;T.length>1&&P.position.start.line>T[0].position.end.line;)T.shift();y(P,M,T[0])})}n.attachComments=c;function h(S){for(var M=Array.from(new Array(S.position.end.line),function(){return{}}),T=0,P=S.comments;T1&&M.type!=="document"&&M.type!=="documentHead"){var C=M.position.end,q=S[C.line-1].trailingAttachableNode;(!q||C.column>=q.position.end.column)&&(S[C.line-1].trailingAttachableNode=M)}if(M.type!=="root"&&M.type!=="document"&&M.type!=="documentHead"&&M.type!=="documentBody")for(var R=M.position,T=R.start,C=R.end,B=[C.line].concat(T.line===C.line?[]:T.line),U=0,f=B;U=t.position.end.column)&&(S[i-1].trailingNode=M)}"children"in M&&M.children.forEach(function(s){d(S,s)})}}function y(S,M,T){var P=S.position.start.line,C=M[P-1].trailingAttachableNode;if(C){if(C.trailingComment)throw new Error("Unexpected multiple trailing comment at "+r.getPointText(S.position.start));e.defineParents(S,C),C.trailingComment=S;return}for(var q=P;q>=T.position.start.line;q--){var R=M[q-1].trailingNode,B=void 0;if(R)B=R;else if(q!==P&&M[q-1].comment)B=M[q-1].comment._parent;else continue;if((B.type==="sequence"||B.type==="mapping")&&(B=B.children[0]),B.type==="mappingItem"){var U=B.children,f=U[0],i=U[1];B=I(f)?f:i}for(;;){if(E(B,S)){e.defineParents(S,B),B.endComments.push(S);return}if(!B._parent)break;B=B._parent}break}for(var q=P+1;q<=T.position.end.line;q++){var t=M[q-1].leadingAttachableNode;if(t){e.defineParents(S,t),t.leadingComments.push(S);return}}var s=T.children[1];e.defineParents(S,s),s.endComments.push(S)}function E(S,M){if(S.position.start.offsetM.position.end.offset)switch(S.type){case"flowMapping":case"flowSequence":return S.children.length===0||M.position.start.line>S.children[S.children.length-1].position.end.line}if(M.position.end.offsetS.position.start.column;case"mappingKey":case"mappingValue":return M.position.start.column>S._parent.position.start.column&&(S.children.length===0||S.children.length===1&&S.children[0].type!=="blockFolded"&&S.children[0].type!=="blockLiteral")&&(S.type==="mappingValue"||I(S));default:return!1}}function I(S){return S.position.start!==S.position.end&&(S.children.length===0||S.position.start.offset!==S.children[0].position.start.offset)}}}),me=D({"node_modules/yaml-unist-parser/lib/factories/node.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c){return{type:r,position:c}}n.createNode=e}}),Ht=D({"node_modules/yaml-unist-parser/lib/factories/root.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d,y){return e.__assign(e.__assign({},r.createNode("root",h)),{children:d,comments:y})}n.createRoot=c}}),Gt=D({"node_modules/yaml-unist-parser/lib/preprocess.js"(n){"use strict";Y(),n.__esModule=!0;function e(r){switch(r.type){case"DOCUMENT":for(var c=r.contents.length-1;c>=0;c--)r.contents[c].type==="BLANK_LINE"?r.contents.splice(c,1):e(r.contents[c]);for(var c=r.directives.length-1;c>=0;c--)r.directives[c].type==="BLANK_LINE"&&r.directives.splice(c,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(var c=r.items.length-1;c>=0;c--){var h=r.items[c];"char"in h||(h.type==="BLANK_LINE"?r.items.splice(c,1):e(h))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":r.node&&e(r.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(r.type))}}n.removeCstBlankLine=e}}),Oe=D({"node_modules/yaml-unist-parser/lib/factories/leading-comment-attachable.js"(n){"use strict";Y(),n.__esModule=!0;function e(){return{leadingComments:[]}}n.createLeadingCommentAttachable=e}}),$e=D({"node_modules/yaml-unist-parser/lib/factories/trailing-comment-attachable.js"(n){"use strict";Y(),n.__esModule=!0;function e(r){return r===void 0&&(r=null),{trailingComment:r}}n.createTrailingCommentAttachable=e}}),Se=D({"node_modules/yaml-unist-parser/lib/factories/comment-attachable.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=$e();function h(){return e.__assign(e.__assign({},r.createLeadingCommentAttachable()),c.createTrailingCommentAttachable())}n.createCommentAttachable=h}}),zt=D({"node_modules/yaml-unist-parser/lib/factories/alias.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=me();function h(d,y,E){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("alias",d)),r.createCommentAttachable()),y),{value:E})}n.createAlias=h}}),Zt=D({"node_modules/yaml-unist-parser/lib/transforms/alias.js"(n){"use strict";Y(),n.__esModule=!0;var e=zt();function r(c,h){var d=c.cstNode;return e.createAlias(h.transformRange({origStart:d.valueRange.origStart-1,origEnd:d.valueRange.origEnd}),h.transformContent(c),d.rawValue)}n.transformAlias=r}}),Xt=D({"node_modules/yaml-unist-parser/lib/factories/block-folded.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"blockFolded"})}n.createBlockFolded=r}}),er=D({"node_modules/yaml-unist-parser/lib/factories/block-value.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=me();function h(d,y,E,I,S,M){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("blockValue",d)),r.createLeadingCommentAttachable()),y),{chomping:E,indent:I,value:S,indicatorComment:M})}n.createBlockValue=h}}),xe=D({"node_modules/yaml-unist-parser/lib/constants.js"(n){"use strict";Y(),n.__esModule=!0;var e;(function(r){r.Tag="!",r.Anchor="&",r.Comment="#"})(e=n.PropLeadingCharacter||(n.PropLeadingCharacter={}))}}),tr=D({"node_modules/yaml-unist-parser/lib/factories/anchor.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("anchor",h)),{value:d})}n.createAnchor=c}}),We=D({"node_modules/yaml-unist-parser/lib/factories/comment.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("comment",h)),{value:d})}n.createComment=c}}),rr=D({"node_modules/yaml-unist-parser/lib/factories/content.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c,h){return{anchor:c,tag:r,middleComments:h}}n.createContent=e}}),nr=D({"node_modules/yaml-unist-parser/lib/factories/tag.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("tag",h)),{value:d})}n.createTag=c}}),He=D({"node_modules/yaml-unist-parser/lib/transforms/content.js"(n){"use strict";Y(),n.__esModule=!0;var e=xe(),r=tr(),c=We(),h=rr(),d=nr();function y(E,I,S){S===void 0&&(S=function(){return!1});for(var M=E.cstNode,T=[],P=null,C=null,q=null,R=0,B=M.props;R=0;U--){var f=S.contents[U];if(f.type==="COMMENT"){var i=M.transformNode(f);T&&T.line===i.position.start.line?R.unshift(i):B?P.unshift(i):i.position.start.offset>=S.valueRange.origEnd?q.unshift(i):P.unshift(i)}else B=!0}if(q.length>1)throw new Error("Unexpected multiple document trailing comments at "+d.getPointText(q[1].position.start));if(R.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+d.getPointText(R[1].position.start));return{comments:P,endComments:C,documentTrailingComment:c.getLast(q)||null,documentHeadTrailingComment:c.getLast(R)||null}}function I(S,M,T){var P=h.getMatchIndex(T.text.slice(S.valueRange.origEnd),/^\.\.\./),C=P===-1?S.valueRange.origEnd:Math.max(0,S.valueRange.origEnd-1);T.text[C-1]==="\r"&&C--;var q=T.transformRange({origStart:M!==null?M.position.start.offset:C,origEnd:C}),R=P===-1?q.end:T.transformOffset(S.valueRange.origEnd+3);return{position:q,documentEndPoint:R}}}}),dr=D({"node_modules/yaml-unist-parser/lib/factories/document-head.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Ee(),c=me(),h=$e();function d(y,E,I,S){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("documentHead",y)),r.createEndCommentAttachable(I)),h.createTrailingCommentAttachable(S)),{children:E})}n.createDocumentHead=d}}),hr=D({"node_modules/yaml-unist-parser/lib/transforms/document-head.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=dr(),c=ze();function h(E,I){var S,M=E.cstNode,T=d(M,I),P=T.directives,C=T.comments,q=T.endComments,R=y(M,P,I),B=R.position,U=R.endMarkerPoint;(S=I.comments).push.apply(S,e.__spreadArrays(C,q));var f=function(i){return i&&I.comments.push(i),r.createDocumentHead(B,P,q,i)};return{createDocumentHeadWithTrailingComment:f,documentHeadEndMarkerPoint:U}}n.transformDocumentHead=h;function d(E,I){for(var S=[],M=[],T=[],P=!1,C=E.directives.length-1;C>=0;C--){var q=I.transformNode(E.directives[C]);q.type==="comment"?P?M.unshift(q):T.unshift(q):(P=!0,S.unshift(q))}return{directives:S,comments:M,endComments:T}}function y(E,I,S){var M=c.getMatchIndex(S.text.slice(0,E.valueRange.origStart),/---\s*$/);M>0&&!/[\r\n]/.test(S.text[M-1])&&(M=-1);var T=M===-1?{origStart:E.valueRange.origStart,origEnd:E.valueRange.origStart}:{origStart:M,origEnd:M+3};return I.length!==0&&(T.origStart=I[0].position.start.offset),{position:S.transformRange(T),endMarkerPoint:M===-1?null:S.transformOffset(M)}}}}),gr=D({"node_modules/yaml-unist-parser/lib/transforms/document.js"(n){"use strict";Y(),n.__esModule=!0;var e=ur(),r=Le(),c=mr(),h=hr();function d(y,E){var I=h.transformDocumentHead(y,E),S=I.createDocumentHeadWithTrailingComment,M=I.documentHeadEndMarkerPoint,T=c.transformDocumentBody(y,E,M),P=T.documentBody,C=T.documentEndPoint,q=T.documentTrailingComment,R=T.documentHeadTrailingComment,B=S(R);return q&&E.comments.push(q),e.createDocument(r.createPosition(B.position.start,C),B,P,q)}n.transformDocument=d}}),Ze=D({"node_modules/yaml-unist-parser/lib/factories/flow-collection.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=Ee(),h=me();function d(y,E,I){return e.__assign(e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("flowCollection",y)),r.createCommentAttachable()),c.createEndCommentAttachable()),E),{children:I})}n.createFlowCollection=d}}),pr=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Ze();function c(h,d,y){return e.__assign(e.__assign({},r.createFlowCollection(h,d,y)),{type:"flowMapping"})}n.createFlowMapping=c}}),Xe=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping-item.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=me();function h(d,y,E){return e.__assign(e.__assign(e.__assign({},c.createNode("flowMappingItem",d)),r.createLeadingCommentAttachable()),{children:[y,E]})}n.createFlowMappingItem=h}}),Be=D({"node_modules/yaml-unist-parser/lib/utils/extract-comments.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c){for(var h=[],d=0,y=r;d=0;d--)if(h.test(r[d]))return d;return-1}n.findLastCharIndex=e}}),Nr=D({"node_modules/yaml-unist-parser/lib/transforms/plain.js"(n){"use strict";Y(),n.__esModule=!0;var e=Lr(),r=Ar();function c(h,d){var y=h.cstNode;return e.createPlain(d.transformRange({origStart:y.valueRange.origStart,origEnd:r.findLastCharIndex(d.text,y.valueRange.origEnd-1,/\S/)+1}),d.transformContent(h),y.strValue)}n.transformPlain=c}}),Tr=D({"node_modules/yaml-unist-parser/lib/factories/quote-double.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"quoteDouble"})}n.createQuoteDouble=r}}),Cr=D({"node_modules/yaml-unist-parser/lib/factories/quote-value.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=me();function h(d,y,E){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("quoteValue",d)),y),r.createCommentAttachable()),{value:E})}n.createQuoteValue=h}}),nt=D({"node_modules/yaml-unist-parser/lib/transforms/quote-value.js"(n){"use strict";Y(),n.__esModule=!0;var e=Cr();function r(c,h){var d=c.cstNode;return e.createQuoteValue(h.transformRange(d.valueRange),h.transformContent(c),d.strValue)}n.transformAstQuoteValue=r}}),kr=D({"node_modules/yaml-unist-parser/lib/transforms/quote-double.js"(n){"use strict";Y(),n.__esModule=!0;var e=Tr(),r=nt();function c(h,d){return e.createQuoteDouble(r.transformAstQuoteValue(h,d))}n.transformQuoteDouble=c}}),Pr=D({"node_modules/yaml-unist-parser/lib/factories/quote-single.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"quoteSingle"})}n.createQuoteSingle=r}}),Ir=D({"node_modules/yaml-unist-parser/lib/transforms/quote-single.js"(n){"use strict";Y(),n.__esModule=!0;var e=Pr(),r=nt();function c(h,d){return e.createQuoteSingle(r.transformAstQuoteValue(h,d))}n.transformQuoteSingle=c}}),Rr=D({"node_modules/yaml-unist-parser/lib/factories/sequence.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Ee(),c=Oe(),h=me();function d(y,E,I){return e.__assign(e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("sequence",y)),c.createLeadingCommentAttachable()),r.createEndCommentAttachable()),E),{children:I})}n.createSequence=d}}),qr=D({"node_modules/yaml-unist-parser/lib/factories/sequence-item.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=Ee(),h=me();function d(y,E){return e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("sequenceItem",y)),r.createCommentAttachable()),c.createEndCommentAttachable()),{children:E?[E]:[]})}n.createSequenceItem=d}}),$r=D({"node_modules/yaml-unist-parser/lib/transforms/seq.js"(n){"use strict";Y(),n.__esModule=!0;var e=Le(),r=Rr(),c=qr(),h=Be(),d=Ve(),y=Ae();function E(I,S){var M=h.extractComments(I.cstNode.items,S),T=M.map(function(P,C){d.extractPropComments(P,S);var q=S.transformNode(I.items[C]);return c.createSequenceItem(e.createPosition(S.transformOffset(P.valueRange.origStart),q===null?S.transformOffset(P.valueRange.origStart+1):q.position.end),q)});return r.createSequence(e.createPosition(T[0].position.start,y.getLast(T).position.end),S.transformContent(I),T)}n.transformSeq=E}}),Br=D({"node_modules/yaml-unist-parser/lib/transform.js"(n){"use strict";Y(),n.__esModule=!0;var e=Zt(),r=sr(),c=ar(),h=or(),d=cr(),y=gr(),E=yr(),I=Sr(),S=Or(),M=Nr(),T=kr(),P=Ir(),C=$r();function q(R,B){if(R===null||R.type===void 0&&R.value===null)return null;switch(R.type){case"ALIAS":return e.transformAlias(R,B);case"BLOCK_FOLDED":return r.transformBlockFolded(R,B);case"BLOCK_LITERAL":return c.transformBlockLiteral(R,B);case"COMMENT":return h.transformComment(R,B);case"DIRECTIVE":return d.transformDirective(R,B);case"DOCUMENT":return y.transformDocument(R,B);case"FLOW_MAP":return E.transformFlowMap(R,B);case"FLOW_SEQ":return I.transformFlowSeq(R,B);case"MAP":return S.transformMap(R,B);case"PLAIN":return M.transformPlain(R,B);case"QUOTE_DOUBLE":return T.transformQuoteDouble(R,B);case"QUOTE_SINGLE":return P.transformQuoteSingle(R,B);case"SEQ":return C.transformSeq(R,B);default:throw new Error("Unexpected node type "+R.type)}}n.transformNode=q}}),jr=D({"node_modules/yaml-unist-parser/lib/factories/error.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c,h){var d=new SyntaxError(r);return d.name="YAMLSyntaxError",d.source=c,d.position=h,d}n.createError=e}}),Yr=D({"node_modules/yaml-unist-parser/lib/transforms/error.js"(n){"use strict";Y(),n.__esModule=!0;var e=jr();function r(c,h){var d=c.source.range||c.source.valueRange;return e.createError(c.message,h.text,h.transformRange(d))}n.transformError=r}}),Dr=D({"node_modules/yaml-unist-parser/lib/factories/point.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c,h){return{offset:r,line:c,column:h}}n.createPoint=e}}),Fr=D({"node_modules/yaml-unist-parser/lib/transforms/offset.js"(n){"use strict";Y(),n.__esModule=!0;var e=Dr();function r(c,h){c<0?c=0:c>h.text.length&&(c=h.text.length);var d=h.locator.locationForIndex(c);return e.createPoint(c,d.line+1,d.column+1)}n.transformOffset=r}}),Wr=D({"node_modules/yaml-unist-parser/lib/transforms/range.js"(n){"use strict";Y(),n.__esModule=!0;var e=Le();function r(c,h){return e.createPosition(h.transformOffset(c.origStart),h.transformOffset(c.origEnd))}n.transformRange=r}}),Vr=D({"node_modules/yaml-unist-parser/lib/utils/add-orig-range.js"(n){"use strict";Y(),n.__esModule=!0;var e=!0;function r(y){if(!y.setOrigRanges()){var E=function(I){if(h(I))return I.origStart=I.start,I.origEnd=I.end,e;if(d(I))return I.origOffset=I.offset,e};y.forEach(function(I){return c(I,E)})}}n.addOrigRange=r;function c(y,E){if(!(!y||typeof y!="object")&&E(y)!==e)for(var I=0,S=Object.keys(y);IM.offset}}}),Me=D({"node_modules/yaml/dist/PlainValue-ec8e588e.js"(n){"use strict";Y();var e={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},r={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},c="tag:yaml.org,2002:",h={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function d(i){let t=[0],s=i.indexOf(` -`);for(;s!==-1;)s+=1,t.push(s),s=i.indexOf(` -`,s);return t}function y(i){let t,s;return typeof i=="string"?(t=d(i),s=i):(Array.isArray(i)&&(i=i[0]),i&&i.context&&(i.lineStarts||(i.lineStarts=d(i.context.src)),t=i.lineStarts,s=i.context.src)),{lineStarts:t,src:s}}function E(i,t){if(typeof i!="number"||i<0)return null;let{lineStarts:s,src:a}=y(t);if(!s||!a||i>a.length)return null;for(let g=0;g=1)||i>s.length)return null;let m=s[i-1],g=s[i];for(;g&&g>m&&a[g-1]===` -`;)--g;return a.slice(m,g)}function S(i,t){let{start:s,end:a}=i,m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:80,g=I(s.line,t);if(!g)return null;let{col:u}=s;if(g.length>m)if(u<=m-10)g=g.substr(0,m-1)+"\u2026";else{let K=Math.round(m/2);g.length>u+K&&(g=g.substr(0,u+K-1)+"\u2026"),u-=g.length-m,g="\u2026"+g.substr(1-m)}let p=1,L="";a&&(a.line===s.line&&u+(a.col-s.col)<=m+1?p=a.col-s.col:(p=Math.min(g.length+1,m)-u,L="\u2026"));let k=u>1?" ".repeat(u-1):"",$="^".repeat(p);return`${g} -${k}${$}${L}`}var M=class{static copy(i){return new M(i.start,i.end)}constructor(i,t){this.start=i,this.end=t||i}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(i,t){let{start:s,end:a}=this;if(i.length===0||a<=i[0])return this.origStart=s,this.origEnd=a,t;let m=t;for(;ms);)++m;this.origStart=s+m;let g=m;for(;m=a);)++m;return this.origEnd=a+m,g}},T=class{static addStringTerminator(i,t,s){if(s[s.length-1]===` -`)return s;let a=T.endOfWhiteSpace(i,t);return a>=i.length||i[a]===` -`?s+` -`:s}static atDocumentBoundary(i,t,s){let a=i[t];if(!a)return!0;let m=i[t-1];if(m&&m!==` -`)return!1;if(s){if(a!==s)return!1}else if(a!==e.DIRECTIVES_END&&a!==e.DOCUMENT_END)return!1;let g=i[t+1],u=i[t+2];if(g!==a||u!==a)return!1;let p=i[t+3];return!p||p===` -`||p===" "||p===" "}static endOfIdentifier(i,t){let s=i[t],a=s==="<",m=a?[` -`," "," ",">"]:[` -`," "," ","[","]","{","}",","];for(;s&&m.indexOf(s)===-1;)s=i[t+=1];return a&&s===">"&&(t+=1),t}static endOfIndent(i,t){let s=i[t];for(;s===" ";)s=i[t+=1];return t}static endOfLine(i,t){let s=i[t];for(;s&&s!==` -`;)s=i[t+=1];return t}static endOfWhiteSpace(i,t){let s=i[t];for(;s===" "||s===" ";)s=i[t+=1];return t}static startOfLine(i,t){let s=i[t-1];if(s===` -`)return t;for(;s&&s!==` -`;)s=i[t-=1];return t+1}static endOfBlockIndent(i,t,s){let a=T.endOfIndent(i,s);if(a>s+t)return a;{let m=T.endOfWhiteSpace(i,a),g=i[m];if(!g||g===` -`)return m}return null}static atBlank(i,t,s){let a=i[t];return a===` -`||a===" "||a===" "||s&&!a}static nextNodeIsIndented(i,t,s){return!i||t<0?!1:t>0?!0:s&&i==="-"}static normalizeOffset(i,t){let s=i[t];return s?s!==` -`&&i[t-1]===` -`?t-1:T.endOfWhiteSpace(i,t):t}static foldNewline(i,t,s){let a=0,m=!1,g="",u=i[t+1];for(;u===" "||u===" "||u===` -`;){switch(u){case` -`:a=0,t+=1,g+=` -`;break;case" ":a<=s&&(m=!0),t=T.endOfWhiteSpace(i,t+2)-1;break;case" ":a+=1,t+=1;break}u=i[t+1]}return g||(g=" "),u&&a<=s&&(m=!0),{fold:g,offset:t,error:m}}constructor(i,t,s){Object.defineProperty(this,"context",{value:s||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=i,this.value=null}getPropValue(i,t,s){if(!this.context)return null;let{src:a}=this.context,m=this.props[i];return m&&a[m.start]===t?a.slice(m.start+(s?1:0),m.end):null}get anchor(){for(let i=0;i0?i.join(` -`):null}commentHasRequiredWhitespace(i){let{src:t}=this.context;if(this.header&&i===this.header.end||!this.valueRange)return!1;let{end:s}=this.valueRange;return i!==s||T.atBlank(t,s-1)}get hasComment(){if(this.context){let{src:i}=this.context;for(let t=0;ts.setOrigRange(i,t)),t}toString(){let{context:{src:i},range:t,value:s}=this;if(s!=null)return s;let a=i.slice(t.start,t.end);return T.addStringTerminator(i,t.end,a)}},P=class extends Error{constructor(i,t,s){if(!s||!(t instanceof T))throw new Error(`Invalid arguments for new ${i}`);super(),this.name=i,this.message=s,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;let i=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new M(this.offset,this.offset+1);let t=i&&E(this.offset,i);if(t){let s={line:t.line,col:t.col+1};this.linePos={start:t,end:s}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){let{line:t,col:s}=this.linePos.start;this.message+=` at line ${t}, column ${s}`;let a=i&&S(this.linePos,i);a&&(this.message+=`: - -${a} -`)}delete this.source}},C=class extends P{constructor(i,t){super("YAMLReferenceError",i,t)}},q=class extends P{constructor(i,t){super("YAMLSemanticError",i,t)}},R=class extends P{constructor(i,t){super("YAMLSyntaxError",i,t)}},B=class extends P{constructor(i,t){super("YAMLWarning",i,t)}};function U(i,t,s){return t in i?Object.defineProperty(i,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[t]=s,i}var f=class extends T{static endOfLine(i,t,s){let a=i[t],m=t;for(;a&&a!==` -`&&!(s&&(a==="["||a==="]"||a==="{"||a==="}"||a===","));){let g=i[m+1];if(a===":"&&(!g||g===` -`||g===" "||g===" "||s&&g===",")||(a===" "||a===" ")&&g==="#")break;m+=1,a=g}return m}get strValue(){if(!this.valueRange||!this.context)return null;let{start:i,end:t}=this.valueRange,{src:s}=this.context,a=s[t-1];for(;iL?s.slice(L,u+1):p)}else m+=p}let g=s[i];switch(g){case" ":{let u="Plain value cannot start with a tab character";return{errors:[new q(this,u)],str:m}}case"@":case"`":{let u=`Plain value cannot start with reserved character ${g}`;return{errors:[new q(this,u)],str:m}}default:return m}}parseBlockValue(i){let{indent:t,inFlow:s,src:a}=this.context,m=i,g=i;for(let u=a[m];u===` -`&&!T.atDocumentBoundary(a,m+1);u=a[m]){let p=T.endOfBlockIndent(a,t,m+1);if(p===null||a[p]==="#")break;a[p]===` -`?m=p:(g=f.endOfLine(a,p,s),m=g)}return this.valueRange.isEmpty()&&(this.valueRange.start=i),this.valueRange.end=g,g}parse(i,t){this.context=i;let{inFlow:s,src:a}=i,m=t,g=a[m];return g&&g!=="#"&&g!==` -`&&(m=f.endOfLine(a,t,s)),this.valueRange=new M(t,m),m=T.endOfWhiteSpace(a,m),m=this.parseComment(m),(!this.hasComment||this.valueRange.isEmpty())&&(m=this.parseBlockValue(m)),m}};n.Char=e,n.Node=T,n.PlainValue=f,n.Range=M,n.Type=r,n.YAMLError=P,n.YAMLReferenceError=C,n.YAMLSemanticError=q,n.YAMLSyntaxError=R,n.YAMLWarning=B,n._defineProperty=U,n.defaultTagPrefix=c,n.defaultTags=h}}),Jr=D({"node_modules/yaml/dist/parse-cst.js"(n){"use strict";Y();var e=Me(),r=class extends e.Node{constructor(){super(e.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(f,i){return this.context=f,this.range=new e.Range(i,i+1),i+1}},c=class extends e.Node{constructor(f,i){super(f,i),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(f,i){this.context=f;let{parseNode:t,src:s}=f,{atLineStart:a,lineStart:m}=f;!a&&this.type===e.Type.SEQ_ITEM&&(this.error=new e.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));let g=a?i-m:f.indent,u=e.Node.endOfWhiteSpace(s,i+1),p=s[u],L=p==="#",k=[],$=null;for(;p===` -`||p==="#";){if(p==="#"){let V=e.Node.endOfLine(s,u+1);k.push(new e.Range(u,V)),u=V}else{a=!0,m=u+1;let V=e.Node.endOfWhiteSpace(s,m);s[V]===` -`&&k.length===0&&($=new r,m=$.parse({src:s},m)),u=e.Node.endOfIndent(s,m)}p=s[u]}if(e.Node.nextNodeIsIndented(p,u-(m+g),this.type!==e.Type.SEQ_ITEM)?this.node=t({atLineStart:a,inCollection:!1,indent:g,lineStart:m,parent:this},u):p&&m>i+1&&(u=m-1),this.node){if($){let V=f.parent.items||f.parent.contents;V&&V.push($)}k.length&&Array.prototype.push.apply(this.props,k),u=this.node.range.end}else if(L){let V=k[0];this.props.push(V),u=V.end}else u=e.Node.endOfLine(s,i+1);let K=this.node?this.node.valueRange.end:u;return this.valueRange=new e.Range(i,K),u}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.node?this.node.setOrigRanges(f,i):i}toString(){let{context:{src:f},node:i,range:t,value:s}=this;if(s!=null)return s;let a=i?f.slice(t.start,i.range.start)+String(i):f.slice(t.start,t.end);return e.Node.addStringTerminator(f,t.end,a)}},h=class extends e.Node{constructor(){super(e.Type.COMMENT)}parse(f,i){this.context=f;let t=this.parseComment(i);return this.range=new e.Range(i,t),t}};function d(f){let i=f;for(;i instanceof c;)i=i.node;if(!(i instanceof y))return null;let t=i.items.length,s=-1;for(let g=t-1;g>=0;--g){let u=i.items[g];if(u.type===e.Type.COMMENT){let{indent:p,lineStart:L}=u.context;if(p>0&&u.range.start>=L+p)break;s=g}else if(u.type===e.Type.BLANK_LINE)s=g;else break}if(s===-1)return null;let a=i.items.splice(s,t-s),m=a[0].range.start;for(;i.range.end=m,i.valueRange&&i.valueRange.end>m&&(i.valueRange.end=m),i!==f;)i=i.context.parent;return a}var y=class extends e.Node{static nextContentHasIndent(f,i,t){let s=e.Node.endOfLine(f,i)+1;i=e.Node.endOfWhiteSpace(f,s);let a=f[i];return a?i>=s+t?!0:a!=="#"&&a!==` -`?!1:y.nextContentHasIndent(f,i,t):!1}constructor(f){super(f.type===e.Type.SEQ_ITEM?e.Type.SEQ:e.Type.MAP);for(let t=f.props.length-1;t>=0;--t)if(f.props[t].start0}parse(f,i){this.context=f;let{parseNode:t,src:s}=f,a=e.Node.startOfLine(s,i),m=this.items[0];m.context.parent=this,this.valueRange=e.Range.copy(m.valueRange);let g=m.range.start-m.context.lineStart,u=i;u=e.Node.normalizeOffset(s,u);let p=s[u],L=e.Node.endOfWhiteSpace(s,a)===u,k=!1;for(;p;){for(;p===` -`||p==="#";){if(L&&p===` -`&&!k){let V=new r;if(u=V.parse({src:s},u),this.valueRange.end=u,u>=s.length){p=null;break}this.items.push(V),u-=1}else if(p==="#"){if(u=s.length){p=null;break}}if(a=u+1,u=e.Node.endOfIndent(s,a),e.Node.atBlank(s,u)){let V=e.Node.endOfWhiteSpace(s,u),z=s[V];(!z||z===` -`||z==="#")&&(u=V)}p=s[u],L=!0}if(!p)break;if(u!==a+g&&(L||p!==":")){if(ui&&(u=a);break}else if(!this.error){let V="All collection items must start at the same column";this.error=new e.YAMLSyntaxError(this,V)}}if(m.type===e.Type.SEQ_ITEM){if(p!=="-"){a>i&&(u=a);break}}else if(p==="-"&&!this.error){let V=s[u+1];if(!V||V===` -`||V===" "||V===" "){let z="A collection cannot be both a mapping and a sequence";this.error=new e.YAMLSyntaxError(this,z)}}let $=t({atLineStart:L,inCollection:!0,indent:g,lineStart:a,parent:this},u);if(!$)return u;if(this.items.push($),this.valueRange.end=$.valueRange.end,u=e.Node.normalizeOffset(s,$.range.end),p=s[u],L=!1,k=$.includesTrailingLines,p){let V=u-1,z=s[V];for(;z===" "||z===" ";)z=s[--V];z===` -`&&(a=V+1,L=!0)}let K=d($);K&&Array.prototype.push.apply(this.items,K)}return u}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.items.forEach(t=>{i=t.setOrigRanges(f,i)}),i}toString(){let{context:{src:f},items:i,range:t,value:s}=this;if(s!=null)return s;let a=f.slice(t.start,i[0].range.start)+String(i[0]);for(let m=1;m0&&(this.contents=this.directives,this.directives=[]),a}return i[a]?(this.directivesEndMarker=new e.Range(a,a+3),a+3):(s?this.error=new e.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),a)}parseContents(f){let{parseNode:i,src:t}=this.context;this.contents||(this.contents=[]);let s=f;for(;t[s-1]==="-";)s-=1;let a=e.Node.endOfWhiteSpace(t,f),m=s===f;for(this.valueRange=new e.Range(a);!e.Node.atDocumentBoundary(t,a,e.Char.DOCUMENT_END);){switch(t[a]){case` -`:if(m){let g=new r;a=g.parse({src:t},a),a{i=t.setOrigRanges(f,i)}),this.directivesEndMarker&&(i=this.directivesEndMarker.setOrigRange(f,i)),this.contents.forEach(t=>{i=t.setOrigRanges(f,i)}),this.documentEndMarker&&(i=this.documentEndMarker.setOrigRange(f,i)),i}toString(){let{contents:f,directives:i,value:t}=this;if(t!=null)return t;let s=i.join("");return f.length>0&&((i.length>0||f[0].type===e.Type.COMMENT)&&(s+=`--- -`),s+=f.join("")),s[s.length-1]!==` -`&&(s+=` -`),s}},S=class extends e.Node{parse(f,i){this.context=f;let{src:t}=f,s=e.Node.endOfIdentifier(t,i+1);return this.valueRange=new e.Range(i+1,s),s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s}},M={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"},T=class extends e.Node{constructor(f,i){super(f,i),this.blockIndent=null,this.chomping=M.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===M.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:f,end:i}=this.valueRange,{indent:t,src:s}=this.context;if(this.valueRange.isEmpty())return"";let a=null,m=s[i-1];for(;m===` -`||m===" "||m===" ";){if(i-=1,i<=f){if(this.chomping===M.KEEP)break;return""}m===` -`&&(a=i),m=s[i-1]}let g=i+1;a&&(this.chomping===M.KEEP?(g=a,i=this.valueRange.end):i=a);let u=t+this.blockIndent,p=this.type===e.Type.BLOCK_FOLDED,L=!0,k="",$="",K=!1;for(let V=f;Vg&&(g=k);t[p]===` -`?a=p:a=m=e.Node.endOfLine(t,p)}return this.chomping!==M.KEEP&&(a=t[m]?m+1:m),this.valueRange=new e.Range(f+1,a),a}parse(f,i){this.context=f;let{src:t}=f,s=this.parseBlockHeader(i);return s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s=this.parseBlockValue(s),s}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.header?this.header.setOrigRange(f,i):i}},P=class extends e.Node{constructor(f,i){super(f,i),this.items=null}prevNodeIsJsonLike(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.items.length,i=this.items[f-1];return!!i&&(i.jsonLike||i.type===e.Type.COMMENT&&this.prevNodeIsJsonLike(f-1))}parse(f,i){this.context=f;let{parseNode:t,src:s}=f,{indent:a,lineStart:m}=f,g=s[i];this.items=[{char:g,offset:i}];let u=e.Node.endOfWhiteSpace(s,i+1);for(g=s[u];g&&g!=="]"&&g!=="}";){switch(g){case` -`:{m=u+1;let p=e.Node.endOfWhiteSpace(s,m);if(s[p]===` -`){let L=new r;m=L.parse({src:s},m),this.items.push(L)}if(u=e.Node.endOfIndent(s,m),u<=m+a&&(g=s[u],u{if(t instanceof e.Node)i=t.setOrigRanges(f,i);else if(f.length===0)t.origOffset=t.offset;else{let s=i;for(;st.offset);)++s;t.origOffset=t.offset+s,i=s}}),i}toString(){let{context:{src:f},items:i,range:t,value:s}=this;if(s!=null)return s;let a=i.filter(u=>u instanceof e.Node),m="",g=t.start;return a.forEach(u=>{let p=f.slice(g,u.range.start);g=u.range.end,m+=p+String(u),m[m.length-1]===` -`&&f[g-1]!==` -`&&f[g]===` -`&&(g+=1)}),m+=f.slice(g,t.end),e.Node.addStringTerminator(f,t.end,m)}},C=class extends e.Node{static endOfQuote(f,i){let t=f[i];for(;t&&t!=='"';)i+=t==="\\"?2:1,t=f[i];return i+1}get strValue(){if(!this.valueRange||!this.context)return null;let f=[],{start:i,end:t}=this.valueRange,{indent:s,src:a}=this.context;a[t-1]!=='"'&&f.push(new e.YAMLSyntaxError(this,'Missing closing "quote'));let m="";for(let g=i+1;gp?a.slice(p,g+1):u)}else m+=u}return f.length>0?{errors:f,str:m}:m}parseCharCode(f,i,t){let{src:s}=this.context,a=s.substr(f,i),g=a.length===i&&/^[0-9a-fA-F]+$/.test(a)?parseInt(a,16):NaN;return isNaN(g)?(t.push(new e.YAMLSyntaxError(this,`Invalid escape sequence ${s.substr(f-2,i+2)}`)),s.substr(f-2,i+2)):String.fromCodePoint(g)}parse(f,i){this.context=f;let{src:t}=f,s=C.endOfQuote(t,i+1);return this.valueRange=new e.Range(i,s),s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s}},q=class extends e.Node{static endOfQuote(f,i){let t=f[i];for(;t;)if(t==="'"){if(f[i+1]!=="'")break;t=f[i+=2]}else t=f[i+=1];return i+1}get strValue(){if(!this.valueRange||!this.context)return null;let f=[],{start:i,end:t}=this.valueRange,{indent:s,src:a}=this.context;a[t-1]!=="'"&&f.push(new e.YAMLSyntaxError(this,"Missing closing 'quote"));let m="";for(let g=i+1;gp?a.slice(p,g+1):u)}else m+=u}return f.length>0?{errors:f,str:m}:m}parse(f,i){this.context=f;let{src:t}=f,s=q.endOfQuote(t,i+1);return this.valueRange=new e.Range(i,s),s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s}};function R(f,i){switch(f){case e.Type.ALIAS:return new S(f,i);case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:return new T(f,i);case e.Type.FLOW_MAP:case e.Type.FLOW_SEQ:return new P(f,i);case e.Type.MAP_KEY:case e.Type.MAP_VALUE:case e.Type.SEQ_ITEM:return new c(f,i);case e.Type.COMMENT:case e.Type.PLAIN:return new e.PlainValue(f,i);case e.Type.QUOTE_DOUBLE:return new C(f,i);case e.Type.QUOTE_SINGLE:return new q(f,i);default:return null}}var B=class{static parseType(f,i,t){switch(f[i]){case"*":return e.Type.ALIAS;case">":return e.Type.BLOCK_FOLDED;case"|":return e.Type.BLOCK_LITERAL;case"{":return e.Type.FLOW_MAP;case"[":return e.Type.FLOW_SEQ;case"?":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.MAP_KEY:e.Type.PLAIN;case":":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.MAP_VALUE:e.Type.PLAIN;case"-":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.SEQ_ITEM:e.Type.PLAIN;case'"':return e.Type.QUOTE_DOUBLE;case"'":return e.Type.QUOTE_SINGLE;default:return e.Type.PLAIN}}constructor(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{atLineStart:i,inCollection:t,inFlow:s,indent:a,lineStart:m,parent:g}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};e._defineProperty(this,"parseNode",(u,p)=>{if(e.Node.atDocumentBoundary(this.src,p))return null;let L=new B(this,u),{props:k,type:$,valueStart:K}=L.parseProps(p),V=R($,k),z=V.parse(L,K);if(V.range=new e.Range(p,z),z<=p&&(V.error=new Error("Node#parse consumed no characters"),V.error.parseEnd=z,V.error.source=V,V.range.end=p+1),L.nodeStartsCollection(V)){!V.error&&!L.atLineStart&&L.parent.type===e.Type.DOCUMENT&&(V.error=new e.YAMLSyntaxError(V,"Block collection must not have preceding content here (e.g. directives-end indicator)"));let ae=new y(V);return z=ae.parse(new B(L),z),ae.range=new e.Range(p,z),ae}return V}),this.atLineStart=i!=null?i:f.atLineStart||!1,this.inCollection=t!=null?t:f.inCollection||!1,this.inFlow=s!=null?s:f.inFlow||!1,this.indent=a!=null?a:f.indent,this.lineStart=m!=null?m:f.lineStart,this.parent=g!=null?g:f.parent||{},this.root=f.root,this.src=f.src}nodeStartsCollection(f){let{inCollection:i,inFlow:t,src:s}=this;if(i||t)return!1;if(f instanceof c)return!0;let a=f.range.end;return s[a]===` -`||s[a-1]===` -`?!1:(a=e.Node.endOfWhiteSpace(s,a),s[a]===":")}parseProps(f){let{inFlow:i,parent:t,src:s}=this,a=[],m=!1;f=this.atLineStart?e.Node.endOfIndent(s,f):e.Node.endOfWhiteSpace(s,f);let g=s[f];for(;g===e.Char.ANCHOR||g===e.Char.COMMENT||g===e.Char.TAG||g===` -`;){if(g===` -`){let p=f,L;do L=p+1,p=e.Node.endOfIndent(s,L);while(s[p]===` -`);let k=p-(L+this.indent),$=t.type===e.Type.SEQ_ITEM&&t.context.atLineStart;if(s[p]!=="#"&&!e.Node.nextNodeIsIndented(s[p],k,!$))break;this.atLineStart=!0,this.lineStart=L,m=!1,f=p}else if(g===e.Char.COMMENT){let p=e.Node.endOfLine(s,f+1);a.push(new e.Range(f,p)),f=p}else{let p=e.Node.endOfIdentifier(s,f+1);g===e.Char.TAG&&s[p]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(s.slice(f+1,p+13))&&(p=e.Node.endOfIdentifier(s,p+5)),a.push(new e.Range(f,p)),m=!0,f=e.Node.endOfWhiteSpace(s,p)}g=s[f]}m&&g===":"&&e.Node.atBlank(s,f+1,!0)&&(f-=1);let u=B.parseType(s,f,i);return{props:a,type:u,valueStart:f}}};function U(f){let i=[];f.indexOf("\r")!==-1&&(f=f.replace(/\r\n?/g,(a,m)=>(a.length>1&&i.push(m),` -`)));let t=[],s=0;do{let a=new I,m=new B({src:f});s=a.parse(m,s),t.push(a)}while(s{if(i.length===0)return!1;for(let m=1;mt.join(`... -`),t}n.parse=U}}),ke=D({"node_modules/yaml/dist/resolveSeq-d03cb037.js"(n){"use strict";Y();var e=Me();function r(o,l,_){return _?`#${_.replace(/[\s\S]^/gm,`$&${l}#`)} -${l}${o}`:o}function c(o,l,_){return _?_.indexOf(` -`)===-1?`${o} #${_}`:`${o} -`+_.replace(/^/gm,`${l||""}#`):o}var h=class{};function d(o,l,_){if(Array.isArray(o))return o.map((v,b)=>d(v,String(b),_));if(o&&typeof o.toJSON=="function"){let v=_&&_.anchors&&_.anchors.get(o);v&&(_.onCreate=w=>{v.res=w,delete _.onCreate});let b=o.toJSON(l,_);return v&&_.onCreate&&_.onCreate(b),b}return(!_||!_.keep)&&typeof o=="bigint"?Number(o):o}var y=class extends h{constructor(o){super(),this.value=o}toJSON(o,l){return l&&l.keep?this.value:d(this.value,o,l)}toString(){return String(this.value)}};function E(o,l,_){let v=_;for(let b=l.length-1;b>=0;--b){let w=l[b];if(Number.isInteger(w)&&w>=0){let A=[];A[w]=v,v=A}else{let A={};Object.defineProperty(A,w,{value:v,writable:!0,enumerable:!0,configurable:!0}),v=A}}return o.createNode(v,!1)}var I=o=>o==null||typeof o=="object"&&o[Symbol.iterator]().next().done,S=class extends h{constructor(o){super(),e._defineProperty(this,"items",[]),this.schema=o}addIn(o,l){if(I(o))this.add(l);else{let[_,...v]=o,b=this.get(_,!0);if(b instanceof S)b.addIn(v,l);else if(b===void 0&&this.schema)this.set(_,E(this.schema,v,l));else throw new Error(`Expected YAML collection at ${_}. Remaining path: ${v}`)}}deleteIn(o){let[l,..._]=o;if(_.length===0)return this.delete(l);let v=this.get(l,!0);if(v instanceof S)return v.deleteIn(_);throw new Error(`Expected YAML collection at ${l}. Remaining path: ${_}`)}getIn(o,l){let[_,...v]=o,b=this.get(_,!0);return v.length===0?!l&&b instanceof y?b.value:b:b instanceof S?b.getIn(v,l):void 0}hasAllNullValues(){return this.items.every(o=>{if(!o||o.type!=="PAIR")return!1;let l=o.value;return l==null||l instanceof y&&l.value==null&&!l.commentBefore&&!l.comment&&!l.tag})}hasIn(o){let[l,..._]=o;if(_.length===0)return this.has(l);let v=this.get(l,!0);return v instanceof S?v.hasIn(_):!1}setIn(o,l){let[_,...v]=o;if(v.length===0)this.set(_,l);else{let b=this.get(_,!0);if(b instanceof S)b.setIn(v,l);else if(b===void 0&&this.schema)this.set(_,E(this.schema,v,l));else throw new Error(`Expected YAML collection at ${_}. Remaining path: ${v}`)}}toJSON(){return null}toString(o,l,_,v){let{blockItem:b,flowChars:w,isMap:A,itemIndent:N}=l,{indent:j,indentStep:F,stringify:Q}=o,H=this.type===e.Type.FLOW_MAP||this.type===e.Type.FLOW_SEQ||o.inFlow;H&&(N+=F);let oe=A&&this.hasAllNullValues();o=Object.assign({},o,{allNullValues:oe,indent:N,inFlow:H,type:null});let le=!1,Z=!1,ee=this.items.reduce((de,ne,he)=>{let ce;ne&&(!le&&ne.spaceBefore&&de.push({type:"comment",str:""}),ne.commentBefore&&ne.commentBefore.match(/^.*$/gm).forEach(Ie=>{de.push({type:"comment",str:`#${Ie}`})}),ne.comment&&(ce=ne.comment),H&&(!le&&ne.spaceBefore||ne.commentBefore||ne.comment||ne.key&&(ne.key.commentBefore||ne.key.comment)||ne.value&&(ne.value.commentBefore||ne.value.comment))&&(Z=!0)),le=!1;let fe=Q(ne,o,()=>ce=null,()=>le=!0);return H&&!Z&&fe.includes(` -`)&&(Z=!0),H&&hece.str);if(Z||he.reduce((ce,fe)=>ce+fe.length+2,2)>S.maxFlowStringSingleLineLength){X=de;for(let ce of he)X+=ce?` -${F}${j}${ce}`:` -`;X+=` -${j}${ne}`}else X=`${de} ${he.join(" ")} ${ne}`}else{let de=ee.map(b);X=de.shift();for(let ne of de)X+=ne?` -${j}${ne}`:` -`}return this.comment?(X+=` -`+this.comment.replace(/^/gm,`${j}#`),_&&_()):le&&v&&v(),X}};e._defineProperty(S,"maxFlowStringSingleLineLength",60);function M(o){let l=o instanceof y?o.value:o;return l&&typeof l=="string"&&(l=Number(l)),Number.isInteger(l)&&l>=0?l:null}var T=class extends S{add(o){this.items.push(o)}delete(o){let l=M(o);return typeof l!="number"?!1:this.items.splice(l,1).length>0}get(o,l){let _=M(o);if(typeof _!="number")return;let v=this.items[_];return!l&&v instanceof y?v.value:v}has(o){let l=M(o);return typeof l=="number"&&lv.type==="comment"?v.str:`- ${v.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(o.indent||"")+" "},l,_):JSON.stringify(this)}},P=(o,l,_)=>l===null?"":typeof l!="object"?String(l):o instanceof h&&_&&_.doc?o.toString({anchors:Object.create(null),doc:_.doc,indent:"",indentStep:_.indentStep,inFlow:!0,inStringifyKey:!0,stringify:_.stringify}):JSON.stringify(l),C=class extends h{constructor(o){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;super(),this.key=o,this.value=l,this.type=C.Type.PAIR}get commentBefore(){return this.key instanceof h?this.key.commentBefore:void 0}set commentBefore(o){if(this.key==null&&(this.key=new y(null)),this.key instanceof h)this.key.commentBefore=o;else{let l="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(l)}}addToJSMap(o,l){let _=d(this.key,"",o);if(l instanceof Map){let v=d(this.value,_,o);l.set(_,v)}else if(l instanceof Set)l.add(_);else{let v=P(this.key,_,o),b=d(this.value,v,o);v in l?Object.defineProperty(l,v,{value:b,writable:!0,enumerable:!0,configurable:!0}):l[v]=b}return l}toJSON(o,l){let _=l&&l.mapAsMap?new Map:{};return this.addToJSMap(l,_)}toString(o,l,_){if(!o||!o.doc)return JSON.stringify(this);let{indent:v,indentSeq:b,simpleKeys:w}=o.doc.options,{key:A,value:N}=this,j=A instanceof h&&A.comment;if(w){if(j)throw new Error("With simple keys, key nodes cannot have comments");if(A instanceof S){let ce="With simple keys, collection cannot be used as a key value";throw new Error(ce)}}let F=!w&&(!A||j||(A instanceof h?A instanceof S||A.type===e.Type.BLOCK_FOLDED||A.type===e.Type.BLOCK_LITERAL:typeof A=="object")),{doc:Q,indent:H,indentStep:oe,stringify:le}=o;o=Object.assign({},o,{implicitKey:!F,indent:H+oe});let Z=!1,ee=le(A,o,()=>j=null,()=>Z=!0);if(ee=c(ee,o.indent,j),!F&&ee.length>1024){if(w)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");F=!0}if(o.allNullValues&&!w)return this.comment?(ee=c(ee,o.indent,this.comment),l&&l()):Z&&!j&&_&&_(),o.inFlow&&!F?ee:`? ${ee}`;ee=F?`? ${ee} -${H}:`:`${ee}:`,this.comment&&(ee=c(ee,o.indent,this.comment),l&&l());let X="",de=null;if(N instanceof h){if(N.spaceBefore&&(X=` -`),N.commentBefore){let ce=N.commentBefore.replace(/^/gm,`${o.indent}#`);X+=` -${ce}`}de=N.comment}else N&&typeof N=="object"&&(N=Q.schema.createNode(N,!0));o.implicitKey=!1,!F&&!this.comment&&N instanceof y&&(o.indentAtStart=ee.length+1),Z=!1,!b&&v>=2&&!o.inFlow&&!F&&N instanceof T&&N.type!==e.Type.FLOW_SEQ&&!N.tag&&!Q.anchors.getName(N)&&(o.indent=o.indent.substr(2));let ne=le(N,o,()=>de=null,()=>Z=!0),he=" ";return X||this.comment?he=`${X} -${o.indent}`:!F&&N instanceof S?(!(ne[0]==="["||ne[0]==="{")||ne.includes(` -`))&&(he=` -${o.indent}`):ne[0]===` -`&&(he=""),Z&&!de&&_&&_(),c(ee+he+ne,o.indent,de)}};e._defineProperty(C,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var q=(o,l)=>{if(o instanceof R){let _=l.get(o.source);return _.count*_.aliasCount}else if(o instanceof S){let _=0;for(let v of o.items){let b=q(v,l);b>_&&(_=b)}return _}else if(o instanceof C){let _=q(o.key,l),v=q(o.value,l);return Math.max(_,v)}return 1},R=class extends h{static stringify(o,l){let{range:_,source:v}=o,{anchors:b,doc:w,implicitKey:A,inStringifyKey:N}=l,j=Object.keys(b).find(Q=>b[Q]===v);if(!j&&N&&(j=w.anchors.getName(v)||w.anchors.newName()),j)return`*${j}${A?" ":""}`;let F=w.anchors.getName(v)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${F} [${_}]`)}constructor(o){super(),this.source=o,this.type=e.Type.ALIAS}set tag(o){throw new Error("Alias nodes cannot have tags")}toJSON(o,l){if(!l)return d(this.source,o,l);let{anchors:_,maxAliasCount:v}=l,b=_.get(this.source);if(!b||b.res===void 0){let w="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new e.YAMLReferenceError(this.cstNode,w):new ReferenceError(w)}if(v>=0&&(b.count+=1,b.aliasCount===0&&(b.aliasCount=q(this.source,_)),b.count*b.aliasCount>v)){let w="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new e.YAMLReferenceError(this.cstNode,w):new ReferenceError(w)}return b.res}toString(o){return R.stringify(this,o)}};e._defineProperty(R,"default",!0);function B(o,l){let _=l instanceof y?l.value:l;for(let v of o)if(v instanceof C&&(v.key===l||v.key===_||v.key&&v.key.value===_))return v}var U=class extends S{add(o,l){o?o instanceof C||(o=new C(o.key||o,o.value)):o=new C(o);let _=B(this.items,o.key),v=this.schema&&this.schema.sortMapEntries;if(_)if(l)_.value=o.value;else throw new Error(`Key ${o.key} already set`);else if(v){let b=this.items.findIndex(w=>v(o,w)<0);b===-1?this.items.push(o):this.items.splice(b,0,o)}else this.items.push(o)}delete(o){let l=B(this.items,o);return l?this.items.splice(this.items.indexOf(l),1).length>0:!1}get(o,l){let _=B(this.items,o),v=_&&_.value;return!l&&v instanceof y?v.value:v}has(o){return!!B(this.items,o)}set(o,l){this.add(new C(o,l),!0)}toJSON(o,l,_){let v=_?new _:l&&l.mapAsMap?new Map:{};l&&l.onCreate&&l.onCreate(v);for(let b of this.items)b.addToJSMap(l,v);return v}toString(o,l,_){if(!o)return JSON.stringify(this);for(let v of this.items)if(!(v instanceof C))throw new Error(`Map items must all be pairs; found ${JSON.stringify(v)} instead`);return super.toString(o,{blockItem:v=>v.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:o.indent||""},l,_)}},f="<<",i=class extends C{constructor(o){if(o instanceof C){let l=o.value;l instanceof T||(l=new T,l.items.push(o.value),l.range=o.value.range),super(o.key,l),this.range=o.range}else super(new y(f),new T);this.type=C.Type.MERGE_PAIR}addToJSMap(o,l){for(let{source:_}of this.value.items){if(!(_ instanceof U))throw new Error("Merge sources must be maps");let v=_.toJSON(null,o,Map);for(let[b,w]of v)l instanceof Map?l.has(b)||l.set(b,w):l instanceof Set?l.add(b):Object.prototype.hasOwnProperty.call(l,b)||Object.defineProperty(l,b,{value:w,writable:!0,enumerable:!0,configurable:!0})}return l}toString(o,l){let _=this.value;if(_.items.length>1)return super.toString(o,l);this.value=_.items[0];let v=super.toString(o,l);return this.value=_,v}},t={defaultType:e.Type.BLOCK_LITERAL,lineWidth:76},s={trueStr:"true",falseStr:"false"},a={asBigInt:!1},m={nullStr:"null"},g={defaultType:e.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function u(o,l,_){for(let{format:v,test:b,resolve:w}of l)if(b){let A=o.match(b);if(A){let N=w.apply(null,A);return N instanceof y||(N=new y(N)),v&&(N.format=v),N}}return _&&(o=_(o)),new y(o)}var p="flow",L="block",k="quoted",$=(o,l)=>{let _=o[l+1];for(;_===" "||_===" ";){do _=o[l+=1];while(_&&_!==` -`);_=o[l+1]}return l};function K(o,l,_,v){let{indentAtStart:b,lineWidth:w=80,minContentWidth:A=20,onFold:N,onOverflow:j}=v;if(!w||w<0)return o;let F=Math.max(1+A,1+w-l.length);if(o.length<=F)return o;let Q=[],H={},oe=w-l.length;typeof b=="number"&&(b>w-Math.max(2,A)?Q.push(0):oe=w-b);let le,Z,ee=!1,X=-1,de=-1,ne=-1;_===L&&(X=$(o,X),X!==-1&&(oe=X+F));for(let ce;ce=o[X+=1];){if(_===k&&ce==="\\"){switch(de=X,o[X+1]){case"x":X+=3;break;case"u":X+=5;break;case"U":X+=9;break;default:X+=1}ne=X}if(ce===` -`)_===L&&(X=$(o,X)),oe=X+F,le=void 0;else{if(ce===" "&&Z&&Z!==" "&&Z!==` -`&&Z!==" "){let fe=o[X+1];fe&&fe!==" "&&fe!==` -`&&fe!==" "&&(le=X)}if(X>=oe)if(le)Q.push(le),oe=le+F,le=void 0;else if(_===k){for(;Z===" "||Z===" ";)Z=ce,ce=o[X+=1],ee=!0;let fe=X>ne+1?X-2:de-1;if(H[fe])return o;Q.push(fe),H[fe]=!0,oe=fe+F,le=void 0}else ee=!0}Z=ce}if(ee&&j&&j(),Q.length===0)return o;N&&N();let he=o.slice(0,Q[0]);for(let ce=0;ce{let{indentAtStart:l}=o;return l?Object.assign({indentAtStart:l},g.fold):g.fold},z=o=>/^(%|---|\.\.\.)/m.test(o);function ae(o,l,_){if(!l||l<0)return!1;let v=l-_,b=o.length;if(b<=v)return!1;for(let w=0,A=0;wv)return!0;if(A=w+1,b-A<=v)return!1}return!0}function ue(o,l){let{implicitKey:_}=l,{jsonEncoding:v,minMultiLineLength:b}=g.doubleQuoted,w=JSON.stringify(o);if(v)return w;let A=l.indent||(z(o)?" ":""),N="",j=0;for(let F=0,Q=w[F];Q;Q=w[++F])if(Q===" "&&w[F+1]==="\\"&&w[F+2]==="n"&&(N+=w.slice(j,F)+"\\ ",F+=1,j=F,Q="\\"),Q==="\\")switch(w[F+1]){case"u":{N+=w.slice(j,F);let H=w.substr(F+2,4);switch(H){case"0000":N+="\\0";break;case"0007":N+="\\a";break;case"000b":N+="\\v";break;case"001b":N+="\\e";break;case"0085":N+="\\N";break;case"00a0":N+="\\_";break;case"2028":N+="\\L";break;case"2029":N+="\\P";break;default:H.substr(0,2)==="00"?N+="\\x"+H.substr(2):N+=w.substr(F,6)}F+=5,j=F+1}break;case"n":if(_||w[F+2]==='"'||w.length";if(!A)return Q+` -`;let H="",oe="";if(A=A.replace(/[\n\t ]*$/,Z=>{let ee=Z.indexOf(` -`);return ee===-1?Q+="-":(A===Z||ee!==Z.length-1)&&(Q+="+",v&&v()),oe=Z.replace(/\n$/,""),""}).replace(/^[\n ]*/,Z=>{Z.indexOf(" ")!==-1&&(Q+=j);let ee=Z.match(/ +$/);return ee?(H=Z.slice(0,-ee[0].length),ee[0]):(H=Z,"")}),oe&&(oe=oe.replace(/\n+(?!\n|$)/g,`$&${N}`)),H&&(H=H.replace(/\n+/g,`$&${N}`)),b&&(Q+=" #"+b.replace(/ ?[\r\n]+/g," "),_&&_()),!A)return`${Q}${j} -${N}${oe}`;if(F)return A=A.replace(/\n+/g,`$&${N}`),`${Q} -${N}${H}${A}${oe}`;A=A.replace(/\n+/g,` -$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${N}`);let le=K(`${H}${A}${oe}`,N,L,g.fold);return`${Q} -${N}${le}`}function O(o,l,_,v){let{comment:b,type:w,value:A}=o,{actualString:N,implicitKey:j,indent:F,inFlow:Q}=l;if(j&&/[\n[\]{},]/.test(A)||Q&&/[[\]{},]/.test(A))return ue(A,l);if(!A||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(A))return j||Q||A.indexOf(` -`)===-1?A.indexOf('"')!==-1&&A.indexOf("'")===-1?pe(A,l):ue(A,l):ge(o,l,_,v);if(!j&&!Q&&w!==e.Type.PLAIN&&A.indexOf(` -`)!==-1)return ge(o,l,_,v);if(F===""&&z(A))return l.forceBlockIndent=!0,ge(o,l,_,v);let H=A.replace(/\n+/g,`$& -${F}`);if(N){let{tags:le}=l.doc.schema;if(typeof u(H,le,le.scalarFallback).value!="string")return ue(A,l)}let oe=j?H:K(H,F,p,V(l));return b&&!Q&&(oe.indexOf(` -`)!==-1||b.indexOf(` -`)!==-1)?(_&&_(),r(oe,F,b)):oe}function W(o,l,_,v){let{defaultType:b}=g,{implicitKey:w,inFlow:A}=l,{type:N,value:j}=o;typeof j!="string"&&(j=String(j),o=Object.assign({},o,{value:j}));let F=H=>{switch(H){case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:return ge(o,l,_,v);case e.Type.QUOTE_DOUBLE:return ue(j,l);case e.Type.QUOTE_SINGLE:return pe(j,l);case e.Type.PLAIN:return O(o,l,_,v);default:return null}};(N!==e.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(j)||(w||A)&&(N===e.Type.BLOCK_FOLDED||N===e.Type.BLOCK_LITERAL))&&(N=e.Type.QUOTE_DOUBLE);let Q=F(N);if(Q===null&&(Q=F(b),Q===null))throw new Error(`Unsupported default string type ${b}`);return Q}function J(o){let{format:l,minFractionDigits:_,tag:v,value:b}=o;if(typeof b=="bigint")return String(b);if(!isFinite(b))return isNaN(b)?".nan":b<0?"-.inf":".inf";let w=JSON.stringify(b);if(!l&&_&&(!v||v==="tag:yaml.org,2002:float")&&/^\d/.test(w)){let A=w.indexOf(".");A<0&&(A=w.length,w+=".");let N=_-(w.length-A-1);for(;N-- >0;)w+="0"}return w}function x(o,l){let _,v;switch(l.type){case e.Type.FLOW_MAP:_="}",v="flow map";break;case e.Type.FLOW_SEQ:_="]",v="flow sequence";break;default:o.push(new e.YAMLSemanticError(l,"Not a flow collection!?"));return}let b;for(let w=l.items.length-1;w>=0;--w){let A=l.items[w];if(!A||A.type!==e.Type.COMMENT){b=A;break}}if(b&&b.char!==_){let w=`Expected ${v} to end with ${_}`,A;typeof b.offset=="number"?(A=new e.YAMLSemanticError(l,w),A.offset=b.offset+1):(A=new e.YAMLSemanticError(b,w),b.range&&b.range.end&&(A.offset=b.range.end-b.range.start)),o.push(A)}}function G(o,l){let _=l.context.src[l.range.start-1];if(_!==` -`&&_!==" "&&_!==" "){let v="Comments must be separated from other tokens by white space characters";o.push(new e.YAMLSemanticError(l,v))}}function re(o,l){let _=String(l),v=_.substr(0,8)+"..."+_.substr(-8);return new e.YAMLSemanticError(o,`The "${v}" key is too long`)}function _e(o,l){for(let{afterKey:_,before:v,comment:b}of l){let w=o.items[v];w?(_&&w.value&&(w=w.value),b===void 0?(_||!w.commentBefore)&&(w.spaceBefore=!0):w.commentBefore?w.commentBefore+=` -`+b:w.commentBefore=b):b!==void 0&&(o.comment?o.comment+=` -`+b:o.comment=b)}}function ye(o,l){let _=l.strValue;return _?typeof _=="string"?_:(_.errors.forEach(v=>{v.source||(v.source=l),o.errors.push(v)}),_.str):""}function be(o,l){let{handle:_,suffix:v}=l.tag,b=o.tagPrefixes.find(w=>w.handle===_);if(!b){let w=o.getDefaults().tagPrefixes;if(w&&(b=w.find(A=>A.handle===_)),!b)throw new e.YAMLSemanticError(l,`The ${_} tag handle is non-default and was not declared.`)}if(!v)throw new e.YAMLSemanticError(l,`The ${_} tag has no suffix.`);if(_==="!"&&(o.version||o.options.version)==="1.0"){if(v[0]==="^")return o.warnings.push(new e.YAMLWarning(l,"YAML 1.0 ^ tag expansion is not supported")),v;if(/[:/]/.test(v)){let w=v.match(/^([a-z0-9-]+)\/(.*)/i);return w?`tag:${w[1]}.yaml.org,2002:${w[2]}`:`tag:${v}`}}return b.prefix+decodeURIComponent(v)}function ve(o,l){let{tag:_,type:v}=l,b=!1;if(_){let{handle:w,suffix:A,verbatim:N}=_;if(N){if(N!=="!"&&N!=="!!")return N;let j=`Verbatim tags aren't resolved, so ${N} is invalid.`;o.errors.push(new e.YAMLSemanticError(l,j))}else if(w==="!"&&!A)b=!0;else try{return be(o,l)}catch(j){o.errors.push(j)}}switch(v){case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:case e.Type.QUOTE_DOUBLE:case e.Type.QUOTE_SINGLE:return e.defaultTags.STR;case e.Type.FLOW_MAP:case e.Type.MAP:return e.defaultTags.MAP;case e.Type.FLOW_SEQ:case e.Type.SEQ:return e.defaultTags.SEQ;case e.Type.PLAIN:return b?e.defaultTags.STR:null;default:return null}}function Ne(o,l,_){let{tags:v}=o.schema,b=[];for(let A of v)if(A.tag===_)if(A.test)b.push(A);else{let N=A.resolve(o,l);return N instanceof S?N:new y(N)}let w=ye(o,l);return typeof w=="string"&&b.length>0?u(w,b,v.scalarFallback):null}function Pe(o){let{type:l}=o;switch(l){case e.Type.FLOW_MAP:case e.Type.MAP:return e.defaultTags.MAP;case e.Type.FLOW_SEQ:case e.Type.SEQ:return e.defaultTags.SEQ;default:return e.defaultTags.STR}}function ot(o,l,_){try{let v=Ne(o,l,_);if(v)return _&&l.tag&&(v.tag=_),v}catch(v){return v.source||(v.source=l),o.errors.push(v),null}try{let v=Pe(l);if(!v)throw new Error(`The tag ${_} is unavailable`);let b=`The tag ${_} is unavailable, falling back to ${v}`;o.warnings.push(new e.YAMLWarning(l,b));let w=Ne(o,l,v);return w.tag=_,w}catch(v){let b=new e.YAMLReferenceError(l,v.message);return b.stack=v.stack,o.errors.push(b),null}}var lt=o=>{if(!o)return!1;let{type:l}=o;return l===e.Type.MAP_KEY||l===e.Type.MAP_VALUE||l===e.Type.SEQ_ITEM};function ct(o,l){let _={before:[],after:[]},v=!1,b=!1,w=lt(l.context.parent)?l.context.parent.props.concat(l.props):l.props;for(let{start:A,end:N}of w)switch(l.context.src[A]){case e.Char.COMMENT:{if(!l.commentHasRequiredWhitespace(A)){let H="Comments must be separated from other tokens by white space characters";o.push(new e.YAMLSemanticError(l,H))}let{header:j,valueRange:F}=l;(F&&(A>F.start||j&&A>j.start)?_.after:_.before).push(l.context.src.slice(A+1,N));break}case e.Char.ANCHOR:if(v){let j="A node can have at most one anchor";o.push(new e.YAMLSemanticError(l,j))}v=!0;break;case e.Char.TAG:if(b){let j="A node can have at most one tag";o.push(new e.YAMLSemanticError(l,j))}b=!0;break}return{comments:_,hasAnchor:v,hasTag:b}}function ut(o,l){let{anchors:_,errors:v,schema:b}=o;if(l.type===e.Type.ALIAS){let A=l.rawValue,N=_.getNode(A);if(!N){let F=`Aliased anchor not found: ${A}`;return v.push(new e.YAMLReferenceError(l,F)),null}let j=new R(N);return _._cstAliases.push(j),j}let w=ve(o,l);if(w)return ot(o,l,w);if(l.type!==e.Type.PLAIN){let A=`Failed to resolve ${l.type} node here`;return v.push(new e.YAMLSyntaxError(l,A)),null}try{let A=ye(o,l);return u(A,b.tags,b.tags.scalarFallback)}catch(A){return A.source||(A.source=l),v.push(A),null}}function we(o,l){if(!l)return null;l.error&&o.errors.push(l.error);let{comments:_,hasAnchor:v,hasTag:b}=ct(o.errors,l);if(v){let{anchors:A}=o,N=l.anchor,j=A.getNode(N);j&&(A.map[A.newName(N)]=j),A.map[N]=l}if(l.type===e.Type.ALIAS&&(v||b)){let A="An alias node must not specify any properties";o.errors.push(new e.YAMLSemanticError(l,A))}let w=ut(o,l);if(w){w.range=[l.range.start,l.range.end],o.options.keepCstNodes&&(w.cstNode=l),o.options.keepNodeTypes&&(w.type=l.type);let A=_.before.join(` -`);A&&(w.commentBefore=w.commentBefore?`${w.commentBefore} -${A}`:A);let N=_.after.join(` -`);N&&(w.comment=w.comment?`${w.comment} -${N}`:N)}return l.resolved=w}function ft(o,l){if(l.type!==e.Type.MAP&&l.type!==e.Type.FLOW_MAP){let A=`A ${l.type} node cannot be resolved as a mapping`;return o.errors.push(new e.YAMLSyntaxError(l,A)),null}let{comments:_,items:v}=l.type===e.Type.FLOW_MAP?gt(o,l):ht(o,l),b=new U;b.items=v,_e(b,_);let w=!1;for(let A=0;A{if(Q instanceof R){let{type:H}=Q.source;return H===e.Type.MAP||H===e.Type.FLOW_MAP?!1:F="Merge nodes aliases can only point to maps"}return F="Merge nodes can only have Alias nodes as values"}),F&&o.errors.push(new e.YAMLSemanticError(l,F))}else for(let j=A+1;j{let{context:{lineStart:l,node:_,src:v},props:b}=o;if(b.length===0)return!1;let{start:w}=b[0];if(_&&w>_.valueRange.start||v[w]!==e.Char.COMMENT)return!1;for(let A=l;A0){j=new e.PlainValue(e.Type.PLAIN,[]),j.context={parent:N,src:N.context.src};let Q=N.range.start+1;if(j.range={start:Q,end:Q},j.valueRange={start:Q,end:Q},typeof N.range.origStart=="number"){let H=N.range.origStart+1;j.range.origStart=j.range.origEnd=H,j.valueRange.origStart=j.valueRange.origEnd=H}}let F=new C(b,we(o,j));dt(N,F),v.push(F),b&&typeof w=="number"&&N.range.start>w+1024&&o.errors.push(re(l,b)),b=void 0,w=null}break;default:b!==void 0&&v.push(new C(b)),b=we(o,N),w=N.range.start,N.error&&o.errors.push(N.error);e:for(let j=A+1;;++j){let F=l.items[j];switch(F&&F.type){case e.Type.BLANK_LINE:case e.Type.COMMENT:continue e;case e.Type.MAP_VALUE:break e;default:{let Q="Implicit map keys need to be followed by map values";o.errors.push(new e.YAMLSemanticError(N,Q));break e}}}if(N.valueRangeContainsNewline){let j="Implicit map keys need to be on a single line";o.errors.push(new e.YAMLSemanticError(N,j))}}}return b!==void 0&&v.push(new C(b)),{comments:_,items:v}}function gt(o,l){let _=[],v=[],b,w=!1,A="{";for(let N=0;Nw instanceof C&&w.key instanceof S)){let w="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";o.warnings.push(new e.YAMLWarning(l,w))}return l.resolved=b,b}function _t(o,l){let _=[],v=[];for(let b=0;bA+1024&&o.errors.push(re(l,w));let{src:Z}=j.context;for(let ee=A;eeu instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(u,p)=>{let L=r.resolveString(u,p);if(typeof Buffer=="function")return Buffer.from(L,"base64");if(typeof atob=="function"){let k=atob(L.replace(/[\n\r]/g,"")),$=new Uint8Array(k.length);for(let K=0;K{let{comment:$,type:K,value:V}=u,z;if(typeof Buffer=="function")z=V instanceof Buffer?V.toString("base64"):Buffer.from(V.buffer).toString("base64");else if(typeof btoa=="function"){let ae="";for(let ue=0;ue1){let V="Each pair must have its own sequence indicator";throw new e.YAMLSemanticError(p,V)}let K=$.items[0]||new r.Pair;$.commentBefore&&(K.commentBefore=K.commentBefore?`${$.commentBefore} -${K.commentBefore}`:$.commentBefore),$.comment&&(K.comment=K.comment?`${$.comment} -${K.comment}`:$.comment),$=K}L.items[k]=$ instanceof r.Pair?$:new r.Pair($)}}return L}function d(u,p,L){let k=new r.YAMLSeq(u);k.tag="tag:yaml.org,2002:pairs";for(let $ of p){let K,V;if(Array.isArray($))if($.length===2)K=$[0],V=$[1];else throw new TypeError(`Expected [key, value] tuple: ${$}`);else if($&&$ instanceof Object){let ae=Object.keys($);if(ae.length===1)K=ae[0],V=$[K];else throw new TypeError(`Expected { key: value } tuple: ${$}`)}else K=$;let z=u.createPair(K,V,L);k.items.push(z)}return k}var y={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:h,createNode:d},E=class extends r.YAMLSeq{constructor(){super(),e._defineProperty(this,"add",r.YAMLMap.prototype.add.bind(this)),e._defineProperty(this,"delete",r.YAMLMap.prototype.delete.bind(this)),e._defineProperty(this,"get",r.YAMLMap.prototype.get.bind(this)),e._defineProperty(this,"has",r.YAMLMap.prototype.has.bind(this)),e._defineProperty(this,"set",r.YAMLMap.prototype.set.bind(this)),this.tag=E.tag}toJSON(u,p){let L=new Map;p&&p.onCreate&&p.onCreate(L);for(let k of this.items){let $,K;if(k instanceof r.Pair?($=r.toJSON(k.key,"",p),K=r.toJSON(k.value,$,p)):$=r.toJSON(k,"",p),L.has($))throw new Error("Ordered maps must not include duplicate keys");L.set($,K)}return L}};e._defineProperty(E,"tag","tag:yaml.org,2002:omap");function I(u,p){let L=h(u,p),k=[];for(let{key:$}of L.items)if($ instanceof r.Scalar)if(k.includes($.value)){let K="Ordered maps must not include duplicate keys";throw new e.YAMLSemanticError(p,K)}else k.push($.value);return Object.assign(new E,L)}function S(u,p,L){let k=d(u,p,L),$=new E;return $.items=k.items,$}var M={identify:u=>u instanceof Map,nodeClass:E,default:!1,tag:"tag:yaml.org,2002:omap",resolve:I,createNode:S},T=class extends r.YAMLMap{constructor(){super(),this.tag=T.tag}add(u){let p=u instanceof r.Pair?u:new r.Pair(u);r.findPair(this.items,p.key)||this.items.push(p)}get(u,p){let L=r.findPair(this.items,u);return!p&&L instanceof r.Pair?L.key instanceof r.Scalar?L.key.value:L.key:L}set(u,p){if(typeof p!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof p}`);let L=r.findPair(this.items,u);L&&!p?this.items.splice(this.items.indexOf(L),1):!L&&p&&this.items.push(new r.Pair(u))}toJSON(u,p){return super.toJSON(u,p,Set)}toString(u,p,L){if(!u)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(u,p,L);throw new Error("Set items must all have null values")}};e._defineProperty(T,"tag","tag:yaml.org,2002:set");function P(u,p){let L=r.resolveMap(u,p);if(!L.hasAllNullValues())throw new e.YAMLSemanticError(p,"Set items must all have null values");return Object.assign(new T,L)}function C(u,p,L){let k=new T;for(let $ of p)k.items.push(u.createPair($,null,L));return k}var q={identify:u=>u instanceof Set,nodeClass:T,default:!1,tag:"tag:yaml.org,2002:set",resolve:P,createNode:C},R=(u,p)=>{let L=p.split(":").reduce((k,$)=>k*60+Number($),0);return u==="-"?-L:L},B=u=>{let{value:p}=u;if(isNaN(p)||!isFinite(p))return r.stringifyNumber(p);let L="";p<0&&(L="-",p=Math.abs(p));let k=[p%60];return p<60?k.unshift(0):(p=Math.round((p-k[0])/60),k.unshift(p%60),p>=60&&(p=Math.round((p-k[0])/60),k.unshift(p))),L+k.map($=>$<10?"0"+String($):String($)).join(":").replace(/000000\d*$/,"")},U={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(u,p,L)=>R(p,L.replace(/_/g,"")),stringify:B},f={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(u,p,L)=>R(p,L.replace(/_/g,"")),stringify:B},i={identify:u=>u instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(u,p,L,k,$,K,V,z,ae)=>{z&&(z=(z+"00").substr(1,3));let ue=Date.UTC(p,L-1,k,$||0,K||0,V||0,z||0);if(ae&&ae!=="Z"){let pe=R(ae[0],ae.slice(1));Math.abs(pe)<30&&(pe*=60),ue-=6e4*pe}return new Date(ue)},stringify:u=>{let{value:p}=u;return p.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function t(u){let p=typeof Te<"u"&&Te.env||{};return u?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!p.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!p.YAML_SILENCE_WARNINGS}function s(u,p){if(t(!1)){let L=typeof Te<"u"&&Te.emitWarning;L?L(u,p):console.warn(p?`${p}: ${u}`:u)}}function a(u){if(t(!0)){let p=u.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");s(`The endpoint 'yaml/${p}' will be removed in a future release.`,"DeprecationWarning")}}var m={};function g(u,p){if(!m[u]&&t(!0)){m[u]=!0;let L=`The option '${u}' will be removed in a future release`;L+=p?`, use '${p}' instead.`:".",s(L,"DeprecationWarning")}}n.binary=c,n.floatTime=f,n.intTime=U,n.omap=M,n.pairs=y,n.set=q,n.timestamp=i,n.warn=s,n.warnFileDeprecation=a,n.warnOptionDeprecation=g}}),it=D({"node_modules/yaml/dist/Schema-88e323a7.js"(n){"use strict";Y();var e=Me(),r=ke(),c=st();function h(O,W,J){let x=new r.YAMLMap(O);if(W instanceof Map)for(let[G,re]of W)x.items.push(O.createPair(G,re,J));else if(W&&typeof W=="object")for(let G of Object.keys(W))x.items.push(O.createPair(G,W[G],J));return typeof O.sortMapEntries=="function"&&x.items.sort(O.sortMapEntries),x}var d={createNode:h,default:!0,nodeClass:r.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:r.resolveMap};function y(O,W,J){let x=new r.YAMLSeq(O);if(W&&W[Symbol.iterator])for(let G of W){let re=O.createNode(G,J.wrapScalars,null,J);x.items.push(re)}return x}var E={createNode:y,default:!0,nodeClass:r.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:r.resolveSeq},I={identify:O=>typeof O=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify(O,W,J,x){return W=Object.assign({actualString:!0},W),r.stringifyString(O,W,J,x)},options:r.strOptions},S=[d,E,I],M=O=>typeof O=="bigint"||Number.isInteger(O),T=(O,W,J)=>r.intOptions.asBigInt?BigInt(O):parseInt(W,J);function P(O,W,J){let{value:x}=O;return M(x)&&x>=0?J+x.toString(W):r.stringifyNumber(O)}var C={identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},q={identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:O=>O[0]==="t"||O[0]==="T",options:r.boolOptions,stringify:O=>{let{value:W}=O;return W?r.boolOptions.trueStr:r.boolOptions.falseStr}},R={identify:O=>M(O)&&O>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(O,W)=>T(O,W,8),options:r.intOptions,stringify:O=>P(O,8,"0o")},B={identify:M,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:O=>T(O,O,10),options:r.intOptions,stringify:r.stringifyNumber},U={identify:O=>M(O)&&O>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(O,W)=>T(O,W,16),options:r.intOptions,stringify:O=>P(O,16,"0x")},f={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(O,W)=>W?NaN:O[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},i={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:O=>parseFloat(O),stringify:O=>{let{value:W}=O;return Number(W).toExponential()}},t={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(O,W,J){let x=W||J,G=new r.Scalar(parseFloat(O));return x&&x[x.length-1]==="0"&&(G.minFractionDigits=x.length),G},stringify:r.stringifyNumber},s=S.concat([C,q,R,B,U,f,i,t]),a=O=>typeof O=="bigint"||Number.isInteger(O),m=O=>{let{value:W}=O;return JSON.stringify(W)},g=[d,E,{identify:O=>typeof O=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify:m},{identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:m},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:O=>O==="true",stringify:m},{identify:a,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:O=>r.intOptions.asBigInt?BigInt(O):parseInt(O,10),stringify:O=>{let{value:W}=O;return a(W)?W.toString():JSON.stringify(W)}},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:O=>parseFloat(O),stringify:m}];g.scalarFallback=O=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(O)}`)};var u=O=>{let{value:W}=O;return W?r.boolOptions.trueStr:r.boolOptions.falseStr},p=O=>typeof O=="bigint"||Number.isInteger(O);function L(O,W,J){let x=W.replace(/_/g,"");if(r.intOptions.asBigInt){switch(J){case 2:x=`0b${x}`;break;case 8:x=`0o${x}`;break;case 16:x=`0x${x}`;break}let re=BigInt(x);return O==="-"?BigInt(-1)*re:re}let G=parseInt(x,J);return O==="-"?-1*G:G}function k(O,W,J){let{value:x}=O;if(p(x)){let G=x.toString(W);return x<0?"-"+J+G.substr(1):J+G}return r.stringifyNumber(O)}var $=S.concat([{identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:r.boolOptions,stringify:u},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:r.boolOptions,stringify:u},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(O,W,J)=>L(W,J,2),stringify:O=>k(O,2,"0b")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(O,W,J)=>L(W,J,8),stringify:O=>k(O,8,"0")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(O,W,J)=>L(W,J,10),stringify:r.stringifyNumber},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(O,W,J)=>L(W,J,16),stringify:O=>k(O,16,"0x")},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(O,W)=>W?NaN:O[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:O=>parseFloat(O.replace(/_/g,"")),stringify:O=>{let{value:W}=O;return Number(W).toExponential()}},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(O,W){let J=new r.Scalar(parseFloat(O.replace(/_/g,"")));if(W){let x=W.replace(/_/g,"");x[x.length-1]==="0"&&(J.minFractionDigits=x.length)}return J},stringify:r.stringifyNumber}],c.binary,c.omap,c.pairs,c.set,c.intTime,c.floatTime,c.timestamp),K={core:s,failsafe:S,json:g,yaml11:$},V={binary:c.binary,bool:q,float:t,floatExp:i,floatNaN:f,floatTime:c.floatTime,int:B,intHex:U,intOct:R,intTime:c.intTime,map:d,null:C,omap:c.omap,pairs:c.pairs,seq:E,set:c.set,timestamp:c.timestamp};function z(O,W,J){if(W){let x=J.filter(re=>re.tag===W),G=x.find(re=>!re.format)||x[0];if(!G)throw new Error(`Tag ${W} not found`);return G}return J.find(x=>(x.identify&&x.identify(O)||x.class&&O instanceof x.class)&&!x.format)}function ae(O,W,J){if(O instanceof r.Node)return O;let{defaultPrefix:x,onTagObj:G,prevObjects:re,schema:_e,wrapScalars:ye}=J;W&&W.startsWith("!!")&&(W=x+W.slice(2));let be=z(O,W,_e.tags);if(!be){if(typeof O.toJSON=="function"&&(O=O.toJSON()),!O||typeof O!="object")return ye?new r.Scalar(O):O;be=O instanceof Map?d:O[Symbol.iterator]?E:d}G&&(G(be),delete J.onTagObj);let ve={value:void 0,node:void 0};if(O&&typeof O=="object"&&re){let Ne=re.get(O);if(Ne){let Pe=new r.Alias(Ne);return J.aliasNodes.push(Pe),Pe}ve.value=O,re.set(O,ve)}return ve.node=be.createNode?be.createNode(J.schema,O,J):ye?new r.Scalar(O):O,W&&ve.node instanceof r.Node&&(ve.node.tag=W),ve.node}function ue(O,W,J,x){let G=O[x.replace(/\W/g,"")];if(!G){let re=Object.keys(O).map(_e=>JSON.stringify(_e)).join(", ");throw new Error(`Unknown schema "${x}"; use one of ${re}`)}if(Array.isArray(J))for(let re of J)G=G.concat(re);else typeof J=="function"&&(G=J(G.slice()));for(let re=0;reJSON.stringify(ve)).join(", ");throw new Error(`Unknown custom tag "${_e}"; use one of ${be}`)}G[re]=ye}}return G}var pe=(O,W)=>O.keyW.key?1:0,ge=class{constructor(O){let{customTags:W,merge:J,schema:x,sortMapEntries:G,tags:re}=O;this.merge=!!J,this.name=x,this.sortMapEntries=G===!0?pe:G||null,!W&&re&&c.warnOptionDeprecation("tags","customTags"),this.tags=ue(K,V,W||re,x)}createNode(O,W,J,x){let G={defaultPrefix:ge.defaultPrefix,schema:this,wrapScalars:W},re=x?Object.assign(x,G):G;return ae(O,J,re)}createPair(O,W,J){J||(J={wrapScalars:!0});let x=this.createNode(O,J.wrapScalars,null,J),G=this.createNode(W,J.wrapScalars,null,J);return new r.Pair(x,G)}};e._defineProperty(ge,"defaultPrefix",e.defaultTagPrefix),e._defineProperty(ge,"defaultTags",e.defaultTags),n.Schema=ge}}),xr=D({"node_modules/yaml/dist/Document-9b4560a1.js"(n){"use strict";Y();var e=Me(),r=ke(),c=it(),h={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},d={get binary(){return r.binaryOptions},set binary(t){Object.assign(r.binaryOptions,t)},get bool(){return r.boolOptions},set bool(t){Object.assign(r.boolOptions,t)},get int(){return r.intOptions},set int(t){Object.assign(r.intOptions,t)},get null(){return r.nullOptions},set null(t){Object.assign(r.nullOptions,t)},get str(){return r.strOptions},set str(t){Object.assign(r.strOptions,t)}},y={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:e.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:e.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:e.defaultTagPrefix}]}};function E(t,s){if((t.version||t.options.version)==="1.0"){let g=s.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(g)return"!"+g[1];let u=s.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return u?`!${u[1]}/${u[2]}`:`!${s.replace(/^tag:/,"")}`}let a=t.tagPrefixes.find(g=>s.indexOf(g.prefix)===0);if(!a){let g=t.getDefaults().tagPrefixes;a=g&&g.find(u=>s.indexOf(u.prefix)===0)}if(!a)return s[0]==="!"?s:`!<${s}>`;let m=s.substr(a.prefix.length).replace(/[!,[\]{}]/g,g=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"})[g]);return a.handle+m}function I(t,s){if(s instanceof r.Alias)return r.Alias;if(s.tag){let g=t.filter(u=>u.tag===s.tag);if(g.length>0)return g.find(u=>u.format===s.format)||g[0]}let a,m;if(s instanceof r.Scalar){m=s.value;let g=t.filter(u=>u.identify&&u.identify(m)||u.class&&m instanceof u.class);a=g.find(u=>u.format===s.format)||g.find(u=>!u.format)}else m=s,a=t.find(g=>g.nodeClass&&m instanceof g.nodeClass);if(!a){let g=m&&m.constructor?m.constructor.name:typeof m;throw new Error(`Tag not resolved for ${g} value`)}return a}function S(t,s,a){let{anchors:m,doc:g}=a,u=[],p=g.anchors.getName(t);return p&&(m[p]=t,u.push(`&${p}`)),t.tag?u.push(E(g,t.tag)):s.default||u.push(E(g,s.tag)),u.join(" ")}function M(t,s,a,m){let{anchors:g,schema:u}=s.doc,p;if(!(t instanceof r.Node)){let $={aliasNodes:[],onTagObj:K=>p=K,prevObjects:new Map};t=u.createNode(t,!0,null,$);for(let K of $.aliasNodes){K.source=K.source.node;let V=g.getName(K.source);V||(V=g.newName(),g.map[V]=K.source)}}if(t instanceof r.Pair)return t.toString(s,a,m);p||(p=I(u.tags,t));let L=S(t,p,s);L.length>0&&(s.indentAtStart=(s.indentAtStart||0)+L.length+1);let k=typeof p.stringify=="function"?p.stringify(t,s,a,m):t instanceof r.Scalar?r.stringifyString(t,s,a,m):t.toString(s,a,m);return L?t instanceof r.Scalar||k[0]==="{"||k[0]==="["?`${L} ${k}`:`${L} -${s.indent}${k}`:k}var T=class{static validAnchorNode(t){return t instanceof r.Scalar||t instanceof r.YAMLSeq||t instanceof r.YAMLMap}constructor(t){e._defineProperty(this,"map",Object.create(null)),this.prefix=t}createAlias(t,s){return this.setAnchor(t,s),new r.Alias(t)}createMergePair(){let t=new r.Merge;for(var s=arguments.length,a=new Array(s),m=0;m{if(g instanceof r.Alias){if(g.source instanceof r.YAMLMap)return g}else if(g instanceof r.YAMLMap)return this.createAlias(g);throw new Error("Merge sources must be Map nodes or their Aliases")}),t}getName(t){let{map:s}=this;return Object.keys(s).find(a=>s[a]===t)}getNames(){return Object.keys(this.map)}getNode(t){return this.map[t]}newName(t){t||(t=this.prefix);let s=Object.keys(this.map);for(let a=1;;++a){let m=`${t}${a}`;if(!s.includes(m))return m}}resolveNodes(){let{map:t,_cstAliases:s}=this;Object.keys(t).forEach(a=>{t[a]=t[a].resolved}),s.forEach(a=>{a.source=a.source.resolved}),delete this._cstAliases}setAnchor(t,s){if(t!=null&&!T.validAnchorNode(t))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(s&&/[\x00-\x19\s,[\]{}]/.test(s))throw new Error("Anchor names must not contain whitespace or control characters");let{map:a}=this,m=t&&Object.keys(a).find(g=>a[g]===t);if(m)if(s)m!==s&&(delete a[m],a[s]=t);else return m;else{if(!s){if(!t)return null;s=this.newName()}a[s]=t}return s}},P=(t,s)=>{if(t&&typeof t=="object"){let{tag:a}=t;t instanceof r.Collection?(a&&(s[a]=!0),t.items.forEach(m=>P(m,s))):t instanceof r.Pair?(P(t.key,s),P(t.value,s)):t instanceof r.Scalar&&a&&(s[a]=!0)}return s},C=t=>Object.keys(P(t,{}));function q(t,s){let a={before:[],after:[]},m,g=!1;for(let u of s)if(u.valueRange){if(m!==void 0){let L="Document contains trailing content not separated by a ... or --- line";t.errors.push(new e.YAMLSyntaxError(u,L));break}let p=r.resolveNode(t,u);g&&(p.spaceBefore=!0,g=!1),m=p}else u.comment!==null?(m===void 0?a.before:a.after).push(u.comment):u.type===e.Type.BLANK_LINE&&(g=!0,m===void 0&&a.before.length>0&&!t.commentBefore&&(t.commentBefore=a.before.join(` -`),a.before=[]));if(t.contents=m||null,!m)t.comment=a.before.concat(a.after).join(` -`)||null;else{let u=a.before.join(` -`);if(u){let p=m instanceof r.Collection&&m.items[0]?m.items[0]:m;p.commentBefore=p.commentBefore?`${u} -${p.commentBefore}`:u}t.comment=a.after.join(` -`)||null}}function R(t,s){let{tagPrefixes:a}=t,[m,g]=s.parameters;if(!m||!g){let u="Insufficient parameters given for %TAG directive";throw new e.YAMLSemanticError(s,u)}if(a.some(u=>u.handle===m)){let u="The %TAG directive must only be given at most once per handle in the same document.";throw new e.YAMLSemanticError(s,u)}return{handle:m,prefix:g}}function B(t,s){let[a]=s.parameters;if(s.name==="YAML:1.0"&&(a="1.0"),!a){let m="Insufficient parameters given for %YAML directive";throw new e.YAMLSemanticError(s,m)}if(!y[a]){let g=`Document will be parsed as YAML ${t.version||t.options.version} rather than YAML ${a}`;t.warnings.push(new e.YAMLWarning(s,g))}return a}function U(t,s,a){let m=[],g=!1;for(let u of s){let{comment:p,name:L}=u;switch(L){case"TAG":try{t.tagPrefixes.push(R(t,u))}catch(k){t.errors.push(k)}g=!0;break;case"YAML":case"YAML:1.0":if(t.version){let k="The %YAML directive must only be given at most once per document.";t.errors.push(new e.YAMLSemanticError(u,k))}try{t.version=B(t,u)}catch(k){t.errors.push(k)}g=!0;break;default:if(L){let k=`YAML only supports %TAG and %YAML directives, and not %${L}`;t.warnings.push(new e.YAMLWarning(u,k))}}p&&m.push(p)}if(a&&!g&&(t.version||a.version||t.options.version)==="1.1"){let u=p=>{let{handle:L,prefix:k}=p;return{handle:L,prefix:k}};t.tagPrefixes=a.tagPrefixes.map(u),t.version=a.version}t.commentBefore=m.join(` -`)||null}function f(t){if(t instanceof r.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}var i=class{constructor(t){this.anchors=new T(t.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=t,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(t){return f(this.contents),this.contents.add(t)}addIn(t,s){f(this.contents),this.contents.addIn(t,s)}delete(t){return f(this.contents),this.contents.delete(t)}deleteIn(t){return r.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):(f(this.contents),this.contents.deleteIn(t))}getDefaults(){return i.defaults[this.version]||i.defaults[this.options.version]||{}}get(t,s){return this.contents instanceof r.Collection?this.contents.get(t,s):void 0}getIn(t,s){return r.isEmptyPath(t)?!s&&this.contents instanceof r.Scalar?this.contents.value:this.contents:this.contents instanceof r.Collection?this.contents.getIn(t,s):void 0}has(t){return this.contents instanceof r.Collection?this.contents.has(t):!1}hasIn(t){return r.isEmptyPath(t)?this.contents!==void 0:this.contents instanceof r.Collection?this.contents.hasIn(t):!1}set(t,s){f(this.contents),this.contents.set(t,s)}setIn(t,s){r.isEmptyPath(t)?this.contents=s:(f(this.contents),this.contents.setIn(t,s))}setSchema(t,s){if(!t&&!s&&this.schema)return;typeof t=="number"&&(t=t.toFixed(1)),t==="1.0"||t==="1.1"||t==="1.2"?(this.version?this.version=t:this.options.version=t,delete this.options.schema):t&&typeof t=="string"&&(this.options.schema=t),Array.isArray(s)&&(this.options.customTags=s);let a=Object.assign({},this.getDefaults(),this.options);this.schema=new c.Schema(a)}parse(t,s){this.options.keepCstNodes&&(this.cstNode=t),this.options.keepNodeTypes&&(this.type="DOCUMENT");let{directives:a=[],contents:m=[],directivesEndMarker:g,error:u,valueRange:p}=t;if(u&&(u.source||(u.source=this),this.errors.push(u)),U(this,a,s),g&&(this.directivesEndMarker=!0),this.range=p?[p.start,p.end]:null,this.setSchema(),this.anchors._cstAliases=[],q(this,m),this.anchors.resolveNodes(),this.options.prettyErrors){for(let L of this.errors)L instanceof e.YAMLError&&L.makePretty();for(let L of this.warnings)L instanceof e.YAMLError&&L.makePretty()}return this}listNonDefaultTags(){return C(this.contents).filter(t=>t.indexOf(c.Schema.defaultPrefix)!==0)}setTagPrefix(t,s){if(t[0]!=="!"||t[t.length-1]!=="!")throw new Error("Handle must start and end with !");if(s){let a=this.tagPrefixes.find(m=>m.handle===t);a?a.prefix=s:this.tagPrefixes.push({handle:t,prefix:s})}else this.tagPrefixes=this.tagPrefixes.filter(a=>a.handle!==t)}toJSON(t,s){let{keepBlobsInJSON:a,mapAsMap:m,maxAliasCount:g}=this.options,u=a&&(typeof t!="string"||!(this.contents instanceof r.Scalar)),p={doc:this,indentStep:" ",keep:u,mapAsMap:u&&!!m,maxAliasCount:g,stringify:M},L=Object.keys(this.anchors.map);L.length>0&&(p.anchors=new Map(L.map($=>[this.anchors.map[$],{alias:[],aliasCount:0,count:1}])));let k=r.toJSON(this.contents,t,p);if(typeof s=="function"&&p.anchors)for(let{count:$,res:K}of p.anchors.values())s(K,$);return k}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");let t=this.options.indent;if(!Number.isInteger(t)||t<=0){let L=JSON.stringify(t);throw new Error(`"indent" option must be a positive integer, not ${L}`)}this.setSchema();let s=[],a=!1;if(this.version){let L="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?L="%YAML:1.0":this.version==="1.1"&&(L="%YAML 1.1")),s.push(L),a=!0}let m=this.listNonDefaultTags();this.tagPrefixes.forEach(L=>{let{handle:k,prefix:$}=L;m.some(K=>K.indexOf($)===0)&&(s.push(`%TAG ${k} ${$}`),a=!0)}),(a||this.directivesEndMarker)&&s.push("---"),this.commentBefore&&((a||!this.directivesEndMarker)&&s.unshift(""),s.unshift(this.commentBefore.replace(/^/gm,"#")));let g={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(t),stringify:M},u=!1,p=null;if(this.contents){this.contents instanceof r.Node&&(this.contents.spaceBefore&&(a||this.directivesEndMarker)&&s.push(""),this.contents.commentBefore&&s.push(this.contents.commentBefore.replace(/^/gm,"#")),g.forceBlockIndent=!!this.comment,p=this.contents.comment);let L=p?null:()=>u=!0,k=M(this.contents,g,()=>p=null,L);s.push(r.addComment(k,"",p))}else this.contents!==void 0&&s.push(M(this.contents,g));return this.comment&&((!u||p)&&s[s.length-1]!==""&&s.push(""),s.push(this.comment.replace(/^/gm,"#"))),s.join(` -`)+` -`}};e._defineProperty(i,"defaults",y),n.Document=i,n.defaultOptions=h,n.scalarOptions=d}}),Hr=D({"node_modules/yaml/dist/index.js"(n){"use strict";Y();var e=Jr(),r=xr(),c=it(),h=Me(),d=st();ke();function y(C){let q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,R=arguments.length>2?arguments[2]:void 0;R===void 0&&typeof q=="string"&&(R=q,q=!0);let B=Object.assign({},r.Document.defaults[r.defaultOptions.version],r.defaultOptions);return new c.Schema(B).createNode(C,q,R)}var E=class extends r.Document{constructor(C){super(Object.assign({},r.defaultOptions,C))}};function I(C,q){let R=[],B;for(let U of e.parse(C)){let f=new E(q);f.parse(U,B),R.push(f),B=f}return R}function S(C,q){let R=e.parse(C),B=new E(q).parse(R[0]);if(R.length>1){let U="Source contains multiple documents; please use YAML.parseAllDocuments()";B.errors.unshift(new h.YAMLSemanticError(R[1],U))}return B}function M(C,q){let R=S(C,q);if(R.warnings.forEach(B=>d.warn(B)),R.errors.length>0)throw R.errors[0];return R.toJSON()}function T(C,q){let R=new E(q);return R.contents=C,String(R)}var P={createNode:y,defaultOptions:r.defaultOptions,Document:E,parse:M,parseAllDocuments:I,parseCST:e.parse,parseDocument:S,scalarOptions:r.scalarOptions,stringify:T};n.YAML=P}}),Ue=D({"node_modules/yaml/index.js"(n,e){Y(),e.exports=Hr().YAML}}),Gr=D({"node_modules/yaml/dist/util.js"(n){"use strict";Y();var e=ke(),r=Me();n.findPair=e.findPair,n.parseMap=e.resolveMap,n.parseSeq=e.resolveSeq,n.stringifyNumber=e.stringifyNumber,n.stringifyString=e.stringifyString,n.toJSON=e.toJSON,n.Type=r.Type,n.YAMLError=r.YAMLError,n.YAMLReferenceError=r.YAMLReferenceError,n.YAMLSemanticError=r.YAMLSemanticError,n.YAMLSyntaxError=r.YAMLSyntaxError,n.YAMLWarning=r.YAMLWarning}}),zr=D({"node_modules/yaml/util.js"(n){Y();var e=Gr();n.findPair=e.findPair,n.toJSON=e.toJSON,n.parseMap=e.parseMap,n.parseSeq=e.parseSeq,n.stringifyNumber=e.stringifyNumber,n.stringifyString=e.stringifyString,n.Type=e.Type,n.YAMLError=e.YAMLError,n.YAMLReferenceError=e.YAMLReferenceError,n.YAMLSemanticError=e.YAMLSemanticError,n.YAMLSyntaxError=e.YAMLSyntaxError,n.YAMLWarning=e.YAMLWarning}}),Zr=D({"node_modules/yaml-unist-parser/lib/yaml.js"(n){"use strict";Y(),n.__esModule=!0;var e=Ue();n.Document=e.Document;var r=Ue();n.parseCST=r.parseCST;var c=zr();n.YAMLError=c.YAMLError,n.YAMLSyntaxError=c.YAMLSyntaxError,n.YAMLSemanticError=c.YAMLSemanticError}}),Xr=D({"node_modules/yaml-unist-parser/lib/parse.js"(n){"use strict";Y(),n.__esModule=!0;var e=Kt(),r=xt(),c=Ht(),h=Gt(),d=Br(),y=He(),E=Yr(),I=Fr(),S=Wr(),M=Vr(),T=Qr(),P=Kr(),C=Zr();function q(R){var B=C.parseCST(R);M.addOrigRange(B);for(var U=B.map(function(k){return new C.Document({merge:!1,keepCstNodes:!0}).parse(k)}),f=new e.default(R),i=[],t={text:R,locator:f,comments:i,transformOffset:function(k){return I.transformOffset(k,t)},transformRange:function(k){return S.transformRange(k,t)},transformNode:function(k){return d.transformNode(k,t)},transformContent:function(k){return y.transformContent(k,t)}},s=0,a=U;s()=>(r||e((r={exports:{}}).exports,r),r.exports);var pt=xe((r0,pu)=>{var ir=function(e){return e&&e.Math==Math&&e};pu.exports=ir(typeof globalThis=="object"&&globalThis)||ir(typeof window=="object"&&window)||ir(typeof self=="object"&&self)||ir(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Dt=xe((n0,fu)=>{fu.exports=function(e){try{return!!e()}catch{return!0}}});var yt=xe((u0,Du)=>{var Mo=Dt();Du.exports=!Mo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var ar=xe((s0,mu)=>{var Ro=Dt();mu.exports=!Ro(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var At=xe((i0,du)=>{var $o=ar(),or=Function.prototype.call;du.exports=$o?or.bind(or):function(){return or.apply(or,arguments)}});var vu=xe(hu=>{"use strict";var gu={}.propertyIsEnumerable,yu=Object.getOwnPropertyDescriptor,Vo=yu&&!gu.call({1:2},1);hu.f=Vo?function(r){var t=yu(this,r);return!!t&&t.enumerable}:gu});var lr=xe((o0,Cu)=>{Cu.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var mt=xe((l0,Au)=>{var Eu=ar(),Fu=Function.prototype,Wr=Fu.call,Wo=Eu&&Fu.bind.bind(Wr,Wr);Au.exports=Eu?Wo:function(e){return function(){return Wr.apply(e,arguments)}}});var Vt=xe((c0,xu)=>{var Su=mt(),Ho=Su({}.toString),Go=Su("".slice);xu.exports=function(e){return Go(Ho(e),8,-1)}});var Tu=xe((p0,bu)=>{var Uo=mt(),Jo=Dt(),zo=Vt(),Hr=Object,Xo=Uo("".split);bu.exports=Jo(function(){return!Hr("z").propertyIsEnumerable(0)})?function(e){return zo(e)=="String"?Xo(e,""):Hr(e)}:Hr});var cr=xe((f0,Bu)=>{Bu.exports=function(e){return e==null}});var Gr=xe((D0,Nu)=>{var Ko=cr(),Yo=TypeError;Nu.exports=function(e){if(Ko(e))throw Yo("Can't call method on "+e);return e}});var pr=xe((m0,wu)=>{var Qo=Tu(),Zo=Gr();wu.exports=function(e){return Qo(Zo(e))}});var Jr=xe((d0,_u)=>{var Ur=typeof document=="object"&&document.all,el=typeof Ur>"u"&&Ur!==void 0;_u.exports={all:Ur,IS_HTMLDDA:el}});var ot=xe((g0,Iu)=>{var Pu=Jr(),tl=Pu.all;Iu.exports=Pu.IS_HTMLDDA?function(e){return typeof e=="function"||e===tl}:function(e){return typeof e=="function"}});var St=xe((y0,Ou)=>{var ku=ot(),Lu=Jr(),rl=Lu.all;Ou.exports=Lu.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:ku(e)||e===rl}:function(e){return typeof e=="object"?e!==null:ku(e)}});var Wt=xe((h0,ju)=>{var zr=pt(),nl=ot(),ul=function(e){return nl(e)?e:void 0};ju.exports=function(e,r){return arguments.length<2?ul(zr[e]):zr[e]&&zr[e][r]}});var Xr=xe((v0,qu)=>{var sl=mt();qu.exports=sl({}.isPrototypeOf)});var Ru=xe((C0,Mu)=>{var il=Wt();Mu.exports=il("navigator","userAgent")||""});var Ju=xe((E0,Uu)=>{var Gu=pt(),Kr=Ru(),$u=Gu.process,Vu=Gu.Deno,Wu=$u&&$u.versions||Vu&&Vu.version,Hu=Wu&&Wu.v8,dt,fr;Hu&&(dt=Hu.split("."),fr=dt[0]>0&&dt[0]<4?1:+(dt[0]+dt[1]));!fr&&Kr&&(dt=Kr.match(/Edge\/(\d+)/),(!dt||dt[1]>=74)&&(dt=Kr.match(/Chrome\/(\d+)/),dt&&(fr=+dt[1])));Uu.exports=fr});var Yr=xe((F0,Xu)=>{var zu=Ju(),al=Dt();Xu.exports=!!Object.getOwnPropertySymbols&&!al(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&zu&&zu<41})});var Qr=xe((A0,Ku)=>{var ol=Yr();Ku.exports=ol&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Zr=xe((S0,Yu)=>{var ll=Wt(),cl=ot(),pl=Xr(),fl=Qr(),Dl=Object;Yu.exports=fl?function(e){return typeof e=="symbol"}:function(e){var r=ll("Symbol");return cl(r)&&pl(r.prototype,Dl(e))}});var Dr=xe((x0,Qu)=>{var ml=String;Qu.exports=function(e){try{return ml(e)}catch{return"Object"}}});var Ht=xe((b0,Zu)=>{var dl=ot(),gl=Dr(),yl=TypeError;Zu.exports=function(e){if(dl(e))return e;throw yl(gl(e)+" is not a function")}});var mr=xe((T0,es)=>{var hl=Ht(),vl=cr();es.exports=function(e,r){var t=e[r];return vl(t)?void 0:hl(t)}});var rs=xe((B0,ts)=>{var en=At(),tn=ot(),rn=St(),Cl=TypeError;ts.exports=function(e,r){var t,s;if(r==="string"&&tn(t=e.toString)&&!rn(s=en(t,e))||tn(t=e.valueOf)&&!rn(s=en(t,e))||r!=="string"&&tn(t=e.toString)&&!rn(s=en(t,e)))return s;throw Cl("Can't convert object to primitive value")}});var us=xe((N0,ns)=>{ns.exports=!1});var dr=xe((w0,is)=>{var ss=pt(),El=Object.defineProperty;is.exports=function(e,r){try{El(ss,e,{value:r,configurable:!0,writable:!0})}catch{ss[e]=r}return r}});var gr=xe((_0,os)=>{var Fl=pt(),Al=dr(),as="__core-js_shared__",Sl=Fl[as]||Al(as,{});os.exports=Sl});var nn=xe((P0,cs)=>{var xl=us(),ls=gr();(cs.exports=function(e,r){return ls[e]||(ls[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.26.1",mode:xl?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var yr=xe((I0,ps)=>{var bl=Gr(),Tl=Object;ps.exports=function(e){return Tl(bl(e))}});var Ct=xe((k0,fs)=>{var Bl=mt(),Nl=yr(),wl=Bl({}.hasOwnProperty);fs.exports=Object.hasOwn||function(r,t){return wl(Nl(r),t)}});var un=xe((L0,Ds)=>{var _l=mt(),Pl=0,Il=Math.random(),kl=_l(1 .toString);Ds.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+kl(++Pl+Il,36)}});var bt=xe((O0,hs)=>{var Ll=pt(),Ol=nn(),ms=Ct(),jl=un(),ds=Yr(),ys=Qr(),It=Ol("wks"),xt=Ll.Symbol,gs=xt&&xt.for,ql=ys?xt:xt&&xt.withoutSetter||jl;hs.exports=function(e){if(!ms(It,e)||!(ds||typeof It[e]=="string")){var r="Symbol."+e;ds&&ms(xt,e)?It[e]=xt[e]:ys&&gs?It[e]=gs(r):It[e]=ql(r)}return It[e]}});var Fs=xe((j0,Es)=>{var Ml=At(),vs=St(),Cs=Zr(),Rl=mr(),$l=rs(),Vl=bt(),Wl=TypeError,Hl=Vl("toPrimitive");Es.exports=function(e,r){if(!vs(e)||Cs(e))return e;var t=Rl(e,Hl),s;if(t){if(r===void 0&&(r="default"),s=Ml(t,e,r),!vs(s)||Cs(s))return s;throw Wl("Can't convert object to primitive value")}return r===void 0&&(r="number"),$l(e,r)}});var hr=xe((q0,As)=>{var Gl=Fs(),Ul=Zr();As.exports=function(e){var r=Gl(e,"string");return Ul(r)?r:r+""}});var bs=xe((M0,xs)=>{var Jl=pt(),Ss=St(),sn=Jl.document,zl=Ss(sn)&&Ss(sn.createElement);xs.exports=function(e){return zl?sn.createElement(e):{}}});var an=xe((R0,Ts)=>{var Xl=yt(),Kl=Dt(),Yl=bs();Ts.exports=!Xl&&!Kl(function(){return Object.defineProperty(Yl("div"),"a",{get:function(){return 7}}).a!=7})});var on=xe(Ns=>{var Ql=yt(),Zl=At(),ec=vu(),tc=lr(),rc=pr(),nc=hr(),uc=Ct(),sc=an(),Bs=Object.getOwnPropertyDescriptor;Ns.f=Ql?Bs:function(r,t){if(r=rc(r),t=nc(t),sc)try{return Bs(r,t)}catch{}if(uc(r,t))return tc(!Zl(ec.f,r,t),r[t])}});var _s=xe((V0,ws)=>{var ic=yt(),ac=Dt();ws.exports=ic&&ac(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Tt=xe((W0,Ps)=>{var oc=St(),lc=String,cc=TypeError;Ps.exports=function(e){if(oc(e))return e;throw cc(lc(e)+" is not an object")}});var kt=xe(ks=>{var pc=yt(),fc=an(),Dc=_s(),vr=Tt(),Is=hr(),mc=TypeError,ln=Object.defineProperty,dc=Object.getOwnPropertyDescriptor,cn="enumerable",pn="configurable",fn="writable";ks.f=pc?Dc?function(r,t,s){if(vr(r),t=Is(t),vr(s),typeof r=="function"&&t==="prototype"&&"value"in s&&fn in s&&!s[fn]){var a=dc(r,t);a&&a[fn]&&(r[t]=s.value,s={configurable:pn in s?s[pn]:a[pn],enumerable:cn in s?s[cn]:a[cn],writable:!1})}return ln(r,t,s)}:ln:function(r,t,s){if(vr(r),t=Is(t),vr(s),fc)try{return ln(r,t,s)}catch{}if("get"in s||"set"in s)throw mc("Accessors not supported");return"value"in s&&(r[t]=s.value),r}});var Dn=xe((G0,Ls)=>{var gc=yt(),yc=kt(),hc=lr();Ls.exports=gc?function(e,r,t){return yc.f(e,r,hc(1,t))}:function(e,r,t){return e[r]=t,e}});var qs=xe((U0,js)=>{var mn=yt(),vc=Ct(),Os=Function.prototype,Cc=mn&&Object.getOwnPropertyDescriptor,dn=vc(Os,"name"),Ec=dn&&function(){}.name==="something",Fc=dn&&(!mn||mn&&Cc(Os,"name").configurable);js.exports={EXISTS:dn,PROPER:Ec,CONFIGURABLE:Fc}});var yn=xe((J0,Ms)=>{var Ac=mt(),Sc=ot(),gn=gr(),xc=Ac(Function.toString);Sc(gn.inspectSource)||(gn.inspectSource=function(e){return xc(e)});Ms.exports=gn.inspectSource});var Vs=xe((z0,$s)=>{var bc=pt(),Tc=ot(),Rs=bc.WeakMap;$s.exports=Tc(Rs)&&/native code/.test(String(Rs))});var Gs=xe((X0,Hs)=>{var Bc=nn(),Nc=un(),Ws=Bc("keys");Hs.exports=function(e){return Ws[e]||(Ws[e]=Nc(e))}});var hn=xe((K0,Us)=>{Us.exports={}});var Ks=xe((Y0,Xs)=>{var wc=Vs(),zs=pt(),_c=St(),Pc=Dn(),vn=Ct(),Cn=gr(),Ic=Gs(),kc=hn(),Js="Object already initialized",En=zs.TypeError,Lc=zs.WeakMap,Cr,Gt,Er,Oc=function(e){return Er(e)?Gt(e):Cr(e,{})},jc=function(e){return function(r){var t;if(!_c(r)||(t=Gt(r)).type!==e)throw En("Incompatible receiver, "+e+" required");return t}};wc||Cn.state?(gt=Cn.state||(Cn.state=new Lc),gt.get=gt.get,gt.has=gt.has,gt.set=gt.set,Cr=function(e,r){if(gt.has(e))throw En(Js);return r.facade=e,gt.set(e,r),r},Gt=function(e){return gt.get(e)||{}},Er=function(e){return gt.has(e)}):(Bt=Ic("state"),kc[Bt]=!0,Cr=function(e,r){if(vn(e,Bt))throw En(Js);return r.facade=e,Pc(e,Bt,r),r},Gt=function(e){return vn(e,Bt)?e[Bt]:{}},Er=function(e){return vn(e,Bt)});var gt,Bt;Xs.exports={set:Cr,get:Gt,has:Er,enforce:Oc,getterFor:jc}});var An=xe((Q0,Qs)=>{var qc=Dt(),Mc=ot(),Fr=Ct(),Fn=yt(),Rc=qs().CONFIGURABLE,$c=yn(),Ys=Ks(),Vc=Ys.enforce,Wc=Ys.get,Ar=Object.defineProperty,Hc=Fn&&!qc(function(){return Ar(function(){},"length",{value:8}).length!==8}),Gc=String(String).split("String"),Uc=Qs.exports=function(e,r,t){String(r).slice(0,7)==="Symbol("&&(r="["+String(r).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(r="get "+r),t&&t.setter&&(r="set "+r),(!Fr(e,"name")||Rc&&e.name!==r)&&(Fn?Ar(e,"name",{value:r,configurable:!0}):e.name=r),Hc&&t&&Fr(t,"arity")&&e.length!==t.arity&&Ar(e,"length",{value:t.arity});try{t&&Fr(t,"constructor")&&t.constructor?Fn&&Ar(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var s=Vc(e);return Fr(s,"source")||(s.source=Gc.join(typeof r=="string"?r:"")),e};Function.prototype.toString=Uc(function(){return Mc(this)&&Wc(this).source||$c(this)},"toString")});var ei=xe((Z0,Zs)=>{var Jc=ot(),zc=kt(),Xc=An(),Kc=dr();Zs.exports=function(e,r,t,s){s||(s={});var a=s.enumerable,n=s.name!==void 0?s.name:r;if(Jc(t)&&Xc(t,n,s),s.global)a?e[r]=t:Kc(r,t);else{try{s.unsafe?e[r]&&(a=!0):delete e[r]}catch{}a?e[r]=t:zc.f(e,r,{value:t,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}});var ri=xe((ey,ti)=>{var Yc=Math.ceil,Qc=Math.floor;ti.exports=Math.trunc||function(r){var t=+r;return(t>0?Qc:Yc)(t)}});var Sr=xe((ty,ni)=>{var Zc=ri();ni.exports=function(e){var r=+e;return r!==r||r===0?0:Zc(r)}});var si=xe((ry,ui)=>{var ep=Sr(),tp=Math.max,rp=Math.min;ui.exports=function(e,r){var t=ep(e);return t<0?tp(t+r,0):rp(t,r)}});var ai=xe((ny,ii)=>{var np=Sr(),up=Math.min;ii.exports=function(e){return e>0?up(np(e),9007199254740991):0}});var Lt=xe((uy,oi)=>{var sp=ai();oi.exports=function(e){return sp(e.length)}});var pi=xe((sy,ci)=>{var ip=pr(),ap=si(),op=Lt(),li=function(e){return function(r,t,s){var a=ip(r),n=op(a),u=ap(s,n),i;if(e&&t!=t){for(;n>u;)if(i=a[u++],i!=i)return!0}else for(;n>u;u++)if((e||u in a)&&a[u]===t)return e||u||0;return!e&&-1}};ci.exports={includes:li(!0),indexOf:li(!1)}});var mi=xe((iy,Di)=>{var lp=mt(),Sn=Ct(),cp=pr(),pp=pi().indexOf,fp=hn(),fi=lp([].push);Di.exports=function(e,r){var t=cp(e),s=0,a=[],n;for(n in t)!Sn(fp,n)&&Sn(t,n)&&fi(a,n);for(;r.length>s;)Sn(t,n=r[s++])&&(~pp(a,n)||fi(a,n));return a}});var gi=xe((ay,di)=>{di.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var hi=xe(yi=>{var Dp=mi(),mp=gi(),dp=mp.concat("length","prototype");yi.f=Object.getOwnPropertyNames||function(r){return Dp(r,dp)}});var Ci=xe(vi=>{vi.f=Object.getOwnPropertySymbols});var Fi=xe((cy,Ei)=>{var gp=Wt(),yp=mt(),hp=hi(),vp=Ci(),Cp=Tt(),Ep=yp([].concat);Ei.exports=gp("Reflect","ownKeys")||function(r){var t=hp.f(Cp(r)),s=vp.f;return s?Ep(t,s(r)):t}});var xi=xe((py,Si)=>{var Ai=Ct(),Fp=Fi(),Ap=on(),Sp=kt();Si.exports=function(e,r,t){for(var s=Fp(r),a=Sp.f,n=Ap.f,u=0;u{var xp=Dt(),bp=ot(),Tp=/#|\.prototype\./,Ut=function(e,r){var t=Np[Bp(e)];return t==_p?!0:t==wp?!1:bp(r)?xp(r):!!r},Bp=Ut.normalize=function(e){return String(e).replace(Tp,".").toLowerCase()},Np=Ut.data={},wp=Ut.NATIVE="N",_p=Ut.POLYFILL="P";bi.exports=Ut});var Jt=xe((Dy,Bi)=>{var xn=pt(),Pp=on().f,Ip=Dn(),kp=ei(),Lp=dr(),Op=xi(),jp=Ti();Bi.exports=function(e,r){var t=e.target,s=e.global,a=e.stat,n,u,i,l,p,y;if(s?u=xn:a?u=xn[t]||Lp(t,{}):u=(xn[t]||{}).prototype,u)for(i in r){if(p=r[i],e.dontCallGetSet?(y=Pp(u,i),l=y&&y.value):l=u[i],n=jp(s?i:t+(a?".":"#")+i,e.forced),!n&&l!==void 0){if(typeof p==typeof l)continue;Op(p,l)}(e.sham||l&&l.sham)&&Ip(p,"sham",!0),kp(u,i,p,e)}}});var bn=xe((my,Ni)=>{var qp=Vt();Ni.exports=Array.isArray||function(r){return qp(r)=="Array"}});var _i=xe((dy,wi)=>{var Mp=TypeError,Rp=9007199254740991;wi.exports=function(e){if(e>Rp)throw Mp("Maximum allowed index exceeded");return e}});var Ii=xe((gy,Pi)=>{var $p=Vt(),Vp=mt();Pi.exports=function(e){if($p(e)==="Function")return Vp(e)}});var Tn=xe((yy,Li)=>{var ki=Ii(),Wp=Ht(),Hp=ar(),Gp=ki(ki.bind);Li.exports=function(e,r){return Wp(e),r===void 0?e:Hp?Gp(e,r):function(){return e.apply(r,arguments)}}});var Bn=xe((hy,ji)=>{"use strict";var Up=bn(),Jp=Lt(),zp=_i(),Xp=Tn(),Oi=function(e,r,t,s,a,n,u,i){for(var l=a,p=0,y=u?Xp(u,i):!1,h,g;p0&&Up(h)?(g=Jp(h),l=Oi(e,r,h,g,l,n-1)-1):(zp(l+1),e[l]=h),l++),p++;return l};ji.exports=Oi});var Ri=xe((vy,Mi)=>{var Kp=bt(),Yp=Kp("toStringTag"),qi={};qi[Yp]="z";Mi.exports=String(qi)==="[object z]"});var Nn=xe((Cy,$i)=>{var Qp=Ri(),Zp=ot(),xr=Vt(),ef=bt(),tf=ef("toStringTag"),rf=Object,nf=xr(function(){return arguments}())=="Arguments",uf=function(e,r){try{return e[r]}catch{}};$i.exports=Qp?xr:function(e){var r,t,s;return e===void 0?"Undefined":e===null?"Null":typeof(t=uf(r=rf(e),tf))=="string"?t:nf?xr(r):(s=xr(r))=="Object"&&Zp(r.callee)?"Arguments":s}});var Ji=xe((Ey,Ui)=>{var sf=mt(),af=Dt(),Vi=ot(),of=Nn(),lf=Wt(),cf=yn(),Wi=function(){},pf=[],Hi=lf("Reflect","construct"),wn=/^\s*(?:class|function)\b/,ff=sf(wn.exec),Df=!wn.exec(Wi),zt=function(r){if(!Vi(r))return!1;try{return Hi(Wi,pf,r),!0}catch{return!1}},Gi=function(r){if(!Vi(r))return!1;switch(of(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Df||!!ff(wn,cf(r))}catch{return!0}};Gi.sham=!0;Ui.exports=!Hi||af(function(){var e;return zt(zt.call)||!zt(Object)||!zt(function(){e=!0})||e})?Gi:zt});var Yi=xe((Fy,Ki)=>{var zi=bn(),mf=Ji(),df=St(),gf=bt(),yf=gf("species"),Xi=Array;Ki.exports=function(e){var r;return zi(e)&&(r=e.constructor,mf(r)&&(r===Xi||zi(r.prototype))?r=void 0:df(r)&&(r=r[yf],r===null&&(r=void 0))),r===void 0?Xi:r}});var _n=xe((Ay,Qi)=>{var hf=Yi();Qi.exports=function(e,r){return new(hf(e))(r===0?0:r)}});var Zi=xe(()=>{"use strict";var vf=Jt(),Cf=Bn(),Ef=Ht(),Ff=yr(),Af=Lt(),Sf=_n();vf({target:"Array",proto:!0},{flatMap:function(r){var t=Ff(this),s=Af(t),a;return Ef(r),a=Sf(t,0),a.length=Cf(a,t,t,s,0,1,r,arguments.length>1?arguments[1]:void 0),a}})});var Pn=xe((by,ea)=>{ea.exports={}});var ra=xe((Ty,ta)=>{var xf=bt(),bf=Pn(),Tf=xf("iterator"),Bf=Array.prototype;ta.exports=function(e){return e!==void 0&&(bf.Array===e||Bf[Tf]===e)}});var In=xe((By,ua)=>{var Nf=Nn(),na=mr(),wf=cr(),_f=Pn(),Pf=bt(),If=Pf("iterator");ua.exports=function(e){if(!wf(e))return na(e,If)||na(e,"@@iterator")||_f[Nf(e)]}});var ia=xe((Ny,sa)=>{var kf=At(),Lf=Ht(),Of=Tt(),jf=Dr(),qf=In(),Mf=TypeError;sa.exports=function(e,r){var t=arguments.length<2?qf(e):r;if(Lf(t))return Of(kf(t,e));throw Mf(jf(e)+" is not iterable")}});var la=xe((wy,oa)=>{var Rf=At(),aa=Tt(),$f=mr();oa.exports=function(e,r,t){var s,a;aa(e);try{if(s=$f(e,"return"),!s){if(r==="throw")throw t;return t}s=Rf(s,e)}catch(n){a=!0,s=n}if(r==="throw")throw t;if(a)throw s;return aa(s),t}});var ma=xe((_y,Da)=>{var Vf=Tn(),Wf=At(),Hf=Tt(),Gf=Dr(),Uf=ra(),Jf=Lt(),ca=Xr(),zf=ia(),Xf=In(),pa=la(),Kf=TypeError,br=function(e,r){this.stopped=e,this.result=r},fa=br.prototype;Da.exports=function(e,r,t){var s=t&&t.that,a=!!(t&&t.AS_ENTRIES),n=!!(t&&t.IS_RECORD),u=!!(t&&t.IS_ITERATOR),i=!!(t&&t.INTERRUPTED),l=Vf(r,s),p,y,h,g,c,f,F,_=function(E){return p&&pa(p,"normal",E),new br(!0,E)},w=function(E){return a?(Hf(E),i?l(E[0],E[1],_):l(E[0],E[1])):i?l(E,_):l(E)};if(n)p=e.iterator;else if(u)p=e;else{if(y=Xf(e),!y)throw Kf(Gf(e)+" is not iterable");if(Uf(y)){for(h=0,g=Jf(e);g>h;h++)if(c=w(e[h]),c&&ca(fa,c))return c;return new br(!1)}p=zf(e,y)}for(f=n?e.next:p.next;!(F=Wf(f,p)).done;){try{c=w(F.value)}catch(E){pa(p,"throw",E)}if(typeof c=="object"&&c&&ca(fa,c))return c}return new br(!1)}});var ga=xe((Py,da)=>{"use strict";var Yf=hr(),Qf=kt(),Zf=lr();da.exports=function(e,r,t){var s=Yf(r);s in e?Qf.f(e,s,Zf(0,t)):e[s]=t}});var ya=xe(()=>{var eD=Jt(),tD=ma(),rD=ga();eD({target:"Object",stat:!0},{fromEntries:function(r){var t={};return tD(r,function(s,a){rD(t,s,a)},{AS_ENTRIES:!0}),t}})});var Ca=xe((Ly,va)=>{var ha=An(),nD=kt();va.exports=function(e,r,t){return t.get&&ha(t.get,r,{getter:!0}),t.set&&ha(t.set,r,{setter:!0}),nD.f(e,r,t)}});var Fa=xe((Oy,Ea)=>{"use strict";var uD=Tt();Ea.exports=function(){var e=uD(this),r="";return e.hasIndices&&(r+="d"),e.global&&(r+="g"),e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),e.dotAll&&(r+="s"),e.unicode&&(r+="u"),e.unicodeSets&&(r+="v"),e.sticky&&(r+="y"),r}});var xa=xe(()=>{var sD=pt(),iD=yt(),aD=Ca(),oD=Fa(),lD=Dt(),Aa=sD.RegExp,Sa=Aa.prototype,cD=iD&&lD(function(){var e=!0;try{Aa(".","d")}catch{e=!1}var r={},t="",s=e?"dgimsy":"gimsy",a=function(l,p){Object.defineProperty(r,l,{get:function(){return t+=p,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};e&&(n.hasIndices="d");for(var u in n)a(u,n[u]);var i=Object.getOwnPropertyDescriptor(Sa,"flags").get.call(r);return i!==s||t!==s});cD&&aD(Sa,"flags",{configurable:!0,get:oD})});var ba=xe(()=>{var pD=Jt(),kn=pt();pD({global:!0,forced:kn.globalThis!==kn},{globalThis:kn})});var Ta=xe(()=>{ba()});var Ba=xe(()=>{"use strict";var fD=Jt(),DD=Bn(),mD=yr(),dD=Lt(),gD=Sr(),yD=_n();fD({target:"Array",proto:!0},{flat:function(){var r=arguments.length?arguments[0]:void 0,t=mD(this),s=dD(t),a=yD(t,0);return a.length=DD(a,t,t,s,0,r===void 0?1:gD(r)),a}})});var e0=xe((Uy,jo)=>{var hD=["cliName","cliCategory","cliDescription"],vD=["_"],CD=["languageId"];function Hn(e,r){if(e==null)return{};var t=ED(e,r),s,a;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,s)&&(t[s]=e[s])}return t}function ED(e,r){if(e==null)return{};var t={},s=Object.keys(e),a,n;for(n=0;n=0)&&(t[a]=e[a]);return t}Zi();ya();xa();Ta();Ba();var FD=Object.create,_r=Object.defineProperty,AD=Object.getOwnPropertyDescriptor,Gn=Object.getOwnPropertyNames,SD=Object.getPrototypeOf,xD=Object.prototype.hasOwnProperty,ht=(e,r)=>function(){return e&&(r=(0,e[Gn(e)[0]])(e=0)),r},te=(e,r)=>function(){return r||(0,e[Gn(e)[0]])((r={exports:{}}).exports,r),r.exports},Kt=(e,r)=>{for(var t in r)_r(e,t,{get:r[t],enumerable:!0})},Pa=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of Gn(r))!xD.call(e,a)&&a!==t&&_r(e,a,{get:()=>r[a],enumerable:!(s=AD(r,a))||s.enumerable});return e},bD=(e,r,t)=>(t=e!=null?FD(SD(e)):{},Pa(r||!e||!e.__esModule?_r(t,"default",{value:e,enumerable:!0}):t,e)),ft=e=>Pa(_r({},"__esModule",{value:!0}),e),wt,ne=ht({""(){wt={env:{},argv:[]}}}),Ia=te({"package.json"(e,r){r.exports={version:"2.8.8"}}}),TD=te({"node_modules/diff/lib/diff/base.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;function r(){}r.prototype={diff:function(n,u){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=i.callback;typeof i=="function"&&(l=i,i={}),this.options=i;var p=this;function y(N){return l?(setTimeout(function(){l(void 0,N)},0),!0):N}n=this.castInput(n),u=this.castInput(u),n=this.removeEmpty(this.tokenize(n)),u=this.removeEmpty(this.tokenize(u));var h=u.length,g=n.length,c=1,f=h+g,F=[{newPos:-1,components:[]}],_=this.extractCommon(F[0],u,n,0);if(F[0].newPos+1>=h&&_+1>=g)return y([{value:this.join(u),count:u.length}]);function w(){for(var N=-1*c;N<=c;N+=2){var x=void 0,I=F[N-1],P=F[N+1],$=(P?P.newPos:0)-N;I&&(F[N-1]=void 0);var D=I&&I.newPos+1=h&&$+1>=g)return y(t(p,x.components,u,n,p.useLongestToken));F[N]=x}c++}if(l)(function N(){setTimeout(function(){if(c>f)return l();w()||N()},0)})();else for(;c<=f;){var E=w();if(E)return E}},pushComponent:function(n,u,i){var l=n[n.length-1];l&&l.added===u&&l.removed===i?n[n.length-1]={count:l.count+1,added:u,removed:i}:n.push({count:1,added:u,removed:i})},extractCommon:function(n,u,i,l){for(var p=u.length,y=i.length,h=n.newPos,g=h-l,c=0;h+1w.length?N:w}),c.value=a.join(f)}else c.value=a.join(u.slice(h,h+c.count));h+=c.count,c.added||(g+=c.count)}}var _=n[y-1];return y>1&&typeof _.value=="string"&&(_.added||_.removed)&&a.equals("",_.value)&&(n[y-2].value+=_.value,n.pop()),n}function s(a){return{newPos:a.newPos,components:a.components.slice(0)}}}}),BD=te({"node_modules/diff/lib/diff/array.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.diffArrays=a,e.arrayDiff=void 0;var r=t(TD());function t(n){return n&&n.__esModule?n:{default:n}}var s=new r.default;e.arrayDiff=s,s.tokenize=function(n){return n.slice()},s.join=s.removeEmpty=function(n){return n};function a(n,u,i){return s.diff(n,u,i)}}}),Un=te({"src/document/doc-builders.js"(e,r){"use strict";ne();function t(C){return{type:"concat",parts:C}}function s(C){return{type:"indent",contents:C}}function a(C,o){return{type:"align",contents:o,n:C}}function n(C){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return{type:"group",id:o.id,contents:C,break:Boolean(o.shouldBreak),expandedStates:o.expandedStates}}function u(C){return a(Number.NEGATIVE_INFINITY,C)}function i(C){return a({type:"root"},C)}function l(C){return a(-1,C)}function p(C,o){return n(C[0],Object.assign(Object.assign({},o),{},{expandedStates:C}))}function y(C){return{type:"fill",parts:C}}function h(C,o){let d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return{type:"if-break",breakContents:C,flatContents:o,groupId:d.groupId}}function g(C,o){return{type:"indent-if-break",contents:C,groupId:o.groupId,negate:o.negate}}function c(C){return{type:"line-suffix",contents:C}}var f={type:"line-suffix-boundary"},F={type:"break-parent"},_={type:"trim"},w={type:"line",hard:!0},E={type:"line",hard:!0,literal:!0},N={type:"line"},x={type:"line",soft:!0},I=t([w,F]),P=t([E,F]),$={type:"cursor",placeholder:Symbol("cursor")};function D(C,o){let d=[];for(let v=0;v0){for(let S=0;S=0?u.charAt(i+1)===` -`?"crlf":"cr":"lf"}function s(u){switch(u){case"cr":return"\r";case"crlf":return`\r -`;default:return` -`}}function a(u,i){let l;switch(i){case` -`:l=/\n/g;break;case"\r":l=/\r/g;break;case`\r -`:l=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(i)}.`)}let p=u.match(l);return p?p.length:0}function n(u){return u.replace(/\r\n?/g,` -`)}r.exports={guessEndOfLine:t,convertEndOfLineToChars:s,countEndOfLineChars:a,normalizeEndOfLine:n}}}),lt=te({"src/utils/get-last.js"(e,r){"use strict";ne();var t=s=>s[s.length-1];r.exports=t}});function ND(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var wD=ht({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){ne()}});function _D(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(ND(),"")}var PD=ht({"node_modules/strip-ansi/index.js"(){ne(),wD()}});function ID(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var kD=ht({"node_modules/is-fullwidth-code-point/index.js"(){ne()}}),LD=te({"node_modules/emoji-regex/index.js"(e,r){"use strict";ne(),r.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),ka={};Kt(ka,{default:()=>OD});function OD(e){if(typeof e!="string"||e.length===0||(e=_D(e),e.length===0))return 0;e=e.replace((0,La.default)()," ");let r=0;for(let t=0;t=127&&s<=159||s>=768&&s<=879||(s>65535&&t++,r+=ID(s)?2:1)}return r}var La,jD=ht({"node_modules/string-width/index.js"(){ne(),PD(),kD(),La=bD(LD())}}),Oa=te({"src/utils/get-string-width.js"(e,r){"use strict";ne();var t=(jD(),ft(ka)).default,s=/[^\x20-\x7F]/;function a(n){return n?s.test(n)?t(n):n.length:0}r.exports=a}}),Yt=te({"src/document/doc-utils.js"(e,r){"use strict";ne();var t=lt(),{literalline:s,join:a}=Un(),n=o=>Array.isArray(o)||o&&o.type==="concat",u=o=>{if(Array.isArray(o))return o;if(o.type!=="concat"&&o.type!=="fill")throw new Error("Expect doc type to be `concat` or `fill`.");return o.parts},i={};function l(o,d,v,S){let b=[o];for(;b.length>0;){let B=b.pop();if(B===i){v(b.pop());continue}if(v&&b.push(B,i),!d||d(B)!==!1)if(n(B)||B.type==="fill"){let k=u(B);for(let M=k.length,R=M-1;R>=0;--R)b.push(k[R])}else if(B.type==="if-break")B.flatContents&&b.push(B.flatContents),B.breakContents&&b.push(B.breakContents);else if(B.type==="group"&&B.expandedStates)if(S)for(let k=B.expandedStates.length,M=k-1;M>=0;--M)b.push(B.expandedStates[M]);else b.push(B.contents);else B.contents&&b.push(B.contents)}}function p(o,d){let v=new Map;return S(o);function S(B){if(v.has(B))return v.get(B);let k=b(B);return v.set(B,k),k}function b(B){if(Array.isArray(B))return d(B.map(S));if(B.type==="concat"||B.type==="fill"){let k=B.parts.map(S);return d(Object.assign(Object.assign({},B),{},{parts:k}))}if(B.type==="if-break"){let k=B.breakContents&&S(B.breakContents),M=B.flatContents&&S(B.flatContents);return d(Object.assign(Object.assign({},B),{},{breakContents:k,flatContents:M}))}if(B.type==="group"&&B.expandedStates){let k=B.expandedStates.map(S),M=k[0];return d(Object.assign(Object.assign({},B),{},{contents:M,expandedStates:k}))}if(B.contents){let k=S(B.contents);return d(Object.assign(Object.assign({},B),{},{contents:k}))}return d(B)}}function y(o,d,v){let S=v,b=!1;function B(k){let M=d(k);if(M!==void 0&&(b=!0,S=M),b)return!1}return l(o,B),S}function h(o){if(o.type==="group"&&o.break||o.type==="line"&&o.hard||o.type==="break-parent")return!0}function g(o){return y(o,h,!1)}function c(o){if(o.length>0){let d=t(o);!d.expandedStates&&!d.break&&(d.break="propagated")}return null}function f(o){let d=new Set,v=[];function S(B){if(B.type==="break-parent"&&c(v),B.type==="group"){if(v.push(B),d.has(B))return!1;d.add(B)}}function b(B){B.type==="group"&&v.pop().break&&c(v)}l(o,S,b,!0)}function F(o){return o.type==="line"&&!o.hard?o.soft?"":" ":o.type==="if-break"?o.flatContents||"":o}function _(o){return p(o,F)}var w=(o,d)=>o&&o.type==="line"&&o.hard&&d&&d.type==="break-parent";function E(o){if(!o)return o;if(n(o)||o.type==="fill"){let d=u(o);for(;d.length>1&&w(...d.slice(-2));)d.length-=2;if(d.length>0){let v=E(t(d));d[d.length-1]=v}return Array.isArray(o)?d:Object.assign(Object.assign({},o),{},{parts:d})}switch(o.type){case"align":case"indent":case"indent-if-break":case"group":case"line-suffix":case"label":{let d=E(o.contents);return Object.assign(Object.assign({},o),{},{contents:d})}case"if-break":{let d=E(o.breakContents),v=E(o.flatContents);return Object.assign(Object.assign({},o),{},{breakContents:d,flatContents:v})}}return o}function N(o){return E(I(o))}function x(o){switch(o.type){case"fill":if(o.parts.every(v=>v===""))return"";break;case"group":if(!o.contents&&!o.id&&!o.break&&!o.expandedStates)return"";if(o.contents.type==="group"&&o.contents.id===o.id&&o.contents.break===o.break&&o.contents.expandedStates===o.expandedStates)return o.contents;break;case"align":case"indent":case"indent-if-break":case"line-suffix":if(!o.contents)return"";break;case"if-break":if(!o.flatContents&&!o.breakContents)return"";break}if(!n(o))return o;let d=[];for(let v of u(o)){if(!v)continue;let[S,...b]=n(v)?u(v):[v];typeof S=="string"&&typeof t(d)=="string"?d[d.length-1]+=S:d.push(S),d.push(...b)}return d.length===0?"":d.length===1?d[0]:Array.isArray(o)?d:Object.assign(Object.assign({},o),{},{parts:d})}function I(o){return p(o,d=>x(d))}function P(o){let d=[],v=o.filter(Boolean);for(;v.length>0;){let S=v.shift();if(S){if(n(S)){v.unshift(...u(S));continue}if(d.length>0&&typeof t(d)=="string"&&typeof S=="string"){d[d.length-1]+=S;continue}d.push(S)}}return d}function $(o){return p(o,d=>Array.isArray(d)?P(d):d.parts?Object.assign(Object.assign({},d),{},{parts:P(d.parts)}):d)}function D(o){return p(o,d=>typeof d=="string"&&d.includes(` -`)?T(d):d)}function T(o){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s;return a(d,o.split(` -`)).parts}function m(o){if(o.type==="line")return!0}function C(o){return y(o,m,!1)}r.exports={isConcat:n,getDocParts:u,willBreak:g,traverseDoc:l,findInDoc:y,mapDoc:p,propagateBreaks:f,removeLines:_,stripTrailingHardline:N,normalizeParts:P,normalizeDoc:$,cleanDoc:I,replaceTextEndOfLine:T,replaceEndOfLine:D,canBreak:C}}}),qD=te({"src/document/doc-printer.js"(e,r){"use strict";ne();var{convertEndOfLineToChars:t}=Jn(),s=lt(),a=Oa(),{fill:n,cursor:u,indent:i}=Un(),{isConcat:l,getDocParts:p}=Yt(),y,h=1,g=2;function c(){return{value:"",length:0,queue:[]}}function f(x,I){return _(x,{type:"indent"},I)}function F(x,I,P){return I===Number.NEGATIVE_INFINITY?x.root||c():I<0?_(x,{type:"dedent"},P):I?I.type==="root"?Object.assign(Object.assign({},x),{},{root:x}):_(x,{type:typeof I=="string"?"stringAlign":"numberAlign",n:I},P):x}function _(x,I,P){let $=I.type==="dedent"?x.queue.slice(0,-1):[...x.queue,I],D="",T=0,m=0,C=0;for(let k of $)switch(k.type){case"indent":v(),P.useTabs?o(1):d(P.tabWidth);break;case"stringAlign":v(),D+=k.n,T+=k.n.length;break;case"numberAlign":m+=1,C+=k.n;break;default:throw new Error(`Unexpected type '${k.type}'`)}return b(),Object.assign(Object.assign({},x),{},{value:D,length:T,queue:$});function o(k){D+=" ".repeat(k),T+=P.tabWidth*k}function d(k){D+=" ".repeat(k),T+=k}function v(){P.useTabs?S():b()}function S(){m>0&&o(m),B()}function b(){C>0&&d(C),B()}function B(){m=0,C=0}}function w(x){if(x.length===0)return 0;let I=0;for(;x.length>0&&typeof s(x)=="string"&&/^[\t ]*$/.test(s(x));)I+=x.pop().length;if(x.length>0&&typeof s(x)=="string"){let P=s(x).replace(/[\t ]*$/,"");I+=s(x).length-P.length,x[x.length-1]=P}return I}function E(x,I,P,$,D){let T=I.length,m=[x],C=[];for(;P>=0;){if(m.length===0){if(T===0)return!0;m.push(I[--T]);continue}let{mode:o,doc:d}=m.pop();if(typeof d=="string")C.push(d),P-=a(d);else if(l(d)||d.type==="fill"){let v=p(d);for(let S=v.length-1;S>=0;S--)m.push({mode:o,doc:v[S]})}else switch(d.type){case"indent":case"align":case"indent-if-break":case"label":m.push({mode:o,doc:d.contents});break;case"trim":P+=w(C);break;case"group":{if(D&&d.break)return!1;let v=d.break?h:o,S=d.expandedStates&&v===h?s(d.expandedStates):d.contents;m.push({mode:v,doc:S});break}case"if-break":{let S=(d.groupId?y[d.groupId]||g:o)===h?d.breakContents:d.flatContents;S&&m.push({mode:o,doc:S});break}case"line":if(o===h||d.hard)return!0;d.soft||(C.push(" "),P--);break;case"line-suffix":$=!0;break;case"line-suffix-boundary":if($)return!1;break}}return!1}function N(x,I){y={};let P=I.printWidth,$=t(I.endOfLine),D=0,T=[{ind:c(),mode:h,doc:x}],m=[],C=!1,o=[];for(;T.length>0;){let{ind:v,mode:S,doc:b}=T.pop();if(typeof b=="string"){let B=$!==` -`?b.replace(/\n/g,$):b;m.push(B),D+=a(B)}else if(l(b)){let B=p(b);for(let k=B.length-1;k>=0;k--)T.push({ind:v,mode:S,doc:B[k]})}else switch(b.type){case"cursor":m.push(u.placeholder);break;case"indent":T.push({ind:f(v,I),mode:S,doc:b.contents});break;case"align":T.push({ind:F(v,b.n,I),mode:S,doc:b.contents});break;case"trim":D-=w(m);break;case"group":switch(S){case g:if(!C){T.push({ind:v,mode:b.break?h:g,doc:b.contents});break}case h:{C=!1;let B={ind:v,mode:g,doc:b.contents},k=P-D,M=o.length>0;if(!b.break&&E(B,T,k,M))T.push(B);else if(b.expandedStates){let R=s(b.expandedStates);if(b.break){T.push({ind:v,mode:h,doc:R});break}else for(let q=1;q=b.expandedStates.length){T.push({ind:v,mode:h,doc:R});break}else{let J=b.expandedStates[q],L={ind:v,mode:g,doc:J};if(E(L,T,k,M)){T.push(L);break}}}else T.push({ind:v,mode:h,doc:b.contents});break}}b.id&&(y[b.id]=s(T).mode);break;case"fill":{let B=P-D,{parts:k}=b;if(k.length===0)break;let[M,R]=k,q={ind:v,mode:g,doc:M},J={ind:v,mode:h,doc:M},L=E(q,[],B,o.length>0,!0);if(k.length===1){L?T.push(q):T.push(J);break}let Q={ind:v,mode:g,doc:R},V={ind:v,mode:h,doc:R};if(k.length===2){L?T.push(Q,q):T.push(V,J);break}k.splice(0,2);let j={ind:v,mode:S,doc:n(k)},Y=k[0];E({ind:v,mode:g,doc:[M,R,Y]},[],B,o.length>0,!0)?T.push(j,Q,q):L?T.push(j,V,q):T.push(j,V,J);break}case"if-break":case"indent-if-break":{let B=b.groupId?y[b.groupId]:S;if(B===h){let k=b.type==="if-break"?b.breakContents:b.negate?b.contents:i(b.contents);k&&T.push({ind:v,mode:S,doc:k})}if(B===g){let k=b.type==="if-break"?b.flatContents:b.negate?i(b.contents):b.contents;k&&T.push({ind:v,mode:S,doc:k})}break}case"line-suffix":o.push({ind:v,mode:S,doc:b.contents});break;case"line-suffix-boundary":o.length>0&&T.push({ind:v,mode:S,doc:{type:"line",hard:!0}});break;case"line":switch(S){case g:if(b.hard)C=!0;else{b.soft||(m.push(" "),D+=1);break}case h:if(o.length>0){T.push({ind:v,mode:S,doc:b},...o.reverse()),o.length=0;break}b.literal?v.root?(m.push($,v.root.value),D=v.root.length):(m.push($),D=0):(D-=w(m),m.push($+v.value),D=v.length);break}break;case"label":T.push({ind:v,mode:S,doc:b.contents});break;default:}T.length===0&&o.length>0&&(T.push(...o.reverse()),o.length=0)}let d=m.indexOf(u.placeholder);if(d!==-1){let v=m.indexOf(u.placeholder,d+1),S=m.slice(0,d).join(""),b=m.slice(d+1,v).join(""),B=m.slice(v+1).join("");return{formatted:S+b+B,cursorNodeStart:S.length,cursorNodeText:b}}return{formatted:m.join("")}}r.exports={printDocToString:N}}}),MD=te({"src/document/doc-debug.js"(e,r){"use strict";ne();var{isConcat:t,getDocParts:s}=Yt();function a(u){if(!u)return"";if(t(u)){let i=[];for(let l of s(u))if(t(l))i.push(...a(l).parts);else{let p=a(l);p!==""&&i.push(p)}return{type:"concat",parts:i}}return u.type==="if-break"?Object.assign(Object.assign({},u),{},{breakContents:a(u.breakContents),flatContents:a(u.flatContents)}):u.type==="group"?Object.assign(Object.assign({},u),{},{contents:a(u.contents),expandedStates:u.expandedStates&&u.expandedStates.map(a)}):u.type==="fill"?{type:"fill",parts:u.parts.map(a)}:u.contents?Object.assign(Object.assign({},u),{},{contents:a(u.contents)}):u}function n(u){let i=Object.create(null),l=new Set;return p(a(u));function p(h,g,c){if(typeof h=="string")return JSON.stringify(h);if(t(h)){let f=s(h).map(p).filter(Boolean);return f.length===1?f[0]:`[${f.join(", ")}]`}if(h.type==="line"){let f=Array.isArray(c)&&c[g+1]&&c[g+1].type==="break-parent";return h.literal?f?"literalline":"literallineWithoutBreakParent":h.hard?f?"hardline":"hardlineWithoutBreakParent":h.soft?"softline":"line"}if(h.type==="break-parent")return Array.isArray(c)&&c[g-1]&&c[g-1].type==="line"&&c[g-1].hard?void 0:"breakParent";if(h.type==="trim")return"trim";if(h.type==="indent")return"indent("+p(h.contents)+")";if(h.type==="align")return h.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+p(h.contents)+")":h.n<0?"dedent("+p(h.contents)+")":h.n.type==="root"?"markAsRoot("+p(h.contents)+")":"align("+JSON.stringify(h.n)+", "+p(h.contents)+")";if(h.type==="if-break")return"ifBreak("+p(h.breakContents)+(h.flatContents?", "+p(h.flatContents):"")+(h.groupId?(h.flatContents?"":', ""')+`, { groupId: ${y(h.groupId)} }`:"")+")";if(h.type==="indent-if-break"){let f=[];h.negate&&f.push("negate: true"),h.groupId&&f.push(`groupId: ${y(h.groupId)}`);let F=f.length>0?`, { ${f.join(", ")} }`:"";return`indentIfBreak(${p(h.contents)}${F})`}if(h.type==="group"){let f=[];h.break&&h.break!=="propagated"&&f.push("shouldBreak: true"),h.id&&f.push(`id: ${y(h.id)}`);let F=f.length>0?`, { ${f.join(", ")} }`:"";return h.expandedStates?`conditionalGroup([${h.expandedStates.map(_=>p(_)).join(",")}]${F})`:`group(${p(h.contents)}${F})`}if(h.type==="fill")return`fill([${h.parts.map(f=>p(f)).join(", ")}])`;if(h.type==="line-suffix")return"lineSuffix("+p(h.contents)+")";if(h.type==="line-suffix-boundary")return"lineSuffixBoundary";if(h.type==="label")return`label(${JSON.stringify(h.label)}, ${p(h.contents)})`;throw new Error("Unknown doc type "+h.type)}function y(h){if(typeof h!="symbol")return JSON.stringify(String(h));if(h in i)return i[h];let g=String(h).slice(7,-1)||"symbol";for(let c=0;;c++){let f=g+(c>0?` #${c}`:"");if(!l.has(f))return l.add(f),i[h]=`Symbol.for(${JSON.stringify(f)})`}}}r.exports={printDocToDebug:n}}}),qe=te({"src/document/index.js"(e,r){"use strict";ne(),r.exports={builders:Un(),printer:qD(),utils:Yt(),debug:MD()}}}),ja={};Kt(ja,{default:()=>RD});function RD(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var $D=ht({"node_modules/escape-string-regexp/index.js"(){ne()}}),qa=te({"node_modules/semver/internal/debug.js"(e,r){ne();var t=typeof wt=="object"&&wt.env&&wt.env.NODE_DEBUG&&/\bsemver\b/i.test(wt.env.NODE_DEBUG)?function(){for(var s=arguments.length,a=new Array(s),n=0;n{};r.exports=t}}),Ma=te({"node_modules/semver/internal/constants.js"(e,r){ne();var t="2.0.0",s=256,a=Number.MAX_SAFE_INTEGER||9007199254740991,n=16;r.exports={SEMVER_SPEC_VERSION:t,MAX_LENGTH:s,MAX_SAFE_INTEGER:a,MAX_SAFE_COMPONENT_LENGTH:n}}}),VD=te({"node_modules/semver/internal/re.js"(e,r){ne();var{MAX_SAFE_COMPONENT_LENGTH:t}=Ma(),s=qa();e=r.exports={};var a=e.re=[],n=e.src=[],u=e.t={},i=0,l=(p,y,h)=>{let g=i++;s(p,g,y),u[p]=g,n[g]=y,a[g]=new RegExp(y,h?"g":void 0)};l("NUMERICIDENTIFIER","0|[1-9]\\d*"),l("NUMERICIDENTIFIERLOOSE","[0-9]+"),l("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),l("MAINVERSION",`(${n[u.NUMERICIDENTIFIER]})\\.(${n[u.NUMERICIDENTIFIER]})\\.(${n[u.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${n[u.NUMERICIDENTIFIERLOOSE]})\\.(${n[u.NUMERICIDENTIFIERLOOSE]})\\.(${n[u.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${n[u.NUMERICIDENTIFIER]}|${n[u.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${n[u.NUMERICIDENTIFIERLOOSE]}|${n[u.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${n[u.PRERELEASEIDENTIFIER]}(?:\\.${n[u.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${n[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[u.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${n[u.BUILDIDENTIFIER]}(?:\\.${n[u.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${n[u.MAINVERSION]}${n[u.PRERELEASE]}?${n[u.BUILD]}?`),l("FULL",`^${n[u.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${n[u.MAINVERSIONLOOSE]}${n[u.PRERELEASELOOSE]}?${n[u.BUILD]}?`),l("LOOSE",`^${n[u.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${n[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${n[u.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${n[u.XRANGEIDENTIFIER]})(?:\\.(${n[u.XRANGEIDENTIFIER]})(?:\\.(${n[u.XRANGEIDENTIFIER]})(?:${n[u.PRERELEASE]})?${n[u.BUILD]}?)?)?`),l("XRANGEPLAINLOOSE",`[v=\\s]*(${n[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[u.XRANGEIDENTIFIERLOOSE]})(?:${n[u.PRERELEASELOOSE]})?${n[u.BUILD]}?)?)?`),l("XRANGE",`^${n[u.GTLT]}\\s*${n[u.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${n[u.GTLT]}\\s*${n[u.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`),l("COERCERTL",n[u.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${n[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",l("TILDE",`^${n[u.LONETILDE]}${n[u.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${n[u.LONETILDE]}${n[u.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${n[u.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",l("CARET",`^${n[u.LONECARET]}${n[u.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${n[u.LONECARET]}${n[u.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${n[u.GTLT]}\\s*(${n[u.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${n[u.GTLT]}\\s*(${n[u.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${n[u.GTLT]}\\s*(${n[u.LOOSEPLAIN]}|${n[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${n[u.XRANGEPLAIN]})\\s+-\\s+(${n[u.XRANGEPLAIN]})\\s*$`),l("HYPHENRANGELOOSE",`^\\s*(${n[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[u.XRANGEPLAINLOOSE]})\\s*$`),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),WD=te({"node_modules/semver/internal/parse-options.js"(e,r){ne();var t=["includePrerelease","loose","rtl"],s=a=>a?typeof a!="object"?{loose:!0}:t.filter(n=>a[n]).reduce((n,u)=>(n[u]=!0,n),{}):{};r.exports=s}}),HD=te({"node_modules/semver/internal/identifiers.js"(e,r){ne();var t=/^[0-9]+$/,s=(n,u)=>{let i=t.test(n),l=t.test(u);return i&&l&&(n=+n,u=+u),n===u?0:i&&!l?-1:l&&!i?1:ns(u,n);r.exports={compareIdentifiers:s,rcompareIdentifiers:a}}}),GD=te({"node_modules/semver/classes/semver.js"(e,r){ne();var t=qa(),{MAX_LENGTH:s,MAX_SAFE_INTEGER:a}=Ma(),{re:n,t:u}=VD(),i=WD(),{compareIdentifiers:l}=HD(),p=class{constructor(y,h){if(h=i(h),y instanceof p){if(y.loose===!!h.loose&&y.includePrerelease===!!h.includePrerelease)return y;y=y.version}else if(typeof y!="string")throw new TypeError(`Invalid Version: ${y}`);if(y.length>s)throw new TypeError(`version is longer than ${s} characters`);t("SemVer",y,h),this.options=h,this.loose=!!h.loose,this.includePrerelease=!!h.includePrerelease;let g=y.trim().match(h.loose?n[u.LOOSE]:n[u.FULL]);if(!g)throw new TypeError(`Invalid Version: ${y}`);if(this.raw=y,this.major=+g[1],this.minor=+g[2],this.patch=+g[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");g[4]?this.prerelease=g[4].split(".").map(c=>{if(/^[0-9]+$/.test(c)){let f=+c;if(f>=0&&f=0;)typeof this.prerelease[g]=="number"&&(this.prerelease[g]++,g=-2);g===-1&&this.prerelease.push(0)}h&&(l(this.prerelease[0],h)===0?isNaN(this.prerelease[1])&&(this.prerelease=[h,0]):this.prerelease=[h,0]);break;default:throw new Error(`invalid increment argument: ${y}`)}return this.format(),this.raw=this.version,this}};r.exports=p}}),zn=te({"node_modules/semver/functions/compare.js"(e,r){ne();var t=GD(),s=(a,n,u)=>new t(a,u).compare(new t(n,u));r.exports=s}}),UD=te({"node_modules/semver/functions/lt.js"(e,r){ne();var t=zn(),s=(a,n,u)=>t(a,n,u)<0;r.exports=s}}),JD=te({"node_modules/semver/functions/gte.js"(e,r){ne();var t=zn(),s=(a,n,u)=>t(a,n,u)>=0;r.exports=s}}),zD=te({"src/utils/arrayify.js"(e,r){"use strict";ne(),r.exports=(t,s)=>Object.entries(t).map(a=>{let[n,u]=a;return Object.assign({[s]:n},u)})}}),XD=te({"node_modules/outdent/lib/index.js"(e,r){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function t(){for(var E=[],N=0;Ntypeof h=="string"||typeof h=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:l,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:h=>typeof h=="string"||typeof h=="object",cliName:"plugin",cliCategory:s},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:l,description:t` - Custom directory that contains prettier plugins in node_modules subdirectory. - Overrides default behavior when plugins are searched relatively to the location of Prettier. - Multiple values are accepted. - `,exception:h=>typeof h=="string"||typeof h=="object",cliName:"plugin-search-dir",cliCategory:s},printWidth:{since:"0.0.0",category:l,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:p,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t` - Format code ending at a given character offset (exclusive). - The range will extend forwards to the end of the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},rangeStart:{since:"1.4.0",category:p,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t` - Format code starting at a given character offset. - The range will extend backwards to the start of the first line containing the selected statement. - This option cannot be used with --cursor-offset. - `,cliCategory:a},requirePragma:{since:"1.7.0",category:p,type:"boolean",default:!1,description:t` - Require either '@prettier' or '@format' to be present in the file's first docblock comment - in order for it to be formatted. - `,cliCategory:u},tabWidth:{type:"int",category:l,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:l,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:l,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};r.exports={CATEGORY_CONFIG:s,CATEGORY_EDITOR:a,CATEGORY_FORMAT:n,CATEGORY_OTHER:u,CATEGORY_OUTPUT:i,CATEGORY_GLOBAL:l,CATEGORY_SPECIAL:p,options:y}}}),Xn=te({"src/main/support.js"(e,r){"use strict";ne();var t={compare:zn(),lt:UD(),gte:JD()},s=zD(),a=Ia().version,n=KD().options;function u(){let{plugins:l=[],showUnreleased:p=!1,showDeprecated:y=!1,showInternal:h=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=a.split("-",1)[0],c=l.flatMap(E=>E.languages||[]).filter(F),f=s(Object.assign({},...l.map(E=>{let{options:N}=E;return N}),n),"name").filter(E=>F(E)&&_(E)).sort((E,N)=>E.name===N.name?0:E.name{E=Object.assign({},E),Array.isArray(E.default)&&(E.default=E.default.length===1?E.default[0].value:E.default.filter(F).sort((x,I)=>t.compare(I.since,x.since))[0].value),Array.isArray(E.choices)&&(E.choices=E.choices.filter(x=>F(x)&&_(x)),E.name==="parser"&&i(E,c,l));let N=Object.fromEntries(l.filter(x=>x.defaultOptions&&x.defaultOptions[E.name]!==void 0).map(x=>[x.name,x.defaultOptions[E.name]]));return Object.assign(Object.assign({},E),{},{pluginDefaults:N})});return{languages:c,options:f};function F(E){return p||!("since"in E)||E.since&&t.gte(g,E.since)}function _(E){return y||!("deprecated"in E)||E.deprecated&&t.lt(g,E.deprecated)}function w(E){if(h)return E;let{cliName:N,cliCategory:x,cliDescription:I}=E;return Hn(E,hD)}}function i(l,p,y){let h=new Set(l.choices.map(g=>g.value));for(let g of p)if(g.parsers){for(let c of g.parsers)if(!h.has(c)){h.add(c);let f=y.find(_=>_.parsers&&_.parsers[c]),F=g.name;f&&f.name&&(F+=` (plugin: ${f.name})`),l.choices.push({value:c,description:F})}}}r.exports={getSupportInfo:u}}}),Kn=te({"src/utils/is-non-empty-array.js"(e,r){"use strict";ne();function t(s){return Array.isArray(s)&&s.length>0}r.exports=t}}),Pr=te({"src/utils/text/skip.js"(e,r){"use strict";ne();function t(i){return(l,p,y)=>{let h=y&&y.backwards;if(p===!1)return!1;let{length:g}=l,c=p;for(;c>=0&&cV[V.length-2];function _(V){return(j,Y,ie)=>{let ee=ie&&ie.backwards;if(Y===!1)return!1;let{length:ce}=j,W=Y;for(;W>=0&&W2&&arguments[2]!==void 0?arguments[2]:{},ie=l(V,Y.backwards?j-1:j,Y),ee=c(V,ie,Y);return ie!==ee}function E(V,j,Y){for(let ie=j;ie2&&arguments[2]!==void 0?arguments[2]:{};return l(V,Y.backwards?j-1:j,Y)!==j}function T(V,j){let Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,ie=0;for(let ee=Y;eede?ce:ee}return W}function o(V,j){let Y=V.slice(1,-1),ie=j.parser==="json"||j.parser==="json5"&&j.quoteProps==="preserve"&&!j.singleQuote?'"':j.__isInHtmlAttribute?"'":C(Y,j.singleQuote?"'":'"').quote;return d(Y,ie,!(j.parser==="css"||j.parser==="less"||j.parser==="scss"||j.__embeddedInHtml))}function d(V,j,Y){let ie=j==='"'?"'":'"',ee=/\\(.)|(["'])/gs,ce=V.replace(ee,(W,K,de)=>K===ie?K:de===j?"\\"+de:de||(Y&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(K)?K:"\\"+K));return j+ce+j}function v(V){return V.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function S(V,j){let Y=V.match(new RegExp(`(${t(j)})+`,"g"));return Y===null?0:Y.reduce((ie,ee)=>Math.max(ie,ee.length/j.length),0)}function b(V,j){let Y=V.match(new RegExp(`(${t(j)})+`,"g"));if(Y===null)return 0;let ie=new Map,ee=0;for(let ce of Y){let W=ce.length/j.length;ie.set(W,!0),W>ee&&(ee=W)}for(let ce=1;ce{let{name:ce}=ee;return ce.toLowerCase()===V})||Y.find(ee=>{let{aliases:ce}=ee;return Array.isArray(ce)&&ce.includes(V)})||Y.find(ee=>{let{extensions:ce}=ee;return Array.isArray(ce)&&ce.includes(`.${V}`)});return ie&&ie.parsers[0]}function J(V){return V&&V.type==="front-matter"}function L(V){let j=new WeakMap;return function(Y){return j.has(Y)||j.set(Y,Symbol(V)),j.get(Y)}}function Q(V){let j=V.type||V.kind||"(unknown type)",Y=String(V.name||V.id&&(typeof V.id=="object"?V.id.name:V.id)||V.key&&(typeof V.key=="object"?V.key.name:V.key)||V.value&&(typeof V.value=="object"?"":String(V.value))||V.operator||"");return Y.length>20&&(Y=Y.slice(0,19)+"\u2026"),j+(Y?" "+Y:"")}r.exports={inferParserByLanguage:q,getStringWidth:u,getMaxContinuousCount:S,getMinNotPresentContinuousCount:b,getPenultimate:F,getLast:s,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:f,getNextNonSpaceNonCommentCharacterIndex:P,getNextNonSpaceNonCommentCharacter:$,skip:_,skipWhitespace:i,skipSpaces:l,skipToLineEnd:p,skipEverythingButNewLine:y,skipInlineComment:h,skipTrailingComment:g,skipNewline:c,isNextLineEmptyAfterIndex:x,isNextLineEmpty:I,isPreviousLineEmpty:N,hasNewline:w,hasNewlineInRange:E,hasSpaces:D,getAlignmentSize:T,getIndentSize:m,getPreferredQuote:C,printString:o,printNumber:v,makeString:d,addLeadingComment:k,addDanglingComment:M,addTrailingComment:R,isFrontMatterNode:J,isNonEmptyArray:n,createGroupIdMapper:L}}}),Wa={};Kt(Wa,{basename:()=>za,default:()=>Ka,delimiter:()=>Mn,dirname:()=>Ja,extname:()=>Xa,isAbsolute:()=>Qn,join:()=>Ga,normalize:()=>Yn,relative:()=>Ua,resolve:()=>wr,sep:()=>qn});function Ha(e,r){for(var t=0,s=e.length-1;s>=0;s--){var a=e[s];a==="."?e.splice(s,1):a===".."?(e.splice(s,1),t++):t&&(e.splice(s,1),t--)}if(r)for(;t--;t)e.unshift("..");return e}function wr(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var s=t>=0?arguments[t]:"/";if(typeof s!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!s)continue;e=s+"/"+e,r=s.charAt(0)==="/"}return e=Ha(Zn(e.split("/"),function(a){return!!a}),!r).join("/"),(r?"/":"")+e||"."}function Yn(e){var r=Qn(e),t=Ya(e,-1)==="/";return e=Ha(Zn(e.split("/"),function(s){return!!s}),!r).join("/"),!e&&!r&&(e="."),e&&t&&(e+="/"),(r?"/":"")+e}function Qn(e){return e.charAt(0)==="/"}function Ga(){var e=Array.prototype.slice.call(arguments,0);return Yn(Zn(e,function(r,t){if(typeof r!="string")throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))}function Ua(e,r){e=wr(e).substr(1),r=wr(r).substr(1);function t(p){for(var y=0;y=0&&p[h]==="";h--);return y>h?[]:p.slice(y,h-y+1)}for(var s=t(e.split("/")),a=t(r.split("/")),n=Math.min(s.length,a.length),u=n,i=0;iNr,__asyncDelegator:()=>fm,__asyncGenerator:()=>pm,__asyncValues:()=>Dm,__await:()=>Xt,__awaiter:()=>sm,__classPrivateFieldGet:()=>ym,__classPrivateFieldSet:()=>hm,__createBinding:()=>am,__decorate:()=>rm,__exportStar:()=>om,__extends:()=>em,__generator:()=>im,__importDefault:()=>gm,__importStar:()=>dm,__makeTemplateObject:()=>mm,__metadata:()=>um,__param:()=>nm,__read:()=>Qa,__rest:()=>tm,__spread:()=>lm,__spreadArrays:()=>cm,__values:()=>Rn});function em(e,r){Br(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}function tm(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&r.indexOf(s)<0&&(t[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(e);a=0;i--)(u=e[i])&&(n=(a<3?u(n):a>3?u(r,t,n):u(r,t))||n);return a>3&&n&&Object.defineProperty(r,t,n),n}function nm(e,r){return function(t,s){r(t,s,e)}}function um(e,r){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,r)}function sm(e,r,t,s){function a(n){return n instanceof t?n:new t(function(u){u(n)})}return new(t||(t=Promise))(function(n,u){function i(y){try{p(s.next(y))}catch(h){u(h)}}function l(y){try{p(s.throw(y))}catch(h){u(h)}}function p(y){y.done?n(y.value):a(y.value).then(i,l)}p((s=s.apply(e,r||[])).next())})}function im(e,r){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},s,a,n,u;return u={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function i(p){return function(y){return l([p,y])}}function l(p){if(s)throw new TypeError("Generator is already executing.");for(;t;)try{if(s=1,a&&(n=p[0]&2?a.return:p[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,p[1])).done)return n;switch(a=0,n&&(p=[p[0]&2,n.value]),p[0]){case 0:case 1:n=p;break;case 4:return t.label++,{value:p[1],done:!1};case 5:t.label++,a=p[1],p=[0];continue;case 7:p=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(p[0]===6||p[0]===2)){t=0;continue}if(p[0]===3&&(!n||p[1]>n[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[s++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function Qa(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var s=t.call(e),a,n=[],u;try{for(;(r===void 0||r-- >0)&&!(a=s.next()).done;)n.push(a.value)}catch(i){u={error:i}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(u)throw u.error}}return n}function lm(){for(var e=[],r=0;r1||i(g,c)})})}function i(g,c){try{l(s[g](c))}catch(f){h(n[0][3],f)}}function l(g){g.value instanceof Xt?Promise.resolve(g.value.v).then(p,y):h(n[0][2],g)}function p(g){i("next",g)}function y(g){i("throw",g)}function h(g,c){g(c),n.shift(),n.length&&i(n[0][0],n[0][1])}}function fm(e){var r,t;return r={},s("next"),s("throw",function(a){throw a}),s("return"),r[Symbol.iterator]=function(){return this},r;function s(a,n){r[a]=e[a]?function(u){return(t=!t)?{value:Xt(e[a](u)),done:a==="return"}:n?n(u):u}:n}}function Dm(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=e[Symbol.asyncIterator],t;return r?r.call(e):(e=typeof Rn=="function"?Rn(e):e[Symbol.iterator](),t={},s("next"),s("throw"),s("return"),t[Symbol.asyncIterator]=function(){return this},t);function s(n){t[n]=e[n]&&function(u){return new Promise(function(i,l){u=e[n](u),a(i,l,u.done,u.value)})}}function a(n,u,i,l){Promise.resolve(l).then(function(p){n({value:p,done:i})},u)}}function mm(e,r){return Object.defineProperty?Object.defineProperty(e,"raw",{value:r}):e.raw=r,e}function dm(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function gm(e){return e&&e.__esModule?e:{default:e}}function ym(e,r){if(!r.has(e))throw new TypeError("attempted to get private field on non-instance");return r.get(e)}function hm(e,r,t){if(!r.has(e))throw new TypeError("attempted to set private field on non-instance");return r.set(e,t),t}var Br,Nr,Et=ht({"node_modules/tslib/tslib.es6.js"(){ne(),Br=function(e,r){return Br=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s}||function(t,s){for(var a in s)s.hasOwnProperty(a)&&(t[a]=s[a])},Br(e,r)},Nr=function(){return Nr=Object.assign||function(r){for(var t,s=1,a=arguments.length;s/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(r)?r:JSON.stringify(r),value(r){if(r===null||typeof r!="object")return JSON.stringify(r);if(Array.isArray(r))return`[${r.map(s=>e.apiDescriptor.value(s)).join(", ")}]`;let t=Object.keys(r);return t.length===0?"{}":`{ ${t.map(s=>`${e.apiDescriptor.key(s)}: ${e.apiDescriptor.value(r[s])}`).join(", ")} }`},pair:r=>{let{key:t,value:s}=r;return e.apiDescriptor.value({[t]:s})}}}}),vm=te({"node_modules/vnopts/lib/descriptors/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Za(),e)}}),kr=te({"scripts/build/shims/chalk.cjs"(e,r){"use strict";ne();var t=s=>s;t.grey=t,t.red=t,t.bold=t,t.yellow=t,t.blue=t,t.default=t,r.exports=t}}),eo=te({"node_modules/vnopts/lib/handlers/deprecated/common.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=kr();e.commonDeprecatedHandler=(t,s,a)=>{let{descriptor:n}=a,u=[`${r.default.yellow(typeof t=="string"?n.key(t):n.pair(t))} is deprecated`];return s&&u.push(`we now treat it as ${r.default.blue(typeof s=="string"?n.key(s):n.pair(s))}`),u.join("; ")+"."}}}),Cm=te({"node_modules/vnopts/lib/handlers/deprecated/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(eo(),e)}}),Em=te({"node_modules/vnopts/lib/handlers/invalid/common.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=kr();e.commonInvalidHandler=(t,s,a)=>[`Invalid ${r.default.red(a.descriptor.key(t))} value.`,`Expected ${r.default.blue(a.schemas[t].expected(a))},`,`but received ${r.default.red(a.descriptor.value(s))}.`].join(" ")}}),to=te({"node_modules/vnopts/lib/handlers/invalid/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Em(),e)}}),Fm=te({"node_modules/vnopts/node_modules/leven/index.js"(e,r){"use strict";ne();var t=[],s=[];r.exports=function(a,n){if(a===n)return 0;var u=a;a.length>n.length&&(a=n,n=u);var i=a.length,l=n.length;if(i===0)return l;if(l===0)return i;for(;i>0&&a.charCodeAt(~-i)===n.charCodeAt(~-l);)i--,l--;if(i===0)return l;for(var p=0;ph?c>h?h+1:c:c>g?g+1:c;return h}}}),ro=te({"node_modules/vnopts/lib/handlers/unknown/leven.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=kr(),t=Fm();e.levenUnknownHandler=(s,a,n)=>{let{descriptor:u,logger:i,schemas:l}=n,p=[`Ignored unknown option ${r.default.yellow(u.pair({key:s,value:a}))}.`],y=Object.keys(l).sort().find(h=>t(s,h)<3);y&&p.push(`Did you mean ${r.default.blue(u.key(y))}?`),i.warn(p.join(" "))}}}),Am=te({"node_modules/vnopts/lib/handlers/unknown/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(ro(),e)}}),Sm=te({"node_modules/vnopts/lib/handlers/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Cm(),e),r.__exportStar(to(),e),r.__exportStar(Am(),e)}}),Ft=te({"node_modules/vnopts/lib/schema.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function t(n,u){let i=new n(u),l=Object.create(i);for(let p of r)p in u&&(l[p]=a(u[p],i,s.prototype[p].length));return l}e.createSchema=t;var s=class{constructor(n){this.name=n.name}static create(n){return t(this,n)}default(n){}expected(n){return"nothing"}validate(n,u){return!1}deprecated(n,u){return!1}forward(n,u){}redirect(n,u){}overlap(n,u,i){return n}preprocess(n,u){return n}postprocess(n,u){return n}};e.Schema=s;function a(n,u,i){return typeof n=="function"?function(){for(var l=arguments.length,p=new Array(l),y=0;yn}}}),xm=te({"node_modules/vnopts/lib/schemas/alias.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{constructor(s){super(s),this._sourceName=s.sourceName}expected(s){return s.schemas[this._sourceName].expected(s)}validate(s,a){return a.schemas[this._sourceName].validate(s,a)}redirect(s,a){return this._sourceName}};e.AliasSchema=t}}),bm=te({"node_modules/vnopts/lib/schemas/any.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"anything"}validate(){return!0}};e.AnySchema=t}}),Tm=te({"node_modules/vnopts/lib/schemas/array.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt)),t=Ft(),s=class extends t.Schema{constructor(n){var{valueSchema:u,name:i=u.name}=n,l=r.__rest(n,["valueSchema","name"]);super(Object.assign({},l,{name:i})),this._valueSchema=u}expected(n){return`an array of ${this._valueSchema.expected(n)}`}validate(n,u){if(!Array.isArray(n))return!1;let i=[];for(let l of n){let p=u.normalizeValidateResult(this._valueSchema.validate(l,u),l);p!==!0&&i.push(p.value)}return i.length===0?!0:{value:i}}deprecated(n,u){let i=[];for(let l of n){let p=u.normalizeDeprecatedResult(this._valueSchema.deprecated(l,u),l);p!==!1&&i.push(...p.map(y=>{let{value:h}=y;return{value:[h]}}))}return i}forward(n,u){let i=[];for(let l of n){let p=u.normalizeForwardResult(this._valueSchema.forward(l,u),l);i.push(...p.map(a))}return i}redirect(n,u){let i=[],l=[];for(let p of n){let y=u.normalizeRedirectResult(this._valueSchema.redirect(p,u),p);"remain"in y&&i.push(y.remain),l.push(...y.redirect.map(a))}return i.length===0?{redirect:l}:{redirect:l,remain:i}}overlap(n,u){return n.concat(u)}};e.ArraySchema=s;function a(n){let{from:u,to:i}=n;return{from:[u],to:i}}}}),Bm=te({"node_modules/vnopts/lib/schemas/boolean.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"true or false"}validate(s){return typeof s=="boolean"}};e.BooleanSchema=t}}),eu=te({"node_modules/vnopts/lib/utils.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});function r(c,f){let F=Object.create(null);for(let _ of c){let w=_[f];if(F[w])throw new Error(`Duplicate ${f} ${JSON.stringify(w)}`);F[w]=_}return F}e.recordFromArray=r;function t(c,f){let F=new Map;for(let _ of c){let w=_[f];if(F.has(w))throw new Error(`Duplicate ${f} ${JSON.stringify(w)}`);F.set(w,_)}return F}e.mapFromArray=t;function s(){let c=Object.create(null);return f=>{let F=JSON.stringify(f);return c[F]?!0:(c[F]=!0,!1)}}e.createAutoChecklist=s;function a(c,f){let F=[],_=[];for(let w of c)f(w)?F.push(w):_.push(w);return[F,_]}e.partition=a;function n(c){return c===Math.floor(c)}e.isInt=n;function u(c,f){if(c===f)return 0;let F=typeof c,_=typeof f,w=["undefined","object","boolean","number","string"];return F!==_?w.indexOf(F)-w.indexOf(_):F!=="string"?Number(c)-Number(f):c.localeCompare(f)}e.comparePrimitive=u;function i(c){return c===void 0?{}:c}e.normalizeDefaultResult=i;function l(c,f){return c===!0?!0:c===!1?{value:f}:c}e.normalizeValidateResult=l;function p(c,f){let F=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return c===!1?!1:c===!0?F?!0:[{value:f}]:"value"in c?[c]:c.length===0?!1:c}e.normalizeDeprecatedResult=p;function y(c,f){return typeof c=="string"||"key"in c?{from:f,to:c}:"from"in c?{from:c.from,to:c.to}:{from:f,to:c.to}}e.normalizeTransferResult=y;function h(c,f){return c===void 0?[]:Array.isArray(c)?c.map(F=>y(F,f)):[y(c,f)]}e.normalizeForwardResult=h;function g(c,f){let F=h(typeof c=="object"&&"redirect"in c?c.redirect:c,f);return F.length===0?{remain:f,redirect:F}:typeof c=="object"&&"remain"in c?{remain:c.remain,redirect:F}:{redirect:F}}e.normalizeRedirectResult=g}}),Nm=te({"node_modules/vnopts/lib/schemas/choice.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=eu(),s=class extends r.Schema{constructor(a){super(a),this._choices=t.mapFromArray(a.choices.map(n=>n&&typeof n=="object"?n:{value:n}),"value")}expected(a){let{descriptor:n}=a,u=Array.from(this._choices.keys()).map(p=>this._choices.get(p)).filter(p=>!p.deprecated).map(p=>p.value).sort(t.comparePrimitive).map(n.value),i=u.slice(0,-2),l=u.slice(-2);return i.concat(l.join(" or ")).join(", ")}validate(a){return this._choices.has(a)}deprecated(a){let n=this._choices.get(a);return n&&n.deprecated?{value:a}:!1}forward(a){let n=this._choices.get(a);return n?n.forward:void 0}redirect(a){let n=this._choices.get(a);return n?n.redirect:void 0}};e.ChoiceSchema=s}}),no=te({"node_modules/vnopts/lib/schemas/number.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"a number"}validate(s,a){return typeof s=="number"}};e.NumberSchema=t}}),wm=te({"node_modules/vnopts/lib/schemas/integer.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=eu(),t=no(),s=class extends t.NumberSchema{expected(){return"an integer"}validate(a,n){return n.normalizeValidateResult(super.validate(a,n),a)===!0&&r.isInt(a)}};e.IntegerSchema=s}}),_m=te({"node_modules/vnopts/lib/schemas/string.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return"a string"}validate(s){return typeof s=="string"}};e.StringSchema=t}}),Pm=te({"node_modules/vnopts/lib/schemas/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(xm(),e),r.__exportStar(bm(),e),r.__exportStar(Tm(),e),r.__exportStar(Bm(),e),r.__exportStar(Nm(),e),r.__exportStar(wm(),e),r.__exportStar(no(),e),r.__exportStar(_m(),e)}}),Im=te({"node_modules/vnopts/lib/defaults.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Za(),t=eo(),s=to(),a=ro();e.defaultDescriptor=r.apiDescriptor,e.defaultUnknownHandler=a.levenUnknownHandler,e.defaultInvalidHandler=s.commonInvalidHandler,e.defaultDeprecatedHandler=t.commonDeprecatedHandler}}),km=te({"node_modules/vnopts/lib/normalize.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Im(),t=eu();e.normalize=(a,n,u)=>new s(n,u).normalize(a);var s=class{constructor(a,n){let{logger:u=console,descriptor:i=r.defaultDescriptor,unknown:l=r.defaultUnknownHandler,invalid:p=r.defaultInvalidHandler,deprecated:y=r.defaultDeprecatedHandler}=n||{};this._utils={descriptor:i,logger:u||{warn:()=>{}},schemas:t.recordFromArray(a,"name"),normalizeDefaultResult:t.normalizeDefaultResult,normalizeDeprecatedResult:t.normalizeDeprecatedResult,normalizeForwardResult:t.normalizeForwardResult,normalizeRedirectResult:t.normalizeRedirectResult,normalizeValidateResult:t.normalizeValidateResult},this._unknownHandler=l,this._invalidHandler=p,this._deprecatedHandler=y,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=t.createAutoChecklist()}normalize(a){let n={},u=[a],i=()=>{for(;u.length!==0;){let l=u.shift(),p=this._applyNormalization(l,n);u.push(...p)}};i();for(let l of Object.keys(this._utils.schemas)){let p=this._utils.schemas[l];if(!(l in n)){let y=t.normalizeDefaultResult(p.default(this._utils));"value"in y&&u.push({[l]:y.value})}}i();for(let l of Object.keys(this._utils.schemas)){let p=this._utils.schemas[l];l in n&&(n[l]=p.postprocess(n[l],this._utils))}return n}_applyNormalization(a,n){let u=[],[i,l]=t.partition(Object.keys(a),p=>p in this._utils.schemas);for(let p of i){let y=this._utils.schemas[p],h=y.preprocess(a[p],this._utils),g=t.normalizeValidateResult(y.validate(h,this._utils),h);if(g!==!0){let{value:w}=g,E=this._invalidHandler(p,w,this._utils);throw typeof E=="string"?new Error(E):E}let c=w=>{let{from:E,to:N}=w;u.push(typeof N=="string"?{[N]:E}:{[N.key]:N.value})},f=w=>{let{value:E,redirectTo:N}=w,x=t.normalizeDeprecatedResult(y.deprecated(E,this._utils),h,!0);if(x!==!1)if(x===!0)this._hasDeprecationWarned(p)||this._utils.logger.warn(this._deprecatedHandler(p,N,this._utils));else for(let{value:I}of x){let P={key:p,value:I};if(!this._hasDeprecationWarned(P)){let $=typeof N=="string"?{key:N,value:I}:N;this._utils.logger.warn(this._deprecatedHandler(P,$,this._utils))}}};t.normalizeForwardResult(y.forward(h,this._utils),h).forEach(c);let _=t.normalizeRedirectResult(y.redirect(h,this._utils),h);if(_.redirect.forEach(c),"remain"in _){let w=_.remain;n[p]=p in n?y.overlap(n[p],w,this._utils):w,f({value:w})}for(let{from:w,to:E}of _.redirect)f({value:w,redirectTo:E})}for(let p of l){let y=a[p],h=this._unknownHandler(p,y,this._utils);if(h)for(let g of Object.keys(h)){let c={[g]:h[g]};g in this._utils.schemas?u.push(c):Object.assign(n,c)}}return u}};e.Normalizer=s}}),Lm=te({"node_modules/vnopts/lib/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=(Et(),ft(vt));r.__exportStar(vm(),e),r.__exportStar(Sm(),e),r.__exportStar(Pm(),e),r.__exportStar(km(),e),r.__exportStar(Ft(),e)}}),Om=te({"src/main/options-normalizer.js"(e,r){"use strict";ne();var t=Lm(),s=lt(),a={key:g=>g.length===1?`-${g}`:`--${g}`,value:g=>t.apiDescriptor.value(g),pair:g=>{let{key:c,value:f}=g;return f===!1?`--no-${c}`:f===!0?a.key(c):f===""?`${a.key(c)} without an argument`:`${a.key(c)}=${f}`}},n=g=>{let{colorsModule:c,levenshteinDistance:f}=g;return class extends t.ChoiceSchema{constructor(_){let{name:w,flags:E}=_;super({name:w,choices:E}),this._flags=[...E].sort()}preprocess(_,w){if(typeof _=="string"&&_.length>0&&!this._flags.includes(_)){let E=this._flags.find(N=>f(N,_)<3);if(E)return w.logger.warn([`Unknown flag ${c.yellow(w.descriptor.value(_))},`,`did you mean ${c.blue(w.descriptor.value(E))}?`].join(" ")),E}return _}expected(){return"a flag"}}},u;function i(g,c){let{logger:f=!1,isCLI:F=!1,passThrough:_=!1,colorsModule:w=null,levenshteinDistance:E=null}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},N=_?Array.isArray(_)?(T,m)=>_.includes(T)?{[T]:m}:void 0:(T,m)=>({[T]:m}):(T,m,C)=>{let o=C.schemas,{_:d}=o,v=Hn(o,vD);return t.levenUnknownHandler(T,m,Object.assign(Object.assign({},C),{},{schemas:v}))},x=F?a:t.apiDescriptor,I=l(c,{isCLI:F,colorsModule:w,levenshteinDistance:E}),P=new t.Normalizer(I,{logger:f,unknown:N,descriptor:x}),$=f!==!1;$&&u&&(P._hasDeprecationWarned=u);let D=P.normalize(g);return $&&(u=P._hasDeprecationWarned),F&&D["plugin-search"]===!1&&(D["plugin-search-dir"]=!1),D}function l(g,c){let{isCLI:f,colorsModule:F,levenshteinDistance:_}=c,w=[];f&&w.push(t.AnySchema.create({name:"_"}));for(let E of g)w.push(p(E,{isCLI:f,optionInfos:g,colorsModule:F,levenshteinDistance:_})),E.alias&&f&&w.push(t.AliasSchema.create({name:E.alias,sourceName:E.name}));return w}function p(g,c){let{isCLI:f,optionInfos:F,colorsModule:_,levenshteinDistance:w}=c,{name:E}=g;if(E==="plugin-search-dir"||E==="pluginSearchDirs")return t.AnySchema.create({name:E,preprocess(P){return P===!1||(P=Array.isArray(P)?P:[P]),P},validate(P){return P===!1?!0:P.every($=>typeof $=="string")},expected(){return"false or paths to plugin search dir"}});let N={name:E},x,I={};switch(g.type){case"int":x=t.IntegerSchema,f&&(N.preprocess=Number);break;case"string":x=t.StringSchema;break;case"choice":x=t.ChoiceSchema,N.choices=g.choices.map(P=>typeof P=="object"&&P.redirect?Object.assign(Object.assign({},P),{},{redirect:{to:{key:g.name,value:P.redirect}}}):P);break;case"boolean":x=t.BooleanSchema;break;case"flag":x=n({colorsModule:_,levenshteinDistance:w}),N.flags=F.flatMap(P=>[P.alias,P.description&&P.name,P.oppositeDescription&&`no-${P.name}`].filter(Boolean));break;case"path":x=t.StringSchema;break;default:throw new Error(`Unexpected type ${g.type}`)}if(g.exception?N.validate=(P,$,D)=>g.exception(P)||$.validate(P,D):N.validate=(P,$,D)=>P===void 0||$.validate(P,D),g.redirect&&(I.redirect=P=>P?{to:{key:g.redirect.option,value:g.redirect.value}}:void 0),g.deprecated&&(I.deprecated=!0),f&&!g.array){let P=N.preprocess||($=>$);N.preprocess=($,D,T)=>D.preprocess(P(Array.isArray($)?s($):$),T)}return g.array?t.ArraySchema.create(Object.assign(Object.assign(Object.assign({},f?{preprocess:P=>Array.isArray(P)?P:[P]}:{}),I),{},{valueSchema:x.create(N)})):x.create(Object.assign(Object.assign({},N),I))}function y(g,c,f){return i(g,c,f)}function h(g,c,f){return i(g,c,Object.assign({isCLI:!0},f))}r.exports={normalizeApiOptions:y,normalizeCliOptions:h}}}),ut=te({"src/language-js/loc.js"(e,r){"use strict";ne();var t=Kn();function s(l){var p,y;let h=l.range?l.range[0]:l.start,g=(p=(y=l.declaration)===null||y===void 0?void 0:y.decorators)!==null&&p!==void 0?p:l.decorators;return t(g)?Math.min(s(g[0]),h):h}function a(l){return l.range?l.range[1]:l.end}function n(l,p){let y=s(l);return Number.isInteger(y)&&y===s(p)}function u(l,p){let y=a(l);return Number.isInteger(y)&&y===a(p)}function i(l,p){return n(l,p)&&u(l,p)}r.exports={locStart:s,locEnd:a,hasSameLocStart:n,hasSameLoc:i}}}),jm=te({"src/main/load-parser.js"(e,r){ne(),r.exports=()=>{}}}),qm=te({"scripts/build/shims/babel-highlight.cjs"(e,r){"use strict";ne();var t=kr(),s={shouldHighlight:()=>!1,getChalk:()=>t};r.exports=s}}),Mm=te({"node_modules/@babel/code-frame/lib/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.codeFrameColumns=u,e.default=i;var r=qm(),t=!1;function s(l){return{gutter:l.grey,marker:l.red.bold,message:l.red.bold}}var a=/\r\n|[\n\r\u2028\u2029]/;function n(l,p,y){let h=Object.assign({column:0,line:-1},l.start),g=Object.assign({},h,l.end),{linesAbove:c=2,linesBelow:f=3}=y||{},F=h.line,_=h.column,w=g.line,E=g.column,N=Math.max(F-(c+1),0),x=Math.min(p.length,w+f);F===-1&&(N=0),w===-1&&(x=p.length);let I=w-F,P={};if(I)for(let $=0;$<=I;$++){let D=$+F;if(!_)P[D]=!0;else if($===0){let T=p[D-1].length;P[D]=[_,T-_+1]}else if($===I)P[D]=[0,E];else{let T=p[D-$].length;P[D]=[0,T]}}else _===E?_?P[F]=[_,0]:P[F]=!0:P[F]=[_,E-_];return{start:N,end:x,markerLines:P}}function u(l,p){let y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},h=(y.highlightCode||y.forceColor)&&(0,r.shouldHighlight)(y),g=(0,r.getChalk)(y),c=s(g),f=($,D)=>h?$(D):D,F=l.split(a),{start:_,end:w,markerLines:E}=n(p,F,y),N=p.start&&typeof p.start.column=="number",x=String(w).length,P=(h?(0,r.default)(l,y):l).split(a,w).slice(_,w).map(($,D)=>{let T=_+1+D,C=` ${` ${T}`.slice(-x)} |`,o=E[T],d=!E[T+1];if(o){let v="";if(Array.isArray(o)){let S=$.slice(0,Math.max(o[0]-1,0)).replace(/[^\t]/g," "),b=o[1]||1;v=[` - `,f(c.gutter,C.replace(/\d/g," "))," ",S,f(c.marker,"^").repeat(b)].join(""),d&&y.message&&(v+=" "+f(c.message,y.message))}return[f(c.marker,">"),f(c.gutter,C),$.length>0?` ${$}`:"",v].join("")}else return` ${f(c.gutter,C)}${$.length>0?` ${$}`:""}`}).join(` -`);return y.message&&!N&&(P=`${" ".repeat(x+1)}${y.message} -${P}`),h?g.reset(P):P}function i(l,p,y){let h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(!t){t=!0;let c="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(wt.emitWarning)wt.emitWarning(c,"DeprecationWarning");else{let f=new Error(c);f.name="DeprecationWarning",console.warn(new Error(c))}}return y=Math.max(y,0),u(l,{start:{column:y,line:p}},h)}}}),tu=te({"src/main/parser.js"(e,r){"use strict";ne();var{ConfigError:t}=Qt(),s=ut(),a=jm(),{locStart:n,locEnd:u}=s,i=Object.getOwnPropertyNames,l=Object.getOwnPropertyDescriptor;function p(g){let c={};for(let f of g.plugins)if(f.parsers)for(let F of i(f.parsers))Object.defineProperty(c,F,l(f.parsers,F));return c}function y(g){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p(g);if(typeof g.parser=="function")return{parse:g.parser,astFormat:"estree",locStart:n,locEnd:u};if(typeof g.parser=="string"){if(Object.prototype.hasOwnProperty.call(c,g.parser))return c[g.parser];throw new t(`Couldn't resolve parser "${g.parser}". Parsers must be explicitly added to the standalone bundle.`)}}function h(g,c){let f=p(c),F=Object.defineProperties({},Object.fromEntries(Object.keys(f).map(w=>[w,{enumerable:!0,get(){return f[w].parse}}]))),_=y(c,f);try{return _.preprocess&&(g=_.preprocess(g,c)),{text:g,ast:_.parse(g,F,c)}}catch(w){let{loc:E}=w;if(E){let{codeFrameColumns:N}=Mm();throw w.codeFrame=N(g,E,{highlightCode:!0}),w.message+=` -`+w.codeFrame,w}throw w}}r.exports={parse:h,resolveParser:y}}}),uo=te({"src/main/options.js"(e,r){"use strict";ne();var t=ZD(),{UndefinedParserError:s}=Qt(),{getSupportInfo:a}=Xn(),n=Om(),{resolveParser:u}=tu(),i={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};function l(h){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=Object.assign({},h),f=a({plugins:h.plugins,showUnreleased:!0,showDeprecated:!0}).options,F=Object.assign(Object.assign({},i),Object.fromEntries(f.filter(x=>x.default!==void 0).map(x=>[x.name,x.default])));if(!c.parser){if(!c.filepath)(g.logger||console).warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."),c.parser="babel";else if(c.parser=y(c.filepath,c.plugins),!c.parser)throw new s(`No parser could be inferred for file: ${c.filepath}`)}let _=u(n.normalizeApiOptions(c,[f.find(x=>x.name==="parser")],{passThrough:!0,logger:!1}));c.astFormat=_.astFormat,c.locEnd=_.locEnd,c.locStart=_.locStart;let w=p(c);c.printer=w.printers[c.astFormat];let E=Object.fromEntries(f.filter(x=>x.pluginDefaults&&x.pluginDefaults[w.name]!==void 0).map(x=>[x.name,x.pluginDefaults[w.name]])),N=Object.assign(Object.assign({},F),E);for(let[x,I]of Object.entries(N))(c[x]===null||c[x]===void 0)&&(c[x]=I);return c.parser==="json"&&(c.trailingComma="none"),n.normalizeApiOptions(c,f,Object.assign({passThrough:Object.keys(i)},g))}function p(h){let{astFormat:g}=h;if(!g)throw new Error("getPlugin() requires astFormat to be set");let c=h.plugins.find(f=>f.printers&&f.printers[g]);if(!c)throw new Error(`Couldn't find plugin for AST format "${g}"`);return c}function y(h,g){let c=t.basename(h).toLowerCase(),F=a({plugins:g}).languages.filter(_=>_.since!==null).find(_=>_.extensions&&_.extensions.some(w=>c.endsWith(w))||_.filenames&&_.filenames.some(w=>w.toLowerCase()===c));return F&&F.parsers[0]}r.exports={normalize:l,hiddenDefaults:i,inferParser:y}}}),Rm=te({"src/main/massage-ast.js"(e,r){"use strict";ne();function t(s,a,n){if(Array.isArray(s))return s.map(p=>t(p,a,n)).filter(Boolean);if(!s||typeof s!="object")return s;let u=a.printer.massageAstNode,i;u&&u.ignoredProperties?i=u.ignoredProperties:i=new Set;let l={};for(let[p,y]of Object.entries(s))!i.has(p)&&typeof y!="function"&&(l[p]=t(y,a,s));if(u){let p=u(s,l,n);if(p===null)return;if(p)return p}return l}r.exports=t}}),Zt=te({"scripts/build/shims/assert.cjs"(e,r){"use strict";ne();var t=()=>{};t.ok=t,t.strictEqual=t,r.exports=t}}),et=te({"src/main/comments.js"(e,r){"use strict";ne();var t=Zt(),{builders:{line:s,hardline:a,breakParent:n,indent:u,lineSuffix:i,join:l,cursor:p}}=qe(),{hasNewline:y,skipNewline:h,skipSpaces:g,isPreviousLineEmpty:c,addLeadingComment:f,addDanglingComment:F,addTrailingComment:_}=Ue(),w=new WeakMap;function E(k,M,R){if(!k)return;let{printer:q,locStart:J,locEnd:L}=M;if(R){if(q.canAttachComment&&q.canAttachComment(k)){let V;for(V=R.length-1;V>=0&&!(J(R[V])<=J(k)&&L(R[V])<=L(k));--V);R.splice(V+1,0,k);return}}else if(w.has(k))return w.get(k);let Q=q.getCommentChildNodes&&q.getCommentChildNodes(k,M)||typeof k=="object"&&Object.entries(k).filter(V=>{let[j]=V;return j!=="enclosingNode"&&j!=="precedingNode"&&j!=="followingNode"&&j!=="tokens"&&j!=="comments"&&j!=="parent"}).map(V=>{let[,j]=V;return j});if(Q){R||(R=[],w.set(k,R));for(let V of Q)E(V,M,R);return R}}function N(k,M,R,q){let{locStart:J,locEnd:L}=R,Q=J(M),V=L(M),j=E(k,R),Y,ie,ee=0,ce=j.length;for(;ee>1,K=j[W],de=J(K),ue=L(K);if(de<=Q&&V<=ue)return N(K,M,R,K);if(ue<=Q){Y=K,ee=W+1;continue}if(V<=de){ie=K,ce=W;continue}throw new Error("Comment location overlaps with node location")}if(q&&q.type==="TemplateLiteral"){let{quasis:W}=q,K=C(W,M,R);Y&&C(W,Y,R)!==K&&(Y=null),ie&&C(W,ie,R)!==K&&(ie=null)}return{enclosingNode:q,precedingNode:Y,followingNode:ie}}var x=()=>!1;function I(k,M,R,q){if(!Array.isArray(k))return;let J=[],{locStart:L,locEnd:Q,printer:{handleComments:V={}}}=q,{avoidAstMutation:j,ownLine:Y=x,endOfLine:ie=x,remaining:ee=x}=V,ce=k.map((W,K)=>Object.assign(Object.assign({},N(M,W,q)),{},{comment:W,text:R,options:q,ast:M,isLastComment:k.length-1===K}));for(let[W,K]of ce.entries()){let{comment:de,precedingNode:ue,enclosingNode:Fe,followingNode:z,text:U,options:Z,ast:se,isLastComment:fe}=K;if(Z.parser==="json"||Z.parser==="json5"||Z.parser==="__js_expression"||Z.parser==="__vue_expression"||Z.parser==="__vue_ts_expression"){if(L(de)-L(se)<=0){f(se,de);continue}if(Q(de)-Q(se)>=0){_(se,de);continue}}let ge;if(j?ge=[K]:(de.enclosingNode=Fe,de.precedingNode=ue,de.followingNode=z,ge=[de,U,Z,se,fe]),$(U,Z,ce,W))de.placement="ownLine",Y(...ge)||(z?f(z,de):ue?_(ue,de):F(Fe||se,de));else if(D(U,Z,ce,W))de.placement="endOfLine",ie(...ge)||(ue?_(ue,de):z?f(z,de):F(Fe||se,de));else if(de.placement="remaining",!ee(...ge))if(ue&&z){let he=J.length;he>0&&J[he-1].followingNode!==z&&T(J,U,Z),J.push(K)}else ue?_(ue,de):z?f(z,de):F(Fe||se,de)}if(T(J,R,q),!j)for(let W of k)delete W.precedingNode,delete W.enclosingNode,delete W.followingNode}var P=k=>!/[\S\n\u2028\u2029]/.test(k);function $(k,M,R,q){let{comment:J,precedingNode:L}=R[q],{locStart:Q,locEnd:V}=M,j=Q(J);if(L)for(let Y=q-1;Y>=0;Y--){let{comment:ie,precedingNode:ee}=R[Y];if(ee!==L||!P(k.slice(V(ie),j)))break;j=Q(ie)}return y(k,j,{backwards:!0})}function D(k,M,R,q){let{comment:J,followingNode:L}=R[q],{locStart:Q,locEnd:V}=M,j=V(J);if(L)for(let Y=q+1;Y0;--Y){let{comment:ie,precedingNode:ee,followingNode:ce}=k[Y-1];t.strictEqual(ee,J),t.strictEqual(ce,L);let W=M.slice(R.locEnd(ie),j);if(V.test(W))j=R.locStart(ie);else break}for(let[ie,{comment:ee}]of k.entries())ie1&&ie.comments.sort((ee,ce)=>R.locStart(ee)-R.locStart(ce));k.length=0}function m(k,M){let R=k.getValue();return R.printed=!0,M.printer.printComment(k,M)}function C(k,M,R){let q=R.locStart(M)-1;for(let J=1;J{let Q=k.getValue();!Q.leading&&!Q.trailing&&(!q||q(Q))&&J.push(m(k,M))},"comments"),J.length===0)?"":R?l(a,J):u([a,l(a,J)])}function S(k,M,R){let q=k.getValue();if(!q)return{};let J=q.comments||[];R&&(J=J.filter(j=>!R.has(j)));let L=q===M.cursorNode;if(J.length===0){let j=L?p:"";return{leading:j,trailing:j}}let Q=[],V=[];return k.each(()=>{let j=k.getValue();if(R&&R.has(j))return;let{leading:Y,trailing:ie}=j;Y?Q.push(o(k,M)):ie&&V.push(d(k,M))},"comments"),L&&(Q.unshift(p),V.push(p)),{leading:Q,trailing:V}}function b(k,M,R,q){let{leading:J,trailing:L}=S(k,R,q);return!J&&!L?M:[J,M,L]}function B(k){if(k)for(let M of k){if(!M.printed)throw new Error('Comment "'+M.value.trim()+'" was not printed. Please report this error!');delete M.printed}}r.exports={attach:I,printComments:b,printCommentsSeparately:S,printDanglingComments:v,getSortedChildNodes:E,ensureAllCommentsPrinted:B}}}),$m=te({"src/common/ast-path.js"(e,r){"use strict";ne();var t=lt();function s(u,i){let l=a(u.stack,i);return l===-1?null:u.stack[l]}function a(u,i){for(let l=u.length-1;l>=0;l-=2){let p=u[l];if(p&&!Array.isArray(p)&&--i<0)return l}return-1}var n=class{constructor(u){this.stack=[u]}getName(){let{stack:u}=this,{length:i}=u;return i>1?u[i-2]:null}getValue(){return t(this.stack)}getNode(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return s(this,u)}getParentNode(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return s(this,u+1)}call(u){let{stack:i}=this,{length:l}=i,p=t(i);for(var y=arguments.length,h=new Array(y>1?y-1:0),g=1;g1&&arguments[1]!==void 0?arguments[1]:0,l=a(this.stack,i+1),p=this.stack.splice(l+1),y=u(this);return this.stack.push(...p),y}each(u){let{stack:i}=this,{length:l}=i,p=t(i);for(var y=arguments.length,h=new Array(y>1?y-1:0),g=1;g1?l-1:0),y=1;y{i[g]=u(h,g,c)},...p),i}try(u){let{stack:i}=this,l=[...i];try{return u()}finally{i.length=0,i.push(...l)}}match(){let u=this.stack.length-1,i=null,l=this.stack[u--];for(var p=arguments.length,y=new Array(p),h=0;hu(h,g,p,y,c),p)}function u(i,l,p,y){let{stripTrailingHardline:h=!1}=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{},g=s(Object.assign(Object.assign(Object.assign({},p),l),{},{parentParser:p.parser,originalText:i}),{passThrough:!0}),c=tu().parse(i,g),{ast:f}=c;i=c.text;let F=f.comments;delete f.comments,a.attach(F,f,i,g),g[Symbol.for("comments")]=F||[],g[Symbol.for("tokens")]=f.tokens||[];let _=y(f,g);return a.ensureAllCommentsPrinted(F),h?typeof _=="string"?_.replace(/(?:\r?\n)*$/,""):t(_):_}r.exports={printSubtree:n}}}),Wm=te({"src/main/ast-to-doc.js"(e,r){"use strict";ne();var t=$m(),{builders:{hardline:s,addAlignmentToDoc:a},utils:{propagateBreaks:n}}=qe(),{printComments:u}=et(),i=Vm();function l(h,g){let c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,{printer:f}=g;f.preprocess&&(h=f.preprocess(h,g));let F=new Map,_=new t(h),w=E();return c>0&&(w=a([s,w],c,g.tabWidth)),n(w),w;function E(x,I){return x===void 0||x===_?N(I):Array.isArray(x)?_.call(()=>N(I),...x):_.call(()=>N(I),x)}function N(x){let I=_.getValue(),P=I&&typeof I=="object"&&x===void 0;if(P&&F.has(I))return F.get(I);let $=y(_,g,E,x);return P&&F.set(I,$),$}}function p(h,g){let{originalText:c,[Symbol.for("comments")]:f,locStart:F,locEnd:_}=g,w=F(h),E=_(h),N=new Set;for(let x of f)F(x)>=w&&_(x)<=E&&(x.printed=!0,N.add(x));return{doc:c.slice(w,E),printedComments:N}}function y(h,g,c,f){let F=h.getValue(),{printer:_}=g,w,E;if(_.hasPrettierIgnore&&_.hasPrettierIgnore(h))({doc:w,printedComments:E}=p(F,g));else{if(F)try{w=i.printSubtree(h,c,g,l)}catch(N){if(globalThis.PRETTIER_DEBUG)throw N}w||(w=_.print(h,g,c,f))}return(!_.willPrintOwnComments||!_.willPrintOwnComments(h,g))&&(w=u(h,w,g,E)),w}r.exports=l}}),Hm=te({"src/main/range-util.js"(e,r){"use strict";ne();var t=Zt(),s=et(),a=f=>{let{parser:F}=f;return F==="json"||F==="json5"||F==="json-stringify"};function n(f,F){let _=[f.node,...f.parentNodes],w=new Set([F.node,...F.parentNodes]);return _.find(E=>y.has(E.type)&&w.has(E))}function u(f){let F=f.length-1;for(;;){let _=f[F];if(_&&(_.type==="Program"||_.type==="File"))F--;else break}return f.slice(0,F+1)}function i(f,F,_){let{locStart:w,locEnd:E}=_,N=f.node,x=F.node;if(N===x)return{startNode:N,endNode:x};let I=w(f.node);for(let $ of u(F.parentNodes))if(w($)>=I)x=$;else break;let P=E(F.node);for(let $ of u(f.parentNodes)){if(E($)<=P)N=$;else break;if(N===x)break}return{startNode:N,endNode:x}}function l(f,F,_,w){let E=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],N=arguments.length>5?arguments[5]:void 0,{locStart:x,locEnd:I}=_,P=x(f),$=I(f);if(!(F>$||Fw);let I=f.slice(w,E).search(/\S/),P=I===-1;if(!P)for(w+=I;E>w&&!/\S/.test(f[E-1]);--E);let $=l(_,w,F,(C,o)=>g(F,C,o),[],"rangeStart"),D=P?$:l(_,E,F,C=>g(F,C),[],"rangeEnd");if(!$||!D)return{rangeStart:0,rangeEnd:0};let T,m;if(a(F)){let C=n($,D);T=C,m=C}else({startNode:T,endNode:m}=i($,D,F));return{rangeStart:Math.min(N(T),N(m)),rangeEnd:Math.max(x(T),x(m))}}r.exports={calculateRange:c,findNodeAtOffset:l}}}),Gm=te({"src/main/core.js"(e,r){"use strict";ne();var{diffArrays:t}=BD(),{printer:{printDocToString:s},debug:{printDocToDebug:a}}=qe(),{getAlignmentSize:n}=Ue(),{guessEndOfLine:u,convertEndOfLineToChars:i,countEndOfLineChars:l,normalizeEndOfLine:p}=Jn(),y=uo().normalize,h=Rm(),g=et(),c=tu(),f=Wm(),F=Hm(),_="\uFEFF",w=Symbol("cursor");function E(m,C,o){let d=C.comments;return d&&(delete C.comments,g.attach(d,C,m,o)),o[Symbol.for("comments")]=d||[],o[Symbol.for("tokens")]=C.tokens||[],o.originalText=m,d}function N(m,C){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(!m||m.trim().length===0)return{formatted:"",cursorOffset:-1,comments:[]};let{ast:d,text:v}=c.parse(m,C);if(C.cursorOffset>=0){let k=F.findNodeAtOffset(d,C.cursorOffset,C);k&&k.node&&(C.cursorNode=k.node)}let S=E(v,d,C),b=f(d,C,o),B=s(b,C);if(g.ensureAllCommentsPrinted(S),o>0){let k=B.formatted.trim();B.cursorNodeStart!==void 0&&(B.cursorNodeStart-=B.formatted.indexOf(k)),B.formatted=k+i(C.endOfLine)}if(C.cursorOffset>=0){let k,M,R,q,J;if(C.cursorNode&&B.cursorNodeText?(k=C.locStart(C.cursorNode),M=v.slice(k,C.locEnd(C.cursorNode)),R=C.cursorOffset-k,q=B.cursorNodeStart,J=B.cursorNodeText):(k=0,M=v,R=C.cursorOffset,q=0,J=B.formatted),M===J)return{formatted:B.formatted,cursorOffset:q+R,comments:S};let L=[...M];L.splice(R,0,w);let Q=[...J],V=t(L,Q),j=q;for(let Y of V)if(Y.removed){if(Y.value.includes(w))break}else j+=Y.count;return{formatted:B.formatted,cursorOffset:j,comments:S}}return{formatted:B.formatted,cursorOffset:-1,comments:S}}function x(m,C){let{ast:o,text:d}=c.parse(m,C),{rangeStart:v,rangeEnd:S}=F.calculateRange(d,C,o),b=d.slice(v,S),B=Math.min(v,d.lastIndexOf(` -`,v)+1),k=d.slice(B,v).match(/^\s*/)[0],M=n(k,C.tabWidth),R=N(b,Object.assign(Object.assign({},C),{},{rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:C.cursorOffset>v&&C.cursorOffset<=S?C.cursorOffset-v:-1,endOfLine:"lf"}),M),q=R.formatted.trimEnd(),{cursorOffset:J}=C;J>S?J+=q.length-b.length:R.cursorOffset>=0&&(J=R.cursorOffset+v);let L=d.slice(0,v)+q+d.slice(S);if(C.endOfLine!=="lf"){let Q=i(C.endOfLine);J>=0&&Q===`\r -`&&(J+=l(L.slice(0,J),` -`)),L=L.replace(/\n/g,Q)}return{formatted:L,cursorOffset:J,comments:R.comments}}function I(m,C,o){return typeof C!="number"||Number.isNaN(C)||C<0||C>m.length?o:C}function P(m,C){let{cursorOffset:o,rangeStart:d,rangeEnd:v}=C;return o=I(m,o,-1),d=I(m,d,0),v=I(m,v,m.length),Object.assign(Object.assign({},C),{},{cursorOffset:o,rangeStart:d,rangeEnd:v})}function $(m,C){let{cursorOffset:o,rangeStart:d,rangeEnd:v,endOfLine:S}=P(m,C),b=m.charAt(0)===_;if(b&&(m=m.slice(1),o--,d--,v--),S==="auto"&&(S=u(m)),m.includes("\r")){let B=k=>l(m.slice(0,Math.max(k,0)),`\r -`);o-=B(o),d-=B(d),v-=B(v),m=p(m)}return{hasBOM:b,text:m,options:P(m,Object.assign(Object.assign({},C),{},{cursorOffset:o,rangeStart:d,rangeEnd:v,endOfLine:S}))}}function D(m,C){let o=c.resolveParser(C);return!o.hasPragma||o.hasPragma(m)}function T(m,C){let{hasBOM:o,text:d,options:v}=$(m,y(C));if(v.rangeStart>=v.rangeEnd&&d!==""||v.requirePragma&&!D(d,v))return{formatted:m,cursorOffset:C.cursorOffset,comments:[]};let S;return v.rangeStart>0||v.rangeEnd=0&&S.cursorOffset++),S}r.exports={formatWithCursor:T,parse(m,C,o){let{text:d,options:v}=$(m,y(C)),S=c.parse(d,v);return o&&(S.ast=h(S.ast,v)),S},formatAST(m,C){C=y(C);let o=f(m,C);return s(o,C)},formatDoc(m,C){return T(a(m),Object.assign(Object.assign({},C),{},{parser:"__js_expression"})).formatted},printToDoc(m,C){C=y(C);let{ast:o,text:d}=c.parse(m,C);return E(d,o,C),f(o,C)},printDocToString(m,C){return s(m,y(C))}}}}),Um=te({"src/common/util-shared.js"(e,r){"use strict";ne();var{getMaxContinuousCount:t,getStringWidth:s,getAlignmentSize:a,getIndentSize:n,skip:u,skipWhitespace:i,skipSpaces:l,skipNewline:p,skipToLineEnd:y,skipEverythingButNewLine:h,skipInlineComment:g,skipTrailingComment:c,hasNewline:f,hasNewlineInRange:F,hasSpaces:_,isNextLineEmpty:w,isNextLineEmptyAfterIndex:E,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:I,addLeadingComment:P,addDanglingComment:$,addTrailingComment:D}=Ue();r.exports={getMaxContinuousCount:t,getStringWidth:s,getAlignmentSize:a,getIndentSize:n,skip:u,skipWhitespace:i,skipSpaces:l,skipNewline:p,skipToLineEnd:y,skipEverythingButNewLine:h,skipInlineComment:g,skipTrailingComment:c,hasNewline:f,hasNewlineInRange:F,hasSpaces:_,isNextLineEmpty:w,isNextLineEmptyAfterIndex:E,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:I,addLeadingComment:P,addDanglingComment:$,addTrailingComment:D}}}),_t=te({"src/utils/create-language.js"(e,r){"use strict";ne(),r.exports=function(t,s){let{languageId:a}=t,n=Hn(t,CD);return Object.assign(Object.assign({linguistLanguageId:a},n),s(t))}}}),Jm=te({"node_modules/esutils/lib/ast.js"(e,r){ne(),function(){"use strict";function t(l){if(l==null)return!1;switch(l.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1}function s(l){if(l==null)return!1;switch(l.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function a(l){if(l==null)return!1;switch(l.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function n(l){return a(l)||l!=null&&l.type==="FunctionDeclaration"}function u(l){switch(l.type){case"IfStatement":return l.alternate!=null?l.alternate:l.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return l.body}return null}function i(l){var p;if(l.type!=="IfStatement"||l.alternate==null)return!1;p=l.consequent;do{if(p.type==="IfStatement"&&p.alternate==null)return!0;p=u(p)}while(p);return!1}r.exports={isExpression:t,isStatement:a,isIterationStatement:s,isSourceElement:n,isProblematicIfStatement:i,trailingStatement:u}}()}}),so=te({"node_modules/esutils/lib/code.js"(e,r){ne(),function(){"use strict";var t,s,a,n,u,i;s={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};function l(E){return 48<=E&&E<=57}function p(E){return 48<=E&&E<=57||97<=E&&E<=102||65<=E&&E<=70}function y(E){return E>=48&&E<=55}a=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function h(E){return E===32||E===9||E===11||E===12||E===160||E>=5760&&a.indexOf(E)>=0}function g(E){return E===10||E===13||E===8232||E===8233}function c(E){if(E<=65535)return String.fromCharCode(E);var N=String.fromCharCode(Math.floor((E-65536)/1024)+55296),x=String.fromCharCode((E-65536)%1024+56320);return N+x}for(n=new Array(128),i=0;i<128;++i)n[i]=i>=97&&i<=122||i>=65&&i<=90||i===36||i===95;for(u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||i===36||i===95;function f(E){return E<128?n[E]:s.NonAsciiIdentifierStart.test(c(E))}function F(E){return E<128?u[E]:s.NonAsciiIdentifierPart.test(c(E))}function _(E){return E<128?n[E]:t.NonAsciiIdentifierStart.test(c(E))}function w(E){return E<128?u[E]:t.NonAsciiIdentifierPart.test(c(E))}r.exports={isDecimalDigit:l,isHexDigit:p,isOctalDigit:y,isWhiteSpace:h,isLineTerminator:g,isIdentifierStartES5:f,isIdentifierPartES5:F,isIdentifierStartES6:_,isIdentifierPartES6:w}}()}}),zm=te({"node_modules/esutils/lib/keyword.js"(e,r){ne(),function(){"use strict";var t=so();function s(f){switch(f){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function a(f,F){return!F&&f==="yield"?!1:n(f,F)}function n(f,F){if(F&&s(f))return!0;switch(f.length){case 2:return f==="if"||f==="in"||f==="do";case 3:return f==="var"||f==="for"||f==="new"||f==="try";case 4:return f==="this"||f==="else"||f==="case"||f==="void"||f==="with"||f==="enum";case 5:return f==="while"||f==="break"||f==="catch"||f==="throw"||f==="const"||f==="yield"||f==="class"||f==="super";case 6:return f==="return"||f==="typeof"||f==="delete"||f==="switch"||f==="export"||f==="import";case 7:return f==="default"||f==="finally"||f==="extends";case 8:return f==="function"||f==="continue"||f==="debugger";case 10:return f==="instanceof";default:return!1}}function u(f,F){return f==="null"||f==="true"||f==="false"||a(f,F)}function i(f,F){return f==="null"||f==="true"||f==="false"||n(f,F)}function l(f){return f==="eval"||f==="arguments"}function p(f){var F,_,w;if(f.length===0||(w=f.charCodeAt(0),!t.isIdentifierStartES5(w)))return!1;for(F=1,_=f.length;F<_;++F)if(w=f.charCodeAt(F),!t.isIdentifierPartES5(w))return!1;return!0}function y(f,F){return(f-55296)*1024+(F-56320)+65536}function h(f){var F,_,w,E,N;if(f.length===0)return!1;for(N=t.isIdentifierStartES6,F=0,_=f.length;F<_;++F){if(w=f.charCodeAt(F),55296<=w&&w<=56319){if(++F,F>=_||(E=f.charCodeAt(F),!(56320<=E&&E<=57343)))return!1;w=y(w,E)}if(!N(w))return!1;N=t.isIdentifierPartES6}return!0}function g(f,F){return p(f)&&!u(f,F)}function c(f,F){return h(f)&&!i(f,F)}r.exports={isKeywordES5:a,isKeywordES6:n,isReservedWordES5:u,isReservedWordES6:i,isRestrictedWord:l,isIdentifierNameES5:p,isIdentifierNameES6:h,isIdentifierES5:g,isIdentifierES6:c}}()}}),Xm=te({"node_modules/esutils/lib/utils.js"(e){ne(),function(){"use strict";e.ast=Jm(),e.code=so(),e.keyword=zm()}()}}),Pt=te({"src/language-js/utils/is-block-comment.js"(e,r){"use strict";ne();var t=new Set(["Block","CommentBlock","MultiLine"]),s=a=>t.has(a==null?void 0:a.type);r.exports=s}}),Km=te({"src/language-js/utils/is-node-matches.js"(e,r){"use strict";ne();function t(a,n){let u=n.split(".");for(let i=u.length-1;i>=0;i--){let l=u[i];if(i===0)return a.type==="Identifier"&&a.name===l;if(a.type!=="MemberExpression"||a.optional||a.computed||a.property.type!=="Identifier"||a.property.name!==l)return!1;a=a.object}}function s(a,n){return n.some(u=>t(a,u))}r.exports=s}}),Ke=te({"src/language-js/utils/index.js"(e,r){"use strict";ne();var t=Xm().keyword.isIdentifierNameES5,{getLast:s,hasNewline:a,skipWhitespace:n,isNonEmptyArray:u,isNextLineEmptyAfterIndex:i,getStringWidth:l}=Ue(),{locStart:p,locEnd:y,hasSameLocStart:h}=ut(),g=Pt(),c=Km(),f="(?:(?=.)\\s)",F=new RegExp(`^${f}*:`),_=new RegExp(`^${f}*::`);function w(O){var me,_e;return((me=O.extra)===null||me===void 0?void 0:me.parenthesized)&&g((_e=O.trailingComments)===null||_e===void 0?void 0:_e[0])&&F.test(O.trailingComments[0].value)}function E(O){let me=O==null?void 0:O[0];return g(me)&&_.test(me.value)}function N(O,me){if(!O||typeof O!="object")return!1;if(Array.isArray(O))return O.some(He=>N(He,me));let _e=me(O);return typeof _e=="boolean"?_e:Object.values(O).some(He=>N(He,me))}function x(O){return O.type==="AssignmentExpression"||O.type==="BinaryExpression"||O.type==="LogicalExpression"||O.type==="NGPipeExpression"||O.type==="ConditionalExpression"||de(O)||ue(O)||O.type==="SequenceExpression"||O.type==="TaggedTemplateExpression"||O.type==="BindExpression"||O.type==="UpdateExpression"&&!O.prefix||st(O)||O.type==="TSNonNullExpression"}function I(O){var me,_e,He,Ge,it,Qe;return O.expressions?O.expressions[0]:(me=(_e=(He=(Ge=(it=(Qe=O.left)!==null&&Qe!==void 0?Qe:O.test)!==null&&it!==void 0?it:O.callee)!==null&&Ge!==void 0?Ge:O.object)!==null&&He!==void 0?He:O.tag)!==null&&_e!==void 0?_e:O.argument)!==null&&me!==void 0?me:O.expression}function P(O,me){if(me.expressions)return["expressions",0];if(me.left)return["left"];if(me.test)return["test"];if(me.object)return["object"];if(me.callee)return["callee"];if(me.tag)return["tag"];if(me.argument)return["argument"];if(me.expression)return["expression"];throw new Error("Unexpected node has no left side.")}function $(O){return O=new Set(O),me=>O.has(me==null?void 0:me.type)}var D=$(["Line","CommentLine","SingleLine","HashbangComment","HTMLOpen","HTMLClose"]),T=$(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function m(O){let me=O.getParentNode();return O.getName()==="declaration"&&T(me)?me:null}var C=$(["BooleanLiteral","DirectiveLiteral","Literal","NullLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","RegExpLiteral","StringLiteral","TemplateLiteral","TSTypeLiteral","JSXText"]);function o(O){return O.type==="NumericLiteral"||O.type==="Literal"&&typeof O.value=="number"}function d(O){return O.type==="UnaryExpression"&&(O.operator==="+"||O.operator==="-")&&o(O.argument)}function v(O){return O.type==="StringLiteral"||O.type==="Literal"&&typeof O.value=="string"}var S=$(["ObjectTypeAnnotation","TSTypeLiteral","TSMappedType"]),b=$(["FunctionExpression","ArrowFunctionExpression"]);function B(O){return O.type==="FunctionExpression"||O.type==="ArrowFunctionExpression"&&O.body.type==="BlockStatement"}function k(O){return de(O)&&O.callee.type==="Identifier"&&["async","inject","fakeAsync","waitForAsync"].includes(O.callee.name)}var M=$(["JSXElement","JSXFragment"]);function R(O,me){if(O.parentParser!=="markdown"&&O.parentParser!=="mdx")return!1;let _e=me.getNode();if(!_e.expression||!M(_e.expression))return!1;let He=me.getParentNode();return He.type==="Program"&&He.body.length===1}function q(O){return O.kind==="get"||O.kind==="set"}function J(O){return q(O)||h(O,O.value)}function L(O){return(O.type==="ObjectTypeProperty"||O.type==="ObjectTypeInternalSlot")&&O.value.type==="FunctionTypeAnnotation"&&!O.static&&!J(O)}function Q(O){return(O.type==="TypeAnnotation"||O.type==="TSTypeAnnotation")&&O.typeAnnotation.type==="FunctionTypeAnnotation"&&!O.static&&!h(O,O.typeAnnotation)}var V=$(["BinaryExpression","LogicalExpression","NGPipeExpression"]);function j(O){return ue(O)||O.type==="BindExpression"&&Boolean(O.object)}var Y=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);function ie(O){return O?!!((O.type==="GenericTypeAnnotation"||O.type==="TSTypeReference")&&!O.typeParameters||Y.has(O.type)):!1}function ee(O){let me=/^(?:before|after)(?:Each|All)$/;return O.callee.type==="Identifier"&&me.test(O.callee.name)&&O.arguments.length===1}var ce=["it","it.only","it.skip","describe","describe.only","describe.skip","test","test.only","test.skip","test.step","test.describe","test.describe.only","test.describe.parallel","test.describe.parallel.only","test.describe.serial","test.describe.serial.only","skip","xit","xdescribe","xtest","fit","fdescribe","ftest"];function W(O){return c(O,ce)}function K(O,me){if(O.type!=="CallExpression")return!1;if(O.arguments.length===1){if(k(O)&&me&&K(me))return b(O.arguments[0]);if(ee(O))return k(O.arguments[0])}else if((O.arguments.length===2||O.arguments.length===3)&&(O.arguments[0].type==="TemplateLiteral"||v(O.arguments[0]))&&W(O.callee))return O.arguments[2]&&!o(O.arguments[2])?!1:(O.arguments.length===2?b(O.arguments[1]):B(O.arguments[1])&&ve(O.arguments[1]).length<=1)||k(O.arguments[1]);return!1}var de=$(["CallExpression","OptionalCallExpression"]),ue=$(["MemberExpression","OptionalMemberExpression"]);function Fe(O){let me="expressions";O.type==="TSTemplateLiteralType"&&(me="types");let _e=O[me];return _e.length===0?!1:_e.every(He=>{if(Me(He))return!1;if(He.type==="Identifier"||He.type==="ThisExpression")return!0;if(ue(He)){let Ge=He;for(;ue(Ge);)if(Ge.property.type!=="Identifier"&&Ge.property.type!=="Literal"&&Ge.property.type!=="StringLiteral"&&Ge.property.type!=="NumericLiteral"||(Ge=Ge.object,Me(Ge)))return!1;return Ge.type==="Identifier"||Ge.type==="ThisExpression"}return!1})}function z(O,me){return O==="+"||O==="-"?O+me:me}function U(O,me){let _e=p(me),He=n(O,y(me));return He!==!1&&O.slice(_e,_e+2)==="/*"&&O.slice(He,He+2)==="*/"}function Z(O,me){return M(me)?Oe(me):Me(me,Te.Leading,_e=>a(O,y(_e)))}function se(O,me){return me.parser!=="json"&&v(O.key)&&oe(O.key).slice(1,-1)===O.key.value&&(t(O.key.value)&&!(me.parser==="babel-ts"&&O.type==="ClassProperty"||me.parser==="typescript"&&O.type==="PropertyDefinition")||fe(O.key.value)&&String(Number(O.key.value))===O.key.value&&(me.parser==="babel"||me.parser==="acorn"||me.parser==="espree"||me.parser==="meriyah"||me.parser==="__babel_estree"))}function fe(O){return/^(?:\d+|\d+\.\d+)$/.test(O)}function ge(O,me){let _e=/^[fx]?(?:describe|it|test)$/;return me.type==="TaggedTemplateExpression"&&me.quasi===O&&me.tag.type==="MemberExpression"&&me.tag.property.type==="Identifier"&&me.tag.property.name==="each"&&(me.tag.object.type==="Identifier"&&_e.test(me.tag.object.name)||me.tag.object.type==="MemberExpression"&&me.tag.object.property.type==="Identifier"&&(me.tag.object.property.name==="only"||me.tag.object.property.name==="skip")&&me.tag.object.object.type==="Identifier"&&_e.test(me.tag.object.object.name))}function he(O){return O.quasis.some(me=>me.value.raw.includes(` -`))}function we(O,me){return(O.type==="TemplateLiteral"&&he(O)||O.type==="TaggedTemplateExpression"&&he(O.quasi))&&!a(me,p(O),{backwards:!0})}function ke(O){if(!Me(O))return!1;let me=s(ae(O,Te.Dangling));return me&&!g(me)}function Re(O){if(O.length<=1)return!1;let me=0;for(let _e of O)if(b(_e)){if(me+=1,me>1)return!0}else if(de(_e)){for(let He of _e.arguments)if(b(He))return!0}return!1}function Ne(O){let me=O.getValue(),_e=O.getParentNode();return de(me)&&de(_e)&&_e.callee===me&&me.arguments.length>_e.arguments.length&&_e.arguments.length>0}function Pe(O,me){if(me>=2)return!1;let _e=Qe=>Pe(Qe,me+1),He=O.type==="Literal"&&"regex"in O&&O.regex.pattern||O.type==="RegExpLiteral"&&O.pattern;if(He&&l(He)>5)return!1;if(O.type==="Literal"||O.type==="BigIntLiteral"||O.type==="DecimalLiteral"||O.type==="BooleanLiteral"||O.type==="NullLiteral"||O.type==="NumericLiteral"||O.type==="RegExpLiteral"||O.type==="StringLiteral"||O.type==="Identifier"||O.type==="ThisExpression"||O.type==="Super"||O.type==="PrivateName"||O.type==="PrivateIdentifier"||O.type==="ArgumentPlaceholder"||O.type==="Import")return!0;if(O.type==="TemplateLiteral")return O.quasis.every(Qe=>!Qe.value.raw.includes(` -`))&&O.expressions.every(_e);if(O.type==="ObjectExpression")return O.properties.every(Qe=>!Qe.computed&&(Qe.shorthand||Qe.value&&_e(Qe.value)));if(O.type==="ArrayExpression")return O.elements.every(Qe=>Qe===null||_e(Qe));if(tt(O))return(O.type==="ImportExpression"||Pe(O.callee,me))&&Ye(O).every(_e);if(ue(O))return Pe(O.object,me)&&Pe(O.property,me);let Ge={"!":!0,"-":!0,"+":!0,"~":!0};if(O.type==="UnaryExpression"&&Ge[O.operator])return Pe(O.argument,me);let it={"++":!0,"--":!0};return O.type==="UpdateExpression"&&it[O.operator]?Pe(O.argument,me):O.type==="TSNonNullExpression"?Pe(O.expression,me):!1}function oe(O){var me,_e;return(me=(_e=O.extra)===null||_e===void 0?void 0:_e.raw)!==null&&me!==void 0?me:O.raw}function H(O){return O}function pe(O){return O.filepath&&/\.tsx$/i.test(O.filepath)}function X(O){let me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"es5";return O.trailingComma==="es5"&&me==="es5"||O.trailingComma==="all"&&(me==="all"||me==="es5")}function le(O,me){switch(O.type){case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":case"NGPipeExpression":return le(O.left,me);case"MemberExpression":case"OptionalMemberExpression":return le(O.object,me);case"TaggedTemplateExpression":return O.tag.type==="FunctionExpression"?!1:le(O.tag,me);case"CallExpression":case"OptionalCallExpression":return O.callee.type==="FunctionExpression"?!1:le(O.callee,me);case"ConditionalExpression":return le(O.test,me);case"UpdateExpression":return!O.prefix&&le(O.argument,me);case"BindExpression":return O.object&&le(O.object,me);case"SequenceExpression":return le(O.expressions[0],me);case"TSSatisfiesExpression":case"TSAsExpression":case"TSNonNullExpression":return le(O.expression,me);default:return me(O)}}var Ae={"==":!0,"!=":!0,"===":!0,"!==":!0},Ee={"*":!0,"/":!0,"%":!0},De={">>":!0,">>>":!0,"<<":!0};function A(O,me){return!(re(me)!==re(O)||O==="**"||Ae[O]&&Ae[me]||me==="%"&&Ee[O]||O==="%"&&Ee[me]||me!==O&&Ee[me]&&Ee[O]||De[O]&&De[me])}var G=new Map([["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].flatMap((O,me)=>O.map(_e=>[_e,me])));function re(O){return G.get(O)}function ye(O){return Boolean(De[O])||O==="|"||O==="^"||O==="&"}function Ce(O){var me;if(O.rest)return!0;let _e=ve(O);return((me=s(_e))===null||me===void 0?void 0:me.type)==="RestElement"}var Be=new WeakMap;function ve(O){if(Be.has(O))return Be.get(O);let me=[];return O.this&&me.push(O.this),Array.isArray(O.parameters)?me.push(...O.parameters):Array.isArray(O.params)&&me.push(...O.params),O.rest&&me.push(O.rest),Be.set(O,me),me}function ze(O,me){let _e=O.getValue(),He=0,Ge=it=>me(it,He++);_e.this&&O.call(Ge,"this"),Array.isArray(_e.parameters)?O.each(Ge,"parameters"):Array.isArray(_e.params)&&O.each(Ge,"params"),_e.rest&&O.call(Ge,"rest")}var be=new WeakMap;function Ye(O){if(be.has(O))return be.get(O);let me=O.arguments;return O.type==="ImportExpression"&&(me=[O.source],O.attributes&&me.push(O.attributes)),be.set(O,me),me}function Se(O,me){let _e=O.getValue();_e.type==="ImportExpression"?(O.call(He=>me(He,0),"source"),_e.attributes&&O.call(He=>me(He,1),"attributes")):O.each(me,"arguments")}function Ie(O){return O.value.trim()==="prettier-ignore"&&!O.unignore}function Oe(O){return O&&(O.prettierIgnore||Me(O,Te.PrettierIgnore))}function Je(O){let me=O.getValue();return Oe(me)}var Te={Leading:1<<1,Trailing:1<<2,Dangling:1<<3,Block:1<<4,Line:1<<5,PrettierIgnore:1<<6,First:1<<7,Last:1<<8},je=(O,me)=>{if(typeof O=="function"&&(me=O,O=0),O||me)return(_e,He,Ge)=>!(O&Te.Leading&&!_e.leading||O&Te.Trailing&&!_e.trailing||O&Te.Dangling&&(_e.leading||_e.trailing)||O&Te.Block&&!g(_e)||O&Te.Line&&!D(_e)||O&Te.First&&He!==0||O&Te.Last&&He!==Ge.length-1||O&Te.PrettierIgnore&&!Ie(_e)||me&&!me(_e))};function Me(O,me,_e){if(!u(O==null?void 0:O.comments))return!1;let He=je(me,_e);return He?O.comments.some(He):!0}function ae(O,me,_e){if(!Array.isArray(O==null?void 0:O.comments))return[];let He=je(me,_e);return He?O.comments.filter(He):O.comments}var nt=(O,me)=>{let{originalText:_e}=me;return i(_e,y(O))};function tt(O){return de(O)||O.type==="NewExpression"||O.type==="ImportExpression"}function Ve(O){return O&&(O.type==="ObjectProperty"||O.type==="Property"&&!O.method&&O.kind==="init")}function We(O){return Boolean(O.__isUsingHackPipeline)}var Xe=Symbol("ifWithoutBlockAndSameLineComment");function st(O){return O.type==="TSAsExpression"||O.type==="TSSatisfiesExpression"}r.exports={getFunctionParameters:ve,iterateFunctionParametersPath:ze,getCallArguments:Ye,iterateCallArgumentsPath:Se,hasRestParameter:Ce,getLeftSide:I,getLeftSidePathName:P,getParentExportDeclaration:m,getTypeScriptMappedTypeModifier:z,hasFlowAnnotationComment:E,hasFlowShorthandAnnotationComment:w,hasLeadingOwnLineComment:Z,hasNakedLeftSide:x,hasNode:N,hasIgnoreComment:Je,hasNodeIgnoreComment:Oe,identity:H,isBinaryish:V,isCallLikeExpression:tt,isEnabledHackPipeline:We,isLineComment:D,isPrettierIgnoreComment:Ie,isCallExpression:de,isMemberExpression:ue,isExportDeclaration:T,isFlowAnnotationComment:U,isFunctionCompositionArgs:Re,isFunctionNotation:J,isFunctionOrArrowExpression:b,isGetterOrSetter:q,isJestEachTemplateLiteral:ge,isJsxNode:M,isLiteral:C,isLongCurriedCallExpression:Ne,isSimpleCallArgument:Pe,isMemberish:j,isNumericLiteral:o,isSignedNumericLiteral:d,isObjectProperty:Ve,isObjectType:S,isObjectTypePropertyAFunction:L,isSimpleType:ie,isSimpleNumber:fe,isSimpleTemplateLiteral:Fe,isStringLiteral:v,isStringPropSafeToUnquote:se,isTemplateOnItsOwnLine:we,isTestCall:K,isTheOnlyJsxElementInMarkdown:R,isTSXFile:pe,isTypeAnnotationAFunction:Q,isNextLineEmpty:nt,needsHardlineAfterDanglingComment:ke,rawText:oe,shouldPrintComma:X,isBitwiseOperator:ye,shouldFlatten:A,startsWithNoLookaheadToken:le,getPrecedence:re,hasComment:Me,getComments:ae,CommentCheckFlags:Te,markerForIfWithoutBlockAndSameLineComment:Xe,isTSTypeExpression:st}}}),jt=te({"src/language-js/print/template-literal.js"(e,r){"use strict";ne();var t=lt(),{getStringWidth:s,getIndentSize:a}=Ue(),{builders:{join:n,hardline:u,softline:i,group:l,indent:p,align:y,lineSuffixBoundary:h,addAlignmentToDoc:g},printer:{printDocToString:c},utils:{mapDoc:f}}=qe(),{isBinaryish:F,isJestEachTemplateLiteral:_,isSimpleTemplateLiteral:w,hasComment:E,isMemberExpression:N,isTSTypeExpression:x}=Ke();function I(C,o,d){let v=C.getValue();if(v.type==="TemplateLiteral"&&_(v,C.getParentNode())){let R=P(C,d,o);if(R)return R}let b="expressions";v.type==="TSTemplateLiteralType"&&(b="types");let B=[],k=C.map(o,b),M=w(v);return M&&(k=k.map(R=>c(R,Object.assign(Object.assign({},d),{},{printWidth:Number.POSITIVE_INFINITY})).formatted)),B.push(h,"`"),C.each(R=>{let q=R.getName();if(B.push(o()),q1||S.some(b=>b.length>0)){o.__inJestEach=!0;let b=C.map(d,"expressions");o.__inJestEach=!1;let B=[],k=b.map(L=>"${"+c(L,Object.assign(Object.assign({},o),{},{printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"})).formatted+"}"),M=[{hasLineBreak:!1,cells:[]}];for(let L=1;LL.cells.length)),q=Array.from({length:R}).fill(0),J=[{cells:S},...M.filter(L=>L.cells.length>0)];for(let{cells:L}of J.filter(Q=>!Q.hasLineBreak))for(let[Q,V]of L.entries())q[Q]=Math.max(q[Q],s(V));return B.push(h,"`",p([u,n(u,J.map(L=>n(" | ",L.cells.map((Q,V)=>L.hasLineBreak?Q:Q+" ".repeat(q[V]-s(Q))))))]),u,"`"),B}}function $(C,o){let d=C.getValue(),v=o();return E(d)&&(v=l([p([i,v]),i])),["${",v,h,"}"]}function D(C,o){return C.map(d=>$(d,o),"expressions")}function T(C,o){return f(C,d=>typeof d=="string"?o?d.replace(/(\\*)`/g,"$1$1\\`"):m(d):d)}function m(C){return C.replace(/([\\`]|\${)/g,"\\$1")}r.exports={printTemplateLiteral:I,printTemplateExpressions:D,escapeTemplateCharacters:T,uncookTemplateElementValue:m}}}),Ym=te({"src/language-js/embed/markdown.js"(e,r){"use strict";ne();var{builders:{indent:t,softline:s,literalline:a,dedentToRoot:n}}=qe(),{escapeTemplateCharacters:u}=jt();function i(p,y,h){let c=p.getValue().quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g,(w,E)=>"\\".repeat(E.length/2)+"`"),f=l(c),F=f!=="";F&&(c=c.replace(new RegExp(`^${f}`,"gm"),""));let _=u(h(c,{parser:"markdown",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return["`",F?t([s,_]):[a,n(_)],s,"`"]}function l(p){let y=p.match(/^([^\S\n]*)\S/m);return y===null?"":y[1]}r.exports=i}}),Qm=te({"src/language-js/embed/css.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{indent:s,hardline:a,softline:n},utils:{mapDoc:u,replaceEndOfLine:i,cleanDoc:l}}=qe(),{printTemplateExpressions:p}=jt();function y(c,f,F){let _=c.getValue(),w=_.quasis.map(P=>P.value.raw),E=0,N=w.reduce((P,$,D)=>D===0?$:P+"@prettier-placeholder-"+E+++"-id"+$,""),x=F(N,{parser:"scss"},{stripTrailingHardline:!0}),I=p(c,f);return h(x,_,I)}function h(c,f,F){if(f.quasis.length===1&&!f.quasis[0].value.raw.trim())return"``";let w=g(c,F);if(!w)throw new Error("Couldn't insert all the expressions");return["`",s([a,w]),n,"`"]}function g(c,f){if(!t(f))return c;let F=0,_=u(l(c),w=>typeof w!="string"||!w.includes("@prettier-placeholder")?w:w.split(/@prettier-placeholder-(\d+)-id/).map((E,N)=>N%2===0?i(E):(F++,f[E])));return f.length===F?_:null}r.exports=y}}),Zm=te({"src/language-js/embed/graphql.js"(e,r){"use strict";ne();var{builders:{indent:t,join:s,hardline:a}}=qe(),{escapeTemplateCharacters:n,printTemplateExpressions:u}=jt();function i(p,y,h){let g=p.getValue(),c=g.quasis.length;if(c===1&&g.quasis[0].value.raw.trim()==="")return"``";let f=u(p,y),F=[];for(let _=0;_2&&I[0].trim()===""&&I[1].trim()==="",T=P>2&&I[P-1].trim()===""&&I[P-2].trim()==="",m=I.every(o=>/^\s*(?:#[^\n\r]*)?$/.test(o));if(!N&&/#[^\n\r]*$/.test(I[P-1]))return null;let C=null;m?C=l(I):C=h(x,{parser:"graphql"},{stripTrailingHardline:!0}),C?(C=n(C,!1),!E&&D&&F.push(""),F.push(C),!N&&T&&F.push("")):!E&&!N&&D&&F.push(""),$&&F.push($)}return["`",t([a,s(a,F)]),a,"`"]}function l(p){let y=[],h=!1,g=p.map(c=>c.trim());for(let[c,f]of g.entries())f!==""&&(g[c-1]===""&&h?y.push([a,f]):y.push(f),h=!0);return y.length===0?null:s(a,y)}r.exports=i}}),ed=te({"src/language-js/embed/html.js"(e,r){"use strict";ne();var{builders:{indent:t,line:s,hardline:a,group:n},utils:{mapDoc:u}}=qe(),{printTemplateExpressions:i,uncookTemplateElementValue:l}=jt(),p=0;function y(h,g,c,f,F){let{parser:_}=F,w=h.getValue(),E=p;p=p+1>>>0;let N=d=>`PRETTIER_HTML_PLACEHOLDER_${d}_${E}_IN_JS`,x=w.quasis.map((d,v,S)=>v===S.length-1?d.value.cooked:d.value.cooked+N(v)).join(""),I=i(h,g);if(I.length===0&&x.trim().length===0)return"``";let P=new RegExp(N("(\\d+)"),"g"),$=0,D=c(x,{parser:_,__onHtmlRoot(d){$=d.children.length}},{stripTrailingHardline:!0}),T=u(D,d=>{if(typeof d!="string")return d;let v=[],S=d.split(P);for(let b=0;b1?t(n(T)):n(T),C,"`"])}r.exports=y}}),td=te({"src/language-js/embed.js"(e,r){"use strict";ne();var{hasComment:t,CommentCheckFlags:s,isObjectProperty:a}=Ke(),n=Ym(),u=Qm(),i=Zm(),l=ed();function p(D){if(g(D)||_(D)||w(D)||c(D))return"css";if(x(D))return"graphql";if(P(D))return"html";if(f(D))return"angular";if(h(D))return"markdown"}function y(D,T,m,C){let o=D.getValue();if(o.type!=="TemplateLiteral"||$(o))return;let d=p(D);if(d){if(d==="markdown")return n(D,T,m);if(d==="css")return u(D,T,m);if(d==="graphql")return i(D,T,m);if(d==="html"||d==="angular")return l(D,T,m,C,{parser:d})}}function h(D){let T=D.getValue(),m=D.getParentNode();return m&&m.type==="TaggedTemplateExpression"&&T.quasis.length===1&&m.tag.type==="Identifier"&&(m.tag.name==="md"||m.tag.name==="markdown")}function g(D){let T=D.getValue(),m=D.getParentNode(),C=D.getParentNode(1);return C&&T.quasis&&m.type==="JSXExpressionContainer"&&C.type==="JSXElement"&&C.openingElement.name.name==="style"&&C.openingElement.attributes.some(o=>o.name.name==="jsx")||m&&m.type==="TaggedTemplateExpression"&&m.tag.type==="Identifier"&&m.tag.name==="css"||m&&m.type==="TaggedTemplateExpression"&&m.tag.type==="MemberExpression"&&m.tag.object.name==="css"&&(m.tag.property.name==="global"||m.tag.property.name==="resolve")}function c(D){return D.match(T=>T.type==="TemplateLiteral",(T,m)=>T.type==="ArrayExpression"&&m==="elements",(T,m)=>a(T)&&T.key.type==="Identifier"&&T.key.name==="styles"&&m==="value",...F)}function f(D){return D.match(T=>T.type==="TemplateLiteral",(T,m)=>a(T)&&T.key.type==="Identifier"&&T.key.name==="template"&&m==="value",...F)}var F=[(D,T)=>D.type==="ObjectExpression"&&T==="properties",(D,T)=>D.type==="CallExpression"&&D.callee.type==="Identifier"&&D.callee.name==="Component"&&T==="arguments",(D,T)=>D.type==="Decorator"&&T==="expression"];function _(D){let T=D.getParentNode();if(!T||T.type!=="TaggedTemplateExpression")return!1;let m=T.tag.type==="ParenthesizedExpression"?T.tag.expression:T.tag;switch(m.type){case"MemberExpression":return E(m.object)||N(m);case"CallExpression":return E(m.callee)||m.callee.type==="MemberExpression"&&(m.callee.object.type==="MemberExpression"&&(E(m.callee.object.object)||N(m.callee.object))||m.callee.object.type==="CallExpression"&&E(m.callee.object.callee));case"Identifier":return m.name==="css";default:return!1}}function w(D){let T=D.getParentNode(),m=D.getParentNode(1);return m&&T.type==="JSXExpressionContainer"&&m.type==="JSXAttribute"&&m.name.type==="JSXIdentifier"&&m.name.name==="css"}function E(D){return D.type==="Identifier"&&D.name==="styled"}function N(D){return/^[A-Z]/.test(D.object.name)&&D.property.name==="extend"}function x(D){let T=D.getValue(),m=D.getParentNode();return I(T,"GraphQL")||m&&(m.type==="TaggedTemplateExpression"&&(m.tag.type==="MemberExpression"&&m.tag.object.name==="graphql"&&m.tag.property.name==="experimental"||m.tag.type==="Identifier"&&(m.tag.name==="gql"||m.tag.name==="graphql"))||m.type==="CallExpression"&&m.callee.type==="Identifier"&&m.callee.name==="graphql")}function I(D,T){return t(D,s.Block|s.Leading,m=>{let{value:C}=m;return C===` ${T} `})}function P(D){return I(D.getValue(),"HTML")||D.match(T=>T.type==="TemplateLiteral",(T,m)=>T.type==="TaggedTemplateExpression"&&T.tag.type==="Identifier"&&T.tag.name==="html"&&m==="quasi")}function $(D){let{quasis:T}=D;return T.some(m=>{let{value:{cooked:C}}=m;return C===null})}r.exports=y}}),rd=te({"src/language-js/clean.js"(e,r){"use strict";ne();var t=Pt(),s=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),a=u=>{for(let i of u.quasis)delete i.value};function n(u,i,l){if(u.type==="Program"&&delete i.sourceType,(u.type==="BigIntLiteral"||u.type==="BigIntLiteralTypeAnnotation")&&i.value&&(i.value=i.value.toLowerCase()),(u.type==="BigIntLiteral"||u.type==="Literal")&&i.bigint&&(i.bigint=i.bigint.toLowerCase()),u.type==="DecimalLiteral"&&(i.value=Number(i.value)),u.type==="Literal"&&i.decimal&&(i.decimal=Number(i.decimal)),u.type==="EmptyStatement"||u.type==="JSXText"||u.type==="JSXExpressionContainer"&&(u.expression.type==="Literal"||u.expression.type==="StringLiteral")&&u.expression.value===" ")return null;if((u.type==="Property"||u.type==="ObjectProperty"||u.type==="MethodDefinition"||u.type==="ClassProperty"||u.type==="ClassMethod"||u.type==="PropertyDefinition"||u.type==="TSDeclareMethod"||u.type==="TSPropertySignature"||u.type==="ObjectTypeProperty")&&typeof u.key=="object"&&u.key&&(u.key.type==="Literal"||u.key.type==="NumericLiteral"||u.key.type==="StringLiteral"||u.key.type==="Identifier")&&delete i.key,u.type==="JSXElement"&&u.openingElement.name.name==="style"&&u.openingElement.attributes.some(h=>h.name.name==="jsx"))for(let{type:h,expression:g}of i.children)h==="JSXExpressionContainer"&&g.type==="TemplateLiteral"&&a(g);u.type==="JSXAttribute"&&u.name.name==="css"&&u.value.type==="JSXExpressionContainer"&&u.value.expression.type==="TemplateLiteral"&&a(i.value.expression),u.type==="JSXAttribute"&&u.value&&u.value.type==="Literal"&&/["']|"|'/.test(u.value.value)&&(i.value.value=i.value.value.replace(/["']|"|'/g,'"'));let p=u.expression||u.callee;if(u.type==="Decorator"&&p.type==="CallExpression"&&p.callee.name==="Component"&&p.arguments.length===1){let h=u.expression.arguments[0].properties;for(let[g,c]of i.expression.arguments[0].properties.entries())switch(h[g].key.name){case"styles":c.value.type==="ArrayExpression"&&a(c.value.elements[0]);break;case"template":c.value.type==="TemplateLiteral"&&a(c.value);break}}if(u.type==="TaggedTemplateExpression"&&(u.tag.type==="MemberExpression"||u.tag.type==="Identifier"&&(u.tag.name==="gql"||u.tag.name==="graphql"||u.tag.name==="css"||u.tag.name==="md"||u.tag.name==="markdown"||u.tag.name==="html")||u.tag.type==="CallExpression")&&a(i.quasi),u.type==="TemplateLiteral"){var y;(((y=u.leadingComments)===null||y===void 0?void 0:y.some(g=>t(g)&&["GraphQL","HTML"].some(c=>g.value===` ${c} `)))||l.type==="CallExpression"&&l.callee.name==="graphql"||!u.leadingComments)&&a(i)}if(u.type==="InterpreterDirective"&&(i.value=i.value.trimEnd()),(u.type==="TSIntersectionType"||u.type==="TSUnionType")&&u.types.length===1)return i.types[0]}n.ignoredProperties=s,r.exports=n}}),io={};Kt(io,{EOL:()=>Wn,arch:()=>nd,cpus:()=>Do,default:()=>vo,endianness:()=>ao,freemem:()=>po,getNetworkInterfaces:()=>ho,hostname:()=>oo,loadavg:()=>lo,networkInterfaces:()=>yo,platform:()=>ud,release:()=>go,tmpDir:()=>$n,tmpdir:()=>Vn,totalmem:()=>fo,type:()=>mo,uptime:()=>co});function ao(){if(typeof Tr>"u"){var e=new ArrayBuffer(2),r=new Uint8Array(e),t=new Uint16Array(e);if(r[0]=1,r[1]=2,t[0]===258)Tr="BE";else if(t[0]===513)Tr="LE";else throw new Error("unable to figure out endianess")}return Tr}function oo(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function lo(){return[]}function co(){return 0}function po(){return Number.MAX_VALUE}function fo(){return Number.MAX_VALUE}function Do(){return[]}function mo(){return"Browser"}function go(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function yo(){}function ho(){}function nd(){return"javascript"}function ud(){return"browser"}function $n(){return"/tmp"}var Tr,Vn,Wn,vo,sd=ht({"node-modules-polyfills:os"(){ne(),Vn=$n,Wn=` -`,vo={EOL:Wn,tmpdir:Vn,tmpDir:$n,networkInterfaces:yo,getNetworkInterfaces:ho,release:go,type:mo,cpus:Do,totalmem:fo,freemem:po,uptime:co,loadavg:lo,hostname:oo,endianness:ao}}}),id=te({"node-modules-polyfills-commonjs:os"(e,r){ne();var t=(sd(),ft(io));if(t&&t.default){r.exports=t.default;for(let s in t)r.exports[s]=t[s]}else t&&(r.exports=t)}}),ad=te({"node_modules/detect-newline/index.js"(e,r){"use strict";ne();var t=s=>{if(typeof s!="string")throw new TypeError("Expected a string");let a=s.match(/(?:\r?\n)/g)||[];if(a.length===0)return;let n=a.filter(i=>i===`\r -`).length,u=a.length-n;return n>u?`\r -`:` -`};r.exports=t,r.exports.graceful=s=>typeof s=="string"&&t(s)||` -`}}),od=te({"node_modules/jest-docblock/build/index.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.extract=c,e.parse=F,e.parseWithComments=_,e.print=w,e.strip=f;function r(){let N=id();return r=function(){return N},N}function t(){let N=s(ad());return t=function(){return N},N}function s(N){return N&&N.__esModule?N:{default:N}}var a=/\*\/$/,n=/^\/\*\*?/,u=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,i=/(^|\s+)\/\/([^\r\n]*)/g,l=/^(\r?\n)+/,p=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,y=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,h=/(\r?\n|^) *\* ?/g,g=[];function c(N){let x=N.match(u);return x?x[0].trimLeft():""}function f(N){let x=N.match(u);return x&&x[0]?N.substring(x[0].length):N}function F(N){return _(N).pragmas}function _(N){let x=(0,t().default)(N)||r().EOL;N=N.replace(n,"").replace(a,"").replace(h,"$1");let I="";for(;I!==N;)I=N,N=N.replace(p,`${x}$1 $2${x}`);N=N.replace(l,"").trimRight();let P=Object.create(null),$=N.replace(y,"").replace(l,"").trimRight(),D;for(;D=y.exec(N);){let T=D[2].replace(i,"");typeof P[D[1]]=="string"||Array.isArray(P[D[1]])?P[D[1]]=g.concat(P[D[1]],T):P[D[1]]=T}return{comments:$,pragmas:P}}function w(N){let{comments:x="",pragmas:I={}}=N,P=(0,t().default)(x)||r().EOL,$="/**",D=" *",T=" */",m=Object.keys(I),C=m.map(d=>E(d,I[d])).reduce((d,v)=>d.concat(v),[]).map(d=>`${D} ${d}${P}`).join("");if(!x){if(m.length===0)return"";if(m.length===1&&!Array.isArray(I[m[0]])){let d=I[m[0]];return`${$} ${E(m[0],d)[0]}${T}`}}let o=x.split(P).map(d=>`${D} ${d}`).join(P)+P;return $+P+(x?o:"")+(x&&m.length?D+P:"")+C+T}function E(N,x){return g.concat(x).map(I=>`@${N} ${I}`.trim())}}}),ld=te({"src/language-js/utils/get-shebang.js"(e,r){"use strict";ne();function t(s){if(!s.startsWith("#!"))return"";let a=s.indexOf(` -`);return a===-1?s:s.slice(0,a)}r.exports=t}}),Co=te({"src/language-js/pragma.js"(e,r){"use strict";ne();var{parseWithComments:t,strip:s,extract:a,print:n}=od(),{normalizeEndOfLine:u}=Jn(),i=ld();function l(h){let g=i(h);g&&(h=h.slice(g.length+1));let c=a(h),{pragmas:f,comments:F}=t(c);return{shebang:g,text:h,pragmas:f,comments:F}}function p(h){let g=Object.keys(l(h).pragmas);return g.includes("prettier")||g.includes("format")}function y(h){let{shebang:g,text:c,pragmas:f,comments:F}=l(h),_=s(c),w=n({pragmas:Object.assign({format:""},f),comments:F.trimStart()});return(g?`${g} -`:"")+u(w)+(_.startsWith(` -`)?` -`:` - -`)+_}r.exports={hasPragma:p,insertPragma:y}}}),cd=te({"src/language-js/utils/is-type-cast-comment.js"(e,r){"use strict";ne();var t=Pt();function s(a){return t(a)&&a.value[0]==="*"&&/@(?:type|satisfies)\b/.test(a.value)}r.exports=s}}),Eo=te({"src/language-js/comments.js"(e,r){"use strict";ne();var{getLast:t,hasNewline:s,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:a,getNextNonSpaceNonCommentCharacter:n,hasNewlineInRange:u,addLeadingComment:i,addTrailingComment:l,addDanglingComment:p,getNextNonSpaceNonCommentCharacterIndex:y,isNonEmptyArray:h}=Ue(),{getFunctionParameters:g,isPrettierIgnoreComment:c,isJsxNode:f,hasFlowShorthandAnnotationComment:F,hasFlowAnnotationComment:_,hasIgnoreComment:w,isCallLikeExpression:E,getCallArguments:N,isCallExpression:x,isMemberExpression:I,isObjectProperty:P,isLineComment:$,getComments:D,CommentCheckFlags:T,markerForIfWithoutBlockAndSameLineComment:m}=Ke(),{locStart:C,locEnd:o}=ut(),d=Pt(),v=cd();function S(De){return[H,Fe,Q,q,J,L,ie,he,se,ge,we,ke,ce,z,U].some(A=>A(De))}function b(De){return[R,Fe,V,we,q,J,L,ie,z,Z,fe,ge,Pe,U,X].some(A=>A(De))}function B(De){return[H,q,J,j,ue,ce,ge,de,K,pe,U,oe].some(A=>A(De))}function k(De,A){let G=(De.body||De.properties).find(re=>{let{type:ye}=re;return ye!=="EmptyStatement"});G?i(G,A):p(De,A)}function M(De,A){De.type==="BlockStatement"?k(De,A):i(De,A)}function R(De){let{comment:A,followingNode:G}=De;return G&&v(A)?(i(G,A),!0):!1}function q(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;if((re==null?void 0:re.type)!=="IfStatement"||!ye)return!1;if(n(Ce,A,o)===")")return l(G,A),!0;if(G===re.consequent&&ye===re.alternate){if(G.type==="BlockStatement")l(G,A);else{let ve=A.type==="SingleLine"||A.loc.start.line===A.loc.end.line,ze=A.loc.start.line===G.loc.start.line;ve&&ze?p(G,A,m):p(re,A)}return!0}return ye.type==="BlockStatement"?(k(ye,A),!0):ye.type==="IfStatement"?(M(ye.consequent,A),!0):re.consequent===ye?(i(ye,A),!0):!1}function J(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;return(re==null?void 0:re.type)!=="WhileStatement"||!ye?!1:n(Ce,A,o)===")"?(l(G,A),!0):ye.type==="BlockStatement"?(k(ye,A),!0):re.body===ye?(i(ye,A),!0):!1}function L(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return(re==null?void 0:re.type)!=="TryStatement"&&(re==null?void 0:re.type)!=="CatchClause"||!ye?!1:re.type==="CatchClause"&&G?(l(G,A),!0):ye.type==="BlockStatement"?(k(ye,A),!0):ye.type==="TryStatement"?(M(ye.finalizer,A),!0):ye.type==="CatchClause"?(M(ye.body,A),!0):!1}function Q(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return I(G)&&(re==null?void 0:re.type)==="Identifier"?(i(G,A),!0):!1}function V(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De,Be=G&&!u(Ce,o(G),C(A));return(!G||!Be)&&((re==null?void 0:re.type)==="ConditionalExpression"||(re==null?void 0:re.type)==="TSConditionalType")&&ye?(i(ye,A),!0):!1}function j(De){let{comment:A,precedingNode:G,enclosingNode:re}=De;return P(re)&&re.shorthand&&re.key===G&&re.value.type==="AssignmentPattern"?(l(re.value.left,A),!0):!1}var Y=new Set(["ClassDeclaration","ClassExpression","DeclareClass","DeclareInterface","InterfaceDeclaration","TSInterfaceDeclaration"]);function ie(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;if(Y.has(re==null?void 0:re.type)){if(h(re.decorators)&&!(ye&&ye.type==="Decorator"))return l(t(re.decorators),A),!0;if(re.body&&ye===re.body)return k(re.body,A),!0;if(ye){if(re.superClass&&ye===re.superClass&&G&&(G===re.id||G===re.typeParameters))return l(G,A),!0;for(let Ce of["implements","extends","mixins"])if(re[Ce]&&ye===re[Ce][0])return G&&(G===re.id||G===re.typeParameters||G===re.superClass)?l(G,A):p(re,A,Ce),!0}}return!1}var ee=new Set(["ClassMethod","ClassProperty","PropertyDefinition","TSAbstractPropertyDefinition","TSAbstractMethodDefinition","TSDeclareMethod","MethodDefinition","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty"]);function ce(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;return re&&G&&n(ye,A,o)==="("&&(re.type==="Property"||re.type==="TSDeclareMethod"||re.type==="TSAbstractMethodDefinition")&&G.type==="Identifier"&&re.key===G&&n(ye,G,o)!==":"||(G==null?void 0:G.type)==="Decorator"&&ee.has(re==null?void 0:re.type)?(l(G,A),!0):!1}var W=new Set(["FunctionDeclaration","FunctionExpression","ClassMethod","MethodDefinition","ObjectMethod"]);function K(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;return n(ye,A,o)!=="("?!1:G&&W.has(re==null?void 0:re.type)?(l(G,A),!0):!1}function de(De){let{comment:A,enclosingNode:G,text:re}=De;if((G==null?void 0:G.type)!=="ArrowFunctionExpression")return!1;let ye=y(re,A,o);return ye!==!1&&re.slice(ye,ye+2)==="=>"?(p(G,A),!0):!1}function ue(De){let{comment:A,enclosingNode:G,text:re}=De;return n(re,A,o)!==")"?!1:G&&(le(G)&&g(G).length===0||E(G)&&N(G).length===0)?(p(G,A),!0):((G==null?void 0:G.type)==="MethodDefinition"||(G==null?void 0:G.type)==="TSAbstractMethodDefinition")&&g(G.value).length===0?(p(G.value,A),!0):!1}function Fe(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;if((G==null?void 0:G.type)==="FunctionTypeParam"&&(re==null?void 0:re.type)==="FunctionTypeAnnotation"&&(ye==null?void 0:ye.type)!=="FunctionTypeParam"||((G==null?void 0:G.type)==="Identifier"||(G==null?void 0:G.type)==="AssignmentPattern")&&re&&le(re)&&n(Ce,A,o)===")")return l(G,A),!0;if((re==null?void 0:re.type)==="FunctionDeclaration"&&(ye==null?void 0:ye.type)==="BlockStatement"){let Be=(()=>{let ve=g(re);if(ve.length>0)return a(Ce,o(t(ve)));let ze=a(Ce,o(re.id));return ze!==!1&&a(Ce,ze+1)})();if(C(A)>Be)return k(ye,A),!0}return!1}function z(De){let{comment:A,enclosingNode:G}=De;return(G==null?void 0:G.type)==="LabeledStatement"?(i(G,A),!0):!1}function U(De){let{comment:A,enclosingNode:G}=De;return((G==null?void 0:G.type)==="ContinueStatement"||(G==null?void 0:G.type)==="BreakStatement")&&!G.label?(l(G,A),!0):!1}function Z(De){let{comment:A,precedingNode:G,enclosingNode:re}=De;return x(re)&&G&&re.callee===G&&re.arguments.length>0?(i(re.arguments[0],A),!0):!1}function se(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return(re==null?void 0:re.type)==="UnionTypeAnnotation"||(re==null?void 0:re.type)==="TSUnionType"?(c(A)&&(ye.prettierIgnore=!0,A.unignore=!0),G?(l(G,A),!0):!1):(((ye==null?void 0:ye.type)==="UnionTypeAnnotation"||(ye==null?void 0:ye.type)==="TSUnionType")&&c(A)&&(ye.types[0].prettierIgnore=!0,A.unignore=!0),!1)}function fe(De){let{comment:A,enclosingNode:G}=De;return P(G)?(i(G,A),!0):!1}function ge(De){let{comment:A,enclosingNode:G,followingNode:re,ast:ye,isLastComment:Ce}=De;return ye&&ye.body&&ye.body.length===0?(Ce?p(ye,A):i(ye,A),!0):(G==null?void 0:G.type)==="Program"&&(G==null?void 0:G.body.length)===0&&!h(G.directives)?(Ce?p(G,A):i(G,A),!0):(re==null?void 0:re.type)==="Program"&&(re==null?void 0:re.body.length)===0&&(G==null?void 0:G.type)==="ModuleExpression"?(p(re,A),!0):!1}function he(De){let{comment:A,enclosingNode:G}=De;return(G==null?void 0:G.type)==="ForInStatement"||(G==null?void 0:G.type)==="ForOfStatement"?(i(G,A),!0):!1}function we(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;if((re==null?void 0:re.type)==="ImportSpecifier"||(re==null?void 0:re.type)==="ExportSpecifier")return i(re,A),!0;let Ce=(G==null?void 0:G.type)==="ImportSpecifier"&&(re==null?void 0:re.type)==="ImportDeclaration",Be=(G==null?void 0:G.type)==="ExportSpecifier"&&(re==null?void 0:re.type)==="ExportNamedDeclaration";return(Ce||Be)&&s(ye,o(A))?(l(G,A),!0):!1}function ke(De){let{comment:A,enclosingNode:G}=De;return(G==null?void 0:G.type)==="AssignmentPattern"?(i(G,A),!0):!1}var Re=new Set(["VariableDeclarator","AssignmentExpression","TypeAlias","TSTypeAliasDeclaration"]),Ne=new Set(["ObjectExpression","ArrayExpression","TemplateLiteral","TaggedTemplateExpression","ObjectTypeAnnotation","TSTypeLiteral"]);function Pe(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return Re.has(G==null?void 0:G.type)&&re&&(Ne.has(re.type)||d(A))?(i(re,A),!0):!1}function oe(De){let{comment:A,enclosingNode:G,followingNode:re,text:ye}=De;return!re&&((G==null?void 0:G.type)==="TSMethodSignature"||(G==null?void 0:G.type)==="TSDeclareFunction"||(G==null?void 0:G.type)==="TSAbstractMethodDefinition")&&n(ye,A,o)===";"?(l(G,A),!0):!1}function H(De){let{comment:A,enclosingNode:G,followingNode:re}=De;if(c(A)&&(G==null?void 0:G.type)==="TSMappedType"&&(re==null?void 0:re.type)==="TSTypeParameter"&&re.constraint)return G.prettierIgnore=!0,A.unignore=!0,!0}function pe(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return(re==null?void 0:re.type)!=="TSMappedType"?!1:(ye==null?void 0:ye.type)==="TSTypeParameter"&&ye.name?(i(ye.name,A),!0):(G==null?void 0:G.type)==="TSTypeParameter"&&G.constraint?(l(G.constraint,A),!0):!1}function X(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return!G||G.type!=="SwitchCase"||G.test||!re||re!==G.consequent[0]?!1:(re.type==="BlockStatement"&&$(A)?k(re,A):p(G,A),!0)}function le(De){return De.type==="ArrowFunctionExpression"||De.type==="FunctionExpression"||De.type==="FunctionDeclaration"||De.type==="ObjectMethod"||De.type==="ClassMethod"||De.type==="TSDeclareFunction"||De.type==="TSCallSignatureDeclaration"||De.type==="TSConstructSignatureDeclaration"||De.type==="TSMethodSignature"||De.type==="TSConstructorType"||De.type==="TSFunctionType"||De.type==="TSDeclareMethod"}function Ae(De,A){if((A.parser==="typescript"||A.parser==="flow"||A.parser==="acorn"||A.parser==="espree"||A.parser==="meriyah"||A.parser==="__babel_estree")&&De.type==="MethodDefinition"&&De.value&&De.value.type==="FunctionExpression"&&g(De.value).length===0&&!De.value.returnType&&!h(De.value.typeParameters)&&De.value.body)return[...De.decorators||[],De.key,De.value.body]}function Ee(De){let A=De.getValue(),G=De.getParentNode(),re=ye=>_(D(ye,T.Leading))||_(D(ye,T.Trailing));return(A&&(f(A)||F(A)||x(G)&&re(A))||G&&(G.type==="JSXSpreadAttribute"||G.type==="JSXSpreadChild"||G.type==="UnionTypeAnnotation"||G.type==="TSUnionType"||(G.type==="ClassDeclaration"||G.type==="ClassExpression")&&G.superClass===A))&&(!w(De)||G.type==="UnionTypeAnnotation"||G.type==="TSUnionType")}r.exports={handleOwnLineComment:S,handleEndOfLineComment:b,handleRemainingComment:B,getCommentChildNodes:Ae,willPrintOwnComments:Ee}}}),qt=te({"src/language-js/needs-parens.js"(e,r){"use strict";ne();var t=lt(),s=Kn(),{getFunctionParameters:a,getLeftSidePathName:n,hasFlowShorthandAnnotationComment:u,hasNakedLeftSide:i,hasNode:l,isBitwiseOperator:p,startsWithNoLookaheadToken:y,shouldFlatten:h,getPrecedence:g,isCallExpression:c,isMemberExpression:f,isObjectProperty:F,isTSTypeExpression:_}=Ke();function w(D,T){let m=D.getParentNode();if(!m)return!1;let C=D.getName(),o=D.getNode();if(T.__isInHtmlInterpolation&&!T.bracketSpacing&&I(o)&&P(D))return!0;if(E(o))return!1;if(T.parser!=="flow"&&u(D.getValue()))return!0;if(o.type==="Identifier"){if(o.extra&&o.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(o.name)||C==="left"&&(o.name==="async"&&!m.await||o.name==="let")&&m.type==="ForOfStatement")return!0;if(o.name==="let"){var d;let S=(d=D.findAncestor(b=>b.type==="ForOfStatement"))===null||d===void 0?void 0:d.left;if(S&&y(S,b=>b===o))return!0}if(C==="object"&&o.name==="let"&&m.type==="MemberExpression"&&m.computed&&!m.optional){let S=D.findAncestor(B=>B.type==="ExpressionStatement"||B.type==="ForStatement"||B.type==="ForInStatement"),b=S?S.type==="ExpressionStatement"?S.expression:S.type==="ForStatement"?S.init:S.left:void 0;if(b&&y(b,B=>B===o))return!0}return!1}if(o.type==="ObjectExpression"||o.type==="FunctionExpression"||o.type==="ClassExpression"||o.type==="DoExpression"){var v;let S=(v=D.findAncestor(b=>b.type==="ExpressionStatement"))===null||v===void 0?void 0:v.expression;if(S&&y(S,b=>b===o))return!0}switch(m.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":{if(C==="superClass"&&(o.type==="ArrowFunctionExpression"||o.type==="AssignmentExpression"||o.type==="AwaitExpression"||o.type==="BinaryExpression"||o.type==="ConditionalExpression"||o.type==="LogicalExpression"||o.type==="NewExpression"||o.type==="ObjectExpression"||o.type==="SequenceExpression"||o.type==="TaggedTemplateExpression"||o.type==="UnaryExpression"||o.type==="UpdateExpression"||o.type==="YieldExpression"||o.type==="TSNonNullExpression"))return!0;break}case"ExportDefaultDeclaration":return $(D,T)||o.type==="SequenceExpression";case"Decorator":{if(C==="expression"){if(f(o)&&o.computed)return!0;let S=!1,b=!1,B=o;for(;B;)switch(B.type){case"MemberExpression":b=!0,B=B.object;break;case"CallExpression":if(b||S)return T.parser!=="typescript";S=!0,B=B.callee;break;case"Identifier":return!1;case"TaggedTemplateExpression":return T.parser!=="typescript";default:return!0}return!0}break}case"ArrowFunctionExpression":{if(C==="body"&&o.type!=="SequenceExpression"&&y(o,S=>S.type==="ObjectExpression"))return!0;break}}switch(o.type){case"UpdateExpression":if(m.type==="UnaryExpression")return o.prefix&&(o.operator==="++"&&m.operator==="+"||o.operator==="--"&&m.operator==="-");case"UnaryExpression":switch(m.type){case"UnaryExpression":return o.operator===m.operator&&(o.operator==="+"||o.operator==="-");case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"BinaryExpression":return C==="left"&&m.operator==="**";case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":{if(m.type==="UpdateExpression"||o.operator==="in"&&N(D))return!0;if(o.operator==="|>"&&o.extra&&o.extra.parenthesized){let S=D.getParentNode(1);if(S.type==="BinaryExpression"&&S.operator==="|>")return!0}}case"TSTypeAssertion":case"TSAsExpression":case"TSSatisfiesExpression":case"LogicalExpression":switch(m.type){case"TSSatisfiesExpression":case"TSAsExpression":return!_(o);case"ConditionalExpression":return _(o);case"CallExpression":case"NewExpression":case"OptionalCallExpression":return C==="callee";case"ClassExpression":case"ClassDeclaration":return C==="superClass";case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"SpreadProperty":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"AssignmentExpression":case"AssignmentPattern":return C==="left"&&(o.type==="TSTypeAssertion"||_(o));case"LogicalExpression":if(o.type==="LogicalExpression")return m.operator!==o.operator;case"BinaryExpression":{let{operator:S,type:b}=o;if(!S&&b!=="TSTypeAssertion")return!0;let B=g(S),k=m.operator,M=g(k);return M>B||C==="right"&&M===B||M===B&&!h(k,S)?!0:M");default:return!1}case"TSConditionalType":case"TSFunctionType":case"TSConstructorType":if(C==="extendsType"&&m.type==="TSConditionalType"){if(o.type==="TSConditionalType")return!0;let{typeAnnotation:S}=o.returnType||o.typeAnnotation;if(S.type==="TSTypePredicate"&&S.typeAnnotation&&(S=S.typeAnnotation.typeAnnotation),S.type==="TSInferType"&&S.typeParameter.constraint)return!0}if(C==="checkType"&&m.type==="TSConditionalType")return!0;case"TSUnionType":case"TSIntersectionType":if((m.type==="TSUnionType"||m.type==="TSIntersectionType")&&m.types.length>1&&(!o.types||o.types.length>1))return!0;case"TSInferType":if(o.type==="TSInferType"&&m.type==="TSRestType")return!1;case"TSTypeOperator":return m.type==="TSArrayType"||m.type==="TSOptionalType"||m.type==="TSRestType"||C==="objectType"&&m.type==="TSIndexedAccessType"||m.type==="TSTypeOperator"||m.type==="TSTypeAnnotation"&&D.getParentNode(1).type.startsWith("TSJSDoc");case"TSTypeQuery":return C==="objectType"&&m.type==="TSIndexedAccessType"||C==="elementType"&&m.type==="TSArrayType";case"TypeofTypeAnnotation":return C==="objectType"&&(m.type==="IndexedAccessType"||m.type==="OptionalIndexedAccessType")||C==="elementType"&&m.type==="ArrayTypeAnnotation";case"ArrayTypeAnnotation":return m.type==="NullableTypeAnnotation";case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return m.type==="ArrayTypeAnnotation"||m.type==="NullableTypeAnnotation"||m.type==="IntersectionTypeAnnotation"||m.type==="UnionTypeAnnotation"||C==="objectType"&&(m.type==="IndexedAccessType"||m.type==="OptionalIndexedAccessType");case"NullableTypeAnnotation":return m.type==="ArrayTypeAnnotation"||C==="objectType"&&(m.type==="IndexedAccessType"||m.type==="OptionalIndexedAccessType");case"FunctionTypeAnnotation":{let S=m.type==="NullableTypeAnnotation"?D.getParentNode(1):m;return S.type==="UnionTypeAnnotation"||S.type==="IntersectionTypeAnnotation"||S.type==="ArrayTypeAnnotation"||C==="objectType"&&(S.type==="IndexedAccessType"||S.type==="OptionalIndexedAccessType")||S.type==="NullableTypeAnnotation"||m.type==="FunctionTypeParam"&&m.name===null&&a(o).some(b=>b.typeAnnotation&&b.typeAnnotation.type==="NullableTypeAnnotation")}case"OptionalIndexedAccessType":return C==="objectType"&&m.type==="IndexedAccessType";case"StringLiteral":case"NumericLiteral":case"Literal":if(typeof o.value=="string"&&m.type==="ExpressionStatement"&&!m.directive){let S=D.getParentNode(1);return S.type==="Program"||S.type==="BlockStatement"}return C==="object"&&m.type==="MemberExpression"&&typeof o.value=="number";case"AssignmentExpression":{let S=D.getParentNode(1);return C==="body"&&m.type==="ArrowFunctionExpression"?!0:C==="key"&&(m.type==="ClassProperty"||m.type==="PropertyDefinition")&&m.computed||(C==="init"||C==="update")&&m.type==="ForStatement"?!1:m.type==="ExpressionStatement"?o.left.type==="ObjectPattern":!(C==="key"&&m.type==="TSPropertySignature"||m.type==="AssignmentExpression"||m.type==="SequenceExpression"&&S&&S.type==="ForStatement"&&(S.init===m||S.update===m)||C==="value"&&m.type==="Property"&&S&&S.type==="ObjectPattern"&&S.properties.includes(m)||m.type==="NGChainedExpression")}case"ConditionalExpression":switch(m.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"ConditionalExpression":return C==="test";case"MemberExpression":case"OptionalMemberExpression":return C==="object";default:return!1}case"FunctionExpression":switch(m.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(m.type){case"BinaryExpression":return m.operator!=="|>"||o.extra&&o.extra.parenthesized;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return C==="test";default:return!1}case"ClassExpression":if(s(o.decorators))return!0;switch(m.type){case"NewExpression":return C==="callee";default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":{let S=D.getParentNode(1);if(C==="object"&&m.type==="MemberExpression"||C==="callee"&&(m.type==="CallExpression"||m.type==="NewExpression")||m.type==="TSNonNullExpression"&&S.type==="MemberExpression"&&S.object===m)return!0}case"CallExpression":case"MemberExpression":case"TaggedTemplateExpression":case"TSNonNullExpression":if(C==="callee"&&(m.type==="BindExpression"||m.type==="NewExpression")){let S=o;for(;S;)switch(S.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":S=S.object;break;case"TaggedTemplateExpression":S=S.tag;break;case"TSNonNullExpression":S=S.expression;break;default:return!1}}return!1;case"BindExpression":return C==="callee"&&(m.type==="BindExpression"||m.type==="NewExpression")||C==="object"&&f(m);case"NGPipeExpression":return!(m.type==="NGRoot"||m.type==="NGMicrosyntaxExpression"||m.type==="ObjectProperty"&&!(o.extra&&o.extra.parenthesized)||m.type==="ArrayExpression"||c(m)&&m.arguments[C]===o||C==="right"&&m.type==="NGPipeExpression"||C==="property"&&m.type==="MemberExpression"||m.type==="AssignmentExpression");case"JSXFragment":case"JSXElement":return C==="callee"||C==="left"&&m.type==="BinaryExpression"&&m.operator==="<"||m.type!=="ArrayExpression"&&m.type!=="ArrowFunctionExpression"&&m.type!=="AssignmentExpression"&&m.type!=="AssignmentPattern"&&m.type!=="BinaryExpression"&&m.type!=="NewExpression"&&m.type!=="ConditionalExpression"&&m.type!=="ExpressionStatement"&&m.type!=="JsExpressionRoot"&&m.type!=="JSXAttribute"&&m.type!=="JSXElement"&&m.type!=="JSXExpressionContainer"&&m.type!=="JSXFragment"&&m.type!=="LogicalExpression"&&!c(m)&&!F(m)&&m.type!=="ReturnStatement"&&m.type!=="ThrowStatement"&&m.type!=="TypeCastExpression"&&m.type!=="VariableDeclarator"&&m.type!=="YieldExpression";case"TypeAnnotation":return C==="returnType"&&m.type==="ArrowFunctionExpression"&&x(o)}return!1}function E(D){return D.type==="BlockStatement"||D.type==="BreakStatement"||D.type==="ClassBody"||D.type==="ClassDeclaration"||D.type==="ClassMethod"||D.type==="ClassProperty"||D.type==="PropertyDefinition"||D.type==="ClassPrivateProperty"||D.type==="ContinueStatement"||D.type==="DebuggerStatement"||D.type==="DeclareClass"||D.type==="DeclareExportAllDeclaration"||D.type==="DeclareExportDeclaration"||D.type==="DeclareFunction"||D.type==="DeclareInterface"||D.type==="DeclareModule"||D.type==="DeclareModuleExports"||D.type==="DeclareVariable"||D.type==="DoWhileStatement"||D.type==="EnumDeclaration"||D.type==="ExportAllDeclaration"||D.type==="ExportDefaultDeclaration"||D.type==="ExportNamedDeclaration"||D.type==="ExpressionStatement"||D.type==="ForInStatement"||D.type==="ForOfStatement"||D.type==="ForStatement"||D.type==="FunctionDeclaration"||D.type==="IfStatement"||D.type==="ImportDeclaration"||D.type==="InterfaceDeclaration"||D.type==="LabeledStatement"||D.type==="MethodDefinition"||D.type==="ReturnStatement"||D.type==="SwitchStatement"||D.type==="ThrowStatement"||D.type==="TryStatement"||D.type==="TSDeclareFunction"||D.type==="TSEnumDeclaration"||D.type==="TSImportEqualsDeclaration"||D.type==="TSInterfaceDeclaration"||D.type==="TSModuleDeclaration"||D.type==="TSNamespaceExportDeclaration"||D.type==="TypeAlias"||D.type==="VariableDeclaration"||D.type==="WhileStatement"||D.type==="WithStatement"}function N(D){let T=0,m=D.getValue();for(;m;){let C=D.getParentNode(T++);if(C&&C.type==="ForStatement"&&C.init===m)return!0;m=C}return!1}function x(D){return l(D,T=>T.type==="ObjectTypeAnnotation"&&l(T,m=>m.type==="FunctionTypeAnnotation"||void 0)||void 0)}function I(D){switch(D.type){case"ObjectExpression":return!0;default:return!1}}function P(D){let T=D.getValue(),m=D.getParentNode(),C=D.getName();switch(m.type){case"NGPipeExpression":if(typeof C=="number"&&m.arguments[C]===T&&m.arguments.length-1===C)return D.callParent(P);break;case"ObjectProperty":if(C==="value"){let o=D.getParentNode(1);return t(o.properties)===m}break;case"BinaryExpression":case"LogicalExpression":if(C==="right")return D.callParent(P);break;case"ConditionalExpression":if(C==="alternate")return D.callParent(P);break;case"UnaryExpression":if(m.prefix)return D.callParent(P);break}return!1}function $(D,T){let m=D.getValue(),C=D.getParentNode();return m.type==="FunctionExpression"||m.type==="ClassExpression"?C.type==="ExportDefaultDeclaration"||!w(D,T):!i(m)||C.type!=="ExportDefaultDeclaration"&&w(D,T)?!1:D.call(o=>$(o,T),...n(D,m))}r.exports=w}}),Fo=te({"src/language-js/print-preprocess.js"(e,r){"use strict";ne();function t(s,a){switch(a.parser){case"json":case"json5":case"json-stringify":case"__js_expression":case"__vue_expression":case"__vue_ts_expression":return Object.assign(Object.assign({},s),{},{type:a.parser.startsWith("__")?"JsExpressionRoot":"JsonRoot",node:s,comments:[],rootMarker:a.rootMarker});default:return s}}r.exports=t}}),pd=te({"src/language-js/print/html-binding.js"(e,r){"use strict";ne();var{builders:{join:t,line:s,group:a,softline:n,indent:u}}=qe();function i(p,y,h){let g=p.getValue();if(y.__onHtmlBindingRoot&&p.getName()===null&&y.__onHtmlBindingRoot(g,y),g.type==="File"){if(y.__isVueForBindingLeft)return p.call(c=>{let f=t([",",s],c.map(h,"params")),{params:F}=c.getValue();return F.length===1?f:["(",u([n,a(f)]),n,")"]},"program","body",0);if(y.__isVueBindings)return p.call(c=>t([",",s],c.map(h,"params")),"program","body",0)}}function l(p){switch(p.type){case"MemberExpression":switch(p.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return l(p.object)}return!1;case"Identifier":return!0;default:return!1}}r.exports={isVueEventBindingExpression:l,printHtmlBinding:i}}}),ru=te({"src/language-js/print/binaryish.js"(e,r){"use strict";ne();var{printComments:t}=et(),{getLast:s}=Ue(),{builders:{join:a,line:n,softline:u,group:i,indent:l,align:p,indentIfBreak:y},utils:{cleanDoc:h,getDocParts:g,isConcat:c}}=qe(),{hasLeadingOwnLineComment:f,isBinaryish:F,isJsxNode:_,shouldFlatten:w,hasComment:E,CommentCheckFlags:N,isCallExpression:x,isMemberExpression:I,isObjectProperty:P,isEnabledHackPipeline:$}=Ke(),D=0;function T(o,d,v){let S=o.getValue(),b=o.getParentNode(),B=o.getParentNode(1),k=S!==b.body&&(b.type==="IfStatement"||b.type==="WhileStatement"||b.type==="SwitchStatement"||b.type==="DoWhileStatement"),M=$(d)&&S.operator==="|>",R=m(o,v,d,!1,k);if(k)return R;if(M)return i(R);if(x(b)&&b.callee===S||b.type==="UnaryExpression"||I(b)&&!b.computed)return i([l([u,...R]),u]);let q=b.type==="ReturnStatement"||b.type==="ThrowStatement"||b.type==="JSXExpressionContainer"&&B.type==="JSXAttribute"||S.operator!=="|"&&b.type==="JsExpressionRoot"||S.type!=="NGPipeExpression"&&(b.type==="NGRoot"&&d.parser==="__ng_binding"||b.type==="NGMicrosyntaxExpression"&&B.type==="NGMicrosyntax"&&B.body.length===1)||S===b.body&&b.type==="ArrowFunctionExpression"||S!==b.body&&b.type==="ForStatement"||b.type==="ConditionalExpression"&&B.type!=="ReturnStatement"&&B.type!=="ThrowStatement"&&!x(B)||b.type==="TemplateLiteral",J=b.type==="AssignmentExpression"||b.type==="VariableDeclarator"||b.type==="ClassProperty"||b.type==="PropertyDefinition"||b.type==="TSAbstractPropertyDefinition"||b.type==="ClassPrivateProperty"||P(b),L=F(S.left)&&w(S.operator,S.left.operator);if(q||C(S)&&!L||!C(S)&&J)return i(R);if(R.length===0)return"";let Q=_(S.right),V=R.findIndex(W=>typeof W!="string"&&!Array.isArray(W)&&W.type==="group"),j=R.slice(0,V===-1?1:V+1),Y=R.slice(j.length,Q?-1:void 0),ie=Symbol("logicalChain-"+ ++D),ee=i([...j,l(Y)],{id:ie});if(!Q)return ee;let ce=s(R);return i([ee,y(ce,{groupId:ie})])}function m(o,d,v,S,b){let B=o.getValue();if(!F(B))return[i(d())];let k=[];w(B.operator,B.left.operator)?k=o.call(Y=>m(Y,d,v,!0,b),"left"):k.push(i(d("left")));let M=C(B),R=(B.operator==="|>"||B.type==="NGPipeExpression"||B.operator==="|"&&v.parser==="__vue_expression")&&!f(v.originalText,B.right),q=B.type==="NGPipeExpression"?"|":B.operator,J=B.type==="NGPipeExpression"&&B.arguments.length>0?i(l([n,": ",a([n,": "],o.map(d,"arguments").map(Y=>p(2,i(Y))))])):"",L;if(M)L=[q," ",d("right"),J];else{let ie=$(v)&&q==="|>"?o.call(ee=>m(ee,d,v,!0,b),"right"):d("right");L=[R?n:"",q,R?" ":n,ie,J]}let Q=o.getParentNode(),V=E(B.left,N.Trailing|N.Line),j=V||!(b&&B.type==="LogicalExpression")&&Q.type!==B.type&&B.left.type!==B.type&&B.right.type!==B.type;if(k.push(R?"":" ",j?i(L,{shouldBreak:V}):L),S&&E(B)){let Y=h(t(o,k,v));return c(Y)||Y.type==="fill"?g(Y):[Y]}return k}function C(o){return o.type!=="LogicalExpression"?!1:!!(o.right.type==="ObjectExpression"&&o.right.properties.length>0||o.right.type==="ArrayExpression"&&o.right.elements.length>0||_(o.right))}r.exports={printBinaryishExpression:T,shouldInlineLogicalExpression:C}}}),fd=te({"src/language-js/print/angular.js"(e,r){"use strict";ne();var{builders:{join:t,line:s,group:a}}=qe(),{hasNode:n,hasComment:u,getComments:i}=Ke(),{printBinaryishExpression:l}=ru();function p(g,c,f){let F=g.getValue();if(F.type.startsWith("NG"))switch(F.type){case"NGRoot":return[f("node"),u(F.node)?" //"+i(F.node)[0].value.trimEnd():""];case"NGPipeExpression":return l(g,c,f);case"NGChainedExpression":return a(t([";",s],g.map(_=>h(_)?f():["(",f(),")"],"expressions")));case"NGEmptyExpression":return"";case"NGQuotedExpression":return[F.prefix,": ",F.value.trim()];case"NGMicrosyntax":return g.map((_,w)=>[w===0?"":y(_.getValue(),w,F)?" ":[";",s],f()],"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/i.test(F.name)?F.name:JSON.stringify(F.name);case"NGMicrosyntaxExpression":return[f("expression"),F.alias===null?"":[" as ",f("alias")]];case"NGMicrosyntaxKeyedExpression":{let _=g.getName(),w=g.getParentNode(),E=y(F,_,w)||(_===1&&(F.key.name==="then"||F.key.name==="else")||_===2&&F.key.name==="else"&&w.body[_-1].type==="NGMicrosyntaxKeyedExpression"&&w.body[_-1].key.name==="then")&&w.body[0].type==="NGMicrosyntaxExpression";return[f("key"),E?" ":": ",f("expression")]}case"NGMicrosyntaxLet":return["let ",f("key"),F.value===null?"":[" = ",f("value")]];case"NGMicrosyntaxAs":return[f("key")," as ",f("alias")];default:throw new Error(`Unknown Angular node type: ${JSON.stringify(F.type)}.`)}}function y(g,c,f){return g.type==="NGMicrosyntaxKeyedExpression"&&g.key.name==="of"&&c===1&&f.body[0].type==="NGMicrosyntaxLet"&&f.body[0].value===null}function h(g){return n(g.getValue(),c=>{switch(c.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}})}r.exports={printAngular:p}}}),Dd=te({"src/language-js/print/jsx.js"(e,r){"use strict";ne();var{printComments:t,printDanglingComments:s,printCommentsSeparately:a}=et(),{builders:{line:n,hardline:u,softline:i,group:l,indent:p,conditionalGroup:y,fill:h,ifBreak:g,lineSuffixBoundary:c,join:f},utils:{willBreak:F}}=qe(),{getLast:_,getPreferredQuote:w}=Ue(),{isJsxNode:E,rawText:N,isCallExpression:x,isStringLiteral:I,isBinaryish:P,hasComment:$,CommentCheckFlags:D,hasNodeIgnoreComment:T}=Ke(),m=qt(),{willPrintOwnComments:C}=Eo(),o=U=>U===""||U===n||U===u||U===i;function d(U,Z,se){let fe=U.getValue();if(fe.type==="JSXElement"&&de(fe))return[se("openingElement"),se("closingElement")];let ge=fe.type==="JSXElement"?se("openingElement"):se("openingFragment"),he=fe.type==="JSXElement"?se("closingElement"):se("closingFragment");if(fe.children.length===1&&fe.children[0].type==="JSXExpressionContainer"&&(fe.children[0].expression.type==="TemplateLiteral"||fe.children[0].expression.type==="TaggedTemplateExpression"))return[ge,...U.map(se,"children"),he];fe.children=fe.children.map(A=>Fe(A)?{type:"JSXText",value:" ",raw:" "}:A);let we=fe.children.some(E),ke=fe.children.filter(A=>A.type==="JSXExpressionContainer").length>1,Re=fe.type==="JSXElement"&&fe.openingElement.attributes.length>1,Ne=F(ge)||we||Re||ke,Pe=U.getParentNode().rootMarker==="mdx",oe=Z.singleQuote?"{' '}":'{" "}',H=Pe?" ":g([oe,i]," "),pe=fe.openingElement&&fe.openingElement.name&&fe.openingElement.name.name==="fbt",X=v(U,Z,se,H,pe),le=fe.children.some(A=>ue(A));for(let A=X.length-2;A>=0;A--){let G=X[A]===""&&X[A+1]==="",re=X[A]===u&&X[A+1]===""&&X[A+2]===u,ye=(X[A]===i||X[A]===u)&&X[A+1]===""&&X[A+2]===H,Ce=X[A]===H&&X[A+1]===""&&(X[A+2]===i||X[A+2]===u),Be=X[A]===H&&X[A+1]===""&&X[A+2]===H,ve=X[A]===i&&X[A+1]===""&&X[A+2]===u||X[A]===u&&X[A+1]===""&&X[A+2]===i;re&&le||G||ye||Be||ve?X.splice(A,2):Ce&&X.splice(A+1,2)}for(;X.length>0&&o(_(X));)X.pop();for(;X.length>1&&o(X[0])&&o(X[1]);)X.shift(),X.shift();let Ae=[];for(let[A,G]of X.entries()){if(G===H){if(A===1&&X[A-1]===""){if(X.length===2){Ae.push(oe);continue}Ae.push([oe,u]);continue}else if(A===X.length-1){Ae.push(oe);continue}else if(X[A-1]===""&&X[A-2]===u){Ae.push(oe);continue}}Ae.push(G),F(G)&&(Ne=!0)}let Ee=le?h(Ae):l(Ae,{shouldBreak:!0});if(Pe)return Ee;let De=l([ge,p([u,Ee]),u,he]);return Ne?De:y([l([ge,...X,he]),De])}function v(U,Z,se,fe,ge){let he=[];return U.each((we,ke,Re)=>{let Ne=we.getValue();if(Ne.type==="JSXText"){let Pe=N(Ne);if(ue(Ne)){let oe=Pe.split(ce);if(oe[0]===""){if(he.push(""),oe.shift(),/\n/.test(oe[0])){let pe=Re[ke+1];he.push(b(ge,oe[1],Ne,pe))}else he.push(fe);oe.shift()}let H;if(_(oe)===""&&(oe.pop(),H=oe.pop()),oe.length===0)return;for(let[pe,X]of oe.entries())pe%2===1?he.push(n):he.push(X);if(H!==void 0)if(/\n/.test(H)){let pe=Re[ke+1];he.push(b(ge,_(he),Ne,pe))}else he.push(fe);else{let pe=Re[ke+1];he.push(S(ge,_(he),Ne,pe))}}else/\n/.test(Pe)?Pe.match(/\n/g).length>1&&he.push("",u):he.push("",fe)}else{let Pe=se();he.push(Pe);let oe=Re[ke+1];if(oe&&ue(oe)){let pe=K(N(oe)).split(ce)[0];he.push(S(ge,pe,Ne,oe))}else he.push(u)}},"children"),he}function S(U,Z,se,fe){return U?"":se.type==="JSXElement"&&!se.closingElement||fe&&fe.type==="JSXElement"&&!fe.closingElement?Z.length===1?i:u:i}function b(U,Z,se,fe){return U?u:Z.length===1?se.type==="JSXElement"&&!se.closingElement||fe&&fe.type==="JSXElement"&&!fe.closingElement?u:i:u}function B(U,Z,se){let fe=U.getParentNode();if(!fe||{ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[fe.type])return Z;let he=U.match(void 0,ke=>ke.type==="ArrowFunctionExpression",x,ke=>ke.type==="JSXExpressionContainer"),we=m(U,se);return l([we?"":g("("),p([i,Z]),i,we?"":g(")")],{shouldBreak:he})}function k(U,Z,se){let fe=U.getValue(),ge=[];if(ge.push(se("name")),fe.value){let he;if(I(fe.value)){let ke=N(fe.value).slice(1,-1).replace(/'/g,"'").replace(/"/g,'"'),{escaped:Re,quote:Ne,regex:Pe}=w(ke,Z.jsxSingleQuote?"'":'"');ke=ke.replace(Pe,Re);let{leading:oe,trailing:H}=U.call(()=>a(U,Z),"value");he=[oe,Ne,ke,Ne,H]}else he=se("value");ge.push("=",he)}return ge}function M(U,Z,se){let fe=U.getValue(),ge=(he,we)=>he.type==="JSXEmptyExpression"||!$(he)&&(he.type==="ArrayExpression"||he.type==="ObjectExpression"||he.type==="ArrowFunctionExpression"||he.type==="AwaitExpression"&&(ge(he.argument,he)||he.argument.type==="JSXElement")||x(he)||he.type==="FunctionExpression"||he.type==="TemplateLiteral"||he.type==="TaggedTemplateExpression"||he.type==="DoExpression"||E(we)&&(he.type==="ConditionalExpression"||P(he)));return ge(fe.expression,U.getParentNode(0))?l(["{",se("expression"),c,"}"]):l(["{",p([i,se("expression")]),i,c,"}"])}function R(U,Z,se){let fe=U.getValue(),ge=fe.name&&$(fe.name)||fe.typeParameters&&$(fe.typeParameters);if(fe.selfClosing&&fe.attributes.length===0&&!ge)return["<",se("name"),se("typeParameters")," />"];if(fe.attributes&&fe.attributes.length===1&&fe.attributes[0].value&&I(fe.attributes[0].value)&&!fe.attributes[0].value.value.includes(` -`)&&!ge&&!$(fe.attributes[0]))return l(["<",se("name"),se("typeParameters")," ",...U.map(se,"attributes"),fe.selfClosing?" />":">"]);let he=fe.attributes&&fe.attributes.some(ke=>ke.value&&I(ke.value)&&ke.value.value.includes(` -`)),we=Z.singleAttributePerLine&&fe.attributes.length>1?u:n;return l(["<",se("name"),se("typeParameters"),p(U.map(()=>[we,se()],"attributes")),...q(fe,Z,ge)],{shouldBreak:he})}function q(U,Z,se){return U.selfClosing?[n,"/>"]:J(U,Z,se)?[">"]:[i,">"]}function J(U,Z,se){let fe=U.attributes.length>0&&$(_(U.attributes),D.Trailing);return U.attributes.length===0&&!se||(Z.bracketSameLine||Z.jsxBracketSameLine)&&(!se||U.attributes.length>0)&&!fe}function L(U,Z,se){let fe=U.getValue(),ge=[];ge.push(""),ge}function Q(U,Z){let se=U.getValue(),fe=$(se),ge=$(se,D.Line),he=se.type==="JSXOpeningFragment";return[he?"<":""]}function V(U,Z,se){let fe=t(U,d(U,Z,se),Z);return B(U,fe,Z)}function j(U,Z){let se=U.getValue(),fe=$(se,D.Line);return[s(U,Z,!fe),fe?u:""]}function Y(U,Z,se){let fe=U.getValue();return["{",U.call(ge=>{let he=["...",se()],we=ge.getValue();return!$(we)||!C(ge)?he:[p([i,t(ge,he,Z)]),i]},fe.type==="JSXSpreadAttribute"?"argument":"expression"),"}"]}function ie(U,Z,se){let fe=U.getValue();if(fe.type.startsWith("JSX"))switch(fe.type){case"JSXAttribute":return k(U,Z,se);case"JSXIdentifier":return String(fe.name);case"JSXNamespacedName":return f(":",[se("namespace"),se("name")]);case"JSXMemberExpression":return f(".",[se("object"),se("property")]);case"JSXSpreadAttribute":return Y(U,Z,se);case"JSXSpreadChild":return Y(U,Z,se);case"JSXExpressionContainer":return M(U,Z,se);case"JSXFragment":case"JSXElement":return V(U,Z,se);case"JSXOpeningElement":return R(U,Z,se);case"JSXClosingElement":return L(U,Z,se);case"JSXOpeningFragment":case"JSXClosingFragment":return Q(U,Z);case"JSXEmptyExpression":return j(U,Z);case"JSXText":throw new Error("JSXText should be handled by JSXElement");default:throw new Error(`Unknown JSX node type: ${JSON.stringify(fe.type)}.`)}}var ee=` -\r `,ce=new RegExp("(["+ee+"]+)"),W=new RegExp("[^"+ee+"]"),K=U=>U.replace(new RegExp("(?:^"+ce.source+"|"+ce.source+"$)"),"");function de(U){if(U.children.length===0)return!0;if(U.children.length>1)return!1;let Z=U.children[0];return Z.type==="JSXText"&&!ue(Z)}function ue(U){return U.type==="JSXText"&&(W.test(N(U))||!/\n/.test(N(U)))}function Fe(U){return U.type==="JSXExpressionContainer"&&I(U.expression)&&U.expression.value===" "&&!$(U.expression)}function z(U){let Z=U.getValue(),se=U.getParentNode();if(!se||!Z||!E(Z)||!E(se))return!1;let fe=se.children.indexOf(Z),ge=null;for(let he=fe;he>0;he--){let we=se.children[he-1];if(!(we.type==="JSXText"&&!ue(we))){ge=we;break}}return ge&&ge.type==="JSXExpressionContainer"&&ge.expression.type==="JSXEmptyExpression"&&T(ge.expression)}r.exports={hasJsxIgnoreComment:z,printJsx:ie}}}),ct=te({"src/language-js/print/misc.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{indent:s,join:a,line:n}}=qe(),{isFlowAnnotationComment:u}=Ke();function i(_){let w=_.getValue();return!w.optional||w.type==="Identifier"&&w===_.getParentNode().key?"":w.type==="OptionalCallExpression"||w.type==="OptionalMemberExpression"&&w.computed?"?.":"?"}function l(_){return _.getValue().definite||_.match(void 0,(w,E)=>E==="id"&&w.type==="VariableDeclarator"&&w.definite)?"!":""}function p(_,w,E){let N=_.getValue();return N.typeArguments?E("typeArguments"):N.typeParameters?E("typeParameters"):""}function y(_,w,E){let N=_.getValue();if(!N.typeAnnotation)return"";let x=_.getParentNode(),I=x.type==="DeclareFunction"&&x.id===N;return u(w.originalText,N.typeAnnotation)?[" /*: ",E("typeAnnotation")," */"]:[I?"":": ",E("typeAnnotation")]}function h(_,w,E){return["::",E("callee")]}function g(_,w,E){let N=_.getValue();return t(N.modifiers)?[a(" ",_.map(E,"modifiers"))," "]:""}function c(_,w,E){return _.type==="EmptyStatement"?";":_.type==="BlockStatement"||E?[" ",w]:s([n,w])}function f(_,w,E){return["...",E("argument"),y(_,w,E)]}function F(_,w){let E=_.slice(1,-1);if(E.includes('"')||E.includes("'"))return _;let N=w.singleQuote?"'":'"';return N+E+N}r.exports={printOptionalToken:i,printDefiniteToken:l,printFunctionTypeParameters:p,printBindExpressionCallee:h,printTypeScriptModifiers:g,printTypeAnnotation:y,printRestSpread:f,adjustClause:c,printDirective:F}}}),er=te({"src/language-js/print/array.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{builders:{line:s,softline:a,hardline:n,group:u,indent:i,ifBreak:l,fill:p}}=qe(),{getLast:y,hasNewline:h}=Ue(),{shouldPrintComma:g,hasComment:c,CommentCheckFlags:f,isNextLineEmpty:F,isNumericLiteral:_,isSignedNumericLiteral:w}=Ke(),{locStart:E}=ut(),{printOptionalToken:N,printTypeAnnotation:x}=ct();function I(T,m,C){let o=T.getValue(),d=[],v=o.type==="TupleExpression"?"#[":"[",S="]";if(o.elements.length===0)c(o,f.Dangling)?d.push(u([v,t(T,m),a,S])):d.push(v,S);else{let b=y(o.elements),B=!(b&&b.type==="RestElement"),k=b===null,M=Symbol("array"),R=!m.__inJestEach&&o.elements.length>1&&o.elements.every((L,Q,V)=>{let j=L&&L.type;if(j!=="ArrayExpression"&&j!=="ObjectExpression")return!1;let Y=V[Q+1];if(Y&&j!==Y.type)return!1;let ie=j==="ArrayExpression"?"elements":"properties";return L[ie]&&L[ie].length>1}),q=P(o,m),J=B?k?",":g(m)?q?l(",","",{groupId:M}):l(","):"":"";d.push(u([v,i([a,q?D(T,m,C,J):[$(T,m,"elements",C),J],t(T,m,!0)]),a,S],{shouldBreak:R,id:M}))}return d.push(N(T),x(T,m,C)),d}function P(T,m){return T.elements.length>1&&T.elements.every(C=>C&&(_(C)||w(C)&&!c(C.argument))&&!c(C,f.Trailing|f.Line,o=>!h(m.originalText,E(o),{backwards:!0})))}function $(T,m,C,o){let d=[],v=[];return T.each(S=>{d.push(v,u(o())),v=[",",s],S.getValue()&&F(S.getValue(),m)&&v.push(a)},C),d}function D(T,m,C,o){let d=[];return T.each((v,S,b)=>{let B=S===b.length-1;d.push([C(),B?o:","]),B||d.push(F(v.getValue(),m)?[n,n]:c(b[S+1],f.Leading|f.Line)?n:s)},"elements"),p(d)}r.exports={printArray:I,printArrayItems:$,isConciselyPrintedArray:P}}}),Ao=te({"src/language-js/print/call-arguments.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{getLast:s,getPenultimate:a}=Ue(),{getFunctionParameters:n,hasComment:u,CommentCheckFlags:i,isFunctionCompositionArgs:l,isJsxNode:p,isLongCurriedCallExpression:y,shouldPrintComma:h,getCallArguments:g,iterateCallArgumentsPath:c,isNextLineEmpty:f,isCallExpression:F,isStringLiteral:_,isObjectProperty:w,isTSTypeExpression:E}=Ke(),{builders:{line:N,hardline:x,softline:I,group:P,indent:$,conditionalGroup:D,ifBreak:T,breakParent:m},utils:{willBreak:C}}=qe(),{ArgExpansionBailout:o}=Qt(),{isConciselyPrintedArray:d}=er();function v(q,J,L){let Q=q.getValue(),V=Q.type==="ImportExpression",j=g(Q);if(j.length===0)return["(",t(q,J,!0),")"];if(k(j))return["(",L(["arguments",0]),", ",L(["arguments",1]),")"];let Y=!1,ie=!1,ee=j.length-1,ce=[];c(q,(z,U)=>{let Z=z.getNode(),se=[L()];U===ee||(f(Z,J)?(U===0&&(ie=!0),Y=!0,se.push(",",x,x)):se.push(",",N)),ce.push(se)});let W=!(V||Q.callee&&Q.callee.type==="Import")&&h(J,"all")?",":"";function K(){return P(["(",$([N,...ce]),W,N,")"],{shouldBreak:!0})}if(Y||q.getParentNode().type!=="Decorator"&&l(j))return K();let de=B(j),ue=b(j,J);if(de||ue){if(de?ce.slice(1).some(C):ce.slice(0,-1).some(C))return K();let z=[];try{q.try(()=>{c(q,(U,Z)=>{de&&Z===0&&(z=[[L([],{expandFirstArg:!0}),ce.length>1?",":"",ie?x:N,ie?x:""],...ce.slice(1)]),ue&&Z===ee&&(z=[...ce.slice(0,-1),L([],{expandLastArg:!0})])})})}catch(U){if(U instanceof o)return K();throw U}return[ce.some(C)?m:"",D([["(",...z,")"],de?["(",P(z[0],{shouldBreak:!0}),...z.slice(1),")"]:["(",...ce.slice(0,-1),P(s(z),{shouldBreak:!0}),")"],K()])]}let Fe=["(",$([I,...ce]),T(W),I,")"];return y(q)?Fe:P(Fe,{shouldBreak:ce.some(C)||Y})}function S(q){let J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return q.type==="ObjectExpression"&&(q.properties.length>0||u(q))||q.type==="ArrayExpression"&&(q.elements.length>0||u(q))||q.type==="TSTypeAssertion"&&S(q.expression)||E(q)&&S(q.expression)||q.type==="FunctionExpression"||q.type==="ArrowFunctionExpression"&&(!q.returnType||!q.returnType.typeAnnotation||q.returnType.typeAnnotation.type!=="TSTypeReference"||M(q.body))&&(q.body.type==="BlockStatement"||q.body.type==="ArrowFunctionExpression"&&S(q.body,!0)||q.body.type==="ObjectExpression"||q.body.type==="ArrayExpression"||!J&&(F(q.body)||q.body.type==="ConditionalExpression")||p(q.body))||q.type==="DoExpression"||q.type==="ModuleExpression"}function b(q,J){let L=s(q),Q=a(q);return!u(L,i.Leading)&&!u(L,i.Trailing)&&S(L)&&(!Q||Q.type!==L.type)&&(q.length!==2||Q.type!=="ArrowFunctionExpression"||L.type!=="ArrayExpression")&&!(q.length>1&&L.type==="ArrayExpression"&&d(L,J))}function B(q){if(q.length!==2)return!1;let[J,L]=q;return J.type==="ModuleExpression"&&R(L)?!0:!u(J)&&(J.type==="FunctionExpression"||J.type==="ArrowFunctionExpression"&&J.body.type==="BlockStatement")&&L.type!=="FunctionExpression"&&L.type!=="ArrowFunctionExpression"&&L.type!=="ConditionalExpression"&&!S(L)}function k(q){return q.length===2&&q[0].type==="ArrowFunctionExpression"&&n(q[0]).length===0&&q[0].body.type==="BlockStatement"&&q[1].type==="ArrayExpression"&&!q.some(J=>u(J))}function M(q){return q.type==="BlockStatement"&&(q.body.some(J=>J.type!=="EmptyStatement")||u(q,i.Dangling))}function R(q){return q.type==="ObjectExpression"&&q.properties.length===1&&w(q.properties[0])&&q.properties[0].key.type==="Identifier"&&q.properties[0].key.name==="type"&&_(q.properties[0].value)&&q.properties[0].value.value==="module"}r.exports=v}}),So=te({"src/language-js/print/member.js"(e,r){"use strict";ne();var{builders:{softline:t,group:s,indent:a,label:n}}=qe(),{isNumericLiteral:u,isMemberExpression:i,isCallExpression:l}=Ke(),{printOptionalToken:p}=ct();function y(g,c,f){let F=g.getValue(),_=g.getParentNode(),w,E=0;do w=g.getParentNode(E),E++;while(w&&(i(w)||w.type==="TSNonNullExpression"));let N=f("object"),x=h(g,c,f),I=w&&(w.type==="NewExpression"||w.type==="BindExpression"||w.type==="AssignmentExpression"&&w.left.type!=="Identifier")||F.computed||F.object.type==="Identifier"&&F.property.type==="Identifier"&&!i(_)||(_.type==="AssignmentExpression"||_.type==="VariableDeclarator")&&(l(F.object)&&F.object.arguments.length>0||F.object.type==="TSNonNullExpression"&&l(F.object.expression)&&F.object.expression.arguments.length>0||N.label==="member-chain");return n(N.label==="member-chain"?"member-chain":"member",[N,I?x:s(a([t,x]))])}function h(g,c,f){let F=f("property"),_=g.getValue(),w=p(g);return _.computed?!_.property||u(_.property)?[w,"[",F,"]"]:s([w,"[",a([t,F]),t,"]"]):[w,".",F]}r.exports={printMemberExpression:y,printMemberLookup:h}}}),md=te({"src/language-js/print/member-chain.js"(e,r){"use strict";ne();var{printComments:t}=et(),{getLast:s,isNextLineEmptyAfterIndex:a,getNextNonSpaceNonCommentCharacterIndex:n}=Ue(),u=qt(),{isCallExpression:i,isMemberExpression:l,isFunctionOrArrowExpression:p,isLongCurriedCallExpression:y,isMemberish:h,isNumericLiteral:g,isSimpleCallArgument:c,hasComment:f,CommentCheckFlags:F,isNextLineEmpty:_}=Ke(),{locEnd:w}=ut(),{builders:{join:E,hardline:N,group:x,indent:I,conditionalGroup:P,breakParent:$,label:D},utils:{willBreak:T}}=qe(),m=Ao(),{printMemberLookup:C}=So(),{printOptionalToken:o,printFunctionTypeParameters:d,printBindExpressionCallee:v}=ct();function S(b,B,k){let M=b.getParentNode(),R=!M||M.type==="ExpressionStatement",q=[];function J(Ne){let{originalText:Pe}=B,oe=n(Pe,Ne,w);return Pe.charAt(oe)===")"?oe!==!1&&a(Pe,oe+1):_(Ne,B)}function L(Ne){let Pe=Ne.getValue();i(Pe)&&(h(Pe.callee)||i(Pe.callee))?(q.unshift({node:Pe,printed:[t(Ne,[o(Ne),d(Ne,B,k),m(Ne,B,k)],B),J(Pe)?N:""]}),Ne.call(oe=>L(oe),"callee")):h(Pe)?(q.unshift({node:Pe,needsParens:u(Ne,B),printed:t(Ne,l(Pe)?C(Ne,B,k):v(Ne,B,k),B)}),Ne.call(oe=>L(oe),"object")):Pe.type==="TSNonNullExpression"?(q.unshift({node:Pe,printed:t(Ne,"!",B)}),Ne.call(oe=>L(oe),"expression")):q.unshift({node:Pe,printed:k()})}let Q=b.getValue();q.unshift({node:Q,printed:[o(b),d(b,B,k),m(b,B,k)]}),Q.callee&&b.call(Ne=>L(Ne),"callee");let V=[],j=[q[0]],Y=1;for(;Y0&&V.push(j);function ee(Ne){return/^[A-Z]|^[$_]+$/.test(Ne)}function ce(Ne){return Ne.length<=B.tabWidth}function W(Ne){let Pe=Ne[1].length>0&&Ne[1][0].node.computed;if(Ne[0].length===1){let H=Ne[0][0].node;return H.type==="ThisExpression"||H.type==="Identifier"&&(ee(H.name)||R&&ce(H.name)||Pe)}let oe=s(Ne[0]).node;return l(oe)&&oe.property.type==="Identifier"&&(ee(oe.property.name)||Pe)}let K=V.length>=2&&!f(V[1][0].node)&&W(V);function de(Ne){let Pe=Ne.map(oe=>oe.printed);return Ne.length>0&&s(Ne).needsParens?["(",...Pe,")"]:Pe}function ue(Ne){return Ne.length===0?"":I(x([N,E(N,Ne.map(de))]))}let Fe=V.map(de),z=Fe,U=K?3:2,Z=V.flat(),se=Z.slice(1,-1).some(Ne=>f(Ne.node,F.Leading))||Z.slice(0,-1).some(Ne=>f(Ne.node,F.Trailing))||V[U]&&f(V[U][0].node,F.Leading);if(V.length<=U&&!se)return y(b)?z:x(z);let fe=s(V[K?1:0]).node,ge=!i(fe)&&J(fe),he=[de(V[0]),K?V.slice(1,2).map(de):"",ge?N:"",ue(V.slice(K?2:1))],we=q.map(Ne=>{let{node:Pe}=Ne;return Pe}).filter(i);function ke(){let Ne=s(s(V)).node,Pe=s(Fe);return i(Ne)&&T(Pe)&&we.slice(0,-1).some(oe=>oe.arguments.some(p))}let Re;return se||we.length>2&&we.some(Ne=>!Ne.arguments.every(Pe=>c(Pe,0)))||Fe.slice(0,-1).some(T)||ke()?Re=x(he):Re=[T(z)||ge?$:"",P([z,he])],D("member-chain",Re)}r.exports=S}}),xo=te({"src/language-js/print/call-expression.js"(e,r){"use strict";ne();var{builders:{join:t,group:s}}=qe(),a=qt(),{getCallArguments:n,hasFlowAnnotationComment:u,isCallExpression:i,isMemberish:l,isStringLiteral:p,isTemplateOnItsOwnLine:y,isTestCall:h,iterateCallArgumentsPath:g}=Ke(),c=md(),f=Ao(),{printOptionalToken:F,printFunctionTypeParameters:_}=ct();function w(N,x,I){let P=N.getValue(),$=N.getParentNode(),D=P.type==="NewExpression",T=P.type==="ImportExpression",m=F(N),C=n(P);if(C.length>0&&(!T&&!D&&E(P,$)||C.length===1&&y(C[0],x.originalText)||!D&&h(P,$))){let v=[];return g(N,()=>{v.push(I())}),[D?"new ":"",I("callee"),m,_(N,x,I),"(",t(", ",v),")"]}let o=(x.parser==="babel"||x.parser==="babel-flow")&&P.callee&&P.callee.type==="Identifier"&&u(P.callee.trailingComments);if(o&&(P.callee.trailingComments[0].printed=!0),!T&&!D&&l(P.callee)&&!N.call(v=>a(v,x),"callee"))return c(N,x,I);let d=[D?"new ":"",T?"import":I("callee"),m,o?`/*:: ${P.callee.trailingComments[0].value.slice(2).trim()} */`:"",_(N,x,I),f(N,x,I)];return T||i(P.callee)?s(d):d}function E(N,x){if(N.callee.type!=="Identifier")return!1;if(N.callee.name==="require")return!0;if(N.callee.name==="define"){let I=n(N);return x.type==="ExpressionStatement"&&(I.length===1||I.length===2&&I[0].type==="ArrayExpression"||I.length===3&&p(I[0])&&I[1].type==="ArrayExpression")}return!1}r.exports={printCallExpression:w}}}),tr=te({"src/language-js/print/assignment.js"(e,r){"use strict";ne();var{isNonEmptyArray:t,getStringWidth:s}=Ue(),{builders:{line:a,group:n,indent:u,indentIfBreak:i,lineSuffixBoundary:l},utils:{cleanDoc:p,willBreak:y,canBreak:h}}=qe(),{hasLeadingOwnLineComment:g,isBinaryish:c,isStringLiteral:f,isLiteral:F,isNumericLiteral:_,isCallExpression:w,isMemberExpression:E,getCallArguments:N,rawText:x,hasComment:I,isSignedNumericLiteral:P,isObjectProperty:$}=Ke(),{shouldInlineLogicalExpression:D}=ru(),{printCallExpression:T}=xo();function m(W,K,de,ue,Fe,z){let U=d(W,K,de,ue,z),Z=de(z,{assignmentLayout:U});switch(U){case"break-after-operator":return n([n(ue),Fe,n(u([a,Z]))]);case"never-break-after-operator":return n([n(ue),Fe," ",Z]);case"fluid":{let se=Symbol("assignment");return n([n(ue),Fe,n(u(a),{id:se}),l,i(Z,{groupId:se})])}case"break-lhs":return n([ue,Fe," ",n(Z)]);case"chain":return[n(ue),Fe,a,Z];case"chain-tail":return[n(ue),Fe,u([a,Z])];case"chain-tail-arrow-chain":return[n(ue),Fe,Z];case"only-left":return ue}}function C(W,K,de){let ue=W.getValue();return m(W,K,de,de("left"),[" ",ue.operator],"right")}function o(W,K,de){return m(W,K,de,de("id")," =","init")}function d(W,K,de,ue,Fe){let z=W.getValue(),U=z[Fe];if(!U)return"only-left";let Z=!b(U);if(W.match(b,B,he=>!Z||he.type!=="ExpressionStatement"&&he.type!=="VariableDeclaration"))return Z?U.type==="ArrowFunctionExpression"&&U.body.type==="ArrowFunctionExpression"?"chain-tail-arrow-chain":"chain-tail":"chain";if(!Z&&b(U.right)||g(K.originalText,U))return"break-after-operator";if(U.type==="CallExpression"&&U.callee.name==="require"||K.parser==="json5"||K.parser==="json")return"never-break-after-operator";if(S(z)||k(z)||q(z)||J(z)&&h(ue))return"break-lhs";let ge=ie(z,ue,K);return W.call(()=>v(W,K,de,ge),Fe)?"break-after-operator":ge||U.type==="TemplateLiteral"||U.type==="TaggedTemplateExpression"||U.type==="BooleanLiteral"||_(U)||U.type==="ClassExpression"?"never-break-after-operator":"fluid"}function v(W,K,de,ue){let Fe=W.getValue();if(c(Fe)&&!D(Fe))return!0;switch(Fe.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"ConditionalExpression":{let{test:Z}=Fe;return c(Z)&&!D(Z)}case"ClassExpression":return t(Fe.decorators)}if(ue)return!1;let z=Fe,U=[];for(;;)if(z.type==="UnaryExpression")z=z.argument,U.push("argument");else if(z.type==="TSNonNullExpression")z=z.expression,U.push("expression");else break;return!!(f(z)||W.call(()=>V(W,K,de),...U))}function S(W){if(B(W)){let K=W.left||W.id;return K.type==="ObjectPattern"&&K.properties.length>2&&K.properties.some(de=>$(de)&&(!de.shorthand||de.value&&de.value.type==="AssignmentPattern"))}return!1}function b(W){return W.type==="AssignmentExpression"}function B(W){return b(W)||W.type==="VariableDeclarator"}function k(W){let K=M(W);if(t(K)){let de=W.type==="TSTypeAliasDeclaration"?"constraint":"bound";if(K.length>1&&K.some(ue=>ue[de]||ue.default))return!0}return!1}function M(W){return R(W)&&W.typeParameters&&W.typeParameters.params?W.typeParameters.params:null}function R(W){return W.type==="TSTypeAliasDeclaration"||W.type==="TypeAlias"}function q(W){if(W.type!=="VariableDeclarator")return!1;let{typeAnnotation:K}=W.id;if(!K||!K.typeAnnotation)return!1;let de=L(K.typeAnnotation);return t(de)&&de.length>1&&de.some(ue=>t(L(ue))||ue.type==="TSConditionalType")}function J(W){return W.type==="VariableDeclarator"&&W.init&&W.init.type==="ArrowFunctionExpression"}function L(W){return Q(W)&&W.typeParameters&&W.typeParameters.params?W.typeParameters.params:null}function Q(W){return W.type==="TSTypeReference"||W.type==="GenericTypeAnnotation"}function V(W,K,de){let ue=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Fe=W.getValue(),z=()=>V(W,K,de,!0);if(Fe.type==="TSNonNullExpression")return W.call(z,"expression");if(w(Fe)){if(T(W,K,de).label==="member-chain")return!1;let Z=N(Fe);return!(Z.length===0||Z.length===1&&Y(Z[0],K))||ee(Fe,de)?!1:W.call(z,"callee")}return E(Fe)?W.call(z,"object"):ue&&(Fe.type==="Identifier"||Fe.type==="ThisExpression")}var j=.25;function Y(W,K){let{printWidth:de}=K;if(I(W))return!1;let ue=de*j;if(W.type==="ThisExpression"||W.type==="Identifier"&&W.name.length<=ue||P(W)&&!I(W.argument))return!0;let Fe=W.type==="Literal"&&"regex"in W&&W.regex.pattern||W.type==="RegExpLiteral"&&W.pattern;return Fe?Fe.length<=ue:f(W)?x(W).length<=ue:W.type==="TemplateLiteral"?W.expressions.length===0&&W.quasis[0].value.raw.length<=ue&&!W.quasis[0].value.raw.includes(` -`):F(W)}function ie(W,K,de){if(!$(W))return!1;K=p(K);let ue=3;return typeof K=="string"&&s(K)1)return!0;if(de.length===1){let Fe=de[0];if(Fe.type==="TSUnionType"||Fe.type==="UnionTypeAnnotation"||Fe.type==="TSIntersectionType"||Fe.type==="IntersectionTypeAnnotation"||Fe.type==="TSTypeLiteral"||Fe.type==="ObjectTypeAnnotation")return!0}let ue=W.typeParameters?"typeParameters":"typeArguments";if(y(K(ue)))return!0}return!1}function ce(W){return W.typeParameters&&W.typeParameters.params||W.typeArguments&&W.typeArguments.params}r.exports={printVariableDeclarator:o,printAssignmentExpression:C,printAssignment:m,isArrowFunctionVariableDeclarator:J}}}),Lr=te({"src/language-js/print/function-parameters.js"(e,r){"use strict";ne();var{getNextNonSpaceNonCommentCharacter:t}=Ue(),{printDanglingComments:s}=et(),{builders:{line:a,hardline:n,softline:u,group:i,indent:l,ifBreak:p},utils:{removeLines:y,willBreak:h}}=qe(),{getFunctionParameters:g,iterateFunctionParametersPath:c,isSimpleType:f,isTestCall:F,isTypeAnnotationAFunction:_,isObjectType:w,isObjectTypePropertyAFunction:E,hasRestParameter:N,shouldPrintComma:x,hasComment:I,isNextLineEmpty:P}=Ke(),{locEnd:$}=ut(),{ArgExpansionBailout:D}=Qt(),{printFunctionTypeParameters:T}=ct();function m(v,S,b,B,k){let M=v.getValue(),R=g(M),q=k?T(v,b,S):"";if(R.length===0)return[q,"(",s(v,b,!0,ie=>t(b.originalText,ie,$)===")"),")"];let J=v.getParentNode(),L=F(J),Q=C(M),V=[];if(c(v,(ie,ee)=>{let ce=ee===R.length-1;ce&&M.rest&&V.push("..."),V.push(S()),!ce&&(V.push(","),L||Q?V.push(" "):P(R[ee],b)?V.push(n,n):V.push(a))}),B){if(h(q)||h(V))throw new D;return i([y(q),"(",y(V),")"])}let j=R.every(ie=>!ie.decorators);return Q&&j?[q,"(",...V,")"]:L?[q,"(",...V,")"]:(E(J)||_(J)||J.type==="TypeAlias"||J.type==="UnionTypeAnnotation"||J.type==="TSUnionType"||J.type==="IntersectionTypeAnnotation"||J.type==="FunctionTypeAnnotation"&&J.returnType===M)&&R.length===1&&R[0].name===null&&M.this!==R[0]&&R[0].typeAnnotation&&M.typeParameters===null&&f(R[0].typeAnnotation)&&!M.rest?b.arrowParens==="always"?["(",...V,")"]:V:[q,"(",l([u,...V]),p(!N(M)&&x(b,"all")?",":""),u,")"]}function C(v){if(!v)return!1;let S=g(v);if(S.length!==1)return!1;let[b]=S;return!I(b)&&(b.type==="ObjectPattern"||b.type==="ArrayPattern"||b.type==="Identifier"&&b.typeAnnotation&&(b.typeAnnotation.type==="TypeAnnotation"||b.typeAnnotation.type==="TSTypeAnnotation")&&w(b.typeAnnotation.typeAnnotation)||b.type==="FunctionTypeParam"&&w(b.typeAnnotation)||b.type==="AssignmentPattern"&&(b.left.type==="ObjectPattern"||b.left.type==="ArrayPattern")&&(b.right.type==="Identifier"||b.right.type==="ObjectExpression"&&b.right.properties.length===0||b.right.type==="ArrayExpression"&&b.right.elements.length===0))}function o(v){let S;return v.returnType?(S=v.returnType,S.typeAnnotation&&(S=S.typeAnnotation)):v.typeAnnotation&&(S=v.typeAnnotation),S}function d(v,S){let b=o(v);if(!b)return!1;let B=v.typeParameters&&v.typeParameters.params;if(B){if(B.length>1)return!1;if(B.length===1){let k=B[0];if(k.constraint||k.default)return!1}}return g(v).length===1&&(w(b)||h(S))}r.exports={printFunctionParameters:m,shouldHugFunctionParameters:C,shouldGroupFunctionParameters:d}}}),Or=te({"src/language-js/print/type-annotation.js"(e,r){"use strict";ne();var{printComments:t,printDanglingComments:s}=et(),{isNonEmptyArray:a}=Ue(),{builders:{group:n,join:u,line:i,softline:l,indent:p,align:y,ifBreak:h}}=qe(),g=qt(),{locStart:c}=ut(),{isSimpleType:f,isObjectType:F,hasLeadingOwnLineComment:_,isObjectTypePropertyAFunction:w,shouldPrintComma:E}=Ke(),{printAssignment:N}=tr(),{printFunctionParameters:x,shouldGroupFunctionParameters:I}=Lr(),{printArrayItems:P}=er();function $(b){if(f(b)||F(b))return!0;if(b.type==="UnionTypeAnnotation"||b.type==="TSUnionType"){let B=b.types.filter(M=>M.type==="VoidTypeAnnotation"||M.type==="TSVoidKeyword"||M.type==="NullLiteralTypeAnnotation"||M.type==="TSNullKeyword").length,k=b.types.some(M=>M.type==="ObjectTypeAnnotation"||M.type==="TSTypeLiteral"||M.type==="GenericTypeAnnotation"||M.type==="TSTypeReference");if(b.types.length-1===B&&k)return!0}return!1}function D(b,B,k){let M=B.semi?";":"",R=b.getValue(),q=[];return q.push("opaque type ",k("id"),k("typeParameters")),R.supertype&&q.push(": ",k("supertype")),R.impltype&&q.push(" = ",k("impltype")),q.push(M),q}function T(b,B,k){let M=B.semi?";":"",R=b.getValue(),q=[];R.declare&&q.push("declare "),q.push("type ",k("id"),k("typeParameters"));let J=R.type==="TSTypeAliasDeclaration"?"typeAnnotation":"right";return[N(b,B,k,q," =",J),M]}function m(b,B,k){let M=b.getValue(),R=b.map(k,"types"),q=[],J=!1;for(let L=0;L1&&(J=!0),q.push(" & ",L>1?p(R[L]):R[L]));return n(q)}function C(b,B,k){let M=b.getValue(),R=b.getParentNode(),q=R.type!=="TypeParameterInstantiation"&&R.type!=="TSTypeParameterInstantiation"&&R.type!=="GenericTypeAnnotation"&&R.type!=="TSTypeReference"&&R.type!=="TSTypeAssertion"&&R.type!=="TupleTypeAnnotation"&&R.type!=="TSTupleType"&&!(R.type==="FunctionTypeParam"&&!R.name&&b.getParentNode(1).this!==R)&&!((R.type==="TypeAlias"||R.type==="VariableDeclarator"||R.type==="TSTypeAliasDeclaration")&&_(B.originalText,M)),J=$(M),L=b.map(j=>{let Y=k();return J||(Y=y(2,Y)),t(j,Y,B)},"types");if(J)return u(" | ",L);let Q=q&&!_(B.originalText,M),V=[h([Q?i:"","| "]),u([i,"| "],L)];return g(b,B)?n([p(V),l]):R.type==="TupleTypeAnnotation"&&R.types.length>1||R.type==="TSTupleType"&&R.elementTypes.length>1?n([p([h(["(",l]),V]),l,h(")")]):n(q?p(V):V)}function o(b,B,k){let M=b.getValue(),R=[],q=b.getParentNode(0),J=b.getParentNode(1),L=b.getParentNode(2),Q=M.type==="TSFunctionType"||!((q.type==="ObjectTypeProperty"||q.type==="ObjectTypeInternalSlot")&&!q.variance&&!q.optional&&c(q)===c(M)||q.type==="ObjectTypeCallProperty"||L&&L.type==="DeclareFunction"),V=Q&&(q.type==="TypeAnnotation"||q.type==="TSTypeAnnotation"),j=V&&Q&&(q.type==="TypeAnnotation"||q.type==="TSTypeAnnotation")&&J.type==="ArrowFunctionExpression";w(q)&&(Q=!0,V=!0),j&&R.push("(");let Y=x(b,k,B,!1,!0),ie=M.returnType||M.predicate||M.typeAnnotation?[Q?" => ":": ",k("returnType"),k("predicate"),k("typeAnnotation")]:"",ee=I(M,ie);return R.push(ee?n(Y):Y),ie&&R.push(ie),j&&R.push(")"),n(R)}function d(b,B,k){let M=b.getValue(),R=M.type==="TSTupleType"?"elementTypes":"types",q=M[R],J=a(q),L=J?l:"";return n(["[",p([L,P(b,B,R,k)]),h(J&&E(B,"all")?",":""),s(b,B,!0),L,"]"])}function v(b,B,k){let M=b.getValue(),R=M.type==="OptionalIndexedAccessType"&&M.optional?"?.[":"[";return[k("objectType"),R,k("indexType"),"]"]}function S(b,B,k){let M=b.getValue();return[M.postfix?"":k,B("typeAnnotation"),M.postfix?k:""]}r.exports={printOpaqueType:D,printTypeAlias:T,printIntersectionType:m,printUnionType:C,printFunctionType:o,printTupleType:d,printIndexedAccessType:v,shouldHugType:$,printJSDocType:S}}}),jr=te({"src/language-js/print/type-parameters.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{builders:{join:s,line:a,hardline:n,softline:u,group:i,indent:l,ifBreak:p}}=qe(),{isTestCall:y,hasComment:h,CommentCheckFlags:g,isTSXFile:c,shouldPrintComma:f,getFunctionParameters:F,isObjectType:_,getTypeScriptMappedTypeModifier:w}=Ke(),{createGroupIdMapper:E}=Ue(),{shouldHugType:N}=Or(),{isArrowFunctionVariableDeclarator:x}=tr(),I=E("typeParameters");function P(T,m,C,o){let d=T.getValue();if(!d[o])return"";if(!Array.isArray(d[o]))return C(o);let v=T.getNode(2),S=v&&y(v),b=T.match(M=>!(M[o].length===1&&_(M[o][0])),void 0,(M,R)=>R==="typeAnnotation",M=>M.type==="Identifier",x);if(d[o].length===0||!b&&(S||d[o].length===1&&(d[o][0].type==="NullableTypeAnnotation"||N(d[o][0]))))return["<",s(", ",T.map(C,o)),$(T,m),">"];let k=d.type==="TSTypeParameterInstantiation"?"":F(d).length===1&&c(m)&&!d[o][0].constraint&&T.getParentNode().type==="ArrowFunctionExpression"?",":f(m,"all")?p(","):"";return i(["<",l([u,s([",",a],T.map(C,o))]),k,u,">"],{id:I(d)})}function $(T,m){let C=T.getValue();if(!h(C,g.Dangling))return"";let o=!h(C,g.Line),d=t(T,m,o);return o?d:[d,n]}function D(T,m,C){let o=T.getValue(),d=[o.type==="TSTypeParameter"&&o.const?"const ":""],v=T.getParentNode();return v.type==="TSMappedType"?(v.readonly&&d.push(w(v.readonly,"readonly")," "),d.push("[",C("name")),o.constraint&&d.push(" in ",C("constraint")),v.nameType&&d.push(" as ",T.callParent(()=>C("nameType"))),d.push("]"),d):(o.variance&&d.push(C("variance")),o.in&&d.push("in "),o.out&&d.push("out "),d.push(C("name")),o.bound&&d.push(": ",C("bound")),o.constraint&&d.push(" extends ",C("constraint")),o.default&&d.push(" = ",C("default")),d)}r.exports={printTypeParameter:D,printTypeParameters:P,getTypeParametersGroupId:I}}}),rr=te({"src/language-js/print/property.js"(e,r){"use strict";ne();var{printComments:t}=et(),{printString:s,printNumber:a}=Ue(),{isNumericLiteral:n,isSimpleNumber:u,isStringLiteral:i,isStringPropSafeToUnquote:l,rawText:p}=Ke(),{printAssignment:y}=tr(),h=new WeakMap;function g(f,F,_){let w=f.getNode();if(w.computed)return["[",_("key"),"]"];let E=f.getParentNode(),{key:N}=w;if(F.quoteProps==="consistent"&&!h.has(E)){let x=(E.properties||E.body||E.members).some(I=>!I.computed&&I.key&&i(I.key)&&!l(I,F));h.set(E,x)}if((N.type==="Identifier"||n(N)&&u(a(p(N)))&&String(N.value)===a(p(N))&&!(F.parser==="typescript"||F.parser==="babel-ts"))&&(F.parser==="json"||F.quoteProps==="consistent"&&h.get(E))){let x=s(JSON.stringify(N.type==="Identifier"?N.name:N.value.toString()),F);return f.call(I=>t(I,x,F),"key")}return l(w,F)&&(F.quoteProps==="as-needed"||F.quoteProps==="consistent"&&!h.get(E))?f.call(x=>t(x,/^\d/.test(N.value)?a(N.value):N.value,F),"key"):_("key")}function c(f,F,_){return f.getValue().shorthand?_("value"):y(f,F,_,g(f,F,_),":","value")}r.exports={printProperty:c,printPropertyKey:g}}}),qr=te({"src/language-js/print/function.js"(e,r){"use strict";ne();var t=Zt(),{printDanglingComments:s,printCommentsSeparately:a}=et(),n=lt(),{getNextNonSpaceNonCommentCharacterIndex:u}=Ue(),{builders:{line:i,softline:l,group:p,indent:y,ifBreak:h,hardline:g,join:c,indentIfBreak:f},utils:{removeLines:F,willBreak:_}}=qe(),{ArgExpansionBailout:w}=Qt(),{getFunctionParameters:E,hasLeadingOwnLineComment:N,isFlowAnnotationComment:x,isJsxNode:I,isTemplateOnItsOwnLine:P,shouldPrintComma:$,startsWithNoLookaheadToken:D,isBinaryish:T,isLineComment:m,hasComment:C,getComments:o,CommentCheckFlags:d,isCallLikeExpression:v,isCallExpression:S,getCallArguments:b,hasNakedLeftSide:B,getLeftSide:k}=Ke(),{locEnd:M}=ut(),{printFunctionParameters:R,shouldGroupFunctionParameters:q}=Lr(),{printPropertyKey:J}=rr(),{printFunctionTypeParameters:L}=ct();function Q(U,Z,se,fe){let ge=U.getValue(),he=!1;if((ge.type==="FunctionDeclaration"||ge.type==="FunctionExpression")&&fe&&fe.expandLastArg){let Pe=U.getParentNode();S(Pe)&&b(Pe).length>1&&(he=!0)}let we=[];ge.type==="TSDeclareFunction"&&ge.declare&&we.push("declare "),ge.async&&we.push("async "),ge.generator?we.push("function* "):we.push("function "),ge.id&&we.push(Z("id"));let ke=R(U,Z,se,he),Re=K(U,Z,se),Ne=q(ge,Re);return we.push(L(U,se,Z),p([Ne?p(ke):ke,Re]),ge.body?" ":"",Z("body")),se.semi&&(ge.declare||!ge.body)&&we.push(";"),we}function V(U,Z,se){let fe=U.getNode(),{kind:ge}=fe,he=fe.value||fe,we=[];return!ge||ge==="init"||ge==="method"||ge==="constructor"?he.async&&we.push("async "):(t.ok(ge==="get"||ge==="set"),we.push(ge," ")),he.generator&&we.push("*"),we.push(J(U,Z,se),fe.optional||fe.key.optional?"?":""),fe===he?we.push(j(U,Z,se)):he.type==="FunctionExpression"?we.push(U.call(ke=>j(ke,Z,se),"value")):we.push(se("value")),we}function j(U,Z,se){let fe=U.getNode(),ge=R(U,se,Z),he=K(U,se,Z),we=q(fe,he),ke=[L(U,Z,se),p([we?p(ge):ge,he])];return fe.body?ke.push(" ",se("body")):ke.push(Z.semi?";":""),ke}function Y(U,Z,se,fe){let ge=U.getValue(),he=[];if(ge.async&&he.push("async "),W(U,Z))he.push(se(["params",0]));else{let ke=fe&&(fe.expandLastArg||fe.expandFirstArg),Re=K(U,se,Z);if(ke){if(_(Re))throw new w;Re=p(F(Re))}he.push(p([R(U,se,Z,ke,!0),Re]))}let we=s(U,Z,!0,ke=>{let Re=u(Z.originalText,ke,M);return Re!==!1&&Z.originalText.slice(Re,Re+2)==="=>"});return we&&he.push(" ",we),he}function ie(U,Z,se,fe,ge,he){let we=U.getName(),ke=U.getParentNode(),Re=v(ke)&&we==="callee",Ne=Boolean(Z&&Z.assignmentLayout),Pe=he.body.type!=="BlockStatement"&&he.body.type!=="ObjectExpression"&&he.body.type!=="SequenceExpression",oe=Re&&Pe||Z&&Z.assignmentLayout==="chain-tail-arrow-chain",H=Symbol("arrow-chain");return he.body.type==="SequenceExpression"&&(ge=p(["(",y([l,ge]),l,")"])),p([p(y([Re||Ne?l:"",p(c([" =>",i],se),{shouldBreak:fe})]),{id:H,shouldBreak:oe})," =>",f(Pe?y([i,ge]):[" ",ge],{groupId:H}),Re?h(l,"",{groupId:H}):""])}function ee(U,Z,se,fe){let ge=U.getValue(),he=[],we=[],ke=!1;if(function H(){let pe=Y(U,Z,se,fe);if(he.length===0)he.push(pe);else{let{leading:X,trailing:le}=a(U,Z);he.push([X,pe]),we.unshift(le)}ke=ke||ge.returnType&&E(ge).length>0||ge.typeParameters||E(ge).some(X=>X.type!=="Identifier"),ge.body.type!=="ArrowFunctionExpression"||fe&&fe.expandLastArg?we.unshift(se("body",fe)):(ge=ge.body,U.call(H,"body"))}(),he.length>1)return ie(U,fe,he,ke,we,ge);let Re=he;if(Re.push(" =>"),!N(Z.originalText,ge.body)&&(ge.body.type==="ArrayExpression"||ge.body.type==="ObjectExpression"||ge.body.type==="BlockStatement"||I(ge.body)||P(ge.body,Z.originalText)||ge.body.type==="ArrowFunctionExpression"||ge.body.type==="DoExpression"))return p([...Re," ",we]);if(ge.body.type==="SequenceExpression")return p([...Re,p([" (",y([l,we]),l,")"])]);let Ne=(fe&&fe.expandLastArg||U.getParentNode().type==="JSXExpressionContainer")&&!C(ge),Pe=fe&&fe.expandLastArg&&$(Z,"all"),oe=ge.body.type==="ConditionalExpression"&&!D(ge.body,H=>H.type==="ObjectExpression");return p([...Re,p([y([i,oe?h("","("):"",we,oe?h("",")"):""]),Ne?[h(Pe?",":""),l]:""])])}function ce(U){let Z=E(U);return Z.length===1&&!U.typeParameters&&!C(U,d.Dangling)&&Z[0].type==="Identifier"&&!Z[0].typeAnnotation&&!C(Z[0])&&!Z[0].optional&&!U.predicate&&!U.returnType}function W(U,Z){if(Z.arrowParens==="always")return!1;if(Z.arrowParens==="avoid"){let se=U.getValue();return ce(se)}return!1}function K(U,Z,se){let fe=U.getValue(),ge=Z("returnType");if(fe.returnType&&x(se.originalText,fe.returnType))return[" /*: ",ge," */"];let he=[ge];return fe.returnType&&fe.returnType.typeAnnotation&&he.unshift(": "),fe.predicate&&he.push(fe.returnType?" ":": ",Z("predicate")),he}function de(U,Z,se){let fe=U.getValue(),ge=Z.semi?";":"",he=[];fe.argument&&(z(Z,fe.argument)?he.push([" (",y([g,se("argument")]),g,")"]):T(fe.argument)||fe.argument.type==="SequenceExpression"?he.push(p([h(" ("," "),y([l,se("argument")]),l,h(")")])):he.push(" ",se("argument")));let we=o(fe),ke=n(we),Re=ke&&m(ke);return Re&&he.push(ge),C(fe,d.Dangling)&&he.push(" ",s(U,Z,!0)),Re||he.push(ge),he}function ue(U,Z,se){return["return",de(U,Z,se)]}function Fe(U,Z,se){return["throw",de(U,Z,se)]}function z(U,Z){if(N(U.originalText,Z))return!0;if(B(Z)){let se=Z,fe;for(;fe=k(se);)if(se=fe,N(U.originalText,se))return!0}return!1}r.exports={printFunction:Q,printArrowFunction:ee,printMethod:V,printReturnStatement:ue,printThrowStatement:Fe,printMethodInternal:j,shouldPrintParamsWithoutParens:W}}}),nu=te({"src/language-js/print/decorators.js"(e,r){"use strict";ne();var{isNonEmptyArray:t,hasNewline:s}=Ue(),{builders:{line:a,hardline:n,join:u,breakParent:i,group:l}}=qe(),{locStart:p,locEnd:y}=ut(),{getParentExportDeclaration:h}=Ke();function g(w,E,N){let x=w.getValue();return l([u(a,w.map(N,"decorators")),F(x,E)?n:a])}function c(w,E,N){return[u(n,w.map(N,"declaration","decorators")),n]}function f(w,E,N){let x=w.getValue(),{decorators:I}=x;if(!t(I)||_(w.getParentNode()))return;let P=x.type==="ClassExpression"||x.type==="ClassDeclaration"||F(x,E);return[h(w)?n:P?i:"",u(a,w.map(N,"decorators")),a]}function F(w,E){return w.decorators.some(N=>s(E.originalText,y(N)))}function _(w){if(w.type!=="ExportDefaultDeclaration"&&w.type!=="ExportNamedDeclaration"&&w.type!=="DeclareExportDeclaration")return!1;let E=w.declaration&&w.declaration.decorators;return t(E)&&p(w)===p(E[0])}r.exports={printDecorators:f,printClassMemberDecorators:g,printDecoratorsBeforeExport:c,hasDecoratorsBeforeExport:_}}}),nr=te({"src/language-js/print/class.js"(e,r){"use strict";ne();var{isNonEmptyArray:t,createGroupIdMapper:s}=Ue(),{printComments:a,printDanglingComments:n}=et(),{builders:{join:u,line:i,hardline:l,softline:p,group:y,indent:h,ifBreak:g}}=qe(),{hasComment:c,CommentCheckFlags:f}=Ke(),{getTypeParametersGroupId:F}=jr(),{printMethod:_}=qr(),{printOptionalToken:w,printTypeAnnotation:E,printDefiniteToken:N}=ct(),{printPropertyKey:x}=rr(),{printAssignment:I}=tr(),{printClassMemberDecorators:P}=nu();function $(b,B,k){let M=b.getValue(),R=[];M.declare&&R.push("declare "),M.abstract&&R.push("abstract "),R.push("class");let q=M.id&&c(M.id,f.Trailing)||M.typeParameters&&c(M.typeParameters,f.Trailing)||M.superClass&&c(M.superClass)||t(M.extends)||t(M.mixins)||t(M.implements),J=[],L=[];if(M.id&&J.push(" ",k("id")),J.push(k("typeParameters")),M.superClass){let Q=[d(b,B,k),k("superTypeParameters")],V=b.call(j=>["extends ",a(j,Q,B)],"superClass");q?L.push(i,y(V)):L.push(" ",V)}else L.push(o(b,B,k,"extends"));if(L.push(o(b,B,k,"mixins"),o(b,B,k,"implements")),q){let Q;C(M)?Q=[...J,h(L)]:Q=h([...J,L]),R.push(y(Q,{id:D(M)}))}else R.push(...J,...L);return R.push(" ",k("body")),R}var D=s("heritageGroup");function T(b){return g(l,"",{groupId:D(b)})}function m(b){return["superClass","extends","mixins","implements"].filter(B=>Boolean(b[B])).length>1}function C(b){return b.typeParameters&&!c(b.typeParameters,f.Trailing|f.Line)&&!m(b)}function o(b,B,k,M){let R=b.getValue();if(!t(R[M]))return"";let q=n(b,B,!0,J=>{let{marker:L}=J;return L===M});return[C(R)?g(" ",i,{groupId:F(R.typeParameters)}):i,q,q&&l,M,y(h([i,u([",",i],b.map(k,M))]))]}function d(b,B,k){let M=k("superClass");return b.getParentNode().type==="AssignmentExpression"?y(g(["(",h([p,M]),p,")"],M)):M}function v(b,B,k){let M=b.getValue(),R=[];return t(M.decorators)&&R.push(P(b,B,k)),M.accessibility&&R.push(M.accessibility+" "),M.readonly&&R.push("readonly "),M.declare&&R.push("declare "),M.static&&R.push("static "),(M.type==="TSAbstractMethodDefinition"||M.abstract)&&R.push("abstract "),M.override&&R.push("override "),R.push(_(b,B,k)),R}function S(b,B,k){let M=b.getValue(),R=[],q=B.semi?";":"";return t(M.decorators)&&R.push(P(b,B,k)),M.accessibility&&R.push(M.accessibility+" "),M.declare&&R.push("declare "),M.static&&R.push("static "),(M.type==="TSAbstractPropertyDefinition"||M.type==="TSAbstractAccessorProperty"||M.abstract)&&R.push("abstract "),M.override&&R.push("override "),M.readonly&&R.push("readonly "),M.variance&&R.push(k("variance")),(M.type==="ClassAccessorProperty"||M.type==="AccessorProperty"||M.type==="TSAbstractAccessorProperty")&&R.push("accessor "),R.push(x(b,B,k),w(b),N(b),E(b,B,k)),[I(b,B,k,R," =","value"),q]}r.exports={printClass:$,printClassMethod:v,printClassProperty:S,printHardlineAfterHeritage:T}}}),bo=te({"src/language-js/print/interface.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{join:s,line:a,group:n,indent:u,ifBreak:i}}=qe(),{hasComment:l,identity:p,CommentCheckFlags:y}=Ke(),{getTypeParametersGroupId:h}=jr(),{printTypeScriptModifiers:g}=ct();function c(f,F,_){let w=f.getValue(),E=[];w.declare&&E.push("declare "),w.type==="TSInterfaceDeclaration"&&E.push(w.abstract?"abstract ":"",g(f,F,_)),E.push("interface");let N=[],x=[];w.type!=="InterfaceTypeAnnotation"&&N.push(" ",_("id"),_("typeParameters"));let I=w.typeParameters&&!l(w.typeParameters,y.Trailing|y.Line);return t(w.extends)&&x.push(I?i(" ",a,{groupId:h(w.typeParameters)}):a,"extends ",(w.extends.length===1?p:u)(s([",",a],f.map(_,"extends")))),w.id&&l(w.id,y.Trailing)||t(w.extends)?I?E.push(n([...N,u(x)])):E.push(n(u([...N,...x]))):E.push(...N,...x),E.push(" ",_("body")),n(E)}r.exports={printInterface:c}}}),To=te({"src/language-js/print/module.js"(e,r){"use strict";ne();var{isNonEmptyArray:t}=Ue(),{builders:{softline:s,group:a,indent:n,join:u,line:i,ifBreak:l,hardline:p}}=qe(),{printDanglingComments:y}=et(),{hasComment:h,CommentCheckFlags:g,shouldPrintComma:c,needsHardlineAfterDanglingComment:f,isStringLiteral:F,rawText:_}=Ke(),{locStart:w,hasSameLoc:E}=ut(),{hasDecoratorsBeforeExport:N,printDecoratorsBeforeExport:x}=nu();function I(S,b,B){let k=S.getValue(),M=b.semi?";":"",R=[],{importKind:q}=k;return R.push("import"),q&&q!=="value"&&R.push(" ",q),R.push(m(S,b,B),T(S,b,B),o(S,b,B),M),R}function P(S,b,B){let k=S.getValue(),M=[];N(k)&&M.push(x(S,b,B));let{type:R,exportKind:q,declaration:J}=k;return M.push("export"),(k.default||R==="ExportDefaultDeclaration")&&M.push(" default"),h(k,g.Dangling)&&(M.push(" ",y(S,b,!0)),f(k)&&M.push(p)),J?M.push(" ",B("declaration")):M.push(q==="type"?" type":"",m(S,b,B),T(S,b,B),o(S,b,B)),D(k,b)&&M.push(";"),M}function $(S,b,B){let k=S.getValue(),M=b.semi?";":"",R=[],{exportKind:q,exported:J}=k;return R.push("export"),q==="type"&&R.push(" type"),R.push(" *"),J&&R.push(" as ",B("exported")),R.push(T(S,b,B),o(S,b,B),M),R}function D(S,b){if(!b.semi)return!1;let{type:B,declaration:k}=S,M=S.default||B==="ExportDefaultDeclaration";if(!k)return!0;let{type:R}=k;return!!(M&&R!=="ClassDeclaration"&&R!=="FunctionDeclaration"&&R!=="TSInterfaceDeclaration"&&R!=="DeclareClass"&&R!=="DeclareFunction"&&R!=="TSDeclareFunction"&&R!=="EnumDeclaration")}function T(S,b,B){let k=S.getValue();if(!k.source)return"";let M=[];return C(k,b)||M.push(" from"),M.push(" ",B("source")),M}function m(S,b,B){let k=S.getValue();if(C(k,b))return"";let M=[" "];if(t(k.specifiers)){let R=[],q=[];S.each(()=>{let J=S.getValue().type;if(J==="ExportNamespaceSpecifier"||J==="ExportDefaultSpecifier"||J==="ImportNamespaceSpecifier"||J==="ImportDefaultSpecifier")R.push(B());else if(J==="ExportSpecifier"||J==="ImportSpecifier")q.push(B());else throw new Error(`Unknown specifier type ${JSON.stringify(J)}`)},"specifiers"),M.push(u(", ",R)),q.length>0&&(R.length>0&&M.push(", "),q.length>1||R.length>0||k.specifiers.some(L=>h(L))?M.push(a(["{",n([b.bracketSpacing?i:s,u([",",i],q)]),l(c(b)?",":""),b.bracketSpacing?i:s,"}"])):M.push(["{",b.bracketSpacing?" ":"",...q,b.bracketSpacing?" ":"","}"]))}else M.push("{}");return M}function C(S,b){let{type:B,importKind:k,source:M,specifiers:R}=S;return B!=="ImportDeclaration"||t(R)||k==="type"?!1:!/{\s*}/.test(b.originalText.slice(w(S),w(M)))}function o(S,b,B){let k=S.getNode();return t(k.assertions)?[" assert {",b.bracketSpacing?" ":"",u(", ",S.map(B,"assertions")),b.bracketSpacing?" ":"","}"]:""}function d(S,b,B){let k=S.getNode(),{type:M}=k,R=[],q=M==="ImportSpecifier"?k.importKind:k.exportKind;q&&q!=="value"&&R.push(q," ");let J=M.startsWith("Import"),L=J?"imported":"local",Q=J?"local":"exported",V=k[L],j=k[Q],Y="",ie="";return M==="ExportNamespaceSpecifier"||M==="ImportNamespaceSpecifier"?Y="*":V&&(Y=B(L)),j&&!v(k)&&(ie=B(Q)),R.push(Y,Y&&ie?" as ":"",ie),R}function v(S){if(S.type!=="ImportSpecifier"&&S.type!=="ExportSpecifier")return!1;let{local:b,[S.type==="ImportSpecifier"?"imported":"exported"]:B}=S;if(b.type!==B.type||!E(b,B))return!1;if(F(b))return b.value===B.value&&_(b)===_(B);switch(b.type){case"Identifier":return b.name===B.name;default:return!1}}r.exports={printImportDeclaration:I,printExportDeclaration:P,printExportAllDeclaration:$,printModuleSpecifier:d}}}),uu=te({"src/language-js/print/object.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{builders:{line:s,softline:a,group:n,indent:u,ifBreak:i,hardline:l}}=qe(),{getLast:p,hasNewlineInRange:y,hasNewline:h,isNonEmptyArray:g}=Ue(),{shouldPrintComma:c,hasComment:f,getComments:F,CommentCheckFlags:_,isNextLineEmpty:w}=Ke(),{locStart:E,locEnd:N}=ut(),{printOptionalToken:x,printTypeAnnotation:I}=ct(),{shouldHugFunctionParameters:P}=Lr(),{shouldHugType:$}=Or(),{printHardlineAfterHeritage:D}=nr();function T(m,C,o){let d=C.semi?";":"",v=m.getValue(),S;v.type==="TSTypeLiteral"?S="members":v.type==="TSInterfaceBody"?S="body":S="properties";let b=v.type==="ObjectTypeAnnotation",B=[S];b&&B.push("indexers","callProperties","internalSlots");let k=B.map(W=>v[W][0]).sort((W,K)=>E(W)-E(K))[0],M=m.getParentNode(0),R=b&&M&&(M.type==="InterfaceDeclaration"||M.type==="DeclareInterface"||M.type==="DeclareClass")&&m.getName()==="body",q=v.type==="TSInterfaceBody"||R||v.type==="ObjectPattern"&&M.type!=="FunctionDeclaration"&&M.type!=="FunctionExpression"&&M.type!=="ArrowFunctionExpression"&&M.type!=="ObjectMethod"&&M.type!=="ClassMethod"&&M.type!=="ClassPrivateMethod"&&M.type!=="AssignmentPattern"&&M.type!=="CatchClause"&&v.properties.some(W=>W.value&&(W.value.type==="ObjectPattern"||W.value.type==="ArrayPattern"))||v.type!=="ObjectPattern"&&k&&y(C.originalText,E(v),E(k)),J=R?";":v.type==="TSInterfaceBody"||v.type==="TSTypeLiteral"?i(d,";"):",",L=v.type==="RecordExpression"?"#{":v.exact?"{|":"{",Q=v.exact?"|}":"}",V=[];for(let W of B)m.each(K=>{let de=K.getValue();V.push({node:de,printed:o(),loc:E(de)})},W);B.length>1&&V.sort((W,K)=>W.loc-K.loc);let j=[],Y=V.map(W=>{let K=[...j,n(W.printed)];return j=[J,s],(W.node.type==="TSPropertySignature"||W.node.type==="TSMethodSignature"||W.node.type==="TSConstructSignatureDeclaration")&&f(W.node,_.PrettierIgnore)&&j.shift(),w(W.node,C)&&j.push(l),K});if(v.inexact){let W;if(f(v,_.Dangling)){let K=f(v,_.Line);W=[t(m,C,!0),K||h(C.originalText,N(p(F(v))))?l:s,"..."]}else W=["..."];Y.push([...j,...W])}let ie=p(v[S]),ee=!(v.inexact||ie&&ie.type==="RestElement"||ie&&(ie.type==="TSPropertySignature"||ie.type==="TSCallSignatureDeclaration"||ie.type==="TSMethodSignature"||ie.type==="TSConstructSignatureDeclaration")&&f(ie,_.PrettierIgnore)),ce;if(Y.length===0){if(!f(v,_.Dangling))return[L,Q,I(m,C,o)];ce=n([L,t(m,C),a,Q,x(m),I(m,C,o)])}else ce=[R&&g(v.properties)?D(M):"",L,u([C.bracketSpacing?s:a,...Y]),i(ee&&(J!==","||c(C))?J:""),C.bracketSpacing?s:a,Q,x(m),I(m,C,o)];return m.match(W=>W.type==="ObjectPattern"&&!W.decorators,(W,K,de)=>P(W)&&(K==="params"||K==="parameters"||K==="this"||K==="rest")&&de===0)||m.match($,(W,K)=>K==="typeAnnotation",(W,K)=>K==="typeAnnotation",(W,K,de)=>P(W)&&(K==="params"||K==="parameters"||K==="this"||K==="rest")&&de===0)||!q&&m.match(W=>W.type==="ObjectPattern",W=>W.type==="AssignmentExpression"||W.type==="VariableDeclarator")?ce:n(ce,{shouldBreak:q})}r.exports={printObject:T}}}),dd=te({"src/language-js/print/flow.js"(e,r){"use strict";ne();var t=Zt(),{printDanglingComments:s}=et(),{printString:a,printNumber:n}=Ue(),{builders:{hardline:u,softline:i,group:l,indent:p}}=qe(),{getParentExportDeclaration:y,isFunctionNotation:h,isGetterOrSetter:g,rawText:c,shouldPrintComma:f}=Ke(),{locStart:F,locEnd:_}=ut(),{replaceTextEndOfLine:w}=Yt(),{printClass:E}=nr(),{printOpaqueType:N,printTypeAlias:x,printIntersectionType:I,printUnionType:P,printFunctionType:$,printTupleType:D,printIndexedAccessType:T}=Or(),{printInterface:m}=bo(),{printTypeParameter:C,printTypeParameters:o}=jr(),{printExportDeclaration:d,printExportAllDeclaration:v}=To(),{printArrayItems:S}=er(),{printObject:b}=uu(),{printPropertyKey:B}=rr(),{printOptionalToken:k,printTypeAnnotation:M,printRestSpread:R}=ct();function q(L,Q,V){let j=L.getValue(),Y=Q.semi?";":"",ie=[];switch(j.type){case"DeclareClass":return J(L,E(L,Q,V));case"DeclareFunction":return J(L,["function ",V("id"),j.predicate?" ":"",V("predicate"),Y]);case"DeclareModule":return J(L,["module ",V("id")," ",V("body")]);case"DeclareModuleExports":return J(L,["module.exports",": ",V("typeAnnotation"),Y]);case"DeclareVariable":return J(L,["var ",V("id"),Y]);case"DeclareOpaqueType":return J(L,N(L,Q,V));case"DeclareInterface":return J(L,m(L,Q,V));case"DeclareTypeAlias":return J(L,x(L,Q,V));case"DeclareExportDeclaration":return J(L,d(L,Q,V));case"DeclareExportAllDeclaration":return J(L,v(L,Q,V));case"OpaqueType":return N(L,Q,V);case"TypeAlias":return x(L,Q,V);case"IntersectionTypeAnnotation":return I(L,Q,V);case"UnionTypeAnnotation":return P(L,Q,V);case"FunctionTypeAnnotation":return $(L,Q,V);case"TupleTypeAnnotation":return D(L,Q,V);case"GenericTypeAnnotation":return[V("id"),o(L,Q,V,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return T(L,Q,V);case"TypeAnnotation":return V("typeAnnotation");case"TypeParameter":return C(L,Q,V);case"TypeofTypeAnnotation":return["typeof ",V("argument")];case"ExistsTypeAnnotation":return"*";case"EmptyTypeAnnotation":return"empty";case"MixedTypeAnnotation":return"mixed";case"ArrayTypeAnnotation":return[V("elementType"),"[]"];case"BooleanLiteralTypeAnnotation":return String(j.value);case"EnumDeclaration":return["enum ",V("id")," ",V("body")];case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":{if(j.type==="EnumSymbolBody"||j.explicitType){let ee=null;switch(j.type){case"EnumBooleanBody":ee="boolean";break;case"EnumNumberBody":ee="number";break;case"EnumStringBody":ee="string";break;case"EnumSymbolBody":ee="symbol";break}ie.push("of ",ee," ")}if(j.members.length===0&&!j.hasUnknownMembers)ie.push(l(["{",s(L,Q),i,"}"]));else{let ee=j.members.length>0?[u,S(L,Q,"members",V),j.hasUnknownMembers||f(Q)?",":""]:[];ie.push(l(["{",p([...ee,...j.hasUnknownMembers?[u,"..."]:[]]),s(L,Q,!0),u,"}"]))}return ie}case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return[V("id")," = ",typeof j.init=="object"?V("init"):String(j.init)];case"EnumDefaultedMember":return V("id");case"FunctionTypeParam":{let ee=j.name?V("name"):L.getParentNode().this===j?"this":"";return[ee,k(L),ee?": ":"",V("typeAnnotation")]}case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return m(L,Q,V);case"ClassImplements":case"InterfaceExtends":return[V("id"),V("typeParameters")];case"NullableTypeAnnotation":return["?",V("typeAnnotation")];case"Variance":{let{kind:ee}=j;return t.ok(ee==="plus"||ee==="minus"),ee==="plus"?"+":"-"}case"ObjectTypeCallProperty":return j.static&&ie.push("static "),ie.push(V("value")),ie;case"ObjectTypeIndexer":return[j.static?"static ":"",j.variance?V("variance"):"","[",V("id"),j.id?": ":"",V("key"),"]: ",V("value")];case"ObjectTypeProperty":{let ee="";return j.proto?ee="proto ":j.static&&(ee="static "),[ee,g(j)?j.kind+" ":"",j.variance?V("variance"):"",B(L,Q,V),k(L),h(j)?"":": ",V("value")]}case"ObjectTypeAnnotation":return b(L,Q,V);case"ObjectTypeInternalSlot":return[j.static?"static ":"","[[",V("id"),"]]",k(L),j.method?"":": ",V("value")];case"ObjectTypeSpreadProperty":return R(L,Q,V);case"QualifiedTypeofIdentifier":case"QualifiedTypeIdentifier":return[V("qualification"),".",V("id")];case"StringLiteralTypeAnnotation":return w(a(c(j),Q));case"NumberLiteralTypeAnnotation":t.strictEqual(typeof j.value,"number");case"BigIntLiteralTypeAnnotation":return j.extra?n(j.extra.raw):n(j.raw);case"TypeCastExpression":return["(",V("expression"),M(L,Q,V),")"];case"TypeParameterDeclaration":case"TypeParameterInstantiation":{let ee=o(L,Q,V,"params");if(Q.parser==="flow"){let ce=F(j),W=_(j),K=Q.originalText.lastIndexOf("/*",ce),de=Q.originalText.indexOf("*/",W);if(K!==-1&&de!==-1){let ue=Q.originalText.slice(K+2,de).trim();if(ue.startsWith("::")&&!ue.includes("/*")&&!ue.includes("*/"))return["/*:: ",ee," */"]}}return ee}case"InferredPredicate":return"%checks";case"DeclaredPredicate":return["%checks(",V("value"),")"];case"AnyTypeAnnotation":return"any";case"BooleanTypeAnnotation":return"boolean";case"BigIntTypeAnnotation":return"bigint";case"NullLiteralTypeAnnotation":return"null";case"NumberTypeAnnotation":return"number";case"SymbolTypeAnnotation":return"symbol";case"StringTypeAnnotation":return"string";case"VoidTypeAnnotation":return"void";case"ThisTypeAnnotation":return"this";case"Node":case"Printable":case"SourceLocation":case"Position":case"Statement":case"Function":case"Pattern":case"Expression":case"Declaration":case"Specifier":case"NamedSpecifier":case"Comment":case"MemberTypeAnnotation":case"Type":throw new Error("unprintable type: "+JSON.stringify(j.type))}}function J(L,Q){let V=y(L);return V?(t.strictEqual(V.type,"DeclareExportDeclaration"),Q):["declare ",Q]}r.exports={printFlow:q}}}),gd=te({"src/language-js/utils/is-ts-keyword-type.js"(e,r){"use strict";ne();function t(s){let{type:a}=s;return a.startsWith("TS")&&a.endsWith("Keyword")}r.exports=t}}),Bo=te({"src/language-js/print/ternary.js"(e,r){"use strict";ne();var{hasNewlineInRange:t}=Ue(),{isJsxNode:s,getComments:a,isCallExpression:n,isMemberExpression:u,isTSTypeExpression:i}=Ke(),{locStart:l,locEnd:p}=ut(),y=Pt(),{builders:{line:h,softline:g,group:c,indent:f,align:F,ifBreak:_,dedent:w,breakParent:E}}=qe();function N(D){let T=[D];for(let m=0;mR[ue]===C),J=R.type===C.type&&!q,L,Q,V=0;do Q=L||C,L=D.getParentNode(V),V++;while(L&&L.type===C.type&&S.every(ue=>L[ue]!==Q));let j=L||R,Y=Q;if(o&&(s(C[S[0]])||s(b)||s(B)||N(Y))){M=!0,J=!0;let ue=z=>[_("("),f([g,z]),g,_(")")],Fe=z=>z.type==="NullLiteral"||z.type==="Literal"&&z.value===null||z.type==="Identifier"&&z.name==="undefined";k.push(" ? ",Fe(b)?m(d):ue(m(d))," : ",B.type===C.type||Fe(B)?m(v):ue(m(v)))}else{let ue=[h,"? ",b.type===C.type?_("","("):"",F(2,m(d)),b.type===C.type?_("",")"):"",h,": ",B.type===C.type?m(v):F(2,m(v))];k.push(R.type!==C.type||R[v]===C||q?ue:T.useTabs?w(f(ue)):F(Math.max(0,T.tabWidth-2),ue))}let ee=[...S.map(ue=>a(C[ue])),a(b),a(B)].flat().some(ue=>y(ue)&&t(T.originalText,l(ue),p(ue))),ce=ue=>R===j?c(ue,{shouldBreak:ee}):ee?[ue,E]:ue,W=!M&&(u(R)||R.type==="NGPipeExpression"&&R.left===C)&&!R.computed,K=P(D),de=ce([x(D,T,m),J?k:f(k),o&&W&&!K?g:""]);return q||K?c([f([g,de]),g]):de}r.exports={printTernary:$}}}),No=te({"src/language-js/print/statement.js"(e,r){"use strict";ne();var{builders:{hardline:t}}=qe(),s=qt(),{getLeftSidePathName:a,hasNakedLeftSide:n,isJsxNode:u,isTheOnlyJsxElementInMarkdown:i,hasComment:l,CommentCheckFlags:p,isNextLineEmpty:y}=Ke(),{shouldPrintParamsWithoutParens:h}=qr();function g(x,I,P,$){let D=x.getValue(),T=[],m=D.type==="ClassBody",C=c(D[$]);return x.each((o,d,v)=>{let S=o.getValue();if(S.type==="EmptyStatement")return;let b=P();!I.semi&&!m&&!i(I,o)&&f(o,I)?l(S,p.Leading)?T.push(P([],{needsSemi:!0})):T.push(";",b):T.push(b),!I.semi&&m&&E(S)&&N(S,v[d+1])&&T.push(";"),S!==C&&(T.push(t),y(S,I)&&T.push(t))},$),T}function c(x){for(let I=x.length-1;I>=0;I--){let P=x[I];if(P.type!=="EmptyStatement")return P}}function f(x,I){return x.getNode().type!=="ExpressionStatement"?!1:x.call($=>F($,I),"expression")}function F(x,I){let P=x.getValue();switch(P.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":{if(!h(x,I))return!0;break}case"UnaryExpression":{let{prefix:$,operator:D}=P;if($&&(D==="+"||D==="-"))return!0;break}case"BindExpression":{if(!P.object)return!0;break}case"Literal":{if(P.regex)return!0;break}default:if(u(P))return!0}return s(x,I)?!0:n(P)?x.call($=>F($,I),...a(x,P)):!1}function _(x,I,P){return g(x,I,P,"body")}function w(x,I,P){return g(x,I,P,"consequent")}var E=x=>{let{type:I}=x;return I==="ClassProperty"||I==="PropertyDefinition"||I==="ClassPrivateProperty"||I==="ClassAccessorProperty"||I==="AccessorProperty"||I==="TSAbstractPropertyDefinition"||I==="TSAbstractAccessorProperty"};function N(x,I){let{type:P,name:$}=x.key;if(!x.computed&&P==="Identifier"&&($==="static"||$==="get"||$==="set"||$==="accessor")&&!x.value&&!x.typeAnnotation)return!0;if(!I||I.static||I.accessibility)return!1;if(!I.computed){let D=I.key&&I.key.name;if(D==="in"||D==="instanceof")return!0}if(E(I)&&I.variance&&!I.static&&!I.declare)return!0;switch(I.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractPropertyDefinition":return I.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((I.value?I.value.async:I.async)||I.kind==="get"||I.kind==="set")return!1;let T=I.value?I.value.generator:I.generator;return!!(I.computed||T)}case"TSIndexSignature":return!0}return!1}r.exports={printBody:_,printSwitchCaseConsequent:w}}}),wo=te({"src/language-js/print/block.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{isNonEmptyArray:s}=Ue(),{builders:{hardline:a,indent:n}}=qe(),{hasComment:u,CommentCheckFlags:i,isNextLineEmpty:l}=Ke(),{printHardlineAfterHeritage:p}=nr(),{printBody:y}=No();function h(c,f,F){let _=c.getValue(),w=[];if(_.type==="StaticBlock"&&w.push("static "),_.type==="ClassBody"&&s(_.body)){let N=c.getParentNode();w.push(p(N))}w.push("{");let E=g(c,f,F);if(E)w.push(n([a,E]),a);else{let N=c.getParentNode(),x=c.getParentNode(1);N.type==="ArrowFunctionExpression"||N.type==="FunctionExpression"||N.type==="FunctionDeclaration"||N.type==="ObjectMethod"||N.type==="ClassMethod"||N.type==="ClassPrivateMethod"||N.type==="ForStatement"||N.type==="WhileStatement"||N.type==="DoWhileStatement"||N.type==="DoExpression"||N.type==="CatchClause"&&!x.finalizer||N.type==="TSModuleDeclaration"||N.type==="TSDeclareFunction"||_.type==="StaticBlock"||_.type==="ClassBody"||w.push(a)}return w.push("}"),w}function g(c,f,F){let _=c.getValue(),w=s(_.directives),E=_.body.some(I=>I.type!=="EmptyStatement"),N=u(_,i.Dangling);if(!w&&!E&&!N)return"";let x=[];if(w&&c.each((I,P,$)=>{x.push(F()),(P<$.length-1||E||N)&&(x.push(a),l(I.getValue(),f)&&x.push(a))},"directives"),E&&x.push(y(c,f,F)),N&&x.push(t(c,f,!0)),_.type==="Program"){let I=c.getParentNode();(!I||I.type!=="ModuleExpression")&&x.push(a)}return x}r.exports={printBlock:h,printBlockBody:g}}}),yd=te({"src/language-js/print/typescript.js"(e,r){"use strict";ne();var{printDanglingComments:t}=et(),{hasNewlineInRange:s}=Ue(),{builders:{join:a,line:n,hardline:u,softline:i,group:l,indent:p,conditionalGroup:y,ifBreak:h}}=qe(),{isStringLiteral:g,getTypeScriptMappedTypeModifier:c,shouldPrintComma:f,isCallExpression:F,isMemberExpression:_}=Ke(),w=gd(),{locStart:E,locEnd:N}=ut(),{printOptionalToken:x,printTypeScriptModifiers:I}=ct(),{printTernary:P}=Bo(),{printFunctionParameters:$,shouldGroupFunctionParameters:D}=Lr(),{printTemplateLiteral:T}=jt(),{printArrayItems:m}=er(),{printObject:C}=uu(),{printClassProperty:o,printClassMethod:d}=nr(),{printTypeParameter:v,printTypeParameters:S}=jr(),{printPropertyKey:b}=rr(),{printFunction:B,printMethodInternal:k}=qr(),{printInterface:M}=bo(),{printBlock:R}=wo(),{printTypeAlias:q,printIntersectionType:J,printUnionType:L,printFunctionType:Q,printTupleType:V,printIndexedAccessType:j,printJSDocType:Y}=Or();function ie(ee,ce,W){let K=ee.getValue();if(!K.type.startsWith("TS"))return;if(w(K))return K.type.slice(2,-7).toLowerCase();let de=ce.semi?";":"",ue=[];switch(K.type){case"TSThisType":return"this";case"TSTypeAssertion":{let Fe=!(K.expression.type==="ArrayExpression"||K.expression.type==="ObjectExpression"),z=l(["<",p([i,W("typeAnnotation")]),i,">"]),U=[h("("),p([i,W("expression")]),i,h(")")];return Fe?y([[z,W("expression")],[z,l(U,{shouldBreak:!0})],[z,W("expression")]]):l([z,W("expression")])}case"TSDeclareFunction":return B(ee,W,ce);case"TSExportAssignment":return["export = ",W("expression"),de];case"TSModuleBlock":return R(ee,ce,W);case"TSInterfaceBody":case"TSTypeLiteral":return C(ee,ce,W);case"TSTypeAliasDeclaration":return q(ee,ce,W);case"TSQualifiedName":return a(".",[W("left"),W("right")]);case"TSAbstractMethodDefinition":case"TSDeclareMethod":return d(ee,ce,W);case"TSAbstractAccessorProperty":case"TSAbstractPropertyDefinition":return o(ee,ce,W);case"TSInterfaceHeritage":case"TSExpressionWithTypeArguments":return ue.push(W("expression")),K.typeParameters&&ue.push(W("typeParameters")),ue;case"TSTemplateLiteralType":return T(ee,W,ce);case"TSNamedTupleMember":return[W("label"),K.optional?"?":"",": ",W("elementType")];case"TSRestType":return["...",W("typeAnnotation")];case"TSOptionalType":return[W("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return M(ee,ce,W);case"TSClassImplements":return[W("expression"),W("typeParameters")];case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return S(ee,ce,W,"params");case"TSTypeParameter":return v(ee,ce,W);case"TSSatisfiesExpression":case"TSAsExpression":{let Fe=K.type==="TSAsExpression"?"as":"satisfies";ue.push(W("expression"),` ${Fe} `,W("typeAnnotation"));let z=ee.getParentNode();return F(z)&&z.callee===K||_(z)&&z.object===K?l([p([i,...ue]),i]):ue}case"TSArrayType":return[W("elementType"),"[]"];case"TSPropertySignature":return K.readonly&&ue.push("readonly "),ue.push(b(ee,ce,W),x(ee)),K.typeAnnotation&&ue.push(": ",W("typeAnnotation")),K.initializer&&ue.push(" = ",W("initializer")),ue;case"TSParameterProperty":return K.accessibility&&ue.push(K.accessibility+" "),K.export&&ue.push("export "),K.static&&ue.push("static "),K.override&&ue.push("override "),K.readonly&&ue.push("readonly "),ue.push(W("parameter")),ue;case"TSTypeQuery":return["typeof ",W("exprName"),W("typeParameters")];case"TSIndexSignature":{let Fe=ee.getParentNode(),z=K.parameters.length>1?h(f(ce)?",":""):"",U=l([p([i,a([", ",i],ee.map(W,"parameters"))]),z,i]);return[K.export?"export ":"",K.accessibility?[K.accessibility," "]:"",K.static?"static ":"",K.readonly?"readonly ":"",K.declare?"declare ":"","[",K.parameters?U:"",K.typeAnnotation?"]: ":"]",K.typeAnnotation?W("typeAnnotation"):"",Fe.type==="ClassBody"?de:""]}case"TSTypePredicate":return[K.asserts?"asserts ":"",W("parameterName"),K.typeAnnotation?[" is ",W("typeAnnotation")]:""];case"TSNonNullExpression":return[W("expression"),"!"];case"TSImportType":return[K.isTypeOf?"typeof ":"","import(",W(K.parameter?"parameter":"argument"),")",K.qualifier?[".",W("qualifier")]:"",S(ee,ce,W,"typeParameters")];case"TSLiteralType":return W("literal");case"TSIndexedAccessType":return j(ee,ce,W);case"TSConstructSignatureDeclaration":case"TSCallSignatureDeclaration":case"TSConstructorType":{if(K.type==="TSConstructorType"&&K.abstract&&ue.push("abstract "),K.type!=="TSCallSignatureDeclaration"&&ue.push("new "),ue.push(l($(ee,W,ce,!1,!0))),K.returnType||K.typeAnnotation){let Fe=K.type==="TSConstructorType";ue.push(Fe?" => ":": ",W("returnType"),W("typeAnnotation"))}return ue}case"TSTypeOperator":return[K.operator," ",W("typeAnnotation")];case"TSMappedType":{let Fe=s(ce.originalText,E(K),N(K));return l(["{",p([ce.bracketSpacing?n:i,W("typeParameter"),K.optional?c(K.optional,"?"):"",K.typeAnnotation?": ":"",W("typeAnnotation"),h(de)]),t(ee,ce,!0),ce.bracketSpacing?n:i,"}"],{shouldBreak:Fe})}case"TSMethodSignature":{let Fe=K.kind&&K.kind!=="method"?`${K.kind} `:"";ue.push(K.accessibility?[K.accessibility," "]:"",Fe,K.export?"export ":"",K.static?"static ":"",K.readonly?"readonly ":"",K.abstract?"abstract ":"",K.declare?"declare ":"",K.computed?"[":"",W("key"),K.computed?"]":"",x(ee));let z=$(ee,W,ce,!1,!0),U=K.returnType?"returnType":"typeAnnotation",Z=K[U],se=Z?W(U):"",fe=D(K,se);return ue.push(fe?l(z):z),Z&&ue.push(": ",l(se)),l(ue)}case"TSNamespaceExportDeclaration":return ue.push("export as namespace ",W("id")),ce.semi&&ue.push(";"),l(ue);case"TSEnumDeclaration":return K.declare&&ue.push("declare "),K.modifiers&&ue.push(I(ee,ce,W)),K.const&&ue.push("const "),ue.push("enum ",W("id")," "),K.members.length===0?ue.push(l(["{",t(ee,ce),i,"}"])):ue.push(l(["{",p([u,m(ee,ce,"members",W),f(ce,"es5")?",":""]),t(ee,ce,!0),u,"}"])),ue;case"TSEnumMember":return K.computed?ue.push("[",W("id"),"]"):ue.push(W("id")),K.initializer&&ue.push(" = ",W("initializer")),ue;case"TSImportEqualsDeclaration":return K.isExport&&ue.push("export "),ue.push("import "),K.importKind&&K.importKind!=="value"&&ue.push(K.importKind," "),ue.push(W("id")," = ",W("moduleReference")),ce.semi&&ue.push(";"),l(ue);case"TSExternalModuleReference":return["require(",W("expression"),")"];case"TSModuleDeclaration":{let Fe=ee.getParentNode(),z=g(K.id),U=Fe.type==="TSModuleDeclaration",Z=K.body&&K.body.type==="TSModuleDeclaration";if(U)ue.push(".");else{K.declare&&ue.push("declare "),ue.push(I(ee,ce,W));let se=ce.originalText.slice(E(K),E(K.id));K.id.type==="Identifier"&&K.id.name==="global"&&!/namespace|module/.test(se)||ue.push(z||/(?:^|\s)module(?:\s|$)/.test(se)?"module ":"namespace ")}return ue.push(W("id")),Z?ue.push(W("body")):K.body?ue.push(" ",l(W("body"))):ue.push(de),ue}case"TSConditionalType":return P(ee,ce,W);case"TSInferType":return["infer"," ",W("typeParameter")];case"TSIntersectionType":return J(ee,ce,W);case"TSUnionType":return L(ee,ce,W);case"TSFunctionType":return Q(ee,ce,W);case"TSTupleType":return V(ee,ce,W);case"TSTypeReference":return[W("typeName"),S(ee,ce,W,"typeParameters")];case"TSTypeAnnotation":return W("typeAnnotation");case"TSEmptyBodyFunctionExpression":return k(ee,ce,W);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return Y(ee,W,"?");case"TSJSDocNonNullableType":return Y(ee,W,"!");case"TSInstantiationExpression":return[W("expression"),W("typeParameters")];default:throw new Error(`Unknown TypeScript node type: ${JSON.stringify(K.type)}.`)}}r.exports={printTypescript:ie}}}),hd=te({"src/language-js/print/comment.js"(e,r){"use strict";ne();var{hasNewline:t}=Ue(),{builders:{join:s,hardline:a},utils:{replaceTextEndOfLine:n}}=qe(),{isLineComment:u}=Ke(),{locStart:i,locEnd:l}=ut(),p=Pt();function y(c,f){let F=c.getValue();if(u(F))return f.originalText.slice(i(F),l(F)).trimEnd();if(p(F)){if(h(F)){let E=g(F);return F.trailing&&!t(f.originalText,i(F),{backwards:!0})?[a,E]:E}let _=l(F),w=f.originalText.slice(_-3,_)==="*-/";return["/*",n(F.value),w?"*-/":"*/"]}throw new Error("Not a comment: "+JSON.stringify(F))}function h(c){let f=`*${c.value}*`.split(` -`);return f.length>1&&f.every(F=>F.trim()[0]==="*")}function g(c){let f=c.value.split(` -`);return["/*",s(a,f.map((F,_)=>_===0?F.trimEnd():" "+(_{let{marker:Je}=Oe;return Je===C});return[ve("expression"),x(Be,Ce)?"":Ye,Ie?[" ",Ie]:""]}case"ParenthesizedExpression":return!E(be.expression)&&(be.expression.type==="ObjectExpression"||be.expression.type==="ArrayExpression")?["(",ve("expression"),")"]:l(["(",p([i,ve("expression")]),i,")"]);case"AssignmentExpression":return oe(Ce,Be,ve);case"VariableDeclarator":return Pe(Ce,Be,ve);case"BinaryExpression":case"LogicalExpression":return H(Ce,Be,ve);case"AssignmentPattern":return[ve("left")," = ",ve("right")];case"OptionalMemberExpression":case"MemberExpression":return X(Ce,Be,ve);case"MetaProperty":return[ve("meta"),".",ve("property")];case"BindExpression":return be.object&&Se.push(ve("object")),Se.push(l(p([i,L(Ce,Be,ve)]))),Se;case"Identifier":return[be.name,J(Ce),Y(Ce),Q(Ce,Be,ve)];case"V8IntrinsicIdentifier":return["%",be.name];case"SpreadElement":case"SpreadElementPattern":case"SpreadProperty":case"SpreadPropertyPattern":case"RestElement":return j(Ce,Be,ve);case"FunctionDeclaration":case"FunctionExpression":return ge(Ce,ve,Be,ze);case"ArrowFunctionExpression":return he(Ce,Be,ve,ze);case"YieldExpression":return Se.push("yield"),be.delegate&&Se.push("*"),be.argument&&Se.push(" ",ve("argument")),Se;case"AwaitExpression":{if(Se.push("await"),be.argument){Se.push(" ",ve("argument"));let Ie=Ce.getParentNode();if(T(Ie)&&Ie.callee===be||m(Ie)&&Ie.object===be){Se=[p([i,...Se]),i];let Oe=Ce.findAncestor(Je=>Je.type==="AwaitExpression"||Je.type==="BlockStatement");if(!Oe||Oe.type!=="AwaitExpression")return l(Se)}}return Se}case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return ce(Ce,Be,ve);case"ExportAllDeclaration":return W(Ce,Be,ve);case"ImportDeclaration":return ee(Ce,Be,ve);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return K(Ce,Be,ve);case"ImportAttribute":return[ve("key"),": ",ve("value")];case"Import":return"import";case"BlockStatement":case"StaticBlock":case"ClassBody":return le(Ce,Be,ve);case"ThrowStatement":return Re(Ce,Be,ve);case"ReturnStatement":return ke(Ce,Be,ve);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return Ne(Ce,Be,ve);case"ObjectExpression":case"ObjectPattern":case"RecordExpression":return z(Ce,Be,ve);case"ObjectProperty":case"Property":return be.method||be.kind==="get"||be.kind==="set"?we(Ce,Be,ve):fe(Ce,Be,ve);case"ObjectMethod":return we(Ce,Be,ve);case"Decorator":return["@",ve("expression")];case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return Fe(Ce,Be,ve);case"SequenceExpression":{let Ie=Ce.getParentNode(0);if(Ie.type==="ExpressionStatement"||Ie.type==="ForStatement"){let Oe=[];return Ce.each((Je,Te)=>{Te===0?Oe.push(ve()):Oe.push(",",p([n,ve()]))},"expressions"),l(Oe)}return l(a([",",n],Ce.map(ve,"expressions")))}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[ve("value"),Ye];case"DirectiveLiteral":return ie(be.extra.raw,Be);case"UnaryExpression":return Se.push(be.operator),/[a-z]$/.test(be.operator)&&Se.push(" "),E(be.argument)?Se.push(l(["(",p([i,ve("argument")]),i,")"])):Se.push(ve("argument")),Se;case"UpdateExpression":return Se.push(ve("argument"),be.operator),be.prefix&&Se.reverse(),Se;case"ConditionalExpression":return de(Ce,Be,ve);case"VariableDeclaration":{let Ie=Ce.map(ve,"declarations"),Oe=Ce.getParentNode(),Je=Oe.type==="ForStatement"||Oe.type==="ForInStatement"||Oe.type==="ForOfStatement",Te=be.declarations.some(Me=>Me.init),je;return Ie.length===1&&!E(be.declarations[0])?je=Ie[0]:Ie.length>0&&(je=p(Ie[0])),Se=[be.declare?"declare ":"",be.kind,je?[" ",je]:"",p(Ie.slice(1).map(Me=>[",",Te&&!Je?u:n,Me]))],Je&&Oe.body!==be||Se.push(Ye),l(Se)}case"WithStatement":return l(["with (",ve("object"),")",V(be.body,ve("body"))]);case"IfStatement":{let Ie=V(be.consequent,ve("consequent")),Oe=l(["if (",l([p([i,ve("test")]),i]),")",Ie]);if(Se.push(Oe),be.alternate){let Je=E(be.consequent,N.Trailing|N.Line)||$(be),Te=be.consequent.type==="BlockStatement"&&!Je;Se.push(Te?" ":u),E(be,N.Dangling)&&Se.push(t(Ce,Be,!0),Je?u:" "),Se.push("else",l(V(be.alternate,ve("alternate"),be.alternate.type==="IfStatement")))}return Se}case"ForStatement":{let Ie=V(be.body,ve("body")),Oe=t(Ce,Be,!0),Je=Oe?[Oe,i]:"";return!be.init&&!be.test&&!be.update?[Je,l(["for (;;)",Ie])]:[Je,l(["for (",l([p([i,ve("init"),";",n,ve("test"),";",n,ve("update")]),i]),")",Ie])]}case"WhileStatement":return l(["while (",l([p([i,ve("test")]),i]),")",V(be.body,ve("body"))]);case"ForInStatement":return l(["for (",ve("left")," in ",ve("right"),")",V(be.body,ve("body"))]);case"ForOfStatement":return l(["for",be.await?" await":""," (",ve("left")," of ",ve("right"),")",V(be.body,ve("body"))]);case"DoWhileStatement":{let Ie=V(be.body,ve("body"));return Se=[l(["do",Ie])],be.body.type==="BlockStatement"?Se.push(" "):Se.push(u),Se.push("while (",l([p([i,ve("test")]),i]),")",Ye),Se}case"DoExpression":return[be.async?"async ":"","do ",ve("body")];case"BreakStatement":return Se.push("break"),be.label&&Se.push(" ",ve("label")),Se.push(Ye),Se;case"ContinueStatement":return Se.push("continue"),be.label&&Se.push(" ",ve("label")),Se.push(Ye),Se;case"LabeledStatement":return be.body.type==="EmptyStatement"?[ve("label"),":;"]:[ve("label"),": ",ve("body")];case"TryStatement":return["try ",ve("block"),be.handler?[" ",ve("handler")]:"",be.finalizer?[" finally ",ve("finalizer")]:""];case"CatchClause":if(be.param){let Ie=E(be.param,Je=>!v(Je)||Je.leading&&s(Be.originalText,d(Je))||Je.trailing&&s(Be.originalText,o(Je),{backwards:!0})),Oe=ve("param");return["catch ",Ie?["(",p([i,Oe]),i,") "]:["(",Oe,") "],ve("body")]}return["catch ",ve("body")];case"SwitchStatement":return[l(["switch (",p([i,ve("discriminant")]),i,")"])," {",be.cases.length>0?p([u,a(u,Ce.map((Ie,Oe,Je)=>{let Te=Ie.getValue();return[ve(),Oe!==Je.length-1&&P(Te,Be)?u:""]},"cases"))]):"",u,"}"];case"SwitchCase":{be.test?Se.push("case ",ve("test"),":"):Se.push("default:"),E(be,N.Dangling)&&Se.push(" ",t(Ce,Be,!0));let Ie=be.consequent.filter(Oe=>Oe.type!=="EmptyStatement");if(Ie.length>0){let Oe=pe(Ce,Be,ve);Se.push(Ie.length===1&&Ie[0].type==="BlockStatement"?[" ",Oe]:p([u,Oe]))}return Se}case"DebuggerStatement":return["debugger",Ye];case"ClassDeclaration":case"ClassExpression":return U(Ce,Be,ve);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return Z(Ce,Be,ve);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":case"ClassAccessorProperty":case"AccessorProperty":return se(Ce,Be,ve);case"TemplateElement":return y(be.value.raw);case"TemplateLiteral":return ue(Ce,ve,Be);case"TaggedTemplateExpression":return[ve("tag"),ve("typeParameters"),ve("quasi")];case"PrivateIdentifier":return["#",ve("name")];case"PrivateName":return["#",ve("id")];case"InterpreterDirective":return Se.push("#!",be.value,u),P(be,Be)&&Se.push(u),Se;case"TopicReference":return"%";case"ArgumentPlaceholder":return"?";case"ModuleExpression":{Se.push("module {");let Ie=ve("body");return Ie&&Se.push(p([u,Ie]),u),Se.push("}"),Se}default:throw new Error("unknown type: "+JSON.stringify(be.type))}}function ye(Ce){return Ce.type&&!v(Ce)&&!I(Ce)&&Ce.type!=="EmptyStatement"&&Ce.type!=="TemplateElement"&&Ce.type!=="Import"&&Ce.type!=="TSEmptyBodyFunctionExpression"}r.exports={preprocess:_,print:G,embed:h,insertPragma:c,massageAstNode:g,hasPrettierIgnore(Ce){return D(Ce)||M(Ce)},willPrintOwnComments:f.willPrintOwnComments,canAttachComment:ye,printComment:Ee,isBlockComment:v,handleComments:{avoidAstMutation:!0,ownLine:f.handleOwnLineComment,endOfLine:f.handleEndOfLineComment,remaining:f.handleRemainingComment},getCommentChildNodes:f.getCommentChildNodes}}}),Ed=te({"src/language-js/printer-estree-json.js"(e,r){"use strict";ne();var{builders:{hardline:t,indent:s,join:a}}=qe(),n=Fo();function u(y,h,g){let c=y.getValue();switch(c.type){case"JsonRoot":return[g("node"),t];case"ArrayExpression":{if(c.elements.length===0)return"[]";let f=y.map(()=>y.getValue()===null?"null":g(),"elements");return["[",s([t,a([",",t],f)]),t,"]"]}case"ObjectExpression":return c.properties.length===0?"{}":["{",s([t,a([",",t],y.map(g,"properties"))]),t,"}"];case"ObjectProperty":return[g("key"),": ",g("value")];case"UnaryExpression":return[c.operator==="+"?"":c.operator,g("argument")];case"NullLiteral":return"null";case"BooleanLiteral":return c.value?"true":"false";case"StringLiteral":return JSON.stringify(c.value);case"NumericLiteral":return i(y)?JSON.stringify(String(c.value)):JSON.stringify(c.value);case"Identifier":return i(y)?JSON.stringify(c.name):c.name;case"TemplateLiteral":return g(["quasis",0]);case"TemplateElement":return JSON.stringify(c.value.cooked);default:throw new Error("unknown type: "+JSON.stringify(c.type))}}function i(y){return y.getName()==="key"&&y.getParentNode().type==="ObjectProperty"}var l=new Set(["start","end","extra","loc","comments","leadingComments","trailingComments","innerComments","errors","range","tokens"]);function p(y,h){let{type:g}=y;if(g==="ObjectProperty"){let{key:c}=y;c.type==="Identifier"?h.key={type:"StringLiteral",value:c.name}:c.type==="NumericLiteral"&&(h.key={type:"StringLiteral",value:String(c.value)});return}if(g==="UnaryExpression"&&y.operator==="+")return h.argument;if(g==="ArrayExpression"){for(let[c,f]of y.elements.entries())f===null&&h.elements.splice(c,0,{type:"NullLiteral"});return}if(g==="TemplateLiteral")return{type:"StringLiteral",value:y.quasis[0].value.cooked}}p.ignoredProperties=l,r.exports={preprocess:n,print:u,massageAstNode:p}}}),Mt=te({"src/common/common-options.js"(e,r){"use strict";ne();var t="Common";r.exports={bracketSpacing:{since:"0.0.0",category:t,type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{since:"0.0.0",category:t,type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{since:"1.8.2",category:t,type:"choice",default:[{since:"1.8.2",value:!0},{since:"1.9.0",value:"preserve"}],description:"How to wrap prose.",choices:[{since:"1.9.0",value:"always",description:"Wrap prose if it exceeds the print width."},{since:"1.9.0",value:"never",description:"Do not wrap prose."},{since:"1.9.0",value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{since:"2.4.0",category:t,type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{since:"2.6.0",category:t,type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}}}}),Fd=te({"src/language-js/options.js"(e,r){"use strict";ne();var t=Mt(),s="JavaScript";r.exports={arrowParens:{since:"1.9.0",category:s,type:"choice",default:[{since:"1.9.0",value:"avoid"},{since:"2.0.0",value:"always"}],description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:t.bracketSameLine,bracketSpacing:t.bracketSpacing,jsxBracketSameLine:{since:"0.17.0",category:s,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{since:"1.0.0",category:s,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},singleQuote:t.singleQuote,jsxSingleQuote:{since:"1.15.0",category:s,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{since:"1.17.0",category:s,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{since:"0.0.0",category:s,type:"choice",default:[{since:"0.0.0",value:!1},{since:"0.19.0",value:"none"},{since:"2.0.0",value:"es5"}],description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."},{value:"all",description:"Trailing commas wherever possible (including function arguments)."}]},singleAttributePerLine:t.singleAttributePerLine}}}),Ad=te({"src/language-js/parse/parsers.js"(){ne()}}),Ln=te({"node_modules/linguist-languages/data/JavaScript.json"(e,r){r.exports={name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".javascript",".jsb",".jscad",".jsfl",".jslib",".jsm",".jspre",".jss",".jsx",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],languageId:183}}}),Sd=te({"node_modules/linguist-languages/data/TypeScript.json"(e,r){r.exports={name:"TypeScript",type:"programming",color:"#3178c6",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts",".cts",".mts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",languageId:378}}}),xd=te({"node_modules/linguist-languages/data/TSX.json"(e,r){r.exports={name:"TSX",type:"programming",color:"#3178c6",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",languageId:94901924}}}),wa=te({"node_modules/linguist-languages/data/JSON.json"(e,r){r.exports={name:"JSON",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".json",".4DForm",".4DProject",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".jsonl",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".arcconfig",".auto-changelog",".c8rc",".htmlhintrc",".imgbotconfig",".nycrc",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","mcmod.info"],languageId:174}}}),bd=te({"node_modules/linguist-languages/data/JSON with Comments.json"(e,r){r.exports={name:"JSON with Comments",type:"data",color:"#292929",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".code-snippets",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[".babelrc",".devcontainer.json",".eslintrc.json",".jscsrc",".jshintrc",".jslintrc","api-extractor.json","devcontainer.json","jsconfig.json","language-configuration.json","tsconfig.json","tslint.json"],languageId:423}}}),Td=te({"node_modules/linguist-languages/data/JSON5.json"(e,r){r.exports={name:"JSON5",type:"data",color:"#267CB9",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",languageId:175}}}),Bd=te({"src/language-js/index.js"(e,r){"use strict";ne();var t=_t(),s=Cd(),a=Ed(),n=Fd(),u=Ad(),i=[t(Ln(),p=>({since:"0.0.0",parsers:["babel","acorn","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"],interpreters:[...p.interpreters,"zx"],extensions:[...p.extensions.filter(y=>y!==".jsx"),".wxs"]})),t(Ln(),()=>({name:"Flow",since:"0.0.0",parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"],aliases:[],filenames:[],extensions:[".js.flow"]})),t(Ln(),()=>({name:"JSX",since:"0.0.0",parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"],aliases:void 0,filenames:void 0,extensions:[".jsx"],group:"JavaScript",interpreters:void 0,tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",color:void 0})),t(Sd(),()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]})),t(xd(),()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]})),t(wa(),()=>({name:"JSON.stringify",since:"1.13.0",parsers:["json-stringify"],vscodeLanguageIds:["json"],extensions:[".importmap"],filenames:["package.json","package-lock.json","composer.json"]})),t(wa(),p=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["json"],extensions:p.extensions.filter(y=>y!==".jsonl")})),t(bd(),p=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["jsonc"],filenames:[...p.filenames,".eslintrc",".swcrc"]})),t(Td(),()=>({since:"1.13.0",parsers:["json5"],vscodeLanguageIds:["json5"]}))],l={estree:s,"estree-json":a};r.exports={languages:i,options:n,printers:l,parsers:u}}}),Nd=te({"src/language-css/clean.js"(e,r){"use strict";ne();var{isFrontMatterNode:t}=Ue(),s=lt(),a=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma"]);function n(i,l,p){if(t(i)&&i.lang==="yaml"&&delete l.value,i.type==="css-comment"&&p.type==="css-root"&&p.nodes.length>0&&((p.nodes[0]===i||t(p.nodes[0])&&p.nodes[1]===i)&&(delete l.text,/^\*\s*@(?:format|prettier)\s*$/.test(i.text))||p.type==="css-root"&&s(p.nodes)===i))return null;if(i.type==="value-root"&&delete l.text,(i.type==="media-query"||i.type==="media-query-list"||i.type==="media-feature-expression")&&delete l.value,i.type==="css-rule"&&delete l.params,i.type==="selector-combinator"&&(l.value=l.value.replace(/\s+/g," ")),i.type==="media-feature"&&(l.value=l.value.replace(/ /g,"")),(i.type==="value-word"&&(i.isColor&&i.isHex||["initial","inherit","unset","revert"].includes(l.value.replace().toLowerCase()))||i.type==="media-feature"||i.type==="selector-root-invalid"||i.type==="selector-pseudo")&&(l.value=l.value.toLowerCase()),i.type==="css-decl"&&(l.prop=l.prop.toLowerCase()),(i.type==="css-atrule"||i.type==="css-import")&&(l.name=l.name.toLowerCase()),i.type==="value-number"&&(l.unit=l.unit.toLowerCase()),(i.type==="media-feature"||i.type==="media-keyword"||i.type==="media-type"||i.type==="media-unknown"||i.type==="media-url"||i.type==="media-value"||i.type==="selector-attribute"||i.type==="selector-string"||i.type==="selector-class"||i.type==="selector-combinator"||i.type==="value-string")&&l.value&&(l.value=u(l.value)),i.type==="selector-attribute"&&(l.attribute=l.attribute.trim(),l.namespace&&typeof l.namespace=="string"&&(l.namespace=l.namespace.trim(),l.namespace.length===0&&(l.namespace=!0)),l.value&&(l.value=l.value.trim().replace(/^["']|["']$/g,""),delete l.quoted)),(i.type==="media-value"||i.type==="media-type"||i.type==="value-number"||i.type==="selector-root-invalid"||i.type==="selector-class"||i.type==="selector-combinator"||i.type==="selector-tag")&&l.value&&(l.value=l.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g,(y,h,g)=>{let c=Number(h);return Number.isNaN(c)?y:c+g.toLowerCase()})),i.type==="selector-tag"){let y=i.value.toLowerCase();["from","to"].includes(y)&&(l.value=y)}if(i.type==="css-atrule"&&i.name.toLowerCase()==="supports"&&delete l.value,i.type==="selector-unknown"&&delete l.value,i.type==="value-comma_group"){let y=i.groups.findIndex(h=>h.type==="value-number"&&h.unit==="...");y!==-1&&(l.groups[y].unit="",l.groups.splice(y+1,0,{type:"value-word",value:"...",isColor:!1,isHex:!1}))}if(i.type==="value-comma_group"&&i.groups.some(y=>y.type==="value-atword"&&y.value.endsWith("[")||y.type==="value-word"&&y.value.startsWith("]")))return{type:"value-atword",value:i.groups.map(y=>y.value).join(""),group:{open:null,close:null,groups:[],type:"value-paren_group"}}}n.ignoredProperties=a;function u(i){return i.replace(/'/g,'"').replace(/\\([^\dA-Fa-f])/g,"$1")}r.exports=n}}),su=te({"src/utils/front-matter/print.js"(e,r){"use strict";ne();var{builders:{hardline:t,markAsRoot:s}}=qe();function a(n,u){if(n.lang==="yaml"){let i=n.value.trim(),l=i?u(i,{parser:"yaml"},{stripTrailingHardline:!0}):"";return s([n.startDelimiter,t,l,l?t:"",n.endDelimiter])}}r.exports=a}}),wd=te({"src/language-css/embed.js"(e,r){"use strict";ne();var{builders:{hardline:t}}=qe(),s=su();function a(n,u,i){let l=n.getValue();if(l.type==="front-matter"){let p=s(l,i);return p?[p,t]:""}}r.exports=a}}),_o=te({"src/utils/front-matter/parse.js"(e,r){"use strict";ne();var t=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function s(a){let n=a.match(t);if(!n)return{content:a};let{startDelimiter:u,language:i,value:l="",endDelimiter:p}=n.groups,y=i.trim()||"yaml";if(u==="+++"&&(y="toml"),y!=="yaml"&&u!==p)return{content:a};let[h]=n;return{frontMatter:{type:"front-matter",lang:y,value:l,startDelimiter:u,endDelimiter:p,raw:h.replace(/\n$/,"")},content:h.replace(/[^\n]/g," ")+a.slice(h.length)}}r.exports=s}}),_d=te({"src/language-css/pragma.js"(e,r){"use strict";ne();var t=Co(),s=_o();function a(u){return t.hasPragma(s(u).content)}function n(u){let{frontMatter:i,content:l}=s(u);return(i?i.raw+` - -`:"")+t.insertPragma(l)}r.exports={hasPragma:a,insertPragma:n}}}),Pd=te({"src/language-css/utils/index.js"(e,r){"use strict";ne();var t=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function s(z,U){let Z=Array.isArray(U)?U:[U],se=-1,fe;for(;fe=z.getParentNode(++se);)if(Z.includes(fe.type))return se;return-1}function a(z,U){let Z=s(z,U);return Z===-1?null:z.getParentNode(Z)}function n(z){var U;let Z=a(z,"css-decl");return Z==null||(U=Z.prop)===null||U===void 0?void 0:U.toLowerCase()}var u=new Set(["initial","inherit","unset","revert"]);function i(z){return u.has(z.toLowerCase())}function l(z,U){let Z=a(z,"css-atrule");return(Z==null?void 0:Z.name)&&Z.name.toLowerCase().endsWith("keyframes")&&["from","to"].includes(U.toLowerCase())}function p(z){return z.includes("$")||z.includes("@")||z.includes("#")||z.startsWith("%")||z.startsWith("--")||z.startsWith(":--")||z.includes("(")&&z.includes(")")?z:z.toLowerCase()}function y(z,U){var Z;let se=a(z,"value-func");return(se==null||(Z=se.value)===null||Z===void 0?void 0:Z.toLowerCase())===U}function h(z){var U;let Z=a(z,"css-rule"),se=Z==null||(U=Z.raws)===null||U===void 0?void 0:U.selector;return se&&(se.startsWith(":import")||se.startsWith(":export"))}function g(z,U){let Z=Array.isArray(U)?U:[U],se=a(z,"css-atrule");return se&&Z.includes(se.name.toLowerCase())}function c(z){let U=z.getValue(),Z=a(z,"css-atrule");return(Z==null?void 0:Z.name)==="import"&&U.groups[0].value==="url"&&U.groups.length===2}function f(z){return z.type==="value-func"&&z.value.toLowerCase()==="url"}function F(z,U){var Z;let se=(Z=z.getParentNode())===null||Z===void 0?void 0:Z.nodes;return se&&se.indexOf(U)===se.length-1}function _(z){let{selector:U}=z;return U?typeof U=="string"&&/^@.+:.*$/.test(U)||U.value&&/^@.+:.*$/.test(U.value):!1}function w(z){return z.type==="value-word"&&["from","through","end"].includes(z.value)}function E(z){return z.type==="value-word"&&["and","or","not"].includes(z.value)}function N(z){return z.type==="value-word"&&z.value==="in"}function x(z){return z.type==="value-operator"&&z.value==="*"}function I(z){return z.type==="value-operator"&&z.value==="/"}function P(z){return z.type==="value-operator"&&z.value==="+"}function $(z){return z.type==="value-operator"&&z.value==="-"}function D(z){return z.type==="value-operator"&&z.value==="%"}function T(z){return x(z)||I(z)||P(z)||$(z)||D(z)}function m(z){return z.type==="value-word"&&["==","!="].includes(z.value)}function C(z){return z.type==="value-word"&&["<",">","<=",">="].includes(z.value)}function o(z){return z.type==="css-atrule"&&["if","else","for","each","while"].includes(z.name)}function d(z){var U;return((U=z.raws)===null||U===void 0?void 0:U.params)&&/^\(\s*\)$/.test(z.raws.params)}function v(z){return z.name.startsWith("prettier-placeholder")}function S(z){return z.prop.startsWith("@prettier-placeholder")}function b(z,U){return z.value==="$$"&&z.type==="value-func"&&(U==null?void 0:U.type)==="value-word"&&!U.raws.before}function B(z){var U,Z;return((U=z.value)===null||U===void 0?void 0:U.type)==="value-root"&&((Z=z.value.group)===null||Z===void 0?void 0:Z.type)==="value-value"&&z.prop.toLowerCase()==="composes"}function k(z){var U,Z,se;return((U=z.value)===null||U===void 0||(Z=U.group)===null||Z===void 0||(se=Z.group)===null||se===void 0?void 0:se.type)==="value-paren_group"&&z.value.group.group.open!==null&&z.value.group.group.close!==null}function M(z){var U;return((U=z.raws)===null||U===void 0?void 0:U.before)===""}function R(z){var U,Z;return z.type==="value-comma_group"&&((U=z.groups)===null||U===void 0||(Z=U[1])===null||Z===void 0?void 0:Z.type)==="value-colon"}function q(z){var U;return z.type==="value-paren_group"&&((U=z.groups)===null||U===void 0?void 0:U[0])&&R(z.groups[0])}function J(z){var U;let Z=z.getValue();if(Z.groups.length===0)return!1;let se=z.getParentNode(1);if(!q(Z)&&!(se&&q(se)))return!1;let fe=a(z,"css-decl");return!!(fe!=null&&(U=fe.prop)!==null&&U!==void 0&&U.startsWith("$")||q(se)||se.type==="value-func")}function L(z){return z.type==="value-comment"&&z.inline}function Q(z){return z.type==="value-word"&&z.value==="#"}function V(z){return z.type==="value-word"&&z.value==="{"}function j(z){return z.type==="value-word"&&z.value==="}"}function Y(z){return["value-word","value-atword"].includes(z.type)}function ie(z){return(z==null?void 0:z.type)==="value-colon"}function ee(z,U){if(!R(U))return!1;let{groups:Z}=U,se=Z.indexOf(z);return se===-1?!1:ie(Z[se+1])}function ce(z){return z.value&&["not","and","or"].includes(z.value.toLowerCase())}function W(z){return z.type!=="value-func"?!1:t.has(z.value.toLowerCase())}function K(z){return/\/\//.test(z.split(/[\n\r]/).pop())}function de(z){return(z==null?void 0:z.type)==="value-atword"&&z.value.startsWith("prettier-placeholder-")}function ue(z,U){var Z,se;if(((Z=z.open)===null||Z===void 0?void 0:Z.value)!=="("||((se=z.close)===null||se===void 0?void 0:se.value)!==")"||z.groups.some(fe=>fe.type!=="value-comma_group"))return!1;if(U.type==="value-comma_group"){let fe=U.groups.indexOf(z)-1,ge=U.groups[fe];if((ge==null?void 0:ge.type)==="value-word"&&ge.value==="with")return!0}return!1}function Fe(z){var U,Z;return z.type==="value-paren_group"&&((U=z.open)===null||U===void 0?void 0:U.value)==="("&&((Z=z.close)===null||Z===void 0?void 0:Z.value)===")"}r.exports={getAncestorCounter:s,getAncestorNode:a,getPropOfDeclNode:n,maybeToLowerCase:p,insideValueFunctionNode:y,insideICSSRuleNode:h,insideAtRuleNode:g,insideURLFunctionInImportAtRuleNode:c,isKeyframeAtRuleKeywords:l,isWideKeywords:i,isLastNode:F,isSCSSControlDirectiveNode:o,isDetachedRulesetDeclarationNode:_,isRelationalOperatorNode:C,isEqualityOperatorNode:m,isMultiplicationNode:x,isDivisionNode:I,isAdditionNode:P,isSubtractionNode:$,isModuloNode:D,isMathOperatorNode:T,isEachKeywordNode:N,isForKeywordNode:w,isURLFunctionNode:f,isIfElseKeywordNode:E,hasComposesNode:B,hasParensAroundNode:k,hasEmptyRawBefore:M,isDetachedRulesetCallNode:d,isTemplatePlaceholderNode:v,isTemplatePropNode:S,isPostcssSimpleVarNode:b,isKeyValuePairNode:R,isKeyValuePairInParenGroupNode:q,isKeyInValuePairNode:ee,isSCSSMapItemNode:J,isInlineValueCommentNode:L,isHashNode:Q,isLeftCurlyBraceNode:V,isRightCurlyBraceNode:j,isWordNode:Y,isColonNode:ie,isMediaAndSupportsKeywords:ce,isColorAdjusterFuncNode:W,lastLineHasInlineComment:K,isAtWordPlaceholderNode:de,isConfigurationNode:ue,isParenGroupNode:Fe}}}),Id=te({"src/utils/line-column-to-index.js"(e,r){"use strict";ne(),r.exports=function(t,s){let a=0;for(let n=0;n0?h:""]}case"css-comment":{let Ve=ae.inline||ae.raws.inline,We=je.originalText.slice(Ae(ae),Ee(ae));return Ve?We.trimEnd():We}case"css-rule":return[Me("selector"),ae.important?" !important":"",ae.nodes?[ae.selector&&ae.selector.type==="selector-unknown"&&H(ae.selector.value)?y:" ","{",ae.nodes.length>0?F([h,Ce(Te,je,Me)]):"",h,"}",M(ae)?";":""]:";"];case"css-decl":{let Ve=Te.getParentNode(),{between:We}=ae.raws,Xe=We.trim(),st=Xe===":",O=W(ae)?N(Me("value")):Me("value");return!st&&H(Xe)&&(O=F([h,_(O)])),[ae.raws.before.replace(/[\s;]/g,""),Ve.type==="css-atrule"&&Ve.variable||o(Te)?ae.prop:m(ae.prop),Xe.startsWith("//")?" ":"",Xe,ae.extend?"":" ",De(je)&&ae.extend&&ae.selector?["extend(",Me("selector"),")"]:"",O,ae.raws.important?ae.raws.important.replace(/\s*!\s*important/i," !important"):ae.important?" !important":"",ae.raws.scssDefault?ae.raws.scssDefault.replace(/\s*!default/i," !default"):ae.scssDefault?" !default":"",ae.raws.scssGlobal?ae.raws.scssGlobal.replace(/\s*!global/i," !global"):ae.scssGlobal?" !global":"",ae.nodes?[" {",F([g,Ce(Te,je,Me)]),g,"}"]:Z(ae)&&!Ve.raws.semicolon&&je.originalText[Ee(ae)-1]!==";"?"":je.__isHTMLStyleAttribute&&B(Te,ae)?w(";"):";"]}case"css-atrule":{let Ve=Te.getParentNode(),We=U(ae)&&!Ve.raws.semicolon&&je.originalText[Ee(ae)-1]!==";";if(De(je)){if(ae.mixin)return[Me("selector"),ae.important?" !important":"",We?"":";"];if(ae.function)return[ae.name,Me("params"),We?"":";"];if(ae.variable)return["@",ae.name,": ",ae.value?Me("value"):"",ae.raws.between.trim()?ae.raws.between.trim()+" ":"",ae.nodes?["{",F([ae.nodes.length>0?g:"",Ce(Te,je,Me)]),g,"}"]:"",We?"":";"]}return["@",z(ae)||ae.name.endsWith(":")?ae.name:m(ae.name),ae.params?[z(ae)?"":U(ae)?ae.raws.afterName===""?"":ae.name.endsWith(":")?" ":/^\s*\n\s*\n/.test(ae.raws.afterName)?[h,h]:/^\s*\n/.test(ae.raws.afterName)?h:" ":" ",Me("params")]:"",ae.selector?F([" ",Me("selector")]):"",ae.value?c([" ",Me("value"),k(ae)?K(ae)?" ":y:""]):ae.name==="else"?" ":"",ae.nodes?[k(ae)?"":ae.selector&&!ae.selector.nodes&&typeof ae.selector.value=="string"&&H(ae.selector.value)||!ae.selector&&typeof ae.params=="string"&&H(ae.params)?y:" ","{",F([ae.nodes.length>0?g:"",Ce(Te,je,Me)]),g,"}"]:We?"":";"]}case"media-query-list":{let Ve=[];return Te.each(We=>{let Xe=We.getValue();Xe.type==="media-query"&&Xe.value===""||Ve.push(Me())},"nodes"),c(F(p(y,Ve)))}case"media-query":return[p(" ",Te.map(Me,"nodes")),B(Te,ae)?"":","];case"media-type":return Oe(Se(ae.value,je));case"media-feature-expression":return ae.nodes?["(",...Te.map(Me,"nodes"),")"]:ae.value;case"media-feature":return m(Se(ae.value.replace(/ +/g," "),je));case"media-colon":return[ae.value," "];case"media-value":return Oe(Se(ae.value,je));case"media-keyword":return Se(ae.value,je);case"media-url":return Se(ae.value.replace(/^url\(\s+/gi,"url(").replace(/\s+\)$/g,")"),je);case"media-unknown":return ae.value;case"selector-root":return c([d(Te,"custom-selector")?[D(Te,"css-atrule").customSelector,y]:"",p([",",d(Te,["extend","custom-selector","nest"])?y:h],Te.map(Me,"nodes"))]);case"selector-selector":return c(F(Te.map(Me,"nodes")));case"selector-comment":return ae.value;case"selector-string":return Se(ae.value,je);case"selector-tag":{let Ve=Te.getParentNode(),We=Ve&&Ve.nodes.indexOf(ae),Xe=We&&Ve.nodes[We-1];return[ae.namespace?[ae.namespace===!0?"":ae.namespace.trim(),"|"]:"",Xe.type==="selector-nesting"?ae.value:Oe(S(Te,ae.value)?ae.value.toLowerCase():ae.value)]}case"selector-id":return["#",ae.value];case"selector-class":return[".",Oe(Se(ae.value,je))];case"selector-attribute":{var nt;return["[",ae.namespace?[ae.namespace===!0?"":ae.namespace.trim(),"|"]:"",ae.attribute.trim(),(nt=ae.operator)!==null&&nt!==void 0?nt:"",ae.value?Ie(Se(ae.value.trim(),je),je):"",ae.insensitive?" i":"","]"]}case"selector-combinator":{if(ae.value==="+"||ae.value===">"||ae.value==="~"||ae.value===">>>"){let Xe=Te.getParentNode();return[Xe.type==="selector-selector"&&Xe.nodes[0]===ae?"":y,ae.value,B(Te,ae)?"":" "]}let Ve=ae.value.trim().startsWith("(")?y:"",We=Oe(Se(ae.value.trim(),je))||y;return[Ve,We]}case"selector-universal":return[ae.namespace?[ae.namespace===!0?"":ae.namespace.trim(),"|"]:"",ae.value];case"selector-pseudo":return[m(ae.value),l(ae.nodes)?c(["(",F([g,p([",",y],Te.map(Me,"nodes"))]),g,")"]):""];case"selector-nesting":return ae.value;case"selector-unknown":{let Ve=D(Te,"css-rule");if(Ve&&Ve.isSCSSNesterProperty)return Oe(Se(m(ae.value),je));let We=Te.getParentNode();if(We.raws&&We.raws.selector){let st=Ae(We),O=st+We.raws.selector.length;return je.originalText.slice(st,O).trim()}let Xe=Te.getParentNode(1);if(We.type==="value-paren_group"&&Xe&&Xe.type==="value-func"&&Xe.value==="selector"){let st=Ee(We.open)+1,O=Ae(We.close),me=je.originalText.slice(st,O).trim();return H(me)?[E,me]:me}return ae.value}case"value-value":case"value-root":return Me("group");case"value-comment":return je.originalText.slice(Ae(ae),Ee(ae));case"value-comma_group":{let Ve=Te.getParentNode(),We=Te.getParentNode(1),Xe=T(Te),st=Xe&&Ve.type==="value-value"&&(Xe==="grid"||Xe.startsWith("grid-template")),O=D(Te,"css-atrule"),me=O&&k(O),_e=ae.groups.some(at=>ge(at)),He=Te.map(Me,"groups"),Ge=[],it=C(Te,"url"),Qe=!1,rt=!1;for(let at=0;atVr:$r!==-1?Qe=!0:Vr!==-1&&(Qe=!1)}if(Qe||Ne(Le)||Ne($e)||Le.type==="value-atword"&&(Le.value===""||Le.value.endsWith("["))||$e.type==="value-word"&&$e.value.startsWith("]")||Le.value==="~"||Le.value&&Le.value.includes("\\")&&$e&&$e.type!=="value-comment"||Ze&&Ze.value&&Ze.value.indexOf("\\")===Ze.value.length-1&&Le.type==="value-operator"&&Le.value==="/"||Le.value==="\\"||se(Le,$e)||he(Le)||we(Le)||ke($e)||we($e)&&de($e)||ke(Le)&&de($e)||Le.value==="--"&&he($e))continue;let Rr=j(Le),ou=j($e);if((Rr&&he($e)||ou&&ke(Le))&&de($e)||!Ze&&L(Le)||C(Te,"calc")&&(Q(Le)||Q($e)||V(Le)||V($e))&&de($e))continue;let qo=(Q(Le)||V(Le))&&at===0&&($e.type==="value-number"||$e.isHex)&&We&&oe(We)&&!de($e),lu=sr&&sr.type==="value-func"||sr&&Re(sr)||Le.type==="value-func"||Re(Le),cu=$e.type==="value-func"||Re($e)||Ze&&Ze.type==="value-func"||Ze&&Re(Ze);if(!(!(J($e)||J(Le))&&!C(Te,"calc")&&!qo&&(L($e)&&!lu||L(Le)&&!cu||Q($e)&&!lu||Q(Le)&&!cu||V($e)||V(Le))&&(de($e)||Rr&&(!Ze||Ze&&j(Ze))))&&!((je.parser==="scss"||je.parser==="less")&&Rr&&Le.value==="-"&&le($e)&&Ee(Le)===Ae($e.open)&&$e.open.value==="(")){if(ge(Le)){if(Ve.type==="value-paren_group"){Ge.push(_(h));continue}Ge.push(h);continue}if(me&&(q($e)||R($e)||ce($e)||Y(Le)||ie(Le))){Ge.push(" ");continue}if(O&&O.name.toLowerCase()==="namespace"){Ge.push(" ");continue}if(st){Le.source&&$e.source&&Le.source.start.line!==$e.source.start.line?(Ge.push(h),rt=!0):Ge.push(" ");continue}if(ou){Ge.push(" ");continue}if(!($e&&$e.value==="...")&&!(pe(Le)&&pe($e)&&Ee(Le)===Ae($e))){if(pe(Le)&&le($e)&&Ee(Le)===Ae($e.open)){Ge.push(g);continue}if(Le.value==="with"&&le($e)){Ge.push(" ");continue}(tt=Le.value)!==null&&tt!==void 0&&tt.endsWith("#")&&$e.value==="{"&&le($e.group)||Ge.push(y)}}}return _e&&Ge.push(E),rt&&Ge.unshift(h),me?c(F(Ge)):v(Te)?c(f(Ge)):c(F(f(Ge)))}case"value-paren_group":{let Ve=Te.getParentNode();if(Ve&&ee(Ve)&&(ae.groups.length===1||ae.groups.length>0&&ae.groups[0].type==="value-comma_group"&&ae.groups[0].groups.length>0&&ae.groups[0].groups[0].type==="value-word"&&ae.groups[0].groups[0].value.startsWith("data:")))return[ae.open?Me("open"):"",p(",",Te.map(Me,"groups")),ae.close?Me("close"):""];if(!ae.open){let it=Te.map(Me,"groups"),Qe=[];for(let rt=0;rt{let rt=it.getValue(),at=Qe===ae.groups.length-1,Ze=[Me(),at?"":","];if(ue(rt)&&rt.type==="value-comma_group"&&rt.groups&&rt.groups[0].type!=="value-paren_group"&&rt.groups[2]&&rt.groups[2].type==="value-paren_group"){let Le=x(Ze[0].contents.contents);Le[1]=c(Le[1]),Ze=[c(_(Ze))]}if(!at&&rt.type==="value-comma_group"&&l(rt.groups)){let Le=t(rt.groups);!Le.source&&Le.close&&(Le=Le.close),Le.source&&i(je.originalText,Le,Ee)&&Ze.push(h)}return Ze},"groups"))]),w(!st&&A(je.parser,je.originalText)&&We&&re(je)?",":""),g,ae.close?Me("close"):""],{shouldBreak:_e});return He?_(Ge):Ge}case"value-func":return[ae.value,d(Te,"supports")&&Pe(ae)?" ":"",Me("group")];case"value-paren":return ae.value;case"value-number":return[Je(ae.value),G(ae.unit)];case"value-operator":return ae.value;case"value-word":return ae.isColor&&ae.isHex||b(ae.value)?ae.value.toLowerCase():ae.value;case"value-colon":{let Ve=Te.getParentNode(),We=Ve&&Ve.groups.indexOf(ae),Xe=We&&Ve.groups[We-1];return[ae.value,Xe&&typeof Xe.value=="string"&&t(Xe.value)==="\\"||C(Te,"url")?"":y]}case"value-comma":return[ae.value," "];case"value-string":return a(ae.raws.quote+ae.value+ae.raws.quote,je);case"value-atword":return["@",ae.value];case"value-unicode-range":return ae.value;case"value-unknown":return ae.value;default:throw new Error(`Unknown postcss type ${JSON.stringify(ae.type)}`)}}function Ce(Te,je,Me){let ae=[];return Te.each((nt,tt,Ve)=>{let We=Ve[tt-1];if(We&&We.type==="css-comment"&&We.text.trim()==="prettier-ignore"){let Xe=nt.getValue();ae.push(je.originalText.slice(Ae(Xe),Ee(Xe)))}else ae.push(Me());tt!==Ve.length-1&&(Ve[tt+1].type==="css-comment"&&!n(je.originalText,Ae(Ve[tt+1]),{backwards:!0})&&!u(Ve[tt])||Ve[tt+1].type==="css-atrule"&&Ve[tt+1].name==="else"&&Ve[tt].type!=="css-comment"?ae.push(" "):(ae.push(je.__isHTMLStyleAttribute?y:h),i(je.originalText,nt.getValue(),Ee)&&!u(Ve[tt])&&ae.push(h)))},"nodes"),ae}var Be=/(["'])(?:(?!\1)[^\\]|\\.)*\1/gs,ve=/(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g,ze=/[A-Za-z]+/g,be=/[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g,Ye=new RegExp(Be.source+`|(${be.source})?(${ve.source})(${ze.source})?`,"g");function Se(Te,je){return Te.replace(Be,Me=>a(Me,je))}function Ie(Te,je){let Me=je.singleQuote?"'":'"';return Te.includes('"')||Te.includes("'")?Te:Me+Te+Me}function Oe(Te){return Te.replace(Ye,(je,Me,ae,nt,tt)=>!ae&&nt?Je(nt)+m(tt||""):je)}function Je(Te){return s(Te).replace(/\.0(?=$|e)/,"")}r.exports={print:ye,embed:P,insertPragma:$,massageAstNode:I}}}),Rd=te({"src/language-css/options.js"(e,r){"use strict";ne();var t=Mt();r.exports={singleQuote:t.singleQuote}}}),$d=te({"src/language-css/parsers.js"(){ne()}}),Vd=te({"node_modules/linguist-languages/data/CSS.json"(e,r){r.exports={name:"CSS",type:"markup",tmScope:"source.css",aceMode:"css",codemirrorMode:"css",codemirrorMimeType:"text/css",color:"#563d7c",extensions:[".css"],languageId:50}}}),Wd=te({"node_modules/linguist-languages/data/PostCSS.json"(e,r){r.exports={name:"PostCSS",type:"markup",color:"#dc3a0c",tmScope:"source.postcss",group:"CSS",extensions:[".pcss",".postcss"],aceMode:"text",languageId:262764437}}}),Hd=te({"node_modules/linguist-languages/data/Less.json"(e,r){r.exports={name:"Less",type:"markup",color:"#1d365d",aliases:["less-css"],extensions:[".less"],tmScope:"source.css.less",aceMode:"less",codemirrorMode:"css",codemirrorMimeType:"text/css",languageId:198}}}),Gd=te({"node_modules/linguist-languages/data/SCSS.json"(e,r){r.exports={name:"SCSS",type:"markup",color:"#c6538c",tmScope:"source.css.scss",aceMode:"scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",extensions:[".scss"],languageId:329}}}),Ud=te({"src/language-css/index.js"(e,r){"use strict";ne();var t=_t(),s=Md(),a=Rd(),n=$d(),u=[t(Vd(),l=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["css"],extensions:[...l.extensions,".wxss"]})),t(Wd(),()=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["postcss"]})),t(Hd(),()=>({since:"1.4.0",parsers:["less"],vscodeLanguageIds:["less"]})),t(Gd(),()=>({since:"1.4.0",parsers:["scss"],vscodeLanguageIds:["scss"]}))],i={postcss:s};r.exports={languages:u,options:a,printers:i,parsers:n}}}),Jd=te({"src/language-handlebars/loc.js"(e,r){"use strict";ne();function t(a){return a.loc.start.offset}function s(a){return a.loc.end.offset}r.exports={locStart:t,locEnd:s}}}),zd=te({"src/language-handlebars/clean.js"(e,r){"use strict";ne();function t(s,a){if(s.type==="TextNode"){let n=s.chars.trim();if(!n)return null;a.chars=n.replace(/[\t\n\f\r ]+/g," ")}s.type==="AttrNode"&&s.name.toLowerCase()==="class"&&delete a.value}t.ignoredProperties=new Set(["loc","selfClosing"]),r.exports=t}}),Xd=te({"src/language-handlebars/html-void-elements.evaluate.js"(e,r){r.exports=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]}}),Kd=te({"src/language-handlebars/utils.js"(e,r){"use strict";ne();var t=lt(),s=Xd();function a(x){let I=x.getValue(),P=x.getParentNode(0);return!!(g(x,["ElementNode"])&&t(P.children)===I||g(x,["Block"])&&t(P.body)===I)}function n(x){return x.toUpperCase()===x}function u(x){return h(x,["ElementNode"])&&typeof x.tag=="string"&&!x.tag.startsWith(":")&&(n(x.tag[0])||x.tag.includes("."))}var i=new Set(s);function l(x){return i.has(x.toLowerCase())&&!n(x[0])}function p(x){return x.selfClosing===!0||l(x.tag)||u(x)&&x.children.every(I=>y(I))}function y(x){return h(x,["TextNode"])&&!/\S/.test(x.chars)}function h(x,I){return x&&I.includes(x.type)}function g(x,I){let P=x.getParentNode(0);return h(P,I)}function c(x,I){let P=_(x);return h(P,I)}function f(x,I){let P=w(x);return h(P,I)}function F(x,I){var P,$,D,T;let m=x.getValue(),C=(P=x.getParentNode(0))!==null&&P!==void 0?P:{},o=($=(D=(T=C.children)!==null&&T!==void 0?T:C.body)!==null&&D!==void 0?D:C.parts)!==null&&$!==void 0?$:[],d=o.indexOf(m);return d!==-1&&o[d+I]}function _(x){let I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return F(x,-I)}function w(x){return F(x,1)}function E(x){return h(x,["MustacheCommentStatement"])&&typeof x.value=="string"&&x.value.trim()==="prettier-ignore"}function N(x){let I=x.getValue(),P=_(x,2);return E(I)||E(P)}r.exports={getNextNode:w,getPreviousNode:_,hasPrettierIgnore:N,isLastNodeOfSiblings:a,isNextNodeOfSomeType:f,isNodeOfSomeType:h,isParentOfSomeType:g,isPreviousNodeOfSomeType:c,isVoid:p,isWhitespaceNode:y}}}),Yd=te({"src/language-handlebars/printer-glimmer.js"(e,r){"use strict";ne();var{builders:{dedent:t,fill:s,group:a,hardline:n,ifBreak:u,indent:i,join:l,line:p,softline:y},utils:{getDocParts:h,replaceTextEndOfLine:g}}=qe(),{getPreferredQuote:c,isNonEmptyArray:f}=Ue(),{locStart:F,locEnd:_}=Jd(),w=zd(),{getNextNode:E,getPreviousNode:N,hasPrettierIgnore:x,isLastNodeOfSiblings:I,isNextNodeOfSomeType:P,isNodeOfSomeType:$,isParentOfSomeType:D,isPreviousNodeOfSomeType:T,isVoid:m,isWhitespaceNode:C}=Kd(),o=2;function d(H,pe,X){let le=H.getValue();if(!le)return"";if(x(H))return pe.originalText.slice(F(le),_(le));let Ae=pe.singleQuote?"'":'"';switch(le.type){case"Block":case"Program":case"Template":return a(H.map(X,"body"));case"ElementNode":{let Ee=a(S(H,X)),De=pe.htmlWhitespaceSensitivity==="ignore"&&P(H,["ElementNode"])?y:"";if(m(le))return[Ee,De];let A=[""];return le.children.length===0?[Ee,i(A),De]:pe.htmlWhitespaceSensitivity==="ignore"?[Ee,i(b(H,pe,X)),n,i(A),De]:[Ee,i(a(b(H,pe,X))),i(A),De]}case"BlockStatement":{let Ee=H.getParentNode(1);return Ee&&Ee.inverse&&Ee.inverse.body.length===1&&Ee.inverse.body[0]===le&&Ee.inverse.body[0].path.parts[0]===Ee.path.parts[0]?[ie(H,X,Ee.inverse.body[0].path.parts[0]),de(H,X,pe),ue(H,X,pe)]:[j(H,X),a([de(H,X,pe),ue(H,X,pe),ee(H,X,pe)])]}case"ElementModifierStatement":return a(["{{",Re(H,X),"}}"]);case"MustacheStatement":return a([k(le),Re(H,X),M(le)]);case"SubExpression":return a(["(",ke(H,X),y,")"]);case"AttrNode":{let Ee=le.value.type==="TextNode";if(Ee&&le.value.chars===""&&F(le.value)===_(le.value))return le.name;let A=Ee?c(le.value.chars,Ae).quote:le.value.type==="ConcatStatement"?c(le.value.parts.filter(re=>re.type==="TextNode").map(re=>re.chars).join(""),Ae).quote:"",G=X("value");return[le.name,"=",A,le.name==="class"&&A?a(i(G)):G,A]}case"ConcatStatement":return H.map(X,"parts");case"Hash":return l(p,H.map(X,"pairs"));case"HashPair":return[le.key,"=",X("value")];case"TextNode":{let Ee=le.chars.replace(/{{/g,"\\{{"),De=U(H);if(De){if(De==="class"){let Ye=Ee.trim().split(/\s+/).join(" "),Se=!1,Ie=!1;return D(H,["ConcatStatement"])&&(T(H,["MustacheStatement"])&&/^\s/.test(Ee)&&(Se=!0),P(H,["MustacheStatement"])&&/\s$/.test(Ee)&&Ye!==""&&(Ie=!0)),[Se?p:"",Ye,Ie?p:""]}return g(Ee)}let G=/^[\t\n\f\r ]*$/.test(Ee),re=!N(H),ye=!E(H);if(pe.htmlWhitespaceSensitivity!=="ignore"){let Ye=/^[\t\n\f\r ]*/,Se=/[\t\n\f\r ]*$/,Ie=ye&&D(H,["Template"]),Oe=re&&D(H,["Template"]);if(G){if(Oe||Ie)return"";let ae=[p],nt=Z(Ee);return nt&&(ae=ge(nt)),I(H)&&(ae=ae.map(tt=>t(tt))),ae}let[Je]=Ee.match(Ye),[Te]=Ee.match(Se),je=[];if(Je){je=[p];let ae=Z(Je);ae&&(je=ge(ae)),Ee=Ee.replace(Ye,"")}let Me=[];if(Te){if(!Ie){Me=[p];let ae=Z(Te);ae&&(Me=ge(ae)),I(H)&&(Me=Me.map(nt=>t(nt)))}Ee=Ee.replace(Se,"")}return[...je,s(Fe(Ee)),...Me]}let Ce=Z(Ee),Be=se(Ee),ve=fe(Ee);if((re||ye)&&G&&D(H,["Block","ElementNode","Template"]))return"";G&&Ce?(Be=Math.min(Ce,o),ve=0):(P(H,["BlockStatement","ElementNode"])&&(ve=Math.max(ve,1)),T(H,["BlockStatement","ElementNode"])&&(Be=Math.max(Be,1)));let ze="",be="";return ve===0&&P(H,["MustacheStatement"])&&(be=" "),Be===0&&T(H,["MustacheStatement"])&&(ze=" "),re&&(Be=0,ze=""),ye&&(ve=0,be=""),Ee=Ee.replace(/^[\t\n\f\r ]+/g,ze).replace(/[\t\n\f\r ]+$/,be),[...ge(Be),s(Fe(Ee)),...ge(ve)]}case"MustacheCommentStatement":{let Ee=F(le),De=_(le),A=pe.originalText.charAt(Ee+2)==="~",G=pe.originalText.charAt(De-3)==="~",re=le.value.includes("}}")?"--":"";return["{{",A?"~":"","!",re,le.value,re,G?"~":"","}}"]}case"PathExpression":return le.original;case"BooleanLiteral":return String(le.value);case"CommentStatement":return[""];case"StringLiteral":{if(we(H)){let Ee=pe.singleQuote?'"':"'";return he(le.value,Ee)}return he(le.value,Ae)}case"NumberLiteral":return String(le.value);case"UndefinedLiteral":return"undefined";case"NullLiteral":return"null";default:throw new Error("unknown glimmer type: "+JSON.stringify(le.type))}}function v(H,pe){return F(H)-F(pe)}function S(H,pe){let X=H.getValue(),le=["attributes","modifiers","comments"].filter(Ee=>f(X[Ee])),Ae=le.flatMap(Ee=>X[Ee]).sort(v);for(let Ee of le)H.each(De=>{let A=Ae.indexOf(De.getValue());Ae.splice(A,1,[p,pe()])},Ee);return f(X.blockParams)&&Ae.push(p,oe(X)),["<",X.tag,i(Ae),B(X)]}function b(H,pe,X){let Ae=H.getValue().children.every(Ee=>C(Ee));return pe.htmlWhitespaceSensitivity==="ignore"&&Ae?"":H.map((Ee,De)=>{let A=X();return De===0&&pe.htmlWhitespaceSensitivity==="ignore"?[y,A]:A},"children")}function B(H){return m(H)?u([y,"/>"],[" />",y]):u([y,">"],">")}function k(H){let pe=H.escaped===!1?"{{{":"{{",X=H.strip&&H.strip.open?"~":"";return[pe,X]}function M(H){let pe=H.escaped===!1?"}}}":"}}";return[H.strip&&H.strip.close?"~":"",pe]}function R(H){let pe=k(H),X=H.openStrip.open?"~":"";return[pe,X,"#"]}function q(H){let pe=M(H);return[H.openStrip.close?"~":"",pe]}function J(H){let pe=k(H),X=H.closeStrip.open?"~":"";return[pe,X,"/"]}function L(H){let pe=M(H);return[H.closeStrip.close?"~":"",pe]}function Q(H){let pe=k(H),X=H.inverseStrip.open?"~":"";return[pe,X]}function V(H){let pe=M(H);return[H.inverseStrip.close?"~":"",pe]}function j(H,pe){let X=H.getValue(),le=[],Ae=Pe(H,pe);return Ae&&le.push(a(Ae)),f(X.program.blockParams)&&le.push(oe(X.program)),a([R(X),Ne(H,pe),le.length>0?i([p,l(p,le)]):"",y,q(X)])}function Y(H,pe){return[pe.htmlWhitespaceSensitivity==="ignore"?n:"",Q(H),"else",V(H)]}function ie(H,pe,X){let le=H.getValue(),Ae=H.getParentNode(1);return a([Q(Ae),["else"," ",X],i([p,a(Pe(H,pe)),...f(le.program.blockParams)?[p,oe(le.program)]:[]]),y,V(Ae)])}function ee(H,pe,X){let le=H.getValue();return X.htmlWhitespaceSensitivity==="ignore"?[ce(le)?y:n,J(le),pe("path"),L(le)]:[J(le),pe("path"),L(le)]}function ce(H){return $(H,["BlockStatement"])&&H.program.body.every(pe=>C(pe))}function W(H){return K(H)&&H.inverse.body.length===1&&$(H.inverse.body[0],["BlockStatement"])&&H.inverse.body[0].path.parts[0]===H.path.parts[0]}function K(H){return $(H,["BlockStatement"])&&H.inverse}function de(H,pe,X){let le=H.getValue();if(ce(le))return"";let Ae=pe("program");return X.htmlWhitespaceSensitivity==="ignore"?i([n,Ae]):i(Ae)}function ue(H,pe,X){let le=H.getValue(),Ae=pe("inverse"),Ee=X.htmlWhitespaceSensitivity==="ignore"?[n,Ae]:Ae;return W(le)?Ee:K(le)?[Y(le,X),i(Ee)]:""}function Fe(H){return h(l(p,z(H)))}function z(H){return H.split(/[\t\n\f\r ]+/)}function U(H){for(let pe=0;pe<2;pe++){let X=H.getParentNode(pe);if(X&&X.type==="AttrNode")return X.name.toLowerCase()}}function Z(H){return H=typeof H=="string"?H:"",H.split(` -`).length-1}function se(H){H=typeof H=="string"?H:"";let pe=(H.match(/^([^\S\n\r]*[\n\r])+/g)||[])[0]||"";return Z(pe)}function fe(H){H=typeof H=="string"?H:"";let pe=(H.match(/([\n\r][^\S\n\r]*)+$/g)||[])[0]||"";return Z(pe)}function ge(){let H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return Array.from({length:Math.min(H,o)}).fill(n)}function he(H,pe){let{quote:X,regex:le}=c(H,pe);return[X,H.replace(le,`\\${X}`),X]}function we(H){let pe=0,X=H.getParentNode(pe);for(;X&&$(X,["SubExpression"]);)pe++,X=H.getParentNode(pe);return!!(X&&$(H.getParentNode(pe+1),["ConcatStatement"])&&$(H.getParentNode(pe+2),["AttrNode"]))}function ke(H,pe){let X=Ne(H,pe),le=Pe(H,pe);return le?i([X,p,a(le)]):X}function Re(H,pe){let X=Ne(H,pe),le=Pe(H,pe);return le?[i([X,p,le]),y]:X}function Ne(H,pe){return pe("path")}function Pe(H,pe){let X=H.getValue(),le=[];if(X.params.length>0){let Ae=H.map(pe,"params");le.push(...Ae)}if(X.hash&&X.hash.pairs.length>0){let Ae=pe("hash");le.push(Ae)}return le.length===0?"":l(p,le)}function oe(H){return["as |",H.blockParams.join(" "),"|"]}r.exports={print:d,massageAstNode:w}}}),Qd=te({"src/language-handlebars/parsers.js"(){ne()}}),Zd=te({"node_modules/linguist-languages/data/Handlebars.json"(e,r){r.exports={name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",languageId:155}}}),eg=te({"src/language-handlebars/index.js"(e,r){"use strict";ne();var t=_t(),s=Yd(),a=Qd(),n=[t(Zd(),()=>({since:"2.3.0",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}))],u={glimmer:s};r.exports={languages:n,printers:u,parsers:a}}}),tg=te({"src/language-graphql/pragma.js"(e,r){"use strict";ne();function t(a){return/^\s*#[^\S\n]*@(?:format|prettier)\s*(?:\n|$)/.test(a)}function s(a){return`# @format - -`+a}r.exports={hasPragma:t,insertPragma:s}}}),rg=te({"src/language-graphql/loc.js"(e,r){"use strict";ne();function t(a){return typeof a.start=="number"?a.start:a.loc&&a.loc.start}function s(a){return typeof a.end=="number"?a.end:a.loc&&a.loc.end}r.exports={locStart:t,locEnd:s}}}),ng=te({"src/language-graphql/printer-graphql.js"(e,r){"use strict";ne();var{builders:{join:t,hardline:s,line:a,softline:n,group:u,indent:i,ifBreak:l}}=qe(),{isNextLineEmpty:p,isNonEmptyArray:y}=Ue(),{insertPragma:h}=tg(),{locStart:g,locEnd:c}=rg();function f(P,$,D){let T=P.getValue();if(!T)return"";if(typeof T=="string")return T;switch(T.kind){case"Document":{let m=[];return P.each((C,o,d)=>{m.push(D()),o!==d.length-1&&(m.push(s),p($.originalText,C.getValue(),c)&&m.push(s))},"definitions"),[...m,s]}case"OperationDefinition":{let m=$.originalText[g(T)]!=="{",C=Boolean(T.name);return[m?T.operation:"",m&&C?[" ",D("name")]:"",m&&!C&&y(T.variableDefinitions)?" ":"",y(T.variableDefinitions)?u(["(",i([n,t([l("",", "),n],P.map(D,"variableDefinitions"))]),n,")"]):"",F(P,D,T),T.selectionSet?!m&&!C?"":" ":"",D("selectionSet")]}case"FragmentDefinition":return["fragment ",D("name"),y(T.variableDefinitions)?u(["(",i([n,t([l("",", "),n],P.map(D,"variableDefinitions"))]),n,")"]):""," on ",D("typeCondition"),F(P,D,T)," ",D("selectionSet")];case"SelectionSet":return["{",i([s,t(s,_(P,$,D,"selections"))]),s,"}"];case"Field":return u([T.alias?[D("alias"),": "]:"",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):"",F(P,D,T),T.selectionSet?" ":"",D("selectionSet")]);case"Name":return T.value;case"StringValue":{if(T.block){let m=T.value.replace(/"""/g,"\\$&").split(` -`);return m.length===1&&(m[0]=m[0].trim()),m.every(C=>C==="")&&(m.length=0),t(s,['"""',...m,'"""'])}return['"',T.value.replace(/["\\]/g,"\\$&").replace(/\n/g,"\\n"),'"']}case"IntValue":case"FloatValue":case"EnumValue":return T.value;case"BooleanValue":return T.value?"true":"false";case"NullValue":return"null";case"Variable":return["$",D("name")];case"ListValue":return u(["[",i([n,t([l("",", "),n],P.map(D,"values"))]),n,"]"]);case"ObjectValue":return u(["{",$.bracketSpacing&&T.fields.length>0?" ":"",i([n,t([l("",", "),n],P.map(D,"fields"))]),n,l("",$.bracketSpacing&&T.fields.length>0?" ":""),"}"]);case"ObjectField":case"Argument":return[D("name"),": ",D("value")];case"Directive":return["@",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):""];case"NamedType":return D("name");case"VariableDefinition":return[D("variable"),": ",D("type"),T.defaultValue?[" = ",D("defaultValue")]:"",F(P,D,T)];case"ObjectTypeExtension":case"ObjectTypeDefinition":return[D("description"),T.description?s:"",T.kind==="ObjectTypeExtension"?"extend ":"","type ",D("name"),T.interfaces.length>0?[" implements ",...N(P,$,D)]:"",F(P,D,T),T.fields.length>0?[" {",i([s,t(s,_(P,$,D,"fields"))]),s,"}"]:""];case"FieldDefinition":return[D("description"),T.description?s:"",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):"",": ",D("type"),F(P,D,T)];case"DirectiveDefinition":return[D("description"),T.description?s:"","directive ","@",D("name"),T.arguments.length>0?u(["(",i([n,t([l("",", "),n],_(P,$,D,"arguments"))]),n,")"]):"",T.repeatable?" repeatable":""," on ",t(" | ",P.map(D,"locations"))];case"EnumTypeExtension":case"EnumTypeDefinition":return[D("description"),T.description?s:"",T.kind==="EnumTypeExtension"?"extend ":"","enum ",D("name"),F(P,D,T),T.values.length>0?[" {",i([s,t(s,_(P,$,D,"values"))]),s,"}"]:""];case"EnumValueDefinition":return[D("description"),T.description?s:"",D("name"),F(P,D,T)];case"InputValueDefinition":return[D("description"),T.description?T.description.block?s:a:"",D("name"),": ",D("type"),T.defaultValue?[" = ",D("defaultValue")]:"",F(P,D,T)];case"InputObjectTypeExtension":case"InputObjectTypeDefinition":return[D("description"),T.description?s:"",T.kind==="InputObjectTypeExtension"?"extend ":"","input ",D("name"),F(P,D,T),T.fields.length>0?[" {",i([s,t(s,_(P,$,D,"fields"))]),s,"}"]:""];case"SchemaExtension":return["extend schema",F(P,D,T),...T.operationTypes.length>0?[" {",i([s,t(s,_(P,$,D,"operationTypes"))]),s,"}"]:[]];case"SchemaDefinition":return[D("description"),T.description?s:"","schema",F(P,D,T)," {",T.operationTypes.length>0?i([s,t(s,_(P,$,D,"operationTypes"))]):"",s,"}"];case"OperationTypeDefinition":return[D("operation"),": ",D("type")];case"InterfaceTypeExtension":case"InterfaceTypeDefinition":return[D("description"),T.description?s:"",T.kind==="InterfaceTypeExtension"?"extend ":"","interface ",D("name"),T.interfaces.length>0?[" implements ",...N(P,$,D)]:"",F(P,D,T),T.fields.length>0?[" {",i([s,t(s,_(P,$,D,"fields"))]),s,"}"]:""];case"FragmentSpread":return["...",D("name"),F(P,D,T)];case"InlineFragment":return["...",T.typeCondition?[" on ",D("typeCondition")]:"",F(P,D,T)," ",D("selectionSet")];case"UnionTypeExtension":case"UnionTypeDefinition":return u([D("description"),T.description?s:"",u([T.kind==="UnionTypeExtension"?"extend ":"","union ",D("name"),F(P,D,T),T.types.length>0?[" =",l(""," "),i([l([a," "]),t([a,"| "],P.map(D,"types"))])]:""])]);case"ScalarTypeExtension":case"ScalarTypeDefinition":return[D("description"),T.description?s:"",T.kind==="ScalarTypeExtension"?"extend ":"","scalar ",D("name"),F(P,D,T)];case"NonNullType":return[D("type"),"!"];case"ListType":return["[",D("type"),"]"];default:throw new Error("unknown graphql type: "+JSON.stringify(T.kind))}}function F(P,$,D){if(D.directives.length===0)return"";let T=t(a,P.map($,"directives"));return D.kind==="FragmentDefinition"||D.kind==="OperationDefinition"?u([a,T]):[" ",u(i([n,T]))]}function _(P,$,D,T){return P.map((m,C,o)=>{let d=D();return CD(d),"interfaces");for(let d=0;dT.value.trim()==="prettier-ignore")}r.exports={print:f,massageAstNode:x,hasPrettierIgnore:I,insertPragma:h,printComment:E,canAttachComment:w}}}),ug=te({"src/language-graphql/options.js"(e,r){"use strict";ne();var t=Mt();r.exports={bracketSpacing:t.bracketSpacing}}}),sg=te({"src/language-graphql/parsers.js"(){ne()}}),ig=te({"node_modules/linguist-languages/data/GraphQL.json"(e,r){r.exports={name:"GraphQL",type:"data",color:"#e10098",extensions:[".graphql",".gql",".graphqls"],tmScope:"source.graphql",aceMode:"text",languageId:139}}}),ag=te({"src/language-graphql/index.js"(e,r){"use strict";ne();var t=_t(),s=ng(),a=ug(),n=sg(),u=[t(ig(),()=>({since:"1.5.0",parsers:["graphql"],vscodeLanguageIds:["graphql"]}))],i={graphql:s};r.exports={languages:u,options:a,printers:i,parsers:n}}}),Po=te({"node_modules/collapse-white-space/index.js"(e,r){"use strict";ne(),r.exports=t;function t(s){return String(s).replace(/\s+/g," ")}}}),Io=te({"src/language-markdown/loc.js"(e,r){"use strict";ne();function t(a){return a.position.start.offset}function s(a){return a.position.end.offset}r.exports={locStart:t,locEnd:s}}}),og=te({"src/language-markdown/constants.evaluate.js"(e,r){r.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),iu=te({"src/language-markdown/utils.js"(e,r){"use strict";ne();var{getLast:t}=Ue(),{locStart:s,locEnd:a}=Io(),{cjkPattern:n,kPattern:u,punctuationPattern:i}=og(),l=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],p=[...l,"tableCell","paragraph","heading"],y=new RegExp(u),h=new RegExp(i);function g(E,N){let x="non-cjk",I="cj-letter",P="k-letter",$="cjk-punctuation",D=[],T=(N.proseWrap==="preserve"?E:E.replace(new RegExp(`(${n}) -(${n})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[C,o]of T.entries()){if(C%2===1){D.push({type:"whitespace",value:/\n/.test(o)?` -`:" "});continue}if((C===0||C===T.length-1)&&o==="")continue;let d=o.split(new RegExp(`(${n})`));for(let[v,S]of d.entries())if(!((v===0||v===d.length-1)&&S==="")){if(v%2===0){S!==""&&m({type:"word",value:S,kind:x,hasLeadingPunctuation:h.test(S[0]),hasTrailingPunctuation:h.test(t(S))});continue}m(h.test(S)?{type:"word",value:S,kind:$,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:S,kind:y.test(S)?P:I,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return D;function m(C){let o=t(D);o&&o.type==="word"&&(o.kind===x&&C.kind===I&&!o.hasTrailingPunctuation||o.kind===I&&C.kind===x&&!C.hasLeadingPunctuation?D.push({type:"whitespace",value:" "}):!d(x,$)&&![o.value,C.value].some(v=>/\u3000/.test(v))&&D.push({type:"whitespace",value:""})),D.push(C);function d(v,S){return o.kind===v&&C.kind===S||o.kind===S&&C.kind===v}}}function c(E,N){let[,x,I,P]=N.slice(E.position.start.offset,E.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:x,marker:I,leadingSpaces:P}}function f(E,N){if(!E.ordered||E.children.length<2)return!1;let x=Number(c(E.children[0],N.originalText).numberText),I=Number(c(E.children[1],N.originalText).numberText);if(x===0&&E.children.length>2){let P=Number(c(E.children[2],N.originalText).numberText);return I===1&&P===1}return I===1}function F(E,N){let{value:x}=E;return E.position.end.offset===N.length&&x.endsWith(` -`)&&N.endsWith(` -`)?x.slice(0,-1):x}function _(E,N){return function x(I,P,$){let D=Object.assign({},N(I,P,$));return D.children&&(D.children=D.children.map((T,m)=>x(T,m,[D,...$]))),D}(E,null,[])}function w(E){if((E==null?void 0:E.type)!=="link"||E.children.length!==1)return!1;let[N]=E.children;return s(E)===s(N)&&a(E)===a(N)}r.exports={mapAst:_,splitText:g,punctuationPattern:i,getFencedCodeBlockValue:F,getOrderedListItemInfo:c,hasGitDiffFriendlyOrderedList:f,INLINE_NODE_TYPES:l,INLINE_NODE_WRAPPER_TYPES:p,isAutolink:w}}}),lg=te({"src/language-markdown/embed.js"(e,r){"use strict";ne();var{inferParserByLanguage:t,getMaxContinuousCount:s}=Ue(),{builders:{hardline:a,markAsRoot:n},utils:{replaceEndOfLine:u}}=qe(),i=su(),{getFencedCodeBlockValue:l}=iu();function p(y,h,g,c){let f=y.getValue();if(f.type==="code"&&f.lang!==null){let F=t(f.lang,c);if(F){let _=c.__inJsTemplate?"~":"`",w=_.repeat(Math.max(3,s(f.value,_)+1)),E={parser:F};f.lang==="tsx"&&(E.filepath="dummy.tsx");let N=g(l(f,c.originalText),E,{stripTrailingHardline:!0});return n([w,f.lang,f.meta?" "+f.meta:"",a,u(N),a,w])}}switch(f.type){case"front-matter":return i(f,g);case"importExport":return[g(f.value,{parser:"babel"},{stripTrailingHardline:!0}),a];case"jsx":return g(`<$>${f.value}`,{parser:"__js_expression",rootMarker:"mdx"},{stripTrailingHardline:!0})}return null}r.exports=p}}),ko=te({"src/language-markdown/pragma.js"(e,r){"use strict";ne();var t=_o(),s=["format","prettier"];function a(n){let u=`@(${s.join("|")})`,i=new RegExp([``,`{\\s*\\/\\*\\s*${u}\\s*\\*\\/\\s*}`,``].join("|"),"m"),l=n.match(i);return(l==null?void 0:l.index)===0}r.exports={startWithPragma:a,hasPragma:n=>a(t(n).content.trimStart()),insertPragma:n=>{let u=t(n),i=``;return u.frontMatter?`${u.frontMatter.raw} - -${i} - -${u.content}`:`${i} - -${u.content}`}}}}),cg=te({"src/language-markdown/print-preprocess.js"(e,r){"use strict";ne();var t=lt(),{getOrderedListItemInfo:s,mapAst:a,splitText:n}=iu(),u=/^.$/su;function i(w,E){return w=y(w,E),w=c(w),w=p(w,E),w=F(w,E),w=_(w,E),w=f(w,E),w=l(w),w=h(w),w}function l(w){return a(w,E=>E.type!=="import"&&E.type!=="export"?E:Object.assign(Object.assign({},E),{},{type:"importExport"}))}function p(w,E){return a(w,N=>N.type!=="inlineCode"||E.proseWrap==="preserve"?N:Object.assign(Object.assign({},N),{},{value:N.value.replace(/\s+/g," ")}))}function y(w,E){return a(w,N=>N.type!=="text"||N.value==="*"||N.value==="_"||!u.test(N.value)||N.position.end.offset-N.position.start.offset===N.value.length?N:Object.assign(Object.assign({},N),{},{value:E.originalText.slice(N.position.start.offset,N.position.end.offset)}))}function h(w){return g(w,(E,N)=>E.type==="importExport"&&N.type==="importExport",(E,N)=>({type:"importExport",value:E.value+` - -`+N.value,position:{start:E.position.start,end:N.position.end}}))}function g(w,E,N){return a(w,x=>{if(!x.children)return x;let I=x.children.reduce((P,$)=>{let D=t(P);return D&&E(D,$)?P.splice(-1,1,N(D,$)):P.push($),P},[]);return Object.assign(Object.assign({},x),{},{children:I})})}function c(w){return g(w,(E,N)=>E.type==="text"&&N.type==="text",(E,N)=>({type:"text",value:E.value+N.value,position:{start:E.position.start,end:N.position.end}}))}function f(w,E){return a(w,(N,x,I)=>{let[P]=I;if(N.type!=="text")return N;let{value:$}=N;return P.type==="paragraph"&&(x===0&&($=$.trimStart()),x===P.children.length-1&&($=$.trimEnd())),{type:"sentence",position:N.position,children:n($,E)}})}function F(w,E){return a(w,(N,x,I)=>{if(N.type==="code"){let P=/^\n?(?: {4,}|\t)/.test(E.originalText.slice(N.position.start.offset,N.position.end.offset));if(N.isIndented=P,P)for(let $=0;${if(I.type==="list"&&I.children.length>0){for(let D=0;D<$.length;D++){let T=$[D];if(T.type==="list"&&!T.isAligned)return I.isAligned=!1,I}I.isAligned=x(I)}return I});function N(I){return I.children.length===0?-1:I.children[0].position.start.column-1}function x(I){if(!I.ordered)return!0;let[P,$]=I.children;if(s(P,E.originalText).leadingSpaces.length>1)return!0;let T=N(P);if(T===-1)return!1;if(I.children.length===1)return T%E.tabWidth===0;let m=N($);return T!==m?!1:T%E.tabWidth===0?!0:s($,E.originalText).leadingSpaces.length>1}}r.exports=i}}),pg=te({"src/language-markdown/clean.js"(e,r){"use strict";ne();var t=Po(),{isFrontMatterNode:s}=Ue(),{startWithPragma:a}=ko(),n=new Set(["position","raw"]);function u(i,l,p){if((i.type==="front-matter"||i.type==="code"||i.type==="yaml"||i.type==="import"||i.type==="export"||i.type==="jsx")&&delete l.value,i.type==="list"&&delete l.isAligned,(i.type==="list"||i.type==="listItem")&&(delete l.spread,delete l.loose),i.type==="text"||(i.type==="inlineCode"&&(l.value=i.value.replace(/[\t\n ]+/g," ")),i.type==="wikiLink"&&(l.value=i.value.trim().replace(/[\t\n]+/g," ")),(i.type==="definition"||i.type==="linkReference"||i.type==="imageReference")&&(l.label=t(i.label)),(i.type==="definition"||i.type==="link"||i.type==="image")&&i.title&&(l.title=i.title.replace(/\\(["')])/g,"$1")),p&&p.type==="root"&&p.children.length>0&&(p.children[0]===i||s(p.children[0])&&p.children[1]===i)&&i.type==="html"&&a(i.value)))return null}u.ignoredProperties=n,r.exports=u}}),fg=te({"src/language-markdown/printer-markdown.js"(e,r){"use strict";ne();var t=Po(),{getLast:s,getMinNotPresentContinuousCount:a,getMaxContinuousCount:n,getStringWidth:u,isNonEmptyArray:i}=Ue(),{builders:{breakParent:l,join:p,line:y,literalline:h,markAsRoot:g,hardline:c,softline:f,ifBreak:F,fill:_,align:w,indent:E,group:N,hardlineWithoutBreakParent:x},utils:{normalizeDoc:I,replaceTextEndOfLine:P},printer:{printDocToString:$}}=qe(),D=lg(),{insertPragma:T}=ko(),{locStart:m,locEnd:C}=Io(),o=cg(),d=pg(),{getFencedCodeBlockValue:v,hasGitDiffFriendlyOrderedList:S,splitText:b,punctuationPattern:B,INLINE_NODE_TYPES:k,INLINE_NODE_WRAPPER_TYPES:M,isAutolink:R}=iu(),q=new Set(["importExport"]),J=["heading","tableCell","link","wikiLink"],L=new Set(["listItem","definition","footnoteDefinition"]);function Q(oe,H,pe){let X=oe.getValue();if(ge(oe))return b(H.originalText.slice(X.position.start.offset,X.position.end.offset),H).map(le=>le.type==="word"?le.value:le.value===""?"":W(oe,le.value,H));switch(X.type){case"front-matter":return H.originalText.slice(X.position.start.offset,X.position.end.offset);case"root":return X.children.length===0?"":[I(de(oe,H,pe)),q.has(z(X).type)?"":c];case"paragraph":return ue(oe,H,pe,{postprocessor:_});case"sentence":return ue(oe,H,pe);case"word":{let le=X.value.replace(/\*/g,"\\$&").replace(new RegExp([`(^|${B})(_+)`,`(_+)(${B}|$)`].join("|"),"g"),(De,A,G,re,ye)=>(G?`${A}${G}`:`${re}${ye}`).replace(/_/g,"\\_")),Ae=(De,A,G)=>De.type==="sentence"&&G===0,Ee=(De,A,G)=>R(De.children[G-1]);return le!==X.value&&(oe.match(void 0,Ae,Ee)||oe.match(void 0,Ae,(De,A,G)=>De.type==="emphasis"&&G===0,Ee))&&(le=le.replace(/^(\\?[*_])+/,De=>De.replace(/\\/g,""))),le}case"whitespace":{let le=oe.getParentNode(),Ae=le.children.indexOf(X),Ee=le.children[Ae+1],De=Ee&&/^>|^(?:[*+-]|#{1,6}|\d+[).])$/.test(Ee.value)?"never":H.proseWrap;return W(oe,X.value,{proseWrap:De})}case"emphasis":{let le;if(R(X.children[0]))le=H.originalText[X.position.start.offset];else{let Ae=oe.getParentNode(),Ee=Ae.children.indexOf(X),De=Ae.children[Ee-1],A=Ae.children[Ee+1];le=De&&De.type==="sentence"&&De.children.length>0&&s(De.children).type==="word"&&!s(De.children).hasTrailingPunctuation||A&&A.type==="sentence"&&A.children.length>0&&A.children[0].type==="word"&&!A.children[0].hasLeadingPunctuation||ce(oe,"emphasis")?"*":"_"}return[le,ue(oe,H,pe),le]}case"strong":return["**",ue(oe,H,pe),"**"];case"delete":return["~~",ue(oe,H,pe),"~~"];case"inlineCode":{let le=a(X.value,"`"),Ae="`".repeat(le||1),Ee=le&&!/^\s/.test(X.value)?" ":"";return[Ae,Ee,X.value,Ee,Ae]}case"wikiLink":{let le="";return H.proseWrap==="preserve"?le=X.value:le=X.value.replace(/[\t\n]+/g," "),["[[",le,"]]"]}case"link":switch(H.originalText[X.position.start.offset]){case"<":{let le="mailto:";return["<",X.url.startsWith(le)&&H.originalText.slice(X.position.start.offset+1,X.position.start.offset+1+le.length)!==le?X.url.slice(le.length):X.url,">"]}case"[":return["[",ue(oe,H,pe),"](",he(X.url,")"),we(X.title,H),")"];default:return H.originalText.slice(X.position.start.offset,X.position.end.offset)}case"image":return["![",X.alt||"","](",he(X.url,")"),we(X.title,H),")"];case"blockquote":return["> ",w("> ",ue(oe,H,pe))];case"heading":return["#".repeat(X.depth)+" ",ue(oe,H,pe)];case"code":{if(X.isIndented){let Ee=" ".repeat(4);return w(Ee,[Ee,...P(X.value,c)])}let le=H.__inJsTemplate?"~":"`",Ae=le.repeat(Math.max(3,n(X.value,le)+1));return[Ae,X.lang||"",X.meta?" "+X.meta:"",c,...P(v(X,H.originalText),c),c,Ae]}case"html":{let le=oe.getParentNode(),Ae=le.type==="root"&&s(le.children)===X?X.value.trimEnd():X.value,Ee=/^$/s.test(Ae);return P(Ae,Ee?c:g(h))}case"list":{let le=Y(X,oe.getParentNode()),Ae=S(X,H);return ue(oe,H,pe,{processor:(Ee,De)=>{let A=re(),G=Ee.getValue();if(G.children.length===2&&G.children[1].type==="html"&&G.children[0].position.start.column!==G.children[1].position.start.column)return[A,V(Ee,H,pe,A)];return[A,w(" ".repeat(A.length),V(Ee,H,pe,A))];function re(){let ye=X.ordered?(De===0?X.start:Ae?1:X.start+De)+(le%2===0?". ":") "):le%2===0?"- ":"* ";return X.isAligned||X.hasIndentedCodeblock?j(ye,H):ye}}})}case"thematicBreak":{let le=ee(oe,"list");return le===-1?"---":Y(oe.getParentNode(le),oe.getParentNode(le+1))%2===0?"***":"---"}case"linkReference":return["[",ue(oe,H,pe),"]",X.referenceType==="full"?Ne(X):X.referenceType==="collapsed"?"[]":""];case"imageReference":switch(X.referenceType){case"full":return["![",X.alt||"","]",Ne(X)];default:return["![",X.alt,"]",X.referenceType==="collapsed"?"[]":""]}case"definition":{let le=H.proseWrap==="always"?y:" ";return N([Ne(X),":",E([le,he(X.url),X.title===null?"":[le,we(X.title,H,!1)]])])}case"footnote":return["[^",ue(oe,H,pe),"]"];case"footnoteReference":return Pe(X);case"footnoteDefinition":{let le=oe.getParentNode().children[oe.getName()+1],Ae=X.children.length===1&&X.children[0].type==="paragraph"&&(H.proseWrap==="never"||H.proseWrap==="preserve"&&X.children[0].position.start.line===X.children[0].position.end.line);return[Pe(X),": ",Ae?ue(oe,H,pe):N([w(" ".repeat(4),ue(oe,H,pe,{processor:(Ee,De)=>De===0?N([f,pe()]):pe()})),le&&le.type==="footnoteDefinition"?f:""])]}case"table":return K(oe,H,pe);case"tableCell":return ue(oe,H,pe);case"break":return/\s/.test(H.originalText[X.position.start.offset])?[" ",g(h)]:["\\",c];case"liquidNode":return P(X.value,c);case"importExport":return[X.value,c];case"esComment":return["{/* ",X.value," */}"];case"jsx":return X.value;case"math":return["$$",c,X.value?[...P(X.value,c),c]:"","$$"];case"inlineMath":return H.originalText.slice(m(X),C(X));case"tableRow":case"listItem":default:throw new Error(`Unknown markdown type ${JSON.stringify(X.type)}`)}}function V(oe,H,pe,X){let le=oe.getValue(),Ae=le.checked===null?"":le.checked?"[x] ":"[ ] ";return[Ae,ue(oe,H,pe,{processor:(Ee,De)=>{if(De===0&&Ee.getValue().type!=="list")return w(" ".repeat(Ae.length),pe());let A=" ".repeat(ke(H.tabWidth-X.length,0,3));return[A,w(A,pe())]}})]}function j(oe,H){let pe=X();return oe+" ".repeat(pe>=4?0:pe);function X(){let le=oe.length%H.tabWidth;return le===0?0:H.tabWidth-le}}function Y(oe,H){return ie(oe,H,pe=>pe.ordered===oe.ordered)}function ie(oe,H,pe){let X=-1;for(let le of H.children)if(le.type===oe.type&&pe(le)?X++:X=-1,le===oe)return X}function ee(oe,H){let pe=Array.isArray(H)?H:[H],X=-1,le;for(;le=oe.getParentNode(++X);)if(pe.includes(le.type))return X;return-1}function ce(oe,H){let pe=ee(oe,H);return pe===-1?null:oe.getParentNode(pe)}function W(oe,H,pe){if(pe.proseWrap==="preserve"&&H===` -`)return c;let X=pe.proseWrap==="always"&&!ce(oe,J);return H!==""?X?y:" ":X?f:""}function K(oe,H,pe){let X=oe.getValue(),le=[],Ae=oe.map(ye=>ye.map((Ce,Be)=>{let ve=$(pe(),H).formatted,ze=u(ve);return le[Be]=Math.max(le[Be]||3,ze),{text:ve,width:ze}},"children"),"children"),Ee=A(!1);if(H.proseWrap!=="never")return[l,Ee];let De=A(!0);return[l,N(F(De,Ee))];function A(ye){let Ce=[re(Ae[0],ye),G(ye)];return Ae.length>1&&Ce.push(p(x,Ae.slice(1).map(Be=>re(Be,ye)))),p(x,Ce)}function G(ye){return`| ${le.map((Be,ve)=>{let ze=X.align[ve],be=ze==="center"||ze==="left"?":":"-",Ye=ze==="center"||ze==="right"?":":"-",Se=ye?"-":"-".repeat(Be-2);return`${be}${Se}${Ye}`}).join(" | ")} |`}function re(ye,Ce){return`| ${ye.map((ve,ze)=>{let{text:be,width:Ye}=ve;if(Ce)return be;let Se=le[ze]-Ye,Ie=X.align[ze],Oe=0;Ie==="right"?Oe=Se:Ie==="center"&&(Oe=Math.floor(Se/2));let Je=Se-Oe;return`${" ".repeat(Oe)}${be}${" ".repeat(Je)}`}).join(" | ")} |`}}function de(oe,H,pe){let X=[],le=null,{children:Ae}=oe.getValue();for(let[Ee,De]of Ae.entries())switch(U(De)){case"start":le===null&&(le={index:Ee,offset:De.position.end.offset});break;case"end":le!==null&&(X.push({start:le,end:{index:Ee,offset:De.position.start.offset}}),le=null);break;default:break}return ue(oe,H,pe,{processor:(Ee,De)=>{if(X.length>0){let A=X[0];if(De===A.start.index)return[Fe(Ae[A.start.index]),H.originalText.slice(A.start.offset,A.end.offset),Fe(Ae[A.end.index])];if(A.start.index3&&arguments[3]!==void 0?arguments[3]:{},{postprocessor:le}=X,Ae=X.processor||(()=>pe()),Ee=oe.getValue(),De=[],A;return oe.each((G,re)=>{let ye=G.getValue(),Ce=Ae(G,re);if(Ce!==!1){let Be={parts:De,prevNode:A,parentNode:Ee,options:H};Z(ye,Be)&&(De.push(c),A&&q.has(A.type)||(se(ye,Be)||fe(ye,Be))&&De.push(c),fe(ye,Be)&&De.push(c)),De.push(Ce),A=ye}},"children"),le?le(De):De}function Fe(oe){if(oe.type==="html")return oe.value;if(oe.type==="paragraph"&&Array.isArray(oe.children)&&oe.children.length===1&&oe.children[0].type==="esComment")return["{/* ",oe.children[0].value," */}"]}function z(oe){let H=oe;for(;i(H.children);)H=s(H.children);return H}function U(oe){let H;if(oe.type==="html")H=oe.value.match(/^$/);else{let pe;oe.type==="esComment"?pe=oe:oe.type==="paragraph"&&oe.children.length===1&&oe.children[0].type==="esComment"&&(pe=oe.children[0]),pe&&(H=pe.value.match(/^prettier-ignore(?:-(start|end))?$/))}return H?H[1]||"next":!1}function Z(oe,H){let pe=H.parts.length===0,X=k.includes(oe.type),le=oe.type==="html"&&M.includes(H.parentNode.type);return!pe&&!X&&!le}function se(oe,H){var pe,X,le;let Ee=(H.prevNode&&H.prevNode.type)===oe.type&&L.has(oe.type),De=H.parentNode.type==="listItem"&&!H.parentNode.loose,A=((pe=H.prevNode)===null||pe===void 0?void 0:pe.type)==="listItem"&&H.prevNode.loose,G=U(H.prevNode)==="next",re=oe.type==="html"&&((X=H.prevNode)===null||X===void 0?void 0:X.type)==="html"&&H.prevNode.position.end.line+1===oe.position.start.line,ye=oe.type==="html"&&H.parentNode.type==="listItem"&&((le=H.prevNode)===null||le===void 0?void 0:le.type)==="paragraph"&&H.prevNode.position.end.line+1===oe.position.start.line;return A||!(Ee||De||G||re||ye)}function fe(oe,H){let pe=H.prevNode&&H.prevNode.type==="list",X=oe.type==="code"&&oe.isIndented;return pe&&X}function ge(oe){let H=ce(oe,["linkReference","imageReference"]);return H&&(H.type!=="linkReference"||H.referenceType!=="full")}function he(oe){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],pe=[" ",...Array.isArray(H)?H:[H]];return new RegExp(pe.map(X=>`\\${X}`).join("|")).test(oe)?`<${oe}>`:oe}function we(oe,H){let pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!oe)return"";if(pe)return" "+we(oe,H,!1);if(oe=oe.replace(/\\(["')])/g,"$1"),oe.includes('"')&&oe.includes("'")&&!oe.includes(")"))return`(${oe})`;let X=oe.split("'").length-1,le=oe.split('"').length-1,Ae=X>le?'"':le>X||H.singleQuote?"'":'"';return oe=oe.replace(/\\/,"\\\\"),oe=oe.replace(new RegExp(`(${Ae})`,"g"),"\\$1"),`${Ae}${oe}${Ae}`}function ke(oe,H,pe){return oepe?pe:oe}function Re(oe){let H=Number(oe.getName());if(H===0)return!1;let pe=oe.getParentNode().children[H-1];return U(pe)==="next"}function Ne(oe){return`[${t(oe.label)}]`}function Pe(oe){return`[^${oe.label}]`}r.exports={preprocess:o,print:Q,embed:D,massageAstNode:d,hasPrettierIgnore:Re,insertPragma:T}}}),Dg=te({"src/language-markdown/options.js"(e,r){"use strict";ne();var t=Mt();r.exports={proseWrap:t.proseWrap,singleQuote:t.singleQuote}}}),mg=te({"src/language-markdown/parsers.js"(){ne()}}),_a=te({"node_modules/linguist-languages/data/Markdown.json"(e,r){r.exports={name:"Markdown",type:"prose",color:"#083fa1",aliases:["pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".md",".livemd",".markdown",".mdown",".mdwn",".mdx",".mkd",".mkdn",".mkdown",".ronn",".scd",".workbook"],filenames:["contents.lr"],tmScope:"source.gfm",languageId:222}}}),dg=te({"src/language-markdown/index.js"(e,r){"use strict";ne();var t=_t(),s=fg(),a=Dg(),n=mg(),u=[t(_a(),l=>({since:"1.8.0",parsers:["markdown"],vscodeLanguageIds:["markdown"],filenames:[...l.filenames,"README"],extensions:l.extensions.filter(p=>p!==".mdx")})),t(_a(),()=>({name:"MDX",since:"1.15.0",parsers:["mdx"],vscodeLanguageIds:["mdx"],filenames:[],extensions:[".mdx"]}))],i={mdast:s};r.exports={languages:u,options:a,printers:i,parsers:n}}}),gg=te({"src/language-html/clean.js"(e,r){"use strict";ne();var{isFrontMatterNode:t}=Ue(),s=new Set(["sourceSpan","startSourceSpan","endSourceSpan","nameSpan","valueSpan"]);function a(n,u){if(n.type==="text"||n.type==="comment"||t(n)||n.type==="yaml"||n.type==="toml")return null;n.type==="attribute"&&delete u.value,n.type==="docType"&&delete u.value}a.ignoredProperties=s,r.exports=a}}),yg=te({"src/language-html/constants.evaluate.js"(e,r){r.exports={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"}}}),hg=te({"src/language-html/utils/is-unknown-namespace.js"(e,r){"use strict";ne();function t(s){return s.type==="element"&&!s.hasExplicitNamespace&&!["html","svg"].includes(s.namespace)}r.exports=t}}),Rt=te({"src/language-html/utils/index.js"(e,r){"use strict";ne();var{inferParserByLanguage:t,isFrontMatterNode:s}=Ue(),{builders:{line:a,hardline:n,join:u},utils:{getDocParts:i,replaceTextEndOfLine:l}}=qe(),{CSS_DISPLAY_TAGS:p,CSS_DISPLAY_DEFAULT:y,CSS_WHITE_SPACE_TAGS:h,CSS_WHITE_SPACE_DEFAULT:g}=yg(),c=hg(),f=new Set([" ",` -`,"\f","\r"," "]),F=A=>A.replace(/^[\t\n\f\r ]+/,""),_=A=>A.replace(/[\t\n\f\r ]+$/,""),w=A=>F(_(A)),E=A=>A.replace(/^[\t\f\r ]*\n/g,""),N=A=>E(_(A)),x=A=>A.split(/[\t\n\f\r ]+/),I=A=>A.match(/^[\t\n\f\r ]*/)[0],P=A=>{let[,G,re,ye]=A.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s);return{leadingWhitespace:G,trailingWhitespace:ye,text:re}},$=A=>/[\t\n\f\r ]/.test(A);function D(A,G){return!!(A.type==="ieConditionalComment"&&A.lastChild&&!A.lastChild.isSelfClosing&&!A.lastChild.endSourceSpan||A.type==="ieConditionalComment"&&!A.complete||se(A)&&A.children.some(re=>re.type!=="text"&&re.type!=="interpolation")||X(A,G)&&!o(A)&&A.type!=="interpolation")}function T(A){return A.type==="attribute"||!A.parent||!A.prev?!1:m(A.prev)}function m(A){return A.type==="comment"&&A.value.trim()==="prettier-ignore"}function C(A){return A.type==="text"||A.type==="comment"}function o(A){return A.type==="element"&&(A.fullName==="script"||A.fullName==="style"||A.fullName==="svg:style"||c(A)&&(A.name==="script"||A.name==="style"))}function d(A){return A.children&&!o(A)}function v(A){return o(A)||A.type==="interpolation"||S(A)}function S(A){return we(A).startsWith("pre")}function b(A,G){let re=ye();if(re&&!A.prev&&A.parent&&A.parent.tagDefinition&&A.parent.tagDefinition.ignoreFirstLf)return A.type==="interpolation";return re;function ye(){return s(A)?!1:(A.type==="text"||A.type==="interpolation")&&A.prev&&(A.prev.type==="text"||A.prev.type==="interpolation")?!0:!A.parent||A.parent.cssDisplay==="none"?!1:se(A.parent)?!0:!(!A.prev&&(A.parent.type==="root"||se(A)&&A.parent||o(A.parent)||H(A.parent,G)||!ue(A.parent.cssDisplay))||A.prev&&!U(A.prev.cssDisplay))}}function B(A,G){return s(A)?!1:(A.type==="text"||A.type==="interpolation")&&A.next&&(A.next.type==="text"||A.next.type==="interpolation")?!0:!A.parent||A.parent.cssDisplay==="none"?!1:se(A.parent)?!0:!(!A.next&&(A.parent.type==="root"||se(A)&&A.parent||o(A.parent)||H(A.parent,G)||!Fe(A.parent.cssDisplay))||A.next&&!z(A.next.cssDisplay))}function k(A){return Z(A.cssDisplay)&&!o(A)}function M(A){return s(A)||A.next&&A.sourceSpan.end&&A.sourceSpan.end.line+10&&(["body","script","style"].includes(A.name)||A.children.some(G=>ee(G)))||A.firstChild&&A.firstChild===A.lastChild&&A.firstChild.type!=="text"&&V(A.firstChild)&&(!A.lastChild.isTrailingSpaceSensitive||j(A.lastChild))}function q(A){return A.type==="element"&&A.children.length>0&&(["html","head","ul","ol","select"].includes(A.name)||A.cssDisplay.startsWith("table")&&A.cssDisplay!=="table-cell")}function J(A){return Y(A)||A.prev&&L(A.prev)||Q(A)}function L(A){return Y(A)||A.type==="element"&&A.fullName==="br"||Q(A)}function Q(A){return V(A)&&j(A)}function V(A){return A.hasLeadingSpaces&&(A.prev?A.prev.sourceSpan.end.lineA.sourceSpan.end.line:A.parent.type==="root"||A.parent.endSourceSpan&&A.parent.endSourceSpan.start.line>A.sourceSpan.end.line)}function Y(A){switch(A.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(A.name)}return!1}function ie(A){return A.lastChild?ie(A.lastChild):A}function ee(A){return A.children&&A.children.some(G=>G.type!=="text")}function ce(A){let{type:G,lang:re}=A.attrMap;if(G==="module"||G==="text/javascript"||G==="text/babel"||G==="application/javascript"||re==="jsx")return"babel";if(G==="application/x-typescript"||re==="ts"||re==="tsx")return"typescript";if(G==="text/markdown")return"markdown";if(G==="text/html")return"html";if(G&&(G.endsWith("json")||G.endsWith("importmap"))||G==="speculationrules")return"json";if(G==="text/x-handlebars-template")return"glimmer"}function W(A,G){let{lang:re}=A.attrMap;if(!re||re==="postcss"||re==="css")return"css";if(re==="scss")return"scss";if(re==="less")return"less";if(re==="stylus")return t("stylus",G)}function K(A,G){if(A.name==="script"&&!A.attrMap.src)return!A.attrMap.lang&&!A.attrMap.type?"babel":ce(A);if(A.name==="style")return W(A,G);if(G&&X(A,G))return ce(A)||!("src"in A.attrMap)&&t(A.attrMap.lang,G)}function de(A){return A==="block"||A==="list-item"||A.startsWith("table")}function ue(A){return!de(A)&&A!=="inline-block"}function Fe(A){return!de(A)&&A!=="inline-block"}function z(A){return!de(A)}function U(A){return!de(A)}function Z(A){return!de(A)&&A!=="inline-block"}function se(A){return we(A).startsWith("pre")}function fe(A,G){let re=0;for(let ye=A.stack.length-1;ye>=0;ye--){let Ce=A.stack[ye];Ce&&typeof Ce=="object"&&!Array.isArray(Ce)&&G(Ce)&&re++}return re}function ge(A,G){let re=A;for(;re;){if(G(re))return!0;re=re.parent}return!1}function he(A,G){if(A.prev&&A.prev.type==="comment"){let ye=A.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);if(ye)return ye[1]}let re=!1;if(A.type==="element"&&A.namespace==="svg")if(ge(A,ye=>ye.fullName==="svg:foreignObject"))re=!0;else return A.name==="svg"?"inline-block":"block";switch(G.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return G.parser==="vue"&&A.parent&&A.parent.type==="root"?"block":A.type==="element"&&(!A.namespace||re||c(A))&&p[A.name]||y}}function we(A){return A.type==="element"&&(!A.namespace||c(A))&&h[A.name]||g}function ke(A){let G=Number.POSITIVE_INFINITY;for(let re of A.split(` -`)){if(re.length===0)continue;if(!f.has(re[0]))return 0;let ye=I(re).length;re.length!==ye&&ye1&&arguments[1]!==void 0?arguments[1]:ke(A);return G===0?A:A.split(` -`).map(re=>re.slice(G)).join(` -`)}function Ne(A,G){let re=0;for(let ye=0;ye1&&arguments[1]!==void 0?arguments[1]:A.value;return A.parent.isWhitespaceSensitive?A.parent.isIndentationSensitive?l(G):l(Re(N(G)),n):i(u(a,x(G)))}function De(A,G){return pe(A,G)&&A.name==="script"}r.exports={htmlTrim:w,htmlTrimPreserveIndentation:N,hasHtmlWhitespace:$,getLeadingAndTrailingHtmlWhitespace:P,canHaveInterpolation:d,countChars:Ne,countParents:fe,dedentString:Re,forceBreakChildren:q,forceBreakContent:R,forceNextEmptyLine:M,getLastDescendant:ie,getNodeCssStyleDisplay:he,getNodeCssStyleWhiteSpace:we,hasPrettierIgnore:T,inferScriptParser:K,isVueCustomBlock:H,isVueNonHtmlBlock:X,isVueScriptTag:De,isVueSlotAttribute:le,isVueSfcBindingsAttribute:Ae,isVueSfcBlock:pe,isDanglingSpaceSensitiveNode:k,isIndentationSensitiveNode:S,isLeadingSpaceSensitiveNode:b,isPreLikeNode:se,isScriptLikeTag:o,isTextLikeNode:C,isTrailingSpaceSensitiveNode:B,isWhitespaceSensitiveNode:v,isUnknownNamespace:c,preferHardlineAsLeadingSpaces:J,preferHardlineAsTrailingSpaces:L,shouldPreserveContent:D,unescapeQuoteEntities:Pe,getTextValueParts:Ee}}}),vg=te({"node_modules/angular-html-parser/lib/compiler/src/chars.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96;function r(i){return i>=e.$TAB&&i<=e.$SPACE||i==e.$NBSP}e.isWhitespace=r;function t(i){return e.$0<=i&&i<=e.$9}e.isDigit=t;function s(i){return i>=e.$a&&i<=e.$z||i>=e.$A&&i<=e.$Z}e.isAsciiLetter=s;function a(i){return i>=e.$a&&i<=e.$f||i>=e.$A&&i<=e.$F||t(i)}e.isAsciiHexDigit=a;function n(i){return i===e.$LF||i===e.$CR}e.isNewLine=n;function u(i){return e.$0<=i&&i<=e.$7}e.isOctalDigit=u}}),Cg=te({"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(s,a,n){this.filePath=s,this.name=a,this.members=n}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};e.StaticSymbol=r;var t=class{constructor(){this.cache=new Map}get(s,a,n){n=n||[];let u=n.length?`.${n.join(".")}`:"",i=`"${s}".${a}${u}`,l=this.cache.get(i);return l||(l=new r(s,a,n),this.cache.set(i,l)),l}};e.StaticSymbolCache=t}}),Eg=te({"node_modules/angular-html-parser/lib/compiler/src/util.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=/-+([a-z0-9])/g;function t(o){return o.replace(r,function(){for(var d=arguments.length,v=new Array(d),S=0;Su(v,this,d))}visitStringMap(o,d){let v={};return Object.keys(o).forEach(S=>{v[S]=u(o[S],this,d)}),v}visitPrimitive(o,d){return o}visitOther(o,d){return o}};e.ValueTransformer=p,e.SyncAsync={assertSync:o=>{if(P(o))throw new Error("Illegal state: value cannot be a promise");return o},then:(o,d)=>P(o)?o.then(d):d(o),all:o=>o.some(P)?Promise.all(o):o};function y(o){throw new Error(`Internal Error: ${o}`)}e.error=y;function h(o,d){let v=Error(o);return v[g]=!0,d&&(v[c]=d),v}e.syntaxError=h;var g="ngSyntaxError",c="ngParseErrors";function f(o){return o[g]}e.isSyntaxError=f;function F(o){return o[c]||[]}e.getParseErrors=F;function _(o){return o.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}e.escapeRegExp=_;var w=Object.getPrototypeOf({});function E(o){return typeof o=="object"&&o!==null&&Object.getPrototypeOf(o)===w}function N(o){let d="";for(let v=0;v=55296&&S<=56319&&o.length>v+1){let b=o.charCodeAt(v+1);b>=56320&&b<=57343&&(v++,S=(S-55296<<10)+b-56320+65536)}S<=127?d+=String.fromCharCode(S):S<=2047?d+=String.fromCharCode(S>>6&31|192,S&63|128):S<=65535?d+=String.fromCharCode(S>>12|224,S>>6&63|128,S&63|128):S<=2097151&&(d+=String.fromCharCode(S>>18&7|240,S>>12&63|128,S>>6&63|128,S&63|128))}return d}e.utf8Encode=N;function x(o){if(typeof o=="string")return o;if(o instanceof Array)return"["+o.map(x).join(", ")+"]";if(o==null)return""+o;if(o.overriddenName)return`${o.overriddenName}`;if(o.name)return`${o.name}`;if(!o.toString)return"object";let d=o.toString();if(d==null)return""+d;let v=d.indexOf(` -`);return v===-1?d:d.substring(0,v)}e.stringify=x;function I(o){return typeof o=="function"&&o.hasOwnProperty("__forward_ref__")?o():o}e.resolveForwardRef=I;function P(o){return!!o&&typeof o.then=="function"}e.isPromise=P;var $=class{constructor(o){this.full=o;let d=o.split(".");this.major=d[0],this.minor=d[1],this.patch=d.slice(2).join(".")}};e.Version=$;var D=typeof window<"u"&&window,T=typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self,m=typeof globalThis<"u"&&globalThis,C=m||D||T;e.global=C}}),Fg=te({"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=Cg(),t=Eg(),s=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function a(v){return v.replace(/\W/g,"_")}e.sanitizeIdentifier=a;var n=0;function u(v){if(!v||!v.reference)return null;let S=v.reference;if(S instanceof r.StaticSymbol)return S.name;if(S.__anonymousType)return S.__anonymousType;let b=t.stringify(S);return b.indexOf("(")>=0?(b=`anonymous_${n++}`,S.__anonymousType=b):b=a(b),b}e.identifierName=u;function i(v){let S=v.reference;return S instanceof r.StaticSymbol?S.filePath:`./${t.stringify(S)}`}e.identifierModuleUrl=i;function l(v,S){return`View_${u({reference:v})}_${S}`}e.viewClassName=l;function p(v){return`RenderType_${u({reference:v})}`}e.rendererTypeName=p;function y(v){return`HostView_${u({reference:v})}`}e.hostViewClassName=y;function h(v){return`${u({reference:v})}NgFactory`}e.componentFactoryName=h;var g;(function(v){v[v.Pipe=0]="Pipe",v[v.Directive=1]="Directive",v[v.NgModule=2]="NgModule",v[v.Injectable=3]="Injectable"})(g=e.CompileSummaryKind||(e.CompileSummaryKind={}));function c(v){return v.value!=null?a(v.value):u(v.identifier)}e.tokenName=c;function f(v){return v.identifier!=null?v.identifier.reference:v.value}e.tokenReference=f;var F=class{constructor(){let{moduleUrl:v,styles:S,styleUrls:b}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=v||null,this.styles=P(S),this.styleUrls=P(b)}};e.CompileStylesheetMetadata=F;var _=class{constructor(v){let{encapsulation:S,template:b,templateUrl:B,htmlAst:k,styles:M,styleUrls:R,externalStylesheets:q,animations:J,ngContentSelectors:L,interpolation:Q,isInline:V,preserveWhitespaces:j}=v;if(this.encapsulation=S,this.template=b,this.templateUrl=B,this.htmlAst=k,this.styles=P(M),this.styleUrls=P(R),this.externalStylesheets=P(q),this.animations=J?D(J):[],this.ngContentSelectors=L||[],Q&&Q.length!=2)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=Q,this.isInline=V,this.preserveWhitespaces=j}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};e.CompileTemplateMetadata=_;var w=class{static create(v){let{isHost:S,type:b,isComponent:B,selector:k,exportAs:M,changeDetection:R,inputs:q,outputs:J,host:L,providers:Q,viewProviders:V,queries:j,guards:Y,viewQueries:ie,entryComponents:ee,template:ce,componentViewType:W,rendererType:K,componentFactory:de}=v,ue={},Fe={},z={};L!=null&&Object.keys(L).forEach(se=>{let fe=L[se],ge=se.match(s);ge===null?z[se]=fe:ge[1]!=null?Fe[ge[1]]=fe:ge[2]!=null&&(ue[ge[2]]=fe)});let U={};q!=null&&q.forEach(se=>{let fe=t.splitAtColon(se,[se,se]);U[fe[0]]=fe[1]});let Z={};return J!=null&&J.forEach(se=>{let fe=t.splitAtColon(se,[se,se]);Z[fe[0]]=fe[1]}),new w({isHost:S,type:b,isComponent:!!B,selector:k,exportAs:M,changeDetection:R,inputs:U,outputs:Z,hostListeners:ue,hostProperties:Fe,hostAttributes:z,providers:Q,viewProviders:V,queries:j,guards:Y,viewQueries:ie,entryComponents:ee,template:ce,componentViewType:W,rendererType:K,componentFactory:de})}constructor(v){let{isHost:S,type:b,isComponent:B,selector:k,exportAs:M,changeDetection:R,inputs:q,outputs:J,hostListeners:L,hostProperties:Q,hostAttributes:V,providers:j,viewProviders:Y,queries:ie,guards:ee,viewQueries:ce,entryComponents:W,template:K,componentViewType:de,rendererType:ue,componentFactory:Fe}=v;this.isHost=!!S,this.type=b,this.isComponent=B,this.selector=k,this.exportAs=M,this.changeDetection=R,this.inputs=q,this.outputs=J,this.hostListeners=L,this.hostProperties=Q,this.hostAttributes=V,this.providers=P(j),this.viewProviders=P(Y),this.queries=P(ie),this.guards=ee,this.viewQueries=P(ce),this.entryComponents=P(W),this.template=K,this.componentViewType=de,this.rendererType=ue,this.componentFactory=Fe}toSummary(){return{summaryKind:g.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};e.CompileDirectiveMetadata=w;var E=class{constructor(v){let{type:S,name:b,pure:B}=v;this.type=S,this.name=b,this.pure=!!B}toSummary(){return{summaryKind:g.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompilePipeMetadata=E;var N=class{};e.CompileShallowModuleMetadata=N;var x=class{constructor(v){let{type:S,providers:b,declaredDirectives:B,exportedDirectives:k,declaredPipes:M,exportedPipes:R,entryComponents:q,bootstrapComponents:J,importedModules:L,exportedModules:Q,schemas:V,transitiveModule:j,id:Y}=v;this.type=S||null,this.declaredDirectives=P(B),this.exportedDirectives=P(k),this.declaredPipes=P(M),this.exportedPipes=P(R),this.providers=P(b),this.entryComponents=P(q),this.bootstrapComponents=P(J),this.importedModules=P(L),this.exportedModules=P(Q),this.schemas=P(V),this.id=Y||null,this.transitiveModule=j||null}toSummary(){let v=this.transitiveModule;return{summaryKind:g.NgModule,type:this.type,entryComponents:v.entryComponents,providers:v.providers,modules:v.modules,exportedDirectives:v.exportedDirectives,exportedPipes:v.exportedPipes}}};e.CompileNgModuleMetadata=x;var I=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(v,S){this.providers.push({provider:v,module:S})}addDirective(v){this.directivesSet.has(v.reference)||(this.directivesSet.add(v.reference),this.directives.push(v))}addExportedDirective(v){this.exportedDirectivesSet.has(v.reference)||(this.exportedDirectivesSet.add(v.reference),this.exportedDirectives.push(v))}addPipe(v){this.pipesSet.has(v.reference)||(this.pipesSet.add(v.reference),this.pipes.push(v))}addExportedPipe(v){this.exportedPipesSet.has(v.reference)||(this.exportedPipesSet.add(v.reference),this.exportedPipes.push(v))}addModule(v){this.modulesSet.has(v.reference)||(this.modulesSet.add(v.reference),this.modules.push(v))}addEntryComponent(v){this.entryComponentsSet.has(v.componentType)||(this.entryComponentsSet.add(v.componentType),this.entryComponents.push(v))}};e.TransitiveCompileNgModuleMetadata=I;function P(v){return v||[]}var $=class{constructor(v,S){let{useClass:b,useValue:B,useExisting:k,useFactory:M,deps:R,multi:q}=S;this.token=v,this.useClass=b||null,this.useValue=B,this.useExisting=k,this.useFactory=M||null,this.dependencies=R||null,this.multi=!!q}};e.ProviderMeta=$;function D(v){return v.reduce((S,b)=>{let B=Array.isArray(b)?D(b):b;return S.concat(B)},[])}e.flatten=D;function T(v){return v.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function m(v,S,b){let B;return b.isInline?S.type.reference instanceof r.StaticSymbol?B=`${S.type.reference.filePath}.${S.type.reference.name}.html`:B=`${u(v)}/${u(S.type)}.html`:B=b.templateUrl,S.type.reference instanceof r.StaticSymbol?B:T(B)}e.templateSourceUrl=m;function C(v,S){let b=v.moduleUrl.split(/\/\\/g),B=b[b.length-1];return T(`css/${S}${B}.ngstyle.js`)}e.sharedStylesheetJitUrl=C;function o(v){return T(`${u(v.type)}/module.ngfactory.js`)}e.ngModuleJitUrl=o;function d(v,S){return T(`${u(v)}/${u(S.type)}.ngfactory.js`)}e.templateJitUrl=d}}),Ag=te({"node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(e){"use strict";ne(),Object.defineProperty(e,"__esModule",{value:!0});var r=vg(),t=Fg(),s=class{constructor(y,h,g,c){this.file=y,this.offset=h,this.line=g,this.col=c}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(y){let h=this.file.content,g=h.length,c=this.offset,f=this.line,F=this.col;for(;c>0&&y<0;)if(c--,y++,h.charCodeAt(c)==r.$LF){f--;let w=h.substr(0,c-1).lastIndexOf(String.fromCharCode(r.$LF));F=w>0?c-w:c}else F--;for(;c0;){let _=h.charCodeAt(c);c++,y--,_==r.$LF?(f++,F=0):F++}return new s(this.file,c,f,F)}getContext(y,h){let g=this.file.content,c=this.offset;if(c!=null){c>g.length-1&&(c=g.length-1);let f=c,F=0,_=0;for(;F0&&(c--,F++,!(g[c]==` -`&&++_==h)););for(F=0,_=0;F2&&arguments[2]!==void 0?arguments[2]:null;this.start=y,this.end=h,this.details=g}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};e.ParseSourceSpan=n,e.EMPTY_PARSE_LOCATION=new s(new a("",""),0,0,0),e.EMPTY_SOURCE_SPAN=new n(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION);var u;(function(y){y[y.WARNING=0]="WARNING",y[y.ERROR=1]="ERROR"})(u=e.ParseErrorLevel||(e.ParseErrorLevel={}));var i=class{constructor(y,h){let g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:u.ERROR;this.span=y,this.msg=h,this.level=g}contextualMessage(){let y=this.span.start.getContext(100,3);return y?`${this.msg} ("${y.before}[${u[this.level]} ->]${y.after}")`:this.msg}toString(){let y=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${y}`}};e.ParseError=i;function l(y,h){let g=t.identifierModuleUrl(h),c=g!=null?`in ${y} ${t.identifierName(h)} in ${g}`:`in ${y} ${t.identifierName(h)}`,f=new a("",c);return new n(new s(f,-1,-1,-1),new s(f,-1,-1,-1))}e.typeSourceSpan=l;function p(y,h,g){let c=`in ${y} ${h} in ${g}`,f=new a("",c);return new n(new s(f,-1,-1,-1),new s(f,-1,-1,-1))}e.r3JitTypeSourceSpan=p}}),Sg=te({"src/language-html/print-preprocess.js"(e,r){"use strict";ne();var{ParseSourceSpan:t}=Ag(),{htmlTrim:s,getLeadingAndTrailingHtmlWhitespace:a,hasHtmlWhitespace:n,canHaveInterpolation:u,getNodeCssStyleDisplay:i,isDanglingSpaceSensitiveNode:l,isIndentationSensitiveNode:p,isLeadingSpaceSensitiveNode:y,isTrailingSpaceSensitiveNode:h,isWhitespaceSensitiveNode:g,isVueScriptTag:c}=Rt(),f=[_,w,N,I,P,T,$,D,m,x,C];function F(o,d){for(let v of f)v(o,d);return o}function _(o){o.walk(d=>{if(d.type==="element"&&d.tagDefinition.ignoreFirstLf&&d.children.length>0&&d.children[0].type==="text"&&d.children[0].value[0]===` -`){let v=d.children[0];v.value.length===1?d.removeChild(v):v.value=v.value.slice(1)}})}function w(o){let d=v=>v.type==="element"&&v.prev&&v.prev.type==="ieConditionalStartComment"&&v.prev.sourceSpan.end.offset===v.startSourceSpan.start.offset&&v.firstChild&&v.firstChild.type==="ieConditionalEndComment"&&v.firstChild.sourceSpan.start.offset===v.startSourceSpan.end.offset;o.walk(v=>{if(v.children)for(let S=0;S{if(S.children)for(let b=0;bd.type==="cdata",d=>``)}function x(o){let d=v=>v.type==="element"&&v.attrs.length===0&&v.children.length===1&&v.firstChild.type==="text"&&!n(v.children[0].value)&&!v.firstChild.hasLeadingSpaces&&!v.firstChild.hasTrailingSpaces&&v.isLeadingSpaceSensitive&&!v.hasLeadingSpaces&&v.isTrailingSpaceSensitive&&!v.hasTrailingSpaces&&v.prev&&v.prev.type==="text"&&v.next&&v.next.type==="text";o.walk(v=>{if(v.children)for(let S=0;S`+b.firstChild.value+``+k.value,B.sourceSpan=new t(B.sourceSpan.start,k.sourceSpan.end),B.isTrailingSpaceSensitive=k.isTrailingSpaceSensitive,B.hasTrailingSpaces=k.hasTrailingSpaces,v.removeChild(b),S--,v.removeChild(k)}})}function I(o,d){if(d.parser==="html")return;let v=/{{(.+?)}}/s;o.walk(S=>{if(u(S))for(let b of S.children){if(b.type!=="text")continue;let B=b.sourceSpan.start,k=null,M=b.value.split(v);for(let R=0;R0&&S.insertChildBefore(b,{type:"text",value:q,sourceSpan:new t(B,k)});continue}k=B.moveBy(q.length+4),S.insertChildBefore(b,{type:"interpolation",sourceSpan:new t(B,k),children:q.length===0?[]:[{type:"text",value:q,sourceSpan:new t(B.moveBy(2),k.moveBy(-2))}]})}S.removeChild(b)}})}function P(o){o.walk(d=>{if(!d.children)return;if(d.children.length===0||d.children.length===1&&d.children[0].type==="text"&&s(d.children[0].value).length===0){d.hasDanglingSpaces=d.children.length>0,d.children=[];return}let v=g(d),S=p(d);if(!v)for(let b=0;b{d.isSelfClosing=!d.children||d.type==="element"&&(d.tagDefinition.isVoid||d.startSourceSpan===d.endSourceSpan)})}function D(o,d){o.walk(v=>{v.type==="element"&&(v.hasHtmComponentClosingTag=v.endSourceSpan&&/^<\s*\/\s*\/\s*>$/.test(d.originalText.slice(v.endSourceSpan.start.offset,v.endSourceSpan.end.offset)))})}function T(o,d){o.walk(v=>{v.cssDisplay=i(v,d)})}function m(o,d){o.walk(v=>{let{children:S}=v;if(S){if(S.length===0){v.isDanglingSpaceSensitive=l(v);return}for(let b of S)b.isLeadingSpaceSensitive=y(b,d),b.isTrailingSpaceSensitive=h(b,d);for(let b=0;bc(b,d));if(!v)return;let{lang:S}=v.attrMap;(S==="ts"||S==="typescript")&&(d.__should_parse_vue_template_with_ts=!0)}}r.exports=F}}),xg=te({"src/language-html/pragma.js"(e,r){"use strict";ne();function t(a){return/^\s*/.test(a)}function s(a){return` - -`+a.replace(/^\s*\n/,"")}r.exports={hasPragma:t,insertPragma:s}}}),au=te({"src/language-html/loc.js"(e,r){"use strict";ne();function t(a){return a.sourceSpan.start.offset}function s(a){return a.sourceSpan.end.offset}r.exports={locStart:t,locEnd:s}}}),ur=te({"src/language-html/print/tag.js"(e,r){"use strict";ne();var t=Zt(),{isNonEmptyArray:s}=Ue(),{builders:{indent:a,join:n,line:u,softline:i,hardline:l},utils:{replaceTextEndOfLine:p}}=qe(),{locStart:y,locEnd:h}=au(),{isTextLikeNode:g,getLastDescendant:c,isPreLikeNode:f,hasPrettierIgnore:F,shouldPreserveContent:_,isVueSfcBlock:w}=Rt();function E(L,Q){return[L.isSelfClosing?"":N(L,Q),x(L,Q)]}function N(L,Q){return L.lastChild&&o(L.lastChild)?"":[I(L,Q),$(L,Q)]}function x(L,Q){return(L.next?m(L.next):C(L.parent))?"":[D(L,Q),P(L,Q)]}function I(L,Q){return C(L)?D(L.lastChild,Q):""}function P(L,Q){return o(L)?$(L.parent,Q):d(L)?q(L.next):""}function $(L,Q){if(t(!L.isSelfClosing),T(L,Q))return"";switch(L.type){case"ieConditionalComment":return"";case"ieConditionalStartComment":return"]>";case"interpolation":return"}}";case"element":if(L.isSelfClosing)return"/>";default:return">"}}function T(L,Q){return!L.isSelfClosing&&!L.endSourceSpan&&(F(L)||_(L.parent,Q))}function m(L){return L.prev&&L.prev.type!=="docType"&&!g(L.prev)&&L.isLeadingSpaceSensitive&&!L.hasLeadingSpaces}function C(L){return L.lastChild&&L.lastChild.isTrailingSpaceSensitive&&!L.lastChild.hasTrailingSpaces&&!g(c(L.lastChild))&&!f(L)}function o(L){return!L.next&&!L.hasTrailingSpaces&&L.isTrailingSpaceSensitive&&g(c(L))}function d(L){return L.next&&!g(L.next)&&g(L)&&L.isTrailingSpaceSensitive&&!L.hasTrailingSpaces}function v(L){let Q=L.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);return Q?Q[1]?Q[1].split(/\s+/):!0:!1}function S(L){return!L.prev&&L.isLeadingSpaceSensitive&&!L.hasLeadingSpaces}function b(L,Q,V){let j=L.getValue();if(!s(j.attrs))return j.isSelfClosing?" ":"";let Y=j.prev&&j.prev.type==="comment"&&v(j.prev.value),ie=typeof Y=="boolean"?()=>Y:Array.isArray(Y)?ue=>Y.includes(ue.rawName):()=>!1,ee=L.map(ue=>{let Fe=ue.getValue();return ie(Fe)?p(Q.originalText.slice(y(Fe),h(Fe))):V()},"attrs"),ce=j.type==="element"&&j.fullName==="script"&&j.attrs.length===1&&j.attrs[0].fullName==="src"&&j.children.length===0,K=Q.singleAttributePerLine&&j.attrs.length>1&&!w(j,Q)?l:u,de=[a([ce?" ":u,n(K,ee)])];return j.firstChild&&S(j.firstChild)||j.isSelfClosing&&C(j.parent)||ce?de.push(j.isSelfClosing?" ":""):de.push(Q.bracketSameLine?j.isSelfClosing?" ":"":j.isSelfClosing?u:i),de}function B(L){return L.firstChild&&S(L.firstChild)?"":J(L)}function k(L,Q,V){let j=L.getValue();return[M(j,Q),b(L,Q,V),j.isSelfClosing?"":B(j)]}function M(L,Q){return L.prev&&d(L.prev)?"":[R(L,Q),q(L)]}function R(L,Q){return S(L)?J(L.parent):m(L)?D(L.prev,Q):""}function q(L){switch(L.type){case"ieConditionalComment":case"ieConditionalStartComment":return`<${L.rawName}`;default:return`<${L.rawName}`}}function J(L){switch(t(!L.isSelfClosing),L.type){case"ieConditionalComment":return"]>";case"element":if(L.condition)return">";default:return">"}}r.exports={printClosingTag:E,printClosingTagStart:N,printClosingTagStartMarker:$,printClosingTagEndMarker:D,printClosingTagSuffix:P,printClosingTagEnd:x,needsToBorrowLastChildClosingTagEndMarker:C,needsToBorrowParentClosingTagStartMarker:o,needsToBorrowPrevClosingTagEndMarker:m,printOpeningTag:k,printOpeningTagStart:M,printOpeningTagPrefix:R,printOpeningTagStartMarker:q,printOpeningTagEndMarker:J,needsToBorrowNextOpeningTagStartMarker:d,needsToBorrowParentOpeningTagEndMarker:S}}}),bg=te({"node_modules/parse-srcset/src/parse-srcset.js"(e,r){ne(),function(t,s){typeof define=="function"&&define.amd?define([],s):typeof r=="object"&&r.exports?r.exports=s():t.parseSrcset=s()}(e,function(){return function(t,s){var a=s&&s.logger||console;function n($){return $===" "||$===" "||$===` -`||$==="\f"||$==="\r"}function u($){var D,T=$.exec(t.substring(N));if(T)return D=T[0],N+=D.length,D}for(var i=t.length,l=/^[ \t\n\r\u000c]+/,p=/^[, \t\n\r\u000c]+/,y=/^[^ \t\n\r\u000c]+/,h=/[,]+$/,g=/^\d+$/,c=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,f,F,_,w,E,N=0,x=[];;){if(u(p),N>=i)return x;f=u(y),F=[],f.slice(-1)===","?(f=f.replace(h,""),P()):I()}function I(){for(u(l),_="",w="in descriptor";;){if(E=t.charAt(N),w==="in descriptor")if(n(E))_&&(F.push(_),_="",w="after descriptor");else if(E===","){N+=1,_&&F.push(_),P();return}else if(E==="(")_=_+E,w="in parens";else if(E===""){_&&F.push(_),P();return}else _=_+E;else if(w==="in parens")if(E===")")_=_+E,w="in descriptor";else if(E===""){F.push(_),P();return}else _=_+E;else if(w==="after descriptor"&&!n(E))if(E===""){P();return}else w="in descriptor",N-=1;N+=1}}function P(){var $=!1,D,T,m,C,o={},d,v,S,b,B;for(C=0;C{let{w:P}=I;return P}),h=p.some(I=>{let{h:P}=I;return P}),g=p.some(I=>{let{d:P}=I;return P});if(y+h+g>1)throw new Error("Mixed descriptor in srcset is not supported");let c=y?"w":h?"h":"d",f=y?"w":h?"h":"x",F=I=>Math.max(...I),_=p.map(I=>I.url),w=F(_.map(I=>I.length)),E=p.map(I=>I[c]).map(I=>I?I.toString():""),N=E.map(I=>{let P=I.indexOf(".");return P===-1?I.length:P}),x=F(N);return a([",",n],_.map((I,P)=>{let $=[I],D=E[P];if(D){let T=w-I.length+1,m=x-N[P],C=" ".repeat(T+m);$.push(s(C," "),D+f)}return $}))}function i(l){return l.trim().split(/\s+/).join(" ")}r.exports={printImgSrcset:u,printClassNames:i}}}),Bg=te({"src/language-html/syntax-vue.js"(e,r){"use strict";ne();var{builders:{group:t}}=qe();function s(i,l){let{left:p,operator:y,right:h}=a(i);return[t(l(`function _(${p}) {}`,{parser:"babel",__isVueForBindingLeft:!0}))," ",y," ",l(h,{parser:"__js_expression"},{stripTrailingHardline:!0})]}function a(i){let l=/(.*?)\s+(in|of)\s+(.*)/s,p=/,([^,\]}]*)(?:,([^,\]}]*))?$/,y=/^\(|\)$/g,h=i.match(l);if(!h)return;let g={};if(g.for=h[3].trim(),!g.for)return;let c=h[1].trim().replace(y,""),f=c.match(p);f?(g.alias=c.replace(p,""),g.iterator1=f[1].trim(),f[2]&&(g.iterator2=f[2].trim())):g.alias=c;let F=[g.alias,g.iterator1,g.iterator2];if(!F.some((_,w)=>!_&&(w===0||F.slice(w+1).some(Boolean))))return{left:F.filter(Boolean).join(","),operator:h[2],right:g.for}}function n(i,l){return l(`function _(${i}) {}`,{parser:"babel",__isVueBindings:!0})}function u(i){let l=/^(?:[\w$]+|\([^)]*\))\s*=>|^function\s*\(/,p=/^[$A-Z_a-z][\w$]*(?:\.[$A-Z_a-z][\w$]*|\['[^']*']|\["[^"]*"]|\[\d+]|\[[$A-Z_a-z][\w$]*])*$/,y=i.trim();return l.test(y)||p.test(y)}r.exports={isVueEventBindingExpression:u,printVueFor:s,printVueBindings:n}}}),Lo=te({"src/language-html/get-node-content.js"(e,r){"use strict";ne();var{needsToBorrowParentClosingTagStartMarker:t,printClosingTagStartMarker:s,needsToBorrowLastChildClosingTagEndMarker:a,printClosingTagEndMarker:n,needsToBorrowParentOpeningTagEndMarker:u,printOpeningTagEndMarker:i}=ur();function l(p,y){let h=p.startSourceSpan.end.offset;p.firstChild&&u(p.firstChild)&&(h-=i(p).length);let g=p.endSourceSpan.start.offset;return p.lastChild&&t(p.lastChild)?g+=s(p,y).length:a(p)&&(g-=n(p.lastChild,y).length),y.originalText.slice(h,g)}r.exports=l}}),Ng=te({"src/language-html/embed.js"(e,r){"use strict";ne();var{builders:{breakParent:t,group:s,hardline:a,indent:n,line:u,fill:i,softline:l},utils:{mapDoc:p,replaceTextEndOfLine:y}}=qe(),h=su(),{printClosingTag:g,printClosingTagSuffix:c,needsToBorrowPrevClosingTagEndMarker:f,printOpeningTagPrefix:F,printOpeningTag:_}=ur(),{printImgSrcset:w,printClassNames:E}=Tg(),{printVueFor:N,printVueBindings:x,isVueEventBindingExpression:I}=Bg(),{isScriptLikeTag:P,isVueNonHtmlBlock:$,inferScriptParser:D,htmlTrimPreserveIndentation:T,dedentString:m,unescapeQuoteEntities:C,isVueSlotAttribute:o,isVueSfcBindingsAttribute:d,getTextValueParts:v}=Rt(),S=Lo();function b(k,M,R){let q=ee=>new RegExp(ee.join("|")).test(k.fullName),J=()=>C(k.value),L=!1,Q=(ee,ce)=>{let W=ee.type==="NGRoot"?ee.node.type==="NGMicrosyntax"&&ee.node.body.length===1&&ee.node.body[0].type==="NGMicrosyntaxExpression"?ee.node.body[0].expression:ee.node:ee.type==="JsExpressionRoot"?ee.node:ee;W&&(W.type==="ObjectExpression"||W.type==="ArrayExpression"||ce.parser==="__vue_expression"&&(W.type==="TemplateLiteral"||W.type==="StringLiteral"))&&(L=!0)},V=ee=>s(ee),j=function(ee){let ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return s([n([l,ee]),ce?l:""])},Y=ee=>L?V(ee):j(ee),ie=(ee,ce)=>M(ee,Object.assign({__onHtmlBindingRoot:Q,__embeddedInHtml:!0},ce));if(k.fullName==="srcset"&&(k.parent.fullName==="img"||k.parent.fullName==="source"))return j(w(J()));if(k.fullName==="class"&&!R.parentParser){let ee=J();if(!ee.includes("{{"))return E(ee)}if(k.fullName==="style"&&!R.parentParser){let ee=J();if(!ee.includes("{{"))return j(ie(ee,{parser:"css",__isHTMLStyleAttribute:!0}))}if(R.parser==="vue"){if(k.fullName==="v-for")return N(J(),ie);if(o(k)||d(k,R))return x(J(),ie);let ee=["^@","^v-on:"],ce=["^:","^v-bind:"],W=["^v-"];if(q(ee)){let K=J(),de=I(K)?"__js_expression":R.__should_parse_vue_template_with_ts?"__vue_ts_event_binding":"__vue_event_binding";return Y(ie(K,{parser:de}))}if(q(ce))return Y(ie(J(),{parser:"__vue_expression"}));if(q(W))return Y(ie(J(),{parser:"__js_expression"}))}if(R.parser==="angular"){let ee=(z,U)=>ie(z,Object.assign(Object.assign({},U),{},{trailingComma:"none"})),ce=["^\\*"],W=["^\\(.+\\)$","^on-"],K=["^\\[.+\\]$","^bind(on)?-","^ng-(if|show|hide|class|style)$"],de=["^i18n(-.+)?$"];if(q(W))return Y(ee(J(),{parser:"__ng_action"}));if(q(K))return Y(ee(J(),{parser:"__ng_binding"}));if(q(de)){let z=J().trim();return j(i(v(k,z)),!z.includes("@@"))}if(q(ce))return Y(ee(J(),{parser:"__ng_directive"}));let ue=/{{(.+?)}}/s,Fe=J();if(ue.test(Fe)){let z=[];for(let[U,Z]of Fe.split(ue).entries())if(U%2===0)z.push(y(Z));else try{z.push(s(["{{",n([u,ee(Z,{parser:"__ng_interpolation",__isInHtmlInterpolation:!0})]),u,"}}"]))}catch{z.push("{{",y(Z),"}}")}return s(z)}}return null}function B(k,M,R,q){let J=k.getValue();switch(J.type){case"element":{if(P(J)||J.type==="interpolation")return;if(!J.isSelfClosing&&$(J,q)){let L=D(J,q);if(!L)return;let Q=S(J,q),V=/^\s*$/.test(Q),j="";return V||(j=R(T(Q),{parser:L,__embeddedInHtml:!0},{stripTrailingHardline:!0}),V=j===""),[F(J,q),s(_(k,q,M)),V?"":a,j,V?"":a,g(J,q),c(J,q)]}break}case"text":{if(P(J.parent)){let L=D(J.parent,q);if(L){let Q=L==="markdown"?m(J.value.replace(/^[^\S\n]*\n/,"")):J.value,V={parser:L,__embeddedInHtml:!0};if(q.parser==="html"&&L==="babel"){let j="script",{attrMap:Y}=J.parent;Y&&(Y.type==="module"||Y.type==="text/babel"&&Y["data-type"]==="module")&&(j="module"),V.__babelSourceType=j}return[t,F(J,q),R(Q,V,{stripTrailingHardline:!0}),c(J,q)]}}else if(J.parent.type==="interpolation"){let L={__isInHtmlInterpolation:!0,__embeddedInHtml:!0};return q.parser==="angular"?(L.parser="__ng_interpolation",L.trailingComma="none"):q.parser==="vue"?L.parser=q.__should_parse_vue_template_with_ts?"__vue_ts_expression":"__vue_expression":L.parser="__js_expression",[n([u,R(J.value,L,{stripTrailingHardline:!0})]),J.parent.next&&f(J.parent.next)?" ":u]}break}case"attribute":{if(!J.value)break;if(/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(q.originalText.slice(J.valueSpan.start.offset,J.valueSpan.end.offset)))return[J.rawName,"=",J.value];if(q.parser==="lwc"&&/^{.*}$/s.test(q.originalText.slice(J.valueSpan.start.offset,J.valueSpan.end.offset)))return[J.rawName,"=",J.value];let L=b(J,(Q,V)=>R(Q,Object.assign({__isInHtmlAttribute:!0,__embeddedInHtml:!0},V),{stripTrailingHardline:!0}),q);if(L)return[J.rawName,'="',s(p(L,Q=>typeof Q=="string"?Q.replace(/"/g,"""):Q)),'"'];break}case"front-matter":return h(J,R)}}r.exports=B}}),Oo=te({"src/language-html/print/children.js"(e,r){"use strict";ne();var{builders:{breakParent:t,group:s,ifBreak:a,line:n,softline:u,hardline:i},utils:{replaceTextEndOfLine:l}}=qe(),{locStart:p,locEnd:y}=au(),{forceBreakChildren:h,forceNextEmptyLine:g,isTextLikeNode:c,hasPrettierIgnore:f,preferHardlineAsLeadingSpaces:F}=Rt(),{printOpeningTagPrefix:_,needsToBorrowNextOpeningTagStartMarker:w,printOpeningTagStartMarker:E,needsToBorrowPrevClosingTagEndMarker:N,printClosingTagEndMarker:x,printClosingTagSuffix:I,needsToBorrowParentClosingTagStartMarker:P}=ur();function $(m,C,o){let d=m.getValue();return f(d)?[_(d,C),...l(C.originalText.slice(p(d)+(d.prev&&w(d.prev)?E(d).length:0),y(d)-(d.next&&N(d.next)?x(d,C).length:0))),I(d,C)]:o()}function D(m,C){return c(m)&&c(C)?m.isTrailingSpaceSensitive?m.hasTrailingSpaces?F(C)?i:n:"":F(C)?i:u:w(m)&&(f(C)||C.firstChild||C.isSelfClosing||C.type==="element"&&C.attrs.length>0)||m.type==="element"&&m.isSelfClosing&&N(C)?"":!C.isLeadingSpaceSensitive||F(C)||N(C)&&m.lastChild&&P(m.lastChild)&&m.lastChild.lastChild&&P(m.lastChild.lastChild)?i:C.hasLeadingSpaces?n:u}function T(m,C,o){let d=m.getValue();if(h(d))return[t,...m.map(S=>{let b=S.getValue(),B=b.prev?D(b.prev,b):"";return[B?[B,g(b.prev)?i:""]:"",$(S,C,o)]},"children")];let v=d.children.map(()=>Symbol(""));return m.map((S,b)=>{let B=S.getValue();if(c(B)){if(B.prev&&c(B.prev)){let Q=D(B.prev,B);if(Q)return g(B.prev)?[i,i,$(S,C,o)]:[Q,$(S,C,o)]}return $(S,C,o)}let k=[],M=[],R=[],q=[],J=B.prev?D(B.prev,B):"",L=B.next?D(B,B.next):"";return J&&(g(B.prev)?k.push(i,i):J===i?k.push(i):c(B.prev)?M.push(J):M.push(a("",u,{groupId:v[b-1]}))),L&&(g(B)?c(B.next)&&q.push(i,i):L===i?c(B.next)&&q.push(i):R.push(L)),[...k,s([...M,s([$(S,C,o),...R],{id:v[b]})]),...q]},"children")}r.exports={printChildren:T}}}),wg=te({"src/language-html/print/element.js"(e,r){"use strict";ne();var{builders:{breakParent:t,dedentToRoot:s,group:a,ifBreak:n,indentIfBreak:u,indent:i,line:l,softline:p},utils:{replaceTextEndOfLine:y}}=qe(),h=Lo(),{shouldPreserveContent:g,isScriptLikeTag:c,isVueCustomBlock:f,countParents:F,forceBreakContent:_}=Rt(),{printOpeningTagPrefix:w,printOpeningTag:E,printClosingTagSuffix:N,printClosingTag:x,needsToBorrowPrevClosingTagEndMarker:I,needsToBorrowLastChildClosingTagEndMarker:P}=ur(),{printChildren:$}=Oo();function D(T,m,C){let o=T.getValue();if(g(o,m))return[w(o,m),a(E(T,m,C)),...y(h(o,m)),...x(o,m),N(o,m)];let d=o.children.length===1&&o.firstChild.type==="interpolation"&&o.firstChild.isLeadingSpaceSensitive&&!o.firstChild.hasLeadingSpaces&&o.lastChild.isTrailingSpaceSensitive&&!o.lastChild.hasTrailingSpaces,v=Symbol("element-attr-group-id"),S=M=>a([a(E(T,m,C),{id:v}),M,x(o,m)]),b=M=>d?u(M,{groupId:v}):(c(o)||f(o,m))&&o.parent.type==="root"&&m.parser==="vue"&&!m.vueIndentScriptAndStyle?M:i(M),B=()=>d?n(p,"",{groupId:v}):o.firstChild.hasLeadingSpaces&&o.firstChild.isLeadingSpaceSensitive?l:o.firstChild.type==="text"&&o.isWhitespaceSensitive&&o.isIndentationSensitive?s(p):p,k=()=>(o.next?I(o.next):P(o.parent))?o.lastChild.hasTrailingSpaces&&o.lastChild.isTrailingSpaceSensitive?" ":"":d?n(p,"",{groupId:v}):o.lastChild.hasTrailingSpaces&&o.lastChild.isTrailingSpaceSensitive?l:(o.lastChild.type==="comment"||o.lastChild.type==="text"&&o.isWhitespaceSensitive&&o.isIndentationSensitive)&&new RegExp(`\\n[\\t ]{${m.tabWidth*F(T,R=>R.parent&&R.parent.type!=="root")}}$`).test(o.lastChild.value)?"":p;return o.children.length===0?S(o.hasDanglingSpaces&&o.isDanglingSpaceSensitive?l:""):S([_(o)?t:"",b([B(),$(T,m,C)]),k()])}r.exports={printElement:D}}}),_g=te({"src/language-html/printer-html.js"(e,r){"use strict";ne();var{builders:{fill:t,group:s,hardline:a,literalline:n},utils:{cleanDoc:u,getDocParts:i,isConcat:l,replaceTextEndOfLine:p}}=qe(),y=gg(),{countChars:h,unescapeQuoteEntities:g,getTextValueParts:c}=Rt(),f=Sg(),{insertPragma:F}=xg(),{locStart:_,locEnd:w}=au(),E=Ng(),{printClosingTagSuffix:N,printClosingTagEnd:x,printOpeningTagPrefix:I,printOpeningTagStart:P}=ur(),{printElement:$}=wg(),{printChildren:D}=Oo();function T(m,C,o){let d=m.getValue();switch(d.type){case"front-matter":return p(d.raw);case"root":return C.__onHtmlRoot&&C.__onHtmlRoot(d),[s(D(m,C,o)),a];case"element":case"ieConditionalComment":return $(m,C,o);case"ieConditionalStartComment":case"ieConditionalEndComment":return[P(d),x(d)];case"interpolation":return[P(d,C),...m.map(o,"children"),x(d,C)];case"text":{if(d.parent.type==="interpolation"){let S=/\n[^\S\n]*$/,b=S.test(d.value),B=b?d.value.replace(S,""):d.value;return[...p(B),b?a:""]}let v=u([I(d,C),...c(d),N(d,C)]);return l(v)||v.type==="fill"?t(i(v)):v}case"docType":return[s([P(d,C)," ",d.value.replace(/^html\b/i,"html").replace(/\s+/g," ")]),x(d,C)];case"comment":return[I(d,C),...p(C.originalText.slice(_(d),w(d)),n),N(d,C)];case"attribute":{if(d.value===null)return d.rawName;let v=g(d.value),S=h(v,"'"),b=h(v,'"'),B=S({name:"Angular",since:"1.15.0",parsers:["angular"],vscodeLanguageIds:["html"],extensions:[".component.html"],filenames:[]})),t(On(),l=>({since:"1.15.0",parsers:["html"],vscodeLanguageIds:["html"],extensions:[...l.extensions,".mjml"]})),t(On(),()=>({name:"Lightning Web Components",since:"1.17.0",parsers:["lwc"],vscodeLanguageIds:["html"],extensions:[],filenames:[]})),t(kg(),()=>({since:"1.10.0",parsers:["vue"],vscodeLanguageIds:["vue"]}))],i={html:s};r.exports={languages:u,printers:i,options:a,parsers:n}}}),Og=te({"src/language-yaml/pragma.js"(e,r){"use strict";ne();function t(n){return/^\s*@(?:prettier|format)\s*$/.test(n)}function s(n){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(n)}function a(n){return`# @format - -${n}`}r.exports={isPragma:t,hasPragma:s,insertPragma:a}}}),jg=te({"src/language-yaml/loc.js"(e,r){"use strict";ne();function t(a){return a.position.start.offset}function s(a){return a.position.end.offset}r.exports={locStart:t,locEnd:s}}}),qg=te({"src/language-yaml/embed.js"(e,r){"use strict";ne();function t(s,a,n,u){if(s.getValue().type==="root"&&u.filepath&&/(?:[/\\]|^)\.(?:prettier|stylelint|lintstaged)rc$/.test(u.filepath))return n(u.originalText,Object.assign(Object.assign({},u),{},{parser:"json"}))}r.exports=t}}),$t=te({"src/language-yaml/utils.js"(e,r){"use strict";ne();var{getLast:t,isNonEmptyArray:s}=Ue();function a(D,T){let m=0,C=D.stack.length-1;for(let o=0;ou(C,T,D))}):D,m)}function i(D,T,m){Object.defineProperty(D,T,{get:m,enumerable:!1})}function l(D,T){let m=0,C=T.length;for(let o=D.position.end.offset-1;od===0&&d===v.length-1?o:d!==0&&d!==v.length-1?o.trim():d===0?o.trimEnd():o.trimStart());return m.proseWrap==="preserve"?C.map(o=>o.length===0?[]:[o]):C.map(o=>o.length===0?[]:x(o)).reduce((o,d,v)=>v!==0&&C[v-1].length>0&&d.length>0&&!(D==="quoteDouble"&&t(t(o)).endsWith("\\"))?[...o.slice(0,-1),[...t(o),...d]]:[...o,d],[]).map(o=>m.proseWrap==="never"?[o.join(" ")]:o)}function P(D,T){let{parentIndent:m,isLastDescendant:C,options:o}=T,d=D.position.start.line===D.position.end.line?"":o.originalText.slice(D.position.start.offset,D.position.end.offset).match(/^[^\n]*\n(.*)$/s)[1],v;if(D.indent===null){let B=d.match(/^(? *)[^\n\r ]/m);v=B?B.groups.leadingSpace.length:Number.POSITIVE_INFINITY}else v=D.indent-1+m;let S=d.split(` -`).map(B=>B.slice(v));if(o.proseWrap==="preserve"||D.type==="blockLiteral")return b(S.map(B=>B.length===0?[]:[B]));return b(S.map(B=>B.length===0?[]:x(B)).reduce((B,k,M)=>M!==0&&S[M-1].length>0&&k.length>0&&!/^\s/.test(k[0])&&!/^\s|\s$/.test(t(B))?[...B.slice(0,-1),[...t(B),...k]]:[...B,k],[]).map(B=>B.reduce((k,M)=>k.length>0&&/\s$/.test(t(k))?[...k.slice(0,-1),t(k)+" "+M]:[...k,M],[])).map(B=>o.proseWrap==="never"?[B.join(" ")]:B));function b(B){if(D.chomping==="keep")return t(B).length===0?B.slice(0,-1):B;let k=0;for(let M=B.length-1;M>=0&&B[M].length===0;M--)k++;return k===0?B:k>=2&&!C?B.slice(0,-(k-1)):B.slice(0,-k)}}function $(D){if(!D)return!0;switch(D.type){case"plain":case"quoteDouble":case"quoteSingle":case"alias":case"flowMapping":case"flowSequence":return!0;default:return!1}}r.exports={getLast:t,getAncestorCount:a,isNode:n,isEmptyNode:c,isInlineNode:$,mapNode:u,defineShortcut:i,isNextLineEmpty:l,isLastDescendantNode:p,getBlockValueLineContents:P,getFlowScalarLineContents:I,getLastDescendantNode:y,hasPrettierIgnore:g,hasLeadingComments:F,hasMiddleComments:_,hasIndicatorComment:w,hasTrailingComment:E,hasEndComments:N}}}),Mg=te({"src/language-yaml/print-preprocess.js"(e,r){"use strict";ne();var{defineShortcut:t,mapNode:s}=$t();function a(u){return s(u,n)}function n(u){switch(u.type){case"document":t(u,"head",()=>u.children[0]),t(u,"body",()=>u.children[1]);break;case"documentBody":case"sequenceItem":case"flowSequenceItem":case"mappingKey":case"mappingValue":t(u,"content",()=>u.children[0]);break;case"mappingItem":case"flowMappingItem":t(u,"key",()=>u.children[0]),t(u,"value",()=>u.children[1]);break}return u}r.exports=a}}),Mr=te({"src/language-yaml/print/misc.js"(e,r){"use strict";ne();var{builders:{softline:t,align:s}}=qe(),{hasEndComments:a,isNextLineEmpty:n,isNode:u}=$t(),i=new WeakMap;function l(h,g){let c=h.getValue(),f=h.stack[0],F;return i.has(f)?F=i.get(f):(F=new Set,i.set(f,F)),!F.has(c.position.end.line)&&(F.add(c.position.end.line),n(c,g)&&!p(h.getParentNode()))?t:""}function p(h){return a(h)&&!u(h,["documentHead","documentBody","flowMapping","flowSequence"])}function y(h,g){return s(" ".repeat(h),g)}r.exports={alignWithSpaces:y,shouldPrintEndComments:p,printNextEmptyLine:l}}}),Rg=te({"src/language-yaml/print/flow-mapping-sequence.js"(e,r){"use strict";ne();var{builders:{ifBreak:t,line:s,softline:a,hardline:n,join:u}}=qe(),{isEmptyNode:i,getLast:l,hasEndComments:p}=$t(),{printNextEmptyLine:y,alignWithSpaces:h}=Mr();function g(f,F,_){let w=f.getValue(),E=w.type==="flowMapping",N=E?"{":"[",x=E?"}":"]",I=a;E&&w.children.length>0&&_.bracketSpacing&&(I=s);let P=l(w.children),$=P&&P.type==="flowMappingItem"&&i(P.key)&&i(P.value);return[N,h(_.tabWidth,[I,c(f,F,_),_.trailingComma==="none"?"":t(","),p(w)?[n,u(n,f.map(F,"endComments"))]:""]),$?"":I,x]}function c(f,F,_){let w=f.getValue();return f.map((N,x)=>[F(),x===w.children.length-1?"":[",",s,w.children[x].position.start.line!==w.children[x+1].position.start.line?y(N,_.originalText):""]],"children")}r.exports={printFlowMapping:g,printFlowSequence:g}}}),$g=te({"src/language-yaml/print/mapping-item.js"(e,r){"use strict";ne();var{builders:{conditionalGroup:t,group:s,hardline:a,ifBreak:n,join:u,line:i}}=qe(),{hasLeadingComments:l,hasMiddleComments:p,hasTrailingComment:y,hasEndComments:h,isNode:g,isEmptyNode:c,isInlineNode:f}=$t(),{alignWithSpaces:F}=Mr();function _(x,I,P,$,D){let{key:T,value:m}=x,C=c(T),o=c(m);if(C&&o)return": ";let d=$("key"),v=E(x)?" ":"";if(o)return x.type==="flowMappingItem"&&I.type==="flowMapping"?d:x.type==="mappingItem"&&w(T.content,D)&&!y(T.content)&&(!I.tag||I.tag.value!=="tag:yaml.org,2002:set")?[d,v,":"]:["? ",F(2,d)];let S=$("value");if(C)return[": ",F(2,S)];if(l(m)||!f(T.content))return["? ",F(2,d),a,u("",P.map($,"value","leadingComments").map(q=>[q,a])),": ",F(2,S)];if(N(T.content)&&!l(T.content)&&!p(T.content)&&!y(T.content)&&!h(T)&&!l(m.content)&&!p(m.content)&&!h(m)&&w(m.content,D))return[d,v,": ",S];let b=Symbol("mappingKey"),B=s([n("? "),s(F(2,d),{id:b})]),k=[a,": ",F(2,S)],M=[v,":"];l(m.content)||h(m)&&m.content&&!g(m.content,["mapping","sequence"])||I.type==="mapping"&&y(T.content)&&f(m.content)||g(m.content,["mapping","sequence"])&&m.content.tag===null&&m.content.anchor===null?M.push(a):m.content&&M.push(i),M.push(S);let R=F(D.tabWidth,M);return w(T.content,D)&&!l(T.content)&&!p(T.content)&&!h(T)?t([[d,R]]):t([[B,n(k,R,{groupId:b})]])}function w(x,I){if(!x)return!0;switch(x.type){case"plain":case"quoteSingle":case"quoteDouble":break;case"alias":return!0;default:return!1}if(I.proseWrap==="preserve")return x.position.start.line===x.position.end.line;if(/\\$/m.test(I.originalText.slice(x.position.start.offset,x.position.end.offset)))return!1;switch(I.proseWrap){case"never":return!x.value.includes(` -`);case"always":return!/[\n ]/.test(x.value);default:return!1}}function E(x){return x.key.content&&x.key.content.type==="alias"}function N(x){if(!x)return!0;switch(x.type){case"plain":case"quoteDouble":case"quoteSingle":return x.position.start.line===x.position.end.line;case"alias":return!0;default:return!1}}r.exports=_}}),Vg=te({"src/language-yaml/print/block.js"(e,r){"use strict";ne();var{builders:{dedent:t,dedentToRoot:s,fill:a,hardline:n,join:u,line:i,literalline:l,markAsRoot:p},utils:{getDocParts:y}}=qe(),{getAncestorCount:h,getBlockValueLineContents:g,hasIndicatorComment:c,isLastDescendantNode:f,isNode:F}=$t(),{alignWithSpaces:_}=Mr();function w(E,N,x){let I=E.getValue(),P=h(E,C=>F(C,["sequence","mapping"])),$=f(E),D=[I.type==="blockFolded"?">":"|"];I.indent!==null&&D.push(I.indent.toString()),I.chomping!=="clip"&&D.push(I.chomping==="keep"?"+":"-"),c(I)&&D.push(" ",N("indicatorComment"));let T=g(I,{parentIndent:P,isLastDescendant:$,options:x}),m=[];for(let[C,o]of T.entries())C===0&&m.push(n),m.push(a(y(u(i,o)))),C!==T.length-1?m.push(o.length===0?n:p(l)):I.chomping==="keep"&&$&&m.push(s(o.length===0?n:l));return I.indent===null?D.push(t(_(x.tabWidth,m))):D.push(s(_(I.indent-1+P,m))),D}r.exports=w}}),Wg=te({"src/language-yaml/printer-yaml.js"(e,r){"use strict";ne();var{builders:{breakParent:t,fill:s,group:a,hardline:n,join:u,line:i,lineSuffix:l,literalline:p},utils:{getDocParts:y,replaceTextEndOfLine:h}}=qe(),{isPreviousLineEmpty:g}=Ue(),{insertPragma:c,isPragma:f}=Og(),{locStart:F}=jg(),_=qg(),{getFlowScalarLineContents:w,getLastDescendantNode:E,hasLeadingComments:N,hasMiddleComments:x,hasTrailingComment:I,hasEndComments:P,hasPrettierIgnore:$,isLastDescendantNode:D,isNode:T,isInlineNode:m}=$t(),C=Mg(),{alignWithSpaces:o,printNextEmptyLine:d,shouldPrintEndComments:v}=Mr(),{printFlowMapping:S,printFlowSequence:b}=Rg(),B=$g(),k=Vg();function M(j,Y,ie){let ee=j.getValue(),ce=[];ee.type!=="mappingValue"&&N(ee)&&ce.push([u(n,j.map(ie,"leadingComments")),n]);let{tag:W,anchor:K}=ee;W&&ce.push(ie("tag")),W&&K&&ce.push(" "),K&&ce.push(ie("anchor"));let de="";T(ee,["mapping","sequence","comment","directive","mappingItem","sequenceItem"])&&!D(j)&&(de=d(j,Y.originalText)),(W||K)&&(T(ee,["sequence","mapping"])&&!x(ee)?ce.push(n):ce.push(" ")),x(ee)&&ce.push([ee.middleComments.length===1?"":n,u(n,j.map(ie,"middleComments")),n]);let ue=j.getParentNode();return $(j)?ce.push(h(Y.originalText.slice(ee.position.start.offset,ee.position.end.offset).trimEnd(),p)):ce.push(a(R(ee,ue,j,Y,ie))),I(ee)&&!T(ee,["document","documentHead"])&&ce.push(l([ee.type==="mappingValue"&&!ee.content?"":" ",ue.type==="mappingKey"&&j.getParentNode(2).type==="mapping"&&m(ee)?"":t,ie("trailingComment")])),v(ee)&&ce.push(o(ee.type==="sequenceItem"?2:0,[n,u(n,j.map(Fe=>[g(Y.originalText,Fe.getValue(),F)?n:"",ie()],"endComments"))])),ce.push(de),ce}function R(j,Y,ie,ee,ce){switch(j.type){case"root":{let{children:W}=j,K=[];ie.each((ue,Fe)=>{let z=W[Fe],U=W[Fe+1];Fe!==0&&K.push(n),K.push(ce()),J(z,U)?(K.push(n,"..."),I(z)&&K.push(" ",ce("trailingComment"))):U&&!I(U.head)&&K.push(n,"---")},"children");let de=E(j);return(!T(de,["blockLiteral","blockFolded"])||de.chomping!=="keep")&&K.push(n),K}case"document":{let W=Y.children[ie.getName()+1],K=[];return L(j,W,Y,ee)==="head"&&((j.head.children.length>0||j.head.endComments.length>0)&&K.push(ce("head")),I(j.head)?K.push(["---"," ",ce(["head","trailingComment"])]):K.push("---")),q(j)&&K.push(ce("body")),u(n,K)}case"documentHead":return u(n,[...ie.map(ce,"children"),...ie.map(ce,"endComments")]);case"documentBody":{let{children:W,endComments:K}=j,de="";if(W.length>0&&K.length>0){let ue=E(j);T(ue,["blockFolded","blockLiteral"])?ue.chomping!=="keep"&&(de=[n,n]):de=n}return[u(n,ie.map(ce,"children")),de,u(n,ie.map(ce,"endComments"))]}case"directive":return["%",u(" ",[j.name,...j.parameters])];case"comment":return["#",j.value];case"alias":return["*",j.value];case"tag":return ee.originalText.slice(j.position.start.offset,j.position.end.offset);case"anchor":return["&",j.value];case"plain":return Q(j.type,ee.originalText.slice(j.position.start.offset,j.position.end.offset),ee);case"quoteDouble":case"quoteSingle":{let W="'",K='"',de=ee.originalText.slice(j.position.start.offset+1,j.position.end.offset-1);if(j.type==="quoteSingle"&&de.includes("\\")||j.type==="quoteDouble"&&/\\[^"]/.test(de)){let Fe=j.type==="quoteDouble"?K:W;return[Fe,Q(j.type,de,ee),Fe]}if(de.includes(K))return[W,Q(j.type,j.type==="quoteDouble"?de.replace(/\\"/g,K).replace(/'/g,W.repeat(2)):de,ee),W];if(de.includes(W))return[K,Q(j.type,j.type==="quoteSingle"?de.replace(/''/g,W):de,ee),K];let ue=ee.singleQuote?W:K;return[ue,Q(j.type,de,ee),ue]}case"blockFolded":case"blockLiteral":return k(ie,ce,ee);case"mapping":case"sequence":return u(n,ie.map(ce,"children"));case"sequenceItem":return["- ",o(2,j.content?ce("content"):"")];case"mappingKey":case"mappingValue":return j.content?ce("content"):"";case"mappingItem":case"flowMappingItem":return B(j,Y,ie,ce,ee);case"flowMapping":return S(ie,ce,ee);case"flowSequence":return b(ie,ce,ee);case"flowSequenceItem":return ce("content");default:throw new Error(`Unexpected node type ${j.type}`)}}function q(j){return j.body.children.length>0||P(j.body)}function J(j,Y){return I(j)||Y&&(Y.head.children.length>0||P(Y.head))}function L(j,Y,ie,ee){return ie.children[0]===j&&/---(?:\s|$)/.test(ee.originalText.slice(F(j),F(j)+4))||j.head.children.length>0||P(j.head)||I(j.head)?"head":J(j,Y)?!1:Y?"root":!1}function Q(j,Y,ie){let ee=w(j,Y,ie);return u(n,ee.map(ce=>s(y(u(i,ce)))))}function V(j,Y){if(T(Y))switch(delete Y.position,Y.type){case"comment":if(f(Y.value))return null;break;case"quoteDouble":case"quoteSingle":Y.type="quote";break}}r.exports={preprocess:C,embed:_,print:M,massageAstNode:V,insertPragma:c}}}),Hg=te({"src/language-yaml/options.js"(e,r){"use strict";ne();var t=Mt();r.exports={bracketSpacing:t.bracketSpacing,singleQuote:t.singleQuote,proseWrap:t.proseWrap}}}),Gg=te({"src/language-yaml/parsers.js"(){ne()}}),Ug=te({"node_modules/linguist-languages/data/YAML.json"(e,r){r.exports={name:"YAML",type:"data",color:"#cb171e",tmScope:"source.yaml",aliases:["yml"],extensions:[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],filenames:[".clang-format",".clang-tidy",".gemrc","CITATION.cff","glide.lock","yarn.lock"],aceMode:"yaml",codemirrorMode:"yaml",codemirrorMimeType:"text/x-yaml",languageId:407}}}),Jg=te({"src/language-yaml/index.js"(e,r){"use strict";ne();var t=_t(),s=Wg(),a=Hg(),n=Gg(),u=[t(Ug(),i=>({since:"1.14.0",parsers:["yaml"],vscodeLanguageIds:["yaml","ansible","home-assistant"],filenames:[...i.filenames.filter(l=>l!=="yarn.lock"),".prettierrc",".stylelintrc",".lintstagedrc"]}))];r.exports={languages:u,printers:{yaml:s},options:a,parsers:n}}}),zg=te({"src/languages.js"(e,r){"use strict";ne(),r.exports=[Bd(),Ud(),eg(),ag(),dg(),Lg(),Jg()]}});ne();var{version:Xg}=Ia(),Ot=Gm(),{getSupportInfo:Kg}=Xn(),Yg=Um(),Qg=zg(),Zg=qe();function Nt(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return function(){for(var t=arguments.length,s=new Array(t),a=0;a function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { - exports: {} - }).exports, mod), mod.exports; -}; -var require_resolve_from = __commonJS({ - "node_modules/import-fresh/node_modules/resolve-from/index.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var Module = require("module"); - var fs = require("fs"); - var resolveFrom = (fromDir, moduleId, silent) => { - if (typeof fromDir !== "string") { - throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``); - } - if (typeof moduleId !== "string") { - throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); - } - try { - fromDir = fs.realpathSync(fromDir); - } catch (err) { - if (err.code === "ENOENT") { - fromDir = path.resolve(fromDir); - } else if (silent) { - return null; - } else { - throw err; - } - } - const fromFile = path.join(fromDir, "noop.js"); - const resolveFileName = () => Module._resolveFilename(moduleId, { - id: fromFile, - filename: fromFile, - paths: Module._nodeModulePaths(fromDir) - }); - if (silent) { - try { - return resolveFileName(); - } catch (err) { - return null; - } - } - return resolveFileName(); - }; - module2.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId); - module2.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true); - } -}); -var require_parent_module = __commonJS({ - "scripts/build/shims/parent-module.cjs"(exports2, module2) { - "use strict"; - module2.exports = (file) => file; - } -}); -var require_import_fresh = __commonJS({ - "node_modules/import-fresh/index.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var resolveFrom = require_resolve_from(); - var parentModule = require_parent_module(); - module2.exports = (moduleId) => { - if (typeof moduleId !== "string") { - throw new TypeError("Expected a string"); - } - const parentPath = parentModule(__filename); - const cwd = parentPath ? path.dirname(parentPath) : __dirname; - const filePath = resolveFrom(cwd, moduleId); - const oldModule = require.cache[filePath]; - if (oldModule && oldModule.parent) { - let i = oldModule.parent.children.length; - while (i--) { - if (oldModule.parent.children[i].id === filePath) { - oldModule.parent.children.splice(i, 1); - } - } - } - delete require.cache[filePath]; - const parent = require.cache[parentPath]; - return parent === void 0 ? require(filePath) : parent.require(filePath); - }; - } -}); -var require_is_arrayish = __commonJS({ - "node_modules/is-arrayish/index.js"(exports2, module2) { - "use strict"; - module2.exports = function isArrayish(obj) { - if (!obj) { - return false; - } - return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && obj.splice instanceof Function; - }; - } -}); -var require_error_ex = __commonJS({ - "node_modules/error-ex/index.js"(exports2, module2) { - "use strict"; - var util = require("util"); - var isArrayish = require_is_arrayish(); - var errorEx = function errorEx2(name, properties) { - if (!name || name.constructor !== String) { - properties = name || {}; - name = Error.name; - } - var errorExError = function ErrorEXError(message) { - if (!this) { - return new ErrorEXError(message); - } - message = message instanceof Error ? message.message : message || this.message; - Error.call(this, message); - Error.captureStackTrace(this, errorExError); - this.name = name; - Object.defineProperty(this, "message", { - configurable: true, - enumerable: false, - get: function() { - var newMessage = message.split(/\r?\n/g); - for (var key in properties) { - if (!properties.hasOwnProperty(key)) { - continue; - } - var modifier = properties[key]; - if ("message" in modifier) { - newMessage = modifier.message(this[key], newMessage) || newMessage; - if (!isArrayish(newMessage)) { - newMessage = [newMessage]; - } - } - } - return newMessage.join("\n"); - }, - set: function(v) { - message = v; - } - }); - var overwrittenStack = null; - var stackDescriptor = Object.getOwnPropertyDescriptor(this, "stack"); - var stackGetter = stackDescriptor.get; - var stackValue = stackDescriptor.value; - delete stackDescriptor.value; - delete stackDescriptor.writable; - stackDescriptor.set = function(newstack) { - overwrittenStack = newstack; - }; - stackDescriptor.get = function() { - var stack = (overwrittenStack || (stackGetter ? stackGetter.call(this) : stackValue)).split(/\r?\n+/g); - if (!overwrittenStack) { - stack[0] = this.name + ": " + this.message; - } - var lineCount = 1; - for (var key in properties) { - if (!properties.hasOwnProperty(key)) { - continue; - } - var modifier = properties[key]; - if ("line" in modifier) { - var line = modifier.line(this[key]); - if (line) { - stack.splice(lineCount++, 0, " " + line); - } - } - if ("stack" in modifier) { - modifier.stack(this[key], stack); - } - } - return stack.join("\n"); - }; - Object.defineProperty(this, "stack", stackDescriptor); - }; - if (Object.setPrototypeOf) { - Object.setPrototypeOf(errorExError.prototype, Error.prototype); - Object.setPrototypeOf(errorExError, Error); - } else { - util.inherits(errorExError, Error); - } - return errorExError; - }; - errorEx.append = function(str, def) { - return { - message: function(v, message) { - v = v || def; - if (v) { - message[0] += " " + str.replace("%s", v.toString()); - } - return message; - } - }; - }; - errorEx.line = function(str, def) { - return { - line: function(v) { - v = v || def; - if (v) { - return str.replace("%s", v.toString()); - } - return null; - } - }; - }; - module2.exports = errorEx; - } -}); -var require_json_parse_even_better_errors = __commonJS({ - "node_modules/json-parse-even-better-errors/index.js"(exports2, module2) { - "use strict"; - var hexify = (char) => { - const h = char.charCodeAt(0).toString(16).toUpperCase(); - return "0x" + (h.length % 2 ? "0" : "") + h; - }; - var parseError = (e, txt, context) => { - if (!txt) { - return { - message: e.message + " while parsing empty string", - position: 0 - }; - } - const badToken = e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i); - const errIdx = badToken ? +badToken[2] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null; - const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${JSON.stringify(badToken[1])} (${hexify(badToken[1])})`) : e.message; - if (errIdx !== null && errIdx !== void 0) { - const start = errIdx <= context ? 0 : errIdx - context; - const end = errIdx + context >= txt.length ? txt.length : errIdx + context; - const slice = (start === 0 ? "" : "...") + txt.slice(start, end) + (end === txt.length ? "" : "..."); - const near = txt === slice ? "" : "near "; - return { - message: msg + ` while parsing ${near}${JSON.stringify(slice)}`, - position: errIdx - }; - } else { - return { - message: msg + ` while parsing '${txt.slice(0, context * 2)}'`, - position: 0 - }; - } - }; - var JSONParseError = class extends SyntaxError { - constructor(er, txt, context, caller) { - context = context || 20; - const metadata = parseError(er, txt, context); - super(metadata.message); - Object.assign(this, metadata); - this.code = "EJSONPARSE"; - this.systemError = er; - Error.captureStackTrace(this, caller || this.constructor); - } - get name() { - return this.constructor.name; - } - set name(n) { - } - get [Symbol.toStringTag]() { - return this.constructor.name; - } - }; - var kIndent = Symbol.for("indent"); - var kNewline = Symbol.for("newline"); - var formatRE = /^\s*[{\[]((?:\r?\n)+)([\s\t]*)/; - var emptyRE = /^(?:\{\}|\[\])((?:\r?\n)+)?$/; - var parseJson = (txt, reviver, context) => { - const parseText = stripBOM(txt); - context = context || 20; - try { - const [, newline = "\n", indent = " "] = parseText.match(emptyRE) || parseText.match(formatRE) || [, "", ""]; - const result = JSON.parse(parseText, reviver); - if (result && typeof result === "object") { - result[kNewline] = newline; - result[kIndent] = indent; - } - return result; - } catch (e) { - if (typeof txt !== "string" && !Buffer.isBuffer(txt)) { - const isEmptyArray = Array.isArray(txt) && txt.length === 0; - throw Object.assign(new TypeError(`Cannot parse ${isEmptyArray ? "an empty array" : String(txt)}`), { - code: "EJSONPARSE", - systemError: e - }); - } - throw new JSONParseError(e, parseText, context, parseJson); - } - }; - var stripBOM = (txt) => String(txt).replace(/^\uFEFF/, ""); - module2.exports = parseJson; - parseJson.JSONParseError = JSONParseError; - parseJson.noExceptions = (txt, reviver) => { - try { - return JSON.parse(stripBOM(txt), reviver); - } catch (e) { - } - }; - } -}); -var require_build = __commonJS({ - "node_modules/parse-json/node_modules/lines-and-columns/build/index.js"(exports2) { - "use strict"; - exports2.__esModule = true; - exports2.LinesAndColumns = void 0; - var LF = "\n"; - var CR = "\r"; - var LinesAndColumns = function() { - function LinesAndColumns2(string) { - this.string = string; - var offsets = [0]; - for (var offset = 0; offset < string.length; ) { - switch (string[offset]) { - case LF: - offset += LF.length; - offsets.push(offset); - break; - case CR: - offset += CR.length; - if (string[offset] === LF) { - offset += LF.length; - } - offsets.push(offset); - break; - default: - offset++; - break; - } - } - this.offsets = offsets; - } - LinesAndColumns2.prototype.locationForIndex = function(index) { - if (index < 0 || index > this.string.length) { - return null; - } - var line = 0; - var offsets = this.offsets; - while (offsets[line + 1] <= index) { - line++; - } - var column = index - offsets[line]; - return { - line, - column - }; - }; - LinesAndColumns2.prototype.indexForLocation = function(location) { - var line = location.line, column = location.column; - if (line < 0 || line >= this.offsets.length) { - return null; - } - if (column < 0 || column > this.lengthOfLine(line)) { - return null; - } - return this.offsets[line] + column; - }; - LinesAndColumns2.prototype.lengthOfLine = function(line) { - var offset = this.offsets[line]; - var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1]; - return nextOffset - offset; - }; - return LinesAndColumns2; - }(); - exports2.LinesAndColumns = LinesAndColumns; - exports2["default"] = LinesAndColumns; - } -}); -var require_js_tokens = __commonJS({ - "node_modules/js-tokens/index.js"(exports2) { - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; - exports2.matchToToken = function(match) { - var token = { - type: "invalid", - value: match[0], - closed: void 0 - }; - if (match[1]) - token.type = "string", token.closed = !!(match[3] || match[4]); - else if (match[5]) - token.type = "comment"; - else if (match[6]) - token.type = "comment", token.closed = !!match[7]; - else if (match[8]) - token.type = "regex"; - else if (match[9]) - token.type = "number"; - else if (match[10]) - token.type = "name"; - else if (match[11]) - token.type = "punctuator"; - else if (match[12]) - token.type = "whitespace"; - return token; - }; - } -}); -var require_identifier = __commonJS({ - "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isIdentifierChar = isIdentifierChar; - exports2.isIdentifierName = isIdentifierName; - exports2.isIdentifierStart = isIdentifierStart; - var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; - var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; - var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); - var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); - nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; - var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191]; - var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; - function isInAstralSet(code, set) { - let pos = 65536; - for (let i = 0, length = set.length; i < length; i += 2) { - pos += set[i]; - if (pos > code) - return false; - pos += set[i + 1]; - if (pos >= code) - return true; - } - return false; - } - function isIdentifierStart(code) { - if (code < 65) - return code === 36; - if (code <= 90) - return true; - if (code < 97) - return code === 95; - if (code <= 122) - return true; - if (code <= 65535) { - return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code)); - } - return isInAstralSet(code, astralIdentifierStartCodes); - } - function isIdentifierChar(code) { - if (code < 48) - return code === 36; - if (code < 58) - return true; - if (code < 65) - return false; - if (code <= 90) - return true; - if (code < 97) - return code === 95; - if (code <= 122) - return true; - if (code <= 65535) { - return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code)); - } - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); - } - function isIdentifierName(name) { - let isFirst = true; - for (let i = 0; i < name.length; i++) { - let cp = name.charCodeAt(i); - if ((cp & 64512) === 55296 && i + 1 < name.length) { - const trail = name.charCodeAt(++i); - if ((trail & 64512) === 56320) { - cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); - } - } - if (isFirst) { - isFirst = false; - if (!isIdentifierStart(cp)) { - return false; - } - } else if (!isIdentifierChar(cp)) { - return false; - } - } - return !isFirst; - } - } -}); -var require_keyword = __commonJS({ - "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isKeyword = isKeyword; - exports2.isReservedWord = isReservedWord; - exports2.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; - exports2.isStrictBindReservedWord = isStrictBindReservedWord; - exports2.isStrictReservedWord = isStrictReservedWord; - var reservedWords = { - keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], - strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], - strictBind: ["eval", "arguments"] - }; - var keywords = new Set(reservedWords.keyword); - var reservedWordsStrictSet = new Set(reservedWords.strict); - var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); - function isReservedWord(word, inModule) { - return inModule && word === "await" || word === "enum"; - } - function isStrictReservedWord(word, inModule) { - return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); - } - function isStrictBindOnlyReservedWord(word) { - return reservedWordsStrictBindSet.has(word); - } - function isStrictBindReservedWord(word, inModule) { - return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); - } - function isKeyword(word) { - return keywords.has(word); - } - } -}); -var require_lib = __commonJS({ - "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - Object.defineProperty(exports2, "isIdentifierChar", { - enumerable: true, - get: function() { - return _identifier.isIdentifierChar; - } - }); - Object.defineProperty(exports2, "isIdentifierName", { - enumerable: true, - get: function() { - return _identifier.isIdentifierName; - } - }); - Object.defineProperty(exports2, "isIdentifierStart", { - enumerable: true, - get: function() { - return _identifier.isIdentifierStart; - } - }); - Object.defineProperty(exports2, "isKeyword", { - enumerable: true, - get: function() { - return _keyword.isKeyword; - } - }); - Object.defineProperty(exports2, "isReservedWord", { - enumerable: true, - get: function() { - return _keyword.isReservedWord; - } - }); - Object.defineProperty(exports2, "isStrictBindOnlyReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictBindOnlyReservedWord; - } - }); - Object.defineProperty(exports2, "isStrictBindReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictBindReservedWord; - } - }); - Object.defineProperty(exports2, "isStrictReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictReservedWord; - } - }); - var _identifier = require_identifier(); - var _keyword = require_keyword(); - } -}); -var require_escape_string_regexp = __commonJS({ - "node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js"(exports2, module2) { - "use strict"; - var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - module2.exports = function(str) { - if (typeof str !== "string") { - throw new TypeError("Expected a string"); - } - return str.replace(matchOperatorsRe, "\\$&"); - }; - } -}); -var require_color_name = __commonJS({ - "node_modules/color-name/index.js"(exports2, module2) { - "use strict"; - module2.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] - }; - } -}); -var require_conversions = __commonJS({ - "node_modules/color-convert/conversions.js"(exports2, module2) { - var cssKeywords = require_color_name(); - var reverseKeywords = {}; - for (key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } - } - var key; - var convert = module2.exports = { - rgb: { - channels: 3, - labels: "rgb" - }, - hsl: { - channels: 3, - labels: "hsl" - }, - hsv: { - channels: 3, - labels: "hsv" - }, - hwb: { - channels: 3, - labels: "hwb" - }, - cmyk: { - channels: 4, - labels: "cmyk" - }, - xyz: { - channels: 3, - labels: "xyz" - }, - lab: { - channels: 3, - labels: "lab" - }, - lch: { - channels: 3, - labels: "lch" - }, - hex: { - channels: 1, - labels: ["hex"] - }, - keyword: { - channels: 1, - labels: ["keyword"] - }, - ansi16: { - channels: 1, - labels: ["ansi16"] - }, - ansi256: { - channels: 1, - labels: ["ansi256"] - }, - hcg: { - channels: 3, - labels: ["h", "c", "g"] - }, - apple: { - channels: 3, - labels: ["r16", "g16", "b16"] - }, - gray: { - channels: 1, - labels: ["gray"] - } - }; - for (model in convert) { - if (convert.hasOwnProperty(model)) { - if (!("channels" in convert[model])) { - throw new Error("missing channels property: " + model); - } - if (!("labels" in convert[model])) { - throw new Error("missing channel labels property: " + model); - } - if (convert[model].labels.length !== convert[model].channels) { - throw new Error("channel and label counts mismatch: " + model); - } - channels = convert[model].channels; - labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], "channels", { - value: channels - }); - Object.defineProperty(convert[model], "labels", { - value: labels - }); - } - } - var channels; - var labels; - var model; - convert.rgb.hsl = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - h = Math.min(h * 60, 360); - if (h < 0) { - h += 360; - } - l = (min + max) / 2; - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - return [h, s * 100, l * 100]; - }; - convert.rgb.hsv = function(rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - var diffc = function(c) { - return (v - c) / 6 / diff + 1 / 2; - }; - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - return [h * 360, s * 100, v * 100]; - }; - convert.rgb.hwb = function(rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; - }; - convert.rgb.cmyk = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; - }; - function comparativeDistance(x, y) { - return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); - } - convert.rgb.keyword = function(rgb) { - var reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - var currentClosestDistance = Infinity; - var currentClosestKeyword; - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; - var distance = comparativeDistance(rgb, value); - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - return currentClosestKeyword; - }; - convert.keyword.rgb = function(keyword) { - return cssKeywords[keyword]; - }; - convert.rgb.xyz = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; - g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; - b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; - var x = r * 0.4124 + g * 0.3576 + b * 0.1805; - var y = r * 0.2126 + g * 0.7152 + b * 0.0722; - var z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; - }; - convert.rgb.lab = function(rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.hsl.rgb = function(hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - t1 = 2 * l - t2; - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - rgb[i] = val * 255; - } - return rgb; - }; - convert.hsl.hsv = function(hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; - }; - convert.hsv.rgb = function(hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - s * f); - var t = 255 * v * (1 - s * (1 - f)); - v *= 255; - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } - }; - convert.hsv.hsl = function(hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; - }; - convert.hwb.rgb = function(hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - if ((i & 1) !== 0) { - f = 1 - f; - } - n = wh + f * (v - wh); - var r; - var g; - var b; - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - case 1: - r = n; - g = v; - b = wh; - break; - case 2: - r = wh; - g = v; - b = n; - break; - case 3: - r = wh; - g = n; - b = v; - break; - case 4: - r = n; - g = wh; - b = v; - break; - case 5: - r = v; - g = wh; - b = n; - break; - } - return [r * 255, g * 255, b * 255]; - }; - convert.cmyk.rgb = function(cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.rgb = function(xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.204 + z * 1.057; - r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92; - g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92; - b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.lab = function(xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.lab.xyz = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; - }; - convert.lab.lch = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - if (h < 0) { - h += 360; - } - c = Math.sqrt(a * a + b * b); - return [l, c, h]; - }; - convert.lch.lab = function(lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - return [l, a, b]; - }; - convert.rgb.ansi16 = function(args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; - value = Math.round(value / 50); - if (value === 0) { - return 30; - } - var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - if (value === 2) { - ansi += 60; - } - return ansi; - }; - convert.hsv.ansi16 = function(args) { - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); - }; - convert.rgb.ansi256 = function(args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - if (r === g && g === b) { - if (r < 8) { - return 16; - } - if (r > 248) { - return 231; - } - return Math.round((r - 8) / 247 * 24) + 232; - } - var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; - }; - convert.ansi16.rgb = function(args) { - var color = args % 10; - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - color = color / 10.5 * 255; - return [color, color, color]; - } - var mult = (~~(args > 50) + 1) * 0.5; - var r = (color & 1) * mult * 255; - var g = (color >> 1 & 1) * mult * 255; - var b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; - }; - convert.ansi256.rgb = function(args) { - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - args -= 16; - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = rem % 6 / 5 * 255; - return [r, g, b]; - }; - convert.rgb.hex = function(args) { - var integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255); - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.hex.rgb = function(args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - var colorString = match[0]; - if (match[0].length === 3) { - colorString = colorString.split("").map(function(char) { - return char + char; - }).join(""); - } - var integer = parseInt(colorString, 16); - var r = integer >> 16 & 255; - var g = integer >> 8 & 255; - var b = integer & 255; - return [r, g, b]; - }; - convert.rgb.hcg = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = max - min; - var grayscale; - var hue; - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; - }; - convert.hsl.hcg = function(hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - if (l < 0.5) { - c = 2 * s * l; - } else { - c = 2 * s * (1 - l); - } - if (c < 1) { - f = (l - 0.5 * c) / (1 - c); - } - return [hsl[0], c * 100, f * 100]; - }; - convert.hsv.hcg = function(hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var c = s * v; - var f = 0; - if (c < 1) { - f = (v - c) / (1 - c); - } - return [hsv[0], c * 100, f * 100]; - }; - convert.hcg.rgb = function(hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - if (c === 0) { - return [g * 255, g * 255, g * 255]; - } - var pure = [0, 0, 0]; - var hi = h % 1 * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - mg = (1 - c) * g; - return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; - }; - convert.hcg.hsv = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - var f = 0; - if (v > 0) { - f = c / v; - } - return [hcg[0], f * 100, v * 100]; - }; - convert.hcg.hsl = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var l = g * (1 - c) + 0.5 * c; - var s = 0; - if (l > 0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1) { - s = c / (2 * (1 - l)); - } - return [hcg[0], s * 100, l * 100]; - }; - convert.hcg.hwb = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; - }; - convert.hwb.hcg = function(hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - if (c < 1) { - g = (v - c) / (1 - c); - } - return [hwb[0], c * 100, g * 100]; - }; - convert.apple.rgb = function(apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; - }; - convert.rgb.apple = function(rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; - }; - convert.gray.rgb = function(args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; - }; - convert.gray.hsl = convert.gray.hsv = function(args) { - return [0, 0, args[0]]; - }; - convert.gray.hwb = function(gray) { - return [0, 100, gray[0]]; - }; - convert.gray.cmyk = function(gray) { - return [0, 0, 0, gray[0]]; - }; - convert.gray.lab = function(gray) { - return [gray[0], 0, 0]; - }; - convert.gray.hex = function(gray) { - var val = Math.round(gray[0] / 100 * 255) & 255; - var integer = (val << 16) + (val << 8) + val; - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.rgb.gray = function(rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; - }; - } -}); -var require_route = __commonJS({ - "node_modules/color-convert/route.js"(exports2, module2) { - var conversions = require_conversions(); - function buildGraph() { - var graph = {}; - var models = Object.keys(conversions); - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - distance: -1, - parent: null - }; - } - return graph; - } - function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; - graph[fromModel].distance = 0; - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - return graph; - } - function link(from, to) { - return function(args) { - return to(from(args)); - }; - } - function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - fn.conversion = path; - return fn; - } - module2.exports = function(fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - if (node.parent === null) { - continue; - } - conversion[toModel] = wrapConversion(toModel, graph); - } - return conversion; - }; - } -}); -var require_color_convert = __commonJS({ - "node_modules/color-convert/index.js"(exports2, module2) { - var conversions = require_conversions(); - var route = require_route(); - var convert = {}; - var models = Object.keys(conversions); - function wrapRaw(fn) { - var wrappedFn = function(args) { - if (args === void 0 || args === null) { - return args; - } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - return fn(args); - }; - if ("conversion" in fn) { - wrappedFn.conversion = fn.conversion; - } - return wrappedFn; - } - function wrapRounded(fn) { - var wrappedFn = function(args) { - if (args === void 0 || args === null) { - return args; - } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - var result = fn(args); - if (typeof result === "object") { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - return result; - }; - if ("conversion" in fn) { - wrappedFn.conversion = fn.conversion; - } - return wrappedFn; - } - models.forEach(function(fromModel) { - convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], "channels", { - value: conversions[fromModel].channels - }); - Object.defineProperty(convert[fromModel], "labels", { - value: conversions[fromModel].labels - }); - var routes = route(fromModel); - var routeModels = Object.keys(routes); - routeModels.forEach(function(toModel) { - var fn = routes[toModel]; - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); - }); - module2.exports = convert; - } -}); -var require_ansi_styles = __commonJS({ - "node_modules/ansi-styles/index.js"(exports2, module2) { - "use strict"; - var colorConvert = require_color_convert(); - var wrapAnsi16 = (fn, offset) => function() { - const code = fn.apply(colorConvert, arguments); - return `\x1B[${code + offset}m`; - }; - var wrapAnsi256 = (fn, offset) => function() { - const code = fn.apply(colorConvert, arguments); - return `\x1B[${38 + offset};5;${code}m`; - }; - var wrapAnsi16m = (fn, offset) => function() { - const rgb = fn.apply(colorConvert, arguments); - return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; - }; - function assembleStyles() { - const codes = /* @__PURE__ */ new Map(); - const styles = { - modifier: { - reset: [0, 0], - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; - styles.color.grey = styles.color.gray; - for (const groupName of Object.keys(styles)) { - const group = styles[groupName]; - for (const styleName of Object.keys(group)) { - const style = group[styleName]; - styles[styleName] = { - open: `\x1B[${style[0]}m`, - close: `\x1B[${style[1]}m` - }; - group[styleName] = styles[styleName]; - codes.set(style[0], style[1]); - } - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - Object.defineProperty(styles, "codes", { - value: codes, - enumerable: false - }); - } - const ansi2ansi = (n) => n; - const rgb2rgb = (r, g, b) => [r, g, b]; - styles.color.close = "\x1B[39m"; - styles.bgColor.close = "\x1B[49m"; - styles.color.ansi = { - ansi: wrapAnsi16(ansi2ansi, 0) - }; - styles.color.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 0) - }; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; - styles.bgColor.ansi = { - ansi: wrapAnsi16(ansi2ansi, 10) - }; - styles.bgColor.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 10) - }; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; - for (let key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== "object") { - continue; - } - const suite = colorConvert[key]; - if (key === "ansi16") { - key = "ansi"; - } - if ("ansi16" in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } - if ("ansi256" in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } - if ("rgb" in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } - } - return styles; - } - Object.defineProperty(module2, "exports", { - enumerable: true, - get: assembleStyles - }); - } -}); -var require_has_flag = __commonJS({ - "node_modules/@babel/highlight/node_modules/has-flag/index.js"(exports2, module2) { - "use strict"; - module2.exports = (flag, argv) => { - argv = argv || process.argv; - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; - const pos = argv.indexOf(prefix + flag); - const terminatorPos = argv.indexOf("--"); - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); - }; - } -}); -var require_supports_color = __commonJS({ - "node_modules/@babel/highlight/node_modules/supports-color/index.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var hasFlag = require_has_flag(); - var env = process.env; - var forceColor; - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) { - forceColor = false; - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { - forceColor = true; - } - if ("FORCE_COLOR" in env) { - forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; - } - function translateLevel(level) { - if (level === 0) { - return false; - } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; - } - function supportsColor(stream) { - if (forceColor === false) { - return 0; - } - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { - return 3; - } - if (hasFlag("color=256")) { - return 2; - } - if (stream && !stream.isTTY && forceColor !== true) { - return 0; - } - const min = forceColor ? 1 : 0; - if (process.platform === "win32") { - const osRelease = os.release().split("."); - if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - return 1; - } - if ("CI" in env) { - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env) || env.CI_NAME === "codeship") { - return 1; - } - return min; - } - if ("TEAMCITY_VERSION" in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - if (env.COLORTERM === "truecolor") { - return 3; - } - if ("TERM_PROGRAM" in env) { - const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); - switch (env.TERM_PROGRAM) { - case "iTerm.app": - return version >= 3 ? 3 : 2; - case "Apple_Terminal": - return 2; - } - } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - if ("COLORTERM" in env) { - return 1; - } - if (env.TERM === "dumb") { - return min; - } - return min; - } - function getSupportLevel(stream) { - const level = supportsColor(stream); - return translateLevel(level); - } - module2.exports = { - supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr) - }; - } -}); -var require_templates = __commonJS({ - "node_modules/@babel/highlight/node_modules/chalk/templates.js"(exports2, module2) { - "use strict"; - var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; - var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; - var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; - var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; - var ESCAPES = /* @__PURE__ */ new Map([["n", "\n"], ["r", "\r"], ["t", " "], ["b", "\b"], ["f", "\f"], ["v", "\v"], ["0", "\0"], ["\\", "\\"], ["e", "\x1B"], ["a", "\x07"]]); - function unescape(c) { - if (c[0] === "u" && c.length === 5 || c[0] === "x" && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - return ESCAPES.get(c) || c; - } - function parseArguments(name, args) { - const results = []; - const chunks = args.trim().split(/\s*,\s*/g); - let matches; - for (const chunk of chunks) { - if (!isNaN(chunk)) { - results.push(Number(chunk)); - } else if (matches = chunk.match(STRING_REGEX)) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - return results; - } - function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - const results = []; - let matches; - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - return results; - } - function buildStyle(chalk, styles) { - const enabled = {}; - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - let current = chalk; - for (const styleName of Object.keys(enabled)) { - if (Array.isArray(enabled[styleName])) { - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - if (enabled[styleName].length > 0) { - current = current[styleName].apply(current, enabled[styleName]); - } else { - current = current[styleName]; - } - } - } - return current; - } - module2.exports = (chalk, tmp) => { - const styles = []; - const chunks = []; - let chunk = []; - tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { - if (escapeChar) { - chunk.push(unescape(escapeChar)); - } else if (style) { - const str = chunk.join(""); - chunk = []; - chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); - styles.push({ - inverse, - styles: parseStyle(style) - }); - } else if (close) { - if (styles.length === 0) { - throw new Error("Found extraneous } in Chalk template literal"); - } - chunks.push(buildStyle(chalk, styles)(chunk.join(""))); - chunk = []; - styles.pop(); - } else { - chunk.push(chr); - } - }); - chunks.push(chunk.join("")); - if (styles.length > 0) { - const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`; - throw new Error(errMsg); - } - return chunks.join(""); - }; - } -}); -var require_chalk = __commonJS({ - "node_modules/@babel/highlight/node_modules/chalk/index.js"(exports2, module2) { - "use strict"; - var escapeStringRegexp = require_escape_string_regexp(); - var ansiStyles = require_ansi_styles(); - var stdoutColor = require_supports_color().stdout; - var template = require_templates(); - var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm"); - var levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"]; - var skipModels = /* @__PURE__ */ new Set(["gray"]); - var styles = /* @__PURE__ */ Object.create(null); - function applyOptions(obj, options) { - options = options || {}; - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === void 0 ? scLevel : options.level; - obj.enabled = "enabled" in options ? options.enabled : obj.level > 0; - } - function Chalk(options) { - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); - chalk.template = function() { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - chalk.template.constructor = Chalk; - return chalk.template; - } - applyOptions(this, options); - } - if (isSimpleWindowsTerm) { - ansiStyles.blue.open = "\x1B[94m"; - } - for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), "g"); - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; - } - styles.visible = { - get() { - return build.call(this, this._styles || [], true, "visible"); - } - }; - ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), "g"); - for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - styles[model] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; - } - ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), "g"); - for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; - } - var proto = Object.defineProperties(() => { - }, styles); - function build(_styles, _empty, key) { - const builder = function() { - return applyStyle.apply(builder, arguments); - }; - builder._styles = _styles; - builder._empty = _empty; - const self = this; - Object.defineProperty(builder, "level", { - enumerable: true, - get() { - return self.level; - }, - set(level) { - self.level = level; - } - }); - Object.defineProperty(builder, "enabled", { - enumerable: true, - get() { - return self.enabled; - }, - set(enabled) { - self.enabled = enabled; - } - }); - builder.hasGrey = this.hasGrey || key === "gray" || key === "grey"; - builder.__proto__ = proto; - return builder; - } - function applyStyle() { - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - if (argsLen === 0) { - return ""; - } - if (argsLen > 1) { - for (let a = 1; a < argsLen; a++) { - str += " " + args[a]; - } - } - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? "" : str; - } - const originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ""; - } - for (const code of this._styles.slice().reverse()) { - str = code.open + str.replace(code.closeRe, code.open) + code.close; - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } - ansiStyles.dim.open = originalDim; - return str; - } - function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - return [].slice.call(arguments, 1).join(" "); - } - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&")); - parts.push(String(strings.raw[i])); - } - return template(chalk, parts.join("")); - } - Object.defineProperties(Chalk.prototype, styles); - module2.exports = Chalk(); - module2.exports.supportsColor = stdoutColor; - module2.exports.default = module2.exports; - } -}); -var require_lib2 = __commonJS({ - "node_modules/@babel/highlight/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = highlight; - exports2.getChalk = getChalk; - exports2.shouldHighlight = shouldHighlight; - var _jsTokens = require_js_tokens(); - var _helperValidatorIdentifier = require_lib(); - var _chalk = require_chalk(); - var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]); - function getDefs(chalk) { - return { - keyword: chalk.cyan, - capitalized: chalk.yellow, - jsxIdentifier: chalk.yellow, - punctuator: chalk.yellow, - number: chalk.magenta, - string: chalk.green, - regex: chalk.magenta, - comment: chalk.grey, - invalid: chalk.white.bgRed.bold - }; - } - var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - var BRACKET = /^[()[\]{}]$/; - var tokenize; - { - const JSX_TAG = /^[a-z][\w-]*$/i; - const getTokenType = function(token, offset, text) { - if (token.type === "name") { - if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { - return "keyword"; - } - if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) == " colorize(str)).join("\n"); - } else { - highlighted += value; - } - } - return highlighted; - } - function shouldHighlight(options) { - return !!_chalk.supportsColor || options.forceColor; - } - function getChalk(options) { - return options.forceColor ? new _chalk.constructor({ - enabled: true, - level: 1 - }) : _chalk; - } - function highlight(code, options = {}) { - if (code !== "" && shouldHighlight(options)) { - const chalk = getChalk(options); - const defs = getDefs(chalk); - return highlightTokens(defs, code); - } else { - return code; - } - } - } -}); -var require_lib3 = __commonJS({ - "node_modules/@babel/code-frame/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.codeFrameColumns = codeFrameColumns; - exports2.default = _default; - var _highlight = require_lib2(); - var deprecationWarningShown = false; - function getDefs(chalk) { - return { - gutter: chalk.grey, - marker: chalk.red.bold, - message: chalk.red.bold - }; - } - var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - function getMarkerLines(loc, source, opts) { - const startLoc = Object.assign({ - column: 0, - line: -1 - }, loc.start); - const endLoc = Object.assign({}, startLoc, loc.end); - const { - linesAbove = 2, - linesBelow = 3 - } = opts || {}; - const startLine = startLoc.line; - const startColumn = startLoc.column; - const endLine = endLoc.line; - const endColumn = endLoc.column; - let start = Math.max(startLine - (linesAbove + 1), 0); - let end = Math.min(source.length, endLine + linesBelow); - if (startLine === -1) { - start = 0; - } - if (endLine === -1) { - end = source.length; - } - const lineDiff = endLine - startLine; - const markerLines = {}; - if (lineDiff) { - for (let i = 0; i <= lineDiff; i++) { - const lineNumber = i + startLine; - if (!startColumn) { - markerLines[lineNumber] = true; - } else if (i === 0) { - const sourceLength = source[lineNumber - 1].length; - markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; - } else if (i === lineDiff) { - markerLines[lineNumber] = [0, endColumn]; - } else { - const sourceLength = source[lineNumber - i].length; - markerLines[lineNumber] = [0, sourceLength]; - } - } - } else { - if (startColumn === endColumn) { - if (startColumn) { - markerLines[startLine] = [startColumn, 0]; - } else { - markerLines[startLine] = true; - } - } else { - markerLines[startLine] = [startColumn, endColumn - startColumn]; - } - } - return { - start, - end, - markerLines - }; - } - function codeFrameColumns(rawLines, loc, opts = {}) { - const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); - const chalk = (0, _highlight.getChalk)(opts); - const defs = getDefs(chalk); - const maybeHighlight = (chalkFn, string) => { - return highlighted ? chalkFn(string) : string; - }; - const lines = rawLines.split(NEWLINE); - const { - start, - end, - markerLines - } = getMarkerLines(loc, lines, opts); - const hasColumns = loc.start && typeof loc.start.column === "number"; - const numberMaxWidth = String(end).length; - const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; - let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => { - const number = start + 1 + index; - const paddedNumber = ` ${number}`.slice(-numberMaxWidth); - const gutter = ` ${paddedNumber} |`; - const hasMarker = markerLines[number]; - const lastMarkerLine = !markerLines[number + 1]; - if (hasMarker) { - let markerLine = ""; - if (Array.isArray(hasMarker)) { - const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); - const numberOfMarkers = hasMarker[1] || 1; - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); - if (lastMarkerLine && opts.message) { - markerLine += " " + maybeHighlight(defs.message, opts.message); - } - } - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); - } else { - return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`; - } - }).join("\n"); - if (opts.message && !hasColumns) { - frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message} -${frame}`; - } - if (highlighted) { - return chalk.reset(frame); - } else { - return frame; - } - } - function _default(rawLines, lineNumber, colNumber, opts = {}) { - if (!deprecationWarningShown) { - deprecationWarningShown = true; - const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; - if (process.emitWarning) { - process.emitWarning(message, "DeprecationWarning"); - } else { - const deprecationError = new Error(message); - deprecationError.name = "DeprecationWarning"; - console.warn(new Error(message)); - } - } - colNumber = Math.max(colNumber, 0); - const location = { - start: { - column: colNumber, - line: lineNumber - } - }; - return codeFrameColumns(rawLines, location, opts); - } - } -}); -var require_parse_json = __commonJS({ - "node_modules/parse-json/index.js"(exports2, module2) { - "use strict"; - var errorEx = require_error_ex(); - var fallback = require_json_parse_even_better_errors(); - var { - default: LinesAndColumns - } = require_build(); - var { - codeFrameColumns - } = require_lib3(); - var JSONError = errorEx("JSONError", { - fileName: errorEx.append("in %s"), - codeFrame: errorEx.append("\n\n%s\n") - }); - var parseJson = (string, reviver, filename) => { - if (typeof reviver === "string") { - filename = reviver; - reviver = null; - } - try { - try { - return JSON.parse(string, reviver); - } catch (error) { - fallback(string, reviver); - throw error; - } - } catch (error) { - error.message = error.message.replace(/\n/g, ""); - const indexMatch = error.message.match(/in JSON at position (\d+) while parsing/); - const jsonError = new JSONError(error); - if (filename) { - jsonError.fileName = filename; - } - if (indexMatch && indexMatch.length > 0) { - const lines = new LinesAndColumns(string); - const index = Number(indexMatch[1]); - const location = lines.locationForIndex(index); - const codeFrame = codeFrameColumns(string, { - start: { - line: location.line + 1, - column: location.column + 1 - } - }, { - highlightCode: true - }); - jsonError.codeFrame = codeFrame; - } - throw jsonError; - } - }; - parseJson.JSONError = JSONError; - module2.exports = parseJson; - } -}); -var require_PlainValue_ec8e588e = __commonJS({ - "node_modules/yaml/dist/PlainValue-ec8e588e.js"(exports2) { - "use strict"; - var Char = { - ANCHOR: "&", - COMMENT: "#", - TAG: "!", - DIRECTIVES_END: "-", - DOCUMENT_END: "." - }; - var Type = { - ALIAS: "ALIAS", - BLANK_LINE: "BLANK_LINE", - BLOCK_FOLDED: "BLOCK_FOLDED", - BLOCK_LITERAL: "BLOCK_LITERAL", - COMMENT: "COMMENT", - DIRECTIVE: "DIRECTIVE", - DOCUMENT: "DOCUMENT", - FLOW_MAP: "FLOW_MAP", - FLOW_SEQ: "FLOW_SEQ", - MAP: "MAP", - MAP_KEY: "MAP_KEY", - MAP_VALUE: "MAP_VALUE", - PLAIN: "PLAIN", - QUOTE_DOUBLE: "QUOTE_DOUBLE", - QUOTE_SINGLE: "QUOTE_SINGLE", - SEQ: "SEQ", - SEQ_ITEM: "SEQ_ITEM" - }; - var defaultTagPrefix = "tag:yaml.org,2002:"; - var defaultTags = { - MAP: "tag:yaml.org,2002:map", - SEQ: "tag:yaml.org,2002:seq", - STR: "tag:yaml.org,2002:str" - }; - function findLineStarts(src) { - const ls = [0]; - let offset = src.indexOf("\n"); - while (offset !== -1) { - offset += 1; - ls.push(offset); - offset = src.indexOf("\n", offset); - } - return ls; - } - function getSrcInfo(cst) { - let lineStarts, src; - if (typeof cst === "string") { - lineStarts = findLineStarts(cst); - src = cst; - } else { - if (Array.isArray(cst)) - cst = cst[0]; - if (cst && cst.context) { - if (!cst.lineStarts) - cst.lineStarts = findLineStarts(cst.context.src); - lineStarts = cst.lineStarts; - src = cst.context.src; - } - } - return { - lineStarts, - src - }; - } - function getLinePos(offset, cst) { - if (typeof offset !== "number" || offset < 0) - return null; - const { - lineStarts, - src - } = getSrcInfo(cst); - if (!lineStarts || !src || offset > src.length) - return null; - for (let i = 0; i < lineStarts.length; ++i) { - const start = lineStarts[i]; - if (offset < start) { - return { - line: i, - col: offset - lineStarts[i - 1] + 1 - }; - } - if (offset === start) - return { - line: i + 1, - col: 1 - }; - } - const line = lineStarts.length; - return { - line, - col: offset - lineStarts[line - 1] + 1 - }; - } - function getLine(line, cst) { - const { - lineStarts, - src - } = getSrcInfo(cst); - if (!lineStarts || !(line >= 1) || line > lineStarts.length) - return null; - const start = lineStarts[line - 1]; - let end = lineStarts[line]; - while (end && end > start && src[end - 1] === "\n") - --end; - return src.slice(start, end); - } - function getPrettyContext({ - start, - end - }, cst, maxWidth = 80) { - let src = getLine(start.line, cst); - if (!src) - return null; - let { - col - } = start; - if (src.length > maxWidth) { - if (col <= maxWidth - 10) { - src = src.substr(0, maxWidth - 1) + "\u2026"; - } else { - const halfWidth = Math.round(maxWidth / 2); - if (src.length > col + halfWidth) - src = src.substr(0, col + halfWidth - 1) + "\u2026"; - col -= src.length - maxWidth; - src = "\u2026" + src.substr(1 - maxWidth); - } - } - let errLen = 1; - let errEnd = ""; - if (end) { - if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) { - errLen = end.col - start.col; - } else { - errLen = Math.min(src.length + 1, maxWidth) - col; - errEnd = "\u2026"; - } - } - const offset = col > 1 ? " ".repeat(col - 1) : ""; - const err = "^".repeat(errLen); - return `${src} -${offset}${err}${errEnd}`; - } - var Range = class { - static copy(orig) { - return new Range(orig.start, orig.end); - } - constructor(start, end) { - this.start = start; - this.end = end || start; - } - isEmpty() { - return typeof this.start !== "number" || !this.end || this.end <= this.start; - } - setOrigRange(cr, offset) { - const { - start, - end - } = this; - if (cr.length === 0 || end <= cr[0]) { - this.origStart = start; - this.origEnd = end; - return offset; - } - let i = offset; - while (i < cr.length) { - if (cr[i] > start) - break; - else - ++i; - } - this.origStart = start + i; - const nextOffset = i; - while (i < cr.length) { - if (cr[i] >= end) - break; - else - ++i; - } - this.origEnd = end + i; - return nextOffset; - } - }; - var Node = class { - static addStringTerminator(src, offset, str) { - if (str[str.length - 1] === "\n") - return str; - const next = Node.endOfWhiteSpace(src, offset); - return next >= src.length || src[next] === "\n" ? str + "\n" : str; - } - static atDocumentBoundary(src, offset, sep) { - const ch0 = src[offset]; - if (!ch0) - return true; - const prev = src[offset - 1]; - if (prev && prev !== "\n") - return false; - if (sep) { - if (ch0 !== sep) - return false; - } else { - if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) - return false; - } - const ch1 = src[offset + 1]; - const ch2 = src[offset + 2]; - if (ch1 !== ch0 || ch2 !== ch0) - return false; - const ch3 = src[offset + 3]; - return !ch3 || ch3 === "\n" || ch3 === " " || ch3 === " "; - } - static endOfIdentifier(src, offset) { - let ch = src[offset]; - const isVerbatim = ch === "<"; - const notOk = isVerbatim ? ["\n", " ", " ", ">"] : ["\n", " ", " ", "[", "]", "{", "}", ","]; - while (ch && notOk.indexOf(ch) === -1) - ch = src[offset += 1]; - if (isVerbatim && ch === ">") - offset += 1; - return offset; - } - static endOfIndent(src, offset) { - let ch = src[offset]; - while (ch === " ") - ch = src[offset += 1]; - return offset; - } - static endOfLine(src, offset) { - let ch = src[offset]; - while (ch && ch !== "\n") - ch = src[offset += 1]; - return offset; - } - static endOfWhiteSpace(src, offset) { - let ch = src[offset]; - while (ch === " " || ch === " ") - ch = src[offset += 1]; - return offset; - } - static startOfLine(src, offset) { - let ch = src[offset - 1]; - if (ch === "\n") - return offset; - while (ch && ch !== "\n") - ch = src[offset -= 1]; - return offset + 1; - } - static endOfBlockIndent(src, indent, lineStart) { - const inEnd = Node.endOfIndent(src, lineStart); - if (inEnd > lineStart + indent) { - return inEnd; - } else { - const wsEnd = Node.endOfWhiteSpace(src, inEnd); - const ch = src[wsEnd]; - if (!ch || ch === "\n") - return wsEnd; - } - return null; - } - static atBlank(src, offset, endAsBlank) { - const ch = src[offset]; - return ch === "\n" || ch === " " || ch === " " || endAsBlank && !ch; - } - static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) { - if (!ch || indentDiff < 0) - return false; - if (indentDiff > 0) - return true; - return indicatorAsIndent && ch === "-"; - } - static normalizeOffset(src, offset) { - const ch = src[offset]; - return !ch ? offset : ch !== "\n" && src[offset - 1] === "\n" ? offset - 1 : Node.endOfWhiteSpace(src, offset); - } - static foldNewline(src, offset, indent) { - let inCount = 0; - let error = false; - let fold = ""; - let ch = src[offset + 1]; - while (ch === " " || ch === " " || ch === "\n") { - switch (ch) { - case "\n": - inCount = 0; - offset += 1; - fold += "\n"; - break; - case " ": - if (inCount <= indent) - error = true; - offset = Node.endOfWhiteSpace(src, offset + 2) - 1; - break; - case " ": - inCount += 1; - offset += 1; - break; - } - ch = src[offset + 1]; - } - if (!fold) - fold = " "; - if (ch && inCount <= indent) - error = true; - return { - fold, - offset, - error - }; - } - constructor(type, props, context) { - Object.defineProperty(this, "context", { - value: context || null, - writable: true - }); - this.error = null; - this.range = null; - this.valueRange = null; - this.props = props || []; - this.type = type; - this.value = null; - } - getPropValue(idx, key, skipKey) { - if (!this.context) - return null; - const { - src - } = this.context; - const prop = this.props[idx]; - return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null; - } - get anchor() { - for (let i = 0; i < this.props.length; ++i) { - const anchor = this.getPropValue(i, Char.ANCHOR, true); - if (anchor != null) - return anchor; - } - return null; - } - get comment() { - const comments = []; - for (let i = 0; i < this.props.length; ++i) { - const comment = this.getPropValue(i, Char.COMMENT, true); - if (comment != null) - comments.push(comment); - } - return comments.length > 0 ? comments.join("\n") : null; - } - commentHasRequiredWhitespace(start) { - const { - src - } = this.context; - if (this.header && start === this.header.end) - return false; - if (!this.valueRange) - return false; - const { - end - } = this.valueRange; - return start !== end || Node.atBlank(src, end - 1); - } - get hasComment() { - if (this.context) { - const { - src - } = this.context; - for (let i = 0; i < this.props.length; ++i) { - if (src[this.props[i].start] === Char.COMMENT) - return true; - } - } - return false; - } - get hasProps() { - if (this.context) { - const { - src - } = this.context; - for (let i = 0; i < this.props.length; ++i) { - if (src[this.props[i].start] !== Char.COMMENT) - return true; - } - } - return false; - } - get includesTrailingLines() { - return false; - } - get jsonLike() { - const jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE]; - return jsonLikeTypes.indexOf(this.type) !== -1; - } - get rangeAsLinePos() { - if (!this.range || !this.context) - return void 0; - const start = getLinePos(this.range.start, this.context.root); - if (!start) - return void 0; - const end = getLinePos(this.range.end, this.context.root); - return { - start, - end - }; - } - get rawValue() { - if (!this.valueRange || !this.context) - return null; - const { - start, - end - } = this.valueRange; - return this.context.src.slice(start, end); - } - get tag() { - for (let i = 0; i < this.props.length; ++i) { - const tag = this.getPropValue(i, Char.TAG, false); - if (tag != null) { - if (tag[1] === "<") { - return { - verbatim: tag.slice(2, -1) - }; - } else { - const [_, handle, suffix] = tag.match(/^(.*!)([^!]*)$/); - return { - handle, - suffix - }; - } - } - } - return null; - } - get valueRangeContainsNewline() { - if (!this.valueRange || !this.context) - return false; - const { - start, - end - } = this.valueRange; - const { - src - } = this.context; - for (let i = start; i < end; ++i) { - if (src[i] === "\n") - return true; - } - return false; - } - parseComment(start) { - const { - src - } = this.context; - if (src[start] === Char.COMMENT) { - const end = Node.endOfLine(src, start + 1); - const commentRange = new Range(start, end); - this.props.push(commentRange); - return end; - } - return start; - } - setOrigRanges(cr, offset) { - if (this.range) - offset = this.range.setOrigRange(cr, offset); - if (this.valueRange) - this.valueRange.setOrigRange(cr, offset); - this.props.forEach((prop) => prop.setOrigRange(cr, offset)); - return offset; - } - toString() { - const { - context: { - src - }, - range, - value - } = this; - if (value != null) - return value; - const str = src.slice(range.start, range.end); - return Node.addStringTerminator(src, range.end, str); - } - }; - var YAMLError = class extends Error { - constructor(name, source, message) { - if (!message || !(source instanceof Node)) - throw new Error(`Invalid arguments for new ${name}`); - super(); - this.name = name; - this.message = message; - this.source = source; - } - makePretty() { - if (!this.source) - return; - this.nodeType = this.source.type; - const cst = this.source.context && this.source.context.root; - if (typeof this.offset === "number") { - this.range = new Range(this.offset, this.offset + 1); - const start = cst && getLinePos(this.offset, cst); - if (start) { - const end = { - line: start.line, - col: start.col + 1 - }; - this.linePos = { - start, - end - }; - } - delete this.offset; - } else { - this.range = this.source.range; - this.linePos = this.source.rangeAsLinePos; - } - if (this.linePos) { - const { - line, - col - } = this.linePos.start; - this.message += ` at line ${line}, column ${col}`; - const ctx = cst && getPrettyContext(this.linePos, cst); - if (ctx) - this.message += `: - -${ctx} -`; - } - delete this.source; - } - }; - var YAMLReferenceError = class extends YAMLError { - constructor(source, message) { - super("YAMLReferenceError", source, message); - } - }; - var YAMLSemanticError = class extends YAMLError { - constructor(source, message) { - super("YAMLSemanticError", source, message); - } - }; - var YAMLSyntaxError = class extends YAMLError { - constructor(source, message) { - super("YAMLSyntaxError", source, message); - } - }; - var YAMLWarning = class extends YAMLError { - constructor(source, message) { - super("YAMLWarning", source, message); - } - }; - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; - } - var PlainValue = class extends Node { - static endOfLine(src, start, inFlow) { - let ch = src[start]; - let offset = start; - while (ch && ch !== "\n") { - if (inFlow && (ch === "[" || ch === "]" || ch === "{" || ch === "}" || ch === ",")) - break; - const next = src[offset + 1]; - if (ch === ":" && (!next || next === "\n" || next === " " || next === " " || inFlow && next === ",")) - break; - if ((ch === " " || ch === " ") && next === "#") - break; - offset += 1; - ch = next; - } - return offset; - } - get strValue() { - if (!this.valueRange || !this.context) - return null; - let { - start, - end - } = this.valueRange; - const { - src - } = this.context; - let ch = src[end - 1]; - while (start < end && (ch === "\n" || ch === " " || ch === " ")) - ch = src[--end - 1]; - let str = ""; - for (let i = start; i < end; ++i) { - const ch2 = src[i]; - if (ch2 === "\n") { - const { - fold, - offset - } = Node.foldNewline(src, i, -1); - str += fold; - i = offset; - } else if (ch2 === " " || ch2 === " ") { - const wsStart = i; - let next = src[i + 1]; - while (i < end && (next === " " || next === " ")) { - i += 1; - next = src[i + 1]; - } - if (next !== "\n") - str += i > wsStart ? src.slice(wsStart, i + 1) : ch2; - } else { - str += ch2; - } - } - const ch0 = src[start]; - switch (ch0) { - case " ": { - const msg = "Plain value cannot start with a tab character"; - const errors = [new YAMLSemanticError(this, msg)]; - return { - errors, - str - }; - } - case "@": - case "`": { - const msg = `Plain value cannot start with reserved character ${ch0}`; - const errors = [new YAMLSemanticError(this, msg)]; - return { - errors, - str - }; - } - default: - return str; - } - } - parseBlockValue(start) { - const { - indent, - inFlow, - src - } = this.context; - let offset = start; - let valueEnd = start; - for (let ch = src[offset]; ch === "\n"; ch = src[offset]) { - if (Node.atDocumentBoundary(src, offset + 1)) - break; - const end = Node.endOfBlockIndent(src, indent, offset + 1); - if (end === null || src[end] === "#") - break; - if (src[end] === "\n") { - offset = end; - } else { - valueEnd = PlainValue.endOfLine(src, end, inFlow); - offset = valueEnd; - } - } - if (this.valueRange.isEmpty()) - this.valueRange.start = start; - this.valueRange.end = valueEnd; - return valueEnd; - } - parse(context, start) { - this.context = context; - const { - inFlow, - src - } = context; - let offset = start; - const ch = src[offset]; - if (ch && ch !== "#" && ch !== "\n") { - offset = PlainValue.endOfLine(src, start, inFlow); - } - this.valueRange = new Range(start, offset); - offset = Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - if (!this.hasComment || this.valueRange.isEmpty()) { - offset = this.parseBlockValue(offset); - } - return offset; - } - }; - exports2.Char = Char; - exports2.Node = Node; - exports2.PlainValue = PlainValue; - exports2.Range = Range; - exports2.Type = Type; - exports2.YAMLError = YAMLError; - exports2.YAMLReferenceError = YAMLReferenceError; - exports2.YAMLSemanticError = YAMLSemanticError; - exports2.YAMLSyntaxError = YAMLSyntaxError; - exports2.YAMLWarning = YAMLWarning; - exports2._defineProperty = _defineProperty; - exports2.defaultTagPrefix = defaultTagPrefix; - exports2.defaultTags = defaultTags; - } -}); -var require_parse_cst = __commonJS({ - "node_modules/yaml/dist/parse-cst.js"(exports2) { - "use strict"; - var PlainValue = require_PlainValue_ec8e588e(); - var BlankLine = class extends PlainValue.Node { - constructor() { - super(PlainValue.Type.BLANK_LINE); - } - get includesTrailingLines() { - return true; - } - parse(context, start) { - this.context = context; - this.range = new PlainValue.Range(start, start + 1); - return start + 1; - } - }; - var CollectionItem = class extends PlainValue.Node { - constructor(type, props) { - super(type, props); - this.node = null; - } - get includesTrailingLines() { - return !!this.node && this.node.includesTrailingLines; - } - parse(context, start) { - this.context = context; - const { - parseNode, - src - } = context; - let { - atLineStart, - lineStart - } = context; - if (!atLineStart && this.type === PlainValue.Type.SEQ_ITEM) - this.error = new PlainValue.YAMLSemanticError(this, "Sequence items must not have preceding content on the same line"); - const indent = atLineStart ? start - lineStart : context.indent; - let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1); - let ch = src[offset]; - const inlineComment = ch === "#"; - const comments = []; - let blankLine = null; - while (ch === "\n" || ch === "#") { - if (ch === "#") { - const end2 = PlainValue.Node.endOfLine(src, offset + 1); - comments.push(new PlainValue.Range(offset, end2)); - offset = end2; - } else { - atLineStart = true; - lineStart = offset + 1; - const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart); - if (src[wsEnd] === "\n" && comments.length === 0) { - blankLine = new BlankLine(); - lineStart = blankLine.parse({ - src - }, lineStart); - } - offset = PlainValue.Node.endOfIndent(src, lineStart); - } - ch = src[offset]; - } - if (PlainValue.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValue.Type.SEQ_ITEM)) { - this.node = parseNode({ - atLineStart, - inCollection: false, - indent, - lineStart, - parent: this - }, offset); - } else if (ch && lineStart > start + 1) { - offset = lineStart - 1; - } - if (this.node) { - if (blankLine) { - const items = context.parent.items || context.parent.contents; - if (items) - items.push(blankLine); - } - if (comments.length) - Array.prototype.push.apply(this.props, comments); - offset = this.node.range.end; - } else { - if (inlineComment) { - const c = comments[0]; - this.props.push(c); - offset = c.end; - } else { - offset = PlainValue.Node.endOfLine(src, start + 1); - } - } - const end = this.node ? this.node.valueRange.end : offset; - this.valueRange = new PlainValue.Range(start, end); - return offset; - } - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - return this.node ? this.node.setOrigRanges(cr, offset) : offset; - } - toString() { - const { - context: { - src - }, - node, - range, - value - } = this; - if (value != null) - return value; - const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end); - return PlainValue.Node.addStringTerminator(src, range.end, str); - } - }; - var Comment = class extends PlainValue.Node { - constructor() { - super(PlainValue.Type.COMMENT); - } - parse(context, start) { - this.context = context; - const offset = this.parseComment(start); - this.range = new PlainValue.Range(start, offset); - return offset; - } - }; - function grabCollectionEndComments(node) { - let cnode = node; - while (cnode instanceof CollectionItem) - cnode = cnode.node; - if (!(cnode instanceof Collection)) - return null; - const len = cnode.items.length; - let ci = -1; - for (let i = len - 1; i >= 0; --i) { - const n = cnode.items[i]; - if (n.type === PlainValue.Type.COMMENT) { - const { - indent, - lineStart - } = n.context; - if (indent > 0 && n.range.start >= lineStart + indent) - break; - ci = i; - } else if (n.type === PlainValue.Type.BLANK_LINE) - ci = i; - else - break; - } - if (ci === -1) - return null; - const ca = cnode.items.splice(ci, len - ci); - const prevEnd = ca[0].range.start; - while (true) { - cnode.range.end = prevEnd; - if (cnode.valueRange && cnode.valueRange.end > prevEnd) - cnode.valueRange.end = prevEnd; - if (cnode === node) - break; - cnode = cnode.context.parent; - } - return ca; - } - var Collection = class extends PlainValue.Node { - static nextContentHasIndent(src, offset, indent) { - const lineStart = PlainValue.Node.endOfLine(src, offset) + 1; - offset = PlainValue.Node.endOfWhiteSpace(src, lineStart); - const ch = src[offset]; - if (!ch) - return false; - if (offset >= lineStart + indent) - return true; - if (ch !== "#" && ch !== "\n") - return false; - return Collection.nextContentHasIndent(src, offset, indent); - } - constructor(firstItem) { - super(firstItem.type === PlainValue.Type.SEQ_ITEM ? PlainValue.Type.SEQ : PlainValue.Type.MAP); - for (let i = firstItem.props.length - 1; i >= 0; --i) { - if (firstItem.props[i].start < firstItem.context.lineStart) { - this.props = firstItem.props.slice(0, i + 1); - firstItem.props = firstItem.props.slice(i + 1); - const itemRange = firstItem.props[0] || firstItem.valueRange; - firstItem.range.start = itemRange.start; - break; - } - } - this.items = [firstItem]; - const ec = grabCollectionEndComments(firstItem); - if (ec) - Array.prototype.push.apply(this.items, ec); - } - get includesTrailingLines() { - return this.items.length > 0; - } - parse(context, start) { - this.context = context; - const { - parseNode, - src - } = context; - let lineStart = PlainValue.Node.startOfLine(src, start); - const firstItem = this.items[0]; - firstItem.context.parent = this; - this.valueRange = PlainValue.Range.copy(firstItem.valueRange); - const indent = firstItem.range.start - firstItem.context.lineStart; - let offset = start; - offset = PlainValue.Node.normalizeOffset(src, offset); - let ch = src[offset]; - let atLineStart = PlainValue.Node.endOfWhiteSpace(src, lineStart) === offset; - let prevIncludesTrailingLines = false; - while (ch) { - while (ch === "\n" || ch === "#") { - if (atLineStart && ch === "\n" && !prevIncludesTrailingLines) { - const blankLine = new BlankLine(); - offset = blankLine.parse({ - src - }, offset); - this.valueRange.end = offset; - if (offset >= src.length) { - ch = null; - break; - } - this.items.push(blankLine); - offset -= 1; - } else if (ch === "#") { - if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) { - return offset; - } - const comment = new Comment(); - offset = comment.parse({ - indent, - lineStart, - src - }, offset); - this.items.push(comment); - this.valueRange.end = offset; - if (offset >= src.length) { - ch = null; - break; - } - } - lineStart = offset + 1; - offset = PlainValue.Node.endOfIndent(src, lineStart); - if (PlainValue.Node.atBlank(src, offset)) { - const wsEnd = PlainValue.Node.endOfWhiteSpace(src, offset); - const next = src[wsEnd]; - if (!next || next === "\n" || next === "#") { - offset = wsEnd; - } - } - ch = src[offset]; - atLineStart = true; - } - if (!ch) { - break; - } - if (offset !== lineStart + indent && (atLineStart || ch !== ":")) { - if (offset < lineStart + indent) { - if (lineStart > start) - offset = lineStart; - break; - } else if (!this.error) { - const msg = "All collection items must start at the same column"; - this.error = new PlainValue.YAMLSyntaxError(this, msg); - } - } - if (firstItem.type === PlainValue.Type.SEQ_ITEM) { - if (ch !== "-") { - if (lineStart > start) - offset = lineStart; - break; - } - } else if (ch === "-" && !this.error) { - const next = src[offset + 1]; - if (!next || next === "\n" || next === " " || next === " ") { - const msg = "A collection cannot be both a mapping and a sequence"; - this.error = new PlainValue.YAMLSyntaxError(this, msg); - } - } - const node = parseNode({ - atLineStart, - inCollection: true, - indent, - lineStart, - parent: this - }, offset); - if (!node) - return offset; - this.items.push(node); - this.valueRange.end = node.valueRange.end; - offset = PlainValue.Node.normalizeOffset(src, node.range.end); - ch = src[offset]; - atLineStart = false; - prevIncludesTrailingLines = node.includesTrailingLines; - if (ch) { - let ls = offset - 1; - let prev = src[ls]; - while (prev === " " || prev === " ") - prev = src[--ls]; - if (prev === "\n") { - lineStart = ls + 1; - atLineStart = true; - } - } - const ec = grabCollectionEndComments(node); - if (ec) - Array.prototype.push.apply(this.items, ec); - } - return offset; - } - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - this.items.forEach((node) => { - offset = node.setOrigRanges(cr, offset); - }); - return offset; - } - toString() { - const { - context: { - src - }, - items, - range, - value - } = this; - if (value != null) - return value; - let str = src.slice(range.start, items[0].range.start) + String(items[0]); - for (let i = 1; i < items.length; ++i) { - const item = items[i]; - const { - atLineStart, - indent - } = item.context; - if (atLineStart) - for (let i2 = 0; i2 < indent; ++i2) - str += " "; - str += String(item); - } - return PlainValue.Node.addStringTerminator(src, range.end, str); - } - }; - var Directive = class extends PlainValue.Node { - constructor() { - super(PlainValue.Type.DIRECTIVE); - this.name = null; - } - get parameters() { - const raw = this.rawValue; - return raw ? raw.trim().split(/[ \t]+/) : []; - } - parseName(start) { - const { - src - } = this.context; - let offset = start; - let ch = src[offset]; - while (ch && ch !== "\n" && ch !== " " && ch !== " ") - ch = src[offset += 1]; - this.name = src.slice(start, offset); - return offset; - } - parseParameters(start) { - const { - src - } = this.context; - let offset = start; - let ch = src[offset]; - while (ch && ch !== "\n" && ch !== "#") - ch = src[offset += 1]; - this.valueRange = new PlainValue.Range(start, offset); - return offset; - } - parse(context, start) { - this.context = context; - let offset = this.parseName(start + 1); - offset = this.parseParameters(offset); - offset = this.parseComment(offset); - this.range = new PlainValue.Range(start, offset); - return offset; - } - }; - var Document = class extends PlainValue.Node { - static startCommentOrEndBlankLine(src, start) { - const offset = PlainValue.Node.endOfWhiteSpace(src, start); - const ch = src[offset]; - return ch === "#" || ch === "\n" ? offset : start; - } - constructor() { - super(PlainValue.Type.DOCUMENT); - this.directives = null; - this.contents = null; - this.directivesEndMarker = null; - this.documentEndMarker = null; - } - parseDirectives(start) { - const { - src - } = this.context; - this.directives = []; - let atLineStart = true; - let hasDirectives = false; - let offset = start; - while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DIRECTIVES_END)) { - offset = Document.startCommentOrEndBlankLine(src, offset); - switch (src[offset]) { - case "\n": - if (atLineStart) { - const blankLine = new BlankLine(); - offset = blankLine.parse({ - src - }, offset); - if (offset < src.length) { - this.directives.push(blankLine); - } - } else { - offset += 1; - atLineStart = true; - } - break; - case "#": - { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.directives.push(comment); - atLineStart = false; - } - break; - case "%": - { - const directive = new Directive(); - offset = directive.parse({ - parent: this, - src - }, offset); - this.directives.push(directive); - hasDirectives = true; - atLineStart = false; - } - break; - default: - if (hasDirectives) { - this.error = new PlainValue.YAMLSemanticError(this, "Missing directives-end indicator line"); - } else if (this.directives.length > 0) { - this.contents = this.directives; - this.directives = []; - } - return offset; - } - } - if (src[offset]) { - this.directivesEndMarker = new PlainValue.Range(offset, offset + 3); - return offset + 3; - } - if (hasDirectives) { - this.error = new PlainValue.YAMLSemanticError(this, "Missing directives-end indicator line"); - } else if (this.directives.length > 0) { - this.contents = this.directives; - this.directives = []; - } - return offset; - } - parseContents(start) { - const { - parseNode, - src - } = this.context; - if (!this.contents) - this.contents = []; - let lineStart = start; - while (src[lineStart - 1] === "-") - lineStart -= 1; - let offset = PlainValue.Node.endOfWhiteSpace(src, start); - let atLineStart = lineStart === start; - this.valueRange = new PlainValue.Range(offset); - while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DOCUMENT_END)) { - switch (src[offset]) { - case "\n": - if (atLineStart) { - const blankLine = new BlankLine(); - offset = blankLine.parse({ - src - }, offset); - if (offset < src.length) { - this.contents.push(blankLine); - } - } else { - offset += 1; - atLineStart = true; - } - lineStart = offset; - break; - case "#": - { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.contents.push(comment); - atLineStart = false; - } - break; - default: { - const iEnd = PlainValue.Node.endOfIndent(src, offset); - const context = { - atLineStart, - indent: -1, - inFlow: false, - inCollection: false, - lineStart, - parent: this - }; - const node = parseNode(context, iEnd); - if (!node) - return this.valueRange.end = iEnd; - this.contents.push(node); - offset = node.range.end; - atLineStart = false; - const ec = grabCollectionEndComments(node); - if (ec) - Array.prototype.push.apply(this.contents, ec); - } - } - offset = Document.startCommentOrEndBlankLine(src, offset); - } - this.valueRange.end = offset; - if (src[offset]) { - this.documentEndMarker = new PlainValue.Range(offset, offset + 3); - offset += 3; - if (src[offset]) { - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - if (src[offset] === "#") { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.contents.push(comment); - } - switch (src[offset]) { - case "\n": - offset += 1; - break; - case void 0: - break; - default: - this.error = new PlainValue.YAMLSyntaxError(this, "Document end marker line cannot have a non-comment suffix"); - } - } - } - return offset; - } - parse(context, start) { - context.root = this; - this.context = context; - const { - src - } = context; - let offset = src.charCodeAt(start) === 65279 ? start + 1 : start; - offset = this.parseDirectives(offset); - offset = this.parseContents(offset); - return offset; - } - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - this.directives.forEach((node) => { - offset = node.setOrigRanges(cr, offset); - }); - if (this.directivesEndMarker) - offset = this.directivesEndMarker.setOrigRange(cr, offset); - this.contents.forEach((node) => { - offset = node.setOrigRanges(cr, offset); - }); - if (this.documentEndMarker) - offset = this.documentEndMarker.setOrigRange(cr, offset); - return offset; - } - toString() { - const { - contents, - directives, - value - } = this; - if (value != null) - return value; - let str = directives.join(""); - if (contents.length > 0) { - if (directives.length > 0 || contents[0].type === PlainValue.Type.COMMENT) - str += "---\n"; - str += contents.join(""); - } - if (str[str.length - 1] !== "\n") - str += "\n"; - return str; - } - }; - var Alias = class extends PlainValue.Node { - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = PlainValue.Node.endOfIdentifier(src, start + 1); - this.valueRange = new PlainValue.Range(start + 1, offset); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - }; - var Chomp = { - CLIP: "CLIP", - KEEP: "KEEP", - STRIP: "STRIP" - }; - var BlockValue = class extends PlainValue.Node { - constructor(type, props) { - super(type, props); - this.blockIndent = null; - this.chomping = Chomp.CLIP; - this.header = null; - } - get includesTrailingLines() { - return this.chomping === Chomp.KEEP; - } - get strValue() { - if (!this.valueRange || !this.context) - return null; - let { - start, - end - } = this.valueRange; - const { - indent, - src - } = this.context; - if (this.valueRange.isEmpty()) - return ""; - let lastNewLine = null; - let ch = src[end - 1]; - while (ch === "\n" || ch === " " || ch === " ") { - end -= 1; - if (end <= start) { - if (this.chomping === Chomp.KEEP) - break; - else - return ""; - } - if (ch === "\n") - lastNewLine = end; - ch = src[end - 1]; - } - let keepStart = end + 1; - if (lastNewLine) { - if (this.chomping === Chomp.KEEP) { - keepStart = lastNewLine; - end = this.valueRange.end; - } else { - end = lastNewLine; - } - } - const bi = indent + this.blockIndent; - const folded = this.type === PlainValue.Type.BLOCK_FOLDED; - let atStart = true; - let str = ""; - let sep = ""; - let prevMoreIndented = false; - for (let i = start; i < end; ++i) { - for (let j = 0; j < bi; ++j) { - if (src[i] !== " ") - break; - i += 1; - } - const ch2 = src[i]; - if (ch2 === "\n") { - if (sep === "\n") - str += "\n"; - else - sep = "\n"; - } else { - const lineEnd = PlainValue.Node.endOfLine(src, i); - const line = src.slice(i, lineEnd); - i = lineEnd; - if (folded && (ch2 === " " || ch2 === " ") && i < keepStart) { - if (sep === " ") - sep = "\n"; - else if (!prevMoreIndented && !atStart && sep === "\n") - sep = "\n\n"; - str += sep + line; - sep = lineEnd < end && src[lineEnd] || ""; - prevMoreIndented = true; - } else { - str += sep + line; - sep = folded && i < keepStart ? " " : "\n"; - prevMoreIndented = false; - } - if (atStart && line !== "") - atStart = false; - } - } - return this.chomping === Chomp.STRIP ? str : str + "\n"; - } - parseBlockHeader(start) { - const { - src - } = this.context; - let offset = start + 1; - let bi = ""; - while (true) { - const ch = src[offset]; - switch (ch) { - case "-": - this.chomping = Chomp.STRIP; - break; - case "+": - this.chomping = Chomp.KEEP; - break; - case "0": - case "1": - case "2": - case "3": - case "4": - case "5": - case "6": - case "7": - case "8": - case "9": - bi += ch; - break; - default: - this.blockIndent = Number(bi) || null; - this.header = new PlainValue.Range(start, offset); - return offset; - } - offset += 1; - } - } - parseBlockValue(start) { - const { - indent, - src - } = this.context; - const explicit = !!this.blockIndent; - let offset = start; - let valueEnd = start; - let minBlockIndent = 1; - for (let ch = src[offset]; ch === "\n"; ch = src[offset]) { - offset += 1; - if (PlainValue.Node.atDocumentBoundary(src, offset)) - break; - const end = PlainValue.Node.endOfBlockIndent(src, indent, offset); - if (end === null) - break; - const ch2 = src[end]; - const lineIndent = end - (offset + indent); - if (!this.blockIndent) { - if (src[end] !== "\n") { - if (lineIndent < minBlockIndent) { - const msg = "Block scalars with more-indented leading empty lines must use an explicit indentation indicator"; - this.error = new PlainValue.YAMLSemanticError(this, msg); - } - this.blockIndent = lineIndent; - } else if (lineIndent > minBlockIndent) { - minBlockIndent = lineIndent; - } - } else if (ch2 && ch2 !== "\n" && lineIndent < this.blockIndent) { - if (src[end] === "#") - break; - if (!this.error) { - const src2 = explicit ? "explicit indentation indicator" : "first line"; - const msg = `Block scalars must not be less indented than their ${src2}`; - this.error = new PlainValue.YAMLSemanticError(this, msg); - } - } - if (src[end] === "\n") { - offset = end; - } else { - offset = valueEnd = PlainValue.Node.endOfLine(src, end); - } - } - if (this.chomping !== Chomp.KEEP) { - offset = src[valueEnd] ? valueEnd + 1 : valueEnd; - } - this.valueRange = new PlainValue.Range(start + 1, offset); - return offset; - } - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = this.parseBlockHeader(start); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - offset = this.parseBlockValue(offset); - return offset; - } - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - return this.header ? this.header.setOrigRange(cr, offset) : offset; - } - }; - var FlowCollection = class extends PlainValue.Node { - constructor(type, props) { - super(type, props); - this.items = null; - } - prevNodeIsJsonLike(idx = this.items.length) { - const node = this.items[idx - 1]; - return !!node && (node.jsonLike || node.type === PlainValue.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1)); - } - parse(context, start) { - this.context = context; - const { - parseNode, - src - } = context; - let { - indent, - lineStart - } = context; - let char = src[start]; - this.items = [{ - char, - offset: start - }]; - let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1); - char = src[offset]; - while (char && char !== "]" && char !== "}") { - switch (char) { - case "\n": - { - lineStart = offset + 1; - const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart); - if (src[wsEnd] === "\n") { - const blankLine = new BlankLine(); - lineStart = blankLine.parse({ - src - }, lineStart); - this.items.push(blankLine); - } - offset = PlainValue.Node.endOfIndent(src, lineStart); - if (offset <= lineStart + indent) { - char = src[offset]; - if (offset < lineStart + indent || char !== "]" && char !== "}") { - const msg = "Insufficient indentation in flow collection"; - this.error = new PlainValue.YAMLSemanticError(this, msg); - } - } - } - break; - case ",": - { - this.items.push({ - char, - offset - }); - offset += 1; - } - break; - case "#": - { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.items.push(comment); - } - break; - case "?": - case ":": { - const next = src[offset + 1]; - if (next === "\n" || next === " " || next === " " || next === "," || char === ":" && this.prevNodeIsJsonLike()) { - this.items.push({ - char, - offset - }); - offset += 1; - break; - } - } - default: { - const node = parseNode({ - atLineStart: false, - inCollection: false, - inFlow: true, - indent: -1, - lineStart, - parent: this - }, offset); - if (!node) { - this.valueRange = new PlainValue.Range(start, offset); - return offset; - } - this.items.push(node); - offset = PlainValue.Node.normalizeOffset(src, node.range.end); - } - } - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - char = src[offset]; - } - this.valueRange = new PlainValue.Range(start, offset + 1); - if (char) { - this.items.push({ - char, - offset - }); - offset = PlainValue.Node.endOfWhiteSpace(src, offset + 1); - offset = this.parseComment(offset); - } - return offset; - } - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - this.items.forEach((node) => { - if (node instanceof PlainValue.Node) { - offset = node.setOrigRanges(cr, offset); - } else if (cr.length === 0) { - node.origOffset = node.offset; - } else { - let i = offset; - while (i < cr.length) { - if (cr[i] > node.offset) - break; - else - ++i; - } - node.origOffset = node.offset + i; - offset = i; - } - }); - return offset; - } - toString() { - const { - context: { - src - }, - items, - range, - value - } = this; - if (value != null) - return value; - const nodes = items.filter((item) => item instanceof PlainValue.Node); - let str = ""; - let prevEnd = range.start; - nodes.forEach((node) => { - const prefix = src.slice(prevEnd, node.range.start); - prevEnd = node.range.end; - str += prefix + String(node); - if (str[str.length - 1] === "\n" && src[prevEnd - 1] !== "\n" && src[prevEnd] === "\n") { - prevEnd += 1; - } - }); - str += src.slice(prevEnd, range.end); - return PlainValue.Node.addStringTerminator(src, range.end, str); - } - }; - var QuoteDouble = class extends PlainValue.Node { - static endOfQuote(src, offset) { - let ch = src[offset]; - while (ch && ch !== '"') { - offset += ch === "\\" ? 2 : 1; - ch = src[offset]; - } - return offset + 1; - } - get strValue() { - if (!this.valueRange || !this.context) - return null; - const errors = []; - const { - start, - end - } = this.valueRange; - const { - indent, - src - } = this.context; - if (src[end - 1] !== '"') - errors.push(new PlainValue.YAMLSyntaxError(this, 'Missing closing "quote')); - let str = ""; - for (let i = start + 1; i < end - 1; ++i) { - const ch = src[i]; - if (ch === "\n") { - if (PlainValue.Node.atDocumentBoundary(src, i + 1)) - errors.push(new PlainValue.YAMLSemanticError(this, "Document boundary indicators are not allowed within string values")); - const { - fold, - offset, - error - } = PlainValue.Node.foldNewline(src, i, indent); - str += fold; - i = offset; - if (error) - errors.push(new PlainValue.YAMLSemanticError(this, "Multi-line double-quoted string needs to be sufficiently indented")); - } else if (ch === "\\") { - i += 1; - switch (src[i]) { - case "0": - str += "\0"; - break; - case "a": - str += "\x07"; - break; - case "b": - str += "\b"; - break; - case "e": - str += "\x1B"; - break; - case "f": - str += "\f"; - break; - case "n": - str += "\n"; - break; - case "r": - str += "\r"; - break; - case "t": - str += " "; - break; - case "v": - str += "\v"; - break; - case "N": - str += "\x85"; - break; - case "_": - str += "\xA0"; - break; - case "L": - str += "\u2028"; - break; - case "P": - str += "\u2029"; - break; - case " ": - str += " "; - break; - case '"': - str += '"'; - break; - case "/": - str += "/"; - break; - case "\\": - str += "\\"; - break; - case " ": - str += " "; - break; - case "x": - str += this.parseCharCode(i + 1, 2, errors); - i += 2; - break; - case "u": - str += this.parseCharCode(i + 1, 4, errors); - i += 4; - break; - case "U": - str += this.parseCharCode(i + 1, 8, errors); - i += 8; - break; - case "\n": - while (src[i + 1] === " " || src[i + 1] === " ") - i += 1; - break; - default: - errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`)); - str += "\\" + src[i]; - } - } else if (ch === " " || ch === " ") { - const wsStart = i; - let next = src[i + 1]; - while (next === " " || next === " ") { - i += 1; - next = src[i + 1]; - } - if (next !== "\n") - str += i > wsStart ? src.slice(wsStart, i + 1) : ch; - } else { - str += ch; - } - } - return errors.length > 0 ? { - errors, - str - } : str; - } - parseCharCode(offset, length, errors) { - const { - src - } = this.context; - const cc = src.substr(offset, length); - const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc); - const code = ok ? parseInt(cc, 16) : NaN; - if (isNaN(code)) { - errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`)); - return src.substr(offset - 2, length + 2); - } - return String.fromCodePoint(code); - } - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = QuoteDouble.endOfQuote(src, start + 1); - this.valueRange = new PlainValue.Range(start, offset); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - }; - var QuoteSingle = class extends PlainValue.Node { - static endOfQuote(src, offset) { - let ch = src[offset]; - while (ch) { - if (ch === "'") { - if (src[offset + 1] !== "'") - break; - ch = src[offset += 2]; - } else { - ch = src[offset += 1]; - } - } - return offset + 1; - } - get strValue() { - if (!this.valueRange || !this.context) - return null; - const errors = []; - const { - start, - end - } = this.valueRange; - const { - indent, - src - } = this.context; - if (src[end - 1] !== "'") - errors.push(new PlainValue.YAMLSyntaxError(this, "Missing closing 'quote")); - let str = ""; - for (let i = start + 1; i < end - 1; ++i) { - const ch = src[i]; - if (ch === "\n") { - if (PlainValue.Node.atDocumentBoundary(src, i + 1)) - errors.push(new PlainValue.YAMLSemanticError(this, "Document boundary indicators are not allowed within string values")); - const { - fold, - offset, - error - } = PlainValue.Node.foldNewline(src, i, indent); - str += fold; - i = offset; - if (error) - errors.push(new PlainValue.YAMLSemanticError(this, "Multi-line single-quoted string needs to be sufficiently indented")); - } else if (ch === "'") { - str += ch; - i += 1; - if (src[i] !== "'") - errors.push(new PlainValue.YAMLSyntaxError(this, "Unescaped single quote? This should not happen.")); - } else if (ch === " " || ch === " ") { - const wsStart = i; - let next = src[i + 1]; - while (next === " " || next === " ") { - i += 1; - next = src[i + 1]; - } - if (next !== "\n") - str += i > wsStart ? src.slice(wsStart, i + 1) : ch; - } else { - str += ch; - } - } - return errors.length > 0 ? { - errors, - str - } : str; - } - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = QuoteSingle.endOfQuote(src, start + 1); - this.valueRange = new PlainValue.Range(start, offset); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - }; - function createNewNode(type, props) { - switch (type) { - case PlainValue.Type.ALIAS: - return new Alias(type, props); - case PlainValue.Type.BLOCK_FOLDED: - case PlainValue.Type.BLOCK_LITERAL: - return new BlockValue(type, props); - case PlainValue.Type.FLOW_MAP: - case PlainValue.Type.FLOW_SEQ: - return new FlowCollection(type, props); - case PlainValue.Type.MAP_KEY: - case PlainValue.Type.MAP_VALUE: - case PlainValue.Type.SEQ_ITEM: - return new CollectionItem(type, props); - case PlainValue.Type.COMMENT: - case PlainValue.Type.PLAIN: - return new PlainValue.PlainValue(type, props); - case PlainValue.Type.QUOTE_DOUBLE: - return new QuoteDouble(type, props); - case PlainValue.Type.QUOTE_SINGLE: - return new QuoteSingle(type, props); - default: - return null; - } - } - var ParseContext = class { - static parseType(src, offset, inFlow) { - switch (src[offset]) { - case "*": - return PlainValue.Type.ALIAS; - case ">": - return PlainValue.Type.BLOCK_FOLDED; - case "|": - return PlainValue.Type.BLOCK_LITERAL; - case "{": - return PlainValue.Type.FLOW_MAP; - case "[": - return PlainValue.Type.FLOW_SEQ; - case "?": - return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_KEY : PlainValue.Type.PLAIN; - case ":": - return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_VALUE : PlainValue.Type.PLAIN; - case "-": - return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.SEQ_ITEM : PlainValue.Type.PLAIN; - case '"': - return PlainValue.Type.QUOTE_DOUBLE; - case "'": - return PlainValue.Type.QUOTE_SINGLE; - default: - return PlainValue.Type.PLAIN; - } - } - constructor(orig = {}, { - atLineStart, - inCollection, - inFlow, - indent, - lineStart, - parent - } = {}) { - PlainValue._defineProperty(this, "parseNode", (overlay, start) => { - if (PlainValue.Node.atDocumentBoundary(this.src, start)) - return null; - const context = new ParseContext(this, overlay); - const { - props, - type, - valueStart - } = context.parseProps(start); - const node = createNewNode(type, props); - let offset = node.parse(context, valueStart); - node.range = new PlainValue.Range(start, offset); - if (offset <= start) { - node.error = new Error(`Node#parse consumed no characters`); - node.error.parseEnd = offset; - node.error.source = node; - node.range.end = start + 1; - } - if (context.nodeStartsCollection(node)) { - if (!node.error && !context.atLineStart && context.parent.type === PlainValue.Type.DOCUMENT) { - node.error = new PlainValue.YAMLSyntaxError(node, "Block collection must not have preceding content here (e.g. directives-end indicator)"); - } - const collection = new Collection(node); - offset = collection.parse(new ParseContext(context), offset); - collection.range = new PlainValue.Range(start, offset); - return collection; - } - return node; - }); - this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false; - this.inCollection = inCollection != null ? inCollection : orig.inCollection || false; - this.inFlow = inFlow != null ? inFlow : orig.inFlow || false; - this.indent = indent != null ? indent : orig.indent; - this.lineStart = lineStart != null ? lineStart : orig.lineStart; - this.parent = parent != null ? parent : orig.parent || {}; - this.root = orig.root; - this.src = orig.src; - } - nodeStartsCollection(node) { - const { - inCollection, - inFlow, - src - } = this; - if (inCollection || inFlow) - return false; - if (node instanceof CollectionItem) - return true; - let offset = node.range.end; - if (src[offset] === "\n" || src[offset - 1] === "\n") - return false; - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - return src[offset] === ":"; - } - parseProps(offset) { - const { - inFlow, - parent, - src - } = this; - const props = []; - let lineHasProps = false; - offset = this.atLineStart ? PlainValue.Node.endOfIndent(src, offset) : PlainValue.Node.endOfWhiteSpace(src, offset); - let ch = src[offset]; - while (ch === PlainValue.Char.ANCHOR || ch === PlainValue.Char.COMMENT || ch === PlainValue.Char.TAG || ch === "\n") { - if (ch === "\n") { - let inEnd = offset; - let lineStart; - do { - lineStart = inEnd + 1; - inEnd = PlainValue.Node.endOfIndent(src, lineStart); - } while (src[inEnd] === "\n"); - const indentDiff = inEnd - (lineStart + this.indent); - const noIndicatorAsIndent = parent.type === PlainValue.Type.SEQ_ITEM && parent.context.atLineStart; - if (src[inEnd] !== "#" && !PlainValue.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) - break; - this.atLineStart = true; - this.lineStart = lineStart; - lineHasProps = false; - offset = inEnd; - } else if (ch === PlainValue.Char.COMMENT) { - const end = PlainValue.Node.endOfLine(src, offset + 1); - props.push(new PlainValue.Range(offset, end)); - offset = end; - } else { - let end = PlainValue.Node.endOfIdentifier(src, offset + 1); - if (ch === PlainValue.Char.TAG && src[end] === "," && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) { - end = PlainValue.Node.endOfIdentifier(src, end + 5); - } - props.push(new PlainValue.Range(offset, end)); - lineHasProps = true; - offset = PlainValue.Node.endOfWhiteSpace(src, end); - } - ch = src[offset]; - } - if (lineHasProps && ch === ":" && PlainValue.Node.atBlank(src, offset + 1, true)) - offset -= 1; - const type = ParseContext.parseType(src, offset, inFlow); - return { - props, - type, - valueStart: offset - }; - } - }; - function parse(src) { - const cr = []; - if (src.indexOf("\r") !== -1) { - src = src.replace(/\r\n?/g, (match, offset2) => { - if (match.length > 1) - cr.push(offset2); - return "\n"; - }); - } - const documents = []; - let offset = 0; - do { - const doc = new Document(); - const context = new ParseContext({ - src - }); - offset = doc.parse(context, offset); - documents.push(doc); - } while (offset < src.length); - documents.setOrigRanges = () => { - if (cr.length === 0) - return false; - for (let i = 1; i < cr.length; ++i) - cr[i] -= i; - let crOffset = 0; - for (let i = 0; i < documents.length; ++i) { - crOffset = documents[i].setOrigRanges(cr, crOffset); - } - cr.splice(0, cr.length); - return true; - }; - documents.toString = () => documents.join("...\n"); - return documents; - } - exports2.parse = parse; - } -}); -var require_resolveSeq_d03cb037 = __commonJS({ - "node_modules/yaml/dist/resolveSeq-d03cb037.js"(exports2) { - "use strict"; - var PlainValue = require_PlainValue_ec8e588e(); - function addCommentBefore(str, indent, comment) { - if (!comment) - return str; - const cc = comment.replace(/[\s\S]^/gm, `$&${indent}#`); - return `#${cc} -${indent}${str}`; - } - function addComment(str, indent, comment) { - return !comment ? str : comment.indexOf("\n") === -1 ? `${str} #${comment}` : `${str} -` + comment.replace(/^/gm, `${indent || ""}#`); - } - var Node = class { - }; - function toJSON(value, arg, ctx) { - if (Array.isArray(value)) - return value.map((v, i) => toJSON(v, String(i), ctx)); - if (value && typeof value.toJSON === "function") { - const anchor = ctx && ctx.anchors && ctx.anchors.get(value); - if (anchor) - ctx.onCreate = (res2) => { - anchor.res = res2; - delete ctx.onCreate; - }; - const res = value.toJSON(arg, ctx); - if (anchor && ctx.onCreate) - ctx.onCreate(res); - return res; - } - if ((!ctx || !ctx.keep) && typeof value === "bigint") - return Number(value); - return value; - } - var Scalar = class extends Node { - constructor(value) { - super(); - this.value = value; - } - toJSON(arg, ctx) { - return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx); - } - toString() { - return String(this.value); - } - }; - function collectionFromPath(schema, path, value) { - let v = value; - for (let i = path.length - 1; i >= 0; --i) { - const k = path[i]; - if (Number.isInteger(k) && k >= 0) { - const a = []; - a[k] = v; - v = a; - } else { - const o = {}; - Object.defineProperty(o, k, { - value: v, - writable: true, - enumerable: true, - configurable: true - }); - v = o; - } - } - return schema.createNode(v, false); - } - var isEmptyPath = (path) => path == null || typeof path === "object" && path[Symbol.iterator]().next().done; - var Collection = class extends Node { - constructor(schema) { - super(); - PlainValue._defineProperty(this, "items", []); - this.schema = schema; - } - addIn(path, value) { - if (isEmptyPath(path)) - this.add(value); - else { - const [key, ...rest] = path; - const node = this.get(key, true); - if (node instanceof Collection) - node.addIn(rest, value); - else if (node === void 0 && this.schema) - this.set(key, collectionFromPath(this.schema, rest, value)); - else - throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); - } - } - deleteIn([key, ...rest]) { - if (rest.length === 0) - return this.delete(key); - const node = this.get(key, true); - if (node instanceof Collection) - return node.deleteIn(rest); - else - throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); - } - getIn([key, ...rest], keepScalar) { - const node = this.get(key, true); - if (rest.length === 0) - return !keepScalar && node instanceof Scalar ? node.value : node; - else - return node instanceof Collection ? node.getIn(rest, keepScalar) : void 0; - } - hasAllNullValues() { - return this.items.every((node) => { - if (!node || node.type !== "PAIR") - return false; - const n = node.value; - return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag; - }); - } - hasIn([key, ...rest]) { - if (rest.length === 0) - return this.has(key); - const node = this.get(key, true); - return node instanceof Collection ? node.hasIn(rest) : false; - } - setIn([key, ...rest], value) { - if (rest.length === 0) { - this.set(key, value); - } else { - const node = this.get(key, true); - if (node instanceof Collection) - node.setIn(rest, value); - else if (node === void 0 && this.schema) - this.set(key, collectionFromPath(this.schema, rest, value)); - else - throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); - } - } - toJSON() { - return null; - } - toString(ctx, { - blockItem, - flowChars, - isMap, - itemIndent - }, onComment, onChompKeep) { - const { - indent, - indentStep, - stringify - } = ctx; - const inFlow = this.type === PlainValue.Type.FLOW_MAP || this.type === PlainValue.Type.FLOW_SEQ || ctx.inFlow; - if (inFlow) - itemIndent += indentStep; - const allNullValues = isMap && this.hasAllNullValues(); - ctx = Object.assign({}, ctx, { - allNullValues, - indent: itemIndent, - inFlow, - type: null - }); - let chompKeep = false; - let hasItemWithNewLine = false; - const nodes = this.items.reduce((nodes2, item, i) => { - let comment; - if (item) { - if (!chompKeep && item.spaceBefore) - nodes2.push({ - type: "comment", - str: "" - }); - if (item.commentBefore) - item.commentBefore.match(/^.*$/gm).forEach((line) => { - nodes2.push({ - type: "comment", - str: `#${line}` - }); - }); - if (item.comment) - comment = item.comment; - if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) - hasItemWithNewLine = true; - } - chompKeep = false; - let str2 = stringify(item, ctx, () => comment = null, () => chompKeep = true); - if (inFlow && !hasItemWithNewLine && str2.includes("\n")) - hasItemWithNewLine = true; - if (inFlow && i < this.items.length - 1) - str2 += ","; - str2 = addComment(str2, itemIndent, comment); - if (chompKeep && (comment || inFlow)) - chompKeep = false; - nodes2.push({ - type: "item", - str: str2 - }); - return nodes2; - }, []); - let str; - if (nodes.length === 0) { - str = flowChars.start + flowChars.end; - } else if (inFlow) { - const { - start, - end - } = flowChars; - const strings = nodes.map((n) => n.str); - if (hasItemWithNewLine || strings.reduce((sum, str2) => sum + str2.length + 2, 2) > Collection.maxFlowStringSingleLineLength) { - str = start; - for (const s of strings) { - str += s ? ` -${indentStep}${indent}${s}` : "\n"; - } - str += ` -${indent}${end}`; - } else { - str = `${start} ${strings.join(" ")} ${end}`; - } - } else { - const strings = nodes.map(blockItem); - str = strings.shift(); - for (const s of strings) - str += s ? ` -${indent}${s}` : "\n"; - } - if (this.comment) { - str += "\n" + this.comment.replace(/^/gm, `${indent}#`); - if (onComment) - onComment(); - } else if (chompKeep && onChompKeep) - onChompKeep(); - return str; - } - }; - PlainValue._defineProperty(Collection, "maxFlowStringSingleLineLength", 60); - function asItemIndex(key) { - let idx = key instanceof Scalar ? key.value : key; - if (idx && typeof idx === "string") - idx = Number(idx); - return Number.isInteger(idx) && idx >= 0 ? idx : null; - } - var YAMLSeq = class extends Collection { - add(value) { - this.items.push(value); - } - delete(key) { - const idx = asItemIndex(key); - if (typeof idx !== "number") - return false; - const del = this.items.splice(idx, 1); - return del.length > 0; - } - get(key, keepScalar) { - const idx = asItemIndex(key); - if (typeof idx !== "number") - return void 0; - const it = this.items[idx]; - return !keepScalar && it instanceof Scalar ? it.value : it; - } - has(key) { - const idx = asItemIndex(key); - return typeof idx === "number" && idx < this.items.length; - } - set(key, value) { - const idx = asItemIndex(key); - if (typeof idx !== "number") - throw new Error(`Expected a valid index, not ${key}.`); - this.items[idx] = value; - } - toJSON(_, ctx) { - const seq = []; - if (ctx && ctx.onCreate) - ctx.onCreate(seq); - let i = 0; - for (const item of this.items) - seq.push(toJSON(item, String(i++), ctx)); - return seq; - } - toString(ctx, onComment, onChompKeep) { - if (!ctx) - return JSON.stringify(this); - return super.toString(ctx, { - blockItem: (n) => n.type === "comment" ? n.str : `- ${n.str}`, - flowChars: { - start: "[", - end: "]" - }, - isMap: false, - itemIndent: (ctx.indent || "") + " " - }, onComment, onChompKeep); - } - }; - var stringifyKey = (key, jsKey, ctx) => { - if (jsKey === null) - return ""; - if (typeof jsKey !== "object") - return String(jsKey); - if (key instanceof Node && ctx && ctx.doc) - return key.toString({ - anchors: /* @__PURE__ */ Object.create(null), - doc: ctx.doc, - indent: "", - indentStep: ctx.indentStep, - inFlow: true, - inStringifyKey: true, - stringify: ctx.stringify - }); - return JSON.stringify(jsKey); - }; - var Pair = class extends Node { - constructor(key, value = null) { - super(); - this.key = key; - this.value = value; - this.type = Pair.Type.PAIR; - } - get commentBefore() { - return this.key instanceof Node ? this.key.commentBefore : void 0; - } - set commentBefore(cb) { - if (this.key == null) - this.key = new Scalar(null); - if (this.key instanceof Node) - this.key.commentBefore = cb; - else { - const msg = "Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node."; - throw new Error(msg); - } - } - addToJSMap(ctx, map) { - const key = toJSON(this.key, "", ctx); - if (map instanceof Map) { - const value = toJSON(this.value, key, ctx); - map.set(key, value); - } else if (map instanceof Set) { - map.add(key); - } else { - const stringKey = stringifyKey(this.key, key, ctx); - const value = toJSON(this.value, stringKey, ctx); - if (stringKey in map) - Object.defineProperty(map, stringKey, { - value, - writable: true, - enumerable: true, - configurable: true - }); - else - map[stringKey] = value; - } - return map; - } - toJSON(_, ctx) { - const pair = ctx && ctx.mapAsMap ? /* @__PURE__ */ new Map() : {}; - return this.addToJSMap(ctx, pair); - } - toString(ctx, onComment, onChompKeep) { - if (!ctx || !ctx.doc) - return JSON.stringify(this); - const { - indent: indentSize, - indentSeq, - simpleKeys - } = ctx.doc.options; - let { - key, - value - } = this; - let keyComment = key instanceof Node && key.comment; - if (simpleKeys) { - if (keyComment) { - throw new Error("With simple keys, key nodes cannot have comments"); - } - if (key instanceof Collection) { - const msg = "With simple keys, collection cannot be used as a key value"; - throw new Error(msg); - } - } - let explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node ? key instanceof Collection || key.type === PlainValue.Type.BLOCK_FOLDED || key.type === PlainValue.Type.BLOCK_LITERAL : typeof key === "object")); - const { - doc, - indent, - indentStep, - stringify - } = ctx; - ctx = Object.assign({}, ctx, { - implicitKey: !explicitKey, - indent: indent + indentStep - }); - let chompKeep = false; - let str = stringify(key, ctx, () => keyComment = null, () => chompKeep = true); - str = addComment(str, ctx.indent, keyComment); - if (!explicitKey && str.length > 1024) { - if (simpleKeys) - throw new Error("With simple keys, single line scalar must not span more than 1024 characters"); - explicitKey = true; - } - if (ctx.allNullValues && !simpleKeys) { - if (this.comment) { - str = addComment(str, ctx.indent, this.comment); - if (onComment) - onComment(); - } else if (chompKeep && !keyComment && onChompKeep) - onChompKeep(); - return ctx.inFlow && !explicitKey ? str : `? ${str}`; - } - str = explicitKey ? `? ${str} -${indent}:` : `${str}:`; - if (this.comment) { - str = addComment(str, ctx.indent, this.comment); - if (onComment) - onComment(); - } - let vcb = ""; - let valueComment = null; - if (value instanceof Node) { - if (value.spaceBefore) - vcb = "\n"; - if (value.commentBefore) { - const cs = value.commentBefore.replace(/^/gm, `${ctx.indent}#`); - vcb += ` -${cs}`; - } - valueComment = value.comment; - } else if (value && typeof value === "object") { - value = doc.schema.createNode(value, true); - } - ctx.implicitKey = false; - if (!explicitKey && !this.comment && value instanceof Scalar) - ctx.indentAtStart = str.length + 1; - chompKeep = false; - if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValue.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) { - ctx.indent = ctx.indent.substr(2); - } - const valueStr = stringify(value, ctx, () => valueComment = null, () => chompKeep = true); - let ws = " "; - if (vcb || this.comment) { - ws = `${vcb} -${ctx.indent}`; - } else if (!explicitKey && value instanceof Collection) { - const flow = valueStr[0] === "[" || valueStr[0] === "{"; - if (!flow || valueStr.includes("\n")) - ws = ` -${ctx.indent}`; - } else if (valueStr[0] === "\n") - ws = ""; - if (chompKeep && !valueComment && onChompKeep) - onChompKeep(); - return addComment(str + ws + valueStr, ctx.indent, valueComment); - } - }; - PlainValue._defineProperty(Pair, "Type", { - PAIR: "PAIR", - MERGE_PAIR: "MERGE_PAIR" - }); - var getAliasCount = (node, anchors) => { - if (node instanceof Alias) { - const anchor = anchors.get(node.source); - return anchor.count * anchor.aliasCount; - } else if (node instanceof Collection) { - let count = 0; - for (const item of node.items) { - const c = getAliasCount(item, anchors); - if (c > count) - count = c; - } - return count; - } else if (node instanceof Pair) { - const kc = getAliasCount(node.key, anchors); - const vc = getAliasCount(node.value, anchors); - return Math.max(kc, vc); - } - return 1; - }; - var Alias = class extends Node { - static stringify({ - range, - source - }, { - anchors, - doc, - implicitKey, - inStringifyKey - }) { - let anchor = Object.keys(anchors).find((a) => anchors[a] === source); - if (!anchor && inStringifyKey) - anchor = doc.anchors.getName(source) || doc.anchors.newName(); - if (anchor) - return `*${anchor}${implicitKey ? " " : ""}`; - const msg = doc.anchors.getName(source) ? "Alias node must be after source node" : "Source node not found for alias node"; - throw new Error(`${msg} [${range}]`); - } - constructor(source) { - super(); - this.source = source; - this.type = PlainValue.Type.ALIAS; - } - set tag(t) { - throw new Error("Alias nodes cannot have tags"); - } - toJSON(arg, ctx) { - if (!ctx) - return toJSON(this.source, arg, ctx); - const { - anchors, - maxAliasCount - } = ctx; - const anchor = anchors.get(this.source); - if (!anchor || anchor.res === void 0) { - const msg = "This should not happen: Alias anchor was not resolved?"; - if (this.cstNode) - throw new PlainValue.YAMLReferenceError(this.cstNode, msg); - else - throw new ReferenceError(msg); - } - if (maxAliasCount >= 0) { - anchor.count += 1; - if (anchor.aliasCount === 0) - anchor.aliasCount = getAliasCount(this.source, anchors); - if (anchor.count * anchor.aliasCount > maxAliasCount) { - const msg = "Excessive alias count indicates a resource exhaustion attack"; - if (this.cstNode) - throw new PlainValue.YAMLReferenceError(this.cstNode, msg); - else - throw new ReferenceError(msg); - } - } - return anchor.res; - } - toString(ctx) { - return Alias.stringify(this, ctx); - } - }; - PlainValue._defineProperty(Alias, "default", true); - function findPair(items, key) { - const k = key instanceof Scalar ? key.value : key; - for (const it of items) { - if (it instanceof Pair) { - if (it.key === key || it.key === k) - return it; - if (it.key && it.key.value === k) - return it; - } - } - return void 0; - } - var YAMLMap = class extends Collection { - add(pair, overwrite) { - if (!pair) - pair = new Pair(pair); - else if (!(pair instanceof Pair)) - pair = new Pair(pair.key || pair, pair.value); - const prev = findPair(this.items, pair.key); - const sortEntries = this.schema && this.schema.sortMapEntries; - if (prev) { - if (overwrite) - prev.value = pair.value; - else - throw new Error(`Key ${pair.key} already set`); - } else if (sortEntries) { - const i = this.items.findIndex((item) => sortEntries(pair, item) < 0); - if (i === -1) - this.items.push(pair); - else - this.items.splice(i, 0, pair); - } else { - this.items.push(pair); - } - } - delete(key) { - const it = findPair(this.items, key); - if (!it) - return false; - const del = this.items.splice(this.items.indexOf(it), 1); - return del.length > 0; - } - get(key, keepScalar) { - const it = findPair(this.items, key); - const node = it && it.value; - return !keepScalar && node instanceof Scalar ? node.value : node; - } - has(key) { - return !!findPair(this.items, key); - } - set(key, value) { - this.add(new Pair(key, value), true); - } - toJSON(_, ctx, Type) { - const map = Type ? new Type() : ctx && ctx.mapAsMap ? /* @__PURE__ */ new Map() : {}; - if (ctx && ctx.onCreate) - ctx.onCreate(map); - for (const item of this.items) - item.addToJSMap(ctx, map); - return map; - } - toString(ctx, onComment, onChompKeep) { - if (!ctx) - return JSON.stringify(this); - for (const item of this.items) { - if (!(item instanceof Pair)) - throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`); - } - return super.toString(ctx, { - blockItem: (n) => n.str, - flowChars: { - start: "{", - end: "}" - }, - isMap: true, - itemIndent: ctx.indent || "" - }, onComment, onChompKeep); - } - }; - var MERGE_KEY = "<<"; - var Merge = class extends Pair { - constructor(pair) { - if (pair instanceof Pair) { - let seq = pair.value; - if (!(seq instanceof YAMLSeq)) { - seq = new YAMLSeq(); - seq.items.push(pair.value); - seq.range = pair.value.range; - } - super(pair.key, seq); - this.range = pair.range; - } else { - super(new Scalar(MERGE_KEY), new YAMLSeq()); - } - this.type = Pair.Type.MERGE_PAIR; - } - addToJSMap(ctx, map) { - for (const { - source - } of this.value.items) { - if (!(source instanceof YAMLMap)) - throw new Error("Merge sources must be maps"); - const srcMap = source.toJSON(null, ctx, Map); - for (const [key, value] of srcMap) { - if (map instanceof Map) { - if (!map.has(key)) - map.set(key, value); - } else if (map instanceof Set) { - map.add(key); - } else if (!Object.prototype.hasOwnProperty.call(map, key)) { - Object.defineProperty(map, key, { - value, - writable: true, - enumerable: true, - configurable: true - }); - } - } - } - return map; - } - toString(ctx, onComment) { - const seq = this.value; - if (seq.items.length > 1) - return super.toString(ctx, onComment); - this.value = seq.items[0]; - const str = super.toString(ctx, onComment); - this.value = seq; - return str; - } - }; - var binaryOptions = { - defaultType: PlainValue.Type.BLOCK_LITERAL, - lineWidth: 76 - }; - var boolOptions = { - trueStr: "true", - falseStr: "false" - }; - var intOptions = { - asBigInt: false - }; - var nullOptions = { - nullStr: "null" - }; - var strOptions = { - defaultType: PlainValue.Type.PLAIN, - doubleQuoted: { - jsonEncoding: false, - minMultiLineLength: 40 - }, - fold: { - lineWidth: 80, - minContentWidth: 20 - } - }; - function resolveScalar(str, tags, scalarFallback) { - for (const { - format, - test, - resolve - } of tags) { - if (test) { - const match = str.match(test); - if (match) { - let res = resolve.apply(null, match); - if (!(res instanceof Scalar)) - res = new Scalar(res); - if (format) - res.format = format; - return res; - } - } - } - if (scalarFallback) - str = scalarFallback(str); - return new Scalar(str); - } - var FOLD_FLOW = "flow"; - var FOLD_BLOCK = "block"; - var FOLD_QUOTED = "quoted"; - var consumeMoreIndentedLines = (text, i) => { - let ch = text[i + 1]; - while (ch === " " || ch === " ") { - do { - ch = text[i += 1]; - } while (ch && ch !== "\n"); - ch = text[i + 1]; - } - return i; - }; - function foldFlowLines(text, indent, mode, { - indentAtStart, - lineWidth = 80, - minContentWidth = 20, - onFold, - onOverflow - }) { - if (!lineWidth || lineWidth < 0) - return text; - const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length); - if (text.length <= endStep) - return text; - const folds = []; - const escapedFolds = {}; - let end = lineWidth - indent.length; - if (typeof indentAtStart === "number") { - if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) - folds.push(0); - else - end = lineWidth - indentAtStart; - } - let split = void 0; - let prev = void 0; - let overflow = false; - let i = -1; - let escStart = -1; - let escEnd = -1; - if (mode === FOLD_BLOCK) { - i = consumeMoreIndentedLines(text, i); - if (i !== -1) - end = i + endStep; - } - for (let ch; ch = text[i += 1]; ) { - if (mode === FOLD_QUOTED && ch === "\\") { - escStart = i; - switch (text[i + 1]) { - case "x": - i += 3; - break; - case "u": - i += 5; - break; - case "U": - i += 9; - break; - default: - i += 1; - } - escEnd = i; - } - if (ch === "\n") { - if (mode === FOLD_BLOCK) - i = consumeMoreIndentedLines(text, i); - end = i + endStep; - split = void 0; - } else { - if (ch === " " && prev && prev !== " " && prev !== "\n" && prev !== " ") { - const next = text[i + 1]; - if (next && next !== " " && next !== "\n" && next !== " ") - split = i; - } - if (i >= end) { - if (split) { - folds.push(split); - end = split + endStep; - split = void 0; - } else if (mode === FOLD_QUOTED) { - while (prev === " " || prev === " ") { - prev = ch; - ch = text[i += 1]; - overflow = true; - } - const j = i > escEnd + 1 ? i - 2 : escStart - 1; - if (escapedFolds[j]) - return text; - folds.push(j); - escapedFolds[j] = true; - end = j + endStep; - split = void 0; - } else { - overflow = true; - } - } - } - prev = ch; - } - if (overflow && onOverflow) - onOverflow(); - if (folds.length === 0) - return text; - if (onFold) - onFold(); - let res = text.slice(0, folds[0]); - for (let i2 = 0; i2 < folds.length; ++i2) { - const fold = folds[i2]; - const end2 = folds[i2 + 1] || text.length; - if (fold === 0) - res = ` -${indent}${text.slice(0, end2)}`; - else { - if (mode === FOLD_QUOTED && escapedFolds[fold]) - res += `${text[fold]}\\`; - res += ` -${indent}${text.slice(fold + 1, end2)}`; - } - } - return res; - } - var getFoldOptions = ({ - indentAtStart - }) => indentAtStart ? Object.assign({ - indentAtStart - }, strOptions.fold) : strOptions.fold; - var containsDocumentMarker = (str) => /^(%|---|\.\.\.)/m.test(str); - function lineLengthOverLimit(str, lineWidth, indentLength) { - if (!lineWidth || lineWidth < 0) - return false; - const limit = lineWidth - indentLength; - const strLen = str.length; - if (strLen <= limit) - return false; - for (let i = 0, start = 0; i < strLen; ++i) { - if (str[i] === "\n") { - if (i - start > limit) - return true; - start = i + 1; - if (strLen - start <= limit) - return false; - } - } - return true; - } - function doubleQuotedString(value, ctx) { - const { - implicitKey - } = ctx; - const { - jsonEncoding, - minMultiLineLength - } = strOptions.doubleQuoted; - const json = JSON.stringify(value); - if (jsonEncoding) - return json; - const indent = ctx.indent || (containsDocumentMarker(value) ? " " : ""); - let str = ""; - let start = 0; - for (let i = 0, ch = json[i]; ch; ch = json[++i]) { - if (ch === " " && json[i + 1] === "\\" && json[i + 2] === "n") { - str += json.slice(start, i) + "\\ "; - i += 1; - start = i; - ch = "\\"; - } - if (ch === "\\") - switch (json[i + 1]) { - case "u": - { - str += json.slice(start, i); - const code = json.substr(i + 2, 4); - switch (code) { - case "0000": - str += "\\0"; - break; - case "0007": - str += "\\a"; - break; - case "000b": - str += "\\v"; - break; - case "001b": - str += "\\e"; - break; - case "0085": - str += "\\N"; - break; - case "00a0": - str += "\\_"; - break; - case "2028": - str += "\\L"; - break; - case "2029": - str += "\\P"; - break; - default: - if (code.substr(0, 2) === "00") - str += "\\x" + code.substr(2); - else - str += json.substr(i, 6); - } - i += 5; - start = i + 1; - } - break; - case "n": - if (implicitKey || json[i + 2] === '"' || json.length < minMultiLineLength) { - i += 1; - } else { - str += json.slice(start, i) + "\n\n"; - while (json[i + 2] === "\\" && json[i + 3] === "n" && json[i + 4] !== '"') { - str += "\n"; - i += 2; - } - str += indent; - if (json[i + 2] === " ") - str += "\\"; - i += 1; - start = i + 1; - } - break; - default: - i += 1; - } - } - str = start ? str + json.slice(start) : json; - return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx)); - } - function singleQuotedString(value, ctx) { - if (ctx.implicitKey) { - if (/\n/.test(value)) - return doubleQuotedString(value, ctx); - } else { - if (/[ \t]\n|\n[ \t]/.test(value)) - return doubleQuotedString(value, ctx); - } - const indent = ctx.indent || (containsDocumentMarker(value) ? " " : ""); - const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$& -${indent}`) + "'"; - return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx)); - } - function blockString({ - comment, - type, - value - }, ctx, onComment, onChompKeep) { - if (/\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { - return doubleQuotedString(value, ctx); - } - const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? " " : ""); - const indentSize = indent ? "2" : "1"; - const literal = type === PlainValue.Type.BLOCK_FOLDED ? false : type === PlainValue.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth, indent.length); - let header = literal ? "|" : ">"; - if (!value) - return header + "\n"; - let wsStart = ""; - let wsEnd = ""; - value = value.replace(/[\n\t ]*$/, (ws) => { - const n = ws.indexOf("\n"); - if (n === -1) { - header += "-"; - } else if (value === ws || n !== ws.length - 1) { - header += "+"; - if (onChompKeep) - onChompKeep(); - } - wsEnd = ws.replace(/\n$/, ""); - return ""; - }).replace(/^[\n ]*/, (ws) => { - if (ws.indexOf(" ") !== -1) - header += indentSize; - const m = ws.match(/ +$/); - if (m) { - wsStart = ws.slice(0, -m[0].length); - return m[0]; - } else { - wsStart = ws; - return ""; - } - }); - if (wsEnd) - wsEnd = wsEnd.replace(/\n+(?!\n|$)/g, `$&${indent}`); - if (wsStart) - wsStart = wsStart.replace(/\n+/g, `$&${indent}`); - if (comment) { - header += " #" + comment.replace(/ ?[\r\n]+/g, " "); - if (onComment) - onComment(); - } - if (!value) - return `${header}${indentSize} -${indent}${wsEnd}`; - if (literal) { - value = value.replace(/\n+/g, `$&${indent}`); - return `${header} -${indent}${wsStart}${value}${wsEnd}`; - } - value = value.replace(/\n+/g, "\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, `$&${indent}`); - const body = foldFlowLines(`${wsStart}${value}${wsEnd}`, indent, FOLD_BLOCK, strOptions.fold); - return `${header} -${indent}${body}`; - } - function plainString(item, ctx, onComment, onChompKeep) { - const { - comment, - type, - value - } = item; - const { - actualString, - implicitKey, - indent, - inFlow - } = ctx; - if (implicitKey && /[\n[\]{},]/.test(value) || inFlow && /[[\]{},]/.test(value)) { - return doubleQuotedString(value, ctx); - } - if (!value || /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { - return implicitKey || inFlow || value.indexOf("\n") === -1 ? value.indexOf('"') !== -1 && value.indexOf("'") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep); - } - if (!implicitKey && !inFlow && type !== PlainValue.Type.PLAIN && value.indexOf("\n") !== -1) { - return blockString(item, ctx, onComment, onChompKeep); - } - if (indent === "" && containsDocumentMarker(value)) { - ctx.forceBlockIndent = true; - return blockString(item, ctx, onComment, onChompKeep); - } - const str = value.replace(/\n+/g, `$& -${indent}`); - if (actualString) { - const { - tags - } = ctx.doc.schema; - const resolved = resolveScalar(str, tags, tags.scalarFallback).value; - if (typeof resolved !== "string") - return doubleQuotedString(value, ctx); - } - const body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx)); - if (comment && !inFlow && (body.indexOf("\n") !== -1 || comment.indexOf("\n") !== -1)) { - if (onComment) - onComment(); - return addCommentBefore(body, indent, comment); - } - return body; - } - function stringifyString(item, ctx, onComment, onChompKeep) { - const { - defaultType - } = strOptions; - const { - implicitKey, - inFlow - } = ctx; - let { - type, - value - } = item; - if (typeof value !== "string") { - value = String(value); - item = Object.assign({}, item, { - value - }); - } - const _stringify = (_type) => { - switch (_type) { - case PlainValue.Type.BLOCK_FOLDED: - case PlainValue.Type.BLOCK_LITERAL: - return blockString(item, ctx, onComment, onChompKeep); - case PlainValue.Type.QUOTE_DOUBLE: - return doubleQuotedString(value, ctx); - case PlainValue.Type.QUOTE_SINGLE: - return singleQuotedString(value, ctx); - case PlainValue.Type.PLAIN: - return plainString(item, ctx, onComment, onChompKeep); - default: - return null; - } - }; - if (type !== PlainValue.Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value)) { - type = PlainValue.Type.QUOTE_DOUBLE; - } else if ((implicitKey || inFlow) && (type === PlainValue.Type.BLOCK_FOLDED || type === PlainValue.Type.BLOCK_LITERAL)) { - type = PlainValue.Type.QUOTE_DOUBLE; - } - let res = _stringify(type); - if (res === null) { - res = _stringify(defaultType); - if (res === null) - throw new Error(`Unsupported default string type ${defaultType}`); - } - return res; - } - function stringifyNumber({ - format, - minFractionDigits, - tag, - value - }) { - if (typeof value === "bigint") - return String(value); - if (!isFinite(value)) - return isNaN(value) ? ".nan" : value < 0 ? "-.inf" : ".inf"; - let n = JSON.stringify(value); - if (!format && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^\d/.test(n)) { - let i = n.indexOf("."); - if (i < 0) { - i = n.length; - n += "."; - } - let d = minFractionDigits - (n.length - i - 1); - while (d-- > 0) - n += "0"; - } - return n; - } - function checkFlowCollectionEnd(errors, cst) { - let char, name; - switch (cst.type) { - case PlainValue.Type.FLOW_MAP: - char = "}"; - name = "flow map"; - break; - case PlainValue.Type.FLOW_SEQ: - char = "]"; - name = "flow sequence"; - break; - default: - errors.push(new PlainValue.YAMLSemanticError(cst, "Not a flow collection!?")); - return; - } - let lastItem; - for (let i = cst.items.length - 1; i >= 0; --i) { - const item = cst.items[i]; - if (!item || item.type !== PlainValue.Type.COMMENT) { - lastItem = item; - break; - } - } - if (lastItem && lastItem.char !== char) { - const msg = `Expected ${name} to end with ${char}`; - let err; - if (typeof lastItem.offset === "number") { - err = new PlainValue.YAMLSemanticError(cst, msg); - err.offset = lastItem.offset + 1; - } else { - err = new PlainValue.YAMLSemanticError(lastItem, msg); - if (lastItem.range && lastItem.range.end) - err.offset = lastItem.range.end - lastItem.range.start; - } - errors.push(err); - } - } - function checkFlowCommentSpace(errors, comment) { - const prev = comment.context.src[comment.range.start - 1]; - if (prev !== "\n" && prev !== " " && prev !== " ") { - const msg = "Comments must be separated from other tokens by white space characters"; - errors.push(new PlainValue.YAMLSemanticError(comment, msg)); - } - } - function getLongKeyError(source, key) { - const sk = String(key); - const k = sk.substr(0, 8) + "..." + sk.substr(-8); - return new PlainValue.YAMLSemanticError(source, `The "${k}" key is too long`); - } - function resolveComments(collection, comments) { - for (const { - afterKey, - before, - comment - } of comments) { - let item = collection.items[before]; - if (!item) { - if (comment !== void 0) { - if (collection.comment) - collection.comment += "\n" + comment; - else - collection.comment = comment; - } - } else { - if (afterKey && item.value) - item = item.value; - if (comment === void 0) { - if (afterKey || !item.commentBefore) - item.spaceBefore = true; - } else { - if (item.commentBefore) - item.commentBefore += "\n" + comment; - else - item.commentBefore = comment; - } - } - } - } - function resolveString(doc, node) { - const res = node.strValue; - if (!res) - return ""; - if (typeof res === "string") - return res; - res.errors.forEach((error) => { - if (!error.source) - error.source = node; - doc.errors.push(error); - }); - return res.str; - } - function resolveTagHandle(doc, node) { - const { - handle, - suffix - } = node.tag; - let prefix = doc.tagPrefixes.find((p) => p.handle === handle); - if (!prefix) { - const dtp = doc.getDefaults().tagPrefixes; - if (dtp) - prefix = dtp.find((p) => p.handle === handle); - if (!prefix) - throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`); - } - if (!suffix) - throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag has no suffix.`); - if (handle === "!" && (doc.version || doc.options.version) === "1.0") { - if (suffix[0] === "^") { - doc.warnings.push(new PlainValue.YAMLWarning(node, "YAML 1.0 ^ tag expansion is not supported")); - return suffix; - } - if (/[:/]/.test(suffix)) { - const vocab = suffix.match(/^([a-z0-9-]+)\/(.*)/i); - return vocab ? `tag:${vocab[1]}.yaml.org,2002:${vocab[2]}` : `tag:${suffix}`; - } - } - return prefix.prefix + decodeURIComponent(suffix); - } - function resolveTagName(doc, node) { - const { - tag, - type - } = node; - let nonSpecific = false; - if (tag) { - const { - handle, - suffix, - verbatim - } = tag; - if (verbatim) { - if (verbatim !== "!" && verbatim !== "!!") - return verbatim; - const msg = `Verbatim tags aren't resolved, so ${verbatim} is invalid.`; - doc.errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } else if (handle === "!" && !suffix) { - nonSpecific = true; - } else { - try { - return resolveTagHandle(doc, node); - } catch (error) { - doc.errors.push(error); - } - } - } - switch (type) { - case PlainValue.Type.BLOCK_FOLDED: - case PlainValue.Type.BLOCK_LITERAL: - case PlainValue.Type.QUOTE_DOUBLE: - case PlainValue.Type.QUOTE_SINGLE: - return PlainValue.defaultTags.STR; - case PlainValue.Type.FLOW_MAP: - case PlainValue.Type.MAP: - return PlainValue.defaultTags.MAP; - case PlainValue.Type.FLOW_SEQ: - case PlainValue.Type.SEQ: - return PlainValue.defaultTags.SEQ; - case PlainValue.Type.PLAIN: - return nonSpecific ? PlainValue.defaultTags.STR : null; - default: - return null; - } - } - function resolveByTagName(doc, node, tagName) { - const { - tags - } = doc.schema; - const matchWithTest = []; - for (const tag of tags) { - if (tag.tag === tagName) { - if (tag.test) - matchWithTest.push(tag); - else { - const res = tag.resolve(doc, node); - return res instanceof Collection ? res : new Scalar(res); - } - } - } - const str = resolveString(doc, node); - if (typeof str === "string" && matchWithTest.length > 0) - return resolveScalar(str, matchWithTest, tags.scalarFallback); - return null; - } - function getFallbackTagName({ - type - }) { - switch (type) { - case PlainValue.Type.FLOW_MAP: - case PlainValue.Type.MAP: - return PlainValue.defaultTags.MAP; - case PlainValue.Type.FLOW_SEQ: - case PlainValue.Type.SEQ: - return PlainValue.defaultTags.SEQ; - default: - return PlainValue.defaultTags.STR; - } - } - function resolveTag(doc, node, tagName) { - try { - const res = resolveByTagName(doc, node, tagName); - if (res) { - if (tagName && node.tag) - res.tag = tagName; - return res; - } - } catch (error) { - if (!error.source) - error.source = node; - doc.errors.push(error); - return null; - } - try { - const fallback = getFallbackTagName(node); - if (!fallback) - throw new Error(`The tag ${tagName} is unavailable`); - const msg = `The tag ${tagName} is unavailable, falling back to ${fallback}`; - doc.warnings.push(new PlainValue.YAMLWarning(node, msg)); - const res = resolveByTagName(doc, node, fallback); - res.tag = tagName; - return res; - } catch (error) { - const refError = new PlainValue.YAMLReferenceError(node, error.message); - refError.stack = error.stack; - doc.errors.push(refError); - return null; - } - } - var isCollectionItem = (node) => { - if (!node) - return false; - const { - type - } = node; - return type === PlainValue.Type.MAP_KEY || type === PlainValue.Type.MAP_VALUE || type === PlainValue.Type.SEQ_ITEM; - }; - function resolveNodeProps(errors, node) { - const comments = { - before: [], - after: [] - }; - let hasAnchor = false; - let hasTag = false; - const props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props; - for (const { - start, - end - } of props) { - switch (node.context.src[start]) { - case PlainValue.Char.COMMENT: { - if (!node.commentHasRequiredWhitespace(start)) { - const msg = "Comments must be separated from other tokens by white space characters"; - errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - const { - header, - valueRange - } = node; - const cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before; - cc.push(node.context.src.slice(start + 1, end)); - break; - } - case PlainValue.Char.ANCHOR: - if (hasAnchor) { - const msg = "A node can have at most one anchor"; - errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - hasAnchor = true; - break; - case PlainValue.Char.TAG: - if (hasTag) { - const msg = "A node can have at most one tag"; - errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - hasTag = true; - break; - } - } - return { - comments, - hasAnchor, - hasTag - }; - } - function resolveNodeValue(doc, node) { - const { - anchors, - errors, - schema - } = doc; - if (node.type === PlainValue.Type.ALIAS) { - const name = node.rawValue; - const src = anchors.getNode(name); - if (!src) { - const msg = `Aliased anchor not found: ${name}`; - errors.push(new PlainValue.YAMLReferenceError(node, msg)); - return null; - } - const res = new Alias(src); - anchors._cstAliases.push(res); - return res; - } - const tagName = resolveTagName(doc, node); - if (tagName) - return resolveTag(doc, node, tagName); - if (node.type !== PlainValue.Type.PLAIN) { - const msg = `Failed to resolve ${node.type} node here`; - errors.push(new PlainValue.YAMLSyntaxError(node, msg)); - return null; - } - try { - const str = resolveString(doc, node); - return resolveScalar(str, schema.tags, schema.tags.scalarFallback); - } catch (error) { - if (!error.source) - error.source = node; - errors.push(error); - return null; - } - } - function resolveNode(doc, node) { - if (!node) - return null; - if (node.error) - doc.errors.push(node.error); - const { - comments, - hasAnchor, - hasTag - } = resolveNodeProps(doc.errors, node); - if (hasAnchor) { - const { - anchors - } = doc; - const name = node.anchor; - const prev = anchors.getNode(name); - if (prev) - anchors.map[anchors.newName(name)] = prev; - anchors.map[name] = node; - } - if (node.type === PlainValue.Type.ALIAS && (hasAnchor || hasTag)) { - const msg = "An alias node must not specify any properties"; - doc.errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - const res = resolveNodeValue(doc, node); - if (res) { - res.range = [node.range.start, node.range.end]; - if (doc.options.keepCstNodes) - res.cstNode = node; - if (doc.options.keepNodeTypes) - res.type = node.type; - const cb = comments.before.join("\n"); - if (cb) { - res.commentBefore = res.commentBefore ? `${res.commentBefore} -${cb}` : cb; - } - const ca = comments.after.join("\n"); - if (ca) - res.comment = res.comment ? `${res.comment} -${ca}` : ca; - } - return node.resolved = res; - } - function resolveMap(doc, cst) { - if (cst.type !== PlainValue.Type.MAP && cst.type !== PlainValue.Type.FLOW_MAP) { - const msg = `A ${cst.type} node cannot be resolved as a mapping`; - doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg)); - return null; - } - const { - comments, - items - } = cst.type === PlainValue.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst); - const map = new YAMLMap(); - map.items = items; - resolveComments(map, comments); - let hasCollectionKey = false; - for (let i = 0; i < items.length; ++i) { - const { - key: iKey - } = items[i]; - if (iKey instanceof Collection) - hasCollectionKey = true; - if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) { - items[i] = new Merge(items[i]); - const sources = items[i].value.items; - let error = null; - sources.some((node) => { - if (node instanceof Alias) { - const { - type - } = node.source; - if (type === PlainValue.Type.MAP || type === PlainValue.Type.FLOW_MAP) - return false; - return error = "Merge nodes aliases can only point to maps"; - } - return error = "Merge nodes can only have Alias nodes as values"; - }); - if (error) - doc.errors.push(new PlainValue.YAMLSemanticError(cst, error)); - } else { - for (let j = i + 1; j < items.length; ++j) { - const { - key: jKey - } = items[j]; - if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, "value") && iKey.value === jKey.value) { - const msg = `Map keys must be unique; "${iKey}" is repeated`; - doc.errors.push(new PlainValue.YAMLSemanticError(cst, msg)); - break; - } - } - } - } - if (hasCollectionKey && !doc.options.mapAsMap) { - const warn = "Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this."; - doc.warnings.push(new PlainValue.YAMLWarning(cst, warn)); - } - cst.resolved = map; - return map; - } - var valueHasPairComment = ({ - context: { - lineStart, - node, - src - }, - props - }) => { - if (props.length === 0) - return false; - const { - start - } = props[0]; - if (node && start > node.valueRange.start) - return false; - if (src[start] !== PlainValue.Char.COMMENT) - return false; - for (let i = lineStart; i < start; ++i) - if (src[i] === "\n") - return false; - return true; - }; - function resolvePairComment(item, pair) { - if (!valueHasPairComment(item)) - return; - const comment = item.getPropValue(0, PlainValue.Char.COMMENT, true); - let found = false; - const cb = pair.value.commentBefore; - if (cb && cb.startsWith(comment)) { - pair.value.commentBefore = cb.substr(comment.length + 1); - found = true; - } else { - const cc = pair.value.comment; - if (!item.node && cc && cc.startsWith(comment)) { - pair.value.comment = cc.substr(comment.length + 1); - found = true; - } - } - if (found) - pair.comment = comment; - } - function resolveBlockMapItems(doc, cst) { - const comments = []; - const items = []; - let key = void 0; - let keyStart = null; - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - switch (item.type) { - case PlainValue.Type.BLANK_LINE: - comments.push({ - afterKey: !!key, - before: items.length - }); - break; - case PlainValue.Type.COMMENT: - comments.push({ - afterKey: !!key, - before: items.length, - comment: item.comment - }); - break; - case PlainValue.Type.MAP_KEY: - if (key !== void 0) - items.push(new Pair(key)); - if (item.error) - doc.errors.push(item.error); - key = resolveNode(doc, item.node); - keyStart = null; - break; - case PlainValue.Type.MAP_VALUE: - { - if (key === void 0) - key = null; - if (item.error) - doc.errors.push(item.error); - if (!item.context.atLineStart && item.node && item.node.type === PlainValue.Type.MAP && !item.node.context.atLineStart) { - const msg = "Nested mappings are not allowed in compact mappings"; - doc.errors.push(new PlainValue.YAMLSemanticError(item.node, msg)); - } - let valueNode = item.node; - if (!valueNode && item.props.length > 0) { - valueNode = new PlainValue.PlainValue(PlainValue.Type.PLAIN, []); - valueNode.context = { - parent: item, - src: item.context.src - }; - const pos = item.range.start + 1; - valueNode.range = { - start: pos, - end: pos - }; - valueNode.valueRange = { - start: pos, - end: pos - }; - if (typeof item.range.origStart === "number") { - const origPos = item.range.origStart + 1; - valueNode.range.origStart = valueNode.range.origEnd = origPos; - valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos; - } - } - const pair = new Pair(key, resolveNode(doc, valueNode)); - resolvePairComment(item, pair); - items.push(pair); - if (key && typeof keyStart === "number") { - if (item.range.start > keyStart + 1024) - doc.errors.push(getLongKeyError(cst, key)); - } - key = void 0; - keyStart = null; - } - break; - default: - if (key !== void 0) - items.push(new Pair(key)); - key = resolveNode(doc, item); - keyStart = item.range.start; - if (item.error) - doc.errors.push(item.error); - next: - for (let j = i + 1; ; ++j) { - const nextItem = cst.items[j]; - switch (nextItem && nextItem.type) { - case PlainValue.Type.BLANK_LINE: - case PlainValue.Type.COMMENT: - continue next; - case PlainValue.Type.MAP_VALUE: - break next; - default: { - const msg = "Implicit map keys need to be followed by map values"; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - break next; - } - } - } - if (item.valueRangeContainsNewline) { - const msg = "Implicit map keys need to be on a single line"; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - } - } - } - if (key !== void 0) - items.push(new Pair(key)); - return { - comments, - items - }; - } - function resolveFlowMapItems(doc, cst) { - const comments = []; - const items = []; - let key = void 0; - let explicitKey = false; - let next = "{"; - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - if (typeof item.char === "string") { - const { - char, - offset - } = item; - if (char === "?" && key === void 0 && !explicitKey) { - explicitKey = true; - next = ":"; - continue; - } - if (char === ":") { - if (key === void 0) - key = null; - if (next === ":") { - next = ","; - continue; - } - } else { - if (explicitKey) { - if (key === void 0 && char !== ",") - key = null; - explicitKey = false; - } - if (key !== void 0) { - items.push(new Pair(key)); - key = void 0; - if (char === ",") { - next = ":"; - continue; - } - } - } - if (char === "}") { - if (i === cst.items.length - 1) - continue; - } else if (char === next) { - next = ":"; - continue; - } - const msg = `Flow map contains an unexpected ${char}`; - const err = new PlainValue.YAMLSyntaxError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } else if (item.type === PlainValue.Type.BLANK_LINE) { - comments.push({ - afterKey: !!key, - before: items.length - }); - } else if (item.type === PlainValue.Type.COMMENT) { - checkFlowCommentSpace(doc.errors, item); - comments.push({ - afterKey: !!key, - before: items.length, - comment: item.comment - }); - } else if (key === void 0) { - if (next === ",") - doc.errors.push(new PlainValue.YAMLSemanticError(item, "Separator , missing in flow map")); - key = resolveNode(doc, item); - } else { - if (next !== ",") - doc.errors.push(new PlainValue.YAMLSemanticError(item, "Indicator : missing in flow map entry")); - items.push(new Pair(key, resolveNode(doc, item))); - key = void 0; - explicitKey = false; - } - } - checkFlowCollectionEnd(doc.errors, cst); - if (key !== void 0) - items.push(new Pair(key)); - return { - comments, - items - }; - } - function resolveSeq(doc, cst) { - if (cst.type !== PlainValue.Type.SEQ && cst.type !== PlainValue.Type.FLOW_SEQ) { - const msg = `A ${cst.type} node cannot be resolved as a sequence`; - doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg)); - return null; - } - const { - comments, - items - } = cst.type === PlainValue.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst); - const seq = new YAMLSeq(); - seq.items = items; - resolveComments(seq, comments); - if (!doc.options.mapAsMap && items.some((it) => it instanceof Pair && it.key instanceof Collection)) { - const warn = "Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this."; - doc.warnings.push(new PlainValue.YAMLWarning(cst, warn)); - } - cst.resolved = seq; - return seq; - } - function resolveBlockSeqItems(doc, cst) { - const comments = []; - const items = []; - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - switch (item.type) { - case PlainValue.Type.BLANK_LINE: - comments.push({ - before: items.length - }); - break; - case PlainValue.Type.COMMENT: - comments.push({ - comment: item.comment, - before: items.length - }); - break; - case PlainValue.Type.SEQ_ITEM: - if (item.error) - doc.errors.push(item.error); - items.push(resolveNode(doc, item.node)); - if (item.hasProps) { - const msg = "Sequence items cannot have tags or anchors before the - indicator"; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - } - break; - default: - if (item.error) - doc.errors.push(item.error); - doc.errors.push(new PlainValue.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`)); - } - } - return { - comments, - items - }; - } - function resolveFlowSeqItems(doc, cst) { - const comments = []; - const items = []; - let explicitKey = false; - let key = void 0; - let keyStart = null; - let next = "["; - let prevItem = null; - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - if (typeof item.char === "string") { - const { - char, - offset - } = item; - if (char !== ":" && (explicitKey || key !== void 0)) { - if (explicitKey && key === void 0) - key = next ? items.pop() : null; - items.push(new Pair(key)); - explicitKey = false; - key = void 0; - keyStart = null; - } - if (char === next) { - next = null; - } else if (!next && char === "?") { - explicitKey = true; - } else if (next !== "[" && char === ":" && key === void 0) { - if (next === ",") { - key = items.pop(); - if (key instanceof Pair) { - const msg = "Chaining flow sequence pairs is invalid"; - const err = new PlainValue.YAMLSemanticError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } - if (!explicitKey && typeof keyStart === "number") { - const keyEnd = item.range ? item.range.start : item.offset; - if (keyEnd > keyStart + 1024) - doc.errors.push(getLongKeyError(cst, key)); - const { - src - } = prevItem.context; - for (let i2 = keyStart; i2 < keyEnd; ++i2) - if (src[i2] === "\n") { - const msg = "Implicit keys of flow sequence pairs need to be on a single line"; - doc.errors.push(new PlainValue.YAMLSemanticError(prevItem, msg)); - break; - } - } - } else { - key = null; - } - keyStart = null; - explicitKey = false; - next = null; - } else if (next === "[" || char !== "]" || i < cst.items.length - 1) { - const msg = `Flow sequence contains an unexpected ${char}`; - const err = new PlainValue.YAMLSyntaxError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } - } else if (item.type === PlainValue.Type.BLANK_LINE) { - comments.push({ - before: items.length - }); - } else if (item.type === PlainValue.Type.COMMENT) { - checkFlowCommentSpace(doc.errors, item); - comments.push({ - comment: item.comment, - before: items.length - }); - } else { - if (next) { - const msg = `Expected a ${next} in flow sequence`; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - } - const value = resolveNode(doc, item); - if (key === void 0) { - items.push(value); - prevItem = item; - } else { - items.push(new Pair(key, value)); - key = void 0; - } - keyStart = item.range.start; - next = ","; - } - } - checkFlowCollectionEnd(doc.errors, cst); - if (key !== void 0) - items.push(new Pair(key)); - return { - comments, - items - }; - } - exports2.Alias = Alias; - exports2.Collection = Collection; - exports2.Merge = Merge; - exports2.Node = Node; - exports2.Pair = Pair; - exports2.Scalar = Scalar; - exports2.YAMLMap = YAMLMap; - exports2.YAMLSeq = YAMLSeq; - exports2.addComment = addComment; - exports2.binaryOptions = binaryOptions; - exports2.boolOptions = boolOptions; - exports2.findPair = findPair; - exports2.intOptions = intOptions; - exports2.isEmptyPath = isEmptyPath; - exports2.nullOptions = nullOptions; - exports2.resolveMap = resolveMap; - exports2.resolveNode = resolveNode; - exports2.resolveSeq = resolveSeq; - exports2.resolveString = resolveString; - exports2.strOptions = strOptions; - exports2.stringifyNumber = stringifyNumber; - exports2.stringifyString = stringifyString; - exports2.toJSON = toJSON; - } -}); -var require_warnings_1000a372 = __commonJS({ - "node_modules/yaml/dist/warnings-1000a372.js"(exports2) { - "use strict"; - var PlainValue = require_PlainValue_ec8e588e(); - var resolveSeq = require_resolveSeq_d03cb037(); - var binary = { - identify: (value) => value instanceof Uint8Array, - default: false, - tag: "tag:yaml.org,2002:binary", - resolve: (doc, node) => { - const src = resolveSeq.resolveString(doc, node); - if (typeof Buffer === "function") { - return Buffer.from(src, "base64"); - } else if (typeof atob === "function") { - const str = atob(src.replace(/[\n\r]/g, "")); - const buffer = new Uint8Array(str.length); - for (let i = 0; i < str.length; ++i) - buffer[i] = str.charCodeAt(i); - return buffer; - } else { - const msg = "This environment does not support reading binary tags; either Buffer or atob is required"; - doc.errors.push(new PlainValue.YAMLReferenceError(node, msg)); - return null; - } - }, - options: resolveSeq.binaryOptions, - stringify: ({ - comment, - type, - value - }, ctx, onComment, onChompKeep) => { - let src; - if (typeof Buffer === "function") { - src = value instanceof Buffer ? value.toString("base64") : Buffer.from(value.buffer).toString("base64"); - } else if (typeof btoa === "function") { - let s = ""; - for (let i = 0; i < value.length; ++i) - s += String.fromCharCode(value[i]); - src = btoa(s); - } else { - throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required"); - } - if (!type) - type = resolveSeq.binaryOptions.defaultType; - if (type === PlainValue.Type.QUOTE_DOUBLE) { - value = src; - } else { - const { - lineWidth - } = resolveSeq.binaryOptions; - const n = Math.ceil(src.length / lineWidth); - const lines = new Array(n); - for (let i = 0, o = 0; i < n; ++i, o += lineWidth) { - lines[i] = src.substr(o, lineWidth); - } - value = lines.join(type === PlainValue.Type.BLOCK_LITERAL ? "\n" : " "); - } - return resolveSeq.stringifyString({ - comment, - type, - value - }, ctx, onComment, onChompKeep); - } - }; - function parsePairs(doc, cst) { - const seq = resolveSeq.resolveSeq(doc, cst); - for (let i = 0; i < seq.items.length; ++i) { - let item = seq.items[i]; - if (item instanceof resolveSeq.Pair) - continue; - else if (item instanceof resolveSeq.YAMLMap) { - if (item.items.length > 1) { - const msg = "Each pair must have its own sequence indicator"; - throw new PlainValue.YAMLSemanticError(cst, msg); - } - const pair = item.items[0] || new resolveSeq.Pair(); - if (item.commentBefore) - pair.commentBefore = pair.commentBefore ? `${item.commentBefore} -${pair.commentBefore}` : item.commentBefore; - if (item.comment) - pair.comment = pair.comment ? `${item.comment} -${pair.comment}` : item.comment; - item = pair; - } - seq.items[i] = item instanceof resolveSeq.Pair ? item : new resolveSeq.Pair(item); - } - return seq; - } - function createPairs(schema, iterable, ctx) { - const pairs2 = new resolveSeq.YAMLSeq(schema); - pairs2.tag = "tag:yaml.org,2002:pairs"; - for (const it of iterable) { - let key, value; - if (Array.isArray(it)) { - if (it.length === 2) { - key = it[0]; - value = it[1]; - } else - throw new TypeError(`Expected [key, value] tuple: ${it}`); - } else if (it && it instanceof Object) { - const keys = Object.keys(it); - if (keys.length === 1) { - key = keys[0]; - value = it[key]; - } else - throw new TypeError(`Expected { key: value } tuple: ${it}`); - } else { - key = it; - } - const pair = schema.createPair(key, value, ctx); - pairs2.items.push(pair); - } - return pairs2; - } - var pairs = { - default: false, - tag: "tag:yaml.org,2002:pairs", - resolve: parsePairs, - createNode: createPairs - }; - var YAMLOMap = class extends resolveSeq.YAMLSeq { - constructor() { - super(); - PlainValue._defineProperty(this, "add", resolveSeq.YAMLMap.prototype.add.bind(this)); - PlainValue._defineProperty(this, "delete", resolveSeq.YAMLMap.prototype.delete.bind(this)); - PlainValue._defineProperty(this, "get", resolveSeq.YAMLMap.prototype.get.bind(this)); - PlainValue._defineProperty(this, "has", resolveSeq.YAMLMap.prototype.has.bind(this)); - PlainValue._defineProperty(this, "set", resolveSeq.YAMLMap.prototype.set.bind(this)); - this.tag = YAMLOMap.tag; - } - toJSON(_, ctx) { - const map = /* @__PURE__ */ new Map(); - if (ctx && ctx.onCreate) - ctx.onCreate(map); - for (const pair of this.items) { - let key, value; - if (pair instanceof resolveSeq.Pair) { - key = resolveSeq.toJSON(pair.key, "", ctx); - value = resolveSeq.toJSON(pair.value, key, ctx); - } else { - key = resolveSeq.toJSON(pair, "", ctx); - } - if (map.has(key)) - throw new Error("Ordered maps must not include duplicate keys"); - map.set(key, value); - } - return map; - } - }; - PlainValue._defineProperty(YAMLOMap, "tag", "tag:yaml.org,2002:omap"); - function parseOMap(doc, cst) { - const pairs2 = parsePairs(doc, cst); - const seenKeys = []; - for (const { - key - } of pairs2.items) { - if (key instanceof resolveSeq.Scalar) { - if (seenKeys.includes(key.value)) { - const msg = "Ordered maps must not include duplicate keys"; - throw new PlainValue.YAMLSemanticError(cst, msg); - } else { - seenKeys.push(key.value); - } - } - } - return Object.assign(new YAMLOMap(), pairs2); - } - function createOMap(schema, iterable, ctx) { - const pairs2 = createPairs(schema, iterable, ctx); - const omap2 = new YAMLOMap(); - omap2.items = pairs2.items; - return omap2; - } - var omap = { - identify: (value) => value instanceof Map, - nodeClass: YAMLOMap, - default: false, - tag: "tag:yaml.org,2002:omap", - resolve: parseOMap, - createNode: createOMap - }; - var YAMLSet = class extends resolveSeq.YAMLMap { - constructor() { - super(); - this.tag = YAMLSet.tag; - } - add(key) { - const pair = key instanceof resolveSeq.Pair ? key : new resolveSeq.Pair(key); - const prev = resolveSeq.findPair(this.items, pair.key); - if (!prev) - this.items.push(pair); - } - get(key, keepPair) { - const pair = resolveSeq.findPair(this.items, key); - return !keepPair && pair instanceof resolveSeq.Pair ? pair.key instanceof resolveSeq.Scalar ? pair.key.value : pair.key : pair; - } - set(key, value) { - if (typeof value !== "boolean") - throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`); - const prev = resolveSeq.findPair(this.items, key); - if (prev && !value) { - this.items.splice(this.items.indexOf(prev), 1); - } else if (!prev && value) { - this.items.push(new resolveSeq.Pair(key)); - } - } - toJSON(_, ctx) { - return super.toJSON(_, ctx, Set); - } - toString(ctx, onComment, onChompKeep) { - if (!ctx) - return JSON.stringify(this); - if (this.hasAllNullValues()) - return super.toString(ctx, onComment, onChompKeep); - else - throw new Error("Set items must all have null values"); - } - }; - PlainValue._defineProperty(YAMLSet, "tag", "tag:yaml.org,2002:set"); - function parseSet(doc, cst) { - const map = resolveSeq.resolveMap(doc, cst); - if (!map.hasAllNullValues()) - throw new PlainValue.YAMLSemanticError(cst, "Set items must all have null values"); - return Object.assign(new YAMLSet(), map); - } - function createSet(schema, iterable, ctx) { - const set2 = new YAMLSet(); - for (const value of iterable) - set2.items.push(schema.createPair(value, null, ctx)); - return set2; - } - var set = { - identify: (value) => value instanceof Set, - nodeClass: YAMLSet, - default: false, - tag: "tag:yaml.org,2002:set", - resolve: parseSet, - createNode: createSet - }; - var parseSexagesimal = (sign, parts) => { - const n = parts.split(":").reduce((n2, p) => n2 * 60 + Number(p), 0); - return sign === "-" ? -n : n; - }; - var stringifySexagesimal = ({ - value - }) => { - if (isNaN(value) || !isFinite(value)) - return resolveSeq.stringifyNumber(value); - let sign = ""; - if (value < 0) { - sign = "-"; - value = Math.abs(value); - } - const parts = [value % 60]; - if (value < 60) { - parts.unshift(0); - } else { - value = Math.round((value - parts[0]) / 60); - parts.unshift(value % 60); - if (value >= 60) { - value = Math.round((value - parts[0]) / 60); - parts.unshift(value); - } - } - return sign + parts.map((n) => n < 10 ? "0" + String(n) : String(n)).join(":").replace(/000000\d*$/, ""); - }; - var intTime = { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:int", - format: "TIME", - test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/, - resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, "")), - stringify: stringifySexagesimal - }; - var floatTime = { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - format: "TIME", - test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/, - resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, "")), - stringify: stringifySexagesimal - }; - var timestamp = { - identify: (value) => value instanceof Date, - default: true, - tag: "tag:yaml.org,2002:timestamp", - test: RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"), - resolve: (str, year, month, day, hour, minute, second, millisec, tz) => { - if (millisec) - millisec = (millisec + "00").substr(1, 3); - let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0); - if (tz && tz !== "Z") { - let d = parseSexagesimal(tz[0], tz.slice(1)); - if (Math.abs(d) < 30) - d *= 60; - date -= 6e4 * d; - } - return new Date(date); - }, - stringify: ({ - value - }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, "") - }; - function shouldWarn(deprecation) { - const env = typeof process !== "undefined" && process.env || {}; - if (deprecation) { - if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== "undefined") - return !YAML_SILENCE_DEPRECATION_WARNINGS; - return !env.YAML_SILENCE_DEPRECATION_WARNINGS; - } - if (typeof YAML_SILENCE_WARNINGS !== "undefined") - return !YAML_SILENCE_WARNINGS; - return !env.YAML_SILENCE_WARNINGS; - } - function warn(warning, type) { - if (shouldWarn(false)) { - const emit = typeof process !== "undefined" && process.emitWarning; - if (emit) - emit(warning, type); - else { - console.warn(type ? `${type}: ${warning}` : warning); - } - } - } - function warnFileDeprecation(filename) { - if (shouldWarn(true)) { - const path = filename.replace(/.*yaml[/\\]/i, "").replace(/\.js$/, "").replace(/\\/g, "/"); - warn(`The endpoint 'yaml/${path}' will be removed in a future release.`, "DeprecationWarning"); - } - } - var warned = {}; - function warnOptionDeprecation(name, alternative) { - if (!warned[name] && shouldWarn(true)) { - warned[name] = true; - let msg = `The option '${name}' will be removed in a future release`; - msg += alternative ? `, use '${alternative}' instead.` : "."; - warn(msg, "DeprecationWarning"); - } - } - exports2.binary = binary; - exports2.floatTime = floatTime; - exports2.intTime = intTime; - exports2.omap = omap; - exports2.pairs = pairs; - exports2.set = set; - exports2.timestamp = timestamp; - exports2.warn = warn; - exports2.warnFileDeprecation = warnFileDeprecation; - exports2.warnOptionDeprecation = warnOptionDeprecation; - } -}); -var require_Schema_88e323a7 = __commonJS({ - "node_modules/yaml/dist/Schema-88e323a7.js"(exports2) { - "use strict"; - var PlainValue = require_PlainValue_ec8e588e(); - var resolveSeq = require_resolveSeq_d03cb037(); - var warnings = require_warnings_1000a372(); - function createMap(schema, obj, ctx) { - const map2 = new resolveSeq.YAMLMap(schema); - if (obj instanceof Map) { - for (const [key, value] of obj) - map2.items.push(schema.createPair(key, value, ctx)); - } else if (obj && typeof obj === "object") { - for (const key of Object.keys(obj)) - map2.items.push(schema.createPair(key, obj[key], ctx)); - } - if (typeof schema.sortMapEntries === "function") { - map2.items.sort(schema.sortMapEntries); - } - return map2; - } - var map = { - createNode: createMap, - default: true, - nodeClass: resolveSeq.YAMLMap, - tag: "tag:yaml.org,2002:map", - resolve: resolveSeq.resolveMap - }; - function createSeq(schema, obj, ctx) { - const seq2 = new resolveSeq.YAMLSeq(schema); - if (obj && obj[Symbol.iterator]) { - for (const it of obj) { - const v = schema.createNode(it, ctx.wrapScalars, null, ctx); - seq2.items.push(v); - } - } - return seq2; - } - var seq = { - createNode: createSeq, - default: true, - nodeClass: resolveSeq.YAMLSeq, - tag: "tag:yaml.org,2002:seq", - resolve: resolveSeq.resolveSeq - }; - var string = { - identify: (value) => typeof value === "string", - default: true, - tag: "tag:yaml.org,2002:str", - resolve: resolveSeq.resolveString, - stringify(item, ctx, onComment, onChompKeep) { - ctx = Object.assign({ - actualString: true - }, ctx); - return resolveSeq.stringifyString(item, ctx, onComment, onChompKeep); - }, - options: resolveSeq.strOptions - }; - var failsafe = [map, seq, string]; - var intIdentify$2 = (value) => typeof value === "bigint" || Number.isInteger(value); - var intResolve$1 = (src, part, radix) => resolveSeq.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix); - function intStringify$1(node, radix, prefix) { - const { - value - } = node; - if (intIdentify$2(value) && value >= 0) - return prefix + value.toString(radix); - return resolveSeq.stringifyNumber(node); - } - var nullObj = { - identify: (value) => value == null, - createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, - default: true, - tag: "tag:yaml.org,2002:null", - test: /^(?:~|[Nn]ull|NULL)?$/, - resolve: () => null, - options: resolveSeq.nullOptions, - stringify: () => resolveSeq.nullOptions.nullStr - }; - var boolObj = { - identify: (value) => typeof value === "boolean", - default: true, - tag: "tag:yaml.org,2002:bool", - test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/, - resolve: (str) => str[0] === "t" || str[0] === "T", - options: resolveSeq.boolOptions, - stringify: ({ - value - }) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr - }; - var octObj = { - identify: (value) => intIdentify$2(value) && value >= 0, - default: true, - tag: "tag:yaml.org,2002:int", - format: "OCT", - test: /^0o([0-7]+)$/, - resolve: (str, oct) => intResolve$1(str, oct, 8), - options: resolveSeq.intOptions, - stringify: (node) => intStringify$1(node, 8, "0o") - }; - var intObj = { - identify: intIdentify$2, - default: true, - tag: "tag:yaml.org,2002:int", - test: /^[-+]?[0-9]+$/, - resolve: (str) => intResolve$1(str, str, 10), - options: resolveSeq.intOptions, - stringify: resolveSeq.stringifyNumber - }; - var hexObj = { - identify: (value) => intIdentify$2(value) && value >= 0, - default: true, - tag: "tag:yaml.org,2002:int", - format: "HEX", - test: /^0x([0-9a-fA-F]+)$/, - resolve: (str, hex) => intResolve$1(str, hex, 16), - options: resolveSeq.intOptions, - stringify: (node) => intStringify$1(node, 16, "0x") - }; - var nanObj = { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - test: /^(?:[-+]?\.inf|(\.nan))$/i, - resolve: (str, nan) => nan ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY, - stringify: resolveSeq.stringifyNumber - }; - var expObj = { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - format: "EXP", - test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/, - resolve: (str) => parseFloat(str), - stringify: ({ - value - }) => Number(value).toExponential() - }; - var floatObj = { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - test: /^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/, - resolve(str, frac1, frac2) { - const frac = frac1 || frac2; - const node = new resolveSeq.Scalar(parseFloat(str)); - if (frac && frac[frac.length - 1] === "0") - node.minFractionDigits = frac.length; - return node; - }, - stringify: resolveSeq.stringifyNumber - }; - var core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]); - var intIdentify$1 = (value) => typeof value === "bigint" || Number.isInteger(value); - var stringifyJSON = ({ - value - }) => JSON.stringify(value); - var json = [map, seq, { - identify: (value) => typeof value === "string", - default: true, - tag: "tag:yaml.org,2002:str", - resolve: resolveSeq.resolveString, - stringify: stringifyJSON - }, { - identify: (value) => value == null, - createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, - default: true, - tag: "tag:yaml.org,2002:null", - test: /^null$/, - resolve: () => null, - stringify: stringifyJSON - }, { - identify: (value) => typeof value === "boolean", - default: true, - tag: "tag:yaml.org,2002:bool", - test: /^true|false$/, - resolve: (str) => str === "true", - stringify: stringifyJSON - }, { - identify: intIdentify$1, - default: true, - tag: "tag:yaml.org,2002:int", - test: /^-?(?:0|[1-9][0-9]*)$/, - resolve: (str) => resolveSeq.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10), - stringify: ({ - value - }) => intIdentify$1(value) ? value.toString() : JSON.stringify(value) - }, { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/, - resolve: (str) => parseFloat(str), - stringify: stringifyJSON - }]; - json.scalarFallback = (str) => { - throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(str)}`); - }; - var boolStringify = ({ - value - }) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr; - var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value); - function intResolve(sign, src, radix) { - let str = src.replace(/_/g, ""); - if (resolveSeq.intOptions.asBigInt) { - switch (radix) { - case 2: - str = `0b${str}`; - break; - case 8: - str = `0o${str}`; - break; - case 16: - str = `0x${str}`; - break; - } - const n2 = BigInt(str); - return sign === "-" ? BigInt(-1) * n2 : n2; - } - const n = parseInt(str, radix); - return sign === "-" ? -1 * n : n; - } - function intStringify(node, radix, prefix) { - const { - value - } = node; - if (intIdentify(value)) { - const str = value.toString(radix); - return value < 0 ? "-" + prefix + str.substr(1) : prefix + str; - } - return resolveSeq.stringifyNumber(node); - } - var yaml11 = failsafe.concat([{ - identify: (value) => value == null, - createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, - default: true, - tag: "tag:yaml.org,2002:null", - test: /^(?:~|[Nn]ull|NULL)?$/, - resolve: () => null, - options: resolveSeq.nullOptions, - stringify: () => resolveSeq.nullOptions.nullStr - }, { - identify: (value) => typeof value === "boolean", - default: true, - tag: "tag:yaml.org,2002:bool", - test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/, - resolve: () => true, - options: resolveSeq.boolOptions, - stringify: boolStringify - }, { - identify: (value) => typeof value === "boolean", - default: true, - tag: "tag:yaml.org,2002:bool", - test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i, - resolve: () => false, - options: resolveSeq.boolOptions, - stringify: boolStringify - }, { - identify: intIdentify, - default: true, - tag: "tag:yaml.org,2002:int", - format: "BIN", - test: /^([-+]?)0b([0-1_]+)$/, - resolve: (str, sign, bin) => intResolve(sign, bin, 2), - stringify: (node) => intStringify(node, 2, "0b") - }, { - identify: intIdentify, - default: true, - tag: "tag:yaml.org,2002:int", - format: "OCT", - test: /^([-+]?)0([0-7_]+)$/, - resolve: (str, sign, oct) => intResolve(sign, oct, 8), - stringify: (node) => intStringify(node, 8, "0") - }, { - identify: intIdentify, - default: true, - tag: "tag:yaml.org,2002:int", - test: /^([-+]?)([0-9][0-9_]*)$/, - resolve: (str, sign, abs) => intResolve(sign, abs, 10), - stringify: resolveSeq.stringifyNumber - }, { - identify: intIdentify, - default: true, - tag: "tag:yaml.org,2002:int", - format: "HEX", - test: /^([-+]?)0x([0-9a-fA-F_]+)$/, - resolve: (str, sign, hex) => intResolve(sign, hex, 16), - stringify: (node) => intStringify(node, 16, "0x") - }, { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - test: /^(?:[-+]?\.inf|(\.nan))$/i, - resolve: (str, nan) => nan ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY, - stringify: resolveSeq.stringifyNumber - }, { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - format: "EXP", - test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/, - resolve: (str) => parseFloat(str.replace(/_/g, "")), - stringify: ({ - value - }) => Number(value).toExponential() - }, { - identify: (value) => typeof value === "number", - default: true, - tag: "tag:yaml.org,2002:float", - test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/, - resolve(str, frac) { - const node = new resolveSeq.Scalar(parseFloat(str.replace(/_/g, ""))); - if (frac) { - const f = frac.replace(/_/g, ""); - if (f[f.length - 1] === "0") - node.minFractionDigits = f.length; - } - return node; - }, - stringify: resolveSeq.stringifyNumber - }], warnings.binary, warnings.omap, warnings.pairs, warnings.set, warnings.intTime, warnings.floatTime, warnings.timestamp); - var schemas = { - core, - failsafe, - json, - yaml11 - }; - var tags = { - binary: warnings.binary, - bool: boolObj, - float: floatObj, - floatExp: expObj, - floatNaN: nanObj, - floatTime: warnings.floatTime, - int: intObj, - intHex: hexObj, - intOct: octObj, - intTime: warnings.intTime, - map, - null: nullObj, - omap: warnings.omap, - pairs: warnings.pairs, - seq, - set: warnings.set, - timestamp: warnings.timestamp - }; - function findTagObject(value, tagName, tags2) { - if (tagName) { - const match = tags2.filter((t) => t.tag === tagName); - const tagObj = match.find((t) => !t.format) || match[0]; - if (!tagObj) - throw new Error(`Tag ${tagName} not found`); - return tagObj; - } - return tags2.find((t) => (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format); - } - function createNode(value, tagName, ctx) { - if (value instanceof resolveSeq.Node) - return value; - const { - defaultPrefix, - onTagObj, - prevObjects, - schema, - wrapScalars - } = ctx; - if (tagName && tagName.startsWith("!!")) - tagName = defaultPrefix + tagName.slice(2); - let tagObj = findTagObject(value, tagName, schema.tags); - if (!tagObj) { - if (typeof value.toJSON === "function") - value = value.toJSON(); - if (!value || typeof value !== "object") - return wrapScalars ? new resolveSeq.Scalar(value) : value; - tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map; - } - if (onTagObj) { - onTagObj(tagObj); - delete ctx.onTagObj; - } - const obj = { - value: void 0, - node: void 0 - }; - if (value && typeof value === "object" && prevObjects) { - const prev = prevObjects.get(value); - if (prev) { - const alias = new resolveSeq.Alias(prev); - ctx.aliasNodes.push(alias); - return alias; - } - obj.value = value; - prevObjects.set(value, obj); - } - obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq.Scalar(value) : value; - if (tagName && obj.node instanceof resolveSeq.Node) - obj.node.tag = tagName; - return obj.node; - } - function getSchemaTags(schemas2, knownTags, customTags, schemaId) { - let tags2 = schemas2[schemaId.replace(/\W/g, "")]; - if (!tags2) { - const keys = Object.keys(schemas2).map((key) => JSON.stringify(key)).join(", "); - throw new Error(`Unknown schema "${schemaId}"; use one of ${keys}`); - } - if (Array.isArray(customTags)) { - for (const tag of customTags) - tags2 = tags2.concat(tag); - } else if (typeof customTags === "function") { - tags2 = customTags(tags2.slice()); - } - for (let i = 0; i < tags2.length; ++i) { - const tag = tags2[i]; - if (typeof tag === "string") { - const tagObj = knownTags[tag]; - if (!tagObj) { - const keys = Object.keys(knownTags).map((key) => JSON.stringify(key)).join(", "); - throw new Error(`Unknown custom tag "${tag}"; use one of ${keys}`); - } - tags2[i] = tagObj; - } - } - return tags2; - } - var sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0; - var Schema = class { - constructor({ - customTags, - merge, - schema, - sortMapEntries, - tags: deprecatedCustomTags - }) { - this.merge = !!merge; - this.name = schema; - this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null; - if (!customTags && deprecatedCustomTags) - warnings.warnOptionDeprecation("tags", "customTags"); - this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema); - } - createNode(value, wrapScalars, tagName, ctx) { - const baseCtx = { - defaultPrefix: Schema.defaultPrefix, - schema: this, - wrapScalars - }; - const createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx; - return createNode(value, tagName, createCtx); - } - createPair(key, value, ctx) { - if (!ctx) - ctx = { - wrapScalars: true - }; - const k = this.createNode(key, ctx.wrapScalars, null, ctx); - const v = this.createNode(value, ctx.wrapScalars, null, ctx); - return new resolveSeq.Pair(k, v); - } - }; - PlainValue._defineProperty(Schema, "defaultPrefix", PlainValue.defaultTagPrefix); - PlainValue._defineProperty(Schema, "defaultTags", PlainValue.defaultTags); - exports2.Schema = Schema; - } -}); -var require_Document_9b4560a1 = __commonJS({ - "node_modules/yaml/dist/Document-9b4560a1.js"(exports2) { - "use strict"; - var PlainValue = require_PlainValue_ec8e588e(); - var resolveSeq = require_resolveSeq_d03cb037(); - var Schema = require_Schema_88e323a7(); - var defaultOptions = { - anchorPrefix: "a", - customTags: null, - indent: 2, - indentSeq: true, - keepCstNodes: false, - keepNodeTypes: true, - keepBlobsInJSON: true, - mapAsMap: false, - maxAliasCount: 100, - prettyErrors: false, - simpleKeys: false, - version: "1.2" - }; - var scalarOptions = { - get binary() { - return resolveSeq.binaryOptions; - }, - set binary(opt) { - Object.assign(resolveSeq.binaryOptions, opt); - }, - get bool() { - return resolveSeq.boolOptions; - }, - set bool(opt) { - Object.assign(resolveSeq.boolOptions, opt); - }, - get int() { - return resolveSeq.intOptions; - }, - set int(opt) { - Object.assign(resolveSeq.intOptions, opt); - }, - get null() { - return resolveSeq.nullOptions; - }, - set null(opt) { - Object.assign(resolveSeq.nullOptions, opt); - }, - get str() { - return resolveSeq.strOptions; - }, - set str(opt) { - Object.assign(resolveSeq.strOptions, opt); - } - }; - var documentOptions = { - "1.0": { - schema: "yaml-1.1", - merge: true, - tagPrefixes: [{ - handle: "!", - prefix: PlainValue.defaultTagPrefix - }, { - handle: "!!", - prefix: "tag:private.yaml.org,2002:" - }] - }, - 1.1: { - schema: "yaml-1.1", - merge: true, - tagPrefixes: [{ - handle: "!", - prefix: "!" - }, { - handle: "!!", - prefix: PlainValue.defaultTagPrefix - }] - }, - 1.2: { - schema: "core", - merge: false, - tagPrefixes: [{ - handle: "!", - prefix: "!" - }, { - handle: "!!", - prefix: PlainValue.defaultTagPrefix - }] - } - }; - function stringifyTag(doc, tag) { - if ((doc.version || doc.options.version) === "1.0") { - const priv = tag.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/); - if (priv) - return "!" + priv[1]; - const vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/); - return vocab ? `!${vocab[1]}/${vocab[2]}` : `!${tag.replace(/^tag:/, "")}`; - } - let p = doc.tagPrefixes.find((p2) => tag.indexOf(p2.prefix) === 0); - if (!p) { - const dtp = doc.getDefaults().tagPrefixes; - p = dtp && dtp.find((p2) => tag.indexOf(p2.prefix) === 0); - } - if (!p) - return tag[0] === "!" ? tag : `!<${tag}>`; - const suffix = tag.substr(p.prefix.length).replace(/[!,[\]{}]/g, (ch) => ({ - "!": "%21", - ",": "%2C", - "[": "%5B", - "]": "%5D", - "{": "%7B", - "}": "%7D" - })[ch]); - return p.handle + suffix; - } - function getTagObject(tags, item) { - if (item instanceof resolveSeq.Alias) - return resolveSeq.Alias; - if (item.tag) { - const match = tags.filter((t) => t.tag === item.tag); - if (match.length > 0) - return match.find((t) => t.format === item.format) || match[0]; - } - let tagObj, obj; - if (item instanceof resolveSeq.Scalar) { - obj = item.value; - const match = tags.filter((t) => t.identify && t.identify(obj) || t.class && obj instanceof t.class); - tagObj = match.find((t) => t.format === item.format) || match.find((t) => !t.format); - } else { - obj = item; - tagObj = tags.find((t) => t.nodeClass && obj instanceof t.nodeClass); - } - if (!tagObj) { - const name = obj && obj.constructor ? obj.constructor.name : typeof obj; - throw new Error(`Tag not resolved for ${name} value`); - } - return tagObj; - } - function stringifyProps(node, tagObj, { - anchors, - doc - }) { - const props = []; - const anchor = doc.anchors.getName(node); - if (anchor) { - anchors[anchor] = node; - props.push(`&${anchor}`); - } - if (node.tag) { - props.push(stringifyTag(doc, node.tag)); - } else if (!tagObj.default) { - props.push(stringifyTag(doc, tagObj.tag)); - } - return props.join(" "); - } - function stringify(item, ctx, onComment, onChompKeep) { - const { - anchors, - schema - } = ctx.doc; - let tagObj; - if (!(item instanceof resolveSeq.Node)) { - const createCtx = { - aliasNodes: [], - onTagObj: (o) => tagObj = o, - prevObjects: /* @__PURE__ */ new Map() - }; - item = schema.createNode(item, true, null, createCtx); - for (const alias of createCtx.aliasNodes) { - alias.source = alias.source.node; - let name = anchors.getName(alias.source); - if (!name) { - name = anchors.newName(); - anchors.map[name] = alias.source; - } - } - } - if (item instanceof resolveSeq.Pair) - return item.toString(ctx, onComment, onChompKeep); - if (!tagObj) - tagObj = getTagObject(schema.tags, item); - const props = stringifyProps(item, tagObj, ctx); - if (props.length > 0) - ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1; - const str = typeof tagObj.stringify === "function" ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq.Scalar ? resolveSeq.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep); - if (!props) - return str; - return item instanceof resolveSeq.Scalar || str[0] === "{" || str[0] === "[" ? `${props} ${str}` : `${props} -${ctx.indent}${str}`; - } - var Anchors = class { - static validAnchorNode(node) { - return node instanceof resolveSeq.Scalar || node instanceof resolveSeq.YAMLSeq || node instanceof resolveSeq.YAMLMap; - } - constructor(prefix) { - PlainValue._defineProperty(this, "map", /* @__PURE__ */ Object.create(null)); - this.prefix = prefix; - } - createAlias(node, name) { - this.setAnchor(node, name); - return new resolveSeq.Alias(node); - } - createMergePair(...sources) { - const merge = new resolveSeq.Merge(); - merge.value.items = sources.map((s) => { - if (s instanceof resolveSeq.Alias) { - if (s.source instanceof resolveSeq.YAMLMap) - return s; - } else if (s instanceof resolveSeq.YAMLMap) { - return this.createAlias(s); - } - throw new Error("Merge sources must be Map nodes or their Aliases"); - }); - return merge; - } - getName(node) { - const { - map - } = this; - return Object.keys(map).find((a) => map[a] === node); - } - getNames() { - return Object.keys(this.map); - } - getNode(name) { - return this.map[name]; - } - newName(prefix) { - if (!prefix) - prefix = this.prefix; - const names = Object.keys(this.map); - for (let i = 1; true; ++i) { - const name = `${prefix}${i}`; - if (!names.includes(name)) - return name; - } - } - resolveNodes() { - const { - map, - _cstAliases - } = this; - Object.keys(map).forEach((a) => { - map[a] = map[a].resolved; - }); - _cstAliases.forEach((a) => { - a.source = a.source.resolved; - }); - delete this._cstAliases; - } - setAnchor(node, name) { - if (node != null && !Anchors.validAnchorNode(node)) { - throw new Error("Anchors may only be set for Scalar, Seq and Map nodes"); - } - if (name && /[\x00-\x19\s,[\]{}]/.test(name)) { - throw new Error("Anchor names must not contain whitespace or control characters"); - } - const { - map - } = this; - const prev = node && Object.keys(map).find((a) => map[a] === node); - if (prev) { - if (!name) { - return prev; - } else if (prev !== name) { - delete map[prev]; - map[name] = node; - } - } else { - if (!name) { - if (!node) - return null; - name = this.newName(); - } - map[name] = node; - } - return name; - } - }; - var visit = (node, tags) => { - if (node && typeof node === "object") { - const { - tag - } = node; - if (node instanceof resolveSeq.Collection) { - if (tag) - tags[tag] = true; - node.items.forEach((n) => visit(n, tags)); - } else if (node instanceof resolveSeq.Pair) { - visit(node.key, tags); - visit(node.value, tags); - } else if (node instanceof resolveSeq.Scalar) { - if (tag) - tags[tag] = true; - } - } - return tags; - }; - var listTagNames = (node) => Object.keys(visit(node, {})); - function parseContents(doc, contents) { - const comments = { - before: [], - after: [] - }; - let body = void 0; - let spaceBefore = false; - for (const node of contents) { - if (node.valueRange) { - if (body !== void 0) { - const msg = "Document contains trailing content not separated by a ... or --- line"; - doc.errors.push(new PlainValue.YAMLSyntaxError(node, msg)); - break; - } - const res = resolveSeq.resolveNode(doc, node); - if (spaceBefore) { - res.spaceBefore = true; - spaceBefore = false; - } - body = res; - } else if (node.comment !== null) { - const cc = body === void 0 ? comments.before : comments.after; - cc.push(node.comment); - } else if (node.type === PlainValue.Type.BLANK_LINE) { - spaceBefore = true; - if (body === void 0 && comments.before.length > 0 && !doc.commentBefore) { - doc.commentBefore = comments.before.join("\n"); - comments.before = []; - } - } - } - doc.contents = body || null; - if (!body) { - doc.comment = comments.before.concat(comments.after).join("\n") || null; - } else { - const cb = comments.before.join("\n"); - if (cb) { - const cbNode = body instanceof resolveSeq.Collection && body.items[0] ? body.items[0] : body; - cbNode.commentBefore = cbNode.commentBefore ? `${cb} -${cbNode.commentBefore}` : cb; - } - doc.comment = comments.after.join("\n") || null; - } - } - function resolveTagDirective({ - tagPrefixes - }, directive) { - const [handle, prefix] = directive.parameters; - if (!handle || !prefix) { - const msg = "Insufficient parameters given for %TAG directive"; - throw new PlainValue.YAMLSemanticError(directive, msg); - } - if (tagPrefixes.some((p) => p.handle === handle)) { - const msg = "The %TAG directive must only be given at most once per handle in the same document."; - throw new PlainValue.YAMLSemanticError(directive, msg); - } - return { - handle, - prefix - }; - } - function resolveYamlDirective(doc, directive) { - let [version] = directive.parameters; - if (directive.name === "YAML:1.0") - version = "1.0"; - if (!version) { - const msg = "Insufficient parameters given for %YAML directive"; - throw new PlainValue.YAMLSemanticError(directive, msg); - } - if (!documentOptions[version]) { - const v0 = doc.version || doc.options.version; - const msg = `Document will be parsed as YAML ${v0} rather than YAML ${version}`; - doc.warnings.push(new PlainValue.YAMLWarning(directive, msg)); - } - return version; - } - function parseDirectives(doc, directives, prevDoc) { - const directiveComments = []; - let hasDirectives = false; - for (const directive of directives) { - const { - comment, - name - } = directive; - switch (name) { - case "TAG": - try { - doc.tagPrefixes.push(resolveTagDirective(doc, directive)); - } catch (error) { - doc.errors.push(error); - } - hasDirectives = true; - break; - case "YAML": - case "YAML:1.0": - if (doc.version) { - const msg = "The %YAML directive must only be given at most once per document."; - doc.errors.push(new PlainValue.YAMLSemanticError(directive, msg)); - } - try { - doc.version = resolveYamlDirective(doc, directive); - } catch (error) { - doc.errors.push(error); - } - hasDirectives = true; - break; - default: - if (name) { - const msg = `YAML only supports %TAG and %YAML directives, and not %${name}`; - doc.warnings.push(new PlainValue.YAMLWarning(directive, msg)); - } - } - if (comment) - directiveComments.push(comment); - } - if (prevDoc && !hasDirectives && "1.1" === (doc.version || prevDoc.version || doc.options.version)) { - const copyTagPrefix = ({ - handle, - prefix - }) => ({ - handle, - prefix - }); - doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix); - doc.version = prevDoc.version; - } - doc.commentBefore = directiveComments.join("\n") || null; - } - function assertCollection(contents) { - if (contents instanceof resolveSeq.Collection) - return true; - throw new Error("Expected a YAML collection as document contents"); - } - var Document = class { - constructor(options) { - this.anchors = new Anchors(options.anchorPrefix); - this.commentBefore = null; - this.comment = null; - this.contents = null; - this.directivesEndMarker = null; - this.errors = []; - this.options = options; - this.schema = null; - this.tagPrefixes = []; - this.version = null; - this.warnings = []; - } - add(value) { - assertCollection(this.contents); - return this.contents.add(value); - } - addIn(path, value) { - assertCollection(this.contents); - this.contents.addIn(path, value); - } - delete(key) { - assertCollection(this.contents); - return this.contents.delete(key); - } - deleteIn(path) { - if (resolveSeq.isEmptyPath(path)) { - if (this.contents == null) - return false; - this.contents = null; - return true; - } - assertCollection(this.contents); - return this.contents.deleteIn(path); - } - getDefaults() { - return Document.defaults[this.version] || Document.defaults[this.options.version] || {}; - } - get(key, keepScalar) { - return this.contents instanceof resolveSeq.Collection ? this.contents.get(key, keepScalar) : void 0; - } - getIn(path, keepScalar) { - if (resolveSeq.isEmptyPath(path)) - return !keepScalar && this.contents instanceof resolveSeq.Scalar ? this.contents.value : this.contents; - return this.contents instanceof resolveSeq.Collection ? this.contents.getIn(path, keepScalar) : void 0; - } - has(key) { - return this.contents instanceof resolveSeq.Collection ? this.contents.has(key) : false; - } - hasIn(path) { - if (resolveSeq.isEmptyPath(path)) - return this.contents !== void 0; - return this.contents instanceof resolveSeq.Collection ? this.contents.hasIn(path) : false; - } - set(key, value) { - assertCollection(this.contents); - this.contents.set(key, value); - } - setIn(path, value) { - if (resolveSeq.isEmptyPath(path)) - this.contents = value; - else { - assertCollection(this.contents); - this.contents.setIn(path, value); - } - } - setSchema(id, customTags) { - if (!id && !customTags && this.schema) - return; - if (typeof id === "number") - id = id.toFixed(1); - if (id === "1.0" || id === "1.1" || id === "1.2") { - if (this.version) - this.version = id; - else - this.options.version = id; - delete this.options.schema; - } else if (id && typeof id === "string") { - this.options.schema = id; - } - if (Array.isArray(customTags)) - this.options.customTags = customTags; - const opt = Object.assign({}, this.getDefaults(), this.options); - this.schema = new Schema.Schema(opt); - } - parse(node, prevDoc) { - if (this.options.keepCstNodes) - this.cstNode = node; - if (this.options.keepNodeTypes) - this.type = "DOCUMENT"; - const { - directives = [], - contents = [], - directivesEndMarker, - error, - valueRange - } = node; - if (error) { - if (!error.source) - error.source = this; - this.errors.push(error); - } - parseDirectives(this, directives, prevDoc); - if (directivesEndMarker) - this.directivesEndMarker = true; - this.range = valueRange ? [valueRange.start, valueRange.end] : null; - this.setSchema(); - this.anchors._cstAliases = []; - parseContents(this, contents); - this.anchors.resolveNodes(); - if (this.options.prettyErrors) { - for (const error2 of this.errors) - if (error2 instanceof PlainValue.YAMLError) - error2.makePretty(); - for (const warn of this.warnings) - if (warn instanceof PlainValue.YAMLError) - warn.makePretty(); - } - return this; - } - listNonDefaultTags() { - return listTagNames(this.contents).filter((t) => t.indexOf(Schema.Schema.defaultPrefix) !== 0); - } - setTagPrefix(handle, prefix) { - if (handle[0] !== "!" || handle[handle.length - 1] !== "!") - throw new Error("Handle must start and end with !"); - if (prefix) { - const prev = this.tagPrefixes.find((p) => p.handle === handle); - if (prev) - prev.prefix = prefix; - else - this.tagPrefixes.push({ - handle, - prefix - }); - } else { - this.tagPrefixes = this.tagPrefixes.filter((p) => p.handle !== handle); - } - } - toJSON(arg, onAnchor) { - const { - keepBlobsInJSON, - mapAsMap, - maxAliasCount - } = this.options; - const keep = keepBlobsInJSON && (typeof arg !== "string" || !(this.contents instanceof resolveSeq.Scalar)); - const ctx = { - doc: this, - indentStep: " ", - keep, - mapAsMap: keep && !!mapAsMap, - maxAliasCount, - stringify - }; - const anchorNames = Object.keys(this.anchors.map); - if (anchorNames.length > 0) - ctx.anchors = new Map(anchorNames.map((name) => [this.anchors.map[name], { - alias: [], - aliasCount: 0, - count: 1 - }])); - const res = resolveSeq.toJSON(this.contents, arg, ctx); - if (typeof onAnchor === "function" && ctx.anchors) - for (const { - count, - res: res2 - } of ctx.anchors.values()) - onAnchor(res2, count); - return res; - } - toString() { - if (this.errors.length > 0) - throw new Error("Document with errors cannot be stringified"); - const indentSize = this.options.indent; - if (!Number.isInteger(indentSize) || indentSize <= 0) { - const s = JSON.stringify(indentSize); - throw new Error(`"indent" option must be a positive integer, not ${s}`); - } - this.setSchema(); - const lines = []; - let hasDirectives = false; - if (this.version) { - let vd = "%YAML 1.2"; - if (this.schema.name === "yaml-1.1") { - if (this.version === "1.0") - vd = "%YAML:1.0"; - else if (this.version === "1.1") - vd = "%YAML 1.1"; - } - lines.push(vd); - hasDirectives = true; - } - const tagNames = this.listNonDefaultTags(); - this.tagPrefixes.forEach(({ - handle, - prefix - }) => { - if (tagNames.some((t) => t.indexOf(prefix) === 0)) { - lines.push(`%TAG ${handle} ${prefix}`); - hasDirectives = true; - } - }); - if (hasDirectives || this.directivesEndMarker) - lines.push("---"); - if (this.commentBefore) { - if (hasDirectives || !this.directivesEndMarker) - lines.unshift(""); - lines.unshift(this.commentBefore.replace(/^/gm, "#")); - } - const ctx = { - anchors: /* @__PURE__ */ Object.create(null), - doc: this, - indent: "", - indentStep: " ".repeat(indentSize), - stringify - }; - let chompKeep = false; - let contentComment = null; - if (this.contents) { - if (this.contents instanceof resolveSeq.Node) { - if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) - lines.push(""); - if (this.contents.commentBefore) - lines.push(this.contents.commentBefore.replace(/^/gm, "#")); - ctx.forceBlockIndent = !!this.comment; - contentComment = this.contents.comment; - } - const onChompKeep = contentComment ? null : () => chompKeep = true; - const body = stringify(this.contents, ctx, () => contentComment = null, onChompKeep); - lines.push(resolveSeq.addComment(body, "", contentComment)); - } else if (this.contents !== void 0) { - lines.push(stringify(this.contents, ctx)); - } - if (this.comment) { - if ((!chompKeep || contentComment) && lines[lines.length - 1] !== "") - lines.push(""); - lines.push(this.comment.replace(/^/gm, "#")); - } - return lines.join("\n") + "\n"; - } - }; - PlainValue._defineProperty(Document, "defaults", documentOptions); - exports2.Document = Document; - exports2.defaultOptions = defaultOptions; - exports2.scalarOptions = scalarOptions; - } -}); -var require_dist = __commonJS({ - "node_modules/yaml/dist/index.js"(exports2) { - "use strict"; - var parseCst = require_parse_cst(); - var Document$1 = require_Document_9b4560a1(); - var Schema = require_Schema_88e323a7(); - var PlainValue = require_PlainValue_ec8e588e(); - var warnings = require_warnings_1000a372(); - require_resolveSeq_d03cb037(); - function createNode(value, wrapScalars = true, tag) { - if (tag === void 0 && typeof wrapScalars === "string") { - tag = wrapScalars; - wrapScalars = true; - } - const options = Object.assign({}, Document$1.Document.defaults[Document$1.defaultOptions.version], Document$1.defaultOptions); - const schema = new Schema.Schema(options); - return schema.createNode(value, wrapScalars, tag); - } - var Document = class extends Document$1.Document { - constructor(options) { - super(Object.assign({}, Document$1.defaultOptions, options)); - } - }; - function parseAllDocuments(src, options) { - const stream = []; - let prev; - for (const cstDoc of parseCst.parse(src)) { - const doc = new Document(options); - doc.parse(cstDoc, prev); - stream.push(doc); - prev = doc; - } - return stream; - } - function parseDocument(src, options) { - const cst = parseCst.parse(src); - const doc = new Document(options).parse(cst[0]); - if (cst.length > 1) { - const errMsg = "Source contains multiple documents; please use YAML.parseAllDocuments()"; - doc.errors.unshift(new PlainValue.YAMLSemanticError(cst[1], errMsg)); - } - return doc; - } - function parse(src, options) { - const doc = parseDocument(src, options); - doc.warnings.forEach((warning) => warnings.warn(warning)); - if (doc.errors.length > 0) - throw doc.errors[0]; - return doc.toJSON(); - } - function stringify(value, options) { - const doc = new Document(options); - doc.contents = value; - return String(doc); - } - var YAML = { - createNode, - defaultOptions: Document$1.defaultOptions, - Document, - parse, - parseAllDocuments, - parseCST: parseCst.parse, - parseDocument, - scalarOptions: Document$1.scalarOptions, - stringify - }; - exports2.YAML = YAML; - } -}); -var require_yaml = __commonJS({ - "node_modules/yaml/index.js"(exports2, module2) { - module2.exports = require_dist().YAML; - } -}); -var require_loaders = __commonJS({ - "node_modules/cosmiconfig/dist/loaders.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.loaders = void 0; - var importFresh; - var loadJs = function loadJs2(filepath) { - if (importFresh === void 0) { - importFresh = require_import_fresh(); - } - const result = importFresh(filepath); - return result; - }; - var parseJson; - var loadJson = function loadJson2(filepath, content) { - if (parseJson === void 0) { - parseJson = require_parse_json(); - } - try { - const result = parseJson(content); - return result; - } catch (error) { - error.message = `JSON Error in ${filepath}: -${error.message}`; - throw error; - } - }; - var yaml; - var loadYaml = function loadYaml2(filepath, content) { - if (yaml === void 0) { - yaml = require_yaml(); - } - try { - const result = yaml.parse(content, { - prettyErrors: true - }); - return result; - } catch (error) { - error.message = `YAML Error in ${filepath}: -${error.message}`; - throw error; - } - }; - var loaders = { - loadJs, - loadJson, - loadYaml - }; - exports2.loaders = loaders; - } -}); -var require_getPropertyByPath = __commonJS({ - "node_modules/cosmiconfig/dist/getPropertyByPath.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.getPropertyByPath = getPropertyByPath; - function getPropertyByPath(source, path) { - if (typeof path === "string" && Object.prototype.hasOwnProperty.call(source, path)) { - return source[path]; - } - const parsedPath = typeof path === "string" ? path.split(".") : path; - return parsedPath.reduce((previous, key) => { - if (previous === void 0) { - return previous; - } - return previous[key]; - }, source); - } - } -}); -var require_ExplorerBase = __commonJS({ - "node_modules/cosmiconfig/dist/ExplorerBase.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.getExtensionDescription = getExtensionDescription; - exports2.ExplorerBase = void 0; - var _path = _interopRequireDefault(require("path")); - var _loaders = require_loaders(); - var _getPropertyByPath = require_getPropertyByPath(); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - var ExplorerBase = class { - constructor(options) { - if (options.cache === true) { - this.loadCache = /* @__PURE__ */ new Map(); - this.searchCache = /* @__PURE__ */ new Map(); - } - this.config = options; - this.validateConfig(); - } - clearLoadCache() { - if (this.loadCache) { - this.loadCache.clear(); - } - } - clearSearchCache() { - if (this.searchCache) { - this.searchCache.clear(); - } - } - clearCaches() { - this.clearLoadCache(); - this.clearSearchCache(); - } - validateConfig() { - const config = this.config; - config.searchPlaces.forEach((place) => { - const loaderKey = _path.default.extname(place) || "noExt"; - const loader = config.loaders[loaderKey]; - if (!loader) { - throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item "${place}" is invalid`); - } - if (typeof loader !== "function") { - throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: "${typeof loader}"), so searchPlaces item "${place}" is invalid`); - } - }); - } - shouldSearchStopWithResult(result) { - if (result === null) - return false; - if (result.isEmpty && this.config.ignoreEmptySearchPlaces) - return false; - return true; - } - nextDirectoryToSearch(currentDir, currentResult) { - if (this.shouldSearchStopWithResult(currentResult)) { - return null; - } - const nextDir = nextDirUp(currentDir); - if (nextDir === currentDir || currentDir === this.config.stopDir) { - return null; - } - return nextDir; - } - loadPackageProp(filepath, content) { - const parsedContent = _loaders.loaders.loadJson(filepath, content); - const packagePropValue = (0, _getPropertyByPath.getPropertyByPath)(parsedContent, this.config.packageProp); - return packagePropValue || null; - } - getLoaderEntryForFile(filepath) { - if (_path.default.basename(filepath) === "package.json") { - const loader2 = this.loadPackageProp.bind(this); - return loader2; - } - const loaderKey = _path.default.extname(filepath) || "noExt"; - const loader = this.config.loaders[loaderKey]; - if (!loader) { - throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`); - } - return loader; - } - loadedContentToCosmiconfigResult(filepath, loadedContent) { - if (loadedContent === null) { - return null; - } - if (loadedContent === void 0) { - return { - filepath, - config: void 0, - isEmpty: true - }; - } - return { - config: loadedContent, - filepath - }; - } - validateFilePath(filepath) { - if (!filepath) { - throw new Error("load must pass a non-empty string"); - } - } - }; - exports2.ExplorerBase = ExplorerBase; - function nextDirUp(dir) { - return _path.default.dirname(dir); - } - function getExtensionDescription(filepath) { - const ext = _path.default.extname(filepath); - return ext ? `extension "${ext}"` : "files without extensions"; - } - } -}); -var require_readFile = __commonJS({ - "node_modules/cosmiconfig/dist/readFile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.readFile = readFile; - exports2.readFileSync = readFileSync; - var _fs = _interopRequireDefault(require("fs")); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - async function fsReadFileAsync(pathname, encoding) { - return new Promise((resolve, reject) => { - _fs.default.readFile(pathname, encoding, (error, contents) => { - if (error) { - reject(error); - return; - } - resolve(contents); - }); - }); - } - async function readFile(filepath, options = {}) { - const throwNotFound = options.throwNotFound === true; - try { - const content = await fsReadFileAsync(filepath, "utf8"); - return content; - } catch (error) { - if (throwNotFound === false && (error.code === "ENOENT" || error.code === "EISDIR")) { - return null; - } - throw error; - } - } - function readFileSync(filepath, options = {}) { - const throwNotFound = options.throwNotFound === true; - try { - const content = _fs.default.readFileSync(filepath, "utf8"); - return content; - } catch (error) { - if (throwNotFound === false && (error.code === "ENOENT" || error.code === "EISDIR")) { - return null; - } - throw error; - } - } - } -}); -var require_cacheWrapper = __commonJS({ - "node_modules/cosmiconfig/dist/cacheWrapper.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.cacheWrapper = cacheWrapper; - exports2.cacheWrapperSync = cacheWrapperSync; - async function cacheWrapper(cache, key, fn) { - const cached = cache.get(key); - if (cached !== void 0) { - return cached; - } - const result = await fn(); - cache.set(key, result); - return result; - } - function cacheWrapperSync(cache, key, fn) { - const cached = cache.get(key); - if (cached !== void 0) { - return cached; - } - const result = fn(); - cache.set(key, result); - return result; - } - } -}); -var require_path_type = __commonJS({ - "node_modules/path-type/index.js"(exports2) { - "use strict"; - var { - promisify - } = require("util"); - var fs = require("fs"); - async function isType(fsStatType, statsMethodName, filePath) { - if (typeof filePath !== "string") { - throw new TypeError(`Expected a string, got ${typeof filePath}`); - } - try { - const stats = await promisify(fs[fsStatType])(filePath); - return stats[statsMethodName](); - } catch (error) { - if (error.code === "ENOENT") { - return false; - } - throw error; - } - } - function isTypeSync(fsStatType, statsMethodName, filePath) { - if (typeof filePath !== "string") { - throw new TypeError(`Expected a string, got ${typeof filePath}`); - } - try { - return fs[fsStatType](filePath)[statsMethodName](); - } catch (error) { - if (error.code === "ENOENT") { - return false; - } - throw error; - } - } - exports2.isFile = isType.bind(null, "stat", "isFile"); - exports2.isDirectory = isType.bind(null, "stat", "isDirectory"); - exports2.isSymlink = isType.bind(null, "lstat", "isSymbolicLink"); - exports2.isFileSync = isTypeSync.bind(null, "statSync", "isFile"); - exports2.isDirectorySync = isTypeSync.bind(null, "statSync", "isDirectory"); - exports2.isSymlinkSync = isTypeSync.bind(null, "lstatSync", "isSymbolicLink"); - } -}); -var require_getDirectory = __commonJS({ - "node_modules/cosmiconfig/dist/getDirectory.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.getDirectory = getDirectory; - exports2.getDirectorySync = getDirectorySync; - var _path = _interopRequireDefault(require("path")); - var _pathType = require_path_type(); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - async function getDirectory(filepath) { - const filePathIsDirectory = await (0, _pathType.isDirectory)(filepath); - if (filePathIsDirectory === true) { - return filepath; - } - const directory = _path.default.dirname(filepath); - return directory; - } - function getDirectorySync(filepath) { - const filePathIsDirectory = (0, _pathType.isDirectorySync)(filepath); - if (filePathIsDirectory === true) { - return filepath; - } - const directory = _path.default.dirname(filepath); - return directory; - } - } -}); -var require_Explorer = __commonJS({ - "node_modules/cosmiconfig/dist/Explorer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.Explorer = void 0; - var _path = _interopRequireDefault(require("path")); - var _ExplorerBase = require_ExplorerBase(); - var _readFile = require_readFile(); - var _cacheWrapper = require_cacheWrapper(); - var _getDirectory = require_getDirectory(); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - var Explorer = class extends _ExplorerBase.ExplorerBase { - constructor(options) { - super(options); - } - async search(searchFrom = process.cwd()) { - const startDirectory = await (0, _getDirectory.getDirectory)(searchFrom); - const result = await this.searchFromDirectory(startDirectory); - return result; - } - async searchFromDirectory(dir) { - const absoluteDir = _path.default.resolve(process.cwd(), dir); - const run = async () => { - const result = await this.searchDirectory(absoluteDir); - const nextDir = this.nextDirectoryToSearch(absoluteDir, result); - if (nextDir) { - return this.searchFromDirectory(nextDir); - } - const transformResult = await this.config.transform(result); - return transformResult; - }; - if (this.searchCache) { - return (0, _cacheWrapper.cacheWrapper)(this.searchCache, absoluteDir, run); - } - return run(); - } - async searchDirectory(dir) { - for await (const place of this.config.searchPlaces) { - const placeResult = await this.loadSearchPlace(dir, place); - if (this.shouldSearchStopWithResult(placeResult) === true) { - return placeResult; - } - } - return null; - } - async loadSearchPlace(dir, place) { - const filepath = _path.default.join(dir, place); - const fileContents = await (0, _readFile.readFile)(filepath); - const result = await this.createCosmiconfigResult(filepath, fileContents); - return result; - } - async loadFileContent(filepath, content) { - if (content === null) { - return null; - } - if (content.trim() === "") { - return void 0; - } - const loader = this.getLoaderEntryForFile(filepath); - const loaderResult = await loader(filepath, content); - return loaderResult; - } - async createCosmiconfigResult(filepath, content) { - const fileContent = await this.loadFileContent(filepath, content); - const result = this.loadedContentToCosmiconfigResult(filepath, fileContent); - return result; - } - async load(filepath) { - this.validateFilePath(filepath); - const absoluteFilePath = _path.default.resolve(process.cwd(), filepath); - const runLoad = async () => { - const fileContents = await (0, _readFile.readFile)(absoluteFilePath, { - throwNotFound: true - }); - const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents); - const transformResult = await this.config.transform(result); - return transformResult; - }; - if (this.loadCache) { - return (0, _cacheWrapper.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad); - } - return runLoad(); - } - }; - exports2.Explorer = Explorer; - } -}); -var require_ExplorerSync = __commonJS({ - "node_modules/cosmiconfig/dist/ExplorerSync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.ExplorerSync = void 0; - var _path = _interopRequireDefault(require("path")); - var _ExplorerBase = require_ExplorerBase(); - var _readFile = require_readFile(); - var _cacheWrapper = require_cacheWrapper(); - var _getDirectory = require_getDirectory(); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - var ExplorerSync = class extends _ExplorerBase.ExplorerBase { - constructor(options) { - super(options); - } - searchSync(searchFrom = process.cwd()) { - const startDirectory = (0, _getDirectory.getDirectorySync)(searchFrom); - const result = this.searchFromDirectorySync(startDirectory); - return result; - } - searchFromDirectorySync(dir) { - const absoluteDir = _path.default.resolve(process.cwd(), dir); - const run = () => { - const result = this.searchDirectorySync(absoluteDir); - const nextDir = this.nextDirectoryToSearch(absoluteDir, result); - if (nextDir) { - return this.searchFromDirectorySync(nextDir); - } - const transformResult = this.config.transform(result); - return transformResult; - }; - if (this.searchCache) { - return (0, _cacheWrapper.cacheWrapperSync)(this.searchCache, absoluteDir, run); - } - return run(); - } - searchDirectorySync(dir) { - for (const place of this.config.searchPlaces) { - const placeResult = this.loadSearchPlaceSync(dir, place); - if (this.shouldSearchStopWithResult(placeResult) === true) { - return placeResult; - } - } - return null; - } - loadSearchPlaceSync(dir, place) { - const filepath = _path.default.join(dir, place); - const content = (0, _readFile.readFileSync)(filepath); - const result = this.createCosmiconfigResultSync(filepath, content); - return result; - } - loadFileContentSync(filepath, content) { - if (content === null) { - return null; - } - if (content.trim() === "") { - return void 0; - } - const loader = this.getLoaderEntryForFile(filepath); - const loaderResult = loader(filepath, content); - return loaderResult; - } - createCosmiconfigResultSync(filepath, content) { - const fileContent = this.loadFileContentSync(filepath, content); - const result = this.loadedContentToCosmiconfigResult(filepath, fileContent); - return result; - } - loadSync(filepath) { - this.validateFilePath(filepath); - const absoluteFilePath = _path.default.resolve(process.cwd(), filepath); - const runLoadSync = () => { - const content = (0, _readFile.readFileSync)(absoluteFilePath, { - throwNotFound: true - }); - const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content); - const transformResult = this.config.transform(cosmiconfigResult); - return transformResult; - }; - if (this.loadCache) { - return (0, _cacheWrapper.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync); - } - return runLoadSync(); - } - }; - exports2.ExplorerSync = ExplorerSync; - } -}); -var require_types = __commonJS({ - "node_modules/cosmiconfig/dist/types.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - } -}); -var require_dist2 = __commonJS({ - "node_modules/cosmiconfig/dist/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.cosmiconfig = cosmiconfig; - exports2.cosmiconfigSync = cosmiconfigSync; - exports2.defaultLoaders = void 0; - var _os = _interopRequireDefault(require("os")); - var _Explorer = require_Explorer(); - var _ExplorerSync = require_ExplorerSync(); - var _loaders = require_loaders(); - var _types = require_types(); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - function cosmiconfig(moduleName, options = {}) { - const normalizedOptions = normalizeOptions(moduleName, options); - const explorer = new _Explorer.Explorer(normalizedOptions); - return { - search: explorer.search.bind(explorer), - load: explorer.load.bind(explorer), - clearLoadCache: explorer.clearLoadCache.bind(explorer), - clearSearchCache: explorer.clearSearchCache.bind(explorer), - clearCaches: explorer.clearCaches.bind(explorer) - }; - } - function cosmiconfigSync(moduleName, options = {}) { - const normalizedOptions = normalizeOptions(moduleName, options); - const explorerSync = new _ExplorerSync.ExplorerSync(normalizedOptions); - return { - search: explorerSync.searchSync.bind(explorerSync), - load: explorerSync.loadSync.bind(explorerSync), - clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync), - clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync), - clearCaches: explorerSync.clearCaches.bind(explorerSync) - }; - } - var defaultLoaders = Object.freeze({ - ".cjs": _loaders.loaders.loadJs, - ".js": _loaders.loaders.loadJs, - ".json": _loaders.loaders.loadJson, - ".yaml": _loaders.loaders.loadYaml, - ".yml": _loaders.loaders.loadYaml, - noExt: _loaders.loaders.loadYaml - }); - exports2.defaultLoaders = defaultLoaders; - var identity = function identity2(x) { - return x; - }; - function normalizeOptions(moduleName, options) { - const defaults = { - packageProp: moduleName, - searchPlaces: ["package.json", `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`], - ignoreEmptySearchPlaces: true, - stopDir: _os.default.homedir(), - cache: true, - transform: identity, - loaders: defaultLoaders - }; - const normalizedOptions = Object.assign(Object.assign(Object.assign({}, defaults), options), {}, { - loaders: Object.assign(Object.assign({}, defaults.loaders), options.loaders) - }); - return normalizedOptions; - } - } -}); -var require_find_parent_dir = __commonJS({ - "node_modules/find-parent-dir/index.js"(exports2, module2) { - "use strict"; - var path = require("path"); - var fs = require("fs"); - var exists = fs.exists || path.exists; - var existsSync = fs.existsSync || path.existsSync; - function splitPath(path2) { - var parts = path2.split(/(\/|\\)/); - if (!parts.length) - return parts; - return !parts[0].length ? parts.slice(1) : parts; - } - exports2 = module2.exports = function(currentFullPath, clue, cb) { - function testDir(parts) { - if (parts.length === 0) - return cb(null, null); - var p = parts.join(""); - exists(path.join(p, clue), function(itdoes) { - if (itdoes) - return cb(null, p); - testDir(parts.slice(0, -1)); - }); - } - testDir(splitPath(currentFullPath)); - }; - exports2.sync = function(currentFullPath, clue) { - function testDir(parts) { - if (parts.length === 0) - return null; - var p = parts.join(""); - var itdoes = existsSync(path.join(p, clue)); - return itdoes ? p : testDir(parts.slice(0, -1)); - } - return testDir(splitPath(currentFullPath)); - }; - } -}); -var require_get_stdin = __commonJS({ - "node_modules/get-stdin/index.js"(exports2, module2) { - "use strict"; - var { - stdin - } = process; - module2.exports = async () => { - let result = ""; - if (stdin.isTTY) { - return result; - } - stdin.setEncoding("utf8"); - for await (const chunk of stdin) { - result += chunk; - } - return result; - }; - module2.exports.buffer = async () => { - const result = []; - let length = 0; - if (stdin.isTTY) { - return Buffer.concat([]); - } - for await (const chunk of stdin) { - result.push(chunk); - length += chunk.length; - } - return Buffer.concat(result, length); - }; - } -}); -var require_vendors = __commonJS({ - "node_modules/ci-info/vendors.json"(exports2, module2) { - module2.exports = [{ - name: "AppVeyor", - constant: "APPVEYOR", - env: "APPVEYOR", - pr: "APPVEYOR_PULL_REQUEST_NUMBER" - }, { - name: "Azure Pipelines", - constant: "AZURE_PIPELINES", - env: "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", - pr: "SYSTEM_PULLREQUEST_PULLREQUESTID" - }, { - name: "Appcircle", - constant: "APPCIRCLE", - env: "AC_APPCIRCLE" - }, { - name: "Bamboo", - constant: "BAMBOO", - env: "bamboo_planKey" - }, { - name: "Bitbucket Pipelines", - constant: "BITBUCKET", - env: "BITBUCKET_COMMIT", - pr: "BITBUCKET_PR_ID" - }, { - name: "Bitrise", - constant: "BITRISE", - env: "BITRISE_IO", - pr: "BITRISE_PULL_REQUEST" - }, { - name: "Buddy", - constant: "BUDDY", - env: "BUDDY_WORKSPACE_ID", - pr: "BUDDY_EXECUTION_PULL_REQUEST_ID" - }, { - name: "Buildkite", - constant: "BUILDKITE", - env: "BUILDKITE", - pr: { - env: "BUILDKITE_PULL_REQUEST", - ne: "false" - } - }, { - name: "CircleCI", - constant: "CIRCLE", - env: "CIRCLECI", - pr: "CIRCLE_PULL_REQUEST" - }, { - name: "Cirrus CI", - constant: "CIRRUS", - env: "CIRRUS_CI", - pr: "CIRRUS_PR" - }, { - name: "AWS CodeBuild", - constant: "CODEBUILD", - env: "CODEBUILD_BUILD_ARN" - }, { - name: "Codefresh", - constant: "CODEFRESH", - env: "CF_BUILD_ID", - pr: { - any: ["CF_PULL_REQUEST_NUMBER", "CF_PULL_REQUEST_ID"] - } - }, { - name: "Codeship", - constant: "CODESHIP", - env: { - CI_NAME: "codeship" - } - }, { - name: "Drone", - constant: "DRONE", - env: "DRONE", - pr: { - DRONE_BUILD_EVENT: "pull_request" - } - }, { - name: "dsari", - constant: "DSARI", - env: "DSARI" - }, { - name: "Expo Application Services", - constant: "EAS", - env: "EAS_BUILD" - }, { - name: "GitHub Actions", - constant: "GITHUB_ACTIONS", - env: "GITHUB_ACTIONS", - pr: { - GITHUB_EVENT_NAME: "pull_request" - } - }, { - name: "GitLab CI", - constant: "GITLAB", - env: "GITLAB_CI", - pr: "CI_MERGE_REQUEST_ID" - }, { - name: "GoCD", - constant: "GOCD", - env: "GO_PIPELINE_LABEL" - }, { - name: "LayerCI", - constant: "LAYERCI", - env: "LAYERCI", - pr: "LAYERCI_PULL_REQUEST" - }, { - name: "Hudson", - constant: "HUDSON", - env: "HUDSON_URL" - }, { - name: "Jenkins", - constant: "JENKINS", - env: ["JENKINS_URL", "BUILD_ID"], - pr: { - any: ["ghprbPullId", "CHANGE_ID"] - } - }, { - name: "Magnum CI", - constant: "MAGNUM", - env: "MAGNUM" - }, { - name: "Netlify CI", - constant: "NETLIFY", - env: "NETLIFY", - pr: { - env: "PULL_REQUEST", - ne: "false" - } - }, { - name: "Nevercode", - constant: "NEVERCODE", - env: "NEVERCODE", - pr: { - env: "NEVERCODE_PULL_REQUEST", - ne: "false" - } - }, { - name: "Render", - constant: "RENDER", - env: "RENDER", - pr: { - IS_PULL_REQUEST: "true" - } - }, { - name: "Sail CI", - constant: "SAIL", - env: "SAILCI", - pr: "SAIL_PULL_REQUEST_NUMBER" - }, { - name: "Semaphore", - constant: "SEMAPHORE", - env: "SEMAPHORE", - pr: "PULL_REQUEST_NUMBER" - }, { - name: "Screwdriver", - constant: "SCREWDRIVER", - env: "SCREWDRIVER", - pr: { - env: "SD_PULL_REQUEST", - ne: "false" - } - }, { - name: "Shippable", - constant: "SHIPPABLE", - env: "SHIPPABLE", - pr: { - IS_PULL_REQUEST: "true" - } - }, { - name: "Solano CI", - constant: "SOLANO", - env: "TDDIUM", - pr: "TDDIUM_PR_ID" - }, { - name: "Strider CD", - constant: "STRIDER", - env: "STRIDER" - }, { - name: "TaskCluster", - constant: "TASKCLUSTER", - env: ["TASK_ID", "RUN_ID"] - }, { - name: "TeamCity", - constant: "TEAMCITY", - env: "TEAMCITY_VERSION" - }, { - name: "Travis CI", - constant: "TRAVIS", - env: "TRAVIS", - pr: { - env: "TRAVIS_PULL_REQUEST", - ne: "false" - } - }, { - name: "Vercel", - constant: "VERCEL", - env: "NOW_BUILDER" - }, { - name: "Visual Studio App Center", - constant: "APPCENTER", - env: "APPCENTER_BUILD_ID" - }]; - } -}); -var require_ci_info = __commonJS({ - "node_modules/ci-info/index.js"(exports2) { - "use strict"; - var vendors = require_vendors(); - var env = process.env; - Object.defineProperty(exports2, "_vendors", { - value: vendors.map(function(v) { - return v.constant; - }) - }); - exports2.name = null; - exports2.isPR = null; - vendors.forEach(function(vendor) { - const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env]; - const isCI = envs.every(function(obj) { - return checkEnv(obj); - }); - exports2[vendor.constant] = isCI; - if (isCI) { - exports2.name = vendor.name; - switch (typeof vendor.pr) { - case "string": - exports2.isPR = !!env[vendor.pr]; - break; - case "object": - if ("env" in vendor.pr) { - exports2.isPR = vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne; - } else if ("any" in vendor.pr) { - exports2.isPR = vendor.pr.any.some(function(key) { - return !!env[key]; - }); - } else { - exports2.isPR = checkEnv(vendor.pr); - } - break; - default: - exports2.isPR = null; - } - } - }); - exports2.isCI = !!(env.CI || env.CONTINUOUS_INTEGRATION || env.BUILD_NUMBER || env.RUN_ID || exports2.name || false); - function checkEnv(obj) { - if (typeof obj === "string") - return !!env[obj]; - return Object.keys(obj).every(function(k) { - return env[k] === obj[k]; - }); - } - } -}); -module.exports = { - cosmiconfig: require_dist2().cosmiconfig, - cosmiconfigSync: require_dist2().cosmiconfigSync, - findParentDir: require_find_parent_dir().sync, - getStdin: require_get_stdin(), - isCI: () => require_ci_info().isCI -}; diff --git a/node_modules/ts-poet/package.json b/node_modules/ts-poet/package.json deleted file mode 100644 index 127de8a745..0000000000 --- a/node_modules/ts-poet/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "ts-poet", - "version": "4.15.0", - "description": "code generation DSL for TypeScript", - "main": "build/index.js", - "types": "build/index.d.ts", - "scripts": { - "prepare": "yarn build && yarn test", - "test": "yarn jest", - "build": "yarn tsc", - "lint": "yarn tslint --project ." - }, - "repository": { - "type": "git", - "url": "https://github.com/stephenh/ts-poet.git" - }, - "keywords": [], - "author": "Stephen Haberman", - "license": "Apache-2.0", - "devDependencies": { - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.137", - "@types/node": "^12.7.2", - "@typescript-eslint/eslint-plugin": "^2.0.0", - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^6.2.2", - "eslint-config-prettier": "^6.1.0", - "eslint-plugin-prettier": "^3.1.0", - "jest": "^26.6.3", - "ts-jest": "^26.5.1", - "typescript": "^4.1.5" - }, - "dependencies": { - "lodash": "^4.17.15", - "prettier": "^2.5.1" - } -} diff --git a/node_modules/ts-poet/steps.txt b/node_modules/ts-poet/steps.txt deleted file mode 100644 index 4007f070eb..0000000000 --- a/node_modules/ts-poet/steps.txt +++ /dev/null @@ -1,6 +0,0 @@ - - -/@Test -qf 4dw i it(" e a ", f)la => %a ); n - ---- ------ -- -- - diff --git a/node_modules/twirp-ts/README.md b/node_modules/twirp-ts/README.md deleted file mode 100644 index b314851db7..0000000000 --- a/node_modules/twirp-ts/README.md +++ /dev/null @@ -1,441 +0,0 @@ -# Twirp-TS - -A complete server and client implementation of the awesome [Twirp Specification](https://twitchtv.github.io/twirp/docs/spec_v7.html) written in typescript. - -Supported spec v7 and v8 - ----- - -[![npm version](https://badge.fury.io/js/twirp-ts.svg)](https://badge.fury.io/js/twirp-ts) -[![Coverage Status](https://coveralls.io/repos/github/hopin-team/twirp-ts/badge.svg?branch=main)](https://coveralls.io/github/hopin-team/twirp-ts?branch=main) - -Table of Contents: - -- [Getting Started](#getting-started) - - [Installation](#installation) - - [Install Protoc](#install-protoc) -- [Code Generation](#code-generation) -- [Server](#server) - - [Express](#integrating-with-express) - - [Hooks & Interceptors](#server-hooks--interceptors) - - [Errors](#errors) - - [Gateway](#Gateway) -- [Client](#twirp-client) -- [Open API V3](#open-api-v3) -- [Migrate to V2](#migrate-to-v2) -- [How to Upgrade](#how-to-upgrade) - -## Getting Started - ---- - -### Installation -Run the following to install the package - -``` -npm i twirp-ts @protobuf-ts/plugin@next -S -``` - -or - -``` -yarn add twirp-ts @protobuf-ts/plugin@next -``` - -Install `ts-proto` instead if you prefer it over `@protobuf-ts` - -### Install Protoc -Make sure you have `protoc` or `buf` installed. - -**Mac:** -```bash -brew install protobuf -``` - -**Linux:** -```bash -apt-get install protobuf -``` - -**Optional**:
-This plugin works with [buf](https://docs.buf.build/installation) too, follow the link to see how to install it - -## Code Generation - -**twirp-ts** relies on either [protobuf-ts](https://github.com/timostamm/protobuf-ts) or [ts-proto](https://github.com/stephenh/ts-proto) to generate protobuf message definitions - -The `protoc-gen-twirp_ts` is instead used to generate `server` and `client` code for twirp-ts - -It is as simple as adding the following options in your `protoc` command - -```bash -PROTOC_GEN_TWIRP_BIN="./node_modules/.bin/protoc-gen-twirp_ts" - ---plugin=protoc-gen-twirp_ts=${PROTOC_GEN_TWIRP_BIN} \ ---twirp_ts_out=$(OUT_DIR) -``` - -Here's an example working command with the recomended flags: - -

- using ts-proto (click to see) - -```bash -PROTOC_GEN_TWIRP_BIN="./node_modules/.bin/protoc-gen-twirp_ts" -PROTOC_GEN_TS_BIN="./node_modules/.bin/protoc-gen-ts_proto" - -OUT_DIR="./generated" - -protoc \ - -I ./protos \ - --plugin=protoc-gen-ts_proto=${PROTOC_GEN_TS_BIN} \ - --plugin=protoc-gen-twirp_ts=${PROTOC_GEN_TWIRP_BIN} \ - --ts_proto_opt=esModuleInterop=true \ - --ts_proto_opt=outputClientImpl=false \ - --ts_proto_out=${OUT_DIR} \ - --twirp_ts_opt="ts_proto" \ - --twirp_ts_out=${OUT_DIR} \ - ./protos/*.proto -``` -
- -
- using protobuf-ts (click to see) - -```bash -PROTOC_GEN_TWIRP_BIN="./node_modules/.bin/protoc-gen-twirp_ts" -PROTOC_GEN_TS_BIN="./node_modules/.bin/protoc-gen-ts" - -OUT_DIR="./generated" - -protoc \ - -I ./protos \ - --plugin=protoc-gen-ts=$(PROTOC_GEN_TS_BIN) \ - --plugin=protoc-gen-twirp_ts=$(PROTOC_GEN_TWIRP_BIN) \ - --ts_opt=client_none \ - --ts_opt=generate_dependencies \ - --ts_out=$(OUT_DIR) \ - --twirp_ts_out=$(OUT_DIR) \ - ./protos/*.proto -``` -
- -
- using protobuf-ts on windows, Git Bash (click to see) - -```bash -OUT_DIR="./generated" - -protoc \ - -I ./protos \ - --plugin=protoc-gen-ts=.\\node_modules\\.bin\\protoc-gen-ts.cmd \ - --plugin=protoc-gen-twirp_ts=.\\node_modules\\.bin\\protoc-gen-twirp_ts.cmd \ - --ts_opt=client_none \ - --ts_opt=generate_dependencies \ - --ts_out=${OUT_DIR} \ - --twirp_ts_out=${OUT_DIR} \ - ./protos/*.proto -``` -
- - - -If you'd like the plugin to generate an `index.ts` file exporting all your generated code -simply add `--twirp_ts_opt="index_file"` - -### Server - -Once you've generated the server code you can simply start a server as following: - -```ts -import * as http from "http"; -import {TwirpContext} from "twirp-ts"; -import {createHaberdasherServer} from "./generated/haberdasher.twirp"; -import {Hat, Size} from "./generated/service"; - -const server = createHaberdasherServer({ - async MakeHat(ctx: TwirpContext, request: Size): Promise { - // Your implementation - }, -}); - -http.createServer(server.httpHandler()) - .listen(8080); -``` - -#### Path prefix - -By default the server uses the `/twirp` prefix for every request. -You can change or remove the prefix passing the `prefix` option to the handler - -```ts -const server = createHaberdasherServer({ - async MakeHat(ctx: TwirpContext, request: Size): Promise { - // Your implementation - }, -}); - -server.withPrefix("/custom-prefix") // or false to remove it - -http.createServer(server.httpHandler()) - .listen(8080); -``` - -or you can pass it to the handler directly: - -```ts -http.createServer(server.httpHandler({ - prefix: "/custom-prefix", -})).listen(8080); -``` - -### Integrating with express - -If you'd like to use `express` as your drop in solution to add more routes, or middlewares you can do as following: - -```ts -const server = createHaberdasherServer({ - async MakeHat(ctx: TwirpContext, request: Size): Promise { - // ... implementation - }, -}); - -const app = express(); - -app.post(server.matchingPath(), server.httpHandler()); - -app.listen(8000); -``` - -Note: if you want to change the default prefix use `server.withPrefix()` - -### Server Hooks & Interceptors - -[Link to Spec](https://twitchtv.github.io/twirp/docs/hooks.html) - -**Interceptors** are a form of middleware for Twirp requests. Interceptors can mutate the request and responses, which can enable some powerful integrations, but in most cases, it is better to use Hooks for observability at key points during a request. Mutating the request adds complexity to the request lifecycle. - -Be mindful to not hide too much behind interceptors as with every `middleware` alike implementation is easy to increase complexity making it harder to reason about. - -Example: - -```ts -const server = createHaberdasherServer({ - // ... -}); - -async function exampleInterceptor(ctx: TwirpContext, req: any, next: Next) { - console.log("Before response"); - - const response = await next(ctx, req); - - console.log("After response"); - - return response; -} - -server.use(exampleInterceptor) -``` -
- -**Server Hooks** They provide callbacks for before and after the request is handled. The Error hook is called only if an error was returned by the handler. - -A great place for `metrics` and `logging` - -```ts -const server = createHaberdasherServer({ - // ... -}); - -const serverHooks: ServerHooks = { - requestReceived: (ctx) => { - console.log("Received"); - }, - requestRouted: (ctx) => { - console.log("Requested"); - }, - responsePrepared: (ctx) => { - console.log("Prepared"); - }, - responseSent: (ctx) => { - console.log("Sent"); - }, - error: (ctx, err) => { - console.log(err); - } -}; - -server.use(serverHooks); -``` - -### Errors - -[Link to Spec](https://twitchtv.github.io/twirp/docs/errors.html) - -The library comes with a built in `TwirpError` which is the default and standard error for all of your errors. - -You can certainly create custom errors that extend a `TwirpError` - -For Example: - -```ts -import {TwirpError, TwirpErrorCode} from "twirp-ts"; - -class UnauthenticatedError extends TwirpError { - constructor(traceId: string) { - super(TwirpErrorCode.Unauthenticated, "you must login"); - this.withMeta("trace-id", traceId) - } -} -``` - -## Gateway -The gateway allows to expose custom http endpoints that automatically maps to your twirp handlers. - -The mapping is done in your proto file using the [google.api.http](https://github.com/googleapis/googleapis/blob/master/google/api/http.proto#L46) annotations spec. - - -### Add the annotation - -```proto -service Haberdasher { - // MakeHat produces a hat of mysterious, randomly-selected color! - rpc MakeHat(Size) returns (Hat) { - option (google.api.http) = { - post: "/hat" - body: "*" - }; - }; -} -``` - -### Generating the gateway - -add the following option in your `protoc` command: - -``` ---twirp_ts_opt=gateway -``` - -Don't forget to regenerate your proto files. - -### Gateway Reverse Proxy -Once we generated the gateway we can use it as a stand-alone reverse-proxy server or as a request rewriter. - -The following example creates a stand-alone reverse proxy: - -```ts -import express from 'express'; -import {createGateway} from './generated/gateway.twirp.ts'; - -const app = express(); -const gateway = createGateway(); - -app.use(gateway.reverseProxy({ - baseUrl: "http://localhost:8000/twirp", -})); - -app.listen(8001); -``` - -### Gateway rewriter -If you prefer to have the gateway in the same server as your twirp endpoint and save a round-trip, you'd want to use the `rewriter` - -The rewriter will automatically rewrite the request (once it finds a match) to the corresponded twirp handler - -```ts -import express from 'express'; -import {createGateway} from './generated/gateway.twirp.ts'; - -const app = express(); -const gateway = createGateway(); - -app.use(gateway.twirpRewrite()); - -// All your twirp handlers -app.post(server.matchingPath(), server.httpHandler()); - -app.listen(8001); -``` - -**Note:** make sure the middleware is register before your twirp handlers - -## Twirp Client - -As well as the server you've also got generated client code, ready for you to use.
-You can choose between `JSON` client and `Protobuf` client. - -The generated code doesn't include an actual library to make `http` requests, but it gives you an interface to implement the one that you like the most. - -Alternatively you can use the provided implementation based on node `http` and `https` package. - -For example: - -```ts -const jsonClient = new HaberdasherClientJSON(NodeHttpRPC({ - baseUrl: "http://localhost:8000/twirp", -})); - -const protobufClient = new HaberdasherClientProtobuf(NodeHttpRPC({ - baseUrl: "http://localhost:8000/twirp", -})); -``` - -For us in the browser, you can use the provided `fetch` based implementation, - -For example: - -```ts -export const jsonClient = new HaberdasherClientJSON(FetchRPC({ - baseUrl: "http://localhost:8000/twirp", -})); -export const protobufClient = new HaberdasherClientProtobuf(FetchRPC({ - baseUrl: "http://localhost:8000/twirp", -})); -``` - -Alternatively provided your own implementation. - -You can check the [full example](./example/client.ts) on how to integrate the client with `axios`. - -## Open API V3 - -You can now generate automatically an **OpenAPI V3** compliant spec out of your twirp protobuf definitions! - -We support the **Gateway** too! - -Add the following options to your `protoc` command: - -``` ---twirp_ts_opt="openapi_twirp" ---twirp_ts_opt="openapi_gateway" -``` - -Enjoy! - -## Migrate to V2 - -The v2 offers new functionalities and stability improvements, a few simple to migrate breaking changes -have been made during the upgrade. - -- ts-proto & @protobuf-ts are now `peerDepedencies` which means that you can now update them at your pace. - - Install either one of the 2 libraries (refer to Getting Started) - - -- The twirp generator now uses `protobuf-ts` as the default generator. pass the `--twirp_ts_opt="ts_proto"` -to use `ts-proto` - - -- We now generate a single `*.twirp.ts` per `.proto` file instead of 1 file per `service` definition. -if you have multiple services in one file you'd simply need to fix the imports - -## How to upgrade - -The package uses Semver Versioning system.
-However, keep in mind that the **code-generation** plugin is tightly coupled to the **twirp-ts** library. - -Make sure that whenever you update `twirp-ts` you re-generate the server and client code. This make sure that the generated code will be using the updated library - -## Licence - -MIT <3 diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.d.ts deleted file mode 100644 index 19ba426699..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { GeneratedFile } from "@protobuf-ts/plugin-framework"; -export declare class File implements GeneratedFile { - readonly fileName: string; - private content; - constructor(fileName: string); - getFilename(): string; - setContent(content: string): this; - getContent(): string; -} diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.js deleted file mode 100644 index 3a389abf43..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/file.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.File = void 0; -class File { - constructor(fileName) { - this.fileName = fileName; - this.content = ""; - } - getFilename() { - return this.fileName; - } - setContent(content) { - this.content = content; - return this; - } - getContent() { - return this.content; - } -} -exports.File = File; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.d.ts deleted file mode 100644 index d5b0bb84ca..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { FileDescriptorProto } from "@protobuf-ts/plugin-framework"; -import { MatchFunction } from "path-to-regexp"; -export declare enum Pattern { - POST = "post", - GET = "get", - PATCH = "patch", - PUT = "put", - DELETE = "delete" -} -export interface HttpRoute { - serviceName: string; - methodName: string; - packageName: string; - matchingPath: string; - matcher: MatchFunction; - httpMethod: Pattern; - bodyKey?: string; - responseBodyKey?: string; - additionalBindings?: HttpRoute; -} -export declare type HttpRulePattern = { - [key in Pattern]: string; -}; -export interface HttpOption extends HttpRulePattern { - body: string; - responseBody: string; - additional_bindings: HttpOption; -} -export declare function genGateway(ctx: any, files: readonly FileDescriptorProto[]): Promise; -export declare function getMethod(httpSpec: HttpOption): Pattern; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.js deleted file mode 100644 index 6461ecd406..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/gateway.js +++ /dev/null @@ -1,113 +0,0 @@ -"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.getMethod = exports.genGateway = exports.Pattern = void 0; -const fs_1 = require("fs"); -const ts_poet_1 = require("ts-poet"); -const path_to_regexp_1 = require("path-to-regexp"); -const Gateway = ts_poet_1.imp("Gateway@twirp-ts"); -const GatewayPattern = ts_poet_1.imp("Pattern@twirp-ts"); -const pathToRegexpMatch = ts_poet_1.imp("match@path-to-regexp"); -const debug = (content) => fs_1.writeFileSync(__dirname + "/debug.json", JSON.stringify(content, null, 2), "utf-8"); -var Pattern; -(function (Pattern) { - Pattern["POST"] = "post"; - Pattern["GET"] = "get"; - Pattern["PATCH"] = "patch"; - Pattern["PUT"] = "put"; - Pattern["DELETE"] = "delete"; -})(Pattern = exports.Pattern || (exports.Pattern = {})); -function genGateway(ctx, files) { - return __awaiter(this, void 0, void 0, function* () { - const httpRoutes = files.reduce((all, current) => { - current.service.forEach(service => { - service.method.forEach((method) => { - const options = ctx.interpreter.readOptions(method); - if (options && options["google.api.http"]) { - const httpSpec = options["google.api.http"]; - all.push(parseHttpOption(httpSpec, current.package || "", method.name, service.name)); - if (httpSpec.additional_bindings) { - all.push(parseHttpOption(httpSpec.additional_bindings, current.package || "", method.name, service.name)); - } - } - }); - }); - return all; - }, []); - return genGatewayHandler(httpRoutes).toStringWithImports(); - }); -} -exports.genGateway = genGateway; -function genGatewayHandler(httpRoute) { - const genRoutes = (method) => httpRoute.filter(route => route.httpMethod === method).map(route => { - return ts_poet_1.code ` - { - packageName: "${route.packageName}", - methodName: "${route.methodName}", - serviceName: "${route.serviceName}", - httpMethod: "${route.httpMethod}" as ${GatewayPattern}, - matchingPath: "${route.matchingPath}{:query_string(\\\\?.*)}?", - matcher: ${pathToRegexpMatch}("${route.matchingPath}{:query_string(\\\\?.*)}?"), - bodyKey: "${route.bodyKey || ""}", - responseBodyKey: "${route.responseBodyKey || ""}", - }, - `; - }); - return ts_poet_1.code ` - export function createGateway() { - return new ${Gateway}({ - post: [${ts_poet_1.joinCode(genRoutes(Pattern.POST), { on: "\n" })}], - get: [${ts_poet_1.joinCode(genRoutes(Pattern.GET), { on: "\n" })}], - put: [${ts_poet_1.joinCode(genRoutes(Pattern.PUT), { on: "\n" })}], - patch: [${ts_poet_1.joinCode(genRoutes(Pattern.PATCH), { on: "\n" })}], - delete: [${ts_poet_1.joinCode(genRoutes(Pattern.DELETE), { on: "\n" })}], - }) - } - `; -} -function parseHttpOption(httpOption, packageName, methodName, serviceName) { - const httpMethod = getMethod(httpOption); - const matchingUrl = httpOption[httpMethod]; - const matchingPath = matcher(matchingUrl); - const httpRoute = { - packageName, - methodName, - serviceName, - httpMethod: httpMethod, - matchingPath, - matcher: path_to_regexp_1.match(matchingPath), - bodyKey: httpOption.body, - responseBodyKey: httpOption.responseBody, - }; - return httpRoute; -} -function matcher(url) { - return url.split("/").map((urlSegment) => { - const matchURLParams = /{([0-9a-zA-Z_-]+)}/.exec(urlSegment); - if (matchURLParams && matchURLParams.length > 0) { - const paramName = matchURLParams[1]; - return "{:" + paramName + "}"; - } - else { - return urlSegment; - } - }).join("/"); -} -function getMethod(httpSpec) { - const possibleMethods = ["post", "get", "patch", "put", "delete"]; - for (const method of possibleMethods) { - if (method in httpSpec) { - return method; - } - } - throw new Error(`HTTP method not found`); -} -exports.getMethod = getMethod; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.d.ts deleted file mode 100644 index 5510386d2c..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { DescriptorRegistry } from "@protobuf-ts/plugin-framework"; -import { File } from "../file"; -export declare function genIndexFile(registry: DescriptorRegistry, files: File[]): File; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.js deleted file mode 100644 index b3253a2b6e..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/index-file.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genIndexFile = void 0; -const file_1 = require("../file"); -function genIndexFile(registry, files) { - const fileToExport = registry.allFiles() - .filter((fileDescriptor) => { - let hasExports = false; - registry.visitTypes(fileDescriptor, descriptor => { - // we are not interested in synthetic types like map entry messages - if (registry.isSyntheticElement(descriptor)) - return; - hasExports = true; - }); - return hasExports; - }) - .map((file => { var _a; return (_a = file.name) === null || _a === void 0 ? void 0 : _a.replace(".proto", ""); })); - const compiledFiles = files.filter(file => file.getContent() !== "").map(file => { - return file.fileName.replace(".ts", ""); - }); - if (compiledFiles.length > 0) { - fileToExport.push(...compiledFiles); - } - const indexFile = new file_1.File('index.ts'); - return indexFile.setContent(fileToExport.map((fileName) => { - return `export * from "./${fileName}";`; - }).join("\n")); -} -exports.genIndexFile = genIndexFile; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.d.ts deleted file mode 100644 index 1a26d17475..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { FileDescriptorProto } from "@protobuf-ts/plugin-framework"; -interface OpenAPIDoc { - fileName: string; - content: string; -} -export declare enum OpenAPIType { - GATEWAY = 0, - TWIRP = 1 -} -/** - * Generate twirp compliant OpenAPI doc - * @param ctx - * @param files - * @param type - */ -export declare function genOpenAPI(ctx: any, files: readonly FileDescriptorProto[], type: OpenAPIType): Promise; -export {}; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.js deleted file mode 100644 index 43c91a2420..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/open-api.js +++ /dev/null @@ -1,580 +0,0 @@ -"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.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.genOpenAPI = exports.OpenAPIType = void 0; -const plugin_framework_1 = require("@protobuf-ts/plugin-framework"); -const yaml = __importStar(require("yaml")); -const local_type_name_1 = require("../local-type-name"); -const gateway_1 = require("./gateway"); -var OpenAPIType; -(function (OpenAPIType) { - OpenAPIType[OpenAPIType["GATEWAY"] = 0] = "GATEWAY"; - OpenAPIType[OpenAPIType["TWIRP"] = 1] = "TWIRP"; -})(OpenAPIType = exports.OpenAPIType || (exports.OpenAPIType = {})); -/** - * Generate twirp compliant OpenAPI doc - * @param ctx - * @param files - * @param type - */ -function genOpenAPI(ctx, files, type) { - return __awaiter(this, void 0, void 0, function* () { - const documents = []; - files.forEach(file => { - file.service.forEach((service) => { - var _a, _b; - const document = { - openapi: "3.0.3", - info: { - title: `${service.name}`, - version: "1.0.0", - description: genDescription(ctx, service), - }, - paths: type === OpenAPIType.TWIRP ? - genTwirpPaths(ctx, file, service) : - genGatewayPaths(ctx, file, service), - components: genComponents(ctx, service.method), - }; - const fileName = type === OpenAPIType.TWIRP ? - `${(_a = service.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()}.twirp.openapi.yaml` : - `${(_b = service.name) === null || _b === void 0 ? void 0 : _b.toLowerCase()}.openapi.yaml`; - documents.push({ - fileName, - content: yaml.stringify(document), - }); - }); - }); - return documents; - }); -} -exports.genOpenAPI = genOpenAPI; -/** - * Generates OpenAPI Twirp URI paths - * @param ctx - * @param file - * @param service - */ -function genTwirpPaths(ctx, file, service) { - return service.method.reduce((paths, method) => { - const description = genDescription(ctx, method); - paths[`/${file.package ? file.package + "." : ""}${service.name}/${method.name}`] = { - post: { - summary: description, - operationId: `${service.name}_${method.name}`, - requestBody: { - required: true, - content: { - "application/json": { - schema: { - $ref: genRef(ctx, method.inputType) - } - } - } - }, - responses: { - "200": { - description: "OK", - content: { - "application/json": { - schema: { - $ref: genRef(ctx, method.outputType), - } - } - } - } - } - } - }; - return paths; - }, {}); -} -/** - * Generates OpenAPI Twrip Gateway URI paths - * @param ctx - * @param file - * @param service - */ -function genGatewayPaths(ctx, file, service) { - const registry = ctx.registry; - /** - * Build paths recursively - * @param method - * @param httpSpec - * @param paths - */ - function buildPath(method, httpSpec, paths) { - const httpMethod = gateway_1.getMethod(httpSpec); - const description = genDescription(ctx, method); - const pathItem = { - [httpMethod]: { - summary: description, - operationId: `${service.name}_${method.name}`, - } - }; - const inputMessage = registry.resolveTypeName(method.inputType); - const outPutMessage = registry.resolveTypeName(method.outputType); - // All methods except GET have body - if (httpMethod !== gateway_1.Pattern.GET) { - pathItem[httpMethod].requestBody = genGatewayBody(ctx, httpSpec, inputMessage); - } - // All methods might have params - pathItem[httpMethod].parameters = genGatewayParams(ctx, httpSpec, inputMessage); - pathItem[httpMethod].responses = genGatewayResponse(ctx, httpSpec, outPutMessage); - paths[`${httpSpec[httpMethod]}`] = pathItem; - if (httpSpec.additional_bindings) { - buildPath(method, httpSpec.additional_bindings, paths); - } - } - return service.method.reduce((paths, method) => { - const options = ctx.interpreter.readOptions(method); - if (!options || options && !options["google.api.http"]) { - return paths; - } - const httpSpec = options["google.api.http"]; - buildPath(method, httpSpec, paths); - return paths; - }, {}); -} -/** - * Generate OpenAPI Gateway Response - * @param ctx - * @param httpOptions - * @param message - */ -function genGatewayResponse(ctx, httpOptions, message) { - let schema = {}; - if (httpOptions.responseBody) { - schema = { - type: "object", - properties: { - [httpOptions.responseBody]: { - $ref: `#/components/schemas/${message.name}` - } - } - }; - } - else { - schema = { - $ref: `#/components/schemas/${message.name}` - }; - } - return { - "200": { - description: "OK", - content: { - "application/json": { - schema, - } - } - } - }; -} -/** - * Generate OpenAPI Gateway Response - * @param ctx - * @param httpOptions - * @param message - */ -function genGatewayBody(ctx, httpOptions, message) { - const schema = {}; - if (httpOptions.body === "*") { - schema.$ref = `#/components/schemas/${message.name}`; - } - else if (httpOptions.body) { - const subField = message.field.find(field => field.name === httpOptions.body); - if (!subField) { - throw new Error(`the body field ${httpOptions.body} cannot be mapped to message ${message.name}`); - } - schema.properties = { - [httpOptions.body]: genField(ctx, subField), - }; - } - return { - required: true, - content: { - "application/json": { - schema, - } - } - }; -} -/** - * Generates OpenAPI Gateway Parameters - * @param ctx - * @param httpOptions - * @param message - */ -function genGatewayParams(ctx, httpOptions, message) { - const httpMethod = gateway_1.getMethod(httpOptions); - const params = parseUriParams(httpOptions[httpMethod]); - const urlParams = message.field - .filter((field) => params.find((param) => param === field.name)) - .map((field) => { - return { - name: field.name, - in: "path", - required: true, - schema: Object.assign({}, genField(ctx, field)) - }; - }); - if (httpOptions.body === "*") { - return urlParams; - } - const queryString = message.field - .filter((field) => field.name !== httpOptions.body && - !params.find(param => param === field.name)) - .map((field) => { - return { - name: field.name, - in: "query", - schema: Object.assign({}, genField(ctx, field)) - }; - }); - return [ - ...queryString, - ...urlParams, - ]; -} -/** - * Generates OpenAPI Components - * @param ctx - * @param methods - */ -function genComponents(ctx, methods) { - const components = { - schemas: {} - }; - methods.reduce((schemas, method) => { - genSchema(ctx, schemas, method.inputType); - genSchema(ctx, schemas, method.outputType); - return schemas; - }, components.schemas); - return components; -} -/** - * Generate OpenAPI Schemas - * @param ctx - * @param schemas - * @param typeName - */ -function genSchema(ctx, schemas, typeName) { - const registry = ctx.registry; - const localName = localMessageName(ctx, typeName); - if (!localName) { - return; - } - const descriptor = registry.resolveTypeName(typeName); - if (schemas[localName]) { - return; - } - // Handle OneOf - if (descriptor.field.some((field) => registry.isUserDeclaredOneof(field))) { - schemas[localName] = genOneOfType(ctx, descriptor); - descriptor.oneofDecl.forEach((oneOfField, index) => { - const oneOfTyName = `${localName}_${capitalizeFirstLetter(oneOfField.name)}`; - const oneOfFields = descriptor.field.filter(field => { - return field.oneofIndex === index; - }); - schemas[oneOfTyName] = genOneOfTypeKind(ctx, descriptor, oneOfFields); - }); - } - else { - schemas[localName] = genType(ctx, descriptor); - } - descriptor.field.forEach((field) => { - if (field.type !== plugin_framework_1.FieldDescriptorProto_Type.MESSAGE || !registry.isMapField(field)) { - return; - } - if (registry.isMapField(field)) { - const entry = registry.resolveTypeName(field.typeName); - if (plugin_framework_1.DescriptorProto.is(entry)) { - const valueField = entry.field.find(fd => fd.number === 2); - if (!valueField) { - return; - } - if (valueField.type !== plugin_framework_1.FieldDescriptorProto_Type.MESSAGE) { - return; - } - field = valueField; - } - } - else if (registry.isSyntheticElement(descriptor)) { - return; - } - genSchema(ctx, schemas, field.typeName); - }); -} -/** - * Generate an OpenAPI type - * @param ctx - * @param message - */ -function genType(ctx, message) { - const description = genDescription(ctx, message); - return { - properties: genMessageProperties(ctx, message), - description, - }; -} -/** - * Generate a Protobuf to OpenAPI oneof type - * @param ctx - * @param message - */ -function genOneOfType(ctx, message) { - const description = genDescription(ctx, message); - const oneOf = { - allOf: [ - { - type: "object", - properties: genMessageProperties(ctx, message), - }, - ], - description, - }; - message.oneofDecl.forEach((field) => { - oneOf.allOf.push({ - $ref: `#/components/schemas/${message.name}_${capitalizeFirstLetter(field.name)}` - }); - }); - return oneOf; -} -/** - * Generate one of type - * @param ctx - * @param message - * @param oneOfFields - */ -function genOneOfTypeKind(ctx, message, oneOfFields) { - return { - oneOf: oneOfFields.map((oneOf) => { - return { - type: "object", - properties: { - [oneOf.name]: genField(ctx, oneOf), - } - }; - }) - }; -} -/** - * Generate message properties - * @param ctx - * @param message - */ -function genMessageProperties(ctx, message) { - const registry = ctx.registry; - return message.field.reduce((fields, field) => { - if (registry.isUserDeclaredOneof(field)) { - return fields; - } - fields[field.name] = genField(ctx, field); - return fields; - }, {}); -} -/** - * Generates OpenAPI $ref - * @param ctx - * @param name - */ -function genRef(ctx, name) { - const messageType = localMessageName(ctx, name); - return `#/components/schemas/${messageType}`; -} -/** - * Generate field definition - * @param ctx - * @param field - */ -function genField(ctx, field) { - let openApiType; - const registry = ctx.registry; - switch (field.type) { - case plugin_framework_1.FieldDescriptorProto_Type.DOUBLE: - case plugin_framework_1.FieldDescriptorProto_Type.FLOAT: - case plugin_framework_1.FieldDescriptorProto_Type.BOOL: - case plugin_framework_1.FieldDescriptorProto_Type.STRING: - case plugin_framework_1.FieldDescriptorProto_Type.FIXED32: - case plugin_framework_1.FieldDescriptorProto_Type.FIXED64: - case plugin_framework_1.FieldDescriptorProto_Type.INT32: - case plugin_framework_1.FieldDescriptorProto_Type.INT64: - case plugin_framework_1.FieldDescriptorProto_Type.SFIXED32: - case plugin_framework_1.FieldDescriptorProto_Type.SFIXED64: - case plugin_framework_1.FieldDescriptorProto_Type.SINT32: - case plugin_framework_1.FieldDescriptorProto_Type.SINT64: - case plugin_framework_1.FieldDescriptorProto_Type.UINT32: - case plugin_framework_1.FieldDescriptorProto_Type.UINT64: - openApiType = { - type: genScalar(field.type), - }; - break; - case plugin_framework_1.FieldDescriptorProto_Type.BYTES: - openApiType = { - type: "array", - items: { - type: "integer", - } - }; - break; - case plugin_framework_1.FieldDescriptorProto_Type.ENUM: - const enumType = registry.getEnumFieldEnum(field); - openApiType = genEnum(enumType); - break; - case plugin_framework_1.FieldDescriptorProto_Type.MESSAGE: - // Map type - if (registry.isMapField(field)) { - const mapTypeValue = registry.getMapValueType(field); - if (typeof mapTypeValue === "number") { - const scalar = mapTypeValue; - openApiType = { - type: "object", - additionalProperties: { - type: genScalar(scalar) - } - }; - } - else if (plugin_framework_1.EnumDescriptorProto.is(mapTypeValue)) { - openApiType = { - type: "object", - additionalProperties: Object.assign({}, genEnum(mapTypeValue)) - }; - } - else if (plugin_framework_1.DescriptorProto.is(mapTypeValue)) { - openApiType = { - type: "object", - additionalProperties: { - $ref: `#/components/schemas/${mapTypeValue.name}`, - } - }; - } - else { - throw new Error("map value not supported"); - } - break; - } - openApiType = { - $ref: genRef(ctx, field.typeName), - }; - break; - default: - throw new Error(`${field.name} of type ${field.type} not supported`); - } - const description = genDescription(ctx, field); - if (field.label === plugin_framework_1.FieldDescriptorProto_Label.REPEATED && !registry.isMapField(field)) { - return { - type: "array", - items: openApiType, - description: description || "", - }; - } - if (field.type !== plugin_framework_1.FieldDescriptorProto_Type.MESSAGE) { - openApiType.description = description || ""; - } - return openApiType; -} -/** - * Generates enum definition - * @param enumType - */ -function genEnum(enumType) { - return { - type: 'string', - enum: enumType.value.map((value) => { - return value.name; - }) - }; -} -/** - * Generate scalar - * @param type - */ -function genScalar(type) { - switch (type) { - case plugin_framework_1.FieldDescriptorProto_Type.BOOL: - return "boolean"; - case plugin_framework_1.FieldDescriptorProto_Type.DOUBLE: - case plugin_framework_1.FieldDescriptorProto_Type.FLOAT: - return "number"; - case plugin_framework_1.FieldDescriptorProto_Type.STRING: - return "string"; - case plugin_framework_1.FieldDescriptorProto_Type.FIXED32: - case plugin_framework_1.FieldDescriptorProto_Type.FIXED64: - case plugin_framework_1.FieldDescriptorProto_Type.INT32: - case plugin_framework_1.FieldDescriptorProto_Type.INT64: - case plugin_framework_1.FieldDescriptorProto_Type.SFIXED32: - case plugin_framework_1.FieldDescriptorProto_Type.SFIXED64: - case plugin_framework_1.FieldDescriptorProto_Type.SINT32: - case plugin_framework_1.FieldDescriptorProto_Type.SINT64: - case plugin_framework_1.FieldDescriptorProto_Type.UINT32: - case plugin_framework_1.FieldDescriptorProto_Type.UINT64: - return "integer"; - default: - throw new Error(`${type} is not a scalar value`); - } -} -/** - * Generates the description - * @param ctx - * @param descriptor - */ -function genDescription(ctx, descriptor) { - const registry = ctx.registry; - const source = registry.sourceCodeComments(descriptor); - const description = source.leading || source.trailing || ""; - return description.trim(); -} -/** - * Format protobuf name - * @param ctx - * @param name - */ -function localMessageName(ctx, name) { - const registry = ctx.registry; - const symbols = ctx.symbols; - const entry = symbols.find(registry.resolveTypeName(name)); - if (!entry) { - return ""; - } - return local_type_name_1.createLocalTypeName(entry.descriptor, registry); -} -function parseUriParams(uri) { - return getMatches(uri, /{([a-zA-Z_0-9]+)}/g, 1); -} -function getMatches(str, regex, index = 1) { - const matches = []; - let match; - while (match = regex.exec(str)) { - matches.push(match[index]); - } - return matches; -} -function capitalizeFirstLetter(str) { - return str.charAt(0).toUpperCase() + str.slice(1); -} diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.d.ts deleted file mode 100644 index 741c1f2f50..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { FileDescriptorProto } from "@protobuf-ts/plugin-framework"; -/** - * Generates the client and server implementation of the twirp - * specification. - * @param ctx - * @param file - */ -export declare function generateTwirp(ctx: any, file: FileDescriptorProto): Promise; -/** - * Generates the client implementation of the twirp specification. - * @param ctx - * @param file - */ -export declare function generateTwirpClient(ctx: any, file: FileDescriptorProto): Promise; -/** - * Generates the server implementation of the twirp specification. - * @param ctx - * @param file - */ -export declare function generateTwirpServer(ctx: any, file: FileDescriptorProto): Promise; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.js deleted file mode 100644 index 19f489741f..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/gen/twirp.js +++ /dev/null @@ -1,448 +0,0 @@ -"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()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.generateTwirpServer = exports.generateTwirpClient = exports.generateTwirp = void 0; -const ts_poet_1 = require("ts-poet"); -const camel_case_1 = require("camel-case"); -const local_type_name_1 = require("../local-type-name"); -const path_1 = __importDefault(require("path")); -const TwirpServer = ts_poet_1.imp("TwirpServer@twirp-ts"); -const Interceptor = ts_poet_1.imp("Interceptor@twirp-ts"); -const RouterEvents = ts_poet_1.imp("RouterEvents@twirp-ts"); -const chainInterceptors = ts_poet_1.imp("chainInterceptors@twirp-ts"); -const TwirpContentType = ts_poet_1.imp("TwirpContentType@twirp-ts"); -const TwirpContext = ts_poet_1.imp("TwirpContext@twirp-ts"); -const TwirpError = ts_poet_1.imp("TwirpError@twirp-ts"); -const TwirpErrorCode = ts_poet_1.imp("TwirpErrorCode@twirp-ts"); -/** - * Generates the client and server implementation of the twirp - * specification. - * @param ctx - * @param file - */ -function generateTwirp(ctx, file) { - return __awaiter(this, void 0, void 0, function* () { - const contents = file.service.map((service) => { - return ts_poet_1.joinCode([ - genClient(ctx, file, service), - genServer(ctx, file, service), - ], { on: "\n\n" }); - }); - return ts_poet_1.joinCode(contents, { on: "\n\n" }).toStringWithImports(); - }); -} -exports.generateTwirp = generateTwirp; -/** - * Generates the client implementation of the twirp specification. - * @param ctx - * @param file - */ -function generateTwirpClient(ctx, file) { - return __awaiter(this, void 0, void 0, function* () { - const contents = file.service.map((service) => { - return ts_poet_1.joinCode([genClient(ctx, file, service)], { on: "\n\n" }); - }); - return ts_poet_1.joinCode(contents, { on: "\n\n" }).toStringWithImports(); - }); -} -exports.generateTwirpClient = generateTwirpClient; -/** - * Generates the server implementation of the twirp specification. - * @param ctx - * @param file - */ -function generateTwirpServer(ctx, file) { - return __awaiter(this, void 0, void 0, function* () { - const contents = file.service.map((service) => { - return ts_poet_1.joinCode([genServer(ctx, file, service)], { on: "\n\n" }); - }); - return ts_poet_1.joinCode(contents, { on: "\n\n" }).toStringWithImports(); - }); -} -exports.generateTwirpServer = generateTwirpServer; -function genClient(ctx, file, service) { - return ts_poet_1.code ` - //==================================// - // Client Code // - //==================================// - - interface Rpc { - request( - service: string, - method: string, - contentType: "application/json" | "application/protobuf", - data: object | Uint8Array, - ): Promise; - } - - ${genTwirpClientInterface(ctx, file, service)} - - ${genTwripClientJSONImpl(ctx, file, service)} - ${genTwripClientProtobufImpl(ctx, file, service)} - `; -} -function genTwirpClientInterface(ctx, file, service) { - const methods = service.method.map((method) => { - return ts_poet_1.code ` - ${formatMethodName(ctx, method.name)}(request: ${relativeMessageName(ctx, file, method.inputType)}): Promise<${relativeMessageName(ctx, file, method.outputType)}> - `; - }); - return ts_poet_1.code ` - export interface ${service.name}Client { - ${ts_poet_1.joinCode(methods, { on: "\n" })} - } - `; -} -/** - * Generates the json client - * @param ctx - * @param file - * @param service - */ -function genTwripClientJSONImpl(ctx, file, service) { - const methods = service.method.map((method) => { - return ts_poet_1.code ` - ${formatMethodName(ctx, method.name)}(request: ${relativeMessageName(ctx, file, method.inputType)}): Promise<${relativeMessageName(ctx, file, method.outputType)}> { - const data = ${relativeMessageName(ctx, file, method.inputType)}.${encodeJSON(ctx, "request")}; - const promise = this.rpc.request( - "${file.package ? file.package + "." : ""}${service.name}", - "${formatMethodName(ctx, method.name)}", - "application/json", - data as object, - ); - return promise.then((data) => ${relativeMessageName(ctx, file, method.outputType)}.${decodeJSON(ctx, "data as any")}); - } - `; - }); - const bindings = service.method.map((method) => { - return ts_poet_1.code ` - this.${formatMethodName(ctx, method.name)}.bind(this); - `; - }); - return ts_poet_1.code ` - export class ${service.name}ClientJSON implements ${service.name}Client { - private readonly rpc: Rpc; - constructor(rpc: Rpc) { - this.rpc = rpc; - ${ts_poet_1.joinCode(bindings, { on: `\n` })} - } - ${ts_poet_1.joinCode(methods, { on: `\n\n` })} - } - `; -} -/** - * Generate the protobuf client - * @param ctx - * @param file - * @param service - */ -function genTwripClientProtobufImpl(ctx, file, service) { - const methods = service.method.map((method) => { - return ts_poet_1.code ` - ${formatMethodName(ctx, method.name)}(request: ${relativeMessageName(ctx, file, method.inputType)}): Promise<${relativeMessageName(ctx, file, method.outputType)}> { - const data = ${relativeMessageName(ctx, file, method.inputType)}.${encodeProtobuf(ctx, "request")}; - const promise = this.rpc.request( - "${file.package ? file.package + "." : ""}${service.name}", - "${formatMethodName(ctx, method.name)}", - "application/protobuf", - data, - ); - return promise.then((data) => ${relativeMessageName(ctx, file, method.outputType)}.${decodeProtobuf(ctx, "data as Uint8Array")}); - } - `; - }); - const bindings = service.method.map((method) => { - return ts_poet_1.code ` - this.${formatMethodName(ctx, method.name)}.bind(this); - `; - }); - return ts_poet_1.code ` - export class ${service.name}ClientProtobuf implements ${service.name}Client { - private readonly rpc: Rpc; - constructor(rpc: Rpc) { - this.rpc = rpc; - ${ts_poet_1.joinCode(bindings, { on: `\n` })} - } - ${ts_poet_1.joinCode(methods, { on: `\n\n` })} - } - `; -} -/** - * Generates twirp service definition - * @param ctx - * @param file - * @param service - */ -function genTwirpService(ctx, file, service) { - const importService = service.name; - const serverMethods = service.method.map((method) => { - return ts_poet_1.code ` - ${formatMethodName(ctx, method.name)}(ctx: T, request: ${relativeMessageName(ctx, file, method.inputType)}): Promise<${relativeMessageName(ctx, file, method.outputType)}> - `; - }); - const methodEnum = service.method.map((method) => { - return ts_poet_1.code `${formatMethodName(ctx, method.name)} = "${formatMethodName(ctx, method.name)}",`; - }); - const methodList = service.method.map((method) => { - return ts_poet_1.code `${importService}Method.${formatMethodName(ctx, method.name)}`; - }); - return ts_poet_1.code ` - export interface ${importService}Twirp { - ${ts_poet_1.joinCode(serverMethods, { on: `\n` })} - } - - export enum ${importService}Method { - ${ts_poet_1.joinCode(methodEnum, { on: "\n" })} - } - - export const ${importService}MethodList = [${ts_poet_1.joinCode(methodList, { on: "," })}]; - `; -} -/** - * Generates the twirp server specification - * @param ctx - * @param file - * @param service - */ -function genServer(ctx, file, service) { - var _a; - const importService = service.name; - return ts_poet_1.code ` - - //==================================// - // Server Code // - //==================================// - - ${genTwirpService(ctx, file, service)} - - export function create${importService}Server(service: ${importService}Twirp) { - return new ${TwirpServer}<${importService}Twirp, T>({ - service, - packageName: "${(_a = file.package) !== null && _a !== void 0 ? _a : ''}", - serviceName: "${importService}", - methodList: ${importService}MethodList, - matchRoute: match${importService}Route, - }) - } - ${genRouteHandler(ctx, file, service)} - ${ts_poet_1.joinCode(genHandleRequestMethod(ctx, file, service), { on: "\n\n" })} - ${ts_poet_1.joinCode(genHandleJSONRequest(ctx, file, service), { on: "\n\n" })} - ${ts_poet_1.joinCode(genHandleProtobufRequest(ctx, file, service), { on: "\n\n" })} -`; -} -/** - * Generate the route handler - * @param ctx - * @param file - * @param service - */ -function genRouteHandler(ctx, file, service) { - const cases = service.method.map(method => ts_poet_1.code ` - case "${formatMethodName(ctx, method.name)}": - return async (ctx: T, service: ${service.name}Twirp ,data: Buffer, interceptors?: ${Interceptor}[]) => { - ctx = {...ctx, methodName: "${formatMethodName(ctx, method.name)}" } - await events.onMatch(ctx); - return handle${formatMethodName(ctx, method.name, service.name)}Request(ctx, service, data, interceptors) - } - `); - return ts_poet_1.code ` - function match${service.name}Route(method: string, events: ${RouterEvents}) { - switch(method) { - ${ts_poet_1.joinCode(cases, { on: `\n` })} - default: - events.onNotFound(); - const msg = \`no handler found\`; - throw new ${TwirpError}(${TwirpErrorCode}.BadRoute, msg) - } - } - `; -} -/** - * Generate request handler for methods - * @param ctx - * @param file - * @param service - */ -function genHandleRequestMethod(ctx, file, service) { - return service.method.map(method => { - return ts_poet_1.code ` - function handle${formatMethodName(ctx, method.name, service.name)}Request(ctx: T, service: ${service.name}Twirp ,data: Buffer, interceptors?: ${Interceptor}[]): Promise { - switch (ctx.contentType) { - case ${TwirpContentType}.JSON: - return handle${formatMethodName(ctx, method.name, service.name)}JSON(ctx, service, data, interceptors); - case ${TwirpContentType}.Protobuf: - return handle${formatMethodName(ctx, method.name, service.name)}Protobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new ${TwirpError}(${TwirpErrorCode}.BadRoute, msg); - } - } - `; - }); -} -/** - * Generate a JSON request handler for a method - * @param ctx - * @param file - * @param service - */ -function genHandleJSONRequest(ctx, file, service) { - return service.method.map(method => { - return ts_poet_1.code ` - - async function handle${formatMethodName(ctx, method.name, service.name)}JSON(ctx: T, service: ${service.name}Twirp, data: Buffer, interceptors?: ${Interceptor}[]) { - let request: ${relativeMessageName(ctx, file, method.inputType)} - let response: ${relativeMessageName(ctx, file, method.outputType)} - - try { - const body = JSON.parse(data.toString() || "{}"); - request = ${relativeMessageName(ctx, file, method.inputType)}.${decodeJSON(ctx, "body")}; - } catch(e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new ${TwirpError}(${TwirpErrorCode}.Malformed, msg).withCause(e, true); - } - } - - if (interceptors && interceptors.length > 0) { - const interceptor = ${chainInterceptors}(...interceptors) as Interceptor - response = await interceptor(ctx, request!, (ctx, inputReq) => { - return service.${formatMethodName(ctx, method.name)}(ctx, inputReq); - }); - } else { - response = await service.${formatMethodName(ctx, method.name)}(ctx, request!) - } - - return JSON.stringify(${relativeMessageName(ctx, file, method.outputType)}.${encodeJSON(ctx, "response")} as string); - } - `; - }); -} -/** - * Generates a protobuf request handler - * @param ctx - * @param file - * @param service - */ -function genHandleProtobufRequest(ctx, file, service) { - return service.method.map(method => { - return ts_poet_1.code ` - - async function handle${formatMethodName(ctx, method.name, service.name)}Protobuf(ctx: T, service: ${service.name}Twirp, data: Buffer, interceptors?: ${Interceptor}[]) { - let request: ${relativeMessageName(ctx, file, method.inputType)} - let response: ${relativeMessageName(ctx, file, method.outputType)} - - try { - request = ${relativeMessageName(ctx, file, method.inputType)}.${decodeProtobuf(ctx, "data")}; - } catch(e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new ${TwirpError}(${TwirpErrorCode}.Malformed, msg).withCause(e, true); - } - } - - if (interceptors && interceptors.length > 0) { - const interceptor = ${chainInterceptors}(...interceptors) as Interceptor - response = await interceptor(ctx, request!, (ctx, inputReq) => { - return service.${formatMethodName(ctx, method.name)}(ctx, inputReq); - }); - } else { - response = await service.${formatMethodName(ctx, method.name)}(ctx, request!) - } - - return Buffer.from(${relativeMessageName(ctx, file, method.outputType)}.${encodeProtobuf(ctx, "response")}); - } - `; - }); -} -var SupportedLibs; -(function (SupportedLibs) { - SupportedLibs["TSProto"] = "ts-proto"; - SupportedLibs["ProtobufTS"] = "protobuf-ts"; -})(SupportedLibs || (SupportedLibs = {})); -function validateLib(lib) { - switch (lib) { - case "ts-proto": - return SupportedLibs.TSProto; - case "protobuf-ts": - return SupportedLibs.ProtobufTS; - default: - throw new Error(`library ${lib} not supported`); - } -} -function decodeJSON(ctx, dataName) { - const protoLib = validateLib(ctx.lib); - if (protoLib === SupportedLibs.TSProto) { - return ts_poet_1.code `fromJSON(${dataName})`; - } - return ts_poet_1.code `fromJson(${dataName}, { ignoreUnknownFields: true })`; -} -function encodeJSON(ctx, dataName) { - const protoLib = validateLib(ctx.lib); - if (protoLib === SupportedLibs.TSProto) { - return ts_poet_1.code `toJSON(${dataName})`; - } - return ts_poet_1.code `toJson(${dataName}, {useProtoFieldName: true, emitDefaultValues: ${ctx.emitDefaultValues ? 'true' : 'false'}})`; -} -function encodeProtobuf(ctx, dataName) { - const protoLib = validateLib(ctx.lib); - if (protoLib === SupportedLibs.TSProto) { - return ts_poet_1.code `encode(${dataName}).finish()`; - } - return ts_poet_1.code `toBinary(${dataName})`; -} -function decodeProtobuf(ctx, dataName) { - const protoLib = validateLib(ctx.lib); - if (protoLib === SupportedLibs.TSProto) { - return ts_poet_1.code `decode(${dataName})`; - } - return ts_poet_1.code `fromBinary(${dataName})`; -} -function relativeMessageName(ctx, file, messageName) { - const registry = ctx.registry; - const symbols = ctx.symbols; - const entry = symbols.find(registry.resolveTypeName(messageName)); - if (!entry) { - throw new Error(`Message ${messageName} not found`); - } - const messageType = local_type_name_1.createLocalTypeName(entry.descriptor, registry); - const relativePath = createRelativeImportPath(file.name, entry.file.getFilename()); - return ts_poet_1.code `${ts_poet_1.imp(`${messageType}@${relativePath}`)}`; -} -/** - * Create a relative path for an import statement like - * `import {Foo} from "./foo"` - */ -function createRelativeImportPath(currentPath, pathToImportFrom) { - // create relative path to the file to import - let fromPath = path_1.default.relative(path_1.default.dirname(currentPath), pathToImportFrom); - // on windows, this may add backslash directory separators. - // we replace them with forward slash. - if (path_1.default.sep !== "/") { - fromPath = fromPath.split(path_1.default.sep).join("/"); - } - // drop file extension - fromPath = fromPath.replace(/\.[a-z]+$/, ''); - // make sure to start with './' to signal relative path to module resolution - if (!fromPath.startsWith('../') && !fromPath.startsWith('./')) { - fromPath = './' + fromPath; - } - return fromPath; -} -function formatMethodName(ctx, methodName, serviceName) { - if (methodName === undefined) - return undefined; - serviceName = serviceName || ""; - return ctx.camelCase ? camel_case_1.camelCase(serviceName) + camel_case_1.camelCase(methodName) : serviceName + methodName; -} diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.d.ts deleted file mode 100644 index a1ffeba3d4..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.d.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { DescriptorProto, DescriptorRegistry, EnumDescriptorProto, FieldDescriptorProto, FieldOptions_JSType, FileDescriptorProto, MethodDescriptorProto, ServiceDescriptorProto } from "@protobuf-ts/plugin-framework"; -import * as rt from "@protobuf-ts/runtime"; -declare type JsonOptionsMap = { - [extensionName: string]: rt.JsonValue; -}; -/** - * Code borrowed from @protobuf-js/plugin all the rights of this code goes to the author - * - * - * The protobuf-ts plugin generates code for message types from descriptor - * protos. This class also creates message types from descriptor protos, but - * but instead of generating code, it creates the type in-memory. - * - * This means that it is possible, for example, to read a message from binary - * data without any generated code. - * - * The protobuf-ts plugin uses the interpreter to read custom options at - * compile time and convert them to JSON. - * - * Since the interpreter creates fully functional message types including - * reflection information, the protobuf-ts plugin uses the interpreter as - * single source of truth for generating message interfaces and reflection - * information. - */ -export declare class Interpreter { - private readonly registry; - private readonly messageTypes; - private readonly enumInfos; - constructor(registry: DescriptorRegistry); - /** - * Returns a map of custom options for the provided descriptor. - * The map is an object indexed by the extension field name. - * The value of the extension field is provided in JSON format. - * - * This works by: - * - searching for option extensions for the given descriptor proto - * in the registry. - * - for example, providing a google.protobuf.FieldDescriptorProto - * searches for all extensions on google.protobuf.FieldOption. - * - extensions are just fields, so we build a synthetic message - * type with all the (extension) fields. - * - the field names are created by DescriptorRegistry.getExtensionName(), - * which produces for example "spec.option_name", where "spec" is - * the package and "option_name" is the field name. - * - then we concatenate all unknown field data of the option and - * read the data with our synthetic message type - * - the read message is then simply converted to JSON - * - * The optional "optionBlacklist" will exclude matching options. - * The blacklist can contain exact extension names, or use the wildcard - * character `*` to match a namespace or even all options. - * - * Note that options on options (google.protobuf.*Options) are not - * supported. - */ - readOptions(descriptor: FieldDescriptorProto | MethodDescriptorProto | FileDescriptorProto | ServiceDescriptorProto | DescriptorProto, excludeOptions?: readonly string[]): JsonOptionsMap | undefined; - /** - * Get a runtime type for the given message type name or message descriptor. - * Creates the type if not created previously. - * - * Honors our file option "ts.exclude_options". - */ - getMessageType(descriptorOrTypeName: string | DescriptorProto): rt.IMessageType; - /** - * Get runtime information for an enum. - * Creates the info if not created previously. - */ - getEnumInfo(descriptorOrTypeName: string | EnumDescriptorProto): rt.EnumInfo; - /** - * Create a name for a field or a oneof. - * - use lowerCamelCase - * - escape reserved object property names by - * adding '$' at the end - * - don't have to escape reserved keywords - */ - private static createTypescriptNameForField; - private buildMessageType; - private buildFieldInfos; - private buildFieldInfo; - protected buildEnumInfo(descriptor: EnumDescriptorProto): rt.EnumInfo; - protected determineNonDefaultLongType(scalarType: rt.ScalarType, jsTypeOption?: FieldOptions_JSType): rt.LongType | undefined; - /** - * Is this a 64 bit integral or fixed type? - */ - static isLongValueType(type: rt.ScalarType): boolean; -} -/** - * Builds a typescript enum lookup object, - * compatible with enums generated by @protobuf-ts/plugin. - */ -export declare class RuntimeEnumBuilder { - private readonly values; - add(name: string, number: number): void; - isValid(): boolean; - build(): rt.EnumInfo[1]; -} -export {}; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.js deleted file mode 100644 index b7963bcb9d..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/interpreter.js +++ /dev/null @@ -1,436 +0,0 @@ -"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.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RuntimeEnumBuilder = exports.Interpreter = void 0; -const plugin_framework_1 = require("@protobuf-ts/plugin-framework"); -const rt = __importStar(require("@protobuf-ts/runtime")); -const runtime_1 = require("@protobuf-ts/runtime"); -/** - * Code borrowed from @protobuf-js/plugin all the rights of this code goes to the author - * - * - * The protobuf-ts plugin generates code for message types from descriptor - * protos. This class also creates message types from descriptor protos, but - * but instead of generating code, it creates the type in-memory. - * - * This means that it is possible, for example, to read a message from binary - * data without any generated code. - * - * The protobuf-ts plugin uses the interpreter to read custom options at - * compile time and convert them to JSON. - * - * Since the interpreter creates fully functional message types including - * reflection information, the protobuf-ts plugin uses the interpreter as - * single source of truth for generating message interfaces and reflection - * information. - */ -class Interpreter { - constructor(registry) { - this.registry = registry; - this.messageTypes = new Map(); - this.enumInfos = new Map(); - } - /** - * Returns a map of custom options for the provided descriptor. - * The map is an object indexed by the extension field name. - * The value of the extension field is provided in JSON format. - * - * This works by: - * - searching for option extensions for the given descriptor proto - * in the registry. - * - for example, providing a google.protobuf.FieldDescriptorProto - * searches for all extensions on google.protobuf.FieldOption. - * - extensions are just fields, so we build a synthetic message - * type with all the (extension) fields. - * - the field names are created by DescriptorRegistry.getExtensionName(), - * which produces for example "spec.option_name", where "spec" is - * the package and "option_name" is the field name. - * - then we concatenate all unknown field data of the option and - * read the data with our synthetic message type - * - the read message is then simply converted to JSON - * - * The optional "optionBlacklist" will exclude matching options. - * The blacklist can contain exact extension names, or use the wildcard - * character `*` to match a namespace or even all options. - * - * Note that options on options (google.protobuf.*Options) are not - * supported. - */ - readOptions(descriptor, excludeOptions = []) { - // if options message not present, there cannot be any extension options - if (!descriptor.options) { - return undefined; - } - // if no unknown fields present, can exit early - let unknownFields = rt.UnknownFieldHandler.list(descriptor.options); - if (!unknownFields.length) { - return undefined; - } - let optionsTypeName; - if (plugin_framework_1.FieldDescriptorProto.is(descriptor) && - plugin_framework_1.DescriptorProto.is(this.registry.parentOf(descriptor))) { - optionsTypeName = "google.protobuf.FieldOptions"; - } - else if (plugin_framework_1.MethodDescriptorProto.is(descriptor)) { - optionsTypeName = "google.protobuf.MethodOptions"; - } - else if (this.registry.fileOf(descriptor) === descriptor) { - optionsTypeName = "google.protobuf.FileOptions"; - } - else if (plugin_framework_1.ServiceDescriptorProto.is(descriptor)) { - optionsTypeName = "google.protobuf.ServiceOptions"; - } - else if (plugin_framework_1.DescriptorProto.is(descriptor)) { - optionsTypeName = "google.protobuf.MessageOptions"; - } - else { - throw new Error("interpreter expected field or method descriptor"); - } - // create a synthetic type that has all extension fields for field options - const typeName = `$synthetic.${optionsTypeName}`; - let type = this.messageTypes.get(typeName); - if (!type) { - type = new rt.MessageType(typeName, this.buildFieldInfos(this.registry.extensionsFor(optionsTypeName), excludeOptions), {}); - this.messageTypes.set(typeName, type); - } - // concat all unknown field data - const unknownWriter = new rt.BinaryWriter(); - for (let { no, wireType, data } of unknownFields) { - unknownWriter.tag(no, wireType).raw(data); - } - const unknownBytes = unknownWriter.finish(); - // read data, to json - const json = type.toJson(type.fromBinary(unknownBytes, { readUnknownField: false })); - runtime_1.assert(rt.isJsonObject(json)); - // apply blacklist - if (excludeOptions) { - // we distinguish between literal blacklist (no wildcard) - let literals = excludeOptions.filter((str) => !str.includes("*")); - // and wildcard, which we turn into RE - let wildcards = excludeOptions - .filter((str) => str.includes("*")) - .map((str) => str.replace(/[.+\-?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*")); - // then we delete the blacklisted options - for (let key of Object.keys(json)) { - for (let str of literals) - if (key === str) - delete json[key]; - for (let re of wildcards) - if (key.match(re)) - delete json[key]; - } - } - // were *all* options blacklisted? - if (!Object.keys(json).length) { - return undefined; - } - return json; - } - /** - * Get a runtime type for the given message type name or message descriptor. - * Creates the type if not created previously. - * - * Honors our file option "ts.exclude_options". - */ - getMessageType(descriptorOrTypeName) { - let descriptor = typeof descriptorOrTypeName === "string" - ? this.registry.resolveTypeName(descriptorOrTypeName) - : descriptorOrTypeName; - let typeName = this.registry.makeTypeName(descriptor); - runtime_1.assert(plugin_framework_1.DescriptorProto.is(descriptor)); - let type = this.messageTypes.get(typeName); - if (!type) { - type = this.buildMessageType(typeName, descriptor.field, []); - this.messageTypes.set(typeName, type); - } - return type; - } - /** - * Get runtime information for an enum. - * Creates the info if not created previously. - */ - getEnumInfo(descriptorOrTypeName) { - var _a; - let descriptor = typeof descriptorOrTypeName === "string" - ? this.registry.resolveTypeName(descriptorOrTypeName) - : descriptorOrTypeName; - let typeName = this.registry.makeTypeName(descriptor); - runtime_1.assert(plugin_framework_1.EnumDescriptorProto.is(descriptor)); - let enumInfo = (_a = this.enumInfos.get(typeName)) !== null && _a !== void 0 ? _a : this.buildEnumInfo(descriptor); - this.enumInfos.set(typeName, enumInfo); - return enumInfo; - } - /** - * Create a name for a field or a oneof. - * - use lowerCamelCase - * - escape reserved object property names by - * adding '$' at the end - * - don't have to escape reserved keywords - */ - static createTypescriptNameForField(descriptor, additionalReservedWords = "", escapeCharacter = "$") { - const reservedObjectProperties = "__proto__,toString".split(","); - let name = descriptor.name; - runtime_1.assert(name !== undefined); - name = rt.lowerCamelCase(name); - if (reservedObjectProperties.includes(name)) { - name = name + escapeCharacter; - } - if (additionalReservedWords.split(",").includes(name)) { - name = name + escapeCharacter; - } - return name; - } - buildMessageType(typeName, fields, excludeOptions) { - let desc = this.registry.resolveTypeName(typeName); - runtime_1.assert(plugin_framework_1.DescriptorProto.is(desc)); - return new rt.MessageType(typeName, this.buildFieldInfos(fields, excludeOptions), this.readOptions(desc, excludeOptions)); - } - // skips GROUP field type - buildFieldInfos(fieldDescriptors, excludeOptions) { - const result = []; - for (const fd of fieldDescriptors) { - if (this.registry.isGroupField(fd)) { - // We ignore groups. - // Note that groups are deprecated and not supported in proto3. - continue; - } - const fi = this.buildFieldInfo(fd, excludeOptions); - if (fi) { - result.push(fi); - } - } - return result; - } - // throws on unexpected field types, notably GROUP - buildFieldInfo(fieldDescriptor, excludeOptions) { - var _a, _b; - runtime_1.assert(fieldDescriptor.number); - runtime_1.assert(fieldDescriptor.name); - let info = {}; - // no: The field number of the .proto field. - info.no = fieldDescriptor.number; - // name: The original name of the .proto field. - info.name = fieldDescriptor.name; - // kind: discriminator - info.kind = undefined; - // localName: The name of the field in the runtime. - let localName = Interpreter.createTypescriptNameForField(fieldDescriptor); - if (localName !== rt.lowerCamelCase(fieldDescriptor.name)) { - info.localName = localName; - } - // jsonName: The name of the field in JSON. - const jsonName = this.registry.getFieldCustomJsonName(fieldDescriptor); - if (jsonName !== undefined) { - info.jsonName = jsonName; - } - // oneof: The name of the `oneof` group, if this field belongs to one. - if (this.registry.isUserDeclaredOneof(fieldDescriptor)) { - runtime_1.assert(fieldDescriptor.oneofIndex !== undefined); - const parentDescriptor = this.registry.parentOf(fieldDescriptor); - runtime_1.assert(plugin_framework_1.DescriptorProto.is(parentDescriptor)); - const ooDecl = parentDescriptor.oneofDecl[fieldDescriptor.oneofIndex]; - info.oneof = Interpreter.createTypescriptNameForField(ooDecl); - } - // repeat: Is the field repeated? - if (this.registry.isUserDeclaredRepeated(fieldDescriptor)) { - let packed = this.registry.shouldBePackedRepeated(fieldDescriptor); - info.repeat = packed ? rt.RepeatType.PACKED : rt.RepeatType.UNPACKED; - } - // opt: Is the field optional? - if (this.registry.isScalarField(fieldDescriptor) || - this.registry.isEnumField(fieldDescriptor)) { - if (this.registry.isUserDeclaredOptional(fieldDescriptor)) { - info.opt = true; - } - } - // jsonName: The name for JSON serialization / deserialization. - if (fieldDescriptor.jsonName) { - info.jsonName = fieldDescriptor.jsonName; - } - if (this.registry.isScalarField(fieldDescriptor)) { - // kind: - info.kind = "scalar"; - // T: Scalar field type. - info.T = this.registry.getScalarFieldType(fieldDescriptor); - // L?: JavaScript long type - let L = this.determineNonDefaultLongType(info.T, (_a = fieldDescriptor.options) === null || _a === void 0 ? void 0 : _a.jstype); - if (L !== undefined) { - info.L = L; - } - } - else if (this.registry.isEnumField(fieldDescriptor)) { - // kind: - info.kind = "enum"; - // T: Return enum field type info. - info.T = () => this.getEnumInfo(this.registry.getEnumFieldEnum(fieldDescriptor)); - } - else if (this.registry.isMessageField(fieldDescriptor)) { - // kind: - info.kind = "message"; - // T: Return message field type handler. - info.T = () => this.getMessageType(this.registry.getMessageFieldMessage(fieldDescriptor)); - } - else if (this.registry.isMapField(fieldDescriptor)) { - // kind: - info.kind = "map"; - // K: Map field key type. - info.K = this.registry.getMapKeyType(fieldDescriptor); - // V: Map field value type. - info.V = {}; - let mapV = this.registry.getMapValueType(fieldDescriptor); - if (typeof mapV === "number") { - info.V = { - kind: "scalar", - T: mapV, - }; - let L = this.determineNonDefaultLongType(info.V.T, (_b = fieldDescriptor.options) === null || _b === void 0 ? void 0 : _b.jstype); - if (L !== undefined) { - info.V.L = L; - } - } - else if (plugin_framework_1.DescriptorProto.is(mapV)) { - const messageDescriptor = mapV; - info.V = { - kind: "message", - T: () => this.getMessageType(messageDescriptor), - }; - } - else { - const enumDescriptor = mapV; - info.V = { - kind: "enum", - T: () => this.getEnumInfo(enumDescriptor), - }; - } - } - else { - throw new Error(`Unexpected field type for ${this.registry.formatQualifiedName(fieldDescriptor)}`); - } - // extension fields are treated differently - if (this.registry.isExtension(fieldDescriptor)) { - let extensionName = this.registry.getExtensionName(fieldDescriptor); - // always optional (unless repeated...) - info.opt = info.repeat === undefined || info.repeat === rt.RepeatType.NO; - info.name = extensionName; - info.localName = extensionName; - info.jsonName = extensionName; - info.oneof = undefined; - } - else { - info.options = this.readOptions(fieldDescriptor, excludeOptions); - } - return info; - } - buildEnumInfo(descriptor) { - let sharedPrefix = this.registry.findEnumSharedPrefix(descriptor, `${descriptor.name}`); - let hasZero = descriptor.value.some((v) => v.number === 0); - let builder = new RuntimeEnumBuilder(); - if (!hasZero) { - throw new Error("must provide zero value for enum " + descriptor.name); - } - for (let enumValueDescriptor of descriptor.value) { - let name = enumValueDescriptor.name; - runtime_1.assert(name !== undefined); - runtime_1.assert(enumValueDescriptor.number !== undefined); - if (sharedPrefix) { - name = name.substring(sharedPrefix.length); - } - builder.add(name, enumValueDescriptor.number); - } - let enumInfo = [ - this.registry.makeTypeName(descriptor), - builder.build(), - ]; - if (sharedPrefix) { - enumInfo = [enumInfo[0], enumInfo[1], sharedPrefix]; - } - return enumInfo; - } - determineNonDefaultLongType(scalarType, jsTypeOption) { - if (!Interpreter.isLongValueType(scalarType)) { - return undefined; - } - if (jsTypeOption !== undefined) { - switch (jsTypeOption) { - case plugin_framework_1.FieldOptions_JSType.JS_STRING: - // omitting L equals to STRING - return undefined; - case plugin_framework_1.FieldOptions_JSType.JS_NORMAL: - return rt.LongType.BIGINT; - case plugin_framework_1.FieldOptions_JSType.JS_NUMBER: - return rt.LongType.NUMBER; - } - } - return undefined; - } - /** - * Is this a 64 bit integral or fixed type? - */ - static isLongValueType(type) { - switch (type) { - case rt.ScalarType.INT64: - case rt.ScalarType.UINT64: - case rt.ScalarType.FIXED64: - case rt.ScalarType.SFIXED64: - case rt.ScalarType.SINT64: - return true; - default: - return false; - } - } -} -exports.Interpreter = Interpreter; -/** - * Builds a typescript enum lookup object, - * compatible with enums generated by @protobuf-ts/plugin. - */ -class RuntimeEnumBuilder { - constructor() { - this.values = []; - } - add(name, number) { - this.values.push({ name, number }); - } - isValid() { - try { - this.build(); - } - catch (e) { - return false; - } - return true; - } - build() { - if (this.values.map((v) => v.name).some((name, i, a) => a.indexOf(name) !== i)) { - throw new Error("duplicate names"); - } - let object = {}; - for (let v of this.values) { - object[v.number] = v.name; - object[v.name] = v.number; - } - if (rt.isEnumObject(object)) { - return object; - } - throw new Error("not a typescript enum object"); - } -} -exports.RuntimeEnumBuilder = RuntimeEnumBuilder; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.d.ts deleted file mode 100644 index 4b2eb5d5c2..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { AnyTypeDescriptorProto, IDescriptorTree } from "@protobuf-ts/plugin-framework"; -/** - * Code borrowed from @protobuf-js/plugin all the rights of this code goes to the author - * - * Create a name for an enum, message or service. - * - ignores package - * - nested types get the names merged with '_' - * - reserved words are escaped by adding '$' at the end - * - does *not* prevent clashes, for example clash - * of merged nested name with other message name - */ -export declare function createLocalTypeName(descriptor: AnyTypeDescriptorProto, treeLookup: IDescriptorTree): string; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.js deleted file mode 100644 index f14e19b97e..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/local-type-name.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createLocalTypeName = void 0; -const plugin_framework_1 = require("@protobuf-ts/plugin-framework"); -const runtime_1 = require("@protobuf-ts/runtime"); -const reservedKeywords = "break,case,catch,class,const,continue,debugger,default,delete,do,else,enum,export,extends,false,finally,for,function,if,import,in,instanceof,new,null,return,super,switch,this,throw,true,try,typeof,var,void,while,with,as,implements,interface,let,package,private,protected,public,static,yield,any,boolean,constructor,declare,get,module,require,number,set,string,symbol,type,from,of".split(","); -const reservedTypeNames = "Long,Uint8Array,array,Array,string,String,number,Number,boolean,Boolean,bigint,BigInt".split(","); -const escapeCharacter = "$"; -/** - * Code borrowed from @protobuf-js/plugin all the rights of this code goes to the author - * - * Create a name for an enum, message or service. - * - ignores package - * - nested types get the names merged with '_' - * - reserved words are escaped by adding '$' at the end - * - does *not* prevent clashes, for example clash - * of merged nested name with other message name - */ -function createLocalTypeName(descriptor, treeLookup) { - // build name components for parent types - const components = []; - for (const ancestor of treeLookup.ancestorsOf(descriptor)) { - if (plugin_framework_1.FileDescriptorProto.is(ancestor)) { - continue; - } - const name = ancestor.name; - runtime_1.assert(name !== undefined); - components.push(name); - } - // add name for actual descriptor - const name = descriptor.name; - runtime_1.assert(name !== undefined); - components.push(name); - // join all components with underscore - let fullName = components.join("_"); - // escape if reserved - if (reservedKeywords.includes(fullName)) { - fullName = fullName + escapeCharacter; - } - if (reservedTypeNames.includes(fullName)) { - fullName = fullName + escapeCharacter; - } - return fullName; -} -exports.createLocalTypeName = createLocalTypeName; diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.d.ts b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.d.ts deleted file mode 100644 index 6283fc9ebf..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { CodeGeneratorRequest, CodeGeneratorResponse_Feature, PluginBase } from "@protobuf-ts/plugin-framework"; -import { File } from "./file"; -export declare class ProtobuftsPlugin extends PluginBase { - parameters: { - ts_proto: { - description: string; - }; - gateway: { - description: string; - }; - index_file: { - description: string; - }; - emit_default_values: { - description: string; - }; - openapi_twirp: { - description: string; - }; - openapi_gateway: { - description: string; - }; - standalone: { - description: string; - }; - client_only: { - description: string; - }; - server_only: { - description: string; - }; - camel_case: { - description: string; - }; - }; - generate(request: CodeGeneratorRequest): Promise; - protected getSupportedFeatures: () => CodeGeneratorResponse_Feature[]; -} diff --git a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.js b/node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.js deleted file mode 100644 index 20b34f7206..0000000000 --- a/node_modules/twirp-ts/build/protoc-gen-twirp-ts/plugin.js +++ /dev/null @@ -1,145 +0,0 @@ -"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.ProtobuftsPlugin = void 0; -const plugin_framework_1 = require("@protobuf-ts/plugin-framework"); -const file_1 = require("./file"); -const twirp_1 = require("./gen/twirp"); -const gateway_1 = require("./gen/gateway"); -const local_type_name_1 = require("./local-type-name"); -const interpreter_1 = require("./interpreter"); -const open_api_1 = require("./gen/open-api"); -const index_file_1 = require("./gen/index-file"); -class ProtobuftsPlugin extends plugin_framework_1.PluginBase { - constructor() { - super(...arguments); - this.parameters = { - ts_proto: { - description: "Use the ts-proto compiler (protobuf-ts by default)", - }, - gateway: { - description: "Generates the twirp gateway", - }, - index_file: { - description: "Generates an index.ts file that exports all the types", - }, - emit_default_values: { - description: "Json encode and decode will emit default values", - }, - openapi_twirp: { - description: "Generates an OpenAPI spec for twirp handlers", - }, - openapi_gateway: { - description: "Generates an OpenAPI spec for gateway handlers", - }, - standalone: { - description: "Generates client and server in 2 separate files", - }, - client_only: { - description: "Only client will be generated (overrides 'standalone')", - }, - server_only: { - description: "Only server will be generated (overrides 'standalone')", - }, - camel_case: { - description: "Generates with method names in camel case.", - }, - }; - // we support proto3-optionals, so we let protoc know - this.getSupportedFeatures = () => [ - plugin_framework_1.CodeGeneratorResponse_Feature.PROTO3_OPTIONAL, - ]; - } - generate(request) { - var _a, _b, _c, _d; - return __awaiter(this, void 0, void 0, function* () { - const params = this.parseOptions(this.parameters, request.parameter), registry = plugin_framework_1.DescriptorRegistry.createFrom(request), symbols = new plugin_framework_1.SymbolTable(), interpreter = new interpreter_1.Interpreter(registry); - const ctx = { - lib: params.ts_proto ? "ts-proto" : "protobuf-ts", - emitDefaultValues: params.emit_default_values, - symbols, - registry, - interpreter, - camelCase: params.camel_case, - }; - const files = []; - for (let fileDescriptor of registry.allFiles()) { - const messageFileOut = new file_1.File(`${(_a = fileDescriptor.name) === null || _a === void 0 ? void 0 : _a.replace(".proto", "").toLowerCase()}`); - registry.visitTypes(fileDescriptor, (descriptor) => { - // we are not interested in synthetic types like map entry messages - if (registry.isSyntheticElement(descriptor)) - return; - ctx.symbols.register(local_type_name_1.createLocalTypeName(descriptor, registry), descriptor, messageFileOut); - }); - // Generate a combined client and server bundle if no code gen - // options are passed. - if (!params.standalone && !params.client_only && !params.server_only) { - const twirpFileOut = new file_1.File(`${(_b = fileDescriptor.name) === null || _b === void 0 ? void 0 : _b.replace(".proto", "").toLowerCase()}.twirp.ts`); - const twirpFileContent = yield twirp_1.generateTwirp(ctx, fileDescriptor); - twirpFileOut.setContent(twirpFileContent); - files.push(twirpFileOut); - } - if (params.server_only && params.client_only) { - throw new Error("Only one of server_only or client_only can be passed."); - } - if (params.server_only || params.standalone) { - const serverFileOut = new file_1.File(`${(_c = fileDescriptor.name) === null || _c === void 0 ? void 0 : _c.replace(".proto", "").toLowerCase()}.twirp.ts`); - const serverContent = yield twirp_1.generateTwirpServer(ctx, fileDescriptor); - serverFileOut.setContent(serverContent); - files.push(serverFileOut); - } - if (params.client_only || params.standalone) { - const clientFileOut = new file_1.File(`${(_d = fileDescriptor.name) === null || _d === void 0 ? void 0 : _d.replace(".proto", "").toLowerCase()}.twirp-client.ts`); - const clientContent = yield twirp_1.generateTwirpClient(ctx, fileDescriptor); - clientFileOut.setContent(clientContent); - files.push(clientFileOut); - } - } - // Gateway generation - if (params.gateway) { - const gatewayFileOut = new file_1.File(`gateway.twirp.ts`); - const gatewayContent = yield gateway_1.genGateway(ctx, registry.allFiles()); - gatewayFileOut.setContent(gatewayContent); - files.push(gatewayFileOut); - } - // Create index file - if (params.index_file) { - files.push(index_file_1.genIndexFile(registry, [...files])); - } - // Open API - const docs = []; - if (params.openapi_twirp) { - docs.push(...(yield open_api_1.genOpenAPI(ctx, registry.allFiles(), open_api_1.OpenAPIType.TWIRP))); - } - if (params.openapi_gateway) { - docs.push(...(yield open_api_1.genOpenAPI(ctx, registry.allFiles(), open_api_1.OpenAPIType.GATEWAY))); - } - docs.forEach((doc) => { - const file = new file_1.File(`${doc.fileName}`); - file.setContent(doc.content); - files.push(file); - }); - return files; - }); - } -} -exports.ProtobuftsPlugin = ProtobuftsPlugin; -new ProtobuftsPlugin() - .run() - .then(() => { - process.exit(0); -}) - .catch((e) => { - process.stderr.write("FAILED!"); - process.stderr.write(e.message); - process.stderr.write(e.stack); - process.exit(1); -}); diff --git a/node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.d.ts b/node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.d.ts deleted file mode 100644 index d9f8031ddc..0000000000 --- a/node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Gateway } from "../index"; -export declare function createGateway(): Gateway; diff --git a/node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.js b/node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.js deleted file mode 100644 index 778b23d00d..0000000000 --- a/node_modules/twirp-ts/build/twirp/__mocks__/gateway.twirp.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createGateway = void 0; -const index_1 = require("../index"); -const path_to_regexp_1 = require("path-to-regexp"); -function createGateway() { - return new index_1.Gateway({ - post: [ - { - packageName: "twirp.example.haberdasher", - methodName: "MakeHat", - serviceName: "Haberdasher", - httpMethod: "post", - matchingPath: "/hat{:query_string(\\?.*)}?", - matcher: path_to_regexp_1.match("/hat{:query_string(\\?.*)}?"), - bodyKey: "*", - responseBodyKey: "", - }, - ], - get: [ - { - packageName: "twirp.example.haberdasher", - methodName: "FindHat", - serviceName: "Haberdasher", - httpMethod: "get", - matchingPath: "/hat/{:hat_id}{:query_string(\\?.*)}?", - matcher: path_to_regexp_1.match("/hat/{:hat_id}{:query_string(\\?.*)}?"), - bodyKey: "", - responseBodyKey: "", - }, - { - packageName: "twirp.example.haberdasher", - methodName: "ListHat", - serviceName: "Haberdasher", - httpMethod: "get", - matchingPath: "/hat{:query_string(\\?.*)}?", - matcher: path_to_regexp_1.match("/hat{:query_string(\\?.*)}?"), - bodyKey: "", - responseBodyKey: "", - }, - ], - put: [], - patch: [], - delete: [], - }); -} -exports.createGateway = createGateway; diff --git a/node_modules/twirp-ts/build/twirp/__mocks__/service.d.ts b/node_modules/twirp-ts/build/twirp/__mocks__/service.d.ts deleted file mode 100644 index d6b3491393..0000000000 --- a/node_modules/twirp-ts/build/twirp/__mocks__/service.d.ts +++ /dev/null @@ -1,147 +0,0 @@ -import { ServiceType } from "@protobuf-ts/runtime-rpc"; -import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; -import type { IBinaryWriter } from "@protobuf-ts/runtime"; -import type { BinaryReadOptions } from "@protobuf-ts/runtime"; -import type { IBinaryReader } from "@protobuf-ts/runtime"; -import { MessageType } from "@protobuf-ts/runtime"; -/** - * @generated from protobuf message twirp.example.haberdasher.FindHatRPC - */ -export interface FindHatRPC { - /** - * @generated from protobuf field: string hat_id = 1; - */ - hatId: string; -} -/** - * @generated from protobuf message twirp.example.haberdasher.ListHatRPC - */ -export interface ListHatRPC { - /** - * @generated from protobuf field: repeated twirp.example.haberdasher.Filter filters = 1; - */ - filters: Filter[]; -} -/** - * Size of a Hat, in inches. - * - * @generated from protobuf message twirp.example.haberdasher.Size - */ -export interface Size { - /** - * @generated from protobuf field: int32 inches = 1; - */ - inches: number; -} -/** - * A Hat is a piece of headwear made by a Haberdasher. - * - * @generated from protobuf message twirp.example.haberdasher.Hat - */ -export interface Hat { - /** - * @generated from protobuf field: string id = 1; - */ - id: string; - /** - * @generated from protobuf field: int32 inches = 2; - */ - inches: number; - /** - * @generated from protobuf field: string color = 3; - */ - color: string; - /** - * @generated from protobuf field: string name = 4; - */ - name: string; - /** - * @generated from protobuf field: repeated twirp.example.haberdasher.Hat variants = 5; - */ - variants: Hat[]; -} -/** - * @generated from protobuf message twirp.example.haberdasher.Filter - */ -export interface Filter { - /** - * @generated from protobuf field: string order_by = 1; - */ - orderBy: string; - /** - * @generated from protobuf field: twirp.example.haberdasher.Pagination pagination = 2; - */ - pagination?: Pagination; -} -/** - * @generated from protobuf message twirp.example.haberdasher.Pagination - */ -export interface Pagination { - /** - * @generated from protobuf field: int32 limit = 1; - */ - limit: number; - /** - * @generated from protobuf field: int32 offset = 2; - */ - offset: number; -} -declare class FindHatRPC$Type extends MessageType { - constructor(); - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FindHatRPC): FindHatRPC; - internalBinaryWrite(message: FindHatRPC, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.FindHatRPC - */ -export declare const FindHatRPC: FindHatRPC$Type; -declare class ListHatRPC$Type extends MessageType { - constructor(); - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListHatRPC): ListHatRPC; - internalBinaryWrite(message: ListHatRPC, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.ListHatRPC - */ -export declare const ListHatRPC: ListHatRPC$Type; -declare class Size$Type extends MessageType { - constructor(); - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Size): Size; - internalBinaryWrite(message: Size, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Size - */ -export declare const Size: Size$Type; -declare class Hat$Type extends MessageType { - constructor(); - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Hat): Hat; - internalBinaryWrite(message: Hat, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Hat - */ -export declare const Hat: Hat$Type; -declare class Filter$Type extends MessageType { - constructor(); - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Filter): Filter; - internalBinaryWrite(message: Filter, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Filter - */ -export declare const Filter: Filter$Type; -declare class Pagination$Type extends MessageType { - constructor(); - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Pagination): Pagination; - internalBinaryWrite(message: Pagination, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Pagination - */ -export declare const Pagination: Pagination$Type; -/** - * @generated ServiceType for protobuf service twirp.example.haberdasher.Haberdasher - */ -export declare const Haberdasher: ServiceType; -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__mocks__/service.js b/node_modules/twirp-ts/build/twirp/__mocks__/service.js deleted file mode 100644 index 166a4ee368..0000000000 --- a/node_modules/twirp-ts/build/twirp/__mocks__/service.js +++ /dev/null @@ -1,300 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Haberdasher = exports.Pagination = exports.Filter = exports.Hat = exports.Size = exports.ListHatRPC = exports.FindHatRPC = void 0; -// @generated by protobuf-ts 2.0.0-alpha.27 with parameters client_none,generate_dependencies -// @generated from protobuf file "service.proto" (package "twirp.example.haberdasher", syntax proto3) -// tslint:disable -const runtime_rpc_1 = require("@protobuf-ts/runtime-rpc"); -const runtime_1 = require("@protobuf-ts/runtime"); -const runtime_2 = require("@protobuf-ts/runtime"); -const runtime_3 = require("@protobuf-ts/runtime"); -// @generated message type with reflection information, may provide speed optimized methods -class FindHatRPC$Type extends runtime_3.MessageType { - constructor() { - super("twirp.example.haberdasher.FindHatRPC", [ - { no: 1, name: "hat_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ } - ]); - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string hat_id */ 1: - message.hatId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message, writer, options) { - /* string hat_id = 1; */ - if (message.hatId !== "") - writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.hatId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.FindHatRPC - */ -exports.FindHatRPC = new FindHatRPC$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class ListHatRPC$Type extends runtime_3.MessageType { - constructor() { - super("twirp.example.haberdasher.ListHatRPC", [ - { no: 1, name: "filters", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => exports.Filter } - ]); - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated twirp.example.haberdasher.Filter filters */ 1: - message.filters.push(exports.Filter.internalBinaryRead(reader, reader.uint32(), options)); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message, writer, options) { - /* repeated twirp.example.haberdasher.Filter filters = 1; */ - for (let i = 0; i < message.filters.length; i++) - exports.Filter.internalBinaryWrite(message.filters[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.ListHatRPC - */ -exports.ListHatRPC = new ListHatRPC$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class Size$Type extends runtime_3.MessageType { - constructor() { - super("twirp.example.haberdasher.Size", [ - { no: 1, name: "inches", kind: "scalar", T: 5 /*ScalarType.INT32*/ } - ]); - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* int32 inches */ 1: - message.inches = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message, writer, options) { - /* int32 inches = 1; */ - if (message.inches !== 0) - writer.tag(1, runtime_1.WireType.Varint).int32(message.inches); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Size - */ -exports.Size = new Size$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class Hat$Type extends runtime_3.MessageType { - constructor() { - super("twirp.example.haberdasher.Hat", [ - { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 2, name: "inches", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, - { no: 3, name: "color", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 4, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 5, name: "variants", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => exports.Hat } - ]); - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string id */ 1: - message.id = reader.string(); - break; - case /* int32 inches */ 2: - message.inches = reader.int32(); - break; - case /* string color */ 3: - message.color = reader.string(); - break; - case /* string name */ 4: - message.name = reader.string(); - break; - case /* repeated twirp.example.haberdasher.Hat variants */ 5: - message.variants.push(exports.Hat.internalBinaryRead(reader, reader.uint32(), options)); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message, writer, options) { - /* string id = 1; */ - if (message.id !== "") - writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.id); - /* int32 inches = 2; */ - if (message.inches !== 0) - writer.tag(2, runtime_1.WireType.Varint).int32(message.inches); - /* string color = 3; */ - if (message.color !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.color); - /* string name = 4; */ - if (message.name !== "") - writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name); - /* repeated twirp.example.haberdasher.Hat variants = 5; */ - for (let i = 0; i < message.variants.length; i++) - exports.Hat.internalBinaryWrite(message.variants[i], writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Hat - */ -exports.Hat = new Hat$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class Filter$Type extends runtime_3.MessageType { - constructor() { - super("twirp.example.haberdasher.Filter", [ - { no: 1, name: "order_by", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 2, name: "pagination", kind: "message", T: () => exports.Pagination } - ]); - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string order_by */ 1: - message.orderBy = reader.string(); - break; - case /* twirp.example.haberdasher.Pagination pagination */ 2: - message.pagination = exports.Pagination.internalBinaryRead(reader, reader.uint32(), options, message.pagination); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message, writer, options) { - /* string order_by = 1; */ - if (message.orderBy !== "") - writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.orderBy); - /* twirp.example.haberdasher.Pagination pagination = 2; */ - if (message.pagination) - exports.Pagination.internalBinaryWrite(message.pagination, writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Filter - */ -exports.Filter = new Filter$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class Pagination$Type extends runtime_3.MessageType { - constructor() { - super("twirp.example.haberdasher.Pagination", [ - { no: 1, name: "limit", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, - { no: 2, name: "offset", kind: "scalar", T: 5 /*ScalarType.INT32*/ } - ]); - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* int32 limit */ 1: - message.limit = reader.int32(); - break; - case /* int32 offset */ 2: - message.offset = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message, writer, options) { - /* int32 limit = 1; */ - if (message.limit !== 0) - writer.tag(1, runtime_1.WireType.Varint).int32(message.limit); - /* int32 offset = 2; */ - if (message.offset !== 0) - writer.tag(2, runtime_1.WireType.Varint).int32(message.offset); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message twirp.example.haberdasher.Pagination - */ -exports.Pagination = new Pagination$Type(); -/** - * @generated ServiceType for protobuf service twirp.example.haberdasher.Haberdasher - */ -exports.Haberdasher = new runtime_rpc_1.ServiceType("twirp.example.haberdasher.Haberdasher", [ - { name: "MakeHat", options: { "google.api.http": { body: "*", post: "/hat" } }, I: exports.Size, O: exports.Hat }, - { name: "FindHat", options: { "google.api.http": { get: "/hat/{hat_id}" } }, I: exports.FindHatRPC, O: exports.FindHatRPC }, - { name: "ListHat", options: { "google.api.http": { get: "/hat" } }, I: exports.ListHatRPC, O: exports.ListHatRPC } -]); diff --git a/node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.d.ts b/node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.d.ts deleted file mode 100644 index 855ce35cc9..0000000000 --- a/node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/// -import { TwirpContext, TwirpServer } from "../index"; -import { Size, Hat, FindHatRPC, ListHatRPC } from "./service"; -interface Rpc { - request(service: string, method: string, contentType: "application/json" | "application/protobuf", data: object | Uint8Array): Promise; -} -export interface HaberdasherClient { - MakeHat(request: Size): Promise; - FindHat(request: FindHatRPC): Promise; - ListHat(request: ListHatRPC): Promise; -} -export declare class HaberdasherClientJSON implements HaberdasherClient { - private readonly rpc; - constructor(rpc: Rpc); - MakeHat(request: Size): Promise; - FindHat(request: FindHatRPC): Promise; - ListHat(request: ListHatRPC): Promise; -} -export declare class HaberdasherClientProtobuf implements HaberdasherClient { - private readonly rpc; - constructor(rpc: Rpc); - MakeHat(request: Size): Promise; - FindHat(request: FindHatRPC): Promise; - ListHat(request: ListHatRPC): Promise; -} -export interface HaberdasherTwirp { - MakeHat(ctx: T, request: Size): Promise; - FindHat(ctx: T, request: FindHatRPC): Promise; - ListHat(ctx: T, request: ListHatRPC): Promise; -} -export declare enum HaberdasherMethod { - MakeHat = "MakeHat", - FindHat = "FindHat", - ListHat = "ListHat" -} -export declare const HaberdasherMethodList: HaberdasherMethod[]; -export declare function createHaberdasherServer(service: HaberdasherTwirp): TwirpServer>, T>; -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.js b/node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.js deleted file mode 100644 index 33ed14d905..0000000000 --- a/node_modules/twirp-ts/build/twirp/__mocks__/service.twirp.js +++ /dev/null @@ -1,313 +0,0 @@ -"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.createHaberdasherServer = exports.HaberdasherMethodList = exports.HaberdasherMethod = exports.HaberdasherClientProtobuf = exports.HaberdasherClientJSON = void 0; -const index_1 = require("../index"); -const service_1 = require("./service"); -class HaberdasherClientJSON { - constructor(rpc) { - this.rpc = rpc; - this.MakeHat.bind(this); - this.FindHat.bind(this); - this.ListHat.bind(this); - } - MakeHat(request) { - const data = service_1.Size.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("twirp.example.haberdasher.Haberdasher", "MakeHat", "application/json", data); - return promise.then((data) => service_1.Hat.fromJson(data, { ignoreUnknownFields: true })); - } - FindHat(request) { - const data = service_1.FindHatRPC.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("twirp.example.haberdasher.Haberdasher", "FindHat", "application/json", data); - return promise.then((data) => service_1.FindHatRPC.fromJson(data, { ignoreUnknownFields: true })); - } - ListHat(request) { - const data = service_1.ListHatRPC.toJson(request, { - useProtoFieldName: true, - emitDefaultValues: false, - }); - const promise = this.rpc.request("twirp.example.haberdasher.Haberdasher", "ListHat", "application/json", data); - return promise.then((data) => service_1.ListHatRPC.fromJson(data, { ignoreUnknownFields: true })); - } -} -exports.HaberdasherClientJSON = HaberdasherClientJSON; -class HaberdasherClientProtobuf { - constructor(rpc) { - this.rpc = rpc; - this.MakeHat.bind(this); - this.FindHat.bind(this); - this.ListHat.bind(this); - } - MakeHat(request) { - const data = service_1.Size.toBinary(request); - const promise = this.rpc.request("twirp.example.haberdasher.Haberdasher", "MakeHat", "application/protobuf", data); - return promise.then((data) => service_1.Hat.fromBinary(data)); - } - FindHat(request) { - const data = service_1.FindHatRPC.toBinary(request); - const promise = this.rpc.request("twirp.example.haberdasher.Haberdasher", "FindHat", "application/protobuf", data); - return promise.then((data) => service_1.FindHatRPC.fromBinary(data)); - } - ListHat(request) { - const data = service_1.ListHatRPC.toBinary(request); - const promise = this.rpc.request("twirp.example.haberdasher.Haberdasher", "ListHat", "application/protobuf", data); - return promise.then((data) => service_1.ListHatRPC.fromBinary(data)); - } -} -exports.HaberdasherClientProtobuf = HaberdasherClientProtobuf; -var HaberdasherMethod; -(function (HaberdasherMethod) { - HaberdasherMethod["MakeHat"] = "MakeHat"; - HaberdasherMethod["FindHat"] = "FindHat"; - HaberdasherMethod["ListHat"] = "ListHat"; -})(HaberdasherMethod = exports.HaberdasherMethod || (exports.HaberdasherMethod = {})); -exports.HaberdasherMethodList = [ - HaberdasherMethod.MakeHat, - HaberdasherMethod.FindHat, - HaberdasherMethod.ListHat, -]; -function createHaberdasherServer(service) { - return new index_1.TwirpServer({ - service, - packageName: "twirp.example.haberdasher", - serviceName: "Haberdasher", - methodList: exports.HaberdasherMethodList, - matchRoute: matchHaberdasherRoute, - }); -} -exports.createHaberdasherServer = createHaberdasherServer; -function matchHaberdasherRoute(method, events) { - switch (method) { - case "MakeHat": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "MakeHat" }); - yield events.onMatch(ctx); - return handleHaberdasherMakeHatRequest(ctx, service, data, interceptors); - }); - case "FindHat": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "FindHat" }); - yield events.onMatch(ctx); - return handleHaberdasherFindHatRequest(ctx, service, data, interceptors); - }); - case "ListHat": - return (ctx, service, data, interceptors) => __awaiter(this, void 0, void 0, function* () { - ctx = Object.assign(Object.assign({}, ctx), { methodName: "ListHat" }); - yield events.onMatch(ctx); - return handleHaberdasherListHatRequest(ctx, service, data, interceptors); - }); - default: - events.onNotFound(); - const msg = `no handler found`; - throw new index_1.TwirpError(index_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleHaberdasherMakeHatRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case index_1.TwirpContentType.JSON: - return handleHaberdasherMakeHatJSON(ctx, service, data, interceptors); - case index_1.TwirpContentType.Protobuf: - return handleHaberdasherMakeHatProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleHaberdasherFindHatRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case index_1.TwirpContentType.JSON: - return handleHaberdasherFindHatJSON(ctx, service, data, interceptors); - case index_1.TwirpContentType.Protobuf: - return handleHaberdasherFindHatProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleHaberdasherListHatRequest(ctx, service, data, interceptors) { - switch (ctx.contentType) { - case index_1.TwirpContentType.JSON: - return handleHaberdasherListHatJSON(ctx, service, data, interceptors); - case index_1.TwirpContentType.Protobuf: - return handleHaberdasherListHatProtobuf(ctx, service, data, interceptors); - default: - const msg = "unexpected Content-Type"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.BadRoute, msg); - } -} -function handleHaberdasherMakeHatJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = service_1.Size.fromJson(body, { ignoreUnknownFields: true }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = index_1.chainInterceptors(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.MakeHat(ctx, inputReq); - }); - } - else { - response = yield service.MakeHat(ctx, request); - } - return JSON.stringify(service_1.Hat.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleHaberdasherFindHatJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = service_1.FindHatRPC.fromJson(body, { ignoreUnknownFields: true }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = index_1.chainInterceptors(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.FindHat(ctx, inputReq); - }); - } - else { - response = yield service.FindHat(ctx, request); - } - return JSON.stringify(service_1.FindHatRPC.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleHaberdasherListHatJSON(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - const body = JSON.parse(data.toString() || "{}"); - request = service_1.ListHatRPC.fromJson(body, { ignoreUnknownFields: true }); - } - catch (e) { - if (e instanceof Error) { - const msg = "the json request could not be decoded"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = index_1.chainInterceptors(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.ListHat(ctx, inputReq); - }); - } - else { - response = yield service.ListHat(ctx, request); - } - return JSON.stringify(service_1.ListHatRPC.toJson(response, { - useProtoFieldName: true, - emitDefaultValues: false, - })); - }); -} -function handleHaberdasherMakeHatProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = service_1.Size.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = index_1.chainInterceptors(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.MakeHat(ctx, inputReq); - }); - } - else { - response = yield service.MakeHat(ctx, request); - } - return Buffer.from(service_1.Hat.toBinary(response)); - }); -} -function handleHaberdasherFindHatProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = service_1.FindHatRPC.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = index_1.chainInterceptors(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.FindHat(ctx, inputReq); - }); - } - else { - response = yield service.FindHat(ctx, request); - } - return Buffer.from(service_1.FindHatRPC.toBinary(response)); - }); -} -function handleHaberdasherListHatProtobuf(ctx, service, data, interceptors) { - return __awaiter(this, void 0, void 0, function* () { - let request; - let response; - try { - request = service_1.ListHatRPC.fromBinary(data); - } - catch (e) { - if (e instanceof Error) { - const msg = "the protobuf request could not be decoded"; - throw new index_1.TwirpError(index_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - if (interceptors && interceptors.length > 0) { - const interceptor = index_1.chainInterceptors(...interceptors); - response = yield interceptor(ctx, request, (ctx, inputReq) => { - return service.ListHat(ctx, inputReq); - }); - } - else { - response = yield service.ListHat(ctx, request); - } - return Buffer.from(service_1.ListHatRPC.toBinary(response)); - }); -} diff --git a/node_modules/twirp-ts/build/twirp/__tests__/client.test.d.ts b/node_modules/twirp-ts/build/twirp/__tests__/client.test.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/client.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__tests__/client.test.js b/node_modules/twirp-ts/build/twirp/__tests__/client.test.js deleted file mode 100644 index 41df29c4a9..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/client.test.js +++ /dev/null @@ -1,160 +0,0 @@ -"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.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 }); -const http = __importStar(require("http")); -const http_terminator_1 = require("http-terminator"); -const service_twirp_1 = require("../__mocks__/service.twirp"); -const service_1 = require("../__mocks__/service"); -const http_client_1 = require("../http.client"); -const errors_1 = require("../errors"); -describe("Twirp Clients", () => { - let httpTerminator; - let server; - beforeEach(() => { - const twirpServer = service_twirp_1.createHaberdasherServer({ - MakeHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return service_1.Hat.create({ - id: "1", - name: "cap", - color: "blue", - inches: 100, - variants: [], - }); - }); - }, - FindHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - }, - ListHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - } - }); - server = http.createServer(twirpServer.httpHandler()); - httpTerminator = http_terminator_1.createHttpTerminator({ - server, - }); - }); - it("can call methods using the JSON client", (done) => { - const port = 9999; - server.listen(port, () => __awaiter(void 0, void 0, void 0, function* () { - const client = new service_twirp_1.HaberdasherClientJSON(http_client_1.NodeHttpRPC({ - baseUrl: "http://localhost:9999/twirp", - })); - const hat = yield client.MakeHat({ - inches: 1, - }); - expect(hat).toEqual({ - id: "1", - color: "blue", - inches: 100, - name: "cap", - variants: [], - }); - yield httpTerminator.terminate(); - done(); - })); - }); - it("can call methods using the Protobuf client", (done) => { - const port = 9999; - server.listen(port, () => __awaiter(void 0, void 0, void 0, function* () { - const client = new service_twirp_1.HaberdasherClientProtobuf(http_client_1.NodeHttpRPC({ - baseUrl: "http://localhost:9999/twirp", - })); - const hat = yield client.MakeHat({ - inches: 1, - }); - expect(hat).toEqual({ - id: "1", - color: "blue", - inches: 100, - name: "cap", - variants: [], - }); - yield httpTerminator.terminate(); - done(); - })); - }); - it("will return a TwripError when a error occur", (done) => { - const twirpServer = service_twirp_1.createHaberdasherServer({ - MakeHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - const error = new errors_1.InternalServerError("error"); - error.withMeta("test", "msg"); - error.withMeta("test2", "msg2"); - throw error; - }); - }, - FindHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - }, - ListHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - } - }); - server = http.createServer(twirpServer.httpHandler()); - httpTerminator = http_terminator_1.createHttpTerminator({ - server, - }); - const port = 9999; - server.listen(port, () => __awaiter(void 0, void 0, void 0, function* () { - const client = new service_twirp_1.HaberdasherClientProtobuf(http_client_1.NodeHttpRPC({ - baseUrl: "http://localhost:9999/twirp", - })); - let err; - try { - yield client.MakeHat({ - inches: 1, - }); - } - catch (e) { - err = e; - } - expect(err).toBeInstanceOf(errors_1.TwirpError); - const twirpErr = err; - expect(twirpErr.code).toEqual(errors_1.TwirpErrorCode.Internal); - expect(twirpErr.msg).toEqual("error"); - expect(twirpErr.meta).toEqual({ - test: "msg", - test2: "msg2" - }); - yield httpTerminator.terminate(); - done(); - })); - }); -}); diff --git a/node_modules/twirp-ts/build/twirp/__tests__/errors.test.d.ts b/node_modules/twirp-ts/build/twirp/__tests__/errors.test.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/errors.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__tests__/errors.test.js b/node_modules/twirp-ts/build/twirp/__tests__/errors.test.js deleted file mode 100644 index d4c4e98fbe..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/errors.test.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const errors_1 = require("../errors"); -describe("Twirp errors", () => { - it("will render a full error", () => { - const innerError = new Error("some error"); - const twirpError = new errors_1.TwirpError(errors_1.TwirpErrorCode.NotFound, "not found"); - twirpError.withCause(innerError, true); - twirpError.withMeta("meta1", "value1"); - twirpError.withMeta("meta2", "value2"); - expect(twirpError.toJSON()).toEqual(JSON.stringify({ - code: errors_1.TwirpErrorCode.NotFound, - msg: "not found", - meta: { - cause: "some error", - meta1: "value1", - meta2: "value2", - } - })); - }); -}); -describe("Standard Errors", () => { - it("will render not found error", () => { - const twirpError = new errors_1.NotFoundError("not found"); - expect(twirpError.toJSON()).toEqual(JSON.stringify({ - code: errors_1.TwirpErrorCode.NotFound, - msg: "not found", - meta: {} - })); - }); - it("will render invalid argument error", () => { - const twirpError = new errors_1.InvalidArgumentError("field", "error"); - expect(twirpError.toJSON()).toEqual(JSON.stringify({ - code: errors_1.TwirpErrorCode.InvalidArgument, - msg: "field error", - meta: { - argument: "field", - } - })); - }); - it("will render required error", () => { - const twirpError = new errors_1.RequiredArgumentError("field"); - expect(twirpError.toJSON()).toEqual(JSON.stringify({ - code: errors_1.TwirpErrorCode.InvalidArgument, - msg: "field is required", - meta: { - argument: "field", - } - })); - }); - it("will render internal server error", () => { - const twirpError = new errors_1.InternalServerError("internal"); - expect(twirpError.toJSON()).toEqual(JSON.stringify({ - code: errors_1.TwirpErrorCode.Internal, - msg: "internal", - meta: {} - })); - }); - it("will render internal server error with inner", () => { - const inner = new Error("inner"); - const twirpError = new errors_1.InternalServerErrorWith(inner); - expect(twirpError.toJSON()).toEqual(JSON.stringify({ - code: errors_1.TwirpErrorCode.Internal, - msg: "inner", - meta: { - cause: "Error" - } - })); - }); -}); diff --git a/node_modules/twirp-ts/build/twirp/__tests__/gateway.test.d.ts b/node_modules/twirp-ts/build/twirp/__tests__/gateway.test.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/gateway.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__tests__/gateway.test.js b/node_modules/twirp-ts/build/twirp/__tests__/gateway.test.js deleted file mode 100644 index e044bbe18b..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/gateway.test.js +++ /dev/null @@ -1,174 +0,0 @@ -"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()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const http_1 = __importDefault(require("http")); -const service_twirp_1 = require("../__mocks__/service.twirp"); -const service_1 = require("../__mocks__/service"); -const gateway_twirp_1 = require("../__mocks__/gateway.twirp"); -const supertest_1 = __importDefault(require("supertest")); -const http_terminator_1 = require("http-terminator"); -describe("Gateway", () => { - let server; - let twirpServer; - let gateway; - beforeEach(() => { - twirpServer = service_twirp_1.createHaberdasherServer({ - MakeHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return service_1.Hat.create({ - id: "1", - name: "cap", - color: "blue", - inches: request.inches, - }); - }); - }, - FindHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - }, - ListHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - } - }); - gateway = gateway_twirp_1.createGateway(); - const twirpRewrite = gateway.twirpRewrite(); - server = http_1.default.createServer((req, resp) => { - twirpRewrite(req, resp, () => { - twirpServer.httpHandler()(req, resp); - }); - }); - }); - it("call custom POST http endpoint that maps to MakeHat", () => __awaiter(void 0, void 0, void 0, function* () { - const response = yield supertest_1.default(server) - .post('/hat') - .send({ - inches: 30, - }) - .expect('Content-Type', "application/json") - .expect(200); - expect(response.body).toEqual({ - id: "1", - name: "cap", - color: "blue", - inches: 30, - }); - })); - it("will map url parameter to request message", () => __awaiter(void 0, void 0, void 0, function* () { - const response = yield supertest_1.default(server) - .get('/hat/12345') - .expect('Content-Type', "application/json") - .expect(200); - expect(response.body).toEqual({ - hat_id: "12345", - }); - })); - it("will map query string parameters to request message", () => __awaiter(void 0, void 0, void 0, function* () { - const response = yield supertest_1.default(server) - .get('/hat') - .query({ - 'filters[0].order_by': "desc", - 'filters[0].pagination.limit': 10, - 'filters[0].pagination.offset': 2, - 'filters[1].order_by': "asc", - 'filters[1].pagination.limit': 5, - 'filters[1].pagination.offset': 6, - }) - .expect('Content-Type', "application/json") - .expect(200); - expect(response.body).toEqual({ - filters: [ - { - order_by: "desc", - pagination: { - limit: 10, - offset: 2, - }, - }, - { - order_by: "asc", - pagination: { - limit: 5, - offset: 6, - }, - } - ] - }); - })); - it("will do a reverse proxy request to the handler", (done) => { - const server = service_twirp_1.createHaberdasherServer({ - MakeHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return service_1.Hat.create({ - id: "1", - name: "cap", - color: "blue", - inches: 100, - variants: [], - }); - }); - }, - FindHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - }, - ListHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - } - }); - const gateway = gateway_twirp_1.createGateway(); - const twirpServerPort = 9999; - const twirpServer = http_1.default.createServer(server.httpHandler()); - const httpTerminator1 = http_terminator_1.createHttpTerminator({ - server: twirpServer, - }); - const gatewayServerPort = 9998; - const gatewayServer = http_1.default.createServer(gateway.reverseProxy({ - baseUrl: "http://localhost:9999/twirp", - })); - const httpTerminator2 = http_terminator_1.createHttpTerminator({ - server: gatewayServer, - }); - // twirp server - twirpServer.listen(twirpServerPort, () => __awaiter(void 0, void 0, void 0, function* () { - // reverse proxy server - gatewayServer.listen(gatewayServerPort, () => __awaiter(void 0, void 0, void 0, function* () { - const response = yield supertest_1.default(gatewayServer) - .post('/hat') - .send({ - inches: 30, - }) - .expect('Content-Type', "application/json") - .expect(200); - expect(response.body).toEqual({ - id: "1", - name: "cap", - color: "blue", - inches: 100, - }); - yield Promise.all([ - httpTerminator1.terminate(), - httpTerminator2.terminate(), - ]); - done(); - })); - })); - }); -}); diff --git a/node_modules/twirp-ts/build/twirp/__tests__/hooks.d.ts b/node_modules/twirp-ts/build/twirp/__tests__/hooks.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/hooks.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__tests__/hooks.js b/node_modules/twirp-ts/build/twirp/__tests__/hooks.js deleted file mode 100644 index 6e19f60a55..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/hooks.js +++ /dev/null @@ -1,76 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const hooks_1 = require("../hooks"); -const errors_1 = require("../errors"); -const request_1 = require("../request"); -describe("Hooks behaviour", () => { - it("can chain multiple hooks together", () => { - const hook1Spy = jest.fn(); - const hooks1 = { - requestReceived: (ctx) => { - hook1Spy("received"); - }, - requestRouted: (ctx) => { - hook1Spy("routed"); - }, - requestPrepared: (ctx) => { - hook1Spy("prepared"); - }, - requestSent: (ctx) => { - hook1Spy("sent"); - }, - responseSent: (ctx) => { - hook1Spy("sent"); - }, - responsePrepared: (ctx) => { - hook1Spy("prepared"); - }, - error: (ctx, err) => { - hook1Spy("error"); - } - }; - const hook2Spy = jest.fn(); - const hooks2 = { - requestReceived: (ctx) => { - hook2Spy("received"); - }, - requestRouted: (ctx) => { - hook2Spy("routed"); - }, - requestPrepared: (ctx) => { - hook2Spy("prepared"); - }, - requestSent: (ctx) => { - hook2Spy("sent"); - }, - responseSent: (ctx) => { - hook2Spy("sent"); - }, - responsePrepared: (ctx) => { - hook2Spy("prepared"); - }, - error: (ctx, err) => { - hook2Spy("error"); - } - }; - const emptyHook = {}; - const chainedHook = hooks_1.chainHooks(hooks1, hooks2, emptyHook); - expect(chainedHook).not.toBeNull(); - const hookNames = ["requestReceived", "requestRouted", "requestPrepared", "requestSent", "responseSent", "responsePrepared", "error"]; - hookNames.map(hookName => { - const ctx = { - req: jest.fn(), - res: jest.fn(), - contentType: request_1.TwirpContentType.Unknown, - packageName: "", - serviceName: "", - methodName: "", - }; - const hook = chainedHook[hookName]; - if (!hook) { - throw new Error(`hook ${hookName} must be present`); - } - hook(ctx, new errors_1.InternalServerError("test")); - }); - }); -}); diff --git a/node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.d.ts b/node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.js b/node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.js deleted file mode 100644 index f5eb60934c..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/interceptor.test.js +++ /dev/null @@ -1,44 +0,0 @@ -"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 }); -const interceptors_1 = require("../interceptors"); -const request_1 = require("../request"); -describe("Interceptor", () => { - it("will chain interceptors", () => __awaiter(void 0, void 0, void 0, function* () { - const spy = jest.fn(); - const interceptor0 = (ctx, typedRequest, next) => __awaiter(void 0, void 0, void 0, function* () { - spy(); - const response = yield next(ctx, typedRequest); - spy(); - return response; - }); - const spy1 = jest.fn(); - const interceptor1 = (ctx, typedRequest, next) => __awaiter(void 0, void 0, void 0, function* () { - spy1(); - return next(ctx, typedRequest); - }); - const chain = interceptors_1.chainInterceptors(interceptor0, interceptor1); - const ctx = { - req: jest.fn(), - res: jest.fn(), - contentType: request_1.TwirpContentType.Unknown, - packageName: "", - methodName: "", - serviceName: "", - }; - const response = yield chain(ctx, {}, (ctx1, typedRequest) => __awaiter(void 0, void 0, void 0, function* () { - return { test: "test" }; - })); - expect(response).toEqual({ test: "test" }); - expect(spy).toBeCalledTimes(2); - expect(spy1).toBeCalledTimes(1); - })); -}); diff --git a/node_modules/twirp-ts/build/twirp/__tests__/server.test.d.ts b/node_modules/twirp-ts/build/twirp/__tests__/server.test.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/server.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/twirp-ts/build/twirp/__tests__/server.test.js b/node_modules/twirp-ts/build/twirp/__tests__/server.test.js deleted file mode 100644 index 013ebbd4b6..0000000000 --- a/node_modules/twirp-ts/build/twirp/__tests__/server.test.js +++ /dev/null @@ -1,272 +0,0 @@ -"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.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 }); -const http = __importStar(require("http")); -const supertest_1 = __importDefault(require("supertest")); -const service_twirp_1 = require("../__mocks__/service.twirp"); -const service_1 = require("../__mocks__/service"); -const errors_1 = require("../errors"); -describe("Server twirp specification", () => { - let server; - let twirpServer; - beforeEach(() => { - twirpServer = service_twirp_1.createHaberdasherServer({ - MakeHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return service_1.Hat.create({ - name: "cap", - color: "blue", - inches: 3, - }); - }); - }, - FindHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - }, - ListHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - } - }); - server = http.createServer(twirpServer.httpHandler()); - }); - it("support only POST requests", () => __awaiter(void 0, void 0, void 0, function* () { - const unsupportedMethods = ["get", "put", "patch", "delete", "options"]; - const tests = unsupportedMethods.map((method) => __awaiter(void 0, void 0, void 0, function* () { - const dynamicSupertest = supertest_1.default(server); - const resp = yield dynamicSupertest[method]("/invalid-url") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(404); - expect(resp.body).toEqual({ - code: errors_1.TwirpErrorCode.BadRoute, - msg: `unsupported method ${method.toUpperCase()} (only POST is allowed)`, - meta: { - twirp_invalid_route: `${method.toUpperCase()} /invalid-url`, - } - }); - })); - yield Promise.all(tests); - yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(200); - })); - it("support only application/json and application/protobuf content-type", () => __awaiter(void 0, void 0, void 0, function* () { - const resp = yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'invalid/json') - .expect('Content-Type', "application/json") - .expect(404); - expect(resp.body).toEqual({ - code: "bad_route", - meta: { - twirp_invalid_route: "POST /twirp/twirp.example.haberdasher.Haberdasher/MakeHat" - }, - msg: "unexpected Content-Type: invalid/json" - }); - yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(200); - yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/protobuf') - .expect('Content-Type', "application/protobuf") - .expect(200); - })); - describe("url must match []/[.]/", () => { - it("will error if url is malformed", () => __awaiter(void 0, void 0, void 0, function* () { - const resp = yield supertest_1.default(server).post("/invalid-url-format") - .expect('Content-Type', "application/json") - .expect(404); - expect(resp.body).toEqual({ - code: errors_1.TwirpErrorCode.BadRoute, - msg: `no handler for path /invalid-url-format`, - meta: { - twirp_invalid_route: `POST /invalid-url-format`, - } - }); - })); - it("succeeds when url is properly constructed", () => __awaiter(void 0, void 0, void 0, function* () { - yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(200); - })); - it("must respect the prefix", () => __awaiter(void 0, void 0, void 0, function* () { - const resp = yield supertest_1.default(server).post("/twirp-not-existing/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(404); - expect(resp.body).toEqual({ - code: "bad_route", - meta: { - twirp_invalid_route: "POST /twirp-not-existing/twirp.example.haberdasher.Haberdasher/MakeHat" - }, - msg: "invalid path prefix /twirp-not-existing, expected /twirp, on path /twirp-not-existing/twirp.example.haberdasher.Haberdasher/MakeHat" - }); - })); - it("must have a specified handler", () => __awaiter(void 0, void 0, void 0, function* () { - const resp = yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHatDoesntExists") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(404); - expect(resp.body).toEqual({ - code: "bad_route", - meta: { - twirp_invalid_route: "POST /twirp/twirp.example.haberdasher.Haberdasher/MakeHatDoesntExists" - }, - msg: "no handler for path /twirp/twirp.example.haberdasher.Haberdasher/MakeHatDoesntExists" - }); - })); - it("support rawBody Buffer", () => __awaiter(void 0, void 0, void 0, function* () { - server = http.createServer((req, res) => __awaiter(void 0, void 0, void 0, function* () { - req.rawBody = Buffer.from(JSON.stringify({ - hatId: '1234', - })); - yield twirpServer.httpHandler()(req, res); - })); - const response = yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/FindHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(200); - expect(response.body).toEqual({ - hat_id: '1234' - }); - })); - }); -}); -describe("Hooks & Interceptors", () => { - let server; - let twirpServer; - beforeEach(() => { - twirpServer = service_twirp_1.createHaberdasherServer({ - MakeHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return service_1.Hat.create({ - name: "cap", - color: "blue", - inches: 3, - }); - }); - }, - FindHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - }, - ListHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - } - }); - server = http.createServer(twirpServer.httpHandler()); - }); - it("can add interceptors", () => __awaiter(void 0, void 0, void 0, function* () { - const interceptorSpy = jest.fn(); - twirpServer.use((ctx, req, next) => __awaiter(void 0, void 0, void 0, function* () { - interceptorSpy(); - const resp = yield next(ctx, next); - interceptorSpy(); - return resp; - })); - yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(200); - expect(interceptorSpy).toBeCalledTimes(2); - })); - it("can add hooks", () => __awaiter(void 0, void 0, void 0, function* () { - const hookSpy = jest.fn(); - twirpServer.use({ - requestReceived: (ctx) => { - hookSpy("received"); - }, - requestRouted: (ctx) => { - hookSpy("routed"); - }, - requestPrepared: (ctx) => { - hookSpy("prepared"); - }, - requestSent: (ctx) => { - hookSpy("sent"); - }, - error: (ctx, err) => { - hookSpy("error"); // will not be called - } - }); - yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(200); - expect(hookSpy).toBeCalledTimes(4); - expect(hookSpy).toBeCalledWith("received"); - expect(hookSpy).toBeCalledWith("routed"); - expect(hookSpy).toBeCalledWith("prepared"); - expect(hookSpy).toBeCalledWith("sent"); - })); - it("will invoke the error hook when an error occurs", () => __awaiter(void 0, void 0, void 0, function* () { - twirpServer = service_twirp_1.createHaberdasherServer({ - MakeHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - throw new errors_1.TwirpError(errors_1.TwirpErrorCode.Internal, "test error"); - }); - }, - FindHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - }, - ListHat(ctx, request) { - return __awaiter(this, void 0, void 0, function* () { - return request; - }); - } - }); - const hookSpy = jest.fn(); - twirpServer.use({ - error: (ctx, err) => { - hookSpy("error"); // will not be called - } - }); - server = http.createServer(twirpServer.httpHandler()); - yield supertest_1.default(server).post("/twirp/twirp.example.haberdasher.Haberdasher/MakeHat") - .set('Content-Type', 'application/json') - .expect('Content-Type', "application/json") - .expect(500); - expect(hookSpy).toBeCalledWith("error"); - })); -}); diff --git a/node_modules/twirp-ts/build/twirp/context.d.ts b/node_modules/twirp-ts/build/twirp/context.d.ts deleted file mode 100644 index b208d91a59..0000000000 --- a/node_modules/twirp-ts/build/twirp/context.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// -import * as http from "http"; -import { TwirpContentType } from "./request"; -export interface TwirpContext { - readonly packageName: string; - readonly serviceName: string; - readonly methodName: string; - readonly contentType: TwirpContentType; - readonly req: Request; - readonly res: Response; -} diff --git a/node_modules/twirp-ts/build/twirp/context.js b/node_modules/twirp-ts/build/twirp/context.js deleted file mode 100644 index c8ad2e549b..0000000000 --- a/node_modules/twirp-ts/build/twirp/context.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/node_modules/twirp-ts/build/twirp/errors.d.ts b/node_modules/twirp-ts/build/twirp/errors.d.ts deleted file mode 100644 index e59249c1de..0000000000 --- a/node_modules/twirp-ts/build/twirp/errors.d.ts +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Represents a twirp error - */ -export declare class TwirpError extends Error { - readonly msg: string; - readonly code: TwirpErrorCode; - readonly meta: Record; - private _originalCause?; - constructor(code: TwirpErrorCode, msg: string); - /** - * Adds a metadata kv to the error - * @param key - * @param value - */ - withMeta(key: string, value: string): this; - /** - * Returns a single metadata value - * return "" if not found - * @param key - */ - getMeta(key: string): string; - /** - * Add the original error cause - * @param err - * @param addMeta - */ - withCause(err: Error, addMeta?: boolean): this; - cause(): Error | undefined; - /** - * Returns the error representation to JSON - */ - toJSON(): string; - /** - * Create a twirp error from an object - * @param obj - */ - static fromObject(obj: Record): TwirpError; -} -/** - * NotFoundError constructor for the common NotFound error. - */ -export declare class NotFoundError extends TwirpError { - constructor(msg: string); -} -/** - * InvalidArgumentError constructor for the common InvalidArgument error. Can be - * used when an argument has invalid format, is a number out of range, is a bad - * option, etc). - */ -export declare class InvalidArgumentError extends TwirpError { - constructor(argument: string, validationMsg: string); -} -/** - * RequiredArgumentError is a more specific constructor for InvalidArgument - * error. Should be used when the argument is required (expected to have a - * non-zero value). - */ -export declare class RequiredArgumentError extends InvalidArgumentError { - constructor(argument: string); -} -/** - * InternalError constructor for the common Internal error. Should be used to - * specify that something bad or unexpected happened. - */ -export declare class InternalServerError extends TwirpError { - constructor(msg: string); -} -/** - * InternalErrorWith makes an internal error, wrapping the original error and using it - * for the error message, and with metadata "cause" with the original error type. - * This function is used by Twirp services to wrap non-Twirp errors as internal errors. - * The wrapped error can be extracted later with err.cause() - */ -export declare class InternalServerErrorWith extends InternalServerError { - constructor(err: Error); -} -/** - * A standard BadRoute Error - */ -export declare class BadRouteError extends TwirpError { - constructor(msg: string, method: string, url: string); -} -export declare enum TwirpErrorCode { - Canceled = "canceled", - Unknown = "unknown", - InvalidArgument = "invalid_argument", - Malformed = "malformed", - DeadlineExceeded = "deadline_exceeded", - NotFound = "not_found", - BadRoute = "bad_route", - AlreadyExists = "already_exists", - PermissionDenied = "permission_denied", - Unauthenticated = "unauthenticated", - ResourceExhausted = "resource_exhausted", - FailedPrecondition = "failed_precondition", - Aborted = "aborted", - OutOfRange = "out_of_range", - Unimplemented = "unimplemented", - Internal = "internal", - Unavailable = "unavailable", - DataLoss = "data_loss" -} -export declare function httpStatusFromErrorCode(code: TwirpErrorCode): number; -export declare function isValidErrorCode(code: TwirpErrorCode): boolean; diff --git a/node_modules/twirp-ts/build/twirp/errors.js b/node_modules/twirp-ts/build/twirp/errors.js deleted file mode 100644 index 95d49e7484..0000000000 --- a/node_modules/twirp-ts/build/twirp/errors.js +++ /dev/null @@ -1,271 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isValidErrorCode = exports.httpStatusFromErrorCode = exports.TwirpErrorCode = exports.BadRouteError = exports.InternalServerErrorWith = exports.InternalServerError = exports.RequiredArgumentError = exports.InvalidArgumentError = exports.NotFoundError = exports.TwirpError = void 0; -/** - * Represents a twirp error - */ -class TwirpError extends Error { - constructor(code, msg) { - super(msg); - this.code = TwirpErrorCode.Internal; - this.meta = {}; - this.code = code; - this.msg = msg; - Object.setPrototypeOf(this, TwirpError.prototype); - } - /** - * Adds a metadata kv to the error - * @param key - * @param value - */ - withMeta(key, value) { - this.meta[key] = value; - return this; - } - /** - * Returns a single metadata value - * return "" if not found - * @param key - */ - getMeta(key) { - return this.meta[key] || ""; - } - /** - * Add the original error cause - * @param err - * @param addMeta - */ - withCause(err, addMeta = false) { - this._originalCause = err; - if (addMeta) { - this.withMeta("cause", err.message); - } - return this; - } - cause() { - return this._originalCause; - } - /** - * Returns the error representation to JSON - */ - toJSON() { - try { - return JSON.stringify({ - code: this.code, - msg: this.msg, - meta: this.meta, - }); - } - catch (e) { - return `{"code": "internal", "msg": "There was an error but it could not be serialized into JSON"}`; - } - } - /** - * Create a twirp error from an object - * @param obj - */ - static fromObject(obj) { - const code = obj["code"] || TwirpErrorCode.Unknown; - const msg = obj["msg"] || "unknown"; - const error = new TwirpError(code, msg); - if (obj["meta"]) { - Object.keys(obj["meta"]).forEach((key) => { - error.withMeta(key, obj["meta"][key]); - }); - } - return error; - } -} -exports.TwirpError = TwirpError; -/** - * NotFoundError constructor for the common NotFound error. - */ -class NotFoundError extends TwirpError { - constructor(msg) { - super(TwirpErrorCode.NotFound, msg); - } -} -exports.NotFoundError = NotFoundError; -/** - * InvalidArgumentError constructor for the common InvalidArgument error. Can be - * used when an argument has invalid format, is a number out of range, is a bad - * option, etc). - */ -class InvalidArgumentError extends TwirpError { - constructor(argument, validationMsg) { - super(TwirpErrorCode.InvalidArgument, argument + " " + validationMsg); - this.withMeta("argument", argument); - } -} -exports.InvalidArgumentError = InvalidArgumentError; -/** - * RequiredArgumentError is a more specific constructor for InvalidArgument - * error. Should be used when the argument is required (expected to have a - * non-zero value). - */ -class RequiredArgumentError extends InvalidArgumentError { - constructor(argument) { - super(argument, "is required"); - } -} -exports.RequiredArgumentError = RequiredArgumentError; -/** - * InternalError constructor for the common Internal error. Should be used to - * specify that something bad or unexpected happened. - */ -class InternalServerError extends TwirpError { - constructor(msg) { - super(TwirpErrorCode.Internal, msg); - } -} -exports.InternalServerError = InternalServerError; -/** - * InternalErrorWith makes an internal error, wrapping the original error and using it - * for the error message, and with metadata "cause" with the original error type. - * This function is used by Twirp services to wrap non-Twirp errors as internal errors. - * The wrapped error can be extracted later with err.cause() - */ -class InternalServerErrorWith extends InternalServerError { - constructor(err) { - super(err.message); - this.withMeta("cause", err.name); - this.withCause(err); - } -} -exports.InternalServerErrorWith = InternalServerErrorWith; -/** - * A standard BadRoute Error - */ -class BadRouteError extends TwirpError { - constructor(msg, method, url) { - super(TwirpErrorCode.BadRoute, msg); - this.withMeta("twirp_invalid_route", method + " " + url); - } -} -exports.BadRouteError = BadRouteError; -var TwirpErrorCode; -(function (TwirpErrorCode) { - // Canceled indicates the operation was cancelled (typically by the caller). - TwirpErrorCode["Canceled"] = "canceled"; - // Unknown error. For example when handling errors raised by APIs that do not - // return enough error information. - TwirpErrorCode["Unknown"] = "unknown"; - // InvalidArgument indicates client specified an invalid argument. It - // indicates arguments that are problematic regardless of the state of the - // system (i.e. a malformed file name, required argument, number out of range, - // etc.). - TwirpErrorCode["InvalidArgument"] = "invalid_argument"; - // Malformed indicates an error occurred while decoding the client's request. - // This may mean that the message was encoded improperly, or that there is a - // disagreement in message format between the client and server. - TwirpErrorCode["Malformed"] = "malformed"; - // DeadlineExceeded means operation expired before completion. For operations - // that change the state of the system, this error may be returned even if the - // operation has completed successfully (timeout). - TwirpErrorCode["DeadlineExceeded"] = "deadline_exceeded"; - // NotFound means some requested entity was not found. - TwirpErrorCode["NotFound"] = "not_found"; - // BadRoute means that the requested URL path wasn't routable to a Twirp - // service and method. This is returned by the generated server, and usually - // shouldn't be returned by applications. Instead, applications should use - // NotFound or Unimplemented. - TwirpErrorCode["BadRoute"] = "bad_route"; - // AlreadyExists means an attempt to create an entity failed because one - // already exists. - TwirpErrorCode["AlreadyExists"] = "already_exists"; - // PermissionDenied indicates the caller does not have permission to execute - // the specified operation. It must not be used if the caller cannot be - // identified (Unauthenticated). - TwirpErrorCode["PermissionDenied"] = "permission_denied"; - // Unauthenticated indicates the request does not have valid authentication - // credentials for the operation. - TwirpErrorCode["Unauthenticated"] = "unauthenticated"; - // ResourceExhausted indicates some resource has been exhausted, perhaps a - // per-user quota, or perhaps the entire file system is out of space. - TwirpErrorCode["ResourceExhausted"] = "resource_exhausted"; - // FailedPrecondition indicates operation was rejected because the system is - // not in a state required for the operation's execution. For example, doing - // an rmdir operation on a directory that is non-empty, or on a non-directory - // object, or when having conflicting read-modify-write on the same resource. - TwirpErrorCode["FailedPrecondition"] = "failed_precondition"; - // Aborted indicates the operation was aborted, typically due to a concurrency - // issue like sequencer check failures, transaction aborts, etc. - TwirpErrorCode["Aborted"] = "aborted"; - // OutOfRange means operation was attempted past the valid range. For example, - // seeking or reading past end of a paginated collection. - // - // Unlike InvalidArgument, this error indicates a problem that may be fixed if - // the system state changes (i.e. adding more items to the collection). - // - // There is a fair bit of overlap between FailedPrecondition and OutOfRange. - // We recommend using OutOfRange (the more specific error) when it applies so - // that callers who are iterating through a space can easily look for an - // OutOfRange error to detect when they are done. - TwirpErrorCode["OutOfRange"] = "out_of_range"; - // Unimplemented indicates operation is not implemented or not - // supported/enabled in this service. - TwirpErrorCode["Unimplemented"] = "unimplemented"; - // Internal errors. When some invariants expected by the underlying system - // have been broken. In other words, something bad happened in the library or - // backend service. Do not confuse with HTTP Internal Server Error; an - // Internal error could also happen on the client code, i.e. when parsing a - // server response. - TwirpErrorCode["Internal"] = "internal"; - // Unavailable indicates the service is currently unavailable. This is a most - // likely a transient condition and may be corrected by retrying with a - // backoff. - TwirpErrorCode["Unavailable"] = "unavailable"; - // DataLoss indicates unrecoverable data loss or corruption. - TwirpErrorCode["DataLoss"] = "data_loss"; -})(TwirpErrorCode = exports.TwirpErrorCode || (exports.TwirpErrorCode = {})); -// ServerHTTPStatusFromErrorCode maps a Twirp error type into a similar HTTP -// response status. It is used by the Twirp server handler to set the HTTP -// response status code. Returns 0 if the ErrorCode is invalid. -function httpStatusFromErrorCode(code) { - switch (code) { - case TwirpErrorCode.Canceled: - return 408; // RequestTimeout - case TwirpErrorCode.Unknown: - return 500; // Internal Server Error - case TwirpErrorCode.InvalidArgument: - return 400; // BadRequest - case TwirpErrorCode.Malformed: - return 400; // BadRequest - case TwirpErrorCode.DeadlineExceeded: - return 408; // RequestTimeout - case TwirpErrorCode.NotFound: - return 404; // Not Found - case TwirpErrorCode.BadRoute: - return 404; // Not Found - case TwirpErrorCode.AlreadyExists: - return 409; // Conflict - case TwirpErrorCode.PermissionDenied: - return 403; // Forbidden - case TwirpErrorCode.Unauthenticated: - return 401; // Unauthorized - case TwirpErrorCode.ResourceExhausted: - return 429; // Too Many Requests - case TwirpErrorCode.FailedPrecondition: - return 412; // Precondition Failed - case TwirpErrorCode.Aborted: - return 409; // Conflict - case TwirpErrorCode.OutOfRange: - return 400; // Bad Request - case TwirpErrorCode.Unimplemented: - return 501; // Not Implemented - case TwirpErrorCode.Internal: - return 500; // Internal Server Error - case TwirpErrorCode.Unavailable: - return 503; // Service Unavailable - case TwirpErrorCode.DataLoss: - return 500; // Internal Server Error - default: - return 0; // Invalid! - } -} -exports.httpStatusFromErrorCode = httpStatusFromErrorCode; -// IsValidErrorCode returns true if is one of the valid predefined constants. -function isValidErrorCode(code) { - return httpStatusFromErrorCode(code) != 0; -} -exports.isValidErrorCode = isValidErrorCode; diff --git a/node_modules/twirp-ts/build/twirp/gateway.d.ts b/node_modules/twirp-ts/build/twirp/gateway.d.ts deleted file mode 100644 index 592e37ae0e..0000000000 --- a/node_modules/twirp-ts/build/twirp/gateway.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -/// -import * as http from "http"; -import { MatchFunction, MatchResult } from "path-to-regexp"; -import { HttpClientOptions } from "./http.client"; -export declare enum Pattern { - POST = "post", - GET = "get", - PATCH = "patch", - PUT = "put", - DELETE = "delete" -} -export interface HttpRoute { - serviceName: string; - methodName: string; - packageName: string; - matchingPath: string; - matcher: MatchFunction; - httpMethod: Pattern; - bodyKey?: string; - responseBodyKey?: string; - additionalBindings?: HttpRoute; -} -declare type RouteRules = { - [key in Pattern]: HttpRoute[]; -}; -/** - * The Gateway proxies http requests to Twirp Compliant - * handlers - */ -export declare class Gateway { - readonly routes: RouteRules; - constructor(routes: RouteRules); - /** - * Middleware that rewrite the current request - * to a Twirp compliant request - */ - twirpRewrite(prefix?: string): (req: http.IncomingMessage, resp: http.ServerResponse, next: (err?: Error | undefined) => void) => void; - /** - * Rewrite an incoming request to a Twirp compliant request - * @param req - * @param resp - * @param prefix - */ - rewrite(req: http.IncomingMessage, resp: http.ServerResponse, prefix?: string): Promise; - /** - * Create a reverse proxy handler to - * proxy http requests to Twirp Compliant handlers - * @param httpClientOption - */ - reverseProxy(httpClientOption: HttpClientOptions): (req: http.IncomingMessage, res: http.ServerResponse) => Promise; - /** - * Prepares twirp body requests using http.google.annotions - * compliant spec - * - * @param req - * @param match - * @param route - * @protected - */ - protected prepareTwirpBody(req: http.IncomingMessage, match: MatchResult, route: HttpRoute): Promise>; - /** - * Matches a route - * @param req - */ - matchRoute(req: http.IncomingMessage): [MatchResult, HttpRoute]; - /** - * Parse query string - * @param queryString - */ - parseQueryString(queryString: string): object; -} -export {}; diff --git a/node_modules/twirp-ts/build/twirp/gateway.js b/node_modules/twirp-ts/build/twirp/gateway.js deleted file mode 100644 index dcf7edef2f..0000000000 --- a/node_modules/twirp-ts/build/twirp/gateway.js +++ /dev/null @@ -1,207 +0,0 @@ -"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.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 __rest = (this && this.__rest) || function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Gateway = exports.Pattern = void 0; -const querystring_1 = require("querystring"); -const dotObject = __importStar(require("dot-object")); -const request_1 = require("./request"); -const errors_1 = require("./errors"); -const http_client_1 = require("./http.client"); -const server_1 = require("./server"); -var Pattern; -(function (Pattern) { - Pattern["POST"] = "post"; - Pattern["GET"] = "get"; - Pattern["PATCH"] = "patch"; - Pattern["PUT"] = "put"; - Pattern["DELETE"] = "delete"; -})(Pattern = exports.Pattern || (exports.Pattern = {})); -/** - * The Gateway proxies http requests to Twirp Compliant - * handlers - */ -class Gateway { - constructor(routes) { - this.routes = routes; - } - /** - * Middleware that rewrite the current request - * to a Twirp compliant request - */ - twirpRewrite(prefix = "/twirp") { - return (req, resp, next) => { - this.rewrite(req, resp, prefix) - .then(() => next()) - .catch((e) => { - if (e instanceof errors_1.TwirpError) { - if (e.code !== errors_1.TwirpErrorCode.NotFound) { - server_1.writeError(resp, e); - } - else { - next(); - } - } - }); - }; - } - /** - * Rewrite an incoming request to a Twirp compliant request - * @param req - * @param resp - * @param prefix - */ - rewrite(req, resp, prefix = "/twirp") { - return __awaiter(this, void 0, void 0, function* () { - const [match, route] = this.matchRoute(req); - const body = yield this.prepareTwirpBody(req, match, route); - const twirpUrl = `${prefix}/${route.packageName}.${route.serviceName}/${route.methodName}`; - req.url = twirpUrl; - req.originalUrl = twirpUrl; - req.method = "POST"; - req.headers["content-type"] = "application/json"; - req.rawBody = Buffer.from(JSON.stringify(body)); - if (route.responseBodyKey) { - const endFn = resp.end.bind(resp); - resp.end = function (chunk) { - if (resp.statusCode === 200) { - endFn(`{ "${route.responseBodyKey}": ${chunk} }`); - } - else { - endFn(chunk); - } - }; - } - }); - } - /** - * Create a reverse proxy handler to - * proxy http requests to Twirp Compliant handlers - * @param httpClientOption - */ - reverseProxy(httpClientOption) { - const client = http_client_1.NodeHttpRPC(httpClientOption); - return (req, res) => __awaiter(this, void 0, void 0, function* () { - try { - const [match, route] = this.matchRoute(req); - const body = yield this.prepareTwirpBody(req, match, route); - const response = yield client.request(`${route.packageName}.${route.serviceName}`, route.methodName, "application/json", body); - res.statusCode = 200; - res.setHeader("content-type", "application/json"); - let jsonResponse; - if (route.responseBodyKey) { - jsonResponse = JSON.stringify({ [route.responseBodyKey]: response }); - } - else { - jsonResponse = JSON.stringify(response); - } - res.end(jsonResponse); - } - catch (e) { - server_1.writeError(res, e); - } - }); - } - /** - * Prepares twirp body requests using http.google.annotions - * compliant spec - * - * @param req - * @param match - * @param route - * @protected - */ - prepareTwirpBody(req, match, route) { - return __awaiter(this, void 0, void 0, function* () { - const _a = match.params, { query_string } = _a, params = __rest(_a, ["query_string"]); - let requestBody = Object.assign({}, params); - if (query_string && route.bodyKey !== "*") { - const queryParams = this.parseQueryString(query_string); - requestBody = Object.assign(Object.assign({}, queryParams), requestBody); - } - let body = {}; - if (route.bodyKey) { - const data = yield request_1.getRequestData(req); - try { - const jsonBody = JSON.parse(data.toString() || "{}"); - if (route.bodyKey === "*") { - body = jsonBody; - } - else { - body[route.bodyKey] = jsonBody; - } - } - catch (e) { - const msg = "the json request could not be decoded"; - throw new errors_1.TwirpError(errors_1.TwirpErrorCode.Malformed, msg).withCause(e, true); - } - } - return Object.assign(Object.assign({}, body), requestBody); - }); - } - /** - * Matches a route - * @param req - */ - matchRoute(req) { - var _a; - const httpMethod = (_a = req.method) === null || _a === void 0 ? void 0 : _a.toLowerCase(); - if (!httpMethod) { - throw new errors_1.BadRouteError(`method not allowed`, req.method || "", req.url || ""); - } - const routes = this.routes[httpMethod]; - for (const route of routes) { - const match = route.matcher(req.url || "/"); - if (match) { - return [match, route]; - } - } - throw new errors_1.NotFoundError(`url ${req.url} not found`); - } - /** - * Parse query string - * @param queryString - */ - parseQueryString(queryString) { - const queryParams = querystring_1.parse(queryString.replace("?", "")); - return dotObject.object(queryParams); - } -} -exports.Gateway = Gateway; diff --git a/node_modules/twirp-ts/build/twirp/hooks.d.ts b/node_modules/twirp-ts/build/twirp/hooks.d.ts deleted file mode 100644 index 380a45aedb..0000000000 --- a/node_modules/twirp-ts/build/twirp/hooks.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { TwirpContext } from "./context"; -import { TwirpError } from "./errors"; -export interface ServerHooks { - requestReceived?: (ctx: T) => void | Promise; - requestRouted?: (ctx: T) => void | Promise; - /**@deprecated Use responsePrepared instead*/ - requestPrepared?: (ctx: T) => void | Promise; - responsePrepared?: (ctx: T) => void | Promise; - /**@deprecated Use responseSent instead*/ - requestSent?: (ctx: T) => void | Promise; - responseSent?: (ctx: T) => void | Promise; - error?: (ctx: T, err: TwirpError) => void | Promise; -} -export declare function chainHooks(...hooks: ServerHooks[]): ServerHooks | null; -export declare function isHook(object: any): object is ServerHooks; diff --git a/node_modules/twirp-ts/build/twirp/hooks.js b/node_modules/twirp-ts/build/twirp/hooks.js deleted file mode 100644 index 813cff9373..0000000000 --- a/node_modules/twirp-ts/build/twirp/hooks.js +++ /dev/null @@ -1,114 +0,0 @@ -"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.isHook = exports.chainHooks = void 0; -// ChainHooks creates a new ServerHook which chains the callbacks in -// each of the constituent hooks passed in. Each hook function will be -// called in the order of the ServerHooks values passed in. -// -// For the erroring hooks, RequestReceived and RequestRouted, any returned -// errors prevent processing by later hooks. -function chainHooks(...hooks) { - if (hooks.length === 0) { - return null; - } - if (hooks.length === 1) { - return hooks[0]; - } - const serverHook = { - requestReceived(ctx) { - return __awaiter(this, void 0, void 0, function* () { - for (const hook of hooks) { - if (!hook.requestReceived) { - continue; - } - yield hook.requestReceived(ctx); - } - }); - }, - requestPrepared(ctx) { - return __awaiter(this, void 0, void 0, function* () { - for (const hook of hooks) { - if (!hook.requestPrepared) { - continue; - } - console.warn("hook requestPrepared is deprecated and will be removed in the next release. " + - "Please use responsePrepared instead."); - yield hook.requestPrepared(ctx); - } - }); - }, - responsePrepared(ctx) { - return __awaiter(this, void 0, void 0, function* () { - for (const hook of hooks) { - if (!hook.responsePrepared) { - continue; - } - yield hook.responsePrepared(ctx); - } - }); - }, - requestSent(ctx) { - return __awaiter(this, void 0, void 0, function* () { - for (const hook of hooks) { - if (!hook.requestSent) { - continue; - } - console.warn("hook requestSent is deprecated and will be removed in the next release. " + - "Please use responseSent instead."); - yield hook.requestSent(ctx); - } - }); - }, - responseSent(ctx) { - return __awaiter(this, void 0, void 0, function* () { - for (const hook of hooks) { - if (!hook.responseSent) { - continue; - } - yield hook.responseSent(ctx); - } - }); - }, - requestRouted(ctx) { - return __awaiter(this, void 0, void 0, function* () { - for (const hook of hooks) { - if (!hook.requestRouted) { - continue; - } - yield hook.requestRouted(ctx); - } - }); - }, - error(ctx, err) { - return __awaiter(this, void 0, void 0, function* () { - for (const hook of hooks) { - if (!hook.error) { - continue; - } - yield hook.error(ctx, err); - } - }); - }, - }; - return serverHook; -} -exports.chainHooks = chainHooks; -function isHook(object) { - return ("requestReceived" in object || - "requestPrepared" in object || - "requestSent" in object || - "requestRouted" in object || - "responsePrepared" in object || - "responseSent" in object || - "error" in object); -} -exports.isHook = isHook; diff --git a/node_modules/twirp-ts/build/twirp/http.client.d.ts b/node_modules/twirp-ts/build/twirp/http.client.d.ts deleted file mode 100644 index c2166694e3..0000000000 --- a/node_modules/twirp-ts/build/twirp/http.client.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/// -import * as http from "http"; -import * as https from "https"; -import { TwirpError } from "./errors"; -export interface Rpc { - request(service: string, method: string, contentType: "application/json" | "application/protobuf", data: object | Uint8Array): Promise; -} -export declare type HttpClientOptions = Omit & { - baseUrl: string; -}; -/** - * a node HTTP RPC implementation - * @param options - * @constructor - */ -export declare const NodeHttpRPC: (options: HttpClientOptions) => Rpc; -export declare function wrapErrorResponseToTwirpError(errorResponse: string): TwirpError; -export declare type FetchRPCOptions = Omit & { - baseUrl: string; -}; -/** - * a browser fetch RPC implementation - */ -export declare const FetchRPC: (options: FetchRPCOptions) => Rpc; diff --git a/node_modules/twirp-ts/build/twirp/http.client.js b/node_modules/twirp-ts/build/twirp/http.client.js deleted file mode 100644 index 23ccdb5b1d..0000000000 --- a/node_modules/twirp-ts/build/twirp/http.client.js +++ /dev/null @@ -1,112 +0,0 @@ -"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.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.FetchRPC = exports.wrapErrorResponseToTwirpError = exports.NodeHttpRPC = void 0; -const http = __importStar(require("http")); -const https = __importStar(require("https")); -const url_1 = require("url"); -const errors_1 = require("./errors"); -/** - * a node HTTP RPC implementation - * @param options - * @constructor - */ -const NodeHttpRPC = (options) => ({ - request(service, method, contentType, data) { - let client; - return new Promise((resolve, rejected) => { - const responseChunks = []; - const requestData = contentType === "application/protobuf" - ? Buffer.from(data) - : JSON.stringify(data); - const url = new url_1.URL(options.baseUrl); - const isHttps = url.protocol === "https:"; - if (isHttps) { - client = https; - } - else { - client = http; - } - const prefix = url.pathname !== "/" ? url.pathname : ""; - const req = client - .request(Object.assign(Object.assign({}, (options ? options : {})), { method: "POST", protocol: url.protocol, host: url.hostname, port: url.port ? url.port : isHttps ? 443 : 80, path: `${prefix}/${service}/${method}`, headers: Object.assign(Object.assign({}, (options.headers ? options.headers : {})), { "Content-Type": contentType, "Content-Length": contentType === "application/protobuf" - ? Buffer.byteLength(requestData) - : Buffer.from(requestData).byteLength }) }), (res) => { - res.on("data", (chunk) => responseChunks.push(chunk)); - res.on("end", () => { - const data = Buffer.concat(responseChunks); - if (res.statusCode != 200) { - rejected(wrapErrorResponseToTwirpError(data.toString())); - } - else { - if (contentType === "application/json") { - resolve(JSON.parse(data.toString())); - } - else { - resolve(data); - } - } - }); - res.on("error", (err) => { - rejected(err); - }); - }) - .on("error", (err) => { - rejected(err); - }); - req.end(requestData); - }); - }, -}); -exports.NodeHttpRPC = NodeHttpRPC; -function wrapErrorResponseToTwirpError(errorResponse) { - return errors_1.TwirpError.fromObject(JSON.parse(errorResponse)); -} -exports.wrapErrorResponseToTwirpError = wrapErrorResponseToTwirpError; -/** - * a browser fetch RPC implementation - */ -const FetchRPC = (options) => ({ - request(service, method, contentType, data) { - return __awaiter(this, void 0, void 0, function* () { - const headers = new Headers(options.headers); - headers.set("content-type", contentType); - const response = yield fetch(`${options.baseUrl}/${service}/${method}`, Object.assign(Object.assign({}, options), { method: "POST", headers, body: data instanceof Uint8Array ? data : JSON.stringify(data) })); - if (response.status === 200) { - if (contentType === "application/json") { - return yield response.json(); - } - return new Uint8Array(yield response.arrayBuffer()); - } - throw errors_1.TwirpError.fromObject(yield response.json()); - }); - }, -}); -exports.FetchRPC = FetchRPC; diff --git a/node_modules/twirp-ts/build/twirp/index.d.ts b/node_modules/twirp-ts/build/twirp/index.d.ts deleted file mode 100644 index 1393555075..0000000000 --- a/node_modules/twirp-ts/build/twirp/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from "./context"; -export * from "./server"; -export * from "./interceptors"; -export * from "./hooks"; -export * from "./errors"; -export * from "./gateway"; -export * from "./http.client"; -export { TwirpContentType, TwirpRequest } from "./request"; diff --git a/node_modules/twirp-ts/build/twirp/index.js b/node_modules/twirp-ts/build/twirp/index.js deleted file mode 100644 index 22e6f618a5..0000000000 --- a/node_modules/twirp-ts/build/twirp/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"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 __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TwirpContentType = void 0; -__exportStar(require("./context"), exports); -__exportStar(require("./server"), exports); -__exportStar(require("./interceptors"), exports); -__exportStar(require("./hooks"), exports); -__exportStar(require("./errors"), exports); -__exportStar(require("./gateway"), exports); -__exportStar(require("./http.client"), exports); -var request_1 = require("./request"); -Object.defineProperty(exports, "TwirpContentType", { enumerable: true, get: function () { return request_1.TwirpContentType; } }); diff --git a/node_modules/twirp-ts/build/twirp/interceptors.d.ts b/node_modules/twirp-ts/build/twirp/interceptors.d.ts deleted file mode 100644 index 38cb53d5c6..0000000000 --- a/node_modules/twirp-ts/build/twirp/interceptors.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { TwirpContext } from "./context"; -export declare type Next = (ctx: Context, typedRequest: Request) => Promise; -export declare type Interceptor = (ctx: Context, typedRequest: Request, next: Next) => Promise; -export declare function chainInterceptors(...interceptors: Interceptor[]): Interceptor | undefined; diff --git a/node_modules/twirp-ts/build/twirp/interceptors.js b/node_modules/twirp-ts/build/twirp/interceptors.js deleted file mode 100644 index d93a7db98c..0000000000 --- a/node_modules/twirp-ts/build/twirp/interceptors.js +++ /dev/null @@ -1,34 +0,0 @@ -"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.chainInterceptors = void 0; -// chains multiple Interceptors into a single Interceptor. -// The first interceptor wraps the second one, and so on. -// Returns null if interceptors is empty. -function chainInterceptors(...interceptors) { - if (interceptors.length === 0) { - return; - } - if (interceptors.length === 1) { - return interceptors[0]; - } - const first = interceptors[0]; - return (ctx, request, handler) => __awaiter(this, void 0, void 0, function* () { - let next = handler; - for (let i = interceptors.length - 1; i > 0; i--) { - next = ((next) => (ctx, typedRequest) => { - return interceptors[i](ctx, typedRequest, next); - })(next); - } - return first(ctx, request, next); - }); -} -exports.chainInterceptors = chainInterceptors; diff --git a/node_modules/twirp-ts/build/twirp/request.d.ts b/node_modules/twirp-ts/build/twirp/request.d.ts deleted file mode 100644 index 36d4b63f6d..0000000000 --- a/node_modules/twirp-ts/build/twirp/request.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -/// -import { TwirpContext } from "./context"; -import http from "http"; -/** - * Supported Twirp Content-Type - */ -export declare enum TwirpContentType { - Protobuf = 0, - JSON = 1, - Unknown = 2 -} -/** - * Represent a Twirp request - */ -export interface TwirpRequest { - prefix?: string; - pkgService: string; - method: string; - contentType: TwirpContentType; - mimeContentType: string; -} -/** - * Get supported content-type - * @param mimeType - */ -export declare function getContentType(mimeType: string | undefined): TwirpContentType; -/** - * Validate a twirp request - * @param ctx - * @param request - * @param pathPrefix - */ -export declare function validateRequest(ctx: TwirpContext, request: http.IncomingMessage, pathPrefix: string): TwirpRequest; -/** - * Get request data from the body - * @param req - */ -export declare function getRequestData(req: http.IncomingMessage): Promise; -/** - * Parses twirp url path - * @param path - */ -export declare function parseTwirpPath(path: string): Omit; diff --git a/node_modules/twirp-ts/build/twirp/request.js b/node_modules/twirp-ts/build/twirp/request.js deleted file mode 100644 index d336a9d1e6..0000000000 --- a/node_modules/twirp-ts/build/twirp/request.js +++ /dev/null @@ -1,117 +0,0 @@ -"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.parseTwirpPath = exports.getRequestData = exports.validateRequest = exports.getContentType = exports.TwirpContentType = void 0; -const errors_1 = require("./errors"); -/** - * Supported Twirp Content-Type - */ -var TwirpContentType; -(function (TwirpContentType) { - TwirpContentType[TwirpContentType["Protobuf"] = 0] = "Protobuf"; - TwirpContentType[TwirpContentType["JSON"] = 1] = "JSON"; - TwirpContentType[TwirpContentType["Unknown"] = 2] = "Unknown"; -})(TwirpContentType = exports.TwirpContentType || (exports.TwirpContentType = {})); -/** - * Get supported content-type - * @param mimeType - */ -function getContentType(mimeType) { - switch (mimeType) { - case "application/protobuf": - return TwirpContentType.Protobuf; - case "application/json": - return TwirpContentType.JSON; - default: - return TwirpContentType.Unknown; - } -} -exports.getContentType = getContentType; -/** - * Validate a twirp request - * @param ctx - * @param request - * @param pathPrefix - */ -function validateRequest(ctx, request, pathPrefix) { - if (request.method !== "POST") { - const msg = `unsupported method ${request.method} (only POST is allowed)`; - throw new errors_1.BadRouteError(msg, request.method || "", request.url || ""); - } - const path = parseTwirpPath(request.url || ""); - if (path.pkgService !== - (ctx.packageName ? ctx.packageName + "." : "") + ctx.serviceName) { - const msg = `no handler for path ${request.url}`; - throw new errors_1.BadRouteError(msg, request.method || "", request.url || ""); - } - if (path.prefix !== pathPrefix) { - const msg = `invalid path prefix ${path.prefix}, expected ${pathPrefix}, on path ${request.url}`; - throw new errors_1.BadRouteError(msg, request.method || "", request.url || ""); - } - const mimeContentType = request.headers["content-type"] || ""; - if (ctx.contentType === TwirpContentType.Unknown) { - const msg = `unexpected Content-Type: ${request.headers["content-type"]}`; - throw new errors_1.BadRouteError(msg, request.method || "", request.url || ""); - } - return Object.assign(Object.assign({}, path), { mimeContentType, contentType: ctx.contentType }); -} -exports.validateRequest = validateRequest; -/** - * Get request data from the body - * @param req - */ -function getRequestData(req) { - return new Promise((resolve, reject) => { - const reqWithRawBody = req; - if (reqWithRawBody.rawBody instanceof Buffer) { - resolve(reqWithRawBody.rawBody); - return; - } - const chunks = []; - req.on("data", (chunk) => chunks.push(chunk)); - req.on("end", () => __awaiter(this, void 0, void 0, function* () { - const data = Buffer.concat(chunks); - resolve(data); - })); - req.on("error", (err) => { - if (req.aborted) { - reject(new errors_1.TwirpError(errors_1.TwirpErrorCode.DeadlineExceeded, "failed to read request: deadline exceeded")); - } - else { - reject(new errors_1.TwirpError(errors_1.TwirpErrorCode.Malformed, err.message).withCause(err)); - } - }); - req.on("close", () => { - reject(new errors_1.TwirpError(errors_1.TwirpErrorCode.Canceled, "failed to read request: context canceled")); - }); - }); -} -exports.getRequestData = getRequestData; -/** - * Parses twirp url path - * @param path - */ -function parseTwirpPath(path) { - const parts = path.split("/"); - if (parts.length < 2) { - return { - pkgService: "", - method: "", - prefix: "", - }; - } - return { - method: parts[parts.length - 1], - pkgService: parts[parts.length - 2], - prefix: parts.slice(0, parts.length - 2).join("/"), - }; -} -exports.parseTwirpPath = parseTwirpPath; diff --git a/node_modules/twirp-ts/build/twirp/server.d.ts b/node_modules/twirp-ts/build/twirp/server.d.ts deleted file mode 100644 index b609d15332..0000000000 --- a/node_modules/twirp-ts/build/twirp/server.d.ts +++ /dev/null @@ -1,104 +0,0 @@ -/// -import * as http from "http"; -import { TwirpContext } from "./context"; -import { ServerHooks } from "./hooks"; -import { Interceptor } from "./interceptors"; -import { TwirpError } from "./errors"; -/** - * Twirp Server options - */ -interface TwirpServerOptions { - service: T; - packageName: string; - serviceName: string; - methodList: keys; - matchRoute: (method: string, events: RouterEvents) => TwirpHandler; -} -/** - * httpHandler options - */ -export interface HttpHandlerOptions { - prefix?: string | false; -} -/** - * Handles a twirp request - */ -export declare type TwirpHandler = (ctx: S, service: T, data: Buffer, interceptors?: Interceptor[]) => Promise; -/** - * Callback events for route matching - */ -export interface RouterEvents { - onMatch: (ctx: T) => Promise | void; - onNotFound: () => Promise | void; -} -declare type keys = Array; -/** - * Runtime server implementation of a TwirpServer - */ -export declare class TwirpServer { - readonly packageName: string; - readonly serviceName: string; - readonly methodList: keys; - private service; - private pathPrefix; - private hooks; - private interceptors; - private matchRoute; - constructor(options: TwirpServerOptions); - /** - * Returns the prefix for this server - */ - get prefix(): string; - /** - * The http handler for twirp complaint endpoints - * @param options - */ - httpHandler(options?: HttpHandlerOptions): (req: http.IncomingMessage, resp: http.ServerResponse) => Promise; - /** - * Adds interceptors or hooks to the request stack - * @param middlewares - */ - use(...middlewares: (ServerHooks | Interceptor)[]): this; - /** - * Adds a prefix to the service url path - * @param prefix - */ - withPrefix(prefix: string | false): this; - /** - * Returns the regex matching path for this twirp server - */ - matchingPath(): RegExp; - /** - * Returns the base URI for this twirp server - */ - baseURI(): string; - /** - * Create a twirp context - * @param req - * @param res - * @private - */ - protected createContext(req: http.IncomingMessage, res: http.ServerResponse): S; - /** - * Twrip server http handler implementation - * @param req - * @param resp - * @private - */ - private _httpHandler; - /** - * Invoke a hook - * @param hookName - * @param ctx - * @param err - * @protected - */ - protected invokeHook(hookName: keyof ServerHooks, ctx: S, err?: TwirpError): Promise; -} -/** - * Write http error response - * @param res - * @param error - */ -export declare function writeError(res: http.ServerResponse, error: Error | TwirpError): void; -export {}; diff --git a/node_modules/twirp-ts/build/twirp/server.js b/node_modules/twirp-ts/build/twirp/server.js deleted file mode 100644 index db9e788247..0000000000 --- a/node_modules/twirp-ts/build/twirp/server.js +++ /dev/null @@ -1,195 +0,0 @@ -"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.writeError = exports.TwirpServer = void 0; -const hooks_1 = require("./hooks"); -const request_1 = require("./request"); -const errors_1 = require("./errors"); -/** - * Runtime server implementation of a TwirpServer - */ -class TwirpServer { - constructor(options) { - this.pathPrefix = "/twirp"; - this.hooks = []; - this.interceptors = []; - this.packageName = options.packageName; - this.serviceName = options.serviceName; - this.methodList = options.methodList; - this.matchRoute = options.matchRoute; - this.service = options.service; - } - /** - * Returns the prefix for this server - */ - get prefix() { - return this.pathPrefix; - } - /** - * The http handler for twirp complaint endpoints - * @param options - */ - httpHandler(options) { - return (req, resp) => { - // setup prefix - if ((options === null || options === void 0 ? void 0 : options.prefix) !== undefined) { - this.withPrefix(options.prefix); - } - return this._httpHandler(req, resp); - }; - } - /** - * Adds interceptors or hooks to the request stack - * @param middlewares - */ - use(...middlewares) { - middlewares.forEach((middleware) => { - if (hooks_1.isHook(middleware)) { - this.hooks.push(middleware); - return this; - } - this.interceptors.push(middleware); - }); - return this; - } - /** - * Adds a prefix to the service url path - * @param prefix - */ - withPrefix(prefix) { - if (prefix === false) { - this.pathPrefix = ""; - } - else { - this.pathPrefix = prefix; - } - return this; - } - /** - * Returns the regex matching path for this twirp server - */ - matchingPath() { - const baseRegex = this.baseURI().replace(/\./g, "\\."); - return new RegExp(`${baseRegex}\/(${this.methodList.join("|")})`); - } - /** - * Returns the base URI for this twirp server - */ - baseURI() { - return `${this.pathPrefix}/${this.packageName ? this.packageName + "." : ""}${this.serviceName}`; - } - /** - * Create a twirp context - * @param req - * @param res - * @private - */ - createContext(req, res) { - return { - packageName: this.packageName, - serviceName: this.serviceName, - methodName: "", - contentType: request_1.getContentType(req.headers["content-type"]), - req: req, - res: res, - }; - } - /** - * Twrip server http handler implementation - * @param req - * @param resp - * @private - */ - _httpHandler(req, resp) { - return __awaiter(this, void 0, void 0, function* () { - const ctx = this.createContext(req, resp); - try { - yield this.invokeHook("requestReceived", ctx); - const { method, mimeContentType } = request_1.validateRequest(ctx, req, this.pathPrefix || ""); - const handler = this.matchRoute(method, { - onMatch: (ctx) => { - return this.invokeHook("requestRouted", ctx); - }, - onNotFound: () => { - const msg = `no handler for path ${req.url}`; - throw new errors_1.BadRouteError(msg, req.method || "", req.url || ""); - }, - }); - const body = yield request_1.getRequestData(req); - const response = yield handler(ctx, this.service, body, this.interceptors); - yield Promise.all([ - this.invokeHook("responsePrepared", ctx), - // keep backwards compatibility till next release - this.invokeHook("requestPrepared", ctx), - ]); - resp.statusCode = 200; - resp.setHeader("Content-Type", mimeContentType); - resp.end(response); - } - catch (e) { - yield this.invokeHook("error", ctx, mustBeTwirpError(e)); - if (!resp.headersSent) { - writeError(resp, e); - } - } - finally { - yield Promise.all([ - this.invokeHook("responseSent", ctx), - // keep backwards compatibility till next release - this.invokeHook("requestSent", ctx), - ]); - } - }); - } - /** - * Invoke a hook - * @param hookName - * @param ctx - * @param err - * @protected - */ - invokeHook(hookName, ctx, err) { - return __awaiter(this, void 0, void 0, function* () { - if (this.hooks.length === 0) { - return; - } - const chainedHooks = hooks_1.chainHooks(...this.hooks); - const hook = chainedHooks === null || chainedHooks === void 0 ? void 0 : chainedHooks[hookName]; - if (hook) { - yield hook(ctx, err || new errors_1.InternalServerError("internal server error")); - } - }); - } -} -exports.TwirpServer = TwirpServer; -/** - * Write http error response - * @param res - * @param error - */ -function writeError(res, error) { - const twirpError = mustBeTwirpError(error); - res.setHeader("Content-Type", "application/json"); - res.statusCode = errors_1.httpStatusFromErrorCode(twirpError.code); - res.end(twirpError.toJSON()); -} -exports.writeError = writeError; -/** - * Make sure that the error passed is a TwirpError - * otherwise it will wrap it into an InternalError - * @param err - */ -function mustBeTwirpError(err) { - if (err instanceof errors_1.TwirpError) { - return err; - } - return new errors_1.InternalServerErrorWith(err); -} diff --git a/node_modules/twirp-ts/jest.config.js b/node_modules/twirp-ts/jest.config.js deleted file mode 100644 index 84c4a24d7d..0000000000 --- a/node_modules/twirp-ts/jest.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - "roots": [ - "/src" - ], - "testMatch": [ - "**/__tests__/**/*.+(ts|tsx|js)", - "**/?(*.)+(spec|test).+(ts|tsx|js)" - ], - "transform": { - "^.+\\.(ts|tsx)$": "ts-jest" - }, -} \ No newline at end of file diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/LICENSE b/node_modules/twirp-ts/node_modules/path-to-regexp/LICENSE deleted file mode 100644 index 983fbe8aec..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/Readme.md b/node_modules/twirp-ts/node_modules/path-to-regexp/Readme.md deleted file mode 100644 index f20eb28784..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/Readme.md +++ /dev/null @@ -1,350 +0,0 @@ -# Path-to-RegExp - -> Turn a path string such as `/user/:name` into a regular expression. - -[![NPM version][npm-image]][npm-url] -[![NPM downloads][downloads-image]][downloads-url] -[![Build status][build-image]][build-url] -[![Build coverage][coverage-image]][coverage-url] -[![License][license-image]][license-url] - -## Installation - -``` -npm install path-to-regexp --save -``` - -## Usage - -```javascript -const { pathToRegexp, match, parse, compile } = require("path-to-regexp"); - -// pathToRegexp(path, keys?, options?) -// match(path) -// parse(path) -// compile(path) -``` - -### Path to regexp - -The `pathToRegexp` function will return a regular expression object based on the provided `path` argument. It accepts the following arguments: - -- **path** A string, array of strings, or a regular expression. -- **keys** _(optional)_ An array to populate with keys found in the path. -- **options** _(optional)_ - - **sensitive** When `true` the regexp will be case sensitive. (default: `false`) - - **strict** When `true` the regexp won't allow an optional trailing delimiter to match. (default: `false`) - - **end** When `true` the regexp will match to the end of the string. (default: `true`) - - **start** When `true` the regexp will match from the beginning of the string. (default: `true`) - - **delimiter** The default delimiter for segments, e.g. `[^/#?]` for `:named` patterns. (default: `'/#?'`) - - **endsWith** Optional character, or list of characters, to treat as "end" characters. - - **encode** A function to encode strings before inserting into `RegExp`. (default: `x => x`) - - **prefixes** List of characters to automatically consider prefixes when parsing. (default: `./`) - -```javascript -const keys = []; -const regexp = pathToRegexp("/foo/:bar", keys); -// regexp = /^\/foo(?:\/([^\/#\?]+?))[\/#\?]?$/i -// keys = [{ name: 'bar', prefix: '/', suffix: '', pattern: '[^\\/#\\?]+?', modifier: '' }] -``` - -**Please note:** The `RegExp` returned by `path-to-regexp` is intended for ordered data (e.g. pathnames, hostnames). It can not handle arbitrarily ordered data (e.g. query strings, URL fragments, JSON, etc). When using paths that contain query strings, you need to escape the question mark (`?`) to ensure it does not flag the parameter as [optional](#optional). - -### Parameters - -The path argument is used to define parameters and populate keys. - -#### Named Parameters - -Named parameters are defined by prefixing a colon to the parameter name (`:foo`). - -```js -const regexp = pathToRegexp("/:foo/:bar"); -// keys = [{ name: 'foo', prefix: '/', ... }, { name: 'bar', prefix: '/', ... }] - -regexp.exec("/test/route"); -//=> [ '/test/route', 'test', 'route', index: 0, input: '/test/route', groups: undefined ] -``` - -**Please note:** Parameter names must use "word characters" (`[A-Za-z0-9_]`). - -##### Custom Matching Parameters - -Parameters can have a custom regexp, which overrides the default match (`[^/]+`). For example, you can match digits or names in a path: - -```js -const regexpNumbers = pathToRegexp("/icon-:foo(\\d+).png"); -// keys = [{ name: 'foo', ... }] - -regexpNumbers.exec("/icon-123.png"); -//=> ['/icon-123.png', '123'] - -regexpNumbers.exec("/icon-abc.png"); -//=> null - -const regexpWord = pathToRegexp("/(user|u)"); -// keys = [{ name: 0, ... }] - -regexpWord.exec("/u"); -//=> ['/u', 'u'] - -regexpWord.exec("/users"); -//=> null -``` - -**Tip:** Backslashes need to be escaped with another backslash in JavaScript strings. - -##### Custom Prefix and Suffix - -Parameters can be wrapped in `{}` to create custom prefixes or suffixes for your segment: - -```js -const regexp = pathToRegexp("/:attr1?{-:attr2}?{-:attr3}?"); - -regexp.exec("/test"); -// => ['/test', 'test', undefined, undefined] - -regexp.exec("/test-test"); -// => ['/test', 'test', 'test', undefined] -``` - -#### Unnamed Parameters - -It is possible to write an unnamed parameter that only consists of a regexp. It works the same the named parameter, except it will be numerically indexed: - -```js -const regexp = pathToRegexp("/:foo/(.*)"); -// keys = [{ name: 'foo', ... }, { name: 0, ... }] - -regexp.exec("/test/route"); -//=> [ '/test/route', 'test', 'route', index: 0, input: '/test/route', groups: undefined ] -``` - -#### Modifiers - -Modifiers must be placed after the parameter (e.g. `/:foo?`, `/(test)?`, `/:foo(test)?`, or `{-:foo(test)}?`). - -##### Optional - -Parameters can be suffixed with a question mark (`?`) to make the parameter optional. - -```js -const regexp = pathToRegexp("/:foo/:bar?"); -// keys = [{ name: 'foo', ... }, { name: 'bar', prefix: '/', modifier: '?' }] - -regexp.exec("/test"); -//=> [ '/test', 'test', undefined, index: 0, input: '/test', groups: undefined ] - -regexp.exec("/test/route"); -//=> [ '/test/route', 'test', 'route', index: 0, input: '/test/route', groups: undefined ] -``` - -**Tip:** The prefix is also optional, escape the prefix `\/` to make it required. - -When dealing with query strings, escape the question mark (`?`) so it doesn't mark the parameter as optional. Handling unordered data is outside the scope of this library. - -```js -const regexp = pathToRegexp("/search/:tableName\\?useIndex=true&term=amazing"); - -regexp.exec("/search/people?useIndex=true&term=amazing"); -//=> [ '/search/people?useIndex=true&term=amazing', 'people', index: 0, input: '/search/people?useIndex=true&term=amazing', groups: undefined ] - -// This library does not handle query strings in different orders -regexp.exec("/search/people?term=amazing&useIndex=true"); -//=> null -``` - -##### Zero or more - -Parameters can be suffixed with an asterisk (`*`) to denote a zero or more parameter matches. - -```js -const regexp = pathToRegexp("/:foo*"); -// keys = [{ name: 'foo', prefix: '/', modifier: '*' }] - -regexp.exec("/"); -//=> [ '/', undefined, index: 0, input: '/', groups: undefined ] - -regexp.exec("/bar/baz"); -//=> [ '/bar/baz', 'bar/baz', index: 0, input: '/bar/baz', groups: undefined ] -``` - -##### One or more - -Parameters can be suffixed with a plus sign (`+`) to denote a one or more parameter matches. - -```js -const regexp = pathToRegexp("/:foo+"); -// keys = [{ name: 'foo', prefix: '/', modifier: '+' }] - -regexp.exec("/"); -//=> null - -regexp.exec("/bar/baz"); -//=> [ '/bar/baz','bar/baz', index: 0, input: '/bar/baz', groups: undefined ] -``` - -### Match - -The `match` function will return a function for transforming paths into parameters: - -```js -// Make sure you consistently `decode` segments. -const fn = match("/user/:id", { decode: decodeURIComponent }); - -fn("/user/123"); //=> { path: '/user/123', index: 0, params: { id: '123' } } -fn("/invalid"); //=> false -fn("/user/caf%C3%A9"); //=> { path: '/user/caf%C3%A9', index: 0, params: { id: 'café' } } -``` - -The `match` function can be used to custom match named parameters. For example, this can be used to whitelist a small number of valid paths: - -```js -const urlMatch = match("/users/:id/:tab(home|photos|bio)", { - decode: decodeURIComponent, -}); - -urlMatch("/users/1234/photos"); -//=> { path: '/users/1234/photos', index: 0, params: { id: '1234', tab: 'photos' } } - -urlMatch("/users/1234/bio"); -//=> { path: '/users/1234/bio', index: 0, params: { id: '1234', tab: 'bio' } } - -urlMatch("/users/1234/otherstuff"); -//=> false -``` - -#### Process Pathname - -You should make sure variations of the same path match the expected `path`. Here's one possible solution using `encode`: - -```js -const fn = match("/café", { encode: encodeURI }); - -fn("/caf%C3%A9"); //=> { path: '/caf%C3%A9', index: 0, params: {} } -``` - -**Note:** [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL) encodes paths, so `/café` would be normalized to `/caf%C3%A9` and match in the above example. - -##### Alternative Using Normalize - -Sometimes you won't have already normalized paths to use, so you could normalize it yourself before matching: - -```js -/** - * Normalize a pathname for matching, replaces multiple slashes with a single - * slash and normalizes unicode characters to "NFC". When using this method, - * `decode` should be an identity function so you don't decode strings twice. - */ -function normalizePathname(pathname: string) { - return ( - decodeURI(pathname) - // Replaces repeated slashes in the URL. - .replace(/\/+/g, "/") - // Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize - // Note: Missing native IE support, may want to skip this step. - .normalize() - ); -} - -// Two possible ways of writing `/café`: -const re = pathToRegexp("/caf\u00E9"); -const input = encodeURI("/cafe\u0301"); - -re.test(input); //=> false -re.test(normalizePathname(input)); //=> true -``` - -### Parse - -The `parse` function will return a list of strings and keys from a path string: - -```js -const tokens = parse("/route/:foo/(.*)"); - -console.log(tokens[0]); -//=> "/route" - -console.log(tokens[1]); -//=> { name: 'foo', prefix: '/', suffix: '', pattern: '[^\\/#\\?]+?', modifier: '' } - -console.log(tokens[2]); -//=> { name: 0, prefix: '/', suffix: '', pattern: '.*', modifier: '' } -``` - -**Note:** This method only works with strings. - -### Compile ("Reverse" Path-To-RegExp) - -The `compile` function will return a function for transforming parameters into a valid path: - -```js -// Make sure you encode your path segments consistently. -const toPath = compile("/user/:id", { encode: encodeURIComponent }); - -toPath({ id: 123 }); //=> "/user/123" -toPath({ id: "café" }); //=> "/user/caf%C3%A9" -toPath({ id: ":/" }); //=> "/user/%3A%2F" - -// Without `encode`, you need to make sure inputs are encoded correctly. -// (Note: You can use `validate: false` to create an invalid paths.) -const toPathRaw = compile("/user/:id", { validate: false }); - -toPathRaw({ id: "%3A%2F" }); //=> "/user/%3A%2F" -toPathRaw({ id: ":/" }); //=> "/user/:/" - -const toPathRepeated = compile("/:segment+"); - -toPathRepeated({ segment: "foo" }); //=> "/foo" -toPathRepeated({ segment: ["a", "b", "c"] }); //=> "/a/b/c" - -const toPathRegexp = compile("/user/:id(\\d+)"); - -toPathRegexp({ id: 123 }); //=> "/user/123" -toPathRegexp({ id: "123" }); //=> "/user/123" -``` - -**Note:** The generated function will throw on invalid input. - -### Working with Tokens - -Path-To-RegExp exposes the two functions used internally that accept an array of tokens: - -- `tokensToRegexp(tokens, keys?, options?)` Transform an array of tokens into a matching regular expression. -- `tokensToFunction(tokens)` Transform an array of tokens into a path generator function. - -#### Token Information - -- `name` The name of the token (`string` for named or `number` for unnamed index) -- `prefix` The prefix string for the segment (e.g. `"/"`) -- `suffix` The suffix string for the segment (e.g. `""`) -- `pattern` The RegExp used to match this token (`string`) -- `modifier` The modifier character used for the segment (e.g. `?`) - -## Compatibility with Express <= 4.x - -Path-To-RegExp breaks compatibility with Express <= `4.x`: - -- RegExp special characters can only be used in a parameter - - Express.js 4.x supported `RegExp` special characters regardless of position - this is considered a bug -- Parameters have suffixes that augment meaning - `*`, `+` and `?`. E.g. `/:user*` -- No wildcard asterisk (`*`) - use parameters instead (`(.*)` or `:splat*`) - -## Live Demo - -You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.io/express-route-tester/). - -## License - -MIT - -[npm-image]: https://img.shields.io/npm/v/path-to-regexp -[npm-url]: https://npmjs.org/package/path-to-regexp -[downloads-image]: https://img.shields.io/npm/dm/path-to-regexp -[downloads-url]: https://npmjs.org/package/path-to-regexp -[build-image]: https://img.shields.io/github/actions/workflow/status/pillarjs/path-to-regexp/ci.yml?branch=master -[build-url]: https://github.com/pillarjs/path-to-regexp/actions/workflows/ci.yml?query=branch%3Amaster -[coverage-image]: https://img.shields.io/codecov/c/gh/pillarjs/path-to-regexp -[coverage-url]: https://codecov.io/gh/pillarjs/path-to-regexp -[license-image]: http://img.shields.io/npm/l/path-to-regexp.svg?style=flat -[license-url]: LICENSE.md diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js b/node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js deleted file mode 100644 index 62e30de932..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js +++ /dev/null @@ -1,415 +0,0 @@ -/** - * Tokenize input string. - */ -function lexer(str) { - var tokens = []; - var i = 0; - while (i < str.length) { - var char = str[i]; - if (char === "*" || char === "+" || char === "?") { - tokens.push({ type: "MODIFIER", index: i, value: str[i++] }); - continue; - } - if (char === "\\") { - tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] }); - continue; - } - if (char === "{") { - tokens.push({ type: "OPEN", index: i, value: str[i++] }); - continue; - } - if (char === "}") { - tokens.push({ type: "CLOSE", index: i, value: str[i++] }); - continue; - } - if (char === ":") { - var name = ""; - var j = i + 1; - while (j < str.length) { - var code = str.charCodeAt(j); - if ( - // `0-9` - (code >= 48 && code <= 57) || - // `A-Z` - (code >= 65 && code <= 90) || - // `a-z` - (code >= 97 && code <= 122) || - // `_` - code === 95) { - name += str[j++]; - continue; - } - break; - } - if (!name) - throw new TypeError("Missing parameter name at ".concat(i)); - tokens.push({ type: "NAME", index: i, value: name }); - i = j; - continue; - } - if (char === "(") { - var count = 1; - var pattern = ""; - var j = i + 1; - if (str[j] === "?") { - throw new TypeError("Pattern cannot start with \"?\" at ".concat(j)); - } - while (j < str.length) { - if (str[j] === "\\") { - pattern += str[j++] + str[j++]; - continue; - } - if (str[j] === ")") { - count--; - if (count === 0) { - j++; - break; - } - } - else if (str[j] === "(") { - count++; - if (str[j + 1] !== "?") { - throw new TypeError("Capturing groups are not allowed at ".concat(j)); - } - } - pattern += str[j++]; - } - if (count) - throw new TypeError("Unbalanced pattern at ".concat(i)); - if (!pattern) - throw new TypeError("Missing pattern at ".concat(i)); - tokens.push({ type: "PATTERN", index: i, value: pattern }); - i = j; - continue; - } - tokens.push({ type: "CHAR", index: i, value: str[i++] }); - } - tokens.push({ type: "END", index: i, value: "" }); - return tokens; -} -/** - * Parse a string for the raw tokens. - */ -export function parse(str, options) { - if (options === void 0) { options = {}; } - var tokens = lexer(str); - var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter = _b === void 0 ? "/#?" : _b; - var result = []; - var key = 0; - var i = 0; - var path = ""; - var tryConsume = function (type) { - if (i < tokens.length && tokens[i].type === type) - return tokens[i++].value; - }; - var mustConsume = function (type) { - var value = tryConsume(type); - if (value !== undefined) - return value; - var _a = tokens[i], nextType = _a.type, index = _a.index; - throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index, ", expected ").concat(type)); - }; - var consumeText = function () { - var result = ""; - var value; - while ((value = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR"))) { - result += value; - } - return result; - }; - var isSafe = function (value) { - for (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) { - var char = delimiter_1[_i]; - if (value.indexOf(char) > -1) - return true; - } - return false; - }; - var safePattern = function (prefix) { - var prev = result[result.length - 1]; - var prevText = prefix || (prev && typeof prev === "string" ? prev : ""); - if (prev && !prevText) { - throw new TypeError("Must have text between two parameters, missing text after \"".concat(prev.name, "\"")); - } - if (!prevText || isSafe(prevText)) - return "[^".concat(escapeString(delimiter), "]+?"); - return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter), "])+?"); - }; - while (i < tokens.length) { - var char = tryConsume("CHAR"); - var name = tryConsume("NAME"); - var pattern = tryConsume("PATTERN"); - if (name || pattern) { - var prefix = char || ""; - if (prefixes.indexOf(prefix) === -1) { - path += prefix; - prefix = ""; - } - if (path) { - result.push(path); - path = ""; - } - result.push({ - name: name || key++, - prefix: prefix, - suffix: "", - pattern: pattern || safePattern(prefix), - modifier: tryConsume("MODIFIER") || "", - }); - continue; - } - var value = char || tryConsume("ESCAPED_CHAR"); - if (value) { - path += value; - continue; - } - if (path) { - result.push(path); - path = ""; - } - var open = tryConsume("OPEN"); - if (open) { - var prefix = consumeText(); - var name_1 = tryConsume("NAME") || ""; - var pattern_1 = tryConsume("PATTERN") || ""; - var suffix = consumeText(); - mustConsume("CLOSE"); - result.push({ - name: name_1 || (pattern_1 ? key++ : ""), - pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1, - prefix: prefix, - suffix: suffix, - modifier: tryConsume("MODIFIER") || "", - }); - continue; - } - mustConsume("END"); - } - return result; -} -/** - * Compile a string to a template function for the path. - */ -export function compile(str, options) { - return tokensToFunction(parse(str, options), options); -} -/** - * Expose a method for transforming tokens into the path function. - */ -export function tokensToFunction(tokens, options) { - if (options === void 0) { options = {}; } - var reFlags = flags(options); - var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b; - // Compile all the tokens into regexps. - var matches = tokens.map(function (token) { - if (typeof token === "object") { - return new RegExp("^(?:".concat(token.pattern, ")$"), reFlags); - } - }); - return function (data) { - var path = ""; - for (var i = 0; i < tokens.length; i++) { - var token = tokens[i]; - if (typeof token === "string") { - path += token; - continue; - } - var value = data ? data[token.name] : undefined; - var optional = token.modifier === "?" || token.modifier === "*"; - var repeat = token.modifier === "*" || token.modifier === "+"; - if (Array.isArray(value)) { - if (!repeat) { - throw new TypeError("Expected \"".concat(token.name, "\" to not repeat, but got an array")); - } - if (value.length === 0) { - if (optional) - continue; - throw new TypeError("Expected \"".concat(token.name, "\" to not be empty")); - } - for (var j = 0; j < value.length; j++) { - var segment = encode(value[j], token); - if (validate && !matches[i].test(segment)) { - throw new TypeError("Expected all \"".concat(token.name, "\" to match \"").concat(token.pattern, "\", but got \"").concat(segment, "\"")); - } - path += token.prefix + segment + token.suffix; - } - continue; - } - if (typeof value === "string" || typeof value === "number") { - var segment = encode(String(value), token); - if (validate && !matches[i].test(segment)) { - throw new TypeError("Expected \"".concat(token.name, "\" to match \"").concat(token.pattern, "\", but got \"").concat(segment, "\"")); - } - path += token.prefix + segment + token.suffix; - continue; - } - if (optional) - continue; - var typeOfMessage = repeat ? "an array" : "a string"; - throw new TypeError("Expected \"".concat(token.name, "\" to be ").concat(typeOfMessage)); - } - return path; - }; -} -/** - * Create path match function from `path-to-regexp` spec. - */ -export function match(str, options) { - var keys = []; - var re = pathToRegexp(str, keys, options); - return regexpToFunction(re, keys, options); -} -/** - * Create a path match function from `path-to-regexp` output. - */ -export function regexpToFunction(re, keys, options) { - if (options === void 0) { options = {}; } - var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a; - return function (pathname) { - var m = re.exec(pathname); - if (!m) - return false; - var path = m[0], index = m.index; - var params = Object.create(null); - var _loop_1 = function (i) { - if (m[i] === undefined) - return "continue"; - var key = keys[i - 1]; - if (key.modifier === "*" || key.modifier === "+") { - params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) { - return decode(value, key); - }); - } - else { - params[key.name] = decode(m[i], key); - } - }; - for (var i = 1; i < m.length; i++) { - _loop_1(i); - } - return { path: path, index: index, params: params }; - }; -} -/** - * Escape a regular expression string. - */ -function escapeString(str) { - return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); -} -/** - * Get the flags for a regexp from the options. - */ -function flags(options) { - return options && options.sensitive ? "" : "i"; -} -/** - * Pull out keys from a regexp. - */ -function regexpToRegexp(path, keys) { - if (!keys) - return path; - var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g; - var index = 0; - var execResult = groupsRegex.exec(path.source); - while (execResult) { - keys.push({ - // Use parenthesized substring match if available, index otherwise - name: execResult[1] || index++, - prefix: "", - suffix: "", - modifier: "", - pattern: "", - }); - execResult = groupsRegex.exec(path.source); - } - return path; -} -/** - * Transform an array into a regexp. - */ -function arrayToRegexp(paths, keys, options) { - var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; }); - return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options)); -} -/** - * Create a path regexp from string input. - */ -function stringToRegexp(path, keys, options) { - return tokensToRegexp(parse(path, options), keys, options); -} -/** - * Expose a function for taking tokens and returning a RegExp. - */ -export function tokensToRegexp(tokens, keys, options) { - if (options === void 0) { options = {}; } - var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? "/#?" : _e, _f = options.endsWith, endsWith = _f === void 0 ? "" : _f; - var endsWithRe = "[".concat(escapeString(endsWith), "]|$"); - var delimiterRe = "[".concat(escapeString(delimiter), "]"); - var route = start ? "^" : ""; - // Iterate over the tokens and create our regexp string. - for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) { - var token = tokens_1[_i]; - if (typeof token === "string") { - route += escapeString(encode(token)); - } - else { - var prefix = escapeString(encode(token.prefix)); - var suffix = escapeString(encode(token.suffix)); - if (token.pattern) { - if (keys) - keys.push(token); - if (prefix || suffix) { - if (token.modifier === "+" || token.modifier === "*") { - var mod = token.modifier === "*" ? "?" : ""; - route += "(?:".concat(prefix, "((?:").concat(token.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token.pattern, "))*)").concat(suffix, ")").concat(mod); - } - else { - route += "(?:".concat(prefix, "(").concat(token.pattern, ")").concat(suffix, ")").concat(token.modifier); - } - } - else { - if (token.modifier === "+" || token.modifier === "*") { - throw new TypeError("Can not repeat \"".concat(token.name, "\" without a prefix and suffix")); - } - route += "(".concat(token.pattern, ")").concat(token.modifier); - } - } - else { - route += "(?:".concat(prefix).concat(suffix, ")").concat(token.modifier); - } - } - } - if (end) { - if (!strict) - route += "".concat(delimiterRe, "?"); - route += !options.endsWith ? "$" : "(?=".concat(endsWithRe, ")"); - } - else { - var endToken = tokens[tokens.length - 1]; - var isEndDelimited = typeof endToken === "string" - ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 - : endToken === undefined; - if (!strict) { - route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?"); - } - if (!isEndDelimited) { - route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")"); - } - } - return new RegExp(route, flags(options)); -} -/** - * Normalize the given path string, returning a regular expression. - * - * An empty array can be passed in for the keys, which will hold the - * placeholder key descriptions. For example, using `/user/:id`, `keys` will - * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`. - */ -export function pathToRegexp(path, keys, options) { - if (path instanceof RegExp) - return regexpToRegexp(path, keys); - if (Array.isArray(path)) - return arrayToRegexp(path, keys, options); - return stringToRegexp(path, keys, options); -} -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js.map b/node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js.map deleted file mode 100644 index e2d735646f..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/dist.es2015/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,SAAS,KAAK,CAAC,GAAW;IACxB,IAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;QACrB,IAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;YAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7D,SAAS;SACV;QAED,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEd,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;gBACrB,IAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE/B;gBACE,QAAQ;gBACR,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;oBAC1B,QAAQ;oBACR,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;oBAC1B,QAAQ;oBACR,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;oBAC3B,MAAM;oBACN,IAAI,KAAK,EAAE,EACX;oBACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjB,SAAS;iBACV;gBAED,MAAM;aACP;YAED,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,SAAS,CAAC,oCAA6B,CAAC,CAAE,CAAC,CAAC;YAEjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC,GAAG,CAAC,CAAC;YACN,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEd,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAClB,MAAM,IAAI,SAAS,CAAC,6CAAoC,CAAC,CAAE,CAAC,CAAC;aAC9D;YAED,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;gBACrB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACnB,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/B,SAAS;iBACV;gBAED,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBAClB,KAAK,EAAE,CAAC;oBACR,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,CAAC,EAAE,CAAC;wBACJ,MAAM;qBACP;iBACF;qBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBACzB,KAAK,EAAE,CAAC;oBACR,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;wBACtB,MAAM,IAAI,SAAS,CAAC,8CAAuC,CAAC,CAAE,CAAC,CAAC;qBACjE;iBACF;gBAED,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;aACrB;YAED,IAAI,KAAK;gBAAE,MAAM,IAAI,SAAS,CAAC,gCAAyB,CAAC,CAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,SAAS,CAAC,6BAAsB,CAAC,CAAE,CAAC,CAAC;YAE7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC,GAAG,CAAC,CAAC;YACN,SAAS;SACV;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1D;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,OAA0B;IAA1B,wBAAA,EAAA,YAA0B;IAC3D,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAA,KAAuC,OAAO,SAA/B,EAAf,QAAQ,mBAAG,IAAI,KAAA,EAAE,KAAsB,OAAO,UAAZ,EAAjB,SAAS,mBAAG,KAAK,KAAA,CAAa;IACvD,IAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,IAAM,UAAU,GAAG,UAAC,IAAsB;QACxC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAC7E,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,IAAsB;QACzC,IAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAChC,IAAA,KAA4B,MAAM,CAAC,CAAC,CAAC,EAA7B,QAAQ,UAAA,EAAE,KAAK,WAAc,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,qBAAc,QAAQ,iBAAO,KAAK,wBAAc,IAAI,CAAE,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAyB,CAAC;QAC9B,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC;SACjB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,IAAM,MAAM,GAAG,UAAC,KAAa;QAC3B,KAAmB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS;YAAvB,IAAM,IAAI,kBAAA;YAAe,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;SAAA;QACxE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,MAAc;QACjC,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE1E,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrB,MAAM,IAAI,SAAS,CACjB,sEAA+D,IAAY,CAAC,IAAI,OAAG,CACpF,CAAC;SACH;QAED,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,YAAK,YAAY,CAAC,SAAS,CAAC,QAAK,CAAC;QAC5E,OAAO,gBAAS,YAAY,CAAC,QAAQ,CAAC,gBAAM,YAAY,CAAC,SAAS,CAAC,SAAM,CAAC;IAC5E,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;QACxB,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAExB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnC,IAAI,IAAI,MAAM,CAAC;gBACf,MAAM,GAAG,EAAE,CAAC;aACb;YAED,IAAI,IAAI,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,GAAG,EAAE,CAAC;aACX;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE;gBACnB,MAAM,QAAA;gBACN,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC;gBACvC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;aACvC,CAAC,CAAC;YACH,SAAS;SACV;QAED,IAAM,KAAK,GAAG,IAAI,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE;YACT,IAAI,IAAI,KAAK,CAAC;YACd,SAAS;SACV;QAED,IAAI,IAAI,EAAE;YACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,GAAG,EAAE,CAAC;SACX;QAED,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE;YACR,IAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAC7B,IAAM,MAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtC,IAAM,SAAO,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAE7B,WAAW,CAAC,OAAO,CAAC,CAAC;YAErB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAI,IAAI,CAAC,SAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,OAAO,EAAE,MAAI,IAAI,CAAC,SAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAO;gBACzD,MAAM,QAAA;gBACN,MAAM,QAAA;gBACN,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;aACvC,CAAC,CAAC;YACH,SAAS;SACV;QAED,WAAW,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAiBD;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,GAAW,EACX,OAAgD;IAEhD,OAAO,gBAAgB,CAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAID;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAe,EACf,OAAqC;IAArC,wBAAA,EAAA,YAAqC;IAErC,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,IAAA,KAA+C,OAAO,OAA7B,EAAzB,MAAM,mBAAG,UAAC,CAAS,IAAK,OAAA,CAAC,EAAD,CAAC,KAAA,EAAE,KAAoB,OAAO,SAAZ,EAAf,QAAQ,mBAAG,IAAI,KAAA,CAAa;IAE/D,uCAAuC;IACvC,IAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,MAAM,CAAC,cAAO,KAAK,CAAC,OAAO,OAAI,EAAE,OAAO,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAC,IAA4C;QAClD,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,IAAI,IAAI,KAAK,CAAC;gBACd,SAAS;aACV;YAED,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClD,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;YAClE,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;YAEhE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,SAAS,CACjB,qBAAa,KAAK,CAAC,IAAI,uCAAmC,CAC3D,CAAC;iBACH;gBAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,IAAI,QAAQ;wBAAE,SAAS;oBAEvB,MAAM,IAAI,SAAS,CAAC,qBAAa,KAAK,CAAC,IAAI,uBAAmB,CAAC,CAAC;iBACjE;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAExC,IAAI,QAAQ,IAAI,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;wBACrD,MAAM,IAAI,SAAS,CACjB,yBAAiB,KAAK,CAAC,IAAI,2BAAe,KAAK,CAAC,OAAO,2BAAe,OAAO,OAAG,CACjF,CAAC;qBACH;oBAED,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;iBAC/C;gBAED,SAAS;aACV;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1D,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBAE7C,IAAI,QAAQ,IAAI,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACrD,MAAM,IAAI,SAAS,CACjB,qBAAa,KAAK,CAAC,IAAI,2BAAe,KAAK,CAAC,OAAO,2BAAe,OAAO,OAAG,CAC7E,CAAC;iBACH;gBAED,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC9C,SAAS;aACV;YAED,IAAI,QAAQ;gBAAE,SAAS;YAEvB,IAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,qBAAa,KAAK,CAAC,IAAI,sBAAW,aAAa,CAAE,CAAC,CAAC;SACxE;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AA8BD;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,GAAS,EACT,OAAwE;IAExE,IAAM,IAAI,GAAU,EAAE,CAAC;IACvB,IAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,gBAAgB,CAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,EAAU,EACV,IAAW,EACX,OAAqC;IAArC,wBAAA,EAAA,YAAqC;IAE7B,IAAA,KAA8B,OAAO,OAAZ,EAAzB,MAAM,mBAAG,UAAC,CAAS,IAAK,OAAA,CAAC,EAAD,CAAC,KAAA,CAAa;IAE9C,OAAO,UAAU,QAAgB;QAC/B,IAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEb,IAAG,IAAI,GAAY,CAAC,GAAb,EAAE,KAAK,GAAK,CAAC,MAAN,CAAO;QAC7B,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAE1B,CAAC;YACR,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;kCAAW;YAEjC,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAExB,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE;gBAChD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK;oBAC/D,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACtC;;QAXH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAxB,CAAC;SAYT;QAED,OAAO,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,OAAiC;IAC9C,OAAO,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACjD,CAAC;AAkBD;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,IAAY;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,IAAM,WAAW,GAAG,yBAAyB,CAAC;IAE9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,UAAU,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC;YACR,kEAAkE;YAClE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;YAC9B,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,KAA6B,EAC7B,IAAY,EACZ,OAA8C;IAE9C,IAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,EAAxC,CAAwC,CAAC,CAAC;IAC5E,OAAO,IAAI,MAAM,CAAC,aAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,IAAY,EACZ,IAAY,EACZ,OAA8C;IAE9C,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAiCD;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAe,EACf,IAAY,EACZ,OAAmC;IAAnC,wBAAA,EAAA,YAAmC;IAGjC,IAAA,KAME,OAAO,OANK,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,KAKE,OAAO,MALG,EAAZ,KAAK,mBAAG,IAAI,KAAA,EACZ,KAIE,OAAO,IAJC,EAAV,GAAG,mBAAG,IAAI,KAAA,EACV,KAGE,OAAO,OAHgB,EAAzB,MAAM,mBAAG,UAAC,CAAS,IAAK,OAAA,CAAC,EAAD,CAAC,KAAA,EACzB,KAEE,OAAO,UAFQ,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,KACE,OAAO,SADI,EAAb,QAAQ,mBAAG,EAAE,KAAA,CACH;IACZ,IAAM,UAAU,GAAG,WAAI,YAAY,CAAC,QAAQ,CAAC,QAAK,CAAC;IACnD,IAAM,WAAW,GAAG,WAAI,YAAY,CAAC,SAAS,CAAC,MAAG,CAAC;IACnD,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7B,wDAAwD;IACxD,KAAoB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;QAAvB,IAAM,KAAK,eAAA;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACtC;aAAM;YACL,IAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,IAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAElD,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjB,IAAI,IAAI;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,IAAI,MAAM,IAAI,MAAM,EAAE;oBACpB,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE;wBACpD,IAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9C,KAAK,IAAI,aAAM,MAAM,iBAAO,KAAK,CAAC,OAAO,iBAAO,MAAM,SAAG,MAAM,gBAAM,KAAK,CAAC,OAAO,iBAAO,MAAM,cAAI,GAAG,CAAE,CAAC;qBAC1G;yBAAM;wBACL,KAAK,IAAI,aAAM,MAAM,cAAI,KAAK,CAAC,OAAO,cAAI,MAAM,cAAI,KAAK,CAAC,QAAQ,CAAE,CAAC;qBACtE;iBACF;qBAAM;oBACL,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE;wBACpD,MAAM,IAAI,SAAS,CACjB,2BAAmB,KAAK,CAAC,IAAI,mCAA+B,CAC7D,CAAC;qBACH;oBAED,KAAK,IAAI,WAAI,KAAK,CAAC,OAAO,cAAI,KAAK,CAAC,QAAQ,CAAE,CAAC;iBAChD;aACF;iBAAM;gBACL,KAAK,IAAI,aAAM,MAAM,SAAG,MAAM,cAAI,KAAK,CAAC,QAAQ,CAAE,CAAC;aACpD;SACF;KACF;IAED,IAAI,GAAG,EAAE;QACP,IAAI,CAAC,MAAM;YAAE,KAAK,IAAI,UAAG,WAAW,MAAG,CAAC;QAExC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAM,UAAU,MAAG,CAAC;KACxD;SAAM;QACL,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAM,cAAc,GAClB,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzD,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAE7B,IAAI,CAAC,MAAM,EAAE;YACX,KAAK,IAAI,aAAM,WAAW,gBAAM,UAAU,QAAK,CAAC;SACjD;QAED,IAAI,CAAC,cAAc,EAAE;YACnB,KAAK,IAAI,aAAM,WAAW,cAAI,UAAU,MAAG,CAAC;SAC7C;KACF;IAED,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAU,EACV,IAAY,EACZ,OAA8C;IAE9C,IAAI,IAAI,YAAY,MAAM;QAAE,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["/**\n * Tokenizer results.\n */\ninterface LexToken {\n type:\n | \"OPEN\"\n | \"CLOSE\"\n | \"PATTERN\"\n | \"NAME\"\n | \"CHAR\"\n | \"ESCAPED_CHAR\"\n | \"MODIFIER\"\n | \"END\";\n index: number;\n value: string;\n}\n\n/**\n * Tokenize input string.\n */\nfunction lexer(str: string): LexToken[] {\n const tokens: LexToken[] = [];\n let i = 0;\n\n while (i < str.length) {\n const char = str[i];\n\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n\n if (char === \":\") {\n let name = \"\";\n let j = i + 1;\n\n while (j < str.length) {\n const code = str.charCodeAt(j);\n\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95\n ) {\n name += str[j++];\n continue;\n }\n\n break;\n }\n\n if (!name) throw new TypeError(`Missing parameter name at ${i}`);\n\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n\n if (char === \"(\") {\n let count = 1;\n let pattern = \"\";\n let j = i + 1;\n\n if (str[j] === \"?\") {\n throw new TypeError(`Pattern cannot start with \"?\" at ${j}`);\n }\n\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n } else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(`Capturing groups are not allowed at ${j}`);\n }\n }\n\n pattern += str[j++];\n }\n\n if (count) throw new TypeError(`Unbalanced pattern at ${i}`);\n if (!pattern) throw new TypeError(`Missing pattern at ${i}`);\n\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n\n tokens.push({ type: \"END\", index: i, value: \"\" });\n\n return tokens;\n}\n\nexport interface ParseOptions {\n /**\n * Set the default delimiter for repeat parameters. (default: `'/'`)\n */\n delimiter?: string;\n /**\n * List of characters to automatically consider prefixes when parsing.\n */\n prefixes?: string;\n}\n\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str: string, options: ParseOptions = {}): Token[] {\n const tokens = lexer(str);\n const { prefixes = \"./\", delimiter = \"/#?\" } = options;\n const result: Token[] = [];\n let key = 0;\n let i = 0;\n let path = \"\";\n\n const tryConsume = (type: LexToken[\"type\"]): string | undefined => {\n if (i < tokens.length && tokens[i].type === type) return tokens[i++].value;\n };\n\n const mustConsume = (type: LexToken[\"type\"]): string => {\n const value = tryConsume(type);\n if (value !== undefined) return value;\n const { type: nextType, index } = tokens[i];\n throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}`);\n };\n\n const consumeText = (): string => {\n let result = \"\";\n let value: string | undefined;\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n\n const isSafe = (value: string): boolean => {\n for (const char of delimiter) if (value.indexOf(char) > -1) return true;\n return false;\n };\n\n const safePattern = (prefix: string) => {\n const prev = result[result.length - 1];\n const prevText = prefix || (prev && typeof prev === \"string\" ? prev : \"\");\n\n if (prev && !prevText) {\n throw new TypeError(\n `Must have text between two parameters, missing text after \"${(prev as Key).name}\"`,\n );\n }\n\n if (!prevText || isSafe(prevText)) return `[^${escapeString(delimiter)}]+?`;\n return `(?:(?!${escapeString(prevText)})[^${escapeString(delimiter)}])+?`;\n };\n\n while (i < tokens.length) {\n const char = tryConsume(\"CHAR\");\n const name = tryConsume(\"NAME\");\n const pattern = tryConsume(\"PATTERN\");\n\n if (name || pattern) {\n let prefix = char || \"\";\n\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n\n if (path) {\n result.push(path);\n path = \"\";\n }\n\n result.push({\n name: name || key++,\n prefix,\n suffix: \"\",\n pattern: pattern || safePattern(prefix),\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n\n const value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n\n if (path) {\n result.push(path);\n path = \"\";\n }\n\n const open = tryConsume(\"OPEN\");\n if (open) {\n const prefix = consumeText();\n const name = tryConsume(\"NAME\") || \"\";\n const pattern = tryConsume(\"PATTERN\") || \"\";\n const suffix = consumeText();\n\n mustConsume(\"CLOSE\");\n\n result.push({\n name: name || (pattern ? key++ : \"\"),\n pattern: name && !pattern ? safePattern(prefix) : pattern,\n prefix,\n suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n\n mustConsume(\"END\");\n }\n\n return result;\n}\n\nexport interface TokensToFunctionOptions {\n /**\n * When `true` the regexp will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * Function for encoding input strings for output.\n */\n encode?: (value: string, token: Key) => string;\n /**\n * When `false` the function can produce an invalid (unmatched) path. (default: `true`)\n */\n validate?: boolean;\n}\n\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile

(\n str: string,\n options?: ParseOptions & TokensToFunctionOptions,\n) {\n return tokensToFunction

(parse(str, options), options);\n}\n\nexport type PathFunction

= (data?: P) => string;\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction

(\n tokens: Token[],\n options: TokensToFunctionOptions = {},\n): PathFunction

{\n const reFlags = flags(options);\n const { encode = (x: string) => x, validate = true } = options;\n\n // Compile all the tokens into regexps.\n const matches = tokens.map((token) => {\n if (typeof token === \"object\") {\n return new RegExp(`^(?:${token.pattern})$`, reFlags);\n }\n });\n\n return (data: Record | null | undefined) => {\n let path = \"\";\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n\n const value = data ? data[token.name] : undefined;\n const optional = token.modifier === \"?\" || token.modifier === \"*\";\n const repeat = token.modifier === \"*\" || token.modifier === \"+\";\n\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\n `Expected \"${token.name}\" to not repeat, but got an array`,\n );\n }\n\n if (value.length === 0) {\n if (optional) continue;\n\n throw new TypeError(`Expected \"${token.name}\" to not be empty`);\n }\n\n for (let j = 0; j < value.length; j++) {\n const segment = encode(value[j], token);\n\n if (validate && !(matches[i] as RegExp).test(segment)) {\n throw new TypeError(\n `Expected all \"${token.name}\" to match \"${token.pattern}\", but got \"${segment}\"`,\n );\n }\n\n path += token.prefix + segment + token.suffix;\n }\n\n continue;\n }\n\n if (typeof value === \"string\" || typeof value === \"number\") {\n const segment = encode(String(value), token);\n\n if (validate && !(matches[i] as RegExp).test(segment)) {\n throw new TypeError(\n `Expected \"${token.name}\" to match \"${token.pattern}\", but got \"${segment}\"`,\n );\n }\n\n path += token.prefix + segment + token.suffix;\n continue;\n }\n\n if (optional) continue;\n\n const typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(`Expected \"${token.name}\" to be ${typeOfMessage}`);\n }\n\n return path;\n };\n}\n\nexport interface RegexpToFunctionOptions {\n /**\n * Function for decoding strings for params.\n */\n decode?: (value: string, token: Key) => string;\n}\n\n/**\n * A match result contains data about the path match.\n */\nexport interface MatchResult

{\n path: string;\n index: number;\n params: P;\n}\n\n/**\n * A match is either `false` (no match) or a match result.\n */\nexport type Match

= false | MatchResult

;\n\n/**\n * The match function takes a string and returns whether it matched the path.\n */\nexport type MatchFunction

= (\n path: string,\n) => Match

;\n\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match

(\n str: Path,\n options?: ParseOptions & TokensToRegexpOptions & RegexpToFunctionOptions,\n) {\n const keys: Key[] = [];\n const re = pathToRegexp(str, keys, options);\n return regexpToFunction

(re, keys, options);\n}\n\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction

(\n re: RegExp,\n keys: Key[],\n options: RegexpToFunctionOptions = {},\n): MatchFunction

{\n const { decode = (x: string) => x } = options;\n\n return function (pathname: string) {\n const m = re.exec(pathname);\n if (!m) return false;\n\n const { 0: path, index } = m;\n const params = Object.create(null);\n\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined) continue;\n\n const key = keys[i - 1];\n\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map((value) => {\n return decode(value, key);\n });\n } else {\n params[key.name] = decode(m[i], key);\n }\n }\n\n return { path, index, params };\n };\n}\n\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str: string) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options?: { sensitive?: boolean }) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n\n/**\n * Metadata about a key.\n */\nexport interface Key {\n name: string | number;\n prefix: string;\n suffix: string;\n pattern: string;\n modifier: string;\n}\n\n/**\n * A token is a string (nothing special) or key metadata (capture group).\n */\nexport type Token = string | Key;\n\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path: RegExp, keys?: Key[]): RegExp {\n if (!keys) return path;\n\n const groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n\n let index = 0;\n let execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n // Use parenthesized substring match if available, index otherwise\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\",\n });\n execResult = groupsRegex.exec(path.source);\n }\n\n return path;\n}\n\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(\n paths: Array,\n keys?: Key[],\n options?: TokensToRegexpOptions & ParseOptions,\n): RegExp {\n const parts = paths.map((path) => pathToRegexp(path, keys, options).source);\n return new RegExp(`(?:${parts.join(\"|\")})`, flags(options));\n}\n\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(\n path: string,\n keys?: Key[],\n options?: TokensToRegexpOptions & ParseOptions,\n) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n\nexport interface TokensToRegexpOptions {\n /**\n * When `true` the regexp will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * When `true` the regexp won't allow an optional trailing delimiter to match. (default: `false`)\n */\n strict?: boolean;\n /**\n * When `true` the regexp will match to the end of the string. (default: `true`)\n */\n end?: boolean;\n /**\n * When `true` the regexp will match from the beginning of the string. (default: `true`)\n */\n start?: boolean;\n /**\n * Sets the final character for non-ending optimistic matches. (default: `/`)\n */\n delimiter?: string;\n /**\n * List of characters that can also be \"end\" characters.\n */\n endsWith?: string;\n /**\n * Encode path tokens for use in the `RegExp`.\n */\n encode?: (value: string) => string;\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(\n tokens: Token[],\n keys?: Key[],\n options: TokensToRegexpOptions = {},\n) {\n const {\n strict = false,\n start = true,\n end = true,\n encode = (x: string) => x,\n delimiter = \"/#?\",\n endsWith = \"\",\n } = options;\n const endsWithRe = `[${escapeString(endsWith)}]|$`;\n const delimiterRe = `[${escapeString(delimiter)}]`;\n let route = start ? \"^\" : \"\";\n\n // Iterate over the tokens and create our regexp string.\n for (const token of tokens) {\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n } else {\n const prefix = escapeString(encode(token.prefix));\n const suffix = escapeString(encode(token.suffix));\n\n if (token.pattern) {\n if (keys) keys.push(token);\n\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n const mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += `(?:${prefix}((?:${token.pattern})(?:${suffix}${prefix}(?:${token.pattern}))*)${suffix})${mod}`;\n } else {\n route += `(?:${prefix}(${token.pattern})${suffix})${token.modifier}`;\n }\n } else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n throw new TypeError(\n `Can not repeat \"${token.name}\" without a prefix and suffix`,\n );\n }\n\n route += `(${token.pattern})${token.modifier}`;\n }\n } else {\n route += `(?:${prefix}${suffix})${token.modifier}`;\n }\n }\n }\n\n if (end) {\n if (!strict) route += `${delimiterRe}?`;\n\n route += !options.endsWith ? \"$\" : `(?=${endsWithRe})`;\n } else {\n const endToken = tokens[tokens.length - 1];\n const isEndDelimited =\n typeof endToken === \"string\"\n ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1\n : endToken === undefined;\n\n if (!strict) {\n route += `(?:${delimiterRe}(?=${endsWithRe}))?`;\n }\n\n if (!isEndDelimited) {\n route += `(?=${delimiterRe}|${endsWithRe})`;\n }\n }\n\n return new RegExp(route, flags(options));\n}\n\n/**\n * Supported `path-to-regexp` input types.\n */\nexport type Path = string | RegExp | Array;\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(\n path: Path,\n keys?: Key[],\n options?: TokensToRegexpOptions & ParseOptions,\n) {\n if (path instanceof RegExp) return regexpToRegexp(path, keys);\n if (Array.isArray(path)) return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n"]} \ No newline at end of file diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.d.ts b/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.d.ts deleted file mode 100644 index 6e5d250e3c..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.d.ts +++ /dev/null @@ -1,127 +0,0 @@ -export interface ParseOptions { - /** - * Set the default delimiter for repeat parameters. (default: `'/'`) - */ - delimiter?: string; - /** - * List of characters to automatically consider prefixes when parsing. - */ - prefixes?: string; -} -/** - * Parse a string for the raw tokens. - */ -export declare function parse(str: string, options?: ParseOptions): Token[]; -export interface TokensToFunctionOptions { - /** - * When `true` the regexp will be case sensitive. (default: `false`) - */ - sensitive?: boolean; - /** - * Function for encoding input strings for output. - */ - encode?: (value: string, token: Key) => string; - /** - * When `false` the function can produce an invalid (unmatched) path. (default: `true`) - */ - validate?: boolean; -} -/** - * Compile a string to a template function for the path. - */ -export declare function compile

(str: string, options?: ParseOptions & TokensToFunctionOptions): PathFunction

; -export type PathFunction

= (data?: P) => string; -/** - * Expose a method for transforming tokens into the path function. - */ -export declare function tokensToFunction

(tokens: Token[], options?: TokensToFunctionOptions): PathFunction

; -export interface RegexpToFunctionOptions { - /** - * Function for decoding strings for params. - */ - decode?: (value: string, token: Key) => string; -} -/** - * A match result contains data about the path match. - */ -export interface MatchResult

{ - path: string; - index: number; - params: P; -} -/** - * A match is either `false` (no match) or a match result. - */ -export type Match

= false | MatchResult

; -/** - * The match function takes a string and returns whether it matched the path. - */ -export type MatchFunction

= (path: string) => Match

; -/** - * Create path match function from `path-to-regexp` spec. - */ -export declare function match

(str: Path, options?: ParseOptions & TokensToRegexpOptions & RegexpToFunctionOptions): MatchFunction

; -/** - * Create a path match function from `path-to-regexp` output. - */ -export declare function regexpToFunction

(re: RegExp, keys: Key[], options?: RegexpToFunctionOptions): MatchFunction

; -/** - * Metadata about a key. - */ -export interface Key { - name: string | number; - prefix: string; - suffix: string; - pattern: string; - modifier: string; -} -/** - * A token is a string (nothing special) or key metadata (capture group). - */ -export type Token = string | Key; -export interface TokensToRegexpOptions { - /** - * When `true` the regexp will be case sensitive. (default: `false`) - */ - sensitive?: boolean; - /** - * When `true` the regexp won't allow an optional trailing delimiter to match. (default: `false`) - */ - strict?: boolean; - /** - * When `true` the regexp will match to the end of the string. (default: `true`) - */ - end?: boolean; - /** - * When `true` the regexp will match from the beginning of the string. (default: `true`) - */ - start?: boolean; - /** - * Sets the final character for non-ending optimistic matches. (default: `/`) - */ - delimiter?: string; - /** - * List of characters that can also be "end" characters. - */ - endsWith?: string; - /** - * Encode path tokens for use in the `RegExp`. - */ - encode?: (value: string) => string; -} -/** - * Expose a function for taking tokens and returning a RegExp. - */ -export declare function tokensToRegexp(tokens: Token[], keys?: Key[], options?: TokensToRegexpOptions): RegExp; -/** - * Supported `path-to-regexp` input types. - */ -export type Path = string | RegExp | Array; -/** - * Normalize the given path string, returning a regular expression. - * - * An empty array can be passed in for the keys, which will hold the - * placeholder key descriptions. For example, using `/user/:id`, `keys` will - * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`. - */ -export declare function pathToRegexp(path: Path, keys?: Key[], options?: TokensToRegexpOptions & ParseOptions): RegExp; diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js b/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js deleted file mode 100644 index 7ee8a6aae6..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js +++ /dev/null @@ -1,425 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.pathToRegexp = exports.tokensToRegexp = exports.regexpToFunction = exports.match = exports.tokensToFunction = exports.compile = exports.parse = void 0; -/** - * Tokenize input string. - */ -function lexer(str) { - var tokens = []; - var i = 0; - while (i < str.length) { - var char = str[i]; - if (char === "*" || char === "+" || char === "?") { - tokens.push({ type: "MODIFIER", index: i, value: str[i++] }); - continue; - } - if (char === "\\") { - tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] }); - continue; - } - if (char === "{") { - tokens.push({ type: "OPEN", index: i, value: str[i++] }); - continue; - } - if (char === "}") { - tokens.push({ type: "CLOSE", index: i, value: str[i++] }); - continue; - } - if (char === ":") { - var name = ""; - var j = i + 1; - while (j < str.length) { - var code = str.charCodeAt(j); - if ( - // `0-9` - (code >= 48 && code <= 57) || - // `A-Z` - (code >= 65 && code <= 90) || - // `a-z` - (code >= 97 && code <= 122) || - // `_` - code === 95) { - name += str[j++]; - continue; - } - break; - } - if (!name) - throw new TypeError("Missing parameter name at ".concat(i)); - tokens.push({ type: "NAME", index: i, value: name }); - i = j; - continue; - } - if (char === "(") { - var count = 1; - var pattern = ""; - var j = i + 1; - if (str[j] === "?") { - throw new TypeError("Pattern cannot start with \"?\" at ".concat(j)); - } - while (j < str.length) { - if (str[j] === "\\") { - pattern += str[j++] + str[j++]; - continue; - } - if (str[j] === ")") { - count--; - if (count === 0) { - j++; - break; - } - } - else if (str[j] === "(") { - count++; - if (str[j + 1] !== "?") { - throw new TypeError("Capturing groups are not allowed at ".concat(j)); - } - } - pattern += str[j++]; - } - if (count) - throw new TypeError("Unbalanced pattern at ".concat(i)); - if (!pattern) - throw new TypeError("Missing pattern at ".concat(i)); - tokens.push({ type: "PATTERN", index: i, value: pattern }); - i = j; - continue; - } - tokens.push({ type: "CHAR", index: i, value: str[i++] }); - } - tokens.push({ type: "END", index: i, value: "" }); - return tokens; -} -/** - * Parse a string for the raw tokens. - */ -function parse(str, options) { - if (options === void 0) { options = {}; } - var tokens = lexer(str); - var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter = _b === void 0 ? "/#?" : _b; - var result = []; - var key = 0; - var i = 0; - var path = ""; - var tryConsume = function (type) { - if (i < tokens.length && tokens[i].type === type) - return tokens[i++].value; - }; - var mustConsume = function (type) { - var value = tryConsume(type); - if (value !== undefined) - return value; - var _a = tokens[i], nextType = _a.type, index = _a.index; - throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index, ", expected ").concat(type)); - }; - var consumeText = function () { - var result = ""; - var value; - while ((value = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR"))) { - result += value; - } - return result; - }; - var isSafe = function (value) { - for (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) { - var char = delimiter_1[_i]; - if (value.indexOf(char) > -1) - return true; - } - return false; - }; - var safePattern = function (prefix) { - var prev = result[result.length - 1]; - var prevText = prefix || (prev && typeof prev === "string" ? prev : ""); - if (prev && !prevText) { - throw new TypeError("Must have text between two parameters, missing text after \"".concat(prev.name, "\"")); - } - if (!prevText || isSafe(prevText)) - return "[^".concat(escapeString(delimiter), "]+?"); - return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter), "])+?"); - }; - while (i < tokens.length) { - var char = tryConsume("CHAR"); - var name = tryConsume("NAME"); - var pattern = tryConsume("PATTERN"); - if (name || pattern) { - var prefix = char || ""; - if (prefixes.indexOf(prefix) === -1) { - path += prefix; - prefix = ""; - } - if (path) { - result.push(path); - path = ""; - } - result.push({ - name: name || key++, - prefix: prefix, - suffix: "", - pattern: pattern || safePattern(prefix), - modifier: tryConsume("MODIFIER") || "", - }); - continue; - } - var value = char || tryConsume("ESCAPED_CHAR"); - if (value) { - path += value; - continue; - } - if (path) { - result.push(path); - path = ""; - } - var open = tryConsume("OPEN"); - if (open) { - var prefix = consumeText(); - var name_1 = tryConsume("NAME") || ""; - var pattern_1 = tryConsume("PATTERN") || ""; - var suffix = consumeText(); - mustConsume("CLOSE"); - result.push({ - name: name_1 || (pattern_1 ? key++ : ""), - pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1, - prefix: prefix, - suffix: suffix, - modifier: tryConsume("MODIFIER") || "", - }); - continue; - } - mustConsume("END"); - } - return result; -} -exports.parse = parse; -/** - * Compile a string to a template function for the path. - */ -function compile(str, options) { - return tokensToFunction(parse(str, options), options); -} -exports.compile = compile; -/** - * Expose a method for transforming tokens into the path function. - */ -function tokensToFunction(tokens, options) { - if (options === void 0) { options = {}; } - var reFlags = flags(options); - var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b; - // Compile all the tokens into regexps. - var matches = tokens.map(function (token) { - if (typeof token === "object") { - return new RegExp("^(?:".concat(token.pattern, ")$"), reFlags); - } - }); - return function (data) { - var path = ""; - for (var i = 0; i < tokens.length; i++) { - var token = tokens[i]; - if (typeof token === "string") { - path += token; - continue; - } - var value = data ? data[token.name] : undefined; - var optional = token.modifier === "?" || token.modifier === "*"; - var repeat = token.modifier === "*" || token.modifier === "+"; - if (Array.isArray(value)) { - if (!repeat) { - throw new TypeError("Expected \"".concat(token.name, "\" to not repeat, but got an array")); - } - if (value.length === 0) { - if (optional) - continue; - throw new TypeError("Expected \"".concat(token.name, "\" to not be empty")); - } - for (var j = 0; j < value.length; j++) { - var segment = encode(value[j], token); - if (validate && !matches[i].test(segment)) { - throw new TypeError("Expected all \"".concat(token.name, "\" to match \"").concat(token.pattern, "\", but got \"").concat(segment, "\"")); - } - path += token.prefix + segment + token.suffix; - } - continue; - } - if (typeof value === "string" || typeof value === "number") { - var segment = encode(String(value), token); - if (validate && !matches[i].test(segment)) { - throw new TypeError("Expected \"".concat(token.name, "\" to match \"").concat(token.pattern, "\", but got \"").concat(segment, "\"")); - } - path += token.prefix + segment + token.suffix; - continue; - } - if (optional) - continue; - var typeOfMessage = repeat ? "an array" : "a string"; - throw new TypeError("Expected \"".concat(token.name, "\" to be ").concat(typeOfMessage)); - } - return path; - }; -} -exports.tokensToFunction = tokensToFunction; -/** - * Create path match function from `path-to-regexp` spec. - */ -function match(str, options) { - var keys = []; - var re = pathToRegexp(str, keys, options); - return regexpToFunction(re, keys, options); -} -exports.match = match; -/** - * Create a path match function from `path-to-regexp` output. - */ -function regexpToFunction(re, keys, options) { - if (options === void 0) { options = {}; } - var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a; - return function (pathname) { - var m = re.exec(pathname); - if (!m) - return false; - var path = m[0], index = m.index; - var params = Object.create(null); - var _loop_1 = function (i) { - if (m[i] === undefined) - return "continue"; - var key = keys[i - 1]; - if (key.modifier === "*" || key.modifier === "+") { - params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) { - return decode(value, key); - }); - } - else { - params[key.name] = decode(m[i], key); - } - }; - for (var i = 1; i < m.length; i++) { - _loop_1(i); - } - return { path: path, index: index, params: params }; - }; -} -exports.regexpToFunction = regexpToFunction; -/** - * Escape a regular expression string. - */ -function escapeString(str) { - return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); -} -/** - * Get the flags for a regexp from the options. - */ -function flags(options) { - return options && options.sensitive ? "" : "i"; -} -/** - * Pull out keys from a regexp. - */ -function regexpToRegexp(path, keys) { - if (!keys) - return path; - var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g; - var index = 0; - var execResult = groupsRegex.exec(path.source); - while (execResult) { - keys.push({ - // Use parenthesized substring match if available, index otherwise - name: execResult[1] || index++, - prefix: "", - suffix: "", - modifier: "", - pattern: "", - }); - execResult = groupsRegex.exec(path.source); - } - return path; -} -/** - * Transform an array into a regexp. - */ -function arrayToRegexp(paths, keys, options) { - var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; }); - return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options)); -} -/** - * Create a path regexp from string input. - */ -function stringToRegexp(path, keys, options) { - return tokensToRegexp(parse(path, options), keys, options); -} -/** - * Expose a function for taking tokens and returning a RegExp. - */ -function tokensToRegexp(tokens, keys, options) { - if (options === void 0) { options = {}; } - var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? "/#?" : _e, _f = options.endsWith, endsWith = _f === void 0 ? "" : _f; - var endsWithRe = "[".concat(escapeString(endsWith), "]|$"); - var delimiterRe = "[".concat(escapeString(delimiter), "]"); - var route = start ? "^" : ""; - // Iterate over the tokens and create our regexp string. - for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) { - var token = tokens_1[_i]; - if (typeof token === "string") { - route += escapeString(encode(token)); - } - else { - var prefix = escapeString(encode(token.prefix)); - var suffix = escapeString(encode(token.suffix)); - if (token.pattern) { - if (keys) - keys.push(token); - if (prefix || suffix) { - if (token.modifier === "+" || token.modifier === "*") { - var mod = token.modifier === "*" ? "?" : ""; - route += "(?:".concat(prefix, "((?:").concat(token.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token.pattern, "))*)").concat(suffix, ")").concat(mod); - } - else { - route += "(?:".concat(prefix, "(").concat(token.pattern, ")").concat(suffix, ")").concat(token.modifier); - } - } - else { - if (token.modifier === "+" || token.modifier === "*") { - throw new TypeError("Can not repeat \"".concat(token.name, "\" without a prefix and suffix")); - } - route += "(".concat(token.pattern, ")").concat(token.modifier); - } - } - else { - route += "(?:".concat(prefix).concat(suffix, ")").concat(token.modifier); - } - } - } - if (end) { - if (!strict) - route += "".concat(delimiterRe, "?"); - route += !options.endsWith ? "$" : "(?=".concat(endsWithRe, ")"); - } - else { - var endToken = tokens[tokens.length - 1]; - var isEndDelimited = typeof endToken === "string" - ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 - : endToken === undefined; - if (!strict) { - route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?"); - } - if (!isEndDelimited) { - route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")"); - } - } - return new RegExp(route, flags(options)); -} -exports.tokensToRegexp = tokensToRegexp; -/** - * Normalize the given path string, returning a regular expression. - * - * An empty array can be passed in for the keys, which will hold the - * placeholder key descriptions. For example, using `/user/:id`, `keys` will - * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`. - */ -function pathToRegexp(path, keys, options) { - if (path instanceof RegExp) - return regexpToRegexp(path, keys); - if (Array.isArray(path)) - return arrayToRegexp(path, keys, options); - return stringToRegexp(path, keys, options); -} -exports.pathToRegexp = pathToRegexp; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js.map b/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js.map deleted file mode 100644 index 5e3dc66d44..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAiBA;;GAEG;AACH,SAAS,KAAK,CAAC,GAAW;IACxB,IAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;QACrB,IAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;YAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7D,SAAS;SACV;QAED,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEd,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;gBACrB,IAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE/B;gBACE,QAAQ;gBACR,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;oBAC1B,QAAQ;oBACR,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;oBAC1B,QAAQ;oBACR,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;oBAC3B,MAAM;oBACN,IAAI,KAAK,EAAE,EACX;oBACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjB,SAAS;iBACV;gBAED,MAAM;aACP;YAED,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,SAAS,CAAC,oCAA6B,CAAC,CAAE,CAAC,CAAC;YAEjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC,GAAG,CAAC,CAAC;YACN,SAAS;SACV;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEd,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAClB,MAAM,IAAI,SAAS,CAAC,6CAAoC,CAAC,CAAE,CAAC,CAAC;aAC9D;YAED,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;gBACrB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACnB,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/B,SAAS;iBACV;gBAED,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBAClB,KAAK,EAAE,CAAC;oBACR,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,CAAC,EAAE,CAAC;wBACJ,MAAM;qBACP;iBACF;qBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBACzB,KAAK,EAAE,CAAC;oBACR,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;wBACtB,MAAM,IAAI,SAAS,CAAC,8CAAuC,CAAC,CAAE,CAAC,CAAC;qBACjE;iBACF;gBAED,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;aACrB;YAED,IAAI,KAAK;gBAAE,MAAM,IAAI,SAAS,CAAC,gCAAyB,CAAC,CAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,SAAS,CAAC,6BAAsB,CAAC,CAAE,CAAC,CAAC;YAE7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC,GAAG,CAAC,CAAC;YACN,SAAS;SACV;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1D;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;GAEG;AACH,SAAgB,KAAK,CAAC,GAAW,EAAE,OAA0B;IAA1B,wBAAA,EAAA,YAA0B;IAC3D,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAA,KAAuC,OAAO,SAA/B,EAAf,QAAQ,mBAAG,IAAI,KAAA,EAAE,KAAsB,OAAO,UAAZ,EAAjB,SAAS,mBAAG,KAAK,KAAA,CAAa;IACvD,IAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,IAAM,UAAU,GAAG,UAAC,IAAsB;QACxC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAC7E,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,IAAsB;QACzC,IAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAChC,IAAA,KAA4B,MAAM,CAAC,CAAC,CAAC,EAA7B,QAAQ,UAAA,EAAE,KAAK,WAAc,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,qBAAc,QAAQ,iBAAO,KAAK,wBAAc,IAAI,CAAE,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAyB,CAAC;QAC9B,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC;SACjB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,IAAM,MAAM,GAAG,UAAC,KAAa;QAC3B,KAAmB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS;YAAvB,IAAM,IAAI,kBAAA;YAAe,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;SAAA;QACxE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,MAAc;QACjC,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE1E,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrB,MAAM,IAAI,SAAS,CACjB,sEAA+D,IAAY,CAAC,IAAI,OAAG,CACpF,CAAC;SACH;QAED,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,YAAK,YAAY,CAAC,SAAS,CAAC,QAAK,CAAC;QAC5E,OAAO,gBAAS,YAAY,CAAC,QAAQ,CAAC,gBAAM,YAAY,CAAC,SAAS,CAAC,SAAM,CAAC;IAC5E,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;QACxB,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAExB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnC,IAAI,IAAI,MAAM,CAAC;gBACf,MAAM,GAAG,EAAE,CAAC;aACb;YAED,IAAI,IAAI,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,GAAG,EAAE,CAAC;aACX;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE;gBACnB,MAAM,QAAA;gBACN,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC;gBACvC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;aACvC,CAAC,CAAC;YACH,SAAS;SACV;QAED,IAAM,KAAK,GAAG,IAAI,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE;YACT,IAAI,IAAI,KAAK,CAAC;YACd,SAAS;SACV;QAED,IAAI,IAAI,EAAE;YACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,GAAG,EAAE,CAAC;SACX;QAED,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE;YACR,IAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAC7B,IAAM,MAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtC,IAAM,SAAO,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAE7B,WAAW,CAAC,OAAO,CAAC,CAAC;YAErB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAI,IAAI,CAAC,SAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,OAAO,EAAE,MAAI,IAAI,CAAC,SAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAO;gBACzD,MAAM,QAAA;gBACN,MAAM,QAAA;gBACN,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;aACvC,CAAC,CAAC;YACH,SAAS;SACV;QAED,WAAW,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA7GD,sBA6GC;AAiBD;;GAEG;AACH,SAAgB,OAAO,CACrB,GAAW,EACX,OAAgD;IAEhD,OAAO,gBAAgB,CAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AALD,0BAKC;AAID;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,MAAe,EACf,OAAqC;IAArC,wBAAA,EAAA,YAAqC;IAErC,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,IAAA,KAA+C,OAAO,OAA7B,EAAzB,MAAM,mBAAG,UAAC,CAAS,IAAK,OAAA,CAAC,EAAD,CAAC,KAAA,EAAE,KAAoB,OAAO,SAAZ,EAAf,QAAQ,mBAAG,IAAI,KAAA,CAAa;IAE/D,uCAAuC;IACvC,IAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,MAAM,CAAC,cAAO,KAAK,CAAC,OAAO,OAAI,EAAE,OAAO,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAC,IAA4C;QAClD,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,IAAI,IAAI,KAAK,CAAC;gBACd,SAAS;aACV;YAED,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClD,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;YAClE,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;YAEhE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,SAAS,CACjB,qBAAa,KAAK,CAAC,IAAI,uCAAmC,CAC3D,CAAC;iBACH;gBAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,IAAI,QAAQ;wBAAE,SAAS;oBAEvB,MAAM,IAAI,SAAS,CAAC,qBAAa,KAAK,CAAC,IAAI,uBAAmB,CAAC,CAAC;iBACjE;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAExC,IAAI,QAAQ,IAAI,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;wBACrD,MAAM,IAAI,SAAS,CACjB,yBAAiB,KAAK,CAAC,IAAI,2BAAe,KAAK,CAAC,OAAO,2BAAe,OAAO,OAAG,CACjF,CAAC;qBACH;oBAED,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;iBAC/C;gBAED,SAAS;aACV;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1D,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBAE7C,IAAI,QAAQ,IAAI,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACrD,MAAM,IAAI,SAAS,CACjB,qBAAa,KAAK,CAAC,IAAI,2BAAe,KAAK,CAAC,OAAO,2BAAe,OAAO,OAAG,CAC7E,CAAC;iBACH;gBAED,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC9C,SAAS;aACV;YAED,IAAI,QAAQ;gBAAE,SAAS;YAEvB,IAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,qBAAa,KAAK,CAAC,IAAI,sBAAW,aAAa,CAAE,CAAC,CAAC;SACxE;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AA9ED,4CA8EC;AA8BD;;GAEG;AACH,SAAgB,KAAK,CACnB,GAAS,EACT,OAAwE;IAExE,IAAM,IAAI,GAAU,EAAE,CAAC;IACvB,IAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,gBAAgB,CAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAPD,sBAOC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,EAAU,EACV,IAAW,EACX,OAAqC;IAArC,wBAAA,EAAA,YAAqC;IAE7B,IAAA,KAA8B,OAAO,OAAZ,EAAzB,MAAM,mBAAG,UAAC,CAAS,IAAK,OAAA,CAAC,EAAD,CAAC,KAAA,CAAa;IAE9C,OAAO,UAAU,QAAgB;QAC/B,IAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEb,IAAG,IAAI,GAAY,CAAC,GAAb,EAAE,KAAK,GAAK,CAAC,MAAN,CAAO;QAC7B,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAE1B,CAAC;YACR,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;kCAAW;YAEjC,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAExB,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE;gBAChD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK;oBAC/D,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACtC;;QAXH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAxB,CAAC;SAYT;QAED,OAAO,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AA9BD,4CA8BC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,OAAiC;IAC9C,OAAO,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACjD,CAAC;AAkBD;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,IAAY;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,IAAM,WAAW,GAAG,yBAAyB,CAAC;IAE9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,UAAU,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC;YACR,kEAAkE;YAClE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;YAC9B,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,KAA6B,EAC7B,IAAY,EACZ,OAA8C;IAE9C,IAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,EAAxC,CAAwC,CAAC,CAAC;IAC5E,OAAO,IAAI,MAAM,CAAC,aAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,IAAY,EACZ,IAAY,EACZ,OAA8C;IAE9C,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAiCD;;GAEG;AACH,SAAgB,cAAc,CAC5B,MAAe,EACf,IAAY,EACZ,OAAmC;IAAnC,wBAAA,EAAA,YAAmC;IAGjC,IAAA,KAME,OAAO,OANK,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,KAKE,OAAO,MALG,EAAZ,KAAK,mBAAG,IAAI,KAAA,EACZ,KAIE,OAAO,IAJC,EAAV,GAAG,mBAAG,IAAI,KAAA,EACV,KAGE,OAAO,OAHgB,EAAzB,MAAM,mBAAG,UAAC,CAAS,IAAK,OAAA,CAAC,EAAD,CAAC,KAAA,EACzB,KAEE,OAAO,UAFQ,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,KACE,OAAO,SADI,EAAb,QAAQ,mBAAG,EAAE,KAAA,CACH;IACZ,IAAM,UAAU,GAAG,WAAI,YAAY,CAAC,QAAQ,CAAC,QAAK,CAAC;IACnD,IAAM,WAAW,GAAG,WAAI,YAAY,CAAC,SAAS,CAAC,MAAG,CAAC;IACnD,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7B,wDAAwD;IACxD,KAAoB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;QAAvB,IAAM,KAAK,eAAA;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACtC;aAAM;YACL,IAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,IAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAElD,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjB,IAAI,IAAI;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,IAAI,MAAM,IAAI,MAAM,EAAE;oBACpB,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE;wBACpD,IAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9C,KAAK,IAAI,aAAM,MAAM,iBAAO,KAAK,CAAC,OAAO,iBAAO,MAAM,SAAG,MAAM,gBAAM,KAAK,CAAC,OAAO,iBAAO,MAAM,cAAI,GAAG,CAAE,CAAC;qBAC1G;yBAAM;wBACL,KAAK,IAAI,aAAM,MAAM,cAAI,KAAK,CAAC,OAAO,cAAI,MAAM,cAAI,KAAK,CAAC,QAAQ,CAAE,CAAC;qBACtE;iBACF;qBAAM;oBACL,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE;wBACpD,MAAM,IAAI,SAAS,CACjB,2BAAmB,KAAK,CAAC,IAAI,mCAA+B,CAC7D,CAAC;qBACH;oBAED,KAAK,IAAI,WAAI,KAAK,CAAC,OAAO,cAAI,KAAK,CAAC,QAAQ,CAAE,CAAC;iBAChD;aACF;iBAAM;gBACL,KAAK,IAAI,aAAM,MAAM,SAAG,MAAM,cAAI,KAAK,CAAC,QAAQ,CAAE,CAAC;aACpD;SACF;KACF;IAED,IAAI,GAAG,EAAE;QACP,IAAI,CAAC,MAAM;YAAE,KAAK,IAAI,UAAG,WAAW,MAAG,CAAC;QAExC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAM,UAAU,MAAG,CAAC;KACxD;SAAM;QACL,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAM,cAAc,GAClB,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzD,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAE7B,IAAI,CAAC,MAAM,EAAE;YACX,KAAK,IAAI,aAAM,WAAW,gBAAM,UAAU,QAAK,CAAC;SACjD;QAED,IAAI,CAAC,cAAc,EAAE;YACnB,KAAK,IAAI,aAAM,WAAW,cAAI,UAAU,MAAG,CAAC;SAC7C;KACF;IAED,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC;AAvED,wCAuEC;AAOD;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,IAAU,EACV,IAAY,EACZ,OAA8C;IAE9C,IAAI,IAAI,YAAY,MAAM;QAAE,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AARD,oCAQC","sourcesContent":["/**\n * Tokenizer results.\n */\ninterface LexToken {\n type:\n | \"OPEN\"\n | \"CLOSE\"\n | \"PATTERN\"\n | \"NAME\"\n | \"CHAR\"\n | \"ESCAPED_CHAR\"\n | \"MODIFIER\"\n | \"END\";\n index: number;\n value: string;\n}\n\n/**\n * Tokenize input string.\n */\nfunction lexer(str: string): LexToken[] {\n const tokens: LexToken[] = [];\n let i = 0;\n\n while (i < str.length) {\n const char = str[i];\n\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n\n if (char === \":\") {\n let name = \"\";\n let j = i + 1;\n\n while (j < str.length) {\n const code = str.charCodeAt(j);\n\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95\n ) {\n name += str[j++];\n continue;\n }\n\n break;\n }\n\n if (!name) throw new TypeError(`Missing parameter name at ${i}`);\n\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n\n if (char === \"(\") {\n let count = 1;\n let pattern = \"\";\n let j = i + 1;\n\n if (str[j] === \"?\") {\n throw new TypeError(`Pattern cannot start with \"?\" at ${j}`);\n }\n\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n } else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(`Capturing groups are not allowed at ${j}`);\n }\n }\n\n pattern += str[j++];\n }\n\n if (count) throw new TypeError(`Unbalanced pattern at ${i}`);\n if (!pattern) throw new TypeError(`Missing pattern at ${i}`);\n\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n\n tokens.push({ type: \"END\", index: i, value: \"\" });\n\n return tokens;\n}\n\nexport interface ParseOptions {\n /**\n * Set the default delimiter for repeat parameters. (default: `'/'`)\n */\n delimiter?: string;\n /**\n * List of characters to automatically consider prefixes when parsing.\n */\n prefixes?: string;\n}\n\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str: string, options: ParseOptions = {}): Token[] {\n const tokens = lexer(str);\n const { prefixes = \"./\", delimiter = \"/#?\" } = options;\n const result: Token[] = [];\n let key = 0;\n let i = 0;\n let path = \"\";\n\n const tryConsume = (type: LexToken[\"type\"]): string | undefined => {\n if (i < tokens.length && tokens[i].type === type) return tokens[i++].value;\n };\n\n const mustConsume = (type: LexToken[\"type\"]): string => {\n const value = tryConsume(type);\n if (value !== undefined) return value;\n const { type: nextType, index } = tokens[i];\n throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}`);\n };\n\n const consumeText = (): string => {\n let result = \"\";\n let value: string | undefined;\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n\n const isSafe = (value: string): boolean => {\n for (const char of delimiter) if (value.indexOf(char) > -1) return true;\n return false;\n };\n\n const safePattern = (prefix: string) => {\n const prev = result[result.length - 1];\n const prevText = prefix || (prev && typeof prev === \"string\" ? prev : \"\");\n\n if (prev && !prevText) {\n throw new TypeError(\n `Must have text between two parameters, missing text after \"${(prev as Key).name}\"`,\n );\n }\n\n if (!prevText || isSafe(prevText)) return `[^${escapeString(delimiter)}]+?`;\n return `(?:(?!${escapeString(prevText)})[^${escapeString(delimiter)}])+?`;\n };\n\n while (i < tokens.length) {\n const char = tryConsume(\"CHAR\");\n const name = tryConsume(\"NAME\");\n const pattern = tryConsume(\"PATTERN\");\n\n if (name || pattern) {\n let prefix = char || \"\";\n\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n\n if (path) {\n result.push(path);\n path = \"\";\n }\n\n result.push({\n name: name || key++,\n prefix,\n suffix: \"\",\n pattern: pattern || safePattern(prefix),\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n\n const value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n\n if (path) {\n result.push(path);\n path = \"\";\n }\n\n const open = tryConsume(\"OPEN\");\n if (open) {\n const prefix = consumeText();\n const name = tryConsume(\"NAME\") || \"\";\n const pattern = tryConsume(\"PATTERN\") || \"\";\n const suffix = consumeText();\n\n mustConsume(\"CLOSE\");\n\n result.push({\n name: name || (pattern ? key++ : \"\"),\n pattern: name && !pattern ? safePattern(prefix) : pattern,\n prefix,\n suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n\n mustConsume(\"END\");\n }\n\n return result;\n}\n\nexport interface TokensToFunctionOptions {\n /**\n * When `true` the regexp will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * Function for encoding input strings for output.\n */\n encode?: (value: string, token: Key) => string;\n /**\n * When `false` the function can produce an invalid (unmatched) path. (default: `true`)\n */\n validate?: boolean;\n}\n\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile

(\n str: string,\n options?: ParseOptions & TokensToFunctionOptions,\n) {\n return tokensToFunction

(parse(str, options), options);\n}\n\nexport type PathFunction

= (data?: P) => string;\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction

(\n tokens: Token[],\n options: TokensToFunctionOptions = {},\n): PathFunction

{\n const reFlags = flags(options);\n const { encode = (x: string) => x, validate = true } = options;\n\n // Compile all the tokens into regexps.\n const matches = tokens.map((token) => {\n if (typeof token === \"object\") {\n return new RegExp(`^(?:${token.pattern})$`, reFlags);\n }\n });\n\n return (data: Record | null | undefined) => {\n let path = \"\";\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n\n const value = data ? data[token.name] : undefined;\n const optional = token.modifier === \"?\" || token.modifier === \"*\";\n const repeat = token.modifier === \"*\" || token.modifier === \"+\";\n\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\n `Expected \"${token.name}\" to not repeat, but got an array`,\n );\n }\n\n if (value.length === 0) {\n if (optional) continue;\n\n throw new TypeError(`Expected \"${token.name}\" to not be empty`);\n }\n\n for (let j = 0; j < value.length; j++) {\n const segment = encode(value[j], token);\n\n if (validate && !(matches[i] as RegExp).test(segment)) {\n throw new TypeError(\n `Expected all \"${token.name}\" to match \"${token.pattern}\", but got \"${segment}\"`,\n );\n }\n\n path += token.prefix + segment + token.suffix;\n }\n\n continue;\n }\n\n if (typeof value === \"string\" || typeof value === \"number\") {\n const segment = encode(String(value), token);\n\n if (validate && !(matches[i] as RegExp).test(segment)) {\n throw new TypeError(\n `Expected \"${token.name}\" to match \"${token.pattern}\", but got \"${segment}\"`,\n );\n }\n\n path += token.prefix + segment + token.suffix;\n continue;\n }\n\n if (optional) continue;\n\n const typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(`Expected \"${token.name}\" to be ${typeOfMessage}`);\n }\n\n return path;\n };\n}\n\nexport interface RegexpToFunctionOptions {\n /**\n * Function for decoding strings for params.\n */\n decode?: (value: string, token: Key) => string;\n}\n\n/**\n * A match result contains data about the path match.\n */\nexport interface MatchResult

{\n path: string;\n index: number;\n params: P;\n}\n\n/**\n * A match is either `false` (no match) or a match result.\n */\nexport type Match

= false | MatchResult

;\n\n/**\n * The match function takes a string and returns whether it matched the path.\n */\nexport type MatchFunction

= (\n path: string,\n) => Match

;\n\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match

(\n str: Path,\n options?: ParseOptions & TokensToRegexpOptions & RegexpToFunctionOptions,\n) {\n const keys: Key[] = [];\n const re = pathToRegexp(str, keys, options);\n return regexpToFunction

(re, keys, options);\n}\n\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction

(\n re: RegExp,\n keys: Key[],\n options: RegexpToFunctionOptions = {},\n): MatchFunction

{\n const { decode = (x: string) => x } = options;\n\n return function (pathname: string) {\n const m = re.exec(pathname);\n if (!m) return false;\n\n const { 0: path, index } = m;\n const params = Object.create(null);\n\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined) continue;\n\n const key = keys[i - 1];\n\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map((value) => {\n return decode(value, key);\n });\n } else {\n params[key.name] = decode(m[i], key);\n }\n }\n\n return { path, index, params };\n };\n}\n\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str: string) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options?: { sensitive?: boolean }) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n\n/**\n * Metadata about a key.\n */\nexport interface Key {\n name: string | number;\n prefix: string;\n suffix: string;\n pattern: string;\n modifier: string;\n}\n\n/**\n * A token is a string (nothing special) or key metadata (capture group).\n */\nexport type Token = string | Key;\n\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path: RegExp, keys?: Key[]): RegExp {\n if (!keys) return path;\n\n const groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n\n let index = 0;\n let execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n // Use parenthesized substring match if available, index otherwise\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\",\n });\n execResult = groupsRegex.exec(path.source);\n }\n\n return path;\n}\n\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(\n paths: Array,\n keys?: Key[],\n options?: TokensToRegexpOptions & ParseOptions,\n): RegExp {\n const parts = paths.map((path) => pathToRegexp(path, keys, options).source);\n return new RegExp(`(?:${parts.join(\"|\")})`, flags(options));\n}\n\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(\n path: string,\n keys?: Key[],\n options?: TokensToRegexpOptions & ParseOptions,\n) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n\nexport interface TokensToRegexpOptions {\n /**\n * When `true` the regexp will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * When `true` the regexp won't allow an optional trailing delimiter to match. (default: `false`)\n */\n strict?: boolean;\n /**\n * When `true` the regexp will match to the end of the string. (default: `true`)\n */\n end?: boolean;\n /**\n * When `true` the regexp will match from the beginning of the string. (default: `true`)\n */\n start?: boolean;\n /**\n * Sets the final character for non-ending optimistic matches. (default: `/`)\n */\n delimiter?: string;\n /**\n * List of characters that can also be \"end\" characters.\n */\n endsWith?: string;\n /**\n * Encode path tokens for use in the `RegExp`.\n */\n encode?: (value: string) => string;\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(\n tokens: Token[],\n keys?: Key[],\n options: TokensToRegexpOptions = {},\n) {\n const {\n strict = false,\n start = true,\n end = true,\n encode = (x: string) => x,\n delimiter = \"/#?\",\n endsWith = \"\",\n } = options;\n const endsWithRe = `[${escapeString(endsWith)}]|$`;\n const delimiterRe = `[${escapeString(delimiter)}]`;\n let route = start ? \"^\" : \"\";\n\n // Iterate over the tokens and create our regexp string.\n for (const token of tokens) {\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n } else {\n const prefix = escapeString(encode(token.prefix));\n const suffix = escapeString(encode(token.suffix));\n\n if (token.pattern) {\n if (keys) keys.push(token);\n\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n const mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += `(?:${prefix}((?:${token.pattern})(?:${suffix}${prefix}(?:${token.pattern}))*)${suffix})${mod}`;\n } else {\n route += `(?:${prefix}(${token.pattern})${suffix})${token.modifier}`;\n }\n } else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n throw new TypeError(\n `Can not repeat \"${token.name}\" without a prefix and suffix`,\n );\n }\n\n route += `(${token.pattern})${token.modifier}`;\n }\n } else {\n route += `(?:${prefix}${suffix})${token.modifier}`;\n }\n }\n }\n\n if (end) {\n if (!strict) route += `${delimiterRe}?`;\n\n route += !options.endsWith ? \"$\" : `(?=${endsWithRe})`;\n } else {\n const endToken = tokens[tokens.length - 1];\n const isEndDelimited =\n typeof endToken === \"string\"\n ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1\n : endToken === undefined;\n\n if (!strict) {\n route += `(?:${delimiterRe}(?=${endsWithRe}))?`;\n }\n\n if (!isEndDelimited) {\n route += `(?=${delimiterRe}|${endsWithRe})`;\n }\n }\n\n return new RegExp(route, flags(options));\n}\n\n/**\n * Supported `path-to-regexp` input types.\n */\nexport type Path = string | RegExp | Array;\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(\n path: Path,\n keys?: Key[],\n options?: TokensToRegexpOptions & ParseOptions,\n) {\n if (path instanceof RegExp) return regexpToRegexp(path, keys);\n if (Array.isArray(path)) return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n"]} \ No newline at end of file diff --git a/node_modules/twirp-ts/node_modules/path-to-regexp/package.json b/node_modules/twirp-ts/node_modules/path-to-regexp/package.json deleted file mode 100644 index aa7a4f6681..0000000000 --- a/node_modules/twirp-ts/node_modules/path-to-regexp/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "path-to-regexp", - "version": "6.3.0", - "description": "Express style path to RegExp utility", - "keywords": [ - "express", - "regexp", - "route", - "routing" - ], - "repository": { - "type": "git", - "url": "https://github.com/pillarjs/path-to-regexp.git" - }, - "license": "MIT", - "sideEffects": false, - "main": "dist/index.js", - "module": "dist.es2015/index.js", - "typings": "dist/index.d.ts", - "files": [ - "dist.es2015/", - "dist/" - ], - "scripts": { - "build": "ts-scripts build", - "format": "ts-scripts format", - "lint": "ts-scripts lint", - "prepare": "ts-scripts install && npm run build", - "size": "size-limit", - "specs": "ts-scripts specs", - "test": "ts-scripts test && npm run size" - }, - "devDependencies": { - "@borderless/ts-scripts": "^0.15.0", - "@size-limit/preset-small-lib": "^11.1.2", - "@types/node": "^20.4.9", - "@types/semver": "^7.3.1", - "@vitest/coverage-v8": "^1.4.0", - "recheck": "^4.4.5", - "semver": "^7.3.5", - "size-limit": "^11.1.2", - "typescript": "^5.1.6" - }, - "publishConfig": { - "access": "public" - }, - "size-limit": [ - { - "path": "dist.es2015/index.js", - "limit": "2.1 kB" - } - ], - "ts-scripts": { - "dist": [ - "dist", - "dist.es2015" - ], - "project": [ - "tsconfig.build.json", - "tsconfig.es2015.json" - ] - } -} diff --git a/node_modules/twirp-ts/package.json b/node_modules/twirp-ts/package.json deleted file mode 100644 index 7ca37d4520..0000000000 --- a/node_modules/twirp-ts/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "twirp-ts", - "version": "2.5.0", - "description": "Typescript implementation of the Twirp protocol", - "main": "build/twirp/index.js", - "bin": { - "protoc-gen-twirp_ts": "./protoc-gen-twirp_ts" - }, - "repository": { - "url": "https://github.com/hopin-team/twirp-ts" - }, - "scripts": { - "build": "tsc", - "format": "prettier -w src/**/*.ts", - "lint": "prettier -c src/**/*.ts", - "test": "jest", - "test:coverage": "jest --coverage" - }, - "keywords": [ - "Twirp", - "Typescript" - ], - "author": "Fabrizio Fenoglio", - "license": "MIT", - "dependencies": { - "@protobuf-ts/plugin-framework": "^2.0.7", - "camel-case": "^4.1.2", - "dot-object": "^2.1.4", - "path-to-regexp": "^6.2.0", - "ts-poet": "^4.5.0", - "yaml": "^1.10.2" - }, - "devDependencies": { - "@protobuf-ts/plugin": "^2.5.0", - "@types/dot-object": "^2.1.2", - "@types/jest": "^26.0.23", - "@types/node": "^15.12.2", - "@types/supertest": "^2.0.11", - "http-terminator": "^3.0.0", - "jest": "^27.0.4", - "openapi-types": "^9.1.0", - "prettier": "^2.3.2", - "supertest": "^6.1.3", - "ts-jest": "^27.0.3", - "ts-proto": "^1.81.3", - "typescript": "^4.3.2" - }, - "peerDependencies": { - "@protobuf-ts/plugin": "^2.5.0", - "ts-proto": "^1.81.3" - }, - "peerDependenciesMeta": { - "@protobuf-ts/plugin": { - "optional": true - }, - "ts-proto": { - "optional": true - } - } -} diff --git a/node_modules/twirp-ts/protoc-gen-twirp_ts b/node_modules/twirp-ts/protoc-gen-twirp_ts deleted file mode 100755 index 80540ec083..0000000000 --- a/node_modules/twirp-ts/protoc-gen-twirp_ts +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node - -require('./build/protoc-gen-twirp-ts/plugin'); diff --git a/node_modules/twirp-ts/tsconfig.json b/node_modules/twirp-ts/tsconfig.json deleted file mode 100644 index a5dbd84aec..0000000000 --- a/node_modules/twirp-ts/tsconfig.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "exclude": ["example", "node_modules"], - "include": ["src"], - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es2015", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ - "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./build", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ - /* Module Resolution Options */ - "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } -} diff --git a/node_modules/yaml/LICENSE b/node_modules/yaml/LICENSE deleted file mode 100644 index 7ca44e3ffe..0000000000 --- a/node_modules/yaml/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2018 Eemeli Aro - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. diff --git a/node_modules/yaml/README.md b/node_modules/yaml/README.md deleted file mode 100644 index 2c51aea2a2..0000000000 --- a/node_modules/yaml/README.md +++ /dev/null @@ -1,127 +0,0 @@ -# YAML - -`yaml` is a JavaScript parser and stringifier for [YAML](http://yaml.org/), a human friendly data serialization standard. It supports both parsing and stringifying data using all versions of YAML, along with all common data schemas. As a particularly distinguishing feature, `yaml` fully supports reading and writing comments and blank lines in YAML documents. - -The library is released under the ISC open source license, and the code is [available on GitHub](https://github.com/eemeli/yaml/). It has no external dependencies and runs on Node.js 6 and later, and in browsers from IE 11 upwards. - -For the purposes of versioning, any changes that break any of the endpoints or APIs documented here will be considered semver-major breaking changes. Undocumented library internals may change between minor versions, and previous APIs may be deprecated (but not removed). - -For more information, see the project's documentation site: [**eemeli.org/yaml/v1**](https://eemeli.org/yaml/v1/) - -To install: - -```sh -npm install yaml -``` - -**Note:** This is `yaml@1`. You may also be interested in the next version, currently available as [`yaml@next`](https://www.npmjs.com/package/yaml/v/next). - -## API Overview - -The API provided by `yaml` has three layers, depending on how deep you need to go: [Parse & Stringify](https://eemeli.org/yaml/v1/#parse-amp-stringify), [Documents](https://eemeli.org/yaml/#documents), and the [CST Parser](https://eemeli.org/yaml/#cst-parser). The first has the simplest API and "just works", the second gets you all the bells and whistles supported by the library along with a decent [AST](https://eemeli.org/yaml/#content-nodes), and the third is the closest to YAML source, making it fast, raw, and crude. - -```js -import YAML from 'yaml' -// or -const YAML = require('yaml') -``` - -### Parse & Stringify - -- [`YAML.parse(str, options): value`](https://eemeli.org/yaml/v1/#yaml-parse) -- [`YAML.stringify(value, options): string`](https://eemeli.org/yaml/v1/#yaml-stringify) - -### YAML Documents - -- [`YAML.createNode(value, wrapScalars, tag): Node`](https://eemeli.org/yaml/v1/#creating-nodes) -- [`YAML.defaultOptions`](https://eemeli.org/yaml/v1/#options) -- [`YAML.Document`](https://eemeli.org/yaml/v1/#yaml-documents) - - [`constructor(options)`](https://eemeli.org/yaml/v1/#creating-documents) - - [`defaults`](https://eemeli.org/yaml/v1/#options) - - [`#anchors`](https://eemeli.org/yaml/v1/#working-with-anchors) - - [`#contents`](https://eemeli.org/yaml/v1/#content-nodes) - - [`#errors`](https://eemeli.org/yaml/v1/#errors) -- [`YAML.parseAllDocuments(str, options): YAML.Document[]`](https://eemeli.org/yaml/v1/#parsing-documents) -- [`YAML.parseDocument(str, options): YAML.Document`](https://eemeli.org/yaml/v1/#parsing-documents) - -```js -import { Pair, YAMLMap, YAMLSeq } from 'yaml/types' -``` - -- [`new Pair(key, value)`](https://eemeli.org/yaml/v1/#creating-nodes) -- [`new YAMLMap()`](https://eemeli.org/yaml/v1/#creating-nodes) -- [`new YAMLSeq()`](https://eemeli.org/yaml/v1/#creating-nodes) - -### CST Parser - -```js -import parseCST from 'yaml/parse-cst' -``` - -- [`parseCST(str): CSTDocument[]`](https://eemeli.org/yaml/v1/#parsecst) -- [`YAML.parseCST(str): CSTDocument[]`](https://eemeli.org/yaml/v1/#parsecst) - -## YAML.parse - -```yaml -# file.yml -YAML: - - A human-readable data serialization language - - https://en.wikipedia.org/wiki/YAML -yaml: - - A complete JavaScript implementation - - https://www.npmjs.com/package/yaml -``` - -```js -import fs from 'fs' -import YAML from 'yaml' - -YAML.parse('3.14159') -// 3.14159 - -YAML.parse('[ true, false, maybe, null ]\n') -// [ true, false, 'maybe', null ] - -const file = fs.readFileSync('./file.yml', 'utf8') -YAML.parse(file) -// { YAML: -// [ 'A human-readable data serialization language', -// 'https://en.wikipedia.org/wiki/YAML' ], -// yaml: -// [ 'A complete JavaScript implementation', -// 'https://www.npmjs.com/package/yaml' ] } -``` - -## YAML.stringify - -```js -import YAML from 'yaml' - -YAML.stringify(3.14159) -// '3.14159\n' - -YAML.stringify([true, false, 'maybe', null]) -// `- true -// - false -// - maybe -// - null -// ` - -YAML.stringify({ number: 3, plain: 'string', block: 'two\nlines\n' }) -// `number: 3 -// plain: string -// block: > -// two -// -// lines -// ` -``` - ---- - -Browser testing provided by: - - - - diff --git a/node_modules/yaml/browser/dist/PlainValue-b8036b75.js b/node_modules/yaml/browser/dist/PlainValue-b8036b75.js deleted file mode 100644 index 2a4255a292..0000000000 --- a/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +++ /dev/null @@ -1,1275 +0,0 @@ -function _typeof(obj) { - "@babel/helpers - typeof"; - - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function (obj) { - return typeof obj; - }; - } else { - _typeof = function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - } - - return _typeof(obj); -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } -} - -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; -} - -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - if (superClass) _setPrototypeOf(subClass, superClass); -} - -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); -} - -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); -} - -function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - - try { - Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - return true; - } catch (e) { - return false; - } -} - -function _construct(Parent, args, Class) { - if (_isNativeReflectConstruct()) { - _construct = Reflect.construct; - } else { - _construct = function _construct(Parent, args, Class) { - var a = [null]; - a.push.apply(a, args); - var Constructor = Function.bind.apply(Parent, a); - var instance = new Constructor(); - if (Class) _setPrototypeOf(instance, Class.prototype); - return instance; - }; - } - - return _construct.apply(null, arguments); -} - -function _isNativeFunction(fn) { - return Function.toString.call(fn).indexOf("[native code]") !== -1; -} - -function _wrapNativeSuper(Class) { - var _cache = typeof Map === "function" ? new Map() : undefined; - - _wrapNativeSuper = function _wrapNativeSuper(Class) { - if (Class === null || !_isNativeFunction(Class)) return Class; - - if (typeof Class !== "function") { - throw new TypeError("Super expression must either be null or a function"); - } - - if (typeof _cache !== "undefined") { - if (_cache.has(Class)) return _cache.get(Class); - - _cache.set(Class, Wrapper); - } - - function Wrapper() { - return _construct(Class, arguments, _getPrototypeOf(this).constructor); - } - - Wrapper.prototype = Object.create(Class.prototype, { - constructor: { - value: Wrapper, - enumerable: false, - writable: true, - configurable: true - } - }); - return _setPrototypeOf(Wrapper, Class); - }; - - return _wrapNativeSuper(Class); -} - -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return self; -} - -function _possibleConstructorReturn(self, call) { - if (call && (typeof call === "object" || typeof call === "function")) { - return call; - } - - return _assertThisInitialized(self); -} - -function _createSuper(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct(); - - return function _createSuperInternal() { - var Super = _getPrototypeOf(Derived), - result; - - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf(this).constructor; - - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - - return _possibleConstructorReturn(this, result); - }; -} - -function _superPropBase(object, property) { - while (!Object.prototype.hasOwnProperty.call(object, property)) { - object = _getPrototypeOf(object); - if (object === null) break; - } - - return object; -} - -function _get(target, property, receiver) { - if (typeof Reflect !== "undefined" && Reflect.get) { - _get = Reflect.get; - } else { - _get = function _get(target, property, receiver) { - var base = _superPropBase(target, property); - - if (!base) return; - var desc = Object.getOwnPropertyDescriptor(base, property); - - if (desc.get) { - return desc.get.call(receiver); - } - - return desc.value; - }; - } - - return _get(target, property, receiver || target); -} - -function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); -} - -function _toArray(arr) { - return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); -} - -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} - -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); -} - -function _iterableToArrayLimit(arr, i) { - if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; -} - -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); -} - -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - - return arr2; -} - -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -function _createForOfIteratorHelper(o, allowArrayLike) { - var it; - - if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { - if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it) o = it; - var i = 0; - - var F = function () {}; - - return { - s: F, - n: function () { - if (i >= o.length) return { - done: true - }; - return { - done: false, - value: o[i++] - }; - }, - e: function (e) { - throw e; - }, - f: F - }; - } - - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - var normalCompletion = true, - didErr = false, - err; - return { - s: function () { - it = o[Symbol.iterator](); - }, - n: function () { - var step = it.next(); - normalCompletion = step.done; - return step; - }, - e: function (e) { - didErr = true; - err = e; - }, - f: function () { - try { - if (!normalCompletion && it.return != null) it.return(); - } finally { - if (didErr) throw err; - } - } - }; -} - -var Char = { - ANCHOR: '&', - COMMENT: '#', - TAG: '!', - DIRECTIVES_END: '-', - DOCUMENT_END: '.' -}; -var Type = { - ALIAS: 'ALIAS', - BLANK_LINE: 'BLANK_LINE', - BLOCK_FOLDED: 'BLOCK_FOLDED', - BLOCK_LITERAL: 'BLOCK_LITERAL', - COMMENT: 'COMMENT', - DIRECTIVE: 'DIRECTIVE', - DOCUMENT: 'DOCUMENT', - FLOW_MAP: 'FLOW_MAP', - FLOW_SEQ: 'FLOW_SEQ', - MAP: 'MAP', - MAP_KEY: 'MAP_KEY', - MAP_VALUE: 'MAP_VALUE', - PLAIN: 'PLAIN', - QUOTE_DOUBLE: 'QUOTE_DOUBLE', - QUOTE_SINGLE: 'QUOTE_SINGLE', - SEQ: 'SEQ', - SEQ_ITEM: 'SEQ_ITEM' -}; -var defaultTagPrefix = 'tag:yaml.org,2002:'; -var defaultTags = { - MAP: 'tag:yaml.org,2002:map', - SEQ: 'tag:yaml.org,2002:seq', - STR: 'tag:yaml.org,2002:str' -}; - -function findLineStarts(src) { - var ls = [0]; - var offset = src.indexOf('\n'); - - while (offset !== -1) { - offset += 1; - ls.push(offset); - offset = src.indexOf('\n', offset); - } - - return ls; -} - -function getSrcInfo(cst) { - var lineStarts, src; - - if (typeof cst === 'string') { - lineStarts = findLineStarts(cst); - src = cst; - } else { - if (Array.isArray(cst)) cst = cst[0]; - - if (cst && cst.context) { - if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src); - lineStarts = cst.lineStarts; - src = cst.context.src; - } - } - - return { - lineStarts: lineStarts, - src: src - }; -} -/** - * @typedef {Object} LinePos - One-indexed position in the source - * @property {number} line - * @property {number} col - */ - -/** - * Determine the line/col position matching a character offset. - * - * Accepts a source string or a CST document as the second parameter. With - * the latter, starting indices for lines are cached in the document as - * `lineStarts: number[]`. - * - * Returns a one-indexed `{ line, col }` location if found, or - * `undefined` otherwise. - * - * @param {number} offset - * @param {string|Document|Document[]} cst - * @returns {?LinePos} - */ - - -function getLinePos(offset, cst) { - if (typeof offset !== 'number' || offset < 0) return null; - - var _getSrcInfo = getSrcInfo(cst), - lineStarts = _getSrcInfo.lineStarts, - src = _getSrcInfo.src; - - if (!lineStarts || !src || offset > src.length) return null; - - for (var i = 0; i < lineStarts.length; ++i) { - var start = lineStarts[i]; - - if (offset < start) { - return { - line: i, - col: offset - lineStarts[i - 1] + 1 - }; - } - - if (offset === start) return { - line: i + 1, - col: 1 - }; - } - - var line = lineStarts.length; - return { - line: line, - col: offset - lineStarts[line - 1] + 1 - }; -} -/** - * Get a specified line from the source. - * - * Accepts a source string or a CST document as the second parameter. With - * the latter, starting indices for lines are cached in the document as - * `lineStarts: number[]`. - * - * Returns the line as a string if found, or `null` otherwise. - * - * @param {number} line One-indexed line number - * @param {string|Document|Document[]} cst - * @returns {?string} - */ - -function getLine(line, cst) { - var _getSrcInfo2 = getSrcInfo(cst), - lineStarts = _getSrcInfo2.lineStarts, - src = _getSrcInfo2.src; - - if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null; - var start = lineStarts[line - 1]; - var end = lineStarts[line]; // undefined for last line; that's ok for slice() - - while (end && end > start && src[end - 1] === '\n') { - --end; - } - - return src.slice(start, end); -} -/** - * Pretty-print the starting line from the source indicated by the range `pos` - * - * Trims output to `maxWidth` chars while keeping the starting column visible, - * using `…` at either end to indicate dropped characters. - * - * Returns a two-line string (or `null`) with `\n` as separator; the second line - * will hold appropriately indented `^` marks indicating the column range. - * - * @param {Object} pos - * @param {LinePos} pos.start - * @param {LinePos} [pos.end] - * @param {string|Document|Document[]*} cst - * @param {number} [maxWidth=80] - * @returns {?string} - */ - -function getPrettyContext(_ref, cst) { - var start = _ref.start, - end = _ref.end; - var maxWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 80; - var src = getLine(start.line, cst); - if (!src) return null; - var col = start.col; - - if (src.length > maxWidth) { - if (col <= maxWidth - 10) { - src = src.substr(0, maxWidth - 1) + '…'; - } else { - var halfWidth = Math.round(maxWidth / 2); - if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…'; - col -= src.length - maxWidth; - src = '…' + src.substr(1 - maxWidth); - } - } - - var errLen = 1; - var errEnd = ''; - - if (end) { - if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) { - errLen = end.col - start.col; - } else { - errLen = Math.min(src.length + 1, maxWidth) - col; - errEnd = '…'; - } - } - - var offset = col > 1 ? ' '.repeat(col - 1) : ''; - var err = '^'.repeat(errLen); - return "".concat(src, "\n").concat(offset).concat(err).concat(errEnd); -} - -var Range = /*#__PURE__*/function () { - function Range(start, end) { - _classCallCheck(this, Range); - - this.start = start; - this.end = end || start; - } - - _createClass(Range, [{ - key: "isEmpty", - value: function isEmpty() { - return typeof this.start !== 'number' || !this.end || this.end <= this.start; - } - /** - * Set `origStart` and `origEnd` to point to the original source range for - * this node, which may differ due to dropped CR characters. - * - * @param {number[]} cr - Positions of dropped CR characters - * @param {number} offset - Starting index of `cr` from the last call - * @returns {number} - The next offset, matching the one found for `origStart` - */ - - }, { - key: "setOrigRange", - value: function setOrigRange(cr, offset) { - var start = this.start, - end = this.end; - - if (cr.length === 0 || end <= cr[0]) { - this.origStart = start; - this.origEnd = end; - return offset; - } - - var i = offset; - - while (i < cr.length) { - if (cr[i] > start) break;else ++i; - } - - this.origStart = start + i; - var nextOffset = i; - - while (i < cr.length) { - // if end was at \n, it should now be at \r - if (cr[i] >= end) break;else ++i; - } - - this.origEnd = end + i; - return nextOffset; - } - }], [{ - key: "copy", - value: function copy(orig) { - return new Range(orig.start, orig.end); - } - }]); - - return Range; -}(); - -/** Root class of all nodes */ - -var Node = /*#__PURE__*/function () { - function Node(type, props, context) { - _classCallCheck(this, Node); - - Object.defineProperty(this, 'context', { - value: context || null, - writable: true - }); - this.error = null; - this.range = null; - this.valueRange = null; - this.props = props || []; - this.type = type; - this.value = null; - } - - _createClass(Node, [{ - key: "getPropValue", - value: function getPropValue(idx, key, skipKey) { - if (!this.context) return null; - var src = this.context.src; - var prop = this.props[idx]; - return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null; - } - }, { - key: "anchor", - get: function get() { - for (var i = 0; i < this.props.length; ++i) { - var anchor = this.getPropValue(i, Char.ANCHOR, true); - if (anchor != null) return anchor; - } - - return null; - } - }, { - key: "comment", - get: function get() { - var comments = []; - - for (var i = 0; i < this.props.length; ++i) { - var comment = this.getPropValue(i, Char.COMMENT, true); - if (comment != null) comments.push(comment); - } - - return comments.length > 0 ? comments.join('\n') : null; - } - }, { - key: "commentHasRequiredWhitespace", - value: function commentHasRequiredWhitespace(start) { - var src = this.context.src; - if (this.header && start === this.header.end) return false; - if (!this.valueRange) return false; - var end = this.valueRange.end; - return start !== end || Node.atBlank(src, end - 1); - } - }, { - key: "hasComment", - get: function get() { - if (this.context) { - var src = this.context.src; - - for (var i = 0; i < this.props.length; ++i) { - if (src[this.props[i].start] === Char.COMMENT) return true; - } - } - - return false; - } - }, { - key: "hasProps", - get: function get() { - if (this.context) { - var src = this.context.src; - - for (var i = 0; i < this.props.length; ++i) { - if (src[this.props[i].start] !== Char.COMMENT) return true; - } - } - - return false; - } - }, { - key: "includesTrailingLines", - get: function get() { - return false; - } - }, { - key: "jsonLike", - get: function get() { - var jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE]; - return jsonLikeTypes.indexOf(this.type) !== -1; - } - }, { - key: "rangeAsLinePos", - get: function get() { - if (!this.range || !this.context) return undefined; - var start = getLinePos(this.range.start, this.context.root); - if (!start) return undefined; - var end = getLinePos(this.range.end, this.context.root); - return { - start: start, - end: end - }; - } - }, { - key: "rawValue", - get: function get() { - if (!this.valueRange || !this.context) return null; - var _this$valueRange = this.valueRange, - start = _this$valueRange.start, - end = _this$valueRange.end; - return this.context.src.slice(start, end); - } - }, { - key: "tag", - get: function get() { - for (var i = 0; i < this.props.length; ++i) { - var tag = this.getPropValue(i, Char.TAG, false); - - if (tag != null) { - if (tag[1] === '<') { - return { - verbatim: tag.slice(2, -1) - }; - } else { - // eslint-disable-next-line no-unused-vars - var _tag$match = tag.match(/^(.*!)([^!]*)$/), - _tag$match2 = _slicedToArray(_tag$match, 3); - _tag$match2[0]; - var handle = _tag$match2[1], - suffix = _tag$match2[2]; - - return { - handle: handle, - suffix: suffix - }; - } - } - } - - return null; - } - }, { - key: "valueRangeContainsNewline", - get: function get() { - if (!this.valueRange || !this.context) return false; - var _this$valueRange2 = this.valueRange, - start = _this$valueRange2.start, - end = _this$valueRange2.end; - var src = this.context.src; - - for (var i = start; i < end; ++i) { - if (src[i] === '\n') return true; - } - - return false; - } - }, { - key: "parseComment", - value: function parseComment(start) { - var src = this.context.src; - - if (src[start] === Char.COMMENT) { - var end = Node.endOfLine(src, start + 1); - var commentRange = new Range(start, end); - this.props.push(commentRange); - return end; - } - - return start; - } - /** - * Populates the `origStart` and `origEnd` values of all ranges for this - * node. Extended by child classes to handle descendant nodes. - * - * @param {number[]} cr - Positions of dropped CR characters - * @param {number} offset - Starting index of `cr` from the last call - * @returns {number} - The next offset, matching the one found for `origStart` - */ - - }, { - key: "setOrigRanges", - value: function setOrigRanges(cr, offset) { - if (this.range) offset = this.range.setOrigRange(cr, offset); - if (this.valueRange) this.valueRange.setOrigRange(cr, offset); - this.props.forEach(function (prop) { - return prop.setOrigRange(cr, offset); - }); - return offset; - } - }, { - key: "toString", - value: function toString() { - var src = this.context.src, - range = this.range, - value = this.value; - if (value != null) return value; - var str = src.slice(range.start, range.end); - return Node.addStringTerminator(src, range.end, str); - } - }], [{ - key: "addStringTerminator", - value: function addStringTerminator(src, offset, str) { - if (str[str.length - 1] === '\n') return str; - var next = Node.endOfWhiteSpace(src, offset); - return next >= src.length || src[next] === '\n' ? str + '\n' : str; - } // ^(---|...) - - }, { - key: "atDocumentBoundary", - value: function atDocumentBoundary(src, offset, sep) { - var ch0 = src[offset]; - if (!ch0) return true; - var prev = src[offset - 1]; - if (prev && prev !== '\n') return false; - - if (sep) { - if (ch0 !== sep) return false; - } else { - if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false; - } - - var ch1 = src[offset + 1]; - var ch2 = src[offset + 2]; - if (ch1 !== ch0 || ch2 !== ch0) return false; - var ch3 = src[offset + 3]; - return !ch3 || ch3 === '\n' || ch3 === '\t' || ch3 === ' '; - } - }, { - key: "endOfIdentifier", - value: function endOfIdentifier(src, offset) { - var ch = src[offset]; - var isVerbatim = ch === '<'; - var notOk = isVerbatim ? ['\n', '\t', ' ', '>'] : ['\n', '\t', ' ', '[', ']', '{', '}', ',']; - - while (ch && notOk.indexOf(ch) === -1) { - ch = src[offset += 1]; - } - - if (isVerbatim && ch === '>') offset += 1; - return offset; - } - }, { - key: "endOfIndent", - value: function endOfIndent(src, offset) { - var ch = src[offset]; - - while (ch === ' ') { - ch = src[offset += 1]; - } - - return offset; - } - }, { - key: "endOfLine", - value: function endOfLine(src, offset) { - var ch = src[offset]; - - while (ch && ch !== '\n') { - ch = src[offset += 1]; - } - - return offset; - } - }, { - key: "endOfWhiteSpace", - value: function endOfWhiteSpace(src, offset) { - var ch = src[offset]; - - while (ch === '\t' || ch === ' ') { - ch = src[offset += 1]; - } - - return offset; - } - }, { - key: "startOfLine", - value: function startOfLine(src, offset) { - var ch = src[offset - 1]; - if (ch === '\n') return offset; - - while (ch && ch !== '\n') { - ch = src[offset -= 1]; - } - - return offset + 1; - } - /** - * End of indentation, or null if the line's indent level is not more - * than `indent` - * - * @param {string} src - * @param {number} indent - * @param {number} lineStart - * @returns {?number} - */ - - }, { - key: "endOfBlockIndent", - value: function endOfBlockIndent(src, indent, lineStart) { - var inEnd = Node.endOfIndent(src, lineStart); - - if (inEnd > lineStart + indent) { - return inEnd; - } else { - var wsEnd = Node.endOfWhiteSpace(src, inEnd); - var ch = src[wsEnd]; - if (!ch || ch === '\n') return wsEnd; - } - - return null; - } - }, { - key: "atBlank", - value: function atBlank(src, offset, endAsBlank) { - var ch = src[offset]; - return ch === '\n' || ch === '\t' || ch === ' ' || endAsBlank && !ch; - } - }, { - key: "nextNodeIsIndented", - value: function nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) { - if (!ch || indentDiff < 0) return false; - if (indentDiff > 0) return true; - return indicatorAsIndent && ch === '-'; - } // should be at line or string end, or at next non-whitespace char - - }, { - key: "normalizeOffset", - value: function normalizeOffset(src, offset) { - var ch = src[offset]; - return !ch ? offset : ch !== '\n' && src[offset - 1] === '\n' ? offset - 1 : Node.endOfWhiteSpace(src, offset); - } // fold single newline into space, multiple newlines to N - 1 newlines - // presumes src[offset] === '\n' - - }, { - key: "foldNewline", - value: function foldNewline(src, offset, indent) { - var inCount = 0; - var error = false; - var fold = ''; - var ch = src[offset + 1]; - - while (ch === ' ' || ch === '\t' || ch === '\n') { - switch (ch) { - case '\n': - inCount = 0; - offset += 1; - fold += '\n'; - break; - - case '\t': - if (inCount <= indent) error = true; - offset = Node.endOfWhiteSpace(src, offset + 2) - 1; - break; - - case ' ': - inCount += 1; - offset += 1; - break; - } - - ch = src[offset + 1]; - } - - if (!fold) fold = ' '; - if (ch && inCount <= indent) error = true; - return { - fold: fold, - offset: offset, - error: error - }; - } - }]); - - return Node; -}(); - -var YAMLError = /*#__PURE__*/function (_Error) { - _inherits(YAMLError, _Error); - - var _super = _createSuper(YAMLError); - - function YAMLError(name, source, message) { - var _this; - - _classCallCheck(this, YAMLError); - - if (!message || !(source instanceof Node)) throw new Error("Invalid arguments for new ".concat(name)); - _this = _super.call(this); - _this.name = name; - _this.message = message; - _this.source = source; - return _this; - } - - _createClass(YAMLError, [{ - key: "makePretty", - value: function makePretty() { - if (!this.source) return; - this.nodeType = this.source.type; - var cst = this.source.context && this.source.context.root; - - if (typeof this.offset === 'number') { - this.range = new Range(this.offset, this.offset + 1); - var start = cst && getLinePos(this.offset, cst); - - if (start) { - var end = { - line: start.line, - col: start.col + 1 - }; - this.linePos = { - start: start, - end: end - }; - } - - delete this.offset; - } else { - this.range = this.source.range; - this.linePos = this.source.rangeAsLinePos; - } - - if (this.linePos) { - var _this$linePos$start = this.linePos.start, - line = _this$linePos$start.line, - col = _this$linePos$start.col; - this.message += " at line ".concat(line, ", column ").concat(col); - var ctx = cst && getPrettyContext(this.linePos, cst); - if (ctx) this.message += ":\n\n".concat(ctx, "\n"); - } - - delete this.source; - } - }]); - - return YAMLError; -}( /*#__PURE__*/_wrapNativeSuper(Error)); -var YAMLReferenceError = /*#__PURE__*/function (_YAMLError) { - _inherits(YAMLReferenceError, _YAMLError); - - var _super2 = _createSuper(YAMLReferenceError); - - function YAMLReferenceError(source, message) { - _classCallCheck(this, YAMLReferenceError); - - return _super2.call(this, 'YAMLReferenceError', source, message); - } - - return YAMLReferenceError; -}(YAMLError); -var YAMLSemanticError = /*#__PURE__*/function (_YAMLError2) { - _inherits(YAMLSemanticError, _YAMLError2); - - var _super3 = _createSuper(YAMLSemanticError); - - function YAMLSemanticError(source, message) { - _classCallCheck(this, YAMLSemanticError); - - return _super3.call(this, 'YAMLSemanticError', source, message); - } - - return YAMLSemanticError; -}(YAMLError); -var YAMLSyntaxError = /*#__PURE__*/function (_YAMLError3) { - _inherits(YAMLSyntaxError, _YAMLError3); - - var _super4 = _createSuper(YAMLSyntaxError); - - function YAMLSyntaxError(source, message) { - _classCallCheck(this, YAMLSyntaxError); - - return _super4.call(this, 'YAMLSyntaxError', source, message); - } - - return YAMLSyntaxError; -}(YAMLError); -var YAMLWarning = /*#__PURE__*/function (_YAMLError4) { - _inherits(YAMLWarning, _YAMLError4); - - var _super5 = _createSuper(YAMLWarning); - - function YAMLWarning(source, message) { - _classCallCheck(this, YAMLWarning); - - return _super5.call(this, 'YAMLWarning', source, message); - } - - return YAMLWarning; -}(YAMLError); - -var PlainValue = /*#__PURE__*/function (_Node) { - _inherits(PlainValue, _Node); - - var _super = _createSuper(PlainValue); - - function PlainValue() { - _classCallCheck(this, PlainValue); - - return _super.apply(this, arguments); - } - - _createClass(PlainValue, [{ - key: "strValue", - get: function get() { - if (!this.valueRange || !this.context) return null; - var _this$valueRange = this.valueRange, - start = _this$valueRange.start, - end = _this$valueRange.end; - var src = this.context.src; - var ch = src[end - 1]; - - while (start < end && (ch === '\n' || ch === '\t' || ch === ' ')) { - ch = src[--end - 1]; - } - - var str = ''; - - for (var i = start; i < end; ++i) { - var _ch = src[i]; - - if (_ch === '\n') { - var _Node$foldNewline = Node.foldNewline(src, i, -1), - fold = _Node$foldNewline.fold, - offset = _Node$foldNewline.offset; - - str += fold; - i = offset; - } else if (_ch === ' ' || _ch === '\t') { - // trim trailing whitespace - var wsStart = i; - var next = src[i + 1]; - - while (i < end && (next === ' ' || next === '\t')) { - i += 1; - next = src[i + 1]; - } - - if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : _ch; - } else { - str += _ch; - } - } - - var ch0 = src[start]; - - switch (ch0) { - case '\t': - { - var msg = 'Plain value cannot start with a tab character'; - var errors = [new YAMLSemanticError(this, msg)]; - return { - errors: errors, - str: str - }; - } - - case '@': - case '`': - { - var _msg = "Plain value cannot start with reserved character ".concat(ch0); - - var _errors = [new YAMLSemanticError(this, _msg)]; - return { - errors: _errors, - str: str - }; - } - - default: - return str; - } - } - }, { - key: "parseBlockValue", - value: function parseBlockValue(start) { - var _this$context = this.context, - indent = _this$context.indent, - inFlow = _this$context.inFlow, - src = _this$context.src; - var offset = start; - var valueEnd = start; - - for (var ch = src[offset]; ch === '\n'; ch = src[offset]) { - if (Node.atDocumentBoundary(src, offset + 1)) break; - var end = Node.endOfBlockIndent(src, indent, offset + 1); - if (end === null || src[end] === '#') break; - - if (src[end] === '\n') { - offset = end; - } else { - valueEnd = PlainValue.endOfLine(src, end, inFlow); - offset = valueEnd; - } - } - - if (this.valueRange.isEmpty()) this.valueRange.start = start; - this.valueRange.end = valueEnd; - return valueEnd; - } - /** - * Parses a plain value from the source - * - * Accepted forms are: - * ``` - * #comment - * - * first line - * - * first line #comment - * - * first line - * block - * lines - * - * #comment - * block - * lines - * ``` - * where block lines are empty or have an indent level greater than `indent`. - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar, may be `\n` - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var inFlow = context.inFlow, - src = context.src; - var offset = start; - var ch = src[offset]; - - if (ch && ch !== '#' && ch !== '\n') { - offset = PlainValue.endOfLine(src, start, inFlow); - } - - this.valueRange = new Range(start, offset); - offset = Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - - if (!this.hasComment || this.valueRange.isEmpty()) { - offset = this.parseBlockValue(offset); - } - - return offset; - } - }], [{ - key: "endOfLine", - value: function endOfLine(src, start, inFlow) { - var ch = src[start]; - var offset = start; - - while (ch && ch !== '\n') { - if (inFlow && (ch === '[' || ch === ']' || ch === '{' || ch === '}' || ch === ',')) break; - var next = src[offset + 1]; - if (ch === ':' && (!next || next === '\n' || next === '\t' || next === ' ' || inFlow && next === ',')) break; - if ((ch === ' ' || ch === '\t') && next === '#') break; - offset += 1; - ch = next; - } - - return offset; - } - }]); - - return PlainValue; -}(Node); - -export { Char as C, Node as N, PlainValue as P, Range as R, Type as T, YAMLSyntaxError as Y, _createForOfIteratorHelper as _, _typeof as a, _createClass as b, _classCallCheck as c, defaultTagPrefix as d, _defineProperty as e, YAMLWarning as f, YAMLSemanticError as g, _slicedToArray as h, YAMLError as i, _inherits as j, _createSuper as k, _get as l, _getPrototypeOf as m, defaultTags as n, YAMLReferenceError as o, _assertThisInitialized as p, _toArray as q, _possibleConstructorReturn as r }; diff --git a/node_modules/yaml/browser/dist/Schema-e94716c8.js b/node_modules/yaml/browser/dist/Schema-e94716c8.js deleted file mode 100644 index f18527dcff..0000000000 --- a/node_modules/yaml/browser/dist/Schema-e94716c8.js +++ /dev/null @@ -1,682 +0,0 @@ -import { _ as _createForOfIteratorHelper, h as _slicedToArray, a as _typeof, b as _createClass, e as _defineProperty, c as _classCallCheck, d as defaultTagPrefix, n as defaultTags } from './PlainValue-b8036b75.js'; -import { d as YAMLMap, g as resolveMap, Y as YAMLSeq, h as resolveSeq, j as resolveString, c as stringifyString, s as strOptions, S as Scalar, n as nullOptions, a as boolOptions, i as intOptions, k as stringifyNumber, N as Node, A as Alias, P as Pair } from './resolveSeq-492ab440.js'; -import { b as binary, o as omap, p as pairs, s as set, i as intTime, f as floatTime, t as timestamp, a as warnOptionDeprecation } from './warnings-df54cb69.js'; - -function createMap(schema, obj, ctx) { - var map = new YAMLMap(schema); - - if (obj instanceof Map) { - var _iterator = _createForOfIteratorHelper(obj), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var _step$value = _slicedToArray(_step.value, 2), - key = _step$value[0], - value = _step$value[1]; - - map.items.push(schema.createPair(key, value, ctx)); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - } else if (obj && _typeof(obj) === 'object') { - for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { - var _key = _Object$keys[_i]; - map.items.push(schema.createPair(_key, obj[_key], ctx)); - } - } - - if (typeof schema.sortMapEntries === 'function') { - map.items.sort(schema.sortMapEntries); - } - - return map; -} - -var map = { - createNode: createMap, - default: true, - nodeClass: YAMLMap, - tag: 'tag:yaml.org,2002:map', - resolve: resolveMap -}; - -function createSeq(schema, obj, ctx) { - var seq = new YAMLSeq(schema); - - if (obj && obj[Symbol.iterator]) { - var _iterator = _createForOfIteratorHelper(obj), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var it = _step.value; - var v = schema.createNode(it, ctx.wrapScalars, null, ctx); - seq.items.push(v); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - } - - return seq; -} - -var seq = { - createNode: createSeq, - default: true, - nodeClass: YAMLSeq, - tag: 'tag:yaml.org,2002:seq', - resolve: resolveSeq -}; - -var string = { - identify: function identify(value) { - return typeof value === 'string'; - }, - default: true, - tag: 'tag:yaml.org,2002:str', - resolve: resolveString, - stringify: function stringify(item, ctx, onComment, onChompKeep) { - ctx = Object.assign({ - actualString: true - }, ctx); - return stringifyString(item, ctx, onComment, onChompKeep); - }, - options: strOptions -}; - -var failsafe = [map, seq, string]; - -/* global BigInt */ - -var intIdentify$2 = function intIdentify(value) { - return typeof value === 'bigint' || Number.isInteger(value); -}; - -var intResolve$1 = function intResolve(src, part, radix) { - return intOptions.asBigInt ? BigInt(src) : parseInt(part, radix); -}; - -function intStringify$1(node, radix, prefix) { - var value = node.value; - if (intIdentify$2(value) && value >= 0) return prefix + value.toString(radix); - return stringifyNumber(node); -} - -var nullObj = { - identify: function identify(value) { - return value == null; - }, - createNode: function createNode(schema, value, ctx) { - return ctx.wrapScalars ? new Scalar(null) : null; - }, - default: true, - tag: 'tag:yaml.org,2002:null', - test: /^(?:~|[Nn]ull|NULL)?$/, - resolve: function resolve() { - return null; - }, - options: nullOptions, - stringify: function stringify() { - return nullOptions.nullStr; - } -}; -var boolObj = { - identify: function identify(value) { - return typeof value === 'boolean'; - }, - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/, - resolve: function resolve(str) { - return str[0] === 't' || str[0] === 'T'; - }, - options: boolOptions, - stringify: function stringify(_ref) { - var value = _ref.value; - return value ? boolOptions.trueStr : boolOptions.falseStr; - } -}; -var octObj = { - identify: function identify(value) { - return intIdentify$2(value) && value >= 0; - }, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'OCT', - test: /^0o([0-7]+)$/, - resolve: function resolve(str, oct) { - return intResolve$1(str, oct, 8); - }, - options: intOptions, - stringify: function stringify(node) { - return intStringify$1(node, 8, '0o'); - } -}; -var intObj = { - identify: intIdentify$2, - default: true, - tag: 'tag:yaml.org,2002:int', - test: /^[-+]?[0-9]+$/, - resolve: function resolve(str) { - return intResolve$1(str, str, 10); - }, - options: intOptions, - stringify: stringifyNumber -}; -var hexObj = { - identify: function identify(value) { - return intIdentify$2(value) && value >= 0; - }, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'HEX', - test: /^0x([0-9a-fA-F]+)$/, - resolve: function resolve(str, hex) { - return intResolve$1(str, hex, 16); - }, - options: intOptions, - stringify: function stringify(node) { - return intStringify$1(node, 16, '0x'); - } -}; -var nanObj = { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^(?:[-+]?\.inf|(\.nan))$/i, - resolve: function resolve(str, nan) { - return nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY; - }, - stringify: stringifyNumber -}; -var expObj = { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - format: 'EXP', - test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/, - resolve: function resolve(str) { - return parseFloat(str); - }, - stringify: function stringify(_ref2) { - var value = _ref2.value; - return Number(value).toExponential(); - } -}; -var floatObj = { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/, - resolve: function resolve(str, frac1, frac2) { - var frac = frac1 || frac2; - var node = new Scalar(parseFloat(str)); - if (frac && frac[frac.length - 1] === '0') node.minFractionDigits = frac.length; - return node; - }, - stringify: stringifyNumber -}; -var core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]); - -/* global BigInt */ - -var intIdentify$1 = function intIdentify(value) { - return typeof value === 'bigint' || Number.isInteger(value); -}; - -var stringifyJSON = function stringifyJSON(_ref) { - var value = _ref.value; - return JSON.stringify(value); -}; - -var json = [map, seq, { - identify: function identify(value) { - return typeof value === 'string'; - }, - default: true, - tag: 'tag:yaml.org,2002:str', - resolve: resolveString, - stringify: stringifyJSON -}, { - identify: function identify(value) { - return value == null; - }, - createNode: function createNode(schema, value, ctx) { - return ctx.wrapScalars ? new Scalar(null) : null; - }, - default: true, - tag: 'tag:yaml.org,2002:null', - test: /^null$/, - resolve: function resolve() { - return null; - }, - stringify: stringifyJSON -}, { - identify: function identify(value) { - return typeof value === 'boolean'; - }, - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^true|false$/, - resolve: function resolve(str) { - return str === 'true'; - }, - stringify: stringifyJSON -}, { - identify: intIdentify$1, - default: true, - tag: 'tag:yaml.org,2002:int', - test: /^-?(?:0|[1-9][0-9]*)$/, - resolve: function resolve(str) { - return intOptions.asBigInt ? BigInt(str) : parseInt(str, 10); - }, - stringify: function stringify(_ref2) { - var value = _ref2.value; - return intIdentify$1(value) ? value.toString() : JSON.stringify(value); - } -}, { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/, - resolve: function resolve(str) { - return parseFloat(str); - }, - stringify: stringifyJSON -}]; - -json.scalarFallback = function (str) { - throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(str))); -}; - -/* global BigInt */ - -var boolStringify = function boolStringify(_ref) { - var value = _ref.value; - return value ? boolOptions.trueStr : boolOptions.falseStr; -}; - -var intIdentify = function intIdentify(value) { - return typeof value === 'bigint' || Number.isInteger(value); -}; - -function intResolve(sign, src, radix) { - var str = src.replace(/_/g, ''); - - if (intOptions.asBigInt) { - switch (radix) { - case 2: - str = "0b".concat(str); - break; - - case 8: - str = "0o".concat(str); - break; - - case 16: - str = "0x".concat(str); - break; - } - - var _n = BigInt(str); - - return sign === '-' ? BigInt(-1) * _n : _n; - } - - var n = parseInt(str, radix); - return sign === '-' ? -1 * n : n; -} - -function intStringify(node, radix, prefix) { - var value = node.value; - - if (intIdentify(value)) { - var str = value.toString(radix); - return value < 0 ? '-' + prefix + str.substr(1) : prefix + str; - } - - return stringifyNumber(node); -} - -var yaml11 = failsafe.concat([{ - identify: function identify(value) { - return value == null; - }, - createNode: function createNode(schema, value, ctx) { - return ctx.wrapScalars ? new Scalar(null) : null; - }, - default: true, - tag: 'tag:yaml.org,2002:null', - test: /^(?:~|[Nn]ull|NULL)?$/, - resolve: function resolve() { - return null; - }, - options: nullOptions, - stringify: function stringify() { - return nullOptions.nullStr; - } -}, { - identify: function identify(value) { - return typeof value === 'boolean'; - }, - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/, - resolve: function resolve() { - return true; - }, - options: boolOptions, - stringify: boolStringify -}, { - identify: function identify(value) { - return typeof value === 'boolean'; - }, - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i, - resolve: function resolve() { - return false; - }, - options: boolOptions, - stringify: boolStringify -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'BIN', - test: /^([-+]?)0b([0-1_]+)$/, - resolve: function resolve(str, sign, bin) { - return intResolve(sign, bin, 2); - }, - stringify: function stringify(node) { - return intStringify(node, 2, '0b'); - } -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'OCT', - test: /^([-+]?)0([0-7_]+)$/, - resolve: function resolve(str, sign, oct) { - return intResolve(sign, oct, 8); - }, - stringify: function stringify(node) { - return intStringify(node, 8, '0'); - } -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - test: /^([-+]?)([0-9][0-9_]*)$/, - resolve: function resolve(str, sign, abs) { - return intResolve(sign, abs, 10); - }, - stringify: stringifyNumber -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'HEX', - test: /^([-+]?)0x([0-9a-fA-F_]+)$/, - resolve: function resolve(str, sign, hex) { - return intResolve(sign, hex, 16); - }, - stringify: function stringify(node) { - return intStringify(node, 16, '0x'); - } -}, { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^(?:[-+]?\.inf|(\.nan))$/i, - resolve: function resolve(str, nan) { - return nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY; - }, - stringify: stringifyNumber -}, { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - format: 'EXP', - test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/, - resolve: function resolve(str) { - return parseFloat(str.replace(/_/g, '')); - }, - stringify: function stringify(_ref2) { - var value = _ref2.value; - return Number(value).toExponential(); - } -}, { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/, - resolve: function resolve(str, frac) { - var node = new Scalar(parseFloat(str.replace(/_/g, ''))); - - if (frac) { - var f = frac.replace(/_/g, ''); - if (f[f.length - 1] === '0') node.minFractionDigits = f.length; - } - - return node; - }, - stringify: stringifyNumber -}], binary, omap, pairs, set, intTime, floatTime, timestamp); - -var schemas = { - core: core, - failsafe: failsafe, - json: json, - yaml11: yaml11 -}; -var tags = { - binary: binary, - bool: boolObj, - float: floatObj, - floatExp: expObj, - floatNaN: nanObj, - floatTime: floatTime, - int: intObj, - intHex: hexObj, - intOct: octObj, - intTime: intTime, - map: map, - null: nullObj, - omap: omap, - pairs: pairs, - seq: seq, - set: set, - timestamp: timestamp -}; - -function findTagObject(value, tagName, tags) { - if (tagName) { - var match = tags.filter(function (t) { - return t.tag === tagName; - }); - var tagObj = match.find(function (t) { - return !t.format; - }) || match[0]; - if (!tagObj) throw new Error("Tag ".concat(tagName, " not found")); - return tagObj; - } // TODO: deprecate/remove class check - - - return tags.find(function (t) { - return (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format; - }); -} - -function createNode(value, tagName, ctx) { - if (value instanceof Node) return value; - var defaultPrefix = ctx.defaultPrefix, - onTagObj = ctx.onTagObj, - prevObjects = ctx.prevObjects, - schema = ctx.schema, - wrapScalars = ctx.wrapScalars; - if (tagName && tagName.startsWith('!!')) tagName = defaultPrefix + tagName.slice(2); - var tagObj = findTagObject(value, tagName, schema.tags); - - if (!tagObj) { - if (typeof value.toJSON === 'function') value = value.toJSON(); - if (!value || _typeof(value) !== 'object') return wrapScalars ? new Scalar(value) : value; - tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map; - } - - if (onTagObj) { - onTagObj(tagObj); - delete ctx.onTagObj; - } // Detect duplicate references to the same object & use Alias nodes for all - // after first. The `obj` wrapper allows for circular references to resolve. - - - var obj = { - value: undefined, - node: undefined - }; - - if (value && _typeof(value) === 'object' && prevObjects) { - var prev = prevObjects.get(value); - - if (prev) { - var alias = new Alias(prev); // leaves source dirty; must be cleaned by caller - - ctx.aliasNodes.push(alias); // defined along with prevObjects - - return alias; - } - - obj.value = value; - prevObjects.set(value, obj); - } - - obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new Scalar(value) : value; - if (tagName && obj.node instanceof Node) obj.node.tag = tagName; - return obj.node; -} - -function getSchemaTags(schemas, knownTags, customTags, schemaId) { - var tags = schemas[schemaId.replace(/\W/g, '')]; // 'yaml-1.1' -> 'yaml11' - - if (!tags) { - var keys = Object.keys(schemas).map(function (key) { - return JSON.stringify(key); - }).join(', '); - throw new Error("Unknown schema \"".concat(schemaId, "\"; use one of ").concat(keys)); - } - - if (Array.isArray(customTags)) { - var _iterator = _createForOfIteratorHelper(customTags), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var tag = _step.value; - tags = tags.concat(tag); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - } else if (typeof customTags === 'function') { - tags = customTags(tags.slice()); - } - - for (var i = 0; i < tags.length; ++i) { - var _tag = tags[i]; - - if (typeof _tag === 'string') { - var tagObj = knownTags[_tag]; - - if (!tagObj) { - var _keys = Object.keys(knownTags).map(function (key) { - return JSON.stringify(key); - }).join(', '); - - throw new Error("Unknown custom tag \"".concat(_tag, "\"; use one of ").concat(_keys)); - } - - tags[i] = tagObj; - } - } - - return tags; -} - -var sortMapEntriesByKey = function sortMapEntriesByKey(a, b) { - return a.key < b.key ? -1 : a.key > b.key ? 1 : 0; -}; - -var Schema = /*#__PURE__*/function () { - // TODO: remove in v2 - // TODO: remove in v2 - function Schema(_ref) { - var customTags = _ref.customTags, - merge = _ref.merge, - schema = _ref.schema, - sortMapEntries = _ref.sortMapEntries, - deprecatedCustomTags = _ref.tags; - - _classCallCheck(this, Schema); - - this.merge = !!merge; - this.name = schema; - this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null; - if (!customTags && deprecatedCustomTags) warnOptionDeprecation('tags', 'customTags'); - this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema); - } - - _createClass(Schema, [{ - key: "createNode", - value: function createNode$1(value, wrapScalars, tagName, ctx) { - var baseCtx = { - defaultPrefix: Schema.defaultPrefix, - schema: this, - wrapScalars: wrapScalars - }; - var createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx; - return createNode(value, tagName, createCtx); - } - }, { - key: "createPair", - value: function createPair(key, value, ctx) { - if (!ctx) ctx = { - wrapScalars: true - }; - var k = this.createNode(key, ctx.wrapScalars, null, ctx); - var v = this.createNode(value, ctx.wrapScalars, null, ctx); - return new Pair(k, v); - } - }]); - - return Schema; -}(); - -_defineProperty(Schema, "defaultPrefix", defaultTagPrefix); - -_defineProperty(Schema, "defaultTags", defaultTags); - -export { Schema as S }; diff --git a/node_modules/yaml/browser/dist/index.js b/node_modules/yaml/browser/dist/index.js deleted file mode 100644 index e67898bcab..0000000000 --- a/node_modules/yaml/browser/dist/index.js +++ /dev/null @@ -1,1002 +0,0 @@ -import { d as defaultTagPrefix, _ as _createForOfIteratorHelper, a as _typeof, b as _createClass, c as _classCallCheck, e as _defineProperty, Y as YAMLSyntaxError, T as Type, f as YAMLWarning, g as YAMLSemanticError, h as _slicedToArray, i as YAMLError, j as _inherits, k as _createSuper } from './PlainValue-b8036b75.js'; -import { parse as parse$1 } from './parse-cst.js'; -import { b as binaryOptions, a as boolOptions, i as intOptions, n as nullOptions, s as strOptions, N as Node, P as Pair, S as Scalar, c as stringifyString, A as Alias, Y as YAMLSeq, d as YAMLMap, M as Merge, C as Collection, r as resolveNode, e as isEmptyPath, t as toJSON, f as addComment } from './resolveSeq-492ab440.js'; -import { S as Schema } from './Schema-e94716c8.js'; -import { w as warn } from './warnings-df54cb69.js'; - -var defaultOptions = { - anchorPrefix: 'a', - customTags: null, - indent: 2, - indentSeq: true, - keepCstNodes: false, - keepNodeTypes: true, - keepBlobsInJSON: true, - mapAsMap: false, - maxAliasCount: 100, - prettyErrors: false, - // TODO Set true in v2 - simpleKeys: false, - version: '1.2' -}; -var scalarOptions = { - get binary() { - return binaryOptions; - }, - - set binary(opt) { - Object.assign(binaryOptions, opt); - }, - - get bool() { - return boolOptions; - }, - - set bool(opt) { - Object.assign(boolOptions, opt); - }, - - get int() { - return intOptions; - }, - - set int(opt) { - Object.assign(intOptions, opt); - }, - - get null() { - return nullOptions; - }, - - set null(opt) { - Object.assign(nullOptions, opt); - }, - - get str() { - return strOptions; - }, - - set str(opt) { - Object.assign(strOptions, opt); - } - -}; -var documentOptions = { - '1.0': { - schema: 'yaml-1.1', - merge: true, - tagPrefixes: [{ - handle: '!', - prefix: defaultTagPrefix - }, { - handle: '!!', - prefix: 'tag:private.yaml.org,2002:' - }] - }, - 1.1: { - schema: 'yaml-1.1', - merge: true, - tagPrefixes: [{ - handle: '!', - prefix: '!' - }, { - handle: '!!', - prefix: defaultTagPrefix - }] - }, - 1.2: { - schema: 'core', - merge: false, - tagPrefixes: [{ - handle: '!', - prefix: '!' - }, { - handle: '!!', - prefix: defaultTagPrefix - }] - } -}; - -function stringifyTag(doc, tag) { - if ((doc.version || doc.options.version) === '1.0') { - var priv = tag.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/); - if (priv) return '!' + priv[1]; - var vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/); - return vocab ? "!".concat(vocab[1], "/").concat(vocab[2]) : "!".concat(tag.replace(/^tag:/, '')); - } - - var p = doc.tagPrefixes.find(function (p) { - return tag.indexOf(p.prefix) === 0; - }); - - if (!p) { - var dtp = doc.getDefaults().tagPrefixes; - p = dtp && dtp.find(function (p) { - return tag.indexOf(p.prefix) === 0; - }); - } - - if (!p) return tag[0] === '!' ? tag : "!<".concat(tag, ">"); - var suffix = tag.substr(p.prefix.length).replace(/[!,[\]{}]/g, function (ch) { - return { - '!': '%21', - ',': '%2C', - '[': '%5B', - ']': '%5D', - '{': '%7B', - '}': '%7D' - }[ch]; - }); - return p.handle + suffix; -} - -function getTagObject(tags, item) { - if (item instanceof Alias) return Alias; - - if (item.tag) { - var match = tags.filter(function (t) { - return t.tag === item.tag; - }); - if (match.length > 0) return match.find(function (t) { - return t.format === item.format; - }) || match[0]; - } - - var tagObj, obj; - - if (item instanceof Scalar) { - obj = item.value; // TODO: deprecate/remove class check - - var _match = tags.filter(function (t) { - return t.identify && t.identify(obj) || t.class && obj instanceof t.class; - }); - - tagObj = _match.find(function (t) { - return t.format === item.format; - }) || _match.find(function (t) { - return !t.format; - }); - } else { - obj = item; - tagObj = tags.find(function (t) { - return t.nodeClass && obj instanceof t.nodeClass; - }); - } - - if (!tagObj) { - var name = obj && obj.constructor ? obj.constructor.name : _typeof(obj); - throw new Error("Tag not resolved for ".concat(name, " value")); - } - - return tagObj; -} // needs to be called before value stringifier to allow for circular anchor refs - - -function stringifyProps(node, tagObj, _ref) { - var anchors = _ref.anchors, - doc = _ref.doc; - var props = []; - var anchor = doc.anchors.getName(node); - - if (anchor) { - anchors[anchor] = node; - props.push("&".concat(anchor)); - } - - if (node.tag) { - props.push(stringifyTag(doc, node.tag)); - } else if (!tagObj.default) { - props.push(stringifyTag(doc, tagObj.tag)); - } - - return props.join(' '); -} - -function stringify$1(item, ctx, onComment, onChompKeep) { - var _ctx$doc = ctx.doc, - anchors = _ctx$doc.anchors, - schema = _ctx$doc.schema; - var tagObj; - - if (!(item instanceof Node)) { - var createCtx = { - aliasNodes: [], - onTagObj: function onTagObj(o) { - return tagObj = o; - }, - prevObjects: new Map() - }; - item = schema.createNode(item, true, null, createCtx); - - var _iterator = _createForOfIteratorHelper(createCtx.aliasNodes), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var alias = _step.value; - alias.source = alias.source.node; - var name = anchors.getName(alias.source); - - if (!name) { - name = anchors.newName(); - anchors.map[name] = alias.source; - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - } - - if (item instanceof Pair) return item.toString(ctx, onComment, onChompKeep); - if (!tagObj) tagObj = getTagObject(schema.tags, item); - var props = stringifyProps(item, tagObj, ctx); - if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1; - var str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof Scalar ? stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep); - if (!props) return str; - return item instanceof Scalar || str[0] === '{' || str[0] === '[' ? "".concat(props, " ").concat(str) : "".concat(props, "\n").concat(ctx.indent).concat(str); -} - -var Anchors = /*#__PURE__*/function () { - function Anchors(prefix) { - _classCallCheck(this, Anchors); - - _defineProperty(this, "map", Object.create(null)); - - this.prefix = prefix; - } - - _createClass(Anchors, [{ - key: "createAlias", - value: function createAlias(node, name) { - this.setAnchor(node, name); - return new Alias(node); - } - }, { - key: "createMergePair", - value: function createMergePair() { - var _this = this; - - var merge = new Merge(); - - for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) { - sources[_key] = arguments[_key]; - } - - merge.value.items = sources.map(function (s) { - if (s instanceof Alias) { - if (s.source instanceof YAMLMap) return s; - } else if (s instanceof YAMLMap) { - return _this.createAlias(s); - } - - throw new Error('Merge sources must be Map nodes or their Aliases'); - }); - return merge; - } - }, { - key: "getName", - value: function getName(node) { - var map = this.map; - return Object.keys(map).find(function (a) { - return map[a] === node; - }); - } - }, { - key: "getNames", - value: function getNames() { - return Object.keys(this.map); - } - }, { - key: "getNode", - value: function getNode(name) { - return this.map[name]; - } - }, { - key: "newName", - value: function newName(prefix) { - if (!prefix) prefix = this.prefix; - var names = Object.keys(this.map); - - for (var i = 1; true; ++i) { - var name = "".concat(prefix).concat(i); - if (!names.includes(name)) return name; - } - } // During parsing, map & aliases contain CST nodes - - }, { - key: "resolveNodes", - value: function resolveNodes() { - var map = this.map, - _cstAliases = this._cstAliases; - Object.keys(map).forEach(function (a) { - map[a] = map[a].resolved; - }); - - _cstAliases.forEach(function (a) { - a.source = a.source.resolved; - }); - - delete this._cstAliases; - } - }, { - key: "setAnchor", - value: function setAnchor(node, name) { - if (node != null && !Anchors.validAnchorNode(node)) { - throw new Error('Anchors may only be set for Scalar, Seq and Map nodes'); - } - - if (name && /[\x00-\x19\s,[\]{}]/.test(name)) { - throw new Error('Anchor names must not contain whitespace or control characters'); - } - - var map = this.map; - var prev = node && Object.keys(map).find(function (a) { - return map[a] === node; - }); - - if (prev) { - if (!name) { - return prev; - } else if (prev !== name) { - delete map[prev]; - map[name] = node; - } - } else { - if (!name) { - if (!node) return null; - name = this.newName(); - } - - map[name] = node; - } - - return name; - } - }], [{ - key: "validAnchorNode", - value: function validAnchorNode(node) { - return node instanceof Scalar || node instanceof YAMLSeq || node instanceof YAMLMap; - } - }]); - - return Anchors; -}(); - -var visit = function visit(node, tags) { - if (node && _typeof(node) === 'object') { - var tag = node.tag; - - if (node instanceof Collection) { - if (tag) tags[tag] = true; - node.items.forEach(function (n) { - return visit(n, tags); - }); - } else if (node instanceof Pair) { - visit(node.key, tags); - visit(node.value, tags); - } else if (node instanceof Scalar) { - if (tag) tags[tag] = true; - } - } - - return tags; -}; - -var listTagNames = function listTagNames(node) { - return Object.keys(visit(node, {})); -}; - -function parseContents(doc, contents) { - var comments = { - before: [], - after: [] - }; - var body = undefined; - var spaceBefore = false; - - var _iterator = _createForOfIteratorHelper(contents), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var node = _step.value; - - if (node.valueRange) { - if (body !== undefined) { - var msg = 'Document contains trailing content not separated by a ... or --- line'; - doc.errors.push(new YAMLSyntaxError(node, msg)); - break; - } - - var res = resolveNode(doc, node); - - if (spaceBefore) { - res.spaceBefore = true; - spaceBefore = false; - } - - body = res; - } else if (node.comment !== null) { - var cc = body === undefined ? comments.before : comments.after; - cc.push(node.comment); - } else if (node.type === Type.BLANK_LINE) { - spaceBefore = true; - - if (body === undefined && comments.before.length > 0 && !doc.commentBefore) { - // space-separated comments at start are parsed as document comments - doc.commentBefore = comments.before.join('\n'); - comments.before = []; - } - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - doc.contents = body || null; - - if (!body) { - doc.comment = comments.before.concat(comments.after).join('\n') || null; - } else { - var cb = comments.before.join('\n'); - - if (cb) { - var cbNode = body instanceof Collection && body.items[0] ? body.items[0] : body; - cbNode.commentBefore = cbNode.commentBefore ? "".concat(cb, "\n").concat(cbNode.commentBefore) : cb; - } - - doc.comment = comments.after.join('\n') || null; - } -} - -function resolveTagDirective(_ref, directive) { - var tagPrefixes = _ref.tagPrefixes; - - var _directive$parameters = _slicedToArray(directive.parameters, 2), - handle = _directive$parameters[0], - prefix = _directive$parameters[1]; - - if (!handle || !prefix) { - var msg = 'Insufficient parameters given for %TAG directive'; - throw new YAMLSemanticError(directive, msg); - } - - if (tagPrefixes.some(function (p) { - return p.handle === handle; - })) { - var _msg = 'The %TAG directive must only be given at most once per handle in the same document.'; - throw new YAMLSemanticError(directive, _msg); - } - - return { - handle: handle, - prefix: prefix - }; -} - -function resolveYamlDirective(doc, directive) { - var _directive$parameters2 = _slicedToArray(directive.parameters, 1), - version = _directive$parameters2[0]; - - if (directive.name === 'YAML:1.0') version = '1.0'; - - if (!version) { - var msg = 'Insufficient parameters given for %YAML directive'; - throw new YAMLSemanticError(directive, msg); - } - - if (!documentOptions[version]) { - var v0 = doc.version || doc.options.version; - - var _msg2 = "Document will be parsed as YAML ".concat(v0, " rather than YAML ").concat(version); - - doc.warnings.push(new YAMLWarning(directive, _msg2)); - } - - return version; -} - -function parseDirectives(doc, directives, prevDoc) { - var directiveComments = []; - var hasDirectives = false; - - var _iterator = _createForOfIteratorHelper(directives), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var directive = _step.value; - var comment = directive.comment, - name = directive.name; - - switch (name) { - case 'TAG': - try { - doc.tagPrefixes.push(resolveTagDirective(doc, directive)); - } catch (error) { - doc.errors.push(error); - } - - hasDirectives = true; - break; - - case 'YAML': - case 'YAML:1.0': - if (doc.version) { - var msg = 'The %YAML directive must only be given at most once per document.'; - doc.errors.push(new YAMLSemanticError(directive, msg)); - } - - try { - doc.version = resolveYamlDirective(doc, directive); - } catch (error) { - doc.errors.push(error); - } - - hasDirectives = true; - break; - - default: - if (name) { - var _msg3 = "YAML only supports %TAG and %YAML directives, and not %".concat(name); - - doc.warnings.push(new YAMLWarning(directive, _msg3)); - } - - } - - if (comment) directiveComments.push(comment); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - if (prevDoc && !hasDirectives && '1.1' === (doc.version || prevDoc.version || doc.options.version)) { - var copyTagPrefix = function copyTagPrefix(_ref2) { - var handle = _ref2.handle, - prefix = _ref2.prefix; - return { - handle: handle, - prefix: prefix - }; - }; - - doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix); - doc.version = prevDoc.version; - } - - doc.commentBefore = directiveComments.join('\n') || null; -} - -function assertCollection(contents) { - if (contents instanceof Collection) return true; - throw new Error('Expected a YAML collection as document contents'); -} - -var Document$1 = /*#__PURE__*/function () { - function Document(options) { - _classCallCheck(this, Document); - - this.anchors = new Anchors(options.anchorPrefix); - this.commentBefore = null; - this.comment = null; - this.contents = null; - this.directivesEndMarker = null; - this.errors = []; - this.options = options; - this.schema = null; - this.tagPrefixes = []; - this.version = null; - this.warnings = []; - } - - _createClass(Document, [{ - key: "add", - value: function add(value) { - assertCollection(this.contents); - return this.contents.add(value); - } - }, { - key: "addIn", - value: function addIn(path, value) { - assertCollection(this.contents); - this.contents.addIn(path, value); - } - }, { - key: "delete", - value: function _delete(key) { - assertCollection(this.contents); - return this.contents.delete(key); - } - }, { - key: "deleteIn", - value: function deleteIn(path) { - if (isEmptyPath(path)) { - if (this.contents == null) return false; - this.contents = null; - return true; - } - - assertCollection(this.contents); - return this.contents.deleteIn(path); - } - }, { - key: "getDefaults", - value: function getDefaults() { - return Document.defaults[this.version] || Document.defaults[this.options.version] || {}; - } - }, { - key: "get", - value: function get(key, keepScalar) { - return this.contents instanceof Collection ? this.contents.get(key, keepScalar) : undefined; - } - }, { - key: "getIn", - value: function getIn(path, keepScalar) { - if (isEmptyPath(path)) return !keepScalar && this.contents instanceof Scalar ? this.contents.value : this.contents; - return this.contents instanceof Collection ? this.contents.getIn(path, keepScalar) : undefined; - } - }, { - key: "has", - value: function has(key) { - return this.contents instanceof Collection ? this.contents.has(key) : false; - } - }, { - key: "hasIn", - value: function hasIn(path) { - if (isEmptyPath(path)) return this.contents !== undefined; - return this.contents instanceof Collection ? this.contents.hasIn(path) : false; - } - }, { - key: "set", - value: function set(key, value) { - assertCollection(this.contents); - this.contents.set(key, value); - } - }, { - key: "setIn", - value: function setIn(path, value) { - if (isEmptyPath(path)) this.contents = value;else { - assertCollection(this.contents); - this.contents.setIn(path, value); - } - } - }, { - key: "setSchema", - value: function setSchema(id, customTags) { - if (!id && !customTags && this.schema) return; - if (typeof id === 'number') id = id.toFixed(1); - - if (id === '1.0' || id === '1.1' || id === '1.2') { - if (this.version) this.version = id;else this.options.version = id; - delete this.options.schema; - } else if (id && typeof id === 'string') { - this.options.schema = id; - } - - if (Array.isArray(customTags)) this.options.customTags = customTags; - var opt = Object.assign({}, this.getDefaults(), this.options); - this.schema = new Schema(opt); - } - }, { - key: "parse", - value: function parse(node, prevDoc) { - if (this.options.keepCstNodes) this.cstNode = node; - if (this.options.keepNodeTypes) this.type = 'DOCUMENT'; - var _node$directives = node.directives, - directives = _node$directives === void 0 ? [] : _node$directives, - _node$contents = node.contents, - contents = _node$contents === void 0 ? [] : _node$contents, - directivesEndMarker = node.directivesEndMarker, - error = node.error, - valueRange = node.valueRange; - - if (error) { - if (!error.source) error.source = this; - this.errors.push(error); - } - - parseDirectives(this, directives, prevDoc); - if (directivesEndMarker) this.directivesEndMarker = true; - this.range = valueRange ? [valueRange.start, valueRange.end] : null; - this.setSchema(); - this.anchors._cstAliases = []; - parseContents(this, contents); - this.anchors.resolveNodes(); - - if (this.options.prettyErrors) { - var _iterator = _createForOfIteratorHelper(this.errors), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var _error = _step.value; - if (_error instanceof YAMLError) _error.makePretty(); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - var _iterator2 = _createForOfIteratorHelper(this.warnings), - _step2; - - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - var warn = _step2.value; - if (warn instanceof YAMLError) warn.makePretty(); - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - } - - return this; - } - }, { - key: "listNonDefaultTags", - value: function listNonDefaultTags() { - return listTagNames(this.contents).filter(function (t) { - return t.indexOf(Schema.defaultPrefix) !== 0; - }); - } - }, { - key: "setTagPrefix", - value: function setTagPrefix(handle, prefix) { - if (handle[0] !== '!' || handle[handle.length - 1] !== '!') throw new Error('Handle must start and end with !'); - - if (prefix) { - var prev = this.tagPrefixes.find(function (p) { - return p.handle === handle; - }); - if (prev) prev.prefix = prefix;else this.tagPrefixes.push({ - handle: handle, - prefix: prefix - }); - } else { - this.tagPrefixes = this.tagPrefixes.filter(function (p) { - return p.handle !== handle; - }); - } - } - }, { - key: "toJSON", - value: function toJSON$1(arg, onAnchor) { - var _this = this; - - var _this$options = this.options, - keepBlobsInJSON = _this$options.keepBlobsInJSON, - mapAsMap = _this$options.mapAsMap, - maxAliasCount = _this$options.maxAliasCount; - var keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof Scalar)); - var ctx = { - doc: this, - indentStep: ' ', - keep: keep, - mapAsMap: keep && !!mapAsMap, - maxAliasCount: maxAliasCount, - stringify: stringify$1 // Requiring directly in Pair would create circular dependencies - - }; - var anchorNames = Object.keys(this.anchors.map); - if (anchorNames.length > 0) ctx.anchors = new Map(anchorNames.map(function (name) { - return [_this.anchors.map[name], { - alias: [], - aliasCount: 0, - count: 1 - }]; - })); - - var res = toJSON(this.contents, arg, ctx); - - if (typeof onAnchor === 'function' && ctx.anchors) { - var _iterator3 = _createForOfIteratorHelper(ctx.anchors.values()), - _step3; - - try { - for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { - var _step3$value = _step3.value, - count = _step3$value.count, - _res = _step3$value.res; - onAnchor(_res, count); - } - } catch (err) { - _iterator3.e(err); - } finally { - _iterator3.f(); - } - } - - return res; - } - }, { - key: "toString", - value: function toString() { - if (this.errors.length > 0) throw new Error('Document with errors cannot be stringified'); - var indentSize = this.options.indent; - - if (!Number.isInteger(indentSize) || indentSize <= 0) { - var s = JSON.stringify(indentSize); - throw new Error("\"indent\" option must be a positive integer, not ".concat(s)); - } - - this.setSchema(); - var lines = []; - var hasDirectives = false; - - if (this.version) { - var vd = '%YAML 1.2'; - - if (this.schema.name === 'yaml-1.1') { - if (this.version === '1.0') vd = '%YAML:1.0';else if (this.version === '1.1') vd = '%YAML 1.1'; - } - - lines.push(vd); - hasDirectives = true; - } - - var tagNames = this.listNonDefaultTags(); - this.tagPrefixes.forEach(function (_ref) { - var handle = _ref.handle, - prefix = _ref.prefix; - - if (tagNames.some(function (t) { - return t.indexOf(prefix) === 0; - })) { - lines.push("%TAG ".concat(handle, " ").concat(prefix)); - hasDirectives = true; - } - }); - if (hasDirectives || this.directivesEndMarker) lines.push('---'); - - if (this.commentBefore) { - if (hasDirectives || !this.directivesEndMarker) lines.unshift(''); - lines.unshift(this.commentBefore.replace(/^/gm, '#')); - } - - var ctx = { - anchors: Object.create(null), - doc: this, - indent: '', - indentStep: ' '.repeat(indentSize), - stringify: stringify$1 // Requiring directly in nodes would create circular dependencies - - }; - var chompKeep = false; - var contentComment = null; - - if (this.contents) { - if (this.contents instanceof Node) { - if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push(''); - if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, '#')); // top-level block scalars need to be indented if followed by a comment - - ctx.forceBlockIndent = !!this.comment; - contentComment = this.contents.comment; - } - - var onChompKeep = contentComment ? null : function () { - return chompKeep = true; - }; - var body = stringify$1(this.contents, ctx, function () { - return contentComment = null; - }, onChompKeep); - lines.push(addComment(body, '', contentComment)); - } else if (this.contents !== undefined) { - lines.push(stringify$1(this.contents, ctx)); - } - - if (this.comment) { - if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '') lines.push(''); - lines.push(this.comment.replace(/^/gm, '#')); - } - - return lines.join('\n') + '\n'; - } - }]); - - return Document; -}(); - -_defineProperty(Document$1, "defaults", documentOptions); - -function createNode(value) { - var wrapScalars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var tag = arguments.length > 2 ? arguments[2] : undefined; - - if (tag === undefined && typeof wrapScalars === 'string') { - tag = wrapScalars; - wrapScalars = true; - } - - var options = Object.assign({}, Document$1.defaults[defaultOptions.version], defaultOptions); - var schema = new Schema(options); - return schema.createNode(value, wrapScalars, tag); -} - -var Document = /*#__PURE__*/function (_YAMLDocument) { - _inherits(Document, _YAMLDocument); - - var _super = _createSuper(Document); - - function Document(options) { - _classCallCheck(this, Document); - - return _super.call(this, Object.assign({}, defaultOptions, options)); - } - - return Document; -}(Document$1); - -function parseAllDocuments(src, options) { - var stream = []; - var prev; - - var _iterator = _createForOfIteratorHelper(parse$1(src)), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var cstDoc = _step.value; - var doc = new Document(options); - doc.parse(cstDoc, prev); - stream.push(doc); - prev = doc; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return stream; -} - -function parseDocument(src, options) { - var cst = parse$1(src); - var doc = new Document(options).parse(cst[0]); - - if (cst.length > 1) { - var errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()'; - doc.errors.unshift(new YAMLSemanticError(cst[1], errMsg)); - } - - return doc; -} - -function parse(src, options) { - var doc = parseDocument(src, options); - doc.warnings.forEach(function (warning) { - return warn(warning); - }); - if (doc.errors.length > 0) throw doc.errors[0]; - return doc.toJSON(); -} - -function stringify(value, options) { - var doc = new Document(options); - doc.contents = value; - return String(doc); -} - -var YAML = { - createNode: createNode, - defaultOptions: defaultOptions, - Document: Document, - parse: parse, - parseAllDocuments: parseAllDocuments, - parseCST: parse$1, - parseDocument: parseDocument, - scalarOptions: scalarOptions, - stringify: stringify -}; - -export { YAML }; diff --git a/node_modules/yaml/browser/dist/legacy-exports.js b/node_modules/yaml/browser/dist/legacy-exports.js deleted file mode 100644 index 4400ed6521..0000000000 --- a/node_modules/yaml/browser/dist/legacy-exports.js +++ /dev/null @@ -1,3 +0,0 @@ -export { b as binary, f as floatTime, i as intTime, o as omap, p as pairs, s as set, t as timestamp, c as warnFileDeprecation } from './warnings-df54cb69.js'; -import './PlainValue-b8036b75.js'; -import './resolveSeq-492ab440.js'; diff --git a/node_modules/yaml/browser/dist/package.json b/node_modules/yaml/browser/dist/package.json deleted file mode 100644 index 3dbc1ca591..0000000000 --- a/node_modules/yaml/browser/dist/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} diff --git a/node_modules/yaml/browser/dist/parse-cst.js b/node_modules/yaml/browser/dist/parse-cst.js deleted file mode 100644 index b68cf3c6be..0000000000 --- a/node_modules/yaml/browser/dist/parse-cst.js +++ /dev/null @@ -1,1904 +0,0 @@ -import { j as _inherits, k as _createSuper, c as _classCallCheck, T as Type, b as _createClass, R as Range, N as Node, g as YAMLSemanticError, l as _get, m as _getPrototypeOf, Y as YAMLSyntaxError, C as Char, e as _defineProperty, P as PlainValue } from './PlainValue-b8036b75.js'; - -var BlankLine = /*#__PURE__*/function (_Node) { - _inherits(BlankLine, _Node); - - var _super = _createSuper(BlankLine); - - function BlankLine() { - _classCallCheck(this, BlankLine); - - return _super.call(this, Type.BLANK_LINE); - } - /* istanbul ignore next */ - - - _createClass(BlankLine, [{ - key: "includesTrailingLines", - get: function get() { - // This is never called from anywhere, but if it were, - // this is the value it should return. - return true; - } - /** - * Parses a blank line from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first \n character - * @returns {number} - Index of the character after this - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - this.range = new Range(start, start + 1); - return start + 1; - } - }]); - - return BlankLine; -}(Node); - -var CollectionItem = /*#__PURE__*/function (_Node) { - _inherits(CollectionItem, _Node); - - var _super = _createSuper(CollectionItem); - - function CollectionItem(type, props) { - var _this; - - _classCallCheck(this, CollectionItem); - - _this = _super.call(this, type, props); - _this.node = null; - return _this; - } - - _createClass(CollectionItem, [{ - key: "includesTrailingLines", - get: function get() { - return !!this.node && this.node.includesTrailingLines; - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var parseNode = context.parseNode, - src = context.src; - var atLineStart = context.atLineStart, - lineStart = context.lineStart; - if (!atLineStart && this.type === Type.SEQ_ITEM) this.error = new YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line'); - var indent = atLineStart ? start - lineStart : context.indent; - var offset = Node.endOfWhiteSpace(src, start + 1); - var ch = src[offset]; - var inlineComment = ch === '#'; - var comments = []; - var blankLine = null; - - while (ch === '\n' || ch === '#') { - if (ch === '#') { - var _end = Node.endOfLine(src, offset + 1); - - comments.push(new Range(offset, _end)); - offset = _end; - } else { - atLineStart = true; - lineStart = offset + 1; - var wsEnd = Node.endOfWhiteSpace(src, lineStart); - - if (src[wsEnd] === '\n' && comments.length === 0) { - blankLine = new BlankLine(); - lineStart = blankLine.parse({ - src: src - }, lineStart); - } - - offset = Node.endOfIndent(src, lineStart); - } - - ch = src[offset]; - } - - if (Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== Type.SEQ_ITEM)) { - this.node = parseNode({ - atLineStart: atLineStart, - inCollection: false, - indent: indent, - lineStart: lineStart, - parent: this - }, offset); - } else if (ch && lineStart > start + 1) { - offset = lineStart - 1; - } - - if (this.node) { - if (blankLine) { - // Only blank lines preceding non-empty nodes are captured. Note that - // this means that collection item range start indices do not always - // increase monotonically. -- eemeli/yaml#126 - var items = context.parent.items || context.parent.contents; - if (items) items.push(blankLine); - } - - if (comments.length) Array.prototype.push.apply(this.props, comments); - offset = this.node.range.end; - } else { - if (inlineComment) { - var c = comments[0]; - this.props.push(c); - offset = c.end; - } else { - offset = Node.endOfLine(src, start + 1); - } - } - - var end = this.node ? this.node.valueRange.end : offset; - this.valueRange = new Range(start, end); - return offset; - } - }, { - key: "setOrigRanges", - value: function setOrigRanges(cr, offset) { - offset = _get(_getPrototypeOf(CollectionItem.prototype), "setOrigRanges", this).call(this, cr, offset); - return this.node ? this.node.setOrigRanges(cr, offset) : offset; - } - }, { - key: "toString", - value: function toString() { - var src = this.context.src, - node = this.node, - range = this.range, - value = this.value; - if (value != null) return value; - var str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end); - return Node.addStringTerminator(src, range.end, str); - } - }]); - - return CollectionItem; -}(Node); - -var Comment = /*#__PURE__*/function (_Node) { - _inherits(Comment, _Node); - - var _super = _createSuper(Comment); - - function Comment() { - _classCallCheck(this, Comment); - - return _super.call(this, Type.COMMENT); - } - /** - * Parses a comment line from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - - - _createClass(Comment, [{ - key: "parse", - value: function parse(context, start) { - this.context = context; - var offset = this.parseComment(start); - this.range = new Range(start, offset); - return offset; - } - }]); - - return Comment; -}(Node); - -function grabCollectionEndComments(node) { - var cnode = node; - - while (cnode instanceof CollectionItem) { - cnode = cnode.node; - } - - if (!(cnode instanceof Collection)) return null; - var len = cnode.items.length; - var ci = -1; - - for (var i = len - 1; i >= 0; --i) { - var n = cnode.items[i]; - - if (n.type === Type.COMMENT) { - // Keep sufficiently indented comments with preceding node - var _n$context = n.context, - indent = _n$context.indent, - lineStart = _n$context.lineStart; - if (indent > 0 && n.range.start >= lineStart + indent) break; - ci = i; - } else if (n.type === Type.BLANK_LINE) ci = i;else break; - } - - if (ci === -1) return null; - var ca = cnode.items.splice(ci, len - ci); - var prevEnd = ca[0].range.start; - - while (true) { - cnode.range.end = prevEnd; - if (cnode.valueRange && cnode.valueRange.end > prevEnd) cnode.valueRange.end = prevEnd; - if (cnode === node) break; - cnode = cnode.context.parent; - } - - return ca; -} -var Collection = /*#__PURE__*/function (_Node) { - _inherits(Collection, _Node); - - var _super = _createSuper(Collection); - - function Collection(firstItem) { - var _this; - - _classCallCheck(this, Collection); - - _this = _super.call(this, firstItem.type === Type.SEQ_ITEM ? Type.SEQ : Type.MAP); - - for (var i = firstItem.props.length - 1; i >= 0; --i) { - if (firstItem.props[i].start < firstItem.context.lineStart) { - // props on previous line are assumed by the collection - _this.props = firstItem.props.slice(0, i + 1); - firstItem.props = firstItem.props.slice(i + 1); - var itemRange = firstItem.props[0] || firstItem.valueRange; - firstItem.range.start = itemRange.start; - break; - } - } - - _this.items = [firstItem]; - var ec = grabCollectionEndComments(firstItem); - if (ec) Array.prototype.push.apply(_this.items, ec); - return _this; - } - - _createClass(Collection, [{ - key: "includesTrailingLines", - get: function get() { - return this.items.length > 0; - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var parseNode = context.parseNode, - src = context.src; // It's easier to recalculate lineStart here rather than tracking down the - // last context from which to read it -- eemeli/yaml#2 - - var lineStart = Node.startOfLine(src, start); - var firstItem = this.items[0]; // First-item context needs to be correct for later comment handling - // -- eemeli/yaml#17 - - firstItem.context.parent = this; - this.valueRange = Range.copy(firstItem.valueRange); - var indent = firstItem.range.start - firstItem.context.lineStart; - var offset = start; - offset = Node.normalizeOffset(src, offset); - var ch = src[offset]; - var atLineStart = Node.endOfWhiteSpace(src, lineStart) === offset; - var prevIncludesTrailingLines = false; - - while (ch) { - while (ch === '\n' || ch === '#') { - if (atLineStart && ch === '\n' && !prevIncludesTrailingLines) { - var blankLine = new BlankLine(); - offset = blankLine.parse({ - src: src - }, offset); - this.valueRange.end = offset; - - if (offset >= src.length) { - ch = null; - break; - } - - this.items.push(blankLine); - offset -= 1; // blankLine.parse() consumes terminal newline - } else if (ch === '#') { - if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) { - return offset; - } - - var comment = new Comment(); - offset = comment.parse({ - indent: indent, - lineStart: lineStart, - src: src - }, offset); - this.items.push(comment); - this.valueRange.end = offset; - - if (offset >= src.length) { - ch = null; - break; - } - } - - lineStart = offset + 1; - offset = Node.endOfIndent(src, lineStart); - - if (Node.atBlank(src, offset)) { - var wsEnd = Node.endOfWhiteSpace(src, offset); - var next = src[wsEnd]; - - if (!next || next === '\n' || next === '#') { - offset = wsEnd; - } - } - - ch = src[offset]; - atLineStart = true; - } - - if (!ch) { - break; - } - - if (offset !== lineStart + indent && (atLineStart || ch !== ':')) { - if (offset < lineStart + indent) { - if (lineStart > start) offset = lineStart; - break; - } else if (!this.error) { - var msg = 'All collection items must start at the same column'; - this.error = new YAMLSyntaxError(this, msg); - } - } - - if (firstItem.type === Type.SEQ_ITEM) { - if (ch !== '-') { - if (lineStart > start) offset = lineStart; - break; - } - } else if (ch === '-' && !this.error) { - // map key may start with -, as long as it's followed by a non-whitespace char - var _next = src[offset + 1]; - - if (!_next || _next === '\n' || _next === '\t' || _next === ' ') { - var _msg = 'A collection cannot be both a mapping and a sequence'; - this.error = new YAMLSyntaxError(this, _msg); - } - } - - var node = parseNode({ - atLineStart: atLineStart, - inCollection: true, - indent: indent, - lineStart: lineStart, - parent: this - }, offset); - if (!node) return offset; // at next document start - - this.items.push(node); - this.valueRange.end = node.valueRange.end; - offset = Node.normalizeOffset(src, node.range.end); - ch = src[offset]; - atLineStart = false; - prevIncludesTrailingLines = node.includesTrailingLines; // Need to reset lineStart and atLineStart here if preceding node's range - // has advanced to check the current line's indentation level - // -- eemeli/yaml#10 & eemeli/yaml#38 - - if (ch) { - var ls = offset - 1; - var prev = src[ls]; - - while (prev === ' ' || prev === '\t') { - prev = src[--ls]; - } - - if (prev === '\n') { - lineStart = ls + 1; - atLineStart = true; - } - } - - var ec = grabCollectionEndComments(node); - if (ec) Array.prototype.push.apply(this.items, ec); - } - - return offset; - } - }, { - key: "setOrigRanges", - value: function setOrigRanges(cr, offset) { - offset = _get(_getPrototypeOf(Collection.prototype), "setOrigRanges", this).call(this, cr, offset); - this.items.forEach(function (node) { - offset = node.setOrigRanges(cr, offset); - }); - return offset; - } - }, { - key: "toString", - value: function toString() { - var src = this.context.src, - items = this.items, - range = this.range, - value = this.value; - if (value != null) return value; - var str = src.slice(range.start, items[0].range.start) + String(items[0]); - - for (var i = 1; i < items.length; ++i) { - var item = items[i]; - var _item$context = item.context, - atLineStart = _item$context.atLineStart, - indent = _item$context.indent; - if (atLineStart) for (var _i = 0; _i < indent; ++_i) { - str += ' '; - } - str += String(item); - } - - return Node.addStringTerminator(src, range.end, str); - } - }], [{ - key: "nextContentHasIndent", - value: function nextContentHasIndent(src, offset, indent) { - var lineStart = Node.endOfLine(src, offset) + 1; - offset = Node.endOfWhiteSpace(src, lineStart); - var ch = src[offset]; - if (!ch) return false; - if (offset >= lineStart + indent) return true; - if (ch !== '#' && ch !== '\n') return false; - return Collection.nextContentHasIndent(src, offset, indent); - } - }]); - - return Collection; -}(Node); - -var Directive = /*#__PURE__*/function (_Node) { - _inherits(Directive, _Node); - - var _super = _createSuper(Directive); - - function Directive() { - var _this; - - _classCallCheck(this, Directive); - - _this = _super.call(this, Type.DIRECTIVE); - _this.name = null; - return _this; - } - - _createClass(Directive, [{ - key: "parameters", - get: function get() { - var raw = this.rawValue; - return raw ? raw.trim().split(/[ \t]+/) : []; - } - }, { - key: "parseName", - value: function parseName(start) { - var src = this.context.src; - var offset = start; - var ch = src[offset]; - - while (ch && ch !== '\n' && ch !== '\t' && ch !== ' ') { - ch = src[offset += 1]; - } - - this.name = src.slice(start, offset); - return offset; - } - }, { - key: "parseParameters", - value: function parseParameters(start) { - var src = this.context.src; - var offset = start; - var ch = src[offset]; - - while (ch && ch !== '\n' && ch !== '#') { - ch = src[offset += 1]; - } - - this.valueRange = new Range(start, offset); - return offset; - } - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var offset = this.parseName(start + 1); - offset = this.parseParameters(offset); - offset = this.parseComment(offset); - this.range = new Range(start, offset); - return offset; - } - }]); - - return Directive; -}(Node); - -var Document = /*#__PURE__*/function (_Node) { - _inherits(Document, _Node); - - var _super = _createSuper(Document); - - function Document() { - var _this; - - _classCallCheck(this, Document); - - _this = _super.call(this, Type.DOCUMENT); - _this.directives = null; - _this.contents = null; - _this.directivesEndMarker = null; - _this.documentEndMarker = null; - return _this; - } - - _createClass(Document, [{ - key: "parseDirectives", - value: function parseDirectives(start) { - var src = this.context.src; - this.directives = []; - var atLineStart = true; - var hasDirectives = false; - var offset = start; - - while (!Node.atDocumentBoundary(src, offset, Char.DIRECTIVES_END)) { - offset = Document.startCommentOrEndBlankLine(src, offset); - - switch (src[offset]) { - case '\n': - if (atLineStart) { - var blankLine = new BlankLine(); - offset = blankLine.parse({ - src: src - }, offset); - - if (offset < src.length) { - this.directives.push(blankLine); - } - } else { - offset += 1; - atLineStart = true; - } - - break; - - case '#': - { - var comment = new Comment(); - offset = comment.parse({ - src: src - }, offset); - this.directives.push(comment); - atLineStart = false; - } - break; - - case '%': - { - var directive = new Directive(); - offset = directive.parse({ - parent: this, - src: src - }, offset); - this.directives.push(directive); - hasDirectives = true; - atLineStart = false; - } - break; - - default: - if (hasDirectives) { - this.error = new YAMLSemanticError(this, 'Missing directives-end indicator line'); - } else if (this.directives.length > 0) { - this.contents = this.directives; - this.directives = []; - } - - return offset; - } - } - - if (src[offset]) { - this.directivesEndMarker = new Range(offset, offset + 3); - return offset + 3; - } - - if (hasDirectives) { - this.error = new YAMLSemanticError(this, 'Missing directives-end indicator line'); - } else if (this.directives.length > 0) { - this.contents = this.directives; - this.directives = []; - } - - return offset; - } - }, { - key: "parseContents", - value: function parseContents(start) { - var _this$context = this.context, - parseNode = _this$context.parseNode, - src = _this$context.src; - if (!this.contents) this.contents = []; - var lineStart = start; - - while (src[lineStart - 1] === '-') { - lineStart -= 1; - } - - var offset = Node.endOfWhiteSpace(src, start); - var atLineStart = lineStart === start; - this.valueRange = new Range(offset); - - while (!Node.atDocumentBoundary(src, offset, Char.DOCUMENT_END)) { - switch (src[offset]) { - case '\n': - if (atLineStart) { - var blankLine = new BlankLine(); - offset = blankLine.parse({ - src: src - }, offset); - - if (offset < src.length) { - this.contents.push(blankLine); - } - } else { - offset += 1; - atLineStart = true; - } - - lineStart = offset; - break; - - case '#': - { - var comment = new Comment(); - offset = comment.parse({ - src: src - }, offset); - this.contents.push(comment); - atLineStart = false; - } - break; - - default: - { - var iEnd = Node.endOfIndent(src, offset); - var context = { - atLineStart: atLineStart, - indent: -1, - inFlow: false, - inCollection: false, - lineStart: lineStart, - parent: this - }; - var node = parseNode(context, iEnd); - if (!node) return this.valueRange.end = iEnd; // at next document start - - this.contents.push(node); - offset = node.range.end; - atLineStart = false; - var ec = grabCollectionEndComments(node); - if (ec) Array.prototype.push.apply(this.contents, ec); - } - } - - offset = Document.startCommentOrEndBlankLine(src, offset); - } - - this.valueRange.end = offset; - - if (src[offset]) { - this.documentEndMarker = new Range(offset, offset + 3); - offset += 3; - - if (src[offset]) { - offset = Node.endOfWhiteSpace(src, offset); - - if (src[offset] === '#') { - var _comment = new Comment(); - - offset = _comment.parse({ - src: src - }, offset); - this.contents.push(_comment); - } - - switch (src[offset]) { - case '\n': - offset += 1; - break; - - case undefined: - break; - - default: - this.error = new YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix'); - } - } - } - - return offset; - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - }, { - key: "parse", - value: function parse(context, start) { - context.root = this; - this.context = context; - var src = context.src; - var offset = src.charCodeAt(start) === 0xfeff ? start + 1 : start; // skip BOM - - offset = this.parseDirectives(offset); - offset = this.parseContents(offset); - return offset; - } - }, { - key: "setOrigRanges", - value: function setOrigRanges(cr, offset) { - offset = _get(_getPrototypeOf(Document.prototype), "setOrigRanges", this).call(this, cr, offset); - this.directives.forEach(function (node) { - offset = node.setOrigRanges(cr, offset); - }); - if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset); - this.contents.forEach(function (node) { - offset = node.setOrigRanges(cr, offset); - }); - if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset); - return offset; - } - }, { - key: "toString", - value: function toString() { - var contents = this.contents, - directives = this.directives, - value = this.value; - if (value != null) return value; - var str = directives.join(''); - - if (contents.length > 0) { - if (directives.length > 0 || contents[0].type === Type.COMMENT) str += '---\n'; - str += contents.join(''); - } - - if (str[str.length - 1] !== '\n') str += '\n'; - return str; - } - }], [{ - key: "startCommentOrEndBlankLine", - value: function startCommentOrEndBlankLine(src, start) { - var offset = Node.endOfWhiteSpace(src, start); - var ch = src[offset]; - return ch === '#' || ch === '\n' ? offset : start; - } - }]); - - return Document; -}(Node); - -var Alias = /*#__PURE__*/function (_Node) { - _inherits(Alias, _Node); - - var _super = _createSuper(Alias); - - function Alias() { - _classCallCheck(this, Alias); - - return _super.apply(this, arguments); - } - - _createClass(Alias, [{ - key: "parse", - value: - /** - * Parses an *alias from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - function parse(context, start) { - this.context = context; - var src = context.src; - var offset = Node.endOfIdentifier(src, start + 1); - this.valueRange = new Range(start + 1, offset); - offset = Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - }]); - - return Alias; -}(Node); - -var Chomp = { - CLIP: 'CLIP', - KEEP: 'KEEP', - STRIP: 'STRIP' -}; -var BlockValue = /*#__PURE__*/function (_Node) { - _inherits(BlockValue, _Node); - - var _super = _createSuper(BlockValue); - - function BlockValue(type, props) { - var _this; - - _classCallCheck(this, BlockValue); - - _this = _super.call(this, type, props); - _this.blockIndent = null; - _this.chomping = Chomp.CLIP; - _this.header = null; - return _this; - } - - _createClass(BlockValue, [{ - key: "includesTrailingLines", - get: function get() { - return this.chomping === Chomp.KEEP; - } - }, { - key: "strValue", - get: function get() { - if (!this.valueRange || !this.context) return null; - var _this$valueRange = this.valueRange, - start = _this$valueRange.start, - end = _this$valueRange.end; - var _this$context = this.context, - indent = _this$context.indent, - src = _this$context.src; - if (this.valueRange.isEmpty()) return ''; - var lastNewLine = null; - var ch = src[end - 1]; - - while (ch === '\n' || ch === '\t' || ch === ' ') { - end -= 1; - - if (end <= start) { - if (this.chomping === Chomp.KEEP) break;else return ''; // probably never happens - } - - if (ch === '\n') lastNewLine = end; - ch = src[end - 1]; - } - - var keepStart = end + 1; - - if (lastNewLine) { - if (this.chomping === Chomp.KEEP) { - keepStart = lastNewLine; - end = this.valueRange.end; - } else { - end = lastNewLine; - } - } - - var bi = indent + this.blockIndent; - var folded = this.type === Type.BLOCK_FOLDED; - var atStart = true; - var str = ''; - var sep = ''; - var prevMoreIndented = false; - - for (var i = start; i < end; ++i) { - for (var j = 0; j < bi; ++j) { - if (src[i] !== ' ') break; - i += 1; - } - - var _ch = src[i]; - - if (_ch === '\n') { - if (sep === '\n') str += '\n';else sep = '\n'; - } else { - var lineEnd = Node.endOfLine(src, i); - var line = src.slice(i, lineEnd); - i = lineEnd; - - if (folded && (_ch === ' ' || _ch === '\t') && i < keepStart) { - if (sep === ' ') sep = '\n';else if (!prevMoreIndented && !atStart && sep === '\n') sep = '\n\n'; - str += sep + line; //+ ((lineEnd < end && src[lineEnd]) || '') - - sep = lineEnd < end && src[lineEnd] || ''; - prevMoreIndented = true; - } else { - str += sep + line; - sep = folded && i < keepStart ? ' ' : '\n'; - prevMoreIndented = false; - } - - if (atStart && line !== '') atStart = false; - } - } - - return this.chomping === Chomp.STRIP ? str : str + '\n'; - } - }, { - key: "parseBlockHeader", - value: function parseBlockHeader(start) { - var src = this.context.src; - var offset = start + 1; - var bi = ''; - - while (true) { - var ch = src[offset]; - - switch (ch) { - case '-': - this.chomping = Chomp.STRIP; - break; - - case '+': - this.chomping = Chomp.KEEP; - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - bi += ch; - break; - - default: - this.blockIndent = Number(bi) || null; - this.header = new Range(start, offset); - return offset; - } - - offset += 1; - } - } - }, { - key: "parseBlockValue", - value: function parseBlockValue(start) { - var _this$context2 = this.context, - indent = _this$context2.indent, - src = _this$context2.src; - var explicit = !!this.blockIndent; - var offset = start; - var valueEnd = start; - var minBlockIndent = 1; - - for (var ch = src[offset]; ch === '\n'; ch = src[offset]) { - offset += 1; - if (Node.atDocumentBoundary(src, offset)) break; - var end = Node.endOfBlockIndent(src, indent, offset); // should not include tab? - - if (end === null) break; - var _ch2 = src[end]; - var lineIndent = end - (offset + indent); - - if (!this.blockIndent) { - // no explicit block indent, none yet detected - if (src[end] !== '\n') { - // first line with non-whitespace content - if (lineIndent < minBlockIndent) { - var msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator'; - this.error = new YAMLSemanticError(this, msg); - } - - this.blockIndent = lineIndent; - } else if (lineIndent > minBlockIndent) { - // empty line with more whitespace - minBlockIndent = lineIndent; - } - } else if (_ch2 && _ch2 !== '\n' && lineIndent < this.blockIndent) { - if (src[end] === '#') break; - - if (!this.error) { - var _src = explicit ? 'explicit indentation indicator' : 'first line'; - - var _msg = "Block scalars must not be less indented than their ".concat(_src); - - this.error = new YAMLSemanticError(this, _msg); - } - } - - if (src[end] === '\n') { - offset = end; - } else { - offset = valueEnd = Node.endOfLine(src, end); - } - } - - if (this.chomping !== Chomp.KEEP) { - offset = src[valueEnd] ? valueEnd + 1 : valueEnd; - } - - this.valueRange = new Range(start + 1, offset); - return offset; - } - /** - * Parses a block value from the source - * - * Accepted forms are: - * ``` - * BS - * block - * lines - * - * BS #comment - * block - * lines - * ``` - * where the block style BS matches the regexp `[|>][-+1-9]*` and block lines - * are empty or have an indent level greater than `indent`. - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this block - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var src = context.src; - var offset = this.parseBlockHeader(start); - offset = Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - offset = this.parseBlockValue(offset); - return offset; - } - }, { - key: "setOrigRanges", - value: function setOrigRanges(cr, offset) { - offset = _get(_getPrototypeOf(BlockValue.prototype), "setOrigRanges", this).call(this, cr, offset); - return this.header ? this.header.setOrigRange(cr, offset) : offset; - } - }]); - - return BlockValue; -}(Node); - -var FlowCollection = /*#__PURE__*/function (_Node) { - _inherits(FlowCollection, _Node); - - var _super = _createSuper(FlowCollection); - - function FlowCollection(type, props) { - var _this; - - _classCallCheck(this, FlowCollection); - - _this = _super.call(this, type, props); - _this.items = null; - return _this; - } - - _createClass(FlowCollection, [{ - key: "prevNodeIsJsonLike", - value: function prevNodeIsJsonLike() { - var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.items.length; - var node = this.items[idx - 1]; - return !!node && (node.jsonLike || node.type === Type.COMMENT && this.prevNodeIsJsonLike(idx - 1)); - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var parseNode = context.parseNode, - src = context.src; - var indent = context.indent, - lineStart = context.lineStart; - var char = src[start]; // { or [ - - this.items = [{ - char: char, - offset: start - }]; - var offset = Node.endOfWhiteSpace(src, start + 1); - char = src[offset]; - - while (char && char !== ']' && char !== '}') { - switch (char) { - case '\n': - { - lineStart = offset + 1; - var wsEnd = Node.endOfWhiteSpace(src, lineStart); - - if (src[wsEnd] === '\n') { - var blankLine = new BlankLine(); - lineStart = blankLine.parse({ - src: src - }, lineStart); - this.items.push(blankLine); - } - - offset = Node.endOfIndent(src, lineStart); - - if (offset <= lineStart + indent) { - char = src[offset]; - - if (offset < lineStart + indent || char !== ']' && char !== '}') { - var msg = 'Insufficient indentation in flow collection'; - this.error = new YAMLSemanticError(this, msg); - } - } - } - break; - - case ',': - { - this.items.push({ - char: char, - offset: offset - }); - offset += 1; - } - break; - - case '#': - { - var comment = new Comment(); - offset = comment.parse({ - src: src - }, offset); - this.items.push(comment); - } - break; - - case '?': - case ':': - { - var next = src[offset + 1]; - - if (next === '\n' || next === '\t' || next === ' ' || next === ',' || // in-flow : after JSON-like key does not need to be followed by whitespace - char === ':' && this.prevNodeIsJsonLike()) { - this.items.push({ - char: char, - offset: offset - }); - offset += 1; - break; - } - } - // fallthrough - - default: - { - var node = parseNode({ - atLineStart: false, - inCollection: false, - inFlow: true, - indent: -1, - lineStart: lineStart, - parent: this - }, offset); - - if (!node) { - // at next document start - this.valueRange = new Range(start, offset); - return offset; - } - - this.items.push(node); - offset = Node.normalizeOffset(src, node.range.end); - } - } - - offset = Node.endOfWhiteSpace(src, offset); - char = src[offset]; - } - - this.valueRange = new Range(start, offset + 1); - - if (char) { - this.items.push({ - char: char, - offset: offset - }); - offset = Node.endOfWhiteSpace(src, offset + 1); - offset = this.parseComment(offset); - } - - return offset; - } - }, { - key: "setOrigRanges", - value: function setOrigRanges(cr, offset) { - offset = _get(_getPrototypeOf(FlowCollection.prototype), "setOrigRanges", this).call(this, cr, offset); - this.items.forEach(function (node) { - if (node instanceof Node) { - offset = node.setOrigRanges(cr, offset); - } else if (cr.length === 0) { - node.origOffset = node.offset; - } else { - var i = offset; - - while (i < cr.length) { - if (cr[i] > node.offset) break;else ++i; - } - - node.origOffset = node.offset + i; - offset = i; - } - }); - return offset; - } - }, { - key: "toString", - value: function toString() { - var src = this.context.src, - items = this.items, - range = this.range, - value = this.value; - if (value != null) return value; - var nodes = items.filter(function (item) { - return item instanceof Node; - }); - var str = ''; - var prevEnd = range.start; - nodes.forEach(function (node) { - var prefix = src.slice(prevEnd, node.range.start); - prevEnd = node.range.end; - str += prefix + String(node); - - if (str[str.length - 1] === '\n' && src[prevEnd - 1] !== '\n' && src[prevEnd] === '\n') { - // Comment range does not include the terminal newline, but its - // stringified value does. Without this fix, newlines at comment ends - // get duplicated. - prevEnd += 1; - } - }); - str += src.slice(prevEnd, range.end); - return Node.addStringTerminator(src, range.end, str); - } - }]); - - return FlowCollection; -}(Node); - -var QuoteDouble = /*#__PURE__*/function (_Node) { - _inherits(QuoteDouble, _Node); - - var _super = _createSuper(QuoteDouble); - - function QuoteDouble() { - _classCallCheck(this, QuoteDouble); - - return _super.apply(this, arguments); - } - - _createClass(QuoteDouble, [{ - key: "strValue", - get: - /** - * @returns {string | { str: string, errors: YAMLSyntaxError[] }} - */ - function get() { - if (!this.valueRange || !this.context) return null; - var errors = []; - var _this$valueRange = this.valueRange, - start = _this$valueRange.start, - end = _this$valueRange.end; - var _this$context = this.context, - indent = _this$context.indent, - src = _this$context.src; - if (src[end - 1] !== '"') errors.push(new YAMLSyntaxError(this, 'Missing closing "quote')); // Using String#replace is too painful with escaped newlines preceded by - // escaped backslashes; also, this should be faster. - - var str = ''; - - for (var i = start + 1; i < end - 1; ++i) { - var ch = src[i]; - - if (ch === '\n') { - if (Node.atDocumentBoundary(src, i + 1)) errors.push(new YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values')); - - var _Node$foldNewline = Node.foldNewline(src, i, indent), - fold = _Node$foldNewline.fold, - offset = _Node$foldNewline.offset, - error = _Node$foldNewline.error; - - str += fold; - i = offset; - if (error) errors.push(new YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented')); - } else if (ch === '\\') { - i += 1; - - switch (src[i]) { - case '0': - str += '\0'; - break; - // null character - - case 'a': - str += '\x07'; - break; - // bell character - - case 'b': - str += '\b'; - break; - // backspace - - case 'e': - str += '\x1b'; - break; - // escape character - - case 'f': - str += '\f'; - break; - // form feed - - case 'n': - str += '\n'; - break; - // line feed - - case 'r': - str += '\r'; - break; - // carriage return - - case 't': - str += '\t'; - break; - // horizontal tab - - case 'v': - str += '\v'; - break; - // vertical tab - - case 'N': - str += "\x85"; - break; - // Unicode next line - - case '_': - str += "\xA0"; - break; - // Unicode non-breaking space - - case 'L': - str += "\u2028"; - break; - // Unicode line separator - - case 'P': - str += "\u2029"; - break; - // Unicode paragraph separator - - case ' ': - str += ' '; - break; - - case '"': - str += '"'; - break; - - case '/': - str += '/'; - break; - - case '\\': - str += '\\'; - break; - - case '\t': - str += '\t'; - break; - - case 'x': - str += this.parseCharCode(i + 1, 2, errors); - i += 2; - break; - - case 'u': - str += this.parseCharCode(i + 1, 4, errors); - i += 4; - break; - - case 'U': - str += this.parseCharCode(i + 1, 8, errors); - i += 8; - break; - - case '\n': - // skip escaped newlines, but still trim the following line - while (src[i + 1] === ' ' || src[i + 1] === '\t') { - i += 1; - } - - break; - - default: - errors.push(new YAMLSyntaxError(this, "Invalid escape sequence ".concat(src.substr(i - 1, 2)))); - str += '\\' + src[i]; - } - } else if (ch === ' ' || ch === '\t') { - // trim trailing whitespace - var wsStart = i; - var next = src[i + 1]; - - while (next === ' ' || next === '\t') { - i += 1; - next = src[i + 1]; - } - - if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch; - } else { - str += ch; - } - } - - return errors.length > 0 ? { - errors: errors, - str: str - } : str; - } - }, { - key: "parseCharCode", - value: function parseCharCode(offset, length, errors) { - var src = this.context.src; - var cc = src.substr(offset, length); - var ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc); - var code = ok ? parseInt(cc, 16) : NaN; - - if (isNaN(code)) { - errors.push(new YAMLSyntaxError(this, "Invalid escape sequence ".concat(src.substr(offset - 2, length + 2)))); - return src.substr(offset - 2, length + 2); - } - - return String.fromCodePoint(code); - } - /** - * Parses a "double quoted" value from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var src = context.src; - var offset = QuoteDouble.endOfQuote(src, start + 1); - this.valueRange = new Range(start, offset); - offset = Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - }], [{ - key: "endOfQuote", - value: function endOfQuote(src, offset) { - var ch = src[offset]; - - while (ch && ch !== '"') { - offset += ch === '\\' ? 2 : 1; - ch = src[offset]; - } - - return offset + 1; - } - }]); - - return QuoteDouble; -}(Node); - -var QuoteSingle = /*#__PURE__*/function (_Node) { - _inherits(QuoteSingle, _Node); - - var _super = _createSuper(QuoteSingle); - - function QuoteSingle() { - _classCallCheck(this, QuoteSingle); - - return _super.apply(this, arguments); - } - - _createClass(QuoteSingle, [{ - key: "strValue", - get: - /** - * @returns {string | { str: string, errors: YAMLSyntaxError[] }} - */ - function get() { - if (!this.valueRange || !this.context) return null; - var errors = []; - var _this$valueRange = this.valueRange, - start = _this$valueRange.start, - end = _this$valueRange.end; - var _this$context = this.context, - indent = _this$context.indent, - src = _this$context.src; - if (src[end - 1] !== "'") errors.push(new YAMLSyntaxError(this, "Missing closing 'quote")); - var str = ''; - - for (var i = start + 1; i < end - 1; ++i) { - var ch = src[i]; - - if (ch === '\n') { - if (Node.atDocumentBoundary(src, i + 1)) errors.push(new YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values')); - - var _Node$foldNewline = Node.foldNewline(src, i, indent), - fold = _Node$foldNewline.fold, - offset = _Node$foldNewline.offset, - error = _Node$foldNewline.error; - - str += fold; - i = offset; - if (error) errors.push(new YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented')); - } else if (ch === "'") { - str += ch; - i += 1; - if (src[i] !== "'") errors.push(new YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.')); - } else if (ch === ' ' || ch === '\t') { - // trim trailing whitespace - var wsStart = i; - var next = src[i + 1]; - - while (next === ' ' || next === '\t') { - i += 1; - next = src[i + 1]; - } - - if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch; - } else { - str += ch; - } - } - - return errors.length > 0 ? { - errors: errors, - str: str - } : str; - } - /** - * Parses a 'single quoted' value from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - - }, { - key: "parse", - value: function parse(context, start) { - this.context = context; - var src = context.src; - var offset = QuoteSingle.endOfQuote(src, start + 1); - this.valueRange = new Range(start, offset); - offset = Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - }], [{ - key: "endOfQuote", - value: function endOfQuote(src, offset) { - var ch = src[offset]; - - while (ch) { - if (ch === "'") { - if (src[offset + 1] !== "'") break; - ch = src[offset += 2]; - } else { - ch = src[offset += 1]; - } - } - - return offset + 1; - } - }]); - - return QuoteSingle; -}(Node); - -function createNewNode(type, props) { - switch (type) { - case Type.ALIAS: - return new Alias(type, props); - - case Type.BLOCK_FOLDED: - case Type.BLOCK_LITERAL: - return new BlockValue(type, props); - - case Type.FLOW_MAP: - case Type.FLOW_SEQ: - return new FlowCollection(type, props); - - case Type.MAP_KEY: - case Type.MAP_VALUE: - case Type.SEQ_ITEM: - return new CollectionItem(type, props); - - case Type.COMMENT: - case Type.PLAIN: - return new PlainValue(type, props); - - case Type.QUOTE_DOUBLE: - return new QuoteDouble(type, props); - - case Type.QUOTE_SINGLE: - return new QuoteSingle(type, props); - - /* istanbul ignore next */ - - default: - return null; - // should never happen - } -} -/** - * @param {boolean} atLineStart - Node starts at beginning of line - * @param {boolean} inFlow - true if currently in a flow context - * @param {boolean} inCollection - true if currently in a collection context - * @param {number} indent - Current level of indentation - * @param {number} lineStart - Start of the current line - * @param {Node} parent - The parent of the node - * @param {string} src - Source of the YAML document - */ - - -var ParseContext = /*#__PURE__*/function () { - function ParseContext() { - var _this = this; - - var orig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - atLineStart = _ref.atLineStart, - inCollection = _ref.inCollection, - inFlow = _ref.inFlow, - indent = _ref.indent, - lineStart = _ref.lineStart, - parent = _ref.parent; - - _classCallCheck(this, ParseContext); - - _defineProperty(this, "parseNode", function (overlay, start) { - if (Node.atDocumentBoundary(_this.src, start)) return null; - var context = new ParseContext(_this, overlay); - - var _context$parseProps = context.parseProps(start), - props = _context$parseProps.props, - type = _context$parseProps.type, - valueStart = _context$parseProps.valueStart; - - var node = createNewNode(type, props); - var offset = node.parse(context, valueStart); - node.range = new Range(start, offset); - /* istanbul ignore if */ - - if (offset <= start) { - // This should never happen, but if it does, let's make sure to at least - // step one character forward to avoid a busy loop. - node.error = new Error("Node#parse consumed no characters"); - node.error.parseEnd = offset; - node.error.source = node; - node.range.end = start + 1; - } - - if (context.nodeStartsCollection(node)) { - if (!node.error && !context.atLineStart && context.parent.type === Type.DOCUMENT) { - node.error = new YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)'); - } - - var collection = new Collection(node); - offset = collection.parse(new ParseContext(context), offset); - collection.range = new Range(start, offset); - return collection; - } - - return node; - }); - - this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false; - this.inCollection = inCollection != null ? inCollection : orig.inCollection || false; - this.inFlow = inFlow != null ? inFlow : orig.inFlow || false; - this.indent = indent != null ? indent : orig.indent; - this.lineStart = lineStart != null ? lineStart : orig.lineStart; - this.parent = parent != null ? parent : orig.parent || {}; - this.root = orig.root; - this.src = orig.src; - } - - _createClass(ParseContext, [{ - key: "nodeStartsCollection", - value: function nodeStartsCollection(node) { - var inCollection = this.inCollection, - inFlow = this.inFlow, - src = this.src; - if (inCollection || inFlow) return false; - if (node instanceof CollectionItem) return true; // check for implicit key - - var offset = node.range.end; - if (src[offset] === '\n' || src[offset - 1] === '\n') return false; - offset = Node.endOfWhiteSpace(src, offset); - return src[offset] === ':'; - } // Anchor and tag are before type, which determines the node implementation - // class; hence this intermediate step. - - }, { - key: "parseProps", - value: function parseProps(offset) { - var inFlow = this.inFlow, - parent = this.parent, - src = this.src; - var props = []; - var lineHasProps = false; - offset = this.atLineStart ? Node.endOfIndent(src, offset) : Node.endOfWhiteSpace(src, offset); - var ch = src[offset]; - - while (ch === Char.ANCHOR || ch === Char.COMMENT || ch === Char.TAG || ch === '\n') { - if (ch === '\n') { - var inEnd = offset; - var lineStart = void 0; - - do { - lineStart = inEnd + 1; - inEnd = Node.endOfIndent(src, lineStart); - } while (src[inEnd] === '\n'); - - var indentDiff = inEnd - (lineStart + this.indent); - var noIndicatorAsIndent = parent.type === Type.SEQ_ITEM && parent.context.atLineStart; - if (src[inEnd] !== '#' && !Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break; - this.atLineStart = true; - this.lineStart = lineStart; - lineHasProps = false; - offset = inEnd; - } else if (ch === Char.COMMENT) { - var end = Node.endOfLine(src, offset + 1); - props.push(new Range(offset, end)); - offset = end; - } else { - var _end = Node.endOfIdentifier(src, offset + 1); - - if (ch === Char.TAG && src[_end] === ',' && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, _end + 13))) { - // Let's presume we're dealing with a YAML 1.0 domain tag here, rather - // than an empty but 'foo.bar' private-tagged node in a flow collection - // followed without whitespace by a plain string starting with a year - // or date divided by something. - _end = Node.endOfIdentifier(src, _end + 5); - } - - props.push(new Range(offset, _end)); - lineHasProps = true; - offset = Node.endOfWhiteSpace(src, _end); - } - - ch = src[offset]; - } // '- &a : b' has an anchor on an empty node - - - if (lineHasProps && ch === ':' && Node.atBlank(src, offset + 1, true)) offset -= 1; - var type = ParseContext.parseType(src, offset, inFlow); - return { - props: props, - type: type, - valueStart: offset - }; - } - /** - * Parses a node from the source - * @param {ParseContext} overlay - * @param {number} start - Index of first non-whitespace character for the node - * @returns {?Node} - null if at a document boundary - */ - - }], [{ - key: "parseType", - value: function parseType(src, offset, inFlow) { - switch (src[offset]) { - case '*': - return Type.ALIAS; - - case '>': - return Type.BLOCK_FOLDED; - - case '|': - return Type.BLOCK_LITERAL; - - case '{': - return Type.FLOW_MAP; - - case '[': - return Type.FLOW_SEQ; - - case '?': - return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.MAP_KEY : Type.PLAIN; - - case ':': - return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.MAP_VALUE : Type.PLAIN; - - case '-': - return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.SEQ_ITEM : Type.PLAIN; - - case '"': - return Type.QUOTE_DOUBLE; - - case "'": - return Type.QUOTE_SINGLE; - - default: - return Type.PLAIN; - } - } - }]); - - return ParseContext; -}(); - -// Published as 'yaml/parse-cst' -function parse(src) { - var cr = []; - - if (src.indexOf('\r') !== -1) { - src = src.replace(/\r\n?/g, function (match, offset) { - if (match.length > 1) cr.push(offset); - return '\n'; - }); - } - - var documents = []; - var offset = 0; - - do { - var doc = new Document(); - var context = new ParseContext({ - src: src - }); - offset = doc.parse(context, offset); - documents.push(doc); - } while (offset < src.length); - - documents.setOrigRanges = function () { - if (cr.length === 0) return false; - - for (var i = 1; i < cr.length; ++i) { - cr[i] -= i; - } - - var crOffset = 0; - - for (var _i = 0; _i < documents.length; ++_i) { - crOffset = documents[_i].setOrigRanges(cr, crOffset); - } - - cr.splice(0, cr.length); - return true; - }; - - documents.toString = function () { - return documents.join('...\n'); - }; - - return documents; -} - -export { parse }; diff --git a/node_modules/yaml/browser/dist/resolveSeq-492ab440.js b/node_modules/yaml/browser/dist/resolveSeq-492ab440.js deleted file mode 100644 index 50c7c19602..0000000000 --- a/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +++ /dev/null @@ -1,2419 +0,0 @@ -import { c as _classCallCheck, j as _inherits, k as _createSuper, b as _createClass, e as _defineProperty, p as _assertThisInitialized, a as _typeof, q as _toArray, T as Type, _ as _createForOfIteratorHelper, l as _get, m as _getPrototypeOf, o as YAMLReferenceError, r as _possibleConstructorReturn, h as _slicedToArray, g as YAMLSemanticError, n as defaultTags, f as YAMLWarning, C as Char, Y as YAMLSyntaxError, P as PlainValue } from './PlainValue-b8036b75.js'; - -function addCommentBefore(str, indent, comment) { - if (!comment) return str; - var cc = comment.replace(/[\s\S]^/gm, "$&".concat(indent, "#")); - return "#".concat(cc, "\n").concat(indent).concat(str); -} -function addComment(str, indent, comment) { - return !comment ? str : comment.indexOf('\n') === -1 ? "".concat(str, " #").concat(comment) : "".concat(str, "\n") + comment.replace(/^/gm, "".concat(indent || '', "#")); -} - -var Node = function Node() { - _classCallCheck(this, Node); -}; - -function toJSON(value, arg, ctx) { - if (Array.isArray(value)) return value.map(function (v, i) { - return toJSON(v, String(i), ctx); - }); - - if (value && typeof value.toJSON === 'function') { - var anchor = ctx && ctx.anchors && ctx.anchors.get(value); - if (anchor) ctx.onCreate = function (res) { - anchor.res = res; - delete ctx.onCreate; - }; - var res = value.toJSON(arg, ctx); - if (anchor && ctx.onCreate) ctx.onCreate(res); - return res; - } - - if ((!ctx || !ctx.keep) && typeof value === 'bigint') return Number(value); - return value; -} - -var Scalar = /*#__PURE__*/function (_Node) { - _inherits(Scalar, _Node); - - var _super = _createSuper(Scalar); - - function Scalar(value) { - var _this; - - _classCallCheck(this, Scalar); - - _this = _super.call(this); - _this.value = value; - return _this; - } - - _createClass(Scalar, [{ - key: "toJSON", - value: function toJSON$1(arg, ctx) { - return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx); - } - }, { - key: "toString", - value: function toString() { - return String(this.value); - } - }]); - - return Scalar; -}(Node); - -function collectionFromPath(schema, path, value) { - var v = value; - - for (var i = path.length - 1; i >= 0; --i) { - var k = path[i]; - - if (Number.isInteger(k) && k >= 0) { - var a = []; - a[k] = v; - v = a; - } else { - var o = {}; - Object.defineProperty(o, k, { - value: v, - writable: true, - enumerable: true, - configurable: true - }); - v = o; - } - } - - return schema.createNode(v, false); -} // null, undefined, or an empty non-string iterable (e.g. []) - - -var isEmptyPath = function isEmptyPath(path) { - return path == null || _typeof(path) === 'object' && path[Symbol.iterator]().next().done; -}; -var Collection = /*#__PURE__*/function (_Node) { - _inherits(Collection, _Node); - - var _super = _createSuper(Collection); - - function Collection(schema) { - var _this; - - _classCallCheck(this, Collection); - - _this = _super.call(this); - - _defineProperty(_assertThisInitialized(_this), "items", []); - - _this.schema = schema; - return _this; - } - - _createClass(Collection, [{ - key: "addIn", - value: function addIn(path, value) { - if (isEmptyPath(path)) this.add(value);else { - var _path = _toArray(path), - key = _path[0], - rest = _path.slice(1); - - var node = this.get(key, true); - if (node instanceof Collection) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error("Expected YAML collection at ".concat(key, ". Remaining path: ").concat(rest)); - } - } - }, { - key: "deleteIn", - value: function deleteIn(_ref) { - var _ref2 = _toArray(_ref), - key = _ref2[0], - rest = _ref2.slice(1); - - if (rest.length === 0) return this.delete(key); - var node = this.get(key, true); - if (node instanceof Collection) return node.deleteIn(rest);else throw new Error("Expected YAML collection at ".concat(key, ". Remaining path: ").concat(rest)); - } - }, { - key: "getIn", - value: function getIn(_ref3, keepScalar) { - var _ref4 = _toArray(_ref3), - key = _ref4[0], - rest = _ref4.slice(1); - - var node = this.get(key, true); - if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection ? node.getIn(rest, keepScalar) : undefined; - } - }, { - key: "hasAllNullValues", - value: function hasAllNullValues() { - return this.items.every(function (node) { - if (!node || node.type !== 'PAIR') return false; - var n = node.value; - return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag; - }); - } - }, { - key: "hasIn", - value: function hasIn(_ref5) { - var _ref6 = _toArray(_ref5), - key = _ref6[0], - rest = _ref6.slice(1); - - if (rest.length === 0) return this.has(key); - var node = this.get(key, true); - return node instanceof Collection ? node.hasIn(rest) : false; - } - }, { - key: "setIn", - value: function setIn(_ref7, value) { - var _ref8 = _toArray(_ref7), - key = _ref8[0], - rest = _ref8.slice(1); - - if (rest.length === 0) { - this.set(key, value); - } else { - var node = this.get(key, true); - if (node instanceof Collection) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error("Expected YAML collection at ".concat(key, ". Remaining path: ").concat(rest)); - } - } // overridden in implementations - - /* istanbul ignore next */ - - }, { - key: "toJSON", - value: function toJSON() { - return null; - } - }, { - key: "toString", - value: function toString(ctx, _ref9, onComment, onChompKeep) { - var _this2 = this; - - var blockItem = _ref9.blockItem, - flowChars = _ref9.flowChars, - isMap = _ref9.isMap, - itemIndent = _ref9.itemIndent; - var _ctx = ctx, - indent = _ctx.indent, - indentStep = _ctx.indentStep, - stringify = _ctx.stringify; - var inFlow = this.type === Type.FLOW_MAP || this.type === Type.FLOW_SEQ || ctx.inFlow; - if (inFlow) itemIndent += indentStep; - var allNullValues = isMap && this.hasAllNullValues(); - ctx = Object.assign({}, ctx, { - allNullValues: allNullValues, - indent: itemIndent, - inFlow: inFlow, - type: null - }); - var chompKeep = false; - var hasItemWithNewLine = false; - var nodes = this.items.reduce(function (nodes, item, i) { - var comment; - - if (item) { - if (!chompKeep && item.spaceBefore) nodes.push({ - type: 'comment', - str: '' - }); - if (item.commentBefore) item.commentBefore.match(/^.*$/gm).forEach(function (line) { - nodes.push({ - type: 'comment', - str: "#".concat(line) - }); - }); - if (item.comment) comment = item.comment; - if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) hasItemWithNewLine = true; - } - - chompKeep = false; - var str = stringify(item, ctx, function () { - return comment = null; - }, function () { - return chompKeep = true; - }); - if (inFlow && !hasItemWithNewLine && str.includes('\n')) hasItemWithNewLine = true; - if (inFlow && i < _this2.items.length - 1) str += ','; - str = addComment(str, itemIndent, comment); - if (chompKeep && (comment || inFlow)) chompKeep = false; - nodes.push({ - type: 'item', - str: str - }); - return nodes; - }, []); - var str; - - if (nodes.length === 0) { - str = flowChars.start + flowChars.end; - } else if (inFlow) { - var start = flowChars.start, - end = flowChars.end; - var strings = nodes.map(function (n) { - return n.str; - }); - - if (hasItemWithNewLine || strings.reduce(function (sum, str) { - return sum + str.length + 2; - }, 2) > Collection.maxFlowStringSingleLineLength) { - str = start; - - var _iterator = _createForOfIteratorHelper(strings), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var s = _step.value; - str += s ? "\n".concat(indentStep).concat(indent).concat(s) : '\n'; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - str += "\n".concat(indent).concat(end); - } else { - str = "".concat(start, " ").concat(strings.join(' '), " ").concat(end); - } - } else { - var _strings = nodes.map(blockItem); - - str = _strings.shift(); - - var _iterator2 = _createForOfIteratorHelper(_strings), - _step2; - - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - var _s = _step2.value; - str += _s ? "\n".concat(indent).concat(_s) : '\n'; - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - } - - if (this.comment) { - str += '\n' + this.comment.replace(/^/gm, "".concat(indent, "#")); - if (onComment) onComment(); - } else if (chompKeep && onChompKeep) onChompKeep(); - - return str; - } - }]); - - return Collection; -}(Node); - -_defineProperty(Collection, "maxFlowStringSingleLineLength", 60); - -function asItemIndex(key) { - var idx = key instanceof Scalar ? key.value : key; - if (idx && typeof idx === 'string') idx = Number(idx); - return Number.isInteger(idx) && idx >= 0 ? idx : null; -} - -var YAMLSeq = /*#__PURE__*/function (_Collection) { - _inherits(YAMLSeq, _Collection); - - var _super = _createSuper(YAMLSeq); - - function YAMLSeq() { - _classCallCheck(this, YAMLSeq); - - return _super.apply(this, arguments); - } - - _createClass(YAMLSeq, [{ - key: "add", - value: function add(value) { - this.items.push(value); - } - }, { - key: "delete", - value: function _delete(key) { - var idx = asItemIndex(key); - if (typeof idx !== 'number') return false; - var del = this.items.splice(idx, 1); - return del.length > 0; - } - }, { - key: "get", - value: function get(key, keepScalar) { - var idx = asItemIndex(key); - if (typeof idx !== 'number') return undefined; - var it = this.items[idx]; - return !keepScalar && it instanceof Scalar ? it.value : it; - } - }, { - key: "has", - value: function has(key) { - var idx = asItemIndex(key); - return typeof idx === 'number' && idx < this.items.length; - } - }, { - key: "set", - value: function set(key, value) { - var idx = asItemIndex(key); - if (typeof idx !== 'number') throw new Error("Expected a valid index, not ".concat(key, ".")); - this.items[idx] = value; - } - }, { - key: "toJSON", - value: function toJSON$1(_, ctx) { - var seq = []; - if (ctx && ctx.onCreate) ctx.onCreate(seq); - var i = 0; - - var _iterator = _createForOfIteratorHelper(this.items), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var item = _step.value; - seq.push(toJSON(item, String(i++), ctx)); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return seq; - } - }, { - key: "toString", - value: function toString(ctx, onComment, onChompKeep) { - if (!ctx) return JSON.stringify(this); - return _get(_getPrototypeOf(YAMLSeq.prototype), "toString", this).call(this, ctx, { - blockItem: function blockItem(n) { - return n.type === 'comment' ? n.str : "- ".concat(n.str); - }, - flowChars: { - start: '[', - end: ']' - }, - isMap: false, - itemIndent: (ctx.indent || '') + ' ' - }, onComment, onChompKeep); - } - }]); - - return YAMLSeq; -}(Collection); - -var stringifyKey = function stringifyKey(key, jsKey, ctx) { - if (jsKey === null) return ''; - if (_typeof(jsKey) !== 'object') return String(jsKey); - if (key instanceof Node && ctx && ctx.doc) return key.toString({ - anchors: Object.create(null), - doc: ctx.doc, - indent: '', - indentStep: ctx.indentStep, - inFlow: true, - inStringifyKey: true, - stringify: ctx.stringify - }); - return JSON.stringify(jsKey); -}; - -var Pair = /*#__PURE__*/function (_Node) { - _inherits(Pair, _Node); - - var _super = _createSuper(Pair); - - function Pair(key) { - var _this; - - var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - - _classCallCheck(this, Pair); - - _this = _super.call(this); - _this.key = key; - _this.value = value; - _this.type = Pair.Type.PAIR; - return _this; - } - - _createClass(Pair, [{ - key: "commentBefore", - get: function get() { - return this.key instanceof Node ? this.key.commentBefore : undefined; - }, - set: function set(cb) { - if (this.key == null) this.key = new Scalar(null); - if (this.key instanceof Node) this.key.commentBefore = cb;else { - var msg = 'Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.'; - throw new Error(msg); - } - } - }, { - key: "addToJSMap", - value: function addToJSMap(ctx, map) { - var key = toJSON(this.key, '', ctx); - - if (map instanceof Map) { - var value = toJSON(this.value, key, ctx); - map.set(key, value); - } else if (map instanceof Set) { - map.add(key); - } else { - var stringKey = stringifyKey(this.key, key, ctx); - - var _value = toJSON(this.value, stringKey, ctx); - - if (stringKey in map) Object.defineProperty(map, stringKey, { - value: _value, - writable: true, - enumerable: true, - configurable: true - });else map[stringKey] = _value; - } - - return map; - } - }, { - key: "toJSON", - value: function toJSON(_, ctx) { - var pair = ctx && ctx.mapAsMap ? new Map() : {}; - return this.addToJSMap(ctx, pair); - } - }, { - key: "toString", - value: function toString(ctx, onComment, onChompKeep) { - if (!ctx || !ctx.doc) return JSON.stringify(this); - var _ctx$doc$options = ctx.doc.options, - indentSize = _ctx$doc$options.indent, - indentSeq = _ctx$doc$options.indentSeq, - simpleKeys = _ctx$doc$options.simpleKeys; - var key = this.key, - value = this.value; - var keyComment = key instanceof Node && key.comment; - - if (simpleKeys) { - if (keyComment) { - throw new Error('With simple keys, key nodes cannot have comments'); - } - - if (key instanceof Collection) { - var msg = 'With simple keys, collection cannot be used as a key value'; - throw new Error(msg); - } - } - - var explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node ? key instanceof Collection || key.type === Type.BLOCK_FOLDED || key.type === Type.BLOCK_LITERAL : _typeof(key) === 'object')); - var _ctx = ctx, - doc = _ctx.doc, - indent = _ctx.indent, - indentStep = _ctx.indentStep, - stringify = _ctx.stringify; - ctx = Object.assign({}, ctx, { - implicitKey: !explicitKey, - indent: indent + indentStep - }); - var chompKeep = false; - var str = stringify(key, ctx, function () { - return keyComment = null; - }, function () { - return chompKeep = true; - }); - str = addComment(str, ctx.indent, keyComment); - - if (!explicitKey && str.length > 1024) { - if (simpleKeys) throw new Error('With simple keys, single line scalar must not span more than 1024 characters'); - explicitKey = true; - } - - if (ctx.allNullValues && !simpleKeys) { - if (this.comment) { - str = addComment(str, ctx.indent, this.comment); - if (onComment) onComment(); - } else if (chompKeep && !keyComment && onChompKeep) onChompKeep(); - - return ctx.inFlow && !explicitKey ? str : "? ".concat(str); - } - - str = explicitKey ? "? ".concat(str, "\n").concat(indent, ":") : "".concat(str, ":"); - - if (this.comment) { - // expected (but not strictly required) to be a single-line comment - str = addComment(str, ctx.indent, this.comment); - if (onComment) onComment(); - } - - var vcb = ''; - var valueComment = null; - - if (value instanceof Node) { - if (value.spaceBefore) vcb = '\n'; - - if (value.commentBefore) { - var cs = value.commentBefore.replace(/^/gm, "".concat(ctx.indent, "#")); - vcb += "\n".concat(cs); - } - - valueComment = value.comment; - } else if (value && _typeof(value) === 'object') { - value = doc.schema.createNode(value, true); - } - - ctx.implicitKey = false; - if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1; - chompKeep = false; - - if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) { - // If indentSeq === false, consider '- ' as part of indentation where possible - ctx.indent = ctx.indent.substr(2); - } - - var valueStr = stringify(value, ctx, function () { - return valueComment = null; - }, function () { - return chompKeep = true; - }); - var ws = ' '; - - if (vcb || this.comment) { - ws = "".concat(vcb, "\n").concat(ctx.indent); - } else if (!explicitKey && value instanceof Collection) { - var flow = valueStr[0] === '[' || valueStr[0] === '{'; - if (!flow || valueStr.includes('\n')) ws = "\n".concat(ctx.indent); - } else if (valueStr[0] === '\n') ws = ''; - - if (chompKeep && !valueComment && onChompKeep) onChompKeep(); - return addComment(str + ws + valueStr, ctx.indent, valueComment); - } - }]); - - return Pair; -}(Node); - -_defineProperty(Pair, "Type", { - PAIR: 'PAIR', - MERGE_PAIR: 'MERGE_PAIR' -}); - -var getAliasCount = function getAliasCount(node, anchors) { - if (node instanceof Alias) { - var anchor = anchors.get(node.source); - return anchor.count * anchor.aliasCount; - } else if (node instanceof Collection) { - var count = 0; - - var _iterator = _createForOfIteratorHelper(node.items), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var item = _step.value; - var c = getAliasCount(item, anchors); - if (c > count) count = c; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return count; - } else if (node instanceof Pair) { - var kc = getAliasCount(node.key, anchors); - var vc = getAliasCount(node.value, anchors); - return Math.max(kc, vc); - } - - return 1; -}; - -var Alias = /*#__PURE__*/function (_Node) { - _inherits(Alias, _Node); - - var _super = _createSuper(Alias); - - function Alias(source) { - var _this; - - _classCallCheck(this, Alias); - - _this = _super.call(this); - _this.source = source; - _this.type = Type.ALIAS; - return _this; - } - - _createClass(Alias, [{ - key: "tag", - set: function set(t) { - throw new Error('Alias nodes cannot have tags'); - } - }, { - key: "toJSON", - value: function toJSON$1(arg, ctx) { - if (!ctx) return toJSON(this.source, arg, ctx); - var anchors = ctx.anchors, - maxAliasCount = ctx.maxAliasCount; - var anchor = anchors.get(this.source); - /* istanbul ignore if */ - - if (!anchor || anchor.res === undefined) { - var msg = 'This should not happen: Alias anchor was not resolved?'; - if (this.cstNode) throw new YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg); - } - - if (maxAliasCount >= 0) { - anchor.count += 1; - if (anchor.aliasCount === 0) anchor.aliasCount = getAliasCount(this.source, anchors); - - if (anchor.count * anchor.aliasCount > maxAliasCount) { - var _msg = 'Excessive alias count indicates a resource exhaustion attack'; - if (this.cstNode) throw new YAMLReferenceError(this.cstNode, _msg);else throw new ReferenceError(_msg); - } - } - - return anchor.res; - } // Only called when stringifying an alias mapping key while constructing - // Object output. - - }, { - key: "toString", - value: function toString(ctx) { - return Alias.stringify(this, ctx); - } - }], [{ - key: "stringify", - value: function stringify(_ref, _ref2) { - var range = _ref.range, - source = _ref.source; - var anchors = _ref2.anchors, - doc = _ref2.doc, - implicitKey = _ref2.implicitKey, - inStringifyKey = _ref2.inStringifyKey; - var anchor = Object.keys(anchors).find(function (a) { - return anchors[a] === source; - }); - if (!anchor && inStringifyKey) anchor = doc.anchors.getName(source) || doc.anchors.newName(); - if (anchor) return "*".concat(anchor).concat(implicitKey ? ' ' : ''); - var msg = doc.anchors.getName(source) ? 'Alias node must be after source node' : 'Source node not found for alias node'; - throw new Error("".concat(msg, " [").concat(range, "]")); - } - }]); - - return Alias; -}(Node); - -_defineProperty(Alias, "default", true); - -function findPair(items, key) { - var k = key instanceof Scalar ? key.value : key; - - var _iterator = _createForOfIteratorHelper(items), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var it = _step.value; - - if (it instanceof Pair) { - if (it.key === key || it.key === k) return it; - if (it.key && it.key.value === k) return it; - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return undefined; -} -var YAMLMap = /*#__PURE__*/function (_Collection) { - _inherits(YAMLMap, _Collection); - - var _super = _createSuper(YAMLMap); - - function YAMLMap() { - _classCallCheck(this, YAMLMap); - - return _super.apply(this, arguments); - } - - _createClass(YAMLMap, [{ - key: "add", - value: function add(pair, overwrite) { - if (!pair) pair = new Pair(pair);else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value); - var prev = findPair(this.items, pair.key); - var sortEntries = this.schema && this.schema.sortMapEntries; - - if (prev) { - if (overwrite) prev.value = pair.value;else throw new Error("Key ".concat(pair.key, " already set")); - } else if (sortEntries) { - var i = this.items.findIndex(function (item) { - return sortEntries(pair, item) < 0; - }); - if (i === -1) this.items.push(pair);else this.items.splice(i, 0, pair); - } else { - this.items.push(pair); - } - } - }, { - key: "delete", - value: function _delete(key) { - var it = findPair(this.items, key); - if (!it) return false; - var del = this.items.splice(this.items.indexOf(it), 1); - return del.length > 0; - } - }, { - key: "get", - value: function get(key, keepScalar) { - var it = findPair(this.items, key); - var node = it && it.value; - return !keepScalar && node instanceof Scalar ? node.value : node; - } - }, { - key: "has", - value: function has(key) { - return !!findPair(this.items, key); - } - }, { - key: "set", - value: function set(key, value) { - this.add(new Pair(key, value), true); - } - /** - * @param {*} arg ignored - * @param {*} ctx Conversion context, originally set in Document#toJSON() - * @param {Class} Type If set, forces the returned collection type - * @returns {*} Instance of Type, Map, or Object - */ - - }, { - key: "toJSON", - value: function toJSON(_, ctx, Type) { - var map = Type ? new Type() : ctx && ctx.mapAsMap ? new Map() : {}; - if (ctx && ctx.onCreate) ctx.onCreate(map); - - var _iterator2 = _createForOfIteratorHelper(this.items), - _step2; - - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - var item = _step2.value; - item.addToJSMap(ctx, map); - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - - return map; - } - }, { - key: "toString", - value: function toString(ctx, onComment, onChompKeep) { - if (!ctx) return JSON.stringify(this); - - var _iterator3 = _createForOfIteratorHelper(this.items), - _step3; - - try { - for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { - var item = _step3.value; - if (!(item instanceof Pair)) throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(item), " instead")); - } - } catch (err) { - _iterator3.e(err); - } finally { - _iterator3.f(); - } - - return _get(_getPrototypeOf(YAMLMap.prototype), "toString", this).call(this, ctx, { - blockItem: function blockItem(n) { - return n.str; - }, - flowChars: { - start: '{', - end: '}' - }, - isMap: true, - itemIndent: ctx.indent || '' - }, onComment, onChompKeep); - } - }]); - - return YAMLMap; -}(Collection); - -var MERGE_KEY = '<<'; -var Merge = /*#__PURE__*/function (_Pair) { - _inherits(Merge, _Pair); - - var _super = _createSuper(Merge); - - function Merge(pair) { - var _this; - - _classCallCheck(this, Merge); - - if (pair instanceof Pair) { - var seq = pair.value; - - if (!(seq instanceof YAMLSeq)) { - seq = new YAMLSeq(); - seq.items.push(pair.value); - seq.range = pair.value.range; - } - - _this = _super.call(this, pair.key, seq); - _this.range = pair.range; - } else { - _this = _super.call(this, new Scalar(MERGE_KEY), new YAMLSeq()); - } - - _this.type = Pair.Type.MERGE_PAIR; - return _possibleConstructorReturn(_this); - } // If the value associated with a merge key is a single mapping node, each of - // its key/value pairs is inserted into the current mapping, unless the key - // already exists in it. If the value associated with the merge key is a - // sequence, then this sequence is expected to contain mapping nodes and each - // of these nodes is merged in turn according to its order in the sequence. - // Keys in mapping nodes earlier in the sequence override keys specified in - // later mapping nodes. -- http://yaml.org/type/merge.html - - - _createClass(Merge, [{ - key: "addToJSMap", - value: function addToJSMap(ctx, map) { - var _iterator = _createForOfIteratorHelper(this.value.items), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var source = _step.value.source; - if (!(source instanceof YAMLMap)) throw new Error('Merge sources must be maps'); - var srcMap = source.toJSON(null, ctx, Map); - - var _iterator2 = _createForOfIteratorHelper(srcMap), - _step2; - - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - var _step2$value = _slicedToArray(_step2.value, 2), - key = _step2$value[0], - value = _step2$value[1]; - - if (map instanceof Map) { - if (!map.has(key)) map.set(key, value); - } else if (map instanceof Set) { - map.add(key); - } else if (!Object.prototype.hasOwnProperty.call(map, key)) { - Object.defineProperty(map, key, { - value: value, - writable: true, - enumerable: true, - configurable: true - }); - } - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return map; - } - }, { - key: "toString", - value: function toString(ctx, onComment) { - var seq = this.value; - if (seq.items.length > 1) return _get(_getPrototypeOf(Merge.prototype), "toString", this).call(this, ctx, onComment); - this.value = seq.items[0]; - - var str = _get(_getPrototypeOf(Merge.prototype), "toString", this).call(this, ctx, onComment); - - this.value = seq; - return str; - } - }]); - - return Merge; -}(Pair); - -var binaryOptions = { - defaultType: Type.BLOCK_LITERAL, - lineWidth: 76 -}; -var boolOptions = { - trueStr: 'true', - falseStr: 'false' -}; -var intOptions = { - asBigInt: false -}; -var nullOptions = { - nullStr: 'null' -}; -var strOptions = { - defaultType: Type.PLAIN, - doubleQuoted: { - jsonEncoding: false, - minMultiLineLength: 40 - }, - fold: { - lineWidth: 80, - minContentWidth: 20 - } -}; - -function resolveScalar(str, tags, scalarFallback) { - var _iterator = _createForOfIteratorHelper(tags), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var _step$value = _step.value, - format = _step$value.format, - test = _step$value.test, - resolve = _step$value.resolve; - - if (test) { - var match = str.match(test); - - if (match) { - var res = resolve.apply(null, match); - if (!(res instanceof Scalar)) res = new Scalar(res); - if (format) res.format = format; - return res; - } - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - if (scalarFallback) str = scalarFallback(str); - return new Scalar(str); -} - -var FOLD_FLOW = 'flow'; -var FOLD_BLOCK = 'block'; -var FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line -// returns index of last newline in more-indented block - -var consumeMoreIndentedLines = function consumeMoreIndentedLines(text, i) { - var ch = text[i + 1]; - - while (ch === ' ' || ch === '\t') { - do { - ch = text[i += 1]; - } while (ch && ch !== '\n'); - - ch = text[i + 1]; - } - - return i; -}; -/** - * Tries to keep input at up to `lineWidth` characters, splitting only on spaces - * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are - * terminated with `\n` and started with `indent`. - * - * @param {string} text - * @param {string} indent - * @param {string} [mode='flow'] `'block'` prevents more-indented lines - * from being folded; `'quoted'` allows for `\` escapes, including escaped - * newlines - * @param {Object} options - * @param {number} [options.indentAtStart] Accounts for leading contents on - * the first line, defaulting to `indent.length` - * @param {number} [options.lineWidth=80] - * @param {number} [options.minContentWidth=20] Allow highly indented lines to - * stretch the line width or indent content from the start - * @param {function} options.onFold Called once if the text is folded - * @param {function} options.onFold Called once if any line of text exceeds - * lineWidth characters - */ - - -function foldFlowLines(text, indent, mode, _ref) { - var indentAtStart = _ref.indentAtStart, - _ref$lineWidth = _ref.lineWidth, - lineWidth = _ref$lineWidth === void 0 ? 80 : _ref$lineWidth, - _ref$minContentWidth = _ref.minContentWidth, - minContentWidth = _ref$minContentWidth === void 0 ? 20 : _ref$minContentWidth, - onFold = _ref.onFold, - onOverflow = _ref.onOverflow; - if (!lineWidth || lineWidth < 0) return text; - var endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length); - if (text.length <= endStep) return text; - var folds = []; - var escapedFolds = {}; - var end = lineWidth - indent.length; - - if (typeof indentAtStart === 'number') { - if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) folds.push(0);else end = lineWidth - indentAtStart; - } - - var split = undefined; - var prev = undefined; - var overflow = false; - var i = -1; - var escStart = -1; - var escEnd = -1; - - if (mode === FOLD_BLOCK) { - i = consumeMoreIndentedLines(text, i); - if (i !== -1) end = i + endStep; - } - - for (var ch; ch = text[i += 1];) { - if (mode === FOLD_QUOTED && ch === '\\') { - escStart = i; - - switch (text[i + 1]) { - case 'x': - i += 3; - break; - - case 'u': - i += 5; - break; - - case 'U': - i += 9; - break; - - default: - i += 1; - } - - escEnd = i; - } - - if (ch === '\n') { - if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i); - end = i + endStep; - split = undefined; - } else { - if (ch === ' ' && prev && prev !== ' ' && prev !== '\n' && prev !== '\t') { - // space surrounded by non-space can be replaced with newline + indent - var next = text[i + 1]; - if (next && next !== ' ' && next !== '\n' && next !== '\t') split = i; - } - - if (i >= end) { - if (split) { - folds.push(split); - end = split + endStep; - split = undefined; - } else if (mode === FOLD_QUOTED) { - // white-space collected at end may stretch past lineWidth - while (prev === ' ' || prev === '\t') { - prev = ch; - ch = text[i += 1]; - overflow = true; - } // Account for newline escape, but don't break preceding escape - - - var j = i > escEnd + 1 ? i - 2 : escStart - 1; // Bail out if lineWidth & minContentWidth are shorter than an escape string - - if (escapedFolds[j]) return text; - folds.push(j); - escapedFolds[j] = true; - end = j + endStep; - split = undefined; - } else { - overflow = true; - } - } - } - - prev = ch; - } - - if (overflow && onOverflow) onOverflow(); - if (folds.length === 0) return text; - if (onFold) onFold(); - var res = text.slice(0, folds[0]); - - for (var _i = 0; _i < folds.length; ++_i) { - var fold = folds[_i]; - - var _end = folds[_i + 1] || text.length; - - if (fold === 0) res = "\n".concat(indent).concat(text.slice(0, _end));else { - if (mode === FOLD_QUOTED && escapedFolds[fold]) res += "".concat(text[fold], "\\"); - res += "\n".concat(indent).concat(text.slice(fold + 1, _end)); - } - } - - return res; -} - -var getFoldOptions = function getFoldOptions(_ref) { - var indentAtStart = _ref.indentAtStart; - return indentAtStart ? Object.assign({ - indentAtStart: indentAtStart - }, strOptions.fold) : strOptions.fold; -}; // Also checks for lines starting with %, as parsing the output as YAML 1.1 will -// presume that's starting a new document. - - -var containsDocumentMarker = function containsDocumentMarker(str) { - return /^(%|---|\.\.\.)/m.test(str); -}; - -function lineLengthOverLimit(str, lineWidth, indentLength) { - if (!lineWidth || lineWidth < 0) return false; - var limit = lineWidth - indentLength; - var strLen = str.length; - if (strLen <= limit) return false; - - for (var i = 0, start = 0; i < strLen; ++i) { - if (str[i] === '\n') { - if (i - start > limit) return true; - start = i + 1; - if (strLen - start <= limit) return false; - } - } - - return true; -} - -function doubleQuotedString(value, ctx) { - var implicitKey = ctx.implicitKey; - var _strOptions$doubleQuo = strOptions.doubleQuoted, - jsonEncoding = _strOptions$doubleQuo.jsonEncoding, - minMultiLineLength = _strOptions$doubleQuo.minMultiLineLength; - var json = JSON.stringify(value); - if (jsonEncoding) return json; - var indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : ''); - var str = ''; - var start = 0; - - for (var i = 0, ch = json[i]; ch; ch = json[++i]) { - if (ch === ' ' && json[i + 1] === '\\' && json[i + 2] === 'n') { - // space before newline needs to be escaped to not be folded - str += json.slice(start, i) + '\\ '; - i += 1; - start = i; - ch = '\\'; - } - - if (ch === '\\') switch (json[i + 1]) { - case 'u': - { - str += json.slice(start, i); - var code = json.substr(i + 2, 4); - - switch (code) { - case '0000': - str += '\\0'; - break; - - case '0007': - str += '\\a'; - break; - - case '000b': - str += '\\v'; - break; - - case '001b': - str += '\\e'; - break; - - case '0085': - str += '\\N'; - break; - - case '00a0': - str += '\\_'; - break; - - case '2028': - str += '\\L'; - break; - - case '2029': - str += '\\P'; - break; - - default: - if (code.substr(0, 2) === '00') str += '\\x' + code.substr(2);else str += json.substr(i, 6); - } - - i += 5; - start = i + 1; - } - break; - - case 'n': - if (implicitKey || json[i + 2] === '"' || json.length < minMultiLineLength) { - i += 1; - } else { - // folding will eat first newline - str += json.slice(start, i) + '\n\n'; - - while (json[i + 2] === '\\' && json[i + 3] === 'n' && json[i + 4] !== '"') { - str += '\n'; - i += 2; - } - - str += indent; // space after newline needs to be escaped to not be folded - - if (json[i + 2] === ' ') str += '\\'; - i += 1; - start = i + 1; - } - - break; - - default: - i += 1; - } - } - - str = start ? str + json.slice(start) : json; - return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx)); -} - -function singleQuotedString(value, ctx) { - if (ctx.implicitKey) { - if (/\n/.test(value)) return doubleQuotedString(value, ctx); - } else { - // single quoted string can't have leading or trailing whitespace around newline - if (/[ \t]\n|\n[ \t]/.test(value)) return doubleQuotedString(value, ctx); - } - - var indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : ''); - var res = "'" + value.replace(/'/g, "''").replace(/\n+/g, "$&\n".concat(indent)) + "'"; - return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx)); -} - -function blockString(_ref2, ctx, onComment, onChompKeep) { - var comment = _ref2.comment, - type = _ref2.type, - value = _ref2.value; - - // 1. Block can't end in whitespace unless the last line is non-empty. - // 2. Strings consisting of only whitespace are best rendered explicitly. - if (/\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { - return doubleQuotedString(value, ctx); - } - - var indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : ''); - var indentSize = indent ? '2' : '1'; // root is at -1 - - var literal = type === Type.BLOCK_FOLDED ? false : type === Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth, indent.length); - var header = literal ? '|' : '>'; - if (!value) return header + '\n'; - var wsStart = ''; - var wsEnd = ''; - value = value.replace(/[\n\t ]*$/, function (ws) { - var n = ws.indexOf('\n'); - - if (n === -1) { - header += '-'; // strip - } else if (value === ws || n !== ws.length - 1) { - header += '+'; // keep - - if (onChompKeep) onChompKeep(); - } - - wsEnd = ws.replace(/\n$/, ''); - return ''; - }).replace(/^[\n ]*/, function (ws) { - if (ws.indexOf(' ') !== -1) header += indentSize; - var m = ws.match(/ +$/); - - if (m) { - wsStart = ws.slice(0, -m[0].length); - return m[0]; - } else { - wsStart = ws; - return ''; - } - }); - if (wsEnd) wsEnd = wsEnd.replace(/\n+(?!\n|$)/g, "$&".concat(indent)); - if (wsStart) wsStart = wsStart.replace(/\n+/g, "$&".concat(indent)); - - if (comment) { - header += ' #' + comment.replace(/ ?[\r\n]+/g, ' '); - if (onComment) onComment(); - } - - if (!value) return "".concat(header).concat(indentSize, "\n").concat(indent).concat(wsEnd); - - if (literal) { - value = value.replace(/\n+/g, "$&".concat(indent)); - return "".concat(header, "\n").concat(indent).concat(wsStart).concat(value).concat(wsEnd); - } - - value = value.replace(/\n+/g, '\n$&').replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, '$1$2') // more-indented lines aren't folded - // ^ ind.line ^ empty ^ capture next empty lines only at end of indent - .replace(/\n+/g, "$&".concat(indent)); - var body = foldFlowLines("".concat(wsStart).concat(value).concat(wsEnd), indent, FOLD_BLOCK, strOptions.fold); - return "".concat(header, "\n").concat(indent).concat(body); -} - -function plainString(item, ctx, onComment, onChompKeep) { - var comment = item.comment, - type = item.type, - value = item.value; - var actualString = ctx.actualString, - implicitKey = ctx.implicitKey, - indent = ctx.indent, - inFlow = ctx.inFlow; - - if (implicitKey && /[\n[\]{},]/.test(value) || inFlow && /[[\]{},]/.test(value)) { - return doubleQuotedString(value, ctx); - } - - if (!value || /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { - // not allowed: - // - empty string, '-' or '?' - // - start with an indicator character (except [?:-]) or /[?-] / - // - '\n ', ': ' or ' \n' anywhere - // - '#' not preceded by a non-space char - // - end with ' ' or ':' - return implicitKey || inFlow || value.indexOf('\n') === -1 ? value.indexOf('"') !== -1 && value.indexOf("'") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep); - } - - if (!implicitKey && !inFlow && type !== Type.PLAIN && value.indexOf('\n') !== -1) { - // Where allowed & type not set explicitly, prefer block style for multiline strings - return blockString(item, ctx, onComment, onChompKeep); - } - - if (indent === '' && containsDocumentMarker(value)) { - ctx.forceBlockIndent = true; - return blockString(item, ctx, onComment, onChompKeep); - } - - var str = value.replace(/\n+/g, "$&\n".concat(indent)); // Verify that output will be parsed as a string, as e.g. plain numbers and - // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'), - // and others in v1.1. - - if (actualString) { - var tags = ctx.doc.schema.tags; - var resolved = resolveScalar(str, tags, tags.scalarFallback).value; - if (typeof resolved !== 'string') return doubleQuotedString(value, ctx); - } - - var body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx)); - - if (comment && !inFlow && (body.indexOf('\n') !== -1 || comment.indexOf('\n') !== -1)) { - if (onComment) onComment(); - return addCommentBefore(body, indent, comment); - } - - return body; -} - -function stringifyString(item, ctx, onComment, onChompKeep) { - var defaultType = strOptions.defaultType; - var implicitKey = ctx.implicitKey, - inFlow = ctx.inFlow; - var _item = item, - type = _item.type, - value = _item.value; - - if (typeof value !== 'string') { - value = String(value); - item = Object.assign({}, item, { - value: value - }); - } - - var _stringify = function _stringify(_type) { - switch (_type) { - case Type.BLOCK_FOLDED: - case Type.BLOCK_LITERAL: - return blockString(item, ctx, onComment, onChompKeep); - - case Type.QUOTE_DOUBLE: - return doubleQuotedString(value, ctx); - - case Type.QUOTE_SINGLE: - return singleQuotedString(value, ctx); - - case Type.PLAIN: - return plainString(item, ctx, onComment, onChompKeep); - - default: - return null; - } - }; - - if (type !== Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value)) { - // force double quotes on control characters - type = Type.QUOTE_DOUBLE; - } else if ((implicitKey || inFlow) && (type === Type.BLOCK_FOLDED || type === Type.BLOCK_LITERAL)) { - // should not happen; blocks are not valid inside flow containers - type = Type.QUOTE_DOUBLE; - } - - var res = _stringify(type); - - if (res === null) { - res = _stringify(defaultType); - if (res === null) throw new Error("Unsupported default string type ".concat(defaultType)); - } - - return res; -} - -function stringifyNumber(_ref) { - var format = _ref.format, - minFractionDigits = _ref.minFractionDigits, - tag = _ref.tag, - value = _ref.value; - if (typeof value === 'bigint') return String(value); - if (!isFinite(value)) return isNaN(value) ? '.nan' : value < 0 ? '-.inf' : '.inf'; - var n = JSON.stringify(value); - - if (!format && minFractionDigits && (!tag || tag === 'tag:yaml.org,2002:float') && /^\d/.test(n)) { - var i = n.indexOf('.'); - - if (i < 0) { - i = n.length; - n += '.'; - } - - var d = minFractionDigits - (n.length - i - 1); - - while (d-- > 0) { - n += '0'; - } - } - - return n; -} - -function checkFlowCollectionEnd(errors, cst) { - var char, name; - - switch (cst.type) { - case Type.FLOW_MAP: - char = '}'; - name = 'flow map'; - break; - - case Type.FLOW_SEQ: - char = ']'; - name = 'flow sequence'; - break; - - default: - errors.push(new YAMLSemanticError(cst, 'Not a flow collection!?')); - return; - } - - var lastItem; - - for (var i = cst.items.length - 1; i >= 0; --i) { - var item = cst.items[i]; - - if (!item || item.type !== Type.COMMENT) { - lastItem = item; - break; - } - } - - if (lastItem && lastItem.char !== char) { - var msg = "Expected ".concat(name, " to end with ").concat(char); - var err; - - if (typeof lastItem.offset === 'number') { - err = new YAMLSemanticError(cst, msg); - err.offset = lastItem.offset + 1; - } else { - err = new YAMLSemanticError(lastItem, msg); - if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start; - } - - errors.push(err); - } -} -function checkFlowCommentSpace(errors, comment) { - var prev = comment.context.src[comment.range.start - 1]; - - if (prev !== '\n' && prev !== '\t' && prev !== ' ') { - var msg = 'Comments must be separated from other tokens by white space characters'; - errors.push(new YAMLSemanticError(comment, msg)); - } -} -function getLongKeyError(source, key) { - var sk = String(key); - var k = sk.substr(0, 8) + '...' + sk.substr(-8); - return new YAMLSemanticError(source, "The \"".concat(k, "\" key is too long")); -} -function resolveComments(collection, comments) { - var _iterator = _createForOfIteratorHelper(comments), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var _step$value = _step.value, - afterKey = _step$value.afterKey, - before = _step$value.before, - comment = _step$value.comment; - var item = collection.items[before]; - - if (!item) { - if (comment !== undefined) { - if (collection.comment) collection.comment += '\n' + comment;else collection.comment = comment; - } - } else { - if (afterKey && item.value) item = item.value; - - if (comment === undefined) { - if (afterKey || !item.commentBefore) item.spaceBefore = true; - } else { - if (item.commentBefore) item.commentBefore += '\n' + comment;else item.commentBefore = comment; - } - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } -} - -// on error, will return { str: string, errors: Error[] } -function resolveString(doc, node) { - var res = node.strValue; - if (!res) return ''; - if (typeof res === 'string') return res; - res.errors.forEach(function (error) { - if (!error.source) error.source = node; - doc.errors.push(error); - }); - return res.str; -} - -function resolveTagHandle(doc, node) { - var _node$tag = node.tag, - handle = _node$tag.handle, - suffix = _node$tag.suffix; - var prefix = doc.tagPrefixes.find(function (p) { - return p.handle === handle; - }); - - if (!prefix) { - var dtp = doc.getDefaults().tagPrefixes; - if (dtp) prefix = dtp.find(function (p) { - return p.handle === handle; - }); - if (!prefix) throw new YAMLSemanticError(node, "The ".concat(handle, " tag handle is non-default and was not declared.")); - } - - if (!suffix) throw new YAMLSemanticError(node, "The ".concat(handle, " tag has no suffix.")); - - if (handle === '!' && (doc.version || doc.options.version) === '1.0') { - if (suffix[0] === '^') { - doc.warnings.push(new YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported')); - return suffix; - } - - if (/[:/]/.test(suffix)) { - // word/foo -> tag:word.yaml.org,2002:foo - var vocab = suffix.match(/^([a-z0-9-]+)\/(.*)/i); - return vocab ? "tag:".concat(vocab[1], ".yaml.org,2002:").concat(vocab[2]) : "tag:".concat(suffix); - } - } - - return prefix.prefix + decodeURIComponent(suffix); -} - -function resolveTagName(doc, node) { - var tag = node.tag, - type = node.type; - var nonSpecific = false; - - if (tag) { - var handle = tag.handle, - suffix = tag.suffix, - verbatim = tag.verbatim; - - if (verbatim) { - if (verbatim !== '!' && verbatim !== '!!') return verbatim; - var msg = "Verbatim tags aren't resolved, so ".concat(verbatim, " is invalid."); - doc.errors.push(new YAMLSemanticError(node, msg)); - } else if (handle === '!' && !suffix) { - nonSpecific = true; - } else { - try { - return resolveTagHandle(doc, node); - } catch (error) { - doc.errors.push(error); - } - } - } - - switch (type) { - case Type.BLOCK_FOLDED: - case Type.BLOCK_LITERAL: - case Type.QUOTE_DOUBLE: - case Type.QUOTE_SINGLE: - return defaultTags.STR; - - case Type.FLOW_MAP: - case Type.MAP: - return defaultTags.MAP; - - case Type.FLOW_SEQ: - case Type.SEQ: - return defaultTags.SEQ; - - case Type.PLAIN: - return nonSpecific ? defaultTags.STR : null; - - default: - return null; - } -} - -function resolveByTagName(doc, node, tagName) { - var tags = doc.schema.tags; - var matchWithTest = []; - - var _iterator = _createForOfIteratorHelper(tags), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var tag = _step.value; - - if (tag.tag === tagName) { - if (tag.test) matchWithTest.push(tag);else { - var res = tag.resolve(doc, node); - return res instanceof Collection ? res : new Scalar(res); - } - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - var str = resolveString(doc, node); - if (typeof str === 'string' && matchWithTest.length > 0) return resolveScalar(str, matchWithTest, tags.scalarFallback); - return null; -} - -function getFallbackTagName(_ref) { - var type = _ref.type; - - switch (type) { - case Type.FLOW_MAP: - case Type.MAP: - return defaultTags.MAP; - - case Type.FLOW_SEQ: - case Type.SEQ: - return defaultTags.SEQ; - - default: - return defaultTags.STR; - } -} - -function resolveTag(doc, node, tagName) { - try { - var res = resolveByTagName(doc, node, tagName); - - if (res) { - if (tagName && node.tag) res.tag = tagName; - return res; - } - } catch (error) { - /* istanbul ignore if */ - if (!error.source) error.source = node; - doc.errors.push(error); - return null; - } - - try { - var fallback = getFallbackTagName(node); - if (!fallback) throw new Error("The tag ".concat(tagName, " is unavailable")); - var msg = "The tag ".concat(tagName, " is unavailable, falling back to ").concat(fallback); - doc.warnings.push(new YAMLWarning(node, msg)); - - var _res = resolveByTagName(doc, node, fallback); - - _res.tag = tagName; - return _res; - } catch (error) { - var refError = new YAMLReferenceError(node, error.message); - refError.stack = error.stack; - doc.errors.push(refError); - return null; - } -} - -var isCollectionItem = function isCollectionItem(node) { - if (!node) return false; - var type = node.type; - return type === Type.MAP_KEY || type === Type.MAP_VALUE || type === Type.SEQ_ITEM; -}; - -function resolveNodeProps(errors, node) { - var comments = { - before: [], - after: [] - }; - var hasAnchor = false; - var hasTag = false; - var props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props; - - var _iterator = _createForOfIteratorHelper(props), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var _step$value = _step.value, - start = _step$value.start, - end = _step$value.end; - - switch (node.context.src[start]) { - case Char.COMMENT: - { - if (!node.commentHasRequiredWhitespace(start)) { - var msg = 'Comments must be separated from other tokens by white space characters'; - errors.push(new YAMLSemanticError(node, msg)); - } - - var header = node.header, - valueRange = node.valueRange; - var cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before; - cc.push(node.context.src.slice(start + 1, end)); - break; - } - // Actual anchor & tag resolution is handled by schema, here we just complain - - case Char.ANCHOR: - if (hasAnchor) { - var _msg = 'A node can have at most one anchor'; - errors.push(new YAMLSemanticError(node, _msg)); - } - - hasAnchor = true; - break; - - case Char.TAG: - if (hasTag) { - var _msg2 = 'A node can have at most one tag'; - errors.push(new YAMLSemanticError(node, _msg2)); - } - - hasTag = true; - break; - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return { - comments: comments, - hasAnchor: hasAnchor, - hasTag: hasTag - }; -} - -function resolveNodeValue(doc, node) { - var anchors = doc.anchors, - errors = doc.errors, - schema = doc.schema; - - if (node.type === Type.ALIAS) { - var name = node.rawValue; - var src = anchors.getNode(name); - - if (!src) { - var msg = "Aliased anchor not found: ".concat(name); - errors.push(new YAMLReferenceError(node, msg)); - return null; - } // Lazy resolution for circular references - - - var res = new Alias(src); - - anchors._cstAliases.push(res); - - return res; - } - - var tagName = resolveTagName(doc, node); - if (tagName) return resolveTag(doc, node, tagName); - - if (node.type !== Type.PLAIN) { - var _msg3 = "Failed to resolve ".concat(node.type, " node here"); - - errors.push(new YAMLSyntaxError(node, _msg3)); - return null; - } - - try { - var str = resolveString(doc, node); - return resolveScalar(str, schema.tags, schema.tags.scalarFallback); - } catch (error) { - if (!error.source) error.source = node; - errors.push(error); - return null; - } -} // sets node.resolved on success - - -function resolveNode(doc, node) { - if (!node) return null; - if (node.error) doc.errors.push(node.error); - - var _resolveNodeProps = resolveNodeProps(doc.errors, node), - comments = _resolveNodeProps.comments, - hasAnchor = _resolveNodeProps.hasAnchor, - hasTag = _resolveNodeProps.hasTag; - - if (hasAnchor) { - var anchors = doc.anchors; - var name = node.anchor; - var prev = anchors.getNode(name); // At this point, aliases for any preceding node with the same anchor - // name have already been resolved, so it may safely be renamed. - - if (prev) anchors.map[anchors.newName(name)] = prev; // During parsing, we need to store the CST node in anchors.map as - // anchors need to be available during resolution to allow for - // circular references. - - anchors.map[name] = node; - } - - if (node.type === Type.ALIAS && (hasAnchor || hasTag)) { - var msg = 'An alias node must not specify any properties'; - doc.errors.push(new YAMLSemanticError(node, msg)); - } - - var res = resolveNodeValue(doc, node); - - if (res) { - res.range = [node.range.start, node.range.end]; - if (doc.options.keepCstNodes) res.cstNode = node; - if (doc.options.keepNodeTypes) res.type = node.type; - var cb = comments.before.join('\n'); - - if (cb) { - res.commentBefore = res.commentBefore ? "".concat(res.commentBefore, "\n").concat(cb) : cb; - } - - var ca = comments.after.join('\n'); - if (ca) res.comment = res.comment ? "".concat(res.comment, "\n").concat(ca) : ca; - } - - return node.resolved = res; -} - -function resolveMap(doc, cst) { - if (cst.type !== Type.MAP && cst.type !== Type.FLOW_MAP) { - var msg = "A ".concat(cst.type, " node cannot be resolved as a mapping"); - doc.errors.push(new YAMLSyntaxError(cst, msg)); - return null; - } - - var _ref = cst.type === Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst), - comments = _ref.comments, - items = _ref.items; - - var map = new YAMLMap(); - map.items = items; - resolveComments(map, comments); - var hasCollectionKey = false; - - for (var i = 0; i < items.length; ++i) { - var iKey = items[i].key; - if (iKey instanceof Collection) hasCollectionKey = true; - - if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) { - items[i] = new Merge(items[i]); - var sources = items[i].value.items; - var error = null; - sources.some(function (node) { - if (node instanceof Alias) { - // During parsing, alias sources are CST nodes; to account for - // circular references their resolved values can't be used here. - var type = node.source.type; - if (type === Type.MAP || type === Type.FLOW_MAP) return false; - return error = 'Merge nodes aliases can only point to maps'; - } - - return error = 'Merge nodes can only have Alias nodes as values'; - }); - if (error) doc.errors.push(new YAMLSemanticError(cst, error)); - } else { - for (var j = i + 1; j < items.length; ++j) { - var jKey = items[j].key; - - if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, 'value') && iKey.value === jKey.value) { - var _msg = "Map keys must be unique; \"".concat(iKey, "\" is repeated"); - - doc.errors.push(new YAMLSemanticError(cst, _msg)); - break; - } - } - } - } - - if (hasCollectionKey && !doc.options.mapAsMap) { - var warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.'; - doc.warnings.push(new YAMLWarning(cst, warn)); - } - - cst.resolved = map; - return map; -} - -var valueHasPairComment = function valueHasPairComment(_ref2) { - var _ref2$context = _ref2.context, - lineStart = _ref2$context.lineStart, - node = _ref2$context.node, - src = _ref2$context.src, - props = _ref2.props; - if (props.length === 0) return false; - var start = props[0].start; - if (node && start > node.valueRange.start) return false; - if (src[start] !== Char.COMMENT) return false; - - for (var i = lineStart; i < start; ++i) { - if (src[i] === '\n') return false; - } - - return true; -}; - -function resolvePairComment(item, pair) { - if (!valueHasPairComment(item)) return; - var comment = item.getPropValue(0, Char.COMMENT, true); - var found = false; - var cb = pair.value.commentBefore; - - if (cb && cb.startsWith(comment)) { - pair.value.commentBefore = cb.substr(comment.length + 1); - found = true; - } else { - var cc = pair.value.comment; - - if (!item.node && cc && cc.startsWith(comment)) { - pair.value.comment = cc.substr(comment.length + 1); - found = true; - } - } - - if (found) pair.comment = comment; -} - -function resolveBlockMapItems(doc, cst) { - var comments = []; - var items = []; - var key = undefined; - var keyStart = null; - - for (var i = 0; i < cst.items.length; ++i) { - var item = cst.items[i]; - - switch (item.type) { - case Type.BLANK_LINE: - comments.push({ - afterKey: !!key, - before: items.length - }); - break; - - case Type.COMMENT: - comments.push({ - afterKey: !!key, - before: items.length, - comment: item.comment - }); - break; - - case Type.MAP_KEY: - if (key !== undefined) items.push(new Pair(key)); - if (item.error) doc.errors.push(item.error); - key = resolveNode(doc, item.node); - keyStart = null; - break; - - case Type.MAP_VALUE: - { - if (key === undefined) key = null; - if (item.error) doc.errors.push(item.error); - - if (!item.context.atLineStart && item.node && item.node.type === Type.MAP && !item.node.context.atLineStart) { - var msg = 'Nested mappings are not allowed in compact mappings'; - doc.errors.push(new YAMLSemanticError(item.node, msg)); - } - - var valueNode = item.node; - - if (!valueNode && item.props.length > 0) { - // Comments on an empty mapping value need to be preserved, so we - // need to construct a minimal empty node here to use instead of the - // missing `item.node`. -- eemeli/yaml#19 - valueNode = new PlainValue(Type.PLAIN, []); - valueNode.context = { - parent: item, - src: item.context.src - }; - var pos = item.range.start + 1; - valueNode.range = { - start: pos, - end: pos - }; - valueNode.valueRange = { - start: pos, - end: pos - }; - - if (typeof item.range.origStart === 'number') { - var origPos = item.range.origStart + 1; - valueNode.range.origStart = valueNode.range.origEnd = origPos; - valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos; - } - } - - var pair = new Pair(key, resolveNode(doc, valueNode)); - resolvePairComment(item, pair); - items.push(pair); - - if (key && typeof keyStart === 'number') { - if (item.range.start > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key)); - } - - key = undefined; - keyStart = null; - } - break; - - default: - if (key !== undefined) items.push(new Pair(key)); - key = resolveNode(doc, item); - keyStart = item.range.start; - if (item.error) doc.errors.push(item.error); - - next: for (var j = i + 1;; ++j) { - var nextItem = cst.items[j]; - - switch (nextItem && nextItem.type) { - case Type.BLANK_LINE: - case Type.COMMENT: - continue next; - - case Type.MAP_VALUE: - break next; - - default: - { - var _msg2 = 'Implicit map keys need to be followed by map values'; - doc.errors.push(new YAMLSemanticError(item, _msg2)); - break next; - } - } - } - - if (item.valueRangeContainsNewline) { - var _msg3 = 'Implicit map keys need to be on a single line'; - doc.errors.push(new YAMLSemanticError(item, _msg3)); - } - - } - } - - if (key !== undefined) items.push(new Pair(key)); - return { - comments: comments, - items: items - }; -} - -function resolveFlowMapItems(doc, cst) { - var comments = []; - var items = []; - var key = undefined; - var explicitKey = false; - var next = '{'; - - for (var i = 0; i < cst.items.length; ++i) { - var item = cst.items[i]; - - if (typeof item.char === 'string') { - var char = item.char, - offset = item.offset; - - if (char === '?' && key === undefined && !explicitKey) { - explicitKey = true; - next = ':'; - continue; - } - - if (char === ':') { - if (key === undefined) key = null; - - if (next === ':') { - next = ','; - continue; - } - } else { - if (explicitKey) { - if (key === undefined && char !== ',') key = null; - explicitKey = false; - } - - if (key !== undefined) { - items.push(new Pair(key)); - key = undefined; - - if (char === ',') { - next = ':'; - continue; - } - } - } - - if (char === '}') { - if (i === cst.items.length - 1) continue; - } else if (char === next) { - next = ':'; - continue; - } - - var msg = "Flow map contains an unexpected ".concat(char); - var err = new YAMLSyntaxError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } else if (item.type === Type.BLANK_LINE) { - comments.push({ - afterKey: !!key, - before: items.length - }); - } else if (item.type === Type.COMMENT) { - checkFlowCommentSpace(doc.errors, item); - comments.push({ - afterKey: !!key, - before: items.length, - comment: item.comment - }); - } else if (key === undefined) { - if (next === ',') doc.errors.push(new YAMLSemanticError(item, 'Separator , missing in flow map')); - key = resolveNode(doc, item); - } else { - if (next !== ',') doc.errors.push(new YAMLSemanticError(item, 'Indicator : missing in flow map entry')); - items.push(new Pair(key, resolveNode(doc, item))); - key = undefined; - explicitKey = false; - } - } - - checkFlowCollectionEnd(doc.errors, cst); - if (key !== undefined) items.push(new Pair(key)); - return { - comments: comments, - items: items - }; -} - -function resolveSeq(doc, cst) { - if (cst.type !== Type.SEQ && cst.type !== Type.FLOW_SEQ) { - var msg = "A ".concat(cst.type, " node cannot be resolved as a sequence"); - doc.errors.push(new YAMLSyntaxError(cst, msg)); - return null; - } - - var _ref = cst.type === Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst), - comments = _ref.comments, - items = _ref.items; - - var seq = new YAMLSeq(); - seq.items = items; - resolveComments(seq, comments); - - if (!doc.options.mapAsMap && items.some(function (it) { - return it instanceof Pair && it.key instanceof Collection; - })) { - var warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.'; - doc.warnings.push(new YAMLWarning(cst, warn)); - } - - cst.resolved = seq; - return seq; -} - -function resolveBlockSeqItems(doc, cst) { - var comments = []; - var items = []; - - for (var i = 0; i < cst.items.length; ++i) { - var item = cst.items[i]; - - switch (item.type) { - case Type.BLANK_LINE: - comments.push({ - before: items.length - }); - break; - - case Type.COMMENT: - comments.push({ - comment: item.comment, - before: items.length - }); - break; - - case Type.SEQ_ITEM: - if (item.error) doc.errors.push(item.error); - items.push(resolveNode(doc, item.node)); - - if (item.hasProps) { - var msg = 'Sequence items cannot have tags or anchors before the - indicator'; - doc.errors.push(new YAMLSemanticError(item, msg)); - } - - break; - - default: - if (item.error) doc.errors.push(item.error); - doc.errors.push(new YAMLSyntaxError(item, "Unexpected ".concat(item.type, " node in sequence"))); - } - } - - return { - comments: comments, - items: items - }; -} - -function resolveFlowSeqItems(doc, cst) { - var comments = []; - var items = []; - var explicitKey = false; - var key = undefined; - var keyStart = null; - var next = '['; - var prevItem = null; - - for (var i = 0; i < cst.items.length; ++i) { - var item = cst.items[i]; - - if (typeof item.char === 'string') { - var char = item.char, - offset = item.offset; - - if (char !== ':' && (explicitKey || key !== undefined)) { - if (explicitKey && key === undefined) key = next ? items.pop() : null; - items.push(new Pair(key)); - explicitKey = false; - key = undefined; - keyStart = null; - } - - if (char === next) { - next = null; - } else if (!next && char === '?') { - explicitKey = true; - } else if (next !== '[' && char === ':' && key === undefined) { - if (next === ',') { - key = items.pop(); - - if (key instanceof Pair) { - var msg = 'Chaining flow sequence pairs is invalid'; - var err = new YAMLSemanticError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } - - if (!explicitKey && typeof keyStart === 'number') { - var keyEnd = item.range ? item.range.start : item.offset; - if (keyEnd > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key)); - var src = prevItem.context.src; - - for (var _i = keyStart; _i < keyEnd; ++_i) { - if (src[_i] === '\n') { - var _msg = 'Implicit keys of flow sequence pairs need to be on a single line'; - doc.errors.push(new YAMLSemanticError(prevItem, _msg)); - break; - } - } - } - } else { - key = null; - } - - keyStart = null; - explicitKey = false; - next = null; - } else if (next === '[' || char !== ']' || i < cst.items.length - 1) { - var _msg2 = "Flow sequence contains an unexpected ".concat(char); - - var _err = new YAMLSyntaxError(cst, _msg2); - - _err.offset = offset; - doc.errors.push(_err); - } - } else if (item.type === Type.BLANK_LINE) { - comments.push({ - before: items.length - }); - } else if (item.type === Type.COMMENT) { - checkFlowCommentSpace(doc.errors, item); - comments.push({ - comment: item.comment, - before: items.length - }); - } else { - if (next) { - var _msg3 = "Expected a ".concat(next, " in flow sequence"); - - doc.errors.push(new YAMLSemanticError(item, _msg3)); - } - - var value = resolveNode(doc, item); - - if (key === undefined) { - items.push(value); - prevItem = item; - } else { - items.push(new Pair(key, value)); - key = undefined; - } - - keyStart = item.range.start; - next = ','; - } - } - - checkFlowCollectionEnd(doc.errors, cst); - if (key !== undefined) items.push(new Pair(key)); - return { - comments: comments, - items: items - }; -} - -export { Alias as A, Collection as C, Merge as M, Node as N, Pair as P, Scalar as S, YAMLSeq as Y, boolOptions as a, binaryOptions as b, stringifyString as c, YAMLMap as d, isEmptyPath as e, addComment as f, resolveMap as g, resolveSeq as h, intOptions as i, resolveString as j, stringifyNumber as k, findPair as l, nullOptions as n, resolveNode as r, strOptions as s, toJSON as t }; diff --git a/node_modules/yaml/browser/dist/types.js b/node_modules/yaml/browser/dist/types.js deleted file mode 100644 index da2288bc05..0000000000 --- a/node_modules/yaml/browser/dist/types.js +++ /dev/null @@ -1,4 +0,0 @@ -export { A as Alias, C as Collection, M as Merge, N as Node, P as Pair, S as Scalar, d as YAMLMap, Y as YAMLSeq, b as binaryOptions, a as boolOptions, i as intOptions, n as nullOptions, s as strOptions } from './resolveSeq-492ab440.js'; -export { S as Schema } from './Schema-e94716c8.js'; -import './PlainValue-b8036b75.js'; -import './warnings-df54cb69.js'; diff --git a/node_modules/yaml/browser/dist/util.js b/node_modules/yaml/browser/dist/util.js deleted file mode 100644 index 29f4663d66..0000000000 --- a/node_modules/yaml/browser/dist/util.js +++ /dev/null @@ -1,2 +0,0 @@ -export { l as findPair, g as parseMap, h as parseSeq, k as stringifyNumber, c as stringifyString, t as toJSON } from './resolveSeq-492ab440.js'; -export { T as Type, i as YAMLError, o as YAMLReferenceError, g as YAMLSemanticError, Y as YAMLSyntaxError, f as YAMLWarning } from './PlainValue-b8036b75.js'; diff --git a/node_modules/yaml/browser/dist/warnings-df54cb69.js b/node_modules/yaml/browser/dist/warnings-df54cb69.js deleted file mode 100644 index 9532e83221..0000000000 --- a/node_modules/yaml/browser/dist/warnings-df54cb69.js +++ /dev/null @@ -1,499 +0,0 @@ -import { o as YAMLReferenceError, T as Type, g as YAMLSemanticError, _ as _createForOfIteratorHelper, e as _defineProperty, j as _inherits, k as _createSuper, c as _classCallCheck, p as _assertThisInitialized, b as _createClass, a as _typeof, l as _get, m as _getPrototypeOf } from './PlainValue-b8036b75.js'; -import { j as resolveString, b as binaryOptions, c as stringifyString, h as resolveSeq, P as Pair, d as YAMLMap, Y as YAMLSeq, t as toJSON, S as Scalar, l as findPair, g as resolveMap, k as stringifyNumber } from './resolveSeq-492ab440.js'; - -/* global atob, btoa, Buffer */ -var binary = { - identify: function identify(value) { - return value instanceof Uint8Array; - }, - // Buffer inherits from Uint8Array - default: false, - tag: 'tag:yaml.org,2002:binary', - - /** - * Returns a Buffer in node and an Uint8Array in browsers - * - * To use the resulting buffer as an image, you'll want to do something like: - * - * const blob = new Blob([buffer], { type: 'image/jpeg' }) - * document.querySelector('#photo').src = URL.createObjectURL(blob) - */ - resolve: function resolve(doc, node) { - var src = resolveString(doc, node); - - if (typeof Buffer === 'function') { - return Buffer.from(src, 'base64'); - } else if (typeof atob === 'function') { - // On IE 11, atob() can't handle newlines - var str = atob(src.replace(/[\n\r]/g, '')); - var buffer = new Uint8Array(str.length); - - for (var i = 0; i < str.length; ++i) { - buffer[i] = str.charCodeAt(i); - } - - return buffer; - } else { - var msg = 'This environment does not support reading binary tags; either Buffer or atob is required'; - doc.errors.push(new YAMLReferenceError(node, msg)); - return null; - } - }, - options: binaryOptions, - stringify: function stringify(_ref, ctx, onComment, onChompKeep) { - var comment = _ref.comment, - type = _ref.type, - value = _ref.value; - var src; - - if (typeof Buffer === 'function') { - src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64'); - } else if (typeof btoa === 'function') { - var s = ''; - - for (var i = 0; i < value.length; ++i) { - s += String.fromCharCode(value[i]); - } - - src = btoa(s); - } else { - throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required'); - } - - if (!type) type = binaryOptions.defaultType; - - if (type === Type.QUOTE_DOUBLE) { - value = src; - } else { - var lineWidth = binaryOptions.lineWidth; - var n = Math.ceil(src.length / lineWidth); - var lines = new Array(n); - - for (var _i = 0, o = 0; _i < n; ++_i, o += lineWidth) { - lines[_i] = src.substr(o, lineWidth); - } - - value = lines.join(type === Type.BLOCK_LITERAL ? '\n' : ' '); - } - - return stringifyString({ - comment: comment, - type: type, - value: value - }, ctx, onComment, onChompKeep); - } -}; - -function parsePairs(doc, cst) { - var seq = resolveSeq(doc, cst); - - for (var i = 0; i < seq.items.length; ++i) { - var item = seq.items[i]; - if (item instanceof Pair) continue;else if (item instanceof YAMLMap) { - if (item.items.length > 1) { - var msg = 'Each pair must have its own sequence indicator'; - throw new YAMLSemanticError(cst, msg); - } - - var pair = item.items[0] || new Pair(); - if (item.commentBefore) pair.commentBefore = pair.commentBefore ? "".concat(item.commentBefore, "\n").concat(pair.commentBefore) : item.commentBefore; - if (item.comment) pair.comment = pair.comment ? "".concat(item.comment, "\n").concat(pair.comment) : item.comment; - item = pair; - } - seq.items[i] = item instanceof Pair ? item : new Pair(item); - } - - return seq; -} -function createPairs(schema, iterable, ctx) { - var pairs = new YAMLSeq(schema); - pairs.tag = 'tag:yaml.org,2002:pairs'; - - var _iterator = _createForOfIteratorHelper(iterable), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var it = _step.value; - var key = void 0, - value = void 0; - - if (Array.isArray(it)) { - if (it.length === 2) { - key = it[0]; - value = it[1]; - } else throw new TypeError("Expected [key, value] tuple: ".concat(it)); - } else if (it && it instanceof Object) { - var keys = Object.keys(it); - - if (keys.length === 1) { - key = keys[0]; - value = it[key]; - } else throw new TypeError("Expected { key: value } tuple: ".concat(it)); - } else { - key = it; - } - - var pair = schema.createPair(key, value, ctx); - pairs.items.push(pair); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return pairs; -} -var pairs = { - default: false, - tag: 'tag:yaml.org,2002:pairs', - resolve: parsePairs, - createNode: createPairs -}; - -var YAMLOMap = /*#__PURE__*/function (_YAMLSeq) { - _inherits(YAMLOMap, _YAMLSeq); - - var _super = _createSuper(YAMLOMap); - - function YAMLOMap() { - var _this; - - _classCallCheck(this, YAMLOMap); - - _this = _super.call(this); - - _defineProperty(_assertThisInitialized(_this), "add", YAMLMap.prototype.add.bind(_assertThisInitialized(_this))); - - _defineProperty(_assertThisInitialized(_this), "delete", YAMLMap.prototype.delete.bind(_assertThisInitialized(_this))); - - _defineProperty(_assertThisInitialized(_this), "get", YAMLMap.prototype.get.bind(_assertThisInitialized(_this))); - - _defineProperty(_assertThisInitialized(_this), "has", YAMLMap.prototype.has.bind(_assertThisInitialized(_this))); - - _defineProperty(_assertThisInitialized(_this), "set", YAMLMap.prototype.set.bind(_assertThisInitialized(_this))); - - _this.tag = YAMLOMap.tag; - return _this; - } - - _createClass(YAMLOMap, [{ - key: "toJSON", - value: function toJSON$1(_, ctx) { - var map = new Map(); - if (ctx && ctx.onCreate) ctx.onCreate(map); - - var _iterator = _createForOfIteratorHelper(this.items), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var pair = _step.value; - var key = void 0, - value = void 0; - - if (pair instanceof Pair) { - key = toJSON(pair.key, '', ctx); - value = toJSON(pair.value, key, ctx); - } else { - key = toJSON(pair, '', ctx); - } - - if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys'); - map.set(key, value); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return map; - } - }]); - - return YAMLOMap; -}(YAMLSeq); - -_defineProperty(YAMLOMap, "tag", 'tag:yaml.org,2002:omap'); - -function parseOMap(doc, cst) { - var pairs = parsePairs(doc, cst); - var seenKeys = []; - - var _iterator2 = _createForOfIteratorHelper(pairs.items), - _step2; - - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - var key = _step2.value.key; - - if (key instanceof Scalar) { - if (seenKeys.includes(key.value)) { - var msg = 'Ordered maps must not include duplicate keys'; - throw new YAMLSemanticError(cst, msg); - } else { - seenKeys.push(key.value); - } - } - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - - return Object.assign(new YAMLOMap(), pairs); -} - -function createOMap(schema, iterable, ctx) { - var pairs = createPairs(schema, iterable, ctx); - var omap = new YAMLOMap(); - omap.items = pairs.items; - return omap; -} - -var omap = { - identify: function identify(value) { - return value instanceof Map; - }, - nodeClass: YAMLOMap, - default: false, - tag: 'tag:yaml.org,2002:omap', - resolve: parseOMap, - createNode: createOMap -}; - -var YAMLSet = /*#__PURE__*/function (_YAMLMap) { - _inherits(YAMLSet, _YAMLMap); - - var _super = _createSuper(YAMLSet); - - function YAMLSet() { - var _this; - - _classCallCheck(this, YAMLSet); - - _this = _super.call(this); - _this.tag = YAMLSet.tag; - return _this; - } - - _createClass(YAMLSet, [{ - key: "add", - value: function add(key) { - var pair = key instanceof Pair ? key : new Pair(key); - var prev = findPair(this.items, pair.key); - if (!prev) this.items.push(pair); - } - }, { - key: "get", - value: function get(key, keepPair) { - var pair = findPair(this.items, key); - return !keepPair && pair instanceof Pair ? pair.key instanceof Scalar ? pair.key.value : pair.key : pair; - } - }, { - key: "set", - value: function set(key, value) { - if (typeof value !== 'boolean') throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(_typeof(value))); - var prev = findPair(this.items, key); - - if (prev && !value) { - this.items.splice(this.items.indexOf(prev), 1); - } else if (!prev && value) { - this.items.push(new Pair(key)); - } - } - }, { - key: "toJSON", - value: function toJSON(_, ctx) { - return _get(_getPrototypeOf(YAMLSet.prototype), "toJSON", this).call(this, _, ctx, Set); - } - }, { - key: "toString", - value: function toString(ctx, onComment, onChompKeep) { - if (!ctx) return JSON.stringify(this); - if (this.hasAllNullValues()) return _get(_getPrototypeOf(YAMLSet.prototype), "toString", this).call(this, ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values'); - } - }]); - - return YAMLSet; -}(YAMLMap); - -_defineProperty(YAMLSet, "tag", 'tag:yaml.org,2002:set'); - -function parseSet(doc, cst) { - var map = resolveMap(doc, cst); - if (!map.hasAllNullValues()) throw new YAMLSemanticError(cst, 'Set items must all have null values'); - return Object.assign(new YAMLSet(), map); -} - -function createSet(schema, iterable, ctx) { - var set = new YAMLSet(); - - var _iterator = _createForOfIteratorHelper(iterable), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var value = _step.value; - set.items.push(schema.createPair(value, null, ctx)); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return set; -} - -var set = { - identify: function identify(value) { - return value instanceof Set; - }, - nodeClass: YAMLSet, - default: false, - tag: 'tag:yaml.org,2002:set', - resolve: parseSet, - createNode: createSet -}; - -var parseSexagesimal = function parseSexagesimal(sign, parts) { - var n = parts.split(':').reduce(function (n, p) { - return n * 60 + Number(p); - }, 0); - return sign === '-' ? -n : n; -}; // hhhh:mm:ss.sss - - -var stringifySexagesimal = function stringifySexagesimal(_ref) { - var value = _ref.value; - if (isNaN(value) || !isFinite(value)) return stringifyNumber(value); - var sign = ''; - - if (value < 0) { - sign = '-'; - value = Math.abs(value); - } - - var parts = [value % 60]; // seconds, including ms - - if (value < 60) { - parts.unshift(0); // at least one : is required - } else { - value = Math.round((value - parts[0]) / 60); - parts.unshift(value % 60); // minutes - - if (value >= 60) { - value = Math.round((value - parts[0]) / 60); - parts.unshift(value); // hours - } - } - - return sign + parts.map(function (n) { - return n < 10 ? '0' + String(n) : String(n); - }).join(':').replace(/000000\d*$/, '') // % 60 may introduce error - ; -}; - -var intTime = { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'TIME', - test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/, - resolve: function resolve(str, sign, parts) { - return parseSexagesimal(sign, parts.replace(/_/g, '')); - }, - stringify: stringifySexagesimal -}; -var floatTime = { - identify: function identify(value) { - return typeof value === 'number'; - }, - default: true, - tag: 'tag:yaml.org,2002:float', - format: 'TIME', - test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/, - resolve: function resolve(str, sign, parts) { - return parseSexagesimal(sign, parts.replace(/_/g, '')); - }, - stringify: stringifySexagesimal -}; -var timestamp = { - identify: function identify(value) { - return value instanceof Date; - }, - default: true, - tag: 'tag:yaml.org,2002:timestamp', - // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part - // may be omitted altogether, resulting in a date format. In such a case, the time part is - // assumed to be 00:00:00Z (start of day, UTC). - test: RegExp('^(?:' + '([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd - '(?:(?:t|T|[ \\t]+)' + // t | T | whitespace - '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)? - '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30 - ')?' + ')$'), - resolve: function resolve(str, year, month, day, hour, minute, second, millisec, tz) { - if (millisec) millisec = (millisec + '00').substr(1, 3); - var date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0); - - if (tz && tz !== 'Z') { - var d = parseSexagesimal(tz[0], tz.slice(1)); - if (Math.abs(d) < 30) d *= 60; - date -= 60000 * d; - } - - return new Date(date); - }, - stringify: function stringify(_ref2) { - var value = _ref2.value; - return value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, ''); - } -}; - -/* global console, process, YAML_SILENCE_DEPRECATION_WARNINGS, YAML_SILENCE_WARNINGS */ -function shouldWarn(deprecation) { - var env = typeof process !== 'undefined' && process.env || {}; - - if (deprecation) { - if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== 'undefined') return !YAML_SILENCE_DEPRECATION_WARNINGS; - return !env.YAML_SILENCE_DEPRECATION_WARNINGS; - } - - if (typeof YAML_SILENCE_WARNINGS !== 'undefined') return !YAML_SILENCE_WARNINGS; - return !env.YAML_SILENCE_WARNINGS; -} - -function warn(warning, type) { - if (shouldWarn(false)) { - var emit = typeof process !== 'undefined' && process.emitWarning; // This will throw in Jest if `warning` is an Error instance due to - // https://github.com/facebook/jest/issues/2549 - - if (emit) emit(warning, type);else { - // eslint-disable-next-line no-console - console.warn(type ? "".concat(type, ": ").concat(warning) : warning); - } - } -} -function warnFileDeprecation(filename) { - if (shouldWarn(true)) { - var path = filename.replace(/.*yaml[/\\]/i, '').replace(/\.js$/, '').replace(/\\/g, '/'); - warn("The endpoint 'yaml/".concat(path, "' will be removed in a future release."), 'DeprecationWarning'); - } -} -var warned = {}; -function warnOptionDeprecation(name, alternative) { - if (!warned[name] && shouldWarn(true)) { - warned[name] = true; - var msg = "The option '".concat(name, "' will be removed in a future release"); - msg += alternative ? ", use '".concat(alternative, "' instead.") : '.'; - warn(msg, 'DeprecationWarning'); - } -} - -export { warnOptionDeprecation as a, binary as b, warnFileDeprecation as c, floatTime as f, intTime as i, omap as o, pairs as p, set as s, timestamp as t, warn as w }; diff --git a/node_modules/yaml/browser/index.js b/node_modules/yaml/browser/index.js deleted file mode 100644 index b501ac4dbf..0000000000 --- a/node_modules/yaml/browser/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist').YAML diff --git a/node_modules/yaml/browser/map.js b/node_modules/yaml/browser/map.js deleted file mode 100644 index 78f2ebc749..0000000000 --- a/node_modules/yaml/browser/map.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').YAMLMap -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/pair.js b/node_modules/yaml/browser/pair.js deleted file mode 100644 index b2880a256e..0000000000 --- a/node_modules/yaml/browser/pair.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').Pair -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/parse-cst.js b/node_modules/yaml/browser/parse-cst.js deleted file mode 100644 index 806575652e..0000000000 --- a/node_modules/yaml/browser/parse-cst.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/parse-cst').parse diff --git a/node_modules/yaml/browser/scalar.js b/node_modules/yaml/browser/scalar.js deleted file mode 100644 index deee1b03ae..0000000000 --- a/node_modules/yaml/browser/scalar.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').Scalar -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/schema.js b/node_modules/yaml/browser/schema.js deleted file mode 100644 index 4139c4bf8f..0000000000 --- a/node_modules/yaml/browser/schema.js +++ /dev/null @@ -1,9 +0,0 @@ -const types = require('./dist/types') -const util = require('./dist/util') - -module.exports = types.Schema -module.exports.nullOptions = types.nullOptions -module.exports.strOptions = types.strOptions -module.exports.stringify = util.stringifyString - -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/seq.js b/node_modules/yaml/browser/seq.js deleted file mode 100644 index 66147df38b..0000000000 --- a/node_modules/yaml/browser/seq.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').YAMLSeq -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/types.js b/node_modules/yaml/browser/types.js deleted file mode 100644 index b1e46c47a2..0000000000 --- a/node_modules/yaml/browser/types.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/types') diff --git a/node_modules/yaml/browser/types/binary.js b/node_modules/yaml/browser/types/binary.js deleted file mode 100644 index 271b9de38b..0000000000 --- a/node_modules/yaml/browser/types/binary.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' -Object.defineProperty(exports, '__esModule', { value: true }) - -const legacy = require('../dist/legacy-exports') -exports.binary = legacy.binary -exports.default = [exports.binary] - -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/types/omap.js b/node_modules/yaml/browser/types/omap.js deleted file mode 100644 index 37b638b732..0000000000 --- a/node_modules/yaml/browser/types/omap.js +++ /dev/null @@ -1,3 +0,0 @@ -const legacy = require('../dist/legacy-exports') -module.exports = legacy.omap -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/types/pairs.js b/node_modules/yaml/browser/types/pairs.js deleted file mode 100644 index f1df201ceb..0000000000 --- a/node_modules/yaml/browser/types/pairs.js +++ /dev/null @@ -1,3 +0,0 @@ -const legacy = require('../dist/legacy-exports') -module.exports = legacy.pairs -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/types/set.js b/node_modules/yaml/browser/types/set.js deleted file mode 100644 index e7dc9d42c3..0000000000 --- a/node_modules/yaml/browser/types/set.js +++ /dev/null @@ -1,3 +0,0 @@ -const legacy = require('../dist/legacy-exports') -module.exports = legacy.set -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/types/timestamp.js b/node_modules/yaml/browser/types/timestamp.js deleted file mode 100644 index 39c5b6dd40..0000000000 --- a/node_modules/yaml/browser/types/timestamp.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' -Object.defineProperty(exports, '__esModule', { value: true }) - -const legacy = require('../dist/legacy-exports') -exports.default = [legacy.intTime, legacy.floatTime, legacy.timestamp] -exports.floatTime = legacy.floatTime -exports.intTime = legacy.intTime -exports.timestamp = legacy.timestamp - -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/browser/util.js b/node_modules/yaml/browser/util.js deleted file mode 100644 index bf3845621d..0000000000 --- a/node_modules/yaml/browser/util.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/util') diff --git a/node_modules/yaml/dist/Document-9b4560a1.js b/node_modules/yaml/dist/Document-9b4560a1.js deleted file mode 100644 index a2613db286..0000000000 --- a/node_modules/yaml/dist/Document-9b4560a1.js +++ /dev/null @@ -1,757 +0,0 @@ -'use strict'; - -var PlainValue = require('./PlainValue-ec8e588e.js'); -var resolveSeq = require('./resolveSeq-d03cb037.js'); -var Schema = require('./Schema-88e323a7.js'); - -const defaultOptions = { - anchorPrefix: 'a', - customTags: null, - indent: 2, - indentSeq: true, - keepCstNodes: false, - keepNodeTypes: true, - keepBlobsInJSON: true, - mapAsMap: false, - maxAliasCount: 100, - prettyErrors: false, - // TODO Set true in v2 - simpleKeys: false, - version: '1.2' -}; -const scalarOptions = { - get binary() { - return resolveSeq.binaryOptions; - }, - - set binary(opt) { - Object.assign(resolveSeq.binaryOptions, opt); - }, - - get bool() { - return resolveSeq.boolOptions; - }, - - set bool(opt) { - Object.assign(resolveSeq.boolOptions, opt); - }, - - get int() { - return resolveSeq.intOptions; - }, - - set int(opt) { - Object.assign(resolveSeq.intOptions, opt); - }, - - get null() { - return resolveSeq.nullOptions; - }, - - set null(opt) { - Object.assign(resolveSeq.nullOptions, opt); - }, - - get str() { - return resolveSeq.strOptions; - }, - - set str(opt) { - Object.assign(resolveSeq.strOptions, opt); - } - -}; -const documentOptions = { - '1.0': { - schema: 'yaml-1.1', - merge: true, - tagPrefixes: [{ - handle: '!', - prefix: PlainValue.defaultTagPrefix - }, { - handle: '!!', - prefix: 'tag:private.yaml.org,2002:' - }] - }, - 1.1: { - schema: 'yaml-1.1', - merge: true, - tagPrefixes: [{ - handle: '!', - prefix: '!' - }, { - handle: '!!', - prefix: PlainValue.defaultTagPrefix - }] - }, - 1.2: { - schema: 'core', - merge: false, - tagPrefixes: [{ - handle: '!', - prefix: '!' - }, { - handle: '!!', - prefix: PlainValue.defaultTagPrefix - }] - } -}; - -function stringifyTag(doc, tag) { - if ((doc.version || doc.options.version) === '1.0') { - const priv = tag.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/); - if (priv) return '!' + priv[1]; - const vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/); - return vocab ? `!${vocab[1]}/${vocab[2]}` : `!${tag.replace(/^tag:/, '')}`; - } - - let p = doc.tagPrefixes.find(p => tag.indexOf(p.prefix) === 0); - - if (!p) { - const dtp = doc.getDefaults().tagPrefixes; - p = dtp && dtp.find(p => tag.indexOf(p.prefix) === 0); - } - - if (!p) return tag[0] === '!' ? tag : `!<${tag}>`; - const suffix = tag.substr(p.prefix.length).replace(/[!,[\]{}]/g, ch => ({ - '!': '%21', - ',': '%2C', - '[': '%5B', - ']': '%5D', - '{': '%7B', - '}': '%7D' - })[ch]); - return p.handle + suffix; -} - -function getTagObject(tags, item) { - if (item instanceof resolveSeq.Alias) return resolveSeq.Alias; - - if (item.tag) { - const match = tags.filter(t => t.tag === item.tag); - if (match.length > 0) return match.find(t => t.format === item.format) || match[0]; - } - - let tagObj, obj; - - if (item instanceof resolveSeq.Scalar) { - obj = item.value; // TODO: deprecate/remove class check - - const match = tags.filter(t => t.identify && t.identify(obj) || t.class && obj instanceof t.class); - tagObj = match.find(t => t.format === item.format) || match.find(t => !t.format); - } else { - obj = item; - tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass); - } - - if (!tagObj) { - const name = obj && obj.constructor ? obj.constructor.name : typeof obj; - throw new Error(`Tag not resolved for ${name} value`); - } - - return tagObj; -} // needs to be called before value stringifier to allow for circular anchor refs - - -function stringifyProps(node, tagObj, { - anchors, - doc -}) { - const props = []; - const anchor = doc.anchors.getName(node); - - if (anchor) { - anchors[anchor] = node; - props.push(`&${anchor}`); - } - - if (node.tag) { - props.push(stringifyTag(doc, node.tag)); - } else if (!tagObj.default) { - props.push(stringifyTag(doc, tagObj.tag)); - } - - return props.join(' '); -} - -function stringify(item, ctx, onComment, onChompKeep) { - const { - anchors, - schema - } = ctx.doc; - let tagObj; - - if (!(item instanceof resolveSeq.Node)) { - const createCtx = { - aliasNodes: [], - onTagObj: o => tagObj = o, - prevObjects: new Map() - }; - item = schema.createNode(item, true, null, createCtx); - - for (const alias of createCtx.aliasNodes) { - alias.source = alias.source.node; - let name = anchors.getName(alias.source); - - if (!name) { - name = anchors.newName(); - anchors.map[name] = alias.source; - } - } - } - - if (item instanceof resolveSeq.Pair) return item.toString(ctx, onComment, onChompKeep); - if (!tagObj) tagObj = getTagObject(schema.tags, item); - const props = stringifyProps(item, tagObj, ctx); - if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1; - const str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq.Scalar ? resolveSeq.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep); - if (!props) return str; - return item instanceof resolveSeq.Scalar || str[0] === '{' || str[0] === '[' ? `${props} ${str}` : `${props}\n${ctx.indent}${str}`; -} - -class Anchors { - static validAnchorNode(node) { - return node instanceof resolveSeq.Scalar || node instanceof resolveSeq.YAMLSeq || node instanceof resolveSeq.YAMLMap; - } - - constructor(prefix) { - PlainValue._defineProperty(this, "map", Object.create(null)); - - this.prefix = prefix; - } - - createAlias(node, name) { - this.setAnchor(node, name); - return new resolveSeq.Alias(node); - } - - createMergePair(...sources) { - const merge = new resolveSeq.Merge(); - merge.value.items = sources.map(s => { - if (s instanceof resolveSeq.Alias) { - if (s.source instanceof resolveSeq.YAMLMap) return s; - } else if (s instanceof resolveSeq.YAMLMap) { - return this.createAlias(s); - } - - throw new Error('Merge sources must be Map nodes or their Aliases'); - }); - return merge; - } - - getName(node) { - const { - map - } = this; - return Object.keys(map).find(a => map[a] === node); - } - - getNames() { - return Object.keys(this.map); - } - - getNode(name) { - return this.map[name]; - } - - newName(prefix) { - if (!prefix) prefix = this.prefix; - const names = Object.keys(this.map); - - for (let i = 1; true; ++i) { - const name = `${prefix}${i}`; - if (!names.includes(name)) return name; - } - } // During parsing, map & aliases contain CST nodes - - - resolveNodes() { - const { - map, - _cstAliases - } = this; - Object.keys(map).forEach(a => { - map[a] = map[a].resolved; - }); - - _cstAliases.forEach(a => { - a.source = a.source.resolved; - }); - - delete this._cstAliases; - } - - setAnchor(node, name) { - if (node != null && !Anchors.validAnchorNode(node)) { - throw new Error('Anchors may only be set for Scalar, Seq and Map nodes'); - } - - if (name && /[\x00-\x19\s,[\]{}]/.test(name)) { - throw new Error('Anchor names must not contain whitespace or control characters'); - } - - const { - map - } = this; - const prev = node && Object.keys(map).find(a => map[a] === node); - - if (prev) { - if (!name) { - return prev; - } else if (prev !== name) { - delete map[prev]; - map[name] = node; - } - } else { - if (!name) { - if (!node) return null; - name = this.newName(); - } - - map[name] = node; - } - - return name; - } - -} - -const visit = (node, tags) => { - if (node && typeof node === 'object') { - const { - tag - } = node; - - if (node instanceof resolveSeq.Collection) { - if (tag) tags[tag] = true; - node.items.forEach(n => visit(n, tags)); - } else if (node instanceof resolveSeq.Pair) { - visit(node.key, tags); - visit(node.value, tags); - } else if (node instanceof resolveSeq.Scalar) { - if (tag) tags[tag] = true; - } - } - - return tags; -}; - -const listTagNames = node => Object.keys(visit(node, {})); - -function parseContents(doc, contents) { - const comments = { - before: [], - after: [] - }; - let body = undefined; - let spaceBefore = false; - - for (const node of contents) { - if (node.valueRange) { - if (body !== undefined) { - const msg = 'Document contains trailing content not separated by a ... or --- line'; - doc.errors.push(new PlainValue.YAMLSyntaxError(node, msg)); - break; - } - - const res = resolveSeq.resolveNode(doc, node); - - if (spaceBefore) { - res.spaceBefore = true; - spaceBefore = false; - } - - body = res; - } else if (node.comment !== null) { - const cc = body === undefined ? comments.before : comments.after; - cc.push(node.comment); - } else if (node.type === PlainValue.Type.BLANK_LINE) { - spaceBefore = true; - - if (body === undefined && comments.before.length > 0 && !doc.commentBefore) { - // space-separated comments at start are parsed as document comments - doc.commentBefore = comments.before.join('\n'); - comments.before = []; - } - } - } - - doc.contents = body || null; - - if (!body) { - doc.comment = comments.before.concat(comments.after).join('\n') || null; - } else { - const cb = comments.before.join('\n'); - - if (cb) { - const cbNode = body instanceof resolveSeq.Collection && body.items[0] ? body.items[0] : body; - cbNode.commentBefore = cbNode.commentBefore ? `${cb}\n${cbNode.commentBefore}` : cb; - } - - doc.comment = comments.after.join('\n') || null; - } -} - -function resolveTagDirective({ - tagPrefixes -}, directive) { - const [handle, prefix] = directive.parameters; - - if (!handle || !prefix) { - const msg = 'Insufficient parameters given for %TAG directive'; - throw new PlainValue.YAMLSemanticError(directive, msg); - } - - if (tagPrefixes.some(p => p.handle === handle)) { - const msg = 'The %TAG directive must only be given at most once per handle in the same document.'; - throw new PlainValue.YAMLSemanticError(directive, msg); - } - - return { - handle, - prefix - }; -} - -function resolveYamlDirective(doc, directive) { - let [version] = directive.parameters; - if (directive.name === 'YAML:1.0') version = '1.0'; - - if (!version) { - const msg = 'Insufficient parameters given for %YAML directive'; - throw new PlainValue.YAMLSemanticError(directive, msg); - } - - if (!documentOptions[version]) { - const v0 = doc.version || doc.options.version; - const msg = `Document will be parsed as YAML ${v0} rather than YAML ${version}`; - doc.warnings.push(new PlainValue.YAMLWarning(directive, msg)); - } - - return version; -} - -function parseDirectives(doc, directives, prevDoc) { - const directiveComments = []; - let hasDirectives = false; - - for (const directive of directives) { - const { - comment, - name - } = directive; - - switch (name) { - case 'TAG': - try { - doc.tagPrefixes.push(resolveTagDirective(doc, directive)); - } catch (error) { - doc.errors.push(error); - } - - hasDirectives = true; - break; - - case 'YAML': - case 'YAML:1.0': - if (doc.version) { - const msg = 'The %YAML directive must only be given at most once per document.'; - doc.errors.push(new PlainValue.YAMLSemanticError(directive, msg)); - } - - try { - doc.version = resolveYamlDirective(doc, directive); - } catch (error) { - doc.errors.push(error); - } - - hasDirectives = true; - break; - - default: - if (name) { - const msg = `YAML only supports %TAG and %YAML directives, and not %${name}`; - doc.warnings.push(new PlainValue.YAMLWarning(directive, msg)); - } - - } - - if (comment) directiveComments.push(comment); - } - - if (prevDoc && !hasDirectives && '1.1' === (doc.version || prevDoc.version || doc.options.version)) { - const copyTagPrefix = ({ - handle, - prefix - }) => ({ - handle, - prefix - }); - - doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix); - doc.version = prevDoc.version; - } - - doc.commentBefore = directiveComments.join('\n') || null; -} - -function assertCollection(contents) { - if (contents instanceof resolveSeq.Collection) return true; - throw new Error('Expected a YAML collection as document contents'); -} - -class Document { - constructor(options) { - this.anchors = new Anchors(options.anchorPrefix); - this.commentBefore = null; - this.comment = null; - this.contents = null; - this.directivesEndMarker = null; - this.errors = []; - this.options = options; - this.schema = null; - this.tagPrefixes = []; - this.version = null; - this.warnings = []; - } - - add(value) { - assertCollection(this.contents); - return this.contents.add(value); - } - - addIn(path, value) { - assertCollection(this.contents); - this.contents.addIn(path, value); - } - - delete(key) { - assertCollection(this.contents); - return this.contents.delete(key); - } - - deleteIn(path) { - if (resolveSeq.isEmptyPath(path)) { - if (this.contents == null) return false; - this.contents = null; - return true; - } - - assertCollection(this.contents); - return this.contents.deleteIn(path); - } - - getDefaults() { - return Document.defaults[this.version] || Document.defaults[this.options.version] || {}; - } - - get(key, keepScalar) { - return this.contents instanceof resolveSeq.Collection ? this.contents.get(key, keepScalar) : undefined; - } - - getIn(path, keepScalar) { - if (resolveSeq.isEmptyPath(path)) return !keepScalar && this.contents instanceof resolveSeq.Scalar ? this.contents.value : this.contents; - return this.contents instanceof resolveSeq.Collection ? this.contents.getIn(path, keepScalar) : undefined; - } - - has(key) { - return this.contents instanceof resolveSeq.Collection ? this.contents.has(key) : false; - } - - hasIn(path) { - if (resolveSeq.isEmptyPath(path)) return this.contents !== undefined; - return this.contents instanceof resolveSeq.Collection ? this.contents.hasIn(path) : false; - } - - set(key, value) { - assertCollection(this.contents); - this.contents.set(key, value); - } - - setIn(path, value) { - if (resolveSeq.isEmptyPath(path)) this.contents = value;else { - assertCollection(this.contents); - this.contents.setIn(path, value); - } - } - - setSchema(id, customTags) { - if (!id && !customTags && this.schema) return; - if (typeof id === 'number') id = id.toFixed(1); - - if (id === '1.0' || id === '1.1' || id === '1.2') { - if (this.version) this.version = id;else this.options.version = id; - delete this.options.schema; - } else if (id && typeof id === 'string') { - this.options.schema = id; - } - - if (Array.isArray(customTags)) this.options.customTags = customTags; - const opt = Object.assign({}, this.getDefaults(), this.options); - this.schema = new Schema.Schema(opt); - } - - parse(node, prevDoc) { - if (this.options.keepCstNodes) this.cstNode = node; - if (this.options.keepNodeTypes) this.type = 'DOCUMENT'; - const { - directives = [], - contents = [], - directivesEndMarker, - error, - valueRange - } = node; - - if (error) { - if (!error.source) error.source = this; - this.errors.push(error); - } - - parseDirectives(this, directives, prevDoc); - if (directivesEndMarker) this.directivesEndMarker = true; - this.range = valueRange ? [valueRange.start, valueRange.end] : null; - this.setSchema(); - this.anchors._cstAliases = []; - parseContents(this, contents); - this.anchors.resolveNodes(); - - if (this.options.prettyErrors) { - for (const error of this.errors) if (error instanceof PlainValue.YAMLError) error.makePretty(); - - for (const warn of this.warnings) if (warn instanceof PlainValue.YAMLError) warn.makePretty(); - } - - return this; - } - - listNonDefaultTags() { - return listTagNames(this.contents).filter(t => t.indexOf(Schema.Schema.defaultPrefix) !== 0); - } - - setTagPrefix(handle, prefix) { - if (handle[0] !== '!' || handle[handle.length - 1] !== '!') throw new Error('Handle must start and end with !'); - - if (prefix) { - const prev = this.tagPrefixes.find(p => p.handle === handle); - if (prev) prev.prefix = prefix;else this.tagPrefixes.push({ - handle, - prefix - }); - } else { - this.tagPrefixes = this.tagPrefixes.filter(p => p.handle !== handle); - } - } - - toJSON(arg, onAnchor) { - const { - keepBlobsInJSON, - mapAsMap, - maxAliasCount - } = this.options; - const keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof resolveSeq.Scalar)); - const ctx = { - doc: this, - indentStep: ' ', - keep, - mapAsMap: keep && !!mapAsMap, - maxAliasCount, - stringify // Requiring directly in Pair would create circular dependencies - - }; - const anchorNames = Object.keys(this.anchors.map); - if (anchorNames.length > 0) ctx.anchors = new Map(anchorNames.map(name => [this.anchors.map[name], { - alias: [], - aliasCount: 0, - count: 1 - }])); - const res = resolveSeq.toJSON(this.contents, arg, ctx); - if (typeof onAnchor === 'function' && ctx.anchors) for (const { - count, - res - } of ctx.anchors.values()) onAnchor(res, count); - return res; - } - - toString() { - if (this.errors.length > 0) throw new Error('Document with errors cannot be stringified'); - const indentSize = this.options.indent; - - if (!Number.isInteger(indentSize) || indentSize <= 0) { - const s = JSON.stringify(indentSize); - throw new Error(`"indent" option must be a positive integer, not ${s}`); - } - - this.setSchema(); - const lines = []; - let hasDirectives = false; - - if (this.version) { - let vd = '%YAML 1.2'; - - if (this.schema.name === 'yaml-1.1') { - if (this.version === '1.0') vd = '%YAML:1.0';else if (this.version === '1.1') vd = '%YAML 1.1'; - } - - lines.push(vd); - hasDirectives = true; - } - - const tagNames = this.listNonDefaultTags(); - this.tagPrefixes.forEach(({ - handle, - prefix - }) => { - if (tagNames.some(t => t.indexOf(prefix) === 0)) { - lines.push(`%TAG ${handle} ${prefix}`); - hasDirectives = true; - } - }); - if (hasDirectives || this.directivesEndMarker) lines.push('---'); - - if (this.commentBefore) { - if (hasDirectives || !this.directivesEndMarker) lines.unshift(''); - lines.unshift(this.commentBefore.replace(/^/gm, '#')); - } - - const ctx = { - anchors: Object.create(null), - doc: this, - indent: '', - indentStep: ' '.repeat(indentSize), - stringify // Requiring directly in nodes would create circular dependencies - - }; - let chompKeep = false; - let contentComment = null; - - if (this.contents) { - if (this.contents instanceof resolveSeq.Node) { - if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push(''); - if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, '#')); // top-level block scalars need to be indented if followed by a comment - - ctx.forceBlockIndent = !!this.comment; - contentComment = this.contents.comment; - } - - const onChompKeep = contentComment ? null : () => chompKeep = true; - const body = stringify(this.contents, ctx, () => contentComment = null, onChompKeep); - lines.push(resolveSeq.addComment(body, '', contentComment)); - } else if (this.contents !== undefined) { - lines.push(stringify(this.contents, ctx)); - } - - if (this.comment) { - if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '') lines.push(''); - lines.push(this.comment.replace(/^/gm, '#')); - } - - return lines.join('\n') + '\n'; - } - -} - -PlainValue._defineProperty(Document, "defaults", documentOptions); - -exports.Document = Document; -exports.defaultOptions = defaultOptions; -exports.scalarOptions = scalarOptions; diff --git a/node_modules/yaml/dist/PlainValue-ec8e588e.js b/node_modules/yaml/dist/PlainValue-ec8e588e.js deleted file mode 100644 index db8a14e3c9..0000000000 --- a/node_modules/yaml/dist/PlainValue-ec8e588e.js +++ /dev/null @@ -1,876 +0,0 @@ -'use strict'; - -const Char = { - ANCHOR: '&', - COMMENT: '#', - TAG: '!', - DIRECTIVES_END: '-', - DOCUMENT_END: '.' -}; -const Type = { - ALIAS: 'ALIAS', - BLANK_LINE: 'BLANK_LINE', - BLOCK_FOLDED: 'BLOCK_FOLDED', - BLOCK_LITERAL: 'BLOCK_LITERAL', - COMMENT: 'COMMENT', - DIRECTIVE: 'DIRECTIVE', - DOCUMENT: 'DOCUMENT', - FLOW_MAP: 'FLOW_MAP', - FLOW_SEQ: 'FLOW_SEQ', - MAP: 'MAP', - MAP_KEY: 'MAP_KEY', - MAP_VALUE: 'MAP_VALUE', - PLAIN: 'PLAIN', - QUOTE_DOUBLE: 'QUOTE_DOUBLE', - QUOTE_SINGLE: 'QUOTE_SINGLE', - SEQ: 'SEQ', - SEQ_ITEM: 'SEQ_ITEM' -}; -const defaultTagPrefix = 'tag:yaml.org,2002:'; -const defaultTags = { - MAP: 'tag:yaml.org,2002:map', - SEQ: 'tag:yaml.org,2002:seq', - STR: 'tag:yaml.org,2002:str' -}; - -function findLineStarts(src) { - const ls = [0]; - let offset = src.indexOf('\n'); - - while (offset !== -1) { - offset += 1; - ls.push(offset); - offset = src.indexOf('\n', offset); - } - - return ls; -} - -function getSrcInfo(cst) { - let lineStarts, src; - - if (typeof cst === 'string') { - lineStarts = findLineStarts(cst); - src = cst; - } else { - if (Array.isArray(cst)) cst = cst[0]; - - if (cst && cst.context) { - if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src); - lineStarts = cst.lineStarts; - src = cst.context.src; - } - } - - return { - lineStarts, - src - }; -} -/** - * @typedef {Object} LinePos - One-indexed position in the source - * @property {number} line - * @property {number} col - */ - -/** - * Determine the line/col position matching a character offset. - * - * Accepts a source string or a CST document as the second parameter. With - * the latter, starting indices for lines are cached in the document as - * `lineStarts: number[]`. - * - * Returns a one-indexed `{ line, col }` location if found, or - * `undefined` otherwise. - * - * @param {number} offset - * @param {string|Document|Document[]} cst - * @returns {?LinePos} - */ - - -function getLinePos(offset, cst) { - if (typeof offset !== 'number' || offset < 0) return null; - const { - lineStarts, - src - } = getSrcInfo(cst); - if (!lineStarts || !src || offset > src.length) return null; - - for (let i = 0; i < lineStarts.length; ++i) { - const start = lineStarts[i]; - - if (offset < start) { - return { - line: i, - col: offset - lineStarts[i - 1] + 1 - }; - } - - if (offset === start) return { - line: i + 1, - col: 1 - }; - } - - const line = lineStarts.length; - return { - line, - col: offset - lineStarts[line - 1] + 1 - }; -} -/** - * Get a specified line from the source. - * - * Accepts a source string or a CST document as the second parameter. With - * the latter, starting indices for lines are cached in the document as - * `lineStarts: number[]`. - * - * Returns the line as a string if found, or `null` otherwise. - * - * @param {number} line One-indexed line number - * @param {string|Document|Document[]} cst - * @returns {?string} - */ - -function getLine(line, cst) { - const { - lineStarts, - src - } = getSrcInfo(cst); - if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null; - const start = lineStarts[line - 1]; - let end = lineStarts[line]; // undefined for last line; that's ok for slice() - - while (end && end > start && src[end - 1] === '\n') --end; - - return src.slice(start, end); -} -/** - * Pretty-print the starting line from the source indicated by the range `pos` - * - * Trims output to `maxWidth` chars while keeping the starting column visible, - * using `…` at either end to indicate dropped characters. - * - * Returns a two-line string (or `null`) with `\n` as separator; the second line - * will hold appropriately indented `^` marks indicating the column range. - * - * @param {Object} pos - * @param {LinePos} pos.start - * @param {LinePos} [pos.end] - * @param {string|Document|Document[]*} cst - * @param {number} [maxWidth=80] - * @returns {?string} - */ - -function getPrettyContext({ - start, - end -}, cst, maxWidth = 80) { - let src = getLine(start.line, cst); - if (!src) return null; - let { - col - } = start; - - if (src.length > maxWidth) { - if (col <= maxWidth - 10) { - src = src.substr(0, maxWidth - 1) + '…'; - } else { - const halfWidth = Math.round(maxWidth / 2); - if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…'; - col -= src.length - maxWidth; - src = '…' + src.substr(1 - maxWidth); - } - } - - let errLen = 1; - let errEnd = ''; - - if (end) { - if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) { - errLen = end.col - start.col; - } else { - errLen = Math.min(src.length + 1, maxWidth) - col; - errEnd = '…'; - } - } - - const offset = col > 1 ? ' '.repeat(col - 1) : ''; - const err = '^'.repeat(errLen); - return `${src}\n${offset}${err}${errEnd}`; -} - -class Range { - static copy(orig) { - return new Range(orig.start, orig.end); - } - - constructor(start, end) { - this.start = start; - this.end = end || start; - } - - isEmpty() { - return typeof this.start !== 'number' || !this.end || this.end <= this.start; - } - /** - * Set `origStart` and `origEnd` to point to the original source range for - * this node, which may differ due to dropped CR characters. - * - * @param {number[]} cr - Positions of dropped CR characters - * @param {number} offset - Starting index of `cr` from the last call - * @returns {number} - The next offset, matching the one found for `origStart` - */ - - - setOrigRange(cr, offset) { - const { - start, - end - } = this; - - if (cr.length === 0 || end <= cr[0]) { - this.origStart = start; - this.origEnd = end; - return offset; - } - - let i = offset; - - while (i < cr.length) { - if (cr[i] > start) break;else ++i; - } - - this.origStart = start + i; - const nextOffset = i; - - while (i < cr.length) { - // if end was at \n, it should now be at \r - if (cr[i] >= end) break;else ++i; - } - - this.origEnd = end + i; - return nextOffset; - } - -} - -/** Root class of all nodes */ - -class Node { - static addStringTerminator(src, offset, str) { - if (str[str.length - 1] === '\n') return str; - const next = Node.endOfWhiteSpace(src, offset); - return next >= src.length || src[next] === '\n' ? str + '\n' : str; - } // ^(---|...) - - - static atDocumentBoundary(src, offset, sep) { - const ch0 = src[offset]; - if (!ch0) return true; - const prev = src[offset - 1]; - if (prev && prev !== '\n') return false; - - if (sep) { - if (ch0 !== sep) return false; - } else { - if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false; - } - - const ch1 = src[offset + 1]; - const ch2 = src[offset + 2]; - if (ch1 !== ch0 || ch2 !== ch0) return false; - const ch3 = src[offset + 3]; - return !ch3 || ch3 === '\n' || ch3 === '\t' || ch3 === ' '; - } - - static endOfIdentifier(src, offset) { - let ch = src[offset]; - const isVerbatim = ch === '<'; - const notOk = isVerbatim ? ['\n', '\t', ' ', '>'] : ['\n', '\t', ' ', '[', ']', '{', '}', ',']; - - while (ch && notOk.indexOf(ch) === -1) ch = src[offset += 1]; - - if (isVerbatim && ch === '>') offset += 1; - return offset; - } - - static endOfIndent(src, offset) { - let ch = src[offset]; - - while (ch === ' ') ch = src[offset += 1]; - - return offset; - } - - static endOfLine(src, offset) { - let ch = src[offset]; - - while (ch && ch !== '\n') ch = src[offset += 1]; - - return offset; - } - - static endOfWhiteSpace(src, offset) { - let ch = src[offset]; - - while (ch === '\t' || ch === ' ') ch = src[offset += 1]; - - return offset; - } - - static startOfLine(src, offset) { - let ch = src[offset - 1]; - if (ch === '\n') return offset; - - while (ch && ch !== '\n') ch = src[offset -= 1]; - - return offset + 1; - } - /** - * End of indentation, or null if the line's indent level is not more - * than `indent` - * - * @param {string} src - * @param {number} indent - * @param {number} lineStart - * @returns {?number} - */ - - - static endOfBlockIndent(src, indent, lineStart) { - const inEnd = Node.endOfIndent(src, lineStart); - - if (inEnd > lineStart + indent) { - return inEnd; - } else { - const wsEnd = Node.endOfWhiteSpace(src, inEnd); - const ch = src[wsEnd]; - if (!ch || ch === '\n') return wsEnd; - } - - return null; - } - - static atBlank(src, offset, endAsBlank) { - const ch = src[offset]; - return ch === '\n' || ch === '\t' || ch === ' ' || endAsBlank && !ch; - } - - static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) { - if (!ch || indentDiff < 0) return false; - if (indentDiff > 0) return true; - return indicatorAsIndent && ch === '-'; - } // should be at line or string end, or at next non-whitespace char - - - static normalizeOffset(src, offset) { - const ch = src[offset]; - return !ch ? offset : ch !== '\n' && src[offset - 1] === '\n' ? offset - 1 : Node.endOfWhiteSpace(src, offset); - } // fold single newline into space, multiple newlines to N - 1 newlines - // presumes src[offset] === '\n' - - - static foldNewline(src, offset, indent) { - let inCount = 0; - let error = false; - let fold = ''; - let ch = src[offset + 1]; - - while (ch === ' ' || ch === '\t' || ch === '\n') { - switch (ch) { - case '\n': - inCount = 0; - offset += 1; - fold += '\n'; - break; - - case '\t': - if (inCount <= indent) error = true; - offset = Node.endOfWhiteSpace(src, offset + 2) - 1; - break; - - case ' ': - inCount += 1; - offset += 1; - break; - } - - ch = src[offset + 1]; - } - - if (!fold) fold = ' '; - if (ch && inCount <= indent) error = true; - return { - fold, - offset, - error - }; - } - - constructor(type, props, context) { - Object.defineProperty(this, 'context', { - value: context || null, - writable: true - }); - this.error = null; - this.range = null; - this.valueRange = null; - this.props = props || []; - this.type = type; - this.value = null; - } - - getPropValue(idx, key, skipKey) { - if (!this.context) return null; - const { - src - } = this.context; - const prop = this.props[idx]; - return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null; - } - - get anchor() { - for (let i = 0; i < this.props.length; ++i) { - const anchor = this.getPropValue(i, Char.ANCHOR, true); - if (anchor != null) return anchor; - } - - return null; - } - - get comment() { - const comments = []; - - for (let i = 0; i < this.props.length; ++i) { - const comment = this.getPropValue(i, Char.COMMENT, true); - if (comment != null) comments.push(comment); - } - - return comments.length > 0 ? comments.join('\n') : null; - } - - commentHasRequiredWhitespace(start) { - const { - src - } = this.context; - if (this.header && start === this.header.end) return false; - if (!this.valueRange) return false; - const { - end - } = this.valueRange; - return start !== end || Node.atBlank(src, end - 1); - } - - get hasComment() { - if (this.context) { - const { - src - } = this.context; - - for (let i = 0; i < this.props.length; ++i) { - if (src[this.props[i].start] === Char.COMMENT) return true; - } - } - - return false; - } - - get hasProps() { - if (this.context) { - const { - src - } = this.context; - - for (let i = 0; i < this.props.length; ++i) { - if (src[this.props[i].start] !== Char.COMMENT) return true; - } - } - - return false; - } - - get includesTrailingLines() { - return false; - } - - get jsonLike() { - const jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE]; - return jsonLikeTypes.indexOf(this.type) !== -1; - } - - get rangeAsLinePos() { - if (!this.range || !this.context) return undefined; - const start = getLinePos(this.range.start, this.context.root); - if (!start) return undefined; - const end = getLinePos(this.range.end, this.context.root); - return { - start, - end - }; - } - - get rawValue() { - if (!this.valueRange || !this.context) return null; - const { - start, - end - } = this.valueRange; - return this.context.src.slice(start, end); - } - - get tag() { - for (let i = 0; i < this.props.length; ++i) { - const tag = this.getPropValue(i, Char.TAG, false); - - if (tag != null) { - if (tag[1] === '<') { - return { - verbatim: tag.slice(2, -1) - }; - } else { - // eslint-disable-next-line no-unused-vars - const [_, handle, suffix] = tag.match(/^(.*!)([^!]*)$/); - return { - handle, - suffix - }; - } - } - } - - return null; - } - - get valueRangeContainsNewline() { - if (!this.valueRange || !this.context) return false; - const { - start, - end - } = this.valueRange; - const { - src - } = this.context; - - for (let i = start; i < end; ++i) { - if (src[i] === '\n') return true; - } - - return false; - } - - parseComment(start) { - const { - src - } = this.context; - - if (src[start] === Char.COMMENT) { - const end = Node.endOfLine(src, start + 1); - const commentRange = new Range(start, end); - this.props.push(commentRange); - return end; - } - - return start; - } - /** - * Populates the `origStart` and `origEnd` values of all ranges for this - * node. Extended by child classes to handle descendant nodes. - * - * @param {number[]} cr - Positions of dropped CR characters - * @param {number} offset - Starting index of `cr` from the last call - * @returns {number} - The next offset, matching the one found for `origStart` - */ - - - setOrigRanges(cr, offset) { - if (this.range) offset = this.range.setOrigRange(cr, offset); - if (this.valueRange) this.valueRange.setOrigRange(cr, offset); - this.props.forEach(prop => prop.setOrigRange(cr, offset)); - return offset; - } - - toString() { - const { - context: { - src - }, - range, - value - } = this; - if (value != null) return value; - const str = src.slice(range.start, range.end); - return Node.addStringTerminator(src, range.end, str); - } - -} - -class YAMLError extends Error { - constructor(name, source, message) { - if (!message || !(source instanceof Node)) throw new Error(`Invalid arguments for new ${name}`); - super(); - this.name = name; - this.message = message; - this.source = source; - } - - makePretty() { - if (!this.source) return; - this.nodeType = this.source.type; - const cst = this.source.context && this.source.context.root; - - if (typeof this.offset === 'number') { - this.range = new Range(this.offset, this.offset + 1); - const start = cst && getLinePos(this.offset, cst); - - if (start) { - const end = { - line: start.line, - col: start.col + 1 - }; - this.linePos = { - start, - end - }; - } - - delete this.offset; - } else { - this.range = this.source.range; - this.linePos = this.source.rangeAsLinePos; - } - - if (this.linePos) { - const { - line, - col - } = this.linePos.start; - this.message += ` at line ${line}, column ${col}`; - const ctx = cst && getPrettyContext(this.linePos, cst); - if (ctx) this.message += `:\n\n${ctx}\n`; - } - - delete this.source; - } - -} -class YAMLReferenceError extends YAMLError { - constructor(source, message) { - super('YAMLReferenceError', source, message); - } - -} -class YAMLSemanticError extends YAMLError { - constructor(source, message) { - super('YAMLSemanticError', source, message); - } - -} -class YAMLSyntaxError extends YAMLError { - constructor(source, message) { - super('YAMLSyntaxError', source, message); - } - -} -class YAMLWarning extends YAMLError { - constructor(source, message) { - super('YAMLWarning', source, message); - } - -} - -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} - -class PlainValue extends Node { - static endOfLine(src, start, inFlow) { - let ch = src[start]; - let offset = start; - - while (ch && ch !== '\n') { - if (inFlow && (ch === '[' || ch === ']' || ch === '{' || ch === '}' || ch === ',')) break; - const next = src[offset + 1]; - if (ch === ':' && (!next || next === '\n' || next === '\t' || next === ' ' || inFlow && next === ',')) break; - if ((ch === ' ' || ch === '\t') && next === '#') break; - offset += 1; - ch = next; - } - - return offset; - } - - get strValue() { - if (!this.valueRange || !this.context) return null; - let { - start, - end - } = this.valueRange; - const { - src - } = this.context; - let ch = src[end - 1]; - - while (start < end && (ch === '\n' || ch === '\t' || ch === ' ')) ch = src[--end - 1]; - - let str = ''; - - for (let i = start; i < end; ++i) { - const ch = src[i]; - - if (ch === '\n') { - const { - fold, - offset - } = Node.foldNewline(src, i, -1); - str += fold; - i = offset; - } else if (ch === ' ' || ch === '\t') { - // trim trailing whitespace - const wsStart = i; - let next = src[i + 1]; - - while (i < end && (next === ' ' || next === '\t')) { - i += 1; - next = src[i + 1]; - } - - if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch; - } else { - str += ch; - } - } - - const ch0 = src[start]; - - switch (ch0) { - case '\t': - { - const msg = 'Plain value cannot start with a tab character'; - const errors = [new YAMLSemanticError(this, msg)]; - return { - errors, - str - }; - } - - case '@': - case '`': - { - const msg = `Plain value cannot start with reserved character ${ch0}`; - const errors = [new YAMLSemanticError(this, msg)]; - return { - errors, - str - }; - } - - default: - return str; - } - } - - parseBlockValue(start) { - const { - indent, - inFlow, - src - } = this.context; - let offset = start; - let valueEnd = start; - - for (let ch = src[offset]; ch === '\n'; ch = src[offset]) { - if (Node.atDocumentBoundary(src, offset + 1)) break; - const end = Node.endOfBlockIndent(src, indent, offset + 1); - if (end === null || src[end] === '#') break; - - if (src[end] === '\n') { - offset = end; - } else { - valueEnd = PlainValue.endOfLine(src, end, inFlow); - offset = valueEnd; - } - } - - if (this.valueRange.isEmpty()) this.valueRange.start = start; - this.valueRange.end = valueEnd; - return valueEnd; - } - /** - * Parses a plain value from the source - * - * Accepted forms are: - * ``` - * #comment - * - * first line - * - * first line #comment - * - * first line - * block - * lines - * - * #comment - * block - * lines - * ``` - * where block lines are empty or have an indent level greater than `indent`. - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar, may be `\n` - */ - - - parse(context, start) { - this.context = context; - const { - inFlow, - src - } = context; - let offset = start; - const ch = src[offset]; - - if (ch && ch !== '#' && ch !== '\n') { - offset = PlainValue.endOfLine(src, start, inFlow); - } - - this.valueRange = new Range(start, offset); - offset = Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - - if (!this.hasComment || this.valueRange.isEmpty()) { - offset = this.parseBlockValue(offset); - } - - return offset; - } - -} - -exports.Char = Char; -exports.Node = Node; -exports.PlainValue = PlainValue; -exports.Range = Range; -exports.Type = Type; -exports.YAMLError = YAMLError; -exports.YAMLReferenceError = YAMLReferenceError; -exports.YAMLSemanticError = YAMLSemanticError; -exports.YAMLSyntaxError = YAMLSyntaxError; -exports.YAMLWarning = YAMLWarning; -exports._defineProperty = _defineProperty; -exports.defaultTagPrefix = defaultTagPrefix; -exports.defaultTags = defaultTags; diff --git a/node_modules/yaml/dist/Schema-88e323a7.js b/node_modules/yaml/dist/Schema-88e323a7.js deleted file mode 100644 index 5de109f3f9..0000000000 --- a/node_modules/yaml/dist/Schema-88e323a7.js +++ /dev/null @@ -1,525 +0,0 @@ -'use strict'; - -var PlainValue = require('./PlainValue-ec8e588e.js'); -var resolveSeq = require('./resolveSeq-d03cb037.js'); -var warnings = require('./warnings-1000a372.js'); - -function createMap(schema, obj, ctx) { - const map = new resolveSeq.YAMLMap(schema); - - if (obj instanceof Map) { - for (const [key, value] of obj) map.items.push(schema.createPair(key, value, ctx)); - } else if (obj && typeof obj === 'object') { - for (const key of Object.keys(obj)) map.items.push(schema.createPair(key, obj[key], ctx)); - } - - if (typeof schema.sortMapEntries === 'function') { - map.items.sort(schema.sortMapEntries); - } - - return map; -} - -const map = { - createNode: createMap, - default: true, - nodeClass: resolveSeq.YAMLMap, - tag: 'tag:yaml.org,2002:map', - resolve: resolveSeq.resolveMap -}; - -function createSeq(schema, obj, ctx) { - const seq = new resolveSeq.YAMLSeq(schema); - - if (obj && obj[Symbol.iterator]) { - for (const it of obj) { - const v = schema.createNode(it, ctx.wrapScalars, null, ctx); - seq.items.push(v); - } - } - - return seq; -} - -const seq = { - createNode: createSeq, - default: true, - nodeClass: resolveSeq.YAMLSeq, - tag: 'tag:yaml.org,2002:seq', - resolve: resolveSeq.resolveSeq -}; - -const string = { - identify: value => typeof value === 'string', - default: true, - tag: 'tag:yaml.org,2002:str', - resolve: resolveSeq.resolveString, - - stringify(item, ctx, onComment, onChompKeep) { - ctx = Object.assign({ - actualString: true - }, ctx); - return resolveSeq.stringifyString(item, ctx, onComment, onChompKeep); - }, - - options: resolveSeq.strOptions -}; - -const failsafe = [map, seq, string]; - -/* global BigInt */ - -const intIdentify$2 = value => typeof value === 'bigint' || Number.isInteger(value); - -const intResolve$1 = (src, part, radix) => resolveSeq.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix); - -function intStringify$1(node, radix, prefix) { - const { - value - } = node; - if (intIdentify$2(value) && value >= 0) return prefix + value.toString(radix); - return resolveSeq.stringifyNumber(node); -} - -const nullObj = { - identify: value => value == null, - createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, - default: true, - tag: 'tag:yaml.org,2002:null', - test: /^(?:~|[Nn]ull|NULL)?$/, - resolve: () => null, - options: resolveSeq.nullOptions, - stringify: () => resolveSeq.nullOptions.nullStr -}; -const boolObj = { - identify: value => typeof value === 'boolean', - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/, - resolve: str => str[0] === 't' || str[0] === 'T', - options: resolveSeq.boolOptions, - stringify: ({ - value - }) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr -}; -const octObj = { - identify: value => intIdentify$2(value) && value >= 0, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'OCT', - test: /^0o([0-7]+)$/, - resolve: (str, oct) => intResolve$1(str, oct, 8), - options: resolveSeq.intOptions, - stringify: node => intStringify$1(node, 8, '0o') -}; -const intObj = { - identify: intIdentify$2, - default: true, - tag: 'tag:yaml.org,2002:int', - test: /^[-+]?[0-9]+$/, - resolve: str => intResolve$1(str, str, 10), - options: resolveSeq.intOptions, - stringify: resolveSeq.stringifyNumber -}; -const hexObj = { - identify: value => intIdentify$2(value) && value >= 0, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'HEX', - test: /^0x([0-9a-fA-F]+)$/, - resolve: (str, hex) => intResolve$1(str, hex, 16), - options: resolveSeq.intOptions, - stringify: node => intStringify$1(node, 16, '0x') -}; -const nanObj = { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^(?:[-+]?\.inf|(\.nan))$/i, - resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY, - stringify: resolveSeq.stringifyNumber -}; -const expObj = { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - format: 'EXP', - test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/, - resolve: str => parseFloat(str), - stringify: ({ - value - }) => Number(value).toExponential() -}; -const floatObj = { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/, - - resolve(str, frac1, frac2) { - const frac = frac1 || frac2; - const node = new resolveSeq.Scalar(parseFloat(str)); - if (frac && frac[frac.length - 1] === '0') node.minFractionDigits = frac.length; - return node; - }, - - stringify: resolveSeq.stringifyNumber -}; -const core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]); - -/* global BigInt */ - -const intIdentify$1 = value => typeof value === 'bigint' || Number.isInteger(value); - -const stringifyJSON = ({ - value -}) => JSON.stringify(value); - -const json = [map, seq, { - identify: value => typeof value === 'string', - default: true, - tag: 'tag:yaml.org,2002:str', - resolve: resolveSeq.resolveString, - stringify: stringifyJSON -}, { - identify: value => value == null, - createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, - default: true, - tag: 'tag:yaml.org,2002:null', - test: /^null$/, - resolve: () => null, - stringify: stringifyJSON -}, { - identify: value => typeof value === 'boolean', - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^true|false$/, - resolve: str => str === 'true', - stringify: stringifyJSON -}, { - identify: intIdentify$1, - default: true, - tag: 'tag:yaml.org,2002:int', - test: /^-?(?:0|[1-9][0-9]*)$/, - resolve: str => resolveSeq.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10), - stringify: ({ - value - }) => intIdentify$1(value) ? value.toString() : JSON.stringify(value) -}, { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/, - resolve: str => parseFloat(str), - stringify: stringifyJSON -}]; - -json.scalarFallback = str => { - throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(str)}`); -}; - -/* global BigInt */ - -const boolStringify = ({ - value -}) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr; - -const intIdentify = value => typeof value === 'bigint' || Number.isInteger(value); - -function intResolve(sign, src, radix) { - let str = src.replace(/_/g, ''); - - if (resolveSeq.intOptions.asBigInt) { - switch (radix) { - case 2: - str = `0b${str}`; - break; - - case 8: - str = `0o${str}`; - break; - - case 16: - str = `0x${str}`; - break; - } - - const n = BigInt(str); - return sign === '-' ? BigInt(-1) * n : n; - } - - const n = parseInt(str, radix); - return sign === '-' ? -1 * n : n; -} - -function intStringify(node, radix, prefix) { - const { - value - } = node; - - if (intIdentify(value)) { - const str = value.toString(radix); - return value < 0 ? '-' + prefix + str.substr(1) : prefix + str; - } - - return resolveSeq.stringifyNumber(node); -} - -const yaml11 = failsafe.concat([{ - identify: value => value == null, - createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, - default: true, - tag: 'tag:yaml.org,2002:null', - test: /^(?:~|[Nn]ull|NULL)?$/, - resolve: () => null, - options: resolveSeq.nullOptions, - stringify: () => resolveSeq.nullOptions.nullStr -}, { - identify: value => typeof value === 'boolean', - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/, - resolve: () => true, - options: resolveSeq.boolOptions, - stringify: boolStringify -}, { - identify: value => typeof value === 'boolean', - default: true, - tag: 'tag:yaml.org,2002:bool', - test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i, - resolve: () => false, - options: resolveSeq.boolOptions, - stringify: boolStringify -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'BIN', - test: /^([-+]?)0b([0-1_]+)$/, - resolve: (str, sign, bin) => intResolve(sign, bin, 2), - stringify: node => intStringify(node, 2, '0b') -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'OCT', - test: /^([-+]?)0([0-7_]+)$/, - resolve: (str, sign, oct) => intResolve(sign, oct, 8), - stringify: node => intStringify(node, 8, '0') -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - test: /^([-+]?)([0-9][0-9_]*)$/, - resolve: (str, sign, abs) => intResolve(sign, abs, 10), - stringify: resolveSeq.stringifyNumber -}, { - identify: intIdentify, - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'HEX', - test: /^([-+]?)0x([0-9a-fA-F_]+)$/, - resolve: (str, sign, hex) => intResolve(sign, hex, 16), - stringify: node => intStringify(node, 16, '0x') -}, { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^(?:[-+]?\.inf|(\.nan))$/i, - resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY, - stringify: resolveSeq.stringifyNumber -}, { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - format: 'EXP', - test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/, - resolve: str => parseFloat(str.replace(/_/g, '')), - stringify: ({ - value - }) => Number(value).toExponential() -}, { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/, - - resolve(str, frac) { - const node = new resolveSeq.Scalar(parseFloat(str.replace(/_/g, ''))); - - if (frac) { - const f = frac.replace(/_/g, ''); - if (f[f.length - 1] === '0') node.minFractionDigits = f.length; - } - - return node; - }, - - stringify: resolveSeq.stringifyNumber -}], warnings.binary, warnings.omap, warnings.pairs, warnings.set, warnings.intTime, warnings.floatTime, warnings.timestamp); - -const schemas = { - core, - failsafe, - json, - yaml11 -}; -const tags = { - binary: warnings.binary, - bool: boolObj, - float: floatObj, - floatExp: expObj, - floatNaN: nanObj, - floatTime: warnings.floatTime, - int: intObj, - intHex: hexObj, - intOct: octObj, - intTime: warnings.intTime, - map, - null: nullObj, - omap: warnings.omap, - pairs: warnings.pairs, - seq, - set: warnings.set, - timestamp: warnings.timestamp -}; - -function findTagObject(value, tagName, tags) { - if (tagName) { - const match = tags.filter(t => t.tag === tagName); - const tagObj = match.find(t => !t.format) || match[0]; - if (!tagObj) throw new Error(`Tag ${tagName} not found`); - return tagObj; - } // TODO: deprecate/remove class check - - - return tags.find(t => (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format); -} - -function createNode(value, tagName, ctx) { - if (value instanceof resolveSeq.Node) return value; - const { - defaultPrefix, - onTagObj, - prevObjects, - schema, - wrapScalars - } = ctx; - if (tagName && tagName.startsWith('!!')) tagName = defaultPrefix + tagName.slice(2); - let tagObj = findTagObject(value, tagName, schema.tags); - - if (!tagObj) { - if (typeof value.toJSON === 'function') value = value.toJSON(); - if (!value || typeof value !== 'object') return wrapScalars ? new resolveSeq.Scalar(value) : value; - tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map; - } - - if (onTagObj) { - onTagObj(tagObj); - delete ctx.onTagObj; - } // Detect duplicate references to the same object & use Alias nodes for all - // after first. The `obj` wrapper allows for circular references to resolve. - - - const obj = { - value: undefined, - node: undefined - }; - - if (value && typeof value === 'object' && prevObjects) { - const prev = prevObjects.get(value); - - if (prev) { - const alias = new resolveSeq.Alias(prev); // leaves source dirty; must be cleaned by caller - - ctx.aliasNodes.push(alias); // defined along with prevObjects - - return alias; - } - - obj.value = value; - prevObjects.set(value, obj); - } - - obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq.Scalar(value) : value; - if (tagName && obj.node instanceof resolveSeq.Node) obj.node.tag = tagName; - return obj.node; -} - -function getSchemaTags(schemas, knownTags, customTags, schemaId) { - let tags = schemas[schemaId.replace(/\W/g, '')]; // 'yaml-1.1' -> 'yaml11' - - if (!tags) { - const keys = Object.keys(schemas).map(key => JSON.stringify(key)).join(', '); - throw new Error(`Unknown schema "${schemaId}"; use one of ${keys}`); - } - - if (Array.isArray(customTags)) { - for (const tag of customTags) tags = tags.concat(tag); - } else if (typeof customTags === 'function') { - tags = customTags(tags.slice()); - } - - for (let i = 0; i < tags.length; ++i) { - const tag = tags[i]; - - if (typeof tag === 'string') { - const tagObj = knownTags[tag]; - - if (!tagObj) { - const keys = Object.keys(knownTags).map(key => JSON.stringify(key)).join(', '); - throw new Error(`Unknown custom tag "${tag}"; use one of ${keys}`); - } - - tags[i] = tagObj; - } - } - - return tags; -} - -const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0; - -class Schema { - // TODO: remove in v2 - // TODO: remove in v2 - constructor({ - customTags, - merge, - schema, - sortMapEntries, - tags: deprecatedCustomTags - }) { - this.merge = !!merge; - this.name = schema; - this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null; - if (!customTags && deprecatedCustomTags) warnings.warnOptionDeprecation('tags', 'customTags'); - this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema); - } - - createNode(value, wrapScalars, tagName, ctx) { - const baseCtx = { - defaultPrefix: Schema.defaultPrefix, - schema: this, - wrapScalars - }; - const createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx; - return createNode(value, tagName, createCtx); - } - - createPair(key, value, ctx) { - if (!ctx) ctx = { - wrapScalars: true - }; - const k = this.createNode(key, ctx.wrapScalars, null, ctx); - const v = this.createNode(value, ctx.wrapScalars, null, ctx); - return new resolveSeq.Pair(k, v); - } - -} - -PlainValue._defineProperty(Schema, "defaultPrefix", PlainValue.defaultTagPrefix); - -PlainValue._defineProperty(Schema, "defaultTags", PlainValue.defaultTags); - -exports.Schema = Schema; diff --git a/node_modules/yaml/dist/index.js b/node_modules/yaml/dist/index.js deleted file mode 100644 index 6df1c77746..0000000000 --- a/node_modules/yaml/dist/index.js +++ /dev/null @@ -1,79 +0,0 @@ -'use strict'; - -var parseCst = require('./parse-cst.js'); -var Document$1 = require('./Document-9b4560a1.js'); -var Schema = require('./Schema-88e323a7.js'); -var PlainValue = require('./PlainValue-ec8e588e.js'); -var warnings = require('./warnings-1000a372.js'); -require('./resolveSeq-d03cb037.js'); - -function createNode(value, wrapScalars = true, tag) { - if (tag === undefined && typeof wrapScalars === 'string') { - tag = wrapScalars; - wrapScalars = true; - } - - const options = Object.assign({}, Document$1.Document.defaults[Document$1.defaultOptions.version], Document$1.defaultOptions); - const schema = new Schema.Schema(options); - return schema.createNode(value, wrapScalars, tag); -} - -class Document extends Document$1.Document { - constructor(options) { - super(Object.assign({}, Document$1.defaultOptions, options)); - } - -} - -function parseAllDocuments(src, options) { - const stream = []; - let prev; - - for (const cstDoc of parseCst.parse(src)) { - const doc = new Document(options); - doc.parse(cstDoc, prev); - stream.push(doc); - prev = doc; - } - - return stream; -} - -function parseDocument(src, options) { - const cst = parseCst.parse(src); - const doc = new Document(options).parse(cst[0]); - - if (cst.length > 1) { - const errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()'; - doc.errors.unshift(new PlainValue.YAMLSemanticError(cst[1], errMsg)); - } - - return doc; -} - -function parse(src, options) { - const doc = parseDocument(src, options); - doc.warnings.forEach(warning => warnings.warn(warning)); - if (doc.errors.length > 0) throw doc.errors[0]; - return doc.toJSON(); -} - -function stringify(value, options) { - const doc = new Document(options); - doc.contents = value; - return String(doc); -} - -const YAML = { - createNode, - defaultOptions: Document$1.defaultOptions, - Document, - parse, - parseAllDocuments, - parseCST: parseCst.parse, - parseDocument, - scalarOptions: Document$1.scalarOptions, - stringify -}; - -exports.YAML = YAML; diff --git a/node_modules/yaml/dist/legacy-exports.js b/node_modules/yaml/dist/legacy-exports.js deleted file mode 100644 index 9a5d037b7a..0000000000 --- a/node_modules/yaml/dist/legacy-exports.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var warnings = require('./warnings-1000a372.js'); -require('./PlainValue-ec8e588e.js'); -require('./resolveSeq-d03cb037.js'); - - - -exports.binary = warnings.binary; -exports.floatTime = warnings.floatTime; -exports.intTime = warnings.intTime; -exports.omap = warnings.omap; -exports.pairs = warnings.pairs; -exports.set = warnings.set; -exports.timestamp = warnings.timestamp; -exports.warnFileDeprecation = warnings.warnFileDeprecation; diff --git a/node_modules/yaml/dist/parse-cst.js b/node_modules/yaml/dist/parse-cst.js deleted file mode 100644 index d69bedc66e..0000000000 --- a/node_modules/yaml/dist/parse-cst.js +++ /dev/null @@ -1,1753 +0,0 @@ -'use strict'; - -var PlainValue = require('./PlainValue-ec8e588e.js'); - -class BlankLine extends PlainValue.Node { - constructor() { - super(PlainValue.Type.BLANK_LINE); - } - /* istanbul ignore next */ - - - get includesTrailingLines() { - // This is never called from anywhere, but if it were, - // this is the value it should return. - return true; - } - /** - * Parses a blank line from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first \n character - * @returns {number} - Index of the character after this - */ - - - parse(context, start) { - this.context = context; - this.range = new PlainValue.Range(start, start + 1); - return start + 1; - } - -} - -class CollectionItem extends PlainValue.Node { - constructor(type, props) { - super(type, props); - this.node = null; - } - - get includesTrailingLines() { - return !!this.node && this.node.includesTrailingLines; - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - - parse(context, start) { - this.context = context; - const { - parseNode, - src - } = context; - let { - atLineStart, - lineStart - } = context; - if (!atLineStart && this.type === PlainValue.Type.SEQ_ITEM) this.error = new PlainValue.YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line'); - const indent = atLineStart ? start - lineStart : context.indent; - let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1); - let ch = src[offset]; - const inlineComment = ch === '#'; - const comments = []; - let blankLine = null; - - while (ch === '\n' || ch === '#') { - if (ch === '#') { - const end = PlainValue.Node.endOfLine(src, offset + 1); - comments.push(new PlainValue.Range(offset, end)); - offset = end; - } else { - atLineStart = true; - lineStart = offset + 1; - const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart); - - if (src[wsEnd] === '\n' && comments.length === 0) { - blankLine = new BlankLine(); - lineStart = blankLine.parse({ - src - }, lineStart); - } - - offset = PlainValue.Node.endOfIndent(src, lineStart); - } - - ch = src[offset]; - } - - if (PlainValue.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValue.Type.SEQ_ITEM)) { - this.node = parseNode({ - atLineStart, - inCollection: false, - indent, - lineStart, - parent: this - }, offset); - } else if (ch && lineStart > start + 1) { - offset = lineStart - 1; - } - - if (this.node) { - if (blankLine) { - // Only blank lines preceding non-empty nodes are captured. Note that - // this means that collection item range start indices do not always - // increase monotonically. -- eemeli/yaml#126 - const items = context.parent.items || context.parent.contents; - if (items) items.push(blankLine); - } - - if (comments.length) Array.prototype.push.apply(this.props, comments); - offset = this.node.range.end; - } else { - if (inlineComment) { - const c = comments[0]; - this.props.push(c); - offset = c.end; - } else { - offset = PlainValue.Node.endOfLine(src, start + 1); - } - } - - const end = this.node ? this.node.valueRange.end : offset; - this.valueRange = new PlainValue.Range(start, end); - return offset; - } - - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - return this.node ? this.node.setOrigRanges(cr, offset) : offset; - } - - toString() { - const { - context: { - src - }, - node, - range, - value - } = this; - if (value != null) return value; - const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end); - return PlainValue.Node.addStringTerminator(src, range.end, str); - } - -} - -class Comment extends PlainValue.Node { - constructor() { - super(PlainValue.Type.COMMENT); - } - /** - * Parses a comment line from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - - - parse(context, start) { - this.context = context; - const offset = this.parseComment(start); - this.range = new PlainValue.Range(start, offset); - return offset; - } - -} - -function grabCollectionEndComments(node) { - let cnode = node; - - while (cnode instanceof CollectionItem) cnode = cnode.node; - - if (!(cnode instanceof Collection)) return null; - const len = cnode.items.length; - let ci = -1; - - for (let i = len - 1; i >= 0; --i) { - const n = cnode.items[i]; - - if (n.type === PlainValue.Type.COMMENT) { - // Keep sufficiently indented comments with preceding node - const { - indent, - lineStart - } = n.context; - if (indent > 0 && n.range.start >= lineStart + indent) break; - ci = i; - } else if (n.type === PlainValue.Type.BLANK_LINE) ci = i;else break; - } - - if (ci === -1) return null; - const ca = cnode.items.splice(ci, len - ci); - const prevEnd = ca[0].range.start; - - while (true) { - cnode.range.end = prevEnd; - if (cnode.valueRange && cnode.valueRange.end > prevEnd) cnode.valueRange.end = prevEnd; - if (cnode === node) break; - cnode = cnode.context.parent; - } - - return ca; -} -class Collection extends PlainValue.Node { - static nextContentHasIndent(src, offset, indent) { - const lineStart = PlainValue.Node.endOfLine(src, offset) + 1; - offset = PlainValue.Node.endOfWhiteSpace(src, lineStart); - const ch = src[offset]; - if (!ch) return false; - if (offset >= lineStart + indent) return true; - if (ch !== '#' && ch !== '\n') return false; - return Collection.nextContentHasIndent(src, offset, indent); - } - - constructor(firstItem) { - super(firstItem.type === PlainValue.Type.SEQ_ITEM ? PlainValue.Type.SEQ : PlainValue.Type.MAP); - - for (let i = firstItem.props.length - 1; i >= 0; --i) { - if (firstItem.props[i].start < firstItem.context.lineStart) { - // props on previous line are assumed by the collection - this.props = firstItem.props.slice(0, i + 1); - firstItem.props = firstItem.props.slice(i + 1); - const itemRange = firstItem.props[0] || firstItem.valueRange; - firstItem.range.start = itemRange.start; - break; - } - } - - this.items = [firstItem]; - const ec = grabCollectionEndComments(firstItem); - if (ec) Array.prototype.push.apply(this.items, ec); - } - - get includesTrailingLines() { - return this.items.length > 0; - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - - parse(context, start) { - this.context = context; - const { - parseNode, - src - } = context; // It's easier to recalculate lineStart here rather than tracking down the - // last context from which to read it -- eemeli/yaml#2 - - let lineStart = PlainValue.Node.startOfLine(src, start); - const firstItem = this.items[0]; // First-item context needs to be correct for later comment handling - // -- eemeli/yaml#17 - - firstItem.context.parent = this; - this.valueRange = PlainValue.Range.copy(firstItem.valueRange); - const indent = firstItem.range.start - firstItem.context.lineStart; - let offset = start; - offset = PlainValue.Node.normalizeOffset(src, offset); - let ch = src[offset]; - let atLineStart = PlainValue.Node.endOfWhiteSpace(src, lineStart) === offset; - let prevIncludesTrailingLines = false; - - while (ch) { - while (ch === '\n' || ch === '#') { - if (atLineStart && ch === '\n' && !prevIncludesTrailingLines) { - const blankLine = new BlankLine(); - offset = blankLine.parse({ - src - }, offset); - this.valueRange.end = offset; - - if (offset >= src.length) { - ch = null; - break; - } - - this.items.push(blankLine); - offset -= 1; // blankLine.parse() consumes terminal newline - } else if (ch === '#') { - if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) { - return offset; - } - - const comment = new Comment(); - offset = comment.parse({ - indent, - lineStart, - src - }, offset); - this.items.push(comment); - this.valueRange.end = offset; - - if (offset >= src.length) { - ch = null; - break; - } - } - - lineStart = offset + 1; - offset = PlainValue.Node.endOfIndent(src, lineStart); - - if (PlainValue.Node.atBlank(src, offset)) { - const wsEnd = PlainValue.Node.endOfWhiteSpace(src, offset); - const next = src[wsEnd]; - - if (!next || next === '\n' || next === '#') { - offset = wsEnd; - } - } - - ch = src[offset]; - atLineStart = true; - } - - if (!ch) { - break; - } - - if (offset !== lineStart + indent && (atLineStart || ch !== ':')) { - if (offset < lineStart + indent) { - if (lineStart > start) offset = lineStart; - break; - } else if (!this.error) { - const msg = 'All collection items must start at the same column'; - this.error = new PlainValue.YAMLSyntaxError(this, msg); - } - } - - if (firstItem.type === PlainValue.Type.SEQ_ITEM) { - if (ch !== '-') { - if (lineStart > start) offset = lineStart; - break; - } - } else if (ch === '-' && !this.error) { - // map key may start with -, as long as it's followed by a non-whitespace char - const next = src[offset + 1]; - - if (!next || next === '\n' || next === '\t' || next === ' ') { - const msg = 'A collection cannot be both a mapping and a sequence'; - this.error = new PlainValue.YAMLSyntaxError(this, msg); - } - } - - const node = parseNode({ - atLineStart, - inCollection: true, - indent, - lineStart, - parent: this - }, offset); - if (!node) return offset; // at next document start - - this.items.push(node); - this.valueRange.end = node.valueRange.end; - offset = PlainValue.Node.normalizeOffset(src, node.range.end); - ch = src[offset]; - atLineStart = false; - prevIncludesTrailingLines = node.includesTrailingLines; // Need to reset lineStart and atLineStart here if preceding node's range - // has advanced to check the current line's indentation level - // -- eemeli/yaml#10 & eemeli/yaml#38 - - if (ch) { - let ls = offset - 1; - let prev = src[ls]; - - while (prev === ' ' || prev === '\t') prev = src[--ls]; - - if (prev === '\n') { - lineStart = ls + 1; - atLineStart = true; - } - } - - const ec = grabCollectionEndComments(node); - if (ec) Array.prototype.push.apply(this.items, ec); - } - - return offset; - } - - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - this.items.forEach(node => { - offset = node.setOrigRanges(cr, offset); - }); - return offset; - } - - toString() { - const { - context: { - src - }, - items, - range, - value - } = this; - if (value != null) return value; - let str = src.slice(range.start, items[0].range.start) + String(items[0]); - - for (let i = 1; i < items.length; ++i) { - const item = items[i]; - const { - atLineStart, - indent - } = item.context; - if (atLineStart) for (let i = 0; i < indent; ++i) str += ' '; - str += String(item); - } - - return PlainValue.Node.addStringTerminator(src, range.end, str); - } - -} - -class Directive extends PlainValue.Node { - constructor() { - super(PlainValue.Type.DIRECTIVE); - this.name = null; - } - - get parameters() { - const raw = this.rawValue; - return raw ? raw.trim().split(/[ \t]+/) : []; - } - - parseName(start) { - const { - src - } = this.context; - let offset = start; - let ch = src[offset]; - - while (ch && ch !== '\n' && ch !== '\t' && ch !== ' ') ch = src[offset += 1]; - - this.name = src.slice(start, offset); - return offset; - } - - parseParameters(start) { - const { - src - } = this.context; - let offset = start; - let ch = src[offset]; - - while (ch && ch !== '\n' && ch !== '#') ch = src[offset += 1]; - - this.valueRange = new PlainValue.Range(start, offset); - return offset; - } - - parse(context, start) { - this.context = context; - let offset = this.parseName(start + 1); - offset = this.parseParameters(offset); - offset = this.parseComment(offset); - this.range = new PlainValue.Range(start, offset); - return offset; - } - -} - -class Document extends PlainValue.Node { - static startCommentOrEndBlankLine(src, start) { - const offset = PlainValue.Node.endOfWhiteSpace(src, start); - const ch = src[offset]; - return ch === '#' || ch === '\n' ? offset : start; - } - - constructor() { - super(PlainValue.Type.DOCUMENT); - this.directives = null; - this.contents = null; - this.directivesEndMarker = null; - this.documentEndMarker = null; - } - - parseDirectives(start) { - const { - src - } = this.context; - this.directives = []; - let atLineStart = true; - let hasDirectives = false; - let offset = start; - - while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DIRECTIVES_END)) { - offset = Document.startCommentOrEndBlankLine(src, offset); - - switch (src[offset]) { - case '\n': - if (atLineStart) { - const blankLine = new BlankLine(); - offset = blankLine.parse({ - src - }, offset); - - if (offset < src.length) { - this.directives.push(blankLine); - } - } else { - offset += 1; - atLineStart = true; - } - - break; - - case '#': - { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.directives.push(comment); - atLineStart = false; - } - break; - - case '%': - { - const directive = new Directive(); - offset = directive.parse({ - parent: this, - src - }, offset); - this.directives.push(directive); - hasDirectives = true; - atLineStart = false; - } - break; - - default: - if (hasDirectives) { - this.error = new PlainValue.YAMLSemanticError(this, 'Missing directives-end indicator line'); - } else if (this.directives.length > 0) { - this.contents = this.directives; - this.directives = []; - } - - return offset; - } - } - - if (src[offset]) { - this.directivesEndMarker = new PlainValue.Range(offset, offset + 3); - return offset + 3; - } - - if (hasDirectives) { - this.error = new PlainValue.YAMLSemanticError(this, 'Missing directives-end indicator line'); - } else if (this.directives.length > 0) { - this.contents = this.directives; - this.directives = []; - } - - return offset; - } - - parseContents(start) { - const { - parseNode, - src - } = this.context; - if (!this.contents) this.contents = []; - let lineStart = start; - - while (src[lineStart - 1] === '-') lineStart -= 1; - - let offset = PlainValue.Node.endOfWhiteSpace(src, start); - let atLineStart = lineStart === start; - this.valueRange = new PlainValue.Range(offset); - - while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DOCUMENT_END)) { - switch (src[offset]) { - case '\n': - if (atLineStart) { - const blankLine = new BlankLine(); - offset = blankLine.parse({ - src - }, offset); - - if (offset < src.length) { - this.contents.push(blankLine); - } - } else { - offset += 1; - atLineStart = true; - } - - lineStart = offset; - break; - - case '#': - { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.contents.push(comment); - atLineStart = false; - } - break; - - default: - { - const iEnd = PlainValue.Node.endOfIndent(src, offset); - const context = { - atLineStart, - indent: -1, - inFlow: false, - inCollection: false, - lineStart, - parent: this - }; - const node = parseNode(context, iEnd); - if (!node) return this.valueRange.end = iEnd; // at next document start - - this.contents.push(node); - offset = node.range.end; - atLineStart = false; - const ec = grabCollectionEndComments(node); - if (ec) Array.prototype.push.apply(this.contents, ec); - } - } - - offset = Document.startCommentOrEndBlankLine(src, offset); - } - - this.valueRange.end = offset; - - if (src[offset]) { - this.documentEndMarker = new PlainValue.Range(offset, offset + 3); - offset += 3; - - if (src[offset]) { - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - - if (src[offset] === '#') { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.contents.push(comment); - } - - switch (src[offset]) { - case '\n': - offset += 1; - break; - - case undefined: - break; - - default: - this.error = new PlainValue.YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix'); - } - } - } - - return offset; - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - - parse(context, start) { - context.root = this; - this.context = context; - const { - src - } = context; - let offset = src.charCodeAt(start) === 0xfeff ? start + 1 : start; // skip BOM - - offset = this.parseDirectives(offset); - offset = this.parseContents(offset); - return offset; - } - - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - this.directives.forEach(node => { - offset = node.setOrigRanges(cr, offset); - }); - if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset); - this.contents.forEach(node => { - offset = node.setOrigRanges(cr, offset); - }); - if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset); - return offset; - } - - toString() { - const { - contents, - directives, - value - } = this; - if (value != null) return value; - let str = directives.join(''); - - if (contents.length > 0) { - if (directives.length > 0 || contents[0].type === PlainValue.Type.COMMENT) str += '---\n'; - str += contents.join(''); - } - - if (str[str.length - 1] !== '\n') str += '\n'; - return str; - } - -} - -class Alias extends PlainValue.Node { - /** - * Parses an *alias from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = PlainValue.Node.endOfIdentifier(src, start + 1); - this.valueRange = new PlainValue.Range(start + 1, offset); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - -} - -const Chomp = { - CLIP: 'CLIP', - KEEP: 'KEEP', - STRIP: 'STRIP' -}; -class BlockValue extends PlainValue.Node { - constructor(type, props) { - super(type, props); - this.blockIndent = null; - this.chomping = Chomp.CLIP; - this.header = null; - } - - get includesTrailingLines() { - return this.chomping === Chomp.KEEP; - } - - get strValue() { - if (!this.valueRange || !this.context) return null; - let { - start, - end - } = this.valueRange; - const { - indent, - src - } = this.context; - if (this.valueRange.isEmpty()) return ''; - let lastNewLine = null; - let ch = src[end - 1]; - - while (ch === '\n' || ch === '\t' || ch === ' ') { - end -= 1; - - if (end <= start) { - if (this.chomping === Chomp.KEEP) break;else return ''; // probably never happens - } - - if (ch === '\n') lastNewLine = end; - ch = src[end - 1]; - } - - let keepStart = end + 1; - - if (lastNewLine) { - if (this.chomping === Chomp.KEEP) { - keepStart = lastNewLine; - end = this.valueRange.end; - } else { - end = lastNewLine; - } - } - - const bi = indent + this.blockIndent; - const folded = this.type === PlainValue.Type.BLOCK_FOLDED; - let atStart = true; - let str = ''; - let sep = ''; - let prevMoreIndented = false; - - for (let i = start; i < end; ++i) { - for (let j = 0; j < bi; ++j) { - if (src[i] !== ' ') break; - i += 1; - } - - const ch = src[i]; - - if (ch === '\n') { - if (sep === '\n') str += '\n';else sep = '\n'; - } else { - const lineEnd = PlainValue.Node.endOfLine(src, i); - const line = src.slice(i, lineEnd); - i = lineEnd; - - if (folded && (ch === ' ' || ch === '\t') && i < keepStart) { - if (sep === ' ') sep = '\n';else if (!prevMoreIndented && !atStart && sep === '\n') sep = '\n\n'; - str += sep + line; //+ ((lineEnd < end && src[lineEnd]) || '') - - sep = lineEnd < end && src[lineEnd] || ''; - prevMoreIndented = true; - } else { - str += sep + line; - sep = folded && i < keepStart ? ' ' : '\n'; - prevMoreIndented = false; - } - - if (atStart && line !== '') atStart = false; - } - } - - return this.chomping === Chomp.STRIP ? str : str + '\n'; - } - - parseBlockHeader(start) { - const { - src - } = this.context; - let offset = start + 1; - let bi = ''; - - while (true) { - const ch = src[offset]; - - switch (ch) { - case '-': - this.chomping = Chomp.STRIP; - break; - - case '+': - this.chomping = Chomp.KEEP; - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - bi += ch; - break; - - default: - this.blockIndent = Number(bi) || null; - this.header = new PlainValue.Range(start, offset); - return offset; - } - - offset += 1; - } - } - - parseBlockValue(start) { - const { - indent, - src - } = this.context; - const explicit = !!this.blockIndent; - let offset = start; - let valueEnd = start; - let minBlockIndent = 1; - - for (let ch = src[offset]; ch === '\n'; ch = src[offset]) { - offset += 1; - if (PlainValue.Node.atDocumentBoundary(src, offset)) break; - const end = PlainValue.Node.endOfBlockIndent(src, indent, offset); // should not include tab? - - if (end === null) break; - const ch = src[end]; - const lineIndent = end - (offset + indent); - - if (!this.blockIndent) { - // no explicit block indent, none yet detected - if (src[end] !== '\n') { - // first line with non-whitespace content - if (lineIndent < minBlockIndent) { - const msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator'; - this.error = new PlainValue.YAMLSemanticError(this, msg); - } - - this.blockIndent = lineIndent; - } else if (lineIndent > minBlockIndent) { - // empty line with more whitespace - minBlockIndent = lineIndent; - } - } else if (ch && ch !== '\n' && lineIndent < this.blockIndent) { - if (src[end] === '#') break; - - if (!this.error) { - const src = explicit ? 'explicit indentation indicator' : 'first line'; - const msg = `Block scalars must not be less indented than their ${src}`; - this.error = new PlainValue.YAMLSemanticError(this, msg); - } - } - - if (src[end] === '\n') { - offset = end; - } else { - offset = valueEnd = PlainValue.Node.endOfLine(src, end); - } - } - - if (this.chomping !== Chomp.KEEP) { - offset = src[valueEnd] ? valueEnd + 1 : valueEnd; - } - - this.valueRange = new PlainValue.Range(start + 1, offset); - return offset; - } - /** - * Parses a block value from the source - * - * Accepted forms are: - * ``` - * BS - * block - * lines - * - * BS #comment - * block - * lines - * ``` - * where the block style BS matches the regexp `[|>][-+1-9]*` and block lines - * are empty or have an indent level greater than `indent`. - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this block - */ - - - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = this.parseBlockHeader(start); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - offset = this.parseBlockValue(offset); - return offset; - } - - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - return this.header ? this.header.setOrigRange(cr, offset) : offset; - } - -} - -class FlowCollection extends PlainValue.Node { - constructor(type, props) { - super(type, props); - this.items = null; - } - - prevNodeIsJsonLike(idx = this.items.length) { - const node = this.items[idx - 1]; - return !!node && (node.jsonLike || node.type === PlainValue.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1)); - } - /** - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this - */ - - - parse(context, start) { - this.context = context; - const { - parseNode, - src - } = context; - let { - indent, - lineStart - } = context; - let char = src[start]; // { or [ - - this.items = [{ - char, - offset: start - }]; - let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1); - char = src[offset]; - - while (char && char !== ']' && char !== '}') { - switch (char) { - case '\n': - { - lineStart = offset + 1; - const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart); - - if (src[wsEnd] === '\n') { - const blankLine = new BlankLine(); - lineStart = blankLine.parse({ - src - }, lineStart); - this.items.push(blankLine); - } - - offset = PlainValue.Node.endOfIndent(src, lineStart); - - if (offset <= lineStart + indent) { - char = src[offset]; - - if (offset < lineStart + indent || char !== ']' && char !== '}') { - const msg = 'Insufficient indentation in flow collection'; - this.error = new PlainValue.YAMLSemanticError(this, msg); - } - } - } - break; - - case ',': - { - this.items.push({ - char, - offset - }); - offset += 1; - } - break; - - case '#': - { - const comment = new Comment(); - offset = comment.parse({ - src - }, offset); - this.items.push(comment); - } - break; - - case '?': - case ':': - { - const next = src[offset + 1]; - - if (next === '\n' || next === '\t' || next === ' ' || next === ',' || // in-flow : after JSON-like key does not need to be followed by whitespace - char === ':' && this.prevNodeIsJsonLike()) { - this.items.push({ - char, - offset - }); - offset += 1; - break; - } - } - // fallthrough - - default: - { - const node = parseNode({ - atLineStart: false, - inCollection: false, - inFlow: true, - indent: -1, - lineStart, - parent: this - }, offset); - - if (!node) { - // at next document start - this.valueRange = new PlainValue.Range(start, offset); - return offset; - } - - this.items.push(node); - offset = PlainValue.Node.normalizeOffset(src, node.range.end); - } - } - - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - char = src[offset]; - } - - this.valueRange = new PlainValue.Range(start, offset + 1); - - if (char) { - this.items.push({ - char, - offset - }); - offset = PlainValue.Node.endOfWhiteSpace(src, offset + 1); - offset = this.parseComment(offset); - } - - return offset; - } - - setOrigRanges(cr, offset) { - offset = super.setOrigRanges(cr, offset); - this.items.forEach(node => { - if (node instanceof PlainValue.Node) { - offset = node.setOrigRanges(cr, offset); - } else if (cr.length === 0) { - node.origOffset = node.offset; - } else { - let i = offset; - - while (i < cr.length) { - if (cr[i] > node.offset) break;else ++i; - } - - node.origOffset = node.offset + i; - offset = i; - } - }); - return offset; - } - - toString() { - const { - context: { - src - }, - items, - range, - value - } = this; - if (value != null) return value; - const nodes = items.filter(item => item instanceof PlainValue.Node); - let str = ''; - let prevEnd = range.start; - nodes.forEach(node => { - const prefix = src.slice(prevEnd, node.range.start); - prevEnd = node.range.end; - str += prefix + String(node); - - if (str[str.length - 1] === '\n' && src[prevEnd - 1] !== '\n' && src[prevEnd] === '\n') { - // Comment range does not include the terminal newline, but its - // stringified value does. Without this fix, newlines at comment ends - // get duplicated. - prevEnd += 1; - } - }); - str += src.slice(prevEnd, range.end); - return PlainValue.Node.addStringTerminator(src, range.end, str); - } - -} - -class QuoteDouble extends PlainValue.Node { - static endOfQuote(src, offset) { - let ch = src[offset]; - - while (ch && ch !== '"') { - offset += ch === '\\' ? 2 : 1; - ch = src[offset]; - } - - return offset + 1; - } - /** - * @returns {string | { str: string, errors: YAMLSyntaxError[] }} - */ - - - get strValue() { - if (!this.valueRange || !this.context) return null; - const errors = []; - const { - start, - end - } = this.valueRange; - const { - indent, - src - } = this.context; - if (src[end - 1] !== '"') errors.push(new PlainValue.YAMLSyntaxError(this, 'Missing closing "quote')); // Using String#replace is too painful with escaped newlines preceded by - // escaped backslashes; also, this should be faster. - - let str = ''; - - for (let i = start + 1; i < end - 1; ++i) { - const ch = src[i]; - - if (ch === '\n') { - if (PlainValue.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValue.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values')); - const { - fold, - offset, - error - } = PlainValue.Node.foldNewline(src, i, indent); - str += fold; - i = offset; - if (error) errors.push(new PlainValue.YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented')); - } else if (ch === '\\') { - i += 1; - - switch (src[i]) { - case '0': - str += '\0'; - break; - // null character - - case 'a': - str += '\x07'; - break; - // bell character - - case 'b': - str += '\b'; - break; - // backspace - - case 'e': - str += '\x1b'; - break; - // escape character - - case 'f': - str += '\f'; - break; - // form feed - - case 'n': - str += '\n'; - break; - // line feed - - case 'r': - str += '\r'; - break; - // carriage return - - case 't': - str += '\t'; - break; - // horizontal tab - - case 'v': - str += '\v'; - break; - // vertical tab - - case 'N': - str += '\u0085'; - break; - // Unicode next line - - case '_': - str += '\u00a0'; - break; - // Unicode non-breaking space - - case 'L': - str += '\u2028'; - break; - // Unicode line separator - - case 'P': - str += '\u2029'; - break; - // Unicode paragraph separator - - case ' ': - str += ' '; - break; - - case '"': - str += '"'; - break; - - case '/': - str += '/'; - break; - - case '\\': - str += '\\'; - break; - - case '\t': - str += '\t'; - break; - - case 'x': - str += this.parseCharCode(i + 1, 2, errors); - i += 2; - break; - - case 'u': - str += this.parseCharCode(i + 1, 4, errors); - i += 4; - break; - - case 'U': - str += this.parseCharCode(i + 1, 8, errors); - i += 8; - break; - - case '\n': - // skip escaped newlines, but still trim the following line - while (src[i + 1] === ' ' || src[i + 1] === '\t') i += 1; - - break; - - default: - errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`)); - str += '\\' + src[i]; - } - } else if (ch === ' ' || ch === '\t') { - // trim trailing whitespace - const wsStart = i; - let next = src[i + 1]; - - while (next === ' ' || next === '\t') { - i += 1; - next = src[i + 1]; - } - - if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch; - } else { - str += ch; - } - } - - return errors.length > 0 ? { - errors, - str - } : str; - } - - parseCharCode(offset, length, errors) { - const { - src - } = this.context; - const cc = src.substr(offset, length); - const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc); - const code = ok ? parseInt(cc, 16) : NaN; - - if (isNaN(code)) { - errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`)); - return src.substr(offset - 2, length + 2); - } - - return String.fromCodePoint(code); - } - /** - * Parses a "double quoted" value from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - - - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = QuoteDouble.endOfQuote(src, start + 1); - this.valueRange = new PlainValue.Range(start, offset); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - -} - -class QuoteSingle extends PlainValue.Node { - static endOfQuote(src, offset) { - let ch = src[offset]; - - while (ch) { - if (ch === "'") { - if (src[offset + 1] !== "'") break; - ch = src[offset += 2]; - } else { - ch = src[offset += 1]; - } - } - - return offset + 1; - } - /** - * @returns {string | { str: string, errors: YAMLSyntaxError[] }} - */ - - - get strValue() { - if (!this.valueRange || !this.context) return null; - const errors = []; - const { - start, - end - } = this.valueRange; - const { - indent, - src - } = this.context; - if (src[end - 1] !== "'") errors.push(new PlainValue.YAMLSyntaxError(this, "Missing closing 'quote")); - let str = ''; - - for (let i = start + 1; i < end - 1; ++i) { - const ch = src[i]; - - if (ch === '\n') { - if (PlainValue.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValue.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values')); - const { - fold, - offset, - error - } = PlainValue.Node.foldNewline(src, i, indent); - str += fold; - i = offset; - if (error) errors.push(new PlainValue.YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented')); - } else if (ch === "'") { - str += ch; - i += 1; - if (src[i] !== "'") errors.push(new PlainValue.YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.')); - } else if (ch === ' ' || ch === '\t') { - // trim trailing whitespace - const wsStart = i; - let next = src[i + 1]; - - while (next === ' ' || next === '\t') { - i += 1; - next = src[i + 1]; - } - - if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch; - } else { - str += ch; - } - } - - return errors.length > 0 ? { - errors, - str - } : str; - } - /** - * Parses a 'single quoted' value from the source - * - * @param {ParseContext} context - * @param {number} start - Index of first character - * @returns {number} - Index of the character after this scalar - */ - - - parse(context, start) { - this.context = context; - const { - src - } = context; - let offset = QuoteSingle.endOfQuote(src, start + 1); - this.valueRange = new PlainValue.Range(start, offset); - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - offset = this.parseComment(offset); - return offset; - } - -} - -function createNewNode(type, props) { - switch (type) { - case PlainValue.Type.ALIAS: - return new Alias(type, props); - - case PlainValue.Type.BLOCK_FOLDED: - case PlainValue.Type.BLOCK_LITERAL: - return new BlockValue(type, props); - - case PlainValue.Type.FLOW_MAP: - case PlainValue.Type.FLOW_SEQ: - return new FlowCollection(type, props); - - case PlainValue.Type.MAP_KEY: - case PlainValue.Type.MAP_VALUE: - case PlainValue.Type.SEQ_ITEM: - return new CollectionItem(type, props); - - case PlainValue.Type.COMMENT: - case PlainValue.Type.PLAIN: - return new PlainValue.PlainValue(type, props); - - case PlainValue.Type.QUOTE_DOUBLE: - return new QuoteDouble(type, props); - - case PlainValue.Type.QUOTE_SINGLE: - return new QuoteSingle(type, props); - - /* istanbul ignore next */ - - default: - return null; - // should never happen - } -} -/** - * @param {boolean} atLineStart - Node starts at beginning of line - * @param {boolean} inFlow - true if currently in a flow context - * @param {boolean} inCollection - true if currently in a collection context - * @param {number} indent - Current level of indentation - * @param {number} lineStart - Start of the current line - * @param {Node} parent - The parent of the node - * @param {string} src - Source of the YAML document - */ - - -class ParseContext { - static parseType(src, offset, inFlow) { - switch (src[offset]) { - case '*': - return PlainValue.Type.ALIAS; - - case '>': - return PlainValue.Type.BLOCK_FOLDED; - - case '|': - return PlainValue.Type.BLOCK_LITERAL; - - case '{': - return PlainValue.Type.FLOW_MAP; - - case '[': - return PlainValue.Type.FLOW_SEQ; - - case '?': - return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_KEY : PlainValue.Type.PLAIN; - - case ':': - return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_VALUE : PlainValue.Type.PLAIN; - - case '-': - return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.SEQ_ITEM : PlainValue.Type.PLAIN; - - case '"': - return PlainValue.Type.QUOTE_DOUBLE; - - case "'": - return PlainValue.Type.QUOTE_SINGLE; - - default: - return PlainValue.Type.PLAIN; - } - } - - constructor(orig = {}, { - atLineStart, - inCollection, - inFlow, - indent, - lineStart, - parent - } = {}) { - PlainValue._defineProperty(this, "parseNode", (overlay, start) => { - if (PlainValue.Node.atDocumentBoundary(this.src, start)) return null; - const context = new ParseContext(this, overlay); - const { - props, - type, - valueStart - } = context.parseProps(start); - const node = createNewNode(type, props); - let offset = node.parse(context, valueStart); - node.range = new PlainValue.Range(start, offset); - /* istanbul ignore if */ - - if (offset <= start) { - // This should never happen, but if it does, let's make sure to at least - // step one character forward to avoid a busy loop. - node.error = new Error(`Node#parse consumed no characters`); - node.error.parseEnd = offset; - node.error.source = node; - node.range.end = start + 1; - } - - if (context.nodeStartsCollection(node)) { - if (!node.error && !context.atLineStart && context.parent.type === PlainValue.Type.DOCUMENT) { - node.error = new PlainValue.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)'); - } - - const collection = new Collection(node); - offset = collection.parse(new ParseContext(context), offset); - collection.range = new PlainValue.Range(start, offset); - return collection; - } - - return node; - }); - - this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false; - this.inCollection = inCollection != null ? inCollection : orig.inCollection || false; - this.inFlow = inFlow != null ? inFlow : orig.inFlow || false; - this.indent = indent != null ? indent : orig.indent; - this.lineStart = lineStart != null ? lineStart : orig.lineStart; - this.parent = parent != null ? parent : orig.parent || {}; - this.root = orig.root; - this.src = orig.src; - } - - nodeStartsCollection(node) { - const { - inCollection, - inFlow, - src - } = this; - if (inCollection || inFlow) return false; - if (node instanceof CollectionItem) return true; // check for implicit key - - let offset = node.range.end; - if (src[offset] === '\n' || src[offset - 1] === '\n') return false; - offset = PlainValue.Node.endOfWhiteSpace(src, offset); - return src[offset] === ':'; - } // Anchor and tag are before type, which determines the node implementation - // class; hence this intermediate step. - - - parseProps(offset) { - const { - inFlow, - parent, - src - } = this; - const props = []; - let lineHasProps = false; - offset = this.atLineStart ? PlainValue.Node.endOfIndent(src, offset) : PlainValue.Node.endOfWhiteSpace(src, offset); - let ch = src[offset]; - - while (ch === PlainValue.Char.ANCHOR || ch === PlainValue.Char.COMMENT || ch === PlainValue.Char.TAG || ch === '\n') { - if (ch === '\n') { - let inEnd = offset; - let lineStart; - - do { - lineStart = inEnd + 1; - inEnd = PlainValue.Node.endOfIndent(src, lineStart); - } while (src[inEnd] === '\n'); - - const indentDiff = inEnd - (lineStart + this.indent); - const noIndicatorAsIndent = parent.type === PlainValue.Type.SEQ_ITEM && parent.context.atLineStart; - if (src[inEnd] !== '#' && !PlainValue.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break; - this.atLineStart = true; - this.lineStart = lineStart; - lineHasProps = false; - offset = inEnd; - } else if (ch === PlainValue.Char.COMMENT) { - const end = PlainValue.Node.endOfLine(src, offset + 1); - props.push(new PlainValue.Range(offset, end)); - offset = end; - } else { - let end = PlainValue.Node.endOfIdentifier(src, offset + 1); - - if (ch === PlainValue.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) { - // Let's presume we're dealing with a YAML 1.0 domain tag here, rather - // than an empty but 'foo.bar' private-tagged node in a flow collection - // followed without whitespace by a plain string starting with a year - // or date divided by something. - end = PlainValue.Node.endOfIdentifier(src, end + 5); - } - - props.push(new PlainValue.Range(offset, end)); - lineHasProps = true; - offset = PlainValue.Node.endOfWhiteSpace(src, end); - } - - ch = src[offset]; - } // '- &a : b' has an anchor on an empty node - - - if (lineHasProps && ch === ':' && PlainValue.Node.atBlank(src, offset + 1, true)) offset -= 1; - const type = ParseContext.parseType(src, offset, inFlow); - return { - props, - type, - valueStart: offset - }; - } - /** - * Parses a node from the source - * @param {ParseContext} overlay - * @param {number} start - Index of first non-whitespace character for the node - * @returns {?Node} - null if at a document boundary - */ - - -} - -// Published as 'yaml/parse-cst' -function parse(src) { - const cr = []; - - if (src.indexOf('\r') !== -1) { - src = src.replace(/\r\n?/g, (match, offset) => { - if (match.length > 1) cr.push(offset); - return '\n'; - }); - } - - const documents = []; - let offset = 0; - - do { - const doc = new Document(); - const context = new ParseContext({ - src - }); - offset = doc.parse(context, offset); - documents.push(doc); - } while (offset < src.length); - - documents.setOrigRanges = () => { - if (cr.length === 0) return false; - - for (let i = 1; i < cr.length; ++i) cr[i] -= i; - - let crOffset = 0; - - for (let i = 0; i < documents.length; ++i) { - crOffset = documents[i].setOrigRanges(cr, crOffset); - } - - cr.splice(0, cr.length); - return true; - }; - - documents.toString = () => documents.join('...\n'); - - return documents; -} - -exports.parse = parse; diff --git a/node_modules/yaml/dist/resolveSeq-d03cb037.js b/node_modules/yaml/dist/resolveSeq-d03cb037.js deleted file mode 100644 index d7c7c8c3c9..0000000000 --- a/node_modules/yaml/dist/resolveSeq-d03cb037.js +++ /dev/null @@ -1,2161 +0,0 @@ -'use strict'; - -var PlainValue = require('./PlainValue-ec8e588e.js'); - -function addCommentBefore(str, indent, comment) { - if (!comment) return str; - const cc = comment.replace(/[\s\S]^/gm, `$&${indent}#`); - return `#${cc}\n${indent}${str}`; -} -function addComment(str, indent, comment) { - return !comment ? str : comment.indexOf('\n') === -1 ? `${str} #${comment}` : `${str}\n` + comment.replace(/^/gm, `${indent || ''}#`); -} - -class Node {} - -function toJSON(value, arg, ctx) { - if (Array.isArray(value)) return value.map((v, i) => toJSON(v, String(i), ctx)); - - if (value && typeof value.toJSON === 'function') { - const anchor = ctx && ctx.anchors && ctx.anchors.get(value); - if (anchor) ctx.onCreate = res => { - anchor.res = res; - delete ctx.onCreate; - }; - const res = value.toJSON(arg, ctx); - if (anchor && ctx.onCreate) ctx.onCreate(res); - return res; - } - - if ((!ctx || !ctx.keep) && typeof value === 'bigint') return Number(value); - return value; -} - -class Scalar extends Node { - constructor(value) { - super(); - this.value = value; - } - - toJSON(arg, ctx) { - return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx); - } - - toString() { - return String(this.value); - } - -} - -function collectionFromPath(schema, path, value) { - let v = value; - - for (let i = path.length - 1; i >= 0; --i) { - const k = path[i]; - - if (Number.isInteger(k) && k >= 0) { - const a = []; - a[k] = v; - v = a; - } else { - const o = {}; - Object.defineProperty(o, k, { - value: v, - writable: true, - enumerable: true, - configurable: true - }); - v = o; - } - } - - return schema.createNode(v, false); -} // null, undefined, or an empty non-string iterable (e.g. []) - - -const isEmptyPath = path => path == null || typeof path === 'object' && path[Symbol.iterator]().next().done; -class Collection extends Node { - constructor(schema) { - super(); - - PlainValue._defineProperty(this, "items", []); - - this.schema = schema; - } - - addIn(path, value) { - if (isEmptyPath(path)) this.add(value);else { - const [key, ...rest] = path; - const node = this.get(key, true); - if (node instanceof Collection) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); - } - } - - deleteIn([key, ...rest]) { - if (rest.length === 0) return this.delete(key); - const node = this.get(key, true); - if (node instanceof Collection) return node.deleteIn(rest);else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); - } - - getIn([key, ...rest], keepScalar) { - const node = this.get(key, true); - if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection ? node.getIn(rest, keepScalar) : undefined; - } - - hasAllNullValues() { - return this.items.every(node => { - if (!node || node.type !== 'PAIR') return false; - const n = node.value; - return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag; - }); - } - - hasIn([key, ...rest]) { - if (rest.length === 0) return this.has(key); - const node = this.get(key, true); - return node instanceof Collection ? node.hasIn(rest) : false; - } - - setIn([key, ...rest], value) { - if (rest.length === 0) { - this.set(key, value); - } else { - const node = this.get(key, true); - if (node instanceof Collection) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); - } - } // overridden in implementations - - /* istanbul ignore next */ - - - toJSON() { - return null; - } - - toString(ctx, { - blockItem, - flowChars, - isMap, - itemIndent - }, onComment, onChompKeep) { - const { - indent, - indentStep, - stringify - } = ctx; - const inFlow = this.type === PlainValue.Type.FLOW_MAP || this.type === PlainValue.Type.FLOW_SEQ || ctx.inFlow; - if (inFlow) itemIndent += indentStep; - const allNullValues = isMap && this.hasAllNullValues(); - ctx = Object.assign({}, ctx, { - allNullValues, - indent: itemIndent, - inFlow, - type: null - }); - let chompKeep = false; - let hasItemWithNewLine = false; - const nodes = this.items.reduce((nodes, item, i) => { - let comment; - - if (item) { - if (!chompKeep && item.spaceBefore) nodes.push({ - type: 'comment', - str: '' - }); - if (item.commentBefore) item.commentBefore.match(/^.*$/gm).forEach(line => { - nodes.push({ - type: 'comment', - str: `#${line}` - }); - }); - if (item.comment) comment = item.comment; - if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) hasItemWithNewLine = true; - } - - chompKeep = false; - let str = stringify(item, ctx, () => comment = null, () => chompKeep = true); - if (inFlow && !hasItemWithNewLine && str.includes('\n')) hasItemWithNewLine = true; - if (inFlow && i < this.items.length - 1) str += ','; - str = addComment(str, itemIndent, comment); - if (chompKeep && (comment || inFlow)) chompKeep = false; - nodes.push({ - type: 'item', - str - }); - return nodes; - }, []); - let str; - - if (nodes.length === 0) { - str = flowChars.start + flowChars.end; - } else if (inFlow) { - const { - start, - end - } = flowChars; - const strings = nodes.map(n => n.str); - - if (hasItemWithNewLine || strings.reduce((sum, str) => sum + str.length + 2, 2) > Collection.maxFlowStringSingleLineLength) { - str = start; - - for (const s of strings) { - str += s ? `\n${indentStep}${indent}${s}` : '\n'; - } - - str += `\n${indent}${end}`; - } else { - str = `${start} ${strings.join(' ')} ${end}`; - } - } else { - const strings = nodes.map(blockItem); - str = strings.shift(); - - for (const s of strings) str += s ? `\n${indent}${s}` : '\n'; - } - - if (this.comment) { - str += '\n' + this.comment.replace(/^/gm, `${indent}#`); - if (onComment) onComment(); - } else if (chompKeep && onChompKeep) onChompKeep(); - - return str; - } - -} - -PlainValue._defineProperty(Collection, "maxFlowStringSingleLineLength", 60); - -function asItemIndex(key) { - let idx = key instanceof Scalar ? key.value : key; - if (idx && typeof idx === 'string') idx = Number(idx); - return Number.isInteger(idx) && idx >= 0 ? idx : null; -} - -class YAMLSeq extends Collection { - add(value) { - this.items.push(value); - } - - delete(key) { - const idx = asItemIndex(key); - if (typeof idx !== 'number') return false; - const del = this.items.splice(idx, 1); - return del.length > 0; - } - - get(key, keepScalar) { - const idx = asItemIndex(key); - if (typeof idx !== 'number') return undefined; - const it = this.items[idx]; - return !keepScalar && it instanceof Scalar ? it.value : it; - } - - has(key) { - const idx = asItemIndex(key); - return typeof idx === 'number' && idx < this.items.length; - } - - set(key, value) { - const idx = asItemIndex(key); - if (typeof idx !== 'number') throw new Error(`Expected a valid index, not ${key}.`); - this.items[idx] = value; - } - - toJSON(_, ctx) { - const seq = []; - if (ctx && ctx.onCreate) ctx.onCreate(seq); - let i = 0; - - for (const item of this.items) seq.push(toJSON(item, String(i++), ctx)); - - return seq; - } - - toString(ctx, onComment, onChompKeep) { - if (!ctx) return JSON.stringify(this); - return super.toString(ctx, { - blockItem: n => n.type === 'comment' ? n.str : `- ${n.str}`, - flowChars: { - start: '[', - end: ']' - }, - isMap: false, - itemIndent: (ctx.indent || '') + ' ' - }, onComment, onChompKeep); - } - -} - -const stringifyKey = (key, jsKey, ctx) => { - if (jsKey === null) return ''; - if (typeof jsKey !== 'object') return String(jsKey); - if (key instanceof Node && ctx && ctx.doc) return key.toString({ - anchors: Object.create(null), - doc: ctx.doc, - indent: '', - indentStep: ctx.indentStep, - inFlow: true, - inStringifyKey: true, - stringify: ctx.stringify - }); - return JSON.stringify(jsKey); -}; - -class Pair extends Node { - constructor(key, value = null) { - super(); - this.key = key; - this.value = value; - this.type = Pair.Type.PAIR; - } - - get commentBefore() { - return this.key instanceof Node ? this.key.commentBefore : undefined; - } - - set commentBefore(cb) { - if (this.key == null) this.key = new Scalar(null); - if (this.key instanceof Node) this.key.commentBefore = cb;else { - const msg = 'Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.'; - throw new Error(msg); - } - } - - addToJSMap(ctx, map) { - const key = toJSON(this.key, '', ctx); - - if (map instanceof Map) { - const value = toJSON(this.value, key, ctx); - map.set(key, value); - } else if (map instanceof Set) { - map.add(key); - } else { - const stringKey = stringifyKey(this.key, key, ctx); - const value = toJSON(this.value, stringKey, ctx); - if (stringKey in map) Object.defineProperty(map, stringKey, { - value, - writable: true, - enumerable: true, - configurable: true - });else map[stringKey] = value; - } - - return map; - } - - toJSON(_, ctx) { - const pair = ctx && ctx.mapAsMap ? new Map() : {}; - return this.addToJSMap(ctx, pair); - } - - toString(ctx, onComment, onChompKeep) { - if (!ctx || !ctx.doc) return JSON.stringify(this); - const { - indent: indentSize, - indentSeq, - simpleKeys - } = ctx.doc.options; - let { - key, - value - } = this; - let keyComment = key instanceof Node && key.comment; - - if (simpleKeys) { - if (keyComment) { - throw new Error('With simple keys, key nodes cannot have comments'); - } - - if (key instanceof Collection) { - const msg = 'With simple keys, collection cannot be used as a key value'; - throw new Error(msg); - } - } - - let explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node ? key instanceof Collection || key.type === PlainValue.Type.BLOCK_FOLDED || key.type === PlainValue.Type.BLOCK_LITERAL : typeof key === 'object')); - const { - doc, - indent, - indentStep, - stringify - } = ctx; - ctx = Object.assign({}, ctx, { - implicitKey: !explicitKey, - indent: indent + indentStep - }); - let chompKeep = false; - let str = stringify(key, ctx, () => keyComment = null, () => chompKeep = true); - str = addComment(str, ctx.indent, keyComment); - - if (!explicitKey && str.length > 1024) { - if (simpleKeys) throw new Error('With simple keys, single line scalar must not span more than 1024 characters'); - explicitKey = true; - } - - if (ctx.allNullValues && !simpleKeys) { - if (this.comment) { - str = addComment(str, ctx.indent, this.comment); - if (onComment) onComment(); - } else if (chompKeep && !keyComment && onChompKeep) onChompKeep(); - - return ctx.inFlow && !explicitKey ? str : `? ${str}`; - } - - str = explicitKey ? `? ${str}\n${indent}:` : `${str}:`; - - if (this.comment) { - // expected (but not strictly required) to be a single-line comment - str = addComment(str, ctx.indent, this.comment); - if (onComment) onComment(); - } - - let vcb = ''; - let valueComment = null; - - if (value instanceof Node) { - if (value.spaceBefore) vcb = '\n'; - - if (value.commentBefore) { - const cs = value.commentBefore.replace(/^/gm, `${ctx.indent}#`); - vcb += `\n${cs}`; - } - - valueComment = value.comment; - } else if (value && typeof value === 'object') { - value = doc.schema.createNode(value, true); - } - - ctx.implicitKey = false; - if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1; - chompKeep = false; - - if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValue.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) { - // If indentSeq === false, consider '- ' as part of indentation where possible - ctx.indent = ctx.indent.substr(2); - } - - const valueStr = stringify(value, ctx, () => valueComment = null, () => chompKeep = true); - let ws = ' '; - - if (vcb || this.comment) { - ws = `${vcb}\n${ctx.indent}`; - } else if (!explicitKey && value instanceof Collection) { - const flow = valueStr[0] === '[' || valueStr[0] === '{'; - if (!flow || valueStr.includes('\n')) ws = `\n${ctx.indent}`; - } else if (valueStr[0] === '\n') ws = ''; - - if (chompKeep && !valueComment && onChompKeep) onChompKeep(); - return addComment(str + ws + valueStr, ctx.indent, valueComment); - } - -} - -PlainValue._defineProperty(Pair, "Type", { - PAIR: 'PAIR', - MERGE_PAIR: 'MERGE_PAIR' -}); - -const getAliasCount = (node, anchors) => { - if (node instanceof Alias) { - const anchor = anchors.get(node.source); - return anchor.count * anchor.aliasCount; - } else if (node instanceof Collection) { - let count = 0; - - for (const item of node.items) { - const c = getAliasCount(item, anchors); - if (c > count) count = c; - } - - return count; - } else if (node instanceof Pair) { - const kc = getAliasCount(node.key, anchors); - const vc = getAliasCount(node.value, anchors); - return Math.max(kc, vc); - } - - return 1; -}; - -class Alias extends Node { - static stringify({ - range, - source - }, { - anchors, - doc, - implicitKey, - inStringifyKey - }) { - let anchor = Object.keys(anchors).find(a => anchors[a] === source); - if (!anchor && inStringifyKey) anchor = doc.anchors.getName(source) || doc.anchors.newName(); - if (anchor) return `*${anchor}${implicitKey ? ' ' : ''}`; - const msg = doc.anchors.getName(source) ? 'Alias node must be after source node' : 'Source node not found for alias node'; - throw new Error(`${msg} [${range}]`); - } - - constructor(source) { - super(); - this.source = source; - this.type = PlainValue.Type.ALIAS; - } - - set tag(t) { - throw new Error('Alias nodes cannot have tags'); - } - - toJSON(arg, ctx) { - if (!ctx) return toJSON(this.source, arg, ctx); - const { - anchors, - maxAliasCount - } = ctx; - const anchor = anchors.get(this.source); - /* istanbul ignore if */ - - if (!anchor || anchor.res === undefined) { - const msg = 'This should not happen: Alias anchor was not resolved?'; - if (this.cstNode) throw new PlainValue.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg); - } - - if (maxAliasCount >= 0) { - anchor.count += 1; - if (anchor.aliasCount === 0) anchor.aliasCount = getAliasCount(this.source, anchors); - - if (anchor.count * anchor.aliasCount > maxAliasCount) { - const msg = 'Excessive alias count indicates a resource exhaustion attack'; - if (this.cstNode) throw new PlainValue.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg); - } - } - - return anchor.res; - } // Only called when stringifying an alias mapping key while constructing - // Object output. - - - toString(ctx) { - return Alias.stringify(this, ctx); - } - -} - -PlainValue._defineProperty(Alias, "default", true); - -function findPair(items, key) { - const k = key instanceof Scalar ? key.value : key; - - for (const it of items) { - if (it instanceof Pair) { - if (it.key === key || it.key === k) return it; - if (it.key && it.key.value === k) return it; - } - } - - return undefined; -} -class YAMLMap extends Collection { - add(pair, overwrite) { - if (!pair) pair = new Pair(pair);else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value); - const prev = findPair(this.items, pair.key); - const sortEntries = this.schema && this.schema.sortMapEntries; - - if (prev) { - if (overwrite) prev.value = pair.value;else throw new Error(`Key ${pair.key} already set`); - } else if (sortEntries) { - const i = this.items.findIndex(item => sortEntries(pair, item) < 0); - if (i === -1) this.items.push(pair);else this.items.splice(i, 0, pair); - } else { - this.items.push(pair); - } - } - - delete(key) { - const it = findPair(this.items, key); - if (!it) return false; - const del = this.items.splice(this.items.indexOf(it), 1); - return del.length > 0; - } - - get(key, keepScalar) { - const it = findPair(this.items, key); - const node = it && it.value; - return !keepScalar && node instanceof Scalar ? node.value : node; - } - - has(key) { - return !!findPair(this.items, key); - } - - set(key, value) { - this.add(new Pair(key, value), true); - } - /** - * @param {*} arg ignored - * @param {*} ctx Conversion context, originally set in Document#toJSON() - * @param {Class} Type If set, forces the returned collection type - * @returns {*} Instance of Type, Map, or Object - */ - - - toJSON(_, ctx, Type) { - const map = Type ? new Type() : ctx && ctx.mapAsMap ? new Map() : {}; - if (ctx && ctx.onCreate) ctx.onCreate(map); - - for (const item of this.items) item.addToJSMap(ctx, map); - - return map; - } - - toString(ctx, onComment, onChompKeep) { - if (!ctx) return JSON.stringify(this); - - for (const item of this.items) { - if (!(item instanceof Pair)) throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`); - } - - return super.toString(ctx, { - blockItem: n => n.str, - flowChars: { - start: '{', - end: '}' - }, - isMap: true, - itemIndent: ctx.indent || '' - }, onComment, onChompKeep); - } - -} - -const MERGE_KEY = '<<'; -class Merge extends Pair { - constructor(pair) { - if (pair instanceof Pair) { - let seq = pair.value; - - if (!(seq instanceof YAMLSeq)) { - seq = new YAMLSeq(); - seq.items.push(pair.value); - seq.range = pair.value.range; - } - - super(pair.key, seq); - this.range = pair.range; - } else { - super(new Scalar(MERGE_KEY), new YAMLSeq()); - } - - this.type = Pair.Type.MERGE_PAIR; - } // If the value associated with a merge key is a single mapping node, each of - // its key/value pairs is inserted into the current mapping, unless the key - // already exists in it. If the value associated with the merge key is a - // sequence, then this sequence is expected to contain mapping nodes and each - // of these nodes is merged in turn according to its order in the sequence. - // Keys in mapping nodes earlier in the sequence override keys specified in - // later mapping nodes. -- http://yaml.org/type/merge.html - - - addToJSMap(ctx, map) { - for (const { - source - } of this.value.items) { - if (!(source instanceof YAMLMap)) throw new Error('Merge sources must be maps'); - const srcMap = source.toJSON(null, ctx, Map); - - for (const [key, value] of srcMap) { - if (map instanceof Map) { - if (!map.has(key)) map.set(key, value); - } else if (map instanceof Set) { - map.add(key); - } else if (!Object.prototype.hasOwnProperty.call(map, key)) { - Object.defineProperty(map, key, { - value, - writable: true, - enumerable: true, - configurable: true - }); - } - } - } - - return map; - } - - toString(ctx, onComment) { - const seq = this.value; - if (seq.items.length > 1) return super.toString(ctx, onComment); - this.value = seq.items[0]; - const str = super.toString(ctx, onComment); - this.value = seq; - return str; - } - -} - -const binaryOptions = { - defaultType: PlainValue.Type.BLOCK_LITERAL, - lineWidth: 76 -}; -const boolOptions = { - trueStr: 'true', - falseStr: 'false' -}; -const intOptions = { - asBigInt: false -}; -const nullOptions = { - nullStr: 'null' -}; -const strOptions = { - defaultType: PlainValue.Type.PLAIN, - doubleQuoted: { - jsonEncoding: false, - minMultiLineLength: 40 - }, - fold: { - lineWidth: 80, - minContentWidth: 20 - } -}; - -function resolveScalar(str, tags, scalarFallback) { - for (const { - format, - test, - resolve - } of tags) { - if (test) { - const match = str.match(test); - - if (match) { - let res = resolve.apply(null, match); - if (!(res instanceof Scalar)) res = new Scalar(res); - if (format) res.format = format; - return res; - } - } - } - - if (scalarFallback) str = scalarFallback(str); - return new Scalar(str); -} - -const FOLD_FLOW = 'flow'; -const FOLD_BLOCK = 'block'; -const FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line -// returns index of last newline in more-indented block - -const consumeMoreIndentedLines = (text, i) => { - let ch = text[i + 1]; - - while (ch === ' ' || ch === '\t') { - do { - ch = text[i += 1]; - } while (ch && ch !== '\n'); - - ch = text[i + 1]; - } - - return i; -}; -/** - * Tries to keep input at up to `lineWidth` characters, splitting only on spaces - * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are - * terminated with `\n` and started with `indent`. - * - * @param {string} text - * @param {string} indent - * @param {string} [mode='flow'] `'block'` prevents more-indented lines - * from being folded; `'quoted'` allows for `\` escapes, including escaped - * newlines - * @param {Object} options - * @param {number} [options.indentAtStart] Accounts for leading contents on - * the first line, defaulting to `indent.length` - * @param {number} [options.lineWidth=80] - * @param {number} [options.minContentWidth=20] Allow highly indented lines to - * stretch the line width or indent content from the start - * @param {function} options.onFold Called once if the text is folded - * @param {function} options.onFold Called once if any line of text exceeds - * lineWidth characters - */ - - -function foldFlowLines(text, indent, mode, { - indentAtStart, - lineWidth = 80, - minContentWidth = 20, - onFold, - onOverflow -}) { - if (!lineWidth || lineWidth < 0) return text; - const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length); - if (text.length <= endStep) return text; - const folds = []; - const escapedFolds = {}; - let end = lineWidth - indent.length; - - if (typeof indentAtStart === 'number') { - if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) folds.push(0);else end = lineWidth - indentAtStart; - } - - let split = undefined; - let prev = undefined; - let overflow = false; - let i = -1; - let escStart = -1; - let escEnd = -1; - - if (mode === FOLD_BLOCK) { - i = consumeMoreIndentedLines(text, i); - if (i !== -1) end = i + endStep; - } - - for (let ch; ch = text[i += 1];) { - if (mode === FOLD_QUOTED && ch === '\\') { - escStart = i; - - switch (text[i + 1]) { - case 'x': - i += 3; - break; - - case 'u': - i += 5; - break; - - case 'U': - i += 9; - break; - - default: - i += 1; - } - - escEnd = i; - } - - if (ch === '\n') { - if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i); - end = i + endStep; - split = undefined; - } else { - if (ch === ' ' && prev && prev !== ' ' && prev !== '\n' && prev !== '\t') { - // space surrounded by non-space can be replaced with newline + indent - const next = text[i + 1]; - if (next && next !== ' ' && next !== '\n' && next !== '\t') split = i; - } - - if (i >= end) { - if (split) { - folds.push(split); - end = split + endStep; - split = undefined; - } else if (mode === FOLD_QUOTED) { - // white-space collected at end may stretch past lineWidth - while (prev === ' ' || prev === '\t') { - prev = ch; - ch = text[i += 1]; - overflow = true; - } // Account for newline escape, but don't break preceding escape - - - const j = i > escEnd + 1 ? i - 2 : escStart - 1; // Bail out if lineWidth & minContentWidth are shorter than an escape string - - if (escapedFolds[j]) return text; - folds.push(j); - escapedFolds[j] = true; - end = j + endStep; - split = undefined; - } else { - overflow = true; - } - } - } - - prev = ch; - } - - if (overflow && onOverflow) onOverflow(); - if (folds.length === 0) return text; - if (onFold) onFold(); - let res = text.slice(0, folds[0]); - - for (let i = 0; i < folds.length; ++i) { - const fold = folds[i]; - const end = folds[i + 1] || text.length; - if (fold === 0) res = `\n${indent}${text.slice(0, end)}`;else { - if (mode === FOLD_QUOTED && escapedFolds[fold]) res += `${text[fold]}\\`; - res += `\n${indent}${text.slice(fold + 1, end)}`; - } - } - - return res; -} - -const getFoldOptions = ({ - indentAtStart -}) => indentAtStart ? Object.assign({ - indentAtStart -}, strOptions.fold) : strOptions.fold; // Also checks for lines starting with %, as parsing the output as YAML 1.1 will -// presume that's starting a new document. - - -const containsDocumentMarker = str => /^(%|---|\.\.\.)/m.test(str); - -function lineLengthOverLimit(str, lineWidth, indentLength) { - if (!lineWidth || lineWidth < 0) return false; - const limit = lineWidth - indentLength; - const strLen = str.length; - if (strLen <= limit) return false; - - for (let i = 0, start = 0; i < strLen; ++i) { - if (str[i] === '\n') { - if (i - start > limit) return true; - start = i + 1; - if (strLen - start <= limit) return false; - } - } - - return true; -} - -function doubleQuotedString(value, ctx) { - const { - implicitKey - } = ctx; - const { - jsonEncoding, - minMultiLineLength - } = strOptions.doubleQuoted; - const json = JSON.stringify(value); - if (jsonEncoding) return json; - const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : ''); - let str = ''; - let start = 0; - - for (let i = 0, ch = json[i]; ch; ch = json[++i]) { - if (ch === ' ' && json[i + 1] === '\\' && json[i + 2] === 'n') { - // space before newline needs to be escaped to not be folded - str += json.slice(start, i) + '\\ '; - i += 1; - start = i; - ch = '\\'; - } - - if (ch === '\\') switch (json[i + 1]) { - case 'u': - { - str += json.slice(start, i); - const code = json.substr(i + 2, 4); - - switch (code) { - case '0000': - str += '\\0'; - break; - - case '0007': - str += '\\a'; - break; - - case '000b': - str += '\\v'; - break; - - case '001b': - str += '\\e'; - break; - - case '0085': - str += '\\N'; - break; - - case '00a0': - str += '\\_'; - break; - - case '2028': - str += '\\L'; - break; - - case '2029': - str += '\\P'; - break; - - default: - if (code.substr(0, 2) === '00') str += '\\x' + code.substr(2);else str += json.substr(i, 6); - } - - i += 5; - start = i + 1; - } - break; - - case 'n': - if (implicitKey || json[i + 2] === '"' || json.length < minMultiLineLength) { - i += 1; - } else { - // folding will eat first newline - str += json.slice(start, i) + '\n\n'; - - while (json[i + 2] === '\\' && json[i + 3] === 'n' && json[i + 4] !== '"') { - str += '\n'; - i += 2; - } - - str += indent; // space after newline needs to be escaped to not be folded - - if (json[i + 2] === ' ') str += '\\'; - i += 1; - start = i + 1; - } - - break; - - default: - i += 1; - } - } - - str = start ? str + json.slice(start) : json; - return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx)); -} - -function singleQuotedString(value, ctx) { - if (ctx.implicitKey) { - if (/\n/.test(value)) return doubleQuotedString(value, ctx); - } else { - // single quoted string can't have leading or trailing whitespace around newline - if (/[ \t]\n|\n[ \t]/.test(value)) return doubleQuotedString(value, ctx); - } - - const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : ''); - const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&\n${indent}`) + "'"; - return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx)); -} - -function blockString({ - comment, - type, - value -}, ctx, onComment, onChompKeep) { - // 1. Block can't end in whitespace unless the last line is non-empty. - // 2. Strings consisting of only whitespace are best rendered explicitly. - if (/\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { - return doubleQuotedString(value, ctx); - } - - const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : ''); - const indentSize = indent ? '2' : '1'; // root is at -1 - - const literal = type === PlainValue.Type.BLOCK_FOLDED ? false : type === PlainValue.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth, indent.length); - let header = literal ? '|' : '>'; - if (!value) return header + '\n'; - let wsStart = ''; - let wsEnd = ''; - value = value.replace(/[\n\t ]*$/, ws => { - const n = ws.indexOf('\n'); - - if (n === -1) { - header += '-'; // strip - } else if (value === ws || n !== ws.length - 1) { - header += '+'; // keep - - if (onChompKeep) onChompKeep(); - } - - wsEnd = ws.replace(/\n$/, ''); - return ''; - }).replace(/^[\n ]*/, ws => { - if (ws.indexOf(' ') !== -1) header += indentSize; - const m = ws.match(/ +$/); - - if (m) { - wsStart = ws.slice(0, -m[0].length); - return m[0]; - } else { - wsStart = ws; - return ''; - } - }); - if (wsEnd) wsEnd = wsEnd.replace(/\n+(?!\n|$)/g, `$&${indent}`); - if (wsStart) wsStart = wsStart.replace(/\n+/g, `$&${indent}`); - - if (comment) { - header += ' #' + comment.replace(/ ?[\r\n]+/g, ' '); - if (onComment) onComment(); - } - - if (!value) return `${header}${indentSize}\n${indent}${wsEnd}`; - - if (literal) { - value = value.replace(/\n+/g, `$&${indent}`); - return `${header}\n${indent}${wsStart}${value}${wsEnd}`; - } - - value = value.replace(/\n+/g, '\n$&').replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, '$1$2') // more-indented lines aren't folded - // ^ ind.line ^ empty ^ capture next empty lines only at end of indent - .replace(/\n+/g, `$&${indent}`); - const body = foldFlowLines(`${wsStart}${value}${wsEnd}`, indent, FOLD_BLOCK, strOptions.fold); - return `${header}\n${indent}${body}`; -} - -function plainString(item, ctx, onComment, onChompKeep) { - const { - comment, - type, - value - } = item; - const { - actualString, - implicitKey, - indent, - inFlow - } = ctx; - - if (implicitKey && /[\n[\]{},]/.test(value) || inFlow && /[[\]{},]/.test(value)) { - return doubleQuotedString(value, ctx); - } - - if (!value || /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { - // not allowed: - // - empty string, '-' or '?' - // - start with an indicator character (except [?:-]) or /[?-] / - // - '\n ', ': ' or ' \n' anywhere - // - '#' not preceded by a non-space char - // - end with ' ' or ':' - return implicitKey || inFlow || value.indexOf('\n') === -1 ? value.indexOf('"') !== -1 && value.indexOf("'") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep); - } - - if (!implicitKey && !inFlow && type !== PlainValue.Type.PLAIN && value.indexOf('\n') !== -1) { - // Where allowed & type not set explicitly, prefer block style for multiline strings - return blockString(item, ctx, onComment, onChompKeep); - } - - if (indent === '' && containsDocumentMarker(value)) { - ctx.forceBlockIndent = true; - return blockString(item, ctx, onComment, onChompKeep); - } - - const str = value.replace(/\n+/g, `$&\n${indent}`); // Verify that output will be parsed as a string, as e.g. plain numbers and - // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'), - // and others in v1.1. - - if (actualString) { - const { - tags - } = ctx.doc.schema; - const resolved = resolveScalar(str, tags, tags.scalarFallback).value; - if (typeof resolved !== 'string') return doubleQuotedString(value, ctx); - } - - const body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx)); - - if (comment && !inFlow && (body.indexOf('\n') !== -1 || comment.indexOf('\n') !== -1)) { - if (onComment) onComment(); - return addCommentBefore(body, indent, comment); - } - - return body; -} - -function stringifyString(item, ctx, onComment, onChompKeep) { - const { - defaultType - } = strOptions; - const { - implicitKey, - inFlow - } = ctx; - let { - type, - value - } = item; - - if (typeof value !== 'string') { - value = String(value); - item = Object.assign({}, item, { - value - }); - } - - const _stringify = _type => { - switch (_type) { - case PlainValue.Type.BLOCK_FOLDED: - case PlainValue.Type.BLOCK_LITERAL: - return blockString(item, ctx, onComment, onChompKeep); - - case PlainValue.Type.QUOTE_DOUBLE: - return doubleQuotedString(value, ctx); - - case PlainValue.Type.QUOTE_SINGLE: - return singleQuotedString(value, ctx); - - case PlainValue.Type.PLAIN: - return plainString(item, ctx, onComment, onChompKeep); - - default: - return null; - } - }; - - if (type !== PlainValue.Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value)) { - // force double quotes on control characters - type = PlainValue.Type.QUOTE_DOUBLE; - } else if ((implicitKey || inFlow) && (type === PlainValue.Type.BLOCK_FOLDED || type === PlainValue.Type.BLOCK_LITERAL)) { - // should not happen; blocks are not valid inside flow containers - type = PlainValue.Type.QUOTE_DOUBLE; - } - - let res = _stringify(type); - - if (res === null) { - res = _stringify(defaultType); - if (res === null) throw new Error(`Unsupported default string type ${defaultType}`); - } - - return res; -} - -function stringifyNumber({ - format, - minFractionDigits, - tag, - value -}) { - if (typeof value === 'bigint') return String(value); - if (!isFinite(value)) return isNaN(value) ? '.nan' : value < 0 ? '-.inf' : '.inf'; - let n = JSON.stringify(value); - - if (!format && minFractionDigits && (!tag || tag === 'tag:yaml.org,2002:float') && /^\d/.test(n)) { - let i = n.indexOf('.'); - - if (i < 0) { - i = n.length; - n += '.'; - } - - let d = minFractionDigits - (n.length - i - 1); - - while (d-- > 0) n += '0'; - } - - return n; -} - -function checkFlowCollectionEnd(errors, cst) { - let char, name; - - switch (cst.type) { - case PlainValue.Type.FLOW_MAP: - char = '}'; - name = 'flow map'; - break; - - case PlainValue.Type.FLOW_SEQ: - char = ']'; - name = 'flow sequence'; - break; - - default: - errors.push(new PlainValue.YAMLSemanticError(cst, 'Not a flow collection!?')); - return; - } - - let lastItem; - - for (let i = cst.items.length - 1; i >= 0; --i) { - const item = cst.items[i]; - - if (!item || item.type !== PlainValue.Type.COMMENT) { - lastItem = item; - break; - } - } - - if (lastItem && lastItem.char !== char) { - const msg = `Expected ${name} to end with ${char}`; - let err; - - if (typeof lastItem.offset === 'number') { - err = new PlainValue.YAMLSemanticError(cst, msg); - err.offset = lastItem.offset + 1; - } else { - err = new PlainValue.YAMLSemanticError(lastItem, msg); - if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start; - } - - errors.push(err); - } -} -function checkFlowCommentSpace(errors, comment) { - const prev = comment.context.src[comment.range.start - 1]; - - if (prev !== '\n' && prev !== '\t' && prev !== ' ') { - const msg = 'Comments must be separated from other tokens by white space characters'; - errors.push(new PlainValue.YAMLSemanticError(comment, msg)); - } -} -function getLongKeyError(source, key) { - const sk = String(key); - const k = sk.substr(0, 8) + '...' + sk.substr(-8); - return new PlainValue.YAMLSemanticError(source, `The "${k}" key is too long`); -} -function resolveComments(collection, comments) { - for (const { - afterKey, - before, - comment - } of comments) { - let item = collection.items[before]; - - if (!item) { - if (comment !== undefined) { - if (collection.comment) collection.comment += '\n' + comment;else collection.comment = comment; - } - } else { - if (afterKey && item.value) item = item.value; - - if (comment === undefined) { - if (afterKey || !item.commentBefore) item.spaceBefore = true; - } else { - if (item.commentBefore) item.commentBefore += '\n' + comment;else item.commentBefore = comment; - } - } - } -} - -// on error, will return { str: string, errors: Error[] } -function resolveString(doc, node) { - const res = node.strValue; - if (!res) return ''; - if (typeof res === 'string') return res; - res.errors.forEach(error => { - if (!error.source) error.source = node; - doc.errors.push(error); - }); - return res.str; -} - -function resolveTagHandle(doc, node) { - const { - handle, - suffix - } = node.tag; - let prefix = doc.tagPrefixes.find(p => p.handle === handle); - - if (!prefix) { - const dtp = doc.getDefaults().tagPrefixes; - if (dtp) prefix = dtp.find(p => p.handle === handle); - if (!prefix) throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`); - } - - if (!suffix) throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag has no suffix.`); - - if (handle === '!' && (doc.version || doc.options.version) === '1.0') { - if (suffix[0] === '^') { - doc.warnings.push(new PlainValue.YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported')); - return suffix; - } - - if (/[:/]/.test(suffix)) { - // word/foo -> tag:word.yaml.org,2002:foo - const vocab = suffix.match(/^([a-z0-9-]+)\/(.*)/i); - return vocab ? `tag:${vocab[1]}.yaml.org,2002:${vocab[2]}` : `tag:${suffix}`; - } - } - - return prefix.prefix + decodeURIComponent(suffix); -} - -function resolveTagName(doc, node) { - const { - tag, - type - } = node; - let nonSpecific = false; - - if (tag) { - const { - handle, - suffix, - verbatim - } = tag; - - if (verbatim) { - if (verbatim !== '!' && verbatim !== '!!') return verbatim; - const msg = `Verbatim tags aren't resolved, so ${verbatim} is invalid.`; - doc.errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } else if (handle === '!' && !suffix) { - nonSpecific = true; - } else { - try { - return resolveTagHandle(doc, node); - } catch (error) { - doc.errors.push(error); - } - } - } - - switch (type) { - case PlainValue.Type.BLOCK_FOLDED: - case PlainValue.Type.BLOCK_LITERAL: - case PlainValue.Type.QUOTE_DOUBLE: - case PlainValue.Type.QUOTE_SINGLE: - return PlainValue.defaultTags.STR; - - case PlainValue.Type.FLOW_MAP: - case PlainValue.Type.MAP: - return PlainValue.defaultTags.MAP; - - case PlainValue.Type.FLOW_SEQ: - case PlainValue.Type.SEQ: - return PlainValue.defaultTags.SEQ; - - case PlainValue.Type.PLAIN: - return nonSpecific ? PlainValue.defaultTags.STR : null; - - default: - return null; - } -} - -function resolveByTagName(doc, node, tagName) { - const { - tags - } = doc.schema; - const matchWithTest = []; - - for (const tag of tags) { - if (tag.tag === tagName) { - if (tag.test) matchWithTest.push(tag);else { - const res = tag.resolve(doc, node); - return res instanceof Collection ? res : new Scalar(res); - } - } - } - - const str = resolveString(doc, node); - if (typeof str === 'string' && matchWithTest.length > 0) return resolveScalar(str, matchWithTest, tags.scalarFallback); - return null; -} - -function getFallbackTagName({ - type -}) { - switch (type) { - case PlainValue.Type.FLOW_MAP: - case PlainValue.Type.MAP: - return PlainValue.defaultTags.MAP; - - case PlainValue.Type.FLOW_SEQ: - case PlainValue.Type.SEQ: - return PlainValue.defaultTags.SEQ; - - default: - return PlainValue.defaultTags.STR; - } -} - -function resolveTag(doc, node, tagName) { - try { - const res = resolveByTagName(doc, node, tagName); - - if (res) { - if (tagName && node.tag) res.tag = tagName; - return res; - } - } catch (error) { - /* istanbul ignore if */ - if (!error.source) error.source = node; - doc.errors.push(error); - return null; - } - - try { - const fallback = getFallbackTagName(node); - if (!fallback) throw new Error(`The tag ${tagName} is unavailable`); - const msg = `The tag ${tagName} is unavailable, falling back to ${fallback}`; - doc.warnings.push(new PlainValue.YAMLWarning(node, msg)); - const res = resolveByTagName(doc, node, fallback); - res.tag = tagName; - return res; - } catch (error) { - const refError = new PlainValue.YAMLReferenceError(node, error.message); - refError.stack = error.stack; - doc.errors.push(refError); - return null; - } -} - -const isCollectionItem = node => { - if (!node) return false; - const { - type - } = node; - return type === PlainValue.Type.MAP_KEY || type === PlainValue.Type.MAP_VALUE || type === PlainValue.Type.SEQ_ITEM; -}; - -function resolveNodeProps(errors, node) { - const comments = { - before: [], - after: [] - }; - let hasAnchor = false; - let hasTag = false; - const props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props; - - for (const { - start, - end - } of props) { - switch (node.context.src[start]) { - case PlainValue.Char.COMMENT: - { - if (!node.commentHasRequiredWhitespace(start)) { - const msg = 'Comments must be separated from other tokens by white space characters'; - errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - - const { - header, - valueRange - } = node; - const cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before; - cc.push(node.context.src.slice(start + 1, end)); - break; - } - // Actual anchor & tag resolution is handled by schema, here we just complain - - case PlainValue.Char.ANCHOR: - if (hasAnchor) { - const msg = 'A node can have at most one anchor'; - errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - - hasAnchor = true; - break; - - case PlainValue.Char.TAG: - if (hasTag) { - const msg = 'A node can have at most one tag'; - errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - - hasTag = true; - break; - } - } - - return { - comments, - hasAnchor, - hasTag - }; -} - -function resolveNodeValue(doc, node) { - const { - anchors, - errors, - schema - } = doc; - - if (node.type === PlainValue.Type.ALIAS) { - const name = node.rawValue; - const src = anchors.getNode(name); - - if (!src) { - const msg = `Aliased anchor not found: ${name}`; - errors.push(new PlainValue.YAMLReferenceError(node, msg)); - return null; - } // Lazy resolution for circular references - - - const res = new Alias(src); - - anchors._cstAliases.push(res); - - return res; - } - - const tagName = resolveTagName(doc, node); - if (tagName) return resolveTag(doc, node, tagName); - - if (node.type !== PlainValue.Type.PLAIN) { - const msg = `Failed to resolve ${node.type} node here`; - errors.push(new PlainValue.YAMLSyntaxError(node, msg)); - return null; - } - - try { - const str = resolveString(doc, node); - return resolveScalar(str, schema.tags, schema.tags.scalarFallback); - } catch (error) { - if (!error.source) error.source = node; - errors.push(error); - return null; - } -} // sets node.resolved on success - - -function resolveNode(doc, node) { - if (!node) return null; - if (node.error) doc.errors.push(node.error); - const { - comments, - hasAnchor, - hasTag - } = resolveNodeProps(doc.errors, node); - - if (hasAnchor) { - const { - anchors - } = doc; - const name = node.anchor; - const prev = anchors.getNode(name); // At this point, aliases for any preceding node with the same anchor - // name have already been resolved, so it may safely be renamed. - - if (prev) anchors.map[anchors.newName(name)] = prev; // During parsing, we need to store the CST node in anchors.map as - // anchors need to be available during resolution to allow for - // circular references. - - anchors.map[name] = node; - } - - if (node.type === PlainValue.Type.ALIAS && (hasAnchor || hasTag)) { - const msg = 'An alias node must not specify any properties'; - doc.errors.push(new PlainValue.YAMLSemanticError(node, msg)); - } - - const res = resolveNodeValue(doc, node); - - if (res) { - res.range = [node.range.start, node.range.end]; - if (doc.options.keepCstNodes) res.cstNode = node; - if (doc.options.keepNodeTypes) res.type = node.type; - const cb = comments.before.join('\n'); - - if (cb) { - res.commentBefore = res.commentBefore ? `${res.commentBefore}\n${cb}` : cb; - } - - const ca = comments.after.join('\n'); - if (ca) res.comment = res.comment ? `${res.comment}\n${ca}` : ca; - } - - return node.resolved = res; -} - -function resolveMap(doc, cst) { - if (cst.type !== PlainValue.Type.MAP && cst.type !== PlainValue.Type.FLOW_MAP) { - const msg = `A ${cst.type} node cannot be resolved as a mapping`; - doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg)); - return null; - } - - const { - comments, - items - } = cst.type === PlainValue.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst); - const map = new YAMLMap(); - map.items = items; - resolveComments(map, comments); - let hasCollectionKey = false; - - for (let i = 0; i < items.length; ++i) { - const { - key: iKey - } = items[i]; - if (iKey instanceof Collection) hasCollectionKey = true; - - if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) { - items[i] = new Merge(items[i]); - const sources = items[i].value.items; - let error = null; - sources.some(node => { - if (node instanceof Alias) { - // During parsing, alias sources are CST nodes; to account for - // circular references their resolved values can't be used here. - const { - type - } = node.source; - if (type === PlainValue.Type.MAP || type === PlainValue.Type.FLOW_MAP) return false; - return error = 'Merge nodes aliases can only point to maps'; - } - - return error = 'Merge nodes can only have Alias nodes as values'; - }); - if (error) doc.errors.push(new PlainValue.YAMLSemanticError(cst, error)); - } else { - for (let j = i + 1; j < items.length; ++j) { - const { - key: jKey - } = items[j]; - - if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, 'value') && iKey.value === jKey.value) { - const msg = `Map keys must be unique; "${iKey}" is repeated`; - doc.errors.push(new PlainValue.YAMLSemanticError(cst, msg)); - break; - } - } - } - } - - if (hasCollectionKey && !doc.options.mapAsMap) { - const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.'; - doc.warnings.push(new PlainValue.YAMLWarning(cst, warn)); - } - - cst.resolved = map; - return map; -} - -const valueHasPairComment = ({ - context: { - lineStart, - node, - src - }, - props -}) => { - if (props.length === 0) return false; - const { - start - } = props[0]; - if (node && start > node.valueRange.start) return false; - if (src[start] !== PlainValue.Char.COMMENT) return false; - - for (let i = lineStart; i < start; ++i) if (src[i] === '\n') return false; - - return true; -}; - -function resolvePairComment(item, pair) { - if (!valueHasPairComment(item)) return; - const comment = item.getPropValue(0, PlainValue.Char.COMMENT, true); - let found = false; - const cb = pair.value.commentBefore; - - if (cb && cb.startsWith(comment)) { - pair.value.commentBefore = cb.substr(comment.length + 1); - found = true; - } else { - const cc = pair.value.comment; - - if (!item.node && cc && cc.startsWith(comment)) { - pair.value.comment = cc.substr(comment.length + 1); - found = true; - } - } - - if (found) pair.comment = comment; -} - -function resolveBlockMapItems(doc, cst) { - const comments = []; - const items = []; - let key = undefined; - let keyStart = null; - - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - - switch (item.type) { - case PlainValue.Type.BLANK_LINE: - comments.push({ - afterKey: !!key, - before: items.length - }); - break; - - case PlainValue.Type.COMMENT: - comments.push({ - afterKey: !!key, - before: items.length, - comment: item.comment - }); - break; - - case PlainValue.Type.MAP_KEY: - if (key !== undefined) items.push(new Pair(key)); - if (item.error) doc.errors.push(item.error); - key = resolveNode(doc, item.node); - keyStart = null; - break; - - case PlainValue.Type.MAP_VALUE: - { - if (key === undefined) key = null; - if (item.error) doc.errors.push(item.error); - - if (!item.context.atLineStart && item.node && item.node.type === PlainValue.Type.MAP && !item.node.context.atLineStart) { - const msg = 'Nested mappings are not allowed in compact mappings'; - doc.errors.push(new PlainValue.YAMLSemanticError(item.node, msg)); - } - - let valueNode = item.node; - - if (!valueNode && item.props.length > 0) { - // Comments on an empty mapping value need to be preserved, so we - // need to construct a minimal empty node here to use instead of the - // missing `item.node`. -- eemeli/yaml#19 - valueNode = new PlainValue.PlainValue(PlainValue.Type.PLAIN, []); - valueNode.context = { - parent: item, - src: item.context.src - }; - const pos = item.range.start + 1; - valueNode.range = { - start: pos, - end: pos - }; - valueNode.valueRange = { - start: pos, - end: pos - }; - - if (typeof item.range.origStart === 'number') { - const origPos = item.range.origStart + 1; - valueNode.range.origStart = valueNode.range.origEnd = origPos; - valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos; - } - } - - const pair = new Pair(key, resolveNode(doc, valueNode)); - resolvePairComment(item, pair); - items.push(pair); - - if (key && typeof keyStart === 'number') { - if (item.range.start > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key)); - } - - key = undefined; - keyStart = null; - } - break; - - default: - if (key !== undefined) items.push(new Pair(key)); - key = resolveNode(doc, item); - keyStart = item.range.start; - if (item.error) doc.errors.push(item.error); - - next: for (let j = i + 1;; ++j) { - const nextItem = cst.items[j]; - - switch (nextItem && nextItem.type) { - case PlainValue.Type.BLANK_LINE: - case PlainValue.Type.COMMENT: - continue next; - - case PlainValue.Type.MAP_VALUE: - break next; - - default: - { - const msg = 'Implicit map keys need to be followed by map values'; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - break next; - } - } - } - - if (item.valueRangeContainsNewline) { - const msg = 'Implicit map keys need to be on a single line'; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - } - - } - } - - if (key !== undefined) items.push(new Pair(key)); - return { - comments, - items - }; -} - -function resolveFlowMapItems(doc, cst) { - const comments = []; - const items = []; - let key = undefined; - let explicitKey = false; - let next = '{'; - - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - - if (typeof item.char === 'string') { - const { - char, - offset - } = item; - - if (char === '?' && key === undefined && !explicitKey) { - explicitKey = true; - next = ':'; - continue; - } - - if (char === ':') { - if (key === undefined) key = null; - - if (next === ':') { - next = ','; - continue; - } - } else { - if (explicitKey) { - if (key === undefined && char !== ',') key = null; - explicitKey = false; - } - - if (key !== undefined) { - items.push(new Pair(key)); - key = undefined; - - if (char === ',') { - next = ':'; - continue; - } - } - } - - if (char === '}') { - if (i === cst.items.length - 1) continue; - } else if (char === next) { - next = ':'; - continue; - } - - const msg = `Flow map contains an unexpected ${char}`; - const err = new PlainValue.YAMLSyntaxError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } else if (item.type === PlainValue.Type.BLANK_LINE) { - comments.push({ - afterKey: !!key, - before: items.length - }); - } else if (item.type === PlainValue.Type.COMMENT) { - checkFlowCommentSpace(doc.errors, item); - comments.push({ - afterKey: !!key, - before: items.length, - comment: item.comment - }); - } else if (key === undefined) { - if (next === ',') doc.errors.push(new PlainValue.YAMLSemanticError(item, 'Separator , missing in flow map')); - key = resolveNode(doc, item); - } else { - if (next !== ',') doc.errors.push(new PlainValue.YAMLSemanticError(item, 'Indicator : missing in flow map entry')); - items.push(new Pair(key, resolveNode(doc, item))); - key = undefined; - explicitKey = false; - } - } - - checkFlowCollectionEnd(doc.errors, cst); - if (key !== undefined) items.push(new Pair(key)); - return { - comments, - items - }; -} - -function resolveSeq(doc, cst) { - if (cst.type !== PlainValue.Type.SEQ && cst.type !== PlainValue.Type.FLOW_SEQ) { - const msg = `A ${cst.type} node cannot be resolved as a sequence`; - doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg)); - return null; - } - - const { - comments, - items - } = cst.type === PlainValue.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst); - const seq = new YAMLSeq(); - seq.items = items; - resolveComments(seq, comments); - - if (!doc.options.mapAsMap && items.some(it => it instanceof Pair && it.key instanceof Collection)) { - const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.'; - doc.warnings.push(new PlainValue.YAMLWarning(cst, warn)); - } - - cst.resolved = seq; - return seq; -} - -function resolveBlockSeqItems(doc, cst) { - const comments = []; - const items = []; - - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - - switch (item.type) { - case PlainValue.Type.BLANK_LINE: - comments.push({ - before: items.length - }); - break; - - case PlainValue.Type.COMMENT: - comments.push({ - comment: item.comment, - before: items.length - }); - break; - - case PlainValue.Type.SEQ_ITEM: - if (item.error) doc.errors.push(item.error); - items.push(resolveNode(doc, item.node)); - - if (item.hasProps) { - const msg = 'Sequence items cannot have tags or anchors before the - indicator'; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - } - - break; - - default: - if (item.error) doc.errors.push(item.error); - doc.errors.push(new PlainValue.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`)); - } - } - - return { - comments, - items - }; -} - -function resolveFlowSeqItems(doc, cst) { - const comments = []; - const items = []; - let explicitKey = false; - let key = undefined; - let keyStart = null; - let next = '['; - let prevItem = null; - - for (let i = 0; i < cst.items.length; ++i) { - const item = cst.items[i]; - - if (typeof item.char === 'string') { - const { - char, - offset - } = item; - - if (char !== ':' && (explicitKey || key !== undefined)) { - if (explicitKey && key === undefined) key = next ? items.pop() : null; - items.push(new Pair(key)); - explicitKey = false; - key = undefined; - keyStart = null; - } - - if (char === next) { - next = null; - } else if (!next && char === '?') { - explicitKey = true; - } else if (next !== '[' && char === ':' && key === undefined) { - if (next === ',') { - key = items.pop(); - - if (key instanceof Pair) { - const msg = 'Chaining flow sequence pairs is invalid'; - const err = new PlainValue.YAMLSemanticError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } - - if (!explicitKey && typeof keyStart === 'number') { - const keyEnd = item.range ? item.range.start : item.offset; - if (keyEnd > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key)); - const { - src - } = prevItem.context; - - for (let i = keyStart; i < keyEnd; ++i) if (src[i] === '\n') { - const msg = 'Implicit keys of flow sequence pairs need to be on a single line'; - doc.errors.push(new PlainValue.YAMLSemanticError(prevItem, msg)); - break; - } - } - } else { - key = null; - } - - keyStart = null; - explicitKey = false; - next = null; - } else if (next === '[' || char !== ']' || i < cst.items.length - 1) { - const msg = `Flow sequence contains an unexpected ${char}`; - const err = new PlainValue.YAMLSyntaxError(cst, msg); - err.offset = offset; - doc.errors.push(err); - } - } else if (item.type === PlainValue.Type.BLANK_LINE) { - comments.push({ - before: items.length - }); - } else if (item.type === PlainValue.Type.COMMENT) { - checkFlowCommentSpace(doc.errors, item); - comments.push({ - comment: item.comment, - before: items.length - }); - } else { - if (next) { - const msg = `Expected a ${next} in flow sequence`; - doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); - } - - const value = resolveNode(doc, item); - - if (key === undefined) { - items.push(value); - prevItem = item; - } else { - items.push(new Pair(key, value)); - key = undefined; - } - - keyStart = item.range.start; - next = ','; - } - } - - checkFlowCollectionEnd(doc.errors, cst); - if (key !== undefined) items.push(new Pair(key)); - return { - comments, - items - }; -} - -exports.Alias = Alias; -exports.Collection = Collection; -exports.Merge = Merge; -exports.Node = Node; -exports.Pair = Pair; -exports.Scalar = Scalar; -exports.YAMLMap = YAMLMap; -exports.YAMLSeq = YAMLSeq; -exports.addComment = addComment; -exports.binaryOptions = binaryOptions; -exports.boolOptions = boolOptions; -exports.findPair = findPair; -exports.intOptions = intOptions; -exports.isEmptyPath = isEmptyPath; -exports.nullOptions = nullOptions; -exports.resolveMap = resolveMap; -exports.resolveNode = resolveNode; -exports.resolveSeq = resolveSeq; -exports.resolveString = resolveString; -exports.strOptions = strOptions; -exports.stringifyNumber = stringifyNumber; -exports.stringifyString = stringifyString; -exports.toJSON = toJSON; diff --git a/node_modules/yaml/dist/test-events.js b/node_modules/yaml/dist/test-events.js deleted file mode 100644 index 2b856e186a..0000000000 --- a/node_modules/yaml/dist/test-events.js +++ /dev/null @@ -1,162 +0,0 @@ -'use strict'; - -var parseCst = require('./parse-cst.js'); -var Document = require('./Document-9b4560a1.js'); -require('./PlainValue-ec8e588e.js'); -require('./resolveSeq-d03cb037.js'); -require('./Schema-88e323a7.js'); -require('./warnings-1000a372.js'); - -function testEvents(src, options) { - const opt = Object.assign({ - keepCstNodes: true, - keepNodeTypes: true, - version: '1.2' - }, options); - const docs = parseCst.parse(src).map(cstDoc => new Document.Document(opt).parse(cstDoc)); - const errDoc = docs.find(doc => doc.errors.length > 0); - const error = errDoc ? errDoc.errors[0].message : null; - const events = ['+STR']; - - try { - for (let i = 0; i < docs.length; ++i) { - const doc = docs[i]; - let root = doc.contents; - if (Array.isArray(root)) root = root[0]; - const [rootStart, rootEnd] = doc.range || [0, 0]; - let e = doc.errors[0] && doc.errors[0].source; - if (e && e.type === 'SEQ_ITEM') e = e.node; - if (e && (e.type === 'DOCUMENT' || e.range.start < rootStart)) throw new Error(); - let docStart = '+DOC'; - const pre = src.slice(0, rootStart); - const explicitDoc = /---\s*$/.test(pre); - if (explicitDoc) docStart += ' ---';else if (!doc.contents) continue; - events.push(docStart); - addEvents(events, doc, e, root); - if (doc.contents && doc.contents.length > 1) throw new Error(); - let docEnd = '-DOC'; - - if (rootEnd) { - const post = src.slice(rootEnd); - if (/^\.\.\./.test(post)) docEnd += ' ...'; - } - - events.push(docEnd); - } - } catch (e) { - return { - events, - error: error || e - }; - } - - events.push('-STR'); - return { - events, - error - }; -} - -function addEvents(events, doc, e, node) { - if (!node) { - events.push('=VAL :'); - return; - } - - if (e && node.cstNode === e) throw new Error(); - let props = ''; - let anchor = doc.anchors.getName(node); - - if (anchor) { - if (/\d$/.test(anchor)) { - const alt = anchor.replace(/\d$/, ''); - if (doc.anchors.getNode(alt)) anchor = alt; - } - - props = ` &${anchor}`; - } - - if (node.cstNode && node.cstNode.tag) { - const { - handle, - suffix - } = node.cstNode.tag; - props += handle === '!' && !suffix ? ' ' : ` <${node.tag}>`; - } - - let scalar = null; - - switch (node.type) { - case 'ALIAS': - { - let alias = doc.anchors.getName(node.source); - - if (/\d$/.test(alias)) { - const alt = alias.replace(/\d$/, ''); - if (doc.anchors.getNode(alt)) alias = alt; - } - - events.push(`=ALI${props} *${alias}`); - } - break; - - case 'BLOCK_FOLDED': - scalar = '>'; - break; - - case 'BLOCK_LITERAL': - scalar = '|'; - break; - - case 'PLAIN': - scalar = ':'; - break; - - case 'QUOTE_DOUBLE': - scalar = '"'; - break; - - case 'QUOTE_SINGLE': - scalar = "'"; - break; - - case 'PAIR': - events.push(`+MAP${props}`); - addEvents(events, doc, e, node.key); - addEvents(events, doc, e, node.value); - events.push('-MAP'); - break; - - case 'FLOW_SEQ': - case 'SEQ': - events.push(`+SEQ${props}`); - node.items.forEach(item => { - addEvents(events, doc, e, item); - }); - events.push('-SEQ'); - break; - - case 'FLOW_MAP': - case 'MAP': - events.push(`+MAP${props}`); - node.items.forEach(({ - key, - value - }) => { - addEvents(events, doc, e, key); - addEvents(events, doc, e, value); - }); - events.push('-MAP'); - break; - - default: - throw new Error(`Unexpected node type ${node.type}`); - } - - if (scalar) { - const value = node.cstNode.strValue.replace(/\\/g, '\\\\').replace(/\0/g, '\\0').replace(/\x07/g, '\\a').replace(/\x08/g, '\\b').replace(/\t/g, '\\t').replace(/\n/g, '\\n').replace(/\v/g, '\\v').replace(/\f/g, '\\f').replace(/\r/g, '\\r').replace(/\x1b/g, '\\e'); - events.push(`=VAL${props} ${scalar}${value}`); - } -} - -exports.testEvents = testEvents; diff --git a/node_modules/yaml/dist/types.js b/node_modules/yaml/dist/types.js deleted file mode 100644 index 967c04e09f..0000000000 --- a/node_modules/yaml/dist/types.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var resolveSeq = require('./resolveSeq-d03cb037.js'); -var Schema = require('./Schema-88e323a7.js'); -require('./PlainValue-ec8e588e.js'); -require('./warnings-1000a372.js'); - - - -exports.Alias = resolveSeq.Alias; -exports.Collection = resolveSeq.Collection; -exports.Merge = resolveSeq.Merge; -exports.Node = resolveSeq.Node; -exports.Pair = resolveSeq.Pair; -exports.Scalar = resolveSeq.Scalar; -exports.YAMLMap = resolveSeq.YAMLMap; -exports.YAMLSeq = resolveSeq.YAMLSeq; -exports.binaryOptions = resolveSeq.binaryOptions; -exports.boolOptions = resolveSeq.boolOptions; -exports.intOptions = resolveSeq.intOptions; -exports.nullOptions = resolveSeq.nullOptions; -exports.strOptions = resolveSeq.strOptions; -exports.Schema = Schema.Schema; diff --git a/node_modules/yaml/dist/util.js b/node_modules/yaml/dist/util.js deleted file mode 100644 index bc1e079acc..0000000000 --- a/node_modules/yaml/dist/util.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var resolveSeq = require('./resolveSeq-d03cb037.js'); -var PlainValue = require('./PlainValue-ec8e588e.js'); - - - -exports.findPair = resolveSeq.findPair; -exports.parseMap = resolveSeq.resolveMap; -exports.parseSeq = resolveSeq.resolveSeq; -exports.stringifyNumber = resolveSeq.stringifyNumber; -exports.stringifyString = resolveSeq.stringifyString; -exports.toJSON = resolveSeq.toJSON; -exports.Type = PlainValue.Type; -exports.YAMLError = PlainValue.YAMLError; -exports.YAMLReferenceError = PlainValue.YAMLReferenceError; -exports.YAMLSemanticError = PlainValue.YAMLSemanticError; -exports.YAMLSyntaxError = PlainValue.YAMLSyntaxError; -exports.YAMLWarning = PlainValue.YAMLWarning; diff --git a/node_modules/yaml/dist/warnings-1000a372.js b/node_modules/yaml/dist/warnings-1000a372.js deleted file mode 100644 index 7776d9fc2b..0000000000 --- a/node_modules/yaml/dist/warnings-1000a372.js +++ /dev/null @@ -1,416 +0,0 @@ -'use strict'; - -var PlainValue = require('./PlainValue-ec8e588e.js'); -var resolveSeq = require('./resolveSeq-d03cb037.js'); - -/* global atob, btoa, Buffer */ -const binary = { - identify: value => value instanceof Uint8Array, - // Buffer inherits from Uint8Array - default: false, - tag: 'tag:yaml.org,2002:binary', - - /** - * Returns a Buffer in node and an Uint8Array in browsers - * - * To use the resulting buffer as an image, you'll want to do something like: - * - * const blob = new Blob([buffer], { type: 'image/jpeg' }) - * document.querySelector('#photo').src = URL.createObjectURL(blob) - */ - resolve: (doc, node) => { - const src = resolveSeq.resolveString(doc, node); - - if (typeof Buffer === 'function') { - return Buffer.from(src, 'base64'); - } else if (typeof atob === 'function') { - // On IE 11, atob() can't handle newlines - const str = atob(src.replace(/[\n\r]/g, '')); - const buffer = new Uint8Array(str.length); - - for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i); - - return buffer; - } else { - const msg = 'This environment does not support reading binary tags; either Buffer or atob is required'; - doc.errors.push(new PlainValue.YAMLReferenceError(node, msg)); - return null; - } - }, - options: resolveSeq.binaryOptions, - stringify: ({ - comment, - type, - value - }, ctx, onComment, onChompKeep) => { - let src; - - if (typeof Buffer === 'function') { - src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64'); - } else if (typeof btoa === 'function') { - let s = ''; - - for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]); - - src = btoa(s); - } else { - throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required'); - } - - if (!type) type = resolveSeq.binaryOptions.defaultType; - - if (type === PlainValue.Type.QUOTE_DOUBLE) { - value = src; - } else { - const { - lineWidth - } = resolveSeq.binaryOptions; - const n = Math.ceil(src.length / lineWidth); - const lines = new Array(n); - - for (let i = 0, o = 0; i < n; ++i, o += lineWidth) { - lines[i] = src.substr(o, lineWidth); - } - - value = lines.join(type === PlainValue.Type.BLOCK_LITERAL ? '\n' : ' '); - } - - return resolveSeq.stringifyString({ - comment, - type, - value - }, ctx, onComment, onChompKeep); - } -}; - -function parsePairs(doc, cst) { - const seq = resolveSeq.resolveSeq(doc, cst); - - for (let i = 0; i < seq.items.length; ++i) { - let item = seq.items[i]; - if (item instanceof resolveSeq.Pair) continue;else if (item instanceof resolveSeq.YAMLMap) { - if (item.items.length > 1) { - const msg = 'Each pair must have its own sequence indicator'; - throw new PlainValue.YAMLSemanticError(cst, msg); - } - - const pair = item.items[0] || new resolveSeq.Pair(); - if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\n${pair.commentBefore}` : item.commentBefore; - if (item.comment) pair.comment = pair.comment ? `${item.comment}\n${pair.comment}` : item.comment; - item = pair; - } - seq.items[i] = item instanceof resolveSeq.Pair ? item : new resolveSeq.Pair(item); - } - - return seq; -} -function createPairs(schema, iterable, ctx) { - const pairs = new resolveSeq.YAMLSeq(schema); - pairs.tag = 'tag:yaml.org,2002:pairs'; - - for (const it of iterable) { - let key, value; - - if (Array.isArray(it)) { - if (it.length === 2) { - key = it[0]; - value = it[1]; - } else throw new TypeError(`Expected [key, value] tuple: ${it}`); - } else if (it && it instanceof Object) { - const keys = Object.keys(it); - - if (keys.length === 1) { - key = keys[0]; - value = it[key]; - } else throw new TypeError(`Expected { key: value } tuple: ${it}`); - } else { - key = it; - } - - const pair = schema.createPair(key, value, ctx); - pairs.items.push(pair); - } - - return pairs; -} -const pairs = { - default: false, - tag: 'tag:yaml.org,2002:pairs', - resolve: parsePairs, - createNode: createPairs -}; - -class YAMLOMap extends resolveSeq.YAMLSeq { - constructor() { - super(); - - PlainValue._defineProperty(this, "add", resolveSeq.YAMLMap.prototype.add.bind(this)); - - PlainValue._defineProperty(this, "delete", resolveSeq.YAMLMap.prototype.delete.bind(this)); - - PlainValue._defineProperty(this, "get", resolveSeq.YAMLMap.prototype.get.bind(this)); - - PlainValue._defineProperty(this, "has", resolveSeq.YAMLMap.prototype.has.bind(this)); - - PlainValue._defineProperty(this, "set", resolveSeq.YAMLMap.prototype.set.bind(this)); - - this.tag = YAMLOMap.tag; - } - - toJSON(_, ctx) { - const map = new Map(); - if (ctx && ctx.onCreate) ctx.onCreate(map); - - for (const pair of this.items) { - let key, value; - - if (pair instanceof resolveSeq.Pair) { - key = resolveSeq.toJSON(pair.key, '', ctx); - value = resolveSeq.toJSON(pair.value, key, ctx); - } else { - key = resolveSeq.toJSON(pair, '', ctx); - } - - if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys'); - map.set(key, value); - } - - return map; - } - -} - -PlainValue._defineProperty(YAMLOMap, "tag", 'tag:yaml.org,2002:omap'); - -function parseOMap(doc, cst) { - const pairs = parsePairs(doc, cst); - const seenKeys = []; - - for (const { - key - } of pairs.items) { - if (key instanceof resolveSeq.Scalar) { - if (seenKeys.includes(key.value)) { - const msg = 'Ordered maps must not include duplicate keys'; - throw new PlainValue.YAMLSemanticError(cst, msg); - } else { - seenKeys.push(key.value); - } - } - } - - return Object.assign(new YAMLOMap(), pairs); -} - -function createOMap(schema, iterable, ctx) { - const pairs = createPairs(schema, iterable, ctx); - const omap = new YAMLOMap(); - omap.items = pairs.items; - return omap; -} - -const omap = { - identify: value => value instanceof Map, - nodeClass: YAMLOMap, - default: false, - tag: 'tag:yaml.org,2002:omap', - resolve: parseOMap, - createNode: createOMap -}; - -class YAMLSet extends resolveSeq.YAMLMap { - constructor() { - super(); - this.tag = YAMLSet.tag; - } - - add(key) { - const pair = key instanceof resolveSeq.Pair ? key : new resolveSeq.Pair(key); - const prev = resolveSeq.findPair(this.items, pair.key); - if (!prev) this.items.push(pair); - } - - get(key, keepPair) { - const pair = resolveSeq.findPair(this.items, key); - return !keepPair && pair instanceof resolveSeq.Pair ? pair.key instanceof resolveSeq.Scalar ? pair.key.value : pair.key : pair; - } - - set(key, value) { - if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`); - const prev = resolveSeq.findPair(this.items, key); - - if (prev && !value) { - this.items.splice(this.items.indexOf(prev), 1); - } else if (!prev && value) { - this.items.push(new resolveSeq.Pair(key)); - } - } - - toJSON(_, ctx) { - return super.toJSON(_, ctx, Set); - } - - toString(ctx, onComment, onChompKeep) { - if (!ctx) return JSON.stringify(this); - if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values'); - } - -} - -PlainValue._defineProperty(YAMLSet, "tag", 'tag:yaml.org,2002:set'); - -function parseSet(doc, cst) { - const map = resolveSeq.resolveMap(doc, cst); - if (!map.hasAllNullValues()) throw new PlainValue.YAMLSemanticError(cst, 'Set items must all have null values'); - return Object.assign(new YAMLSet(), map); -} - -function createSet(schema, iterable, ctx) { - const set = new YAMLSet(); - - for (const value of iterable) set.items.push(schema.createPair(value, null, ctx)); - - return set; -} - -const set = { - identify: value => value instanceof Set, - nodeClass: YAMLSet, - default: false, - tag: 'tag:yaml.org,2002:set', - resolve: parseSet, - createNode: createSet -}; - -const parseSexagesimal = (sign, parts) => { - const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0); - return sign === '-' ? -n : n; -}; // hhhh:mm:ss.sss - - -const stringifySexagesimal = ({ - value -}) => { - if (isNaN(value) || !isFinite(value)) return resolveSeq.stringifyNumber(value); - let sign = ''; - - if (value < 0) { - sign = '-'; - value = Math.abs(value); - } - - const parts = [value % 60]; // seconds, including ms - - if (value < 60) { - parts.unshift(0); // at least one : is required - } else { - value = Math.round((value - parts[0]) / 60); - parts.unshift(value % 60); // minutes - - if (value >= 60) { - value = Math.round((value - parts[0]) / 60); - parts.unshift(value); // hours - } - } - - return sign + parts.map(n => n < 10 ? '0' + String(n) : String(n)).join(':').replace(/000000\d*$/, '') // % 60 may introduce error - ; -}; - -const intTime = { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:int', - format: 'TIME', - test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/, - resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')), - stringify: stringifySexagesimal -}; -const floatTime = { - identify: value => typeof value === 'number', - default: true, - tag: 'tag:yaml.org,2002:float', - format: 'TIME', - test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/, - resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')), - stringify: stringifySexagesimal -}; -const timestamp = { - identify: value => value instanceof Date, - default: true, - tag: 'tag:yaml.org,2002:timestamp', - // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part - // may be omitted altogether, resulting in a date format. In such a case, the time part is - // assumed to be 00:00:00Z (start of day, UTC). - test: RegExp('^(?:' + '([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd - '(?:(?:t|T|[ \\t]+)' + // t | T | whitespace - '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)? - '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30 - ')?' + ')$'), - resolve: (str, year, month, day, hour, minute, second, millisec, tz) => { - if (millisec) millisec = (millisec + '00').substr(1, 3); - let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0); - - if (tz && tz !== 'Z') { - let d = parseSexagesimal(tz[0], tz.slice(1)); - if (Math.abs(d) < 30) d *= 60; - date -= 60000 * d; - } - - return new Date(date); - }, - stringify: ({ - value - }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, '') -}; - -/* global console, process, YAML_SILENCE_DEPRECATION_WARNINGS, YAML_SILENCE_WARNINGS */ -function shouldWarn(deprecation) { - const env = typeof process !== 'undefined' && process.env || {}; - - if (deprecation) { - if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== 'undefined') return !YAML_SILENCE_DEPRECATION_WARNINGS; - return !env.YAML_SILENCE_DEPRECATION_WARNINGS; - } - - if (typeof YAML_SILENCE_WARNINGS !== 'undefined') return !YAML_SILENCE_WARNINGS; - return !env.YAML_SILENCE_WARNINGS; -} - -function warn(warning, type) { - if (shouldWarn(false)) { - const emit = typeof process !== 'undefined' && process.emitWarning; // This will throw in Jest if `warning` is an Error instance due to - // https://github.com/facebook/jest/issues/2549 - - if (emit) emit(warning, type);else { - // eslint-disable-next-line no-console - console.warn(type ? `${type}: ${warning}` : warning); - } - } -} -function warnFileDeprecation(filename) { - if (shouldWarn(true)) { - const path = filename.replace(/.*yaml[/\\]/i, '').replace(/\.js$/, '').replace(/\\/g, '/'); - warn(`The endpoint 'yaml/${path}' will be removed in a future release.`, 'DeprecationWarning'); - } -} -const warned = {}; -function warnOptionDeprecation(name, alternative) { - if (!warned[name] && shouldWarn(true)) { - warned[name] = true; - let msg = `The option '${name}' will be removed in a future release`; - msg += alternative ? `, use '${alternative}' instead.` : '.'; - warn(msg, 'DeprecationWarning'); - } -} - -exports.binary = binary; -exports.floatTime = floatTime; -exports.intTime = intTime; -exports.omap = omap; -exports.pairs = pairs; -exports.set = set; -exports.timestamp = timestamp; -exports.warn = warn; -exports.warnFileDeprecation = warnFileDeprecation; -exports.warnOptionDeprecation = warnOptionDeprecation; diff --git a/node_modules/yaml/index.d.ts b/node_modules/yaml/index.d.ts deleted file mode 100644 index 53eb011b85..0000000000 --- a/node_modules/yaml/index.d.ts +++ /dev/null @@ -1,372 +0,0 @@ -import { CST } from './parse-cst' -import { - AST, - Alias, - Collection, - Merge, - Node, - Scalar, - Schema, - YAMLMap, - YAMLSeq -} from './types' -import { Type, YAMLError, YAMLWarning } from './util' - -export { AST, CST } -export { default as parseCST } from './parse-cst' - -/** - * `yaml` defines document-specific options in three places: as an argument of - * parse, create and stringify calls, in the values of `YAML.defaultOptions`, - * and in the version-dependent `YAML.Document.defaults` object. Values set in - * `YAML.defaultOptions` override version-dependent defaults, and argument - * options override both. - */ -export const defaultOptions: Options - -export interface Options extends Schema.Options { - /** - * Default prefix for anchors. - * - * Default: `'a'`, resulting in anchors `a1`, `a2`, etc. - */ - anchorPrefix?: string - /** - * The number of spaces to use when indenting code. - * - * Default: `2` - */ - indent?: number - /** - * Whether block sequences should be indented. - * - * Default: `true` - */ - indentSeq?: boolean - /** - * Allow non-JSON JavaScript objects to remain in the `toJSON` output. - * Relevant with the YAML 1.1 `!!timestamp` and `!!binary` tags as well as BigInts. - * - * Default: `true` - */ - keepBlobsInJSON?: boolean - /** - * Include references in the AST to each node's corresponding CST node. - * - * Default: `false` - */ - keepCstNodes?: boolean - /** - * Store the original node type when parsing documents. - * - * Default: `true` - */ - keepNodeTypes?: boolean - /** - * When outputting JS, use Map rather than Object to represent mappings. - * - * Default: `false` - */ - mapAsMap?: boolean - /** - * Prevent exponential entity expansion attacks by limiting data aliasing count; - * set to `-1` to disable checks; `0` disallows all alias nodes. - * - * Default: `100` - */ - maxAliasCount?: number - /** - * Include line position & node type directly in errors; drop their verbose source and context. - * - * Default: `false` - */ - prettyErrors?: boolean - /** - * When stringifying, require keys to be scalars and to use implicit rather than explicit notation. - * - * Default: `false` - */ - simpleKeys?: boolean - /** - * The YAML version used by documents without a `%YAML` directive. - * - * Default: `"1.2"` - */ - version?: '1.0' | '1.1' | '1.2' -} - -/** - * Some customization options are availabe to control the parsing and - * stringification of scalars. Note that these values are used by all documents. - */ -export const scalarOptions: { - binary: scalarOptions.Binary - bool: scalarOptions.Bool - int: scalarOptions.Int - null: scalarOptions.Null - str: scalarOptions.Str -} -export namespace scalarOptions { - interface Binary { - /** - * The type of string literal used to stringify `!!binary` values. - * - * Default: `'BLOCK_LITERAL'` - */ - defaultType: Scalar.Type - /** - * Maximum line width for `!!binary`. - * - * Default: `76` - */ - lineWidth: number - } - - interface Bool { - /** - * String representation for `true`. With the core schema, use `'true' | 'True' | 'TRUE'`. - * - * Default: `'true'` - */ - trueStr: string - /** - * String representation for `false`. With the core schema, use `'false' | 'False' | 'FALSE'`. - * - * Default: `'false'` - */ - falseStr: string - } - - interface Int { - /** - * Whether integers should be parsed into BigInt values. - * - * Default: `false` - */ - asBigInt: boolean - } - - interface Null { - /** - * String representation for `null`. With the core schema, use `'null' | 'Null' | 'NULL' | '~' | ''`. - * - * Default: `'null'` - */ - nullStr: string - } - - interface Str { - /** - * The default type of string literal used to stringify values - * - * Default: `'PLAIN'` - */ - defaultType: Scalar.Type - doubleQuoted: { - /** - * Whether to restrict double-quoted strings to use JSON-compatible syntax. - * - * Default: `false` - */ - jsonEncoding: boolean - /** - * Minimum length to use multiple lines to represent the value. - * - * Default: `40` - */ - minMultiLineLength: number - } - fold: { - /** - * Maximum line width (set to `0` to disable folding). - * - * Default: `80` - */ - lineWidth: number - /** - * Minimum width for highly-indented content. - * - * Default: `20` - */ - minContentWidth: number - } - } -} - -export class Document extends Collection { - cstNode?: CST.Document - constructor(options?: Options) - tag: never - directivesEndMarker?: boolean - type: Type.DOCUMENT - /** - * Anchors associated with the document's nodes; - * also provides alias & merge node creators. - */ - anchors: Document.Anchors - /** The document contents. */ - contents: any - /** Errors encountered during parsing. */ - errors: YAMLError[] - /** - * The schema used with the document. Use `setSchema()` to change or - * initialise. - */ - schema?: Schema - /** - * Array of prefixes; each will have a string `handle` that - * starts and ends with `!` and a string `prefix` that the handle will be replaced by. - */ - tagPrefixes: Document.TagPrefix[] - /** - * The parsed version of the source document; - * if true-ish, stringified output will include a `%YAML` directive. - */ - version?: string - /** Warnings encountered during parsing. */ - warnings: YAMLWarning[] - /** - * List the tags used in the document that are not in the default - * `tag:yaml.org,2002:` namespace. - */ - listNonDefaultTags(): string[] - /** Parse a CST into this document */ - parse(cst: CST.Document): this - /** - * When a document is created with `new YAML.Document()`, the schema object is - * not set as it may be influenced by parsed directives; call this with no - * arguments to set it manually, or with arguments to change the schema used - * by the document. - **/ - setSchema( - id?: Options['version'] | Schema.Name, - customTags?: (Schema.TagId | Schema.Tag)[] - ): void - /** Set `handle` as a shorthand string for the `prefix` tag namespace. */ - setTagPrefix(handle: string, prefix: string): void - /** - * A plain JavaScript representation of the document `contents`. - * - * @param arg Used by `JSON.stringify` to indicate the array index or property - * name. If its value is a `string` and the document `contents` has a scalar - * value, the `keepBlobsInJSON` option has no effect. - * @param onAnchor If defined, called with the resolved `value` and reference - * `count` for each anchor in the document. - * */ - toJSON(arg?: string, onAnchor?: (value: any, count: number) => void): any - /** A YAML representation of the document. */ - toString(): string -} - -export namespace Document { - interface Parsed extends Document { - contents: Scalar | YAMLMap | YAMLSeq | null - /** The schema used with the document. */ - schema: Schema - } - - interface Anchors { - /** - * Create a new `Alias` node, adding the required anchor for `node`. - * If `name` is empty, a new anchor name will be generated. - */ - createAlias(node: Node, name?: string): Alias - /** - * Create a new `Merge` node with the given source nodes. - * Non-`Alias` sources will be automatically wrapped. - */ - createMergePair(...nodes: Node[]): Merge - /** The anchor name associated with `node`, if set. */ - getName(node: Node): undefined | string - /** List of all defined anchor names. */ - getNames(): string[] - /** The node associated with the anchor `name`, if set. */ - getNode(name: string): undefined | Node - /** - * Find an available anchor name with the given `prefix` and a - * numerical suffix. - */ - newName(prefix: string): string - /** - * Associate an anchor with `node`. If `name` is empty, a new name will be generated. - * To remove an anchor, use `setAnchor(null, name)`. - */ - setAnchor(node: Node | null, name?: string): void | string - } - - interface TagPrefix { - handle: string - prefix: string - } -} - -/** - * Recursively turns objects into collections. Generic objects as well as `Map` - * and its descendants become mappings, while arrays and other iterable objects - * result in sequences. - * - * The primary purpose of this function is to enable attaching comments or other - * metadata to a value, or to otherwise exert more fine-grained control over the - * stringified output. To that end, you'll need to assign its return value to - * the `contents` of a Document (or somewhere within said contents), as the - * document's schema is required for YAML string output. - * - * @param wrapScalars If undefined or `true`, also wraps plain values in - * `Scalar` objects; if `false` and `value` is not an object, it will be - * returned directly. - * @param tag Use to specify the collection type, e.g. `"!!omap"`. Note that - * this requires the corresponding tag to be available based on the default - * options. To use a specific document's schema, use `doc.schema.createNode`. - */ -export function createNode( - value: any, - wrapScalars?: true, - tag?: string -): YAMLMap | YAMLSeq | Scalar - -/** - * YAML.createNode recursively turns objects into Map and arrays to Seq collections. - * Its primary use is to enable attaching comments or other metadata to a value, - * or to otherwise exert more fine-grained control over the stringified output. - * - * Doesn't wrap plain values in Scalar objects. - */ -export function createNode( - value: any, - wrapScalars: false, - tag?: string -): YAMLMap | YAMLSeq | string | number | boolean | null - -/** - * Parse an input string into a single YAML.Document. - */ -export function parseDocument(str: string, options?: Options): Document.Parsed - -/** - * Parse the input as a stream of YAML documents. - * - * Documents should be separated from each other by `...` or `---` marker lines. - */ -export function parseAllDocuments( - str: string, - options?: Options -): Document.Parsed[] - -/** - * Parse an input string into JavaScript. - * - * Only supports input consisting of a single YAML document; for multi-document - * support you should use `YAML.parseAllDocuments`. May throw on error, and may - * log warnings using `console.warn`. - * - * @param str A string with YAML formatting. - * @returns The value will match the type of the root value of the parsed YAML - * document, so Maps become objects, Sequences arrays, and scalars result in - * nulls, booleans, numbers and strings. - */ -export function parse(str: string, options?: Options): any - -/** - * @returns Will always include \n as the last character, as is expected of YAML documents. - */ -export function stringify(value: any, options?: Options): string diff --git a/node_modules/yaml/index.js b/node_modules/yaml/index.js deleted file mode 100644 index b501ac4dbf..0000000000 --- a/node_modules/yaml/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist').YAML diff --git a/node_modules/yaml/map.js b/node_modules/yaml/map.js deleted file mode 100644 index 78f2ebc749..0000000000 --- a/node_modules/yaml/map.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').YAMLMap -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/package.json b/node_modules/yaml/package.json deleted file mode 100644 index d91b0dd13d..0000000000 --- a/node_modules/yaml/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "name": "yaml", - "version": "1.10.2", - "license": "ISC", - "author": "Eemeli Aro ", - "repository": "github:eemeli/yaml", - "description": "JavaScript parser and stringifier for YAML", - "keywords": [ - "YAML", - "parser", - "stringifier" - ], - "homepage": "https://eemeli.org/yaml/v1/", - "files": [ - "browser/", - "dist/", - "types/", - "*.d.ts", - "*.js", - "*.mjs", - "!*config.js" - ], - "type": "commonjs", - "main": "./index.js", - "browser": { - "./index.js": "./browser/index.js", - "./map.js": "./browser/map.js", - "./pair.js": "./browser/pair.js", - "./parse-cst.js": "./browser/parse-cst.js", - "./scalar.js": "./browser/scalar.js", - "./schema.js": "./browser/schema.js", - "./seq.js": "./browser/seq.js", - "./types.js": "./browser/types.js", - "./types.mjs": "./browser/types.js", - "./types/binary.js": "./browser/types/binary.js", - "./types/omap.js": "./browser/types/omap.js", - "./types/pairs.js": "./browser/types/pairs.js", - "./types/set.js": "./browser/types/set.js", - "./types/timestamp.js": "./browser/types/timestamp.js", - "./util.js": "./browser/util.js", - "./util.mjs": "./browser/util.js" - }, - "exports": { - ".": "./index.js", - "./parse-cst": "./parse-cst.js", - "./types": [ - { - "import": "./types.mjs" - }, - "./types.js" - ], - "./util": [ - { - "import": "./util.mjs" - }, - "./util.js" - ], - "./": "./" - }, - "scripts": { - "build": "npm run build:node && npm run build:browser", - "build:browser": "rollup -c rollup.browser-config.js", - "build:node": "rollup -c rollup.node-config.js", - "clean": "git clean -fdxe node_modules", - "lint": "eslint src/", - "prettier": "prettier --write .", - "start": "cross-env TRACE_LEVEL=log npm run build:node && node -i -e 'YAML=require(\".\")'", - "test": "jest", - "test:browsers": "cd playground && npm test", - "test:dist": "npm run build:node && jest", - "test:types": "tsc --lib ES2017 --noEmit tests/typings.ts", - "docs:install": "cd docs-slate && bundle install", - "docs:deploy": "cd docs-slate && ./deploy.sh", - "docs": "cd docs-slate && bundle exec middleman server", - "preversion": "npm test && npm run build", - "prepublishOnly": "npm run clean && npm test && npm run build" - }, - "browserslist": "> 0.5%, not dead", - "prettier": { - "arrowParens": "avoid", - "semi": false, - "singleQuote": true, - "trailingComma": "none" - }, - "devDependencies": { - "@babel/core": "^7.12.10", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/preset-env": "^7.12.11", - "@rollup/plugin-babel": "^5.2.3", - "babel-eslint": "^10.1.0", - "babel-jest": "^26.6.3", - "babel-plugin-trace": "^1.1.0", - "common-tags": "^1.8.0", - "cross-env": "^7.0.3", - "eslint": "^7.19.0", - "eslint-config-prettier": "^7.2.0", - "fast-check": "^2.12.0", - "jest": "^26.6.3", - "prettier": "^2.2.1", - "rollup": "^2.38.2", - "typescript": "^4.1.3" - }, - "engines": { - "node": ">= 6" - } -} diff --git a/node_modules/yaml/pair.js b/node_modules/yaml/pair.js deleted file mode 100644 index b2880a256e..0000000000 --- a/node_modules/yaml/pair.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').Pair -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/parse-cst.d.ts b/node_modules/yaml/parse-cst.d.ts deleted file mode 100644 index 9fd2ebf8b7..0000000000 --- a/node_modules/yaml/parse-cst.d.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { Type, YAMLSyntaxError } from './util' - -export default function parseCST(str: string): ParsedCST - -export interface ParsedCST extends Array { - setOrigRanges(): boolean -} - -export namespace CST { - interface Range { - start: number - end: number - origStart?: number - origEnd?: number - isEmpty(): boolean - } - - interface ParseContext { - /** Node starts at beginning of line */ - atLineStart: boolean - /** true if currently in a collection context */ - inCollection: boolean - /** true if currently in a flow context */ - inFlow: boolean - /** Current level of indentation */ - indent: number - /** Start of the current line */ - lineStart: number - /** The parent of the node */ - parent: Node - /** Source of the YAML document */ - src: string - } - - interface Node { - context: ParseContext | null - /** if not null, indicates a parser failure */ - error: YAMLSyntaxError | null - /** span of context.src parsed into this node */ - range: Range | null - valueRange: Range | null - /** anchors, tags and comments */ - props: Range[] - /** specific node type */ - type: Type - /** if non-null, overrides source value */ - value: string | null - - readonly anchor: string | null - readonly comment: string | null - readonly hasComment: boolean - readonly hasProps: boolean - readonly jsonLike: boolean - readonly rangeAsLinePos: null | { - start: { line: number; col: number } - end?: { line: number; col: number } - } - readonly rawValue: string | null - readonly tag: - | null - | { verbatim: string } - | { handle: string; suffix: string } - readonly valueRangeContainsNewline: boolean - } - - interface Alias extends Node { - type: Type.ALIAS - /** contain the anchor without the * prefix */ - readonly rawValue: string - } - - type Scalar = BlockValue | PlainValue | QuoteValue - - interface BlockValue extends Node { - type: Type.BLOCK_FOLDED | Type.BLOCK_LITERAL - chomping: 'CLIP' | 'KEEP' | 'STRIP' - blockIndent: number | null - header: Range - readonly strValue: string | null - } - - interface BlockFolded extends BlockValue { - type: Type.BLOCK_FOLDED - } - - interface BlockLiteral extends BlockValue { - type: Type.BLOCK_LITERAL - } - - interface PlainValue extends Node { - type: Type.PLAIN - readonly strValue: string | null - } - - interface QuoteValue extends Node { - type: Type.QUOTE_DOUBLE | Type.QUOTE_SINGLE - readonly strValue: - | null - | string - | { str: string; errors: YAMLSyntaxError[] } - } - - interface QuoteDouble extends QuoteValue { - type: Type.QUOTE_DOUBLE - } - - interface QuoteSingle extends QuoteValue { - type: Type.QUOTE_SINGLE - } - - interface Comment extends Node { - type: Type.COMMENT - readonly anchor: null - readonly comment: string - readonly rawValue: null - readonly tag: null - } - - interface BlankLine extends Node { - type: Type.BLANK_LINE - } - - interface MapItem extends Node { - type: Type.MAP_KEY | Type.MAP_VALUE - node: ContentNode | null - } - - interface MapKey extends MapItem { - type: Type.MAP_KEY - } - - interface MapValue extends MapItem { - type: Type.MAP_VALUE - } - - interface Map extends Node { - type: Type.MAP - /** implicit keys are not wrapped */ - items: Array - } - - interface SeqItem extends Node { - type: Type.SEQ_ITEM - node: ContentNode | null - } - - interface Seq extends Node { - type: Type.SEQ - items: Array - } - - interface FlowChar { - char: '{' | '}' | '[' | ']' | ',' | '?' | ':' - offset: number - origOffset?: number - } - - interface FlowCollection extends Node { - type: Type.FLOW_MAP | Type.FLOW_SEQ - items: Array< - FlowChar | BlankLine | Comment | Alias | Scalar | FlowCollection - > - } - - interface FlowMap extends FlowCollection { - type: Type.FLOW_MAP - } - - interface FlowSeq extends FlowCollection { - type: Type.FLOW_SEQ - } - - type ContentNode = Alias | Scalar | Map | Seq | FlowCollection - - interface Directive extends Node { - type: Type.DIRECTIVE - name: string - readonly anchor: null - readonly parameters: string[] - readonly tag: null - } - - interface Document extends Node { - type: Type.DOCUMENT - directives: Array - contents: Array - readonly anchor: null - readonly comment: null - readonly tag: null - } -} diff --git a/node_modules/yaml/parse-cst.js b/node_modules/yaml/parse-cst.js deleted file mode 100644 index 806575652e..0000000000 --- a/node_modules/yaml/parse-cst.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/parse-cst').parse diff --git a/node_modules/yaml/scalar.js b/node_modules/yaml/scalar.js deleted file mode 100644 index deee1b03ae..0000000000 --- a/node_modules/yaml/scalar.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').Scalar -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/schema.js b/node_modules/yaml/schema.js deleted file mode 100644 index 4139c4bf8f..0000000000 --- a/node_modules/yaml/schema.js +++ /dev/null @@ -1,9 +0,0 @@ -const types = require('./dist/types') -const util = require('./dist/util') - -module.exports = types.Schema -module.exports.nullOptions = types.nullOptions -module.exports.strOptions = types.strOptions -module.exports.stringify = util.stringifyString - -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/seq.js b/node_modules/yaml/seq.js deleted file mode 100644 index 66147df38b..0000000000 --- a/node_modules/yaml/seq.js +++ /dev/null @@ -1,2 +0,0 @@ -module.exports = require('./dist/types').YAMLSeq -require('./dist/legacy-exports').warnFileDeprecation(__filename) diff --git a/node_modules/yaml/types.d.ts b/node_modules/yaml/types.d.ts deleted file mode 100644 index 411e74e8a1..0000000000 --- a/node_modules/yaml/types.d.ts +++ /dev/null @@ -1,407 +0,0 @@ -import { Document, scalarOptions } from './index' -import { CST } from './parse-cst' -import { Type } from './util' - -export const binaryOptions: scalarOptions.Binary -export const boolOptions: scalarOptions.Bool -export const intOptions: scalarOptions.Int -export const nullOptions: scalarOptions.Null -export const strOptions: scalarOptions.Str - -export class Schema { - /** Default: `'tag:yaml.org,2002:'` */ - static defaultPrefix: string - static defaultTags: { - /** Default: `'tag:yaml.org,2002:map'` */ - MAP: string - /** Default: `'tag:yaml.org,2002:seq'` */ - SEQ: string - /** Default: `'tag:yaml.org,2002:str'` */ - STR: string - } - constructor(options: Schema.Options) - /** - * Convert any value into a `Node` using this schema, recursively turning - * objects into collections. - * - * @param wrapScalars If `true`, also wraps plain values in `Scalar` objects; - * if undefined or `false` and `value` is not an object, it will be returned - * directly. - * @param tag Use to specify the collection type, e.g. `"!!omap"`. Note that - * this requires the corresponding tag to be available in this schema. - */ - createNode( - value: any, - wrapScalars?: boolean, - tag?: string, - ctx?: Schema.CreateNodeContext - ): Node - /** - * Convert a key and a value into a `Pair` using this schema, recursively - * wrapping all values as `Scalar` or `Collection` nodes. - * - * @param ctx To not wrap scalars, use a context `{ wrapScalars: false }` - */ - createPair(key: any, value: any, ctx?: Schema.CreateNodeContext): Pair - merge: boolean - name: Schema.Name - sortMapEntries: ((a: Pair, b: Pair) => number) | null - tags: Schema.Tag[] -} - -export namespace Schema { - type Name = 'core' | 'failsafe' | 'json' | 'yaml-1.1' - - interface Options { - /** - * Array of additional tags to include in the schema, or a function that may - * modify the schema's base tag array. - */ - customTags?: (TagId | Tag)[] | ((tags: Tag[]) => Tag[]) - /** - * Enable support for `<<` merge keys. - * - * Default: `false` for YAML 1.2, `true` for earlier versions - */ - merge?: boolean - /** - * The base schema to use. - * - * Default: `"core"` for YAML 1.2, `"yaml-1.1"` for earlier versions - */ - schema?: Name - /** - * When stringifying, sort map entries. If `true`, sort by comparing key values with `<`. - * - * Default: `false` - */ - sortMapEntries?: boolean | ((a: Pair, b: Pair) => number) - /** - * @deprecated Use `customTags` instead. - */ - tags?: Options['customTags'] - } - - interface CreateNodeContext { - wrapScalars?: boolean - [key: string]: any - } - - interface StringifyContext { - forceBlockIndent?: boolean - implicitKey?: boolean - indent?: string - indentAtStart?: number - inFlow?: boolean - [key: string]: any - } - - type TagId = - | 'binary' - | 'bool' - | 'float' - | 'floatExp' - | 'floatNaN' - | 'floatTime' - | 'int' - | 'intHex' - | 'intOct' - | 'intTime' - | 'null' - | 'omap' - | 'pairs' - | 'set' - | 'timestamp' - - type Tag = CustomTag | DefaultTag - - interface BaseTag { - /** - * An optional factory function, used e.g. by collections when wrapping JS objects as AST nodes. - */ - createNode?: ( - schema: Schema, - value: any, - ctx: Schema.CreateNodeContext - ) => YAMLMap | YAMLSeq | Scalar - /** - * If a tag has multiple forms that should be parsed and/or stringified differently, use `format` to identify them. - */ - format?: string - /** - * Used by `YAML.createNode` to detect your data type, e.g. using `typeof` or - * `instanceof`. - */ - identify(value: any): boolean - /** - * The `Node` child class that implements this tag. Required for collections and tags that have overlapping JS representations. - */ - nodeClass?: new () => any - /** - * Used by some tags to configure their stringification, where applicable. - */ - options?: object - /** - * Optional function stringifying the AST node in the current context. If your - * data includes a suitable `.toString()` method, you can probably leave this - * undefined and use the default stringifier. - * - * @param item The node being stringified. - * @param ctx Contains the stringifying context variables. - * @param onComment Callback to signal that the stringifier includes the - * item's comment in its output. - * @param onChompKeep Callback to signal that the output uses a block scalar - * type with the `+` chomping indicator. - */ - stringify?: ( - item: Node, - ctx: Schema.StringifyContext, - onComment?: () => void, - onChompKeep?: () => void - ) => string - /** - * The identifier for your data type, with which its stringified form will be - * prefixed. Should either be a !-prefixed local `!tag`, or a fully qualified - * `tag:domain,date:foo`. - */ - tag: string - } - - interface CustomTag extends BaseTag { - /** - * A JavaScript class that should be matched to this tag, e.g. `Date` for `!!timestamp`. - * @deprecated Use `Tag.identify` instead - */ - class?: new () => any - /** - * Turns a CST node into an AST node. If returning a non-`Node` value, the - * output will be wrapped as a `Scalar`. - */ - resolve(doc: Document, cstNode: CST.Node): Node | any - } - - interface DefaultTag extends BaseTag { - /** - * If `true`, together with `test` allows for values to be stringified without - * an explicit tag. For most cases, it's unlikely that you'll actually want to - * use this, even if you first think you do. - */ - default: true - /** - * Alternative form used by default tags; called with `test` match results. - */ - resolve(...match: string[]): Node | any - /** - * Together with `default` allows for values to be stringified without an - * explicit tag and detected using a regular expression. For most cases, it's - * unlikely that you'll actually want to use these, even if you first think - * you do. - */ - test: RegExp - } -} - -export class Node { - /** A comment on or immediately after this */ - comment?: string | null - /** A comment before this */ - commentBefore?: string | null - /** Only available when `keepCstNodes` is set to `true` */ - cstNode?: CST.Node - /** - * The [start, end] range of characters of the source parsed - * into this node (undefined for pairs or if not parsed) - */ - range?: [number, number] | null - /** A blank line before this node and its commentBefore */ - spaceBefore?: boolean - /** A fully qualified tag, if required */ - tag?: string - /** A plain JS representation of this node */ - toJSON(arg?: any): any - /** The type of this node */ - type?: Type | Pair.Type -} - -export class Scalar extends Node { - constructor(value: any) - type?: Scalar.Type - /** - * By default (undefined), numbers use decimal notation. - * The YAML 1.2 core schema only supports 'HEX' and 'OCT'. - */ - format?: 'BIN' | 'HEX' | 'OCT' | 'TIME' - value: any - toJSON(arg?: any, ctx?: AST.NodeToJsonContext): any - toString(): string -} -export namespace Scalar { - type Type = - | Type.BLOCK_FOLDED - | Type.BLOCK_LITERAL - | Type.PLAIN - | Type.QUOTE_DOUBLE - | Type.QUOTE_SINGLE -} - -export class Alias extends Node { - type: Type.ALIAS - source: Node - cstNode?: CST.Alias - toString(ctx: Schema.StringifyContext): string -} - -export class Pair extends Node { - constructor(key: any, value?: any) - type: Pair.Type.PAIR | Pair.Type.MERGE_PAIR - /** Always Node or null when parsed, but can be set to anything. */ - key: any - /** Always Node or null when parsed, but can be set to anything. */ - value: any - cstNode?: never // no corresponding cstNode - toJSON(arg?: any, ctx?: AST.NodeToJsonContext): object | Map - toString( - ctx?: Schema.StringifyContext, - onComment?: () => void, - onChompKeep?: () => void - ): string -} -export namespace Pair { - enum Type { - PAIR = 'PAIR', - MERGE_PAIR = 'MERGE_PAIR' - } -} - -export class Merge extends Pair { - type: Pair.Type.MERGE_PAIR - /** Always Scalar('<<'), defined by the type specification */ - key: AST.PlainValue - /** Always YAMLSeq, stringified as *A if length = 1 */ - value: YAMLSeq - toString(ctx?: Schema.StringifyContext, onComment?: () => void): string -} - -export class Collection extends Node { - type?: Type.MAP | Type.FLOW_MAP | Type.SEQ | Type.FLOW_SEQ | Type.DOCUMENT - items: any[] - schema?: Schema - - /** - * Adds a value to the collection. For `!!map` and `!!omap` the value must - * be a Pair instance or a `{ key, value }` object, which may not have a key - * that already exists in the map. - */ - add(value: any): void - addIn(path: Iterable, value: any): void - /** - * Removes a value from the collection. - * @returns `true` if the item was found and removed. - */ - delete(key: any): boolean - deleteIn(path: Iterable): boolean - /** - * Returns item at `key`, or `undefined` if not found. By default unwraps - * scalar values from their surrounding node; to disable set `keepScalar` to - * `true` (collections are always returned intact). - */ - get(key: any, keepScalar?: boolean): any - getIn(path: Iterable, keepScalar?: boolean): any - /** - * Checks if the collection includes a value with the key `key`. - */ - has(key: any): boolean - hasIn(path: Iterable): boolean - /** - * Sets a value in this collection. For `!!set`, `value` needs to be a - * boolean to add/remove the item from the set. - */ - set(key: any, value: any): void - setIn(path: Iterable, value: any): void -} - -export class YAMLMap extends Collection { - type?: Type.FLOW_MAP | Type.MAP - items: Array - hasAllNullValues(): boolean - toJSON(arg?: any, ctx?: AST.NodeToJsonContext): object | Map - toString( - ctx?: Schema.StringifyContext, - onComment?: () => void, - onChompKeep?: () => void - ): string -} - -export class YAMLSeq extends Collection { - type?: Type.FLOW_SEQ | Type.SEQ - delete(key: number | string | Scalar): boolean - get(key: number | string | Scalar, keepScalar?: boolean): any - has(key: number | string | Scalar): boolean - set(key: number | string | Scalar, value: any): void - hasAllNullValues(): boolean - toJSON(arg?: any, ctx?: AST.NodeToJsonContext): any[] - toString( - ctx?: Schema.StringifyContext, - onComment?: () => void, - onChompKeep?: () => void - ): string -} - -export namespace AST { - interface NodeToJsonContext { - anchors?: any[] - doc: Document - keep?: boolean - mapAsMap?: boolean - maxAliasCount?: number - onCreate?: (node: Node) => void - [key: string]: any - } - - interface BlockFolded extends Scalar { - type: Type.BLOCK_FOLDED - cstNode?: CST.BlockFolded - } - - interface BlockLiteral extends Scalar { - type: Type.BLOCK_LITERAL - cstNode?: CST.BlockLiteral - } - - interface PlainValue extends Scalar { - type: Type.PLAIN - cstNode?: CST.PlainValue - } - - interface QuoteDouble extends Scalar { - type: Type.QUOTE_DOUBLE - cstNode?: CST.QuoteDouble - } - - interface QuoteSingle extends Scalar { - type: Type.QUOTE_SINGLE - cstNode?: CST.QuoteSingle - } - - interface FlowMap extends YAMLMap { - type: Type.FLOW_MAP - cstNode?: CST.FlowMap - } - - interface BlockMap extends YAMLMap { - type: Type.MAP - cstNode?: CST.Map - } - - interface FlowSeq extends YAMLSeq { - type: Type.FLOW_SEQ - items: Array - cstNode?: CST.FlowSeq - } - - interface BlockSeq extends YAMLSeq { - type: Type.SEQ - items: Array - cstNode?: CST.Seq - } -} diff --git a/node_modules/yaml/types.js b/node_modules/yaml/types.js deleted file mode 100644 index 88747498da..0000000000 --- a/node_modules/yaml/types.js +++ /dev/null @@ -1,17 +0,0 @@ -const types = require('./dist/types') - -exports.binaryOptions = types.binaryOptions -exports.boolOptions = types.boolOptions -exports.intOptions = types.intOptions -exports.nullOptions = types.nullOptions -exports.strOptions = types.strOptions - -exports.Schema = types.Schema -exports.Alias = types.Alias -exports.Collection = types.Collection -exports.Merge = types.Merge -exports.Node = types.Node -exports.Pair = types.Pair -exports.Scalar = types.Scalar -exports.YAMLMap = types.YAMLMap -exports.YAMLSeq = types.YAMLSeq diff --git a/node_modules/yaml/types.mjs b/node_modules/yaml/types.mjs deleted file mode 100644 index 71322884ca..0000000000 --- a/node_modules/yaml/types.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import types from './dist/types.js' - -export const binaryOptions = types.binaryOptions -export const boolOptions = types.boolOptions -export const intOptions = types.intOptions -export const nullOptions = types.nullOptions -export const strOptions = types.strOptions - -export const Schema = types.Schema -export const Alias = types.Alias -export const Collection = types.Collection -export const Merge = types.Merge -export const Node = types.Node -export const Pair = types.Pair -export const Scalar = types.Scalar -export const YAMLMap = types.YAMLMap -export const YAMLSeq = types.YAMLSeq diff --git a/node_modules/yaml/types/binary.js b/node_modules/yaml/types/binary.js deleted file mode 100644 index 271b9de38b..0000000000 --- a/node_modules/yaml/types/binary.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' -Object.defineProperty(exports, '__esModule', { value: true }) - -const legacy = require('../dist/legacy-exports') -exports.binary = legacy.binary -exports.default = [exports.binary] - -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/types/omap.js b/node_modules/yaml/types/omap.js deleted file mode 100644 index 37b638b732..0000000000 --- a/node_modules/yaml/types/omap.js +++ /dev/null @@ -1,3 +0,0 @@ -const legacy = require('../dist/legacy-exports') -module.exports = legacy.omap -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/types/pairs.js b/node_modules/yaml/types/pairs.js deleted file mode 100644 index f1df201ceb..0000000000 --- a/node_modules/yaml/types/pairs.js +++ /dev/null @@ -1,3 +0,0 @@ -const legacy = require('../dist/legacy-exports') -module.exports = legacy.pairs -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/types/set.js b/node_modules/yaml/types/set.js deleted file mode 100644 index e7dc9d42c3..0000000000 --- a/node_modules/yaml/types/set.js +++ /dev/null @@ -1,3 +0,0 @@ -const legacy = require('../dist/legacy-exports') -module.exports = legacy.set -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/types/timestamp.js b/node_modules/yaml/types/timestamp.js deleted file mode 100644 index 39c5b6dd40..0000000000 --- a/node_modules/yaml/types/timestamp.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' -Object.defineProperty(exports, '__esModule', { value: true }) - -const legacy = require('../dist/legacy-exports') -exports.default = [legacy.intTime, legacy.floatTime, legacy.timestamp] -exports.floatTime = legacy.floatTime -exports.intTime = legacy.intTime -exports.timestamp = legacy.timestamp - -legacy.warnFileDeprecation(__filename) diff --git a/node_modules/yaml/util.d.ts b/node_modules/yaml/util.d.ts deleted file mode 100644 index b13554100d..0000000000 --- a/node_modules/yaml/util.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { Document } from './index' -import { CST } from './parse-cst' -import { AST, Pair, Scalar, Schema } from './types' - -export function findPair(items: any[], key: Scalar | any): Pair | undefined - -export function parseMap(doc: Document, cst: CST.Map): AST.BlockMap -export function parseMap(doc: Document, cst: CST.FlowMap): AST.FlowMap -export function parseSeq(doc: Document, cst: CST.Seq): AST.BlockSeq -export function parseSeq(doc: Document, cst: CST.FlowSeq): AST.FlowSeq - -export function stringifyNumber(item: Scalar): string -export function stringifyString( - item: Scalar, - ctx: Schema.StringifyContext, - onComment?: () => void, - onChompKeep?: () => void -): string - -export function toJSON( - value: any, - arg?: any, - ctx?: Schema.CreateNodeContext -): any - -export enum Type { - ALIAS = 'ALIAS', - BLANK_LINE = 'BLANK_LINE', - BLOCK_FOLDED = 'BLOCK_FOLDED', - BLOCK_LITERAL = 'BLOCK_LITERAL', - COMMENT = 'COMMENT', - DIRECTIVE = 'DIRECTIVE', - DOCUMENT = 'DOCUMENT', - FLOW_MAP = 'FLOW_MAP', - FLOW_SEQ = 'FLOW_SEQ', - MAP = 'MAP', - MAP_KEY = 'MAP_KEY', - MAP_VALUE = 'MAP_VALUE', - PLAIN = 'PLAIN', - QUOTE_DOUBLE = 'QUOTE_DOUBLE', - QUOTE_SINGLE = 'QUOTE_SINGLE', - SEQ = 'SEQ', - SEQ_ITEM = 'SEQ_ITEM' -} - -interface LinePos { - line: number - col: number -} - -export class YAMLError extends Error { - name: - | 'YAMLReferenceError' - | 'YAMLSemanticError' - | 'YAMLSyntaxError' - | 'YAMLWarning' - message: string - source?: CST.Node - - nodeType?: Type - range?: CST.Range - linePos?: { start: LinePos; end: LinePos } - - /** - * Drops `source` and adds `nodeType`, `range` and `linePos`, as well as - * adding details to `message`. Run automatically for document errors if - * the `prettyErrors` option is set. - */ - makePretty(): void -} - -export class YAMLReferenceError extends YAMLError { - name: 'YAMLReferenceError' -} - -export class YAMLSemanticError extends YAMLError { - name: 'YAMLSemanticError' -} - -export class YAMLSyntaxError extends YAMLError { - name: 'YAMLSyntaxError' -} - -export class YAMLWarning extends YAMLError { - name: 'YAMLWarning' -} diff --git a/node_modules/yaml/util.js b/node_modules/yaml/util.js deleted file mode 100644 index 06dd2c9943..0000000000 --- a/node_modules/yaml/util.js +++ /dev/null @@ -1,16 +0,0 @@ -const util = require('./dist/util') - -exports.findPair = util.findPair -exports.toJSON = util.toJSON -exports.parseMap = util.parseMap -exports.parseSeq = util.parseSeq - -exports.stringifyNumber = util.stringifyNumber -exports.stringifyString = util.stringifyString -exports.Type = util.Type - -exports.YAMLError = util.YAMLError -exports.YAMLReferenceError = util.YAMLReferenceError -exports.YAMLSemanticError = util.YAMLSemanticError -exports.YAMLSyntaxError = util.YAMLSyntaxError -exports.YAMLWarning = util.YAMLWarning diff --git a/node_modules/yaml/util.mjs b/node_modules/yaml/util.mjs deleted file mode 100644 index 89e654abec..0000000000 --- a/node_modules/yaml/util.mjs +++ /dev/null @@ -1,18 +0,0 @@ -import util from './dist/util.js' - -export const findPair = util.findPair -export const toJSON = util.toJSON - -export const parseMap = util.parseMap -export const parseSeq = util.parseSeq - -export const stringifyNumber = util.stringifyNumber -export const stringifyString = util.stringifyString - -export const Type = util.Type - -export const YAMLError = util.YAMLError -export const YAMLReferenceError = util.YAMLReferenceError -export const YAMLSemanticError = util.YAMLSemanticError -export const YAMLSyntaxError = util.YAMLSyntaxError -export const YAMLWarning = util.YAMLWarning diff --git a/package-lock.json b/package-lock.json index 2307e01be9..ce9f90131f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,17 +9,17 @@ "version": "3.28.12", "license": "MIT", "dependencies": { - "@actions/artifact": "^2.1.9", + "@actions/artifact": "^2.3.1", "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2", "@actions/cache": "^4.0.2", "@actions/core": "^1.11.1", "@actions/exec": "^1.1.1", - "@actions/github": "^5.1.1", + "@actions/github": "^6.0.0", "@actions/glob": "^0.5.0", "@actions/http-client": "^2.2.3", "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", - "@octokit/plugin-retry": "^5.0.2", + "@octokit/plugin-retry": "^6.0.0", "@octokit/types": "^13.8.0", "@schemastore/package": "0.0.10", "@types/node-forge": "^1.3.11", @@ -81,10 +81,9 @@ } }, "node_modules/@actions/artifact": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-2.1.9.tgz", - "integrity": "sha512-f9JXC9JrwramDRJHZiIOKJo3PGw/V3riYegLj5kHi8YEJ2k72TNUd1zDW1BG50ILnzJ0cp1faDVJ2pSdolRQfg==", - "license": "MIT", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-2.3.1.tgz", + "integrity": "sha512-3uW25BNAqbMBcasNK+DX4I0Vl8aQdo65K6DRufJiNYjqfhSMfeRE4YGjWLaKmF+H+7bp1ADlQ5NksC61fpvYbQ==", "dependencies": { "@actions/core": "^1.10.0", "@actions/github": "^5.1.1", @@ -93,12 +92,10 @@ "@octokit/core": "^3.5.1", "@octokit/plugin-request-log": "^1.0.4", "@octokit/plugin-retry": "^3.0.9", - "@octokit/request-error": "^5.0.0", + "@octokit/request-error": "^5.1.1", "@protobuf-ts/plugin": "^2.2.3-alpha.1", "archiver": "^7.0.1", - "crypto": "^1.0.1", "jwt-decode": "^3.1.2", - "twirp-ts": "^2.5.0", "unzip-stream": "^0.3.1" } }, @@ -107,7 +104,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.1.2.tgz", "integrity": "sha512-1gLONA4xw3/Q/9vGxKwkFdV9u1LE2RWGx/IpAqg28ZjprCnJFjwn4pA7LtShqg5mg5WhMek2fjpyH1leCmOlQQ==", - "license": "MIT", "dependencies": { "@actions/core": "^1.9.1", "@actions/http-client": "^2.0.1", @@ -115,6 +111,101 @@ "tmp-promise": "^3.0.2" } }, + "node_modules/@actions/artifact/node_modules/@actions/github": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + } + }, + "node_modules/@actions/artifact/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==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/auth-token/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/core/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==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/core/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@actions/artifact/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==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/endpoint/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/graphql/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, "node_modules/@actions/artifact/node_modules/@octokit/openapi-types": { "version": "12.11.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", @@ -140,11 +231,23 @@ "@octokit/openapi-types": "^12.11.0" } }, + "node_modules/@actions/artifact/node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@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/@actions/artifact/node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", - "license": "MIT", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", @@ -154,6 +257,24 @@ "node": ">= 18" } }, + "node_modules/@actions/artifact/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==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@actions/artifact/node_modules/@octokit/request/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==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, "node_modules/@actions/cache": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.2.tgz", @@ -205,13 +326,63 @@ } }, "node_modules/@actions/github": { - "version": "5.1.1", - "license": "MIT", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", + "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", "dependencies": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^2.2.0", + "@octokit/core": "^5.0.1", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" + } + }, + "node_modules/@actions/github/node_modules/@octokit/openapi-types": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==" + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz", + "integrity": "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==", + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "dependencies": { + "@octokit/openapi-types": "^20.0.0" + } + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", + "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "dependencies": { + "@octokit/openapi-types": "^20.0.0" } }, "node_modules/@actions/glob": { @@ -928,7 +1099,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", - "license": "MIT", "engines": { "node": ">= 18" } @@ -937,7 +1107,6 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", - "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -951,24 +1120,10 @@ "node": ">= 18" } }, - "node_modules/@octokit/app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/app/node_modules/@octokit/graphql": { "version": "8.2.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", - "license": "MIT", "dependencies": { "@octokit/request": "^9.2.2", "@octokit/types": "^13.8.0", @@ -993,45 +1148,15 @@ "@octokit/core": ">=6" } }, - "node_modules/@octokit/app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/app/node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "license": "Apache-2.0" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "node_modules/@octokit/app/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "license": "ISC" + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, "node_modules/@octokit/auth-app": { "version": "7.1.5", @@ -1052,47 +1177,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-app/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1115,47 +1199,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-oauth-app/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1177,47 +1220,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-oauth-device/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1240,47 +1242,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/auth-oauth-user/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -1288,21 +1249,11 @@ "license": "ISC" }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/auth-token/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/auth-unauthenticated": { @@ -1318,80 +1269,129 @@ "node": ">= 18" } }, - "node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" + "node_modules/@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" }, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/core": { - "version": "3.6.0", - "license": "MIT", + "node_modules/@octokit/core/node_modules/@octokit/endpoint": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" + "node_modules/@octokit/core/node_modules/@octokit/request": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/@octokit/core/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "node_modules/@octokit/core/node_modules/@octokit/request-error": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "license": "MIT", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", + "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" + "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, - "node_modules/@octokit/endpoint/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "node_modules/@octokit/graphql": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz", + "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "license": "MIT", + "node_modules/@octokit/graphql/node_modules/@octokit/endpoint": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" + "node_modules/@octokit/graphql/node_modules/@octokit/request": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/@octokit/graphql/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "node_modules/@octokit/graphql/node_modules/@octokit/request-error": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/oauth-app": { @@ -1417,7 +1417,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", - "license": "MIT", "engines": { "node": ">= 18" } @@ -1426,7 +1425,6 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", - "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -1440,24 +1438,10 @@ "node": ">= 18" } }, - "node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/oauth-app/node_modules/@octokit/graphql": { "version": "8.2.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", - "license": "MIT", "dependencies": { "@octokit/request": "^9.2.2", "@octokit/types": "^13.8.0", @@ -1467,39 +1451,10 @@ "node": ">= 18" } }, - "node_modules/@octokit/oauth-app/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-app/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@octokit/oauth-app/node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "license": "Apache-2.0" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "node_modules/@octokit/oauth-app/node_modules/universal-user-agent": { "version": "7.0.2", @@ -1515,73 +1470,22 @@ "engines": { "node": ">= 18" } - }, - "node_modules/@octokit/oauth-methods": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.4.tgz", - "integrity": "sha512-Jc/ycnePClOvO1WL7tlC+TRxOFtyJBGuTDsL4dzXNiVZvzZdrPuNw7zHI3qJSUX2n6RLXE5L0SkFmYyNaVUFoQ==", - "license": "MIT", - "dependencies": { - "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/request": "^9.2.1", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", + }, + "node_modules/@octokit/oauth-methods": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.4.tgz", + "integrity": "sha512-Jc/ycnePClOvO1WL7tlC+TRxOFtyJBGuTDsL4dzXNiVZvzZdrPuNw7zHI3qJSUX2n6RLXE5L0SkFmYyNaVUFoQ==", "license": "MIT", "dependencies": { + "@octokit/oauth-authorization-url": "^7.0.0", + "@octokit/request": "^9.2.1", + "@octokit/request-error": "^6.1.7", "@octokit/types": "^13.6.2" }, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/oauth-methods/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "license": "ISC" - }, - "node_modules/@octokit/openapi-types": { - "version": "18.0.0", - "license": "MIT" - }, "node_modules/@octokit/openapi-webhooks-types": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-9.1.0.tgz", @@ -1590,7 +1494,8 @@ }, "node_modules/@octokit/plugin-paginate-rest": { "version": "2.21.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "dependencies": { "@octokit/types": "^6.40.0" }, @@ -1600,11 +1505,13 @@ }, "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { "version": "12.11.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { "version": "6.41.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { "@octokit/openapi-types": "^12.11.0" } @@ -1620,7 +1527,8 @@ }, "node_modules/@octokit/plugin-rest-endpoint-methods": { "version": "5.16.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", "dependencies": { "@octokit/types": "^6.39.0", "deprecation": "^2.3.1" @@ -1631,35 +1539,39 @@ }, "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { "version": "12.11.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { "version": "6.41.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { "@octokit/openapi-types": "^12.11.0" } }, "node_modules/@octokit/plugin-retry": { - "version": "5.0.5", - "license": "MIT", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.1.0.tgz", + "integrity": "sha512-WrO3bvq4E1Xh1r2mT9w6SDFg01gFmP81nIG77+p/MqW1JeXXgL++6umim3t6x0Zj5pZm3rXAN+0HEjmmdhIRig==", "dependencies": { - "@octokit/request-error": "^4.0.1", - "@octokit/types": "^10.0.0", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^13.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": "5" } }, "node_modules/@octokit/plugin-retry/node_modules/@octokit/request-error": { - "version": "4.0.2", - "license": "MIT", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dependencies": { - "@octokit/types": "^10.0.0", + "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", "once": "^1.4.0" }, @@ -1667,55 +1579,36 @@ "node": ">= 18" } }, - "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": { - "version": "10.0.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^18.0.0" - } - }, "node_modules/@octokit/request": { - "version": "5.6.3", - "license": "MIT", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", + "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", "dependencies": { - "@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" + "@octokit/endpoint": "^10.1.3", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", + "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/types": "^13.6.2" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/request/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/request/node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" - } + "node_modules/@octokit/request/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, "node_modules/@octokit/types": { "version": "13.8.0", @@ -1755,18 +1648,6 @@ "node": ">= 18" } }, - "node_modules/@octokit/webhooks/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/@open-draft/deferred-promise": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", @@ -3369,22 +3250,6 @@ "node": ">=6" } }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camel-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/caniuse-lite": { "version": "1.0.30001686", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz", @@ -3639,15 +3504,6 @@ "node": ">= 0.8" } }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/common-path-prefix": { "version": "3.0.0", "dev": true, @@ -3759,13 +3615,6 @@ "node": ">= 8" } }, - "node_modules/crypto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", - "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.", - "license": "ISC" - }, "node_modules/currently-unhandled": { "version": "0.4.1", "dev": true, @@ -4001,40 +3850,6 @@ "node": ">=0.10.0" } }, - "node_modules/dot-object": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.5.tgz", - "integrity": "sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==", - "license": "MIT", - "dependencies": { - "commander": "^6.1.0", - "glob": "^7.1.6" - }, - "bin": { - "dot-object": "bin/dot-object" - } - }, - "node_modules/dot-object/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "license": "MIT" @@ -6274,21 +6089,6 @@ "integrity": "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==", "license": "Apache-2.0" }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lower-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -6471,22 +6271,6 @@ "path-to-regexp": "^8.1.0" } }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/no-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/nock": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/nock/-/nock-14.0.1.tgz", @@ -6687,7 +6471,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", - "license": "MIT", "engines": { "node": ">= 18" } @@ -6696,7 +6479,6 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", - "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -6710,24 +6492,10 @@ "node": ">= 18" } }, - "node_modules/octokit/node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/octokit/node_modules/@octokit/graphql": { "version": "8.2.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", - "license": "MIT", "dependencies": { "@octokit/request": "^9.2.2", "@octokit/types": "^13.8.0", @@ -6783,7 +6551,6 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.4.tgz", "integrity": "sha512-7AIP4p9TttKN7ctygG4BtR7rrB0anZqoU9ThXFk8nETqIfvgPUANTSYHqWYknK7W3isw59LpZeLI8pcEwiJdRg==", - "license": "MIT", "dependencies": { "@octokit/request-error": "^6.1.7", "@octokit/types": "^13.6.2", @@ -6812,45 +6579,15 @@ "@octokit/core": "^6.1.3" } }, - "node_modules/octokit/node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/octokit/node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/octokit/node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "license": "Apache-2.0" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "node_modules/octokit/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "license": "ISC" + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, "node_modules/once": { "version": "1.4.0", @@ -6999,22 +6736,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascal-case/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, "node_modules/path": { "version": "0.12.7", "license": "MIT", @@ -8098,7 +7819,6 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "license": "MIT", "engines": { "node": ">=14.14" } @@ -8107,7 +7827,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "license": "MIT", "dependencies": { "tmp": "^0.2.0" } @@ -8155,31 +7874,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/ts-poet": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", - "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", - "license": "Apache-2.0", - "dependencies": { - "lodash": "^4.17.15", - "prettier": "^2.5.1" - } - }, - "node_modules/ts-poet/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "dev": true, @@ -8202,41 +7896,6 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/twirp-ts": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/twirp-ts/-/twirp-ts-2.5.0.tgz", - "integrity": "sha512-JTKIK5Pf/+3qCrmYDFlqcPPUx+ohEWKBaZy8GL8TmvV2VvC0SXVyNYILO39+GCRbqnuP6hBIF+BVr8ZxRz+6fw==", - "license": "MIT", - "dependencies": { - "@protobuf-ts/plugin-framework": "^2.0.7", - "camel-case": "^4.1.2", - "dot-object": "^2.1.4", - "path-to-regexp": "^6.2.0", - "ts-poet": "^4.5.0", - "yaml": "^1.10.2" - }, - "bin": { - "protoc-gen-twirp_ts": "protoc-gen-twirp_ts" - }, - "peerDependencies": { - "@protobuf-ts/plugin": "^2.5.0", - "ts-proto": "^1.81.3" - }, - "peerDependenciesMeta": { - "@protobuf-ts/plugin": { - "optional": true - }, - "ts-proto": { - "optional": true - } - } - }, - "node_modules/twirp-ts/node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "license": "MIT" - }, "node_modules/type-check": { "version": "0.4.0", "dev": true, @@ -8774,15 +8433,6 @@ "node": ">=10" } }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, "node_modules/yargs": { "version": "17.7.2", "dev": true, diff --git a/package.json b/package.json index 1f6867d735..10d8e01771 100644 --- a/package.json +++ b/package.json @@ -22,17 +22,17 @@ }, "license": "MIT", "dependencies": { - "@actions/artifact": "^2.1.9", + "@actions/artifact": "^2.3.1", "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2", "@actions/cache": "^4.0.2", "@actions/core": "^1.11.1", "@actions/exec": "^1.1.1", - "@actions/github": "^5.1.1", + "@actions/github": "^6.0.0", "@actions/glob": "^0.5.0", "@actions/http-client": "^2.2.3", "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", - "@octokit/plugin-retry": "^5.0.2", + "@octokit/plugin-retry": "^6.0.0", "@octokit/types": "^13.8.0", "@schemastore/package": "0.0.10", "@types/node-forge": "^1.3.11", @@ -88,6 +88,15 @@ "@actions/tool-cache": { "semver": ">=6.3.1" }, + "@octokit/request-error": { + "semver": ">=5.1.1" + }, + "@octokit/request": { + "semver": ">=8.4.1" + }, + "@octokit/plugin-paginate-rest": { + "semver": ">=9.2.2" + }, "eslint-plugin-import": { "semver": ">=6.3.1" }, From 4c409a5b664afa7d5b12cd8487e310f286487472 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Mon, 17 Mar 2025 11:34:09 +0000 Subject: [PATCH 17/22] Remove temporary dependency directory in `analyze` post action --- lib/analyze-action-post.js | 14 ++++++++++++++ lib/analyze-action-post.js.map | 2 +- src/analyze-action-post.ts | 17 +++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index b06236512f..3ff54341c5 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -38,12 +38,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); * It will run after the all steps in this job, in reverse order in relation to * other `post:` hooks. */ +const fs = __importStar(require("fs")); const core = __importStar(require("@actions/core")); const actionsUtil = __importStar(require("./actions-util")); const api_client_1 = require("./api-client"); const codeql_1 = require("./codeql"); const config_utils_1 = require("./config-utils"); const debugArtifacts = __importStar(require("./debug-artifacts")); +const dependency_caching_1 = require("./dependency-caching"); const environment_1 = require("./environment"); const logging_1 = require("./logging"); const util_1 = require("./util"); @@ -63,6 +65,18 @@ async function runWrapper() { await debugArtifacts.uploadCombinedSarifArtifacts(logger, config.gitHubVersion.type, version.version); } } + // If we analysed Java in build-mode: none, we may have downloaded dependencies + // to the temp directory. Clean these up so they don't persist unnecessarily + // long on self-hosted runners. + const javaTempDependencyDir = (0, dependency_caching_1.getJavaTempDependencyDir)(); + if (fs.existsSync(javaTempDependencyDir)) { + try { + fs.rmSync(javaTempDependencyDir, { recursive: true }); + } + catch (error) { + logger.info(`Failed to remove temporary Java dependencies directory: ${(0, util_1.getErrorMessage)(error)}`); + } + } } catch (error) { core.setFailed(`analyze post-action step failed: ${(0, util_1.getErrorMessage)(error)}`); diff --git a/lib/analyze-action-post.js.map b/lib/analyze-action-post.js.map index 3137e04aaf..ab69dd5873 100644 --- a/lib/analyze-action-post.js.map +++ b/lib/analyze-action-post.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze-action-post.js","sourceRoot":"","sources":["../src/analyze-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,oDAAsC;AAEtC,4DAA8C;AAC9C,6CAAgD;AAChD,qCAAqC;AACrC,iDAA2C;AAC3C,kEAAoD;AACpD,+CAAuC;AACvC,uCAA6C;AAC7C,iCAAoE;AAEpE,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,WAAW,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEjD,kFAAkF;QAClF,wFAAwF;QACxF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mBAAmB,CAAC,KAAK,MAAM,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,MAAM,CACP,CAAC;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,MAAM,cAAc,CAAC,4BAA4B,CAC/C,MAAM,EACN,MAAM,CAAC,aAAa,CAAC,IAAI,EACzB,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,oCAAoC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"analyze-action-post.js","sourceRoot":"","sources":["../src/analyze-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,uCAAyB;AAEzB,oDAAsC;AAEtC,4DAA8C;AAC9C,6CAAgD;AAChD,qCAAqC;AACrC,iDAA2C;AAC3C,kEAAoD;AACpD,6DAAgE;AAChE,+CAAuC;AACvC,uCAA6C;AAC7C,iCAAoE;AAEpE,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,WAAW,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEjD,kFAAkF;QAClF,wFAAwF;QACxF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mBAAmB,CAAC,KAAK,MAAM,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,MAAM,CACP,CAAC;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,MAAM,cAAc,CAAC,4BAA4B,CAC/C,MAAM,EACN,MAAM,CAAC,aAAa,CAAC,IAAI,EACzB,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,4EAA4E;QAC5E,+BAA+B;QAC/B,MAAM,qBAAqB,GAAG,IAAA,6CAAwB,GAAE,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,2DAA2D,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,oCAAoC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/src/analyze-action-post.ts b/src/analyze-action-post.ts index 4df4f97b70..1f91b4f0fd 100644 --- a/src/analyze-action-post.ts +++ b/src/analyze-action-post.ts @@ -3,6 +3,8 @@ * It will run after the all steps in this job, in reverse order in relation to * other `post:` hooks. */ +import * as fs from "fs"; + import * as core from "@actions/core"; import * as actionsUtil from "./actions-util"; @@ -10,6 +12,7 @@ import { getGitHubVersion } from "./api-client"; import { getCodeQL } from "./codeql"; import { getConfig } from "./config-utils"; import * as debugArtifacts from "./debug-artifacts"; +import { getJavaTempDependencyDir } from "./dependency-caching"; import { EnvVar } from "./environment"; import { getActionsLogger } from "./logging"; import { checkGitHubVersionInRange, getErrorMessage } from "./util"; @@ -38,6 +41,20 @@ async function runWrapper() { ); } } + + // If we analysed Java in build-mode: none, we may have downloaded dependencies + // to the temp directory. Clean these up so they don't persist unnecessarily + // long on self-hosted runners. + const javaTempDependencyDir = getJavaTempDependencyDir(); + if (fs.existsSync(javaTempDependencyDir)) { + try { + fs.rmSync(javaTempDependencyDir, { recursive: true }); + } catch (error) { + logger.info( + `Failed to remove temporary Java dependencies directory: ${getErrorMessage(error)}`, + ); + } + } } catch (error) { core.setFailed( `analyze post-action step failed: ${getErrorMessage(error)}`, From 611289e0b0ce1f6fc14820f1b72edaed2de4ba2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 18:11:32 +0000 Subject: [PATCH 18/22] build(deps): bump ruby/setup-ruby in the actions group Bumps the actions group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby). Updates `ruby/setup-ruby` from 1.222.0 to 1.226.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/277ba2a127aba66d45bad0fa2dc56f80dbfedffa...922ebc4c5262cd14e07bb0e1db020984b6c064fe) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions ... Signed-off-by: dependabot[bot] --- .github/workflows/__rubocop-multi-language.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/__rubocop-multi-language.yml b/.github/workflows/__rubocop-multi-language.yml index 643ef7e8dc..4fc0f395e2 100644 --- a/.github/workflows/__rubocop-multi-language.yml +++ b/.github/workflows/__rubocop-multi-language.yml @@ -46,7 +46,7 @@ jobs: use-all-platform-bundle: 'false' setup-kotlin: 'true' - name: Set up Ruby - uses: ruby/setup-ruby@277ba2a127aba66d45bad0fa2dc56f80dbfedffa # v1.222.0 + uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0 with: ruby-version: 2.6 - name: Install Code Scanning integration From 7866bcdb1b15b5d5cba0021b87f36d9f6d977156 Mon Sep 17 00:00:00 2001 From: Angela P Wen Date: Mon, 17 Mar 2025 11:57:55 -0700 Subject: [PATCH 19/22] Manually bump workflow to match autogenerated file --- pr-checks/checks/rubocop-multi-language.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-checks/checks/rubocop-multi-language.yml b/pr-checks/checks/rubocop-multi-language.yml index 6f767e433a..65dee48138 100644 --- a/pr-checks/checks/rubocop-multi-language.yml +++ b/pr-checks/checks/rubocop-multi-language.yml @@ -5,7 +5,7 @@ operatingSystems: ["ubuntu"] versions: ["default"] steps: - name: Set up Ruby - uses: ruby/setup-ruby@277ba2a127aba66d45bad0fa2dc56f80dbfedffa # v1.222.0 + uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0 with: ruby-version: 2.6 - name: Install Code Scanning integration From 4e3a5342c5e8e627915b9a29b363f49da8c4a32e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 13:46:00 +0000 Subject: [PATCH 20/22] Update default bundle to codeql-bundle-v2.20.7 --- lib/defaults.json | 8 ++++---- src/defaults.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/defaults.json b/lib/defaults.json index db9c2a27c5..6473524ce6 100644 --- a/lib/defaults.json +++ b/lib/defaults.json @@ -1,6 +1,6 @@ { - "bundleVersion": "codeql-bundle-v2.20.6", - "cliVersion": "2.20.6", - "priorBundleVersion": "codeql-bundle-v2.20.5", - "priorCliVersion": "2.20.5" + "bundleVersion": "codeql-bundle-v2.20.7", + "cliVersion": "2.20.7", + "priorBundleVersion": "codeql-bundle-v2.20.6", + "priorCliVersion": "2.20.6" } diff --git a/src/defaults.json b/src/defaults.json index df95e81144..13392d33ae 100644 --- a/src/defaults.json +++ b/src/defaults.json @@ -1,6 +1,6 @@ { - "bundleVersion": "codeql-bundle-v2.20.6", - "cliVersion": "2.20.6", - "priorBundleVersion": "codeql-bundle-v2.20.5", - "priorCliVersion": "2.20.5" + "bundleVersion": "codeql-bundle-v2.20.7", + "cliVersion": "2.20.7", + "priorBundleVersion": "codeql-bundle-v2.20.6", + "priorCliVersion": "2.20.6" } From d7d03fda1241f6b0b3fae460c9f19c6e887158ad Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 13:46:06 +0000 Subject: [PATCH 21/22] Add changelog note --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0fb3cdbda..254301c4b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th ## [UNRELEASED] - Dependency caching should now cache more dependencies for Java `build-mode: none` extractions. This should speed up workflows and avoid inconsistent alerts in some cases. +- Update default CodeQL bundle version to 2.20.7. [#2810](https://github.com/github/codeql-action/pull/2810) ## 3.28.11 - 07 Mar 2025 From bb59f7707d836b040802dbdf2ad1a16482d319da Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 12:17:24 +0000 Subject: [PATCH 22/22] Update changelog for v3.28.12 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 254301c4b7..4c0e4993eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. -## [UNRELEASED] +## 3.28.12 - 19 Mar 2025 - Dependency caching should now cache more dependencies for Java `build-mode: none` extractions. This should speed up workflows and avoid inconsistent alerts in some cases. - Update default CodeQL bundle version to 2.20.7. [#2810](https://github.com/github/codeql-action/pull/2810)